{"_id":"@trylayout/qa","_rev":"36-753c3c8884e86ed40fbbf076fcf3ee33","name":"@trylayout/qa","dist-tags":{"latest":"0.7.6"},"versions":{"0.1.0":{"name":"@trylayout/qa","version":"0.1.0","keywords":["layout","qa","playwright","frontend","visual-testing","ai-agents"],"author":{"name":"Layout"},"license":"MIT","_id":"@trylayout/qa@0.1.0","maintainers":[{"name":"tshepomohlala","email":"tshepo@trylayout.com"}],"homepage":"https://trylayout.com/docs/qa","bugs":{"url":"https://github.com/Layout-App/layout-qa/issues"},"bin":{"trylayout":"build/cli/layoutQa.js"},"dist":{"shasum":"596d7ed42a6e6a1e09a5a72b2d3585d1fc11a5eb","tarball":"https://registry.npmjs.org/@trylayout/qa/-/qa-0.1.0.tgz","fileCount":15,"integrity":"sha512-NbPXI0u2lXWiCG5lGnoliLlaMUFQAIXiJ4tQNu8gIfSfGHhCSF42eTHJ1X946/QROgV4Nh2jUYUrPwddgfFeZw==","signatures":[{"sig":"MEQCIG9kIf5u/GD954jrja9BwzBMSOaWS+sc2iOQ7dsO5PkcAiB+5N1vKe352pBYVQTvNxkClutuE8w2KQy3CXlujCVEng==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":59682},"engines":{"node":">=18"},"gitHead":"f704f68c82d6f660004b4a3c729b4e2226c866e8","scripts":{"build":"tsc","check":"tsc --noEmit","prepack":"npm run build"},"_npmUser":{"name":"tshepomohlala","email":"tshepo@trylayout.com"},"repository":{"url":"git+https://github.com/Layout-App/layout-qa.git","type":"git"},"_npmVersion":"10.9.2","description":"Local browser QA runner and HTML reports for AI-built frontends.","directories":{},"_nodeVersion":"23.5.0","dependencies":{"playwright":"^1.60.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.9.3","@types/node":"^20.14.12"},"_npmOperationalInternal":{"tmp":"tmp/qa_0.1.0_1781048656540_0.6472204139271382","host":"s3://npm-registry-packages-npm-production"}},"0.1.1":{"name":"@trylayout/qa","version":"0.1.1","keywords":["layout","qa","playwright","frontend","visual-testing","ai-agents"],"author":{"name":"Layout"},"license":"MIT","_id":"@trylayout/qa@0.1.1","maintainers":[{"name":"tshepomohlala","email":"tshepo@trylayout.com"}],"homepage":"https://github.com/Layout-App/layout-qa#readme","bugs":{"url":"https://github.com/Layout-App/layout-qa/issues"},"bin":{"trylayout":"build/cli/layoutQa.js"},"dist":{"shasum":"a720c90d2f40bcda8fea54c7a515a9588a21a413","tarball":"https://registry.npmjs.org/@trylayout/qa/-/qa-0.1.1.tgz","fileCount":15,"integrity":"sha512-MYbqruGht4WOOQ46AdFnETEscBpadVEb6HnoihZSzPL2TK43UX1st7D2kcneonovKNSdoy1bfMyvwPy/1j4Ppw==","signatures":[{"sig":"MEYCIQDyJUWlNGHMQAPEq4xAyYbIs5sLb109HpBPM4AVVIC6HAIhAJv+HohhjBVvCbcugg0HcXT+5dPyO8DuLgjIbE6PP0sw","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":62513},"engines":{"node":">=18"},"gitHead":"1a8ae8cd6fd38e42be623a2816a0546bc35365c3","scripts":{"build":"tsc","check":"tsc --noEmit","prepack":"npm run build"},"_npmUser":{"name":"tshepomohlala","email":"tshepo@trylayout.com"},"repository":{"url":"git+https://github.com/Layout-App/layout-qa.git","type":"git"},"_npmVersion":"10.9.2","description":"Local browser QA runner and HTML reports for AI-built frontends.","directories":{},"_nodeVersion":"23.5.0","dependencies":{"playwright":"^1.60.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.9.3","@types/node":"^20.14.12"},"_npmOperationalInternal":{"tmp":"tmp/qa_0.1.1_1781049547084_0.8778318652102441","host":"s3://npm-registry-packages-npm-production"}},"0.1.2":{"name":"@trylayout/qa","version":"0.1.2","keywords":["layout","qa","playwright","frontend","visual-testing","ai-agents"],"author":{"name":"Layout"},"license":"MIT","_id":"@trylayout/qa@0.1.2","maintainers":[{"name":"tshepomohlala","email":"tshepo@trylayout.com"}],"homepage":"https://github.com/Layout-App/layout-qa#readme","bugs":{"url":"https://github.com/Layout-App/layout-qa/issues"},"bin":{"layout-qa":"build/cli/layoutQa.js","trylayout":"build/cli/layoutQa.js"},"dist":{"shasum":"e93326393b44d506f12f927c8072e24e7b64b281","tarball":"https://registry.npmjs.org/@trylayout/qa/-/qa-0.1.2.tgz","fileCount":15,"integrity":"sha512-tIIF3TNiNkqrztatTibzwc8ObbYCfrzeYPJPft18xnC1x+i0LHbk6r6X25rSl8GzQdOK/0No2cNNLlgO8VgVtA==","signatures":[{"sig":"MEYCIQDA7FJe/Xnfr7KOW9PWPBOta6pJ0GoM6Pam3nsb05p1pAIhALoPtpJRFXaNwQkfGkFZmzhH6XEtEmotqYsPmYbbNvWQ","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":63249},"engines":{"node":">=18"},"gitHead":"d07c859cd32e1fe0abb06087fa7194ad84961186","scripts":{"build":"tsc","check":"tsc --noEmit","prepack":"npm run build"},"_npmUser":{"name":"tshepomohlala","email":"tshepo@trylayout.com"},"repository":{"url":"git+https://github.com/Layout-App/layout-qa.git","type":"git"},"_npmVersion":"10.9.2","description":"Local browser QA runner and HTML reports for AI-built frontends.","directories":{},"_nodeVersion":"23.5.0","dependencies":{"playwright":"^1.60.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.9.3","@types/node":"^20.14.12"},"_npmOperationalInternal":{"tmp":"tmp/qa_0.1.2_1781052963025_0.13092114683018208","host":"s3://npm-registry-packages-npm-production"}},"0.1.3":{"name":"@trylayout/qa","version":"0.1.3","keywords":["layout","qa","playwright","frontend","visual-testing","ai-agents"],"author":{"name":"Layout"},"license":"MIT","_id":"@trylayout/qa@0.1.3","maintainers":[{"name":"tshepomohlala","email":"tshepo@trylayout.com"}],"homepage":"https://github.com/Layout-App/layout-qa#readme","bugs":{"url":"https://github.com/Layout-App/layout-qa/issues"},"bin":{"layout-qa":"build/cli/layoutQa.js","trylayout":"build/cli/layoutQa.js"},"dist":{"shasum":"2aee38c751b1e285e2bbb5f336f3966b45ee9f49","tarball":"https://registry.npmjs.org/@trylayout/qa/-/qa-0.1.3.tgz","fileCount":17,"integrity":"sha512-rRruGUv2LpTOWZEMBVdS7iCJt07+ViFFH5HqM6ePdlZjXK1x7xPsowFuFXG4jXt2/lrpLWoy2XTVnzZbrLKRpQ==","signatures":[{"sig":"MEYCIQD3hS7ZuhFszg7wI5tbgA1QIrElM6OkjXimqx6DC9vKGwIhAMWBMhdEIyZo0MpmqQIu+pprCP+y5VfH4S26DqsOSizK","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":75281},"engines":{"node":">=18"},"gitHead":"d07c859cd32e1fe0abb06087fa7194ad84961186","scripts":{"build":"tsc","check":"tsc --noEmit","prepack":"npm run build"},"_npmUser":{"name":"tshepomohlala","email":"tshepo@trylayout.com"},"repository":{"url":"git+https://github.com/Layout-App/layout-qa.git","type":"git"},"_npmVersion":"10.9.2","description":"Local browser QA runner and HTML reports for AI-built frontends.","directories":{},"_nodeVersion":"23.5.0","dependencies":{"playwright":"^1.60.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.9.3","@types/node":"^20.14.12"},"_npmOperationalInternal":{"tmp":"tmp/qa_0.1.3_1781055671446_0.6761429884534556","host":"s3://npm-registry-packages-npm-production"}},"0.1.4":{"name":"@trylayout/qa","version":"0.1.4","keywords":["layout","qa","playwright","frontend","visual-testing","ai-agents"],"author":{"name":"Layout"},"license":"MIT","_id":"@trylayout/qa@0.1.4","maintainers":[{"name":"tshepomohlala","email":"tshepo@trylayout.com"}],"homepage":"https://github.com/Layout-App/layout-qa#readme","bugs":{"url":"https://github.com/Layout-App/layout-qa/issues"},"bin":{"layout-qa":"build/cli/layoutQa.js","trylayout":"build/cli/layoutQa.js"},"dist":{"shasum":"d1f7dfa366e14b2196be3e1347d06b9fb9ce33bc","tarball":"https://registry.npmjs.org/@trylayout/qa/-/qa-0.1.4.tgz","fileCount":18,"integrity":"sha512-CS0ymRzKziE3iYx2hU6FKtmaU5MbK2cxDETL1jaNCJzJT+1O6oehpCbfBp71JcnV4QWWUmfzqXIJcY8vYoDDcA==","signatures":[{"sig":"MEYCIQCzPbW2BXjTwOK62yZsqooRTBjyBBIwwjZj8PepeF6G+gIhAO9kB+Q+VpNQZiclAZcEiJMFSD1Tvck/XuQLBzWtJxcA","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":146293},"engines":{"node":">=18"},"gitHead":"978ae87f53a2bbaa0df0aeb349bf39de8bc880d7","scripts":{"build":"tsc","check":"tsc --noEmit","prepack":"npm run build","publish:alias":"cd packages/layout-qa && npm publish --access public"},"_npmUser":{"name":"tshepomohlala","email":"tshepo@trylayout.com"},"repository":{"url":"git+https://github.com/Layout-App/layout-qa.git","type":"git"},"_npmVersion":"10.9.2","description":"Local browser QA runner and HTML reports for AI-built frontends.","directories":{},"_nodeVersion":"23.5.0","dependencies":{"playwright":"^1.60.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.9.3","@types/node":"^20.14.12"},"_npmOperationalInternal":{"tmp":"tmp/qa_0.1.4_1781097554218_0.8137502853786682","host":"s3://npm-registry-packages-npm-production"}},"0.1.5":{"name":"@trylayout/qa","version":"0.1.5","keywords":["layout","qa","playwright","frontend","visual-testing","ai-agents"],"author":{"name":"Layout"},"license":"MIT","_id":"@trylayout/qa@0.1.5","maintainers":[{"name":"tshepomohlala","email":"tshepo@trylayout.com"}],"homepage":"https://github.com/Layout-App/layout-qa#readme","bugs":{"url":"https://github.com/Layout-App/layout-qa/issues"},"bin":{"layout-qa":"build/cli/layoutQa.js","trylayout":"build/cli/layoutQa.js"},"dist":{"shasum":"c8123f3b4787032f2e348b0f4e1854b4fccf8e45","tarball":"https://registry.npmjs.org/@trylayout/qa/-/qa-0.1.5.tgz","fileCount":18,"integrity":"sha512-26Z6E9PUHvHJJ7ftFG6nv9qKBcwMFXIP0f36R7ClQyW2CEJiaifp6Ck9Ghic9J8RITdwllAMjq5Tq0yx3efMOQ==","signatures":[{"sig":"MEUCIAb04YtmCD2IzVgVxE+YsKej8K2kg5U2whHoFFQXtE44AiEAoAE6IIwKCVf61MdvrE8y/Rjw4WWWesf9RspUIek0idk=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":252546},"engines":{"node":">=18"},"gitHead":"6a9c2c4d34a11576a849da23dcd0049552e88050","scripts":{"build":"tsc","check":"tsc --noEmit","prepack":"npm run build","publish:alias":"cd packages/layout-qa && npm publish --access public"},"_npmUser":{"name":"tshepomohlala","email":"tshepo@trylayout.com"},"repository":{"url":"git+https://github.com/Layout-App/layout-qa.git","type":"git"},"_npmVersion":"10.9.2","description":"Local browser QA runner and HTML reports for AI-built frontends.","directories":{},"_nodeVersion":"23.5.0","dependencies":{"playwright":"^1.60.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.9.3","@types/node":"^20.14.12"},"_npmOperationalInternal":{"tmp":"tmp/qa_0.1.5_1781099006684_0.001720920158801098","host":"s3://npm-registry-packages-npm-production"}},"0.2.0":{"name":"@trylayout/qa","version":"0.2.0","keywords":["layout","qa","playwright","frontend","visual-testing","ai-agents"],"author":{"name":"Layout"},"license":"MIT","_id":"@trylayout/qa@0.2.0","maintainers":[{"name":"tshepomohlala","email":"tshepo@trylayout.com"}],"homepage":"https://github.com/Layout-App/layout-qa#readme","bugs":{"url":"https://github.com/Layout-App/layout-qa/issues"},"bin":{"layout-qa":"build/cli/layoutQa.js","trylayout":"build/cli/layoutQa.js"},"dist":{"shasum":"e842448d2335c3a26099b72c71e0c79b34089690","tarball":"https://registry.npmjs.org/@trylayout/qa/-/qa-0.2.0.tgz","fileCount":18,"integrity":"sha512-0CzAhve/ks4TOIQjaLC894jK71P60n4a1+b0y8KIBkedPurLgtmkENjpzyXNJm+bl+Dp/biN/4PbGKih+lbTyQ==","signatures":[{"sig":"MEUCIFWQ9Hh2ujgcwdRAmuTXZtsmEh51YYvoOjclldjSYSqZAiEAiuYRhJNQmtcc91PysVY5FckKhKcspS0EgOrGeviRh+E=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":267519},"engines":{"node":">=18"},"gitHead":"9a52db81a16d8fa5b9231e4f50b95222735301a1","scripts":{"build":"tsc","check":"tsc --noEmit","prepack":"npm run build","publish:alias":"cd packages/layout-qa && npm publish --access public"},"_npmUser":{"name":"tshepomohlala","email":"tshepo@trylayout.com"},"repository":{"url":"git+https://github.com/Layout-App/layout-qa.git","type":"git"},"_npmVersion":"10.9.2","description":"Local browser QA runner and HTML reports for AI-built frontends.","directories":{},"_nodeVersion":"23.5.0","dependencies":{"playwright":"^1.60.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.9.3","@types/node":"^20.14.12"},"_npmOperationalInternal":{"tmp":"tmp/qa_0.2.0_1781382586828_0.7015152277754679","host":"s3://npm-registry-packages-npm-production"}},"0.2.1":{"name":"@trylayout/qa","version":"0.2.1","keywords":["layout","qa","playwright","frontend","visual-testing","ai-agents"],"author":{"name":"Layout"},"license":"MIT","_id":"@trylayout/qa@0.2.1","maintainers":[{"name":"tshepomohlala","email":"tshepo@trylayout.com"}],"homepage":"https://github.com/Layout-App/layout-qa#readme","bugs":{"url":"https://github.com/Layout-App/layout-qa/issues"},"bin":{"layout-qa":"build/cli/layoutQa.js","trylayout":"build/cli/layoutQa.js"},"dist":{"shasum":"391f262ae52d40375659a4b53bf26cb126608336","tarball":"https://registry.npmjs.org/@trylayout/qa/-/qa-0.2.1.tgz","fileCount":18,"integrity":"sha512-iQb2iiRk9UzMcRJp2mltSQfLD3mHlK58q3FyGdfji04YCP75x5bvRSBQe98fptH9jWsFSX3zyaIkZifnE4eNOg==","signatures":[{"sig":"MEYCIQDKVfX74yw45Nm5MIacjJQkpr7pdZsz2b66ZHn5g+WjOgIhAMtJNvpaqhgsa7bGymmaDHMapHohN3UaE6y+vtXUsDWc","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":267719},"engines":{"node":">=18"},"gitHead":"dda02c1133aad0a3fbac600948a0ec2955d4d2a4","scripts":{"build":"tsc","check":"tsc --noEmit","prepack":"npm run build","publish:alias":"cd packages/layout-qa && npm publish --access public"},"_npmUser":{"name":"tshepomohlala","email":"tshepo@trylayout.com"},"repository":{"url":"git+https://github.com/Layout-App/layout-qa.git","type":"git"},"_npmVersion":"10.9.2","description":"Local browser QA runner and HTML reports for AI-built frontends.","directories":{},"_nodeVersion":"23.5.0","dependencies":{"playwright":"^1.60.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.9.3","@types/node":"^20.14.12"},"_npmOperationalInternal":{"tmp":"tmp/qa_0.2.1_1781478110062_0.3809157607841738","host":"s3://npm-registry-packages-npm-production"}},"0.2.2":{"name":"@trylayout/qa","version":"0.2.2","keywords":["layout","qa","playwright","frontend","visual-testing","ai-agents"],"author":{"name":"Layout"},"license":"MIT","_id":"@trylayout/qa@0.2.2","maintainers":[{"name":"tshepomohlala","email":"tshepo@trylayout.com"}],"homepage":"https://github.com/Layout-App/layout-qa#readme","bugs":{"url":"https://github.com/Layout-App/layout-qa/issues"},"bin":{"layout-qa":"build/cli/layoutQa.js","trylayout":"build/cli/layoutQa.js"},"dist":{"shasum":"c1f30029ba6cc84ca348fee932fd16f42040a1ad","tarball":"https://registry.npmjs.org/@trylayout/qa/-/qa-0.2.2.tgz","fileCount":18,"integrity":"sha512-6GSkHgCDoxlE3Rd9VMYakrA+RPzeGVCewdt87tvnYVAtmcZosQo6K+qDXe9sDyNmk19GYq9l7RwSz4VxYh27XQ==","signatures":[{"sig":"MEUCIFmzXrpOzMJOm2tx7aTlTlGA4nrK1U3YPRI5KxzKOhZRAiEA6Hn+CaEQeWEKwSDQ6X6stt+2/8PVV+RFIei8gZmLkiw=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":270666},"engines":{"node":">=18"},"gitHead":"de175c3e602c3654c937f557e20013ca4184e7a7","scripts":{"build":"tsc","check":"tsc --noEmit","prepack":"npm run build","publish:alias":"cd packages/layout-qa && npm publish --access public"},"_npmUser":{"name":"tshepomohlala","email":"tshepo@trylayout.com"},"repository":{"url":"git+https://github.com/Layout-App/layout-qa.git","type":"git"},"_npmVersion":"10.9.2","description":"Local browser QA runner and HTML reports for AI-built frontends.","directories":{},"_nodeVersion":"23.5.0","dependencies":{"playwright":"^1.60.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.9.3","@types/node":"^20.14.12"},"_npmOperationalInternal":{"tmp":"tmp/qa_0.2.2_1781490023397_0.039534236795384814","host":"s3://npm-registry-packages-npm-production"}},"0.3.0":{"name":"@trylayout/qa","version":"0.3.0","keywords":["layout","qa","playwright","frontend","visual-testing","ai-agents"],"author":{"name":"Layout"},"license":"MIT","_id":"@trylayout/qa@0.3.0","maintainers":[{"name":"tshepomohlala","email":"tshepo@trylayout.com"}],"homepage":"https://github.com/Layout-App/layout-qa#readme","bugs":{"url":"https://github.com/Layout-App/layout-qa/issues"},"bin":{"layout-qa":"build/cli/layoutQa.js","trylayout":"build/cli/layoutQa.js"},"dist":{"shasum":"e878f059edd798d988d3a636a3d6dd578e2e3cc7","tarball":"https://registry.npmjs.org/@trylayout/qa/-/qa-0.3.0.tgz","fileCount":20,"integrity":"sha512-/An07WXQp6EzWErjpbnWV3w223RrX8nVXM4EIcrXUzYmgY4hq7T/MCqur9VsLACkF4+pZqA7YIQNnf7EQKhiag==","signatures":[{"sig":"MEUCIQD0yuUi/qIItIiBQ8EssXyz7OzUE87VX0LzDOqeOWo9YwIgL133VKb1Ll7TgYuBMzb1DgWoo8xV87knngVKu8cZWKE=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":292127},"engines":{"node":">=18"},"gitHead":"de175c3e602c3654c937f557e20013ca4184e7a7","scripts":{"build":"tsc","check":"tsc --noEmit","prepack":"npm run build","publish:alias":"cd packages/layout-qa && npm publish --access public"},"_npmUser":{"name":"tshepomohlala","email":"tshepo@trylayout.com"},"repository":{"url":"git+https://github.com/Layout-App/layout-qa.git","type":"git"},"_npmVersion":"10.9.2","description":"Local browser QA runner and HTML reports for AI-built frontends.","directories":{},"_nodeVersion":"23.5.0","dependencies":{"playwright":"^1.60.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.9.3","@types/node":"^20.14.12"},"_npmOperationalInternal":{"tmp":"tmp/qa_0.3.0_1781570896543_0.8731531244124853","host":"s3://npm-registry-packages-npm-production"}},"0.3.1":{"name":"@trylayout/qa","version":"0.3.1","keywords":["layout","qa","playwright","frontend","visual-testing","ai-agents"],"author":{"name":"Layout"},"license":"MIT","_id":"@trylayout/qa@0.3.1","maintainers":[{"name":"tshepomohlala","email":"tshepo@trylayout.com"}],"homepage":"https://github.com/Layout-App/layout-qa#readme","bugs":{"url":"https://github.com/Layout-App/layout-qa/issues"},"bin":{"layout-qa":"build/cli/layoutQa.js","trylayout":"build/cli/layoutQa.js"},"dist":{"shasum":"d9d98e25f7ff0128328308f186b9fbd55def3073","tarball":"https://registry.npmjs.org/@trylayout/qa/-/qa-0.3.1.tgz","fileCount":20,"integrity":"sha512-83kcIv78JRpYhKb4Qq0wbm/yg3pIdFaoCsqfgc80P4RgmV9sRs1EwzKjxS5XfrDb4EfxbmjCRcG4i/8jjQypeQ==","signatures":[{"sig":"MEUCIDBq3/bHfGMQdlpio68g+S5wG5H35enRDAYSNaI5tXSjAiEApm/f8uZXYK5vpDqGZdqA1bsnbmnR3EatUjDbyybBdB4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":295665},"engines":{"node":">=18"},"gitHead":"257dde6d0b25ca85bd7d0aeeb805d5d67c8e9843","scripts":{"build":"tsc","check":"tsc --noEmit","prepack":"npm run build","publish:alias":"cd packages/layout-qa && npm publish --access public"},"_npmUser":{"name":"tshepomohlala","email":"tshepo@trylayout.com"},"repository":{"url":"git+https://github.com/Layout-App/layout-qa.git","type":"git"},"_npmVersion":"10.9.2","description":"Local browser QA runner and HTML reports for AI-built frontends.","directories":{},"_nodeVersion":"23.5.0","dependencies":{"playwright":"^1.60.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.9.3","@types/node":"^20.14.12"},"_npmOperationalInternal":{"tmp":"tmp/qa_0.3.1_1781630908980_0.230912810562532","host":"s3://npm-registry-packages-npm-production"}},"0.4.0":{"name":"@trylayout/qa","version":"0.4.0","keywords":["layout","qa","playwright","frontend","visual-testing","ai-agents"],"author":{"name":"Layout"},"license":"MIT","_id":"@trylayout/qa@0.4.0","maintainers":[{"name":"tshepomohlala","email":"tshepo@trylayout.com"}],"homepage":"https://github.com/Layout-App/layout-qa#readme","bugs":{"url":"https://github.com/Layout-App/layout-qa/issues"},"bin":{"layout-qa":"build/cli/layoutQa.js","trylayout":"build/cli/layoutQa.js"},"dist":{"shasum":"d86de61bc56cdeb6eafed6466a5c2830e2db36db","tarball":"https://registry.npmjs.org/@trylayout/qa/-/qa-0.4.0.tgz","fileCount":20,"integrity":"sha512-TMke9fhpTgyycIbY6p9HGYiegN3wQNpJ7FnuKpOxCNhulm+fvVlpxwHsknRxa18AW3Y6RzjdluzN0GSgkc+UYA==","signatures":[{"sig":"MEUCIQCXup2bK+g8edN4Libk2bpJuISSbu4+z0/F3Bh/hRjIYwIgGM536+dYQMoQ4Ggbm4IihBTri/YgVmTqnXoYdoslbds=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":309333},"engines":{"node":">=18"},"gitHead":"9a57615eccbf9a612d4ed57099d9304295c78d2d","scripts":{"build":"tsc","check":"tsc --noEmit","prepack":"npm run build","publish:alias":"cd packages/layout-qa && npm publish --access public"},"_npmUser":{"name":"tshepomohlala","email":"tshepo@trylayout.com"},"repository":{"url":"git+https://github.com/Layout-App/layout-qa.git","type":"git"},"_npmVersion":"10.9.2","description":"Local browser QA runner and HTML reports for AI-built frontends.","directories":{},"_nodeVersion":"23.5.0","dependencies":{"playwright":"^1.60.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.9.3","@types/node":"^20.14.12"},"_npmOperationalInternal":{"tmp":"tmp/qa_0.4.0_1781654549801_0.788281110565632","host":"s3://npm-registry-packages-npm-production"}},"0.4.1":{"name":"@trylayout/qa","version":"0.4.1","keywords":["layout","qa","playwright","frontend","visual-testing","ai-agents"],"author":{"name":"Layout"},"license":"MIT","_id":"@trylayout/qa@0.4.1","maintainers":[{"name":"tshepomohlala","email":"tshepo@trylayout.com"}],"homepage":"https://github.com/Layout-App/layout-qa#readme","bugs":{"url":"https://github.com/Layout-App/layout-qa/issues"},"bin":{"layout-qa":"build/cli/layoutQa.js","trylayout":"build/cli/layoutQa.js"},"dist":{"shasum":"5244cfd67b59d84330b752a8f5c7c224bb98f346","tarball":"https://registry.npmjs.org/@trylayout/qa/-/qa-0.4.1.tgz","fileCount":20,"integrity":"sha512-5MvR90xjGE4IIYGDQqMUlnDassVMOxIgnwf+bUPLNbBiIUhMOtQivAQvzWHPMKoYvZTnX3wvMqR2u6tDzPWFDA==","signatures":[{"sig":"MEQCICP4g2pq8n9CX4XQPf/hB/knvHvspjI29+roJ11wBQMZAiBle/rsPEAQkzG9oHvY2PH62E1CE4TcI4k292zkdE88Nw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@trylayout%2fqa@0.4.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":309333},"engines":{"node":">=18"},"gitHead":"f4acdfd269d97dfc4624b90f143dda5642763425","scripts":{"build":"tsc","check":"tsc --noEmit","prepack":"npm run build","publish:alias":"cd packages/layout-qa && npm publish --access public"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:37f1b9dc-996c-4bb8-8588-56724729e93c"}},"repository":{"url":"git+https://github.com/Layout-App/layout-qa.git","type":"git"},"_npmVersion":"11.13.0","description":"Local browser QA runner and HTML reports for AI-built frontends.","directories":{},"_nodeVersion":"24.16.0","dependencies":{"playwright":"^1.60.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.9.3","@types/node":"^20.14.12"},"_npmOperationalInternal":{"tmp":"tmp/qa_0.4.1_1781657406379_0.413006267495297","host":"s3://npm-registry-packages-npm-production"}},"0.4.2":{"name":"@trylayout/qa","version":"0.4.2","keywords":["layout","qa","playwright","frontend","visual-testing","ai-agents"],"author":{"name":"Layout"},"license":"MIT","_id":"@trylayout/qa@0.4.2","maintainers":[{"name":"tshepomohlala","email":"tshepo@trylayout.com"}],"homepage":"https://github.com/Layout-App/layout-qa#readme","bugs":{"url":"https://github.com/Layout-App/layout-qa/issues"},"bin":{"layout-qa":"build/cli/layoutQa.js","trylayout":"build/cli/layoutQa.js"},"dist":{"shasum":"f8adf00ab509fd27c6bcbb8a454897a90a426b7d","tarball":"https://registry.npmjs.org/@trylayout/qa/-/qa-0.4.2.tgz","fileCount":20,"integrity":"sha512-Vgyp3SaHqQ48jxhTIB21SlrF5+1etvidD889VBxqtcdfid8ajgpBnKVJ5411JjMU7u9qhMK5FCAOP5W5uM+qTg==","signatures":[{"sig":"MEYCIQD4gkvkfkYqyXhD2NSRWgMi65xia6JOeDRmoUjkYQBUKgIhAO4yeFQdIbVJFhBc8eMDiW7dK4COoJ2mfQflNUpKiOLh","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@trylayout%2fqa@0.4.2","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":311944},"engines":{"node":">=18"},"gitHead":"80b6a36659d353285b951a720955bcc818e9a5b4","scripts":{"build":"tsc","check":"tsc --noEmit","prepack":"npm run build","publish:alias":"cd packages/layout-qa && npm publish --access public"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:37f1b9dc-996c-4bb8-8588-56724729e93c"}},"repository":{"url":"git+https://github.com/Layout-App/layout-qa.git","type":"git"},"_npmVersion":"11.13.0","description":"Local browser QA runner and HTML reports for AI-built frontends.","directories":{},"_nodeVersion":"24.16.0","dependencies":{"playwright":"^1.60.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.9.3","@types/node":"^20.14.12"},"_npmOperationalInternal":{"tmp":"tmp/qa_0.4.2_1781664046568_0.3914231857423758","host":"s3://npm-registry-packages-npm-production"}},"0.4.3":{"name":"@trylayout/qa","version":"0.4.3","keywords":["layout","qa","playwright","frontend","visual-testing","ai-agents"],"author":{"name":"Layout"},"license":"MIT","_id":"@trylayout/qa@0.4.3","maintainers":[{"name":"tshepomohlala","email":"tshepo@trylayout.com"}],"homepage":"https://github.com/Layout-App/layout-qa#readme","bugs":{"url":"https://github.com/Layout-App/layout-qa/issues"},"bin":{"layout-qa":"build/cli/layoutQa.js","trylayout":"build/cli/layoutQa.js"},"dist":{"shasum":"3d9c89710ccbf1fbfa4ebe48abbd5264bec19ff9","tarball":"https://registry.npmjs.org/@trylayout/qa/-/qa-0.4.3.tgz","fileCount":20,"integrity":"sha512-l1UrdPIU5IYctkBKzOqme7BLyPGxnY5AootXxwWnmS3UzTUmlckXGcYDhgM0aZWJvhrtdq97s/aZ8DDbM2pSVA==","signatures":[{"sig":"MEUCIFo7OrbsD4jTDw4BWyxexjGVnScYu8DCubDnrhCHgKxhAiEArzlWvJmUj30Z89RCwm4Kz0r9iMl6EaU05V0SX2iAwB8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@trylayout%2fqa@0.4.3","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":312237},"engines":{"node":">=18"},"gitHead":"efca26df1eb4b0143f61cb49e9d0139908d4812f","scripts":{"build":"tsc","check":"tsc --noEmit","prepack":"npm run build","publish:alias":"cd packages/layout-qa && npm publish --access public"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:37f1b9dc-996c-4bb8-8588-56724729e93c"}},"repository":{"url":"git+https://github.com/Layout-App/layout-qa.git","type":"git"},"_npmVersion":"11.13.0","description":"Local browser QA runner and HTML reports for AI-built frontends.","directories":{},"_nodeVersion":"24.16.0","dependencies":{"playwright":"^1.60.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.9.3","@types/node":"^20.14.12"},"_npmOperationalInternal":{"tmp":"tmp/qa_0.4.3_1781666611692_0.22244333005909445","host":"s3://npm-registry-packages-npm-production"}},"0.5.0":{"name":"@trylayout/qa","version":"0.5.0","keywords":["layout","qa","playwright","frontend","visual-testing","ai-agents"],"author":{"name":"Layout"},"license":"MIT","_id":"@trylayout/qa@0.5.0","maintainers":[{"name":"tshepomohlala","email":"tshepo@trylayout.com"}],"homepage":"https://github.com/Layout-App/layout-qa#readme","bugs":{"url":"https://github.com/Layout-App/layout-qa/issues"},"bin":{"layout-qa":"build/cli/layoutQa.js","trylayout":"build/cli/layoutQa.js"},"dist":{"shasum":"0d149fcef9bc414dbce07e58cfe6db18eab02ee7","tarball":"https://registry.npmjs.org/@trylayout/qa/-/qa-0.5.0.tgz","fileCount":20,"integrity":"sha512-oisuKUOr5a37Js/FAY1tw0UoEWLZMMj5sYj3OOIPAYJ/GzL+Ykhlu0d+mvt+Ks68R3vuMWpbZM/FrrqQROuIXA==","signatures":[{"sig":"MEYCIQDnh+FYabzayWwWH+ejrsrlPNI6d10EAczoe98IIqEXowIhAJnO9QfFmuVSE0UVxz9W4UayikjSZijhmDzSPxQZljww","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@trylayout%2fqa@0.5.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":311948},"engines":{"node":">=18"},"gitHead":"fb51be73cfc70d190d27fe95144242b05d9ab337","scripts":{"test":"npm run build && node tests/monorepo-resolution.test.js","build":"tsc","check":"tsc --noEmit","prepack":"npm run build","publish:alias":"cd packages/layout-qa && npm publish --access public"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:37f1b9dc-996c-4bb8-8588-56724729e93c"}},"repository":{"url":"git+https://github.com/Layout-App/layout-qa.git","type":"git"},"_npmVersion":"11.13.0","description":"Local browser QA runner and HTML reports for AI-built frontends.","directories":{},"_nodeVersion":"24.16.0","dependencies":{"playwright":"^1.60.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.9.3","@types/node":"^20.14.12"},"_npmOperationalInternal":{"tmp":"tmp/qa_0.5.0_1781677458700_0.4428759562685347","host":"s3://npm-registry-packages-npm-production"}},"0.5.1":{"name":"@trylayout/qa","version":"0.5.1","keywords":["layout","qa","playwright","frontend","visual-testing","ai-agents"],"author":{"name":"Layout"},"license":"MIT","_id":"@trylayout/qa@0.5.1","maintainers":[{"name":"tshepomohlala","email":"tshepo@trylayout.com"}],"homepage":"https://github.com/Layout-App/layout-qa#readme","bugs":{"url":"https://github.com/Layout-App/layout-qa/issues"},"bin":{"layout-qa":"build/cli/layoutQa.js","trylayout":"build/cli/layoutQa.js"},"dist":{"shasum":"d79e30229d8479bf2c098170038622f5a9e7ffa5","tarball":"https://registry.npmjs.org/@trylayout/qa/-/qa-0.5.1.tgz","fileCount":22,"integrity":"sha512-fII9VD7ztoHZQwdifKwKBiw7ExBHXHXP7xdDEJrzGZYSSFqP/yzXnQi9QRSTv8jGzxES6FWbAM4FMuitoGA0eA==","signatures":[{"sig":"MEQCIFfiiEaB46fgOuc+B/CNx0UrlqdGHZfpsLVgvcFCdiYwAiBWqgmD5xSiml9yXl6clV+A2NuTuiyNvZDHZ0BPTALReQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@trylayout%2fqa@0.5.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":314475},"engines":{"node":">=18"},"gitHead":"c3e98a8eb0d9a4502f6900b4d2f7d744926d25a1","scripts":{"test":"npm run build && node tests/monorepo-resolution.test.js","build":"tsc","check":"tsc --noEmit","prepack":"npm run build","publish:alias":"cd packages/layout-qa && npm publish --access public"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:37f1b9dc-996c-4bb8-8588-56724729e93c"}},"repository":{"url":"git+https://github.com/Layout-App/layout-qa.git","type":"git"},"_npmVersion":"11.13.0","description":"Local browser QA runner and HTML reports for AI-built frontends.","directories":{},"_nodeVersion":"24.16.0","dependencies":{"playwright":"^1.60.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.9.3","@types/node":"^20.14.12"},"_npmOperationalInternal":{"tmp":"tmp/qa_0.5.1_1781730486002_0.5194761611685819","host":"s3://npm-registry-packages-npm-production"}},"0.5.2":{"name":"@trylayout/qa","version":"0.5.2","keywords":["layout","qa","playwright","frontend","visual-testing","ai-agents"],"author":{"name":"Layout"},"license":"MIT","_id":"@trylayout/qa@0.5.2","maintainers":[{"name":"tshepomohlala","email":"tshepo@trylayout.com"}],"homepage":"https://github.com/Layout-App/layout-qa#readme","bugs":{"url":"https://github.com/Layout-App/layout-qa/issues"},"bin":{"layout-qa":"build/cli/layoutQa.js","trylayout":"build/cli/layoutQa.js"},"dist":{"shasum":"d8996af0a7e6edf11b55e3a9b0babb633f863e44","tarball":"https://registry.npmjs.org/@trylayout/qa/-/qa-0.5.2.tgz","fileCount":22,"integrity":"sha512-2yXActUnMIYALF9EONekyUqFzz92QaqpHWlPza7/1ecaedRlzWIxp1N4rOhyPPcufWFTFUBX20VkvAhNZywM3A==","signatures":[{"sig":"MEYCIQCoE2+j7ocmjOeFeKBEkHP9KvnmZlPe4W7Ir+HNNq1BuQIhAMDSqb6N+hMPFlR3KBjdspD4Zu57Ml69JvyBp95f7Hgb","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@trylayout%2fqa@0.5.2","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":319062},"engines":{"node":">=18"},"gitHead":"f18339d20618f9b3348576517a16fe2208647825","scripts":{"test":"npm run build && node tests/monorepo-resolution.test.js","build":"tsc","check":"tsc --noEmit","prepack":"npm run build","publish:alias":"cd packages/layout-qa && npm publish --access public"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:37f1b9dc-996c-4bb8-8588-56724729e93c"}},"repository":{"url":"git+https://github.com/Layout-App/layout-qa.git","type":"git"},"_npmVersion":"11.13.0","description":"Local browser QA runner and HTML reports for AI-built frontends.","directories":{},"_nodeVersion":"24.16.0","dependencies":{"playwright":"^1.60.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.9.3","@types/node":"^20.14.12"},"_npmOperationalInternal":{"tmp":"tmp/qa_0.5.2_1781762686516_0.023430333198788622","host":"s3://npm-registry-packages-npm-production"}},"0.6.0":{"name":"@trylayout/qa","version":"0.6.0","keywords":["layout","qa","playwright","frontend","visual-testing","ai-agents"],"author":{"name":"Layout"},"license":"MIT","_id":"@trylayout/qa@0.6.0","maintainers":[{"name":"tshepomohlala","email":"tshepo@trylayout.com"}],"homepage":"https://github.com/Layout-App/layout-qa#readme","bugs":{"url":"https://github.com/Layout-App/layout-qa/issues"},"bin":{"layout-qa":"build/cli/layoutQa.js","trylayout":"build/cli/layoutQa.js"},"dist":{"shasum":"cbe1be48c6994ce5c4a6d5f015656712b5a135e4","tarball":"https://registry.npmjs.org/@trylayout/qa/-/qa-0.6.0.tgz","fileCount":22,"integrity":"sha512-28AcDOISUUeZi0wgabexR/LXsdIrSbMU5hGiBNwartTfH+it2wfDQr9WbJzGiljqFfod5NSR86/qpzFJVD6+gA==","signatures":[{"sig":"MEQCIF65nWLVxnbSz3u06tFrpkPF8OGQ6qE+av4Iff4ckNIoAiBr9Idn0jizAsGJyBierFF9HHrhX/IDPJ2pUocu5BMvAQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@trylayout%2fqa@0.6.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":325906},"engines":{"node":">=18"},"gitHead":"8c9a85e75d7944bc837cf0c19f3514a9ea64b0ed","scripts":{"test":"npm run build && node tests/monorepo-resolution.test.js","build":"tsc","check":"tsc --noEmit","prepack":"npm run build","publish:alias":"cd packages/layout-qa && npm publish --access public"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:37f1b9dc-996c-4bb8-8588-56724729e93c"}},"repository":{"url":"git+https://github.com/Layout-App/layout-qa.git","type":"git"},"_npmVersion":"11.13.0","description":"Local browser QA runner and HTML reports for AI-built frontends.","directories":{},"_nodeVersion":"24.16.0","dependencies":{"playwright":"^1.60.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.9.3","@types/node":"^20.14.12"},"_npmOperationalInternal":{"tmp":"tmp/qa_0.6.0_1781840451389_0.35420657236055764","host":"s3://npm-registry-packages-npm-production"}},"0.6.1":{"name":"@trylayout/qa","version":"0.6.1","keywords":["layout","qa","playwright","frontend","visual-testing","ai-agents"],"author":{"name":"Layout"},"license":"MIT","_id":"@trylayout/qa@0.6.1","maintainers":[{"name":"tshepomohlala","email":"tshepo@trylayout.com"}],"homepage":"https://github.com/Layout-App/layout-qa#readme","bugs":{"url":"https://github.com/Layout-App/layout-qa/issues"},"bin":{"layout-qa":"build/cli/layoutQa.js","trylayout":"build/cli/layoutQa.js"},"dist":{"shasum":"f70e6291a6ab34347ea2b4ca453f5364f67e7ce4","tarball":"https://registry.npmjs.org/@trylayout/qa/-/qa-0.6.1.tgz","fileCount":22,"integrity":"sha512-so10n5NAhI+BkoLK9GmJR79IWax0thxPedfYzH5cIsNolDhlYGCwn0Z4mWbxrnLD6S072qoXN7DbTJ/0iQZdug==","signatures":[{"sig":"MEYCIQCZxMlFv24vm2y82fLQ3R6fv5XoYx4FqH8+UdyWDL/D/wIhAOufVZbocqblHFigi9uAmJOJJ7nhF5V3oJ4kZHxJBGD7","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@trylayout%2fqa@0.6.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":329065},"engines":{"node":">=18"},"gitHead":"affafa44a902abb7a7748aaf99426d2cefbdf7a8","scripts":{"test":"npm run build && node tests/monorepo-resolution.test.js","build":"tsc","check":"tsc --noEmit","prepack":"npm run build","publish:alias":"cd packages/layout-qa && npm publish --access public"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:37f1b9dc-996c-4bb8-8588-56724729e93c"}},"repository":{"url":"git+https://github.com/Layout-App/layout-qa.git","type":"git"},"_npmVersion":"11.13.0","description":"Local browser QA runner and HTML reports for AI-built frontends.","directories":{},"_nodeVersion":"24.16.0","dependencies":{"playwright":"^1.60.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.9.3","@types/node":"^20.14.12"},"_npmOperationalInternal":{"tmp":"tmp/qa_0.6.1_1781843302803_0.22721483033968548","host":"s3://npm-registry-packages-npm-production"}},"0.6.2":{"name":"@trylayout/qa","version":"0.6.2","keywords":["layout","qa","playwright","frontend","visual-testing","ai-agents"],"author":{"name":"Layout"},"license":"MIT","_id":"@trylayout/qa@0.6.2","maintainers":[{"name":"tshepomohlala","email":"tshepo@trylayout.com"}],"homepage":"https://github.com/Layout-App/layout-qa#readme","bugs":{"url":"https://github.com/Layout-App/layout-qa/issues"},"bin":{"layout-qa":"build/cli/layoutQa.js","trylayout":"build/cli/layoutQa.js"},"dist":{"shasum":"3f22974f5cee8107f9324ac0d38462f26ed38891","tarball":"https://registry.npmjs.org/@trylayout/qa/-/qa-0.6.2.tgz","fileCount":22,"integrity":"sha512-/dqxtBgfxOtwp4mC1iMpajcWxZd3zrJCRcRn/3Us/qZklMx0LTMk+aexbNe8FrTJUi8M/0QmeIvar/+fc3CMbQ==","signatures":[{"sig":"MEYCIQC5pg9dHYRzzakPibKnfSVGTk4oEUjZZElua1TsTM6I4wIhAJT8QpaToTTkgxAqB4gUod3eg+TLYt314L/uqlPu+Lw5","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@trylayout%2fqa@0.6.2","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":329278},"engines":{"node":">=18"},"gitHead":"a5962f7c12908359f4cc15e36dd35bb28ca5006e","scripts":{"test":"npm run build && node tests/monorepo-resolution.test.js","build":"tsc","check":"tsc --noEmit","prepack":"npm run build","publish:alias":"cd packages/layout-qa && npm publish --access public"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:37f1b9dc-996c-4bb8-8588-56724729e93c"}},"repository":{"url":"git+https://github.com/Layout-App/layout-qa.git","type":"git"},"_npmVersion":"11.13.0","description":"Local browser QA runner and HTML reports for AI-built frontends.","directories":{},"_nodeVersion":"24.16.0","dependencies":{"playwright":"^1.60.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.9.3","@types/node":"^20.14.12"},"_npmOperationalInternal":{"tmp":"tmp/qa_0.6.2_1781843405745_0.9515106967660112","host":"s3://npm-registry-packages-npm-production"}},"0.6.3":{"name":"@trylayout/qa","version":"0.6.3","keywords":["layout","qa","playwright","frontend","visual-testing","ai-agents"],"author":{"name":"Layout"},"license":"MIT","_id":"@trylayout/qa@0.6.3","maintainers":[{"name":"tshepomohlala","email":"tshepo@trylayout.com"}],"homepage":"https://github.com/Layout-App/layout-qa#readme","bugs":{"url":"https://github.com/Layout-App/layout-qa/issues"},"bin":{"layout-qa":"build/cli/layoutQa.js","trylayout":"build/cli/layoutQa.js"},"dist":{"shasum":"87cc493466e4d4a91f88f1236f27d2bc666a94bc","tarball":"https://registry.npmjs.org/@trylayout/qa/-/qa-0.6.3.tgz","fileCount":22,"integrity":"sha512-fabmxODvOOd+cMaVeL/sZAddLRzFQ+G8yKcFbe2Tr7JCe4LN6TyelG3qqOvTTjt7gYatG/wdCSLH3Y9UAO9oVg==","signatures":[{"sig":"MEYCIQD4XNERnuW+BCJ5emceMyHjWsyTX7M8kqTXuQZ+koGiNAIhAKIL+UtpwPToqkNVlWeChRsiOIdMeILzHn4O9Zv/97h/","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@trylayout%2fqa@0.6.3","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":325174},"engines":{"node":">=18"},"gitHead":"2ba093767022de1b533ec160102cc4029f0a11c7","scripts":{"test":"npm run build && node tests/monorepo-resolution.test.js","build":"tsc","check":"tsc --noEmit","prepack":"npm run build","publish:alias":"cd packages/layout-qa && npm publish --access public"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:37f1b9dc-996c-4bb8-8588-56724729e93c"}},"repository":{"url":"git+https://github.com/Layout-App/layout-qa.git","type":"git"},"_npmVersion":"11.13.0","description":"Local browser QA runner and HTML reports for AI-built frontends.","directories":{},"_nodeVersion":"24.16.0","dependencies":{"playwright":"^1.60.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.9.3","@types/node":"^20.14.12"},"_npmOperationalInternal":{"tmp":"tmp/qa_0.6.3_1781868032566_0.1869012933188543","host":"s3://npm-registry-packages-npm-production"}},"0.6.4":{"name":"@trylayout/qa","version":"0.6.4","keywords":["layout","qa","playwright","frontend","visual-testing","ai-agents"],"author":{"name":"Layout"},"license":"MIT","_id":"@trylayout/qa@0.6.4","maintainers":[{"name":"tshepomohlala","email":"tshepo@trylayout.com"}],"homepage":"https://github.com/Layout-App/layout-qa#readme","bugs":{"url":"https://github.com/Layout-App/layout-qa/issues"},"bin":{"layout-qa":"build/cli/layoutQa.js","trylayout":"build/cli/layoutQa.js"},"dist":{"shasum":"94f48850074f0fbd3e5b2a3dc8203b694898c71f","tarball":"https://registry.npmjs.org/@trylayout/qa/-/qa-0.6.4.tgz","fileCount":22,"integrity":"sha512-vhPYP3HpmPxZOHpqpYawdbgICtaQmFcb2k6fG7e6u9B0f+As8nnvAPZiDGpXvGTQw9yMwDMvvj7oewjZApuGOw==","signatures":[{"sig":"MEUCIQCI7ZjjmhUcy08U9b75okqht1XYOpd0Rn6NyxnuyyQ1sAIgFInbTVXP9Oa3EmBro4Kdg25flWpm5Jnwb2KiwvyFODk=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@trylayout%2fqa@0.6.4","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":329067},"engines":{"node":">=18"},"gitHead":"56388c9aa5640cc2dc2b9ba9abb3a613359c556b","scripts":{"test":"npm run build && node tests/monorepo-resolution.test.js","build":"tsc","check":"tsc --noEmit","prepack":"npm run build","publish:alias":"cd packages/layout-qa && npm publish --access public"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:37f1b9dc-996c-4bb8-8588-56724729e93c"}},"repository":{"url":"git+https://github.com/Layout-App/layout-qa.git","type":"git"},"_npmVersion":"11.13.0","description":"Local browser QA runner and HTML reports for AI-built frontends.","directories":{},"_nodeVersion":"24.16.0","dependencies":{"playwright":"^1.60.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.9.3","@types/node":"^20.14.12"},"_npmOperationalInternal":{"tmp":"tmp/qa_0.6.4_1781872139840_0.8293274434811431","host":"s3://npm-registry-packages-npm-production"}},"0.6.5":{"name":"@trylayout/qa","version":"0.6.5","keywords":["layout","qa","playwright","frontend","visual-testing","ai-agents"],"author":{"name":"Layout"},"license":"MIT","_id":"@trylayout/qa@0.6.5","maintainers":[{"name":"tshepomohlala","email":"tshepo@trylayout.com"}],"homepage":"https://github.com/Layout-App/layout-qa#readme","bugs":{"url":"https://github.com/Layout-App/layout-qa/issues"},"bin":{"layout-qa":"build/cli/layoutQa.js","trylayout":"build/cli/layoutQa.js"},"dist":{"shasum":"004190a857daa87ce4a9c29e98c1b735ae13be70","tarball":"https://registry.npmjs.org/@trylayout/qa/-/qa-0.6.5.tgz","fileCount":22,"integrity":"sha512-4aRdbfduDHX3h/m9XTmM52wbHGq3Uin/jiP+skRcOL82AsPfTq2j3Fl4yfOEx326eOPBu1gjIcKSLTYkiYTOug==","signatures":[{"sig":"MEUCIGM5b82JR339I0QTVeVPeBaEPVl8Nr+nWY6pnxqGhw5GAiEAnvP4+qpTpHkKm1nE9KfggjHqW/u4ilu6M7niwPYnu9o=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@trylayout%2fqa@0.6.5","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":337596},"engines":{"node":">=18"},"gitHead":"8cf00ba6adc84a220ecc34335c88396b2c53370f","scripts":{"test":"npm run build && node tests/monorepo-resolution.test.js","build":"tsc","check":"tsc --noEmit","prepack":"npm run build","publish:alias":"cd packages/layout-qa && npm publish --access public"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:37f1b9dc-996c-4bb8-8588-56724729e93c"}},"repository":{"url":"git+https://github.com/Layout-App/layout-qa.git","type":"git"},"_npmVersion":"11.13.0","description":"Local browser QA runner and HTML reports for AI-built frontends.","directories":{},"_nodeVersion":"24.16.0","dependencies":{"playwright":"^1.60.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.9.3","@types/node":"^20.14.12"},"_npmOperationalInternal":{"tmp":"tmp/qa_0.6.5_1781931265861_0.4314438669547611","host":"s3://npm-registry-packages-npm-production"}},"0.6.6":{"name":"@trylayout/qa","version":"0.6.6","keywords":["layout","qa","playwright","frontend","visual-testing","ai-agents"],"author":{"name":"Layout"},"license":"MIT","_id":"@trylayout/qa@0.6.6","maintainers":[{"name":"tshepomohlala","email":"tshepo@trylayout.com"}],"homepage":"https://github.com/Layout-App/layout-qa#readme","bugs":{"url":"https://github.com/Layout-App/layout-qa/issues"},"bin":{"layout-qa":"build/cli/layoutQa.js","trylayout":"build/cli/layoutQa.js"},"dist":{"shasum":"a4f707d36f69d136fe6ff62bf121811d6bc3c7f7","tarball":"https://registry.npmjs.org/@trylayout/qa/-/qa-0.6.6.tgz","fileCount":22,"integrity":"sha512-lMxq1r5ZVc/k73+XgqH/f1BTshNfVvFAZ7QFKtz+yWOy2k8xRBdwFtd9vBergvq4kRCQWXhqwlb8chA6mnCxhg==","signatures":[{"sig":"MEUCIQCAutJhW+9nOGX+t9IBkg8qbbJ7siaAVXfLbiMbe0zgCAIgYHAH6VNw5jbToHqu/xFOJGIklmgdrtKmW/7dFKG22BY=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@trylayout%2fqa@0.6.6","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":337625},"engines":{"node":">=18"},"gitHead":"7f042d370817283274708cc474e547a23ef48eb4","scripts":{"test":"npm run build && node tests/monorepo-resolution.test.js","build":"tsc","check":"tsc --noEmit","prepack":"npm run build","publish:alias":"cd packages/layout-qa && npm publish --access public"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:37f1b9dc-996c-4bb8-8588-56724729e93c"}},"repository":{"url":"git+https://github.com/Layout-App/layout-qa.git","type":"git"},"_npmVersion":"11.13.0","description":"Local browser QA runner and HTML reports for AI-built frontends.","directories":{},"_nodeVersion":"24.16.0","dependencies":{"playwright":"^1.60.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.9.3","@types/node":"^20.14.12"},"_npmOperationalInternal":{"tmp":"tmp/qa_0.6.6_1781933983364_0.46369260088360553","host":"s3://npm-registry-packages-npm-production"}},"0.6.8":{"name":"@trylayout/qa","version":"0.6.8","keywords":["layout","qa","playwright","frontend","visual-testing","ai-agents"],"author":{"name":"Layout"},"license":"MIT","_id":"@trylayout/qa@0.6.8","maintainers":[{"name":"tshepomohlala","email":"tshepo@trylayout.com"}],"homepage":"https://github.com/Layout-App/layout-qa#readme","bugs":{"url":"https://github.com/Layout-App/layout-qa/issues"},"bin":{"layout-qa":"build/cli/layoutQa.js","trylayout":"build/cli/layoutQa.js"},"dist":{"shasum":"52948597a7499e6117ad89ee3f9d3dbf4d2be325","tarball":"https://registry.npmjs.org/@trylayout/qa/-/qa-0.6.8.tgz","fileCount":22,"integrity":"sha512-z9X/sxH3LFkbobX07kJDofFdjCagyPQ8jn75JgNdI/epHR0m99XR6zP91mJoAKh0WvMPSiy/PTnicHHbuoPCzQ==","signatures":[{"sig":"MEYCIQDdNoXC1KCqcqEe1hV3i+Bo4RiuviwC5EgJZ9Kv+qQeDgIhALKMPzLNYRT3QO55ERMQi+LUa5qEyjwfHVLo/5VhJaoq","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@trylayout%2fqa@0.6.8","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":338291},"engines":{"node":">=18"},"gitHead":"2e1f102780b40f70e99a862f0faa729726c61571","scripts":{"test":"npm run build && node tests/monorepo-resolution.test.js","build":"tsc","check":"tsc --noEmit","prepack":"npm run build","publish:alias":"cd packages/layout-qa && npm publish --access public"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:37f1b9dc-996c-4bb8-8588-56724729e93c"}},"repository":{"url":"git+https://github.com/Layout-App/layout-qa.git","type":"git"},"_npmVersion":"11.13.0","description":"Local browser QA runner and HTML reports for AI-built frontends.","directories":{},"_nodeVersion":"24.16.0","dependencies":{"playwright":"^1.60.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.9.3","@types/node":"^20.14.12"},"_npmOperationalInternal":{"tmp":"tmp/qa_0.6.8_1782019027584_0.7284375273396377","host":"s3://npm-registry-packages-npm-production"}},"0.6.9":{"name":"@trylayout/qa","version":"0.6.9","keywords":["layout","qa","playwright","frontend","visual-testing","ai-agents"],"author":{"name":"Layout"},"license":"MIT","_id":"@trylayout/qa@0.6.9","maintainers":[{"name":"tshepomohlala","email":"tshepo@trylayout.com"}],"homepage":"https://github.com/Layout-App/layout-qa#readme","bugs":{"url":"https://github.com/Layout-App/layout-qa/issues"},"bin":{"layout-qa":"build/cli/layoutQa.js","trylayout":"build/cli/layoutQa.js"},"dist":{"shasum":"e3f89fbbd289142d007dff848848cc5434558abf","tarball":"https://registry.npmjs.org/@trylayout/qa/-/qa-0.6.9.tgz","fileCount":22,"integrity":"sha512-0ZTTlul5Of/7D3u/1NOPLZ5DOJK4Pn59X07MnI62wcRj+HMs6+c5DeY8uZ8dYEAHhBrsOboafnWF1opsnQsqug==","signatures":[{"sig":"MEUCIQCpFFxNf+1FAFH/fRWEr5BVeESsC00To6iHGg8yX3BnNAIgSqrD1rSDRZkeZtXfqglUGfEs3U9aK88kf3OYRuFoh6g=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@trylayout%2fqa@0.6.9","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":339366},"engines":{"node":">=18"},"gitHead":"4eba8e179c7d9682c58d6dfb961119be4130ec0e","scripts":{"test":"npm run build && node tests/monorepo-resolution.test.js","build":"tsc","check":"tsc --noEmit","prepack":"npm run build","publish:alias":"cd packages/layout-qa && npm publish --access public"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:37f1b9dc-996c-4bb8-8588-56724729e93c"}},"repository":{"url":"git+https://github.com/Layout-App/layout-qa.git","type":"git"},"_npmVersion":"11.13.0","description":"Local browser QA runner and HTML reports for AI-built frontends.","directories":{},"_nodeVersion":"24.16.0","dependencies":{"playwright":"^1.60.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.9.3","@types/node":"^20.14.12"},"_npmOperationalInternal":{"tmp":"tmp/qa_0.6.9_1782021504544_0.8521373602191278","host":"s3://npm-registry-packages-npm-production"}},"0.6.10":{"name":"@trylayout/qa","version":"0.6.10","keywords":["layout","qa","playwright","frontend","visual-testing","ai-agents"],"author":{"name":"Layout"},"license":"MIT","_id":"@trylayout/qa@0.6.10","maintainers":[{"name":"tshepomohlala","email":"tshepo@trylayout.com"}],"homepage":"https://github.com/Layout-App/layout-qa#readme","bugs":{"url":"https://github.com/Layout-App/layout-qa/issues"},"bin":{"layout-qa":"build/cli/layoutQa.js","trylayout":"build/cli/layoutQa.js"},"dist":{"shasum":"e0a14a9cc1dedd69f7a8df7fb60aef75040b84ef","tarball":"https://registry.npmjs.org/@trylayout/qa/-/qa-0.6.10.tgz","fileCount":22,"integrity":"sha512-sFd8qQD6DYgCA02oFWprUQe5yQI0wX09AoYP4+B2MngSWtmsyfi3H0AvT8dOHPX/SX6bzkq0MEkQFJgtdZZGrg==","signatures":[{"sig":"MEUCIQDdk7UCvg8hxYunuQXkbP5bLitZB/3BW2vh3bhLrxCrXwIgTO1XQIKkoP1DQA4J9FhVQbbeNUaa1sbGa7WDCLAP3KU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@trylayout%2fqa@0.6.10","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":340418},"engines":{"node":">=18"},"gitHead":"be808a4dd355763e9275e764c427cd49dd01c433","scripts":{"test":"npm run build && node tests/monorepo-resolution.test.js","build":"tsc","check":"tsc --noEmit","prepack":"npm run build","publish:alias":"cd packages/layout-qa && npm publish --access public"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:37f1b9dc-996c-4bb8-8588-56724729e93c"}},"repository":{"url":"git+https://github.com/Layout-App/layout-qa.git","type":"git"},"_npmVersion":"11.13.0","description":"Local browser QA runner and HTML reports for AI-built frontends.","directories":{},"_nodeVersion":"24.16.0","dependencies":{"playwright":"^1.60.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.9.3","@types/node":"^20.14.12"},"_npmOperationalInternal":{"tmp":"tmp/qa_0.6.10_1782024961951_0.818751676620354","host":"s3://npm-registry-packages-npm-production"}},"0.6.11":{"name":"@trylayout/qa","version":"0.6.11","keywords":["layout","qa","playwright","frontend","visual-testing","ai-agents"],"author":{"name":"Layout"},"license":"MIT","_id":"@trylayout/qa@0.6.11","maintainers":[{"name":"tshepomohlala","email":"tshepo@trylayout.com"}],"homepage":"https://github.com/Layout-App/layout-qa#readme","bugs":{"url":"https://github.com/Layout-App/layout-qa/issues"},"bin":{"layout-qa":"build/cli/layoutQa.js","trylayout":"build/cli/layoutQa.js"},"dist":{"shasum":"a79a764035eb5592113cb34f79a105e70d865e54","tarball":"https://registry.npmjs.org/@trylayout/qa/-/qa-0.6.11.tgz","fileCount":22,"integrity":"sha512-J/7RzaiFsVF0VuhEOZnGHfetJ24j5Zs8B/B1jzZThIwCEN2C1jt2dIi/U2p1shXVcgCdvg14fjVXSqe32KQ1OQ==","signatures":[{"sig":"MEQCIE1eg76LBQnLZMIjPofExUpbrFKsuRuyipDt/SW4PIHIAiBeXsc1AVym1/6vK5rJyzxkoBsI9IAHGLyHujzvq3M8ag==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@trylayout%2fqa@0.6.11","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":340305},"engines":{"node":">=18"},"gitHead":"58cd39148766e6bccdd5ed54a13d748c9860a8b8","scripts":{"test":"npm run build && node tests/monorepo-resolution.test.js","build":"tsc","check":"tsc --noEmit","prepack":"npm run build","publish:alias":"cd packages/layout-qa && npm publish --access public"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:37f1b9dc-996c-4bb8-8588-56724729e93c"}},"repository":{"url":"git+https://github.com/Layout-App/layout-qa.git","type":"git"},"_npmVersion":"11.13.0","description":"Local browser QA runner and HTML reports for AI-built frontends.","directories":{},"_nodeVersion":"24.16.0","dependencies":{"playwright":"^1.60.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.9.3","@types/node":"^20.14.12"},"_npmOperationalInternal":{"tmp":"tmp/qa_0.6.11_1782027227537_0.20086705000177552","host":"s3://npm-registry-packages-npm-production"}},"0.7.0":{"name":"@trylayout/qa","version":"0.7.0","keywords":["layout","qa","playwright","frontend","visual-testing","ai-agents"],"author":{"name":"Layout"},"license":"MIT","_id":"@trylayout/qa@0.7.0","maintainers":[{"name":"tshepomohlala","email":"tshepo@trylayout.com"}],"homepage":"https://github.com/Layout-App/layout-qa#readme","bugs":{"url":"https://github.com/Layout-App/layout-qa/issues"},"bin":{"layout-qa":"build/cli/layoutQa.js","trylayout":"build/cli/layoutQa.js"},"dist":{"shasum":"768b79f7f833ca8415ccf0aa06298d342ef3734f","tarball":"https://registry.npmjs.org/@trylayout/qa/-/qa-0.7.0.tgz","fileCount":22,"integrity":"sha512-gGwoeYfZeK+pXq0aq1WcIZUA3l0zsFQJn1nTrESpebmGXCqS0iVB7XIRc1WmaoQJFnxRgghxqE8l9BFrLX6AxQ==","signatures":[{"sig":"MEYCIQClZIV68sM3wOxJ8WleplJXHZD4/FbGrVWdrWokhmJJgwIhAK9X1wCz2Cu+j63uNnfE6Cr4U/GA5hpRx/aYUcPyi77z","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@trylayout%2fqa@0.7.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":288439},"engines":{"node":">=18"},"gitHead":"98c47b72a30832127fc5f45cd36097d9288cf8f4","scripts":{"test":"npm run build && node tests/monorepo-resolution.test.js","build":"tsc","check":"tsc --noEmit","prepack":"npm run build","publish:alias":"cd packages/layout-qa && npm publish --access public"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:37f1b9dc-996c-4bb8-8588-56724729e93c"}},"repository":{"url":"git+https://github.com/Layout-App/layout-qa.git","type":"git"},"_npmVersion":"11.13.0","description":"API client for Layout's frontend QA oracle.","directories":{},"_nodeVersion":"24.16.0","dependencies":{"playwright":"^1.60.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.9.3","@types/node":"^20.14.12"},"_npmOperationalInternal":{"tmp":"tmp/qa_0.7.0_1782060190387_0.9621957851656129","host":"s3://npm-registry-packages-npm-production"}},"0.7.1":{"name":"@trylayout/qa","version":"0.7.1","keywords":["layout","qa","playwright","frontend","visual-testing","ai-agents"],"author":{"name":"Layout"},"license":"MIT","_id":"@trylayout/qa@0.7.1","maintainers":[{"name":"tshepomohlala","email":"tshepo@trylayout.com"}],"homepage":"https://github.com/Layout-App/layout-qa#readme","bugs":{"url":"https://github.com/Layout-App/layout-qa/issues"},"bin":{"layout-qa":"build/cli/layoutQa.js","trylayout":"build/cli/layoutQa.js"},"dist":{"shasum":"7b0a8b2cad02ff08e3179e0246965917aa0f4059","tarball":"https://registry.npmjs.org/@trylayout/qa/-/qa-0.7.1.tgz","fileCount":22,"integrity":"sha512-qnV7AgcvPiIQANK1w8hL2XWRgDPTsU9ZA1efNL6TkumNnLtkl+UdBoIPm3BSM1rV61AOwe+ONhMlXjQsLiB9qQ==","signatures":[{"sig":"MEUCIQC4L0JMFJ38kDMR/fI0RJmelrMiOJilPuPgkfP4ay82KwIgV5ViQG3uaQhw2nH5NkyiR08m5B2Ar4qsrvIdbeLRttE=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@trylayout%2fqa@0.7.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":288341},"engines":{"node":">=18"},"gitHead":"78a81ed125c63d889f8537af9759a4a2473fd203","scripts":{"test":"npm run build && node tests/monorepo-resolution.test.js","build":"tsc","check":"tsc --noEmit","prepack":"npm run build","publish:alias":"cd packages/layout-qa && npm publish --access public"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:37f1b9dc-996c-4bb8-8588-56724729e93c"}},"repository":{"url":"git+https://github.com/Layout-App/layout-qa.git","type":"git"},"_npmVersion":"11.13.0","description":"API client for Layout frontend QA.","directories":{},"_nodeVersion":"24.16.0","dependencies":{"playwright":"^1.60.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.9.3","@types/node":"^20.14.12"},"_npmOperationalInternal":{"tmp":"tmp/qa_0.7.1_1782102444934_0.7016442244497452","host":"s3://npm-registry-packages-npm-production"}},"0.7.2":{"name":"@trylayout/qa","version":"0.7.2","keywords":["layout","qa","playwright","frontend","visual-testing","ai-agents"],"author":{"name":"Layout"},"license":"MIT","_id":"@trylayout/qa@0.7.2","maintainers":[{"name":"tshepomohlala","email":"tshepo@trylayout.com"}],"homepage":"https://github.com/Layout-App/layout-qa#readme","bugs":{"url":"https://github.com/Layout-App/layout-qa/issues"},"bin":{"layout-qa":"build/cli/layoutQa.js","trylayout":"build/cli/layoutQa.js"},"dist":{"shasum":"8be1595c801c1c0a4c6ab21613ed866a49e78925","tarball":"https://registry.npmjs.org/@trylayout/qa/-/qa-0.7.2.tgz","fileCount":22,"integrity":"sha512-wKolja/otxJcfnBJb8ujxdibvu8BGsa1HQAdP/qQnfPwkmWrtxM5bVPhlOokVzcUm9pNJF2rhl0miLVxcHA5AA==","signatures":[{"sig":"MEYCIQCHATv11TkbgsOymvCOyk+1c7+dbasclcrYp7K2DinDwgIhAIGVCuyWw83n+kRjeI6xBZ4E3XD11qTNDmQbpMhMmWgh","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@trylayout%2fqa@0.7.2","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":323656},"engines":{"node":">=18"},"gitHead":"0e7e5df96f99cf238db1a486b2ea744d5b46fc5a","scripts":{"test":"npm run build && node tests/monorepo-resolution.test.js","build":"tsc","check":"tsc --noEmit","prepack":"npm run build","publish:alias":"cd packages/layout-qa && npm publish --access public"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:37f1b9dc-996c-4bb8-8588-56724729e93c"}},"repository":{"url":"git+https://github.com/Layout-App/layout-qa.git","type":"git"},"_npmVersion":"11.13.0","description":"Frontend QA API client and open protocol runner.","directories":{},"_nodeVersion":"24.16.0","dependencies":{"playwright":"^1.60.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.9.3","@types/node":"^20.14.12"},"_npmOperationalInternal":{"tmp":"tmp/qa_0.7.2_1782104522990_0.4729026738109763","host":"s3://npm-registry-packages-npm-production"}},"0.7.3":{"name":"@trylayout/qa","version":"0.7.3","keywords":["layout","qa","playwright","frontend","visual-testing","ai-agents"],"author":{"name":"Layout"},"license":"MIT","_id":"@trylayout/qa@0.7.3","maintainers":[{"name":"tshepomohlala","email":"tshepo@trylayout.com"}],"homepage":"https://github.com/Layout-App/layout-qa#readme","bugs":{"url":"https://github.com/Layout-App/layout-qa/issues"},"bin":{"qa":"build/cli/layoutQa.js","layout-qa":"build/cli/layoutQa.js","trylayout":"build/cli/layoutQa.js"},"dist":{"shasum":"1f855312e394c4d5a4f5345e29a8cbd8803af53b","tarball":"https://registry.npmjs.org/@trylayout/qa/-/qa-0.7.3.tgz","fileCount":22,"integrity":"sha512-f+p2RdiXy8Gr93TceT4LJIyPSrP0thY6oeNmTgCbj0t/UNo4TeRGRLGXKXqy+rAqLNmky5cxIOwIUZSI/DLvlA==","signatures":[{"sig":"MEYCIQDoBSu5/CXarq01pDUg9hZ+OhDsqwa3oXZL/eM9BUGP+gIhALzxXJsBvTTSZD+4IzJ6BOQymQe3SMt1qtfJKIhET9Ko","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@trylayout%2fqa@0.7.3","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":323691},"engines":{"node":">=18"},"gitHead":"0754603a6b7d1da987f63c54bc09bbf4d13e7b47","scripts":{"test":"npm run build && node tests/monorepo-resolution.test.js","build":"tsc","check":"tsc --noEmit","prepack":"npm run build","publish:alias":"cd packages/layout-qa && npm publish --access public"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:37f1b9dc-996c-4bb8-8588-56724729e93c"}},"repository":{"url":"git+https://github.com/Layout-App/layout-qa.git","type":"git"},"_npmVersion":"11.13.0","description":"Frontend QA API client and open protocol runner.","directories":{},"_nodeVersion":"24.16.0","dependencies":{"playwright":"^1.60.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.9.3","@types/node":"^20.14.12"},"_npmOperationalInternal":{"tmp":"tmp/qa_0.7.3_1782104753065_0.48005865148098015","host":"s3://npm-registry-packages-npm-production"}},"0.7.4":{"name":"@trylayout/qa","version":"0.7.4","keywords":["layout","qa","playwright","frontend","visual-testing","ai-agents"],"author":{"name":"Layout"},"license":"MIT","_id":"@trylayout/qa@0.7.4","maintainers":[{"name":"tshepomohlala","email":"tshepo@trylayout.com"}],"homepage":"https://github.com/Layout-App/layout-qa#readme","bugs":{"url":"https://github.com/Layout-App/layout-qa/issues"},"bin":{"qa":"build/cli/layoutQa.js","layout-qa":"build/cli/layoutQa.js","trylayout":"build/cli/layoutQa.js"},"dist":{"shasum":"644c2f3a2821ff517de717fad66a8969f3d55c18","tarball":"https://registry.npmjs.org/@trylayout/qa/-/qa-0.7.4.tgz","fileCount":22,"integrity":"sha512-XwSBwkYDZS3aQ4HwfdMuCMmzAqfqtHYeXth+tGKHDeo18ReZMP/qQQ/XAGjjEnBJ0UaEcmQ5SfjPTXWBUuwzQQ==","signatures":[{"sig":"MEUCIGT5wsgz/PVBAFwTUFEXKOOo9kU7/PUIi0hMdoZPF31ZAiEA/dY1sJH32qmMcDS3UjRu3DdJPMcOHTvURKZZ+I7Ghhw=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@trylayout%2fqa@0.7.4","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":321800},"engines":{"node":">=18"},"gitHead":"521f32a27d1e1e1d3a4589eebeab6ca0a310bd8a","scripts":{"test":"npm run build && node tests/monorepo-resolution.test.js","build":"tsc","check":"tsc --noEmit","prepack":"npm run build","publish:alias":"cd packages/layout-qa && npm publish --access public"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:37f1b9dc-996c-4bb8-8588-56724729e93c"}},"repository":{"url":"git+https://github.com/Layout-App/layout-qa.git","type":"git"},"_npmVersion":"11.13.0","description":"Open source frontend QA protocol runner for coding agents.","directories":{},"_nodeVersion":"24.16.0","dependencies":{"playwright":"^1.60.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.9.3","@types/node":"^20.14.12"},"_npmOperationalInternal":{"tmp":"tmp/qa_0.7.4_1782116167216_0.8600820937720544","host":"s3://npm-registry-packages-npm-production"}},"0.7.5":{"name":"@trylayout/qa","version":"0.7.5","keywords":["layout","qa","playwright","frontend","visual-testing","ai-agents"],"author":{"name":"Layout"},"license":"MIT","_id":"@trylayout/qa@0.7.5","maintainers":[{"name":"tshepomohlala","email":"tshepo@trylayout.com"}],"homepage":"https://github.com/Layout-App/layout-qa#readme","bugs":{"url":"https://github.com/Layout-App/layout-qa/issues"},"bin":{"qa":"build/cli/layoutQa.js","layout-qa":"build/cli/layoutQa.js","trylayout":"build/cli/layoutQa.js"},"dist":{"shasum":"56edcbaaa1eb80d809120926a822341b5254d8e9","tarball":"https://registry.npmjs.org/@trylayout/qa/-/qa-0.7.5.tgz","fileCount":22,"integrity":"sha512-RjVSjj7dY8kW0knbSwrwkv80kDFc1WxAVGN1a7g6qoQrfZ2OAbPy+sGN4rHHmKfwu2E78g5kUHkDd2nCPFX+pA==","signatures":[{"sig":"MEUCIQDny+jGfOrp+ZtHb63VS0JhucYu0CbsRPZOUFFCTBnOTQIgHa276AIzYWPkfImJUr0C2aI8bMn6QqLdPBZrRV5WMkY=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@trylayout%2fqa@0.7.5","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":328707},"engines":{"node":">=18"},"gitHead":"e68f22383cac1623d594ef2c8a9dcfeb14e5a07c","scripts":{"test":"npm run build && node tests/monorepo-resolution.test.js","build":"tsc","check":"tsc --noEmit","prepack":"npm run build","publish:alias":"cd packages/layout-qa && npm publish --access public"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:37f1b9dc-996c-4bb8-8588-56724729e93c"}},"repository":{"url":"git+https://github.com/Layout-App/layout-qa.git","type":"git"},"_npmVersion":"11.13.0","description":"Open source frontend QA protocol runner for coding agents.","directories":{},"_nodeVersion":"24.16.0","dependencies":{"playwright":"^1.60.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.9.3","@types/node":"^20.14.12"},"_npmOperationalInternal":{"tmp":"tmp/qa_0.7.5_1782288813869_0.5500570104940661","host":"s3://npm-registry-packages-npm-production"}},"0.7.6":{"name":"@trylayout/qa","version":"0.7.6","description":"Open source frontend QA protocol runner for coding agents.","license":"MIT","author":{"name":"Layout"},"homepage":"https://github.com/Layout-App/layout-qa#readme","repository":{"type":"git","url":"git+https://github.com/Layout-App/layout-qa.git"},"bugs":{"url":"https://github.com/Layout-App/layout-qa/issues"},"keywords":["layout","qa","playwright","frontend","visual-testing","ai-agents"],"bin":{"qa":"build/cli/layoutQa.js","layout-qa":"build/cli/layoutQa.js","trylayout":"build/cli/layoutQa.js"},"publishConfig":{"access":"public"},"engines":{"node":">=18"},"scripts":{"build":"tsc","check":"tsc --noEmit","test":"npm run build && node tests/monorepo-resolution.test.js","publish:alias":"cd packages/layout-qa && npm publish --access public","prepack":"npm run build"},"dependencies":{"playwright":"^1.60.0"},"devDependencies":{"@types/node":"^20.14.12","typescript":"^5.9.3"},"gitHead":"9989b6247bd79be24ed4f07decacbd43775f108b","_id":"@trylayout/qa@0.7.6","_nodeVersion":"24.16.0","_npmVersion":"11.13.0","dist":{"integrity":"sha512-lMi1wuIHOnih+3/itz1qFDKuJb8HXDc9TOF9NFTyBxUcTTrhXMOFLSRKUqNhAOWvCXL1SAl9L+Q94nPFqdXgzA==","shasum":"31af1b55eb0331e513115a8f92cf762ffc2ed1e4","tarball":"https://registry.npmjs.org/@trylayout/qa/-/qa-0.7.6.tgz","fileCount":22,"unpackedSize":328711,"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@trylayout%2fqa@0.7.6","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEYCIQCwxri41MYAzKKqxlN41GLHdwSvlOjVHtJ2xx8fJTnEJwIhANYm2GVM1A+k+MKV9+ephmO5gTZlSMFloH6V9ZoEylsX"}]},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:37f1b9dc-996c-4bb8-8588-56724729e93c"}},"directories":{},"maintainers":[{"name":"tshepomohlala","email":"tshepo@trylayout.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/qa_0.7.6_1782291197503_0.6699468003903732"},"_hasShrinkwrap":false}},"time":{"created":"2026-06-09T23:44:16.441Z","modified":"2026-06-24T08:53:17.964Z","0.1.0":"2026-06-09T23:44:16.684Z","0.1.1":"2026-06-09T23:59:07.276Z","0.1.2":"2026-06-10T00:56:03.202Z","0.1.3":"2026-06-10T01:41:11.600Z","0.1.4":"2026-06-10T13:19:14.409Z","0.1.5":"2026-06-10T13:43:26.913Z","0.2.0":"2026-06-13T20:29:46.997Z","0.2.1":"2026-06-14T23:01:50.216Z","0.2.2":"2026-06-15T02:20:23.629Z","0.3.0":"2026-06-16T00:48:16.760Z","0.3.1":"2026-06-16T17:28:29.123Z","0.4.0":"2026-06-17T00:02:29.954Z","0.4.1":"2026-06-17T00:50:06.532Z","0.4.2":"2026-06-17T02:40:46.790Z","0.4.3":"2026-06-17T03:23:31.835Z","0.5.0":"2026-06-17T06:24:18.930Z","0.5.1":"2026-06-17T21:08:06.184Z","0.5.2":"2026-06-18T06:04:46.737Z","0.6.0":"2026-06-19T03:40:51.546Z","0.6.1":"2026-06-19T04:28:22.970Z","0.6.2":"2026-06-19T04:30:05.946Z","0.6.3":"2026-06-19T11:20:32.747Z","0.6.4":"2026-06-19T12:29:00.018Z","0.6.5":"2026-06-20T04:54:26.061Z","0.6.6":"2026-06-20T05:39:43.542Z","0.6.8":"2026-06-21T05:17:07.830Z","0.6.9":"2026-06-21T05:58:24.698Z","0.6.10":"2026-06-21T06:56:02.109Z","0.6.11":"2026-06-21T07:33:47.738Z","0.7.0":"2026-06-21T16:43:10.531Z","0.7.1":"2026-06-22T04:27:25.073Z","0.7.2":"2026-06-22T05:02:03.137Z","0.7.3":"2026-06-22T05:05:53.200Z","0.7.4":"2026-06-22T08:16:07.381Z","0.7.5":"2026-06-24T08:13:34.057Z","0.7.6":"2026-06-24T08:53:17.681Z"},"bugs":{"url":"https://github.com/Layout-App/layout-qa/issues"},"author":{"name":"Layout"},"license":"MIT","homepage":"https://github.com/Layout-App/layout-qa#readme","keywords":["layout","qa","playwright","frontend","visual-testing","ai-agents"],"repository":{"type":"git","url":"git+https://github.com/Layout-App/layout-qa.git"},"description":"Open source frontend QA protocol runner for coding agents.","maintainers":[{"name":"tshepomohlala","email":"tshepo@trylayout.com"}],"readme":"# Layout QA\n\n[![npm](https://img.shields.io/npm/v/@trylayout/qa?label=npm)](https://www.npmjs.com/package/@trylayout/qa)\n[![CI](https://github.com/Layout-App/layout-qa/actions/workflows/ci.yml/badge.svg)](https://github.com/Layout-App/layout-qa/actions/workflows/ci.yml)\n[![License: MIT](https://img.shields.io/badge/license-MIT-black.svg)](LICENSE)\n\nLayout QA is an open source frontend QA protocol for coding agents.\n\nIt gives agents a repeatable way to set up a frontend, run browser checks,\ncapture screenshots, and report concrete visual, UX, and state issues from the\nactive coding session.\n\n## Primary Agent Flow\n\nSet up the repo once:\n\n```bash\nnpx @trylayout/qa setup\n```\n\nRun a QA pass:\n\n```bash\nnpx @trylayout/qa test \"test the changed checkout flow\" --json\n```\n\nEach run writes:\n\n```text\n.layout/runs/<timestamp-scenario-viewport>/\n  index.html\n  result.json\n  screenshots/\n```\n\nThe CLI exits `0` on pass and `1` on failure.\n\n## Commands\n\nPrimary commands:\n\n```text\ntrylayout setup [options]\ntrylayout test \"intent\" [options]\n```\n\nRemote PR check commands:\n\n```text\ntrylayout pr setup [options]\ntrylayout pr run \"intent\" --repo <owner/repo> --ref <branch> [options]\ntrylayout pr status <run_id> [options]\n```\n\nProtocol commands:\n\n```text\ntrylayout init [options]\ntrylayout check [flow_id ...] [options]\ntrylayout install-browsers\ntrylayout mock-api [options]\ntrylayout run --target-url <url> [options]\n```\n\nUse `npx @trylayout/qa <command>` when running without installing. The\n`layout-qa` package and binary are equivalent aliases.\n\n## Common Options\n\n```text\n--json             Print machine-readable JSON.\n--open             Open generated local HTML reports. With setup, open docs.\n--intent <text>    Natural-language QA intent metadata.\n--timeout <ms>     Browser run timeout.\n--branch <name>    Branch name for report metadata.\n--commit-sha <sha> Commit SHA metadata.\n```\n\nRemote PR options:\n\n```text\n--api-url <url>    Layout API base URL. Defaults to https://api.trylayout.com/v1/qa.\n--api-key <key>    Layout organization API key. Defaults to LAYOUT_API_KEY.\n--repo <name>      Repository full name, e.g. owner/repo.\n--ref <name>       Branch/ref for a PR check. Defaults to --branch.\n--run-id <id>      Layout run id for status checks.\n--wait             Poll until the PR check is ready.\n```\n\nProtocol/local options:\n\n```text\n--target-url <url> URL of an already-running frontend to test.\n--scenario <name>  Scenario to activate. Defaults to happy_path.\n--flows <path>     Flow manifest path. Defaults to .layout/qa.json.\n--app <name>       App key from manifest apps.<name>.\n--mock-root <path> Mock service root.\n--port <number>    Port for mock-api or a single service.\n--out <path>       Artifact directory. Defaults to .layout/runs.\n--viewport <value> Viewport preset or size: desktop, tablet, mobile, or WIDTHxHEIGHT.\n--headed           Show the browser instead of running headless.\n--start-app        Start the app from .layout/qa.json before local checks.\n--serve-mocks      Start manifest services before local checks.\n--skip-install     With --start-app, skip app.install.\n--force            Overwrite starter protocol files during setup/init.\n```\n\n## Protocol Manifest\n\nDefault path: `.layout/qa.json`.\n\n`trylayout setup` creates a starter manifest and starter mock API scenarios.\nEdit the app command, QA environment, and flows so future agents can reproduce\nthe same checks.\n\n```json\n{\n  \"version\": 1,\n  \"apps\": {\n    \"app\": {\n      \"root\": \".\",\n      \"install\": \"npm ci\",\n      \"start\": \"npm run dev -- --host 127.0.0.1 --port $PORT\",\n      \"healthUrl\": \"http://127.0.0.1:$PORT/\",\n      \"services\": {\n        \"api\": {\n          \"type\": \"generated\",\n          \"root\": \".layout/api\",\n          \"scenario\": \"happy_path\"\n        }\n      },\n      \"env\": {\n        \"VITE_API_BASE_URL\": \"$services.api.url\"\n      },\n      \"flows\": [\n        {\n          \"id\": \"smoke\",\n          \"label\": \"Smoke\",\n          \"steps\": [\n            {\"visit\": \"/\"},\n            {\"screenshot\": \"Home loaded\", \"expect\": {\"noConsoleErrors\": true}}\n          ]\n        }\n      ]\n    }\n  },\n  \"viewports\": [\"desktop\"]\n}\n```\n\n## Running Against An Existing Server\n\nIf the app is already running, skip the manifest start command:\n\n```bash\nnpx @trylayout/qa test \"check the current page\" \\\n  --target-url http://localhost:5173 \\\n  --json\n```\n\n## Remote PR Checks\n\nThe hosted product is a GitHub PR check, not a dashboard workflow. GitHub is the\nsystem of record; the Layout dashboard is only for inspecting screenshots, logs,\nand run details when a compact PR check is not enough.\n\nGenerate a GitHub Actions workflow:\n\n```bash\nnpx @trylayout/qa pr setup\n```\n\nAdd `LAYOUT_API_KEY` as a GitHub repository secret, then open a pull request.\nThe generated workflow calls Layout remotely and fails the GitHub check when\nLayout finds issues or cannot complete the run.\n\nRun the same remote check manually:\n\n```bash\nnpx @trylayout/qa pr run \"test this pull request\" \\\n  --repo owner/repo \\\n  --ref feature-branch \\\n  --wait \\\n  --json\n```\n\n## Lower-Level Checks\n\nRun explicit manifest flows:\n\n```bash\nnpx @trylayout/qa check smoke --start-app --skip-install --json\n```\n\nStart only the built-in mock API:\n\n```bash\nnpx @trylayout/qa mock-api --scenario happy_path\n```\n\nInstall Chromium if Playwright asks for a browser:\n\n```bash\nnpx @trylayout/qa install-browsers\n```\n\n## Package Names\n\n- Canonical npm package: `@trylayout/qa`\n- Convenience npm alias: `layout-qa`\n- CLI binaries: `trylayout` and `layout-qa`\n\nIssues and examples are welcome in [GitHub Issues](https://github.com/Layout-App/layout-qa/issues).\n","readmeFilename":"README.md"}