{"_id":"@unotest/mobile","_rev":"43-e20b374fe9f9cbc08968677ef4112d12","name":"@unotest/mobile","dist-tags":{"latest":"0.42.0"},"versions":{"0.1.0":{"name":"@unotest/mobile","version":"0.1.0","license":"MIT","_id":"@unotest/mobile@0.1.0","maintainers":[{"name":"unotest","email":"ivan@unotest.com"}],"bin":{"unotest-mobile":"bin/mcp.js"},"dist":{"shasum":"77383ab4a840f2ea3fb1bc65488a8424f0c62f0c","tarball":"https://registry.npmjs.org/@unotest/mobile/-/mobile-0.1.0.tgz","fileCount":14,"integrity":"sha512-9eQnConbwCQjbLAEfFneGHQmRm0DlXhdGXbLufCijj27TxnrPla811cSRI02GAjTahqgOIYM1rXgD7pN4gtfbg==","signatures":[{"sig":"MEUCIEaN3nrNv6qyunbZLIJuaITlnGsVYleyRbRrBEaNyXRUAiEAyt1s6A/WAdojKL1UMQcsl7Z+V5Msh8GS5SK0VD0eSI4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1243817},"pnpm":{"onlyBuiltDependencies":["better-sqlite3","esbuild","sharp"]},"type":"module","engines":{"node":">=20"},"gitHead":"3c73f790d34c338bb71917e3edc8a5d34e6ad282","scripts":{"e2e":"tsx src/runner/cli.ts","mcp":"tsx src/mcp/server.ts","test":"node --import tsx --test --test-reporter=spec 'src/**/*.test.ts'","build":"pnpm verify && pnpm compile && pnpm smoke:bundle && pnpm check:no-cyrillic","verify":"pnpm typecheck && pnpm lint:scenarios && pnpm test","compile":"tsup","typecheck":"tsc --noEmit","wda:warmup":"tsx scripts/wda-warmup.ts","smoke:bundle":"node scripts/smoke-bundle.mjs","lint:scenarios":"tsx src/runner/cli.ts lint","prepublishOnly":"pnpm build","check:no-cyrillic":"node scripts/check-no-cyrillic.mjs"},"_npmUser":{"name":"unotest","email":"ivan@unotest.com"},"_npmVersion":"10.9.2","description":"AI-native E2E testing for iOS React Native apps. MCP server + CLI runner + JS-DSL scenarios.","directories":{},"_nodeVersion":"22.16.0","dependencies":{"zod":"^3.23.8","sharp":"^0.34.5","dotenv":"^16.4.5","better-sqlite3":"^11.0.0 || ^12.0.0","zod-to-json-schema":"^3.23.5","appium-webdriveragent":"^12.2.2","@modelcontextprotocol/sdk":"^1.0.4"},"_hasShrinkwrap":false,"packageManager":"pnpm@10.12.4","devDependencies":{"pg":"^8.20.0","tsx":"^4.19.2","tsup":"^8.5.1","mysql2":"^3.22.3","@types/pg":"^8.20.0","typescript":"^5.7.2","@types/node":"^22.10.0","better-sqlite3":"^12.10.0","@types/better-sqlite3":"^7.6.13"},"peerDependencies":{"pg":"^8.0.0","mysql2":"^3.0.0"},"peerDependenciesMeta":{"pg":{"optional":true},"mysql2":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/mobile_0.1.0_1778769154211_0.5518654408537167","host":"s3://npm-registry-packages-npm-production"}},"0.1.1":{"name":"@unotest/mobile","version":"0.1.1","license":"MIT","_id":"@unotest/mobile@0.1.1","maintainers":[{"name":"unotest","email":"ivan@unotest.com"}],"bin":{"unotest-mobile":"bin/mcp.js"},"dist":{"shasum":"2348cb5d328a55dbc1880b0fe1bc00949c6b1cf4","tarball":"https://registry.npmjs.org/@unotest/mobile/-/mobile-0.1.1.tgz","fileCount":14,"integrity":"sha512-nChf7BsWANYDxthgwD7FG4fvDZ+EF0jIASAnKkOjMuQDjpW1uPEPz84DZyAc+HZXi4F7edkMHWlqbH82VJQ20w==","signatures":[{"sig":"MEYCIQCj0iLTI59u40iPAonUitBxoy645LEhOT31k28IBahVzgIhAM5ZGhER89Rna5Xb/D8F/voaZwWuVs9+EmMj0UkmguCP","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1245751},"pnpm":{"onlyBuiltDependencies":["better-sqlite3","esbuild","sharp"]},"type":"module","engines":{"node":">=20"},"gitHead":"117b967297c54d6c7db216fe320a48697ec38f05","scripts":{"e2e":"tsx src/runner/cli.ts","mcp":"tsx src/mcp/server.ts","test":"node --import tsx --test --test-reporter=spec 'src/**/*.test.ts'","build":"pnpm verify && pnpm compile && pnpm smoke:bundle && pnpm check:no-cyrillic","verify":"pnpm typecheck && pnpm lint:scenarios && pnpm test","compile":"tsup","typecheck":"tsc --noEmit","wda:warmup":"tsx scripts/wda-warmup.ts","smoke:bundle":"node scripts/smoke-bundle.mjs","lint:scenarios":"tsx src/runner/cli.ts lint","prepublishOnly":"pnpm build","check:no-cyrillic":"node scripts/check-no-cyrillic.mjs"},"_npmUser":{"name":"unotest","email":"ivan@unotest.com"},"_npmVersion":"10.9.2","description":"AI-native E2E testing for iOS React Native apps. MCP server + CLI runner + JS-DSL scenarios.","directories":{},"_nodeVersion":"22.16.0","dependencies":{"zod":"^3.23.8","sharp":"^0.34.5","dotenv":"^16.4.5","better-sqlite3":"^11.0.0 || ^12.0.0","zod-to-json-schema":"^3.23.5","appium-webdriveragent":"^12.2.2","@modelcontextprotocol/sdk":"^1.0.4"},"_hasShrinkwrap":false,"packageManager":"pnpm@10.12.4","devDependencies":{"pg":"^8.20.0","tsx":"^4.19.2","tsup":"^8.5.1","mysql2":"^3.22.3","@types/pg":"^8.20.0","typescript":"^5.7.2","@types/node":"^22.10.0","better-sqlite3":"^12.10.0","@types/better-sqlite3":"^7.6.13"},"peerDependencies":{"pg":"^8.0.0","mysql2":"^3.0.0"},"peerDependenciesMeta":{"pg":{"optional":true},"mysql2":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/mobile_0.1.1_1778769721067_0.1290840961264368","host":"s3://npm-registry-packages-npm-production"}},"0.8.0":{"name":"@unotest/mobile","version":"0.8.0","license":"MIT","_id":"@unotest/mobile@0.8.0","maintainers":[{"name":"unotest","email":"ivan@unotest.com"}],"bin":{"unotest-mobile":"bin/mcp.js"},"dist":{"shasum":"3d25487d4f0e1bc25912f1d7ab3d43b4b478f535","tarball":"https://registry.npmjs.org/@unotest/mobile/-/mobile-0.8.0.tgz","fileCount":11,"integrity":"sha512-6wUmxkqXYHp941K3TBysy2J1noiNY1t65aFGaCtoMqA9PgvPdOK2fwJIV7fTpS3sb68cIYO5w4xUmKZJF+EffA==","signatures":[{"sig":"MEYCIQCB42I7CtOw17OUeWx7QuwkhqRNsfs002fDP1wP3aUwEgIhAMLfe0ET1PzJbC1F0/bIVkqx0f5x4i4yGOmdhs1NXZ+v","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":624746},"pnpm":{"onlyBuiltDependencies":["better-sqlite3","esbuild","sharp"]},"type":"module","engines":{"node":">=20"},"gitHead":"8be0709bce7f5e59648a1dfc5a6749f9d0b03267","scripts":{"e2e":"tsx src/runner/cli.ts","mcp":"tsx src/mcp/server.ts","test":"node --import tsx --test --test-reporter=spec 'src/**/*.test.ts' 'evals/**/*.test.ts'","build":"pnpm verify && pnpm compile && pnpm smoke:bundle && pnpm check:no-cyrillic && pnpm check:no-internal-refs","verify":"pnpm typecheck && pnpm lint:scenarios && pnpm test","compile":"tsup","evals:run":"tsx evals/run.ts","typecheck":"tsc --noEmit","evals:diff":"tsx evals/diff.ts","wda:warmup":"tsx scripts/wda-warmup.ts","evals:bless":"tsx evals/bless.ts","evals:check":"tsx evals/check.ts","smoke:bundle":"node scripts/smoke-bundle.mjs","evals:prepare":"tsx evals/prepare.ts","lint:scenarios":"tsx src/runner/cli.ts lint","prepublishOnly":"pnpm build","prepublish:check":"node scripts/prepublish-check.mjs","check:no-cyrillic":"node scripts/check-no-cyrillic.mjs","check:no-internal-refs":"node scripts/check-no-internal-refs.mjs"},"_npmUser":{"name":"unotest","email":"ivan@unotest.com"},"_npmVersion":"10.9.2","description":"AI-native E2E testing for iOS React Native apps. MCP server + CLI runner + JS-DSL scenarios.","directories":{},"_nodeVersion":"22.16.0","dependencies":{"zod":"^3.23.8","sharp":"^0.34.5","dotenv":"^16.4.5","better-sqlite3":"^11.0.0 || ^12.0.0","zod-to-json-schema":"^3.23.5","appium-webdriveragent":"^12.2.2","@modelcontextprotocol/sdk":"^1.0.4"},"_hasShrinkwrap":false,"packageManager":"pnpm@10.12.4","devDependencies":{"pg":"^8.20.0","tsx":"^4.19.2","tsup":"^8.5.1","mysql2":"^3.22.3","@types/pg":"^8.20.0","typescript":"^5.7.2","@types/node":"^22.10.0","better-sqlite3":"^12.10.0","@types/better-sqlite3":"^7.6.13"},"peerDependencies":{"pg":"^8.0.0","mysql2":"^3.0.0"},"peerDependenciesMeta":{"pg":{"optional":true},"mysql2":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/mobile_0.8.0_1779100218587_0.8896671911971012","host":"s3://npm-registry-packages-npm-production"}},"0.8.1":{"name":"@unotest/mobile","version":"0.8.1","license":"MIT","_id":"@unotest/mobile@0.8.1","maintainers":[{"name":"unotest","email":"ivan@unotest.com"}],"bin":{"unotest-mobile":"bin/mcp.js"},"dist":{"shasum":"c2f8b688a975b962e51a255aff54920ef7f2fd62","tarball":"https://registry.npmjs.org/@unotest/mobile/-/mobile-0.8.1.tgz","fileCount":11,"integrity":"sha512-Zk8bznVlveq11ZPJ4wLmKjY2zP5R5mvQaPSKJgHUqEiZ6AfqtVoqsapo34SWXl1ywxF2w9OCrHYb8Jjchp49lA==","signatures":[{"sig":"MEQCIHSIWccOtqlL7+9hFSLMwNHIpgh7ZOQxv+7VHF5og0Z0AiAGgBJyZrDYNMyLUQuMfeTVuBselkhH1OMp2vDzPN8IiA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":628428},"pnpm":{"onlyBuiltDependencies":["better-sqlite3","esbuild","sharp"]},"type":"module","engines":{"node":">=20"},"gitHead":"ea0e5d1bbb248dc09cfeacb66cfba87de8244de1","scripts":{"e2e":"tsx src/runner/cli.ts","mcp":"tsx src/mcp/server.ts","test":"node --import tsx --test --test-reporter=spec 'src/**/*.test.ts' 'evals/**/*.test.ts'","build":"pnpm verify && pnpm compile && pnpm smoke:bundle && pnpm check:no-cyrillic && pnpm check:no-internal-refs","verify":"pnpm typecheck && pnpm lint:scenarios && pnpm test","compile":"tsup","evals:run":"tsx evals/run.ts","typecheck":"tsc --noEmit","evals:diff":"tsx evals/diff.ts","wda:warmup":"tsx scripts/wda-warmup.ts","evals:bless":"tsx evals/bless.ts","evals:check":"tsx evals/check.ts","smoke:bundle":"node scripts/smoke-bundle.mjs","evals:prepare":"tsx evals/prepare.ts","lint:scenarios":"tsx src/runner/cli.ts lint","prepublishOnly":"pnpm build","prepublish:check":"node scripts/prepublish-check.mjs","check:no-cyrillic":"node scripts/check-no-cyrillic.mjs","check:no-internal-refs":"node scripts/check-no-internal-refs.mjs"},"_npmUser":{"name":"unotest","email":"ivan@unotest.com"},"_npmVersion":"10.9.2","description":"AI-native E2E testing for iOS React Native apps. MCP server + CLI runner + JS-DSL scenarios.","directories":{},"_nodeVersion":"22.16.0","dependencies":{"zod":"^3.23.8","sharp":"^0.34.5","dotenv":"^16.4.5","better-sqlite3":"^11.0.0 || ^12.0.0","zod-to-json-schema":"^3.23.5","appium-webdriveragent":"^12.2.2","@modelcontextprotocol/sdk":"^1.0.4"},"_hasShrinkwrap":false,"packageManager":"pnpm@10.12.4","devDependencies":{"pg":"^8.20.0","tsx":"^4.19.2","tsup":"^8.5.1","mysql2":"^3.22.3","@types/pg":"^8.20.0","typescript":"^5.7.2","@types/node":"^22.10.0","better-sqlite3":"^12.10.0","@types/better-sqlite3":"^7.6.13"},"peerDependencies":{"pg":"^8.0.0","mysql2":"^3.0.0"},"peerDependenciesMeta":{"pg":{"optional":true},"mysql2":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/mobile_0.8.1_1779105495503_0.3026637834375372","host":"s3://npm-registry-packages-npm-production"}},"0.8.2":{"name":"@unotest/mobile","version":"0.8.2","license":"MIT","_id":"@unotest/mobile@0.8.2","maintainers":[{"name":"unotest","email":"ivan@unotest.com"}],"bin":{"unotest-mobile":"bin/mcp.js"},"dist":{"shasum":"d163e8b66ef31244607fa2830c94209dc1336655","tarball":"https://registry.npmjs.org/@unotest/mobile/-/mobile-0.8.2.tgz","fileCount":11,"integrity":"sha512-0qA0jDtrHkK7awwgIG9O+77VakXvFznfXG1nu/6Vj2HuZBaUgPz63sW6Nq4evWXIysYcTG6XrKTNcUjU/6uNFw==","signatures":[{"sig":"MEUCIDyENbtQ5Ys9wgFhD2G5fczUHXSqSNylPh4M9o6cqWFNAiEAn5QSJniWdmuEgMi+IASU+4gs69Ya6//9K4btHiCDlzA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":635976},"pnpm":{"onlyBuiltDependencies":["better-sqlite3","esbuild","sharp"]},"type":"module","engines":{"node":">=20"},"gitHead":"ea0e5d1bbb248dc09cfeacb66cfba87de8244de1","scripts":{"e2e":"tsx src/runner/cli.ts","mcp":"tsx src/mcp/server.ts","test":"node --import tsx --test --test-reporter=spec 'src/**/*.test.ts' 'evals/**/*.test.ts'","build":"pnpm verify && pnpm compile && pnpm smoke:bundle && pnpm check:no-cyrillic && pnpm check:no-internal-refs","verify":"pnpm typecheck && pnpm lint:scenarios && pnpm test","compile":"tsup","evals:run":"tsx evals/run.ts","typecheck":"tsc --noEmit","evals:diff":"tsx evals/diff.ts","wda:warmup":"tsx scripts/wda-warmup.ts","evals:bless":"tsx evals/bless.ts","evals:check":"tsx evals/check.ts","smoke:bundle":"node scripts/smoke-bundle.mjs","evals:prepare":"tsx evals/prepare.ts","lint:scenarios":"tsx src/runner/cli.ts lint","prepublishOnly":"pnpm build","prepublish:check":"node scripts/prepublish-check.mjs","check:no-cyrillic":"node scripts/check-no-cyrillic.mjs","check:no-internal-refs":"node scripts/check-no-internal-refs.mjs"},"_npmUser":{"name":"unotest","email":"ivan@unotest.com"},"_npmVersion":"10.9.2","description":"AI-native E2E testing for iOS React Native apps. MCP server + CLI runner + JS-DSL scenarios.","directories":{},"_nodeVersion":"22.16.0","dependencies":{"zod":"^3.23.8","sharp":"^0.34.5","dotenv":"^16.4.5","better-sqlite3":"^11.0.0 || ^12.0.0","zod-to-json-schema":"^3.23.5","appium-webdriveragent":"^12.2.2","@modelcontextprotocol/sdk":"^1.0.4"},"_hasShrinkwrap":false,"packageManager":"pnpm@10.12.4","devDependencies":{"pg":"^8.20.0","tsx":"^4.19.2","tsup":"^8.5.1","mysql2":"^3.22.3","@types/pg":"^8.20.0","typescript":"^5.7.2","@types/node":"^22.10.0","better-sqlite3":"^12.10.0","@types/better-sqlite3":"^7.6.13"},"peerDependencies":{"pg":"^8.0.0","mysql2":"^3.0.0"},"peerDependenciesMeta":{"pg":{"optional":true},"mysql2":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/mobile_0.8.2_1779109905426_0.5400409685906316","host":"s3://npm-registry-packages-npm-production"}},"0.8.3":{"name":"@unotest/mobile","version":"0.8.3","license":"MIT","_id":"@unotest/mobile@0.8.3","maintainers":[{"name":"unotest","email":"ivan@unotest.com"}],"bin":{"unotest-mobile":"bin/mcp.js"},"dist":{"shasum":"974177c35ed6fb95f0751a75b78d2e66d0a06d54","tarball":"https://registry.npmjs.org/@unotest/mobile/-/mobile-0.8.3.tgz","fileCount":11,"integrity":"sha512-ex5lVyU+bVY/CCwYstptKsaqd3LHb2tusdspohcPBVoe3cyerFwwNFqMdZkZ6fBWFxLoXDvh1rxBIPbCmlbYUQ==","signatures":[{"sig":"MEUCIFvNHnw/Ll/jEzvbSJNVpJl847VkNpMUsOD/vpICKNZTAiEA/9YuujZHpxEvjIayUx8c4rSHC6Cad40S1xuS9RkufK4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":640423},"pnpm":{"onlyBuiltDependencies":["better-sqlite3","esbuild","sharp"]},"type":"module","engines":{"node":">=20"},"gitHead":"272ef8ce088a8f1ecdd9bfe55c7552a29a63c586","scripts":{"e2e":"tsx src/runner/cli.ts","mcp":"tsx src/mcp/server.ts","test":"node --import tsx --test --test-reporter=spec 'src/**/*.test.ts' 'evals/**/*.test.ts'","build":"pnpm verify && pnpm compile && pnpm smoke:bundle && pnpm check:no-cyrillic && pnpm check:no-internal-refs","verify":"pnpm typecheck && pnpm lint:scenarios && pnpm test","compile":"tsup","evals:run":"tsx evals/run.ts","typecheck":"tsc --noEmit","evals:diff":"tsx evals/diff.ts","wda:warmup":"tsx scripts/wda-warmup.ts","evals:bless":"tsx evals/bless.ts","evals:check":"tsx evals/check.ts","smoke:bundle":"node scripts/smoke-bundle.mjs","evals:prepare":"tsx evals/prepare.ts","lint:scenarios":"tsx src/runner/cli.ts lint","prepublishOnly":"pnpm build","prepublish:check":"node scripts/prepublish-check.mjs","check:no-cyrillic":"node scripts/check-no-cyrillic.mjs","check:no-internal-refs":"node scripts/check-no-internal-refs.mjs"},"_npmUser":{"name":"unotest","email":"ivan@unotest.com"},"_npmVersion":"10.9.2","description":"AI-native E2E testing for iOS React Native apps. MCP server + CLI runner + JS-DSL scenarios.","directories":{},"_nodeVersion":"22.16.0","dependencies":{"zod":"^3.23.8","sharp":"^0.34.5","dotenv":"^16.4.5","better-sqlite3":"^11.0.0 || ^12.0.0","zod-to-json-schema":"^3.23.5","appium-webdriveragent":"^12.2.2","@modelcontextprotocol/sdk":"^1.0.4"},"_hasShrinkwrap":false,"packageManager":"pnpm@10.12.4","devDependencies":{"pg":"^8.20.0","tsx":"^4.19.2","tsup":"^8.5.1","mysql2":"^3.22.3","@types/pg":"^8.20.0","typescript":"^5.7.2","@types/node":"^22.10.0","better-sqlite3":"^12.10.0","@types/better-sqlite3":"^7.6.13"},"peerDependencies":{"pg":"^8.0.0","mysql2":"^3.0.0"},"peerDependenciesMeta":{"pg":{"optional":true},"mysql2":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/mobile_0.8.3_1779113894122_0.8337615930963622","host":"s3://npm-registry-packages-npm-production"}},"0.9.1":{"name":"@unotest/mobile","version":"0.9.1","license":"MIT","_id":"@unotest/mobile@0.9.1","maintainers":[{"name":"unotest","email":"ivan@unotest.com"}],"bin":{"unotest-mobile":"bin/unotest-mobile.js"},"dist":{"shasum":"a84b29602e6d18141a0286eb4586ad9ff72d3908","tarball":"https://registry.npmjs.org/@unotest/mobile/-/mobile-0.9.1.tgz","fileCount":15,"integrity":"sha512-QQxaTJa50w94TtqOrrIEkQR8JLlO5PAH30ygylEai5I9yuA6yfUEjnnlefS6DeKwD025tE795/r+eMBgx5knYg==","signatures":[{"sig":"MEQCIEw312YlZ0tfAufEW3CwJ4r9mcSvO7ppGUKTRGJ2HRT/AiA/9vvjHN1PH3Ps0V6iO16rjK+XZqnsfdDdjqHFiuwd7w==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":631950},"type":"module","_from":"file:unotest-mobile-0.9.1.tgz","engines":{"node":">=20"},"exports":{"./dsl":{"types":"./dist/dsl/mobile-dsl-language-service.d.ts","import":"./dist/dsl/mobile-dsl-language-service.js"},"./adapter":{"types":"./dist/runner/mobile-runner-adapter.d.ts","import":"./dist/runner/mobile-runner-adapter.js"},"./package.json":"./package.json"},"scripts":{"e2e":"tsx src/runner/cli.ts","mcp":"tsx src/mcp/server.ts","test":"node --import tsx --test --test-reporter=spec 'src/**/*.test.ts' 'evals/**/*.test.ts'","build":"pnpm verify && pnpm compile && pnpm smoke:bundle && pnpm check:no-cyrillic && pnpm check:no-internal-refs","verify":"pnpm typecheck && pnpm lint:scenarios && pnpm test","compile":"tsup","evals:run":"tsx evals/run.ts","typecheck":"tsc --noEmit","evals:diff":"tsx evals/diff.ts","wda:warmup":"tsx scripts/wda-warmup.ts","evals:bless":"tsx evals/bless.ts","evals:check":"tsx evals/check.ts","smoke:bundle":"node scripts/smoke-bundle.mjs","evals:prepare":"tsx evals/prepare.ts","lint:scenarios":"tsx src/runner/cli.ts lint","prepublish:check":"node scripts/prepublish-check.mjs","check:no-cyrillic":"node scripts/check-no-cyrillic.mjs","check:no-internal-refs":"node scripts/check-no-internal-refs.mjs"},"_npmUser":{"name":"unotest","email":"ivan@unotest.com"},"_resolved":"/private/var/folders/rz/_3r_2y197wsgdyw3_l5ygv340000gn/T/74b10ae8f8540ee2de049262b65af74f/unotest-mobile-0.9.1.tgz","_integrity":"sha512-QQxaTJa50w94TtqOrrIEkQR8JLlO5PAH30ygylEai5I9yuA6yfUEjnnlefS6DeKwD025tE795/r+eMBgx5knYg==","_npmVersion":"10.9.2","description":"AI-native E2E testing for iOS React Native apps. MCP server + CLI runner + JS-DSL scenarios.","directories":{},"_nodeVersion":"22.16.0","dependencies":{"zod":"^3.23.8","sharp":"^0.34.5","dotenv":"^16.4.5","@unotest/dsl":"^0.9.1","@unotest/core":"^0.9.1","better-sqlite3":"^11.0.0 || ^12.0.0","@unotest/viewer":"^0.9.1","@unotest/protocol":"^0.9.1","zod-to-json-schema":"^3.23.5","appium-webdriveragent":"^12.2.2","@modelcontextprotocol/sdk":"^1.0.4"},"_hasShrinkwrap":false,"devDependencies":{"pg":"^8.20.0","tsx":"^4.19.2","tsup":"^8.5.1","mysql2":"^3.22.3","@types/pg":"^8.20.0","typescript":"^5.7.2","@types/node":"^22.10.0","better-sqlite3":"^12.10.0","@types/better-sqlite3":"^7.6.13"},"peerDependencies":{"pg":"^8.0.0","mysql2":"^3.0.0"},"peerDependenciesMeta":{"pg":{"optional":true},"mysql2":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/mobile_0.9.1_1781474725307_0.4044431408714442","host":"s3://npm-registry-packages-npm-production"}},"0.10.0":{"name":"@unotest/mobile","version":"0.10.0","license":"MIT","_id":"@unotest/mobile@0.10.0","maintainers":[{"name":"unotest","email":"ivan@unotest.com"}],"bin":{"unotest-mobile":"bin/unotest-mobile.js"},"dist":{"shasum":"52b86df143427d8cd2eaa57495c78ead02b9a355","tarball":"https://registry.npmjs.org/@unotest/mobile/-/mobile-0.10.0.tgz","fileCount":15,"integrity":"sha512-Lg2lByPFT5wLb54PBfLBGHp+9/+YyxvJMTMib9TTjAX4+BufrI8KIDcIIVzNpYdR4ATVZFfKZAm9ZxTPfnaRtw==","signatures":[{"sig":"MEQCIE/aUkyHkIfX+pxh776JbOkhS28CMynQ7qwTMqNerLxAAiAdCuauIzOzdsxjODX8UD0IgHXIgqyQtPbFV6ycBxzbOw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":632305},"type":"module","_from":"file:unotest-mobile-0.10.0.tgz","engines":{"node":">=20"},"exports":{"./dsl":{"types":"./dist/dsl/mobile-dsl-language-service.d.ts","import":"./dist/dsl/mobile-dsl-language-service.js"},"./adapter":{"types":"./dist/runner/mobile-runner-adapter.d.ts","import":"./dist/runner/mobile-runner-adapter.js"},"./package.json":"./package.json"},"scripts":{"e2e":"tsx src/runner/cli.ts","mcp":"tsx src/mcp/server.ts","test":"node --import tsx --test --test-reporter=spec 'src/**/*.test.ts' 'evals/**/*.test.ts'","build":"pnpm verify && pnpm compile && pnpm smoke:bundle && pnpm check:no-cyrillic && pnpm check:no-internal-refs","verify":"pnpm typecheck && pnpm lint:scenarios && pnpm test","compile":"tsup","evals:run":"tsx evals/run.ts","typecheck":"tsc --noEmit","evals:diff":"tsx evals/diff.ts","wda:warmup":"tsx scripts/wda-warmup.ts","evals:bless":"tsx evals/bless.ts","evals:check":"tsx evals/check.ts","smoke:bundle":"node scripts/smoke-bundle.mjs","evals:prepare":"tsx evals/prepare.ts","lint:scenarios":"tsx src/runner/cli.ts lint","prepublish:check":"node scripts/prepublish-check.mjs","check:no-cyrillic":"node scripts/check-no-cyrillic.mjs","check:no-internal-refs":"node scripts/check-no-internal-refs.mjs"},"_npmUser":{"name":"unotest","email":"ivan@unotest.com"},"_resolved":"/private/var/folders/rz/_3r_2y197wsgdyw3_l5ygv340000gn/T/0db801db4b895ce11671fe245ef72706/unotest-mobile-0.10.0.tgz","_integrity":"sha512-Lg2lByPFT5wLb54PBfLBGHp+9/+YyxvJMTMib9TTjAX4+BufrI8KIDcIIVzNpYdR4ATVZFfKZAm9ZxTPfnaRtw==","_npmVersion":"10.9.8","description":"AI-native E2E testing for iOS React Native apps. MCP server + CLI runner + JS-DSL scenarios.","directories":{},"_nodeVersion":"22.23.0","dependencies":{"zod":"^3.23.8","sharp":"^0.34.5","dotenv":"^16.4.5","@unotest/dsl":"^0.10.0","@unotest/core":"^0.10.0","better-sqlite3":"^11.0.0 || ^12.0.0","@unotest/viewer":"^0.10.0","@unotest/protocol":"^0.10.0","zod-to-json-schema":"^3.23.5","appium-webdriveragent":"^12.2.2","@modelcontextprotocol/sdk":"^1.0.4"},"_hasShrinkwrap":false,"devDependencies":{"pg":"^8.20.0","tsx":"^4.19.2","tsup":"^8.5.1","mysql2":"^3.22.3","@types/pg":"^8.20.0","typescript":"^5.7.2","@types/node":"^22.10.0","better-sqlite3":"^12.10.0","@types/better-sqlite3":"^7.6.13"},"peerDependencies":{"pg":"^8.0.0","mysql2":"^3.0.0"},"peerDependenciesMeta":{"pg":{"optional":true},"mysql2":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/mobile_0.10.0_1786023009537_0.4817701876834446","host":"s3://npm-registry-packages-npm-production"}},"0.11.0":{"name":"@unotest/mobile","version":"0.11.0","author":{"name":"Ivan Volkov","email":"ivan@volkov.io"},"license":"MIT","_id":"@unotest/mobile@0.11.0","maintainers":[{"name":"unotest","email":"ivan@unotest.com"}],"bin":{"unotest-mobile":"bin/unotest-mobile.js"},"dist":{"shasum":"8b5d69e76394fbbc41cdaf9fb4100e86dff532a9","tarball":"https://registry.npmjs.org/@unotest/mobile/-/mobile-0.11.0.tgz","fileCount":15,"integrity":"sha512-P7RepkaDbf9kG4udOEztqfgGDEwg47Ha8eNPS9f/kXptv4kLmovC2f8bZ5gLOL11HALgjsgmFNXfF8rCz4mRXA==","signatures":[{"sig":"MEYCIQCnWo27wyBgqPKL2K2YKoAO3aLwpkA5UVsItVvSDmU/WAIhAM+y3sxygxdop1SLBR9NpnAjW2WOPdYkVsNbyS6DB334","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":631774},"type":"module","_from":"file:unotest-mobile-0.11.0.tgz","engines":{"node":">=20"},"exports":{"./dsl":{"types":"./dist/dsl/mobile-dsl-language-service.d.ts","import":"./dist/dsl/mobile-dsl-language-service.js"},"./adapter":{"types":"./dist/runner/mobile-runner-adapter.d.ts","import":"./dist/runner/mobile-runner-adapter.js"},"./package.json":"./package.json"},"_npmUser":{"name":"unotest","email":"ivan@unotest.com"},"_resolved":"/private/var/folders/rz/_3r_2y197wsgdyw3_l5ygv340000gn/T/e84aee3ae5bfe2ef8bb1d8cf5d660573/unotest-mobile-0.11.0.tgz","_integrity":"sha512-P7RepkaDbf9kG4udOEztqfgGDEwg47Ha8eNPS9f/kXptv4kLmovC2f8bZ5gLOL11HALgjsgmFNXfF8rCz4mRXA==","_npmVersion":"10.9.8","description":"AI-native E2E testing for iOS React Native apps. MCP server + CLI runner + JS-DSL scenarios.","directories":{},"_nodeVersion":"22.23.0","dependencies":{"zod":"^3.23.8","sharp":"^0.34.5","dotenv":"^16.4.5","@unotest/dsl":"^0.11.0","@unotest/core":"^0.11.0","better-sqlite3":"^11.0.0 || ^12.0.0","@unotest/viewer":"^0.11.0","@unotest/protocol":"^0.11.0","zod-to-json-schema":"^3.23.5","appium-webdriveragent":"^12.2.2","@modelcontextprotocol/sdk":"^1.0.4"},"_hasShrinkwrap":false,"devDependencies":{"pg":"^8.20.0","tsx":"^4.19.2","tsup":"^8.5.1","mysql2":"^3.22.3","@types/pg":"^8.20.0","typescript":"^5.7.2","@types/node":"^22.10.0","better-sqlite3":"^12.10.0","@types/better-sqlite3":"^7.6.13"},"peerDependencies":{"pg":"^8.0.0","mysql2":"^3.0.0"},"peerDependenciesMeta":{"pg":{"optional":true},"mysql2":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/mobile_0.11.0_1786625920122_0.04657073242533838","host":"s3://npm-registry-packages-npm-production"}},"0.12.0":{"name":"@unotest/mobile","version":"0.12.0","author":{"name":"Ivan Volkov","email":"ivan@volkov.io"},"license":"MIT","_id":"@unotest/mobile@0.12.0","maintainers":[{"name":"unotest","email":"ivan@unotest.com"}],"bin":{"unotest-mobile":"bin/unotest-mobile.js"},"dist":{"shasum":"8fe2176f93b2bfe81f5870b387b4849c53895f96","tarball":"https://registry.npmjs.org/@unotest/mobile/-/mobile-0.12.0.tgz","fileCount":15,"integrity":"sha512-s5PzVvI7mabMRIMyo/p/NIaiJzITNSAyMQRSU2Ux1zLkttolDnR28zHwTzWKbZlFWgv8T0oFCsPf/b2eiY+epA==","signatures":[{"sig":"MEUCIF54O0fyrdU0T49j16Tc9yTEDbsj39nazviMpTiK0G2FAiEA+uQAeY35FJ/Xn5+t5QnGhwUV7+o6wMGMdroA1SPXvOE=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":632057},"type":"module","_from":"file:unotest-mobile-0.12.0.tgz","engines":{"node":">=20"},"exports":{"./dsl":{"types":"./dist/dsl/mobile-dsl-language-service.d.ts","import":"./dist/dsl/mobile-dsl-language-service.js"},"./adapter":{"types":"./dist/runner/mobile-runner-adapter.d.ts","import":"./dist/runner/mobile-runner-adapter.js"},"./package.json":"./package.json"},"_npmUser":{"name":"unotest","email":"ivan@unotest.com"},"_resolved":"/private/var/folders/rz/_3r_2y197wsgdyw3_l5ygv340000gn/T/0a814804582dc3d743c4bbfcacb8042d/unotest-mobile-0.12.0.tgz","_integrity":"sha512-s5PzVvI7mabMRIMyo/p/NIaiJzITNSAyMQRSU2Ux1zLkttolDnR28zHwTzWKbZlFWgv8T0oFCsPf/b2eiY+epA==","_npmVersion":"10.9.8","description":"AI-native E2E testing for iOS React Native apps. MCP server + CLI runner + JS-DSL scenarios.","directories":{},"_nodeVersion":"22.23.0","dependencies":{"zod":"^3.23.8","sharp":"^0.34.5","dotenv":"^16.4.5","@unotest/dsl":"^0.12.0","@unotest/core":"^0.12.0","better-sqlite3":"^11.0.0 || ^12.0.0","@unotest/viewer":"^0.12.0","@unotest/protocol":"^0.12.0","zod-to-json-schema":"^3.23.5","appium-webdriveragent":"^12.2.2","@modelcontextprotocol/sdk":"^1.0.4"},"_hasShrinkwrap":false,"devDependencies":{"pg":"^8.20.0","tsx":"^4.19.2","tsup":"^8.5.1","mysql2":"^3.22.3","@types/pg":"^8.20.0","typescript":"^5.7.2","@types/node":"^22.10.0","better-sqlite3":"^12.10.0","@types/better-sqlite3":"^7.6.13"},"peerDependencies":{"pg":"^8.0.0","mysql2":"^3.0.0"},"peerDependenciesMeta":{"pg":{"optional":true},"mysql2":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/mobile_0.12.0_1786722675463_0.4692001332693163","host":"s3://npm-registry-packages-npm-production"}},"0.13.0":{"name":"@unotest/mobile","version":"0.13.0","author":{"name":"Ivan Volkov","email":"ivan@volkov.io"},"license":"MIT","_id":"@unotest/mobile@0.13.0","maintainers":[{"name":"unotest","email":"ivan@unotest.com"}],"bin":{"unotest-mobile":"bin/unotest-mobile.js"},"dist":{"shasum":"ee0e903d9988e1d2347cb5c333bfeecd69601c6e","tarball":"https://registry.npmjs.org/@unotest/mobile/-/mobile-0.13.0.tgz","fileCount":15,"integrity":"sha512-8ME+bIOXexLmmjbwQkVmNorJMmIYsqoHFgFPIbrFPStWqhSoLooRXX92CPpKV94cxs0B/bU80Lxg3zEJLbK+nQ==","signatures":[{"sig":"MEUCIQCLTG5SFrty6k0vKWK5k19ogAGFeyLvp0i3faZxQ6LwqQIgFc4m45IUrR2J2N+cv7SJfx2dD1wdjKllw/wKTYQX6Pc=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":632307},"type":"module","_from":"file:unotest-mobile-0.13.0.tgz","engines":{"node":">=20"},"exports":{"./dsl":{"types":"./dist/dsl/mobile-dsl-language-service.d.ts","import":"./dist/dsl/mobile-dsl-language-service.js"},"./adapter":{"types":"./dist/runner/mobile-runner-adapter.d.ts","import":"./dist/runner/mobile-runner-adapter.js"},"./package.json":"./package.json"},"_npmUser":{"name":"unotest","email":"ivan@unotest.com"},"_resolved":"/private/var/folders/rz/_3r_2y197wsgdyw3_l5ygv340000gn/T/06bb3431bdba21ad534012c642a7a8fd/unotest-mobile-0.13.0.tgz","_integrity":"sha512-8ME+bIOXexLmmjbwQkVmNorJMmIYsqoHFgFPIbrFPStWqhSoLooRXX92CPpKV94cxs0B/bU80Lxg3zEJLbK+nQ==","_npmVersion":"10.9.8","description":"AI-native E2E testing for iOS React Native apps. MCP server + CLI runner + JS-DSL scenarios.","directories":{},"_nodeVersion":"22.23.0","dependencies":{"zod":"^3.23.8","sharp":"^0.34.5","dotenv":"^16.4.5","@unotest/dsl":"^0.13.0","@unotest/core":"^0.13.0","better-sqlite3":"^11.0.0 || ^12.0.0","@unotest/viewer":"^0.13.0","@unotest/protocol":"^0.13.0","zod-to-json-schema":"^3.23.5","appium-webdriveragent":"^12.2.2","@modelcontextprotocol/sdk":"^1.0.4"},"_hasShrinkwrap":false,"devDependencies":{"pg":"^8.20.0","tsx":"^4.19.2","tsup":"^8.5.1","mysql2":"^3.22.3","@types/pg":"^8.20.0","typescript":"^5.7.2","@types/node":"^22.10.0","better-sqlite3":"^12.10.0","@types/better-sqlite3":"^7.6.13"},"peerDependencies":{"pg":"^8.0.0","mysql2":"^3.0.0"},"peerDependenciesMeta":{"pg":{"optional":true},"mysql2":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/mobile_0.13.0_1786749913748_0.34949543584436804","host":"s3://npm-registry-packages-npm-production"}},"0.13.1":{"name":"@unotest/mobile","version":"0.13.1","author":{"name":"Ivan Volkov","email":"ivan@volkov.io"},"license":"MIT","_id":"@unotest/mobile@0.13.1","maintainers":[{"name":"unotest","email":"ivan@unotest.com"}],"bin":{"unotest-mobile":"bin/unotest-mobile.js"},"dist":{"shasum":"64635e84a7e76ba03978cd0c5683a7aa89a0fd38","tarball":"https://registry.npmjs.org/@unotest/mobile/-/mobile-0.13.1.tgz","fileCount":15,"integrity":"sha512-vQ91f3geGuizZPESKpjiDLODRfv9NnMAqU0GzcVSLCfjpqHN4YL7WB2WJd6OTRkOh/TKZ5dh1OxtcOpocvxDwA==","signatures":[{"sig":"MEUCIAqPYF+dC1T9cVGabp8RhFYCbO+9VSMQdFJWr2jV1Q5pAiEAtEVUYkMZmBlR9+05Wxh5rmkMps+HN4SGNBRcRWbwy3Q=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":632450},"type":"module","_from":"file:unotest-mobile-0.13.1.tgz","engines":{"node":">=20"},"exports":{"./dsl":{"types":"./dist/dsl/mobile-dsl-language-service.d.ts","import":"./dist/dsl/mobile-dsl-language-service.js"},"./adapter":{"types":"./dist/runner/mobile-runner-adapter.d.ts","import":"./dist/runner/mobile-runner-adapter.js"},"./package.json":"./package.json"},"_npmUser":{"name":"unotest","email":"ivan@unotest.com"},"_resolved":"/private/var/folders/rz/_3r_2y197wsgdyw3_l5ygv340000gn/T/5d54c0aea20b52ee84997bccd454531e/unotest-mobile-0.13.1.tgz","_integrity":"sha512-vQ91f3geGuizZPESKpjiDLODRfv9NnMAqU0GzcVSLCfjpqHN4YL7WB2WJd6OTRkOh/TKZ5dh1OxtcOpocvxDwA==","_npmVersion":"10.9.8","description":"AI-native E2E testing for iOS React Native apps. MCP server + CLI runner + JS-DSL scenarios.","directories":{},"_nodeVersion":"22.23.0","dependencies":{"zod":"^3.23.8","sharp":"^0.34.5","dotenv":"^16.4.5","@unotest/dsl":"^0.13.1","@unotest/core":"^0.13.1","better-sqlite3":"^11.0.0 || ^12.0.0","@unotest/viewer":"^0.13.1","@unotest/protocol":"^0.13.1","zod-to-json-schema":"^3.23.5","appium-webdriveragent":"^12.2.2","@modelcontextprotocol/sdk":"^1.0.4"},"_hasShrinkwrap":false,"devDependencies":{"pg":"^8.20.0","tsx":"^4.19.2","tsup":"^8.5.1","mysql2":"^3.22.3","@types/pg":"^8.20.0","typescript":"^5.7.2","@types/node":"^22.10.0","better-sqlite3":"^12.10.0","@types/better-sqlite3":"^7.6.13"},"peerDependencies":{"pg":"^8.0.0","mysql2":"^3.0.0"},"peerDependenciesMeta":{"pg":{"optional":true},"mysql2":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/mobile_0.13.1_1786751163778_0.4492984367203312","host":"s3://npm-registry-packages-npm-production"}},"0.14.0":{"name":"@unotest/mobile","version":"0.14.0","author":{"name":"Ivan Volkov","email":"ivan@volkov.io"},"license":"MIT","_id":"@unotest/mobile@0.14.0","maintainers":[{"name":"unotest","email":"ivan@unotest.com"}],"bin":{"unotest-mobile":"bin/unotest-mobile.js"},"dist":{"shasum":"6f293b25f8ee4988726e1004ac5ff340e99d5dea","tarball":"https://registry.npmjs.org/@unotest/mobile/-/mobile-0.14.0.tgz","fileCount":15,"integrity":"sha512-DdlNTmlzgDSzBqYeaUoRJjF/GkmipIg0NdF17I2FZavzwuocJL3HIGYK4M4U+/69cR8lBE+cCe+lCzDl0ysTyQ==","signatures":[{"sig":"MEQCICfmCJXoynKLeRpkIAOjvwfTnPTQ1WAFYOHG/M5yrdp/AiBnGhD59QW8+eZbf7UJTuF4CUfw5jVMbrkhu+ZLNdzTvg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":632667},"type":"module","_from":"file:unotest-mobile-0.14.0.tgz","engines":{"node":">=20"},"exports":{"./dsl":{"types":"./dist/dsl/mobile-dsl-language-service.d.ts","import":"./dist/dsl/mobile-dsl-language-service.js"},"./adapter":{"types":"./dist/runner/mobile-runner-adapter.d.ts","import":"./dist/runner/mobile-runner-adapter.js"},"./package.json":"./package.json"},"_npmUser":{"name":"unotest","email":"ivan@unotest.com"},"_resolved":"/private/var/folders/rz/_3r_2y197wsgdyw3_l5ygv340000gn/T/00c51a05db9bbb2d9b5a69b484de98ca/unotest-mobile-0.14.0.tgz","_integrity":"sha512-DdlNTmlzgDSzBqYeaUoRJjF/GkmipIg0NdF17I2FZavzwuocJL3HIGYK4M4U+/69cR8lBE+cCe+lCzDl0ysTyQ==","_npmVersion":"10.9.8","description":"AI-native E2E testing for iOS React Native apps. MCP server + CLI runner + JS-DSL scenarios.","directories":{},"_nodeVersion":"22.23.0","dependencies":{"zod":"^3.23.8","sharp":"^0.34.5","dotenv":"^16.4.5","@unotest/dsl":"^0.14.0","@unotest/core":"^0.14.0","better-sqlite3":"^11.0.0 || ^12.0.0","@unotest/viewer":"^0.14.0","@unotest/protocol":"^0.14.0","zod-to-json-schema":"^3.23.5","appium-webdriveragent":"^12.2.2","@modelcontextprotocol/sdk":"^1.0.4"},"_hasShrinkwrap":false,"devDependencies":{"pg":"^8.20.0","tsx":"^4.19.2","tsup":"^8.5.1","mysql2":"^3.22.3","@types/pg":"^8.20.0","typescript":"^5.7.2","@types/node":"^22.10.0","better-sqlite3":"^12.10.0","@types/better-sqlite3":"^7.6.13"},"peerDependencies":{"pg":"^8.0.0","mysql2":"^3.0.0"},"peerDependenciesMeta":{"pg":{"optional":true},"mysql2":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/mobile_0.14.0_1786916664007_0.10324736906829757","host":"s3://npm-registry-packages-npm-production"}},"0.15.0":{"name":"@unotest/mobile","version":"0.15.0","author":{"name":"Ivan Volkov","email":"ivan@volkov.io"},"license":"MIT","_id":"@unotest/mobile@0.15.0","maintainers":[{"name":"unotest","email":"ivan@unotest.com"}],"bin":{"unotest-mobile":"bin/unotest-mobile.js"},"dist":{"shasum":"b17c9b2ffb9c15750e398953636acc2f0cd5f7b9","tarball":"https://registry.npmjs.org/@unotest/mobile/-/mobile-0.15.0.tgz","fileCount":15,"integrity":"sha512-CtyyRtvCUthMOgVVXwd1KdZv4u4S1GRTIf9W8avbfK+a1Blp2JCXET3bAdi53ckQSwnlcf6qUZs1CUt7fuIJmQ==","signatures":[{"sig":"MEUCIFAw81OCte/P46QUufXSugMan9iuFSVd3rfRcKv0FRfwAiEAysK9k44ePX2074+aB1G7Sk+9N3RaZtjU+qkvA9FvgWk=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":632884},"type":"module","_from":"file:unotest-mobile-0.15.0.tgz","engines":{"node":">=20"},"exports":{"./dsl":{"types":"./dist/dsl/mobile-dsl-language-service.d.ts","import":"./dist/dsl/mobile-dsl-language-service.js"},"./adapter":{"types":"./dist/runner/mobile-runner-adapter.d.ts","import":"./dist/runner/mobile-runner-adapter.js"},"./package.json":"./package.json"},"_npmUser":{"name":"unotest","email":"ivan@unotest.com"},"_resolved":"/private/var/folders/rz/_3r_2y197wsgdyw3_l5ygv340000gn/T/13cdb0912d2118c8282c63d896e804e4/unotest-mobile-0.15.0.tgz","_integrity":"sha512-CtyyRtvCUthMOgVVXwd1KdZv4u4S1GRTIf9W8avbfK+a1Blp2JCXET3bAdi53ckQSwnlcf6qUZs1CUt7fuIJmQ==","_npmVersion":"10.9.8","description":"AI-native E2E testing for iOS React Native apps. MCP server + CLI runner + JS-DSL scenarios.","directories":{},"_nodeVersion":"22.23.0","dependencies":{"zod":"^3.23.8","sharp":"^0.34.5","dotenv":"^16.4.5","@unotest/dsl":"^0.15.0","@unotest/core":"^0.15.0","better-sqlite3":"^11.0.0 || ^12.0.0","@unotest/viewer":"^0.15.0","@unotest/protocol":"^0.15.0","zod-to-json-schema":"^3.23.5","appium-webdriveragent":"^12.2.2","@modelcontextprotocol/sdk":"^1.0.4"},"_hasShrinkwrap":false,"devDependencies":{"pg":"^8.20.0","tsx":"^4.19.2","tsup":"^8.5.1","mysql2":"^3.22.3","@types/pg":"^8.20.0","typescript":"^5.7.2","@types/node":"^22.10.0","better-sqlite3":"^12.10.0","@types/better-sqlite3":"^7.6.13"},"peerDependencies":{"pg":"^8.0.0","mysql2":"^3.0.0"},"peerDependenciesMeta":{"pg":{"optional":true},"mysql2":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/mobile_0.15.0_1786962103638_0.9798155174105903","host":"s3://npm-registry-packages-npm-production"}},"0.16.0":{"name":"@unotest/mobile","version":"0.16.0","author":{"name":"Ivan Volkov","email":"ivan@volkov.io"},"license":"MIT","_id":"@unotest/mobile@0.16.0","maintainers":[{"name":"unotest","email":"ivan@unotest.com"}],"bin":{"unotest-mobile":"bin/unotest-mobile.js"},"dist":{"shasum":"b4644f559c94ec0a216de5839afcf80ef93c853c","tarball":"https://registry.npmjs.org/@unotest/mobile/-/mobile-0.16.0.tgz","fileCount":15,"integrity":"sha512-P/iNYXTDepeOIvQ1RPAMEMhIEGkBd8t5ae18NlbGGy8H9DpQ3IQ0kM/zkTl/z0TDDbhoNFZoIhmUWppcHmcmNA==","signatures":[{"sig":"MEUCIFMI95+UGpa/w/dYV+WXbTw1SfPbBN8x30bGetn1UThgAiEApWaTzpnt8OZVfpsDi/xJIxqYJ1mNXEYKYljtT4KfPbs=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":633134},"type":"module","_from":"file:unotest-mobile-0.16.0.tgz","engines":{"node":">=20"},"exports":{"./dsl":{"types":"./dist/dsl/mobile-dsl-language-service.d.ts","import":"./dist/dsl/mobile-dsl-language-service.js"},"./adapter":{"types":"./dist/runner/mobile-runner-adapter.d.ts","import":"./dist/runner/mobile-runner-adapter.js"},"./package.json":"./package.json"},"_npmUser":{"name":"unotest","email":"ivan@unotest.com"},"_resolved":"/private/var/folders/rz/_3r_2y197wsgdyw3_l5ygv340000gn/T/8b21bf421293645eb3aeb63eaf82db52/unotest-mobile-0.16.0.tgz","_integrity":"sha512-P/iNYXTDepeOIvQ1RPAMEMhIEGkBd8t5ae18NlbGGy8H9DpQ3IQ0kM/zkTl/z0TDDbhoNFZoIhmUWppcHmcmNA==","_npmVersion":"10.9.8","description":"AI-native E2E testing for iOS React Native apps. MCP server + CLI runner + JS-DSL scenarios.","directories":{},"_nodeVersion":"22.23.0","dependencies":{"zod":"^3.23.8","sharp":"^0.34.5","dotenv":"^16.4.5","@unotest/dsl":"^0.16.0","@unotest/core":"^0.16.0","better-sqlite3":"^11.0.0 || ^12.0.0","@unotest/viewer":"^0.16.0","@unotest/protocol":"^0.16.0","zod-to-json-schema":"^3.23.5","appium-webdriveragent":"^12.2.2","@modelcontextprotocol/sdk":"^1.0.4"},"_hasShrinkwrap":false,"devDependencies":{"pg":"^8.20.0","tsx":"^4.19.2","tsup":"^8.5.1","mysql2":"^3.22.3","@types/pg":"^8.20.0","typescript":"^5.7.2","@types/node":"^22.10.0","better-sqlite3":"^12.10.0","@types/better-sqlite3":"^7.6.13"},"peerDependencies":{"pg":"^8.0.0","mysql2":"^3.0.0"},"peerDependenciesMeta":{"pg":{"optional":true},"mysql2":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/mobile_0.16.0_1787096924634_0.3309042112233491","host":"s3://npm-registry-packages-npm-production"}},"0.17.0":{"name":"@unotest/mobile","version":"0.17.0","author":{"name":"Ivan Volkov","email":"ivan@volkov.io"},"license":"MIT","_id":"@unotest/mobile@0.17.0","maintainers":[{"name":"unotest","email":"ivan@unotest.com"}],"bin":{"unotest-mobile":"bin/unotest-mobile.js"},"dist":{"shasum":"114a076626c0c7a3d4908f53ea236fdabd428f46","tarball":"https://registry.npmjs.org/@unotest/mobile/-/mobile-0.17.0.tgz","fileCount":15,"integrity":"sha512-CydYVVf61nSOTS4wMjCbpFF5w71T/HrWdsTwX6ez3ZRGGZkuHGR4wEXMJenCKFid2zdHkEZOf2Dr8PE4frHcew==","signatures":[{"sig":"MEQCIHqXWwbsKSG7OOnYzzpgE1PE9QrAK4W2rDjaLPbYJyo4AiBnJJsNg+IBtHGBVo+Ubci3/c8X21r0S5EZM1YFP08prA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":631362},"type":"module","_from":"file:unotest-mobile-0.17.0.tgz","engines":{"node":">=20"},"exports":{"./dsl":{"types":"./dist/dsl/mobile-dsl-language-service.d.ts","import":"./dist/dsl/mobile-dsl-language-service.js"},"./adapter":{"types":"./dist/runner/mobile-runner-adapter.d.ts","import":"./dist/runner/mobile-runner-adapter.js"},"./package.json":"./package.json"},"_npmUser":{"name":"unotest","email":"ivan@unotest.com"},"_resolved":"/private/var/folders/rz/_3r_2y197wsgdyw3_l5ygv340000gn/T/85a81a0365a0a4e204d29d19c801dcc1/unotest-mobile-0.17.0.tgz","_integrity":"sha512-CydYVVf61nSOTS4wMjCbpFF5w71T/HrWdsTwX6ez3ZRGGZkuHGR4wEXMJenCKFid2zdHkEZOf2Dr8PE4frHcew==","_npmVersion":"10.9.8","description":"AI-native E2E testing for iOS React Native apps. MCP server + CLI runner + JS-DSL scenarios.","directories":{},"_nodeVersion":"22.23.0","dependencies":{"zod":"^3.23.8","sharp":"^0.34.5","dotenv":"^16.4.5","@unotest/dsl":"^0.17.0","@unotest/core":"^0.17.0","better-sqlite3":"^11.0.0 || ^12.0.0","@unotest/viewer":"^0.17.0","@unotest/protocol":"^0.17.0","zod-to-json-schema":"^3.23.5","appium-webdriveragent":"^12.2.2","@modelcontextprotocol/sdk":"^1.0.4"},"_hasShrinkwrap":false,"devDependencies":{"pg":"^8.20.0","tsx":"^4.19.2","tsup":"^8.5.1","mysql2":"^3.22.3","@types/pg":"^8.20.0","typescript":"^5.7.2","@types/node":"^22.10.0","better-sqlite3":"^12.10.0","@types/better-sqlite3":"^7.6.13"},"peerDependencies":{"pg":"^8.0.0","mysql2":"^3.0.0"},"peerDependenciesMeta":{"pg":{"optional":true},"mysql2":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/mobile_0.17.0_1787185786228_0.902442473941486","host":"s3://npm-registry-packages-npm-production"}},"0.18.0":{"name":"@unotest/mobile","version":"0.18.0","author":{"name":"Ivan Volkov","email":"ivan@volkov.io"},"license":"MIT","_id":"@unotest/mobile@0.18.0","maintainers":[{"name":"unotest","email":"ivan@unotest.com"}],"bin":{"unotest-mobile":"bin/unotest-mobile.js"},"dist":{"shasum":"34b7721f5a7b04096ee3546d13d6649898f6b26c","tarball":"https://registry.npmjs.org/@unotest/mobile/-/mobile-0.18.0.tgz","fileCount":15,"integrity":"sha512-iSHt//ibJ0IvjZRqh2ybxoMJC3siudId1tniqhCQPiiSE0SPBSgUFSHwweYe2ksxRE4j4KBFSGLSh7YFaV0l0w==","signatures":[{"sig":"MEUCIDQThj14mQBZ+dSmi11Xee/5lRjwjkDZvqFfgpw5ZUJhAiEAoXkMXLqfKO4Ol7dZMnDBJdpe18bfho1tmKtvXkiqghI=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":631388},"type":"module","_from":"file:unotest-mobile-0.18.0.tgz","engines":{"node":">=20"},"exports":{"./dsl":{"types":"./dist/dsl/mobile-dsl-language-service.d.ts","import":"./dist/dsl/mobile-dsl-language-service.js"},"./adapter":{"types":"./dist/runner/mobile-runner-adapter.d.ts","import":"./dist/runner/mobile-runner-adapter.js"},"./package.json":"./package.json"},"_npmUser":{"name":"unotest","email":"ivan@unotest.com"},"_resolved":"/private/var/folders/rz/_3r_2y197wsgdyw3_l5ygv340000gn/T/6f65ab282645ddeb7e6f0f3649052e52/unotest-mobile-0.18.0.tgz","_integrity":"sha512-iSHt//ibJ0IvjZRqh2ybxoMJC3siudId1tniqhCQPiiSE0SPBSgUFSHwweYe2ksxRE4j4KBFSGLSh7YFaV0l0w==","_npmVersion":"10.9.8","description":"AI-native E2E testing for iOS React Native apps. MCP server + CLI runner + JS-DSL scenarios.","directories":{},"_nodeVersion":"22.23.0","dependencies":{"zod":"^3.23.8","sharp":"^0.34.5","dotenv":"^16.4.5","@unotest/dsl":"^0.18.0","@unotest/core":"^0.18.0","better-sqlite3":"^11.0.0 || ^12.0.0","@unotest/viewer":"^0.18.0","@unotest/protocol":"^0.18.0","zod-to-json-schema":"^3.23.5","appium-webdriveragent":"^12.2.2","@modelcontextprotocol/sdk":"^1.0.4"},"_hasShrinkwrap":false,"devDependencies":{"pg":"^8.20.0","tsx":"^4.19.2","tsup":"^8.5.1","mysql2":"^3.22.3","@types/pg":"^8.20.0","typescript":"^5.7.2","@types/node":"^22.10.0","better-sqlite3":"^12.10.0","@types/better-sqlite3":"^7.6.13"},"peerDependencies":{"pg":"^8.0.0","mysql2":"^3.0.0"},"peerDependenciesMeta":{"pg":{"optional":true},"mysql2":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/mobile_0.18.0_1787442691894_0.6897660628502453","host":"s3://npm-registry-packages-npm-production"}},"0.19.0":{"name":"@unotest/mobile","version":"0.19.0","author":{"name":"Ivan Volkov","email":"ivan@volkov.io"},"license":"MIT","_id":"@unotest/mobile@0.19.0","maintainers":[{"name":"unotest","email":"ivan@unotest.com"}],"bin":{"unotest-mobile":"bin/unotest-mobile.js"},"dist":{"shasum":"c9a5ea4be5bf78ddf96cd4cbecfc29fc4d64fcb1","tarball":"https://registry.npmjs.org/@unotest/mobile/-/mobile-0.19.0.tgz","fileCount":15,"integrity":"sha512-fivNfSFbpSR+EkK277O4L5hGy1E3kjWCcZNFno7XM9bqdNdR0Bh9b/xoON37czyQT2mt69Bx4GxrfTZVzpb7kQ==","signatures":[{"sig":"MEYCIQDHik6zX+L03y5W9JUWpsZ0hBk7kGXc6BwM8hnZGL/oiwIhAKkcLsDPJyQSyf8TdfS+uR/HPxtEd+j3hUh9JVuIhi8Q","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":631414},"type":"module","_from":"file:unotest-mobile-0.19.0.tgz","engines":{"node":">=20"},"exports":{"./dsl":{"types":"./dist/dsl/mobile-dsl-language-service.d.ts","import":"./dist/dsl/mobile-dsl-language-service.js"},"./adapter":{"types":"./dist/runner/mobile-runner-adapter.d.ts","import":"./dist/runner/mobile-runner-adapter.js"},"./package.json":"./package.json"},"_npmUser":{"name":"unotest","email":"ivan@unotest.com"},"_resolved":"/private/var/folders/rz/_3r_2y197wsgdyw3_l5ygv340000gn/T/2fe835db504bcab20cba3065f3350f19/unotest-mobile-0.19.0.tgz","_integrity":"sha512-fivNfSFbpSR+EkK277O4L5hGy1E3kjWCcZNFno7XM9bqdNdR0Bh9b/xoON37czyQT2mt69Bx4GxrfTZVzpb7kQ==","_npmVersion":"10.9.8","description":"AI-native E2E testing for iOS React Native apps. MCP server + CLI runner + JS-DSL scenarios.","directories":{},"_nodeVersion":"22.23.0","dependencies":{"zod":"^3.23.8","sharp":"^0.34.5","dotenv":"^16.4.5","@unotest/dsl":"^0.19.0","@unotest/core":"^0.19.0","better-sqlite3":"^11.0.0 || ^12.0.0","@unotest/viewer":"^0.19.0","@unotest/protocol":"^0.19.0","zod-to-json-schema":"^3.23.5","appium-webdriveragent":"^12.2.2","@modelcontextprotocol/sdk":"^1.0.4"},"_hasShrinkwrap":false,"devDependencies":{"pg":"^8.20.0","tsx":"^4.19.2","tsup":"^8.5.1","mysql2":"^3.22.3","@types/pg":"^8.20.0","typescript":"^5.7.2","@types/node":"^22.10.0","better-sqlite3":"^12.10.0","@types/better-sqlite3":"^7.6.13"},"peerDependencies":{"pg":"^8.0.0","mysql2":"^3.0.0"},"peerDependenciesMeta":{"pg":{"optional":true},"mysql2":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/mobile_0.19.0_1787526688831_0.9057165278898567","host":"s3://npm-registry-packages-npm-production"}},"0.20.0":{"name":"@unotest/mobile","version":"0.20.0","author":{"name":"Ivan Volkov","email":"ivan@volkov.io"},"license":"MIT","_id":"@unotest/mobile@0.20.0","maintainers":[{"name":"unotest","email":"ivan@unotest.com"}],"bin":{"unotest-mobile":"bin/unotest-mobile.js"},"dist":{"shasum":"2c97a8ba3370761390d51f647e9dada796a01ae8","tarball":"https://registry.npmjs.org/@unotest/mobile/-/mobile-0.20.0.tgz","fileCount":15,"integrity":"sha512-Gayy8K+eI68O68kKo9PUVENJRcCSJn5UJSb1yGiYCOTbeKi8FBlqHPWpijGp/0CG/dMlVzkY3SVhA8qQJz/dpQ==","signatures":[{"sig":"MEYCIQCR6TVIcr8H+7tcIqSYwa9aN6qdB2aiwuaH9JDcpupFDQIhAKzlexaxRiWU1lwvMC9BgTe09zqFbgz4KixcgYlF1YgT","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":631664},"type":"module","_from":"file:unotest-mobile-0.20.0.tgz","engines":{"node":">=20"},"exports":{"./dsl":{"types":"./dist/dsl/mobile-dsl-language-service.d.ts","import":"./dist/dsl/mobile-dsl-language-service.js"},"./adapter":{"types":"./dist/runner/mobile-runner-adapter.d.ts","import":"./dist/runner/mobile-runner-adapter.js"},"./package.json":"./package.json"},"_npmUser":{"name":"unotest","email":"ivan@unotest.com"},"_resolved":"/private/var/folders/rz/_3r_2y197wsgdyw3_l5ygv340000gn/T/3bb869269c38b5e15f77b53b93d4ab8e/unotest-mobile-0.20.0.tgz","_integrity":"sha512-Gayy8K+eI68O68kKo9PUVENJRcCSJn5UJSb1yGiYCOTbeKi8FBlqHPWpijGp/0CG/dMlVzkY3SVhA8qQJz/dpQ==","_npmVersion":"10.9.8","description":"AI-native E2E testing for iOS React Native apps. MCP server + CLI runner + JS-DSL scenarios.","directories":{},"_nodeVersion":"22.23.0","dependencies":{"zod":"^3.23.8","sharp":"^0.34.5","dotenv":"^16.4.5","@unotest/dsl":"^0.20.0","@unotest/core":"^0.20.0","better-sqlite3":"^11.0.0 || ^12.0.0","@unotest/viewer":"^0.20.0","@unotest/protocol":"^0.20.0","zod-to-json-schema":"^3.23.5","appium-webdriveragent":"^12.2.2","@modelcontextprotocol/sdk":"^1.0.4"},"_hasShrinkwrap":false,"devDependencies":{"pg":"^8.20.0","tsx":"^4.19.2","tsup":"^8.5.1","mysql2":"^3.22.3","@types/pg":"^8.20.0","typescript":"^5.7.2","@types/node":"^22.10.0","better-sqlite3":"^12.10.0","@types/better-sqlite3":"^7.6.13"},"peerDependencies":{"pg":"^8.0.0","mysql2":"^3.0.0"},"peerDependenciesMeta":{"pg":{"optional":true},"mysql2":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/mobile_0.20.0_1787576654512_0.08674005119416028","host":"s3://npm-registry-packages-npm-production"}},"0.21.0":{"name":"@unotest/mobile","version":"0.21.0","author":{"name":"Ivan Volkov","email":"ivan@volkov.io"},"license":"MIT","_id":"@unotest/mobile@0.21.0","maintainers":[{"name":"unotest","email":"ivan@unotest.com"}],"bin":{"unotest-mobile":"bin/unotest-mobile.js"},"dist":{"shasum":"340ade778d9f92669cb62ce493cafa026f32cff9","tarball":"https://registry.npmjs.org/@unotest/mobile/-/mobile-0.21.0.tgz","fileCount":15,"integrity":"sha512-1kWXe9hzgyjBsKG6PM18R0AXX3+uNcnfjHItg625Glg30jR1oOWY2x6aPIb2TXiufIvj8cVo2tx8vRl6SjsbTg==","signatures":[{"sig":"MEUCIQCEajGxaiZpIFyunM8a5EEpBY/q9sF2R9X5C3o87AP2YQIgdxPyMGJJwYEyVTQ9/4wXgskZOmAPmGMKRVgoOpQgMjE=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":631848},"type":"module","_from":"file:unotest-mobile-0.21.0.tgz","engines":{"node":">=20"},"exports":{"./dsl":{"types":"./dist/dsl/mobile-dsl-language-service.d.ts","import":"./dist/dsl/mobile-dsl-language-service.js"},"./adapter":{"types":"./dist/runner/mobile-runner-adapter.d.ts","import":"./dist/runner/mobile-runner-adapter.js"},"./package.json":"./package.json"},"_npmUser":{"name":"unotest","email":"ivan@unotest.com"},"_resolved":"/private/var/folders/rz/_3r_2y197wsgdyw3_l5ygv340000gn/T/d38559d65959c2208537cbd6871689e3/unotest-mobile-0.21.0.tgz","_integrity":"sha512-1kWXe9hzgyjBsKG6PM18R0AXX3+uNcnfjHItg625Glg30jR1oOWY2x6aPIb2TXiufIvj8cVo2tx8vRl6SjsbTg==","_npmVersion":"10.9.8","description":"AI-native E2E testing for iOS React Native apps. MCP server + CLI runner + JS-DSL scenarios.","directories":{},"_nodeVersion":"22.23.0","dependencies":{"zod":"^3.23.8","sharp":"^0.34.5","dotenv":"^16.4.5","@unotest/dsl":"^0.21.0","@unotest/core":"^0.21.0","better-sqlite3":"^11.0.0 || ^12.0.0","@unotest/viewer":"^0.21.0","@unotest/protocol":"^0.21.0","zod-to-json-schema":"^3.23.5","appium-webdriveragent":"^12.2.2","@modelcontextprotocol/sdk":"^1.0.4"},"_hasShrinkwrap":false,"devDependencies":{"pg":"^8.20.0","tsx":"^4.19.2","tsup":"^8.5.1","mysql2":"^3.22.3","@types/pg":"^8.20.0","typescript":"^5.7.2","@types/node":"^22.10.0","better-sqlite3":"^12.10.0","@types/better-sqlite3":"^7.6.13"},"peerDependencies":{"pg":"^8.0.0","mysql2":"^3.0.0"},"peerDependenciesMeta":{"pg":{"optional":true},"mysql2":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/mobile_0.21.0_1787615770054_0.46239522108712605","host":"s3://npm-registry-packages-npm-production"}},"0.22.0":{"name":"@unotest/mobile","version":"0.22.0","author":{"name":"Ivan Volkov","email":"ivan@volkov.io"},"license":"MIT","_id":"@unotest/mobile@0.22.0","maintainers":[{"name":"unotest","email":"ivan@unotest.com"}],"bin":{"unotest-mobile":"bin/unotest-mobile.js"},"dist":{"shasum":"f4b299512809c546c7744981b6c05d060786c6c9","tarball":"https://registry.npmjs.org/@unotest/mobile/-/mobile-0.22.0.tgz","fileCount":15,"integrity":"sha512-NsU1G+rAXAosf2S9e8lFn8T9srPVRELabuZ6zjQvlBK7kAzI19E7vT36gQr4B7occ8GMxIeL3VbhZe1Xy6BtjA==","signatures":[{"sig":"MEYCIQD5o0qEQ8LUpPaykrboykZjiDmy5dJmp+JzHTHXl+/7LAIhAOP7BVnHFujtps1SW891QaOMA04q6BHdIDmQr6O0Wbv5","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":632032},"type":"module","_from":"file:unotest-mobile-0.22.0.tgz","engines":{"node":">=20"},"exports":{"./dsl":{"types":"./dist/dsl/mobile-dsl-language-service.d.ts","import":"./dist/dsl/mobile-dsl-language-service.js"},"./adapter":{"types":"./dist/runner/mobile-runner-adapter.d.ts","import":"./dist/runner/mobile-runner-adapter.js"},"./package.json":"./package.json"},"_npmUser":{"name":"unotest","email":"ivan@unotest.com"},"_resolved":"/private/var/folders/rz/_3r_2y197wsgdyw3_l5ygv340000gn/T/fa781037a3a7f0675bd14a23e38608ab/unotest-mobile-0.22.0.tgz","_integrity":"sha512-NsU1G+rAXAosf2S9e8lFn8T9srPVRELabuZ6zjQvlBK7kAzI19E7vT36gQr4B7occ8GMxIeL3VbhZe1Xy6BtjA==","_npmVersion":"10.9.8","description":"AI-native E2E testing for iOS React Native apps. MCP server + CLI runner + JS-DSL scenarios.","directories":{},"_nodeVersion":"22.23.0","dependencies":{"zod":"^3.23.8","sharp":"^0.34.5","dotenv":"^16.4.5","@unotest/dsl":"^0.22.0","@unotest/core":"^0.22.0","better-sqlite3":"^11.0.0 || ^12.0.0","@unotest/viewer":"^0.22.0","@unotest/protocol":"^0.22.0","zod-to-json-schema":"^3.23.5","appium-webdriveragent":"^12.2.2","@modelcontextprotocol/sdk":"^1.0.4"},"_hasShrinkwrap":false,"devDependencies":{"pg":"^8.20.0","tsx":"^4.19.2","tsup":"^8.5.1","mysql2":"^3.22.3","@types/pg":"^8.20.0","typescript":"^5.7.2","@types/node":"^22.10.0","better-sqlite3":"^12.10.0","@types/better-sqlite3":"^7.6.13"},"peerDependencies":{"pg":"^8.0.0","mysql2":"^3.0.0"},"peerDependenciesMeta":{"pg":{"optional":true},"mysql2":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/mobile_0.22.0_1787739707879_0.23009607833258006","host":"s3://npm-registry-packages-npm-production"}},"0.23.0":{"name":"@unotest/mobile","version":"0.23.0","author":{"name":"Ivan Volkov","email":"ivan@volkov.io"},"license":"MIT","_id":"@unotest/mobile@0.23.0","maintainers":[{"name":"unotest","email":"ivan@unotest.com"}],"bin":{"unotest-mobile":"bin/unotest-mobile.js"},"dist":{"shasum":"c48d527646ec8277a97de41914be36f078326253","tarball":"https://registry.npmjs.org/@unotest/mobile/-/mobile-0.23.0.tgz","fileCount":15,"integrity":"sha512-Wu3IFhZwYoMUSh7rcQ/pfF5QMdflffnwq2EbcLkm42v7zRfTCIzjsEFhMG6lzuyC5GrQ4VniuDXhCcTKtia5iA==","signatures":[{"sig":"MEYCIQCmdBv84J8jWfpKQstekgy46kT2DHFKHUIuximfKtVXZgIhAPpaaqhtY4O6GudJex5qe0LZQXlYGrluaW7ajmoc64tg","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":632206},"type":"module","_from":"file:unotest-mobile-0.23.0.tgz","engines":{"node":">=20"},"exports":{"./dsl":{"types":"./dist/dsl/mobile-dsl-language-service.d.ts","import":"./dist/dsl/mobile-dsl-language-service.js"},"./adapter":{"types":"./dist/runner/mobile-runner-adapter.d.ts","import":"./dist/runner/mobile-runner-adapter.js"},"./package.json":"./package.json"},"_npmUser":{"name":"unotest","email":"ivan@unotest.com"},"_resolved":"/private/var/folders/rz/_3r_2y197wsgdyw3_l5ygv340000gn/T/ae4b6b21ba13813dd88c0f587380c45b/unotest-mobile-0.23.0.tgz","_integrity":"sha512-Wu3IFhZwYoMUSh7rcQ/pfF5QMdflffnwq2EbcLkm42v7zRfTCIzjsEFhMG6lzuyC5GrQ4VniuDXhCcTKtia5iA==","_npmVersion":"10.9.8","description":"AI-native E2E testing for iOS React Native apps. MCP server + CLI runner + JS-DSL scenarios.","directories":{},"_nodeVersion":"22.23.0","dependencies":{"zod":"^3.23.8","sharp":"^0.34.5","dotenv":"^16.4.5","@unotest/dsl":"^0.23.0","@unotest/core":"^0.23.0","better-sqlite3":"^11.0.0 || ^12.0.0","@unotest/viewer":"^0.23.0","@unotest/protocol":"^0.23.0","zod-to-json-schema":"^3.23.5","appium-webdriveragent":"^12.2.2","@modelcontextprotocol/sdk":"^1.0.4"},"_hasShrinkwrap":false,"devDependencies":{"pg":"^8.20.0","tsx":"^4.19.2","tsup":"^8.5.1","mysql2":"^3.22.3","@types/pg":"^8.20.0","typescript":"^5.7.2","@types/node":"^22.10.0","better-sqlite3":"^12.10.0","@types/better-sqlite3":"^7.6.13"},"peerDependencies":{"pg":"^8.0.0","mysql2":"^3.0.0"},"peerDependenciesMeta":{"pg":{"optional":true},"mysql2":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/mobile_0.23.0_1787745378302_0.8555526644386782","host":"s3://npm-registry-packages-npm-production"}},"0.24.0":{"name":"@unotest/mobile","version":"0.24.0","author":{"name":"Ivan Volkov","email":"ivan@volkov.io"},"license":"MIT","_id":"@unotest/mobile@0.24.0","maintainers":[{"name":"unotest","email":"ivan@unotest.com"}],"bin":{"unotest-mobile":"bin/unotest-mobile.js"},"dist":{"shasum":"e14993e1fabe8666514ed319772f1214ecd0bf53","tarball":"https://registry.npmjs.org/@unotest/mobile/-/mobile-0.24.0.tgz","fileCount":15,"integrity":"sha512-vqoRgAKoWAdx654pkwHpMbavu1HC/mGAZecoOqm4AHTS3RfLD+0pMBM9KOKZjDfy5+gIn05bCBm2vLWxgp4jmg==","signatures":[{"sig":"MEYCIQCDYdmDs8J5cXAKp2s+q9U/BFDfaY9hLvBrxeOaaJZAMgIhAPfoaxDoECaHKFkOozWksaDUkNeJjtjKdgq/2UWZeJ0n","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":632380},"type":"module","_from":"file:unotest-mobile-0.24.0.tgz","engines":{"node":">=20"},"exports":{"./dsl":{"types":"./dist/dsl/mobile-dsl-language-service.d.ts","import":"./dist/dsl/mobile-dsl-language-service.js"},"./adapter":{"types":"./dist/runner/mobile-runner-adapter.d.ts","import":"./dist/runner/mobile-runner-adapter.js"},"./package.json":"./package.json"},"_npmUser":{"name":"unotest","email":"ivan@unotest.com"},"_resolved":"/private/var/folders/rz/_3r_2y197wsgdyw3_l5ygv340000gn/T/ce5a619b93520154b8533fa63f7d2813/unotest-mobile-0.24.0.tgz","_integrity":"sha512-vqoRgAKoWAdx654pkwHpMbavu1HC/mGAZecoOqm4AHTS3RfLD+0pMBM9KOKZjDfy5+gIn05bCBm2vLWxgp4jmg==","_npmVersion":"10.9.8","description":"AI-native E2E testing for iOS React Native apps. MCP server + CLI runner + JS-DSL scenarios.","directories":{},"_nodeVersion":"22.23.0","dependencies":{"zod":"^3.23.8","sharp":"^0.34.5","dotenv":"^16.4.5","@unotest/dsl":"^0.24.0","@unotest/core":"^0.24.0","better-sqlite3":"^11.0.0 || ^12.0.0","@unotest/viewer":"^0.24.0","@unotest/protocol":"^0.24.0","zod-to-json-schema":"^3.23.5","appium-webdriveragent":"^12.2.2","@modelcontextprotocol/sdk":"^1.0.4"},"_hasShrinkwrap":false,"devDependencies":{"pg":"^8.20.0","tsx":"^4.19.2","tsup":"^8.5.1","mysql2":"^3.22.3","@types/pg":"^8.20.0","typescript":"^5.7.2","@types/node":"^22.10.0","better-sqlite3":"^12.10.0","@types/better-sqlite3":"^7.6.13"},"peerDependencies":{"pg":"^8.0.0","mysql2":"^3.0.0"},"peerDependenciesMeta":{"pg":{"optional":true},"mysql2":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/mobile_0.24.0_1787770768520_0.24188459794014006","host":"s3://npm-registry-packages-npm-production"}},"0.25.0":{"name":"@unotest/mobile","version":"0.25.0","author":{"name":"Ivan Volkov","email":"ivan@volkov.io"},"license":"MIT","_id":"@unotest/mobile@0.25.0","maintainers":[{"name":"unotest","email":"ivan@unotest.com"}],"bin":{"unotest-mobile":"bin/unotest-mobile.js"},"dist":{"shasum":"f941af1953d4e72aa6bc180edb7faf2b9ed7df3e","tarball":"https://registry.npmjs.org/@unotest/mobile/-/mobile-0.25.0.tgz","fileCount":15,"integrity":"sha512-IwMFF9S8t8bTjGUxqicCJp6ZRtdzn+rq9xAWi73GqhvKt8ouLiGnekZM5T2r4CAJ6gDGgqh0k36WZXwK1wNhDg==","signatures":[{"sig":"MEUCIQDzKAGwZsTDslds8RPzliMVO97IQ764sTc7KcVb2GVGigIgKt0uJZW+qdXs3Y6VMwwRirH0p3fupr7HjlkdiHFiE2k=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":632597},"type":"module","_from":"file:unotest-mobile-0.25.0.tgz","engines":{"node":">=20"},"exports":{"./dsl":{"types":"./dist/dsl/mobile-dsl-language-service.d.ts","import":"./dist/dsl/mobile-dsl-language-service.js"},"./adapter":{"types":"./dist/runner/mobile-runner-adapter.d.ts","import":"./dist/runner/mobile-runner-adapter.js"},"./package.json":"./package.json"},"_npmUser":{"name":"unotest","email":"ivan@unotest.com"},"_resolved":"/private/var/folders/rz/_3r_2y197wsgdyw3_l5ygv340000gn/T/28c4a8a4c117d0ad93cc36243eaf4dfb/unotest-mobile-0.25.0.tgz","_integrity":"sha512-IwMFF9S8t8bTjGUxqicCJp6ZRtdzn+rq9xAWi73GqhvKt8ouLiGnekZM5T2r4CAJ6gDGgqh0k36WZXwK1wNhDg==","_npmVersion":"10.9.8","description":"AI-native E2E testing for iOS React Native apps. MCP server + CLI runner + JS-DSL scenarios.","directories":{},"_nodeVersion":"22.23.0","dependencies":{"zod":"^3.23.8","sharp":"^0.34.5","dotenv":"^16.4.5","@unotest/dsl":"^0.25.0","@unotest/core":"^0.25.0","better-sqlite3":"^11.0.0 || ^12.0.0","@unotest/viewer":"^0.25.0","@unotest/protocol":"^0.25.0","zod-to-json-schema":"^3.23.5","appium-webdriveragent":"^12.2.2","@modelcontextprotocol/sdk":"^1.0.4"},"_hasShrinkwrap":false,"devDependencies":{"pg":"^8.20.0","tsx":"^4.19.2","tsup":"^8.5.1","mysql2":"^3.22.3","@types/pg":"^8.20.0","typescript":"^5.7.2","@types/node":"^22.10.0","better-sqlite3":"^12.10.0","@types/better-sqlite3":"^7.6.13"},"peerDependencies":{"pg":"^8.0.0","mysql2":"^3.0.0"},"peerDependenciesMeta":{"pg":{"optional":true},"mysql2":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/mobile_0.25.0_1787960738576_0.22544006042304132","host":"s3://npm-registry-packages-npm-production"}},"0.26.0":{"name":"@unotest/mobile","version":"0.26.0","author":{"name":"Ivan Volkov","email":"ivan@volkov.io"},"license":"MIT","_id":"@unotest/mobile@0.26.0","maintainers":[{"name":"unotest","email":"ivan@unotest.com"}],"bin":{"unotest-mobile":"bin/unotest-mobile.js"},"dist":{"shasum":"0603d1b0ec768c020e3887a8e774b0f621bf031b","tarball":"https://registry.npmjs.org/@unotest/mobile/-/mobile-0.26.0.tgz","fileCount":15,"integrity":"sha512-+JGRAKVT37eKkRELbLKXucspapE7yW9B56FSr1nKAGLtMVAv82WYXmTuisaz/2aCpHx9sax054RysnpTvLtevw==","signatures":[{"sig":"MEYCIQD54/GP4yCpuS1mgBlnDsa2z1F7gwqC5o9bM/boni1cZQIhALvc52gycTm07MuRyt0yb9nqitUkuiGFBNdCLgmsqAH3","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":632913},"type":"module","_from":"file:unotest-mobile-0.26.0.tgz","engines":{"node":">=20"},"exports":{"./dsl":{"types":"./dist/dsl/mobile-dsl-language-service.d.ts","import":"./dist/dsl/mobile-dsl-language-service.js"},"./adapter":{"types":"./dist/runner/mobile-runner-adapter.d.ts","import":"./dist/runner/mobile-runner-adapter.js"},"./package.json":"./package.json"},"_npmUser":{"name":"unotest","email":"ivan@unotest.com"},"_resolved":"/private/var/folders/rz/_3r_2y197wsgdyw3_l5ygv340000gn/T/2bca33ab1e2b3c59693e92bed084383f/unotest-mobile-0.26.0.tgz","_integrity":"sha512-+JGRAKVT37eKkRELbLKXucspapE7yW9B56FSr1nKAGLtMVAv82WYXmTuisaz/2aCpHx9sax054RysnpTvLtevw==","_npmVersion":"10.9.8","description":"AI-native E2E testing for iOS React Native apps. MCP server + CLI runner + JS-DSL scenarios.","directories":{},"_nodeVersion":"22.23.0","dependencies":{"zod":"^3.23.8","sharp":"^0.34.5","dotenv":"^16.4.5","@unotest/dsl":"^0.26.0","@unotest/core":"^0.26.0","better-sqlite3":"^11.0.0 || ^12.0.0","@unotest/viewer":"^0.26.0","@unotest/protocol":"^0.26.0","zod-to-json-schema":"^3.23.5","appium-webdriveragent":"^12.2.2","@modelcontextprotocol/sdk":"^1.0.4"},"_hasShrinkwrap":false,"devDependencies":{"pg":"^8.20.0","tsx":"^4.19.2","tsup":"^8.5.1","mysql2":"^3.22.3","@types/pg":"^8.20.0","typescript":"^5.7.2","@types/node":"^22.10.0","better-sqlite3":"^12.10.0","@types/better-sqlite3":"^7.6.13"},"peerDependencies":{"pg":"^8.0.0","mysql2":"^3.0.0"},"peerDependenciesMeta":{"pg":{"optional":true},"mysql2":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/mobile_0.26.0_1788045032176_0.07828382341166096","host":"s3://npm-registry-packages-npm-production"}},"0.26.1":{"name":"@unotest/mobile","version":"0.26.1","author":{"name":"Ivan Volkov","email":"ivan@volkov.io"},"license":"MIT","_id":"@unotest/mobile@0.26.1","maintainers":[{"name":"unotest","email":"ivan@unotest.com"}],"bin":{"unotest-mobile":"bin/unotest-mobile.js"},"dist":{"shasum":"9fe7019b6403cc19a7527f00b276b1c032a0761d","tarball":"https://registry.npmjs.org/@unotest/mobile/-/mobile-0.26.1.tgz","fileCount":15,"integrity":"sha512-s/zqhxb+HmZ54Yw87POtdBJzRM+nnxXdjyjAQjowf8FZMXwD00bjtyrmjecSrBpqL8fE6Y2pcVkNJpd/yvjPKA==","signatures":[{"sig":"MEYCIQD8Gzigymwxd7R++PJegOPcfp0Dg9xOH0KpLt4cjd4heAIhAOuHNy3AAvdCXjr56VaPZPO/WgOfB9H1XEXULeCGNbc8","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":633097},"type":"module","_from":"file:unotest-mobile-0.26.1.tgz","engines":{"node":">=20"},"exports":{"./dsl":{"types":"./dist/dsl/mobile-dsl-language-service.d.ts","import":"./dist/dsl/mobile-dsl-language-service.js"},"./adapter":{"types":"./dist/runner/mobile-runner-adapter.d.ts","import":"./dist/runner/mobile-runner-adapter.js"},"./package.json":"./package.json"},"_npmUser":{"name":"unotest","email":"ivan@unotest.com"},"_resolved":"/private/var/folders/rz/_3r_2y197wsgdyw3_l5ygv340000gn/T/e6ebdf3ee1474007c1146c04c547e4c7/unotest-mobile-0.26.1.tgz","_integrity":"sha512-s/zqhxb+HmZ54Yw87POtdBJzRM+nnxXdjyjAQjowf8FZMXwD00bjtyrmjecSrBpqL8fE6Y2pcVkNJpd/yvjPKA==","_npmVersion":"10.9.8","description":"AI-native E2E testing for iOS React Native apps. MCP server + CLI runner + JS-DSL scenarios.","directories":{},"_nodeVersion":"22.23.0","dependencies":{"zod":"^3.23.8","sharp":"^0.34.5","dotenv":"^16.4.5","@unotest/dsl":"^0.26.1","@unotest/core":"^0.26.1","better-sqlite3":"^11.0.0 || ^12.0.0","@unotest/viewer":"^0.26.1","@unotest/protocol":"^0.26.1","zod-to-json-schema":"^3.23.5","appium-webdriveragent":"^12.2.2","@modelcontextprotocol/sdk":"^1.0.4"},"_hasShrinkwrap":false,"devDependencies":{"pg":"^8.20.0","tsx":"^4.19.2","tsup":"^8.5.1","mysql2":"^3.22.3","@types/pg":"^8.20.0","typescript":"^5.7.2","@types/node":"^22.10.0","better-sqlite3":"^12.10.0","@types/better-sqlite3":"^7.6.13"},"peerDependencies":{"pg":"^8.0.0","mysql2":"^3.0.0"},"peerDependenciesMeta":{"pg":{"optional":true},"mysql2":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/mobile_0.26.1_1788125539726_0.9114180431162644","host":"s3://npm-registry-packages-npm-production"}},"0.27.0":{"name":"@unotest/mobile","version":"0.27.0","author":{"name":"Ivan Volkov","email":"ivan@volkov.io"},"license":"MIT","_id":"@unotest/mobile@0.27.0","maintainers":[{"name":"unotest","email":"ivan@unotest.com"}],"bin":{"unotest-mobile":"bin/unotest-mobile.js"},"dist":{"shasum":"2882a65da52765d8dbf091e9d4bec6adc994730f","tarball":"https://registry.npmjs.org/@unotest/mobile/-/mobile-0.27.0.tgz","fileCount":15,"integrity":"sha512-gcKKnkdz482jq1BeMbJaC4Vsxf8MwlCCzliixx2mL3H7Ni4aHLgTqosYVQSuq2+agJI/KPKK0N86bXcwIMUXAg==","signatures":[{"sig":"MEYCIQDIl/HFBPORp1Vmpp3yTzXUSdoBz4Vbk90czn7nua4nEAIhANWdgBjVwhIOysYeY2AOu6yoM1MfadJkKN7iu6AkapaF","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":633281},"type":"module","_from":"file:unotest-mobile-0.27.0.tgz","engines":{"node":">=20"},"exports":{"./dsl":{"types":"./dist/dsl/mobile-dsl-language-service.d.ts","import":"./dist/dsl/mobile-dsl-language-service.js"},"./adapter":{"types":"./dist/runner/mobile-runner-adapter.d.ts","import":"./dist/runner/mobile-runner-adapter.js"},"./package.json":"./package.json"},"_npmUser":{"name":"unotest","email":"ivan@unotest.com"},"_resolved":"/private/var/folders/rz/_3r_2y197wsgdyw3_l5ygv340000gn/T/0576c83956244bc45923edb92e733afc/unotest-mobile-0.27.0.tgz","_integrity":"sha512-gcKKnkdz482jq1BeMbJaC4Vsxf8MwlCCzliixx2mL3H7Ni4aHLgTqosYVQSuq2+agJI/KPKK0N86bXcwIMUXAg==","_npmVersion":"10.9.8","description":"AI-native E2E testing for iOS React Native apps. MCP server + CLI runner + JS-DSL scenarios.","directories":{},"_nodeVersion":"22.23.0","dependencies":{"zod":"^3.23.8","sharp":"^0.34.5","dotenv":"^16.4.5","@unotest/dsl":"^0.27.0","@unotest/core":"^0.27.0","better-sqlite3":"^11.0.0 || ^12.0.0","@unotest/viewer":"^0.27.0","@unotest/protocol":"^0.27.0","zod-to-json-schema":"^3.23.5","appium-webdriveragent":"^12.2.2","@modelcontextprotocol/sdk":"^1.0.4"},"_hasShrinkwrap":false,"devDependencies":{"pg":"^8.20.0","tsx":"^4.19.2","tsup":"^8.5.1","mysql2":"^3.22.3","@types/pg":"^8.20.0","typescript":"^5.7.2","@types/node":"^22.10.0","better-sqlite3":"^12.10.0","@types/better-sqlite3":"^7.6.13"},"peerDependencies":{"pg":"^8.0.0","mysql2":"^3.0.0"},"peerDependenciesMeta":{"pg":{"optional":true},"mysql2":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/mobile_0.27.0_1788208813994_0.7110505800691238","host":"s3://npm-registry-packages-npm-production"}},"0.28.0":{"name":"@unotest/mobile","version":"0.28.0","author":{"name":"Ivan Volkov","email":"ivan@volkov.io"},"license":"MIT","_id":"@unotest/mobile@0.28.0","maintainers":[{"name":"unotest","email":"ivan@unotest.com"}],"bin":{"unotest-mobile":"bin/unotest-mobile.js"},"dist":{"shasum":"60fa252358eefd7af0bd0571019035d2561b0b32","tarball":"https://registry.npmjs.org/@unotest/mobile/-/mobile-0.28.0.tgz","fileCount":15,"integrity":"sha512-1C9GNgQfgFLXObhc5jn4Z0TRcdW6TKs9v7QX7r4tHpfKDbQRAUZFrzz6j3ruICTHXqDvv0jrXsQaZs20w7/N2w==","signatures":[{"sig":"MEYCIQDCdK9/i9PsmKZoGZh0imMQ/vjmCYgE9XmpB26s+rZKtgIhAJrH2a8G6jvXewhe8o3XqUaov24+4NTbhJMQ6wGughAh","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":633424},"type":"module","_from":"file:unotest-mobile-0.28.0.tgz","engines":{"node":">=20"},"exports":{"./dsl":{"types":"./dist/dsl/mobile-dsl-language-service.d.ts","import":"./dist/dsl/mobile-dsl-language-service.js"},"./adapter":{"types":"./dist/runner/mobile-runner-adapter.d.ts","import":"./dist/runner/mobile-runner-adapter.js"},"./package.json":"./package.json"},"_npmUser":{"name":"unotest","email":"ivan@unotest.com"},"_resolved":"/private/var/folders/rz/_3r_2y197wsgdyw3_l5ygv340000gn/T/003436c5509620516b25b0da0ec59232/unotest-mobile-0.28.0.tgz","_integrity":"sha512-1C9GNgQfgFLXObhc5jn4Z0TRcdW6TKs9v7QX7r4tHpfKDbQRAUZFrzz6j3ruICTHXqDvv0jrXsQaZs20w7/N2w==","_npmVersion":"10.9.8","description":"AI-native E2E testing for iOS React Native apps. MCP server + CLI runner + JS-DSL scenarios.","directories":{},"_nodeVersion":"22.23.0","dependencies":{"zod":"^3.23.8","sharp":"^0.34.5","dotenv":"^16.4.5","@unotest/dsl":"^0.28.0","@unotest/core":"^0.28.0","better-sqlite3":"^11.0.0 || ^12.0.0","@unotest/viewer":"^0.28.0","@unotest/protocol":"^0.28.0","zod-to-json-schema":"^3.23.5","appium-webdriveragent":"^12.2.2","@modelcontextprotocol/sdk":"^1.0.4"},"_hasShrinkwrap":false,"devDependencies":{"pg":"^8.20.0","tsx":"^4.19.2","tsup":"^8.5.1","mysql2":"^3.22.3","@types/pg":"^8.20.0","typescript":"^5.7.2","@types/node":"^22.10.0","better-sqlite3":"^12.10.0","@types/better-sqlite3":"^7.6.13"},"peerDependencies":{"pg":"^8.0.0","mysql2":"^3.0.0"},"peerDependenciesMeta":{"pg":{"optional":true},"mysql2":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/mobile_0.28.0_1788265613121_0.12849512169688304","host":"s3://npm-registry-packages-npm-production"}},"0.29.0":{"name":"@unotest/mobile","version":"0.29.0","author":{"name":"Ivan Volkov","email":"ivan@volkov.io"},"license":"MIT","_id":"@unotest/mobile@0.29.0","maintainers":[{"name":"unotest","email":"ivan@unotest.com"}],"bin":{"unotest-mobile":"bin/unotest-mobile.js"},"dist":{"shasum":"086329d7f1ec97cb4a41a4727dd8ff9805a5d7d4","tarball":"https://registry.npmjs.org/@unotest/mobile/-/mobile-0.29.0.tgz","fileCount":15,"integrity":"sha512-1XX0+1oO2hXA4e9u1bgsGQJhtN6G5coUYJYOSO4eFJ4GhxAf8Fk2dPrhVqUr5Ra4WpZU17KZOxq1wwwvay9pow==","signatures":[{"sig":"MEUCIBbooHoE7K+4SWcd8leWlbS5Y0bRIl55IFnE8tr2SV8+AiEAzmKyABwjyfmLXvE+eejmJLk1AAR5aoDEcU+PZi4sHcU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":633707},"type":"module","_from":"file:unotest-mobile-0.29.0.tgz","engines":{"node":">=20"},"exports":{"./dsl":{"types":"./dist/dsl/mobile-dsl-language-service.d.ts","import":"./dist/dsl/mobile-dsl-language-service.js"},"./adapter":{"types":"./dist/runner/mobile-runner-adapter.d.ts","import":"./dist/runner/mobile-runner-adapter.js"},"./package.json":"./package.json"},"_npmUser":{"name":"unotest","email":"ivan@unotest.com"},"_resolved":"/private/var/folders/rz/_3r_2y197wsgdyw3_l5ygv340000gn/T/45bfd7acfa9791b5c349ae029f1b21a5/unotest-mobile-0.29.0.tgz","_integrity":"sha512-1XX0+1oO2hXA4e9u1bgsGQJhtN6G5coUYJYOSO4eFJ4GhxAf8Fk2dPrhVqUr5Ra4WpZU17KZOxq1wwwvay9pow==","_npmVersion":"10.9.8","description":"AI-native E2E testing for iOS React Native apps. MCP server + CLI runner + JS-DSL scenarios.","directories":{},"_nodeVersion":"22.23.0","dependencies":{"zod":"^3.23.8","sharp":"^0.34.5","dotenv":"^16.4.5","@unotest/dsl":"^0.29.0","@unotest/core":"^0.29.0","better-sqlite3":"^11.0.0 || ^12.0.0","@unotest/viewer":"^0.29.0","@unotest/protocol":"^0.29.0","zod-to-json-schema":"^3.23.5","appium-webdriveragent":"^12.2.2","@modelcontextprotocol/sdk":"^1.0.4"},"_hasShrinkwrap":false,"devDependencies":{"pg":"^8.20.0","tsx":"^4.19.2","tsup":"^8.5.1","mysql2":"^3.22.3","@types/pg":"^8.20.0","typescript":"^5.7.2","@types/node":"^22.10.0","better-sqlite3":"^12.10.0","@types/better-sqlite3":"^7.6.13"},"peerDependencies":{"pg":"^8.0.0","mysql2":"^3.0.0"},"peerDependenciesMeta":{"pg":{"optional":true},"mysql2":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/mobile_0.29.0_1788303615441_0.8730354753838705","host":"s3://npm-registry-packages-npm-production"}},"0.30.0":{"name":"@unotest/mobile","version":"0.30.0","author":{"name":"Ivan Volkov","email":"ivan@volkov.io"},"license":"MIT","_id":"@unotest/mobile@0.30.0","maintainers":[{"name":"unotest","email":"ivan@unotest.com"}],"bin":{"unotest-mobile":"bin/unotest-mobile.js"},"dist":{"shasum":"8de677b3a796333b7ec896810c82c5194b766aa7","tarball":"https://registry.npmjs.org/@unotest/mobile/-/mobile-0.30.0.tgz","fileCount":15,"integrity":"sha512-Q2+0XjOJwcraYKsgTa/bU+eUClA2UMVKvdyS0JPxGHDNSQCom0Ph+nQjpxdQFqfPmUJ6/2+Af3hgaPP1WwdJSw==","signatures":[{"sig":"MEQCICL2yfdVKH5DxpwLoARsRpEfhM/6vCzxFKEgsaeLWrWMAiB3Ui0IrcqpAAFcZeE0rZdiHVvXKUbgR2vsJSvXD/CPHw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":633924},"type":"module","_from":"file:unotest-mobile-0.30.0.tgz","engines":{"node":">=20"},"exports":{"./dsl":{"types":"./dist/dsl/mobile-dsl-language-service.d.ts","import":"./dist/dsl/mobile-dsl-language-service.js"},"./adapter":{"types":"./dist/runner/mobile-runner-adapter.d.ts","import":"./dist/runner/mobile-runner-adapter.js"},"./package.json":"./package.json"},"_npmUser":{"name":"unotest","email":"ivan@unotest.com"},"_resolved":"/private/var/folders/rz/_3r_2y197wsgdyw3_l5ygv340000gn/T/66b5f39f7ead055d9cea9de613561d64/unotest-mobile-0.30.0.tgz","_integrity":"sha512-Q2+0XjOJwcraYKsgTa/bU+eUClA2UMVKvdyS0JPxGHDNSQCom0Ph+nQjpxdQFqfPmUJ6/2+Af3hgaPP1WwdJSw==","_npmVersion":"10.9.8","description":"AI-native E2E testing for iOS React Native apps. MCP server + CLI runner + JS-DSL scenarios.","directories":{},"_nodeVersion":"22.23.0","dependencies":{"zod":"^3.23.8","sharp":"^0.34.5","dotenv":"^16.4.5","@unotest/dsl":"^0.30.0","@unotest/core":"^0.30.0","better-sqlite3":"^11.0.0 || ^12.0.0","@unotest/viewer":"^0.30.0","@unotest/protocol":"^0.30.0","zod-to-json-schema":"^3.23.5","appium-webdriveragent":"^12.2.2","@modelcontextprotocol/sdk":"^1.0.4"},"_hasShrinkwrap":false,"devDependencies":{"pg":"^8.20.0","tsx":"^4.19.2","tsup":"^8.5.1","mysql2":"^3.22.3","@types/pg":"^8.20.0","typescript":"^5.7.2","@types/node":"^22.10.0","better-sqlite3":"^12.10.0","@types/better-sqlite3":"^7.6.13"},"peerDependencies":{"pg":"^8.0.0","mysql2":"^3.0.0"},"peerDependenciesMeta":{"pg":{"optional":true},"mysql2":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/mobile_0.30.0_1788426027598_0.2320472423297908","host":"s3://npm-registry-packages-npm-production"}},"0.31.0":{"name":"@unotest/mobile","version":"0.31.0","author":{"name":"Ivan Volkov","email":"ivan@volkov.io"},"license":"MIT","_id":"@unotest/mobile@0.31.0","maintainers":[{"name":"unotest","email":"ivan@unotest.com"}],"bin":{"unotest-mobile":"bin/unotest-mobile.js"},"dist":{"shasum":"39d05560ccd197994add619cecea8e1d9bbc3bb6","tarball":"https://registry.npmjs.org/@unotest/mobile/-/mobile-0.31.0.tgz","fileCount":15,"integrity":"sha512-6TI812IdYBO6UdGBvTPXqNBvAQntOafIVupibA9r5d4ig7QUUAkVo4BSsHMRJ+mi/57aeyZ0X2jt9zk7/mxGYg==","signatures":[{"sig":"MEYCIQCvo62EH4cLgU9P28vtpLJLc94peFoUCxwGquBS0OQQVQIhAN7vM1orbuBSHJGmWXsVcUoTXyAHVw+pYBg2YwlzcGW7","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":634669},"type":"module","_from":"file:unotest-mobile-0.31.0.tgz","engines":{"node":">=20"},"exports":{"./dsl":{"types":"./dist/dsl/mobile-dsl-language-service.d.ts","import":"./dist/dsl/mobile-dsl-language-service.js"},"./adapter":{"types":"./dist/runner/mobile-runner-adapter.d.ts","import":"./dist/runner/mobile-runner-adapter.js"},"./package.json":"./package.json"},"_npmUser":{"name":"unotest","email":"ivan@unotest.com"},"_resolved":"/private/var/folders/rz/_3r_2y197wsgdyw3_l5ygv340000gn/T/7e0d327992f5e8665b9cf27dfa809c85/unotest-mobile-0.31.0.tgz","_integrity":"sha512-6TI812IdYBO6UdGBvTPXqNBvAQntOafIVupibA9r5d4ig7QUUAkVo4BSsHMRJ+mi/57aeyZ0X2jt9zk7/mxGYg==","_npmVersion":"10.9.8","description":"AI-native E2E testing for iOS React Native apps. MCP server + CLI runner + JS-DSL scenarios.","directories":{},"_nodeVersion":"22.23.0","dependencies":{"zod":"^3.23.8","sharp":"^0.34.5","dotenv":"^16.4.5","@unotest/dsl":"^0.31.0","@unotest/core":"^0.31.0","better-sqlite3":"^11.0.0 || ^12.0.0","@unotest/viewer":"^0.31.0","@unotest/protocol":"^0.31.0","zod-to-json-schema":"^3.23.5","appium-webdriveragent":"^12.2.2","@modelcontextprotocol/sdk":"^1.0.4"},"_hasShrinkwrap":false,"devDependencies":{"pg":"^8.20.0","tsx":"^4.19.2","tsup":"^8.5.1","mysql2":"^3.22.3","@types/pg":"^8.20.0","typescript":"^5.7.2","@types/node":"^22.10.0","better-sqlite3":"^12.10.0","@types/better-sqlite3":"^7.6.13"},"peerDependencies":{"pg":"^8.0.0","mysql2":"^3.0.0"},"peerDependenciesMeta":{"pg":{"optional":true},"mysql2":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/mobile_0.31.0_1788515814515_0.040758947857695293","host":"s3://npm-registry-packages-npm-production"}},"0.32.0":{"name":"@unotest/mobile","version":"0.32.0","author":{"name":"Ivan Volkov","email":"ivan@volkov.io"},"license":"MIT","_id":"@unotest/mobile@0.32.0","maintainers":[{"name":"unotest","email":"ivan@unotest.com"}],"bin":{"unotest-mobile":"bin/unotest-mobile.js"},"dist":{"shasum":"c5b782959d5180435c127cc6654ee1a059a76d4f","tarball":"https://registry.npmjs.org/@unotest/mobile/-/mobile-0.32.0.tgz","fileCount":15,"integrity":"sha512-qaBXO8K0XcHrSATzye/S/ii8hDYK9ag6xPrSaeYdw5g8riMMq3mM/UmKqA1M3/HcYijyPBwDL037xrRBuaDLCw==","signatures":[{"sig":"MEUCIQCqumEB4UFIPycXAGscOf1YOOzuPU+0pQ5d/OzW98yGmgIgM0AT3TNkkyecLdwiVsyy6kipqwFf+UwHGXNamiyCidg=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":636996},"type":"module","_from":"file:unotest-mobile-0.32.0.tgz","engines":{"node":">=20"},"exports":{"./dsl":{"types":"./dist/dsl/mobile-dsl-language-service.d.ts","import":"./dist/dsl/mobile-dsl-language-service.js"},"./adapter":{"types":"./dist/runner/mobile-runner-adapter.d.ts","import":"./dist/runner/mobile-runner-adapter.js"},"./package.json":"./package.json"},"_npmUser":{"name":"unotest","email":"ivan@unotest.com"},"_resolved":"/private/var/folders/rz/_3r_2y197wsgdyw3_l5ygv340000gn/T/7df2d4e559e8260ac6dc8f7364665233/unotest-mobile-0.32.0.tgz","_integrity":"sha512-qaBXO8K0XcHrSATzye/S/ii8hDYK9ag6xPrSaeYdw5g8riMMq3mM/UmKqA1M3/HcYijyPBwDL037xrRBuaDLCw==","_npmVersion":"10.9.8","description":"AI-native E2E testing for iOS React Native apps. MCP server + CLI runner + JS-DSL scenarios.","directories":{},"_nodeVersion":"22.23.0","dependencies":{"zod":"^3.23.8","sharp":"^0.34.5","dotenv":"^16.4.5","@unotest/dsl":"^0.32.0","@unotest/core":"^0.32.0","better-sqlite3":"^11.0.0 || ^12.0.0","@unotest/viewer":"^0.32.0","@unotest/protocol":"^0.32.0","zod-to-json-schema":"^3.23.5","appium-webdriveragent":"^12.2.2","@modelcontextprotocol/sdk":"^1.0.4"},"_hasShrinkwrap":false,"devDependencies":{"pg":"^8.20.0","tsx":"^4.19.2","tsup":"^8.5.1","mysql2":"^3.22.3","@types/pg":"^8.20.0","typescript":"^5.7.2","@types/node":"^22.10.0","better-sqlite3":"^12.10.0","@types/better-sqlite3":"^7.6.13"},"peerDependencies":{"pg":"^8.0.0","mysql2":"^3.0.0"},"peerDependenciesMeta":{"pg":{"optional":true},"mysql2":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/mobile_0.32.0_1788561434566_0.10997325457358942","host":"s3://npm-registry-packages-npm-production"}},"0.33.0":{"name":"@unotest/mobile","version":"0.33.0","author":{"name":"Ivan Volkov","email":"ivan@volkov.io"},"license":"MIT","_id":"@unotest/mobile@0.33.0","maintainers":[{"name":"unotest","email":"ivan@unotest.com"}],"bin":{"unotest-mobile":"bin/unotest-mobile.js"},"dist":{"shasum":"4f6970545245b0fcd9eacdb11cb8da401c33e0f8","tarball":"https://registry.npmjs.org/@unotest/mobile/-/mobile-0.33.0.tgz","fileCount":15,"integrity":"sha512-ZmLOa4rt26P7duv9bN5FDld1ml89QNxrIgpvADQ0wJQN89ANRJoYTlF1uOInq6lzKrwGNHrIk6ro2X/hFQAPPQ==","signatures":[{"sig":"MEUCIQCYOU9qd9gkk5aJ5dt1cNKI00t+LlLOvU4mNIJNv5KmuQIgdU8ra3t6byRlLjyzR/RUws+CmOpDB7SvZUfIbIgtBlw=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":637444},"type":"module","_from":"file:unotest-mobile-0.33.0.tgz","engines":{"node":">=20"},"exports":{"./dsl":{"types":"./dist/dsl/mobile-dsl-language-service.d.ts","import":"./dist/dsl/mobile-dsl-language-service.js"},"./adapter":{"types":"./dist/runner/mobile-runner-adapter.d.ts","import":"./dist/runner/mobile-runner-adapter.js"},"./package.json":"./package.json"},"_npmUser":{"name":"unotest","email":"ivan@unotest.com"},"_resolved":"/private/var/folders/rz/_3r_2y197wsgdyw3_l5ygv340000gn/T/1cd08dcdca7ef641053ae85daf07e536/unotest-mobile-0.33.0.tgz","_integrity":"sha512-ZmLOa4rt26P7duv9bN5FDld1ml89QNxrIgpvADQ0wJQN89ANRJoYTlF1uOInq6lzKrwGNHrIk6ro2X/hFQAPPQ==","_npmVersion":"10.9.8","description":"AI-native E2E testing for iOS React Native apps. MCP server + CLI runner + JS-DSL scenarios.","directories":{},"_nodeVersion":"22.23.0","dependencies":{"zod":"^3.23.8","sharp":"^0.34.5","dotenv":"^16.4.5","@unotest/dsl":"^0.33.0","@unotest/core":"^0.33.0","better-sqlite3":"^11.0.0 || ^12.0.0","@unotest/viewer":"^0.33.0","@unotest/protocol":"^0.33.0","zod-to-json-schema":"^3.23.5","appium-webdriveragent":"^12.2.2","@modelcontextprotocol/sdk":"^1.0.4"},"_hasShrinkwrap":false,"devDependencies":{"pg":"^8.20.0","tsx":"^4.19.2","tsup":"^8.5.1","mysql2":"^3.22.3","@types/pg":"^8.20.0","typescript":"^5.7.2","@types/node":"^22.10.0","better-sqlite3":"^12.10.0","@types/better-sqlite3":"^7.6.13"},"peerDependencies":{"pg":"^8.0.0","mysql2":"^3.0.0"},"peerDependenciesMeta":{"pg":{"optional":true},"mysql2":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/mobile_0.33.0_1788698686824_0.7440914585539389","host":"s3://npm-registry-packages-npm-production"}},"0.35.0":{"name":"@unotest/mobile","version":"0.35.0","author":{"name":"Ivan Volkov","email":"ivan@volkov.io"},"license":"MIT","_id":"@unotest/mobile@0.35.0","maintainers":[{"name":"unotest","email":"ivan@unotest.com"}],"bin":{"unotest-mobile":"bin/unotest-mobile.js"},"dist":{"shasum":"2dfe078f1d29cdadcf0efd13658ea31d304fab5e","tarball":"https://registry.npmjs.org/@unotest/mobile/-/mobile-0.35.0.tgz","fileCount":15,"integrity":"sha512-5eL+GLMM1odH3EElrUcbPNYdzzHAxHfGlK+vYCe3iWL6j9TaCsn9DLU6KZtDklKiMHXUBsxahGE8JEjwWxpLGw==","signatures":[{"sig":"MEYCIQDpdlYVV1G9heuwTGu9Hre1oYq1JOlXR26Ogy3P6wTUHgIhAOlJvzAuDd1ecyAHWZZRe11CfvqeeH2KDOoQULAzq7xt","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":637878},"type":"module","_from":"file:unotest-mobile-0.35.0.tgz","engines":{"node":">=20"},"exports":{"./dsl":{"types":"./dist/dsl/mobile-dsl-language-service.d.ts","import":"./dist/dsl/mobile-dsl-language-service.js"},"./adapter":{"types":"./dist/runner/mobile-runner-adapter.d.ts","import":"./dist/runner/mobile-runner-adapter.js"},"./package.json":"./package.json"},"_npmUser":{"name":"unotest","email":"ivan@unotest.com"},"_resolved":"/private/var/folders/rz/_3r_2y197wsgdyw3_l5ygv340000gn/T/16c66bcebb346c86a062ae428b3b148f/unotest-mobile-0.35.0.tgz","_integrity":"sha512-5eL+GLMM1odH3EElrUcbPNYdzzHAxHfGlK+vYCe3iWL6j9TaCsn9DLU6KZtDklKiMHXUBsxahGE8JEjwWxpLGw==","_npmVersion":"10.9.8","description":"AI-native E2E testing for iOS React Native apps. MCP server + CLI runner + JS-DSL scenarios.","directories":{},"_nodeVersion":"22.23.0","dependencies":{"zod":"^3.23.8","sharp":"^0.34.5","dotenv":"^16.4.5","@unotest/dsl":"^0.35.0","@unotest/core":"^0.35.0","better-sqlite3":"^11.0.0 || ^12.0.0","@unotest/viewer":"^0.35.0","@unotest/protocol":"^0.35.0","zod-to-json-schema":"^3.23.5","appium-webdriveragent":"^12.2.2","@modelcontextprotocol/sdk":"^1.0.4"},"_hasShrinkwrap":false,"devDependencies":{"pg":"^8.20.0","tsx":"^4.19.2","tsup":"^8.5.1","mysql2":"^3.22.3","@types/pg":"^8.20.0","typescript":"^5.7.2","@types/node":"^22.10.0","better-sqlite3":"^12.10.0","@types/better-sqlite3":"^7.6.13"},"peerDependencies":{"pg":"^8.0.0","mysql2":"^3.0.0"},"peerDependenciesMeta":{"pg":{"optional":true},"mysql2":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/mobile_0.35.0_1789508953738_0.4139452843091924","host":"s3://npm-registry-packages-npm-production"}},"0.35.1":{"name":"@unotest/mobile","version":"0.35.1","author":{"name":"Ivan Volkov","email":"ivan@volkov.io"},"license":"MIT","_id":"@unotest/mobile@0.35.1","maintainers":[{"name":"unotest","email":"ivan@unotest.com"}],"bin":{"unotest-mobile":"bin/unotest-mobile.js"},"dist":{"shasum":"d4d9dcf6cec2f72897a3d3871b705beccda8c187","tarball":"https://registry.npmjs.org/@unotest/mobile/-/mobile-0.35.1.tgz","fileCount":15,"integrity":"sha512-ovJbgzXbNaGej3+amBZ7eyD16LgETJiskGsh2uQnicOkTqg4HU76cT+yN4YBoZJsEnezuEuyJRdmU8PmnOdlYw==","signatures":[{"sig":"MEUCIQDdXXFFOsOwdm39xfQolzOcH0DCbR6tHbLG5YFj/+wQiAIgdGNpAUd/ZxtUeE3NdVSt/C61/BDcResmpERgghQd/F8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":638021},"type":"module","_from":"file:unotest-mobile-0.35.1.tgz","engines":{"node":">=20"},"exports":{"./dsl":{"types":"./dist/dsl/mobile-dsl-language-service.d.ts","import":"./dist/dsl/mobile-dsl-language-service.js"},"./adapter":{"types":"./dist/runner/mobile-runner-adapter.d.ts","import":"./dist/runner/mobile-runner-adapter.js"},"./package.json":"./package.json"},"_npmUser":{"name":"unotest","email":"ivan@unotest.com"},"_resolved":"/private/var/folders/rz/_3r_2y197wsgdyw3_l5ygv340000gn/T/b4d645d973a08a7282e18f5aec789dbc/unotest-mobile-0.35.1.tgz","_integrity":"sha512-ovJbgzXbNaGej3+amBZ7eyD16LgETJiskGsh2uQnicOkTqg4HU76cT+yN4YBoZJsEnezuEuyJRdmU8PmnOdlYw==","_npmVersion":"10.9.8","description":"AI-native E2E testing for iOS React Native apps. MCP server + CLI runner + JS-DSL scenarios.","directories":{},"_nodeVersion":"22.23.0","dependencies":{"zod":"^3.23.8","sharp":"^0.34.5","dotenv":"^16.4.5","@unotest/dsl":"^0.35.1","@unotest/core":"^0.35.1","better-sqlite3":"^11.0.0 || ^12.0.0","@unotest/viewer":"^0.35.1","@unotest/protocol":"^0.35.1","zod-to-json-schema":"^3.23.5","appium-webdriveragent":"^12.2.2","@modelcontextprotocol/sdk":"^1.0.4"},"_hasShrinkwrap":false,"devDependencies":{"pg":"^8.20.0","tsx":"^4.19.2","tsup":"^8.5.1","mysql2":"^3.22.3","@types/pg":"^8.20.0","typescript":"^5.7.2","@types/node":"^22.10.0","better-sqlite3":"^12.10.0","@types/better-sqlite3":"^7.6.13"},"peerDependencies":{"pg":"^8.0.0","mysql2":"^3.0.0"},"peerDependenciesMeta":{"pg":{"optional":true},"mysql2":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/mobile_0.35.1_1789556282951_0.8393151900972173","host":"s3://npm-registry-packages-npm-production"}},"0.35.2":{"name":"@unotest/mobile","version":"0.35.2","author":{"name":"Ivan Volkov","email":"ivan@volkov.io"},"license":"MIT","_id":"@unotest/mobile@0.35.2","maintainers":[{"name":"unotest","email":"ivan@unotest.com"}],"bin":{"unotest-mobile":"bin/unotest-mobile.js"},"dist":{"shasum":"e3e62d88f9dddfb871a817f6c5db8257f158e733","tarball":"https://registry.npmjs.org/@unotest/mobile/-/mobile-0.35.2.tgz","fileCount":15,"integrity":"sha512-jgwRMZmP9EtoNr/1NX6w5+LEq5bbs9TpRBJe1FCMQXNqjJiRZBhakgyPqt2G3x3OI1ygu5FlJ3kCOgMLhow71w==","signatures":[{"sig":"MEUCIFw2FGSMaXbA4ffMWlMPOVGArBj0OYgxppSPQIhhqJQ3AiEA+l8pAaRqO4VsaqWc/n3uipoc82NtG2KQPGKwdXguEJI=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":638164},"type":"module","_from":"file:unotest-mobile-0.35.2.tgz","engines":{"node":">=20"},"exports":{"./dsl":{"types":"./dist/dsl/mobile-dsl-language-service.d.ts","import":"./dist/dsl/mobile-dsl-language-service.js"},"./adapter":{"types":"./dist/runner/mobile-runner-adapter.d.ts","import":"./dist/runner/mobile-runner-adapter.js"},"./package.json":"./package.json"},"_npmUser":{"name":"unotest","email":"ivan@unotest.com"},"_resolved":"/private/var/folders/rz/_3r_2y197wsgdyw3_l5ygv340000gn/T/ccfbef414423f1b2c335833aee8ca735/unotest-mobile-0.35.2.tgz","_integrity":"sha512-jgwRMZmP9EtoNr/1NX6w5+LEq5bbs9TpRBJe1FCMQXNqjJiRZBhakgyPqt2G3x3OI1ygu5FlJ3kCOgMLhow71w==","_npmVersion":"10.9.8","description":"AI-native E2E testing for iOS React Native apps. MCP server + CLI runner + JS-DSL scenarios.","directories":{},"_nodeVersion":"22.23.0","dependencies":{"zod":"^3.23.8","sharp":"^0.34.5","dotenv":"^16.4.5","@unotest/dsl":"^0.35.2","@unotest/core":"^0.35.2","better-sqlite3":"^11.0.0 || ^12.0.0","@unotest/viewer":"^0.35.2","@unotest/protocol":"^0.35.2","zod-to-json-schema":"^3.23.5","appium-webdriveragent":"^12.2.2","@modelcontextprotocol/sdk":"^1.0.4"},"_hasShrinkwrap":false,"devDependencies":{"pg":"^8.20.0","tsx":"^4.19.2","tsup":"^8.5.1","mysql2":"^3.22.3","@types/pg":"^8.20.0","typescript":"^5.7.2","@types/node":"^22.10.0","better-sqlite3":"^12.10.0","@types/better-sqlite3":"^7.6.13"},"peerDependencies":{"pg":"^8.0.0","mysql2":"^3.0.0"},"peerDependenciesMeta":{"pg":{"optional":true},"mysql2":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/mobile_0.35.2_1789568210213_0.6420480900868641","host":"s3://npm-registry-packages-npm-production"}},"0.36.0":{"name":"@unotest/mobile","version":"0.36.0","author":{"name":"Ivan Volkov","email":"ivan@volkov.io"},"license":"MIT","_id":"@unotest/mobile@0.36.0","maintainers":[{"name":"unotest","email":"ivan@unotest.com"}],"bin":{"unotest-mobile":"bin/unotest-mobile.js"},"dist":{"shasum":"a0a39c697dc598b83430066419c75f276d538ab9","tarball":"https://registry.npmjs.org/@unotest/mobile/-/mobile-0.36.0.tgz","fileCount":15,"integrity":"sha512-2StyY6eUrQgCnuUos3Cz4NMdTrKQOeDex85/8jw87AlTW0B/opBWFLcqPtikIryDHQzzq+XvBEC2+ONEIsVAqA==","signatures":[{"sig":"MEUCIQDSaGV//DjNAqub3P4F9q+6duOFNEhtJT1gSHHw1yxeKwIgcXvkVCkTtSkcl4fpYMxcAOKnPFGCiG+Kew1BM+6GvBE=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":638307},"type":"module","_from":"file:unotest-mobile-0.36.0.tgz","engines":{"node":">=20"},"exports":{"./dsl":{"types":"./dist/dsl/mobile-dsl-language-service.d.ts","import":"./dist/dsl/mobile-dsl-language-service.js"},"./adapter":{"types":"./dist/runner/mobile-runner-adapter.d.ts","import":"./dist/runner/mobile-runner-adapter.js"},"./package.json":"./package.json"},"_npmUser":{"name":"unotest","email":"ivan@unotest.com"},"_resolved":"/private/var/folders/rz/_3r_2y197wsgdyw3_l5ygv340000gn/T/da0654f681f68f4446b1637c014d69fb/unotest-mobile-0.36.0.tgz","_integrity":"sha512-2StyY6eUrQgCnuUos3Cz4NMdTrKQOeDex85/8jw87AlTW0B/opBWFLcqPtikIryDHQzzq+XvBEC2+ONEIsVAqA==","_npmVersion":"10.9.8","description":"AI-native E2E testing for iOS React Native apps. MCP server + CLI runner + JS-DSL scenarios.","directories":{},"_nodeVersion":"22.23.0","dependencies":{"zod":"^3.23.8","sharp":"^0.34.5","dotenv":"^16.4.5","@unotest/dsl":"^0.36.0","@unotest/core":"^0.36.0","better-sqlite3":"^11.0.0 || ^12.0.0","@unotest/viewer":"^0.36.0","@unotest/protocol":"^0.36.0","zod-to-json-schema":"^3.23.5","appium-webdriveragent":"^12.2.2","@modelcontextprotocol/sdk":"^1.0.4"},"_hasShrinkwrap":false,"devDependencies":{"pg":"^8.20.0","tsx":"^4.19.2","tsup":"^8.5.1","mysql2":"^3.22.3","@types/pg":"^8.20.0","typescript":"^5.7.2","@types/node":"^22.10.0","better-sqlite3":"^12.10.0","@types/better-sqlite3":"^7.6.13"},"peerDependencies":{"pg":"^8.0.0","mysql2":"^3.0.0"},"peerDependenciesMeta":{"pg":{"optional":true},"mysql2":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/mobile_0.36.0_1789584534979_0.8214133627033653","host":"s3://npm-registry-packages-npm-production"}},"0.37.0":{"name":"@unotest/mobile","version":"0.37.0","author":{"name":"Ivan Volkov","email":"ivan@volkov.io"},"license":"MIT","_id":"@unotest/mobile@0.37.0","maintainers":[{"name":"unotest","email":"ivan@unotest.com"}],"bin":{"unotest-mobile":"bin/unotest-mobile.js"},"dist":{"shasum":"9b466772e89d9a3966234be312205db9c27f90d5","tarball":"https://registry.npmjs.org/@unotest/mobile/-/mobile-0.37.0.tgz","fileCount":15,"integrity":"sha512-zJcEUprNKKtjjE8w4HECjjqa8QXfYkPRwSc9nV25pPzOjuqh8iTCb3hed2dpFhKyl5ph1gKbBcuIum7haE4FWw==","signatures":[{"sig":"MEYCIQCUBLlbD/49UHed0iogyzEmkJyiTGiGhZdMahEP1sE5RQIhAICQzP6qNI2qsMREn44Vc5t/we8o6mkCjBP3yeOwF1Bb","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":638491},"type":"module","_from":"file:unotest-mobile-0.37.0.tgz","engines":{"node":">=20"},"exports":{"./dsl":{"types":"./dist/dsl/mobile-dsl-language-service.d.ts","import":"./dist/dsl/mobile-dsl-language-service.js"},"./adapter":{"types":"./dist/runner/mobile-runner-adapter.d.ts","import":"./dist/runner/mobile-runner-adapter.js"},"./package.json":"./package.json"},"_npmUser":{"name":"unotest","email":"ivan@unotest.com"},"_resolved":"/private/var/folders/rz/_3r_2y197wsgdyw3_l5ygv340000gn/T/e36574df587c7e3ca98cc1bbc54e9815/unotest-mobile-0.37.0.tgz","_integrity":"sha512-zJcEUprNKKtjjE8w4HECjjqa8QXfYkPRwSc9nV25pPzOjuqh8iTCb3hed2dpFhKyl5ph1gKbBcuIum7haE4FWw==","_npmVersion":"10.9.8","description":"AI-native E2E testing for iOS React Native apps. MCP server + CLI runner + JS-DSL scenarios.","directories":{},"_nodeVersion":"22.23.0","dependencies":{"zod":"^3.23.8","sharp":"^0.34.5","dotenv":"^16.4.5","@unotest/dsl":"^0.37.0","@unotest/core":"^0.37.0","better-sqlite3":"^11.0.0 || ^12.0.0","@unotest/viewer":"^0.37.0","@unotest/protocol":"^0.37.0","zod-to-json-schema":"^3.23.5","appium-webdriveragent":"^12.2.2","@modelcontextprotocol/sdk":"^1.0.4"},"_hasShrinkwrap":false,"devDependencies":{"pg":"^8.20.0","tsx":"^4.19.2","tsup":"^8.5.1","mysql2":"^3.22.3","@types/pg":"^8.20.0","typescript":"^5.7.2","@types/node":"^22.10.0","better-sqlite3":"^12.10.0","@types/better-sqlite3":"^7.6.13"},"peerDependencies":{"pg":"^8.0.0","mysql2":"^3.0.0"},"peerDependenciesMeta":{"pg":{"optional":true},"mysql2":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/mobile_0.37.0_1789640097162_0.7049490644137997","host":"s3://npm-registry-packages-npm-production"}},"0.38.0":{"name":"@unotest/mobile","version":"0.38.0","author":{"name":"Ivan Volkov","email":"ivan@volkov.io"},"license":"MIT","_id":"@unotest/mobile@0.38.0","maintainers":[{"name":"unotest","email":"ivan@unotest.com"}],"bin":{"unotest-mobile":"bin/unotest-mobile.js"},"dist":{"shasum":"e72dc434c8dabc5f44439425739b1600e70279f4","tarball":"https://registry.npmjs.org/@unotest/mobile/-/mobile-0.38.0.tgz","fileCount":15,"integrity":"sha512-wvNZRCkNP3g/U86rSesEmOwsivSljZLXyKI2Hmyg72ES7m4gRPqDZuLy+eS1ZaWf3FxjeME3teJ3TMOVmIzBMA==","signatures":[{"sig":"MEYCIQDFGuEeb9Av987zH4oeV2hR39VMBiWoP4lb7Je0JF/JqQIhAN2Q7VQMsqH7vfmnN1MpCmjPMouRlFXjcXAUIJJiCnAJ","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEQCICzVUd3EkO5GxPbcoFaDcgEe3C9t3jpLZMznpQl6QuEwAiAv60lF49ngQLNI27BFCSlGTzffSpInOHDM29E6Ur8wuA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":638634},"type":"module","_from":"file:unotest-mobile-0.38.0.tgz","engines":{"node":">=20"},"exports":{"./dsl":{"types":"./dist/dsl/mobile-dsl-language-service.d.ts","import":"./dist/dsl/mobile-dsl-language-service.js"},"./adapter":{"types":"./dist/runner/mobile-runner-adapter.d.ts","import":"./dist/runner/mobile-runner-adapter.js"},"./package.json":"./package.json"},"_npmUser":{"name":"unotest","email":"ivan@unotest.com"},"_resolved":"/private/var/folders/rz/_3r_2y197wsgdyw3_l5ygv340000gn/T/befc38af06be9b3e99f818b7ba619465/unotest-mobile-0.38.0.tgz","_integrity":"sha512-wvNZRCkNP3g/U86rSesEmOwsivSljZLXyKI2Hmyg72ES7m4gRPqDZuLy+eS1ZaWf3FxjeME3teJ3TMOVmIzBMA==","_npmVersion":"10.9.8","description":"AI-native E2E testing for iOS React Native apps. MCP server + CLI runner + JS-DSL scenarios.","directories":{},"_nodeVersion":"22.23.0","dependencies":{"zod":"^3.23.8","sharp":"^0.34.5","dotenv":"^16.4.5","@unotest/dsl":"^0.38.0","@unotest/core":"^0.38.0","better-sqlite3":"^11.0.0 || ^12.0.0","@unotest/viewer":"^0.38.0","@unotest/protocol":"^0.38.0","zod-to-json-schema":"^3.23.5","appium-webdriveragent":"^12.2.2","@modelcontextprotocol/sdk":"^1.0.4"},"_hasShrinkwrap":false,"devDependencies":{"pg":"^8.20.0","tsx":"^4.19.2","tsup":"^8.5.1","mysql2":"^3.22.3","@types/pg":"^8.20.0","typescript":"^5.7.2","@types/node":"^22.10.0","better-sqlite3":"^12.10.0","@types/better-sqlite3":"^7.6.13"},"peerDependencies":{"pg":"^8.0.0","mysql2":"^3.0.0"},"peerDependenciesMeta":{"pg":{"optional":true},"mysql2":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/mobile_0.38.0_1789680832856_0.7555044644654163","host":"s3://npm-registry-packages-npm-production"}},"0.39.0":{"name":"@unotest/mobile","version":"0.39.0","author":{"name":"Ivan Volkov","email":"ivan@volkov.io"},"license":"MIT","_id":"@unotest/mobile@0.39.0","maintainers":[{"name":"unotest","email":"ivan@unotest.com"}],"bin":{"unotest-mobile":"bin/unotest-mobile.js"},"dist":{"shasum":"c80f9b43d611e21beacc488ff64dfad76b43c3be","tarball":"https://registry.npmjs.org/@unotest/mobile/-/mobile-0.39.0.tgz","fileCount":15,"integrity":"sha512-cOX/do6I/46AI0ZoRiHD6a0Mbgu80hip35y0zj3bT+iIcPqGykdHN81YHwI3fZfopru4gPtgZ3aO78dLYxap7A==","signatures":[{"sig":"MEYCIQCIhhtE8MKdnNhhqESctnZn1QExvT6HPo7oWY/T4XHFJQIhALxiEtbKFrRfgUE1dNAJAr+mIUN1lXjVOrR4KO92qYoK","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEYCIQD2xihUIO+IYK6Iu1ORWh91wIKIZKHaPYwWW9uWZ2ZfPQIhAOd/5NCXk9iDGxns8VL6yAzKunumgLyXjE2o237oC7E0","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":638777},"type":"module","_from":"file:unotest-mobile-0.39.0.tgz","engines":{"node":">=20"},"exports":{"./dsl":{"types":"./dist/dsl/mobile-dsl-language-service.d.ts","import":"./dist/dsl/mobile-dsl-language-service.js"},"./adapter":{"types":"./dist/runner/mobile-runner-adapter.d.ts","import":"./dist/runner/mobile-runner-adapter.js"},"./package.json":"./package.json"},"_npmUser":{"name":"unotest","email":"ivan@unotest.com"},"_resolved":"/private/var/folders/rz/_3r_2y197wsgdyw3_l5ygv340000gn/T/96bfa84b3b3dcf89971880c5adba52d1/unotest-mobile-0.39.0.tgz","_integrity":"sha512-cOX/do6I/46AI0ZoRiHD6a0Mbgu80hip35y0zj3bT+iIcPqGykdHN81YHwI3fZfopru4gPtgZ3aO78dLYxap7A==","_npmVersion":"10.9.8","description":"AI-native E2E testing for iOS React Native apps. MCP server + CLI runner + JS-DSL scenarios.","directories":{},"_nodeVersion":"22.23.0","dependencies":{"zod":"^3.23.8","sharp":"^0.34.5","dotenv":"^16.4.5","@unotest/dsl":"^0.39.0","@unotest/core":"^0.39.0","better-sqlite3":"^11.0.0 || ^12.0.0","@unotest/viewer":"^0.39.0","@unotest/protocol":"^0.39.0","zod-to-json-schema":"^3.23.5","appium-webdriveragent":"^12.2.2","@modelcontextprotocol/sdk":"^1.0.4"},"_hasShrinkwrap":false,"devDependencies":{"pg":"^8.20.0","tsx":"^4.19.2","tsup":"^8.5.1","mysql2":"^3.22.3","@types/pg":"^8.20.0","typescript":"^5.7.2","@types/node":"^22.10.0","better-sqlite3":"^12.10.0","@types/better-sqlite3":"^7.6.13"},"peerDependencies":{"pg":"^8.0.0","mysql2":"^3.0.0"},"peerDependenciesMeta":{"pg":{"optional":true},"mysql2":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/mobile_0.39.0_1789766506507_0.7170711537241232","host":"s3://npm-registry-packages-npm-production"}},"0.40.0":{"name":"@unotest/mobile","version":"0.40.0","author":{"name":"Ivan Volkov","email":"ivan@volkov.io"},"license":"MIT","_id":"@unotest/mobile@0.40.0","maintainers":[{"name":"unotest","email":"ivan@unotest.com"}],"bin":{"unotest-mobile":"bin/unotest-mobile.js"},"dist":{"shasum":"4e619727521775a3ea8461bca637cfebb895fb0e","tarball":"https://registry.npmjs.org/@unotest/mobile/-/mobile-0.40.0.tgz","fileCount":15,"integrity":"sha512-N/ETcrtqc4qdWXU506ti/LB34egWKu7CMZEeRLBEodI9KTNpnXLY22njyvfeYslF2UMQTluBjlQ9gUuXPL6gog==","signatures":[{"sig":"MEQCIBWNOqkzomEN+GDqAubl9CHHvQr7p1orgozCcxTL1fQUAiBaTv22Ib8mUFB7Vu2zKWC9JTI6v0D8bye75zGhdf3vnw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIATR0csl0fvQupKGmwslCuz07J8wNAAp8szcDU4ymKIYAiEAtG+xlnhmUkxHgx1RexJlmwxBBeERJptSOP6JNNiTGeI=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":638920},"type":"module","_from":"file:unotest-mobile-0.40.0.tgz","engines":{"node":">=20"},"exports":{"./dsl":{"types":"./dist/dsl/mobile-dsl-language-service.d.ts","import":"./dist/dsl/mobile-dsl-language-service.js"},"./adapter":{"types":"./dist/runner/mobile-runner-adapter.d.ts","import":"./dist/runner/mobile-runner-adapter.js"},"./package.json":"./package.json"},"_npmUser":{"name":"unotest","email":"ivan@unotest.com"},"_resolved":"/private/var/folders/rz/_3r_2y197wsgdyw3_l5ygv340000gn/T/1c4f0f6bae2dd98e889df45b58cf2ea6/unotest-mobile-0.40.0.tgz","_integrity":"sha512-N/ETcrtqc4qdWXU506ti/LB34egWKu7CMZEeRLBEodI9KTNpnXLY22njyvfeYslF2UMQTluBjlQ9gUuXPL6gog==","_npmVersion":"10.9.8","description":"AI-native E2E testing for iOS React Native apps. MCP server + CLI runner + JS-DSL scenarios.","directories":{},"_nodeVersion":"22.23.0","dependencies":{"zod":"^3.23.8","sharp":"^0.34.5","dotenv":"^16.4.5","@unotest/dsl":"^0.40.0","@unotest/core":"^0.40.0","better-sqlite3":"^11.0.0 || ^12.0.0","@unotest/viewer":"^0.40.0","@unotest/protocol":"^0.40.0","zod-to-json-schema":"^3.23.5","appium-webdriveragent":"^12.2.2","@modelcontextprotocol/sdk":"^1.0.4"},"_hasShrinkwrap":false,"devDependencies":{"pg":"^8.20.0","tsx":"^4.19.2","tsup":"^8.5.1","mysql2":"^3.22.3","@types/pg":"^8.20.0","typescript":"^5.7.2","@types/node":"^22.10.0","better-sqlite3":"^12.10.0","@types/better-sqlite3":"^7.6.13"},"peerDependencies":{"pg":"^8.0.0","mysql2":"^3.0.0"},"peerDependenciesMeta":{"pg":{"optional":true},"mysql2":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/mobile_0.40.0_1789842155126_0.7075292466008676","host":"s3://npm-registry-packages-npm-production"}},"0.41.0":{"name":"@unotest/mobile","version":"0.41.0","author":{"name":"Ivan Volkov","email":"ivan@volkov.io"},"license":"MIT","_id":"@unotest/mobile@0.41.0","maintainers":[{"name":"unotest","email":"ivan@unotest.com"}],"bin":{"unotest-mobile":"bin/unotest-mobile.js"},"dist":{"shasum":"a7811b73b42333b46a0a12a27dad7432f7c36aa8","tarball":"https://registry.npmjs.org/@unotest/mobile/-/mobile-0.41.0.tgz","fileCount":15,"integrity":"sha512-DMM0ky5jBSmVJFOl0eTzlAW9EAj/G05bzUEkW95k/96w+dqwLDAv17q24fDehv31qvEDYGeueGiNgxiQFCNsWQ==","signatures":[{"sig":"MEQCIDJp4e2DpGUJpq/bA6OCmUH4amUG+9CkLpdSAJPcxzvjAiBYcv05sA5KEbx1CR/XSLjcsc4AiUS7hT8C7/6bjjQmuA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIH3aflFBSGsOc/9z0qfZgtyJJMJ5MAjPFyaXwQ1WwFnGAiEAgAgC2ENPLXfM8CMQQS8GZE/WQuOXSGPDbz4ev6uyA+8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":639137},"type":"module","_from":"file:unotest-mobile-0.41.0.tgz","engines":{"node":">=20"},"exports":{"./dsl":{"types":"./dist/dsl/mobile-dsl-language-service.d.ts","import":"./dist/dsl/mobile-dsl-language-service.js"},"./adapter":{"types":"./dist/runner/mobile-runner-adapter.d.ts","import":"./dist/runner/mobile-runner-adapter.js"},"./package.json":"./package.json"},"_npmUser":{"name":"unotest","email":"ivan@unotest.com"},"_resolved":"/private/var/folders/rz/_3r_2y197wsgdyw3_l5ygv340000gn/T/68ae1fe48218e2df0f9fb0d778be93c8/unotest-mobile-0.41.0.tgz","_integrity":"sha512-DMM0ky5jBSmVJFOl0eTzlAW9EAj/G05bzUEkW95k/96w+dqwLDAv17q24fDehv31qvEDYGeueGiNgxiQFCNsWQ==","_npmVersion":"10.9.8","description":"AI-native E2E testing for iOS React Native apps. MCP server + CLI runner + JS-DSL scenarios.","directories":{},"_nodeVersion":"22.23.0","dependencies":{"zod":"^3.23.8","sharp":"^0.34.5","dotenv":"^16.4.5","@unotest/dsl":"^0.41.0","@unotest/core":"^0.41.0","better-sqlite3":"^11.0.0 || ^12.0.0","@unotest/viewer":"^0.41.0","@unotest/protocol":"^0.41.0","zod-to-json-schema":"^3.23.5","appium-webdriveragent":"^12.2.2","@modelcontextprotocol/sdk":"^1.0.4"},"_hasShrinkwrap":false,"devDependencies":{"pg":"^8.20.0","tsx":"^4.19.2","tsup":"^8.5.1","mysql2":"^3.22.3","@types/pg":"^8.20.0","typescript":"^5.7.2","@types/node":"^22.10.0","better-sqlite3":"^12.10.0","@types/better-sqlite3":"^7.6.13"},"peerDependencies":{"pg":"^8.0.0","mysql2":"^3.0.0"},"peerDependenciesMeta":{"pg":{"optional":true},"mysql2":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/mobile_0.41.0_1790025342205_0.7764090860894279","host":"s3://npm-registry-packages-npm-production"}},"0.42.0":{"_id":"@unotest/mobile@0.42.0","bin":{"unotest-mobile":"bin/unotest-mobile.js"},"dist":{"shasum":"fcbf3df7239f70f238bb2fcd6a79ed81fd5e7565","tarball":"https://registry.npmjs.org/@unotest/mobile/-/mobile-0.42.0.tgz","fileCount":15,"integrity":"sha512-NTLeDrI9sMPVOXaYNJFE+c5vrsmHR2k8p+lZlAfN/cPoDRSuiPXTI+h3rGfLjx9kuhmQ8Hdc66Izep9UJfgTrg==","signatures":[{"sig":"MEUCIQDAQt1MNRWh+9yyt7ZmJjbM7IqjctfO3ssbBF1u20vgPgIgbDQbzASQz3mmp67HbfGZksuZcpKUqZpMqHDZkC7s+kw=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIQDv+Li0nnpvEahhjWHPfelEU65HsYRmavfpAfatT9O9tAIgAoBj3TWQRFt2Xm/vD4zhRNJ2+1y4r7Wy6/pLY/zTkRY="}],"unpackedSize":639321},"name":"@unotest/mobile","type":"module","_from":"file:unotest-mobile-0.42.0.tgz","author":{"name":"Ivan Volkov","email":"ivan@volkov.io"},"engines":{"node":">=20"},"exports":{"./dsl":{"types":"./dist/dsl/mobile-dsl-language-service.d.ts","import":"./dist/dsl/mobile-dsl-language-service.js"},"./adapter":{"types":"./dist/runner/mobile-runner-adapter.d.ts","import":"./dist/runner/mobile-runner-adapter.js"},"./package.json":"./package.json"},"license":"MIT","version":"0.42.0","_npmUser":{"name":"unotest","email":"ivan@unotest.com"},"_resolved":"/private/var/folders/cc/hz3517s925v_7z23ktmjplz80000gn/T/3fe17f68a9a5d4673e129928c7056b22/unotest-mobile-0.42.0.tgz","_integrity":"sha512-NTLeDrI9sMPVOXaYNJFE+c5vrsmHR2k8p+lZlAfN/cPoDRSuiPXTI+h3rGfLjx9kuhmQ8Hdc66Izep9UJfgTrg==","_npmVersion":"10.9.4","description":"AI-native E2E testing for iOS React Native apps. MCP server + CLI runner + JS-DSL scenarios.","directories":{},"maintainers":[{"name":"unotest","email":"ivan@unotest.com"}],"_nodeVersion":"22.22.1","dependencies":{"zod":"^3.23.8","sharp":"^0.34.5","dotenv":"^16.4.5","@unotest/dsl":"^0.42.0","@unotest/core":"^0.42.0","better-sqlite3":"^11.0.0 || ^12.0.0","@unotest/viewer":"^0.42.0","@unotest/protocol":"^0.42.0","zod-to-json-schema":"^3.23.5","appium-webdriveragent":"^12.2.2","@modelcontextprotocol/sdk":"^1.0.4"},"_hasShrinkwrap":false,"devDependencies":{"pg":"^8.20.0","tsx":"^4.19.2","tsup":"^8.5.1","mysql2":"^3.22.3","@types/pg":"^8.20.0","typescript":"^5.7.2","@types/node":"^22.10.0","better-sqlite3":"^12.10.0","@types/better-sqlite3":"^7.6.13"},"peerDependencies":{"pg":"^8.0.0","mysql2":"^3.0.0"},"peerDependenciesMeta":{"pg":{"optional":true},"mysql2":{"optional":true}},"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/mobile_0.42.0_1790285570873_0.08493990006907981"}}},"time":{"created":"2026-05-14T14:32:34.043Z","modified":"2026-09-24T21:32:51.160Z","0.1.0":"2026-05-14T14:32:34.383Z","0.1.1":"2026-05-14T14:42:01.269Z","0.8.0":"2026-05-18T10:30:18.810Z","0.8.1":"2026-05-18T11:58:15.709Z","0.8.2":"2026-05-18T13:11:45.579Z","0.8.3":"2026-05-18T14:18:14.326Z","0.9.1":"2026-06-14T22:05:25.473Z","0.10.0":"2026-08-06T13:30:09.702Z","0.11.0":"2026-08-13T12:58:40.307Z","0.12.0":"2026-08-14T15:51:15.604Z","0.13.0":"2026-08-14T23:25:13.897Z","0.13.1":"2026-08-14T23:46:03.943Z","0.14.0":"2026-08-16T21:44:24.157Z","0.15.0":"2026-08-17T10:21:43.839Z","0.16.0":"2026-08-18T23:48:44.789Z","0.17.0":"2026-08-20T00:29:46.370Z","0.18.0":"2026-08-22T23:51:32.038Z","0.19.0":"2026-08-23T23:11:28.952Z","0.20.0":"2026-08-24T13:04:14.678Z","0.21.0":"2026-08-24T23:56:10.208Z","0.22.0":"2026-08-26T10:21:48.041Z","0.23.0":"2026-08-26T11:56:18.446Z","0.24.0":"2026-08-26T18:59:28.717Z","0.25.0":"2026-08-28T23:45:38.745Z","0.26.0":"2026-08-29T23:10:32.337Z","0.26.1":"2026-08-30T21:32:19.877Z","0.27.0":"2026-08-31T20:40:14.164Z","0.28.0":"2026-09-01T12:26:53.276Z","0.29.0":"2026-09-01T23:00:15.609Z","0.30.0":"2026-09-03T09:00:27.766Z","0.31.0":"2026-09-04T09:56:54.671Z","0.32.0":"2026-09-04T22:37:14.733Z","0.33.0":"2026-09-06T12:44:47.003Z","0.35.0":"2026-09-15T21:49:13.881Z","0.35.1":"2026-09-16T10:58:03.091Z","0.35.2":"2026-09-16T14:16:50.343Z","0.36.0":"2026-09-16T18:48:55.117Z","0.37.0":"2026-09-17T10:14:57.316Z","0.38.0":"2026-09-17T21:33:52.936Z","0.39.0":"2026-09-18T21:21:46.622Z","0.40.0":"2026-09-19T18:22:35.215Z","0.41.0":"2026-09-21T21:15:42.346Z","0.42.0":"2026-09-24T21:32:51.016Z"},"author":{"name":"Ivan Volkov","email":"ivan@volkov.io"},"license":"MIT","description":"AI-native E2E testing for iOS React Native apps. MCP server + CLI runner + JS-DSL scenarios.","maintainers":[{"name":"unotest","email":"ivan@unotest.com"}],"readme":"# `@unotest/mobile`\n\n**AI-native E2E testing for iOS apps.** An MCP server + CLI + JS-DSL\nthat lets Claude (or any MCP client) drive your iOS Simulator and write\nreal test scenarios for your app — works with any backend stack\n(Node/Python/Rails/Go/Java), no JS expertise required from you.\n\n## If you're an AI agent helping a user set this up\n\n*(Humans: skip this section, jump to [Quick start](#quick-start).)*\n\nYou were given this page because a developer wants `@unotest/mobile`\nset up in their project. Follow this protocol exactly — don't improvise.\n\n**1. Verify the host.** Run `xcrun simctl list devices` via your shell\ntool. If it errors with \"command not found\" or similar, the user isn't\non macOS or is missing Xcode CLI tools. Stop and tell them: \"This is\niOS-only — Apple licensing prevents iOS simulators from running on\nLinux/Windows. You'll need macOS with Xcode installed.\" Also verify\n`node --version` ≥ 20.\n\n**2. Pick a working directory with the user.** Setup writes\n`unotest/` (test scaffold), `.mcp.json` (Claude Code config),\n`.claude/skills/` (skill the in-project agent reads), and an\n`AGENTS.md` into the current directory, and updates `.gitignore` if\npresent. Where these land determines what Claude Code sees later, so\nask the user explicitly:\n\n- **Default — the app's repo root.** Same directory as their\n  `package.json` (RN/Expo) or where their `.xcodeproj` lives (native).\n  Tests live next to app code, ship via the same git history, work\n  cleanly in CI.\n- **Monorepo:** the monorepo root, not the app subfolder. Claude Code\n  is typically opened at the monorepo root, and `.mcp.json` must live\n  there to be auto-discovered.\n- **Separate test repo:** any directory the user picks. Choose this\n  only if they explicitly want tests divorced from the app.\n\nOnce the user picks, have them `cd` there. All commands below run\nfrom that directory.\n\n**3. Ask the user for the `.app` path.** `@unotest/mobile` drives a\nreal installed app — it needs the path to a built `.app` bundle.\nAsk: *\"What's the absolute path to your built `.app`?\"* Common\nlocations:\n- React Native / Expo: `./ios/build/Build/Products/Debug-iphonesimulator/<App>.app`\n  after `npx expo run:ios` or `pod install && xcodebuild`.\n- Native Swift: open Xcode → Product → Show Build Folder → `Products/Debug-iphonesimulator/`.\n\nIf they don't have one yet, tell them to build first; don't guess\npaths.\n\n**4. Tell the user to run the setup command in the chosen directory.**\n**Do not run this yourself via Bash** — it's interactive (simulator\npicker, permission prompts) and needs a real TTY. Your shell tool\nwill hang or get a non-interactive fallback. Give them this exact\nline to paste (from the directory picked in step 2):\n\n```bash\nnpx @unotest/mobile@latest install <their-app-path> --update-env\n```\n\nThey'll see: env check → file scaffold → simulator picker (arrow keys)\n→ permission grant prompt → install logs. Wait for the line\n`✓ Installed <bundle.id>`. That's the success signal.\n\n**5. Hand off to Claude Code.** Once install finishes, instruct the\nuser: *\"Open Claude Code in **the same directory you ran setup in**,\nthen ask it to write your first test.\"* A separate Claude Code session\n(not you) connects to the MCP server bootstrapped in step 4 and takes\nover from there. Your job ends here — you're setup, not test authoring.\n\nIf any step fails, surface the actual error verbatim to the user and\nstop. Don't try alternative paths.\n\n## Quick start\n\n```bash\n# 1. Point us at your .app build. Auto-detects bundle ID, URL scheme,\n#    and required permissions from Info.plist; offers to bootstrap\n#    unotest/ and .mcp.json on first run.\nnpx @unotest/mobile@latest install /path/to/Your.app --update-env\n\n# 2. Open Claude Code in this project. Ask: \"write an e2e test for\n#    sign-in\". The agent uses the MCP server to explore your app,\n#    record a scenario, and verify it runs end-to-end.\n\n# 3. (Optional) Re-run any saved test from the CLI:\nnpx @unotest/mobile@latest e2e <test-name>\n```\n\nThat's it. You never edit DSL by hand — the agent writes the scenarios,\nyou review the resulting `.js` files in `unotest/e2e-mobile/`.\n\n## How it works\n\n```\n┌─────────────┐  MCP (stdio)   ┌──────────────────┐\n│ Claude Code │ ◀────────────▶ │ @unotest/mobile  │\n└─────────────┘   tool calls   │  (this package)  │\n                               └────────┬─────────┘\n                                        │ HTTP\n                               ┌────────▼──────────┐\n                               │  WebDriverAgent   │\n                               │  (Apple's XCUI    │\n                               │   driver, on sim) │\n                               └────────┬──────────┘\n                                        │\n                               ┌────────▼──────────┐\n                               │  iOS Simulator    │\n                               │  Your .app        │\n                               └───────────────────┘\n```\n\n- **The agent sees the accessibility tree, not screenshots.** WDA\n  returns a structured tree (roles, testID, text, bounds); we render it\n  as a token-cheap text outline. Works on RN/Expo and on plain Swift\n  apps too, as long as they expose accessibility.\n- **Tests are plain `.js` files in your repo.** `unotest/e2e-mobile/*.js`.\n  Goes into git, into code review, into CI. No proprietary format, no\n  binary blob.\n- **The DSL is a sandboxed JS subset.** Scenarios run in a vendored AST\n  interpreter — they can't `require`, `fetch`, touch the filesystem, or\n  import anything. AI-generated tests are safe to run blindly.\n- **Pause-on-failure debugger.** When a step throws, the runtime\n  freezes mid-scenario. The agent (or you) calls `inspect_runtime`,\n  patches the scenario, and `resume`s from the same step — no full\n  simulator restart, no rerunning setup.\n- **Local-only.** Everything runs on your Mac. Your `.app` never leaves\n  the machine.\n\n**Life of a test:** the agent explores your app live (taps real\nbuttons, reads the live a11y tree) → records the actions → emits a JS\nscenario → runs it through our interpreter → on failure, pauses,\npatches, resumes. Every step goes through one of ~15 MCP tools the\nagent already knows; you don't wire anything.\n\n## Requirements\n\n- **macOS** with Xcode + iOS Simulator (Apple licensing — iOS\n  simulators don't run on Linux/Windows).\n- **Node 20+** (for `npx`; you don't need a Node project).\n- First run of WebDriverAgent compiles once and caches under\n  `~/.cache/unotest/mobile/wda/` — ~5–15 min, subsequent runs reuse it.\n\n## CLI\n\n| Command | What it does |\n|---|---|\n| `npx @unotest/mobile@latest install <path>` | Install a `.app` on the configured sim; auto-detect bundle ID + permissions; `--update-env` persists. |\n| `npx @unotest/mobile@latest init` | Just bootstrap `unotest/` + `.mcp.json` without installing an app. |\n| `npx @unotest/mobile@latest doctor` | Re-check the environment (Xcode, sim, Node, WDA cache). |\n| `npx @unotest/mobile@latest e2e <name>` | Run `unotest/e2e-mobile/<name>.js`. |\n| `npx @unotest/mobile@latest lint` | Static check of all scenarios + helpers. |\n| `npx @unotest/mobile@latest viewer` | Start the local results viewer (HTTP+WS) with mobile as the active target; opens in your browser. |\n| `npx @unotest/mobile@latest` (no args) | Run as MCP stdio server (this is what Claude Code launches). |\n\n## License\n\n[MIT](./LICENSE)\n","readmeFilename":"README.md"}