@unotest/web 0.10.0 → 0.11.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1 +1 @@
1
- const _0x359628=_0x1987;(function(_0x583a0a,_0xa33322){const _0x5614c7={_0x5e3e28:0x1eb,_0x3a7bab:0x202,_0x2f6f0c:0x1ee,_0xd32779:0x1f3},_0x87851d=_0x1987,_0x4eef28=_0x583a0a();while(!![]){try{const _0x485172=-parseInt(_0x87851d(0x1fd))/0x1*(-parseInt(_0x87851d(_0x5614c7._0x5e3e28))/0x2)+-parseInt(_0x87851d(0x1e7))/0x3+-parseInt(_0x87851d(_0x5614c7._0x3a7bab))/0x4*(parseInt(_0x87851d(0x1fa))/0x5)+parseInt(_0x87851d(_0x5614c7._0x2f6f0c))/0x6*(parseInt(_0x87851d(0x1ff))/0x7)+parseInt(_0x87851d(0x1f8))/0x8*(-parseInt(_0x87851d(_0x5614c7._0xd32779))/0x9)+-parseInt(_0x87851d(0x201))/0xa+-parseInt(_0x87851d(0x1f4))/0xb*(-parseInt(_0x87851d(0x1f2))/0xc);if(_0x485172===_0xa33322)break;else _0x4eef28['push'](_0x4eef28['shift']());}catch(_0x54ebd9){_0x4eef28['push'](_0x4eef28['shift']());}}}(_0x1dda,0x4b974));var __defProp=Object['defineProperty'],__name=(_0x3cb329,_0x176ad8)=>__defProp(_0x3cb329,_0x359628(0x1f5),{'value':_0x176ad8,'configurable':!![]});import{mkdir,writeFile}from'fs/promises';import{existsSync}from'fs';import{join}from'path';var templates={'scenarioTemplate':'//\x20Move\x20+\x20rename\x20this\x20file\x20to\x20<feature>/<your_name>.js\x20(e.g.\x0a//\x20auth/login.js)\x20and\x20the\x20function\x20below\x20to\x20test_<your_name>().\x20Scenarios\x20live\x0a//\x20in\x20feature\x20subfolders,\x20NOT\x20the\x20e2e\x20root\x20—\x20the\x20linter\x20(lint:scenario-in-root)\x0a//\x20rejects\x20a\x20test\x20file\x20placed\x20directly\x20in\x20unotest/e2e/.\x20The\x20loader\x20derives\x20the\x0a//\x20entry\x20name\x20from\x20the\x20file\x20basename\x20—\x20kebab-case\x20dashes\x20become\x20underscores.\x0a\x0a//\x20Every\x20executable\x20step\x20must\x20sit\x20inside\x20a\x20step(\x22...\x22,\x20()\x20=>\x20{\x20…\x20})\x20block.\x20The\x0a//\x20title\x20is\x20a\x20plain-English\x20description\x20of\x20the\x20group;\x20the\x20steps\x20inside\x20are\x0a//\x20the\x20implementation.\x20Group\x20by\x20intent\x20(Setup\x20/\x20Enter\x20/\x20Act\x20/\x20Assert\x20or\x0a//\x20whatever\x20reads\x20well)\x20—\x20one\x20block\x20per\x20logical\x20chunk.\x0a\x0afunction\x20test_your_name_here()\x20{\x0a\x20\x20step(\x22Seed\x20a\x20known\x20user\x20via\x20DB\x20/\x20API\x20fixtures\x20from\x20_helpers/\x22,\x20()\x20=>\x20{\x0a\x20\x20\x20\x20//\x20\x20\x20\x20wipe_e2e_users();\x0a\x20\x20\x20\x20//\x20\x20\x20\x20user_id\x20=\x20seed_user(\x27alice@example.com\x27,\x20\x27secret\x27);\x0a\x20\x20});\x0a\x0a\x20\x20step(\x22Sign\x20in\x20as\x20the\x20seeded\x20user\x22,\x20()\x20=>\x20{\x0a\x20\x20\x20\x20goto(\x27https://your-app.test/login\x27);\x0a\x20\x20\x20\x20//\x20\x20\x20\x20fill(getByLabel(\x27Email\x27),\x20\x27alice@example.com\x27);\x0a\x20\x20\x20\x20//\x20\x20\x20\x20fill(getByLabel(\x27Password\x27),\x20\x27secret\x27);\x0a\x20\x20\x20\x20//\x20\x20\x20\x20click(getByRole(\x27button\x27,\x20{name:\x20\x27Log\x20in\x27}));\x0a\x20\x20});\x0a\x0a\x20\x20step(\x22Assert\x20the\x20dashboard\x20shows\x20the\x20signed-in\x20user\x22,\x20()\x20=>\x20{\x0a\x20\x20\x20\x20//\x20\x20\x20\x20assertUrl(\x27/dashboard\x27);\x0a\x20\x20\x20\x20//\x20\x20\x20\x20assertText(getByRole(\x27heading\x27),\x20\x27Welcome,\x20Alice\x27);\x0a\x20\x20\x20\x20//\x20\x20\x20\x20count\x20=\x20dbQuery(\x27SELECT\x20count(*)\x20FROM\x20users\x20WHERE\x20active\x20=\x20true\x27);\x0a\x20\x20\x20\x20//\x20\x20\x20\x20assertTrue(count\x20>\x200,\x20\x27expected\x20at\x20least\x20one\x20active\x20user\x27);\x0a\x20\x20});\x0a}\x0a','agentsMd':_0x359628(0x1f0),'claudeMdBody':_0x359628(0x204),'examples':{'01-smoke.js':'//\x20Example\x2001\x20—\x20smoke:\x20navigate\x20+\x20click\x20+\x20URL\x20assertion.\x0a//\x0a//\x20The\x20minimal\x20three-step\x20pattern.\x20Hits\x20playground.unotest.com\x20so\x20no\x20project\x0a//\x20setup\x20is\x20needed.\x20Run\x20with:\x20\x20npx\x20@unotest/web\x20e2e\x20examples/01-smoke\x0a\x0afunction\x20test_smoke_playground()\x20{\x0a\x20\x20step(\x22Open\x20the\x20Big\x20Table\x20scenario\x20from\x20the\x20playground\x20index\x22,\x20()\x20=>\x20{\x0a\x20\x20\x20\x20goto(\x27/\x27);\x0a\x20\x20\x20\x20click(getByRole(\x27link\x27,\x20{name:\x20\x27Big\x20Table\x27,\x20exact:\x20true}));\x0a\x20\x20\x20\x20assertUrl(\x27/scenarios/big-table\x27);\x0a\x20\x20});\x0a}\x0a','02-form-fill.js':_0x359628(0x200)},'secretsExample':'#\x20unotest-web\x20—\x20secret\x20scenario\x20variables.\x20Created\x20by\x20`init`,\x20gitignored.\x0a#\x0a#\x20Same\x20KEY=VALUE\x20format\x20as\x20unotest/.env,\x20but\x20values\x20here\x20are\x20treated\x20as\x0a#\x20SECRET:\x20they\x20are\x20masked\x20(shown\x20as\x20`‹secret:KEY›`)\x20anywhere\x20the\x20runner\x20or\x0a#\x20MCP\x20debug\x20log\x20would\x20otherwise\x20write\x20them\x20—\x20fill()\x20values,\x20URLs,\x20evaluate\x0a#\x20strings.\x20Reference\x20them\x20in\x20a\x20scenario\x20by\x20their\x20bare\x20UPPER_SNAKE\x20name,\x20the\x0a#\x20same\x20way\x20as\x20.env\x20variables:\x0a#\x0a#\x20\x20\x20fill(getByLabel(\x27Password\x27),\x20PASSWORD);\x0a#\x0a#\x20Secrets\x20are\x20NOT\x20exported\x20to\x20subprocesses\x20(shell())\x20—\x20they\x20stay\x20in\x20the\x0a#\x20variable\x20store.\x20Put\x20non-secret\x20values\x20(URLs,\x20emails,\x20ids)\x20in\x20unotest/.env.\x0a#\x0a#\x20FLEET_EXAMPLE\x0aLOGIN=\x0aPASSWORD=\x0aTOKEN=\x0a','envExample':_0x359628(0x1fe)};function unotestConfigMjs(_0x3fe31c){const _0x58972a={_0xf5ad89:0x1ef,_0x5ae6de:0x1e9},_0x49605b=_0x359628,_0x25fb1c=_0x3fe31c===void 0x0?_0x49605b(_0x58972a._0xf5ad89):'\x20\x20channel:\x20'+JSON[_0x49605b(0x1f1)](_0x3fe31c)+',';return'//\x20@unotest/web\x20project\x20config.\x20All\x20fields\x20are\x20optional\x20—\x20defaults\x20apply\x0a//\x20when\x20omitted.\x0a//\x0a//\x20Saved\x20as\x20.mjs\x20so\x20the\x20runtime\x20loads\x20it\x20as\x20ESM\x20regardless\x20of\x20the\x20project\x27s\x0a//\x20package.json\x20\x22type\x22\x20field.\x20For\x20IDE\x20autocomplete,\x20type-import\x20the\x20schema:\x0a//\x0a//\x20\x20\x20/**\x20@type\x20{Partial<import(\x27@unotest/web\x27).UnotestConfig>}\x20*/\x0a//\x20\x20\x20export\x20default\x20{\x20baseUrl:\x20\x27https://your-app.test\x27\x20};\x0a\x0a/**\x20@type\x20{Partial<import(\x27@unotest/web\x27).UnotestConfig>}\x20*/\x0aexport\x20default\x20{\x0a\x20\x20//\x20baseUrl:\x20\x27https://your-app.test\x27,\x0a\x20\x20//\x20browsers:\x20[\x27chromium\x27,\x20\x27firefox\x27,\x20\x27webkit\x27],\x20\x20//\x20CI\x20override\x0a\x20\x20//\x20viewport:\x20{\x20width:\x201280,\x20height:\x20720\x20},\x0a\x20\x20//\x20retry:\x20{\x20count:\x201,\x20on:\x20[\x27transient\x27]\x20},\x20\x20\x20\x20\x20\x20\x20\x20//\x20CI\x20override\x0a\x20\x20//\x20storageState:\x20\x27.unotest/cache/auth.json\x27,\x20\x20\x20\x20\x20\x20//\x20see\x20helpers\x0a'+_0x25fb1c+_0x49605b(_0x58972a._0x5ae6de);}function _0x1987(_0xc68abd,_0x4cf71c){_0xc68abd=_0xc68abd-0x1e7;const _0x1dda49=_0x1dda();let _0x198715=_0x1dda49[_0xc68abd];if(_0x1987['SCphKi']===undefined){var _0x1af656=function(_0x27b556){const _0x191e5d='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x3cb329='',_0x176ad8='';for(let _0x3fe31c=0x0,_0x25fb1c,_0x12cfc2,_0xe6a663=0x0;_0x12cfc2=_0x27b556['charAt'](_0xe6a663++);~_0x12cfc2&&(_0x25fb1c=_0x3fe31c%0x4?_0x25fb1c*0x40+_0x12cfc2:_0x12cfc2,_0x3fe31c++%0x4)?_0x3cb329+=String['fromCharCode'](0xff&_0x25fb1c>>(-0x2*_0x3fe31c&0x6)):0x0){_0x12cfc2=_0x191e5d['indexOf'](_0x12cfc2);}for(let _0x2901ee=0x0,_0x44d515=_0x3cb329['length'];_0x2901ee<_0x44d515;_0x2901ee++){_0x176ad8+='%'+('00'+_0x3cb329['charCodeAt'](_0x2901ee)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x176ad8);};_0x1987['XExIzL']=_0x1af656,_0x1987['Awgbul']={},_0x1987['SCphKi']=!![];}const _0xb6ba43=_0x1dda49[0x0],_0x56a8bc=_0xc68abd+_0xb6ba43,_0x161460=_0x1987['Awgbul'][_0x56a8bc];return!_0x161460?(_0x198715=_0x1987['XExIzL'](_0x198715),_0x1987['Awgbul'][_0x56a8bc]=_0x198715):_0x198715=_0x161460,_0x198715;}__name(unotestConfigMjs,_0x359628(0x203));async function scaffoldWorkspace(_0x12cfc2,_0xe6a663={}){const _0x188de6={_0x381f5a:0x1fb,_0x57068d:0x1fb,_0x1befa6:0x1f9,_0x11c1a3:0x1fb,_0x282aa2:0x1ed,_0x23eeec:0x1fc},_0x4c24d5=_0x359628,_0x2901ee=[],_0x44d515=[];await mkdir(join(_0x12cfc2,_0x4c24d5(0x1f9),_0x4c24d5(_0x188de6._0x381f5a),_0x4c24d5(0x1f6)),{'recursive':!![]}),await mkdir(join(_0x12cfc2,_0x4c24d5(0x1f9),_0x4c24d5(_0x188de6._0x57068d),'_helpers'),{'recursive':!![]});const _0x5e19bf=[{'rel':'unotest.config.mjs','content':unotestConfigMjs(_0xe6a663[_0x4c24d5(0x1e8)])},{'rel':join(_0x4c24d5(_0x188de6._0x1befa6),_0x4c24d5(0x1ea)),'content':templates[_0x4c24d5(0x1ec)]},{'rel':join('unotest',_0x4c24d5(_0x188de6._0x11c1a3),_0x4c24d5(0x1f6),'01-smoke.js'),'content':templates['examples'][_0x4c24d5(_0x188de6._0x282aa2)]}];for(const {rel:_0x2f05f3,content:_0x2d8864}of _0x5e19bf){const _0x5e6217=join(_0x12cfc2,_0x2f05f3);if(existsSync(_0x5e6217)){_0x44d515[_0x4c24d5(_0x188de6._0x23eeec)](_0x2f05f3);continue;}await writeFile(_0x5e6217,_0x2d8864),_0x2901ee[_0x4c24d5(_0x188de6._0x23eeec)](_0x2f05f3);}return{'projectRoot':_0x12cfc2,'created':_0x2901ee,'skipped':_0x44d515};}__name(scaffoldWorkspace,_0x359628(0x1f7));export{scaffoldWorkspace};function _0x1dda(){const _0x4c00c8=['Dw5VDgvZDa','mteWuwH0Cuv6','ztjL','ChvZAa','mJe1ouXNCfzvvG','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','mtK5nZG3wvnHtLjN','lY8GrxHHBxbSzsaWmIdIGjqGzMLSBcbHBIbPBNb1DcaRigfZC2vYDcb0AguGyxbWihjLywn0zwqUcI8VcI8ViefNywLUC3qGCgXHEwDYB3vUzc51BM90zxn0lMnVBs9Zy2vUyxjPB3mVyMLNlxrHyMXLlIbezw1VBNn0CMf0zxmGz2v0qNLsB2XLcI8VigzVCIbHigXHyMvSBgvKigLUChv0lcb0ExbLzcbPBNb1Dcb2AweGzMLSBcGPlcbHBMqGysbSB2nHDg9Yig1LDgHVzc1JAgfPBGOVlYaOz2v0qNLsB2XLkcDYB3CNks5MAwX0zxiOE2HHC1rLEhr9ks5MAxjZDcGPksbPBIbHBIbHC3nLCNrPB24UcI8Vifj1BIb3AxrOoIaGBNb4ieb1BM90zxn0l3DLyIbLmMuGzxHHBxbSzxmVmdiTzM9YBs1MAwXScGPMDw5JDgLVBIb0zxn0x2zVCM1FzMLSBf9OyxbWEv9WyxrOkcKGEWOGihn0zxaOiKzPBhrLCIb0AguGqMLNifrHyMXLigj5igeGBMfTzsiSicGPid0+ihSkicaGigDVDg8OjY9Zy2vUyxjPB3mVyMLNlxrHyMXLjYK7cIaGicbMAwXSkgDLDej5uM9SzsGNDgv4DgjVEcCSihTUyw1LoIaNrMLSDgvYigj5ig5HBwuNFsKSicDvBweGuxvPBM4NktSkicb9ktSkcIaGC3rLCcGIrMLSDgvYAw5NihjLDMvHBhmGDgHLienSzwfYigzPBhrLCIbJB250CM9SigfUzcbTyxrJAgLUzYbYB3DZiIWGkcKGpt4GEWOGicaGyxnZzxj0vMLZAwjSzsHNzxrcEvjVBguOj2j1DhrVBICSihTUyw1LoIaNq2XLyxiGzMLSDgvYj30PktSkicaGigfZC2vYDfzPC2LIBguOz2v0qNLsB2XLkcDYB3CNks5MAwX0zxiOE2HHC1rLEhq6icDvBweGuxvPBM4NFsKUzMLYC3qOksK7cIaGFsK7cN0k','ntyZnJG0mhfwwhHIDG','mteXnte2yNvyvLbP','Dw5VDgvZDenVBMzPz01QCW','iYmGrtjfihrLC3rPBMCGD2L0AcbaDw5VDgvZDc93zwikcKbbr0vovfmUBwqkcKzVCIbHBNKGCMvXDwvZDcb0BYb3CML0zsWGCMvJB3jKlcbVCIbYDw4Gyw4Gzw5KlxrVlwvUzcb0zxn0lcbVCgvUihrOzqPGD3jPDguTztjLlxrLC3rGihnRAwXSicHVCIbYDw4Gyc93CML0zs1LmMuTDgvZDgaPigfUzcbKCML2zsb0AguGyNjVD3nLCIb0AhjVDwDOcNrOzsbGDw5VDgvZDc13zwjGie1ducb0B29SCYaOyg5LD19JB250zxH0ycdIHPiGygv4CgXVCMvFC3rLCgaG4OAsigbNzxrFCgfNzv9ZBMfWC2HVDgak4OAsigbYDw5FDgvZDgaPlIbeBYbUB3qGAgfUzc1HDxrOB3iGDgvZDhmGyMXPBMqGB3iGBwfWihrOzsbWCM9Qzwn0ihDPDgGkygzPBMrGl2bSC2aVygf3A2aG4OcuihrOzsbZA2LSBcDZifbOyxnLidaGBgLZDhmGDgHLigzPBgvZihrVihjLywqU','mJqZnJuXz1LPzMHz','y2HHBM5LBa','cIaGlY8GDMLLD2vYoIb7cIaGlY8GicbWB3j0oIa1mtCZlcaGicaGicaGicaGicaGicaGicaGicaGicaGicaGicaGic8VigrLzMf1Bhq6ihjHBMrVBsbMCMvLihbVCNqkicaVlYaGigjYB3DZzxi6ihrYDwuSicaGicaGicaGicaGicaGicaGicaGicaGicaGicaGlY8GzgvMyxvSDdOGDhj1zsaOyxv0BY1VCgvUig9Uigb2Awv3zxjGkqOGic8Vih0ScN07cG','lMvUDG','mJKYzKHtDK1g','zw52rxHHBxbSzq','mdeTC21VA2uUANm','mti2C05Vzg1P','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','C3rYAw5NAwz5','mZzKwwHADuW','mZy3mtG4m3fbDvbfvG','mZG5mtmYn2jTuNjlrW','BMfTzq','zxHHBxbSzxm','C2nHzMzVBgrxB3jRC3bHy2u','oeT6A3zptG'];_0x1dda=function(){return _0x4c00c8;};return _0x1dda();}
1
+ function _0x5f21(_0x1d7224,_0x1aa1fa){_0x1d7224=_0x1d7224-0x186;const _0x92880c=_0x9288();let _0x5f2129=_0x92880c[_0x1d7224];if(_0x5f21['HmbwBi']===undefined){var _0x5c26a1=function(_0x3304ef){const _0x4a31b1='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x24650c='',_0xd5a10d='';for(let _0x2350b9=0x0,_0x70ac1c,_0x37d184,_0x5c4835=0x0;_0x37d184=_0x3304ef['charAt'](_0x5c4835++);~_0x37d184&&(_0x70ac1c=_0x2350b9%0x4?_0x70ac1c*0x40+_0x37d184:_0x37d184,_0x2350b9++%0x4)?_0x24650c+=String['fromCharCode'](0xff&_0x70ac1c>>(-0x2*_0x2350b9&0x6)):0x0){_0x37d184=_0x4a31b1['indexOf'](_0x37d184);}for(let _0x1babfa=0x0,_0x39ed32=_0x24650c['length'];_0x1babfa<_0x39ed32;_0x1babfa++){_0xd5a10d+='%'+('00'+_0x24650c['charCodeAt'](_0x1babfa)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0xd5a10d);};_0x5f21['qoWtft']=_0x5c26a1,_0x5f21['JcQlWh']={},_0x5f21['HmbwBi']=!![];}const _0x44852a=_0x92880c[0x0],_0x2c7dd3=_0x1d7224+_0x44852a,_0xec3923=_0x5f21['JcQlWh'][_0x2c7dd3];return!_0xec3923?(_0x5f2129=_0x5f21['qoWtft'](_0x5f2129),_0x5f21['JcQlWh'][_0x2c7dd3]=_0x5f2129):_0x5f2129=_0xec3923,_0x5f2129;}const _0x3ee982=_0x5f21;(function(_0x2ce18c,_0x2c08d4){const _0x4423db={_0x12e61c:0x197,_0x124743:0x18c,_0x567e3b:0x196,_0x10d6df:0x19f},_0x163100=_0x5f21,_0x30ad7a=_0x2ce18c();while(!![]){try{const _0xf10bb0=parseInt(_0x163100(0x198))/0x1*(parseInt(_0x163100(0x194))/0x2)+parseInt(_0x163100(0x19b))/0x3*(-parseInt(_0x163100(_0x4423db._0x12e61c))/0x4)+-parseInt(_0x163100(0x193))/0x5+parseInt(_0x163100(0x191))/0x6*(-parseInt(_0x163100(_0x4423db._0x124743))/0x7)+parseInt(_0x163100(0x18b))/0x8+-parseInt(_0x163100(0x18d))/0x9*(parseInt(_0x163100(_0x4423db._0x567e3b))/0xa)+parseInt(_0x163100(_0x4423db._0x10d6df))/0xb*(parseInt(_0x163100(0x189))/0xc);if(_0xf10bb0===_0x2c08d4)break;else _0x30ad7a['push'](_0x30ad7a['shift']());}catch(_0x1d74c9){_0x30ad7a['push'](_0x30ad7a['shift']());}}}(_0x9288,0xed073));var __defProp=Object[_0x3ee982(0x18e)],__name=(_0x24650c,_0xd5a10d)=>__defProp(_0x24650c,_0x3ee982(0x187),{'value':_0xd5a10d,'configurable':!![]});import{mkdir,writeFile}from'fs/promises';import{existsSync}from'fs';import{join}from'path';var templates={'scenarioTemplate':_0x3ee982(0x19a),'agentsMd':_0x3ee982(0x192),'claudeMdBody':_0x3ee982(0x186),'examples':{'01-smoke.js':_0x3ee982(0x1a2),'02-form-fill.js':'//\x20Example\x2002\x20—\x20fill\x20an\x20input\x20+\x20assert\x20the\x20app\x20reacted.\x0a//\x0a//\x20Against\x20playground.unotest.com/scenarios/big-table.\x20Demonstrates\x20getByRole\x0a//\x20for\x20a\x20labelled\x20input,\x20typed\x20input\x20via\x20fill(),\x20and\x20a\x20locator\x20method-chain\x0a//\x20(getByRole(\x27row\x27).filter({hasText}).first())\x20in\x20an\x20assertion.\x0a//\x20Run\x20with:\x20\x20npx\x20@unotest/web\x20e2e\x20examples/02-form-fill\x0a\x0afunction\x20test_form_fill_happy_path()\x20{\x0a\x20\x20step(\x22Filter\x20the\x20Big\x20Table\x20by\x20a\x20name\x22,\x20()\x20=>\x20{\x0a\x20\x20\x20\x20goto(\x27/scenarios/big-table\x27);\x0a\x20\x20\x20\x20fill(getByRole(\x27textbox\x27,\x20{name:\x20\x27Filter\x20by\x20name\x27}),\x20\x27Uma\x20Quinn\x27);\x0a\x20\x20});\x0a\x0a\x20\x20step(\x22Filtering\x20reveals\x20the\x20Clear\x20filter\x20control\x20and\x20matching\x20rows\x22,\x20()\x20=>\x20{\x0a\x20\x20\x20\x20assertVisible(getByRole(\x27button\x27,\x20{name:\x20\x27Clear\x20filter\x27}));\x0a\x20\x20\x20\x20assertVisible(getByRole(\x27row\x27).filter({hasText:\x20\x27Uma\x20Quinn\x27}).first());\x0a\x20\x20});\x0a}\x0a'},'secretsExample':_0x3ee982(0x1a1),'envExample':_0x3ee982(0x199)};function unotestConfigMjs(_0x2350b9){const _0x1916e7={_0x75644f:0x190,_0x160810:0x1a0,_0x1297c1:0x1a3,_0x33aacf:0x19d},_0x22ebdd=_0x3ee982,_0x70ac1c=_0x2350b9===void 0x0?_0x22ebdd(_0x1916e7._0x75644f):'\x20\x20channel:\x20'+JSON[_0x22ebdd(_0x1916e7._0x160810)](_0x2350b9)+',';return _0x22ebdd(_0x1916e7._0x1297c1)+_0x70ac1c+_0x22ebdd(_0x1916e7._0x33aacf);}function _0x9288(){const _0x2279a1=['nfjXuxzrra','n1bQshrPva','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','nta4ndG1m1rnD2XyqG','y2HHBM5LBa','cIaGlY8GDMLLD2vYoIb7cIaGlY8GicbWB3j0oIa1mtCZlcaGicaGicaGicaGicaGicaGicaGicaGicaGicaGicaGic8VigrLzMf1Bhq6ihjHBMrVBsbMCMvLihbVCNqkicaVlYaGigjYB3DZzxi6ihrYDwuSicaGicaGicaGicaGicaGicaGicaGicaGicaGicaGlY8GzgvMyxvSDdOGDhj1zsaOyxv0BY1VCgvUig9Uigb2Awv3zxjGkqOGic8Vih0ScN07cG','mdeTC21VA2uUANm','ndy5mte3EgXsA2j3','C3rYAw5NAwz5','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','zw52rxHHBxbSzq','lMvUDG','ztjL','iYmGrtjfihrLC3rPBMCGD2L0AcbaDw5VDgvZDc93zwikcKbbr0vovfmUBwqkcKzVCIbHBNKGCMvXDwvZDcb0BYb3CML0zsWGCMvJB3jKlcbVCIbYDw4Gyw4Gzw5KlxrVlwvUzcb0zxn0lcbVCgvUihrOzqPGD3jPDguTztjLlxrLC3rGihnRAwXSicHVCIbYDw4Gyc93CML0zs1LmMuTDgvZDgaPigfUzcbKCML2zsb0AguGyNjVD3nLCIb0AhjVDwDOcNrOzsbGDw5VDgvZDc13zwjGie1ducb0B29SCYaOyg5LD19JB250zxH0ycdIHPiGygv4CgXVCMvFC3rLCgaG4OAsigbNzxrFCgfNzv9ZBMfWC2HVDgak4OAsigbYDw5FDgvZDgaPlIbeBYbUB3qGAgfUzc1HDxrOB3iGDgvZDhmGyMXPBMqGB3iGBwfWihrOzsbWCM9Qzwn0ihDPDgGkygzPBMrGl2bSC2aVygf3A2aG4OcuihrOzsbZA2LSBcDZifbOyxnLidaGBgLZDhmGDgHLigzPBgvZihrVihjLywqU','BMfTzq','C2nHzMzVBgrxB3jRC3bHy2u','mtiXmNrdsvDXza','ChvZAa','mtqXotmZnMPRzg9PCW','mZqZsxbHBejv','ow5zqwfkBa','zgvMAw5LuhjVCgvYDhK','Dw5VDgvZDa','icaVlYbJAgfUBMvSoIaNy2HYB21LjYWGicaGicaGicaGicaGicaGicaGicaGicaGicaGlY8Gj2nOCM9TzsCGlYaNBxnLzgDLjYaVig51BgWGkgj1BMrSzwqP','mtKZotyYCvjHzhHI','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','mJC0nta5me93tePrEq','mJCWnty2z0nMA0D4','zxHHBxbSzxm','nJmYodG2merhAgLKBW'];_0x9288=function(){return _0x2279a1;};return _0x9288();}__name(unotestConfigMjs,'unotestConfigMjs');async function scaffoldWorkspace(_0x37d184,_0x5c4835={}){const _0x4b4373={_0x19f125:0x195,_0x1171a1:0x1a6,_0x4194bf:0x1a5,_0x6c7795:0x18f,_0x5bfd45:0x19e},_0x4818dd=_0x3ee982,_0x1babfa=[],_0x39ed32=[];await mkdir(join(_0x37d184,'unotest',_0x4818dd(0x1a6),_0x4818dd(_0x4b4373._0x19f125)),{'recursive':!![]}),await mkdir(join(_0x37d184,'unotest',_0x4818dd(_0x4b4373._0x1171a1),'_helpers'),{'recursive':!![]});const _0x20d599=[{'rel':'unotest.config.mjs','content':unotestConfigMjs(_0x5c4835[_0x4818dd(0x19c)])},{'rel':join('unotest',_0x4818dd(_0x4b4373._0x4194bf)),'content':templates[_0x4818dd(0x1a4)]},{'rel':join(_0x4818dd(_0x4b4373._0x6c7795),_0x4818dd(0x1a6),_0x4818dd(_0x4b4373._0x19f125),'01-smoke.js'),'content':templates['examples'][_0x4818dd(_0x4b4373._0x5bfd45)]}];for(const {rel:_0x24a0ad,content:_0x2eb32c}of _0x20d599){const _0xd08239=join(_0x37d184,_0x24a0ad);if(existsSync(_0xd08239)){_0x39ed32[_0x4818dd(0x18a)](_0x24a0ad);continue;}await writeFile(_0xd08239,_0x2eb32c),_0x1babfa[_0x4818dd(0x18a)](_0x24a0ad);}return{'projectRoot':_0x37d184,'created':_0x1babfa,'skipped':_0x39ed32};}__name(scaffoldWorkspace,_0x3ee982(0x188));export{scaffoldWorkspace};
@@ -1 +1 @@
1
- var _0x42f8f9=_0x546c;(function(_0x243460,_0x5064f5){var _0x1cfc0f={_0x435604:0xb2,_0x1f773a:0xb5,_0x9d8708:0xbe,_0x110204:0xc2,_0x52bb70:0xb3,_0x481a33:0xb1},_0x30d8f9=_0x546c,_0x564eaf=_0x243460();while(!![]){try{var _0x6fbd07=-parseInt(_0x30d8f9(_0x1cfc0f._0x435604))/0x1*(parseInt(_0x30d8f9(0xc1))/0x2)+-parseInt(_0x30d8f9(_0x1cfc0f._0x1f773a))/0x3+parseInt(_0x30d8f9(_0x1cfc0f._0x9d8708))/0x4+-parseInt(_0x30d8f9(_0x1cfc0f._0x110204))/0x5+parseInt(_0x30d8f9(0xc0))/0x6*(-parseInt(_0x30d8f9(_0x1cfc0f._0x52bb70))/0x7)+parseInt(_0x30d8f9(_0x1cfc0f._0x481a33))/0x8+parseInt(_0x30d8f9(0xbd))/0x9;if(_0x6fbd07===_0x5064f5)break;else _0x564eaf['push'](_0x564eaf['shift']());}catch(_0x2e44f6){_0x564eaf['push'](_0x564eaf['shift']());}}}(_0x556a,0x4122e));import{fileURLToPath}from'url';import{dirname,resolve}from'path';function _0x546c(_0x1bcfcb,_0x17428f){_0x1bcfcb=_0x1bcfcb-0xaf;var _0x556aea=_0x556a();var _0x546c70=_0x556aea[_0x1bcfcb];if(_0x546c['prpaCV']===undefined){var _0x46893a=function(_0x3f2507){var _0x1ddf5b='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';var _0x2dc5e5='',_0x2a0ec3='';for(var _0x5c3a1b=0x0,_0x11aeaf,_0x230607,_0x486a33=0x0;_0x230607=_0x3f2507['charAt'](_0x486a33++);~_0x230607&&(_0x11aeaf=_0x5c3a1b%0x4?_0x11aeaf*0x40+_0x230607:_0x230607,_0x5c3a1b++%0x4)?_0x2dc5e5+=String['fromCharCode'](0xff&_0x11aeaf>>(-0x2*_0x5c3a1b&0x6)):0x0){_0x230607=_0x1ddf5b['indexOf'](_0x230607);}for(var _0x440b70=0x0,_0x265c65=_0x2dc5e5['length'];_0x440b70<_0x265c65;_0x440b70++){_0x2a0ec3+='%'+('00'+_0x2dc5e5['charCodeAt'](_0x440b70)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x2a0ec3);};_0x546c['ckkhZX']=_0x46893a,_0x546c['FxmrFp']={},_0x546c['prpaCV']=!![];}var _0x40c501=_0x556aea[0x0],_0x5c5d07=_0x1bcfcb+_0x40c501,_0x6a8b10=_0x546c['FxmrFp'][_0x5c5d07];return!_0x6a8b10?(_0x546c70=_0x546c['ckkhZX'](_0x546c70),_0x546c['FxmrFp'][_0x5c5d07]=_0x546c70):_0x546c70=_0x6a8b10,_0x546c70;}import{spawn}from'child_process';function _0x556a(){var _0x4d9ade=['zxHLy1bHDgG','lI4VlI4VzxHHBxbSzxmVzML4DhvYzxmVyNjLywSTzML4lwfWCc9Zzxj2zs5TANm','zMLUza','C3rKzxjY','AM9PBG','rgLKihLVDsbWDwjSAxnOihDPDgHVDxqGzxHHBxbSzxmVzML4DhvYzxmVpWO','nZuWoty2m0Lhq0rquW','oteXmJyWvKruyLnk','zxHPDa','mtKYmfzprNLQDa','mJe4mdz2wMrpBMK','ntiXotq1uKj4swne','C2vYDMuTzML4DhvYztOGy2fUBM90igXVy2f0zsbMAxH0DxjLihnLCNzLCIbLBNrYEs4GvhjPzwq6cG','lI4VlI4VlI4VzxHHBxbSzxmVzML4DhvYzxmVyNjLywSTzML4lwfWCc9Zzxj2zs5TANm','mJq3oda0ofbyCgjXEq','mtncELrSvM8','odiYnvH3wK9XAW','D3jPDgu','mtq0ote1nNHmt2zzqW','Aw5OzxjPDa'];_0x556a=function(){return _0x4d9ade;};return _0x556a();}import{existsSync}from'fs';var here=dirname(fileURLToPath(import.meta.url)),candidates=[resolve(here,_0x42f8f9(0xb8)),resolve(here,_0x42f8f9(0xb0))],serverEntry=candidates[_0x42f8f9(0xb9)](_0x2dc5e5=>existsSync(_0x2dc5e5));!serverEntry&&(process[_0x42f8f9(0xba)][_0x42f8f9(0xb4)](_0x42f8f9(0xaf)+candidates['map'](_0x2a0ec3=>'\x20\x20'+_0x2a0ec3+'\x0a')[_0x42f8f9(0xbb)]('')+_0x42f8f9(0xbc)),process[_0x42f8f9(0xbf)](0x1));var child=spawn(process[_0x42f8f9(0xb7)],[serverEntry,...process['argv']['slice'](0x2)],{'stdio':_0x42f8f9(0xb6)});child['on'](_0x42f8f9(0xbf),_0x5c3a1b=>process[_0x42f8f9(0xbf)](_0x5c3a1b??0x1));
1
+ var _0x53da3f=_0x52b6;(function(_0x5d12c5,_0x1b5c90){var _0x1ed404={_0x260e12:0xb7,_0x3d2170:0xbb,_0x5a60e3:0xbf,_0x2b39cd:0xb2,_0x4ac6ee:0xc5,_0x37e103:0xc4,_0x4b0aee:0xbd},_0x2c93ae=_0x52b6,_0x1dad45=_0x5d12c5();while(!![]){try{var _0x4b0c8e=parseInt(_0x2c93ae(0xb9))/0x1*(parseInt(_0x2c93ae(0xc3))/0x2)+parseInt(_0x2c93ae(_0x1ed404._0x260e12))/0x3+-parseInt(_0x2c93ae(_0x1ed404._0x3d2170))/0x4*(parseInt(_0x2c93ae(_0x1ed404._0x5a60e3))/0x5)+-parseInt(_0x2c93ae(_0x1ed404._0x2b39cd))/0x6*(-parseInt(_0x2c93ae(_0x1ed404._0x4ac6ee))/0x7)+parseInt(_0x2c93ae(0xb4))/0x8*(parseInt(_0x2c93ae(0xb3))/0x9)+-parseInt(_0x2c93ae(_0x1ed404._0x37e103))/0xa*(-parseInt(_0x2c93ae(_0x1ed404._0x4b0aee))/0xb)+-parseInt(_0x2c93ae(0xc8))/0xc;if(_0x4b0c8e===_0x1b5c90)break;else _0x1dad45['push'](_0x1dad45['shift']());}catch(_0x5a95f5){_0x1dad45['push'](_0x1dad45['shift']());}}}(_0x5471,0x68aac));import{fileURLToPath}from'url';import{dirname,resolve}from'path';import{spawn}from'child_process';function _0x5471(){var _0x22d017=['D3jPDgu','mZvnvvPwAee','zMLUza','lI4VlI4VlI4VzxHHBxbSzxmVzML4DhvYzxmVyNjLywSTzML4lwfWCc9Zzxj2zs5TANm','zxHLy1bHDgG','mJbACK9HC3e','mtCWCfjisM1P','mZa1mdz5C21RELi','C2vYDMuTzML4DhvYztOGy2fUBM90igXVy2f0zsbMAxH0DxjLihnLCNzLCIbLBNrYEs4GvhjPzwq6cG','C3rKzxjY','mtGZmZCYmJrqqLjZshi','yxjNDG','mtG2BvHbrxvu','oxbdsfLdDG','mZGZmZaZmLL4tNnhzG','lI4VlI4VzxHHBxbSzxmVzML4DhvYzxmVyNjLywSTzML4lwfWCc9Zzxj2zs5TANm','Aw5OzxjPDa','mJa0mdi3m2HlCKrkzG','AM9PBG','nZK1otrnvgn6v3G','rgLKihLVDsbWDwjSAxnOihDPDgHVDxqGzxHHBxbSzxmVzML4DhvYzxmVpWO','mZu0mJG0Bw5dv0Hr','zxHPDa','mZe0odmXtLb6r2ru'];_0x5471=function(){return _0x22d017;};return _0x5471();}function _0x52b6(_0x73e8c6,_0x560777){_0x73e8c6=_0x73e8c6-0xb1;var _0x5471ca=_0x5471();var _0x52b61a=_0x5471ca[_0x73e8c6];if(_0x52b6['gbHlhy']===undefined){var _0x149112=function(_0x1695dc){var _0x4308c9='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';var _0x1fc6d8='',_0xa14d08='';for(var _0x26283f=0x0,_0x22d68c,_0x5bf2b2,_0x55818c=0x0;_0x5bf2b2=_0x1695dc['charAt'](_0x55818c++);~_0x5bf2b2&&(_0x22d68c=_0x26283f%0x4?_0x22d68c*0x40+_0x5bf2b2:_0x5bf2b2,_0x26283f++%0x4)?_0x1fc6d8+=String['fromCharCode'](0xff&_0x22d68c>>(-0x2*_0x26283f&0x6)):0x0){_0x5bf2b2=_0x4308c9['indexOf'](_0x5bf2b2);}for(var _0xd36695=0x0,_0x37336a=_0x1fc6d8['length'];_0xd36695<_0x37336a;_0xd36695++){_0xa14d08+='%'+('00'+_0x1fc6d8['charCodeAt'](_0xd36695)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0xa14d08);};_0x52b6['FqViBO']=_0x149112,_0x52b6['WXCUBW']={},_0x52b6['gbHlhy']=!![];}var _0x2bb86f=_0x5471ca[0x0],_0x3a2f7f=_0x73e8c6+_0x2bb86f,_0x1ccb2c=_0x52b6['WXCUBW'][_0x3a2f7f];return!_0x1ccb2c?(_0x52b61a=_0x52b6['FqViBO'](_0x52b61a),_0x52b6['WXCUBW'][_0x3a2f7f]=_0x52b61a):_0x52b61a=_0x1ccb2c,_0x52b61a;}import{existsSync}from'fs';var here=dirname(fileURLToPath(import.meta.url)),candidates=[resolve(here,_0x53da3f(0xb5)),resolve(here,_0x53da3f(0xc1))],serverEntry=candidates[_0x53da3f(0xc0)](_0x1fc6d8=>existsSync(_0x1fc6d8));!serverEntry&&(process[_0x53da3f(0xc7)][_0x53da3f(0xbe)](_0x53da3f(0xc6)+candidates['map'](_0xa14d08=>'\x20\x20'+_0xa14d08+'\x0a')[_0x53da3f(0xb8)]('')+_0x53da3f(0xba)),process[_0x53da3f(0xbc)](0x1));var child=spawn(process[_0x53da3f(0xc2)],[serverEntry,...process[_0x53da3f(0xb1)]['slice'](0x2)],{'stdio':_0x53da3f(0xb6)});child['on']('exit',_0x26283f=>process[_0x53da3f(0xbc)](_0x26283f??0x1));
@@ -1 +1 @@
1
- const _0x412422=_0x3921;(function(_0xf7bf3,_0x27dc06){const _0x1faf85={_0x4e0a84:0x1be,_0x237b5d:0x20b,_0x270b06:0x1d3},_0x21eaa6=_0x3921,_0x25644a=_0xf7bf3();while(!![]){try{const _0x165780=-parseInt(_0x21eaa6(_0x1faf85._0x4e0a84))/0x1*(parseInt(_0x21eaa6(0x1f6))/0x2)+parseInt(_0x21eaa6(0x1b1))/0x3*(-parseInt(_0x21eaa6(0x1bd))/0x4)+-parseInt(_0x21eaa6(0x1c2))/0x5*(-parseInt(_0x21eaa6(0x1f1))/0x6)+parseInt(_0x21eaa6(0x1e8))/0x7*(parseInt(_0x21eaa6(_0x1faf85._0x237b5d))/0x8)+parseInt(_0x21eaa6(0x1da))/0x9+parseInt(_0x21eaa6(_0x1faf85._0x270b06))/0xa+parseInt(_0x21eaa6(0x1eb))/0xb;if(_0x165780===_0x27dc06)break;else _0x25644a['push'](_0x25644a['shift']());}catch(_0x2868f4){_0x25644a['push'](_0x25644a['shift']());}}}(_0x3cf5,0x3f8b1));var __defProp=Object['defineProperty'],__name=(_0x59bafa,_0x40845a)=>__defProp(_0x59bafa,_0x412422(0x1c0),{'value':_0x40845a,'configurable':!![]});import{UnsupportedRunKindError}from'@unotest/protocol';import{readFileSync}from'fs';import{createRequire}from'module';import{dirname,join}from'path';import{existsSync as _0x2d0397}from'fs';import{execFileSync}from'child_process';import{existsSync}from'fs';function probeSystemBrowser(){const _0xf5d718={_0x1a99c5:0x1cc},_0x2dceca=_0x412422;for(const _0x1da3d1 of[probeChrome,probeEdge,probeChromeBeta]){const _0x5b93f2=_0x1da3d1();if(_0x5b93f2[_0x2dceca(_0xf5d718._0x1a99c5)]!==null)return _0x5b93f2;}return{'channel':null};}__name(probeSystemBrowser,'probeSystemBrowser');function _0x3921(_0x5233f4,_0x4e398e){_0x5233f4=_0x5233f4-0x1b1;const _0x3cf5b2=_0x3cf5();let _0x392185=_0x3cf5b2[_0x5233f4];if(_0x3921['hbQHgp']===undefined){var _0x57ee8f=function(_0x2aed21){const _0x291c9f='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x2d0397='',_0x59bafa='';for(let _0x40845a=0x0,_0x1da3d1,_0x5b93f2,_0x206783=0x0;_0x5b93f2=_0x2aed21['charAt'](_0x206783++);~_0x5b93f2&&(_0x1da3d1=_0x40845a%0x4?_0x1da3d1*0x40+_0x5b93f2:_0x5b93f2,_0x40845a++%0x4)?_0x2d0397+=String['fromCharCode'](0xff&_0x1da3d1>>(-0x2*_0x40845a&0x6)):0x0){_0x5b93f2=_0x291c9f['indexOf'](_0x5b93f2);}for(let _0x4dcdf6=0x0,_0x8b3c5f=_0x2d0397['length'];_0x4dcdf6<_0x8b3c5f;_0x4dcdf6++){_0x59bafa+='%'+('00'+_0x2d0397['charCodeAt'](_0x4dcdf6)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x59bafa);};_0x3921['YNDEcT']=_0x57ee8f,_0x3921['osdCVo']={},_0x3921['hbQHgp']=!![];}const _0x321485=_0x3cf5b2[0x0],_0x212232=_0x5233f4+_0x321485,_0x32943d=_0x3921['osdCVo'][_0x212232];return!_0x32943d?(_0x392185=_0x3921['YNDEcT'](_0x392185),_0x3921['osdCVo'][_0x212232]=_0x392185):_0x392185=_0x32943d,_0x392185;}function probeChrome(){const _0x2bddea={_0x2ffc7b:0x203},_0x39ad1d=_0x412422,_0x206783=firstExistingPath(CHROME_PATHS)??whichOf(CHROME_BIN_NAMES);if(_0x206783)return{'channel':_0x39ad1d(_0x2bddea._0x2ffc7b),'path':_0x206783,'label':'Google\x20Chrome'};return{'channel':null};}__name(probeChrome,_0x412422(0x1f4));function probeEdge(){const _0x58d84b={_0xa5a4fc:0x1f7},_0xa071a3=_0x412422,_0x4dcdf6=firstExistingPath(EDGE_PATHS)??whichOf(EDGE_BIN_NAMES);if(_0x4dcdf6)return{'channel':_0xa071a3(0x1b9),'path':_0x4dcdf6,'label':_0xa071a3(_0x58d84b._0xa5a4fc)};return{'channel':null};}__name(probeEdge,_0x412422(0x1ce));function probeChromeBeta(){const _0x8b3c5f=firstExistingPath(CHROME_BETA_PATHS);if(_0x8b3c5f)return{'channel':'chrome-beta','path':_0x8b3c5f,'label':'Google\x20Chrome\x20Beta'};return{'channel':null};}__name(probeChromeBeta,_0x412422(0x1ba));function _0x3cf5(){const _0x4dc07a=['xeDVB2DSzvXdAhjVBwuGqMv0yvXbChbSAwnHDgLVBLXJAhjVBwuUzxHL','C3rYAw5N','vgfYz2v0igrPCMvJDg9YEq','l3vZCI9IAw4Vy2HYB21PDw0','DhjPBq','igrVzxmGBM90igv4Axn0','vu5pvevtvf9iruferuq','y2HHBM5LBa','DxrMoa','ChjVyMvfzgDL','zMLYC3rfEgLZDgLUz1bHDgG','y29SBgvJDgLVBG','AM9PBG','D2LUmZi','mJm5nteXmhvusKDqCa','u3LZDgvTigjYB3DZzxi','D2fYBMLUzW','AgvHzgvK','zw52','te9dquXbufbeqvrb','Aw5PDcb3AwXSig9MzMvYihrVigrVD25SB2fKigj1BMrSzwqGq2HYB21PDw0Gkh4XntaGtuiPlIbbBhrLCM5HDgL2zwX5lcbPBNn0ywXSienOCM9TzsbMCM9TigH0DhbZoI8VD3D3lMDVB2DSzs5JB20Vy2HYB21LigfUzcbYzs1YDw4U','mJm5ndK5EePSvKPh','C3vWCg9YDgvKs2LUzhm','l3vZCI9IAw4Vz29Vz2XLlwnOCM9Tzs1ZDgfIBgu','D2HPy2G','z29Vz2XLlwnOCM9Tzq','yxbWu2vYDMvYqxjNCW','l3nUyxaVyMLUl2DVB2DSzs1JAhjVBwu','CgLJA0jPBG','C3bSAxq','y2HLy2TxCML0ywjSzun3za','yNvPBgrbCMDZ','D2HPy2HpzG','uhjVz3jHBuzPBgvZ','ChjVAMvJDfjVB3q','mty1nJi3AuHgDMrI','l3vZCI9IAw4VBwLJCM9ZB2z0lwvKz2u','A2LUza','mtK1mZy2nNHjANrNDG','CMvXDwLYzxmGtM9KzsdIIAuYmcaOCNvUBMLUzYa','qhvUB3rLC3qVD2vI','ChvZAa','DMvYC2LVBNm','CgXHDgzVCM0','nK5Yt3jhrq','ls1Kzwj1zW','ztjL','ChjVyMvdAhjVBwu','C2nLBMfYAw8','mJy4mJjvvgnPtgG','twLJCM9ZB2z0ievKz2u','yxv0Ag9YAw5N','yMfPBa','y3DK','AxngAw5PDgu','l3vZCI9IAw4Vz29Vz2XLlwnOCM9Tzq','C3rHCNrZv2L0Aa','l3vZCI9IAw4Vz29Vz2XLlwnOCM9Tzs1IzxrH','yxbWlxnLCNzLCG','v2vIuNvUBMvYqwrHChrLCG','ls1IywLS','ls13B3jRzxjZpq','y2HYB21L','yMLU','l3bHy2THz2uUANnVBG','sw5ZDgfSBcboB2rLidiWkYb2AweGBNzTic8GzM5Tic8GDM9SDgeGyw5KihjLlxj1BI4','y2HLy2TtExn0zw1cCM93C2vY','xeDVB2DSzvXdAhjVBwvCqxbWBgLJyxrPB25Cy2HYB21LlMv4zq','B2jQzwn0','l0fWCgXPy2f0Aw9UCY9hB29NBguGq2HYB21LiejLDgeUyxbWl0nVBNrLBNrZl01Hy09tl0DVB2DSzsbdAhjVBwuGqMv0yq','mJrptfvfzgy','tM9Kzs5QCYb2zxjZAw9U','BM9Kzq','CMvZB2X2zujPBG','D29YA2vYCW','uhjVz3jHBuzPBgvZkhG4nIK','mtq5mJvrteLcyuW','zxjYB3i','yxv0Ag9Y','l0fWCgXPy2f0Aw9UCY9hB29NBguGq2HYB21LlMfWCc9dB250zw50CY9nywnpuY9hB29NBguGq2HYB21L','BwLJCM9ZB2z0lwvKz2u','y2HLy2ToB2rLvMvYC2LVBG','l0fWCgXPy2f0Aw9UCY9nAwnYB3nVzNqGrwrNzs5HChaVq29UDgvUDhmVtwfJt1mVtwLJCM9ZB2z0ievKz2u','BM8Gq2HYB21Lic8GrwrNzsaVienOCM9TAxvTigrLDgvJDgvK','BxnLzgDL','ChjVyMvdAhjVBwvczxrH','BgvUz3rO','yNvPBgrfBNy','mJG4CgLjzuji','mZfcvuXOywW','y2HYB21PDw0','BMfTzq','Dw5VDgvZDc13zwi','mJu5nZuXnvvYBxjZBa','yNjLywTWB2LUDhm','zgfYD2LU'];_0x3cf5=function(){return _0x4dc07a;};return _0x3cf5();}var CHROME_PATHS=((()=>{const _0x340e21={_0x1199a3:0x1c4,_0x1227d0:0x1b4,_0x1e0810:0x208,_0x2bfadc:0x1d7,_0x48a24d:0x1fc,_0x3ec40f:0x1c8},_0x4c3ef4=_0x412422;switch(process[_0x4c3ef4(0x1f0)]){case _0x4c3ef4(_0x340e21._0x1199a3):return[_0x4c3ef4(_0x340e21._0x1227d0)];case'win32':return[process[_0x4c3ef4(0x1d7)][_0x4c3ef4(0x1e6)]+_0x4c3ef4(0x208),process[_0x4c3ef4(0x1d7)]['ProgramFiles(x86)']+_0x4c3ef4(_0x340e21._0x1e0810),process[_0x4c3ef4(_0x340e21._0x2bfadc)][_0x4c3ef4(0x1d8)]+'\x5cGoogle\x5cChrome\x5cApplication\x5cchrome.exe'];default:return[_0x4c3ef4(_0x340e21._0x48a24d),_0x4c3ef4(0x1dc),_0x4c3ef4(0x1e0),_0x4c3ef4(_0x340e21._0x3ec40f),'/usr/bin/chromium-browser'];}})()),CHROME_BIN_NAMES=[_0x412422(0x1de),'google-chrome-stable',_0x412422(0x1bf),'chromium-browser'],EDGE_PATHS=((()=>{const _0x2f0ef5={_0x40010f:0x1f0,_0x54968f:0x1c4,_0x24d47c:0x1b7},_0x17419d=_0x412422;switch(process[_0x17419d(_0x2f0ef5._0x40010f)]){case _0x17419d(_0x2f0ef5._0x54968f):return[_0x17419d(_0x2f0ef5._0x24d47c)];case _0x17419d(0x1d2):return[process['env']['ProgramFiles']+'\x5cMicrosoft\x5cEdge\x5cApplication\x5cmsedge.exe',process[_0x17419d(0x1d7)][_0x17419d(0x210)]+'\x5cMicrosoft\x5cEdge\x5cApplication\x5cmsedge.exe'];default:return[_0x17419d(0x1e9),'/usr/bin/microsoft-edge-stable'];}})()),EDGE_BIN_NAMES=[_0x412422(0x1b5),'microsoft-edge-stable'],CHROME_BETA_PATHS=((()=>{const _0x1df1f4={_0x1cf1f9:0x1f0,_0x5361de:0x1c4,_0x19ae6e:0x20a,_0x43bfc5:0x1c5},_0x34fa2b=_0x412422;switch(process[_0x34fa2b(_0x1df1f4._0x1cf1f9)]){case _0x34fa2b(_0x1df1f4._0x5361de):return[_0x34fa2b(_0x1df1f4._0x19ae6e)];case _0x34fa2b(0x1d2):return[process['env']['ProgramFiles']+_0x34fa2b(_0x1df1f4._0x43bfc5)];default:return[_0x34fa2b(0x1fe)];}})());function firstExistingPath(_0xa2b814){const _0x11aa71=_0x412422;for(const _0x267bd5 of _0xa2b814){if(!_0x267bd5||_0x267bd5[_0x11aa71(0x1fd)]('undefined'))continue;if(existsSync(_0x267bd5))return _0x267bd5;}return null;}__name(firstExistingPath,_0x412422(0x1cf));function whichOf(_0x4d3e83){const _0x1b04aa={_0x783c8c:0x1f0,_0x39e140:0x1cd,_0x520cc2:0x1c9,_0x2791a8:0x1bb},_0x1083c6=_0x412422;if(process[_0x1083c6(_0x1b04aa._0x783c8c)]===_0x1083c6(0x1d2))return void 0x0;for(const _0x52f68f of _0x4d3e83){try{const _0x5905b2=execFileSync(_0x1083c6(0x1dd),[_0x52f68f],{'encoding':_0x1083c6(_0x1b04aa._0x39e140)})[_0x1083c6(_0x1b04aa._0x520cc2)]();if(_0x5905b2[_0x1083c6(_0x1b04aa._0x2791a8)]>0x0&&existsSync(_0x5905b2))return _0x5905b2;}catch{}}return void 0x0;}__name(whichOf,_0x412422(0x1e5));function runEnvironmentChecks(_0x310b29={}){const _0x342d11={_0x346226:0x1fa},_0x54cc75=_0x412422,_0x4083dd=_0x310b29['cwd']??process[_0x54cc75(_0x342d11._0x346226)]();return[checkNodeVersion(),checkSystemBrowser(),checkWritableCwd(_0x4083dd)];}__name(runEnvironmentChecks,'runEnvironmentChecks');function checkNodeVersion(){const _0xb55a2a={_0x4e052c:0x1ef,_0x41617b:0x20d,_0x464f09:0x1e2,_0xc72272:0x1fb,_0xf892bd:0x1ec,_0x4fc80b:0x20c},_0x36703f=_0x412422,_0x4845a2=process[_0x36703f(_0xb55a2a._0x4e052c)][_0x36703f(_0xb55a2a._0x41617b)],_0x5a3092=Number(_0x4845a2[_0x36703f(_0xb55a2a._0x464f09)]('.')[0x0]);if(!Number[_0x36703f(_0xb55a2a._0xc72272)](_0x5a3092)||_0x5a3092<0x14)return{'name':_0x36703f(0x20c),'severity':'error','message':_0x36703f(_0xb55a2a._0xf892bd)+_0x4845a2+')','detail':_0x36703f(0x206)};return{'name':_0x36703f(_0xb55a2a._0x4fc80b),'severity':'ok','message':_0x4845a2};}__name(checkNodeVersion,_0x412422(0x1b6));function checkSystemBrowser(){const _0x4af122={_0x2beb42:0x1d4,_0xcfca6c:0x1d5},_0x27a30f=_0x412422,_0x2e51ee=probeSystemBrowser();if(_0x2e51ee['channel']!==null)return{'name':'System\x20browser','severity':'ok','message':_0x2e51ee['label']+'\x20found','detail':_0x2e51ee['path']};return{'name':_0x27a30f(_0x4af122._0x2beb42),'severity':_0x27a30f(_0x4af122._0xcfca6c),'message':_0x27a30f(0x1b8),'detail':_0x27a30f(0x1d9)};}__name(checkSystemBrowser,_0x412422(0x207));function checkWritableCwd(_0x17fbdd){const _0x8a7adf={_0x722bb1:0x1b2,_0x31c927:0x1ca,_0x5a382a:0x1c7},_0x4aacab=_0x412422;if(!_0x2d0397(_0x17fbdd))return{'name':_0x4aacab(0x1c7),'severity':_0x4aacab(_0x8a7adf._0x722bb1),'message':'target\x20'+_0x17fbdd+_0x4aacab(_0x8a7adf._0x31c927),'detail':'Create\x20the\x20directory\x20or\x20run\x20init\x20in\x20an\x20existing\x20project\x20root.'};return{'name':_0x4aacab(_0x8a7adf._0x5a382a),'severity':'ok','message':_0x17fbdd};}__name(checkWritableCwd,_0x412422(0x1e3));var PACKAGE_NAME=_0x412422(0x1ed),WebRunnerAdapter=class{static{__name(this,_0x412422(0x200));}[_0x412422(0x1c0)]=PACKAGE_NAME;['suffix']='';['debug']={'picker':!![],'attach':!![],'resumeFromFailure':![]};[_0x412422(0x1db)]=['scenario',_0x412422(0x1d0),'authoring'];[_0x412422(0x20e)](){const _0x4475d8={_0x52061d:0x205},_0x6d5b15=_0x412422,_0x269622=createRequire(import.meta.url),_0x4a895b=_0x269622['resolve'](PACKAGE_NAME+_0x6d5b15(_0x4475d8._0x52061d)),_0x1403ab=JSON['parse'](readFileSync(_0x4a895b,'utf8')),_0x1da7c3=pickBin(_0x1403ab);if(!_0x1da7c3)throw new Error(PACKAGE_NAME+'\x20package.json\x20declares\x20no\x20\x27bin\x27\x20field\x20—\x20broken\x20install?');return join(dirname(_0x4a895b),_0x1da7c3);}[_0x412422(0x1e4)](_0x3f455f){const _0x45d21b={_0x24abb9:0x1f3,_0x4429a9:0x1f2,_0x5e7f4f:0x1c3,_0x294532:0x1c3,_0x267b2f:0x1bb,_0x52b37f:0x1d0,_0x494055:0x20f,_0x1ece59:0x20f,_0x22e9dc:0x202,_0x49f1b2:0x201,_0x5f3739:0x1ea},_0x3f98ef=_0x412422;if(_0x3f455f[_0x3f98ef(0x1ea)]===_0x3f98ef(0x1f5)){const _0xaa4f70=[_0x3f98ef(_0x45d21b._0x24abb9),_0x3f455f['scenario']];if(_0x3f455f['debug'])_0xaa4f70['push'](_0x3f98ef(_0x45d21b._0x4429a9));return _0x3f455f[_0x3f98ef(_0x45d21b._0x5e7f4f)]&&_0x3f455f[_0x3f98ef(_0x45d21b._0x294532)][_0x3f98ef(_0x45d21b._0x267b2f)]>0x0&&_0xaa4f70[_0x3f98ef(0x1ee)]('--break',_0x3f455f[_0x3f98ef(0x1c3)][_0x3f98ef(0x1d1)](',')),_0xaa4f70;}if(_0x3f455f['kind']===_0x3f98ef(_0x45d21b._0x52b37f)){const _0x37f2a8=['collection',_0x3f455f[_0x3f98ef(0x1d0)]];_0x3f455f[_0x3f98ef(_0x45d21b._0x494055)]!==void 0x0&&_0x3f455f[_0x3f98ef(_0x45d21b._0x1ece59)]>0x1&&_0x37f2a8[_0x3f98ef(0x1ee)](_0x3f98ef(_0x45d21b._0x22e9dc)+_0x3f455f['workers']);if(_0x3f455f[_0x3f98ef(0x1f9)])_0x37f2a8[_0x3f98ef(0x1ee)](_0x3f98ef(_0x45d21b._0x49f1b2));return _0x37f2a8;}if(_0x3f455f[_0x3f98ef(_0x45d21b._0x5f3739)]===_0x3f98ef(0x1f8))return[_0x3f98ef(0x1b3),_0x3f455f[_0x3f98ef(0x1f5)]];const _0x1adce9=_0x3f455f;throw new UnsupportedRunKindError(_0x1adce9[_0x3f98ef(0x1ea)],this['name']);}[_0x412422(0x1bc)](_0x17f849){const _0x3c2e21={_0x1982e6:0x1d6},_0x556843=_0x412422,_0x1b2c41={};if(_0x17f849[_0x556843(_0x3c2e21._0x1982e6)])_0x1b2c41[_0x556843(0x1cb)]='1';return _0x1b2c41;}[_0x412422(0x1df)](){const _0x3db670=_0x412422;return[_0x3db670(0x1ff)];}async['doctor'](_0x3d9f7f){const _0x319e9a=_0x412422;return runEnvironmentChecks({'cwd':_0x3d9f7f[_0x319e9a(0x1e7)]});}},webRunnerAdapter=new WebRunnerAdapter(),web_runner_adapter_default=webRunnerAdapter;function pickBin(_0x348db1){const _0x528758={_0x58eb72:0x1c6,_0x9fc9c1:0x204,_0x27a7c2:0x204,_0x5131ee:0x209},_0x4116f9=_0x412422;if(typeof _0x348db1[_0x4116f9(0x204)]===_0x4116f9(_0x528758._0x58eb72))return _0x348db1[_0x4116f9(_0x528758._0x9fc9c1)];if(_0x348db1[_0x4116f9(_0x528758._0x27a7c2)]&&typeof _0x348db1[_0x4116f9(_0x528758._0x27a7c2)]===_0x4116f9(_0x528758._0x5131ee))return _0x348db1[_0x4116f9(_0x528758._0x9fc9c1)][_0x4116f9(0x1c1)]??Object['values'](_0x348db1[_0x4116f9(0x204)])[0x0]??null;return null;}__name(pickBin,_0x412422(0x1e1));export{web_runner_adapter_default as default,webRunnerAdapter};
1
+ const _0x27fbae=_0x1fe2;(function(_0x38f9a2,_0x32502a){const _0x74d110={_0x510192:0x12b,_0x4d2eac:0x130,_0x2c9d96:0x10a,_0x1ad60e:0x137},_0xa0b935=_0x1fe2,_0x36fbcd=_0x38f9a2();while(!![]){try{const _0x55fbd9=parseInt(_0xa0b935(0xf1))/0x1+-parseInt(_0xa0b935(_0x74d110._0x510192))/0x2+-parseInt(_0xa0b935(0x108))/0x3*(-parseInt(_0xa0b935(0x10b))/0x4)+-parseInt(_0xa0b935(_0x74d110._0x4d2eac))/0x5*(parseInt(_0xa0b935(0xf4))/0x6)+-parseInt(_0xa0b935(_0x74d110._0x2c9d96))/0x7+parseInt(_0xa0b935(_0x74d110._0x1ad60e))/0x8*(-parseInt(_0xa0b935(0x144))/0x9)+parseInt(_0xa0b935(0x13f))/0xa;if(_0x55fbd9===_0x32502a)break;else _0x36fbcd['push'](_0x36fbcd['shift']());}catch(_0x9a7a05){_0x36fbcd['push'](_0x36fbcd['shift']());}}}(_0x1571,0x1d5df));function _0x1fe2(_0x4fd5d5,_0x35d668){_0x4fd5d5=_0x4fd5d5-0xe2;const _0x1571aa=_0x1571();let _0x1fe2f7=_0x1571aa[_0x4fd5d5];if(_0x1fe2['fKIlLP']===undefined){var _0x4995bf=function(_0x416d3){const _0x423e7c='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x15fc8b='',_0x3ecd13='';for(let _0x5028a0=0x0,_0x2883dd,_0x5b8b24,_0x10e10c=0x0;_0x5b8b24=_0x416d3['charAt'](_0x10e10c++);~_0x5b8b24&&(_0x2883dd=_0x5028a0%0x4?_0x2883dd*0x40+_0x5b8b24:_0x5b8b24,_0x5028a0++%0x4)?_0x15fc8b+=String['fromCharCode'](0xff&_0x2883dd>>(-0x2*_0x5028a0&0x6)):0x0){_0x5b8b24=_0x423e7c['indexOf'](_0x5b8b24);}for(let _0xcca118=0x0,_0x1319be=_0x15fc8b['length'];_0xcca118<_0x1319be;_0xcca118++){_0x3ecd13+='%'+('00'+_0x15fc8b['charCodeAt'](_0xcca118)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x3ecd13);};_0x1fe2['ReYNfG']=_0x4995bf,_0x1fe2['kGfYoc']={},_0x1fe2['fKIlLP']=!![];}const _0x53bb15=_0x1571aa[0x0],_0x3073d1=_0x4fd5d5+_0x53bb15,_0x25d8cf=_0x1fe2['kGfYoc'][_0x3073d1];return!_0x25d8cf?(_0x1fe2f7=_0x1fe2['ReYNfG'](_0x1fe2f7),_0x1fe2['kGfYoc'][_0x3073d1]=_0x1fe2f7):_0x1fe2f7=_0x25d8cf,_0x1fe2f7;}var __defProp=Object[_0x27fbae(0x10f)],__name=(_0x3ecd13,_0x5028a0)=>__defProp(_0x3ecd13,_0x27fbae(0xed),{'value':_0x5028a0,'configurable':!![]});import{UnsupportedRunKindError}from'@unotest/protocol';import{readFileSync}from'fs';import{createRequire}from'module';import{dirname,join}from'path';import{existsSync as _0x15fc8b}from'fs';function _0x1571(){const _0x59b01d=['xeDVB2DSzvXdAhjVBwuGqMv0yvXbChbSAwnHDgLVBLXJAhjVBwuUzxHL','ChjVyMvdAhjVBwvczxrH','BxnLzgDL','nJu1surUzuzg','yNvPBgrfBNy','C3vWCg9YDgvKs2LUzhm','AM9PBG','l3vZCI9IAw4Vz29Vz2XLlwnOCM9Tzs1IzxrH','BgfIzwW','AgvHzgvK','mJy3mKDIAvziAa','ztjL','l3vZCI9IAw4Vy2HYB21PDw0TyNjVD3nLCG','l3vZCI9IAw4Vz29Vz2XLlwnOCM9Tzq','DxrMoa','A2LUza','uhjVz3jHBuzPBgvZ','ls1ICMvHAW','ndK1mdu5mhbjC3L6AG','y2HYB21PDw0TyNjVD3nLCG','DgfYz2v0ia','r29Vz2XLienOCM9Tzq','CMvZB2X2zujPBG','ntK0ovvMDerMwa','z29Vz2XLlwnOCM9Tzs1ZDgfIBgu','v2vIuNvUBMvYqwrHChrLCG','C3rHCNrZv2L0Aa','qhvUB3rLC3qVD2vI','zg9JDg9Y','zw52','u3LZDgvTigjYB3DZzxi','yNvPBgrbCMDZ','yNjLywTWB2LUDhm','l3vZCI9IAw4VBwLJCM9ZB2z0lwvKz2u','D29YA2vYCW','D2LUmZi','vu5pvevtvf9iruferuq','zgvIDwC','BMfTzq','y2HLy2TxCML0ywjSzun3za','zxjYB3i','vgfYz2v0igrPCMvJDg9YEq','mJG5ndnYuePHy2C','AxngAw5PDgu','sw5ZDgfSBcboB2rLidiWkYb2AweGBNzTic8GzM5Tic8GDM9SDgeGyw5KihjLlxj1BI4','mJuYnK5Nvu9bBq','xeDVB2DSzvXdAhjVBwvCqxbWBgLJyxrPB25Cy2HYB21LlMv4zq','l3vZCI9IAw4VBwLJCM9ZB2z0lwvKz2uTC3rHyMXL','y2HYB21PDw0','yxv0Ag9YAw5N','y2HHBM5LBa','CgLJA0jPBG','y2HLy2TtExn0zw1cCM93C2vY','ihbHy2THz2uUANnVBIbKzwnSyxjLCYbUBYaNyMLUjYbMAwvSzcdIGjqGyNjVA2vUigLUC3rHBgW/','te9dquXbufbeqvrb','yxbWlxnLCNzLCG','DhjPBq','tM9Kzs5QCYb2zxjZAw9U','BgvUz3rO','ChjVAMvJDfjVB3q','Dw5VDgvZDc13zwi','D2HPy2G','ls1Kzwj1zW','ls13B3jRzxjZpq','ls1IywLS','nKPAsKjpqW','yMfPBa','mJiXmJyZsKPJBgH0','mJaYmZi0CezsAxbS','BwLJCM9ZB2z0lwvKz2uTC3rHyMXL','y29SBgvJDgLVBG','ChjVyMvtExn0zw1cCM93C2vY','zgvMAw5LuhjVCgvYDhK','r29Vz2XLienOCM9TzsbczxrH','ChvZAa','CgfYC2u','D2fYBMLUzW','l0fWCgXPy2f0Aw9UCY9nAwnYB3nVzNqGrwrNzs5HChaVq29UDgvUDhmVtwfJt1mVtwLJCM9ZB2z0ievKz2u','q3jLyxrLihrOzsbKAxjLy3rVCNKGB3iGCNvUigLUAxqGAw4Gyw4GzxHPC3rPBMCGChjVAMvJDcbYB290lG','igrVzxmGBM90igv4Axn0','uhjVz3jHBuzPBgvZkhG4nIK','CMvZB2X2zq','y3DK','twLJCM9ZB2z0ievKz2u','Cgf0Aa','C3bSAxq','D2HPy2HpzG','yxbWu2vYDMvYqxjNCW','BM9Kzq','y2HYB21L','ChjVyMvdAhjVBwu','l3bHy2THz2uUANnVBG','CgXHDgzVCM0','xe1Py3jVC29MDfXfzgDLxefWCgXPy2f0Aw9Uxg1ZzwrNzs5LEgu','yMLU','zgfYD2LU','Aw5PDcb3AwXSig9MzMvYihrVigrVD25SB2fKigj1BMrSzwqGq2HYB21PDw0Gkh4XntaGtuiPlIbbBhrLCM5HDgL2zwX5lcbPBNn0ywXSienOCM9TzsbMCM9TigH0DhbZoI8VD3D3lMDVB2DSzs5JB20Vy2HYB21LigfUzcbYzs1YDw4U','C3vMzML4','C2nLBMfYAw8','DMfSDwvZ','mZK0nJG2AhzqB09Y','DMvYC2LVBNm'];_0x1571=function(){return _0x59b01d;};return _0x1571();}import{execFileSync}from'child_process';import{existsSync}from'fs';function probeSystemBrowser(){const _0x3979f6={_0x30da4a:0xf9},_0xf260c9=_0x27fbae;for(const _0x2883dd of[probeChrome,probeEdge,probeChromeBeta]){const _0x5b8b24=_0x2883dd();if(_0x5b8b24[_0xf260c9(_0x3979f6._0x30da4a)]!==null)return _0x5b8b24;}return{'channel':null};}__name(probeSystemBrowser,_0x27fbae(0x10e));function probeChrome(){const _0x2e6262={_0x221ee2:0x120},_0x17efe9=_0x27fbae,_0x10e10c=firstExistingPath(CHROME_PATHS)??whichOf(CHROME_BIN_NAMES);if(_0x10e10c)return{'channel':_0x17efe9(_0x2e6262._0x221ee2),'path':_0x10e10c,'label':_0x17efe9(0x142)};return{'channel':null};}__name(probeChrome,_0x27fbae(0x121));function probeEdge(){const _0xa917ab=_0x27fbae,_0xcca118=firstExistingPath(EDGE_PATHS)??whichOf(EDGE_BIN_NAMES);if(_0xcca118)return{'channel':_0xa917ab(0x12f),'path':_0xcca118,'label':_0xa917ab(0x11a)};return{'channel':null};}__name(probeEdge,'probeEdge');function probeChromeBeta(){const _0x4fd733=_0x27fbae,_0x1319be=firstExistingPath(CHROME_BETA_PATHS);if(_0x1319be)return{'channel':'chrome-beta','path':_0x1319be,'label':_0x4fd733(0x110)};return{'channel':null};}__name(probeChromeBeta,_0x27fbae(0x12e));var CHROME_PATHS=((()=>{const _0x138f67={_0x42731c:0x126,_0x2a9c16:0xea,_0x25ad88:0x13d,_0x149dc5:0xf5,_0x1e9219:0xe4,_0x45db23:0x117,_0x2921f7:0x13a,_0xf13f83:0x139},_0x31c159=_0x27fbae;switch(process['platform']){case _0x31c159(_0x138f67._0x42731c):return['/Applications/Google\x20Chrome.app/Contents/MacOS/Google\x20Chrome'];case _0x31c159(_0x138f67._0x2a9c16):return[process['env'][_0x31c159(_0x138f67._0x25ad88)]+_0x31c159(_0x138f67._0x149dc5),process[_0x31c159(_0x138f67._0x1e9219)][_0x31c159(_0x138f67._0x45db23)]+'\x5cGoogle\x5cChrome\x5cApplication\x5cchrome.exe',process[_0x31c159(0xe4)][_0x31c159(0xfd)]+'\x5cGoogle\x5cChrome\x5cApplication\x5cchrome.exe'];default:return[_0x31c159(_0x138f67._0x2921f7),'/usr/bin/google-chrome-stable','/snap/bin/google-chrome','/usr/bin/chromium',_0x31c159(_0x138f67._0xf13f83)];}})()),CHROME_BIN_NAMES=['google-chrome',_0x27fbae(0x145),_0x27fbae(0xf7),_0x27fbae(0x140)],EDGE_PATHS=((()=>{const _0x58382c={_0x31b90d:0x114,_0x4d972e:0xe4,_0x34fab5:0x124,_0x357fb8:0x117,_0x20b2ae:0xe8},_0x37ca02=_0x27fbae;switch(process[_0x37ca02(0x123)]){case'darwin':return[_0x37ca02(_0x58382c._0x31b90d)];case'win32':return[process[_0x37ca02(_0x58382c._0x4d972e)]['ProgramFiles']+_0x37ca02(_0x58382c._0x34fab5),process[_0x37ca02(0xe4)][_0x37ca02(_0x58382c._0x357fb8)]+_0x37ca02(0x124)];default:return[_0x37ca02(_0x58382c._0x20b2ae),_0x37ca02(0xf6)];}})()),EDGE_BIN_NAMES=['microsoft-edge',_0x27fbae(0x10c)],CHROME_BETA_PATHS=((()=>{const _0xe64779={_0x24c3ab:0x123,_0x4a8126:0xe4,_0x18a310:0x134},_0x25d6ea=_0x27fbae;switch(process[_0x25d6ea(_0xe64779._0x24c3ab)]){case _0x25d6ea(0x126):return['/Applications/Google\x20Chrome\x20Beta.app/Contents/MacOS/Google\x20Chrome\x20Beta'];case'win32':return[process[_0x25d6ea(_0xe64779._0x4a8126)][_0x25d6ea(0x13d)]+_0x25d6ea(0x12d)];default:return[_0x25d6ea(_0xe64779._0x18a310)];}})());function firstExistingPath(_0x23fbaa){const _0x55e6c1=_0x27fbae;for(const _0x34613c of _0x23fbaa){if(!_0x34613c||_0x34613c[_0x55e6c1(0x147)]('undefined'))continue;if(existsSync(_0x34613c))return _0x34613c;}return null;}__name(firstExistingPath,'firstExistingPath');function whichOf(_0x48d543){const _0x2c8c77={_0x487f1d:0x123,_0x33db95:0x13b,_0x96e831:0xff},_0x19b1ef=_0x27fbae;if(process[_0x19b1ef(_0x2c8c77._0x487f1d)]===_0x19b1ef(0xea))return void 0x0;for(const _0x130d67 of _0x48d543){try{const _0x51d8ab=execFileSync(_0x19b1ef(0x104),[_0x130d67],{'encoding':_0x19b1ef(_0x2c8c77._0x33db95)})[_0x19b1ef(_0x2c8c77._0x96e831)]();if(_0x51d8ab[_0x19b1ef(0x101)]>0x0&&existsSync(_0x51d8ab))return _0x51d8ab;}catch{}}return void 0x0;}__name(whichOf,_0x27fbae(0x11d));function runEnvironmentChecks(_0x3edcc5={}){const _0x154174={_0x1cb485:0x119},_0x190bc4=_0x27fbae,_0x58f7cb=_0x3edcc5[_0x190bc4(_0x154174._0x1cb485)]??process[_0x190bc4(_0x154174._0x1cb485)]();return[checkNodeVersion(),checkSystemBrowser(),checkWritableCwd(_0x58f7cb)];}__name(runEnvironmentChecks,'runEnvironmentChecks');function checkNodeVersion(){const _0x11aafd={_0x4f5440:0x12c,_0x328821:0x11f,_0x57a6d5:0x11c,_0x1fbeea:0xef},_0x2968fe=_0x27fbae,_0x26f638=process[_0x2968fe(_0x11aafd._0x4f5440)][_0x2968fe(_0x11aafd._0x328821)],_0x557ac7=Number(_0x26f638[_0x2968fe(_0x11aafd._0x57a6d5)]('.')[0x0]);if(!Number[_0x2968fe(0xf2)](_0x557ac7)||_0x557ac7<0x14)return{'name':_0x2968fe(0x100),'severity':_0x2968fe(_0x11aafd._0x1fbeea),'message':'requires\x20Node\x20≥20\x20(running\x20'+_0x26f638+')','detail':_0x2968fe(0xf3)};return{'name':'Node.js\x20version','severity':'ok','message':_0x26f638};}__name(checkNodeVersion,'checkNodeVersion');function checkSystemBrowser(){const _0x25887b={_0x5b1508:0x135,_0x2001ba:0xe5,_0x58707c:0x113,_0x49e93d:0x127},_0xf46669=_0x27fbae,_0x27d530=probeSystemBrowser();if(_0x27d530[_0xf46669(0xf9)]!==null)return{'name':_0xf46669(0xe5),'severity':'ok','message':_0x27d530[_0xf46669(_0x25887b._0x5b1508)]+'\x20found','detail':_0x27d530[_0xf46669(0x11b)]};return{'name':_0xf46669(_0x25887b._0x2001ba),'severity':_0xf46669(_0x25887b._0x58707c),'message':'no\x20Chrome\x20/\x20Edge\x20/\x20Chromium\x20detected','detail':_0xf46669(_0x25887b._0x49e93d)};}__name(checkSystemBrowser,_0x27fbae(0xfb));function checkWritableCwd(_0x44f1ce){const _0x5e3491=_0x27fbae;if(!_0x15fc8b(_0x44f1ce))return{'name':'Target\x20directory','severity':_0x5e3491(0xef),'message':_0x5e3491(0x141)+_0x44f1ce+_0x5e3491(0x116),'detail':_0x5e3491(0x115)};return{'name':_0x5e3491(0xf0),'severity':'ok','message':_0x44f1ce};}__name(checkWritableCwd,_0x27fbae(0xee));var PACKAGE_NAME=_0x27fbae(0xe2),WebRunnerAdapter=class{static{__name(this,_0x27fbae(0x146));}[_0x27fbae(0xed)]=PACKAGE_NAME;[_0x27fbae(0x128)]='';[_0x27fbae(0xec)]={'picker':!![],'attach':!![],'resumeFromFailure':![]};[_0x27fbae(0x132)]=['scenario','collection','authoring'];[_0x27fbae(0x143)](){const _0x4c2177={_0x40fad0:0xfc},_0x11e64d=_0x27fbae,_0x4394a5=createRequire(import.meta.url),_0x8fde3=_0x4394a5[_0x11e64d(0x118)](PACKAGE_NAME+_0x11e64d(0x122)),_0x4148e3=JSON[_0x11e64d(0x112)](readFileSync(_0x8fde3,'utf8')),_0x1d149e=pickBin(_0x4148e3);if(!_0x1d149e)throw new Error(PACKAGE_NAME+_0x11e64d(_0x4c2177._0x40fad0));return join(dirname(_0x8fde3),_0x1d149e);}[_0x27fbae(0xe6)](_0x532486){const _0x5e2444={_0x45f272:0xec,_0x5abf4d:0x101,_0x926ca2:0x13e,_0x231f14:0x133,_0x3ee2cc:0x13c,_0x50ffb5:0xe9,_0x101294:0xe9,_0x18bed6:0x109,_0x1a5122:0xf8,_0x2fd7af:0x129,_0x319850:0x13c},_0x328dab=_0x27fbae;if(_0x532486[_0x328dab(0x13c)]===_0x328dab(0x129)){const _0x3de5ee=[_0x328dab(0x138),_0x532486['scenario']];if(_0x532486[_0x328dab(_0x5e2444._0x45f272)])_0x3de5ee['push'](_0x328dab(0x105));return _0x532486[_0x328dab(0xe7)]&&_0x532486[_0x328dab(0xe7)][_0x328dab(_0x5e2444._0x5abf4d)]>0x0&&_0x3de5ee[_0x328dab(0x111)](_0x328dab(_0x5e2444._0x926ca2),_0x532486['breakpoints'][_0x328dab(_0x5e2444._0x231f14)](',')),_0x3de5ee;}if(_0x532486[_0x328dab(_0x5e2444._0x3ee2cc)]===_0x328dab(0x10d)){const _0x567cfe=['collection',_0x532486[_0x328dab(0x10d)]];_0x532486[_0x328dab(_0x5e2444._0x50ffb5)]!==void 0x0&&_0x532486[_0x328dab(0xe9)]>0x1&&_0x567cfe[_0x328dab(0x111)](_0x328dab(0x106)+_0x532486[_0x328dab(_0x5e2444._0x101294)]);if(_0x532486[_0x328dab(_0x5e2444._0x18bed6)])_0x567cfe[_0x328dab(0x111)](_0x328dab(0x107));return _0x567cfe;}if(_0x532486[_0x328dab(_0x5e2444._0x3ee2cc)]===_0x328dab(_0x5e2444._0x1a5122))return['author',_0x532486[_0x328dab(_0x5e2444._0x2fd7af)]];const _0x21f5fa=_0x532486;throw new UnsupportedRunKindError(_0x21f5fa[_0x328dab(_0x5e2444._0x319850)],this[_0x328dab(0xed)]);}[_0x27fbae(0x131)](_0x4bdb9e){const _0x24ecd5={_0x55d7a2:0x136},_0x5b993d=_0x27fbae,_0x307bff={};if(_0x4bdb9e[_0x5b993d(_0x24ecd5._0x55d7a2)])_0x307bff[_0x5b993d(0xeb)]='1';return _0x307bff;}[_0x27fbae(0x11e)](){const _0x1f633a={_0x448790:0xfe},_0x22cf89=_0x27fbae;return[_0x22cf89(_0x1f633a._0x448790)];}async[_0x27fbae(0xe3)](_0x4a6131){const _0x153c32={_0x27cff5:0x102},_0x30e276=_0x27fbae;return runEnvironmentChecks({'cwd':_0x4a6131[_0x30e276(_0x153c32._0x27cff5)]});}},webRunnerAdapter=new WebRunnerAdapter(),web_runner_adapter_default=webRunnerAdapter;function pickBin(_0x345248){const _0x26f6fc={_0x5c1d71:0x125,_0x30c56c:0x103,_0xfb960b:0x12a},_0xd20272=_0x27fbae;if(typeof _0x345248[_0xd20272(0x125)]==='string')return _0x345248[_0xd20272(0x125)];if(_0x345248[_0xd20272(0x125)]&&typeof _0x345248[_0xd20272(0x125)]==='object')return _0x345248[_0xd20272(_0x26f6fc._0x5c1d71)][_0xd20272(_0x26f6fc._0x30c56c)]??Object[_0xd20272(_0x26f6fc._0xfb960b)](_0x345248[_0xd20272(0x125)])[0x0]??null;return null;}__name(pickBin,_0x27fbae(0xfa));export{web_runner_adapter_default as default,webRunnerAdapter};
@@ -619,26 +619,31 @@ The variable must hold an http(s) URL; an unknown name fails with the
619
619
  usual "add it to unotest/.env" message. URLs never appear in the
620
620
  scenario — hosts are controlled by project env files only.
621
621
 
622
- **Multipart file upload.** A body of the exact shape
623
- `{file, field?, fields?}` posts as `multipart/form-data`:
622
+ **Multipart file upload `upload(path, options?)`.** Passing the
623
+ result of `upload(...)` as the body posts `multipart/form-data`:
624
624
 
625
625
  ```js
626
626
  res = apiCall('POST', '/tenants/t1/documents',
627
- {file: 'fixtures/manual.pdf', fields: {source: 'e2e'}},
627
+ upload('fixtures/manual.pdf', {fields: {source: 'e2e'}}),
628
628
  {Authorization: BEARER});
629
629
  assertTrue(res.status == 202, 'ingestion not accepted');
630
630
  ```
631
631
 
632
- - `file` — **relative** path, resolved against `sandbox.uploadDir`
632
+ - `path` — **relative**, resolved against `sandbox.uploadDir`
633
633
  (defaults to the project root). Absolute paths and `../` escapes
634
634
  out of that root throw.
635
- - `field` — form part name, default `"file"`. `fields` — extra string
636
- parts. The part's content type derives from the file extension.
637
- - Don't set a `Content-Type` header with a multipart body — `fetch`
635
+ - `options.field` — form part name, default `"file"`.
636
+ `options.fields` — extra string parts. The part's content type
637
+ derives from the file extension.
638
+ - Don't set a `Content-Type` header with an `upload()` body — `fetch`
638
639
  derives the boundary itself; a manual value throws.
639
- - A JSON body that happens to contain a `file` key **plus any other
640
- key** still posts as JSON only the exact multipart shape switches
641
- modes.
640
+ - Plain JSON bodies are NEVER promoted to multipart a body with a
641
+ `file` key posts as JSON. (Before 0.11, the exact shape
642
+ `{file, field?, fields?}` switched modes by key name; that magic
643
+ broke JSON APIs with a legitimate `file` field and is gone —
644
+ migrate to `upload(...)`.)
645
+ - `upload(...)` must be the body itself, not a field inside a JSON
646
+ body — extra form fields go in `options.fields`.
642
647
 
643
648
  ---
644
649
 
@@ -714,6 +719,12 @@ screenshot('landing', {fullPage: true}); // full scroll height
714
719
  - `name` is slugified to `[a-z0-9._-]` (`'Bot Reply!'` → `bot-reply`);
715
720
  omitted → `shot`. Files are numbered in capture order.
716
721
  - **Options:** `fullPage?` (default `false` — viewport only).
722
+ - Before capturing, the call waits for the network to go quiet and for a
723
+ painted frame (up to 2s). Without it a `screenshot()` right after
724
+ `goto()` would freeze the blank pre-render frame — `goto` resolves on
725
+ `load`, which on a client-rendered app fires before any content is on
726
+ screen. A page that never goes quiet (polling, live feeds) costs the
727
+ 2s cap and is then captured as-is.
717
728
  - Not a visual assertion: the test does not compare images. In runtimes
718
729
  with no artifact dir (exploration) the call logs a warning, returns
719
730
  `null` and does NOT fail the run.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@unotest/web",
3
- "version": "0.10.0",
3
+ "version": "0.11.0",
4
4
  "description": "AI-native E2E testing for web applications. MCP server (run_test / step / resume / inspect_runtime / agent_fix) + CLI runner + JavaScript DSL scenarios on a sandboxed AST engine + semantic DOM snapshots.",
5
5
  "license": "MIT",
6
6
  "publishConfig": {
@@ -79,54 +79,17 @@
79
79
  "tsx": "^4.19.2",
80
80
  "yaml": "^2.6.0",
81
81
  "zod": "^3.23.8",
82
- "@unotest/core": "^0.10.0",
83
- "@unotest/dsl": "^0.10.0",
84
- "@unotest/protocol": "^0.10.0",
85
- "@unotest/viewer": "^0.10.0",
86
- "@unotest/grounder-client": "^0.10.0"
82
+ "@unotest/core": "^0.11.0",
83
+ "@unotest/dsl": "^0.11.0",
84
+ "@unotest/grounder-client": "^0.11.0",
85
+ "@unotest/protocol": "^0.11.0",
86
+ "@unotest/viewer": "^0.11.0"
87
87
  },
88
88
  "devDependencies": {
89
89
  "@types/node": "^22.10.0",
90
90
  "javascript-obfuscator": "^4.1.1",
91
91
  "tsup": "^8.5.1",
92
92
  "typescript": "^5.7.2",
93
- "@unotest/grounder": "^0.10.0"
94
- },
95
- "scripts": {
96
- "typecheck": "tsc --noEmit",
97
- "design": "npx serve -l 3111 design",
98
- "test": "node --import tsx --test --test-reporter=spec 'src/**/*.test.ts' 'scripts/**/*.test.mjs' 'evals/**/*.test.ts'",
99
- "compile": "tsup",
100
- "compile:all": "pnpm -C ../dsl compile && pnpm compile && pnpm -C ../viewer compile",
101
- "lint:scenarios": "tsx src/runner/cli.ts lint",
102
- "smoke:bundle": "node scripts/smoke-bundle.mjs",
103
- "check:docs-sync": "node scripts/check-docs-sync.mjs",
104
- "check:no-internal-refs": "node scripts/check-no-internal-refs.mjs",
105
- "check:no-cyrillic": "node scripts/check-no-cyrillic.mjs",
106
- "check:surface": "pnpm check:no-internal-refs && pnpm check:no-cyrillic && pnpm check:skill-prompt-sync && pnpm check:skills-built",
107
- "check:skill-prompt-sync": "node scripts/check-skill-prompt-sync.mjs",
108
- "check:skills-built": "node scripts/build-skills.mjs --check",
109
- "build:skills": "node scripts/build-skills.mjs",
110
- "check:tarball": "node scripts/check-tarball.mjs",
111
- "check:sibling-versions": "node scripts/check-sibling-versions.mjs",
112
- "build:guides": "node scripts/build-guides.mjs",
113
- "prepublish:check": "node scripts/prepublish-check.mjs",
114
- "evals:chain": "tsx evals/chain.ts",
115
- "evals:replay": "tsx evals/replay.ts",
116
- "evals:run": "tsx evals/run.ts",
117
- "evals:drive": "tsx evals/drive.ts",
118
- "evals:ground-bench": "tsx evals/ground-bench.ts",
119
- "evals:prepare": "tsx evals/prepare.ts",
120
- "evals:check": "tsx evals/check.ts",
121
- "evals:bless": "tsx evals/bless.ts",
122
- "evals:diff": "tsx evals/diff.ts",
123
- "perf:baseline": "node scripts/perf-baseline.mjs",
124
- "verify": "pnpm typecheck && pnpm lint:scenarios && pnpm check:surface && pnpm test",
125
- "obfuscate": "node scripts/obfuscate.mjs",
126
- "build": "pnpm verify && pnpm compile && pnpm obfuscate && pnpm smoke:bundle && pnpm build:guides && pnpm check:tarball",
127
- "e2e": "tsx src/runner/cli.ts e2e",
128
- "m1:cross-browser": "node scripts/m1-cross-browser.mjs",
129
- "mcp": "tsx src/mcp/server.ts",
130
- "serve-fixture": "node examples/fixtures/break-fix-app/serve.mjs"
93
+ "@unotest/grounder": "^0.11.0"
131
94
  }
132
95
  }
@@ -235,6 +235,11 @@ result = evaluate(
235
235
  );
236
236
  ```
237
237
 
238
+ Index access reads data off a **bare variable** only — `obj.prop[i]`
239
+ does not parse; assign the member first:
240
+ `m = state.matches; last = m[m.length - 1];`. `arr[i] = v` stays
241
+ rejected.
242
+
238
243
  ## Sandbox primitives
239
244
 
240
245
  For test setup / teardown that touches the host machine, the registry
@@ -246,9 +251,13 @@ exposes four primitives — **but the consumer project's
246
251
  - **`dbQuery(sql, …params)`** / **`dbExec(sql, …params)`** —
247
252
  parameterized SQL against `sandbox.database` (postgres / mysql /
248
253
  sqlite, picked by URL scheme).
249
- - **`apiCall(method, path, body?, headers?)`** — HTTP fetch against
250
- `sandbox.apiBaseUrl`. **Path-only** — absolute URLs throw to prevent
251
- scenarios from hitting arbitrary hosts.
254
+ - **`apiCall(method, path, body?, headers?, opts?)`** — HTTP fetch
255
+ against `sandbox.apiBaseUrl`. **Path-only** — absolute URLs throw to
256
+ prevent scenarios from hitting arbitrary hosts. Multipart upload:
257
+ pass `upload('fixtures/doc.pdf', {field?, fields?})` as the body
258
+ (relative path inside the project / `sandbox.uploadDir`; don't set
259
+ Content-Type yourself). A JSON body with a `file` key posts as plain
260
+ JSON — there is no key-name magic.
252
261
 
253
262
  If a primitive throws with "sandbox.X is not configured", tell the
254
263
  user to add it to `unotest.config.*`. Do not infer secrets from the