{"_id":"@unotest/viewer","_rev":"41-2dc046ff0c40810dfc1f4d4f6b704bb9","name":"@unotest/viewer","dist-tags":{"latest":"0.42.0"},"versions":{"0.5.0":{"name":"@unotest/viewer","version":"0.5.0","author":{"name":"Ivan Volkov","email":"ivan@volkov.io"},"license":"MIT","_id":"@unotest/viewer@0.5.0","maintainers":[{"name":"unotest","email":"ivan@unotest.com"}],"homepage":"https://github.com/unotest/viewer#readme","bugs":{"url":"https://github.com/unotest/viewer/issues"},"bin":{"unotest-viewer":"bin/unotest-viewer.js"},"dist":{"shasum":"dd1fbf53a25782fe7eb7dd495137b5d9e224221a","tarball":"https://registry.npmjs.org/@unotest/viewer/-/viewer-0.5.0.tgz","fileCount":10,"integrity":"sha512-T14jalj0ieMe5STrrYE7S6Ret8946og9JSwoR0dX00TBRU3P/ieCVinlaJTcNpATFuZrS3e0wal3t5iTWPStHQ==","signatures":[{"sig":"MEYCIQC6D+OQ9mLbb0n0OXVAFyRH7Jhm+NEg445B98oOEqqGCgIhAMIBpP0xgHi+n5M7Z0Xo0lYcOqCjQKFxHxMDw5Xbc/U5","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":998942},"main":"./dist/server/main.js","pnpm":{"onlyBuiltDependencies":["node-pty"]},"type":"module","types":"./dist/server/main.d.ts","engines":{"node":">=20"},"exports":{"./web/*":"./dist/web/*","./server":{"types":"./dist/server/main.d.ts","import":"./dist/server/main.js"}},"gitHead":"9d01ef94dac74b958d9ca1d2ce576e04151e6099","scripts":{"dev":"pnpm run --parallel '/^dev:/'","test":"pnpm run test:server && pnpm run test:web","build":"pnpm verify && pnpm compile && pnpm obfuscate && pnpm check:tarball","start":"node dist/server/main.js","verify":"pnpm typecheck && pnpm test","compile":"pnpm run compile:server && pnpm run compile:web","dev:web":"vite","test:web":"vitest run --passWithNoTests","obfuscate":"node scripts/obfuscate.mjs","typecheck":"tsc --noEmit","dev:server":"UNOTEST_VIEWER_PORT=5174 tsx watch src/server/main.ts","compile:web":"vite build","test:server":"node --experimental-vm-modules --no-warnings ./node_modules/jest/bin/jest.js --passWithNoTests --forceExit","test:e2e:web":"node test/web-e2e/smoke.mjs","check:surface":"pnpm check:no-cyrillic && pnpm check:no-internal-refs","check:tarball":"node scripts/check-tarball.mjs","compile:server":"tsup","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"},"repository":{"url":"git+https://github.com/unotest/viewer.git","type":"git"},"_npmVersion":"10.9.2","description":"Localhost HTTP+WS viewer for @unotest/web. NestJS server + React+MobX frontend. Reads run-artifacts from unotest/.runs/, spawns test runs via @unotest/web bin, broadcasts live events over WS. Future Electron build target.","directories":{},"_nodeVersion":"22.16.0","dependencies":{"zod":"^3.23.0","rxjs":"^7.8.0","yaml":"^2.6.0","chokidar":"^4.0.0","node-pty":"^1.1.0","nestjs-zod":"^4.0.0","@nestjs/core":"^10.4.0","@nestjs/common":"^10.4.0","@fastify/static":"7.0.4","reflect-metadata":"^0.2.0","@unotest/protocol":"^0.5.0","@nestjs/websockets":"^10.4.0","@nestjs/platform-ws":"^10.4.0","@nestjs/platform-fastify":"^10.4.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"pnpm@10.12.4","devDependencies":{"ws":"^8.21.0","tsx":"^4.19.2","jest":"^29.7.0","mobx":"^6.13.0","tsup":"^8.5.1","vite":"^5.4.0","jsdom":"^25.0.0","react":"^18.3.1","vitest":"^2.1.0","ts-jest":"^29.2.0","@swc/core":"^1.10.0","@types/ws":"^8.18.1","react-dom":"^18.3.1","supertest":"^7.0.0","playwright":"^1.49.0","typescript":"^5.7.2","@types/jest":"^29.5.0","@types/node":"^22.10.0","tailwindcss":"^4.3.0","@types/react":"^18.3.0","@unotest/dsl":"link:../unotest-dsl","@unotest/web":"link:../unotest-web","@xterm/xterm":"^6.0.0","@nestjs/testing":"^10.4.0","mobx-react-lite":"^4.0.7","@types/react-dom":"^18.3.0","@types/supertest":"^6.0.0","@xterm/addon-fit":"^0.11.0","@tailwindcss/vite":"^4.3.0","@vitejs/plugin-react":"^4.3.0","@uiw/react-codemirror":"^4.23.0","javascript-obfuscator":"^4.1.1","@testing-library/react":"^16.0.0","@codemirror/lang-javascript":"^6.2.5"},"peerDependencies":{"@unotest/dsl":"^0.5.0","@unotest/web":"^0.5.0"},"peerDependenciesMeta":{"@unotest/dsl":{"optional":false},"@unotest/web":{"optional":false}},"_npmOperationalInternal":{"tmp":"tmp/viewer_0.5.0_1780259083696_0.19496986549354567","host":"s3://npm-registry-packages-npm-production"}},"0.6.1":{"name":"@unotest/viewer","version":"0.6.1","author":{"name":"Ivan Volkov","email":"ivan@volkov.io"},"license":"MIT","_id":"@unotest/viewer@0.6.1","maintainers":[{"name":"unotest","email":"ivan@unotest.com"}],"homepage":"https://www.npmjs.com/package/@unotest/viewer","bin":{"unotest-viewer":"bin/unotest-viewer.js"},"dist":{"shasum":"ddc782cbbf0aa01a72809114a043f7c02e1d4382","tarball":"https://registry.npmjs.org/@unotest/viewer/-/viewer-0.6.1.tgz","fileCount":10,"integrity":"sha512-gSmmJ7MnHjx+r6CJtcfQizsB8ZGBnxugkzbZLc/q5gf3gEbEziiLWjdJaziFiI2MDVnm9e4tQlWxnZAiOP1PPQ==","signatures":[{"sig":"MEUCIC1p05TTeecZubriO5AA/WuNC/g/LoG/3/87f4M85yEbAiEAtBk4dw507rXzifzVvK07LOVa9Q84nayLbO0HSQiBtmE=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1005099},"main":"./dist/server/main.js","type":"module","_from":"file:unotest-viewer-0.6.1.tgz","types":"./dist/server/main.d.ts","engines":{"node":">=20"},"exports":{"./web/*":"./dist/web/*","./server":{"types":"./dist/server/main.d.ts","import":"./dist/server/main.js"}},"scripts":{"dev":"node scripts/free-port.mjs 5174 5173 && pnpm run --parallel \"/^dev:/\"","test":"pnpm run test:server && pnpm run test:web","build":"pnpm verify && pnpm compile && pnpm obfuscate && pnpm check:tarball","start":"node dist/server/main.js","verify":"pnpm typecheck && pnpm test","compile":"pnpm run compile:server && pnpm run compile:web","dev:web":"vite","test:web":"vitest run --passWithNoTests","obfuscate":"node scripts/obfuscate.mjs","typecheck":"tsc --noEmit","dev:server":"cross-env UNOTEST_VIEWER_PORT=5174 tsx watch src/server/main.ts","compile:web":"vite build","test:server":"node --experimental-vm-modules --no-warnings ./node_modules/jest/bin/jest.js --passWithNoTests --forceExit","test:e2e:web":"node test/web-e2e/smoke.mjs","check:surface":"pnpm check:no-cyrillic && pnpm check:no-internal-refs","check:tarball":"node scripts/check-tarball.mjs","compile:server":"tsup","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/c68b7374209735f7ed0e5e402a1831b2/unotest-viewer-0.6.1.tgz","_integrity":"sha512-gSmmJ7MnHjx+r6CJtcfQizsB8ZGBnxugkzbZLc/q5gf3gEbEziiLWjdJaziFiI2MDVnm9e4tQlWxnZAiOP1PPQ==","_npmVersion":"10.9.2","description":"Localhost HTTP+WS viewer for @unotest/web. NestJS server + React+MobX frontend. Reads run-artifacts from unotest/.runs/, spawns test runs via @unotest/web bin, broadcasts live events over WS. Future Electron build target.","directories":{},"_nodeVersion":"22.16.0","dependencies":{"zod":"^3.23.0","rxjs":"^7.8.0","yaml":"^2.6.0","chokidar":"^4.0.0","node-pty":"^1.1.0","nestjs-zod":"^4.0.0","@nestjs/core":"^10.4.0","@nestjs/common":"^10.4.0","@fastify/static":"7.0.4","reflect-metadata":"^0.2.0","@unotest/protocol":"^0.6.1","@nestjs/websockets":"^10.4.0","@nestjs/platform-ws":"^10.4.0","@nestjs/platform-fastify":"^10.4.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"ws":"^8.21.0","tsx":"^4.19.2","jest":"^29.7.0","mobx":"^6.13.0","tsup":"^8.5.1","vite":"^5.4.0","jsdom":"^25.0.0","react":"^18.3.1","terser":"^5.48.0","vitest":"^2.1.0","ts-jest":"^29.2.0","@swc/core":"^1.10.0","@types/ws":"^8.18.1","cross-env":"^7.0.3","react-dom":"^18.3.1","supertest":"^7.0.0","playwright":"^1.49.0","typescript":"^5.7.2","@types/jest":"^29.5.0","@types/node":"^22.10.0","tailwindcss":"^4.3.0","@types/react":"^18.3.0","@unotest/dsl":"^0.6.1","@unotest/web":"^0.6.1","@xterm/xterm":"^6.1.0-beta.261","@nestjs/testing":"^10.4.0","mobx-react-lite":"^4.0.7","@types/react-dom":"^18.3.0","@types/supertest":"^6.0.0","@xterm/addon-fit":"^0.11.0","@tailwindcss/vite":"^4.3.0","@vitejs/plugin-react":"^4.3.0","@uiw/react-codemirror":"^4.23.0","javascript-obfuscator":"^4.1.1","@testing-library/react":"^16.0.0","@codemirror/lang-javascript":"^6.2.5"},"peerDependencies":{"@unotest/dsl":"^0.6.1","@unotest/web":"^0.6.1"},"peerDependenciesMeta":{"@unotest/dsl":{"optional":false},"@unotest/web":{"optional":false}},"_npmOperationalInternal":{"tmp":"tmp/viewer_0.6.1_1780501359906_0.5902582769182583","host":"s3://npm-registry-packages-npm-production"}},"0.6.2":{"name":"@unotest/viewer","version":"0.6.2","author":{"name":"Ivan Volkov","email":"ivan@volkov.io"},"license":"MIT","_id":"@unotest/viewer@0.6.2","maintainers":[{"name":"unotest","email":"ivan@unotest.com"}],"homepage":"https://www.npmjs.com/package/@unotest/viewer","bin":{"unotest-viewer":"bin/unotest-viewer.js"},"dist":{"shasum":"370c8883b0b7b76e981afd56d350b5afd4b306ac","tarball":"https://registry.npmjs.org/@unotest/viewer/-/viewer-0.6.2.tgz","fileCount":10,"integrity":"sha512-JQZ5BCTQ/g31cCOP/8ZJ4o+S68rVV6/MmFP/ubt7UVeuwXikeWP078af5gI1tK9fKrE5Et0xrlafJRG9vTnO6g==","signatures":[{"sig":"MEQCICP+2VhKe8f4DORphfwtrVpph9uohkf4jItFepPN/NAnAiAbVjcroNYeu9D7Xcf4IqDC56r9PvHmzC4QLSfPpNTF9w==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1005524},"main":"./dist/server/main.js","type":"module","_from":"file:unotest-viewer-0.6.2.tgz","types":"./dist/server/main.d.ts","engines":{"node":">=20"},"exports":{"./web/*":"./dist/web/*","./server":{"types":"./dist/server/main.d.ts","import":"./dist/server/main.js"}},"scripts":{"dev":"node scripts/free-port.mjs 5174 5173 && pnpm run --parallel \"/^dev:/\"","test":"pnpm run test:server && pnpm run test:web","build":"pnpm verify && pnpm compile && pnpm obfuscate && pnpm check:tarball","start":"node dist/server/main.js","verify":"pnpm typecheck && pnpm test","compile":"pnpm run compile:server && pnpm run compile:web","dev:web":"vite","test:web":"vitest run --passWithNoTests","obfuscate":"node scripts/obfuscate.mjs","typecheck":"tsc --noEmit","dev:server":"cross-env UNOTEST_VIEWER_PORT=5174 tsx watch src/server/main.ts","compile:web":"vite build","test:server":"node --experimental-vm-modules --no-warnings ./node_modules/jest/bin/jest.js --passWithNoTests --forceExit","test:e2e:web":"node test/web-e2e/smoke.mjs","check:surface":"pnpm check:no-cyrillic && pnpm check:no-internal-refs","check:tarball":"node scripts/check-tarball.mjs","compile:server":"tsup","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/d698ee988ce1b0db4bcfb760822c7a41/unotest-viewer-0.6.2.tgz","_integrity":"sha512-JQZ5BCTQ/g31cCOP/8ZJ4o+S68rVV6/MmFP/ubt7UVeuwXikeWP078af5gI1tK9fKrE5Et0xrlafJRG9vTnO6g==","_npmVersion":"10.9.2","description":"Localhost HTTP+WS viewer for @unotest/web. NestJS server + React+MobX frontend. Reads run-artifacts from unotest/.runs/, spawns test runs via @unotest/web bin, broadcasts live events over WS. Future Electron build target.","directories":{},"_nodeVersion":"22.16.0","dependencies":{"zod":"^3.23.0","rxjs":"^7.8.0","yaml":"^2.6.0","chokidar":"^4.0.0","node-pty":"^1.1.0","nestjs-zod":"^4.0.0","@nestjs/core":"^10.4.0","@nestjs/common":"^10.4.0","@fastify/static":"7.0.4","reflect-metadata":"^0.2.0","@unotest/protocol":"^0.6.2","@nestjs/websockets":"^10.4.0","@nestjs/platform-ws":"^10.4.0","@nestjs/platform-fastify":"^10.4.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"ws":"^8.21.0","tsx":"^4.19.2","jest":"^29.7.0","mobx":"^6.13.0","tsup":"^8.5.1","vite":"^5.4.0","jsdom":"^25.0.0","react":"^18.3.1","terser":"^5.48.0","vitest":"^2.1.0","ts-jest":"^29.2.0","@swc/core":"^1.10.0","@types/ws":"^8.18.1","cross-env":"^7.0.3","react-dom":"^18.3.1","supertest":"^7.0.0","playwright":"^1.49.0","typescript":"^5.7.2","@types/jest":"^29.5.0","@types/node":"^22.10.0","tailwindcss":"^4.3.0","@types/react":"^18.3.0","@unotest/dsl":"^0.6.2","@unotest/web":"^0.6.2","@xterm/xterm":"^6.1.0-beta.261","@nestjs/testing":"^10.4.0","mobx-react-lite":"^4.0.7","@types/react-dom":"^18.3.0","@types/supertest":"^6.0.0","@xterm/addon-fit":"^0.11.0","@tailwindcss/vite":"^4.3.0","@vitejs/plugin-react":"^4.3.0","@uiw/react-codemirror":"^4.23.0","javascript-obfuscator":"^4.1.1","@testing-library/react":"^16.0.0","@codemirror/lang-javascript":"^6.2.5"},"peerDependencies":{"@unotest/dsl":"^0.6.2","@unotest/web":"^0.6.2"},"peerDependenciesMeta":{"@unotest/dsl":{"optional":false},"@unotest/web":{"optional":false}},"_npmOperationalInternal":{"tmp":"tmp/viewer_0.6.2_1780612310190_0.3836825413011864","host":"s3://npm-registry-packages-npm-production"}},"0.9.0":{"name":"@unotest/viewer","version":"0.9.0","author":{"name":"Ivan Volkov","email":"ivan@volkov.io"},"license":"MIT","_id":"@unotest/viewer@0.9.0","maintainers":[{"name":"unotest","email":"ivan@unotest.com"}],"homepage":"https://www.npmjs.com/package/@unotest/viewer","bin":{"unotest-viewer":"bin/unotest-viewer.js"},"dist":{"shasum":"3f0ed16407a083483cad56782e97d6c5ac58a968","tarball":"https://registry.npmjs.org/@unotest/viewer/-/viewer-0.9.0.tgz","fileCount":14,"integrity":"sha512-4v51ajWKyyaTEGnTA0V+RPGwqyO4+9vvNGYzYd2Ebw8lll38zakMelteb4sSry0Cj0Et5uWaL0y0h7YeQ033ug==","signatures":[{"sig":"MEUCIQDNxOvHZRV6JuycBHP3lWRcBsvopJuRqZ2kNwIdTARcCAIgA17AQJTfAzzLslM/qMneUQ2z5BGIM8bncTvUeA7r/7U=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":4797587},"main":"./dist/server/main.js","type":"module","_from":"file:unotest-viewer-0.9.0.tgz","types":"./dist/server/main.d.ts","engines":{"node":">=20"},"exports":{"./web/*":"./dist/web/*","./server":{"types":"./dist/server/main.d.ts","import":"./dist/server/main.js"}},"scripts":{"dev":"node scripts/free-port.mjs 5174 5173 && pnpm run --parallel \"/^dev:/\"","test":"pnpm run test:server && pnpm run test:web","build":"pnpm verify && pnpm compile && pnpm obfuscate && pnpm check:tarball","start":"node dist/server/main.js","verify":"pnpm typecheck && pnpm test","compile":"pnpm run compile:server && pnpm run compile:web","dev:web":"vite","test:web":"vitest run --passWithNoTests","obfuscate":"node scripts/obfuscate.mjs","typecheck":"tsc --noEmit","dev:server":"cross-env UNOTEST_VIEWER_PORT=5174 UNOTEST_RUNNER_PKG=@unotest/web tsx watch src/server/main.ts","compile:web":"vite build","test:server":"node --experimental-vm-modules --no-warnings ./node_modules/jest/bin/jest.js --passWithNoTests --forceExit","test:e2e:web":"node test/web-e2e/smoke.mjs","check:surface":"pnpm check:no-cyrillic && pnpm check:no-internal-refs","check:tarball":"node scripts/check-tarball.mjs","compile:server":"tsup","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/0297d8b3673ddd8234a7241683793161/unotest-viewer-0.9.0.tgz","_integrity":"sha512-4v51ajWKyyaTEGnTA0V+RPGwqyO4+9vvNGYzYd2Ebw8lll38zakMelteb4sSry0Cj0Et5uWaL0y0h7YeQ033ug==","_npmVersion":"10.9.2","description":"Localhost HTTP+WS viewer for @unotest/web. NestJS server + React+MobX frontend. Reads run-artifacts from unotest/.runs/, spawns test runs via @unotest/web bin, broadcasts live events over WS. Future Electron build target.","directories":{},"_nodeVersion":"22.16.0","dependencies":{"zod":"^3.23.0","rxjs":"^7.8.0","yaml":"^2.6.0","chokidar":"^4.0.0","node-pty":"^1.1.0","nestjs-zod":"^4.0.0","@nestjs/core":"^10.4.0","@nestjs/common":"^10.4.0","@fastify/static":"7.0.4","reflect-metadata":"^0.2.0","@unotest/protocol":"^0.9.0","@nestjs/websockets":"^10.4.0","@nestjs/platform-ws":"^10.4.0","@nestjs/platform-fastify":"^10.4.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"ws":"^8.21.0","tsx":"^4.19.2","jest":"^29.7.0","mobx":"^6.13.0","tsup":"^8.5.1","vite":"^5.4.0","jsdom":"^25.0.0","react":"^18.3.1","terser":"^5.48.0","vitest":"^2.1.0","ts-jest":"^29.2.0","@swc/core":"^1.10.0","@types/ws":"^8.18.1","cross-env":"^7.0.3","react-dom":"^18.3.1","supertest":"^7.0.0","playwright":"^1.49.0","typescript":"^5.7.2","@types/jest":"^29.5.0","@types/node":"^22.10.0","tailwindcss":"^4.3.0","@types/react":"^18.3.0","@unotest/dsl":"^0.9.0","@unotest/web":"^0.9.0","@xterm/xterm":"^6.1.0-beta.261","monaco-editor":"^0.52.0","@nestjs/testing":"^10.4.0","mobx-react-lite":"^4.0.7","@types/react-dom":"^18.3.0","@types/supertest":"^6.0.0","@xterm/addon-fit":"^0.11.0","@tailwindcss/vite":"^4.3.0","@vitejs/plugin-react":"^4.3.0","javascript-obfuscator":"^4.1.1","@testing-library/react":"^16.0.0"},"peerDependencies":{"@unotest/dsl":"^0.9.0","@unotest/web":"^0.9.0"},"peerDependenciesMeta":{"@unotest/dsl":{"optional":false},"@unotest/web":{"optional":false}},"_npmOperationalInternal":{"tmp":"tmp/viewer_0.9.0_1781195432128_0.08531036422031679","host":"s3://npm-registry-packages-npm-production"}},"0.9.1":{"name":"@unotest/viewer","version":"0.9.1","author":{"name":"Ivan Volkov","email":"ivan@volkov.io"},"license":"MIT","_id":"@unotest/viewer@0.9.1","maintainers":[{"name":"unotest","email":"ivan@unotest.com"}],"homepage":"https://www.npmjs.com/package/@unotest/viewer","bin":{"unotest-viewer":"bin/unotest-viewer.js"},"dist":{"shasum":"57f7864a0124071f3b6789466cabcf32d702eb8f","tarball":"https://registry.npmjs.org/@unotest/viewer/-/viewer-0.9.1.tgz","fileCount":14,"integrity":"sha512-uRvLOovPRvxAsB1XWSI3A2mEDVHa7lcO1/5zvjThlmGzaiK4VgUNE14C00a31AGHioxhjhY304vx+XN1RdMVaQ==","signatures":[{"sig":"MEQCIG3ilrG1GyIUrwpMAgIa/tUyfTlfqUAzYnIebAtHeuHyAiApncwSIaC4MlQoGUmUmqFTXnEYxsTIA+MHpmXkAn7pJQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":4871662},"main":"./dist/server/main.js","type":"module","_from":"file:unotest-viewer-0.9.1.tgz","types":"./dist/server/main.d.ts","engines":{"node":">=20"},"exports":{"./web/*":"./dist/web/*","./server":{"types":"./dist/server/main.d.ts","import":"./dist/server/main.js"}},"scripts":{"dev":"node scripts/free-port.mjs 5174 5173 && pnpm run --parallel \"/^dev:/\"","test":"pnpm run test:server && pnpm run test:web","build":"pnpm verify && pnpm compile && pnpm obfuscate && pnpm check:tarball","start":"node dist/server/main.js","verify":"pnpm typecheck && pnpm test","compile":"pnpm run compile:server && pnpm run compile:web","dev:web":"vite","test:web":"vitest run --passWithNoTests","obfuscate":"node scripts/obfuscate.mjs","typecheck":"tsc --noEmit","dev:server":"cross-env UNOTEST_VIEWER_PORT=5174 UNOTEST_RUNNER_PKG=@unotest/web tsx watch src/server/main.ts","compile:web":"vite build","test:server":"node --experimental-vm-modules --no-warnings ./node_modules/jest/bin/jest.js --passWithNoTests --forceExit","test:e2e:web":"node test/web-e2e/smoke.mjs","check:surface":"pnpm check:no-cyrillic && pnpm check:no-internal-refs","check:tarball":"node scripts/check-tarball.mjs","compile:server":"tsup","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/5119967e7636671fa666d8e68eda4c20/unotest-viewer-0.9.1.tgz","_integrity":"sha512-uRvLOovPRvxAsB1XWSI3A2mEDVHa7lcO1/5zvjThlmGzaiK4VgUNE14C00a31AGHioxhjhY304vx+XN1RdMVaQ==","_npmVersion":"10.9.2","description":"Localhost HTTP+WS viewer for unotest. Target-agnostic host: runner packages (@unotest/web, @unotest/mobile, …) are à-la-carte plugins auto-detected at boot and selectable via the TEST TARGET switcher. NestJS server + React+MobX frontend. Reads run-artifac","directories":{},"_nodeVersion":"22.16.0","dependencies":{"zod":"^3.23.0","rxjs":"^7.8.0","yaml":"^2.6.0","chokidar":"^4.0.0","node-pty":"^1.1.0","nestjs-zod":"^4.0.0","@nestjs/core":"^10.4.0","@unotest/dsl":"^0.9.1","@nestjs/common":"^10.4.0","@fastify/static":"7.0.4","reflect-metadata":"^0.2.0","@unotest/protocol":"^0.9.1","@nestjs/websockets":"^10.4.0","@nestjs/platform-ws":"^10.4.0","@nestjs/platform-fastify":"^10.4.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"ws":"^8.21.0","tsx":"^4.19.2","jest":"^29.7.0","mobx":"^6.13.0","tsup":"^8.5.1","vite":"^5.4.0","jsdom":"^25.0.0","react":"^18.3.1","terser":"^5.48.0","vitest":"^2.1.0","ts-jest":"^29.2.0","@swc/core":"^1.10.0","@types/ws":"^8.18.1","cross-env":"^7.0.3","react-dom":"^18.3.1","supertest":"^7.0.0","playwright":"^1.49.0","typescript":"^5.7.2","@types/jest":"^29.5.0","@types/node":"^22.10.0","tailwindcss":"^4.3.0","@types/react":"^18.3.0","@unotest/web":"^0.9.1","@xterm/xterm":"^6.1.0-beta.261","monaco-editor":"^0.52.0","@nestjs/testing":"^10.4.0","@unotest/mobile":"^0.9.1","mobx-react-lite":"^4.0.7","@types/react-dom":"^18.3.0","@types/supertest":"^6.0.0","@xterm/addon-fit":"^0.11.0","@tailwindcss/vite":"^4.3.0","@vitejs/plugin-react":"^4.3.0","javascript-obfuscator":"^4.1.1","@testing-library/react":"^16.0.0"},"_npmOperationalInternal":{"tmp":"tmp/viewer_0.9.1_1781463348444_0.36023890950083626","host":"s3://npm-registry-packages-npm-production"}},"0.10.0":{"name":"@unotest/viewer","version":"0.10.0","author":{"name":"Ivan Volkov","email":"ivan@volkov.io"},"license":"MIT","_id":"@unotest/viewer@0.10.0","maintainers":[{"name":"unotest","email":"ivan@unotest.com"}],"homepage":"https://www.npmjs.com/package/@unotest/viewer","bin":{"unotest-viewer":"bin/unotest-viewer.js"},"dist":{"shasum":"2ceaaf323b8a638495d6a72455b5cdec4af8a830","tarball":"https://registry.npmjs.org/@unotest/viewer/-/viewer-0.10.0.tgz","fileCount":14,"integrity":"sha512-g/8OTWWiP0NxSYQCjJqWIFI8z5F9fX37DxmBOelmrQfZp5BJF4z9y2h3LQGb+8D0NTaTAYXzEFriTy1nAf49AA==","signatures":[{"sig":"MEQCIBHEL2+RSSsmS33qgjqJgUEGQG9tTqUdhUgZTy9/c8rgAiA4ViQbWNZ/MbUo/smobnaNcpuOr/dE/YDYAGnacFJjlg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":4864780},"main":"./dist/server/main.js","type":"module","_from":"file:unotest-viewer-0.10.0.tgz","types":"./dist/server/main.d.ts","engines":{"node":">=20"},"exports":{"./web/*":"./dist/web/*","./server":{"types":"./dist/server/main.d.ts","import":"./dist/server/main.js"}},"scripts":{"dev":"node scripts/free-port.mjs 5174 5173 && pnpm run --parallel \"/^dev:/\"","test":"pnpm run test:server && pnpm run test:web","build":"pnpm verify && pnpm compile && pnpm obfuscate && pnpm check:tarball","start":"node dist/server/main.js","verify":"pnpm typecheck && pnpm test","compile":"pnpm run compile:server && pnpm run compile:web","dev:web":"vite","test:web":"vitest run --passWithNoTests","obfuscate":"node scripts/obfuscate.mjs","typecheck":"tsc --noEmit","dev:server":"cross-env UNOTEST_VIEWER_PORT=5174 UNOTEST_RUNNER_PKG=@unotest/web tsx watch src/server/main.ts","compile:web":"vite build","test:server":"node --experimental-vm-modules --no-warnings ./node_modules/jest/bin/jest.js --passWithNoTests --forceExit","test:e2e:web":"node test/web-e2e/smoke.mjs","check:surface":"pnpm check:no-cyrillic && pnpm check:no-internal-refs","check:tarball":"node scripts/check-tarball.mjs","compile:server":"tsup","dev-web-project":"cross-env UNOTEST_PROJECT_ROOT=../web pnpm dev","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/424cb527a3be773b5cc312dbf2f6f1c0/unotest-viewer-0.10.0.tgz","_integrity":"sha512-g/8OTWWiP0NxSYQCjJqWIFI8z5F9fX37DxmBOelmrQfZp5BJF4z9y2h3LQGb+8D0NTaTAYXzEFriTy1nAf49AA==","_npmVersion":"10.9.8","description":"Localhost HTTP+WS viewer for unotest. Target-agnostic host: runner packages (@unotest/web, @unotest/mobile, …) are à-la-carte plugins auto-detected at boot and selectable via the TEST TARGET switcher. NestJS server + React+MobX frontend. Reads run-artifac","directories":{},"_nodeVersion":"22.23.0","dependencies":{"zod":"^3.23.0","rxjs":"^7.8.0","yaml":"^2.6.0","fflate":"^0.8.2","chokidar":"^4.0.0","node-pty":"^1.1.0","nestjs-zod":"^4.0.0","@nestjs/core":"^10.4.0","@unotest/dsl":"^0.10.0","@nestjs/common":"^10.4.0","@fastify/static":"7.0.4","reflect-metadata":"^0.2.0","@unotest/protocol":"^0.10.0","@nestjs/websockets":"^10.4.0","@nestjs/platform-ws":"^10.4.0","@nestjs/platform-fastify":"^10.4.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"ws":"^8.21.0","tsx":"^4.19.2","jest":"^29.7.0","mobx":"^6.13.0","tsup":"^8.5.1","vite":"^5.4.0","jsdom":"^25.0.0","react":"^18.3.1","terser":"^5.48.0","vitest":"^2.1.0","ts-jest":"^29.2.0","@swc/core":"^1.10.0","@types/ws":"^8.18.1","cross-env":"^7.0.3","react-dom":"^18.3.1","supertest":"^7.0.0","playwright":"^1.49.0","typescript":"^5.7.2","@types/jest":"^29.5.0","@types/node":"^22.10.0","tailwindcss":"^4.3.0","@types/react":"^18.3.0","@unotest/web":"^0.10.0","@xterm/xterm":"^6.1.0-beta.261","monaco-editor":"^0.52.0","@nestjs/testing":"^10.4.0","@unotest/mobile":"^0.10.0","mobx-react-lite":"^4.0.7","@types/react-dom":"^18.3.0","@types/supertest":"^6.0.0","@xterm/addon-fit":"^0.11.0","@tailwindcss/vite":"^4.3.0","@testing-library/dom":"^10.4.1","@vitejs/plugin-react":"^4.3.0","javascript-obfuscator":"^4.1.1","@testing-library/react":"^16.0.0"},"_npmOperationalInternal":{"tmp":"tmp/viewer_0.10.0_1786022760124_0.6273587895133759","host":"s3://npm-registry-packages-npm-production"}},"0.11.0":{"name":"@unotest/viewer","version":"0.11.0","author":{"name":"Ivan Volkov","email":"ivan@volkov.io"},"license":"MIT","_id":"@unotest/viewer@0.11.0","maintainers":[{"name":"unotest","email":"ivan@unotest.com"}],"homepage":"https://www.npmjs.com/package/@unotest/viewer","bin":{"unotest-viewer":"bin/unotest-viewer.js"},"dist":{"shasum":"d8dbdb791ccd4e3e0490312d15ac8c49dc1879ff","tarball":"https://registry.npmjs.org/@unotest/viewer/-/viewer-0.11.0.tgz","fileCount":14,"integrity":"sha512-q0qekYxu+uxZaNwHn42IxlBEf9DLy1IBlleRlGXau7rgz421NxxwFA7iNCLTz8Vpr69rEdMxZORHqo8PAvKgsw==","signatures":[{"sig":"MEUCIAsBNqSWDz/bUreknCB3ZUa80+K/WmLcgLObqUwi0zcZAiEA6hUB/3/aA08jyRchSJqxUnFuxmJC1jp3S15P8bKNnCI=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":4877076},"main":"./dist/server/main.js","type":"module","_from":"file:unotest-viewer-0.11.0.tgz","types":"./dist/server/main.d.ts","engines":{"node":">=20"},"exports":{"./web/*":"./dist/web/*","./server":{"types":"./dist/server/main.d.ts","import":"./dist/server/main.js"}},"_npmUser":{"name":"unotest","email":"ivan@unotest.com"},"_resolved":"/private/var/folders/rz/_3r_2y197wsgdyw3_l5ygv340000gn/T/5a1307a2faf918769fed570997ce7c37/unotest-viewer-0.11.0.tgz","_integrity":"sha512-q0qekYxu+uxZaNwHn42IxlBEf9DLy1IBlleRlGXau7rgz421NxxwFA7iNCLTz8Vpr69rEdMxZORHqo8PAvKgsw==","_npmVersion":"10.9.8","description":"Localhost HTTP+WS viewer for unotest. Target-agnostic host: runner packages (@unotest/web, @unotest/mobile, …) are à-la-carte plugins auto-detected at boot and selectable via the TEST TARGET switcher. NestJS server + React+MobX frontend. Reads run-artifac","directories":{},"_nodeVersion":"22.23.0","dependencies":{"zod":"^3.23.0","rxjs":"^7.8.0","yaml":"^2.6.0","fflate":"^0.8.2","chokidar":"^4.0.0","node-pty":"^1.1.0","nestjs-zod":"^4.0.0","@nestjs/core":"^10.4.0","@unotest/dsl":"^0.11.0","@nestjs/common":"^10.4.0","@fastify/static":"7.0.4","reflect-metadata":"^0.2.0","@unotest/protocol":"^0.11.0","@nestjs/websockets":"^10.4.0","@nestjs/platform-ws":"^10.4.0","@nestjs/platform-fastify":"^10.4.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"ws":"^8.21.0","tsx":"^4.19.2","jest":"^29.7.0","mobx":"^6.13.0","tsup":"^8.5.1","vite":"^5.4.0","jsdom":"^25.0.0","react":"^18.3.1","terser":"^5.48.0","vitest":"^2.1.0","ts-jest":"^29.2.0","@swc/core":"^1.10.0","@types/ws":"^8.18.1","cross-env":"^7.0.3","react-dom":"^18.3.1","supertest":"^7.0.0","playwright":"^1.49.0","typescript":"^5.7.2","@types/jest":"^29.5.0","@types/node":"^22.10.0","tailwindcss":"^4.3.0","@types/react":"^18.3.0","@unotest/web":"^0.11.0","@xterm/xterm":"^6.1.0-beta.261","monaco-editor":"^0.52.0","@nestjs/testing":"^10.4.0","@unotest/mobile":"^0.11.0","mobx-react-lite":"^4.0.7","@types/react-dom":"^18.3.0","@types/supertest":"^6.0.0","@xterm/addon-fit":"^0.11.0","@tailwindcss/vite":"^4.3.0","@testing-library/dom":"^10.4.1","@vitejs/plugin-react":"^4.3.0","javascript-obfuscator":"^4.1.1","@testing-library/react":"^16.0.0"},"_npmOperationalInternal":{"tmp":"tmp/viewer_0.11.0_1786625752079_0.6494603472935421","host":"s3://npm-registry-packages-npm-production"}},"0.12.0":{"name":"@unotest/viewer","version":"0.12.0","author":{"name":"Ivan Volkov","email":"ivan@volkov.io"},"license":"MIT","_id":"@unotest/viewer@0.12.0","maintainers":[{"name":"unotest","email":"ivan@unotest.com"}],"homepage":"https://www.npmjs.com/package/@unotest/viewer","bin":{"unotest-viewer":"bin/unotest-viewer.js"},"dist":{"shasum":"a9db2502f8b216ec64a2b5982d7f965ddd24c61b","tarball":"https://registry.npmjs.org/@unotest/viewer/-/viewer-0.12.0.tgz","fileCount":14,"integrity":"sha512-sFLqOeaieAEd257IIGH1lJ6mQjEmvvolxEe4+pGD3CPVtDlbLcw2NsLQKwpaYKH+Ftx6Nzn590NGZVVUvVy5oQ==","signatures":[{"sig":"MEUCIQD1LBPanqadLf7sDT7EgKgeTmhWLsSRny+akFGB2a/zLgIgGD3lIJ6rfyfHRLz/VjwYwxw68PR7wRmlOOwbEjHeHvM=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":4882972},"main":"./dist/server/main.js","type":"module","_from":"file:unotest-viewer-0.12.0.tgz","types":"./dist/server/main.d.ts","engines":{"node":">=20"},"exports":{"./web/*":"./dist/web/*","./server":{"types":"./dist/server/main.d.ts","import":"./dist/server/main.js"}},"_npmUser":{"name":"unotest","email":"ivan@unotest.com"},"_resolved":"/private/var/folders/rz/_3r_2y197wsgdyw3_l5ygv340000gn/T/cbb711c0ef608e169072c1bc2b44efdf/unotest-viewer-0.12.0.tgz","_integrity":"sha512-sFLqOeaieAEd257IIGH1lJ6mQjEmvvolxEe4+pGD3CPVtDlbLcw2NsLQKwpaYKH+Ftx6Nzn590NGZVVUvVy5oQ==","_npmVersion":"10.9.8","description":"Localhost HTTP+WS viewer for unotest. Target-agnostic host: runner packages (@unotest/web, @unotest/mobile, …) are à-la-carte plugins auto-detected at boot and selectable via the TEST TARGET switcher. NestJS server + React+MobX frontend. Reads run-artifac","directories":{},"_nodeVersion":"22.23.0","dependencies":{"zod":"^3.23.0","rxjs":"^7.8.0","yaml":"^2.6.0","fflate":"^0.8.2","chokidar":"^4.0.0","node-pty":"^1.1.0","nestjs-zod":"^4.0.0","@nestjs/core":"^10.4.0","@unotest/dsl":"^0.12.0","@nestjs/common":"^10.4.0","@fastify/static":"7.0.4","reflect-metadata":"^0.2.0","@unotest/protocol":"^0.12.0","@nestjs/websockets":"^10.4.0","@nestjs/platform-ws":"^10.4.0","@nestjs/platform-fastify":"^10.4.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"ws":"^8.21.0","tsx":"^4.19.2","jest":"^29.7.0","mobx":"^6.13.0","tsup":"^8.5.1","vite":"^5.4.0","jsdom":"^25.0.0","react":"^18.3.1","terser":"^5.48.0","vitest":"^2.1.0","ts-jest":"^29.2.0","@swc/core":"^1.10.0","@types/ws":"^8.18.1","cross-env":"^7.0.3","react-dom":"^18.3.1","supertest":"^7.0.0","playwright":"^1.49.0","typescript":"^5.7.2","@types/jest":"^29.5.0","@types/node":"^22.10.0","tailwindcss":"^4.3.0","@types/react":"^18.3.0","@unotest/web":"^0.12.0","@xterm/xterm":"^6.1.0-beta.261","monaco-editor":"^0.52.0","@nestjs/testing":"^10.4.0","@unotest/mobile":"^0.12.0","mobx-react-lite":"^4.0.7","@types/react-dom":"^18.3.0","@types/supertest":"^6.0.0","@xterm/addon-fit":"^0.11.0","@tailwindcss/vite":"^4.3.0","@testing-library/dom":"^10.4.1","@vitejs/plugin-react":"^4.3.0","javascript-obfuscator":"^4.1.1","@testing-library/react":"^16.0.0"},"_npmOperationalInternal":{"tmp":"tmp/viewer_0.12.0_1786721743215_0.3136412522972012","host":"s3://npm-registry-packages-npm-production"}},"0.13.0":{"name":"@unotest/viewer","version":"0.13.0","author":{"name":"Ivan Volkov","email":"ivan@volkov.io"},"license":"MIT","_id":"@unotest/viewer@0.13.0","maintainers":[{"name":"unotest","email":"ivan@unotest.com"}],"homepage":"https://www.npmjs.com/package/@unotest/viewer","bin":{"unotest-viewer":"bin/unotest-viewer.js"},"dist":{"shasum":"027c871723542d083d680c6cd627b365eb779389","tarball":"https://registry.npmjs.org/@unotest/viewer/-/viewer-0.13.0.tgz","fileCount":14,"integrity":"sha512-w58Bt4BfsvoAiWpZBY+sn0Du4tdvOm3zcIMTwZE/cRRYt34MrMQDo8OQ7bUqzQrKQELqHaVPRQZ0MchXCe62Lg==","signatures":[{"sig":"MEUCIQCGVsbVGmsw2BR2kGfuuIt9DN5dCknVlHx8NyqDE/M2OgIgX9J+U0VCpvq0xoM8WsvBjRP6SKSROQ9JAFkEScdmHcg=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":4883373},"main":"./dist/server/main.js","type":"module","_from":"file:unotest-viewer-0.13.0.tgz","types":"./dist/server/main.d.ts","engines":{"node":">=20"},"exports":{"./web/*":"./dist/web/*","./server":{"types":"./dist/server/main.d.ts","import":"./dist/server/main.js"}},"_npmUser":{"name":"unotest","email":"ivan@unotest.com"},"_resolved":"/private/var/folders/rz/_3r_2y197wsgdyw3_l5ygv340000gn/T/9eeb60b1b9c75b35afa34107de6cac87/unotest-viewer-0.13.0.tgz","_integrity":"sha512-w58Bt4BfsvoAiWpZBY+sn0Du4tdvOm3zcIMTwZE/cRRYt34MrMQDo8OQ7bUqzQrKQELqHaVPRQZ0MchXCe62Lg==","_npmVersion":"10.9.8","description":"Localhost HTTP+WS viewer for unotest. Target-agnostic host: runner packages (@unotest/web, @unotest/mobile, …) are à-la-carte plugins auto-detected at boot and selectable via the TEST TARGET switcher. NestJS server + React+MobX frontend. Reads run-artifac","directories":{},"_nodeVersion":"22.23.0","dependencies":{"zod":"^3.23.0","rxjs":"^7.8.0","yaml":"^2.6.0","fflate":"^0.8.2","chokidar":"^4.0.0","node-pty":"^1.1.0","nestjs-zod":"^4.0.0","@nestjs/core":"^10.4.0","@unotest/dsl":"^0.13.0","@nestjs/common":"^10.4.0","@fastify/static":"7.0.4","reflect-metadata":"^0.2.0","@unotest/protocol":"^0.13.0","@nestjs/websockets":"^10.4.0","@nestjs/platform-ws":"^10.4.0","@nestjs/platform-fastify":"^10.4.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"ws":"^8.21.0","tsx":"^4.19.2","jest":"^29.7.0","mobx":"^6.13.0","tsup":"^8.5.1","vite":"^5.4.0","jsdom":"^25.0.0","react":"^18.3.1","terser":"^5.48.0","vitest":"^2.1.0","ts-jest":"^29.2.0","@swc/core":"^1.10.0","@types/ws":"^8.18.1","cross-env":"^7.0.3","react-dom":"^18.3.1","supertest":"^7.0.0","playwright":"^1.49.0","typescript":"^5.7.2","@types/jest":"^29.5.0","@types/node":"^22.10.0","tailwindcss":"^4.3.0","@types/react":"^18.3.0","@unotest/web":"^0.13.0","@xterm/xterm":"^6.1.0-beta.261","monaco-editor":"^0.52.0","@nestjs/testing":"^10.4.0","@unotest/mobile":"^0.13.0","mobx-react-lite":"^4.0.7","@types/react-dom":"^18.3.0","@types/supertest":"^6.0.0","@xterm/addon-fit":"^0.11.0","@tailwindcss/vite":"^4.3.0","@testing-library/dom":"^10.4.1","@vitejs/plugin-react":"^4.3.0","javascript-obfuscator":"^4.1.1","@testing-library/react":"^16.0.0"},"_npmOperationalInternal":{"tmp":"tmp/viewer_0.13.0_1786749787748_0.9460575038844723","host":"s3://npm-registry-packages-npm-production"}},"0.13.1":{"name":"@unotest/viewer","version":"0.13.1","author":{"name":"Ivan Volkov","email":"ivan@volkov.io"},"license":"MIT","_id":"@unotest/viewer@0.13.1","maintainers":[{"name":"unotest","email":"ivan@unotest.com"}],"homepage":"https://www.npmjs.com/package/@unotest/viewer","bin":{"unotest-viewer":"bin/unotest-viewer.js"},"dist":{"shasum":"ddb3d3eac3fe2a6a271780af26a88a25768868fa","tarball":"https://registry.npmjs.org/@unotest/viewer/-/viewer-0.13.1.tgz","fileCount":14,"integrity":"sha512-aDzgBfa2XxJ0cN+BJ8yU3+QD4gNUutQkmfol/OhiSxE3/u14YDsGhSy7OsoggR7MqPVudalMuOgBv+RPwyRPgg==","signatures":[{"sig":"MEQCIBi+zy/BuRLw52LJtNq5Z/q0oOEYRBuWsIQHfkoOTIOoAiBiTx5ndWuWwRLILaKMsGTKKJMiz7j9aY/xWqIJf11jeA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":4883186},"main":"./dist/server/main.js","type":"module","_from":"file:unotest-viewer-0.13.1.tgz","types":"./dist/server/main.d.ts","engines":{"node":">=20"},"exports":{"./web/*":"./dist/web/*","./server":{"types":"./dist/server/main.d.ts","import":"./dist/server/main.js"}},"_npmUser":{"name":"unotest","email":"ivan@unotest.com"},"_resolved":"/private/var/folders/rz/_3r_2y197wsgdyw3_l5ygv340000gn/T/04541cd2a01232b0a79b077d21b9e721/unotest-viewer-0.13.1.tgz","_integrity":"sha512-aDzgBfa2XxJ0cN+BJ8yU3+QD4gNUutQkmfol/OhiSxE3/u14YDsGhSy7OsoggR7MqPVudalMuOgBv+RPwyRPgg==","_npmVersion":"10.9.8","description":"Localhost HTTP+WS viewer for unotest. Target-agnostic host: runner packages (@unotest/web, @unotest/mobile, …) are à-la-carte plugins auto-detected at boot and selectable via the TEST TARGET switcher. NestJS server + React+MobX frontend. Reads run-artifac","directories":{},"_nodeVersion":"22.23.0","dependencies":{"zod":"^3.23.0","rxjs":"^7.8.0","yaml":"^2.6.0","fflate":"^0.8.2","chokidar":"^4.0.0","node-pty":"^1.1.0","nestjs-zod":"^4.0.0","@nestjs/core":"^10.4.0","@unotest/dsl":"^0.13.1","@nestjs/common":"^10.4.0","@fastify/static":"7.0.4","reflect-metadata":"^0.2.0","@unotest/protocol":"^0.13.1","@nestjs/websockets":"^10.4.0","@nestjs/platform-ws":"^10.4.0","@nestjs/platform-fastify":"^10.4.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"ws":"^8.21.0","tsx":"^4.19.2","jest":"^29.7.0","mobx":"^6.13.0","tsup":"^8.5.1","vite":"^5.4.0","jsdom":"^25.0.0","react":"^18.3.1","terser":"^5.48.0","vitest":"^2.1.0","ts-jest":"^29.2.0","@swc/core":"^1.10.0","@types/ws":"^8.18.1","cross-env":"^7.0.3","react-dom":"^18.3.1","supertest":"^7.0.0","playwright":"^1.49.0","typescript":"^5.7.2","@types/jest":"^29.5.0","@types/node":"^22.10.0","tailwindcss":"^4.3.0","@types/react":"^18.3.0","@unotest/web":"^0.13.1","@xterm/xterm":"^6.1.0-beta.261","monaco-editor":"^0.52.0","@nestjs/testing":"^10.4.0","@unotest/mobile":"^0.13.1","mobx-react-lite":"^4.0.7","@types/react-dom":"^18.3.0","@types/supertest":"^6.0.0","@xterm/addon-fit":"^0.11.0","@tailwindcss/vite":"^4.3.0","@testing-library/dom":"^10.4.1","@vitejs/plugin-react":"^4.3.0","javascript-obfuscator":"^4.1.1","@testing-library/react":"^16.0.0"},"_npmOperationalInternal":{"tmp":"tmp/viewer_0.13.1_1786751047380_0.8826399633102848","host":"s3://npm-registry-packages-npm-production"}},"0.14.0":{"name":"@unotest/viewer","version":"0.14.0","author":{"name":"Ivan Volkov","email":"ivan@volkov.io"},"license":"MIT","_id":"@unotest/viewer@0.14.0","maintainers":[{"name":"unotest","email":"ivan@unotest.com"}],"homepage":"https://www.npmjs.com/package/@unotest/viewer","bin":{"unotest-viewer":"bin/unotest-viewer.js"},"dist":{"shasum":"4bbb88f02dc8c5014c15f53a6f162db349005bd7","tarball":"https://registry.npmjs.org/@unotest/viewer/-/viewer-0.14.0.tgz","fileCount":14,"integrity":"sha512-AHJf5VdR6yfed6laoClDKotrVnu+6i87DuBbknKsSV97CcsIr5Q8PxfaBc5vIMXr+6YxBi16oIh+lY+vyfNXIA==","signatures":[{"sig":"MEYCIQDcOUS1gfXHP2Tf4qOt9ZPdeIT+wW9nxKwvA0gYN4j4mQIhAL4FIZB0qZdYL5tqpCK74p77xqb3NZagEpQ7Fgofk+b1","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":4886000},"main":"./dist/server/main.js","type":"module","_from":"file:unotest-viewer-0.14.0.tgz","types":"./dist/server/main.d.ts","engines":{"node":">=20"},"exports":{"./web/*":"./dist/web/*","./server":{"types":"./dist/server/main.d.ts","import":"./dist/server/main.js"}},"_npmUser":{"name":"unotest","email":"ivan@unotest.com"},"_resolved":"/private/var/folders/rz/_3r_2y197wsgdyw3_l5ygv340000gn/T/7bc410454f74ea4657d47216b8a873e1/unotest-viewer-0.14.0.tgz","_integrity":"sha512-AHJf5VdR6yfed6laoClDKotrVnu+6i87DuBbknKsSV97CcsIr5Q8PxfaBc5vIMXr+6YxBi16oIh+lY+vyfNXIA==","_npmVersion":"10.9.8","description":"Localhost HTTP+WS viewer for unotest. Target-agnostic host: runner packages (@unotest/web, @unotest/mobile, …) are à-la-carte plugins auto-detected at boot and selectable via the TEST TARGET switcher. NestJS server + React+MobX frontend. Reads run-artifac","directories":{},"_nodeVersion":"22.23.0","dependencies":{"zod":"^3.23.0","rxjs":"^7.8.0","yaml":"^2.6.0","fflate":"^0.8.2","chokidar":"^4.0.0","node-pty":"^1.1.0","nestjs-zod":"^4.0.0","@nestjs/core":"^10.4.0","@unotest/dsl":"^0.14.0","@nestjs/common":"^10.4.0","@fastify/static":"7.0.4","reflect-metadata":"^0.2.0","@unotest/protocol":"^0.14.0","@nestjs/websockets":"^10.4.0","@nestjs/platform-ws":"^10.4.0","@nestjs/platform-fastify":"^10.4.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"ws":"^8.21.0","tsx":"^4.19.2","jest":"^29.7.0","mobx":"^6.13.0","tsup":"^8.5.1","vite":"^5.4.0","jsdom":"^25.0.0","react":"^18.3.1","terser":"^5.48.0","vitest":"^2.1.0","ts-jest":"^29.2.0","@swc/core":"^1.10.0","@types/ws":"^8.18.1","cross-env":"^7.0.3","react-dom":"^18.3.1","supertest":"^7.0.0","playwright":"^1.49.0","typescript":"^5.7.2","@types/jest":"^29.5.0","@types/node":"^22.10.0","tailwindcss":"^4.3.0","@types/react":"^18.3.0","@unotest/web":"^0.14.0","@xterm/xterm":"^6.1.0-beta.261","monaco-editor":"^0.52.0","@nestjs/testing":"^10.4.0","@unotest/mobile":"^0.14.0","mobx-react-lite":"^4.0.7","@types/react-dom":"^18.3.0","@types/supertest":"^6.0.0","@xterm/addon-fit":"^0.11.0","@tailwindcss/vite":"^4.3.0","@testing-library/dom":"^10.4.1","@vitejs/plugin-react":"^4.3.0","javascript-obfuscator":"^4.1.1","@testing-library/react":"^16.0.0"},"_npmOperationalInternal":{"tmp":"tmp/viewer_0.14.0_1786916534924_0.9980445564599791","host":"s3://npm-registry-packages-npm-production"}},"0.15.0":{"name":"@unotest/viewer","version":"0.15.0","author":{"name":"Ivan Volkov","email":"ivan@volkov.io"},"license":"MIT","_id":"@unotest/viewer@0.15.0","maintainers":[{"name":"unotest","email":"ivan@unotest.com"}],"homepage":"https://www.npmjs.com/package/@unotest/viewer","bin":{"unotest-viewer":"bin/unotest-viewer.js"},"dist":{"shasum":"221971bf852dac2a6a5d443e69970b09fb4333c9","tarball":"https://registry.npmjs.org/@unotest/viewer/-/viewer-0.15.0.tgz","fileCount":14,"integrity":"sha512-naz6AOcrS69V6L3PyugcLZHv5N7Y+xd7jbkGYo9Xk/iLU51WrWTJ1AxscCLeqbu8ickX5dgr+PdQ4p28IjFfMg==","signatures":[{"sig":"MEYCIQCZROBSJAukAJkyJfVlHDpbY+K+Gbthz1iTdAFfGXR2CAIhANgjk47zP0Pmdi0Ve6CQ/3rcBKaqmitbvIuC90C4Stv4","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":4889106},"main":"./dist/server/main.js","type":"module","_from":"file:unotest-viewer-0.15.0.tgz","types":"./dist/server/main.d.ts","engines":{"node":">=20"},"exports":{"./web/*":"./dist/web/*","./server":{"types":"./dist/server/main.d.ts","import":"./dist/server/main.js"}},"_npmUser":{"name":"unotest","email":"ivan@unotest.com"},"_resolved":"/private/var/folders/rz/_3r_2y197wsgdyw3_l5ygv340000gn/T/408f6538b9559d4c6bf3b3693146d7b3/unotest-viewer-0.15.0.tgz","_integrity":"sha512-naz6AOcrS69V6L3PyugcLZHv5N7Y+xd7jbkGYo9Xk/iLU51WrWTJ1AxscCLeqbu8ickX5dgr+PdQ4p28IjFfMg==","_npmVersion":"10.9.8","description":"Localhost HTTP+WS viewer for unotest. Target-agnostic host: runner packages (@unotest/web, @unotest/mobile, …) are à-la-carte plugins auto-detected at boot and selectable via the TEST TARGET switcher. NestJS server + React+MobX frontend. Reads run-artifac","directories":{},"_nodeVersion":"22.23.0","dependencies":{"zod":"^3.23.0","rxjs":"^7.8.0","yaml":"^2.6.0","fflate":"^0.8.2","chokidar":"^4.0.0","nestjs-zod":"^4.0.0","@nestjs/core":"^10.4.0","@unotest/dsl":"^0.15.0","@nestjs/common":"^10.4.0","@fastify/static":"7.0.4","reflect-metadata":"^0.2.0","@unotest/protocol":"^0.15.0","@nestjs/websockets":"^10.4.0","@nestjs/platform-ws":"^10.4.0","@nestjs/platform-fastify":"^10.4.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"ws":"^8.21.0","tsx":"^4.19.2","jest":"^29.7.0","mobx":"^6.13.0","tsup":"^8.5.1","vite":"^5.4.0","jsdom":"^25.0.0","react":"^18.3.1","terser":"^5.48.0","vitest":"^2.1.0","ts-jest":"^29.2.0","@swc/core":"^1.10.0","@types/ws":"^8.18.1","cross-env":"^7.0.3","react-dom":"^18.3.1","supertest":"^7.0.0","playwright":"^1.49.0","typescript":"^5.7.2","@types/jest":"^29.5.0","@types/node":"^22.10.0","tailwindcss":"^4.3.0","@types/react":"^18.3.0","@unotest/web":"^0.15.0","@xterm/xterm":"^6.1.0-beta.261","monaco-editor":"^0.52.0","@nestjs/testing":"^10.4.0","@unotest/mobile":"^0.15.0","mobx-react-lite":"^4.0.7","@types/react-dom":"^18.3.0","@types/supertest":"^6.0.0","@xterm/addon-fit":"^0.11.0","@tailwindcss/vite":"^4.3.0","@testing-library/dom":"^10.4.1","@vitejs/plugin-react":"^4.3.0","javascript-obfuscator":"^4.1.1","@testing-library/react":"^16.0.0"},"optionalDependencies":{"node-pty":"^1.1.0"},"_npmOperationalInternal":{"tmp":"tmp/viewer_0.15.0_1786961986210_0.6650481100251311","host":"s3://npm-registry-packages-npm-production"}},"0.16.0":{"name":"@unotest/viewer","version":"0.16.0","author":{"name":"Ivan Volkov","email":"ivan@volkov.io"},"license":"MIT","_id":"@unotest/viewer@0.16.0","maintainers":[{"name":"unotest","email":"ivan@unotest.com"}],"homepage":"https://www.npmjs.com/package/@unotest/viewer","bin":{"unotest-viewer":"bin/unotest-viewer.js"},"dist":{"shasum":"fd7faf8f49c7f35fefed4fee093ebe8776ef2d90","tarball":"https://registry.npmjs.org/@unotest/viewer/-/viewer-0.16.0.tgz","fileCount":16,"integrity":"sha512-lXyeu7NziUCVSatHEaUZ42pA8jceAK2Gm5zB2PYYNEgTUh3IrkSPhuf+pkYR0CHWhzyhAKexHyzrIf1egVyYFw==","signatures":[{"sig":"MEYCIQDDFoHXCp2Xy9y0+NKIGInd8h+wmDQ1mKN+Tx50JKNROgIhAPMtRtnZGjxBTcUESNsldeQ4ItW/8yQEYrYWA1Rg3xQC","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":4906943},"main":"./dist/server/main.js","type":"module","_from":"file:unotest-viewer-0.16.0.tgz","types":"./dist/server/main.d.ts","engines":{"node":">=20"},"exports":{"./web/*":"./dist/web/*","./server":{"types":"./dist/server/main.d.ts","import":"./dist/server/main.js"},"./session":{"types":"./dist/server/session.d.ts","import":"./dist/server/session.js"}},"_npmUser":{"name":"unotest","email":"ivan@unotest.com"},"_resolved":"/private/var/folders/rz/_3r_2y197wsgdyw3_l5ygv340000gn/T/8014c61d99609975c451c273204a2d0f/unotest-viewer-0.16.0.tgz","_integrity":"sha512-lXyeu7NziUCVSatHEaUZ42pA8jceAK2Gm5zB2PYYNEgTUh3IrkSPhuf+pkYR0CHWhzyhAKexHyzrIf1egVyYFw==","_npmVersion":"10.9.8","description":"Localhost HTTP+WS viewer for unotest. Target-agnostic host: runner packages (@unotest/web, @unotest/mobile, …) are à-la-carte plugins auto-detected at boot and selectable via the TEST TARGET switcher. NestJS server + React+MobX frontend. Reads run-artifac","directories":{},"_nodeVersion":"22.23.0","dependencies":{"zod":"^3.23.0","rxjs":"^7.8.0","yaml":"^2.6.0","fflate":"^0.8.2","chokidar":"^4.0.0","nestjs-zod":"^4.0.0","@nestjs/core":"^10.4.0","@unotest/dsl":"^0.16.0","@nestjs/common":"^10.4.0","@fastify/static":"7.0.4","reflect-metadata":"^0.2.0","@unotest/protocol":"^0.16.0","@nestjs/websockets":"^10.4.0","@nestjs/platform-ws":"^10.4.0","@nestjs/platform-fastify":"^10.4.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"ws":"^8.21.0","tsx":"^4.19.2","jest":"^29.7.0","mobx":"^6.13.0","tsup":"^8.5.1","vite":"^5.4.0","jsdom":"^25.0.0","react":"^18.3.1","terser":"^5.48.0","vitest":"^2.1.0","ts-jest":"^29.2.0","@swc/core":"^1.10.0","@types/ws":"^8.18.1","cross-env":"^7.0.3","react-dom":"^18.3.1","supertest":"^7.0.0","playwright":"^1.49.0","typescript":"^5.7.2","@types/jest":"^29.5.0","@types/node":"^22.10.0","tailwindcss":"^4.3.0","@types/react":"^18.3.0","@unotest/web":"^0.16.0","@xterm/xterm":"^6.1.0-beta.261","monaco-editor":"^0.52.0","@nestjs/testing":"^10.4.0","@unotest/mobile":"^0.16.0","mobx-react-lite":"^4.0.7","@types/react-dom":"^18.3.0","@types/supertest":"^6.0.0","@xterm/addon-fit":"^0.11.0","@tailwindcss/vite":"^4.3.0","@testing-library/dom":"^10.4.1","@vitejs/plugin-react":"^4.3.0","javascript-obfuscator":"^4.1.1","@testing-library/react":"^16.0.0"},"optionalDependencies":{"node-pty":"^1.1.0"},"_npmOperationalInternal":{"tmp":"tmp/viewer_0.16.0_1787096775699_0.2475354683901767","host":"s3://npm-registry-packages-npm-production"}},"0.17.0":{"name":"@unotest/viewer","version":"0.17.0","author":{"name":"Ivan Volkov","email":"ivan@volkov.io"},"license":"MIT","_id":"@unotest/viewer@0.17.0","maintainers":[{"name":"unotest","email":"ivan@unotest.com"}],"homepage":"https://www.npmjs.com/package/@unotest/viewer","bin":{"unotest-viewer":"bin/unotest-viewer.js"},"dist":{"shasum":"4fd166a1ef9800204125d6cff0cc40c47fc430ec","tarball":"https://registry.npmjs.org/@unotest/viewer/-/viewer-0.17.0.tgz","fileCount":16,"integrity":"sha512-vFtD6CvQQsgKEdO/4ww7n687C4kFdaQaZ6S2n/ae+UuJh7QolSRag0/Wihi2E3IPlUm0TpATx2h0XRepZDTOmA==","signatures":[{"sig":"MEUCIQDRNHl0ZzdoATH0iDlDeFVQRmp2tKs6oHhrX/nGv6+K6wIgYFmb6rdYbqzY5U6bVEGO5W0Wu0tENwxYC3TBQpL0SnM=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":4905333},"main":"./dist/server/main.js","type":"module","_from":"file:unotest-viewer-0.17.0.tgz","types":"./dist/server/main.d.ts","engines":{"node":">=20"},"exports":{"./web/*":"./dist/web/*","./server":{"types":"./dist/server/main.d.ts","import":"./dist/server/main.js"},"./session":{"types":"./dist/server/session.d.ts","import":"./dist/server/session.js"}},"_npmUser":{"name":"unotest","email":"ivan@unotest.com"},"_resolved":"/private/var/folders/rz/_3r_2y197wsgdyw3_l5ygv340000gn/T/0d5137fbc840adfbcc1c691922266ead/unotest-viewer-0.17.0.tgz","_integrity":"sha512-vFtD6CvQQsgKEdO/4ww7n687C4kFdaQaZ6S2n/ae+UuJh7QolSRag0/Wihi2E3IPlUm0TpATx2h0XRepZDTOmA==","_npmVersion":"10.9.8","description":"Localhost HTTP+WS viewer for unotest. Target-agnostic host: runner packages (@unotest/web, @unotest/mobile, …) are à-la-carte plugins auto-detected at boot and selectable via the TEST TARGET switcher. NestJS server + React+MobX frontend. Reads run-artifac","directories":{},"_nodeVersion":"22.23.0","dependencies":{"zod":"^3.23.0","rxjs":"^7.8.0","yaml":"^2.6.0","fflate":"^0.8.2","chokidar":"^4.0.0","nestjs-zod":"^4.0.0","@nestjs/core":"^10.4.0","@unotest/dsl":"^0.17.0","@nestjs/common":"^10.4.0","@fastify/static":"7.0.4","reflect-metadata":"^0.2.0","@unotest/protocol":"^0.17.0","@nestjs/websockets":"^10.4.0","@nestjs/platform-ws":"^10.4.0","@nestjs/platform-fastify":"^10.4.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"ws":"^8.21.0","tsx":"^4.19.2","jest":"^29.7.0","mobx":"^6.13.0","tsup":"^8.5.1","vite":"^5.4.0","jsdom":"^25.0.0","react":"^18.3.1","terser":"^5.48.0","vitest":"^2.1.0","ts-jest":"^29.2.0","@swc/core":"^1.10.0","@types/ws":"^8.18.1","cross-env":"^7.0.3","react-dom":"^18.3.1","supertest":"^7.0.0","playwright":"^1.49.0","typescript":"^5.7.2","@types/jest":"^29.5.0","@types/node":"^22.10.0","tailwindcss":"^4.3.0","@types/react":"^18.3.0","@unotest/web":"^0.17.0","@xterm/xterm":"^6.1.0-beta.261","monaco-editor":"^0.52.0","@nestjs/testing":"^10.4.0","@unotest/mobile":"^0.17.0","mobx-react-lite":"^4.0.7","@types/react-dom":"^18.3.0","@types/supertest":"^6.0.0","@xterm/addon-fit":"^0.11.0","@tailwindcss/vite":"^4.3.0","@testing-library/dom":"^10.4.1","@vitejs/plugin-react":"^4.3.0","javascript-obfuscator":"^4.1.1","@testing-library/react":"^16.0.0"},"optionalDependencies":{"node-pty":"^1.1.0"},"_npmOperationalInternal":{"tmp":"tmp/viewer_0.17.0_1787185522141_0.8543843068746739","host":"s3://npm-registry-packages-npm-production"}},"0.18.0":{"name":"@unotest/viewer","version":"0.18.0","author":{"name":"Ivan Volkov","email":"ivan@volkov.io"},"license":"MIT","_id":"@unotest/viewer@0.18.0","maintainers":[{"name":"unotest","email":"ivan@unotest.com"}],"homepage":"https://www.npmjs.com/package/@unotest/viewer","bin":{"unotest-viewer":"bin/unotest-viewer.js"},"dist":{"shasum":"b060312444816187d962f1c34b10a9d71e5380ca","tarball":"https://registry.npmjs.org/@unotest/viewer/-/viewer-0.18.0.tgz","fileCount":16,"integrity":"sha512-jD8i+BLBqzAHnmN5NeoL7HxYS+b4sdhvQzw/AYtk5TyX4Pd2e2urhjbuhWylmjpawKnhovzIOgC0F4A/IImFrw==","signatures":[{"sig":"MEUCIQCSokODxC+4pRDWpquYud/Q/LlY1KBPGpAUMinWTsKfLQIgLfL/x9C8AysDITGwQDwmcbybJCL64SO0XexivYQhlI4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":4905686},"main":"./dist/server/main.js","type":"module","_from":"file:unotest-viewer-0.18.0.tgz","types":"./dist/server/main.d.ts","engines":{"node":">=20"},"exports":{"./web/*":"./dist/web/*","./server":{"types":"./dist/server/main.d.ts","import":"./dist/server/main.js"},"./session":{"types":"./dist/server/session.d.ts","import":"./dist/server/session.js"}},"_npmUser":{"name":"unotest","email":"ivan@unotest.com"},"_resolved":"/private/var/folders/rz/_3r_2y197wsgdyw3_l5ygv340000gn/T/ed8e7d995cad5cc8b17764b5a2c8693a/unotest-viewer-0.18.0.tgz","_integrity":"sha512-jD8i+BLBqzAHnmN5NeoL7HxYS+b4sdhvQzw/AYtk5TyX4Pd2e2urhjbuhWylmjpawKnhovzIOgC0F4A/IImFrw==","_npmVersion":"10.9.8","description":"Localhost HTTP+WS viewer for unotest. Target-agnostic host: runner packages (@unotest/web, @unotest/mobile, …) are à-la-carte plugins auto-detected at boot and selectable via the TEST TARGET switcher. NestJS server + React+MobX frontend. Reads run-artifac","directories":{},"_nodeVersion":"22.23.0","dependencies":{"zod":"^3.23.0","rxjs":"^7.8.0","yaml":"^2.6.0","fflate":"^0.8.2","chokidar":"^4.0.0","nestjs-zod":"^4.0.0","@nestjs/core":"^10.4.0","@unotest/dsl":"^0.18.0","@nestjs/common":"^10.4.0","@fastify/static":"7.0.4","reflect-metadata":"^0.2.0","@unotest/protocol":"^0.18.0","@nestjs/websockets":"^10.4.0","@nestjs/platform-ws":"^10.4.0","@nestjs/platform-fastify":"^10.4.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"ws":"^8.21.0","tsx":"^4.19.2","jest":"^29.7.0","mobx":"^6.13.0","tsup":"^8.5.1","vite":"^5.4.0","jsdom":"^25.0.0","react":"^18.3.1","terser":"^5.48.0","vitest":"^2.1.0","ts-jest":"^29.2.0","@swc/core":"^1.10.0","@types/ws":"^8.18.1","cross-env":"^7.0.3","react-dom":"^18.3.1","supertest":"^7.0.0","playwright":"^1.49.0","typescript":"^5.7.2","@types/jest":"^29.5.0","@types/node":"^22.10.0","tailwindcss":"^4.3.0","@types/react":"^18.3.0","@unotest/web":"^0.18.0","@xterm/xterm":"^6.1.0-beta.261","monaco-editor":"^0.52.0","@nestjs/testing":"^10.4.0","@unotest/mobile":"^0.18.0","mobx-react-lite":"^4.0.7","@types/react-dom":"^18.3.0","@types/supertest":"^6.0.0","@xterm/addon-fit":"^0.11.0","@tailwindcss/vite":"^4.3.0","@testing-library/dom":"^10.4.1","@vitejs/plugin-react":"^4.3.0","javascript-obfuscator":"^4.1.1","@testing-library/react":"^16.0.0"},"optionalDependencies":{"node-pty":"^1.1.0"},"_npmOperationalInternal":{"tmp":"tmp/viewer_0.18.0_1787442539363_0.13110372872551568","host":"s3://npm-registry-packages-npm-production"}},"0.19.0":{"name":"@unotest/viewer","version":"0.19.0","author":{"name":"Ivan Volkov","email":"ivan@volkov.io"},"license":"MIT","_id":"@unotest/viewer@0.19.0","maintainers":[{"name":"unotest","email":"ivan@unotest.com"}],"homepage":"https://www.npmjs.com/package/@unotest/viewer","bin":{"unotest-viewer":"bin/unotest-viewer.js"},"dist":{"shasum":"3c41284c02c00b34cad9d2cf991c551966eeed4f","tarball":"https://registry.npmjs.org/@unotest/viewer/-/viewer-0.19.0.tgz","fileCount":16,"integrity":"sha512-nWQvDVSt++gElyM0KGjVWSaJnAQ49Y4nzAqQ6aLGuNKDzHP7KCnDZHjSM6DjrbvARpgp+6yXdYTRaXGfn6h7+g==","signatures":[{"sig":"MEUCIF9fCluSzzI1C30/wYC8dMPeRxuDkCxrRU7O/3jgc6NeAiEA98xUXZUOPZwxFl88rAO6OktDhL8ypextqcgnloxnagQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":4962743},"main":"./dist/server/main.js","type":"module","_from":"file:unotest-viewer-0.19.0.tgz","types":"./dist/server/main.d.ts","engines":{"node":">=20"},"exports":{"./web/*":"./dist/web/*","./server":{"types":"./dist/server/main.d.ts","import":"./dist/server/main.js"},"./session":{"types":"./dist/server/session.d.ts","import":"./dist/server/session.js"}},"_npmUser":{"name":"unotest","email":"ivan@unotest.com"},"_resolved":"/private/var/folders/rz/_3r_2y197wsgdyw3_l5ygv340000gn/T/c27209e93babea6bd510b199df5202d8/unotest-viewer-0.19.0.tgz","_integrity":"sha512-nWQvDVSt++gElyM0KGjVWSaJnAQ49Y4nzAqQ6aLGuNKDzHP7KCnDZHjSM6DjrbvARpgp+6yXdYTRaXGfn6h7+g==","_npmVersion":"10.9.8","description":"Localhost HTTP+WS viewer for unotest. Target-agnostic host: runner packages (@unotest/web, @unotest/mobile, …) are à-la-carte plugins auto-detected at boot and selectable via the TEST TARGET switcher. NestJS server + React+MobX frontend. Reads run-artifac","directories":{},"_nodeVersion":"22.23.0","dependencies":{"zod":"^3.23.0","rxjs":"^7.8.0","yaml":"^2.6.0","fflate":"^0.8.2","chokidar":"^4.0.0","nestjs-zod":"^4.0.0","@nestjs/core":"^10.4.0","@unotest/dsl":"^0.19.0","@nestjs/common":"^10.4.0","@fastify/static":"7.0.4","reflect-metadata":"^0.2.0","@unotest/protocol":"^0.19.0","@nestjs/websockets":"^10.4.0","@nestjs/platform-ws":"^10.4.0","@nestjs/platform-fastify":"^10.4.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"ws":"^8.21.0","tsx":"^4.19.2","jest":"^29.7.0","mobx":"^6.13.0","tsup":"^8.5.1","vite":"^5.4.0","jsdom":"^25.0.0","react":"^18.3.1","terser":"^5.48.0","vitest":"^2.1.0","ts-jest":"^29.2.0","@swc/core":"^1.10.0","@types/ws":"^8.18.1","cross-env":"^7.0.3","react-dom":"^18.3.1","supertest":"^7.0.0","playwright":"^1.62.0","typescript":"^5.7.2","@types/jest":"^29.5.0","@types/node":"^22.10.0","tailwindcss":"^4.3.0","@types/react":"^18.3.0","@unotest/web":"^0.19.0","@xterm/xterm":"^6.1.0-beta.261","monaco-editor":"^0.52.0","@nestjs/testing":"^10.4.0","@unotest/mobile":"^0.19.0","mobx-react-lite":"^4.0.7","@types/react-dom":"^18.3.0","@types/supertest":"^6.0.0","@xterm/addon-fit":"^0.11.0","@tailwindcss/vite":"^4.3.0","@testing-library/dom":"^10.4.1","@vitejs/plugin-react":"^4.3.0","javascript-obfuscator":"^4.1.1","@testing-library/react":"^16.0.0"},"optionalDependencies":{"node-pty":"^1.1.0"},"_npmOperationalInternal":{"tmp":"tmp/viewer_0.19.0_1787526643790_0.4636749583658861","host":"s3://npm-registry-packages-npm-production"}},"0.20.0":{"name":"@unotest/viewer","version":"0.20.0","author":{"name":"Ivan Volkov","email":"ivan@volkov.io"},"license":"MIT","_id":"@unotest/viewer@0.20.0","maintainers":[{"name":"unotest","email":"ivan@unotest.com"}],"homepage":"https://www.npmjs.com/package/@unotest/viewer","bin":{"unotest-viewer":"bin/unotest-viewer.js"},"dist":{"shasum":"b6f4cbdcdfad19880c045e5e6f66061c95525f41","tarball":"https://registry.npmjs.org/@unotest/viewer/-/viewer-0.20.0.tgz","fileCount":16,"integrity":"sha512-49bfEtgJuXMPAR7bwZw8Iy7Loq1tjfS11AKLHFUFqAts3ysd7eS59tHRhVzDWukDyU4jiNuRlYa0YgcFI8YW3Q==","signatures":[{"sig":"MEQCIHBnrwD2rs2hRwc0KgY/JuR48Qbe8r7ENUHtMkI8Wl5FAiB6WZt5o/ZaMWJ+TfQyuddq1hVodvUr98olIVerximuRA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":4968460},"main":"./dist/server/main.js","type":"module","_from":"file:unotest-viewer-0.20.0.tgz","types":"./dist/server/main.d.ts","engines":{"node":">=20"},"exports":{"./web/*":"./dist/web/*","./server":{"types":"./dist/server/main.d.ts","import":"./dist/server/main.js"},"./session":{"types":"./dist/server/session.d.ts","import":"./dist/server/session.js"}},"_npmUser":{"name":"unotest","email":"ivan@unotest.com"},"_resolved":"/private/var/folders/rz/_3r_2y197wsgdyw3_l5ygv340000gn/T/28ee8ff243647b556aed91b16a1854ab/unotest-viewer-0.20.0.tgz","_integrity":"sha512-49bfEtgJuXMPAR7bwZw8Iy7Loq1tjfS11AKLHFUFqAts3ysd7eS59tHRhVzDWukDyU4jiNuRlYa0YgcFI8YW3Q==","_npmVersion":"10.9.8","description":"Localhost HTTP+WS viewer for unotest. Target-agnostic host: runner packages (@unotest/web, @unotest/mobile, …) are à-la-carte plugins auto-detected at boot and selectable via the TEST TARGET switcher. NestJS server + React+MobX frontend. Reads run-artifac","directories":{},"_nodeVersion":"22.23.0","dependencies":{"zod":"^3.23.0","rxjs":"^7.8.0","yaml":"^2.6.0","fflate":"^0.8.2","chokidar":"^4.0.0","nestjs-zod":"^4.0.0","@nestjs/core":"^10.4.0","@unotest/dsl":"^0.20.0","@nestjs/common":"^10.4.0","@fastify/static":"7.0.4","reflect-metadata":"^0.2.0","@unotest/protocol":"^0.20.0","@nestjs/websockets":"^10.4.0","@nestjs/platform-ws":"^10.4.0","@nestjs/platform-fastify":"^10.4.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"ws":"^8.21.0","tsx":"^4.19.2","jest":"^29.7.0","mobx":"^6.13.0","tsup":"^8.5.1","vite":"^5.4.0","jsdom":"^25.0.0","react":"^18.3.1","terser":"^5.48.0","vitest":"^2.1.0","ts-jest":"^29.2.0","@swc/core":"^1.10.0","@types/ws":"^8.18.1","cross-env":"^7.0.3","react-dom":"^18.3.1","supertest":"^7.0.0","playwright":"^1.62.0","typescript":"^5.7.2","@types/jest":"^29.5.0","@types/node":"^22.10.0","tailwindcss":"^4.3.0","@types/react":"^18.3.0","@unotest/web":"^0.20.0","@xterm/xterm":"^6.1.0-beta.261","monaco-editor":"^0.52.0","@nestjs/testing":"^10.4.0","@unotest/mobile":"^0.20.0","mobx-react-lite":"^4.0.7","@types/react-dom":"^18.3.0","@types/supertest":"^6.0.0","@xterm/addon-fit":"^0.11.0","@tailwindcss/vite":"^4.3.0","@testing-library/dom":"^10.4.1","@vitejs/plugin-react":"^4.3.0","javascript-obfuscator":"^4.1.1","@testing-library/react":"^16.0.0"},"optionalDependencies":{"node-pty":"^1.1.0"},"_npmOperationalInternal":{"tmp":"tmp/viewer_0.20.0_1787576604210_0.5193640232951815","host":"s3://npm-registry-packages-npm-production"}},"0.21.0":{"name":"@unotest/viewer","version":"0.21.0","author":{"name":"Ivan Volkov","email":"ivan@volkov.io"},"license":"MIT","_id":"@unotest/viewer@0.21.0","maintainers":[{"name":"unotest","email":"ivan@unotest.com"}],"homepage":"https://www.npmjs.com/package/@unotest/viewer","bin":{"unotest-viewer":"bin/unotest-viewer.js"},"dist":{"shasum":"0a6d436687ccf35789277468195bf95740d4a20b","tarball":"https://registry.npmjs.org/@unotest/viewer/-/viewer-0.21.0.tgz","fileCount":16,"integrity":"sha512-tXLz/WpiP4tTD2D2Nk6AKWJA72uptlUdjPUdsZ265nNa27pJR1WTxD0DJ+GpO99U7wmSUy+IBasR++KIf/Do0g==","signatures":[{"sig":"MEYCIQDb6zaatuFon7aSW9DnmIxYnHRbNzV/cnyufNaKxWXkpAIhANCTYFpY32wKBucz+wW9D3B2gDaGWnlRCY+A4r5mMJtc","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":4987354},"main":"./dist/server/main.js","type":"module","_from":"file:unotest-viewer-0.21.0.tgz","types":"./dist/server/main.d.ts","engines":{"node":">=20"},"exports":{"./web/*":"./dist/web/*","./server":{"types":"./dist/server/main.d.ts","import":"./dist/server/main.js"},"./session":{"types":"./dist/server/session.d.ts","import":"./dist/server/session.js"}},"_npmUser":{"name":"unotest","email":"ivan@unotest.com"},"_resolved":"/private/var/folders/rz/_3r_2y197wsgdyw3_l5ygv340000gn/T/01e9b66294bf075dc38c01f1e8a7c8e3/unotest-viewer-0.21.0.tgz","_integrity":"sha512-tXLz/WpiP4tTD2D2Nk6AKWJA72uptlUdjPUdsZ265nNa27pJR1WTxD0DJ+GpO99U7wmSUy+IBasR++KIf/Do0g==","_npmVersion":"10.9.8","description":"Localhost HTTP+WS viewer for unotest. Target-agnostic host: runner packages (@unotest/web, @unotest/mobile, …) are à-la-carte plugins auto-detected at boot and selectable via the TEST TARGET switcher. NestJS server + React+MobX frontend. Reads run-artifac","directories":{},"_nodeVersion":"22.23.0","dependencies":{"zod":"^3.23.0","rxjs":"^7.8.0","yaml":"^2.6.0","fflate":"^0.8.2","chokidar":"^4.0.0","nestjs-zod":"^4.0.0","@nestjs/core":"^10.4.0","@unotest/dsl":"^0.21.0","@nestjs/common":"^10.4.0","@fastify/static":"7.0.4","reflect-metadata":"^0.2.0","@unotest/protocol":"^0.21.0","@nestjs/websockets":"^10.4.0","@nestjs/platform-ws":"^10.4.0","@nestjs/platform-fastify":"^10.4.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"ws":"^8.21.0","tsx":"^4.19.2","jest":"^29.7.0","mobx":"^6.13.0","tsup":"^8.5.1","vite":"^5.4.0","jsdom":"^25.0.0","react":"^18.3.1","terser":"^5.48.0","vitest":"^2.1.0","ts-jest":"^29.2.0","@swc/core":"^1.10.0","@types/ws":"^8.18.1","cross-env":"^7.0.3","react-dom":"^18.3.1","supertest":"^7.0.0","playwright":"^1.62.0","typescript":"^5.7.2","@types/jest":"^29.5.0","@types/node":"^22.10.0","tailwindcss":"^4.3.0","@types/react":"^18.3.0","@unotest/web":"^0.21.0","@xterm/xterm":"^6.1.0-beta.261","monaco-editor":"^0.52.0","@nestjs/testing":"^10.4.0","@unotest/mobile":"^0.21.0","mobx-react-lite":"^4.0.7","@types/react-dom":"^18.3.0","@types/supertest":"^6.0.0","@xterm/addon-fit":"^0.11.0","@tailwindcss/vite":"^4.3.0","@testing-library/dom":"^10.4.1","@vitejs/plugin-react":"^4.3.0","javascript-obfuscator":"^4.1.1","@testing-library/react":"^16.0.0"},"optionalDependencies":{"node-pty":"^1.1.0"},"_npmOperationalInternal":{"tmp":"tmp/viewer_0.21.0_1787615724525_0.7483306151166853","host":"s3://npm-registry-packages-npm-production"}},"0.22.0":{"name":"@unotest/viewer","version":"0.22.0","author":{"name":"Ivan Volkov","email":"ivan@volkov.io"},"license":"MIT","_id":"@unotest/viewer@0.22.0","maintainers":[{"name":"unotest","email":"ivan@unotest.com"}],"homepage":"https://www.npmjs.com/package/@unotest/viewer","bin":{"unotest-viewer":"bin/unotest-viewer.js"},"dist":{"shasum":"67c30772a91bf191aea694565442fb0b556c0947","tarball":"https://registry.npmjs.org/@unotest/viewer/-/viewer-0.22.0.tgz","fileCount":16,"integrity":"sha512-uapg8UR86zoRejyujP6Q9dUDpkAAPboItLAZjBKjudFBbpauh1fVhoAyg3BhmdXNkGHYheD/9uPbUApjclEi+w==","signatures":[{"sig":"MEYCIQDbxdwlzgsO707GclipkoCoYx4MxW4y8SnKe0e+2EAVTQIhAO9yOyIcLyCNyWvZsnK0wr0qJXzickngXCYIYHK9AfDx","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":4987233},"main":"./dist/server/main.js","type":"module","_from":"file:unotest-viewer-0.22.0.tgz","types":"./dist/server/main.d.ts","engines":{"node":">=20"},"exports":{"./web/*":"./dist/web/*","./server":{"types":"./dist/server/main.d.ts","import":"./dist/server/main.js"},"./session":{"types":"./dist/server/session.d.ts","import":"./dist/server/session.js"}},"_npmUser":{"name":"unotest","email":"ivan@unotest.com"},"_resolved":"/private/var/folders/rz/_3r_2y197wsgdyw3_l5ygv340000gn/T/d070a7abbaaf3222eb69ab1497b927af/unotest-viewer-0.22.0.tgz","_integrity":"sha512-uapg8UR86zoRejyujP6Q9dUDpkAAPboItLAZjBKjudFBbpauh1fVhoAyg3BhmdXNkGHYheD/9uPbUApjclEi+w==","_npmVersion":"10.9.8","description":"Localhost HTTP+WS viewer for unotest. Target-agnostic host: runner packages (@unotest/web, @unotest/mobile, …) are à-la-carte plugins auto-detected at boot and selectable via the TEST TARGET switcher. NestJS server + React+MobX frontend. Reads run-artifac","directories":{},"_nodeVersion":"22.23.0","dependencies":{"zod":"^3.23.0","rxjs":"^7.8.0","yaml":"^2.6.0","fflate":"^0.8.2","chokidar":"^4.0.0","nestjs-zod":"^4.0.0","@nestjs/core":"^11.0.0","@unotest/dsl":"^0.22.0","@nestjs/common":"^11.0.0","@fastify/static":"^10.0.0","reflect-metadata":"^0.2.0","@unotest/protocol":"^0.22.0","@nestjs/websockets":"^11.0.0","@nestjs/platform-ws":"^11.0.0","@nestjs/platform-fastify":"^11.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"ws":"^8.21.0","tsx":"^4.19.2","jest":"^29.7.0","mobx":"^6.13.0","tsup":"^8.5.1","vite":"^5.4.0","jsdom":"^25.0.0","react":"^18.3.1","terser":"^5.48.0","vitest":"^2.1.0","ts-jest":"^29.2.0","@swc/core":"^1.10.0","@types/ws":"^8.18.1","cross-env":"^7.0.3","react-dom":"^18.3.1","supertest":"^7.0.0","playwright":"^1.62.0","typescript":"^5.7.2","@types/jest":"^29.5.0","@types/node":"^22.10.0","tailwindcss":"^4.3.0","@types/react":"^18.3.0","@unotest/web":"^0.22.0","@xterm/xterm":"^6.1.0-beta.261","monaco-editor":"^0.52.0","@nestjs/testing":"^11.0.0","@unotest/mobile":"^0.22.0","mobx-react-lite":"^4.0.7","@types/react-dom":"^18.3.0","@types/supertest":"^6.0.0","@xterm/addon-fit":"^0.11.0","@tailwindcss/vite":"^4.3.0","@testing-library/dom":"^10.4.1","@vitejs/plugin-react":"^4.3.0","javascript-obfuscator":"^4.1.1","@testing-library/react":"^16.0.0"},"optionalDependencies":{"node-pty":"^1.1.0"},"_npmOperationalInternal":{"tmp":"tmp/viewer_0.22.0_1787739658513_0.6600813786364272","host":"s3://npm-registry-packages-npm-production"}},"0.23.0":{"name":"@unotest/viewer","version":"0.23.0","author":{"name":"Ivan Volkov","email":"ivan@volkov.io"},"license":"MIT","_id":"@unotest/viewer@0.23.0","maintainers":[{"name":"unotest","email":"ivan@unotest.com"}],"homepage":"https://www.npmjs.com/package/@unotest/viewer","bin":{"unotest-viewer":"bin/unotest-viewer.js"},"dist":{"shasum":"7fb858ab9f1c519cec19de995e901a6b791a3d63","tarball":"https://registry.npmjs.org/@unotest/viewer/-/viewer-0.23.0.tgz","fileCount":16,"integrity":"sha512-Vt3Rut+ZHLtQpyUqwfJGCpJ4JpvmXycI/VsJT2HGxRCp9hsQM1eAteQXQ+S/0aUvacnr7C58BTug4ZyanZsApg==","signatures":[{"sig":"MEUCIH/Q/zU5XzaX3EaFzYMC5CYu+yVNn5EcFC0Z0v42RQZyAiEAzvNSprg8DbguwtE1YFbEulh8nAfeOnM85dnZG0GgX4M=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":4986544},"main":"./dist/server/main.js","type":"module","_from":"file:unotest-viewer-0.23.0.tgz","types":"./dist/server/main.d.ts","engines":{"node":">=20"},"exports":{"./web/*":"./dist/web/*","./server":{"types":"./dist/server/main.d.ts","import":"./dist/server/main.js"},"./session":{"types":"./dist/server/session.d.ts","import":"./dist/server/session.js"}},"_npmUser":{"name":"unotest","email":"ivan@unotest.com"},"_resolved":"/private/var/folders/rz/_3r_2y197wsgdyw3_l5ygv340000gn/T/9a8472d10dc72a142ed1319c031a1bf0/unotest-viewer-0.23.0.tgz","_integrity":"sha512-Vt3Rut+ZHLtQpyUqwfJGCpJ4JpvmXycI/VsJT2HGxRCp9hsQM1eAteQXQ+S/0aUvacnr7C58BTug4ZyanZsApg==","_npmVersion":"10.9.8","description":"Localhost HTTP+WS viewer for unotest. Target-agnostic host: runner packages (@unotest/web, @unotest/mobile, …) are à-la-carte plugins auto-detected at boot and selectable via the TEST TARGET switcher. NestJS server + React+MobX frontend. Reads run-artifac","directories":{},"_nodeVersion":"22.23.0","dependencies":{"zod":"^3.23.0","rxjs":"^7.8.0","yaml":"^2.6.0","fflate":"^0.8.2","chokidar":"^4.0.0","nestjs-zod":"^4.0.0","@nestjs/core":"^11.0.0","@unotest/dsl":"^0.23.0","@nestjs/common":"^11.0.0","@fastify/static":"^10.0.0","reflect-metadata":"^0.2.0","@unotest/protocol":"^0.23.0","@nestjs/websockets":"^11.0.0","@nestjs/platform-ws":"^11.0.0","@nestjs/platform-fastify":"^11.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"ws":"^8.21.0","tsx":"^4.19.2","jest":"^29.7.0","mobx":"^6.13.0","tsup":"^8.5.1","vite":"^5.4.0","jsdom":"^25.0.0","react":"^18.3.1","terser":"^5.48.0","vitest":"^2.1.0","ts-jest":"^29.2.0","@swc/core":"^1.10.0","@types/ws":"^8.18.1","cross-env":"^7.0.3","react-dom":"^18.3.1","supertest":"^7.0.0","playwright":"^1.62.0","typescript":"^5.7.2","@types/jest":"^29.5.0","@types/node":"^22.10.0","tailwindcss":"^4.3.0","@types/react":"^18.3.0","@unotest/web":"^0.23.0","@xterm/xterm":"^6.1.0-beta.261","monaco-editor":"^0.52.0","@nestjs/testing":"^11.0.0","@unotest/mobile":"^0.23.0","mobx-react-lite":"^4.0.7","@types/react-dom":"^18.3.0","@types/supertest":"^6.0.0","@xterm/addon-fit":"^0.11.0","@tailwindcss/vite":"^4.3.0","@testing-library/dom":"^10.4.1","@vitejs/plugin-react":"^4.3.0","javascript-obfuscator":"^4.1.1","@testing-library/react":"^16.0.0"},"optionalDependencies":{"node-pty":"^1.1.0"},"_npmOperationalInternal":{"tmp":"tmp/viewer_0.23.0_1787745328248_0.1475706211684258","host":"s3://npm-registry-packages-npm-production"}},"0.24.0":{"name":"@unotest/viewer","version":"0.24.0","author":{"name":"Ivan Volkov","email":"ivan@volkov.io"},"license":"MIT","_id":"@unotest/viewer@0.24.0","maintainers":[{"name":"unotest","email":"ivan@unotest.com"}],"homepage":"https://www.npmjs.com/package/@unotest/viewer","bin":{"unotest-viewer":"bin/unotest-viewer.js"},"dist":{"shasum":"b82c26701ffb4ba95f662a4331aca27c7dce9322","tarball":"https://registry.npmjs.org/@unotest/viewer/-/viewer-0.24.0.tgz","fileCount":16,"integrity":"sha512-OE4vhpdvUh68+DvL6tq/mTLkrISme5Zi4+mI6GksZAKCFq2oRJTQJuYDV/hf8XnLg+7COSggXVg8tj2d3aA9ig==","signatures":[{"sig":"MEUCIDa7V0HmV56ZjMno2kYoGFAtbRWzOXFp3TJvUaFR50elAiEA1bnW8BhV74se++Eo7wgyV/zOYdmSvP69KsxifAukHSM=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":4986556},"main":"./dist/server/main.js","type":"module","_from":"file:unotest-viewer-0.24.0.tgz","types":"./dist/server/main.d.ts","engines":{"node":">=20"},"exports":{"./web/*":"./dist/web/*","./server":{"types":"./dist/server/main.d.ts","import":"./dist/server/main.js"},"./session":{"types":"./dist/server/session.d.ts","import":"./dist/server/session.js"}},"_npmUser":{"name":"unotest","email":"ivan@unotest.com"},"_resolved":"/private/var/folders/rz/_3r_2y197wsgdyw3_l5ygv340000gn/T/1f276673bca7082fce577177918cded3/unotest-viewer-0.24.0.tgz","_integrity":"sha512-OE4vhpdvUh68+DvL6tq/mTLkrISme5Zi4+mI6GksZAKCFq2oRJTQJuYDV/hf8XnLg+7COSggXVg8tj2d3aA9ig==","_npmVersion":"10.9.8","description":"Localhost HTTP+WS viewer for unotest. Target-agnostic host: runner packages (@unotest/web, @unotest/mobile, …) are à-la-carte plugins auto-detected at boot and selectable via the TEST TARGET switcher. NestJS server + React+MobX frontend. Reads run-artifac","directories":{},"_nodeVersion":"22.23.0","dependencies":{"zod":"^3.23.0","rxjs":"^7.8.0","yaml":"^2.6.0","fflate":"^0.8.2","chokidar":"^4.0.0","nestjs-zod":"^4.0.0","@nestjs/core":"^11.0.0","@unotest/dsl":"^0.24.0","@nestjs/common":"^11.0.0","@fastify/static":"^10.0.0","reflect-metadata":"^0.2.0","@unotest/protocol":"^0.24.0","@nestjs/websockets":"^11.0.0","@nestjs/platform-ws":"^11.0.0","@nestjs/platform-fastify":"^11.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"ws":"^8.21.0","tsx":"^4.19.2","jest":"^29.7.0","mobx":"^6.13.0","tsup":"^8.5.1","vite":"^5.4.0","jsdom":"^25.0.0","react":"^18.3.1","terser":"^5.48.0","vitest":"^2.1.0","ts-jest":"^29.2.0","@swc/core":"^1.10.0","@types/ws":"^8.18.1","cross-env":"^7.0.3","react-dom":"^18.3.1","supertest":"^7.0.0","playwright":"^1.62.0","typescript":"^5.7.2","@types/jest":"^29.5.0","@types/node":"^22.10.0","tailwindcss":"^4.3.0","@types/react":"^18.3.0","@unotest/web":"^0.24.0","@xterm/xterm":"^6.1.0-beta.261","monaco-editor":"^0.52.0","@nestjs/testing":"^11.0.0","@unotest/mobile":"^0.24.0","mobx-react-lite":"^4.0.7","@types/react-dom":"^18.3.0","@types/supertest":"^6.0.0","@xterm/addon-fit":"^0.11.0","@tailwindcss/vite":"^4.3.0","@testing-library/dom":"^10.4.1","@vitejs/plugin-react":"^4.3.0","javascript-obfuscator":"^4.1.1","@testing-library/react":"^16.0.0"},"optionalDependencies":{"node-pty":"^1.1.0"},"_npmOperationalInternal":{"tmp":"tmp/viewer_0.24.0_1787770716036_0.9736812462756337","host":"s3://npm-registry-packages-npm-production"}},"0.25.0":{"name":"@unotest/viewer","version":"0.25.0","author":{"name":"Ivan Volkov","email":"ivan@volkov.io"},"license":"MIT","_id":"@unotest/viewer@0.25.0","maintainers":[{"name":"unotest","email":"ivan@unotest.com"}],"homepage":"https://www.npmjs.com/package/@unotest/viewer","bin":{"unotest-viewer":"bin/unotest-viewer.js"},"dist":{"shasum":"fb4e59a8c8a9f905fd8c7ebb3ef0d859680bbf96","tarball":"https://registry.npmjs.org/@unotest/viewer/-/viewer-0.25.0.tgz","fileCount":16,"integrity":"sha512-ZfOpgesMbL2q8p+ZRjqkr/KnX0KMgyrlD5rJJNq0wKn1Ejd+3wKBzz6i8fsnq4cCsu4bEpYC2o8CNCE+1beYxw==","signatures":[{"sig":"MEUCIGzfAOf+U4B2v/gBx+PFawej5ITflo8fuXRx/wAlVKKOAiEA7BRvmn4C7a+H2qzL8LlBS2WsLaUGR9snXsYGToxFOwI=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":4991793},"main":"./dist/server/main.js","type":"module","_from":"file:unotest-viewer-0.25.0.tgz","types":"./dist/server/main.d.ts","engines":{"node":">=20"},"exports":{"./web/*":"./dist/web/*","./server":{"types":"./dist/server/main.d.ts","import":"./dist/server/main.js"},"./session":{"types":"./dist/server/session.d.ts","import":"./dist/server/session.js"}},"_npmUser":{"name":"unotest","email":"ivan@unotest.com"},"_resolved":"/private/var/folders/rz/_3r_2y197wsgdyw3_l5ygv340000gn/T/6bc20999d033452eb346eed13c3a069f/unotest-viewer-0.25.0.tgz","_integrity":"sha512-ZfOpgesMbL2q8p+ZRjqkr/KnX0KMgyrlD5rJJNq0wKn1Ejd+3wKBzz6i8fsnq4cCsu4bEpYC2o8CNCE+1beYxw==","_npmVersion":"10.9.8","description":"Localhost HTTP+WS viewer for unotest. Target-agnostic host: runner packages (@unotest/web, @unotest/mobile, …) are à-la-carte plugins auto-detected at boot and selectable via the TEST TARGET switcher. NestJS server + React+MobX frontend. Reads run-artifac","directories":{},"_nodeVersion":"22.23.0","dependencies":{"zod":"^3.23.0","rxjs":"^7.8.0","yaml":"^2.6.0","fflate":"^0.8.2","chokidar":"^4.0.0","nestjs-zod":"^4.0.0","@nestjs/core":"^11.0.0","@unotest/dsl":"^0.25.0","@nestjs/common":"^11.0.0","@fastify/static":"^10.0.0","reflect-metadata":"^0.2.0","@unotest/protocol":"^0.25.0","@nestjs/websockets":"^11.0.0","@nestjs/platform-ws":"^11.0.0","@nestjs/platform-fastify":"^11.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"ws":"^8.21.0","tsx":"^4.19.2","jest":"^29.7.0","mobx":"^6.13.0","tsup":"^8.5.1","vite":"^5.4.0","jsdom":"^25.0.0","react":"^18.3.1","terser":"^5.48.0","vitest":"^2.1.0","ts-jest":"^29.2.0","@swc/core":"^1.10.0","@types/ws":"^8.18.1","cross-env":"^7.0.3","react-dom":"^18.3.1","supertest":"^7.0.0","playwright":"^1.62.0","typescript":"^5.7.2","@types/jest":"^29.5.0","@types/node":"^22.10.0","tailwindcss":"^4.3.0","@types/react":"^18.3.0","@unotest/web":"^0.25.0","@xterm/xterm":"^6.1.0-beta.261","monaco-editor":"^0.52.0","@nestjs/testing":"^11.0.0","@unotest/mobile":"^0.25.0","mobx-react-lite":"^4.0.7","@types/react-dom":"^18.3.0","@types/supertest":"^6.0.0","@xterm/addon-fit":"^0.11.0","@tailwindcss/vite":"^4.3.0","@testing-library/dom":"^10.4.1","@vitejs/plugin-react":"^4.3.0","javascript-obfuscator":"^4.1.1","@testing-library/react":"^16.0.0"},"optionalDependencies":{"node-pty":"^1.1.0"},"_npmOperationalInternal":{"tmp":"tmp/viewer_0.25.0_1787960686718_0.3556801921160475","host":"s3://npm-registry-packages-npm-production"}},"0.26.0":{"name":"@unotest/viewer","version":"0.26.0","author":{"name":"Ivan Volkov","email":"ivan@volkov.io"},"license":"MIT","_id":"@unotest/viewer@0.26.0","maintainers":[{"name":"unotest","email":"ivan@unotest.com"}],"homepage":"https://www.npmjs.com/package/@unotest/viewer","bin":{"unotest-viewer":"bin/unotest-viewer.js"},"dist":{"shasum":"5cb91cd5728e7aca48f1c41373dd0c261a1be37c","tarball":"https://registry.npmjs.org/@unotest/viewer/-/viewer-0.26.0.tgz","fileCount":16,"integrity":"sha512-sUGTdTZvg9MsuT01KtJKkgzhKDtcIzmZnxjaFLYXWmTTnBtqvQSfD89Wp94MsKwtU2UC7qDq4GdJI09b4thGLg==","signatures":[{"sig":"MEUCIQDJz/yYdmH7X3RpVcEn3qzhg4LMktWCzuLrbjc5KsLVewIgCb6dQ8xZhEzk3EoQbSuIdZZGzPlymLHdmWmg4t5ziCo=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":5035458},"main":"./dist/server/main.js","type":"module","_from":"file:unotest-viewer-0.26.0.tgz","types":"./dist/server/main.d.ts","engines":{"node":">=20"},"exports":{"./web/*":"./dist/web/*","./server":{"types":"./dist/server/main.d.ts","import":"./dist/server/main.js"},"./session":{"types":"./dist/server/session.d.ts","import":"./dist/server/session.js"}},"_npmUser":{"name":"unotest","email":"ivan@unotest.com"},"_resolved":"/private/var/folders/rz/_3r_2y197wsgdyw3_l5ygv340000gn/T/6498f3c4ace7661d556f3fb723868b70/unotest-viewer-0.26.0.tgz","_integrity":"sha512-sUGTdTZvg9MsuT01KtJKkgzhKDtcIzmZnxjaFLYXWmTTnBtqvQSfD89Wp94MsKwtU2UC7qDq4GdJI09b4thGLg==","_npmVersion":"10.9.8","description":"Localhost HTTP+WS viewer for unotest. Target-agnostic host: runner packages (@unotest/web, @unotest/mobile, …) are à-la-carte plugins auto-detected at boot and selectable via the TEST TARGET switcher. NestJS server + React+MobX frontend. Reads run-artifac","directories":{},"_nodeVersion":"22.23.0","dependencies":{"zod":"^3.23.0","rxjs":"^7.8.0","yaml":"^2.6.0","fflate":"^0.8.2","chokidar":"^4.0.0","nestjs-zod":"^4.0.0","@nestjs/core":"^11.0.0","@unotest/dsl":"^0.26.0","@unotest/core":"^0.26.0","@nestjs/common":"^11.0.0","@fastify/static":"^10.0.0","reflect-metadata":"^0.2.0","@unotest/protocol":"^0.26.0","@nestjs/websockets":"^11.0.0","@nestjs/platform-ws":"^11.0.0","@nestjs/platform-fastify":"^11.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"ws":"^8.21.0","tsx":"^4.19.2","jest":"^29.7.0","mobx":"^6.13.0","tsup":"^8.5.1","vite":"^5.4.0","jsdom":"^25.0.0","react":"^18.3.1","terser":"^5.48.0","vitest":"^2.1.0","ts-jest":"^29.2.0","@swc/core":"^1.10.0","@types/ws":"^8.18.1","cross-env":"^7.0.3","react-dom":"^18.3.1","supertest":"^7.0.0","playwright":"^1.62.0","typescript":"^5.7.2","@types/jest":"^29.5.0","@types/node":"^22.10.0","tailwindcss":"^4.3.0","@types/react":"^18.3.0","@unotest/web":"^0.26.0","@xterm/xterm":"^6.1.0-beta.261","monaco-editor":"^0.52.0","@nestjs/testing":"^11.0.0","@unotest/mobile":"^0.26.0","mobx-react-lite":"^4.0.7","@types/react-dom":"^18.3.0","@types/supertest":"^6.0.0","@xterm/addon-fit":"^0.11.0","@tailwindcss/vite":"^4.3.0","@testing-library/dom":"^10.4.1","@vitejs/plugin-react":"^4.3.0","javascript-obfuscator":"^4.1.1","@testing-library/react":"^16.0.0"},"optionalDependencies":{"node-pty":"^1.1.0"},"_npmOperationalInternal":{"tmp":"tmp/viewer_0.26.0_1788044989627_0.23033385189863687","host":"s3://npm-registry-packages-npm-production"}},"0.26.1":{"name":"@unotest/viewer","version":"0.26.1","author":{"name":"Ivan Volkov","email":"ivan@volkov.io"},"license":"MIT","_id":"@unotest/viewer@0.26.1","maintainers":[{"name":"unotest","email":"ivan@unotest.com"}],"homepage":"https://www.npmjs.com/package/@unotest/viewer","bin":{"unotest-viewer":"bin/unotest-viewer.js"},"dist":{"shasum":"4af67c663fd675692402f85e824f9e527737a16f","tarball":"https://registry.npmjs.org/@unotest/viewer/-/viewer-0.26.1.tgz","fileCount":16,"integrity":"sha512-MalxosmroVmJP60Ib7MCqKsvTBsfCS8CTHXHDXAqXcOG2eezlivxpOKRdoXvzHhO7mgqELr6shPTFsXG/jbM4Q==","signatures":[{"sig":"MEUCIG+OzwMSvEOdoP4rVFReVfPLDVBmz3LfKwHXcPClJ1NyAiEAtjd5FkUWSBVwXLNmf1CpSDZoysvzCYALkC+CNwnJB8k=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":5043695},"main":"./dist/server/main.js","type":"module","_from":"file:unotest-viewer-0.26.1.tgz","types":"./dist/server/main.d.ts","engines":{"node":">=20"},"exports":{"./web/*":"./dist/web/*","./server":{"types":"./dist/server/main.d.ts","import":"./dist/server/main.js"},"./session":{"types":"./dist/server/session.d.ts","import":"./dist/server/session.js"}},"_npmUser":{"name":"unotest","email":"ivan@unotest.com"},"_resolved":"/private/var/folders/rz/_3r_2y197wsgdyw3_l5ygv340000gn/T/d67c577917ff9c06927e99a0beeb8027/unotest-viewer-0.26.1.tgz","_integrity":"sha512-MalxosmroVmJP60Ib7MCqKsvTBsfCS8CTHXHDXAqXcOG2eezlivxpOKRdoXvzHhO7mgqELr6shPTFsXG/jbM4Q==","_npmVersion":"10.9.8","description":"Localhost HTTP+WS viewer for unotest. Target-agnostic host: runner packages (@unotest/web, @unotest/mobile, …) are à-la-carte plugins auto-detected at boot and selectable via the TEST TARGET switcher. NestJS server + React+MobX frontend. Reads run-artifac","directories":{},"_nodeVersion":"22.23.0","dependencies":{"zod":"^3.23.0","rxjs":"^7.8.0","yaml":"^2.6.0","fflate":"^0.8.2","chokidar":"^4.0.0","nestjs-zod":"^4.0.0","@nestjs/core":"^11.0.0","@unotest/dsl":"^0.26.1","@unotest/core":"^0.26.1","@nestjs/common":"^11.0.0","@fastify/static":"^10.0.0","reflect-metadata":"^0.2.0","@unotest/protocol":"^0.26.1","@nestjs/websockets":"^11.0.0","@nestjs/platform-ws":"^11.0.0","@nestjs/platform-fastify":"^11.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"ws":"^8.21.0","tsx":"^4.19.2","jest":"^29.7.0","mobx":"^6.13.0","tsup":"^8.5.1","vite":"^5.4.0","jsdom":"^25.0.0","react":"^18.3.1","terser":"^5.48.0","vitest":"^2.1.0","ts-jest":"^29.2.0","@swc/core":"^1.10.0","@types/ws":"^8.18.1","cross-env":"^7.0.3","react-dom":"^18.3.1","supertest":"^7.0.0","playwright":"^1.62.0","typescript":"^5.7.2","@types/jest":"^29.5.0","@types/node":"^22.10.0","tailwindcss":"^4.3.0","@types/react":"^18.3.0","@unotest/web":"^0.26.1","@xterm/xterm":"^6.1.0-beta.261","monaco-editor":"^0.52.0","@nestjs/testing":"^11.0.0","@unotest/mobile":"^0.26.1","mobx-react-lite":"^4.0.7","@types/react-dom":"^18.3.0","@types/supertest":"^6.0.0","@xterm/addon-fit":"^0.11.0","@tailwindcss/vite":"^4.3.0","@testing-library/dom":"^10.4.1","@vitejs/plugin-react":"^4.3.0","javascript-obfuscator":"^4.1.1","@testing-library/react":"^16.0.0"},"optionalDependencies":{"node-pty":"^1.1.0"},"_npmOperationalInternal":{"tmp":"tmp/viewer_0.26.1_1788125464039_0.25297433222730725","host":"s3://npm-registry-packages-npm-production"}},"0.27.0":{"name":"@unotest/viewer","version":"0.27.0","author":{"name":"Ivan Volkov","email":"ivan@volkov.io"},"license":"MIT","_id":"@unotest/viewer@0.27.0","maintainers":[{"name":"unotest","email":"ivan@unotest.com"}],"homepage":"https://www.npmjs.com/package/@unotest/viewer","bin":{"unotest-viewer":"bin/unotest-viewer.js"},"dist":{"shasum":"b9734d013086c18352376c43821338372d5a30ca","tarball":"https://registry.npmjs.org/@unotest/viewer/-/viewer-0.27.0.tgz","fileCount":16,"integrity":"sha512-Q38daLlBlyJWYsaJG5uANwBsAh+couYRTkVAVtAybZwK7ae6SJHZK6xbXQOnQHAMBLPoHvEfAYemZ5Bue7VcVA==","signatures":[{"sig":"MEYCIQDZS5lF+4v5ngSVlmLEErtHcWJlkqabguu+3qMZFXL7/AIhAMD9frthw7hvmMaTI3RPDPsThv4woCcYlVi+D3j/z3Mu","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":5087767},"main":"./dist/server/main.js","type":"module","_from":"file:unotest-viewer-0.27.0.tgz","types":"./dist/server/main.d.ts","engines":{"node":">=20"},"exports":{"./web/*":"./dist/web/*","./server":{"types":"./dist/server/main.d.ts","import":"./dist/server/main.js"},"./session":{"types":"./dist/server/session.d.ts","import":"./dist/server/session.js"}},"_npmUser":{"name":"unotest","email":"ivan@unotest.com"},"_resolved":"/private/var/folders/rz/_3r_2y197wsgdyw3_l5ygv340000gn/T/fbfc8f860d07f287dce4da8b9277689b/unotest-viewer-0.27.0.tgz","_integrity":"sha512-Q38daLlBlyJWYsaJG5uANwBsAh+couYRTkVAVtAybZwK7ae6SJHZK6xbXQOnQHAMBLPoHvEfAYemZ5Bue7VcVA==","_npmVersion":"10.9.8","description":"Localhost HTTP+WS viewer for unotest. Target-agnostic host: runner packages (@unotest/web, @unotest/mobile, …) are à-la-carte plugins auto-detected at boot and selectable via the TEST TARGET switcher. NestJS server + React+MobX frontend. Reads run-artifac","directories":{},"_nodeVersion":"22.23.0","dependencies":{"zod":"^3.23.0","rxjs":"^7.8.0","yaml":"^2.6.0","fflate":"^0.8.2","chokidar":"^4.0.0","nestjs-zod":"^4.0.0","@nestjs/core":"^11.0.0","@unotest/dsl":"^0.27.0","@unotest/core":"^0.27.0","@nestjs/common":"^11.0.0","@fastify/static":"^10.0.0","reflect-metadata":"^0.2.0","@unotest/protocol":"^0.27.0","@nestjs/websockets":"^11.0.0","@nestjs/platform-ws":"^11.0.0","@nestjs/platform-fastify":"^11.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"ws":"^8.21.0","tsx":"^4.19.2","jest":"^29.7.0","mobx":"^6.13.0","tsup":"^8.5.1","vite":"^5.4.0","jsdom":"^25.0.0","react":"^18.3.1","terser":"^5.48.0","vitest":"^2.1.0","ts-jest":"^29.2.0","@swc/core":"^1.10.0","@types/ws":"^8.18.1","cross-env":"^7.0.3","react-dom":"^18.3.1","supertest":"^7.0.0","playwright":"^1.62.0","typescript":"^5.7.2","@types/jest":"^29.5.0","@types/node":"^22.10.0","tailwindcss":"^4.3.0","@types/react":"^18.3.0","@unotest/web":"^0.27.0","@xterm/xterm":"^6.1.0-beta.261","monaco-editor":"^0.52.0","@nestjs/testing":"^11.0.0","@unotest/mobile":"^0.27.0","mobx-react-lite":"^4.0.7","@types/react-dom":"^18.3.0","@types/supertest":"^6.0.0","@xterm/addon-fit":"^0.11.0","@tailwindcss/vite":"^4.3.0","@testing-library/dom":"^10.4.1","@vitejs/plugin-react":"^4.3.0","javascript-obfuscator":"^4.1.1","@testing-library/react":"^16.0.0"},"optionalDependencies":{"node-pty":"^1.1.0"},"_npmOperationalInternal":{"tmp":"tmp/viewer_0.27.0_1788208763655_0.8944089714353074","host":"s3://npm-registry-packages-npm-production"}},"0.28.0":{"name":"@unotest/viewer","version":"0.28.0","author":{"name":"Ivan Volkov","email":"ivan@volkov.io"},"license":"MIT","_id":"@unotest/viewer@0.28.0","maintainers":[{"name":"unotest","email":"ivan@unotest.com"}],"homepage":"https://www.npmjs.com/package/@unotest/viewer","bin":{"unotest-viewer":"bin/unotest-viewer.js"},"dist":{"shasum":"9a2b4d17c9d86cd4a9c071ac489048425a6f8513","tarball":"https://registry.npmjs.org/@unotest/viewer/-/viewer-0.28.0.tgz","fileCount":16,"integrity":"sha512-hoN3JgdAzSUNkIKiaBNaQytHDHj3QXeUXxWmOxE0K3jjNBNErnRogKhaMwFj0u4O60leyvoc4sG5Y8titZAWhQ==","signatures":[{"sig":"MEUCIAO0Xt8Mf6CFWlFyH1Lc1aItkhMoMCVALhH+uDEpLXADAiEAx82W9Qe8vIgHF5v4X6deJIGy0FbxMn8LdMFmWaecm1A=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":5086958},"main":"./dist/server/main.js","type":"module","_from":"file:unotest-viewer-0.28.0.tgz","types":"./dist/server/main.d.ts","engines":{"node":">=20"},"exports":{"./web/*":"./dist/web/*","./server":{"types":"./dist/server/main.d.ts","import":"./dist/server/main.js"},"./session":{"types":"./dist/server/session.d.ts","import":"./dist/server/session.js"}},"_npmUser":{"name":"unotest","email":"ivan@unotest.com"},"_resolved":"/private/var/folders/rz/_3r_2y197wsgdyw3_l5ygv340000gn/T/57583609eea90f3ccc8f24aaf5de40a0/unotest-viewer-0.28.0.tgz","_integrity":"sha512-hoN3JgdAzSUNkIKiaBNaQytHDHj3QXeUXxWmOxE0K3jjNBNErnRogKhaMwFj0u4O60leyvoc4sG5Y8titZAWhQ==","_npmVersion":"10.9.8","description":"Localhost HTTP+WS viewer for unotest. Target-agnostic host: runner packages (@unotest/web, @unotest/mobile, …) are à-la-carte plugins auto-detected at boot and selectable via the TEST TARGET switcher. NestJS server + React+MobX frontend. Reads run-artifac","directories":{},"_nodeVersion":"22.23.0","dependencies":{"zod":"^3.23.0","rxjs":"^7.8.0","yaml":"^2.6.0","fflate":"^0.8.2","chokidar":"^4.0.0","nestjs-zod":"^4.0.0","@nestjs/core":"^11.0.0","@unotest/dsl":"^0.28.0","@unotest/core":"^0.28.0","@nestjs/common":"^11.0.0","@fastify/static":"^10.0.0","reflect-metadata":"^0.2.0","@unotest/protocol":"^0.28.0","@nestjs/websockets":"^11.0.0","@nestjs/platform-ws":"^11.0.0","@nestjs/platform-fastify":"^11.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"ws":"^8.21.0","tsx":"^4.19.2","jest":"^29.7.0","mobx":"^6.13.0","tsup":"^8.5.1","vite":"^5.4.0","jsdom":"^25.0.0","react":"^18.3.1","terser":"^5.48.0","vitest":"^2.1.0","ts-jest":"^29.2.0","@swc/core":"^1.10.0","@types/ws":"^8.18.1","cross-env":"^7.0.3","react-dom":"^18.3.1","supertest":"^7.0.0","playwright":"^1.62.0","typescript":"^5.7.2","@types/jest":"^29.5.0","@types/node":"^22.10.0","tailwindcss":"^4.3.0","@types/react":"^18.3.0","@unotest/web":"^0.28.0","@xterm/xterm":"^6.1.0-beta.261","monaco-editor":"^0.52.0","@nestjs/testing":"^11.0.0","@unotest/mobile":"^0.28.0","mobx-react-lite":"^4.0.7","@types/react-dom":"^18.3.0","@types/supertest":"^6.0.0","@xterm/addon-fit":"^0.11.0","@tailwindcss/vite":"^4.3.0","@testing-library/dom":"^10.4.1","@vitejs/plugin-react":"^4.3.0","javascript-obfuscator":"^4.1.1","@testing-library/react":"^16.0.0"},"optionalDependencies":{"node-pty":"^1.1.0"},"_npmOperationalInternal":{"tmp":"tmp/viewer_0.28.0_1788265558073_0.43757285079607766","host":"s3://npm-registry-packages-npm-production"}},"0.29.0":{"name":"@unotest/viewer","version":"0.29.0","author":{"name":"Ivan Volkov","email":"ivan@volkov.io"},"license":"MIT","_id":"@unotest/viewer@0.29.0","maintainers":[{"name":"unotest","email":"ivan@unotest.com"}],"homepage":"https://www.npmjs.com/package/@unotest/viewer","bin":{"unotest-viewer":"bin/unotest-viewer.js"},"dist":{"shasum":"5dd5af21fcc240c187ae52d087656b5a11c73199","tarball":"https://registry.npmjs.org/@unotest/viewer/-/viewer-0.29.0.tgz","fileCount":16,"integrity":"sha512-gMpcqK8nZhnQwqZvJKqC1BbKO4+q9zOsDBU9XZqG55BrPDIqHwk4aUlbwqPxGnQ2bDuOC5pkonAjzbsT2HHSrg==","signatures":[{"sig":"MEQCIEqYrZ0GJzleT5iUTH4G4se02deNJDf0AZQ1YbOUL3gkAiAg5q8CqIZv9CTVJqgqlBfDus71SGJ+UmQYbmYMhfNbIA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":5100218},"main":"./dist/server/main.js","type":"module","_from":"file:unotest-viewer-0.29.0.tgz","types":"./dist/server/main.d.ts","engines":{"node":">=20"},"exports":{"./web/*":"./dist/web/*","./server":{"types":"./dist/server/main.d.ts","import":"./dist/server/main.js"},"./session":{"types":"./dist/server/session.d.ts","import":"./dist/server/session.js"}},"_npmUser":{"name":"unotest","email":"ivan@unotest.com"},"_resolved":"/private/var/folders/rz/_3r_2y197wsgdyw3_l5ygv340000gn/T/94121491a7401f36d2f242f66493f613/unotest-viewer-0.29.0.tgz","_integrity":"sha512-gMpcqK8nZhnQwqZvJKqC1BbKO4+q9zOsDBU9XZqG55BrPDIqHwk4aUlbwqPxGnQ2bDuOC5pkonAjzbsT2HHSrg==","_npmVersion":"10.9.8","description":"Localhost HTTP+WS viewer for unotest. Target-agnostic host: runner packages (@unotest/web, @unotest/mobile, …) are à-la-carte plugins auto-detected at boot and selectable via the TEST TARGET switcher. NestJS server + React+MobX frontend. Reads run-artifac","directories":{},"_nodeVersion":"22.23.0","dependencies":{"zod":"^3.23.0","rxjs":"^7.8.0","yaml":"^2.6.0","fflate":"^0.8.2","chokidar":"^4.0.0","nestjs-zod":"^4.0.0","@nestjs/core":"^11.0.0","@unotest/dsl":"^0.29.0","@unotest/core":"^0.29.0","@nestjs/common":"^11.0.0","@fastify/static":"^10.0.0","reflect-metadata":"^0.2.0","@unotest/protocol":"^0.29.0","@nestjs/websockets":"^11.0.0","@nestjs/platform-ws":"^11.0.0","@nestjs/platform-fastify":"^11.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"ws":"^8.21.0","tsx":"^4.19.2","jest":"^29.7.0","mobx":"^6.13.0","tsup":"^8.5.1","vite":"^5.4.0","jsdom":"^25.0.0","react":"^18.3.1","terser":"^5.48.0","vitest":"^2.1.0","ts-jest":"^29.2.0","@swc/core":"^1.10.0","@types/ws":"^8.18.1","cross-env":"^7.0.3","react-dom":"^18.3.1","supertest":"^7.0.0","playwright":"^1.62.0","typescript":"^5.7.2","@types/jest":"^29.5.0","@types/node":"^22.10.0","tailwindcss":"^4.3.0","@types/react":"^18.3.0","@unotest/web":"^0.29.0","@xterm/xterm":"^6.1.0-beta.261","monaco-editor":"^0.52.0","@nestjs/testing":"^11.0.0","@unotest/mobile":"^0.29.0","mobx-react-lite":"^4.0.7","@types/react-dom":"^18.3.0","@types/supertest":"^6.0.0","@xterm/addon-fit":"^0.11.0","@tailwindcss/vite":"^4.3.0","@testing-library/dom":"^10.4.1","@vitejs/plugin-react":"^4.3.0","javascript-obfuscator":"^4.1.1","@testing-library/react":"^16.0.0"},"optionalDependencies":{"node-pty":"^1.1.0"},"_npmOperationalInternal":{"tmp":"tmp/viewer_0.29.0_1788303570004_0.00963868236159815","host":"s3://npm-registry-packages-npm-production"}},"0.30.0":{"name":"@unotest/viewer","version":"0.30.0","author":{"name":"Ivan Volkov","email":"ivan@volkov.io"},"license":"MIT","_id":"@unotest/viewer@0.30.0","maintainers":[{"name":"unotest","email":"ivan@unotest.com"}],"homepage":"https://www.npmjs.com/package/@unotest/viewer","bin":{"unotest-viewer":"bin/unotest-viewer.js"},"dist":{"shasum":"03c283756d6d1fdfc8a8b7d95db50f9a630d41d3","tarball":"https://registry.npmjs.org/@unotest/viewer/-/viewer-0.30.0.tgz","fileCount":16,"integrity":"sha512-HKHPwkT8hJYnABKpBCnSUskMA6hxoyLLhqO2J4HkMdkBb8uSYyyHvW8mEVEuHvTvRQE+MB4Gqb+wqGf2aN/E/A==","signatures":[{"sig":"MEUCICgy4mYoyzbpXM61XA6cY2XYJLz4Q4ZYHy5r0XpX5rxHAiEA1SPUWKILkLPIG4lThmuIFWYOvpyzICFd/cCCKnf0Tpc=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":5104956},"main":"./dist/server/main.js","type":"module","_from":"file:unotest-viewer-0.30.0.tgz","types":"./dist/server/main.d.ts","engines":{"node":">=20"},"exports":{"./web/*":"./dist/web/*","./server":{"types":"./dist/server/main.d.ts","import":"./dist/server/main.js"},"./session":{"types":"./dist/server/session.d.ts","import":"./dist/server/session.js"}},"_npmUser":{"name":"unotest","email":"ivan@unotest.com"},"_resolved":"/private/var/folders/rz/_3r_2y197wsgdyw3_l5ygv340000gn/T/790d20d83f041190d57ec7c1403ce523/unotest-viewer-0.30.0.tgz","_integrity":"sha512-HKHPwkT8hJYnABKpBCnSUskMA6hxoyLLhqO2J4HkMdkBb8uSYyyHvW8mEVEuHvTvRQE+MB4Gqb+wqGf2aN/E/A==","_npmVersion":"10.9.8","description":"Localhost HTTP+WS viewer for unotest. Target-agnostic host: runner packages (@unotest/web, @unotest/mobile, …) are à-la-carte plugins auto-detected at boot and selectable via the TEST TARGET switcher. NestJS server + React+MobX frontend. Reads run-artifac","directories":{},"_nodeVersion":"22.23.0","dependencies":{"zod":"^3.23.0","rxjs":"^7.8.0","yaml":"^2.6.0","fflate":"^0.8.2","chokidar":"^4.0.0","nestjs-zod":"^4.0.0","@nestjs/core":"^11.0.0","@unotest/dsl":"^0.30.0","@unotest/core":"^0.30.0","@nestjs/common":"^11.0.0","@fastify/static":"^10.0.0","reflect-metadata":"^0.2.0","@unotest/protocol":"^0.30.0","@nestjs/websockets":"^11.0.0","@nestjs/platform-ws":"^11.0.0","@nestjs/platform-fastify":"^11.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"ws":"^8.21.0","tsx":"^4.19.2","jest":"^29.7.0","mobx":"^6.13.0","tsup":"^8.5.1","vite":"^5.4.0","jsdom":"^25.0.0","react":"^18.3.1","terser":"^5.48.0","vitest":"^2.1.0","ts-jest":"^29.2.0","@swc/core":"^1.10.0","@types/ws":"^8.18.1","cross-env":"^7.0.3","react-dom":"^18.3.1","supertest":"^7.0.0","playwright":"^1.62.0","typescript":"^5.7.2","@types/jest":"^29.5.0","@types/node":"^22.10.0","tailwindcss":"^4.3.0","@types/react":"^18.3.0","@unotest/web":"^0.30.0","@xterm/xterm":"^6.1.0-beta.261","monaco-editor":"^0.52.0","@nestjs/testing":"^11.0.0","@unotest/mobile":"^0.30.0","mobx-react-lite":"^4.0.7","@types/react-dom":"^18.3.0","@types/supertest":"^6.0.0","@xterm/addon-fit":"^0.11.0","@tailwindcss/vite":"^4.3.0","@testing-library/dom":"^10.4.1","@vitejs/plugin-react":"^4.3.0","javascript-obfuscator":"^4.1.1","@testing-library/react":"^16.0.0"},"optionalDependencies":{"node-pty":"^1.1.0"},"_npmOperationalInternal":{"tmp":"tmp/viewer_0.30.0_1788425976919_0.7849449667650326","host":"s3://npm-registry-packages-npm-production"}},"0.31.0":{"name":"@unotest/viewer","version":"0.31.0","author":{"name":"Ivan Volkov","email":"ivan@volkov.io"},"license":"MIT","_id":"@unotest/viewer@0.31.0","maintainers":[{"name":"unotest","email":"ivan@unotest.com"}],"homepage":"https://www.npmjs.com/package/@unotest/viewer","bin":{"unotest-viewer":"bin/unotest-viewer.js"},"dist":{"shasum":"d269d8188bef20b0a83b66367f3f3af1d4537ac4","tarball":"https://registry.npmjs.org/@unotest/viewer/-/viewer-0.31.0.tgz","fileCount":16,"integrity":"sha512-6Vh7u5OJ9lHTo73JEyt+X+Jz9zgmE4C+MWyYwVlDs5pY5Z3b7s5ndmkXEBdcitTQ+AVPeIGMR1ATxM0nzKo0yA==","signatures":[{"sig":"MEUCIQCS1UEiSR8ZnwiMH+WQi+iyVABfWrpR70wW4iI9OQXVkAIgWSNN1KFQxg2uYRf3z6qyXLD2aiaicx6OgzOU4AI+EtM=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":5136254},"main":"./dist/server/main.js","type":"module","_from":"file:unotest-viewer-0.31.0.tgz","types":"./dist/server/main.d.ts","engines":{"node":">=20"},"exports":{"./web/*":"./dist/web/*","./server":{"types":"./dist/server/main.d.ts","import":"./dist/server/main.js"},"./session":{"types":"./dist/server/session.d.ts","import":"./dist/server/session.js"}},"_npmUser":{"name":"unotest","email":"ivan@unotest.com"},"_resolved":"/private/var/folders/rz/_3r_2y197wsgdyw3_l5ygv340000gn/T/0f33ef4c4193f9af2b9f173c32be0286/unotest-viewer-0.31.0.tgz","_integrity":"sha512-6Vh7u5OJ9lHTo73JEyt+X+Jz9zgmE4C+MWyYwVlDs5pY5Z3b7s5ndmkXEBdcitTQ+AVPeIGMR1ATxM0nzKo0yA==","_npmVersion":"10.9.8","description":"Localhost HTTP+WS viewer for unotest. Target-agnostic host: runner packages (@unotest/web, @unotest/mobile, …) are à-la-carte plugins auto-detected at boot and selectable via the TEST TARGET switcher. NestJS server + React+MobX frontend. Reads run-artifac","directories":{},"_nodeVersion":"22.23.0","dependencies":{"zod":"^3.23.0","rxjs":"^7.8.0","yaml":"^2.6.0","fflate":"^0.8.2","chokidar":"^4.0.0","nestjs-zod":"^4.0.0","@nestjs/core":"^11.0.0","@unotest/dsl":"^0.31.0","@unotest/core":"^0.31.0","@nestjs/common":"^11.0.0","@fastify/static":"^10.0.0","reflect-metadata":"^0.2.0","@unotest/protocol":"^0.31.0","@nestjs/websockets":"^11.0.0","@nestjs/platform-ws":"^11.0.0","@nestjs/platform-fastify":"^11.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"ws":"^8.21.0","tsx":"^4.19.2","jest":"^29.7.0","mobx":"^6.13.0","tsup":"^8.5.1","vite":"^5.4.0","jsdom":"^25.0.0","react":"^18.3.1","terser":"^5.48.0","vitest":"^2.1.0","ts-jest":"^29.2.0","@swc/core":"^1.10.0","@types/ws":"^8.18.1","cross-env":"^7.0.3","react-dom":"^18.3.1","supertest":"^7.0.0","playwright":"^1.62.0","typescript":"^5.7.2","@types/jest":"^29.5.0","@types/node":"^22.10.0","tailwindcss":"^4.3.0","@types/react":"^18.3.0","@unotest/web":"^0.31.0","@xterm/xterm":"^6.1.0-beta.261","monaco-editor":"^0.52.0","@nestjs/testing":"^11.0.0","@unotest/mobile":"^0.31.0","mobx-react-lite":"^4.0.7","@types/react-dom":"^18.3.0","@types/supertest":"^6.0.0","@xterm/addon-fit":"^0.11.0","@tailwindcss/vite":"^4.3.0","@testing-library/dom":"^10.4.1","@vitejs/plugin-react":"^4.3.0","javascript-obfuscator":"^4.1.1","@testing-library/react":"^16.0.0"},"optionalDependencies":{"node-pty":"^1.1.0"},"_npmOperationalInternal":{"tmp":"tmp/viewer_0.31.0_1788515753413_0.6744231030083567","host":"s3://npm-registry-packages-npm-production"}},"0.32.0":{"name":"@unotest/viewer","version":"0.32.0","author":{"name":"Ivan Volkov","email":"ivan@volkov.io"},"license":"MIT","_id":"@unotest/viewer@0.32.0","maintainers":[{"name":"unotest","email":"ivan@unotest.com"}],"homepage":"https://www.npmjs.com/package/@unotest/viewer","bin":{"unotest-viewer":"bin/unotest-viewer.js"},"dist":{"shasum":"8c801f2409598939c6a5cf51831c0cb23bfd433d","tarball":"https://registry.npmjs.org/@unotest/viewer/-/viewer-0.32.0.tgz","fileCount":20,"integrity":"sha512-eRzZk4eDPQW/rIr7OOe+7hMyxt0eqL5ac72yWpz2nwdA2HjLCPSQOkCmGsU7IX59m5ZbU088zH9Ix+5x0S2j1A==","signatures":[{"sig":"MEUCIBAib6PYG6wXTZL+8PkQk4PNpUTXRHCiHwtbhwOZq9YbAiEAgpNoP8kSbm/b/4RFknN4s/f7xmt+0+rczZy4soBE8X4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":5158698},"main":"./dist/server/main.js","type":"module","_from":"file:unotest-viewer-0.32.0.tgz","types":"./dist/server/main.d.ts","engines":{"node":">=20"},"exports":{"./wire":{"types":"./dist/server/wire.d.ts","import":"./dist/server/wire.js"},"./web/*":"./dist/web/*","./server":{"types":"./dist/server/main.d.ts","import":"./dist/server/main.js"},"./session":{"types":"./dist/server/session.d.ts","import":"./dist/server/session.js"},"./snapshot":{"types":"./dist/server/snapshot.d.ts","import":"./dist/server/snapshot.js"}},"_npmUser":{"name":"unotest","email":"ivan@unotest.com"},"_resolved":"/private/var/folders/rz/_3r_2y197wsgdyw3_l5ygv340000gn/T/c0b0e301203f93fa3bf42c7a9105e05d/unotest-viewer-0.32.0.tgz","_integrity":"sha512-eRzZk4eDPQW/rIr7OOe+7hMyxt0eqL5ac72yWpz2nwdA2HjLCPSQOkCmGsU7IX59m5ZbU088zH9Ix+5x0S2j1A==","_npmVersion":"10.9.8","description":"Localhost HTTP+WS viewer for unotest. Target-agnostic host: runner packages (@unotest/web, @unotest/mobile, …) are à-la-carte plugins auto-detected at boot and selectable via the TEST TARGET switcher. NestJS server + React+MobX frontend. Reads run-artifac","directories":{},"_nodeVersion":"22.23.0","dependencies":{"zod":"^3.23.0","rxjs":"^7.8.0","yaml":"^2.6.0","fflate":"^0.8.2","chokidar":"^4.0.0","nestjs-zod":"^4.0.0","@nestjs/core":"^11.0.0","@unotest/dsl":"^0.32.0","@unotest/core":"^0.32.0","@nestjs/common":"^11.0.0","@fastify/static":"^10.0.0","reflect-metadata":"^0.2.0","@unotest/protocol":"^0.32.0","@nestjs/websockets":"^11.0.0","@nestjs/platform-ws":"^11.0.0","@nestjs/platform-fastify":"^11.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"ws":"^8.21.0","tsx":"^4.19.2","jest":"^29.7.0","mobx":"^6.13.0","tsup":"^8.5.1","vite":"^5.4.0","jsdom":"^25.0.0","react":"^18.3.1","terser":"^5.48.0","vitest":"^2.1.0","ts-jest":"^29.2.0","@swc/core":"^1.10.0","@types/ws":"^8.18.1","cross-env":"^7.0.3","react-dom":"^18.3.1","supertest":"^7.0.0","playwright":"^1.62.0","typescript":"^5.7.2","@types/jest":"^29.5.0","@types/node":"^22.10.0","tailwindcss":"^4.3.0","@types/react":"^18.3.0","@unotest/web":"^0.32.0","@xterm/xterm":"^6.1.0-beta.261","monaco-editor":"^0.52.0","@nestjs/testing":"^11.0.0","@unotest/mobile":"^0.32.0","mobx-react-lite":"^4.0.7","@types/react-dom":"^18.3.0","@types/supertest":"^6.0.0","@xterm/addon-fit":"^0.11.0","@tailwindcss/vite":"^4.3.0","@testing-library/dom":"^10.4.1","@vitejs/plugin-react":"^4.3.0","javascript-obfuscator":"^4.1.1","@testing-library/react":"^16.0.0"},"optionalDependencies":{"node-pty":"^1.1.0"},"_npmOperationalInternal":{"tmp":"tmp/viewer_0.32.0_1788561388191_0.22025998196208274","host":"s3://npm-registry-packages-npm-production"}},"0.33.0":{"name":"@unotest/viewer","version":"0.33.0","author":{"name":"Ivan Volkov","email":"ivan@volkov.io"},"license":"MIT","_id":"@unotest/viewer@0.33.0","maintainers":[{"name":"unotest","email":"ivan@unotest.com"}],"homepage":"https://www.npmjs.com/package/@unotest/viewer","bin":{"unotest-viewer":"bin/unotest-viewer.js"},"dist":{"shasum":"8cc105b831709065377f7d34a46d328e220dc060","tarball":"https://registry.npmjs.org/@unotest/viewer/-/viewer-0.33.0.tgz","fileCount":20,"integrity":"sha512-YgzyrqnHfRYiBmFvUSbl/DOqNm6N8hamnAaCNjjYm/s3WYXxKoAkralk4evJp7DAO/anBU7jpqmqbONsoZh8iA==","signatures":[{"sig":"MEQCIDBsYjjNTOlLJYazHvUK9EBoMWRZzAmT1e210JqZBu/YAiBTh18HGRiulbic5hK4ZuMAg1LL46Dax9BhhhAzDmykkQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":5204694},"main":"./dist/server/main.js","type":"module","_from":"file:unotest-viewer-0.33.0.tgz","types":"./dist/server/main.d.ts","engines":{"node":">=20"},"exports":{"./wire":{"types":"./dist/server/wire.d.ts","import":"./dist/server/wire.js"},"./web/*":"./dist/web/*","./server":{"types":"./dist/server/main.d.ts","import":"./dist/server/main.js"},"./session":{"types":"./dist/server/session.d.ts","import":"./dist/server/session.js"},"./snapshot":{"types":"./dist/server/snapshot.d.ts","import":"./dist/server/snapshot.js"}},"_npmUser":{"name":"unotest","email":"ivan@unotest.com"},"_resolved":"/private/var/folders/rz/_3r_2y197wsgdyw3_l5ygv340000gn/T/89699e2b38dcad1314f61dfcd3020077/unotest-viewer-0.33.0.tgz","_integrity":"sha512-YgzyrqnHfRYiBmFvUSbl/DOqNm6N8hamnAaCNjjYm/s3WYXxKoAkralk4evJp7DAO/anBU7jpqmqbONsoZh8iA==","_npmVersion":"10.9.8","description":"Localhost HTTP+WS viewer for unotest. Target-agnostic host: runner packages (@unotest/web, @unotest/mobile, …) are à-la-carte plugins auto-detected at boot and selectable via the TEST TARGET switcher. NestJS server + React+MobX frontend. Reads run-artifac","directories":{},"_nodeVersion":"22.23.0","dependencies":{"zod":"^3.23.0","rxjs":"^7.8.0","yaml":"^2.6.0","fflate":"^0.8.2","chokidar":"^4.0.0","nestjs-zod":"^4.0.0","@nestjs/core":"^11.0.0","@unotest/dsl":"^0.33.0","@unotest/core":"^0.33.0","@nestjs/common":"^11.0.0","@fastify/static":"^10.0.0","reflect-metadata":"^0.2.0","@unotest/protocol":"^0.33.0","@nestjs/websockets":"^11.0.0","@nestjs/platform-ws":"^11.0.0","@nestjs/platform-fastify":"^11.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"ws":"^8.21.0","tsx":"^4.19.2","jest":"^29.7.0","mobx":"^6.13.0","tsup":"^8.5.1","vite":"^5.4.0","jsdom":"^25.0.0","react":"^18.3.1","terser":"^5.48.0","vitest":"^2.1.0","ts-jest":"^29.2.0","@swc/core":"^1.10.0","@types/ws":"^8.18.1","cross-env":"^7.0.3","react-dom":"^18.3.1","supertest":"^7.0.0","playwright":"1.62.1","typescript":"^5.7.2","@types/jest":"^29.5.0","@types/node":"^22.10.0","tailwindcss":"^4.3.0","@types/react":"^18.3.0","@unotest/web":"^0.33.0","@xterm/xterm":"^6.1.0-beta.261","monaco-editor":"^0.52.0","@nestjs/testing":"^11.0.0","@unotest/mobile":"^0.33.0","mobx-react-lite":"^4.0.7","@types/react-dom":"^18.3.0","@types/supertest":"^6.0.0","@xterm/addon-fit":"^0.11.0","@tailwindcss/vite":"^4.3.0","@testing-library/dom":"^10.4.1","@vitejs/plugin-react":"^4.3.0","javascript-obfuscator":"^4.1.1","@testing-library/react":"^16.0.0"},"optionalDependencies":{"node-pty":"^1.1.0"},"_npmOperationalInternal":{"tmp":"tmp/viewer_0.33.0_1788698648245_0.7277666506064067","host":"s3://npm-registry-packages-npm-production"}},"0.35.0":{"name":"@unotest/viewer","version":"0.35.0","author":{"name":"Ivan Volkov","email":"ivan@volkov.io"},"license":"MIT","_id":"@unotest/viewer@0.35.0","maintainers":[{"name":"unotest","email":"ivan@unotest.com"}],"homepage":"https://www.npmjs.com/package/@unotest/viewer","bin":{"unotest-viewer":"bin/unotest-viewer.js"},"dist":{"shasum":"c49cf58667cd5a67008ac74dc7310b7d87b59897","tarball":"https://registry.npmjs.org/@unotest/viewer/-/viewer-0.35.0.tgz","fileCount":20,"integrity":"sha512-ixQqKwAOdOgAqIWaRMjN0W3hXGfU616Ni2U/T/BFCo8SNpQQv1rdGy2WvRC3zwX/AvRVb3KE5nbLMOGioDx/jQ==","signatures":[{"sig":"MEYCIQDeUM/zsKgjM9SWa4I1LRzL4MX0prndzq5d6CjayJvFEwIhAO+pSuhSL4KUKr1Xm088DzE0v6vHCjeVOuRbNJXJAgKO","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEQCIGfYqY65RZRoAQVefpzxEoXRBArg+vf0GuqyheUc4WZlAiAd+U30gJQfE9qlXpMuo3loxeEk7FeTpd0VikmVIF8pTw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":5207662},"main":"./dist/server/main.js","type":"module","_from":"file:unotest-viewer-0.35.0.tgz","types":"./dist/server/main.d.ts","engines":{"node":">=20"},"exports":{"./wire":{"types":"./dist/server/wire.d.ts","import":"./dist/server/wire.js"},"./web/*":"./dist/web/*","./server":{"types":"./dist/server/main.d.ts","import":"./dist/server/main.js"},"./session":{"types":"./dist/server/session.d.ts","import":"./dist/server/session.js"},"./snapshot":{"types":"./dist/server/snapshot.d.ts","import":"./dist/server/snapshot.js"}},"_npmUser":{"name":"unotest","email":"ivan@unotest.com"},"_resolved":"/private/var/folders/rz/_3r_2y197wsgdyw3_l5ygv340000gn/T/39c8dc7220d04a4991b07736922f80c4/unotest-viewer-0.35.0.tgz","_integrity":"sha512-ixQqKwAOdOgAqIWaRMjN0W3hXGfU616Ni2U/T/BFCo8SNpQQv1rdGy2WvRC3zwX/AvRVb3KE5nbLMOGioDx/jQ==","_npmVersion":"10.9.8","description":"Localhost HTTP+WS viewer for unotest. Target-agnostic host: runner packages (@unotest/web, @unotest/mobile, …) are à-la-carte plugins auto-detected at boot and selectable via the TEST TARGET switcher. NestJS server + React+MobX frontend. Reads run-artifac","directories":{},"_nodeVersion":"22.23.0","dependencies":{"zod":"^3.23.0","rxjs":"^7.8.0","yaml":"^2.6.0","fflate":"^0.8.2","chokidar":"^4.0.0","nestjs-zod":"^4.0.0","@nestjs/core":"^11.0.0","@unotest/dsl":"^0.35.0","@unotest/core":"^0.35.0","@nestjs/common":"^11.0.0","@fastify/static":"^10.0.0","reflect-metadata":"^0.2.0","@unotest/protocol":"^0.35.0","@nestjs/websockets":"^11.0.0","@nestjs/platform-ws":"^11.0.0","@nestjs/platform-fastify":"^11.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"ws":"^8.21.0","tsx":"^4.19.2","jest":"^29.7.0","mobx":"^6.13.0","tsup":"^8.5.1","vite":"^5.4.0","jsdom":"^25.0.0","react":"^18.3.1","terser":"^5.48.0","vitest":"^2.1.0","ts-jest":"^29.2.0","@swc/core":"^1.10.0","@types/ws":"^8.18.1","cross-env":"^7.0.3","react-dom":"^18.3.1","supertest":"^7.0.0","playwright":"1.62.1","typescript":"^5.7.2","@types/jest":"^29.5.0","@types/node":"^22.10.0","tailwindcss":"^4.3.0","@types/react":"^18.3.0","@unotest/web":"^0.35.0","@xterm/xterm":"^6.1.0-beta.261","monaco-editor":"^0.52.0","@nestjs/testing":"^11.0.0","@unotest/mobile":"^0.35.0","mobx-react-lite":"^4.0.7","@types/react-dom":"^18.3.0","@types/supertest":"^6.0.0","@xterm/addon-fit":"^0.11.0","@tailwindcss/vite":"^4.3.0","@testing-library/dom":"^10.4.1","@vitejs/plugin-react":"^4.3.0","javascript-obfuscator":"^4.1.1","@testing-library/react":"^16.0.0"},"optionalDependencies":{"node-pty":"^1.1.0"},"_npmOperationalInternal":{"tmp":"tmp/viewer_0.35.0_1789509071836_0.2284953304515609","host":"s3://npm-registry-packages-npm-production"}},"0.35.1":{"name":"@unotest/viewer","version":"0.35.1","author":{"name":"Ivan Volkov","email":"ivan@volkov.io"},"license":"MIT","_id":"@unotest/viewer@0.35.1","maintainers":[{"name":"unotest","email":"ivan@unotest.com"}],"homepage":"https://www.npmjs.com/package/@unotest/viewer","bin":{"unotest-viewer":"bin/unotest-viewer.js"},"dist":{"shasum":"f73d458bee6c56f7cb239904b9d95f98834d9dea","tarball":"https://registry.npmjs.org/@unotest/viewer/-/viewer-0.35.1.tgz","fileCount":20,"integrity":"sha512-dCxMGXKqRyod3kdGbWXTUhVTYSbHuxq0hbSyVDJFOA0QY5GsDmF0RxJeGR2w4BFiHmtSVB7YSy9XVULgu9THlQ==","signatures":[{"sig":"MEUCIGsydXw+C1T4VGpWrQolriPmbyspDOWrCr4mivVtve1aAiEAjRiOKX4021uOE5ct9JRd8jnogv1hGQb49GiwPxA+u8U=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIHQdSP6X5oSh1yn7XwHjrd3FXxTT8ClolQJcCd1752viAiEA9oruWS00fa7JcebI+Ym8yXgZPKYySwonalfyuxOAYX0=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":5207951},"main":"./dist/server/main.js","type":"module","_from":"file:unotest-viewer-0.35.1.tgz","types":"./dist/server/main.d.ts","engines":{"node":">=20"},"exports":{"./wire":{"types":"./dist/server/wire.d.ts","import":"./dist/server/wire.js"},"./web/*":"./dist/web/*","./server":{"types":"./dist/server/main.d.ts","import":"./dist/server/main.js"},"./session":{"types":"./dist/server/session.d.ts","import":"./dist/server/session.js"},"./snapshot":{"types":"./dist/server/snapshot.d.ts","import":"./dist/server/snapshot.js"}},"_npmUser":{"name":"unotest","email":"ivan@unotest.com"},"_resolved":"/private/var/folders/rz/_3r_2y197wsgdyw3_l5ygv340000gn/T/0249c104d6c81222f272a318b956b2df/unotest-viewer-0.35.1.tgz","_integrity":"sha512-dCxMGXKqRyod3kdGbWXTUhVTYSbHuxq0hbSyVDJFOA0QY5GsDmF0RxJeGR2w4BFiHmtSVB7YSy9XVULgu9THlQ==","_npmVersion":"10.9.8","description":"Localhost HTTP+WS viewer for unotest. Target-agnostic host: runner packages (@unotest/web, @unotest/mobile, …) are à-la-carte plugins auto-detected at boot and selectable via the TEST TARGET switcher. NestJS server + React+MobX frontend. Reads run-artifac","directories":{},"_nodeVersion":"22.23.0","dependencies":{"zod":"^3.23.0","rxjs":"^7.8.0","yaml":"^2.6.0","fflate":"^0.8.2","chokidar":"^4.0.0","nestjs-zod":"^4.0.0","@nestjs/core":"^11.0.0","@unotest/dsl":"^0.35.1","@unotest/core":"^0.35.1","@nestjs/common":"^11.0.0","@fastify/static":"^10.0.0","reflect-metadata":"^0.2.0","@unotest/protocol":"^0.35.1","@nestjs/websockets":"^11.0.0","@nestjs/platform-ws":"^11.0.0","@nestjs/platform-fastify":"^11.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"ws":"^8.21.0","tsx":"^4.19.2","jest":"^29.7.0","mobx":"^6.13.0","tsup":"^8.5.1","vite":"^5.4.0","jsdom":"^25.0.0","react":"^18.3.1","terser":"^5.48.0","vitest":"^2.1.0","ts-jest":"^29.2.0","@swc/core":"^1.10.0","@types/ws":"^8.18.1","cross-env":"^7.0.3","react-dom":"^18.3.1","supertest":"^7.0.0","playwright":"1.62.1","typescript":"^5.7.2","@types/jest":"^29.5.0","@types/node":"^22.10.0","tailwindcss":"^4.3.0","@types/react":"^18.3.0","@unotest/web":"^0.35.1","@xterm/xterm":"^6.1.0-beta.261","monaco-editor":"^0.52.0","@nestjs/testing":"^11.0.0","@unotest/mobile":"^0.35.1","mobx-react-lite":"^4.0.7","@types/react-dom":"^18.3.0","@types/supertest":"^6.0.0","@xterm/addon-fit":"^0.11.0","@tailwindcss/vite":"^4.3.0","@testing-library/dom":"^10.4.1","@vitejs/plugin-react":"^4.3.0","javascript-obfuscator":"^4.1.1","@testing-library/react":"^16.0.0"},"optionalDependencies":{"node-pty":"^1.1.0"},"_npmOperationalInternal":{"tmp":"tmp/viewer_0.35.1_1789556396652_0.9623563665554828","host":"s3://npm-registry-packages-npm-production"}},"0.35.2":{"name":"@unotest/viewer","version":"0.35.2","author":{"name":"Ivan Volkov","email":"ivan@volkov.io"},"license":"MIT","_id":"@unotest/viewer@0.35.2","maintainers":[{"name":"unotest","email":"ivan@unotest.com"}],"homepage":"https://www.npmjs.com/package/@unotest/viewer","bin":{"unotest-viewer":"bin/unotest-viewer.js"},"dist":{"shasum":"7c472dc44ae210692d51e730fdb0e6108c0111e1","tarball":"https://registry.npmjs.org/@unotest/viewer/-/viewer-0.35.2.tgz","fileCount":20,"integrity":"sha512-ZcbwEkeLn4THL2bXSgU4HGVFtdkgZ3bBYr4UGscDbL21tR3foXreZden9EGYSflZ9Xk8q4QBWoRXalCqf+j/cw==","signatures":[{"sig":"MEYCIQCuBm2eBmmcVMbjLwPOMKKmrmfHPY8vbudsqXq1YKz15QIhAIZF0MJScBTzyobk1n33d5k0EudS0JnNrAx+q38aEW3o","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEYCIQCQQ1oJOGpHWNXsmLkRGu0vl+owe+nBMaUBbKRx0d5lSwIhAPTyQZoY39UQIczmU0sgJdkRb6KHEhlVUZ29sH9jnjic","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":5208195},"main":"./dist/server/main.js","type":"module","_from":"file:unotest-viewer-0.35.2.tgz","types":"./dist/server/main.d.ts","engines":{"node":">=20"},"exports":{"./wire":{"types":"./dist/server/wire.d.ts","import":"./dist/server/wire.js"},"./web/*":"./dist/web/*","./server":{"types":"./dist/server/main.d.ts","import":"./dist/server/main.js"},"./session":{"types":"./dist/server/session.d.ts","import":"./dist/server/session.js"},"./snapshot":{"types":"./dist/server/snapshot.d.ts","import":"./dist/server/snapshot.js"}},"_npmUser":{"name":"unotest","email":"ivan@unotest.com"},"_resolved":"/private/var/folders/rz/_3r_2y197wsgdyw3_l5ygv340000gn/T/db63cdf5bfc7eb4d22c38570844a95c9/unotest-viewer-0.35.2.tgz","_integrity":"sha512-ZcbwEkeLn4THL2bXSgU4HGVFtdkgZ3bBYr4UGscDbL21tR3foXreZden9EGYSflZ9Xk8q4QBWoRXalCqf+j/cw==","_npmVersion":"10.9.8","description":"Localhost HTTP+WS viewer for unotest. Target-agnostic host: runner packages (@unotest/web, @unotest/mobile, …) are à-la-carte plugins auto-detected at boot and selectable via the TEST TARGET switcher. NestJS server + React+MobX frontend. Reads run-artifac","directories":{},"_nodeVersion":"22.23.0","dependencies":{"zod":"^3.23.0","rxjs":"^7.8.0","yaml":"^2.6.0","fflate":"^0.8.2","chokidar":"^4.0.0","nestjs-zod":"^4.0.0","@nestjs/core":"^11.0.0","@unotest/dsl":"^0.35.2","@unotest/core":"^0.35.2","@nestjs/common":"^11.0.0","@fastify/static":"^10.0.0","reflect-metadata":"^0.2.0","@unotest/protocol":"^0.35.2","@nestjs/websockets":"^11.0.0","@nestjs/platform-ws":"^11.0.0","@nestjs/platform-fastify":"^11.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"ws":"^8.21.0","tsx":"^4.19.2","jest":"^29.7.0","mobx":"^6.13.0","tsup":"^8.5.1","vite":"^5.4.0","jsdom":"^25.0.0","react":"^18.3.1","terser":"^5.48.0","vitest":"^2.1.0","ts-jest":"^29.2.0","@swc/core":"^1.10.0","@types/ws":"^8.18.1","cross-env":"^7.0.3","react-dom":"^18.3.1","supertest":"^7.0.0","playwright":"1.62.1","typescript":"^5.7.2","@types/jest":"^29.5.0","@types/node":"^22.10.0","tailwindcss":"^4.3.0","@types/react":"^18.3.0","@unotest/web":"^0.35.2","@xterm/xterm":"^6.1.0-beta.261","monaco-editor":"^0.52.0","@nestjs/testing":"^11.0.0","@unotest/mobile":"^0.35.2","mobx-react-lite":"^4.0.7","@types/react-dom":"^18.3.0","@types/supertest":"^6.0.0","@xterm/addon-fit":"^0.11.0","@tailwindcss/vite":"^4.3.0","@testing-library/dom":"^10.4.1","@vitejs/plugin-react":"^4.3.0","javascript-obfuscator":"^4.1.1","@testing-library/react":"^16.0.0"},"optionalDependencies":{"node-pty":"^1.1.0"},"_npmOperationalInternal":{"tmp":"tmp/viewer_0.35.2_1789568460995_0.3908141045170075","host":"s3://npm-registry-packages-npm-production"}},"0.36.0":{"name":"@unotest/viewer","version":"0.36.0","author":{"name":"Ivan Volkov","email":"ivan@volkov.io"},"license":"MIT","_id":"@unotest/viewer@0.36.0","maintainers":[{"name":"unotest","email":"ivan@unotest.com"}],"homepage":"https://www.npmjs.com/package/@unotest/viewer","bin":{"unotest-viewer":"bin/unotest-viewer.js"},"dist":{"shasum":"a3142dae6d6b95fbb4399991a2d9a59a3f1d2cdb","tarball":"https://registry.npmjs.org/@unotest/viewer/-/viewer-0.36.0.tgz","fileCount":20,"integrity":"sha512-v+VTlZz6aF993S5W6aLufN7MwStZ+O6NDY5D1SjKZS8/QxM7nRPsG0o+3AEOhHnOYL7GlVepH4OOIxdWv2pSig==","signatures":[{"sig":"MEUCIDpoQK+iUJgu8+JNQEBo0stwlXrA0T2tiFjJSQKer5zaAiEA0hE+aBlX812l3y3raLTY7yxNwV8boAv+KbO0v5HUlmI=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIQDj0unANQHa6XVTgeBDJzn9b47T5KBI6uNaR4Ml4XRLRwIgEX0S8Esw3pPvCBzgjXG73AFQyUGHjc6oDZ6Z2YWdho4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":5206307},"main":"./dist/server/main.js","type":"module","_from":"file:unotest-viewer-0.36.0.tgz","types":"./dist/server/main.d.ts","engines":{"node":">=20"},"exports":{"./wire":{"types":"./dist/server/wire.d.ts","import":"./dist/server/wire.js"},"./web/*":"./dist/web/*","./server":{"types":"./dist/server/main.d.ts","import":"./dist/server/main.js"},"./session":{"types":"./dist/server/session.d.ts","import":"./dist/server/session.js"},"./snapshot":{"types":"./dist/server/snapshot.d.ts","import":"./dist/server/snapshot.js"}},"_npmUser":{"name":"unotest","email":"ivan@unotest.com"},"_resolved":"/private/var/folders/rz/_3r_2y197wsgdyw3_l5ygv340000gn/T/321b8021fe4040a38c9e62982e864c57/unotest-viewer-0.36.0.tgz","_integrity":"sha512-v+VTlZz6aF993S5W6aLufN7MwStZ+O6NDY5D1SjKZS8/QxM7nRPsG0o+3AEOhHnOYL7GlVepH4OOIxdWv2pSig==","_npmVersion":"10.9.8","description":"Localhost HTTP+WS viewer for unotest. Target-agnostic host: runner packages (@unotest/web, @unotest/mobile, …) are à-la-carte plugins auto-detected at boot and selectable via the TEST TARGET switcher. NestJS server + React+MobX frontend. Reads run-artifac","directories":{},"_nodeVersion":"22.23.0","dependencies":{"zod":"^3.23.0","rxjs":"^7.8.0","yaml":"^2.6.0","fflate":"^0.8.2","chokidar":"^4.0.0","nestjs-zod":"^4.0.0","@nestjs/core":"^11.0.0","@unotest/dsl":"^0.36.0","@unotest/core":"^0.36.0","@nestjs/common":"^11.0.0","@fastify/static":"^10.0.0","reflect-metadata":"^0.2.0","@unotest/protocol":"^0.36.0","@nestjs/websockets":"^11.0.0","@nestjs/platform-ws":"^11.0.0","@nestjs/platform-fastify":"^11.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"ws":"^8.21.0","tsx":"^4.19.2","jest":"^29.7.0","mobx":"^6.13.0","tsup":"^8.5.1","vite":"^5.4.0","jsdom":"^25.0.0","react":"^18.3.1","terser":"^5.48.0","vitest":"^2.1.0","ts-jest":"^29.2.0","@swc/core":"^1.10.0","@types/ws":"^8.18.1","cross-env":"^7.0.3","react-dom":"^18.3.1","supertest":"^7.0.0","playwright":"1.62.1","typescript":"^5.7.2","@types/jest":"^29.5.0","@types/node":"^22.10.0","tailwindcss":"^4.3.0","@types/react":"^18.3.0","@unotest/web":"^0.36.0","@xterm/xterm":"^6.1.0-beta.261","monaco-editor":"^0.52.0","@nestjs/testing":"^11.0.0","@unotest/mobile":"^0.36.0","mobx-react-lite":"^4.0.7","@types/react-dom":"^18.3.0","@types/supertest":"^6.0.0","@xterm/addon-fit":"^0.11.0","@tailwindcss/vite":"^4.3.0","@testing-library/dom":"^10.4.1","@vitejs/plugin-react":"^4.3.0","javascript-obfuscator":"^4.1.1","@testing-library/react":"^16.0.0"},"optionalDependencies":{"node-pty":"^1.1.0"},"_npmOperationalInternal":{"tmp":"tmp/viewer_0.36.0_1789584799115_0.8025364369582024","host":"s3://npm-registry-packages-npm-production"}},"0.37.0":{"name":"@unotest/viewer","version":"0.37.0","author":{"name":"Ivan Volkov","email":"ivan@volkov.io"},"license":"MIT","_id":"@unotest/viewer@0.37.0","maintainers":[{"name":"unotest","email":"ivan@unotest.com"}],"homepage":"https://www.npmjs.com/package/@unotest/viewer","bin":{"unotest-viewer":"bin/unotest-viewer.js"},"dist":{"shasum":"554d4090cf6a7a960a691c9d9a4c3c6e0c550c7d","tarball":"https://registry.npmjs.org/@unotest/viewer/-/viewer-0.37.0.tgz","fileCount":20,"integrity":"sha512-sJqxmKDp1ZmlOhZLlZ6e28qj9PLusbXDC7ByUkjolRpiWILPhU/NAwMrdJhZNUsHasdM5YUFahkiePT+jmZBDQ==","signatures":[{"sig":"MEUCIGrnjDBt3P8AOZPJfpr8AbZHphHbmiyrM2IVehK/atLRAiEAic9jqyi5U3UqElfs7keRyAy+kOYzmPTj+0GF/Vx7fIA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEYCIQD99RXjURnus93jKY4dJzEu12r4wsCHF48zzR9+iV15/QIhALdxrD0nNDYexcpjE7TeJCiVmFnChA+zARQRMr1DXsFb","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":5208183},"main":"./dist/server/main.js","type":"module","_from":"file:unotest-viewer-0.37.0.tgz","types":"./dist/server/main.d.ts","engines":{"node":">=20"},"exports":{"./wire":{"types":"./dist/server/wire.d.ts","import":"./dist/server/wire.js"},"./web/*":"./dist/web/*","./server":{"types":"./dist/server/main.d.ts","import":"./dist/server/main.js"},"./session":{"types":"./dist/server/session.d.ts","import":"./dist/server/session.js"},"./snapshot":{"types":"./dist/server/snapshot.d.ts","import":"./dist/server/snapshot.js"}},"_npmUser":{"name":"unotest","email":"ivan@unotest.com"},"_resolved":"/private/var/folders/rz/_3r_2y197wsgdyw3_l5ygv340000gn/T/83aa8f32fafff1a88c20464b69bd5102/unotest-viewer-0.37.0.tgz","_integrity":"sha512-sJqxmKDp1ZmlOhZLlZ6e28qj9PLusbXDC7ByUkjolRpiWILPhU/NAwMrdJhZNUsHasdM5YUFahkiePT+jmZBDQ==","_npmVersion":"10.9.8","description":"Localhost HTTP+WS viewer for unotest. Target-agnostic host: runner packages (@unotest/web, @unotest/mobile, …) are à-la-carte plugins auto-detected at boot and selectable via the TEST TARGET switcher. NestJS server + React+MobX frontend. Reads run-artifac","directories":{},"_nodeVersion":"22.23.0","dependencies":{"zod":"^3.23.0","rxjs":"^7.8.0","yaml":"^2.6.0","fflate":"^0.8.2","chokidar":"^4.0.0","nestjs-zod":"^4.0.0","@nestjs/core":"^11.0.0","@unotest/dsl":"^0.37.0","@unotest/core":"^0.37.0","@nestjs/common":"^11.0.0","@fastify/static":"^10.0.0","reflect-metadata":"^0.2.0","@unotest/protocol":"^0.37.0","@nestjs/websockets":"^11.0.0","@nestjs/platform-ws":"^11.0.0","@nestjs/platform-fastify":"^11.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"ws":"^8.21.0","tsx":"^4.19.2","jest":"^29.7.0","mobx":"^6.13.0","tsup":"^8.5.1","vite":"^5.4.0","jsdom":"^25.0.0","react":"^18.3.1","terser":"^5.48.0","vitest":"^2.1.0","ts-jest":"^29.2.0","@swc/core":"^1.10.0","@types/ws":"^8.18.1","cross-env":"^7.0.3","react-dom":"^18.3.1","supertest":"^7.0.0","playwright":"1.62.1","typescript":"^5.7.2","@types/jest":"^29.5.0","@types/node":"^22.10.0","tailwindcss":"^4.3.0","@types/react":"^18.3.0","@unotest/web":"^0.37.0","@xterm/xterm":"^6.1.0-beta.261","monaco-editor":"^0.52.0","@nestjs/testing":"^11.0.0","@unotest/mobile":"^0.37.0","mobx-react-lite":"^4.0.7","@types/react-dom":"^18.3.0","@types/supertest":"^6.0.0","@xterm/addon-fit":"^0.11.0","@tailwindcss/vite":"^4.3.0","@testing-library/dom":"^10.4.1","@vitejs/plugin-react":"^4.3.0","javascript-obfuscator":"^4.1.1","@testing-library/react":"^16.0.0"},"optionalDependencies":{"node-pty":"^1.1.0"},"_npmOperationalInternal":{"tmp":"tmp/viewer_0.37.0_1789640305871_0.35304545654720365","host":"s3://npm-registry-packages-npm-production"}},"0.38.0":{"name":"@unotest/viewer","version":"0.38.0","author":{"name":"Ivan Volkov","email":"ivan@volkov.io"},"license":"MIT","_id":"@unotest/viewer@0.38.0","maintainers":[{"name":"unotest","email":"ivan@unotest.com"}],"homepage":"https://www.npmjs.com/package/@unotest/viewer","bin":{"unotest-viewer":"bin/unotest-viewer.js"},"dist":{"shasum":"e93b1a0bdf1d484b55577dae78f73455a700f1c1","tarball":"https://registry.npmjs.org/@unotest/viewer/-/viewer-0.38.0.tgz","fileCount":20,"integrity":"sha512-kcS75jcnIsKQwo1mgLzD0NJecxy/nRbjCyvSM7LhiUAb80/+t5C2JUpgyceSjOiaWvEFXhAyhzx/5RRZjAc67g==","signatures":[{"sig":"MEUCIFObPLdRjs9Eq6wgXdC3EG7q3OZs4pT22bAcFD3A+2lJAiEAucpKNENYzyemYUPfiVm2rNuvUHDMljWga7kMsKAv2HA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEQCIGB/JPwHFs2Q6Pk+/nN6zUbffgNH3wXc8Cy42MfOIr/wAiBXimtkyG4jPWx411Dhq1XxhBLcyFL9m9RAxRTS/IIs8g==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":5209024},"main":"./dist/server/main.js","type":"module","_from":"file:unotest-viewer-0.38.0.tgz","types":"./dist/server/main.d.ts","engines":{"node":">=20"},"exports":{"./wire":{"types":"./dist/server/wire.d.ts","import":"./dist/server/wire.js"},"./web/*":"./dist/web/*","./server":{"types":"./dist/server/main.d.ts","import":"./dist/server/main.js"},"./session":{"types":"./dist/server/session.d.ts","import":"./dist/server/session.js"},"./snapshot":{"types":"./dist/server/snapshot.d.ts","import":"./dist/server/snapshot.js"}},"_npmUser":{"name":"unotest","email":"ivan@unotest.com"},"_resolved":"/private/var/folders/rz/_3r_2y197wsgdyw3_l5ygv340000gn/T/7446bebd1ff540e44e2f7c3a2ef173b3/unotest-viewer-0.38.0.tgz","_integrity":"sha512-kcS75jcnIsKQwo1mgLzD0NJecxy/nRbjCyvSM7LhiUAb80/+t5C2JUpgyceSjOiaWvEFXhAyhzx/5RRZjAc67g==","_npmVersion":"10.9.8","description":"Localhost HTTP+WS viewer for unotest. Target-agnostic host: runner packages (@unotest/web, @unotest/mobile, …) are à-la-carte plugins auto-detected at boot and selectable via the TEST TARGET switcher. NestJS server + React+MobX frontend. Reads run-artifac","directories":{},"_nodeVersion":"22.23.0","dependencies":{"zod":"^3.23.0","rxjs":"^7.8.0","yaml":"^2.6.0","fflate":"^0.8.2","chokidar":"^4.0.0","nestjs-zod":"^4.0.0","@nestjs/core":"^11.0.0","@unotest/dsl":"^0.38.0","@unotest/core":"^0.38.0","@nestjs/common":"^11.0.0","@fastify/static":"^10.0.0","reflect-metadata":"^0.2.0","@unotest/protocol":"^0.38.0","@nestjs/websockets":"^11.0.0","@nestjs/platform-ws":"^11.0.0","@nestjs/platform-fastify":"^11.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"ws":"^8.21.0","tsx":"^4.19.2","jest":"^29.7.0","mobx":"^6.13.0","tsup":"^8.5.1","vite":"^5.4.0","jsdom":"^25.0.0","react":"^18.3.1","terser":"^5.48.0","vitest":"^2.1.0","ts-jest":"^29.2.0","@swc/core":"^1.10.0","@types/ws":"^8.18.1","cross-env":"^7.0.3","react-dom":"^18.3.1","supertest":"^7.0.0","playwright":"1.62.1","typescript":"^5.7.2","@types/jest":"^29.5.0","@types/node":"^22.10.0","tailwindcss":"^4.3.0","@types/react":"^18.3.0","@unotest/web":"^0.38.0","@xterm/xterm":"^6.1.0-beta.261","monaco-editor":"^0.52.0","@nestjs/testing":"^11.0.0","@unotest/mobile":"^0.38.0","mobx-react-lite":"^4.0.7","@types/react-dom":"^18.3.0","@types/supertest":"^6.0.0","@xterm/addon-fit":"^0.11.0","@tailwindcss/vite":"^4.3.0","@testing-library/dom":"^10.4.1","@vitejs/plugin-react":"^4.3.0","javascript-obfuscator":"^4.1.1","@testing-library/react":"^16.0.0"},"optionalDependencies":{"node-pty":"^1.1.0"},"_npmOperationalInternal":{"tmp":"tmp/viewer_0.38.0_1789680896627_0.3683541884985946","host":"s3://npm-registry-packages-npm-production"}},"0.39.0":{"name":"@unotest/viewer","version":"0.39.0","author":{"name":"Ivan Volkov","email":"ivan@volkov.io"},"license":"MIT","_id":"@unotest/viewer@0.39.0","maintainers":[{"name":"unotest","email":"ivan@unotest.com"}],"homepage":"https://www.npmjs.com/package/@unotest/viewer","bin":{"unotest-viewer":"bin/unotest-viewer.js"},"dist":{"shasum":"e3f6ebe6ecbcc81bec7191888b943fc237fb3090","tarball":"https://registry.npmjs.org/@unotest/viewer/-/viewer-0.39.0.tgz","fileCount":20,"integrity":"sha512-AFKneihQDT0g3KwC5ILzFL6PNPbOo6v2c76mzYxSBKh+JmNH5VCiTHBqZRrFKDwfJ/+gVhS33oSJtwOtw09how==","signatures":[{"sig":"MEQCIGI/npqUSK+I4Iy1c4CRlzv2DErU5Cc+eykt9C7BNvATAiBBgNf/Urk7vk1Eyw9+fkk0AFdGP+bKzgvIaOx8Spy1iA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCICPzb2x7OxC7Zy3sJhLyg/4pNLrJ9dMya1Ct2evmqiLIAiEAuQ5wE9VGEJ9mDkm0eXFDLhPUdrkBZp5s4qGxv+/KXzA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":5208637},"main":"./dist/server/main.js","type":"module","_from":"file:unotest-viewer-0.39.0.tgz","types":"./dist/server/main.d.ts","engines":{"node":">=20"},"exports":{"./wire":{"types":"./dist/server/wire.d.ts","import":"./dist/server/wire.js"},"./web/*":"./dist/web/*","./server":{"types":"./dist/server/main.d.ts","import":"./dist/server/main.js"},"./session":{"types":"./dist/server/session.d.ts","import":"./dist/server/session.js"},"./snapshot":{"types":"./dist/server/snapshot.d.ts","import":"./dist/server/snapshot.js"}},"_npmUser":{"name":"unotest","email":"ivan@unotest.com"},"_resolved":"/private/var/folders/rz/_3r_2y197wsgdyw3_l5ygv340000gn/T/c305344d9ed0b49520f2e10ee8d81f55/unotest-viewer-0.39.0.tgz","_integrity":"sha512-AFKneihQDT0g3KwC5ILzFL6PNPbOo6v2c76mzYxSBKh+JmNH5VCiTHBqZRrFKDwfJ/+gVhS33oSJtwOtw09how==","_npmVersion":"10.9.8","description":"Localhost HTTP+WS viewer for unotest. Target-agnostic host: runner packages (@unotest/web, @unotest/mobile, …) are à-la-carte plugins auto-detected at boot and selectable via the TEST TARGET switcher. NestJS server + React+MobX frontend. Reads run-artifac","directories":{},"_nodeVersion":"22.23.0","dependencies":{"zod":"^3.23.0","rxjs":"^7.8.0","yaml":"^2.6.0","fflate":"^0.8.2","chokidar":"^4.0.0","nestjs-zod":"^4.0.0","@nestjs/core":"^11.0.0","@unotest/dsl":"^0.39.0","@unotest/core":"^0.39.0","@nestjs/common":"^11.0.0","@fastify/static":"^10.0.0","reflect-metadata":"^0.2.0","@unotest/protocol":"^0.39.0","@nestjs/websockets":"^11.0.0","@nestjs/platform-ws":"^11.0.0","@nestjs/platform-fastify":"^11.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"ws":"^8.21.0","tsx":"^4.19.2","jest":"^29.7.0","mobx":"^6.13.0","tsup":"^8.5.1","vite":"^5.4.0","jsdom":"^25.0.0","react":"^18.3.1","terser":"^5.48.0","vitest":"^2.1.0","ts-jest":"^29.2.0","@swc/core":"^1.10.0","@types/ws":"^8.18.1","cross-env":"^7.0.3","react-dom":"^18.3.1","supertest":"^7.0.0","playwright":"1.62.1","typescript":"^5.7.2","@types/jest":"^29.5.0","@types/node":"^22.10.0","tailwindcss":"^4.3.0","@types/react":"^18.3.0","@unotest/web":"^0.39.0","@xterm/xterm":"^6.1.0-beta.261","monaco-editor":"^0.52.0","@nestjs/testing":"^11.0.0","@unotest/mobile":"^0.39.0","mobx-react-lite":"^4.0.7","@types/react-dom":"^18.3.0","@types/supertest":"^6.0.0","@xterm/addon-fit":"^0.11.0","@tailwindcss/vite":"^4.3.0","@testing-library/dom":"^10.4.1","@vitejs/plugin-react":"^4.3.0","javascript-obfuscator":"^4.1.1","@testing-library/react":"^16.0.0"},"optionalDependencies":{"node-pty":"^1.1.0"},"_npmOperationalInternal":{"tmp":"tmp/viewer_0.39.0_1789766529582_0.38816048563212324","host":"s3://npm-registry-packages-npm-production"}},"0.40.0":{"name":"@unotest/viewer","version":"0.40.0","author":{"name":"Ivan Volkov","email":"ivan@volkov.io"},"license":"MIT","_id":"@unotest/viewer@0.40.0","maintainers":[{"name":"unotest","email":"ivan@unotest.com"}],"homepage":"https://www.npmjs.com/package/@unotest/viewer","bin":{"unotest-viewer":"bin/unotest-viewer.js"},"dist":{"shasum":"e87c8283834afa311963cc000de7f0dc5fbb724a","tarball":"https://registry.npmjs.org/@unotest/viewer/-/viewer-0.40.0.tgz","fileCount":20,"integrity":"sha512-842WxyyFeU57/3xhqvx4Hgj+0d54FbHBKIm8PyWGwzzfCoXNlSCXqJ0e5OgyRl4qn0T5BysF1zIreyyhv991TA==","signatures":[{"sig":"MEYCIQDvhEtHcG3LGDTB5H7yPLrGVQg/Rjo8vqK4bgr/FI4T6AIhALa1MfjlMQvKskqaPEfklTWbxpFMDHWRrYget0lu1ZD8","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEQCIHykHpcNwNCP2G2L1oGJ65mMdJ6xYSjugx1YDWNF5m7lAiBrd7xzT80oKur8RgWePFyqLO+nkVxU9yg/IWskendUuw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":5205552},"main":"./dist/server/main.js","type":"module","_from":"file:unotest-viewer-0.40.0.tgz","types":"./dist/server/main.d.ts","engines":{"node":">=20"},"exports":{"./wire":{"types":"./dist/server/wire.d.ts","import":"./dist/server/wire.js"},"./web/*":"./dist/web/*","./server":{"types":"./dist/server/main.d.ts","import":"./dist/server/main.js"},"./session":{"types":"./dist/server/session.d.ts","import":"./dist/server/session.js"},"./snapshot":{"types":"./dist/server/snapshot.d.ts","import":"./dist/server/snapshot.js"}},"_npmUser":{"name":"unotest","email":"ivan@unotest.com"},"_resolved":"/private/var/folders/rz/_3r_2y197wsgdyw3_l5ygv340000gn/T/3689bcfe83ff6752d14e4d1e09850e7c/unotest-viewer-0.40.0.tgz","_integrity":"sha512-842WxyyFeU57/3xhqvx4Hgj+0d54FbHBKIm8PyWGwzzfCoXNlSCXqJ0e5OgyRl4qn0T5BysF1zIreyyhv991TA==","_npmVersion":"10.9.8","description":"Localhost HTTP+WS viewer for unotest. Target-agnostic host: runner packages (@unotest/web, @unotest/mobile, …) are à-la-carte plugins auto-detected at boot and selectable via the TEST TARGET switcher. NestJS server + React+MobX frontend. Reads run-artifac","directories":{},"_nodeVersion":"22.23.0","dependencies":{"zod":"^3.23.0","rxjs":"^7.8.0","yaml":"^2.6.0","fflate":"^0.8.2","chokidar":"^4.0.0","nestjs-zod":"^4.0.0","@nestjs/core":"^11.0.0","@unotest/dsl":"^0.40.0","@unotest/core":"^0.40.0","@nestjs/common":"^11.0.0","@fastify/static":"^10.0.0","reflect-metadata":"^0.2.0","@unotest/protocol":"^0.40.0","@nestjs/websockets":"^11.0.0","@nestjs/platform-ws":"^11.0.0","@nestjs/platform-fastify":"^11.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"ws":"^8.21.0","tsx":"^4.19.2","jest":"^29.7.0","mobx":"^6.13.0","tsup":"^8.5.1","vite":"^5.4.0","jsdom":"^25.0.0","react":"^18.3.1","terser":"^5.48.0","vitest":"^2.1.0","ts-jest":"^29.2.0","@swc/core":"^1.10.0","@types/ws":"^8.18.1","cross-env":"^7.0.3","react-dom":"^18.3.1","supertest":"^7.0.0","playwright":"1.62.1","typescript":"^5.7.2","@types/jest":"^29.5.0","@types/node":"^22.10.0","tailwindcss":"^4.3.0","@types/react":"^18.3.0","@unotest/web":"^0.40.0","@xterm/xterm":"^6.1.0-beta.261","monaco-editor":"^0.52.0","@nestjs/testing":"^11.0.0","@unotest/mobile":"^0.40.0","mobx-react-lite":"^4.0.7","@types/react-dom":"^18.3.0","@types/supertest":"^6.0.0","@xterm/addon-fit":"^0.11.0","@tailwindcss/vite":"^4.3.0","@testing-library/dom":"^10.4.1","@vitejs/plugin-react":"^4.3.0","javascript-obfuscator":"^4.1.1","@testing-library/react":"^16.0.0"},"optionalDependencies":{"node-pty":"^1.1.0"},"_npmOperationalInternal":{"tmp":"tmp/viewer_0.40.0_1789842196691_0.4078368688525287","host":"s3://npm-registry-packages-npm-production"}},"0.41.0":{"name":"@unotest/viewer","version":"0.41.0","author":{"name":"Ivan Volkov","email":"ivan@volkov.io"},"license":"MIT","_id":"@unotest/viewer@0.41.0","maintainers":[{"name":"unotest","email":"ivan@unotest.com"}],"homepage":"https://www.npmjs.com/package/@unotest/viewer","bin":{"unotest-viewer":"bin/unotest-viewer.js"},"dist":{"shasum":"d2d2bad1935aceef805b75e754eee68c18e252f4","tarball":"https://registry.npmjs.org/@unotest/viewer/-/viewer-0.41.0.tgz","fileCount":20,"integrity":"sha512-qDzNAIx3iQA+PtUlhhs7aQ/WEp9dpg1K5svUVFCDNdMwaIKDYErvslBvdagJPE9aeIpUGFJaFnW/oNrhiFJAlw==","signatures":[{"sig":"MEUCIGCK3DcgnCgY6KEAV9fjFfJnw4/9ido1JvpA0lv9MTolAiEAzphYJKAIEDky/fa5zOBFKtA1868BfshvpYmJVz7I0NU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIEFfcEV2BJCg5X9HFioSXcn5Zpw6/wlWdwl2wu7e0RMyAiEAjmn16DaMEQR1Wu1/Sj/2cZqpbxGv+vwYrbXLziNRURQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":5210518},"main":"./dist/server/main.js","type":"module","_from":"file:unotest-viewer-0.41.0.tgz","types":"./dist/server/main.d.ts","engines":{"node":">=20"},"exports":{"./wire":{"types":"./dist/server/wire.d.ts","import":"./dist/server/wire.js"},"./web/*":"./dist/web/*","./server":{"types":"./dist/server/main.d.ts","import":"./dist/server/main.js"},"./session":{"types":"./dist/server/session.d.ts","import":"./dist/server/session.js"},"./snapshot":{"types":"./dist/server/snapshot.d.ts","import":"./dist/server/snapshot.js"}},"_npmUser":{"name":"unotest","email":"ivan@unotest.com"},"_resolved":"/private/var/folders/rz/_3r_2y197wsgdyw3_l5ygv340000gn/T/dd04107be85ba0c7346f6e5144178451/unotest-viewer-0.41.0.tgz","_integrity":"sha512-qDzNAIx3iQA+PtUlhhs7aQ/WEp9dpg1K5svUVFCDNdMwaIKDYErvslBvdagJPE9aeIpUGFJaFnW/oNrhiFJAlw==","_npmVersion":"10.9.8","description":"Localhost HTTP+WS viewer for unotest. Target-agnostic host: runner packages (@unotest/web, @unotest/mobile, …) are à-la-carte plugins auto-detected at boot and selectable via the TEST TARGET switcher. NestJS server + React+MobX frontend. Reads run-artifac","directories":{},"_nodeVersion":"22.23.0","dependencies":{"zod":"^3.23.0","rxjs":"^7.8.0","yaml":"^2.6.0","fflate":"^0.8.2","chokidar":"^4.0.0","nestjs-zod":"^4.0.0","@nestjs/core":"^11.0.0","@unotest/dsl":"^0.41.0","@unotest/core":"^0.41.0","@nestjs/common":"^11.0.0","@fastify/static":"^10.0.0","reflect-metadata":"^0.2.0","@unotest/protocol":"^0.41.0","@nestjs/websockets":"^11.0.0","@nestjs/platform-ws":"^11.0.0","@nestjs/platform-fastify":"^11.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"ws":"^8.21.0","tsx":"^4.19.2","jest":"^29.7.0","mobx":"^6.13.0","tsup":"^8.5.1","vite":"^5.4.0","jsdom":"^25.0.0","react":"^18.3.1","terser":"^5.48.0","vitest":"^2.1.0","ts-jest":"^29.2.0","@swc/core":"^1.10.0","@types/ws":"^8.18.1","cross-env":"^7.0.3","react-dom":"^18.3.1","supertest":"^7.0.0","playwright":"1.62.1","typescript":"^5.7.2","@types/jest":"^29.5.0","@types/node":"^22.10.0","tailwindcss":"^4.3.0","@types/react":"^18.3.0","@unotest/web":"^0.41.0","@xterm/xterm":"^6.1.0-beta.261","monaco-editor":"^0.52.0","@nestjs/testing":"^11.0.0","@unotest/mobile":"^0.41.0","mobx-react-lite":"^4.0.7","@types/react-dom":"^18.3.0","@types/supertest":"^6.0.0","@xterm/addon-fit":"^0.11.0","@tailwindcss/vite":"^4.3.0","@testing-library/dom":"^10.4.1","@vitejs/plugin-react":"^4.3.0","javascript-obfuscator":"^4.1.1","@testing-library/react":"^16.0.0"},"optionalDependencies":{"node-pty":"^1.1.0"},"_npmOperationalInternal":{"tmp":"tmp/viewer_0.41.0_1790025363988_0.2244419229324781","host":"s3://npm-registry-packages-npm-production"}},"0.42.0":{"_id":"@unotest/viewer@0.42.0","bin":{"unotest-viewer":"bin/unotest-viewer.js"},"dist":{"shasum":"b0fa6af7a61bca82fceca9b9d3a8dc3d1861ddee","tarball":"https://registry.npmjs.org/@unotest/viewer/-/viewer-0.42.0.tgz","fileCount":20,"integrity":"sha512-317/xuLUQh7CguIbcUzNqQVJAYpKoKnctYrvFoEBSpUscQOzuuSRpS8Eb7htAhIOY/Y/uD/ReTjgMjNP1OIP/g==","signatures":[{"sig":"MEQCIEZWZSbXYFbFa2onmjflPiUaY3B4tPEtf9xknw4bj+r4AiAH6j7FeyBoxim5VJ+ovrUMSTySU5Y0SExdSa2zKjzvkQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIF1C43HugjIXwphQZ+lCrFNd+iOPI7shgMSWWpRtFU9PAiEAkVPHH0t4Yrid0pRC4BzD9qp9/4lk/wNEkppUpglbczE="}],"unpackedSize":5214236},"main":"./dist/server/main.js","name":"@unotest/viewer","type":"module","_from":"file:unotest-viewer-0.42.0.tgz","types":"./dist/server/main.d.ts","author":{"name":"Ivan Volkov","email":"ivan@volkov.io"},"engines":{"node":">=20"},"exports":{"./wire":{"types":"./dist/server/wire.d.ts","import":"./dist/server/wire.js"},"./web/*":"./dist/web/*","./server":{"types":"./dist/server/main.d.ts","import":"./dist/server/main.js"},"./session":{"types":"./dist/server/session.d.ts","import":"./dist/server/session.js"},"./snapshot":{"types":"./dist/server/snapshot.d.ts","import":"./dist/server/snapshot.js"}},"license":"MIT","version":"0.42.0","_npmUser":{"name":"unotest","email":"ivan@unotest.com"},"homepage":"https://www.npmjs.com/package/@unotest/viewer","_resolved":"/private/var/folders/cc/hz3517s925v_7z23ktmjplz80000gn/T/83eaccfe01fbc02b607591ec34d54816/unotest-viewer-0.42.0.tgz","_integrity":"sha512-317/xuLUQh7CguIbcUzNqQVJAYpKoKnctYrvFoEBSpUscQOzuuSRpS8Eb7htAhIOY/Y/uD/ReTjgMjNP1OIP/g==","_npmVersion":"10.9.4","description":"Localhost HTTP+WS viewer for unotest. Target-agnostic host: runner packages (@unotest/web, @unotest/mobile, …) are à-la-carte plugins auto-detected at boot and selectable via the TEST TARGET switcher. NestJS server + React+MobX frontend. Reads run-artifac","directories":{},"maintainers":[{"name":"unotest","email":"ivan@unotest.com"}],"_nodeVersion":"22.22.1","dependencies":{"zod":"^3.23.0","rxjs":"^7.8.0","yaml":"^2.6.0","fflate":"^0.8.2","chokidar":"^4.0.0","nestjs-zod":"^4.0.0","@nestjs/core":"^11.0.0","@unotest/dsl":"^0.42.0","@unotest/core":"^0.42.0","@nestjs/common":"^11.0.0","@fastify/static":"^10.0.0","reflect-metadata":"^0.2.0","@unotest/protocol":"^0.42.0","@nestjs/websockets":"^11.0.0","@nestjs/platform-ws":"^11.0.0","@nestjs/platform-fastify":"^11.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"ws":"^8.21.0","tsx":"^4.19.2","jest":"^29.7.0","mobx":"^6.13.0","tsup":"^8.5.1","vite":"^5.4.0","jsdom":"^25.0.0","react":"^18.3.1","terser":"^5.48.0","vitest":"^2.1.0","ts-jest":"^29.2.0","@swc/core":"^1.10.0","@types/ws":"^8.18.1","cross-env":"^7.0.3","react-dom":"^18.3.1","supertest":"^7.0.0","playwright":"1.62.1","typescript":"^5.7.2","@types/jest":"^29.5.0","@types/node":"^22.10.0","tailwindcss":"^4.3.0","@types/react":"^18.3.0","@unotest/web":"^0.42.0","@xterm/xterm":"^6.1.0-beta.261","monaco-editor":"^0.52.0","@nestjs/testing":"^11.0.0","@unotest/mobile":"^0.42.0","mobx-react-lite":"^4.0.7","@types/react-dom":"^18.3.0","@types/supertest":"^6.0.0","@xterm/addon-fit":"^0.11.0","@tailwindcss/vite":"^4.3.0","@testing-library/dom":"^10.4.1","@vitejs/plugin-react":"^4.3.0","javascript-obfuscator":"^4.1.1","@testing-library/react":"^16.0.0"},"optionalDependencies":{"node-pty":"^1.1.0"},"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/viewer_0.42.0_1790285593022_0.3898590951252263"}}},"time":{"created":"2026-05-31T20:24:43.595Z","modified":"2026-09-24T21:33:13.442Z","0.5.0":"2026-05-31T20:24:43.878Z","0.6.1":"2026-06-03T15:42:40.110Z","0.6.2":"2026-06-04T22:31:50.342Z","0.9.0":"2026-06-11T16:30:32.348Z","0.9.1":"2026-06-14T18:55:48.637Z","0.10.0":"2026-08-06T13:26:00.328Z","0.11.0":"2026-08-13T12:55:52.243Z","0.12.0":"2026-08-14T15:35:43.449Z","0.13.0":"2026-08-14T23:23:07.923Z","0.13.1":"2026-08-14T23:44:07.558Z","0.14.0":"2026-08-16T21:42:15.102Z","0.15.0":"2026-08-17T10:19:46.419Z","0.16.0":"2026-08-18T23:46:16.021Z","0.17.0":"2026-08-20T00:25:22.359Z","0.18.0":"2026-08-22T23:48:59.552Z","0.19.0":"2026-08-23T23:10:43.990Z","0.20.0":"2026-08-24T13:03:24.400Z","0.21.0":"2026-08-24T23:55:24.741Z","0.22.0":"2026-08-26T10:20:58.703Z","0.23.0":"2026-08-26T11:55:28.421Z","0.24.0":"2026-08-26T18:58:36.232Z","0.25.0":"2026-08-28T23:44:46.904Z","0.26.0":"2026-08-29T23:09:49.838Z","0.26.1":"2026-08-30T21:31:04.236Z","0.27.0":"2026-08-31T20:39:23.899Z","0.28.0":"2026-09-01T12:25:58.255Z","0.29.0":"2026-09-01T22:59:30.201Z","0.30.0":"2026-09-03T08:59:37.168Z","0.31.0":"2026-09-04T09:55:53.589Z","0.32.0":"2026-09-04T22:36:28.380Z","0.33.0":"2026-09-06T12:44:08.400Z","0.35.0":"2026-09-15T21:51:11.950Z","0.35.1":"2026-09-16T10:59:56.782Z","0.35.2":"2026-09-16T14:21:01.185Z","0.36.0":"2026-09-16T18:53:19.240Z","0.37.0":"2026-09-17T10:18:25.997Z","0.38.0":"2026-09-17T21:34:56.762Z","0.39.0":"2026-09-18T21:22:09.736Z","0.40.0":"2026-09-19T18:23:16.817Z","0.41.0":"2026-09-21T21:16:04.111Z","0.42.0":"2026-09-24T21:33:13.270Z"},"author":{"name":"Ivan Volkov","email":"ivan@volkov.io"},"license":"MIT","homepage":"https://www.npmjs.com/package/@unotest/viewer","description":"Localhost HTTP+WS viewer for unotest. Target-agnostic host: runner packages (@unotest/web, @unotest/mobile, …) are à-la-carte plugins auto-detected at boot and selectable via the TEST TARGET switcher. NestJS server + React+MobX frontend. Reads run-artifac","maintainers":[{"name":"unotest","email":"ivan@unotest.com"}],"readme":"# @unotest/viewer\n\nLocal browser UI for [`@unotest/web`](https://github.com/unotest/web) test runs.\n\nInstalled automatically as part of `@unotest/web` — no manual setup needed.\n\n## Usage\n\n```sh\nnpx @unotest/web viewer\n```\n\nOpens a local IDE-style UI in your default browser: a scenario / collection\n/ run-history tree, run-from-UI with live results over WebSocket, a foldable\nblock view of each scenario (one section per `//@collapse` group) with\nper-step status, a step debugger (breakpoints + live DOM inspection),\nscreenshots and failure artifacts, and a docked terminal.\n\nSet `UNOTEST_VIEWER_NO_OPEN=1` to start the server without auto-opening the browser.\n\nSet `UNOTEST_VIEWER_TERMINAL=off` on a host that cannot give the docked terminal a\nPTY (the native `node-pty` addon is not installed there). The viewer then has no\nterminal at all — no panel, no button, no terminal socket — for every session.\nUnset, the terminal is on, and a machine missing the addon says so when the\npanel starts. A box sets it for its viewers.\n\n## Ecosystem\n\n| Package | Role |\n|---|---|\n| [`@unotest/web`](https://github.com/unotest/web) | CLI / MCP server / runner |\n| `@unotest/viewer` | this package — local results browser |\n| [`@unotest/protocol`](https://github.com/unotest/protocol) | shared types |\n| [`@unotest/dsl`](https://github.com/unotest/dsl) | scenario parser + validator engine |\n","readmeFilename":"README.md"}