{"_id":"agent-device","_rev":"224-e3942adfd96851aaf9a48a4a33c174c0","name":"agent-device","dist-tags":{"nightly":"0.21.38-nightly.20261113.167","latest":"0.21.37"},"versions":{"0.1.0":{"name":"agent-device","version":"0.1.0","keywords":["agent","device","cli","adb","simctl","devicectl","ios","android"],"author":{"name":"Callstack"},"license":"MIT","_id":"agent-device@0.1.0","maintainers":[{"name":"thymikee","email":"thymikee@gmail.com"}],"bin":{"agent-device":"bin/agent-device.mjs"},"dist":{"shasum":"60086508473401c2dd9a5c522ba341fde072cd16","tarball":"https://registry.npmjs.org/agent-device/-/agent-device-0.1.0.tgz","fileCount":44,"integrity":"sha512-P7okn9GQ5Bpzcrgyp9xkb3dfztsxwPAwUwTgpUGnS80M+HQdNzoRHo38nDnv6O7YhJITic8KMDAcKPP8FGpybA==","signatures":[{"sig":"MEQCIEVfEOh+H5s6aMI28Dd3y3wPm6fhR6wN/s8v6H9E98IWAiBJgiBp785VlYDr72uvwYR4wuOHXHGlvgbETu+l7qQG5A==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":564227},"type":"module","engines":{"node":">=22"},"gitHead":"13dc88eb83e720e79041bb94c45ef6d50ccfdf7f","scripts":{"lint":"node --eval \"console.log('no lint')\"","test":"node --test","build":"rslib build","format":"prettier --write .","typecheck":"tsc -p tsconfig.json","build:clis":"pnpm build:node && pnpm build:axsnapshot","build:node":"pnpm build && rm -f ~/.agent-device/daemon.json","test:smoke":"node --test test/smoke/*.test.ts","build:swift":"swift build -c release --package-path ios-runner/AXSnapshot","prepublishOnly":"pnpm build:node && pnpm build:axsnapshot","build:axsnapshot":"pnpm build:swift && mkdir -p bin && cp -f ios-runner/AXSnapshot/.build/release/axsnapshot bin/axsnapshot && chmod +x bin/axsnapshot","test:integration":"node --test test/integration/*.test.ts"},"_npmUser":{"name":"thymikee","email":"thymikee@gmail.com"},"prettier":{"semi":true,"printWidth":100,"singleQuote":true,"trailingComma":"all"},"_npmVersion":"11.5.1","description":"Unified control plane for physical and virtual devices via an agent-driven CLI.","directories":{},"_nodeVersion":"24.6.0","dependencies":{"@clack/prompts":"^1.0.0"},"_hasShrinkwrap":false,"devDependencies":{"prettier":"^3.3.3","typescript":"^5.9.3","@rslib/core":"0.19.4","@types/node":"^22.0.0"},"_npmOperationalInternal":{"tmp":"tmp/agent-device_0.1.0_1769880319585_0.2214342891807135","host":"s3://npm-registry-packages-npm-production"}},"0.1.1":{"name":"agent-device","version":"0.1.1","keywords":["agent","device","cli","adb","simctl","devicectl","ios","android"],"author":{"name":"Callstack"},"license":"MIT","_id":"agent-device@0.1.1","maintainers":[{"name":"thymikee","email":"thymikee@gmail.com"}],"bin":{"agent-device":"bin/agent-device.mjs"},"dist":{"shasum":"544297bdd35616cb736e3e47c517ff536ea7b1a7","tarball":"https://registry.npmjs.org/agent-device/-/agent-device-0.1.1.tgz","fileCount":44,"integrity":"sha512-aVtt1NuO3SEQ7Du5n+8LhY8iAYl2R9GM2/qDQMCqho+zi8AxItGWEIKnFbOvIbLDLH3aW1rQxPamaPI1HhnrSg==","signatures":[{"sig":"MEYCIQDmwfJ4fi7kAX7MCUMMR7pKu2oh1Yr3CCvXyTgMVUA6ewIhAPKSzIpT9irdLVO6MqLAFs7Yb85QJeCCn+j0NDqESk8S","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":565027},"type":"module","engines":{"node":">=22"},"gitHead":"51e92a42dc7259b66c8320a79e641bf30c90b615","scripts":{"lint":"node --eval \"console.log('no lint')\"","test":"node --test","build":"rslib build","format":"prettier --write .","prepack":"pnpm build:node && pnpm build:axsnapshot","typecheck":"tsc -p tsconfig.json","build:clis":"pnpm build:node && pnpm build:axsnapshot","build:node":"pnpm build && rm -f ~/.agent-device/daemon.json","test:smoke":"node --test test/smoke/*.test.ts","build:swift":"swift build -c release --package-path ios-runner/AXSnapshot","prepublishOnly":"pnpm build:node && pnpm build:axsnapshot","build:axsnapshot":"pnpm build:swift && mkdir -p bin && cp -f ios-runner/AXSnapshot/.build/release/axsnapshot bin/axsnapshot && chmod +x bin/axsnapshot","test:integration":"node --test test/integration/*.test.ts"},"_npmUser":{"name":"thymikee","email":"thymikee@gmail.com"},"prettier":{"semi":true,"printWidth":100,"singleQuote":true,"trailingComma":"all"},"_npmVersion":"11.5.1","description":"Unified control plane for physical and virtual devices via an agent-driven CLI.","directories":{},"_nodeVersion":"24.6.0","dependencies":{"@clack/prompts":"^1.0.0"},"_hasShrinkwrap":false,"devDependencies":{"prettier":"^3.3.3","typescript":"^5.9.3","@rslib/core":"0.19.4","@types/node":"^22.0.0"},"_npmOperationalInternal":{"tmp":"tmp/agent-device_0.1.1_1769880877814_0.02275400387693427","host":"s3://npm-registry-packages-npm-production"}},"0.1.2":{"name":"agent-device","version":"0.1.2","keywords":["agent","device","cli","adb","simctl","devicectl","ios","android"],"author":{"name":"Callstack"},"license":"MIT","_id":"agent-device@0.1.2","maintainers":[{"name":"thymikee","email":"thymikee@gmail.com"}],"bin":{"agent-device":"bin/agent-device.mjs"},"dist":{"shasum":"736b6d3a59f82c46b7f2299df37812d00a722bea","tarball":"https://registry.npmjs.org/agent-device/-/agent-device-0.1.2.tgz","fileCount":44,"integrity":"sha512-TDtZPg0vlIi7r4j7a/ayhdekrouPz/80sgA69s8Xa52F2Yf3Ivqv13FGA6t7qbR/ktIiPkqNPQDhYGiiVrXOUA==","signatures":[{"sig":"MEYCIQCz28Gd5RwL+l70bSVs+tqyVCu76p0cCcw928a9BzhTQQIhAPl2CaOHv4He4rYZ6jvsuSnswWRdEFzGObBKWWZTmEXz","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":572060},"type":"module","engines":{"node":">=22"},"gitHead":"0560d50d8cff2be84afb10a195f089da3905cba4","scripts":{"lint":"node --eval \"console.log('no lint')\"","test":"node --test","build":"rslib build","format":"prettier --write .","prepack":"pnpm build:node && pnpm build:axsnapshot","typecheck":"tsc -p tsconfig.json","build:clis":"pnpm build:node && pnpm build:axsnapshot","build:node":"pnpm build && rm -f ~/.agent-device/daemon.json","test:smoke":"node --test test/smoke/*.test.ts","build:swift":"swift build -c release --package-path ios-runner/AXSnapshot","prepublishOnly":"pnpm build:node && pnpm build:axsnapshot","build:axsnapshot":"pnpm build:swift && mkdir -p bin && cp -f ios-runner/AXSnapshot/.build/release/axsnapshot bin/axsnapshot && chmod +x bin/axsnapshot","test:integration":"node --test test/integration/*.test.ts"},"_npmUser":{"name":"thymikee","email":"thymikee@gmail.com"},"prettier":{"semi":true,"printWidth":100,"singleQuote":true,"trailingComma":"all"},"_npmVersion":"11.5.1","description":"Unified control plane for physical and virtual devices via an agent-driven CLI.","directories":{},"_nodeVersion":"24.6.0","dependencies":{"@clack/prompts":"^1.0.0"},"_hasShrinkwrap":false,"devDependencies":{"prettier":"^3.3.3","typescript":"^5.9.3","@rslib/core":"0.19.4","@types/node":"^22.0.0"},"_npmOperationalInternal":{"tmp":"tmp/agent-device_0.1.2_1769888573444_0.26407064120229884","host":"s3://npm-registry-packages-npm-production"}},"0.1.3":{"name":"agent-device","version":"0.1.3","keywords":["agent","device","cli","adb","simctl","devicectl","ios","android"],"author":{"name":"Callstack"},"license":"MIT","_id":"agent-device@0.1.3","maintainers":[{"name":"thymikee","email":"thymikee@gmail.com"}],"bin":{"agent-device":"bin/agent-device.mjs"},"dist":{"shasum":"cffb5191e6e7e95b0852393f7a857a7d190465e7","tarball":"https://registry.npmjs.org/agent-device/-/agent-device-0.1.3.tgz","fileCount":44,"integrity":"sha512-zE8d/JUQqUScD0asHPq79F79mtBQmMpV0SyuvhpBbCFEqnFtapEjFCKMv43Qqo0kSbWEIF6f8PzjgWk+ywb54Q==","signatures":[{"sig":"MEQCIFMHZq08Vu/9XqDHVk3NP6iDswKP0hDtMHzLZGMD+rcvAiBxS20hYn4JH+BGEwz7mlxd8pK5FUZy3XL9vAyD/9TACg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":671201},"type":"module","engines":{"node":">=22"},"gitHead":"5af8c02c6eaf99336bcf49513882728c6dae3b58","scripts":{"lint":"node --eval \"console.log('no lint')\"","test":"node --test","build":"rslib build","format":"prettier --write .","prepack":"pnpm build:node && pnpm build:axsnapshot","build:all":"pnpm build:node && pnpm build:axsnapshot && pnpm build:xcuitest","typecheck":"tsc -p tsconfig.json","build:clis":"pnpm build:node && pnpm build:axsnapshot","build:node":"pnpm build && rm -f ~/.agent-device/daemon.json","test:smoke":"node --test test/smoke/*.test.ts","build:swift":"swift build -c release --package-path ios-runner/AXSnapshot","build:xcuitest":"AGENT_DEVICE_IOS_CLEAN_DERIVED=1 xcodebuild build-for-testing -project ios-runner/AgentDeviceRunner/AgentDeviceRunner.xcodeproj -scheme AgentDeviceRunner -destination \"generic/platform=iOS Simulator\" -derivedDataPath ~/.agent-device/ios-runner/derived","prepublishOnly":"pnpm build:node && pnpm build:axsnapshot","build:axsnapshot":"pnpm build:swift && mkdir -p dist/bin && cp -f ios-runner/AXSnapshot/.build/release/axsnapshot dist/bin/axsnapshot && chmod +x dist/bin/axsnapshot","test:integration":"node --test test/integration/*.test.ts"},"_npmUser":{"name":"thymikee","email":"thymikee@gmail.com"},"prettier":{"semi":true,"printWidth":100,"singleQuote":true,"trailingComma":"all"},"_npmVersion":"11.5.1","description":"Unified control plane for physical and virtual devices via an agent-driven CLI.","directories":{},"_nodeVersion":"24.6.0","dependencies":{"@clack/prompts":"^1.0.0"},"_hasShrinkwrap":false,"devDependencies":{"prettier":"^3.3.3","typescript":"^5.9.3","@rslib/core":"0.19.4","@types/node":"^22.0.0"},"_npmOperationalInternal":{"tmp":"tmp/agent-device_0.1.3_1770064515551_0.9851818837321633","host":"s3://npm-registry-packages-npm-production"}},"0.1.4":{"name":"agent-device","version":"0.1.4","keywords":["agent","device","cli","adb","simctl","devicectl","ios","android"],"author":{"name":"Callstack"},"license":"MIT","_id":"agent-device@0.1.4","maintainers":[{"name":"thymikee","email":"thymikee@gmail.com"}],"bin":{"agent-device":"bin/agent-device.mjs"},"dist":{"shasum":"94bd9142f8ae7fb10caf7b0c10e2efb307f4c821","tarball":"https://registry.npmjs.org/agent-device/-/agent-device-0.1.4.tgz","fileCount":46,"integrity":"sha512-qGBXbX/yUqIV7EVgwt0rz6pH22EBwA0F8jtDzZsZzRTsJ33Flv6jX3UeuvxmR8leP8EwrHK4FaA9SQtJIci1VQ==","signatures":[{"sig":"MEQCIBCkrsb7uxooucLYfHZ094tR95O0yXGIqxcfEltBXy4+AiAvFqg5kOqre7d0y9gZeKkmlSSylSiBrckdMazc46aFGA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":729180},"type":"module","engines":{"node":">=22"},"gitHead":"4edeec5b3ea106ce9308dc3e04ba6f231913f77e","scripts":{"ad":"node bin/agent-device.mjs","lint":"node --eval \"console.log('no lint')\"","test":"node --test","build":"rslib build","format":"prettier --write .","prepack":"pnpm build:node && pnpm build:axsnapshot","build:all":"pnpm build:node && pnpm build:axsnapshot && pnpm build:xcuitest","typecheck":"tsc -p tsconfig.json","build:clis":"pnpm build:node && pnpm build:axsnapshot","build:node":"pnpm build && rm -f ~/.agent-device/daemon.json","test:smoke":"node --test test/smoke/*.test.ts","build:swift":"swift build -c release --package-path ios-runner/AXSnapshot","build:xcuitest":"AGENT_DEVICE_IOS_CLEAN_DERIVED=1 xcodebuild build-for-testing -project ios-runner/AgentDeviceRunner/AgentDeviceRunner.xcodeproj -scheme AgentDeviceRunner -destination \"generic/platform=iOS Simulator\" -derivedDataPath ~/.agent-device/ios-runner/derived","prepublishOnly":"pnpm build:node && pnpm build:axsnapshot","build:axsnapshot":"pnpm build:swift && mkdir -p dist/bin && cp -f ios-runner/AXSnapshot/.build/release/axsnapshot dist/bin/axsnapshot && chmod +x dist/bin/axsnapshot","test:integration":"node --test test/integration/*.test.ts"},"_npmUser":{"name":"thymikee","email":"thymikee@gmail.com"},"prettier":{"semi":true,"printWidth":100,"singleQuote":true,"trailingComma":"all"},"_npmVersion":"11.5.1","description":"Unified control plane for physical and virtual devices via an agent-driven CLI.","directories":{},"_nodeVersion":"24.6.0","dependencies":{"@clack/prompts":"^1.0.0"},"_hasShrinkwrap":false,"devDependencies":{"prettier":"^3.3.3","typescript":"^5.9.3","@rslib/core":"0.19.4","@types/node":"^22.0.0"},"_npmOperationalInternal":{"tmp":"tmp/agent-device_0.1.4_1770135560788_0.583980466471429","host":"s3://npm-registry-packages-npm-production"}},"0.1.5":{"name":"agent-device","version":"0.1.5","keywords":["agent","device","cli","adb","simctl","devicectl","ios","android"],"author":{"name":"Callstack"},"license":"MIT","_id":"agent-device@0.1.5","maintainers":[{"name":"thymikee","email":"thymikee@gmail.com"}],"bin":{"agent-device":"bin/agent-device.mjs"},"dist":{"shasum":"8d254e833c023fb2422fa5496419c5f74d2657db","tarball":"https://registry.npmjs.org/agent-device/-/agent-device-0.1.5.tgz","fileCount":52,"integrity":"sha512-N19oEIxtcGQGp1ZsoRM2KHfHms4+DFspJTPQxC6h81r7Hg2eYPRldeYRydPkfPTEOBcsHCWBqiST5PP558SWeQ==","signatures":[{"sig":"MEYCIQD1TCrboOSv/r+Wyd7sqYcMO+QvvHGI4FMiZ9r2t8eXXwIhAKsj4c1I6TLurEPK+cTrGMNn7D8eIUfNaK6wh5+CstQD","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":737416},"type":"module","engines":{"node":">=22"},"gitHead":"3e8d302563b90fb0c2bba0b1d9a0d3e3fc277027","scripts":{"ad":"node bin/agent-device.mjs","lint":"node --eval \"console.log('no lint')\"","test":"node --test","build":"rslib build","format":"prettier --write .","prepack":"pnpm build:node && pnpm build:axsnapshot","build:all":"pnpm build:node && pnpm build:axsnapshot && pnpm build:xcuitest","typecheck":"tsc -p tsconfig.json","build:clis":"pnpm build:node && pnpm build:axsnapshot","build:node":"pnpm build && rm -f ~/.agent-device/daemon.json","test:smoke":"node --test test/smoke/*.test.ts","build:swift":"swift build -c release --package-path ios-runner/AXSnapshot","build:xcuitest":"AGENT_DEVICE_IOS_CLEAN_DERIVED=1 xcodebuild build-for-testing -project ios-runner/AgentDeviceRunner/AgentDeviceRunner.xcodeproj -scheme AgentDeviceRunner -destination \"generic/platform=iOS Simulator\" -derivedDataPath ~/.agent-device/ios-runner/derived","prepublishOnly":"pnpm build:node && pnpm build:axsnapshot","build:axsnapshot":"pnpm build:swift && mkdir -p dist/bin && cp -f ios-runner/AXSnapshot/.build/release/axsnapshot dist/bin/axsnapshot && chmod +x dist/bin/axsnapshot","test:integration":"node --test test/integration/*.test.ts"},"_npmUser":{"name":"thymikee","email":"thymikee@gmail.com"},"prettier":{"semi":true,"printWidth":100,"singleQuote":true,"trailingComma":"all"},"_npmVersion":"11.5.1","description":"Unified control plane for physical and virtual devices via an agent-driven CLI.","directories":{},"_nodeVersion":"24.6.0","dependencies":{"@clack/prompts":"^1.0.0"},"_hasShrinkwrap":false,"devDependencies":{"prettier":"^3.3.3","typescript":"^5.9.3","@rslib/core":"0.19.4","@types/node":"^22.0.0"},"_npmOperationalInternal":{"tmp":"tmp/agent-device_0.1.5_1770135633800_0.20135436667513384","host":"s3://npm-registry-packages-npm-production"}},"0.1.6":{"name":"agent-device","version":"0.1.6","keywords":["agent","device","cli","adb","simctl","devicectl","ios","android"],"author":{"name":"Callstack"},"license":"MIT","_id":"agent-device@0.1.6","maintainers":[{"name":"thymikee","email":"thymikee@gmail.com"}],"bin":{"agent-device":"bin/agent-device.mjs"},"dist":{"shasum":"6acb8fbb45eca666c94598351f5e675bcf5cadff","tarball":"https://registry.npmjs.org/agent-device/-/agent-device-0.1.6.tgz","fileCount":52,"integrity":"sha512-CDqn6xOl5wuABEfEBx4tX1kqYGNDWPVMlKMxUTsaUlc+RtAvgXsp68TDCi6Esuzjr4muEfR56SLYgzeZeQZRVg==","signatures":[{"sig":"MEUCIQCe5O2egR7Gt2AYh8aoeMtV6H4WT1BTrx0Sxyoo7AbPRgIgf27jpfiN1GEvIos808SRxCrZ2fk4Zs0LPAQOefOR3bI=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":737576},"type":"module","engines":{"node":">=22"},"gitHead":"931bd634ce5af5f23f12a6889ee07616c4b667e6","scripts":{"ad":"node bin/agent-device.mjs","lint":"node --eval \"console.log('no lint')\"","test":"node --test","build":"rslib build","format":"prettier --write .","prepack":"pnpm build:node && pnpm build:axsnapshot","build:all":"pnpm build:node && pnpm build:axsnapshot && pnpm build:xcuitest","typecheck":"tsc -p tsconfig.json","build:clis":"pnpm build:node && pnpm build:axsnapshot","build:node":"pnpm build && rm -f ~/.agent-device/daemon.json","test:smoke":"node --test test/smoke/*.test.ts","build:swift":"swift build -c release --package-path ios-runner/AXSnapshot","build:xcuitest":"AGENT_DEVICE_IOS_CLEAN_DERIVED=1 xcodebuild build-for-testing -project ios-runner/AgentDeviceRunner/AgentDeviceRunner.xcodeproj -scheme AgentDeviceRunner -destination \"generic/platform=iOS Simulator\" -derivedDataPath ~/.agent-device/ios-runner/derived","prepublishOnly":"pnpm build:node && pnpm build:axsnapshot","build:axsnapshot":"pnpm build:swift && mkdir -p dist/bin && cp -f ios-runner/AXSnapshot/.build/release/axsnapshot dist/bin/axsnapshot && chmod +x dist/bin/axsnapshot","test:integration":"node --test test/integration/*.test.ts"},"_npmUser":{"name":"thymikee","email":"thymikee@gmail.com"},"prettier":{"semi":true,"printWidth":100,"singleQuote":true,"trailingComma":"all"},"_npmVersion":"11.5.1","description":"Unified control plane for physical and virtual devices via an agent-driven CLI.","directories":{},"_nodeVersion":"24.6.0","dependencies":{"@clack/prompts":"^1.0.0"},"_hasShrinkwrap":false,"devDependencies":{"prettier":"^3.3.3","typescript":"^5.9.3","@rslib/core":"0.19.4","@types/node":"^22.0.0"},"_npmOperationalInternal":{"tmp":"tmp/agent-device_0.1.6_1770145429832_0.32168243900734805","host":"s3://npm-registry-packages-npm-production"}},"0.1.7":{"name":"agent-device","version":"0.1.7","keywords":["agent","device","cli","adb","simctl","devicectl","ios","android"],"author":{"name":"Callstack"},"license":"MIT","_id":"agent-device@0.1.7","maintainers":[{"name":"thymikee","email":"thymikee@gmail.com"}],"bin":{"agent-device":"bin/agent-device.mjs"},"dist":{"shasum":"fd625c72da4850f1398a008cc236dec463fddbb8","tarball":"https://registry.npmjs.org/agent-device/-/agent-device-0.1.7.tgz","fileCount":52,"integrity":"sha512-MmjGCcGbbLA90JbGDoZhcr7Vj06T9xVg3X9y94oA6zmGpI7w/5rnpNi3/zwo7DbJXs3Re9VegcqfW2JHSOY3PA==","signatures":[{"sig":"MEUCIFAywBGCaANYSVR+HcpD69kWDIt70frD6r+B6hCvuXWeAiEAyWAjlNZFOnRUy/ANEBFDKKXUwx/zfHDICkjLQ0jAiYQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":740569},"type":"module","_from":"file:agent-device-0.1.7.tgz","engines":{"node":">=22"},"scripts":{"ad":"node bin/agent-device.mjs","lint":"node --eval \"console.log('no lint')\"","test":"node --test","build":"rslib build","format":"prettier --write .","build:all":"pnpm build:node && pnpm build:axsnapshot && pnpm build:xcuitest","typecheck":"tsc -p tsconfig.json","build:clis":"pnpm build:node && pnpm build:axsnapshot","build:node":"pnpm build && rm -f ~/.agent-device/daemon.json","test:smoke":"node --test test/smoke/*.test.ts","build:swift":"swift build -c release --package-path ios-runner/AXSnapshot","build:xcuitest":"AGENT_DEVICE_IOS_CLEAN_DERIVED=1 xcodebuild build-for-testing -project ios-runner/AgentDeviceRunner/AgentDeviceRunner.xcodeproj -scheme AgentDeviceRunner -destination \"generic/platform=iOS Simulator\" -derivedDataPath ~/.agent-device/ios-runner/derived","build:axsnapshot":"pnpm build:swift && mkdir -p dist/bin && cp -f ios-runner/AXSnapshot/.build/release/axsnapshot dist/bin/axsnapshot && chmod +x dist/bin/axsnapshot","test:integration":"node --test test/integration/*.test.ts"},"_npmUser":{"name":"thymikee","email":"thymikee@gmail.com"},"prettier":{"semi":true,"printWidth":100,"singleQuote":true,"trailingComma":"all"},"_resolved":"/private/var/folders/65/fz9_2bsj6fzgct46vx226s8c0000gn/T/8332d2a9f265c3563cd9c4d60a06e3d6/agent-device-0.1.7.tgz","_integrity":"sha512-MmjGCcGbbLA90JbGDoZhcr7Vj06T9xVg3X9y94oA6zmGpI7w/5rnpNi3/zwo7DbJXs3Re9VegcqfW2JHSOY3PA==","_npmVersion":"11.5.1","description":"Unified control plane for physical and virtual devices via an agent-driven CLI.","directories":{},"_nodeVersion":"24.6.0","dependencies":{"@clack/prompts":"^1.0.0"},"_hasShrinkwrap":false,"devDependencies":{"prettier":"^3.3.3","typescript":"^5.9.3","@rslib/core":"0.19.4","@types/node":"^22.0.0"},"_npmOperationalInternal":{"tmp":"tmp/agent-device_0.1.7_1770148726165_0.9478275161071499","host":"s3://npm-registry-packages-npm-production"}},"0.1.8":{"name":"agent-device","version":"0.1.8","keywords":["agent","device","cli","adb","simctl","devicectl","ios","android"],"author":{"name":"Callstack"},"license":"MIT","_id":"agent-device@0.1.8","maintainers":[{"name":"thymikee","email":"thymikee@gmail.com"}],"bin":{"agent-device":"bin/agent-device.mjs"},"dist":{"shasum":"8229ade226a53a975ee94b60d80df808bbc7cbaf","tarball":"https://registry.npmjs.org/agent-device/-/agent-device-0.1.8.tgz","fileCount":52,"integrity":"sha512-LhWTr9BWjgLqXJPQXqEvlhvSCCrhS7qlRm8RdwlhijY7fhrDjYMtoHrR7t5SoA4SWBK2RSFzzpDtE6hHriz2Uw==","signatures":[{"sig":"MEQCIBGcsZGn6I1EWTOsd9U5Sy6SM1gMmNSPN55u/QCJmVjEAiA3WlzH6xLdTyWHDL9AfUXQgZ/nIvpM9febFn8LWS/JdA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":740695},"type":"module","engines":{"node":">=22"},"gitHead":"e95b6b2070b43df96c59cec7b3f1f61e2316cf21","scripts":{"ad":"node bin/agent-device.mjs","lint":"node --eval \"console.log('no lint')\"","test":"node --test","build":"rslib build","format":"prettier --write .","prepack":"pnpm build:node && pnpm build:axsnapshot","build:all":"pnpm build:node && pnpm build:axsnapshot && pnpm build:xcuitest","typecheck":"tsc -p tsconfig.json","build:clis":"pnpm build:node && pnpm build:axsnapshot","build:node":"pnpm build && rm -f ~/.agent-device/daemon.json","test:smoke":"node --test test/smoke/*.test.ts","build:swift":"swift build -c release --package-path ios-runner/AXSnapshot","build:xcuitest":"AGENT_DEVICE_IOS_CLEAN_DERIVED=1 xcodebuild build-for-testing -project ios-runner/AgentDeviceRunner/AgentDeviceRunner.xcodeproj -scheme AgentDeviceRunner -destination \"generic/platform=iOS Simulator\" -derivedDataPath ~/.agent-device/ios-runner/derived","prepublishOnly":"pnpm build:node && pnpm build:axsnapshot","build:axsnapshot":"pnpm build:swift && mkdir -p dist/bin && cp -f ios-runner/AXSnapshot/.build/release/axsnapshot dist/bin/axsnapshot && chmod +x dist/bin/axsnapshot","test:integration":"node --test test/integration/*.test.ts"},"_npmUser":{"name":"thymikee","email":"thymikee@gmail.com"},"prettier":{"semi":true,"printWidth":100,"singleQuote":true,"trailingComma":"all"},"_npmVersion":"11.5.1","description":"Unified control plane for physical and virtual devices via an agent-driven CLI.","directories":{},"_nodeVersion":"24.6.0","dependencies":{"@clack/prompts":"^1.0.0"},"_hasShrinkwrap":false,"devDependencies":{"prettier":"^3.3.3","typescript":"^5.9.3","@rslib/core":"0.19.4","@types/node":"^22.0.0"},"_npmOperationalInternal":{"tmp":"tmp/agent-device_0.1.8_1770149312413_0.02930250272639312","host":"s3://npm-registry-packages-npm-production"}},"0.1.9":{"name":"agent-device","version":"0.1.9","keywords":["agent","device","cli","adb","simctl","devicectl","ios","android"],"author":{"name":"Callstack"},"license":"MIT","_id":"agent-device@0.1.9","maintainers":[{"name":"thymikee","email":"thymikee@gmail.com"}],"bin":{"agent-device":"bin/agent-device.mjs"},"dist":{"shasum":"fb535a03682ad6059105e5671d843cb0ec6cb02d","tarball":"https://registry.npmjs.org/agent-device/-/agent-device-0.1.9.tgz","fileCount":52,"integrity":"sha512-pJYOCZgdt5M3kRVQeTNNygthR+WoYB2XKkih+09qY2KUCzptp8ubFeeMDvfbX2vdvqZQa9W/wHw7VaZjRUsT4Q==","signatures":[{"sig":"MEYCIQCTRrUxHAEKAsle+ivvt6xUspizl8waMdVWS58dk9ObygIhAPMmNSJY+EBGRIpavmDTHv2DZwsrmF+qUuxberc9iXjy","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":735928},"type":"module","engines":{"node":">=22"},"gitHead":"ff0740a6aee854c50e5bfee3740c84103071395b","scripts":{"ad":"node bin/agent-device.mjs","lint":"node --eval \"console.log('no lint')\"","test":"node --test","build":"rslib build","format":"prettier --write .","prepack":"pnpm build:node && pnpm build:axsnapshot","build:all":"pnpm build:node && pnpm build:axsnapshot && pnpm build:xcuitest","typecheck":"tsc -p tsconfig.json","build:clis":"pnpm build:node && pnpm build:axsnapshot","build:node":"pnpm build && rm -f ~/.agent-device/daemon.json","test:smoke":"node --test test/smoke/*.test.ts","build:swift":"swift build -c release --package-path ios-runner/AXSnapshot","build:xcuitest":"AGENT_DEVICE_IOS_CLEAN_DERIVED=1 xcodebuild build-for-testing -project ios-runner/AgentDeviceRunner/AgentDeviceRunner.xcodeproj -scheme AgentDeviceRunner -destination \"generic/platform=iOS Simulator\" -derivedDataPath ~/.agent-device/ios-runner/derived","prepublishOnly":"pnpm build:node && pnpm build:axsnapshot","build:axsnapshot":"pnpm build:swift && mkdir -p dist/bin && cp -f ios-runner/AXSnapshot/.build/release/axsnapshot dist/bin/axsnapshot && chmod +x dist/bin/axsnapshot","test:integration":"node --test test/integration/*.test.ts"},"_npmUser":{"name":"thymikee","email":"thymikee@gmail.com"},"prettier":{"semi":true,"printWidth":100,"singleQuote":true,"trailingComma":"all"},"_npmVersion":"11.5.1","description":"Unified control plane for physical and virtual devices via an agent-driven CLI.","directories":{},"_nodeVersion":"24.6.0","dependencies":{"@clack/prompts":"^1.0.0"},"_hasShrinkwrap":false,"devDependencies":{"prettier":"^3.3.3","typescript":"^5.9.3","@rslib/core":"0.19.4","@types/node":"^22.0.0"},"_npmOperationalInternal":{"tmp":"tmp/agent-device_0.1.9_1770240996206_0.5030195948749185","host":"s3://npm-registry-packages-npm-production"}},"0.2.0":{"name":"agent-device","version":"0.2.0","keywords":["agent","device","cli","adb","simctl","devicectl","ios","android"],"author":{"name":"Callstack"},"license":"MIT","_id":"agent-device@0.2.0","maintainers":[{"name":"thymikee","email":"thymikee@gmail.com"}],"bin":{"agent-device":"bin/agent-device.mjs"},"dist":{"shasum":"ee3b97254b0137a826cfc06ba5796eb3569a0aa9","tarball":"https://registry.npmjs.org/agent-device/-/agent-device-0.2.0.tgz","fileCount":52,"integrity":"sha512-JtLXhGz0lXEwy6n1aLMISK1A2QOacFg2VGRb7mDRfyvqCDmEnGzcw9v2mM2rDdZfYdmrD6w2q11/rh5QH86ccw==","signatures":[{"sig":"MEUCIH3BS4rUV+Nx/+djNr4RJmYzh+gqtzHP417nHUwVmY66AiEAi/VOpd2PmZGwUh5xFe5xkk5Tazsbz4EsXgg3fMiTd6s=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":733451},"type":"module","engines":{"node":">=22"},"gitHead":"c4bd87fe0ae3bdc6c0e13532d7a3d43175ca45dd","scripts":{"ad":"node bin/agent-device.mjs","lint":"node --eval \"console.log('no lint')\"","test":"node --test","build":"rslib build","format":"prettier --write .","prepack":"pnpm build:node && pnpm build:axsnapshot","build:all":"pnpm build:node && pnpm build:axsnapshot && pnpm build:xcuitest","typecheck":"tsc -p tsconfig.json","build:clis":"pnpm build:node && pnpm build:axsnapshot","build:node":"pnpm build && rm -f ~/.agent-device/daemon.json","test:smoke":"node --test test/smoke/*.test.ts","build:swift":"swift build -c release --package-path ios-runner/AXSnapshot","build:xcuitest":"AGENT_DEVICE_IOS_CLEAN_DERIVED=1 xcodebuild build-for-testing -project ios-runner/AgentDeviceRunner/AgentDeviceRunner.xcodeproj -scheme AgentDeviceRunner -destination \"generic/platform=iOS Simulator\" -derivedDataPath ~/.agent-device/ios-runner/derived","prepublishOnly":"pnpm build:node && pnpm build:axsnapshot","build:axsnapshot":"pnpm build:swift && mkdir -p dist/bin && cp -f ios-runner/AXSnapshot/.build/release/axsnapshot dist/bin/axsnapshot && chmod +x dist/bin/axsnapshot","test:integration":"node --test test/integration/*.test.ts"},"_npmUser":{"name":"thymikee","email":"thymikee@gmail.com"},"prettier":{"semi":true,"printWidth":100,"singleQuote":true,"trailingComma":"all"},"_npmVersion":"11.5.1","description":"Unified control plane for physical and virtual devices via an agent-driven CLI.","directories":{},"_nodeVersion":"24.6.0","dependencies":{"@clack/prompts":"^1.0.0"},"_hasShrinkwrap":false,"devDependencies":{"prettier":"^3.3.3","typescript":"^5.9.3","@rslib/core":"0.19.4","@types/node":"^22.0.0"},"_npmOperationalInternal":{"tmp":"tmp/agent-device_0.2.0_1770275315056_0.5012951112879223","host":"s3://npm-registry-packages-npm-production"}},"0.2.1":{"name":"agent-device","version":"0.2.1","keywords":["agent","device","cli","adb","simctl","devicectl","ios","android"],"author":{"name":"Callstack"},"license":"MIT","_id":"agent-device@0.2.1","maintainers":[{"name":"thymikee","email":"thymikee@gmail.com"}],"bin":{"agent-device":"bin/agent-device.mjs"},"dist":{"shasum":"1557073a81e7072ded8fc0d80b22cbf7b1ba361b","tarball":"https://registry.npmjs.org/agent-device/-/agent-device-0.2.1.tgz","fileCount":52,"integrity":"sha512-tywlfa4rbrFL3ht6DayTKCWlJI7hj8YKg867LQ8LYkzxCecacuIu0Rv2AcvOacYZ1vhCWsuJkq6ES0rRM/IT6g==","signatures":[{"sig":"MEQCIG8MSfOJp3QTrD6VaLSbvuYn6ZcGz2Oqa1Q2HujxbaMIAiB5FBAV/7ybjcGcfVJQKXphnXrWVgMei5V5omLnmRj96w==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":733396},"type":"module","engines":{"node":">=22"},"gitHead":"a478173802c70193f6d1a8bc0f52a2343152747f","scripts":{"ad":"node bin/agent-device.mjs","lint":"node --eval \"console.log('no lint')\"","test":"node --test","build":"rslib build","format":"prettier --write .","prepack":"pnpm build:node && pnpm build:axsnapshot","build:all":"pnpm build:node && pnpm build:axsnapshot && pnpm build:xcuitest","typecheck":"tsc -p tsconfig.json","build:clis":"pnpm build:node && pnpm build:axsnapshot","build:node":"pnpm build && rm -f ~/.agent-device/daemon.json","test:smoke":"node --test test/smoke/*.test.ts","build:swift":"swift build -c release --package-path ios-runner/AXSnapshot","build:xcuitest":"AGENT_DEVICE_IOS_CLEAN_DERIVED=1 xcodebuild build-for-testing -project ios-runner/AgentDeviceRunner/AgentDeviceRunner.xcodeproj -scheme AgentDeviceRunner -destination \"generic/platform=iOS Simulator\" -derivedDataPath ~/.agent-device/ios-runner/derived","prepublishOnly":"pnpm build:node && pnpm build:axsnapshot","build:axsnapshot":"pnpm build:swift && mkdir -p dist/bin && cp -f ios-runner/AXSnapshot/.build/release/axsnapshot dist/bin/axsnapshot && chmod +x dist/bin/axsnapshot","test:integration":"node --test test/integration/*.test.ts"},"_npmUser":{"name":"thymikee","email":"thymikee@gmail.com"},"prettier":{"semi":true,"printWidth":100,"singleQuote":true,"trailingComma":"all"},"_npmVersion":"11.5.1","description":"Unified control plane for physical and virtual devices via an agent-driven CLI.","directories":{},"_nodeVersion":"24.6.0","dependencies":{"@clack/prompts":"^1.0.0"},"_hasShrinkwrap":false,"devDependencies":{"prettier":"^3.3.3","typescript":"^5.9.3","@rslib/core":"0.19.4","@types/node":"^22.0.0"},"_npmOperationalInternal":{"tmp":"tmp/agent-device_0.2.1_1770281619836_0.3159294060082074","host":"s3://npm-registry-packages-npm-production"}},"0.2.2":{"name":"agent-device","version":"0.2.2","keywords":["agent","device","cli","adb","simctl","devicectl","ios","android"],"author":{"name":"Callstack"},"license":"MIT","_id":"agent-device@0.2.2","maintainers":[{"name":"thymikee","email":"thymikee@gmail.com"}],"bin":{"agent-device":"bin/agent-device.mjs"},"dist":{"shasum":"93dd814bdb606ce16f9c69b4f6c3d2dab7379b96","tarball":"https://registry.npmjs.org/agent-device/-/agent-device-0.2.2.tgz","fileCount":52,"integrity":"sha512-9UnAf6gBXGqd/rYFURX9kD73Nwtle8UXoD217JPhFUIj8IV97107pTerqUEjhZ3931tm+wP0NjqFeu9TZoqG5g==","signatures":[{"sig":"MEQCIEkA7vKugUZTVhzUMEQXYnKdKlY/LFUvkEfYYbLU+MRNAiB7km4wV3ft2B05O9cgKq2jvDea1KSLTLoYJDVw85P4QA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":740144},"type":"module","engines":{"node":">=22"},"gitHead":"6d2d15788819040aa941871494ddc218477593f3","scripts":{"ad":"node bin/agent-device.mjs","lint":"node --eval \"console.log('no lint')\"","test":"node --test","build":"rslib build","format":"prettier --write .","prepack":"pnpm build:node && pnpm build:axsnapshot","build:all":"pnpm build:node && pnpm build:axsnapshot && pnpm build:xcuitest","typecheck":"tsc -p tsconfig.json","build:clis":"pnpm build:node && pnpm build:axsnapshot","build:node":"pnpm build && rm -f ~/.agent-device/daemon.json","test:smoke":"node --test test/smoke/*.test.ts","build:swift":"swift build -c release --package-path ios-runner/AXSnapshot","build:xcuitest":"AGENT_DEVICE_IOS_CLEAN_DERIVED=1 xcodebuild build-for-testing -project ios-runner/AgentDeviceRunner/AgentDeviceRunner.xcodeproj -scheme AgentDeviceRunner -destination \"generic/platform=iOS Simulator\" -derivedDataPath ~/.agent-device/ios-runner/derived","prepublishOnly":"pnpm build:node && pnpm build:axsnapshot","build:axsnapshot":"pnpm build:swift && mkdir -p dist/bin && cp -f ios-runner/AXSnapshot/.build/release/axsnapshot dist/bin/axsnapshot && chmod +x dist/bin/axsnapshot","test:integration":"node --test test/integration/*.test.ts"},"_npmUser":{"name":"thymikee","email":"thymikee@gmail.com"},"prettier":{"semi":true,"printWidth":100,"singleQuote":true,"trailingComma":"all"},"_npmVersion":"11.5.1","description":"Unified control plane for physical and virtual devices via an agent-driven CLI.","directories":{},"_nodeVersion":"24.6.0","dependencies":{"@clack/prompts":"^1.0.0"},"_hasShrinkwrap":false,"devDependencies":{"prettier":"^3.3.3","typescript":"^5.9.3","@rslib/core":"0.19.4","@types/node":"^22.0.0"},"_npmOperationalInternal":{"tmp":"tmp/agent-device_0.2.2_1770311433669_0.762171979117747","host":"s3://npm-registry-packages-npm-production"}},"0.2.3":{"name":"agent-device","version":"0.2.3","keywords":["agent","device","cli","adb","simctl","devicectl","ios","android"],"author":{"name":"Callstack"},"license":"MIT","_id":"agent-device@0.2.3","maintainers":[{"name":"thymikee","email":"thymikee@gmail.com"}],"bin":{"agent-device":"bin/agent-device.mjs"},"dist":{"shasum":"104b7e2a691f831a7e3504a51379de82a1e46017","tarball":"https://registry.npmjs.org/agent-device/-/agent-device-0.2.3.tgz","fileCount":52,"integrity":"sha512-3WSxUPtuIMB043debohwZ7xVIBz9k2ZUyKqxEg4VgBwh9aaylMOxy9+R2CumBmpEZ5OTI0nP/bBj1pd08Uo8Cw==","signatures":[{"sig":"MEQCIGrzHNzHbWrZPt5PqbBzc+E/lU+XKXZuCKpV2UTp+IzQAiBuqujNqbYslCCn2NHd7scQJjJZQnZXss95Hl8BPkGtFw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":753477},"type":"module","engines":{"node":">=22"},"gitHead":"8f653b5a5c4c2f27ab294c540383bda19f4184f0","scripts":{"ad":"node bin/agent-device.mjs","lint":"node --eval \"console.log('no lint')\"","test":"node --test","build":"rslib build","format":"prettier --write .","prepack":"pnpm build:node && pnpm build:axsnapshot","build:all":"pnpm build:node && pnpm build:axsnapshot && pnpm build:xcuitest","typecheck":"tsc -p tsconfig.json","build:clis":"pnpm build:node && pnpm build:axsnapshot","build:node":"pnpm build && rm -f ~/.agent-device/daemon.json","test:smoke":"node --test test/smoke/*.test.ts","build:swift":"swift build -c release --package-path ios-runner/AXSnapshot","build:xcuitest":"AGENT_DEVICE_IOS_CLEAN_DERIVED=1 xcodebuild build-for-testing -project ios-runner/AgentDeviceRunner/AgentDeviceRunner.xcodeproj -scheme AgentDeviceRunner -destination \"generic/platform=iOS Simulator\" -derivedDataPath ~/.agent-device/ios-runner/derived","prepublishOnly":"pnpm build:node && pnpm build:axsnapshot","build:axsnapshot":"pnpm build:swift && mkdir -p dist/bin && cp -f ios-runner/AXSnapshot/.build/release/axsnapshot dist/bin/axsnapshot && chmod +x dist/bin/axsnapshot","test:integration":"node --test test/integration/*.test.ts"},"_npmUser":{"name":"thymikee","email":"thymikee@gmail.com"},"prettier":{"semi":true,"printWidth":100,"singleQuote":true,"trailingComma":"all"},"_npmVersion":"11.5.1","description":"Unified control plane for physical and virtual devices via an agent-driven CLI.","directories":{},"_nodeVersion":"24.6.0","dependencies":{"@clack/prompts":"^1.0.0"},"_hasShrinkwrap":false,"devDependencies":{"prettier":"^3.3.3","typescript":"^5.9.3","@rslib/core":"0.19.4","@types/node":"^22.0.0"},"_npmOperationalInternal":{"tmp":"tmp/agent-device_0.2.3_1770376729141_0.9641735053343559","host":"s3://npm-registry-packages-npm-production"}},"0.2.4":{"name":"agent-device","version":"0.2.4","keywords":["agent","device","cli","adb","simctl","devicectl","ios","android"],"author":{"name":"Callstack"},"license":"MIT","_id":"agent-device@0.2.4","maintainers":[{"name":"thymikee","email":"thymikee@gmail.com"}],"bin":{"agent-device":"bin/agent-device.mjs"},"dist":{"shasum":"5ff1e88a6738099305369c055264d48bba47d2c3","tarball":"https://registry.npmjs.org/agent-device/-/agent-device-0.2.4.tgz","fileCount":52,"integrity":"sha512-W2upDJPsjqnQ1Jb7BThwgCfe7Gm4IwwwH789Dd3SA8VNLjlPdiXD16+9AE8HNEDmc9v2boI5NKYnwVXtgfni8w==","signatures":[{"sig":"MEUCIAS+9xjvt++mA7ckHqJcXf8yYb56D7NqNEbvGjWke5bVAiEAh57v9zRb9qoTIASshXbzb5aofb1RuMwC3tVyZF/F2nY=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":754915},"type":"module","engines":{"node":">=22"},"gitHead":"60324e026980f59c4d0cde458b4c7dbdcc8ee765","scripts":{"ad":"node bin/agent-device.mjs","lint":"node --eval \"console.log('no lint')\"","test":"node --test","build":"rslib build","format":"prettier --write .","prepack":"pnpm build:node && pnpm build:axsnapshot","build:all":"pnpm build:node && pnpm build:axsnapshot && pnpm build:xcuitest","typecheck":"tsc -p tsconfig.json","build:clis":"pnpm build:node && pnpm build:axsnapshot","build:node":"pnpm build && rm -f ~/.agent-device/daemon.json","test:smoke":"node --test test/smoke/*.test.ts","build:swift":"swift build -c release --package-path ios-runner/AXSnapshot","build:xcuitest":"AGENT_DEVICE_IOS_CLEAN_DERIVED=1 xcodebuild build-for-testing -project ios-runner/AgentDeviceRunner/AgentDeviceRunner.xcodeproj -scheme AgentDeviceRunner -destination \"generic/platform=iOS Simulator\" -derivedDataPath ~/.agent-device/ios-runner/derived","prepublishOnly":"pnpm build:node && pnpm build:axsnapshot","build:axsnapshot":"pnpm build:swift && mkdir -p dist/bin && cp -f ios-runner/AXSnapshot/.build/release/axsnapshot dist/bin/axsnapshot && chmod +x dist/bin/axsnapshot","test:integration":"node --test test/integration/*.test.ts"},"_npmUser":{"name":"thymikee","email":"thymikee@gmail.com"},"prettier":{"semi":true,"printWidth":100,"singleQuote":true,"trailingComma":"all"},"_npmVersion":"11.5.1","description":"Unified control plane for physical and virtual devices via an agent-driven CLI.","directories":{},"_nodeVersion":"24.6.0","dependencies":{"@clack/prompts":"^1.0.0"},"_hasShrinkwrap":false,"devDependencies":{"prettier":"^3.3.3","typescript":"^5.9.3","@rslib/core":"0.19.4","@types/node":"^22.0.0"},"_npmOperationalInternal":{"tmp":"tmp/agent-device_0.2.4_1770378544427_0.7564422950973646","host":"s3://npm-registry-packages-npm-production"}},"0.2.5":{"name":"agent-device","version":"0.2.5","keywords":["agent","device","cli","adb","simctl","devicectl","ios","android"],"author":{"name":"Callstack"},"license":"MIT","_id":"agent-device@0.2.5","maintainers":[{"name":"thymikee","email":"thymikee@gmail.com"}],"bin":{"agent-device":"bin/agent-device.mjs"},"dist":{"shasum":"f0ba3f2c1771495a0b138fe34f41c89d522ce90b","tarball":"https://registry.npmjs.org/agent-device/-/agent-device-0.2.5.tgz","fileCount":80,"integrity":"sha512-7fcqx6U98DDNn6DgsvB12vqsFqxziB/TX9uYbezwwkkPZ66DHf56nKPE8FqAuQtHEXxD577QiZNDwWlvEalbhg==","signatures":[{"sig":"MEQCIDyqGROgt7gIq5MvEz7aaunHfJCEBSZ3A2lozmjUUCBnAiABnfEVFoJIf+5LwQUuMqLURM460afHxPbRqFEQX6Avdw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":874063},"type":"module","engines":{"node":">=22"},"gitHead":"ab41eb15663a724fb32d21730448d758f86b8425","scripts":{"ad":"node bin/agent-device.mjs","lint":"node --eval \"console.log('no lint')\"","test":"node --test","build":"rslib build","format":"prettier --write .","prepack":"pnpm build:node && pnpm build:axsnapshot","build:all":"pnpm build:node && pnpm build:axsnapshot && pnpm build:xcuitest","test:unit":"node --test src/core/__tests__/*.test.ts src/daemon/__tests__/*.test.ts src/daemon/handlers/__tests__/*.test.ts","typecheck":"tsc -p tsconfig.json","build:clis":"pnpm build:node && pnpm build:axsnapshot","build:node":"pnpm build && rm -f ~/.agent-device/daemon.json","test:smoke":"node --test test/integration/smoke-*.test.ts","build:swift":"swift build -c release --package-path ios-runner/AXSnapshot","build:xcuitest":"AGENT_DEVICE_IOS_CLEAN_DERIVED=1 xcodebuild build-for-testing -project ios-runner/AgentDeviceRunner/AgentDeviceRunner.xcodeproj -scheme AgentDeviceRunner -destination \"generic/platform=iOS Simulator\" -derivedDataPath ~/.agent-device/ios-runner/derived","prepublishOnly":"pnpm build:node && pnpm build:axsnapshot","build:axsnapshot":"pnpm build:swift && mkdir -p dist/bin && cp -f ios-runner/AXSnapshot/.build/release/axsnapshot dist/bin/axsnapshot && chmod +x dist/bin/axsnapshot","test:integration":"node --test test/integration/*.test.ts"},"_npmUser":{"name":"thymikee","email":"thymikee@gmail.com"},"prettier":{"semi":true,"printWidth":100,"singleQuote":true,"trailingComma":"all"},"_npmVersion":"11.5.1","description":"Unified control plane for physical and virtual devices via an agent-driven CLI.","directories":{},"_nodeVersion":"24.6.0","dependencies":{"@clack/prompts":"^1.0.0"},"_hasShrinkwrap":false,"devDependencies":{"prettier":"^3.3.3","typescript":"^5.9.3","@rslib/core":"0.19.4","@types/node":"^22.0.0"},"_npmOperationalInternal":{"tmp":"tmp/agent-device_0.2.5_1770637216618_0.465085175120481","host":"s3://npm-registry-packages-npm-production"}},"0.2.6":{"name":"agent-device","version":"0.2.6","keywords":["agent","device","cli","adb","simctl","devicectl","ios","android"],"author":{"name":"Callstack"},"license":"MIT","_id":"agent-device@0.2.6","maintainers":[{"name":"thymikee","email":"thymikee@gmail.com"}],"bin":{"agent-device":"bin/agent-device.mjs"},"dist":{"shasum":"31527d4e9d1ddc68d59cbffb7f03dfc3ebb90979","tarball":"https://registry.npmjs.org/agent-device/-/agent-device-0.2.6.tgz","fileCount":80,"integrity":"sha512-hvzC9zYvPokO2IkZznWKtGHSK03Aaf0y1KEDRMOppLpOLqLrDf0PyNbNUvDV5LPcxvcWODlVrcg5zhO5/Abftw==","signatures":[{"sig":"MEYCIQCDRhddR2r2ULfJ4EULShEU5cb5d8NjoY6B4IzssmtgWQIhAJt5BwciiK0Y8a1rDSunY6vtVKbvPa8b1Sar9gx6Syby","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":874085},"type":"module","engines":{"node":">=22"},"gitHead":"c47013767165c8e11ba9c6bdc1a5d3ee50ff9bc1","scripts":{"ad":"node bin/agent-device.mjs","lint":"node --eval \"console.log('no lint')\"","test":"node --test","build":"rslib build","format":"prettier --write .","prepack":"pnpm build:node && pnpm build:axsnapshot","build:all":"pnpm build:node && pnpm build:axsnapshot && pnpm build:xcuitest","test:unit":"node --test src/core/__tests__/*.test.ts src/daemon/__tests__/*.test.ts src/daemon/handlers/__tests__/*.test.ts","typecheck":"tsc -p tsconfig.json","build:clis":"pnpm build:node && pnpm build:axsnapshot","build:node":"pnpm build && rm -f ~/.agent-device/daemon.json","test:smoke":"node --test test/integration/smoke-*.test.ts","build:swift":"swift build -c release --package-path ios-runner/AXSnapshot","build:xcuitest":"AGENT_DEVICE_IOS_CLEAN_DERIVED=1 xcodebuild build-for-testing -project ios-runner/AgentDeviceRunner/AgentDeviceRunner.xcodeproj -scheme AgentDeviceRunner -destination \"generic/platform=iOS Simulator\" -derivedDataPath ~/.agent-device/ios-runner/derived","prepublishOnly":"pnpm build:node && pnpm build:axsnapshot","build:axsnapshot":"pnpm build:swift && mkdir -p dist/bin && cp -f ios-runner/AXSnapshot/.build/release/axsnapshot dist/bin/axsnapshot && chmod +x dist/bin/axsnapshot","test:integration":"node --test test/integration/*.test.ts"},"_npmUser":{"name":"thymikee","email":"thymikee@gmail.com"},"prettier":{"semi":true,"printWidth":100,"singleQuote":true,"trailingComma":"all"},"_npmVersion":"11.5.1","description":"Unified control plane for physical and virtual devices via an agent-driven CLI.","directories":{},"_nodeVersion":"24.6.0","dependencies":{"@clack/prompts":"^1.0.0"},"_hasShrinkwrap":false,"devDependencies":{"prettier":"^3.3.3","typescript":"^5.9.3","@rslib/core":"0.19.4","@types/node":"^22.0.0"},"_npmOperationalInternal":{"tmp":"tmp/agent-device_0.2.6_1770640185172_0.31647119570375315","host":"s3://npm-registry-packages-npm-production"}},"0.3.0":{"name":"agent-device","version":"0.3.0","keywords":["agent","device","cli","adb","simctl","devicectl","ios","android"],"author":{"name":"Callstack"},"license":"MIT","_id":"agent-device@0.3.0","maintainers":[{"name":"thymikee","email":"thymikee@gmail.com"}],"bin":{"agent-device":"bin/agent-device.mjs"},"dist":{"shasum":"98e1661f19baaee9779f098f7ed70b01954d6440","tarball":"https://registry.npmjs.org/agent-device/-/agent-device-0.3.0.tgz","fileCount":82,"integrity":"sha512-ZNoGrivOVZvpZJLg1WAbwCTplcAP0e1m4OxvYO9mp6285c4pXTyCwftVD7ksJObb8o8uE/yyeq+bukYN8rgfZg==","signatures":[{"sig":"MEQCIQCuJwxkVbekF65W1ktq0lXKmWnldVP5s9O7V5pu3hkiuQIfWjNuLGKJa6KC415FjfNXSjGLgd11SjVzPzDtbyMYRQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":885110},"type":"module","engines":{"node":">=22"},"gitHead":"a48d840f6cbf92f4ea63e2ce3bd6609306d73ca0","scripts":{"ad":"node bin/agent-device.mjs","lint":"node --eval \"console.log('no lint')\"","test":"node --test","build":"rslib build","format":"prettier --write .","prepack":"pnpm build:node && pnpm build:axsnapshot","build:all":"pnpm build:node && pnpm build:axsnapshot && pnpm build:xcuitest","test:unit":"node --test src/core/__tests__/*.test.ts src/daemon/__tests__/*.test.ts src/daemon/handlers/__tests__/*.test.ts src/platforms/**/__tests__/*.test.ts","typecheck":"tsc -p tsconfig.json","build:clis":"pnpm build:node && pnpm build:axsnapshot","build:node":"pnpm build && rm -f ~/.agent-device/daemon.json","test:smoke":"node --test test/integration/smoke-*.test.ts","build:swift":"swift build -c release --package-path ios-runner/AXSnapshot","build:xcuitest":"AGENT_DEVICE_IOS_CLEAN_DERIVED=1 xcodebuild build-for-testing -project ios-runner/AgentDeviceRunner/AgentDeviceRunner.xcodeproj -scheme AgentDeviceRunner -destination \"generic/platform=iOS Simulator\" -derivedDataPath ~/.agent-device/ios-runner/derived","prepublishOnly":"pnpm build:node && pnpm build:axsnapshot","build:axsnapshot":"pnpm build:swift && mkdir -p dist/bin && cp -f ios-runner/AXSnapshot/.build/release/axsnapshot dist/bin/axsnapshot && chmod +x dist/bin/axsnapshot","test:integration":"node --test test/integration/*.test.ts"},"_npmUser":{"name":"thymikee","email":"thymikee@gmail.com"},"prettier":{"semi":true,"printWidth":100,"singleQuote":true,"trailingComma":"all"},"_npmVersion":"11.5.1","description":"Unified control plane for physical and virtual devices via an agent-driven CLI.","directories":{},"_nodeVersion":"24.6.0","dependencies":{"@clack/prompts":"^1.0.0"},"_hasShrinkwrap":false,"devDependencies":{"prettier":"^3.3.3","typescript":"^5.9.3","@rslib/core":"0.19.4","@types/node":"^22.0.0"},"_npmOperationalInternal":{"tmp":"tmp/agent-device_0.3.0_1770737603450_0.5107301951752328","host":"s3://npm-registry-packages-npm-production"}},"0.3.1":{"name":"agent-device","version":"0.3.1","keywords":["agent","device","cli","adb","simctl","devicectl","ios","android"],"author":{"name":"Callstack"},"license":"MIT","_id":"agent-device@0.3.1","maintainers":[{"name":"thymikee","email":"thymikee@gmail.com"}],"bin":{"agent-device":"bin/agent-device.mjs"},"dist":{"shasum":"d605293372144b6c024b90b0c6f1c439a8e37fe0","tarball":"https://registry.npmjs.org/agent-device/-/agent-device-0.3.1.tgz","fileCount":86,"integrity":"sha512-Oon9YRMYb24xd0bHa7fMvcGXIEZA6v+W3yjH5EFtqBLW6gzKW01c25JZ0SrwVNB3cAqa073k6Ci93WZ1DHhZGg==","signatures":[{"sig":"MEYCIQCCJ8GZHifF6pS3aB7k+A1F0OxOKHwvW+BCByHdQ/D29AIhANHz9WRNFA0GUSsRp8BPD97l2f9F4fbj5nMbk0zvXnjS","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":907389},"type":"module","engines":{"node":">=22"},"gitHead":"d0525cd3f1f0ab4cce93f410e2fbc094421bcfa8","scripts":{"ad":"node bin/agent-device.mjs","lint":"node --eval \"console.log('no lint')\"","test":"node --test","build":"rslib build","format":"prettier --write .","prepack":"pnpm build:node && pnpm build:axsnapshot","build:all":"pnpm build:node && pnpm build:axsnapshot && pnpm build:xcuitest","test:unit":"node --test src/core/__tests__/*.test.ts src/daemon/__tests__/*.test.ts src/daemon/handlers/__tests__/*.test.ts src/platforms/**/__tests__/*.test.ts src/utils/**/__tests__/*.test.ts","typecheck":"tsc -p tsconfig.json","build:clis":"pnpm build:node && pnpm build:axsnapshot","build:node":"pnpm build && rm -f ~/.agent-device/daemon.json","test:smoke":"node --test test/integration/smoke-*.test.ts","build:swift":"swift build -c release --package-path ios-runner/AXSnapshot","build:xcuitest":"AGENT_DEVICE_IOS_CLEAN_DERIVED=1 xcodebuild build-for-testing -project ios-runner/AgentDeviceRunner/AgentDeviceRunner.xcodeproj -scheme AgentDeviceRunner -destination \"generic/platform=iOS Simulator\" -derivedDataPath ~/.agent-device/ios-runner/derived","prepublishOnly":"pnpm build:node && pnpm build:axsnapshot","build:axsnapshot":"pnpm build:swift && mkdir -p dist/bin && cp -f ios-runner/AXSnapshot/.build/release/axsnapshot dist/bin/axsnapshot && chmod +x dist/bin/axsnapshot","test:integration":"node --test test/integration/*.test.ts"},"_npmUser":{"name":"thymikee","email":"thymikee@gmail.com"},"prettier":{"semi":true,"printWidth":100,"singleQuote":true,"trailingComma":"all"},"_npmVersion":"11.6.2","description":"Unified control plane for physical and virtual devices via an agent-driven CLI.","directories":{},"_nodeVersion":"24.13.0","dependencies":{"@clack/prompts":"^1.0.0"},"_hasShrinkwrap":false,"devDependencies":{"prettier":"^3.3.3","typescript":"^5.9.3","@rslib/core":"0.19.4","@types/node":"^22.0.0"},"_npmOperationalInternal":{"tmp":"tmp/agent-device_0.3.1_1770900822555_0.6972322997711866","host":"s3://npm-registry-packages-npm-production"}},"0.3.2":{"name":"agent-device","version":"0.3.2","keywords":["agent","device","cli","adb","simctl","devicectl","ios","android"],"author":{"name":"Callstack"},"license":"MIT","_id":"agent-device@0.3.2","maintainers":[{"name":"thymikee","email":"thymikee@gmail.com"}],"bin":{"agent-device":"bin/agent-device.mjs"},"dist":{"shasum":"fe79eb3be3fd6ef8c5e90627e4a4eca20f0388d8","tarball":"https://registry.npmjs.org/agent-device/-/agent-device-0.3.2.tgz","fileCount":90,"integrity":"sha512-TW8euU+rHwWtd27+rfNhtHBLusc90mpSnKW160p5mvRv1zdNQCiKl5Is+THWfvONU2qi7LW08Jvy6/ExCaPjcA==","signatures":[{"sig":"MEYCIQCh8IzPJ1X88F4Op/lpNRNjJi8Yl1E75NIPuJCic9qFhgIhAOhliLiPJHFAXGzkf3J1c4bRweUYY2IVDlsFsewqm6bK","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":952758},"type":"module","engines":{"node":">=22"},"gitHead":"733bd8d84fd249eadc9a8cc0fb292d0ffabec765","scripts":{"ad":"node bin/agent-device.mjs","lint":"node --eval \"console.log('no lint')\"","test":"node --test","build":"rslib build","format":"prettier --write .","prepack":"pnpm build:node && pnpm build:axsnapshot","build:all":"pnpm build:node && pnpm build:axsnapshot && pnpm build:xcuitest","test:unit":"node --test src/core/__tests__/*.test.ts src/daemon/__tests__/*.test.ts src/daemon/handlers/__tests__/*.test.ts src/platforms/**/__tests__/*.test.ts src/utils/**/__tests__/*.test.ts","typecheck":"tsc -p tsconfig.json","build:clis":"pnpm build:node && pnpm build:axsnapshot","build:node":"pnpm build && rm -f ~/.agent-device/daemon.json","test:smoke":"node --test test/integration/smoke-*.test.ts","build:swift":"swift build -c release --package-path ios-runner/AXSnapshot","build:xcuitest":"AGENT_DEVICE_IOS_CLEAN_DERIVED=1 xcodebuild build-for-testing -project ios-runner/AgentDeviceRunner/AgentDeviceRunner.xcodeproj -scheme AgentDeviceRunner -destination \"generic/platform=iOS Simulator\" -derivedDataPath ~/.agent-device/ios-runner/derived","prepublishOnly":"pnpm build:node && pnpm build:axsnapshot","build:axsnapshot":"pnpm build:swift && mkdir -p dist/bin && cp -f ios-runner/AXSnapshot/.build/release/axsnapshot dist/bin/axsnapshot && chmod +x dist/bin/axsnapshot","test:integration":"node --test test/integration/*.test.ts"},"_npmUser":{"name":"thymikee","email":"thymikee@gmail.com"},"prettier":{"semi":true,"printWidth":100,"singleQuote":true,"trailingComma":"all"},"_npmVersion":"11.6.2","description":"Unified control plane for physical and virtual devices via an agent-driven CLI.","directories":{},"_nodeVersion":"24.13.0","dependencies":{"@clack/prompts":"^1.0.0"},"_hasShrinkwrap":false,"devDependencies":{"prettier":"^3.3.3","typescript":"^5.9.3","@rslib/core":"0.19.4","@types/node":"^22.0.0"},"_npmOperationalInternal":{"tmp":"tmp/agent-device_0.3.2_1770915431194_0.3303238290978703","host":"s3://npm-registry-packages-npm-production"}},"0.3.3":{"name":"agent-device","version":"0.3.3","keywords":["agent","device","cli","adb","simctl","devicectl","ios","android"],"author":{"name":"Callstack"},"license":"MIT","_id":"agent-device@0.3.3","maintainers":[{"name":"thymikee","email":"thymikee@gmail.com"}],"bin":{"agent-device":"bin/agent-device.mjs"},"dist":{"shasum":"d3658584c812b296288a3720b577cdde0aa8545a","tarball":"https://registry.npmjs.org/agent-device/-/agent-device-0.3.3.tgz","fileCount":90,"integrity":"sha512-KaivHIP/EeuZPkPRehk5aiOfcyxAZcE6CZhJGeVza0MuEY1L88pZtYnPhTvlbRJPLSUsZfcVGx1evWXZaQv2Ig==","signatures":[{"sig":"MEQCIGdxmx2DC9aYXfbXAiVe4hwB4z4o7vOKqfp6WF0a3jPmAiBmojqzktpIZ4pHQenYF48oaQtO6Zrg8ApCVp7Ae3EZaQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":963288},"type":"module","engines":{"node":">=22"},"gitHead":"2dd2cad6fd3caaa929a1a7df0aaed7da6ddb2b11","scripts":{"ad":"node bin/agent-device.mjs","lint":"node --eval \"console.log('no lint')\"","test":"node --test","build":"rslib build","format":"prettier --write .","prepack":"pnpm build:node && pnpm build:axsnapshot","build:all":"pnpm build:node && pnpm build:axsnapshot && pnpm build:xcuitest","test:unit":"node --test src/core/__tests__/*.test.ts src/daemon/__tests__/*.test.ts src/daemon/handlers/__tests__/*.test.ts src/platforms/**/__tests__/*.test.ts src/utils/**/__tests__/*.test.ts","typecheck":"tsc -p tsconfig.json","build:clis":"pnpm build:node && pnpm build:axsnapshot","build:node":"pnpm build && rm -f ~/.agent-device/daemon.json","test:smoke":"node --test test/integration/smoke-*.test.ts","build:swift":"swift build -c release --package-path ios-runner/AXSnapshot","build:xcuitest":"AGENT_DEVICE_IOS_CLEAN_DERIVED=1 xcodebuild build-for-testing -project ios-runner/AgentDeviceRunner/AgentDeviceRunner.xcodeproj -scheme AgentDeviceRunner -destination \"generic/platform=iOS Simulator\" -derivedDataPath ~/.agent-device/ios-runner/derived","prepublishOnly":"pnpm build:node && pnpm build:axsnapshot","build:axsnapshot":"pnpm build:swift && mkdir -p dist/bin && cp -f ios-runner/AXSnapshot/.build/release/axsnapshot dist/bin/axsnapshot && chmod +x dist/bin/axsnapshot","test:integration":"node --test test/integration/*.test.ts"},"_npmUser":{"name":"thymikee","email":"thymikee@gmail.com"},"prettier":{"semi":true,"printWidth":100,"singleQuote":true,"trailingComma":"all"},"_npmVersion":"11.6.2","description":"Unified control plane for physical and virtual devices via an agent-driven CLI.","directories":{},"_nodeVersion":"24.13.0","dependencies":{"@clack/prompts":"^1.0.0"},"_hasShrinkwrap":false,"devDependencies":{"prettier":"^3.3.3","typescript":"^5.9.3","@rslib/core":"0.19.4","@types/node":"^22.0.0"},"_npmOperationalInternal":{"tmp":"tmp/agent-device_0.3.3_1770984719045_0.9403558360765731","host":"s3://npm-registry-packages-npm-production"}},"0.3.4":{"name":"agent-device","version":"0.3.4","keywords":["agent","device","cli","adb","simctl","devicectl","ios","android"],"author":{"name":"Callstack"},"license":"MIT","_id":"agent-device@0.3.4","maintainers":[{"name":"thymikee","email":"thymikee@gmail.com"}],"bin":{"agent-device":"bin/agent-device.mjs"},"dist":{"shasum":"d236ea0f70d8521fd85f13ad9c09f1c7f0481fa7","tarball":"https://registry.npmjs.org/agent-device/-/agent-device-0.3.4.tgz","fileCount":90,"integrity":"sha512-bouYvQPb16i6EBBX1tF0NXoDMzp4ZE5x8C2/Sei6r2u8QJOMZjG2HMxacd+ayTk1GWo4Kpld84PTDik7sl+e7w==","signatures":[{"sig":"MEUCIDStSCqOy1ySAJk88F+BJmRkn7TygZTVPkTnj9O/BDURAiEAuTU8uC0QbpwtCC4jRbwZ6/6ES8szZY+zJyMIR50Ule0=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":968790},"type":"module","engines":{"node":">=22"},"gitHead":"a73912003fdb4d2005bf00d35511780aac297768","scripts":{"ad":"node bin/agent-device.mjs","lint":"node --eval \"console.log('no lint')\"","test":"node --test","build":"rslib build","format":"prettier --write .","prepack":"pnpm build:node && pnpm build:axsnapshot","build:all":"pnpm build:node && pnpm build:axsnapshot && pnpm build:xcuitest","test:unit":"node --test src/core/__tests__/*.test.ts src/daemon/__tests__/*.test.ts src/daemon/handlers/__tests__/*.test.ts src/platforms/**/__tests__/*.test.ts src/utils/**/__tests__/*.test.ts","typecheck":"tsc -p tsconfig.json","build:clis":"pnpm build:node && pnpm build:axsnapshot","build:node":"pnpm build && rm -f ~/.agent-device/daemon.json","test:smoke":"node --test test/integration/smoke-*.test.ts","build:swift":"swift build -c release --package-path ios-runner/AXSnapshot","build:xcuitest":"AGENT_DEVICE_IOS_CLEAN_DERIVED=1 xcodebuild build-for-testing -project ios-runner/AgentDeviceRunner/AgentDeviceRunner.xcodeproj -scheme AgentDeviceRunner -destination \"generic/platform=iOS Simulator\" -derivedDataPath ~/.agent-device/ios-runner/derived","prepublishOnly":"pnpm build:node && pnpm build:axsnapshot","build:axsnapshot":"pnpm build:swift && mkdir -p dist/bin && cp -f ios-runner/AXSnapshot/.build/release/axsnapshot dist/bin/axsnapshot && chmod +x dist/bin/axsnapshot","test:integration":"node --test test/integration/*.test.ts"},"_npmUser":{"name":"thymikee","email":"thymikee@gmail.com"},"prettier":{"semi":true,"printWidth":100,"singleQuote":true,"trailingComma":"all"},"_npmVersion":"11.6.2","description":"Unified control plane for physical and virtual devices via an agent-driven CLI.","directories":{},"_nodeVersion":"24.13.0","dependencies":{"@clack/prompts":"^1.0.0"},"_hasShrinkwrap":false,"devDependencies":{"prettier":"^3.3.3","typescript":"^5.9.3","@rslib/core":"0.19.4","@types/node":"^22.0.0"},"_npmOperationalInternal":{"tmp":"tmp/agent-device_0.3.4_1770989814199_0.734561439388626","host":"s3://npm-registry-packages-npm-production"}},"0.3.5":{"name":"agent-device","version":"0.3.5","keywords":["agent","device","cli","adb","simctl","devicectl","ios","android"],"author":{"name":"Callstack"},"license":"MIT","_id":"agent-device@0.3.5","maintainers":[{"name":"thymikee","email":"thymikee@gmail.com"}],"bin":{"agent-device":"bin/agent-device.mjs"},"dist":{"shasum":"3bd608e34a0da116468c3e1c5b25e077156cf057","tarball":"https://registry.npmjs.org/agent-device/-/agent-device-0.3.5.tgz","fileCount":94,"integrity":"sha512-jDLTANHxEN2a/pc4gmN9ydqpw9odFxP68FggPrE7ShNjW5/ztSQGuuQkc+cWKcgboyCLloohxKeghwhmHojjzg==","signatures":[{"sig":"MEUCIBDVIjkJHfb+v3Wa/0uNdDc6YWNf+Ix5xvAzXypXzgAUAiEAvs3+++ILIcPcFHmO8B26D5ossFr/GIK/P3xk8RsqcI0=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":989236},"type":"module","engines":{"node":">=22"},"gitHead":"37d1faf3ff2f85bab480559929a4dea730cd12f6","scripts":{"ad":"node bin/agent-device.mjs","lint":"node --eval \"console.log('no lint')\"","test":"node --test","build":"rslib build","format":"prettier --write .","prepack":"pnpm build:node && pnpm build:axsnapshot","build:all":"pnpm build:node && pnpm build:axsnapshot && pnpm build:xcuitest","test:unit":"node --test src/core/__tests__/*.test.ts src/daemon/__tests__/*.test.ts src/daemon/handlers/__tests__/*.test.ts src/platforms/**/__tests__/*.test.ts src/utils/**/__tests__/*.test.ts","typecheck":"tsc -p tsconfig.json","build:clis":"pnpm build:node && pnpm build:axsnapshot","build:node":"pnpm build && rm -f ~/.agent-device/daemon.json","test:smoke":"node --test test/integration/smoke-*.test.ts","build:swift":"swift build -c release --package-path ios-runner/AXSnapshot","build:xcuitest":"AGENT_DEVICE_IOS_CLEAN_DERIVED=1 xcodebuild build-for-testing -project ios-runner/AgentDeviceRunner/AgentDeviceRunner.xcodeproj -scheme AgentDeviceRunner -destination \"generic/platform=iOS Simulator\" -derivedDataPath ~/.agent-device/ios-runner/derived","prepublishOnly":"pnpm build:node && pnpm build:axsnapshot","build:axsnapshot":"pnpm build:swift && mkdir -p dist/bin && cp -f ios-runner/AXSnapshot/.build/release/axsnapshot dist/bin/axsnapshot && chmod +x dist/bin/axsnapshot","test:integration":"node --test test/integration/*.test.ts"},"_npmUser":{"name":"thymikee","email":"thymikee@gmail.com"},"prettier":{"semi":true,"printWidth":100,"singleQuote":true,"trailingComma":"all"},"_npmVersion":"11.6.2","description":"Unified control plane for physical and virtual devices via an agent-driven CLI.","directories":{},"_nodeVersion":"24.13.0","dependencies":{"@clack/prompts":"^1.0.0"},"_hasShrinkwrap":false,"devDependencies":{"prettier":"^3.3.3","typescript":"^5.9.3","@rslib/core":"0.19.4","@types/node":"^22.0.0"},"_npmOperationalInternal":{"tmp":"tmp/agent-device_0.3.5_1771007159509_0.7745080099331785","host":"s3://npm-registry-packages-npm-production"}},"0.4.0":{"name":"agent-device","version":"0.4.0","keywords":["agent","device","cli","adb","simctl","devicectl","ios","android"],"author":{"name":"Callstack"},"license":"MIT","_id":"agent-device@0.4.0","maintainers":[{"name":"thymikee","email":"thymikee@gmail.com"}],"bin":{"agent-device":"bin/agent-device.mjs"},"dist":{"shasum":"c8cc15182500181fead639e329a93b9ba3db4d1b","tarball":"https://registry.npmjs.org/agent-device/-/agent-device-0.4.0.tgz","fileCount":99,"integrity":"sha512-rj2qSENKRIHzmG1u3hhdtBDxL5QlMUEYMW0jnWT/Sb6Fg/UK6wOGpleEloMNoavppuiMSTHckGAUBThpUdTlrw==","signatures":[{"sig":"MEQCIEFVM+IfVArvnbnyamnv3Lir10vIL/V1UlGJT/E1mholAiAiCVvjz0pu5dwHaJsVAS2bCoL/JVruwcUB0NIc4t9ufw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1057137},"type":"module","engines":{"node":">=22"},"gitHead":"31117d74144ca95392adfe0ede71ec4cda033f55","scripts":{"ad":"node bin/agent-device.mjs","lint":"node --eval \"console.log('no lint')\"","test":"node --test","build":"rslib build","format":"prettier --write .","prepack":"pnpm build:node && pnpm build:axsnapshot","build:all":"pnpm build:node && pnpm build:axsnapshot && pnpm build:xcuitest","test:unit":"node --test src/core/__tests__/*.test.ts src/daemon/__tests__/*.test.ts src/daemon/handlers/__tests__/*.test.ts src/platforms/**/__tests__/*.test.ts src/utils/**/__tests__/*.test.ts","typecheck":"tsc -p tsconfig.json","build:clis":"pnpm build:node && pnpm build:axsnapshot","build:node":"pnpm build && rm -f ~/.agent-device/daemon.json","test:smoke":"node --test test/integration/smoke-*.test.ts","build:swift":"swift build -c release --package-path ios-runner/AXSnapshot","build:xcuitest":"AGENT_DEVICE_IOS_CLEAN_DERIVED=1 xcodebuild build-for-testing -project ios-runner/AgentDeviceRunner/AgentDeviceRunner.xcodeproj -scheme AgentDeviceRunner -destination \"generic/platform=iOS Simulator\" -derivedDataPath ~/.agent-device/ios-runner/derived","prepublishOnly":"pnpm build:node && pnpm build:axsnapshot","build:axsnapshot":"pnpm build:swift && mkdir -p dist/bin && cp -f ios-runner/AXSnapshot/.build/release/axsnapshot dist/bin/axsnapshot && chmod +x dist/bin/axsnapshot","test:integration":"node --test test/integration/*.test.ts"},"_npmUser":{"name":"thymikee","email":"thymikee@gmail.com"},"prettier":{"semi":true,"printWidth":100,"singleQuote":true,"trailingComma":"all"},"_npmVersion":"11.6.2","description":"Unified control plane for physical and virtual devices via an agent-driven CLI.","directories":{},"_nodeVersion":"24.13.0","dependencies":{"@clack/prompts":"^1.0.0"},"_hasShrinkwrap":false,"devDependencies":{"prettier":"^3.3.3","typescript":"^5.9.3","@rslib/core":"0.19.4","@types/node":"^22.0.0"},"_npmOperationalInternal":{"tmp":"tmp/agent-device_0.4.0_1771232978455_0.10653441104958428","host":"s3://npm-registry-packages-npm-production"}},"0.4.1":{"name":"agent-device","version":"0.4.1","keywords":["agent","device","cli","adb","simctl","devicectl","ios","android"],"author":{"name":"Callstack"},"license":"MIT","_id":"agent-device@0.4.1","maintainers":[{"name":"thymikee","email":"thymikee@gmail.com"}],"bin":{"agent-device":"bin/agent-device.mjs"},"dist":{"shasum":"e11473fbd65a9700fd3caed1e2aa5c718121c0a3","tarball":"https://registry.npmjs.org/agent-device/-/agent-device-0.4.1.tgz","fileCount":105,"integrity":"sha512-TVfIyUXMcAWYiYsOnFU+97C3XCpCNg/MfMEUhOEPK1RDBRunjVAJqUNLMbg/Q6OhFHCjm6y+KsV5+rj6veKERA==","signatures":[{"sig":"MEYCIQCUMSa2OA2bcdbM5ZCVfUdDnQAgAggS465BL766HiWGBgIhAJGTIucYgLKadpps9WRFKuHToJQu+dXVGGAgRXrsMeq9","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1088897},"type":"module","engines":{"node":">=22"},"gitHead":"17940c188feef55b1d13dfbbdc9fa36eccb6f341","scripts":{"ad":"node bin/agent-device.mjs","lint":"node --eval \"console.log('no lint')\"","test":"node --test","build":"rslib build","format":"prettier --write .","prepack":"pnpm build:node && pnpm build:axsnapshot","build:all":"pnpm build:node && pnpm build:axsnapshot && pnpm build:xcuitest","test:unit":"node --test src/__tests__/*.test.ts src/core/__tests__/*.test.ts src/daemon/__tests__/*.test.ts src/daemon/handlers/__tests__/*.test.ts src/platforms/**/__tests__/*.test.ts src/utils/**/__tests__/*.test.ts","typecheck":"tsc -p tsconfig.json","build:clis":"pnpm build:node && pnpm build:axsnapshot","build:node":"pnpm build && rm -f ~/.agent-device/daemon.json","test:smoke":"node --test test/integration/smoke-*.test.ts","build:swift":"swift build -c release --package-path ios-runner/AXSnapshot","build:xcuitest":"AGENT_DEVICE_IOS_CLEAN_DERIVED=1 xcodebuild build-for-testing -project ios-runner/AgentDeviceRunner/AgentDeviceRunner.xcodeproj -scheme AgentDeviceRunner -destination \"generic/platform=iOS Simulator\" -derivedDataPath ~/.agent-device/ios-runner/derived","prepublishOnly":"pnpm build:node && pnpm build:axsnapshot","build:axsnapshot":"pnpm build:swift && mkdir -p dist/bin && cp -f ios-runner/AXSnapshot/.build/release/axsnapshot dist/bin/axsnapshot && chmod +x dist/bin/axsnapshot","test:integration":"node --test test/integration/*.test.ts"},"_npmUser":{"name":"thymikee","email":"thymikee@gmail.com"},"prettier":{"semi":true,"printWidth":100,"singleQuote":true,"trailingComma":"all"},"_npmVersion":"11.6.2","description":"Unified control plane for physical and virtual devices via an agent-driven CLI.","directories":{},"_nodeVersion":"24.13.0","dependencies":{"@clack/prompts":"^1.0.0"},"_hasShrinkwrap":false,"devDependencies":{"prettier":"^3.3.3","typescript":"^5.9.3","@rslib/core":"0.19.4","@types/node":"^22.0.0"},"_npmOperationalInternal":{"tmp":"tmp/agent-device_0.4.1_1771240655761_0.6960017184488911","host":"s3://npm-registry-packages-npm-production"}},"0.4.2":{"name":"agent-device","version":"0.4.2","keywords":["agent","device","cli","adb","simctl","devicectl","ios","android"],"author":{"name":"Callstack"},"license":"MIT","_id":"agent-device@0.4.2","maintainers":[{"name":"thymikee","email":"thymikee@gmail.com"}],"bin":{"agent-device":"bin/agent-device.mjs"},"dist":{"shasum":"b6adf397ebb73437f4b61aea7daf461eeef8ed55","tarball":"https://registry.npmjs.org/agent-device/-/agent-device-0.4.2.tgz","fileCount":111,"integrity":"sha512-uxLxo80P0l9oEZ4dWiE7qKURW+TtZl6R7qsMz9f29vAy6XVJsPClVsRsBk4vyxxRbyt/SD3DMbv3hsfsCBifpg==","signatures":[{"sig":"MEYCIQCBUpiREmuE2ftbBRvVJXk4xGUXjdPzKxlBMxwCnCtg+gIhAPS721NsHV/U2ihpZgNvQOTjCjsdezGpwqJhyz13Tcjn","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1155693},"type":"module","engines":{"node":">=22"},"gitHead":"29be3836e34786fa73d868059e5d0a2e0a2590c2","scripts":{"ad":"node bin/agent-device.mjs","lint":"node --eval \"console.log('no lint')\"","test":"node --test","build":"rslib build","format":"prettier --write .","prepack":"pnpm build:node && pnpm build:axsnapshot","build:all":"pnpm build:node && pnpm build:axsnapshot && pnpm build:xcuitest","test:unit":"node --test src/__tests__/*.test.ts src/core/__tests__/*.test.ts src/daemon/__tests__/*.test.ts src/daemon/handlers/__tests__/*.test.ts src/platforms/**/__tests__/*.test.ts src/utils/**/__tests__/*.test.ts","typecheck":"tsc -p tsconfig.json","build:clis":"pnpm build:node && pnpm build:axsnapshot","build:node":"pnpm build && rm -f ~/.agent-device/daemon.json","test:smoke":"node --test test/integration/smoke-*.test.ts","build:swift":"swift build -c release --package-path ios-runner/AXSnapshot","build:xcuitest":"AGENT_DEVICE_IOS_CLEAN_DERIVED=1 xcodebuild build-for-testing -project ios-runner/AgentDeviceRunner/AgentDeviceRunner.xcodeproj -scheme AgentDeviceRunner -destination \"generic/platform=iOS Simulator\" -derivedDataPath ~/.agent-device/ios-runner/derived","prepublishOnly":"pnpm build:node && pnpm build:axsnapshot","build:axsnapshot":"pnpm build:swift && mkdir -p dist/bin && cp -f ios-runner/AXSnapshot/.build/release/axsnapshot dist/bin/axsnapshot && chmod +x dist/bin/axsnapshot","test:integration":"node --test test/integration/*.test.ts"},"_npmUser":{"name":"thymikee","email":"thymikee@gmail.com"},"prettier":{"semi":true,"printWidth":100,"singleQuote":true,"trailingComma":"all"},"_npmVersion":"11.6.2","description":"Unified control plane for physical and virtual devices via an agent-driven CLI.","directories":{},"_nodeVersion":"24.13.0","dependencies":{"@clack/prompts":"^1.0.0"},"_hasShrinkwrap":false,"devDependencies":{"prettier":"^3.3.3","typescript":"^5.9.3","@rslib/core":"0.19.4","@types/node":"^22.0.0"},"_npmOperationalInternal":{"tmp":"tmp/agent-device_0.4.2_1771270542923_0.42593831523744563","host":"s3://npm-registry-packages-npm-production"}},"0.5.0":{"name":"agent-device","version":"0.5.0","keywords":["agent","device","cli","adb","simctl","devicectl","ios","android"],"author":{"name":"Callstack"},"license":"MIT","_id":"agent-device@0.5.0","maintainers":[{"name":"thymikee","email":"thymikee@gmail.com"}],"bin":{"agent-device":"bin/agent-device.mjs"},"dist":{"shasum":"487c316b85a293dad7a544487ac13e14f294f734","tarball":"https://registry.npmjs.org/agent-device/-/agent-device-0.5.0.tgz","fileCount":28,"integrity":"sha512-xfX/gGohDfyZcXSjfDglUOFUuVz6Ijejrc6/sVoJ3seRMMP9Z+GD7b0q9uyt8YnVBH9S7gFw+eCO4/aa6XEHag==","signatures":[{"sig":"MEUCICFEiX2QRsg5hXVxr9+s2gZ0KotvexzVVtcDP2wjnygxAiEAwfA13MGBAEUp+oRNxfSlLNoNHsBYYUwbOTm7PMsPNNE=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":462166},"type":"module","engines":{"node":">=22"},"gitHead":"bceda350fe84fc20e8d9c84f4885e30a736109e5","scripts":{"ad":"node bin/agent-device.mjs","lint":"node --eval \"console.log('no lint')\"","test":"node --test","build":"rslib build","format":"prettier --write .","prepack":"pnpm build:node","build:all":"pnpm build:node && pnpm build:xcuitest","test:unit":"node --test src/__tests__/*.test.ts src/core/__tests__/*.test.ts src/daemon/__tests__/*.test.ts src/daemon/handlers/__tests__/*.test.ts src/platforms/**/__tests__/*.test.ts src/utils/**/__tests__/*.test.ts","typecheck":"tsc -p tsconfig.json","build:clis":"pnpm build:node","build:node":"pnpm build && pnpm clean:daemon","test:smoke":"node --test test/integration/smoke-*.test.ts","clean:daemon":"rm -f ~/.agent-device/daemon.json && rm -f ~/.agent-device/daemon.lock","build:xcuitest":"AGENT_DEVICE_IOS_CLEAN_DERIVED=1 xcodebuild build-for-testing -project ios-runner/AgentDeviceRunner/AgentDeviceRunner.xcodeproj -scheme AgentDeviceRunner -destination \"generic/platform=iOS Simulator\" -derivedDataPath ~/.agent-device/ios-runner/derived","prepublishOnly":"pnpm build:node","test:integration":"node --test test/integration/*.test.ts"},"_npmUser":{"name":"thymikee","email":"thymikee@gmail.com"},"prettier":{"semi":true,"printWidth":100,"singleQuote":true,"trailingComma":"all"},"_npmVersion":"11.6.2","description":"Unified control plane for physical and virtual devices via an agent-driven CLI.","directories":{},"_nodeVersion":"24.13.0","dependencies":{"@clack/prompts":"^1.0.0"},"_hasShrinkwrap":false,"devDependencies":{"prettier":"^3.3.3","typescript":"^5.9.3","@rslib/core":"0.19.4","@types/node":"^22.0.0"},"_npmOperationalInternal":{"tmp":"tmp/agent-device_0.5.0_1771326825016_0.09828423333558023","host":"s3://npm-registry-packages-npm-production"}},"0.5.1":{"name":"agent-device","version":"0.5.1","keywords":["agent","device","cli","adb","simctl","devicectl","ios","android"],"author":{"name":"Callstack"},"license":"MIT","_id":"agent-device@0.5.1","maintainers":[{"name":"thymikee","email":"thymikee@gmail.com"}],"bin":{"agent-device":"bin/agent-device.mjs"},"dist":{"shasum":"8e372b82dbbe6391122d85ba27e33d86ce24d387","tarball":"https://registry.npmjs.org/agent-device/-/agent-device-0.5.1.tgz","fileCount":29,"integrity":"sha512-wYyBwcvtKAPFyRgurl4JJE1zxO3FwNczAa2iLeAzDVZWdGCv+2B9iGcid3PeqF12Jg8PGGXk7cuD9nLChPh9wQ==","signatures":[{"sig":"MEUCIE1LuB6p8ltEt0N47oSO41SaG+8I80OIDv8YcdjNZ+kZAiEAwkI+YpsbB2ubG6i+Lj8mrKkPTJ1K8eqtlY+IFRSHyyk=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":472718},"type":"module","engines":{"node":">=22"},"gitHead":"e6da093404a24a8508ff0aba03fcaae629221727","scripts":{"ad":"node bin/agent-device.mjs","lint":"node --eval \"console.log('no lint')\"","test":"node --test","build":"rslib build","format":"prettier --write .","prepack":"pnpm build:node","build:all":"pnpm build:node && pnpm build:xcuitest","test:unit":"node --test src/__tests__/*.test.ts src/core/__tests__/*.test.ts src/daemon/__tests__/*.test.ts src/daemon/handlers/__tests__/*.test.ts src/platforms/**/__tests__/*.test.ts src/utils/**/__tests__/*.test.ts","typecheck":"tsc -p tsconfig.json","build:clis":"pnpm build:node","build:node":"pnpm build && pnpm clean:daemon","test:smoke":"node --test test/integration/smoke-*.test.ts","clean:daemon":"rm -f ~/.agent-device/daemon.json && rm -f ~/.agent-device/daemon.lock","build:xcuitest":"AGENT_DEVICE_IOS_CLEAN_DERIVED=1 xcodebuild build-for-testing -project ios-runner/AgentDeviceRunner/AgentDeviceRunner.xcodeproj -scheme AgentDeviceRunner -destination \"generic/platform=iOS Simulator\" -derivedDataPath ~/.agent-device/ios-runner/derived","prepublishOnly":"pnpm build:node","test:integration":"node --test test/integration/*.test.ts"},"_npmUser":{"name":"thymikee","email":"thymikee@gmail.com"},"prettier":{"semi":true,"printWidth":100,"singleQuote":true,"trailingComma":"all"},"_npmVersion":"11.6.2","description":"Unified control plane for physical and virtual devices via an agent-driven CLI.","directories":{},"_nodeVersion":"24.13.0","dependencies":{"@clack/prompts":"^1.0.0"},"_hasShrinkwrap":false,"devDependencies":{"prettier":"^3.3.3","typescript":"^5.9.3","@rslib/core":"0.19.4","@types/node":"^22.0.0"},"_npmOperationalInternal":{"tmp":"tmp/agent-device_0.5.1_1771411566485_0.028411250254894327","host":"s3://npm-registry-packages-npm-production"}},"0.5.2":{"name":"agent-device","version":"0.5.2","keywords":["agent","device","cli","adb","simctl","devicectl","ios","android"],"author":{"name":"Callstack"},"license":"MIT","_id":"agent-device@0.5.2","maintainers":[{"name":"thymikee","email":"thymikee@gmail.com"}],"bin":{"agent-device":"bin/agent-device.mjs"},"dist":{"shasum":"bd3ab9b1d0e74f9f68abbe5dfb1f1a2800cd8213","tarball":"https://registry.npmjs.org/agent-device/-/agent-device-0.5.2.tgz","fileCount":32,"integrity":"sha512-i9tvYHp6RYfIiIY3NCGy43TdCZMyegDjDUUNC99sKuDwz4gH4fhW/lgL2P3OZUwPvFypnABsswjAvCzhPAgSeQ==","signatures":[{"sig":"MEUCICDnLQ1rLeZTIZKYF44mhEP0hP732ZNWOSSoCepQ3ZjUAiEA99HOVMSW6lRpy8vMzVvxt2AJQA4HAlurYbTh/dnYWfE=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":487106},"type":"module","engines":{"node":">=22"},"gitHead":"4c83f5a4454fa53ad6f0aaf29c8582cc25b12f44","scripts":{"ad":"node bin/agent-device.mjs","lint":"node --eval \"console.log('no lint')\"","test":"node --test","build":"rslib build","format":"prettier --write .","prepack":"pnpm build:node","build:all":"pnpm build:node && pnpm build:xcuitest","test:unit":"node --test src/__tests__/*.test.ts src/core/__tests__/*.test.ts src/daemon/__tests__/*.test.ts src/daemon/handlers/__tests__/*.test.ts src/platforms/**/__tests__/*.test.ts src/utils/**/__tests__/*.test.ts","typecheck":"tsc -p tsconfig.json","build:clis":"pnpm build:node","build:node":"pnpm build && pnpm clean:daemon","test:smoke":"node --test test/integration/smoke-*.test.ts","clean:daemon":"rm -f ~/.agent-device/daemon.json && rm -f ~/.agent-device/daemon.lock","build:xcuitest":"AGENT_DEVICE_IOS_CLEAN_DERIVED=1 xcodebuild build-for-testing -project ios-runner/AgentDeviceRunner/AgentDeviceRunner.xcodeproj -scheme AgentDeviceRunner -destination \"generic/platform=iOS Simulator\" -derivedDataPath ~/.agent-device/ios-runner/derived","prepublishOnly":"pnpm build:node","test:integration":"node --test test/integration/*.test.ts"},"_npmUser":{"name":"thymikee","email":"thymikee@gmail.com"},"prettier":{"semi":true,"printWidth":100,"singleQuote":true,"trailingComma":"all"},"_npmVersion":"11.6.2","description":"Unified control plane for physical and virtual devices via an agent-driven CLI.","directories":{},"_nodeVersion":"24.13.0","dependencies":{"@clack/prompts":"^1.0.0"},"_hasShrinkwrap":false,"devDependencies":{"prettier":"^3.3.3","typescript":"^5.9.3","@rslib/core":"0.19.4","@types/node":"^22.0.0"},"_npmOperationalInternal":{"tmp":"tmp/agent-device_0.5.2_1771427701897_0.016073211909889862","host":"s3://npm-registry-packages-npm-production"}},"0.5.3":{"name":"agent-device","version":"0.5.3","keywords":["agent","device","cli","adb","simctl","devicectl","ios","android"],"author":{"name":"Callstack"},"license":"MIT","_id":"agent-device@0.5.3","maintainers":[{"name":"thymikee","email":"thymikee@gmail.com"}],"bin":{"agent-device":"bin/agent-device.mjs"},"dist":{"shasum":"e8383929b264c9f97ed2c10d5e23b4978cee0165","tarball":"https://registry.npmjs.org/agent-device/-/agent-device-0.5.3.tgz","fileCount":32,"integrity":"sha512-Pi/s/B3JyFTqVnXkm/PMTBjmUs6gKXdr/cXu5E3M65+XQsC/yFNBTaP2i0e3VOXj4Jeq1LYepp5B1d940vqqjw==","signatures":[{"sig":"MEUCIBOX08LLqt5f7OzJNo3on9ClsLzc+smw8rDhtH88mDbLAiEAqr67fgf+WAhnrqnW8fe9XpfuZmgadPexwl3zEvjv634=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":497881},"type":"module","engines":{"node":">=22"},"gitHead":"74e375344f8c4a5648ea39c26fb917b18e06a5eb","scripts":{"ad":"node bin/agent-device.mjs","lint":"node --eval \"console.log('no lint')\"","test":"node --test","build":"rslib build","format":"prettier --write .","prepack":"pnpm build:all","build:all":"pnpm build:node && pnpm build:xcuitest","test:unit":"node --test src/__tests__/*.test.ts src/core/__tests__/*.test.ts src/daemon/__tests__/*.test.ts src/daemon/handlers/__tests__/*.test.ts src/platforms/**/__tests__/*.test.ts src/utils/**/__tests__/*.test.ts","typecheck":"tsc -p tsconfig.json","build:node":"pnpm build && pnpm clean:daemon","test:smoke":"node --test test/integration/smoke-*.test.ts","clean:daemon":"rm -f ~/.agent-device/daemon.json && rm -f ~/.agent-device/daemon.lock","build:xcuitest":"AGENT_DEVICE_IOS_CLEAN_DERIVED=1 xcodebuild build-for-testing -project ios-runner/AgentDeviceRunner/AgentDeviceRunner.xcodeproj -scheme AgentDeviceRunner -destination \"generic/platform=iOS Simulator\" -derivedDataPath ~/.agent-device/ios-runner/derived","prepublishOnly":"pnpm build:all","test:integration":"node --test test/integration/*.test.ts"},"_npmUser":{"name":"thymikee","email":"thymikee@gmail.com"},"prettier":{"semi":true,"printWidth":100,"singleQuote":true,"trailingComma":"all"},"_npmVersion":"11.6.2","description":"Unified control plane for physical and virtual devices via an agent-driven CLI.","directories":{},"_nodeVersion":"24.13.0","dependencies":{"@clack/prompts":"^1.0.0"},"_hasShrinkwrap":false,"devDependencies":{"prettier":"^3.3.3","typescript":"^5.9.3","@rslib/core":"0.19.4","@types/node":"^22.0.0"},"_npmOperationalInternal":{"tmp":"tmp/agent-device_0.5.3_1771440498060_0.7459159848388102","host":"s3://npm-registry-packages-npm-production"}},"0.5.4":{"name":"agent-device","version":"0.5.4","keywords":["agent","device","cli","adb","simctl","devicectl","ios","android"],"author":{"name":"Callstack"},"license":"MIT","_id":"agent-device@0.5.4","maintainers":[{"name":"thymikee","email":"thymikee@gmail.com"}],"bin":{"agent-device":"bin/agent-device.mjs"},"dist":{"shasum":"57568ce7b62713b3f294216dc8feee6915bfe326","tarball":"https://registry.npmjs.org/agent-device/-/agent-device-0.5.4.tgz","fileCount":32,"integrity":"sha512-F2NLyJp8AZzsqH+UWi8SyAn5uLdBXijnyk1PY19HN5dE/JaO83PSoMaqjevgeTgZDdP+TOBVZmgzJjfHRrY6ZA==","signatures":[{"sig":"MEUCIAhwO6CMjMTmTSBu19EgoA+TS4wxG9pVWtOBRmc9O+XoAiEAwKACBcqGhn6br8Fprw/QGXLIREER7Q9l4hD83Lxmu+0=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":498189},"type":"module","engines":{"node":">=22"},"gitHead":"254b6203ef803ccdf5810cc59dae8710234ce045","scripts":{"ad":"node bin/agent-device.mjs","lint":"node --eval \"console.log('no lint')\"","test":"node --test","build":"rslib build","format":"prettier --write .","prepack":"pnpm build:all","build:all":"pnpm build:node && pnpm build:xcuitest","test:unit":"node --test src/__tests__/*.test.ts src/core/__tests__/*.test.ts src/daemon/__tests__/*.test.ts src/daemon/handlers/__tests__/*.test.ts src/platforms/**/__tests__/*.test.ts src/utils/**/__tests__/*.test.ts","typecheck":"tsc -p tsconfig.json","build:node":"pnpm build && pnpm clean:daemon","test:smoke":"node --test test/integration/smoke-*.test.ts","clean:daemon":"rm -f ~/.agent-device/daemon.json && rm -f ~/.agent-device/daemon.lock","build:xcuitest":"AGENT_DEVICE_IOS_CLEAN_DERIVED=1 xcodebuild build-for-testing -project ios-runner/AgentDeviceRunner/AgentDeviceRunner.xcodeproj -scheme AgentDeviceRunner -destination \"generic/platform=iOS Simulator\" -derivedDataPath ~/.agent-device/ios-runner/derived","prepublishOnly":"pnpm build:all","test:integration":"node --test test/integration/*.test.ts"},"_npmUser":{"name":"thymikee","email":"thymikee@gmail.com"},"prettier":{"semi":true,"printWidth":100,"singleQuote":true,"trailingComma":"all"},"_npmVersion":"11.6.2","description":"Unified control plane for physical and virtual devices via an agent-driven CLI.","directories":{},"_nodeVersion":"24.13.0","dependencies":{"@clack/prompts":"^1.0.0"},"_hasShrinkwrap":false,"devDependencies":{"prettier":"^3.3.3","typescript":"^5.9.3","@rslib/core":"0.19.4","@types/node":"^22.0.0"},"_npmOperationalInternal":{"tmp":"tmp/agent-device_0.5.4_1771442741698_0.05647439942907839","host":"s3://npm-registry-packages-npm-production"}},"0.5.5":{"name":"agent-device","version":"0.5.5","keywords":["agent","device","cli","adb","simctl","devicectl","ios","android"],"author":{"name":"Callstack"},"license":"MIT","_id":"agent-device@0.5.5","maintainers":[{"name":"thymikee","email":"thymikee@gmail.com"}],"bin":{"agent-device":"bin/agent-device.mjs"},"dist":{"shasum":"61348df5506acf6f2710bf1a3b889f35f19bf339","tarball":"https://registry.npmjs.org/agent-device/-/agent-device-0.5.5.tgz","fileCount":32,"integrity":"sha512-oJ1YEPHY8eKWj+u6nSoOTleW24doYbGNfrkOsrXFy3u3uvFFvPz1mB2WkbhAd6xrpwWXc1jXN54MMKrHt0k/9g==","signatures":[{"sig":"MEQCICbKaAUy8QdaWw1cBBnCKLOHnIM+llUKa+l8gWjDUFHLAiB+APzVB+tYiGW/qcvXvLNdLXEWOS9Ng/ZygM/jml7lZw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":498272},"type":"module","engines":{"node":">=22"},"gitHead":"089cf96fd80a08f91e13cb548fea0086076c0e3d","scripts":{"ad":"node bin/agent-device.mjs","lint":"node --eval \"console.log('no lint')\"","test":"node --test","build":"rslib build","format":"prettier --write .","prepack":"pnpm build:all","build:all":"pnpm build:node && pnpm build:xcuitest","test:unit":"node --test src/__tests__/*.test.ts src/core/__tests__/*.test.ts src/daemon/__tests__/*.test.ts src/daemon/handlers/__tests__/*.test.ts src/platforms/**/__tests__/*.test.ts src/utils/**/__tests__/*.test.ts","typecheck":"tsc -p tsconfig.json","build:node":"pnpm build && pnpm clean:daemon","test:smoke":"node --test test/integration/smoke-*.test.ts","clean:daemon":"rm -f ~/.agent-device/daemon.json && rm -f ~/.agent-device/daemon.lock","build:xcuitest":"AGENT_DEVICE_IOS_CLEAN_DERIVED=1 xcodebuild build-for-testing -project ios-runner/AgentDeviceRunner/AgentDeviceRunner.xcodeproj -scheme AgentDeviceRunner -destination \"generic/platform=iOS Simulator\" -derivedDataPath ~/.agent-device/ios-runner/derived","prepublishOnly":"pnpm build:all","test:integration":"node --test test/integration/*.test.ts"},"_npmUser":{"name":"thymikee","email":"thymikee@gmail.com"},"prettier":{"semi":true,"printWidth":100,"singleQuote":true,"trailingComma":"all"},"_npmVersion":"11.6.2","description":"Unified control plane for physical and virtual devices via an agent-driven CLI.","directories":{},"_nodeVersion":"24.13.0","dependencies":{"@clack/prompts":"^1.0.0"},"_hasShrinkwrap":false,"devDependencies":{"prettier":"^3.3.3","typescript":"^5.9.3","@rslib/core":"0.19.4","@types/node":"^22.0.0"},"_npmOperationalInternal":{"tmp":"tmp/agent-device_0.5.5_1771444312621_0.9880318785111442","host":"s3://npm-registry-packages-npm-production"}},"0.6.0":{"name":"agent-device","version":"0.6.0","keywords":["agent","device","cli","adb","simctl","devicectl","ios","android"],"author":{"name":"Callstack"},"license":"MIT","_id":"agent-device@0.6.0","maintainers":[{"name":"thymikee","email":"thymikee@gmail.com"}],"bin":{"agent-device":"bin/agent-device.mjs"},"dist":{"shasum":"0e6b404787075bc4daff4e920890c5bba5f71de8","tarball":"https://registry.npmjs.org/agent-device/-/agent-device-0.6.0.tgz","fileCount":32,"integrity":"sha512-gfn0kQMWk/r/I1Cq6kTmjmYaqbdP+BShYiPt0s8o/gRpqaGiHMH3R4GQUMBsnA8TTuGrjTPfoM9sQPOL6hUskA==","signatures":[{"sig":"MEQCIAfqy68eO7O0D22VQM+miNHgGU+JV+sdta6U72TceDOiAiAofArUyuFzOtIzfmVHkRuAhEjrLabqb052hju5e9PBgw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":533583},"type":"module","engines":{"node":">=22"},"gitHead":"71df2ffc421ae849348718ecd27dc0499e189ecc","scripts":{"ad":"node bin/agent-device.mjs","lint":"node --eval \"console.log('no lint')\"","test":"node --test","build":"rslib build","format":"prettier --write .","prepack":"pnpm build:all","build:all":"pnpm build:node && pnpm build:xcuitest","test:unit":"node --test src/__tests__/*.test.ts src/core/__tests__/*.test.ts src/daemon/__tests__/*.test.ts src/daemon/handlers/__tests__/*.test.ts src/platforms/**/__tests__/*.test.ts src/utils/**/__tests__/*.test.ts","typecheck":"tsc -p tsconfig.json","build:node":"pnpm build && pnpm clean:daemon","test:smoke":"node --test test/integration/smoke-*.test.ts","clean:daemon":"rm -f ~/.agent-device/daemon.json && rm -f ~/.agent-device/daemon.lock","build:xcuitest":"rm -rf ~/.agent-device/ios-runner/derived/device && xcodebuild build-for-testing -project ios-runner/AgentDeviceRunner/AgentDeviceRunner.xcodeproj -scheme AgentDeviceRunner -destination \"generic/platform=iOS Simulator\" -derivedDataPath ~/.agent-device/ios-runner/derived","prepublishOnly":"pnpm build:all","test:integration":"node --test test/integration/*.test.ts"},"_npmUser":{"name":"thymikee","email":"thymikee@gmail.com"},"prettier":{"semi":true,"printWidth":100,"singleQuote":true,"trailingComma":"all"},"_npmVersion":"11.6.2","description":"Unified control plane for physical and virtual devices via an agent-driven CLI.","directories":{},"_nodeVersion":"24.13.0","dependencies":{"@clack/prompts":"^1.0.0"},"_hasShrinkwrap":false,"devDependencies":{"prettier":"^3.3.3","typescript":"^5.9.3","@rslib/core":"0.19.4","@types/node":"^22.0.0"},"_npmOperationalInternal":{"tmp":"tmp/agent-device_0.6.0_1771614194850_0.499372408125234","host":"s3://npm-registry-packages-npm-production"}},"0.6.1":{"name":"agent-device","version":"0.6.1","keywords":["agent","device","cli","adb","simctl","devicectl","ios","android"],"author":{"name":"Callstack"},"license":"MIT","_id":"agent-device@0.6.1","maintainers":[{"name":"thymikee","email":"thymikee@gmail.com"}],"bin":{"agent-device":"bin/agent-device.mjs"},"dist":{"shasum":"59caf6e2cf1361f332584675ef827237cdca2990","tarball":"https://registry.npmjs.org/agent-device/-/agent-device-0.6.1.tgz","fileCount":33,"integrity":"sha512-ZYYgEh1JL4zfNisoZ+5HMWUVj5YIRVNHCPscJWtV2hlKez7Th/4L0zpAF0FpOWKD4jeQqhGMtWVa7F+CBy3TCw==","signatures":[{"sig":"MEUCIQDEB5Rex+t2sx7hyJY4qZCDKjU7KM8dQpnjB+zKQGkIAgIgVxGEp2vvNYJ+/1BnBAj6PN/xtA+sqOwanCj9yUXaHgQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":542528},"type":"module","engines":{"node":">=22"},"gitHead":"6ab51aebc3f8036d09404eb38412cd13e023ba90","scripts":{"ad":"node bin/agent-device.mjs","lint":"node --eval \"console.log('no lint')\"","test":"node --test","build":"rslib build","format":"prettier --write .","prepack":"pnpm build:all","build:all":"pnpm build:node && pnpm build:xcuitest","test:unit":"node --test src/__tests__/*.test.ts src/core/__tests__/*.test.ts src/daemon/__tests__/*.test.ts src/daemon/handlers/__tests__/*.test.ts src/platforms/**/__tests__/*.test.ts src/utils/**/__tests__/*.test.ts","typecheck":"tsc -p tsconfig.json","build:node":"pnpm build && pnpm clean:daemon","test:smoke":"node --test test/integration/smoke-*.test.ts","clean:daemon":"rm -f ~/.agent-device/daemon.json && rm -f ~/.agent-device/daemon.lock","build:xcuitest":"rm -rf ~/.agent-device/ios-runner/derived/device && xcodebuild build-for-testing -project ios-runner/AgentDeviceRunner/AgentDeviceRunner.xcodeproj -scheme AgentDeviceRunner -destination \"generic/platform=iOS Simulator\" -derivedDataPath ~/.agent-device/ios-runner/derived","prepublishOnly":"pnpm build:all","test:integration":"node --test test/integration/*.test.ts"},"_npmUser":{"name":"thymikee","email":"thymikee@gmail.com"},"prettier":{"semi":true,"printWidth":100,"singleQuote":true,"trailingComma":"all"},"_npmVersion":"11.6.2","description":"Unified control plane for physical and virtual devices via an agent-driven CLI.","directories":{},"_nodeVersion":"24.13.0","dependencies":{"@clack/prompts":"^1.0.0"},"_hasShrinkwrap":false,"devDependencies":{"prettier":"^3.3.3","typescript":"^5.9.3","@rslib/core":"0.19.4","@types/node":"^22.0.0"},"_npmOperationalInternal":{"tmp":"tmp/agent-device_0.6.1_1771774688397_0.3666559187453935","host":"s3://npm-registry-packages-npm-production"}},"0.6.2":{"name":"agent-device","version":"0.6.2","keywords":["agent","device","cli","adb","simctl","devicectl","ios","android"],"author":{"name":"Callstack"},"license":"MIT","_id":"agent-device@0.6.2","maintainers":[{"name":"thymikee","email":"thymikee@gmail.com"}],"bin":{"agent-device":"bin/agent-device.mjs"},"dist":{"shasum":"a5a866b22b8e0af79336ee7da792a0cba88d5706","tarball":"https://registry.npmjs.org/agent-device/-/agent-device-0.6.2.tgz","fileCount":33,"integrity":"sha512-Ntf5uRF4qoPlwtEKr/jdJVY8afcIwIVhsnAuFfW0op04NWzli9q84oLUu7vjRENsj6OH0kIE6FGSX/88IcDqxA==","signatures":[{"sig":"MEQCIC1mFvEnNKDR08H3MIynJevzkcsq1LwCrEynO5wPfmY+AiBAQE13Pcg2g+iFVdJ1EvzUPbzs6rT72GHeIpg5x6HNwg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":556061},"type":"module","engines":{"node":">=22"},"gitHead":"ea7d60a0a44c21001bbda4844ed6f7bce34d4ca9","scripts":{"ad":"node bin/agent-device.mjs","lint":"node --eval \"console.log('no lint')\"","test":"node --test","build":"rslib build","format":"prettier --write .","prepack":"pnpm build:all","build:all":"pnpm build:node && pnpm build:xcuitest","test:unit":"node --test src/__tests__/*.test.ts src/core/__tests__/*.test.ts src/daemon/__tests__/*.test.ts src/daemon/handlers/__tests__/*.test.ts src/platforms/**/__tests__/*.test.ts src/utils/**/__tests__/*.test.ts","typecheck":"tsc -p tsconfig.json","build:node":"pnpm build && pnpm clean:daemon","test:smoke":"node --test test/integration/smoke-*.test.ts","clean:daemon":"rm -f ~/.agent-device/daemon.json && rm -f ~/.agent-device/daemon.lock","build:xcuitest":"rm -rf ~/.agent-device/ios-runner/derived/device && xcodebuild build-for-testing -project ios-runner/AgentDeviceRunner/AgentDeviceRunner.xcodeproj -scheme AgentDeviceRunner -destination \"generic/platform=iOS Simulator\" -derivedDataPath ~/.agent-device/ios-runner/derived","prepublishOnly":"pnpm build:all","test:integration":"node --test test/integration/*.test.ts"},"_npmUser":{"name":"thymikee","email":"thymikee@gmail.com"},"prettier":{"semi":true,"printWidth":100,"singleQuote":true,"trailingComma":"all"},"_npmVersion":"11.6.2","description":"Unified control plane for physical and virtual devices via an agent-driven CLI.","directories":{},"_nodeVersion":"24.13.0","dependencies":{"@clack/prompts":"^1.0.0"},"_hasShrinkwrap":false,"devDependencies":{"prettier":"^3.3.3","typescript":"^5.9.3","@rslib/core":"0.19.4","@types/node":"^22.0.0"},"_npmOperationalInternal":{"tmp":"tmp/agent-device_0.6.2_1771948672280_0.6189486929599983","host":"s3://npm-registry-packages-npm-production"}},"0.6.3":{"name":"agent-device","version":"0.6.3","keywords":["agent","device","cli","adb","simctl","devicectl","ios","android"],"author":{"name":"Callstack"},"license":"MIT","_id":"agent-device@0.6.3","maintainers":[{"name":"thymikee","email":"thymikee@gmail.com"}],"bin":{"agent-device":"bin/agent-device.mjs"},"dist":{"shasum":"2c989a94ec3fc96721fb09560dcc104f2233e6c9","tarball":"https://registry.npmjs.org/agent-device/-/agent-device-0.6.3.tgz","fileCount":33,"integrity":"sha512-XstRYciwwIURpB4bGMSJEkA/RHdBtbj6/euup7pBvlpKoJKt7GdQZ30MAB2xbD85eurp6w4/LMBXbEoPvJg06g==","signatures":[{"sig":"MEUCICpCqlFGj93G/I1okO47u9mWBjnThpe03KDmHOpc1cuvAiEA5RxTrT1zWy3YIWs4N/5WPVV7pDu2DVqccxCvUY8/hW0=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":563151},"type":"module","engines":{"node":">=22"},"gitHead":"0b9ab86fc5c1c91853637489f793ac754d7527c1","scripts":{"ad":"node bin/agent-device.mjs","lint":"node --eval \"console.log('no lint')\"","test":"node --test","build":"rslib build","format":"prettier --write .","prepack":"pnpm build:all","build:all":"pnpm build:node && pnpm build:xcuitest","test:unit":"node --test src/__tests__/*.test.ts src/core/__tests__/*.test.ts src/daemon/__tests__/*.test.ts src/daemon/handlers/__tests__/*.test.ts src/platforms/**/__tests__/*.test.ts src/utils/**/__tests__/*.test.ts","typecheck":"tsc -p tsconfig.json","build:node":"pnpm build && pnpm clean:daemon","test:smoke":"node --test test/integration/smoke-*.test.ts","clean:daemon":"rm -f ~/.agent-device/daemon.json && rm -f ~/.agent-device/daemon.lock","build:xcuitest":"rm -rf ~/.agent-device/ios-runner/derived/device && xcodebuild build-for-testing -project ios-runner/AgentDeviceRunner/AgentDeviceRunner.xcodeproj -scheme AgentDeviceRunner -destination \"generic/platform=iOS Simulator\" -derivedDataPath ~/.agent-device/ios-runner/derived","prepublishOnly":"pnpm build:all","test:integration":"node --test test/integration/*.test.ts"},"_npmUser":{"name":"thymikee","email":"thymikee@gmail.com"},"prettier":{"semi":true,"printWidth":100,"singleQuote":true,"trailingComma":"all"},"_npmVersion":"11.6.2","description":"Unified control plane for physical and virtual devices via an agent-driven CLI.","directories":{},"_nodeVersion":"24.13.0","dependencies":{"@clack/prompts":"^1.0.0"},"_hasShrinkwrap":false,"devDependencies":{"prettier":"^3.3.3","typescript":"^5.9.3","@rslib/core":"0.19.4","@types/node":"^22.0.0"},"_npmOperationalInternal":{"tmp":"tmp/agent-device_0.6.3_1771951016335_0.6410988718870199","host":"s3://npm-registry-packages-npm-production"}},"0.7.0":{"name":"agent-device","version":"0.7.0","keywords":["agent","device","cli","adb","simctl","devicectl","ios","android"],"author":{"name":"Callstack"},"license":"MIT","_id":"agent-device@0.7.0","maintainers":[{"name":"thymikee","email":"thymikee@gmail.com"}],"bin":{"agent-device":"bin/agent-device.mjs"},"dist":{"shasum":"a837468d614b5f9d0359905cca35e4558002738a","tarball":"https://registry.npmjs.org/agent-device/-/agent-device-0.7.0.tgz","fileCount":37,"integrity":"sha512-8MTtWQFLcvNFdEjrf1PWfxnTVsGB9xJDYes8ek92pLe0XjHSTFKJgCa5FuOuteiBuLP3tytJSI04iWvIIEcZNw==","signatures":[{"sig":"MEUCIAV8RQRsuW4rasY6vNFldYtSZjlAFdtjHf2bZ1qxVkVPAiEA7DONZldiL27kyQQxM8eIe15IW+vg8Dm1MbUAU2hHA0M=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":600084},"type":"module","engines":{"node":">=22"},"gitHead":"18364bd04a3af770d87c2fd5a204f83bac7989b5","scripts":{"ad":"node bin/agent-device.mjs","lint":"node --eval \"console.log('no lint')\"","test":"node --test","build":"rslib build","format":"prettier --write .","prepack":"pnpm build:all","build:all":"pnpm build:node && pnpm build:xcuitest","test:unit":"node --test src/__tests__/*.test.ts src/core/__tests__/*.test.ts src/daemon/__tests__/*.test.ts src/daemon/handlers/__tests__/*.test.ts src/platforms/**/__tests__/*.test.ts src/utils/**/__tests__/*.test.ts","typecheck":"tsc -p tsconfig.json","build:node":"pnpm build && pnpm clean:daemon","test:smoke":"node --test test/integration/smoke-*.test.ts","clean:daemon":"rm -f ~/.agent-device/daemon.json && rm -f ~/.agent-device/daemon.lock","build:xcuitest":"pnpm build:xcuitest:ios","prepublishOnly":"pnpm build:all","test:integration":"node --test test/integration/*.test.ts","build:xcuitest:ios":"rm -rf ~/.agent-device/ios-runner/derived/device && xcodebuild build-for-testing -project ios-runner/AgentDeviceRunner/AgentDeviceRunner.xcodeproj -scheme AgentDeviceRunner -destination \"generic/platform=iOS Simulator\" -derivedDataPath ~/.agent-device/ios-runner/derived","build:xcuitest:tvos":"rm -rf ~/.agent-device/ios-runner/derived/tvos && xcodebuild build-for-testing -project ios-runner/AgentDeviceRunner/AgentDeviceRunner.xcodeproj -scheme AgentDeviceRunner -destination \"generic/platform=tvOS Simulator\" -derivedDataPath ~/.agent-device/ios-runner/derived/tvos"},"_npmUser":{"name":"thymikee","email":"thymikee@gmail.com"},"prettier":{"semi":true,"printWidth":100,"singleQuote":true,"trailingComma":"all"},"_npmVersion":"11.6.2","description":"Unified control plane for physical and virtual devices via an agent-driven CLI.","directories":{},"_nodeVersion":"24.13.0","dependencies":{"@clack/prompts":"^1.0.0"},"_hasShrinkwrap":false,"devDependencies":{"prettier":"^3.3.3","typescript":"^5.9.3","@rslib/core":"0.19.4","@types/node":"^22.0.0"},"_npmOperationalInternal":{"tmp":"tmp/agent-device_0.7.0_1772033367326_0.4731758017171668","host":"s3://npm-registry-packages-npm-production"}},"0.7.1":{"name":"agent-device","version":"0.7.1","keywords":["agent","device","cli","adb","simctl","devicectl","ios","android"],"author":{"name":"Callstack"},"license":"MIT","_id":"agent-device@0.7.1","maintainers":[{"name":"thymikee","email":"thymikee@gmail.com"}],"bin":{"agent-device":"bin/agent-device.mjs"},"dist":{"shasum":"9c6abf339341784662f3a9fc11be4e4c93d1dd69","tarball":"https://registry.npmjs.org/agent-device/-/agent-device-0.7.1.tgz","fileCount":37,"integrity":"sha512-RW5v/bnkZVJbiiX3cOK8/mD1r/B5Uds43TCFz7hEvT4+hUXTi1iNqIoOARDdMgTn39kxy97eo5x2nwuuAyk6wA==","signatures":[{"sig":"MEYCIQCpcUHAXcbrdIJ4hn0FWD8UjGjPYKrQCUga7mFAw1+v1wIhAKjI3dcVPDstWcJ6KQTePDOfMQ9YD4ZVT2cVvv+0YmSN","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":623128},"type":"module","engines":{"node":">=22"},"gitHead":"2e0f5da4b9d5735a6e8e410dc5436457ca9a727a","scripts":{"ad":"node bin/agent-device.mjs","lint":"node --eval \"console.log('no lint')\"","test":"node --test","build":"rslib build","format":"prettier --write .","prepack":"pnpm build:all","build:all":"pnpm build:node && pnpm build:xcuitest","test:unit":"node --test src/__tests__/*.test.ts src/core/__tests__/*.test.ts src/daemon/__tests__/*.test.ts src/daemon/handlers/__tests__/*.test.ts src/platforms/**/__tests__/*.test.ts src/utils/**/__tests__/*.test.ts","typecheck":"tsc -p tsconfig.json","build:node":"pnpm build && pnpm clean:daemon","test:smoke":"node --test test/integration/smoke-*.test.ts","clean:daemon":"rm -f ~/.agent-device/daemon.json && rm -f ~/.agent-device/daemon.lock","build:xcuitest":"pnpm build:xcuitest:ios","prepublishOnly":"pnpm build:all","test:integration":"node --test test/integration/*.test.ts","build:xcuitest:ios":"rm -rf ~/.agent-device/ios-runner/derived/device && xcodebuild build-for-testing -project ios-runner/AgentDeviceRunner/AgentDeviceRunner.xcodeproj -scheme AgentDeviceRunner -destination \"generic/platform=iOS Simulator\" -derivedDataPath ~/.agent-device/ios-runner/derived","build:xcuitest:tvos":"rm -rf ~/.agent-device/ios-runner/derived/tvos && xcodebuild build-for-testing -project ios-runner/AgentDeviceRunner/AgentDeviceRunner.xcodeproj -scheme AgentDeviceRunner -destination \"generic/platform=tvOS Simulator\" -derivedDataPath ~/.agent-device/ios-runner/derived/tvos"},"_npmUser":{"name":"thymikee","email":"thymikee@gmail.com"},"prettier":{"semi":true,"printWidth":100,"singleQuote":true,"trailingComma":"all"},"_npmVersion":"11.6.2","description":"Unified control plane for physical and virtual devices via an agent-driven CLI.","directories":{},"_nodeVersion":"24.13.0","dependencies":{"@clack/prompts":"^1.0.0"},"_hasShrinkwrap":false,"devDependencies":{"prettier":"^3.3.3","typescript":"^5.9.3","@rslib/core":"0.19.4","@types/node":"^22.0.0"},"_npmOperationalInternal":{"tmp":"tmp/agent-device_0.7.1_1772040366982_0.07678515019873511","host":"s3://npm-registry-packages-npm-production"}},"0.7.2":{"name":"agent-device","version":"0.7.2","keywords":["agent","device","cli","adb","simctl","devicectl","ios","android"],"author":{"name":"Callstack"},"license":"MIT","_id":"agent-device@0.7.2","maintainers":[{"name":"thymikee","email":"thymikee@gmail.com"}],"bin":{"agent-device":"bin/agent-device.mjs"},"dist":{"shasum":"b8638d4af104882f57f718021bc5672a97eebbfe","tarball":"https://registry.npmjs.org/agent-device/-/agent-device-0.7.2.tgz","fileCount":38,"integrity":"sha512-7/ws7o3myp4Rd0loGazz3xOp1gv+PbfaOlOMQVXWjZHdQNJUSDTRGMZ9jILrWuv/+tD/OC256xG8jPhFvG1OWg==","signatures":[{"sig":"MEQCIB7zLLIqXslAlK7tCxPlwmjpWuUdEOXjUEjKiR5okmmiAiBJoiWei2ycpnSoSVpkTXDLfDLmsdu4d9WbIvJTTfGPUw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":642330},"type":"module","engines":{"node":">=22"},"gitHead":"3c6be3c715e9c7c01a925e928d81126fdc775e62","scripts":{"ad":"node bin/agent-device.mjs","lint":"node --eval \"console.log('no lint')\"","test":"node --test","build":"rslib build","format":"prettier --write .","prepack":"pnpm build:all","build:all":"pnpm build:node && pnpm build:xcuitest","test:unit":"node --test src/__tests__/*.test.ts src/core/__tests__/*.test.ts src/daemon/__tests__/*.test.ts src/daemon/handlers/__tests__/*.test.ts src/platforms/**/__tests__/*.test.ts src/utils/**/__tests__/*.test.ts","typecheck":"tsc -p tsconfig.json","build:node":"pnpm build && pnpm clean:daemon","test:smoke":"node --test test/integration/smoke-*.test.ts","clean:daemon":"rm -f ~/.agent-device/daemon.json && rm -f ~/.agent-device/daemon.lock","build:xcuitest":"pnpm build:xcuitest:ios","prepublishOnly":"pnpm build:all","test:integration":"node --test test/integration/*.test.ts","build:xcuitest:ios":"rm -rf ~/.agent-device/ios-runner/derived/device && xcodebuild build-for-testing -project ios-runner/AgentDeviceRunner/AgentDeviceRunner.xcodeproj -scheme AgentDeviceRunner -destination \"generic/platform=iOS Simulator\" -derivedDataPath ~/.agent-device/ios-runner/derived","build:xcuitest:tvos":"rm -rf ~/.agent-device/ios-runner/derived/tvos && xcodebuild build-for-testing -project ios-runner/AgentDeviceRunner/AgentDeviceRunner.xcodeproj -scheme AgentDeviceRunner -destination \"generic/platform=tvOS Simulator\" -derivedDataPath ~/.agent-device/ios-runner/derived/tvos"},"_npmUser":{"name":"thymikee","email":"thymikee@gmail.com"},"prettier":{"semi":true,"printWidth":100,"singleQuote":true,"trailingComma":"all"},"_npmVersion":"11.6.2","description":"Unified control plane for physical and virtual devices via an agent-driven CLI.","directories":{},"_nodeVersion":"24.13.0","dependencies":{"@clack/prompts":"^1.0.0"},"_hasShrinkwrap":false,"devDependencies":{"prettier":"^3.3.3","typescript":"^5.9.3","@rslib/core":"0.19.4","@types/node":"^22.0.0"},"_npmOperationalInternal":{"tmp":"tmp/agent-device_0.7.2_1772099504912_0.9017313659054609","host":"s3://npm-registry-packages-npm-production"}},"0.7.3":{"name":"agent-device","version":"0.7.3","keywords":["agent","device","cli","adb","simctl","devicectl","ios","android"],"author":{"name":"Callstack"},"license":"MIT","_id":"agent-device@0.7.3","maintainers":[{"name":"thymikee","email":"thymikee@gmail.com"}],"bin":{"agent-device":"bin/agent-device.mjs"},"dist":{"shasum":"9f9b8a1969e41fed733ef44ba2ff12e2a8a9b593","tarball":"https://registry.npmjs.org/agent-device/-/agent-device-0.7.3.tgz","fileCount":38,"integrity":"sha512-VIXEB7Gozqq1ecWKKBN1shmPh3m7PS9n0cnV3VWW687tAp7JdNBRfQSuupkzkJ28sCTf66BYVPjsCCNoahwe3w==","signatures":[{"sig":"MEYCIQDm82Wk8hARUHCLBJB0xCDNQs7wG1q3qcWqbZivPJiOGwIhAOSpaPrWWkgxMSLMwUIlVWDi1YT+95A2pvgcovXKW8ZN","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":645610},"type":"module","engines":{"node":">=22"},"gitHead":"ed5dd7bc28f261f8e1f0063dff0ac7750915249f","scripts":{"ad":"node bin/agent-device.mjs","lint":"node --eval \"console.log('no lint')\"","test":"node --test","build":"rslib build","format":"prettier --write .","prepack":"pnpm build:all","build:all":"pnpm build:node && pnpm build:xcuitest","test:unit":"node --test src/__tests__/*.test.ts src/core/__tests__/*.test.ts src/daemon/__tests__/*.test.ts src/daemon/handlers/__tests__/*.test.ts src/platforms/**/__tests__/*.test.ts src/utils/**/__tests__/*.test.ts","typecheck":"tsc -p tsconfig.json","build:node":"pnpm build && pnpm clean:daemon","test:smoke":"node --test test/integration/smoke-*.test.ts","clean:daemon":"rm -f ~/.agent-device/daemon.json && rm -f ~/.agent-device/daemon.lock","build:xcuitest":"pnpm build:xcuitest:ios","prepublishOnly":"pnpm build:all","test:integration":"node --test test/integration/*.test.ts","build:xcuitest:ios":"rm -rf ~/.agent-device/ios-runner/derived/device && xcodebuild build-for-testing -project ios-runner/AgentDeviceRunner/AgentDeviceRunner.xcodeproj -scheme AgentDeviceRunner -destination \"generic/platform=iOS Simulator\" -derivedDataPath ~/.agent-device/ios-runner/derived","build:xcuitest:tvos":"rm -rf ~/.agent-device/ios-runner/derived/tvos && xcodebuild build-for-testing -project ios-runner/AgentDeviceRunner/AgentDeviceRunner.xcodeproj -scheme AgentDeviceRunner -destination \"generic/platform=tvOS Simulator\" -derivedDataPath ~/.agent-device/ios-runner/derived/tvos"},"_npmUser":{"name":"thymikee","email":"thymikee@gmail.com"},"prettier":{"semi":true,"printWidth":100,"singleQuote":true,"trailingComma":"all"},"_npmVersion":"11.6.2","description":"Unified control plane for physical and virtual devices via an agent-driven CLI.","directories":{},"_nodeVersion":"24.13.0","dependencies":{"@clack/prompts":"^1.0.0"},"_hasShrinkwrap":false,"devDependencies":{"prettier":"^3.3.3","typescript":"^5.9.3","@rslib/core":"0.19.4","@types/node":"^22.0.0"},"_npmOperationalInternal":{"tmp":"tmp/agent-device_0.7.3_1772102959826_0.019024864763060867","host":"s3://npm-registry-packages-npm-production"}},"0.7.4":{"name":"agent-device","version":"0.7.4","keywords":["agent","device","cli","adb","simctl","devicectl","ios","android"],"author":{"name":"Callstack"},"license":"MIT","_id":"agent-device@0.7.4","maintainers":[{"name":"thymikee","email":"thymikee@gmail.com"}],"bin":{"agent-device":"bin/agent-device.mjs"},"dist":{"shasum":"397bfb0fd309659b13a3612876f2ccc123c93d7f","tarball":"https://registry.npmjs.org/agent-device/-/agent-device-0.7.4.tgz","fileCount":38,"integrity":"sha512-C93werz+BAQlJlTdakEKoZKfvSE0M++6X0iP/df8nL3Vv5lKWqL3Te1EQw+mJpm2PUvMf6UxaS4hLbMBz8yJ3A==","signatures":[{"sig":"MEUCIQDO6r01KFIsUbgyOupRVCqZY2wnInt0TFkFHgBV6S9O8wIgePtOQcO0QTfX1g5xHak0X3lvvoQHL8IZXhMO8xC5q+4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":647329},"type":"module","engines":{"node":">=22"},"gitHead":"e248bf38c0cbe798ea9c71f13457fbd7d047f9d1","scripts":{"ad":"node bin/agent-device.mjs","lint":"node --eval \"console.log('no lint')\"","test":"node --test","build":"rslib build","format":"prettier --write .","prepack":"pnpm build:all","build:all":"pnpm build:node && pnpm build:xcuitest","test:unit":"node --test src/__tests__/*.test.ts src/core/__tests__/*.test.ts src/daemon/__tests__/*.test.ts src/daemon/handlers/__tests__/*.test.ts src/platforms/**/__tests__/*.test.ts src/utils/**/__tests__/*.test.ts","typecheck":"tsc -p tsconfig.json","build:node":"pnpm build && pnpm clean:daemon","test:smoke":"node --test test/integration/smoke-*.test.ts","clean:daemon":"rm -f ~/.agent-device/daemon.json && rm -f ~/.agent-device/daemon.lock","build:xcuitest":"pnpm build:xcuitest:ios","prepublishOnly":"pnpm build:all","test:integration":"node --test test/integration/*.test.ts","build:xcuitest:ios":"rm -rf ~/.agent-device/ios-runner/derived/device && xcodebuild build-for-testing -project ios-runner/AgentDeviceRunner/AgentDeviceRunner.xcodeproj -scheme AgentDeviceRunner -destination \"generic/platform=iOS Simulator\" -derivedDataPath ~/.agent-device/ios-runner/derived","build:xcuitest:tvos":"rm -rf ~/.agent-device/ios-runner/derived/tvos && xcodebuild build-for-testing -project ios-runner/AgentDeviceRunner/AgentDeviceRunner.xcodeproj -scheme AgentDeviceRunner -destination \"generic/platform=tvOS Simulator\" -derivedDataPath ~/.agent-device/ios-runner/derived/tvos"},"_npmUser":{"name":"thymikee","email":"thymikee@gmail.com"},"prettier":{"semi":true,"printWidth":100,"singleQuote":true,"trailingComma":"all"},"_npmVersion":"11.6.2","description":"Unified control plane for physical and virtual devices via an agent-driven CLI.","directories":{},"_nodeVersion":"24.13.0","dependencies":{"@clack/prompts":"^1.0.0"},"_hasShrinkwrap":false,"devDependencies":{"prettier":"^3.3.3","typescript":"^5.9.3","@rslib/core":"0.19.4","@types/node":"^22.0.0"},"_npmOperationalInternal":{"tmp":"tmp/agent-device_0.7.4_1772120550680_0.8928258934335154","host":"s3://npm-registry-packages-npm-production"}},"0.7.5":{"name":"agent-device","version":"0.7.5","keywords":["agent","device","cli","adb","simctl","devicectl","ios","android"],"author":{"name":"Callstack"},"license":"MIT","_id":"agent-device@0.7.5","maintainers":[{"name":"thymikee","email":"thymikee@gmail.com"}],"bin":{"agent-device":"bin/agent-device.mjs"},"dist":{"shasum":"34b2e1a243e75b32732327997e99a3324df0338f","tarball":"https://registry.npmjs.org/agent-device/-/agent-device-0.7.5.tgz","fileCount":47,"integrity":"sha512-OyvrHpePF9oB8mmadIQ+i/fWihzy+4jcaU/omqZO58vTVCRyl+G7eOPAVuDgd+kQ7ieqKRS2CP/YriuIiE+vZw==","signatures":[{"sig":"MEUCIQDGda+sHwwmCVc+ju9GP1GuNMqwlSkJ5vh3dGyfh7MFywIgIuQSgS7siiLQb844G3rV3RGTyIjqZOEURfwlDKnqKLw=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":649758},"type":"module","engines":{"node":">=22"},"gitHead":"e44eeab9761d4b80714db0809c90e426d5f776c8","scripts":{"ad":"node bin/agent-device.mjs","lint":"node --eval \"console.log('no lint')\"","test":"node --test","build":"rslib build","format":"prettier --write .","prepack":"pnpm build:all","build:all":"pnpm build:node && pnpm build:xcuitest","test:unit":"node --test src/__tests__/*.test.ts src/core/__tests__/*.test.ts src/daemon/__tests__/*.test.ts src/daemon/handlers/__tests__/*.test.ts src/platforms/**/__tests__/*.test.ts src/utils/**/__tests__/*.test.ts","typecheck":"tsc -p tsconfig.json","build:node":"pnpm build && pnpm clean:daemon","test:smoke":"node --test test/integration/smoke-*.test.ts","clean:daemon":"rm -f ~/.agent-device/daemon.json && rm -f ~/.agent-device/daemon.lock","build:xcuitest":"pnpm build:xcuitest:ios","prepublishOnly":"pnpm build:all","test:integration":"node --test test/integration/*.test.ts","build:xcuitest:ios":"rm -rf ~/.agent-device/ios-runner/derived/device && xcodebuild build-for-testing -project ios-runner/AgentDeviceRunner/AgentDeviceRunner.xcodeproj -scheme AgentDeviceRunner -destination \"generic/platform=iOS Simulator\" -derivedDataPath ~/.agent-device/ios-runner/derived","build:xcuitest:tvos":"rm -rf ~/.agent-device/ios-runner/derived/tvos && xcodebuild build-for-testing -project ios-runner/AgentDeviceRunner/AgentDeviceRunner.xcodeproj -scheme AgentDeviceRunner -destination \"generic/platform=tvOS Simulator\" -derivedDataPath ~/.agent-device/ios-runner/derived/tvos"},"_npmUser":{"name":"thymikee","email":"thymikee@gmail.com"},"prettier":{"semi":true,"printWidth":100,"singleQuote":true,"trailingComma":"all"},"_npmVersion":"11.6.2","description":"Unified control plane for physical and virtual devices via an agent-driven CLI.","directories":{},"_nodeVersion":"24.13.0","dependencies":{"@clack/prompts":"^1.0.0"},"_hasShrinkwrap":false,"devDependencies":{"prettier":"^3.3.3","typescript":"^5.9.3","@rslib/core":"0.19.4","@types/node":"^22.0.0"},"_npmOperationalInternal":{"tmp":"tmp/agent-device_0.7.5_1772284557700_0.6566039376007853","host":"s3://npm-registry-packages-npm-production"}},"0.7.6":{"name":"agent-device","version":"0.7.6","keywords":["agent","device","cli","adb","simctl","devicectl","ios","android"],"author":{"name":"Callstack"},"license":"MIT","_id":"agent-device@0.7.6","maintainers":[{"name":"thymikee","email":"thymikee@gmail.com"}],"bin":{"agent-device":"bin/agent-device.mjs"},"dist":{"shasum":"f458d3e585ec71e0157e54a9657ace1e7703a71c","tarball":"https://registry.npmjs.org/agent-device/-/agent-device-0.7.6.tgz","fileCount":47,"integrity":"sha512-ECNmJM4bTCrRGOJnUH/yXp94u9VuLXckgEmAQzTwX3FxkFliBqrfRkg5JfpJgdNPf5JZm2c8PrW6Zp4oYuJSag==","signatures":[{"sig":"MEQCIAmim6OidvTPPW5xo3P/Rnvx3XIWzyUJ3pAzR+0wAZelAiA7CGMewIHPDZ8plku3fED0ijtqYo9I7QPC0Y3ikN9AUw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":656907},"type":"module","engines":{"node":">=22"},"gitHead":"674a221865966a5e16c639e45fa11f0f3ffd883a","scripts":{"ad":"node bin/agent-device.mjs","lint":"node --eval \"console.log('no lint')\"","test":"node --test","build":"rslib build","format":"prettier --write .","prepack":"pnpm build:all","build:all":"pnpm build:node && pnpm build:xcuitest","test:unit":"node --test src/__tests__/*.test.ts src/core/__tests__/*.test.ts src/daemon/__tests__/*.test.ts src/daemon/handlers/__tests__/*.test.ts src/platforms/**/__tests__/*.test.ts src/utils/**/__tests__/*.test.ts","typecheck":"tsc -p tsconfig.json","build:node":"pnpm build && pnpm clean:daemon","test:smoke":"node --test test/integration/smoke-*.test.ts","clean:daemon":"rm -f ~/.agent-device/daemon.json && rm -f ~/.agent-device/daemon.lock","build:xcuitest":"pnpm build:xcuitest:ios","prepublishOnly":"pnpm build:all","test:integration":"node --test test/integration/*.test.ts","build:xcuitest:ios":"rm -rf ~/.agent-device/ios-runner/derived/device && xcodebuild build-for-testing -project ios-runner/AgentDeviceRunner/AgentDeviceRunner.xcodeproj -scheme AgentDeviceRunner -destination \"generic/platform=iOS Simulator\" -derivedDataPath ~/.agent-device/ios-runner/derived","build:xcuitest:tvos":"rm -rf ~/.agent-device/ios-runner/derived/tvos && xcodebuild build-for-testing -project ios-runner/AgentDeviceRunner/AgentDeviceRunner.xcodeproj -scheme AgentDeviceRunner -destination \"generic/platform=tvOS Simulator\" -derivedDataPath ~/.agent-device/ios-runner/derived/tvos"},"_npmUser":{"name":"thymikee","email":"thymikee@gmail.com"},"prettier":{"semi":true,"printWidth":100,"singleQuote":true,"trailingComma":"all"},"_npmVersion":"11.6.2","description":"Unified control plane for physical and virtual devices via an agent-driven CLI.","directories":{},"_nodeVersion":"24.13.0","dependencies":{"@clack/prompts":"^1.0.0"},"_hasShrinkwrap":false,"devDependencies":{"prettier":"^3.3.3","typescript":"^5.9.3","@rslib/core":"0.19.4","@types/node":"^22.0.0"},"_npmOperationalInternal":{"tmp":"tmp/agent-device_0.7.6_1772543725806_0.7050479825666986","host":"s3://npm-registry-packages-npm-production"}},"0.7.9":{"name":"agent-device","version":"0.7.9","keywords":["agent","device","cli","adb","simctl","devicectl","ios","android"],"author":{"name":"Callstack"},"license":"MIT","_id":"agent-device@0.7.9","maintainers":[{"name":"thymikee","email":"thymikee@gmail.com"}],"bin":{"agent-device":"bin/agent-device.mjs"},"dist":{"shasum":"79d82b4289836c3c754dfc0c5fbc5606723a3217","tarball":"https://registry.npmjs.org/agent-device/-/agent-device-0.7.9.tgz","fileCount":47,"integrity":"sha512-YuZ349U8dHrD7heqbMMT7ZNqnPFIOtz/sOafQWMsZOaN2IRhOiraaBTKHeaYWhjgLNzrHtJl4qZ2qFJJ6M8Ajg==","signatures":[{"sig":"MEUCIBlPySkPedFXmoL1Bno7PKma54O+OS7STpPn4AzlmgvMAiEAtk7InVkb7rfhHhAoyT5W1DC7rMxsBtBmmJ17OS5/QYQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":674336},"type":"module","engines":{"node":">=22"},"gitHead":"151f36bf34d1e030e2f25388fde105d200b1086f","scripts":{"ad":"node bin/agent-device.mjs","lint":"node --eval \"console.log('no lint')\"","test":"node --test","build":"rslib build","format":"prettier --write .","prepack":"pnpm build:all","build:all":"pnpm build:node && pnpm build:xcuitest","test:unit":"node --test src/__tests__/*.test.ts src/core/__tests__/*.test.ts src/daemon/__tests__/*.test.ts src/daemon/handlers/__tests__/*.test.ts src/platforms/**/__tests__/*.test.ts src/utils/**/__tests__/*.test.ts","typecheck":"tsc -p tsconfig.json","build:node":"pnpm build && pnpm clean:daemon","test:smoke":"node --test test/integration/smoke-*.test.ts","clean:daemon":"rm -f ~/.agent-device/daemon.json && rm -f ~/.agent-device/daemon.lock","build:xcuitest":"pnpm build:xcuitest:ios","prepublishOnly":"pnpm build:all","test:integration":"node --test test/integration/*.test.ts","build:xcuitest:ios":"rm -rf ~/.agent-device/ios-runner/derived/device && xcodebuild build-for-testing -project ios-runner/AgentDeviceRunner/AgentDeviceRunner.xcodeproj -scheme AgentDeviceRunner -destination \"generic/platform=iOS Simulator\" -derivedDataPath ~/.agent-device/ios-runner/derived","build:xcuitest:tvos":"rm -rf ~/.agent-device/ios-runner/derived/tvos && xcodebuild build-for-testing -project ios-runner/AgentDeviceRunner/AgentDeviceRunner.xcodeproj -scheme AgentDeviceRunner -destination \"generic/platform=tvOS Simulator\" -derivedDataPath ~/.agent-device/ios-runner/derived/tvos"},"_npmUser":{"name":"thymikee","email":"thymikee@gmail.com"},"prettier":{"semi":true,"printWidth":100,"singleQuote":true,"trailingComma":"all"},"_npmVersion":"11.6.2","description":"Unified control plane for physical and virtual devices via an agent-driven CLI.","directories":{},"_nodeVersion":"24.13.0","dependencies":{"@clack/prompts":"^1.0.0"},"_hasShrinkwrap":false,"devDependencies":{"prettier":"^3.3.3","typescript":"^5.9.3","@rslib/core":"0.19.4","@types/node":"^22.0.0"},"_npmOperationalInternal":{"tmp":"tmp/agent-device_0.7.9_1772808401234_0.9361243465881739","host":"s3://npm-registry-packages-npm-production"}},"0.7.10":{"name":"agent-device","version":"0.7.10","keywords":["agent","device","cli","adb","simctl","devicectl","ios","android"],"author":{"name":"Callstack"},"license":"MIT","_id":"agent-device@0.7.10","maintainers":[{"name":"thymikee","email":"thymikee@gmail.com"}],"bin":{"agent-device":"bin/agent-device.mjs"},"dist":{"shasum":"312968b592c8b6b6bacbd761660a3753070f93bc","tarball":"https://registry.npmjs.org/agent-device/-/agent-device-0.7.10.tgz","fileCount":47,"integrity":"sha512-0kTg8GuHDkHnd5p/QeI8B4ekg/q5oCq8soVKVyH+S8IfhIprlhGrNRUCiw4+y6/+G+nQPabPp8uj6kQKOf8oMA==","signatures":[{"sig":"MEUCIH9G+zcWy042Gz16e6AjdONk52730SE7ULRmfZUj67CVAiEA2IoZI7ed74ybtoLtKLyaoqc5aUyiABGq/5LtjfjABzc=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":682234},"type":"module","engines":{"node":">=22"},"gitHead":"51158c56ce11129db324c7ca4432c17e468dd17c","scripts":{"ad":"node bin/agent-device.mjs","lint":"node --eval \"console.log('no lint')\"","test":"node --test","build":"rslib build","format":"prettier --write .","prepack":"pnpm build:all","build:all":"pnpm build:node && pnpm build:xcuitest","test:unit":"node --test src/__tests__/*.test.ts src/core/__tests__/*.test.ts src/daemon/__tests__/*.test.ts src/daemon/handlers/__tests__/*.test.ts src/platforms/**/__tests__/*.test.ts src/utils/**/__tests__/*.test.ts","typecheck":"tsc -p tsconfig.json","build:node":"pnpm build && pnpm clean:daemon","test:smoke":"node --test test/integration/smoke-*.test.ts","clean:daemon":"rm -f ~/.agent-device/daemon.json && rm -f ~/.agent-device/daemon.lock","build:xcuitest":"pnpm build:xcuitest:ios","prepublishOnly":"pnpm build:all","test:integration":"node --test test/integration/*.test.ts","build:xcuitest:ios":"rm -rf ~/.agent-device/ios-runner/derived/device && xcodebuild build-for-testing -project ios-runner/AgentDeviceRunner/AgentDeviceRunner.xcodeproj -scheme AgentDeviceRunner -destination \"generic/platform=iOS Simulator\" -derivedDataPath ~/.agent-device/ios-runner/derived","build:xcuitest:tvos":"rm -rf ~/.agent-device/ios-runner/derived/tvos && xcodebuild build-for-testing -project ios-runner/AgentDeviceRunner/AgentDeviceRunner.xcodeproj -scheme AgentDeviceRunner -destination \"generic/platform=tvOS Simulator\" -derivedDataPath ~/.agent-device/ios-runner/derived/tvos"},"_npmUser":{"name":"thymikee","email":"thymikee@gmail.com"},"prettier":{"semi":true,"printWidth":100,"singleQuote":true,"trailingComma":"all"},"_npmVersion":"11.6.2","description":"Unified control plane for physical and virtual devices via an agent-driven CLI.","directories":{},"_nodeVersion":"24.13.0","dependencies":{"@clack/prompts":"^1.0.0"},"_hasShrinkwrap":false,"devDependencies":{"prettier":"^3.3.3","typescript":"^5.9.3","@rslib/core":"0.19.4","@types/node":"^22.0.0"},"_npmOperationalInternal":{"tmp":"tmp/agent-device_0.7.10_1773070711277_0.12563316372183397","host":"s3://npm-registry-packages-npm-production"}},"0.7.11":{"name":"agent-device","version":"0.7.11","keywords":["agent","device","cli","adb","simctl","devicectl","ios","android"],"author":{"name":"Callstack"},"license":"MIT","_id":"agent-device@0.7.11","maintainers":[{"name":"thymikee","email":"thymikee@gmail.com"}],"bin":{"agent-device":"bin/agent-device.mjs"},"dist":{"shasum":"cdc81e0d7faef4dbbc8746a4a447fbf8bea849ca","tarball":"https://registry.npmjs.org/agent-device/-/agent-device-0.7.11.tgz","fileCount":47,"integrity":"sha512-ZC4+TdgTPM9+RvohJsOlKCX2nMmgeFs/vaQl507LR5FnOaE6PwAgK2wKHnGxRLmsz0KlDjDCM25kNuAFTkM+Cg==","signatures":[{"sig":"MEYCIQDsYQgaNq3K4o2/im9W0NZL0DCEzTadIQefcYS1w10MXAIhAN1CI6f+TfZyF5fnhO9W8NK9H7dTEznZid4T+ZuiYrim","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":682260},"type":"module","engines":{"node":">=22"},"gitHead":"150399ec0cede475f09e496fb757d1ba1c228397","scripts":{"ad":"node bin/agent-device.mjs","lint":"node --eval \"console.log('no lint')\"","test":"node --test","build":"rslib build","format":"prettier --write .","prepack":"pnpm build:all","build:all":"pnpm build:node && pnpm build:xcuitest","test:unit":"node --test src/__tests__/*.test.ts src/core/__tests__/*.test.ts src/daemon/__tests__/*.test.ts src/daemon/handlers/__tests__/*.test.ts src/platforms/**/__tests__/*.test.ts src/utils/**/__tests__/*.test.ts","typecheck":"tsc -p tsconfig.json","build:node":"pnpm build && pnpm clean:daemon","test:smoke":"node --test test/integration/smoke-*.test.ts","clean:daemon":"rm -f ~/.agent-device/daemon.json && rm -f ~/.agent-device/daemon.lock","build:xcuitest":"pnpm build:xcuitest:ios","prepublishOnly":"pnpm build:all","test:integration":"node --test test/integration/*.test.ts","build:xcuitest:ios":"rm -rf ~/.agent-device/ios-runner/derived/device && xcodebuild build-for-testing -project ios-runner/AgentDeviceRunner/AgentDeviceRunner.xcodeproj -scheme AgentDeviceRunner -destination \"generic/platform=iOS Simulator\" -derivedDataPath ~/.agent-device/ios-runner/derived","build:xcuitest:tvos":"rm -rf ~/.agent-device/ios-runner/derived/tvos && xcodebuild build-for-testing -project ios-runner/AgentDeviceRunner/AgentDeviceRunner.xcodeproj -scheme AgentDeviceRunner -destination \"generic/platform=tvOS Simulator\" -derivedDataPath ~/.agent-device/ios-runner/derived/tvos"},"_npmUser":{"name":"thymikee","email":"thymikee@gmail.com"},"prettier":{"semi":true,"printWidth":100,"singleQuote":true,"trailingComma":"all"},"_npmVersion":"11.6.2","description":"Unified control plane for physical and virtual devices via an agent-driven CLI.","directories":{},"_nodeVersion":"24.13.0","dependencies":{"@clack/prompts":"^1.0.0"},"_hasShrinkwrap":false,"devDependencies":{"prettier":"^3.3.3","typescript":"^5.9.3","@rslib/core":"0.19.4","@types/node":"^22.0.0"},"_npmOperationalInternal":{"tmp":"tmp/agent-device_0.7.11_1773074132914_0.5087923983128528","host":"s3://npm-registry-packages-npm-production"}},"0.7.12":{"name":"agent-device","version":"0.7.12","keywords":["agent","device","cli","adb","simctl","devicectl","ios","android"],"author":{"name":"Callstack"},"license":"MIT","_id":"agent-device@0.7.12","maintainers":[{"name":"thymikee","email":"thymikee@gmail.com"}],"bin":{"agent-device":"bin/agent-device.mjs"},"dist":{"shasum":"bdb8010158132a9552e42bd924a46cc8de72ab99","tarball":"https://registry.npmjs.org/agent-device/-/agent-device-0.7.12.tgz","fileCount":47,"integrity":"sha512-vOzHwzkvAOFPrbDnC/ZbXOLpPQNR0LZ3XNk1kvZHja8pOhR8YfTh37ytMFhthjoYLMvS0dGCwqYGNn520Yyymw==","signatures":[{"sig":"MEUCIDwk7I1tj/9Q6AchwPtEaP/8DPiMrGdhVkdrJm/I3aoeAiEAmUb32g6PwBFSsELIOteDe8+1xoC9MNBM+s/7/T7I1Oo=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":697093},"type":"module","engines":{"node":">=22"},"gitHead":"12d54989b320566d555598a0ed2962a5746116bb","scripts":{"ad":"node bin/agent-device.mjs","lint":"node --eval \"console.log('no lint')\"","test":"node --test","build":"rslib build","format":"prettier --write .","prepack":"pnpm build:all","build:all":"pnpm build:node && pnpm build:xcuitest","test:unit":"node --test src/__tests__/*.test.ts src/core/__tests__/*.test.ts src/daemon/__tests__/*.test.ts src/daemon/handlers/__tests__/*.test.ts src/platforms/**/__tests__/*.test.ts src/utils/**/__tests__/*.test.ts","typecheck":"tsc -p tsconfig.json","build:node":"pnpm build && pnpm clean:daemon","test:smoke":"node --test test/integration/smoke-*.test.ts","clean:daemon":"rm -f ~/.agent-device/daemon.json && rm -f ~/.agent-device/daemon.lock","build:xcuitest":"pnpm build:xcuitest:ios","prepublishOnly":"pnpm build:all","test:integration":"node --test test/integration/*.test.ts","build:xcuitest:ios":"rm -rf ~/.agent-device/ios-runner/derived/device && xcodebuild build-for-testing -project ios-runner/AgentDeviceRunner/AgentDeviceRunner.xcodeproj -scheme AgentDeviceRunner -destination \"generic/platform=iOS Simulator\" -derivedDataPath ~/.agent-device/ios-runner/derived","build:xcuitest:tvos":"rm -rf ~/.agent-device/ios-runner/derived/tvos && xcodebuild build-for-testing -project ios-runner/AgentDeviceRunner/AgentDeviceRunner.xcodeproj -scheme AgentDeviceRunner -destination \"generic/platform=tvOS Simulator\" -derivedDataPath ~/.agent-device/ios-runner/derived/tvos"},"_npmUser":{"name":"thymikee","email":"thymikee@gmail.com"},"prettier":{"semi":true,"printWidth":100,"singleQuote":true,"trailingComma":"all"},"_npmVersion":"11.6.2","description":"Unified control plane for physical and virtual devices via an agent-driven CLI.","directories":{},"_nodeVersion":"24.13.0","dependencies":{"@clack/prompts":"^1.0.0"},"_hasShrinkwrap":false,"devDependencies":{"prettier":"^3.3.3","typescript":"^5.9.3","@rslib/core":"0.19.4","@types/node":"^22.0.0"},"_npmOperationalInternal":{"tmp":"tmp/agent-device_0.7.12_1773082304625_0.4255398803999699","host":"s3://npm-registry-packages-npm-production"}},"0.7.13":{"name":"agent-device","version":"0.7.13","keywords":["agent","device","cli","adb","simctl","devicectl","ios","android"],"author":{"name":"Callstack"},"license":"MIT","_id":"agent-device@0.7.13","maintainers":[{"name":"thymikee","email":"thymikee@gmail.com"}],"bin":{"agent-device":"bin/agent-device.mjs"},"dist":{"shasum":"d034a36b526bb881a839f7423771e26427e21c72","tarball":"https://registry.npmjs.org/agent-device/-/agent-device-0.7.13.tgz","fileCount":47,"integrity":"sha512-8NWBFVZGONunGShWJhHorZdLSgYfEagI2fpYWOgHARs9Z1yi15AIT/H136MFqADMn5JaoTX5auAClnoA6RaF8g==","signatures":[{"sig":"MEQCICwegDmW/cA9G15UZ7T7lkzz+QfdIsgh97fdbaxj/EfoAiBkmkcanGOPfTPlwYiMkZysk2Y9fWrcxwbWrkz7sa1NwA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":698353},"type":"module","engines":{"node":">=22"},"gitHead":"55d69f7729a07419c5897714f721a8dc4faaa312","scripts":{"ad":"node bin/agent-device.mjs","lint":"node --eval \"console.log('no lint')\"","test":"node --test","build":"rslib build","format":"prettier --write .","prepack":"pnpm build:all","build:all":"pnpm build:node && pnpm build:xcuitest","test:unit":"node --test src/__tests__/*.test.ts src/core/__tests__/*.test.ts src/daemon/__tests__/*.test.ts src/daemon/handlers/__tests__/*.test.ts src/platforms/**/__tests__/*.test.ts src/utils/**/__tests__/*.test.ts","typecheck":"tsc -p tsconfig.json","build:node":"pnpm build && pnpm clean:daemon","test:smoke":"node --test test/integration/smoke-*.test.ts","clean:daemon":"rm -f ~/.agent-device/daemon.json && rm -f ~/.agent-device/daemon.lock","build:xcuitest":"pnpm build:xcuitest:ios","prepublishOnly":"pnpm build:all","test:integration":"node --test test/integration/*.test.ts","build:xcuitest:ios":"rm -rf ~/.agent-device/ios-runner/derived/device && xcodebuild build-for-testing -project ios-runner/AgentDeviceRunner/AgentDeviceRunner.xcodeproj -scheme AgentDeviceRunner -destination \"generic/platform=iOS Simulator\" -derivedDataPath ~/.agent-device/ios-runner/derived","build:xcuitest:tvos":"rm -rf ~/.agent-device/ios-runner/derived/tvos && xcodebuild build-for-testing -project ios-runner/AgentDeviceRunner/AgentDeviceRunner.xcodeproj -scheme AgentDeviceRunner -destination \"generic/platform=tvOS Simulator\" -derivedDataPath ~/.agent-device/ios-runner/derived/tvos"},"_npmUser":{"name":"thymikee","email":"thymikee@gmail.com"},"prettier":{"semi":true,"printWidth":100,"singleQuote":true,"trailingComma":"all"},"_npmVersion":"11.6.2","description":"Unified control plane for physical and virtual devices via an agent-driven CLI.","directories":{},"_nodeVersion":"24.13.0","dependencies":{"@clack/prompts":"^1.0.0"},"_hasShrinkwrap":false,"devDependencies":{"prettier":"^3.3.3","typescript":"^5.9.3","@rslib/core":"0.19.4","@types/node":"^22.0.0"},"_npmOperationalInternal":{"tmp":"tmp/agent-device_0.7.13_1773237480739_0.3070732916079202","host":"s3://npm-registry-packages-npm-production"}},"0.7.14":{"name":"agent-device","version":"0.7.14","keywords":["agent","device","cli","adb","simctl","devicectl","ios","android"],"author":{"name":"Callstack"},"license":"MIT","_id":"agent-device@0.7.14","maintainers":[{"name":"thymikee","email":"thymikee@gmail.com"}],"bin":{"agent-device":"bin/agent-device.mjs"},"dist":{"shasum":"b1053d33477b8663ef2089bd31db25c8a4b35532","tarball":"https://registry.npmjs.org/agent-device/-/agent-device-0.7.14.tgz","fileCount":47,"integrity":"sha512-cP7VsmxEtgRZxzEtMseihTDeSbQO/RLnnfZngW5FyVAYijk1rKIRt84STfAbKgsbr87Rk6fVuCK8us/0JMkTUA==","signatures":[{"sig":"MEYCIQCzyOtWoFzX3YtLbVVTYRZ1y0DAe1M3MNnOeGLwuHCtEwIhAL34gQXYgAOfRhXPP2UA51pHpzYVrjefwpxQ3tXJiPyU","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":698335},"type":"module","engines":{"node":">=22"},"gitHead":"2522984aa95d60f9b0cb3c274a6f0c42667efba8","scripts":{"ad":"node bin/agent-device.mjs","lint":"node --eval \"console.log('no lint')\"","test":"node --test","build":"rslib build","format":"prettier --write .","prepack":"pnpm build:all","build:all":"pnpm build:node && pnpm build:xcuitest","test:unit":"node --test src/__tests__/*.test.ts src/core/__tests__/*.test.ts src/daemon/__tests__/*.test.ts src/daemon/handlers/__tests__/*.test.ts src/platforms/**/__tests__/*.test.ts src/utils/**/__tests__/*.test.ts","typecheck":"tsc -p tsconfig.json","build:node":"pnpm build && pnpm clean:daemon","test:smoke":"node --test test/integration/smoke-*.test.ts","clean:daemon":"rm -f ~/.agent-device/daemon.json && rm -f ~/.agent-device/daemon.lock","build:xcuitest":"pnpm build:xcuitest:ios","prepublishOnly":"pnpm build:all","test:integration":"node --test test/integration/*.test.ts","build:xcuitest:ios":"rm -rf ~/.agent-device/ios-runner/derived/device && xcodebuild build-for-testing -project ios-runner/AgentDeviceRunner/AgentDeviceRunner.xcodeproj -scheme AgentDeviceRunner -destination \"generic/platform=iOS Simulator\" -derivedDataPath ~/.agent-device/ios-runner/derived","build:xcuitest:tvos":"rm -rf ~/.agent-device/ios-runner/derived/tvos && xcodebuild build-for-testing -project ios-runner/AgentDeviceRunner/AgentDeviceRunner.xcodeproj -scheme AgentDeviceRunner -destination \"generic/platform=tvOS Simulator\" -derivedDataPath ~/.agent-device/ios-runner/derived/tvos"},"_npmUser":{"name":"thymikee","email":"thymikee@gmail.com"},"prettier":{"semi":true,"printWidth":100,"singleQuote":true,"trailingComma":"all"},"_npmVersion":"11.6.2","description":"Unified control plane for physical and virtual devices via an agent-driven CLI.","directories":{},"_nodeVersion":"24.13.0","dependencies":{"@clack/prompts":"^1.0.0"},"_hasShrinkwrap":false,"devDependencies":{"prettier":"^3.3.3","typescript":"^5.9.3","@rslib/core":"0.19.4","@types/node":"^22.0.0"},"_npmOperationalInternal":{"tmp":"tmp/agent-device_0.7.14_1773241891304_0.5263014446917595","host":"s3://npm-registry-packages-npm-production"}},"0.7.15":{"name":"agent-device","version":"0.7.15","keywords":["agent","device","cli","adb","simctl","devicectl","ios","android"],"author":{"name":"Callstack"},"license":"MIT","_id":"agent-device@0.7.15","maintainers":[{"name":"thymikee","email":"thymikee@gmail.com"}],"bin":{"agent-device":"bin/agent-device.mjs"},"dist":{"shasum":"00b064617b59b7d0e8668ee7cc76f18b0ca7c1bb","tarball":"https://registry.npmjs.org/agent-device/-/agent-device-0.7.15.tgz","fileCount":47,"integrity":"sha512-cBa0n1FsdtdbSqzTurB3ydwZkMHBj60pA3Z9dwn9Yztg69E5QleRPzbfCoDaEdU0pDb8gvUby/wrF2t7I8FdUA==","signatures":[{"sig":"MEYCIQCAndlJVm84jUSLs83BUPQbxyhHVLbFiX7yAyBmmLxyhwIhAJuPrj8ruPqLZ7fItlJwAwyvuEgPpJPbLtx1P3ZgnrJG","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":698574},"type":"module","engines":{"node":">=22"},"gitHead":"c3fb690acb625b6b9204025194324fe6ec2702c0","scripts":{"ad":"node bin/agent-device.mjs","lint":"node --eval \"console.log('no lint')\"","test":"node --test","build":"rslib build","format":"prettier --write .","prepack":"pnpm build:all","build:all":"pnpm build:node && pnpm build:xcuitest","test:unit":"node --test src/__tests__/*.test.ts src/core/__tests__/*.test.ts src/daemon/__tests__/*.test.ts src/daemon/handlers/__tests__/*.test.ts src/platforms/**/__tests__/*.test.ts src/utils/**/__tests__/*.test.ts","typecheck":"tsc -p tsconfig.json","build:node":"pnpm build && pnpm clean:daemon","test:smoke":"node --test test/integration/smoke-*.test.ts","clean:daemon":"rm -f ~/.agent-device/daemon.json && rm -f ~/.agent-device/daemon.lock","build:xcuitest":"pnpm build:xcuitest:ios","prepublishOnly":"pnpm build:all","test:integration":"node --test test/integration/*.test.ts","build:xcuitest:ios":"rm -rf ~/.agent-device/ios-runner/derived/device && xcodebuild build-for-testing -project ios-runner/AgentDeviceRunner/AgentDeviceRunner.xcodeproj -scheme AgentDeviceRunner -destination \"generic/platform=iOS Simulator\" -derivedDataPath ~/.agent-device/ios-runner/derived","build:xcuitest:tvos":"rm -rf ~/.agent-device/ios-runner/derived/tvos && xcodebuild build-for-testing -project ios-runner/AgentDeviceRunner/AgentDeviceRunner.xcodeproj -scheme AgentDeviceRunner -destination \"generic/platform=tvOS Simulator\" -derivedDataPath ~/.agent-device/ios-runner/derived/tvos"},"_npmUser":{"name":"thymikee","email":"thymikee@gmail.com"},"prettier":{"semi":true,"printWidth":100,"singleQuote":true,"trailingComma":"all"},"_npmVersion":"11.6.2","description":"Unified control plane for physical and virtual devices via an agent-driven CLI.","directories":{},"_nodeVersion":"24.13.0","dependencies":{"@clack/prompts":"^1.0.0"},"_hasShrinkwrap":false,"devDependencies":{"prettier":"^3.3.3","typescript":"^5.9.3","@rslib/core":"0.19.4","@types/node":"^22.0.0"},"_npmOperationalInternal":{"tmp":"tmp/agent-device_0.7.15_1773315003514_0.09470519729693105","host":"s3://npm-registry-packages-npm-production"}},"0.7.16":{"name":"agent-device","version":"0.7.16","keywords":["agent","device","cli","adb","simctl","devicectl","ios","android"],"author":{"name":"Callstack"},"license":"MIT","_id":"agent-device@0.7.16","maintainers":[{"name":"thymikee","email":"thymikee@gmail.com"}],"bin":{"agent-device":"bin/agent-device.mjs"},"dist":{"shasum":"71e705353471607b4d59172f7f072431ab037b28","tarball":"https://registry.npmjs.org/agent-device/-/agent-device-0.7.16.tgz","fileCount":47,"integrity":"sha512-3n0/1SmmHA3cUe6h+5Y18n9C7p+dFM2ZtNMwvmQWQ7QXNtEOQ3RUXO6zoklFBlZQ3faRW1KsRmshTBP1Al1KQA==","signatures":[{"sig":"MEQCIBzIVWc9+dtD1xICDHAcB91pyfJ1BCCBvFTleHZDedKCAiBCMMqJoOEF2OKseDHX7LLRmX0rdSneYLSJ22LR8KQ7aQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":700000},"type":"module","engines":{"node":">=22"},"gitHead":"0f18a0ffa25156730be4f6241f1573a20a194233","scripts":{"ad":"node bin/agent-device.mjs","lint":"node --eval \"console.log('no lint')\"","test":"node --test","build":"rslib build","format":"prettier --write .","prepack":"pnpm build:all","build:all":"pnpm build:node && pnpm build:xcuitest","test:unit":"node --test src/__tests__/*.test.ts src/core/__tests__/*.test.ts src/daemon/__tests__/*.test.ts src/daemon/handlers/__tests__/*.test.ts src/platforms/**/__tests__/*.test.ts src/utils/**/__tests__/*.test.ts","typecheck":"tsc -p tsconfig.json","build:node":"pnpm build && pnpm clean:daemon","test:smoke":"node --test test/integration/smoke-*.test.ts","clean:daemon":"rm -f ~/.agent-device/daemon.json && rm -f ~/.agent-device/daemon.lock","build:xcuitest":"pnpm build:xcuitest:ios","prepublishOnly":"pnpm build:all","test:integration":"node --test test/integration/*.test.ts","build:xcuitest:ios":"rm -rf ~/.agent-device/ios-runner/derived/device && xcodebuild build-for-testing -project ios-runner/AgentDeviceRunner/AgentDeviceRunner.xcodeproj -scheme AgentDeviceRunner -destination \"generic/platform=iOS Simulator\" -derivedDataPath ~/.agent-device/ios-runner/derived","build:xcuitest:tvos":"rm -rf ~/.agent-device/ios-runner/derived/tvos && xcodebuild build-for-testing -project ios-runner/AgentDeviceRunner/AgentDeviceRunner.xcodeproj -scheme AgentDeviceRunner -destination \"generic/platform=tvOS Simulator\" -derivedDataPath ~/.agent-device/ios-runner/derived/tvos"},"_npmUser":{"name":"thymikee","email":"thymikee@gmail.com"},"prettier":{"semi":true,"printWidth":100,"singleQuote":true,"trailingComma":"all"},"_npmVersion":"11.6.2","description":"Unified control plane for physical and virtual devices via an agent-driven CLI.","directories":{},"_nodeVersion":"24.13.0","dependencies":{"@clack/prompts":"^1.0.0"},"_hasShrinkwrap":false,"devDependencies":{"prettier":"^3.3.3","typescript":"^5.9.3","@rslib/core":"0.19.4","@types/node":"^22.0.0"},"_npmOperationalInternal":{"tmp":"tmp/agent-device_0.7.16_1773317184089_0.1055897890014057","host":"s3://npm-registry-packages-npm-production"}},"0.7.17":{"name":"agent-device","version":"0.7.17","keywords":["agent","device","cli","adb","simctl","devicectl","ios","android"],"author":{"name":"Callstack"},"license":"MIT","_id":"agent-device@0.7.17","maintainers":[{"name":"thymikee","email":"thymikee@gmail.com"}],"bin":{"agent-device":"bin/agent-device.mjs"},"dist":{"shasum":"e968e42fd38d2a490f803b616f370544b75a807a","tarball":"https://registry.npmjs.org/agent-device/-/agent-device-0.7.17.tgz","fileCount":47,"integrity":"sha512-5+gktbWcS5rpdHsht1cb3BgFizXP5r1ySrKUubRnwe07v7k+CaPVkBLq0nzYuXPBKO/mL3A0wn87PIlYdS5WKw==","signatures":[{"sig":"MEQCIA64PZNIgOU5JRwJilqAvurkk/ZlWYEPCA0WjLjVJbIlAiANelIwqH7o/jsZYpiqjbQvH1RbaGGsKy8d1aLs3j4fBw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":699998},"type":"module","engines":{"node":">=22"},"gitHead":"51667d5b96a638df7e3ec5b89cddfcb0bf2da016","scripts":{"ad":"node bin/agent-device.mjs","lint":"node --eval \"console.log('no lint')\"","test":"node --test","build":"rslib build","format":"prettier --write .","prepack":"pnpm build:all","build:all":"pnpm build:node && pnpm build:xcuitest","test:unit":"node --test src/__tests__/*.test.ts src/core/__tests__/*.test.ts src/daemon/__tests__/*.test.ts src/daemon/handlers/__tests__/*.test.ts src/platforms/**/__tests__/*.test.ts src/utils/**/__tests__/*.test.ts","typecheck":"tsc -p tsconfig.json","build:node":"pnpm build && pnpm clean:daemon","test:smoke":"node --test test/integration/smoke-*.test.ts","clean:daemon":"rm -f ~/.agent-device/daemon.json && rm -f ~/.agent-device/daemon.lock","build:xcuitest":"pnpm build:xcuitest:ios","prepublishOnly":"pnpm build:all","test:integration":"node --test test/integration/*.test.ts","build:xcuitest:ios":"rm -rf ~/.agent-device/ios-runner/derived/device && xcodebuild build-for-testing -project ios-runner/AgentDeviceRunner/AgentDeviceRunner.xcodeproj -scheme AgentDeviceRunner -destination \"generic/platform=iOS Simulator\" -derivedDataPath ~/.agent-device/ios-runner/derived","build:xcuitest:tvos":"rm -rf ~/.agent-device/ios-runner/derived/tvos && xcodebuild build-for-testing -project ios-runner/AgentDeviceRunner/AgentDeviceRunner.xcodeproj -scheme AgentDeviceRunner -destination \"generic/platform=tvOS Simulator\" -derivedDataPath ~/.agent-device/ios-runner/derived/tvos"},"_npmUser":{"name":"thymikee","email":"thymikee@gmail.com"},"prettier":{"semi":true,"printWidth":100,"singleQuote":true,"trailingComma":"all"},"_npmVersion":"11.6.2","description":"Unified control plane for physical and virtual devices via an agent-driven CLI.","directories":{},"_nodeVersion":"24.13.0","dependencies":{"@clack/prompts":"^1.0.0"},"_hasShrinkwrap":false,"devDependencies":{"prettier":"^3.3.3","typescript":"^5.9.3","@rslib/core":"0.19.4","@types/node":"^22.0.0"},"_npmOperationalInternal":{"tmp":"tmp/agent-device_0.7.17_1773319205491_0.584568113692197","host":"s3://npm-registry-packages-npm-production"}},"0.7.18":{"name":"agent-device","version":"0.7.18","keywords":["agent","device","cli","adb","simctl","devicectl","ios","android"],"author":{"name":"Callstack"},"license":"MIT","_id":"agent-device@0.7.18","maintainers":[{"name":"thymikee","email":"thymikee@gmail.com"}],"bin":{"agent-device":"bin/agent-device.mjs"},"dist":{"shasum":"d8a31d9f32626b30a2aa91f2acde955380a84844","tarball":"https://registry.npmjs.org/agent-device/-/agent-device-0.7.18.tgz","fileCount":47,"integrity":"sha512-2oZEiuIHNPNgs/Fi6K+wA+bL4hJjpIC8LY1F0QCDyvGMODdO3441IOR/UQwtquhoSjKKEaDxWjcq7oyFxSPEag==","signatures":[{"sig":"MEQCIDH5dFoXjH0nftDuAEfJK+VOaOSacZbuPR6fpE8hMZ0GAiADNrNwf95MRXpxDvEEIYaGvMSMuUtrh0uLbUHrfOanQQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":700053},"type":"module","engines":{"node":">=22"},"gitHead":"76cf675d1e91d55f520189fa95724d4e78b7ce67","scripts":{"ad":"node bin/agent-device.mjs","lint":"node --eval \"console.log('no lint')\"","test":"node --test","build":"rslib build","format":"prettier --write .","prepack":"pnpm build:all","build:all":"pnpm build:node && pnpm build:xcuitest","test:unit":"node --test src/__tests__/*.test.ts src/core/__tests__/*.test.ts src/daemon/__tests__/*.test.ts src/daemon/handlers/__tests__/*.test.ts src/platforms/**/__tests__/*.test.ts src/utils/**/__tests__/*.test.ts","typecheck":"tsc -p tsconfig.json","build:node":"pnpm build && pnpm clean:daemon","test:smoke":"node --test test/integration/smoke-*.test.ts","clean:daemon":"rm -f ~/.agent-device/daemon.json && rm -f ~/.agent-device/daemon.lock","build:xcuitest":"pnpm build:xcuitest:ios","prepublishOnly":"pnpm build:all","test:integration":"node --test test/integration/*.test.ts","build:xcuitest:ios":"rm -rf ~/.agent-device/ios-runner/derived/device && xcodebuild build-for-testing -project ios-runner/AgentDeviceRunner/AgentDeviceRunner.xcodeproj -scheme AgentDeviceRunner -destination \"generic/platform=iOS Simulator\" -derivedDataPath ~/.agent-device/ios-runner/derived","build:xcuitest:tvos":"rm -rf ~/.agent-device/ios-runner/derived/tvos && xcodebuild build-for-testing -project ios-runner/AgentDeviceRunner/AgentDeviceRunner.xcodeproj -scheme AgentDeviceRunner -destination \"generic/platform=tvOS Simulator\" -derivedDataPath ~/.agent-device/ios-runner/derived/tvos"},"_npmUser":{"name":"thymikee","email":"thymikee@gmail.com"},"prettier":{"semi":true,"printWidth":100,"singleQuote":true,"trailingComma":"all"},"_npmVersion":"11.6.2","description":"Unified control plane for physical and virtual devices via an agent-driven CLI.","directories":{},"_nodeVersion":"24.13.0","dependencies":{"@clack/prompts":"^1.0.0"},"_hasShrinkwrap":false,"devDependencies":{"prettier":"^3.3.3","typescript":"^5.9.3","@rslib/core":"0.19.4","@types/node":"^22.0.0"},"_npmOperationalInternal":{"tmp":"tmp/agent-device_0.7.18_1773322318949_0.4781141520154628","host":"s3://npm-registry-packages-npm-production"}},"0.7.19":{"name":"agent-device","version":"0.7.19","keywords":["agent","device","cli","adb","simctl","devicectl","ios","android"],"author":{"name":"Callstack"},"license":"MIT","_id":"agent-device@0.7.19","maintainers":[{"name":"thymikee","email":"thymikee@gmail.com"}],"bin":{"agent-device":"bin/agent-device.mjs"},"dist":{"shasum":"a553695bd1ccdefd778a4deed1d6ab315d0f4f50","tarball":"https://registry.npmjs.org/agent-device/-/agent-device-0.7.19.tgz","fileCount":47,"integrity":"sha512-AlavWZwsTgv2/raH1+tJb1lWWaWKRwjT8ifZV4Yh9EDF56ugtRmwHxzKgiloLhlpjdFZriOolcdNHrP59Nkfuw==","signatures":[{"sig":"MEQCIE3pGRxYfYVBYpcECjgKaa7uOzg9UJrCPlKqx5ug6lctAiAZhJONyz4EdqQBclCgiusKhrg183WP/L58QA13JcNmxQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":701052},"type":"module","engines":{"node":">=22"},"gitHead":"b8cad6b226eff29d2a63b57b83d996a6a648c15e","scripts":{"ad":"node bin/agent-device.mjs","lint":"node --eval \"console.log('no lint')\"","test":"node --test","build":"rslib build","format":"prettier --write .","prepack":"pnpm build:all","build:all":"pnpm build:node && pnpm build:xcuitest","test:unit":"node --test src/__tests__/*.test.ts src/core/__tests__/*.test.ts src/daemon/__tests__/*.test.ts src/daemon/handlers/__tests__/*.test.ts src/platforms/**/__tests__/*.test.ts src/utils/**/__tests__/*.test.ts","typecheck":"tsc -p tsconfig.json","build:node":"pnpm build && pnpm clean:daemon","test:smoke":"node --test test/integration/smoke-*.test.ts","clean:daemon":"rm -f ~/.agent-device/daemon.json && rm -f ~/.agent-device/daemon.lock","build:xcuitest":"pnpm build:xcuitest:ios","prepublishOnly":"pnpm build:all","test:integration":"node --test test/integration/*.test.ts","build:xcuitest:ios":"rm -rf ~/.agent-device/ios-runner/derived/device && xcodebuild build-for-testing -project ios-runner/AgentDeviceRunner/AgentDeviceRunner.xcodeproj -scheme AgentDeviceRunner -destination \"generic/platform=iOS Simulator\" -derivedDataPath ~/.agent-device/ios-runner/derived","build:xcuitest:tvos":"rm -rf ~/.agent-device/ios-runner/derived/tvos && xcodebuild build-for-testing -project ios-runner/AgentDeviceRunner/AgentDeviceRunner.xcodeproj -scheme AgentDeviceRunner -destination \"generic/platform=tvOS Simulator\" -derivedDataPath ~/.agent-device/ios-runner/derived/tvos"},"_npmUser":{"name":"thymikee","email":"thymikee@gmail.com"},"prettier":{"semi":true,"printWidth":100,"singleQuote":true,"trailingComma":"all"},"_npmVersion":"11.6.2","description":"Unified control plane for physical and virtual devices via an agent-driven CLI.","directories":{},"_nodeVersion":"24.13.0","dependencies":{"@clack/prompts":"^1.0.0"},"_hasShrinkwrap":false,"devDependencies":{"prettier":"^3.3.3","typescript":"^5.9.3","@rslib/core":"0.19.4","@types/node":"^22.0.0"},"_npmOperationalInternal":{"tmp":"tmp/agent-device_0.7.19_1773326747553_0.9491949552076022","host":"s3://npm-registry-packages-npm-production"}},"0.7.20":{"name":"agent-device","version":"0.7.20","keywords":["agent","device","cli","adb","simctl","devicectl","ios","android"],"author":{"name":"Callstack"},"license":"MIT","_id":"agent-device@0.7.20","maintainers":[{"name":"thymikee","email":"thymikee@gmail.com"}],"bin":{"agent-device":"bin/agent-device.mjs"},"dist":{"shasum":"6cb2ba4ccdb0eab8afabe76f4bc10c107585d6f7","tarball":"https://registry.npmjs.org/agent-device/-/agent-device-0.7.20.tgz","fileCount":47,"integrity":"sha512-SrNwsELQGJUOktgxOIH8qvbnuE38SBHMheabGEck8DhxZ6TRtckYBX/bu+GDCJKGy3E3//ZJ4EYA6JIMX7+w9g==","signatures":[{"sig":"MEYCIQD24MdZmzNutLW/I+pSX6sFl19Apcl2XiVnuZbVM+EGOQIhAJApvTNp/uLUCJa7sI9rwsRJaNwVaRMDjpu1xXt72IFH","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":703896},"type":"module","engines":{"node":">=22"},"gitHead":"479537f36f3c65e363c9efdeb21aa375737bea68","scripts":{"ad":"node bin/agent-device.mjs","lint":"node --eval \"console.log('no lint')\"","test":"node --test","build":"rslib build","format":"prettier --write .","prepack":"pnpm build:all","build:all":"pnpm build:node && pnpm build:xcuitest","test:unit":"node --test src/__tests__/*.test.ts src/core/__tests__/*.test.ts src/daemon/__tests__/*.test.ts src/daemon/handlers/__tests__/*.test.ts src/platforms/**/__tests__/*.test.ts src/utils/**/__tests__/*.test.ts","typecheck":"tsc -p tsconfig.json","build:node":"pnpm build && pnpm clean:daemon","test:smoke":"node --test test/integration/smoke-*.test.ts","clean:daemon":"rm -f ~/.agent-device/daemon.json && rm -f ~/.agent-device/daemon.lock","build:xcuitest":"pnpm build:xcuitest:ios","prepublishOnly":"pnpm build:all","test:integration":"node --test test/integration/*.test.ts","build:xcuitest:ios":"rm -rf ~/.agent-device/ios-runner/derived/device && xcodebuild build-for-testing -project ios-runner/AgentDeviceRunner/AgentDeviceRunner.xcodeproj -scheme AgentDeviceRunner -destination \"generic/platform=iOS Simulator\" -derivedDataPath ~/.agent-device/ios-runner/derived","build:xcuitest:tvos":"rm -rf ~/.agent-device/ios-runner/derived/tvos && xcodebuild build-for-testing -project ios-runner/AgentDeviceRunner/AgentDeviceRunner.xcodeproj -scheme AgentDeviceRunner -destination \"generic/platform=tvOS Simulator\" -derivedDataPath ~/.agent-device/ios-runner/derived/tvos"},"_npmUser":{"name":"thymikee","email":"thymikee@gmail.com"},"prettier":{"semi":true,"printWidth":100,"singleQuote":true,"trailingComma":"all"},"_npmVersion":"11.6.2","description":"Unified control plane for physical and virtual devices via an agent-driven CLI.","directories":{},"_nodeVersion":"24.13.0","dependencies":{"@clack/prompts":"^1.0.0"},"_hasShrinkwrap":false,"devDependencies":{"prettier":"^3.3.3","typescript":"^5.9.3","@rslib/core":"0.19.4","@types/node":"^22.0.0"},"_npmOperationalInternal":{"tmp":"tmp/agent-device_0.7.20_1773333031173_0.29043461142845683","host":"s3://npm-registry-packages-npm-production"}},"0.7.21":{"name":"agent-device","version":"0.7.21","keywords":["agent","device","cli","adb","simctl","devicectl","ios","android"],"author":{"name":"Callstack"},"license":"MIT","_id":"agent-device@0.7.21","maintainers":[{"name":"thymikee","email":"thymikee@gmail.com"}],"bin":{"agent-device":"bin/agent-device.mjs"},"dist":{"shasum":"dccf280669fefd10c243ae91fbf2bd0273c4888f","tarball":"https://registry.npmjs.org/agent-device/-/agent-device-0.7.21.tgz","fileCount":47,"integrity":"sha512-5pS2DXL01RCaEAQ2yCDp0fVBGLEghw8x/Y+y0s86yPemOQxoWgxM70iTcyo9rax2aq8SgqvX8SlgznnXGjhQqQ==","signatures":[{"sig":"MEUCIFToB49vVamfP2sPxAD4C45mu3Axt5W+pE24vhwWg3SqAiEA8P27gHUcWVMgXLJ6v2Sh90vk9kzNF9MkWD3vRjM8oaE=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":704391},"type":"module","engines":{"node":">=22"},"gitHead":"45cc50362b88790d87c9152e9e45471d69e4716d","scripts":{"ad":"node bin/agent-device.mjs","lint":"node --eval \"console.log('no lint')\"","test":"node --test","build":"rslib build","format":"prettier --write .","prepack":"pnpm build:all","build:all":"pnpm build:node && pnpm build:xcuitest","test:unit":"node --test src/__tests__/*.test.ts src/core/__tests__/*.test.ts src/daemon/__tests__/*.test.ts src/daemon/handlers/__tests__/*.test.ts src/platforms/**/__tests__/*.test.ts src/utils/**/__tests__/*.test.ts","typecheck":"tsc -p tsconfig.json","build:node":"pnpm build && pnpm clean:daemon","test:smoke":"node --test test/integration/smoke-*.test.ts","clean:daemon":"rm -f ~/.agent-device/daemon.json && rm -f ~/.agent-device/daemon.lock","build:xcuitest":"pnpm build:xcuitest:ios","prepublishOnly":"pnpm build:all","test:integration":"node --test test/integration/*.test.ts","build:xcuitest:ios":"rm -rf ~/.agent-device/ios-runner/derived/device && xcodebuild build-for-testing -project ios-runner/AgentDeviceRunner/AgentDeviceRunner.xcodeproj -scheme AgentDeviceRunner -destination \"generic/platform=iOS Simulator\" -derivedDataPath ~/.agent-device/ios-runner/derived","build:xcuitest:tvos":"rm -rf ~/.agent-device/ios-runner/derived/tvos && xcodebuild build-for-testing -project ios-runner/AgentDeviceRunner/AgentDeviceRunner.xcodeproj -scheme AgentDeviceRunner -destination \"generic/platform=tvOS Simulator\" -derivedDataPath ~/.agent-device/ios-runner/derived/tvos"},"_npmUser":{"name":"thymikee","email":"thymikee@gmail.com"},"prettier":{"semi":true,"printWidth":100,"singleQuote":true,"trailingComma":"all"},"_npmVersion":"11.6.2","description":"Unified control plane for physical and virtual devices via an agent-driven CLI.","directories":{},"_nodeVersion":"24.13.0","dependencies":{"@clack/prompts":"^1.0.0"},"_hasShrinkwrap":false,"devDependencies":{"prettier":"^3.3.3","typescript":"^5.9.3","@rslib/core":"0.19.4","@types/node":"^22.0.0"},"_npmOperationalInternal":{"tmp":"tmp/agent-device_0.7.21_1773337293099_0.12638286334633664","host":"s3://npm-registry-packages-npm-production"}},"0.7.22":{"name":"agent-device","version":"0.7.22","keywords":["agent","device","cli","adb","simctl","devicectl","ios","android"],"author":{"name":"Callstack"},"license":"MIT","_id":"agent-device@0.7.22","maintainers":[{"name":"thymikee","email":"thymikee@gmail.com"}],"bin":{"agent-device":"bin/agent-device.mjs"},"dist":{"shasum":"d29cbcab46977cac203abfab5aee00496efd7edc","tarball":"https://registry.npmjs.org/agent-device/-/agent-device-0.7.22.tgz","fileCount":168,"integrity":"sha512-arGuFqyc9sz+vnevBwPOGqCCYiVDN/oHDGW8h3UmWu4ZbavYtyARHctBlkqJr43eu58d3hBrZzidjYIIazXLrA==","signatures":[{"sig":"MEQCIGKcgJxaf64m2pE6wptjAgL3Y8SqrpuTmJte5oLrEPajAiBKP6KuFYAEDLTOXjwQVeIrHPU3bm58+QxFIsjEu/32mQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":838598},"main":"dist/src/index.js","type":"module","types":"dist/src/index.d.ts","engines":{"node":">=22"},"exports":{".":{"types":"./dist/src/index.d.ts","import":"./dist/src/index.js"}},"gitHead":"4c79da1f69acc195be806005bb7e34075a1f6a8b","scripts":{"ad":"node bin/agent-device.mjs","lint":"node --eval \"console.log('no lint')\"","test":"node --test","build":"rslib build","format":"prettier --write .","prepack":"pnpm build:all","build:all":"pnpm build:node && pnpm build:xcuitest","test:unit":"node --test src/__tests__/*.test.ts src/core/__tests__/*.test.ts src/daemon/__tests__/*.test.ts src/daemon/handlers/__tests__/*.test.ts src/platforms/**/__tests__/*.test.ts src/utils/**/__tests__/*.test.ts","typecheck":"tsc -p tsconfig.json","build:node":"pnpm build && pnpm clean:daemon","test:smoke":"node --test test/integration/smoke-*.test.ts","clean:daemon":"rm -f ~/.agent-device/daemon.json && rm -f ~/.agent-device/daemon.lock","build:xcuitest":"pnpm build:xcuitest:ios","prepublishOnly":"pnpm build:all","test:integration":"node --test test/integration/*.test.ts","build:xcuitest:ios":"rm -rf ~/.agent-device/ios-runner/derived/device && xcodebuild build-for-testing -project ios-runner/AgentDeviceRunner/AgentDeviceRunner.xcodeproj -scheme AgentDeviceRunner -destination \"generic/platform=iOS Simulator\" -derivedDataPath ~/.agent-device/ios-runner/derived","build:xcuitest:tvos":"rm -rf ~/.agent-device/ios-runner/derived/tvos && xcodebuild build-for-testing -project ios-runner/AgentDeviceRunner/AgentDeviceRunner.xcodeproj -scheme AgentDeviceRunner -destination \"generic/platform=tvOS Simulator\" -derivedDataPath ~/.agent-device/ios-runner/derived/tvos"},"_npmUser":{"name":"thymikee","email":"thymikee@gmail.com"},"prettier":{"semi":true,"printWidth":100,"singleQuote":true,"trailingComma":"all"},"_npmVersion":"11.6.2","description":"Unified control plane for physical and virtual devices via an agent-driven CLI.","directories":{},"_nodeVersion":"24.13.0","dependencies":{"@clack/prompts":"^1.0.0"},"_hasShrinkwrap":false,"devDependencies":{"prettier":"^3.3.3","typescript":"^5.9.3","@rslib/core":"0.19.4","@types/node":"^22.0.0"},"_npmOperationalInternal":{"tmp":"tmp/agent-device_0.7.22_1773494741919_0.931873038126728","host":"s3://npm-registry-packages-npm-production"}},"0.8.0":{"name":"agent-device","version":"0.8.0","keywords":["agent","device","cli","adb","simctl","devicectl","ios","android"],"author":{"name":"Callstack"},"license":"MIT","_id":"agent-device@0.8.0","maintainers":[{"name":"thymikee","email":"thymikee@gmail.com"}],"bin":{"agent-device":"bin/agent-device.mjs"},"dist":{"shasum":"4abc04dc84819e5afba73c36a88a32d8c9c22063","tarball":"https://registry.npmjs.org/agent-device/-/agent-device-0.8.0.tgz","fileCount":173,"integrity":"sha512-N3cLeOQ7h+yVB59JkpgVJH3Lk5eIShTynIT87mZyEubcl+Rc3l+DXRPWso1IQkYkhCEdqviYusOJnrOg4q5kIw==","signatures":[{"sig":"MEUCIQDHSPuCQvJpq57BVpNBXaabUoPDF33jWNrZxMZGPn021gIgKS0GivDXJBaChCB8fxF78KRx272P5e0sY1U4efojMFY=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":859517},"main":"dist/src/index.js","type":"module","types":"dist/src/index.d.ts","engines":{"node":">=22"},"exports":{".":{"types":"./dist/src/index.d.ts","import":"./dist/src/index.js"}},"gitHead":"1af48329377ab0395ab48f0496d572fb9b8730e0","scripts":{"ad":"node bin/agent-device.mjs","lint":"node --eval \"console.log('no lint')\"","test":"node --test","build":"rslib build","format":"prettier --write .","prepack":"pnpm build:all","build:all":"pnpm build:node && pnpm build:xcuitest","test:unit":"node --test src/__tests__/*.test.ts src/core/__tests__/*.test.ts src/daemon/__tests__/*.test.ts src/daemon/handlers/__tests__/*.test.ts src/platforms/**/__tests__/*.test.ts src/utils/**/__tests__/*.test.ts","typecheck":"tsc -p tsconfig.json","build:node":"pnpm build && pnpm clean:daemon","test:smoke":"node --test test/integration/smoke-*.test.ts","clean:daemon":"rm -f ~/.agent-device/daemon.json && rm -f ~/.agent-device/daemon.lock","build:xcuitest":"pnpm build:xcuitest:ios","prepublishOnly":"pnpm build:all","test:integration":"node --test test/integration/*.test.ts","build:xcuitest:ios":"rm -rf ~/.agent-device/ios-runner/derived/device && xcodebuild build-for-testing -project ios-runner/AgentDeviceRunner/AgentDeviceRunner.xcodeproj -scheme AgentDeviceRunner -destination \"generic/platform=iOS Simulator\" -derivedDataPath ~/.agent-device/ios-runner/derived","build:xcuitest:tvos":"rm -rf ~/.agent-device/ios-runner/derived/tvos && xcodebuild build-for-testing -project ios-runner/AgentDeviceRunner/AgentDeviceRunner.xcodeproj -scheme AgentDeviceRunner -destination \"generic/platform=tvOS Simulator\" -derivedDataPath ~/.agent-device/ios-runner/derived/tvos"},"_npmUser":{"name":"thymikee","email":"thymikee@gmail.com"},"prettier":{"semi":true,"printWidth":100,"singleQuote":true,"trailingComma":"all"},"_npmVersion":"11.6.2","description":"Unified control plane for physical and virtual devices via an agent-driven CLI.","directories":{},"_nodeVersion":"24.13.0","dependencies":{"@clack/prompts":"^1.0.0"},"_hasShrinkwrap":false,"devDependencies":{"prettier":"^3.3.3","typescript":"^5.9.3","@rslib/core":"0.19.4","@types/node":"^22.0.0"},"_npmOperationalInternal":{"tmp":"tmp/agent-device_0.8.0_1773518335816_0.1242875199621496","host":"s3://npm-registry-packages-npm-production"}},"0.8.1":{"name":"agent-device","version":"0.8.1","keywords":["agent","device","cli","adb","simctl","devicectl","ios","android"],"author":{"name":"Callstack"},"license":"MIT","_id":"agent-device@0.8.1","maintainers":[{"name":"thymikee","email":"thymikee@gmail.com"}],"bin":{"agent-device":"bin/agent-device.mjs"},"dist":{"shasum":"cb487de9d18d9d1c7bc014daac15a4e405355fc7","tarball":"https://registry.npmjs.org/agent-device/-/agent-device-0.8.1.tgz","fileCount":174,"integrity":"sha512-HCIxNCFTZdIoaUab3klTsIdcbuHZUSHIzbWtFWWZIZH9gZbGr4ktZ0x9q8ZgHmjUQlz6CQjHwov8qMUobUF/Bw==","signatures":[{"sig":"MEUCIBxrxI8QVhDm3XVwlQayiDoNISFddzMPau1TvWEmb9WhAiEA3+F8TyDdFDDSFGdiZoH74vJmNrLUruzlWih/e2D1j0E=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":863875},"main":"dist/src/index.js","type":"module","types":"dist/src/index.d.ts","engines":{"node":">=22"},"exports":{".":{"types":"./dist/src/index.d.ts","import":"./dist/src/index.js"}},"gitHead":"9d8ebf6f0585bbc63559771160d2a219269fd003","scripts":{"ad":"node bin/agent-device.mjs","lint":"node --eval \"console.log('no lint')\"","test":"node --test","build":"rslib build","format":"prettier --write .","prepack":"pnpm build:all","build:all":"pnpm build:node && pnpm build:xcuitest","test:unit":"node --test src/__tests__/*.test.ts src/core/__tests__/*.test.ts src/daemon/__tests__/*.test.ts src/daemon/handlers/__tests__/*.test.ts src/platforms/**/__tests__/*.test.ts src/utils/**/__tests__/*.test.ts","typecheck":"tsc -p tsconfig.json","build:node":"pnpm build && pnpm clean:daemon","test:smoke":"node --test test/integration/smoke-*.test.ts","clean:daemon":"rm -f ~/.agent-device/daemon.json && rm -f ~/.agent-device/daemon.lock","build:xcuitest":"pnpm build:xcuitest:ios","prepublishOnly":"pnpm build:all","test:integration":"node --test test/integration/*.test.ts","build:xcuitest:ios":"rm -rf ~/.agent-device/ios-runner/derived/device && xcodebuild build-for-testing -project ios-runner/AgentDeviceRunner/AgentDeviceRunner.xcodeproj -scheme AgentDeviceRunner -destination \"generic/platform=iOS Simulator\" -derivedDataPath ~/.agent-device/ios-runner/derived","build:xcuitest:tvos":"rm -rf ~/.agent-device/ios-runner/derived/tvos && xcodebuild build-for-testing -project ios-runner/AgentDeviceRunner/AgentDeviceRunner.xcodeproj -scheme AgentDeviceRunner -destination \"generic/platform=tvOS Simulator\" -derivedDataPath ~/.agent-device/ios-runner/derived/tvos"},"_npmUser":{"name":"thymikee","email":"thymikee@gmail.com"},"prettier":{"semi":true,"printWidth":100,"singleQuote":true,"trailingComma":"all"},"_npmVersion":"11.6.2","description":"Unified control plane for physical and virtual devices via an agent-driven CLI.","directories":{},"_nodeVersion":"24.13.0","dependencies":{"@clack/prompts":"^1.0.0"},"_hasShrinkwrap":false,"devDependencies":{"prettier":"^3.3.3","typescript":"^5.9.3","@rslib/core":"0.19.4","@types/node":"^22.0.0"},"_npmOperationalInternal":{"tmp":"tmp/agent-device_0.8.1_1773657241664_0.6353038922730336","host":"s3://npm-registry-packages-npm-production"}},"0.8.2":{"name":"agent-device","version":"0.8.2","keywords":["agent","device","cli","adb","simctl","devicectl","ios","android"],"author":{"name":"Callstack"},"license":"MIT","_id":"agent-device@0.8.2","maintainers":[{"name":"thymikee","email":"thymikee@gmail.com"}],"bin":{"agent-device":"bin/agent-device.mjs"},"dist":{"shasum":"d32df51899a568de8f3ee369c0497eefa7a2c739","tarball":"https://registry.npmjs.org/agent-device/-/agent-device-0.8.2.tgz","fileCount":174,"integrity":"sha512-Y/wlTq6oSEBVID0QD+uqBkY5XcUg+lWSVcf7R5o98MbCQF5hio5UmbVBS+syzGKnOqx5+Ma28P3bg3p758PO/w==","signatures":[{"sig":"MEUCIGeaEp4nss/0xbr8eIjV094Xxsjpn5BiK+XeEqbnmHvZAiEArVUXbK4vbeEZaaJHT3tdwZfC8KMQwn/9M/7f0rAtYx0=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":863994},"main":"dist/src/index.js","type":"module","types":"dist/src/index.d.ts","engines":{"node":">=22"},"exports":{".":{"types":"./dist/src/index.d.ts","import":"./dist/src/index.js"}},"gitHead":"8e5cc3a748181d9530e1fc5f7bd03d5b89ab2305","scripts":{"ad":"node bin/agent-device.mjs","lint":"node --eval \"console.log('no lint')\"","test":"node --test","build":"rslib build","format":"prettier --write .","prepack":"pnpm build:all","build:all":"pnpm build:node && pnpm build:xcuitest","test:unit":"node --test src/__tests__/*.test.ts src/core/__tests__/*.test.ts src/daemon/__tests__/*.test.ts src/daemon/handlers/__tests__/*.test.ts src/platforms/**/__tests__/*.test.ts src/utils/**/__tests__/*.test.ts","typecheck":"tsc -p tsconfig.json","build:node":"pnpm build && pnpm clean:daemon","test:smoke":"node --test test/integration/smoke-*.test.ts","clean:daemon":"rm -f ~/.agent-device/daemon.json && rm -f ~/.agent-device/daemon.lock","build:xcuitest":"pnpm build:xcuitest:ios","prepublishOnly":"pnpm build:all","test:integration":"node --test test/integration/*.test.ts","build:xcuitest:ios":"rm -rf ~/.agent-device/ios-runner/derived/device && xcodebuild build-for-testing -project ios-runner/AgentDeviceRunner/AgentDeviceRunner.xcodeproj -scheme AgentDeviceRunner -destination \"generic/platform=iOS Simulator\" -derivedDataPath ~/.agent-device/ios-runner/derived","build:xcuitest:tvos":"rm -rf ~/.agent-device/ios-runner/derived/tvos && xcodebuild build-for-testing -project ios-runner/AgentDeviceRunner/AgentDeviceRunner.xcodeproj -scheme AgentDeviceRunner -destination \"generic/platform=tvOS Simulator\" -derivedDataPath ~/.agent-device/ios-runner/derived/tvos"},"_npmUser":{"name":"thymikee","email":"thymikee@gmail.com"},"prettier":{"semi":true,"printWidth":100,"singleQuote":true,"trailingComma":"all"},"_npmVersion":"11.6.2","description":"Unified control plane for physical and virtual devices via an agent-driven CLI.","directories":{},"_nodeVersion":"24.13.0","dependencies":{"@clack/prompts":"^1.0.0"},"_hasShrinkwrap":false,"devDependencies":{"prettier":"^3.3.3","typescript":"^5.9.3","@rslib/core":"0.19.4","@types/node":"^22.0.0"},"_npmOperationalInternal":{"tmp":"tmp/agent-device_0.8.2_1773662736273_0.36687168715163576","host":"s3://npm-registry-packages-npm-production"}},"0.8.3":{"name":"agent-device","version":"0.8.3","keywords":["agent","device","cli","adb","simctl","devicectl","ios","android"],"author":{"name":"Callstack"},"license":"MIT","_id":"agent-device@0.8.3","maintainers":[{"name":"thymikee","email":"thymikee@gmail.com"}],"bin":{"agent-device":"bin/agent-device.mjs"},"dist":{"shasum":"9a94170cf33472b7119a4dfcd262b4fca4dddb4c","tarball":"https://registry.npmjs.org/agent-device/-/agent-device-0.8.3.tgz","fileCount":174,"integrity":"sha512-sOFD9QE3nt1aZtldcw47rRPdcqdjEZAXECJ376sSQog6hEdIfZsbBAXuJ93HRNDSsAJEcLBukN0iyny6YKRNlQ==","signatures":[{"sig":"MEUCIDpQZXtlIjekn3yJeutVqJsjXF/1NvRKaCGu/B6Y/e9UAiEAilYFGJXOOacM3eppEldwcyII2AzldcPOEO0zUskgc1k=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":866870},"main":"dist/src/index.js","type":"module","types":"dist/src/index.d.ts","engines":{"node":">=22"},"exports":{".":{"types":"./dist/src/index.d.ts","import":"./dist/src/index.js"}},"gitHead":"ecf1378a7e0f85276c36a962e413c71e62502511","scripts":{"ad":"node bin/agent-device.mjs","lint":"node --eval \"console.log('no lint')\"","test":"node --test","build":"rslib build","format":"prettier --write .","prepack":"pnpm build:all","build:all":"pnpm build:node && pnpm build:xcuitest","test:unit":"node --test src/__tests__/*.test.ts src/core/__tests__/*.test.ts src/daemon/__tests__/*.test.ts src/daemon/handlers/__tests__/*.test.ts src/platforms/**/__tests__/*.test.ts src/utils/**/__tests__/*.test.ts","typecheck":"tsc -p tsconfig.json","build:node":"pnpm build && pnpm clean:daemon","test:smoke":"node --test test/integration/smoke-*.test.ts","clean:daemon":"rm -f ~/.agent-device/daemon.json && rm -f ~/.agent-device/daemon.lock","build:xcuitest":"pnpm build:xcuitest:ios","prepublishOnly":"pnpm build:all","test:integration":"node --test test/integration/*.test.ts","build:xcuitest:ios":"rm -rf ~/.agent-device/ios-runner/derived/device && xcodebuild build-for-testing -project ios-runner/AgentDeviceRunner/AgentDeviceRunner.xcodeproj -scheme AgentDeviceRunner -destination \"generic/platform=iOS Simulator\" -derivedDataPath ~/.agent-device/ios-runner/derived","build:xcuitest:tvos":"rm -rf ~/.agent-device/ios-runner/derived/tvos && xcodebuild build-for-testing -project ios-runner/AgentDeviceRunner/AgentDeviceRunner.xcodeproj -scheme AgentDeviceRunner -destination \"generic/platform=tvOS Simulator\" -derivedDataPath ~/.agent-device/ios-runner/derived/tvos"},"_npmUser":{"name":"thymikee","email":"thymikee@gmail.com"},"prettier":{"semi":true,"printWidth":100,"singleQuote":true,"trailingComma":"all"},"_npmVersion":"11.6.2","description":"Unified control plane for physical and virtual devices via an agent-driven CLI.","directories":{},"_nodeVersion":"24.13.0","dependencies":{"@clack/prompts":"^1.0.0"},"_hasShrinkwrap":false,"devDependencies":{"prettier":"^3.3.3","typescript":"^5.9.3","@rslib/core":"0.19.4","@types/node":"^22.0.0"},"_npmOperationalInternal":{"tmp":"tmp/agent-device_0.8.3_1773666672948_0.008043898568751873","host":"s3://npm-registry-packages-npm-production"}},"0.8.4":{"name":"agent-device","version":"0.8.4","keywords":["agent","device","cli","adb","simctl","devicectl","ios","android"],"author":{"name":"Callstack"},"license":"MIT","_id":"agent-device@0.8.4","maintainers":[{"name":"thymikee","email":"thymikee@gmail.com"}],"bin":{"agent-device":"bin/agent-device.mjs"},"dist":{"shasum":"b4406c24805e16361da84d20c569daae204e2050","tarball":"https://registry.npmjs.org/agent-device/-/agent-device-0.8.4.tgz","fileCount":192,"integrity":"sha512-W/UVO9gTbP6A7FlEBobmCDAEzyo98rRnggyHjtGKvlvQrtGWzdke+ZSkBCiVZAcEYCyu0yQKgWee+4XB2h8sgQ==","signatures":[{"sig":"MEQCIEei82/Onjhmvw9MoBrk/3npR2yBEhCONZp94VZILMz/AiAcHXxDVtV7/uei+9nQ9UzNclD6q3h5eSEclFLXg6NTvw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":891044},"main":"dist/src/index.js","type":"module","types":"dist/src/index.d.ts","engines":{"node":">=22"},"exports":{".":{"types":"./dist/src/index.d.ts","import":"./dist/src/index.js"}},"gitHead":"905f8ea9360f9aab86b0fa4b436302fbae8cbfa2","scripts":{"ad":"node bin/agent-device.mjs","test":"node --test","build":"rslib build","format":"prettier --write src test skills","prepack":"pnpm build:all","build:all":"pnpm build:node && pnpm build:xcuitest","test:unit":"node --test src/__tests__/*.test.ts src/core/__tests__/*.test.ts src/daemon/__tests__/*.test.ts src/daemon/handlers/__tests__/*.test.ts src/platforms/**/__tests__/*.test.ts src/utils/**/__tests__/*.test.ts","typecheck":"tsc -p tsconfig.json","build:node":"pnpm build && pnpm clean:daemon","test:smoke":"node --test test/integration/smoke-*.test.ts","clean:daemon":"rm -f ~/.agent-device/daemon.json && rm -f ~/.agent-device/daemon.lock","build:xcuitest":"pnpm build:xcuitest:ios","prepublishOnly":"pnpm build:all","test:integration":"node --test test/integration/*.test.ts","build:xcuitest:ios":"rm -rf ~/.agent-device/ios-runner/derived/device && xcodebuild build-for-testing -project ios-runner/AgentDeviceRunner/AgentDeviceRunner.xcodeproj -scheme AgentDeviceRunner -destination \"generic/platform=iOS Simulator\" -derivedDataPath ~/.agent-device/ios-runner/derived","build:xcuitest:tvos":"rm -rf ~/.agent-device/ios-runner/derived/tvos && xcodebuild build-for-testing -project ios-runner/AgentDeviceRunner/AgentDeviceRunner.xcodeproj -scheme AgentDeviceRunner -destination \"generic/platform=tvOS Simulator\" -derivedDataPath ~/.agent-device/ios-runner/derived/tvos"},"_npmUser":{"name":"thymikee","email":"thymikee@gmail.com"},"prettier":{"semi":true,"printWidth":100,"singleQuote":true,"trailingComma":"all"},"_npmVersion":"11.6.2","description":"Unified control plane for physical and virtual devices via an agent-driven CLI.","directories":{},"_nodeVersion":"24.13.0","dependencies":{"pngjs":"^7.0.0"},"_hasShrinkwrap":false,"devDependencies":{"prettier":"^3.3.3","typescript":"^5.9.3","@rslib/core":"0.19.4","@types/node":"^22.0.0","@types/pngjs":"^6.0.5"},"_npmOperationalInternal":{"tmp":"tmp/agent-device_0.8.4_1773771577797_0.3511000517522289","host":"s3://npm-registry-packages-npm-production"}},"0.8.5":{"name":"agent-device","version":"0.8.5","keywords":["agent","device","cli","adb","simctl","devicectl","ios","android"],"author":{"name":"Callstack"},"license":"MIT","_id":"agent-device@0.8.5","maintainers":[{"name":"thymikee","email":"thymikee@gmail.com"}],"bin":{"agent-device":"bin/agent-device.mjs"},"dist":{"shasum":"f0faa93ecac93e232d4c7a324da94ffb2331b1ea","tarball":"https://registry.npmjs.org/agent-device/-/agent-device-0.8.5.tgz","fileCount":192,"integrity":"sha512-j0uO4Wh37wOCpnxT9vRwlCSKdO8O0xq/I9dN9SLVOVXN6XxR1Ww/vP1gZcpLFaj4cwiUyAEg2DDAe3/WyQZ+jg==","signatures":[{"sig":"MEQCIE6slVSudaHLiejPxOTowdGdy69Krf7BySYI+ItAu0VnAiAXsU2KjSdClbJON4g/yVkylro1scRncy1d+qDqwyHzPw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":894145},"main":"dist/src/index.js","type":"module","types":"dist/src/index.d.ts","engines":{"node":">=22"},"exports":{".":{"types":"./dist/src/index.d.ts","import":"./dist/src/index.js"}},"gitHead":"be734d1d5fb87b0ee84439860d6021dc87f293a3","scripts":{"ad":"node bin/agent-device.mjs","test":"node --test","build":"rslib build","format":"prettier --write src test skills","prepack":"pnpm build:all","build:all":"pnpm build:node && pnpm build:xcuitest","test:unit":"node --test src/__tests__/*.test.ts src/core/__tests__/*.test.ts src/daemon/__tests__/*.test.ts src/daemon/handlers/__tests__/*.test.ts src/platforms/**/__tests__/*.test.ts src/utils/**/__tests__/*.test.ts","typecheck":"tsc -p tsconfig.json","build:node":"pnpm build && pnpm clean:daemon","test:smoke":"node --test test/integration/smoke-*.test.ts","clean:daemon":"rm -f ~/.agent-device/daemon.json && rm -f ~/.agent-device/daemon.lock","build:xcuitest":"pnpm build:xcuitest:ios","prepublishOnly":"pnpm build:all","test:integration":"node --test test/integration/*.test.ts","build:xcuitest:ios":"rm -rf ~/.agent-device/ios-runner/derived/device && xcodebuild build-for-testing -project ios-runner/AgentDeviceRunner/AgentDeviceRunner.xcodeproj -scheme AgentDeviceRunner -destination \"generic/platform=iOS Simulator\" -derivedDataPath ~/.agent-device/ios-runner/derived","build:xcuitest:tvos":"rm -rf ~/.agent-device/ios-runner/derived/tvos && xcodebuild build-for-testing -project ios-runner/AgentDeviceRunner/AgentDeviceRunner.xcodeproj -scheme AgentDeviceRunner -destination \"generic/platform=tvOS Simulator\" -derivedDataPath ~/.agent-device/ios-runner/derived/tvos"},"_npmUser":{"name":"thymikee","email":"thymikee@gmail.com"},"prettier":{"semi":true,"printWidth":100,"singleQuote":true,"trailingComma":"all"},"_npmVersion":"11.6.2","description":"Unified control plane for physical and virtual devices via an agent-driven CLI.","directories":{},"_nodeVersion":"24.13.0","dependencies":{"pngjs":"^7.0.0"},"_hasShrinkwrap":false,"devDependencies":{"prettier":"^3.3.3","typescript":"^5.9.3","@rslib/core":"0.19.4","@types/node":"^22.0.0","@types/pngjs":"^6.0.5"},"_npmOperationalInternal":{"tmp":"tmp/agent-device_0.8.5_1773834520503_0.9073930342088672","host":"s3://npm-registry-packages-npm-production"}},"0.8.6":{"name":"agent-device","version":"0.8.6","keywords":["agent","device","cli","adb","simctl","devicectl","ios","android"],"author":{"name":"Callstack"},"license":"MIT","_id":"agent-device@0.8.6","maintainers":[{"name":"thymikee","email":"thymikee@gmail.com"}],"bin":{"agent-device":"bin/agent-device.mjs"},"dist":{"shasum":"0aeb6b8b67ec291959c44a047096c80e254002d8","tarball":"https://registry.npmjs.org/agent-device/-/agent-device-0.8.6.tgz","fileCount":193,"integrity":"sha512-1tgv6wfkdIBr9dtmvtoZSFNPUtznCi3nkgzvaQ3wSj1VvUAxyQqZ9LkIm+oxNsdvWlbitdh7bglT6i7yyL7jBA==","signatures":[{"sig":"MEYCIQDbbo+g4LHPGDo5P3tQtlCybe7oKadfhm9oLX+4/ejG5wIhAP5Jqo7WkaQMHnowyf/KlgErJkn5T71v8LHpY65mdcnH","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":908408},"main":"dist/src/index.js","type":"module","types":"dist/src/index.d.ts","engines":{"node":">=22"},"exports":{".":{"types":"./dist/src/index.d.ts","import":"./dist/src/index.js"}},"gitHead":"5c1601c7d8ba101a7cfcc5aa43ada648a5474ab3","scripts":{"ad":"node bin/agent-device.mjs","test":"node --test","build":"rslib build","format":"prettier --write src test skills","prepack":"pnpm build:all","build:all":"pnpm build:node && pnpm build:xcuitest","test:unit":"node --test src/__tests__/*.test.ts src/core/__tests__/*.test.ts src/daemon/__tests__/*.test.ts src/daemon/handlers/__tests__/*.test.ts src/platforms/**/__tests__/*.test.ts src/utils/**/__tests__/*.test.ts","typecheck":"tsc -p tsconfig.json","build:node":"pnpm build && pnpm clean:daemon","test:smoke":"node --test test/integration/smoke-*.test.ts","clean:daemon":"rm -f ~/.agent-device/daemon.json && rm -f ~/.agent-device/daemon.lock","build:xcuitest":"pnpm build:xcuitest:ios","prepublishOnly":"pnpm build:all","test:integration":"node --test test/integration/*.test.ts","build:xcuitest:ios":"rm -rf ~/.agent-device/ios-runner/derived/device && xcodebuild build-for-testing -project ios-runner/AgentDeviceRunner/AgentDeviceRunner.xcodeproj -scheme AgentDeviceRunner -destination \"generic/platform=iOS Simulator\" -derivedDataPath ~/.agent-device/ios-runner/derived","build:xcuitest:tvos":"rm -rf ~/.agent-device/ios-runner/derived/tvos && xcodebuild build-for-testing -project ios-runner/AgentDeviceRunner/AgentDeviceRunner.xcodeproj -scheme AgentDeviceRunner -destination \"generic/platform=tvOS Simulator\" -derivedDataPath ~/.agent-device/ios-runner/derived/tvos"},"_npmUser":{"name":"thymikee","email":"thymikee@gmail.com"},"prettier":{"semi":true,"printWidth":100,"singleQuote":true,"trailingComma":"all"},"_npmVersion":"11.6.2","description":"Unified control plane for physical and virtual devices via an agent-driven CLI.","directories":{},"_nodeVersion":"24.13.0","dependencies":{"pngjs":"^7.0.0"},"_hasShrinkwrap":false,"devDependencies":{"prettier":"^3.3.3","typescript":"^5.9.3","@rslib/core":"0.19.4","@types/node":"^22.0.0","@types/pngjs":"^6.0.5"},"_npmOperationalInternal":{"tmp":"tmp/agent-device_0.8.6_1773847858648_0.36767137030938457","host":"s3://npm-registry-packages-npm-production"}},"0.9.0":{"name":"agent-device","version":"0.9.0","keywords":["agent","device","cli","adb","simctl","devicectl","ios","android"],"author":{"name":"Callstack"},"license":"MIT","_id":"agent-device@0.9.0","maintainers":[{"name":"thymikee","email":"thymikee@gmail.com"}],"bin":{"agent-device":"bin/agent-device.mjs"},"dist":{"shasum":"abc9db9a0c4cc3889297911728792778ff10ad50","tarball":"https://registry.npmjs.org/agent-device/-/agent-device-0.9.0.tgz","fileCount":196,"integrity":"sha512-HypKS+e/ESxfQqnLIznwAxSKznNdBbzpT4XHiuMIoC53fZix3mdfi9/HFaxw+bQrvEYU6a5Uvb4GJZJ5Jf8LYA==","signatures":[{"sig":"MEUCIFb1/FgeuVEFW96cXL2DZP0qjV6BUqYzrN94ob9fgAb3AiEA1iaid30X5CtunIyU+LRXaLyogKVieNiBlydKWvk+PA4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":914490},"main":"dist/src/index.js","type":"module","types":"dist/src/index.d.ts","engines":{"node":">=22"},"exports":{".":{"types":"./dist/src/index.d.ts","import":"./dist/src/index.js"}},"gitHead":"9def661262372da2c0e46260d70dfd22fbdba32d","scripts":{"ad":"node bin/agent-device.mjs","test":"node --test","build":"rslib build","format":"prettier --write src test skills","prepack":"pnpm build:all","build:all":"pnpm build:node && pnpm build:xcuitest","test:unit":"node --test src/__tests__/*.test.ts src/core/__tests__/*.test.ts src/daemon/__tests__/*.test.ts src/daemon/handlers/__tests__/*.test.ts src/platforms/**/__tests__/*.test.ts src/utils/**/__tests__/*.test.ts","typecheck":"tsc -p tsconfig.json","build:node":"pnpm build && pnpm clean:daemon","test:smoke":"node --test test/integration/smoke-*.test.ts","clean:daemon":"rm -f ~/.agent-device/daemon.json && rm -f ~/.agent-device/daemon.lock","build:xcuitest":"pnpm build:xcuitest:ios","prepublishOnly":"pnpm build:all","test:integration":"node --test test/integration/*.test.ts","build:xcuitest:ios":"rm -rf ~/.agent-device/ios-runner/derived/device && xcodebuild build-for-testing -project ios-runner/AgentDeviceRunner/AgentDeviceRunner.xcodeproj -scheme AgentDeviceRunner -destination \"generic/platform=iOS Simulator\" -derivedDataPath ~/.agent-device/ios-runner/derived","build:xcuitest:tvos":"rm -rf ~/.agent-device/ios-runner/derived/tvos && xcodebuild build-for-testing -project ios-runner/AgentDeviceRunner/AgentDeviceRunner.xcodeproj -scheme AgentDeviceRunner -destination \"generic/platform=tvOS Simulator\" -derivedDataPath ~/.agent-device/ios-runner/derived/tvos"},"_npmUser":{"name":"thymikee","email":"thymikee@gmail.com"},"prettier":{"semi":true,"printWidth":100,"singleQuote":true,"trailingComma":"all"},"_npmVersion":"11.6.2","description":"Unified control plane for physical and virtual devices via an agent-driven CLI.","directories":{},"_nodeVersion":"24.13.0","dependencies":{"pngjs":"^7.0.0"},"_hasShrinkwrap":false,"devDependencies":{"prettier":"^3.3.3","typescript":"^5.9.3","@rslib/core":"0.19.4","@types/node":"^22.0.0","@types/pngjs":"^6.0.5"},"_npmOperationalInternal":{"tmp":"tmp/agent-device_0.9.0_1774015726658_0.45350394767694446","host":"s3://npm-registry-packages-npm-production"}},"0.10.0":{"name":"agent-device","version":"0.10.0","keywords":["agent","device","cli","adb","simctl","devicectl","ios","android"],"author":{"name":"Callstack"},"license":"MIT","_id":"agent-device@0.10.0","maintainers":[{"name":"thymikee","email":"thymikee@gmail.com"}],"bin":{"agent-device":"bin/agent-device.mjs"},"dist":{"shasum":"46d2124afbbfbd1ec29339c1a849977e49fb9861","tarball":"https://registry.npmjs.org/agent-device/-/agent-device-0.10.0.tgz","fileCount":219,"integrity":"sha512-9bm/OnuULN5f/+Y18ns0Edo1gumKKoEr8+vnDulystiZ298LPf3Fx9+HUgNsLuOjSIxVAxDLTKSy36yfjFnSGw==","signatures":[{"sig":"MEQCIGxNzmnj6wWZ+8xYXF6aos9JQq2yrOLiAiX6Mft4ygAKAiB9wCJOpFh3yTr3Jn5mxR4lhsvXfoOf1qK10FHBX/cM5w==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":963382},"main":"dist/src/index.js","type":"module","types":"dist/src/index.d.ts","engines":{"node":">=22"},"exports":{".":{"types":"./dist/src/index.d.ts","import":"./dist/src/index.js"}},"gitHead":"92f4dfe73164b006911f3495c828f6bf2a9ca865","scripts":{"ad":"node bin/agent-device.mjs","test":"node --test","build":"rslib build","format":"prettier --write src test skills","prepack":"pnpm build:all","build:all":"pnpm build:node && pnpm build:xcuitest","test:unit":"node --test src/__tests__/*.test.ts src/core/__tests__/*.test.ts src/daemon/__tests__/*.test.ts src/daemon/handlers/__tests__/*.test.ts src/platforms/**/__tests__/*.test.ts src/utils/**/__tests__/*.test.ts","typecheck":"tsc -p tsconfig.json","build:node":"pnpm build && pnpm clean:daemon","test:smoke":"node --test test/integration/smoke-*.test.ts","clean:daemon":"rm -f ~/.agent-device/daemon.json && rm -f ~/.agent-device/daemon.lock","build:xcuitest":"pnpm build:xcuitest:ios && pnpm build:xcuitest:macos","prepublishOnly":"pnpm build:all","test:integration":"node --test test/integration/*.test.ts","build:xcuitest:ios":"rm -rf ~/.agent-device/ios-runner/derived/device && xcodebuild build-for-testing -project ios-runner/AgentDeviceRunner/AgentDeviceRunner.xcodeproj -scheme AgentDeviceRunner -destination \"generic/platform=iOS Simulator\" -derivedDataPath ~/.agent-device/ios-runner/derived","build:xcuitest:tvos":"rm -rf ~/.agent-device/ios-runner/derived/tvos && xcodebuild build-for-testing -project ios-runner/AgentDeviceRunner/AgentDeviceRunner.xcodeproj -scheme AgentDeviceRunner -destination \"generic/platform=tvOS Simulator\" -derivedDataPath ~/.agent-device/ios-runner/derived/tvos","build:xcuitest:macos":"rm -rf ~/.agent-device/ios-runner/derived/macos && xcodebuild build-for-testing -project ios-runner/AgentDeviceRunner/AgentDeviceRunner.xcodeproj -scheme AgentDeviceRunner -destination \"platform=macOS,arch=$(uname -m)\" -derivedDataPath ~/.agent-device/ios-runner/derived/macos CODE_SIGNING_ALLOWED=NO CODE_SIGNING_REQUIRED=NO CODE_SIGN_IDENTITY=\"\" DEVELOPMENT_TEAM=\"\" COMPILER_INDEX_STORE_ENABLE=NO ENABLE_CODE_COVERAGE=NO"},"_npmUser":{"name":"thymikee","email":"thymikee@gmail.com"},"prettier":{"semi":true,"printWidth":100,"singleQuote":true,"trailingComma":"all"},"_npmVersion":"11.6.2","description":"Unified control plane for physical and virtual devices via an agent-driven CLI.","directories":{},"_nodeVersion":"24.13.0","dependencies":{"pngjs":"^7.0.0"},"_hasShrinkwrap":false,"devDependencies":{"prettier":"^3.3.3","typescript":"^5.9.3","@rslib/core":"0.19.4","@types/node":"^22.0.0","@types/pngjs":"^6.0.5"},"_npmOperationalInternal":{"tmp":"tmp/agent-device_0.10.0_1774288745170_0.31940239943446125","host":"s3://npm-registry-packages-npm-production"}},"0.10.1":{"name":"agent-device","version":"0.10.1","keywords":["agent","device","cli","adb","simctl","devicectl","ios","android"],"author":{"name":"Callstack"},"license":"MIT","_id":"agent-device@0.10.1","maintainers":[{"name":"thymikee","email":"thymikee@gmail.com"}],"bin":{"agent-device":"bin/agent-device.mjs"},"dist":{"shasum":"30316996d489c1416020c6a8af8cefb7ba577ec4","tarball":"https://registry.npmjs.org/agent-device/-/agent-device-0.10.1.tgz","fileCount":233,"integrity":"sha512-3k7yoXE4yVtTL0qokeurOtnO3W9bgMcQl88QUtp9dkSqiOHIczm8e0ynfHn1fMtKiV6N+vjdOcu06Z/ZPpBvFw==","signatures":[{"sig":"MEYCIQCXRRWRoa0afVEn3PM8Fv6XyXf+X1g/FZkTArTTE5l+BQIhAIlX0FlJhUWmGHvy+dZSj9dSlzBdKfwQN21nyl2oRBh4","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":998666},"main":"dist/src/index.js","type":"module","types":"dist/src/index.d.ts","engines":{"node":">=22"},"exports":{".":{"types":"./dist/src/index.d.ts","import":"./dist/src/index.js"}},"gitHead":"eb9573923a161a675ea54571aad6af32d16c9750","scripts":{"ad":"node bin/agent-device.mjs","test":"node --test","build":"rslib build","format":"prettier --write src test skills","prepack":"pnpm build:all","build:all":"pnpm build:node && pnpm build:xcuitest","test:unit":"node --test src/__tests__/*.test.ts src/core/__tests__/*.test.ts src/daemon/__tests__/*.test.ts src/daemon/handlers/__tests__/*.test.ts src/platforms/**/__tests__/*.test.ts src/utils/**/__tests__/*.test.ts","typecheck":"tsc -p tsconfig.json","build:node":"pnpm build && pnpm clean:daemon","test:smoke":"node --test test/integration/smoke-*.test.ts","clean:daemon":"rm -f ~/.agent-device/daemon.json && rm -f ~/.agent-device/daemon.lock","build:xcuitest":"pnpm build:xcuitest:ios && pnpm build:xcuitest:macos","prepublishOnly":"pnpm build:all","test:integration":"node --test test/integration/*.test.ts","build:xcuitest:ios":"rm -rf ~/.agent-device/ios-runner/derived/device && xcodebuild build-for-testing -project ios-runner/AgentDeviceRunner/AgentDeviceRunner.xcodeproj -scheme AgentDeviceRunner -destination \"generic/platform=iOS Simulator\" -derivedDataPath ~/.agent-device/ios-runner/derived","build:xcuitest:tvos":"rm -rf ~/.agent-device/ios-runner/derived/tvos && xcodebuild build-for-testing -project ios-runner/AgentDeviceRunner/AgentDeviceRunner.xcodeproj -scheme AgentDeviceRunner -destination \"generic/platform=tvOS Simulator\" -derivedDataPath ~/.agent-device/ios-runner/derived/tvos","build:xcuitest:macos":"rm -rf ~/.agent-device/ios-runner/derived/macos && xcodebuild build-for-testing -project ios-runner/AgentDeviceRunner/AgentDeviceRunner.xcodeproj -scheme AgentDeviceRunner -destination \"platform=macOS,arch=$(uname -m)\" -derivedDataPath ~/.agent-device/ios-runner/derived/macos CODE_SIGNING_ALLOWED=NO CODE_SIGNING_REQUIRED=NO CODE_SIGN_IDENTITY=\"\" DEVELOPMENT_TEAM=\"\" COMPILER_INDEX_STORE_ENABLE=NO ENABLE_CODE_COVERAGE=NO"},"_npmUser":{"name":"thymikee","email":"thymikee@gmail.com"},"prettier":{"semi":true,"printWidth":100,"singleQuote":true,"trailingComma":"all"},"_npmVersion":"11.6.2","description":"Unified control plane for physical and virtual devices via an agent-driven CLI.","directories":{},"_nodeVersion":"24.13.0","dependencies":{"pngjs":"^7.0.0"},"_hasShrinkwrap":false,"devDependencies":{"prettier":"^3.3.3","typescript":"^5.9.3","@rslib/core":"0.19.4","@types/node":"^22.0.0","@types/pngjs":"^6.0.5"},"_npmOperationalInternal":{"tmp":"tmp/agent-device_0.10.1_1774356149990_0.36061704497235025","host":"s3://npm-registry-packages-npm-production"}},"0.10.2":{"name":"agent-device","version":"0.10.2","keywords":["agent","device","cli","adb","simctl","devicectl","ios","android"],"author":{"name":"Callstack"},"license":"MIT","_id":"agent-device@0.10.2","maintainers":[{"name":"thymikee","email":"thymikee@gmail.com"}],"bin":{"agent-device":"bin/agent-device.mjs"},"dist":{"shasum":"cb269e7e52a9086676dd1da35a02f0f65ce64f90","tarball":"https://registry.npmjs.org/agent-device/-/agent-device-0.10.2.tgz","fileCount":235,"integrity":"sha512-ztUccnahSHlVAdUecspJGgFY7XfdGbW4s+saZRz2Nv9V5UNTVvwZ3jne0ClehAW6+hRv3u8jZ579D8qmcV6Phw==","signatures":[{"sig":"MEUCIFbYq3EMAAb37DUoVvFJhZt0+4O7eokb4IF7sGsp9KWTAiEAyvUgJ0drmLtwK8F5+ivV+aF/UQqBDtVtmdw/IWND29M=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1040500},"main":"dist/src/index.js","type":"module","types":"dist/src/index.d.ts","engines":{"node":">=22"},"exports":{".":{"types":"./dist/src/index.d.ts","import":"./dist/src/index.js"}},"gitHead":"ba5e951e1bf7bee32500b9c2df35f5345b77de17","scripts":{"ad":"node bin/agent-device.mjs","test":"node --test","build":"rslib build","format":"prettier --write src test skills","prepack":"pnpm build:all","build:all":"pnpm build:node && pnpm build:xcuitest","test:unit":"node --test src/__tests__/*.test.ts src/core/__tests__/*.test.ts src/daemon/__tests__/*.test.ts src/daemon/handlers/__tests__/*.test.ts src/platforms/**/__tests__/*.test.ts src/utils/**/__tests__/*.test.ts","typecheck":"tsc -p tsconfig.json","build:node":"pnpm build && pnpm clean:daemon","test:smoke":"node --test test/integration/smoke-*.test.ts","clean:daemon":"rm -f ~/.agent-device/daemon.json && rm -f ~/.agent-device/daemon.lock","build:xcuitest":"pnpm build:xcuitest:ios && pnpm build:xcuitest:macos","prepublishOnly":"pnpm build:all","test:integration":"node --test test/integration/*.test.ts","build:macos-helper":"swift build -c release --package-path macos-helper","build:xcuitest:ios":"rm -rf ~/.agent-device/ios-runner/derived/device && xcodebuild build-for-testing -project ios-runner/AgentDeviceRunner/AgentDeviceRunner.xcodeproj -scheme AgentDeviceRunner -destination \"generic/platform=iOS Simulator\" -derivedDataPath ~/.agent-device/ios-runner/derived","build:xcuitest:tvos":"rm -rf ~/.agent-device/ios-runner/derived/tvos && xcodebuild build-for-testing -project ios-runner/AgentDeviceRunner/AgentDeviceRunner.xcodeproj -scheme AgentDeviceRunner -destination \"generic/platform=tvOS Simulator\" -derivedDataPath ~/.agent-device/ios-runner/derived/tvos","build:xcuitest:macos":"rm -rf ~/.agent-device/ios-runner/derived/macos && xcodebuild build-for-testing -project ios-runner/AgentDeviceRunner/AgentDeviceRunner.xcodeproj -scheme AgentDeviceRunner -destination \"platform=macOS,arch=$(uname -m)\" -derivedDataPath ~/.agent-device/ios-runner/derived/macos CODE_SIGNING_ALLOWED=NO CODE_SIGNING_REQUIRED=NO CODE_SIGN_IDENTITY=\"\" DEVELOPMENT_TEAM=\"\" COMPILER_INDEX_STORE_ENABLE=NO ENABLE_CODE_COVERAGE=NO"},"_npmUser":{"name":"thymikee","email":"thymikee@gmail.com"},"prettier":{"semi":true,"printWidth":100,"singleQuote":true,"trailingComma":"all"},"_npmVersion":"11.6.2","description":"Unified control plane for physical and virtual devices via an agent-driven CLI.","directories":{},"_nodeVersion":"24.13.0","dependencies":{"pngjs":"^7.0.0"},"_hasShrinkwrap":false,"devDependencies":{"prettier":"^3.3.3","typescript":"^5.9.3","@rslib/core":"0.19.4","@types/node":"^22.0.0","@types/pngjs":"^6.0.5"},"_npmOperationalInternal":{"tmp":"tmp/agent-device_0.10.2_1774455496235_0.3394891039821626","host":"s3://npm-registry-packages-npm-production"}},"0.10.3":{"name":"agent-device","version":"0.10.3","keywords":["agent","device","cli","adb","simctl","devicectl","ios","android"],"author":{"name":"Callstack"},"license":"MIT","_id":"agent-device@0.10.3","maintainers":[{"name":"thymikee","email":"thymikee@gmail.com"}],"bin":{"agent-device":"bin/agent-device.mjs"},"dist":{"shasum":"c41d545b76aaa6265d943a8bc00435d01e718e25","tarball":"https://registry.npmjs.org/agent-device/-/agent-device-0.10.3.tgz","fileCount":53,"integrity":"sha512-mUONUfW+ftDj+khzG4k0hAfp5TkUSOkP+pX6f3mLZgqt1sNEY+P4Q/FM21sFmPWlQn7ld8qTHfSHlOa9GynSPA==","signatures":[{"sig":"MEUCIGixfmzQhnpnNbcZEZE6iHuovNrue3NzNh5GAGa5DEQ9AiEAiG2HPY6ixmxiBQe3jCIq5oXDnX3qOWX2XDNKZbkk7iU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":947335},"main":"dist/src/index.js","type":"module","types":"dist/src/index.d.ts","engines":{"node":">=22"},"exports":{".":{"types":"./dist/src/index.d.ts","import":"./dist/src/index.js"}},"gitHead":"5c30372c2454c559801d9760b9e8581bb96914bc","scripts":{"ad":"node bin/agent-device.mjs","test":"node --test","build":"rslib build","format":"prettier --write src test skills","prepack":"pnpm build:all","build:all":"pnpm build:node && pnpm build:xcuitest","test:unit":"node --test src/__tests__/*.test.ts src/core/__tests__/*.test.ts src/daemon/__tests__/*.test.ts src/daemon/handlers/__tests__/*.test.ts src/platforms/**/__tests__/*.test.ts src/utils/**/__tests__/*.test.ts","typecheck":"tsc -p tsconfig.json","build:node":"pnpm build && pnpm clean:daemon","test:smoke":"node --test test/integration/smoke-*.test.ts","clean:daemon":"rm -f ~/.agent-device/daemon.json && rm -f ~/.agent-device/daemon.lock","build:xcuitest":"pnpm build:xcuitest:ios && pnpm build:xcuitest:macos","prepublishOnly":"pnpm build:all","test:integration":"node --test test/integration/*.test.ts","build:macos-helper":"swift build -c release --package-path macos-helper","build:xcuitest:ios":"rm -rf ~/.agent-device/ios-runner/derived/device && xcodebuild build-for-testing -project ios-runner/AgentDeviceRunner/AgentDeviceRunner.xcodeproj -scheme AgentDeviceRunner -destination \"generic/platform=iOS Simulator\" -derivedDataPath ~/.agent-device/ios-runner/derived","build:xcuitest:tvos":"rm -rf ~/.agent-device/ios-runner/derived/tvos && xcodebuild build-for-testing -project ios-runner/AgentDeviceRunner/AgentDeviceRunner.xcodeproj -scheme AgentDeviceRunner -destination \"generic/platform=tvOS Simulator\" -derivedDataPath ~/.agent-device/ios-runner/derived/tvos","build:xcuitest:macos":"rm -rf ~/.agent-device/ios-runner/derived/macos && xcodebuild build-for-testing -project ios-runner/AgentDeviceRunner/AgentDeviceRunner.xcodeproj -scheme AgentDeviceRunner -destination \"platform=macOS,arch=$(uname -m)\" -derivedDataPath ~/.agent-device/ios-runner/derived/macos CODE_SIGNING_ALLOWED=NO CODE_SIGNING_REQUIRED=NO CODE_SIGN_IDENTITY=\"\" DEVELOPMENT_TEAM=\"\" COMPILER_INDEX_STORE_ENABLE=NO ENABLE_CODE_COVERAGE=NO"},"_npmUser":{"name":"thymikee","email":"thymikee@gmail.com"},"prettier":{"semi":true,"printWidth":100,"singleQuote":true,"trailingComma":"all"},"_npmVersion":"11.6.2","description":"Unified control plane for physical and virtual devices via an agent-driven CLI.","directories":{},"_nodeVersion":"24.13.0","dependencies":{"pngjs":"^7.0.0"},"_hasShrinkwrap":false,"devDependencies":{"prettier":"^3.3.3","typescript":"^5.9.3","@rslib/core":"0.19.4","@types/node":"^22.0.0","@types/pngjs":"^6.0.5","@microsoft/api-extractor":"^7.52.10"},"_npmOperationalInternal":{"tmp":"tmp/agent-device_0.10.3_1774464980543_0.8849639588533589","host":"s3://npm-registry-packages-npm-production"}},"0.11.0":{"name":"agent-device","version":"0.11.0","keywords":["agent","device","cli","adb","simctl","devicectl","ios","android"],"author":{"name":"Callstack"},"license":"MIT","_id":"agent-device@0.11.0","maintainers":[{"name":"thymikee","email":"thymikee@gmail.com"}],"bin":{"agent-device":"bin/agent-device.mjs"},"dist":{"shasum":"3fbcdf5f9d1cee47ce6062f90a3846d11c36097b","tarball":"https://registry.npmjs.org/agent-device/-/agent-device-0.11.0.tgz","fileCount":54,"integrity":"sha512-Czq7pOAFwJjoeRKea+hegFiyIO49h/L168cHNSc5HbGL+gCFTetjwndsKlRshVerL0lbaNq13ehV4Er8VR+/1A==","signatures":[{"sig":"MEQCIAN69cNNTvgI2FqP9dJsObwvMavSszsa0eaJIc+RcCOsAiBH700aLpGuzReSd+kvbbqilF/ZEIDDzDoWYQkl7RY8Lw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":986692},"main":"dist/src/index.js","type":"module","types":"dist/src/index.d.ts","engines":{"node":">=22"},"exports":{".":{"types":"./dist/src/index.d.ts","import":"./dist/src/index.js"}},"gitHead":"7c36b0f821a316264450e9a5203a0e90d279ca93","scripts":{"ad":"node bin/agent-device.mjs","test":"vitest run","build":"rslib build","format":"prettier --write src test skills","prepack":"pnpm build:all","build:all":"pnpm build:node && pnpm build:xcuitest","test:unit":"vitest run","typecheck":"tsc -p tsconfig.json","build:node":"pnpm build && pnpm clean:daemon","test:smoke":"node --test test/integration/smoke-*.test.ts","clean:daemon":"rm -f ~/.agent-device/daemon.json && rm -f ~/.agent-device/daemon.lock","build:xcuitest":"pnpm build:xcuitest:ios && pnpm build:xcuitest:macos","test:replay:ios":"node --experimental-strip-types src/bin.ts test test/integration/replays/ios/simulator","test:integration":"node --test test/integration/*.test.ts","test:replay:macos":"node --experimental-strip-types src/bin.ts test test/integration/replays/macos","build:macos-helper":"swift build -c release --package-path macos-helper","build:xcuitest:ios":"rm -rf ~/.agent-device/ios-runner/derived/device && xcodebuild build-for-testing -project ios-runner/AgentDeviceRunner/AgentDeviceRunner.xcodeproj -scheme AgentDeviceRunner -destination \"generic/platform=iOS Simulator\" -derivedDataPath ~/.agent-device/ios-runner/derived","build:xcuitest:tvos":"rm -rf ~/.agent-device/ios-runner/derived/tvos && xcodebuild build-for-testing -project ios-runner/AgentDeviceRunner/AgentDeviceRunner.xcodeproj -scheme AgentDeviceRunner -destination \"generic/platform=tvOS Simulator\" -derivedDataPath ~/.agent-device/ios-runner/derived/tvos","test:replay:android":"node --experimental-strip-types src/bin.ts test test/integration/replays/android","build:xcuitest:macos":"rm -rf ~/.agent-device/ios-runner/derived/macos && xcodebuild build-for-testing -project ios-runner/AgentDeviceRunner/AgentDeviceRunner.xcodeproj -scheme AgentDeviceRunner -destination \"platform=macOS,arch=$(uname -m)\" -derivedDataPath ~/.agent-device/ios-runner/derived/macos CODE_SIGNING_ALLOWED=NO CODE_SIGNING_REQUIRED=NO CODE_SIGN_IDENTITY=\"\" DEVELOPMENT_TEAM=\"\" COMPILER_INDEX_STORE_ENABLE=NO ENABLE_CODE_COVERAGE=NO","test:replay:ios-device":"node --experimental-strip-types src/bin.ts test test/integration/replays/ios/device"},"_npmUser":{"name":"thymikee","email":"thymikee@gmail.com"},"prettier":{"semi":true,"printWidth":100,"singleQuote":true,"trailingComma":"all"},"_npmVersion":"11.6.2","description":"Unified control plane for physical and virtual devices via an agent-driven CLI.","directories":{},"_nodeVersion":"24.13.0","dependencies":{"pngjs":"^7.0.0"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^4.1.2","prettier":"^3.3.3","typescript":"^5.9.3","@rslib/core":"0.19.4","@types/node":"^22.0.0","@types/pngjs":"^6.0.5","@microsoft/api-extractor":"^7.52.10"},"_npmOperationalInternal":{"tmp":"tmp/agent-device_0.11.0_1774626716415_0.5426045204449832","host":"s3://npm-registry-packages-npm-production"}},"0.11.1":{"name":"agent-device","version":"0.11.1","keywords":["agent","device","cli","adb","simctl","devicectl","ios","android"],"author":{"name":"Callstack"},"license":"MIT","_id":"agent-device@0.11.1","maintainers":[{"name":"thymikee","email":"thymikee@gmail.com"}],"bin":{"agent-device":"bin/agent-device.mjs"},"dist":{"shasum":"e42626eaaf59dcbd4e62c6d479bfe36d68fa731a","tarball":"https://registry.npmjs.org/agent-device/-/agent-device-0.11.1.tgz","fileCount":54,"integrity":"sha512-ieB0dYaV6jZtxdLNnh4Nw5qLNL+0AHDPFe/ZsTwlZL4rLTvmjlNc9rOz7x910Sw1+nmIRlZgfqOd6usmvQ6tQA==","signatures":[{"sig":"MEYCIQCgTXxeIYzAUgTetI31IODCXH4LXTfYvKP6WY0cciQStAIhAMmZPyOvDn+u+331AXrCDn00JqkPVQcipP4/iuztjCGV","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":995032},"main":"dist/src/index.js","type":"module","types":"dist/src/index.d.ts","engines":{"node":">=22"},"exports":{".":{"types":"./dist/src/index.d.ts","import":"./dist/src/index.js"}},"gitHead":"153ac82c78263f2ad787e8a9d945f11f32fb1054","scripts":{"ad":"node bin/agent-device.mjs","test":"vitest run","build":"rslib build","format":"prettier --write src test skills","prepack":"pnpm build:all","build:all":"pnpm build:node && pnpm build:xcuitest","test:unit":"vitest run","typecheck":"tsc -p tsconfig.json","build:node":"pnpm build && pnpm clean:daemon","test:smoke":"node --test test/integration/smoke-*.test.ts","clean:daemon":"rm -f ~/.agent-device/daemon.json && rm -f ~/.agent-device/daemon.lock","build:xcuitest":"pnpm build:xcuitest:ios && pnpm build:xcuitest:macos","test:replay:ios":"node --experimental-strip-types src/bin.ts test test/integration/replays/ios/simulator","test:integration":"node --test test/integration/*.test.ts","test:replay:macos":"node --experimental-strip-types src/bin.ts test test/integration/replays/macos","build:macos-helper":"swift build -c release --package-path macos-helper","build:xcuitest:ios":"AGENT_DEVICE_XCUITEST_PLATFORM=ios AGENT_DEVICE_IOS_CLEAN_DERIVED=1 sh ./scripts/build-xcuitest-apple.sh","build:xcuitest:tvos":"AGENT_DEVICE_XCUITEST_PLATFORM=tvos AGENT_DEVICE_IOS_CLEAN_DERIVED=1 sh ./scripts/build-xcuitest-apple.sh","test:replay:android":"node --experimental-strip-types src/bin.ts test test/integration/replays/android","build:xcuitest:macos":"AGENT_DEVICE_XCUITEST_PLATFORM=macos sh ./scripts/build-xcuitest-apple.sh","test:replay:ios-device":"node --experimental-strip-types src/bin.ts test test/integration/replays/ios/device"},"_npmUser":{"name":"thymikee","email":"thymikee@gmail.com"},"prettier":{"semi":true,"printWidth":100,"singleQuote":true,"trailingComma":"all"},"_npmVersion":"11.6.2","description":"Unified control plane for physical and virtual devices via an agent-driven CLI.","directories":{},"_nodeVersion":"24.13.0","dependencies":{"pngjs":"^7.0.0"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^4.1.2","prettier":"^3.3.3","typescript":"^5.9.3","@rslib/core":"0.19.4","@types/node":"^22.0.0","@types/pngjs":"^6.0.5","@microsoft/api-extractor":"^7.52.10"},"_npmOperationalInternal":{"tmp":"tmp/agent-device_0.11.1_1774636867892_0.7018637198736946","host":"s3://npm-registry-packages-npm-production"}},"0.11.2":{"name":"agent-device","version":"0.11.2","keywords":["agent","device","cli","adb","simctl","devicectl","ios","android"],"author":{"name":"Callstack"},"license":"MIT","_id":"agent-device@0.11.2","maintainers":[{"name":"thymikee","email":"thymikee@gmail.com"}],"bin":{"agent-device":"bin/agent-device.mjs"},"dist":{"shasum":"86587232eb0a46995cf5185eef09ede92eba2f8f","tarball":"https://registry.npmjs.org/agent-device/-/agent-device-0.11.2.tgz","fileCount":55,"integrity":"sha512-PisXqQR3wC1bNgIZlKR7V/kWRFjsEZ3M+6DLLihbBh8dp3Plc5KHWYtW9fsmYy6LZtAAK71B4zhWOtZvaNdefw==","signatures":[{"sig":"MEYCIQDDdg/wGtMzKX/cnXtj3kO3iDOejsrU1hY9FNHUFGl3OQIhALXOvUouFH4XXFG7jwss3c90tR7YSenILdb40KEF1i0B","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1012627},"main":"dist/src/index.js","type":"module","types":"dist/src/index.d.ts","engines":{"node":">=22"},"exports":{".":{"types":"./dist/src/index.d.ts","import":"./dist/src/index.js"}},"gitHead":"ce378593ac11f02cdaa676d022d9e978798f0572","scripts":{"ad":"node bin/agent-device.mjs","lint":"oxlint . --deny-warnings","test":"vitest run","build":"rslib build","check":"pnpm check:tooling && pnpm check:unit","format":"oxfmt --write src test skills package.json tsconfig.json .oxlintrc.json .oxfmtrc.json","prepack":"pnpm build:all","build:all":"pnpm build:node && pnpm build:xcuitest","test:unit":"vitest run","typecheck":"tsc -p tsconfig.json","build:node":"pnpm build && pnpm clean:daemon","check:unit":"pnpm test:unit && pnpm test:smoke","test:smoke":"node --test test/integration/smoke-*.test.ts","check:quick":"pnpm lint && pnpm typecheck","clean:daemon":"rm -f ~/.agent-device/daemon.json && rm -f ~/.agent-device/daemon.lock","check:tooling":"pnpm lint && pnpm typecheck && pnpm build","build:xcuitest":"pnpm build:xcuitest:ios && pnpm build:xcuitest:macos","test:replay:ios":"node --experimental-strip-types src/bin.ts test test/integration/replays/ios/simulator","test:integration":"node --test test/integration/*.test.ts","test:replay:macos":"node --experimental-strip-types src/bin.ts test test/integration/replays/macos","build:macos-helper":"swift build -c release --package-path macos-helper","build:xcuitest:ios":"AGENT_DEVICE_XCUITEST_PLATFORM=ios AGENT_DEVICE_IOS_CLEAN_DERIVED=1 sh ./scripts/build-xcuitest-apple.sh","build:xcuitest:tvos":"AGENT_DEVICE_XCUITEST_PLATFORM=tvos AGENT_DEVICE_IOS_CLEAN_DERIVED=1 sh ./scripts/build-xcuitest-apple.sh","test:replay:android":"node --experimental-strip-types src/bin.ts test test/integration/replays/android","build:xcuitest:macos":"AGENT_DEVICE_XCUITEST_PLATFORM=macos sh ./scripts/build-xcuitest-apple.sh","test:replay:ios-device":"node --experimental-strip-types src/bin.ts test test/integration/replays/ios/device"},"_npmUser":{"name":"thymikee","email":"thymikee@gmail.com"},"_npmVersion":"11.6.2","description":"Unified control plane for physical and virtual devices via an agent-driven CLI.","directories":{},"_nodeVersion":"24.13.0","dependencies":{"pngjs":"^7.0.0"},"_hasShrinkwrap":false,"devDependencies":{"oxfmt":"^0.42.0","oxlint":"^1.57.0","vitest":"^4.1.2","typescript":"^6.0.2","@rslib/core":"0.20.1","@types/node":"^22.0.0","@types/pngjs":"^6.0.5","@microsoft/api-extractor":"^7.52.10"},"_npmOperationalInternal":{"tmp":"tmp/agent-device_0.11.2_1774867158859_0.9163456534576124","host":"s3://npm-registry-packages-npm-production"}},"0.11.3":{"name":"agent-device","version":"0.11.3","keywords":["agent","device","cli","adb","simctl","devicectl","ios","android"],"author":{"name":"Callstack"},"license":"MIT","_id":"agent-device@0.11.3","maintainers":[{"name":"thymikee","email":"thymikee@gmail.com"}],"bin":{"agent-device":"bin/agent-device.mjs"},"dist":{"shasum":"8b3c901d9929a41c463319b7dc73595128be95f1","tarball":"https://registry.npmjs.org/agent-device/-/agent-device-0.11.3.tgz","fileCount":55,"integrity":"sha512-JaluEgAgsOgo28m/A65hr79bCQZmv75zDUz9G0FtwLr6+j5Alqj+ROar2i8X303XNdgp4QanEmyIKWKYO9akVw==","signatures":[{"sig":"MEUCICQP+CRtqkKm08T2Qq3G4aYu2fmANaE012UF/LFxGAFcAiEA9hFBXUMbE72D9rAiA2cy1wJx+LTqwDTGGBrAkbK4pP4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1012614},"main":"dist/src/index.js","type":"module","types":"dist/src/index.d.ts","engines":{"node":">=22"},"exports":{".":{"types":"./dist/src/index.d.ts","import":"./dist/src/index.js"}},"gitHead":"7236b519cfdf8beeeb0c63ef66d549833dc1f778","scripts":{"ad":"node bin/agent-device.mjs","lint":"oxlint . --deny-warnings","test":"vitest run","build":"rslib build","check":"pnpm check:tooling && pnpm check:unit","format":"oxfmt --write src test skills package.json tsconfig.json .oxlintrc.json .oxfmtrc.json","prepack":"pnpm build:all","build:all":"pnpm build:node && pnpm build:xcuitest","test:unit":"vitest run","typecheck":"tsc -p tsconfig.json","build:node":"pnpm build && pnpm clean:daemon","check:unit":"pnpm test:unit && pnpm test:smoke","test:smoke":"node --test test/integration/smoke-*.test.ts","check:quick":"pnpm lint && pnpm typecheck","clean:daemon":"rm -f ~/.agent-device/daemon.json && rm -f ~/.agent-device/daemon.lock","check:tooling":"pnpm lint && pnpm typecheck && pnpm build","build:xcuitest":"pnpm build:xcuitest:ios && pnpm build:xcuitest:macos","test:replay:ios":"node --experimental-strip-types src/bin.ts test test/integration/replays/ios/simulator","test:integration":"node --test test/integration/*.test.ts","test:replay:macos":"node --experimental-strip-types src/bin.ts test test/integration/replays/macos","build:macos-helper":"swift build -c release --package-path macos-helper","build:xcuitest:ios":"AGENT_DEVICE_XCUITEST_PLATFORM=ios AGENT_DEVICE_IOS_CLEAN_DERIVED=1 sh ./scripts/build-xcuitest-apple.sh","build:xcuitest:tvos":"AGENT_DEVICE_XCUITEST_PLATFORM=tvos AGENT_DEVICE_IOS_CLEAN_DERIVED=1 sh ./scripts/build-xcuitest-apple.sh","test:replay:android":"node --experimental-strip-types src/bin.ts test test/integration/replays/android","build:xcuitest:macos":"AGENT_DEVICE_XCUITEST_PLATFORM=macos sh ./scripts/build-xcuitest-apple.sh","test:replay:ios-device":"node --experimental-strip-types src/bin.ts test test/integration/replays/ios/device"},"_npmUser":{"name":"thymikee","email":"thymikee@gmail.com"},"_npmVersion":"11.6.2","description":"Unified control plane for physical and virtual devices via an agent-driven CLI.","directories":{},"_nodeVersion":"24.13.0","dependencies":{"pngjs":"^7.0.0"},"_hasShrinkwrap":false,"devDependencies":{"oxfmt":"^0.42.0","oxlint":"^1.57.0","vitest":"^4.1.2","typescript":"^6.0.2","@rslib/core":"0.20.1","@types/node":"^22.0.0","@types/pngjs":"^6.0.5","@microsoft/api-extractor":"^7.52.10"},"_npmOperationalInternal":{"tmp":"tmp/agent-device_0.11.3_1774961101003_0.6220688332730353","host":"s3://npm-registry-packages-npm-production"}},"0.11.4":{"name":"agent-device","version":"0.11.4","keywords":["agent","device","cli","adb","simctl","devicectl","ios","android"],"author":{"name":"Callstack"},"license":"MIT","_id":"agent-device@0.11.4","maintainers":[{"name":"thymikee","email":"thymikee@gmail.com"}],"bin":{"agent-device":"bin/agent-device.mjs"},"dist":{"shasum":"cba6e24df5497acc75ac1dcee9a7c96ce1c3b651","tarball":"https://registry.npmjs.org/agent-device/-/agent-device-0.11.4.tgz","fileCount":58,"integrity":"sha512-eSvwXXaSdpE090n0fg0t/nCBk8oiKuSwZPD2tSbyx4bMbPmv008toPj+xrN2CM9BFNpca/yOX2HplHmTZgloaw==","signatures":[{"sig":"MEQCICe0bh2HmbZ9fj/K1MsIklNdQRH5WwtRadv976kSz6hdAiALKp7y0OhVlvY1mpkmQw8yFgN96xA6z/rxFbzTXW9a2A==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1111714},"main":"dist/src/index.js","type":"module","types":"dist/src/index.d.ts","engines":{"node":">=22"},"exports":{".":{"types":"./dist/src/index.d.ts","import":"./dist/src/index.js"}},"gitHead":"7da4c2d45bf59042edaa84f99aa944507846987a","scripts":{"ad":"node bin/agent-device.mjs","lint":"oxlint . --deny-warnings","test":"vitest run","build":"rslib build","check":"pnpm check:tooling && pnpm check:unit","format":"oxfmt --write src test skills package.json tsconfig.json .oxlintrc.json .oxfmtrc.json","prepack":"pnpm build:all","build:all":"pnpm build:node && pnpm build:xcuitest","test:unit":"vitest run","typecheck":"tsc -p tsconfig.json","build:node":"pnpm build && pnpm clean:daemon","check:unit":"pnpm test:unit && pnpm test:smoke","test:smoke":"node --test test/integration/smoke-*.test.ts","check:quick":"pnpm lint && pnpm typecheck","clean:daemon":"rm -f ~/.agent-device/daemon.json && rm -f ~/.agent-device/daemon.lock","check:tooling":"pnpm lint && pnpm typecheck && pnpm build","build:xcuitest":"pnpm build:xcuitest:ios && pnpm build:xcuitest:macos","test:replay:ios":"node --experimental-strip-types src/bin.ts test test/integration/replays/ios/simulator","test:integration":"node --test test/integration/*.test.ts","test:replay:macos":"node --experimental-strip-types src/bin.ts test test/integration/replays/macos","build:macos-helper":"swift build -c release --package-path macos-helper","build:xcuitest:ios":"AGENT_DEVICE_XCUITEST_PLATFORM=ios AGENT_DEVICE_IOS_CLEAN_DERIVED=1 sh ./scripts/build-xcuitest-apple.sh","build:xcuitest:tvos":"AGENT_DEVICE_XCUITEST_PLATFORM=tvos AGENT_DEVICE_IOS_CLEAN_DERIVED=1 sh ./scripts/build-xcuitest-apple.sh","test:replay:android":"node --experimental-strip-types src/bin.ts test test/integration/replays/android","build:xcuitest:macos":"AGENT_DEVICE_XCUITEST_PLATFORM=macos sh ./scripts/build-xcuitest-apple.sh","test:replay:ios-device":"node --experimental-strip-types src/bin.ts test test/integration/replays/ios/device"},"_npmUser":{"name":"thymikee","email":"thymikee@gmail.com"},"_npmVersion":"11.6.2","description":"Unified control plane for physical and virtual devices via an agent-driven CLI.","directories":{},"_nodeVersion":"24.13.0","dependencies":{"pngjs":"^7.0.0"},"_hasShrinkwrap":false,"devDependencies":{"oxfmt":"^0.42.0","oxlint":"^1.57.0","vitest":"^4.1.2","typescript":"^6.0.2","@rslib/core":"0.20.1","@types/node":"^22.0.0","@types/pngjs":"^6.0.5","@microsoft/api-extractor":"^7.52.10"},"_npmOperationalInternal":{"tmp":"tmp/agent-device_0.11.4_1775022521214_0.24033507023601675","host":"s3://npm-registry-packages-npm-production"}},"0.11.5":{"name":"agent-device","version":"0.11.5","keywords":["agent","device","cli","adb","simctl","devicectl","ios","android"],"author":{"name":"Callstack"},"license":"MIT","_id":"agent-device@0.11.5","maintainers":[{"name":"thymikee","email":"thymikee@gmail.com"}],"bin":{"agent-device":"bin/agent-device.mjs"},"dist":{"shasum":"ef016791ed787332b802575fe07c00a4d8bbeeee","tarball":"https://registry.npmjs.org/agent-device/-/agent-device-0.11.5.tgz","fileCount":58,"integrity":"sha512-rqQjihQEj6IhAQ7bwUrLXBwdDap7kJG2fpLVtYtwdVKjM5JtQaXusinnqW0K84Y7a1la7jCRESF1aeCVc5htlg==","signatures":[{"sig":"MEQCIHZLylpPfsOJg2VfZLs/P5tyZsMIaQHY6nWnrcmhsoevAiAulTBQ+HZfYVoFhQNz8c/j4IhOliOnYEu+QX/42R1ZUA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1138432},"main":"dist/src/index.js","type":"module","types":"dist/src/index.d.ts","engines":{"node":">=22"},"exports":{".":{"types":"./dist/src/index.d.ts","import":"./dist/src/index.js"}},"gitHead":"0bdfde1d95bff8794d67151fc010080de438a52c","scripts":{"ad":"node bin/agent-device.mjs","lint":"oxlint . --deny-warnings","test":"vitest run","build":"rslib build","check":"pnpm check:tooling && pnpm check:unit","format":"oxfmt --write src test skills package.json tsconfig.json .oxlintrc.json .oxfmtrc.json","prepack":"pnpm build:all","build:all":"pnpm build:node && pnpm build:xcuitest","test:unit":"vitest run","typecheck":"tsc -p tsconfig.json","build:node":"pnpm build && pnpm clean:daemon","check:unit":"pnpm test:unit && pnpm test:smoke","test:smoke":"node --test test/integration/smoke-*.test.ts","check:quick":"pnpm lint && pnpm typecheck","clean:daemon":"rm -f ~/.agent-device/daemon.json && rm -f ~/.agent-device/daemon.lock","check:tooling":"pnpm lint && pnpm typecheck && pnpm build","build:xcuitest":"pnpm build:xcuitest:ios && pnpm build:xcuitest:macos","test:replay:ios":"node --experimental-strip-types src/bin.ts test test/integration/replays/ios/simulator","test:integration":"node --test test/integration/*.test.ts","test:replay:macos":"node --experimental-strip-types src/bin.ts test test/integration/replays/macos","build:macos-helper":"swift build -c release --package-path macos-helper","build:xcuitest:ios":"AGENT_DEVICE_XCUITEST_PLATFORM=ios AGENT_DEVICE_IOS_CLEAN_DERIVED=1 sh ./scripts/build-xcuitest-apple.sh","build:xcuitest:tvos":"AGENT_DEVICE_XCUITEST_PLATFORM=tvos AGENT_DEVICE_IOS_CLEAN_DERIVED=1 sh ./scripts/build-xcuitest-apple.sh","test:replay:android":"node --experimental-strip-types src/bin.ts test test/integration/replays/android","build:xcuitest:macos":"AGENT_DEVICE_XCUITEST_PLATFORM=macos sh ./scripts/build-xcuitest-apple.sh","test:replay:ios-device":"node --experimental-strip-types src/bin.ts test test/integration/replays/ios/device"},"_npmUser":{"name":"thymikee","email":"thymikee@gmail.com"},"_npmVersion":"11.6.2","description":"Unified control plane for physical and virtual devices via an agent-driven CLI.","directories":{},"_nodeVersion":"24.13.0","dependencies":{"pngjs":"^7.0.0"},"_hasShrinkwrap":false,"devDependencies":{"oxfmt":"^0.42.0","oxlint":"^1.57.0","vitest":"^4.1.2","typescript":"^6.0.2","@rslib/core":"0.20.1","@types/node":"^22.0.0","@types/pngjs":"^6.0.5","@microsoft/api-extractor":"^7.52.10"},"_npmOperationalInternal":{"tmp":"tmp/agent-device_0.11.5_1775072175225_0.8540313442561289","host":"s3://npm-registry-packages-npm-production"}},"0.11.6":{"name":"agent-device","version":"0.11.6","keywords":["agent","device","cli","adb","simctl","devicectl","ios","android"],"author":{"name":"Callstack"},"license":"MIT","_id":"agent-device@0.11.6","maintainers":[{"name":"thymikee","email":"thymikee@gmail.com"}],"bin":{"agent-device":"bin/agent-device.mjs"},"dist":{"shasum":"12d1ea53b1d80c798ad06974d362d610c30363a3","tarball":"https://registry.npmjs.org/agent-device/-/agent-device-0.11.6.tgz","fileCount":58,"integrity":"sha512-DNout+tQHDFz9i9uOO6rqJuaLeZlqhjG6ZVeshQ2N4TdEWrzZ1y0qfn4JPbALvl1v9tgoDzoag+NE+2eZa7oWw==","signatures":[{"sig":"MEQCIBhe+sctb1yJeFH06eks9ZxT8gSsF93vzBDmIa9UAXRuAiAqzTxXa7v4uHR1hgFRYdfqj6NqtMoGo+uYfYJifw0IKw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1149020},"main":"dist/src/index.js","type":"module","types":"dist/src/index.d.ts","engines":{"node":">=22"},"exports":{".":{"types":"./dist/src/index.d.ts","import":"./dist/src/index.js"}},"gitHead":"f2b0262abc5cb0efc77a60fcdead482fef89f456","scripts":{"ad":"node bin/agent-device.mjs","lint":"oxlint . --deny-warnings","test":"vitest run","build":"rslib build","check":"pnpm check:tooling && pnpm check:unit","format":"oxfmt --write src test skills package.json tsconfig.json .oxlintrc.json .oxfmtrc.json","prepack":"pnpm build:all","build:all":"pnpm build:node && pnpm build:xcuitest","test:unit":"vitest run","typecheck":"tsc -p tsconfig.json","build:node":"pnpm build && pnpm clean:daemon","check:unit":"pnpm test:unit && pnpm test:smoke","test:smoke":"node --test test/integration/smoke-*.test.ts","check:quick":"pnpm lint && pnpm typecheck","clean:daemon":"rm -f ~/.agent-device/daemon.json && rm -f ~/.agent-device/daemon.lock","check:tooling":"pnpm lint && pnpm typecheck && pnpm build","build:xcuitest":"pnpm build:xcuitest:ios && pnpm build:xcuitest:macos","test:replay:ios":"node --experimental-strip-types src/bin.ts test test/integration/replays/ios/simulator","test:integration":"node --test test/integration/*.test.ts","test:replay:macos":"node --experimental-strip-types src/bin.ts test test/integration/replays/macos","build:macos-helper":"swift build -c release --package-path macos-helper","build:xcuitest:ios":"AGENT_DEVICE_XCUITEST_PLATFORM=ios AGENT_DEVICE_IOS_CLEAN_DERIVED=1 sh ./scripts/build-xcuitest-apple.sh","build:xcuitest:tvos":"AGENT_DEVICE_XCUITEST_PLATFORM=tvos AGENT_DEVICE_IOS_CLEAN_DERIVED=1 sh ./scripts/build-xcuitest-apple.sh","test:replay:android":"node --experimental-strip-types src/bin.ts test test/integration/replays/android","build:xcuitest:macos":"AGENT_DEVICE_XCUITEST_PLATFORM=macos sh ./scripts/build-xcuitest-apple.sh","test:replay:ios-device":"node --experimental-strip-types src/bin.ts test test/integration/replays/ios/device"},"_npmUser":{"name":"thymikee","email":"thymikee@gmail.com"},"_npmVersion":"11.6.2","description":"Unified control plane for physical and virtual devices via an agent-driven CLI.","directories":{},"_nodeVersion":"24.13.0","dependencies":{"pngjs":"^7.0.0"},"_hasShrinkwrap":false,"devDependencies":{"oxfmt":"^0.42.0","oxlint":"^1.57.0","vitest":"^4.1.2","typescript":"^6.0.2","@rslib/core":"0.20.1","@types/node":"^22.0.0","@types/pngjs":"^6.0.5","@microsoft/api-extractor":"^7.52.10"},"_npmOperationalInternal":{"tmp":"tmp/agent-device_0.11.6_1775125262093_0.4266869317249906","host":"s3://npm-registry-packages-npm-production"}},"0.11.7":{"name":"agent-device","version":"0.11.7","keywords":["agent","device","cli","adb","simctl","devicectl","ios","android"],"author":{"name":"Callstack"},"license":"MIT","_id":"agent-device@0.11.7","maintainers":[{"name":"thymikee","email":"thymikee@gmail.com"}],"bin":{"agent-device":"bin/agent-device.mjs"},"dist":{"shasum":"bf4a5261df22d2091d400a6da72f4a243966a479","tarball":"https://registry.npmjs.org/agent-device/-/agent-device-0.11.7.tgz","fileCount":58,"integrity":"sha512-z4deWCgptqw53/Rpv0d9q+7usJflZkm8djqk8ewIVPSGHFM9sv16hgrFN9xObJavmFVdkohKn+GY4DclHdwusA==","signatures":[{"sig":"MEQCIQDyBO49isSDN/KZQIrgCIvog9iD5nnLiVdkwD3onMza9wIfOFq+VcL4mnT+ivdU2Y5pvE3fEkeDVyu1NvTAhrnF4Q==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1153745},"main":"dist/src/index.js","type":"module","types":"dist/src/index.d.ts","engines":{"node":">=22"},"exports":{".":{"types":"./dist/src/index.d.ts","import":"./dist/src/index.js"}},"gitHead":"606042f24ef05483006c741ddfa0873bbfd2a167","scripts":{"ad":"node bin/agent-device.mjs","lint":"oxlint . --deny-warnings","test":"vitest run","build":"rslib build","check":"pnpm check:tooling && pnpm check:unit","format":"oxfmt --write src test skills package.json tsconfig.json .oxlintrc.json .oxfmtrc.json","prepack":"pnpm build:all","build:all":"pnpm build:node && pnpm build:xcuitest","test:unit":"vitest run","typecheck":"tsc -p tsconfig.json","build:node":"pnpm build && pnpm clean:daemon","check:unit":"pnpm test:unit && pnpm test:smoke","test:smoke":"node --test test/integration/smoke-*.test.ts","check:quick":"pnpm lint && pnpm typecheck","clean:daemon":"rm -f ~/.agent-device/daemon.json && rm -f ~/.agent-device/daemon.lock","check:tooling":"pnpm lint && pnpm typecheck && pnpm build","build:xcuitest":"pnpm build:xcuitest:ios && pnpm build:xcuitest:macos","test:replay:ios":"node --experimental-strip-types src/bin.ts test test/integration/replays/ios/simulator","test:integration":"node --test test/integration/*.test.ts","test:replay:macos":"node --experimental-strip-types src/bin.ts test test/integration/replays/macos","build:macos-helper":"swift build -c release --package-path macos-helper","build:xcuitest:ios":"AGENT_DEVICE_XCUITEST_PLATFORM=ios AGENT_DEVICE_IOS_CLEAN_DERIVED=1 sh ./scripts/build-xcuitest-apple.sh","build:xcuitest:tvos":"AGENT_DEVICE_XCUITEST_PLATFORM=tvos AGENT_DEVICE_IOS_CLEAN_DERIVED=1 sh ./scripts/build-xcuitest-apple.sh","test:replay:android":"node --experimental-strip-types src/bin.ts test test/integration/replays/android","build:xcuitest:macos":"AGENT_DEVICE_XCUITEST_PLATFORM=macos sh ./scripts/build-xcuitest-apple.sh","test:replay:ios-device":"node --experimental-strip-types src/bin.ts test test/integration/replays/ios/device"},"_npmUser":{"name":"thymikee","email":"thymikee@gmail.com"},"_npmVersion":"11.6.2","description":"Unified control plane for physical and virtual devices via an agent-driven CLI.","directories":{},"_nodeVersion":"24.13.0","dependencies":{"pngjs":"^7.0.0"},"_hasShrinkwrap":false,"devDependencies":{"oxfmt":"^0.42.0","oxlint":"^1.57.0","vitest":"^4.1.2","typescript":"^6.0.2","@rslib/core":"0.20.1","@types/node":"^22.0.0","@types/pngjs":"^6.0.5","@microsoft/api-extractor":"^7.52.10"},"_npmOperationalInternal":{"tmp":"tmp/agent-device_0.11.7_1775126263847_0.10794766520364485","host":"s3://npm-registry-packages-npm-production"}},"0.11.8":{"name":"agent-device","version":"0.11.8","keywords":["agent","device","cli","adb","simctl","devicectl","ios","android"],"author":{"name":"Callstack"},"license":"MIT","_id":"agent-device@0.11.8","maintainers":[{"name":"thymikee","email":"thymikee@gmail.com"}],"bin":{"agent-device":"bin/agent-device.mjs"},"dist":{"shasum":"8e4cff99ed0f37d207ffaa6690a834ccf2d63dec","tarball":"https://registry.npmjs.org/agent-device/-/agent-device-0.11.8.tgz","fileCount":59,"integrity":"sha512-i85JHUDOLXznZkJALMqcEx4hFJOfHu0mEhIt/zVM8VHZHi8yLnUqoJwzdlftRprtvqvwth5xCKIl2NDCz0Xtvw==","signatures":[{"sig":"MEYCIQCWOf8DvfvgvaWWQkRNlwPzFpftHV9clDV4pIa0GIMEQAIhAKfTBqkcFURreMI0Sa1RxQl/kEhzX7Z4q7CqoV8HNdCU","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1178193},"main":"dist/src/index.js","type":"module","types":"dist/src/index.d.ts","engines":{"node":">=22"},"exports":{".":{"types":"./dist/src/index.d.ts","import":"./dist/src/index.js"}},"gitHead":"72cc398585913ef5a752e5ab5d35ad527afee901","scripts":{"ad":"node bin/agent-device.mjs","lint":"oxlint . --deny-warnings","test":"vitest run","build":"rslib build","check":"pnpm check:tooling && pnpm check:unit","format":"oxfmt --write src test skills package.json tsconfig.json .oxlintrc.json .oxfmtrc.json","prepack":"pnpm build:all","build:all":"pnpm build:node && pnpm build:xcuitest","test:unit":"vitest run","typecheck":"tsc -p tsconfig.json","build:node":"pnpm build && pnpm clean:daemon","check:unit":"pnpm test:unit && pnpm test:smoke","test:smoke":"node --test test/integration/smoke-*.test.ts","check:quick":"pnpm lint && pnpm typecheck","clean:daemon":"rm -f ~/.agent-device/daemon.json && rm -f ~/.agent-device/daemon.lock","check:tooling":"pnpm lint && pnpm typecheck && pnpm build","build:xcuitest":"pnpm build:xcuitest:ios && pnpm build:xcuitest:macos","test:replay:ios":"node --experimental-strip-types src/bin.ts test test/integration/replays/ios/simulator","test:integration":"node --test test/integration/*.test.ts","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","build:macos-helper":"swift build -c release --package-path macos-helper","build:xcuitest:ios":"AGENT_DEVICE_XCUITEST_PLATFORM=ios AGENT_DEVICE_IOS_CLEAN_DERIVED=1 sh ./scripts/build-xcuitest-apple.sh","build:xcuitest:tvos":"AGENT_DEVICE_XCUITEST_PLATFORM=tvos AGENT_DEVICE_IOS_CLEAN_DERIVED=1 sh ./scripts/build-xcuitest-apple.sh","test:replay:android":"node --experimental-strip-types src/bin.ts test test/integration/replays/android","build:xcuitest:macos":"AGENT_DEVICE_XCUITEST_PLATFORM=macos sh ./scripts/build-xcuitest-apple.sh","test:replay:ios-device":"node --experimental-strip-types src/bin.ts test test/integration/replays/ios/device"},"_npmUser":{"name":"thymikee","email":"thymikee@gmail.com"},"_npmVersion":"11.6.2","description":"Unified control plane for physical and virtual devices via an agent-driven CLI.","directories":{},"_nodeVersion":"24.13.0","dependencies":{"pngjs":"^7.0.0"},"_hasShrinkwrap":false,"devDependencies":{"oxfmt":"^0.42.0","oxlint":"^1.57.0","vitest":"^4.1.2","typescript":"^6.0.2","@rslib/core":"0.20.1","@types/node":"^22.0.0","@types/pngjs":"^6.0.5","@microsoft/api-extractor":"^7.52.10"},"_npmOperationalInternal":{"tmp":"tmp/agent-device_0.11.8_1775316744799_0.1957511471836635","host":"s3://npm-registry-packages-npm-production"}},"0.11.9":{"name":"agent-device","version":"0.11.9","keywords":["agent","device","cli","adb","simctl","devicectl","ios","android"],"author":{"name":"Callstack"},"license":"MIT","_id":"agent-device@0.11.9","maintainers":[{"name":"thymikee","email":"thymikee@gmail.com"}],"bin":{"agent-device":"bin/agent-device.mjs"},"dist":{"shasum":"e17b306d1b478a0fa0dd5a5dfe70cf2ed4ffca0a","tarball":"https://registry.npmjs.org/agent-device/-/agent-device-0.11.9.tgz","fileCount":59,"integrity":"sha512-GlqCoWKsJBnpzg5TLhjWsTyNZ3MxL1+WBQZL22GwBuuffNu+FDaJbycE8J4RHEQqRss1kt5fzSfYVg/uI6Fueg==","signatures":[{"sig":"MEQCIAYqz3Xyi46S6JojZGKlUKQwf/thqSnWmOUDRAlM/q9oAiBBz5yPPvuzAnF1bOzLUUIqrzEWZPAa5+h6ZKtDRQ7c0w==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1189971},"main":"dist/src/index.js","pnpm":{"overrides":{"lodash-es":"4.18.1"}},"type":"module","types":"dist/src/index.d.ts","engines":{"node":">=22"},"exports":{".":{"types":"./dist/src/index.d.ts","import":"./dist/src/index.js"}},"gitHead":"877aaef920d3b358f8814dbdc083353621b17026","scripts":{"ad":"node bin/agent-device.mjs","lint":"oxlint . --deny-warnings","test":"vitest run","build":"rslib build","check":"pnpm check:tooling && pnpm check:unit","format":"oxfmt --write src test skills package.json tsconfig.json .oxlintrc.json .oxfmtrc.json","prepack":"pnpm build:all","build:all":"pnpm build:node && pnpm build:xcuitest","test:unit":"vitest run","typecheck":"tsc -p tsconfig.json","build:node":"pnpm build && pnpm clean:daemon","check:unit":"pnpm test:unit && pnpm test:smoke","test:smoke":"node --test test/integration/smoke-*.test.ts","check:quick":"pnpm lint && pnpm typecheck","clean:daemon":"rm -f ~/.agent-device/daemon.json && rm -f ~/.agent-device/daemon.lock","check:tooling":"pnpm lint && pnpm typecheck && pnpm build","build:xcuitest":"pnpm build:xcuitest:ios && pnpm build:xcuitest:macos","test:replay:ios":"node --experimental-strip-types src/bin.ts test test/integration/replays/ios/simulator","test:integration":"node --test test/integration/*.test.ts","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","build:macos-helper":"swift build -c release --package-path macos-helper","build:xcuitest:ios":"AGENT_DEVICE_XCUITEST_PLATFORM=ios AGENT_DEVICE_IOS_CLEAN_DERIVED=1 sh ./scripts/build-xcuitest-apple.sh","build:xcuitest:tvos":"AGENT_DEVICE_XCUITEST_PLATFORM=tvos AGENT_DEVICE_IOS_CLEAN_DERIVED=1 sh ./scripts/build-xcuitest-apple.sh","test:replay:android":"node --experimental-strip-types src/bin.ts test test/integration/replays/android","build:xcuitest:macos":"AGENT_DEVICE_XCUITEST_PLATFORM=macos sh ./scripts/build-xcuitest-apple.sh","test:replay:ios-device":"node --experimental-strip-types src/bin.ts test test/integration/replays/ios/device"},"_npmUser":{"name":"thymikee","email":"thymikee@gmail.com"},"_npmVersion":"11.6.2","description":"Unified control plane for physical and virtual devices via an agent-driven CLI.","directories":{},"_nodeVersion":"24.13.0","dependencies":{"pngjs":"^7.0.0","fast-xml-parser":"^5.5.10"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^8.0.7","oxfmt":"^0.42.0","oxlint":"^1.57.0","vitest":"^4.1.2","typescript":"^6.0.2","@rslib/core":"0.20.1","@types/node":"^22.0.0","@types/pngjs":"^6.0.5","@microsoft/api-extractor":"^7.58.1"},"_npmOperationalInternal":{"tmp":"tmp/agent-device_0.11.9_1775638902981_0.20262817705330738","host":"s3://npm-registry-packages-npm-production"}},"0.11.10":{"name":"agent-device","version":"0.11.10","keywords":["agent","device","cli","adb","simctl","devicectl","ios","android"],"author":{"name":"Callstack"},"license":"MIT","_id":"agent-device@0.11.10","maintainers":[{"name":"thymikee","email":"thymikee@gmail.com"}],"bin":{"agent-device":"bin/agent-device.mjs"},"dist":{"shasum":"37e4b599af5908252ed1149aff8176d4beed4416","tarball":"https://registry.npmjs.org/agent-device/-/agent-device-0.11.10.tgz","fileCount":59,"integrity":"sha512-VeW3BFCsVPPETWly6gV/ihnV/8nc2bggVB8S/j3BiB2Vt1G4IkCIijsZtuoAppczqH18VdKmsYRmHkq8KtnlWg==","signatures":[{"sig":"MEQCIG25a1cLf68ij7MAxEkKtIv6nAyeWV07CppM2QN8fEGOAiBXcuEym5og4x3orlAFyrNDfixLnkH9y6/gyGG6ITEnMg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1210588},"main":"dist/src/index.js","pnpm":{"overrides":{"lodash-es":"4.18.1"}},"type":"module","types":"dist/src/index.d.ts","engines":{"node":">=22"},"exports":{".":{"types":"./dist/src/index.d.ts","import":"./dist/src/index.js"}},"gitHead":"defbe44852c7196e5baf268204ba813c8bc2a696","scripts":{"ad":"node bin/agent-device.mjs","lint":"oxlint . --deny-warnings","test":"vitest run","build":"rslib build","check":"pnpm check:tooling && pnpm check:unit","format":"oxfmt --write src test skills package.json tsconfig.json .oxlintrc.json .oxfmtrc.json","prepack":"pnpm build:all","build:all":"pnpm build:node && pnpm build:xcuitest","test:unit":"vitest run","typecheck":"tsc -p tsconfig.json","build:node":"pnpm build && pnpm clean:daemon","check:unit":"pnpm test:unit && pnpm test:smoke","test:smoke":"node --test test/integration/smoke-*.test.ts","check:quick":"pnpm lint && pnpm typecheck","clean:daemon":"rm -f ~/.agent-device/daemon.json && rm -f ~/.agent-device/daemon.lock","check:tooling":"pnpm lint && pnpm typecheck && pnpm build","build:xcuitest":"pnpm build:xcuitest:ios && pnpm build:xcuitest:macos","test:replay:ios":"node --experimental-strip-types src/bin.ts test test/integration/replays/ios/simulator","test:integration":"node --test test/integration/*.test.ts","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","build:macos-helper":"swift build -c release --package-path macos-helper","build:xcuitest:ios":"AGENT_DEVICE_XCUITEST_PLATFORM=ios AGENT_DEVICE_IOS_CLEAN_DERIVED=1 sh ./scripts/build-xcuitest-apple.sh","build:xcuitest:tvos":"AGENT_DEVICE_XCUITEST_PLATFORM=tvos AGENT_DEVICE_IOS_CLEAN_DERIVED=1 sh ./scripts/build-xcuitest-apple.sh","test:replay:android":"node --experimental-strip-types src/bin.ts test test/integration/replays/android","build:xcuitest:macos":"AGENT_DEVICE_XCUITEST_PLATFORM=macos sh ./scripts/build-xcuitest-apple.sh","test:replay:ios-device":"node --experimental-strip-types src/bin.ts test test/integration/replays/ios/device"},"_npmUser":{"name":"thymikee","email":"thymikee@gmail.com"},"_npmVersion":"11.6.2","description":"Unified control plane for physical and virtual devices via an agent-driven CLI.","directories":{},"_nodeVersion":"24.13.0","dependencies":{"pngjs":"^7.0.0","fast-xml-parser":"^5.5.10"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^8.0.7","oxfmt":"^0.42.0","oxlint":"^1.57.0","vitest":"^4.1.2","typescript":"^6.0.2","@rslib/core":"0.20.1","@types/node":"^22.0.0","@types/pngjs":"^6.0.5","@microsoft/api-extractor":"^7.58.1"},"_npmOperationalInternal":{"tmp":"tmp/agent-device_0.11.10_1775807321038_0.33263866557790145","host":"s3://npm-registry-packages-npm-production"}},"0.11.11":{"name":"agent-device","version":"0.11.11","keywords":["agent","device","cli","adb","simctl","devicectl","ios","android"],"author":{"name":"Callstack"},"license":"MIT","_id":"agent-device@0.11.11","maintainers":[{"name":"thymikee","email":"thymikee@gmail.com"}],"bin":{"agent-device":"bin/agent-device.mjs"},"dist":{"shasum":"57f324562a2aa4f88897b936a93d93a9f039a048","tarball":"https://registry.npmjs.org/agent-device/-/agent-device-0.11.11.tgz","fileCount":72,"integrity":"sha512-ThjU+6b8RKTvbaSQAz0MJoVNfI1BdPnT0QdxElhk0LlzZG3TJbM0vZxIpXXEZMFFSrPu0g+TPO0ZVzpoSnvRjA==","signatures":[{"sig":"MEYCIQD3CMdPGkM8/z48Rmmx2O1K6kIdNYAcwn6W4tLtp6uGUwIhAP/C64nfhituG5djd4GSFlXwQLOs73+5WPqR1/4Z+dPW","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1222181},"main":"dist/src/index.js","pnpm":{"overrides":{"lodash-es":"4.18.1"}},"type":"module","types":"dist/src/index.d.ts","engines":{"node":">=22"},"exports":{".":{"types":"./dist/src/index.d.ts","import":"./dist/src/index.js"},"./metro":{"types":"./dist/src/metro.d.ts","import":"./dist/src/metro.js"},"./contracts":{"types":"./dist/src/contracts.d.ts","import":"./dist/src/contracts.js"},"./remote-config":{"types":"./dist/src/remote-config.d.ts","import":"./dist/src/remote-config.js"}},"gitHead":"c02cbd015f0ec1f850d7f491c1ec87f42e3d5bef","scripts":{"ad":"node bin/agent-device.mjs","lint":"oxlint . --deny-warnings","test":"vitest run","build":"rslib build","check":"pnpm check:tooling && pnpm check:unit","format":"oxfmt --write src test skills package.json tsconfig.json .oxlintrc.json .oxfmtrc.json","prepack":"pnpm build:all","build:all":"pnpm build:node && pnpm build:xcuitest","test:unit":"vitest run","typecheck":"tsc -p tsconfig.json","build:node":"pnpm build && pnpm clean:daemon","check:unit":"pnpm test:unit && pnpm test:smoke","test:smoke":"node --test test/integration/smoke-*.test.ts","check:quick":"pnpm lint && pnpm typecheck","clean:daemon":"rm -f ~/.agent-device/daemon.json && rm -f ~/.agent-device/daemon.lock","check:tooling":"pnpm lint && pnpm typecheck && pnpm build","build:xcuitest":"pnpm build:xcuitest:ios && pnpm build:xcuitest:macos","test:replay:ios":"node --experimental-strip-types src/bin.ts test test/integration/replays/ios/simulator","test:integration":"node --test test/integration/*.test.ts","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","build:macos-helper":"swift build -c release --package-path macos-helper","build:xcuitest:ios":"AGENT_DEVICE_XCUITEST_PLATFORM=ios AGENT_DEVICE_IOS_CLEAN_DERIVED=1 sh ./scripts/build-xcuitest-apple.sh","build:xcuitest:tvos":"AGENT_DEVICE_XCUITEST_PLATFORM=tvos AGENT_DEVICE_IOS_CLEAN_DERIVED=1 sh ./scripts/build-xcuitest-apple.sh","test:replay:android":"node --experimental-strip-types src/bin.ts test test/integration/replays/android","build:xcuitest:macos":"AGENT_DEVICE_XCUITEST_PLATFORM=macos sh ./scripts/build-xcuitest-apple.sh","test:replay:ios-device":"node --experimental-strip-types src/bin.ts test test/integration/replays/ios/device"},"_npmUser":{"name":"thymikee","email":"thymikee@gmail.com"},"_npmVersion":"11.6.2","description":"Unified control plane for physical and virtual devices via an agent-driven CLI.","directories":{},"_nodeVersion":"24.13.0","dependencies":{"pngjs":"^7.0.0","fast-xml-parser":"^5.5.10"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^8.0.7","oxfmt":"^0.42.0","oxlint":"^1.57.0","vitest":"^4.1.2","typescript":"^6.0.2","@rslib/core":"0.20.1","@types/node":"^22.0.0","@types/pngjs":"^6.0.5","@microsoft/api-extractor":"^7.58.1"},"_npmOperationalInternal":{"tmp":"tmp/agent-device_0.11.11_1775819059884_0.36622535197609984","host":"s3://npm-registry-packages-npm-production"}},"0.11.12":{"name":"agent-device","version":"0.11.12","keywords":["agent","device","cli","adb","simctl","devicectl","ios","android"],"author":{"name":"Callstack"},"license":"MIT","_id":"agent-device@0.11.12","maintainers":[{"name":"thymikee","email":"thymikee@gmail.com"}],"bin":{"agent-device":"bin/agent-device.mjs"},"dist":{"shasum":"26934a83400a38988979f148b1ce0daaeaaac906","tarball":"https://registry.npmjs.org/agent-device/-/agent-device-0.11.12.tgz","fileCount":72,"integrity":"sha512-w3UOH47MzAz2eVNPcyB3nVk6m5T5m/P3uTKuFiv8e15K0j7xoMzcrZckcjvaXJsagcqi8lEHqFftV1Y+W6QtKw==","signatures":[{"sig":"MEUCIGtpNedkmfov2q/cngZAgdloM+5trbXB680oM8YF6lf2AiEA+7zJZyy51MkD6lIF5DeeHa986p1Ux9fFKNiATH65pdI=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1231405},"main":"dist/src/index.js","pnpm":{"overrides":{"lodash-es":"4.18.1"}},"type":"module","types":"dist/src/index.d.ts","engines":{"node":">=22"},"exports":{".":{"types":"./dist/src/index.d.ts","import":"./dist/src/index.js"},"./metro":{"types":"./dist/src/metro.d.ts","import":"./dist/src/metro.js"},"./contracts":{"types":"./dist/src/contracts.d.ts","import":"./dist/src/contracts.js"},"./remote-config":{"types":"./dist/src/remote-config.d.ts","import":"./dist/src/remote-config.js"}},"gitHead":"d4ee32f99814140b6c15ea9ddf5b1acb6e7c4a56","scripts":{"ad":"node bin/agent-device.mjs","lint":"oxlint . --deny-warnings","test":"vitest run","build":"rslib build","check":"pnpm check:tooling && pnpm check:unit","format":"oxfmt --write src test skills package.json tsconfig.json .oxlintrc.json .oxfmtrc.json","prepack":"pnpm build:all","build:all":"pnpm build:node && pnpm build:xcuitest","test:unit":"vitest run","typecheck":"tsc -p tsconfig.json","build:node":"pnpm build && pnpm clean:daemon","check:unit":"pnpm test:unit && pnpm test:smoke","test:smoke":"node --test test/integration/smoke-*.test.ts","check:quick":"pnpm lint && pnpm typecheck","clean:daemon":"rm -f ~/.agent-device/daemon.json && rm -f ~/.agent-device/daemon.lock","check:tooling":"pnpm lint && pnpm typecheck && pnpm build","build:xcuitest":"pnpm build:xcuitest:ios && pnpm build:xcuitest:macos","test:replay:ios":"node --experimental-strip-types src/bin.ts test test/integration/replays/ios/simulator","test:integration":"node --test test/integration/*.test.ts","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","build:macos-helper":"swift build -c release --package-path macos-helper","build:xcuitest:ios":"AGENT_DEVICE_XCUITEST_PLATFORM=ios AGENT_DEVICE_IOS_CLEAN_DERIVED=1 sh ./scripts/build-xcuitest-apple.sh","build:xcuitest:tvos":"AGENT_DEVICE_XCUITEST_PLATFORM=tvos AGENT_DEVICE_IOS_CLEAN_DERIVED=1 sh ./scripts/build-xcuitest-apple.sh","test:replay:android":"node --experimental-strip-types src/bin.ts test test/integration/replays/android","build:xcuitest:macos":"AGENT_DEVICE_XCUITEST_PLATFORM=macos sh ./scripts/build-xcuitest-apple.sh","test:replay:ios-device":"node --experimental-strip-types src/bin.ts test test/integration/replays/ios/device"},"_npmUser":{"name":"thymikee","email":"thymikee@gmail.com"},"_npmVersion":"11.6.2","description":"Unified control plane for physical and virtual devices via an agent-driven CLI.","directories":{},"_nodeVersion":"24.13.0","dependencies":{"pngjs":"^7.0.0","fast-xml-parser":"^5.5.10"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^8.0.7","oxfmt":"^0.42.0","oxlint":"^1.57.0","vitest":"^4.1.2","typescript":"^6.0.2","@rslib/core":"0.20.1","@types/node":"^22.0.0","@types/pngjs":"^6.0.5","@microsoft/api-extractor":"^7.58.1"},"_npmOperationalInternal":{"tmp":"tmp/agent-device_0.11.12_1775822847626_0.8779068690378613","host":"s3://npm-registry-packages-npm-production"}},"0.11.13":{"name":"agent-device","version":"0.11.13","keywords":["agent","device","cli","adb","simctl","devicectl","ios","android"],"author":{"name":"Callstack"},"license":"MIT","_id":"agent-device@0.11.13","maintainers":[{"name":"thymikee","email":"thymikee@gmail.com"}],"bin":{"agent-device":"bin/agent-device.mjs"},"dist":{"shasum":"075961f9dbec9242d511dbc1c83cc2b60ce4f878","tarball":"https://registry.npmjs.org/agent-device/-/agent-device-0.11.13.tgz","fileCount":72,"integrity":"sha512-9+SOuc4Y00Q7wKjQ55XGr7N/yxMchhCJIGnPf/4tabAuKDH6vCXwdS73qRkFB/CZ22qgkPcajQfenjIlkGXupA==","signatures":[{"sig":"MEUCIGIIKXkQbOuZhiEtLfIrQ5+UMd66jfpQnhG2g7CSZdUxAiEAxMpfEXBf4zqL4WfzwA1dQ+7hF3fHVIBDwc7dpt4MP/w=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1232344},"main":"dist/src/index.js","pnpm":{"overrides":{"lodash-es":"4.18.1"}},"type":"module","types":"dist/src/index.d.ts","engines":{"node":">=22"},"exports":{".":{"types":"./dist/src/index.d.ts","import":"./dist/src/index.js"},"./metro":{"types":"./dist/src/metro.d.ts","import":"./dist/src/metro.js"},"./contracts":{"types":"./dist/src/contracts.d.ts","import":"./dist/src/contracts.js"},"./remote-config":{"types":"./dist/src/remote-config.d.ts","import":"./dist/src/remote-config.js"}},"gitHead":"f4d90a3a8e0b6da3379c586b7956b7914c6e08cd","scripts":{"ad":"node bin/agent-device.mjs","lint":"oxlint . --deny-warnings","test":"vitest run","build":"rslib build","check":"pnpm check:tooling && pnpm check:unit","format":"oxfmt --write src test skills package.json tsconfig.json .oxlintrc.json .oxfmtrc.json","prepack":"pnpm build:all","build:all":"pnpm build:node && pnpm build:xcuitest","test:unit":"vitest run","typecheck":"tsc -p tsconfig.json","build:node":"pnpm build && pnpm clean:daemon","check:unit":"pnpm test:unit && pnpm test:smoke","test:smoke":"node --test test/integration/smoke-*.test.ts","check:quick":"pnpm lint && pnpm typecheck","clean:daemon":"rm -f ~/.agent-device/daemon.json && rm -f ~/.agent-device/daemon.lock","check:tooling":"pnpm lint && pnpm typecheck && pnpm build","build:xcuitest":"pnpm build:xcuitest:ios && pnpm build:xcuitest:macos","test:replay:ios":"node --experimental-strip-types src/bin.ts test test/integration/replays/ios/simulator","test:integration":"node --test test/integration/*.test.ts","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","build:macos-helper":"swift build -c release --package-path macos-helper","build:xcuitest:ios":"AGENT_DEVICE_XCUITEST_PLATFORM=ios AGENT_DEVICE_IOS_CLEAN_DERIVED=1 sh ./scripts/build-xcuitest-apple.sh","build:xcuitest:tvos":"AGENT_DEVICE_XCUITEST_PLATFORM=tvos AGENT_DEVICE_IOS_CLEAN_DERIVED=1 sh ./scripts/build-xcuitest-apple.sh","test:replay:android":"node --experimental-strip-types src/bin.ts test test/integration/replays/android","build:xcuitest:macos":"AGENT_DEVICE_XCUITEST_PLATFORM=macos sh ./scripts/build-xcuitest-apple.sh","test:replay:ios-device":"node --experimental-strip-types src/bin.ts test test/integration/replays/ios/device"},"_npmUser":{"name":"thymikee","email":"thymikee@gmail.com"},"_npmVersion":"11.6.2","description":"Unified control plane for physical and virtual devices via an agent-driven CLI.","directories":{},"_nodeVersion":"24.13.0","dependencies":{"pngjs":"^7.0.0","fast-xml-parser":"^5.5.10"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^8.0.7","oxfmt":"^0.42.0","oxlint":"^1.57.0","vitest":"^4.1.2","typescript":"^6.0.2","@rslib/core":"0.20.1","@types/node":"^22.0.0","@types/pngjs":"^6.0.5","@microsoft/api-extractor":"^7.58.1"},"_npmOperationalInternal":{"tmp":"tmp/agent-device_0.11.13_1775895681465_0.5809796834543604","host":"s3://npm-registry-packages-npm-production"}},"0.11.14":{"name":"agent-device","version":"0.11.14","keywords":["agent","device","cli","adb","simctl","devicectl","ios","android"],"author":{"name":"Callstack"},"license":"MIT","_id":"agent-device@0.11.14","maintainers":[{"name":"thymikee","email":"thymikee@gmail.com"}],"bin":{"agent-device":"bin/agent-device.mjs"},"dist":{"shasum":"c6c07eb9e6f2bd6da2eca45ad9dcab7660e6bd35","tarball":"https://registry.npmjs.org/agent-device/-/agent-device-0.11.14.tgz","fileCount":72,"integrity":"sha512-dpvzUBLZFYfzRT8MTPUnIj3KxU/W8JT1ChxT/4CVtdYTLidCW1oiUfaOl/y+oSJbehtOuZMDM6ns/zcSEWpb3Q==","signatures":[{"sig":"MEUCIQDpBtk/tRPFBwOyStFJ1a4uNTNOY6R6/LTfttHpWcxb8wIgB/lWAoqrAbilvkvNwhfcE1jDe7wZNoA+/U5E7q/8dVo=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1229239},"main":"dist/src/index.js","pnpm":{"overrides":{"lodash-es":"4.18.1"}},"type":"module","types":"dist/src/index.d.ts","engines":{"node":">=22"},"exports":{".":{"types":"./dist/src/index.d.ts","import":"./dist/src/index.js"},"./metro":{"types":"./dist/src/metro.d.ts","import":"./dist/src/metro.js"},"./contracts":{"types":"./dist/src/contracts.d.ts","import":"./dist/src/contracts.js"},"./remote-config":{"types":"./dist/src/remote-config.d.ts","import":"./dist/src/remote-config.js"}},"gitHead":"c91d547fb1b994d0b15056f8526b64eca3416377","scripts":{"ad":"node bin/agent-device.mjs","lint":"oxlint . --deny-warnings","test":"vitest run","build":"rslib build","check":"pnpm check:tooling && pnpm check:unit","format":"oxfmt --write src test skills package.json tsconfig.json .oxlintrc.json .oxfmtrc.json","prepack":"pnpm build:all","build:all":"pnpm build:node && pnpm build:xcuitest","test:unit":"vitest run","typecheck":"tsc -p tsconfig.json","build:node":"pnpm build && pnpm clean:daemon","check:unit":"pnpm test:unit && pnpm test:smoke","test:smoke":"node --test test/integration/smoke-*.test.ts","check:quick":"pnpm lint && pnpm typecheck","clean:daemon":"rm -f ~/.agent-device/daemon.json && rm -f ~/.agent-device/daemon.lock","check:tooling":"pnpm lint && pnpm typecheck && pnpm build","build:xcuitest":"pnpm build:xcuitest:ios && pnpm build:xcuitest:macos","test:replay:ios":"node --experimental-strip-types src/bin.ts test test/integration/replays/ios/simulator","test:integration":"node --test test/integration/*.test.ts","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","build:macos-helper":"swift build -c release --package-path macos-helper","build:xcuitest:ios":"AGENT_DEVICE_XCUITEST_PLATFORM=ios AGENT_DEVICE_IOS_CLEAN_DERIVED=1 sh ./scripts/build-xcuitest-apple.sh","build:xcuitest:tvos":"AGENT_DEVICE_XCUITEST_PLATFORM=tvos AGENT_DEVICE_IOS_CLEAN_DERIVED=1 sh ./scripts/build-xcuitest-apple.sh","test:replay:android":"node --experimental-strip-types src/bin.ts test test/integration/replays/android","build:xcuitest:macos":"AGENT_DEVICE_XCUITEST_PLATFORM=macos sh ./scripts/build-xcuitest-apple.sh","test:replay:ios-device":"node --experimental-strip-types src/bin.ts test test/integration/replays/ios/device"},"_npmUser":{"name":"thymikee","email":"thymikee@gmail.com"},"_npmVersion":"11.6.2","description":"Unified control plane for physical and virtual devices via an agent-driven CLI.","directories":{},"_nodeVersion":"24.13.0","dependencies":{"pngjs":"^7.0.0","fast-xml-parser":"^5.5.10"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^8.0.7","oxfmt":"^0.42.0","oxlint":"^1.57.0","vitest":"^4.1.2","typescript":"^6.0.2","@rslib/core":"0.20.1","@types/node":"^22.0.0","@types/pngjs":"^6.0.5","@microsoft/api-extractor":"^7.58.1"},"_npmOperationalInternal":{"tmp":"tmp/agent-device_0.11.14_1775908096867_0.04913823616669011","host":"s3://npm-registry-packages-npm-production"}},"0.11.15":{"name":"agent-device","version":"0.11.15","keywords":["agent","device","cli","adb","simctl","devicectl","ios","android"],"author":{"name":"Callstack"},"license":"MIT","_id":"agent-device@0.11.15","maintainers":[{"name":"thymikee","email":"thymikee@gmail.com"}],"bin":{"agent-device":"bin/agent-device.mjs"},"dist":{"shasum":"e618483a5287470eac651714c9bdbebcd45ea6e4","tarball":"https://registry.npmjs.org/agent-device/-/agent-device-0.11.15.tgz","fileCount":73,"integrity":"sha512-9N7kxO0FIQWcDSNcRAqGbEC508BcF/zTmxJ/zPi4mrMYXqDfOl9/xJXXVK860GvNgwSiXcTJfi0xnuwYE899FQ==","signatures":[{"sig":"MEUCIDoVj7gpLjW+UCe7Uuccl9XzHRFcGKSg0+XF1tXb7kCIAiEAxjxMx7j4D5rPsa7cvsTwVbJhgjzvQ1wmJmVUhZMBhBA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1270751},"main":"dist/src/index.js","pnpm":{"overrides":{"lodash-es":"4.18.1"}},"type":"module","types":"dist/src/index.d.ts","engines":{"node":">=22"},"exports":{".":{"types":"./dist/src/index.d.ts","import":"./dist/src/index.js"},"./metro":{"types":"./dist/src/metro.d.ts","import":"./dist/src/metro.js"},"./contracts":{"types":"./dist/src/contracts.d.ts","import":"./dist/src/contracts.js"},"./remote-config":{"types":"./dist/src/remote-config.d.ts","import":"./dist/src/remote-config.js"}},"gitHead":"e9c473034beaa93bf526928b6196261f61e17716","scripts":{"ad":"node bin/agent-device.mjs","lint":"oxlint . --deny-warnings","test":"vitest run","build":"rslib build","check":"pnpm check:tooling && pnpm check:unit","format":"oxfmt --write src test skills package.json tsconfig.json .oxlintrc.json .oxfmtrc.json","prepack":"pnpm build:all","build:all":"pnpm build:node && pnpm build:xcuitest","test:unit":"vitest run","typecheck":"tsc -p tsconfig.json","build:node":"pnpm build && pnpm clean:daemon","check:unit":"pnpm test:unit && pnpm test:smoke","test:smoke":"node --test test/integration/smoke-*.test.ts","check:quick":"pnpm lint && pnpm typecheck","clean:daemon":"rm -f ~/.agent-device/daemon.json && rm -f ~/.agent-device/daemon.lock","check:tooling":"pnpm lint && pnpm typecheck && pnpm build","build:xcuitest":"pnpm build:xcuitest:ios && pnpm build:xcuitest:macos","test:replay:ios":"node --experimental-strip-types src/bin.ts test test/integration/replays/ios/simulator","test:integration":"node --test test/integration/*.test.ts","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","build:macos-helper":"swift build -c release --package-path macos-helper","build:xcuitest:ios":"AGENT_DEVICE_XCUITEST_PLATFORM=ios AGENT_DEVICE_IOS_CLEAN_DERIVED=1 sh ./scripts/build-xcuitest-apple.sh","build:xcuitest:tvos":"AGENT_DEVICE_XCUITEST_PLATFORM=tvos AGENT_DEVICE_IOS_CLEAN_DERIVED=1 sh ./scripts/build-xcuitest-apple.sh","test:replay:android":"node --experimental-strip-types src/bin.ts test test/integration/replays/android","build:xcuitest:macos":"AGENT_DEVICE_XCUITEST_PLATFORM=macos sh ./scripts/build-xcuitest-apple.sh","test:replay:ios-device":"node --experimental-strip-types src/bin.ts test test/integration/replays/ios/device"},"_npmUser":{"name":"thymikee","email":"thymikee@gmail.com"},"_npmVersion":"11.6.2","description":"Unified control plane for physical and virtual devices via an agent-driven CLI.","directories":{},"_nodeVersion":"24.13.0","dependencies":{"pngjs":"^7.0.0","fast-xml-parser":"^5.5.10"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^8.0.7","oxfmt":"^0.42.0","oxlint":"^1.57.0","vitest":"^4.1.2","typescript":"^6.0.2","@rslib/core":"0.20.1","@types/node":"^22.0.0","@types/pngjs":"^6.0.5","@microsoft/api-extractor":"^7.58.1"},"_npmOperationalInternal":{"tmp":"tmp/agent-device_0.11.15_1775917523964_0.39151913077284006","host":"s3://npm-registry-packages-npm-production"}},"0.11.16":{"name":"agent-device","version":"0.11.16","keywords":["agent","device","cli","adb","simctl","devicectl","ios","android"],"author":{"name":"Callstack"},"license":"MIT","_id":"agent-device@0.11.16","maintainers":[{"name":"thymikee","email":"thymikee@gmail.com"}],"bin":{"agent-device":"bin/agent-device.mjs"},"dist":{"shasum":"55029c7b70009a0319e239ee278d9e46fcbdadb3","tarball":"https://registry.npmjs.org/agent-device/-/agent-device-0.11.16.tgz","fileCount":86,"integrity":"sha512-EZHq24U+aLTe8rb2J7JuR1BpLWWNJxSv7qmghrCHOOsgieqHon77D9hUN+F7dGmzVJf0fL/X5VS1sCkAbmhlAg==","signatures":[{"sig":"MEUCIQCV2VHgyPcFYEp0IP/nFFMt5pa739WLRamsWolAU0uDYwIgZjPu4wUUT5yD/lYjEXsnZODK9Nxb8TCRQwbZad1gbmE=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1295804},"main":"dist/src/index.js","pnpm":{"overrides":{"lodash-es":"4.18.1"}},"type":"module","types":"dist/src/index.d.ts","engines":{"node":">=22"},"exports":{".":{"types":"./dist/src/index.d.ts","import":"./dist/src/index.js"},"./metro":{"types":"./dist/src/metro.d.ts","import":"./dist/src/metro.js"},"./finders":{"types":"./dist/src/finders.d.ts","import":"./dist/src/finders.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"},"./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"}},"gitHead":"406b3ed00ddc2863864772b66108cb4ca4165290","scripts":{"ad":"node bin/agent-device.mjs","lint":"oxlint . --deny-warnings","test":"vitest run","build":"rslib build","check":"pnpm check:tooling && pnpm check:unit","format":"oxfmt --write src test skills package.json tsconfig.json .oxlintrc.json .oxfmtrc.json","prepack":"pnpm build:all","build:all":"pnpm build:node && pnpm build:xcuitest","test:unit":"vitest run","typecheck":"tsc -p tsconfig.json","build:node":"pnpm build && pnpm clean:daemon","check:unit":"pnpm test:unit && pnpm test:smoke","test:smoke":"node --test test/integration/smoke-*.test.ts","check:quick":"pnpm lint && pnpm typecheck","clean:daemon":"rm -f ~/.agent-device/daemon.json && rm -f ~/.agent-device/daemon.lock","check:tooling":"pnpm lint && pnpm typecheck && pnpm build","build:xcuitest":"pnpm build:xcuitest:ios && pnpm build:xcuitest:macos","test:replay:ios":"node --experimental-strip-types src/bin.ts test test/integration/replays/ios/simulator","test:integration":"node --test test/integration/*.test.ts","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","build:macos-helper":"swift build -c release --package-path macos-helper","build:xcuitest:ios":"AGENT_DEVICE_XCUITEST_PLATFORM=ios AGENT_DEVICE_IOS_CLEAN_DERIVED=1 sh ./scripts/build-xcuitest-apple.sh","build:xcuitest:tvos":"AGENT_DEVICE_XCUITEST_PLATFORM=tvos AGENT_DEVICE_IOS_CLEAN_DERIVED=1 sh ./scripts/build-xcuitest-apple.sh","test:replay:android":"node --experimental-strip-types src/bin.ts test test/integration/replays/android","build:xcuitest:macos":"AGENT_DEVICE_XCUITEST_PLATFORM=macos sh ./scripts/build-xcuitest-apple.sh","test:replay:ios-device":"node --experimental-strip-types src/bin.ts test test/integration/replays/ios/device"},"_npmUser":{"name":"thymikee","email":"thymikee@gmail.com"},"_npmVersion":"11.6.2","description":"Unified control plane for physical and virtual devices via an agent-driven CLI.","directories":{},"_nodeVersion":"24.13.0","dependencies":{"pngjs":"^7.0.0","fast-xml-parser":"^5.5.10"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^8.0.7","oxfmt":"^0.42.0","oxlint":"^1.57.0","vitest":"^4.1.2","typescript":"^6.0.2","@rslib/core":"0.20.1","@types/node":"^22.0.0","@types/pngjs":"^6.0.5","@microsoft/api-extractor":"^7.58.1"},"_npmOperationalInternal":{"tmp":"tmp/agent-device_0.11.16_1775931643043_0.16630461762946713","host":"s3://npm-registry-packages-npm-production"}},"0.12.0":{"name":"agent-device","version":"0.12.0","keywords":["agent","device","cli","adb","simctl","devicectl","ios","android"],"author":{"name":"Callstack"},"license":"MIT","_id":"agent-device@0.12.0","maintainers":[{"name":"thymikee","email":"thymikee@gmail.com"}],"bin":{"agent-device":"bin/agent-device.mjs"},"dist":{"shasum":"8856a2ba228bcbabf5b34201e4f3d3c1d7e0d028","tarball":"https://registry.npmjs.org/agent-device/-/agent-device-0.12.0.tgz","fileCount":75,"integrity":"sha512-XEvxywDnw+vu8Js/SZq9fgD2UEl7H+PtSZnWkYWnbVisoKv+6UHCal9FWwHIhFZ1Dkk2fmON0NwNKKD4JhO+2g==","signatures":[{"sig":"MEQCIFTVtPpFORbk7uWyuhQxFblry1VZc5a+fhnvUkVq0LBcAiAQlKA+mZKw+81c9qN6/fN3uzCqY83G7cZewiQMMRrkfg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1266229},"main":"dist/src/index.js","pnpm":{"overrides":{"lodash-es":"4.18.1"}},"type":"module","types":"dist/src/index.d.ts","engines":{"node":">=22"},"exports":{".":{"types":"./dist/src/index.d.ts","import":"./dist/src/index.js"},"./metro":{"types":"./dist/src/metro.d.ts","import":"./dist/src/metro.js"},"./contracts":{"types":"./dist/src/contracts.d.ts","import":"./dist/src/contracts.js"},"./remote-config":{"types":"./dist/src/remote-config.d.ts","import":"./dist/src/remote-config.js"}},"gitHead":"b0f52a99051da8a925a1f51349edf1428e45e8b1","scripts":{"ad":"node bin/agent-device.mjs","lint":"oxlint . --deny-warnings","test":"vitest run","build":"rslib build","check":"pnpm check:tooling && pnpm check:unit","format":"oxfmt --write src test skills package.json tsconfig.json .oxlintrc.json .oxfmtrc.json","prepack":"pnpm build:all","build:all":"pnpm build:node && pnpm build:xcuitest","test:unit":"vitest run","typecheck":"tsc -p tsconfig.json","build:node":"pnpm build && pnpm clean:daemon","check:unit":"pnpm test:unit && pnpm test:smoke","test:smoke":"node --test test/integration/smoke-*.test.ts","check:quick":"pnpm lint && pnpm typecheck","clean:daemon":"rm -f ~/.agent-device/daemon.json && rm -f ~/.agent-device/daemon.lock","check:tooling":"pnpm lint && pnpm typecheck && pnpm build","build:xcuitest":"pnpm build:xcuitest:ios && pnpm build:xcuitest:macos","test:replay:ios":"node --experimental-strip-types src/bin.ts test test/integration/replays/ios/simulator","test:integration":"node --test test/integration/*.test.ts","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","build:macos-helper":"swift build -c release --package-path macos-helper","build:xcuitest:ios":"AGENT_DEVICE_XCUITEST_PLATFORM=ios AGENT_DEVICE_IOS_CLEAN_DERIVED=1 sh ./scripts/build-xcuitest-apple.sh","build:xcuitest:tvos":"AGENT_DEVICE_XCUITEST_PLATFORM=tvos AGENT_DEVICE_IOS_CLEAN_DERIVED=1 sh ./scripts/build-xcuitest-apple.sh","test:replay:android":"node --experimental-strip-types src/bin.ts test test/integration/replays/android","build:xcuitest:macos":"AGENT_DEVICE_XCUITEST_PLATFORM=macos sh ./scripts/build-xcuitest-apple.sh","test:replay:ios-device":"node --experimental-strip-types src/bin.ts test test/integration/replays/ios/device"},"_npmUser":{"name":"thymikee","email":"thymikee@gmail.com"},"_npmVersion":"11.6.2","description":"Unified control plane for physical and virtual devices via an agent-driven CLI.","directories":{},"_nodeVersion":"24.13.0","dependencies":{"pngjs":"^7.0.0","fast-xml-parser":"^5.5.10"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^8.0.7","oxfmt":"^0.42.0","oxlint":"^1.57.0","vitest":"^4.1.2","typescript":"^6.0.2","@rslib/core":"0.20.1","@types/node":"^22.0.0","@types/pngjs":"^6.0.5","@microsoft/api-extractor":"^7.58.1"},"_npmOperationalInternal":{"tmp":"tmp/agent-device_0.12.0_1775936319554_0.21020500631712902","host":"s3://npm-registry-packages-npm-production"}},"0.12.1":{"name":"agent-device","version":"0.12.1","keywords":["agent","device","cli","adb","simctl","devicectl","ios","android"],"author":{"name":"Callstack"},"license":"MIT","_id":"agent-device@0.12.1","maintainers":[{"name":"thymikee","email":"thymikee@gmail.com"}],"bin":{"agent-device":"bin/agent-device.mjs"},"dist":{"shasum":"7673c9a477bcf99a091b373d20b7eebfa4882555","tarball":"https://registry.npmjs.org/agent-device/-/agent-device-0.12.1.tgz","fileCount":86,"integrity":"sha512-N2wHU57Thmey+K9xe8Ao0lTgZTJVjfq2ItU5RQDBuPk5nVLG4CEjh2tnbCcjEHH7v2srxScriZxshRGA4O3tKQ==","signatures":[{"sig":"MEYCIQDdM1XROSc6r2jcRkM4Dd6su2dpANWHQIROQygp1lBagAIhAKmKF+LQpo5/ZQ1pTCgduSSv4ajh3E9erKIRiSATr+vq","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1286540},"main":"dist/src/index.js","pnpm":{"overrides":{"lodash-es":"4.18.1"}},"type":"module","types":"dist/src/index.d.ts","engines":{"node":">=22"},"exports":{".":{"types":"./dist/src/index.d.ts","import":"./dist/src/index.js"},"./metro":{"types":"./dist/src/metro.d.ts","import":"./dist/src/metro.js"},"./finders":{"types":"./dist/src/finders.d.ts","import":"./dist/src/finders.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"},"./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"}},"gitHead":"e31ff32b54c72a09fa34938b4ac9d7708afa3875","scripts":{"ad":"node bin/agent-device.mjs","lint":"oxlint . --deny-warnings","test":"vitest run","build":"rslib build","check":"pnpm check:tooling && pnpm check:unit","format":"oxfmt --write src test skills package.json tsconfig.json .oxlintrc.json .oxfmtrc.json","prepack":"pnpm build:all","build:all":"pnpm build:node && pnpm build:xcuitest","test:unit":"vitest run","typecheck":"tsc -p tsconfig.json","build:node":"pnpm build && pnpm clean:daemon","check:unit":"pnpm test:unit && pnpm test:smoke","test:smoke":"node --test test/integration/smoke-*.test.ts","check:quick":"pnpm lint && pnpm typecheck","clean:daemon":"rm -f ~/.agent-device/daemon.json && rm -f ~/.agent-device/daemon.lock","check:tooling":"pnpm lint && pnpm typecheck && pnpm build","build:xcuitest":"pnpm build:xcuitest:ios && pnpm build:xcuitest:macos","test:replay:ios":"node --experimental-strip-types src/bin.ts test test/integration/replays/ios/simulator","test:integration":"node --test test/integration/*.test.ts","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","build:macos-helper":"swift build -c release --package-path macos-helper","build:xcuitest:ios":"AGENT_DEVICE_XCUITEST_PLATFORM=ios AGENT_DEVICE_IOS_CLEAN_DERIVED=1 sh ./scripts/build-xcuitest-apple.sh","build:xcuitest:tvos":"AGENT_DEVICE_XCUITEST_PLATFORM=tvos AGENT_DEVICE_IOS_CLEAN_DERIVED=1 sh ./scripts/build-xcuitest-apple.sh","test:replay:android":"node --experimental-strip-types src/bin.ts test test/integration/replays/android","build:xcuitest:macos":"AGENT_DEVICE_XCUITEST_PLATFORM=macos sh ./scripts/build-xcuitest-apple.sh","test:replay:ios-device":"node --experimental-strip-types src/bin.ts test test/integration/replays/ios/device"},"_npmUser":{"name":"thymikee","email":"thymikee@gmail.com"},"_npmVersion":"11.6.2","description":"Unified control plane for physical and virtual devices via an agent-driven CLI.","directories":{},"_nodeVersion":"24.13.0","dependencies":{"pngjs":"^7.0.0","fast-xml-parser":"^5.5.10"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^8.0.7","oxfmt":"^0.42.0","oxlint":"^1.57.0","vitest":"^4.1.2","typescript":"^6.0.2","@rslib/core":"0.20.1","@types/node":"^22.0.0","@types/pngjs":"^6.0.5","@microsoft/api-extractor":"^7.58.1"},"_npmOperationalInternal":{"tmp":"tmp/agent-device_0.12.1_1775938695335_0.529253068562966","host":"s3://npm-registry-packages-npm-production"}},"0.12.2":{"name":"agent-device","version":"0.12.2","keywords":["agent","device","cli","adb","simctl","devicectl","ios","android"],"author":{"name":"Callstack"},"license":"MIT","_id":"agent-device@0.12.2","maintainers":[{"name":"thymikee","email":"thymikee@gmail.com"}],"bin":{"agent-device":"bin/agent-device.mjs"},"dist":{"shasum":"30adaef1742886678d0a94f2db5a830ae7bbaa56","tarball":"https://registry.npmjs.org/agent-device/-/agent-device-0.12.2.tgz","fileCount":86,"integrity":"sha512-0bXInMPD2Z3nMjSg+JlcA2HCnD+FUZ4vq3+YHDqguSK1kQ446kDJL8u34QUe/ICnWD6Y9MRrUwQ6gJh6J5hdkQ==","signatures":[{"sig":"MEUCIQCuCaRiZ9Bh8g2aunQChOLo0oNSRtUkL9HqbER0Sv2xSQIgQVKSM+Z52NoF4NbW54LkYThJ3JKnwl2bgyWDb7SZNDI=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1308280},"main":"dist/src/index.js","pnpm":{"overrides":{"lodash-es":"4.18.1"}},"type":"module","types":"dist/src/index.d.ts","engines":{"node":">=22"},"exports":{".":{"types":"./dist/src/index.d.ts","import":"./dist/src/index.js"},"./metro":{"types":"./dist/src/metro.d.ts","import":"./dist/src/metro.js"},"./finders":{"types":"./dist/src/finders.d.ts","import":"./dist/src/finders.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"},"./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"}},"gitHead":"657945d2416bb5f9c644e4984a0093bce216fcc8","scripts":{"ad":"node bin/agent-device.mjs","lint":"oxlint . --deny-warnings","test":"vitest run","build":"rslib build","check":"pnpm check:tooling && pnpm check:unit","format":"oxfmt --write src test skills package.json tsconfig.json .oxlintrc.json .oxfmtrc.json","prepack":"pnpm build:all","build:all":"pnpm build:node && pnpm build:xcuitest","test:unit":"vitest run","typecheck":"tsc -p tsconfig.json","build:node":"pnpm build && pnpm clean:daemon","check:unit":"pnpm test:unit && pnpm test:smoke","test:smoke":"node --test test/integration/smoke-*.test.ts","check:quick":"pnpm lint && pnpm typecheck","clean:daemon":"rm -f ~/.agent-device/daemon.json && rm -f ~/.agent-device/daemon.lock","check:tooling":"pnpm lint && pnpm typecheck && pnpm build","build:xcuitest":"pnpm build:xcuitest:ios && pnpm build:xcuitest:macos","test:replay:ios":"node --experimental-strip-types src/bin.ts test test/integration/replays/ios/simulator","test:integration":"node --test test/integration/*.test.ts","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","build:macos-helper":"swift build -c release --package-path macos-helper","build:xcuitest:ios":"AGENT_DEVICE_XCUITEST_PLATFORM=ios AGENT_DEVICE_IOS_CLEAN_DERIVED=1 sh ./scripts/build-xcuitest-apple.sh","build:xcuitest:tvos":"AGENT_DEVICE_XCUITEST_PLATFORM=tvos AGENT_DEVICE_IOS_CLEAN_DERIVED=1 sh ./scripts/build-xcuitest-apple.sh","test:replay:android":"node --experimental-strip-types src/bin.ts test test/integration/replays/android","build:xcuitest:macos":"AGENT_DEVICE_XCUITEST_PLATFORM=macos sh ./scripts/build-xcuitest-apple.sh","test:replay:ios-device":"node --experimental-strip-types src/bin.ts test test/integration/replays/ios/device"},"_npmUser":{"name":"thymikee","email":"thymikee@gmail.com"},"_npmVersion":"11.6.2","description":"Unified control plane for physical and virtual devices via an agent-driven CLI.","directories":{},"_nodeVersion":"24.13.0","dependencies":{"pngjs":"^7.0.0","fast-xml-parser":"^5.5.10"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^8.0.7","oxfmt":"^0.42.0","oxlint":"^1.57.0","vitest":"^4.1.2","typescript":"^6.0.2","@rslib/core":"0.20.1","@types/node":"^22.0.0","@types/pngjs":"^6.0.5","@microsoft/api-extractor":"^7.58.1"},"_npmOperationalInternal":{"tmp":"tmp/agent-device_0.12.2_1775990970958_0.2779266286817139","host":"s3://npm-registry-packages-npm-production"}},"0.12.3":{"name":"agent-device","version":"0.12.3","keywords":["agent","device","cli","adb","simctl","devicectl","ios","android"],"author":{"name":"Callstack"},"license":"MIT","_id":"agent-device@0.12.3","maintainers":[{"name":"thymikee","email":"thymikee@gmail.com"}],"bin":{"agent-device":"bin/agent-device.mjs"},"dist":{"shasum":"d32c7adf6db118dbbb3a4e5328dc06f850943178","tarball":"https://registry.npmjs.org/agent-device/-/agent-device-0.12.3.tgz","fileCount":87,"integrity":"sha512-Il3/rqWq82GxicnPfg2A3/a6xoeDpCIwZ7M21o1ZGO/4FqaZLmpAUZDYEO9At+TMMxmDP3cPdKuYLt85fs92kA==","signatures":[{"sig":"MEUCIHqEQ2DFMgtzDTakXZIS2FOlXxRa0tBRar51lwxDpsfUAiEA2pg47jRH5WwTh3s771+0aq6TtZVzewcibxy+Qi6SezU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1324678},"main":"dist/src/index.js","pnpm":{"overrides":{"lodash-es":"4.18.1"}},"type":"module","types":"dist/src/index.d.ts","engines":{"node":">=22"},"exports":{".":{"types":"./dist/src/index.d.ts","import":"./dist/src/index.js"},"./metro":{"types":"./dist/src/metro.d.ts","import":"./dist/src/metro.js"},"./finders":{"types":"./dist/src/finders.d.ts","import":"./dist/src/finders.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-apps":{"types":"./dist/src/android-apps.d.ts","import":"./dist/src/android-apps.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"}},"gitHead":"ac01393a9e9d6f5f10cefd767ff3e132c8eda029","scripts":{"ad":"node bin/agent-device.mjs","lint":"oxlint . --deny-warnings","test":"vitest run","build":"rslib build","check":"pnpm check:tooling && pnpm check:unit","format":"oxfmt --write src test skills package.json tsconfig.json .oxlintrc.json .oxfmtrc.json","prepack":"pnpm build:all","build:all":"pnpm build:node && pnpm build:xcuitest","test:unit":"vitest run","typecheck":"tsc -p tsconfig.json","build:node":"pnpm build && pnpm clean:daemon","check:unit":"pnpm test:unit && pnpm test:smoke","test:smoke":"node --test test/integration/smoke-*.test.ts","check:quick":"pnpm lint && pnpm typecheck","clean:daemon":"rm -f ~/.agent-device/daemon.json && rm -f ~/.agent-device/daemon.lock","check:tooling":"pnpm lint && pnpm typecheck && pnpm build","build:xcuitest":"pnpm build:xcuitest:ios && pnpm build:xcuitest:macos","test:replay:ios":"node --experimental-strip-types src/bin.ts test test/integration/replays/ios/simulator","test:integration":"node --test test/integration/*.test.ts","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","build:macos-helper":"swift build -c release --package-path macos-helper","build:xcuitest:ios":"AGENT_DEVICE_XCUITEST_PLATFORM=ios AGENT_DEVICE_IOS_CLEAN_DERIVED=1 sh ./scripts/build-xcuitest-apple.sh","build:xcuitest:tvos":"AGENT_DEVICE_XCUITEST_PLATFORM=tvos AGENT_DEVICE_IOS_CLEAN_DERIVED=1 sh ./scripts/build-xcuitest-apple.sh","test:replay:android":"node --experimental-strip-types src/bin.ts test test/integration/replays/android","build:xcuitest:macos":"AGENT_DEVICE_XCUITEST_PLATFORM=macos sh ./scripts/build-xcuitest-apple.sh","test:replay:ios-device":"node --experimental-strip-types src/bin.ts test test/integration/replays/ios/device"},"_npmUser":{"name":"thymikee","email":"thymikee@gmail.com"},"_npmVersion":"11.6.2","description":"Unified control plane for physical and virtual devices via an agent-driven CLI.","directories":{},"_nodeVersion":"24.13.0","dependencies":{"pngjs":"^7.0.0","fast-xml-parser":"^5.5.10"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^8.0.7","oxfmt":"^0.42.0","oxlint":"^1.57.0","vitest":"^4.1.2","typescript":"^6.0.2","@rslib/core":"0.20.1","@types/node":"^22.0.0","@types/pngjs":"^6.0.5","@microsoft/api-extractor":"^7.58.1"},"_npmOperationalInternal":{"tmp":"tmp/agent-device_0.12.3_1776082385298_0.47604287869205275","host":"s3://npm-registry-packages-npm-production"}},"0.12.4":{"name":"agent-device","version":"0.12.4","keywords":["agent","device","cli","adb","simctl","devicectl","ios","android"],"author":{"name":"Callstack"},"license":"MIT","_id":"agent-device@0.12.4","maintainers":[{"name":"thymikee","email":"thymikee@gmail.com"}],"bin":{"agent-device":"bin/agent-device.mjs"},"dist":{"shasum":"8a4e23cb1a8ed8e3809458bedbece35eccf607fd","tarball":"https://registry.npmjs.org/agent-device/-/agent-device-0.12.4.tgz","fileCount":87,"integrity":"sha512-7uhmV0QaYj8ICooMNEWSpNRkG/HGjVV+djDWqyMzhuNFi36BfgG72jtSfgs5DGm5JRwhfkyuvTvpqKuKxFdk8A==","signatures":[{"sig":"MEYCIQD65sSGvcL0j5vMyGsoqsoNSOoB0+zoalPfp3ErsC2c8AIhALHqt/xtYLk6kvWFBXHtlSIB+qVBzUgFMtEUsYkUt2Fk","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1327444},"main":"dist/src/index.js","pnpm":{"overrides":{"lodash-es":"4.18.1"}},"type":"module","types":"dist/src/index.d.ts","engines":{"node":">=22"},"exports":{".":{"types":"./dist/src/index.d.ts","import":"./dist/src/index.js"},"./metro":{"types":"./dist/src/metro.d.ts","import":"./dist/src/metro.js"},"./finders":{"types":"./dist/src/finders.d.ts","import":"./dist/src/finders.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-apps":{"types":"./dist/src/android-apps.d.ts","import":"./dist/src/android-apps.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"}},"gitHead":"f3a9632491e006e8d046912cda9f7b8064926dc1","scripts":{"ad":"node bin/agent-device.mjs","lint":"oxlint . --deny-warnings","test":"vitest run","build":"rslib build","check":"pnpm check:tooling && pnpm check:unit","format":"oxfmt --write src test skills package.json tsconfig.json .oxlintrc.json .oxfmtrc.json","prepack":"pnpm build:all","build:all":"pnpm build:node && pnpm build:xcuitest","test:unit":"vitest run","typecheck":"tsc -p tsconfig.json","build:node":"pnpm build && pnpm clean:daemon","check:unit":"pnpm test:unit && pnpm test:smoke","test:smoke":"node --test test/integration/smoke-*.test.ts","check:quick":"pnpm lint && pnpm typecheck","clean:daemon":"rm -f ~/.agent-device/daemon.json && rm -f ~/.agent-device/daemon.lock","check:tooling":"pnpm lint && pnpm typecheck && pnpm build","build:xcuitest":"pnpm build:xcuitest:ios && pnpm build:xcuitest:macos","test:replay:ios":"node --experimental-strip-types src/bin.ts test test/integration/replays/ios/simulator","test:integration":"node --test test/integration/*.test.ts","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","build:macos-helper":"swift build -c release --package-path macos-helper","build:xcuitest:ios":"AGENT_DEVICE_XCUITEST_PLATFORM=ios AGENT_DEVICE_IOS_CLEAN_DERIVED=1 sh ./scripts/build-xcuitest-apple.sh","build:xcuitest:tvos":"AGENT_DEVICE_XCUITEST_PLATFORM=tvos AGENT_DEVICE_IOS_CLEAN_DERIVED=1 sh ./scripts/build-xcuitest-apple.sh","test:replay:android":"node --experimental-strip-types src/bin.ts test test/integration/replays/android","build:xcuitest:macos":"AGENT_DEVICE_XCUITEST_PLATFORM=macos sh ./scripts/build-xcuitest-apple.sh","test:replay:ios-device":"node --experimental-strip-types src/bin.ts test test/integration/replays/ios/device"},"_npmUser":{"name":"thymikee","email":"thymikee@gmail.com"},"_npmVersion":"11.6.2","description":"Unified control plane for physical and virtual devices via an agent-driven CLI.","directories":{},"_nodeVersion":"24.13.0","dependencies":{"pngjs":"^7.0.0","fast-xml-parser":"^5.5.10"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^8.0.7","oxfmt":"^0.42.0","oxlint":"^1.57.0","vitest":"^4.1.2","typescript":"^6.0.2","@rslib/core":"0.20.1","@types/node":"^22.0.0","@types/pngjs":"^6.0.5","@microsoft/api-extractor":"^7.58.1"},"_npmOperationalInternal":{"tmp":"tmp/agent-device_0.12.4_1776094394362_0.8403435211229111","host":"s3://npm-registry-packages-npm-production"}},"0.12.5":{"name":"agent-device","version":"0.12.5","keywords":["agent","device","cli","adb","simctl","devicectl","ios","android"],"author":{"name":"Callstack"},"license":"MIT","_id":"agent-device@0.12.5","maintainers":[{"name":"thymikee","email":"thymikee@gmail.com"}],"bin":{"agent-device":"bin/agent-device.mjs"},"dist":{"shasum":"9ece420688542bb103c47112062aa698fcfe7773","tarball":"https://registry.npmjs.org/agent-device/-/agent-device-0.12.5.tgz","fileCount":95,"integrity":"sha512-lpWmvME0a7BhqQf19T4gohL9K2QpBpOemAX70OItYv+s/LJHTzK0Xk8CdWDrlfTx6kyK7TjSS6oemgM3SJrxTA==","signatures":[{"sig":"MEQCIHUAZl96uHzQz25xNwRfAjr/eubODiOrYGUmLK9KwCZcAiBpyr6q07RUtWeln1ruAwj0bzu/ze+/NtRet47YjRdHjA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1509046},"main":"dist/src/index.js","pnpm":{"overrides":{"lodash-es":"4.18.1"}},"type":"module","types":"dist/src/index.d.ts","engines":{"node":">=22"},"exports":{".":{"types":"./dist/src/index.d.ts","import":"./dist/src/index.js"},"./io":{"types":"./dist/src/io.d.ts","import":"./dist/src/io.js"},"./metro":{"types":"./dist/src/metro.d.ts","import":"./dist/src/metro.js"},"./backend":{"types":"./dist/src/backend.d.ts","import":"./dist/src/backend.js"},"./finders":{"types":"./dist/src/finders.d.ts","import":"./dist/src/finders.js"},"./commands":{"types":"./dist/src/commands/index.d.ts","import":"./dist/src/commands/index.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-apps":{"types":"./dist/src/android-apps.d.ts","import":"./dist/src/android-apps.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"},"./testing/conformance":{"types":"./dist/src/testing/conformance.d.ts","import":"./dist/src/testing/conformance.js"}},"gitHead":"94d44d5a4ff9cd47af11296b657633a029f7d0c6","scripts":{"ad":"node bin/agent-device.mjs","lint":"oxlint . --deny-warnings","test":"vitest run","build":"rslib build","check":"pnpm check:tooling && pnpm check:unit","format":"oxfmt --write src test skills package.json tsconfig.json .oxlintrc.json .oxfmtrc.json","prepack":"pnpm build:all","build:all":"pnpm build:node && pnpm build:xcuitest","test:unit":"vitest run","typecheck":"tsc -p tsconfig.json","build:node":"pnpm build && pnpm clean:daemon","check:unit":"pnpm test:unit && pnpm test:smoke","test:smoke":"node --test test/integration/smoke-*.test.ts","check:quick":"pnpm lint && pnpm typecheck","clean:daemon":"rm -f ~/.agent-device/daemon.json && rm -f ~/.agent-device/daemon.lock","check:tooling":"pnpm lint && pnpm typecheck && pnpm build","build:xcuitest":"pnpm build:xcuitest:ios && pnpm build:xcuitest:macos","test:replay:ios":"node --experimental-strip-types src/bin.ts test test/integration/replays/ios/simulator","test:integration":"node --test test/integration/*.test.ts","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","build:macos-helper":"swift build -c release --package-path macos-helper","build:xcuitest:ios":"AGENT_DEVICE_XCUITEST_PLATFORM=ios AGENT_DEVICE_IOS_CLEAN_DERIVED=1 sh ./scripts/build-xcuitest-apple.sh","build:xcuitest:tvos":"AGENT_DEVICE_XCUITEST_PLATFORM=tvos AGENT_DEVICE_IOS_CLEAN_DERIVED=1 sh ./scripts/build-xcuitest-apple.sh","test:replay:android":"node --experimental-strip-types src/bin.ts test test/integration/replays/android","build:xcuitest:macos":"AGENT_DEVICE_XCUITEST_PLATFORM=macos sh ./scripts/build-xcuitest-apple.sh","test:replay:ios-device":"node --experimental-strip-types src/bin.ts test test/integration/replays/ios/device"},"_npmUser":{"name":"thymikee","email":"thymikee@gmail.com"},"_npmVersion":"11.6.2","description":"Unified control plane for physical and virtual devices via an agent-driven CLI.","directories":{},"_nodeVersion":"24.13.0","dependencies":{"pngjs":"^7.0.0","fast-xml-parser":"^5.5.10"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^8.0.7","oxfmt":"^0.42.0","oxlint":"^1.57.0","vitest":"^4.1.2","typescript":"^6.0.2","@rslib/core":"0.20.1","@types/node":"^22.0.0","@types/pngjs":"^6.0.5","@microsoft/api-extractor":"^7.58.1"},"_npmOperationalInternal":{"tmp":"tmp/agent-device_0.12.5_1776337497356_0.009980824024337753","host":"s3://npm-registry-packages-npm-production"}},"0.12.6":{"name":"agent-device","version":"0.12.6","keywords":["agent","device","cli","adb","simctl","devicectl","ios","android"],"author":{"name":"Callstack"},"license":"MIT","_id":"agent-device@0.12.6","maintainers":[{"name":"thymikee","email":"thymikee@gmail.com"}],"bin":{"agent-device":"bin/agent-device.mjs"},"dist":{"shasum":"fccce1a7ab24ef62ddfd922a78d96e9fc47ed80c","tarball":"https://registry.npmjs.org/agent-device/-/agent-device-0.12.6.tgz","fileCount":95,"integrity":"sha512-sSPtj6BJPYOXGFd+V+RP/eU2vFE/mWKWQFNP0KfJ2W6bXTELyHLTG4IcrPl6AJadQnQdTcHVlGGZg6JNuq+1Gw==","signatures":[{"sig":"MEUCIH5p7UipxPPwSFbR+c080N/V7bRjqrbb9BxJV2Y0XeaEAiEAv4mdN+hkosZjJKjvWcRNoDDu78uW2b06lcp6VNytTnE=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1662014},"main":"dist/src/index.js","pnpm":{"overrides":{"lodash-es":"4.18.1"}},"type":"module","types":"dist/src/index.d.ts","engines":{"node":">=22"},"exports":{".":{"types":"./dist/src/index.d.ts","import":"./dist/src/index.js"},"./io":{"types":"./dist/src/io.d.ts","import":"./dist/src/io.js"},"./metro":{"types":"./dist/src/metro.d.ts","import":"./dist/src/metro.js"},"./backend":{"types":"./dist/src/backend.d.ts","import":"./dist/src/backend.js"},"./finders":{"types":"./dist/src/finders.d.ts","import":"./dist/src/finders.js"},"./commands":{"types":"./dist/src/commands/index.d.ts","import":"./dist/src/commands/index.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-apps":{"types":"./dist/src/android-apps.d.ts","import":"./dist/src/android-apps.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"},"./testing/conformance":{"types":"./dist/src/testing/conformance.d.ts","import":"./dist/src/testing/conformance.js"}},"gitHead":"a53ba204ac72cdc8794c732d595d0e165d5a0c82","scripts":{"ad":"node bin/agent-device.mjs","lint":"oxlint . --deny-warnings","test":"vitest run","build":"rslib build","check":"pnpm check:tooling && pnpm check:unit","format":"oxfmt --write src test skills package.json tsconfig.json .oxlintrc.json .oxfmtrc.json","prepack":"pnpm build:all","build:all":"pnpm build:node && pnpm build:xcuitest","test:unit":"vitest run","typecheck":"tsc -p tsconfig.json","build:node":"pnpm build && pnpm clean:daemon","check:unit":"pnpm test:unit && pnpm test:smoke","test:smoke":"node --test test/integration/smoke-*.test.ts","check:quick":"pnpm lint && pnpm typecheck","clean:daemon":"rm -f ~/.agent-device/daemon.json && rm -f ~/.agent-device/daemon.lock","check:tooling":"pnpm lint && pnpm typecheck && pnpm build","build:xcuitest":"pnpm build:xcuitest:ios && pnpm build:xcuitest:macos","test:replay:ios":"node --experimental-strip-types src/bin.ts test test/integration/replays/ios/simulator","test:integration":"node --test test/integration/*.test.ts","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","build:macos-helper":"swift build -c release --package-path macos-helper","build:xcuitest:ios":"AGENT_DEVICE_XCUITEST_PLATFORM=ios AGENT_DEVICE_IOS_CLEAN_DERIVED=1 sh ./scripts/build-xcuitest-apple.sh","build:xcuitest:tvos":"AGENT_DEVICE_XCUITEST_PLATFORM=tvos AGENT_DEVICE_IOS_CLEAN_DERIVED=1 sh ./scripts/build-xcuitest-apple.sh","test:replay:android":"node --experimental-strip-types src/bin.ts test test/integration/replays/android","build:xcuitest:macos":"AGENT_DEVICE_XCUITEST_PLATFORM=macos sh ./scripts/build-xcuitest-apple.sh","test:replay:ios-device":"node --experimental-strip-types src/bin.ts test test/integration/replays/ios/device"},"_npmUser":{"name":"thymikee","email":"thymikee@gmail.com"},"_npmVersion":"11.6.2","description":"Unified control plane for physical and virtual devices via an agent-driven CLI.","directories":{},"_nodeVersion":"24.13.0","dependencies":{"pngjs":"^7.0.0","fast-xml-parser":"^5.5.10"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^8.0.7","oxfmt":"^0.42.0","oxlint":"^1.57.0","vitest":"^4.1.2","typescript":"^6.0.2","@rslib/core":"0.20.1","@types/node":"^22.0.0","@types/pngjs":"^6.0.5","@microsoft/api-extractor":"^7.58.1"},"_npmOperationalInternal":{"tmp":"tmp/agent-device_0.12.6_1776356265052_0.927611597799161","host":"s3://npm-registry-packages-npm-production"}},"0.12.7":{"name":"agent-device","version":"0.12.7","keywords":["agent","device","cli","adb","simctl","devicectl","ios","android"],"author":{"name":"Callstack"},"license":"MIT","_id":"agent-device@0.12.7","maintainers":[{"name":"thymikee","email":"thymikee@gmail.com"}],"bin":{"agent-device":"bin/agent-device.mjs"},"dist":{"shasum":"49edd78a3df87246b3db1f60f0f3846b5085126a","tarball":"https://registry.npmjs.org/agent-device/-/agent-device-0.12.7.tgz","fileCount":95,"integrity":"sha512-9u9FeX9TUIXhYE+uL0/Z4ZAfWWjDks7CbKv2lPMfGeN6CyrBv0gY/PdPQXs2xvhd667XiYx8DL0pycZK03oqmw==","signatures":[{"sig":"MEYCIQD7W3rXaiKTi80msOdV/zSo4NrGPYSgxqkSOii6ENjytAIhAI3/x8IMCJ3Plxe7qqXQiiWnJCKkNLnmnuchl8XPXrXQ","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1666612},"main":"dist/src/index.js","pnpm":{"overrides":{"lodash-es":"4.18.1"}},"type":"module","types":"dist/src/index.d.ts","engines":{"node":">=22"},"exports":{".":{"types":"./dist/src/index.d.ts","import":"./dist/src/index.js"},"./io":{"types":"./dist/src/io.d.ts","import":"./dist/src/io.js"},"./metro":{"types":"./dist/src/metro.d.ts","import":"./dist/src/metro.js"},"./backend":{"types":"./dist/src/backend.d.ts","import":"./dist/src/backend.js"},"./finders":{"types":"./dist/src/finders.d.ts","import":"./dist/src/finders.js"},"./commands":{"types":"./dist/src/commands/index.d.ts","import":"./dist/src/commands/index.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-apps":{"types":"./dist/src/android-apps.d.ts","import":"./dist/src/android-apps.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"},"./testing/conformance":{"types":"./dist/src/testing/conformance.d.ts","import":"./dist/src/testing/conformance.js"}},"gitHead":"1eddf53ae9723f65d1b06ba6cce50acf10280432","scripts":{"ad":"node bin/agent-device.mjs","lint":"oxlint . --deny-warnings","test":"vitest run","build":"rslib build","check":"pnpm check:tooling && pnpm check:unit","format":"oxfmt --write src test skills package.json tsconfig.json .oxlintrc.json .oxfmtrc.json","prepack":"pnpm build:all","build:all":"pnpm build:node && pnpm build:xcuitest","test:unit":"vitest run","typecheck":"tsc -p tsconfig.json","build:node":"pnpm build && pnpm clean:daemon","check:unit":"pnpm test:unit && pnpm test:smoke","test:smoke":"node --test test/integration/smoke-*.test.ts","check:quick":"pnpm lint && pnpm typecheck","clean:daemon":"rm -f ~/.agent-device/daemon.json && rm -f ~/.agent-device/daemon.lock","check:tooling":"pnpm lint && pnpm typecheck && pnpm build","build:xcuitest":"pnpm build:xcuitest:ios && pnpm build:xcuitest:macos","test:replay:ios":"node --experimental-strip-types src/bin.ts test test/integration/replays/ios/simulator","test:integration":"node --test test/integration/*.test.ts","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","build:macos-helper":"swift build -c release --package-path macos-helper","build:xcuitest:ios":"AGENT_DEVICE_XCUITEST_PLATFORM=ios AGENT_DEVICE_IOS_CLEAN_DERIVED=1 sh ./scripts/build-xcuitest-apple.sh","build:xcuitest:tvos":"AGENT_DEVICE_XCUITEST_PLATFORM=tvos AGENT_DEVICE_IOS_CLEAN_DERIVED=1 sh ./scripts/build-xcuitest-apple.sh","test:replay:android":"node --experimental-strip-types src/bin.ts test test/integration/replays/android","build:xcuitest:macos":"AGENT_DEVICE_XCUITEST_PLATFORM=macos sh ./scripts/build-xcuitest-apple.sh","test:replay:ios-device":"node --experimental-strip-types src/bin.ts test test/integration/replays/ios/device"},"_npmUser":{"name":"thymikee","email":"thymikee@gmail.com"},"_npmVersion":"11.6.2","description":"Unified control plane for physical and virtual devices via an agent-driven CLI.","directories":{},"_nodeVersion":"24.13.0","dependencies":{"pngjs":"^7.0.0","fast-xml-parser":"^5.5.10"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^8.0.7","oxfmt":"^0.42.0","oxlint":"^1.57.0","vitest":"^4.1.2","typescript":"^6.0.2","@rslib/core":"0.20.1","@types/node":"^22.0.0","@types/pngjs":"^6.0.5","@microsoft/api-extractor":"^7.58.1"},"_npmOperationalInternal":{"tmp":"tmp/agent-device_0.12.7_1776421664951_0.19384193829823237","host":"s3://npm-registry-packages-npm-production"}},"0.12.8":{"name":"agent-device","version":"0.12.8","keywords":["agent","device","cli","adb","simctl","devicectl","ios","android"],"author":{"name":"Callstack"},"license":"MIT","_id":"agent-device@0.12.8","maintainers":[{"name":"thymikee","email":"thymikee@gmail.com"}],"bin":{"agent-device":"bin/agent-device.mjs"},"dist":{"shasum":"2b49f7d058a968cab9ea01b79a8e71a47218cd9e","tarball":"https://registry.npmjs.org/agent-device/-/agent-device-0.12.8.tgz","fileCount":108,"integrity":"sha512-5TVlB1dwUI7fyyzMJtzqKcGrrLEEzH0tak/JJ/ndviyN6Mvq2Y+Y0CTEH4upqa2T410DWr4mCiWsA4JzpGTk4w==","signatures":[{"sig":"MEUCIAizsISKFuOA3fyknNrjjs6LyHr6o92xRLudXAHsOKeoAiEA6USsRvAMG+D+eSGmovC7Rl07oo3Q/V9G+HKMW4SBuDM=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1505869},"main":"dist/src/index.js","pnpm":{"overrides":{"lodash-es":"4.18.1"}},"type":"module","types":"dist/src/index.d.ts","engines":{"node":">=22"},"exports":{".":{"types":"./dist/src/index.d.ts","import":"./dist/src/index.js"},"./io":{"types":"./dist/src/io.d.ts","import":"./dist/src/io.js"},"./metro":{"types":"./dist/src/metro.d.ts","import":"./dist/src/metro.js"},"./backend":{"types":"./dist/src/backend.d.ts","import":"./dist/src/backend.js"},"./finders":{"types":"./dist/src/finders.d.ts","import":"./dist/src/finders.js"},"./commands":{"types":"./dist/src/commands/index.d.ts","import":"./dist/src/commands/index.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-apps":{"types":"./dist/src/android-apps.d.ts","import":"./dist/src/android-apps.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"},"./testing/conformance":{"types":"./dist/src/testing/conformance.d.ts","import":"./dist/src/testing/conformance.js"}},"gitHead":"67337e2f0a661a2ad82139a7a8e108c24f4335b0","scripts":{"ad":"node bin/agent-device.mjs","lint":"oxlint . --deny-warnings","test":"vitest run","build":"rslib build","check":"pnpm check:tooling && pnpm check:unit","format":"oxfmt --write src test skills package.json tsconfig.json .oxlintrc.json .oxfmtrc.json","prepack":"pnpm build:all","build:all":"pnpm build:node && pnpm build:xcuitest","test:unit":"vitest run","typecheck":"tsc -p tsconfig.json","build:node":"pnpm build && pnpm clean:daemon","check:unit":"pnpm test:unit && pnpm test:smoke","test:smoke":"node --test test/integration/smoke-*.test.ts","check:quick":"pnpm lint && pnpm typecheck","clean:daemon":"rm -f ~/.agent-device/daemon.json && rm -f ~/.agent-device/daemon.lock","check:tooling":"pnpm lint && pnpm typecheck && pnpm build","build:xcuitest":"pnpm build:xcuitest:ios && pnpm build:xcuitest:macos","test:replay:ios":"node --experimental-strip-types src/bin.ts test test/integration/replays/ios/simulator","test:integration":"node --test test/integration/*.test.ts","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","build:macos-helper":"swift build -c release --package-path macos-helper","build:xcuitest:ios":"AGENT_DEVICE_XCUITEST_PLATFORM=ios AGENT_DEVICE_IOS_CLEAN_DERIVED=1 sh ./scripts/build-xcuitest-apple.sh","build:xcuitest:tvos":"AGENT_DEVICE_XCUITEST_PLATFORM=tvos AGENT_DEVICE_IOS_CLEAN_DERIVED=1 sh ./scripts/build-xcuitest-apple.sh","test:replay:android":"node --experimental-strip-types src/bin.ts test test/integration/replays/android","build:xcuitest:macos":"AGENT_DEVICE_XCUITEST_PLATFORM=macos sh ./scripts/build-xcuitest-apple.sh","test:replay:ios-device":"node --experimental-strip-types src/bin.ts test test/integration/replays/ios/device"},"_npmUser":{"name":"thymikee","email":"thymikee@gmail.com"},"_npmVersion":"11.6.2","description":"Unified control plane for physical and virtual devices via an agent-driven CLI.","directories":{},"_nodeVersion":"24.13.0","dependencies":{"pngjs":"^7.0.0","fast-xml-parser":"^5.5.10"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^8.0.7","oxfmt":"^0.42.0","oxlint":"^1.57.0","vitest":"^4.1.2","typescript":"^6.0.2","@rslib/core":"0.20.1","@types/node":"^22.0.0","@types/pngjs":"^6.0.5","@microsoft/api-extractor":"^7.58.1"},"_npmOperationalInternal":{"tmp":"tmp/agent-device_0.12.8_1776423153939_0.544724833032636","host":"s3://npm-registry-packages-npm-production"}},"0.12.9":{"name":"agent-device","version":"0.12.9","keywords":["agent","device","cli","adb","simctl","devicectl","ios","android"],"author":{"name":"Callstack"},"license":"MIT","_id":"agent-device@0.12.9","maintainers":[{"name":"thymikee","email":"thymikee@gmail.com"}],"homepage":"https://agent-device.dev/","bugs":{"url":"https://github.com/callstackincubator/agent-device/issues"},"bin":{"agent-device":"bin/agent-device.mjs"},"dist":{"shasum":"f6a3304c3ceb0488336e03df9bb6ab120b7589a4","tarball":"https://registry.npmjs.org/agent-device/-/agent-device-0.12.9.tgz","fileCount":110,"integrity":"sha512-3M59/+WItaBT0ymY2kZyScFZ5/mhDjGjhz/xn6oxDCU3GmPIdztjCoIt2I3iQQda+5Cz/Zwj52+MoC2tNdc7Cw==","signatures":[{"sig":"MEQCIAsnGgvKZZ7IBxQn4mACgVUHts349oWCNlNG3f6xnITrAiBKycQo3DXKdpXw7dwNvQSmpiubZNQKTQP2+v1w06E3YQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1509555},"main":"dist/src/index.js","pnpm":{"overrides":{"lodash-es":"4.18.1"}},"type":"module","types":"dist/src/index.d.ts","engines":{"node":">=22"},"exports":{".":{"types":"./dist/src/index.d.ts","import":"./dist/src/index.js"},"./io":{"types":"./dist/src/io.d.ts","import":"./dist/src/io.js"},"./metro":{"types":"./dist/src/metro.d.ts","import":"./dist/src/metro.js"},"./backend":{"types":"./dist/src/backend.d.ts","import":"./dist/src/backend.js"},"./finders":{"types":"./dist/src/finders.d.ts","import":"./dist/src/finders.js"},"./commands":{"types":"./dist/src/commands/index.d.ts","import":"./dist/src/commands/index.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-apps":{"types":"./dist/src/android-apps.d.ts","import":"./dist/src/android-apps.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"},"./testing/conformance":{"types":"./dist/src/testing/conformance.d.ts","import":"./dist/src/testing/conformance.js"}},"gitHead":"89ecaaf68cc801161c5bd003426002edf67abb4d","scripts":{"ad":"node bin/agent-device.mjs","lint":"oxlint . --deny-warnings","test":"vitest run","build":"rslib build","check":"pnpm check:tooling && pnpm check:unit","format":"oxfmt --write src test skills package.json tsconfig.json .oxlintrc.json .oxfmtrc.json","prepack":"pnpm build:all","build:all":"pnpm build:node && pnpm build:xcuitest","test:unit":"vitest run","typecheck":"tsc -p tsconfig.json","build:node":"pnpm build && pnpm clean:daemon","check:unit":"pnpm test:unit && pnpm test:smoke","test:smoke":"node --test test/integration/smoke-*.test.ts","check:quick":"pnpm lint && pnpm typecheck","clean:daemon":"rm -f ~/.agent-device/daemon.json && rm -f ~/.agent-device/daemon.lock","check:tooling":"pnpm lint && pnpm typecheck && pnpm build","build:xcuitest":"pnpm build:xcuitest:ios && pnpm build:xcuitest:macos","test:replay:ios":"node --experimental-strip-types src/bin.ts test test/integration/replays/ios/simulator","test:integration":"node --test test/integration/*.test.ts","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","build:macos-helper":"swift build -c release --package-path macos-helper","build:xcuitest:ios":"AGENT_DEVICE_XCUITEST_PLATFORM=ios AGENT_DEVICE_IOS_CLEAN_DERIVED=1 sh ./scripts/build-xcuitest-apple.sh","build:xcuitest:tvos":"AGENT_DEVICE_XCUITEST_PLATFORM=tvos AGENT_DEVICE_IOS_CLEAN_DERIVED=1 sh ./scripts/build-xcuitest-apple.sh","test:replay:android":"node --experimental-strip-types src/bin.ts test test/integration/replays/android","build:xcuitest:macos":"AGENT_DEVICE_XCUITEST_PLATFORM=macos sh ./scripts/build-xcuitest-apple.sh","test:replay:ios-device":"node --experimental-strip-types src/bin.ts test test/integration/replays/ios/device"},"_npmUser":{"name":"thymikee","email":"thymikee@gmail.com"},"repository":{"url":"git+https://github.com/callstackincubator/agent-device.git","type":"git"},"_npmVersion":"11.6.2","description":"Unified control plane for physical and virtual devices via an agent-driven CLI.","directories":{},"_nodeVersion":"24.13.0","dependencies":{"pngjs":"^7.0.0","fast-xml-parser":"^5.5.10"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^8.0.7","oxfmt":"^0.42.0","oxlint":"^1.57.0","vitest":"^4.1.2","typescript":"^6.0.2","@rslib/core":"0.20.1","@types/node":"^22.0.0","@types/pngjs":"^6.0.5","@microsoft/api-extractor":"^7.58.1"},"_npmOperationalInternal":{"tmp":"tmp/agent-device_0.12.9_1776533530339_0.3308468909753226","host":"s3://npm-registry-packages-npm-production"}},"0.13.0":{"name":"agent-device","version":"0.13.0","keywords":["agent","device","cli","automation","adb","simctl","devicectl","ios","android","tvos","macos","react-native","observability","diagnostics","network","profiling","performance"],"author":{"name":"Callstack"},"license":"MIT","_id":"agent-device@0.13.0","maintainers":[{"name":"thymikee","email":"thymikee@gmail.com"}],"homepage":"https://agent-device.dev/","bugs":{"url":"https://github.com/callstackincubator/agent-device/issues"},"bin":{"agent-device":"bin/agent-device.mjs"},"dist":{"shasum":"1a40585f1df61e16cbdd61c2bb8c1d5385b48d1e","tarball":"https://registry.npmjs.org/agent-device/-/agent-device-0.13.0.tgz","fileCount":112,"integrity":"sha512-gM5csdty4ggOkEUXQjCPi2mc2f8GEAppyzWAoByBMiv+NcvlUozua2Gssrn34hqABoOMHR87LqovYcMNzBkUIg==","signatures":[{"sig":"MEQCIBdNBAyGddzJ22EAO7+LQ5dzXl0QKpK3c0EIfF5ZRRZEAiAWCV7bx+FdT197vteSB1EMXEYGwxu6g27n//yM96uqyg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1530244},"main":"dist/src/index.js","pnpm":{"overrides":{"lodash-es":"4.18.1"}},"type":"module","types":"dist/src/index.d.ts","engines":{"node":">=22"},"exports":{".":{"types":"./dist/src/index.d.ts","import":"./dist/src/index.js"},"./io":{"types":"./dist/src/io.d.ts","import":"./dist/src/io.js"},"./metro":{"types":"./dist/src/metro.d.ts","import":"./dist/src/metro.js"},"./backend":{"types":"./dist/src/backend.d.ts","import":"./dist/src/backend.js"},"./finders":{"types":"./dist/src/finders.d.ts","import":"./dist/src/finders.js"},"./commands":{"types":"./dist/src/commands/index.d.ts","import":"./dist/src/commands/index.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-apps":{"types":"./dist/src/android-apps.d.ts","import":"./dist/src/android-apps.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"},"./testing/conformance":{"types":"./dist/src/testing/conformance.d.ts","import":"./dist/src/testing/conformance.js"}},"gitHead":"04f70acbdf073b98db2b17be62c48caf8a3652b6","scripts":{"ad":"node bin/agent-device.mjs","lint":"oxlint . --deny-warnings","test":"vitest run","build":"rslib build","check":"pnpm check:tooling && pnpm check:unit","format":"oxfmt --write src test skills package.json tsconfig.json .oxlintrc.json .oxfmtrc.json","prepack":"pnpm build:all","build:all":"pnpm build:node && pnpm build:xcuitest","test:unit":"vitest run","typecheck":"tsc -p tsconfig.json","build:node":"pnpm build && pnpm clean:daemon","check:unit":"pnpm test:unit && pnpm test:smoke","test:smoke":"node --test test/integration/smoke-*.test.ts","check:quick":"pnpm lint && pnpm typecheck","clean:daemon":"rm -f ~/.agent-device/daemon.json && rm -f ~/.agent-device/daemon.lock","check:tooling":"pnpm lint && pnpm typecheck && pnpm build","build:xcuitest":"pnpm build:xcuitest:ios && pnpm build:xcuitest:macos","test:replay:ios":"node --experimental-strip-types src/bin.ts test test/integration/replays/ios/simulator","test:integration":"node --test test/integration/*.test.ts","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","build:macos-helper":"swift build -c release --package-path macos-helper","build:xcuitest:ios":"AGENT_DEVICE_XCUITEST_PLATFORM=ios AGENT_DEVICE_IOS_CLEAN_DERIVED=1 sh ./scripts/build-xcuitest-apple.sh","build:xcuitest:tvos":"AGENT_DEVICE_XCUITEST_PLATFORM=tvos AGENT_DEVICE_IOS_CLEAN_DERIVED=1 sh ./scripts/build-xcuitest-apple.sh","test:replay:android":"node --experimental-strip-types src/bin.ts test test/integration/replays/android","build:xcuitest:macos":"AGENT_DEVICE_XCUITEST_PLATFORM=macos sh ./scripts/build-xcuitest-apple.sh","test:replay:ios-device":"node --experimental-strip-types src/bin.ts test test/integration/replays/ios/device"},"_npmUser":{"name":"thymikee","email":"thymikee@gmail.com"},"repository":{"url":"git+https://github.com/callstackincubator/agent-device.git","type":"git"},"_npmVersion":"11.6.2","description":"Agent-driven CLI for mobile UI automation, network inspection, and performance diagnostics across iOS, Android, tvOS, and macOS.","directories":{},"_nodeVersion":"24.13.0","dependencies":{"pngjs":"^7.0.0","fast-xml-parser":"^5.5.10"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^8.0.7","oxfmt":"^0.42.0","oxlint":"^1.57.0","vitest":"^4.1.2","typescript":"^6.0.2","@rslib/core":"0.20.1","@types/node":"^22.0.0","@types/pngjs":"^6.0.5","@microsoft/api-extractor":"^7.58.1"},"_npmOperationalInternal":{"tmp":"tmp/agent-device_0.13.0_1777071333860_0.607888193105206","host":"s3://npm-registry-packages-npm-production"}},"0.13.1":{"name":"agent-device","version":"0.13.1","keywords":["agent","device","cli","automation","adb","simctl","devicectl","ios","android","tvos","macos","react-native","observability","diagnostics","network","profiling","performance"],"author":{"name":"Callstack"},"license":"MIT","_id":"agent-device@0.13.1","maintainers":[{"name":"thymikee","email":"thymikee@gmail.com"}],"homepage":"https://agent-device.dev/","bugs":{"url":"https://github.com/callstackincubator/agent-device/issues"},"bin":{"agent-device":"bin/agent-device.mjs"},"dist":{"shasum":"108d969e48721082d2afdb2ea5926756c1bd6cba","tarball":"https://registry.npmjs.org/agent-device/-/agent-device-0.13.1.tgz","fileCount":110,"integrity":"sha512-7CXUv4qURE3pk8zk/u/mappVZphWqL+GFV5Tu/7KsAacHMZiuHBeKsABJzQEUrLLYtAuN+GEToMTlLt3yS1SKg==","signatures":[{"sig":"MEUCICKc1Gu/8DdYeAQthO6IBkMeDZTg1Tq2U66OIRvfK6tOAiEAolCtX0yihZCSReGF2kAjl0vrEDGNk0N9b+ptNtvbSr0=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1545692},"main":"dist/src/index.js","pnpm":{"overrides":{"lodash-es":"4.18.1"}},"type":"module","types":"dist/src/index.d.ts","engines":{"node":">=22"},"exports":{".":{"types":"./dist/src/index.d.ts","import":"./dist/src/index.js"},"./io":{"types":"./dist/src/io.d.ts","import":"./dist/src/io.js"},"./metro":{"types":"./dist/src/metro.d.ts","import":"./dist/src/metro.js"},"./backend":{"types":"./dist/src/backend.d.ts","import":"./dist/src/backend.js"},"./finders":{"types":"./dist/src/finders.d.ts","import":"./dist/src/finders.js"},"./commands":{"types":"./dist/src/commands/index.d.ts","import":"./dist/src/commands/index.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-apps":{"types":"./dist/src/android-apps.d.ts","import":"./dist/src/android-apps.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"},"./testing/conformance":{"types":"./dist/src/testing/conformance.d.ts","import":"./dist/src/testing/conformance.js"}},"gitHead":"21d648f94a464181265d4104e2b6767dc69d4ef0","scripts":{"ad":"node bin/agent-device.mjs","lint":"oxlint . --deny-warnings","test":"vitest run","build":"rslib build","check":"pnpm check:tooling && pnpm check:unit","format":"oxfmt --write src test skills package.json tsconfig.json .oxlintrc.json .oxfmtrc.json","prepack":"pnpm build:all","build:all":"pnpm build:node && pnpm build:xcuitest","test:unit":"vitest run","typecheck":"tsc -p tsconfig.json","build:node":"pnpm build && pnpm clean:daemon","check:unit":"pnpm test:unit && pnpm test:smoke","test:smoke":"node --test test/integration/smoke-*.test.ts","check:quick":"pnpm lint && pnpm typecheck","clean:daemon":"rm -f ~/.agent-device/daemon.json && rm -f ~/.agent-device/daemon.lock","check:tooling":"pnpm lint && pnpm typecheck && pnpm build","build:xcuitest":"pnpm build:xcuitest:ios && pnpm build:xcuitest:macos","test:replay:ios":"node --experimental-strip-types src/bin.ts test test/integration/replays/ios/simulator","test:integration":"node --test test/integration/*.test.ts","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","build:macos-helper":"swift build -c release --package-path macos-helper","build:xcuitest:ios":"AGENT_DEVICE_XCUITEST_PLATFORM=ios AGENT_DEVICE_IOS_CLEAN_DERIVED=1 sh ./scripts/build-xcuitest-apple.sh","build:xcuitest:tvos":"AGENT_DEVICE_XCUITEST_PLATFORM=tvos AGENT_DEVICE_IOS_CLEAN_DERIVED=1 sh ./scripts/build-xcuitest-apple.sh","test:replay:android":"node --experimental-strip-types src/bin.ts test test/integration/replays/android","build:xcuitest:macos":"AGENT_DEVICE_XCUITEST_PLATFORM=macos sh ./scripts/build-xcuitest-apple.sh","test:replay:ios-device":"node --experimental-strip-types src/bin.ts test test/integration/replays/ios/device"},"_npmUser":{"name":"thymikee","email":"thymikee@gmail.com"},"repository":{"url":"git+https://github.com/callstackincubator/agent-device.git","type":"git"},"_npmVersion":"11.6.2","description":"Agent-driven CLI for mobile UI automation, network inspection, and performance diagnostics across iOS, Android, tvOS, and macOS.","directories":{},"_nodeVersion":"24.13.0","dependencies":{"pngjs":"^7.0.0","fast-xml-parser":"^5.5.10"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^8.0.7","oxfmt":"^0.42.0","oxlint":"^1.57.0","vitest":"^4.1.2","typescript":"^6.0.2","@rslib/core":"0.20.1","@types/node":"^22.0.0","@types/pngjs":"^6.0.5","@microsoft/api-extractor":"^7.58.1"},"_npmOperationalInternal":{"tmp":"tmp/agent-device_0.13.1_1777159914118_0.8728705505587988","host":"s3://npm-registry-packages-npm-production"}},"0.13.2":{"name":"agent-device","version":"0.13.2","keywords":["agent","device","cli","automation","adb","simctl","devicectl","ios","android","tvos","macos","react-native","observability","diagnostics","network","profiling","performance"],"author":{"name":"Callstack"},"license":"MIT","_id":"agent-device@0.13.2","maintainers":[{"name":"thymikee","email":"thymikee@gmail.com"}],"homepage":"https://agent-device.dev/","bugs":{"url":"https://github.com/callstackincubator/agent-device/issues"},"bin":{"agent-device":"bin/agent-device.mjs"},"dist":{"shasum":"717345564d246bbbaf03b0a70bf377e7888d2760","tarball":"https://registry.npmjs.org/agent-device/-/agent-device-0.13.2.tgz","fileCount":115,"integrity":"sha512-son/d9ytJnhVLhArpqP8JNCGGa/veDcCFXcih5xinF6JPU0adaaOQT7hNCS9GFzGsGSgdVTABEwX+QoRMUu6WQ==","signatures":[{"sig":"MEUCIHvLeiX0haL5pHlea/ATY96q8P066J1wLpBX9Tf09t+iAiEAk7XKALJ8shuDKi2QQkKm0V4ULy1z8xhn87jgcP111KE=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1562354},"main":"dist/src/index.js","pnpm":{"overrides":{"lodash-es":"4.18.1"}},"type":"module","types":"dist/src/index.d.ts","engines":{"node":">=22"},"exports":{".":{"types":"./dist/src/index.d.ts","import":"./dist/src/index.js"},"./io":{"types":"./dist/src/io.d.ts","import":"./dist/src/io.js"},"./metro":{"types":"./dist/src/metro.d.ts","import":"./dist/src/metro.js"},"./backend":{"types":"./dist/src/backend.d.ts","import":"./dist/src/backend.js"},"./finders":{"types":"./dist/src/finders.d.ts","import":"./dist/src/finders.js"},"./commands":{"types":"./dist/src/commands/index.d.ts","import":"./dist/src/commands/index.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-apps":{"types":"./dist/src/android-apps.d.ts","import":"./dist/src/android-apps.js"},"./observability":{"types":"./dist/src/observability.d.ts","import":"./dist/src/observability.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"},"./testing/conformance":{"types":"./dist/src/testing/conformance.d.ts","import":"./dist/src/testing/conformance.js"}},"gitHead":"d8c058eaf5b072cfa4bca9a834670be49aea6983","scripts":{"ad":"node bin/agent-device.mjs","lint":"oxlint . --deny-warnings","test":"vitest run","build":"rslib build","check":"pnpm check:tooling && pnpm check:unit","format":"oxfmt --write src test skills package.json tsconfig.json .oxlintrc.json .oxfmtrc.json","prepack":"pnpm build:all","build:all":"pnpm build:node && pnpm build:xcuitest","test:unit":"vitest run","typecheck":"tsc -p tsconfig.json","build:node":"pnpm build && pnpm clean:daemon","check:unit":"pnpm test:unit && pnpm test:smoke","test:smoke":"node --test test/integration/smoke-*.test.ts","check:quick":"pnpm lint && pnpm typecheck","clean:daemon":"rm -f ~/.agent-device/daemon.json && rm -f ~/.agent-device/daemon.lock","check:tooling":"pnpm lint && pnpm typecheck && pnpm build","build:xcuitest":"pnpm build:xcuitest:ios && pnpm build:xcuitest:macos","test:replay:ios":"node --experimental-strip-types src/bin.ts test test/integration/replays/ios/simulator","test:integration":"node --test test/integration/*.test.ts","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","build:macos-helper":"swift build -c release --package-path macos-helper","build:xcuitest:ios":"AGENT_DEVICE_XCUITEST_PLATFORM=ios AGENT_DEVICE_IOS_CLEAN_DERIVED=1 sh ./scripts/build-xcuitest-apple.sh","build:xcuitest:tvos":"AGENT_DEVICE_XCUITEST_PLATFORM=tvos AGENT_DEVICE_IOS_CLEAN_DERIVED=1 sh ./scripts/build-xcuitest-apple.sh","test:replay:android":"node --experimental-strip-types src/bin.ts test test/integration/replays/android","build:xcuitest:macos":"AGENT_DEVICE_XCUITEST_PLATFORM=macos sh ./scripts/build-xcuitest-apple.sh","test:replay:ios-device":"node --experimental-strip-types src/bin.ts test test/integration/replays/ios/device"},"_npmUser":{"name":"thymikee","email":"thymikee@gmail.com"},"repository":{"url":"git+https://github.com/callstackincubator/agent-device.git","type":"git"},"_npmVersion":"11.6.2","description":"Agent-driven CLI for mobile UI automation, network inspection, and performance diagnostics across iOS, Android, tvOS, and macOS.","directories":{},"_nodeVersion":"24.13.0","dependencies":{"pngjs":"^7.0.0","fast-xml-parser":"^5.5.10"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^8.0.7","oxfmt":"^0.42.0","oxlint":"^1.57.0","vitest":"^4.1.2","typescript":"^6.0.2","@rslib/core":"0.20.1","@types/node":"^22.0.0","@types/pngjs":"^6.0.5","@microsoft/api-extractor":"^7.58.1"},"_npmOperationalInternal":{"tmp":"tmp/agent-device_0.13.2_1777163550112_0.43654124870694555","host":"s3://npm-registry-packages-npm-production"}},"0.13.3":{"name":"agent-device","version":"0.13.3","keywords":["agent","device","cli","automation","adb","simctl","devicectl","ios","android","tvos","macos","react-native","observability","diagnostics","network","profiling","performance"],"author":{"name":"Callstack"},"license":"MIT","_id":"agent-device@0.13.3","maintainers":[{"name":"thymikee","email":"thymikee@gmail.com"}],"homepage":"https://agent-device.dev/","bugs":{"url":"https://github.com/callstackincubator/agent-device/issues"},"bin":{"agent-device":"bin/agent-device.mjs"},"dist":{"shasum":"52996bf667ad4ca99a3fd29d883baa9a3a71b621","tarball":"https://registry.npmjs.org/agent-device/-/agent-device-0.13.3.tgz","fileCount":104,"integrity":"sha512-qXuRprkW9iE/rNmBxu5MbNfpQBPaZZTeL+ylTQhxrDbDWBgCl9csVRmt/oiZvqE1somh2hbOdqjGgLng+m1BRg==","signatures":[{"sig":"MEQCIBfJ5BLAP7zFuBQt1jsebqLCSczZYHS8cxOsEFbjW3uCAiA9iOBlA+yST7+k24pWAj7DG5afHNb4P4g8Fb6sHG8WvQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1379209},"main":"dist/src/index.js","pnpm":{"overrides":{"lodash-es":"4.18.1"}},"type":"module","types":"dist/src/index.d.ts","engines":{"node":">=22"},"exports":{".":{"types":"./dist/src/index.d.ts","import":"./dist/src/index.js"},"./io":{"types":"./dist/src/io.d.ts","import":"./dist/src/io.js"},"./metro":{"types":"./dist/src/metro.d.ts","import":"./dist/src/metro.js"},"./finders":{"types":"./dist/src/finders.d.ts","import":"./dist/src/finders.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-apps":{"types":"./dist/src/android-apps.d.ts","import":"./dist/src/android-apps.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"}},"gitHead":"d1f5d919a8e8a7c43c46b1fbb71f345dbb654aad","scripts":{"ad":"node bin/agent-device.mjs","lint":"oxlint . --deny-warnings","test":"vitest run","build":"rslib build","check":"pnpm check:tooling && pnpm check:unit","format":"oxfmt --write src test skills package.json tsconfig.json .oxlintrc.json .oxfmtrc.json","prepack":"pnpm build:all","build:all":"pnpm build:node && pnpm build:xcuitest","test:unit":"vitest run","typecheck":"tsc -p tsconfig.json","build:node":"pnpm build && pnpm clean:daemon","check:unit":"pnpm test:unit && pnpm test:smoke","test:smoke":"node --test test/integration/smoke-*.test.ts","check:quick":"pnpm lint && pnpm typecheck","clean:daemon":"rm -f ~/.agent-device/daemon.json && rm -f ~/.agent-device/daemon.lock","check:tooling":"pnpm lint && pnpm typecheck && pnpm build","build:xcuitest":"pnpm build:xcuitest:ios && pnpm build:xcuitest:macos","test:replay:ios":"node --experimental-strip-types src/bin.ts test test/integration/replays/ios/simulator","test:integration":"node --test test/integration/*.test.ts","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","build:macos-helper":"swift build -c release --package-path macos-helper","build:xcuitest:ios":"AGENT_DEVICE_XCUITEST_PLATFORM=ios AGENT_DEVICE_IOS_CLEAN_DERIVED=1 sh ./scripts/build-xcuitest-apple.sh","build:xcuitest:tvos":"AGENT_DEVICE_XCUITEST_PLATFORM=tvos AGENT_DEVICE_IOS_CLEAN_DERIVED=1 sh ./scripts/build-xcuitest-apple.sh","test:replay:android":"node --experimental-strip-types src/bin.ts test test/integration/replays/android","build:xcuitest:macos":"AGENT_DEVICE_XCUITEST_PLATFORM=macos sh ./scripts/build-xcuitest-apple.sh","test:replay:ios-device":"node --experimental-strip-types src/bin.ts test test/integration/replays/ios/device"},"_npmUser":{"name":"thymikee","email":"thymikee@gmail.com"},"repository":{"url":"git+https://github.com/callstackincubator/agent-device.git","type":"git"},"_npmVersion":"11.6.2","description":"Agent-driven CLI for mobile UI automation, network inspection, and performance diagnostics across iOS, Android, tvOS, and macOS.","directories":{},"_nodeVersion":"24.13.0","dependencies":{"pngjs":"^7.0.0","fast-xml-parser":"^5.5.10"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^8.0.7","oxfmt":"^0.42.0","oxlint":"^1.57.0","vitest":"^4.1.2","typescript":"^6.0.2","@rslib/core":"0.20.1","@types/node":"^22.0.0","@types/pngjs":"^6.0.5","@microsoft/api-extractor":"^7.58.1"},"_npmOperationalInternal":{"tmp":"tmp/agent-device_0.13.3_1777219989544_0.0123478053157009","host":"s3://npm-registry-packages-npm-production"}},"0.14.0":{"name":"agent-device","version":"0.14.0","keywords":["agent","device","cli","automation","adb","simctl","devicectl","ios","android","tvos","macos","react-native","observability","diagnostics","network","profiling","performance"],"author":{"name":"Callstack"},"license":"MIT","_id":"agent-device@0.14.0","maintainers":[{"name":"thymikee","email":"thymikee@gmail.com"}],"homepage":"https://agent-device.dev/","bugs":{"url":"https://github.com/callstackincubator/agent-device/issues"},"bin":{"agent-device":"bin/agent-device.mjs"},"dist":{"shasum":"4b07c9db3f020ceafc7497e3aa8a2118b546d38f","tarball":"https://registry.npmjs.org/agent-device/-/agent-device-0.14.0.tgz","fileCount":100,"integrity":"sha512-gcuOZXrE+gK/Le/O/vcrJxH2XcJxlZ0a2sgdcuXZ5aTeht6ohrQEXthhnz+W12pH1iYhKIj82SXoBwIt8uQJpQ==","signatures":[{"sig":"MEUCIQCc0JciJp+qthyyF3ksGV1PzYDm2EmlnKN7IQVzZ1IDewIgPE9N97tTX7PlPxJQkZ5lZOZrJRXfuSummUlfpweIeJI=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1362924},"main":"dist/src/index.js","pnpm":{"overrides":{"lodash-es":"4.18.1"}},"type":"module","types":"dist/src/index.d.ts","engines":{"node":">=22.19"},"exports":{".":{"types":"./dist/src/index.d.ts","import":"./dist/src/index.js"},"./io":{"types":"./dist/src/io.d.ts","import":"./dist/src/io.js"},"./metro":{"types":"./dist/src/metro.d.ts","import":"./dist/src/metro.js"},"./finders":{"types":"./dist/src/finders.d.ts","import":"./dist/src/finders.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-apps":{"types":"./dist/src/android-apps.d.ts","import":"./dist/src/android-apps.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"},"./android-snapshot-helper":{"types":"./dist/src/android-snapshot-helper.d.ts","import":"./dist/src/android-snapshot-helper.js"}},"gitHead":"60bbc5a6f983cdcb5886b40e9cb935bca3cbe7be","scripts":{"ad":"node bin/agent-device.mjs","lint":"oxlint . --deny-warnings","test":"vitest run","build":"rslib build","check":"pnpm check:tooling && pnpm check:fallow && pnpm check:unit","fallow":"fallow --summary","format":"oxfmt --write src test skills package.json tsconfig.json tsconfig.lib.json rslib.config.ts vitest.config.ts .github/actions/setup-node-pnpm/action.yml .oxlintrc.json .oxfmtrc.json '!test/skillgym/.skillgym-results/**'","prepack":"pnpm build:all && pnpm package:android-snapshot-helper:npm","build:all":"pnpm build:node && pnpm build:xcuitest","test:unit":"vitest run","typecheck":"tsc -p tsconfig.json","build:node":"pnpm build && pnpm clean:daemon","check:unit":"pnpm test:unit && pnpm test:smoke","test:smoke":"node --test test/integration/smoke-*.test.ts","check:quick":"pnpm lint && pnpm typecheck","check:fallow":"fallow audit","clean:daemon":"rm -f ~/.agent-device/daemon.json && rm -f ~/.agent-device/daemon.lock","test-app:ios":"pnpm --dir examples/test-app ios","check:tooling":"pnpm lint && pnpm typecheck && pnpm build","test:skillgym":"pnpm build && skillgym run ./test/skillgym/suites/agent-device-smoke-suite.ts --config ./test/skillgym/skillgym.config.ts","build:xcuitest":"pnpm build:xcuitest:ios && pnpm build:xcuitest:macos","test-app:start":"pnpm --dir examples/test-app start","fallow:baseline":"(fallow dead-code --save-baseline fallow-baselines/dead-code.json --summary || true) && (fallow dupes --save-baseline fallow-baselines/dupes.json --summary || true) && (fallow health --save-baseline fallow-baselines/health.json --summary || true)","test:replay:ios":"node --experimental-strip-types src/bin.ts test test/integration/replays/ios/simulator","test-app:android":"pnpm --dir examples/test-app android","test-app:install":"pnpm install --dir examples/test-app --ignore-workspace","test:integration":"node --test test/integration/*.test.ts","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","build:macos-helper":"swift build -c release --package-path macos-helper","build:xcuitest:ios":"AGENT_DEVICE_XCUITEST_PLATFORM=ios AGENT_DEVICE_IOS_CLEAN_DERIVED=1 sh ./scripts/build-xcuitest-apple.sh","test-app:typecheck":"pnpm --dir examples/test-app typecheck","build:xcuitest:tvos":"AGENT_DEVICE_XCUITEST_PLATFORM=tvos AGENT_DEVICE_IOS_CLEAN_DERIVED=1 sh ./scripts/build-xcuitest-apple.sh","test:replay:android":"node --experimental-strip-types src/bin.ts test test/integration/replays/android","build:xcuitest:macos":"AGENT_DEVICE_XCUITEST_PLATFORM=macos sh ./scripts/build-xcuitest-apple.sh","test:replay:ios-device":"node --experimental-strip-types src/bin.ts test test/integration/replays/ios/device","build:android-snapshot-helper":"sh ./scripts/build-android-snapshot-helper.sh $(node -p \"require('./package.json').version\") .tmp/android-snapshot-helper","package:android-snapshot-helper":"sh ./scripts/package-android-snapshot-helper.sh $(node -p \"require('./package.json').version\") v$(node -p \"require('./package.json').version\") .tmp/android-snapshot-helper","package:android-snapshot-helper:npm":"rm -rf android-snapshot-helper/dist && sh ./scripts/package-android-snapshot-helper.sh $(node -p \"require('./package.json').version\") v$(node -p \"require('./package.json').version\") android-snapshot-helper/dist"},"_npmUser":{"name":"thymikee","email":"thymikee@gmail.com"},"repository":{"url":"git+https://github.com/callstackincubator/agent-device.git","type":"git"},"_npmVersion":"11.6.2","description":"Agent-driven CLI for mobile UI automation, network inspection, and performance diagnostics across iOS, Android, tvOS, and macOS.","directories":{},"_nodeVersion":"24.13.0","dependencies":{"pngjs":"^7.0.0","fast-xml-parser":"^5.5.10"},"_hasShrinkwrap":false,"packageManager":"pnpm@10.33.2","devDependencies":{"vite":"^8.0.7","oxfmt":"^0.42.0","fallow":"^2.52.0","oxlint":"^1.57.0","vitest":"^4.1.2","skillgym":"^0.5.0","typescript":"^6.0.2","@rslib/core":"0.20.1","@types/node":"^22.0.0","@types/pngjs":"^6.0.5"},"_npmOperationalInternal":{"tmp":"tmp/agent-device_0.14.0_1777401496072_0.09514820825987891","host":"s3://npm-registry-packages-npm-production"}},"0.14.1":{"name":"agent-device","version":"0.14.1","keywords":["agent","device","cli","automation","adb","simctl","devicectl","ios","android","tvos","macos","react-native","observability","diagnostics","network","profiling","performance"],"author":{"name":"Callstack"},"license":"MIT","_id":"agent-device@0.14.1","maintainers":[{"name":"thymikee","email":"thymikee@gmail.com"}],"homepage":"https://agent-device.dev/","bugs":{"url":"https://github.com/callstackincubator/agent-device/issues"},"bin":{"agent-device":"bin/agent-device.mjs"},"dist":{"shasum":"49919bf35923f0a1f943a4bec5551646ceca7663","tarball":"https://registry.npmjs.org/agent-device/-/agent-device-0.14.1.tgz","fileCount":100,"integrity":"sha512-+CAlakYKAzeBboCGdS/VAUpkDnw4rKQIN1NhTKjGzjOauWp/UBfesJ/gZBbHa7Q0Z/krEGCXcbE5DvjL1EEsyA==","signatures":[{"sig":"MEYCIQDafCRZLNJiez5jHu0Bs+OAGRkh9abmx8AxF+D/ffSB/QIhAPlIKXTAtoRideFX83nlj/01WhnqSIb+qVz7qzwx/oUy","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1369421},"main":"dist/src/index.js","pnpm":{"overrides":{"lodash-es":"4.18.1"}},"type":"module","types":"dist/src/index.d.ts","engines":{"node":">=22.19"},"exports":{".":{"types":"./dist/src/index.d.ts","import":"./dist/src/index.js"},"./io":{"types":"./dist/src/io.d.ts","import":"./dist/src/io.js"},"./metro":{"types":"./dist/src/metro.d.ts","import":"./dist/src/metro.js"},"./finders":{"types":"./dist/src/finders.d.ts","import":"./dist/src/finders.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-apps":{"types":"./dist/src/android-apps.d.ts","import":"./dist/src/android-apps.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"},"./android-snapshot-helper":{"types":"./dist/src/android-snapshot-helper.d.ts","import":"./dist/src/android-snapshot-helper.js"}},"gitHead":"a9e8d902dd613c7fdb3af5ae403f20e9fd25aaf8","scripts":{"ad":"node bin/agent-device.mjs","lint":"oxlint . --deny-warnings","test":"vitest run","build":"rslib build","check":"pnpm check:tooling && pnpm check:fallow && pnpm check:unit","fallow":"fallow --summary","format":"oxfmt --write src test skills package.json tsconfig.json tsconfig.lib.json rslib.config.ts vitest.config.ts .github/actions/setup-node-pnpm/action.yml .oxlintrc.json .oxfmtrc.json '!test/skillgym/.skillgym-results/**'","prepack":"pnpm build:all && pnpm package:android-snapshot-helper:npm","build:all":"pnpm build:node && pnpm build:xcuitest","test:unit":"vitest run","typecheck":"tsc -p tsconfig.json","build:node":"pnpm build && pnpm clean:daemon","check:unit":"pnpm test:unit && pnpm test:smoke","test:smoke":"node --test test/integration/smoke-*.test.ts","check:quick":"pnpm lint && pnpm typecheck","check:fallow":"fallow audit","clean:daemon":"rm -f ~/.agent-device/daemon.json && rm -f ~/.agent-device/daemon.lock","test-app:ios":"pnpm --dir examples/test-app ios","check:tooling":"pnpm lint && pnpm typecheck && pnpm build","test:skillgym":"pnpm build && skillgym run ./test/skillgym/suites/agent-device-smoke-suite.ts --config ./test/skillgym/skillgym.config.ts","build:xcuitest":"pnpm build:xcuitest:ios && pnpm build:xcuitest:macos","test-app:start":"pnpm --dir examples/test-app start","fallow:baseline":"(fallow dead-code --save-baseline fallow-baselines/dead-code.json --summary || true) && (fallow dupes --save-baseline fallow-baselines/dupes.json --summary || true) && (fallow health --save-baseline fallow-baselines/health.json --summary || true)","test:replay:ios":"node --experimental-strip-types src/bin.ts test test/integration/replays/ios/simulator","test-app:android":"pnpm --dir examples/test-app android","test-app:install":"pnpm install --dir examples/test-app --ignore-workspace","test:integration":"node --test test/integration/*.test.ts","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","build:macos-helper":"swift build -c release --package-path macos-helper","build:xcuitest:ios":"AGENT_DEVICE_XCUITEST_PLATFORM=ios AGENT_DEVICE_IOS_CLEAN_DERIVED=1 sh ./scripts/build-xcuitest-apple.sh","test-app:typecheck":"pnpm --dir examples/test-app typecheck","build:xcuitest:tvos":"AGENT_DEVICE_XCUITEST_PLATFORM=tvos AGENT_DEVICE_IOS_CLEAN_DERIVED=1 sh ./scripts/build-xcuitest-apple.sh","test:replay:android":"node --experimental-strip-types src/bin.ts test test/integration/replays/android","build:xcuitest:macos":"AGENT_DEVICE_XCUITEST_PLATFORM=macos sh ./scripts/build-xcuitest-apple.sh","test:replay:ios-device":"node --experimental-strip-types src/bin.ts test test/integration/replays/ios/device","build:android-snapshot-helper":"sh ./scripts/build-android-snapshot-helper.sh $(node -p \"require('./package.json').version\") .tmp/android-snapshot-helper","package:android-snapshot-helper":"sh ./scripts/package-android-snapshot-helper.sh $(node -p \"require('./package.json').version\") v$(node -p \"require('./package.json').version\") .tmp/android-snapshot-helper","package:android-snapshot-helper:npm":"rm -rf android-snapshot-helper/dist && sh ./scripts/package-android-snapshot-helper.sh $(node -p \"require('./package.json').version\") v$(node -p \"require('./package.json').version\") android-snapshot-helper/dist"},"_npmUser":{"name":"thymikee","email":"thymikee@gmail.com"},"repository":{"url":"git+https://github.com/callstackincubator/agent-device.git","type":"git"},"_npmVersion":"11.6.2","description":"Agent-driven CLI for mobile UI automation, network inspection, and performance diagnostics across iOS, Android, tvOS, and macOS.","directories":{},"_nodeVersion":"24.13.0","dependencies":{"pngjs":"^7.0.0","fast-xml-parser":"^5.7.2"},"_hasShrinkwrap":false,"packageManager":"pnpm@10.33.2","devDependencies":{"vite":"^8.0.10","oxfmt":"^0.42.0","fallow":"^2.52.0","oxlint":"^1.57.0","vitest":"^4.1.2","skillgym":"^0.5.0","typescript":"^6.0.2","@rslib/core":"0.20.1","@types/node":"^22.0.0","@types/pngjs":"^6.0.5"},"_npmOperationalInternal":{"tmp":"tmp/agent-device_0.14.1_1777425681095_0.8836782960453622","host":"s3://npm-registry-packages-npm-production"}},"0.14.2":{"name":"agent-device","version":"0.14.2","keywords":["agent","device","cli","automation","adb","simctl","devicectl","ios","android","tvos","macos","react-native","observability","diagnostics","network","profiling","performance"],"author":{"name":"Callstack"},"license":"MIT","_id":"agent-device@0.14.2","maintainers":[{"name":"thymikee","email":"thymikee@gmail.com"}],"homepage":"https://agent-device.dev/","bugs":{"url":"https://github.com/callstackincubator/agent-device/issues"},"bin":{"agent-device":"bin/agent-device.mjs"},"dist":{"shasum":"22a814a6e3adbe458a02b5b80f84dc9fb80a7baf","tarball":"https://registry.npmjs.org/agent-device/-/agent-device-0.14.2.tgz","fileCount":103,"integrity":"sha512-1VtPWRF/Y6kpikXGpZ4BwFnFlMExlsgVBrW7/Fv3TrARXioOTTgbdKQ1m4pSz+0I398F+cVZH4GjvGr8Q70V2Q==","signatures":[{"sig":"MEQCIAUFYL+D3+KQfA75QqdhHy8AqKJC/elnIamBe9cwNo5ZAiANOKG0SHIOB2iyDbyS3I0dyW3bX2e+C3A42/OWIvt8hQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1373648},"main":"dist/src/index.js","pnpm":{"overrides":{"lodash-es":"4.18.1"}},"type":"module","types":"dist/src/index.d.ts","engines":{"node":">=22.19"},"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"},"./finders":{"types":"./dist/src/finders.d.ts","import":"./dist/src/finders.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-apps":{"types":"./dist/src/android-apps.d.ts","import":"./dist/src/android-apps.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"},"./android-snapshot-helper":{"types":"./dist/src/android-snapshot-helper.d.ts","import":"./dist/src/android-snapshot-helper.js"}},"gitHead":"dab81673eea4bae2f3e13aba6d4bdd1508fb35b6","scripts":{"ad":"node bin/agent-device.mjs","lint":"oxlint . --deny-warnings","test":"vitest run","build":"rslib build","check":"pnpm check:tooling && pnpm check:fallow && pnpm check:unit","fallow":"fallow --summary","format":"oxfmt --write src test skills package.json tsconfig.json tsconfig.lib.json rslib.config.ts vitest.config.ts .github/actions/setup-node-pnpm/action.yml .oxlintrc.json .oxfmtrc.json '!test/skillgym/.skillgym-results/**'","prepack":"pnpm build:all && pnpm package:android-snapshot-helper:npm","build:all":"pnpm build:node && pnpm build:xcuitest","test:unit":"vitest run","typecheck":"tsc -p tsconfig.json","build:node":"pnpm build && pnpm clean:daemon","check:unit":"pnpm test:unit && pnpm test:smoke","test:smoke":"node --test test/integration/smoke-*.test.ts","check:quick":"pnpm lint && pnpm typecheck","check:fallow":"fallow audit","clean:daemon":"rm -f ~/.agent-device/daemon.json && rm -f ~/.agent-device/daemon.lock","test-app:ios":"pnpm --dir examples/test-app ios","check:tooling":"pnpm lint && pnpm typecheck && pnpm build","test:skillgym":"pnpm build && skillgym run ./test/skillgym/suites/agent-device-smoke-suite.ts --config ./test/skillgym/skillgym.config.ts","build:xcuitest":"pnpm build:xcuitest:ios && pnpm build:xcuitest:macos","test-app:start":"pnpm --dir examples/test-app start","fallow:baseline":"(fallow dead-code --save-baseline fallow-baselines/dead-code.json --summary || true) && (fallow dupes --save-baseline fallow-baselines/dupes.json --summary || true) && (fallow health --save-baseline fallow-baselines/health.json --summary || true)","test:replay:ios":"node --experimental-strip-types src/bin.ts test test/integration/replays/ios/simulator","test-app:android":"pnpm --dir examples/test-app android","test-app:install":"pnpm install --dir examples/test-app --ignore-workspace","test:integration":"node --test test/integration/*.test.ts","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","build:macos-helper":"swift build -c release --package-path macos-helper","build:xcuitest:ios":"AGENT_DEVICE_XCUITEST_PLATFORM=ios AGENT_DEVICE_IOS_CLEAN_DERIVED=1 sh ./scripts/build-xcuitest-apple.sh","test-app:typecheck":"pnpm --dir examples/test-app typecheck","build:xcuitest:tvos":"AGENT_DEVICE_XCUITEST_PLATFORM=tvos AGENT_DEVICE_IOS_CLEAN_DERIVED=1 sh ./scripts/build-xcuitest-apple.sh","test:replay:android":"node --experimental-strip-types src/bin.ts test test/integration/replays/android","build:xcuitest:macos":"AGENT_DEVICE_XCUITEST_PLATFORM=macos sh ./scripts/build-xcuitest-apple.sh","test:replay:ios-device":"node --experimental-strip-types src/bin.ts test test/integration/replays/ios/device","build:android-snapshot-helper":"sh ./scripts/build-android-snapshot-helper.sh $(node -p \"require('./package.json').version\") .tmp/android-snapshot-helper","package:android-snapshot-helper":"sh ./scripts/package-android-snapshot-helper.sh $(node -p \"require('./package.json').version\") v$(node -p \"require('./package.json').version\") .tmp/android-snapshot-helper","package:android-snapshot-helper:npm":"rm -rf android-snapshot-helper/dist && sh ./scripts/package-android-snapshot-helper.sh $(node -p \"require('./package.json').version\") v$(node -p \"require('./package.json').version\") android-snapshot-helper/dist"},"_npmUser":{"name":"thymikee","email":"thymikee@gmail.com"},"repository":{"url":"git+https://github.com/callstackincubator/agent-device.git","type":"git"},"_npmVersion":"11.6.2","description":"Agent-driven CLI for mobile UI automation, network inspection, and performance diagnostics across iOS, Android, tvOS, and macOS.","directories":{},"_nodeVersion":"24.13.0","dependencies":{"pngjs":"^7.0.0","fast-xml-parser":"^5.7.2"},"_hasShrinkwrap":false,"packageManager":"pnpm@10.33.2","devDependencies":{"vite":"^8.0.10","oxfmt":"^0.42.0","fallow":"^2.52.0","oxlint":"^1.57.0","vitest":"^4.1.2","skillgym":"^0.5.0","typescript":"^6.0.2","@rslib/core":"0.20.1","@types/node":"^22.0.0","@types/pngjs":"^6.0.5"},"_npmOperationalInternal":{"tmp":"tmp/agent-device_0.14.2_1777474274286_0.8176494199885469","host":"s3://npm-registry-packages-npm-production"}},"0.14.3":{"name":"agent-device","version":"0.14.3","keywords":["agent","device","cli","automation","adb","simctl","devicectl","ios","android","tvos","macos","react-native","observability","diagnostics","network","profiling","performance"],"author":{"name":"Callstack"},"license":"MIT","_id":"agent-device@0.14.3","maintainers":[{"name":"thymikee","email":"thymikee@gmail.com"}],"homepage":"https://agent-device.dev/","bugs":{"url":"https://github.com/callstackincubator/agent-device/issues"},"bin":{"agent-device":"bin/agent-device.mjs"},"dist":{"shasum":"2c9ada365848947372bcc0c343dec98662862f3c","tarball":"https://registry.npmjs.org/agent-device/-/agent-device-0.14.3.tgz","fileCount":111,"integrity":"sha512-YAzVWyvedF3fQCOXZNZ35wjQyH+DZ27W1BvxPJtgRQBYxgQEOAy6EzMQnS60Wgz63idsCjT0FrUxrYnA+UCddg==","signatures":[{"sig":"MEUCIB2VwZaac8H1684keabzzj+PD9lA5prvKfhJGrrHfC26AiEAjoPYCqCXUWVFQChCjGuVlFw/T+RQgrvLqgyeIt0vHdM=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1413945},"main":"dist/src/index.js","pnpm":{"overrides":{"lodash-es":"4.18.1"}},"type":"module","types":"dist/src/index.d.ts","engines":{"node":">=22.19"},"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"},"./daemon":{"types":"./dist/src/daemon-embedding.d.ts","import":"./dist/src/daemon-embedding.js"},"./finders":{"types":"./dist/src/finders.d.ts","import":"./dist/src/finders.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"},"./android-apps":{"types":"./dist/src/android-apps.d.ts","import":"./dist/src/android-apps.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"},"./android-snapshot-helper":{"types":"./dist/src/android-snapshot-helper.d.ts","import":"./dist/src/android-snapshot-helper.js"}},"gitHead":"af73a101f35e790c1f281db787de49733fd59c3c","scripts":{"ad":"node bin/agent-device.mjs","lint":"oxlint . --deny-warnings","test":"vitest run","build":"rslib build","check":"pnpm check:tooling && pnpm check:fallow && pnpm check:unit","fallow":"fallow --summary","format":"oxfmt --write src test skills package.json tsconfig.json tsconfig.lib.json rslib.config.ts vitest.config.ts .github/actions/setup-node-pnpm/action.yml .oxlintrc.json .oxfmtrc.json '!test/skillgym/.skillgym-results/**'","prepack":"pnpm build:all && pnpm package:android-snapshot-helper:npm","build:all":"pnpm build:node && pnpm build:xcuitest","test:unit":"vitest run","typecheck":"tsc -p tsconfig.json","build:node":"pnpm build && pnpm clean:daemon","check:unit":"pnpm test:unit && pnpm test:smoke","test:smoke":"node --test test/integration/smoke-*.test.ts","check:quick":"pnpm lint && pnpm typecheck","check:fallow":"fallow audit","clean:daemon":"rm -f ~/.agent-device/daemon.json && rm -f ~/.agent-device/daemon.lock","test-app:ios":"pnpm --dir examples/test-app ios","check:tooling":"pnpm lint && pnpm typecheck && pnpm build","test:skillgym":"pnpm build && skillgym run ./test/skillgym/suites/agent-device-smoke-suite.ts --config ./test/skillgym/skillgym.config.ts","build:xcuitest":"pnpm build:xcuitest:ios && pnpm build:xcuitest:macos","test-app:start":"pnpm --dir examples/test-app start","fallow:baseline":"(fallow dead-code --save-baseline fallow-baselines/dead-code.json --summary || true) && (fallow dupes --save-baseline fallow-baselines/dupes.json --summary || true) && (fallow health --save-baseline fallow-baselines/health.json --summary || true)","test:replay:ios":"node --experimental-strip-types src/bin.ts test test/integration/replays/ios/simulator","test-app:android":"pnpm --dir examples/test-app android","test-app:install":"pnpm install --dir examples/test-app --ignore-workspace","test:integration":"node --test test/integration/*.test.ts","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","build:macos-helper":"swift build -c release --package-path macos-helper","build:xcuitest:ios":"AGENT_DEVICE_XCUITEST_PLATFORM=ios AGENT_DEVICE_IOS_CLEAN_DERIVED=1 sh ./scripts/build-xcuitest-apple.sh","test-app:typecheck":"pnpm --dir examples/test-app typecheck","build:xcuitest:tvos":"AGENT_DEVICE_XCUITEST_PLATFORM=tvos AGENT_DEVICE_IOS_CLEAN_DERIVED=1 sh ./scripts/build-xcuitest-apple.sh","test:replay:android":"node --experimental-strip-types src/bin.ts test test/integration/replays/android","build:xcuitest:macos":"AGENT_DEVICE_XCUITEST_PLATFORM=macos sh ./scripts/build-xcuitest-apple.sh","test:replay:ios-device":"node --experimental-strip-types src/bin.ts test test/integration/replays/ios/device","build:android-snapshot-helper":"sh ./scripts/build-android-snapshot-helper.sh $(node -p \"require('./package.json').version\") .tmp/android-snapshot-helper","package:android-snapshot-helper":"sh ./scripts/package-android-snapshot-helper.sh $(node -p \"require('./package.json').version\") v$(node -p \"require('./package.json').version\") .tmp/android-snapshot-helper","package:android-snapshot-helper:npm":"rm -rf android-snapshot-helper/dist && sh ./scripts/package-android-snapshot-helper.sh $(node -p \"require('./package.json').version\") v$(node -p \"require('./package.json').version\") android-snapshot-helper/dist"},"_npmUser":{"name":"thymikee","email":"thymikee@gmail.com"},"repository":{"url":"git+https://github.com/callstackincubator/agent-device.git","type":"git"},"_npmVersion":"11.6.2","description":"Agent-driven CLI for mobile UI automation, network inspection, and performance diagnostics across iOS, Android, tvOS, and macOS.","directories":{},"_nodeVersion":"24.13.0","dependencies":{"pngjs":"^7.0.0","fast-xml-parser":"^5.7.2"},"_hasShrinkwrap":false,"packageManager":"pnpm@10.33.2","devDependencies":{"vite":"^8.0.10","oxfmt":"^0.42.0","fallow":"^2.52.0","oxlint":"^1.57.0","vitest":"^4.1.2","skillgym":"^0.6.0","typescript":"^6.0.2","@rslib/core":"0.20.1","@types/node":"^22.0.0","@types/pngjs":"^6.0.5"},"_npmOperationalInternal":{"tmp":"tmp/agent-device_0.14.3_1777505149995_0.6641803821001842","host":"s3://npm-registry-packages-npm-production"}},"0.14.4":{"name":"agent-device","version":"0.14.4","keywords":["agent","device","cli","automation","adb","simctl","devicectl","ios","android","tvos","macos","react-native","observability","diagnostics","network","profiling","performance"],"author":{"name":"Callstack"},"license":"MIT","_id":"agent-device@0.14.4","maintainers":[{"name":"thymikee","email":"thymikee@gmail.com"}],"homepage":"https://agent-device.dev/","bugs":{"url":"https://github.com/callstackincubator/agent-device/issues"},"bin":{"agent-device":"bin/agent-device.mjs"},"dist":{"shasum":"72bff090a9f8adb73132561ffc7b5664072baf93","tarball":"https://registry.npmjs.org/agent-device/-/agent-device-0.14.4.tgz","fileCount":106,"integrity":"sha512-6qyavSb+82tv5/B4y6fkfNaxGNYGSZtmjSiDBI/ySJJJ1i+tZnCLrVRAZf6n4axSFSedrZU8yiBKSvPpszlUig==","signatures":[{"sig":"MEYCIQDLQ/Vs0ljNYBHcUpq9fprGFh+PGYGhLjhCEUmPUtoY1AIhAM78XZuceFbMNx1FlO9StrGIEa7C9ECrcwFRZ4e6/+2Q","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1413594},"main":"dist/src/index.js","pnpm":{"overrides":{"lodash-es":"4.18.1"}},"type":"module","types":"dist/src/index.d.ts","engines":{"node":">=22.19"},"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"},"./finders":{"types":"./dist/src/finders.d.ts","import":"./dist/src/finders.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"},"./android-snapshot-helper":{"types":"./dist/src/android-snapshot-helper.d.ts","import":"./dist/src/android-snapshot-helper.js"}},"gitHead":"1eeab43c0815e79c2a9703995d4d1d085fef2b49","scripts":{"ad":"node bin/agent-device.mjs","lint":"oxlint . --deny-warnings","test":"vitest run","build":"rslib build","check":"pnpm check:tooling && pnpm check:fallow && pnpm check:unit","fallow":"fallow --summary","format":"oxfmt --write src test skills package.json tsconfig.json tsconfig.lib.json rslib.config.ts vitest.config.ts .github/actions/setup-node-pnpm/action.yml .oxlintrc.json .oxfmtrc.json '!test/skillgym/.skillgym-results/**'","prepack":"pnpm build:all && pnpm package:android-snapshot-helper:npm","build:all":"pnpm build:node && pnpm build:xcuitest","test:unit":"vitest run","typecheck":"tsc -p tsconfig.json","build:node":"pnpm build && pnpm clean:daemon","check:unit":"pnpm test:unit && pnpm test:smoke","test:smoke":"node --test test/integration/smoke-*.test.ts","check:quick":"pnpm lint && pnpm typecheck","check:fallow":"fallow audit","clean:daemon":"rm -f ~/.agent-device/daemon.json && rm -f ~/.agent-device/daemon.lock","test-app:ios":"pnpm --dir examples/test-app ios","check:tooling":"pnpm lint && pnpm typecheck && pnpm build","test:skillgym":"pnpm build && skillgym run ./test/skillgym/suites/agent-device-smoke-suite.ts --config ./test/skillgym/skillgym.config.ts","build:xcuitest":"pnpm build:xcuitest:ios && pnpm build:xcuitest:macos","test-app:start":"pnpm --dir examples/test-app start","fallow:baseline":"(fallow dead-code --save-baseline fallow-baselines/dead-code.json --summary || true) && (fallow dupes --save-baseline fallow-baselines/dupes.json --summary || true) && (fallow health --save-baseline fallow-baselines/health.json --summary || true)","test:replay:ios":"node --experimental-strip-types src/bin.ts test test/integration/replays/ios/simulator","test-app:android":"pnpm --dir examples/test-app android","test-app:install":"pnpm install --dir examples/test-app --ignore-workspace","test:integration":"node --test test/integration/*.test.ts","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","build:macos-helper":"swift build -c release --package-path macos-helper","build:xcuitest:ios":"AGENT_DEVICE_XCUITEST_PLATFORM=ios AGENT_DEVICE_IOS_CLEAN_DERIVED=1 sh ./scripts/build-xcuitest-apple.sh","test-app:typecheck":"pnpm --dir examples/test-app typecheck","build:xcuitest:tvos":"AGENT_DEVICE_XCUITEST_PLATFORM=tvos AGENT_DEVICE_IOS_CLEAN_DERIVED=1 sh ./scripts/build-xcuitest-apple.sh","test:replay:android":"node --experimental-strip-types src/bin.ts test test/integration/replays/android","build:xcuitest:macos":"AGENT_DEVICE_XCUITEST_PLATFORM=macos sh ./scripts/build-xcuitest-apple.sh","test:replay:ios-device":"node --experimental-strip-types src/bin.ts test test/integration/replays/ios/device","build:android-snapshot-helper":"sh ./scripts/build-android-snapshot-helper.sh $(node -p \"require('./package.json').version\") .tmp/android-snapshot-helper","package:android-snapshot-helper":"sh ./scripts/package-android-snapshot-helper.sh $(node -p \"require('./package.json').version\") v$(node -p \"require('./package.json').version\") .tmp/android-snapshot-helper","package:android-snapshot-helper:npm":"rm -rf android-snapshot-helper/dist && sh ./scripts/package-android-snapshot-helper.sh $(node -p \"require('./package.json').version\") v$(node -p \"require('./package.json').version\") android-snapshot-helper/dist"},"_npmUser":{"name":"thymikee","email":"thymikee@gmail.com"},"repository":{"url":"git+https://github.com/callstackincubator/agent-device.git","type":"git"},"_npmVersion":"11.6.2","description":"Agent-driven CLI for mobile UI automation, network inspection, and performance diagnostics across iOS, Android, tvOS, and macOS.","directories":{},"_nodeVersion":"24.13.0","dependencies":{"pngjs":"^7.0.0","fast-xml-parser":"^5.7.2"},"_hasShrinkwrap":false,"packageManager":"pnpm@10.33.2","devDependencies":{"vite":"^8.0.10","oxfmt":"^0.42.0","fallow":"^2.52.0","oxlint":"^1.57.0","vitest":"^4.1.2","skillgym":"^0.6.0","typescript":"^6.0.2","@rslib/core":"0.20.1","@types/node":"^22.0.0","@types/pngjs":"^6.0.5"},"_npmOperationalInternal":{"tmp":"tmp/agent-device_0.14.4_1777564404507_0.7842816486387449","host":"s3://npm-registry-packages-npm-production"}},"0.14.5":{"name":"agent-device","version":"0.14.5","keywords":["agent","device","cli","automation","adb","simctl","devicectl","ios","android","tvos","macos","react-native","observability","diagnostics","network","profiling","performance"],"author":{"name":"Callstack"},"license":"MIT","_id":"agent-device@0.14.5","maintainers":[{"name":"thymikee","email":"thymikee@gmail.com"}],"homepage":"https://agent-device.dev/","bugs":{"url":"https://github.com/callstackincubator/agent-device/issues"},"bin":{"agent-device":"bin/agent-device.mjs"},"dist":{"shasum":"67c2e55bfac64c90839b1ba7424b69a871de29e1","tarball":"https://registry.npmjs.org/agent-device/-/agent-device-0.14.5.tgz","fileCount":106,"integrity":"sha512-0FrDvj7T9zXPBzpvglpq64NoLPy7NR6mQVOq2ZYJloO0RnCPxPXVFJPe3Du7F3uGxSX5eZ9bjZZxomqgoPyyjg==","signatures":[{"sig":"MEUCIHX7VFINreX1NZU1G8mFgEt/ya6ypkGbyzPzBbI7lqDgAiEA3NZU5U7IjFElyCTK6ltWR1ZMpRsHPgqnLTiHDtTXyFY=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1413677},"main":"dist/src/index.js","pnpm":{"overrides":{"lodash-es":"4.18.1"}},"type":"module","types":"dist/src/index.d.ts","engines":{"node":">=22.19"},"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"},"./finders":{"types":"./dist/src/finders.d.ts","import":"./dist/src/finders.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"},"./android-snapshot-helper":{"types":"./dist/src/android-snapshot-helper.d.ts","import":"./dist/src/android-snapshot-helper.js"}},"gitHead":"fdf3c5c2b4dcc653dec1a052f0826cb3e15060f4","scripts":{"ad":"node bin/agent-device.mjs","lint":"oxlint . --deny-warnings","test":"vitest run","build":"rslib build","check":"pnpm check:tooling && pnpm check:fallow && pnpm check:unit","fallow":"fallow --summary","format":"oxfmt --write src test skills package.json tsconfig.json tsconfig.lib.json rslib.config.ts vitest.config.ts .github/actions/setup-node-pnpm/action.yml .oxlintrc.json .oxfmtrc.json '!test/skillgym/.skillgym-results/**'","prepack":"pnpm build:all && pnpm package:android-snapshot-helper:npm","build:all":"pnpm build:node && pnpm build:xcuitest","test:unit":"vitest run","typecheck":"tsc -p tsconfig.json","build:node":"pnpm build && pnpm clean:daemon","check:unit":"pnpm test:unit && pnpm test:smoke","test:smoke":"node --test test/integration/smoke-*.test.ts","check:quick":"pnpm lint && pnpm typecheck","check:fallow":"fallow audit","clean:daemon":"rm -f ~/.agent-device/daemon.json && rm -f ~/.agent-device/daemon.lock","test-app:ios":"pnpm --dir examples/test-app ios","check:tooling":"pnpm lint && pnpm typecheck && pnpm build","test:skillgym":"pnpm build && skillgym run ./test/skillgym/suites/agent-device-smoke-suite.ts --config ./test/skillgym/skillgym.config.ts","build:xcuitest":"pnpm build:xcuitest:ios && pnpm build:xcuitest:macos","test-app:start":"pnpm --dir examples/test-app start","fallow:baseline":"(fallow dead-code --save-baseline fallow-baselines/dead-code.json --summary || true) && (fallow dupes --save-baseline fallow-baselines/dupes.json --summary || true) && (fallow health --save-baseline fallow-baselines/health.json --summary || true)","test:replay:ios":"node --experimental-strip-types src/bin.ts test test/integration/replays/ios/simulator","test-app:android":"pnpm --dir examples/test-app android","test-app:install":"pnpm install --dir examples/test-app --ignore-workspace","test:integration":"node --test test/integration/*.test.ts","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","build:macos-helper":"swift build -c release --package-path macos-helper","build:xcuitest:ios":"AGENT_DEVICE_XCUITEST_PLATFORM=ios AGENT_DEVICE_IOS_CLEAN_DERIVED=1 sh ./scripts/build-xcuitest-apple.sh","test-app:typecheck":"pnpm --dir examples/test-app typecheck","build:xcuitest:tvos":"AGENT_DEVICE_XCUITEST_PLATFORM=tvos AGENT_DEVICE_IOS_CLEAN_DERIVED=1 sh ./scripts/build-xcuitest-apple.sh","test:replay:android":"node --experimental-strip-types src/bin.ts test test/integration/replays/android","build:xcuitest:macos":"AGENT_DEVICE_XCUITEST_PLATFORM=macos sh ./scripts/build-xcuitest-apple.sh","test:replay:ios-device":"node --experimental-strip-types src/bin.ts test test/integration/replays/ios/device","build:android-snapshot-helper":"sh ./scripts/build-android-snapshot-helper.sh $(node -p \"require('./package.json').version\") .tmp/android-snapshot-helper","package:android-snapshot-helper":"sh ./scripts/package-android-snapshot-helper.sh $(node -p \"require('./package.json').version\") v$(node -p \"require('./package.json').version\") .tmp/android-snapshot-helper","package:android-snapshot-helper:npm":"rm -rf android-snapshot-helper/dist && sh ./scripts/package-android-snapshot-helper.sh $(node -p \"require('./package.json').version\") v$(node -p \"require('./package.json').version\") android-snapshot-helper/dist"},"_npmUser":{"name":"thymikee","email":"thymikee@gmail.com"},"repository":{"url":"git+https://github.com/callstackincubator/agent-device.git","type":"git"},"_npmVersion":"11.6.2","description":"Agent-driven CLI for mobile UI automation, network inspection, and performance diagnostics across iOS, Android, tvOS, and macOS.","directories":{},"_nodeVersion":"24.13.0","dependencies":{"pngjs":"^7.0.0","fast-xml-parser":"^5.7.2"},"_hasShrinkwrap":false,"packageManager":"pnpm@10.33.2","devDependencies":{"vite":"^8.0.10","oxfmt":"^0.42.0","fallow":"^2.52.0","oxlint":"^1.57.0","vitest":"^4.1.2","skillgym":"^0.6.0","typescript":"^6.0.2","@rslib/core":"0.20.1","@types/node":"^22.0.0","@types/pngjs":"^6.0.5"},"_npmOperationalInternal":{"tmp":"tmp/agent-device_0.14.5_1777567084378_0.25866021670496586","host":"s3://npm-registry-packages-npm-production"}},"0.14.6":{"name":"agent-device","version":"0.14.6","keywords":["agent","device","cli","automation","adb","simctl","devicectl","ios","android","tvos","macos","react-native","observability","diagnostics","network","profiling","performance"],"author":{"name":"Callstack"},"license":"MIT","_id":"agent-device@0.14.6","maintainers":[{"name":"thymikee","email":"thymikee@gmail.com"}],"homepage":"https://agent-device.dev/","bugs":{"url":"https://github.com/callstackincubator/agent-device/issues"},"bin":{"agent-device":"bin/agent-device.mjs"},"dist":{"shasum":"4faab3188cf8d06fd02ad6812e323cbac881ec69","tarball":"https://registry.npmjs.org/agent-device/-/agent-device-0.14.6.tgz","fileCount":106,"integrity":"sha512-GobC9GwXrfjbs5SzMOZ0DomNJ6jBBzpMkIc6T+0BUYueZobqGnSFlswn0mv6SsD6mYr0aXdL6DKEA2o0RCVNRw==","signatures":[{"sig":"MEYCIQC3PBPg2Z32YsXeMkJUh1kMHgrlQk6CbCt+ALYyDfLepAIhAI2rMcJvB64ZUAY9zEqGWaQEuUlkkLRnBp7hjJjnKPt5","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1417138},"main":"dist/src/index.js","pnpm":{"overrides":{"lodash-es":"4.18.1"}},"type":"module","types":"dist/src/index.d.ts","engines":{"node":">=22.19"},"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"},"./finders":{"types":"./dist/src/finders.d.ts","import":"./dist/src/finders.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"},"./android-snapshot-helper":{"types":"./dist/src/android-snapshot-helper.d.ts","import":"./dist/src/android-snapshot-helper.js"}},"gitHead":"213bd1eb312f50ec377c58f9730482c87a87ff2f","scripts":{"ad":"node bin/agent-device.mjs","lint":"oxlint . --deny-warnings","test":"vitest run","build":"rslib build","check":"pnpm check:tooling && pnpm check:fallow && pnpm check:unit","fallow":"fallow --summary","format":"oxfmt --write src test skills package.json tsconfig.json tsconfig.lib.json rslib.config.ts vitest.config.ts .github/actions/setup-node-pnpm/action.yml .oxlintrc.json .oxfmtrc.json '!test/skillgym/.skillgym-results/**'","prepack":"pnpm build:all && pnpm package:android-snapshot-helper:npm","build:all":"pnpm build:node && pnpm build:xcuitest","test:unit":"vitest run","typecheck":"tsc -p tsconfig.json","build:node":"pnpm build && pnpm clean:daemon","check:unit":"pnpm test:unit && pnpm test:smoke","test:smoke":"node --test test/integration/smoke-*.test.ts","check:quick":"pnpm lint && pnpm typecheck","check:fallow":"fallow audit","clean:daemon":"rm -f ~/.agent-device/daemon.json && rm -f ~/.agent-device/daemon.lock","test-app:ios":"pnpm --dir examples/test-app ios","check:tooling":"pnpm lint && pnpm typecheck && pnpm build","test:skillgym":"pnpm build && skillgym run ./test/skillgym/suites/agent-device-smoke-suite.ts --config ./test/skillgym/skillgym.config.ts","build:xcuitest":"pnpm build:xcuitest:ios && pnpm build:xcuitest:macos","test-app:start":"pnpm --dir examples/test-app start","fallow:baseline":"(fallow dead-code --save-baseline fallow-baselines/dead-code.json --summary || true) && (fallow dupes --save-baseline fallow-baselines/dupes.json --summary || true) && (fallow health --save-baseline fallow-baselines/health.json --summary || true)","test:replay:ios":"node --experimental-strip-types src/bin.ts test test/integration/replays/ios/simulator","test-app:android":"pnpm --dir examples/test-app android","test-app:install":"pnpm install --dir examples/test-app --ignore-workspace","test:integration":"node --test test/integration/*.test.ts","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","build:macos-helper":"swift build -c release --package-path macos-helper","build:xcuitest:ios":"AGENT_DEVICE_XCUITEST_PLATFORM=ios AGENT_DEVICE_IOS_CLEAN_DERIVED=1 sh ./scripts/build-xcuitest-apple.sh","test-app:typecheck":"pnpm --dir examples/test-app typecheck","build:xcuitest:tvos":"AGENT_DEVICE_XCUITEST_PLATFORM=tvos AGENT_DEVICE_IOS_CLEAN_DERIVED=1 sh ./scripts/build-xcuitest-apple.sh","test:replay:android":"node --experimental-strip-types src/bin.ts test test/integration/replays/android","build:xcuitest:macos":"AGENT_DEVICE_XCUITEST_PLATFORM=macos sh ./scripts/build-xcuitest-apple.sh","test:replay:ios-device":"node --experimental-strip-types src/bin.ts test test/integration/replays/ios/device","build:android-snapshot-helper":"sh ./scripts/build-android-snapshot-helper.sh $(node -p \"require('./package.json').version\") .tmp/android-snapshot-helper","package:android-snapshot-helper":"sh ./scripts/package-android-snapshot-helper.sh $(node -p \"require('./package.json').version\") v$(node -p \"require('./package.json').version\") .tmp/android-snapshot-helper","package:android-snapshot-helper:npm":"rm -rf android-snapshot-helper/dist && sh ./scripts/package-android-snapshot-helper.sh $(node -p \"require('./package.json').version\") v$(node -p \"require('./package.json').version\") android-snapshot-helper/dist"},"_npmUser":{"name":"thymikee","email":"thymikee@gmail.com"},"repository":{"url":"git+https://github.com/callstackincubator/agent-device.git","type":"git"},"_npmVersion":"11.6.2","description":"Agent-driven CLI for mobile UI automation, network inspection, and performance diagnostics across iOS, Android, tvOS, and macOS.","directories":{},"_nodeVersion":"24.13.0","dependencies":{"pngjs":"^7.0.0","fast-xml-parser":"^5.7.2"},"_hasShrinkwrap":false,"packageManager":"pnpm@10.33.2","devDependencies":{"vite":"^8.0.10","oxfmt":"^0.42.0","fallow":"^2.52.0","oxlint":"^1.57.0","vitest":"^4.1.2","skillgym":"^0.6.0","typescript":"^6.0.2","@rslib/core":"0.20.1","@types/node":"^22.0.0","@types/pngjs":"^6.0.5"},"_npmOperationalInternal":{"tmp":"tmp/agent-device_0.14.6_1777580393964_0.7749929676015084","host":"s3://npm-registry-packages-npm-production"}},"0.14.7":{"name":"agent-device","version":"0.14.7","keywords":["agent","device","cli","automation","adb","simctl","devicectl","ios","android","tvos","macos","react-native","observability","diagnostics","network","profiling","performance"],"author":{"name":"Callstack"},"license":"MIT","_id":"agent-device@0.14.7","maintainers":[{"name":"thymikee","email":"thymikee@gmail.com"}],"homepage":"https://agent-device.dev/","bugs":{"url":"https://github.com/callstackincubator/agent-device/issues"},"bin":{"agent-device":"bin/agent-device.mjs"},"dist":{"shasum":"67c62c3e9002cbe306becb060cf38fda78d8292a","tarball":"https://registry.npmjs.org/agent-device/-/agent-device-0.14.7.tgz","fileCount":106,"integrity":"sha512-01kkWAoUZARhfhSvyDdhJiaVuV0aNIr4KkVHQ9XYMcI05Z2ckb9Bx42axTzrmsbDQXADkBPgBRh972WAlMUQlA==","signatures":[{"sig":"MEUCIQDlCCKiOjyWDZSNqNuV+2XPhhPDzgkjwYt/EHUYD7+Z8QIgSGzWSN03bSbDlAra4vUEHcAmW1IHT+tg0rYtgD8+zxA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1418643},"main":"dist/src/index.js","pnpm":{"overrides":{"lodash-es":"4.18.1"}},"type":"module","types":"dist/src/index.d.ts","engines":{"node":">=22.19"},"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"},"./finders":{"types":"./dist/src/finders.d.ts","import":"./dist/src/finders.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"},"./android-snapshot-helper":{"types":"./dist/src/android-snapshot-helper.d.ts","import":"./dist/src/android-snapshot-helper.js"}},"gitHead":"0fcb1d561cb71b8b2c7f9f2a2ae7afc4f53c5b20","scripts":{"ad":"node bin/agent-device.mjs","lint":"oxlint . --deny-warnings","test":"vitest run","build":"rslib build","check":"pnpm check:tooling && pnpm check:fallow && pnpm check:unit","fallow":"fallow --summary","format":"oxfmt --write src test skills package.json tsconfig.json tsconfig.lib.json rslib.config.ts vitest.config.ts .github/actions/setup-node-pnpm/action.yml .oxlintrc.json .oxfmtrc.json '!test/skillgym/.skillgym-results/**'","prepack":"pnpm build:all && pnpm package:android-snapshot-helper:npm","build:all":"pnpm build:node && pnpm build:xcuitest","test:unit":"vitest run","typecheck":"tsc -p tsconfig.json","build:node":"pnpm build && pnpm clean:daemon","check:unit":"pnpm test:unit && pnpm test:smoke","test:smoke":"node --test test/integration/smoke-*.test.ts","check:quick":"pnpm lint && pnpm typecheck","check:fallow":"fallow audit","clean:daemon":"rm -f ~/.agent-device/daemon.json && rm -f ~/.agent-device/daemon.lock","test-app:ios":"pnpm --dir examples/test-app ios","check:tooling":"pnpm lint && pnpm typecheck && pnpm build","test:skillgym":"pnpm build && skillgym run ./test/skillgym/suites/agent-device-smoke-suite.ts --config ./test/skillgym/skillgym.config.ts","build:xcuitest":"pnpm build:xcuitest:ios && pnpm build:xcuitest:macos","test-app:start":"pnpm --dir examples/test-app start","fallow:baseline":"(fallow dead-code --save-baseline fallow-baselines/dead-code.json --summary || true) && (fallow dupes --save-baseline fallow-baselines/dupes.json --summary || true) && (fallow health --save-baseline fallow-baselines/health.json --summary || true)","test:replay:ios":"node --experimental-strip-types src/bin.ts test test/integration/replays/ios/simulator","test-app:android":"pnpm --dir examples/test-app android","test-app:install":"pnpm install --dir examples/test-app --ignore-workspace","test:integration":"node --test test/integration/*.test.ts","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","build:macos-helper":"swift build -c release --package-path macos-helper","build:xcuitest:ios":"AGENT_DEVICE_XCUITEST_PLATFORM=ios AGENT_DEVICE_IOS_CLEAN_DERIVED=1 sh ./scripts/build-xcuitest-apple.sh","test-app:typecheck":"pnpm --dir examples/test-app typecheck","build:xcuitest:tvos":"AGENT_DEVICE_XCUITEST_PLATFORM=tvos AGENT_DEVICE_IOS_CLEAN_DERIVED=1 sh ./scripts/build-xcuitest-apple.sh","test:replay:android":"node --experimental-strip-types src/bin.ts test test/integration/replays/android","build:xcuitest:macos":"AGENT_DEVICE_XCUITEST_PLATFORM=macos sh ./scripts/build-xcuitest-apple.sh","test:replay:ios-device":"node --experimental-strip-types src/bin.ts test test/integration/replays/ios/device","build:android-snapshot-helper":"sh ./scripts/build-android-snapshot-helper.sh $(node -p \"require('./package.json').version\") .tmp/android-snapshot-helper","package:android-snapshot-helper":"sh ./scripts/package-android-snapshot-helper.sh $(node -p \"require('./package.json').version\") v$(node -p \"require('./package.json').version\") .tmp/android-snapshot-helper","package:android-snapshot-helper:npm":"rm -rf android-snapshot-helper/dist && sh ./scripts/package-android-snapshot-helper.sh $(node -p \"require('./package.json').version\") v$(node -p \"require('./package.json').version\") android-snapshot-helper/dist"},"_npmUser":{"name":"thymikee","email":"thymikee@gmail.com"},"repository":{"url":"git+https://github.com/callstackincubator/agent-device.git","type":"git"},"_npmVersion":"11.6.2","description":"Agent-driven CLI for mobile UI automation, network inspection, and performance diagnostics across iOS, Android, tvOS, and macOS.","directories":{},"_nodeVersion":"24.13.0","dependencies":{"pngjs":"^7.0.0","fast-xml-parser":"^5.7.2"},"_hasShrinkwrap":false,"packageManager":"pnpm@10.33.2","devDependencies":{"vite":"^8.0.10","oxfmt":"^0.42.0","fallow":"^2.52.0","oxlint":"^1.57.0","vitest":"^4.1.2","skillgym":"^0.6.0","typescript":"^6.0.2","@rslib/core":"0.20.1","@types/node":"^22.0.0","@types/pngjs":"^6.0.5"},"_npmOperationalInternal":{"tmp":"tmp/agent-device_0.14.7_1777634912665_0.6602863458269936","host":"s3://npm-registry-packages-npm-production"}},"0.14.8":{"name":"agent-device","version":"0.14.8","keywords":["agent","device","cli","automation","adb","simctl","devicectl","ios","android","tvos","macos","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"],"author":{"name":"Callstack"},"license":"MIT","_id":"agent-device@0.14.8","maintainers":[{"name":"thymikee","email":"thymikee@gmail.com"}],"homepage":"https://agent-device.dev/","bugs":{"url":"https://github.com/callstackincubator/agent-device/issues"},"bin":{"agent-device":"bin/agent-device.mjs"},"dist":{"shasum":"6cd0f80846b056eead9e8030ab76d780a3784b44","tarball":"https://registry.npmjs.org/agent-device/-/agent-device-0.14.8.tgz","fileCount":115,"integrity":"sha512-tCuJGETWLNFMgCjG/xkMhO/WjvS/HLU6JMw1YdC15EX9JcCWp4Cl8N3oKQ3zDcE2TMyglIxA0q9Sg4oXe16KSQ==","signatures":[{"sig":"MEUCIQCeY1uqgzYAReYu1yI7NLD8FYf5VrfkofX+0bgUr7zhyQIgLvROgAjF5NDTIwciL3yLlIfQyIgTuvFue/ZQOpXh9Xc=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1438511},"main":"dist/src/index.js","pnpm":{"overrides":{"lodash-es":"4.18.1"}},"type":"module","types":"dist/src/index.d.ts","engines":{"node":">=22.19"},"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"},"./finders":{"types":"./dist/src/finders.d.ts","import":"./dist/src/finders.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"},"./android-snapshot-helper":{"types":"./dist/src/android-snapshot-helper.d.ts","import":"./dist/src/android-snapshot-helper.js"}},"gitHead":"80eae61d64abe9e5050e935e661d87784f6c2b74","mcpName":"io.github.callstackincubator/agent-device","scripts":{"ad":"node bin/agent-device.mjs","lint":"oxlint . --deny-warnings","test":"vitest run","build":"rslib build","check":"pnpm check:tooling && pnpm check:fallow && pnpm check:unit","fallow":"fallow --summary","format":"oxfmt --write src test skills package.json tsconfig.json tsconfig.lib.json rslib.config.ts vitest.config.ts .github/actions/setup-node-pnpm/action.yml .oxlintrc.json .oxfmtrc.json '!test/skillgym/.skillgym-results/**'","prepack":"pnpm check:mcp-metadata && pnpm build:all && pnpm package:android-snapshot-helper:npm","build:all":"pnpm build:node && pnpm build:xcuitest","test:unit":"vitest run","typecheck":"tsc -p tsconfig.json","build:node":"pnpm build && pnpm clean:daemon","check:unit":"pnpm test:unit && pnpm test:smoke","test:smoke":"node --test test/integration/smoke-*.test.ts","check:quick":"pnpm lint && pnpm typecheck","check:fallow":"fallow audit","clean:daemon":"rm -f ~/.agent-device/daemon.json && rm -f ~/.agent-device/daemon.lock","test-app:ios":"pnpm --dir examples/test-app ios","check:tooling":"pnpm lint && pnpm typecheck && pnpm check:mcp-metadata && pnpm build","test:skillgym":"pnpm build && skillgym run ./test/skillgym/suites/agent-device-smoke-suite.ts --config ./test/skillgym/skillgym.config.ts","build:xcuitest":"pnpm build:xcuitest:ios && pnpm build:xcuitest:macos","test-app:start":"pnpm --dir examples/test-app start","fallow:baseline":"(fallow dead-code --save-baseline fallow-baselines/dead-code.json --summary || true) && (fallow dupes --save-baseline fallow-baselines/dupes.json --summary || true) && (fallow health --save-baseline fallow-baselines/health.json --summary || true)","test:replay:ios":"node --experimental-strip-types src/bin.ts test test/integration/replays/ios/simulator","test-app:android":"pnpm --dir examples/test-app android","test-app:install":"pnpm install --dir examples/test-app --ignore-workspace","test:integration":"node --test test/integration/*.test.ts","sync:mcp-metadata":"node scripts/sync-mcp-metadata.mjs","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","build:macos-helper":"swift build -c release --package-path macos-helper","build:xcuitest:ios":"AGENT_DEVICE_XCUITEST_PLATFORM=ios AGENT_DEVICE_IOS_CLEAN_DERIVED=1 sh ./scripts/build-xcuitest-apple.sh","check:mcp-metadata":"node scripts/sync-mcp-metadata.mjs --check","test-app:typecheck":"pnpm --dir examples/test-app typecheck","build:xcuitest:tvos":"AGENT_DEVICE_XCUITEST_PLATFORM=tvos AGENT_DEVICE_IOS_CLEAN_DERIVED=1 sh ./scripts/build-xcuitest-apple.sh","test:replay:android":"node --experimental-strip-types src/bin.ts test test/integration/replays/android","build:xcuitest:macos":"AGENT_DEVICE_XCUITEST_PLATFORM=macos sh ./scripts/build-xcuitest-apple.sh","test:replay:ios-device":"node --experimental-strip-types src/bin.ts test test/integration/replays/ios/device","build:android-snapshot-helper":"sh ./scripts/build-android-snapshot-helper.sh $(node -p \"require('./package.json').version\") .tmp/android-snapshot-helper","package:android-snapshot-helper":"sh ./scripts/package-android-snapshot-helper.sh $(node -p \"require('./package.json').version\") v$(node -p \"require('./package.json').version\") .tmp/android-snapshot-helper","package:android-snapshot-helper:npm":"rm -rf android-snapshot-helper/dist && sh ./scripts/package-android-snapshot-helper.sh $(node -p \"require('./package.json').version\") v$(node -p \"require('./package.json').version\") android-snapshot-helper/dist"},"_npmUser":{"name":"thymikee","email":"thymikee@gmail.com"},"repository":{"url":"git+https://github.com/callstackincubator/agent-device.git","type":"git"},"_npmVersion":"11.6.2","description":"Agent-native CLI for AI mobile testing and app automation across iOS, Android, tvOS, Android TV, macOS, and Linux.","directories":{},"_nodeVersion":"24.13.0","dependencies":{"pngjs":"^7.0.0","fast-xml-parser":"^5.7.2"},"_hasShrinkwrap":false,"packageManager":"pnpm@10.33.2","devDependencies":{"vite":"^8.0.10","oxfmt":"^0.42.0","fallow":"^2.52.0","oxlint":"^1.57.0","vitest":"^4.1.2","skillgym":"^0.8.0","typescript":"^6.0.2","@rslib/core":"0.20.1","@types/node":"^22.0.0","@types/pngjs":"^6.0.5"},"_npmOperationalInternal":{"tmp":"tmp/agent-device_0.14.8_1778526703784_0.6661819688662796","host":"s3://npm-registry-packages-npm-production"}},"0.14.9":{"name":"agent-device","version":"0.14.9","keywords":["agent","device","cli","automation","adb","simctl","devicectl","ios","android","tvos","macos","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"],"author":{"name":"Callstack"},"license":"MIT","_id":"agent-device@0.14.9","maintainers":[{"name":"thymikee","email":"thymikee@gmail.com"}],"homepage":"https://agent-device.dev/","bugs":{"url":"https://github.com/callstackincubator/agent-device/issues"},"bin":{"agent-device":"bin/agent-device.mjs"},"dist":{"shasum":"5b336c7ed38610d9fe2cc541fa597df4c7e3ea8b","tarball":"https://registry.npmjs.org/agent-device/-/agent-device-0.14.9.tgz","fileCount":115,"integrity":"sha512-COo+EB5IyTWF4dih55knI7O4+PPs6zh3N9qc0rbScqueS/SazzClp499ZLQKPbh9B3rhDatwKZKpKs81kuODbg==","signatures":[{"sig":"MEQCIHwy6rICXY31NJpEEmomI9VxCmQeyDzjuIsF8l3PS65iAiBU7A4Y5p2Inue87nkF+w7/ds4+8KLj/wxXEf6rGxOA7A==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1451648},"main":"dist/src/index.js","pnpm":{"overrides":{"lodash-es":"4.18.1"}},"type":"module","types":"dist/src/index.d.ts","engines":{"node":">=22.19"},"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"},"./finders":{"types":"./dist/src/finders.d.ts","import":"./dist/src/finders.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"},"./android-snapshot-helper":{"types":"./dist/src/android-snapshot-helper.d.ts","import":"./dist/src/android-snapshot-helper.js"}},"gitHead":"89f35945e152c9eccd7ec9a1a4cda3674037f2da","mcpName":"io.github.callstackincubator/agent-device","scripts":{"ad":"node bin/agent-device.mjs","lint":"oxlint . --deny-warnings","test":"vitest run","build":"rslib build","check":"pnpm check:tooling && pnpm check:fallow && pnpm check:unit","fallow":"fallow --summary","format":"oxfmt --write src test skills package.json tsconfig.json tsconfig.lib.json rslib.config.ts vitest.config.ts .github/actions/setup-node-pnpm/action.yml .oxlintrc.json .oxfmtrc.json '!test/skillgym/.skillgym-results/**'","prepack":"pnpm check:mcp-metadata && pnpm build:all && pnpm package:android-snapshot-helper:npm","build:all":"pnpm build:node && pnpm build:xcuitest","test:unit":"vitest run","typecheck":"tsc -p tsconfig.json","build:node":"pnpm build && pnpm clean:daemon","check:unit":"pnpm test:unit && pnpm test:smoke","test:smoke":"node --test test/integration/smoke-*.test.ts","check:quick":"pnpm lint && pnpm typecheck","check:fallow":"fallow audit","clean:daemon":"rm -f ~/.agent-device/daemon.json && rm -f ~/.agent-device/daemon.lock","test-app:ios":"pnpm --dir examples/test-app ios","check:tooling":"pnpm lint && pnpm typecheck && pnpm check:mcp-metadata && pnpm build","test:skillgym":"pnpm build && skillgym run ./test/skillgym/suites/agent-device-smoke-suite.ts --config ./test/skillgym/skillgym.config.ts","build:xcuitest":"pnpm build:xcuitest:ios && pnpm build:xcuitest:macos","test-app:start":"pnpm --dir examples/test-app start","fallow:baseline":"(fallow dead-code --save-baseline fallow-baselines/dead-code.json --summary || true) && (fallow dupes --save-baseline fallow-baselines/dupes.json --summary || true) && (fallow health --save-baseline fallow-baselines/health.json --summary || true)","test:replay:ios":"node --experimental-strip-types src/bin.ts test test/integration/replays/ios/simulator","test-app:android":"pnpm --dir examples/test-app android","test-app:install":"pnpm install --dir examples/test-app --ignore-workspace","test:integration":"node --test test/integration/*.test.ts","sync:mcp-metadata":"node scripts/sync-mcp-metadata.mjs","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","build:macos-helper":"swift build -c release --package-path macos-helper","build:xcuitest:ios":"AGENT_DEVICE_XCUITEST_PLATFORM=ios AGENT_DEVICE_IOS_CLEAN_DERIVED=1 sh ./scripts/build-xcuitest-apple.sh","check:mcp-metadata":"node scripts/sync-mcp-metadata.mjs --check","test-app:typecheck":"pnpm --dir examples/test-app typecheck","build:xcuitest:tvos":"AGENT_DEVICE_XCUITEST_PLATFORM=tvos AGENT_DEVICE_IOS_CLEAN_DERIVED=1 sh ./scripts/build-xcuitest-apple.sh","test:replay:android":"node --experimental-strip-types src/bin.ts test test/integration/replays/android","build:xcuitest:macos":"AGENT_DEVICE_XCUITEST_PLATFORM=macos sh ./scripts/build-xcuitest-apple.sh","test:replay:ios-device":"node --experimental-strip-types src/bin.ts test test/integration/replays/ios/device","build:android-snapshot-helper":"sh ./scripts/build-android-snapshot-helper.sh $(node -p \"require('./package.json').version\") .tmp/android-snapshot-helper","package:android-snapshot-helper":"sh ./scripts/package-android-snapshot-helper.sh $(node -p \"require('./package.json').version\") v$(node -p \"require('./package.json').version\") .tmp/android-snapshot-helper","package:android-snapshot-helper:npm":"rm -rf android-snapshot-helper/dist && sh ./scripts/package-android-snapshot-helper.sh $(node -p \"require('./package.json').version\") v$(node -p \"require('./package.json').version\") android-snapshot-helper/dist"},"_npmUser":{"name":"thymikee","email":"thymikee@gmail.com"},"repository":{"url":"git+https://github.com/callstackincubator/agent-device.git","type":"git"},"_npmVersion":"11.6.2","description":"Agent-native CLI for AI mobile testing and app automation across iOS, Android, tvOS, Android TV, macOS, and Linux.","directories":{},"_nodeVersion":"24.13.0","dependencies":{"pngjs":"^7.0.0","fast-xml-parser":"^5.7.2"},"_hasShrinkwrap":false,"packageManager":"pnpm@10.33.2","devDependencies":{"vite":"^8.0.10","oxfmt":"^0.42.0","fallow":"^2.52.0","oxlint":"^1.57.0","vitest":"^4.1.2","skillgym":"^0.8.0","typescript":"^6.0.2","@rslib/core":"0.20.1","@types/node":"^22.0.0","@types/pngjs":"^6.0.5"},"_npmOperationalInternal":{"tmp":"tmp/agent-device_0.14.9_1778693433672_0.7055857403646433","host":"s3://npm-registry-packages-npm-production"}},"0.15.0":{"name":"agent-device","version":"0.15.0","keywords":["agent","device","cli","automation","adb","simctl","devicectl","ios","android","tvos","macos","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"],"author":{"name":"Callstack"},"license":"MIT","_id":"agent-device@0.15.0","maintainers":[{"name":"thymikee","email":"thymikee@gmail.com"}],"homepage":"https://agent-device.dev/","bugs":{"url":"https://github.com/callstackincubator/agent-device/issues"},"bin":{"agent-device":"bin/agent-device.mjs"},"dist":{"shasum":"46b6655847830c56dba1b88fe257401b1f496988","tarball":"https://registry.npmjs.org/agent-device/-/agent-device-0.15.0.tgz","fileCount":115,"integrity":"sha512-crqtBZo64aaez/PFFaOdCVnKPXx5s3yMofiP3GaDFPiomjpJG9+3jJqlrovzxOIyw8imtYBKbWnzr+Z+yHamEQ==","signatures":[{"sig":"MEQCIA4D+k7FMZmXM/7Fsgso+1H5vhwFJILYY9DcLAwesOUhAiBVUktlkDVZ9NuZTmZtrt+gee7mbyVcM+Q2Tmj476Zg0g==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1535330},"main":"dist/src/index.js","pnpm":{"overrides":{"lodash-es":"4.18.1"}},"type":"module","types":"dist/src/index.d.ts","engines":{"node":">=22.19"},"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"},"./finders":{"types":"./dist/src/finders.d.ts","import":"./dist/src/finders.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"},"./android-snapshot-helper":{"types":"./dist/src/android-snapshot-helper.d.ts","import":"./dist/src/android-snapshot-helper.js"}},"gitHead":"4491efde1dc4e6149af639587a2c23bef8ede9fe","mcpName":"io.github.callstackincubator/agent-device","scripts":{"ad":"node bin/agent-device.mjs","lint":"oxlint . --deny-warnings","test":"vitest run --project unit","build":"rslib build","check":"pnpm check:tooling && pnpm check:fallow && pnpm check:unit","fallow":"fallow --summary","format":"oxfmt --write src test skills package.json tsconfig.json tsconfig.lib.json rslib.config.ts vitest.config.ts .github/actions/setup-node-pnpm/action.yml .oxlintrc.json .oxfmtrc.json '!test/skillgym/.skillgym-results/**'","prepack":"pnpm check:mcp-metadata && pnpm build:all && pnpm package:android-snapshot-helper:npm","build:all":"pnpm build:node && pnpm build:xcuitest","test:unit":"vitest run --project unit","typecheck":"tsc -p tsconfig.json","build:node":"pnpm build && pnpm clean:daemon","check:unit":"pnpm test:unit && pnpm test:smoke","test:smoke":"node --test test/integration/smoke-*.test.ts","check:quick":"pnpm lint && pnpm typecheck","check:fallow":"fallow audit","clean:daemon":"rm -f ~/.agent-device/daemon.json && rm -f ~/.agent-device/daemon.lock","test-app:ios":"pnpm --dir examples/test-app ios","check:tooling":"pnpm lint && pnpm typecheck && pnpm check:mcp-metadata && pnpm build","test:coverage":"vitest run --coverage","test:skillgym":"pnpm build && skillgym run ./test/skillgym/suites/agent-device-smoke-suite.ts --config ./test/skillgym/skillgym.config.ts","build:xcuitest":"pnpm build:xcuitest:ios && pnpm build:xcuitest:macos","clean:xcuitest":"node scripts/clean-xcuitest-derived.mjs","test-app:start":"pnpm --dir examples/test-app start","fallow:baseline":"(fallow dead-code --save-baseline fallow-baselines/dead-code.json --summary || true) && (fallow health --save-baseline fallow-baselines/health.json --summary || true)","test:replay:ios":"node --experimental-strip-types src/bin.ts test test/integration/replays/ios/simulator","test-app:android":"pnpm --dir examples/test-app android","test-app:install":"pnpm install --dir examples/test-app --ignore-workspace","test:integration":"pnpm test:integration:node && pnpm test:integration:provider","sync:mcp-metadata":"node scripts/sync-mcp-metadata.mjs","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","build:macos-helper":"swift build -c release --package-path macos-helper","build:xcuitest:ios":"AGENT_DEVICE_XCUITEST_PLATFORM=ios sh ./scripts/build-xcuitest-apple.sh","check:mcp-metadata":"node scripts/sync-mcp-metadata.mjs --check","clean:xcuitest:ios":"node scripts/clean-xcuitest-derived.mjs ios","test-app:typecheck":"pnpm --dir examples/test-app typecheck","build:xcuitest:tvos":"AGENT_DEVICE_XCUITEST_PLATFORM=tvos sh ./scripts/build-xcuitest-apple.sh","clean:xcuitest:tvos":"node scripts/clean-xcuitest-derived.mjs tvos","test:replay:android":"node --experimental-strip-types src/bin.ts test test/integration/replays/android","build:xcuitest:macos":"AGENT_DEVICE_XCUITEST_PLATFORM=macos sh ./scripts/build-xcuitest-apple.sh","clean:xcuitest:macos":"node scripts/clean-xcuitest-derived.mjs macos","test:integration:node":"node --test test/integration/*.test.ts","test:replay:ios-device":"node --experimental-strip-types src/bin.ts test test/integration/replays/ios/device","build:xcuitest:ios:clean":"pnpm clean:xcuitest:ios && pnpm build:xcuitest:ios","build:xcuitest:tvos:clean":"pnpm clean:xcuitest:tvos && pnpm build:xcuitest:tvos","test:integration:progress":"node scripts/integration-progress.mjs","test:integration:provider":"vitest run --project provider-integration","build:android-snapshot-helper":"sh ./scripts/build-android-snapshot-helper.sh $(node -p \"require('./package.json').version\") .tmp/android-snapshot-helper","package:android-snapshot-helper":"sh ./scripts/package-android-snapshot-helper.sh $(node -p \"require('./package.json').version\") v$(node -p \"require('./package.json').version\") .tmp/android-snapshot-helper","test:integration:progress:check":"node scripts/integration-progress.mjs --check","package:android-snapshot-helper:npm":"rm -rf android-snapshot-helper/dist && sh ./scripts/package-android-snapshot-helper.sh $(node -p \"require('./package.json').version\") v$(node -p \"require('./package.json').version\") android-snapshot-helper/dist"},"_npmUser":{"name":"thymikee","email":"thymikee@gmail.com"},"repository":{"url":"git+https://github.com/callstackincubator/agent-device.git","type":"git"},"_npmVersion":"11.13.0","description":"Agent-native CLI for AI mobile testing and app automation across iOS, Android, tvOS, Android TV, macOS, and Linux.","directories":{},"_nodeVersion":"26.1.0","dependencies":{"yaml":"^2.9.0","pngjs":"^7.0.0","fast-xml-parser":"^5.7.2"},"_hasShrinkwrap":false,"packageManager":"pnpm@11.1.2","devDependencies":{"vite":"^8.0.10","oxfmt":"^0.42.0","fallow":"^2.52.0","oxlint":"^1.57.0","vitest":"^4.1.2","skillgym":"^0.8.0","typescript":"^6.0.2","@rslib/core":"0.20.1","@types/node":"^22.0.0","@types/pngjs":"^6.0.5","@vitest/coverage-v8":"4.1.2","@microsoft/api-extractor":"^7.58.7"},"_npmOperationalInternal":{"tmp":"tmp/agent-device_0.15.0_1779184630994_0.6469200106058832","host":"s3://npm-registry-packages-npm-production"}},"0.15.1":{"name":"agent-device","version":"0.15.1","keywords":["agent","device","cli","automation","adb","simctl","devicectl","ios","android","tvos","macos","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"],"author":{"name":"Callstack"},"license":"MIT","_id":"agent-device@0.15.1","maintainers":[{"name":"thymikee","email":"thymikee@gmail.com"}],"homepage":"https://agent-device.dev/","bugs":{"url":"https://github.com/callstackincubator/agent-device/issues"},"bin":{"agent-device":"bin/agent-device.mjs"},"dist":{"shasum":"8060901834d944928f39cdc59b2d6fb639c094fa","tarball":"https://registry.npmjs.org/agent-device/-/agent-device-0.15.1.tgz","fileCount":116,"integrity":"sha512-7yT4Iv75+HtqVrmSJKnc3tXrN59Nd98sMIlOvXPPpdokLGw/QS4tj/dvppdJk4YqvOqcvA+NsMiQF52SGZqt2g==","signatures":[{"sig":"MEUCIQDo+leRJtgyaXxz2NWZJOl6cnNeVHh2friPWYoe6lTZNAIgeJuJcfCf2D0DopOPuptYrzJT42ynC2XKC1DK0So7KNQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1575299},"main":"dist/src/index.js","pnpm":{"overrides":{"lodash-es":"4.18.1"}},"type":"module","types":"dist/src/index.d.ts","engines":{"node":">=22.19"},"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"},"./finders":{"types":"./dist/src/finders.d.ts","import":"./dist/src/finders.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"},"./android-snapshot-helper":{"types":"./dist/src/android-snapshot-helper.d.ts","import":"./dist/src/android-snapshot-helper.js"}},"gitHead":"6617d523f21a6799b44ae76cc4bbeb5bf8958d8c","mcpName":"io.github.callstackincubator/agent-device","scripts":{"ad":"node bin/agent-device.mjs","lint":"oxlint . --deny-warnings","test":"vitest run --project unit","build":"rslib build","check":"pnpm check:tooling && pnpm check:fallow && pnpm check:unit","fallow":"fallow --summary","format":"oxfmt --write src test skills package.json tsconfig.json tsconfig.lib.json rslib.config.ts vitest.config.ts .github/actions/setup-node-pnpm/action.yml .oxlintrc.json .oxfmtrc.json '!test/skillgym/.skillgym-results/**'","prepack":"pnpm check:mcp-metadata && pnpm build:all && pnpm package:android-snapshot-helper:npm","build:all":"pnpm build:node && pnpm build:xcuitest","test:unit":"vitest run --project unit","typecheck":"tsc -p tsconfig.json","build:node":"pnpm build && pnpm clean:daemon","check:unit":"pnpm test:unit && pnpm test:smoke","test:smoke":"node --test test/integration/smoke-*.test.ts","check:quick":"pnpm lint && pnpm typecheck","check:fallow":"fallow audit","clean:daemon":"rm -f ~/.agent-device/daemon.json && rm -f ~/.agent-device/daemon.lock","test-app:ios":"pnpm --dir examples/test-app ios","check:tooling":"pnpm lint && pnpm typecheck && pnpm check:mcp-metadata && pnpm build","test:coverage":"vitest run --coverage","test:skillgym":"pnpm build && skillgym run ./test/skillgym/suites/agent-device-smoke-suite.ts --config ./test/skillgym/skillgym.config.ts","build:xcuitest":"pnpm build:xcuitest:ios && pnpm build:xcuitest:macos","clean:xcuitest":"node scripts/clean-xcuitest-derived.mjs","test-app:start":"pnpm --dir examples/test-app start","fallow:baseline":"(fallow dead-code --save-baseline fallow-baselines/dead-code.json --summary || true) && (fallow health --save-baseline fallow-baselines/health.json --summary || true)","test:replay:ios":"node --experimental-strip-types src/bin.ts test test/integration/replays/ios/simulator","test-app:android":"pnpm --dir examples/test-app android","test-app:install":"pnpm install --dir examples/test-app --ignore-workspace","test-app:maestro":"node scripts/run-test-app-maestro-suite.mjs","test:integration":"pnpm test:integration:node && pnpm test:integration:provider","sync:mcp-metadata":"node scripts/sync-mcp-metadata.mjs","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","build:macos-helper":"swift build -c release --package-path macos-helper","build:xcuitest:ios":"AGENT_DEVICE_XCUITEST_PLATFORM=ios sh ./scripts/build-xcuitest-apple.sh","check:mcp-metadata":"node scripts/sync-mcp-metadata.mjs --check","clean:xcuitest:ios":"node scripts/clean-xcuitest-derived.mjs ios","test-app:typecheck":"pnpm --dir examples/test-app typecheck","build:xcuitest:tvos":"AGENT_DEVICE_XCUITEST_PLATFORM=tvos sh ./scripts/build-xcuitest-apple.sh","clean:xcuitest:tvos":"node scripts/clean-xcuitest-derived.mjs tvos","test-app:replay:ios":"pnpm ad test examples/test-app/replays --platform ios --artifacts-dir .tmp/test-app-replay/ios","test:replay:android":"node --experimental-strip-types src/bin.ts test test/integration/replays/android","build:xcuitest:macos":"AGENT_DEVICE_XCUITEST_PLATFORM=macos sh ./scripts/build-xcuitest-apple.sh","clean:xcuitest:macos":"node scripts/clean-xcuitest-derived.mjs macos","test-app:maestro:ios":"node scripts/run-test-app-maestro-suite.mjs --platform ios","test:integration:node":"node --test test/integration/*.test.ts","test:replay:ios-device":"node --experimental-strip-types src/bin.ts test test/integration/replays/ios/device","test-app:replay:android":"pnpm ad test examples/test-app/replays --platform android --artifacts-dir .tmp/test-app-replay/android","build:xcuitest:ios:clean":"pnpm clean:xcuitest:ios && pnpm build:xcuitest:ios","test-app:maestro:android":"node scripts/run-test-app-maestro-suite.mjs --platform android","build:xcuitest:tvos:clean":"pnpm clean:xcuitest:tvos && pnpm build:xcuitest:tvos","test:integration:progress":"node scripts/integration-progress.mjs","test:integration:provider":"vitest run --project provider-integration","build:android-snapshot-helper":"sh ./scripts/build-android-snapshot-helper.sh $(node -p \"require('./package.json').version\") .tmp/android-snapshot-helper","package:android-snapshot-helper":"sh ./scripts/package-android-snapshot-helper.sh $(node -p \"require('./package.json').version\") v$(node -p \"require('./package.json').version\") .tmp/android-snapshot-helper","test:integration:progress:check":"node scripts/integration-progress.mjs --check","package:android-snapshot-helper:npm":"rm -rf android-snapshot-helper/dist && sh ./scripts/package-android-snapshot-helper.sh $(node -p \"require('./package.json').version\") v$(node -p \"require('./package.json').version\") android-snapshot-helper/dist"},"_npmUser":{"name":"thymikee","email":"thymikee@gmail.com"},"repository":{"url":"git+https://github.com/callstackincubator/agent-device.git","type":"git"},"_npmVersion":"11.13.0","description":"Agent-native CLI for AI mobile testing and app automation across iOS, Android, tvOS, Android TV, macOS, and Linux.","directories":{},"_nodeVersion":"26.1.0","dependencies":{"yaml":"^2.9.0","pngjs":"^7.0.0","fast-xml-parser":"^5.7.2"},"_hasShrinkwrap":false,"packageManager":"pnpm@11.1.2","devDependencies":{"vite":"^8.0.10","oxfmt":"^0.42.0","fallow":"^2.52.0","oxlint":"^1.57.0","vitest":"^4.1.2","skillgym":"^0.8.0","typescript":"^6.0.2","@rslib/core":"0.20.1","@types/node":"^22.0.0","@types/pngjs":"^6.0.5","@vitest/coverage-v8":"4.1.2","@microsoft/api-extractor":"^7.58.7"},"_npmOperationalInternal":{"tmp":"tmp/agent-device_0.15.1_1779302097954_0.1909093537540536","host":"s3://npm-registry-packages-npm-production"}},"0.15.2":{"name":"agent-device","version":"0.15.2","keywords":["agent","device","cli","automation","adb","simctl","devicectl","ios","android","tvos","macos","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"],"author":{"name":"Callstack"},"license":"MIT","_id":"agent-device@0.15.2","maintainers":[{"name":"thymikee","email":"thymikee@gmail.com"}],"homepage":"https://agent-device.dev/","bugs":{"url":"https://github.com/callstackincubator/agent-device/issues"},"bin":{"agent-device":"bin/agent-device.mjs"},"dist":{"shasum":"4496ce0a02ac36c48c2b307a16296f8151b4d344","tarball":"https://registry.npmjs.org/agent-device/-/agent-device-0.15.2.tgz","fileCount":116,"integrity":"sha512-zSP2k44XWokNbgMYvYbdZDMPl1Uv68REEaGdyYs/ePK8qO3jDuCCUuQq4yQslxit9288fMWLuk9rRhKxf46Tag==","signatures":[{"sig":"MEQCIFMDsjZTZClEXBv+aAyDz0ZbuNpM3KCSJZNfSn10lPhEAiAI5KiQHz5GKmGPnWrOYcoIQacc3/D5snhaObyVfRDfzg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1588880},"main":"dist/src/index.js","pnpm":{"overrides":{"lodash-es":"4.18.1"}},"type":"module","types":"dist/src/index.d.ts","engines":{"node":">=22.19"},"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"},"./finders":{"types":"./dist/src/finders.d.ts","import":"./dist/src/finders.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"},"./android-snapshot-helper":{"types":"./dist/src/android-snapshot-helper.d.ts","import":"./dist/src/android-snapshot-helper.js"}},"gitHead":"9a6bb6f734f7d354ad9a72b2e4756ecc5d3b4263","mcpName":"io.github.callstackincubator/agent-device","scripts":{"ad":"node bin/agent-device.mjs","lint":"oxlint . --deny-warnings","test":"vitest run --project unit","build":"rslib build","check":"pnpm check:tooling && pnpm check:fallow && pnpm check:unit","fallow":"fallow --summary","format":"oxfmt --write src test skills package.json tsconfig.json tsconfig.lib.json rslib.config.ts vitest.config.ts .github/actions/setup-node-pnpm/action.yml .oxlintrc.json .oxfmtrc.json '!test/skillgym/.skillgym-results/**'","prepack":"pnpm check:mcp-metadata && pnpm build:all && pnpm package:android-snapshot-helper:npm","build:all":"pnpm build:node && pnpm build:xcuitest","test:unit":"vitest run --project unit","typecheck":"tsc -p tsconfig.json","build:node":"pnpm build && pnpm clean:daemon","check:unit":"pnpm test:unit && pnpm test:smoke","test:smoke":"node --test test/integration/smoke-*.test.ts","check:quick":"pnpm lint && pnpm typecheck","check:fallow":"fallow audit","clean:daemon":"rm -f ~/.agent-device/daemon.json && rm -f ~/.agent-device/daemon.lock","test-app:ios":"pnpm --dir examples/test-app ios","check:tooling":"pnpm lint && pnpm typecheck && pnpm check:mcp-metadata && pnpm build","test:coverage":"vitest run --coverage","test:skillgym":"pnpm build && skillgym run ./test/skillgym/suites/agent-device-smoke-suite.ts --config ./test/skillgym/skillgym.config.ts","build:xcuitest":"pnpm build:xcuitest:ios && pnpm build:xcuitest:macos","clean:xcuitest":"node scripts/clean-xcuitest-derived.mjs","test-app:start":"pnpm --dir examples/test-app start","fallow:baseline":"(fallow dead-code --save-baseline fallow-baselines/dead-code.json --summary || true) && (fallow health --save-baseline fallow-baselines/health.json --summary || true)","test:replay:ios":"node --experimental-strip-types src/bin.ts test test/integration/replays/ios/simulator","test-app:android":"pnpm --dir examples/test-app android","test-app:install":"pnpm install --dir examples/test-app --ignore-workspace","test-app:maestro":"node scripts/run-test-app-maestro-suite.mjs","test:integration":"pnpm test:integration:node && pnpm test:integration:provider","sync:mcp-metadata":"node scripts/sync-mcp-metadata.mjs","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","build:macos-helper":"swift build -c release --package-path macos-helper","build:xcuitest:ios":"AGENT_DEVICE_XCUITEST_PLATFORM=ios sh ./scripts/build-xcuitest-apple.sh","check:mcp-metadata":"node scripts/sync-mcp-metadata.mjs --check","clean:xcuitest:ios":"node scripts/clean-xcuitest-derived.mjs ios","test-app:typecheck":"pnpm --dir examples/test-app typecheck","build:xcuitest:tvos":"AGENT_DEVICE_XCUITEST_PLATFORM=tvos sh ./scripts/build-xcuitest-apple.sh","clean:xcuitest:tvos":"node scripts/clean-xcuitest-derived.mjs tvos","test-app:replay:ios":"pnpm ad test examples/test-app/replays --platform ios --artifacts-dir .tmp/test-app-replay/ios","test:replay:android":"node --experimental-strip-types src/bin.ts test test/integration/replays/android","build:xcuitest:macos":"AGENT_DEVICE_XCUITEST_PLATFORM=macos sh ./scripts/build-xcuitest-apple.sh","clean:xcuitest:macos":"node scripts/clean-xcuitest-derived.mjs macos","test-app:maestro:ios":"node scripts/run-test-app-maestro-suite.mjs --platform ios","test:integration:node":"node --test test/integration/*.test.ts","test:replay:ios-device":"node --experimental-strip-types src/bin.ts test test/integration/replays/ios/device","test-app:replay:android":"pnpm ad test examples/test-app/replays --platform android --artifacts-dir .tmp/test-app-replay/android","build:xcuitest:ios:clean":"pnpm clean:xcuitest:ios && pnpm build:xcuitest:ios","test-app:maestro:android":"node scripts/run-test-app-maestro-suite.mjs --platform android","build:xcuitest:tvos:clean":"pnpm clean:xcuitest:tvos && pnpm build:xcuitest:tvos","test:integration:progress":"node scripts/integration-progress.mjs","test:integration:provider":"vitest run --project provider-integration","build:android-snapshot-helper":"sh ./scripts/build-android-snapshot-helper.sh $(node -p \"require('./package.json').version\") .tmp/android-snapshot-helper","package:android-snapshot-helper":"sh ./scripts/package-android-snapshot-helper.sh $(node -p \"require('./package.json').version\") v$(node -p \"require('./package.json').version\") .tmp/android-snapshot-helper","test:integration:progress:check":"node scripts/integration-progress.mjs --check","package:android-snapshot-helper:npm":"rm -rf android-snapshot-helper/dist && sh ./scripts/package-android-snapshot-helper.sh $(node -p \"require('./package.json').version\") v$(node -p \"require('./package.json').version\") android-snapshot-helper/dist"},"_npmUser":{"name":"thymikee","email":"thymikee@gmail.com"},"repository":{"url":"git+https://github.com/callstackincubator/agent-device.git","type":"git"},"_npmVersion":"11.13.0","description":"Agent-native CLI for AI mobile testing and app automation across iOS, Android, tvOS, Android TV, macOS, and Linux.","directories":{},"_nodeVersion":"26.1.0","dependencies":{"yaml":"^2.9.0","pngjs":"^7.0.0","fast-xml-parser":"^5.7.2"},"_hasShrinkwrap":false,"packageManager":"pnpm@11.1.2","devDependencies":{"vite":"^8.0.10","oxfmt":"^0.42.0","fallow":"^2.52.0","oxlint":"^1.57.0","vitest":"^4.1.2","skillgym":"^0.8.0","typescript":"^6.0.2","@rslib/core":"0.20.1","@types/node":"^22.0.0","@types/pngjs":"^6.0.5","@vitest/coverage-v8":"4.1.2","@microsoft/api-extractor":"^7.58.7"},"_npmOperationalInternal":{"tmp":"tmp/agent-device_0.15.2_1779377596039_0.27687632324225064","host":"s3://npm-registry-packages-npm-production"}},"0.16.0":{"name":"agent-device","version":"0.16.0","keywords":["agent","device","cli","automation","adb","simctl","devicectl","ios","android","tvos","macos","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"],"author":{"name":"Callstack"},"license":"MIT","_id":"agent-device@0.16.0","maintainers":[{"name":"thymikee","email":"thymikee@gmail.com"}],"homepage":"https://agent-device.dev/","bugs":{"url":"https://github.com/callstackincubator/agent-device/issues"},"bin":{"agent-device":"bin/agent-device.mjs"},"dist":{"shasum":"6bdc999c86174736cc92aa6f54d48cca3adf9945","tarball":"https://registry.npmjs.org/agent-device/-/agent-device-0.16.0.tgz","fileCount":121,"integrity":"sha512-w8gud1YhBWKQ0yLzPzAVisLhRXRJ0/hncRqjn0ejBbFfKrPjozb70LXnCsf7o9x9o9fXip1PQTD7ZMSu/jdqhw==","signatures":[{"sig":"MEUCIH24r9aS4yYpJzGnwfVFU57X4sSKJJEK1yI2oxkC4JkOAiEAoowoAso6oCizC+hG2V11kWEr6AgR2jW350FsBtRnzxc=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1719319},"main":"dist/src/index.js","pnpm":{"overrides":{"lodash-es":"4.18.1"}},"type":"module","types":"dist/src/index.d.ts","engines":{"node":">=22.19"},"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"},"./finders":{"types":"./dist/src/finders.d.ts","import":"./dist/src/finders.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"},"./android-snapshot-helper":{"types":"./dist/src/android-snapshot-helper.d.ts","import":"./dist/src/android-snapshot-helper.js"}},"gitHead":"0eef23e485b1cdc42285ea064a9aaabf29f479c7","mcpName":"io.github.callstackincubator/agent-device","scripts":{"ad":"node bin/agent-device.mjs","lint":"oxlint . --deny-warnings","test":"vitest run --project unit","build":"rslib build","check":"pnpm check:tooling && pnpm check:fallow && pnpm check:unit","fallow":"fallow --summary","format":"oxfmt --write src test skills package.json tsconfig.json tsconfig.lib.json rslib.config.ts vitest.config.ts .github/actions/setup-node-pnpm/action.yml .oxlintrc.json .oxfmtrc.json '!test/skillgym/.skillgym-results/**'","prepack":"pnpm check:mcp-metadata && pnpm build:all && pnpm package:android-snapshot-helper:npm && pnpm package:android-multitouch-helper:npm","build:all":"pnpm build:node && pnpm build:xcuitest","test:unit":"vitest run --project unit","typecheck":"tsc -p tsconfig.json","build:node":"pnpm build && pnpm clean:daemon","check:unit":"pnpm test:unit && pnpm test:smoke","test:smoke":"node --test test/integration/smoke-*.test.ts","check:quick":"pnpm lint && pnpm typecheck","check:fallow":"fallow audit","clean:daemon":"rm -f ~/.agent-device/daemon.json && rm -f ~/.agent-device/daemon.lock","test-app:ios":"pnpm --dir examples/test-app ios","check:tooling":"pnpm lint && pnpm typecheck && pnpm check:mcp-metadata && pnpm build","test:coverage":"vitest run --coverage","test:skillgym":"node test/skillgym/runner-environment.ts && pnpm build && skillgym run ./test/skillgym/suites/agent-device-smoke-suite.ts --config ./test/skillgym/skillgym.config.ts","build:xcuitest":"pnpm build:xcuitest:ios && pnpm build:xcuitest:macos","clean:xcuitest":"node scripts/clean-xcuitest-derived.mjs","test-app:start":"pnpm --dir examples/test-app start","fallow:baseline":"(fallow dead-code --save-baseline fallow-baselines/dead-code.json --summary || true) && (fallow health --save-baseline fallow-baselines/health.json --summary || true)","test:replay:ios":"node --experimental-strip-types src/bin.ts test test/integration/replays/ios/simulator","test-app:android":"pnpm --dir examples/test-app android","test-app:install":"pnpm install --dir examples/test-app --ignore-workspace","test-app:maestro":"node scripts/run-test-app-maestro-suite.mjs","test:integration":"pnpm test:integration:node && pnpm test:integration:provider","sync:mcp-metadata":"node scripts/sync-mcp-metadata.mjs","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","build:macos-helper":"swift build -c release --package-path macos-helper","build:xcuitest:ios":"AGENT_DEVICE_XCUITEST_PLATFORM=ios sh ./scripts/build-xcuitest-apple.sh","check:mcp-metadata":"node scripts/sync-mcp-metadata.mjs --check","clean:xcuitest:ios":"node scripts/clean-xcuitest-derived.mjs ios","test-app:typecheck":"pnpm --dir examples/test-app typecheck","test:skillgym:case":"node test/skillgym/runner-environment.ts && pnpm build && skillgym run ./test/skillgym/suites/agent-device-smoke-suite.ts --config ./test/skillgym/skillgym.config.ts --case","build:xcuitest:tvos":"AGENT_DEVICE_XCUITEST_PLATFORM=tvos sh ./scripts/build-xcuitest-apple.sh","clean:xcuitest:tvos":"node scripts/clean-xcuitest-derived.mjs tvos","test-app:replay:ios":"pnpm ad test examples/test-app/replays --platform ios --artifacts-dir .tmp/test-app-replay/ios","test:replay:android":"node --experimental-strip-types src/bin.ts test test/integration/replays/android","build:xcuitest:macos":"AGENT_DEVICE_XCUITEST_PLATFORM=macos sh ./scripts/build-xcuitest-apple.sh","clean:xcuitest:macos":"node scripts/clean-xcuitest-derived.mjs macos","test-app:maestro:ios":"node scripts/run-test-app-maestro-suite.mjs --platform ios","test:integration:node":"node --test test/integration/*.test.ts","test:replay:ios-device":"node --experimental-strip-types src/bin.ts test test/integration/replays/ios/device","test-app:replay:android":"pnpm ad test examples/test-app/replays --platform android --artifacts-dir .tmp/test-app-replay/android","build:xcuitest:ios:clean":"pnpm clean:xcuitest:ios && pnpm build:xcuitest:ios","test-app:maestro:android":"node scripts/run-test-app-maestro-suite.mjs --platform android","build:xcuitest:tvos:clean":"pnpm clean:xcuitest:tvos && pnpm build:xcuitest:tvos","test:integration:progress":"node scripts/integration-progress.mjs","test:integration:provider":"vitest run --project provider-integration","build:android-snapshot-helper":"sh ./scripts/build-android-snapshot-helper.sh $(node -p \"require('./package.json').version\") .tmp/android-snapshot-helper","build:android-multitouch-helper":"sh ./scripts/build-android-multitouch-helper.sh $(node -p \"require('./package.json').version\") .tmp/android-multitouch-helper","package:android-snapshot-helper":"sh ./scripts/package-android-snapshot-helper.sh $(node -p \"require('./package.json').version\") v$(node -p \"require('./package.json').version\") .tmp/android-snapshot-helper","test:integration:progress:check":"node scripts/integration-progress.mjs --check","package:android-multitouch-helper":"sh ./scripts/package-android-multitouch-helper.sh $(node -p \"require('./package.json').version\") .tmp/android-multitouch-helper","package:android-snapshot-helper:npm":"rm -rf android-snapshot-helper/dist && sh ./scripts/package-android-snapshot-helper.sh $(node -p \"require('./package.json').version\") v$(node -p \"require('./package.json').version\") android-snapshot-helper/dist","package:android-multitouch-helper:npm":"rm -rf android-multitouch-helper/dist && sh ./scripts/package-android-multitouch-helper.sh $(node -p \"require('./package.json').version\") android-multitouch-helper/dist"},"_npmUser":{"name":"thymikee","email":"thymikee@gmail.com"},"repository":{"url":"git+https://github.com/callstackincubator/agent-device.git","type":"git"},"_npmVersion":"11.13.0","description":"Agent-native CLI for AI mobile testing and app automation across iOS, Android, tvOS, Android TV, macOS, and Linux.","directories":{},"_nodeVersion":"26.1.0","dependencies":{"yaml":"^2.9.0","pngjs":"^7.0.0","fast-xml-parser":"^5.7.2"},"_hasShrinkwrap":false,"packageManager":"pnpm@11.1.2","devDependencies":{"vite":"^8.0.10","oxfmt":"^0.42.0","fallow":"^2.52.0","oxlint":"^1.57.0","vitest":"^4.1.2","skillgym":"^0.8.0","typescript":"^6.0.2","@rslib/core":"0.20.1","@types/node":"^22.0.0","@types/pngjs":"^6.0.5","@vitest/coverage-v8":"4.1.2","@microsoft/api-extractor":"^7.58.7"},"_npmOperationalInternal":{"tmp":"tmp/agent-device_0.16.0_1779959251634_0.7467304032966708","host":"s3://npm-registry-packages-npm-production"}},"0.16.1":{"name":"agent-device","version":"0.16.1","keywords":["agent","device","cli","automation","adb","simctl","devicectl","ios","android","tvos","macos","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"],"author":{"name":"Callstack"},"license":"MIT","_id":"agent-device@0.16.1","maintainers":[{"name":"thymikee","email":"thymikee@gmail.com"}],"homepage":"https://agent-device.dev/","bugs":{"url":"https://github.com/callstackincubator/agent-device/issues"},"bin":{"agent-device":"bin/agent-device.mjs"},"dist":{"shasum":"e5b391a0624fb09b5bc8d80d5ea3e615523b462c","tarball":"https://registry.npmjs.org/agent-device/-/agent-device-0.16.1.tgz","fileCount":121,"integrity":"sha512-wmWLFNK+1pL5NCcALECxJLY6fmjJJoTo08v+YSJFWHdHzgcS3XB3LUZZYFlOTRsWlj2fiOqPt1JeWrWST3I7Wg==","signatures":[{"sig":"MEUCIQCY6hKS61bCUFXcWAwq6FsD9kzamrZOijhheAcHr5CZrwIgUoxxNptKmSVG3cYb9t8WHSVTc/aJkzUjuoffmRaiPUs=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1721463},"main":"dist/src/index.js","pnpm":{"overrides":{"lodash-es":"4.18.1"}},"type":"module","types":"dist/src/index.d.ts","engines":{"node":">=22.19"},"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"},"./finders":{"types":"./dist/src/finders.d.ts","import":"./dist/src/finders.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"},"./android-snapshot-helper":{"types":"./dist/src/android-snapshot-helper.d.ts","import":"./dist/src/android-snapshot-helper.js"}},"gitHead":"af206140c8a8c13b7de347163089e1f5ac8e91b5","mcpName":"io.github.callstackincubator/agent-device","scripts":{"ad":"node bin/agent-device.mjs","lint":"oxlint . --deny-warnings","test":"vitest run --project unit","build":"rslib build","check":"pnpm check:tooling && pnpm check:fallow && pnpm check:unit","fallow":"fallow --summary","format":"oxfmt --write src test skills package.json tsconfig.json tsconfig.lib.json rslib.config.ts vitest.config.ts .github/actions/setup-node-pnpm/action.yml .oxlintrc.json .oxfmtrc.json '!test/skillgym/.skillgym-results/**'","prepack":"pnpm check:mcp-metadata && pnpm build:all && pnpm package:android-snapshot-helper:npm && pnpm package:android-multitouch-helper:npm","build:all":"pnpm build:node && pnpm build:xcuitest","test:unit":"vitest run --project unit","typecheck":"tsc -p tsconfig.json","build:node":"pnpm build && pnpm clean:daemon","check:unit":"pnpm test:unit && pnpm test:smoke","test:smoke":"node --test test/integration/smoke-*.test.ts","check:quick":"pnpm lint && pnpm typecheck","check:fallow":"fallow audit","clean:daemon":"rm -f ~/.agent-device/daemon.json && rm -f ~/.agent-device/daemon.lock","test-app:ios":"pnpm --dir examples/test-app ios","check:tooling":"pnpm lint && pnpm typecheck && pnpm check:mcp-metadata && pnpm build","test:coverage":"vitest run --coverage","test:skillgym":"node test/skillgym/runner-environment.ts && pnpm build && skillgym run ./test/skillgym/suites/agent-device-smoke-suite.ts --config ./test/skillgym/skillgym.config.ts","build:xcuitest":"pnpm build:xcuitest:ios && pnpm build:xcuitest:macos","clean:xcuitest":"node scripts/clean-xcuitest-derived.mjs","test-app:start":"pnpm --dir examples/test-app start","fallow:baseline":"(fallow dead-code --save-baseline fallow-baselines/dead-code.json --summary || true) && (fallow health --save-baseline fallow-baselines/health.json --summary || true)","test:replay:ios":"node --experimental-strip-types src/bin.ts test test/integration/replays/ios/simulator","test-app:android":"pnpm --dir examples/test-app android","test-app:install":"pnpm install --dir examples/test-app --ignore-workspace","test-app:maestro":"node scripts/run-test-app-maestro-suite.mjs","test:integration":"pnpm test:integration:node && pnpm test:integration:provider","sync:mcp-metadata":"node scripts/sync-mcp-metadata.mjs","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","build:macos-helper":"swift build -c release --package-path macos-helper","build:xcuitest:ios":"AGENT_DEVICE_XCUITEST_PLATFORM=ios sh ./scripts/build-xcuitest-apple.sh","check:mcp-metadata":"node scripts/sync-mcp-metadata.mjs --check","clean:xcuitest:ios":"node scripts/clean-xcuitest-derived.mjs ios","test-app:typecheck":"pnpm --dir examples/test-app typecheck","test:skillgym:case":"node test/skillgym/runner-environment.ts && pnpm build && skillgym run ./test/skillgym/suites/agent-device-smoke-suite.ts --config ./test/skillgym/skillgym.config.ts --case","build:xcuitest:tvos":"AGENT_DEVICE_XCUITEST_PLATFORM=tvos sh ./scripts/build-xcuitest-apple.sh","clean:xcuitest:tvos":"node scripts/clean-xcuitest-derived.mjs tvos","test-app:replay:ios":"pnpm ad test examples/test-app/replays --platform ios --artifacts-dir .tmp/test-app-replay/ios","test:replay:android":"node --experimental-strip-types src/bin.ts test test/integration/replays/android","build:xcuitest:macos":"AGENT_DEVICE_XCUITEST_PLATFORM=macos sh ./scripts/build-xcuitest-apple.sh","clean:xcuitest:macos":"node scripts/clean-xcuitest-derived.mjs macos","test-app:maestro:ios":"node scripts/run-test-app-maestro-suite.mjs --platform ios","test:integration:node":"node --test test/integration/*.test.ts","test:replay:ios-device":"node --experimental-strip-types src/bin.ts test test/integration/replays/ios/device","test-app:replay:android":"pnpm ad test examples/test-app/replays --platform android --artifacts-dir .tmp/test-app-replay/android","build:xcuitest:ios:clean":"pnpm clean:xcuitest:ios && pnpm build:xcuitest:ios","test-app:maestro:android":"node scripts/run-test-app-maestro-suite.mjs --platform android","build:xcuitest:tvos:clean":"pnpm clean:xcuitest:tvos && pnpm build:xcuitest:tvos","test:integration:progress":"node scripts/integration-progress.mjs","test:integration:provider":"vitest run --project provider-integration","build:android-snapshot-helper":"sh ./scripts/build-android-snapshot-helper.sh $(node -p \"require('./package.json').version\") .tmp/android-snapshot-helper","build:android-multitouch-helper":"sh ./scripts/build-android-multitouch-helper.sh $(node -p \"require('./package.json').version\") .tmp/android-multitouch-helper","package:android-snapshot-helper":"sh ./scripts/package-android-snapshot-helper.sh $(node -p \"require('./package.json').version\") v$(node -p \"require('./package.json').version\") .tmp/android-snapshot-helper","test:integration:progress:check":"node scripts/integration-progress.mjs --check","package:android-multitouch-helper":"sh ./scripts/package-android-multitouch-helper.sh $(node -p \"require('./package.json').version\") .tmp/android-multitouch-helper","package:android-snapshot-helper:npm":"rm -rf android-snapshot-helper/dist && sh ./scripts/package-android-snapshot-helper.sh $(node -p \"require('./package.json').version\") v$(node -p \"require('./package.json').version\") android-snapshot-helper/dist","package:android-multitouch-helper:npm":"rm -rf android-multitouch-helper/dist && sh ./scripts/package-android-multitouch-helper.sh $(node -p \"require('./package.json').version\") android-multitouch-helper/dist"},"_npmUser":{"name":"thymikee","email":"thymikee@gmail.com"},"repository":{"url":"git+https://github.com/callstackincubator/agent-device.git","type":"git"},"_npmVersion":"11.13.0","description":"Agent-native CLI for AI mobile testing and app automation across iOS, Android, tvOS, Android TV, macOS, and Linux.","directories":{},"_nodeVersion":"26.1.0","dependencies":{"yaml":"^2.9.0","pngjs":"^7.0.0","fast-xml-parser":"^5.7.2"},"_hasShrinkwrap":false,"packageManager":"pnpm@11.1.2","devDependencies":{"vite":"^8.0.10","oxfmt":"^0.42.0","fallow":"^2.52.0","oxlint":"^1.57.0","vitest":"^4.1.2","skillgym":"^0.8.0","typescript":"^6.0.2","@rslib/core":"0.20.1","@types/node":"^22.0.0","@types/pngjs":"^6.0.5","@vitest/coverage-v8":"4.1.2","@microsoft/api-extractor":"^7.58.7"},"_npmOperationalInternal":{"tmp":"tmp/agent-device_0.16.1_1779975833825_0.5698233725968018","host":"s3://npm-registry-packages-npm-production"}},"0.16.2":{"name":"agent-device","version":"0.16.2","keywords":["agent","device","cli","automation","adb","simctl","devicectl","ios","android","tvos","macos","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"],"author":{"name":"Callstack"},"license":"MIT","_id":"agent-device@0.16.2","maintainers":[{"name":"thymikee","email":"thymikee@gmail.com"}],"homepage":"https://agent-device.dev/","bugs":{"url":"https://github.com/callstackincubator/agent-device/issues"},"bin":{"agent-device":"bin/agent-device.mjs"},"dist":{"shasum":"79751a40985b7cecefacb4c69952c50dbc9e9fee","tarball":"https://registry.npmjs.org/agent-device/-/agent-device-0.16.2.tgz","fileCount":121,"integrity":"sha512-NO86azWHzqLMei5CPksa8B9dJKdJ44xf4mO4GYoR6UXwBDXKhv+EtfOAzzeNSE5GYNg/ED3SqxLxs9xh79fyNg==","signatures":[{"sig":"MEYCIQC8IVbrdxMJXGU46VOOezOhURlalv4RxFsJWAPUhm/2AwIhAPKEVa5HGEBVjRxeOb4yZHc2H4ZAkyfFpAI4P0OSNdMx","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1736345},"main":"dist/src/index.js","pnpm":{"overrides":{"lodash-es":"4.18.1"}},"type":"module","types":"dist/src/index.d.ts","engines":{"node":">=22.19"},"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"},"./finders":{"types":"./dist/src/finders.d.ts","import":"./dist/src/finders.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"},"./android-snapshot-helper":{"types":"./dist/src/android-snapshot-helper.d.ts","import":"./dist/src/android-snapshot-helper.js"}},"gitHead":"34713df18b6c48c6760a91623257b5c3f1ac48bd","mcpName":"io.github.callstackincubator/agent-device","scripts":{"ad":"node bin/agent-device.mjs","lint":"oxlint . --deny-warnings","test":"vitest run --project unit","build":"rslib build","check":"pnpm check:tooling && pnpm check:fallow && pnpm check:unit","fallow":"fallow --summary","format":"oxfmt --write src test skills package.json tsconfig.json tsconfig.lib.json rslib.config.ts vitest.config.ts .github/actions/setup-node-pnpm/action.yml .oxlintrc.json .oxfmtrc.json '!test/skillgym/.skillgym-results/**'","prepack":"pnpm check:mcp-metadata && pnpm build:all && pnpm package:android-snapshot-helper:npm && pnpm package:android-multitouch-helper:npm","build:all":"pnpm build:node && pnpm build:xcuitest","test:unit":"vitest run --project unit","typecheck":"tsc -p tsconfig.json","build:node":"pnpm build && pnpm clean:daemon","check:unit":"pnpm test:unit && pnpm test:smoke","test:smoke":"node --test test/integration/smoke-*.test.ts","check:quick":"pnpm lint && pnpm typecheck","check:fallow":"fallow audit","clean:daemon":"rm -f ~/.agent-device/daemon.json && rm -f ~/.agent-device/daemon.lock","test-app:ios":"pnpm --dir examples/test-app ios","check:tooling":"pnpm lint && pnpm typecheck && pnpm check:mcp-metadata && pnpm build","test:coverage":"vitest run --coverage","test:skillgym":"node test/skillgym/runner-environment.ts && pnpm build && skillgym run ./test/skillgym/suites/agent-device-smoke-suite.ts --config ./test/skillgym/skillgym.config.ts","build:xcuitest":"pnpm build:xcuitest:ios && pnpm build:xcuitest:macos","clean:xcuitest":"node scripts/clean-xcuitest-derived.mjs","test-app:start":"pnpm --dir examples/test-app start","fallow:baseline":"(fallow dead-code --save-baseline fallow-baselines/dead-code.json --summary || true) && (fallow health --save-baseline fallow-baselines/health.json --summary || true)","test:replay:ios":"node --experimental-strip-types src/bin.ts test test/integration/replays/ios/simulator","test-app:android":"pnpm --dir examples/test-app android","test-app:install":"pnpm install --dir examples/test-app --ignore-workspace","test-app:maestro":"node scripts/run-test-app-maestro-suite.mjs","test:integration":"pnpm test:integration:node && pnpm test:integration:provider","sync:mcp-metadata":"node scripts/sync-mcp-metadata.mjs","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","build:macos-helper":"swift build -c release --package-path macos-helper","build:xcuitest:ios":"AGENT_DEVICE_XCUITEST_PLATFORM=ios sh ./scripts/build-xcuitest-apple.sh","check:mcp-metadata":"node scripts/sync-mcp-metadata.mjs --check","clean:xcuitest:ios":"node scripts/clean-xcuitest-derived.mjs ios","test-app:typecheck":"pnpm --dir examples/test-app typecheck","test:skillgym:case":"node test/skillgym/runner-environment.ts && pnpm build && skillgym run ./test/skillgym/suites/agent-device-smoke-suite.ts --config ./test/skillgym/skillgym.config.ts --case","build:xcuitest:tvos":"AGENT_DEVICE_XCUITEST_PLATFORM=tvos sh ./scripts/build-xcuitest-apple.sh","clean:xcuitest:tvos":"node scripts/clean-xcuitest-derived.mjs tvos","test-app:replay:ios":"pnpm ad test examples/test-app/replays --platform ios --artifacts-dir .tmp/test-app-replay/ios","test:replay:android":"node --experimental-strip-types src/bin.ts test test/integration/replays/android","build:xcuitest:macos":"AGENT_DEVICE_XCUITEST_PLATFORM=macos sh ./scripts/build-xcuitest-apple.sh","clean:xcuitest:macos":"node scripts/clean-xcuitest-derived.mjs macos","test-app:maestro:ios":"node scripts/run-test-app-maestro-suite.mjs --platform ios","test:integration:node":"node --test test/integration/*.test.ts","test:replay:ios-device":"node --experimental-strip-types src/bin.ts test test/integration/replays/ios/device","test-app:replay:android":"pnpm ad test examples/test-app/replays --platform android --artifacts-dir .tmp/test-app-replay/android","build:xcuitest:ios:clean":"pnpm clean:xcuitest:ios && pnpm build:xcuitest:ios","test-app:maestro:android":"node scripts/run-test-app-maestro-suite.mjs --platform android","build:xcuitest:tvos:clean":"pnpm clean:xcuitest:tvos && pnpm build:xcuitest:tvos","test:integration:progress":"node scripts/integration-progress.mjs","test:integration:provider":"vitest run --project provider-integration","build:android-snapshot-helper":"sh ./scripts/build-android-snapshot-helper.sh $(node -p \"require('./package.json').version\") .tmp/android-snapshot-helper","build:android-multitouch-helper":"sh ./scripts/build-android-multitouch-helper.sh $(node -p \"require('./package.json').version\") .tmp/android-multitouch-helper","package:android-snapshot-helper":"sh ./scripts/package-android-snapshot-helper.sh $(node -p \"require('./package.json').version\") v$(node -p \"require('./package.json').version\") .tmp/android-snapshot-helper","test:integration:progress:check":"node scripts/integration-progress.mjs --check","package:android-multitouch-helper":"sh ./scripts/package-android-multitouch-helper.sh $(node -p \"require('./package.json').version\") .tmp/android-multitouch-helper","package:android-snapshot-helper:npm":"rm -rf android-snapshot-helper/dist && sh ./scripts/package-android-snapshot-helper.sh $(node -p \"require('./package.json').version\") v$(node -p \"require('./package.json').version\") android-snapshot-helper/dist","package:android-multitouch-helper:npm":"rm -rf android-multitouch-helper/dist && sh ./scripts/package-android-multitouch-helper.sh $(node -p \"require('./package.json').version\") android-multitouch-helper/dist"},"_npmUser":{"name":"thymikee","email":"thymikee@gmail.com"},"repository":{"url":"git+https://github.com/callstackincubator/agent-device.git","type":"git"},"_npmVersion":"11.13.0","description":"Agent-native CLI for AI mobile testing and app automation across iOS, Android, tvOS, Android TV, macOS, and Linux.","directories":{},"_nodeVersion":"26.1.0","dependencies":{"yaml":"^2.9.0"},"_hasShrinkwrap":false,"packageManager":"pnpm@11.1.2","devDependencies":{"vite":"^8.0.10","oxfmt":"^0.42.0","fallow":"^2.52.0","oxlint":"^1.57.0","vitest":"^4.1.2","skillgym":"^0.8.0","typescript":"^6.0.2","@rslib/core":"0.20.1","@types/node":"^22.0.0","@vitest/coverage-v8":"4.1.2","@microsoft/api-extractor":"^7.58.7"},"_npmOperationalInternal":{"tmp":"tmp/agent-device_0.16.2_1779988964289_0.9549684124100042","host":"s3://npm-registry-packages-npm-production"}},"0.16.4":{"name":"agent-device","version":"0.16.4","keywords":["agent","device","cli","automation","adb","simctl","devicectl","ios","android","tvos","macos","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"],"author":{"name":"Callstack"},"license":"MIT","_id":"agent-device@0.16.4","maintainers":[{"name":"thymikee","email":"thymikee@gmail.com"}],"homepage":"https://agent-device.dev/","bugs":{"url":"https://github.com/callstackincubator/agent-device/issues"},"bin":{"agent-device":"bin/agent-device.mjs"},"dist":{"shasum":"58ff591ad1dd16295a892a6963b7a8b09ac41fbe","tarball":"https://registry.npmjs.org/agent-device/-/agent-device-0.16.4.tgz","fileCount":119,"integrity":"sha512-w31/802eICuEFOsO/nKcqzn95d7l4Oczt/jCwNP4vEUpAkK3H15dYsA0+EIqTqFvSra47pM0foEV5zgpSnjjuA==","signatures":[{"sig":"MEUCIQCoodBDWvCf53uWsBr4aAJa0/noHIhUmanT7pPOestIkwIgZb89NQcwUquIgDCDS79DkwqGryw7D4KtRBo7/rnkwYo=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1488491},"main":"dist/src/index.js","pnpm":{"overrides":{"lodash-es":"4.18.1"}},"type":"module","types":"dist/src/index.d.ts","engines":{"node":">=22.19"},"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"},"./finders":{"types":"./dist/src/finders.d.ts","import":"./dist/src/finders.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"},"./android-snapshot-helper":{"types":"./dist/src/android-snapshot-helper.d.ts","import":"./dist/src/android-snapshot-helper.js"}},"gitHead":"c78ccea5a4c8a7a133e99f01952dbec0397b591d","mcpName":"io.github.callstackincubator/agent-device","scripts":{"ad":"node bin/agent-device.mjs","lint":"oxlint . --deny-warnings","test":"vitest run --project unit","build":"rslib build","check":"pnpm check:tooling && pnpm check:fallow && pnpm check:unit","fallow":"fallow --summary","format":"oxfmt --write src test skills package.json tsconfig.json tsconfig.lib.json rslib.config.ts vitest.config.ts .github/actions/setup-node-pnpm/action.yml .oxlintrc.json .oxfmtrc.json '!test/skillgym/.skillgym-results/**'","prepack":"pnpm check:mcp-metadata && pnpm build:all && pnpm package:android-snapshot-helper:npm && pnpm package:android-multitouch-helper:npm","build:all":"pnpm build:node && pnpm build:xcuitest","test:unit":"vitest run --project unit","typecheck":"tsc -p tsconfig.json","build:node":"pnpm build && pnpm clean:daemon","check:unit":"pnpm test:unit && pnpm test:smoke","test:smoke":"node --test test/integration/smoke-*.test.ts","check:quick":"pnpm lint && pnpm typecheck","check:fallow":"fallow audit","clean:daemon":"rm -f ~/.agent-device/daemon.json && rm -f ~/.agent-device/daemon.lock","test-app:ios":"pnpm --dir examples/test-app ios","check:tooling":"pnpm lint && pnpm typecheck && pnpm check:mcp-metadata && pnpm build","test:coverage":"vitest run --coverage","test:skillgym":"node test/skillgym/runner-environment.ts && pnpm build && skillgym run ./test/skillgym/suites/agent-device-smoke-suite.ts --config ./test/skillgym/skillgym.config.ts","build:xcuitest":"pnpm build:xcuitest:ios && pnpm build:xcuitest:macos","clean:xcuitest":"node scripts/clean-xcuitest-derived.mjs","test-app:start":"pnpm --dir examples/test-app start","fallow:baseline":"(fallow dead-code --save-baseline fallow-baselines/dead-code.json --summary || true) && (fallow health --save-baseline fallow-baselines/health.json --summary || true)","test:replay:ios":"node --experimental-strip-types src/bin.ts test test/integration/replays/ios/simulator","test-app:android":"pnpm --dir examples/test-app android","test-app:install":"pnpm install --dir examples/test-app --ignore-workspace","test-app:maestro":"node scripts/run-test-app-maestro-suite.mjs","test:integration":"pnpm test:integration:node && pnpm test:integration:provider","sync:mcp-metadata":"node scripts/sync-mcp-metadata.mjs","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","build:macos-helper":"swift build -c release --package-path macos-helper","build:xcuitest:ios":"AGENT_DEVICE_XCUITEST_PLATFORM=ios sh ./scripts/build-xcuitest-apple.sh","check:mcp-metadata":"node scripts/sync-mcp-metadata.mjs --check","clean:xcuitest:ios":"node scripts/clean-xcuitest-derived.mjs ios","test-app:typecheck":"pnpm --dir examples/test-app typecheck","test:skillgym:case":"node test/skillgym/runner-environment.ts && pnpm build && skillgym run ./test/skillgym/suites/agent-device-smoke-suite.ts --config ./test/skillgym/skillgym.config.ts --case","build:xcuitest:tvos":"AGENT_DEVICE_XCUITEST_PLATFORM=tvos sh ./scripts/build-xcuitest-apple.sh","clean:xcuitest:tvos":"node scripts/clean-xcuitest-derived.mjs tvos","test-app:replay:ios":"pnpm ad test examples/test-app/replays --platform ios --artifacts-dir .tmp/test-app-replay/ios","test:replay:android":"node --experimental-strip-types src/bin.ts test test/integration/replays/android","build:xcuitest:macos":"AGENT_DEVICE_XCUITEST_PLATFORM=macos sh ./scripts/build-xcuitest-apple.sh","clean:xcuitest:macos":"node scripts/clean-xcuitest-derived.mjs macos","test-app:maestro:ios":"node scripts/run-test-app-maestro-suite.mjs --platform ios","test:integration:node":"node --test test/integration/*.test.ts","test:replay:ios-device":"node --experimental-strip-types src/bin.ts test test/integration/replays/ios/device","test-app:replay:android":"pnpm ad test examples/test-app/replays --platform android --artifacts-dir .tmp/test-app-replay/android","build:xcuitest:ios:clean":"pnpm clean:xcuitest:ios && pnpm build:xcuitest:ios","test-app:maestro:android":"node scripts/run-test-app-maestro-suite.mjs --platform android","build:xcuitest:tvos:clean":"pnpm clean:xcuitest:tvos && pnpm build:xcuitest:tvos","test:integration:progress":"node scripts/integration-progress.mjs","test:integration:provider":"vitest run --project provider-integration","build:android-snapshot-helper":"sh ./scripts/build-android-snapshot-helper.sh $(node -p \"require('./package.json').version\") .tmp/android-snapshot-helper","build:android-multitouch-helper":"sh ./scripts/build-android-multitouch-helper.sh $(node -p \"require('./package.json').version\") .tmp/android-multitouch-helper","package:android-snapshot-helper":"sh ./scripts/package-android-snapshot-helper.sh $(node -p \"require('./package.json').version\") v$(node -p \"require('./package.json').version\") .tmp/android-snapshot-helper","test:integration:progress:check":"node scripts/integration-progress.mjs --check","package:android-multitouch-helper":"sh ./scripts/package-android-multitouch-helper.sh $(node -p \"require('./package.json').version\") .tmp/android-multitouch-helper","package:android-snapshot-helper:npm":"rm -rf android-snapshot-helper/dist && sh ./scripts/package-android-snapshot-helper.sh $(node -p \"require('./package.json').version\") v$(node -p \"require('./package.json').version\") android-snapshot-helper/dist","package:android-multitouch-helper:npm":"rm -rf android-multitouch-helper/dist && sh ./scripts/package-android-multitouch-helper.sh $(node -p \"require('./package.json').version\") android-multitouch-helper/dist"},"_npmUser":{"name":"thymikee","email":"thymikee@gmail.com"},"repository":{"url":"git+https://github.com/callstackincubator/agent-device.git","type":"git"},"_npmVersion":"11.13.0","description":"Agent-native CLI for AI mobile testing and app automation across iOS, Android, tvOS, Android TV, macOS, and Linux.","directories":{},"_nodeVersion":"26.1.0","dependencies":{"yaml":"^2.9.0"},"_hasShrinkwrap":false,"packageManager":"pnpm@11.1.2","devDependencies":{"vite":"^8.0.10","oxfmt":"^0.42.0","fallow":"^2.52.0","oxlint":"^1.57.0","vitest":"^4.1.2","skillgym":"^0.8.0","typescript":"^6.0.2","@rslib/core":"0.20.1","@types/node":"^22.0.0","@vitest/coverage-v8":"4.1.2","@microsoft/api-extractor":"^7.58.7"},"_npmOperationalInternal":{"tmp":"tmp/agent-device_0.16.4_1780085468814_0.9179517108201092","host":"s3://npm-registry-packages-npm-production"}},"0.16.5":{"name":"agent-device","version":"0.16.5","keywords":["agent","device","cli","automation","adb","simctl","devicectl","ios","android","tvos","macos","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"],"author":{"name":"Callstack"},"license":"MIT","_id":"agent-device@0.16.5","maintainers":[{"name":"thymikee","email":"thymikee@gmail.com"}],"homepage":"https://agent-device.dev/","bugs":{"url":"https://github.com/callstackincubator/agent-device/issues"},"bin":{"agent-device":"bin/agent-device.mjs"},"dist":{"shasum":"8f66402668a7d57bf28b7384b2dc3aa3d8b574dc","tarball":"https://registry.npmjs.org/agent-device/-/agent-device-0.16.5.tgz","fileCount":119,"integrity":"sha512-QB2f8/+rTy11hLM4V9Kml15N5z8IcaFdBgpGMP40dhWQcNEu0PPNdKZkGi6z9pIDEBg+pNNnxhXjZHIU7rMI4Q==","signatures":[{"sig":"MEUCIA2htIUEjilGpihE3zlNksz8bnfq43dqNSlaTX4OoNH7AiEA8UUw4TfBL1Pfk42p5CiNuM8bCrCKoan4KD8VGO7Y3e8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1489767},"main":"dist/src/index.js","pnpm":{"overrides":{"lodash-es":"4.18.1"}},"type":"module","types":"dist/src/index.d.ts","engines":{"node":">=22.19"},"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"},"./finders":{"types":"./dist/src/finders.d.ts","import":"./dist/src/finders.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"},"./android-snapshot-helper":{"types":"./dist/src/android-snapshot-helper.d.ts","import":"./dist/src/android-snapshot-helper.js"}},"gitHead":"f74f4e0f3cb0ef8aec7edb7a13ee4c731568d5af","mcpName":"io.github.callstackincubator/agent-device","scripts":{"ad":"node bin/agent-device.mjs","lint":"oxlint . --deny-warnings","test":"vitest run --project unit","build":"rslib build","check":"pnpm check:tooling && pnpm check:fallow && pnpm check:unit","fallow":"fallow --summary","format":"oxfmt --write src test skills package.json tsconfig.json tsconfig.lib.json rslib.config.ts vitest.config.ts .github/actions/setup-node-pnpm/action.yml .oxlintrc.json .oxfmtrc.json '!test/skillgym/.skillgym-results/**'","prepack":"pnpm check:mcp-metadata && pnpm build:all && pnpm package:android-snapshot-helper:npm && pnpm package:android-multitouch-helper:npm","build:all":"pnpm build:node && pnpm build:xcuitest","test:unit":"vitest run --project unit","typecheck":"tsc -p tsconfig.json","build:node":"pnpm build && pnpm clean:daemon","check:unit":"pnpm test:unit && pnpm test:smoke","test:smoke":"node --test test/integration/smoke-*.test.ts","check:quick":"pnpm lint && pnpm typecheck","check:fallow":"fallow audit","clean:daemon":"rm -f ~/.agent-device/daemon.json && rm -f ~/.agent-device/daemon.lock","test-app:ios":"pnpm --dir examples/test-app ios","check:tooling":"pnpm lint && pnpm typecheck && pnpm check:mcp-metadata && pnpm build","test:coverage":"vitest run --coverage","test:skillgym":"node test/skillgym/runner-environment.ts && pnpm build && skillgym run ./test/skillgym/suites/agent-device-smoke-suite.ts --config ./test/skillgym/skillgym.config.ts","build:xcuitest":"pnpm build:xcuitest:ios && pnpm build:xcuitest:macos","clean:xcuitest":"node scripts/clean-xcuitest-derived.mjs","test-app:start":"pnpm --dir examples/test-app start","fallow:baseline":"(fallow dead-code --save-baseline fallow-baselines/dead-code.json --summary || true) && (fallow health --save-baseline fallow-baselines/health.json --summary || true)","test:replay:ios":"node --experimental-strip-types src/bin.ts test test/integration/replays/ios/simulator","test-app:android":"pnpm --dir examples/test-app android","test-app:install":"pnpm install --dir examples/test-app --ignore-workspace","test-app:maestro":"node scripts/run-test-app-maestro-suite.mjs","test:integration":"pnpm test:integration:node && pnpm test:integration:provider","sync:mcp-metadata":"node scripts/sync-mcp-metadata.mjs","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","build:macos-helper":"swift build -c release --package-path macos-helper","build:xcuitest:ios":"AGENT_DEVICE_XCUITEST_PLATFORM=ios sh ./scripts/build-xcuitest-apple.sh","check:mcp-metadata":"node scripts/sync-mcp-metadata.mjs --check","clean:xcuitest:ios":"node scripts/clean-xcuitest-derived.mjs ios","test-app:typecheck":"pnpm --dir examples/test-app typecheck","test:skillgym:case":"node test/skillgym/runner-environment.ts && pnpm build && skillgym run ./test/skillgym/suites/agent-device-smoke-suite.ts --config ./test/skillgym/skillgym.config.ts --case","build:xcuitest:tvos":"AGENT_DEVICE_XCUITEST_PLATFORM=tvos sh ./scripts/build-xcuitest-apple.sh","clean:xcuitest:tvos":"node scripts/clean-xcuitest-derived.mjs tvos","test-app:replay:ios":"pnpm ad test examples/test-app/replays --platform ios --artifacts-dir .tmp/test-app-replay/ios","test:replay:android":"node --experimental-strip-types src/bin.ts test test/integration/replays/android","build:xcuitest:macos":"AGENT_DEVICE_XCUITEST_PLATFORM=macos sh ./scripts/build-xcuitest-apple.sh","clean:xcuitest:macos":"node scripts/clean-xcuitest-derived.mjs macos","test-app:maestro:ios":"node scripts/run-test-app-maestro-suite.mjs --platform ios","test:integration:node":"node --test test/integration/*.test.ts","test:replay:ios-device":"node --experimental-strip-types src/bin.ts test test/integration/replays/ios/device","test-app:replay:android":"pnpm ad test examples/test-app/replays --platform android --artifacts-dir .tmp/test-app-replay/android","build:xcuitest:ios:clean":"pnpm clean:xcuitest:ios && pnpm build:xcuitest:ios","test-app:maestro:android":"node scripts/run-test-app-maestro-suite.mjs --platform android","build:xcuitest:tvos:clean":"pnpm clean:xcuitest:tvos && pnpm build:xcuitest:tvos","test:integration:progress":"node scripts/integration-progress.mjs","test:integration:provider":"vitest run --project provider-integration","build:android-snapshot-helper":"sh ./scripts/build-android-snapshot-helper.sh $(node -p \"require('./package.json').version\") .tmp/android-snapshot-helper","build:android-multitouch-helper":"sh ./scripts/build-android-multitouch-helper.sh $(node -p \"require('./package.json').version\") .tmp/android-multitouch-helper","package:android-snapshot-helper":"sh ./scripts/package-android-snapshot-helper.sh $(node -p \"require('./package.json').version\") v$(node -p \"require('./package.json').version\") .tmp/android-snapshot-helper","test:integration:progress:check":"node scripts/integration-progress.mjs --check","package:android-multitouch-helper":"sh ./scripts/package-android-multitouch-helper.sh $(node -p \"require('./package.json').version\") .tmp/android-multitouch-helper","package:android-snapshot-helper:npm":"rm -rf android-snapshot-helper/dist && sh ./scripts/package-android-snapshot-helper.sh $(node -p \"require('./package.json').version\") v$(node -p \"require('./package.json').version\") android-snapshot-helper/dist","package:android-multitouch-helper:npm":"rm -rf android-multitouch-helper/dist && sh ./scripts/package-android-multitouch-helper.sh $(node -p \"require('./package.json').version\") android-multitouch-helper/dist"},"_npmUser":{"name":"thymikee","email":"thymikee@gmail.com"},"repository":{"url":"git+https://github.com/callstackincubator/agent-device.git","type":"git"},"_npmVersion":"11.13.0","description":"Agent-native CLI for AI mobile testing and app automation across iOS, Android, tvOS, Android TV, macOS, and Linux.","directories":{},"_nodeVersion":"26.1.0","dependencies":{"yaml":"^2.9.0"},"_hasShrinkwrap":false,"packageManager":"pnpm@11.1.2","devDependencies":{"vite":"^8.0.10","oxfmt":"^0.42.0","fallow":"^2.52.0","oxlint":"^1.57.0","vitest":"^4.1.2","skillgym":"^0.8.0","typescript":"^6.0.2","@rslib/core":"0.20.1","@types/node":"^22.0.0","@vitest/coverage-v8":"4.1.2","@microsoft/api-extractor":"^7.58.7"},"_npmOperationalInternal":{"tmp":"tmp/agent-device_0.16.5_1780136688799_0.57460933188733","host":"s3://npm-registry-packages-npm-production"}},"0.16.6":{"name":"agent-device","version":"0.16.6","keywords":["agent","device","cli","automation","adb","simctl","devicectl","ios","android","tvos","macos","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"],"author":{"name":"Callstack"},"license":"MIT","_id":"agent-device@0.16.6","maintainers":[{"name":"thymikee","email":"thymikee@gmail.com"}],"homepage":"https://agent-device.dev/","bugs":{"url":"https://github.com/callstackincubator/agent-device/issues"},"bin":{"agent-device":"bin/agent-device.mjs"},"dist":{"shasum":"b4d4a92fc4b35929b9c4cfc840ad80443fb3b3ec","tarball":"https://registry.npmjs.org/agent-device/-/agent-device-0.16.6.tgz","fileCount":157,"integrity":"sha512-ObQU7HCS+wUD1K8qdGSSvbOAlV++g9BbPm2V9zuLKUZNY+rld0CZIT8geG7gyb/cVND1pvZs09i4p6tsoDlLpw==","signatures":[{"sig":"MEUCIGvXd2sagr9vqA0DJ0yi0LQHKI0aMNVahByiyxrrgLtJAiEAq3aOBaJ2H0K4VSvFqQXNWFvwvF/CxA6F9FyQSALO2K0=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1537294},"main":"dist/src/index.js","pnpm":{"overrides":{"lodash-es":"4.18.1"}},"type":"module","types":"dist/src/index.d.ts","engines":{"node":">=22.19"},"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"},"./finders":{"types":"./dist/src/finders.d.ts","import":"./dist/src/finders.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"},"./android-snapshot-helper":{"types":"./dist/src/android-snapshot-helper.d.ts","import":"./dist/src/android-snapshot-helper.js"}},"gitHead":"d24683fc3326f7513c8779cd87dde85787cc010a","mcpName":"io.github.callstackincubator/agent-device","scripts":{"ad":"node bin/agent-device.mjs","lint":"oxlint . --deny-warnings","size":"node scripts/size-report.mjs","test":"vitest run --project unit","build":"rslib build","check":"pnpm check:tooling && pnpm check:fallow && pnpm check:unit","fallow":"fallow --summary","format":"oxfmt --write src test skills package.json tsconfig.json tsconfig.lib.json rslib.config.ts vitest.config.ts .github/actions/setup-node-pnpm/action.yml .oxlintrc.json .oxfmtrc.json '!test/skillgym/.skillgym-results/**'","prepack":"pnpm check:mcp-metadata && pnpm build:all && pnpm package:android-snapshot-helper:npm && pnpm package:android-multitouch-helper:npm","version":"node scripts/sync-mcp-metadata.mjs && git add server.json","build:all":"pnpm build:node && pnpm build:xcuitest","test:unit":"vitest run --project unit","typecheck":"tsc -p tsconfig.json","build:node":"pnpm build && pnpm clean:daemon","check:unit":"pnpm test:unit && pnpm test:smoke","test:smoke":"node --test test/integration/smoke-*.test.ts","check:quick":"pnpm lint && pnpm typecheck","check:fallow":"fallow audit","clean:daemon":"rm -f ~/.agent-device/daemon.json && rm -f ~/.agent-device/daemon.lock","test-app:ios":"pnpm --dir examples/test-app ios","check:tooling":"pnpm lint && pnpm typecheck && pnpm check:mcp-metadata && pnpm build","size:markdown":"node scripts/size-report.mjs --json .tmp/size-report.json --markdown .tmp/size-report.md","test:coverage":"vitest run --coverage","test:skillgym":"node test/skillgym/runner-environment.ts && pnpm build && skillgym run ./test/skillgym/suites/agent-device-smoke-suite.ts --config ./test/skillgym/skillgym.config.ts","build:xcuitest":"pnpm build:xcuitest:ios && pnpm build:xcuitest:macos","clean:xcuitest":"node scripts/clean-xcuitest-derived.mjs","test-app:start":"pnpm --dir examples/test-app start","fallow:baseline":"(fallow dead-code --save-baseline fallow-baselines/dead-code.json --summary || true) && (fallow health --save-baseline fallow-baselines/health.json --summary || true)","test:replay:ios":"node --experimental-strip-types src/bin.ts test test/integration/replays/ios/simulator","test-app:android":"pnpm --dir examples/test-app android","test-app:install":"pnpm install --dir examples/test-app --ignore-workspace","test-app:maestro":"node scripts/run-test-app-maestro-suite.mjs","test:integration":"pnpm test:integration:node && pnpm test:integration:provider","sync:mcp-metadata":"node scripts/sync-mcp-metadata.mjs","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","build:macos-helper":"swift build -c release --package-path macos-helper","build:xcuitest:ios":"AGENT_DEVICE_XCUITEST_PLATFORM=ios sh ./scripts/build-xcuitest-apple.sh","check:mcp-metadata":"node scripts/sync-mcp-metadata.mjs --check","clean:xcuitest:ios":"node scripts/clean-xcuitest-derived.mjs ios","test-app:typecheck":"pnpm --dir examples/test-app typecheck","test:skillgym:case":"node test/skillgym/runner-environment.ts && pnpm build && skillgym run ./test/skillgym/suites/agent-device-smoke-suite.ts --config ./test/skillgym/skillgym.config.ts --case","build:xcuitest:tvos":"AGENT_DEVICE_XCUITEST_PLATFORM=tvos sh ./scripts/build-xcuitest-apple.sh","clean:xcuitest:tvos":"node scripts/clean-xcuitest-derived.mjs tvos","test-app:replay:ios":"pnpm ad test examples/test-app/replays --platform ios --artifacts-dir .tmp/test-app-replay/ios","test:replay:android":"node --experimental-strip-types src/bin.ts test test/integration/replays/android","build:xcuitest:macos":"AGENT_DEVICE_XCUITEST_PLATFORM=macos sh ./scripts/build-xcuitest-apple.sh","clean:xcuitest:macos":"node scripts/clean-xcuitest-derived.mjs macos","test-app:maestro:ios":"node scripts/run-test-app-maestro-suite.mjs --platform ios","test:integration:node":"node --test test/integration/*.test.ts","test:replay:ios-device":"node --experimental-strip-types src/bin.ts test test/integration/replays/ios/device","test-app:replay:android":"pnpm ad test examples/test-app/replays --platform android --artifacts-dir .tmp/test-app-replay/android","build:xcuitest:ios:clean":"pnpm clean:xcuitest:ios && pnpm build:xcuitest:ios","test-app:maestro:android":"node scripts/run-test-app-maestro-suite.mjs --platform android","build:xcuitest:tvos:clean":"pnpm clean:xcuitest:tvos && pnpm build:xcuitest:tvos","test:integration:progress":"node scripts/integration-progress.mjs","test:integration:provider":"vitest run --project provider-integration","build:android-snapshot-helper":"sh ./scripts/build-android-snapshot-helper.sh $(node -p \"require('./package.json').version\") .tmp/android-snapshot-helper","build:android-multitouch-helper":"sh ./scripts/build-android-multitouch-helper.sh $(node -p \"require('./package.json').version\") .tmp/android-multitouch-helper","package:android-snapshot-helper":"sh ./scripts/package-android-snapshot-helper.sh $(node -p \"require('./package.json').version\") v$(node -p \"require('./package.json').version\") .tmp/android-snapshot-helper","test:integration:progress:check":"node scripts/integration-progress.mjs --check","package:android-multitouch-helper":"sh ./scripts/package-android-multitouch-helper.sh $(node -p \"require('./package.json').version\") .tmp/android-multitouch-helper","package:android-snapshot-helper:npm":"rm -rf android-snapshot-helper/dist && sh ./scripts/package-android-snapshot-helper.sh $(node -p \"require('./package.json').version\") v$(node -p \"require('./package.json').version\") android-snapshot-helper/dist","package:android-multitouch-helper:npm":"rm -rf android-multitouch-helper/dist && sh ./scripts/package-android-multitouch-helper.sh $(node -p \"require('./package.json').version\") android-multitouch-helper/dist"},"_npmUser":{"name":"thymikee","email":"thymikee@gmail.com"},"repository":{"url":"git+https://github.com/callstackincubator/agent-device.git","type":"git"},"_npmVersion":"11.13.0","description":"Agent-native CLI for AI mobile testing and app automation across iOS, Android, tvOS, Android TV, macOS, and Linux.","directories":{},"_nodeVersion":"26.1.0","dependencies":{"yaml":"^2.9.0"},"_hasShrinkwrap":false,"packageManager":"pnpm@11.1.2","devDependencies":{"vite":"^8.0.10","oxfmt":"^0.42.0","fallow":"^2.52.0","oxlint":"^1.57.0","vitest":"^4.1.2","skillgym":"^0.8.0","typescript":"^6.0.2","@rslib/core":"0.20.1","@types/node":"^22.0.0","@vitest/coverage-v8":"4.1.2","@microsoft/api-extractor":"^7.58.7"},"_npmOperationalInternal":{"tmp":"tmp/agent-device_0.16.6_1780174755340_0.2780746532661904","host":"s3://npm-registry-packages-npm-production"}},"0.16.7":{"name":"agent-device","version":"0.16.7","keywords":["agent","device","cli","automation","adb","simctl","devicectl","ios","android","tvos","macos","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"],"author":{"name":"Callstack"},"license":"MIT","_id":"agent-device@0.16.7","maintainers":[{"name":"thymikee","email":"thymikee@gmail.com"}],"homepage":"https://agent-device.dev/","bugs":{"url":"https://github.com/callstackincubator/agent-device/issues"},"bin":{"agent-device":"bin/agent-device.mjs"},"dist":{"shasum":"b3a90f78a377fab89fcde8c5c8740a161961c29a","tarball":"https://registry.npmjs.org/agent-device/-/agent-device-0.16.7.tgz","fileCount":157,"integrity":"sha512-7fZP7iTiEY70cd8Sc5kKA2xcZ3KvHfxDacFK3krxt3TtZqvfNXEse/RSmVcMlHXTitKejXGomJnYABlEdlKIfQ==","signatures":[{"sig":"MEQCIAZ9JTDtNFPwfiTe8TFsrpyIpvBqVEweLXfJe58F7rWUAiAEAtnQ2bY/NDJ0AWQdxRXO3/TYi/FLhjz2kYNwkjD8cQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1537265},"main":"dist/src/index.js","pnpm":{"overrides":{"lodash-es":"4.18.1"}},"type":"module","types":"dist/src/index.d.ts","engines":{"node":">=22.19"},"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"},"./finders":{"types":"./dist/src/finders.d.ts","import":"./dist/src/finders.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"},"./android-snapshot-helper":{"types":"./dist/src/android-snapshot-helper.d.ts","import":"./dist/src/android-snapshot-helper.js"}},"gitHead":"efc0b213d48918f7605fc4f3f34422a430c57b04","mcpName":"io.github.callstackincubator/agent-device","scripts":{"ad":"node bin/agent-device.mjs","lint":"oxlint . --deny-warnings","size":"node scripts/size-report.mjs","test":"vitest run --project unit","build":"rslib build","check":"pnpm check:tooling && pnpm check:fallow && pnpm check:unit","fallow":"fallow --summary","format":"oxfmt --write src test skills package.json tsconfig.json tsconfig.lib.json rslib.config.ts vitest.config.ts .github/actions/setup-node-pnpm/action.yml .oxlintrc.json .oxfmtrc.json '!test/skillgym/.skillgym-results/**'","prepack":"pnpm check:mcp-metadata && pnpm build:all && pnpm package:android-snapshot-helper:npm && pnpm package:android-multitouch-helper:npm","version":"node scripts/sync-mcp-metadata.mjs && git add server.json","build:all":"pnpm build:node && pnpm build:xcuitest","test:unit":"vitest run --project unit","typecheck":"tsc -p tsconfig.json","build:node":"pnpm build && pnpm clean:daemon","check:unit":"pnpm test:unit && pnpm test:smoke","test:smoke":"node --test test/integration/smoke-*.test.ts","check:quick":"pnpm lint && pnpm typecheck","check:fallow":"fallow audit","clean:daemon":"rm -f ~/.agent-device/daemon.json && rm -f ~/.agent-device/daemon.lock","test-app:ios":"pnpm --dir examples/test-app ios","check:tooling":"pnpm lint && pnpm typecheck && pnpm check:mcp-metadata && pnpm build","size:markdown":"node scripts/size-report.mjs --json .tmp/size-report.json --markdown .tmp/size-report.md","test:coverage":"vitest run --coverage","test:skillgym":"node test/skillgym/runner-environment.ts && pnpm build && skillgym run ./test/skillgym/suites/agent-device-smoke-suite.ts --config ./test/skillgym/skillgym.config.ts","build:xcuitest":"pnpm build:xcuitest:ios && pnpm build:xcuitest:macos","clean:xcuitest":"node scripts/clean-xcuitest-derived.mjs","test-app:start":"pnpm --dir examples/test-app start","fallow:baseline":"(fallow dead-code --save-baseline fallow-baselines/dead-code.json --summary || true) && (fallow health --save-baseline fallow-baselines/health.json --summary || true)","test:replay:ios":"node --experimental-strip-types src/bin.ts test test/integration/replays/ios/simulator","test-app:android":"pnpm --dir examples/test-app android","test-app:install":"pnpm install --dir examples/test-app --ignore-workspace","test-app:maestro":"node scripts/run-test-app-maestro-suite.mjs","test:integration":"pnpm test:integration:node && pnpm test:integration:provider","sync:mcp-metadata":"node scripts/sync-mcp-metadata.mjs","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","build:macos-helper":"swift build -c release --package-path macos-helper","build:xcuitest:ios":"AGENT_DEVICE_XCUITEST_PLATFORM=ios sh ./scripts/build-xcuitest-apple.sh","check:mcp-metadata":"node scripts/sync-mcp-metadata.mjs --check","clean:xcuitest:ios":"node scripts/clean-xcuitest-derived.mjs ios","test-app:typecheck":"pnpm --dir examples/test-app typecheck","test:skillgym:case":"node test/skillgym/runner-environment.ts && pnpm build && skillgym run ./test/skillgym/suites/agent-device-smoke-suite.ts --config ./test/skillgym/skillgym.config.ts --case","build:xcuitest:tvos":"AGENT_DEVICE_XCUITEST_PLATFORM=tvos sh ./scripts/build-xcuitest-apple.sh","clean:xcuitest:tvos":"node scripts/clean-xcuitest-derived.mjs tvos","test-app:replay:ios":"pnpm ad test examples/test-app/replays --platform ios --artifacts-dir .tmp/test-app-replay/ios","test:replay:android":"node --experimental-strip-types src/bin.ts test test/integration/replays/android","build:xcuitest:macos":"AGENT_DEVICE_XCUITEST_PLATFORM=macos sh ./scripts/build-xcuitest-apple.sh","clean:xcuitest:macos":"node scripts/clean-xcuitest-derived.mjs macos","test-app:maestro:ios":"node scripts/run-test-app-maestro-suite.mjs --platform ios","test:integration:node":"node --test test/integration/*.test.ts","test:replay:ios-device":"node --experimental-strip-types src/bin.ts test test/integration/replays/ios/device","test-app:replay:android":"pnpm ad test examples/test-app/replays --platform android --artifacts-dir .tmp/test-app-replay/android","build:xcuitest:ios:clean":"pnpm clean:xcuitest:ios && pnpm build:xcuitest:ios","test-app:maestro:android":"node scripts/run-test-app-maestro-suite.mjs --platform android","build:xcuitest:tvos:clean":"pnpm clean:xcuitest:tvos && pnpm build:xcuitest:tvos","test:integration:progress":"node scripts/integration-progress.mjs","test:integration:provider":"vitest run --project provider-integration","build:android-snapshot-helper":"sh ./scripts/build-android-snapshot-helper.sh $(node -p \"require('./package.json').version\") .tmp/android-snapshot-helper","build:android-multitouch-helper":"sh ./scripts/build-android-multitouch-helper.sh $(node -p \"require('./package.json').version\") .tmp/android-multitouch-helper","package:android-snapshot-helper":"sh ./scripts/package-android-snapshot-helper.sh $(node -p \"require('./package.json').version\") v$(node -p \"require('./package.json').version\") .tmp/android-snapshot-helper","test:integration:progress:check":"node scripts/integration-progress.mjs --check","package:android-multitouch-helper":"sh ./scripts/package-android-multitouch-helper.sh $(node -p \"require('./package.json').version\") .tmp/android-multitouch-helper","package:android-snapshot-helper:npm":"rm -rf android-snapshot-helper/dist && sh ./scripts/package-android-snapshot-helper.sh $(node -p \"require('./package.json').version\") v$(node -p \"require('./package.json').version\") android-snapshot-helper/dist","package:android-multitouch-helper:npm":"rm -rf android-multitouch-helper/dist && sh ./scripts/package-android-multitouch-helper.sh $(node -p \"require('./package.json').version\") android-multitouch-helper/dist"},"_npmUser":{"name":"thymikee","email":"thymikee@gmail.com"},"repository":{"url":"git+https://github.com/callstackincubator/agent-device.git","type":"git"},"_npmVersion":"11.13.0","description":"Agent-native CLI for AI mobile testing and app automation across iOS, Android, tvOS, Android TV, macOS, and Linux.","directories":{},"_nodeVersion":"26.1.0","dependencies":{"yaml":"^2.9.0"},"_hasShrinkwrap":false,"packageManager":"pnpm@11.1.2","devDependencies":{"vite":"^8.0.10","oxfmt":"^0.42.0","fallow":"^2.52.0","oxlint":"^1.57.0","vitest":"^4.1.2","skillgym":"^0.8.0","typescript":"^6.0.2","@rslib/core":"0.20.1","@types/node":"^22.0.0","@vitest/coverage-v8":"4.1.2","@microsoft/api-extractor":"^7.58.7"},"_npmOperationalInternal":{"tmp":"tmp/agent-device_0.16.7_1780223068589_0.5305610507525163","host":"s3://npm-registry-packages-npm-production"}},"0.16.8":{"name":"agent-device","version":"0.16.8","keywords":["agent","device","cli","automation","adb","simctl","devicectl","ios","android","tvos","macos","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"],"author":{"name":"Callstack"},"license":"MIT","_id":"agent-device@0.16.8","maintainers":[{"name":"thymikee","email":"thymikee@gmail.com"}],"homepage":"https://agent-device.dev/","bugs":{"url":"https://github.com/callstackincubator/agent-device/issues"},"bin":{"agent-device":"bin/agent-device.mjs"},"dist":{"shasum":"05c21bf5b75da9fabee6ff138f90906726fb1563","tarball":"https://registry.npmjs.org/agent-device/-/agent-device-0.16.8.tgz","fileCount":158,"integrity":"sha512-uPIrPbmeVAlzQDfEdCzT4cMbGyCmFBhhC3xCZEa8hDtNlS9ppUUnwvQYCXIfZgUvVn2IJJfMXhM1PrdevVEqfw==","signatures":[{"sig":"MEQCIC5nJhfNES9eR5FnIZmaFqK0K8n9lsABizuhbwEx4l5AAiAPVjsEmNCXNm55genSCjSDe6Vl8Q7g4mr7C7UgSERVvw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1564450},"main":"dist/src/index.js","type":"module","types":"dist/src/index.d.ts","engines":{"node":">=22.19"},"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"},"./finders":{"types":"./dist/src/finders.d.ts","import":"./dist/src/finders.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"},"./android-snapshot-helper":{"types":"./dist/src/android-snapshot-helper.d.ts","import":"./dist/src/android-snapshot-helper.js"}},"gitHead":"975d8c055c00cf243c309438b3f48694b04b3a80","mcpName":"io.github.callstackincubator/agent-device","scripts":{"ad":"node bin/agent-device.mjs","lint":"oxlint . --deny-warnings","perf":"node --experimental-strip-types scripts/perf/run.ts","size":"node scripts/size-report.mjs","test":"vitest run --project unit","build":"rslib build","check":"pnpm check:tooling && pnpm check:fallow && pnpm check:unit","fallow":"fallow --summary","format":"oxfmt --write src test skills package.json tsconfig.json tsconfig.lib.json rslib.config.ts vitest.config.ts .github/actions/setup-node-pnpm/action.yml .oxlintrc.json .oxfmtrc.json '!test/skillgym/.skillgym-results/**'","prepack":"pnpm check:mcp-metadata && pnpm build:all && pnpm package:android-snapshot-helper:npm && pnpm package:android-multitouch-helper:npm","version":"node scripts/sync-mcp-metadata.mjs && git add server.json","perf:ios":"node --experimental-strip-types scripts/perf/run.ts --platform ios","build:all":"pnpm build:node && pnpm build:xcuitest","test:unit":"vitest run --project unit","typecheck":"tsc -p tsconfig.json","build:node":"pnpm build && pnpm clean:daemon","check:unit":"pnpm test:unit && pnpm test:smoke","test:smoke":"node --test test/integration/smoke-*.test.ts","check:quick":"pnpm lint && pnpm typecheck","check:fallow":"fallow audit","clean:daemon":"rm -f ~/.agent-device/daemon.json && rm -f ~/.agent-device/daemon.lock","perf:android":"node --experimental-strip-types scripts/perf/run.ts --platform android","test-app:ios":"pnpm --dir examples/test-app ios","check:tooling":"pnpm lint && pnpm typecheck && pnpm check:mcp-metadata && pnpm build","size:markdown":"node scripts/size-report.mjs --json .tmp/size-report.json --markdown .tmp/size-report.md","test:coverage":"vitest run --coverage","test:skillgym":"node test/skillgym/runner-environment.ts && pnpm build && skillgym run ./test/skillgym/suites/agent-device-smoke-suite.ts --config ./test/skillgym/skillgym.config.ts","build:xcuitest":"pnpm build:xcuitest:ios && pnpm build:xcuitest:macos","clean:xcuitest":"node scripts/clean-xcuitest-derived.mjs","test-app:start":"pnpm --dir examples/test-app start","fallow:baseline":"(fallow dead-code --save-baseline fallow-baselines/dead-code.json --summary || true) && (fallow health --save-baseline fallow-baselines/health.json --summary || true)","test:replay:ios":"node --experimental-strip-types src/bin.ts test test/integration/replays/ios/simulator","test-app:android":"pnpm --dir examples/test-app android","test-app:install":"pnpm install --dir examples/test-app --ignore-workspace","test-app:maestro":"node scripts/run-test-app-maestro-suite.mjs","test:integration":"pnpm test:integration:node && pnpm test:integration:provider","sync:mcp-metadata":"node scripts/sync-mcp-metadata.mjs","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","build:macos-helper":"swift build -c release --package-path macos-helper","build:xcuitest:ios":"AGENT_DEVICE_XCUITEST_PLATFORM=ios sh ./scripts/build-xcuitest-apple.sh","check:mcp-metadata":"node scripts/sync-mcp-metadata.mjs --check","clean:xcuitest:ios":"node scripts/clean-xcuitest-derived.mjs ios","test-app:typecheck":"pnpm --dir examples/test-app typecheck","test:skillgym:case":"node test/skillgym/runner-environment.ts && pnpm build && skillgym run ./test/skillgym/suites/agent-device-smoke-suite.ts --config ./test/skillgym/skillgym.config.ts --case","build:xcuitest:tvos":"AGENT_DEVICE_XCUITEST_PLATFORM=tvos sh ./scripts/build-xcuitest-apple.sh","clean:xcuitest:tvos":"node scripts/clean-xcuitest-derived.mjs tvos","test-app:replay:ios":"pnpm ad test examples/test-app/replays --platform ios --artifacts-dir .tmp/test-app-replay/ios","test:replay:android":"node --experimental-strip-types src/bin.ts test test/integration/replays/android","build:xcuitest:macos":"AGENT_DEVICE_XCUITEST_PLATFORM=macos sh ./scripts/build-xcuitest-apple.sh","clean:xcuitest:macos":"node scripts/clean-xcuitest-derived.mjs macos","test-app:maestro:ios":"node scripts/run-test-app-maestro-suite.mjs --platform ios","test:integration:node":"node --test test/integration/*.test.ts","test:replay:ios-device":"node --experimental-strip-types src/bin.ts test test/integration/replays/ios/device","test-app:replay:android":"pnpm ad test examples/test-app/replays --platform android --artifacts-dir .tmp/test-app-replay/android","build:xcuitest:ios:clean":"pnpm clean:xcuitest:ios && pnpm build:xcuitest:ios","test-app:maestro:android":"node scripts/run-test-app-maestro-suite.mjs --platform android","build:xcuitest:tvos:clean":"pnpm clean:xcuitest:tvos && pnpm build:xcuitest:tvos","test:integration:progress":"node scripts/integration-progress.mjs","test:integration:provider":"vitest run --project provider-integration","build:android-snapshot-helper":"sh ./scripts/build-android-snapshot-helper.sh $(node -p \"require('./package.json').version\") .tmp/android-snapshot-helper","build:android-multitouch-helper":"sh ./scripts/build-android-multitouch-helper.sh $(node -p \"require('./package.json').version\") .tmp/android-multitouch-helper","package:android-snapshot-helper":"sh ./scripts/package-android-snapshot-helper.sh $(node -p \"require('./package.json').version\") v$(node -p \"require('./package.json').version\") .tmp/android-snapshot-helper","test:integration:progress:check":"node scripts/integration-progress.mjs --check","package:android-multitouch-helper":"sh ./scripts/package-android-multitouch-helper.sh $(node -p \"require('./package.json').version\") .tmp/android-multitouch-helper","package:android-snapshot-helper:npm":"rm -rf android-snapshot-helper/dist && sh ./scripts/package-android-snapshot-helper.sh $(node -p \"require('./package.json').version\") v$(node -p \"require('./package.json').version\") android-snapshot-helper/dist","package:android-multitouch-helper:npm":"rm -rf android-multitouch-helper/dist && sh ./scripts/package-android-multitouch-helper.sh $(node -p \"require('./package.json').version\") android-multitouch-helper/dist"},"_npmUser":{"name":"thymikee","email":"thymikee@gmail.com"},"repository":{"url":"git+https://github.com/callstackincubator/agent-device.git","type":"git"},"_npmVersion":"11.13.0","description":"Agent-native CLI for AI mobile testing and app automation across iOS, Android, tvOS, Android TV, macOS, and Linux.","directories":{},"_nodeVersion":"26.1.0","dependencies":{"yaml":"^2.9.0"},"_hasShrinkwrap":false,"packageManager":"pnpm@11.1.2","devDependencies":{"vite":"^8.0.10","oxfmt":"^0.42.0","fallow":"^2.52.0","oxlint":"^1.57.0","vitest":"^4.1.2","skillgym":"^0.8.0","typescript":"^6.0.2","@rslib/core":"0.20.1","@types/node":"^22.0.0","@vitest/coverage-v8":"4.1.2","@microsoft/api-extractor":"^7.58.7"},"_npmOperationalInternal":{"tmp":"tmp/agent-device_0.16.8_1780338990251_0.5115629013644469","host":"s3://npm-registry-packages-npm-production"}},"0.16.9":{"name":"agent-device","version":"0.16.9","keywords":["agent","device","cli","automation","adb","simctl","devicectl","ios","android","tvos","macos","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"],"author":{"name":"Callstack"},"license":"MIT","_id":"agent-device@0.16.9","maintainers":[{"name":"thymikee","email":"thymikee@gmail.com"}],"homepage":"https://agent-device.dev/","bugs":{"url":"https://github.com/callstackincubator/agent-device/issues"},"bin":{"agent-device":"bin/agent-device.mjs"},"dist":{"shasum":"b923adfc71ddf1879b8fc5ba1b97dad97d2f3f3f","tarball":"https://registry.npmjs.org/agent-device/-/agent-device-0.16.9.tgz","fileCount":159,"integrity":"sha512-5Qyso8P1F2OB8ur2DiRl9lmOlkSFUT32d3DXogKxAxvDi37GFf8gOsNCLKODqg6WMw6/fMNZbjFOu2rqusCtzg==","signatures":[{"sig":"MEUCIGAcncTZkZ2kr2tmPZEXzkupitJv+j8FSN58csstTj3PAiEAuoGxeCRNNXynnk4rHNzwMxXTYRSyDRbZl5GjSCs8r0A=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1565257},"main":"dist/src/index.js","type":"module","types":"dist/src/index.d.ts","engines":{"node":">=22.19"},"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"},"./finders":{"types":"./dist/src/finders.d.ts","import":"./dist/src/finders.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"},"./android-snapshot-helper":{"types":"./dist/src/android-snapshot-helper.d.ts","import":"./dist/src/android-snapshot-helper.js"}},"gitHead":"be5081d4d6f605c9fad1228705f1e4f4360f5451","mcpName":"io.github.callstackincubator/agent-device","scripts":{"ad":"node bin/agent-device.mjs","lint":"oxlint . --deny-warnings","perf":"node --experimental-strip-types scripts/perf/run.ts","size":"node scripts/size-report.mjs","test":"vitest run --project unit","build":"rslib build","check":"pnpm check:tooling && pnpm check:fallow && pnpm check:unit","fallow":"fallow --summary","format":"oxfmt --write src test skills package.json tsconfig.json tsconfig.lib.json rslib.config.ts vitest.config.ts .github/actions/setup-node-pnpm/action.yml .oxlintrc.json .oxfmtrc.json '!test/skillgym/.skillgym-results/**'","prepack":"pnpm check:mcp-metadata && pnpm build:all && pnpm package:android-snapshot-helper:npm && pnpm package:android-multitouch-helper:npm","version":"node scripts/sync-mcp-metadata.mjs && git add server.json","perf:ios":"node --experimental-strip-types scripts/perf/run.ts --platform ios","build:all":"pnpm build:node && pnpm build:xcuitest","test:unit":"vitest run --project unit","typecheck":"tsc -p tsconfig.json","build:node":"pnpm build && pnpm clean:daemon","check:unit":"pnpm test:unit && pnpm test:smoke","test:smoke":"node --test test/integration/smoke-*.test.ts","check:quick":"pnpm lint && pnpm typecheck","check:fallow":"fallow audit","clean:daemon":"rm -f ~/.agent-device/daemon.json && rm -f ~/.agent-device/daemon.lock","perf:android":"node --experimental-strip-types scripts/perf/run.ts --platform android","test-app:ios":"pnpm --dir examples/test-app ios","check:tooling":"pnpm lint && pnpm typecheck && pnpm check:mcp-metadata && pnpm build","size:markdown":"node scripts/size-report.mjs --json .tmp/size-report.json --markdown .tmp/size-report.md","test:coverage":"vitest run --coverage","test:skillgym":"node test/skillgym/runner-environment.ts && pnpm build && skillgym run ./test/skillgym/suites/agent-device-smoke-suite.ts --config ./test/skillgym/skillgym.config.ts","build:xcuitest":"pnpm build:xcuitest:ios && pnpm build:xcuitest:macos","clean:xcuitest":"node scripts/clean-xcuitest-derived.mjs","test-app:start":"pnpm --dir examples/test-app start","fallow:baseline":"(fallow dead-code --save-baseline fallow-baselines/dead-code.json --summary || true) && (fallow health --save-baseline fallow-baselines/health.json --summary || true)","test:replay:ios":"node --experimental-strip-types src/bin.ts test test/integration/replays/ios/simulator","test-app:android":"pnpm --dir examples/test-app android","test-app:install":"pnpm install --dir examples/test-app --ignore-workspace","test-app:maestro":"node scripts/run-test-app-maestro-suite.mjs","test:integration":"pnpm test:integration:node && pnpm test:integration:provider","sync:mcp-metadata":"node scripts/sync-mcp-metadata.mjs","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","build:macos-helper":"swift build -c release --package-path macos-helper","build:xcuitest:ios":"AGENT_DEVICE_XCUITEST_PLATFORM=ios sh ./scripts/build-xcuitest-apple.sh","check:mcp-metadata":"node scripts/sync-mcp-metadata.mjs --check","clean:xcuitest:ios":"node scripts/clean-xcuitest-derived.mjs ios","test-app:typecheck":"pnpm --dir examples/test-app typecheck","test:skillgym:case":"node test/skillgym/runner-environment.ts && pnpm build && skillgym run ./test/skillgym/suites/agent-device-smoke-suite.ts --config ./test/skillgym/skillgym.config.ts --case","build:xcuitest:tvos":"AGENT_DEVICE_XCUITEST_PLATFORM=tvos sh ./scripts/build-xcuitest-apple.sh","clean:xcuitest:tvos":"node scripts/clean-xcuitest-derived.mjs tvos","test-app:replay:ios":"pnpm ad test examples/test-app/replays --platform ios --artifacts-dir .tmp/test-app-replay/ios","test:replay:android":"node --experimental-strip-types src/bin.ts test test/integration/replays/android","build:xcuitest:macos":"AGENT_DEVICE_XCUITEST_PLATFORM=macos sh ./scripts/build-xcuitest-apple.sh","clean:xcuitest:macos":"node scripts/clean-xcuitest-derived.mjs macos","test-app:maestro:ios":"node scripts/run-test-app-maestro-suite.mjs --platform ios","test:integration:node":"node --test test/integration/*.test.ts","test:replay:ios-device":"node --experimental-strip-types src/bin.ts test test/integration/replays/ios/device","test-app:replay:android":"pnpm ad test examples/test-app/replays --platform android --artifacts-dir .tmp/test-app-replay/android","build:xcuitest:ios:clean":"pnpm clean:xcuitest:ios && pnpm build:xcuitest:ios","test-app:maestro:android":"node scripts/run-test-app-maestro-suite.mjs --platform android","build:xcuitest:tvos:clean":"pnpm clean:xcuitest:tvos && pnpm build:xcuitest:tvos","test:integration:progress":"node scripts/integration-progress.mjs","test:integration:provider":"vitest run --project provider-integration","build:android-snapshot-helper":"sh ./scripts/build-android-snapshot-helper.sh $(node -p \"require('./package.json').version\") .tmp/android-snapshot-helper","build:android-multitouch-helper":"sh ./scripts/build-android-multitouch-helper.sh $(node -p \"require('./package.json').version\") .tmp/android-multitouch-helper","package:android-snapshot-helper":"sh ./scripts/package-android-snapshot-helper.sh $(node -p \"require('./package.json').version\") v$(node -p \"require('./package.json').version\") .tmp/android-snapshot-helper","test:integration:progress:check":"node scripts/integration-progress.mjs --check","package:android-multitouch-helper":"sh ./scripts/package-android-multitouch-helper.sh $(node -p \"require('./package.json').version\") .tmp/android-multitouch-helper","package:android-snapshot-helper:npm":"rm -rf android-snapshot-helper/dist && sh ./scripts/package-android-snapshot-helper.sh $(node -p \"require('./package.json').version\") v$(node -p \"require('./package.json').version\") android-snapshot-helper/dist","package:android-multitouch-helper:npm":"rm -rf android-multitouch-helper/dist && sh ./scripts/package-android-multitouch-helper.sh $(node -p \"require('./package.json').version\") android-multitouch-helper/dist"},"_npmUser":{"name":"thymikee","email":"thymikee@gmail.com"},"repository":{"url":"git+https://github.com/callstackincubator/agent-device.git","type":"git"},"_npmVersion":"11.13.0","description":"Agent-native CLI for AI mobile testing and app automation across iOS, Android, tvOS, Android TV, macOS, and Linux.","directories":{},"_nodeVersion":"26.1.0","dependencies":{"yaml":"^2.9.0"},"_hasShrinkwrap":false,"packageManager":"pnpm@11.1.2","devDependencies":{"vite":"^8.0.10","oxfmt":"^0.42.0","fallow":"^2.52.0","oxlint":"^1.57.0","vitest":"^4.1.2","skillgym":"^0.8.0","typescript":"^6.0.2","@rslib/core":"0.20.1","@types/node":"^22.0.0","@vitest/coverage-v8":"4.1.2","@microsoft/api-extractor":"^7.58.7"},"_npmOperationalInternal":{"tmp":"tmp/agent-device_0.16.9_1780351968828_0.3271878998745894","host":"s3://npm-registry-packages-npm-production"}},"0.16.10":{"name":"agent-device","version":"0.16.10","keywords":["agent","device","cli","automation","adb","simctl","devicectl","ios","android","tvos","macos","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"],"author":{"name":"Callstack"},"license":"MIT","_id":"agent-device@0.16.10","maintainers":[{"name":"thymikee","email":"thymikee@gmail.com"}],"homepage":"https://agent-device.dev/","bugs":{"url":"https://github.com/callstackincubator/agent-device/issues"},"bin":{"agent-device":"bin/agent-device.mjs"},"dist":{"shasum":"8fa28068a53d63f913d9a03d94b464a658ec6fc2","tarball":"https://registry.npmjs.org/agent-device/-/agent-device-0.16.10.tgz","fileCount":161,"integrity":"sha512-tfqCA8HoJ/mi5pqn+HfuVS/chCAOL4A0JUshBDilrOv2DiQgoFn11C09xF8+MM5obOtGoXtvYzF+DH4Nfyrs5A==","signatures":[{"sig":"MEYCIQDB1nfE0dP+8RKkV3i+7ZJ2t1jMEvKDXer35WNrtySHUQIhAJoSoWpLGyvyf0+um2MhwiTIVqhZ8he57lNADsKXpOd+","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1582899},"main":"dist/src/index.js","type":"module","types":"dist/src/index.d.ts","engines":{"node":">=22.19"},"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"},"./finders":{"types":"./dist/src/finders.d.ts","import":"./dist/src/finders.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"},"./android-snapshot-helper":{"types":"./dist/src/android-snapshot-helper.d.ts","import":"./dist/src/android-snapshot-helper.js"}},"gitHead":"6247a3d4a5fe03502e9cf30d23209d677a2855f7","mcpName":"io.github.callstackincubator/agent-device","scripts":{"ad":"node bin/agent-device.mjs","lint":"oxlint . --deny-warnings","perf":"node --experimental-strip-types scripts/perf/run.ts","size":"node scripts/size-report.mjs","test":"vitest run --project unit","build":"rslib build","check":"pnpm check:tooling && pnpm check:fallow && pnpm check:unit","fallow":"fallow --summary","format":"oxfmt --write src test skills package.json tsconfig.json tsconfig.lib.json rslib.config.ts vitest.config.ts .github/actions/setup-node-pnpm/action.yml .oxlintrc.json .oxfmtrc.json '!test/skillgym/.skillgym-results/**'","prepack":"pnpm check:mcp-metadata && pnpm build:all && pnpm package:android-snapshot-helper:npm && pnpm package:android-multitouch-helper:npm","version":"node scripts/sync-mcp-metadata.mjs && git add server.json","perf:ios":"node --experimental-strip-types scripts/perf/run.ts --platform ios","build:all":"pnpm build:node && pnpm build:xcuitest","test:unit":"vitest run --project unit","typecheck":"tsc -p tsconfig.json","build:node":"pnpm build && pnpm clean:daemon","check:unit":"pnpm test:unit && pnpm test:smoke","test:smoke":"node --test test/integration/smoke-*.test.ts","check:quick":"pnpm lint && pnpm typecheck","check:fallow":"fallow audit","clean:daemon":"rm -f ~/.agent-device/daemon.json && rm -f ~/.agent-device/daemon.lock","perf:android":"node --experimental-strip-types scripts/perf/run.ts --platform android","test-app:ios":"pnpm --dir examples/test-app ios","check:tooling":"pnpm lint && pnpm typecheck && pnpm check:mcp-metadata && pnpm build","size:markdown":"node scripts/size-report.mjs --json .tmp/size-report.json --markdown .tmp/size-report.md","test:coverage":"vitest run --coverage","test:skillgym":"node test/skillgym/runner-environment.ts && pnpm build && skillgym run ./test/skillgym/suites/agent-device-smoke-suite.ts --config ./test/skillgym/skillgym.config.ts","build:xcuitest":"pnpm build:xcuitest:ios && pnpm build:xcuitest:macos","clean:xcuitest":"node scripts/clean-xcuitest-derived.mjs","test-app:start":"pnpm --dir examples/test-app start","fallow:baseline":"(fallow dead-code --save-baseline fallow-baselines/dead-code.json --summary || true) && (fallow health --save-baseline fallow-baselines/health.json --summary || true)","test:replay:ios":"node --experimental-strip-types src/bin.ts test test/integration/replays/ios/simulator","test-app:android":"pnpm --dir examples/test-app android","test-app:install":"pnpm install --dir examples/test-app --ignore-workspace","test-app:maestro":"node scripts/run-test-app-maestro-suite.mjs","test:integration":"pnpm test:integration:node && pnpm test:integration:provider","sync:mcp-metadata":"node scripts/sync-mcp-metadata.mjs","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","build:macos-helper":"swift build -c release --package-path macos-helper","build:xcuitest:ios":"AGENT_DEVICE_XCUITEST_PLATFORM=ios sh ./scripts/build-xcuitest-apple.sh","check:mcp-metadata":"node scripts/sync-mcp-metadata.mjs --check","clean:xcuitest:ios":"node scripts/clean-xcuitest-derived.mjs ios","test-app:typecheck":"pnpm --dir examples/test-app typecheck","test:skillgym:case":"node test/skillgym/runner-environment.ts && pnpm build && skillgym run ./test/skillgym/suites/agent-device-smoke-suite.ts --config ./test/skillgym/skillgym.config.ts --case","build:xcuitest:tvos":"AGENT_DEVICE_XCUITEST_PLATFORM=tvos sh ./scripts/build-xcuitest-apple.sh","clean:xcuitest:tvos":"node scripts/clean-xcuitest-derived.mjs tvos","test-app:replay:ios":"pnpm ad test examples/test-app/replays --platform ios --artifacts-dir .tmp/test-app-replay/ios","test:replay:android":"node --experimental-strip-types src/bin.ts test test/integration/replays/android","build:xcuitest:macos":"AGENT_DEVICE_XCUITEST_PLATFORM=macos sh ./scripts/build-xcuitest-apple.sh","clean:xcuitest:macos":"node scripts/clean-xcuitest-derived.mjs macos","test-app:maestro:ios":"node scripts/run-test-app-maestro-suite.mjs --platform ios","test:integration:node":"node --test test/integration/*.test.ts","test:replay:ios-device":"node --experimental-strip-types src/bin.ts test test/integration/replays/ios/device","test-app:replay:android":"pnpm ad test examples/test-app/replays --platform android --artifacts-dir .tmp/test-app-replay/android","build:xcuitest:ios:clean":"pnpm clean:xcuitest:ios && pnpm build:xcuitest:ios","test-app:maestro:android":"node scripts/run-test-app-maestro-suite.mjs --platform android","build:xcuitest:tvos:clean":"pnpm clean:xcuitest:tvos && pnpm build:xcuitest:tvos","test:integration:progress":"node scripts/integration-progress.mjs","test:integration:provider":"vitest run --project provider-integration","build:android-snapshot-helper":"sh ./scripts/build-android-snapshot-helper.sh $(node -p \"require('./package.json').version\") .tmp/android-snapshot-helper","build:android-multitouch-helper":"sh ./scripts/build-android-multitouch-helper.sh $(node -p \"require('./package.json').version\") .tmp/android-multitouch-helper","package:android-snapshot-helper":"sh ./scripts/package-android-snapshot-helper.sh $(node -p \"require('./package.json').version\") v$(node -p \"require('./package.json').version\") .tmp/android-snapshot-helper","test:integration:progress:check":"node scripts/integration-progress.mjs --check","package:android-multitouch-helper":"sh ./scripts/package-android-multitouch-helper.sh $(node -p \"require('./package.json').version\") .tmp/android-multitouch-helper","package:android-snapshot-helper:npm":"rm -rf android-snapshot-helper/dist && sh ./scripts/package-android-snapshot-helper.sh $(node -p \"require('./package.json').version\") v$(node -p \"require('./package.json').version\") android-snapshot-helper/dist","package:android-multitouch-helper:npm":"rm -rf android-multitouch-helper/dist && sh ./scripts/package-android-multitouch-helper.sh $(node -p \"require('./package.json').version\") android-multitouch-helper/dist"},"_npmUser":{"name":"thymikee","email":"thymikee@gmail.com"},"repository":{"url":"git+https://github.com/callstackincubator/agent-device.git","type":"git"},"_npmVersion":"11.13.0","description":"Agent-native CLI for AI mobile testing and app automation across iOS, Android, tvOS, Android TV, macOS, and Linux.","directories":{},"_nodeVersion":"26.1.0","dependencies":{"yaml":"^2.9.0"},"_hasShrinkwrap":false,"packageManager":"pnpm@11.1.2","devDependencies":{"vite":"^8.0.10","oxfmt":"^0.42.0","fallow":"^2.52.0","oxlint":"^1.57.0","vitest":"^4.1.2","skillgym":"^0.8.0","typescript":"^6.0.2","@rslib/core":"0.20.1","@types/node":"^22.0.0","@vitest/coverage-v8":"4.1.2","@microsoft/api-extractor":"^7.58.7"},"_npmOperationalInternal":{"tmp":"tmp/agent-device_0.16.10_1780407839962_0.23991453215990788","host":"s3://npm-registry-packages-npm-production"}},"0.16.11":{"name":"agent-device","version":"0.16.11","keywords":["agent","device","cli","automation","adb","simctl","devicectl","ios","android","tvos","macos","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"],"author":{"name":"Callstack"},"license":"MIT","_id":"agent-device@0.16.11","maintainers":[{"name":"thymikee","email":"thymikee@gmail.com"}],"homepage":"https://agent-device.dev/","bugs":{"url":"https://github.com/callstackincubator/agent-device/issues"},"bin":{"agent-device":"bin/agent-device.mjs"},"dist":{"shasum":"7bd9d51c7befee24921de413e595265a20dad9d6","tarball":"https://registry.npmjs.org/agent-device/-/agent-device-0.16.11.tgz","fileCount":161,"integrity":"sha512-V5SMXm0DcI3H+LrHEo+dGu9R3StxWS+Co1qIW3qR+N/I5tQjrhAzywpfRUZ6PqVyyq6rznNBk5xxt/SYJH5K4g==","signatures":[{"sig":"MEUCIQCC6YoURos5hVU+klMozf7mjE14+mRqg7FXMaZR4b7VRQIgTnR/xde/BvAtm6lMqsELl4s2tWhbc0+5i6qeiXK7F7E=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1607849},"main":"dist/src/index.js","type":"module","types":"dist/src/index.d.ts","engines":{"node":">=22.19"},"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"},"./finders":{"types":"./dist/src/finders.d.ts","import":"./dist/src/finders.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"},"./android-snapshot-helper":{"types":"./dist/src/android-snapshot-helper.d.ts","import":"./dist/src/android-snapshot-helper.js"}},"gitHead":"4eeec6093d2e0b54d77da3ce1fc13d597d1cdf76","mcpName":"io.github.callstackincubator/agent-device","scripts":{"ad":"node bin/agent-device.mjs","lint":"oxlint . --deny-warnings","perf":"node --experimental-strip-types scripts/perf/run.ts","size":"node scripts/size-report.mjs","test":"vitest run --project unit","build":"rslib build","check":"pnpm check:tooling && pnpm check:fallow && pnpm check:unit","fallow":"fallow --summary","format":"oxfmt --write src test skills package.json tsconfig.json tsconfig.lib.json rslib.config.ts vitest.config.ts .github/actions/setup-node-pnpm/action.yml .oxlintrc.json .oxfmtrc.json '!test/skillgym/.skillgym-results/**'","prepack":"pnpm check:mcp-metadata && pnpm build:all && pnpm package:android-snapshot-helper:npm && pnpm package:android-multitouch-helper:npm","version":"node scripts/sync-mcp-metadata.mjs && git add server.json","perf:ios":"node --experimental-strip-types scripts/perf/run.ts --platform ios","build:all":"pnpm build:node && pnpm build:xcuitest","test:unit":"vitest run --project unit","typecheck":"tsc -p tsconfig.json","build:node":"pnpm build && pnpm clean:daemon","check:unit":"pnpm test:unit && pnpm test:smoke","test:smoke":"node --test test/integration/smoke-*.test.ts","check:quick":"pnpm lint && pnpm typecheck","check:fallow":"fallow audit","clean:daemon":"rm -f ~/.agent-device/daemon.json && rm -f ~/.agent-device/daemon.lock","perf:android":"node --experimental-strip-types scripts/perf/run.ts --platform android","test-app:ios":"pnpm --dir examples/test-app ios","check:tooling":"pnpm lint && pnpm typecheck && pnpm check:mcp-metadata && pnpm build","size:markdown":"node scripts/size-report.mjs --json .tmp/size-report.json --markdown .tmp/size-report.md","test:coverage":"vitest run --coverage","test:skillgym":"node test/skillgym/runner-environment.ts && pnpm build && skillgym run ./test/skillgym/suites/agent-device-smoke-suite.ts --config ./test/skillgym/skillgym.config.ts","build:xcuitest":"pnpm build:xcuitest:ios && pnpm build:xcuitest:macos","clean:xcuitest":"node scripts/clean-xcuitest-derived.mjs","test-app:start":"pnpm --dir examples/test-app start","fallow:baseline":"(fallow dead-code --save-baseline fallow-baselines/dead-code.json --summary || true) && (fallow health --save-baseline fallow-baselines/health.json --summary || true)","test:replay:ios":"node --experimental-strip-types src/bin.ts test test/integration/replays/ios/simulator","test-app:android":"pnpm --dir examples/test-app android","test-app:install":"pnpm install --dir examples/test-app --ignore-workspace","test-app:maestro":"node scripts/run-test-app-maestro-suite.mjs","test:integration":"pnpm test:integration:node && pnpm test:integration:provider","sync:mcp-metadata":"node scripts/sync-mcp-metadata.mjs","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","build:macos-helper":"swift build -c release --package-path macos-helper","build:xcuitest:ios":"AGENT_DEVICE_XCUITEST_PLATFORM=ios sh ./scripts/build-xcuitest-apple.sh","check:mcp-metadata":"node scripts/sync-mcp-metadata.mjs --check","clean:xcuitest:ios":"node scripts/clean-xcuitest-derived.mjs ios","test-app:typecheck":"pnpm --dir examples/test-app typecheck","test:skillgym:case":"node test/skillgym/runner-environment.ts && pnpm build && skillgym run ./test/skillgym/suites/agent-device-smoke-suite.ts --config ./test/skillgym/skillgym.config.ts --case","build:xcuitest:tvos":"AGENT_DEVICE_XCUITEST_PLATFORM=tvos sh ./scripts/build-xcuitest-apple.sh","clean:xcuitest:tvos":"node scripts/clean-xcuitest-derived.mjs tvos","test-app:replay:ios":"pnpm ad test examples/test-app/replays --platform ios --artifacts-dir .tmp/test-app-replay/ios","test:replay:android":"node --experimental-strip-types src/bin.ts test test/integration/replays/android","build:xcuitest:macos":"AGENT_DEVICE_XCUITEST_PLATFORM=macos sh ./scripts/build-xcuitest-apple.sh","clean:xcuitest:macos":"node scripts/clean-xcuitest-derived.mjs macos","test-app:maestro:ios":"node scripts/run-test-app-maestro-suite.mjs --platform ios","test:integration:node":"node --test test/integration/*.test.ts","test:replay:ios-device":"node --experimental-strip-types src/bin.ts test test/integration/replays/ios/device","test-app:replay:android":"pnpm ad test examples/test-app/replays --platform android --artifacts-dir .tmp/test-app-replay/android","build:xcuitest:ios:clean":"pnpm clean:xcuitest:ios && pnpm build:xcuitest:ios","test-app:maestro:android":"node scripts/run-test-app-maestro-suite.mjs --platform android","build:xcuitest:tvos:clean":"pnpm clean:xcuitest:tvos && pnpm build:xcuitest:tvos","test:integration:progress":"node scripts/integration-progress.mjs","test:integration:provider":"vitest run --project provider-integration","build:android-snapshot-helper":"sh ./scripts/build-android-snapshot-helper.sh $(node -p \"require('./package.json').version\") .tmp/android-snapshot-helper","build:android-multitouch-helper":"sh ./scripts/build-android-multitouch-helper.sh $(node -p \"require('./package.json').version\") .tmp/android-multitouch-helper","package:android-snapshot-helper":"sh ./scripts/package-android-snapshot-helper.sh $(node -p \"require('./package.json').version\") v$(node -p \"require('./package.json').version\") .tmp/android-snapshot-helper","test:integration:progress:check":"node scripts/integration-progress.mjs --check","package:android-multitouch-helper":"sh ./scripts/package-android-multitouch-helper.sh $(node -p \"require('./package.json').version\") .tmp/android-multitouch-helper","package:android-snapshot-helper:npm":"rm -rf android-snapshot-helper/dist && sh ./scripts/package-android-snapshot-helper.sh $(node -p \"require('./package.json').version\") v$(node -p \"require('./package.json').version\") android-snapshot-helper/dist","package:android-multitouch-helper:npm":"rm -rf android-multitouch-helper/dist && sh ./scripts/package-android-multitouch-helper.sh $(node -p \"require('./package.json').version\") android-multitouch-helper/dist"},"_npmUser":{"name":"thymikee","email":"thymikee@gmail.com"},"repository":{"url":"git+https://github.com/callstackincubator/agent-device.git","type":"git"},"_npmVersion":"11.13.0","description":"Agent-native CLI for AI mobile testing and app automation across iOS, Android, tvOS, Android TV, macOS, and Linux.","directories":{},"_nodeVersion":"26.1.0","dependencies":{"yaml":"^2.9.0"},"_hasShrinkwrap":false,"packageManager":"pnpm@11.1.2","devDependencies":{"vite":"^8.0.10","oxfmt":"^0.42.0","fallow":"^2.52.0","oxlint":"^1.57.0","vitest":"^4.1.2","skillgym":"^0.8.0","typescript":"^6.0.2","@rslib/core":"0.20.1","@types/node":"^22.0.0","@vitest/coverage-v8":"4.1.2","@microsoft/api-extractor":"^7.58.7"},"_npmOperationalInternal":{"tmp":"tmp/agent-device_0.16.11_1780489039821_0.519083664321679","host":"s3://npm-registry-packages-npm-production"}},"0.16.12":{"name":"agent-device","version":"0.16.12","keywords":["agent","device","cli","automation","adb","simctl","devicectl","ios","android","tvos","macos","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"],"author":{"name":"Callstack"},"license":"MIT","_id":"agent-device@0.16.12","maintainers":[{"name":"thymikee","email":"thymikee@gmail.com"}],"homepage":"https://agent-device.dev/","bugs":{"url":"https://github.com/callstackincubator/agent-device/issues"},"bin":{"agent-device":"bin/agent-device.mjs"},"dist":{"shasum":"03eb1107e3a4315877c4ca84cb2eba69e0800e24","tarball":"https://registry.npmjs.org/agent-device/-/agent-device-0.16.12.tgz","fileCount":161,"integrity":"sha512-VWLmKZf4B7Z/guJDHuPogzmvIiUruPoyIxuyjb6xTG65dPptG3MFQX1YSuzDzJpgqZYsPW4zcNQFKaiTHP9f0A==","signatures":[{"sig":"MEQCIA86G3r9Jf2kB9296OkLfmyZuqYiWkZLSSOE4/YG6lWhAiADHMuST1kc9KqJbVj2rxUc1embCD5xs4JTougdIGrcew==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1607780},"main":"dist/src/index.js","type":"module","types":"dist/src/index.d.ts","engines":{"node":">=22.19"},"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"},"./finders":{"types":"./dist/src/finders.d.ts","import":"./dist/src/finders.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"},"./android-snapshot-helper":{"types":"./dist/src/android-snapshot-helper.d.ts","import":"./dist/src/android-snapshot-helper.js"}},"gitHead":"1881f6f28bcf2eb7bea46606b8abe2cd3e73704a","mcpName":"io.github.callstackincubator/agent-device","scripts":{"ad":"node bin/agent-device.mjs","lint":"oxlint . --deny-warnings","perf":"node --experimental-strip-types scripts/perf/run.ts","size":"node scripts/size-report.mjs","test":"vitest run --project unit","build":"rslib build","check":"pnpm check:tooling && pnpm check:fallow && pnpm check:unit","fallow":"fallow --summary","format":"oxfmt --write src test skills package.json tsconfig.json tsconfig.lib.json rslib.config.ts vitest.config.ts .github/actions/setup-node-pnpm/action.yml .oxlintrc.json .oxfmtrc.json '!test/skillgym/.skillgym-results/**'","prepack":"pnpm check:mcp-metadata && pnpm build:all && pnpm package:android-snapshot-helper:npm && pnpm package:android-multitouch-helper:npm","version":"node scripts/sync-mcp-metadata.mjs && git add server.json","perf:ios":"node --experimental-strip-types scripts/perf/run.ts --platform ios","build:all":"pnpm build:node && pnpm build:xcuitest","test:unit":"vitest run --project unit","typecheck":"tsc -p tsconfig.json","build:node":"pnpm build && pnpm clean:daemon","check:unit":"pnpm test:unit && pnpm test:smoke","test:smoke":"node --test test/integration/smoke-*.test.ts","check:quick":"pnpm lint && pnpm typecheck","check:fallow":"fallow audit","clean:daemon":"rm -f ~/.agent-device/daemon.json && rm -f ~/.agent-device/daemon.lock","perf:android":"node --experimental-strip-types scripts/perf/run.ts --platform android","test-app:ios":"pnpm --dir examples/test-app ios","check:tooling":"pnpm lint && pnpm typecheck && pnpm check:mcp-metadata && pnpm build","size:markdown":"node scripts/size-report.mjs --json .tmp/size-report.json --markdown .tmp/size-report.md","test:coverage":"vitest run --coverage","test:skillgym":"node test/skillgym/runner-environment.ts && pnpm build && skillgym run ./test/skillgym/suites/agent-device-smoke-suite.ts --config ./test/skillgym/skillgym.config.ts","build:xcuitest":"pnpm build:xcuitest:ios && pnpm build:xcuitest:macos","clean:xcuitest":"node scripts/clean-xcuitest-derived.mjs","test-app:start":"pnpm --dir examples/test-app start","fallow:baseline":"(fallow dead-code --save-baseline fallow-baselines/dead-code.json --summary || true) && (fallow health --save-baseline fallow-baselines/health.json --summary || true)","test:replay:ios":"node --experimental-strip-types src/bin.ts test test/integration/replays/ios/simulator","test-app:android":"pnpm --dir examples/test-app android","test-app:install":"pnpm install --dir examples/test-app --ignore-workspace","test-app:maestro":"node scripts/run-test-app-maestro-suite.mjs","test:integration":"pnpm test:integration:node && pnpm test:integration:provider","sync:mcp-metadata":"node scripts/sync-mcp-metadata.mjs","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","build:macos-helper":"swift build -c release --package-path macos-helper","build:xcuitest:ios":"AGENT_DEVICE_XCUITEST_PLATFORM=ios sh ./scripts/build-xcuitest-apple.sh","check:mcp-metadata":"node scripts/sync-mcp-metadata.mjs --check","clean:xcuitest:ios":"node scripts/clean-xcuitest-derived.mjs ios","test-app:typecheck":"pnpm --dir examples/test-app typecheck","test:skillgym:case":"node test/skillgym/runner-environment.ts && pnpm build && skillgym run ./test/skillgym/suites/agent-device-smoke-suite.ts --config ./test/skillgym/skillgym.config.ts --case","build:xcuitest:tvos":"AGENT_DEVICE_XCUITEST_PLATFORM=tvos sh ./scripts/build-xcuitest-apple.sh","clean:xcuitest:tvos":"node scripts/clean-xcuitest-derived.mjs tvos","test-app:replay:ios":"pnpm ad test examples/test-app/replays --platform ios --artifacts-dir .tmp/test-app-replay/ios","test:replay:android":"node --experimental-strip-types src/bin.ts test test/integration/replays/android","build:xcuitest:macos":"AGENT_DEVICE_XCUITEST_PLATFORM=macos sh ./scripts/build-xcuitest-apple.sh","clean:xcuitest:macos":"node scripts/clean-xcuitest-derived.mjs macos","test-app:maestro:ios":"node scripts/run-test-app-maestro-suite.mjs --platform ios","test:integration:node":"node --test test/integration/*.test.ts","test:replay:ios-device":"node --experimental-strip-types src/bin.ts test test/integration/replays/ios/device","test-app:replay:android":"pnpm ad test examples/test-app/replays --platform android --artifacts-dir .tmp/test-app-replay/android","build:xcuitest:ios:clean":"pnpm clean:xcuitest:ios && pnpm build:xcuitest:ios","test-app:maestro:android":"node scripts/run-test-app-maestro-suite.mjs --platform android","build:xcuitest:tvos:clean":"pnpm clean:xcuitest:tvos && pnpm build:xcuitest:tvos","test:integration:progress":"node scripts/integration-progress.mjs","test:integration:provider":"vitest run --project provider-integration","build:android-snapshot-helper":"sh ./scripts/build-android-snapshot-helper.sh $(node -p \"require('./package.json').version\") .tmp/android-snapshot-helper","build:android-multitouch-helper":"sh ./scripts/build-android-multitouch-helper.sh $(node -p \"require('./package.json').version\") .tmp/android-multitouch-helper","package:android-snapshot-helper":"sh ./scripts/package-android-snapshot-helper.sh $(node -p \"require('./package.json').version\") v$(node -p \"require('./package.json').version\") .tmp/android-snapshot-helper","test:integration:progress:check":"node scripts/integration-progress.mjs --check","package:android-multitouch-helper":"sh ./scripts/package-android-multitouch-helper.sh $(node -p \"require('./package.json').version\") .tmp/android-multitouch-helper","package:android-snapshot-helper:npm":"rm -rf android-snapshot-helper/dist && sh ./scripts/package-android-snapshot-helper.sh $(node -p \"require('./package.json').version\") v$(node -p \"require('./package.json').version\") android-snapshot-helper/dist","package:android-multitouch-helper:npm":"rm -rf android-multitouch-helper/dist && sh ./scripts/package-android-multitouch-helper.sh $(node -p \"require('./package.json').version\") android-multitouch-helper/dist"},"_npmUser":{"name":"thymikee","email":"thymikee@gmail.com"},"repository":{"url":"git+https://github.com/callstackincubator/agent-device.git","type":"git"},"_npmVersion":"11.13.0","description":"Agent-native CLI for AI mobile testing and app automation across iOS, Android, tvOS, Android TV, macOS, and Linux.","directories":{},"_nodeVersion":"26.1.0","dependencies":{"yaml":"^2.9.0"},"_hasShrinkwrap":false,"packageManager":"pnpm@11.1.2","devDependencies":{"vite":"^8.0.10","oxfmt":"^0.42.0","fallow":"^2.52.0","oxlint":"^1.57.0","vitest":"^4.1.2","skillgym":"^0.8.0","typescript":"^6.0.2","@rslib/core":"0.20.1","@types/node":"^22.0.0","@vitest/coverage-v8":"4.1.2","@microsoft/api-extractor":"^7.58.7"},"_npmOperationalInternal":{"tmp":"tmp/agent-device_0.16.12_1780514475368_0.2786391987540826","host":"s3://npm-registry-packages-npm-production"}},"0.16.13":{"name":"agent-device","version":"0.16.13","keywords":["agent","device","cli","automation","adb","simctl","devicectl","ios","android","tvos","macos","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"],"author":{"name":"Callstack"},"license":"MIT","_id":"agent-device@0.16.13","maintainers":[{"name":"thymikee","email":"thymikee@gmail.com"}],"homepage":"https://agent-device.dev/","bugs":{"url":"https://github.com/callstackincubator/agent-device/issues"},"bin":{"agent-device":"bin/agent-device.mjs"},"dist":{"shasum":"ddbd46b6afff70472eb098e337e59e552d4ad7d3","tarball":"https://registry.npmjs.org/agent-device/-/agent-device-0.16.13.tgz","fileCount":161,"integrity":"sha512-JW4ZcY8pRcJoEaxwHNtq4fCqsZ5W5iI1ZRPk5vAOa9qR0k7A55FMzjXPYrigWV2imSLOyLcTqoaWeoLNy4ATog==","signatures":[{"sig":"MEUCIHXkLLvhFHBH/BYEA8ERfGEqcM+kCUR7yxiU/Hq/wnKRAiEAvVgdkIdZQ338SZI21BfTP9sa+QFbt01PjGjPhRURhSw=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1617652},"main":"dist/src/index.js","type":"module","types":"dist/src/index.d.ts","engines":{"node":">=22.19"},"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"},"./finders":{"types":"./dist/src/finders.d.ts","import":"./dist/src/finders.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"},"./android-snapshot-helper":{"types":"./dist/src/android-snapshot-helper.d.ts","import":"./dist/src/android-snapshot-helper.js"}},"gitHead":"6babdfb6c526d0d62a401e430cb92128ad3195ee","mcpName":"io.github.callstackincubator/agent-device","scripts":{"ad":"node bin/agent-device.mjs","lint":"oxlint . --deny-warnings","perf":"node --experimental-strip-types scripts/perf/run.ts","size":"node scripts/size-report.mjs","test":"vitest run --project unit","build":"rslib build","check":"pnpm check:tooling && pnpm check:fallow && pnpm check:unit","fallow":"fallow --summary","format":"oxfmt --write src test skills package.json tsconfig.json tsconfig.lib.json rslib.config.ts vitest.config.ts .github/actions/setup-node-pnpm/action.yml .oxlintrc.json .oxfmtrc.json '!test/skillgym/.skillgym-results/**'","prepack":"pnpm check:mcp-metadata && pnpm build:all && pnpm package:android-snapshot-helper:npm && pnpm package:android-multitouch-helper:npm","version":"node scripts/sync-mcp-metadata.mjs && git add server.json","perf:ios":"node --experimental-strip-types scripts/perf/run.ts --platform ios","build:all":"pnpm build:node && pnpm build:xcuitest","test:unit":"vitest run --project unit","typecheck":"tsc -p tsconfig.json","build:node":"pnpm build && pnpm clean:daemon","check:unit":"pnpm test:unit && pnpm test:smoke","test:smoke":"node --test test/integration/smoke-*.test.ts","check:quick":"pnpm lint && pnpm typecheck","check:fallow":"fallow audit","clean:daemon":"rm -f ~/.agent-device/daemon.json && rm -f ~/.agent-device/daemon.lock","perf:android":"node --experimental-strip-types scripts/perf/run.ts --platform android","test-app:ios":"pnpm --dir examples/test-app ios","check:tooling":"pnpm lint && pnpm typecheck && pnpm check:mcp-metadata && pnpm build","size:markdown":"node scripts/size-report.mjs --json .tmp/size-report.json --markdown .tmp/size-report.md","test:coverage":"vitest run --coverage","test:skillgym":"node test/skillgym/runner-environment.ts && pnpm build && skillgym run ./test/skillgym/suites/agent-device-smoke-suite.ts --config ./test/skillgym/skillgym.config.ts","build:xcuitest":"pnpm build:xcuitest:ios && pnpm build:xcuitest:macos","clean:xcuitest":"node scripts/clean-xcuitest-derived.mjs","test-app:start":"pnpm --dir examples/test-app start","fallow:baseline":"(fallow dead-code --save-baseline fallow-baselines/dead-code.json --summary || true) && (fallow health --save-baseline fallow-baselines/health.json --summary || true)","test:replay:ios":"node --experimental-strip-types src/bin.ts test test/integration/replays/ios/simulator","test-app:android":"pnpm --dir examples/test-app android","test-app:install":"pnpm install --dir examples/test-app --ignore-workspace","test-app:maestro":"node scripts/run-test-app-maestro-suite.mjs","test:integration":"pnpm test:integration:node && pnpm test:integration:provider","sync:mcp-metadata":"node scripts/sync-mcp-metadata.mjs","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","build:macos-helper":"swift build -c release --package-path macos-helper","build:xcuitest:ios":"AGENT_DEVICE_XCUITEST_PLATFORM=ios sh ./scripts/build-xcuitest-apple.sh","check:mcp-metadata":"node scripts/sync-mcp-metadata.mjs --check","clean:xcuitest:ios":"node scripts/clean-xcuitest-derived.mjs ios","test-app:typecheck":"pnpm --dir examples/test-app typecheck","test:skillgym:case":"node test/skillgym/runner-environment.ts && pnpm build && skillgym run ./test/skillgym/suites/agent-device-smoke-suite.ts --config ./test/skillgym/skillgym.config.ts --case","build:xcuitest:tvos":"AGENT_DEVICE_XCUITEST_PLATFORM=tvos sh ./scripts/build-xcuitest-apple.sh","clean:xcuitest:tvos":"node scripts/clean-xcuitest-derived.mjs tvos","test-app:replay:ios":"pnpm ad test examples/test-app/replays --platform ios --artifacts-dir .tmp/test-app-replay/ios","test:replay:android":"node --experimental-strip-types src/bin.ts test test/integration/replays/android","build:xcuitest:macos":"AGENT_DEVICE_XCUITEST_PLATFORM=macos sh ./scripts/build-xcuitest-apple.sh","clean:xcuitest:macos":"node scripts/clean-xcuitest-derived.mjs macos","test-app:maestro:ios":"node scripts/run-test-app-maestro-suite.mjs --platform ios","test:integration:node":"node --test test/integration/*.test.ts","test:replay:ios-device":"node --experimental-strip-types src/bin.ts test test/integration/replays/ios/device","test-app:replay:android":"pnpm ad test examples/test-app/replays --platform android --artifacts-dir .tmp/test-app-replay/android","build:xcuitest:ios:clean":"pnpm clean:xcuitest:ios && pnpm build:xcuitest:ios","test-app:maestro:android":"node scripts/run-test-app-maestro-suite.mjs --platform android","build:xcuitest:tvos:clean":"pnpm clean:xcuitest:tvos && pnpm build:xcuitest:tvos","test:integration:progress":"node scripts/integration-progress.mjs","test:integration:provider":"vitest run --project provider-integration","build:android-snapshot-helper":"sh ./scripts/build-android-snapshot-helper.sh $(node -p \"require('./package.json').version\") .tmp/android-snapshot-helper","build:android-multitouch-helper":"sh ./scripts/build-android-multitouch-helper.sh $(node -p \"require('./package.json').version\") .tmp/android-multitouch-helper","package:android-snapshot-helper":"sh ./scripts/package-android-snapshot-helper.sh $(node -p \"require('./package.json').version\") v$(node -p \"require('./package.json').version\") .tmp/android-snapshot-helper","test:integration:progress:check":"node scripts/integration-progress.mjs --check","package:android-multitouch-helper":"sh ./scripts/package-android-multitouch-helper.sh $(node -p \"require('./package.json').version\") .tmp/android-multitouch-helper","package:android-snapshot-helper:npm":"rm -rf android-snapshot-helper/dist && sh ./scripts/package-android-snapshot-helper.sh $(node -p \"require('./package.json').version\") v$(node -p \"require('./package.json').version\") android-snapshot-helper/dist","package:android-multitouch-helper:npm":"rm -rf android-multitouch-helper/dist && sh ./scripts/package-android-multitouch-helper.sh $(node -p \"require('./package.json').version\") android-multitouch-helper/dist"},"_npmUser":{"name":"thymikee","email":"thymikee@gmail.com"},"repository":{"url":"git+https://github.com/callstackincubator/agent-device.git","type":"git"},"_npmVersion":"11.13.0","description":"Agent-native CLI for AI mobile testing and app automation across iOS, Android, tvOS, Android TV, macOS, and Linux.","directories":{},"_nodeVersion":"26.1.0","dependencies":{"yaml":"^2.9.0"},"_hasShrinkwrap":false,"packageManager":"pnpm@11.1.2","devDependencies":{"vite":"^8.0.10","oxfmt":"^0.42.0","fallow":"^2.52.0","oxlint":"^1.57.0","vitest":"^4.1.2","skillgym":"^0.8.0","typescript":"^6.0.2","@rslib/core":"0.20.1","@types/node":"^22.0.0","@vitest/coverage-v8":"4.1.2","@microsoft/api-extractor":"^7.58.7"},"_npmOperationalInternal":{"tmp":"tmp/agent-device_0.16.13_1780612707959_0.2973576686145314","host":"s3://npm-registry-packages-npm-production"}},"0.16.14":{"name":"agent-device","version":"0.16.14","keywords":["agent","device","cli","automation","adb","simctl","devicectl","ios","android","tvos","macos","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"],"author":{"name":"Callstack"},"license":"MIT","_id":"agent-device@0.16.14","maintainers":[{"name":"thymikee","email":"thymikee@gmail.com"}],"homepage":"https://agent-device.dev/","bugs":{"url":"https://github.com/callstackincubator/agent-device/issues"},"bin":{"agent-device":"bin/agent-device.mjs"},"dist":{"shasum":"6343cc0b970ad8a8380dbe695da48e9a910bea4b","tarball":"https://registry.npmjs.org/agent-device/-/agent-device-0.16.14.tgz","fileCount":161,"integrity":"sha512-n1XaT6L6kq6ByR1Ujfn6Ot0PqlfCvUoCvvLnI0xvZ2swZXB8HtS8cO7+kpNnVb9+W5ecF7yEYkJv33OKA04OWA==","signatures":[{"sig":"MEUCIQDduhzuxjv6nPv08MGiMy/xW95Rzdnhtulavvz2uvvvrAIgWRFaa0vhypyiSwo91cz2UWf24Xqd15Q36kusJBBunMk=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1618768},"main":"dist/src/index.js","type":"module","types":"dist/src/index.d.ts","engines":{"node":">=22.19"},"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"},"./finders":{"types":"./dist/src/finders.d.ts","import":"./dist/src/finders.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"},"./android-snapshot-helper":{"types":"./dist/src/android-snapshot-helper.d.ts","import":"./dist/src/android-snapshot-helper.js"}},"gitHead":"64e2877d109dee151add40bcd5277b6c05d419a6","mcpName":"io.github.callstackincubator/agent-device","scripts":{"ad":"node bin/agent-device.mjs","lint":"oxlint . --deny-warnings","perf":"node --experimental-strip-types scripts/perf/run.ts","size":"node scripts/size-report.mjs","test":"vitest run --project unit","build":"rslib build","check":"pnpm check:tooling && pnpm check:fallow && pnpm check:unit","fallow":"fallow --summary","format":"oxfmt --write src test skills package.json tsconfig.json tsconfig.lib.json rslib.config.ts vitest.config.ts .github/actions/setup-node-pnpm/action.yml .oxlintrc.json .oxfmtrc.json '!test/skillgym/.skillgym-results/**'","prepack":"pnpm check:mcp-metadata && pnpm build:all && pnpm package:android-snapshot-helper:npm && pnpm package:android-multitouch-helper:npm","version":"node scripts/sync-mcp-metadata.mjs && git add server.json","perf:ios":"node --experimental-strip-types scripts/perf/run.ts --platform ios","build:all":"pnpm build:node && pnpm build:xcuitest","test:unit":"vitest run --project unit","typecheck":"tsc -p tsconfig.json","build:node":"pnpm build && pnpm clean:daemon","check:unit":"pnpm test:unit && pnpm test:smoke","test:smoke":"node --test test/integration/smoke-*.test.ts","check:quick":"pnpm lint && pnpm typecheck","check:fallow":"fallow audit","clean:daemon":"rm -f ~/.agent-device/daemon.json && rm -f ~/.agent-device/daemon.lock","perf:android":"node --experimental-strip-types scripts/perf/run.ts --platform android","test-app:ios":"pnpm --dir examples/test-app ios","check:tooling":"pnpm lint && pnpm typecheck && pnpm check:mcp-metadata && pnpm build","size:markdown":"node scripts/size-report.mjs --json .tmp/size-report.json --markdown .tmp/size-report.md","test:coverage":"vitest run --coverage","test:skillgym":"node test/skillgym/runner-environment.ts && pnpm build && skillgym run ./test/skillgym/suites/agent-device-smoke-suite.ts --config ./test/skillgym/skillgym.config.ts","build:xcuitest":"pnpm build:xcuitest:ios && pnpm build:xcuitest:macos","clean:xcuitest":"node scripts/clean-xcuitest-derived.mjs","test-app:start":"pnpm --dir examples/test-app start","fallow:baseline":"(fallow dead-code --save-baseline fallow-baselines/dead-code.json --summary || true) && (fallow health --save-baseline fallow-baselines/health.json --summary || true)","test:replay:ios":"node --experimental-strip-types src/bin.ts test test/integration/replays/ios/simulator","test-app:android":"pnpm --dir examples/test-app android","test-app:install":"pnpm install --dir examples/test-app --ignore-workspace","test-app:maestro":"node scripts/run-test-app-maestro-suite.mjs","test:integration":"pnpm test:integration:node && pnpm test:integration:provider","sync:mcp-metadata":"node scripts/sync-mcp-metadata.mjs","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","build:macos-helper":"swift build -c release --package-path macos-helper","build:xcuitest:ios":"AGENT_DEVICE_XCUITEST_PLATFORM=ios sh ./scripts/build-xcuitest-apple.sh","check:mcp-metadata":"node scripts/sync-mcp-metadata.mjs --check","clean:xcuitest:ios":"node scripts/clean-xcuitest-derived.mjs ios","test-app:typecheck":"pnpm --dir examples/test-app typecheck","test:skillgym:case":"node test/skillgym/runner-environment.ts && pnpm build && skillgym run ./test/skillgym/suites/agent-device-smoke-suite.ts --config ./test/skillgym/skillgym.config.ts --case","build:xcuitest:tvos":"AGENT_DEVICE_XCUITEST_PLATFORM=tvos sh ./scripts/build-xcuitest-apple.sh","clean:xcuitest:tvos":"node scripts/clean-xcuitest-derived.mjs tvos","test-app:replay:ios":"pnpm ad test examples/test-app/replays --platform ios --artifacts-dir .tmp/test-app-replay/ios","test:replay:android":"node --experimental-strip-types src/bin.ts test test/integration/replays/android","build:xcuitest:macos":"AGENT_DEVICE_XCUITEST_PLATFORM=macos sh ./scripts/build-xcuitest-apple.sh","clean:xcuitest:macos":"node scripts/clean-xcuitest-derived.mjs macos","test-app:maestro:ios":"node scripts/run-test-app-maestro-suite.mjs --platform ios","test:integration:node":"node --test test/integration/*.test.ts","test:replay:ios-device":"node --experimental-strip-types src/bin.ts test test/integration/replays/ios/device","test-app:replay:android":"pnpm ad test examples/test-app/replays --platform android --artifacts-dir .tmp/test-app-replay/android","build:xcuitest:ios:clean":"pnpm clean:xcuitest:ios && pnpm build:xcuitest:ios","test-app:maestro:android":"node scripts/run-test-app-maestro-suite.mjs --platform android","build:xcuitest:tvos:clean":"pnpm clean:xcuitest:tvos && pnpm build:xcuitest:tvos","test:integration:progress":"node scripts/integration-progress.mjs","test:integration:provider":"vitest run --project provider-integration","build:android-snapshot-helper":"sh ./scripts/build-android-snapshot-helper.sh $(node -p \"require('./package.json').version\") .tmp/android-snapshot-helper","build:android-multitouch-helper":"sh ./scripts/build-android-multitouch-helper.sh $(node -p \"require('./package.json').version\") .tmp/android-multitouch-helper","package:android-snapshot-helper":"sh ./scripts/package-android-snapshot-helper.sh $(node -p \"require('./package.json').version\") v$(node -p \"require('./package.json').version\") .tmp/android-snapshot-helper","test:integration:progress:check":"node scripts/integration-progress.mjs --check","package:android-multitouch-helper":"sh ./scripts/package-android-multitouch-helper.sh $(node -p \"require('./package.json').version\") .tmp/android-multitouch-helper","package:android-snapshot-helper:npm":"rm -rf android-snapshot-helper/dist && sh ./scripts/package-android-snapshot-helper.sh $(node -p \"require('./package.json').version\") v$(node -p \"require('./package.json').version\") android-snapshot-helper/dist","package:android-multitouch-helper:npm":"rm -rf android-multitouch-helper/dist && sh ./scripts/package-android-multitouch-helper.sh $(node -p \"require('./package.json').version\") android-multitouch-helper/dist"},"_npmUser":{"name":"thymikee","email":"thymikee@gmail.com"},"repository":{"url":"git+https://github.com/callstackincubator/agent-device.git","type":"git"},"_npmVersion":"11.13.0","description":"Agent-native CLI for AI mobile testing and app automation across iOS, Android, tvOS, Android TV, macOS, and Linux.","directories":{},"_nodeVersion":"26.1.0","dependencies":{"yaml":"^2.9.0"},"_hasShrinkwrap":false,"packageManager":"pnpm@11.1.2","devDependencies":{"vite":"^8.0.10","oxfmt":"^0.42.0","fallow":"^2.52.0","oxlint":"^1.57.0","vitest":"^4.1.2","skillgym":"^0.8.0","typescript":"^6.0.2","@rslib/core":"0.20.1","@types/node":"^22.0.0","@vitest/coverage-v8":"4.1.2","@microsoft/api-extractor":"^7.58.7"},"_npmOperationalInternal":{"tmp":"tmp/agent-device_0.16.14_1780677324739_0.06295348986958782","host":"s3://npm-registry-packages-npm-production"}},"0.17.0":{"name":"agent-device","version":"0.17.0","keywords":["agent","device","cli","automation","adb","simctl","devicectl","ios","android","tvos","macos","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"],"author":{"name":"Callstack"},"license":"MIT","_id":"agent-device@0.17.0","maintainers":[{"name":"thymikee","email":"thymikee@gmail.com"}],"homepage":"https://agent-device.dev/","bugs":{"url":"https://github.com/callstackincubator/agent-device/issues"},"bin":{"agent-device":"bin/agent-device.mjs"},"dist":{"shasum":"be93c47e0f49748a9bdd84c5c7d4b04d19996f7e","tarball":"https://registry.npmjs.org/agent-device/-/agent-device-0.17.0.tgz","fileCount":162,"integrity":"sha512-Stupxh+uPm4BVHFuUg7UPUT9E8kNsmQXKeHwcTOVKW3MdmS0RlRE36AbG3f7m80AVQzVNH5ZJTCUBHIC2jygrg==","signatures":[{"sig":"MEQCIEQMqg+GFA30L8TyYTLFs0/OPcRyzsHqjHGqdRwP8s49AiAtrWiKSyrYUFWFEpjOAbAxYHHkQQYH+qlHi4PIo+m9jw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1667562},"main":"dist/src/index.js","type":"module","types":"dist/src/index.d.ts","engines":{"node":">=22.19"},"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"},"./finders":{"types":"./dist/src/finders.d.ts","import":"./dist/src/finders.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"},"./android-snapshot-helper":{"types":"./dist/src/android-snapshot-helper.d.ts","import":"./dist/src/android-snapshot-helper.js"}},"gitHead":"fe728814c491cbdd8f451f2b81e7e107716bd9ad","mcpName":"io.github.callstackincubator/agent-device","scripts":{"ad":"node bin/agent-device.mjs","lint":"oxlint . --deny-warnings","perf":"node --experimental-strip-types scripts/perf/run.ts","size":"node scripts/size-report.mjs","test":"vitest run --project unit","build":"rslib build","check":"pnpm check:tooling && pnpm check:fallow && pnpm check:unit","fallow":"fallow --summary","format":"oxfmt --write src test skills package.json tsconfig.json tsconfig.lib.json rslib.config.ts vitest.config.ts .github/actions/setup-node-pnpm/action.yml .oxlintrc.json .oxfmtrc.json '!test/skillgym/.skillgym-results/**'","prepack":"pnpm check:mcp-metadata && pnpm build:all && pnpm package:android-snapshot-helper:npm && pnpm package:android-multitouch-helper:npm","version":"node scripts/sync-mcp-metadata.mjs && git add server.json","perf:ios":"node --experimental-strip-types scripts/perf/run.ts --platform ios","build:all":"pnpm build:node && pnpm build:xcuitest","test:unit":"vitest run --project unit","typecheck":"tsc -p tsconfig.json","build:node":"pnpm build && pnpm clean:daemon","check:unit":"pnpm test:unit && pnpm test:smoke","test:smoke":"node --test test/integration/smoke-*.test.ts","check:quick":"pnpm lint && pnpm typecheck","check:fallow":"fallow audit","clean:daemon":"rm -f ~/.agent-device/daemon.json && rm -f ~/.agent-device/daemon.lock","perf:android":"node --experimental-strip-types scripts/perf/run.ts --platform android","test-app:ios":"pnpm --dir examples/test-app ios","check:tooling":"pnpm lint && pnpm typecheck && pnpm check:mcp-metadata && pnpm build","size:markdown":"node scripts/size-report.mjs --json .tmp/size-report.json --markdown .tmp/size-report.md","test:coverage":"vitest run --coverage","test:skillgym":"node test/skillgym/runner-environment.ts && pnpm build && skillgym run ./test/skillgym/suites/agent-device-smoke-suite.ts --config ./test/skillgym/skillgym.config.ts","build:xcuitest":"pnpm build:xcuitest:ios && pnpm build:xcuitest:macos","clean:xcuitest":"node scripts/clean-xcuitest-derived.mjs","test-app:start":"pnpm --dir examples/test-app start","fallow:baseline":"(fallow dead-code --save-baseline fallow-baselines/dead-code.json --summary || true) && (fallow health --save-baseline fallow-baselines/health.json --summary || true)","test:replay:ios":"node --experimental-strip-types src/bin.ts test test/integration/replays/ios/simulator","test-app:android":"pnpm --dir examples/test-app android","test-app:install":"pnpm install --dir examples/test-app --ignore-workspace","test-app:maestro":"node scripts/run-test-app-maestro-suite.mjs","test:integration":"pnpm test:integration:node && pnpm test:integration:provider","sync:mcp-metadata":"node scripts/sync-mcp-metadata.mjs","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","build:macos-helper":"swift build -c release --package-path macos-helper","build:xcuitest:ios":"AGENT_DEVICE_XCUITEST_PLATFORM=ios sh ./scripts/build-xcuitest-apple.sh","check:mcp-metadata":"node scripts/sync-mcp-metadata.mjs --check","clean:xcuitest:ios":"node scripts/clean-xcuitest-derived.mjs ios","test-app:typecheck":"pnpm --dir examples/test-app typecheck","test:skillgym:case":"node test/skillgym/runner-environment.ts && pnpm build && skillgym run ./test/skillgym/suites/agent-device-smoke-suite.ts --config ./test/skillgym/skillgym.config.ts --case","build:xcuitest:tvos":"AGENT_DEVICE_XCUITEST_PLATFORM=tvos sh ./scripts/build-xcuitest-apple.sh","clean:xcuitest:tvos":"node scripts/clean-xcuitest-derived.mjs tvos","test-app:replay:ios":"pnpm ad test examples/test-app/replays --platform ios --artifacts-dir .tmp/test-app-replay/ios","test:replay:android":"node --experimental-strip-types src/bin.ts test test/integration/replays/android","build:xcuitest:macos":"AGENT_DEVICE_XCUITEST_PLATFORM=macos sh ./scripts/build-xcuitest-apple.sh","clean:xcuitest:macos":"node scripts/clean-xcuitest-derived.mjs macos","test-app:maestro:ios":"node scripts/run-test-app-maestro-suite.mjs --platform ios","test:integration:node":"node --test test/integration/*.test.ts","test:replay:ios-device":"node --experimental-strip-types src/bin.ts test test/integration/replays/ios/device","test-app:replay:android":"pnpm ad test examples/test-app/replays --platform android --artifacts-dir .tmp/test-app-replay/android","build:xcuitest:ios:clean":"pnpm clean:xcuitest:ios && pnpm build:xcuitest:ios","test-app:maestro:android":"node scripts/run-test-app-maestro-suite.mjs --platform android","build:xcuitest:tvos:clean":"pnpm clean:xcuitest:tvos && pnpm build:xcuitest:tvos","test:integration:progress":"node scripts/integration-progress.mjs","test:integration:provider":"vitest run --project provider-integration","build:android-snapshot-helper":"sh ./scripts/build-android-snapshot-helper.sh $(node -p \"require('./package.json').version\") .tmp/android-snapshot-helper","build:android-multitouch-helper":"sh ./scripts/build-android-multitouch-helper.sh $(node -p \"require('./package.json').version\") .tmp/android-multitouch-helper","package:android-snapshot-helper":"sh ./scripts/package-android-snapshot-helper.sh $(node -p \"require('./package.json').version\") v$(node -p \"require('./package.json').version\") .tmp/android-snapshot-helper","test:integration:progress:check":"node scripts/integration-progress.mjs --check","package:android-multitouch-helper":"sh ./scripts/package-android-multitouch-helper.sh $(node -p \"require('./package.json').version\") .tmp/android-multitouch-helper","package:android-snapshot-helper:npm":"rm -rf android-snapshot-helper/dist && sh ./scripts/package-android-snapshot-helper.sh $(node -p \"require('./package.json').version\") v$(node -p \"require('./package.json').version\") android-snapshot-helper/dist","package:android-multitouch-helper:npm":"rm -rf android-multitouch-helper/dist && sh ./scripts/package-android-multitouch-helper.sh $(node -p \"require('./package.json').version\") android-multitouch-helper/dist"},"_npmUser":{"name":"thymikee","email":"thymikee@gmail.com"},"repository":{"url":"git+https://github.com/callstackincubator/agent-device.git","type":"git"},"_npmVersion":"11.13.0","description":"Agent-native CLI for AI mobile testing and app automation across iOS, Android, tvOS, Android TV, macOS, and Linux.","directories":{},"_nodeVersion":"26.1.0","dependencies":{"yaml":"^2.9.0"},"_hasShrinkwrap":false,"packageManager":"pnpm@11.1.2","devDependencies":{"vite":"^8.0.10","oxfmt":"^0.42.0","fallow":"^2.52.0","oxlint":"^1.57.0","vitest":"^4.1.2","skillgym":"^0.8.0","typescript":"^6.0.2","@rslib/core":"0.20.1","@types/node":"^22.0.0","@vitest/coverage-v8":"4.1.2","@microsoft/api-extractor":"^7.58.7"},"_npmOperationalInternal":{"tmp":"tmp/agent-device_0.17.0_1780936822553_0.9484509255364078","host":"s3://npm-registry-packages-npm-production"}},"0.17.1":{"name":"agent-device","version":"0.17.1","keywords":["agent","device","cli","automation","adb","simctl","devicectl","ios","android","tvos","macos","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"],"author":{"name":"Callstack"},"license":"MIT","_id":"agent-device@0.17.1","maintainers":[{"name":"thymikee","email":"thymikee@gmail.com"}],"homepage":"https://agent-device.dev/","bugs":{"url":"https://github.com/callstackincubator/agent-device/issues"},"bin":{"agent-device":"bin/agent-device.mjs"},"dist":{"shasum":"af4f17a5fdee3f94c626b6cd7137162e4a929c5e","tarball":"https://registry.npmjs.org/agent-device/-/agent-device-0.17.1.tgz","fileCount":163,"integrity":"sha512-OoNE7QGZHGCi4C2zXUWvIOJj3XLRgivEoWXXg5d0Vs0bI6vgUkHwJVK4Dw606IXBCH1aDNXS24mn0R/e4o/7Vw==","signatures":[{"sig":"MEYCIQDzkZCX97vT2u5FOPWXT8AHp3V50YCi9s/z27aVCT7T5QIhAP2MSsMTq/1kkYsDLsRrSBT65jdt2/NYeJ5BJL6gE5g2","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1678780},"main":"dist/src/index.js","type":"module","types":"dist/src/index.d.ts","engines":{"node":">=22.19"},"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"},"./finders":{"types":"./dist/src/finders.d.ts","import":"./dist/src/finders.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"},"./android-snapshot-helper":{"types":"./dist/src/android-snapshot-helper.d.ts","import":"./dist/src/android-snapshot-helper.js"}},"gitHead":"264c8043762ea82b088e664311f1c23dc6cb5c99","mcpName":"io.github.callstackincubator/agent-device","scripts":{"ad":"node bin/agent-device.mjs","lint":"oxlint . --deny-warnings","perf":"node --experimental-strip-types scripts/perf/run.ts","size":"node scripts/size-report.mjs","test":"vitest run --project unit","build":"rslib build","check":"pnpm check:tooling && pnpm check:fallow && pnpm check:unit","fallow":"fallow --summary","format":"oxfmt --write src test skills package.json tsconfig.json tsconfig.lib.json rslib.config.ts vitest.config.ts .github/actions/setup-node-pnpm/action.yml .oxlintrc.json .oxfmtrc.json '!test/skillgym/.skillgym-results/**'","prepack":"pnpm check:mcp-metadata && pnpm build:all && pnpm package:android-snapshot-helper:npm && pnpm package:android-multitouch-helper:npm","version":"node scripts/sync-mcp-metadata.mjs && git add server.json","perf:ios":"node --experimental-strip-types scripts/perf/run.ts --platform ios","build:all":"pnpm build:node && pnpm build:xcuitest","test:unit":"vitest run --project unit","typecheck":"tsc -p tsconfig.json","build:node":"pnpm build && pnpm clean:daemon","check:unit":"pnpm test:unit && pnpm test:smoke","test:smoke":"node --test test/integration/smoke-*.test.ts","check:quick":"pnpm lint && pnpm typecheck","check:fallow":"fallow audit","clean:daemon":"node --experimental-strip-types scripts/clean-daemon.ts","perf:android":"node --experimental-strip-types scripts/perf/run.ts --platform android","test-app:ios":"pnpm --dir examples/test-app ios","check:tooling":"pnpm lint && pnpm typecheck && pnpm check:mcp-metadata && pnpm build","size:markdown":"node scripts/size-report.mjs --json .tmp/size-report.json --markdown .tmp/size-report.md","test:coverage":"vitest run --coverage","test:skillgym":"node test/skillgym/runner-environment.ts && pnpm build && skillgym run ./test/skillgym/suites/agent-device-smoke-suite.ts --config ./test/skillgym/skillgym.config.ts","build:xcuitest":"pnpm build:xcuitest:ios && pnpm build:xcuitest:macos","clean:xcuitest":"node scripts/clean-xcuitest-derived.mjs","test-app:start":"pnpm --dir examples/test-app start","fallow:baseline":"(fallow dead-code --save-baseline fallow-baselines/dead-code.json --summary || true) && (fallow health --save-baseline fallow-baselines/health.json --summary || true)","test:replay:ios":"node --experimental-strip-types src/bin.ts test test/integration/replays/ios/simulator","test-app:android":"pnpm --dir examples/test-app android","test-app:install":"pnpm install --dir examples/test-app --ignore-workspace","test-app:maestro":"node scripts/run-test-app-maestro-suite.mjs","test:integration":"pnpm test:integration:node && pnpm test:integration:provider","sync:mcp-metadata":"node scripts/sync-mcp-metadata.mjs","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","build:macos-helper":"swift build -c release --package-path macos-helper","build:xcuitest:ios":"AGENT_DEVICE_XCUITEST_PLATFORM=ios sh ./scripts/build-xcuitest-apple.sh","check:mcp-metadata":"node scripts/sync-mcp-metadata.mjs --check","clean:xcuitest:ios":"node scripts/clean-xcuitest-derived.mjs ios","test-app:typecheck":"pnpm --dir examples/test-app typecheck","test:skillgym:case":"node test/skillgym/runner-environment.ts && pnpm build && skillgym run ./test/skillgym/suites/agent-device-smoke-suite.ts --config ./test/skillgym/skillgym.config.ts --case","build:xcuitest:tvos":"AGENT_DEVICE_XCUITEST_PLATFORM=tvos sh ./scripts/build-xcuitest-apple.sh","clean:xcuitest:tvos":"node scripts/clean-xcuitest-derived.mjs tvos","test-app:replay:ios":"pnpm ad test examples/test-app/replays --platform ios --artifacts-dir .tmp/test-app-replay/ios","test:replay:android":"node --experimental-strip-types src/bin.ts test test/integration/replays/android","build:xcuitest:macos":"AGENT_DEVICE_XCUITEST_PLATFORM=macos sh ./scripts/build-xcuitest-apple.sh","clean:xcuitest:macos":"node scripts/clean-xcuitest-derived.mjs macos","test-app:maestro:ios":"node scripts/run-test-app-maestro-suite.mjs --platform ios","test:integration:node":"node --test test/integration/*.test.ts","test:replay:ios-device":"node --experimental-strip-types src/bin.ts test test/integration/replays/ios/device","test-app:replay:android":"pnpm ad test examples/test-app/replays --platform android --artifacts-dir .tmp/test-app-replay/android","build:xcuitest:ios:clean":"pnpm clean:xcuitest:ios && pnpm build:xcuitest:ios","test-app:maestro:android":"node scripts/run-test-app-maestro-suite.mjs --platform android","build:xcuitest:tvos:clean":"pnpm clean:xcuitest:tvos && pnpm build:xcuitest:tvos","test:integration:progress":"node scripts/integration-progress.mjs","test:integration:provider":"vitest run --project provider-integration","build:android-snapshot-helper":"sh ./scripts/build-android-snapshot-helper.sh $(node -p \"require('./package.json').version\") .tmp/android-snapshot-helper","build:android-multitouch-helper":"sh ./scripts/build-android-multitouch-helper.sh $(node -p \"require('./package.json').version\") .tmp/android-multitouch-helper","package:android-snapshot-helper":"sh ./scripts/package-android-snapshot-helper.sh $(node -p \"require('./package.json').version\") v$(node -p \"require('./package.json').version\") .tmp/android-snapshot-helper","test:integration:progress:check":"node scripts/integration-progress.mjs --check","package:android-multitouch-helper":"sh ./scripts/package-android-multitouch-helper.sh $(node -p \"require('./package.json').version\") .tmp/android-multitouch-helper","package:android-snapshot-helper:npm":"rm -rf android-snapshot-helper/dist && sh ./scripts/package-android-snapshot-helper.sh $(node -p \"require('./package.json').version\") v$(node -p \"require('./package.json').version\") android-snapshot-helper/dist","package:android-multitouch-helper:npm":"rm -rf android-multitouch-helper/dist && sh ./scripts/package-android-multitouch-helper.sh $(node -p \"require('./package.json').version\") android-multitouch-helper/dist"},"_npmUser":{"name":"thymikee","email":"thymikee@gmail.com"},"repository":{"url":"git+https://github.com/callstackincubator/agent-device.git","type":"git"},"_npmVersion":"11.13.0","description":"Agent-native CLI for AI mobile testing and app automation across iOS, Android, tvOS, Android TV, macOS, and Linux.","directories":{},"_nodeVersion":"26.1.0","dependencies":{"yaml":"^2.9.0"},"_hasShrinkwrap":false,"packageManager":"pnpm@11.1.2","devDependencies":{"vite":"^8.0.10","oxfmt":"^0.42.0","fallow":"^2.52.0","oxlint":"^1.57.0","vitest":"^4.1.2","skillgym":"^0.8.0","typescript":"^6.0.2","@rslib/core":"0.20.1","@types/node":"^22.0.0","@vitest/coverage-v8":"4.1.2","@microsoft/api-extractor":"^7.58.7"},"_npmOperationalInternal":{"tmp":"tmp/agent-device_0.17.1_1781019094478_0.8232116243765879","host":"s3://npm-registry-packages-npm-production"}},"0.17.2":{"name":"agent-device","version":"0.17.2","keywords":["agent","device","cli","automation","adb","simctl","devicectl","ios","android","tvos","macos","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"],"author":{"name":"Callstack"},"license":"MIT","_id":"agent-device@0.17.2","maintainers":[{"name":"thymikee","email":"thymikee@gmail.com"}],"homepage":"https://agent-device.dev/","bugs":{"url":"https://github.com/callstackincubator/agent-device/issues"},"bin":{"agent-device":"bin/agent-device.mjs"},"dist":{"shasum":"ef122d666ff763027433cd9c0fe6a047dba22482","tarball":"https://registry.npmjs.org/agent-device/-/agent-device-0.17.2.tgz","fileCount":169,"integrity":"sha512-ey1HE/PpXypCZhMG3mAkHwXJQ0OrVFMy9iYBVhpvi8N0tOASInHcJGpATbT8ZRbTMe99gasyNSGdizB3R8oIYg==","signatures":[{"sig":"MEYCIQCoBqKCwP0l8W1rz/4e4p08CH9TCLBHWn6+kukMny+PdwIhAKSGPDaKE1IeYgGxqDVuPllY+l1FL5i0tn1snlnxeYRD","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1710331},"main":"dist/src/index.js","type":"module","types":"dist/src/index.d.ts","engines":{"node":">=22.19"},"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"},"./finders":{"types":"./dist/src/finders.d.ts","import":"./dist/src/finders.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"},"./android-snapshot-helper":{"types":"./dist/src/android-snapshot-helper.d.ts","import":"./dist/src/android-snapshot-helper.js"}},"gitHead":"19cdec103a85df09d1c874e6efbcc2b6a25d1e13","mcpName":"io.github.callstackincubator/agent-device","scripts":{"ad":"node bin/agent-device.mjs","lint":"oxlint . --deny-warnings","perf":"node --experimental-strip-types scripts/perf/run.ts","size":"node scripts/size-report.mjs","test":"vitest run --project unit","build":"rslib build","check":"pnpm check:tooling && pnpm check:fallow && pnpm check:unit","fallow":"fallow audit --base origin/main","format":"oxfmt --write src test skills package.json tsconfig.json tsconfig.lib.json rslib.config.ts vitest.config.ts .github/actions/setup-node-pnpm/action.yml .oxlintrc.json .oxfmtrc.json '!test/skillgym/.skillgym-results/**'","prepack":"pnpm check:mcp-metadata && pnpm build:all && pnpm package:android-snapshot-helper:npm && pnpm package:android-multitouch-helper:npm","version":"node scripts/sync-mcp-metadata.mjs && git add server.json","perf:ios":"node --experimental-strip-types scripts/perf/run.ts --platform ios","build:all":"pnpm build:node && pnpm build:xcuitest","test:unit":"vitest run --project unit","typecheck":"tsc -p tsconfig.json","build:node":"pnpm build && pnpm clean:daemon","check:unit":"pnpm test:unit && pnpm test:smoke","fallow:all":"fallow --summary","test:smoke":"node --test test/integration/smoke-*.test.ts","check:quick":"pnpm lint && pnpm typecheck","check:fallow":"fallow audit","clean:daemon":"node --experimental-strip-types scripts/clean-daemon.ts","format:check":"oxfmt --check src test skills package.json tsconfig.json tsconfig.lib.json rslib.config.ts vitest.config.ts .github/actions/setup-node-pnpm/action.yml .oxlintrc.json .oxfmtrc.json '!test/skillgym/.skillgym-results/**'","perf:android":"node --experimental-strip-types scripts/perf/run.ts --platform android","test-app:ios":"pnpm --dir examples/test-app ios","check:tooling":"pnpm lint && pnpm typecheck && pnpm check:mcp-metadata && pnpm build","size:markdown":"node scripts/size-report.mjs --json .tmp/size-report.json --markdown .tmp/size-report.md","test:coverage":"vitest run --coverage","test:skillgym":"node test/skillgym/runner-environment.ts && pnpm build && skillgym run ./test/skillgym/suites/agent-device-smoke-suite.ts --config ./test/skillgym/skillgym.config.ts","build:xcuitest":"pnpm build:xcuitest:ios && pnpm build:xcuitest:macos","clean:xcuitest":"node scripts/clean-xcuitest-derived.mjs","test-app:start":"pnpm --dir examples/test-app start","fallow:baseline":"(fallow dead-code --save-baseline fallow-baselines/dead-code.json --summary || true) && (fallow health --save-baseline fallow-baselines/health.json --summary || true)","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","test-app:android":"pnpm --dir examples/test-app android","test-app:install":"pnpm install --dir examples/test-app --ignore-workspace","test-app:maestro":"node scripts/run-test-app-maestro-suite.mjs","test:integration":"pnpm test:integration:node && pnpm test:integration:provider","sync:mcp-metadata":"node scripts/sync-mcp-metadata.mjs","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","build:macos-helper":"swift build -c release --package-path macos-helper","build:xcuitest:ios":"AGENT_DEVICE_XCUITEST_PLATFORM=ios sh ./scripts/build-xcuitest-apple.sh","check:mcp-metadata":"node scripts/sync-mcp-metadata.mjs --check","clean:xcuitest:ios":"node scripts/clean-xcuitest-derived.mjs ios","test-app:typecheck":"pnpm --dir examples/test-app typecheck","test:skillgym:case":"node test/skillgym/runner-environment.ts && pnpm build && skillgym run ./test/skillgym/suites/agent-device-smoke-suite.ts --config ./test/skillgym/skillgym.config.ts --case","build:xcuitest:tvos":"AGENT_DEVICE_XCUITEST_PLATFORM=tvos sh ./scripts/build-xcuitest-apple.sh","clean:xcuitest:tvos":"node scripts/clean-xcuitest-derived.mjs tvos","test-app:replay:ios":"pnpm ad test examples/test-app/replays --platform ios --artifacts-dir .tmp/test-app-replay/ios","test:replay:android":"node --experimental-strip-types src/bin.ts test test/integration/replays/android","build:xcuitest:macos":"AGENT_DEVICE_XCUITEST_PLATFORM=macos sh ./scripts/build-xcuitest-apple.sh","clean:xcuitest:macos":"node scripts/clean-xcuitest-derived.mjs macos","test-app:maestro:ios":"node scripts/run-test-app-maestro-suite.mjs --platform ios","test:integration:node":"node --test test/integration/*.test.ts","test:replay:ios-device":"node --experimental-strip-types src/bin.ts test test/integration/replays/ios/device","test-app:replay:android":"pnpm ad test examples/test-app/replays --platform android --artifacts-dir .tmp/test-app-replay/android","build:xcuitest:ios:clean":"pnpm clean:xcuitest:ios && pnpm build:xcuitest:ios","test-app:maestro:android":"node scripts/run-test-app-maestro-suite.mjs --platform android","build:xcuitest:tvos:clean":"pnpm clean:xcuitest:tvos && pnpm build:xcuitest:tvos","test:integration:progress":"node scripts/integration-progress.mjs","test:integration:provider":"vitest run --project provider-integration","build:android-snapshot-helper":"sh ./scripts/build-android-snapshot-helper.sh $(node -p \"require('./package.json').version\") .tmp/android-snapshot-helper","build:android-multitouch-helper":"sh ./scripts/build-android-multitouch-helper.sh $(node -p \"require('./package.json').version\") .tmp/android-multitouch-helper","package:android-snapshot-helper":"sh ./scripts/package-android-snapshot-helper.sh $(node -p \"require('./package.json').version\") v$(node -p \"require('./package.json').version\") .tmp/android-snapshot-helper","test:integration:progress:check":"node scripts/integration-progress.mjs --check","package:android-multitouch-helper":"sh ./scripts/package-android-multitouch-helper.sh $(node -p \"require('./package.json').version\") .tmp/android-multitouch-helper","package:android-snapshot-helper:npm":"rm -rf android-snapshot-helper/dist && sh ./scripts/package-android-snapshot-helper.sh $(node -p \"require('./package.json').version\") v$(node -p \"require('./package.json').version\") android-snapshot-helper/dist","package:android-multitouch-helper:npm":"rm -rf android-multitouch-helper/dist && sh ./scripts/package-android-multitouch-helper.sh $(node -p \"require('./package.json').version\") android-multitouch-helper/dist"},"_npmUser":{"name":"thymikee","email":"thymikee@gmail.com"},"repository":{"url":"git+https://github.com/callstackincubator/agent-device.git","type":"git"},"_npmVersion":"11.13.0","description":"Agent-native CLI for AI mobile testing and app automation across iOS, Android, tvOS, Android TV, macOS, and Linux.","directories":{},"_nodeVersion":"26.1.0","dependencies":{"yaml":"^2.9.0"},"_hasShrinkwrap":false,"packageManager":"pnpm@11.1.2","devDependencies":{"vite":"^8.0.10","oxfmt":"^0.42.0","fallow":"^2.91.0","oxlint":"^1.57.0","vitest":"^4.1.2","skillgym":"^0.8.0","typescript":"^6.0.2","@rslib/core":"0.20.1","@types/node":"^22.0.0","@vitest/coverage-v8":"4.1.2","@microsoft/api-extractor":"^7.58.7"},"_npmOperationalInternal":{"tmp":"tmp/agent-device_0.17.2_1781118865162_0.6889877679534742","host":"s3://npm-registry-packages-npm-production"}},"0.17.3":{"name":"agent-device","version":"0.17.3","keywords":["agent","device","cli","automation","adb","simctl","devicectl","ios","android","tvos","macos","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"],"author":{"name":"Callstack"},"license":"MIT","_id":"agent-device@0.17.3","maintainers":[{"name":"thymikee","email":"thymikee@gmail.com"}],"homepage":"https://agent-device.dev/","bugs":{"url":"https://github.com/callstackincubator/agent-device/issues"},"bin":{"agent-device":"bin/agent-device.mjs"},"dist":{"shasum":"57b331ffc4280138ae142562b32506e1018c6c3a","tarball":"https://registry.npmjs.org/agent-device/-/agent-device-0.17.3.tgz","fileCount":166,"integrity":"sha512-wxztxr1Tm/Mq0fcS2cTpXSDWvK3hGOLLh9dtjnM211w3A8oCIKSgmwuUw41mZQROB8uqHk9jTJTny6f2YcRa1w==","signatures":[{"sig":"MEUCIFQ4HVC1gnEW7zqwPzG+i8KPRoqqHXj5ItVvQ/7rCueSAiEA3yNh1Opk/0UI4TGJDXCn6RE9uY/HBPzM6jngbw8UbXs=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1869136},"main":"dist/src/index.js","type":"module","types":"dist/src/index.d.ts","engines":{"node":">=22.19"},"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"},"./finders":{"types":"./dist/src/finders.d.ts","import":"./dist/src/finders.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"},"./android-snapshot-helper":{"types":"./dist/src/android-snapshot-helper.d.ts","import":"./dist/src/android-snapshot-helper.js"}},"gitHead":"b3770194a32e454a3357e9c80840b5bc4adef966","mcpName":"io.github.callstackincubator/agent-device","scripts":{"ad":"node bin/agent-device.mjs","lint":"oxlint . --deny-warnings","perf":"node --experimental-strip-types scripts/perf/run.ts","size":"node scripts/size-report.mjs","test":"vitest run --project unit","build":"rslib build","check":"pnpm check:tooling && pnpm check:fallow && pnpm check:unit","fallow":"fallow audit --base origin/main","format":"oxfmt --write src test skills package.json tsconfig.json tsconfig.lib.json rslib.config.ts vitest.config.ts .github/actions/setup-node-pnpm/action.yml .oxlintrc.json .oxfmtrc.json '!test/skillgym/.skillgym-results/**'","prepack":"pnpm check:mcp-metadata && pnpm build:all && pnpm package:android-snapshot-helper:npm && pnpm package:android-multitouch-helper:npm","version":"node scripts/sync-mcp-metadata.mjs && git add server.json","perf:ios":"node --experimental-strip-types scripts/perf/run.ts --platform ios","build:all":"pnpm build:node && pnpm build:xcuitest","test:unit":"vitest run --project unit","typecheck":"tsc -p tsconfig.json","build:node":"pnpm build && pnpm clean:daemon","check:unit":"pnpm test:unit && pnpm test:smoke","fallow:all":"fallow --summary","test:smoke":"node --test test/integration/smoke-*.test.ts","check:quick":"pnpm lint && pnpm typecheck","check:fallow":"fallow audit","clean:daemon":"node --experimental-strip-types scripts/clean-daemon.ts","format:check":"oxfmt --check src test skills package.json tsconfig.json tsconfig.lib.json rslib.config.ts vitest.config.ts .github/actions/setup-node-pnpm/action.yml .oxlintrc.json .oxfmtrc.json '!test/skillgym/.skillgym-results/**'","perf:android":"node --experimental-strip-types scripts/perf/run.ts --platform android","test-app:ios":"pnpm --dir examples/test-app ios","check:tooling":"pnpm lint && pnpm typecheck && pnpm check:mcp-metadata && pnpm build","size:markdown":"node scripts/size-report.mjs --json .tmp/size-report.json --markdown .tmp/size-report.md","test:coverage":"vitest run --coverage","test:skillgym":"node test/skillgym/runner-environment.ts && pnpm build && skillgym run ./test/skillgym/suites/agent-device-smoke-suite.ts --config ./test/skillgym/skillgym.config.ts","build:xcuitest":"pnpm build:xcuitest:ios && pnpm build:xcuitest:macos","clean:xcuitest":"node scripts/clean-xcuitest-derived.mjs","test-app:start":"pnpm --dir examples/test-app start","fallow:baseline":"(fallow dead-code --save-baseline fallow-baselines/dead-code.json --summary || true) && (fallow health --save-baseline fallow-baselines/health.json --summary || true)","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","test-app:android":"pnpm --dir examples/test-app android","test-app:install":"pnpm install --dir examples/test-app --ignore-workspace","test-app:maestro":"node scripts/run-test-app-maestro-suite.mjs","test:integration":"pnpm test:integration:node && pnpm test:integration:provider","sync:mcp-metadata":"node scripts/sync-mcp-metadata.mjs","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","build:macos-helper":"swift build -c release --package-path macos-helper","build:xcuitest:ios":"AGENT_DEVICE_XCUITEST_PLATFORM=ios sh ./scripts/build-xcuitest-apple.sh","check:mcp-metadata":"node scripts/sync-mcp-metadata.mjs --check","clean:xcuitest:ios":"node scripts/clean-xcuitest-derived.mjs ios","test-app:typecheck":"pnpm --dir examples/test-app typecheck","test:skillgym:case":"node test/skillgym/runner-environment.ts && pnpm build && skillgym run ./test/skillgym/suites/agent-device-smoke-suite.ts --config ./test/skillgym/skillgym.config.ts --case","build:xcuitest:tvos":"AGENT_DEVICE_XCUITEST_PLATFORM=tvos sh ./scripts/build-xcuitest-apple.sh","clean:xcuitest:tvos":"node scripts/clean-xcuitest-derived.mjs tvos","test-app:replay:ios":"pnpm ad test examples/test-app/replays --platform ios --artifacts-dir .tmp/test-app-replay/ios","test:replay:android":"node --experimental-strip-types src/bin.ts test test/integration/replays/android","build:xcuitest:macos":"AGENT_DEVICE_XCUITEST_PLATFORM=macos sh ./scripts/build-xcuitest-apple.sh","clean:xcuitest:macos":"node scripts/clean-xcuitest-derived.mjs macos","test-app:maestro:ios":"node scripts/run-test-app-maestro-suite.mjs --platform ios","test:integration:node":"node --test test/integration/*.test.ts","test:replay:ios-device":"node --experimental-strip-types src/bin.ts test test/integration/replays/ios/device","test-app:replay:android":"pnpm ad test examples/test-app/replays --platform android --artifacts-dir .tmp/test-app-replay/android","build:xcuitest:ios:clean":"pnpm clean:xcuitest:ios && pnpm build:xcuitest:ios","test-app:maestro:android":"node scripts/run-test-app-maestro-suite.mjs --platform android","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:android-snapshot-helper":"sh ./scripts/build-android-snapshot-helper.sh $(node -p \"require('./package.json').version\") .tmp/android-snapshot-helper","build:android-multitouch-helper":"sh ./scripts/build-android-multitouch-helper.sh $(node -p \"require('./package.json').version\") .tmp/android-multitouch-helper","package:android-snapshot-helper":"sh ./scripts/package-android-snapshot-helper.sh $(node -p \"require('./package.json').version\") v$(node -p \"require('./package.json').version\") .tmp/android-snapshot-helper","test:integration:progress:check":"node --experimental-strip-types scripts/integration-progress.ts --check","package:android-multitouch-helper":"sh ./scripts/package-android-multitouch-helper.sh $(node -p \"require('./package.json').version\") .tmp/android-multitouch-helper","package:android-snapshot-helper:npm":"rm -rf android-snapshot-helper/dist && sh ./scripts/package-android-snapshot-helper.sh $(node -p \"require('./package.json').version\") v$(node -p \"require('./package.json').version\") android-snapshot-helper/dist","package:android-multitouch-helper:npm":"rm -rf android-multitouch-helper/dist && sh ./scripts/package-android-multitouch-helper.sh $(node -p \"require('./package.json').version\") android-multitouch-helper/dist"},"_npmUser":{"name":"thymikee","email":"thymikee@gmail.com"},"repository":{"url":"git+https://github.com/callstackincubator/agent-device.git","type":"git"},"_npmVersion":"11.13.0","description":"Agent-native CLI for AI mobile testing and app automation across iOS, Android, tvOS, Android TV, macOS, and Linux.","directories":{},"_nodeVersion":"26.1.0","dependencies":{"yaml":"^2.9.0"},"_hasShrinkwrap":false,"packageManager":"pnpm@11.1.2","devDependencies":{"vite":"^8.0.10","oxfmt":"^0.42.0","fallow":"^2.91.0","oxlint":"^1.57.0","vitest":"^4.1.2","skillgym":"^0.8.0","typescript":"^6.0.2","@rslib/core":"0.20.1","@types/node":"^22.0.0","@vitest/coverage-v8":"4.1.2","@microsoft/api-extractor":"^7.58.7"},"_npmOperationalInternal":{"tmp":"tmp/agent-device_0.17.3_1781290463184_0.6548434717595519","host":"s3://npm-registry-packages-npm-production"}},"0.17.4":{"name":"agent-device","version":"0.17.4","keywords":["agent","device","cli","automation","adb","simctl","devicectl","ios","android","tvos","macos","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"],"author":{"name":"Callstack"},"license":"MIT","_id":"agent-device@0.17.4","maintainers":[{"name":"thymikee","email":"thymikee@gmail.com"}],"homepage":"https://agent-device.dev/","bugs":{"url":"https://github.com/callstackincubator/agent-device/issues"},"bin":{"agent-device":"bin/agent-device.mjs"},"dist":{"shasum":"e4eed7cb48df30554dc93d6ac8efdbd78e10c262","tarball":"https://registry.npmjs.org/agent-device/-/agent-device-0.17.4.tgz","fileCount":166,"integrity":"sha512-2iKX/RVuWRIZmvkjIcFeciMp3e0XKldZcFssLfbujRgTsIvAYT3emkgVr9sKke3lLlUUX24udwpB9C10VaCAjw==","signatures":[{"sig":"MEYCIQD9sxOtEaPDNKElbCEX6+TjTS0ULNAbO0h59/kyaVPLCgIhAJeMIb8X8hUDCC0WC42VnIlQs2Rhe9B07v1pGydiDy97","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1876661},"main":"dist/src/index.js","type":"module","types":"dist/src/index.d.ts","engines":{"node":">=22.19"},"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"},"./finders":{"types":"./dist/src/finders.d.ts","import":"./dist/src/finders.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"},"./android-snapshot-helper":{"types":"./dist/src/android-snapshot-helper.d.ts","import":"./dist/src/android-snapshot-helper.js"}},"gitHead":"71db11b74494dada054db9902a0dd21ee3914f3c","mcpName":"io.github.callstackincubator/agent-device","scripts":{"ad":"node bin/agent-device.mjs","lint":"oxlint . --deny-warnings","perf":"node --experimental-strip-types scripts/perf/run.ts","size":"node scripts/size-report.mjs","test":"vitest run --project unit","build":"rslib build","check":"pnpm check:tooling && pnpm check:fallow && pnpm check:unit","fallow":"fallow audit --base origin/main","format":"oxfmt --write src test skills package.json tsconfig.json tsconfig.lib.json rslib.config.ts vitest.config.ts .github/actions/setup-node-pnpm/action.yml .oxlintrc.json .oxfmtrc.json '!test/skillgym/.skillgym-results/**'","prepack":"pnpm check:mcp-metadata && pnpm build:all && pnpm package:android-snapshot-helper:npm && pnpm package:android-multitouch-helper:npm","version":"node scripts/sync-mcp-metadata.mjs && git add server.json","perf:ios":"node --experimental-strip-types scripts/perf/run.ts --platform ios","build:all":"pnpm build:node && pnpm build:xcuitest","test:unit":"vitest run --project unit","typecheck":"tsc -p tsconfig.json","build:node":"pnpm build && pnpm clean:daemon","check:unit":"pnpm test:unit && pnpm test:smoke","fallow:all":"fallow --summary","test:smoke":"node --test test/integration/smoke-*.test.ts","check:quick":"pnpm lint && pnpm typecheck","check:fallow":"fallow audit","clean:daemon":"node --experimental-strip-types scripts/clean-daemon.ts","format:check":"oxfmt --check src test skills package.json tsconfig.json tsconfig.lib.json rslib.config.ts vitest.config.ts .github/actions/setup-node-pnpm/action.yml .oxlintrc.json .oxfmtrc.json '!test/skillgym/.skillgym-results/**'","perf:android":"node --experimental-strip-types scripts/perf/run.ts --platform android","test-app:ios":"pnpm --dir examples/test-app ios","check:tooling":"pnpm lint && pnpm typecheck && pnpm check:mcp-metadata && pnpm build","size:markdown":"node scripts/size-report.mjs --json .tmp/size-report.json --markdown .tmp/size-report.md","test:coverage":"vitest run --coverage","test:skillgym":"node test/skillgym/runner-environment.ts && pnpm build && skillgym run ./test/skillgym/suites/agent-device-smoke-suite.ts --config ./test/skillgym/skillgym.config.ts","build:xcuitest":"pnpm build:xcuitest:ios && pnpm build:xcuitest:macos","clean:xcuitest":"node scripts/clean-xcuitest-derived.mjs","test-app:start":"pnpm --dir examples/test-app start","fallow:baseline":"(fallow dead-code --save-baseline fallow-baselines/dead-code.json --summary || true) && (fallow health --save-baseline fallow-baselines/health.json --summary || true)","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","test-app:android":"pnpm --dir examples/test-app android","test-app:install":"pnpm install --dir examples/test-app --ignore-workspace","test-app:maestro":"node scripts/run-test-app-maestro-suite.mjs","test:integration":"pnpm test:integration:node && pnpm test:integration:provider","sync:mcp-metadata":"node scripts/sync-mcp-metadata.mjs","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","build:macos-helper":"swift build -c release --package-path macos-helper","build:xcuitest:ios":"AGENT_DEVICE_XCUITEST_PLATFORM=ios sh ./scripts/build-xcuitest-apple.sh","check:mcp-metadata":"node scripts/sync-mcp-metadata.mjs --check","clean:xcuitest:ios":"node scripts/clean-xcuitest-derived.mjs ios","test-app:typecheck":"pnpm --dir examples/test-app typecheck","test:skillgym:case":"node test/skillgym/runner-environment.ts && pnpm build && skillgym run ./test/skillgym/suites/agent-device-smoke-suite.ts --config ./test/skillgym/skillgym.config.ts --case","build:xcuitest:tvos":"AGENT_DEVICE_XCUITEST_PLATFORM=tvos sh ./scripts/build-xcuitest-apple.sh","clean:xcuitest:tvos":"node scripts/clean-xcuitest-derived.mjs tvos","test-app:replay:ios":"pnpm ad test examples/test-app/replays --platform ios --artifacts-dir .tmp/test-app-replay/ios","test:replay:android":"node --experimental-strip-types src/bin.ts test test/integration/replays/android","build:xcuitest:macos":"AGENT_DEVICE_XCUITEST_PLATFORM=macos sh ./scripts/build-xcuitest-apple.sh","clean:xcuitest:macos":"node scripts/clean-xcuitest-derived.mjs macos","test-app:maestro:ios":"node scripts/run-test-app-maestro-suite.mjs --platform ios","test:integration:node":"node --test test/integration/*.test.ts","test:replay:ios-device":"node --experimental-strip-types src/bin.ts test test/integration/replays/ios/device","test-app:replay:android":"pnpm ad test examples/test-app/replays --platform android --artifacts-dir .tmp/test-app-replay/android","build:xcuitest:ios:clean":"pnpm clean:xcuitest:ios && pnpm build:xcuitest:ios","test-app:maestro:android":"node scripts/run-test-app-maestro-suite.mjs --platform android","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:android-snapshot-helper":"sh ./scripts/build-android-snapshot-helper.sh $(node -p \"require('./package.json').version\") .tmp/android-snapshot-helper","build:android-multitouch-helper":"sh ./scripts/build-android-multitouch-helper.sh $(node -p \"require('./package.json').version\") .tmp/android-multitouch-helper","package:android-snapshot-helper":"sh ./scripts/package-android-snapshot-helper.sh $(node -p \"require('./package.json').version\") v$(node -p \"require('./package.json').version\") .tmp/android-snapshot-helper","test:integration:progress:check":"node --experimental-strip-types scripts/integration-progress.ts --check","package:android-multitouch-helper":"sh ./scripts/package-android-multitouch-helper.sh $(node -p \"require('./package.json').version\") .tmp/android-multitouch-helper","package:android-snapshot-helper:npm":"rm -rf android-snapshot-helper/dist && sh ./scripts/package-android-snapshot-helper.sh $(node -p \"require('./package.json').version\") v$(node -p \"require('./package.json').version\") android-snapshot-helper/dist","package:android-multitouch-helper:npm":"rm -rf android-multitouch-helper/dist && sh ./scripts/package-android-multitouch-helper.sh $(node -p \"require('./package.json').version\") android-multitouch-helper/dist"},"_npmUser":{"name":"thymikee","email":"thymikee@gmail.com"},"repository":{"url":"git+https://github.com/callstackincubator/agent-device.git","type":"git"},"_npmVersion":"11.13.0","description":"Agent-native CLI for AI mobile testing and app automation across iOS, Android, tvOS, Android TV, macOS, and Linux.","directories":{},"_nodeVersion":"26.1.0","dependencies":{"yaml":"^2.9.0"},"_hasShrinkwrap":false,"packageManager":"pnpm@11.1.2","devDependencies":{"vite":"^8.0.10","oxfmt":"^0.42.0","fallow":"^2.91.0","oxlint":"^1.57.0","vitest":"^4.1.2","skillgym":"^0.8.0","typescript":"^6.0.2","@rslib/core":"0.20.1","@types/node":"^22.0.0","@vitest/coverage-v8":"4.1.2","@microsoft/api-extractor":"^7.58.7"},"_npmOperationalInternal":{"tmp":"tmp/agent-device_0.17.4_1781376657326_0.972187833716083","host":"s3://npm-registry-packages-npm-production"}},"0.17.5":{"name":"agent-device","version":"0.17.5","keywords":["agent","device","cli","automation","adb","simctl","devicectl","ios","android","tvos","macos","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"],"author":{"name":"Callstack"},"license":"MIT","_id":"agent-device@0.17.5","maintainers":[{"name":"thymikee","email":"thymikee@gmail.com"}],"homepage":"https://agent-device.dev/","bugs":{"url":"https://github.com/callstackincubator/agent-device/issues"},"bin":{"agent-device":"bin/agent-device.mjs"},"dist":{"shasum":"5148a4f379110a30b83204d0290d94eb374f78cd","tarball":"https://registry.npmjs.org/agent-device/-/agent-device-0.17.5.tgz","fileCount":166,"integrity":"sha512-IqUlbY0w9PRfEPWdRgB0YHXvDlLrwdykvSyXj57qX7RbL2nK94ZVRmgLYruNccVigK20zLTpmcjGSRlvC6lTPg==","signatures":[{"sig":"MEUCIDE5AfBg3s70yPpBB0JEexxHUt9dCXupUJSJBVbjAbjcAiEA6HKYbk892cTfR6qxxeCYNpkcZxixLGSmCL/J26UjhZM=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1885038},"main":"dist/src/index.js","type":"module","types":"dist/src/index.d.ts","engines":{"node":">=22.19"},"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"},"./finders":{"types":"./dist/src/finders.d.ts","import":"./dist/src/finders.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"},"./android-snapshot-helper":{"types":"./dist/src/android-snapshot-helper.d.ts","import":"./dist/src/android-snapshot-helper.js"}},"gitHead":"44f2f13549e107c893b5350d92c3ea603bb44f31","mcpName":"io.github.callstackincubator/agent-device","scripts":{"ad":"node bin/agent-device.mjs","lint":"oxlint . --deny-warnings","perf":"node --experimental-strip-types scripts/perf/run.ts","size":"node scripts/size-report.mjs","test":"vitest run --project unit","build":"rslib build","check":"pnpm check:tooling && pnpm check:fallow && pnpm check:unit","fallow":"fallow audit --base origin/main","format":"oxfmt --write src test skills package.json tsconfig.json tsconfig.lib.json rslib.config.ts vitest.config.ts .github/actions/setup-node-pnpm/action.yml .oxlintrc.json .oxfmtrc.json '!test/skillgym/.skillgym-results/**'","prepack":"pnpm check:mcp-metadata && pnpm build:all && pnpm package:android-snapshot-helper:npm && pnpm package:android-multitouch-helper:npm","version":"node scripts/sync-mcp-metadata.mjs && git add server.json","perf:ios":"node --experimental-strip-types scripts/perf/run.ts --platform ios","build:all":"pnpm build:node && pnpm build:xcuitest","test:unit":"vitest run --project unit","typecheck":"tsc -p tsconfig.json","build:node":"pnpm build && pnpm clean:daemon","check:unit":"pnpm test:unit && pnpm test:smoke","fallow:all":"fallow --summary","test:smoke":"node --test test/integration/smoke-*.test.ts","check:quick":"pnpm lint && pnpm typecheck","check:fallow":"fallow audit","clean:daemon":"node --experimental-strip-types scripts/clean-daemon.ts","format:check":"oxfmt --check src test skills package.json tsconfig.json tsconfig.lib.json rslib.config.ts vitest.config.ts .github/actions/setup-node-pnpm/action.yml .oxlintrc.json .oxfmtrc.json '!test/skillgym/.skillgym-results/**'","perf:android":"node --experimental-strip-types scripts/perf/run.ts --platform android","test-app:ios":"pnpm --dir examples/test-app ios","check:tooling":"pnpm lint && pnpm typecheck && pnpm check:mcp-metadata && pnpm build","size:markdown":"node scripts/size-report.mjs --json .tmp/size-report.json --markdown .tmp/size-report.md","test:coverage":"vitest run --coverage","test:skillgym":"node test/skillgym/runner-environment.ts && pnpm build && skillgym run ./test/skillgym/suites/agent-device-smoke-suite.ts --config ./test/skillgym/skillgym.config.ts","build:xcuitest":"pnpm build:xcuitest:ios && pnpm build:xcuitest:macos","clean:xcuitest":"node scripts/clean-xcuitest-derived.mjs","test-app:start":"pnpm --dir examples/test-app start","fallow:baseline":"(fallow dead-code --save-baseline fallow-baselines/dead-code.json --summary || true) && (fallow health --save-baseline fallow-baselines/health.json --summary || true)","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","test-app:android":"pnpm --dir examples/test-app android","test-app:install":"pnpm install --dir examples/test-app --ignore-workspace","test-app:maestro":"node scripts/run-test-app-maestro-suite.mjs","test:integration":"pnpm test:integration:node && pnpm test:integration:provider","sync:mcp-metadata":"node scripts/sync-mcp-metadata.mjs","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","build:macos-helper":"swift build -c release --package-path macos-helper","build:xcuitest:ios":"AGENT_DEVICE_XCUITEST_PLATFORM=ios sh ./scripts/build-xcuitest-apple.sh","check:mcp-metadata":"node scripts/sync-mcp-metadata.mjs --check","clean:xcuitest:ios":"node scripts/clean-xcuitest-derived.mjs ios","test-app:typecheck":"pnpm --dir examples/test-app typecheck","test:skillgym:case":"node test/skillgym/runner-environment.ts && pnpm build && skillgym run ./test/skillgym/suites/agent-device-smoke-suite.ts --config ./test/skillgym/skillgym.config.ts --case","build:xcuitest:tvos":"AGENT_DEVICE_XCUITEST_PLATFORM=tvos sh ./scripts/build-xcuitest-apple.sh","clean:xcuitest:tvos":"node scripts/clean-xcuitest-derived.mjs tvos","test-app:replay:ios":"pnpm ad test examples/test-app/replays --platform ios --artifacts-dir .tmp/test-app-replay/ios","test:replay:android":"node --experimental-strip-types src/bin.ts test test/integration/replays/android","build:xcuitest:macos":"AGENT_DEVICE_XCUITEST_PLATFORM=macos sh ./scripts/build-xcuitest-apple.sh","clean:xcuitest:macos":"node scripts/clean-xcuitest-derived.mjs macos","test-app:maestro:ios":"node scripts/run-test-app-maestro-suite.mjs --platform ios","test:integration:node":"node --test test/integration/*.test.ts","test:replay:ios-device":"node --experimental-strip-types src/bin.ts test test/integration/replays/ios/device","test-app:replay:android":"pnpm ad test examples/test-app/replays --platform android --artifacts-dir .tmp/test-app-replay/android","build:xcuitest:ios:clean":"pnpm clean:xcuitest:ios && pnpm build:xcuitest:ios","test-app:maestro:android":"node scripts/run-test-app-maestro-suite.mjs --platform android","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:android-snapshot-helper":"sh ./scripts/build-android-snapshot-helper.sh $(node -p \"require('./package.json').version\") .tmp/android-snapshot-helper","build:android-multitouch-helper":"sh ./scripts/build-android-multitouch-helper.sh $(node -p \"require('./package.json').version\") .tmp/android-multitouch-helper","package:android-snapshot-helper":"sh ./scripts/package-android-snapshot-helper.sh $(node -p \"require('./package.json').version\") v$(node -p \"require('./package.json').version\") .tmp/android-snapshot-helper","test:integration:progress:check":"node --experimental-strip-types scripts/integration-progress.ts --check","package:android-multitouch-helper":"sh ./scripts/package-android-multitouch-helper.sh $(node -p \"require('./package.json').version\") .tmp/android-multitouch-helper","package:android-snapshot-helper:npm":"rm -rf android-snapshot-helper/dist && sh ./scripts/package-android-snapshot-helper.sh $(node -p \"require('./package.json').version\") v$(node -p \"require('./package.json').version\") android-snapshot-helper/dist","package:android-multitouch-helper:npm":"rm -rf android-multitouch-helper/dist && sh ./scripts/package-android-multitouch-helper.sh $(node -p \"require('./package.json').version\") android-multitouch-helper/dist"},"_npmUser":{"name":"thymikee","email":"thymikee@gmail.com"},"repository":{"url":"git+https://github.com/callstackincubator/agent-device.git","type":"git"},"_npmVersion":"11.13.0","description":"Agent-native CLI for AI mobile testing and app automation across iOS, Android, tvOS, Android TV, macOS, and Linux.","directories":{},"_nodeVersion":"26.1.0","dependencies":{"yaml":"^2.9.0"},"_hasShrinkwrap":false,"packageManager":"pnpm@11.1.2","devDependencies":{"vite":"^8.0.10","oxfmt":"^0.42.0","fallow":"^2.91.0","oxlint":"^1.57.0","vitest":"^4.1.2","skillgym":"^0.8.0","typescript":"^6.0.2","@rslib/core":"0.20.1","@types/node":"^22.0.0","@vitest/coverage-v8":"4.1.2","@microsoft/api-extractor":"^7.58.7"},"_npmOperationalInternal":{"tmp":"tmp/agent-device_0.17.5_1781447259674_0.3629490989509576","host":"s3://npm-registry-packages-npm-production"}},"0.17.6":{"name":"agent-device","version":"0.17.6","keywords":["agent","device","cli","automation","adb","simctl","devicectl","ios","android","tvos","macos","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"],"author":{"name":"Callstack"},"license":"MIT","_id":"agent-device@0.17.6","maintainers":[{"name":"thymikee","email":"thymikee@gmail.com"}],"homepage":"https://agent-device.dev/","bugs":{"url":"https://github.com/callstack/agent-device/issues"},"bin":{"agent-device":"bin/agent-device.mjs"},"dist":{"shasum":"cb39ab3ffe12650f2fb668bd1f2b95f7fc6cfb89","tarball":"https://registry.npmjs.org/agent-device/-/agent-device-0.17.6.tgz","fileCount":165,"integrity":"sha512-l/6I8febODsOnYwkKZnSOpgdj22oeFyZt/BmISWJ/0Kf/y4dIrdr93+9on20PPqthyOPnxaS/zjEZsd8+7ByxQ==","signatures":[{"sig":"MEUCICPMzncmCTLweTwVHmEk3EtL6RWkux0YCQNnObG8QqbrAiEA9OPOxtVVT3WCxPJ1bgAqVnUM/QVr0AVwteCmuWDzKTk=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1890639},"main":"dist/src/index.js","type":"module","types":"dist/src/index.d.ts","engines":{"node":">=22.19"},"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"},"./finders":{"types":"./dist/src/finders.d.ts","import":"./dist/src/finders.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"},"./android-snapshot-helper":{"types":"./dist/src/android-snapshot-helper.d.ts","import":"./dist/src/android-snapshot-helper.js"}},"gitHead":"f9a9662f05342927303b6611736e13eb90024824","mcpName":"io.github.callstackincubator/agent-device","scripts":{"ad":"node bin/agent-device.mjs","lint":"oxlint . --deny-warnings","perf":"node --experimental-strip-types scripts/perf/run.ts","size":"node scripts/size-report.mjs","test":"vitest run --project unit","build":"rslib build","check":"pnpm check:tooling && pnpm check:fallow && pnpm check:unit","fallow":"fallow audit --base origin/main","format":"oxfmt --write src test skills package.json tsconfig.json tsconfig.lib.json rslib.config.ts vitest.config.ts .github/actions/setup-node-pnpm/action.yml .oxlintrc.json .oxfmtrc.json '!test/skillgym/.skillgym-results/**'","prepack":"pnpm check:mcp-metadata && pnpm build:all && pnpm package:android-snapshot-helper:npm && pnpm package:android-multitouch-helper:npm","version":"node scripts/sync-mcp-metadata.mjs && git add server.json","perf:ios":"node --experimental-strip-types scripts/perf/run.ts --platform ios","build:all":"pnpm build:node && pnpm build:xcuitest","test:unit":"vitest run --project unit","typecheck":"tsc -p tsconfig.json","build:node":"pnpm build && pnpm clean:daemon","check:unit":"pnpm test:unit && pnpm test:smoke","fallow:all":"fallow --summary","test:smoke":"node --test test/integration/smoke-*.test.ts","check:quick":"pnpm lint && pnpm typecheck","check:fallow":"fallow audit","clean:daemon":"node --experimental-strip-types scripts/clean-daemon.ts","format:check":"oxfmt --check src test skills package.json tsconfig.json tsconfig.lib.json rslib.config.ts vitest.config.ts .github/actions/setup-node-pnpm/action.yml .oxlintrc.json .oxfmtrc.json '!test/skillgym/.skillgym-results/**'","perf:android":"node --experimental-strip-types scripts/perf/run.ts --platform android","test-app:ios":"pnpm --dir examples/test-app ios","check:tooling":"pnpm lint && pnpm typecheck && pnpm check:mcp-metadata && pnpm build","size:markdown":"node scripts/size-report.mjs --json .tmp/size-report.json --markdown .tmp/size-report.md","test:coverage":"vitest run --coverage","test:skillgym":"node test/skillgym/runner-environment.ts && pnpm build && skillgym run ./test/skillgym/suites/agent-device-smoke-suite.ts --config ./test/skillgym/skillgym.config.ts","build:xcuitest":"pnpm build:xcuitest:ios && pnpm build:xcuitest:macos","clean:xcuitest":"node scripts/clean-xcuitest-derived.mjs","test-app:start":"pnpm --dir examples/test-app start","fallow:baseline":"(fallow dead-code --save-baseline fallow-baselines/dead-code.json --summary || true) && (fallow health --save-baseline fallow-baselines/health.json --summary || true)","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","test-app:android":"pnpm --dir examples/test-app android","test-app:install":"pnpm install --dir examples/test-app --ignore-workspace","test-app:maestro":"node scripts/run-test-app-maestro-suite.mjs","test:integration":"pnpm test:integration:node && pnpm test:integration:provider","sync:mcp-metadata":"node scripts/sync-mcp-metadata.mjs","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","build:macos-helper":"swift build -c release --package-path macos-helper","build:xcuitest:ios":"AGENT_DEVICE_XCUITEST_PLATFORM=ios sh ./scripts/build-xcuitest-apple.sh","check:mcp-metadata":"node scripts/sync-mcp-metadata.mjs --check","clean:xcuitest:ios":"node scripts/clean-xcuitest-derived.mjs ios","test-app:typecheck":"pnpm --dir examples/test-app typecheck","test:skillgym:case":"node test/skillgym/runner-environment.ts && pnpm build && skillgym run ./test/skillgym/suites/agent-device-smoke-suite.ts --config ./test/skillgym/skillgym.config.ts --case","build:xcuitest:tvos":"AGENT_DEVICE_XCUITEST_PLATFORM=tvos sh ./scripts/build-xcuitest-apple.sh","clean:xcuitest:tvos":"node scripts/clean-xcuitest-derived.mjs tvos","test-app:replay:ios":"pnpm ad test examples/test-app/replays --platform ios --artifacts-dir .tmp/test-app-replay/ios","test:replay:android":"node --experimental-strip-types src/bin.ts test test/integration/replays/android","build:xcuitest:macos":"AGENT_DEVICE_XCUITEST_PLATFORM=macos sh ./scripts/build-xcuitest-apple.sh","clean:xcuitest:macos":"node scripts/clean-xcuitest-derived.mjs macos","test-app:maestro:ios":"node scripts/run-test-app-maestro-suite.mjs --platform ios","test:integration:node":"node --test test/integration/*.test.ts","test:replay:ios-device":"node --experimental-strip-types src/bin.ts test test/integration/replays/ios/device","test-app:replay:android":"pnpm ad test examples/test-app/replays --platform android --artifacts-dir .tmp/test-app-replay/android","build:xcuitest:ios:clean":"pnpm clean:xcuitest:ios && pnpm build:xcuitest:ios","test-app:maestro:android":"node scripts/run-test-app-maestro-suite.mjs --platform android","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:android-snapshot-helper":"sh ./scripts/build-android-snapshot-helper.sh $(node -p \"require('./package.json').version\") .tmp/android-snapshot-helper","build:android-multitouch-helper":"sh ./scripts/build-android-multitouch-helper.sh $(node -p \"require('./package.json').version\") .tmp/android-multitouch-helper","package:android-snapshot-helper":"sh ./scripts/package-android-snapshot-helper.sh $(node -p \"require('./package.json').version\") v$(node -p \"require('./package.json').version\") .tmp/android-snapshot-helper","test:integration:progress:check":"node --experimental-strip-types scripts/integration-progress.ts --check","package:android-multitouch-helper":"sh ./scripts/package-android-multitouch-helper.sh $(node -p \"require('./package.json').version\") .tmp/android-multitouch-helper","package:android-snapshot-helper:npm":"rm -rf android-snapshot-helper/dist && sh ./scripts/package-android-snapshot-helper.sh $(node -p \"require('./package.json').version\") v$(node -p \"require('./package.json').version\") android-snapshot-helper/dist","package:android-multitouch-helper:npm":"rm -rf android-multitouch-helper/dist && sh ./scripts/package-android-multitouch-helper.sh $(node -p \"require('./package.json').version\") android-multitouch-helper/dist"},"_npmUser":{"name":"thymikee","email":"thymikee@gmail.com"},"repository":{"url":"git+https://github.com/callstack/agent-device.git","type":"git"},"_npmVersion":"11.13.0","description":"Agent-native CLI for AI mobile testing and app automation across iOS, Android, tvOS, Android TV, macOS, and Linux.","directories":{},"_nodeVersion":"26.1.0","dependencies":{"yaml":"^2.9.0"},"_hasShrinkwrap":false,"packageManager":"pnpm@11.1.2","devDependencies":{"vite":"^8.0.16","oxfmt":"^0.42.0","fallow":"^2.95.0","oxlint":"^1.69.0","vitest":"^4.1.8","skillgym":"^0.9.1","typescript":"^6.0.3","@rslib/core":"0.22.1","@types/node":"^22.19.21","@vitest/coverage-v8":"4.1.8","@microsoft/api-extractor":"^7.58.8","@typescript/native-preview":"7.0.0-dev.20260613.1"},"_npmOperationalInternal":{"tmp":"tmp/agent-device_0.17.6_1781625681761_0.6285381081262225","host":"s3://npm-registry-packages-npm-production"}},"0.17.7":{"name":"agent-device","version":"0.17.7","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"],"author":{"name":"Callstack"},"license":"MIT","_id":"agent-device@0.17.7","maintainers":[{"name":"thymikee","email":"thymikee@gmail.com"}],"homepage":"https://agent-device.dev/","bugs":{"url":"https://github.com/callstack/agent-device/issues"},"bin":{"agent-device":"bin/agent-device.mjs"},"dist":{"shasum":"eab837fec6397c23be73008786d9ed70a60008cd","tarball":"https://registry.npmjs.org/agent-device/-/agent-device-0.17.7.tgz","fileCount":168,"integrity":"sha512-Uaw0pqo1ell9/EfK7xh0z9hLCa6WpK+rvGzAcm86jn+mdvd+jnpo+pdzkqrzXOgLoqPeHFyu46q+M98iMRRNsw==","signatures":[{"sig":"MEUCIQC5dW33MKYhQV6aPKSBzMKCUdxv3IO9U1lxyTxZ4wkoJQIgW5HseN4UoTluA072+yiTiVkrgg7zTd1LOnerVgkmWHM=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1925924},"main":"dist/src/index.js","type":"module","types":"dist/src/index.d.ts","engines":{"node":">=22.19"},"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"},"./finders":{"types":"./dist/src/finders.d.ts","import":"./dist/src/finders.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"},"./android-snapshot-helper":{"types":"./dist/src/android-snapshot-helper.d.ts","import":"./dist/src/android-snapshot-helper.js"}},"gitHead":"b3b8c90fdaea93259d6b0710df8a817b23061e58","mcpName":"io.github.callstackincubator/agent-device","scripts":{"ad":"node bin/agent-device.mjs","lint":"oxlint . --deny-warnings","perf":"node --experimental-strip-types scripts/perf/run.ts","size":"node scripts/size-report.mjs","test":"vitest run --project unit","build":"rslib build","check":"pnpm check:tooling && pnpm check:fallow && pnpm check:unit","fallow":"fallow audit --base origin/main","format":"oxfmt --write src test skills package.json tsconfig.json tsconfig.lib.json rslib.config.ts vitest.config.ts .github/actions/setup-node-pnpm/action.yml .oxlintrc.json .oxfmtrc.json '!test/skillgym/.skillgym-results/**'","prepack":"pnpm check:mcp-metadata && pnpm build:all && pnpm package:android-snapshot-helper:npm && pnpm package:android-multitouch-helper:npm","version":"node scripts/sync-mcp-metadata.mjs && git add server.json","perf:ios":"node --experimental-strip-types scripts/perf/run.ts --platform ios","build:all":"pnpm build:node && pnpm build:xcuitest","test:unit":"vitest run --project unit","typecheck":"tsc -p tsconfig.json","build:node":"pnpm build && pnpm clean:daemon","check:unit":"pnpm test:unit && pnpm test:smoke","fallow:all":"fallow --summary","test:smoke":"node --test test/integration/smoke-*.test.ts","check:quick":"pnpm lint && pnpm typecheck","check:fallow":"fallow audit","clean:daemon":"node --experimental-strip-types scripts/clean-daemon.ts","format:check":"oxfmt --check src test skills package.json tsconfig.json tsconfig.lib.json rslib.config.ts vitest.config.ts .github/actions/setup-node-pnpm/action.yml .oxlintrc.json .oxfmtrc.json '!test/skillgym/.skillgym-results/**'","perf:android":"node --experimental-strip-types scripts/perf/run.ts --platform android","test-app:ios":"pnpm --dir examples/test-app ios","check:tooling":"pnpm lint && pnpm typecheck && pnpm check:mcp-metadata && pnpm build","size:markdown":"node scripts/size-report.mjs --json .tmp/size-report.json --markdown .tmp/size-report.md","test:coverage":"vitest run --coverage","test:skillgym":"node test/skillgym/runner-environment.ts && pnpm build && skillgym run ./test/skillgym/suites/agent-device-smoke-suite.ts --config ./test/skillgym/skillgym.config.ts","build:xcuitest":"pnpm build:xcuitest:ios && pnpm build:xcuitest:macos","clean:xcuitest":"node scripts/clean-xcuitest-derived.mjs","test-app:start":"pnpm --dir examples/test-app start","test:smoke:web":"pnpm build && node --test test/integration/smoke-web-platform.test.ts","fallow:baseline":"(fallow dead-code --save-baseline fallow-baselines/dead-code.json --summary || true) && (fallow health --save-baseline fallow-baselines/health.json --summary || true)","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","test-app:android":"pnpm --dir examples/test-app android","test-app:install":"pnpm install --dir examples/test-app --ignore-workspace","test-app:maestro":"node scripts/run-test-app-maestro-suite.mjs","test:integration":"pnpm test:integration:node && pnpm test:integration:provider","sync:mcp-metadata":"node scripts/sync-mcp-metadata.mjs","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","build:macos-helper":"swift build -c release --package-path macos-helper","build:xcuitest:ios":"AGENT_DEVICE_XCUITEST_PLATFORM=ios sh ./scripts/build-xcuitest-apple.sh","check:mcp-metadata":"node scripts/sync-mcp-metadata.mjs --check","clean:xcuitest:ios":"node scripts/clean-xcuitest-derived.mjs ios","test-app:typecheck":"pnpm --dir examples/test-app typecheck","test:skillgym:case":"node test/skillgym/runner-environment.ts && pnpm build && skillgym run ./test/skillgym/suites/agent-device-smoke-suite.ts --config ./test/skillgym/skillgym.config.ts --case","build:xcuitest:tvos":"AGENT_DEVICE_XCUITEST_PLATFORM=tvos sh ./scripts/build-xcuitest-apple.sh","clean:xcuitest:tvos":"node scripts/clean-xcuitest-derived.mjs tvos","test-app:replay:ios":"pnpm ad test examples/test-app/replays --platform ios --artifacts-dir .tmp/test-app-replay/ios","test:replay:android":"node --experimental-strip-types src/bin.ts test test/integration/replays/android","build:xcuitest:macos":"AGENT_DEVICE_XCUITEST_PLATFORM=macos sh ./scripts/build-xcuitest-apple.sh","clean:xcuitest:macos":"node scripts/clean-xcuitest-derived.mjs macos","test-app:maestro:ios":"node scripts/run-test-app-maestro-suite.mjs --platform ios","test:integration:node":"node --test test/integration/*.test.ts","test:replay:ios-device":"node --experimental-strip-types src/bin.ts test test/integration/replays/ios/device","test-app:replay:android":"pnpm ad test examples/test-app/replays --platform android --artifacts-dir .tmp/test-app-replay/android","build:xcuitest:ios:clean":"pnpm clean:xcuitest:ios && pnpm build:xcuitest:ios","test-app:maestro:android":"node scripts/run-test-app-maestro-suite.mjs --platform android","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:android-snapshot-helper":"sh ./scripts/build-android-snapshot-helper.sh $(node -p \"require('./package.json').version\") .tmp/android-snapshot-helper","build:android-multitouch-helper":"sh ./scripts/build-android-multitouch-helper.sh $(node -p \"require('./package.json').version\") .tmp/android-multitouch-helper","package:android-snapshot-helper":"sh ./scripts/package-android-snapshot-helper.sh $(node -p \"require('./package.json').version\") v$(node -p \"require('./package.json').version\") .tmp/android-snapshot-helper","test:integration:progress:check":"node --experimental-strip-types scripts/integration-progress.ts --check","package:android-multitouch-helper":"sh ./scripts/package-android-multitouch-helper.sh $(node -p \"require('./package.json').version\") .tmp/android-multitouch-helper","package:android-snapshot-helper:npm":"rm -rf android-snapshot-helper/dist && sh ./scripts/package-android-snapshot-helper.sh $(node -p \"require('./package.json').version\") v$(node -p \"require('./package.json').version\") android-snapshot-helper/dist","package:android-multitouch-helper:npm":"rm -rf android-multitouch-helper/dist && sh ./scripts/package-android-multitouch-helper.sh $(node -p \"require('./package.json').version\") android-multitouch-helper/dist"},"_npmUser":{"name":"thymikee","email":"thymikee@gmail.com"},"repository":{"url":"git+https://github.com/callstack/agent-device.git","type":"git"},"_npmVersion":"11.13.0","description":"Agent-native CLI for AI app automation across iOS, Android, tvOS, Android TV, macOS, Linux, and web.","directories":{},"_nodeVersion":"26.1.0","dependencies":{"yaml":"^2.9.0"},"_hasShrinkwrap":false,"packageManager":"pnpm@11.1.2","devDependencies":{"vite":"^8.0.16","oxfmt":"^0.42.0","fallow":"^2.95.0","oxlint":"^1.69.0","vitest":"^4.1.8","skillgym":"^0.9.1","typescript":"^6.0.3","@rslib/core":"0.22.1","@types/node":"^22.19.21","@vitest/coverage-v8":"4.1.8","@microsoft/api-extractor":"^7.58.8","@typescript/native-preview":"7.0.0-dev.20260613.1"},"_npmOperationalInternal":{"tmp":"tmp/agent-device_0.17.7_1782202124200_0.392911885794613","host":"s3://npm-registry-packages-npm-production"}},"0.17.8":{"name":"agent-device","version":"0.17.8","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"],"author":{"name":"Callstack"},"license":"MIT","_id":"agent-device@0.17.8","maintainers":[{"name":"thymikee","email":"thymikee@gmail.com"}],"homepage":"https://agent-device.dev/","bugs":{"url":"https://github.com/callstack/agent-device/issues"},"bin":{"agent-device":"bin/agent-device.mjs"},"dist":{"shasum":"a14e9032ec7b1484e5c7d67aa19cdb25a9a56ec7","tarball":"https://registry.npmjs.org/agent-device/-/agent-device-0.17.8.tgz","fileCount":168,"integrity":"sha512-Qw7rF4sf7UMgLp08sJtC2R4WFd3D4i3BRbPcdRL1V8AaICJ5LrDDkppeGeP7/n8jJKpiFj9vjcRoWesjXtMrNQ==","signatures":[{"sig":"MEQCICcBo4x+08fTL+rjDQd9+DeXnNVBjoKwBFcULwf8qXHeAiBo0lLgCPCCulE/hq3Q85vJ66StrsB/FvX1M+47rjzLVw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1938819},"main":"dist/src/index.js","type":"module","types":"dist/src/index.d.ts","engines":{"node":">=22.19"},"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"},"./finders":{"types":"./dist/src/finders.d.ts","import":"./dist/src/finders.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"},"./android-snapshot-helper":{"types":"./dist/src/android-snapshot-helper.d.ts","import":"./dist/src/android-snapshot-helper.js"}},"gitHead":"51eaa7fd20556a157c07775c1bc038ada3f5002d","mcpName":"io.github.callstackincubator/agent-device","scripts":{"ad":"node bin/agent-device.mjs","lint":"oxlint . --deny-warnings","perf":"node --experimental-strip-types scripts/perf/run.ts","size":"node scripts/size-report.mjs","test":"vitest run --project unit","build":"rslib build","check":"pnpm check:tooling && pnpm check:fallow && pnpm check:unit","fallow":"fallow audit --base origin/main","format":"oxfmt --write src test skills package.json tsconfig.json tsconfig.lib.json rslib.config.ts vitest.config.ts .github/actions/setup-node-pnpm/action.yml .oxlintrc.json .oxfmtrc.json '!test/skillgym/.skillgym-results/**'","prepack":"pnpm check:mcp-metadata && pnpm build:all && pnpm package:android-snapshot-helper:npm && pnpm package:android-multitouch-helper:npm","version":"node scripts/sync-mcp-metadata.mjs && git add server.json","perf:ios":"node --experimental-strip-types scripts/perf/run.ts --platform ios","build:all":"pnpm build:node && pnpm build:xcuitest","test:unit":"vitest run --project unit","typecheck":"tsc -p tsconfig.json","build:node":"pnpm build && pnpm clean:daemon","check:unit":"pnpm test:unit && pnpm test:smoke","fallow:all":"fallow --summary","test:smoke":"node --test test/integration/smoke-*.test.ts","check:quick":"pnpm lint && pnpm typecheck","check:fallow":"fallow audit","clean:daemon":"node --experimental-strip-types scripts/clean-daemon.ts","format:check":"oxfmt --check src test skills package.json tsconfig.json tsconfig.lib.json rslib.config.ts vitest.config.ts .github/actions/setup-node-pnpm/action.yml .oxlintrc.json .oxfmtrc.json '!test/skillgym/.skillgym-results/**'","perf:android":"node --experimental-strip-types scripts/perf/run.ts --platform android","test-app:ios":"pnpm --dir examples/test-app ios","check:tooling":"pnpm lint && pnpm typecheck && pnpm check:mcp-metadata && pnpm build","size:markdown":"node scripts/size-report.mjs --json .tmp/size-report.json --markdown .tmp/size-report.md","test:coverage":"vitest run --coverage","test:skillgym":"node test/skillgym/runner-environment.ts && pnpm build && skillgym run ./test/skillgym/suites/agent-device-smoke-suite.ts --config ./test/skillgym/skillgym.config.ts","build:xcuitest":"pnpm build:xcuitest:ios && pnpm build:xcuitest:macos","clean:xcuitest":"node scripts/clean-xcuitest-derived.mjs","test-app:start":"pnpm --dir examples/test-app start","test:smoke:web":"pnpm build && node --test test/integration/smoke-web-platform.test.ts","fallow:baseline":"(fallow dead-code --save-baseline fallow-baselines/dead-code.json --summary || true) && (fallow health --save-baseline fallow-baselines/health.json --summary || true)","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","test-app:android":"pnpm --dir examples/test-app android","test-app:install":"pnpm install --dir examples/test-app --ignore-workspace","test-app:maestro":"node scripts/run-test-app-maestro-suite.mjs","test:integration":"pnpm test:integration:node && pnpm test:integration:provider","sync:mcp-metadata":"node scripts/sync-mcp-metadata.mjs","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","build:macos-helper":"swift build -c release --package-path macos-helper","build:xcuitest:ios":"AGENT_DEVICE_XCUITEST_PLATFORM=ios sh ./scripts/build-xcuitest-apple.sh","check:mcp-metadata":"node scripts/sync-mcp-metadata.mjs --check","clean:xcuitest:ios":"node scripts/clean-xcuitest-derived.mjs ios","test-app:typecheck":"pnpm --dir examples/test-app typecheck","test:skillgym:case":"node test/skillgym/runner-environment.ts && pnpm build && skillgym run ./test/skillgym/suites/agent-device-smoke-suite.ts --config ./test/skillgym/skillgym.config.ts --case","build:xcuitest:tvos":"AGENT_DEVICE_XCUITEST_PLATFORM=tvos sh ./scripts/build-xcuitest-apple.sh","clean:xcuitest:tvos":"node scripts/clean-xcuitest-derived.mjs tvos","test-app:replay:ios":"pnpm ad test examples/test-app/replays --platform ios --artifacts-dir .tmp/test-app-replay/ios","test:replay:android":"node --experimental-strip-types src/bin.ts test test/integration/replays/android","build:xcuitest:macos":"AGENT_DEVICE_XCUITEST_PLATFORM=macos sh ./scripts/build-xcuitest-apple.sh","clean:xcuitest:macos":"node scripts/clean-xcuitest-derived.mjs macos","test-app:maestro:ios":"node scripts/run-test-app-maestro-suite.mjs --platform ios","test:integration:node":"node --test test/integration/*.test.ts","test:replay:ios-device":"node --experimental-strip-types src/bin.ts test test/integration/replays/ios/device","test-app:replay:android":"pnpm ad test examples/test-app/replays --platform android --artifacts-dir .tmp/test-app-replay/android","build:xcuitest:ios:clean":"pnpm clean:xcuitest:ios && pnpm build:xcuitest:ios","test-app:maestro:android":"node scripts/run-test-app-maestro-suite.mjs --platform android","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:android-snapshot-helper":"sh ./scripts/build-android-snapshot-helper.sh $(node -p \"require('./package.json').version\") .tmp/android-snapshot-helper","build:android-multitouch-helper":"sh ./scripts/build-android-multitouch-helper.sh $(node -p \"require('./package.json').version\") .tmp/android-multitouch-helper","package:android-snapshot-helper":"sh ./scripts/package-android-snapshot-helper.sh $(node -p \"require('./package.json').version\") v$(node -p \"require('./package.json').version\") .tmp/android-snapshot-helper","test:integration:progress:check":"node --experimental-strip-types scripts/integration-progress.ts --check","package:android-multitouch-helper":"sh ./scripts/package-android-multitouch-helper.sh $(node -p \"require('./package.json').version\") .tmp/android-multitouch-helper","package:android-snapshot-helper:npm":"rm -rf android-snapshot-helper/dist && sh ./scripts/package-android-snapshot-helper.sh $(node -p \"require('./package.json').version\") v$(node -p \"require('./package.json').version\") android-snapshot-helper/dist","package:android-multitouch-helper:npm":"rm -rf android-multitouch-helper/dist && sh ./scripts/package-android-multitouch-helper.sh $(node -p \"require('./package.json').version\") android-multitouch-helper/dist"},"_npmUser":{"name":"thymikee","email":"thymikee@gmail.com"},"repository":{"url":"git+https://github.com/callstack/agent-device.git","type":"git"},"_npmVersion":"11.13.0","description":"Agent-native CLI for AI app automation across iOS, Android, tvOS, Android TV, macOS, Linux, and web.","directories":{},"_nodeVersion":"26.1.0","dependencies":{"yaml":"^2.9.0"},"_hasShrinkwrap":false,"packageManager":"pnpm@11.1.2","devDependencies":{"vite":"^8.0.16","oxfmt":"^0.42.0","fallow":"^2.95.0","oxlint":"^1.69.0","vitest":"^4.1.8","skillgym":"^0.9.1","typescript":"^6.0.3","@rslib/core":"0.22.1","@types/node":"^22.19.21","@vitest/coverage-v8":"4.1.8","@microsoft/api-extractor":"^7.58.8","@typescript/native-preview":"7.0.0-dev.20260613.1"},"_npmOperationalInternal":{"tmp":"tmp/agent-device_0.17.8_1782229243096_0.2132150616662789","host":"s3://npm-registry-packages-npm-production"}},"0.17.9":{"name":"agent-device","version":"0.17.9","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"],"author":{"name":"Callstack"},"license":"MIT","_id":"agent-device@0.17.9","maintainers":[{"name":"thymikee","email":"thymikee@gmail.com"}],"homepage":"https://agent-device.dev/","bugs":{"url":"https://github.com/callstack/agent-device/issues"},"bin":{"agent-device":"bin/agent-device.mjs"},"dist":{"shasum":"045e53fe380bbeee3ec0a6e0a9fe1e6817ac93c5","tarball":"https://registry.npmjs.org/agent-device/-/agent-device-0.17.9.tgz","fileCount":166,"integrity":"sha512-xNHkYAMxJ2GcjtKm7MLCOIzXMWFz2Nxjxw04iUFqhMbyK7eTl+ePLj4EF/Gtc+fpAJVmC+zvH2WNOnAG3xpf3w==","signatures":[{"sig":"MEUCIGsMbt4wc5G8ApWuC2ghZGTHZeVlirOflZnTARyHRHwDAiEAtK1InyQxDgW885PFHpy4+nbaiBX21B97E0bhSAUk/cY=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1964117},"main":"dist/src/index.js","type":"module","types":"dist/src/index.d.ts","engines":{"node":">=22.19"},"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"},"./finders":{"types":"./dist/src/finders.d.ts","import":"./dist/src/finders.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"},"./android-snapshot-helper":{"types":"./dist/src/android-snapshot-helper.d.ts","import":"./dist/src/android-snapshot-helper.js"}},"gitHead":"63e68cd59617d2bdcb45c073a0466c3a63cf6644","mcpName":"io.github.callstackincubator/agent-device","scripts":{"ad":"node bin/agent-device.mjs","lint":"oxlint . --deny-warnings","perf":"node --experimental-strip-types scripts/perf/run.ts","size":"node scripts/size-report.mjs","test":"vitest run --project unit","build":"rslib build","check":"pnpm check:tooling && pnpm check:fallow && pnpm check:unit","fallow":"fallow audit --base origin/main","format":"node ./node_modules/oxfmt/bin/oxfmt --write src test skills package.json tsconfig.json tsconfig.lib.json rslib.config.ts vitest.config.ts .github/actions/setup-node-pnpm/action.yml .oxlintrc.json .oxfmtrc.json '!test/skillgym/.skillgym-results/**'","prepack":"pnpm check:mcp-metadata && pnpm build:all && pnpm package:android-snapshot-helper:npm && pnpm package:android-multitouch-helper:npm","version":"node scripts/sync-mcp-metadata.mjs && git add server.json","perf:ios":"node --experimental-strip-types scripts/perf/run.ts --platform ios","build:all":"pnpm build:node && pnpm build:xcuitest","test:unit":"vitest run --project unit","typecheck":"tsc -p tsconfig.json","build:node":"pnpm build && pnpm clean:daemon","check:unit":"pnpm test:unit && pnpm test:smoke","fallow:all":"fallow --summary","test:smoke":"node --test test/integration/smoke-*.test.ts","check:quick":"pnpm lint && pnpm typecheck","check:fallow":"fallow audit","clean:daemon":"node --experimental-strip-types scripts/clean-daemon.ts","format:check":"node ./node_modules/oxfmt/bin/oxfmt --check src test skills package.json tsconfig.json tsconfig.lib.json rslib.config.ts vitest.config.ts .github/actions/setup-node-pnpm/action.yml .oxlintrc.json .oxfmtrc.json '!test/skillgym/.skillgym-results/**'","perf:android":"node --experimental-strip-types scripts/perf/run.ts --platform android","test-app:ios":"pnpm --dir examples/test-app ios","check:tooling":"pnpm lint && pnpm typecheck && pnpm check:mcp-metadata && pnpm build","size:markdown":"node scripts/size-report.mjs --json .tmp/size-report.json --markdown .tmp/size-report.md","test:coverage":"vitest run --coverage","test:skillgym":"node test/skillgym/runner-environment.ts && pnpm build && skillgym run ./test/skillgym/suites/agent-device-smoke-suite.ts --config ./test/skillgym/skillgym.config.ts","build:xcuitest":"pnpm build:xcuitest:ios && pnpm build:xcuitest:macos","clean:xcuitest":"node scripts/clean-xcuitest-derived.mjs","test-app:start":"pnpm --dir examples/test-app start","test:smoke:web":"pnpm build && node --test test/integration/smoke-web-platform.test.ts","fallow:baseline":"(fallow dead-code --save-baseline fallow-baselines/dead-code.json --summary || true) && (fallow health --save-baseline fallow-baselines/health.json --summary || true)","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","test-app:android":"pnpm --dir examples/test-app android","test-app:install":"pnpm install --dir examples/test-app --ignore-workspace","test-app:maestro":"node scripts/run-test-app-maestro-suite.mjs","test:integration":"pnpm test:integration:node && pnpm test:integration:provider","sync:mcp-metadata":"node scripts/sync-mcp-metadata.mjs","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","build:macos-helper":"swift build -c release --package-path macos-helper","build:xcuitest:ios":"AGENT_DEVICE_XCUITEST_PLATFORM=ios sh ./scripts/build-xcuitest-apple.sh","check:mcp-metadata":"node scripts/sync-mcp-metadata.mjs --check","clean:xcuitest:ios":"node scripts/clean-xcuitest-derived.mjs ios","test-app:typecheck":"pnpm --dir examples/test-app typecheck","test:skillgym:case":"node test/skillgym/runner-environment.ts && pnpm build && skillgym run ./test/skillgym/suites/agent-device-smoke-suite.ts --config ./test/skillgym/skillgym.config.ts --case","build:xcuitest:tvos":"AGENT_DEVICE_XCUITEST_PLATFORM=tvos sh ./scripts/build-xcuitest-apple.sh","clean:xcuitest:tvos":"node scripts/clean-xcuitest-derived.mjs tvos","test-app:replay:ios":"pnpm ad test examples/test-app/replays --platform ios --artifacts-dir .tmp/test-app-replay/ios","test:replay:android":"node --experimental-strip-types src/bin.ts test test/integration/replays/android","build:xcuitest:macos":"AGENT_DEVICE_XCUITEST_PLATFORM=macos sh ./scripts/build-xcuitest-apple.sh","clean:xcuitest:macos":"node scripts/clean-xcuitest-derived.mjs macos","test-app:maestro:ios":"node scripts/run-test-app-maestro-suite.mjs --platform ios","test:integration:node":"node --test test/integration/*.test.ts","test:replay:ios-device":"node --experimental-strip-types src/bin.ts test test/integration/replays/ios/device","test-app:replay:android":"pnpm ad test examples/test-app/replays --platform android --artifacts-dir .tmp/test-app-replay/android","build:xcuitest:ios:clean":"pnpm clean:xcuitest:ios && pnpm build:xcuitest:ios","test-app:maestro:android":"node scripts/run-test-app-maestro-suite.mjs --platform android","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:android-snapshot-helper":"sh ./scripts/build-android-snapshot-helper.sh $(node -p \"require('./package.json').version\") .tmp/android-snapshot-helper","build:android-multitouch-helper":"sh ./scripts/build-android-multitouch-helper.sh $(node -p \"require('./package.json').version\") .tmp/android-multitouch-helper","package:android-snapshot-helper":"sh ./scripts/package-android-snapshot-helper.sh $(node -p \"require('./package.json').version\") v$(node -p \"require('./package.json').version\") .tmp/android-snapshot-helper","test:integration:progress:check":"node --experimental-strip-types scripts/integration-progress.ts --check","package:android-multitouch-helper":"sh ./scripts/package-android-multitouch-helper.sh $(node -p \"require('./package.json').version\") .tmp/android-multitouch-helper","package:android-snapshot-helper:npm":"rm -rf android-snapshot-helper/dist && sh ./scripts/package-android-snapshot-helper.sh $(node -p \"require('./package.json').version\") v$(node -p \"require('./package.json').version\") android-snapshot-helper/dist","package:android-multitouch-helper:npm":"rm -rf android-multitouch-helper/dist && sh ./scripts/package-android-multitouch-helper.sh $(node -p \"require('./package.json').version\") android-multitouch-helper/dist"},"_npmUser":{"name":"thymikee","email":"thymikee@gmail.com"},"repository":{"url":"git+https://github.com/callstack/agent-device.git","type":"git"},"_npmVersion":"11.13.0","description":"Agent-native CLI for AI app automation across iOS, Android, tvOS, Android TV, macOS, Linux, and web.","directories":{},"_nodeVersion":"26.1.0","dependencies":{"yaml":"^2.9.0"},"_hasShrinkwrap":false,"packageManager":"pnpm@11.1.2","devDependencies":{"vite":"^8.0.16","oxfmt":"^0.42.0","fallow":"^2.95.0","oxlint":"^1.69.0","vitest":"^4.1.8","skillgym":"^0.9.1","typescript":"^6.0.3","@rslib/core":"0.22.1","@types/node":"^22.19.21","@vitest/coverage-v8":"4.1.8","@microsoft/api-extractor":"^7.58.8","@typescript/native-preview":"7.0.0-dev.20260613.1"},"_npmOperationalInternal":{"tmp":"tmp/agent-device_0.17.9_1782375609178_0.9348946709148489","host":"s3://npm-registry-packages-npm-production"}},"0.17.10":{"name":"agent-device","version":"0.17.10","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"],"author":{"name":"Callstack"},"license":"MIT","_id":"agent-device@0.17.10","maintainers":[{"name":"thymikee","email":"thymikee@gmail.com"}],"homepage":"https://agent-device.dev/","bugs":{"url":"https://github.com/callstack/agent-device/issues"},"bin":{"agent-device":"bin/agent-device.mjs"},"dist":{"shasum":"4c49cc8f9498a8eba27bf65f84fccd73e1240d23","tarball":"https://registry.npmjs.org/agent-device/-/agent-device-0.17.10.tgz","fileCount":166,"integrity":"sha512-zwp1ZwZZ5T6MJtfOl/6Djt77gtT4C2pwQhp86nBDrTb6zd0GitmIGhY74dWxOUjgLLfIF4WPxKYWhP9VfVyRCg==","signatures":[{"sig":"MEUCIA0icByQTh53h/HfTpBVy8WJ5XXHynFBIRiEIov8nFQGAiEA7gFAd8CvyXkEIFkxqoV3bsDfJ1W5cSz9P1P34pTy9Ow=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1972950},"main":"dist/src/index.js","type":"module","types":"dist/src/index.d.ts","engines":{"node":">=22.19"},"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"},"./finders":{"types":"./dist/src/finders.d.ts","import":"./dist/src/finders.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"},"./android-snapshot-helper":{"types":"./dist/src/android-snapshot-helper.d.ts","import":"./dist/src/android-snapshot-helper.js"}},"gitHead":"053bbace30c9f71dfdfae419de577984b30e5a91","mcpName":"io.github.callstackincubator/agent-device","scripts":{"ad":"node bin/agent-device.mjs","lint":"oxlint . --deny-warnings","perf":"node --experimental-strip-types scripts/perf/run.ts","size":"node scripts/size-report.mjs","test":"vitest run --project unit","build":"rslib build","check":"pnpm check:tooling && pnpm check:fallow && pnpm check:unit","fallow":"fallow audit --base origin/main","format":"node ./node_modules/oxfmt/bin/oxfmt --write src test skills package.json tsconfig.json tsconfig.lib.json rslib.config.ts vitest.config.ts .github/actions/setup-node-pnpm/action.yml .oxlintrc.json .oxfmtrc.json '!test/skillgym/.skillgym-results/**'","prepack":"pnpm check:mcp-metadata && pnpm build:all && pnpm package:android-snapshot-helper:npm && pnpm package:android-multitouch-helper:npm","version":"node scripts/sync-mcp-metadata.mjs && git add server.json","perf:ios":"node --experimental-strip-types scripts/perf/run.ts --platform ios","build:all":"pnpm build:node && pnpm build:xcuitest","test:unit":"vitest run --project unit","typecheck":"tsc -p tsconfig.json","build:node":"pnpm build && pnpm clean:daemon","check:unit":"pnpm test:unit && pnpm test:smoke","fallow:all":"fallow --summary","test:smoke":"node --test test/integration/smoke-*.test.ts","check:quick":"pnpm lint && pnpm typecheck","check:fallow":"fallow audit","clean:daemon":"node --experimental-strip-types scripts/clean-daemon.ts","format:check":"node ./node_modules/oxfmt/bin/oxfmt --check src test skills package.json tsconfig.json tsconfig.lib.json rslib.config.ts vitest.config.ts .github/actions/setup-node-pnpm/action.yml .oxlintrc.json .oxfmtrc.json '!test/skillgym/.skillgym-results/**'","perf:android":"node --experimental-strip-types scripts/perf/run.ts --platform android","test-app:ios":"pnpm --dir examples/test-app ios","check:tooling":"pnpm lint && pnpm typecheck && pnpm check:mcp-metadata && pnpm build","size:markdown":"node scripts/size-report.mjs --json .tmp/size-report.json --markdown .tmp/size-report.md","test:coverage":"vitest run --coverage","test:skillgym":"node test/skillgym/runner-environment.ts && pnpm build && skillgym run ./test/skillgym/suites/agent-device-smoke-suite.ts --config ./test/skillgym/skillgym.config.ts","build:xcuitest":"pnpm build:xcuitest:ios && pnpm build:xcuitest:macos","clean:xcuitest":"node scripts/clean-xcuitest-derived.mjs","test-app:start":"pnpm --dir examples/test-app start","test:smoke:web":"pnpm build && node --test test/integration/smoke-web-platform.test.ts","fallow:baseline":"(fallow dead-code --save-baseline fallow-baselines/dead-code.json --summary || true) && (fallow health --save-baseline fallow-baselines/health.json --summary || true)","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","test-app:android":"pnpm --dir examples/test-app android","test-app:install":"pnpm install --dir examples/test-app --ignore-workspace","test-app:maestro":"node scripts/run-test-app-maestro-suite.mjs","test:integration":"pnpm test:integration:node && pnpm test:integration:provider","sync:mcp-metadata":"node scripts/sync-mcp-metadata.mjs","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","build:macos-helper":"swift build -c release --package-path macos-helper","build:xcuitest:ios":"AGENT_DEVICE_XCUITEST_PLATFORM=ios sh ./scripts/build-xcuitest-apple.sh","check:mcp-metadata":"node scripts/sync-mcp-metadata.mjs --check","clean:xcuitest:ios":"node scripts/clean-xcuitest-derived.mjs ios","test-app:typecheck":"pnpm --dir examples/test-app typecheck","test:skillgym:case":"node test/skillgym/runner-environment.ts && pnpm build && skillgym run ./test/skillgym/suites/agent-device-smoke-suite.ts --config ./test/skillgym/skillgym.config.ts --case","build:xcuitest:tvos":"AGENT_DEVICE_XCUITEST_PLATFORM=tvos sh ./scripts/build-xcuitest-apple.sh","clean:xcuitest:tvos":"node scripts/clean-xcuitest-derived.mjs tvos","test-app:replay:ios":"pnpm ad test examples/test-app/replays --platform ios --artifacts-dir .tmp/test-app-replay/ios","test:replay:android":"node --experimental-strip-types src/bin.ts test test/integration/replays/android","build:xcuitest:macos":"AGENT_DEVICE_XCUITEST_PLATFORM=macos sh ./scripts/build-xcuitest-apple.sh","clean:xcuitest:macos":"node scripts/clean-xcuitest-derived.mjs macos","test-app:maestro:ios":"node scripts/run-test-app-maestro-suite.mjs --platform ios","test:integration:node":"node --test test/integration/*.test.ts","test:replay:ios-device":"node --experimental-strip-types src/bin.ts test test/integration/replays/ios/device","test-app:replay:android":"pnpm ad test examples/test-app/replays --platform android --artifacts-dir .tmp/test-app-replay/android","build:xcuitest:ios:clean":"pnpm clean:xcuitest:ios && pnpm build:xcuitest:ios","test-app:maestro:android":"node scripts/run-test-app-maestro-suite.mjs --platform android","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:android-snapshot-helper":"sh ./scripts/build-android-snapshot-helper.sh $(node -p \"require('./package.json').version\") .tmp/android-snapshot-helper","build:android-multitouch-helper":"sh ./scripts/build-android-multitouch-helper.sh $(node -p \"require('./package.json').version\") .tmp/android-multitouch-helper","package:android-snapshot-helper":"sh ./scripts/package-android-snapshot-helper.sh $(node -p \"require('./package.json').version\") v$(node -p \"require('./package.json').version\") .tmp/android-snapshot-helper","test:integration:progress:check":"node --experimental-strip-types scripts/integration-progress.ts --check","package:android-multitouch-helper":"sh ./scripts/package-android-multitouch-helper.sh $(node -p \"require('./package.json').version\") .tmp/android-multitouch-helper","package:android-snapshot-helper:npm":"rm -rf android-snapshot-helper/dist && sh ./scripts/package-android-snapshot-helper.sh $(node -p \"require('./package.json').version\") v$(node -p \"require('./package.json').version\") android-snapshot-helper/dist","package:android-multitouch-helper:npm":"rm -rf android-multitouch-helper/dist && sh ./scripts/package-android-multitouch-helper.sh $(node -p \"require('./package.json').version\") android-multitouch-helper/dist"},"_npmUser":{"name":"thymikee","email":"thymikee@gmail.com"},"repository":{"url":"git+https://github.com/callstack/agent-device.git","type":"git"},"_npmVersion":"11.13.0","description":"Agent-native CLI for AI app automation across iOS, Android, tvOS, Android TV, macOS, Linux, and web.","directories":{},"_nodeVersion":"26.1.0","dependencies":{"yaml":"^2.9.0"},"_hasShrinkwrap":false,"packageManager":"pnpm@11.1.2","devDependencies":{"vite":"^8.0.16","oxfmt":"^0.42.0","fallow":"^2.95.0","oxlint":"^1.69.0","vitest":"^4.1.8","skillgym":"^0.9.1","typescript":"^6.0.3","@rslib/core":"0.22.1","@types/node":"^22.19.21","@vitest/coverage-v8":"4.1.8","@microsoft/api-extractor":"^7.58.8","@typescript/native-preview":"7.0.0-dev.20260613.1"},"_npmOperationalInternal":{"tmp":"tmp/agent-device_0.17.10_1782416991576_0.550029828953158","host":"s3://npm-registry-packages-npm-production"}},"0.18.0":{"name":"agent-device","version":"0.18.0","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"],"author":{"name":"Callstack"},"license":"MIT","_id":"agent-device@0.18.0","maintainers":[{"name":"thymikee","email":"thymikee@gmail.com"}],"homepage":"https://agent-device.dev/","bugs":{"url":"https://github.com/callstack/agent-device/issues"},"bin":{"agent-device":"bin/agent-device.mjs"},"dist":{"shasum":"838101a38fa213ec49dfac95f390b20ccbbfc820","tarball":"https://registry.npmjs.org/agent-device/-/agent-device-0.18.0.tgz","fileCount":170,"integrity":"sha512-2gj1i+70u7UTKz0BjVQo5qWI9VFh+U/tILJ9XPjqEsQYg5Ng06FtxZygxm3tkwKA5xxk5JLbwn9Y+q5l3GQONw==","signatures":[{"sig":"MEUCIEG+h/KwTkhDxtKaVFa+5WyaWEvGuBsLa6eluTg5MQmEAiEA62Fk1gJBn8Qwx1dYmH+UPKURFwABrIJ0Ved/JLpW9Ys=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2001350},"main":"dist/src/index.js","type":"module","types":"dist/src/index.d.ts","engines":{"node":">=22.19"},"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"},"./finders":{"types":"./dist/src/finders.d.ts","import":"./dist/src/finders.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"},"./android-snapshot-helper":{"types":"./dist/src/android-snapshot-helper.d.ts","import":"./dist/src/android-snapshot-helper.js"}},"gitHead":"78ca8fb9beeba2cabcb3dda7e3be6ee3b79ffa02","mcpName":"io.github.callstackincubator/agent-device","scripts":{"ad":"node bin/agent-device.mjs","lint":"oxlint . --deny-warnings","perf":"node --experimental-strip-types scripts/perf/run.ts","size":"node scripts/size-report.mjs","test":"vitest run --project unit","build":"rslib build","check":"pnpm check:tooling && pnpm check:fallow && pnpm check:unit","fallow":"fallow audit --base origin/main","format":"node ./node_modules/oxfmt/bin/oxfmt --write src test skills package.json tsconfig.json tsconfig.lib.json rslib.config.ts vitest.config.ts .github/actions/setup-node-pnpm/action.yml .oxlintrc.json .oxfmtrc.json '!test/skillgym/.skillgym-results/**'","prepack":"pnpm check:mcp-metadata && pnpm build:all && pnpm package:android-snapshot-helper:npm && pnpm package:android-multitouch-helper:npm","version":"node scripts/sync-mcp-metadata.mjs && git add server.json","perf:ios":"node --experimental-strip-types scripts/perf/run.ts --platform ios","build:all":"pnpm build:node && pnpm build:xcuitest","test:unit":"vitest run --project unit","typecheck":"tsc -p tsconfig.json","build:node":"pnpm build && pnpm clean:daemon","check:unit":"pnpm test:unit && pnpm test:smoke","fallow:all":"fallow --summary","test:smoke":"node --test test/integration/smoke-*.test.ts","check:quick":"pnpm lint && pnpm typecheck","check:fallow":"fallow audit","clean:daemon":"node --experimental-strip-types scripts/clean-daemon.ts","format:check":"node ./node_modules/oxfmt/bin/oxfmt --check src test skills package.json tsconfig.json tsconfig.lib.json rslib.config.ts vitest.config.ts .github/actions/setup-node-pnpm/action.yml .oxlintrc.json .oxfmtrc.json '!test/skillgym/.skillgym-results/**'","perf:android":"node --experimental-strip-types scripts/perf/run.ts --platform android","test-app:ios":"pnpm --dir examples/test-app ios","check:tooling":"pnpm lint && pnpm typecheck && pnpm check:mcp-metadata && pnpm build","size:markdown":"node scripts/size-report.mjs --json .tmp/size-report.json --markdown .tmp/size-report.md","test:coverage":"vitest run --coverage","test:skillgym":"node test/skillgym/runner-environment.ts && pnpm build && skillgym run ./test/skillgym/suites/agent-device-smoke-suite.ts --config ./test/skillgym/skillgym.config.ts","build:xcuitest":"pnpm build:xcuitest:ios && pnpm build:xcuitest:macos","clean:xcuitest":"node scripts/clean-xcuitest-derived.mjs","test-app:start":"pnpm --dir examples/test-app start","test:smoke:web":"pnpm build && node --test test/integration/smoke-web-platform.test.ts","fallow:baseline":"(fallow dead-code --save-baseline fallow-baselines/dead-code.json --summary || true) && (fallow health --save-baseline fallow-baselines/health.json --summary || true)","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","test-app:android":"pnpm --dir examples/test-app android","test-app:install":"pnpm install --dir examples/test-app --ignore-workspace","test-app:maestro":"node scripts/run-test-app-maestro-suite.mjs","test:integration":"pnpm test:integration:node && pnpm test:integration:provider","sync:mcp-metadata":"node scripts/sync-mcp-metadata.mjs","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","build:macos-helper":"swift build -c release --package-path macos-helper","build:xcuitest:ios":"AGENT_DEVICE_XCUITEST_PLATFORM=ios sh ./scripts/build-xcuitest-apple.sh","check:mcp-metadata":"node scripts/sync-mcp-metadata.mjs --check","clean:xcuitest:ios":"node scripts/clean-xcuitest-derived.mjs ios","test-app:typecheck":"pnpm --dir examples/test-app typecheck","test:skillgym:case":"node test/skillgym/runner-environment.ts && pnpm build && skillgym run ./test/skillgym/suites/agent-device-smoke-suite.ts --config ./test/skillgym/skillgym.config.ts --case","build:xcuitest:tvos":"AGENT_DEVICE_XCUITEST_PLATFORM=tvos sh ./scripts/build-xcuitest-apple.sh","clean:xcuitest:tvos":"node scripts/clean-xcuitest-derived.mjs tvos","test-app:replay:ios":"pnpm ad test examples/test-app/replays --platform ios --artifacts-dir .tmp/test-app-replay/ios","test:replay:android":"node --experimental-strip-types src/bin.ts test test/integration/replays/android","build:xcuitest:macos":"AGENT_DEVICE_XCUITEST_PLATFORM=macos sh ./scripts/build-xcuitest-apple.sh","clean:xcuitest:macos":"node scripts/clean-xcuitest-derived.mjs macos","test-app:maestro:ios":"node scripts/run-test-app-maestro-suite.mjs --platform ios","test:integration:node":"node --test test/integration/*.test.ts","test:replay:ios-device":"node --experimental-strip-types src/bin.ts test test/integration/replays/ios/device","test-app:replay:android":"pnpm ad test examples/test-app/replays --platform android --artifacts-dir .tmp/test-app-replay/android","build:xcuitest:ios:clean":"pnpm clean:xcuitest:ios && pnpm build:xcuitest:ios","test-app:maestro:android":"node scripts/run-test-app-maestro-suite.mjs --platform android","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:android-snapshot-helper":"sh ./scripts/build-android-snapshot-helper.sh $(node -p \"require('./package.json').version\") .tmp/android-snapshot-helper","build:android-multitouch-helper":"sh ./scripts/build-android-multitouch-helper.sh $(node -p \"require('./package.json').version\") .tmp/android-multitouch-helper","package:android-snapshot-helper":"sh ./scripts/package-android-snapshot-helper.sh $(node -p \"require('./package.json').version\") v$(node -p \"require('./package.json').version\") .tmp/android-snapshot-helper","test:integration:progress:check":"node --experimental-strip-types scripts/integration-progress.ts --check","package:android-multitouch-helper":"sh ./scripts/package-android-multitouch-helper.sh $(node -p \"require('./package.json').version\") .tmp/android-multitouch-helper","package:android-snapshot-helper:npm":"rm -rf android-snapshot-helper/dist && sh ./scripts/package-android-snapshot-helper.sh $(node -p \"require('./package.json').version\") v$(node -p \"require('./package.json').version\") android-snapshot-helper/dist","package:android-multitouch-helper:npm":"rm -rf android-multitouch-helper/dist && sh ./scripts/package-android-multitouch-helper.sh $(node -p \"require('./package.json').version\") android-multitouch-helper/dist"},"_npmUser":{"name":"thymikee","email":"thymikee@gmail.com"},"repository":{"url":"git+https://github.com/callstack/agent-device.git","type":"git"},"_npmVersion":"11.13.0","description":"Agent-native CLI for AI app automation across iOS, Android, tvOS, Android TV, macOS, Linux, and web.","directories":{},"_nodeVersion":"26.1.0","dependencies":{"yaml":"^2.9.0"},"_hasShrinkwrap":false,"packageManager":"pnpm@11.1.2","devDependencies":{"vite":"^8.0.16","oxfmt":"^0.42.0","fallow":"^2.95.0","oxlint":"^1.69.0","vitest":"^4.1.8","skillgym":"^0.9.1","typescript":"^6.0.3","@rslib/core":"0.22.1","@types/node":"^22.19.21","@vitest/coverage-v8":"4.1.8","@microsoft/api-extractor":"^7.58.8","@typescript/native-preview":"7.0.0-dev.20260613.1"},"_npmOperationalInternal":{"tmp":"tmp/agent-device_0.18.0_1782496619435_0.7180039556721012","host":"s3://npm-registry-packages-npm-production"}},"0.18.1":{"name":"agent-device","version":"0.18.1","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"],"author":{"name":"Callstack"},"license":"MIT","_id":"agent-device@0.18.1","maintainers":[{"name":"thymikee","email":"thymikee@gmail.com"}],"homepage":"https://agent-device.dev/","bugs":{"url":"https://github.com/callstack/agent-device/issues"},"bin":{"agent-device":"bin/agent-device.mjs"},"dist":{"shasum":"f6ccd3783a54c0ffa5d04766cf95d1e5eb037643","tarball":"https://registry.npmjs.org/agent-device/-/agent-device-0.18.1.tgz","fileCount":158,"integrity":"sha512-FqWgrE/j40gG6G+6+z1UyawtjvzQTCWMTjtjOWepa45B6KVIVFqfT64+uPhZJoBTqoF/gLfR3uH5B7lG6wuXGg==","signatures":[{"sig":"MEUCIQCXilroH3z2cbCZiGyjmTS0SeOv9RJjXxhI1kBClheogQIgKYXmGUStNDjIVH0rNuk+sk1UFhDdGeZnGXESvVK4kcI=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2066870},"main":"dist/src/index.js","type":"module","types":"dist/src/index.d.ts","engines":{"node":">=22.19"},"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"},"./finders":{"types":"./dist/src/finders.d.ts","import":"./dist/src/finders.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"}},"gitHead":"d1b56c08975d916d82eaa380577ad0a138cb54bf","mcpName":"io.github.callstackincubator/agent-device","scripts":{"ad":"node bin/agent-device.mjs","lint":"oxlint . --deny-warnings","perf":"node --experimental-strip-types scripts/perf/run.ts","size":"node scripts/size-report.mjs","test":"vitest run --project unit","build":"rslib build","check":"pnpm check:tooling && pnpm check:fallow && pnpm check:unit","fallow":"fallow audit --base origin/main","format":"node ./node_modules/oxfmt/bin/oxfmt --write src test skills package.json tsconfig.json tsconfig.lib.json rslib.config.ts vitest.config.ts .github/actions/setup-node-pnpm/action.yml .oxlintrc.json .oxfmtrc.json '!test/skillgym/.skillgym-results/**'","prepack":"pnpm check:mcp-metadata && pnpm build:all && pnpm package:android-snapshot-helper:npm && pnpm package:android-multitouch-helper:npm","version":"node scripts/sync-mcp-metadata.mjs && git add server.json","perf:ios":"node --experimental-strip-types scripts/perf/run.ts --platform ios","build:all":"pnpm build:node && pnpm build:xcuitest","test:unit":"vitest run --project unit","typecheck":"tsc -p tsconfig.json","build:node":"pnpm build && pnpm clean:daemon","check:unit":"pnpm test:unit && pnpm test:smoke","fallow:all":"fallow --summary","test:smoke":"node --test test/integration/smoke-*.test.ts","check:quick":"pnpm lint && pnpm typecheck","check:fallow":"fallow audit","clean:daemon":"node --experimental-strip-types scripts/clean-daemon.ts","format:check":"node ./node_modules/oxfmt/bin/oxfmt --check src test skills package.json tsconfig.json tsconfig.lib.json rslib.config.ts vitest.config.ts .github/actions/setup-node-pnpm/action.yml .oxlintrc.json .oxfmtrc.json '!test/skillgym/.skillgym-results/**'","perf:android":"node --experimental-strip-types scripts/perf/run.ts --platform android","test-app:ios":"pnpm --dir examples/test-app ios","check:tooling":"pnpm lint && pnpm typecheck && pnpm check:layering && pnpm check:mcp-metadata && pnpm build","size:markdown":"node scripts/size-report.mjs --json .tmp/size-report.json --markdown .tmp/size-report.md","test:coverage":"vitest run --coverage","test:skillgym":"node test/skillgym/runner-environment.ts && pnpm build && skillgym run ./test/skillgym/suites/agent-device-smoke-suite.ts --config ./test/skillgym/skillgym.config.ts","build:xcuitest":"pnpm build:xcuitest:ios && pnpm build:xcuitest:macos","check:layering":"node --experimental-strip-types scripts/layering/check.ts","clean:xcuitest":"node scripts/clean-xcuitest-derived.mjs","test-app:start":"pnpm --dir examples/test-app start","test:smoke:web":"pnpm build && node --test test/integration/smoke-web-platform.test.ts","fallow:baseline":"(fallow dead-code --save-baseline fallow-baselines/dead-code.json --summary || true) && (fallow health --save-baseline fallow-baselines/health.json --summary || true)","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","test-app:android":"pnpm --dir examples/test-app android","test-app:install":"pnpm install --dir examples/test-app --ignore-workspace","test-app:maestro":"node scripts/run-test-app-maestro-suite.mjs","test:integration":"pnpm test:integration:node && pnpm test:integration:provider","sync:mcp-metadata":"node scripts/sync-mcp-metadata.mjs","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","build:macos-helper":"swift build -c release --package-path macos-helper","build:xcuitest:ios":"AGENT_DEVICE_XCUITEST_PLATFORM=ios sh ./scripts/build-xcuitest-apple.sh","check:mcp-metadata":"node scripts/sync-mcp-metadata.mjs --check","clean:xcuitest:ios":"node scripts/clean-xcuitest-derived.mjs ios","test-app:typecheck":"pnpm --dir examples/test-app typecheck","test:skillgym:case":"node test/skillgym/runner-environment.ts && pnpm build && skillgym run ./test/skillgym/suites/agent-device-smoke-suite.ts --config ./test/skillgym/skillgym.config.ts --case","build:xcuitest:tvos":"AGENT_DEVICE_XCUITEST_PLATFORM=tvos sh ./scripts/build-xcuitest-apple.sh","clean:xcuitest:tvos":"node scripts/clean-xcuitest-derived.mjs tvos","test-app:replay:ios":"pnpm ad test examples/test-app/replays --platform ios --artifacts-dir .tmp/test-app-replay/ios","test:replay:android":"node --experimental-strip-types src/bin.ts test test/integration/replays/android","build:xcuitest:macos":"AGENT_DEVICE_XCUITEST_PLATFORM=macos sh ./scripts/build-xcuitest-apple.sh","clean:xcuitest:macos":"node scripts/clean-xcuitest-derived.mjs macos","test-app:maestro:ios":"node scripts/run-test-app-maestro-suite.mjs --platform ios","test:integration:node":"node --test test/integration/*.test.ts","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","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:xcuitest:ios:clean":"pnpm clean:xcuitest:ios && pnpm build:xcuitest:ios","test-app:maestro:android":"node scripts/run-test-app-maestro-suite.mjs --platform android","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:android-snapshot-helper":"sh ./scripts/build-android-snapshot-helper.sh $(node -p \"require('./package.json').version\") .tmp/android-snapshot-helper","build:xcuitest:visionos:clean":"pnpm clean:xcuitest:visionos && pnpm build:xcuitest:visionos","build:android-multitouch-helper":"sh ./scripts/build-android-multitouch-helper.sh $(node -p \"require('./package.json').version\") .tmp/android-multitouch-helper","package:android-snapshot-helper":"sh ./scripts/package-android-snapshot-helper.sh $(node -p \"require('./package.json').version\") v$(node -p \"require('./package.json').version\") .tmp/android-snapshot-helper","test:integration:progress:check":"node --experimental-strip-types scripts/integration-progress.ts --check","package:android-multitouch-helper":"sh ./scripts/package-android-multitouch-helper.sh $(node -p \"require('./package.json').version\") .tmp/android-multitouch-helper","package:android-snapshot-helper:npm":"rm -rf android-snapshot-helper/dist && sh ./scripts/package-android-snapshot-helper.sh $(node -p \"require('./package.json').version\") v$(node -p \"require('./package.json').version\") android-snapshot-helper/dist","package:android-multitouch-helper:npm":"rm -rf android-multitouch-helper/dist && sh ./scripts/package-android-multitouch-helper.sh $(node -p \"require('./package.json').version\") android-multitouch-helper/dist"},"_npmUser":{"name":"thymikee","email":"thymikee@gmail.com"},"repository":{"url":"git+https://github.com/callstack/agent-device.git","type":"git"},"_npmVersion":"11.13.0","description":"Agent-native CLI for AI app automation across iOS, Android, tvOS, Android TV, macOS, Linux, and web.","directories":{},"_nodeVersion":"26.1.0","dependencies":{"yaml":"^2.9.0"},"_hasShrinkwrap":false,"packageManager":"pnpm@11.1.2","devDependencies":{"vite":"^8.0.16","oxfmt":"^0.42.0","fallow":"^2.95.0","oxlint":"^1.69.0","vitest":"^4.1.8","skillgym":"^0.9.1","typescript":"^6.0.3","@rslib/core":"0.22.1","@types/node":"^22.19.21","@vitest/coverage-v8":"4.1.8","@microsoft/api-extractor":"^7.58.8","@typescript/native-preview":"7.0.0-dev.20260613.1"},"_npmOperationalInternal":{"tmp":"tmp/agent-device_0.18.1_1782916036236_0.33241552849183487","host":"s3://npm-registry-packages-npm-production"}},"0.18.2":{"name":"agent-device","version":"0.18.2","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"],"author":{"name":"Callstack"},"license":"MIT","_id":"agent-device@0.18.2","maintainers":[{"name":"thymikee","email":"thymikee@gmail.com"}],"homepage":"https://agent-device.dev/","bugs":{"url":"https://github.com/callstack/agent-device/issues"},"bin":{"agent-device":"bin/agent-device.mjs"},"dist":{"shasum":"0401bbcf807e963316581bdbdc96bd97353e6f4d","tarball":"https://registry.npmjs.org/agent-device/-/agent-device-0.18.2.tgz","fileCount":157,"integrity":"sha512-f/4C9X8AM73GP8i98k4MQXIjU+rvTYQDe3sq7ZL90gN2aCwbvSIKIawjZphF81INO9RyhokYLg+4qRoiAPVSmQ==","signatures":[{"sig":"MEUCIG+5K5pBotfDdZ5vw/T7t2xQixgbSoUbyOegy1WjezxCAiEAmUV0EVRRLdSyVHhi49b//4TiXIOLRjDrK9JTxGROR0Q=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2074638},"main":"dist/src/index.js","type":"module","types":"dist/src/index.d.ts","engines":{"node":">=22.19"},"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"},"./finders":{"types":"./dist/src/finders.d.ts","import":"./dist/src/finders.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"}},"gitHead":"091179e91de1dfa19877d28b781c6e84502caf10","mcpName":"io.github.callstackincubator/agent-device","scripts":{"ad":"node bin/agent-device.mjs","lint":"oxlint . --deny-warnings","perf":"node --experimental-strip-types scripts/perf/run.ts","size":"node scripts/size-report.mjs","test":"vitest run --project unit","build":"rslib build","check":"pnpm check:tooling && pnpm check:fallow && pnpm check:unit","fallow":"fallow audit --base origin/main","format":"node ./node_modules/oxfmt/bin/oxfmt --write src test skills package.json tsconfig.json tsconfig.lib.json rslib.config.ts vitest.config.ts .github/actions/setup-node-pnpm/action.yml .oxlintrc.json .oxfmtrc.json '!test/skillgym/.skillgym-results/**'","prepack":"pnpm check:mcp-metadata && pnpm build:all && pnpm package:android-snapshot-helper:npm && pnpm package:android-multitouch-helper:npm","version":"node scripts/sync-mcp-metadata.mjs && git add server.json","perf:ios":"node --experimental-strip-types scripts/perf/run.ts --platform ios","build:all":"pnpm build:node && pnpm build:xcuitest","test:unit":"vitest run --project unit","typecheck":"tsc -p tsconfig.json","build:node":"pnpm build && pnpm clean:daemon","check:unit":"pnpm test:unit && pnpm test:smoke","fallow:all":"fallow --summary","test:smoke":"node --test test/integration/smoke-*.test.ts","check:quick":"pnpm lint && pnpm typecheck","check:fallow":"fallow audit","clean:daemon":"node --experimental-strip-types scripts/clean-daemon.ts","format:check":"node ./node_modules/oxfmt/bin/oxfmt --check src test skills package.json tsconfig.json tsconfig.lib.json rslib.config.ts vitest.config.ts .github/actions/setup-node-pnpm/action.yml .oxlintrc.json .oxfmtrc.json '!test/skillgym/.skillgym-results/**'","perf:android":"node --experimental-strip-types scripts/perf/run.ts --platform android","test-app:ios":"pnpm --dir examples/test-app ios","check:tooling":"pnpm lint && pnpm typecheck && pnpm check:layering && pnpm check:mcp-metadata && pnpm build","size:markdown":"node scripts/size-report.mjs --json .tmp/size-report.json --markdown .tmp/size-report.md","test:coverage":"vitest run --coverage","test:skillgym":"node test/skillgym/runner-environment.ts && pnpm build && skillgym run ./test/skillgym/suites/agent-device-smoke-suite.ts --config ./test/skillgym/skillgym.config.ts","build:xcuitest":"pnpm build:xcuitest:ios && pnpm build:xcuitest:macos","check:layering":"node --experimental-strip-types scripts/layering/check.ts","clean:xcuitest":"node scripts/clean-xcuitest-derived.mjs","test-app:start":"pnpm --dir examples/test-app start","test:smoke:web":"pnpm build && node --test test/integration/smoke-web-platform.test.ts","fallow:baseline":"(fallow dead-code --save-baseline fallow-baselines/dead-code.json --summary || true) && (fallow health --save-baseline fallow-baselines/health.json --summary || true)","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","test-app:android":"pnpm --dir examples/test-app android","test-app:install":"pnpm install --dir examples/test-app --ignore-workspace","test-app:maestro":"node scripts/run-test-app-maestro-suite.mjs","test:integration":"pnpm test:integration:node && pnpm test:integration:provider","sync:mcp-metadata":"node scripts/sync-mcp-metadata.mjs","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","build:macos-helper":"swift build -c release --package-path macos-helper","build:xcuitest:ios":"AGENT_DEVICE_XCUITEST_PLATFORM=ios sh ./scripts/build-xcuitest-apple.sh","check:mcp-metadata":"node scripts/sync-mcp-metadata.mjs --check","clean:xcuitest:ios":"node scripts/clean-xcuitest-derived.mjs ios","test-app:typecheck":"pnpm --dir examples/test-app typecheck","test:skillgym:case":"node test/skillgym/runner-environment.ts && pnpm build && skillgym run ./test/skillgym/suites/agent-device-smoke-suite.ts --config ./test/skillgym/skillgym.config.ts --case","build:xcuitest:tvos":"AGENT_DEVICE_XCUITEST_PLATFORM=tvos sh ./scripts/build-xcuitest-apple.sh","clean:xcuitest:tvos":"node scripts/clean-xcuitest-derived.mjs tvos","test-app:replay:ios":"pnpm ad test examples/test-app/replays --platform ios --artifacts-dir .tmp/test-app-replay/ios","test:replay:android":"node --experimental-strip-types src/bin.ts test test/integration/replays/android","build:xcuitest:macos":"AGENT_DEVICE_XCUITEST_PLATFORM=macos sh ./scripts/build-xcuitest-apple.sh","clean:xcuitest:macos":"node scripts/clean-xcuitest-derived.mjs macos","test-app:maestro:ios":"node scripts/run-test-app-maestro-suite.mjs --platform ios","test:integration:node":"node --test test/integration/*.test.ts","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","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:xcuitest:ios:clean":"pnpm clean:xcuitest:ios && pnpm build:xcuitest:ios","test-app:maestro:android":"node scripts/run-test-app-maestro-suite.mjs --platform android","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:android-snapshot-helper":"sh ./scripts/build-android-snapshot-helper.sh $(node -p \"require('./package.json').version\") .tmp/android-snapshot-helper","build:xcuitest:visionos:clean":"pnpm clean:xcuitest:visionos && pnpm build:xcuitest:visionos","build:android-multitouch-helper":"sh ./scripts/build-android-multitouch-helper.sh $(node -p \"require('./package.json').version\") .tmp/android-multitouch-helper","package:android-snapshot-helper":"sh ./scripts/package-android-snapshot-helper.sh $(node -p \"require('./package.json').version\") v$(node -p \"require('./package.json').version\") .tmp/android-snapshot-helper","test:integration:progress:check":"node --experimental-strip-types scripts/integration-progress.ts --check","package:android-multitouch-helper":"sh ./scripts/package-android-multitouch-helper.sh $(node -p \"require('./package.json').version\") .tmp/android-multitouch-helper","package:android-snapshot-helper:npm":"rm -rf android-snapshot-helper/dist && sh ./scripts/package-android-snapshot-helper.sh $(node -p \"require('./package.json').version\") v$(node -p \"require('./package.json').version\") android-snapshot-helper/dist","package:android-multitouch-helper:npm":"rm -rf android-multitouch-helper/dist && sh ./scripts/package-android-multitouch-helper.sh $(node -p \"require('./package.json').version\") android-multitouch-helper/dist"},"_npmUser":{"name":"thymikee","email":"thymikee@gmail.com"},"repository":{"url":"git+https://github.com/callstack/agent-device.git","type":"git"},"_npmVersion":"11.13.0","description":"Agent-native CLI for AI app automation across iOS, Android, tvOS, Android TV, macOS, Linux, and web.","directories":{},"_nodeVersion":"26.1.0","dependencies":{"yaml":"^2.9.0"},"_hasShrinkwrap":false,"packageManager":"pnpm@11.1.2","devDependencies":{"vite":"^8.0.16","oxfmt":"^0.42.0","fallow":"^2.95.0","oxlint":"^1.69.0","vitest":"^4.1.8","skillgym":"^0.9.1","typescript":"^6.0.3","@rslib/core":"0.22.1","@types/node":"^22.19.21","@vitest/coverage-v8":"4.1.8","@microsoft/api-extractor":"^7.58.8","@typescript/native-preview":"7.0.0-dev.20260613.1"},"_npmOperationalInternal":{"tmp":"tmp/agent-device_0.18.2_1783008069247_0.17268067203199378","host":"s3://npm-registry-packages-npm-production"}},"0.18.3":{"name":"agent-device","version":"0.18.3","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"],"author":{"name":"Callstack"},"license":"MIT","_id":"agent-device@0.18.3","maintainers":[{"name":"thymikee","email":"thymikee@gmail.com"}],"homepage":"https://agent-device.dev/","bugs":{"url":"https://github.com/callstack/agent-device/issues"},"bin":{"agent-device":"bin/agent-device.mjs"},"dist":{"shasum":"22aebace2d02fca87e05fb672fc1221fe569b40e","tarball":"https://registry.npmjs.org/agent-device/-/agent-device-0.18.3.tgz","fileCount":157,"integrity":"sha512-6n9jM3qt+pE/eo2ElUnL69wMPGLBrIjZsD5PlGLWo3iJY9WU2kfpaZsqBXNZDEhQvIpWhRtZjh4RMUwSlUZBCA==","signatures":[{"sig":"MEYCIQDad2jSCFb2I+jGPGuFMFTm/c+/Gv2F5YnE3kK25nMFYgIhALUR8JJOrjp9bdtXOFKEyhWMbP8VfI/qHwvSbkAvLtMq","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2084332},"main":"dist/src/index.js","type":"module","types":"dist/src/index.d.ts","engines":{"node":">=22.19"},"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"},"./finders":{"types":"./dist/src/finders.d.ts","import":"./dist/src/finders.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"}},"gitHead":"bff28009e22b544f1882a5204e0561df72146028","mcpName":"io.github.callstackincubator/agent-device","scripts":{"ad":"node bin/agent-device.mjs","lint":"oxlint . --deny-warnings","perf":"node --experimental-strip-types scripts/perf/run.ts","size":"node scripts/size-report.mjs","test":"vitest run --project unit","build":"rslib build","check":"pnpm check:tooling && pnpm check:fallow && pnpm check:unit","fallow":"fallow audit --base origin/main","format":"node ./node_modules/oxfmt/bin/oxfmt --write src test skills package.json tsconfig.json tsconfig.lib.json rslib.config.ts vitest.config.ts .github/actions/setup-node-pnpm/action.yml .oxlintrc.json .oxfmtrc.json '!test/skillgym/.skillgym-results/**'","prepack":"pnpm check:mcp-metadata && pnpm build:all && pnpm package:android-snapshot-helper:npm && pnpm package:android-multitouch-helper:npm","version":"node scripts/sync-mcp-metadata.mjs && git add server.json","perf:ios":"node --experimental-strip-types scripts/perf/run.ts --platform ios","build:all":"pnpm build:node && pnpm build:xcuitest","test:unit":"vitest run --project unit","typecheck":"tsc -p tsconfig.json","build:node":"pnpm build && pnpm clean:daemon","check:unit":"pnpm test:unit && pnpm test:smoke","fallow:all":"fallow --summary","test:smoke":"node --test test/integration/smoke-*.test.ts","check:quick":"pnpm lint && pnpm typecheck","check:fallow":"fallow audit","clean:daemon":"node --experimental-strip-types scripts/clean-daemon.ts","format:check":"node ./node_modules/oxfmt/bin/oxfmt --check src test skills package.json tsconfig.json tsconfig.lib.json rslib.config.ts vitest.config.ts .github/actions/setup-node-pnpm/action.yml .oxlintrc.json .oxfmtrc.json '!test/skillgym/.skillgym-results/**'","perf:android":"node --experimental-strip-types scripts/perf/run.ts --platform android","test-app:ios":"pnpm --dir examples/test-app ios","check:tooling":"pnpm lint && pnpm typecheck && pnpm check:layering && pnpm check:mcp-metadata && pnpm build","size:markdown":"node scripts/size-report.mjs --json .tmp/size-report.json --markdown .tmp/size-report.md","test:coverage":"vitest run --coverage","test:skillgym":"node test/skillgym/runner-environment.ts && pnpm build && skillgym run ./test/skillgym/suites/agent-device-smoke-suite.ts --config ./test/skillgym/skillgym.config.ts","build:xcuitest":"pnpm build:xcuitest:ios && pnpm build:xcuitest:macos","check:layering":"node --experimental-strip-types scripts/layering/check.ts","clean:xcuitest":"node scripts/clean-xcuitest-derived.mjs","test-app:start":"pnpm --dir examples/test-app start","test:smoke:web":"pnpm build && node --test test/integration/smoke-web-platform.test.ts","fallow:baseline":"(fallow dead-code --save-baseline fallow-baselines/dead-code.json --summary || true) && (fallow health --save-baseline fallow-baselines/health.json --summary || true)","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","test-app:android":"pnpm --dir examples/test-app android","test-app:install":"pnpm install --dir examples/test-app --ignore-workspace","test-app:maestro":"node scripts/run-test-app-maestro-suite.mjs","test:integration":"pnpm test:integration:node && pnpm test:integration:provider","sync:mcp-metadata":"node scripts/sync-mcp-metadata.mjs","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","build:macos-helper":"swift build -c release --package-path macos-helper","build:xcuitest:ios":"AGENT_DEVICE_XCUITEST_PLATFORM=ios sh ./scripts/build-xcuitest-apple.sh","check:mcp-metadata":"node scripts/sync-mcp-metadata.mjs --check","clean:xcuitest:ios":"node scripts/clean-xcuitest-derived.mjs ios","test-app:typecheck":"pnpm --dir examples/test-app typecheck","test:skillgym:case":"node test/skillgym/runner-environment.ts && pnpm build && skillgym run ./test/skillgym/suites/agent-device-smoke-suite.ts --config ./test/skillgym/skillgym.config.ts --case","build:xcuitest:tvos":"AGENT_DEVICE_XCUITEST_PLATFORM=tvos sh ./scripts/build-xcuitest-apple.sh","clean:xcuitest:tvos":"node scripts/clean-xcuitest-derived.mjs tvos","test-app:replay:ios":"pnpm ad test examples/test-app/replays --platform ios --artifacts-dir .tmp/test-app-replay/ios","test:replay:android":"node --experimental-strip-types src/bin.ts test test/integration/replays/android","build:xcuitest:macos":"AGENT_DEVICE_XCUITEST_PLATFORM=macos sh ./scripts/build-xcuitest-apple.sh","clean:xcuitest:macos":"node scripts/clean-xcuitest-derived.mjs macos","test-app:maestro:ios":"node scripts/run-test-app-maestro-suite.mjs --platform ios","test:integration:node":"node --test test/integration/*.test.ts","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","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:xcuitest:ios:clean":"pnpm clean:xcuitest:ios && pnpm build:xcuitest:ios","test-app:maestro:android":"node scripts/run-test-app-maestro-suite.mjs --platform android","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:android-snapshot-helper":"sh ./scripts/build-android-snapshot-helper.sh $(node -p \"require('./package.json').version\") .tmp/android-snapshot-helper","build:xcuitest:visionos:clean":"pnpm clean:xcuitest:visionos && pnpm build:xcuitest:visionos","build:android-multitouch-helper":"sh ./scripts/build-android-multitouch-helper.sh $(node -p \"require('./package.json').version\") .tmp/android-multitouch-helper","package:android-snapshot-helper":"sh ./scripts/package-android-snapshot-helper.sh $(node -p \"require('./package.json').version\") v$(node -p \"require('./package.json').version\") .tmp/android-snapshot-helper","test:integration:progress:check":"node --experimental-strip-types scripts/integration-progress.ts --check","package:android-multitouch-helper":"sh ./scripts/package-android-multitouch-helper.sh $(node -p \"require('./package.json').version\") .tmp/android-multitouch-helper","package:android-snapshot-helper:npm":"rm -rf android-snapshot-helper/dist && sh ./scripts/package-android-snapshot-helper.sh $(node -p \"require('./package.json').version\") v$(node -p \"require('./package.json').version\") android-snapshot-helper/dist","package:android-multitouch-helper:npm":"rm -rf android-multitouch-helper/dist && sh ./scripts/package-android-multitouch-helper.sh $(node -p \"require('./package.json').version\") android-multitouch-helper/dist"},"_npmUser":{"name":"thymikee","email":"thymikee@gmail.com"},"repository":{"url":"git+https://github.com/callstack/agent-device.git","type":"git"},"_npmVersion":"11.13.0","description":"Agent-native CLI for AI app automation across iOS, Android, tvOS, Android TV, macOS, Linux, and web.","directories":{},"_nodeVersion":"26.1.0","dependencies":{"yaml":"^2.9.0"},"_hasShrinkwrap":false,"packageManager":"pnpm@11.1.2","devDependencies":{"vite":"^8.0.16","oxfmt":"^0.42.0","fallow":"^2.95.0","oxlint":"^1.69.0","vitest":"^4.1.8","skillgym":"^0.9.1","typescript":"^6.0.3","@rslib/core":"0.22.1","@types/node":"^22.19.21","@vitest/coverage-v8":"4.1.8","@microsoft/api-extractor":"^7.58.8","@typescript/native-preview":"7.0.0-dev.20260613.1"},"_npmOperationalInternal":{"tmp":"tmp/agent-device_0.18.3_1783019093812_0.24923135390556772","host":"s3://npm-registry-packages-npm-production"}},"0.19.0":{"name":"agent-device","version":"0.19.0","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"],"author":{"name":"Callstack"},"license":"MIT","_id":"agent-device@0.19.0","maintainers":[{"name":"thymikee","email":"thymikee@gmail.com"}],"homepage":"https://agent-device.dev/","bugs":{"url":"https://github.com/callstack/agent-device/issues"},"bin":{"agent-device":"bin/agent-device.mjs"},"dist":{"shasum":"f46a2f13a911891a787a7c55d65ebed7c8f900bc","tarball":"https://registry.npmjs.org/agent-device/-/agent-device-0.19.0.tgz","fileCount":183,"integrity":"sha512-cwT2gSMParMG1DuaQLvJd8BbUM2QYadkzFoOGcxAGXZsjXbB+w+MPrwnJ0J/UkdWTDxGel0v7zWpSOzh9R8YyA==","signatures":[{"sig":"MEQCIDV9Z9qkyOkZ2cFj4T2WVQF3LlDznSHX0vEAIFhkJrLwAiAuvboTfs5VjXWPj6nhSKrutdByrt49GHlpUJiyQgi3DQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2142416},"main":"dist/src/index.js","type":"module","types":"dist/src/index.d.ts","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"},"./finders":{"types":"./dist/src/finders.d.ts","import":"./dist/src/finders.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"}},"gitHead":"9009c5aff74a0a0af59bab39f9c48ebf39419c20","mcpName":"io.github.callstackincubator/agent-device","scripts":{"ad":"node bin/agent-device.mjs","lint":"oxlint . --deny-warnings","perf":"node --experimental-strip-types scripts/perf/run.ts","size":"node scripts/size-report.mjs","test":"vitest run --project unit-core --project android-adb","build":"tsdown","check":"pnpm check:tooling && pnpm check:fallow && pnpm check:unit","fallow":"fallow audit --base origin/main","format":"node ./node_modules/oxfmt/bin/oxfmt --write src test skills package.json tsconfig.json tsconfig.lib.json tsdown.config.ts vitest.config.ts .github/actions/setup-node-pnpm/action.yml .oxlintrc.json .oxfmtrc.json '!test/skillgym/.skillgym-results/**'","prepack":"pnpm check:mcp-metadata && pnpm build:all && pnpm package:apple-runner:npm && pnpm package:android-snapshot-helper:npm && pnpm package:android-multitouch-helper:npm","version":"node scripts/sync-mcp-metadata.mjs && git add server.json","perf:ios":"node --experimental-strip-types scripts/perf/run.ts --platform ios","build:all":"pnpm build:node && pnpm build:xcuitest","test:unit":"vitest run --project unit-core --project android-adb","typecheck":"tsgo -p tsconfig.json","build:node":"pnpm build && pnpm clean:daemon","check:unit":"pnpm test:unit && pnpm test:smoke","fallow:all":"fallow --summary","test:smoke":"node --test test/integration/smoke-*.test.ts","check:quick":"pnpm lint && pnpm typecheck","check:fallow":"fallow audit","clean:daemon":"node --experimental-strip-types scripts/clean-daemon.ts","format:check":"node ./node_modules/oxfmt/bin/oxfmt --check src test skills package.json tsconfig.json tsconfig.lib.json tsdown.config.ts vitest.config.ts .github/actions/setup-node-pnpm/action.yml .oxlintrc.json .oxfmtrc.json '!test/skillgym/.skillgym-results/**'","perf:android":"node --experimental-strip-types scripts/perf/run.ts --platform android","test-app:ios":"pnpm --dir examples/test-app ios","check:tooling":"pnpm lint && pnpm typecheck && pnpm check:layering && pnpm check:mcp-metadata && pnpm build","size:markdown":"node scripts/size-report.mjs --json .tmp/size-report.json --markdown .tmp/size-report.md","test:coverage":"vitest run --coverage","test:skillgym":"node test/skillgym/runner-environment.ts && pnpm build && skillgym run ./test/skillgym/suites/agent-device-smoke-suite.ts --config ./test/skillgym/skillgym.config.ts","build:xcuitest":"pnpm build:xcuitest:ios && pnpm build:xcuitest:macos","check:layering":"node --experimental-strip-types scripts/layering/check.ts","clean:xcuitest":"node scripts/clean-xcuitest-derived.mjs","test-app:start":"pnpm --dir examples/test-app start","test:smoke:web":"pnpm build && node --test test/integration/smoke-web-platform.test.ts","fallow:baseline":"(fallow dead-code --save-baseline fallow-baselines/dead-code.json --summary || true) && (fallow health --save-baseline fallow-baselines/health.json --summary || true)","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","test-app:android":"pnpm --dir examples/test-app android","test-app:install":"pnpm install --dir examples/test-app --ignore-workspace","test-app:maestro":"node scripts/run-test-app-maestro-suite.mjs","test:integration":"pnpm test:integration:node && pnpm test:integration:provider","sync:mcp-metadata":"node scripts/sync-mcp-metadata.mjs","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","build:macos-helper":"swift build -c release --package-path macos-helper","build:xcuitest:ios":"AGENT_DEVICE_XCUITEST_PLATFORM=ios sh ./scripts/build-xcuitest-apple.sh","check:mcp-metadata":"node scripts/sync-mcp-metadata.mjs --check","clean:xcuitest:ios":"node scripts/clean-xcuitest-derived.mjs ios","test-app:typecheck":"pnpm --dir examples/test-app typecheck","test:skillgym:case":"node test/skillgym/runner-environment.ts && pnpm build && skillgym run ./test/skillgym/suites/agent-device-smoke-suite.ts --config ./test/skillgym/skillgym.config.ts --case","build:xcuitest:tvos":"AGENT_DEVICE_XCUITEST_PLATFORM=tvos sh ./scripts/build-xcuitest-apple.sh","clean:xcuitest:tvos":"node scripts/clean-xcuitest-derived.mjs tvos","test-app:replay:ios":"pnpm ad test examples/test-app/replays --platform ios --artifacts-dir .tmp/test-app-replay/ios","test:replay:android":"node --experimental-strip-types src/bin.ts test test/integration/replays/android","build:xcuitest:macos":"AGENT_DEVICE_XCUITEST_PLATFORM=macos sh ./scripts/build-xcuitest-apple.sh","clean:xcuitest:macos":"node scripts/clean-xcuitest-derived.mjs macos","test-app:maestro:ios":"node scripts/run-test-app-maestro-suite.mjs --platform ios","test:integration:node":"node --test test/integration/*.test.ts","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","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:xcuitest:ios:clean":"pnpm clean:xcuitest:ios && pnpm build:xcuitest:ios","package:apple-runner:npm":"node scripts/package-apple-runner-source.mjs","test-app:maestro:android":"node scripts/run-test-app-maestro-suite.mjs --platform android","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:android-snapshot-helper":"sh ./scripts/build-android-snapshot-helper.sh $(node -p \"require('./package.json').version\") .tmp/android-snapshot-helper","build:xcuitest:visionos:clean":"pnpm clean:xcuitest:visionos && pnpm build:xcuitest:visionos","build:android-multitouch-helper":"sh ./scripts/build-android-multitouch-helper.sh $(node -p \"require('./package.json').version\") .tmp/android-multitouch-helper","package:android-snapshot-helper":"sh ./scripts/package-android-snapshot-helper.sh $(node -p \"require('./package.json').version\") v$(node -p \"require('./package.json').version\") .tmp/android-snapshot-helper","test:integration:progress:check":"node --experimental-strip-types scripts/integration-progress.ts --check","package:android-multitouch-helper":"sh ./scripts/package-android-multitouch-helper.sh $(node -p \"require('./package.json').version\") .tmp/android-multitouch-helper","package:android-snapshot-helper:npm":"rm -rf android-snapshot-helper/dist && sh ./scripts/package-android-snapshot-helper.sh $(node -p \"require('./package.json').version\") v$(node -p \"require('./package.json').version\") android-snapshot-helper/dist","package:android-multitouch-helper:npm":"rm -rf android-multitouch-helper/dist && sh ./scripts/package-android-multitouch-helper.sh $(node -p \"require('./package.json').version\") android-multitouch-helper/dist"},"_npmUser":{"name":"thymikee","email":"thymikee@gmail.com"},"repository":{"url":"git+https://github.com/callstack/agent-device.git","type":"git"},"_npmVersion":"11.13.0","description":"Agent-native CLI for AI app automation across iOS, Android, tvOS, Android TV, macOS, Linux, and web.","directories":{},"_nodeVersion":"26.1.0","dependencies":{"yaml":"^2.9.0"},"_hasShrinkwrap":false,"packageManager":"pnpm@11.1.2","devDependencies":{"vite":"^8.0.16","oxfmt":"^0.42.0","fallow":"^2.95.0","oxlint":"^1.69.0","tsdown":"^0.22.3","vitest":"^4.1.8","skillgym":"^0.9.1","oxc-parser":"^0.138.0","@types/node":"^22.19.21","@vitest/coverage-v8":"4.1.8","@typescript/native-preview":"7.0.0-dev.20260613.1"},"_npmOperationalInternal":{"tmp":"tmp/agent-device_0.19.0_1783423083752_0.11436142703319718","host":"s3://npm-registry-packages-npm-production"}},"0.19.1":{"name":"agent-device","version":"0.19.1","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"],"author":{"name":"Callstack"},"license":"MIT","_id":"agent-device@0.19.1","maintainers":[{"name":"thymikee","email":"thymikee@gmail.com"}],"homepage":"https://agent-device.dev/","bugs":{"url":"https://github.com/callstack/agent-device/issues"},"bin":{"agent-device":"bin/agent-device.mjs"},"dist":{"shasum":"c578400bfced2daea7826e8026f919e24e998cca","tarball":"https://registry.npmjs.org/agent-device/-/agent-device-0.19.1.tgz","fileCount":185,"integrity":"sha512-3VBErmes3nepgZwt98eZlU1lWCAo3ZAuAg6yGkgfMJFlPOs/mwm5iEuCKPkRc9fcVws32N1dSW4cciH9CYwKjw==","signatures":[{"sig":"MEYCIQCeVXl1QxKtNaLNgLXlDA+gaV5AAKdpDyRYsQDyzP2nfQIhAL9OLdV7TSIQ/R0yYoZb/d+W1U/HipnYbZE4WYUFwPnr","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2223590},"main":"dist/src/index.js","type":"module","types":"dist/src/index.d.ts","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"},"./finders":{"types":"./dist/src/finders.d.ts","import":"./dist/src/finders.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"}},"gitHead":"ff7fc5ba613e7f9c0401d0ebeb0dc097c95af334","mcpName":"io.github.callstackincubator/agent-device","scripts":{"ad":"node bin/agent-device.mjs","lint":"oxlint . --deny-warnings","perf":"node --experimental-strip-types scripts/perf/run.ts","size":"node scripts/size-report.mjs","test":"vitest run --project unit-core --project android-adb","build":"tsdown","check":"pnpm check:tooling && pnpm check:fallow && pnpm check:unit","fallow":"fallow audit --base origin/main","format":"node ./node_modules/oxfmt/bin/oxfmt --write src test skills package.json tsconfig.json tsconfig.lib.json tsdown.config.ts vitest.config.ts .github/actions/setup-node-pnpm/action.yml .oxlintrc.json .oxfmtrc.json '!test/skillgym/.skillgym-results/**'","prepack":"pnpm check:mcp-metadata && pnpm build:all && pnpm package:apple-runner:npm && pnpm package:android-snapshot-helper:npm && pnpm package:android-multitouch-helper:npm","version":"node scripts/sync-mcp-metadata.mjs && git add server.json","perf:ios":"node --experimental-strip-types scripts/perf/run.ts --platform ios","build:all":"pnpm build:node && pnpm build:xcuitest","test:unit":"vitest run --project unit-core --project android-adb","typecheck":"tsc -p tsconfig.json","build:node":"pnpm build && pnpm clean:daemon","check:unit":"pnpm test:unit && pnpm test:smoke","fallow:all":"fallow --summary","test:smoke":"node --test test/integration/smoke-*.test.ts","check:quick":"pnpm lint && pnpm typecheck","check:fallow":"fallow audit","clean:daemon":"node --experimental-strip-types scripts/clean-daemon.ts","format:check":"node ./node_modules/oxfmt/bin/oxfmt --check src test skills package.json tsconfig.json tsconfig.lib.json tsdown.config.ts vitest.config.ts .github/actions/setup-node-pnpm/action.yml .oxlintrc.json .oxfmtrc.json '!test/skillgym/.skillgym-results/**'","perf:android":"node --experimental-strip-types scripts/perf/run.ts --platform android","test-app:ios":"pnpm --dir examples/test-app ios","check:tooling":"pnpm lint && pnpm typecheck && pnpm check:layering && pnpm check:mcp-metadata && pnpm build","size:markdown":"node scripts/size-report.mjs --json .tmp/size-report.json --markdown .tmp/size-report.md","test:coverage":"vitest run --coverage","test:skillgym":"node test/skillgym/runner-environment.ts && pnpm build && skillgym run ./test/skillgym/suites/agent-device-smoke-suite.ts --config ./test/skillgym/skillgym.config.ts","build:xcuitest":"pnpm build:xcuitest:ios && pnpm build:xcuitest:macos","check:layering":"node --experimental-strip-types scripts/layering/check.ts","clean:xcuitest":"node scripts/clean-xcuitest-derived.mjs","test-app:start":"pnpm --dir examples/test-app start","test:smoke:web":"pnpm build && node --test test/integration/smoke-web-platform.test.ts","fallow:baseline":"(fallow dead-code --save-baseline fallow-baselines/dead-code.json --summary || true) && (fallow health --save-baseline fallow-baselines/health.json --summary || true)","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","test-app:android":"pnpm --dir examples/test-app android","test-app:install":"pnpm install --dir examples/test-app --ignore-workspace","test-app:maestro":"node scripts/run-test-app-maestro-suite.mjs","test:integration":"pnpm test:integration:node && pnpm test:integration:provider","sync:mcp-metadata":"node scripts/sync-mcp-metadata.mjs","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","build:macos-helper":"swift build -c release --package-path macos-helper","build:xcuitest:ios":"AGENT_DEVICE_XCUITEST_PLATFORM=ios sh ./scripts/build-xcuitest-apple.sh","check:mcp-metadata":"node scripts/sync-mcp-metadata.mjs --check","clean:xcuitest:ios":"node scripts/clean-xcuitest-derived.mjs ios","test-app:typecheck":"pnpm --dir examples/test-app typecheck","test:skillgym:case":"node test/skillgym/runner-environment.ts && pnpm build && skillgym run ./test/skillgym/suites/agent-device-smoke-suite.ts --config ./test/skillgym/skillgym.config.ts --case","build:xcuitest:tvos":"AGENT_DEVICE_XCUITEST_PLATFORM=tvos sh ./scripts/build-xcuitest-apple.sh","clean:xcuitest:tvos":"node scripts/clean-xcuitest-derived.mjs tvos","test-app:replay:ios":"pnpm ad test examples/test-app/replays --platform ios --artifacts-dir .tmp/test-app-replay/ios","test:replay:android":"node --experimental-strip-types src/bin.ts test test/integration/replays/android","build:xcuitest:macos":"AGENT_DEVICE_XCUITEST_PLATFORM=macos sh ./scripts/build-xcuitest-apple.sh","clean:xcuitest:macos":"node scripts/clean-xcuitest-derived.mjs macos","test-app:maestro:ios":"node scripts/run-test-app-maestro-suite.mjs --platform ios","test:integration:node":"node --test test/integration/*.test.ts","bench:help-conformance":"node scripts/help-conformance-bench.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","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:xcuitest:ios:clean":"pnpm clean:xcuitest:ios && pnpm build:xcuitest:ios","package:apple-runner:npm":"node scripts/package-apple-runner-source.mjs","test-app:maestro:android":"node scripts/run-test-app-maestro-suite.mjs --platform android","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:android-snapshot-helper":"sh ./scripts/build-android-snapshot-helper.sh $(node -p \"require('./package.json').version\") .tmp/android-snapshot-helper","build:xcuitest:visionos:clean":"pnpm clean:xcuitest:visionos && pnpm build:xcuitest:visionos","build:android-multitouch-helper":"sh ./scripts/build-android-multitouch-helper.sh $(node -p \"require('./package.json').version\") .tmp/android-multitouch-helper","package:android-snapshot-helper":"sh ./scripts/package-android-snapshot-helper.sh $(node -p \"require('./package.json').version\") v$(node -p \"require('./package.json').version\") .tmp/android-snapshot-helper","test:integration:progress:check":"node --experimental-strip-types scripts/integration-progress.ts --check","package:android-multitouch-helper":"sh ./scripts/package-android-multitouch-helper.sh $(node -p \"require('./package.json').version\") .tmp/android-multitouch-helper","package:android-snapshot-helper:npm":"rm -rf android-snapshot-helper/dist && sh ./scripts/package-android-snapshot-helper.sh $(node -p \"require('./package.json').version\") v$(node -p \"require('./package.json').version\") android-snapshot-helper/dist","package:android-multitouch-helper:npm":"rm -rf android-multitouch-helper/dist && sh ./scripts/package-android-multitouch-helper.sh $(node -p \"require('./package.json').version\") android-multitouch-helper/dist"},"_npmUser":{"name":"thymikee","email":"thymikee@gmail.com"},"repository":{"url":"git+https://github.com/callstack/agent-device.git","type":"git"},"_npmVersion":"11.13.0","description":"Agent-native CLI for AI app automation across iOS, Android, tvOS, Android TV, macOS, Linux, and web.","directories":{},"_nodeVersion":"26.1.0","dependencies":{"yaml":"^2.9.0"},"_hasShrinkwrap":false,"packageManager":"pnpm@11.1.2","devDependencies":{"vite":"^8.0.16","oxfmt":"^0.42.0","fallow":"^2.95.0","oxlint":"^1.69.0","tsdown":"^0.22.4","vitest":"^4.1.8","skillgym":"^0.9.1","oxc-parser":"^0.138.0","typescript":"^7.0.2","@types/node":"^22.19.21","@vitest/coverage-v8":"4.1.8"},"_npmOperationalInternal":{"tmp":"tmp/agent-device_0.19.1_1783540219614_0.9113589759394798","host":"s3://npm-registry-packages-npm-production"}},"0.19.2":{"name":"agent-device","version":"0.19.2","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"],"author":{"name":"Callstack"},"license":"MIT","_id":"agent-device@0.19.2","maintainers":[{"name":"thymikee","email":"thymikee@gmail.com"}],"homepage":"https://agent-device.dev/","bugs":{"url":"https://github.com/callstack/agent-device/issues"},"bin":{"agent-device":"bin/agent-device.mjs"},"dist":{"shasum":"773f3a787e582bd828a252bb66820ef8ffae7277","tarball":"https://registry.npmjs.org/agent-device/-/agent-device-0.19.2.tgz","fileCount":185,"integrity":"sha512-WdXQkPZRFE3xlr1QGUBY5e8lUCFMLqbuOdB2QO8XjbSlevXktQplWLlAt8GPxT5kCiYZsm6YhlgOj7j5b3vwTQ==","signatures":[{"sig":"MEQCIG/kOYPdsuCS230TNqvqQMHMc0+qUu/mdapREKZn7YyCAiB2FZ7ogoEy+F5cYIG6J9abjJIOSE3bRlX9nFW+lR3khw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2230361},"main":"dist/src/index.js","type":"module","types":"dist/src/index.d.ts","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"},"./finders":{"types":"./dist/src/finders.d.ts","import":"./dist/src/finders.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"}},"gitHead":"5c08f1664fc75f69922790ad6928959b5acc7619","mcpName":"io.github.callstackincubator/agent-device","scripts":{"ad":"node bin/agent-device.mjs","lint":"oxlint . --deny-warnings","perf":"node --experimental-strip-types scripts/perf/run.ts","size":"node scripts/size-report.mjs","test":"vitest run --project unit-core --project android-adb","build":"tsdown","check":"pnpm check:tooling && pnpm check:fallow && pnpm check:unit","fallow":"fallow audit --base origin/main","format":"node ./node_modules/oxfmt/bin/oxfmt --write src test skills package.json tsconfig.json tsconfig.lib.json tsdown.config.ts vitest.config.ts .github/actions/setup-node-pnpm/action.yml .oxlintrc.json .oxfmtrc.json '!test/skillgym/.skillgym-results/**'","prepack":"pnpm check:mcp-metadata && pnpm build:all && pnpm package:apple-runner:npm && pnpm package:android-snapshot-helper:npm && pnpm package:android-multitouch-helper:npm","version":"node scripts/sync-mcp-metadata.mjs && git add server.json","perf:ios":"node --experimental-strip-types scripts/perf/run.ts --platform ios","build:all":"pnpm build:node && pnpm build:xcuitest","test:unit":"vitest run --project unit-core --project android-adb","typecheck":"tsc -p tsconfig.json","build:node":"pnpm build && pnpm clean:daemon","check:unit":"pnpm test:unit && pnpm test:smoke","fallow:all":"fallow --summary","test:smoke":"node --test test/integration/smoke-*.test.ts","check:quick":"pnpm lint && pnpm typecheck","check:fallow":"fallow audit","clean:daemon":"node --experimental-strip-types scripts/clean-daemon.ts","format:check":"node ./node_modules/oxfmt/bin/oxfmt --check src test skills package.json tsconfig.json tsconfig.lib.json tsdown.config.ts vitest.config.ts .github/actions/setup-node-pnpm/action.yml .oxlintrc.json .oxfmtrc.json '!test/skillgym/.skillgym-results/**'","perf:android":"node --experimental-strip-types scripts/perf/run.ts --platform android","test-app:ios":"pnpm --dir examples/test-app ios","check:tooling":"pnpm lint && pnpm typecheck && pnpm check:layering && pnpm check:mcp-metadata && pnpm build","size:markdown":"node scripts/size-report.mjs --json .tmp/size-report.json --markdown .tmp/size-report.md","test:coverage":"vitest run --coverage","test:skillgym":"node test/skillgym/runner-environment.ts && pnpm build && skillgym run ./test/skillgym/suites/agent-device-smoke-suite.ts --config ./test/skillgym/skillgym.config.ts","build:xcuitest":"pnpm build:xcuitest:ios && pnpm build:xcuitest:macos","check:layering":"node --experimental-strip-types scripts/layering/check.ts","clean:xcuitest":"node scripts/clean-xcuitest-derived.mjs","test-app:start":"pnpm --dir examples/test-app start","test:smoke:web":"pnpm build && node --test test/integration/smoke-web-platform.test.ts","fallow:baseline":"(fallow dead-code --save-baseline fallow-baselines/dead-code.json --summary || true) && (fallow health --save-baseline fallow-baselines/health.json --summary || true)","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","test-app:android":"pnpm --dir examples/test-app android","test-app:install":"pnpm install --dir examples/test-app --ignore-workspace","test-app:maestro":"node scripts/run-test-app-maestro-suite.mjs","test:integration":"pnpm test:integration:node && pnpm test:integration:provider","sync:mcp-metadata":"node scripts/sync-mcp-metadata.mjs","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","build:macos-helper":"swift build -c release --package-path macos-helper","build:xcuitest:ios":"AGENT_DEVICE_XCUITEST_PLATFORM=ios sh ./scripts/build-xcuitest-apple.sh","check:mcp-metadata":"node scripts/sync-mcp-metadata.mjs --check","clean:xcuitest:ios":"node scripts/clean-xcuitest-derived.mjs ios","test-app:typecheck":"pnpm --dir examples/test-app typecheck","test:skillgym:case":"node test/skillgym/runner-environment.ts && pnpm build && skillgym run ./test/skillgym/suites/agent-device-smoke-suite.ts --config ./test/skillgym/skillgym.config.ts --case","build:xcuitest:tvos":"AGENT_DEVICE_XCUITEST_PLATFORM=tvos sh ./scripts/build-xcuitest-apple.sh","clean:xcuitest:tvos":"node scripts/clean-xcuitest-derived.mjs tvos","test-app:replay:ios":"pnpm ad test examples/test-app/replays --platform ios --artifacts-dir .tmp/test-app-replay/ios","test:replay:android":"node --experimental-strip-types src/bin.ts test test/integration/replays/android","build:xcuitest:macos":"AGENT_DEVICE_XCUITEST_PLATFORM=macos sh ./scripts/build-xcuitest-apple.sh","clean:xcuitest:macos":"node scripts/clean-xcuitest-derived.mjs macos","test-app:maestro:ios":"node scripts/run-test-app-maestro-suite.mjs --platform ios","test:integration:node":"node --test test/integration/*.test.ts","bench:help-conformance":"node scripts/help-conformance-bench.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","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:xcuitest:ios:clean":"pnpm clean:xcuitest:ios && pnpm build:xcuitest:ios","package:apple-runner:npm":"node scripts/package-apple-runner-source.mjs","test-app:maestro:android":"node scripts/run-test-app-maestro-suite.mjs --platform android","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:android-snapshot-helper":"sh ./scripts/build-android-snapshot-helper.sh $(node -p \"require('./package.json').version\") .tmp/android-snapshot-helper","build:xcuitest:visionos:clean":"pnpm clean:xcuitest:visionos && pnpm build:xcuitest:visionos","build:android-multitouch-helper":"sh ./scripts/build-android-multitouch-helper.sh $(node -p \"require('./package.json').version\") .tmp/android-multitouch-helper","package:android-snapshot-helper":"sh ./scripts/package-android-snapshot-helper.sh $(node -p \"require('./package.json').version\") v$(node -p \"require('./package.json').version\") .tmp/android-snapshot-helper","test:integration:progress:check":"node --experimental-strip-types scripts/integration-progress.ts --check","package:android-multitouch-helper":"sh ./scripts/package-android-multitouch-helper.sh $(node -p \"require('./package.json').version\") .tmp/android-multitouch-helper","package:android-snapshot-helper:npm":"rm -rf android-snapshot-helper/dist && sh ./scripts/package-android-snapshot-helper.sh $(node -p \"require('./package.json').version\") v$(node -p \"require('./package.json').version\") android-snapshot-helper/dist","package:android-multitouch-helper:npm":"rm -rf android-multitouch-helper/dist && sh ./scripts/package-android-multitouch-helper.sh $(node -p \"require('./package.json').version\") android-multitouch-helper/dist"},"_npmUser":{"name":"thymikee","email":"thymikee@gmail.com"},"repository":{"url":"git+https://github.com/callstack/agent-device.git","type":"git"},"_npmVersion":"11.13.0","description":"Agent-native CLI for AI app automation across iOS, Android, tvOS, Android TV, macOS, Linux, and web.","directories":{},"_nodeVersion":"26.1.0","dependencies":{"yaml":"^2.9.0"},"_hasShrinkwrap":false,"packageManager":"pnpm@11.1.2","devDependencies":{"vite":"^8.0.16","oxfmt":"^0.42.0","fallow":"^2.95.0","oxlint":"^1.69.0","tsdown":"^0.22.4","vitest":"^4.1.8","skillgym":"^0.9.1","oxc-parser":"^0.138.0","typescript":"^7.0.2","@types/node":"^22.19.21","@vitest/coverage-v8":"4.1.8"},"_npmOperationalInternal":{"tmp":"tmp/agent-device_0.19.2_1783618959432_0.39595769139309356","host":"s3://npm-registry-packages-npm-production"}},"0.19.3":{"name":"agent-device","version":"0.19.3","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"],"author":{"name":"Callstack"},"license":"MIT","_id":"agent-device@0.19.3","maintainers":[{"name":"thymikee","email":"thymikee@gmail.com"}],"homepage":"https://agent-device.dev/","bugs":{"url":"https://github.com/callstack/agent-device/issues"},"bin":{"agent-device":"bin/agent-device.mjs"},"dist":{"shasum":"c4c52c425a7c5525c4e8a6c0b3a19557d11c2b1d","tarball":"https://registry.npmjs.org/agent-device/-/agent-device-0.19.3.tgz","fileCount":185,"integrity":"sha512-GKMs6rjl0iSdcx//CEeZ2Gfxao948Qln+HEACCE9eiEiaoWi93jKkU1hZJttH3cE2iE4eFMuJfucFykoyeVElw==","signatures":[{"sig":"MEYCIQDPHtLtPJQlIff241rgjby3/bkMS4j0SltRNkBAFAYtpwIhAMFOlxWPiB4ICKCq8Zewe1Ot+FljIPI1Nxrtmb7HJfzB","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2241037},"main":"dist/src/index.js","type":"module","types":"dist/src/index.d.ts","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"},"./finders":{"types":"./dist/src/finders.d.ts","import":"./dist/src/finders.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"}},"gitHead":"fb7dbfe6fe280ee820b5f47286b6a4548620dfa4","mcpName":"io.github.callstackincubator/agent-device","scripts":{"ad":"node bin/agent-device.mjs","lint":"oxlint . --deny-warnings","perf":"node --experimental-strip-types scripts/perf/run.ts","size":"node scripts/size-report.mjs","test":"vitest run --project unit-core --project android-adb","build":"tsdown","check":"pnpm check:tooling && pnpm check:fallow && pnpm check:unit","fallow":"fallow audit --base origin/main","format":"node ./node_modules/oxfmt/bin/oxfmt --write src test skills package.json tsconfig.json tsconfig.lib.json tsdown.config.ts vitest.config.ts .github/actions/setup-node-pnpm/action.yml .oxlintrc.json .oxfmtrc.json '!test/skillgym/.skillgym-results/**'","prepack":"pnpm check:mcp-metadata && pnpm build:all && pnpm package:apple-runner:npm && pnpm package:android-snapshot-helper:npm && pnpm package:android-multitouch-helper:npm","version":"node scripts/sync-mcp-metadata.mjs && git add server.json","perf:ios":"node --experimental-strip-types scripts/perf/run.ts --platform ios","build:all":"pnpm build:node && pnpm build:xcuitest","test:unit":"vitest run --project unit-core --project android-adb","typecheck":"tsc -p tsconfig.json","build:node":"pnpm build && pnpm clean:daemon","check:unit":"pnpm test:unit && pnpm test:smoke","fallow:all":"fallow --summary","test:smoke":"node --test test/integration/smoke-*.test.ts","check:quick":"pnpm lint && pnpm typecheck","check:fallow":"fallow audit","clean:daemon":"node --experimental-strip-types scripts/clean-daemon.ts","format:check":"node ./node_modules/oxfmt/bin/oxfmt --check src test skills package.json tsconfig.json tsconfig.lib.json tsdown.config.ts vitest.config.ts .github/actions/setup-node-pnpm/action.yml .oxlintrc.json .oxfmtrc.json '!test/skillgym/.skillgym-results/**'","perf:android":"node --experimental-strip-types scripts/perf/run.ts --platform android","test-app:ios":"pnpm --dir examples/test-app ios","build:android":"pnpm package:android-snapshot-helper:npm && pnpm package:android-multitouch-helper:npm","check:tooling":"pnpm lint && pnpm typecheck && pnpm check:layering && pnpm check:production-exports && pnpm check:mcp-metadata && pnpm build","size:markdown":"node scripts/size-report.mjs --json .tmp/size-report.json --markdown .tmp/size-report.md","test:coverage":"vitest run --coverage","test:skillgym":"node test/skillgym/runner-environment.ts && pnpm build && skillgym run ./test/skillgym/suites/agent-device-smoke-suite.ts --config ./test/skillgym/skillgym.config.ts","build:xcuitest":"pnpm build:xcuitest:ios && pnpm build:xcuitest:macos","check:affected":"node --experimental-strip-types scripts/check-affected/run.ts","check:layering":"node --experimental-strip-types --test scripts/layering/model.test.ts && node --experimental-strip-types scripts/layering/check.ts","clean:xcuitest":"node scripts/clean-xcuitest-derived.mjs","test-app:start":"pnpm --dir examples/test-app start","test:smoke:web":"pnpm build && node --test test/integration/smoke-web-platform.test.ts","explain:command":"node --experimental-strip-types scripts/explain-command.ts","fallow:baseline":"(fallow dead-code --save-baseline fallow-baselines/dead-code.json --summary || true) && (fallow health --save-baseline fallow-baselines/health.json --summary || true)","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","test-app:android":"pnpm --dir examples/test-app android","test-app:install":"pnpm install --dir examples/test-app --ignore-workspace","test-app:maestro":"node scripts/run-test-app-maestro-suite.mjs","test:integration":"pnpm test:integration:node && pnpm test:integration:provider","sync:mcp-metadata":"node scripts/sync-mcp-metadata.mjs","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","build:macos-helper":"swift build -c release --package-path macos-helper","build:xcuitest:ios":"AGENT_DEVICE_XCUITEST_PLATFORM=ios sh ./scripts/build-xcuitest-apple.sh","check:mcp-metadata":"node scripts/sync-mcp-metadata.mjs --check","clean:xcuitest:ios":"node scripts/clean-xcuitest-derived.mjs ios","test-app:typecheck":"pnpm --dir examples/test-app typecheck","test:skillgym:case":"node test/skillgym/runner-environment.ts && pnpm build && skillgym run ./test/skillgym/suites/agent-device-smoke-suite.ts --config ./test/skillgym/skillgym.config.ts --case","build:xcuitest:tvos":"AGENT_DEVICE_XCUITEST_PLATFORM=tvos sh ./scripts/build-xcuitest-apple.sh","check:affected:test":"node --experimental-strip-types --test scripts/check-affected/model.test.ts scripts/check-affected/run.test.ts","clean:xcuitest:tvos":"node scripts/clean-xcuitest-derived.mjs tvos","test-app:replay:ios":"pnpm ad test examples/test-app/replays --platform ios --artifacts-dir .tmp/test-app-replay/ios","test:output-economy":"vitest run --project output-economy","test:replay:android":"node --experimental-strip-types src/bin.ts test test/integration/replays/android","build:xcuitest:macos":"AGENT_DEVICE_XCUITEST_PLATFORM=macos sh ./scripts/build-xcuitest-apple.sh","clean:xcuitest:macos":"node scripts/clean-xcuitest-derived.mjs macos","test-app:maestro:ios":"node scripts/run-test-app-maestro-suite.mjs --platform ios","test:integration:node":"node --test test/integration/*.test.ts","bench:help-conformance":"node scripts/help-conformance-bench.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:layering:baseline":"node --experimental-strip-types scripts/layering/check.ts --update-baseline","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:xcuitest:ios:clean":"pnpm clean:xcuitest:ios && pnpm build:xcuitest:ios","check:production-exports":"fallow dead-code --config fallow-production-exports.json --production --unused-exports --baseline fallow-baselines/production-unused-exports.json --fail-on-issues","package:apple-runner:npm":"node scripts/package-apple-runner-source.mjs","test-app:maestro:android":"node scripts/run-test-app-maestro-suite.mjs --platform android","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:android-snapshot-helper":"sh ./scripts/build-android-snapshot-helper.sh $(node -p \"require('./package.json').version\") .tmp/android-snapshot-helper","build:xcuitest:visionos:clean":"pnpm clean:xcuitest:visionos && pnpm build:xcuitest:visionos","build:android-multitouch-helper":"sh ./scripts/build-android-multitouch-helper.sh $(node -p \"require('./package.json').version\") .tmp/android-multitouch-helper","package:android-snapshot-helper":"sh ./scripts/package-android-snapshot-helper.sh $(node -p \"require('./package.json').version\") v$(node -p \"require('./package.json').version\") .tmp/android-snapshot-helper","test:integration:progress:check":"node --experimental-strip-types scripts/integration-progress.ts --check","check:production-exports:baseline":"fallow dead-code --config fallow-production-exports.json --production --unused-exports --save-baseline fallow-baselines/production-unused-exports.json --summary","package:android-multitouch-helper":"sh ./scripts/package-android-multitouch-helper.sh $(node -p \"require('./package.json').version\") .tmp/android-multitouch-helper","package:android-snapshot-helper:npm":"rm -rf android-snapshot-helper/dist && sh ./scripts/package-android-snapshot-helper.sh $(node -p \"require('./package.json').version\") v$(node -p \"require('./package.json').version\") android-snapshot-helper/dist","package:android-multitouch-helper:npm":"rm -rf android-multitouch-helper/dist && sh ./scripts/package-android-multitouch-helper.sh $(node -p \"require('./package.json').version\") android-multitouch-helper/dist"},"_npmUser":{"name":"thymikee","email":"thymikee@gmail.com"},"repository":{"url":"git+https://github.com/callstack/agent-device.git","type":"git"},"_npmVersion":"11.13.0","description":"Agent-native CLI for AI app automation across iOS, Android, tvOS, Android TV, macOS, Linux, and web.","directories":{},"_nodeVersion":"26.1.0","dependencies":{"yaml":"^2.9.0"},"_hasShrinkwrap":false,"packageManager":"pnpm@11.1.2","devDependencies":{"vite":"^8.0.16","oxfmt":"^0.42.0","fallow":"^2.95.0","oxlint":"^1.69.0","tsdown":"^0.22.4","vitest":"^4.1.8","skillgym":"^0.9.1","oxc-parser":"^0.138.0","typescript":"^7.0.2","@types/node":"^22.19.21","@vitest/coverage-v8":"4.1.8"},"_npmOperationalInternal":{"tmp":"tmp/agent-device_0.19.3_1783699403169_0.14037859693837262","host":"s3://npm-registry-packages-npm-production"}},"0.20.0":{"name":"agent-device","version":"0.20.0","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"],"author":{"name":"Callstack"},"license":"MIT","_id":"agent-device@0.20.0","maintainers":[{"name":"thymikee","email":"thymikee@gmail.com"}],"homepage":"https://agent-device.dev/","bugs":{"url":"https://github.com/callstack/agent-device/issues"},"bin":{"agent-device":"bin/agent-device.mjs"},"dist":{"shasum":"36126376ede8cdd3b6b7ddd5a5502d0ba65e7ccc","tarball":"https://registry.npmjs.org/agent-device/-/agent-device-0.20.0.tgz","fileCount":197,"integrity":"sha512-bqXGL+Bxu47iJLsXR1PUPTq5QnpB6IlaYUzm50XBzQzsTFHor+COODAFZmVOoAsjKgk9Tx/ejUlZidFIn0rNXA==","signatures":[{"sig":"MEYCIQDKH+M959Hl1CsV5m0k1i6Wls4ivQLgzTPseYJaO6XRzgIhAMYTZRiwsmzWB83YcKAkrt8qB35WP/GCQVHqy7gxzmCO","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2469168},"main":"dist/src/index.js","type":"module","types":"dist/src/index.d.ts","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"},"./finders":{"types":"./dist/src/finders.d.ts","import":"./dist/src/finders.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"}},"gitHead":"a55a1a260058cd3b20b829b47f4dbdeacf097f39","mcpName":"io.github.callstackincubator/agent-device","scripts":{"ad":"node bin/agent-device.mjs","lint":"oxlint . --deny-warnings","perf":"node --experimental-strip-types scripts/perf/run.ts","size":"node scripts/size-report.mjs","test":"vitest run --project unit-core --project android-adb","build":"tsdown","check":"pnpm check:tooling && pnpm check:fallow && pnpm check:unit","fallow":"fallow audit --base origin/main","format":"node ./node_modules/oxfmt/bin/oxfmt --write src test skills package.json tsconfig.json tsconfig.lib.json tsdown.config.ts vitest.config.ts .github/actions/setup-node-pnpm/action.yml .oxlintrc.json .oxfmtrc.json '!test/skillgym/.skillgym-results/**'","prepack":"pnpm check:mcp-metadata && pnpm build:all && pnpm package:apple-runner:npm && pnpm package:android-snapshot-helper:npm && pnpm package:android-ime-helper:npm","version":"node scripts/sync-mcp-metadata.mjs && git add server.json","perf:ios":"node --experimental-strip-types scripts/perf/run.ts --platform ios","build:all":"pnpm build:node && pnpm build:xcuitest","test:unit":"vitest run --project unit-core --project android-adb","typecheck":"tsc -p tsconfig.json","build:node":"pnpm build && pnpm clean:daemon","check:unit":"pnpm test:unit && pnpm test:smoke","fallow:all":"fallow --summary","test:smoke":"node --test test/integration/smoke-*.test.ts","check:quick":"pnpm lint && pnpm typecheck","check:fallow":"fallow audit","clean:daemon":"node --experimental-strip-types scripts/clean-daemon.ts","format:check":"node ./node_modules/oxfmt/bin/oxfmt --check src test skills package.json tsconfig.json tsconfig.lib.json tsdown.config.ts vitest.config.ts .github/actions/setup-node-pnpm/action.yml .oxlintrc.json .oxfmtrc.json '!test/skillgym/.skillgym-results/**'","perf:android":"node --experimental-strip-types scripts/perf/run.ts --platform android","test-app:ios":"pnpm --dir examples/test-app ios","build:android":"pnpm package:android-snapshot-helper:npm && pnpm package:android-ime-helper:npm","check:tooling":"pnpm lint && pnpm typecheck && pnpm check:layering && pnpm check:production-exports && pnpm check:mcp-metadata && pnpm build && pnpm check:bundle-owner-files","size:markdown":"node scripts/size-report.mjs --json .tmp/size-report.json --markdown .tmp/size-report.md","test:coverage":"vitest run --coverage","test:skillgym":"node test/skillgym/runner-environment.ts && pnpm build && skillgym run ./test/skillgym/suites/agent-device-smoke-suite.ts --config ./test/skillgym/skillgym.config.ts","build:xcuitest":"pnpm build:xcuitest:ios && pnpm build:xcuitest:macos","check:affected":"node --experimental-strip-types scripts/check-affected/run.ts","check:layering":"node --experimental-strip-types --test scripts/layering/model.test.ts && node --experimental-strip-types scripts/layering/check.ts","clean:xcuitest":"node scripts/clean-xcuitest-derived.mjs","test-app:start":"pnpm --dir examples/test-app start","test:smoke:web":"pnpm build && node --test test/integration/smoke-web-platform.test.ts","check: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 || true) && (fallow health --save-baseline fallow-baselines/health.json --summary || true)","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","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:integration":"pnpm test:integration:node && pnpm test:integration:provider","sync:mcp-metadata":"node scripts/sync-mcp-metadata.mjs","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","build:macos-helper":"swift build -c release --package-path apple/macos-helper","build:xcuitest:ios":"AGENT_DEVICE_XCUITEST_PLATFORM=ios sh ./scripts/build-xcuitest-apple.sh","check:mcp-metadata":"node scripts/sync-mcp-metadata.mjs --check","clean:xcuitest:ios":"node scripts/clean-xcuitest-derived.mjs ios","test-app:typecheck":"pnpm --dir examples/test-app typecheck","test:skillgym:case":"node test/skillgym/runner-environment.ts && pnpm build && skillgym run ./test/skillgym/suites/agent-device-smoke-suite.ts --config ./test/skillgym/skillgym.config.ts --case","build:xcuitest:tvos":"AGENT_DEVICE_XCUITEST_PLATFORM=tvos sh ./scripts/build-xcuitest-apple.sh","check:affected:test":"node --experimental-strip-types --test scripts/check-affected/model.test.ts scripts/check-affected/run.test.ts","clean:xcuitest:tvos":"node scripts/clean-xcuitest-derived.mjs tvos","maestro:conformance":"node --experimental-strip-types --test scripts/maestro-conformance/verify.test.ts scripts/maestro-conformance/differential/run.test.ts scripts/maestro-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:output-economy":"vitest run --project output-economy","test:replay:android":"node --experimental-strip-types src/bin.ts test test/integration/replays/android","build:xcuitest:macos":"AGENT_DEVICE_XCUITEST_PLATFORM=macos sh ./scripts/build-xcuitest-apple.sh","clean:xcuitest:macos":"node scripts/clean-xcuitest-derived.mjs macos","test-app:maestro:ios":"node scripts/run-test-app-maestro-suite.mjs --platform ios","test:integration:node":"node --test test/integration/*.test.ts","bench:help-conformance":"node scripts/help-conformance-bench.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","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":"sh ./scripts/build-android-ime-helper.sh $(node -p \"require('./package.json').version\") .tmp/android-ime-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: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":"node scripts/run-test-app-maestro-suite.mjs --platform android","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","package:android-ime-helper":"sh ./scripts/package-android-ime-helper.sh $(node -p \"require('./package.json').version\") .tmp/android-ime-helper","build:android-snapshot-helper":"sh ./scripts/build-android-snapshot-helper.sh $(node -p \"require('./package.json').version\") .tmp/android-snapshot-helper","build:xcuitest:visionos:clean":"pnpm clean:xcuitest:visionos && pnpm build:xcuitest:visionos","maestro:conformance:regenerate":"node scripts/maestro-conformance/regenerate.mjs","package:android-ime-helper:npm":"rm -rf android/ime-helper/dist && sh ./scripts/package-android-ime-helper.sh $(node -p \"require('./package.json').version\") android/ime-helper/dist","package:android-snapshot-helper":"sh ./scripts/package-android-snapshot-helper.sh $(node -p \"require('./package.json').version\") v$(node -p \"require('./package.json').version\") .tmp/android-snapshot-helper","test:integration:progress:check":"node --experimental-strip-types scripts/integration-progress.ts --check","maestro:conformance:differential":"node --experimental-strip-types scripts/maestro-conformance/differential/run.ts","package:android-snapshot-helper:npm":"rm -rf android/snapshot-helper/dist && sh ./scripts/package-android-snapshot-helper.sh $(node -p \"require('./package.json').version\") v$(node -p \"require('./package.json').version\") android/snapshot-helper/dist"},"_npmUser":{"name":"thymikee","email":"thymikee@gmail.com"},"repository":{"url":"git+https://github.com/callstack/agent-device.git","type":"git"},"_npmVersion":"11.13.0","description":"Agent-native CLI for AI app automation across iOS, Android, tvOS, Android TV, macOS, Linux, and web.","directories":{},"_nodeVersion":"26.1.0","dependencies":{"yaml":"^2.9.0","@limrun/api":"^0.24.5"},"_hasShrinkwrap":false,"packageManager":"pnpm@11.1.2","devDependencies":{"vite":"^8.0.16","oxfmt":"^0.42.0","fallow":"^2.95.0","oxlint":"^1.69.0","tsdown":"^0.22.4","vitest":"^4.1.8","skillgym":"^0.9.1","oxc-parser":"^0.138.0","typescript":"^7.0.2","@types/node":"^22.19.21","@chenglou/freerange":"^0.0.1","@vitest/coverage-v8":"4.1.8"},"_npmOperationalInternal":{"tmp":"tmp/agent-device_0.20.0_1784659914741_0.4636020590690191","host":"s3://npm-registry-packages-npm-production"}},"0.20.1":{"name":"agent-device","version":"0.20.1","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"],"author":{"name":"Callstack"},"license":"MIT","_id":"agent-device@0.20.1","maintainers":[{"name":"thymikee","email":"thymikee@gmail.com"}],"homepage":"https://agent-device.dev/","bugs":{"url":"https://github.com/callstack/agent-device/issues"},"bin":{"agent-device":"bin/agent-device.mjs"},"dist":{"shasum":"f160efb586576d5f78bcdfd925476c6606753d94","tarball":"https://registry.npmjs.org/agent-device/-/agent-device-0.20.1.tgz","fileCount":202,"integrity":"sha512-qFOoEk3gbMQI8k0v+a5KZt37mqe+Kr1TIsds7ppJk3iDcomPcgvgIeAqjKxDaBiPAF13cjXUiF8pdeeHswLKEw==","signatures":[{"sig":"MEQCIBda4OquP/PqtwFGupd3YJDOVZw1a9V3IzGNjGp+kewTAiBvMnyIJ86t8MZaSPVLD7J9WG+bZRzM2O00lOjSdBNbEg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2533645},"main":"dist/src/index.js","type":"module","types":"dist/src/index.d.ts","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"},"./finders":{"types":"./dist/src/finders.d.ts","import":"./dist/src/finders.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"}},"gitHead":"10682743abd2ddb0dec66382d2cb3b763b1bd869","mcpName":"io.github.callstackincubator/agent-device","scripts":{"ad":"node bin/agent-device.mjs","lint":"oxlint . --deny-warnings","perf":"node --experimental-strip-types scripts/perf/run.ts","size":"node scripts/size-report.mjs","test":"vitest run --project unit-core --project subprocess-stub","build":"tsdown","check":"pnpm check:tooling && pnpm check:fallow && pnpm check:unit","fallow":"fallow audit --base origin/main","format":"node ./node_modules/oxfmt/bin/oxfmt --write src test skills scripts/help-conformance-bench.mjs scripts/help-conformance-case-checks.mjs scripts/help-conformance-command-validator.ts scripts/help-conformance-expectations.mjs scripts/help-conformance-plan-validator.mjs scripts/help-conformance-runner-output.mjs scripts/help-conformance-summary.mjs scripts/help-conformance-cases.mjs scripts/help-conformance-sample-outputs.mjs scripts/__tests__/help-conformance-bench.test.ts scripts/__tests__/help-conformance-sample-outputs.test.ts scripts/__tests__/help-conformance-topic-coverage.test.ts package.json tsconfig.json tsconfig.lib.json tsdown.config.ts vitest.config.ts .github/actions/setup-node-pnpm/action.yml .oxlintrc.json .oxfmtrc.json '!test/skillgym/.skillgym-results/**'","prepack":"pnpm check:mcp-metadata && pnpm build:all && pnpm package:apple-runner:npm && pnpm package:android-snapshot-helper:npm && pnpm package:android-ime-helper:npm","version":"node scripts/sync-mcp-metadata.mjs && git add server.json","depgraph":"node --experimental-strip-types scripts/depgraph/build.ts","perf:ios":"node --experimental-strip-types scripts/perf/run.ts --platform ios","build:all":"pnpm build:node && pnpm build:xcuitest","test:unit":"vitest run --project unit-core --project subprocess-stub","typecheck":"tsc -p tsconfig.json","build:node":"pnpm build && pnpm clean:daemon","check:unit":"pnpm test:unit && pnpm test:smoke","fallow:all":"fallow --summary","test:smoke":"node --test test/integration/smoke-*.test.ts","check:quick":"pnpm lint && pnpm typecheck","check:fallow":"fallow audit","clean:daemon":"node --experimental-strip-types scripts/clean-daemon.ts","format:check":"node ./node_modules/oxfmt/bin/oxfmt --check src test skills scripts/help-conformance-bench.mjs scripts/help-conformance-case-checks.mjs scripts/help-conformance-command-validator.ts scripts/help-conformance-expectations.mjs scripts/help-conformance-plan-validator.mjs scripts/help-conformance-runner-output.mjs scripts/help-conformance-summary.mjs scripts/help-conformance-cases.mjs scripts/help-conformance-sample-outputs.mjs scripts/__tests__/help-conformance-bench.test.ts scripts/__tests__/help-conformance-sample-outputs.test.ts scripts/__tests__/help-conformance-topic-coverage.test.ts package.json tsconfig.json tsconfig.lib.json tsdown.config.ts vitest.config.ts .github/actions/setup-node-pnpm/action.yml .oxlintrc.json .oxfmtrc.json '!test/skillgym/.skillgym-results/**'","perf:android":"node --experimental-strip-types scripts/perf/run.ts --platform android","test-app:ios":"pnpm --dir examples/test-app ios","build:android":"pnpm package:android-snapshot-helper:npm && pnpm package:android-ime-helper:npm","check:tooling":"pnpm lint && pnpm typecheck && pnpm check:layering && pnpm depgraph:test && pnpm check:production-exports && pnpm check:mcp-metadata && pnpm build && pnpm check:bundle-owner-files","depgraph:test":"node --experimental-strip-types --test scripts/depgraph/model.test.ts","size:markdown":"node scripts/size-report.mjs --json .tmp/size-report.json --markdown .tmp/size-report.md","test:coverage":"vitest run --coverage","test:skillgym":"node test/skillgym/runner-environment.ts && pnpm build && skillgym run ./test/skillgym/suites/agent-device-smoke-suite.ts --config ./test/skillgym/skillgym.config.ts","build:xcuitest":"pnpm build:xcuitest:ios && pnpm build:xcuitest:macos","check:affected":"node --experimental-strip-types scripts/check-affected/run.ts","check:layering":"node --experimental-strip-types --test scripts/layering/model.test.ts && node --experimental-strip-types scripts/layering/check.ts","clean:xcuitest":"node scripts/clean-xcuitest-derived.mjs","test-app:start":"pnpm --dir examples/test-app start","test:smoke:web":"pnpm build && node --test test/integration/smoke-web-platform.test.ts","check: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 || true) && (fallow health --save-baseline fallow-baselines/health.json --summary || true)","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","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:integration":"pnpm test:integration:node && pnpm test:integration:provider","sync:mcp-metadata":"node scripts/sync-mcp-metadata.mjs","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","build:macos-helper":"swift build -c release --package-path apple/macos-helper","build:xcuitest:ios":"AGENT_DEVICE_XCUITEST_PLATFORM=ios sh ./scripts/build-xcuitest-apple.sh","check:mcp-metadata":"node scripts/sync-mcp-metadata.mjs --check","clean:xcuitest:ios":"node scripts/clean-xcuitest-derived.mjs ios","test-app:typecheck":"pnpm --dir examples/test-app typecheck","test:skillgym:case":"node test/skillgym/runner-environment.ts && pnpm build && skillgym run ./test/skillgym/suites/agent-device-smoke-suite.ts --config ./test/skillgym/skillgym.config.ts --case","build:xcuitest:tvos":"AGENT_DEVICE_XCUITEST_PLATFORM=tvos sh ./scripts/build-xcuitest-apple.sh","check:affected:test":"node --experimental-strip-types --test scripts/check-affected/model.test.ts scripts/check-affected/run.test.ts","clean:xcuitest:tvos":"node scripts/clean-xcuitest-derived.mjs tvos","maestro:conformance":"node --experimental-strip-types --test scripts/maestro-conformance/verify.test.ts scripts/maestro-conformance/differential/run.test.ts scripts/maestro-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:output-economy":"vitest run --project output-economy","test:replay:android":"node --experimental-strip-types src/bin.ts test test/integration/replays/android","build:xcuitest:macos":"AGENT_DEVICE_XCUITEST_PLATFORM=macos sh ./scripts/build-xcuitest-apple.sh","clean:xcuitest:macos":"node scripts/clean-xcuitest-derived.mjs macos","test-app:maestro:ios":"node scripts/run-test-app-maestro-suite.mjs --platform ios","test:integration:node":"node --test test/integration/*.test.ts","bench:help-conformance":"node scripts/help-conformance-bench.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","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":"sh ./scripts/build-android-ime-helper.sh $(node -p \"require('./package.json').version\") .tmp/android-ime-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: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":"node scripts/run-test-app-maestro-suite.mjs --platform android","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","package:android-ime-helper":"sh ./scripts/package-android-ime-helper.sh $(node -p \"require('./package.json').version\") .tmp/android-ime-helper","build:android-snapshot-helper":"sh ./scripts/build-android-snapshot-helper.sh $(node -p \"require('./package.json').version\") .tmp/android-snapshot-helper","build:xcuitest:visionos:clean":"pnpm clean:xcuitest:visionos && pnpm build:xcuitest:visionos","maestro:conformance:regenerate":"node scripts/maestro-conformance/regenerate.mjs","package:android-ime-helper:npm":"rm -rf android/ime-helper/dist && sh ./scripts/package-android-ime-helper.sh $(node -p \"require('./package.json').version\") android/ime-helper/dist","package:android-snapshot-helper":"sh ./scripts/package-android-snapshot-helper.sh $(node -p \"require('./package.json').version\") v$(node -p \"require('./package.json').version\") .tmp/android-snapshot-helper","test:integration:progress:check":"node --experimental-strip-types scripts/integration-progress.ts --check","maestro:conformance:differential":"node --experimental-strip-types scripts/maestro-conformance/differential/run.ts","package:android-snapshot-helper:npm":"rm -rf android/snapshot-helper/dist && sh ./scripts/package-android-snapshot-helper.sh $(node -p \"require('./package.json').version\") v$(node -p \"require('./package.json').version\") android/snapshot-helper/dist"},"_npmUser":{"name":"thymikee","email":"thymikee@gmail.com"},"repository":{"url":"git+https://github.com/callstack/agent-device.git","type":"git"},"_npmVersion":"11.13.0","description":"Agent-native CLI for AI app automation across iOS, Android, tvOS, Android TV, macOS, Linux, and web.","directories":{},"_nodeVersion":"26.1.0","dependencies":{"yaml":"^2.9.0","@limrun/api":"^0.24.5"},"_hasShrinkwrap":false,"packageManager":"pnpm@11.1.2","devDependencies":{"vite":"^8.0.16","oxfmt":"^0.42.0","fallow":"^2.95.0","oxlint":"^1.69.0","tsdown":"^0.22.4","vitest":"^4.1.8","skillgym":"^0.9.1","oxc-parser":"^0.138.0","typescript":"^7.0.2","@types/node":"^22.19.21","@chenglou/freerange":"^0.0.1","@vitest/coverage-v8":"4.1.8"},"_npmOperationalInternal":{"tmp":"tmp/agent-device_0.20.1_1785161480186_0.27716705700327426","host":"s3://npm-registry-packages-npm-production"}},"0.20.2":{"name":"agent-device","version":"0.20.2","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"],"author":{"name":"Callstack"},"license":"MIT","_id":"agent-device@0.20.2","maintainers":[{"name":"thymikee","email":"thymikee@gmail.com"}],"homepage":"https://agent-device.dev/","bugs":{"url":"https://github.com/callstack/agent-device/issues"},"bin":{"agent-device":"bin/agent-device.mjs"},"dist":{"shasum":"3eada7932a614582060a6bf525825d49d6d0281c","tarball":"https://registry.npmjs.org/agent-device/-/agent-device-0.20.2.tgz","fileCount":209,"integrity":"sha512-vsXx3YsDLfOt3pEIU7OWPpUW4SOdGn1bLzMEgKrOiwGtfkYm4GV1s3YPwzrZrWOHwknbtLoH06lR/SJ+As0eag==","signatures":[{"sig":"MEUCIBgdlaW1KA/GVVIlVrTmkibM2PGohJhRq1Fimo0OA+O0AiEAqn459exlUdjcugbVy6zByJFonnJ45sB1+l63+eDDRsw=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2560297},"main":"dist/src/index.js","type":"module","types":"dist/src/index.d.ts","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"},"./limrun":{"types":"./dist/src/limrun.d.ts","import":"./dist/src/limrun.js"},"./finders":{"types":"./dist/src/finders.d.ts","import":"./dist/src/finders.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"}},"gitHead":"90e900a54b2284ccaa780746c471609e7e5f51ba","mcpName":"io.github.callstackincubator/agent-device","scripts":{"ad":"node bin/agent-device.mjs","lint":"oxlint . --deny-warnings","perf":"node --experimental-strip-types scripts/perf/run.ts","size":"node scripts/size-report.mjs","test":"vitest run --project unit-core --project subprocess-stub","build":"tsdown","check":"pnpm check:tooling && pnpm check:fallow && pnpm check:unit","fallow":"fallow audit --base origin/main","format":"node ./node_modules/oxfmt/bin/oxfmt --write","prepack":"pnpm check:mcp-metadata && pnpm build:all && pnpm package:apple-runner:npm && pnpm package:android-snapshot-helper:npm && pnpm package:android-ime-helper:npm","version":"node scripts/sync-mcp-metadata.mjs && git add server.json","depgraph":"node --experimental-strip-types scripts/depgraph/build.ts","perf:ios":"node --experimental-strip-types scripts/perf/run.ts --platform ios","build:all":"pnpm build:node && pnpm build:xcuitest","test:unit":"vitest run --project unit-core --project subprocess-stub","typecheck":"tsc -p tsconfig.json && tsc -p examples/sdk/tsconfig.json","build:node":"pnpm build && pnpm clean:daemon","check:unit":"pnpm check:contention-retry && pnpm test:unit && pnpm test:smoke","fallow:all":"fallow --summary","test:smoke":"node --test test/integration/smoke-*.test.ts","check:quick":"pnpm lint && pnpm typecheck","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","perf:android":"node --experimental-strip-types scripts/perf/run.ts --platform android","test-app:ios":"pnpm --dir examples/test-app ios","build:android":"pnpm package:android-snapshot-helper:npm && pnpm package:android-ime-helper:npm","check:tooling":"pnpm lint && pnpm typecheck && pnpm check:layering && pnpm depgraph:test && pnpm check:production-exports && pnpm check:mcp-metadata && pnpm build && pnpm check:bundle-owner-files","depgraph:test":"node --experimental-strip-types --test scripts/depgraph/model.test.ts scripts/depgraph/affected.test.ts","mutation:test":"node --experimental-strip-types --test scripts/mutation/*.test.ts","size:markdown":"node scripts/size-report.mjs --json .tmp/size-report.json --markdown .tmp/size-report.md","test:coverage":"vitest run --coverage","build:xcuitest":"pnpm build:xcuitest:ios && pnpm build:xcuitest:macos","check:affected":"node --experimental-strip-types scripts/check-affected/run.ts","check:layering":"node --experimental-strip-types --test scripts/layering/model.test.ts scripts/layering/zone-policy.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","test-app:start":"pnpm --dir examples/test-app start","test:smoke:web":"pnpm build && node --test test/integration/smoke-web-platform.test.ts","check: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 || true) && (fallow health --save-baseline fallow-baselines/health.json --summary || true)","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","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":"node --experimental-strip-types scripts/lib/contention-retry-run.ts --coverage","test:integration":"pnpm test:integration:node && pnpm test:integration:provider","mutation:affected":"node --experimental-strip-types scripts/mutation/run.ts --affected","mutation:baseline":"node --experimental-strip-types scripts/mutation/run.ts --update","sync:mcp-metadata":"node scripts/sync-mcp-metadata.mjs","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","build:macos-helper":"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:mcp-metadata":"node scripts/sync-mcp-metadata.mjs --check","clean:xcuitest:ios":"node scripts/clean-xcuitest-derived.mjs ios","test-app:typecheck":"pnpm --dir examples/test-app typecheck","test:fixture-cache":"node --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 --test scripts/check-affected/model.test.ts scripts/check-affected/run.test.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 --test scripts/maestro-conformance/verify.test.ts scripts/maestro-conformance/differential/run.test.ts scripts/maestro-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:output-economy":"vitest run --project output-economy","test:replay:android":"node --experimental-strip-types src/bin.ts test test/integration/replays/android","build:xcuitest:macos":"AGENT_DEVICE_XCUITEST_PLATFORM=macos sh ./scripts/build-xcuitest-apple.sh","clean:xcuitest:macos":"node scripts/clean-xcuitest-derived.mjs macos","test-app:maestro:ios":"node scripts/run-test-app-maestro-suite.mjs --platform ios","test:integration:node":"node --test test/integration/*.test.ts","bench:help-conformance":"node scripts/help-conformance-bench.mjs","check:contention-retry":"node --experimental-strip-types --test scripts/lib/contention-retry-policy.test.ts","check:coverage-changed":"node --experimental-strip-types scripts/coverage-changed/run.ts","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","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: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: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":"node scripts/run-test-app-maestro-suite.mjs --platform android","test:concurrency-torture":"node --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","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","prototype:program-boundary":"node --experimental-strip-types scripts/prototypes/daemon-boundaries/program-boundary.ts","prototype:session-boundary":"node --experimental-strip-types scripts/prototypes/daemon-boundaries/session-boundary.ts","check:coverage-changed:test":"node --experimental-strip-types --test scripts/coverage-changed/model.test.ts scripts/coverage-changed/run.test.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","maestro:conformance:regenerate":"node 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","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:progress:check":"node --experimental-strip-types scripts/integration-progress.ts --check","maestro:conformance:differential":"node --experimental-strip-types scripts/maestro-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":"thymikee","email":"thymikee@gmail.com"},"repository":{"url":"git+https://github.com/callstack/agent-device.git","type":"git"},"_npmVersion":"11.13.0","description":"Agent-native CLI for AI app automation across iOS, Android, tvOS, Android TV, macOS, Linux, and web.","directories":{},"_nodeVersion":"26.1.0","dependencies":{"yaml":"^2.9.0","@limrun/api":"^0.24.5"},"_hasShrinkwrap":false,"packageManager":"pnpm@11.17.0","devDependencies":{"vite":"^8.0.16","oxfmt":"^0.42.0","fallow":"^2.95.0","oxlint":"^1.69.0","tsdown":"^0.22.4","vitest":"^4.1.8","fast-check":"^4.9.0","oxc-parser":"^0.138.0","typescript":"^7.0.2","@types/node":"^22.19.21","@chenglou/freerange":"^0.0.1","@vitest/coverage-v8":"4.1.8","@stryker-mutator/core":"9.6.1","@stryker-mutator/vitest-runner":"9.6.1"},"_npmOperationalInternal":{"tmp":"tmp/agent-device_0.20.2_1785322615918_0.44638019291044606","host":"s3://npm-registry-packages-npm-production"}},"0.20.3":{"name":"agent-device","version":"0.20.3","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"],"author":{"name":"Callstack"},"license":"MIT","_id":"agent-device@0.20.3","maintainers":[{"name":"thymikee","email":"thymikee@gmail.com"}],"homepage":"https://agent-device.dev/","bugs":{"url":"https://github.com/callstack/agent-device/issues"},"bin":{"agent-device":"bin/agent-device.mjs"},"dist":{"shasum":"93e2f0e20eda8daa4e6a0e4e7be2fe19e2801dd9","tarball":"https://registry.npmjs.org/agent-device/-/agent-device-0.20.3.tgz","fileCount":212,"integrity":"sha512-ndQdcCjbjMJoySLvpXJR1oM3W8fbVDabV28+zUXX5wnadKJ+sFj5UYd5hSYE7juGjK6/Y61/VjFwkQ5gzD265Q==","signatures":[{"sig":"MEQCIGfuxUB8n8EPmcl0+G0iw6VtkImR8W9K894gVZagu9b2AiBWzH6TTBs6NxCtvy0Rgb8FILLciZsksN2iITV08v6FXg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2572496},"main":"dist/src/index.js","type":"module","types":"dist/src/index.d.ts","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"},"./limrun":{"types":"./dist/src/limrun.d.ts","import":"./dist/src/limrun.js"},"./finders":{"types":"./dist/src/finders.d.ts","import":"./dist/src/finders.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"}},"gitHead":"b4487f57a7e5c7aff2f50b573fa6bf95e32e0a17","mcpName":"io.github.callstackincubator/agent-device","scripts":{"ad":"node bin/agent-device.mjs","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":"pnpm check:mcp-metadata && pnpm package:npm","version":"pnpm sync:mcp-metadata && git add server.json","depgraph":"node --experimental-strip-types scripts/depgraph/build.ts","test:unit":"vitest run --project unit-core --project subprocess-stub","typecheck":"tsc -p tsconfig.json && tsc -p examples/sdk/tsconfig.json","check:unit":"pnpm check:contention-retry && pnpm test:unit && pnpm test:smoke","fallow:all":"fallow --summary","test:smoke":"node --test test/integration/smoke-*.test.ts","check:quick":"pnpm lint && pnpm typecheck","package:npm":"pnpm build && pnpm build:xcuitest:ios && pnpm build:xcuitest:macos && pnpm build:xcuitest:tvos && pnpm build:xcuitest:visionos && pnpm build:macos-helper:clean && pnpm package:apple-runner:npm && pnpm build:android","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","check:tooling":"pnpm format:check && pnpm lint && pnpm typecheck && pnpm check:layering && pnpm depgraph:test && pnpm check:production-exports && pnpm check:mcp-metadata && pnpm build && pnpm check:bundle-owner-files","depgraph:test":"node --experimental-strip-types --test scripts/depgraph/model.test.ts scripts/depgraph/affected.test.ts","mutation:test":"node --experimental-strip-types --test scripts/mutation/*.test.ts","test:coverage":"vitest run --coverage","build:xcuitest":"pnpm build:xcuitest:ios && pnpm build:xcuitest:macos","check:affected":"node --experimental-strip-types scripts/check-affected/run.ts","check:layering":"node --experimental-strip-types --test scripts/layering/model.test.ts scripts/layering/zone-policy.test.ts scripts/layering/daemon-modularity.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","test-app:start":"pnpm --dir examples/test-app start","test:smoke:web":"pnpm build && node --test test/integration/smoke-web-platform.test.ts","check: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","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","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":"node --experimental-strip-types scripts/lib/contention-retry-run.ts --coverage","test:integration":"pnpm test:integration:node && pnpm test:integration:provider","mutation:affected":"node --experimental-strip-types scripts/mutation/run.ts --affected","mutation:baseline":"node --experimental-strip-types scripts/mutation/run.ts --update","sync:mcp-metadata":"node scripts/sync-mcp-metadata.mjs","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","build:macos-helper":"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:mcp-metadata":"node scripts/sync-mcp-metadata.mjs --check","clean:xcuitest:ios":"node scripts/clean-xcuitest-derived.mjs ios","test-app:typecheck":"pnpm --dir examples/test-app typecheck","test:fixture-cache":"node --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 --test scripts/check-affected/model.test.ts scripts/check-affected/run.test.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 --test scripts/maestro-conformance/verify.test.ts scripts/maestro-conformance/differential/run.test.ts scripts/maestro-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 src/compat/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","build:xcuitest:macos":"AGENT_DEVICE_XCUITEST_PLATFORM=macos sh ./scripts/build-xcuitest-apple.sh","clean:xcuitest:macos":"node scripts/clean-xcuitest-derived.mjs macos","test-app:maestro:ios":"pnpm test-app:maestro --platform ios","test:integration:node":"node --test test/integration/*.test.ts","bench:help-conformance":"node scripts/help-conformance-bench.mjs","check:contention-retry":"node --experimental-strip-types --test scripts/lib/contention-retry-policy.test.ts","check:coverage-changed":"node --experimental-strip-types scripts/coverage-changed/run.ts","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","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":"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: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 --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","prototype:program-boundary":"node --experimental-strip-types scripts/prototypes/daemon-boundaries/program-boundary.ts","prototype:session-boundary":"node --experimental-strip-types scripts/prototypes/daemon-boundaries/session-boundary.ts","check:coverage-changed:test":"node --experimental-strip-types --test scripts/coverage-changed/model.test.ts scripts/coverage-changed/run.test.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","maestro:conformance:regenerate":"node 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","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:progress:check":"node --experimental-strip-types scripts/integration-progress.ts --check","maestro:conformance:differential":"node --experimental-strip-types scripts/maestro-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":"thymikee","email":"thymikee@gmail.com"},"repository":{"url":"git+https://github.com/callstack/agent-device.git","type":"git"},"_npmVersion":"11.13.0","description":"Agent-native CLI for AI app automation across iOS, Android, tvOS, Android TV, macOS, Linux, and web.","directories":{},"_nodeVersion":"26.1.0","dependencies":{"yaml":"^2.9.0","@limrun/api":"^0.24.5"},"_hasShrinkwrap":false,"packageManager":"pnpm@11.17.0","devDependencies":{"vite":"^8.0.16","oxfmt":"^0.42.0","fallow":"^2.95.0","oxlint":"^1.69.0","tsdown":"^0.22.4","vitest":"^4.1.8","fast-check":"^4.9.0","oxc-parser":"^0.138.0","typescript":"^7.0.2","@types/node":"^22.19.21","@chenglou/freerange":"^0.0.1","@vitest/coverage-v8":"4.1.8","@stryker-mutator/core":"9.6.1","@stryker-mutator/vitest-runner":"9.6.1"},"_npmOperationalInternal":{"tmp":"tmp/agent-device_0.20.3_1785399925593_0.41398604850710763","host":"s3://npm-registry-packages-npm-production"}},"0.20.4":{"name":"agent-device","version":"0.20.4","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"],"author":{"name":"Callstack"},"license":"MIT","_id":"agent-device@0.20.4","maintainers":[{"name":"thymikee","email":"thymikee@gmail.com"}],"homepage":"https://agent-device.dev/","bugs":{"url":"https://github.com/callstack/agent-device/issues"},"bin":{"agent-device":"bin/agent-device.mjs"},"dist":{"shasum":"efa61294a47f0861165af8aad316316236136511","tarball":"https://registry.npmjs.org/agent-device/-/agent-device-0.20.4.tgz","fileCount":207,"integrity":"sha512-fQl4uGZRzbj4ItXmm1C9MNwg64FO5ARnHgpApFrfJwJuOHg9RfQlEG9+1X+dcUxtcHrvHw5oSYcNwZXbip2t8g==","signatures":[{"sig":"MEUCIQC1gIC+NUOfwkA2kShH+ws/7jlJq+StbbhSkapIUMWrlQIgbQjM5m9z15HY1RFhRz3D1v1KH4Y5616Iyc+oRBOCrL8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2633304},"main":"dist/src/index.js","type":"module","types":"dist/src/index.d.ts","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"},"./limrun":{"types":"./dist/src/limrun.d.ts","import":"./dist/src/limrun.js"},"./finders":{"types":"./dist/src/finders.d.ts","import":"./dist/src/finders.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"}},"gitHead":"95b4623461dbdd4b482bdb773a2e61718df8a006","mcpName":"io.github.callstackincubator/agent-device","scripts":{"ad":"node bin/agent-device.mjs","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":"pnpm check:mcp-metadata && pnpm package:npm","version":"pnpm sync:mcp-metadata && git add server.json","depgraph":"node --experimental-strip-types scripts/depgraph/build.ts","test:unit":"vitest run --project unit-core --project subprocess-stub","typecheck":"tsc -b packages/xml packages/kernel packages/contracts packages/ad-script packages/maestro packages/replay-test packages/provider-webdriver packages/provider-limrun && tsc -p tsconfig.json && tsc -p examples/sdk/tsconfig.json","check:unit":"pnpm check:contention-retry && pnpm test:unit && pnpm test:smoke","fallow:all":"fallow --summary","test:smoke":"node --test test/integration/smoke-*.test.ts","check:quick":"pnpm lint && pnpm typecheck","package:npm":"pnpm build && pnpm build:xcuitest:ios && pnpm build:xcuitest:macos && pnpm build:xcuitest:tvos && pnpm build:xcuitest:visionos && pnpm build:macos-helper:clean && pnpm package:apple-runner:npm && pnpm build:android","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","check:tooling":"pnpm format:check && pnpm lint && pnpm typecheck && pnpm check:layering && pnpm depgraph:test && pnpm check:production-exports && pnpm check:mcp-metadata && pnpm build && pnpm check:bundle-owner-files","depgraph:test":"node --experimental-strip-types --test scripts/depgraph/model.test.ts scripts/depgraph/affected.test.ts","mutation:test":"node --experimental-strip-types --test scripts/mutation/*.test.ts","test:coverage":"vitest run --coverage","build:xcuitest":"pnpm build:xcuitest:ios && pnpm build:xcuitest:macos","check:affected":"node --experimental-strip-types scripts/check-affected/run.ts","check:layering":"node --experimental-strip-types --test scripts/layering/model.test.ts scripts/layering/zone-policy.test.ts scripts/layering/daemon-modularity.test.ts scripts/layering/package-boundaries.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","test-app:start":"pnpm --dir examples/test-app start","test:smoke:web":"pnpm build && node --test test/integration/smoke-web-platform.test.ts","check: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","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","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":"node --experimental-strip-types scripts/lib/contention-retry-run.ts --coverage","test:integration":"pnpm test:integration:node && pnpm test:integration:provider","mutation:affected":"node --experimental-strip-types scripts/mutation/run.ts --affected","mutation:baseline":"node --experimental-strip-types scripts/mutation/run.ts --update","sync:mcp-metadata":"node scripts/sync-mcp-metadata.mjs","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","build:macos-helper":"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:mcp-metadata":"node scripts/sync-mcp-metadata.mjs --check","clean:xcuitest:ios":"node scripts/clean-xcuitest-derived.mjs ios","test-app:typecheck":"pnpm --dir examples/test-app typecheck","test:fixture-cache":"node --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 --test scripts/check-affected/model.test.ts scripts/check-affected/run.test.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 --test packages/maestro/test/conformance/verify.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/daemon/adapters/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","build:xcuitest:macos":"AGENT_DEVICE_XCUITEST_PLATFORM=macos sh ./scripts/build-xcuitest-apple.sh","clean:xcuitest:macos":"node scripts/clean-xcuitest-derived.mjs macos","test-app:maestro:ios":"pnpm test-app:maestro --platform ios","test:integration:node":"node --test test/integration/*.test.ts","bench:help-conformance":"node scripts/help-conformance-bench.mjs","check:contention-retry":"node --experimental-strip-types --test scripts/lib/contention-retry-policy.test.ts","check:coverage-changed":"node --experimental-strip-types scripts/coverage-changed/run.ts","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","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":"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: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 --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","prototype:program-boundary":"node --experimental-strip-types scripts/prototypes/daemon-boundaries/program-boundary.ts","prototype:session-boundary":"node --experimental-strip-types scripts/prototypes/daemon-boundaries/session-boundary.ts","check:coverage-changed:test":"node --experimental-strip-types --test scripts/coverage-changed/model.test.ts scripts/coverage-changed/run.test.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","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","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:progress:check":"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":"thymikee","email":"thymikee@gmail.com"},"repository":{"url":"git+https://github.com/callstack/agent-device.git","type":"git"},"_npmVersion":"11.13.0","description":"Agent-native CLI for AI app automation across iOS, Android, tvOS, Android TV, macOS, Linux, and web.","directories":{},"_nodeVersion":"26.1.0","dependencies":{"yaml":"^2.9.0","pngjs":"^7.0.0","@limrun/api":"^0.24.5"},"_hasShrinkwrap":false,"packageManager":"pnpm@11.17.0","devDependencies":{"vite":"^8.0.16","oxfmt":"^0.42.0","fallow":"^2.95.0","oxlint":"^1.69.0","tsdown":"^0.22.4","vitest":"^4.1.8","fast-check":"^4.9.0","oxc-parser":"^0.138.0","typescript":"^7.0.2","@types/node":"^22.19.21","@types/pngjs":"^6.0.5","@agent-device/xml":"workspace:*","@chenglou/freerange":"^0.0.1","@vitest/coverage-v8":"4.1.8","@agent-device/kernel":"workspace:*","@agent-device/maestro":"workspace:*","@stryker-mutator/core":"9.6.1","@agent-device/ad-script":"workspace:*","@agent-device/contracts":"workspace:*","@agent-device/replay-test":"workspace:*","@agent-device/provider-limrun":"workspace:*","@stryker-mutator/vitest-runner":"9.6.1","@agent-device/provider-webdriver":"workspace:*"},"_npmOperationalInternal":{"tmp":"tmp/agent-device_0.20.4_1785768769267_0.038592805580748735","host":"s3://npm-registry-packages-npm-production"}},"0.20.5":{"name":"agent-device","version":"0.20.5","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"],"author":{"name":"Callstack"},"license":"MIT","_id":"agent-device@0.20.5","maintainers":[{"name":"thymikee","email":"thymikee@gmail.com"}],"homepage":"https://agent-device.dev/","bugs":{"url":"https://github.com/callstack/agent-device/issues"},"bin":{"agent-device":"bin/agent-device.mjs"},"dist":{"shasum":"01837a59222a280c1dab044c37c57605c012770b","tarball":"https://registry.npmjs.org/agent-device/-/agent-device-0.20.5.tgz","fileCount":207,"integrity":"sha512-PitaqG/2EAIM8WKbfJqjWvCA45dlLeJNwGSgYDv4NCvesjg1wqLBExumHb5lKLHM893VE9SPedR7yz0cZX917g==","signatures":[{"sig":"MEQCIB5PFFca8nfAfKkhuTc+MHlmrPaM4Q0dNKaIsF8QzlYBAiAWp0eZwZTjatl760lyOVts7b4DcsdjnSgcEx7c2b181w==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2657417},"main":"dist/src/index.js","type":"module","types":"dist/src/index.d.ts","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"},"./limrun":{"types":"./dist/src/limrun.d.ts","import":"./dist/src/limrun.js"},"./finders":{"types":"./dist/src/finders.d.ts","import":"./dist/src/finders.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"}},"gitHead":"a9f8fc8da15552e9aa8490bd5daa8db0ff87e656","mcpName":"io.github.callstackincubator/agent-device","scripts":{"ad":"node bin/agent-device.mjs","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":"pnpm check:mcp-metadata && pnpm package:npm","version":"pnpm sync:mcp-metadata && git add server.json","depgraph":"node --experimental-strip-types scripts/depgraph/build.ts","test:unit":"vitest run --project unit-core --project subprocess-stub","typecheck":"tsc -b packages/xml packages/kernel packages/contracts packages/ad-script packages/ad-replay packages/maestro packages/replay-test packages/provider-webdriver packages/provider-limrun && tsc -p tsconfig.json && tsc -p examples/sdk/tsconfig.json","check:unit":"pnpm check:contention-retry && pnpm test:unit && pnpm test:smoke","fallow:all":"fallow --summary","test:smoke":"node --test test/integration/smoke-*.test.ts","check:quick":"pnpm lint && pnpm typecheck","package:npm":"pnpm build && pnpm check:bundle-dependencies && pnpm build:xcuitest:ios && pnpm build:xcuitest:macos && pnpm build:xcuitest:tvos && pnpm build:xcuitest:visionos && pnpm build:macos-helper:clean && pnpm package:apple-runner:npm && pnpm build:android","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","check:tooling":"pnpm format:check && pnpm lint && pnpm typecheck && pnpm check:layering && pnpm depgraph:test && pnpm check:production-exports && pnpm check:mcp-metadata && pnpm build && pnpm check:bundle-owner-files && pnpm check:bundle-dependencies","depgraph:test":"node --experimental-strip-types --test scripts/depgraph/model.test.ts scripts/depgraph/affected.test.ts","mutation:test":"node --experimental-strip-types --test scripts/mutation/*.test.ts","test:coverage":"vitest run --coverage","build:xcuitest":"pnpm build:xcuitest:ios && pnpm build:xcuitest:macos","check:affected":"node --experimental-strip-types scripts/check-affected/run.ts","check:layering":"node --experimental-strip-types --test scripts/layering/model.test.ts scripts/layering/zone-policy.test.ts scripts/layering/daemon-modularity.test.ts scripts/layering/package-boundaries.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","test-app:start":"pnpm --dir examples/test-app start","test:smoke:web":"pnpm build && node --test test/integration/smoke-web-platform.test.ts","check: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","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","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":"node --experimental-strip-types scripts/lib/contention-retry-run.ts --coverage","test:integration":"pnpm test:integration:node && pnpm test:integration:provider","mutation:affected":"node --experimental-strip-types scripts/mutation/run.ts --affected","mutation:baseline":"node --experimental-strip-types scripts/mutation/run.ts --update","sync:mcp-metadata":"node scripts/sync-mcp-metadata.mjs","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","build:macos-helper":"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:mcp-metadata":"node scripts/sync-mcp-metadata.mjs --check","clean:xcuitest:ios":"node scripts/clean-xcuitest-derived.mjs ios","test-app:typecheck":"pnpm --dir examples/test-app typecheck","test:fixture-cache":"node --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 --test scripts/check-affected/model.test.ts scripts/check-affected/run.test.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 --test packages/maestro/test/conformance/verify.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/daemon/adapters/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","build:xcuitest:macos":"AGENT_DEVICE_XCUITEST_PLATFORM=macos sh ./scripts/build-xcuitest-apple.sh","clean:xcuitest:macos":"node scripts/clean-xcuitest-derived.mjs macos","test-app:maestro:ios":"pnpm test-app:maestro --platform ios","test:integration:node":"node --test test/integration/*.test.ts","bench:help-conformance":"node scripts/help-conformance-bench.mjs","check:contention-retry":"node --experimental-strip-types --test scripts/lib/contention-retry-policy.test.ts","check:coverage-changed":"node --experimental-strip-types scripts/coverage-changed/run.ts","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","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":"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: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 --test test/integration/nightly/concurrency-torture.test.ts","build:xcuitest:tvos:clean":"pnpm clean:xcuitest:tvos && pnpm build:xcuitest:tvos","check:bundle-dependencies":"node --experimental-strip-types scripts/check-bundle-dependencies.ts","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","prototype:program-boundary":"node --experimental-strip-types scripts/prototypes/daemon-boundaries/program-boundary.ts","prototype:session-boundary":"node --experimental-strip-types scripts/prototypes/daemon-boundaries/session-boundary.ts","check:coverage-changed:test":"node --experimental-strip-types --test scripts/coverage-changed/model.test.ts scripts/coverage-changed/run.test.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","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","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:progress:check":"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":"thymikee","email":"thymikee@gmail.com"},"repository":{"url":"git+https://github.com/callstack/agent-device.git","type":"git"},"_npmVersion":"11.13.0","description":"Agent-native CLI for AI app automation across iOS, Android, tvOS, Android TV, macOS, Linux, and web.","directories":{},"_nodeVersion":"26.1.0","dependencies":{"yaml":"^2.9.0","pngjs":"^7.0.0","@limrun/api":"^0.24.5"},"_hasShrinkwrap":false,"packageManager":"pnpm@11.17.0","devDependencies":{"vite":"^8.0.16","oxfmt":"^0.42.0","fallow":"^2.95.0","oxlint":"^1.69.0","tsdown":"^0.22.4","vitest":"^4.1.8","fast-check":"^4.9.0","oxc-parser":"^0.138.0","typescript":"^7.0.2","@types/node":"^22.19.21","@types/pngjs":"^6.0.5","@agent-device/xml":"workspace:*","@chenglou/freerange":"^0.0.1","@vitest/coverage-v8":"4.1.8","@agent-device/kernel":"workspace:*","@agent-device/maestro":"workspace:*","@stryker-mutator/core":"9.6.1","@agent-device/ad-replay":"workspace:*","@agent-device/ad-script":"workspace:*","@agent-device/contracts":"workspace:*","@agent-device/replay-test":"workspace:*","@agent-device/provider-limrun":"workspace:*","@stryker-mutator/vitest-runner":"9.6.1","@agent-device/provider-webdriver":"workspace:*"},"_npmOperationalInternal":{"tmp":"tmp/agent-device_0.20.5_1785789442740_0.037983174160580946","host":"s3://npm-registry-packages-npm-production"}},"0.20.6":{"name":"agent-device","version":"0.20.6","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"],"author":{"name":"Callstack"},"license":"MIT","_id":"agent-device@0.20.6","maintainers":[{"name":"thymikee","email":"thymikee@gmail.com"}],"homepage":"https://agent-device.dev/","bugs":{"url":"https://github.com/callstack/agent-device/issues"},"bin":{"agent-device":"bin/agent-device.mjs"},"dist":{"shasum":"713addc80da4819ca0f0dc13e3f50b0507c2442a","tarball":"https://registry.npmjs.org/agent-device/-/agent-device-0.20.6.tgz","fileCount":218,"integrity":"sha512-9QeczWQyYlofkwITlZQTQuBkLfAyAbH8GAqGEvwrFwoOKpzDaAbk+yHSQ0SgACXuKbJSJommuXiVAGp2UbLqFQ==","signatures":[{"sig":"MEQCIFtQRcYUpiysE2jnrBdCa5Nf/ogPFkaKyzFkL4iDwJGIAiBChTOWjWW8UZqGl7pVLO+eFRdFKgSUtDwpY6S9OxmBMA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2746443},"main":"dist/src/index.js","type":"module","types":"dist/src/index.d.ts","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"},"./limrun":{"types":"./dist/src/limrun.d.ts","import":"./dist/src/limrun.js"},"./finders":{"types":"./dist/src/finders.d.ts","import":"./dist/src/finders.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"}},"gitHead":"f4fc089099ca44a6b320a4c5f19cfb05b8d8b385","mcpName":"io.github.callstack/agent-device","scripts":{"ad":"node bin/agent-device.mjs","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":"pnpm check:mcp-metadata && pnpm package:npm","version":"pnpm sync:mcp-metadata && git add server.json","depgraph":"node --experimental-strip-types scripts/depgraph/build.ts","test:unit":"vitest run --project unit-core --project subprocess-stub","typecheck":"tsc -b packages/xml packages/kernel packages/contracts packages/ad-script packages/selectors packages/ad-replay packages/maestro packages/replay-test packages/provider-webdriver packages/provider-limrun && tsc -p tsconfig.json && tsc -p examples/sdk/tsconfig.json","check:unit":"pnpm check:contention-retry && pnpm test:unit && pnpm check:tmpdir-leaks && pnpm test:smoke","fallow:all":"fallow --summary","test:smoke":"node --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 build:xcuitest:ios && pnpm build:xcuitest:macos && pnpm build:xcuitest:tvos && pnpm build:xcuitest:visionos && pnpm build:macos-helper:clean && pnpm package:apple-runner:npm && pnpm build:android","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:production-exports && pnpm check:tmpdir-leaks:test && pnpm check:mcp-metadata && pnpm build && pnpm check:bundle-owner-files && pnpm check:package","depgraph:test":"node --experimental-strip-types --test scripts/depgraph/model.test.ts scripts/depgraph/affected.test.ts","mutation:test":"node --experimental-strip-types --test scripts/mutation/*.test.ts","test:coverage":"vitest run --coverage","build:xcuitest":"pnpm build:xcuitest:ios && pnpm build:xcuitest:macos","check:affected":"node --experimental-strip-types scripts/check-affected/run.ts","check:layering":"node --experimental-strip-types --test scripts/layering/model.test.ts scripts/layering/zone-policy.test.ts scripts/layering/daemon-modularity.test.ts scripts/layering/package-boundaries.test.ts scripts/layering/facade-exports.test.ts scripts/layering/bin-alias-fast-path.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","test-app:start":"pnpm --dir examples/test-app start","test:smoke:web":"pnpm build && node --test test/integration/smoke-web-platform.test.ts","check: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","release:publish":"pnpm release:prepare && npm publish --ignore-scripts .tmp/release/*.tgz","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","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":"node --experimental-strip-types scripts/lib/contention-retry-run.ts --coverage","test:integration":"pnpm test:integration:node && pnpm test:integration:provider","mutation:affected":"node --experimental-strip-types scripts/mutation/run.ts --affected","mutation:baseline":"node --experimental-strip-types scripts/mutation/run.ts --update","sync:mcp-metadata":"node scripts/sync-mcp-metadata.mjs","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","build:macos-helper":"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: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 --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 --test scripts/check-affected/model.test.ts scripts/check-affected/run.test.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 --test packages/maestro/test/conformance/verify.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/daemon/adapters/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","build:xcuitest:macos":"AGENT_DEVICE_XCUITEST_PLATFORM=macos sh ./scripts/build-xcuitest-apple.sh","clean:xcuitest:macos":"node scripts/clean-xcuitest-derived.mjs macos","test-app:maestro:ios":"pnpm test-app:maestro --platform ios","test:integration:node":"node --test test/integration/*.test.ts","bench:help-conformance":"node scripts/help-conformance-bench.mjs","check:contention-retry":"node --experimental-strip-types --test scripts/lib/contention-retry-policy.test.ts","check:coverage-changed":"node --experimental-strip-types scripts/coverage-changed/run.ts","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 --test scripts/check-tmpdir-leaks-model.test.ts scripts/vitest-tmpdir-global-setup.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":"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: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 --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","check:coverage-changed:test":"node --experimental-strip-types --test scripts/coverage-changed/model.test.ts scripts/coverage-changed/run.test.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","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","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:progress:check":"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":"thymikee","email":"thymikee@gmail.com"},"repository":{"url":"git+https://github.com/callstack/agent-device.git","type":"git"},"_npmVersion":"11.13.0","description":"Agent-native CLI for AI app automation across iOS, Android, tvOS, Android TV, macOS, Linux, and web.","directories":{},"_nodeVersion":"26.1.0","dependencies":{"yaml":"^2.9.0","@limrun/api":"^0.24.5"},"_hasShrinkwrap":false,"packageManager":"pnpm@11.17.0","devDependencies":{"vite":"^8.0.16","oxfmt":"^0.42.0","pngjs":"^7.0.0","fallow":"^2.95.0","oxlint":"^1.69.0","tsdown":"^0.22.4","vitest":"^4.1.8","publint":"^0.3.22","fast-check":"^4.9.0","oxc-parser":"^0.138.0","typescript":"^7.0.2","@types/node":"^22.19.21","@types/pngjs":"^6.0.5","@agent-device/xml":"workspace:*","@chenglou/freerange":"^0.0.1","@vitest/coverage-v8":"4.1.8","@agent-device/kernel":"workspace:*","@agent-device/maestro":"workspace:*","@arethetypeswrong/cli":"^0.18.5","@stryker-mutator/core":"9.6.1","@agent-device/ad-replay":"workspace:*","@agent-device/ad-script":"workspace:*","@agent-device/contracts":"workspace:*","@agent-device/selectors":"workspace:*","@agent-device/replay-test":"workspace:*","@agent-device/provider-limrun":"workspace:*","@stryker-mutator/vitest-runner":"9.6.1","@agent-device/provider-webdriver":"workspace:*"},"_npmOperationalInternal":{"tmp":"tmp/agent-device_0.20.6_1786084647696_0.026325631586717524","host":"s3://npm-registry-packages-npm-production"}},"0.20.7":{"name":"agent-device","version":"0.20.7","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"],"author":{"name":"Callstack"},"license":"MIT","_id":"agent-device@0.20.7","maintainers":[{"name":"thymikee","email":"thymikee@gmail.com"}],"homepage":"https://agent-device.dev/","bugs":{"url":"https://github.com/callstack/agent-device/issues"},"bin":{"agent-device":"bin/agent-device.mjs"},"dist":{"shasum":"4749d75c55ef902290514a3de018835b3799a785","tarball":"https://registry.npmjs.org/agent-device/-/agent-device-0.20.7.tgz","fileCount":263,"integrity":"sha512-nswJS5egaNi5khwTwnwNh+ILFvrJ+jjUsD/p44yCjSdxlc0zXo4Bon49mu0BJELUqChz6ctbX6JQVaMYF7bw/g==","signatures":[{"sig":"MEUCIQD0Sabg/mgBpiI408hFNRI1vNbqNtqDtrq7amuvB8A8RwIgaCkt8U0ME1qXIb/AZ0d0XRPDttybodgngnfrfINSMqQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2921915},"main":"dist/src/index.js","type":"module","types":"dist/src/index.d.ts","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"},"./limrun":{"types":"./dist/src/limrun.d.ts","import":"./dist/src/limrun.js"},"./finders":{"types":"./dist/src/finders.d.ts","import":"./dist/src/finders.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"}},"gitHead":"3cbdb0ac75d271b547b5dd49bd1871b9d866e7fa","mcpName":"io.github.callstack/agent-device","scripts":{"ad":"node bin/agent-device.mjs","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":"pnpm check:mcp-metadata && pnpm package:npm","version":"pnpm sync:mcp-metadata && git add server.json","depgraph":"node --experimental-strip-types scripts/depgraph/build.ts","test:unit":"vitest run --project unit-core --project subprocess-stub","typecheck":"tsc -b packages/xml packages/kernel packages/contracts packages/capture-kit packages/platform-apple packages/platform-android packages/platform-harmonyos packages/platform-vega packages/platform-linux packages/platform-web packages/ad-script packages/selectors packages/ad-replay packages/maestro packages/replay-test packages/provider-webdriver packages/provider-limrun && tsc -p tsconfig.json && tsc -p examples/sdk/tsconfig.json","check:unit":"pnpm check:contention-retry && 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 build:xcuitest:ios && pnpm build:xcuitest:macos && pnpm build:xcuitest:tvos && pnpm build:xcuitest:visionos && pnpm build:macos-helper:clean && pnpm package:apple-runner:npm && pnpm build:android","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:production-exports && pnpm check:tmpdir-leaks:test && pnpm check:mcp-metadata && 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/affected.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","build:xcuitest":"pnpm build:xcuitest:ios && pnpm build:xcuitest:macos","check:affected":"node --experimental-strip-types scripts/check-affected/run.ts","check:layering":"node --experimental-strip-types scripts/node-test-tmpdir.ts --experimental-strip-types --test scripts/layering/model.test.ts scripts/layering/zone-policy.test.ts scripts/layering/daemon-modularity.test.ts scripts/layering/package-boundaries.test.ts scripts/layering/platform-package-policy.test.ts scripts/layering/platform-package-repository.test.ts scripts/layering/platform-package-source-policy.test.ts scripts/layering/device-inventory-cutover-policy.test.ts scripts/layering/logs-runtime-cutover-policy.test.ts scripts/layering/network-runtime-cutover-policy.test.ts scripts/layering/contracts-implementation-policy.test.ts scripts/layering/facade-exports.test.ts scripts/layering/bin-alias-fast-path.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","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: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","release:publish":"pnpm release:prepare && npm publish --ignore-scripts .tmp/release/*.tgz","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","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":"node --experimental-strip-types scripts/lib/contention-retry-run.ts --coverage","test:integration":"pnpm test:integration:node && pnpm test:integration:provider","mutation:affected":"node --experimental-strip-types scripts/mutation/run.ts --affected","mutation:baseline":"node --experimental-strip-types scripts/mutation/run.ts --update","sync:mcp-metadata":"node scripts/sync-mcp-metadata.mjs","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","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: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/run.test.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 packages/maestro/test/conformance/verify.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/daemon/adapters/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","build:xcuitest:macos":"AGENT_DEVICE_XCUITEST_PLATFORM=macos sh ./scripts/build-xcuitest-apple.sh","clean:xcuitest:macos":"node scripts/clean-xcuitest-derived.mjs macos","test-app:maestro:ios":"pnpm test-app:maestro --platform ios","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:contention-retry":"node --experimental-strip-types scripts/node-test-tmpdir.ts --experimental-strip-types --test scripts/lib/contention-retry-policy.test.ts","check:coverage-changed":"node --experimental-strip-types scripts/coverage-changed/run.ts","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 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:daemon-wire-compat":"node --experimental-strip-types scripts/wire-compat/run.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","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","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","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","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:progress:check":"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":"thymikee","email":"thymikee@gmail.com"},"repository":{"url":"git+https://github.com/callstack/agent-device.git","type":"git"},"_npmVersion":"11.13.0","description":"Agent-native CLI for AI app automation across iOS, Android, tvOS, Android TV, macOS, Linux, and web.","directories":{},"_nodeVersion":"26.1.0","dependencies":{"yaml":"^2.9.0","yauzl":"^3.4.0","undici":"7.29.0","ipaddr.js":"^2.5.0","tar-stream":"^3.2.0","@limrun/api":"^0.24.5"},"_hasShrinkwrap":false,"packageManager":"pnpm@11.17.0","devDependencies":{"vite":"^8.0.16","oxfmt":"^0.42.0","pngjs":"^7.0.0","fallow":"^2.95.0","oxlint":"^1.69.0","tsdown":"^0.22.4","vitest":"^4.1.8","publint":"^0.3.22","fast-check":"^4.9.0","oxc-parser":"^0.138.0","typescript":"^7.0.2","@types/node":"^22.19.21","@types/pngjs":"^6.0.5","@types/yauzl":"^2.10.3","@agent-device/xml":"workspace:*","@types/tar-stream":"^3.1.4","@chenglou/freerange":"^0.0.1","@vitest/coverage-v8":"4.1.8","@agent-device/kernel":"workspace:*","@agent-device/maestro":"workspace:*","@arethetypeswrong/cli":"^0.18.5","@stryker-mutator/core":"9.6.1","@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-test":"workspace:*","@agent-device/platform-web":"workspace:*","@agent-device/platform-vega":"workspace:*","@agent-device/platform-apple":"workspace:*","@agent-device/platform-linux":"workspace:*","@agent-device/provider-limrun":"workspace:*","@agent-device/platform-android":"workspace:*","@stryker-mutator/vitest-runner":"9.6.1","@agent-device/platform-harmonyos":"workspace:*","@agent-device/provider-webdriver":"workspace:*"},"_npmOperationalInternal":{"tmp":"tmp/agent-device_0.20.7_1786390764981_0.011759069586720905","host":"s3://npm-registry-packages-npm-production"}},"0.20.8":{"name":"agent-device","version":"0.20.8","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"],"author":{"name":"Callstack"},"license":"MIT","_id":"agent-device@0.20.8","maintainers":[{"name":"thymikee","email":"thymikee@gmail.com"}],"homepage":"https://agent-device.dev/","bugs":{"url":"https://github.com/callstack/agent-device/issues"},"bin":{"agent-device":"bin/agent-device.mjs"},"dist":{"shasum":"330c02786b6dace56970a1121db3e7b33ba2d3f6","tarball":"https://registry.npmjs.org/agent-device/-/agent-device-0.20.8.tgz","fileCount":276,"integrity":"sha512-YmJw63sHWPGmMTRPrREqhZjWPj4w8BGTF62p16FxCAn8a22d4bCiIvwedll7ljzuR5r0jNi4ZREaiEHyBgLNIg==","signatures":[{"sig":"MEUCIQDxLJtrNvg9KvL/8rS/5msVHQyUrY25urBCUrWN8Ht8pAIgclBTpjy8hHAqOk5G/fGOHP0XZ47JJnt13kur026KUmo=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2954606},"main":"dist/src/index.js","type":"module","types":"dist/src/index.d.ts","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"},"./limrun":{"types":"./dist/src/limrun.d.ts","import":"./dist/src/limrun.js"},"./finders":{"types":"./dist/src/finders.d.ts","import":"./dist/src/finders.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"}},"gitHead":"167f93ba8cd562da06a72cb86efb8f4dab17daa3","mcpName":"io.github.callstack/agent-device","scripts":{"ad":"node bin/agent-device.mjs","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":"pnpm check:mcp-metadata && pnpm package:npm","version":"pnpm sync:mcp-metadata && git add server.json","depgraph":"node --experimental-strip-types scripts/depgraph/build.ts","test:unit":"vitest run --project unit-core --project subprocess-stub","typecheck":"tsc -b packages/xml packages/kernel packages/contracts packages/capture-kit packages/platform-apple packages/platform-android packages/platform-harmonyos packages/platform-vega packages/platform-linux packages/platform-web packages/ad-script packages/selectors packages/ad-replay packages/maestro packages/replay-test packages/provider-webdriver packages/provider-limrun && tsc -p tsconfig.json && tsc -p examples/sdk/tsconfig.json","check:unit":"pnpm check:contention-retry && 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 build:xcuitest:ios && pnpm build:xcuitest:macos && pnpm build:xcuitest:tvos && pnpm build:xcuitest:visionos && pnpm build:macos-helper:clean && pnpm package:apple-runner:npm && pnpm build:android","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:production-exports && pnpm check:tmpdir-leaks:test && pnpm check:mcp-metadata && 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/affected.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","build:xcuitest":"pnpm build:xcuitest:ios && pnpm build:xcuitest:macos","check:affected":"node --experimental-strip-types scripts/check-affected/run.ts","check:layering":"node --experimental-strip-types scripts/node-test-tmpdir.ts --experimental-strip-types --test scripts/layering/model.test.ts scripts/layering/zone-policy.test.ts scripts/layering/daemon-modularity.test.ts scripts/layering/package-boundaries.test.ts scripts/layering/platform-package-policy.test.ts scripts/layering/platform-package-repository.test.ts scripts/layering/platform-package-source-policy.test.ts scripts/layering/device-inventory-cutover-policy.test.ts scripts/layering/logs-runtime-cutover-policy.test.ts scripts/layering/network-runtime-cutover-policy.test.ts scripts/layering/record-runtime-cutover-policy.test.ts scripts/layering/contracts-implementation-policy.test.ts scripts/layering/facade-exports.test.ts scripts/layering/bin-alias-fast-path.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","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: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","release:publish":"pnpm release:prepare && npm publish --ignore-scripts .tmp/release/*.tgz","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","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":"node --experimental-strip-types scripts/lib/contention-retry-run.ts --coverage","test:integration":"pnpm test:integration:node && pnpm test:integration:provider","mutation:affected":"node --experimental-strip-types scripts/mutation/run.ts --affected","mutation:baseline":"node --experimental-strip-types scripts/mutation/run.ts --update","sync:mcp-metadata":"node scripts/sync-mcp-metadata.mjs","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","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: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/run.test.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 packages/maestro/test/conformance/verify.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/daemon/adapters/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","build:xcuitest:macos":"AGENT_DEVICE_XCUITEST_PLATFORM=macos sh ./scripts/build-xcuitest-apple.sh","clean:xcuitest:macos":"node scripts/clean-xcuitest-derived.mjs macos","test-app:maestro:ios":"pnpm test-app:maestro --platform ios","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:contention-retry":"node --experimental-strip-types scripts/node-test-tmpdir.ts --experimental-strip-types --test scripts/lib/contention-retry-policy.test.ts","check:coverage-changed":"node --experimental-strip-types scripts/coverage-changed/run.ts","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 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:daemon-wire-compat":"node --experimental-strip-types scripts/wire-compat/run.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","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","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","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","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:progress:check":"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":"thymikee","email":"thymikee@gmail.com"},"repository":{"url":"git+https://github.com/callstack/agent-device.git","type":"git"},"_npmVersion":"11.13.0","description":"Agent-native CLI for AI app automation across iOS, Android, tvOS, Android TV, macOS, Linux, and web.","directories":{},"_nodeVersion":"26.1.0","dependencies":{"yaml":"^2.9.0","yauzl":"^3.4.0","undici":"7.29.0","ipaddr.js":"^2.5.0","tar-stream":"^3.2.0","@limrun/api":"^0.24.5"},"_hasShrinkwrap":false,"packageManager":"pnpm@11.17.0","devDependencies":{"vite":"^8.0.16","oxfmt":"^0.42.0","pngjs":"^7.0.0","fallow":"^2.95.0","oxlint":"^1.69.0","tsdown":"^0.22.4","vitest":"^4.1.8","publint":"^0.3.22","fast-check":"^4.9.0","oxc-parser":"^0.138.0","typescript":"^7.0.2","@types/node":"^22.19.21","@types/pngjs":"^6.0.5","@types/yauzl":"^2.10.3","@agent-device/xml":"workspace:*","@types/tar-stream":"^3.1.4","@chenglou/freerange":"^0.0.1","@vitest/coverage-v8":"4.1.8","@agent-device/kernel":"workspace:*","@agent-device/maestro":"workspace:*","@arethetypeswrong/cli":"^0.18.5","@stryker-mutator/core":"9.6.1","@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-test":"workspace:*","@agent-device/platform-web":"workspace:*","@agent-device/platform-vega":"workspace:*","@agent-device/platform-apple":"workspace:*","@agent-device/platform-linux":"workspace:*","@agent-device/provider-limrun":"workspace:*","@agent-device/platform-android":"workspace:*","@stryker-mutator/vitest-runner":"9.6.1","@agent-device/platform-harmonyos":"workspace:*","@agent-device/provider-webdriver":"workspace:*"},"_npmOperationalInternal":{"tmp":"tmp/agent-device_0.20.8_1786442474221_0.05201375287051402","host":"s3://npm-registry-packages-npm-production"}},"0.20.9":{"name":"agent-device","version":"0.20.9","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"],"author":{"name":"Callstack"},"license":"MIT","_id":"agent-device@0.20.9","maintainers":[{"name":"thymikee","email":"thymikee@gmail.com"}],"homepage":"https://agent-device.dev/","bugs":{"url":"https://github.com/callstack/agent-device/issues"},"bin":{"agent-device":"bin/agent-device.mjs"},"dist":{"shasum":"4110c11aefcfcd0b7871e9e52202ffa9b3f71ea4","tarball":"https://registry.npmjs.org/agent-device/-/agent-device-0.20.9.tgz","fileCount":311,"integrity":"sha512-1XZjv8MQF3EaiRkaCwiWT3sIsTSjRgMTBBGY2Wt52H2wdPLhv2nKPV1BUSGjtLYTDRFd9eWD7piaYU1O3Kovdg==","signatures":[{"sig":"MEYCIQDyMNaGXnbGxSSY9jsSy6qM9/4sYMfDHhDV+ZlIr0KbFwIhAIbcKl7+akv5CGP43n5jL8otXkIiavfAZhfZUyZYSUa0","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":3056005},"main":"dist/src/index.js","type":"module","types":"dist/src/index.d.ts","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"},"./limrun":{"types":"./dist/src/limrun.d.ts","import":"./dist/src/limrun.js"},"./finders":{"types":"./dist/src/finders.d.ts","import":"./dist/src/finders.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"}},"gitHead":"0697915b1068b81e5004ff44781ac4ff7345d9b0","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":"pnpm check:mcp-metadata && pnpm package:npm","version":"pnpm sync:mcp-metadata && git add server.json","depgraph":"node --experimental-strip-types scripts/depgraph/build.ts","test:unit":"vitest run --project unit-core --project subprocess-stub","typecheck":"tsc -b packages/xml packages/kernel packages/contracts packages/capture-kit packages/platform-apple packages/platform-android packages/platform-harmonyos packages/platform-vega packages/platform-linux packages/platform-web packages/ad-script packages/selectors packages/ad-replay packages/maestro packages/replay-test packages/provider-webdriver packages/provider-limrun && tsc -p tsconfig.json && tsc -p examples/sdk/tsconfig.json","check:unit":"pnpm check:contention-retry && 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 build:xcuitest:ios && pnpm build:xcuitest:macos && pnpm build:xcuitest:tvos && pnpm build:xcuitest:visionos && pnpm build:macos-helper:clean && pnpm package:apple-runner:npm && pnpm build:android","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:mcp-metadata && 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/affected.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","build:xcuitest":"pnpm build:xcuitest:ios && pnpm build:xcuitest:macos","check:affected":"node --experimental-strip-types scripts/check-affected/run.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","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: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","release:publish":"pnpm release:prepare && npm publish --ignore-scripts .tmp/release/*.tgz","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","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":"node --experimental-strip-types scripts/lib/contention-retry-run.ts --coverage","test:integration":"pnpm test:integration:node && pnpm test:integration:provider","mutation:affected":"node --experimental-strip-types scripts/mutation/run.ts --affected","mutation:baseline":"node --experimental-strip-types scripts/mutation/run.ts --update","sync:mcp-metadata":"node scripts/sync-mcp-metadata.mjs","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","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: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/run.test.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 packages/maestro/test/conformance/verify.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/daemon/adapters/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","build:xcuitest:macos":"AGENT_DEVICE_XCUITEST_PLATFORM=macos sh ./scripts/build-xcuitest-apple.sh","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:contention-retry":"node --experimental-strip-types scripts/node-test-tmpdir.ts --experimental-strip-types --test scripts/lib/contention-retry-policy.test.ts","check:coverage-changed":"node --experimental-strip-types scripts/coverage-changed/run.ts","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 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: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","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","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","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","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:progress:check":"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":"thymikee","email":"thymikee@gmail.com"},"repository":{"url":"git+https://github.com/callstack/agent-device.git","type":"git"},"_npmVersion":"11.13.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":{},"_nodeVersion":"26.1.0","dependencies":{"yaml":"^2.9.0","yauzl":"^3.4.0","undici":"7.29.0","ipaddr.js":"^2.5.0","tar-stream":"^3.2.0","@limrun/api":"^0.24.5"},"_hasShrinkwrap":false,"packageManager":"pnpm@11.17.0","devDependencies":{"vite":"^8.0.16","oxfmt":"^0.42.0","pngjs":"^7.0.0","fallow":"^2.95.0","oxlint":"^1.69.0","tsdown":"^0.22.4","vitest":"^4.1.8","publint":"^0.3.22","fast-check":"^4.9.0","oxc-parser":"^0.138.0","typescript":"^7.0.2","@types/node":"^22.19.21","@types/pngjs":"^6.0.5","@types/yauzl":"^2.10.3","@agent-device/xml":"workspace:*","@types/tar-stream":"^3.1.4","@chenglou/freerange":"^0.0.1","@vitest/coverage-v8":"4.1.8","@agent-device/kernel":"workspace:*","@agent-device/maestro":"workspace:*","@arethetypeswrong/cli":"^0.18.5","@stryker-mutator/core":"9.6.1","@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-test":"workspace:*","@agent-device/platform-web":"workspace:*","@agent-device/platform-vega":"workspace:*","@agent-device/platform-apple":"workspace:*","@agent-device/platform-linux":"workspace:*","@agent-device/provider-limrun":"workspace:*","@agent-device/platform-android":"workspace:*","@stryker-mutator/vitest-runner":"9.6.1","@agent-device/platform-harmonyos":"workspace:*","@agent-device/provider-webdriver":"workspace:*"},"_npmOperationalInternal":{"tmp":"tmp/agent-device_0.20.9_1786986231830_0.9055174596857074","host":"s3://npm-registry-packages-npm-production"}},"0.20.10":{"name":"agent-device","version":"0.20.10","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"],"author":{"name":"Callstack"},"license":"MIT","_id":"agent-device@0.20.10","maintainers":[{"name":"thymikee","email":"thymikee@gmail.com"}],"homepage":"https://agent-device.dev/","bugs":{"url":"https://github.com/callstack/agent-device/issues"},"bin":{"agent-device":"bin/agent-device.mjs"},"dist":{"shasum":"67715507e377c00abe3173e319407472d3f8a01b","tarball":"https://registry.npmjs.org/agent-device/-/agent-device-0.20.10.tgz","fileCount":319,"integrity":"sha512-baj3tQQ1JH/FbJ3x3FVmSn4nctOlFmdYsiz4LNZh3rEOj/8g3hkIq07lcUii07lMSQ7hCiY1m8+SyWPAX1ykow==","signatures":[{"sig":"MEQCIEXXN8DxVV6TSYXRCBtKsdyWSSRvd/br7MJGFZKAT6r6AiAM43Kwf4nq1+KcS2o0hsjabX4yZ+Xtj5NDI6CR49jciw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":3121970},"main":"dist/src/index.js","type":"module","types":"dist/src/index.d.ts","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"},"./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"}},"gitHead":"fda81c5121f0a4307966040c763bfb5edf0ccdf3","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":"pnpm check:mcp-metadata && pnpm package:npm","version":"pnpm sync:mcp-metadata && git add server.json","depgraph":"node --experimental-strip-types scripts/depgraph/build.ts","test:unit":"vitest run --project unit-core --project subprocess-stub","typecheck":"tsc -b packages/xml packages/kernel packages/contracts packages/capture-kit packages/platform-apple packages/platform-android packages/platform-harmonyos packages/platform-vega packages/platform-linux packages/platform-web packages/ad-script packages/selectors packages/ad-replay packages/maestro packages/replay-test packages/provider-webdriver packages/provider-limrun && tsc -p tsconfig.json && tsc -p 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 build:xcuitest:ios && pnpm build:xcuitest:macos && pnpm build:xcuitest:tvos && pnpm build:xcuitest:visionos && pnpm build:macos-helper:clean && pnpm package:apple-runner:npm && pnpm build:android","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:mcp-metadata && 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/affected.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","build:xcuitest":"pnpm build:xcuitest:ios && pnpm build:xcuitest:macos","check:affected":"node --experimental-strip-types scripts/check-affected/run.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","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: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","release:publish":"pnpm release:prepare && npm publish --ignore-scripts .tmp/release/*.tgz","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","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","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: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","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: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/run.test.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 packages/maestro/test/conformance/verify.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/daemon/adapters/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","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","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 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: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","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","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","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","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:progress:check":"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":"thymikee","email":"thymikee@gmail.com"},"repository":{"url":"git+https://github.com/callstack/agent-device.git","type":"git"},"_npmVersion":"11.13.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":{},"_nodeVersion":"26.1.0","dependencies":{"yaml":"^2.9.0","yauzl":"^3.4.0","undici":"7.29.0","ipaddr.js":"^2.5.0","tar-stream":"^3.2.0","@limrun/api":"^0.24.5"},"_hasShrinkwrap":false,"packageManager":"pnpm@11.17.0","devDependencies":{"ai":"^7.0.66","vite":"^8.0.16","oxfmt":"^0.42.0","pngjs":"^7.0.0","fallow":"^2.95.0","oxlint":"^1.69.0","tsdown":"^0.22.4","vitest":"^4.1.8","publint":"^0.3.22","fast-check":"^4.9.0","oxc-parser":"^0.138.0","typescript":"^7.0.2","@types/node":"^22.19.21","@types/pngjs":"^6.0.5","@types/yauzl":"^2.10.3","@agent-device/xml":"workspace:*","@types/tar-stream":"^3.1.4","@types/json-schema":"^7.0.15","@chenglou/freerange":"^0.0.1","@vitest/coverage-v8":"4.1.8","@agent-device/kernel":"workspace:*","@agent-device/maestro":"workspace:*","@arethetypeswrong/cli":"^0.18.5","@stryker-mutator/core":"9.6.1","@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-test":"workspace:*","@agent-device/platform-web":"workspace:*","@agent-device/platform-vega":"workspace:*","@agent-device/platform-apple":"workspace:*","@agent-device/platform-linux":"workspace:*","@agent-device/provider-limrun":"workspace:*","@agent-device/platform-android":"workspace:*","@stryker-mutator/vitest-runner":"9.6.1","@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.20.10_1787081592207_0.6010590150225539","host":"s3://npm-registry-packages-npm-production"}},"0.21.0":{"name":"agent-device","version":"0.21.0","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"],"author":{"name":"Callstack"},"license":"MIT","_id":"agent-device@0.21.0","maintainers":[{"name":"thymikee","email":"thymikee@gmail.com"}],"homepage":"https://agent-device.dev/","bugs":{"url":"https://github.com/callstack/agent-device/issues"},"bin":{"agent-device":"bin/agent-device.mjs"},"dist":{"shasum":"b62a6299c2d0cfaf0fa2c421cbb828a086f4864e","tarball":"https://registry.npmjs.org/agent-device/-/agent-device-0.21.0.tgz","fileCount":498,"integrity":"sha512-s/7KlieaLLemNtKlc/EWmkphRzdmNu7c3AuAPFb9OZGG6SLCPBvS0wTKJCbmfxhLMGpEQ88GhinOj/0zoqY7hg==","signatures":[{"sig":"MEYCIQD1I46kvSaT+ND2FJ3qoNCYaVZyBhdLVjfBmOhVc6oeoAIhAPggfpHc4m6ZOcZfoCo7XGelvsczIB3eYQGzT6/pGmp/","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":4509694},"main":"dist/src/index.js","type":"module","types":"dist/src/index.d.ts","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"},"./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"}},"gitHead":"6486788359a441a1fa343193f0a03087dc338eaf","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":"pnpm check:mcp-metadata && pnpm package:npm","version":"pnpm sync:mcp-metadata && git add server.json","depgraph":"node --experimental-strip-types scripts/depgraph/build.ts","test:unit":"vitest run --project unit-core --project fuzz-worker","typecheck":"tsc -b packages/xml packages/kernel packages/contracts packages/device-selection packages/host-kit packages/capture-kit packages/managed-allocation packages/provision-kit packages/platform-apple packages/platform-android packages/platform-harmonyos packages/platform-vega packages/platform-linux packages/platform-web packages/ad-script packages/selectors packages/command-registry packages/session-journal packages/ad-replay packages/maestro packages/replay-test packages/provider-webdriver packages/provider-limrun && tsc -p tsconfig.json && tsc -p 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 build:xcuitest:ios && pnpm build:xcuitest:macos && pnpm build:xcuitest:tvos && pnpm build:xcuitest:visionos && 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:mcp-metadata && 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/affected.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","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: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":"node scripts/release-mark-dev.mjs --check-release-version && rm -rf .tmp/release && pnpm check:mcp-metadata && pnpm build:package && pnpm check:package -- --pack-destination .tmp/release","release:publish":"pnpm release:prepare && npm publish --ignore-scripts .tmp/release/*.tgz && pnpm release:mark-dev","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","release:mark-dev":"node scripts/release-mark-dev.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: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: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: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/daemon/adapters/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 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: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","test:linux:command-evidence":"node --experimental-strip-types test/integration/linux-e2e/live-runner.ts","bench:ios-ax-bridge:targeted":"node --experimental-strip-types scripts/ios-ax-bridge-spike/targeted-run.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/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":"thymikee","email":"thymikee@gmail.com"},"repository":{"url":"git+https://github.com/callstack/agent-device.git","type":"git"},"_npmVersion":"11.19.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":{},"_nodeVersion":"26.8.1","_hasShrinkwrap":false,"packageManager":"pnpm@11.17.0","devDependencies":{"ai":"^7.0.68","vite":"^8.2.1","yaml":"^2.9.0","oxfmt":"^0.64.0","pngjs":"^7.0.0","yauzl":"^3.4.0","fallow":"^2.104.0","oxlint":"^1.79.0","tsdown":"^0.22.14","undici":"7.29.0","vitest":"^4.1.11","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.24.5","@types/node":"^22.20.1","@types/pngjs":"^6.0.5","@types/yauzl":"^3.4.0","@agent-device/xml":"workspace:*","@types/tar-stream":"^3.1.4","@types/json-schema":"^7.0.15","@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/maestro":"workspace:*","@arethetypeswrong/cli":"^0.18.5","@stryker-mutator/core":"10.0.0","@agent-device/host-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-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:*","@agent-device/command-registry":"workspace:*","@agent-device/device-selection":"workspace:*","@agent-device/platform-android":"workspace:*","@stryker-mutator/vitest-runner":"10.0.0","@agent-device/managed-allocation":"workspace:*","@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.0_1788897739832_0.33686393716965624","host":"s3://npm-registry-packages-npm-production"}},"0.21.1":{"name":"agent-device","version":"0.21.1","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"],"author":{"name":"Callstack"},"license":"MIT","_id":"agent-device@0.21.1","maintainers":[{"name":"thymikee","email":"thymikee@gmail.com"}],"homepage":"https://agent-device.dev/","bugs":{"url":"https://github.com/callstack/agent-device/issues"},"bin":{"agent-device":"bin/agent-device.mjs"},"dist":{"shasum":"6e0b331056e39adbc895d793323eacc7594b3780","tarball":"https://registry.npmjs.org/agent-device/-/agent-device-0.21.1.tgz","fileCount":505,"integrity":"sha512-vFhcqkQlusuOHR389h7WLhINfLdsMie3D5YPYNm8OOIjh4iy/YCQtNoKVqxQ+zeTrYZMOBxbWEHnL07/WVzTPA==","signatures":[{"sig":"MEQCIALorsJCjyaEXb9skjYWpWmJt0rTvcqcR/9OY8VbCQX6AiBMCsX7IDGKBrkHa3V/FL0lsruIOnVg7ckBqIL5y8llxg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":4492250},"main":"dist/src/index.js","type":"module","types":"dist/src/index.d.ts","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"},"./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"}},"gitHead":"d80fb35ec32745e7309d2ea397a97bc8b26b4cf9","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":"pnpm check:mcp-metadata && pnpm package:npm","version":"pnpm sync:mcp-metadata && git add server.json","depgraph":"node --experimental-strip-types scripts/depgraph/build.ts","test:unit":"vitest run --project unit-core --project fuzz-worker","typecheck":"tsc -b packages/xml packages/kernel packages/contracts packages/device-selection packages/host-kit packages/capture-kit packages/managed-allocation packages/provision-kit packages/platform-apple packages/platform-android packages/platform-harmonyos packages/platform-vega packages/platform-linux packages/platform-web packages/ad-script packages/selectors packages/command-registry packages/session-journal packages/ad-replay packages/maestro packages/replay-test packages/provider-webdriver packages/provider-limrun && tsc -p tsconfig.json && tsc -p 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 build:xcuitest:ios && pnpm build:xcuitest:macos && pnpm build:xcuitest:tvos && pnpm build:xcuitest:visionos && 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 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/affected.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","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: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":"node scripts/release-mark-dev.mjs --check-release-version && rm -rf .tmp/release && pnpm check:mcp-metadata && pnpm build:package && pnpm check:package -- --pack-destination .tmp/release","release:publish":"pnpm release:prepare && npm publish --ignore-scripts .tmp/release/*.tgz && pnpm release:mark-dev","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","release:mark-dev":"node scripts/release-mark-dev.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: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: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: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/daemon/adapters/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 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: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","bench:ios-ax-bridge:targeted":"node --experimental-strip-types scripts/ios-ax-bridge-spike/targeted-run.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/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":"thymikee","email":"thymikee@gmail.com"},"repository":{"url":"git+https://github.com/callstack/agent-device.git","type":"git"},"_npmVersion":"11.19.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":{},"_nodeVersion":"26.8.1","_hasShrinkwrap":false,"packageManager":"pnpm@11.17.0","devDependencies":{"ai":"^7.0.68","vite":"^8.2.1","yaml":"^2.9.0","oxfmt":"^0.64.0","pngjs":"^7.0.0","yauzl":"^3.4.0","fallow":"^2.104.0","oxlint":"^1.79.0","tsdown":"^0.22.14","undici":"7.29.0","vitest":"^4.1.11","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.24.5","@types/node":"^22.20.1","@types/pngjs":"^6.0.5","@types/yauzl":"^3.4.0","@agent-device/xml":"workspace:*","@types/tar-stream":"^3.1.4","@types/json-schema":"^7.0.15","@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/maestro":"workspace:*","@arethetypeswrong/cli":"^0.18.5","@stryker-mutator/core":"10.0.0","@agent-device/host-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-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:*","@agent-device/command-registry":"workspace:*","@agent-device/device-selection":"workspace:*","@agent-device/platform-android":"workspace:*","@stryker-mutator/vitest-runner":"10.0.0","@agent-device/managed-allocation":"workspace:*","@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.1_1789145781492_0.5469462982352453","host":"s3://npm-registry-packages-npm-production"}},"0.21.2":{"name":"agent-device","version":"0.21.2","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"],"author":{"name":"Callstack"},"license":"MIT","_id":"agent-device@0.21.2","maintainers":[{"name":"thymikee","email":"thymikee@gmail.com"}],"homepage":"https://agent-device.dev/","bugs":{"url":"https://github.com/callstack/agent-device/issues"},"bin":{"agent-device":"bin/agent-device.mjs"},"dist":{"shasum":"f191976fab0b943f84b5815c7ed4f88411f68032","tarball":"https://registry.npmjs.org/agent-device/-/agent-device-0.21.2.tgz","fileCount":518,"integrity":"sha512-4lN1+9inh/P2WbC+L9Lfca7xrIkm2vJg2xHessUNRtJRSocL9/BL/SbvEt5pYrO/PvpLW/Awu5Cn9IMA8cpfQA==","signatures":[{"sig":"MEUCIF1+DFWA8htcR1MMZCiXC5Wg4c0u+9oTKbioBbQMA6ZqAiEAkyyE2iRjlhDJz1Xht67hCL+2aV6if8a8ehSzpTSfB0Q=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":4529582},"main":"dist/src/index.js","type":"module","types":"dist/src/index.d.ts","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"},"./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"}},"gitHead":"730b20149e955830621815405ad0b217ff2d3880","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":"pnpm check:mcp-metadata && pnpm package:npm","version":"pnpm sync:mcp-metadata && git add server.json","depgraph":"node --experimental-strip-types scripts/depgraph/build.ts","test:unit":"vitest run --project unit-core --project fuzz-worker","typecheck":"tsc -b packages/xml packages/kernel packages/contracts packages/device-selection packages/host-kit packages/capture-kit packages/managed-allocation packages/provision-kit packages/platform-apple packages/platform-android packages/platform-harmonyos packages/platform-vega packages/platform-linux packages/platform-web packages/ad-script packages/selectors packages/command-registry packages/session-journal packages/ad-replay packages/maestro packages/replay-test packages/provider-webdriver packages/provider-limrun && tsc -p tsconfig.json && tsc -p 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 build:xcuitest:ios && pnpm build:xcuitest:macos && pnpm build:xcuitest:tvos && pnpm build:xcuitest:visionos && 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 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/affected.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","bench:png-crop":"node --experimental-strip-types scripts/png-crop-benchmark/run.ts","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","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: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":"node scripts/release-mark-dev.mjs --check-release-version && rm -rf .tmp/release && pnpm check:mcp-metadata && pnpm build:package && pnpm check:package -- --pack-destination .tmp/release","release:publish":"pnpm release:prepare && npm publish --ignore-scripts .tmp/release/*.tgz && pnpm release:mark-dev","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","release:mark-dev":"node scripts/release-mark-dev.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: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: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: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/daemon/adapters/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 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: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","bench:ios-ax-bridge:targeted":"node --experimental-strip-types scripts/ios-ax-bridge-spike/targeted-run.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/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":"thymikee","email":"thymikee@gmail.com"},"repository":{"url":"git+https://github.com/callstack/agent-device.git","type":"git"},"_npmVersion":"11.19.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":{},"_nodeVersion":"26.8.1","_hasShrinkwrap":false,"packageManager":"pnpm@11.17.0","devDependencies":{"ai":"^7.0.68","vite":"^8.2.1","yaml":"^2.9.0","oxfmt":"^0.64.0","pngjs":"^7.0.0","yauzl":"^3.4.0","fallow":"^2.104.0","oxlint":"^1.79.0","tsdown":"^0.22.14","undici":"7.29.0","vitest":"^4.1.11","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.24.5","@types/node":"^22.20.1","@types/pngjs":"^6.0.5","@types/yauzl":"^3.4.0","@agent-device/xml":"workspace:*","@types/tar-stream":"^3.1.4","@types/json-schema":"^7.0.15","@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/maestro":"workspace:*","@arethetypeswrong/cli":"^0.18.5","@stryker-mutator/core":"10.0.0","@agent-device/host-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-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:*","@agent-device/command-registry":"workspace:*","@agent-device/device-selection":"workspace:*","@agent-device/platform-android":"workspace:*","@stryker-mutator/vitest-runner":"10.0.0","@agent-device/managed-allocation":"workspace:*","@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.2_1789391253210_0.5511540075692472","host":"s3://npm-registry-packages-npm-production"}},"0.21.3":{"name":"agent-device","version":"0.21.3","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"],"author":{"name":"Callstack"},"license":"MIT","_id":"agent-device@0.21.3","maintainers":[{"name":"thymikee","email":"thymikee@gmail.com"}],"homepage":"https://agent-device.dev/","bugs":{"url":"https://github.com/callstack/agent-device/issues"},"bin":{"agent-device":"bin/agent-device.mjs"},"dist":{"shasum":"7845ce251bb2d9430d1c180414beadb396c5b471","tarball":"https://registry.npmjs.org/agent-device/-/agent-device-0.21.3.tgz","fileCount":517,"integrity":"sha512-n+GIJiFc/dpXQtqOjahtS7VczqfLNS9RpXNl7+ztruRhfTPM02x83Vitz1BDAWWYP0w0wt0NAjrKAOFNnF7ytQ==","signatures":[{"sig":"MEUCIAfajpVpHXtxjuAGgOHhZzkpa4cfGjl7PGCLXIDUqLOUAiEA8Tq+zEI0H+9fkHkF/iEafSvMMo0+XRZT3g0WrXOnTx4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":4534610},"main":"dist/src/index.js","type":"module","types":"dist/src/index.d.ts","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"},"./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"}},"gitHead":"23fd3c94f0246b6e0c647b7daa69d738970fe2b9","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":"pnpm check:mcp-metadata && pnpm package:npm","version":"pnpm sync:mcp-metadata && git add server.json","depgraph":"node --experimental-strip-types scripts/depgraph/build.ts","test:unit":"vitest run --project unit-core --project fuzz-worker","typecheck":"tsc -b packages/xml packages/kernel packages/contracts packages/device-selection packages/host-kit packages/capture-kit packages/managed-allocation packages/provision-kit packages/platform-apple packages/platform-android packages/platform-harmonyos packages/platform-vega packages/platform-linux packages/platform-web packages/ad-script packages/selectors packages/command-registry packages/session-journal packages/ad-replay packages/maestro packages/replay-test packages/provider-webdriver packages/provider-limrun && tsc -p tsconfig.json && tsc -p 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 build:xcuitest:ios && pnpm build:xcuitest:macos && pnpm build:xcuitest:tvos && pnpm build:xcuitest:visionos && 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 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/affected.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","bench:png-crop":"node --experimental-strip-types scripts/png-crop-benchmark/run.ts","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","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: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":"node scripts/release-mark-dev.mjs --check-release-version && rm -rf .tmp/release && pnpm check:mcp-metadata && pnpm build:package && pnpm check:package -- --pack-destination .tmp/release","release:publish":"pnpm release:prepare && npm publish --ignore-scripts .tmp/release/*.tgz && pnpm release:mark-dev","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","release:mark-dev":"node scripts/release-mark-dev.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: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: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: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/daemon/adapters/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 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: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","bench:ios-ax-bridge:targeted":"node --experimental-strip-types scripts/ios-ax-bridge-spike/targeted-run.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/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":"thymikee","email":"thymikee@gmail.com"},"repository":{"url":"git+https://github.com/callstack/agent-device.git","type":"git"},"_npmVersion":"11.19.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":{},"_nodeVersion":"26.8.1","_hasShrinkwrap":false,"packageManager":"pnpm@11.17.0","devDependencies":{"ai":"^7.0.68","vite":"^8.2.1","yaml":"^2.9.0","oxfmt":"^0.64.0","pngjs":"^7.0.0","yauzl":"^3.4.0","fallow":"^2.104.0","oxlint":"^1.79.0","tsdown":"^0.22.14","undici":"7.29.0","vitest":"^4.1.11","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.24.5","@types/node":"^22.20.1","@types/pngjs":"^6.0.5","@types/yauzl":"^3.4.0","@agent-device/xml":"workspace:*","@types/tar-stream":"^3.1.4","@types/json-schema":"^7.0.15","@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/maestro":"workspace:*","@arethetypeswrong/cli":"^0.18.5","@stryker-mutator/core":"10.0.0","@agent-device/host-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-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:*","@agent-device/command-registry":"workspace:*","@agent-device/device-selection":"workspace:*","@agent-device/platform-android":"workspace:*","@stryker-mutator/vitest-runner":"10.0.0","@agent-device/managed-allocation":"workspace:*","@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.3_1789413297332_0.26755659350838723","host":"s3://npm-registry-packages-npm-production"}},"0.21.4":{"name":"agent-device","version":"0.21.4","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"],"author":{"name":"Callstack"},"license":"MIT","_id":"agent-device@0.21.4","maintainers":[{"name":"thymikee","email":"thymikee@gmail.com"}],"homepage":"https://agent-device.dev/","bugs":{"url":"https://github.com/callstack/agent-device/issues"},"bin":{"agent-device":"bin/agent-device.mjs"},"dist":{"shasum":"0d4cd67f982fbba03f84113ade6657597da3443d","tarball":"https://registry.npmjs.org/agent-device/-/agent-device-0.21.4.tgz","fileCount":522,"integrity":"sha512-vY1yq/g4Xj/mSs/MJeylfMSYUyPlGPz43ZKbLhECuYXr0IsY+a9SM7ZCtWQqIKBnL2rg2o2TiyBA6YA9/XCCcA==","signatures":[{"sig":"MEQCIA9jiDJhE58k0NDdWmm28qWV+ndqjDoaaiejCpIlJyQXAiBlZ1IZromi/v4AeeLlqb9PrjJWKtUXFXOwnql+VRhC+A==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":4583069},"main":"dist/src/index.js","type":"module","types":"dist/src/index.d.ts","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"},"./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"}},"gitHead":"9173d3c797f0babaf664754dc4fb959752aa12d5","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":"pnpm check:mcp-metadata && pnpm package:npm","version":"pnpm sync:mcp-metadata && git add server.json","depgraph":"node --experimental-strip-types scripts/depgraph/build.ts","test:unit":"vitest run --project unit-core --project fuzz-worker","typecheck":"tsc -b packages/xml packages/kernel packages/contracts packages/device-selection packages/host-kit packages/capture-kit packages/managed-allocation packages/provision-kit packages/platform-apple packages/platform-android packages/platform-harmonyos packages/platform-vega packages/platform-linux packages/platform-web packages/ad-script packages/selectors packages/command-registry packages/session-journal packages/ad-replay packages/maestro packages/replay-test packages/provider-webdriver packages/provider-limrun && tsc -p tsconfig.json && tsc -p 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 build:xcuitest:ios && pnpm build:xcuitest:macos && pnpm build:xcuitest:tvos && pnpm build:xcuitest:visionos && 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 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/affected.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","bench:png-crop":"node --experimental-strip-types scripts/png-crop-benchmark/run.ts","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","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: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":"node scripts/release-mark-dev.mjs --check-release-version && rm -rf .tmp/release && pnpm check:mcp-metadata && pnpm build:package && pnpm check:package -- --pack-destination .tmp/release","release:publish":"pnpm release:prepare && npm publish --ignore-scripts .tmp/release/*.tgz && pnpm release:mark-dev","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","release:mark-dev":"node scripts/release-mark-dev.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: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: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: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/daemon/adapters/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 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: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","bench:ios-ax-bridge:targeted":"node --experimental-strip-types scripts/ios-ax-bridge-spike/targeted-run.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/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":"thymikee","email":"thymikee@gmail.com"},"repository":{"url":"git+https://github.com/callstack/agent-device.git","type":"git"},"_npmVersion":"11.19.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":{},"_nodeVersion":"26.8.1","_hasShrinkwrap":false,"packageManager":"pnpm@11.17.0","devDependencies":{"ai":"^7.0.68","vite":"^8.2.1","yaml":"^2.9.0","oxfmt":"^0.64.0","pngjs":"^7.0.0","yauzl":"^3.4.0","fallow":"^2.104.0","oxlint":"^1.79.0","tsdown":"^0.22.14","undici":"7.29.0","vitest":"^4.1.11","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.49.3","@types/node":"^22.20.1","@types/pngjs":"^6.0.5","@types/yauzl":"^3.4.0","@agent-device/xml":"workspace:*","@types/tar-stream":"^3.1.4","@types/json-schema":"^7.0.15","@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/maestro":"workspace:*","@arethetypeswrong/cli":"^0.18.5","@stryker-mutator/core":"10.0.0","@agent-device/host-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-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:*","@agent-device/command-registry":"workspace:*","@agent-device/device-selection":"workspace:*","@agent-device/platform-android":"workspace:*","@stryker-mutator/vitest-runner":"10.0.0","@agent-device/managed-allocation":"workspace:*","@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.4_1789500134479_0.11516763371751315","host":"s3://npm-registry-packages-npm-production"}},"0.21.5":{"name":"agent-device","version":"0.21.5","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"],"author":{"name":"Callstack"},"license":"MIT","_id":"agent-device@0.21.5","maintainers":[{"name":"thymikee","email":"thymikee@gmail.com"}],"homepage":"https://agent-device.dev/","bugs":{"url":"https://github.com/callstack/agent-device/issues"},"bin":{"agent-device":"bin/agent-device.mjs"},"dist":{"shasum":"2e8a7d3dc2c201a3af44d8f332e9a53f41d8a9d5","tarball":"https://registry.npmjs.org/agent-device/-/agent-device-0.21.5.tgz","fileCount":522,"integrity":"sha512-fyNODCqbtFhCVm3q2f9Ex208sCGoTf0SgyjYbhpDnSwnFBElXDjFVVZKjzylr518MPCta7bzffpO2lEPr8S0Bg==","signatures":[{"sig":"MEUCIQDbupJDpEedx0mH8AtXfwwj3zZnc1Ubtvix4trrTlgJ6gIgZODYDJ/XdTLioICwxyfpwYvTR0N9JEl6n6rQZ0/paQM=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":4584935},"main":"dist/src/index.js","type":"module","types":"dist/src/index.d.ts","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"},"./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"}},"gitHead":"fffa01e02c2e10f861f8502fca034e6b8fbed400","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":"pnpm check:mcp-metadata && pnpm package:npm","version":"pnpm sync:mcp-metadata && git add server.json","depgraph":"node --experimental-strip-types scripts/depgraph/build.ts","test:unit":"vitest run --project unit-core --project fuzz-worker","typecheck":"tsc -b packages/xml packages/kernel packages/contracts packages/device-selection packages/host-kit packages/capture-kit packages/managed-allocation packages/provision-kit packages/platform-apple packages/platform-android packages/platform-harmonyos packages/platform-vega packages/platform-linux packages/platform-web packages/ad-script packages/selectors packages/command-registry packages/session-journal packages/ad-replay packages/maestro packages/replay-test packages/provider-webdriver packages/provider-limrun && tsc -p tsconfig.json && tsc -p 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 build:xcuitest:ios && pnpm build:xcuitest:macos && pnpm build:xcuitest:tvos && pnpm build:xcuitest:visionos && 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 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/affected.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","bench:png-crop":"node --experimental-strip-types scripts/png-crop-benchmark/run.ts","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","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: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":"node scripts/release-mark-dev.mjs --check-release-version && rm -rf .tmp/release && pnpm check:mcp-metadata && pnpm build:package && pnpm check:package -- --pack-destination .tmp/release","release:publish":"pnpm release:prepare && npm publish --ignore-scripts .tmp/release/*.tgz && pnpm release:mark-dev","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","release:mark-dev":"node scripts/release-mark-dev.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: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: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: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/daemon/adapters/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 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: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","bench:ios-ax-bridge:targeted":"node --experimental-strip-types scripts/ios-ax-bridge-spike/targeted-run.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/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":"thymikee","email":"thymikee@gmail.com"},"repository":{"url":"git+https://github.com/callstack/agent-device.git","type":"git"},"_npmVersion":"11.19.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":{},"_nodeVersion":"26.8.1","_hasShrinkwrap":false,"packageManager":"pnpm@11.17.0","devDependencies":{"ai":"^7.0.68","vite":"^8.2.1","yaml":"^2.9.0","oxfmt":"^0.64.0","pngjs":"^7.0.0","yauzl":"^3.4.0","fallow":"^2.104.0","oxlint":"^1.79.0","tsdown":"^0.22.14","undici":"7.29.0","vitest":"^4.1.11","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.49.3","@types/node":"^22.20.1","@types/pngjs":"^6.0.5","@types/yauzl":"^3.4.0","@agent-device/xml":"workspace:*","@types/tar-stream":"^3.1.4","@types/json-schema":"^7.0.15","@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/maestro":"workspace:*","@arethetypeswrong/cli":"^0.18.5","@stryker-mutator/core":"10.0.0","@agent-device/host-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-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:*","@agent-device/command-registry":"workspace:*","@agent-device/device-selection":"workspace:*","@agent-device/platform-android":"workspace:*","@stryker-mutator/vitest-runner":"10.0.0","@agent-device/managed-allocation":"workspace:*","@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.5_1789552229287_0.1749719009348376","host":"s3://npm-registry-packages-npm-production"}},"0.21.6":{"name":"agent-device","version":"0.21.6","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"],"author":{"name":"Callstack"},"license":"MIT","_id":"agent-device@0.21.6","maintainers":[{"name":"thymikee","email":"thymikee@gmail.com"}],"homepage":"https://agent-device.dev/","bugs":{"url":"https://github.com/callstack/agent-device/issues"},"bin":{"agent-device":"bin/agent-device.mjs"},"dist":{"shasum":"f8da67c7ffb398b1dd2b2dd3b8e064ad635787e0","tarball":"https://registry.npmjs.org/agent-device/-/agent-device-0.21.6.tgz","fileCount":522,"integrity":"sha512-p0tYqpU0pATvcblhwmUaq4ayi7EQ74wU5lK5kceCrhF8R5nYqQe3OTA3cxpyN/seIRtRUgVLvpJbRB0CPkFauA==","signatures":[{"sig":"MEUCIQCnhoNL8cTmM+XsRZ7lS4KXdw2tJp3Rt7h4OIOrf0P8TQIgHz3lGzZ11C/tvihWYYWkWhOmEu2xI/wr3Gcu6+Ao8zY=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":4594097},"main":"dist/src/index.js","type":"module","types":"dist/src/index.d.ts","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"},"./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"}},"gitHead":"849ad7d70de08abcbc7b4e371f197928ae0e2d81","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":"pnpm check:mcp-metadata && pnpm package:npm","version":"pnpm sync:mcp-metadata && git add server.json","depgraph":"node --experimental-strip-types scripts/depgraph/build.ts","test:unit":"vitest run --project unit-core --project fuzz-worker","typecheck":"tsc -b packages/xml packages/kernel packages/contracts packages/device-selection packages/host-kit packages/capture-kit packages/managed-allocation packages/provision-kit packages/platform-apple packages/platform-android packages/platform-harmonyos packages/platform-vega packages/platform-linux packages/platform-web packages/ad-script packages/selectors packages/command-registry packages/session-journal packages/ad-replay packages/maestro packages/replay-test packages/provider-webdriver packages/provider-limrun && tsc -p tsconfig.json && tsc -p 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 build:xcuitest:ios && pnpm build:xcuitest:macos && pnpm build:xcuitest:tvos && pnpm build:xcuitest:visionos && 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 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/affected.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","bench:png-crop":"node --experimental-strip-types scripts/png-crop-benchmark/run.ts","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","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: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":"node scripts/release-mark-dev.mjs --check-release-version && rm -rf .tmp/release && pnpm check:mcp-metadata && pnpm build:package && pnpm check:package -- --pack-destination .tmp/release","release:publish":"pnpm release:prepare && npm publish --ignore-scripts .tmp/release/*.tgz && pnpm release:mark-dev","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","release:mark-dev":"node scripts/release-mark-dev.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: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: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: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 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: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","bench:ios-ax-bridge:targeted":"node --experimental-strip-types scripts/ios-ax-bridge-spike/targeted-run.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/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":"thymikee","email":"thymikee@gmail.com"},"repository":{"url":"git+https://github.com/callstack/agent-device.git","type":"git"},"_npmVersion":"11.19.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":{},"_nodeVersion":"26.8.1","_hasShrinkwrap":false,"packageManager":"pnpm@11.17.0","devDependencies":{"ai":"^7.0.68","vite":"^8.2.1","yaml":"^2.9.0","oxfmt":"^0.64.0","pngjs":"^7.0.0","yauzl":"^3.4.0","fallow":"^2.104.0","oxlint":"^1.79.0","tsdown":"^0.22.14","undici":"7.29.0","vitest":"^4.1.11","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.49.3","@types/node":"^22.20.1","@types/pngjs":"^6.0.5","@types/yauzl":"^3.4.0","@agent-device/xml":"workspace:*","@types/tar-stream":"^3.1.4","@types/json-schema":"^7.0.15","@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/maestro":"workspace:*","@arethetypeswrong/cli":"^0.18.5","@stryker-mutator/core":"10.0.0","@agent-device/host-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-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:*","@agent-device/command-registry":"workspace:*","@agent-device/device-selection":"workspace:*","@agent-device/platform-android":"workspace:*","@stryker-mutator/vitest-runner":"10.0.0","@agent-device/managed-allocation":"workspace:*","@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.6_1789644790435_0.7794152388239555","host":"s3://npm-registry-packages-npm-production"}},"0.21.7":{"name":"agent-device","version":"0.21.7","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"],"author":{"name":"Callstack"},"license":"MIT","_id":"agent-device@0.21.7","maintainers":[{"name":"thymikee","email":"thymikee@gmail.com"}],"homepage":"https://agent-device.dev/","bugs":{"url":"https://github.com/callstack/agent-device/issues"},"bin":{"agent-device":"bin/agent-device.mjs"},"dist":{"shasum":"6cf5be5d9c168e2d9b09f7cc1efa76cddc7e5348","tarball":"https://registry.npmjs.org/agent-device/-/agent-device-0.21.7.tgz","fileCount":532,"integrity":"sha512-oeddlU5/Go9xzSWC1WmsqtE5iVcZjhiD1nBx2D9/YJluxZ7TWIAWllvSO+WRFJPDm67p3KpbtYUscv6KOPfceQ==","signatures":[{"sig":"MEUCICnEYrpYY78tzJCLjoPCh6dYmR6bU09PosPpH+KIbevHAiEAjMtrdUhg35HOnk0U4iRBxjrXP9oTT/8a+TMM1jakB/w=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIEdULS73MfZhTXGW1WNpgNXdQxG7E1asWYR6YJRGhscaAiEAhQMn2oszGLqhsnNfVu0k1OvX/zYWtRbZ2xqywp8DKwc=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":4668722},"main":"dist/src/index.js","type":"module","types":"dist/src/index.d.ts","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"},"./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"}},"gitHead":"c442cf6d9ed91b4b0fcb29b175912baf92a809e0","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":"pnpm check:mcp-metadata && pnpm package:npm","version":"pnpm sync:mcp-metadata && git add server.json","depgraph":"node --experimental-strip-types scripts/depgraph/build.ts","test:unit":"vitest run --project unit-core --project fuzz-worker","typecheck":"tsc -b packages/xml packages/kernel packages/contracts packages/device-selection packages/host-kit packages/capture-kit packages/managed-allocation packages/provision-kit packages/platform-apple packages/platform-android packages/platform-harmonyos packages/platform-vega packages/platform-linux packages/platform-web packages/ad-script packages/selectors packages/command-registry packages/session-journal packages/ad-replay packages/maestro packages/replay-test packages/provider-webdriver packages/provider-limrun && tsc -p tsconfig.json && tsc -p 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 build:xcuitest:ios && pnpm build:xcuitest:macos && pnpm build:xcuitest:tvos && pnpm build:xcuitest:visionos && 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 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/affected.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","bench:png-crop":"node --experimental-strip-types scripts/png-crop-benchmark/run.ts","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","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: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":"node scripts/release-mark-dev.mjs --check-release-version && rm -rf .tmp/release && pnpm check:mcp-metadata && pnpm build:package && pnpm check:package -- --pack-destination .tmp/release","release:publish":"pnpm release:prepare && npm publish --ignore-scripts .tmp/release/*.tgz && pnpm release:mark-dev","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","release:mark-dev":"node scripts/release-mark-dev.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: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: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: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 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: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","bench:ios-ax-bridge:targeted":"node --experimental-strip-types scripts/ios-ax-bridge-spike/targeted-run.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/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":"thymikee","email":"thymikee@gmail.com"},"repository":{"url":"git+https://github.com/callstack/agent-device.git","type":"git"},"_npmVersion":"11.19.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":{},"_nodeVersion":"26.8.1","_hasShrinkwrap":false,"packageManager":"pnpm@11.17.0","devDependencies":{"ai":"^7.0.68","vite":"^8.2.1","yaml":"^2.9.0","oxfmt":"^0.64.0","pngjs":"^7.0.0","yauzl":"^3.4.0","fallow":"^2.104.0","oxlint":"^1.79.0","tsdown":"^0.22.14","undici":"7.29.0","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.49.3","@types/node":"^22.20.1","@types/pngjs":"^6.0.5","@types/yauzl":"^3.4.0","@agent-device/xml":"workspace:*","@types/tar-stream":"^3.1.4","@types/json-schema":"^7.0.15","@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/maestro":"workspace:*","@arethetypeswrong/cli":"^0.18.5","@stryker-mutator/core":"10.0.0","@agent-device/host-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-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:*","@agent-device/command-registry":"workspace:*","@agent-device/device-selection":"workspace:*","@agent-device/platform-android":"workspace:*","@stryker-mutator/vitest-runner":"10.0.0","@agent-device/managed-allocation":"workspace:*","@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.7_1789930458112_0.8720237016735648","host":"s3://npm-registry-packages-npm-production"}},"0.21.8":{"name":"agent-device","version":"0.21.8","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"],"author":{"name":"Callstack"},"license":"MIT","_id":"agent-device@0.21.8","maintainers":[{"name":"thymikee","email":"thymikee@gmail.com"}],"homepage":"https://agent-device.dev/","bugs":{"url":"https://github.com/callstack/agent-device/issues"},"bin":{"agent-device":"bin/agent-device.mjs"},"dist":{"shasum":"0780fa1ae272210a1ae03f2028bcb9e5706891af","tarball":"https://registry.npmjs.org/agent-device/-/agent-device-0.21.8.tgz","fileCount":543,"integrity":"sha512-3239ydSvJC/pV+9oLwFCjxK6kn38tR7VvP5aRNzKwni/WtZEkTCQdBEtQqNs8wacUmQl+ufxRq4HVlD56+ws6Q==","signatures":[{"sig":"MEQCICakERTNnc7BtHzonN1xPNoZmz1Tr3mr/gqG5p2urycpAiAhUo7SrI0MHa0p4GPtdnI1o6Grf0LbX6dls3vgjS35yA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEYCIQC99ju23tjmRHy6M8OdZtOOVURHRy3axrdxHKnj/5BOrgIhAJzfR9MdTLIBEcDAgH6JliYayGJohmQk9+k1c/Moyq77","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":4723895},"main":"dist/src/index.js","type":"module","types":"dist/src/index.d.ts","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"},"./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"}},"gitHead":"45e4c594a1824fc8152c5cce41fe1fac50a91bf0","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":"pnpm check:mcp-metadata && pnpm package:npm","version":"pnpm sync:mcp-metadata && git add server.json","depgraph":"node --experimental-strip-types scripts/depgraph/build.ts","test:unit":"vitest run --project unit-core --project fuzz-worker","typecheck":"tsc -b packages/xml packages/kernel packages/contracts packages/device-selection packages/host-kit packages/capture-kit packages/managed-allocation packages/provision-kit packages/platform-apple packages/platform-android packages/platform-harmonyos packages/platform-vega packages/platform-linux packages/platform-web packages/ad-script packages/selectors packages/command-registry packages/session-journal packages/ad-replay packages/maestro packages/replay-test packages/provider-webdriver packages/provider-limrun && tsc -p tsconfig.json && tsc -p 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 build:xcuitest:ios && pnpm build:xcuitest:macos && pnpm build:xcuitest:tvos && pnpm build:xcuitest:visionos && 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 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/affected.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","bench:png-crop":"node --experimental-strip-types scripts/png-crop-benchmark/run.ts","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","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: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":"node scripts/release-mark-dev.mjs --check-release-version && rm -rf .tmp/release && pnpm check:mcp-metadata && pnpm build:package && pnpm check:package -- --pack-destination .tmp/release","release:publish":"pnpm release:prepare && npm publish --ignore-scripts .tmp/release/*.tgz && pnpm release:mark-dev","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","release:mark-dev":"node scripts/release-mark-dev.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: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 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: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","bench:ios-ax-bridge:targeted":"node --experimental-strip-types scripts/ios-ax-bridge-spike/targeted-run.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/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":"thymikee","email":"thymikee@gmail.com"},"repository":{"url":"git+https://github.com/callstack/agent-device.git","type":"git"},"_npmVersion":"11.19.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":{},"_nodeVersion":"26.8.1","_hasShrinkwrap":false,"packageManager":"pnpm@11.17.0","devDependencies":{"ai":"^7.0.68","vite":"^8.2.1","yaml":"^2.9.0","oxfmt":"^0.64.0","pngjs":"^7.0.0","yauzl":"^3.4.0","fallow":"^2.104.0","oxlint":"^1.79.0","tsdown":"^0.22.14","undici":"7.29.0","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.49.3","@types/node":"^22.20.1","@types/pngjs":"^6.0.5","@types/yauzl":"^3.4.0","@agent-device/xml":"workspace:*","@types/tar-stream":"^3.1.4","@types/json-schema":"^7.0.15","@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/maestro":"workspace:*","@arethetypeswrong/cli":"^0.18.5","@stryker-mutator/core":"10.0.0","@agent-device/host-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-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:*","@agent-device/command-registry":"workspace:*","@agent-device/device-selection":"workspace:*","@agent-device/platform-android":"workspace:*","@stryker-mutator/vitest-runner":"10.0.0","@agent-device/managed-allocation":"workspace:*","@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.8_1789992724557_0.9881852653032628","host":"s3://npm-registry-packages-npm-production"}},"0.21.9":{"name":"agent-device","version":"0.21.9","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"],"author":{"name":"Callstack"},"license":"MIT","_id":"agent-device@0.21.9","maintainers":[{"name":"thymikee","email":"thymikee@gmail.com"}],"homepage":"https://agent-device.dev/","bugs":{"url":"https://github.com/callstack/agent-device/issues"},"bin":{"agent-device":"bin/agent-device.mjs"},"dist":{"shasum":"e5e11074f6a5428a11c8715e21cb0cf9a97561da","tarball":"https://registry.npmjs.org/agent-device/-/agent-device-0.21.9.tgz","fileCount":559,"integrity":"sha512-fPuTaw0dPMbjIzSuupQ3FVZ0+Cu/15fw/rD0LOrS8Go4e1T7ZRCNyWIbgZHX8GyR1Wlcn5j05BInmdwRU0RM7g==","signatures":[{"sig":"MEQCIBLaaqjKgL802zhllz7qp4OJjVStAuJAu36X3WAE23U7AiAGJZ48oDGClZtGaUCIVUsLHCRxOd2GYPFkZJz2T7uWPA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIQCJRBzl391zMkAJFHNXgyFe38eoeQfvLK3TOAKOwqQHgQIgVTVXT7XIm3M/jfft/mq6Ns/nPfrTLCfC752ZiCkwEH4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":4794778},"main":"dist/src/index.js","type":"module","types":"dist/src/index.d.ts","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"},"./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"}},"gitHead":"7a13d2d5ee15ff6f56afcd89468f3264d857e3f3","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":"pnpm check:mcp-metadata && pnpm package:npm","version":"pnpm sync:mcp-metadata && git add server.json","depgraph":"node --experimental-strip-types scripts/depgraph/build.ts","test:unit":"vitest run --project unit-core --project fuzz-worker","typecheck":"tsc -b packages/xml packages/kernel packages/contracts packages/device-selection packages/host-kit packages/capture-kit packages/managed-allocation packages/provision-kit packages/platform-apple packages/platform-android packages/platform-harmonyos packages/platform-vega packages/platform-linux packages/platform-web packages/ad-script packages/selectors packages/command-registry packages/session-journal packages/ad-replay packages/maestro packages/replay-test packages/provider-webdriver packages/provider-limrun && tsc -p tsconfig.json && tsc -p 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 build:xcuitest:ios && pnpm build:xcuitest:macos && pnpm build:xcuitest:tvos && pnpm build:xcuitest:visionos && 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 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/affected.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","bench:png-crop":"node --experimental-strip-types scripts/png-crop-benchmark/run.ts","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","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: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":"node scripts/release-mark-dev.mjs --check-release-version && rm -rf .tmp/release && pnpm check:mcp-metadata && pnpm build:package && pnpm check:package -- --pack-destination .tmp/release","release:publish":"pnpm release:prepare && npm publish --ignore-scripts .tmp/release/*.tgz && pnpm release:mark-dev","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","release:mark-dev":"node scripts/release-mark-dev.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: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 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: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","bench:ios-ax-bridge:targeted":"node --experimental-strip-types scripts/ios-ax-bridge-spike/targeted-run.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/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":"thymikee","email":"thymikee@gmail.com"},"repository":{"url":"git+https://github.com/callstack/agent-device.git","type":"git"},"_npmVersion":"11.19.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":{},"_nodeVersion":"26.8.1","_hasShrinkwrap":false,"packageManager":"pnpm@11.17.0","devDependencies":{"ai":"^7.0.68","vite":"^8.2.1","yaml":"^2.9.0","oxfmt":"^0.64.0","pngjs":"^7.0.0","yauzl":"^3.4.0","fallow":"^2.104.0","oxlint":"^1.79.0","tsdown":"^0.22.14","undici":"7.29.0","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.49.3","@types/node":"^22.20.1","@types/pngjs":"^6.0.5","@types/yauzl":"^3.4.0","@agent-device/xml":"workspace:*","@types/tar-stream":"^3.1.4","@types/json-schema":"^7.0.15","@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/maestro":"workspace:*","@arethetypeswrong/cli":"^0.18.5","@stryker-mutator/core":"10.0.0","@agent-device/host-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-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:*","@agent-device/command-registry":"workspace:*","@agent-device/device-selection":"workspace:*","@agent-device/platform-android":"workspace:*","@stryker-mutator/vitest-runner":"10.0.0","@agent-device/managed-allocation":"workspace:*","@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.9_1790077395604_0.013644209558579812","host":"s3://npm-registry-packages-npm-production"}},"0.21.10":{"name":"agent-device","version":"0.21.10","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"],"author":{"name":"Callstack"},"license":"MIT","_id":"agent-device@0.21.10","maintainers":[{"name":"thymikee","email":"thymikee@gmail.com"}],"homepage":"https://agent-device.dev/","bugs":{"url":"https://github.com/callstack/agent-device/issues"},"bin":{"agent-device":"bin/agent-device.mjs"},"dist":{"shasum":"0959771b224f7730b81f3b8828ffca327eeb3bb8","tarball":"https://registry.npmjs.org/agent-device/-/agent-device-0.21.10.tgz","fileCount":559,"integrity":"sha512-7xJmODkjGgmCEtYQciA2WBK+gZh2EfzUrpy7TVqVMoCAGMKREWMJ97uHY43HnczjUAxFcrJgSDENh0lftGJYZw==","signatures":[{"sig":"MEUCIB+3CwoNca93eQUWdsLLLAD194hVmvTSnoyv4LQI+xJ+AiEA00tEuzGNzUtAVw2NUyj49u3jwQa22nk+ocKL4B1hKr4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEYCIQDZu1F9MnzZuJ1RQ2sVJHZ/GQAkk4HhLP9C0k4FCq8nLwIhAIh7J2L/IrNFIiX7APlsRnaY9XJkBKTzoYtkFBb+K/w5","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":4794820},"main":"dist/src/index.js","type":"module","types":"dist/src/index.d.ts","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"},"./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"}},"gitHead":"efc5a29fb373a6ff5e42141c5475c45dcde56dd0","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":"pnpm check:mcp-metadata && pnpm package:npm","version":"pnpm sync:mcp-metadata && git add server.json","depgraph":"node --experimental-strip-types scripts/depgraph/build.ts","test:unit":"vitest run --project unit-core --project fuzz-worker","typecheck":"tsc -b packages/xml packages/kernel packages/contracts packages/device-selection packages/host-kit packages/capture-kit packages/managed-allocation packages/provision-kit packages/platform-apple packages/platform-android packages/platform-harmonyos packages/platform-vega packages/platform-linux packages/platform-web packages/ad-script packages/selectors packages/command-registry packages/session-journal packages/ad-replay packages/maestro packages/replay-test packages/provider-webdriver packages/provider-limrun && tsc -p tsconfig.json && tsc -p 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 build:xcuitest:ios && pnpm build:xcuitest:macos && pnpm build:xcuitest:tvos && pnpm build:xcuitest:visionos && 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 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/affected.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","bench:png-crop":"node --experimental-strip-types scripts/png-crop-benchmark/run.ts","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","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: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":"node scripts/release-mark-dev.mjs --check-release-version && rm -rf .tmp/release && pnpm check:mcp-metadata && pnpm build:package && pnpm check:package -- --pack-destination .tmp/release","release:publish":"pnpm release:prepare && npm publish --ignore-scripts .tmp/release/*.tgz && pnpm release:mark-dev","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","release:mark-dev":"node scripts/release-mark-dev.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: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 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: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","bench:ios-ax-bridge:targeted":"node --experimental-strip-types scripts/ios-ax-bridge-spike/targeted-run.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/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":"thymikee","email":"thymikee@gmail.com"},"repository":{"url":"git+https://github.com/callstack/agent-device.git","type":"git"},"_npmVersion":"11.19.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":{},"_nodeVersion":"26.8.1","_hasShrinkwrap":false,"packageManager":"pnpm@11.17.0","devDependencies":{"ai":"^7.0.68","vite":"^8.2.1","yaml":"^2.9.0","oxfmt":"^0.64.0","pngjs":"^7.0.0","yauzl":"^3.4.0","fallow":"^2.104.0","oxlint":"^1.79.0","tsdown":"^0.22.14","undici":"7.29.0","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.49.3","@types/node":"^22.20.1","@types/pngjs":"^6.0.5","@types/yauzl":"^3.4.0","@agent-device/xml":"workspace:*","@types/tar-stream":"^3.1.4","@types/json-schema":"^7.0.15","@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/maestro":"workspace:*","@arethetypeswrong/cli":"^0.18.5","@stryker-mutator/core":"10.0.0","@agent-device/host-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-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:*","@agent-device/command-registry":"workspace:*","@agent-device/device-selection":"workspace:*","@agent-device/platform-android":"workspace:*","@stryker-mutator/vitest-runner":"10.0.0","@agent-device/managed-allocation":"workspace:*","@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.10_1790082129601_0.5711287643699414","host":"s3://npm-registry-packages-npm-production"}},"0.21.11":{"name":"agent-device","version":"0.21.11","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"],"author":{"name":"Callstack"},"license":"MIT","_id":"agent-device@0.21.11","maintainers":[{"name":"thymikee","email":"thymikee@gmail.com"}],"homepage":"https://agent-device.dev/","bugs":{"url":"https://github.com/callstack/agent-device/issues"},"bin":{"agent-device":"bin/agent-device.mjs"},"dist":{"shasum":"71c20bb559b5c916894f9954249ea523c4234c71","tarball":"https://registry.npmjs.org/agent-device/-/agent-device-0.21.11.tgz","fileCount":559,"integrity":"sha512-hVTFwYhWtN56TT6xWm3vfo173+29jFIyHZ5qN1iZgXwEp0uM20GvFQM7ZzGzUyTLht8to+1ie0zjp1ALku1uXw==","signatures":[{"sig":"MEUCIQDntIJQw/vgqv/NMXqc/ggsDTy11V1d/vFEcYyeYxpqZgIgTaI0PYzVz9hoh3lptsY8Gt656DaGpBZ0BNIF902krzk=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIAwlhHlnejj/mxcw/MpMsPHdxpLzfFNM+sGXMEa0fDfaAiEAtjN9qhBjOwrYs9RkDcUpOe18pn0EtHGdcbLbOB5UxAM=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":4795147},"main":"dist/src/index.js","type":"module","types":"dist/src/index.d.ts","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"},"./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"}},"gitHead":"fde74ac4c689aecf2dca14bd686af9de46a9497f","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":"pnpm check:mcp-metadata && pnpm package:npm","version":"pnpm sync:mcp-metadata && git add server.json","depgraph":"node --experimental-strip-types scripts/depgraph/build.ts","test:unit":"vitest run --project unit-core --project fuzz-worker","typecheck":"tsc -b packages/xml packages/kernel packages/contracts packages/device-selection packages/host-kit packages/capture-kit packages/managed-allocation packages/provision-kit packages/platform-apple packages/platform-android packages/platform-harmonyos packages/platform-vega packages/platform-linux packages/platform-web packages/ad-script packages/selectors packages/command-registry packages/session-journal packages/ad-replay packages/maestro packages/replay-test packages/provider-webdriver packages/provider-limrun && tsc -p tsconfig.json && tsc -p 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 build:xcuitest:ios && pnpm build:xcuitest:macos && pnpm build:xcuitest:tvos && pnpm build:xcuitest:visionos && 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 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/affected.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","bench:png-crop":"node --experimental-strip-types scripts/png-crop-benchmark/run.ts","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","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: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":"node scripts/release-mark-dev.mjs --check-release-version && rm -rf .tmp/release && pnpm check:mcp-metadata && pnpm build:package && pnpm check:package -- --pack-destination .tmp/release","release:publish":"pnpm release:prepare && npm publish --ignore-scripts .tmp/release/*.tgz && pnpm release:mark-dev","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","release:mark-dev":"node scripts/release-mark-dev.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: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 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: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","bench:ios-ax-bridge:targeted":"node --experimental-strip-types scripts/ios-ax-bridge-spike/targeted-run.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/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":"thymikee","email":"thymikee@gmail.com"},"repository":{"url":"git+https://github.com/callstack/agent-device.git","type":"git"},"_npmVersion":"11.19.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":{},"_nodeVersion":"26.8.1","_hasShrinkwrap":false,"packageManager":"pnpm@11.17.0","devDependencies":{"ai":"^7.0.68","vite":"^8.2.1","yaml":"^2.9.0","oxfmt":"^0.64.0","pngjs":"^7.0.0","yauzl":"^3.4.0","fallow":"^2.104.0","oxlint":"^1.79.0","tsdown":"^0.22.14","undici":"7.29.0","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.49.3","@types/node":"^22.20.1","@types/pngjs":"^6.0.5","@types/yauzl":"^3.4.0","@agent-device/xml":"workspace:*","@types/tar-stream":"^3.1.4","@types/json-schema":"^7.0.15","@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/maestro":"workspace:*","@arethetypeswrong/cli":"^0.18.5","@stryker-mutator/core":"10.0.0","@agent-device/host-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-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:*","@agent-device/command-registry":"workspace:*","@agent-device/device-selection":"workspace:*","@agent-device/platform-android":"workspace:*","@stryker-mutator/vitest-runner":"10.0.0","@agent-device/managed-allocation":"workspace:*","@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.11_1790088933174_0.9066450524898693","host":"s3://npm-registry-packages-npm-production"}},"0.21.12":{"name":"agent-device","version":"0.21.12","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"],"author":{"name":"Callstack"},"license":"MIT","_id":"agent-device@0.21.12","maintainers":[{"name":"thymikee","email":"thymikee@gmail.com"}],"homepage":"https://agent-device.dev/","bugs":{"url":"https://github.com/callstack/agent-device/issues"},"bin":{"agent-device":"bin/agent-device.mjs"},"dist":{"shasum":"d3d1d33598d6698486db8b7a462bdaec91a8e662","tarball":"https://registry.npmjs.org/agent-device/-/agent-device-0.21.12.tgz","fileCount":553,"integrity":"sha512-aeIMmmMRUCnpRzhl3it0/PpTxhfcnxk8U3epV3kGRw9aQgo2UZa04kBc/h6i7wswhiuZw29TSPO0ewths3eJHg==","signatures":[{"sig":"MEUCIFz/TZpob4P6GRCmULOWwMe0yHdSKlNEJLjpBPQV+CMNAiEAk0MKt3rar9qYrCmNTksziNUTXnmwkWQkgIWZq9SENVQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIQDOMEla4iHIvL1uG32fyBtr5FzwghG+jkCTzScJGpbU2AIgEseliIV1WUehMOCVFn70cbSIILPtCmAiJ7Im5tKE6zk=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":4777503},"main":"dist/src/index.js","type":"module","types":"dist/src/index.d.ts","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"},"./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"}},"gitHead":"01328de4113749ac33e35ea2390305e6a08c0edd","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":"pnpm check:mcp-metadata && pnpm package:npm","version":"pnpm sync:mcp-metadata && git add server.json","depgraph":"node --experimental-strip-types scripts/depgraph/build.ts","test:unit":"vitest run --project unit-core --project fuzz-worker","typecheck":"tsc -b packages/xml packages/kernel packages/contracts packages/device-selection packages/host-kit packages/capture-kit packages/managed-allocation packages/provision-kit packages/platform-apple packages/platform-android packages/platform-harmonyos packages/platform-vega packages/platform-linux packages/platform-web packages/ad-script packages/selectors packages/command-registry packages/session-journal packages/ad-replay packages/maestro packages/replay-test packages/provider-webdriver packages/provider-limrun && tsc -p tsconfig.json && tsc -p 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 build:xcuitest:ios && pnpm build:xcuitest:macos && pnpm build:xcuitest:tvos && pnpm build:xcuitest:visionos && 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 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/affected.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","bench:png-crop":"node --experimental-strip-types scripts/png-crop-benchmark/run.ts","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","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: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":"node scripts/release-mark-dev.mjs --check-release-version && rm -rf .tmp/release && pnpm check:mcp-metadata && pnpm build:package && pnpm check:package -- --pack-destination .tmp/release","release:publish":"pnpm release:prepare && npm publish --ignore-scripts .tmp/release/*.tgz && pnpm release:mark-dev","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","release:mark-dev":"node scripts/release-mark-dev.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: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 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: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","bench:ios-ax-bridge:targeted":"node --experimental-strip-types scripts/ios-ax-bridge-spike/targeted-run.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/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":"thymikee","email":"thymikee@gmail.com"},"repository":{"url":"git+https://github.com/callstack/agent-device.git","type":"git"},"_npmVersion":"11.19.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":{},"_nodeVersion":"26.8.1","_hasShrinkwrap":false,"packageManager":"pnpm@11.17.0","devDependencies":{"ai":"^7.0.68","vite":"^8.2.1","yaml":"^2.9.0","oxfmt":"^0.64.0","pngjs":"^7.0.0","yauzl":"^3.4.0","fallow":"^2.104.0","oxlint":"^1.79.0","tsdown":"^0.22.14","undici":"7.29.0","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.49.3","@types/node":"^22.20.1","@types/pngjs":"^6.0.5","@types/yauzl":"^3.4.0","@agent-device/xml":"workspace:*","@types/tar-stream":"^3.1.4","@types/json-schema":"^7.0.15","@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/maestro":"workspace:*","@arethetypeswrong/cli":"^0.18.5","@stryker-mutator/core":"10.0.0","@agent-device/host-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-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:*","@agent-device/command-registry":"workspace:*","@agent-device/device-selection":"workspace:*","@agent-device/platform-android":"workspace:*","@stryker-mutator/vitest-runner":"10.0.0","@agent-device/managed-allocation":"workspace:*","@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.12_1790103809013_0.0170785979176864","host":"s3://npm-registry-packages-npm-production"}},"0.21.13":{"name":"agent-device","version":"0.21.13","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"],"author":{"name":"Callstack"},"license":"MIT","_id":"agent-device@0.21.13","maintainers":[{"name":"thymikee","email":"thymikee@gmail.com"}],"homepage":"https://agent-device.dev/","bugs":{"url":"https://github.com/callstack/agent-device/issues"},"bin":{"agent-device":"bin/agent-device.mjs"},"dist":{"shasum":"af16f66c133d6a0ec5c0b9c383dbf0fcb1a2fffd","tarball":"https://registry.npmjs.org/agent-device/-/agent-device-0.21.13.tgz","fileCount":562,"integrity":"sha512-zXmkGbCr8aKFmnzlCJDeBIy2jHsMAzHCH9gcDfVg4+tY3gm43eO/fZ3/Y9+G7F4UOtSOW1b2ccei0i7cB5iDiA==","signatures":[{"sig":"MEUCIQC17+LMxrlET/gaGxkdyYG1nQtSlMRkgjlJeTT7veZceAIgEUiA3nF2bClA3SxLclZezxU3AH2NAF3yFzQ7xWx2bcY=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIG2Cn94WvJHy/FvSHZLd74DCmGuyhGZ9rXAv08pp6nU8AiEAxReRDWfSRJ8ZpGlXdTfPSJqWGT5LTBI/yzWuat1ofJs=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":4800539},"main":"dist/src/index.js","type":"module","types":"dist/src/index.d.ts","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"},"./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"}},"gitHead":"0749551b7151cc2374e69009db772957ea979b4e","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":"pnpm check:mcp-metadata && pnpm package:npm","version":"pnpm sync:mcp-metadata && git add server.json","depgraph":"node --experimental-strip-types scripts/depgraph/build.ts","test:unit":"vitest run --project unit-core --project fuzz-worker","typecheck":"tsc -b packages/xml packages/kernel packages/contracts packages/device-selection packages/host-kit packages/capture-kit packages/managed-allocation packages/provision-kit packages/platform-apple packages/platform-android packages/platform-harmonyos packages/platform-vega packages/platform-linux packages/platform-web packages/ad-script packages/selectors packages/command-registry packages/session-journal packages/ad-replay packages/maestro packages/replay-port packages/replay-test packages/provider-webdriver packages/provider-limrun && tsc -p tsconfig.json && tsc -p 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 build:xcuitest:ios && pnpm build:xcuitest:macos && pnpm build:xcuitest:tvos && pnpm build:xcuitest:visionos && 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 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/affected.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","bench:png-crop":"node --experimental-strip-types scripts/png-crop-benchmark/run.ts","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","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: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":"node scripts/release-mark-dev.mjs --check-release-version && rm -rf .tmp/release && pnpm check:mcp-metadata && pnpm build:package && pnpm check:package -- --pack-destination .tmp/release","release:publish":"pnpm release:prepare && npm publish --ignore-scripts .tmp/release/*.tgz && pnpm release:mark-dev","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","release:mark-dev":"node scripts/release-mark-dev.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: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 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: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","bench:ios-ax-bridge:targeted":"node --experimental-strip-types scripts/ios-ax-bridge-spike/targeted-run.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/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":"thymikee","email":"thymikee@gmail.com"},"repository":{"url":"git+https://github.com/callstack/agent-device.git","type":"git"},"_npmVersion":"11.19.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":{},"_nodeVersion":"26.8.1","_hasShrinkwrap":false,"packageManager":"pnpm@11.17.0","devDependencies":{"ai":"^7.0.68","vite":"^8.2.1","yaml":"^2.9.0","oxfmt":"^0.64.0","pngjs":"^7.0.0","yauzl":"^3.4.0","fallow":"^2.104.0","oxlint":"^1.79.0","tsdown":"^0.22.14","undici":"7.29.0","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.49.3","@types/node":"^22.20.1","@types/pngjs":"^6.0.5","@types/yauzl":"^3.4.0","@agent-device/xml":"workspace:*","@types/tar-stream":"^3.1.4","@types/json-schema":"^7.0.15","@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/maestro":"workspace:*","@arethetypeswrong/cli":"^0.18.5","@stryker-mutator/core":"10.0.0","@agent-device/host-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:*","@agent-device/command-registry":"workspace:*","@agent-device/device-selection":"workspace:*","@agent-device/platform-android":"workspace:*","@stryker-mutator/vitest-runner":"10.0.0","@agent-device/managed-allocation":"workspace:*","@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.13_1790246227630_0.5936908146804603","host":"s3://npm-registry-packages-npm-production"}},"0.21.14":{"name":"agent-device","version":"0.21.14","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"],"author":{"name":"Callstack"},"license":"MIT","_id":"agent-device@0.21.14","maintainers":[{"name":"thymikee","email":"thymikee@gmail.com"}],"homepage":"https://agent-device.dev/","bugs":{"url":"https://github.com/callstack/agent-device/issues"},"bin":{"agent-device":"bin/agent-device.mjs"},"dist":{"shasum":"6b9d860086ad81b65cc8b00ba871116804212d5e","tarball":"https://registry.npmjs.org/agent-device/-/agent-device-0.21.14.tgz","fileCount":562,"integrity":"sha512-QCtt/5oGUPyg3mEW5p3d1ufbKCV5MJhcHwDPEEpguccb2Ic8s8/8ZSfLZjQSzqfg4Vry8fUJXwEBUJFmP6xFYw==","signatures":[{"sig":"MEYCIQCY5oV3J38kJBLe3hi4m1OWqgFZX97WmDu1x71PUTIrmgIhAOtNTy0RtJrR8Kmf8ErzxP6RKd0oUi58S8PwC6Xbk4iH","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIQChUUvUOn6ByPxutTKJwY/GFyYbqF3iaIeoPLCSxbvj+gIgL/5n34s41pjW3tORyBjpINU1IziTVj6YdSIWJ3BhLcc=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":4806432},"main":"dist/src/index.js","type":"module","types":"dist/src/index.d.ts","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"},"./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"}},"gitHead":"622435ecc52d3c8c8aca124aec93758efc68d7a2","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":"pnpm check:mcp-metadata && pnpm package:npm","version":"pnpm sync:mcp-metadata && git add server.json","depgraph":"node --experimental-strip-types scripts/depgraph/build.ts","test:unit":"vitest run --project unit-core --project fuzz-worker","typecheck":"tsc -b packages/xml packages/kernel packages/contracts packages/device-selection packages/host-kit packages/capture-kit packages/managed-allocation packages/provision-kit packages/platform-apple packages/platform-android packages/platform-harmonyos packages/platform-vega packages/platform-linux packages/platform-web packages/ad-script packages/selectors packages/command-registry packages/session-journal packages/ad-replay packages/maestro packages/replay-port packages/replay-test packages/provider-webdriver packages/provider-limrun && tsc -p tsconfig.json && tsc -p 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 build:xcuitest:ios && pnpm build:xcuitest:macos && pnpm build:xcuitest:tvos && pnpm build:xcuitest:visionos && 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 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/affected.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","bench:png-crop":"node --experimental-strip-types scripts/png-crop-benchmark/run.ts","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","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: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":"node scripts/release-mark-dev.mjs --check-release-version && rm -rf .tmp/release && pnpm check:mcp-metadata && pnpm build:package && pnpm check:package -- --pack-destination .tmp/release","release:publish":"pnpm release:prepare && npm publish --ignore-scripts .tmp/release/*.tgz && pnpm release:mark-dev","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","release:mark-dev":"node scripts/release-mark-dev.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: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 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: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","bench:ios-ax-bridge:targeted":"node --experimental-strip-types scripts/ios-ax-bridge-spike/targeted-run.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/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":"thymikee","email":"thymikee@gmail.com"},"repository":{"url":"git+https://github.com/callstack/agent-device.git","type":"git"},"_npmVersion":"11.19.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":{},"_nodeVersion":"26.8.1","_hasShrinkwrap":false,"packageManager":"pnpm@11.17.0","devDependencies":{"ai":"^7.0.68","vite":"^8.2.1","yaml":"^2.9.0","oxfmt":"^0.64.0","pngjs":"^7.0.0","yauzl":"^3.4.0","fallow":"^2.104.0","oxlint":"^1.79.0","tsdown":"^0.22.14","undici":"7.29.0","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.49.3","@types/node":"^22.20.1","@types/pngjs":"^6.0.5","@types/yauzl":"^3.4.0","@agent-device/xml":"workspace:*","@types/tar-stream":"^3.1.4","@types/json-schema":"^7.0.15","@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/maestro":"workspace:*","@arethetypeswrong/cli":"^0.18.5","@stryker-mutator/core":"10.0.0","@agent-device/host-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:*","@agent-device/command-registry":"workspace:*","@agent-device/device-selection":"workspace:*","@agent-device/platform-android":"workspace:*","@stryker-mutator/vitest-runner":"10.0.0","@agent-device/managed-allocation":"workspace:*","@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.14_1790269108031_0.22302268037719686","host":"s3://npm-registry-packages-npm-production"}},"0.21.15":{"name":"agent-device","version":"0.21.15","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"],"author":{"name":"Callstack"},"license":"MIT","_id":"agent-device@0.21.15","maintainers":[{"name":"thymikee","email":"thymikee@gmail.com"}],"homepage":"https://agent-device.dev/","bugs":{"url":"https://github.com/callstack/agent-device/issues"},"bin":{"agent-device":"bin/agent-device.mjs"},"dist":{"shasum":"2647fa4f90ad29cadd5156ef463ce22c0a1cdbc2","tarball":"https://registry.npmjs.org/agent-device/-/agent-device-0.21.15.tgz","fileCount":563,"integrity":"sha512-Om1j6oNJkeKlkk8lBM+0V9bKwpxUXLMf/PDDSvAt3RFquBRqAiM58J81E0rvPQNxs6GCjhABYpwVvIAXptxjjA==","signatures":[{"sig":"MEUCIBgoQHNUI88LSMEu/H7n+iLFltkhyuo7u+q4YW0dC53QAiEAvDQbYaq4n3S65D42M1G0Zdv4q/JxOWM+1GC9YqSpr4g=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEQCIE2aPEWxHz7UXpXcxcD32tgbHawM5SWjCPKpfWwHhCzZAiBxfWf3vsbaKRnymT5axDo1vzMroGdcDTjni+LNtPXhwg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":4847565},"main":"dist/src/index.js","type":"module","types":"dist/src/index.d.ts","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"},"./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"}},"gitHead":"94433db3719d09fae4e34fc162df9d456b8e5414","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":"pnpm check:mcp-metadata && pnpm package:npm","version":"pnpm sync:mcp-metadata && git add server.json","depgraph":"node --experimental-strip-types scripts/depgraph/build.ts","test:unit":"vitest run --project unit-core --project fuzz-worker","typecheck":"tsc -b packages/xml packages/kernel packages/contracts packages/device-selection packages/host-kit packages/capture-kit packages/managed-allocation packages/provision-kit packages/platform-apple packages/platform-android packages/platform-harmonyos packages/platform-vega packages/platform-linux packages/platform-web packages/ad-script packages/selectors packages/command-registry packages/session-journal packages/ad-replay packages/maestro packages/replay-port packages/replay-test packages/provider-webdriver packages/provider-limrun && tsc -p tsconfig.json && tsc -p 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 build:xcuitest:ios && pnpm build:xcuitest:macos && pnpm build:xcuitest:tvos && pnpm build:xcuitest:visionos && 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 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/affected.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","bench:png-crop":"node --experimental-strip-types scripts/png-crop-benchmark/run.ts","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","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: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":"node scripts/release-mark-dev.mjs --check-release-version && rm -rf .tmp/release && pnpm check:mcp-metadata && pnpm build:package && pnpm check:package -- --pack-destination .tmp/release","release:publish":"pnpm release:prepare && npm publish --ignore-scripts .tmp/release/*.tgz && pnpm release:mark-dev","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","release:mark-dev":"node scripts/release-mark-dev.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: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 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: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","bench:ios-ax-bridge:targeted":"node --experimental-strip-types scripts/ios-ax-bridge-spike/targeted-run.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/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":"thymikee","email":"thymikee@gmail.com"},"repository":{"url":"git+https://github.com/callstack/agent-device.git","type":"git"},"_npmVersion":"11.19.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":{},"_nodeVersion":"26.8.1","_hasShrinkwrap":false,"packageManager":"pnpm@11.17.0","devDependencies":{"ai":"^7.0.68","vite":"^8.2.1","yaml":"^2.9.0","oxfmt":"^0.64.0","pngjs":"^7.0.0","yauzl":"^3.4.0","fallow":"^2.104.0","oxlint":"^1.79.0","tsdown":"^0.22.14","undici":"7.29.0","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.49.3","@types/node":"^22.20.1","@types/pngjs":"^6.0.5","@types/yauzl":"^3.4.0","@agent-device/xml":"workspace:*","@types/tar-stream":"^3.1.4","@types/json-schema":"^7.0.15","@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/maestro":"workspace:*","@arethetypeswrong/cli":"^0.18.5","@stryker-mutator/core":"10.0.0","@agent-device/host-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:*","@agent-device/command-registry":"workspace:*","@agent-device/device-selection":"workspace:*","@agent-device/platform-android":"workspace:*","@stryker-mutator/vitest-runner":"10.0.0","@agent-device/managed-allocation":"workspace:*","@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.15_1790337438323_0.5007044395369011","host":"s3://npm-registry-packages-npm-production"}},"0.21.16":{"name":"agent-device","version":"0.21.16","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"],"author":{"name":"Callstack"},"license":"MIT","_id":"agent-device@0.21.16","maintainers":[{"name":"thymikee","email":"thymikee@gmail.com"}],"homepage":"https://agent-device.dev/","bugs":{"url":"https://github.com/callstack/agent-device/issues"},"bin":{"agent-device":"bin/agent-device.mjs"},"dist":{"shasum":"4ac9fcda0812043f0720a3fe297a3114e5e4a587","tarball":"https://registry.npmjs.org/agent-device/-/agent-device-0.21.16.tgz","fileCount":566,"integrity":"sha512-eIJWHxRXB2CMmt/yDhY/Vvgnj733k1IdzWimoNX6Rono0y19FKTb6zaPw+Dug0e6e0MYYJsrt6Ht+Q/ZyPQ/4A==","signatures":[{"sig":"MEQCICP+/Sf3dH0BD6slG9bfFIjIsZ97Nk7p3cIMYoAPasM5AiBmJ+y/UDUK/QjptLicsdWKTxQMDE1//c6/IldC9I09+Q==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIQDhWvmWJEjGjXBM5qPjtcDm3CEHk9Xr/yQ2CK0dTrGg4gIgF9AWIeF72sdnvjDes9TpN5OGafLXdwHCunEHwC6p/Co=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":4873334},"main":"dist/src/index.js","type":"module","types":"dist/src/index.d.ts","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"},"./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"}},"gitHead":"c58fe851e2c289c07b97b853fe89cd60af122d59","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":"pnpm check:mcp-metadata && pnpm package:npm","version":"pnpm sync:mcp-metadata && git add server.json","depgraph":"node --experimental-strip-types scripts/depgraph/build.ts","test:unit":"vitest run --project unit-core --project fuzz-worker","typecheck":"tsc -b packages/xml packages/kernel packages/contracts packages/device-selection packages/host-kit packages/capture-kit packages/managed-allocation packages/provision-kit packages/platform-apple packages/platform-android packages/platform-harmonyos packages/platform-vega packages/platform-linux packages/platform-web packages/ad-script packages/selectors packages/command-registry packages/session-journal packages/ad-replay packages/maestro packages/replay-port packages/replay-test packages/provider-webdriver packages/provider-limrun && tsc -p tsconfig.json && tsc -p 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 build:xcuitest:ios && pnpm build:xcuitest:macos && pnpm build:xcuitest:tvos && pnpm build:xcuitest:visionos && 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 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/affected.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","bench:png-crop":"node --experimental-strip-types scripts/png-crop-benchmark/run.ts","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","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: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":"node scripts/release-mark-dev.mjs --check-release-version && rm -rf .tmp/release && pnpm check:mcp-metadata && pnpm build:package && pnpm check:package -- --pack-destination .tmp/release","release:publish":"pnpm release:prepare && npm publish --ignore-scripts .tmp/release/*.tgz && pnpm release:mark-dev","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","release:mark-dev":"node scripts/release-mark-dev.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: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: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","bench:ios-ax-bridge:targeted":"node --experimental-strip-types scripts/ios-ax-bridge-spike/targeted-run.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/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":"thymikee","email":"thymikee@gmail.com"},"repository":{"url":"git+https://github.com/callstack/agent-device.git","type":"git"},"_npmVersion":"11.19.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":{},"_nodeVersion":"26.8.1","_hasShrinkwrap":false,"packageManager":"pnpm@11.17.0","devDependencies":{"ai":"^7.0.68","vite":"^8.2.1","yaml":"^2.9.0","oxfmt":"^0.64.0","pngjs":"^7.0.0","yauzl":"^3.4.0","fallow":"^2.104.0","oxlint":"^1.79.0","tsdown":"^0.22.14","undici":"7.29.0","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.49.3","@types/node":"^22.20.1","@types/pngjs":"^6.0.5","@types/yauzl":"^3.4.0","@agent-device/xml":"workspace:*","@types/tar-stream":"^3.1.4","@types/json-schema":"^7.0.15","@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/maestro":"workspace:*","@arethetypeswrong/cli":"^0.18.5","@stryker-mutator/core":"10.0.0","@agent-device/host-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:*","@agent-device/command-registry":"workspace:*","@agent-device/device-selection":"workspace:*","@agent-device/platform-android":"workspace:*","@stryker-mutator/vitest-runner":"10.0.0","@agent-device/managed-allocation":"workspace:*","@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.16_1790584881643_0.6940307422679839","host":"s3://npm-registry-packages-npm-production"}},"0.21.17":{"name":"agent-device","version":"0.21.17","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"],"author":{"name":"Callstack"},"license":"MIT","_id":"agent-device@0.21.17","maintainers":[{"name":"thymikee","email":"thymikee@gmail.com"}],"homepage":"https://agent-device.dev/","bugs":{"url":"https://github.com/callstack/agent-device/issues"},"bin":{"agent-device":"bin/agent-device.mjs"},"dist":{"shasum":"4867dffb8855336ebdd589d6afecee04e42426ab","tarball":"https://registry.npmjs.org/agent-device/-/agent-device-0.21.17.tgz","fileCount":574,"integrity":"sha512-JYWw8jlm5X49qsAnWqXTHFhmDpcVl+z7R8aLKD27mxvGyupdypRBDG3a8HklUQt4W7913Isca7Gs8dXEw+dQiA==","signatures":[{"sig":"MEUCIQC++/G4VDX9iDoXmZDYuNYT5jHy+HthmJVi37rcGBuITAIgEMHp1sMjfJWhyAOOVQfmqcCQSTffaZx2z623rFmKCD4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIQDflmsAWYICt7rIBV2+bE67dQLpPG8/btHx0Rav+A5uOwIgP+VMloH5UJ3jrVF+YcQ3qBjGskfuYW6c5lnaO0k3bcQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":4893091},"main":"dist/src/index.js","type":"module","types":"dist/src/index.d.ts","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"},"./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"}},"gitHead":"3c39f2b6b26b87b0c232cb99c6bcf5e35b4240b7","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":"pnpm check:mcp-metadata && pnpm package:npm","version":"pnpm sync:mcp-metadata && git add server.json","depgraph":"node --experimental-strip-types scripts/depgraph/build.ts","test:unit":"vitest run --project unit-core --project fuzz-worker","typecheck":"tsc -b packages/xml packages/kernel packages/contracts packages/device-selection packages/host-kit packages/capture-kit packages/managed-allocation packages/provision-kit packages/platform-apple packages/platform-android packages/platform-harmonyos packages/platform-vega packages/platform-linux packages/platform-web packages/ad-script packages/selectors packages/command-registry packages/session-journal packages/ad-replay packages/maestro packages/replay-port packages/replay-test packages/provider-webdriver packages/provider-limrun && tsc -p tsconfig.json && tsc -p 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 build:xcuitest:ios && pnpm build:xcuitest:macos && pnpm build:xcuitest:tvos && pnpm build:xcuitest:visionos && 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 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/affected.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","bench:png-crop":"node --experimental-strip-types scripts/png-crop-benchmark/run.ts","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","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: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":"node scripts/release-mark-dev.mjs --check-release-version && rm -rf .tmp/release && pnpm check:mcp-metadata && pnpm build:package && pnpm check:package -- --pack-destination .tmp/release","release:publish":"pnpm release:prepare && npm publish --ignore-scripts .tmp/release/*.tgz && pnpm release:mark-dev","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","release:mark-dev":"node scripts/release-mark-dev.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: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: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","bench:ios-ax-bridge:targeted":"node --experimental-strip-types scripts/ios-ax-bridge-spike/targeted-run.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/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":"thymikee","email":"thymikee@gmail.com"},"repository":{"url":"git+https://github.com/callstack/agent-device.git","type":"git"},"_npmVersion":"11.19.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":{},"_nodeVersion":"26.8.1","_hasShrinkwrap":false,"packageManager":"pnpm@11.17.0","devDependencies":{"ai":"^7.0.68","vite":"^8.2.1","yaml":"^2.9.0","oxfmt":"^0.64.0","pngjs":"^7.0.0","yauzl":"^3.4.0","fallow":"^2.104.0","oxlint":"^1.79.0","tsdown":"^0.22.14","undici":"7.29.0","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.49.3","@types/node":"^22.20.1","@types/pngjs":"^6.0.5","@types/yauzl":"^3.4.0","@agent-device/xml":"workspace:*","@types/tar-stream":"^3.1.4","@types/json-schema":"^7.0.15","@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/maestro":"workspace:*","@arethetypeswrong/cli":"^0.18.5","@stryker-mutator/core":"10.0.0","@agent-device/host-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:*","@agent-device/command-registry":"workspace:*","@agent-device/device-selection":"workspace:*","@agent-device/platform-android":"workspace:*","@stryker-mutator/vitest-runner":"10.0.0","@agent-device/managed-allocation":"workspace:*","@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.17_1790765696147_0.5728508736923601","host":"s3://npm-registry-packages-npm-production"}},"0.21.18":{"name":"agent-device","version":"0.21.18","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"],"author":{"name":"Callstack"},"license":"MIT","_id":"agent-device@0.21.18","maintainers":[{"name":"thymikee","email":"thymikee@gmail.com"}],"homepage":"https://agent-device.dev/","bugs":{"url":"https://github.com/callstack/agent-device/issues"},"bin":{"agent-device":"bin/agent-device.mjs"},"dist":{"shasum":"731bb1db14c159e28ed7a591f76429cf436ed128","tarball":"https://registry.npmjs.org/agent-device/-/agent-device-0.21.18.tgz","fileCount":574,"integrity":"sha512-ptNJ7a4jkAXFLSmZqKJDwxL+YpCEUuZv3oCBY76PwE3b2W+yQqQuG0ej0/bOspIHJRmMGNOkWhtxm3gmRW9hRQ==","signatures":[{"sig":"MEQCICT2ap3wpH0XfbggFNwA/ukUY7Fy4BNhgGbV0mLPa7+FAiApinlDZ0KV1fLqiz5lnHOylVz4PZve5JjWWz+itH6U0Q==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIFJ2Y5/A3Cf8vcy6wwJRQLSXW0JVKLxRkoqzN6fbAeZ4AiEAmDGsPlMxovRrx5D7WOxs0xO3y9cpYd6mTLns/9ZLLuw=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":4894873},"main":"dist/src/index.js","type":"module","types":"dist/src/index.d.ts","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"},"./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"}},"gitHead":"6d1314fc3024efa096eed59fdd34162467ffe5fa","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":"pnpm check:mcp-metadata && pnpm package:npm","version":"pnpm sync:mcp-metadata && git add server.json","depgraph":"node --experimental-strip-types scripts/depgraph/build.ts","test:unit":"vitest run --project unit-core --project fuzz-worker","typecheck":"tsc -b packages/xml packages/kernel packages/contracts packages/device-selection packages/host-kit packages/capture-kit packages/managed-allocation packages/provision-kit packages/platform-apple packages/platform-android packages/platform-harmonyos packages/platform-vega packages/platform-linux packages/platform-web packages/ad-script packages/selectors packages/command-registry packages/session-journal packages/ad-replay packages/maestro packages/replay-port packages/replay-test packages/provider-webdriver packages/provider-limrun && tsc -p tsconfig.json && tsc -p 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 build:xcuitest:ios && pnpm build:xcuitest:macos && pnpm build:xcuitest:tvos && pnpm build:xcuitest:visionos && 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 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/affected.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","bench:png-crop":"node --experimental-strip-types scripts/png-crop-benchmark/run.ts","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","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: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":"node scripts/release-mark-dev.mjs --check-release-version && rm -rf .tmp/release && pnpm check:mcp-metadata && pnpm build:package && pnpm check:package -- --pack-destination .tmp/release","release:publish":"pnpm release:prepare && npm publish --ignore-scripts .tmp/release/*.tgz && pnpm release:mark-dev","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","release:mark-dev":"node scripts/release-mark-dev.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: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: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","bench:ios-ax-bridge:targeted":"node --experimental-strip-types scripts/ios-ax-bridge-spike/targeted-run.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/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":"thymikee","email":"thymikee@gmail.com"},"repository":{"url":"git+https://github.com/callstack/agent-device.git","type":"git"},"_npmVersion":"11.19.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":{},"_nodeVersion":"26.8.1","_hasShrinkwrap":false,"packageManager":"pnpm@11.17.0","devDependencies":{"ai":"^7.0.68","vite":"^8.2.1","yaml":"^2.9.0","oxfmt":"^0.64.0","pngjs":"^7.0.0","yauzl":"^3.4.0","fallow":"^2.104.0","oxlint":"^1.79.0","tsdown":"^0.22.14","undici":"7.29.0","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.49.3","@types/node":"^22.20.1","@types/pngjs":"^6.0.5","@types/yauzl":"^3.4.0","@agent-device/xml":"workspace:*","@types/tar-stream":"^3.1.4","@types/json-schema":"^7.0.15","@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/maestro":"workspace:*","@arethetypeswrong/cli":"^0.18.5","@stryker-mutator/core":"10.0.0","@agent-device/host-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:*","@agent-device/command-registry":"workspace:*","@agent-device/device-selection":"workspace:*","@agent-device/platform-android":"workspace:*","@stryker-mutator/vitest-runner":"10.0.0","@agent-device/managed-allocation":"workspace:*","@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.18_1790781338769_0.3314994630071124","host":"s3://npm-registry-packages-npm-production"}},"0.21.19":{"name":"agent-device","version":"0.21.19","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"],"author":{"name":"Callstack"},"license":"MIT","_id":"agent-device@0.21.19","maintainers":[{"name":"thymikee","email":"thymikee@gmail.com"}],"homepage":"https://agent-device.dev/","bugs":{"url":"https://github.com/callstack/agent-device/issues"},"bin":{"agent-device":"bin/agent-device.mjs"},"dist":{"shasum":"33b87570a13180c9eccb2926fc23cf3d8a009763","tarball":"https://registry.npmjs.org/agent-device/-/agent-device-0.21.19.tgz","fileCount":578,"integrity":"sha512-XQhWY3znSRkVjVmijV1Ds0kJMQR0Iv7VdY3pzNqTv6zMdMqha4eDZEwsCOWRbT5Nz1TNFm3ObPju3TzlVMlP5Q==","signatures":[{"sig":"MEUCIQCyfZlr4jLsMKVCi9VAF+8hKLO+Cnf8rbDypwMcuHuf/AIgLUDg+Ti72RghsfcEORObt4xnQZ9u+wo0qzBPN5bSfUU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEQCIFYwIuIo7FiuC+8jZdDlYX2eSn3nDtHuMEyQUjfOj8aZAiBFvaAIe6iDE+U9miOftyTyoH0r7gewTXSPzDmQQ5yv3Q==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":4913549},"main":"dist/src/index.js","type":"module","types":"dist/src/index.d.ts","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"},"./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"}},"gitHead":"c719a6466f487188758612b4062fe855c3fe137b","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":"pnpm check:mcp-metadata && pnpm package:npm","version":"pnpm sync:mcp-metadata && git add server.json","depgraph":"node --experimental-strip-types scripts/depgraph/build.ts","test:unit":"vitest run --project unit-core --project fuzz-worker","typecheck":"tsc -b packages/xml packages/kernel packages/contracts packages/device-selection packages/host-kit packages/capture-kit packages/managed-allocation packages/provision-kit packages/platform-apple packages/platform-android packages/platform-harmonyos packages/platform-vega packages/platform-linux packages/platform-web packages/ad-script packages/selectors packages/command-registry packages/session-journal packages/ad-replay packages/maestro packages/replay-port packages/replay-test packages/provider-webdriver packages/provider-limrun && tsc -p tsconfig.json && tsc -p 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 build:xcuitest:ios && pnpm build:xcuitest:macos && pnpm build:xcuitest:tvos && pnpm build:xcuitest:visionos && 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 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/affected.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","bench:png-crop":"node --experimental-strip-types scripts/png-crop-benchmark/run.ts","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","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: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":"node scripts/release-mark-dev.mjs --check-release-version && rm -rf .tmp/release && pnpm check:mcp-metadata && pnpm build:package && pnpm check:package -- --pack-destination .tmp/release","release:publish":"pnpm release:prepare && npm publish --ignore-scripts .tmp/release/*.tgz && pnpm release:mark-dev","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","release:mark-dev":"node scripts/release-mark-dev.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: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: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","bench:ios-ax-bridge:targeted":"node --experimental-strip-types scripts/ios-ax-bridge-spike/targeted-run.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/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":"thymikee","email":"thymikee@gmail.com"},"repository":{"url":"git+https://github.com/callstack/agent-device.git","type":"git"},"_npmVersion":"11.19.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":{},"_nodeVersion":"26.8.1","_hasShrinkwrap":false,"packageManager":"pnpm@11.17.0","devDependencies":{"ai":"^7.0.68","vite":"^8.2.1","yaml":"^2.9.0","oxfmt":"^0.64.0","pngjs":"^7.0.0","yauzl":"^3.4.0","fallow":"^2.104.0","oxlint":"^1.79.0","tsdown":"^0.22.14","undici":"7.29.0","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.49.3","@types/node":"^22.20.1","@types/pngjs":"^6.0.5","@types/yauzl":"^3.4.0","@agent-device/xml":"workspace:*","@types/tar-stream":"^3.1.4","@types/json-schema":"^7.0.15","@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/maestro":"workspace:*","@arethetypeswrong/cli":"^0.18.5","@stryker-mutator/core":"10.0.0","@agent-device/host-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:*","@agent-device/command-registry":"workspace:*","@agent-device/device-selection":"workspace:*","@agent-device/platform-android":"workspace:*","@stryker-mutator/vitest-runner":"10.0.0","@agent-device/managed-allocation":"workspace:*","@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.19_1790853445764_0.44305551152492106","host":"s3://npm-registry-packages-npm-production"}},"0.21.20":{"name":"agent-device","version":"0.21.20","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"],"author":{"name":"Callstack"},"license":"MIT","_id":"agent-device@0.21.20","maintainers":[{"name":"thymikee","email":"thymikee@gmail.com"}],"homepage":"https://agent-device.dev/","bugs":{"url":"https://github.com/callstack/agent-device/issues"},"bin":{"agent-device":"bin/agent-device.mjs"},"dist":{"shasum":"56fe7055f1f8161ef746a2b910884a59d7ed0cf3","tarball":"https://registry.npmjs.org/agent-device/-/agent-device-0.21.20.tgz","fileCount":580,"integrity":"sha512-nD2QNRTbQo3mMEnpOTqgguIreY98lri+VfWBo0Njzc+CLBrISHApUJD2Cs2P8zfzvZCvbGibX1D+LP/B/qeQrQ==","signatures":[{"sig":"MEUCIDPBsZBuHqff2mY5Q+HVewfluuCwAraldVDmlyyMLbfpAiEA+yvWVgtnOrNUB/Hlg/H2IZnU4rDqqZsyorQua4lvgnc=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIQDawPJ458mHG+qM5Qp42YN9oF651r3gRNqRomecffAMCwIgUaAnJSRMhShcgNkWNCmoE3JUpS42lhIAc0QxNPiqmsU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":4928383},"main":"dist/src/index.js","type":"module","types":"dist/src/index.d.ts","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"},"./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"}},"gitHead":"35f407e6e9352544847732d3b8aa74b7b3d34d51","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":"pnpm check:mcp-metadata && pnpm package:npm","version":"pnpm sync:mcp-metadata && git add server.json","depgraph":"node --experimental-strip-types scripts/depgraph/build.ts","test:unit":"vitest run --project unit-core --project fuzz-worker","typecheck":"tsc -b packages/xml packages/kernel packages/contracts packages/device-selection packages/host-kit packages/capture-kit packages/managed-allocation packages/provision-kit packages/platform-apple packages/platform-android packages/platform-harmonyos packages/platform-vega packages/platform-linux packages/platform-web packages/ad-script packages/selectors packages/command-registry packages/session-journal packages/ad-replay packages/maestro packages/replay-port packages/replay-test packages/provider-webdriver packages/provider-limrun && tsc -p tsconfig.json && tsc -p 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 build:xcuitest:ios && pnpm build:xcuitest:macos && pnpm build:xcuitest:tvos && pnpm build:xcuitest:visionos && 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 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/affected.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","bench:png-crop":"node --experimental-strip-types scripts/png-crop-benchmark/run.ts","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","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: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":"node scripts/release-mark-dev.mjs --check-release-version && rm -rf .tmp/release && pnpm check:mcp-metadata && pnpm build:package && pnpm check:package -- --pack-destination .tmp/release","release:publish":"pnpm release:prepare && npm publish --ignore-scripts .tmp/release/*.tgz && pnpm release:mark-dev","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","release:mark-dev":"node scripts/release-mark-dev.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: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: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","bench:ios-ax-bridge:targeted":"node --experimental-strip-types scripts/ios-ax-bridge-spike/targeted-run.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/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":"thymikee","email":"thymikee@gmail.com"},"repository":{"url":"git+https://github.com/callstack/agent-device.git","type":"git"},"_npmVersion":"11.19.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":{},"_nodeVersion":"26.8.1","_hasShrinkwrap":false,"packageManager":"pnpm@11.17.0","devDependencies":{"ai":"^7.0.68","vite":"^8.2.1","yaml":"^2.9.0","oxfmt":"^0.64.0","pngjs":"^7.0.0","yauzl":"^3.4.0","fallow":"^2.104.0","oxlint":"^1.79.0","tsdown":"^0.22.14","undici":"7.29.0","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.49.3","@types/node":"^22.20.1","@types/pngjs":"^6.0.5","@types/yauzl":"^3.4.0","@agent-device/xml":"workspace:*","@types/tar-stream":"^3.1.4","@types/json-schema":"^7.0.15","@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/maestro":"workspace:*","@arethetypeswrong/cli":"^0.18.5","@stryker-mutator/core":"10.0.0","@agent-device/host-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:*","@agent-device/command-registry":"workspace:*","@agent-device/device-selection":"workspace:*","@agent-device/platform-android":"workspace:*","@stryker-mutator/vitest-runner":"10.0.0","@agent-device/managed-allocation":"workspace:*","@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.20_1790963477059_0.029804714889529516","host":"s3://npm-registry-packages-npm-production"}},"0.21.21":{"name":"agent-device","version":"0.21.21","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"],"author":{"name":"Callstack"},"license":"MIT","_id":"agent-device@0.21.21","maintainers":[{"name":"thymikee","email":"thymikee@gmail.com"}],"homepage":"https://agent-device.dev/","bugs":{"url":"https://github.com/callstack/agent-device/issues"},"bin":{"agent-device":"bin/agent-device.mjs"},"dist":{"shasum":"4da063945dc254d25f12515421d4606cab850e4a","tarball":"https://registry.npmjs.org/agent-device/-/agent-device-0.21.21.tgz","fileCount":602,"integrity":"sha512-NBPKPrkG1IxfkEZWqhcB4Zdh/JXoPv8GGkTwxdUtLdaaOgZzMebPUNCwcfSpzGDN9G2ZSP0pMOAEz592G8uRoQ==","signatures":[{"sig":"MEUCIQDEPv98Jwf5nyUYju8DIhm/9LR546IVk0W1kehAcsBxnQIgK4NeTSfyrnksK5ZAXZGbBjuKgwzYsNw0PhTCsfo6uUQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEYCIQCwdjeEo1RvPLR8OXuDTwYtXt+3PAaTsc2g23E1W9V7BgIhAL8NPDpKbagcWkSOtDd8d8u8DfpAUZDsUmJZ6povTHLZ","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":5098426},"main":"dist/src/index.js","type":"module","types":"dist/src/index.d.ts","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"}},"gitHead":"37fa3e705b83d16b2b2e459e91df39cd7c23dc27","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":"pnpm check:mcp-metadata && pnpm package:npm","version":"pnpm sync:mcp-metadata && git add server.json","depgraph":"node --experimental-strip-types scripts/depgraph/build.ts","test:unit":"vitest run --project unit-core --project fuzz-worker","typecheck":"tsc -b packages/xml packages/kernel packages/contracts packages/device-selection packages/host-kit packages/capture-kit packages/managed-allocation packages/provision-kit packages/platform-apple packages/platform-android packages/platform-harmonyos packages/platform-vega packages/platform-linux packages/platform-web packages/ad-script packages/selectors packages/command-registry packages/session-journal packages/ad-replay packages/maestro packages/replay-port packages/replay-test packages/provider-webdriver packages/provider-limrun && tsc -p tsconfig.json && tsc -p 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 build:xcuitest:ios && pnpm build:xcuitest:macos && pnpm build:xcuitest:tvos && pnpm build:xcuitest:visionos && 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 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/affected.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","bench:png-crop":"node --experimental-strip-types scripts/png-crop-benchmark/run.ts","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","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: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":"node scripts/release-mark-dev.mjs --check-release-version && rm -rf .tmp/release && pnpm check:mcp-metadata && pnpm build:package && pnpm check:package -- --pack-destination .tmp/release","release:publish":"pnpm release:prepare && npm publish --ignore-scripts .tmp/release/*.tgz && pnpm release:mark-dev","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","release:mark-dev":"node scripts/release-mark-dev.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: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: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","bench:ios-ax-bridge:targeted":"node --experimental-strip-types scripts/ios-ax-bridge-spike/targeted-run.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/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":"thymikee","email":"thymikee@gmail.com"},"repository":{"url":"git+https://github.com/callstack/agent-device.git","type":"git"},"_npmVersion":"11.19.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":{},"_nodeVersion":"26.8.1","_hasShrinkwrap":false,"packageManager":"pnpm@11.17.0","devDependencies":{"ai":"^7.0.68","vite":"^8.2.1","yaml":"^2.9.0","oxfmt":"^0.64.0","pngjs":"^7.0.0","yauzl":"^3.4.0","fallow":"^2.104.0","oxlint":"^1.79.0","tsdown":"^0.22.14","undici":"7.29.0","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.49.3","@types/node":"^22.20.1","@types/pngjs":"^6.0.5","@types/yauzl":"^3.4.0","@agent-device/xml":"workspace:*","@types/tar-stream":"^3.1.4","@types/json-schema":"^7.0.15","@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/maestro":"workspace:*","@arethetypeswrong/cli":"^0.18.5","@stryker-mutator/core":"10.0.0","@agent-device/host-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:*","@agent-device/command-registry":"workspace:*","@agent-device/device-selection":"workspace:*","@agent-device/platform-android":"workspace:*","@stryker-mutator/vitest-runner":"10.0.0","@agent-device/managed-allocation":"workspace:*","@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.21_1791273550045_0.47872604663088847","host":"s3://npm-registry-packages-npm-production"}},"0.21.22":{"name":"agent-device","version":"0.21.22","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"],"author":{"name":"Callstack"},"license":"MIT","_id":"agent-device@0.21.22","maintainers":[{"name":"thymikee","email":"thymikee@gmail.com"}],"homepage":"https://agent-device.dev/","bugs":{"url":"https://github.com/callstack/agent-device/issues"},"bin":{"agent-device":"bin/agent-device.mjs"},"dist":{"shasum":"1d0c144a50d76577936d1ce3cea86c1ff3e1e7f8","tarball":"https://registry.npmjs.org/agent-device/-/agent-device-0.21.22.tgz","fileCount":602,"integrity":"sha512-ndUh5b+lZ2fRzzY80TTl/KmxR4bh+3FezSH0UGCjPCpN//1trSqtzzNUWunc4woY/vW3DEiPx5xYIwG+fBOXWA==","signatures":[{"sig":"MEUCIBemRil0yiD6yKvccZ89Wq48+R5aquhla4jfKE7Kd1eLAiEAswPpiZ5K1Nl6wMyLcpEhDMyfSpL31KBYlLaX1C8Dqlc=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIFv3IE8F2tSBAuwMznwYNSr8fu6DJYG3KH3CwxN8y/7vAiEAzU8Qzn1xD2O3BSscUUdpLxp8+nCHJgh4moDKclbLbdo=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":5098472},"main":"dist/src/index.js","type":"module","types":"dist/src/index.d.ts","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"}},"gitHead":"202585240f0c1289642885b5df645cbc25114272","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":"pnpm check:mcp-metadata && pnpm package:npm","version":"pnpm sync:mcp-metadata && git add server.json","depgraph":"node --experimental-strip-types scripts/depgraph/build.ts","test:unit":"vitest run --project unit-core --project fuzz-worker","typecheck":"tsc -b packages/xml packages/kernel packages/contracts packages/device-selection packages/host-kit packages/capture-kit packages/managed-allocation packages/provision-kit packages/platform-apple packages/platform-android packages/platform-harmonyos packages/platform-vega packages/platform-linux packages/platform-web packages/ad-script packages/selectors packages/command-registry packages/session-journal packages/ad-replay packages/maestro packages/replay-port packages/replay-test packages/provider-webdriver packages/provider-limrun && tsc -p tsconfig.json && tsc -p 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 build:xcuitest:ios && pnpm build:xcuitest:macos && pnpm build:xcuitest:tvos && pnpm build:xcuitest:visionos && 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 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/affected.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","bench:png-crop":"node --experimental-strip-types scripts/png-crop-benchmark/run.ts","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","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: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":"node scripts/release-mark-dev.mjs --check-release-version && rm -rf .tmp/release && pnpm check:mcp-metadata && pnpm build:package && pnpm check:package -- --pack-destination .tmp/release","release:publish":"pnpm release:prepare && npm publish --ignore-scripts .tmp/release/*.tgz && pnpm release:mark-dev","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","release:mark-dev":"node scripts/release-mark-dev.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: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: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","bench:ios-ax-bridge:targeted":"node --experimental-strip-types scripts/ios-ax-bridge-spike/targeted-run.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/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":"thymikee","email":"thymikee@gmail.com"},"repository":{"url":"git+https://github.com/callstack/agent-device.git","type":"git"},"_npmVersion":"11.19.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":{},"_nodeVersion":"26.8.1","_hasShrinkwrap":false,"packageManager":"pnpm@11.17.0","devDependencies":{"ai":"^7.0.68","vite":"^8.2.1","yaml":"^2.9.0","oxfmt":"^0.64.0","pngjs":"^7.0.0","yauzl":"^3.4.0","fallow":"^2.104.0","oxlint":"^1.79.0","tsdown":"^0.22.14","undici":"7.29.0","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.49.3","@types/node":"^22.20.1","@types/pngjs":"^6.0.5","@types/yauzl":"^3.4.0","@agent-device/xml":"workspace:*","@types/tar-stream":"^3.1.4","@types/json-schema":"^7.0.15","@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/maestro":"workspace:*","@arethetypeswrong/cli":"^0.18.5","@stryker-mutator/core":"10.0.0","@agent-device/host-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:*","@agent-device/command-registry":"workspace:*","@agent-device/device-selection":"workspace:*","@agent-device/platform-android":"workspace:*","@stryker-mutator/vitest-runner":"10.0.0","@agent-device/managed-allocation":"workspace:*","@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.22_1791285730125_0.04503808119517938","host":"s3://npm-registry-packages-npm-production"}},"0.21.23":{"name":"agent-device","version":"0.21.23","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"],"author":{"name":"Callstack"},"license":"MIT","_id":"agent-device@0.21.23","maintainers":[{"name":"thymikee","email":"thymikee@gmail.com"}],"homepage":"https://agent-device.dev/","bugs":{"url":"https://github.com/callstack/agent-device/issues"},"bin":{"agent-device":"bin/agent-device.mjs"},"dist":{"shasum":"5896e89ccf3daf2cfad06d71342b66b978b52287","tarball":"https://registry.npmjs.org/agent-device/-/agent-device-0.21.23.tgz","fileCount":605,"integrity":"sha512-TZAuh3fMFa12Wh+1etcEll7FNvSCg1PjFkkfGz3XIYr9Ap9rJixHq89AnPqpTqnQ5fN2sp1UQgMFr7KcYoyqkA==","signatures":[{"sig":"MEQCIDadkbT8sUDsiadzeWjMz+RnucdFa5ylqdjLKmtPV6sIAiAxBSNp5SwWJqBytoc9LesyW1PcmWFmWs5oDrea0xCJuA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIQDalh2WcF9UQK5YRSCJ/bP6gvhKwRJ5qgzUl4avuaNXPAIgZoaK7jCHRScTzEQtmgTenkEEYrv6mGrM6dY2rznmiPo=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":5117486},"main":"dist/src/index.js","type":"module","types":"dist/src/index.d.ts","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"}},"gitHead":"b8219f54ddfd2acf08a2f56a5dbcce917cc16d0c","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","version":"node scripts/release-workspace.mjs sync --stage && pnpm sync:mcp-metadata && git add server.json","depgraph":"node --experimental-strip-types scripts/depgraph/build.ts","test:unit":"vitest run --project unit-core --project fuzz-worker","typecheck":"tsc -b packages/xml packages/kernel packages/contracts packages/device-selection packages/host-kit packages/capture-kit packages/managed-allocation packages/provision-kit packages/platform-apple packages/platform-android packages/platform-harmonyos packages/platform-vega packages/platform-linux packages/platform-web packages/ad-script packages/selectors packages/command-registry packages/session-journal packages/ad-replay packages/maestro packages/replay-port packages/replay-test packages/provider-webdriver packages/provider-limrun packages/proxy && tsc -p tsconfig.json && tsc -p 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","postpublish":"node scripts/release-workspace.mjs publish","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 build:xcuitest:ios && pnpm build:xcuitest:macos && pnpm build:xcuitest:tvos && pnpm build:xcuitest:visionos && 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 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/affected.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","bench:png-crop":"node --experimental-strip-types scripts/png-crop-benchmark/run.ts","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":"node scripts/release-mark-dev.mjs --check-release-version","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: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","release:publish":"node scripts/release-mark-dev.mjs --check-release-version && pnpm release:prepare && node scripts/release-workspace.mjs publish","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","release:mark-dev":"node scripts/release-mark-dev.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: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: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","bench:ios-ax-bridge:targeted":"node --experimental-strip-types scripts/ios-ax-bridge-spike/targeted-run.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/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":"thymikee","email":"thymikee@gmail.com"},"repository":{"url":"git+https://github.com/callstack/agent-device.git","type":"git"},"_npmVersion":"11.19.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":{},"_nodeVersion":"26.8.1","_hasShrinkwrap":false,"packageManager":"pnpm@11.17.0","devDependencies":{"ai":"^7.0.68","vite":"^8.2.1","yaml":"^2.9.0","oxfmt":"^0.64.0","pngjs":"^7.0.0","yauzl":"^3.4.0","fallow":"^2.104.0","oxlint":"^1.79.0","tsdown":"^0.22.14","undici":"7.29.0","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.59.0","@types/node":"^22.20.1","@types/pngjs":"^6.0.5","@types/yauzl":"^3.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/maestro":"workspace:*","@arethetypeswrong/cli":"^0.18.5","@stryker-mutator/core":"10.0.0","@agent-device/host-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:*","@agent-device/command-registry":"workspace:*","@agent-device/device-selection":"workspace:*","@agent-device/platform-android":"workspace:*","@stryker-mutator/vitest-runner":"10.0.0","@agent-device/managed-allocation":"workspace:*","@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.23_1791349096094_0.6257593668867343","host":"s3://npm-registry-packages-npm-production"}},"0.21.24":{"name":"agent-device","version":"0.21.24","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"],"author":{"name":"Callstack"},"license":"MIT","_id":"agent-device@0.21.24","maintainers":[{"name":"thymikee","email":"thymikee@gmail.com"}],"homepage":"https://agent-device.dev/","bugs":{"url":"https://github.com/callstack/agent-device/issues"},"bin":{"agent-device":"bin/agent-device.mjs"},"dist":{"shasum":"e72625cc38a4d64cb17b50b80f6db509363bc59e","tarball":"https://registry.npmjs.org/agent-device/-/agent-device-0.21.24.tgz","fileCount":619,"integrity":"sha512-AZ7I+JcH92TRnVbWU37A6v4+8t+15NVS5ADgwUYBAbD+IUZj7yNG8Z2HdO/FNfHWZiMmYL7/zF0j6yZuqAXVDA==","signatures":[{"sig":"MEYCIQCGzSWFoJDIPCFwozwY9XgDlV7QjvjsXvu+h8aQSewgHwIhAMqT/0BYwOLPFTNPVqQFgahJx7zLV4pUbBwY9aijQQJY","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEQCIAd3d4A1EFyDCFy3uFdnPb8qiVatSTy9Xnm4av5DxRJ/AiAo/mQB4XQdalPX7OLbrsX37gtWlSDN+qJgaHoLIbVOTQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":5135905},"main":"dist/src/index.js","type":"module","types":"dist/src/index.d.ts","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"}},"gitHead":"c0025a8b91accc4832f30121d06b724e1a03a9f3","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","version":"node scripts/release-workspace.mjs sync --stage && pnpm sync:mcp-metadata && git add server.json","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","postpublish":"node scripts/release-workspace.mjs publish","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 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":"node scripts/release-mark-dev.mjs --check-release-version","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: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","release:publish":"node scripts/release-mark-dev.mjs --check-release-version && pnpm release:prepare && node scripts/release-workspace.mjs publish","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","release:mark-dev":"node scripts/release-mark-dev.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: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: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":"thymikee","email":"thymikee@gmail.com"},"repository":{"url":"git+https://github.com/callstack/agent-device.git","type":"git"},"_npmVersion":"11.19.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":{},"_nodeVersion":"26.8.1","_hasShrinkwrap":false,"packageManager":"pnpm@11.17.0","devDependencies":{"ai":"^7.0.68","vite":"^8.2.1","yaml":"^2.9.0","oxfmt":"^0.64.0","pngjs":"^7.0.0","yauzl":"^3.4.0","fallow":"^2.104.0","oxlint":"^1.79.0","tsdown":"^0.22.14","undici":"7.29.0","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.59.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:*","@agent-device/maestro":"workspace:*","@arethetypeswrong/cli":"^0.18.5","@stryker-mutator/core":"10.0.0","@agent-device/host-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:*","@agent-device/command-registry":"workspace:*","@agent-device/device-selection":"workspace:*","@agent-device/platform-android":"workspace:*","@stryker-mutator/vitest-runner":"10.0.0","@agent-device/managed-allocation":"workspace:*","@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.24_1791571492020_0.6166708728674581","host":"s3://npm-registry-packages-npm-production"}},"0.21.25":{"name":"agent-device","version":"0.21.25","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"],"author":{"name":"Callstack"},"license":"MIT","_id":"agent-device@0.21.25","maintainers":[{"name":"thymikee","email":"thymikee@gmail.com"}],"homepage":"https://agent-device.dev/","bugs":{"url":"https://github.com/callstack/agent-device/issues"},"bin":{"agent-device":"bin/agent-device.mjs"},"dist":{"shasum":"d72d5c473218d93d8dfc4a220b9c9f819d9130f4","tarball":"https://registry.npmjs.org/agent-device/-/agent-device-0.21.25.tgz","fileCount":576,"integrity":"sha512-JFmAD5AqM03dVU6BVQW1DQ2Kz+MThmbCYBbDxpGw2lka91LcoXHdrb4IjF9NNg4DEQUu41Pg8WnB/7crM3ig2w==","signatures":[{"sig":"MEYCIQCfI57frSdiZGE2JitgiIzN+VcqfEBYnpTU4RrSbqN3swIhAOHxlfQ7yyng1DmwazT3w/K22Cb2ma4CfRVEAi0bKpGy","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCICrtRnRARvaLFefpYlGapdgEF5qT7bDW+33snCMoH/FPAiEAp8OVvvr0dtfzVtq77IjDHKFGI6fZaXOH06LhNwsBIZE=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/agent-device@0.21.25","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":5170803},"main":"dist/src/index.js","type":"module","_from":"file:/home/runner/work/_temp/npm-packages/agent-device-0.21.25.tgz","types":"dist/src/index.d.ts","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"}},"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 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: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/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"}},"_resolved":"/home/runner/work/_temp/npm-packages/agent-device-0.21.25.tgz","_integrity":"sha512-JFmAD5AqM03dVU6BVQW1DQ2Kz+MThmbCYBbDxpGw2lka91LcoXHdrb4IjF9NNg4DEQUu41Pg8WnB/7crM3ig2w==","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":{},"_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:*","@agent-device/maestro":"workspace:*","@arethetypeswrong/cli":"^0.18.5","@stryker-mutator/core":"10.0.0","@agent-device/host-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:*","@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.25_1791719835771_0.528627420511872","host":"s3://npm-registry-packages-npm-production"}},"0.21.26-nightly.20261011.35":{"name":"agent-device","version":"0.21.26-nightly.20261011.35","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"],"author":{"name":"Callstack"},"license":"MIT","_id":"agent-device@0.21.26-nightly.20261011.35","maintainers":[{"name":"thymikee","email":"thymikee@gmail.com"}],"homepage":"https://agent-device.dev/","bugs":{"url":"https://github.com/callstack/agent-device/issues"},"bin":{"agent-device":"bin/agent-device.mjs"},"dist":{"shasum":"fc2d9447c164a5f7cf250793c24f471bb6109319","tarball":"https://registry.npmjs.org/agent-device/-/agent-device-0.21.26-nightly.20261011.35.tgz","fileCount":576,"integrity":"sha512-YGxJrzOB3pYxAIxT2VBWN504TT0x46ZdwD8iphZVedcVzrMSDcieO7CExz5jac1FUuYeeFBI5RwoKZ9pfsVLxQ==","signatures":[{"sig":"MEQCICehh1qThZ3fXaHJNyfuwGyNtdG68bMfCirAm1N3nZ8LAiBiZ+DvXJ1Q8x8qzU73suE9HRUCFDIWvtC5mP5hWUlpPA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIQDeHhad0/H+a8UBlHikjtfGsDdtyJIPCeyy12CgSEJ5AAIgGPfHFUjLCes85hKWOfbqLON6lwb+9OxHX01hHecCctQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/agent-device@0.21.26-nightly.20261011.35","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":5171083},"main":"dist/src/index.js","type":"module","_from":"file:/home/runner/work/_temp/npm-packages/agent-device-0.21.26-nightly.20261011.35.tgz","types":"dist/src/index.d.ts","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"}},"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 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: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/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"}},"_resolved":"/home/runner/work/_temp/npm-packages/agent-device-0.21.26-nightly.20261011.35.tgz","_integrity":"sha512-YGxJrzOB3pYxAIxT2VBWN504TT0x46ZdwD8iphZVedcVzrMSDcieO7CExz5jac1FUuYeeFBI5RwoKZ9pfsVLxQ==","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":{},"_nodeVersion":"24.13.1","_hasShrinkwrap":false,"packageManager":"pnpm@11.17.0","readmeFilename":"README.md","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:*","@agent-device/maestro":"workspace:*","@arethetypeswrong/cli":"^0.18.5","@stryker-mutator/core":"10.0.0","@agent-device/host-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:*","@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.26-nightly.20261011.35_1791723071700_0.4451227468673489","host":"s3://npm-registry-packages-npm-production"}},"0.21.26-nightly.20261012.41":{"name":"agent-device","version":"0.21.26-nightly.20261012.41","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"],"author":{"name":"Callstack"},"license":"MIT","_id":"agent-device@0.21.26-nightly.20261012.41","maintainers":[{"name":"thymikee","email":"thymikee@gmail.com"}],"homepage":"https://agent-device.dev/","bugs":{"url":"https://github.com/callstack/agent-device/issues"},"bin":{"agent-device":"bin/agent-device.mjs"},"dist":{"shasum":"d4aee530b12a0b8907148ba972b389a03c5b0830","tarball":"https://registry.npmjs.org/agent-device/-/agent-device-0.21.26-nightly.20261012.41.tgz","fileCount":576,"integrity":"sha512-9qGVri8Py4qcmygevWRLJ3TE/fs29+HVz4SB/uptfIhv5UrQALNQnySJk5YrO77nh9svYZj/A/+uqqWv31S4pg==","signatures":[{"sig":"MEQCIAIGMHqcS8hTTYDenVdGJvPzuisA+M4FcJ99E0teyoXKAiAIU3V1LEhWLsyuejzMXwly05ECBHJEW+ghtNKbfM8W6Q==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIHhHRksSzTkwUisbVW2SySPhEp8kd6OsuYw1r8IuZscqAiEA0PYnvsnKWLZ9NTN/8VkQO8XxYNLy8S/vR101hQcqMpg=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/agent-device@0.21.26-nightly.20261012.41","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":5171317},"main":"dist/src/index.js","type":"module","_from":"file:/home/runner/work/_temp/npm-packages/agent-device-0.21.26-nightly.20261012.41.tgz","types":"dist/src/index.d.ts","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"}},"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"}},"_resolved":"/home/runner/work/_temp/npm-packages/agent-device-0.21.26-nightly.20261012.41.tgz","_integrity":"sha512-9qGVri8Py4qcmygevWRLJ3TE/fs29+HVz4SB/uptfIhv5UrQALNQnySJk5YrO77nh9svYZj/A/+uqqWv31S4pg==","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":{},"_nodeVersion":"24.13.1","_hasShrinkwrap":false,"packageManager":"pnpm@11.17.0","readmeFilename":"README.md","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:*","@agent-device/maestro":"workspace:*","@arethetypeswrong/cli":"^0.18.5","@stryker-mutator/core":"10.0.0","@agent-device/host-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:*","@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.26-nightly.20261012.41_1791789510211_0.9486534140101126","host":"s3://npm-registry-packages-npm-production"}},"0.21.26":{"name":"agent-device","version":"0.21.26","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"],"author":{"name":"Callstack"},"license":"MIT","_id":"agent-device@0.21.26","maintainers":[{"name":"thymikee","email":"thymikee@gmail.com"}],"homepage":"https://agent-device.dev/","bugs":{"url":"https://github.com/callstack/agent-device/issues"},"bin":{"agent-device":"bin/agent-device.mjs"},"dist":{"shasum":"040df6ca9e71ceacc508620de7bc3aad751581c3","tarball":"https://registry.npmjs.org/agent-device/-/agent-device-0.21.26.tgz","fileCount":578,"integrity":"sha512-r118m43Xmbs1YRKy7jCNqdOjeF+7/QxfclxObjCj9y2jqSdPEqPXPhLPI6x7wLCnPe0qfntvWgbWXQKOcN3lWA==","signatures":[{"sig":"MEQCIG5a6sBmgNmDwsw5j6RyqflqxL7INhVpfHrlEhj6ULetAiBpYC4lBB+n0sduxlAoIzVQzV0psx/OGhqW3tHNZXhMWA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEYCIQCIXZLBqk8DL2SQ9sS/Lv1XWF8HvLBH+2M9iaT/F6x0LQIhANrmY5WPwyJI07E6kBMPd5FzYPehc6WVUpzePIEUk/jZ","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/agent-device@0.21.26","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":5175540},"main":"dist/src/index.js","type":"module","_from":"file:/home/runner/work/_temp/npm-packages/agent-device-0.21.26.tgz","types":"dist/src/index.d.ts","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"}},"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"}},"_resolved":"/home/runner/work/_temp/npm-packages/agent-device-0.21.26.tgz","_integrity":"sha512-r118m43Xmbs1YRKy7jCNqdOjeF+7/QxfclxObjCj9y2jqSdPEqPXPhLPI6x7wLCnPe0qfntvWgbWXQKOcN3lWA==","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":{},"_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:*","@agent-device/maestro":"workspace:*","@arethetypeswrong/cli":"^0.18.5","@stryker-mutator/core":"10.0.0","@agent-device/host-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:*","@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.26_1791801679292_0.8548063164180397","host":"s3://npm-registry-packages-npm-production"}},"0.21.27":{"name":"agent-device","version":"0.21.27","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"],"author":{"name":"Callstack"},"license":"MIT","_id":"agent-device@0.21.27","maintainers":[{"name":"thymikee","email":"thymikee@gmail.com"}],"homepage":"https://agent-device.dev/","bugs":{"url":"https://github.com/callstack/agent-device/issues"},"bin":{"agent-device":"bin/agent-device.mjs"},"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","type":"module","_from":"file:/home/runner/work/_temp/npm-packages/agent-device-0.21.27.tgz","types":"dist/src/index.d.ts","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"}},"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"}},"_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":{},"_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"}},"0.21.28-nightly.20261013.49":{"name":"agent-device","version":"0.21.28-nightly.20261013.49","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"],"author":{"name":"Callstack"},"license":"MIT","_id":"agent-device@0.21.28-nightly.20261013.49","maintainers":[{"name":"thymikee","email":"thymikee@gmail.com"}],"homepage":"https://agent-device.dev/","bugs":{"url":"https://github.com/callstack/agent-device/issues"},"bin":{"agent-device":"bin/agent-device.mjs"},"dist":{"shasum":"099628e1099df8bf433c3349479db5054f99ffcd","tarball":"https://registry.npmjs.org/agent-device/-/agent-device-0.21.28-nightly.20261013.49.tgz","fileCount":578,"integrity":"sha512-y+dC0YgsjDJvN5P9oaxzsxRJmLuR8DXPjdF/ATNj5nbzltucdEYpPRnTEoBT5HFT5TN+dU8/RtuCaE1taXUhWw==","signatures":[{"sig":"MEQCIDJZx1sYQ+AAUpufPkbp44lyYMcDWfd5sSK/fHB942u3AiB35tr4vDg+y6+i5MSmuciC02Tb4e3eGEBibUlZjQAAAg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEYCIQCNnuh02kI24AOMerZwaGYDIxHWAPqCe1CWwXJ1DabwmgIhANhJmpfSvIqcfzaZUTPJGxWaPlFlVEdoy+X636hxRnTz","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/agent-device@0.21.28-nightly.20261013.49","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":5177187},"main":"dist/src/index.js","type":"module","_from":"file:/home/runner/work/_temp/npm-packages/agent-device-0.21.28-nightly.20261013.49.tgz","types":"dist/src/index.d.ts","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"}},"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"}},"_resolved":"/home/runner/work/_temp/npm-packages/agent-device-0.21.28-nightly.20261013.49.tgz","_integrity":"sha512-y+dC0YgsjDJvN5P9oaxzsxRJmLuR8DXPjdF/ATNj5nbzltucdEYpPRnTEoBT5HFT5TN+dU8/RtuCaE1taXUhWw==","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":{},"_nodeVersion":"24.13.1","_hasShrinkwrap":false,"packageManager":"pnpm@11.17.0","readmeFilename":"README.md","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.28-nightly.20261013.49_1791855225600_0.8124930694430419","host":"s3://npm-registry-packages-npm-production"}},"0.21.28-nightly.20261014.57":{"name":"agent-device","version":"0.21.28-nightly.20261014.57","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"],"author":{"name":"Callstack"},"license":"MIT","_id":"agent-device@0.21.28-nightly.20261014.57","maintainers":[{"name":"thymikee","email":"thymikee@gmail.com"}],"homepage":"https://agent-device.dev/","bugs":{"url":"https://github.com/callstack/agent-device/issues"},"bin":{"agent-device":"bin/agent-device.mjs"},"dist":{"shasum":"69b01da3d2263cccb3d7b4741444c7e1974f579c","tarball":"https://registry.npmjs.org/agent-device/-/agent-device-0.21.28-nightly.20261014.57.tgz","fileCount":579,"integrity":"sha512-q/hlsAYm3MA27XqDNagDIwhcfAzlqgYH/4K3XC/yE5O9Iis1oOPvLgt2nPsWWkuBnVPMAu4LGTJr+eM4QKAb5g==","signatures":[{"sig":"MEYCIQCgEEx7pXpgvAVjrHmOzZV4Y0xE4bwm2Q6wScJF+x5ofwIhANm8DtLnU/w9fAKgG/YVy2zYNLBVz25L25WlBxZAha8/","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIGm0vdeusuz4xVzRsY/Bcap5CyLnuXlbqnISRs/XPpr+AiEAsf+hmccWkDKfCghe1Ga66DNFckiQgAu9Sotv+zp5Cag=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/agent-device@0.21.28-nightly.20261014.57","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":5202891},"main":"dist/src/index.js","type":"module","_from":"file:/home/runner/work/_temp/npm-packages/agent-device-0.21.28-nightly.20261014.57.tgz","types":"dist/src/index.d.ts","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"}},"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 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/lib/repo-git.test.ts scripts/lib/repo-path.test.ts 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"}},"_resolved":"/home/runner/work/_temp/npm-packages/agent-device-0.21.28-nightly.20261014.57.tgz","_integrity":"sha512-q/hlsAYm3MA27XqDNagDIwhcfAzlqgYH/4K3XC/yE5O9Iis1oOPvLgt2nPsWWkuBnVPMAu4LGTJr+eM4QKAb5g==","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":{},"_nodeVersion":"24.13.1","_hasShrinkwrap":false,"packageManager":"pnpm@11.17.0","readmeFilename":"README.md","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":"5.0.4","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":"5.0.4","@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.28-nightly.20261014.57_1791940222456_0.7498230631089762","host":"s3://npm-registry-packages-npm-production"}},"0.21.28-nightly.20261015.70":{"name":"agent-device","version":"0.21.28-nightly.20261015.70","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"],"author":{"name":"Callstack"},"license":"MIT","_id":"agent-device@0.21.28-nightly.20261015.70","maintainers":[{"name":"thymikee","email":"thymikee@gmail.com"}],"homepage":"https://agent-device.dev/","bugs":{"url":"https://github.com/callstack/agent-device/issues"},"bin":{"agent-device":"bin/agent-device.mjs"},"dist":{"shasum":"95bdf0ead387b3c68ff5dc383c6b0c5a08d2ecb6","tarball":"https://registry.npmjs.org/agent-device/-/agent-device-0.21.28-nightly.20261015.70.tgz","fileCount":589,"integrity":"sha512-5aR2AXbRsw36ifLPfOTwa8+BHyrsFWnMbWtfC+kBcxKIZycrqaKrYyNzdAvtauEgrrNgnJ6qDE+u3+bfGURUrA==","signatures":[{"sig":"MEUCIE85fVWO8fD+eA6Xpr+x+ODORVYXPRTEHWBlYFFhjEZPAiEAmlX6t0aGWl2l0MPY6azkFEI9XQzZYe5FPCRYn6WCQmo=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIEKJ5yZEbyE4dY3aOmuaBnhTDTEfij6rPFcCAoV7qfBxAiEAt51xt4d66t8In24UedBhOxLj5+k5v5/I59FRbKFG9vs=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/agent-device@0.21.28-nightly.20261015.70","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":5245344},"main":"dist/src/index.js","type":"module","_from":"file:/home/runner/work/_temp/npm-packages/agent-device-0.21.28-nightly.20261015.70.tgz","types":"dist/src/index.d.ts","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"}},"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 --allowOnly=false --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 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 --allowOnly=false --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 scripts/coverage-crap/stamp.test.ts scripts/vitest-coverage-run-stamp-reporter.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/lib/repo-git.test.ts scripts/lib/repo-path.test.ts 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"}},"_resolved":"/home/runner/work/_temp/npm-packages/agent-device-0.21.28-nightly.20261015.70.tgz","_integrity":"sha512-5aR2AXbRsw36ifLPfOTwa8+BHyrsFWnMbWtfC+kBcxKIZycrqaKrYyNzdAvtauEgrrNgnJ6qDE+u3+bfGURUrA==","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":{},"_nodeVersion":"24.13.1","_hasShrinkwrap":false,"packageManager":"pnpm@11.17.0","readmeFilename":"README.md","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":"5.0.4","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":"5.0.4","@agent-device/daemon":"workspace:*","@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.28-nightly.20261015.70_1792026451220_0.31315506313541963","host":"s3://npm-registry-packages-npm-production"}},"0.21.28":{"name":"agent-device","version":"0.21.28","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"],"author":{"name":"Callstack"},"license":"MIT","_id":"agent-device@0.21.28","maintainers":[{"name":"thymikee","email":"thymikee@gmail.com"}],"homepage":"https://agent-device.dev/","bugs":{"url":"https://github.com/callstack/agent-device/issues"},"bin":{"agent-device":"bin/agent-device.mjs"},"dist":{"shasum":"f0fccc6c4d5cd01ecc2048e48f9c301746f4030e","tarball":"https://registry.npmjs.org/agent-device/-/agent-device-0.21.28.tgz","fileCount":589,"integrity":"sha512-uGEENVhPzSpIACrVlt16O1mloODWJyAemTCT0boDb4L006JXN2rG747u1TRoQJudOpdP/Pm2urxNRHeECLMLfg==","signatures":[{"sig":"MEUCIDYiW+sV76MDqmlfCkKU5DhoK7tkvPQs0433wzFnIWR9AiEA8svNgebTD1i2I+6Ffpi/90HGQzj24/Fe3ULm6/4mh0o=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIQCeKGKq8SJMw5zGQ5A0X3L3uxrEmpg8fXtdQ9LefMwTPwIgLLYl1yWgZBMgWpWezTDrhXzKg/vR0lX1x4lrdBUanfo=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/agent-device@0.21.28","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":5245064},"main":"dist/src/index.js","type":"module","_from":"file:/home/runner/work/_temp/npm-packages/agent-device-0.21.28.tgz","types":"dist/src/index.d.ts","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"}},"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 --allowOnly=false --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 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 --allowOnly=false --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 scripts/coverage-crap/stamp.test.ts scripts/vitest-coverage-run-stamp-reporter.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/lib/repo-git.test.ts scripts/lib/repo-path.test.ts 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"}},"_resolved":"/home/runner/work/_temp/npm-packages/agent-device-0.21.28.tgz","_integrity":"sha512-uGEENVhPzSpIACrVlt16O1mloODWJyAemTCT0boDb4L006JXN2rG747u1TRoQJudOpdP/Pm2urxNRHeECLMLfg==","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":{},"_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":"5.0.4","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":"5.0.4","@agent-device/daemon":"workspace:*","@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.28_1792052358573_0.7915875096894314","host":"s3://npm-registry-packages-npm-production"}},"0.21.29-nightly.20261016.72":{"name":"agent-device","version":"0.21.29-nightly.20261016.72","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"],"author":{"name":"Callstack"},"license":"MIT","_id":"agent-device@0.21.29-nightly.20261016.72","maintainers":[{"name":"thymikee","email":"thymikee@gmail.com"}],"homepage":"https://agent-device.dev/","bugs":{"url":"https://github.com/callstack/agent-device/issues"},"bin":{"agent-device":"bin/agent-device.mjs"},"dist":{"shasum":"b211405933d7f2897c13e83fcad4a6fba95b6e14","tarball":"https://registry.npmjs.org/agent-device/-/agent-device-0.21.29-nightly.20261016.72.tgz","fileCount":595,"integrity":"sha512-NL4h6GzPY4MsMANb53BQQw/SQeslpmcOoA/nolmeLc4qzR+96p1VOQbcWPtJkdkYCuJ31aq5Gtr/rG72qo/x3g==","signatures":[{"sig":"MEUCIQD6b3a1IkOhLy7MTfXVA7ltMUv7y+6Xw1lqhZkRQhWCoQIgY8AqPlBY15BKAxNNR67ZSQgSt2w6f7Ls/ELNyvMFbHE=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEQCIA+R5smBzjPA74g7rXZKzQZCDeP8k3v4wh5fgX0jMRoOAiAhy31jiA2B7HA2efb8oatpDXY9KtXc77xfwOB9TPJ3vw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/agent-device@0.21.29-nightly.20261016.72","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":5241489},"main":"dist/src/index.js","type":"module","_from":"file:/home/runner/work/_temp/npm-packages/agent-device-0.21.29-nightly.20261016.72.tgz","types":"dist/src/index.d.ts","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"}},"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.typecheck.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 --allowOnly=false --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":"fr","explain:command":"node --experimental-strip-types scripts/explain-command.ts","fallow:baseline":"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 --allowOnly=false --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 test/repo-guards/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 scripts/coverage-crap/stamp.test.ts scripts/vitest-coverage-run-stamp-reporter.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/lib/repo-git.test.ts scripts/lib/repo-path.test.ts 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"}},"_resolved":"/home/runner/work/_temp/npm-packages/agent-device-0.21.29-nightly.20261016.72.tgz","_integrity":"sha512-NL4h6GzPY4MsMANb53BQQw/SQeslpmcOoA/nolmeLc4qzR+96p1VOQbcWPtJkdkYCuJ31aq5Gtr/rG72qo/x3g==","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":{},"_nodeVersion":"24.13.1","_hasShrinkwrap":false,"packageManager":"pnpm@11.17.0","readmeFilename":"README.md","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":"5.0.4","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.64.1","@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":"5.0.4","@agent-device/daemon":"workspace:*","@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.29-nightly.20261016.72_1792115318330_0.0930355378326766","host":"s3://npm-registry-packages-npm-production"}},"0.21.29-nightly.20261017.73":{"name":"agent-device","version":"0.21.29-nightly.20261017.73","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"],"author":{"name":"Callstack"},"license":"MIT","_id":"agent-device@0.21.29-nightly.20261017.73","maintainers":[{"name":"thymikee","email":"thymikee@gmail.com"}],"homepage":"https://agent-device.dev/","bugs":{"url":"https://github.com/callstack/agent-device/issues"},"bin":{"agent-device":"bin/agent-device.mjs"},"dist":{"shasum":"5d38a49280181eca87a68dc8820d39e7ff937c8f","tarball":"https://registry.npmjs.org/agent-device/-/agent-device-0.21.29-nightly.20261017.73.tgz","fileCount":610,"integrity":"sha512-HVWLSuu3fcDMrbdNOCHL7ZLOJDoP7aa/woTHPzAlLCP7Ln7snPgqM2yaAt17kG5a+uK4XwGN32rAqFLdWsvqrA==","signatures":[{"sig":"MEUCIQCPQBI5TQeF+wXnP7SzDaHzYVJBUj6Q4sqSfaEtAav0zQIgJuMSdC1iSXzTundFmgjFLWcaPtujyn/bSkqatLPFIxc=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEQCIFdXC42hdEBiayYd1wFttUUr8zDE7bwwevXfSAMLeQzhAiAUPjl81fpDOOzz2/cxpGO3EInCsAwTtVV7wao9mUqjdw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/agent-device@0.21.29-nightly.20261017.73","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":5322030},"main":"dist/src/index.js","type":"module","_from":"file:/home/runner/work/_temp/npm-packages/agent-device-0.21.29-nightly.20261017.73.tgz","types":"dist/src/index.d.ts","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"}},"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":"node --experimental-strip-types scripts/check-affected/run.ts --run --full","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.typecheck.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 --allowOnly=false --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":"fr","explain:command":"node --experimental-strip-types scripts/explain-command.ts","fallow:baseline":"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 --allowOnly=false --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 test/repo-guards/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/*.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 scripts/coverage-crap/stamp.test.ts scripts/vitest-coverage-run-stamp-reporter.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/lib/repo-git.test.ts scripts/lib/repo-path.test.ts 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"}},"_resolved":"/home/runner/work/_temp/npm-packages/agent-device-0.21.29-nightly.20261017.73.tgz","_integrity":"sha512-HVWLSuu3fcDMrbdNOCHL7ZLOJDoP7aa/woTHPzAlLCP7Ln7snPgqM2yaAt17kG5a+uK4XwGN32rAqFLdWsvqrA==","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":{},"_nodeVersion":"24.13.1","_hasShrinkwrap":false,"packageManager":"pnpm@11.17.0","readmeFilename":"README.md","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":"5.0.4","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.64.1","@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":"5.0.4","@agent-device/daemon":"workspace:*","@agent-device/kernel":"workspace:*","@agent-device/remote":"workspace:*","@agent-device/testmu":"workspace:*","@stryker-mutator/api":"10.0.0","@agent-device/maestro":"workspace:*","@agent-device/plugins":"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/react-native":"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.29-nightly.20261017.73_1792202079216_0.5193338117798822","host":"s3://npm-registry-packages-npm-production"}},"0.21.29-nightly.20261018.74":{"name":"agent-device","version":"0.21.29-nightly.20261018.74","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"],"author":{"name":"Callstack"},"license":"MIT","_id":"agent-device@0.21.29-nightly.20261018.74","maintainers":[{"name":"thymikee","email":"thymikee@gmail.com"}],"homepage":"https://agent-device.dev/","bugs":{"url":"https://github.com/callstack/agent-device/issues"},"bin":{"agent-device":"bin/agent-device.mjs"},"dist":{"shasum":"a6c62f3fa20d1f11c8cc12288cc3562ff884ea7d","tarball":"https://registry.npmjs.org/agent-device/-/agent-device-0.21.29-nightly.20261018.74.tgz","fileCount":622,"integrity":"sha512-7+ajWLr0J+8iLZ9q11ERbj6U14mC20umBK5BQQdw5aERA79yeXc3Ze6KmtvnILnWjEtoVkYQsXQasL8RL6Uatw==","signatures":[{"sig":"MEUCIEmFZpVoFLWqbtrNkKP1yaBQCC8YBSjsqBMbpS8G+rgeAiEA+z2i5URUj8Gb1lquueel2z3NVaWC4Ew6LT5Aau/gm8g=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIQCM7BfoEj6p5FalBXNCUEK3QWJcC1aDvVsEeAe5Sbaa2gIgfYBkMxnkfbAuN5NMzVnMmMMroV+TA9KN0t9sUSF6uTU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/agent-device@0.21.29-nightly.20261018.74","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":5376700},"main":"dist/src/index.js","type":"module","_from":"file:/home/runner/work/_temp/npm-packages/agent-device-0.21.29-nightly.20261018.74.tgz","types":"dist/src/index.d.ts","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"}},"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":"node --experimental-strip-types scripts/check-affected/run.ts --run --full","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.typecheck.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 --allowOnly=false --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":"fr","explain:command":"node --experimental-strip-types scripts/explain-command.ts","fallow:baseline":"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 --allowOnly=false --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 test/repo-guards/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/*.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 scripts/coverage-crap/stamp.test.ts scripts/vitest-coverage-run-stamp-reporter.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 packages/daemon/test/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/lib/repo-git.test.ts scripts/lib/repo-path.test.ts 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"}},"_resolved":"/home/runner/work/_temp/npm-packages/agent-device-0.21.29-nightly.20261018.74.tgz","_integrity":"sha512-7+ajWLr0J+8iLZ9q11ERbj6U14mC20umBK5BQQdw5aERA79yeXc3Ze6KmtvnILnWjEtoVkYQsXQasL8RL6Uatw==","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":{},"_nodeVersion":"24.13.1","_hasShrinkwrap":false,"packageManager":"pnpm@11.17.0","readmeFilename":"README.md","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":"5.0.4","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.64.1","@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":"5.0.4","@agent-device/daemon":"workspace:*","@agent-device/kernel":"workspace:*","@agent-device/remote":"workspace:*","@agent-device/testmu":"workspace:*","@stryker-mutator/api":"10.0.0","@agent-device/maestro":"workspace:*","@agent-device/plugins":"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/react-native":"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.29-nightly.20261018.74_1792288210422_0.031919825470149155","host":"s3://npm-registry-packages-npm-production"}},"0.21.29-nightly.20261019.75":{"name":"agent-device","version":"0.21.29-nightly.20261019.75","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"],"author":{"name":"Callstack"},"license":"MIT","_id":"agent-device@0.21.29-nightly.20261019.75","maintainers":[{"name":"thymikee","email":"thymikee@gmail.com"}],"homepage":"https://agent-device.dev/","bugs":{"url":"https://github.com/callstack/agent-device/issues"},"bin":{"agent-device":"bin/agent-device.mjs"},"dist":{"shasum":"7bb82960d0ca10ccdedb75dc4fa54ac4a9a988a6","tarball":"https://registry.npmjs.org/agent-device/-/agent-device-0.21.29-nightly.20261019.75.tgz","fileCount":628,"integrity":"sha512-AWlOZsIfhZObkPLuQ65x+dY0ake5r7oOKZjl0O27qpG3FzMwRQIWGpB1QilyPPHaLqMPw9fZRcvPxBguABHzHg==","signatures":[{"sig":"MEUCIQC7QbkVz0nOjKjODp6HyG8rCt+Ai5E8keNKpcJwtgfd2wIgVo8h5FKWRmVB2Y0+gq38F1CX/RHru4tE4ON5xRUfCAQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEYCIQCiwSWOvTYVl3M//468y8sO9Ut9OVCLEKA6jgipDjoPSgIhAI56vR7muUm4b6YD449utT/xncrdEq5hMwhY+7VWmWx0","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/agent-device@0.21.29-nightly.20261019.75","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":5408951},"main":"dist/src/index.js","type":"module","_from":"file:/home/runner/work/_temp/npm-packages/agent-device-0.21.29-nightly.20261019.75.tgz","types":"dist/src/index.d.ts","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"}},"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":"node --experimental-strip-types scripts/check-affected/run.ts --run --full","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.typecheck.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 --allowOnly=false --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":"fr","explain:command":"node --experimental-strip-types scripts/explain-command.ts","fallow:baseline":"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 --allowOnly=false --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 test/repo-guards/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/*.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 scripts/coverage-crap/stamp.test.ts scripts/vitest-coverage-run-stamp-reporter.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 packages/daemon/test/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/lib/repo-git.test.ts scripts/lib/repo-path.test.ts 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"}},"_resolved":"/home/runner/work/_temp/npm-packages/agent-device-0.21.29-nightly.20261019.75.tgz","_integrity":"sha512-AWlOZsIfhZObkPLuQ65x+dY0ake5r7oOKZjl0O27qpG3FzMwRQIWGpB1QilyPPHaLqMPw9fZRcvPxBguABHzHg==","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":{},"_nodeVersion":"24.13.1","_hasShrinkwrap":false,"packageManager":"pnpm@11.17.0","readmeFilename":"README.md","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.34.0","oxlint":"^1.79.0","tsdown":"^0.22.14","undici":"7.29.1","vitest":"5.0.4","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.64.1","@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":"5.0.4","@agent-device/daemon":"workspace:*","@agent-device/kernel":"workspace:*","@agent-device/remote":"workspace:*","@agent-device/testmu":"workspace:*","@stryker-mutator/api":"10.0.0","@agent-device/maestro":"workspace:*","@agent-device/plugins":"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/react-native":"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.29-nightly.20261019.75_1792374821082_0.09582845062566459","host":"s3://npm-registry-packages-npm-production"}},"0.21.29-nightly.20261020.76":{"name":"agent-device","version":"0.21.29-nightly.20261020.76","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"],"author":{"name":"Callstack"},"license":"MIT","_id":"agent-device@0.21.29-nightly.20261020.76","maintainers":[{"name":"thymikee","email":"thymikee@gmail.com"}],"homepage":"https://agent-device.dev/","bugs":{"url":"https://github.com/callstack/agent-device/issues"},"bin":{"agent-device":"bin/agent-device.mjs"},"dist":{"shasum":"cc84417afe4d9cd35ea84cdc44c63b77418b6a84","tarball":"https://registry.npmjs.org/agent-device/-/agent-device-0.21.29-nightly.20261020.76.tgz","fileCount":635,"integrity":"sha512-g0j6h0h1KO0pseEYq8RDmRoKvBgRR5alXIgK8Yepc8u/y7hF8TXAcC+RXzr3VZcVjrtwStjPY6u8A8lhCMBobA==","signatures":[{"sig":"MEQCIGYBpZ0mR3ZojK+f71urHjgvnr9pU3PDQU0OdgJOE/30AiB260qGSIuMeRZkgmtyyuveIz4N/2CaCW3g88bOy87gEA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCICJMnrNPWPs6F5cuN806vg81cfPsu/68letdPQ3JmK1vAiEA6AVeHbjUG2uzow7RYGXxWWbZNt3IB4PL+Nq+ePmYaOg=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/agent-device@0.21.29-nightly.20261020.76","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":5449283},"main":"dist/src/index.js","type":"module","_from":"file:/home/runner/work/_temp/npm-packages/agent-device-0.21.29-nightly.20261020.76.tgz","types":"dist/src/index.d.ts","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"}},"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":"node --experimental-strip-types scripts/check-affected/run.ts --run --full","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.typecheck.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 --allowOnly=false --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":"fr","explain:command":"node --experimental-strip-types scripts/explain-command.ts","fallow:baseline":"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 --allowOnly=false --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 test/repo-guards/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/*.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","bench:android:automation":"node scripts/bench-android-automation.mjs","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 scripts/coverage-crap/stamp.test.ts scripts/vitest-coverage-run-stamp-reporter.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 packages/daemon/test/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/lib/repo-git.test.ts scripts/lib/repo-path.test.ts 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"}},"_resolved":"/home/runner/work/_temp/npm-packages/agent-device-0.21.29-nightly.20261020.76.tgz","_integrity":"sha512-g0j6h0h1KO0pseEYq8RDmRoKvBgRR5alXIgK8Yepc8u/y7hF8TXAcC+RXzr3VZcVjrtwStjPY6u8A8lhCMBobA==","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":{},"_nodeVersion":"24.13.1","_hasShrinkwrap":false,"packageManager":"pnpm@11.17.0","readmeFilename":"README.md","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.34.0","oxlint":"^1.79.0","tsdown":"^0.22.14","undici":"7.29.1","vitest":"5.0.4","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.64.1","@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":"5.0.4","@agent-device/daemon":"workspace:*","@agent-device/kernel":"workspace:*","@agent-device/remote":"workspace:*","@agent-device/testmu":"workspace:*","@stryker-mutator/api":"10.0.0","@agent-device/maestro":"workspace:*","@agent-device/plugins":"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/react-native":"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.29-nightly.20261020.76_1792460947533_0.5208389253783532","host":"s3://npm-registry-packages-npm-production"}},"0.21.29":{"name":"agent-device","version":"0.21.29","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"],"author":{"name":"Callstack"},"license":"MIT","_id":"agent-device@0.21.29","maintainers":[{"name":"thymikee","email":"thymikee@gmail.com"}],"homepage":"https://agent-device.dev/","bugs":{"url":"https://github.com/callstack/agent-device/issues"},"bin":{"agent-device":"bin/agent-device.mjs"},"dist":{"shasum":"b9fcab9e1061b0d87fe7dfb216c2a70a6545783d","tarball":"https://registry.npmjs.org/agent-device/-/agent-device-0.21.29.tgz","fileCount":648,"integrity":"sha512-wd9xWriaq6syAxgxH7zUO5MvbnQS1AVWpypLuWqarIM4+O07YVDieK4uZSmsKm2cZlI8oXvW2AAKhLKn48gcdQ==","signatures":[{"sig":"MEUCIHQxt+pCeh7bAvnWKK671Q3EfBhSnIwCYU2y3scAeaSqAiEA3267ftqzBGYgyPWmu4bCMGCUEeRA7RofDOADFqaZXyY=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIH+3xdXww0lPQdOp8ALlbb6z1q3I1ltVgCCMD0B14mHPAiEA6mL0qBYxdr+MNGFahVOert8x9Z2WILDIipwA76JOfLI=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/agent-device@0.21.29","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":5468077},"main":"dist/src/index.js","type":"module","_from":"file:/home/runner/work/_temp/npm-packages/agent-device-0.21.29.tgz","types":"dist/src/index.d.ts","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"}},"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":"node --experimental-strip-types scripts/check-affected/run.ts --run --full","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.typecheck.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 --allowOnly=false --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":"fr","explain:command":"node --experimental-strip-types scripts/explain-command.ts","fallow:baseline":"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 --allowOnly=false --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 test/repo-guards/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/*.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","bench:android:automation":"node scripts/bench-android-automation.mjs","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 scripts/coverage-crap/stamp.test.ts scripts/vitest-coverage-run-stamp-reporter.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 packages/daemon/test/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/lib/repo-git.test.ts scripts/lib/repo-path.test.ts 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"}},"_resolved":"/home/runner/work/_temp/npm-packages/agent-device-0.21.29.tgz","_integrity":"sha512-wd9xWriaq6syAxgxH7zUO5MvbnQS1AVWpypLuWqarIM4+O07YVDieK4uZSmsKm2cZlI8oXvW2AAKhLKn48gcdQ==","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":{},"_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.34.0","oxlint":"^1.79.0","tsdown":"^0.22.14","undici":"7.29.1","vitest":"5.0.4","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.64.1","@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":"5.0.4","@agent-device/daemon":"workspace:*","@agent-device/kernel":"workspace:*","@agent-device/remote":"workspace:*","@agent-device/testmu":"workspace:*","@stryker-mutator/api":"10.0.0","@agent-device/maestro":"workspace:*","@agent-device/plugins":"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/react-native":"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.29_1792512012206_0.9646435949902372","host":"s3://npm-registry-packages-npm-production"}},"0.21.30-nightly.20261021.78":{"name":"agent-device","version":"0.21.30-nightly.20261021.78","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"],"author":{"name":"Callstack"},"license":"MIT","_id":"agent-device@0.21.30-nightly.20261021.78","maintainers":[{"name":"thymikee","email":"thymikee@gmail.com"}],"homepage":"https://agent-device.dev/","bugs":{"url":"https://github.com/callstack/agent-device/issues"},"bin":{"agent-device":"bin/agent-device.mjs"},"dist":{"shasum":"307232a7b7f203e907d6dd91833ac9c38aa6cc06","tarball":"https://registry.npmjs.org/agent-device/-/agent-device-0.21.30-nightly.20261021.78.tgz","fileCount":648,"integrity":"sha512-+vdjZmfrf4H28Q9Cu90xcbxYZHr9F5px5saucUfcbJkMc5CV0h8S0dT28S6993FTPp2i4Tbgu2RGTgJzj2cR7w==","signatures":[{"sig":"MEUCIEqG+5WUcqF5iMGu1IRsvLywYr+GpXgAw702F5SK3xF6AiEAyRDpurSQcoV4hFdP8+dVZwpVYy2NQ+QWnGGt5EQssX4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEYCIQDURNWodqBCHUfFE99EiuUR3LruSeLxxyCtFSHwE4aoggIhANkcv7oFEXgbHNzLIK0fmoZzllwHI9K5v5tti3Wmie2+","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/agent-device@0.21.30-nightly.20261021.78","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":5483657},"main":"dist/src/index.js","type":"module","_from":"file:/home/runner/work/_temp/npm-packages/agent-device-0.21.30-nightly.20261021.78.tgz","types":"dist/src/index.d.ts","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"}},"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":"node --experimental-strip-types scripts/check-affected/run.ts --run --full","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.typecheck.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 --allowOnly=false --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":"fr","explain:command":"node --experimental-strip-types scripts/explain-command.ts","fallow:baseline":"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 --allowOnly=false --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 test/repo-guards/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/*.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","bench:android:automation":"node scripts/bench-android-automation.mjs","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 scripts/coverage-crap/stamp.test.ts scripts/vitest-coverage-run-stamp-reporter.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 packages/daemon/test/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/lib/repo-git.test.ts scripts/lib/repo-path.test.ts 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"}},"_resolved":"/home/runner/work/_temp/npm-packages/agent-device-0.21.30-nightly.20261021.78.tgz","_integrity":"sha512-+vdjZmfrf4H28Q9Cu90xcbxYZHr9F5px5saucUfcbJkMc5CV0h8S0dT28S6993FTPp2i4Tbgu2RGTgJzj2cR7w==","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":{},"_nodeVersion":"24.13.1","_hasShrinkwrap":false,"packageManager":"pnpm@11.17.0","readmeFilename":"README.md","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.34.0","oxlint":"^1.79.0","tsdown":"^0.22.14","undici":"7.29.1","vitest":"5.0.4","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.64.1","@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":"5.0.4","@agent-device/daemon":"workspace:*","@agent-device/kernel":"workspace:*","@agent-device/remote":"workspace:*","@agent-device/testmu":"workspace:*","@stryker-mutator/api":"10.0.0","@agent-device/maestro":"workspace:*","@agent-device/plugins":"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/react-native":"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.30-nightly.20261021.78_1792547292854_0.3257436781046774","host":"s3://npm-registry-packages-npm-production"}},"0.21.30":{"name":"agent-device","version":"0.21.30","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"],"author":{"name":"Callstack"},"license":"MIT","_id":"agent-device@0.21.30","maintainers":[{"name":"thymikee","email":"thymikee@gmail.com"}],"homepage":"https://agent-device.dev/","bugs":{"url":"https://github.com/callstack/agent-device/issues"},"bin":{"agent-device":"bin/agent-device.mjs"},"dist":{"shasum":"bda3d7498b38c4fc47ac2e56111283436b7a0ef0","tarball":"https://registry.npmjs.org/agent-device/-/agent-device-0.21.30.tgz","fileCount":648,"integrity":"sha512-xGGeb90dQzeI6S7w/YQm4FTZ4pa2KUSCetVhFtWyemBeYUcsLegrmbPGo1X/BZcqip0kDmtJ8uF0kD9NwkjFmg==","signatures":[{"sig":"MEUCIQC6IZ6HM4WBZ8ueRyg020YOsl9gqlTHEp/HoBh5yWSDFgIgBPxnEoHFcjyJr6k2We1E7Ask4/QqVSfNDS8Ma9Lt6CE=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIQDIKUoSo7janGg6e0b8acxSkFz/QND3JzzzbWO2HUcfgwIgCr5+ABqxIL7TEs/l3x9qRoYxt8UqElF2KNLFVOEDt1Y=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/agent-device@0.21.30","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":5496060},"main":"dist/src/index.js","type":"module","_from":"file:/home/runner/work/_temp/npm-packages/agent-device-0.21.30.tgz","types":"dist/src/index.d.ts","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"}},"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":"node --experimental-strip-types scripts/check-affected/run.ts --run --full","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.typecheck.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 --allowOnly=false --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":"fr","explain:command":"node --experimental-strip-types scripts/explain-command.ts","fallow:baseline":"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 --allowOnly=false --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 test/repo-guards/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/*.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","bench:android:automation":"node scripts/bench-android-automation.mjs","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 scripts/coverage-crap/stamp.test.ts scripts/vitest-coverage-run-stamp-reporter.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 packages/daemon/test/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/lib/repo-git.test.ts scripts/lib/repo-path.test.ts 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"}},"_resolved":"/home/runner/work/_temp/npm-packages/agent-device-0.21.30.tgz","_integrity":"sha512-xGGeb90dQzeI6S7w/YQm4FTZ4pa2KUSCetVhFtWyemBeYUcsLegrmbPGo1X/BZcqip0kDmtJ8uF0kD9NwkjFmg==","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":{},"_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.34.0","oxlint":"^1.79.0","tsdown":"^0.22.14","undici":"7.29.1","vitest":"5.0.4","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.64.1","@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":"5.0.4","@agent-device/daemon":"workspace:*","@agent-device/kernel":"workspace:*","@agent-device/remote":"workspace:*","@agent-device/testmu":"workspace:*","@stryker-mutator/api":"10.0.0","@agent-device/maestro":"workspace:*","@agent-device/plugins":"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/react-native":"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.30_1792591942406_0.34300664949256254","host":"s3://npm-registry-packages-npm-production"}},"0.21.31-nightly.20261022.80":{"name":"agent-device","version":"0.21.31-nightly.20261022.80","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"],"author":{"name":"Callstack"},"license":"MIT","_id":"agent-device@0.21.31-nightly.20261022.80","maintainers":[{"name":"thymikee","email":"thymikee@gmail.com"}],"homepage":"https://agent-device.dev/","bugs":{"url":"https://github.com/callstack/agent-device/issues"},"bin":{"agent-device":"bin/agent-device.mjs"},"dist":{"shasum":"dda9a85c01043ef9a02ce10ae9fc5b3ef2b4b431","tarball":"https://registry.npmjs.org/agent-device/-/agent-device-0.21.31-nightly.20261022.80.tgz","fileCount":649,"integrity":"sha512-Ap1wYdOynLHMRIPZLU5/ZlDdOH8K+YOe6oS7zdTiBLtCxdNOc8EzLicdXKsw69AYYFfQcNoDBbOprlzpe2sr6A==","signatures":[{"sig":"MEYCIQCfzIQ7jAr6IUeV+dnCx+LnCXs+Bd09MLcegfeAvKc3/wIhALcgN//LiEXff+TOlH7XiWCQDspTGUvyas7rK1KWbgmo","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIDiz4bI3Y9qbVFvk4EQhlNNsF3dukRC1XDXqJ2nrMBKyAiEA3iW6ceaR5VeGKOAthpIuiSRpjU/dB1OmNJSWPt5Rpew=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/agent-device@0.21.31-nightly.20261022.80","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":5521970},"main":"dist/src/index.js","type":"module","_from":"file:/home/runner/work/_temp/npm-packages/agent-device-0.21.31-nightly.20261022.80.tgz","types":"dist/src/index.d.ts","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"}},"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":"node --experimental-strip-types scripts/check-affected/run.ts --run --full","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.typecheck.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 --allowOnly=false --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":"fr","explain:command":"node --experimental-strip-types scripts/explain-command.ts","fallow:baseline":"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 --allowOnly=false --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 test/repo-guards/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/*.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","bench:android:automation":"node scripts/bench-android-automation.mjs","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 scripts/coverage-crap/stamp.test.ts scripts/vitest-coverage-run-stamp-reporter.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 packages/daemon/test/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/lib/repo-git.test.ts scripts/lib/repo-path.test.ts 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"}},"_resolved":"/home/runner/work/_temp/npm-packages/agent-device-0.21.31-nightly.20261022.80.tgz","_integrity":"sha512-Ap1wYdOynLHMRIPZLU5/ZlDdOH8K+YOe6oS7zdTiBLtCxdNOc8EzLicdXKsw69AYYFfQcNoDBbOprlzpe2sr6A==","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":{},"_nodeVersion":"24.13.1","_hasShrinkwrap":false,"packageManager":"pnpm@11.17.0","readmeFilename":"README.md","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.34.0","oxlint":"^1.79.0","tsdown":"^0.22.14","undici":"7.29.1","vitest":"5.0.4","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.64.1","@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":"5.0.4","@agent-device/daemon":"workspace:*","@agent-device/kernel":"workspace:*","@agent-device/remote":"workspace:*","@agent-device/testmu":"workspace:*","@stryker-mutator/api":"10.0.0","@agent-device/maestro":"workspace:*","@agent-device/plugins":"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/react-native":"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.31-nightly.20261022.80_1792633650463_0.5404205169374217","host":"s3://npm-registry-packages-npm-production"}},"0.21.31":{"name":"agent-device","version":"0.21.31","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"],"author":{"name":"Callstack"},"license":"MIT","_id":"agent-device@0.21.31","maintainers":[{"name":"thymikee","email":"thymikee@gmail.com"}],"homepage":"https://agent-device.dev/","bugs":{"url":"https://github.com/callstack/agent-device/issues"},"bin":{"agent-device":"bin/agent-device.mjs"},"dist":{"shasum":"b669306cdc48bd11f3d5c39e4f4ddc3db5c7422a","tarball":"https://registry.npmjs.org/agent-device/-/agent-device-0.21.31.tgz","fileCount":649,"integrity":"sha512-541X/tXHqQS3Xg5PutPSek1nQFLgEJEXFdLPiZ9jTvSb+SMHr/Z4kzVCnBkGza59R+EHO1atLWx0ZAW5vK84IQ==","signatures":[{"sig":"MEUCIQDu9wrEUft6ZG8JAZV/3+rEp961VCLz8vpoL9BVR39s3QIgNU5G3xnuSmKOh3n/GZno8pHsNQrqGCWkC7JjKFOATwU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEYCIQC6AFUv0iUHl6nF4lY7aoMi1qvxaD4STtOc4HgNGH0QbQIhAODvO0rQ/olZJw1x0ILPGteB1xMI+NrUCy7L9KTraXcZ","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/agent-device@0.21.31","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":5553094},"main":"dist/src/index.js","type":"module","_from":"file:/home/runner/work/_temp/npm-packages/agent-device-0.21.31.tgz","types":"dist/src/index.d.ts","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"}},"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":"node --experimental-strip-types scripts/check-affected/run.ts --run --full","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.typecheck.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","perf:compare":"node --experimental-strip-types scripts/perf/compare-cli.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 --allowOnly=false --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 --experimental-strip-types 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":"fr","explain:command":"node --experimental-strip-types scripts/explain-command.ts","fallow:baseline":"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 --allowOnly=false --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 test/repo-guards/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 --experimental-strip-types 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/*.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 --experimental-strip-types 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 --experimental-strip-types 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 --experimental-strip-types 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","bench:android:automation":"node scripts/bench-android-automation.mjs","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 scripts/coverage-crap/stamp.test.ts scripts/vitest-coverage-run-stamp-reporter.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 packages/daemon/test/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/lib/repo-git.test.ts scripts/lib/repo-path.test.ts 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"}},"_resolved":"/home/runner/work/_temp/npm-packages/agent-device-0.21.31.tgz","_integrity":"sha512-541X/tXHqQS3Xg5PutPSek1nQFLgEJEXFdLPiZ9jTvSb+SMHr/Z4kzVCnBkGza59R+EHO1atLWx0ZAW5vK84IQ==","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":{},"_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.34.0","oxlint":"^1.79.0","tsdown":"^0.22.14","undici":"7.29.1","vitest":"5.0.4","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.64.1","@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":"5.0.4","@agent-device/daemon":"workspace:*","@agent-device/kernel":"workspace:*","@agent-device/remote":"workspace:*","@agent-device/testmu":"workspace:*","@stryker-mutator/api":"10.0.0","@agent-device/maestro":"workspace:*","@agent-device/plugins":"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/react-native":"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.31_1792680606965_0.21590084383801522","host":"s3://npm-registry-packages-npm-production"}},"0.21.32-nightly.20261023.83":{"name":"agent-device","version":"0.21.32-nightly.20261023.83","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"],"author":{"name":"Callstack"},"license":"MIT","_id":"agent-device@0.21.32-nightly.20261023.83","maintainers":[{"name":"thymikee","email":"thymikee@gmail.com"}],"homepage":"https://agent-device.dev/","bugs":{"url":"https://github.com/callstack/agent-device/issues"},"bin":{"agent-device":"bin/agent-device.mjs"},"dist":{"shasum":"3fb8a997639dd3b8b32247ed1561627a707f633b","tarball":"https://registry.npmjs.org/agent-device/-/agent-device-0.21.32-nightly.20261023.83.tgz","fileCount":651,"integrity":"sha512-HBkSpx+GPWZSTBOM0+MkuXm571Fb6B6PdyMQYD2nZPe7OPz+9cn5okXtVxSD8FiQPNZyJikrgaqatgxr4zFgxw==","signatures":[{"sig":"MEUCIQCvaCubWYmRWvEShDkotXUFMvLmEKAD+FOzKGLi5YBK9QIgKlIjQDKvB0LmdOaseNu+VCc/ytKxzaW7/og+h8KGjdo=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIQCd4QG18RkSNVWss3rE0Is16ZIC4waFkOiLDKiHVR40hQIgMe0ly2XS7Fd1zzqizRsGftxXRNNdFx5PF4i+lSu+nPk=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/agent-device@0.21.32-nightly.20261023.83","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":5563761},"main":"dist/src/index.js","type":"module","_from":"file:/home/runner/work/_temp/npm-packages/agent-device-0.21.32-nightly.20261023.83.tgz","types":"dist/src/index.d.ts","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"}},"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":"node --experimental-strip-types scripts/check-affected/run.ts --run --full","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.typecheck.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","perf:compare":"node --experimental-strip-types scripts/perf/compare-cli.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 --allowOnly=false --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 --experimental-strip-types 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":"fr","explain:command":"node --experimental-strip-types scripts/explain-command.ts","fallow:baseline":"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 --allowOnly=false --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 test/repo-guards/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 --experimental-strip-types 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/*.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 --experimental-strip-types 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 --experimental-strip-types 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 --experimental-strip-types 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","bench:android:automation":"node scripts/bench-android-automation.mjs","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 scripts/coverage-crap/stamp.test.ts scripts/vitest-coverage-run-stamp-reporter.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 packages/daemon/test/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/lib/repo-git.test.ts scripts/lib/repo-path.test.ts 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"}},"_resolved":"/home/runner/work/_temp/npm-packages/agent-device-0.21.32-nightly.20261023.83.tgz","_integrity":"sha512-HBkSpx+GPWZSTBOM0+MkuXm571Fb6B6PdyMQYD2nZPe7OPz+9cn5okXtVxSD8FiQPNZyJikrgaqatgxr4zFgxw==","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":{},"_nodeVersion":"24.13.1","_hasShrinkwrap":false,"packageManager":"pnpm@11.17.0","readmeFilename":"README.md","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.34.0","oxlint":"^1.79.0","tsdown":"^0.22.14","undici":"7.29.1","vitest":"5.0.4","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.64.1","@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":"5.0.4","@agent-device/daemon":"workspace:*","@agent-device/kernel":"workspace:*","@agent-device/remote":"workspace:*","@agent-device/testmu":"workspace:*","@stryker-mutator/api":"10.0.0","@agent-device/maestro":"workspace:*","@agent-device/plugins":"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/react-native":"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.32-nightly.20261023.83_1792720245247_0.5660098483733553","host":"s3://npm-registry-packages-npm-production"}},"0.21.32-nightly.20261024.84":{"name":"agent-device","version":"0.21.32-nightly.20261024.84","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"],"author":{"name":"Callstack"},"license":"MIT","_id":"agent-device@0.21.32-nightly.20261024.84","maintainers":[{"name":"thymikee","email":"thymikee@gmail.com"}],"homepage":"https://agent-device.dev/","bugs":{"url":"https://github.com/callstack/agent-device/issues"},"bin":{"agent-device":"bin/agent-device.mjs"},"dist":{"shasum":"e89f0a4ff60befc76fd811f8ce4ab5283b03a1da","tarball":"https://registry.npmjs.org/agent-device/-/agent-device-0.21.32-nightly.20261024.84.tgz","fileCount":657,"integrity":"sha512-oXozreGDAn2a48/S8e8IAtAyybVsm9aHKHZpS+yYwkx2Nf3x2b2jMwFUAYzwX6zubdAZz+y7PAnP9ReTL2xVTA==","signatures":[{"sig":"MEQCIG0LS0egj7kxLTjf5ZBV7yz0RZtrYwmURqsTo5sWv/goAiAK4QaxhC74qMinCdqD3+9q2UFcE56zHH5NxYCIMYqiiw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEQCIF9TEqBiXF1g3embNWvAmjsRWp8NHRi34BFfRVftQfU0AiAoeob23kg/g9juo+DopXOwNoUTTgr8cmjkyliIVDhIXg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/agent-device@0.21.32-nightly.20261024.84","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":5575769},"main":"dist/src/index.js","type":"module","_from":"file:/home/runner/work/_temp/npm-packages/agent-device-0.21.32-nightly.20261024.84.tgz","types":"dist/src/index.d.ts","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"}},"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":"node --experimental-strip-types scripts/check-affected/run.ts --run --full","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.typecheck.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","perf:compare":"node --experimental-strip-types scripts/perf/compare-cli.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 --allowOnly=false --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 --experimental-strip-types 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":"fr","explain:command":"node --experimental-strip-types scripts/explain-command.ts","fallow:baseline":"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 --allowOnly=false --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 test/repo-guards/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 --experimental-strip-types 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/*.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 --experimental-strip-types 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 --experimental-strip-types 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 --experimental-strip-types 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","bench:android:automation":"node scripts/bench-android-automation.mjs","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 scripts/coverage-crap/stamp.test.ts scripts/vitest-coverage-run-stamp-reporter.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 packages/daemon/test/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/lib/repo-git.test.ts scripts/lib/repo-path.test.ts 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"}},"_resolved":"/home/runner/work/_temp/npm-packages/agent-device-0.21.32-nightly.20261024.84.tgz","_integrity":"sha512-oXozreGDAn2a48/S8e8IAtAyybVsm9aHKHZpS+yYwkx2Nf3x2b2jMwFUAYzwX6zubdAZz+y7PAnP9ReTL2xVTA==","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":{},"_nodeVersion":"24.13.1","_hasShrinkwrap":false,"packageManager":"pnpm@11.17.0","readmeFilename":"README.md","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.34.0","oxlint":"^1.79.0","tsdown":"^0.22.14","undici":"7.29.1","vitest":"5.0.4","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.64.1","@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":"5.0.4","@agent-device/daemon":"workspace:*","@agent-device/kernel":"workspace:*","@agent-device/remote":"workspace:*","@agent-device/testmu":"workspace:*","@stryker-mutator/api":"10.0.0","@agent-device/maestro":"workspace:*","@agent-device/plugins":"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/react-native":"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.32-nightly.20261024.84_1792806499169_0.4420426971256217","host":"s3://npm-registry-packages-npm-production"}},"0.21.32-nightly.20261025.85":{"name":"agent-device","version":"0.21.32-nightly.20261025.85","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"],"author":{"name":"Callstack"},"license":"MIT","_id":"agent-device@0.21.32-nightly.20261025.85","maintainers":[{"name":"thymikee","email":"thymikee@gmail.com"}],"homepage":"https://agent-device.dev/","bugs":{"url":"https://github.com/callstack/agent-device/issues"},"bin":{"agent-device":"bin/agent-device.mjs"},"dist":{"shasum":"21f87a4229b56af357fb794d963402976e02784e","tarball":"https://registry.npmjs.org/agent-device/-/agent-device-0.21.32-nightly.20261025.85.tgz","fileCount":657,"integrity":"sha512-tuU8vvkOBF3St+nYnqQ6bmBIwhIZ0NRO2cCujMxrnAHJLxJqhIvj4Q65Y1CO/v/WGFvcUaRQlaQk1uVJYrJaTg==","signatures":[{"sig":"MEYCIQCDVI0uJwMO3/oTX0u+kgWfinE5OkB1CWOFm2jOIbCbtwIhALAt6jkaQnSfHmBsVHdHXIf+4D2uIGKWS2H2cfKIRord","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIQCbhpQT9bdN/fMj33d0ZQoazFKGse2n5CnBWu5ucpLfUAIgFxvytipU99ieu9H5y+wAO7vTUT8ixIxrktIMXhJsJ8k=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/agent-device@0.21.32-nightly.20261025.85","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":5577114},"main":"dist/src/index.js","type":"module","_from":"file:/home/runner/work/_temp/npm-packages/agent-device-0.21.32-nightly.20261025.85.tgz","types":"dist/src/index.d.ts","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"}},"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":"node --experimental-strip-types scripts/check-affected/run.ts --run --full","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.typecheck.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","perf:compare":"node --experimental-strip-types scripts/perf/compare-cli.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 --allowOnly=false --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 --experimental-strip-types 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":"fr","explain:command":"node --experimental-strip-types scripts/explain-command.ts","fallow:baseline":"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 --allowOnly=false --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 test/repo-guards/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 --experimental-strip-types 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/*.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 --experimental-strip-types 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 --experimental-strip-types 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 --experimental-strip-types 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","bench:android:automation":"node scripts/bench-android-automation.mjs","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 scripts/coverage-crap/stamp.test.ts scripts/vitest-coverage-run-stamp-reporter.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 packages/daemon/test/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/lib/repo-git.test.ts scripts/lib/repo-path.test.ts 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"}},"_resolved":"/home/runner/work/_temp/npm-packages/agent-device-0.21.32-nightly.20261025.85.tgz","_integrity":"sha512-tuU8vvkOBF3St+nYnqQ6bmBIwhIZ0NRO2cCujMxrnAHJLxJqhIvj4Q65Y1CO/v/WGFvcUaRQlaQk1uVJYrJaTg==","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":{},"_nodeVersion":"24.13.1","_hasShrinkwrap":false,"packageManager":"pnpm@11.17.0","readmeFilename":"README.md","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.34.0","oxlint":"^1.79.0","tsdown":"^0.22.14","undici":"7.29.1","vitest":"5.0.4","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.64.1","@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":"5.0.4","@agent-device/daemon":"workspace:*","@agent-device/kernel":"workspace:*","@agent-device/remote":"workspace:*","@agent-device/testmu":"workspace:*","@stryker-mutator/api":"10.0.0","@agent-device/maestro":"workspace:*","@agent-device/plugins":"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/react-native":"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.32-nightly.20261025.85_1792892889788_0.12514667006781965","host":"s3://npm-registry-packages-npm-production"}},"0.21.32-nightly.20261026.96":{"name":"agent-device","version":"0.21.32-nightly.20261026.96","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"],"author":{"name":"Callstack"},"license":"MIT","_id":"agent-device@0.21.32-nightly.20261026.96","maintainers":[{"name":"thymikee","email":"thymikee@gmail.com"}],"homepage":"https://agent-device.dev/","bugs":{"url":"https://github.com/callstack/agent-device/issues"},"bin":{"agent-device":"bin/agent-device.mjs"},"dist":{"shasum":"12652c629c61c98429b9e707a73765eeaeb8a08c","tarball":"https://registry.npmjs.org/agent-device/-/agent-device-0.21.32-nightly.20261026.96.tgz","fileCount":658,"integrity":"sha512-3M40O5MgzPuSDOsSS5aSASjn6J61xIUFoInAH/LmmdLlAaotLYNKFdSiG2n7pt+TStPUTj+bR1ZSqNfNm3ZeXA==","signatures":[{"sig":"MEYCIQDJilKtA1iE4wnOqEYfOhMY6bpn7mfrug1r2/Hzlhk80QIhAMoWm9aqDQOmph8THn43HRwESNfsSc93USWiU4xHDOJ5","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIQCmYmp4Hh1a5y4Rl9S98/m+oOIIzctMjYS49yf6/dIB1wIgXtDixdMkfnCnqBgfKyy9HiGFuNYBE5UAr5EKTZVU3H4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/agent-device@0.21.32-nightly.20261026.96","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":5582582},"main":"dist/src/index.js","type":"module","_from":"file:/home/runner/work/_temp/npm-packages/agent-device-0.21.32-nightly.20261026.96.tgz","types":"dist/src/index.d.ts","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"}},"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":"node --experimental-strip-types scripts/check-affected/run.ts --run --full","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.typecheck.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","perf:compare":"node --experimental-strip-types scripts/perf/compare-cli.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 --allowOnly=false --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 --experimental-strip-types 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":"fr","explain:command":"node --experimental-strip-types scripts/explain-command.ts","fallow:baseline":"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 --allowOnly=false --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 test/repo-guards/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 --experimental-strip-types 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/*.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 --experimental-strip-types 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 --experimental-strip-types 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 --experimental-strip-types 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","bench:android:automation":"node scripts/bench-android-automation.mjs","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 scripts/coverage-crap/stamp.test.ts scripts/vitest-coverage-run-stamp-reporter.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 packages/daemon/test/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/lib/repo-git.test.ts scripts/lib/repo-path.test.ts 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"}},"_resolved":"/home/runner/work/_temp/npm-packages/agent-device-0.21.32-nightly.20261026.96.tgz","_integrity":"sha512-3M40O5MgzPuSDOsSS5aSASjn6J61xIUFoInAH/LmmdLlAaotLYNKFdSiG2n7pt+TStPUTj+bR1ZSqNfNm3ZeXA==","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":{},"_nodeVersion":"24.13.1","_hasShrinkwrap":false,"packageManager":"pnpm@11.17.0","readmeFilename":"README.md","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.34.0","oxlint":"^1.79.0","tsdown":"^0.22.14","undici":"7.29.1","vitest":"5.0.4","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.64.1","@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":"5.0.4","@agent-device/daemon":"workspace:*","@agent-device/kernel":"workspace:*","@agent-device/remote":"workspace:*","@agent-device/testmu":"workspace:*","@stryker-mutator/api":"10.0.0","@agent-device/maestro":"workspace:*","@agent-device/plugins":"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/react-native":"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.32-nightly.20261026.96_1792979518158_0.6447019498284452","host":"s3://npm-registry-packages-npm-production"}},"0.21.32":{"name":"agent-device","version":"0.21.32","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"],"author":{"name":"Callstack"},"license":"MIT","_id":"agent-device@0.21.32","maintainers":[{"name":"thymikee","email":"thymikee@gmail.com"}],"homepage":"https://agent-device.dev/","bugs":{"url":"https://github.com/callstack/agent-device/issues"},"bin":{"agent-device":"bin/agent-device.mjs"},"dist":{"shasum":"2da9751f96789a17bb13580517329bddfd9f1dec","tarball":"https://registry.npmjs.org/agent-device/-/agent-device-0.21.32.tgz","fileCount":664,"integrity":"sha512-gfpNs+qeCHKKLY3mqD/NpC7Et7wh5qxNvM9A2cPOhOpzX21e9UHSkO7zOMBpUK7NGtOOkbtz67jco5SVmZOPog==","signatures":[{"sig":"MEQCIDbv1+QtypNzhvyi8N7mmOLYvg57boUWcMpVEJkh7/MqAiA6x3RtonJE7U1N6AaJBji4xSsDXVtA1tqhx9qZ6+IyvQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIQDkK1VCR5coOBGhqL8Lvl9f0dqGqR7SUdstVfJfGk3hMQIgObUPWx+lnfCHl06AG3wWmiCxZMFX7CrNwDV3I6mw0Ng=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/agent-device@0.21.32","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":5564817},"main":"dist/src/index.js","type":"module","_from":"file:/home/runner/work/_temp/npm-packages/agent-device-0.21.32.tgz","types":"dist/src/index.d.ts","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"}},"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":"node --experimental-strip-types scripts/check-affected/run.ts --run --full","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.typecheck.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","perf:compare":"node --experimental-strip-types scripts/perf/compare-cli.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 --allowOnly=false --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 --experimental-strip-types 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":"fr","explain:command":"node --experimental-strip-types scripts/explain-command.ts","fallow:baseline":"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 --allowOnly=false --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 test/repo-guards/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 --experimental-strip-types 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/*.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 --experimental-strip-types 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 --experimental-strip-types scripts/clean-xcuitest-derived.mjs macos","test-app:maestro:ios":"pnpm test-app:maestro --platform ios","generate:capabilities":"node --experimental-strip-types scripts/capability-matrix/generate.ts --write","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 --experimental-strip-types 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","bench:android:automation":"node scripts/bench-android-automation.mjs","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 scripts/coverage-crap/stamp.test.ts scripts/vitest-coverage-run-stamp-reporter.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 packages/daemon/test/nightly/concurrency-torture.test.ts","build:xcuitest:tvos:clean":"pnpm clean:xcuitest:tvos && pnpm build:xcuitest:tvos","check:capabilities-matrix":"vitest run --project unit-core test/repo-guards/capability-matrix.test.ts","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/lib/repo-git.test.ts scripts/lib/repo-path.test.ts 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"}},"_resolved":"/home/runner/work/_temp/npm-packages/agent-device-0.21.32.tgz","_integrity":"sha512-gfpNs+qeCHKKLY3mqD/NpC7Et7wh5qxNvM9A2cPOhOpzX21e9UHSkO7zOMBpUK7NGtOOkbtz67jco5SVmZOPog==","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":{},"_nodeVersion":"24.13.1","_hasShrinkwrap":false,"packageManager":"pnpm@11.17.0","devDependencies":{"ai":"^7.0.68","vite":"^8.3.5","yaml":"^2.9.0","oxfmt":"^0.67.0","pngjs":"^7.0.0","yauzl":"^3.4.0","fallow":"3.34.0","oxlint":"^1.79.0","tsdown":"^0.22.14","undici":"7.30.1","vitest":"5.0.4","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.64.1","@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":"5.0.4","@agent-device/daemon":"workspace:*","@agent-device/kernel":"workspace:*","@agent-device/remote":"workspace:*","@agent-device/testmu":"workspace:*","@stryker-mutator/api":"10.0.0","@agent-device/maestro":"workspace:*","@agent-device/plugins":"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/react-native":"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.32_1793045094714_0.7530850353988152","host":"s3://npm-registry-packages-npm-production"}},"0.21.33":{"name":"agent-device","version":"0.21.33","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"],"author":{"name":"Callstack"},"license":"MIT","_id":"agent-device@0.21.33","maintainers":[{"name":"thymikee","email":"thymikee@gmail.com"}],"homepage":"https://agent-device.dev/","bugs":{"url":"https://github.com/callstack/agent-device/issues"},"bin":{"agent-device":"bin/agent-device.mjs"},"dist":{"shasum":"d5b07b0cf86bb5798b9f32224079583602425c6b","tarball":"https://registry.npmjs.org/agent-device/-/agent-device-0.21.33.tgz","fileCount":665,"integrity":"sha512-MNCJLSOQLnqAmWU3IsLBBij55aZDgFAPPsos6817C1OSx3k/FHN6XaKUNz8OYyMKXme3PRYFqephrbW2KlRAoQ==","signatures":[{"sig":"MEUCIGk0Yj18XEW20ApHmQEaIQ0XigD8GI+KBXARmhQrZyC/AiEArwVwrmBSMuY/tz4bA8ubH+pPnEwnwr4kntgt8BfP+EI=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEYCIQDkd3PB/li/tCI0fcttLL5H+1GsGcUwcAdJsKJeEOvcKAIhAPN2UPomaDeWeHRgXl9dlwdGY/lg2h/xdB3sVnSSUjv/","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/agent-device@0.21.33","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":5556788},"main":"dist/src/index.js","type":"module","_from":"file:/home/runner/work/_temp/npm-packages/agent-device-0.21.33.tgz","types":"dist/src/index.d.ts","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"}},"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":"node --experimental-strip-types scripts/check-affected/run.ts --run --full","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.typecheck.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","perf:compare":"node --experimental-strip-types scripts/perf/compare-cli.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:native-dupes:test && pnpm check:native-dupes && 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 --allowOnly=false --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 --experimental-strip-types 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":"fr","explain:command":"node --experimental-strip-types scripts/explain-command.ts","fallow:baseline":"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 --allowOnly=false --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 test/repo-guards/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:native-dupes":"jscpd --config .jscpd-native.json --baseline native-dupes-baseline.json --fail-on-new-clones --fail-on-empty","check:tmpdir-leaks":"node --experimental-strip-types scripts/check-tmpdir-leaks.ts","clean:xcuitest:ios":"node --experimental-strip-types 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/*.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 --experimental-strip-types 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","native-dupes:report":"jscpd --config .jscpd-native.json --baseline native-dupes-baseline.json --fail-on-empty","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 --experimental-strip-types scripts/clean-xcuitest-derived.mjs macos","test-app:maestro:ios":"pnpm test-app:maestro --platform ios","generate:capabilities":"node --experimental-strip-types scripts/capability-matrix/generate.ts --write","native-dupes:baseline":"jscpd --config .jscpd-native.json --baseline native-dupes-baseline.json --update-baseline --fail-on-empty","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:native-dupes:test":"node --experimental-strip-types scripts/node-test-tmpdir.ts --experimental-strip-types --test scripts/native-dupes/check.test.ts","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 --experimental-strip-types 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","bench:android:automation":"node scripts/bench-android-automation.mjs","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 scripts/coverage-crap/stamp.test.ts scripts/vitest-coverage-run-stamp-reporter.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 packages/daemon/test/nightly/concurrency-torture.test.ts","build:xcuitest:tvos:clean":"pnpm clean:xcuitest:tvos && pnpm build:xcuitest:tvos","check:capabilities-matrix":"vitest run --project unit-core test/repo-guards/capability-matrix.test.ts","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/lib/repo-git.test.ts scripts/lib/repo-path.test.ts 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"}},"_resolved":"/home/runner/work/_temp/npm-packages/agent-device-0.21.33.tgz","_integrity":"sha512-MNCJLSOQLnqAmWU3IsLBBij55aZDgFAPPsos6817C1OSx3k/FHN6XaKUNz8OYyMKXme3PRYFqephrbW2KlRAoQ==","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":{},"_nodeVersion":"24.13.1","_hasShrinkwrap":false,"packageManager":"pnpm@11.17.0","devDependencies":{"ai":"^7.0.68","vite":"^8.3.5","yaml":"^2.9.0","jscpd":"5.4.2","oxfmt":"^0.67.0","pngjs":"^7.0.0","yauzl":"^3.4.0","fallow":"3.34.0","oxlint":"^1.79.0","tsdown":"^0.22.14","undici":"7.30.1","vitest":"5.0.4","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.64.1","@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":"5.0.4","@agent-device/daemon":"workspace:*","@agent-device/kernel":"workspace:*","@agent-device/remote":"workspace:*","@agent-device/testmu":"workspace:*","@stryker-mutator/api":"10.0.0","@agent-device/maestro":"workspace:*","@agent-device/plugins":"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/react-native":"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.33_1793113495498_0.1974891102117733","host":"s3://npm-registry-packages-npm-production"}},"0.21.34-nightly.20261028.102":{"name":"agent-device","version":"0.21.34-nightly.20261028.102","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"],"author":{"name":"Callstack"},"license":"MIT","_id":"agent-device@0.21.34-nightly.20261028.102","maintainers":[{"name":"thymikee","email":"thymikee@gmail.com"}],"homepage":"https://agent-device.dev/","bugs":{"url":"https://github.com/callstack/agent-device/issues"},"bin":{"agent-device":"bin/agent-device.mjs"},"dist":{"shasum":"519b7d4f2df98b90cf75c6f3c0a168479b473342","tarball":"https://registry.npmjs.org/agent-device/-/agent-device-0.21.34-nightly.20261028.102.tgz","fileCount":666,"integrity":"sha512-HHLFMc4MGHwS2mBcbAQbCpxtha6J40zEiQ1k8CqEm9lHJqM7Mk7Y0GtzaVafIjhlh/vl9CEjjrxKGmvpyK4nnA==","signatures":[{"sig":"MEUCIQCq7yEyHvHUJXUkDdMGHtUHZKwhGPpwgVkcjv9d/dM0ZgIgKsNuUtMmvnIDedvvB3hxFxbRHAYt6larISUUJ0MAvHM=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIQCLLKkfBfgpha2h6G97g+cul3vdvGE9q97g62njJhqXwQIgUHMuuYXGlmkQ1t8q9BKN/FTS/FKj5FoorzIa+Bl9mUA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/agent-device@0.21.34-nightly.20261028.102","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":5555987},"main":"dist/src/index.js","type":"module","_from":"file:/home/runner/work/_temp/npm-packages/agent-device-0.21.34-nightly.20261028.102.tgz","types":"dist/src/index.d.ts","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"}},"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":"node --experimental-strip-types scripts/check-affected/run.ts --run --full","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.typecheck.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","perf:compare":"node --experimental-strip-types scripts/perf/compare-cli.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:native-dupes:test && pnpm check:native-dupes && 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 --allowOnly=false --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 --experimental-strip-types 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":"fr","explain:command":"node --experimental-strip-types scripts/explain-command.ts","fallow:baseline":"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 --allowOnly=false --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 test/repo-guards/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:native-dupes":"jscpd --config .jscpd-native.json --baseline native-dupes-baseline.json --fail-on-new-clones --fail-on-empty","check:tmpdir-leaks":"node --experimental-strip-types scripts/check-tmpdir-leaks.ts","clean:xcuitest:ios":"node --experimental-strip-types 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/*.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 --experimental-strip-types 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","native-dupes:report":"jscpd --config .jscpd-native.json --baseline native-dupes-baseline.json --fail-on-empty","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 --experimental-strip-types scripts/clean-xcuitest-derived.mjs macos","test-app:maestro:ios":"pnpm test-app:maestro --platform ios","generate:capabilities":"node --experimental-strip-types scripts/capability-matrix/generate.ts --write","native-dupes:baseline":"jscpd --config .jscpd-native.json --baseline native-dupes-baseline.json --update-baseline --fail-on-empty","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:native-dupes:test":"node --experimental-strip-types scripts/node-test-tmpdir.ts --experimental-strip-types --test scripts/native-dupes/check.test.ts","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 --experimental-strip-types 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","bench:android:automation":"node scripts/bench-android-automation.mjs","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 scripts/coverage-crap/stamp.test.ts scripts/vitest-coverage-run-stamp-reporter.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 packages/daemon/test/nightly/concurrency-torture.test.ts","build:xcuitest:tvos:clean":"pnpm clean:xcuitest:tvos && pnpm build:xcuitest:tvos","check:capabilities-matrix":"vitest run --project unit-core test/repo-guards/capability-matrix.test.ts","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/lib/repo-git.test.ts scripts/lib/repo-path.test.ts 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"}},"_resolved":"/home/runner/work/_temp/npm-packages/agent-device-0.21.34-nightly.20261028.102.tgz","_integrity":"sha512-HHLFMc4MGHwS2mBcbAQbCpxtha6J40zEiQ1k8CqEm9lHJqM7Mk7Y0GtzaVafIjhlh/vl9CEjjrxKGmvpyK4nnA==","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":{},"_nodeVersion":"24.13.1","_hasShrinkwrap":false,"packageManager":"pnpm@11.17.0","readmeFilename":"README.md","devDependencies":{"ai":"^7.0.68","vite":"^8.3.5","yaml":"^2.9.0","jscpd":"5.4.2","oxfmt":"^0.67.0","pngjs":"^7.0.0","yauzl":"^3.4.0","fallow":"3.34.0","oxlint":"^1.79.0","tsdown":"^0.22.14","undici":"7.30.1","vitest":"5.0.4","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.64.1","@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":"5.0.4","@agent-device/daemon":"workspace:*","@agent-device/kernel":"workspace:*","@agent-device/remote":"workspace:*","@agent-device/testmu":"workspace:*","@stryker-mutator/api":"10.0.0","@agent-device/maestro":"workspace:*","@agent-device/plugins":"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/react-native":"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.34-nightly.20261028.102_1793151335803_0.5532664591764294","host":"s3://npm-registry-packages-npm-production"}},"0.21.34-nightly.20261029.105":{"name":"agent-device","version":"0.21.34-nightly.20261029.105","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"],"author":{"name":"Callstack"},"license":"MIT","_id":"agent-device@0.21.34-nightly.20261029.105","maintainers":[{"name":"thymikee","email":"thymikee@gmail.com"}],"homepage":"https://agent-device.dev/","bugs":{"url":"https://github.com/callstack/agent-device/issues"},"bin":{"agent-device":"bin/agent-device.mjs"},"dist":{"shasum":"12f44452c2ee8779532d6eed34cb522138ac8258","tarball":"https://registry.npmjs.org/agent-device/-/agent-device-0.21.34-nightly.20261029.105.tgz","fileCount":668,"integrity":"sha512-610NEVUZLZa/yjoz/i4xUwuQ25XouVj10JwXUSYuD55A/MD+1yuo17Do0Rzy1SA+465r+J+5QyB6ghuRb0pbcw==","signatures":[{"sig":"MEUCIFa/R8DQhQq6jDOY31RZlRekGDyabbvvx18Djs4MkQXoAiEAu1pbctMLh4rMj44VvIIO+t2E5HOtrl8lPoJ1rXpmRpM=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIG1yNyiH6llkjKU7wX7W0e5r2j83Q1v5vMszu4UPbM8mAiEAjG6oqtTXYbEnsJ70EGX22K9fzVtJKLLuBnujkjECgtU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/agent-device@0.21.34-nightly.20261029.105","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":5562471},"main":"dist/src/index.js","type":"module","_from":"file:/home/runner/work/_temp/npm-packages/agent-device-0.21.34-nightly.20261029.105.tgz","types":"dist/src/index.d.ts","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"}},"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":"node --experimental-strip-types scripts/check-affected/run.ts --run --full","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.typecheck.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","perf:compare":"node --experimental-strip-types scripts/perf/compare-cli.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:native-dupes:test && pnpm check:native-dupes && 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 --allowOnly=false --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 --experimental-strip-types 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":"fr","explain:command":"node --experimental-strip-types scripts/explain-command.ts","fallow:baseline":"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 --allowOnly=false --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 test/repo-guards/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:native-dupes":"jscpd --config .jscpd-native.json --baseline native-dupes-baseline.json --fail-on-new-clones --fail-on-empty","check:tmpdir-leaks":"node --experimental-strip-types scripts/check-tmpdir-leaks.ts","clean:xcuitest:ios":"node --experimental-strip-types 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/*.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 --experimental-strip-types 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","native-dupes:report":"jscpd --config .jscpd-native.json --baseline native-dupes-baseline.json --fail-on-empty","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 --experimental-strip-types scripts/clean-xcuitest-derived.mjs macos","test-app:maestro:ios":"pnpm test-app:maestro --platform ios","generate:capabilities":"node --experimental-strip-types scripts/capability-matrix/generate.ts --write","native-dupes:baseline":"jscpd --config .jscpd-native.json --baseline native-dupes-baseline.json --update-baseline --fail-on-empty","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:native-dupes:test":"node --experimental-strip-types scripts/node-test-tmpdir.ts --experimental-strip-types --test scripts/native-dupes/check.test.ts","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 --experimental-strip-types 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","bench:android:automation":"node scripts/bench-android-automation.mjs","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 scripts/coverage-crap/stamp.test.ts scripts/vitest-coverage-run-stamp-reporter.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 packages/daemon/test/nightly/concurrency-torture.test.ts","build:xcuitest:tvos:clean":"pnpm clean:xcuitest:tvos && pnpm build:xcuitest:tvos","check:capabilities-matrix":"vitest run --project unit-core test/repo-guards/capability-matrix.test.ts","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/lib/repo-git.test.ts scripts/lib/repo-path.test.ts 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"}},"_resolved":"/home/runner/work/_temp/npm-packages/agent-device-0.21.34-nightly.20261029.105.tgz","_integrity":"sha512-610NEVUZLZa/yjoz/i4xUwuQ25XouVj10JwXUSYuD55A/MD+1yuo17Do0Rzy1SA+465r+J+5QyB6ghuRb0pbcw==","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":{},"_nodeVersion":"24.13.1","_hasShrinkwrap":false,"packageManager":"pnpm@11.17.0","readmeFilename":"README.md","devDependencies":{"ai":"^7.0.68","vite":"^8.3.5","yaml":"^2.9.0","jscpd":"5.4.2","oxfmt":"^0.67.0","pngjs":"^7.0.0","yauzl":"^3.4.0","fallow":"3.34.0","oxlint":"^1.79.0","tsdown":"^0.22.14","undici":"7.30.1","vitest":"5.0.4","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.64.1","@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":"5.0.4","@agent-device/daemon":"workspace:*","@agent-device/kernel":"workspace:*","@agent-device/remote":"workspace:*","@agent-device/testmu":"workspace:*","@stryker-mutator/api":"10.0.0","@agent-device/maestro":"workspace:*","@agent-device/plugins":"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/react-native":"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.34-nightly.20261029.105_1793237782147_0.17571634760017185","host":"s3://npm-registry-packages-npm-production"}},"0.21.34":{"name":"agent-device","version":"0.21.34","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"],"author":{"name":"Callstack"},"license":"MIT","_id":"agent-device@0.21.34","maintainers":[{"name":"thymikee","email":"thymikee@gmail.com"}],"homepage":"https://agent-device.dev/","bugs":{"url":"https://github.com/callstack/agent-device/issues"},"bin":{"agent-device":"bin/agent-device.mjs"},"dist":{"shasum":"b41b945dc252c24ae2df646cf5102265a1cf1467","tarball":"https://registry.npmjs.org/agent-device/-/agent-device-0.21.34.tgz","fileCount":668,"integrity":"sha512-D6HSO9gdunBfIkhGjCblS2/cY0bHM6u5+r5VwgNM94qJx26jqHg8H5AOhM7yzEi/Bn8V5GUIMaWL/PLb2k6yVQ==","signatures":[{"sig":"MEUCIQDuTHs1V1XhGN4FqAIZARq0X92C9Xj1Ae8qrHyuwwowVgIgfflEAnHLWVRDtwHe/Yk+hjeV4xa0a/X/M3JFfA0ufb8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEYCIQDPUiwSdWCgBIuESc75QRTh81shUzyRRA2uJmbFSZeitAIhAIeccUaFqsCG8nJiasIZKZ/XBB/CcYSNo9I6h0S23p0L","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/agent-device@0.21.34","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":5583718},"main":"dist/src/index.js","type":"module","_from":"file:/home/runner/work/_temp/npm-packages/agent-device-0.21.34.tgz","types":"dist/src/index.d.ts","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"}},"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":"node --experimental-strip-types scripts/check-affected/run.ts --run --full","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.typecheck.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","perf:compare":"node --experimental-strip-types scripts/perf/compare-cli.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:native-dupes:test && pnpm check:native-dupes && 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 --allowOnly=false --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 --experimental-strip-types 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":"fr","explain:command":"node --experimental-strip-types scripts/explain-command.ts","fallow:baseline":"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 --allowOnly=false --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 test/repo-guards/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:native-dupes":"jscpd --config .jscpd-native.json --baseline native-dupes-baseline.json --fail-on-new-clones --fail-on-empty","check:tmpdir-leaks":"node --experimental-strip-types scripts/check-tmpdir-leaks.ts","clean:xcuitest:ios":"node --experimental-strip-types 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/*.test.ts scripts/lib/vitest-projects.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 --experimental-strip-types 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","native-dupes:report":"jscpd --config .jscpd-native.json --baseline native-dupes-baseline.json --fail-on-empty","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 --experimental-strip-types scripts/clean-xcuitest-derived.mjs macos","test-app:maestro:ios":"pnpm test-app:maestro --platform ios","generate:capabilities":"node --experimental-strip-types scripts/capability-matrix/generate.ts --write","native-dupes:baseline":"jscpd --config .jscpd-native.json --baseline native-dupes-baseline.json --update-baseline --fail-on-empty","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:native-dupes:test":"node --experimental-strip-types scripts/node-test-tmpdir.ts --experimental-strip-types --test scripts/native-dupes/check.test.ts","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 --experimental-strip-types 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","bench:android:automation":"node scripts/bench-android-automation.mjs","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 scripts/coverage-crap/stamp.test.ts scripts/vitest-coverage-run-stamp-reporter.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 packages/daemon/test/nightly/concurrency-torture.test.ts","build:xcuitest:tvos:clean":"pnpm clean:xcuitest:tvos && pnpm build:xcuitest:tvos","check:capabilities-matrix":"vitest run --project unit-core test/repo-guards/capability-matrix.test.ts","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/lib/repo-git.test.ts scripts/lib/repo-path.test.ts 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"}},"_resolved":"/home/runner/work/_temp/npm-packages/agent-device-0.21.34.tgz","_integrity":"sha512-D6HSO9gdunBfIkhGjCblS2/cY0bHM6u5+r5VwgNM94qJx26jqHg8H5AOhM7yzEi/Bn8V5GUIMaWL/PLb2k6yVQ==","repository":{"url":"git+https://github.com/callstack/agent-device.git","type":"git"},"_npmVersion":"11.8.0","description":"Open source device layer for AI coding agents: a CLI, MCP server, and typed Node.js API to control mobile, web, TV, and desktop apps on devices and simulators, locally or in the cloud.","directories":{},"_nodeVersion":"24.13.1","_hasShrinkwrap":false,"packageManager":"pnpm@11.17.0","devDependencies":{"ai":"^7.0.68","vite":"^8.3.5","yaml":"^2.9.0","jscpd":"5.4.2","oxfmt":"^0.67.0","pngjs":"^7.0.0","yauzl":"^3.4.0","fallow":"3.34.0","oxlint":"^1.79.0","tsdown":"^0.22.14","undici":"7.30.1","vitest":"5.0.4","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.64.1","@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":"5.0.4","@agent-device/daemon":"workspace:*","@agent-device/kernel":"workspace:*","@agent-device/remote":"workspace:*","@agent-device/testmu":"workspace:*","@stryker-mutator/api":"10.0.0","@agent-device/maestro":"workspace:*","@agent-device/plugins":"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/react-native":"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.34_1793271652500_0.11288601129313425","host":"s3://npm-registry-packages-npm-production"}},"0.21.35":{"name":"agent-device","version":"0.21.35","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"],"author":{"name":"Callstack"},"license":"MIT","_id":"agent-device@0.21.35","maintainers":[{"name":"thymikee","email":"thymikee@gmail.com"}],"homepage":"https://agent-device.dev/","bugs":{"url":"https://github.com/callstack/agent-device/issues"},"bin":{"agent-device":"bin/agent-device.mjs"},"dist":{"shasum":"7d3a5598fb2c1d6fd824f911f004af8fb6264899","tarball":"https://registry.npmjs.org/agent-device/-/agent-device-0.21.35.tgz","fileCount":668,"integrity":"sha512-opESFEhZPCPzCKMOPsxNhlOvqb2+YMyL5ZmTKS/SlN9OfCCvUB9jX905QwkiEn1lUMO1Ua0RnggpdpVyOJi4KA==","signatures":[{"sig":"MEYCIQCg9Vt13sZqBmoR5sM8jomwmd7JUuWzPYyxsyeFOPKEegIhAKxMNAmSo4MGOXvGDCZySuXzbt826KrWOuL2N48y4mGZ","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIBY/PZsjvP/elE+5QHK5bhhU65WaYBoA9EVLE/g7dDnMAiEAn5JY23jOU+7MpnR4SJUGH4ChwY8tsUeRdocWNwHAIg0=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/agent-device@0.21.35","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":5608228},"main":"dist/src/index.js","type":"module","_from":"file:/home/runner/work/_temp/npm-packages/agent-device-0.21.35.tgz","types":"dist/src/index.d.ts","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"}},"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":"node --experimental-strip-types scripts/check-affected/run.ts --run --full","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.typecheck.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","perf:compare":"node --experimental-strip-types scripts/perf/compare-cli.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:native-dupes:test && pnpm check:native-dupes && 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 --allowOnly=false --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 --experimental-strip-types 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":"fr","explain:command":"node --experimental-strip-types scripts/explain-command.ts","fallow:baseline":"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 --allowOnly=false --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 test/repo-guards/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:native-dupes":"jscpd --config .jscpd-native.json --baseline native-dupes-baseline.json --fail-on-new-clones --fail-on-empty","check:tmpdir-leaks":"node --experimental-strip-types scripts/check-tmpdir-leaks.ts","clean:xcuitest:ios":"node --experimental-strip-types 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/*.test.ts scripts/lib/vitest-projects.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 --experimental-strip-types 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","native-dupes:report":"jscpd --config .jscpd-native.json --baseline native-dupes-baseline.json --fail-on-empty","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 --experimental-strip-types scripts/clean-xcuitest-derived.mjs macos","test-app:maestro:ios":"pnpm test-app:maestro --platform ios","generate:capabilities":"node --experimental-strip-types scripts/capability-matrix/generate.ts --write","native-dupes:baseline":"jscpd --config .jscpd-native.json --baseline native-dupes-baseline.json --update-baseline --fail-on-empty","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:native-dupes:test":"node --experimental-strip-types scripts/node-test-tmpdir.ts --experimental-strip-types --test scripts/native-dupes/check.test.ts","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 --experimental-strip-types 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","bench:android:automation":"node scripts/bench-android-automation.mjs","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 scripts/coverage-crap/stamp.test.ts scripts/vitest-coverage-run-stamp-reporter.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 packages/daemon/test/nightly/concurrency-torture.test.ts","build:xcuitest:tvos:clean":"pnpm clean:xcuitest:tvos && pnpm build:xcuitest:tvos","check:capabilities-matrix":"vitest run --project unit-core test/repo-guards/capability-matrix.test.ts","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/lib/repo-git.test.ts scripts/lib/repo-path.test.ts 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"}},"_resolved":"/home/runner/work/_temp/npm-packages/agent-device-0.21.35.tgz","_integrity":"sha512-opESFEhZPCPzCKMOPsxNhlOvqb2+YMyL5ZmTKS/SlN9OfCCvUB9jX905QwkiEn1lUMO1Ua0RnggpdpVyOJi4KA==","repository":{"url":"git+https://github.com/callstack/agent-device.git","type":"git"},"_npmVersion":"11.8.0","description":"Open source device layer for AI coding agents: a CLI, MCP server, and typed Node.js API to control mobile, web, TV, and desktop apps on devices and simulators, locally or in the cloud.","directories":{},"_nodeVersion":"24.13.1","_hasShrinkwrap":false,"packageManager":"pnpm@11.17.0","devDependencies":{"ai":"^7.0.68","vite":"^8.3.5","yaml":"^2.9.0","jscpd":"5.4.2","oxfmt":"^0.67.0","pngjs":"^7.0.0","yauzl":"^3.4.0","fallow":"3.34.0","oxlint":"^1.79.0","tsdown":"^0.22.14","undici":"7.30.1","vitest":"5.0.4","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.64.1","@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":"5.0.4","@agent-device/daemon":"workspace:*","@agent-device/kernel":"workspace:*","@agent-device/remote":"workspace:*","@agent-device/testmu":"workspace:*","@stryker-mutator/api":"10.0.0","@agent-device/maestro":"workspace:*","@agent-device/plugins":"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/react-native":"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.35_1793301031455_0.9666823962942731","host":"s3://npm-registry-packages-npm-production"}},"0.21.36-nightly.20261030.114":{"name":"agent-device","version":"0.21.36-nightly.20261030.114","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"],"author":{"name":"Callstack"},"license":"MIT","_id":"agent-device@0.21.36-nightly.20261030.114","maintainers":[{"name":"thymikee","email":"thymikee@gmail.com"}],"homepage":"https://agent-device.dev/","bugs":{"url":"https://github.com/callstack/agent-device/issues"},"bin":{"agent-device":"bin/agent-device.mjs"},"dist":{"shasum":"800e4cd91e04e3c526d932f71dd79e688b06eb04","tarball":"https://registry.npmjs.org/agent-device/-/agent-device-0.21.36-nightly.20261030.114.tgz","fileCount":668,"integrity":"sha512-WlVwkxgdhfIc1CJsrQCTX/gz6MSTgCqfjL2e8gl+UpBwYS7pX3sw0QljxtgkGE9J87JYEIe/5JA5ihjVeDi2pg==","signatures":[{"sig":"MEYCIQDqApVc5w1WEubEDZp/U5ChrvJWFiYc5sgr4TodL0X9OgIhAK33Ns2oa2nwH0M6MNdLAj4rFo42paK1pX0rZgVR3OMX","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEQCIG9CZgYeTo0oJUU6qbb2eRF2cvh376vSELADinjAs7W2AiBzL6nBMjeu+JFaS2L+pkiWPzKPEeL73kBhTs5HTj5Eqg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/agent-device@0.21.36-nightly.20261030.114","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":5608522},"main":"dist/src/index.js","type":"module","_from":"file:/home/runner/work/_temp/npm-packages/agent-device-0.21.36-nightly.20261030.114.tgz","types":"dist/src/index.d.ts","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"}},"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":"node --experimental-strip-types scripts/check-affected/run.ts --run --full","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.typecheck.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","perf:compare":"node --experimental-strip-types scripts/perf/compare-cli.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:native-dupes:test && pnpm check:native-dupes && 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 --allowOnly=false --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 --experimental-strip-types 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":"fr","explain:command":"node --experimental-strip-types scripts/explain-command.ts","fallow:baseline":"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 --allowOnly=false --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 test/repo-guards/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:native-dupes":"jscpd --config .jscpd-native.json --baseline native-dupes-baseline.json --fail-on-new-clones --fail-on-empty","check:tmpdir-leaks":"node --experimental-strip-types scripts/check-tmpdir-leaks.ts","clean:xcuitest:ios":"node --experimental-strip-types 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/*.test.ts scripts/lib/vitest-projects.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 --experimental-strip-types 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","native-dupes:report":"jscpd --config .jscpd-native.json --baseline native-dupes-baseline.json --fail-on-empty","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 --experimental-strip-types scripts/clean-xcuitest-derived.mjs macos","test-app:maestro:ios":"pnpm test-app:maestro --platform ios","generate:capabilities":"node --experimental-strip-types scripts/capability-matrix/generate.ts --write","native-dupes:baseline":"jscpd --config .jscpd-native.json --baseline native-dupes-baseline.json --update-baseline --fail-on-empty","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:native-dupes:test":"node --experimental-strip-types scripts/node-test-tmpdir.ts --experimental-strip-types --test scripts/native-dupes/check.test.ts","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 --experimental-strip-types 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","bench:android:automation":"node scripts/bench-android-automation.mjs","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 scripts/coverage-crap/stamp.test.ts scripts/vitest-coverage-run-stamp-reporter.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 packages/daemon/test/nightly/concurrency-torture.test.ts","build:xcuitest:tvos:clean":"pnpm clean:xcuitest:tvos && pnpm build:xcuitest:tvos","check:capabilities-matrix":"vitest run --project unit-core test/repo-guards/capability-matrix.test.ts","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/lib/repo-git.test.ts scripts/lib/repo-path.test.ts 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"}},"_resolved":"/home/runner/work/_temp/npm-packages/agent-device-0.21.36-nightly.20261030.114.tgz","_integrity":"sha512-WlVwkxgdhfIc1CJsrQCTX/gz6MSTgCqfjL2e8gl+UpBwYS7pX3sw0QljxtgkGE9J87JYEIe/5JA5ihjVeDi2pg==","repository":{"url":"git+https://github.com/callstack/agent-device.git","type":"git"},"_npmVersion":"11.8.0","description":"Open source device layer for AI coding agents: a CLI, MCP server, and typed Node.js API to control mobile, web, TV, and desktop apps on devices and simulators, locally or in the cloud.","directories":{},"_nodeVersion":"24.13.1","_hasShrinkwrap":false,"packageManager":"pnpm@11.17.0","readmeFilename":"README.md","devDependencies":{"ai":"^7.0.68","vite":"^8.3.5","yaml":"^2.9.0","jscpd":"5.4.2","oxfmt":"^0.67.0","pngjs":"^7.0.0","yauzl":"^3.4.0","fallow":"3.34.0","oxlint":"^1.79.0","tsdown":"^0.22.14","undici":"7.30.1","vitest":"5.0.4","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.64.1","@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":"5.0.4","@agent-device/daemon":"workspace:*","@agent-device/kernel":"workspace:*","@agent-device/remote":"workspace:*","@agent-device/testmu":"workspace:*","@stryker-mutator/api":"10.0.0","@agent-device/maestro":"workspace:*","@agent-device/plugins":"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/react-native":"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.36-nightly.20261030.114_1793324183847_0.6974375697334749","host":"s3://npm-registry-packages-npm-production"}},"0.21.36-nightly.20261031.115":{"name":"agent-device","version":"0.21.36-nightly.20261031.115","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"],"author":{"name":"Callstack"},"license":"MIT","_id":"agent-device@0.21.36-nightly.20261031.115","maintainers":[{"name":"thymikee","email":"thymikee@gmail.com"}],"homepage":"https://agent-device.dev/","bugs":{"url":"https://github.com/callstack/agent-device/issues"},"bin":{"agent-device":"bin/agent-device.mjs"},"dist":{"shasum":"fc5b059601221b738854051f1403685ba0421d27","tarball":"https://registry.npmjs.org/agent-device/-/agent-device-0.21.36-nightly.20261031.115.tgz","fileCount":748,"integrity":"sha512-4iiCkKnWjODIomN/mHV/0uS1lwyp1QOHIrd6Nz1CYvl2ldp6ooY0YaLKn4aPhed8tMkzGJ9sADcW+tVCI2/6lg==","signatures":[{"sig":"MEQCIG2G7h8SUi6cd+XqWMX7fQx4/Kx+l8IKLpZg6Sd8NJQ/AiAN2Y/7Ra7XTSexKD2Zdw+HIGYevElUUqlBW0KkMOUzBA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIHeHQach13RcBgThQP68nYGlWMz+EnEYJrYF7W8mCsjEAiEA+wBQf9KQpEARNpO7CYDEA5pyC5Su1qSbkA3KHuvDv+4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/agent-device@0.21.36-nightly.20261031.115","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":5623860},"main":"dist/src/index.js","type":"module","_from":"file:/home/runner/work/_temp/npm-packages/agent-device-0.21.36-nightly.20261031.115.tgz","types":"dist/src/index.d.ts","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"}},"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":"node --experimental-strip-types scripts/check-affected/run.ts --run --full","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.typecheck.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","perf:compare":"node --experimental-strip-types scripts/perf/compare-cli.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:native-dupes:test && pnpm check:native-dupes && 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/entries.test.ts scripts/depgraph/import-graph.test.ts scripts/depgraph/affected.test.ts scripts/depgraph/structure-summary.test.ts tools/depgraph-view/*.test.mjs","mutation:test":"node --experimental-strip-types scripts/node-test-tmpdir.ts --experimental-strip-types --test scripts/mutation/*.test.ts","test:coverage":"vitest run --coverage --allowOnly=false --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 --experimental-strip-types 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":"fr","explain:command":"node --experimental-strip-types scripts/explain-command.ts","fallow:baseline":"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 --allowOnly=false --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 test/repo-guards/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:native-dupes":"jscpd --config .jscpd-native.json --baseline native-dupes-baseline.json --fail-on-new-clones --fail-on-empty","check:tmpdir-leaks":"node --experimental-strip-types scripts/check-tmpdir-leaks.ts","clean:xcuitest:ios":"node --experimental-strip-types 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/*.test.ts scripts/lib/vitest-projects.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 --experimental-strip-types 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","native-dupes:report":"jscpd --config .jscpd-native.json --baseline native-dupes-baseline.json --fail-on-empty","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 --experimental-strip-types scripts/clean-xcuitest-derived.mjs macos","test-app:maestro:ios":"pnpm test-app:maestro --platform ios","generate:capabilities":"node --experimental-strip-types scripts/capability-matrix/generate.ts --write","native-dupes:baseline":"jscpd --config .jscpd-native.json --baseline native-dupes-baseline.json --update-baseline --fail-on-empty","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:native-dupes:test":"node --experimental-strip-types scripts/node-test-tmpdir.ts --experimental-strip-types --test scripts/native-dupes/check.test.ts","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 --experimental-strip-types 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","bench:android:automation":"node scripts/bench-android-automation.mjs","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 scripts/coverage-crap/stamp.test.ts scripts/vitest-coverage-run-stamp-reporter.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 packages/daemon/test/nightly/concurrency-torture.test.ts","build:xcuitest:tvos:clean":"pnpm clean:xcuitest:tvos && pnpm build:xcuitest:tvos","check:capabilities-matrix":"vitest run --project unit-core test/repo-guards/capability-matrix.test.ts","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/lib/repo-git.test.ts scripts/lib/repo-path.test.ts 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"}},"_resolved":"/home/runner/work/_temp/npm-packages/agent-device-0.21.36-nightly.20261031.115.tgz","_integrity":"sha512-4iiCkKnWjODIomN/mHV/0uS1lwyp1QOHIrd6Nz1CYvl2ldp6ooY0YaLKn4aPhed8tMkzGJ9sADcW+tVCI2/6lg==","repository":{"url":"git+https://github.com/callstack/agent-device.git","type":"git"},"_npmVersion":"11.8.0","description":"Open source device layer for AI coding agents: a CLI, MCP server, and typed Node.js API to control mobile, web, TV, and desktop apps on devices and simulators, locally or in the cloud.","directories":{},"_nodeVersion":"24.13.1","_hasShrinkwrap":false,"packageManager":"pnpm@11.17.0","readmeFilename":"README.md","devDependencies":{"ai":"^7.0.68","vite":"^8.3.5","yaml":"^2.9.0","jscpd":"5.4.2","oxfmt":"^0.67.0","pngjs":"^7.0.0","yauzl":"^3.4.0","fallow":"3.34.0","oxlint":"^1.79.0","tsdown":"^0.22.14","undici":"7.30.1","vitest":"5.0.4","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.64.1","@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":"5.0.4","@agent-device/daemon":"workspace:*","@agent-device/kernel":"workspace:*","@agent-device/remote":"workspace:*","@agent-device/testmu":"workspace:*","@stryker-mutator/api":"10.0.0","@agent-device/maestro":"workspace:*","@agent-device/plugins":"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/apple-runner":"workspace:*","@agent-device/platform-web":"workspace:*","@agent-device/react-native":"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/command-surface":"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.36-nightly.20261031.115_1793410526388_0.27554918521258065","host":"s3://npm-registry-packages-npm-production"}},"0.21.36-nightly.20261102.118":{"name":"agent-device","version":"0.21.36-nightly.20261102.118","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"],"author":{"name":"Callstack"},"license":"MIT","_id":"agent-device@0.21.36-nightly.20261102.118","maintainers":[{"name":"thymikee","email":"thymikee@gmail.com"}],"homepage":"https://agent-device.dev/","bugs":{"url":"https://github.com/callstack/agent-device/issues"},"bin":{"agent-device":"bin/agent-device.mjs"},"dist":{"shasum":"8108b59423be8835bc9e03c0325aa3f9a72cb2cb","tarball":"https://registry.npmjs.org/agent-device/-/agent-device-0.21.36-nightly.20261102.118.tgz","fileCount":758,"integrity":"sha512-LShvKf4pBkOLg2ZrUmllIgegH4Yt7v8Kx8CkfkQpUN48JOIDGzouH9xdo98WYzeqt4N5jph1tNTABkPp7WmX3Q==","signatures":[{"sig":"MEYCIQD9Z0olmC6R4RLFfEOvKHHRcLOAbSRoXa4dijrl5bYLkgIhAOcGJ/q7c1Fkc0OYnrvVsKrdP1qKxdIIyiiFh6J4tIaN","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEYCIQCqjyyacHWMGEWEJ3Z8mbdOVjkTylYjtgvhjBuvVyaqjQIhANr5Djjh8JVoVbdDyHtqzrNXjFeDcnURVokYGqJL+FNC","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/agent-device@0.21.36-nightly.20261102.118","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":5663579},"main":"dist/src/index.js","type":"module","_from":"file:/home/runner/work/_temp/npm-packages/agent-device-0.21.36-nightly.20261102.118.tgz","types":"dist/src/index.d.ts","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"}},"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":"node --experimental-strip-types scripts/check-affected/run.ts --run --full","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.typecheck.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","perf:compare":"node --experimental-strip-types scripts/perf/compare-cli.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:native-dupes:test && pnpm check:native-dupes && 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/entries.test.ts scripts/depgraph/import-graph.test.ts scripts/depgraph/affected.test.ts scripts/depgraph/structure-summary.test.ts tools/depgraph-view/*.test.mjs","mutation:test":"node --experimental-strip-types scripts/node-test-tmpdir.ts --experimental-strip-types --test scripts/mutation/*.test.ts","test:coverage":"vitest run --coverage --allowOnly=false --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 --experimental-strip-types 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":"fr","explain:command":"node --experimental-strip-types scripts/explain-command.ts","fallow:baseline":"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 --allowOnly=false --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 test/repo-guards/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:native-dupes":"jscpd --config .jscpd-native.json --baseline native-dupes-baseline.json --fail-on-new-clones --fail-on-empty","check:tmpdir-leaks":"node --experimental-strip-types scripts/check-tmpdir-leaks.ts","clean:xcuitest:ios":"node --experimental-strip-types 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/*.test.ts scripts/lib/vitest-projects.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 --experimental-strip-types 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","native-dupes:report":"jscpd --config .jscpd-native.json --baseline native-dupes-baseline.json --fail-on-empty","print:alert-surface":"node --experimental-strip-types scripts/print-alert-surface-tree.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 --experimental-strip-types scripts/clean-xcuitest-derived.mjs macos","test-app:maestro:ios":"pnpm test-app:maestro --platform ios","capture:alert-surface":"node --experimental-strip-types scripts/capture-alert-surface.ts","generate:capabilities":"node --experimental-strip-types scripts/capability-matrix/generate.ts --write","native-dupes:baseline":"jscpd --config .jscpd-native.json --baseline native-dupes-baseline.json --update-baseline --fail-on-empty","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:native-dupes:test":"node --experimental-strip-types scripts/node-test-tmpdir.ts --experimental-strip-types --test scripts/native-dupes/check.test.ts","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 --experimental-strip-types 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","bench:android:automation":"node scripts/bench-android-automation.mjs","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 scripts/coverage-crap/stamp.test.ts scripts/vitest-coverage-run-stamp-reporter.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 packages/daemon/test/nightly/concurrency-torture.test.ts","build:xcuitest:tvos:clean":"pnpm clean:xcuitest:tvos && pnpm build:xcuitest:tvos","check:capabilities-matrix":"vitest run --project unit-core test/repo-guards/capability-matrix.test.ts","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/lib/repo-git.test.ts scripts/lib/repo-path.test.ts 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"}},"_resolved":"/home/runner/work/_temp/npm-packages/agent-device-0.21.36-nightly.20261102.118.tgz","_integrity":"sha512-LShvKf4pBkOLg2ZrUmllIgegH4Yt7v8Kx8CkfkQpUN48JOIDGzouH9xdo98WYzeqt4N5jph1tNTABkPp7WmX3Q==","repository":{"url":"git+https://github.com/callstack/agent-device.git","type":"git"},"_npmVersion":"11.8.0","description":"Open source device layer for AI coding agents: a CLI, MCP server, and typed Node.js API to control mobile, web, TV, and desktop apps on devices and simulators, locally or in the cloud.","directories":{},"_nodeVersion":"24.13.1","_hasShrinkwrap":false,"packageManager":"pnpm@11.17.0","readmeFilename":"README.md","devDependencies":{"ai":"^7.0.68","vite":"^8.3.5","yaml":"^2.9.0","jscpd":"5.4.2","oxfmt":"^0.67.0","pngjs":"^7.0.0","yauzl":"^3.4.0","fallow":"3.34.0","oxlint":"^1.79.0","tsdown":"^0.22.14","undici":"7.30.1","vitest":"5.0.4","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.64.1","@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:*","@agent-device/revyl":"workspace:*","@chenglou/freerange":"^0.0.4","@nkzw/eslint-plugin":"^2.0.0","@nkzw/oxlint-config":"^1.3.0","@vitest/coverage-v8":"5.0.4","@agent-device/client":"workspace:*","@agent-device/daemon":"workspace:*","@agent-device/kernel":"workspace:*","@agent-device/remote":"workspace:*","@agent-device/testmu":"workspace:*","@stryker-mutator/api":"10.0.0","@agent-device/maestro":"workspace:*","@agent-device/plugins":"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/apple-runner":"workspace:*","@agent-device/platform-web":"workspace:*","@agent-device/react-native":"workspace:*","@agent-device/daemon-client":"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/command-output":"workspace:*","@agent-device/platform-apple":"workspace:*","@agent-device/platform-linux":"workspace:*","@agent-device/command-runtime":"workspace:*","@agent-device/command-surface":"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.36-nightly.20261102.118_1793610097647_0.2763472642911784","host":"s3://npm-registry-packages-npm-production"}},"0.21.36":{"name":"agent-device","version":"0.21.36","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"],"author":{"name":"Callstack"},"license":"MIT","_id":"agent-device@0.21.36","maintainers":[{"name":"thymikee","email":"thymikee@gmail.com"}],"homepage":"https://agent-device.dev/","bugs":{"url":"https://github.com/callstack/agent-device/issues"},"bin":{"agent-device":"bin/agent-device.mjs"},"dist":{"shasum":"648e7a911ba994b2ae04d434bdac2e109849ddff","tarball":"https://registry.npmjs.org/agent-device/-/agent-device-0.21.36.tgz","fileCount":771,"integrity":"sha512-aG88WlEHjFc/OEBQC7AJg+2LfNoVT/ogxnnzIUYUEgafdiTvBaA+X6uQ2wNmpp2ZrHLy8QIXoEOyc3NEZgJCpQ==","signatures":[{"sig":"MEUCIQCPmEKgkxSGrZslMlO5wsjA54m4vglx/mjBeFm3RNXYiAIgRQSJi6Q/Sj6YXbR8+ZK8K4Hbu5eN75/AwlXbkDbfsuw=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIFLfFZVOIES0BFYArBimneStX/9qpd75qYhGlQfCj75dAiEAtViUHRM/8q7KrcUsV21MqgUqC2H0XrrZGTwuNAnNyyQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/agent-device@0.21.36","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":5696615},"main":"dist/src/index.js","type":"module","_from":"file:/home/runner/work/_temp/npm-packages/agent-device-0.21.36.tgz","types":"dist/src/index.d.ts","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"}},"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":"node --experimental-strip-types scripts/check-affected/run.ts --run --full","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.typecheck.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","perf:compare":"node --experimental-strip-types scripts/perf/compare-cli.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:native-dupes:test && pnpm check:native-dupes && 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/entries.test.ts scripts/depgraph/import-graph.test.ts scripts/depgraph/affected.test.ts scripts/depgraph/structure-summary.test.ts tools/depgraph-view/*.test.mjs","mutation:test":"node --experimental-strip-types scripts/node-test-tmpdir.ts --experimental-strip-types --test scripts/mutation/*.test.ts","test:coverage":"vitest run --coverage --allowOnly=false --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 --experimental-strip-types 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":"fr","explain:command":"node --experimental-strip-types scripts/explain-command.ts","fallow:baseline":"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 --allowOnly=false --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 test/repo-guards/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:native-dupes":"jscpd --config .jscpd-native.json --baseline native-dupes-baseline.json --fail-on-new-clones --fail-on-empty","check:tmpdir-leaks":"node --experimental-strip-types scripts/check-tmpdir-leaks.ts","clean:xcuitest:ios":"node --experimental-strip-types 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/*.test.ts scripts/lib/vitest-projects.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 --experimental-strip-types 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","native-dupes:report":"jscpd --config .jscpd-native.json --baseline native-dupes-baseline.json --fail-on-empty","print:alert-surface":"node --experimental-strip-types scripts/print-alert-surface-tree.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 --experimental-strip-types scripts/clean-xcuitest-derived.mjs macos","test-app:maestro:ios":"pnpm test-app:maestro --platform ios","capture:alert-surface":"node --experimental-strip-types scripts/capture-alert-surface.ts","generate:capabilities":"node --experimental-strip-types scripts/capability-matrix/generate.ts --write","native-dupes:baseline":"jscpd --config .jscpd-native.json --baseline native-dupes-baseline.json --update-baseline --fail-on-empty","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:native-dupes:test":"node --experimental-strip-types scripts/node-test-tmpdir.ts --experimental-strip-types --test scripts/native-dupes/check.test.ts","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 --experimental-strip-types 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","bench:android:automation":"node scripts/bench-android-automation.mjs","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 scripts/coverage-crap/stamp.test.ts scripts/vitest-coverage-run-stamp-reporter.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 packages/daemon/test/nightly/concurrency-torture.test.ts","build:xcuitest:tvos:clean":"pnpm clean:xcuitest:tvos && pnpm build:xcuitest:tvos","check:capabilities-matrix":"vitest run --project unit-core test/repo-guards/capability-matrix.test.ts","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/lib/repo-git.test.ts scripts/lib/repo-path.test.ts 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"}},"_resolved":"/home/runner/work/_temp/npm-packages/agent-device-0.21.36.tgz","_integrity":"sha512-aG88WlEHjFc/OEBQC7AJg+2LfNoVT/ogxnnzIUYUEgafdiTvBaA+X6uQ2wNmpp2ZrHLy8QIXoEOyc3NEZgJCpQ==","repository":{"url":"git+https://github.com/callstack/agent-device.git","type":"git"},"_npmVersion":"11.8.0","description":"Open source device layer for AI coding agents: a CLI, MCP server, and typed Node.js API to control mobile, web, TV, and desktop apps on devices and simulators, locally or in the cloud.","directories":{},"_nodeVersion":"24.13.1","_hasShrinkwrap":false,"packageManager":"pnpm@11.17.0","devDependencies":{"ai":"^7.0.68","vite":"^8.3.5","yaml":"^2.9.0","jscpd":"5.4.2","oxfmt":"^0.67.0","pngjs":"^7.0.0","yauzl":"^3.4.0","fallow":"3.34.0","oxlint":"^1.79.0","tsdown":"^0.22.14","undici":"7.30.1","vitest":"5.0.4","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.64.1","@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:*","@agent-device/revyl":"workspace:*","@chenglou/freerange":"^0.0.4","@nkzw/eslint-plugin":"^2.0.0","@nkzw/oxlint-config":"^1.3.0","@vitest/coverage-v8":"5.0.4","@agent-device/client":"workspace:*","@agent-device/daemon":"workspace:*","@agent-device/kernel":"workspace:*","@agent-device/remote":"workspace:*","@agent-device/testmu":"workspace:*","@stryker-mutator/api":"10.0.0","@agent-device/maestro":"workspace:*","@agent-device/plugins":"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/apple-runner":"workspace:*","@agent-device/platform-web":"workspace:*","@agent-device/react-native":"workspace:*","@agent-device/daemon-client":"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/command-output":"workspace:*","@agent-device/platform-apple":"workspace:*","@agent-device/platform-linux":"workspace:*","@agent-device/command-runtime":"workspace:*","@agent-device/command-surface":"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.36_1793637059498_0.27638369298853727","host":"s3://npm-registry-packages-npm-production"}},"0.21.37-nightly.20261103.128":{"name":"agent-device","version":"0.21.37-nightly.20261103.128","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"],"author":{"name":"Callstack"},"license":"MIT","_id":"agent-device@0.21.37-nightly.20261103.128","maintainers":[{"name":"thymikee","email":"thymikee@gmail.com"}],"homepage":"https://agent-device.dev/","bugs":{"url":"https://github.com/callstack/agent-device/issues"},"bin":{"agent-device":"bin/agent-device.mjs"},"dist":{"shasum":"6ebfe83de6efe0b375e6d2e79ddbe6901dbd99b5","tarball":"https://registry.npmjs.org/agent-device/-/agent-device-0.21.37-nightly.20261103.128.tgz","fileCount":771,"integrity":"sha512-UYkZbqdgZ42SCljVr+Z2yxAZrd0K88PWqHLJc0k0JZ4vK9+JiuqUo5xyaZsm2SWSod6OxoJv+rCmNKXKwka4mg==","signatures":[{"sig":"MEYCIQCvJDKwdhy2oaqztwRRv2saxGZlBb+a+Rtnjlthroo3GgIhAJgBMftzQyvzthSiwJX4rrGe9RuEcaNXnlpayg+B71UN","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIBVYk3zte9oPzYJlFj04joaooe7AYQCkwgPOBfdK/n6RAiEA+5RCEu3aNCGoxpp4nVxovl5aVsFwx5pG0y4LrMhBtsI=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/agent-device@0.21.37-nightly.20261103.128","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":5703066},"main":"dist/src/index.js","type":"module","_from":"file:/home/runner/work/_temp/npm-packages/agent-device-0.21.37-nightly.20261103.128.tgz","types":"dist/src/index.d.ts","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"}},"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":"node --experimental-strip-types scripts/check-affected/run.ts --run --full","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.typecheck.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","perf:compare":"node --experimental-strip-types scripts/perf/compare-cli.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:native-dupes:test && pnpm check:native-dupes && 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/entries.test.ts scripts/depgraph/import-graph.test.ts scripts/depgraph/affected.test.ts scripts/depgraph/structure-summary.test.ts tools/depgraph-view/*.test.mjs","mutation:test":"node --experimental-strip-types scripts/node-test-tmpdir.ts --experimental-strip-types --test scripts/mutation/*.test.ts","test:coverage":"vitest run --coverage --allowOnly=false --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 --experimental-strip-types 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":"fr","explain:command":"node --experimental-strip-types scripts/explain-command.ts","fallow:baseline":"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 --allowOnly=false --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 test/repo-guards/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:native-dupes":"jscpd --config .jscpd-native.json --baseline native-dupes-baseline.json --fail-on-new-clones --fail-on-empty","check:tmpdir-leaks":"node --experimental-strip-types scripts/check-tmpdir-leaks.ts","clean:xcuitest:ios":"node --experimental-strip-types 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/*.test.ts scripts/lib/vitest-projects.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 --experimental-strip-types 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","native-dupes:report":"jscpd --config .jscpd-native.json --baseline native-dupes-baseline.json --fail-on-empty","print:alert-surface":"node --experimental-strip-types scripts/print-alert-surface-tree.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 --experimental-strip-types scripts/clean-xcuitest-derived.mjs macos","test-app:maestro:ios":"pnpm test-app:maestro --platform ios","capture:alert-surface":"node --experimental-strip-types scripts/capture-alert-surface.ts","generate:capabilities":"node --experimental-strip-types scripts/capability-matrix/generate.ts --write","native-dupes:baseline":"jscpd --config .jscpd-native.json --baseline native-dupes-baseline.json --update-baseline --fail-on-empty","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:native-dupes:test":"node --experimental-strip-types scripts/node-test-tmpdir.ts --experimental-strip-types --test scripts/native-dupes/check.test.ts","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 --experimental-strip-types 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","bench:android:automation":"node scripts/bench-android-automation.mjs","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 scripts/coverage-crap/stamp.test.ts scripts/vitest-coverage-run-stamp-reporter.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 packages/daemon/test/nightly/concurrency-torture.test.ts","build:xcuitest:tvos:clean":"pnpm clean:xcuitest:tvos && pnpm build:xcuitest:tvos","check:capabilities-matrix":"vitest run --project unit-core test/repo-guards/capability-matrix.test.ts","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/lib/repo-git.test.ts scripts/lib/repo-path.test.ts 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"}},"_resolved":"/home/runner/work/_temp/npm-packages/agent-device-0.21.37-nightly.20261103.128.tgz","_integrity":"sha512-UYkZbqdgZ42SCljVr+Z2yxAZrd0K88PWqHLJc0k0JZ4vK9+JiuqUo5xyaZsm2SWSod6OxoJv+rCmNKXKwka4mg==","repository":{"url":"git+https://github.com/callstack/agent-device.git","type":"git"},"_npmVersion":"11.8.0","description":"Open source device layer for AI coding agents: a CLI, MCP server, and typed Node.js API to control mobile, web, TV, and desktop apps on devices and simulators, locally or in the cloud.","directories":{},"_nodeVersion":"24.13.1","_hasShrinkwrap":false,"packageManager":"pnpm@11.17.0","readmeFilename":"README.md","devDependencies":{"ai":"^7.0.68","vite":"^8.3.5","yaml":"^2.9.0","jscpd":"5.4.2","oxfmt":"^0.67.0","pngjs":"^7.0.0","yauzl":"^3.4.0","fallow":"3.34.0","oxlint":"^1.79.0","tsdown":"^0.22.14","undici":"7.30.1","vitest":"5.0.4","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.64.1","@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:*","@agent-device/revyl":"workspace:*","@agent-device/webos":"workspace:*","@chenglou/freerange":"^0.0.4","@nkzw/eslint-plugin":"^2.0.0","@nkzw/oxlint-config":"^1.3.0","@vitest/coverage-v8":"5.0.4","@agent-device/client":"workspace:*","@agent-device/daemon":"workspace:*","@agent-device/kernel":"workspace:*","@agent-device/remote":"workspace:*","@agent-device/testmu":"workspace:*","@agent-device/tv-cdp":"workspace:*","@stryker-mutator/api":"10.0.0","@agent-device/maestro":"workspace:*","@agent-device/plugins":"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/apple-runner":"workspace:*","@agent-device/platform-web":"workspace:*","@agent-device/react-native":"workspace:*","@agent-device/daemon-client":"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/command-output":"workspace:*","@agent-device/platform-apple":"workspace:*","@agent-device/platform-linux":"workspace:*","@agent-device/command-runtime":"workspace:*","@agent-device/command-surface":"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.37-nightly.20261103.128_1793702297650_0.8087028718110935","host":"s3://npm-registry-packages-npm-production"}},"0.21.37-nightly.20261106.150":{"name":"agent-device","version":"0.21.37-nightly.20261106.150","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"],"author":{"name":"Callstack"},"license":"MIT","_id":"agent-device@0.21.37-nightly.20261106.150","maintainers":[{"name":"thymikee","email":"thymikee@gmail.com"}],"homepage":"https://agent-device.dev/","bugs":{"url":"https://github.com/callstack/agent-device/issues"},"bin":{"agent-device":"bin/agent-device.mjs"},"dist":{"shasum":"8f2704f198afb4f0e4c3af62b91f18065d703654","tarball":"https://registry.npmjs.org/agent-device/-/agent-device-0.21.37-nightly.20261106.150.tgz","fileCount":807,"integrity":"sha512-ZiCaGGWUxbrrXsIAqEkcToOgUkFlOvO04fPCHEynoEz6Cu3/ULgJfEWpsWz5kkNkN1FvIHut6s4XDV/AIfRKTw==","signatures":[{"sig":"MEUCIDmoChVQx2raJElh3ESHuYaSKQbq00gUWhgZuSVzW7MIAiEAxmydylmXOsVFUVORptQ4Cg3WjC2vcotzq+lcCiqNbYo=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIQCu0OGiIIfgPXHqfK8YhRlmMZQvXaCIqaovaDWFxGo98gIgTonuWJR1tOilwDhpfuAsSMdVr8MwoukyHaDWjzvYMs4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/agent-device@0.21.37-nightly.20261106.150","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":6154023},"main":"dist/src/index.js","type":"module","_from":"file:/home/runner/work/_temp/npm-packages/agent-device-0.21.37-nightly.20261106.150.tgz","types":"dist/src/index.d.ts","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"}},"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":"node --experimental-strip-types scripts/check-affected/run.ts --run --full","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.typecheck.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","perf:compare":"node --experimental-strip-types scripts/perf/compare-cli.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:native-dupes:test && pnpm check:native-dupes && 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/entries.test.ts scripts/depgraph/import-graph.test.ts scripts/depgraph/affected.test.ts scripts/depgraph/structure-summary.test.ts tools/depgraph-view/*.test.mjs","mutation:test":"node --experimental-strip-types scripts/node-test-tmpdir.ts --experimental-strip-types --test scripts/mutation/*.test.ts","test:coverage":"vitest run --coverage --allowOnly=false --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 --experimental-strip-types 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":"fr","explain:command":"node --experimental-strip-types scripts/explain-command.ts","fallow:baseline":"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 --allowOnly=false --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 test/repo-guards/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:native-dupes":"jscpd --config .jscpd-native.json --baseline native-dupes-baseline.json --fail-on-new-clones --fail-on-empty","check:tmpdir-leaks":"node --experimental-strip-types scripts/check-tmpdir-leaks.ts","clean:xcuitest:ios":"node --experimental-strip-types 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/*.test.ts scripts/lib/vitest-projects.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 --experimental-strip-types 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","native-dupes:report":"jscpd --config .jscpd-native.json --baseline native-dupes-baseline.json --fail-on-empty","print:alert-surface":"node --experimental-strip-types scripts/swift-toolchain-tmpdir.ts swift run --package-path apple/snapshot-presentation snapshot-presentation-conformance print-alert-surface","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 --experimental-strip-types scripts/clean-xcuitest-derived.mjs macos","test-app:maestro:ios":"pnpm test-app:maestro --platform ios","capture:alert-surface":"node --experimental-strip-types scripts/capture-alert-surface.ts","generate:capabilities":"node --experimental-strip-types scripts/capability-matrix/generate.ts --write","native-dupes:baseline":"jscpd --config .jscpd-native.json --baseline native-dupes-baseline.json --update-baseline --fail-on-empty","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:native-dupes:test":"node --experimental-strip-types scripts/node-test-tmpdir.ts --experimental-strip-types --test scripts/native-dupes/check.test.ts","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 --experimental-strip-types 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","bench:android:automation":"node scripts/bench-android-automation.mjs","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 scripts/coverage-crap/stamp.test.ts scripts/vitest-coverage-run-stamp-reporter.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 packages/daemon/test/nightly/concurrency-torture.test.ts","build:xcuitest:tvos:clean":"pnpm clean:xcuitest:tvos && pnpm build:xcuitest:tvos","check:capabilities-matrix":"vitest run --project unit-core test/repo-guards/capability-matrix.test.ts","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/lib/repo-git.test.ts scripts/lib/repo-path.test.ts 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"}},"_resolved":"/home/runner/work/_temp/npm-packages/agent-device-0.21.37-nightly.20261106.150.tgz","_integrity":"sha512-ZiCaGGWUxbrrXsIAqEkcToOgUkFlOvO04fPCHEynoEz6Cu3/ULgJfEWpsWz5kkNkN1FvIHut6s4XDV/AIfRKTw==","repository":{"url":"git+https://github.com/callstack/agent-device.git","type":"git"},"_npmVersion":"11.8.0","description":"Open source device layer for AI coding agents: a CLI, MCP server, and typed Node.js API to control mobile, web, TV, and desktop apps on devices and simulators, locally or in the cloud.","directories":{},"_nodeVersion":"24.13.1","_hasShrinkwrap":false,"packageManager":"pnpm@11.17.0","readmeFilename":"README.md","devDependencies":{"ai":"^7.0.68","vite":"^8.3.5","yaml":"^2.9.0","jscpd":"5.4.2","oxfmt":"^0.67.0","plist":"5.0.0","pngjs":"^7.0.0","yauzl":"^3.4.0","fallow":"3.34.0","oxlint":"^1.79.0","tsdown":"^0.22.14","undici":"7.30.1","vitest":"5.0.4","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.69.1","@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:*","@agent-device/revyl":"workspace:*","@agent-device/webos":"workspace:*","@chenglou/freerange":"^0.0.4","@nkzw/eslint-plugin":"^2.0.0","@nkzw/oxlint-config":"^1.3.0","@vitest/coverage-v8":"5.0.4","@agent-device/client":"workspace:*","@agent-device/daemon":"workspace:*","@agent-device/kernel":"workspace:*","@agent-device/remote":"workspace:*","@agent-device/testmu":"workspace:*","@agent-device/tv-cdp":"workspace:*","@stryker-mutator/api":"10.0.0","@agent-device/maestro":"workspace:*","@agent-device/plugins":"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/apple-runner":"workspace:*","@agent-device/platform-web":"workspace:*","@agent-device/react-native":"workspace:*","@agent-device/daemon-client":"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/command-output":"workspace:*","@agent-device/platform-apple":"workspace:*","@agent-device/platform-linux":"workspace:*","@agent-device/command-runtime":"workspace:*","@agent-device/command-surface":"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.37-nightly.20261106.150_1793985357397_0.8902588301763634","host":"s3://npm-registry-packages-npm-production"}},"0.21.37-nightly.20261107.151":{"name":"agent-device","version":"0.21.37-nightly.20261107.151","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"],"author":{"name":"Callstack"},"license":"MIT","_id":"agent-device@0.21.37-nightly.20261107.151","maintainers":[{"name":"thymikee","email":"thymikee@gmail.com"}],"homepage":"https://agent-device.dev/","bugs":{"url":"https://github.com/callstack/agent-device/issues"},"bin":{"agent-device":"bin/agent-device.mjs"},"dist":{"shasum":"ce0be39624e279ed1075374d4d1a8a37a5f787a1","tarball":"https://registry.npmjs.org/agent-device/-/agent-device-0.21.37-nightly.20261107.151.tgz","fileCount":808,"integrity":"sha512-0cwQsf8C9XgrzsoTddn8pbl8lRQ1Fkyi1pz3joe+nr+2LvsaiOJI7Bq5/vbTCOkEEjoAK4dsT2iCRxHVu4LG4w==","signatures":[{"sig":"MEUCIEPQoMUjtw5B0SQ8TsjOuG5LcC9NHz4JVpIqoo19d44SAiEA5mHJxQMAhyiTF2OWCe0aSgcKgpqHX6dlL6MTydEqCfc=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIBrAW1u3Bkxxv2zY2Vob9CI9z7eX4SXlmtr9JFmgYsmxAiEA26hC03+J+8tTlkqrWQUsoxKjM3iTdt7g00VAHTgk6jg=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/agent-device@0.21.37-nightly.20261107.151","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":6158273},"main":"dist/src/index.js","type":"module","_from":"file:/home/runner/work/_temp/npm-packages/agent-device-0.21.37-nightly.20261107.151.tgz","types":"dist/src/index.d.ts","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"}},"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":"node --experimental-strip-types scripts/check-affected/run.ts --run --full","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.typecheck.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","perf:compare":"node --experimental-strip-types scripts/perf/compare-cli.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:native-dupes:test && pnpm check:native-dupes && 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/entries.test.ts scripts/depgraph/import-graph.test.ts scripts/depgraph/affected.test.ts scripts/depgraph/structure-summary.test.ts tools/depgraph-view/*.test.mjs","mutation:test":"node --experimental-strip-types scripts/node-test-tmpdir.ts --experimental-strip-types --test scripts/mutation/*.test.ts","test:coverage":"vitest run --coverage --allowOnly=false --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 --experimental-strip-types 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":"fr","explain:command":"node --experimental-strip-types scripts/explain-command.ts","fallow:baseline":"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 --allowOnly=false --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 test/repo-guards/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:native-dupes":"jscpd --config .jscpd-native.json --baseline native-dupes-baseline.json --fail-on-new-clones --fail-on-empty","check:tmpdir-leaks":"node --experimental-strip-types scripts/check-tmpdir-leaks.ts","clean:xcuitest:ios":"node --experimental-strip-types 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/*.test.ts scripts/lib/vitest-projects.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 --experimental-strip-types 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","native-dupes:report":"jscpd --config .jscpd-native.json --baseline native-dupes-baseline.json --fail-on-empty","print:alert-surface":"node --experimental-strip-types scripts/swift-toolchain-tmpdir.ts swift run --package-path apple/snapshot-presentation snapshot-presentation-conformance print-alert-surface","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 --experimental-strip-types scripts/clean-xcuitest-derived.mjs macos","test-app:maestro:ios":"pnpm test-app:maestro --platform ios","capture:alert-surface":"node --experimental-strip-types scripts/capture-alert-surface.ts","generate:capabilities":"node --experimental-strip-types scripts/capability-matrix/generate.ts --write","native-dupes:baseline":"jscpd --config .jscpd-native.json --baseline native-dupes-baseline.json --update-baseline --fail-on-empty","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:native-dupes:test":"node --experimental-strip-types scripts/node-test-tmpdir.ts --experimental-strip-types --test scripts/native-dupes/check.test.ts","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 --experimental-strip-types 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","bench:android:automation":"node scripts/bench-android-automation.mjs","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 scripts/coverage-crap/stamp.test.ts scripts/vitest-coverage-run-stamp-reporter.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 packages/daemon/test/nightly/concurrency-torture.test.ts","build:xcuitest:tvos:clean":"pnpm clean:xcuitest:tvos && pnpm build:xcuitest:tvos","check:capabilities-matrix":"vitest run --project unit-core test/repo-guards/capability-matrix.test.ts","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/lib/repo-git.test.ts scripts/lib/repo-path.test.ts 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"}},"_resolved":"/home/runner/work/_temp/npm-packages/agent-device-0.21.37-nightly.20261107.151.tgz","_integrity":"sha512-0cwQsf8C9XgrzsoTddn8pbl8lRQ1Fkyi1pz3joe+nr+2LvsaiOJI7Bq5/vbTCOkEEjoAK4dsT2iCRxHVu4LG4w==","repository":{"url":"git+https://github.com/callstack/agent-device.git","type":"git"},"_npmVersion":"11.8.0","description":"Open source device layer for AI coding agents: a CLI, MCP server, and typed Node.js API to control mobile, web, TV, and desktop apps on devices and simulators, locally or in the cloud.","directories":{},"_nodeVersion":"24.13.1","_hasShrinkwrap":false,"packageManager":"pnpm@11.17.0","readmeFilename":"README.md","devDependencies":{"ai":"^7.0.68","vite":"^8.3.5","yaml":"^2.9.0","jscpd":"5.4.2","oxfmt":"^0.67.0","plist":"5.0.0","pngjs":"^7.0.0","yauzl":"^3.4.0","fallow":"3.34.0","oxlint":"^1.79.0","tsdown":"^0.22.14","undici":"7.30.1","vitest":"5.0.4","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.69.1","@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:*","@agent-device/revyl":"workspace:*","@agent-device/webos":"workspace:*","@chenglou/freerange":"^0.0.4","@nkzw/eslint-plugin":"^2.0.0","@nkzw/oxlint-config":"^1.3.0","@vitest/coverage-v8":"5.0.4","@agent-device/client":"workspace:*","@agent-device/daemon":"workspace:*","@agent-device/kernel":"workspace:*","@agent-device/remote":"workspace:*","@agent-device/testmu":"workspace:*","@agent-device/tv-cdp":"workspace:*","@stryker-mutator/api":"10.0.0","@agent-device/maestro":"workspace:*","@agent-device/plugins":"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/apple-runner":"workspace:*","@agent-device/platform-web":"workspace:*","@agent-device/react-native":"workspace:*","@agent-device/daemon-client":"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/command-output":"workspace:*","@agent-device/platform-apple":"workspace:*","@agent-device/platform-linux":"workspace:*","@agent-device/command-runtime":"workspace:*","@agent-device/command-surface":"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.37-nightly.20261107.151_1794015278481_0.00739459704363743","host":"s3://npm-registry-packages-npm-production"}},"0.21.37-nightly.20261108.152":{"name":"agent-device","version":"0.21.37-nightly.20261108.152","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"],"author":{"name":"Callstack"},"license":"MIT","_id":"agent-device@0.21.37-nightly.20261108.152","maintainers":[{"name":"thymikee","email":"thymikee@gmail.com"}],"homepage":"https://agent-device.dev/","bugs":{"url":"https://github.com/callstack/agent-device/issues"},"bin":{"agent-device":"bin/agent-device.mjs"},"dist":{"shasum":"a001d28d52b925e278017172c3c150c702d40505","tarball":"https://registry.npmjs.org/agent-device/-/agent-device-0.21.37-nightly.20261108.152.tgz","fileCount":810,"integrity":"sha512-YdC95Ly2IjwTTy7lwTkLMlhM2q3nfVmASRy/w+Zx57Kb4L3mY65wn+jWaSTeKhkz0t4Xs9GwmG5NrXlza9rAkQ==","signatures":[{"sig":"MEYCIQCzhmvD+ZLqUoyyFDluj0cU+00KNCWwBAbroYDvXrcbkQIhANB6zdXae+MazDT86m8EmNYHYA67VZNv5Kxz3sB+MILa","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEYCIQD8hnbDHnOxbLmc+TxAcY/DgMREz1x5o9QX1xnJrezeAAIhALwvGRHpu3DKMkd2JEHtS9N+Eo/7raxGldWE6EoWPkx9","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/agent-device@0.21.37-nightly.20261108.152","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":6189697},"main":"dist/src/index.js","type":"module","_from":"file:/home/runner/work/_temp/npm-packages/agent-device-0.21.37-nightly.20261108.152.tgz","types":"dist/src/index.d.ts","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"}},"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":"node --experimental-strip-types scripts/check-affected/run.ts --run --full","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.typecheck.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","perf:compare":"node --experimental-strip-types scripts/perf/compare-cli.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:native-dupes:test && pnpm check:native-dupes && 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/entries.test.ts scripts/depgraph/import-graph.test.ts scripts/depgraph/affected.test.ts scripts/depgraph/structure-summary.test.ts tools/depgraph-view/*.test.mjs","mutation:test":"node --experimental-strip-types scripts/node-test-tmpdir.ts --experimental-strip-types --test scripts/mutation/*.test.ts","test:coverage":"vitest run --coverage --allowOnly=false --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 --experimental-strip-types 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":"fr","explain:command":"node --experimental-strip-types scripts/explain-command.ts","fallow:baseline":"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 --allowOnly=false --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 test/repo-guards/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:native-dupes":"jscpd --config .jscpd-native.json --baseline native-dupes-baseline.json --fail-on-new-clones --fail-on-empty","check:tmpdir-leaks":"node --experimental-strip-types scripts/check-tmpdir-leaks.ts","clean:xcuitest:ios":"node --experimental-strip-types 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/*.test.ts scripts/lib/vitest-projects.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 --experimental-strip-types 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","native-dupes:report":"jscpd --config .jscpd-native.json --baseline native-dupes-baseline.json --fail-on-empty","print:alert-surface":"node --experimental-strip-types scripts/swift-toolchain-tmpdir.ts swift run --package-path apple/snapshot-presentation snapshot-presentation-conformance print-alert-surface","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 --experimental-strip-types scripts/clean-xcuitest-derived.mjs macos","test-app:maestro:ios":"pnpm test-app:maestro --platform ios","capture:alert-surface":"node --experimental-strip-types scripts/capture-alert-surface.ts","generate:capabilities":"node --experimental-strip-types scripts/capability-matrix/generate.ts --write","native-dupes:baseline":"jscpd --config .jscpd-native.json --baseline native-dupes-baseline.json --update-baseline --fail-on-empty","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:native-dupes:test":"node --experimental-strip-types scripts/node-test-tmpdir.ts --experimental-strip-types --test scripts/native-dupes/check.test.ts","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 --experimental-strip-types 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","bench:android:automation":"node scripts/bench-android-automation.mjs","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 scripts/coverage-crap/stamp.test.ts scripts/vitest-coverage-run-stamp-reporter.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 packages/daemon/test/nightly/concurrency-torture.test.ts","build:xcuitest:tvos:clean":"pnpm clean:xcuitest:tvos && pnpm build:xcuitest:tvos","check:capabilities-matrix":"vitest run --project unit-core test/repo-guards/capability-matrix.test.ts","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/lib/repo-git.test.ts scripts/lib/repo-path.test.ts 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"}},"_resolved":"/home/runner/work/_temp/npm-packages/agent-device-0.21.37-nightly.20261108.152.tgz","_integrity":"sha512-YdC95Ly2IjwTTy7lwTkLMlhM2q3nfVmASRy/w+Zx57Kb4L3mY65wn+jWaSTeKhkz0t4Xs9GwmG5NrXlza9rAkQ==","repository":{"url":"git+https://github.com/callstack/agent-device.git","type":"git"},"_npmVersion":"11.8.0","description":"Open source device layer for AI coding agents: a CLI, MCP server, and typed Node.js API to control mobile, web, TV, and desktop apps on devices and simulators, locally or in the cloud.","directories":{},"_nodeVersion":"24.13.1","_hasShrinkwrap":false,"packageManager":"pnpm@11.17.0","readmeFilename":"README.md","devDependencies":{"ai":"^7.0.68","vite":"^8.3.5","yaml":"^2.9.0","jscpd":"5.4.2","oxfmt":"^0.67.0","plist":"5.0.0","pngjs":"^7.0.0","yauzl":"^3.4.0","fallow":"3.34.0","oxlint":"^1.79.0","tsdown":"^0.22.14","undici":"7.30.1","vitest":"5.0.4","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.69.1","@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:*","@agent-device/revyl":"workspace:*","@agent-device/webos":"workspace:*","@chenglou/freerange":"^0.0.4","@nkzw/eslint-plugin":"^2.0.0","@nkzw/oxlint-config":"^1.3.0","@vitest/coverage-v8":"5.0.4","@agent-device/client":"workspace:*","@agent-device/daemon":"workspace:*","@agent-device/kernel":"workspace:*","@agent-device/remote":"workspace:*","@agent-device/testmu":"workspace:*","@agent-device/tv-cdp":"workspace:*","@stryker-mutator/api":"10.0.0","@agent-device/maestro":"workspace:*","@agent-device/plugins":"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/apple-runner":"workspace:*","@agent-device/platform-web":"workspace:*","@agent-device/react-native":"workspace:*","@agent-device/daemon-client":"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/command-output":"workspace:*","@agent-device/platform-apple":"workspace:*","@agent-device/platform-linux":"workspace:*","@agent-device/command-runtime":"workspace:*","@agent-device/command-surface":"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.37-nightly.20261108.152_1794101632044_0.023958693613645332","host":"s3://npm-registry-packages-npm-production"}},"0.21.37-nightly.20261109.153":{"name":"agent-device","version":"0.21.37-nightly.20261109.153","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"],"author":{"name":"Callstack"},"license":"MIT","_id":"agent-device@0.21.37-nightly.20261109.153","maintainers":[{"name":"thymikee","email":"thymikee@gmail.com"}],"homepage":"https://agent-device.dev/","bugs":{"url":"https://github.com/callstack/agent-device/issues"},"bin":{"agent-device":"bin/agent-device.mjs"},"dist":{"shasum":"545cbd073faa3059b52442cfc1e54021a136c7cf","tarball":"https://registry.npmjs.org/agent-device/-/agent-device-0.21.37-nightly.20261109.153.tgz","fileCount":813,"integrity":"sha512-0BXhUAGerCIzgVK0dpn1Jseve7U5Z4dSg/jdOi3A2hpr1Ram9S8nZ1fkAipbJYwRE8d9taoWU6oI5PqsTNeDeQ==","signatures":[{"sig":"MEQCIDIq7wof5uk3/r60NplxUld6mxcjlv2FMSPdIuKK4uAeAiBgKceJf1RcMdpNCGyo4VEomLH9UchIHqPYqKuL5+Eu2w==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIQCGHRu1zxsWfUo0oHzsZq8YN4vqDbAPyF+9gJMWEduKVwIgSFb1oBgnXadR8gOhDmXQl6uxLhmdiVnrKd+22HL1F/Y=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/agent-device@0.21.37-nightly.20261109.153","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":6195710},"main":"dist/src/index.js","type":"module","_from":"file:/home/runner/work/_temp/npm-packages/agent-device-0.21.37-nightly.20261109.153.tgz","types":"dist/src/index.d.ts","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"}},"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":"node --experimental-strip-types scripts/check-affected/run.ts --run --full","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.typecheck.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","perf:compare":"node --experimental-strip-types scripts/perf/compare-cli.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:native-dupes:test && pnpm check:native-dupes && 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/entries.test.ts scripts/depgraph/import-graph.test.ts scripts/depgraph/affected.test.ts scripts/depgraph/structure-summary.test.ts tools/depgraph-view/*.test.mjs","mutation:test":"node --experimental-strip-types scripts/node-test-tmpdir.ts --experimental-strip-types --test scripts/mutation/*.test.ts","test:coverage":"vitest run --coverage --allowOnly=false --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 --experimental-strip-types 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":"fr","explain:command":"node --experimental-strip-types scripts/explain-command.ts","fallow:baseline":"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 --allowOnly=false --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 test/repo-guards/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:native-dupes":"jscpd --config .jscpd-native.json --baseline native-dupes-baseline.json --fail-on-new-clones --fail-on-empty","check:tmpdir-leaks":"node --experimental-strip-types scripts/check-tmpdir-leaks.ts","clean:xcuitest:ios":"node --experimental-strip-types 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/*.test.ts scripts/lib/vitest-projects.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 --experimental-strip-types 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","native-dupes:report":"jscpd --config .jscpd-native.json --baseline native-dupes-baseline.json --fail-on-empty","print:alert-surface":"node --experimental-strip-types scripts/swift-toolchain-tmpdir.ts swift run --package-path apple/snapshot-presentation snapshot-presentation-conformance print-alert-surface","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 --experimental-strip-types scripts/clean-xcuitest-derived.mjs macos","test-app:maestro:ios":"pnpm test-app:maestro --platform ios","capture:alert-surface":"node --experimental-strip-types scripts/capture-alert-surface.ts","generate:capabilities":"node --experimental-strip-types scripts/capability-matrix/generate.ts --write","native-dupes:baseline":"jscpd --config .jscpd-native.json --baseline native-dupes-baseline.json --update-baseline --fail-on-empty","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:native-dupes:test":"node --experimental-strip-types scripts/node-test-tmpdir.ts --experimental-strip-types --test scripts/native-dupes/check.test.ts","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 --experimental-strip-types 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","bench:android:automation":"node scripts/bench-android-automation.mjs","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 scripts/coverage-crap/stamp.test.ts scripts/vitest-coverage-run-stamp-reporter.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 packages/daemon/test/nightly/concurrency-torture.test.ts","build:xcuitest:tvos:clean":"pnpm clean:xcuitest:tvos && pnpm build:xcuitest:tvos","check:capabilities-matrix":"vitest run --project unit-core test/repo-guards/capability-matrix.test.ts","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/lib/repo-git.test.ts scripts/lib/repo-path.test.ts 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"}},"_resolved":"/home/runner/work/_temp/npm-packages/agent-device-0.21.37-nightly.20261109.153.tgz","_integrity":"sha512-0BXhUAGerCIzgVK0dpn1Jseve7U5Z4dSg/jdOi3A2hpr1Ram9S8nZ1fkAipbJYwRE8d9taoWU6oI5PqsTNeDeQ==","repository":{"url":"git+https://github.com/callstack/agent-device.git","type":"git"},"_npmVersion":"11.8.0","description":"Open source device layer for AI coding agents: a CLI, MCP server, and typed Node.js API to control mobile, web, TV, and desktop apps on devices and simulators, locally or in the cloud.","directories":{},"_nodeVersion":"24.13.1","_hasShrinkwrap":false,"packageManager":"pnpm@11.17.0","readmeFilename":"README.md","devDependencies":{"ai":"^7.0.68","vite":"^8.3.5","yaml":"^2.9.0","jscpd":"5.4.2","oxfmt":"^0.67.0","plist":"5.0.0","pngjs":"^7.0.0","yauzl":"^3.4.0","fallow":"3.34.0","oxlint":"^1.79.0","tsdown":"^0.22.14","undici":"7.30.1","vitest":"5.0.4","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.69.1","@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:*","@agent-device/revyl":"workspace:*","@agent-device/webos":"workspace:*","@chenglou/freerange":"^0.0.4","@nkzw/eslint-plugin":"^2.0.0","@nkzw/oxlint-config":"^1.3.0","@vitest/coverage-v8":"5.0.4","@agent-device/client":"workspace:*","@agent-device/daemon":"workspace:*","@agent-device/kernel":"workspace:*","@agent-device/remote":"workspace:*","@agent-device/testmu":"workspace:*","@agent-device/tv-cdp":"workspace:*","@stryker-mutator/api":"10.0.0","@agent-device/maestro":"workspace:*","@agent-device/plugins":"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/apple-runner":"workspace:*","@agent-device/platform-web":"workspace:*","@agent-device/react-native":"workspace:*","@agent-device/daemon-client":"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/command-output":"workspace:*","@agent-device/platform-apple":"workspace:*","@agent-device/platform-linux":"workspace:*","@agent-device/command-runtime":"workspace:*","@agent-device/command-surface":"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.37-nightly.20261109.153_1794187940182_0.36389084594812227","host":"s3://npm-registry-packages-npm-production"}},"0.21.37-nightly.20261110.154":{"name":"agent-device","version":"0.21.37-nightly.20261110.154","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"],"author":{"name":"Callstack"},"license":"MIT","_id":"agent-device@0.21.37-nightly.20261110.154","maintainers":[{"name":"thymikee","email":"thymikee@gmail.com"}],"homepage":"https://agent-device.dev/","bugs":{"url":"https://github.com/callstack/agent-device/issues"},"bin":{"agent-device":"bin/agent-device.mjs"},"dist":{"shasum":"f2090e23e6f53520a34767ecca4eea915ccb6325","tarball":"https://registry.npmjs.org/agent-device/-/agent-device-0.21.37-nightly.20261110.154.tgz","fileCount":813,"integrity":"sha512-XVQoXwoYDhqET9fPvIwPY2iaO3bZyjBkAch5AFiIBiJxDMMgs6GRagDM8lbx3V3njWsZh0zs2o6SUk0ejztprw==","signatures":[{"sig":"MEUCIQCKi8WkHswWseZLGL8Hlvf9YSo+DyqX0By8LBrWEzoSDAIgM9pIX5FPq0FQ4nKyJ/Gd//fPXEj0F+R62mPmmflSmJw=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEYCIQDP5F9JSrrPSM+d29BdeFtMulRgMW9DzpSFCgGMW51/gAIhAJIJ+Rd22o6inm/j4XzJ7hpu4UJEsTfXM/nEulTBMOoO","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/agent-device@0.21.37-nightly.20261110.154","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":6196202},"main":"dist/src/index.js","type":"module","_from":"file:/home/runner/work/_temp/npm-packages/agent-device-0.21.37-nightly.20261110.154.tgz","types":"dist/src/index.d.ts","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"}},"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":"node --experimental-strip-types scripts/check-affected/run.ts --run --full","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.typecheck.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","perf:compare":"node --experimental-strip-types scripts/perf/compare-cli.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:native-dupes:test && pnpm check:native-dupes && 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/entries.test.ts scripts/depgraph/import-graph.test.ts scripts/depgraph/affected.test.ts scripts/depgraph/structure-summary.test.ts tools/depgraph-view/*.test.mjs","mutation:test":"node --experimental-strip-types scripts/node-test-tmpdir.ts --experimental-strip-types --test scripts/mutation/*.test.ts","test:coverage":"vitest run --coverage --allowOnly=false --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 --experimental-strip-types 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":"fr","explain:command":"node --experimental-strip-types scripts/explain-command.ts","fallow:baseline":"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 --allowOnly=false --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 test/repo-guards/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:native-dupes":"jscpd --config .jscpd-native.json --baseline native-dupes-baseline.json --fail-on-new-clones --fail-on-empty","check:tmpdir-leaks":"node --experimental-strip-types scripts/check-tmpdir-leaks.ts","clean:xcuitest:ios":"node --experimental-strip-types 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:adr-citations":"vitest run --project unit-core test/repo-guards/adr-citations.test.ts","check:affected:test":"node --experimental-strip-types scripts/node-test-tmpdir.ts --experimental-strip-types --test scripts/check-affected/*.test.ts scripts/lib/vitest-projects.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 --experimental-strip-types 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","native-dupes:report":"jscpd --config .jscpd-native.json --baseline native-dupes-baseline.json --fail-on-empty","print:alert-surface":"node --experimental-strip-types scripts/swift-toolchain-tmpdir.ts swift run --package-path apple/snapshot-presentation snapshot-presentation-conformance print-alert-surface","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 --experimental-strip-types scripts/clean-xcuitest-derived.mjs macos","test-app:maestro:ios":"pnpm test-app:maestro --platform ios","capture:alert-surface":"node --experimental-strip-types scripts/capture-alert-surface.ts","generate:capabilities":"node --experimental-strip-types scripts/capability-matrix/generate.ts --write","native-dupes:baseline":"jscpd --config .jscpd-native.json --baseline native-dupes-baseline.json --update-baseline --fail-on-empty","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:native-dupes:test":"node --experimental-strip-types scripts/node-test-tmpdir.ts --experimental-strip-types --test scripts/native-dupes/check.test.ts","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 --experimental-strip-types 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","bench:android:automation":"node scripts/bench-android-automation.mjs","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 scripts/coverage-crap/stamp.test.ts scripts/vitest-coverage-run-stamp-reporter.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 packages/daemon/test/nightly/concurrency-torture.test.ts","build:xcuitest:tvos:clean":"pnpm clean:xcuitest:tvos && pnpm build:xcuitest:tvos","check:capabilities-matrix":"vitest run --project unit-core test/repo-guards/capability-matrix.test.ts","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/lib/repo-git.test.ts scripts/lib/repo-path.test.ts 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"}},"_resolved":"/home/runner/work/_temp/npm-packages/agent-device-0.21.37-nightly.20261110.154.tgz","_integrity":"sha512-XVQoXwoYDhqET9fPvIwPY2iaO3bZyjBkAch5AFiIBiJxDMMgs6GRagDM8lbx3V3njWsZh0zs2o6SUk0ejztprw==","repository":{"url":"git+https://github.com/callstack/agent-device.git","type":"git"},"_npmVersion":"11.8.0","description":"Open source device layer for AI coding agents: a CLI, MCP server, and typed Node.js API to control mobile, web, TV, and desktop apps on devices and simulators, locally or in the cloud.","directories":{},"_nodeVersion":"24.13.1","_hasShrinkwrap":false,"packageManager":"pnpm@11.17.0","readmeFilename":"README.md","devDependencies":{"ai":"^7.0.68","vite":"^8.3.5","yaml":"^2.9.0","jscpd":"5.4.2","oxfmt":"^0.67.0","plist":"5.0.0","pngjs":"^7.0.0","yauzl":"^3.4.0","fallow":"3.34.0","oxlint":"^1.79.0","tsdown":"^0.22.14","undici":"7.30.1","vitest":"5.0.4","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.69.1","@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:*","@agent-device/revyl":"workspace:*","@agent-device/webos":"workspace:*","@chenglou/freerange":"^0.0.4","@nkzw/eslint-plugin":"^2.0.0","@nkzw/oxlint-config":"^1.3.0","@vitest/coverage-v8":"5.0.4","@agent-device/client":"workspace:*","@agent-device/daemon":"workspace:*","@agent-device/kernel":"workspace:*","@agent-device/remote":"workspace:*","@agent-device/testmu":"workspace:*","@agent-device/tv-cdp":"workspace:*","@stryker-mutator/api":"10.0.0","@agent-device/maestro":"workspace:*","@agent-device/plugins":"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/apple-runner":"workspace:*","@agent-device/platform-web":"workspace:*","@agent-device/react-native":"workspace:*","@agent-device/daemon-client":"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/command-output":"workspace:*","@agent-device/platform-apple":"workspace:*","@agent-device/platform-linux":"workspace:*","@agent-device/command-runtime":"workspace:*","@agent-device/command-surface":"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.37-nightly.20261110.154_1794274403270_0.7911532837198184","host":"s3://npm-registry-packages-npm-production"}},"0.21.37-nightly.20261111.161":{"name":"agent-device","version":"0.21.37-nightly.20261111.161","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"],"author":{"name":"Callstack"},"license":"MIT","_id":"agent-device@0.21.37-nightly.20261111.161","maintainers":[{"name":"thymikee","email":"thymikee@gmail.com"}],"homepage":"https://agent-device.dev/","bugs":{"url":"https://github.com/callstack/agent-device/issues"},"bin":{"agent-device":"bin/agent-device.mjs"},"dist":{"shasum":"96e3c269548fa847322a7b48e488746af297b73d","tarball":"https://registry.npmjs.org/agent-device/-/agent-device-0.21.37-nightly.20261111.161.tgz","fileCount":817,"integrity":"sha512-aTtkUYV82ojJZVoGhMR054ZW3PelQlz0hmcZcssYUbAfxU3vhAUcMQ2FCwCBuQ5q1f9cwH+A+QmvH16zCdtZ2Q==","signatures":[{"sig":"MEUCIHnFN/FkedRKFxjR0Su3qk9fQnWssJOB5uf414rlb8FEAiEAjbTlBRechUxF2SHP9Uzdo+w8SLTVLJqVRsiyAFHIsSI=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIQC8vX8JX8MtUi5TTk3sHss7gx5pDfnLqCnYq25tTwnozAIgMdlK4PC/KDOB2baByQZnAIpDMRDslKPKSNXD3TUsv6U=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/agent-device@0.21.37-nightly.20261111.161","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":6204765},"main":"dist/src/index.js","type":"module","_from":"file:/home/runner/work/_temp/npm-packages/agent-device-0.21.37-nightly.20261111.161.tgz","types":"dist/src/index.d.ts","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"}},"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":"node --experimental-strip-types scripts/check-affected/run.ts --run --full","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.typecheck.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","perf:compare":"node --experimental-strip-types scripts/perf/compare-cli.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:native-dupes:test && pnpm check:native-dupes && 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/entries.test.ts scripts/depgraph/import-graph.test.ts scripts/depgraph/affected.test.ts scripts/depgraph/structure-summary.test.ts tools/depgraph-view/*.test.mjs","mutation:test":"node --experimental-strip-types scripts/node-test-tmpdir.ts --experimental-strip-types --test scripts/mutation/*.test.ts","test:coverage":"vitest run --coverage --allowOnly=false --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 --experimental-strip-types 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":"fr","explain:command":"node --experimental-strip-types scripts/explain-command.ts","fallow:baseline":"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 --allowOnly=false --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 test/repo-guards/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:native-dupes":"jscpd --config .jscpd-native.json --baseline native-dupes-baseline.json --fail-on-new-clones --fail-on-empty","check:tmpdir-leaks":"node --experimental-strip-types scripts/check-tmpdir-leaks.ts","clean:xcuitest:ios":"node --experimental-strip-types 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:adr-citations":"vitest run --project unit-core test/repo-guards/adr-citations.test.ts","check:affected:test":"node --experimental-strip-types scripts/node-test-tmpdir.ts --experimental-strip-types --test scripts/check-affected/*.test.ts scripts/lib/vitest-projects.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 --experimental-strip-types 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","native-dupes:report":"jscpd --config .jscpd-native.json --baseline native-dupes-baseline.json --fail-on-empty","print:alert-surface":"node --experimental-strip-types scripts/swift-toolchain-tmpdir.ts swift run --package-path apple/snapshot-presentation snapshot-presentation-conformance print-alert-surface","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 --experimental-strip-types scripts/clean-xcuitest-derived.mjs macos","test-app:maestro:ios":"pnpm test-app:maestro --platform ios","capture:alert-surface":"node --experimental-strip-types scripts/capture-alert-surface.ts","generate:capabilities":"node --experimental-strip-types scripts/capability-matrix/generate.ts --write","native-dupes:baseline":"jscpd --config .jscpd-native.json --baseline native-dupes-baseline.json --update-baseline --fail-on-empty","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:native-dupes:test":"node --experimental-strip-types scripts/node-test-tmpdir.ts --experimental-strip-types --test scripts/native-dupes/check.test.ts","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 --experimental-strip-types 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","bench:android:automation":"node scripts/bench-android-automation.mjs","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 scripts/coverage-crap/stamp.test.ts scripts/vitest-coverage-run-stamp-reporter.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 packages/daemon/test/nightly/concurrency-torture.test.ts","build:xcuitest:tvos:clean":"pnpm clean:xcuitest:tvos && pnpm build:xcuitest:tvos","check:capabilities-matrix":"vitest run --project unit-core test/repo-guards/capability-matrix.test.ts","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/lib/repo-git.test.ts scripts/lib/repo-path.test.ts 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"}},"_resolved":"/home/runner/work/_temp/npm-packages/agent-device-0.21.37-nightly.20261111.161.tgz","_integrity":"sha512-aTtkUYV82ojJZVoGhMR054ZW3PelQlz0hmcZcssYUbAfxU3vhAUcMQ2FCwCBuQ5q1f9cwH+A+QmvH16zCdtZ2Q==","repository":{"url":"git+https://github.com/callstack/agent-device.git","type":"git"},"_npmVersion":"11.8.0","description":"Open source device layer for AI coding agents: a CLI, MCP server, and typed Node.js API to control mobile, web, TV, and desktop apps on devices and simulators, locally or in the cloud.","directories":{},"_nodeVersion":"24.13.1","_hasShrinkwrap":false,"packageManager":"pnpm@11.17.0","readmeFilename":"README.md","devDependencies":{"ai":"^7.0.68","vite":"^8.3.5","yaml":"^2.9.0","jscpd":"5.4.2","oxfmt":"^0.67.0","plist":"5.0.0","pngjs":"^7.0.0","yauzl":"^3.4.0","fallow":"3.34.0","oxlint":"^1.79.0","tsdown":"^0.22.14","undici":"7.30.1","vitest":"5.0.4","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.69.1","@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:*","@agent-device/revyl":"workspace:*","@agent-device/tizen":"workspace:*","@agent-device/webos":"workspace:*","@chenglou/freerange":"^0.0.4","@nkzw/eslint-plugin":"^2.0.0","@nkzw/oxlint-config":"^1.3.0","@vitest/coverage-v8":"5.0.4","@agent-device/client":"workspace:*","@agent-device/daemon":"workspace:*","@agent-device/kernel":"workspace:*","@agent-device/remote":"workspace:*","@agent-device/testmu":"workspace:*","@agent-device/tv-cdp":"workspace:*","@stryker-mutator/api":"10.0.0","@agent-device/maestro":"workspace:*","@agent-device/plugins":"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:*","@types/convert-source-map":"2.0.3","@agent-device/apple-runner":"workspace:*","@agent-device/platform-web":"workspace:*","@agent-device/react-native":"workspace:*","@agent-device/daemon-client":"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/command-output":"workspace:*","@agent-device/platform-apple":"workspace:*","@agent-device/platform-linux":"workspace:*","@agent-device/command-runtime":"workspace:*","@agent-device/command-surface":"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.37-nightly.20261111.161_1794382270010_0.5778380908216023","host":"s3://npm-registry-packages-npm-production"}},"0.21.37":{"name":"agent-device","version":"0.21.37","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"],"author":{"name":"Callstack"},"license":"MIT","_id":"agent-device@0.21.37","maintainers":[{"name":"thymikee","email":"thymikee@gmail.com"}],"homepage":"https://agent-device.dev/","bugs":{"url":"https://github.com/callstack/agent-device/issues"},"bin":{"agent-device":"bin/agent-device.mjs"},"dist":{"shasum":"5972948ced8d85f780887a699a84cfd55c4d7275","tarball":"https://registry.npmjs.org/agent-device/-/agent-device-0.21.37.tgz","fileCount":818,"integrity":"sha512-IepPH4OtF3rrf51bxAACGCCaHX4Uj7xt5vlbG3sQyNAVzYnSJpOXpn3INQ1gZhZV/tiCIxI3Z+KAIGeiULKc1A==","signatures":[{"sig":"MEUCIFSHu8LInxbqjxtfXeREXA4M+fsplPUvRMcv7FDrS6ERAiEAnpH3J4k3hq2apK9YoibMs/aWo0aNCDwK0DxV6Ek6gHE=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIQDrF4QPqXfOt0PWlgt+rUYrbANeIMqBMlngZiPbPLjAFQIgKJh2jxkT4IIwu+9KVGPUfIE1FFlzoGxPfo3C81+agw0=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/agent-device@0.21.37","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":6244069},"main":"dist/src/index.js","type":"module","_from":"file:/home/runner/work/_temp/npm-packages/agent-device-0.21.37.tgz","types":"dist/src/index.d.ts","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"}},"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":"node --experimental-strip-types scripts/check-affected/run.ts --run --full","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 apple-runner --project fuzz-worker","typecheck":"tsc -b tsconfig.typecheck.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","perf:compare":"node --experimental-strip-types scripts/perf/compare-cli.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","depgraph:test":"node --experimental-strip-types scripts/node-test-tmpdir.ts --experimental-strip-types --test scripts/depgraph/model.test.ts scripts/depgraph/entries.test.ts scripts/depgraph/import-graph.test.ts scripts/depgraph/affected.test.ts scripts/depgraph/structure-summary.test.ts tools/depgraph-view/*.test.mjs","mutation:test":"node --experimental-strip-types scripts/node-test-tmpdir.ts --experimental-strip-types --test scripts/mutation/*.test.ts","test:coverage":"vitest run --coverage --allowOnly=false --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 --experimental-strip-types 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":"fr","explain:command":"node --experimental-strip-types scripts/explain-command.ts","fallow:baseline":"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 --allowOnly=false --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 test/repo-guards/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:native-dupes":"jscpd --config .jscpd-native.json --baseline native-dupes-baseline.json --fail-on-new-clones --fail-on-empty","check:tmpdir-leaks":"node --experimental-strip-types scripts/check-tmpdir-leaks.ts","clean:xcuitest:ios":"node --experimental-strip-types 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:adr-citations":"vitest run --project unit-core test/repo-guards/adr-citations.test.ts","check:affected:test":"node --experimental-strip-types scripts/node-test-tmpdir.ts --experimental-strip-types --test scripts/check-affected/*.test.ts scripts/lib/vitest-projects.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 --experimental-strip-types 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","native-dupes:report":"jscpd --config .jscpd-native.json --baseline native-dupes-baseline.json --fail-on-empty","print:alert-surface":"node --experimental-strip-types scripts/swift-toolchain-tmpdir.ts swift run --package-path apple/snapshot-presentation snapshot-presentation-conformance print-alert-surface","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 --experimental-strip-types scripts/clean-xcuitest-derived.mjs macos","test-app:maestro:ios":"pnpm test-app:maestro --platform ios","capture:alert-surface":"node --experimental-strip-types scripts/capture-alert-surface.ts","generate:capabilities":"node --experimental-strip-types scripts/capability-matrix/generate.ts --write","native-dupes:baseline":"jscpd --config .jscpd-native.json --baseline native-dupes-baseline.json --update-baseline --fail-on-empty","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:native-dupes:test":"node --experimental-strip-types scripts/node-test-tmpdir.ts --experimental-strip-types --test scripts/native-dupes/check.test.ts","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 --experimental-strip-types 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","bench:android:automation":"node scripts/bench-android-automation.mjs","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 scripts/coverage-crap/stamp.test.ts scripts/vitest-coverage-run-stamp-reporter.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 packages/daemon/test/nightly/concurrency-torture.test.ts","build:xcuitest:tvos:clean":"pnpm clean:xcuitest:tvos && pnpm build:xcuitest:tvos","check:capabilities-matrix":"vitest run --project unit-core test/repo-guards/capability-matrix.test.ts","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/lib/repo-git.test.ts scripts/lib/repo-path.test.ts 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"}},"_resolved":"/home/runner/work/_temp/npm-packages/agent-device-0.21.37.tgz","_integrity":"sha512-IepPH4OtF3rrf51bxAACGCCaHX4Uj7xt5vlbG3sQyNAVzYnSJpOXpn3INQ1gZhZV/tiCIxI3Z+KAIGeiULKc1A==","repository":{"url":"git+https://github.com/callstack/agent-device.git","type":"git"},"_npmVersion":"11.8.0","description":"Open source device layer for AI coding agents: a CLI, MCP server, and typed Node.js API to control mobile, web, TV, and desktop apps on devices and simulators, locally or in the cloud.","directories":{},"_nodeVersion":"24.13.1","_hasShrinkwrap":false,"packageManager":"pnpm@11.17.0","devDependencies":{"ai":"^7.0.68","vite":"^8.3.5","yaml":"^2.9.0","jscpd":"5.4.2","oxfmt":"^0.67.0","plist":"5.0.0","pngjs":"^7.0.0","yauzl":"^3.4.0","fallow":"3.34.0","oxlint":"^1.79.0","tsdown":"^0.22.14","undici":"7.30.1","vitest":"5.0.4","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.69.1","@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:*","@agent-device/revyl":"workspace:*","@agent-device/tizen":"workspace:*","@agent-device/webos":"workspace:*","@chenglou/freerange":"^0.0.4","@nkzw/eslint-plugin":"^2.0.0","@nkzw/oxlint-config":"^1.3.0","@vitest/coverage-v8":"5.0.4","@agent-device/client":"workspace:*","@agent-device/daemon":"workspace:*","@agent-device/kernel":"workspace:*","@agent-device/remote":"workspace:*","@agent-device/testmu":"workspace:*","@agent-device/tv-cdp":"workspace:*","@stryker-mutator/api":"10.0.0","@agent-device/maestro":"workspace:*","@agent-device/plugins":"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:*","@types/convert-source-map":"2.0.3","@agent-device/apple-runner":"workspace:*","@agent-device/platform-web":"workspace:*","@agent-device/react-native":"workspace:*","@agent-device/daemon-client":"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/command-output":"workspace:*","@agent-device/platform-apple":"workspace:*","@agent-device/platform-linux":"workspace:*","@agent-device/command-runtime":"workspace:*","@agent-device/command-surface":"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.37_1794518413691_0.4593912059585308","host":"s3://npm-registry-packages-npm-production"}},"0.21.38-nightly.20261113.167":{"_id":"agent-device@0.21.38-nightly.20261113.167","bin":{"agent-device":"bin/agent-device.mjs"},"bugs":{"url":"https://github.com/callstack/agent-device/issues"},"dist":{"shasum":"4d8d236a130062898ce64a9cfe8129f0753bdbbe","tarball":"https://registry.npmjs.org/agent-device/-/agent-device-0.21.38-nightly.20261113.167.tgz","fileCount":818,"integrity":"sha512-YnHTrTcGoPjsalWJ+7Vjf7QS7SUg9WO34ikCN7EXe063DpPM1kXddf6tkJN5ewZznQzWujoohXNM14pQ869Jhg==","signatures":[{"sig":"MEUCIGXpnCHh0Uia0otaUH4qxvA05FUXiD7AHH8hwOx1n3Y7AiEAkORDVjMEhFGKwHeRHReU2KeSu5ZIsPRaPaGnWtWFxf8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEQCICCTZPYCAHx/i0VqFrIQltzZHgpz1uRV67c9MJkjSbISAiBi5AnFHmWdtevM5F+IUwL7L5AJFR8TwNDS9AkoAwMrGQ=="}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/agent-device@0.21.38-nightly.20261113.167","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":6244384},"main":"dist/src/index.js","name":"agent-device","type":"module","_from":"file:/home/runner/work/_temp/npm-packages/agent-device-0.21.38-nightly.20261113.167.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":"node --experimental-strip-types scripts/check-affected/run.ts --run --full","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 apple-runner --project fuzz-worker","typecheck":"tsc -b tsconfig.typecheck.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","perf:compare":"node --experimental-strip-types scripts/perf/compare-cli.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","depgraph:test":"node --experimental-strip-types scripts/node-test-tmpdir.ts --experimental-strip-types --test scripts/depgraph/model.test.ts scripts/depgraph/entries.test.ts scripts/depgraph/import-graph.test.ts scripts/depgraph/affected.test.ts scripts/depgraph/structure-summary.test.ts tools/depgraph-view/*.test.mjs","mutation:test":"node --experimental-strip-types scripts/node-test-tmpdir.ts --experimental-strip-types --test scripts/mutation/*.test.ts","test:coverage":"vitest run --coverage --allowOnly=false --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 --experimental-strip-types 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":"fr","explain:command":"node --experimental-strip-types scripts/explain-command.ts","fallow:baseline":"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 --allowOnly=false --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 test/repo-guards/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:native-dupes":"jscpd --config .jscpd-native.json --baseline native-dupes-baseline.json --fail-on-new-clones --fail-on-empty","check:tmpdir-leaks":"node --experimental-strip-types scripts/check-tmpdir-leaks.ts","clean:xcuitest:ios":"node --experimental-strip-types 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:adr-citations":"vitest run --project unit-core test/repo-guards/adr-citations.test.ts","check:affected:test":"node --experimental-strip-types scripts/node-test-tmpdir.ts --experimental-strip-types --test scripts/check-affected/*.test.ts scripts/lib/vitest-projects.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 --experimental-strip-types 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","native-dupes:report":"jscpd --config .jscpd-native.json --baseline native-dupes-baseline.json --fail-on-empty","print:alert-surface":"node --experimental-strip-types scripts/swift-toolchain-tmpdir.ts swift run --package-path apple/snapshot-presentation snapshot-presentation-conformance print-alert-surface","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 --experimental-strip-types scripts/clean-xcuitest-derived.mjs macos","test-app:maestro:ios":"pnpm test-app:maestro --platform ios","capture:alert-surface":"node --experimental-strip-types scripts/capture-alert-surface.ts","generate:capabilities":"node --experimental-strip-types scripts/capability-matrix/generate.ts --write","native-dupes:baseline":"jscpd --config .jscpd-native.json --baseline native-dupes-baseline.json --update-baseline --fail-on-empty","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:native-dupes:test":"node --experimental-strip-types scripts/node-test-tmpdir.ts --experimental-strip-types --test scripts/native-dupes/check.test.ts","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 --experimental-strip-types 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","bench:android:automation":"node scripts/bench-android-automation.mjs","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 scripts/coverage-crap/stamp.test.ts scripts/vitest-coverage-run-stamp-reporter.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 packages/daemon/test/nightly/concurrency-torture.test.ts","build:xcuitest:tvos:clean":"pnpm clean:xcuitest:tvos && pnpm build:xcuitest:tvos","check:capabilities-matrix":"vitest run --project unit-core test/repo-guards/capability-matrix.test.ts","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/lib/repo-git.test.ts scripts/lib/repo-path.test.ts 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"},"version":"0.21.38-nightly.20261113.167","_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.38-nightly.20261113.167.tgz","_integrity":"sha512-YnHTrTcGoPjsalWJ+7Vjf7QS7SUg9WO34ikCN7EXe063DpPM1kXddf6tkJN5ewZznQzWujoohXNM14pQ869Jhg==","repository":{"url":"git+https://github.com/callstack/agent-device.git","type":"git"},"_npmVersion":"11.8.0","description":"Open source device layer for AI coding agents: a CLI, MCP server, and typed Node.js API to control mobile, web, TV, and desktop apps on devices and simulators, locally or in the cloud.","directories":{},"maintainers":[{"name":"thymikee","email":"thymikee@gmail.com"}],"_nodeVersion":"24.13.1","_hasShrinkwrap":false,"packageManager":"pnpm@11.17.0","readmeFilename":"README.md","devDependencies":{"ai":"^7.0.68","vite":"^8.3.5","yaml":"^2.9.0","jscpd":"5.4.2","oxfmt":"^0.67.0","plist":"5.0.0","pngjs":"^7.0.0","yauzl":"^3.4.0","fallow":"3.34.0","oxlint":"^1.79.0","tsdown":"^0.22.14","undici":"7.30.1","vitest":"5.0.4","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.69.1","@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:*","@agent-device/revyl":"workspace:*","@agent-device/tizen":"workspace:*","@agent-device/webos":"workspace:*","@chenglou/freerange":"^0.0.4","@nkzw/eslint-plugin":"^2.0.0","@nkzw/oxlint-config":"^1.3.0","@vitest/coverage-v8":"5.0.4","@agent-device/client":"workspace:*","@agent-device/daemon":"workspace:*","@agent-device/kernel":"workspace:*","@agent-device/remote":"workspace:*","@agent-device/testmu":"workspace:*","@agent-device/tv-cdp":"workspace:*","@stryker-mutator/api":"10.0.0","@agent-device/maestro":"workspace:*","@agent-device/plugins":"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:*","@types/convert-source-map":"2.0.3","@agent-device/apple-runner":"workspace:*","@agent-device/platform-web":"workspace:*","@agent-device/react-native":"workspace:*","@agent-device/daemon-client":"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/command-output":"workspace:*","@agent-device/platform-apple":"workspace:*","@agent-device/platform-linux":"workspace:*","@agent-device/command-runtime":"workspace:*","@agent-device/command-surface":"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":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/agent-device_0.21.38-nightly.20261113.167_1794533677306_0.12158880517725201"}}},"time":{"created":"2026-01-31T17:25:19.584Z","modified":"2026-11-13T01:34:37.867Z","0.1.0":"2026-01-31T17:25:19.796Z","0.1.1":"2026-01-31T17:34:38.022Z","0.1.2":"2026-01-31T19:42:53.665Z","0.1.3":"2026-02-02T20:35:15.783Z","0.1.4":"2026-02-03T16:19:21.010Z","0.1.5":"2026-02-03T16:20:33.999Z","0.1.6":"2026-02-03T19:03:50.105Z","0.1.7":"2026-02-03T19:58:46.378Z","0.1.8":"2026-02-03T20:08:32.636Z","0.1.9":"2026-02-04T21:36:36.418Z","0.2.0":"2026-02-05T07:08:35.230Z","0.2.1":"2026-02-05T08:53:39.994Z","0.2.2":"2026-02-05T17:10:33.897Z","0.2.3":"2026-02-06T11:18:49.350Z","0.2.4":"2026-02-06T11:49:04.640Z","0.2.5":"2026-02-09T11:40:16.804Z","0.2.6":"2026-02-09T12:29:45.348Z","0.3.0":"2026-02-10T15:33:23.638Z","0.3.1":"2026-02-12T12:53:42.809Z","0.3.2":"2026-02-12T16:57:11.433Z","0.3.3":"2026-02-13T12:11:59.255Z","0.3.4":"2026-02-13T13:36:54.398Z","0.3.5":"2026-02-13T18:25:59.691Z","0.4.0":"2026-02-16T09:09:38.697Z","0.4.1":"2026-02-16T11:17:35.945Z","0.4.2":"2026-02-16T19:35:43.113Z","0.5.0":"2026-02-17T11:13:45.259Z","0.5.1":"2026-02-18T10:46:06.652Z","0.5.2":"2026-02-18T15:15:02.101Z","0.5.3":"2026-02-18T18:48:18.259Z","0.5.4":"2026-02-18T19:25:41.937Z","0.5.5":"2026-02-18T19:51:52.833Z","0.6.0":"2026-02-20T19:03:15.043Z","0.6.1":"2026-02-22T15:38:08.594Z","0.6.2":"2026-02-24T15:57:52.504Z","0.6.3":"2026-02-24T16:36:56.675Z","0.7.0":"2026-02-25T15:29:27.507Z","0.7.1":"2026-02-25T17:26:07.212Z","0.7.2":"2026-02-26T09:51:45.150Z","0.7.3":"2026-02-26T10:49:20.060Z","0.7.4":"2026-02-26T15:42:30.837Z","0.7.5":"2026-02-28T13:15:57.933Z","0.7.6":"2026-03-03T13:15:26.088Z","0.7.9":"2026-03-06T14:46:41.446Z","0.7.10":"2026-03-09T15:38:31.463Z","0.7.11":"2026-03-09T16:35:33.093Z","0.7.12":"2026-03-09T18:51:44.845Z","0.7.13":"2026-03-11T13:58:00.910Z","0.7.14":"2026-03-11T15:11:31.550Z","0.7.15":"2026-03-12T11:30:03.748Z","0.7.16":"2026-03-12T12:06:24.282Z","0.7.17":"2026-03-12T12:40:05.670Z","0.7.18":"2026-03-12T13:31:59.170Z","0.7.19":"2026-03-12T14:45:47.765Z","0.7.20":"2026-03-12T16:30:31.395Z","0.7.21":"2026-03-12T17:41:33.319Z","0.7.22":"2026-03-14T13:25:42.109Z","0.8.0":"2026-03-14T19:58:56.059Z","0.8.1":"2026-03-16T10:34:01.853Z","0.8.2":"2026-03-16T12:05:36.501Z","0.8.3":"2026-03-16T13:11:13.120Z","0.8.4":"2026-03-17T18:19:37.982Z","0.8.5":"2026-03-18T11:48:40.713Z","0.8.6":"2026-03-18T15:30:58.843Z","0.9.0":"2026-03-20T14:08:46.923Z","0.10.0":"2026-03-23T17:59:05.394Z","0.10.1":"2026-03-24T12:42:30.182Z","0.10.2":"2026-03-25T16:18:16.482Z","0.10.3":"2026-03-25T18:56:20.757Z","0.11.0":"2026-03-27T15:51:56.573Z","0.11.1":"2026-03-27T18:41:08.149Z","0.11.2":"2026-03-30T10:39:19.092Z","0.11.3":"2026-03-31T12:45:01.148Z","0.11.4":"2026-04-01T05:48:41.381Z","0.11.5":"2026-04-01T19:36:15.419Z","0.11.6":"2026-04-02T10:21:02.292Z","0.11.7":"2026-04-02T10:37:44.024Z","0.11.8":"2026-04-04T15:32:25.017Z","0.11.9":"2026-04-08T09:01:43.174Z","0.11.10":"2026-04-10T07:48:41.243Z","0.11.11":"2026-04-10T11:04:20.108Z","0.11.12":"2026-04-10T12:07:27.850Z","0.11.13":"2026-04-11T08:21:21.712Z","0.11.14":"2026-04-11T11:48:17.024Z","0.11.15":"2026-04-11T14:25:24.167Z","0.11.16":"2026-04-11T18:20:43.295Z","0.12.0":"2026-04-11T19:38:39.743Z","0.12.1":"2026-04-11T20:18:15.538Z","0.12.2":"2026-04-12T10:49:31.190Z","0.12.3":"2026-04-13T12:13:05.530Z","0.12.4":"2026-04-13T15:33:14.649Z","0.12.5":"2026-04-16T11:04:57.569Z","0.12.6":"2026-04-16T16:17:45.219Z","0.12.7":"2026-04-17T10:27:45.147Z","0.12.8":"2026-04-17T10:52:34.134Z","0.12.9":"2026-04-18T17:32:10.529Z","0.13.0":"2026-04-24T22:55:34.086Z","0.13.1":"2026-04-25T23:31:54.321Z","0.13.2":"2026-04-26T00:32:30.283Z","0.13.3":"2026-04-26T16:13:09.780Z","0.14.0":"2026-04-28T18:38:16.241Z","0.14.1":"2026-04-29T01:21:21.325Z","0.14.2":"2026-04-29T14:51:14.529Z","0.14.3":"2026-04-29T23:25:50.268Z","0.14.4":"2026-04-30T15:53:24.791Z","0.14.5":"2026-04-30T16:38:04.592Z","0.14.6":"2026-04-30T20:19:54.159Z","0.14.7":"2026-05-01T11:28:32.907Z","0.14.8":"2026-05-11T19:11:44.053Z","0.14.9":"2026-05-13T17:30:33.922Z","0.15.0":"2026-05-19T09:57:11.215Z","0.15.1":"2026-05-20T18:34:58.134Z","0.15.2":"2026-05-21T15:33:16.300Z","0.16.0":"2026-05-28T09:07:31.808Z","0.16.1":"2026-05-28T13:43:54.056Z","0.16.2":"2026-05-28T17:22:44.492Z","0.16.4":"2026-05-29T20:11:09.033Z","0.16.5":"2026-05-30T10:24:48.945Z","0.16.6":"2026-05-30T20:59:15.566Z","0.16.7":"2026-05-31T10:24:28.739Z","0.16.8":"2026-06-01T18:36:30.426Z","0.16.9":"2026-06-01T22:12:49.018Z","0.16.10":"2026-06-02T13:44:00.120Z","0.16.11":"2026-06-03T12:17:19.983Z","0.16.12":"2026-06-03T19:21:15.599Z","0.16.13":"2026-06-04T22:38:28.144Z","0.16.14":"2026-06-05T16:35:24.907Z","0.17.0":"2026-06-08T16:40:22.683Z","0.17.1":"2026-06-09T15:31:34.649Z","0.17.2":"2026-06-10T19:14:25.288Z","0.17.3":"2026-06-12T18:54:23.404Z","0.17.4":"2026-06-13T18:50:57.518Z","0.17.5":"2026-06-14T14:27:39.883Z","0.17.6":"2026-06-16T16:01:21.981Z","0.17.7":"2026-06-23T08:08:44.402Z","0.17.8":"2026-06-23T15:40:43.273Z","0.17.9":"2026-06-25T08:20:09.345Z","0.17.10":"2026-06-25T19:49:51.824Z","0.18.0":"2026-06-26T17:56:59.671Z","0.18.1":"2026-07-01T14:27:16.462Z","0.18.2":"2026-07-02T16:01:09.483Z","0.18.3":"2026-07-02T19:04:54.031Z","0.19.0":"2026-07-07T11:18:03.919Z","0.19.1":"2026-07-08T19:50:19.774Z","0.19.2":"2026-07-09T17:42:39.613Z","0.19.3":"2026-07-10T16:03:23.368Z","0.20.0":"2026-07-21T18:51:54.934Z","0.20.1":"2026-07-27T14:11:20.384Z","0.20.2":"2026-07-29T10:56:56.111Z","0.20.3":"2026-07-30T08:25:25.789Z","0.20.4":"2026-08-03T14:52:49.460Z","0.20.5":"2026-08-03T20:37:22.957Z","0.20.6":"2026-08-07T06:37:27.906Z","0.20.7":"2026-08-10T19:39:25.158Z","0.20.8":"2026-08-11T10:01:14.401Z","0.20.9":"2026-08-17T17:03:52.072Z","0.20.10":"2026-08-18T19:33:12.472Z","0.21.0":"2026-09-08T20:02:20.052Z","0.21.1":"2026-09-11T16:56:21.657Z","0.21.2":"2026-09-14T13:07:33.396Z","0.21.3":"2026-09-14T19:14:57.506Z","0.21.4":"2026-09-15T19:22:14.689Z","0.21.5":"2026-09-16T09:50:29.547Z","0.21.6":"2026-09-17T11:33:10.685Z","0.21.7":"2026-09-20T18:54:18.247Z","0.21.8":"2026-09-21T12:12:04.704Z","0.21.9":"2026-09-22T11:43:15.715Z","0.21.10":"2026-09-22T13:02:09.700Z","0.21.11":"2026-09-22T14:55:33.323Z","0.21.12":"2026-09-22T19:03:29.133Z","0.21.13":"2026-09-24T10:37:07.756Z","0.21.14":"2026-09-24T16:58:28.144Z","0.21.15":"2026-09-25T11:57:18.441Z","0.21.16":"2026-09-28T08:41:21.783Z","0.21.17":"2026-09-30T10:54:56.307Z","0.21.18":"2026-09-30T15:15:38.906Z","0.21.19":"2026-10-01T11:17:25.879Z","0.21.20":"2026-10-02T17:51:17.168Z","0.21.21":"2026-10-06T07:59:10.160Z","0.21.22":"2026-10-06T11:22:10.254Z","0.21.23":"2026-10-07T04:58:16.204Z","0.21.24":"2026-10-09T18:44:52.120Z","0.21.25":"2026-10-11T11:57:15.903Z","0.21.26-nightly.20261011.35":"2026-10-11T12:51:11.800Z","0.21.26-nightly.20261012.41":"2026-10-12T07:18:30.327Z","0.21.26":"2026-10-12T10:41:19.422Z","0.21.27":"2026-10-12T19:40:18.559Z","0.21.28-nightly.20261013.49":"2026-10-13T01:33:45.718Z","0.21.28-nightly.20261014.57":"2026-10-14T01:10:22.574Z","0.21.28-nightly.20261015.70":"2026-10-15T01:07:31.396Z","0.21.28":"2026-10-15T08:19:18.700Z","0.21.29-nightly.20261016.72":"2026-10-16T01:48:38.447Z","0.21.29-nightly.20261017.73":"2026-10-17T01:54:39.330Z","0.21.29-nightly.20261018.74":"2026-10-18T01:50:10.548Z","0.21.29-nightly.20261019.75":"2026-10-19T01:53:41.199Z","0.21.29-nightly.20261020.76":"2026-10-20T01:49:07.669Z","0.21.29":"2026-10-20T16:00:12.373Z","0.21.30-nightly.20261021.78":"2026-10-21T01:48:13.012Z","0.21.30":"2026-10-21T14:12:22.628Z","0.21.31-nightly.20261022.80":"2026-10-22T01:47:30.641Z","0.21.31":"2026-10-22T14:50:07.079Z","0.21.32-nightly.20261023.83":"2026-10-23T01:50:45.422Z","0.21.32-nightly.20261024.84":"2026-10-24T01:48:19.276Z","0.21.32-nightly.20261025.85":"2026-10-25T01:48:09.907Z","0.21.32-nightly.20261026.96":"2026-10-26T01:51:58.273Z","0.21.32":"2026-10-26T20:04:54.839Z","0.21.33":"2026-10-27T15:04:55.622Z","0.21.34-nightly.20261028.102":"2026-10-28T01:35:36.004Z","0.21.34-nightly.20261029.105":"2026-10-29T01:36:22.283Z","0.21.34":"2026-10-29T11:00:52.705Z","0.21.35":"2026-10-29T19:10:31.794Z","0.21.36-nightly.20261030.114":"2026-10-30T01:36:24.057Z","0.21.36-nightly.20261031.115":"2026-10-31T01:35:26.499Z","0.21.36-nightly.20261102.118":"2026-11-02T09:01:37.791Z","0.21.36":"2026-11-02T16:30:59.659Z","0.21.37-nightly.20261103.128":"2026-11-03T10:38:17.776Z","0.21.37-nightly.20261106.150":"2026-11-06T17:15:57.624Z","0.21.37-nightly.20261107.151":"2026-11-07T01:34:38.697Z","0.21.37-nightly.20261108.152":"2026-11-08T01:33:52.186Z","0.21.37-nightly.20261109.153":"2026-11-09T01:32:20.333Z","0.21.37-nightly.20261110.154":"2026-11-10T01:33:23.505Z","0.21.37-nightly.20261111.161":"2026-11-11T07:31:10.158Z","0.21.37":"2026-11-12T21:20:13.829Z","0.21.38-nightly.20261113.167":"2026-11-13T01:34:37.491Z"},"bugs":{"url":"https://github.com/callstack/agent-device/issues"},"author":{"name":"Callstack"},"license":"MIT","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"],"repository":{"url":"git+https://github.com/callstack/agent-device.git","type":"git"},"description":"Open source device layer for AI coding agents: a CLI, MCP server, and typed Node.js API to control mobile, web, TV, and desktop apps on devices and simulators, locally or in the cloud.","maintainers":[{"name":"thymikee","email":"thymikee@gmail.com"}],"readme":"","readmeFilename":""}