@unotest/web 0.36.0 → 0.37.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1 +1 @@
1
- const _0x1ca2cc=_0x5108;(function(_0x29cb1f,_0x48bafd){const _0x370127={_0x2b8fa2:0x84,_0x302c41:0x70,_0x55eb6b:0xa1,_0xaa3c02:0xca,_0x269d1e:0xb5},_0x25765f=_0x5108,_0x44ac00=_0x29cb1f();while(!![]){try{const _0xd938d6=parseInt(_0x25765f(_0x370127._0x2b8fa2))/0x1+-parseInt(_0x25765f(_0x370127._0x302c41))/0x2+-parseInt(_0x25765f(0xa0))/0x3+-parseInt(_0x25765f(_0x370127._0x55eb6b))/0x4+-parseInt(_0x25765f(_0x370127._0xaa3c02))/0x5*(-parseInt(_0x25765f(_0x370127._0x269d1e))/0x6)+-parseInt(_0x25765f(0x6e))/0x7+-parseInt(_0x25765f(0x80))/0x8*(-parseInt(_0x25765f(0x95))/0x9);if(_0xd938d6===_0x48bafd)break;else _0x44ac00['push'](_0x44ac00['shift']());}catch(_0x2a690a){_0x44ac00['push'](_0x44ac00['shift']());}}}(_0x1076,0xbd0d9));var __defProp=Object[_0x1ca2cc(0xa5)],__name=(_0x17952c,_0x5a0d04)=>__defProp(_0x17952c,_0x1ca2cc(0xa3),{'value':_0x5a0d04,'configurable':!![]});import{writeFileSync as _0x9d56a2}from'fs';import{join as _0x2f86d0}from'path';import{fileURLToPath}from'url';import{readFileSync as _0x3bc2a9,existsSync as _0x58dee2}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(_0x13e44c){const _0xc4abb3={_0x299452:0xc5,_0x5d65c4:0x7a,_0x3d543b:0xab,_0x15b60c:0x9a,_0x595673:0x6c,_0x2ff93c:0x73,_0x4ff88d:0x9b},_0x405f11=_0x1ca2cc;if(!existsSync(_0x13e44c))return null;const _0x29a401=join(_0x13e44c,_0x405f11(0x8a));if(!existsSync(_0x29a401))return null;const _0x14c798=JSON[_0x405f11(_0xc4abb3._0x299452)](readFileSync(_0x29a401,_0x405f11(0xab))),_0x5a41b5=join(_0x13e44c,_0x405f11(_0xc4abb3._0x5d65c4)),_0x1cbb50=existsSync(_0x5a41b5)?JSON[_0x405f11(0xc5)](readFileSync(_0x5a41b5,'utf8')):[],_0x46717a=join(_0x13e44c,_0x405f11(0x8c)),_0x559ab0=existsSync(_0x46717a)?JSON[_0x405f11(0xc5)](readFileSync(_0x46717a,_0x405f11(0xab))):void 0x0,_0x26dc3d={'trace':_0x14c798,'console':_0x1cbb50},_0x478776=join(_0x13e44c,_0x405f11(0x6b));existsSync(_0x478776)&&(_0x26dc3d[_0x405f11(0x9c)]=JSON[_0x405f11(0xc5)](readFileSync(_0x478776,_0x405f11(_0xc4abb3._0x3d543b))));if(_0x559ab0!==void 0x0)_0x26dc3d[_0x405f11(_0xc4abb3._0x15b60c)]=_0x559ab0;const _0x2c013b=join(_0x13e44c,'screenshot.png');if(existsSync(_0x2c013b))_0x26dc3d[_0x405f11(_0xc4abb3._0x595673)]=_0x2c013b;else{const _0x3e3874=join(_0x13e44c,_0x405f11(_0xc4abb3._0x2ff93c));existsSync(_0x3e3874)&&(_0x26dc3d[_0x405f11(0xbc)]=readFileSync(_0x3e3874,_0x405f11(0xab)));}const _0x1563a9=join(_0x13e44c,'har.json');if(existsSync(_0x1563a9))_0x26dc3d[_0x405f11(_0xc4abb3._0x4ff88d)]=_0x1563a9;const _0x13afba=join(_0x13e44c,'video.webm');if(existsSync(_0x13afba))_0x26dc3d['videoPath']=_0x13afba;return _0x26dc3d;}__name(readFailureBundle,'readFailureBundle');function listFailures(_0x4ec6c3){const _0x254a3d={_0x18f3ad:0xa4,_0x553fee:0xc5,_0x4bad9c:0xab,_0x11d247:0x7d},_0xe8e15=_0x1ca2cc;if(!existsSync(_0x4ec6c3))return[];const _0x5ebd6b=[];for(const _0x1eb69e of readdirSync(_0x4ec6c3)){const _0x2336b3=join(_0x4ec6c3,_0x1eb69e);if(!statSync(_0x2336b3)[_0xe8e15(_0x254a3d._0x18f3ad)]())continue;for(const _0x255700 of readdirSync(_0x2336b3)){const _0x1f5536=join(_0x2336b3,_0x255700);if(!statSync(_0x1f5536)['isDirectory']())continue;const _0x8b7852=join(_0x1f5536,_0xe8e15(0x8a));if(!existsSync(_0x8b7852))continue;try{const _0x419f47=JSON[_0xe8e15(_0x254a3d._0x553fee)](readFileSync(_0x8b7852,_0xe8e15(_0x254a3d._0x4bad9c)));_0x5ebd6b[_0xe8e15(_0x254a3d._0x11d247)]({'runId':_0x1eb69e,'testFn':_0x419f47[_0xe8e15(0xc1)],'scenarioPath':_0x419f47['scenarioPath'],'dir':_0x1f5536,'timestamp':_0x419f47[_0xe8e15(0x7b)]});}catch{}}}return _0x5ebd6b['sort']((_0x3b7259,_0x270f1e)=>_0x270f1e[_0xe8e15(0x7b)][_0xe8e15(0xa6)](_0x3b7259[_0xe8e15(0x7b)])),_0x5ebd6b;}__name(listFailures,_0x1ca2cc(0xb3));function defaultFailuresRoot(_0x5ab5cc=artifactsRootFrom(process[_0x1ca2cc(0x96)],process['cwd']()),_0x16d31a=process[_0x1ca2cc(0x96)]){return failuresRootFrom(_0x16d31a,join(_0x5ab5cc,...FAILURES_DIR_SEGMENTS));}__name(defaultFailuresRoot,'defaultFailuresRoot');function resolveBundleDir(_0x3f83bc,_0x75e304){const _0x4d62bd={_0x235b01:0xa4},_0x1e4e95=_0x1ca2cc;if(existsSync(_0x3f83bc)&&statSync(_0x3f83bc)[_0x1e4e95(_0x4d62bd._0x235b01)]())return _0x3f83bc;return join(_0x75e304,_0x3f83bc);}__name(resolveBundleDir,'resolveBundleDir');function composeFixPrompt(_0x1febb4,_0xa40c38={}){const _0x45b0c3={_0x48dc2c:0xbd,_0x58b790:0xc7,_0x365508:0xab,_0xca69dd:0x90,_0x5af98f:0xc3,_0x36923d:0x9a},_0x581ad0=_0x1ca2cc,_0x301942=_0xa40c38['failuresRoot']??defaultFailuresRoot(),_0x3c7d91=resolveBundleDir(_0x1febb4,_0x301942),_0x4efe0a=readFailureBundle(_0x3c7d91);if(!_0x4efe0a)throw new Error(_0x581ad0(0xbb)+_0x1febb4+_0x581ad0(0xa2)+_0x3c7d91+')');const _0xa0fb89=_0xa40c38[_0x581ad0(_0x45b0c3._0x48dc2c)]??process[_0x581ad0(0xbd)](),_0xd56079=_0x58dee2(_0x4efe0a[_0x581ad0(0xc3)][_0x581ad0(_0x45b0c3._0x58b790)])?_0x3bc2a9(_0x4efe0a['trace'][_0x581ad0(0xc7)],_0x581ad0(_0x45b0c3._0x365508)):_0x581ad0(_0x45b0c3._0xca69dd),_0x557137=_0xa40c38[_0x581ad0(0x89)]??0x19,_0x3c0ccf=_0x4efe0a[_0x581ad0(0x92)][_0x581ad0(0xb0)](-_0x557137),{suggestedAction:_0x304c15,confidence:_0x555ea1}=classify(_0x4efe0a),_0x4f83eb=buildPromptMarkdown({'bundle':_0x4efe0a,'scenarioSource':_0xd56079,'scenarioRelative':relative(_0xa0fb89,_0x4efe0a[_0x581ad0(0xc3)][_0x581ad0(_0x45b0c3._0x58b790)]),'consoleTail':_0x3c0ccf,'suggestedAction':_0x304c15,'confidence':_0x555ea1}),_0x21774a=Math['ceil'](_0x4f83eb[_0x581ad0(0x6d)]/0x4);return{'promptMarkdown':_0x4f83eb,'suggestedAction':_0x304c15,'confidence':_0x555ea1,'sources':{'bundleDir':_0x3c7d91,'scenarioPath':_0x4efe0a[_0x581ad0(_0x45b0c3._0x5af98f)]['scenarioPath'],'consoleEntries':_0x4efe0a[_0x581ad0(0x92)][_0x581ad0(0x6d)],'hasSnapshot':!!_0x4efe0a[_0x581ad0(_0x45b0c3._0x36923d)]},'approxTokens':_0x21774a};}function _0x1076(){const _0x15c52d=['AxneAxjLy3rVCNK','zgvMAw5LuhjVCgvYDhK','Bg9JywXLq29TCgfYzq','cI0GkIPtDwDNzxn0zwqGywn0Aw9UkIO6iga','y2XHC3nPzNK','zxHPDa','xYHUBYbJB25ZB2XLigvUDhjPzxmGy2fWDhvYzwqPxW','DxrMoa','icbJB25MAwrLBMnLpq','cK5LEhq6ihbHC3rLigvHy2GGzML4lxbYB21WDc5TzcbPBNrVihLVDxiGteXnignSAwvUDcaOq2XHDwrLienVzguGlWPdDxjZB3iGlYbLDgmUks4GvgHLieXmtsbYzxr1CM5ZigeGDw5PzMLLzcbKAwzMoYbYzxzPzxCGAxqGyw5KigfWCgX5cM1HBNvHBgX5lIbxzsbUzxzLCIbHDxrVlwfWCgX5icHelti1ks4k','zML4lxbYB21WDc5Tza','y2HHBMDLlwfZC2vYDgLVBG','C2XPy2u','AgLNAa','C3rLCeLUzgv4','BgLZDezHAwX1CMvZ','CNvUuhjLCgfYzuzPEa','mtHcAw1XwMO','vvjmoIa','CMv3CML0zs1ZzwXLy3rVCG','AM9PBG','cI0GkIPmB2nHDgLVBIOQoIbSAw5Lia','CgfKu3rHCNq','zMfPBhvYzsbIDw5KBguGBM90igzVDw5KigzVCIb0zxn0swq9iG','C2nYzwvUC2HVDevYCM9Y','y3DK','Bg93','y29TCg9ZzuzPEfbYB21WDa','DMfSDwvZ','DgvZDezU','vgLTzw91DevYCM9Y','DhjHy2u','cMbGyaO','CgfYC2u','DgvZDa','C2nLBMfYAw9qyxrO','Dw5RBM93BG','C3rHy2S','mJm1odC0nuvtrxzHBG','zxjY','ycbPBIbG','cMbGyaOkiYmGu2vTyw50AwmTre9nihnUyxbZAg90cGO','cGOJiYbty2vUyxjPBYbZB3vYy2uGkgXPBMuTBNvTyMvYzwqPcGPGygbQCWO','BMv0D29YAY5QC29U','C2nYzwvUC2HVDfbHDgG','BgvUz3rO','mta2mtGYmdjuCKDguKW','ChjLCgfYzs1MAxG6ignVBxbVC2LUzYbMAxGGChjVBxb0CYbMB3iG','odi3nZe4zxzhDg5z','C3bSAxq','C3rHCNrZv2L0Aa','C2nYzwvUC2HVDc1LCNjVCI50Ehq','Dg9mB3DLCKnHC2u','Dg9vChbLCKnHC2u','xYHUBYbZzw1HBNrPyY1KB20GC25HChnOB3qGy2fWDhvYzwqGzM9YihrOAxmGzMfPBhvYzsLF','zMLSDgvY','icb+','BwvZC2fNzq','y29UC29Szs5QC29U','DgLTzxn0yw1W','ls1MywLSAw5N','ChvZAa','D3jPDgu','CNvUswq','otmWnJrtww9sBg0','ChjVBxb0twfYA2rVD24','qxnZzxj0Aw9UrxjYB3i','BgLUzq','ntG5mdqYDwHLquvq','yxbWCM94vg9Rzw5Z','rxjYB3i','yNvPBgrqCM9TChrnyxjRzg93BG','ihrLC3qOCYKGkeqTmJuPcGO','y29UC29SzuXPBwL0','zMfPBhvYzs5QC29U','icdINjCG','C25HChnOB3qUANnVBG','ycaOy29UzMLKzw5JztOG','BwvKAxvT','iYmJifn0ywnRcMbGyaO','phnJzw5HCMLVigzPBguGBM8GBg9Uz2vYig9UigrPC2S+','ycdIGjqG','y29UC29Szq','y2fWDhvYzwrbDa','AgfZ','mJyZn3PKzffkEG','zw52','yxjNDG','C3vNz2vZDgvKqwn0Aw9U','tg9JyxrVCKvYCM9Y','C25HChnOB3q','AgfYugf0Aa','BMv0D29YAW','zxjYB3i','y29S','ChjLCgfYzs1MAxG6ig5VihrLC3rjzcbWCM92AwrLzcbHBMqGBM8GzMfPBgLUzYb0zxn0CYbMB3vUzc4k','mZu0ndm4ow14Aw9eBa','nJeWndC1nMniBwLhCq','iIaOBg9VA2vKigLUia','BMfTzq'];_0x1076=function(){return _0x15c52d;};return _0x1076();}__name(composeFixPrompt,_0x1ca2cc(0xbf));function classify(_0x257896){const _0x27d5f4={_0x1e31c9:0xc3,_0x1a760f:0x79,_0x1486b9:0x74,_0x417fc5:0xc3,_0x5b6e75:0xc8,_0x2d0af7:0xbe,_0x5dc064:0x8e,_0x3de6e5:0xc2,_0xbc3e51:0xc6,_0x3d9655:0xb1,_0x15104b:0xc6,_0x4b8b0e:0x8e},_0xca4c3=_0x1ca2cc,_0x50f585=_0x257896[_0xca4c3(_0x27d5f4._0x1e31c9)]['error'][_0xca4c3(_0x27d5f4._0x1a760f)][_0xca4c3(_0x27d5f4._0x1486b9)](),_0x3ceb70=_0x257896[_0xca4c3(_0x27d5f4._0x417fc5)]['error']['name']??'';let _0x4f079a=_0xca4c3(_0x27d5f4._0x5b6e75),_0x3d5c8f=_0xca4c3(_0x27d5f4._0x2d0af7);if(_0x3ceb70===_0xca4c3(0x99)||/not found|no element|strict mode|resolved to \d+ elements|nothing matched/i[_0xca4c3(0xc6)](_0x50f585))_0x4f079a=_0xca4c3(0xb7),_0x3d5c8f=_0x3ceb70===_0xca4c3(0x99)?_0xca4c3(0xb1):_0xca4c3(_0x27d5f4._0x5dc064);else{if(_0x3ceb70===_0xca4c3(_0x27d5f4._0x3de6e5)||/timeout|waiting for/i[_0xca4c3(_0x27d5f4._0xbc3e51)](_0x50f585))_0x4f079a='add-waitfor',_0x3d5c8f=_0x3ceb70===_0xca4c3(0xc2)?_0xca4c3(_0x27d5f4._0x3d9655):'medium';else(_0x3ceb70===_0xca4c3(0x82)||/asserttext|assertvisible|expected.*got/i[_0xca4c3(_0x27d5f4._0x15104b)](_0x50f585))&&(_0x4f079a=_0xca4c3(0xaf),_0x3d5c8f=_0x3ceb70==='AssertionError'?'high':_0xca4c3(_0x27d5f4._0x4b8b0e));}return{'suggestedAction':_0x4f079a,'confidence':_0x3d5c8f};}__name(classify,_0x1ca2cc(0xa8));function buildPromptMarkdown(_0x4c85d2){const _0x17b51c={_0x5c770c:0x71,_0x22e5b2:0xb8,_0x417e62:0x6d,_0xd3e5a:0x9a,_0x39d03:0x76,_0x4f5f2e:0xcc,_0x37e43a:0xb2,_0x5ca059:0xb9,_0x4569a7:0xc3,_0x2d2c58:0x83,_0x2f0f72:0xc3,_0x27b73b:0xa3,_0x1bfb84:0x79,_0x10cd41:0x8d,_0xd5de49:0xc3,_0x2067a4:0x9d,_0x1a91bb:0xc4,_0x310f51:0x6a},_0x370939=_0x1ca2cc,{bundle:_0x57ca19,scenarioSource:_0x24af91,scenarioRelative:_0x4fe6e9,consoleTail:_0x118a39,suggestedAction:_0xd0e6f1,confidence:_0x37716b}=_0x4c85d2,_0x47976d=_0x24af91[_0x370939(_0x17b51c._0x5c770c)]('\x0a')['map']((_0x490af6,_0x7800d2)=>String(_0x7800d2+0x1)[_0x370939(0xba)](0x3,'\x20')+'\x20\x20'+_0x490af6)[_0x370939(_0x17b51c._0x22e5b2)]('\x0a'),_0x1f5fc4=_0x118a39[_0x370939(_0x17b51c._0x417e62)]===0x0?_0x370939(0xaa):_0x118a39['map'](_0x4bf4dd=>'['+_0x4bf4dd[_0x370939(0x7b)]+']\x20'+_0x4bf4dd['level'][_0x370939(0x75)]()+':\x20'+_0x4bf4dd['text'])[_0x370939(0xb8)]('\x0a'),_0x1d676d=_0x57ca19['snapshot']?_0x370939(0xb6)+_0x57ca19[_0x370939(_0x17b51c._0xd3e5a)]['url']+'\x0aCaptured:\x20'+_0x57ca19['snapshot'][_0x370939(0x93)]+'\x0aRegions:\x20see\x20snapshot.json\x20in\x20the\x20bundle\x20dir\x20(read\x20via\x20`get_failure_a11y`).':_0x370939(_0x17b51c._0x39d03);return'#\x20Test\x20fix\x20request\x0a\x0a##\x20Failure\x20context\x0a\x0a-\x20**Test**:\x20`'+_0x57ca19['trace']['testFn']+_0x370939(_0x17b51c._0x4f5f2e)+_0x4fe6e9+'`\x0a-\x20**Step\x20index**:\x20'+(_0x57ca19['trace'][_0x370939(_0x17b51c._0x37e43a)]??'?')+_0x370939(_0x17b51c._0x5ca059)+_0x57ca19[_0x370939(_0x17b51c._0x4569a7)][_0x370939(_0x17b51c._0x2d2c58)]+',\x20col\x20'+_0x57ca19[_0x370939(_0x17b51c._0x2f0f72)][_0x370939(0x9e)]+'\x0a-\x20**Error**:\x20`'+(_0x57ca19[_0x370939(0xc3)][_0x370939(0x9d)][_0x370939(_0x17b51c._0x27b73b)]??_0x370939(0x86))+_0x370939(0x91)+_0x57ca19['trace']['error'][_0x370939(_0x17b51c._0x1bfb84)]+_0x370939(0xa7)+_0xd0e6f1+_0x370939(_0x17b51c._0x10cd41)+_0x37716b+')\x0a\x0a'+(_0x57ca19['trace']['error']['stack']?_0x370939(0x8f)+_0x57ca19[_0x370939(_0x17b51c._0xd5de49)][_0x370939(_0x17b51c._0x2067a4)][_0x370939(0xc9)]+_0x370939(_0x17b51c._0x1a91bb):'')+_0x370939(_0x17b51c._0x310f51)+_0x47976d+'\x0a```\x0a\x0a##\x20Last\x20console\x20entries\x0a\x0a```\x0a'+_0x1f5fc4+_0x370939(0x69)+_0x1d676d+'\x0a\x0a##\x20What\x20we\x20need\x0a\x0aProduce\x20a\x20**unified\x20diff**\x20that\x20fixes\x20the\x20test.\x20Constraints:\x0a\x0a1.\x20Keep\x20the\x20same\x20test_*()\x20function\x20name\x20and\x20the\x20same\x20overall\x20flow\x20—\x20change\x20the\x0a\x20\x20\x20minimum\x20required\x20to\x20make\x20the\x20failing\x20step\x20succeed.\x0a2.\x20Prefer\x20the\x20D-22\x20selector\x20hierarchy:\x20`getByTestId`\x20→\x20`getByRole({name})`\x0a\x20\x20\x20→\x20`getByLabel`\x20→\x20`getByText`\x20→\x20`locator(css)`\x20(last\x20resort).\x0a3.\x20If\x20adding\x20a\x20wait,\x20prefer\x20`waitFor(loc)`\x20/\x20`waitForUrl(pattern)`\x20over\x20`pause(ms)`.\x0a4.\x20No\x20imports\x20—\x20DSL\x20functions\x20resolve\x20through\x20the\x20runtime\x20registry\x20by\x20name.\x0a5.\x20No\x20`async`/`await`\x20—\x20the\x20executor\x20handles\x20async\x20internally.\x0a6.\x20Output\x20ONLY\x20the\x20unified\x20diff\x20between\x20fences\x20```diff\x20…\x20```.\x20The\x20user\x0a\x20\x20\x20reviews\x20+\x20applies\x20it\x20manually\x20(D-25\x20—\x20we\x20never\x20auto-apply).\x0a';}function _0x5108(_0x325a7c,_0x29d2a4){_0x325a7c=_0x325a7c-0x69;const _0x1076ef=_0x1076();let _0x51080c=_0x1076ef[_0x325a7c];if(_0x5108['TqiYZK']===undefined){var _0x3c0918=function(_0x4d34ec){const _0x325c12='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x9d56a2='',_0x2f86d0='';for(let _0x3bc2a9=0x0,_0x58dee2,_0x17952c,_0x5a0d04=0x0;_0x17952c=_0x4d34ec['charAt'](_0x5a0d04++);~_0x17952c&&(_0x58dee2=_0x3bc2a9%0x4?_0x58dee2*0x40+_0x17952c:_0x17952c,_0x3bc2a9++%0x4)?_0x9d56a2+=String['fromCharCode'](0xff&_0x58dee2>>(-0x2*_0x3bc2a9&0x6)):0x0){_0x17952c=_0x325c12['indexOf'](_0x17952c);}for(let _0x13e44c=0x0,_0x29a401=_0x9d56a2['length'];_0x13e44c<_0x29a401;_0x13e44c++){_0x2f86d0+='%'+('00'+_0x9d56a2['charCodeAt'](_0x13e44c)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x2f86d0);};_0x5108['ZBSeqo']=_0x3c0918,_0x5108['TWApAP']={},_0x5108['TqiYZK']=!![];}const _0x1f8cee=_0x1076ef[0x0],_0x1dc472=_0x325a7c+_0x1f8cee,_0x59b1fd=_0x5108['TWApAP'][_0x1dc472];return!_0x59b1fd?(_0x51080c=_0x5108['ZBSeqo'](_0x51080c),_0x5108['TWApAP'][_0x1dc472]=_0x51080c):_0x51080c=_0x59b1fd,_0x51080c;}__name(buildPromptMarkdown,_0x1ca2cc(0x87));function runPrepareFix(_0x2b05e7,_0x18428a={}){const _0x5a3e0e={_0x4b1a20:0xc0,_0x237166:0x6d,_0x2b8e46:0x88,_0x3e1589:0xae,_0x139e12:0x81,_0x211210:0x7e,_0x321dc2:0x7e,_0x4ae362:0x98,_0x504f25:0xac,_0x2d0462:0x8b,_0x2b9122:0xad},_0x49501c=_0x1ca2cc,_0x2dcee1=_0x18428a['out']??process['stdout'],_0x48de41=_0x18428a[_0x49501c(0xcb)]??process['stderr'],_0x18392c=_0x18428a[_0x49501c(0xbd)]??process[_0x49501c(0xbd)](),_0x4fb715=_0x2b05e7['includes'](_0x49501c(0x7c));let _0x287e98=_0x2b05e7[_0x49501c(0x77)](_0x5b4356=>!_0x5b4356[_0x49501c(0x72)]('-'));if(_0x4fb715||_0x287e98[_0x49501c(0x6d)]===0x0){const _0x64846a=listFailures(defaultFailuresRoot(_0x18392c));if(_0x64846a[_0x49501c(0x6d)]===0x0)return _0x48de41[_0x49501c(0x7e)]('prepare-fix:\x20no\x20failure\x20bundles\x20found\x20under\x20.unotest/failures/.\x20Run\x20a\x20failing\x20test\x20first;\x20the\x20bundle\x20is\x20written\x20automatically.\x0a'),0x1;if(_0x287e98[_0x49501c(0x6d)]===0x0){const _0x4510eb=new Map();for(const _0x2ef714 of _0x64846a){if(!_0x4510eb[_0x49501c(0x94)](_0x2ef714[_0x49501c(0xc1)]))_0x4510eb['set'](_0x2ef714[_0x49501c(0xc1)],_0x2ef714);}_0x287e98=[..._0x4510eb[_0x49501c(_0x5a3e0e._0x4b1a20)]()]['map'](_0x4bbc7a=>_0x4bbc7a[_0x49501c(0x7f)]+'/'+_0x4bbc7a[_0x49501c(0xc1)]);}}if(_0x287e98[_0x49501c(_0x5a3e0e._0x237166)]===0x0)return _0x48de41['write'](_0x49501c(0x9f)),0x1;_0x2dcee1[_0x49501c(0x7e)](_0x49501c(0x6f)+_0x287e98[_0x49501c(_0x5a3e0e._0x237166)]+_0x49501c(_0x5a3e0e._0x2b8e46));const _0x5d248e=defaultFailuresRoot(_0x18392c);for(const _0x11a4ae of _0x287e98){try{const _0x2d15fc=composeFixPrompt(_0x11a4ae,{'cwd':_0x18392c,'failuresRoot':_0x5d248e}),_0x2c4e21=_0x2f86d0(_0x2d15fc['sources']['bundleDir'],_0x49501c(_0x5a3e0e._0x3e1589));_0x9d56a2(_0x2c4e21,_0x2d15fc[_0x49501c(_0x5a3e0e._0x139e12)]),_0x2dcee1[_0x49501c(_0x5a3e0e._0x211210)]('\x20\x20✓\x20'+_0x11a4ae+'\x0a'),_0x2dcee1[_0x49501c(_0x5a3e0e._0x321dc2)]('\x20\x20\x20\x20\x20\x20'+_0x2c4e21+'\x0a'),_0x2dcee1[_0x49501c(0x7e)]('\x20\x20\x20\x20\x20\x20suggestedAction='+_0x2d15fc[_0x49501c(_0x5a3e0e._0x4ae362)]+_0x49501c(_0x5a3e0e._0x504f25)+_0x2d15fc['confidence']+_0x49501c(0x78)+_0x2d15fc[_0x49501c(0x85)]+'t\x0a');}catch(_0x3e61a5){_0x48de41[_0x49501c(0x7e)](_0x49501c(_0x5a3e0e._0x2d0462)+_0x11a4ae+':\x20'+(_0x3e61a5 instanceof Error?_0x3e61a5['message']:String(_0x3e61a5))+'\x0a');}}return _0x2dcee1[_0x49501c(0x7e)](_0x49501c(_0x5a3e0e._0x2b9122)),0x0;}__name(runPrepareFix,_0x1ca2cc(0xb4));var invokedDirectly=process['argv'][0x1]&&fileURLToPath(import.meta.url)===process[_0x1ca2cc(0x97)][0x1];if(invokedDirectly){const code=runPrepareFix(process['argv']['slice'](0x2));process[_0x1ca2cc(0xa9)](code);}export{runPrepareFix};
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 +1 @@
1
- const _0xae4d01=_0x2103;(function(_0x11ba87,_0x4452ae){const _0x4154c2={_0x5e9d42:0x1d0,_0x5cfddc:0x1dc,_0x1181cb:0x1ca,_0x393610:0x1ce,_0xbd61f0:0x1de,_0x5855bf:0x1d1,_0x5bbfca:0x1c8},_0x2fb2cd=_0x2103,_0x596a7c=_0x11ba87();while(!![]){try{const _0xd92abc=parseInt(_0x2fb2cd(0x1e2))/0x1+parseInt(_0x2fb2cd(_0x4154c2._0x5e9d42))/0x2*(-parseInt(_0x2fb2cd(0x1c6))/0x3)+-parseInt(_0x2fb2cd(_0x4154c2._0x5cfddc))/0x4*(parseInt(_0x2fb2cd(_0x4154c2._0x1181cb))/0x5)+parseInt(_0x2fb2cd(0x1c2))/0x6+parseInt(_0x2fb2cd(_0x4154c2._0x393610))/0x7*(-parseInt(_0x2fb2cd(_0x4154c2._0xbd61f0))/0x8)+parseInt(_0x2fb2cd(0x1d6))/0x9*(parseInt(_0x2fb2cd(0x1dd))/0xa)+-parseInt(_0x2fb2cd(_0x4154c2._0x5855bf))/0xb*(parseInt(_0x2fb2cd(_0x4154c2._0x5bbfca))/0xc);if(_0xd92abc===_0x4452ae)break;else _0x596a7c['push'](_0x596a7c['shift']());}catch(_0x1676fe){_0x596a7c['push'](_0x596a7c['shift']());}}}(_0x3bd3,0x83831));var __defProp=Object[_0xae4d01(0x1bd)],__name=(_0x2d3686,_0x5ae528)=>__defProp(_0x2d3686,_0xae4d01(0x1d9),{'value':_0x5ae528,'configurable':!![]});import{mkdir,writeFile}from'fs/promises';import{existsSync}from'fs';import{join}from'path';var templates={'jsconfigJson':_0xae4d01(0x1c5),'scenarioTemplate':_0xae4d01(0x1e1),'agentsMd':_0xae4d01(0x1c3),'claudeMdBody':_0xae4d01(0x1e0),'examples':{'01-smoke.js':_0xae4d01(0x1d3),'02-form-fill.js':_0xae4d01(0x1ba)},'secretsExample':_0xae4d01(0x1c4),'envExample':_0xae4d01(0x1bb)};function unotestConfigMjs(_0xa94106){const _0x25f9be={_0xdd8a10:0x1cd,_0x2a3f6a:0x1bc,_0x385eb6:0x1b9,_0x462cdf:0x1d4},_0x11d6b2=_0xae4d01,_0x4b5f87=_0xa94106===void 0x0?_0x11d6b2(_0x25f9be._0xdd8a10):'\x20\x20channel:\x20'+JSON[_0x11d6b2(_0x25f9be._0x2a3f6a)](_0xa94106)+',';return _0x11d6b2(_0x25f9be._0x385eb6)+_0x4b5f87+_0x11d6b2(_0x25f9be._0x462cdf);}__name(unotestConfigMjs,_0xae4d01(0x1cc));function suitePackageJson(_0x14e658){const _0x36fe84=_0xae4d01;return JSON[_0x36fe84(0x1bc)]({'name':_0x36fe84(0x1cb),'private':!![],'devDependencies':{'@unotest/web':'^'+_0x14e658}},null,0x2)+'\x0a';}function _0x3bd3(){const _0x223de9=['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','mtaZnZG4mezLtevkva','DMvYC2LVBG','zxHHBxbSzxm','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','C3rYAw5NAwz5','zgvMAw5LuhjVCgvYDhK','BgvUz3rO','ztjL','C3vPDgvqywnRywDLsNnVBG','mdeTC21VA2uUANm','ntmWnJG1mgXuwg1ruq','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','m2zpBxLSua','C3rYAw5N','mtjtzKPcr3C','x2HLBhbLCNm','ntqWmhnkvgXdsW','Dw5VDgvZDc1ZDwL0zq','Dw5VDgvZDenVBMzPz01QCW','icaVlYbJAgfUBMvSoIaNy2HYB21LjYWGicaGicaGicaGicaGicaGicaGicaGicaGicaGlY8Gj2nOCM9TzsCGlYaNBxnLzgDLjYaVig51BgWGkgj1BMrSzwqP','mZy4nJj5sfjqsMe','lMvUDG','nduZotuYsez6uezI','mtG0mte5mZjmvMnqEeW','C2nHzMzVBgrxB3jRC3bHy2u','lY8GrxHHBxbSzsaWmsdIGjqGC21VA2u6ig5HDMLNyxrLicSGy2XPy2SGkYbvuKWGyxnZzxj0Aw9UlGOVlWOVlYbuAguGBwLUAw1HBcb0AhjLzs1ZDgvWihbHDhrLCM4UieHPDhmGCgXHEwDYB3vUzc51BM90zxn0lMnVBsbZBYbUBYbWCM9Qzwn0cI8VihnLDhvWigLZig5LzwrLzc4GuNvUihDPDgG6icbUChGGqhvUB3rLC3qVD2vIiguYzsbLEgfTCgXLCY8Wms1ZBw9RzqOkzNvUy3rPB24GDgvZDf9ZBw9Rzv9WBgf5z3jVDw5KkcKGEWOGihn0zxaOiK9Wzw4GDgHLiejPzYbuywjSzsbZy2vUyxjPBYbMCM9TihrOzsbWBgf5z3jVDw5KigLUzgv4iIWGkcKGpt4GEWOGicaGz290BYGNlYCPoWOGicaGy2XPy2SOz2v0qNLsB2XLkcDSAw5RjYWGE25HBwu6icDcAwCGvgfIBguNlcbLEgfJDdOGDhj1zx0PktSkicaGigfZC2vYDfvYBcGNl3nJzw5HCMLVCY9IAwCTDgfIBguNktSkicb9ktSkFqO','cIaGlY8GDMLLD2vYoIb7cIaGlY8GicbWB3j0oIa1mtCZlcaGicaGicaGicaGicaGicaGicaGicaGicaGicaGicaGic8VigrLzMf1Bhq6ihjHBMrVBsbMCMvLihbVCNqkicaVlYaGigjYB3DZzxi6ihrYDwuSicaGicaGicaGicaGicaGicaGicaGicaGicaGicaGlY8GzgvMyxvSDdOGDhj1zsaOyxv0BY1VCgvUig9Uigb2Awv3zxjGkqOGic8Vih0ScN07cG','ANnJB25MAwDkC29U','mJe0nZK1oe9ntxbStW','lI4VlI4VCgfJA2fNzs5QC29U','y2HHBM5LBa','BMfTzq','Dw5VDgvZDa','ChvZAa','mtq4ngrlBefVsG','ndbizKfjyxO','ntz2AM90Dha','DxrMoa'];_0x3bd3=function(){return _0x223de9;};return _0x3bd3();}__name(suitePackageJson,_0xae4d01(0x1c0));import{readFileSync}from'fs';import{dirname,resolve}from'path';import{fileURLToPath}from'url';function readOwnVersion(){const _0x4ed959={_0xd9a9c2:0x1b7},_0x28757b=_0xae4d01,_0x3ff130=dirname(fileURLToPath(import.meta.url)),_0xc577e9=resolve(_0x3ff130,_0x28757b(0x1d7)),_0x2226b9=readFileSync(_0xc577e9,_0x28757b(0x1df)),_0x69b1cf=JSON['parse'](_0x2226b9);if(typeof _0x69b1cf[_0x28757b(_0x4ed959._0xd9a9c2)]!==_0x28757b(0x1c7)||_0x69b1cf[_0x28757b(0x1b7)][_0x28757b(0x1be)]===0x0)throw new Error('package.json\x20at\x20'+_0xc577e9+'\x20has\x20no\x20usable\x20\x22version\x22\x20field');return _0x69b1cf[_0x28757b(0x1b7)];}__name(readOwnVersion,'readOwnVersion');function _0x2103(_0x47f042,_0x42a470){_0x47f042=_0x47f042-0x1b7;const _0x3bd384=_0x3bd3();let _0x210348=_0x3bd384[_0x47f042];if(_0x2103['svwKmq']===undefined){var _0x4891af=function(_0x3d767c){const _0x2e5396='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x2d3686='',_0x5ae528='';for(let _0xa94106=0x0,_0x4b5f87,_0x14e658,_0x3ff130=0x0;_0x14e658=_0x3d767c['charAt'](_0x3ff130++);~_0x14e658&&(_0x4b5f87=_0xa94106%0x4?_0x4b5f87*0x40+_0x14e658:_0x14e658,_0xa94106++%0x4)?_0x2d3686+=String['fromCharCode'](0xff&_0x4b5f87>>(-0x2*_0xa94106&0x6)):0x0){_0x14e658=_0x2e5396['indexOf'](_0x14e658);}for(let _0xc577e9=0x0,_0x2226b9=_0x2d3686['length'];_0xc577e9<_0x2226b9;_0xc577e9++){_0x5ae528+='%'+('00'+_0x2d3686['charCodeAt'](_0xc577e9)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x5ae528);};_0x2103['wNWpIX']=_0x4891af,_0x2103['lahqEe']={},_0x2103['svwKmq']=!![];}const _0x23fc18=_0x3bd384[0x0],_0x271402=_0x47f042+_0x23fc18,_0x589f5a=_0x2103['lahqEe'][_0x271402];return!_0x589f5a?(_0x210348=_0x2103['wNWpIX'](_0x210348),_0x2103['lahqEe'][_0x271402]=_0x210348):_0x210348=_0x589f5a,_0x210348;}async function scaffoldWorkspace(_0x16bae3,_0x571a90={}){const _0x4341a7={_0x5e8bbb:0x1bf,_0x54d672:0x1c9,_0x5a2638:0x1d8,_0x20f490:0x1cf,_0x3e3798:0x1da,_0x515210:0x1d5,_0x4235e9:0x1b8,_0x490e81:0x1db},_0x3c013f=_0xae4d01,_0x49d145=[],_0x5e9858=[];await mkdir(join(_0x16bae3,'unotest',_0x3c013f(0x1bf),'examples'),{'recursive':!![]}),await mkdir(join(_0x16bae3,_0x3c013f(0x1da),_0x3c013f(_0x4341a7._0x5e8bbb),_0x3c013f(_0x4341a7._0x54d672)),{'recursive':!![]});const _0x55b23e=[{'rel':join(_0x3c013f(0x1da),'unotest.config.mjs'),'content':unotestConfigMjs(_0x571a90[_0x3c013f(_0x4341a7._0x5a2638)])},{'rel':join(_0x3c013f(0x1da),'package.json'),'content':suitePackageJson(readOwnVersion())},{'rel':join(_0x3c013f(0x1da),_0x3c013f(_0x4341a7._0x20f490)),'content':templates['envExample']},{'rel':join(_0x3c013f(_0x4341a7._0x3e3798),'jsconfig.json'),'content':templates[_0x3c013f(_0x4341a7._0x515210)]},{'rel':join(_0x3c013f(0x1da),'e2e',_0x3c013f(0x1b8),_0x3c013f(0x1c1)),'content':templates[_0x3c013f(_0x4341a7._0x4235e9)][_0x3c013f(0x1c1)]}];for(const {rel:_0x437926,content:_0x1c85bc}of _0x55b23e){const _0x476476=join(_0x16bae3,_0x437926);if(existsSync(_0x476476)){_0x5e9858['push'](_0x437926);continue;}await writeFile(_0x476476,_0x1c85bc),_0x49d145[_0x3c013f(_0x4341a7._0x490e81)](_0x437926);}return{'projectRoot':_0x16bae3,'created':_0x49d145,'skipped':_0x5e9858};}__name(scaffoldWorkspace,_0xae4d01(0x1d2));export{scaffoldWorkspace};
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 +1 @@
1
- function _0x4209(_0xd59d1c,_0x2bd560){_0xd59d1c=_0xd59d1c-0x1d0;var _0x40423d=_0x4042();var _0x4209e5=_0x40423d[_0xd59d1c];if(_0x4209['tlAmPH']===undefined){var _0x1b4a5a=function(_0x47be16){var _0x198f7e='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';var _0x58c124='',_0x3ada34='';for(var _0xd36b8e=0x0,_0x3075bd,_0x532ecd,_0x53aeda=0x0;_0x532ecd=_0x47be16['charAt'](_0x53aeda++);~_0x532ecd&&(_0x3075bd=_0xd36b8e%0x4?_0x3075bd*0x40+_0x532ecd:_0x532ecd,_0xd36b8e++%0x4)?_0x58c124+=String['fromCharCode'](0xff&_0x3075bd>>(-0x2*_0xd36b8e&0x6)):0x0){_0x532ecd=_0x198f7e['indexOf'](_0x532ecd);}for(var _0xd66417=0x0,_0x4d29de=_0x58c124['length'];_0xd66417<_0x4d29de;_0xd66417++){_0x3ada34+='%'+('00'+_0x58c124['charCodeAt'](_0xd66417)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x3ada34);};_0x4209['lQPaYX']=_0x1b4a5a,_0x4209['kbDjnq']={},_0x4209['tlAmPH']=!![];}var _0x4b8666=_0x40423d[0x0],_0x299844=_0xd59d1c+_0x4b8666,_0x121817=_0x4209['kbDjnq'][_0x299844];return!_0x121817?(_0x4209e5=_0x4209['lQPaYX'](_0x4209e5),_0x4209['kbDjnq'][_0x299844]=_0x4209e5):_0x4209e5=_0x121817,_0x4209e5;}var _0x1b9c12=_0x4209;(function(_0x5a04ea,_0x3f06ef){var _0x1c1a92={_0x45ade2:0x1d8,_0x499737:0x1d5,_0x5e04ef:0x1e1,_0x2e563c:0x1e3,_0x17eb48:0x1d9,_0x1a0f9b:0x1dd,_0x490cc4:0x1e4},_0x509035=_0x4209,_0x518b13=_0x5a04ea();while(!![]){try{var _0x316a0d=parseInt(_0x509035(_0x1c1a92._0x45ade2))/0x1+parseInt(_0x509035(_0x1c1a92._0x499737))/0x2*(parseInt(_0x509035(0x1db))/0x3)+-parseInt(_0x509035(0x1d1))/0x4*(parseInt(_0x509035(0x1e2))/0x5)+parseInt(_0x509035(_0x1c1a92._0x5e04ef))/0x6*(-parseInt(_0x509035(_0x1c1a92._0x2e563c))/0x7)+-parseInt(_0x509035(_0x1c1a92._0x17eb48))/0x8+parseInt(_0x509035(0x1de))/0x9*(-parseInt(_0x509035(_0x1c1a92._0x1a0f9b))/0xa)+-parseInt(_0x509035(0x1e0))/0xb*(-parseInt(_0x509035(_0x1c1a92._0x490cc4))/0xc);if(_0x316a0d===_0x3f06ef)break;else _0x518b13['push'](_0x518b13['shift']());}catch(_0x17747b){_0x518b13['push'](_0x518b13['shift']());}}}(_0x4042,0x880e1));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,_0x1b9c12(0x1dc)),resolve(here,'../../../examples/fixtures/break-fix-app/serve.mjs')],serverEntry=candidates[_0x1b9c12(0x1d7)](_0x58c124=>existsSync(_0x58c124));!serverEntry&&(process[_0x1b9c12(0x1d6)][_0x1b9c12(0x1d0)](_0x1b9c12(0x1df)+candidates[_0x1b9c12(0x1d2)](_0x3ada34=>'\x20\x20'+_0x3ada34+'\x0a')[_0x1b9c12(0x1da)]('')+_0x1b9c12(0x1d4)),process['exit'](0x1));function _0x4042(){var _0x759e84=['zMLUza','odi5nZmWCefSvvDH','mZu4otG4mg14BM5fza','AM9PBG','mZnPvxfzrgS','lI4VlI4VzxHHBxbSzxmVzML4DhvYzxmVyNjLywSTzML4lwfWCc9Zzxj2zs5TANm','mZm5mtyWAM5NzwnI','mtuZA05vwe9r','C2vYDMuTzML4DhvYztOGy2fUBM90igXVy2f0zsbMAxH0DxjLihnLCNzLCIbLBNrYEs4GvhjPzwq6cG','mJG2Eu9oBu1U','nZjitMrgBLy','mJy3mtG1ANvdtvbK','ntG0nti4q3DjDxb5','nZKXntu2zM9LtvH0','D3jPDgu','nJbkzvzzyLi','BwfW','yxjNDG','rgLKihLVDsbWDwjSAxnOihDPDgHVDxqGzxHHBxbSzxmVzML4DhvYzxmVpWO','mtuYotG2teTvEhDc','C3rKzxjY'];_0x4042=function(){return _0x759e84;};return _0x4042();}var child=spawn(process['execPath'],[serverEntry,...process[_0x1b9c12(0x1d3)]['slice'](0x2)],{'stdio':'inherit'});child['on']('exit',_0xd36b8e=>process['exit'](_0xd36b8e??0x1));
1
+ var _0x535771=_0x2301;function _0x29ee(){var _0xee4e81=['D3jPDgu','mZiWotuWmdbyB3DWALa','ntK3mZaZmLHIwgnICW','yxjNDG','C2XPy2u','rgLKihLVDsbWDwjSAxnOihDPDgHVDxqGzxHHBxbSzxmVzML4DhvYzxmVpWO','mtu5ntzNzgnUsLe','nZHluhblwwO','C3rKzxjY','BwfW','C2vYDMuTzML4DhvYztOGy2fUBM90igXVy2f0zsbMAxH0DxjLihnLCNzLCIbLBNrYEs4GvhjPzwq6cG','lI4VlI4VlI4VzxHHBxbSzxmVzML4DhvYzxmVyNjLywSTzML4lwfWCc9Zzxj2zs5TANm','AM9PBG','zxHPDa','n2rVwxL3zW','odbtEgLQA0W','otu0mJG4mgLqwfb3yG','oty0mty1nvnmB2jTtW','zxHLy1bHDgG','mJG0ntG4C0rhDg9z','lI4VlI4VzxHHBxbSzxmVzML4DhvYzxmVyNjLywSTzML4lwfWCc9Zzxj2zs5TANm','mZe2mdmXmuDUwMDtEG'];_0x29ee=function(){return _0xee4e81;};return _0x29ee();}function _0x2301(_0x222de1,_0x540186){_0x222de1=_0x222de1-0x1ae;var _0x29ee75=_0x29ee();var _0x230158=_0x29ee75[_0x222de1];if(_0x2301['BOSRtr']===undefined){var _0xc11641=function(_0x2333e3){var _0x32e1ed='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';var _0xceff2b='',_0x26e6e6='';for(var _0x591ea5=0x0,_0x51a26e,_0x40bb87,_0x4c8aa6=0x0;_0x40bb87=_0x2333e3['charAt'](_0x4c8aa6++);~_0x40bb87&&(_0x51a26e=_0x591ea5%0x4?_0x51a26e*0x40+_0x40bb87:_0x40bb87,_0x591ea5++%0x4)?_0xceff2b+=String['fromCharCode'](0xff&_0x51a26e>>(-0x2*_0x591ea5&0x6)):0x0){_0x40bb87=_0x32e1ed['indexOf'](_0x40bb87);}for(var _0x4ede0d=0x0,_0x5b403d=_0xceff2b['length'];_0x4ede0d<_0x5b403d;_0x4ede0d++){_0x26e6e6+='%'+('00'+_0xceff2b['charCodeAt'](_0x4ede0d)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x26e6e6);};_0x2301['nlvnHU']=_0xc11641,_0x2301['gKoHMP']={},_0x2301['BOSRtr']=!![];}var _0x2e451c=_0x29ee75[0x0],_0x206d08=_0x222de1+_0x2e451c,_0x401a3a=_0x2301['gKoHMP'][_0x206d08];return!_0x401a3a?(_0x230158=_0x2301['nlvnHU'](_0x230158),_0x2301['gKoHMP'][_0x206d08]=_0x230158):_0x230158=_0x401a3a,_0x230158;}(function(_0x27051e,_0x3137e7){var _0x11144e={_0x2264a7:0x1af,_0x5a3992:0x1b0,_0x1913dc:0x1b8,_0x57831e:0x1b9},_0x653eeb=_0x2301,_0x4ef061=_0x27051e();while(!![]){try{var _0x39c3f2=parseInt(_0x653eeb(_0x11144e._0x2264a7))/0x1*(parseInt(_0x653eeb(_0x11144e._0x5a3992))/0x2)+parseInt(_0x653eeb(0x1be))/0x3+parseInt(_0x653eeb(0x1bc))/0x4*(parseInt(_0x653eeb(_0x11144e._0x1913dc))/0x5)+parseInt(_0x653eeb(_0x11144e._0x57831e))/0x6+parseInt(_0x653eeb(0x1b7))/0x7*(parseInt(_0x653eeb(0x1c1))/0x8)+-parseInt(_0x653eeb(0x1ba))/0x9+-parseInt(_0x653eeb(0x1c0))/0xa;if(_0x39c3f2===_0x3137e7)break;else _0x4ef061['push'](_0x4ef061['shift']());}catch(_0x1ff028){_0x4ef061['push'](_0x4ef061['shift']());}}}(_0x29ee,0xd47f3));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,_0x535771(0x1bd)),resolve(here,_0x535771(0x1b4))],serverEntry=candidates['find'](_0xceff2b=>existsSync(_0xceff2b));!serverEntry&&(process[_0x535771(0x1b1)][_0x535771(0x1bf)](_0x535771(0x1b3)+candidates[_0x535771(0x1b2)](_0x26e6e6=>'\x20\x20'+_0x26e6e6+'\x0a')[_0x535771(0x1b5)]('')+_0x535771(0x1ae)),process[_0x535771(0x1b6)](0x1));var child=spawn(process[_0x535771(0x1bb)],[serverEntry,...process[_0x535771(0x1c2)][_0x535771(0x1c3)](0x2)],{'stdio':'inherit'});child['on'](_0x535771(0x1b6),_0x591ea5=>process[_0x535771(0x1b6)](_0x591ea5??0x1));
@@ -1 +1 @@
1
- const _0x47a1f1=_0x53d1;(function(_0xa0738a,_0x40c24){const _0x5bbae7={_0x25444c:0x1de,_0x22756f:0x230,_0x1f398b:0x1d9,_0x3247a4:0x1f1,_0x35b511:0x214,_0x5be1fe:0x234,_0x3c4f06:0x1f4},_0x13f1e6=_0x53d1,_0x12a001=_0xa0738a();while(!![]){try{const _0x1949ad=-parseInt(_0x13f1e6(0x202))/0x1+-parseInt(_0x13f1e6(_0x5bbae7._0x25444c))/0x2+-parseInt(_0x13f1e6(_0x5bbae7._0x22756f))/0x3+-parseInt(_0x13f1e6(0x21f))/0x4*(parseInt(_0x13f1e6(0x1fc))/0x5)+-parseInt(_0x13f1e6(0x23b))/0x6*(-parseInt(_0x13f1e6(_0x5bbae7._0x1f398b))/0x7)+-parseInt(_0x13f1e6(_0x5bbae7._0x3247a4))/0x8*(-parseInt(_0x13f1e6(_0x5bbae7._0x35b511))/0x9)+parseInt(_0x13f1e6(_0x5bbae7._0x5be1fe))/0xa*(parseInt(_0x13f1e6(_0x5bbae7._0x3c4f06))/0xb);if(_0x1949ad===_0x40c24)break;else _0x12a001['push'](_0x12a001['shift']());}catch(_0x406d1f){_0x12a001['push'](_0x12a001['shift']());}}}(_0x3f65,0xe9f94));var __defProp=Object['defineProperty'],__name=(_0x544338,_0xd17b5a)=>__defProp(_0x544338,_0x47a1f1(0x22a),{'value':_0xd17b5a,'configurable':!![]});import{UnsupportedRunKindError}from'@unotest/protocol';import{readFileSync}from'fs';import{createRequire}from'module';import{dirname,join}from'path';import{existsSync as _0x459d00}from'fs';import{execFileSync}from'child_process';import{existsSync}from'fs';function probeSystemBrowser(){const _0x56be93=_0x47a1f1;for(const _0x39e00c of[probeChrome,probeEdge,probeChromeBeta]){const _0x8e407=_0x39e00c();if(_0x8e407[_0x56be93(0x226)]!==null)return _0x8e407;}return{'channel':null};}__name(probeSystemBrowser,_0x47a1f1(0x236));function probeChrome(){const _0xe96d4a={_0x9f10ae:0x22d},_0x592de2=_0x47a1f1,_0x1a188b=firstExistingPath(CHROME_PATHS)??whichOf(CHROME_BIN_NAMES);if(_0x1a188b)return{'channel':_0x592de2(_0xe96d4a._0x9f10ae),'path':_0x1a188b,'label':'Google\x20Chrome'};return{'channel':null};}__name(probeChrome,_0x47a1f1(0x217));function _0x3f65(){const _0x44a818=['Dw5VDgvZDc13zwi','xe1Py3jVC29MDfXfzgDLxefWCgXPy2f0Aw9Uxg1ZzwrNzs5LEgu','y2HYB21L','BwLJCM9ZB2z0lwvKz2u','yNvPBgrfBNy','odGZmdqXC2npzMrm','C3vWCg9YDgvKs2LUzhm','CgLJA0jPBG','vgfYz2v0igrPCMvJDg9YEq','odyZmezVr1vyzq','BgfIzwW','ChjVyMvtExn0zw1cCM93C2vY','AM9PBG','C2nOzwr1BgvZqxjNCW','l0fWCgXPy2f0Aw9UCY9hB29NBguGq2HYB21LlMfWCc9dB250zw50CY9nywnpuY9hB29NBguGq2HYB21L','xeDVB2DSzvXdAhjVBwvCqxbWBgLJyxrPB25Cy2HYB21LlMv4zq','mtaZogLwtwPyvq','A2LUza','AxngAw5PDgu','D2fYBMLUzW','z29Vz2XLlwnOCM9Tzs1ZDgfIBgu','mZG0mZbTzLv4Cey','C3vMzML4','twLJCM9ZB2z0ievKz2u','BgvUz3rO','l3vZCI9IAw4Vy2HYB21PDw0','mJq4mJq2mMHuBwDdDG','r29Vz2XLienOCM9TzsbczxrH','AgvHzgvK','z29Vz2XLlwnOCM9Tzq','te9dquXbufbeqvrb','l3vZCI9IAw4Vz29Vz2XLlwnOCM9Tzs1IzxrH','y2HYB21LlwjLDge','yxbWu2vYDMvYqxjNCW','zw52','q3jLyxrLihrOzsbKAxjLy3rVCNKGB3iGCNvUigLUAxqGAw4Gyw4GzxHPC3rPBMCGChjVAMvJDcbYB290lG','y2HLy2ToB2rLvMvYC2LVBG','uhjVz3jHBuzPBgvZ','ls1Kzwj1zW','yxv0Ag9YAw5N','l0fWCgXPy2f0Aw9UCY9nAwnYB3nVzNqGrwrNzs5HChaVq29UDgvUDhmVtwfJt1mVtwLJCM9ZB2z0ievKz2u','zg9JDg9Y','ls1QC29U','igrVzxmGBM90igv4Axn0','ChvZAa','mJrKywTbuLe','tM9Kzs5QCYb2zxjZAw9U','Cgf0Aa','mJm5odbQA2f5wva','DhjPBq','zgvIDwC','D2HPy2HpzG','l0fWCgXPy2f0Aw9UCY9hB29NBguGq2HYB21LiejLDgeUyxbWl0nVBNrLBNrZl01Hy09tl0DVB2DSzsbdAhjVBwuGqMv0yq','ChjVyMvdAhjVBwvczxrH','ztjL','y3DK','mtG1nZm1tu5fExPv','D2HPy2G','v2vIuNvUBMvYqwrHChrLCG','DgfYz2v0ia','D2LUmZi','qhvUB3rLC3qVD2vI','mJC2ntGYBgXezhrw','l3vZCI9IAw4Vz29Vz2XLlwnOCM9Tzq','BM8Gq2HYB21Lic8GrwrNzsaVienOCM9TAxvTigrLDgvJDgvK','yMLU','ls1IywLS','y2HYB21PDw0','C3bSAxq','u3LZDgvTigjYB3DZzxi','DMvYC2LVBNm','l3vZCI9IAw4Vz29Vz2XLlwnOCM9Tzs1ZDgfIBgu','C3rYAw5N','ls13B3jRzxjZpq','yxv0Ag9Y','y2HLy2TtExn0zw1cCM93C2vY','BwLJCM9ZB2z0lwvKz2uTC3rHyMXL','C2nLBMfYAw8','D29YA2vYCW','CgfYC2u','mJe1odq3owTjsvn0wq','CMvZB2X2zq','yNjLywTWB2LUDhm','ChjVyMvdAhjVBwu','xeDVB2DSzvXdAhjVBwuGqMv0yvXbChbSAwnHDgLVBLXJAhjVBwuUzxHL','l3vZCI9IAw4VBwLJCM9ZB2z0lwvKz2uTC3rHyMXL','yxbWlxnLCNzLCG','y29SBgvJDgLVBG','sw5ZDgfSBcboB2rLidiWkYb2AweGBNzTic8GzM5Tic8GDM9SDgeGyw5KihjLlxj1BI4','C2nOzwr1BgvZ','BxnLzgDL','odrIC2TWy0S','BM9Kzq','uhjVz3jHBuzPBgvZkhG4nIK','zxjYB3i','ls1ICMvHAW','zgfYD2LU','vu5pvevtvf9iruferuq','y2HHBM5LBa','CgXHDgzVCM0','ChjVAMvJDfjVB3q','C3rHCNrZv2L0Aa','BMfTzq'];_0x3f65=function(){return _0x44a818;};return _0x3f65();}function probeEdge(){const _0x1673bd={_0x31d5f3:0x21e,_0x2fe01e:0x1db},_0x37bc7d=_0x47a1f1,_0x4d9ae2=firstExistingPath(EDGE_PATHS)??whichOf(EDGE_BIN_NAMES);if(_0x4d9ae2)return{'channel':_0x37bc7d(_0x1673bd._0x31d5f3),'path':_0x4d9ae2,'label':_0x37bc7d(_0x1673bd._0x2fe01e)};return{'channel':null};}__name(probeEdge,'probeEdge');function probeChromeBeta(){const _0x38f606={_0x4ba0b6:0x1e4},_0xb6e9fd=_0x47a1f1,_0xe76bca=firstExistingPath(CHROME_BETA_PATHS);if(_0xe76bca)return{'channel':_0xb6e9fd(_0x38f606._0x4ba0b6),'path':_0xe76bca,'label':_0xb6e9fd(0x1df)};return{'channel':null};}__name(probeChromeBeta,_0x47a1f1(0x1f9));var CHROME_PATHS=((()=>{const _0x2a0868={_0x439cbc:0x227,_0x3728ea:0x200,_0x512d18:0x1e6,_0xfa666a:0x1e9,_0xf477dd:0x23a,_0x18f46f:0x1e6,_0x5612a4:0x1e2,_0x3074c2:0x203,_0x5d2b77:0x20b},_0x24fc96=_0x47a1f1;switch(process[_0x24fc96(_0x2a0868._0x439cbc)]){case _0x24fc96(0x224):return[_0x24fc96(0x239)];case _0x24fc96(_0x2a0868._0x3728ea):return[process[_0x24fc96(_0x2a0868._0x512d18)][_0x24fc96(_0x2a0868._0xfa666a)]+_0x24fc96(0x23a),process[_0x24fc96(0x1e6)][_0x24fc96(0x221)]+_0x24fc96(_0x2a0868._0xf477dd),process[_0x24fc96(_0x2a0868._0x18f46f)][_0x24fc96(_0x2a0868._0x5612a4)]+_0x24fc96(_0x2a0868._0xf477dd)];default:return[_0x24fc96(_0x2a0868._0x3074c2),_0x24fc96(_0x2a0868._0x5d2b77),'/snap/bin/google-chrome',_0x24fc96(0x1dd),'/usr/bin/chromium-browser'];}})()),CHROME_BIN_NAMES=[_0x47a1f1(0x1e1),_0x47a1f1(0x1d8),_0x47a1f1(0x207),'chromium-browser'],EDGE_PATHS=((()=>{const _0x541b02={_0x502179:0x227,_0x1c1011:0x1ec,_0x1081a7:0x221},_0x495a36=_0x47a1f1;switch(process[_0x495a36(_0x541b02._0x502179)]){case _0x495a36(0x224):return[_0x495a36(_0x541b02._0x1c1011)];case'win32':return[process[_0x495a36(0x1e6)]['ProgramFiles']+_0x495a36(0x22c),process['env'][_0x495a36(_0x541b02._0x1081a7)]+_0x495a36(0x22c)];default:return['/usr/bin/microsoft-edge',_0x495a36(0x219)];}})()),EDGE_BIN_NAMES=[_0x47a1f1(0x22e),_0x47a1f1(0x210)],CHROME_BETA_PATHS=((()=>{const _0x21d966={_0xcd3de5:0x1f8,_0x39dc06:0x218},_0x4d386e=_0x47a1f1;switch(process['platform']){case _0x4d386e(0x224):return[_0x4d386e(_0x21d966._0xcd3de5)];case'win32':return[process['env']['ProgramFiles']+_0x4d386e(_0x21d966._0x39dc06)];default:return[_0x4d386e(0x1e3)];}})());function _0x53d1(_0x1f358a,_0xe5af3a){_0x1f358a=_0x1f358a-0x1d7;const _0x3f65a7=_0x3f65();let _0x53d171=_0x3f65a7[_0x1f358a];if(_0x53d1['aPKdLR']===undefined){var _0x44173c=function(_0x249af9){const _0x434fd0='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x459d00='',_0x544338='';for(let _0xd17b5a=0x0,_0x39e00c,_0x8e407,_0x1a188b=0x0;_0x8e407=_0x249af9['charAt'](_0x1a188b++);~_0x8e407&&(_0x39e00c=_0xd17b5a%0x4?_0x39e00c*0x40+_0x8e407:_0x8e407,_0xd17b5a++%0x4)?_0x459d00+=String['fromCharCode'](0xff&_0x39e00c>>(-0x2*_0xd17b5a&0x6)):0x0){_0x8e407=_0x434fd0['indexOf'](_0x8e407);}for(let _0x4d9ae2=0x0,_0xe76bca=_0x459d00['length'];_0x4d9ae2<_0xe76bca;_0x4d9ae2++){_0x544338+='%'+('00'+_0x459d00['charCodeAt'](_0x4d9ae2)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x544338);};_0x53d1['UIEIQz']=_0x44173c,_0x53d1['gNXVjH']={},_0x53d1['aPKdLR']=!![];}const _0x45ada5=_0x3f65a7[0x0],_0x4c802d=_0x1f358a+_0x45ada5,_0x532676=_0x53d1['gNXVjH'][_0x4c802d];return!_0x532676?(_0x53d171=_0x53d1['UIEIQz'](_0x53d171),_0x53d1['gNXVjH'][_0x4c802d]=_0x53d171):_0x53d171=_0x532676,_0x53d171;}function firstExistingPath(_0x42af74){const _0x249b2f={_0x322ccd:0x229},_0x371e11=_0x47a1f1;for(const _0x1726ac of _0x42af74){if(!_0x1726ac||_0x1726ac[_0x371e11(_0x249b2f._0x322ccd)]('undefined'))continue;if(existsSync(_0x1726ac))return _0x1726ac;}return null;}__name(firstExistingPath,'firstExistingPath');function whichOf(_0x482490){const _0x20aeb5={_0x3b76c6:0x200,_0x26592e:0x1fd,_0x1ec16c:0x1f5},_0x17138e=_0x47a1f1;if(process[_0x17138e(0x227)]===_0x17138e(_0x20aeb5._0x3b76c6))return void 0x0;for(const _0x40f39d of _0x482490){try{const _0x2af494=execFileSync(_0x17138e(_0x20aeb5._0x26592e),[_0x40f39d],{'encoding':'utf8'})[_0x17138e(_0x20aeb5._0x1ec16c)]();if(_0x2af494[_0x17138e(0x1dc)]>0x0&&existsSync(_0x2af494))return _0x2af494;}catch{}}return void 0x0;}__name(whichOf,_0x47a1f1(0x1f7));function runEnvironmentChecks(_0x19097a={}){const _0x48cf5d={_0x5edf90:0x1fb},_0x8fd107=_0x47a1f1,_0x37f7f6=_0x19097a[_0x8fd107(_0x48cf5d._0x5edf90)]??process['cwd']();return[checkNodeVersion(),checkSystemBrowser(),checkWritableCwd(_0x37f7f6)];}__name(runEnvironmentChecks,'runEnvironmentChecks');function checkNodeVersion(){const _0x1f1d13={_0x1bbe02:0x220,_0x5e11e9:0x208,_0x1772a4:0x23d,_0x40f82a:0x222},_0x3cd2ed=_0x47a1f1,_0xa1f477=process[_0x3cd2ed(0x20a)][_0x3cd2ed(_0x1f1d13._0x1bbe02)],_0x1a5f3c=Number(_0xa1f477[_0x3cd2ed(_0x1f1d13._0x5e11e9)]('.')[0x0]);if(!Number[_0x3cd2ed(_0x1f1d13._0x1772a4)](_0x1a5f3c)||_0x1a5f3c<0x14)return{'name':'Node.js\x20version','severity':_0x3cd2ed(_0x1f1d13._0x40f82a),'message':'requires\x20Node\x20≥20\x20(running\x20'+_0xa1f477+')','detail':_0x3cd2ed(0x21c)};return{'name':_0x3cd2ed(0x1f2),'severity':'ok','message':_0xa1f477};}__name(checkNodeVersion,_0x47a1f1(0x1e8));function checkSystemBrowser(){const _0x50f7ce={_0x3f7aee:0x209,_0x7c87b0:0x1d7},_0x3ac955=_0x47a1f1,_0x42cbaa=probeSystemBrowser();if(_0x42cbaa[_0x3ac955(0x226)]!==null)return{'name':_0x3ac955(0x209),'severity':'ok','message':_0x42cbaa[_0x3ac955(0x235)]+'\x20found','detail':_0x42cbaa[_0x3ac955(0x1f3)]};return{'name':_0x3ac955(_0x50f7ce._0x3f7aee),'severity':_0x3ac955(_0x50f7ce._0x7c87b0),'message':_0x3ac955(0x204),'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,_0x47a1f1(0x20f));function checkWritableCwd(_0x2b09ff){const _0x57105e={_0x4ad41a:0x222,_0xbbb01c:0x1ef},_0x40791f=_0x47a1f1;if(!_0x459d00(_0x2b09ff))return{'name':_0x40791f(0x233),'severity':_0x40791f(_0x57105e._0x4ad41a),'message':_0x40791f(0x1ff)+_0x2b09ff+_0x40791f(_0x57105e._0xbbb01c),'detail':_0x40791f(0x1e7)};return{'name':'Target\x20directory','severity':'ok','message':_0x2b09ff};}__name(checkWritableCwd,'checkWritableCwd');var PACKAGE_NAME=_0x47a1f1(0x201),WebRunnerAdapter=class{static{__name(this,_0x47a1f1(0x1fe));}[_0x47a1f1(0x22a)]=PACKAGE_NAME;[_0x47a1f1(0x1da)]='';['debug']={'picker':!![],'attach':!![],'resumeFromFailure':![]};[_0x47a1f1(0x231)]=['scenario','collection','authoring'];['resolveBin'](){const _0xc6f385={_0x1da727:0x215},_0x422518=_0x47a1f1,_0x10db63=createRequire(import.meta.url),_0x5521e5=_0x10db63[_0x422518(_0xc6f385._0x1da727)](PACKAGE_NAME+'/package.json'),_0x5b196d=JSON[_0x422518(0x213)](readFileSync(_0x5521e5,'utf8')),_0x4eaa4c=pickBin(_0x5b196d);if(!_0x4eaa4c)throw new Error(PACKAGE_NAME+'\x20package.json\x20declares\x20no\x20\x27bin\x27\x20field\x20—\x20broken\x20install?');return join(dirname(_0x5521e5),_0x4eaa4c);}['buildArgs'](_0x55360b){const _0x584b44={_0x2f4f51:0x1f6,_0x4b5234:0x1f0,_0x202523:0x1dc,_0x56db3d:0x216,_0x14cae0:0x237,_0xd99029:0x21b,_0xf28a63:0x20d,_0x135f28:0x206,_0x47031f:0x23c,_0x293bfe:0x20e,_0x42330a:0x211,_0x3a7046:0x22a},_0x21cfbb=_0x47a1f1;if(_0x55360b[_0x21cfbb(0x23c)]==='scenario'){const _0x1121f3=[_0x21cfbb(0x1fa),_0x55360b[_0x21cfbb(0x211)]];if(_0x55360b[_0x21cfbb(_0x584b44._0x2f4f51)])_0x1121f3[_0x21cfbb(_0x584b44._0x4b5234)](_0x21cfbb(0x1ea));return _0x55360b['breakpoints']&&_0x55360b['breakpoints'][_0x21cfbb(_0x584b44._0x202523)]>0x0&&_0x1121f3[_0x21cfbb(_0x584b44._0x4b5234)](_0x21cfbb(0x223),_0x55360b[_0x21cfbb(_0x584b44._0x56db3d)][_0x21cfbb(_0x584b44._0x14cae0)](',')),_0x1121f3;}if(_0x55360b[_0x21cfbb(0x23c)]==='collection'){const _0x2f0cec=[_0x21cfbb(_0x584b44._0xd99029),_0x55360b['collection']];_0x55360b[_0x21cfbb(0x212)]!==void 0x0&&_0x55360b[_0x21cfbb(0x212)]>0x1&&_0x2f0cec[_0x21cfbb(0x1f0)](_0x21cfbb(_0x584b44._0xf28a63)+_0x55360b[_0x21cfbb(0x212)]);if(_0x55360b['bail'])_0x2f0cec[_0x21cfbb(0x1f0)](_0x21cfbb(_0x584b44._0x135f28));return _0x2f0cec;}if(_0x55360b[_0x21cfbb(_0x584b44._0x47031f)]===_0x21cfbb(0x1eb))return[_0x21cfbb(_0x584b44._0x293bfe),_0x55360b[_0x21cfbb(_0x584b44._0x42330a)]];const _0x22773b=_0x55360b;throw new UnsupportedRunKindError(_0x22773b[_0x21cfbb(_0x584b44._0x47031f)],this[_0x21cfbb(_0x584b44._0x3a7046)]);}[_0x47a1f1(0x22f)](_0x3242de){const _0x9a3269={_0x11cc04:0x1e0},_0x23045c=_0x47a1f1,_0x40841a={};if(_0x3242de[_0x23045c(_0x9a3269._0x11cc04)])_0x40841a[_0x23045c(0x225)]='1';return _0x40841a;}[_0x47a1f1(0x1e5)](){const _0x5ab53a=_0x47a1f1;return[_0x5ab53a(0x21a)];}[_0x47a1f1(0x238)](){const _0x35ab91={_0x2bea1e:0x21d,_0x1395c8:0x1ee},_0xa7483=_0x47a1f1;return[_0xa7483(_0x35ab91._0x2bea1e),_0xa7483(_0x35ab91._0x1395c8)];}async[_0x47a1f1(0x1ed)](_0x4020a5){const _0x5e47f0={_0x5aa5ad:0x228},_0x556546=_0x47a1f1;return runEnvironmentChecks({'cwd':_0x4020a5[_0x556546(_0x5e47f0._0x5aa5ad)]});}},webRunnerAdapter=new WebRunnerAdapter(),web_runner_adapter_default=webRunnerAdapter;function pickBin(_0x36cd96){const _0x2066ab={_0x3c4782:0x205,_0x21608f:0x20c,_0x357d72:0x22b},_0x23a662=_0x47a1f1;if(typeof _0x36cd96[_0x23a662(_0x2066ab._0x3c4782)]===_0x23a662(_0x2066ab._0x21608f))return _0x36cd96[_0x23a662(0x205)];if(_0x36cd96['bin']&&typeof _0x36cd96[_0x23a662(0x205)]==='object')return _0x36cd96[_0x23a662(0x205)][_0x23a662(_0x2066ab._0x357d72)]??Object['values'](_0x36cd96[_0x23a662(0x205)])[0x0]??null;return null;}__name(pickBin,_0x47a1f1(0x232));export{web_runner_adapter_default as default,webRunnerAdapter};
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};
@@ -280,6 +280,20 @@ Two modes, same tool surface:
280
280
  `UNOTEST_GROUNDER_REMOTE_TOKEN`). Each MCP-server process is an isolated
281
281
  session — two servers never share an index.
282
282
 
283
+ In remote mode the address is ordinary configuration and belongs in
284
+ `unotest/.env`; the token is a credential and belongs in
285
+ `unotest/.secrets`, which is gitignored and never travels inside a pushed
286
+ bundle. That is where `box picker on` writes them, and the server reads the
287
+ token back from the same places: the environment first (an `export`, a CI
288
+ secret), then `unotest/.secrets`, then `unotest/.env`. Nothing needs to be
289
+ pasted into the editor's MCP configuration — and nothing should be, since
290
+ that file is committed.
291
+
292
+ The keys are read when the server **starts**: switching the Picker on or
293
+ off under a running editor changes nothing until that editor reconnects. A
294
+ refusal names every place that was searched, so an untouched editor is the
295
+ first thing to rule out.
296
+
283
297
  At MCP-server start a cheap reachability ping runs against the backend
284
298
  (`/api/tags` for local ollama, `/health` for a remote server, no model
285
299
  warm-up) — it never blocks or fails startup. A down backend produces one
@@ -289,6 +303,10 @@ on an intent step or `ground_element` call surfaces as a typed
289
303
  mode-specific fix hint and whether the backend was reachable at server
290
304
  start — instead of a raw `fetch failed`.
291
305
 
306
+ Remote mode with no token reaches the same warning rather than silence: a
307
+ grounder nothing can call is reported as not ok, naming the places the
308
+ token was looked for, instead of the check quietly not running.
309
+
292
310
  The page is **re-indexed automatically** whenever its content changes
293
311
  (navigation, filter, sort, SPA update) — there is no `reindex` flag; an
294
312
  unchanged page reuses its index. The first index on a page takes seconds
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@unotest/web",
3
- "version": "0.36.0",
3
+ "version": "0.37.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/core": "^0.36.0",
87
- "@unotest/protocol": "^0.36.0",
88
- "@unotest/dsl": "^0.36.0",
89
- "@unotest/viewer": "^0.36.0",
90
- "@unotest/grounder-client": "^0.36.0"
86
+ "@unotest/viewer": "^0.37.0",
87
+ "@unotest/protocol": "^0.37.0",
88
+ "@unotest/core": "^0.37.0",
89
+ "@unotest/dsl": "^0.37.0",
90
+ "@unotest/grounder-client": "^0.37.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.36.0",
98
- "@unotest/grounder": "^0.36.0"
97
+ "@unotest/judge": "^0.37.0",
98
+ "@unotest/grounder": "^0.37.0"
99
99
  }
100
100
  }