@unotest/web 0.37.0 → 0.38.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.
- package/CHANGELOG.md +36 -0
- package/dist/config/schema.d.ts +18 -18
- package/dist/config/schema.js +1 -1
- package/dist/driver/index.js +1 -1
- package/dist/dsl/index.js +1 -1
- package/dist/dsl/web-dsl-language-service.js +1 -1
- package/dist/mcp/server.js +1 -1
- package/dist/runner/cli.js +1 -1
- package/dist/runner/init/chrome-probe.js +1 -1
- package/dist/runner/init.js +1 -1
- package/dist/runner/install-chromium.js +1 -1
- package/dist/runner/prepare-fix.js +1 -1
- package/dist/runner/scaffold-workspace.js +1 -1
- package/dist/runner/serve-fixture.js +1 -1
- package/dist/runner/web-runner-adapter.js +1 -1
- package/package.json +8 -8
|
@@ -1 +1 @@
|
|
|
1
|
-
const _0x54be84=_0x2a21;(function(_0x5323e3,_0x472f5b){const _0x233bf4={_0x483bac:0x1fd,_0x281db7:0x1ae,_0x193f54:0x1dd,_0x3b11b2:0x1aa,_0xfe7a23:0x1fa,_0x3b8093:0x1f3},_0x3376dd=_0x2a21,_0x4afec7=_0x5323e3();while(!![]){try{const _0x50635a=parseInt(_0x3376dd(_0x233bf4._0x483bac))/0x1+parseInt(_0x3376dd(0x1ef))/0x2*(parseInt(_0x3376dd(0x191))/0x3)+parseInt(_0x3376dd(0x1cd))/0x4+parseInt(_0x3376dd(_0x233bf4._0x281db7))/0x5*(-parseInt(_0x3376dd(0x1d6))/0x6)+-parseInt(_0x3376dd(0x1dc))/0x7*(-parseInt(_0x3376dd(_0x233bf4._0x193f54))/0x8)+parseInt(_0x3376dd(_0x233bf4._0x3b11b2))/0x9*(-parseInt(_0x3376dd(_0x233bf4._0xfe7a23))/0xa)+parseInt(_0x3376dd(_0x233bf4._0x3b8093))/0xb*(parseInt(_0x3376dd(0x1c4))/0xc);if(_0x50635a===_0x472f5b)break;else _0x4afec7['push'](_0x4afec7['shift']());}catch(_0x570963){_0x4afec7['push'](_0x4afec7['shift']());}}}(_0x3ae9,0xc9e42));var __defProp=Object[_0x54be84(0x1f1)],__name=(_0x2c0db0,_0x4b32ae)=>__defProp(_0x2c0db0,_0x54be84(0x1f4),{'value':_0x4b32ae,'configurable':!![]});import{writeFileSync as _0x2ae88c}from'fs';import{join as _0x5953c0}from'path';import{fileURLToPath}from'url';import{readFileSync as _0xb6feda,existsSync as _0x5a3c67}from'fs';import{relative}from'path';import{existsSync,mkdirSync,readFileSync,readdirSync,statSync,writeFileSync}from'fs';import{join,dirname}from'path';function _0x3ae9(){const _0x3d6198=['iIaOBg9VA2vKigLUia','BwvKAxvT','C2XPy2u','C2nYzwvUC2HVDevYCM9Y','cK5LEhq6ihbHC3rLigvHy2GGzML4lxbYB21WDc5TzcbPBNrVihLVDxiGteXnignSAwvUDcaOq2XHDwrLienVzguGlWPdDxjZB3iGlYbLDgmUks4GvgHLieXmtsbYzxr1CM5ZigeGDw5PzMLLzcbKAwzMoYbYzxzPzxCGAxqGyw5KigfWCgX5cM1HBNvHBgX5lIbxzsbUzxzLCIbHDxrVlwfWCgX5icHelti1ks4k','BMv0D29YAW','Dgv4Da','DgLTzxn0yw1W','kqOk','mZCYnti4ovbOuLHKwq','ChvZAa','y2HHBMDLlwfZC2vYDgLVBG','C3vNz2vZDgvKqwn0Aw9U','mZCXmtK4mhfdsKj0BW','C29YDa','ycaOy29UzMLKzw5JztOG','C3rLCeLUzgv4','C3rKzxjY','yaOTicOQu3rLCcbPBMrLEcOQoIa','y2fWDhvYzwrbDa','DMfSDwvZ','CMvZB2X2zuj1BMrSzurPCG','BgLUzq','AgLNAa','C3rHy2S','Dw5RBM93BG','xYHUBYbJB25ZB2XLigvUDhjPzxmGy2fWDhvYzwqPxW','ywrKlxDHAxrMB3i','cMbGyaOkiYmGu2vTyw50AwmTre9nihnUyxbZAg90cGO','vvjmoIa','yNvUzgXLrgLY','CMv3CML0zs1ZzwXLy3rVCG','zxjYB3i','C25HChnOB3q','lcbJB2WG','mJrpEwX1A0y','y3DK','ihrLC3qOCYKGkeqTmJuPcGO','DMLKzw8UD2vIBq','zw52','BMv0D29YAY5QC29U','B3v0','zMLSDgvY','y29UC29SzuXPBwL0','nZy4nJy0zuXhyKfN','yxjNDG','C25HChnOB3qUANnVBG','yxbWCM94vg9Rzw5Z','C2v0','cLjLz2LVBNm6ihnLzsbZBMfWC2HVDc5QC29UigLUihrOzsbIDw5KBguGzgLYicHYzwfKihzPysbGz2v0x2zHAwX1CMvFyteXEwaPlG','CgfYC2u','y29UC29Szq','y2XHC3nPzNK','nMzqBgLVwa','zxjY','ycbPBIbG','Bgv2zwW','Dg9mB3DLCKnHC2u','zgvMyxvSDezHAwX1CMvZuM9VDa','mZi0mvDdAhDTsW','mJKWnhnrqNPutW','C2nYzwvUC2HVDfbHDgG','CNvUuhjLCgfYzuzPEa','cI0GkIPmB2nHDgLVBIOQoIbSAw5Lia','AM9PBG','DhjHy2u','icaGicaGC3vNz2vZDgvKqwn0Aw9Upq','zML4lxbYB21WDc5Tza','icbJB25MAwrLBMnLpq','CMvHzezHAwX1CMvcDw5KBgu','y2vPBa','BwfW','Dg9vChbLCKnHC2u','BgLZDezHAwX1CMvZ','ChjVBxb0twfYA2rVD24','vgLTzw91DevYCM9Y','DgvZDezU','DMLKzw9qyxrO','mMn6s252ua','iYmJifn0ywnRcMbGyaO','zgvMAw5LuhjVCgvYDhK','cMbGyaO','mZKYnZbOD0L0wMy','BMfTzq','Aw5JBhvKzxm','BwvZC2fNzq','qxnZzxj0Aw9UrxjYB3i','DxrMoa','C291CMnLCW','mZbSs214CNm','Bg9JywXLq29TCgfYzq','ls1MywLSAw5N','mtqZnJi5ogXttuXvzG','D3jPDgu','C2nLBMfYAw9qyxrO','cI0GkIPfCNjVCIOQoIbG','zMfPBhvYzs5QC29U','AgfYlMPZB24','cGOJiYbxAgf0ihDLig5LzwqkcLbYB2r1y2uGysaQkNvUAwzPzwqGzgLMzIOQihrOyxqGzML4zxmGDgHLihrLC3qUienVBNn0CMfPBNrZoGOkms4Gs2vLCcb0AguGC2fTzsb0zxn0xYOOksbMDw5JDgLVBIbUyw1LigfUzcb0AguGC2fTzsbVDMvYywXSigzSB3CG4OcuignOyw5Nzsb0AgukicaGBwLUAw11BsbYzxf1AxjLzcb0BYbTywTLihrOzsbMywLSAw5Nihn0zxaGC3vJy2vLzc4kmI4GuhjLzMvYihrOzsbeltiYihnLBgvJDg9YigHPzxjHCMnOEtOGygDLDej5vgvZDeLKycdIHPiGygDLDej5uM9SzsH7BMfTzx0PyaOGicdIHPiGygDLDej5tgfIzwXGiokgKIbGz2v0qNLuzxH0ycdIHPiGygXVy2f0B3iOy3nZkwaGkgXHC3qGCMvZB3j0ks4kmY4GswyGywrKAw5NigeGD2fPDcWGChjLzMvYigb3ywL0rM9YkgXVyYLGic8GyhDHAxrgB3jvCMWOCgf0DgvYBILGig92zxiGyhbHDxnLkg1ZkwaUcJqUie5VigLTCg9YDhmG4OcuierttcbMDw5JDgLVBNmGCMvZB2X2zsb0AhjVDwDOihrOzsbYDw50Aw1LihjLz2LZDhj5igj5ig5HBwuUcJuUie5VigbHC3LUy2aVygf3ywL0ycdIGjqGDgHLigv4zwn1Dg9YigHHBMrSzxmGyxn5BMmGAw50zxjUywXSEs4knI4Gt3v0Chv0ie9otfKGDgHLihvUAwzPzwqGzgLMzIbIzxr3zwvUigzLBMnLCYbGygbKAwzMiokaPIbGygaUifrOzsb1C2vYcIaGihjLDMLLD3mGkYbHChbSAwvZigL0ig1HBNvHBgX5icHelti1iokaLcb3zsbUzxzLCIbHDxrVlwfWCgX5ks4k','mZaYmJi5nKXRBNrYrq','phnJzw5HCMLVigzPBguGBM8GBg9Uz2vYig9UigrPC2S+','DgvZDa','ycdIGjqG','C3rKB3v0','BgvUz3rO','y29UzMLKzw5Jzq','ChjLCgfYzs1MAxG6ig5VigzHAwX1CMuGyNvUzgXLCYbMB3vUzcb1BMrLCIaUDw5VDgvZDc9MywLSDxjLCY8Uifj1BIbHigzHAwXPBMCGDgvZDcbMAxjZDdSGDgHLigj1BMrSzsbPCYb3CML0DgvUigf1Dg9TyxrPy2fSBhKUcG','DxjS','zxHPDa','yNvPBgrqCM9TChrnyxjRzg93BG','tg9JyxrVCKvYCM9Y','cI0GkIPtDwDNzxn0zwqGywn0Aw9UkIO6iga','CgfKu3rHCNq','rxjYB3i','icaGicaG'];_0x3ae9=function(){return _0x3d6198;};return _0x3ae9();}import{artifactsRootFrom,FAILURES_DIR_SEGMENTS,failuresRootFrom}from'@unotest/protocol';function readFailureBundle(_0x53a653){const _0x5e766c={_0x17d778:0x1f8,_0x14e025:0x1d3,_0x4dfdae:0x1cf,_0x511e34:0x1c9,_0x12b14b:0x1c2,_0x6a389d:0x18f,_0x9aaa81:0x1ee},_0x35111d=_0x54be84;if(!existsSync(_0x53a653))return null;const _0x2fb47a=join(_0x53a653,_0x35111d(0x18e));if(!existsSync(_0x2fb47a))return null;const _0x5382ae=JSON[_0x35111d(0x1d3)](readFileSync(_0x2fb47a,_0x35111d(_0x5e766c._0x17d778))),_0x1048ed=join(_0x53a653,'console.json'),_0x2e74bd=existsSync(_0x1048ed)?JSON[_0x35111d(_0x5e766c._0x14e025)](readFileSync(_0x1048ed,_0x35111d(0x1f8))):[],_0x248ca8=join(_0x53a653,_0x35111d(_0x5e766c._0x4dfdae)),_0x5bbeb5=existsSync(_0x248ca8)?JSON[_0x35111d(0x1d3)](readFileSync(_0x248ca8,'utf8')):void 0x0,_0x34182f={'trace':_0x5382ae,'console':_0x2e74bd},_0x5691f6=join(_0x53a653,_0x35111d(_0x5e766c._0x511e34));existsSync(_0x5691f6)&&(_0x34182f[_0x35111d(0x1a6)]=JSON[_0x35111d(_0x5e766c._0x14e025)](readFileSync(_0x5691f6,_0x35111d(0x1f8))));if(_0x5bbeb5!==void 0x0)_0x34182f[_0x35111d(_0x5e766c._0x12b14b)]=_0x5bbeb5;const _0x250568=join(_0x53a653,'screenshot.png');if(existsSync(_0x250568))_0x34182f[_0x35111d(0x1de)]=_0x250568;else{const _0xf06ed4=join(_0x53a653,'screenshot-error.txt');existsSync(_0xf06ed4)&&(_0x34182f[_0x35111d(0x1a4)]=readFileSync(_0xf06ed4,_0x35111d(0x1f8)));}const _0x1d98f5=join(_0x53a653,_0x35111d(_0x5e766c._0x6a389d));if(existsSync(_0x1d98f5))_0x34182f['harPath']=_0x1d98f5;const _0x88f06b=join(_0x53a653,_0x35111d(0x1c7));if(existsSync(_0x88f06b))_0x34182f[_0x35111d(_0x5e766c._0x9aaa81)]=_0x88f06b;return _0x34182f;}__name(readFailureBundle,_0x54be84(0x1e6));function listFailures(_0x367aad){const _0x2fc36f={_0x2ad1d3:0x18e,_0x5251c6:0x1d3,_0x35d12b:0x1f8,_0x284d54:0x1ab,_0x41cc1b:0x1a8},_0x7d337d=_0x54be84;if(!existsSync(_0x367aad))return[];const _0x4629e9=[];for(const _0x2399b5 of readdirSync(_0x367aad)){const _0x8eff3c=join(_0x367aad,_0x2399b5);if(!statSync(_0x8eff3c)['isDirectory']())continue;for(const _0x324d24 of readdirSync(_0x8eff3c)){const _0x1ed96d=join(_0x8eff3c,_0x324d24);if(!statSync(_0x1ed96d)['isDirectory']())continue;const _0x375643=join(_0x1ed96d,_0x7d337d(_0x2fc36f._0x2ad1d3));if(!existsSync(_0x375643))continue;try{const _0x2f9f92=JSON[_0x7d337d(_0x2fc36f._0x5251c6)](readFileSync(_0x375643,_0x7d337d(_0x2fc36f._0x35d12b)));_0x4629e9[_0x7d337d(_0x2fc36f._0x284d54)]({'runId':_0x2399b5,'testFn':_0x2f9f92[_0x7d337d(0x1ed)],'scenarioPath':_0x2f9f92['scenarioPath'],'dir':_0x1ed96d,'timestamp':_0x2f9f92[_0x7d337d(_0x2fc36f._0x41cc1b)]});}catch{}}}return _0x4629e9[_0x7d337d(0x1af)]((_0x28794b,_0x118ac9)=>_0x118ac9['timestamp'][_0x7d337d(0x1fb)](_0x28794b[_0x7d337d(0x1a8)])),_0x4629e9;}__name(listFailures,_0x54be84(0x1ea));function defaultFailuresRoot(_0x177bf6=artifactsRootFrom(process[_0x54be84(0x1c8)],process['cwd']()),_0x7293a1=process[_0x54be84(0x1c8)]){return failuresRootFrom(_0x7293a1,join(_0x177bf6,...FAILURES_DIR_SEGMENTS));}function _0x2a21(_0x5afec0,_0x3a802c){_0x5afec0=_0x5afec0-0x18c;const _0x3ae9f3=_0x3ae9();let _0x2a21e8=_0x3ae9f3[_0x5afec0];if(_0x2a21['TjJOrP']===undefined){var _0x2ae24c=function(_0x43692c){const _0x4db139='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x2ae88c='',_0x5953c0='';for(let _0xb6feda=0x0,_0x5a3c67,_0x2c0db0,_0x4b32ae=0x0;_0x2c0db0=_0x43692c['charAt'](_0x4b32ae++);~_0x2c0db0&&(_0x5a3c67=_0xb6feda%0x4?_0x5a3c67*0x40+_0x2c0db0:_0x2c0db0,_0xb6feda++%0x4)?_0x2ae88c+=String['fromCharCode'](0xff&_0x5a3c67>>(-0x2*_0xb6feda&0x6)):0x0){_0x2c0db0=_0x4db139['indexOf'](_0x2c0db0);}for(let _0x53a653=0x0,_0x2fb47a=_0x2ae88c['length'];_0x53a653<_0x2fb47a;_0x53a653++){_0x5953c0+='%'+('00'+_0x2ae88c['charCodeAt'](_0x53a653)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x5953c0);};_0x2a21['iKPRZv']=_0x2ae24c,_0x2a21['ivGevo']={},_0x2a21['TjJOrP']=!![];}const _0x1d7958=_0x3ae9f3[0x0],_0x3b36aa=_0x5afec0+_0x1d7958,_0x34bccb=_0x2a21['ivGevo'][_0x3b36aa];return!_0x34bccb?(_0x2a21e8=_0x2a21['iKPRZv'](_0x2a21e8),_0x2a21['ivGevo'][_0x3b36aa]=_0x2a21e8):_0x2a21e8=_0x34bccb,_0x2a21e8;}__name(defaultFailuresRoot,_0x54be84(0x1db));function resolveBundleDir(_0x4672ab,_0x80a8a6){if(existsSync(_0x4672ab)&&statSync(_0x4672ab)['isDirectory']())return _0x4672ab;return join(_0x80a8a6,_0x4672ab);}__name(resolveBundleDir,_0x54be84(0x1b6));function composeFixPrompt(_0x3fe0e9,_0x53746f={}){const _0x55fd34={_0xf8d265:0x1cc,_0x50e588:0x1e2,_0x4dc7ae:0x18c,_0x9c4008:0x1e7,_0x2038b7:0x1e2},_0x5e16fc=_0x54be84,_0x326694=_0x53746f['failuresRoot']??defaultFailuresRoot(),_0x218907=resolveBundleDir(_0x3fe0e9,_0x326694),_0x5a18d7=readFailureBundle(_0x218907);if(!_0x5a18d7)throw new Error('failure\x20bundle\x20not\x20found\x20for\x20testId=\x22'+_0x3fe0e9+_0x5e16fc(0x1a1)+_0x218907+')');const _0x1f4ce6=_0x53746f[_0x5e16fc(0x1c5)]??process[_0x5e16fc(0x1c5)](),_0xf935f3=_0x5a3c67(_0x5a18d7[_0x5e16fc(0x1e2)]['scenarioPath'])?_0xb6feda(_0x5a18d7['trace'][_0x5e16fc(0x18c)],_0x5e16fc(0x1f8)):_0x5e16fc(0x192),_0x16c061=_0x53746f[_0x5e16fc(_0x55fd34._0xf8d265)]??0x19,_0x618540=_0x5a18d7[_0x5e16fc(0x1d4)][_0x5e16fc(0x1a3)](-_0x16c061),{suggestedAction:_0x50de83,confidence:_0x2b2546}=classify(_0x5a18d7),_0x343aef=buildPromptMarkdown({'bundle':_0x5a18d7,'scenarioSource':_0xf935f3,'scenarioRelative':relative(_0x1f4ce6,_0x5a18d7[_0x5e16fc(_0x55fd34._0x50e588)][_0x5e16fc(_0x55fd34._0x4dc7ae)]),'consoleTail':_0x618540,'suggestedAction':_0x50de83,'confidence':_0x2b2546}),_0x5a1c6d=Math[_0x5e16fc(_0x55fd34._0x9c4008)](_0x343aef[_0x5e16fc(0x196)]/0x4);return{'promptMarkdown':_0x343aef,'suggestedAction':_0x50de83,'confidence':_0x2b2546,'sources':{'bundleDir':_0x218907,'scenarioPath':_0x5a18d7[_0x5e16fc(_0x55fd34._0x2038b7)][_0x5e16fc(_0x55fd34._0x4dc7ae)],'consoleEntries':_0x5a18d7['console']['length'],'hasSnapshot':!!_0x5a18d7[_0x5e16fc(0x1c2)]},'approxTokens':_0x5a1c6d};}__name(composeFixPrompt,'composeFixPrompt');function classify(_0x4c60da){const _0x5b89f3={_0x3959a0:0x1f6,_0x37a92f:0x1da,_0x584b6b:0x1c0,_0x1ed906:0x19c,_0x47c369:0x1b8,_0x1a8127:0x1a2},_0x214dd4=_0x54be84,_0x8afc28=_0x4c60da[_0x214dd4(0x1e2)][_0x214dd4(0x1c1)][_0x214dd4(_0x5b89f3._0x3959a0)][_0x214dd4(_0x5b89f3._0x37a92f)](),_0x4db52c=_0x4c60da[_0x214dd4(0x1e2)]['error'][_0x214dd4(0x1f4)]??'';let _0x41903b=_0x214dd4(0x1ba),_0x17f0fb='low';if(_0x4db52c==='LocatorError'||/not found|no element|strict mode|resolved to \d+ elements|nothing matched/i['test'](_0x8afc28))_0x41903b=_0x214dd4(_0x5b89f3._0x584b6b),_0x17f0fb=_0x4db52c===_0x214dd4(_0x5b89f3._0x1ed906)?_0x214dd4(_0x5b89f3._0x47c369):'medium';else{if(_0x4db52c==='TimeoutError'||/timeout|waiting for/i['test'](_0x8afc28))_0x41903b=_0x214dd4(0x1bc),_0x17f0fb=_0x4db52c===_0x214dd4(0x1ec)?'high':_0x214dd4(_0x5b89f3._0x1a8127);else(_0x4db52c==='AssertionError'||/asserttext|assertvisible|expected.*got/i[_0x214dd4(0x193)](_0x8afc28))&&(_0x41903b=_0x214dd4(0x1ac),_0x17f0fb=_0x4db52c===_0x214dd4(0x1f7)?_0x214dd4(0x1b8):_0x214dd4(0x1a2));}return{'suggestedAction':_0x41903b,'confidence':_0x17f0fb};}__name(classify,_0x54be84(0x1d5));function buildPromptMarkdown(_0xead8fc){const _0xb8aa3e={_0x371b1a:0x196,_0xc61b1d:0x1e8,_0x29b406:0x1be,_0x464796:0x199,_0x25131e:0x1c2,_0x2fa761:0x1b4,_0x4cc84c:0x1d2,_0x564517:0x1e0,_0x36eaef:0x1e2,_0x401ee5:0x18d,_0x311c12:0x1f4,_0x219c65:0x1e2,_0xac485b:0x1c1,_0x40db03:0x1f6,_0x5f2273:0x1b0,_0xaafe1a:0x1b9,_0x3d3ba2:0x1f0,_0x5fbc8f:0x1bd},_0x3396f2=_0x54be84,{bundle:_0x551eed,scenarioSource:_0x145a7a,scenarioRelative:_0x2dfc75,consoleTail:_0x89fb43,suggestedAction:_0x37dcb4,confidence:_0x1686f2}=_0xead8fc,_0x167d38=_0x145a7a['split']('\x0a')['map']((_0x53b246,_0x1213fe)=>String(_0x1213fe+0x1)[_0x3396f2(0x19e)](0x3,'\x20')+'\x20\x20'+_0x53b246)[_0x3396f2(0x1e1)]('\x0a'),_0x180f4f=_0x89fb43[_0x3396f2(_0xb8aa3e._0x371b1a)]===0x0?_0x3396f2(0x1bb):_0x89fb43[_0x3396f2(_0xb8aa3e._0xc61b1d)](_0x56938a=>'['+_0x56938a[_0x3396f2(0x1a8)]+']\x20'+_0x56938a[_0x3396f2(0x1d9)][_0x3396f2(0x1e9)]()+':\x20'+_0x56938a[_0x3396f2(0x1a7)])['join']('\x0a'),_0x155785=_0x551eed[_0x3396f2(0x1c2)]?_0x3396f2(_0xb8aa3e._0x29b406)+_0x551eed[_0x3396f2(0x1c2)][_0x3396f2(_0xb8aa3e._0x464796)]+'\x0aCaptured:\x20'+_0x551eed[_0x3396f2(_0xb8aa3e._0x25131e)][_0x3396f2(_0xb8aa3e._0x2fa761)]+_0x3396f2(_0xb8aa3e._0x4cc84c):'_(no\x20semantic-dom\x20snapshot\x20captured\x20for\x20this\x20failure)_';return'#\x20Test\x20fix\x20request\x0a\x0a##\x20Failure\x20context\x0a\x0a-\x20**Test**:\x20`'+_0x551eed[_0x3396f2(0x1e2)]['testFn']+_0x3396f2(0x1d8)+_0x2dfc75+_0x3396f2(0x1b3)+(_0x551eed['trace'][_0x3396f2(0x1b1)]??'?')+_0x3396f2(_0xb8aa3e._0x564517)+_0x551eed[_0x3396f2(_0xb8aa3e._0x36eaef)][_0x3396f2(0x1b7)]+_0x3396f2(0x1c3)+_0x551eed[_0x3396f2(0x1e2)]['col']+_0x3396f2(_0xb8aa3e._0x401ee5)+(_0x551eed['trace'][_0x3396f2(0x1c1)][_0x3396f2(_0xb8aa3e._0x311c12)]??_0x3396f2(0x19f))+_0x3396f2(0x194)+_0x551eed[_0x3396f2(_0xb8aa3e._0x219c65)][_0x3396f2(_0xb8aa3e._0xac485b)][_0x3396f2(_0xb8aa3e._0x40db03)]+_0x3396f2(0x19d)+_0x37dcb4+_0x3396f2(_0xb8aa3e._0x5f2273)+_0x1686f2+_0x3396f2(0x1a9)+(_0x551eed['trace']['error'][_0x3396f2(_0xb8aa3e._0xaafe1a)]?_0x3396f2(_0xb8aa3e._0x3d3ba2)+_0x551eed['trace'][_0x3396f2(_0xb8aa3e._0xac485b)]['stack']+_0x3396f2(0x1f2):'')+'\x0a\x0a##\x20Scenario\x20source\x20(line-numbered)\x0a\x0a```js\x0a'+_0x167d38+'\x0a```\x0a\x0a##\x20Last\x20console\x20entries\x0a\x0a```\x0a'+_0x180f4f+_0x3396f2(_0xb8aa3e._0x5fbc8f)+_0x155785+_0x3396f2(0x190);}__name(buildPromptMarkdown,_0x54be84(0x19b));function runPrepareFix(_0x3b927f,_0x1be6b8={}){const _0x291bcc={_0x439c76:0x1b2,_0x6fea55:0x1c5,_0x3a3258:0x1f5,_0x3e706e:0x196,_0xd469e6:0x1fe,_0xb42ea0:0x196,_0x530d23:0x1ed,_0x5ec56c:0x1e8,_0x28d5b2:0x1c6,_0x11f211:0x1bf,_0x4635f2:0x1eb,_0x22ef8d:0x1fe,_0x12f9e4:0x1fe,_0x1a0f33:0x1a0,_0x25f9b0:0x1ad,_0x285104:0x197,_0x3ad8c3:0x1f6},_0x14c7a3=_0x54be84,_0x227b0e=_0x1be6b8[_0x14c7a3(0x1ca)]??process[_0x14c7a3(0x195)],_0x1eede8=_0x1be6b8[_0x14c7a3(0x1d7)]??process[_0x14c7a3(_0x291bcc._0x439c76)],_0x557e61=_0x1be6b8['cwd']??process[_0x14c7a3(_0x291bcc._0x6fea55)](),_0x5393a6=_0x3b927f[_0x14c7a3(_0x291bcc._0x3a3258)](_0x14c7a3(0x1fc));let _0x4a3271=_0x3b927f[_0x14c7a3(0x1cb)](_0x5c5214=>!_0x5c5214['startsWith']('-'));if(_0x5393a6||_0x4a3271[_0x14c7a3(0x196)]===0x0){const _0x412e25=listFailures(defaultFailuresRoot(_0x557e61));if(_0x412e25[_0x14c7a3(_0x291bcc._0x3e706e)]===0x0)return _0x1eede8[_0x14c7a3(_0x291bcc._0xd469e6)](_0x14c7a3(0x198)),0x1;if(_0x4a3271[_0x14c7a3(_0x291bcc._0xb42ea0)]===0x0){const _0x1a47eb=new Map();for(const _0x104bac of _0x412e25){if(!_0x1a47eb['has'](_0x104bac[_0x14c7a3(_0x291bcc._0x530d23)]))_0x1a47eb[_0x14c7a3(0x1d1)](_0x104bac[_0x14c7a3(_0x291bcc._0x530d23)],_0x104bac);}_0x4a3271=[..._0x1a47eb[_0x14c7a3(0x1b5)]()][_0x14c7a3(_0x291bcc._0x5ec56c)](_0x37773e=>_0x37773e['runId']+'/'+_0x37773e[_0x14c7a3(0x1ed)]);}}if(_0x4a3271['length']===0x0)return _0x1eede8[_0x14c7a3(_0x291bcc._0xd469e6)]('prepare-fix:\x20no\x20testId\x20provided\x20and\x20no\x20failing\x20tests\x20found.\x0a'),0x1;_0x227b0e['write']('prepare-fix:\x20composing\x20fix\x20prompts\x20for\x20'+_0x4a3271['length']+_0x14c7a3(_0x291bcc._0x28d5b2));const _0x1b4823=defaultFailuresRoot(_0x557e61);for(const _0xb98c7b of _0x4a3271){try{const _0x169a6a=composeFixPrompt(_0xb98c7b,{'cwd':_0x557e61,'failuresRoot':_0x1b4823}),_0x5e09f4=_0x5953c0(_0x169a6a[_0x14c7a3(0x1f9)][_0x14c7a3(_0x291bcc._0x11f211)],_0x14c7a3(0x1e4));_0x2ae88c(_0x5e09f4,_0x169a6a[_0x14c7a3(_0x291bcc._0x4635f2)]),_0x227b0e[_0x14c7a3(_0x291bcc._0x22ef8d)]('\x20\x20✓\x20'+_0xb98c7b+'\x0a'),_0x227b0e[_0x14c7a3(_0x291bcc._0x12f9e4)](_0x14c7a3(_0x291bcc._0x1a0f33)+_0x5e09f4+'\x0a'),_0x227b0e['write'](_0x14c7a3(0x1e3)+_0x169a6a[_0x14c7a3(_0x291bcc._0x25f9b0)]+_0x14c7a3(0x1e5)+_0x169a6a[_0x14c7a3(_0x291bcc._0x285104)]+'\x20\x20~'+_0x169a6a[_0x14c7a3(0x1d0)]+'t\x0a');}catch(_0x294a93){_0x1eede8[_0x14c7a3(_0x291bcc._0xd469e6)]('\x20\x20✗\x20'+_0xb98c7b+':\x20'+(_0x294a93 instanceof Error?_0x294a93[_0x14c7a3(_0x291bcc._0x3ad8c3)]:String(_0x294a93))+'\x0a');}}return _0x227b0e[_0x14c7a3(_0x291bcc._0x22ef8d)](_0x14c7a3(0x1a5)),0x0;}__name(runPrepareFix,_0x54be84(0x1df));var invokedDirectly=process[_0x54be84(0x1ce)][0x1]&&fileURLToPath(import.meta.url)===process['argv'][0x1];if(invokedDirectly){const code=runPrepareFix(process['argv'][_0x54be84(0x1a3)](0x2));process[_0x54be84(0x19a)](code);}export{runPrepareFix};
|
|
1
|
+
const _0x164918=_0x441d;(function(_0x4c3b20,_0x18196c){const _0x19c6bb={_0x1b1a99:0x1bc,_0x344ff5:0x1b7,_0x2e0e64:0x1a6,_0x355fb2:0x195,_0x391466:0x1a8},_0x308bbd=_0x441d,_0x40c379=_0x4c3b20();while(!![]){try{const _0x507214=parseInt(_0x308bbd(_0x19c6bb._0x1b1a99))/0x1*(-parseInt(_0x308bbd(_0x19c6bb._0x344ff5))/0x2)+-parseInt(_0x308bbd(0x16f))/0x3*(-parseInt(_0x308bbd(_0x19c6bb._0x2e0e64))/0x4)+-parseInt(_0x308bbd(0x199))/0x5*(parseInt(_0x308bbd(_0x19c6bb._0x355fb2))/0x6)+parseInt(_0x308bbd(0x170))/0x7*(-parseInt(_0x308bbd(0x180))/0x8)+parseInt(_0x308bbd(_0x19c6bb._0x391466))/0x9+-parseInt(_0x308bbd(0x181))/0xa*(-parseInt(_0x308bbd(0x1b1))/0xb)+parseInt(_0x308bbd(0x190))/0xc;if(_0x507214===_0x18196c)break;else _0x40c379['push'](_0x40c379['shift']());}catch(_0x58c411){_0x40c379['push'](_0x40c379['shift']());}}}(_0x3bc2,0x81e39));var __defProp=Object[_0x164918(0x1c2)],__name=(_0x533197,_0x16cda5)=>__defProp(_0x533197,_0x164918(0x198),{'value':_0x16cda5,'configurable':!![]});import{writeFileSync as _0x2a0f22}from'fs';import{join as _0x1f16b3}from'path';import{fileURLToPath}from'url';import{readFileSync as _0x4db5f3,existsSync as _0x1825ae}from'fs';import{relative}from'path';import{existsSync,mkdirSync,readFileSync,readdirSync,statSync,writeFileSync}from'fs';import{join,dirname}from'path';import{artifactsRootFrom,FAILURES_DIR_SEGMENTS,failuresRootFrom}from'@unotest/protocol';function readFailureBundle(_0x505cf0){const _0x15bdef={_0x2a8b9a:0x186,_0xa96400:0x174,_0x199a78:0x1ad,_0x5c5428:0x1d6,_0x10e9c8:0x1c4,_0x2d6c12:0x1b3,_0x2930c4:0x1c5,_0x23726b:0x1c8},_0x44b864=_0x164918;if(!existsSync(_0x505cf0))return null;const _0x458d74=join(_0x505cf0,_0x44b864(_0x15bdef._0x2a8b9a));if(!existsSync(_0x458d74))return null;const _0x294e94=JSON[_0x44b864(_0x15bdef._0xa96400)](readFileSync(_0x458d74,_0x44b864(0x1c5))),_0x3e1907=join(_0x505cf0,_0x44b864(0x1b2)),_0x573280=existsSync(_0x3e1907)?JSON['parse'](readFileSync(_0x3e1907,'utf8')):[],_0x405029=join(_0x505cf0,_0x44b864(0x17b)),_0x41754a=existsSync(_0x405029)?JSON[_0x44b864(_0x15bdef._0xa96400)](readFileSync(_0x405029,_0x44b864(0x1c5))):void 0x0,_0x4c398e={'trace':_0x294e94,'console':_0x573280},_0x47e3c6=join(_0x505cf0,_0x44b864(_0x15bdef._0x199a78));existsSync(_0x47e3c6)&&(_0x4c398e[_0x44b864(0x19f)]=JSON[_0x44b864(0x174)](readFileSync(_0x47e3c6,_0x44b864(0x1c5))));if(_0x41754a!==void 0x0)_0x4c398e[_0x44b864(_0x15bdef._0x5c5428)]=_0x41754a;const _0x4d70c1=join(_0x505cf0,_0x44b864(_0x15bdef._0x10e9c8));if(existsSync(_0x4d70c1))_0x4c398e['screenshotPath']=_0x4d70c1;else{const _0x22be10=join(_0x505cf0,'screenshot-error.txt');existsSync(_0x22be10)&&(_0x4c398e[_0x44b864(_0x15bdef._0x2d6c12)]=readFileSync(_0x22be10,_0x44b864(_0x15bdef._0x2930c4)));}const _0x3acbe5=join(_0x505cf0,_0x44b864(_0x15bdef._0x23726b));if(existsSync(_0x3acbe5))_0x4c398e['harPath']=_0x3acbe5;const _0x3bb37d=join(_0x505cf0,'video.webm');if(existsSync(_0x3bb37d))_0x4c398e[_0x44b864(0x19b)]=_0x3bb37d;return _0x4c398e;}__name(readFailureBundle,_0x164918(0x1aa));function listFailures(_0x312239){const _0x2b131d={_0x3d27ed:0x1c1,_0x14b280:0x174,_0x3e14f6:0x192,_0x2e93a4:0x1ba},_0xa0a508=_0x164918;if(!existsSync(_0x312239))return[];const _0x20b4cc=[];for(const _0x2db9e9 of readdirSync(_0x312239)){const _0x10fa71=join(_0x312239,_0x2db9e9);if(!statSync(_0x10fa71)[_0xa0a508(0x1c1)]())continue;for(const _0xc7948e of readdirSync(_0x10fa71)){const _0x18b4d5=join(_0x10fa71,_0xc7948e);if(!statSync(_0x18b4d5)[_0xa0a508(_0x2b131d._0x3d27ed)]())continue;const _0x5e552b=join(_0x18b4d5,_0xa0a508(0x186));if(!existsSync(_0x5e552b))continue;try{const _0x2980c6=JSON[_0xa0a508(_0x2b131d._0x14b280)](readFileSync(_0x5e552b,_0xa0a508(0x1c5)));_0x20b4cc[_0xa0a508(_0x2b131d._0x3e14f6)]({'runId':_0x2db9e9,'testFn':_0x2980c6[_0xa0a508(0x1b6)],'scenarioPath':_0x2980c6[_0xa0a508(0x17f)],'dir':_0x18b4d5,'timestamp':_0x2980c6[_0xa0a508(_0x2b131d._0x2e93a4)]});}catch{}}}return _0x20b4cc[_0xa0a508(0x19c)]((_0x3a17a8,_0x2fd4c0)=>_0x2fd4c0[_0xa0a508(0x1ba)][_0xa0a508(0x1c9)](_0x3a17a8[_0xa0a508(0x1ba)])),_0x20b4cc;}function _0x441d(_0x38935b,_0x60ef28){_0x38935b=_0x38935b-0x16f;const _0x3bc228=_0x3bc2();let _0x441de0=_0x3bc228[_0x38935b];if(_0x441d['xfiBWS']===undefined){var _0x1c7f8d=function(_0x12c6ff){const _0x2bb556='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x2a0f22='',_0x1f16b3='';for(let _0x4db5f3=0x0,_0x1825ae,_0x533197,_0x16cda5=0x0;_0x533197=_0x12c6ff['charAt'](_0x16cda5++);~_0x533197&&(_0x1825ae=_0x4db5f3%0x4?_0x1825ae*0x40+_0x533197:_0x533197,_0x4db5f3++%0x4)?_0x2a0f22+=String['fromCharCode'](0xff&_0x1825ae>>(-0x2*_0x4db5f3&0x6)):0x0){_0x533197=_0x2bb556['indexOf'](_0x533197);}for(let _0x505cf0=0x0,_0x458d74=_0x2a0f22['length'];_0x505cf0<_0x458d74;_0x505cf0++){_0x1f16b3+='%'+('00'+_0x2a0f22['charCodeAt'](_0x505cf0)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x1f16b3);};_0x441d['muykPP']=_0x1c7f8d,_0x441d['BCysSo']={},_0x441d['xfiBWS']=!![];}const _0x10b6be=_0x3bc228[0x0],_0x5e8291=_0x38935b+_0x10b6be,_0x161fae=_0x441d['BCysSo'][_0x5e8291];return!_0x161fae?(_0x441de0=_0x441d['muykPP'](_0x441de0),_0x441d['BCysSo'][_0x5e8291]=_0x441de0):_0x441de0=_0x161fae,_0x441de0;}__name(listFailures,_0x164918(0x185));function defaultFailuresRoot(_0x56a7c3=artifactsRootFrom(process[_0x164918(0x172)],process[_0x164918(0x1c3)]()),_0x3a42a9=process[_0x164918(0x172)]){return failuresRootFrom(_0x3a42a9,join(_0x56a7c3,...FAILURES_DIR_SEGMENTS));}__name(defaultFailuresRoot,_0x164918(0x197));function resolveBundleDir(_0x142e08,_0x1dbb1a){const _0x2f93e4={_0x77f11d:0x1c1},_0x172950=_0x164918;if(existsSync(_0x142e08)&&statSync(_0x142e08)[_0x172950(_0x2f93e4._0x77f11d)]())return _0x142e08;return join(_0x1dbb1a,_0x142e08);}__name(resolveBundleDir,_0x164918(0x1bd));function composeFixPrompt(_0x46c511,_0x43c3b3={}){const _0x27eda4={_0x3513ea:0x1c3,_0xf1bf:0x1c3,_0x996b9a:0x171,_0x4d7591:0x17f,_0x5225b9:0x1c5,_0x58de83:0x1d8,_0x1fb13a:0x1d7,_0x16df39:0x1b8,_0x188d3e:0x17f,_0x5e6706:0x1d6},_0x4d1868=_0x164918,_0x486527=_0x43c3b3[_0x4d1868(0x1bf)]??defaultFailuresRoot(),_0x27fe32=resolveBundleDir(_0x46c511,_0x486527),_0x49f3cf=readFailureBundle(_0x27fe32);if(!_0x49f3cf)throw new Error(_0x4d1868(0x187)+_0x46c511+_0x4d1868(0x1a4)+_0x27fe32+')');const _0x2542de=_0x43c3b3[_0x4d1868(_0x27eda4._0x3513ea)]??process[_0x4d1868(_0x27eda4._0xf1bf)](),_0x3785f1=_0x1825ae(_0x49f3cf[_0x4d1868(_0x27eda4._0x996b9a)][_0x4d1868(_0x27eda4._0x4d7591)])?_0x4db5f3(_0x49f3cf[_0x4d1868(_0x27eda4._0x996b9a)][_0x4d1868(0x17f)],_0x4d1868(_0x27eda4._0x5225b9)):_0x4d1868(_0x27eda4._0x58de83),_0x52c66e=_0x43c3b3['consoleLimit']??0x19,_0x3708f9=_0x49f3cf[_0x4d1868(_0x27eda4._0x1fb13a)][_0x4d1868(_0x27eda4._0x16df39)](-_0x52c66e),{suggestedAction:_0x373ea9,confidence:_0x28edd1}=classify(_0x49f3cf),_0x228941=buildPromptMarkdown({'bundle':_0x49f3cf,'scenarioSource':_0x3785f1,'scenarioRelative':relative(_0x2542de,_0x49f3cf[_0x4d1868(0x171)][_0x4d1868(_0x27eda4._0x188d3e)]),'consoleTail':_0x3708f9,'suggestedAction':_0x373ea9,'confidence':_0x28edd1}),_0x1db218=Math['ceil'](_0x228941[_0x4d1868(0x1a2)]/0x4);return{'promptMarkdown':_0x228941,'suggestedAction':_0x373ea9,'confidence':_0x28edd1,'sources':{'bundleDir':_0x27fe32,'scenarioPath':_0x49f3cf[_0x4d1868(0x171)][_0x4d1868(_0x27eda4._0x188d3e)],'consoleEntries':_0x49f3cf['console'][_0x4d1868(0x1a2)],'hasSnapshot':!!_0x49f3cf[_0x4d1868(_0x27eda4._0x5e6706)]},'approxTokens':_0x1db218};}function _0x3bc2(){const _0x47fbf0=['ycbPBIbG','C3rHCNrZv2L0Aa','BgLZDezHAwX1CMvZ','zMfPBhvYzs5QC29U','zMfPBhvYzsbIDw5KBguGBM90igzVDw5KigzVCIb0zxn0swq9iG','lcbJB2WG','Bgv2zwW','zxjYB3i','CMv3CML0zs1ZzwXLy3rVCG','icdINjCG','BwfW','tg9JyxrVCKvYCM9Y','ihrLC3qOCYKGkeqTmJuPcGO','odCZody3nKLdrezuDq','vgLTzw91DevYCM9Y','ChvZAa','C3vNz2vZDgvKqwn0Aw9U','xYHUBYbZzw1HBNrPyY1KB20GC25HChnOB3qGy2fWDhvYzwqGzM9YihrOAxmGzMfPBhvYzsLF','nJiYnZu1nLnXrMXABW','iYbuzxn0igzPEcbYzxf1zxn0cGOJiYbgywLSDxjLignVBNrLEhqkcI0GkIPuzxn0kIO6iga','zgvMyxvSDezHAwX1CMvZuM9VDa','BMfTzq','nwTArxLfyq','zML4lxbYB21WDc5Tza','DMLKzw9qyxrO','C29YDa','cI0GkIPmB2nHDgLVBIOQoIbSAw5Lia','icaGicaGC3vNz2vZDgvKqwn0Aw9Upq','BMv0D29YAW','BwvZC2fNzq','CNvUuhjLCgfYzuzPEa','BgvUz3rO','C291CMnLCW','iIaOBg9VA2vKigLUia','icdINjmG','mZG4BNbsufrn','C3rHy2S','mZeYmdGWng9WB1zJBG','DgvZDa','CMvHzezHAwX1CMvcDw5KBgu','cMbGyaO','AgfZ','BMv0D29YAY5QC29U','y29UzMLKzw5Jzq','CNvUswq','yxbWCM94vg9Rzw5Z','mJuZDeHirKj5','y29UC29Szs5QC29U','C2nYzwvUC2HVDevYCM9Y','y2fWDhvYzwrbDa','cMbGyaOkiYmGu2vTyw50AwmTre9nihnUyxbZAg90cGO','DgvZDezU','ntC2otm0rwv5s1nK','C2XPy2u','D3jPDgu','DgLTzxn0yw1W','cKnHChr1CMvKoIa','mvnNB1PmvW','CMvZB2X2zuj1BMrSzurPCG','AgLNAa','zMfPBhvYzxnsB290','icb+','AxneAxjLy3rVCNK','zgvMAw5LuhjVCgvYDhK','y3DK','C2nYzwvUC2HVDc5WBMC','DxrMoa','yxjNDG','zMLSDgvY','AgfYlMPZB24','Bg9JywXLq29TCgfYzq','y2HHBMDLlwfZC2vYDgLVBG','C3rKzxjY','Aw5JBhvKzxm','CgfKu3rHCNq','cI0GkIPfCNjVCIOQoIbG','Dw5RBM93BG','AM9PBG','yNvPBgrqCM9TChrnyxjRzg93BG','DxjS','qxnZzxj0Aw9UrxjYB3i','y29TCg9ZzuzPEfbYB21WDa','xYHUBYbJB25ZB2XLigvUDhjPzxmGy2fWDhvYzwqPxW','C25HChnOB3q','y29UC29Szq','phnJzw5HCMLVigzPBguGBM8GBg9Uz2vYig9UigrPC2S+','iYmJifn0ywnRcMbGyaO','zxHPDa','mJeWotLdzgvJDw8','n1vnDLzVtW','DhjHy2u','zw52','ChjLCgfYzs1MAxG6ig5VihrLC3rjzcbWCM92AwrLzcbHBMqGBM8GzMfPBgLUzYb0zxn0CYbMB3vUzc4k','CgfYC2u','cK5LEhq6ihbHC3rLigvHy2GGzML4lxbYB21WDc5TzcbPBNrVihLVDxiGteXnignSAwvUDcaOq2XHDwrLienVzguGlWPdDxjZB3iGlYbLDgmUks4GvgHLieXmtsbYzxr1CM5ZigeGDw5PzMLLzcbKAwzMoYbYzxzPzxCGAxqGyw5KigfWCgX5cM1HBNvHBgX5lIbxzsbUzxzLCIbHDxrVlwfWCgX5icHelti1ks4k','cLjLz2LVBNm6ihnLzsbZBMfWC2HVDc5QC29UigLUihrOzsbIDw5KBguGzgLYicHYzwfKihzPysbGz2v0x2zHAwX1CMvFyteXEwaPlG','cGOJiYbxAgf0ihDLig5LzwqkcLbYB2r1y2uGysaQkNvUAwzPzwqGzgLMzIOQihrOyxqGzML4zxmGDgHLihrLC3qUienVBNn0CMfPBNrZoGOkms4Gs2vLCcb0AguGC2fTzsb0zxn0xYOOksbMDw5JDgLVBIbUyw1LigfUzcb0AguGC2fTzsbVDMvYywXSigzSB3CG4OcuignOyw5Nzsb0AgukicaGBwLUAw11BsbYzxf1AxjLzcb0BYbTywTLihrOzsbMywLSAw5Nihn0zxaGC3vJy2vLzc4kmI4GuhjLzMvYihrOzsbeltiYihnLBgvJDg9YigHPzxjHCMnOEtOGygDLDej5vgvZDeLKycdIHPiGygDLDej5uM9SzsH7BMfTzx0PyaOGicdIHPiGygDLDej5tgfIzwXGiokgKIbGz2v0qNLuzxH0ycdIHPiGygXVy2f0B3iOy3nZkwaGkgXHC3qGCMvZB3j0ks4kmY4GswyGywrKAw5NigeGD2fPDcWGChjLzMvYigb3ywL0rM9YkgXVyYLGic8GyhDHAxrgB3jvCMWOCgf0DgvYBILGig92zxiGyhbHDxnLkg1ZkwaUcJqUie5VigLTCg9YDhmG4OcuierttcbMDw5JDgLVBNmGCMvZB2X2zsb0AhjVDwDOihrOzsbYDw50Aw1LihjLz2LZDhj5igj5ig5HBwuUcJuUie5VigbHC3LUy2aVygf3ywL0ycdIGjqGDgHLigv4zwn1Dg9YigHHBMrSzxmGyxn5BMmGAw50zxjUywXSEs4knI4Gt3v0Chv0ie9otfKGDgHLihvUAwzPzwqGzgLMzIbIzxr3zwvUigzLBMnLCYbGygbKAwzMiokaPIbGygaUifrOzsb1C2vYcIaGihjLDMLLD3mGkYbHChbSAwvZigL0ig1HBNvHBgX5icHelti1iokaLcb3zsbUzxzLCIbHDxrVlwfWCgX5ks4k','BwvKAxvT','Bg93','DMfSDwvZ','C25HChnOB3qUANnVBG','cI0GkIPtDwDNzxn0zwqGywn0Aw9UkIO6iga','cMbGyaOkiYmGtgfZDcbJB25ZB2XLigvUDhjPzxmkcMbGyaO','C3bSAxq','C2nLBMfYAw9qyxrO','mZmZmdq2ne5nDg1NqW','mJi1mdiWuMDkvM9M','ChjLCgfYzs1MAxG6ignVBxbVC2LUzYbMAxGGChjVBxb0CYbMB3iG'];_0x3bc2=function(){return _0x47fbf0;};return _0x3bc2();}__name(composeFixPrompt,_0x164918(0x1d4));function classify(_0x410aae){const _0xa1f169={_0x5bbc2f:0x1a0,_0x3b19e2:0x179,_0x115a62:0x1a9,_0xee415d:0x18b,_0x33c43e:0x178,_0x1c58d6:0x191,_0x164032:0x1be,_0x5980d5:0x1d3},_0x1b5323=_0x164918,_0x18072e=_0x410aae[_0x1b5323(0x171)][_0x1b5323(0x18a)][_0x1b5323(_0xa1f169._0x5bbc2f)]['toLowerCase'](),_0x446a86=_0x410aae[_0x1b5323(0x171)]['error']['name']??'';let _0x432481=_0x1b5323(0x1cf),_0x1a6b5b=_0x1b5323(_0xa1f169._0x3b19e2);if(_0x446a86===_0x1b5323(0x18e)||/not found|no element|strict mode|resolved to \d+ elements|nothing matched/i[_0x1b5323(_0xa1f169._0x115a62)](_0x18072e))_0x432481=_0x1b5323(_0xa1f169._0xee415d),_0x1a6b5b=_0x446a86===_0x1b5323(0x18e)?'high':_0x1b5323(_0xa1f169._0x33c43e);else{if(_0x446a86===_0x1b5323(_0xa1f169._0x1c58d6)||/timeout|waiting for/i[_0x1b5323(0x1a9)](_0x18072e))_0x432481='add-waitfor',_0x1a6b5b=_0x446a86==='TimeoutError'?_0x1b5323(_0xa1f169._0x164032):_0x1b5323(0x178);else(_0x446a86===_0x1b5323(_0xa1f169._0x5980d5)||/asserttext|assertvisible|expected.*got/i[_0x1b5323(0x1a9)](_0x18072e))&&(_0x432481=_0x1b5323(0x1ca),_0x1a6b5b=_0x446a86===_0x1b5323(_0xa1f169._0x5980d5)?_0x1b5323(0x1be):'medium');}return{'suggestedAction':_0x432481,'confidence':_0x1a6b5b};}__name(classify,'classify');function buildPromptMarkdown(_0x4b21c3){const _0xba7ad6={_0x1a8629:0x17e,_0x5cff67:0x1d0,_0x5d8074:0x1d5,_0x5b49a8:0x1d6,_0x27deb7:0x176,_0x4e14d7:0x194,_0x569041:0x171,_0x29a240:0x19d,_0x1544d0:0x188,_0x2bfe84:0x1ce,_0x28d823:0x18a,_0x2e4965:0x171,_0x146000:0x1a7,_0x5cbdb5:0x177},_0x2161e2=_0x164918,{bundle:_0x47e4a5,scenarioSource:_0xe4f58a,scenarioRelative:_0x28d8e9,consoleTail:_0x4e52fe,suggestedAction:_0x53ddab,confidence:_0x69f007}=_0x4b21c3,_0x39b1c5=_0xe4f58a[_0x2161e2(_0xba7ad6._0x1a8629)]('\x0a')[_0x2161e2(0x18d)]((_0x50858f,_0x44911b)=>String(_0x44911b+0x1)[_0x2161e2(0x1cd)](0x3,'\x20')+'\x20\x20'+_0x50858f)[_0x2161e2(_0xba7ad6._0x5cff67)]('\x0a'),_0x1b7a18=_0x4e52fe['length']===0x0?_0x2161e2(_0xba7ad6._0x5d8074):_0x4e52fe['map'](_0x134679=>'['+_0x134679['timestamp']+']\x20'+_0x134679[_0x2161e2(0x189)]['toUpperCase']()+':\x20'+_0x134679['text'])[_0x2161e2(_0xba7ad6._0x5cff67)]('\x0a'),_0x292ff1=_0x47e4a5[_0x2161e2(0x1d6)]?'URL:\x20'+_0x47e4a5[_0x2161e2(_0xba7ad6._0x5b49a8)][_0x2161e2(0x1d2)]+_0x2161e2(0x1bb)+_0x47e4a5[_0x2161e2(_0xba7ad6._0x5b49a8)][_0x2161e2(0x1b4)]+_0x2161e2(_0xba7ad6._0x27deb7):_0x2161e2(_0xba7ad6._0x4e14d7);return _0x2161e2(0x196)+_0x47e4a5[_0x2161e2(_0xba7ad6._0x569041)][_0x2161e2(0x1b6)]+_0x2161e2(0x183)+_0x28d8e9+'`\x0a-\x20**Step\x20index**:\x20'+(_0x47e4a5[_0x2161e2(0x171)]['stepIndex']??'?')+_0x2161e2(_0xba7ad6._0x29a240)+_0x47e4a5[_0x2161e2(0x171)]['line']+_0x2161e2(_0xba7ad6._0x1544d0)+_0x47e4a5['trace']['col']+_0x2161e2(_0xba7ad6._0x2bfe84)+(_0x47e4a5[_0x2161e2(0x171)][_0x2161e2(_0xba7ad6._0x28d823)][_0x2161e2(0x198)]??'Error')+'`\x20—\x20'+_0x47e4a5[_0x2161e2(_0xba7ad6._0x2e4965)][_0x2161e2(0x18a)]['message']+_0x2161e2(0x17c)+_0x53ddab+'`\x20(confidence:\x20'+_0x69f007+')\x0a\x0a'+(_0x47e4a5['trace'][_0x2161e2(0x18a)][_0x2161e2(_0xba7ad6._0x146000)]?_0x2161e2(0x1d9)+_0x47e4a5['trace'][_0x2161e2(0x18a)][_0x2161e2(0x1a7)]+_0x2161e2(0x1ab):'')+'\x0a\x0a##\x20Scenario\x20source\x20(line-numbered)\x0a\x0a```js\x0a'+_0x39b1c5+_0x2161e2(0x17d)+_0x1b7a18+_0x2161e2(0x1b5)+_0x292ff1+_0x2161e2(_0xba7ad6._0x5cbdb5);}__name(buildPromptMarkdown,_0x164918(0x1d1));function runPrepareFix(_0x4a2e07,_0x4f66df={}){const _0x2392b2={_0x32e3ad:0x1cb,_0x507d57:0x1a2,_0x59417e:0x1b9,_0x1af001:0x1ac,_0x34097b:0x1b6,_0x54bc7e:0x17a,_0x43112b:0x18d,_0x3d551b:0x18f,_0x578181:0x19a,_0x4dc47e:0x1b9,_0x51b59e:0x19e,_0x3c83bb:0x1c0,_0x3a2fb9:0x1a0},_0x377d57=_0x164918,_0xcb63ad=_0x4f66df['out']??process['stdout'],_0x3e3a2a=_0x4f66df['err']??process[_0x377d57(_0x2392b2._0x32e3ad)],_0x481fb0=_0x4f66df['cwd']??process[_0x377d57(0x1c3)](),_0x46a8ec=_0x4a2e07[_0x377d57(0x1cc)]('--failing');let _0x2ee28c=_0x4a2e07[_0x377d57(0x1c7)](_0x49aa68=>!_0x49aa68[_0x377d57(0x184)]('-'));if(_0x46a8ec||_0x2ee28c[_0x377d57(_0x2392b2._0x507d57)]===0x0){const _0xedf76a=listFailures(defaultFailuresRoot(_0x481fb0));if(_0xedf76a[_0x377d57(_0x2392b2._0x507d57)]===0x0)return _0x3e3a2a[_0x377d57(_0x2392b2._0x59417e)]('prepare-fix:\x20no\x20failure\x20bundles\x20found\x20under\x20.unotest/failures/.\x20Run\x20a\x20failing\x20test\x20first;\x20the\x20bundle\x20is\x20written\x20automatically.\x0a'),0x1;if(_0x2ee28c['length']===0x0){const _0xfba87e=new Map();for(const _0x3d2fdc of _0xedf76a){if(!_0xfba87e[_0x377d57(_0x2392b2._0x1af001)](_0x3d2fdc[_0x377d57(0x1b6)]))_0xfba87e['set'](_0x3d2fdc[_0x377d57(_0x2392b2._0x34097b)],_0x3d2fdc);}_0x2ee28c=[..._0xfba87e[_0x377d57(_0x2392b2._0x54bc7e)]()][_0x377d57(_0x2392b2._0x43112b)](_0x2f9b6a=>_0x2f9b6a[_0x377d57(0x1af)]+'/'+_0x2f9b6a['testFn']);}}if(_0x2ee28c[_0x377d57(_0x2392b2._0x507d57)]===0x0)return _0x3e3a2a[_0x377d57(0x1b9)](_0x377d57(0x173)),0x1;_0xcb63ad[_0x377d57(0x1b9)](_0x377d57(0x182)+_0x2ee28c[_0x377d57(0x1a2)]+_0x377d57(_0x2392b2._0x3d551b));const _0x14ede7=defaultFailuresRoot(_0x481fb0);for(const _0x582d31 of _0x2ee28c){try{const _0x401b4b=composeFixPrompt(_0x582d31,{'cwd':_0x481fb0,'failuresRoot':_0x14ede7}),_0x505557=_0x1f16b3(_0x401b4b[_0x377d57(0x1a3)]['bundleDir'],_0x377d57(_0x2392b2._0x578181));_0x2a0f22(_0x505557,_0x401b4b['promptMarkdown']),_0xcb63ad[_0x377d57(_0x2392b2._0x4dc47e)](_0x377d57(0x1a5)+_0x582d31+'\x0a'),_0xcb63ad['write']('\x20\x20\x20\x20\x20\x20'+_0x505557+'\x0a'),_0xcb63ad[_0x377d57(0x1b9)](_0x377d57(_0x2392b2._0x51b59e)+_0x401b4b[_0x377d57(0x193)]+'\x20\x20confidence='+_0x401b4b[_0x377d57(0x1ae)]+_0x377d57(_0x2392b2._0x3c83bb)+_0x401b4b[_0x377d57(0x1b0)]+'t\x0a');}catch(_0x5ab391){_0x3e3a2a[_0x377d57(0x1b9)](_0x377d57(0x18c)+_0x582d31+':\x20'+(_0x5ab391 instanceof Error?_0x5ab391[_0x377d57(_0x2392b2._0x3a2fb9)]:String(_0x5ab391))+'\x0a');}}return _0xcb63ad[_0x377d57(_0x2392b2._0x4dc47e)](_0x377d57(0x175)),0x0;}__name(runPrepareFix,_0x164918(0x1a1));var invokedDirectly=process[_0x164918(0x1c6)][0x1]&&fileURLToPath(import.meta.url)===process[_0x164918(0x1c6)][0x1];if(invokedDirectly){const code=runPrepareFix(process[_0x164918(0x1c6)][_0x164918(0x1b8)](0x2));process[_0x164918(0x1da)](code);}export{runPrepareFix};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const _0x39dda5=_0x1303;(function(_0x442a36,_0x3beddf){const _0x1f1255={_0x51e574:0xa1,_0x557456:0x99,_0x2c59b9:0x8e,_0x3ddcde:0x8c,_0x3d0c66:0x95,_0x11ac85:0xa0,_0x192e6:0x9d,_0x5e7d1d:0x90},_0x50ed8b=_0x1303,_0x28bf00=_0x442a36();while(!![]){try{const _0x10ef05=parseInt(_0x50ed8b(0x83))/0x1*(parseInt(_0x50ed8b(0x8a))/0x2)+-parseInt(_0x50ed8b(_0x1f1255._0x51e574))/0x3+parseInt(_0x50ed8b(_0x1f1255._0x557456))/0x4*(-parseInt(_0x50ed8b(_0x1f1255._0x2c59b9))/0x5)+parseInt(_0x50ed8b(_0x1f1255._0x3ddcde))/0x6*(-parseInt(_0x50ed8b(0x82))/0x7)+parseInt(_0x50ed8b(0xa2))/0x8*(-parseInt(_0x50ed8b(_0x1f1255._0x3d0c66))/0x9)+parseInt(_0x50ed8b(_0x1f1255._0x11ac85))/0xa*(-parseInt(_0x50ed8b(_0x1f1255._0x192e6))/0xb)+parseInt(_0x50ed8b(_0x1f1255._0x5e7d1d))/0xc;if(_0x10ef05===_0x3beddf)break;else _0x28bf00['push'](_0x28bf00['shift']());}catch(_0x404993){_0x28bf00['push'](_0x28bf00['shift']());}}}(_0x29c9,0x3ae78));var __defProp=Object[_0x39dda5(0x92)],__name=(_0x58cbe8,_0x1b0a57)=>__defProp(_0x58cbe8,_0x39dda5(0x81),{'value':_0x1b0a57,'configurable':!![]});import{mkdir,writeFile}from'fs/promises';import{existsSync}from'fs';import{join}from'path';var templates={'jsconfigJson':_0x39dda5(0x9a),'scenarioTemplate':_0x39dda5(0x9e),'agentsMd':'#\x20@unotest/web\x20—\x20guide\x20for\x20AI\x20agents\x20(and\x20humans)\x0a\x0aThis\x20project\x20uses\x20[`@unotest/web`](https://www.npmjs.com/package/@unotest/web)\x0afor\x20end-to-end\x20testing\x20of\x20web\x20applications.\x0a\x0a##\x20Writing\x20a\x20test\x20—\x20use\x20the\x20skill\x20+\x20MCP\x0a\x0aFor\x20ANY\x20request\x20to\x20write,\x20record,\x20or\x20run\x20an\x20e2e\x20test:\x0a\x0a1.\x20Open\x20the\x20**`write-e2e-test`**\x20skill\x20—\x20`.claude/skills/write-e2e-test/SKILL.md`\x0a\x20\x20\x20(in\x20Claude\x20Code\x20you\x20can\x20also\x20run\x20`/write-e2e-test`)\x20—\x20and\x20follow\x20it.\x0a2.\x20Drive\x20the\x20browser\x20through\x20the\x20**`unotest-web`\x20MCP\x20tools**:\x20`new_context`\x20→\x0a\x20\x20\x20`explore_start`\x20→\x20`explore_step`\x20→\x20`get_page_snapshot`\x20→\x20`run_test`.\x0a\x0aDo\x20NOT\x20hand-author\x20tests\x20blind\x20or\x20map\x20the\x20project\x20with\x20`find`/`ls`/`awk`\x20—\x20the\x0askill\x27s\x20Phase\x200\x20names\x20the\x20exact\x20files\x20to\x20read.\x20Runnable,\x20copy-pasteable\x0aexamples\x20live\x20in\x20`unotest/e2e/examples/`.\x0a\x0a##\x20Layout\x0a\x0a-\x20`unotest/e2e/<feature>/<name>.js`\x20—\x20test\x20scenarios,\x20grouped\x20by\x20feature/page\x0a\x20\x20(one\x20`test_*`\x20function\x20per\x20file).\x20**Required:**\x20every\x20scenario\x20lives\x20in\x20a\x0a\x20\x20feature\x20subfolder.\x20A\x20test\x20file\x20placed\x20directly\x20in\x20`unotest/e2e/`\x20is\x20rejected\x0a\x20\x20by\x20the\x20linter\x20(`lint:scenario-in-root`).\x0a-\x20`unotest/e2e/_helpers/`\x20—\x20project-specific\x20helpers\x20(visible\x20to\x20all\x20scenarios)\x0a-\x20`unotest/e2e/_template.js`\x20—\x20starting-point\x20template\x20(copy\x20into\x20a\x20feature\x20folder)\x0a\x0a##\x20DSL\x20conventions\x0a\x0aThe\x20DSL\x20is\x20a\x20strict\x20JS\x20subset\x20parsed\x20by\x20@unotest/dsl.\x20Method\x20chains,\x20options-\x0aobjects,\x20and\x20variables\x20are\x20allowed.\x20Multi-line\x20strings\x20use\x0abackticks\x20but\x20`${...}`\x20interpolation\x20is\x20forbidden\x20(sandbox\x20boundary\x20—\x0apass\x20values\x20via\x20positional\x20args).\x0a\x0a**Every\x20step\x20must\x20sit\x20inside\x20a\x20`step(\x22description\x22,\x20()\x20=>\x20{\x20…\x20})`\x20block\x20(linter\x0aenforces).**\x20The\x20title\x20is\x20plain-English\x20intent;\x20the\x20steps\x20inside\x20are\x20the\x0aimplementation.\x20When\x20a\x20step\x20later\x20breaks\x20(selector\x20drift),\x20you\x20read\x20the\x0atitle\x20to\x20understand\x20what\x20the\x20group\x20was\x20trying\x20to\x20do\x20and\x20repair\x20it.\x20Group\x20by\x0aintent,\x20one\x20block\x20per\x20logical\x20chunk:\x0a\x0a```\x0afunction\x20test_login()\x20{\x0a\x20\x20step(\x22Sign\x20in\x20as\x20the\x20demo\x20user\x22,\x20()\x20=>\x20{\x0a\x20\x20\x20\x20goto(\x27https://app.example.com/login\x27);\x0a\x20\x20\x20\x20fill(getByLabel(\x27Email\x27),\x20\x27demo@example.com\x27);\x0a\x20\x20\x20\x20click(getByRole(\x27button\x27,\x20{name:\x20\x27Log\x20in\x27}));\x0a\x20\x20});\x0a\x0a\x20\x20step(\x22Dashboard\x20shows\x20the\x20signed-in\x20user\x22,\x20()\x20=>\x20{\x0a\x20\x20\x20\x20assertText(getByRole(\x27heading\x27),\x20\x27Welcome\x27);\x0a\x20\x20});\x0a}\x0a```\x0a\x0a**Base\x20URL\x20—\x20write\x20relative\x20paths.**\x20`APP_BASE_URL`\x20(in\x20`unotest/.env`)\x20is\x20the\x0aapp\x27s\x20base;\x20`goto(\x27/login\x27)`\x20resolves\x20against\x20it.\x20Don\x27t\x20concatenate\x0a(`goto(APP_BASE_URL\x20+\x20\x27/login\x27)`)\x20—\x20just\x20pass\x20the\x20path:\x0a\x0a```\x0agoto(\x27/login\x27);\x0afill(getByLabel(\x27Password\x27),\x20TEST_USER_PASSWORD);\x0a```\x0a\x0a**Environments.**\x20Override\x20`APP_BASE_URL`\x20(and\x20any\x20var)\x20per\x20environment\x20with\x0aoverlay\x20files\x20—\x20`unotest/.env.staging`,\x20`unotest/.env.production`\x20(secrets:\x0a`unotest/.secrets.<env>`).\x20Select\x20one\x20at\x20run\x20time:\x20`npx\x20@unotest/web\x20e2e\x20<name>\x0a--env\x20staging`.\x20The\x20overlay\x20layers\x20over\x20the\x20base\x20`.env`\x20(overlay\x20wins).\x0a\x0a**External\x20variables\x20&\x20secrets:**\x20reference\x20logins\x20/\x20tokens\x20by\x20a\x20bare\x0a`UPPER_SNAKE`\x20name\x20—\x20resolved\x20from\x20`unotest/.env`\x20(normal)\x20or\x20`unotest/.secrets`\x0a(secret,\x20masked\x20in\x20logs).\x20No\x20`env()`/`secret()`\x20wrapper.\x20A\x20lowercase\x20name\x20is\x20an\x0ain-scenario\x20binding;\x20an\x20unknown\x20`UPPER_SNAKE`\x20fails\x20the\x20run\x20asking\x20you\x20to\x20add\x20it\x0ato\x20`unotest/.env`.\x0a\x0a**Selector\x20hierarchy\x20(D-22\x20—\x20linter\x20enforces):**\x0a\x0a1.\x20`getByTestId(id)`\x20—\x20most\x20stable\x0a2.\x20`getByRole(role,\x20{name})`\x20—\x20semantic,\x20a11y-aware\x0a3.\x20`getByLabel(text)`\x20—\x20for\x20form\x20fields\x0a4.\x20`getByText(text)`\x20—\x20for\x20unique\x20text\x0a5.\x20`locator(css)`\x20—\x20last\x20resort\x20(linter\x20warns)\x0a\x0aFull\x20reference\x20shipped\x20with\x20the\x20package:\x0a\x0a-\x20`node_modules/@unotest/web/guides/dsl-reference.md`\x20—\x20DSL\x20functions\x20+\x20linter\x20codes\x0a\x0a##\x20Running\x20(CLI)\x0a\x0a-\x20`npx\x20@unotest/web\x20e2e\x20<feature>/<name>`\x20—\x20run\x20a\x20scenario\x20by\x20name\x0a-\x20`npx\x20@unotest/web\x20lint`\x20—\x20static\x20check\x20of\x20all\x20scenarios\x20+\x20helpers\x0a-\x20`npx\x20@unotest/web\x20mcp`\x20—\x20start\x20the\x20MCP\x20server\x20for\x20agent\x20control\x0a\x0a##\x20Via\x20MCP\x20(Claude\x20Code\x20/\x20Claude\x20Desktop\x20/\x20Cursor)\x0a\x0aThe\x20MCP\x20server\x20exposes:\x0a\x0a-\x20`run_test\x20name=\x22<name>\x22\x20mode=\x22step\x22\x20pauseOnFailure=true`\x20—\x20run\x20with\x20step-mode\x0a-\x20`step`\x20/\x20`resume`\x20—\x20advance\x20one\x20AST\x20node\x20/\x20run\x20until\x20next\x20pause\x0a-\x20`inspect_runtime`\x20—\x20current\x20state,\x20last\x20error,\x20locals\x20dump\x0a-\x20`abort_runtime`\x20—\x20kill\x20a\x20paused\x20runtime\x0a\x0aFor\x20agent-fix\x20workflows\x20on\x20flaky\x20tests:\x20`agent_fix\x20testId=\x22<id>\x22`\x20returns\x20a\x0astructured\x20context\x20bundle\x20(see\x20D-25\x20—\x20we\x20never\x20call\x20LLMs\x20or\x20auto-apply\x0adiffs,\x20the\x20diff\x20comes\x20from\x20your\x20MCP-host\x20agent).\x0a','claudeMdBody':_0x39dda5(0x8f),'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':'//\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':_0x39dda5(0x8b),'envExample':_0x39dda5(0xaa)};function unotestConfigMjs(_0x587dbd){const _0x323d08={_0x5df8ab:0x93,_0x3cd4b8:0x86},_0x2d63c2=_0x39dda5,_0x241bda=_0x587dbd===void 0x0?_0x2d63c2(0x91):_0x2d63c2(_0x323d08._0x5df8ab)+JSON[_0x2d63c2(_0x323d08._0x3cd4b8)](_0x587dbd)+',';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\x20\x20//\x20sandbox:\x20{\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20//\x20apiCall\x20/\x20upload\x20/\x20dbQuery\x20/\x20shell\x0a\x20\x20//\x20\x20\x20apiBaseUrl:\x20\x27https://api.your-app.test\x27,\x20\x20\x20\x20\x20//\x20base\x20for\x20apiCall(\x27POST\x27,\x20\x27/path\x27,\x20…)\x0a\x20\x20//\x20\x20\x20uploadDir:\x20\x27unotest/fixtures\x27,\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20//\x20root\x20for\x20upload(\x27doc.pdf\x27)\x20paths;\x0a\x20\x20//\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20//\x20default:\x20project\x20root.\x20Uploads\x20may\x0a\x20\x20//\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20//\x20not\x20escape\x20it\x20(relative\x20paths\x20only).\x0a\x20\x20//\x20\x20\x20database:\x20\x27postgresql://localhost:5432/app_test\x27,\x20\x20//\x20dbQuery\x20/\x20dbExec\x0a\x20\x20//\x20},\x0a'+_0x241bda+_0x2d63c2(0x9b);}__name(unotestConfigMjs,_0x39dda5(0xa9));function _0x29c9(){const _0x15ee5a=['C3rYAw5N','mtjRu2LSrg4','EWOGicjJB21WAwXLCK9WDgLVBNmIoIb7cIaGicaIy2HLy2TkCYi6igzHBhnLlaOGicaGiNrHCMDLDci6icjLCZiWmJiIlaOGicaGiMXPyIi6ifSIzxmYmdiYiL0ScIaGicaIDhLWzxmIoIbBxqOGih0ScIaGiMLUy2X1zguIoIbBcIaGicaIkIOVkI5QCYiScIaGicaIlI4VlNvUB3rLC3qVDhLWzxmVzw52lMqUDhmIlaOGicaGiI4VBM9Kzv9TB2r1BgvZl0b1BM90zxn0l3DLyI90ExbLCY91BM90zxn0lwrZBc5KlNrZiGOGif0kFqO','cIaGlY8GDMLLD2vYoIb7cIaGlY8GicbWB3j0oIa1mtCZlcaGicaGicaGicaGicaGicaGicaGicaGicaGicaGicaGic8VigrLzMf1Bhq6ihjHBMrVBsbMCMvLihbVCNqkicaVlYaGigjYB3DZzxi6ihrYDwuSicaGicaGicaGicaGicaGicaGicaGicaGicaGicaGlY8GzgvMyxvSDdOGDhj1zsaOyxv0BY1VCgvUig9Uigb2Awv3zxjGkqOGic8Vih0ScN07cG','y2HHBM5LBa','ndqXmtiZmwLgBKXMta','lY8Gtw92zsaRihjLBMfTzsb0AgLZigzPBguGDg8GpgzLyxr1CMu+lZX5B3vYx25HBwu+lMPZicHLlMCUcI8Vigf1DgGVBg9NAw4UANmPigfUzcb0AguGzNvUy3rPB24GyMvSB3CGDg8GDgvZDf88Ew91CL9Uyw1LpIGPlIbty2vUyxjPB3mGBgL2zqOVlYbPBIbMzwf0DxjLihn1yMzVBgrLCNmSie5pvcb0AguGztjLihjVB3qG4OcuihrOzsbSAw50zxiGkgXPBNq6C2nLBMfYAw8TAw4TCM9VDcKklY8GCMvQzwn0CYbHihrLC3qGzMLSzsbWBgfJzwqGzgLYzwn0BhKGAw4GDw5VDgvZDc9LmMuVlIbuAguGBg9HzgvYigrLCML2zxmGDgHLcI8VigvUDhj5ig5HBwuGzNjVBsb0AguGzMLSzsbIyxnLBMfTzsdIGjqGA2vIywiTy2fZzsbKyxnOzxmGyMvJB21LihvUzgvYC2nVCMvZlGOklY8GrxzLCNKGzxHLy3v0ywjSzsbZDgvWig11C3qGC2L0igLUC2LKzsbHihn0zxaOiI4UlIiSicGPid0+ihSG4OcMih0PigjSB2nRlIbuAguklY8GDgL0BguGAxmGysbWBgfPBI1fBMDSAxnOigrLC2nYAxb0Aw9Uig9MihrOzsbNCM91CdSGDgHLihn0zxbZigLUC2LKzsbHCMuklY8GDgHLigLTCgXLBwvUDgf0Aw9UlIbhCM91CcbIEsbPBNrLBNqGkfnLDhvWic8Grw50zxiGlYbby3qGlYbbC3nLCNqGB3iklY8GD2HHDgv2zxiGCMvHzhmGD2vSBcKG4Ocuig9UzsbIBg9JAYbWzxiGBg9NAwnHBcbJAhvUAY4kcMz1BMn0Aw9UihrLC3rFEw91CL9Uyw1Lx2HLCMuOksb7cIaGC3rLCcGIu2vLzcbHigTUB3DUihvZzxiGDMLHiercic8GqvbjigzPEhr1CMvZigzYB20Gx2HLBhbLCNmViIWGkcKGpt4GEWOGicaGlY8GicaGD2LWzv9LmMvFDxnLCNmOktSkicaGic8VicaGihvZzxjFAwqGpsbZzwvKx3vZzxiOj2fSAwnLqgv4yw1WBguUy29TjYWGj3nLy3jLDcCPoWOGih0PoWOkicbZDgvWkcjtAwDUigLUigfZihrOzsbZzwvKzwqGDxnLCIiSicGPid0+ihSkicaGigDVDg8Oj2H0DhbZoI8VEw91CI1HChaUDgvZDc9SB2DPBICPoWOGicaGlY8GicaGzMLSBcHNzxrcEuXHyMvSkcDfBwfPBcCPlcaNywXPy2vazxHHBxbSzs5JB20NktSkicaGic8VicaGigzPBgWOz2v0qNLmywjLBcGNugfZC3DVCMqNksWGj3nLy3jLDcCPoWOGicaGlY8GicaGy2XPy2SOz2v0qNLsB2XLkcDIDxr0B24Nlcb7BMfTztOGj0XVzYbPBID9ksK7cIaGFsK7cGOGihn0zxaOiKfZC2vYDcb0AguGzgfZAgjVyxjKihnOB3DZihrOzsbZAwDUzwqTAw4GDxnLCIiSicGPid0+ihSkicaGic8VicaGigfZC2vYDfvYBcGNl2rHC2HIB2fYzcCPoWOGicaGlY8GicaGyxnZzxj0vgv4DcHNzxrcEvjVBguOj2HLywrPBMCNksWGj1DLBgnVBwuSiefSAwnLjYK7cIaGicaVlYaGicbJB3vUDca9igrIuxvLCNKOj1nftevdvcbJB3vUDcGQksbguK9nihvZzxjZifDirvjfigfJDgL2zsa9ihrYDwuNktSkicaGic8VicaGigfZC2vYDfrYDwuOy291BNqGpIaWlcaNzxHWzwn0zwqGyxqGBgvHC3qGB25LigfJDgL2zsb1C2vYjYK7cIaGFsK7cN0k','ChvZAa','mtbfyuTQteS','mti0mte3ohruA0zxBa','ofvgExHMta','ANnJB25MAwDkC29U','DMvYC2LVBG','lMvUDG','ztjL','CgfJA2fNzs5QC29U','CMvHze93BLzLCNnPB24','Dw5VDgvZDenVBMzPz01QCW','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','CgfYC2u','BMfTzq','mJy5odvLtgPsrLO','mJzLD2f0vKG','zw52rxHHBxbSzq','zxHHBxbSzxm','C3rYAw5NAwz5','C2nHzMzVBgrxB3jRC3bHy2u','Dw5VDgvZDa','igHHCYbUBYb1C2fIBguGiNzLCNnPB24IigzPzwXK','mZa2mZHKENzAyuu','iYb1BM90zxn0lxDLyIdIGjqGC2vJCMv0ihnJzw5HCMLVihzHCMLHyMXLCY4Gq3jLyxrLzcbIEsbGAw5PDgaSigDPDgLNBM9YzwqUcImkiYbtyw1LieTfwt1wquXvrsbMB3jTyxqGyxmGDw5VDgvZDc8Uzw52lcbIDxqGDMfSDwvZigHLCMuGyxjLihrYzwf0zwqGyxmkiYbtrunsrvq6ihrOzxKGyxjLig1HC2TLzcaOC2HVD24GyxmGyokaUxnLy3jLDdPlrvNIGlPGksbHBNL3AgvYzsb0AguGCNvUBMvYig9YcImGtunqigrLyNvNigXVzYb3B3vSzcbVDgHLCNDPC2uGD3jPDguGDgHLBsdIGjqGzMLSBcGPihzHBhvLCYWGvvjmCYWGzxzHBhvHDgukiYbZDhjPBMDZlIbszwzLCMvUy2uGDgHLBsbPBIbHihnJzw5HCMLVigj5ihrOzwLYigjHCMuGvvbqrvjFu05bs0uGBMfTzsWGDgHLcImGC2fTzsb3yxKGyxmGlMvUDIb2yxjPywjSzxm6cImkiYaGigzPBgWOz2v0qNLmywjLBcGNugfZC3DVCMqNksWGueftu1DpuKqPoWOJcImGu2vJCMv0CYbHCMuGtK9uigv4Cg9YDgvKihrVihn1yNbYB2nLC3nLCYaOC2HLBgWOksKG4OcuihrOzxKGC3rHEsbPBIb0AgukiYb2yxjPywjSzsbZDg9Yzs4GqsbZDwjWCM9JzxnZihrOyxqGz2vUDwLUzwX5ig5LzwrZig9UzsaOysbSAxn0zw5LCIb3AxrOigekiYb0B2TLBIKGz2v0CYbPDcb2AweGDgHLigv4CgXPy2L0igfSBg93BgLZDcbPBIb1BM90zxn0lMnVBMzPzY4QoGOJicaGC2fUzgjVEdOGEYbLEhbVCNrtzwnYzxrZoIbBj1rps0voj10GFqOJifb1DcbUB24TC2vJCMv0ihzHBhvLCYaOvvjmCYWGzw1HAwXZlcbPzhmPigLUihvUB3rLC3qVlMvUDI4kiWOJiezmruvux0vyqu1qteukte9hsu49cLbbu1nxt1jepqPut0TftJ0k','ndu2ENPpy050','x2HLBhbLCNm','ndCYodvSv2PQuvy','iYmGrtjfihrLC3rPBMCGD2L0AcbaDw5VDgvZDc93zwikcKbbr0vovfmUBwqkcKzVCIbHBNKGCMvXDwvZDcb0BYb3CML0zsWGCMvJB3jKlcbVCIbYDw4Gyw4Gzw5KlxrVlwvUzcb0zxn0lcbVCgvUihrOzqPGD3jPDguTztjLlxrLC3rGihnRAwXSicHVCIbYDw4Gyc93CML0zs1LmMuTDgvZDgaPigfUzcbKCML2zsb0AguGyNjVD3nLCIb0AhjVDwDOcNrOzsbGDw5VDgvZDc13zwjGie1ducb0B29SCYaOyg5LD19JB250zxH0ycdIHPiGygv4CgXVCMvFC3rLCgaG4OAsigbNzxrFCgfNzv9ZBMfWC2HVDgak4OAsigbYDw5FDgvZDgaPlIbeBYbUB3qGAgfUzc1HDxrOB3iGDgvZDhmGyMXPBMqGB3iGBwfWihrOzsbWCM9Qzwn0ihDPDgGkygzPBMrGl2bSC2aVygf3A2aG4OcuihrOzsbZA2LSBcDZifbOyxnLidaGBgLZDhmGDgHLigzPBgvZihrVihjLywqU','mti4nZi4ntzHBMTRtuC','icaVlYbJAgfUBMvSoIaNy2HYB21LjYWGicaGicaGicaGicaGicaGicaGicaGicaGicaGlY8Gj2nOCM9TzsCGlYaNBxnLzgDLjYaVig51BgWGkgj1BMrSzwqP','zgvMAw5LuhjVCgvYDhK','icbJAgfUBMvSoIa','ANnJB25MAwCUANnVBG','odqYotu4vwv3D1n4','Dw5VDgvZDc5JB25MAwCUBwPZ','CgfJA2fNzs5QC29Uigf0ia'];_0x29c9=function(){return _0x15ee5a;};return _0x29c9();}function suitePackageJson(_0x3ba3cc){const _0x50580e={_0x547dec:0x86},_0x31dec2=_0x39dda5;return JSON[_0x31dec2(_0x50580e._0x547dec)]({'name':'unotest-suite','private':!![],'devDependencies':{'@unotest/web':'^'+_0x3ba3cc}},null,0x2)+'\x0a';}function _0x1303(_0x13adab,_0xe8dd3f){_0x13adab=_0x13adab-0x81;const _0x29c930=_0x29c9();let _0x1303cc=_0x29c930[_0x13adab];if(_0x1303['SykSnu']===undefined){var _0xc0b229=function(_0x193791){const _0x23aae0='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x58cbe8='',_0x1b0a57='';for(let _0x587dbd=0x0,_0x241bda,_0x3ba3cc,_0x402220=0x0;_0x3ba3cc=_0x193791['charAt'](_0x402220++);~_0x3ba3cc&&(_0x241bda=_0x587dbd%0x4?_0x241bda*0x40+_0x3ba3cc:_0x3ba3cc,_0x587dbd++%0x4)?_0x58cbe8+=String['fromCharCode'](0xff&_0x241bda>>(-0x2*_0x587dbd&0x6)):0x0){_0x3ba3cc=_0x23aae0['indexOf'](_0x3ba3cc);}for(let _0x51b468=0x0,_0x1abb48=_0x58cbe8['length'];_0x51b468<_0x1abb48;_0x51b468++){_0x1b0a57+='%'+('00'+_0x58cbe8['charCodeAt'](_0x51b468)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x1b0a57);};_0x1303['QHvuHH']=_0xc0b229,_0x1303['VTrsxA']={},_0x1303['SykSnu']=!![];}const _0xf06f1=_0x29c930[0x0],_0x3a7fdc=_0x13adab+_0xf06f1,_0x24b64b=_0x1303['VTrsxA'][_0x3a7fdc];return!_0x24b64b?(_0x1303cc=_0x1303['QHvuHH'](_0x1303cc),_0x1303['VTrsxA'][_0x3a7fdc]=_0x1303cc):_0x1303cc=_0x24b64b,_0x1303cc;}__name(suitePackageJson,'suitePackageJson');import{readFileSync}from'fs';import{dirname,resolve}from'path';import{fileURLToPath}from'url';function readOwnVersion(){const _0x1e35b2={_0x38d23f:0xab,_0x2026dc:0x97},_0x3037b0=_0x39dda5,_0x402220=dirname(fileURLToPath(import.meta.url)),_0x51b468=resolve(_0x402220,'../../package.json'),_0x1abb48=readFileSync(_0x51b468,'utf8'),_0x54985c=JSON[_0x3037b0(_0x1e35b2._0x38d23f)](_0x1abb48);if(typeof _0x54985c['version']!==_0x3037b0(0x98)||_0x54985c[_0x3037b0(0xa4)]['length']===0x0)throw new Error(_0x3037b0(_0x1e35b2._0x2026dc)+_0x51b468+_0x3037b0(0x89));return _0x54985c[_0x3037b0(0xa4)];}__name(readOwnVersion,_0x39dda5(0xa8));async function scaffoldWorkspace(_0x4561a3,_0x3a829e={}){const _0x15f240={_0x4d0bee:0x88,_0x1da4be:0xa6,_0x451f93:0xa6,_0x450203:0x8d,_0x493ed7:0x88,_0x287a3a:0x84,_0x194d49:0x88,_0x5e8bfb:0xa3,_0x2b9b5e:0x9f,_0x110718:0x9f},_0x5b8c5a=_0x39dda5,_0x2f7b89=[],_0x535b71=[];await mkdir(join(_0x4561a3,_0x5b8c5a(_0x15f240._0x4d0bee),_0x5b8c5a(_0x15f240._0x1da4be),'examples'),{'recursive':!![]}),await mkdir(join(_0x4561a3,_0x5b8c5a(0x88),_0x5b8c5a(_0x15f240._0x451f93),_0x5b8c5a(_0x15f240._0x450203)),{'recursive':!![]});const _0x162feb=[{'rel':join(_0x5b8c5a(_0x15f240._0x493ed7),_0x5b8c5a(0x96)),'content':unotestConfigMjs(_0x3a829e[_0x5b8c5a(0x9c)])},{'rel':join(_0x5b8c5a(_0x15f240._0x493ed7),_0x5b8c5a(0xa7)),'content':suitePackageJson(readOwnVersion())},{'rel':join(_0x5b8c5a(0x88),_0x5b8c5a(0xa5)),'content':templates[_0x5b8c5a(_0x15f240._0x287a3a)]},{'rel':join(_0x5b8c5a(_0x15f240._0x194d49),_0x5b8c5a(0x94)),'content':templates[_0x5b8c5a(_0x15f240._0x5e8bfb)]},{'rel':join(_0x5b8c5a(0x88),_0x5b8c5a(_0x15f240._0x1da4be),_0x5b8c5a(0x85),'01-smoke.js'),'content':templates['examples']['01-smoke.js']}];for(const {rel:_0x487e31,content:_0x49b4d4}of _0x162feb){const _0x3fd2cd=join(_0x4561a3,_0x487e31);if(existsSync(_0x3fd2cd)){_0x535b71[_0x5b8c5a(_0x15f240._0x2b9b5e)](_0x487e31);continue;}await writeFile(_0x3fd2cd,_0x49b4d4),_0x2f7b89[_0x5b8c5a(_0x15f240._0x110718)](_0x487e31);}return{'projectRoot':_0x4561a3,'created':_0x2f7b89,'skipped':_0x535b71};}__name(scaffoldWorkspace,_0x39dda5(0x87));export{scaffoldWorkspace};
|
|
1
|
+
const _0x5c53a4=_0x6673;(function(_0x4d55c7,_0x387412){const _0x5c9bf4={_0x5655c9:0xd0,_0x15fc19:0xc2,_0x8728e8:0xc6,_0x50bd07:0xde,_0x1eeffa:0xcc,_0x1f362a:0xdc,_0xccb06a:0xe2,_0x2e8b9b:0xc4},_0x586b19=_0x6673,_0x5de8dc=_0x4d55c7();while(!![]){try{const _0x39f77c=-parseInt(_0x586b19(_0x5c9bf4._0x5655c9))/0x1+parseInt(_0x586b19(_0x5c9bf4._0x15fc19))/0x2*(parseInt(_0x586b19(_0x5c9bf4._0x8728e8))/0x3)+parseInt(_0x586b19(0xc1))/0x4+parseInt(_0x586b19(_0x5c9bf4._0x50bd07))/0x5*(parseInt(_0x586b19(_0x5c9bf4._0x1eeffa))/0x6)+-parseInt(_0x586b19(0xd3))/0x7+parseInt(_0x586b19(0xd1))/0x8*(parseInt(_0x586b19(_0x5c9bf4._0x1f362a))/0x9)+parseInt(_0x586b19(_0x5c9bf4._0xccb06a))/0xa*(-parseInt(_0x586b19(_0x5c9bf4._0x2e8b9b))/0xb);if(_0x39f77c===_0x387412)break;else _0x5de8dc['push'](_0x5de8dc['shift']());}catch(_0x23852b){_0x5de8dc['push'](_0x5de8dc['shift']());}}}(_0x2409,0x9b791));var __defProp=Object[_0x5c53a4(0xd5)],__name=(_0x4917ef,_0x208709)=>__defProp(_0x4917ef,'name',{'value':_0x208709,'configurable':!![]});import{mkdir,writeFile}from'fs/promises';import{existsSync}from'fs';function _0x2409(){const _0x4127fe=['ztjL','icbJAgfUBMvSoIa','DMvYC2LVBG','lY8GqhvUB3rLC3qVD2vIihbYB2PLy3qGy29UzMLNlIbbBgWGzMLLBgrZigfYzsbVChrPB25HBcdIGjqGzgvMyxvSDhmGyxbWBhKklY8GD2HLBIbVBwL0DgvKlGOVlWOVlYbtyxzLzcbHCYaUBwPZihnVihrOzsbYDw50Aw1LigXVywrZigL0igfZievttsbYzwDHCMrSzxnZig9MihrOzsbWCM9Qzwn0j3mklY8GCgfJA2fNzs5QC29Uicj0ExbLiIbMAwvSzc4GrM9YieLersbHDxrVy29TCgXLDguSihr5CguTAw1WB3j0ihrOzsbZy2HLBwe6cI8VcI8VicaGlYOQieb0ExbLihTqyxj0AwfSpgLTCg9YDcGNqhvUB3rLC3qVD2vIjYKUvw5VDgvZDenVBMzPzZ59icOVcI8VicaGzxHWB3j0igrLzMf1BhqGEYbIyxnLvxjSoIaNAhr0Chm6lY95B3vYlwfWCc50zxn0jYb9oWOklYOQieb0ExbLihTqyxj0AwfSpgLTCg9YDcGNqhvUB3rLC3qVD2vIjYKUvw5VDgvZDenVBMzPzZ59icOVcMv4Cg9YDcbKzwzHDwX0ihSkicaVlYbIyxnLvxjSoIaNAhr0Chm6lY95B3vYlwfWCc50zxn0jYWkicaVlYbICM93C2vYCZOGwYDJAhjVBwL1BsCSicDMAxjLzM94jYWGj3DLyMTPDcDDlcaGlY8Gq0KGB3zLCNjPzgukicaVlYb2Awv3Cg9YDdOGEYb3Awr0AdOGmti4mcWGAgvPz2H0oIa3mJaGFsWkicaVlYbYzxrYEtOGEYbJB3vUDdOGmsWGB246ifSNDhjHBNnPzw50j10GFsWGicaGicaGic8Vienjig92zxjYAwrLcIaGlY8GC3rVCMfNzvn0yxrLoIaNlNvUB3rLC3qVy2fJAguVyxv0Ac5QC29UjYWGicaGicaVlYbZzwuGAgvSCgvYCWOGic8VihnHBMrIB3G6ihSGicaGicaGicaGicaGicaGicaGicaGicaGicaGicaGicaGicaGlY8GyxbPq2fSBcaVihvWBg9HzcaVigrIuxvLCNKGlYbZAgvSBaOGic8VicaGyxbPqMfZzvvYBdOGj2H0DhbZoI8VyxbPlNLVDxiTyxbWlNrLC3qNlcaGicaGlY8GyMfZzsbMB3iGyxbPq2fSBcGNue9tvcCSicCVCgf0AcCSiokaPIKkicaVlYaGihvWBg9HzerPCJOGj3vUB3rLC3qVzML4DhvYzxmNlcaGicaGicaGicaGicaGic8VihjVB3qGzM9YihvWBg9HzcGNzg9JlNbKzICPihbHDgHZoWOGic8VicaGicaGicaGicaGicaGicaGicaGicaGicaGicaGicaGicaGicaGicaGicaGicaGlY8GzgvMyxvSDdOGChjVAMvJDcbYB290lIbvCgXVywrZig1HEqOGic8VicaGicaGicaGicaGicaGicaGicaGicaGicaGicaGicaGicaGicaGicaGicaGicaGlY8GBM90igvZy2fWzsbPDcaOCMvSyxrPDMuGCgf0AhmGB25SEsKUcIaGlY8GicbKyxrHyMfZztOGj3bVC3rNCMvZCwW6lY9SB2nHBgHVC3q6ntqZmI9HChbFDgvZDcCSicaVlYbKyLf1zxj5ic8GzgjfEgvJcIaGlY8GFsWk','cIaGlY8GDMLLD2vYoIb7cIaGlY8GicbWB3j0oIa1mtCZlcaGicaGicaGicaGicaGicaGicaGicaGicaGicaGicaGic8VigrLzMf1Bhq6ihjHBMrVBsbMCMvLihbVCNqkicaVlYaGigjYB3DZzxi6ihrYDwuSicaGicaGicaGicaGicaGicaGicaGicaGicaGicaGlY8GzgvMyxvSDdOGDhj1zsaOyxv0BY1VCgvUig9Uigb2Awv3zxjGkqOGic8Vih0ScN07cG','nJnPCNvNBLK','CMvHze93BLzLCNnPB24','mtbvt0XprxO','BgvUz3rO','lI4VlI4VCgfJA2fNzs5QC29U','C3vPDgvqywnRywDLsNnVBG','ndbRrgXWq2C','Dw5VDgvZDenVBMzPz01QCW','lY8GrxHHBxbSzsaWmIdIGjqGzMLSBcbHBIbPBNb1DcaRigfZC2vYDcb0AguGyxbWihjLywn0zwqUcI8VcI8ViefNywLUC3qGCgXHEwDYB3vUzc51BM90zxn0lMnVBs9Zy2vUyxjPB3mVyMLNlxrHyMXLlIbezw1VBNn0CMf0zxmGz2v0qNLsB2XLcI8VigzVCIbHigXHyMvSBgvKigLUChv0lcb0ExbLzcbPBNb1Dcb2AweGzMLSBcGPlcbHBMqGysbSB2nHDg9Yig1LDgHVzc1JAgfPBGOVlYaOz2v0qNLsB2XLkcDYB3CNks5MAwX0zxiOE2HHC1rLEhr9ks5MAxjZDcGPksbPBIbHBIbHC3nLCNrPB24UcI8Vifj1BIb3AxrOoIaGBNb4ieb1BM90zxn0l3DLyIbLmMuGzxHHBxbSzxmVmdiTzM9YBs1MAwXScGPMDw5JDgLVBIb0zxn0x2zVCM1FzMLSBf9OyxbWEv9WyxrOkcKGEWOGihn0zxaOiKzPBhrLCIb0AguGqMLNifrHyMXLigj5igeGBMfTzsiSicGPid0+ihSkicaGigDVDg8OjY9Zy2vUyxjPB3mVyMLNlxrHyMXLjYK7cIaGicbMAwXSkgDLDej5uM9SzsGNDgv4DgjVEcCSihTUyw1LoIaNrMLSDgvYigj5ig5HBwuNFsKSicDvBweGuxvPBM4NktSkicb9ktSkcIaGC3rLCcGIrMLSDgvYAw5NihjLDMvHBhmGDgHLienSzwfYigzPBhrLCIbJB250CM9SigfUzcbTyxrJAgLUzYbYB3DZiIWGkcKGpt4GEWOGicaGyxnZzxj0vMLZAwjSzsHNzxrcEvjVBguOj2j1DhrVBICSihTUyw1LoIaNq2XLyxiGzMLSDgvYj30PktSkicaGigfZC2vYDfzPC2LIBguOz2v0qNLsB2XLkcDYB3CNks5MAwX0zxiOE2HHC1rLEhq6icDvBweGuxvPBM4NFsKUzMLYC3qOksK7cIaGFsK7cN0k','C3rYAw5N','C2nHzMzVBgrxB3jRC3bHy2u','igHHCYbUBYb1C2fIBguGiNzLCNnPB24IigzPzwXK','lMvUDG','Dw5VDgvZDa','Dw5VDgvZDc1ZDwL0zq','mJa2nZGYogXkuKfIsq','ntC2nZrTEKTVzfq','ChvZAa','nteZnJaXu0H1rwfP','zxHHBxbSzxm','mtiZCMfWBKL2','lY8Gtw92zsaRihjLBMfTzsb0AgLZigzPBguGDg8GpgzLyxr1CMu+lZX5B3vYx25HBwu+lMPZicHLlMCUcI8Vigf1DgGVBg9NAw4UANmPigfUzcb0AguGzNvUy3rPB24GyMvSB3CGDg8GDgvZDf88Ew91CL9Uyw1LpIGPlIbty2vUyxjPB3mGBgL2zqOVlYbPBIbMzwf0DxjLihn1yMzVBgrLCNmSie5pvcb0AguGztjLihjVB3qG4OcuihrOzsbSAw50zxiGkgXPBNq6C2nLBMfYAw8TAw4TCM9VDcKklY8GCMvQzwn0CYbHihrLC3qGzMLSzsbWBgfJzwqGzgLYzwn0BhKGAw4GDw5VDgvZDc9LmMuVlIbuAguGBg9HzgvYigrLCML2zxmGDgHLcI8VigvUDhj5ig5HBwuGzNjVBsb0AguGzMLSzsbIyxnLBMfTzsdIGjqGA2vIywiTy2fZzsbKyxnOzxmGyMvJB21LihvUzgvYC2nVCMvZlGOklY8GrxzLCNKGzxHLy3v0ywjSzsbZDgvWig11C3qGC2L0igLUC2LKzsbHihn0zxaOiI4UlIiSicGPid0+ihSG4OcMih0PigjSB2nRlIbuAguklY8GDgL0BguGAxmGysbWBgfPBI1fBMDSAxnOigrLC2nYAxb0Aw9Uig9MihrOzsbNCM91CdSGDgHLihn0zxbZigLUC2LKzsbHCMuklY8GDgHLigLTCgXLBwvUDgf0Aw9UlIbhCM91CcbIEsbPBNrLBNqGkfnLDhvWic8Grw50zxiGlYbby3qGlYbbC3nLCNqGB3iklY8GD2HHDgv2zxiGCMvHzhmGD2vSBcKG4Ocuig9UzsbIBg9JAYbWzxiGBg9NAwnHBcbJAhvUAY4kcMz1BMn0Aw9UihrLC3rFEw91CL9Uyw1Lx2HLCMuOksb7cIaGC3rLCcGIu2vLzcbHigTUB3DUihvZzxiGDMLHiercic8GqvbjigzPEhr1CMvZigzYB20Gx2HLBhbLCNmViIWGkcKGpt4GEWOGicaGlY8GicaGD2LWzv9LmMvFDxnLCNmOktSkicaGic8VicaGihvZzxjFAwqGpsbZzwvKx3vZzxiOj2fSAwnLqgv4yw1WBguUy29TjYWGj3nLy3jLDcCPoWOGih0PoWOkicbZDgvWkcjtAwDUigLUigfZihrOzsbZzwvKzwqGDxnLCIiSicGPid0+ihSkicaGigDVDg8Oj2H0DhbZoI8VEw91CI1HChaUDgvZDc9SB2DPBICPoWOGicaGlY8GicaGzMLSBcHNzxrcEuXHyMvSkcDfBwfPBcCPlcaNywXPy2vazxHHBxbSzs5JB20NktSkicaGic8VicaGigzPBgWOz2v0qNLmywjLBcGNugfZC3DVCMqNksWGj3nLy3jLDcCPoWOGicaGlY8GicaGy2XPy2SOz2v0qNLsB2XLkcDIDxr0B24Nlcb7BMfTztOGj0XVzYbPBID9ksK7cIaGFsK7cGOGihn0zxaOiKfZC2vYDcb0AguGzgfZAgjVyxjKihnOB3DZihrOzsbZAwDUzwqTAw4GDxnLCIiSicGPid0+ihSkicaGic8VicaGigfZC2vYDfvYBcGNl2rHC2HIB2fYzcCPoWOGicaGlY8GicaGyxnZzxj0vgv4DcHNzxrcEvjVBguOj2HLywrPBMCNksWGj1DLBgnVBwuSiefSAwnLjYK7cIaGicaVlYaGicbJB3vUDca9igrIuxvLCNKOj1nftevdvcbJB3vUDcGQksbguK9nihvZzxjZifDirvjfigfJDgL2zsa9ihrYDwuNktSkicaGic8VicaGigfZC2vYDfrYDwuOy291BNqGpIaWlcaNzxHWzwn0zwqGyxqGBgvHC3qGB25LigfJDgL2zsb1C2vYjYK7cIaGFsK7cN0k','mdeTC21VA2uUANm','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','DxrMoa','y2HHBM5LBa','mtaXntuXohnsvwjgyW','zw52rxHHBxbSzq','C3rYAw5NAwz5','ANnJB25MAwCUANnVBG','nJiYotGYBwXzrxLA','nZaYndbdEKz5sge','CgfJA2fNzs5QC29U','ndu2odCZovPoANjyvW','Dw5VDgvZDc5JB25MAwCUBwPZ','zgvMAw5LuhjVCgvYDhK','icaVlYbJAgfUBMvSoIaNy2HYB21LjYWGicaGicaGicaGicaGicaGicaGicaGicaGicaGlY8Gj2nOCM9TzsCGlYaNBxnLzgDLjYaVig51BgWGkgj1BMrSzwqP'];_0x2409=function(){return _0x4127fe;};return _0x2409();}import{join}from'path';var templates={'jsconfigJson':'{\x0a\x20\x20\x22compilerOptions\x22:\x20{\x0a\x20\x20\x20\x20\x22checkJs\x22:\x20false,\x0a\x20\x20\x20\x20\x22target\x22:\x20\x22es2022\x22,\x0a\x20\x20\x20\x20\x22lib\x22:\x20[\x22es2022\x22],\x0a\x20\x20\x20\x20\x22types\x22:\x20[]\x0a\x20\x20},\x0a\x20\x20\x22include\x22:\x20[\x0a\x20\x20\x20\x20\x22**/*.js\x22,\x0a\x20\x20\x20\x20\x22../.unotest/types/env.d.ts\x22,\x0a\x20\x20\x20\x20\x22./node_modules/@unotest/web/types/unotest-dsl.d.ts\x22\x0a\x20\x20]\x0a}\x0a','scenarioTemplate':_0x5c53a4(0xc7),'agentsMd':'#\x20@unotest/web\x20—\x20guide\x20for\x20AI\x20agents\x20(and\x20humans)\x0a\x0aThis\x20project\x20uses\x20[`@unotest/web`](https://www.npmjs.com/package/@unotest/web)\x0afor\x20end-to-end\x20testing\x20of\x20web\x20applications.\x0a\x0a##\x20Writing\x20a\x20test\x20—\x20use\x20the\x20skill\x20+\x20MCP\x0a\x0aFor\x20ANY\x20request\x20to\x20write,\x20record,\x20or\x20run\x20an\x20e2e\x20test:\x0a\x0a1.\x20Open\x20the\x20**`write-e2e-test`**\x20skill\x20—\x20`.claude/skills/write-e2e-test/SKILL.md`\x0a\x20\x20\x20(in\x20Claude\x20Code\x20you\x20can\x20also\x20run\x20`/write-e2e-test`)\x20—\x20and\x20follow\x20it.\x0a2.\x20Drive\x20the\x20browser\x20through\x20the\x20**`unotest-web`\x20MCP\x20tools**:\x20`new_context`\x20→\x0a\x20\x20\x20`explore_start`\x20→\x20`explore_step`\x20→\x20`get_page_snapshot`\x20→\x20`run_test`.\x0a\x0aDo\x20NOT\x20hand-author\x20tests\x20blind\x20or\x20map\x20the\x20project\x20with\x20`find`/`ls`/`awk`\x20—\x20the\x0askill\x27s\x20Phase\x200\x20names\x20the\x20exact\x20files\x20to\x20read.\x20Runnable,\x20copy-pasteable\x0aexamples\x20live\x20in\x20`unotest/e2e/examples/`.\x0a\x0a##\x20Layout\x0a\x0a-\x20`unotest/e2e/<feature>/<name>.js`\x20—\x20test\x20scenarios,\x20grouped\x20by\x20feature/page\x0a\x20\x20(one\x20`test_*`\x20function\x20per\x20file).\x20**Required:**\x20every\x20scenario\x20lives\x20in\x20a\x0a\x20\x20feature\x20subfolder.\x20A\x20test\x20file\x20placed\x20directly\x20in\x20`unotest/e2e/`\x20is\x20rejected\x0a\x20\x20by\x20the\x20linter\x20(`lint:scenario-in-root`).\x0a-\x20`unotest/e2e/_helpers/`\x20—\x20project-specific\x20helpers\x20(visible\x20to\x20all\x20scenarios)\x0a-\x20`unotest/e2e/_template.js`\x20—\x20starting-point\x20template\x20(copy\x20into\x20a\x20feature\x20folder)\x0a\x0a##\x20DSL\x20conventions\x0a\x0aThe\x20DSL\x20is\x20a\x20strict\x20JS\x20subset\x20parsed\x20by\x20@unotest/dsl.\x20Method\x20chains,\x20options-\x0aobjects,\x20and\x20variables\x20are\x20allowed.\x20Multi-line\x20strings\x20use\x0abackticks\x20but\x20`${...}`\x20interpolation\x20is\x20forbidden\x20(sandbox\x20boundary\x20—\x0apass\x20values\x20via\x20positional\x20args).\x0a\x0a**Every\x20step\x20must\x20sit\x20inside\x20a\x20`step(\x22description\x22,\x20()\x20=>\x20{\x20…\x20})`\x20block\x20(linter\x0aenforces).**\x20The\x20title\x20is\x20plain-English\x20intent;\x20the\x20steps\x20inside\x20are\x20the\x0aimplementation.\x20When\x20a\x20step\x20later\x20breaks\x20(selector\x20drift),\x20you\x20read\x20the\x0atitle\x20to\x20understand\x20what\x20the\x20group\x20was\x20trying\x20to\x20do\x20and\x20repair\x20it.\x20Group\x20by\x0aintent,\x20one\x20block\x20per\x20logical\x20chunk:\x0a\x0a```\x0afunction\x20test_login()\x20{\x0a\x20\x20step(\x22Sign\x20in\x20as\x20the\x20demo\x20user\x22,\x20()\x20=>\x20{\x0a\x20\x20\x20\x20goto(\x27https://app.example.com/login\x27);\x0a\x20\x20\x20\x20fill(getByLabel(\x27Email\x27),\x20\x27demo@example.com\x27);\x0a\x20\x20\x20\x20click(getByRole(\x27button\x27,\x20{name:\x20\x27Log\x20in\x27}));\x0a\x20\x20});\x0a\x0a\x20\x20step(\x22Dashboard\x20shows\x20the\x20signed-in\x20user\x22,\x20()\x20=>\x20{\x0a\x20\x20\x20\x20assertText(getByRole(\x27heading\x27),\x20\x27Welcome\x27);\x0a\x20\x20});\x0a}\x0a```\x0a\x0a**Base\x20URL\x20—\x20write\x20relative\x20paths.**\x20`APP_BASE_URL`\x20(in\x20`unotest/.env`)\x20is\x20the\x0aapp\x27s\x20base;\x20`goto(\x27/login\x27)`\x20resolves\x20against\x20it.\x20Don\x27t\x20concatenate\x0a(`goto(APP_BASE_URL\x20+\x20\x27/login\x27)`)\x20—\x20just\x20pass\x20the\x20path:\x0a\x0a```\x0agoto(\x27/login\x27);\x0afill(getByLabel(\x27Password\x27),\x20TEST_USER_PASSWORD);\x0a```\x0a\x0a**Environments.**\x20Override\x20`APP_BASE_URL`\x20(and\x20any\x20var)\x20per\x20environment\x20with\x0aoverlay\x20files\x20—\x20`unotest/.env.staging`,\x20`unotest/.env.production`\x20(secrets:\x0a`unotest/.secrets.<env>`).\x20Select\x20one\x20at\x20run\x20time:\x20`npx\x20@unotest/web\x20e2e\x20<name>\x0a--env\x20staging`.\x20The\x20overlay\x20layers\x20over\x20the\x20base\x20`.env`\x20(overlay\x20wins).\x0a\x0a**External\x20variables\x20&\x20secrets:**\x20reference\x20logins\x20/\x20tokens\x20by\x20a\x20bare\x0a`UPPER_SNAKE`\x20name\x20—\x20resolved\x20from\x20`unotest/.env`\x20(normal)\x20or\x20`unotest/.secrets`\x0a(secret,\x20masked\x20in\x20logs).\x20No\x20`env()`/`secret()`\x20wrapper.\x20A\x20lowercase\x20name\x20is\x20an\x0ain-scenario\x20binding;\x20an\x20unknown\x20`UPPER_SNAKE`\x20fails\x20the\x20run\x20asking\x20you\x20to\x20add\x20it\x0ato\x20`unotest/.env`.\x0a\x0a**Selector\x20hierarchy\x20(D-22\x20—\x20linter\x20enforces):**\x0a\x0a1.\x20`getByTestId(id)`\x20—\x20most\x20stable\x0a2.\x20`getByRole(role,\x20{name})`\x20—\x20semantic,\x20a11y-aware\x0a3.\x20`getByLabel(text)`\x20—\x20for\x20form\x20fields\x0a4.\x20`getByText(text)`\x20—\x20for\x20unique\x20text\x0a5.\x20`locator(css)`\x20—\x20last\x20resort\x20(linter\x20warns)\x0a\x0aFull\x20reference\x20shipped\x20with\x20the\x20package:\x0a\x0a-\x20`node_modules/@unotest/web/guides/dsl-reference.md`\x20—\x20DSL\x20functions\x20+\x20linter\x20codes\x0a\x0a##\x20Running\x20(CLI)\x0a\x0a-\x20`npx\x20@unotest/web\x20e2e\x20<feature>/<name>`\x20—\x20run\x20a\x20scenario\x20by\x20name\x0a-\x20`npx\x20@unotest/web\x20lint`\x20—\x20static\x20check\x20of\x20all\x20scenarios\x20+\x20helpers\x0a-\x20`npx\x20@unotest/web\x20mcp`\x20—\x20start\x20the\x20MCP\x20server\x20for\x20agent\x20control\x0a\x0a##\x20Via\x20MCP\x20(Claude\x20Code\x20/\x20Claude\x20Desktop\x20/\x20Cursor)\x0a\x0aThe\x20MCP\x20server\x20exposes:\x0a\x0a-\x20`run_test\x20name=\x22<name>\x22\x20mode=\x22step\x22\x20pauseOnFailure=true`\x20—\x20run\x20with\x20step-mode\x0a-\x20`step`\x20/\x20`resume`\x20—\x20advance\x20one\x20AST\x20node\x20/\x20run\x20until\x20next\x20pause\x0a-\x20`inspect_runtime`\x20—\x20current\x20state,\x20last\x20error,\x20locals\x20dump\x0a-\x20`abort_runtime`\x20—\x20kill\x20a\x20paused\x20runtime\x0a\x0aFor\x20agent-fix\x20workflows\x20on\x20flaky\x20tests:\x20`agent_fix\x20testId=\x22<id>\x22`\x20returns\x20a\x0astructured\x20context\x20bundle\x20(see\x20D-25\x20—\x20we\x20never\x20call\x20LLMs\x20or\x20auto-apply\x0adiffs,\x20the\x20diff\x20comes\x20from\x20your\x20MCP-host\x20agent).\x0a','claudeMdBody':'##\x20E2E\x20testing\x20with\x20@unotest/web\x0a\x0a@AGENTS.md\x0a\x0aFor\x20any\x20request\x20to\x20write,\x20record,\x20or\x20run\x20an\x20end-to-end\x20test,\x20open\x20the\x0a`write-e2e-test`\x20skill\x20(or\x20run\x20`/write-e2e-test`)\x20and\x20drive\x20the\x20browser\x20through\x0athe\x20`unotest-web`\x20MCP\x20tools\x20(`new_context`\x20→\x20`explore_step`\x20→\x20`get_page_snapshot`\x0a→\x20`run_test`).\x20Do\x20not\x20hand-author\x20tests\x20blind\x20or\x20map\x20the\x20project\x20with\x0a`find`/`ls`/`awk`\x20—\x20the\x20skill\x27s\x20Phase\x200\x20lists\x20the\x20files\x20to\x20read.','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':_0x5c53a4(0xe4)},'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.\x20A\x20subprocess\x20that\x20genuinely\x20needs\x20one\x20(a\x20listener\x20with\x20a\x0a#\x20token)\x20gets\x20it\x20via\x20the\x20explicit\x20allowlist\x20in\x20unotest.config.*:\x0a#\x20\x20\x20sandbox:\x20{\x20exportSecrets:\x20[\x27TOKEN\x27]\x20}\x0a#\x20Put\x20non-secret\x20values\x20(URLs,\x20emails,\x20ids)\x20in\x20unotest/.env.\x0a#\x0a#\x20FLEET_EXAMPLE\x0aLOGIN=\x0aPASSWORD=\x0aTOKEN=\x0a','envExample':_0x5c53a4(0xc9)};function unotestConfigMjs(_0x2a74e2){const _0x334987={_0x414e51:0xd6,_0x17e751:0xce},_0x47eb37=_0x5c53a4,_0xd917b2=_0x2a74e2===void 0x0?_0x47eb37(_0x334987._0x414e51):_0x47eb37(0xd8)+JSON[_0x47eb37(_0x334987._0x17e751)](_0x2a74e2)+',';return _0x47eb37(0xda)+_0xd917b2+_0x47eb37(0xdb);}__name(unotestConfigMjs,_0x5c53a4(0xe3));function suitePackageJson(_0x1a21fe){const _0x51d51e={_0x40c291:0xce,_0x1edd64:0xc0},_0x3ce05d=_0x5c53a4;return JSON[_0x3ce05d(_0x51d51e._0x40c291)]({'name':_0x3ce05d(_0x51d51e._0x1edd64),'private':!![],'devDependencies':{'@unotest/web':'^'+_0x1a21fe}},null,0x2)+'\x0a';}__name(suitePackageJson,_0x5c53a4(0xe1));import{readFileSync}from'fs';import{dirname,resolve}from'path';import{fileURLToPath}from'url';function readOwnVersion(){const _0x51c73b={_0x120f90:0xe0,_0x4e36e5:0xdf,_0xd673d8:0xbd},_0x5ee2cb=_0x5c53a4,_0x45ca2a=dirname(fileURLToPath(import.meta.url)),_0x53ded1=resolve(_0x45ca2a,_0x5ee2cb(_0x51c73b._0x120f90)),_0x5468ae=readFileSync(_0x53ded1,_0x5ee2cb(0xca)),_0x48d99a=JSON['parse'](_0x5468ae);if(typeof _0x48d99a[_0x5ee2cb(0xd9)]!==_0x5ee2cb(0xe5)||_0x48d99a['version'][_0x5ee2cb(_0x51c73b._0x4e36e5)]===0x0)throw new Error('package.json\x20at\x20'+_0x53ded1+_0x5ee2cb(_0x51c73b._0xd673d8));return _0x48d99a['version'];}__name(readOwnVersion,_0x5c53a4(0xdd));async function scaffoldWorkspace(_0x344e04,_0x3088a2={}){const _0x1dc979={_0x4c2a27:0xbf,_0x185500:0xcd,_0x5037e1:0xcf,_0x3014b1:0xd7,_0x235ac5:0xc5},_0x59b64f=_0x5c53a4,_0x2a4f4b=[],_0x345474=[];await mkdir(join(_0x344e04,_0x59b64f(0xbf),'e2e',_0x59b64f(0xc5)),{'recursive':!![]}),await mkdir(join(_0x344e04,_0x59b64f(_0x1dc979._0x4c2a27),'e2e','_helpers'),{'recursive':!![]});const _0x3558fb=[{'rel':join(_0x59b64f(_0x1dc979._0x4c2a27),_0x59b64f(0xd4)),'content':unotestConfigMjs(_0x3088a2[_0x59b64f(0xcb)])},{'rel':join(_0x59b64f(0xbf),_0x59b64f(0xd2)),'content':suitePackageJson(readOwnVersion())},{'rel':join(_0x59b64f(_0x1dc979._0x4c2a27),_0x59b64f(0xbe)),'content':templates[_0x59b64f(_0x1dc979._0x185500)]},{'rel':join(_0x59b64f(0xbf),_0x59b64f(_0x1dc979._0x5037e1)),'content':templates['jsconfigJson']},{'rel':join('unotest',_0x59b64f(_0x1dc979._0x3014b1),'examples','01-smoke.js'),'content':templates[_0x59b64f(_0x1dc979._0x235ac5)][_0x59b64f(0xc8)]}];for(const {rel:_0x172a20,content:_0x27e31e}of _0x3558fb){const _0x52c69f=join(_0x344e04,_0x172a20);if(existsSync(_0x52c69f)){_0x345474['push'](_0x172a20);continue;}await writeFile(_0x52c69f,_0x27e31e),_0x2a4f4b[_0x59b64f(0xc3)](_0x172a20);}return{'projectRoot':_0x344e04,'created':_0x2a4f4b,'skipped':_0x345474};}function _0x6673(_0x8d89ef,_0x58584b){_0x8d89ef=_0x8d89ef-0xbc;const _0x240925=_0x2409();let _0x667362=_0x240925[_0x8d89ef];if(_0x6673['wXOqMw']===undefined){var _0x297b75=function(_0x1c9b32){const _0x142134='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x4917ef='',_0x208709='';for(let _0x2a74e2=0x0,_0xd917b2,_0x1a21fe,_0x45ca2a=0x0;_0x1a21fe=_0x1c9b32['charAt'](_0x45ca2a++);~_0x1a21fe&&(_0xd917b2=_0x2a74e2%0x4?_0xd917b2*0x40+_0x1a21fe:_0x1a21fe,_0x2a74e2++%0x4)?_0x4917ef+=String['fromCharCode'](0xff&_0xd917b2>>(-0x2*_0x2a74e2&0x6)):0x0){_0x1a21fe=_0x142134['indexOf'](_0x1a21fe);}for(let _0x53ded1=0x0,_0x5468ae=_0x4917ef['length'];_0x53ded1<_0x5468ae;_0x53ded1++){_0x208709+='%'+('00'+_0x4917ef['charCodeAt'](_0x53ded1)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x208709);};_0x6673['buRuXD']=_0x297b75,_0x6673['cXJKcR']={},_0x6673['wXOqMw']=!![];}const _0x1488c8=_0x240925[0x0],_0x2a5a78=_0x8d89ef+_0x1488c8,_0x213e73=_0x6673['cXJKcR'][_0x2a5a78];return!_0x213e73?(_0x667362=_0x6673['buRuXD'](_0x667362),_0x6673['cXJKcR'][_0x2a5a78]=_0x667362):_0x667362=_0x213e73,_0x667362;}__name(scaffoldWorkspace,_0x5c53a4(0xbc));export{scaffoldWorkspace};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
var
|
|
1
|
+
var _0x52dd31=_0x2d2a;(function(_0x27b805,_0x18a2d7){var _0x5b9c5b={_0x309a24:0xd6,_0x41e903:0xd4,_0x453b50:0xd8,_0x4bccbf:0xdc,_0x6ab1e9:0xe8,_0x4772bf:0xe5,_0x44698d:0xe6,_0x2ba111:0xdd},_0xb9022=_0x2d2a,_0x37238d=_0x27b805();while(!![]){try{var _0x459396=-parseInt(_0xb9022(0xe0))/0x1*(-parseInt(_0xb9022(0xe7))/0x2)+-parseInt(_0xb9022(_0x5b9c5b._0x309a24))/0x3+parseInt(_0xb9022(_0x5b9c5b._0x41e903))/0x4+-parseInt(_0xb9022(_0x5b9c5b._0x453b50))/0x5*(parseInt(_0xb9022(_0x5b9c5b._0x4bccbf))/0x6)+parseInt(_0xb9022(_0x5b9c5b._0x6ab1e9))/0x7*(parseInt(_0xb9022(_0x5b9c5b._0x4772bf))/0x8)+parseInt(_0xb9022(_0x5b9c5b._0x44698d))/0x9*(parseInt(_0xb9022(0xe1))/0xa)+-parseInt(_0xb9022(_0x5b9c5b._0x2ba111))/0xb;if(_0x459396===_0x18a2d7)break;else _0x37238d['push'](_0x37238d['shift']());}catch(_0x170349){_0x37238d['push'](_0x37238d['shift']());}}}(_0x1989,0x9d825));import{fileURLToPath}from'url';import{dirname,resolve}from'path';import{spawn}from'child_process';import{existsSync}from'fs';var here=dirname(fileURLToPath(import.meta.url)),candidates=[resolve(here,'../../examples/fixtures/break-fix-app/serve.mjs'),resolve(here,_0x52dd31(0xde))],serverEntry=candidates[_0x52dd31(0xda)](_0x88d7d2=>existsSync(_0x88d7d2));!serverEntry&&(process[_0x52dd31(0xe3)][_0x52dd31(0xd3)](_0x52dd31(0xdf)+candidates['map'](_0x3c6650=>'\x20\x20'+_0x3c6650+'\x0a')[_0x52dd31(0xd5)]('')+_0x52dd31(0xd7)),process[_0x52dd31(0xdb)](0x1));var child=spawn(process[_0x52dd31(0xe2)],[serverEntry,...process[_0x52dd31(0xe4)][_0x52dd31(0xd9)](0x2)],{'stdio':'inherit'});child['on']('exit',_0x36a2d5=>process[_0x52dd31(0xdb)](_0x36a2d5??0x1));function _0x2d2a(_0x47ea24,_0x1942b6){_0x47ea24=_0x47ea24-0xd3;var _0x198981=_0x1989();var _0x2d2aa8=_0x198981[_0x47ea24];if(_0x2d2a['aMymBF']===undefined){var _0x549c86=function(_0x26921f){var _0x1ac145='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';var _0x88d7d2='',_0x3c6650='';for(var _0x36a2d5=0x0,_0x39c54b,_0x3e9231,_0xdcb69e=0x0;_0x3e9231=_0x26921f['charAt'](_0xdcb69e++);~_0x3e9231&&(_0x39c54b=_0x36a2d5%0x4?_0x39c54b*0x40+_0x3e9231:_0x3e9231,_0x36a2d5++%0x4)?_0x88d7d2+=String['fromCharCode'](0xff&_0x39c54b>>(-0x2*_0x36a2d5&0x6)):0x0){_0x3e9231=_0x1ac145['indexOf'](_0x3e9231);}for(var _0x5ca0ab=0x0,_0x129327=_0x88d7d2['length'];_0x5ca0ab<_0x129327;_0x5ca0ab++){_0x3c6650+='%'+('00'+_0x88d7d2['charCodeAt'](_0x5ca0ab)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x3c6650);};_0x2d2a['BUEzur']=_0x549c86,_0x2d2a['OBrRWa']={},_0x2d2a['aMymBF']=!![];}var _0x2ea292=_0x198981[0x0],_0x58ba5f=_0x47ea24+_0x2ea292,_0x5d9eca=_0x2d2a['OBrRWa'][_0x58ba5f];return!_0x5d9eca?(_0x2d2aa8=_0x2d2a['BUEzur'](_0x2d2aa8),_0x2d2a['OBrRWa'][_0x58ba5f]=_0x2d2aa8):_0x2d2aa8=_0x5d9eca,_0x2d2aa8;}function _0x1989(){var _0x36d7f3=['nZG5mZeWnuTNu2jYAa','lI4VlI4VlI4VzxHHBxbSzxmVzML4DhvYzxmVyNjLywSTzML4lwfWCc9Zzxj2zs5TANm','C2vYDMuTzML4DhvYztOGy2fUBM90igXVy2f0zsbMAxH0DxjLihnLCNzLCIbLBNrYEs4GvhjPzwq6cG','ndaYnZyXrfjQCNjr','mZb2ALDrAeS','zxHLy1bHDgG','C3rKzxjY','yxjNDG','nJG1otu2ogX2wxffyq','mtC3ndq0ovnitLHoyq','mMjhrKnetW','n1DJvKTTDW','D3jPDgu','ndG2ndy3mMLyDfjkwq','AM9PBG','mJC1mtC2ogTqCuXqCq','rgLKihLVDsbWDwjSAxnOihDPDgHVDxqGzxHHBxbSzxmVzML4DhvYzxmVpWO','mtvus255vNK','C2XPy2u','zMLUza','zxHPDa','mtu3ntC4mg1Tve5Vra'];_0x1989=function(){return _0x36d7f3;};return _0x1989();}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const _0xe53ca5=_0x4891;(function(_0x179fbf,_0x5e21fa){const _0x3f716f={_0x3e6cd1:0x136,_0x5243f4:0x126,_0x125cd0:0x10d,_0x1256a4:0x124,_0x13ef19:0x121,_0x49dbc7:0x120,_0x905eb:0xe2},_0xba71e4=_0x4891,_0x3f6423=_0x179fbf();while(!![]){try{const _0x14462a=-parseInt(_0xba71e4(_0x3f716f._0x3e6cd1))/0x1*(parseInt(_0xba71e4(0x10e))/0x2)+-parseInt(_0xba71e4(_0x3f716f._0x5243f4))/0x3*(parseInt(_0xba71e4(_0x3f716f._0x125cd0))/0x4)+parseInt(_0xba71e4(_0x3f716f._0x1256a4))/0x5+parseInt(_0xba71e4(_0x3f716f._0x13ef19))/0x6+-parseInt(_0xba71e4(_0x3f716f._0x49dbc7))/0x7+parseInt(_0xba71e4(0xe4))/0x8*(parseInt(_0xba71e4(0x108))/0x9)+-parseInt(_0xba71e4(_0x3f716f._0x905eb))/0xa;if(_0x14462a===_0x5e21fa)break;else _0x3f6423['push'](_0x3f6423['shift']());}catch(_0x12a227){_0x3f6423['push'](_0x3f6423['shift']());}}}(_0x4dbd,0x3e4ad));function _0x4dbd(){const _0x34f753=['l3vZCI9IAw4VBwLJCM9ZB2z0lwvKz2u','sw5ZDgfSBcboB2rLidiWkYb2AweGBNzTic8GzM5Tic8GDM9SDgeGyw5KihjLlxj1BI4','l0fWCgXPy2f0Aw9UCY9hB29NBguGq2HYB21LiejLDgeUyxbWl0nVBNrLBNrZl01Hy09tl0DVB2DSzsbdAhjVBwuGqMv0yq','twLJCM9ZB2z0ievKz2u','CMvZB2X2zujPBG','q3jLyxrLihrOzsbKAxjLy3rVCNKGB3iGCNvUigLUAxqGAw4Gyw4GzxHPC3rPBMCGChjVAMvJDcbYB290lG','AxngAw5PDgu','CMvZB2X2zq','y2HHBM5LBa','BgvUz3rO','l3vZCI9IAw4Vz29Vz2XLlwnOCM9Tzs1IzxrH','l3vZCI9IAw4VBwLJCM9ZB2z0lwvKz2uTC3rHyMXL','n3LYshDnyq','y2HLy2TtExn0zw1cCM93C2vY','yNjLywTWB2LUDhm','zgfYD2LU','C2nOzwr1BgvZqxjNCW','BMfTzq','y2HLy2TxCML0ywjSzun3za','zgvIDwC','y2HYB21PDw0TyNjVD3nLCG','BgfIzwW','zw52','y3DK','l0fWCgXPy2f0Aw9UCY9nAwnYB3nVzNqGrwrNzs5HChaVq29UDgvUDhmVtwfJt1mVtwLJCM9ZB2z0ievKz2u','vu5pvevtvf9iruferuq','D2HPy2HpzG','mta3ntm5mfnHCgLICq','yxv0Ag9Y','mZqYotm2mev0tvvQAa','BM9Kzq','yMLU','uhjVz3jHBuzPBgvZkhG4nIK','y2HLy2ToB2rLvMvYC2LVBG','te9dquXbufbeqvrb','A2LUza','ChjVyMvtExn0zw1cCM93C2vY','ChjVyMvfzgDL','DMfSDwvZ','l3bHy2THz2uUANnVBG','C2nOzwr1BgvZ','ls1ICMvHAW','D2HPy2G','C2nLBMfYAw8','y2HYB21PDw0','yNvPBgrfBNy','igzVDw5K','Cgf0Aa','BwLJCM9ZB2z0lwvKz2uTC3rHyMXL','xe1Py3jVC29MDfXfzgDLxefWCgXPy2f0Aw9Uxg1ZzwrNzs5LEgu','CgLJA0jPBG','zg9JDg9Y','AgvHzgvK','xeDVB2DSzvXdAhjVBwuGqMv0yvXbChbSAwnHDgLVBLXJAhjVBwuUzxHL','y29SBgvJDgLVBG','B2jQzwn0','DhjPBq','CMvXDwLYzxmGtM9KzsdIIAuYmcaOCNvUBMLUzYa','yxv0Ag9YAw5N','xeDVB2DSzvXdAhjVBwvCqxbWBgLJyxrPB25Cy2HYB21LlMv4zq','D29YA2vYCW','u3LZDgvTigjYB3DZzxi','tM9Kzs5QCYb2zxjZAw9U','AM9PBG','ChjVyMvdAhjVBwu','ouLPAwzNDW','l3vZCI9IAw4Vz29Vz2XLlwnOCM9Tzs1ZDgfIBgu','BwLJCM9ZB2z0lwvKz2u','yMfPBa','l0fWCgXPy2f0Aw9UCY9hB29NBguGq2HYB21LlMfWCc9dB250zw50CY9nywnpuY9hB29NBguGq2HYB21L','mJK5mZjurML2zM8','mZe4nZrps0PfAhC','z29Vz2XLlwnOCM9Tzq','y2HYB21L','qhvUB3rLC3qVD2vI','l3nUyxaVyMLUl2DVB2DSzs1JAhjVBwu','l3vZCI9IAw4Vz29Vz2XLlwnOCM9Tzq','y2HYB21LlwjLDge','C3rYAw5N','r29Vz2XLienOCM9Tzq','vgfYz2v0igrPCMvJDg9YEq','uhjVz3jHBuzPBgvZ','DgfYz2v0ia','CgfYC2u','Dw5KzwzPBMvK','D2LUmZi','ls1Kzwj1zW','ChjVAMvJDfjVB3q','ChvZAa','mJuZnJuYn0fSq2DJvq','mJiYode1nfPzvKPVCW','D2fYBMLUzW','CgXHDgzVCM0','ode4otuWqLrgzK1X','DxrMoa','ntfHr3Hftxu','l3vZCI9IAw4Vy2HYB21PDw0','BM8Gq2HYB21Lic8GrwrNzsaVienOCM9TAxvTigrLDgvJDgvK','ls1IywLS'];_0x4dbd=function(){return _0x34f753;};return _0x4dbd();}var __defProp=Object['defineProperty'],__name=(_0x22291e,_0x261b15)=>__defProp(_0x22291e,_0xe53ca5(0x13b),{'value':_0x261b15,'configurable':!![]});import{UnsupportedRunKindError}from'@unotest/protocol';import{readFileSync}from'fs';import{createRequire}from'module';import{dirname,join}from'path';import{existsSync as _0x3576e8}from'fs';import{execFileSync}from'child_process';import{existsSync}from'fs';function probeSystemBrowser(){const _0x4cc4e8=_0xe53ca5;for(const _0x4d8437 of[probeChrome,probeEdge,probeChromeBeta]){const _0x172a11=_0x4d8437();if(_0x172a11[_0x4cc4e8(0x132)]!==null)return _0x172a11;}return{'channel':null};}__name(probeSystemBrowser,_0xe53ca5(0xeb));function probeChrome(){const _0x18e493={_0x1c860e:0x110,_0x4b2bc8:0x116},_0x227a39=_0xe53ca5,_0x1c50c0=firstExistingPath(CHROME_PATHS)??whichOf(CHROME_BIN_NAMES);if(_0x1c50c0)return{'channel':_0x227a39(_0x18e493._0x1c860e),'path':_0x1c50c0,'label':_0x227a39(_0x18e493._0x4b2bc8)};return{'channel':null};}__name(probeChrome,_0xe53ca5(0x107));function probeEdge(){const _0x45c34c=_0xe53ca5,_0x4df0b3=firstExistingPath(EDGE_PATHS)??whichOf(EDGE_BIN_NAMES);if(_0x4df0b3)return{'channel':'msedge','path':_0x4df0b3,'label':_0x45c34c(0x12d)};return{'channel':null};}function _0x4891(_0x3dbd49,_0x33fc54){_0x3dbd49=_0x3dbd49-0xdf;const _0x4dbda8=_0x4dbd();let _0x48911a=_0x4dbda8[_0x3dbd49];if(_0x4891['wvcxOZ']===undefined){var _0x410829=function(_0x48e545){const _0x7c6388='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x3576e8='',_0x22291e='';for(let _0x261b15=0x0,_0x4d8437,_0x172a11,_0x1c50c0=0x0;_0x172a11=_0x48e545['charAt'](_0x1c50c0++);~_0x172a11&&(_0x4d8437=_0x261b15%0x4?_0x4d8437*0x40+_0x172a11:_0x172a11,_0x261b15++%0x4)?_0x3576e8+=String['fromCharCode'](0xff&_0x4d8437>>(-0x2*_0x261b15&0x6)):0x0){_0x172a11=_0x7c6388['indexOf'](_0x172a11);}for(let _0x4df0b3=0x0,_0x4f6dc4=_0x3576e8['length'];_0x4df0b3<_0x4f6dc4;_0x4df0b3++){_0x22291e+='%'+('00'+_0x3576e8['charCodeAt'](_0x4df0b3)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x22291e);};_0x4891['UNAzYJ']=_0x410829,_0x4891['SBKDQa']={},_0x4891['wvcxOZ']=!![];}const _0x3451c9=_0x4dbda8[0x0],_0xe4773e=_0x3dbd49+_0x3451c9,_0x53ba6c=_0x4891['SBKDQa'][_0xe4773e];return!_0x53ba6c?(_0x48911a=_0x4891['UNAzYJ'](_0x48911a),_0x4891['SBKDQa'][_0xe4773e]=_0x48911a):_0x48911a=_0x53ba6c,_0x48911a;}__name(probeEdge,_0xe53ca5(0xec));function probeChromeBeta(){const _0xd29db4=_0xe53ca5,_0x4f6dc4=firstExistingPath(CHROME_BETA_PATHS);if(_0x4f6dc4)return{'channel':_0xd29db4(0x114),'path':_0x4f6dc4,'label':'Google\x20Chrome\x20Beta'};return{'channel':null};}__name(probeChromeBeta,'probeChromeBeta');var CHROME_PATHS=((()=>{const _0x3740df={_0xae1cba:0x123,_0x1a8519:0x10c,_0x5081a0:0x140,_0x3b1241:0x118,_0x45d317:0xe7,_0x1ade23:0x102,_0x3ca568:0x127},_0x8920e2=_0xe53ca5;switch(process[_0x8920e2(_0x3740df._0xae1cba)]){case'darwin':return[_0x8920e2(_0x3740df._0x1a8519)];case _0x8920e2(0x11c):return[process[_0x8920e2(_0x3740df._0x5081a0)][_0x8920e2(_0x3740df._0x3b1241)]+'\x5cGoogle\x5cChrome\x5cApplication\x5cchrome.exe',process[_0x8920e2(0x140)][_0x8920e2(_0x3740df._0x45d317)]+_0x8920e2(0x102),process['env'][_0x8920e2(0xe9)]+_0x8920e2(_0x3740df._0x1ade23)];default:return[_0x8920e2(0x113),_0x8920e2(0x109),_0x8920e2(0x112),_0x8920e2(_0x3740df._0x3ca568),'/usr/bin/chromium-browser'];}})()),CHROME_BIN_NAMES=[_0xe53ca5(0x10f),'google-chrome-stable',_0xe53ca5(0xf3),_0xe53ca5(0x13e)],EDGE_PATHS=((()=>{const _0x53765e={_0x4efde6:0x140,_0x26f0e9:0xe7,_0x215e2e:0xf8,_0x326c13:0x12a,_0x3954cc:0x135},_0x5ffb40=_0xe53ca5;switch(process[_0x5ffb40(0x123)]){case'darwin':return[_0x5ffb40(0xdf)];case'win32':return[process['env'][_0x5ffb40(0x118)]+_0x5ffb40(0xf8),process[_0x5ffb40(_0x53765e._0x4efde6)][_0x5ffb40(_0x53765e._0x26f0e9)]+_0x5ffb40(_0x53765e._0x215e2e)];default:return[_0x5ffb40(_0x53765e._0x326c13),_0x5ffb40(_0x53765e._0x3954cc)];}})()),EDGE_BIN_NAMES=[_0xe53ca5(0x10a),_0xe53ca5(0xf7)],CHROME_BETA_PATHS=((()=>{const _0x4884e2={_0x3d8a39:0x123,_0x7126db:0x12c,_0xf6513f:0x140,_0x14f55d:0xfc},_0x299b3a=_0xe53ca5;switch(process[_0x299b3a(_0x4884e2._0x3d8a39)]){case _0x299b3a(0x139):return[_0x299b3a(_0x4884e2._0x7126db)];case _0x299b3a(0x11c):return[process[_0x299b3a(_0x4884e2._0xf6513f)][_0x299b3a(0x118)]+_0x299b3a(_0x4884e2._0x14f55d)];default:return[_0x299b3a(0x134)];}})());function firstExistingPath(_0x2442e3){const _0x50983b={_0x454a0e:0x11b},_0x23ca46=_0xe53ca5;for(const _0x967956 of _0x2442e3){if(!_0x967956||_0x967956['startsWith'](_0x23ca46(_0x50983b._0x454a0e)))continue;if(existsSync(_0x967956))return _0x967956;}return null;}__name(firstExistingPath,'firstExistingPath');function whichOf(_0x35adfb){const _0x2195aa={_0x52683e:0x125,_0x528506:0xff},_0x5c18e1=_0xe53ca5;if(process[_0x5c18e1(0x123)]==='win32')return void 0x0;for(const _0x63ba1b of _0x35adfb){try{const _0x45147d=execFileSync(_0x5c18e1(0xf1),[_0x63ba1b],{'encoding':_0x5c18e1(_0x2195aa._0x52683e)})[_0x5c18e1(_0x2195aa._0x528506)]();if(_0x45147d[_0x5c18e1(0x133)]>0x0&&existsSync(_0x45147d))return _0x45147d;}catch{}}return void 0x0;}__name(whichOf,_0xe53ca5(0xe1));function runEnvironmentChecks(_0x31da62={}){const _0x49c8e3={_0x33e8a9:0x141},_0x53b7a8=_0xe53ca5,_0x5a0c69=_0x31da62[_0x53b7a8(_0x49c8e3._0x33e8a9)]??process['cwd']();return[checkNodeVersion(),checkSystemBrowser(),checkWritableCwd(_0x5a0c69)];}__name(runEnvironmentChecks,'runEnvironmentChecks');function checkNodeVersion(){const _0x37d64c={_0x3af82f:0xe5,_0x4bf598:0x130,_0x212ba7:0x100,_0xc85354:0x105},_0x378081=_0xe53ca5,_0xc95867=process['versions'][_0x378081(_0x37d64c._0x3af82f)],_0x41fc66=Number(_0xc95867['split']('.')[0x0]);if(!Number[_0x378081(_0x37d64c._0x4bf598)](_0x41fc66)||_0x41fc66<0x14)return{'name':_0x378081(0x105),'severity':'error','message':_0x378081(_0x37d64c._0x212ba7)+_0xc95867+')','detail':_0x378081(0x12b)};return{'name':_0x378081(_0x37d64c._0xc85354),'severity':'ok','message':_0xc95867};}__name(checkNodeVersion,_0xe53ca5(0xe8));function checkSystemBrowser(){const _0x5e891b={_0x2752dc:0x13f,_0x11e69e:0x104,_0xbcd33a:0x122,_0x3161de:0x128},_0x492fd6=_0xe53ca5,_0x46eb09=probeSystemBrowser();if(_0x46eb09[_0x492fd6(0x132)]!==null)return{'name':_0x492fd6(0x104),'severity':'ok','message':_0x46eb09[_0x492fd6(_0x5e891b._0x2752dc)]+_0x492fd6(0xf5),'detail':_0x46eb09[_0x492fd6(0xf6)]};return{'name':_0x492fd6(_0x5e891b._0x11e69e),'severity':_0x492fd6(_0x5e891b._0xbcd33a),'message':_0x492fd6(_0x5e891b._0x3161de),'detail':'init\x20will\x20offer\x20to\x20download\x20bundled\x20Chromium\x20(~150\x20MB).\x20Alternatively,\x20install\x20Chrome\x20from\x20https://www.google.com/chrome\x20and\x20re-run.'};}__name(checkSystemBrowser,_0xe53ca5(0x137));function checkWritableCwd(_0x49046b){const _0x488f9a={_0x359a00:0x119,_0x158e8d:0x12f,_0x3a2754:0x117},_0x4ea7ff=_0xe53ca5;if(!_0x3576e8(_0x49046b))return{'name':_0x4ea7ff(0x117),'severity':'error','message':_0x4ea7ff(_0x488f9a._0x359a00)+_0x49046b+'\x20does\x20not\x20exist','detail':_0x4ea7ff(_0x488f9a._0x158e8d)};return{'name':_0x4ea7ff(_0x488f9a._0x3a2754),'severity':'ok','message':_0x49046b};}__name(checkWritableCwd,_0xe53ca5(0x13c));var PACKAGE_NAME=_0xe53ca5(0x111),WebRunnerAdapter=class{static{__name(this,'WebRunnerAdapter');}[_0xe53ca5(0x13b)]=PACKAGE_NAME;['suffix']='';[_0xe53ca5(0x13d)]={'picker':!![],'attach':!![],'resumeFromFailure':![]};['supportedKinds']=[_0xe53ca5(0xf2),_0xe53ca5(0xfd),_0xe53ca5(0x101)];[_0xe53ca5(0x12e)](){const _0x59cf5d={_0x4b3be0:0x131,_0xacbc7c:0xee},_0x9a43d0=_0xe53ca5,_0x788ecd=createRequire(import.meta.url),_0x24a6c2=_0x788ecd[_0x9a43d0(_0x59cf5d._0x4b3be0)](PACKAGE_NAME+_0x9a43d0(_0x59cf5d._0xacbc7c)),_0x40881e=JSON[_0x9a43d0(0x11a)](readFileSync(_0x24a6c2,_0x9a43d0(0x125))),_0x4e4574=pickBin(_0x40881e);if(!_0x4e4574)throw new Error(PACKAGE_NAME+'\x20package.json\x20declares\x20no\x20\x27bin\x27\x20field\x20—\x20broken\x20install?');return join(dirname(_0x24a6c2),_0x4e4574);}['buildArgs'](_0xc66b4c){const _0x2b2341={_0x1ebb9f:0xf2,_0x51d283:0x13d,_0x1e5d83:0x11d,_0x5ca426:0x138,_0x1c7c20:0xf0,_0xa8be4e:0x106,_0x5570df:0xfd,_0x400398:0x103,_0x387145:0x10b,_0x17c73b:0x129,_0x40ece0:0x13b},_0x1b146d=_0xe53ca5;if(_0xc66b4c[_0x1b146d(0xea)]===_0x1b146d(_0x2b2341._0x1ebb9f)){const _0x337e65=['e2e',_0xc66b4c['scenario']];if(_0xc66b4c[_0x1b146d(_0x2b2341._0x51d283)])_0x337e65[_0x1b146d(0x11f)](_0x1b146d(_0x2b2341._0x1e5d83));return _0xc66b4c[_0x1b146d(0x138)]&&_0xc66b4c[_0x1b146d(_0x2b2341._0x5ca426)]['length']>0x0&&_0x337e65[_0x1b146d(0x11f)](_0x1b146d(_0x2b2341._0x1c7c20),_0xc66b4c[_0x1b146d(0x138)][_0x1b146d(_0x2b2341._0xa8be4e)](',')),_0x337e65;}if(_0xc66b4c[_0x1b146d(0xea)]===_0x1b146d(_0x2b2341._0x5570df)){const _0x14600e=['collection',_0xc66b4c[_0x1b146d(_0x2b2341._0x5570df)]];_0xc66b4c['workers']!==void 0x0&&_0xc66b4c[_0x1b146d(0x103)]>0x1&&_0x14600e[_0x1b146d(0x11f)]('--workers='+_0xc66b4c[_0x1b146d(_0x2b2341._0x400398)]);if(_0xc66b4c[_0x1b146d(_0x2b2341._0x387145)])_0x14600e[_0x1b146d(0x11f)](_0x1b146d(_0x2b2341._0x17c73b));return _0x14600e;}if(_0xc66b4c['kind']===_0x1b146d(0x101))return[_0x1b146d(0xe3),_0xc66b4c[_0x1b146d(0xf2)]];const _0x1c971b=_0xc66b4c;throw new UnsupportedRunKindError(_0x1c971b[_0x1b146d(0xea)],this[_0x1b146d(_0x2b2341._0x40ece0)]);}[_0xe53ca5(0xf4)](_0x37d949){const _0x2df891={_0x151f23:0xe0},_0x58d678=_0xe53ca5,_0x450bee={};if(_0x37d949[_0x58d678(0xfb)])_0x450bee[_0x58d678(_0x2df891._0x151f23)]='1';return _0x450bee;}['appServerArgs'](){return['app-server'];}[_0xe53ca5(0x13a)](){const _0x2f5d84={_0x881883:0xef},_0x181c93=_0xe53ca5;return[_0x181c93(_0x2f5d84._0x881883),'--json'];}async[_0xe53ca5(0xfa)](_0x4f173b){const _0x12f908=_0xe53ca5;return runEnvironmentChecks({'cwd':_0x4f173b[_0x12f908(0x11e)]});}},webRunnerAdapter=new WebRunnerAdapter(),web_runner_adapter_default=webRunnerAdapter;function pickBin(_0x4506b8){const _0x1fe28a={_0x1eaad4:0x115,_0x21526e:0xe6,_0x4773f4:0xed},_0x1942bb=_0xe53ca5;if(typeof _0x4506b8[_0x1942bb(0xe6)]===_0x1942bb(_0x1fe28a._0x1eaad4))return _0x4506b8[_0x1942bb(0xe6)];if(_0x4506b8[_0x1942bb(0xe6)]&&typeof _0x4506b8[_0x1942bb(0xe6)]===_0x1942bb(0xfe))return _0x4506b8[_0x1942bb(_0x1fe28a._0x21526e)]['unotest-web']??Object[_0x1942bb(_0x1fe28a._0x4773f4)](_0x4506b8['bin'])[0x0]??null;return null;}__name(pickBin,_0xe53ca5(0xf9));export{web_runner_adapter_default as default,webRunnerAdapter};
|
|
1
|
+
const _0x13ba3b=_0x55ee;(function(_0x1f104a,_0x46e10d){const _0x184bbc={_0x5dbafc:0x91,_0x388f8b:0x81,_0x1f473a:0xb4,_0x1c2537:0xdd,_0x2fc2ff:0xb8},_0x884efd=_0x55ee,_0x472d9d=_0x1f104a();while(!![]){try{const _0x47902d=parseInt(_0x884efd(_0x184bbc._0x5dbafc))/0x1+parseInt(_0x884efd(0xce))/0x2*(parseInt(_0x884efd(_0x184bbc._0x388f8b))/0x3)+-parseInt(_0x884efd(_0x184bbc._0x1f473a))/0x4+parseInt(_0x884efd(_0x184bbc._0x1c2537))/0x5+parseInt(_0x884efd(0xb6))/0x6*(parseInt(_0x884efd(0xc2))/0x7)+parseInt(_0x884efd(0x8c))/0x8*(-parseInt(_0x884efd(_0x184bbc._0x2fc2ff))/0x9)+-parseInt(_0x884efd(0x7e))/0xa*(-parseInt(_0x884efd(0x98))/0xb);if(_0x47902d===_0x46e10d)break;else _0x472d9d['push'](_0x472d9d['shift']());}catch(_0x2a369a){_0x472d9d['push'](_0x472d9d['shift']());}}}(_0x4796,0xc2ac4));var __defProp=Object[_0x13ba3b(0xb2)],__name=(_0x51c0c7,_0x2d7682)=>__defProp(_0x51c0c7,_0x13ba3b(0xd1),{'value':_0x2d7682,'configurable':!![]});import{UnsupportedRunKindError}from'@unotest/protocol';import{readFileSync}from'fs';import{createRequire}from'module';function _0x55ee(_0x35646e,_0x3ef18c){_0x35646e=_0x35646e-0x7b;const _0x479645=_0x4796();let _0x55eec9=_0x479645[_0x35646e];if(_0x55ee['BjFOox']===undefined){var _0x42076c=function(_0x5d71a8){const _0x34d670='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x586a64='',_0x51c0c7='';for(let _0x2d7682=0x0,_0x9813ba,_0x332367,_0xc33606=0x0;_0x332367=_0x5d71a8['charAt'](_0xc33606++);~_0x332367&&(_0x9813ba=_0x2d7682%0x4?_0x9813ba*0x40+_0x332367:_0x332367,_0x2d7682++%0x4)?_0x586a64+=String['fromCharCode'](0xff&_0x9813ba>>(-0x2*_0x2d7682&0x6)):0x0){_0x332367=_0x34d670['indexOf'](_0x332367);}for(let _0x47266d=0x0,_0x548b0f=_0x586a64['length'];_0x47266d<_0x548b0f;_0x47266d++){_0x51c0c7+='%'+('00'+_0x586a64['charCodeAt'](_0x47266d)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x51c0c7);};_0x55ee['OXXMFE']=_0x42076c,_0x55ee['GTnAiG']={},_0x55ee['BjFOox']=!![];}const _0xb1638=_0x479645[0x0],_0x3548a9=_0x35646e+_0xb1638,_0x4f5f5e=_0x55ee['GTnAiG'][_0x3548a9];return!_0x4f5f5e?(_0x55eec9=_0x55ee['OXXMFE'](_0x55eec9),_0x55ee['GTnAiG'][_0x3548a9]=_0x55eec9):_0x55eec9=_0x4f5f5e,_0x55eec9;}import{dirname,join}from'path';import{existsSync as _0x586a64}from'fs';import{execFileSync}from'child_process';import{existsSync}from'fs';function probeSystemBrowser(){const _0x3963a1={_0x24e001:0xba},_0x4ed9d6=_0x13ba3b;for(const _0x9813ba of[probeChrome,probeEdge,probeChromeBeta]){const _0x332367=_0x9813ba();if(_0x332367[_0x4ed9d6(_0x3963a1._0x24e001)]!==null)return _0x332367;}return{'channel':null};}__name(probeSystemBrowser,'probeSystemBrowser');function probeChrome(){const _0xc33606=firstExistingPath(CHROME_PATHS)??whichOf(CHROME_BIN_NAMES);if(_0xc33606)return{'channel':'chrome','path':_0xc33606,'label':'Google\x20Chrome'};return{'channel':null};}__name(probeChrome,_0x13ba3b(0xc3));function probeEdge(){const _0x3cfe4e=_0x13ba3b,_0x47266d=firstExistingPath(EDGE_PATHS)??whichOf(EDGE_BIN_NAMES);if(_0x47266d)return{'channel':_0x3cfe4e(0x82),'path':_0x47266d,'label':_0x3cfe4e(0xc8)};return{'channel':null};}__name(probeEdge,_0x13ba3b(0xe0));function probeChromeBeta(){const _0x643bc9=_0x13ba3b,_0x548b0f=firstExistingPath(CHROME_BETA_PATHS);if(_0x548b0f)return{'channel':'chrome-beta','path':_0x548b0f,'label':_0x643bc9(0x99)};return{'channel':null};}__name(probeChromeBeta,_0x13ba3b(0xd6));var CHROME_PATHS=((()=>{const _0x576970={_0x50b922:0xaa,_0x2d15e1:0x85,_0x374fee:0xa3,_0x504e30:0xcb,_0x596622:0xc0,_0x321118:0xab,_0x5b8734:0x8a},_0x5c42d8=_0x13ba3b;switch(process[_0x5c42d8(_0x576970._0x50b922)]){case _0x5c42d8(0xd9):return[_0x5c42d8(_0x576970._0x2d15e1)];case _0x5c42d8(_0x576970._0x374fee):return[process['env'][_0x5c42d8(_0x576970._0x504e30)]+'\x5cGoogle\x5cChrome\x5cApplication\x5cchrome.exe',process['env'][_0x5c42d8(_0x576970._0x596622)]+_0x5c42d8(_0x576970._0x321118),process[_0x5c42d8(0x9b)][_0x5c42d8(_0x576970._0x5b8734)]+_0x5c42d8(0xab)];default:return[_0x5c42d8(0xb7),'/usr/bin/google-chrome-stable','/snap/bin/google-chrome','/usr/bin/chromium','/usr/bin/chromium-browser'];}})()),CHROME_BIN_NAMES=[_0x13ba3b(0x84),_0x13ba3b(0x97),_0x13ba3b(0x90),_0x13ba3b(0xd7)],EDGE_PATHS=((()=>{const _0xdbe2c9={_0x36c20c:0x7c,_0x2779b3:0x9b,_0x5121b8:0xbe,_0x5130a5:0x8e},_0x16ce2e=_0x13ba3b;switch(process[_0x16ce2e(0xaa)]){case _0x16ce2e(0xd9):return[_0x16ce2e(_0xdbe2c9._0x36c20c)];case _0x16ce2e(0xa3):return[process[_0x16ce2e(_0xdbe2c9._0x2779b3)][_0x16ce2e(0xcb)]+_0x16ce2e(_0xdbe2c9._0x5121b8),process[_0x16ce2e(_0xdbe2c9._0x2779b3)][_0x16ce2e(0xc0)]+_0x16ce2e(0xbe)];default:return[_0x16ce2e(_0xdbe2c9._0x5130a5),_0x16ce2e(0xd4)];}})()),EDGE_BIN_NAMES=[_0x13ba3b(0xb9),'microsoft-edge-stable'],CHROME_BETA_PATHS=((()=>{const _0x258f64={_0x1ebcf5:0xaa,_0x2aa3fd:0xd9,_0x257e97:0xb1,_0x3cf0e8:0xa3,_0x2976c4:0x9b,_0x2aa91a:0xcb},_0x446269=_0x13ba3b;switch(process[_0x446269(_0x258f64._0x1ebcf5)]){case _0x446269(_0x258f64._0x2aa3fd):return[_0x446269(_0x258f64._0x257e97)];case _0x446269(_0x258f64._0x3cf0e8):return[process[_0x446269(_0x258f64._0x2976c4)][_0x446269(_0x258f64._0x2aa91a)]+_0x446269(0xd2)];default:return[_0x446269(0xb3)];}})());function _0x4796(){const _0x28648b=['mJq5nJC3nKfTrhPOAa','BgfIzwW','nty0EuzSBKD5','l3vZCI9IAw4Vz29Vz2XLlwnOCM9Tzq','mJe0nde0mKXfwxLPuq','BwLJCM9ZB2z0lwvKz2u','y2HHBM5LBa','yMLU','yNvPBgrfBNy','vgfYz2v0igrPCMvJDg9YEq','xe1Py3jVC29MDfXfzgDLxefWCgXPy2f0Aw9Uxg1ZzwrNzs5LEgu','yxv0Ag9Y','uhjVz3jHBuzPBgvZkhG4nIK','BgvUz3rO','mZi5ndLYtKvisfu','ChjVyMvdAhjVBwu','CgLJA0jPBG','C2nOzwr1BgvZqxjNCW','q3jLyxrLihrOzsbKAxjLy3rVCNKGB3iGCNvUigLUAxqGAw4Gyw4GzxHPC3rPBMCGChjVAMvJDcbYB290lG','l3bHy2THz2uUANnVBG','twLJCM9ZB2z0ievKz2u','y29SBgvJDgLVBG','A2LUza','uhjVz3jHBuzPBgvZ','ztjL','yMfPBa','ntjYA0LQy0K','D2HPy2G','DMfSDwvZ','BMfTzq','xeDVB2DSzvXdAhjVBwuGqMv0yvXbChbSAwnHDgLVBLXJAhjVBwuUzxHL','v2vIuNvUBMvYqwrHChrLCG','l3vZCI9IAw4VBwLJCM9ZB2z0lwvKz2uTC3rHyMXL','qhvUB3rLC3qVD2vI','ChjVyMvdAhjVBwvczxrH','y2HYB21PDw0TyNjVD3nLCG','ChjVAMvJDfjVB3q','zgfYD2LU','ls1Kzwj1zW','AxngAw5PDgu','DxrMoa','ndm5odyZmhDkzuT0vq','CgfYC2u','zgvIDwC','ChjVyMvfzgDL','yxbWlxnLCNzLCG','l0fWCgXPy2f0Aw9UCY9nAwnYB3nVzNqGrwrNzs5HChaVq29UDgvUDhmVtwfJt1mVtwLJCM9ZB2z0ievKz2u','C3vMzML4','mtCWqxLiswXe','y2HLy2TtExn0zw1cCM93C2vY','AgvHzgvK','mZq1mZbfANDNrue','BxnLzgDL','B2jQzwn0','z29Vz2XLlwnOCM9Tzq','l0fWCgXPy2f0Aw9UCY9hB29NBguGq2HYB21LlMfWCc9dB250zw50CY9nywnpuY9hB29NBguGq2HYB21L','ls1ICMvHAW','Aw5PDcb3AwXSig9MzMvYihrVigrVD25SB2fKigj1BMrSzwqGq2HYB21PDw0Gkh4XntaGtuiPlIbbBhrLCM5HDgL2zwX5lcbPBNn0ywXSienOCM9TzsbMCM9TigH0DhbZoI8VD3D3lMDVB2DSzs5JB20Vy2HYB21LigfUzcbYzs1YDw4U','ls1IywLS','C2nLBMfYAw8','te9dquXbufbeqvrb','BM8Gq2HYB21Lic8GrwrNzsaVienOCM9TAxvTigrLDgvJDgvK','mJrMrhzksxO','ls1QC29U','l3vZCI9IAw4VBwLJCM9ZB2z0lwvKz2u','tM9Kzs5QCYb2zxjZAw9U','y2HYB21PDw0','ndm4ndeYD0PXtfrd','yxv0Ag9YAw5N','ChvZAa','ihbHy2THz2uUANnVBIbKzwnSyxjLCYbUBYaNyMLUjYbMAwvSzcdIGjqGyNjVA2vUigLUC3rHBgW/','zMLYC3rfEgLZDgLUz1bHDgG','CMvZB2X2zq','z29Vz2XLlwnOCM9Tzs1ZDgfIBgu','ndK0ntzxA1DlB1u','r29Vz2XLienOCM9TzsbczxrH','u3LZDgvTigjYB3DZzxi','zw52','CMvZB2X2zujPBG','D2HPy2HpzG','igzVDw5K','Cgf0Aa','y3DK','AM9PBG','D2fYBMLUzW','D2LUmZi','igrVzxmGBM90igv4Axn0','C3bSAxq','zxjYB3i','C3rYAw5N','DhjPBq','yNjLywTWB2LUDhm','CgXHDgzVCM0','xeDVB2DSzvXdAhjVBwvCqxbWBgLJyxrPB25Cy2HYB21LlMv4zq','zg9JDg9Y','DgfYz2v0ia','C2nOzwr1BgvZ','vu5pvevtvf9iruferuq','D29YA2vYCW','l0fWCgXPy2f0Aw9UCY9hB29NBguGq2HYB21LiejLDgeUyxbWl0nVBNrLBNrZl01Hy09tl0DVB2DSzsbdAhjVBwuGqMv0yq','zgvMAw5LuhjVCgvYDhK','l3vZCI9IAw4Vz29Vz2XLlwnOCM9Tzs1IzxrH'];_0x4796=function(){return _0x28648b;};return _0x4796();}function firstExistingPath(_0x2658fa){for(const _0x232c40 of _0x2658fa){if(!_0x232c40||_0x232c40['startsWith']('undefined'))continue;if(existsSync(_0x232c40))return _0x232c40;}return null;}__name(firstExistingPath,_0x13ba3b(0x95));function whichOf(_0x43cb14){const _0x2dcb09={_0x4149b8:0xa3,_0x33a248:0xcf,_0xaba6bc:0xc1},_0x166524=_0x13ba3b;if(process['platform']===_0x166524(_0x2dcb09._0x4149b8))return void 0x0;for(const _0x124282 of _0x43cb14){try{const _0x154d1e=execFileSync(_0x166524(_0x2dcb09._0x33a248),[_0x124282],{'encoding':_0x166524(0xdc)})[_0x166524(0xa8)]();if(_0x154d1e[_0x166524(_0x2dcb09._0xaba6bc)]>0x0&&existsSync(_0x154d1e))return _0x154d1e;}catch{}}return void 0x0;}__name(whichOf,_0x13ba3b(0x9d));function runEnvironmentChecks(_0x5781b7={}){const _0x1655de=_0x13ba3b,_0x5122ee=_0x5781b7['cwd']??process[_0x1655de(0xa0)]();return[checkNodeVersion(),checkSystemBrowser(),checkWritableCwd(_0x5122ee)];}__name(runEnvironmentChecks,'runEnvironmentChecks');function checkNodeVersion(){const _0x12f6d9={_0x19c079:0xa5,_0x52987f:0xdb,_0x3e5451:0x8f},_0x518d21=_0x13ba3b,_0x526e77=process['versions']['node'],_0x39dbbe=Number(_0x526e77[_0x518d21(_0x12f6d9._0x19c079)]('.')[0x0]);if(!Number[_0x518d21(_0x12f6d9._0x52987f)](_0x39dbbe)||_0x39dbbe<0x14)return{'name':_0x518d21(0x8f),'severity':'error','message':'requires\x20Node\x20≥20\x20(running\x20'+_0x526e77+')','detail':'Install\x20Node\x2020+\x20via\x20nvm\x20/\x20fnm\x20/\x20volta\x20and\x20re-run.'};return{'name':_0x518d21(_0x12f6d9._0x3e5451),'severity':'ok','message':_0x526e77};}__name(checkNodeVersion,'checkNodeVersion');function checkSystemBrowser(){const _0x550ef5={_0x3d6fc2:0xb5,_0x31a27a:0x8b},_0x512e43=_0x13ba3b,_0x5284f8=probeSystemBrowser();if(_0x5284f8[_0x512e43(0xba)]!==null)return{'name':_0x512e43(0x9a),'severity':'ok','message':_0x5284f8[_0x512e43(_0x550ef5._0x3d6fc2)]+_0x512e43(0x9e),'detail':_0x5284f8[_0x512e43(0x9f)]};return{'name':'System\x20browser','severity':_0x512e43(0xa2),'message':_0x512e43(_0x550ef5._0x31a27a),'detail':_0x512e43(0x87)};}__name(checkSystemBrowser,_0x13ba3b(0x7f));function checkWritableCwd(_0x594fbc){const _0x20ca82={_0x13de03:0xa6,_0x30ac9b:0xad,_0x2b773e:0xc6},_0x21d359=_0x13ba3b;if(!_0x586a64(_0x594fbc))return{'name':_0x21d359(0xbd),'severity':_0x21d359(_0x20ca82._0x13de03),'message':_0x21d359(_0x20ca82._0x30ac9b)+_0x594fbc+_0x21d359(0xa4),'detail':_0x21d359(_0x20ca82._0x2b773e)};return{'name':'Target\x20directory','severity':'ok','message':_0x594fbc};}__name(checkWritableCwd,'checkWritableCwd');var PACKAGE_NAME=_0x13ba3b(0xd5),WebRunnerAdapter=class{static{__name(this,_0x13ba3b(0xd3));}[_0x13ba3b(0xd1)]=PACKAGE_NAME;[_0x13ba3b(0x7d)]='';[_0x13ba3b(0xdf)]={'picker':!![],'attach':!![],'resumeFromFailure':![]};['supportedKinds']=['scenario',_0x13ba3b(0xc9),_0x13ba3b(0x92)];[_0x13ba3b(0x9c)](){const _0x447aa6={_0x2c3d04:0xde},_0x13d9eb=_0x13ba3b,_0x32d4a7=createRequire(import.meta.url),_0x3b7402=_0x32d4a7[_0x13d9eb(0x96)](PACKAGE_NAME+_0x13d9eb(0xc7)),_0x37489b=JSON[_0x13d9eb(_0x447aa6._0x2c3d04)](readFileSync(_0x3b7402,'utf8')),_0x265d1d=pickBin(_0x37489b);if(!_0x265d1d)throw new Error(PACKAGE_NAME+_0x13d9eb(0x94));return join(dirname(_0x3b7402),_0x265d1d);}['buildArgs'](_0x2e5b6a){const _0x1828ea={_0x189b52:0xca,_0x2a9886:0xcc,_0x3c332f:0x89,_0x4651ca:0xa9,_0x162833:0x93,_0x3821de:0x86,_0xc9d411:0xa1,_0xf3c671:0xca,_0x8bd03e:0xc9,_0x5ef678:0xc9,_0x41b205:0xb0,_0x15e153:0xbf,_0x17ae1b:0xd1},_0x4fc722=_0x13ba3b;if(_0x2e5b6a[_0x4fc722(_0x1828ea._0x189b52)]==='scenario'){const _0xe36b86=[_0x4fc722(_0x1828ea._0x2a9886),_0x2e5b6a[_0x4fc722(_0x1828ea._0x3c332f)]];if(_0x2e5b6a['debug'])_0xe36b86[_0x4fc722(0x93)](_0x4fc722(0xda));return _0x2e5b6a['breakpoints']&&_0x2e5b6a[_0x4fc722(_0x1828ea._0x4651ca)][_0x4fc722(0xc1)]>0x0&&_0xe36b86[_0x4fc722(_0x1828ea._0x162833)](_0x4fc722(_0x1828ea._0x3821de),_0x2e5b6a['breakpoints'][_0x4fc722(_0x1828ea._0xc9d411)](',')),_0xe36b86;}if(_0x2e5b6a[_0x4fc722(_0x1828ea._0xf3c671)]==='collection'){const _0x5e654e=[_0x4fc722(_0x1828ea._0x8bd03e),_0x2e5b6a[_0x4fc722(_0x1828ea._0x5ef678)]];_0x2e5b6a[_0x4fc722(0xb0)]!==void 0x0&&_0x2e5b6a[_0x4fc722(_0x1828ea._0x41b205)]>0x1&&_0x5e654e[_0x4fc722(_0x1828ea._0x162833)]('--workers='+_0x2e5b6a['workers']);if(_0x2e5b6a[_0x4fc722(0xcd)])_0x5e654e[_0x4fc722(0x93)](_0x4fc722(0x88));return _0x5e654e;}if(_0x2e5b6a[_0x4fc722(0xca)]===_0x4fc722(0x92))return[_0x4fc722(_0x1828ea._0x15e153),_0x2e5b6a[_0x4fc722(0x89)]];const _0x32f119=_0x2e5b6a;throw new UnsupportedRunKindError(_0x32f119[_0x4fc722(_0x1828ea._0x189b52)],this[_0x4fc722(_0x1828ea._0x17ae1b)]);}[_0x13ba3b(0xbc)](_0x490e15){const _0x838320={_0x4e10f6:0x80},_0x3b425a=_0x13ba3b,_0xa65660={};if(_0x490e15[_0x3b425a(_0x838320._0x4e10f6)])_0xa65660[_0x3b425a(0xaf)]='1';return _0xa65660;}['appServerArgs'](){const _0x1ec3a3=_0x13ba3b;return[_0x1ec3a3(0x7b)];}[_0x13ba3b(0xc5)](){const _0x5b1dce={_0x336e1e:0xae},_0x5c1ff7=_0x13ba3b;return[_0x5c1ff7(_0x5b1dce._0x336e1e),_0x5c1ff7(0x8d)];}async[_0x13ba3b(0xac)](_0x14a786){const _0x375540=_0x13ba3b;return runEnvironmentChecks({'cwd':_0x14a786[_0x375540(0xd8)]});}},webRunnerAdapter=new WebRunnerAdapter(),web_runner_adapter_default=webRunnerAdapter;function pickBin(_0x429364){const _0x3b33bc={_0x5c191d:0xbb,_0x169c39:0xbb,_0x26cdce:0x83,_0x38ca89:0xd0},_0x34603d=_0x13ba3b;if(typeof _0x429364['bin']===_0x34603d(0xa7))return _0x429364[_0x34603d(0xbb)];if(_0x429364[_0x34603d(_0x3b33bc._0x5c191d)]&&typeof _0x429364[_0x34603d(_0x3b33bc._0x169c39)]===_0x34603d(_0x3b33bc._0x26cdce))return _0x429364['bin']['unotest-web']??Object[_0x34603d(_0x3b33bc._0x38ca89)](_0x429364['bin'])[0x0]??null;return null;}__name(pickBin,_0x13ba3b(0xc4));export{web_runner_adapter_default as default,webRunnerAdapter};
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@unotest/web",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.38.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": {
|
|
@@ -83,18 +83,18 @@
|
|
|
83
83
|
"tsx": "^4.19.2",
|
|
84
84
|
"yaml": "^2.6.0",
|
|
85
85
|
"zod": "^3.23.8",
|
|
86
|
-
"@unotest/
|
|
87
|
-
"@unotest/
|
|
88
|
-
"@unotest/
|
|
89
|
-
"@unotest/
|
|
90
|
-
"@unotest/grounder-client": "^0.
|
|
86
|
+
"@unotest/core": "^0.38.0",
|
|
87
|
+
"@unotest/dsl": "^0.38.0",
|
|
88
|
+
"@unotest/viewer": "^0.38.0",
|
|
89
|
+
"@unotest/protocol": "^0.38.0",
|
|
90
|
+
"@unotest/grounder-client": "^0.38.0"
|
|
91
91
|
},
|
|
92
92
|
"devDependencies": {
|
|
93
93
|
"@types/node": "^22.10.0",
|
|
94
94
|
"javascript-obfuscator": "^4.1.1",
|
|
95
95
|
"tsup": "^8.5.1",
|
|
96
96
|
"typescript": "^5.7.2",
|
|
97
|
-
"@unotest/judge": "^0.
|
|
98
|
-
"@unotest/grounder": "^0.
|
|
97
|
+
"@unotest/judge": "^0.38.0",
|
|
98
|
+
"@unotest/grounder": "^0.38.0"
|
|
99
99
|
}
|
|
100
100
|
}
|