@unotest/web 0.35.0 → 0.35.1

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 _0x20df61=_0x1009;(function(_0x368c79,_0x2a4d38){const _0x3e1c85={_0x282365:0x20b,_0x51461e:0x1ae,_0x14dc99:0x1d9,_0x4afbd3:0x1a1},_0x332225=_0x1009,_0xed9e1b=_0x368c79();while(!![]){try{const _0x4820e2=-parseInt(_0x332225(_0x3e1c85._0x282365))/0x1+-parseInt(_0x332225(_0x3e1c85._0x51461e))/0x2*(-parseInt(_0x332225(0x1a6))/0x3)+-parseInt(_0x332225(_0x3e1c85._0x14dc99))/0x4+-parseInt(_0x332225(0x1ed))/0x5*(parseInt(_0x332225(0x1d2))/0x6)+parseInt(_0x332225(_0x3e1c85._0x4afbd3))/0x7+-parseInt(_0x332225(0x1e8))/0x8*(-parseInt(_0x332225(0x1b6))/0x9)+parseInt(_0x332225(0x1be))/0xa*(parseInt(_0x332225(0x1e2))/0xb);if(_0x4820e2===_0x2a4d38)break;else _0xed9e1b['push'](_0xed9e1b['shift']());}catch(_0x40f4b6){_0xed9e1b['push'](_0xed9e1b['shift']());}}}(_0x3f91,0xa113b));var __defProp=Object['defineProperty'],__name=(_0x4b9d01,_0x2412ec)=>__defProp(_0x4b9d01,_0x20df61(0x1da),{'value':_0x2412ec,'configurable':!![]});import{writeFileSync as _0x1cde47}from'fs';import{join as _0x5c0260}from'path';import{fileURLToPath}from'url';import{readFileSync as _0x3208de,existsSync as _0x696baa}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(_0x59dcfb){const _0x42396c={_0x288814:0x1d0,_0x237d6c:0x1cd,_0x5aff4b:0x1d7,_0x107d90:0x1b7,_0x27a4ab:0x1f8,_0x1ecac7:0x1d7,_0x38d3cf:0x205,_0x5b195e:0x1c0},_0x1cd2ee=_0x20df61;if(!existsSync(_0x59dcfb))return null;const _0x1ef3ca=join(_0x59dcfb,_0x1cd2ee(_0x42396c._0x288814));if(!existsSync(_0x1ef3ca))return null;const _0xa5458d=JSON['parse'](readFileSync(_0x1ef3ca,_0x1cd2ee(0x1d7))),_0x865d1b=join(_0x59dcfb,_0x1cd2ee(0x1e3)),_0x40c802=existsSync(_0x865d1b)?JSON[_0x1cd2ee(_0x42396c._0x237d6c)](readFileSync(_0x865d1b,_0x1cd2ee(_0x42396c._0x5aff4b))):[],_0x5f2a2e=join(_0x59dcfb,_0x1cd2ee(0x197)),_0x152db2=existsSync(_0x5f2a2e)?JSON['parse'](readFileSync(_0x5f2a2e,_0x1cd2ee(0x1d7))):void 0x0,_0xfb2468={'trace':_0xa5458d,'console':_0x40c802},_0xeb8645=join(_0x59dcfb,_0x1cd2ee(_0x42396c._0x107d90));existsSync(_0xeb8645)&&(_0xfb2468[_0x1cd2ee(0x20c)]=JSON['parse'](readFileSync(_0xeb8645,'utf8')));if(_0x152db2!==void 0x0)_0xfb2468['snapshot']=_0x152db2;const _0x3f8b1e=join(_0x59dcfb,_0x1cd2ee(_0x42396c._0x27a4ab));if(existsSync(_0x3f8b1e))_0xfb2468[_0x1cd2ee(0x1a2)]=_0x3f8b1e;else{const _0xa048f9=join(_0x59dcfb,_0x1cd2ee(0x1a7));existsSync(_0xa048f9)&&(_0xfb2468[_0x1cd2ee(0x1f0)]=readFileSync(_0xa048f9,_0x1cd2ee(_0x42396c._0x1ecac7)));}const _0x734f5e=join(_0x59dcfb,_0x1cd2ee(0x1e6));if(existsSync(_0x734f5e))_0xfb2468[_0x1cd2ee(_0x42396c._0x38d3cf)]=_0x734f5e;const _0x2aad1b=join(_0x59dcfb,'video.webm');if(existsSync(_0x2aad1b))_0xfb2468[_0x1cd2ee(_0x42396c._0x5b195e)]=_0x2aad1b;return _0xfb2468;}__name(readFailureBundle,_0x20df61(0x20a));function listFailures(_0xb55d34){const _0x12d61e={_0xcd14bf:0x1f6,_0x28c93a:0x1d0,_0x263ac1:0x1cd,_0xa34b32:0x1d7,_0x443354:0x1cf},_0x77d18d=_0x20df61;if(!existsSync(_0xb55d34))return[];const _0xb1cbed=[];for(const _0x11be6f of readdirSync(_0xb55d34)){const _0x3867e3=join(_0xb55d34,_0x11be6f);if(!statSync(_0x3867e3)[_0x77d18d(0x1f6)]())continue;for(const _0x12eda5 of readdirSync(_0x3867e3)){const _0x18605d=join(_0x3867e3,_0x12eda5);if(!statSync(_0x18605d)[_0x77d18d(_0x12d61e._0xcd14bf)]())continue;const _0x573e3c=join(_0x18605d,_0x77d18d(_0x12d61e._0x28c93a));if(!existsSync(_0x573e3c))continue;try{const _0x5ce432=JSON[_0x77d18d(_0x12d61e._0x263ac1)](readFileSync(_0x573e3c,_0x77d18d(_0x12d61e._0xa34b32)));_0xb1cbed['push']({'runId':_0x11be6f,'testFn':_0x5ce432[_0x77d18d(0x1d5)],'scenarioPath':_0x5ce432[_0x77d18d(_0x12d61e._0x443354)],'dir':_0x18605d,'timestamp':_0x5ce432['timestamp']});}catch{}}}return _0xb1cbed['sort']((_0x86d423,_0x3e9f24)=>_0x3e9f24['timestamp'][_0x77d18d(0x1eb)](_0x86d423[_0x77d18d(0x1cb)])),_0xb1cbed;}__name(listFailures,'listFailures');function defaultFailuresRoot(_0xc44969=artifactsRootFrom(process[_0x20df61(0x206)],process[_0x20df61(0x1b1)]()),_0x1bb134=process['env']){return failuresRootFrom(_0x1bb134,join(_0xc44969,...FAILURES_DIR_SEGMENTS));}__name(defaultFailuresRoot,_0x20df61(0x1f7));function resolveBundleDir(_0x56664f,_0x26b013){const _0x14e787=_0x20df61;if(existsSync(_0x56664f)&&statSync(_0x56664f)[_0x14e787(0x1f6)]())return _0x56664f;return join(_0x26b013,_0x56664f);}__name(resolveBundleDir,_0x20df61(0x19a));function composeFixPrompt(_0x1f3264,_0x1e5c86={}){const _0x212d34={_0x42c502:0x1c6,_0x4bafd3:0x1fa,_0x50a02b:0x1cf,_0x21539c:0x1a5,_0x3df59e:0x1cf,_0x15204a:0x1fa},_0x82b023=_0x20df61,_0x34cec5=_0x1e5c86['failuresRoot']??defaultFailuresRoot(),_0x282cdd=resolveBundleDir(_0x1f3264,_0x34cec5),_0x2fbc93=readFailureBundle(_0x282cdd);if(!_0x2fbc93)throw new Error(_0x82b023(0x1d3)+_0x1f3264+_0x82b023(_0x212d34._0x42c502)+_0x282cdd+')');const _0x52713a=_0x1e5c86['cwd']??process['cwd'](),_0x354197=_0x696baa(_0x2fbc93[_0x82b023(0x1fa)]['scenarioPath'])?_0x3208de(_0x2fbc93[_0x82b023(_0x212d34._0x4bafd3)][_0x82b023(_0x212d34._0x50a02b)],_0x82b023(0x1d7)):'<scenario\x20file\x20no\x20longer\x20on\x20disk>',_0x35a79b=_0x1e5c86[_0x82b023(0x1d1)]??0x19,_0x38e63b=_0x2fbc93[_0x82b023(_0x212d34._0x21539c)][_0x82b023(0x1de)](-_0x35a79b),{suggestedAction:_0x49f8c9,confidence:_0x219f37}=classify(_0x2fbc93),_0xd0880c=buildPromptMarkdown({'bundle':_0x2fbc93,'scenarioSource':_0x354197,'scenarioRelative':relative(_0x52713a,_0x2fbc93[_0x82b023(0x1fa)][_0x82b023(_0x212d34._0x3df59e)]),'consoleTail':_0x38e63b,'suggestedAction':_0x49f8c9,'confidence':_0x219f37}),_0x3c133d=Math['ceil'](_0xd0880c[_0x82b023(0x1ec)]/0x4);return{'promptMarkdown':_0xd0880c,'suggestedAction':_0x49f8c9,'confidence':_0x219f37,'sources':{'bundleDir':_0x282cdd,'scenarioPath':_0x2fbc93[_0x82b023(_0x212d34._0x15204a)][_0x82b023(_0x212d34._0x3df59e)],'consoleEntries':_0x2fbc93[_0x82b023(0x1a5)][_0x82b023(0x1ec)],'hasSnapshot':!!_0x2fbc93[_0x82b023(0x1df)]},'approxTokens':_0x3c133d};}__name(composeFixPrompt,'composeFixPrompt');function classify(_0xfb8caf){const _0x4e6e5f={_0x70dc66:0x1fa,_0x189651:0x201,_0x373408:0x1da,_0x214810:0x19c,_0x1ece38:0x1a3,_0x3ab7b5:0x1ca,_0x47898c:0x204,_0xdaf146:0x1a3,_0x311745:0x202,_0x3df340:0x1ee,_0x45f45f:0x20d},_0x579816=_0x20df61,_0xa71ef9=_0xfb8caf[_0x579816(_0x4e6e5f._0x70dc66)][_0x579816(0x1ef)][_0x579816(_0x4e6e5f._0x189651)][_0x579816(0x1ac)](),_0x5b9c74=_0xfb8caf[_0x579816(0x1fa)]['error'][_0x579816(_0x4e6e5f._0x373408)]??'';let _0x41735e='unknown',_0x103370=_0x579816(_0x4e6e5f._0x214810);if(_0x5b9c74===_0x579816(_0x4e6e5f._0x1ece38)||/not found|no element|strict mode|resolved to \d+ elements|nothing matched/i[_0x579816(_0x4e6e5f._0x3ab7b5)](_0xa71ef9))_0x41735e=_0x579816(_0x4e6e5f._0x47898c),_0x103370=_0x5b9c74===_0x579816(_0x4e6e5f._0xdaf146)?_0x579816(_0x4e6e5f._0x311745):_0x579816(0x1dc);else{if(_0x5b9c74==='TimeoutError'||/timeout|waiting for/i['test'](_0xa71ef9))_0x41735e=_0x579816(_0x4e6e5f._0x3df340),_0x103370=_0x5b9c74===_0x579816(_0x4e6e5f._0x45f45f)?'high':_0x579816(0x1dc);else(_0x5b9c74==='AssertionError'||/asserttext|assertvisible|expected.*got/i[_0x579816(0x1ca)](_0xa71ef9))&&(_0x41735e='change-assertion',_0x103370=_0x5b9c74==='AssertionError'?_0x579816(_0x4e6e5f._0x311745):_0x579816(0x1dc));}return{'suggestedAction':_0x41735e,'confidence':_0x103370};}__name(classify,_0x20df61(0x1fb));function buildPromptMarkdown(_0x1d97e2){const _0x42d4d1={_0x4049da:0x1ec,_0x56b4f2:0x1aa,_0x1df7cf:0x19b,_0x1abaf6:0x1fa,_0x1b6aa4:0x1d5,_0x5d8696:0x1c3,_0x521ef3:0x1f2,_0x1237a7:0x1bd,_0x4e2a72:0x209,_0x4eada9:0x1ef,_0x45dc9e:0x1c9,_0x57e94d:0x1fa,_0x459d80:0x1ef,_0x2a9920:0x1a0,_0x354661:0x208,_0x606497:0x1fa,_0xee9ef6:0x1a0,_0x191305:0x198},_0x3480cf=_0x20df61,{bundle:_0x1ed0cd,scenarioSource:_0x1c4f91,scenarioRelative:_0x9d7cc4,consoleTail:_0x3f8232,suggestedAction:_0x17bdc0,confidence:_0x15ee3d}=_0x1d97e2,_0x217385=_0x1c4f91['split']('\x0a')[_0x3480cf(0x1a9)]((_0x3f78a9,_0x5629b9)=>String(_0x5629b9+0x1)[_0x3480cf(0x1db)](0x3,'\x20')+'\x20\x20'+_0x3f78a9)[_0x3480cf(0x1ba)]('\x0a'),_0x1e371e=_0x3f8232[_0x3480cf(_0x42d4d1._0x4049da)]===0x0?_0x3480cf(0x196):_0x3f8232['map'](_0x4ffea7=>'['+_0x4ffea7[_0x3480cf(0x1cb)]+']\x20'+_0x4ffea7[_0x3480cf(0x1c1)][_0x3480cf(0x1a8)]()+':\x20'+_0x4ffea7[_0x3480cf(0x1b2)])[_0x3480cf(0x1ba)]('\x0a'),_0x24bc60=_0x1ed0cd['snapshot']?_0x3480cf(_0x42d4d1._0x56b4f2)+_0x1ed0cd[_0x3480cf(0x1df)][_0x3480cf(_0x42d4d1._0x1df7cf)]+'\x0aCaptured:\x20'+_0x1ed0cd['snapshot'][_0x3480cf(0x1fd)]+_0x3480cf(0x1d4):_0x3480cf(0x1ad);return'#\x20Test\x20fix\x20request\x0a\x0a##\x20Failure\x20context\x0a\x0a-\x20**Test**:\x20`'+_0x1ed0cd[_0x3480cf(_0x42d4d1._0x1abaf6)][_0x3480cf(_0x42d4d1._0x1b6aa4)]+_0x3480cf(0x1f1)+_0x9d7cc4+_0x3480cf(0x1c4)+(_0x1ed0cd[_0x3480cf(_0x42d4d1._0x1abaf6)][_0x3480cf(_0x42d4d1._0x5d8696)]??'?')+_0x3480cf(_0x42d4d1._0x521ef3)+_0x1ed0cd['trace'][_0x3480cf(0x1e4)]+_0x3480cf(0x1d8)+_0x1ed0cd[_0x3480cf(0x1fa)][_0x3480cf(_0x42d4d1._0x1237a7)]+_0x3480cf(_0x42d4d1._0x4e2a72)+(_0x1ed0cd['trace'][_0x3480cf(_0x42d4d1._0x4eada9)]['name']??_0x3480cf(0x1ce))+_0x3480cf(_0x42d4d1._0x45dc9e)+_0x1ed0cd[_0x3480cf(_0x42d4d1._0x57e94d)][_0x3480cf(_0x42d4d1._0x459d80)]['message']+_0x3480cf(0x1bc)+_0x17bdc0+_0x3480cf(0x1ea)+_0x15ee3d+_0x3480cf(0x19e)+(_0x1ed0cd['trace'][_0x3480cf(0x1ef)][_0x3480cf(_0x42d4d1._0x2a9920)]?_0x3480cf(_0x42d4d1._0x354661)+_0x1ed0cd[_0x3480cf(_0x42d4d1._0x606497)][_0x3480cf(0x1ef)][_0x3480cf(_0x42d4d1._0xee9ef6)]+_0x3480cf(_0x42d4d1._0x191305):'')+_0x3480cf(0x199)+_0x217385+_0x3480cf(0x1fe)+_0x1e371e+'\x0a```\x0a\x0a##\x20Semantic-DOM\x20snapshot\x0a\x0a'+_0x24bc60+'\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';}__name(buildPromptMarkdown,_0x20df61(0x19d));function runPrepareFix(_0x9d2434,_0x16bcd5={}){const _0x79bb5d={_0x25a850:0x1c8,_0x5704a8:0x1b1,_0xb27ff9:0x1cc,_0x1dffba:0x1ec,_0x2f17b0:0x1dd,_0x420f5e:0x203,_0x52df00:0x1d5,_0x2e6f04:0x1a9,_0x14ec05:0x1c5,_0x34757d:0x1dd,_0x526c68:0x1f9,_0x4184c6:0x1e7,_0x25a3fd:0x1bb,_0x912d6:0x1dd,_0x52059f:0x1ff,_0x1b1baa:0x1d6,_0x4c1a9d:0x19f,_0x4d2559:0x1e5,_0x3274aa:0x200},_0x533530=_0x20df61,_0x22ee62=_0x16bcd5[_0x533530(_0x79bb5d._0x25a850)]??process[_0x533530(0x1b8)],_0x59f2ca=_0x16bcd5[_0x533530(0x1f5)]??process[_0x533530(0x1fc)],_0x1491d9=_0x16bcd5[_0x533530(_0x79bb5d._0x5704a8)]??process[_0x533530(0x1b1)](),_0x3867d5=_0x9d2434[_0x533530(0x1b0)](_0x533530(_0x79bb5d._0xb27ff9));let _0x3c762f=_0x9d2434[_0x533530(0x1b3)](_0x424171=>!_0x424171[_0x533530(0x1ab)]('-'));if(_0x3867d5||_0x3c762f[_0x533530(_0x79bb5d._0x1dffba)]===0x0){const _0x573ab5=listFailures(defaultFailuresRoot(_0x1491d9));if(_0x573ab5['length']===0x0)return _0x59f2ca[_0x533530(_0x79bb5d._0x2f17b0)](_0x533530(0x1c7)),0x1;if(_0x3c762f[_0x533530(0x1ec)]===0x0){const _0x54c6df=new Map();for(const _0x13aab6 of _0x573ab5){if(!_0x54c6df[_0x533530(_0x79bb5d._0x420f5e)](_0x13aab6[_0x533530(_0x79bb5d._0x52df00)]))_0x54c6df[_0x533530(0x1c2)](_0x13aab6['testFn'],_0x13aab6);}_0x3c762f=[..._0x54c6df[_0x533530(0x1f3)]()][_0x533530(_0x79bb5d._0x2e6f04)](_0x1d9f03=>_0x1d9f03[_0x533530(0x1af)]+'/'+_0x1d9f03[_0x533530(0x1d5)]);}}if(_0x3c762f[_0x533530(_0x79bb5d._0x1dffba)]===0x0)return _0x59f2ca['write'](_0x533530(_0x79bb5d._0x14ec05)),0x1;_0x22ee62[_0x533530(_0x79bb5d._0x34757d)](_0x533530(0x1b4)+_0x3c762f[_0x533530(_0x79bb5d._0x1dffba)]+_0x533530(_0x79bb5d._0x526c68));const _0x1e1de2=defaultFailuresRoot(_0x1491d9);for(const _0xc22893 of _0x3c762f){try{const _0x7665e0=composeFixPrompt(_0xc22893,{'cwd':_0x1491d9,'failuresRoot':_0x1e1de2}),_0x4c2719=_0x5c0260(_0x7665e0[_0x533530(_0x79bb5d._0x4184c6)][_0x533530(0x1f4)],_0x533530(_0x79bb5d._0x25a3fd));_0x1cde47(_0x4c2719,_0x7665e0[_0x533530(0x1e1)]),_0x22ee62[_0x533530(0x1dd)](_0x533530(0x1a4)+_0xc22893+'\x0a'),_0x22ee62[_0x533530(_0x79bb5d._0x912d6)](_0x533530(0x1e0)+_0x4c2719+'\x0a'),_0x22ee62[_0x533530(0x1dd)](_0x533530(_0x79bb5d._0x52059f)+_0x7665e0[_0x533530(_0x79bb5d._0x1b1baa)]+_0x533530(_0x79bb5d._0x4c1a9d)+_0x7665e0[_0x533530(_0x79bb5d._0x4d2559)]+_0x533530(0x1b5)+_0x7665e0['approxTokens']+'t\x0a');}catch(_0xa2c657){_0x59f2ca[_0x533530(_0x79bb5d._0x34757d)](_0x533530(_0x79bb5d._0x3274aa)+_0xc22893+':\x20'+(_0xa2c657 instanceof Error?_0xa2c657['message']:String(_0xa2c657))+'\x0a');}}return _0x22ee62[_0x533530(_0x79bb5d._0x912d6)](_0x533530(0x1e9)),0x0;}__name(runPrepareFix,_0x20df61(0x1bf));function _0x1009(_0xd713ad,_0xe60608){_0xd713ad=_0xd713ad-0x196;const _0x3f91dc=_0x3f91();let _0x10097a=_0x3f91dc[_0xd713ad];if(_0x1009['OWKgTJ']===undefined){var _0x44ff55=function(_0x5a187b){const _0x4f222e='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x1cde47='',_0x5c0260='';for(let _0x3208de=0x0,_0x696baa,_0x4b9d01,_0x2412ec=0x0;_0x4b9d01=_0x5a187b['charAt'](_0x2412ec++);~_0x4b9d01&&(_0x696baa=_0x3208de%0x4?_0x696baa*0x40+_0x4b9d01:_0x4b9d01,_0x3208de++%0x4)?_0x1cde47+=String['fromCharCode'](0xff&_0x696baa>>(-0x2*_0x3208de&0x6)):0x0){_0x4b9d01=_0x4f222e['indexOf'](_0x4b9d01);}for(let _0x59dcfb=0x0,_0x1ef3ca=_0x1cde47['length'];_0x59dcfb<_0x1ef3ca;_0x59dcfb++){_0x5c0260+='%'+('00'+_0x1cde47['charCodeAt'](_0x59dcfb)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x5c0260);};_0x1009['GmxBRk']=_0x44ff55,_0x1009['XloMds']={},_0x1009['OWKgTJ']=!![];}const _0x4d1016=_0x3f91dc[0x0],_0x1584df=_0xd713ad+_0x4d1016,_0x52b7af=_0x1009['XloMds'][_0x1584df];return!_0x52b7af?(_0x10097a=_0x1009['GmxBRk'](_0x10097a),_0x1009['XloMds'][_0x1584df]=_0x10097a):_0x10097a=_0x52b7af,_0x10097a;}function _0x3f91(){const _0x3cc792=['kqOk','icbJB25MAwrLBMnLpq','C3rHy2S','mZy1mteWmLjJBgzhzW','C2nYzwvUC2HVDfbHDgG','tg9JyxrVCKvYCM9Y','icdINjmG','y29UC29Szq','ota2ota2sxjwEu1y','C2nYzwvUC2HVDc1LCNjVCI50Ehq','Dg9vChbLCKnHC2u','BwfW','vvjmoIa','C3rHCNrZv2L0Aa','Dg9mB3DLCKnHC2u','xYHUBYbZzw1HBNrPyY1KB20GC25HChnOB3qGy2fWDhvYzwqGzM9YihrOAxmGzMfPBhvYzsLF','mLfhBw50zG','CNvUswq','Aw5JBhvKzxm','y3DK','Dgv4Da','zMLSDgvY','ChjLCgfYzs1MAxG6ignVBxbVC2LUzYbMAxGGChjVBxb0CYbMB3iG','icb+','mta2odiWmtLTCufvshy','BMv0D29YAY5QC29U','C3rKB3v0','zxHPDa','AM9PBG','zML4lxbYB21WDc5Tza','cI0GkIPtDwDNzxn0zwqGywn0Aw9UkIO6iga','y29S','ndGWmtaXmhn2C0D2sq','CNvUuhjLCgfYzuzPEa','DMLKzw9qyxrO','Bgv2zwW','C2v0','C3rLCeLUzgv4','yaOTicOQu3rLCcbPBMrLEcOQoIa','ChjLCgfYzs1MAxG6ig5VihrLC3rjzcbWCM92AwrLzcbHBMqGBM8GzMfPBgLUzYb0zxn0CYbMB3vUzc4k','iIaOBg9VA2vKigLUia','ChjLCgfYzs1MAxG6ig5VigzHAwX1CMuGyNvUzgXLCYbMB3vUzcb1BMrLCIaUDw5VDgvZDc9MywLSDxjLCY8Uifj1BIbHigzHAwXPBMCGDgvZDcbMAxjZDdSGDgHLigj1BMrSzsbPCYb3CML0DgvUigf1Dg9TyxrPy2fSBhKUcG','B3v0','ycdIGjqG','DgvZDa','DgLTzxn0yw1W','ls1MywLSAw5N','CgfYC2u','rxjYB3i','C2nLBMfYAw9qyxrO','zMfPBhvYzs5QC29U','y29UC29SzuXPBwL0','mJrSuhHbtuu','zMfPBhvYzsbIDw5KBguGBM90igzVDw5KigzVCIb0zxn0swq9iG','cLjLz2LVBNm6ihnLzsbZBMfWC2HVDc5QC29UigLUihrOzsbIDw5KBguGzgLYicHYzwfKihzPysbGz2v0x2zHAwX1CMvFyteXEwaPlG','DgvZDezU','C3vNz2vZDgvKqwn0Aw9U','DxrMoa','lcbJB2WG','ndKZmZi1mMfszuPYqq','BMfTzq','CgfKu3rHCNq','BwvKAxvT','D3jPDgu','C2XPy2u','C25HChnOB3q','icaGicaG','ChjVBxb0twfYA2rVD24','mtfwu3ndthC','y29UC29Szs5QC29U','BgLUzq','y29UzMLKzw5Jzq','AgfYlMPZB24','C291CMnLCW','ogvgrhbNBG','cK5LEhq6ihbHC3rLigvHy2GGzML4lxbYB21WDc5TzcbPBNrVihLVDxiGteXnignSAwvUDcaOq2XHDwrLienVzguGlWPdDxjZB3iGlYbLDgmUks4GvgHLieXmtsbYzxr1CM5ZigeGDw5PzMLLzcbKAwzMoYbYzxzPzxCGAxqGyw5KigfWCgX5cM1HBNvHBgX5lIbxzsbUzxzLCIbHDxrVlwfWCgX5icHelti1ks4k','ycaOy29UzMLKzw5JztOG','Bg9JywXLq29TCgfYzq','BgvUz3rO','ntq1ntyWAeDSC250','ywrKlxDHAxrMB3i','zxjYB3i','C2nYzwvUC2HVDevYCM9Y','ycbPBIbG','cI0GkIPmB2nHDgLVBIOQoIbSAw5Lia','DMfSDwvZ','yNvUzgXLrgLY','zxjY','AxneAxjLy3rVCNK','zgvMyxvSDezHAwX1CMvZuM9VDa','C2nYzwvUC2HVDc5WBMC','ihrLC3qOCYKGkeqTmJuPcGO','DhjHy2u','y2XHC3nPzNK','C3rKzxjY','y2fWDhvYzwrbDa','cMbGyaOkiYmGtgfZDcbJB25ZB2XLigvUDhjPzxmkcMbGyaO','icaGicaGC3vNz2vZDgvKqwn0Aw9Upq','icdINjCG','BwvZC2fNzq','AgLNAa','AgfZ','CMv3CML0zs1ZzwXLy3rVCG','AgfYugf0Aa','zw52','yxjNDG','iYmJifn0ywnRcMbGyaO','cI0GkIPfCNjVCIOQoIbG','CMvHzezHAwX1CMvcDw5KBgu','mtyXmZq4ExnOqvvQ','BMv0D29YAW','vgLTzw91DevYCM9Y','xYHUBYbJB25ZB2XLigvUDhjPzxmGy2fWDhvYzwqPxW','C25HChnOB3qUANnVBG','cMbGyaO','cGOJiYbty2vUyxjPBYbZB3vYy2uGkgXPBMuTBNvTyMvYzwqPcGPGygbQCWO','CMvZB2X2zuj1BMrSzurPCG','DxjS','Bg93','yNvPBgrqCM9TChrnyxjRzg93BG'];_0x3f91=function(){return _0x3cc792;};return _0x3f91();}var invokedDirectly=process[_0x20df61(0x207)][0x1]&&fileURLToPath(import.meta.url)===process['argv'][0x1];if(invokedDirectly){const code=runPrepareFix(process[_0x20df61(0x207)][_0x20df61(0x1de)](0x2));process[_0x20df61(0x1b9)](code);}export{runPrepareFix};
1
+ const _0xef30b9=_0x98bd;(function(_0x41b2b6,_0x54ee88){const _0x532cfd={_0x21b682:0x1f5,_0x25b4c9:0x215,_0x1504f7:0x20f,_0x429fba:0x217},_0x152321=_0x98bd,_0xb3050d=_0x41b2b6();while(!![]){try{const _0x38fdf6=-parseInt(_0x152321(0x216))/0x1+-parseInt(_0x152321(_0x532cfd._0x21b682))/0x2*(-parseInt(_0x152321(0x244))/0x3)+parseInt(_0x152321(_0x532cfd._0x25b4c9))/0x4+parseInt(_0x152321(0x24c))/0x5+parseInt(_0x152321(_0x532cfd._0x1504f7))/0x6+parseInt(_0x152321(0x24f))/0x7*(-parseInt(_0x152321(0x249))/0x8)+-parseInt(_0x152321(_0x532cfd._0x429fba))/0x9*(parseInt(_0x152321(0x23f))/0xa);if(_0x38fdf6===_0x54ee88)break;else _0xb3050d['push'](_0xb3050d['shift']());}catch(_0x577037){_0xb3050d['push'](_0xb3050d['shift']());}}}(_0x43a3,0xc3afa));var __defProp=Object[_0xef30b9(0x226)],__name=(_0x3aa1be,_0x22a162)=>__defProp(_0x3aa1be,_0xef30b9(0x218),{'value':_0x22a162,'configurable':!![]});import{writeFileSync as _0x4ccd1f}from'fs';import{join as _0x2f3f37}from'path';import{fileURLToPath}from'url';import{readFileSync as _0x43f5e5,existsSync as _0x59aa2b}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(_0x25cf30){const _0x2422a4={_0x329618:0x214,_0x42d4d5:0x1f6,_0x59b898:0x245,_0x39085d:0x22a,_0x2db75c:0x201,_0x5ec5eb:0x1ff,_0x43d2a7:0x240},_0xc0cd6e=_0xef30b9;if(!existsSync(_0x25cf30))return null;const _0x31e47b=join(_0x25cf30,'failure.json');if(!existsSync(_0x31e47b))return null;const _0x2f8d7f=JSON[_0xc0cd6e(0x245)](readFileSync(_0x31e47b,_0xc0cd6e(_0x2422a4._0x329618))),_0xeeb9a7=join(_0x25cf30,_0xc0cd6e(0x208)),_0x511301=existsSync(_0xeeb9a7)?JSON[_0xc0cd6e(0x245)](readFileSync(_0xeeb9a7,_0xc0cd6e(0x214))):[],_0x5e7ea0=join(_0x25cf30,_0xc0cd6e(_0x2422a4._0x42d4d5)),_0x39efc4=existsSync(_0x5e7ea0)?JSON[_0xc0cd6e(_0x2422a4._0x59b898)](readFileSync(_0x5e7ea0,_0xc0cd6e(_0x2422a4._0x329618))):void 0x0,_0x5dded8={'trace':_0x2f8d7f,'console':_0x511301},_0x257ae4=join(_0x25cf30,_0xc0cd6e(_0x2422a4._0x39085d));existsSync(_0x257ae4)&&(_0x5dded8[_0xc0cd6e(0x1ef)]=JSON['parse'](readFileSync(_0x257ae4,_0xc0cd6e(0x214))));if(_0x39efc4!==void 0x0)_0x5dded8[_0xc0cd6e(0x212)]=_0x39efc4;const _0x375b15=join(_0x25cf30,_0xc0cd6e(0x233));if(existsSync(_0x375b15))_0x5dded8[_0xc0cd6e(0x228)]=_0x375b15;else{const _0x43dfd6=join(_0x25cf30,_0xc0cd6e(0x236));existsSync(_0x43dfd6)&&(_0x5dded8[_0xc0cd6e(0x1f2)]=readFileSync(_0x43dfd6,'utf8'));}const _0x4761de=join(_0x25cf30,'har.json');if(existsSync(_0x4761de))_0x5dded8[_0xc0cd6e(_0x2422a4._0x2db75c)]=_0x4761de;const _0x1e6afe=join(_0x25cf30,_0xc0cd6e(_0x2422a4._0x5ec5eb));if(existsSync(_0x1e6afe))_0x5dded8[_0xc0cd6e(_0x2422a4._0x43d2a7)]=_0x1e6afe;return _0x5dded8;}__name(readFailureBundle,_0xef30b9(0x200));function _0x98bd(_0x4dab12,_0x4989a6){_0x4dab12=_0x4dab12-0x1e5;const _0x43a30d=_0x43a3();let _0x98bd2d=_0x43a30d[_0x4dab12];if(_0x98bd['HXEpOO']===undefined){var _0x38ec84=function(_0x53e47d){const _0x1b04dc='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x4ccd1f='',_0x2f3f37='';for(let _0x43f5e5=0x0,_0x59aa2b,_0x3aa1be,_0x22a162=0x0;_0x3aa1be=_0x53e47d['charAt'](_0x22a162++);~_0x3aa1be&&(_0x59aa2b=_0x43f5e5%0x4?_0x59aa2b*0x40+_0x3aa1be:_0x3aa1be,_0x43f5e5++%0x4)?_0x4ccd1f+=String['fromCharCode'](0xff&_0x59aa2b>>(-0x2*_0x43f5e5&0x6)):0x0){_0x3aa1be=_0x1b04dc['indexOf'](_0x3aa1be);}for(let _0x25cf30=0x0,_0x31e47b=_0x4ccd1f['length'];_0x25cf30<_0x31e47b;_0x25cf30++){_0x2f3f37+='%'+('00'+_0x4ccd1f['charCodeAt'](_0x25cf30)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x2f3f37);};_0x98bd['KAHgOs']=_0x38ec84,_0x98bd['CneGYe']={},_0x98bd['HXEpOO']=!![];}const _0xb1fc6b=_0x43a30d[0x0],_0x235a81=_0x4dab12+_0xb1fc6b,_0x4ed66f=_0x98bd['CneGYe'][_0x235a81];return!_0x4ed66f?(_0x98bd2d=_0x98bd['KAHgOs'](_0x98bd2d),_0x98bd['CneGYe'][_0x235a81]=_0x98bd2d):_0x98bd2d=_0x4ed66f,_0x98bd2d;}function listFailures(_0xd81b2f){const _0x2eddff={_0x37266a:0x245,_0x3cd646:0x242,_0x23326b:0x24b,_0x4c3379:0x21a},_0x427ff3=_0xef30b9;if(!existsSync(_0xd81b2f))return[];const _0x5025e7=[];for(const _0x5ea91e of readdirSync(_0xd81b2f)){const _0x5ad81c=join(_0xd81b2f,_0x5ea91e);if(!statSync(_0x5ad81c)['isDirectory']())continue;for(const _0x56198c of readdirSync(_0x5ad81c)){const _0x4cc00e=join(_0x5ad81c,_0x56198c);if(!statSync(_0x4cc00e)[_0x427ff3(0x211)]())continue;const _0x1793bb=join(_0x4cc00e,'failure.json');if(!existsSync(_0x1793bb))continue;try{const _0x390a12=JSON[_0x427ff3(_0x2eddff._0x37266a)](readFileSync(_0x1793bb,_0x427ff3(0x214)));_0x5025e7[_0x427ff3(_0x2eddff._0x3cd646)]({'runId':_0x5ea91e,'testFn':_0x390a12[_0x427ff3(0x258)],'scenarioPath':_0x390a12[_0x427ff3(_0x2eddff._0x23326b)],'dir':_0x4cc00e,'timestamp':_0x390a12[_0x427ff3(0x209)]});}catch{}}}return _0x5025e7[_0x427ff3(_0x2eddff._0x4c3379)]((_0x3fa6dd,_0x593aa7)=>_0x593aa7[_0x427ff3(0x209)][_0x427ff3(0x237)](_0x3fa6dd[_0x427ff3(0x209)])),_0x5025e7;}function _0x43a3(){const _0x55b25e=['AgfYugf0Aa','cLjLz2LVBNm6ihnLzsbZBMfWC2HVDc5QC29UigLUihrOzsbIDw5KBguGzgLYicHYzwfKihzPysbGz2v0x2zHAwX1CMvFyteXEwaPlG','C3rKB3v0','qxnZzxj0Aw9UrxjYB3i','ChjLCgfYzs1MAxG6ig5VihrLC3rjzcbWCM92AwrLzcbHBMqGBM8GzMfPBgLUzYb0zxn0CYbMB3vUzc4k','ycbPBIbG','C3vNz2vZDgvKqwn0Aw9U','y29UC29Szs5QC29U','DgLTzxn0yw1W','tg9JyxrVCKvYCM9Y','DxjS','vvjmoIa','C3bSAxq','zMfPBhvYzsbIDw5KBguGBM90igzVDw5KigzVCIb0zxn0swq9iG','nJKXoda5meD4tunMza','Dgv4Da','AxneAxjLy3rVCNK','C25HChnOB3q','yxbWCM94vg9Rzw5Z','DxrMoa','ntCXndmYogTiq296AG','nZqYmtuWuMvtzvjz','ovP1vgjIwa','BMfTzq','ywrKlxDHAxrMB3i','C29YDa','ChjLCgfYzs1MAxG6ignVBxbVC2LUzYbMAxGGChjVBxb0CYbMB3iG','BgvUz3rO','C2XPy2u','zxjYB3i','CNvUswq','cKnHChr1CMvKoIa','CMvZB2X2zuj1BMrSzurPCG','C2v0','zMfPBhvYzxnsB290','Dg9vChbLCKnHC2u','icb+','zgvMAw5LuhjVCgvYDhK','cMbGyaOkiYmGtgfZDcbJB25ZB2XLigvUDhjPzxmkcMbGyaO','C2nYzwvUC2HVDfbHDgG','cI0GkIPtDwDNzxn0zwqGywn0Aw9UkIO6iga','BMv0D29YAY5QC29U','AgfZ','CNvUuhjLCgfYzuzPEa','ChjVBxb0twfYA2rVD24','yNvPBgrqCM9TChrnyxjRzg93BG','DhjHy2u','icdINjmG','yxjNDG','yaOTicOQu3rLCcbPBMrLEcOQoIa','C2nYzwvUC2HVDc5WBMC','Dg9mB3DLCKnHC2u','C3rHy2S','C2nYzwvUC2HVDc1LCNjVCI50Ehq','Bg9JywXLq29TCgfYzq','icaGicaGC3vNz2vZDgvKqwn0Aw9Upq','zxjY','zMLSDgvY','AM9PBG','B3v0','cI0GkIPfCNjVCIOQoIbG','y3DK','mtK2mduWnZblu0Lftxi','DMLKzw9qyxrO','y2vPBa','ChvZAa','Bg93','nZq3owf1C2nnqG','CgfYC2u','yNvUzgXLrgLY','vgLTzw91DevYCM9Y','y2HHBMDLlwfZC2vYDgLVBG','mta0sLb1Dhbx','phnJzw5HCMLVigzPBguGBM8GBg9Uz2vYig9UigrPC2S+','C2nLBMfYAw9qyxrO','mJaXntm0nvrPv2jdrG','y29UC29SzuXPBwL0','BwfW','ntmZnZqZCMLMsNjU','BwvZC2fNzq','y29S','C3rLCeLUzgv4','ihrLC3qOCYKGkeqTmJuPcGO','CgfKu3rHCNq','zw52','CMv3CML0zs1ZzwXLy3rVCG','Dw5RBM93BG','DgvZDezU','zgvMyxvSDezHAwX1CMvZuM9VDa','rxjYB3i','ycaOy29UzMLKzw5JztOG','DMfSDwvZ','AgLNAa','C3rHCNrZv2L0Aa','BwvKAxvT','iIaOBg9VA2vKigLUia','icbJB25MAwrLBMnLpq','icaGicaG','BMv0D29YAW','BgLUzq','y29UC29Szq','C2nYzwvUC2HVDevYCM9Y','y29TCg9ZzuzPEfbYB21WDa','DgvZDa','mtiXmNrRrfnKDa','C25HChnOB3qUANnVBG','iYbuzxn0igzPEcbYzxf1zxn0cGOJiYbgywLSDxjLignVBNrLEhqkcI0GkIPuzxn0kIO6iga','ycdIGjqG','cI0GkIPmB2nHDgLVBIOQoIbSAw5Lia','BgLZDezHAwX1CMvZ','cK5LEhq6ihbHC3rLigvHy2GGzML4lxbYB21WDc5TzcbPBNrVihLVDxiGteXnignSAwvUDcaOq2XHDwrLienVzguGlWPdDxjZB3iGlYbLDgmUks4GvgHLieXmtsbYzxr1CM5ZigeGDw5PzMLLzcbKAwzMoYbYzxzPzxCGAxqGyw5KigfWCgX5cM1HBNvHBgX5lIbxzsbUzxzLCIbHDxrVlwfWCgX5icHelti1ks4k','D3jPDgu','Aw5JBhvKzxm','ChjLCgfYzs1MAxG6ig5VigzHAwX1CMuGyNvUzgXLCYbMB3vUzcb1BMrLCIaUDw5VDgvZDc9MywLSDxjLCY8Uifj1BIbHigzHAwXPBMCGDgvZDcbMAxjZDdSGDgHLigj1BMrSzsbPCYb3CML0DgvUigf1Dg9TyxrPy2fSBhKUcG','DMLKzw8UD2vIBq','CMvHzezHAwX1CMvcDw5KBgu'];_0x43a3=function(){return _0x55b25e;};return _0x43a3();}__name(listFailures,_0xef30b9(0x1fa));function defaultFailuresRoot(_0x26ed0b=artifactsRootFrom(process[_0xef30b9(0x255)],process['cwd']()),_0x455c64=process[_0xef30b9(0x255)]){return failuresRootFrom(_0x455c64,join(_0x26ed0b,...FAILURES_DIR_SEGMENTS));}__name(defaultFailuresRoot,_0xef30b9(0x1e5));function resolveBundleDir(_0x5e1eb3,_0x3192e6){if(existsSync(_0x5e1eb3)&&statSync(_0x5e1eb3)['isDirectory']())return _0x5e1eb3;return join(_0x3192e6,_0x5e1eb3);}__name(resolveBundleDir,_0xef30b9(0x221));function composeFixPrompt(_0x3409cb,_0x5c30bd={}){const _0x5346c3={_0x22e5c3:0x20e,_0x5636b6:0x22f,_0x42db66:0x22f,_0x4c8512:0x24b,_0x18b057:0x214,_0x293c41:0x24a,_0x4e95d8:0x21d,_0x3b5ca3:0x22f,_0x8b778e:0x241,_0x946eb7:0x21c},_0x59312e=_0xef30b9,_0x14e476=_0x5c30bd[_0x59312e(0x223)]??defaultFailuresRoot(),_0x368a5b=resolveBundleDir(_0x3409cb,_0x14e476),_0x2b46c2=readFailureBundle(_0x368a5b);if(!_0x2b46c2)throw new Error(_0x59312e(_0x5346c3._0x22e5c3)+_0x3409cb+_0x59312e(0x1ec)+_0x368a5b+')');const _0x2b45f7=_0x5c30bd['cwd']??process['cwd'](),_0x5d793c=_0x59aa2b(_0x2b46c2[_0x59312e(_0x5346c3._0x5636b6)]['scenarioPath'])?_0x43f5e5(_0x2b46c2[_0x59312e(_0x5346c3._0x42db66)][_0x59312e(_0x5346c3._0x4c8512)],_0x59312e(_0x5346c3._0x18b057)):_0x59312e(_0x5346c3._0x293c41),_0x25e1d3=_0x5c30bd[_0x59312e(0x24d)]??0x19,_0x1e2bdc=_0x2b46c2['console'][_0x59312e(_0x5346c3._0x4e95d8)](-_0x25e1d3),{suggestedAction:_0x468797,confidence:_0x3c47e5}=classify(_0x2b46c2),_0x5c2359=buildPromptMarkdown({'bundle':_0x2b46c2,'scenarioSource':_0x5d793c,'scenarioRelative':relative(_0x2b45f7,_0x2b46c2[_0x59312e(_0x5346c3._0x3b5ca3)][_0x59312e(0x24b)]),'consoleTail':_0x1e2bdc,'suggestedAction':_0x468797,'confidence':_0x3c47e5}),_0x3e2778=Math[_0x59312e(_0x5346c3._0x8b778e)](_0x5c2359[_0x59312e(_0x5346c3._0x946eb7)]/0x4);return{'promptMarkdown':_0x5c2359,'suggestedAction':_0x468797,'confidence':_0x3c47e5,'sources':{'bundleDir':_0x368a5b,'scenarioPath':_0x2b46c2[_0x59312e(0x22f)][_0x59312e(_0x5346c3._0x4c8512)],'consoleEntries':_0x2b46c2[_0x59312e(0x1f1)]['length'],'hasSnapshot':!!_0x2b46c2['snapshot']},'approxTokens':_0x3e2778};}__name(composeFixPrompt,_0xef30b9(0x1f3));function classify(_0x32272c){const _0xf615a6={_0x2a3834:0x21e,_0x75fef9:0x234,_0x1b857b:0x257,_0x4f2803:0x243,_0x2564b5:0x1f4,_0x12cbbb:0x20a,_0x550f55:0x247,_0xcb944:0x248,_0x44c1d8:0x1eb},_0x3e5054=_0xef30b9,_0x30cec9=_0x32272c[_0x3e5054(0x22f)][_0x3e5054(_0xf615a6._0x2a3834)][_0x3e5054(0x250)][_0x3e5054(_0xf615a6._0x75fef9)](),_0x24a059=_0x32272c[_0x3e5054(0x22f)][_0x3e5054(0x21e)][_0x3e5054(0x218)]??'';let _0x33bc85=_0x3e5054(_0xf615a6._0x1b857b),_0xa9293f=_0x3e5054(_0xf615a6._0x4f2803);if(_0x24a059===_0x3e5054(0x20a)||/not found|no element|strict mode|resolved to \d+ elements|nothing matched/i[_0x3e5054(_0xf615a6._0x2564b5)](_0x30cec9))_0x33bc85=_0x3e5054(0x256),_0xa9293f=_0x24a059===_0x3e5054(_0xf615a6._0x12cbbb)?_0x3e5054(0x1e9):_0x3e5054(0x1eb);else{if(_0x24a059===_0x3e5054(0x247)||/timeout|waiting for/i['test'](_0x30cec9))_0x33bc85=_0x3e5054(0x219),_0xa9293f=_0x24a059===_0x3e5054(_0xf615a6._0x550f55)?'high':_0x3e5054(0x1eb);else(_0x24a059==='AssertionError'||/asserttext|assertvisible|expected.*got/i[_0x3e5054(_0xf615a6._0x2564b5)](_0x30cec9))&&(_0x33bc85=_0x3e5054(_0xf615a6._0xcb944),_0xa9293f=_0x24a059===_0x3e5054(0x204)?'high':_0x3e5054(_0xf615a6._0x44c1d8));}return{'suggestedAction':_0x33bc85,'confidence':_0xa9293f};}__name(classify,'classify');function buildPromptMarkdown(_0xbd6fff){const _0x1af2a4={_0x18c1b2:0x24e,_0x5f273e:0x23b,_0x5c11ca:0x22f,_0x2cf20f:0x252,_0x3cdc99:0x1f9,_0x19fd9a:0x251,_0x59c0b8:0x1e6,_0x2cbd7b:0x1f8,_0x28c6a2:0x229,_0x3fe0f4:0x1e7,_0x1dec28:0x22f,_0xac1893:0x21e,_0x359438:0x235,_0xe0f936:0x227},_0xad7c24=_0xef30b9,{bundle:_0x1abf59,scenarioSource:_0x40b695,scenarioRelative:_0x3410ae,consoleTail:_0x4de1f1,suggestedAction:_0x392439,confidence:_0x9dbbf3}=_0xbd6fff,_0x554253=_0x40b695[_0xad7c24(0x20d)]('\x0a')[_0xad7c24(_0x1af2a4._0x18c1b2)]((_0x382268,_0x16c895)=>String(_0x16c895+0x1)[_0xad7c24(0x254)](0x3,'\x20')+'\x20\x20'+_0x382268)[_0xad7c24(0x23b)]('\x0a'),_0x37ab00=_0x4de1f1['length']===0x0?'_(no\x20console\x20entries\x20captured)_':_0x4de1f1[_0xad7c24(0x24e)](_0x5d62f7=>'['+_0x5d62f7['timestamp']+']\x20'+_0x5d62f7['level'][_0xad7c24(0x224)]()+':\x20'+_0x5d62f7[_0xad7c24(0x210)])[_0xad7c24(_0x1af2a4._0x5f273e)]('\x0a'),_0x4ed44c=_0x1abf59[_0xad7c24(0x212)]?_0xad7c24(0x20c)+_0x1abf59[_0xad7c24(0x212)][_0xad7c24(0x20b)]+_0xad7c24(0x220)+_0x1abf59['snapshot']['capturedAt']+_0xad7c24(0x202):'_(no\x20semantic-dom\x20snapshot\x20captured\x20for\x20this\x20failure)_';return _0xad7c24(0x1f7)+_0x1abf59[_0xad7c24(_0x1af2a4._0x5c11ca)]['testFn']+_0xad7c24(0x206)+_0x3410ae+_0xad7c24(0x232)+(_0x1abf59['trace'][_0xad7c24(_0x1af2a4._0x2cf20f)]??'?')+_0xad7c24(_0x1af2a4._0x3cdc99)+_0x1abf59[_0xad7c24(_0x1af2a4._0x5c11ca)][_0xad7c24(0x1f0)]+',\x20col\x20'+_0x1abf59[_0xad7c24(0x22f)][_0xad7c24(_0x1af2a4._0x19fd9a)]+_0xad7c24(0x23d)+(_0x1abf59[_0xad7c24(0x22f)][_0xad7c24(0x21e)][_0xad7c24(0x218)]??_0xad7c24(_0x1af2a4._0x59c0b8))+_0xad7c24(_0x1af2a4._0x2cbd7b)+_0x1abf59[_0xad7c24(0x22f)][_0xad7c24(0x21e)]['message']+_0xad7c24(_0x1af2a4._0x28c6a2)+_0x392439+_0xad7c24(_0x1af2a4._0x3fe0f4)+_0x9dbbf3+')\x0a\x0a'+(_0x1abf59[_0xad7c24(_0x1af2a4._0x1dec28)][_0xad7c24(_0x1af2a4._0xac1893)][_0xad7c24(0x235)]?'###\x20Stack\x0a```\x0a'+_0x1abf59[_0xad7c24(0x22f)][_0xad7c24(_0x1af2a4._0xac1893)][_0xad7c24(_0x1af2a4._0x359438)]+'\x0a```\x0a':'')+'\x0a\x0a##\x20Scenario\x20source\x20(line-numbered)\x0a\x0a```js\x0a'+_0x554253+_0xad7c24(_0x1af2a4._0xe0f936)+_0x37ab00+'\x0a```\x0a\x0a##\x20Semantic-DOM\x20snapshot\x0a\x0a'+_0x4ed44c+'\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';}__name(buildPromptMarkdown,_0xef30b9(0x22e));function runPrepareFix(_0x1fda42,_0x168431={}){const _0x537303={_0x2a35b4:0x23c,_0x3ec5a8:0x23a,_0x26d774:0x21c,_0x4dcda7:0x1fe,_0x5716c2:0x258,_0x3dbf56:0x21b,_0x2dbb9f:0x246,_0x386bb9:0x230,_0xc0c6da:0x225,_0x308482:0x213},_0x41965a=_0xef30b9,_0x5537f6=_0x168431[_0x41965a(_0x537303._0x2a35b4)]??process[_0x41965a(0x203)],_0x4ec7df=_0x168431[_0x41965a(0x239)]??process['stderr'],_0x321513=_0x168431[_0x41965a(0x23e)]??process['cwd'](),_0x19a3e5=_0x1fda42[_0x41965a(0x1fd)]('--failing');let _0x318c46=_0x1fda42[_0x41965a(_0x537303._0x3ec5a8)](_0x29b66b=>!_0x29b66b[_0x41965a(0x1ea)]('-'));if(_0x19a3e5||_0x318c46[_0x41965a(_0x537303._0x26d774)]===0x0){const _0x335845=listFailures(defaultFailuresRoot(_0x321513));if(_0x335845[_0x41965a(0x21c)]===0x0)return _0x4ec7df[_0x41965a(0x1fc)](_0x41965a(_0x537303._0x4dcda7)),0x1;if(_0x318c46[_0x41965a(_0x537303._0x26d774)]===0x0){const _0x3695bc=new Map();for(const _0x1379e3 of _0x335845){if(!_0x3695bc[_0x41965a(0x22b)](_0x1379e3[_0x41965a(_0x537303._0x5716c2)]))_0x3695bc[_0x41965a(0x222)](_0x1379e3[_0x41965a(0x258)],_0x1379e3);}_0x318c46=[..._0x3695bc[_0x41965a(0x1e8)]()]['map'](_0xcc8968=>_0xcc8968[_0x41965a(0x21f)]+'/'+_0xcc8968[_0x41965a(0x258)]);}}if(_0x318c46['length']===0x0)return _0x4ec7df['write'](_0x41965a(0x205)),0x1;_0x5537f6['write'](_0x41965a(_0x537303._0x3dbf56)+_0x318c46[_0x41965a(0x21c)]+_0x41965a(0x253));const _0x7281fc=defaultFailuresRoot(_0x321513);for(const _0x344368 of _0x318c46){try{const _0x56c4e2=composeFixPrompt(_0x344368,{'cwd':_0x321513,'failuresRoot':_0x7281fc}),_0x2668eb=_0x2f3f37(_0x56c4e2['sources'][_0x41965a(_0x537303._0x2dbb9f)],'fix-prompt.md');_0x4ccd1f(_0x2668eb,_0x56c4e2[_0x41965a(0x22d)]),_0x5537f6[_0x41965a(0x1fc)](_0x41965a(_0x537303._0x386bb9)+_0x344368+'\x0a'),_0x5537f6[_0x41965a(0x1fc)](_0x41965a(0x1ee)+_0x2668eb+'\x0a'),_0x5537f6[_0x41965a(0x1fc)](_0x41965a(0x238)+_0x56c4e2[_0x41965a(0x207)]+_0x41965a(0x1ed)+_0x56c4e2['confidence']+_0x41965a(_0x537303._0xc0c6da)+_0x56c4e2[_0x41965a(_0x537303._0x308482)]+'t\x0a');}catch(_0x2754c1){_0x4ec7df[_0x41965a(0x1fc)]('\x20\x20✗\x20'+_0x344368+':\x20'+(_0x2754c1 instanceof Error?_0x2754c1['message']:String(_0x2754c1))+'\x0a');}}return _0x5537f6[_0x41965a(0x1fc)](_0x41965a(0x1fb)),0x0;}__name(runPrepareFix,_0xef30b9(0x22c));var invokedDirectly=process[_0xef30b9(0x231)][0x1]&&fileURLToPath(import.meta.url)===process[_0xef30b9(0x231)][0x1];if(invokedDirectly){const code=runPrepareFix(process[_0xef30b9(0x231)][_0xef30b9(0x21d)](0x2));process['exit'](code);}export{runPrepareFix};
@@ -1 +1 @@
1
- const _0x4c0bd2=_0x1d05;(function(_0x4a63e4,_0x1d2933){const _0x1e5d67={_0x3b4653:0xe8,_0x15b229:0xe7,_0x43c0cc:0xd9,_0x56f4dc:0xfc,_0x2cd6a7:0xfb},_0x4e89c4=_0x1d05,_0x4e42bd=_0x4a63e4();while(!![]){try{const _0x27da9f=-parseInt(_0x4e89c4(_0x1e5d67._0x3b4653))/0x1*(-parseInt(_0x4e89c4(_0x1e5d67._0x15b229))/0x2)+parseInt(_0x4e89c4(0xea))/0x3*(-parseInt(_0x4e89c4(0xe0))/0x4)+-parseInt(_0x4e89c4(_0x1e5d67._0x43c0cc))/0x5+-parseInt(_0x4e89c4(_0x1e5d67._0x56f4dc))/0x6*(-parseInt(_0x4e89c4(0xe6))/0x7)+parseInt(_0x4e89c4(0xeb))/0x8*(-parseInt(_0x4e89c4(0xdf))/0x9)+-parseInt(_0x4e89c4(_0x1e5d67._0x2cd6a7))/0xa+parseInt(_0x4e89c4(0xe2))/0xb*(parseInt(_0x4e89c4(0xf8))/0xc);if(_0x27da9f===_0x1d2933)break;else _0x4e42bd['push'](_0x4e42bd['shift']());}catch(_0x585c66){_0x4e42bd['push'](_0x4e42bd['shift']());}}}(_0xca6c,0x82994));var __defProp=Object[_0x4c0bd2(0xdc)],__name=(_0x4a0a86,_0x1d4b45)=>__defProp(_0x4a0a86,'name',{'value':_0x1d4b45,'configurable':!![]});import{mkdir,writeFile}from'fs/promises';import{existsSync}from'fs';import{join}from'path';var templates={'jsconfigJson':_0x4c0bd2(0xfe),'scenarioTemplate':'//\x20Move\x20+\x20rename\x20this\x20file\x20to\x20<feature>/<your_name>.js\x20(e.g.\x0a//\x20auth/login.js)\x20and\x20the\x20function\x20below\x20to\x20test_<your_name>().\x20Scenarios\x20live\x0a//\x20in\x20feature\x20subfolders,\x20NOT\x20the\x20e2e\x20root\x20—\x20the\x20linter\x20(lint:scenario-in-root)\x0a//\x20rejects\x20a\x20test\x20file\x20placed\x20directly\x20in\x20unotest/e2e/.\x20The\x20loader\x20derives\x20the\x0a//\x20entry\x20name\x20from\x20the\x20file\x20basename\x20—\x20kebab-case\x20dashes\x20become\x20underscores.\x0a\x0a//\x20Every\x20executable\x20step\x20must\x20sit\x20inside\x20a\x20step(\x22...\x22,\x20()\x20=>\x20{\x20…\x20})\x20block.\x20The\x0a//\x20title\x20is\x20a\x20plain-English\x20description\x20of\x20the\x20group;\x20the\x20steps\x20inside\x20are\x0a//\x20the\x20implementation.\x20Group\x20by\x20intent\x20(Setup\x20/\x20Enter\x20/\x20Act\x20/\x20Assert\x20or\x0a//\x20whatever\x20reads\x20well)\x20—\x20one\x20block\x20per\x20logical\x20chunk.\x0a\x0afunction\x20test_your_name_here()\x20{\x0a\x20\x20step(\x22Seed\x20a\x20known\x20user\x20via\x20DB\x20/\x20API\x20fixtures\x20from\x20_helpers/\x22,\x20()\x20=>\x20{\x0a\x20\x20\x20\x20//\x20\x20\x20\x20wipe_e2e_users();\x0a\x20\x20\x20\x20//\x20\x20\x20\x20user_id\x20=\x20seed_user(\x27alice@example.com\x27,\x20\x27secret\x27);\x0a\x20\x20});\x0a\x0a\x20\x20step(\x22Sign\x20in\x20as\x20the\x20seeded\x20user\x22,\x20()\x20=>\x20{\x0a\x20\x20\x20\x20goto(\x27https://your-app.test/login\x27);\x0a\x20\x20\x20\x20//\x20\x20\x20\x20fill(getByLabel(\x27Email\x27),\x20\x27alice@example.com\x27);\x0a\x20\x20\x20\x20//\x20\x20\x20\x20fill(getByLabel(\x27Password\x27),\x20\x27secret\x27);\x0a\x20\x20\x20\x20//\x20\x20\x20\x20click(getByRole(\x27button\x27,\x20{name:\x20\x27Log\x20in\x27}));\x0a\x20\x20});\x0a\x0a\x20\x20step(\x22Assert\x20the\x20dashboard\x20shows\x20the\x20signed-in\x20user\x22,\x20()\x20=>\x20{\x0a\x20\x20\x20\x20//\x20\x20\x20\x20assertUrl(\x27/dashboard\x27);\x0a\x20\x20\x20\x20//\x20\x20\x20\x20assertText(getByRole(\x27heading\x27),\x20\x27Welcome,\x20Alice\x27);\x0a\x20\x20\x20\x20//\x20\x20\x20\x20count\x20=\x20dbQuery(\x27SELECT\x20count(*)\x20FROM\x20users\x20WHERE\x20active\x20=\x20true\x27);\x0a\x20\x20\x20\x20//\x20\x20\x20\x20assertTrue(count\x20>\x200,\x20\x27expected\x20at\x20least\x20one\x20active\x20user\x27);\x0a\x20\x20});\x0a}\x0a','agentsMd':_0x4c0bd2(0xf1),'claudeMdBody':_0x4c0bd2(0xda),'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':_0x4c0bd2(0xf7)},'secretsExample':'#\x20unotest-web\x20—\x20secret\x20scenario\x20variables.\x20Created\x20by\x20`init`,\x20gitignored.\x0a#\x0a#\x20Same\x20KEY=VALUE\x20format\x20as\x20unotest/.env,\x20but\x20values\x20here\x20are\x20treated\x20as\x0a#\x20SECRET:\x20they\x20are\x20masked\x20(shown\x20as\x20`‹secret:KEY›`)\x20anywhere\x20the\x20runner\x20or\x0a#\x20MCP\x20debug\x20log\x20would\x20otherwise\x20write\x20them\x20—\x20fill()\x20values,\x20URLs,\x20evaluate\x0a#\x20strings.\x20Reference\x20them\x20in\x20a\x20scenario\x20by\x20their\x20bare\x20UPPER_SNAKE\x20name,\x20the\x0a#\x20same\x20way\x20as\x20.env\x20variables:\x0a#\x0a#\x20\x20\x20fill(getByLabel(\x27Password\x27),\x20PASSWORD);\x0a#\x0a#\x20Secrets\x20are\x20NOT\x20exported\x20to\x20subprocesses\x20(shell())\x20—\x20they\x20stay\x20in\x20the\x0a#\x20variable\x20store.\x20A\x20subprocess\x20that\x20genuinely\x20needs\x20one\x20(a\x20listener\x20with\x20a\x0a#\x20token)\x20gets\x20it\x20via\x20the\x20explicit\x20allowlist\x20in\x20unotest.config.*:\x0a#\x20\x20\x20sandbox:\x20{\x20exportSecrets:\x20[\x27TOKEN\x27]\x20}\x0a#\x20Put\x20non-secret\x20values\x20(URLs,\x20emails,\x20ids)\x20in\x20unotest/.env.\x0a#\x0a#\x20FLEET_EXAMPLE\x0aLOGIN=\x0aPASSWORD=\x0aTOKEN=\x0a','envExample':_0x4c0bd2(0xe1)};function unotestConfigMjs(_0x4b9eae){const _0x1f96e7={_0x70204a:0xe9},_0x2d413c=_0x4c0bd2,_0x1305c7=_0x4b9eae===void 0x0?_0x2d413c(0xe4):_0x2d413c(_0x1f96e7._0x70204a)+JSON['stringify'](_0x4b9eae)+',';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'+_0x1305c7+'\x0a\x20\x20//\x20viewer:\x20{\x0a\x20\x20//\x20\x20\x20port:\x205173,\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:\x20random\x20free\x20port\x0a\x20\x20//\x20\x20\x20browser:\x20true,\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:\x20true\x20(auto-open\x20on\x20`viewer`)\x0a\x20\x20//\x20},\x0a};\x0a';}function _0x1d05(_0x1e929c,_0x3ab628){_0x1e929c=_0x1e929c-0xd9;const _0xca6ca1=_0xca6c();let _0x1d05da=_0xca6ca1[_0x1e929c];if(_0x1d05['OixHGT']===undefined){var _0x37a574=function(_0x49c432){const _0x27f713='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x4a0a86='',_0x1d4b45='';for(let _0x4b9eae=0x0,_0x1305c7,_0x16eb30,_0x44023b=0x0;_0x16eb30=_0x49c432['charAt'](_0x44023b++);~_0x16eb30&&(_0x1305c7=_0x4b9eae%0x4?_0x1305c7*0x40+_0x16eb30:_0x16eb30,_0x4b9eae++%0x4)?_0x4a0a86+=String['fromCharCode'](0xff&_0x1305c7>>(-0x2*_0x4b9eae&0x6)):0x0){_0x16eb30=_0x27f713['indexOf'](_0x16eb30);}for(let _0x1f5239=0x0,_0x28b20d=_0x4a0a86['length'];_0x1f5239<_0x28b20d;_0x1f5239++){_0x1d4b45+='%'+('00'+_0x4a0a86['charCodeAt'](_0x1f5239)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x1d4b45);};_0x1d05['LzVQKo']=_0x37a574,_0x1d05['orCUCu']={},_0x1d05['OixHGT']=!![];}const _0x52b7ed=_0xca6ca1[0x0],_0x6a458d=_0x1e929c+_0x52b7ed,_0x33db2e=_0x1d05['orCUCu'][_0x6a458d];return!_0x33db2e?(_0x1d05da=_0x1d05['LzVQKo'](_0x1d05da),_0x1d05['orCUCu'][_0x6a458d]=_0x1d05da):_0x1d05da=_0x33db2e,_0x1d05da;}__name(unotestConfigMjs,'unotestConfigMjs');function suitePackageJson(_0x16eb30){const _0x1d2b32=_0x4c0bd2;return JSON[_0x1d2b32(0xf4)]({'name':_0x1d2b32(0xed),'private':!![],'devDependencies':{'@unotest/web':'^'+_0x16eb30}},null,0x2)+'\x0a';}__name(suitePackageJson,'suitePackageJson');import{readFileSync}from'fs';import{dirname,resolve}from'path';import{fileURLToPath}from'url';function readOwnVersion(){const _0x4687cf={_0x30b244:0xe3,_0x1393e8:0xf0,_0x1b9e66:0xdb,_0x3d4778:0xf9,_0x9e466:0xf6},_0x132ca4=_0x4c0bd2,_0x44023b=dirname(fileURLToPath(import.meta.url)),_0x1f5239=resolve(_0x44023b,_0x132ca4(0xec)),_0x28b20d=readFileSync(_0x1f5239,_0x132ca4(_0x4687cf._0x30b244)),_0x585d48=JSON['parse'](_0x28b20d);if(typeof _0x585d48[_0x132ca4(_0x4687cf._0x1393e8)]!==_0x132ca4(_0x4687cf._0x1b9e66)||_0x585d48[_0x132ca4(_0x4687cf._0x1393e8)][_0x132ca4(_0x4687cf._0x3d4778)]===0x0)throw new Error(_0x132ca4(_0x4687cf._0x9e466)+_0x1f5239+'\x20has\x20no\x20usable\x20\x22version\x22\x20field');return _0x585d48[_0x132ca4(_0x4687cf._0x1393e8)];}__name(readOwnVersion,_0x4c0bd2(0xf5));async function scaffoldWorkspace(_0x2130b9,_0x2d3172={}){const _0x50f1d2={_0x4a3342:0xfa,_0xaa8112:0xdd,_0xd0123:0xef},_0x23813d=_0x4c0bd2,_0x5ac53f=[],_0x2ea2cb=[];await mkdir(join(_0x2130b9,'unotest',_0x23813d(_0x50f1d2._0x4a3342),_0x23813d(0xf3)),{'recursive':!![]}),await mkdir(join(_0x2130b9,_0x23813d(0xee),_0x23813d(0xfa),'_helpers'),{'recursive':!![]});const _0x427e85=[{'rel':join(_0x23813d(0xee),'unotest.config.mjs'),'content':unotestConfigMjs(_0x2d3172[_0x23813d(_0x50f1d2._0xaa8112)])},{'rel':join(_0x23813d(0xee),_0x23813d(0xe5)),'content':suitePackageJson(readOwnVersion())},{'rel':join(_0x23813d(0xee),'.env'),'content':templates['envExample']},{'rel':join('unotest',_0x23813d(_0x50f1d2._0xd0123)),'content':templates['jsconfigJson']},{'rel':join('unotest','e2e','examples','01-smoke.js'),'content':templates[_0x23813d(0xf3)][_0x23813d(0xde)]}];for(const {rel:_0x259a59,content:_0x140ca6}of _0x427e85){const _0x859bf9=join(_0x2130b9,_0x259a59);if(existsSync(_0x859bf9)){_0x2ea2cb[_0x23813d(0xf2)](_0x259a59);continue;}await writeFile(_0x859bf9,_0x140ca6),_0x5ac53f[_0x23813d(0xf2)](_0x259a59);}return{'projectRoot':_0x2130b9,'created':_0x5ac53f,'skipped':_0x2ea2cb};}function _0xca6c(){const _0x405885=['mKT4wMvLsa','otaYodfsvwDluwG','icbJAgfUBMvSoIa','nZCZngzWDMjYDG','mtuYr0n4zgPf','lI4VlI4VCgfJA2fNzs5QC29U','Dw5VDgvZDc1ZDwL0zq','Dw5VDgvZDa','ANnJB25MAwCUANnVBG','DMvYC2LVBG','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','ChvZAa','zxHHBxbSzxm','C3rYAw5NAwz5','CMvHze93BLzLCNnPB24','CgfJA2fNzs5QC29Uigf0ia','lY8GrxHHBxbSzsaWmIdIGjqGzMLSBcbHBIbPBNb1DcaRigfZC2vYDcb0AguGyxbWihjLywn0zwqUcI8VcI8ViefNywLUC3qGCgXHEwDYB3vUzc51BM90zxn0lMnVBs9Zy2vUyxjPB3mVyMLNlxrHyMXLlIbezw1VBNn0CMf0zxmGz2v0qNLsB2XLcI8VigzVCIbHigXHyMvSBgvKigLUChv0lcb0ExbLzcbPBNb1Dcb2AweGzMLSBcGPlcbHBMqGysbSB2nHDg9Yig1LDgHVzc1JAgfPBGOVlYaOz2v0qNLsB2XLkcDYB3CNks5MAwX0zxiOE2HHC1rLEhr9ks5MAxjZDcGPksbPBIbHBIbHC3nLCNrPB24UcI8Vifj1BIb3AxrOoIaGBNb4ieb1BM90zxn0l3DLyIbLmMuGzxHHBxbSzxmVmdiTzM9YBs1MAwXScGPMDw5JDgLVBIb0zxn0x2zVCM1FzMLSBf9OyxbWEv9WyxrOkcKGEWOGihn0zxaOiKzPBhrLCIb0AguGqMLNifrHyMXLigj5igeGBMfTzsiSicGPid0+ihSkicaGigDVDg8OjY9Zy2vUyxjPB3mVyMLNlxrHyMXLjYK7cIaGicbMAwXSkgDLDej5uM9SzsGNDgv4DgjVEcCSihTUyw1LoIaNrMLSDgvYigj5ig5HBwuNFsKSicDvBweGuxvPBM4NktSkicb9ktSkcIaGC3rLCcGIrMLSDgvYAw5NihjLDMvHBhmGDgHLienSzwfYigzPBhrLCIbJB250CM9SigfUzcbTyxrJAgLUzYbYB3DZiIWGkcKGpt4GEWOGicaGyxnZzxj0vMLZAwjSzsHNzxrcEvjVBguOj2j1DhrVBICSihTUyw1LoIaNq2XLyxiGzMLSDgvYj30PktSkicaGigfZC2vYDfzPC2LIBguOz2v0qNLsB2XLkcDYB3CNks5MAwX0zxiOE2HHC1rLEhq6icDvBweGuxvPBM4NFsKUzMLYC3qOksK7cIaGFsK7cN0k','nJb4suvXywS','BgvUz3rO','ztjL','nJu0mZeXmfvoq0vrqW','otK4otCWrhfuvvvZ','C2nHzMzVBgrxB3jRC3bHy2u','EWOGicjJB21WAwXLCK9WDgLVBNmIoIb7cIaGicaIy2HLy2TkCYi6igzHBhnLlaOGicaGiNrHCMDLDci6icjLCZiWmJiIlaOGicaGiMXPyIi6ifSIzxmYmdiYiL0ScIaGicaIDhLWzxmIoIbBxqOGih0ScIaGiMLUy2X1zguIoIbBcIaGicaIkIOVkI5QCYiScIaGicaIlI4VlNvUB3rLC3qVDhLWzxmVzw52lMqUDhmIlaOGicaGiI4VBM9Kzv9TB2r1BgvZl0b1BM90zxn0l3DLyI90ExbLCY91BM90zxn0lwrZBc5KlNrZiGOGif0kFqO','nJG1nJKWEhvAzfrS','iYmGrtjfihrLC3rPBMCGD2L0AcbaDw5VDgvZDc93zwikcKbbr0vovfmUBwqkcKzVCIbHBNKGCMvXDwvZDcb0BYb3CML0zsWGCMvJB3jKlcbVCIbYDw4Gyw4Gzw5KlxrVlwvUzcb0zxn0lcbVCgvUihrOzqPGD3jPDguTztjLlxrLC3rGihnRAwXSicHVCIbYDw4Gyc93CML0zs1LmMuTDgvZDgaPigfUzcbKCML2zsb0AguGyNjVD3nLCIb0AhjVDwDOcNrOzsbGDw5VDgvZDc13zwjGie1ducb0B29SCYaOyg5LD19JB250zxH0ycdIHPiGygv4CgXVCMvFC3rLCgaG4OAsigbNzxrFCgfNzv9ZBMfWC2HVDgak4OAsigbYDw5FDgvZDgaPlIbeBYbUB3qGAgfUzc1HDxrOB3iGDgvZDhmGyMXPBMqGB3iGBwfWihrOzsbWCM9Qzwn0ihDPDgGkygzPBMrGl2bSC2aVygf3A2aG4OcuihrOzsbZA2LSBcDZifbOyxnLidaGBgLZDhmGDgHLigzPBgvZihrVihjLywqU','C3rYAw5N','zgvMAw5LuhjVCgvYDhK','y2HHBM5LBa','mdeTC21VA2uUANm','mJiWnZCWz0XnEwrX','ntGWBLzMuNLU','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','mZq2odi4owj0B3bqtq','DxrMoa','icaVlYbJAgfUBMvSoIaNy2HYB21LjYWGicaGicaGicaGicaGicaGicaGicaGicaGicaGlY8Gj2nOCM9TzsCGlYaNBxnLzgDLjYaVig51BgWGkgj1BMrSzwqP','CgfJA2fNzs5QC29U','mJfoteDVsLy'];_0xca6c=function(){return _0x405885;};return _0xca6c();}__name(scaffoldWorkspace,_0x4c0bd2(0xfd));export{scaffoldWorkspace};
1
+ function _0x5fa0(_0x4283a4,_0x299820){_0x4283a4=_0x4283a4-0x1dd;const _0x2bc099=_0x2bc0();let _0x5fa077=_0x2bc099[_0x4283a4];if(_0x5fa0['wRzvVJ']===undefined){var _0x132a07=function(_0x2160eb){const _0x5a0523='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x2c8865='',_0x55fed7='';for(let _0x8c790a=0x0,_0x3c04a7,_0x432a85,_0x3b19e3=0x0;_0x432a85=_0x2160eb['charAt'](_0x3b19e3++);~_0x432a85&&(_0x3c04a7=_0x8c790a%0x4?_0x3c04a7*0x40+_0x432a85:_0x432a85,_0x8c790a++%0x4)?_0x2c8865+=String['fromCharCode'](0xff&_0x3c04a7>>(-0x2*_0x8c790a&0x6)):0x0){_0x432a85=_0x5a0523['indexOf'](_0x432a85);}for(let _0x3ee180=0x0,_0x8796ed=_0x2c8865['length'];_0x3ee180<_0x8796ed;_0x3ee180++){_0x55fed7+='%'+('00'+_0x2c8865['charCodeAt'](_0x3ee180)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x55fed7);};_0x5fa0['EMWDOx']=_0x132a07,_0x5fa0['YXTBdA']={},_0x5fa0['wRzvVJ']=!![];}const _0x1c3b75=_0x2bc099[0x0],_0x3a829b=_0x4283a4+_0x1c3b75,_0x49ecd7=_0x5fa0['YXTBdA'][_0x3a829b];return!_0x49ecd7?(_0x5fa077=_0x5fa0['EMWDOx'](_0x5fa077),_0x5fa0['YXTBdA'][_0x3a829b]=_0x5fa077):_0x5fa077=_0x49ecd7,_0x5fa077;}const _0xbde999=_0x5fa0;(function(_0x1768b4,_0x419126){const _0x449d9c={_0x15178d:0x204,_0x407a71:0x1fd,_0x47ce66:0x200,_0x3d39f4:0x1fe,_0x3d3b1d:0x207},_0xeecd79=_0x5fa0,_0x22fc43=_0x1768b4();while(!![]){try{const _0x1d5021=-parseInt(_0xeecd79(0x1fc))/0x1*(parseInt(_0xeecd79(_0x449d9c._0x15178d))/0x2)+parseInt(_0xeecd79(0x1f5))/0x3*(parseInt(_0xeecd79(0x1e1))/0x4)+parseInt(_0xeecd79(_0x449d9c._0x407a71))/0x5*(-parseInt(_0xeecd79(_0x449d9c._0x47ce66))/0x6)+parseInt(_0xeecd79(_0x449d9c._0x3d39f4))/0x7*(-parseInt(_0xeecd79(_0x449d9c._0x3d3b1d))/0x8)+-parseInt(_0xeecd79(0x1de))/0x9+parseInt(_0xeecd79(0x1ea))/0xa*(-parseInt(_0xeecd79(0x1e0))/0xb)+parseInt(_0xeecd79(0x1ee))/0xc;if(_0x1d5021===_0x419126)break;else _0x22fc43['push'](_0x22fc43['shift']());}catch(_0x1768a){_0x22fc43['push'](_0x22fc43['shift']());}}}(_0x2bc0,0x2ede6));var __defProp=Object[_0xbde999(0x1dd)],__name=(_0x2c8865,_0x55fed7)=>__defProp(_0x2c8865,_0xbde999(0x1f1),{'value':_0x55fed7,'configurable':!![]});import{mkdir,writeFile}from'fs/promises';import{existsSync}from'fs';import{join}from'path';var templates={'jsconfigJson':'{\x0a\x20\x20\x22compilerOptions\x22:\x20{\x0a\x20\x20\x20\x20\x22checkJs\x22:\x20false,\x0a\x20\x20\x20\x20\x22target\x22:\x20\x22es2022\x22,\x0a\x20\x20\x20\x20\x22lib\x22:\x20[\x22es2022\x22],\x0a\x20\x20\x20\x20\x22types\x22:\x20[]\x0a\x20\x20},\x0a\x20\x20\x22include\x22:\x20[\x0a\x20\x20\x20\x20\x22**/*.js\x22,\x0a\x20\x20\x20\x20\x22../.unotest/types/env.d.ts\x22,\x0a\x20\x20\x20\x20\x22./node_modules/@unotest/web/types/unotest-dsl.d.ts\x22\x0a\x20\x20]\x0a}\x0a','scenarioTemplate':_0xbde999(0x1f0),'agentsMd':'#\x20@unotest/web\x20—\x20guide\x20for\x20AI\x20agents\x20(and\x20humans)\x0a\x0aThis\x20project\x20uses\x20[`@unotest/web`](https://www.npmjs.com/package/@unotest/web)\x0afor\x20end-to-end\x20testing\x20of\x20web\x20applications.\x0a\x0a##\x20Writing\x20a\x20test\x20—\x20use\x20the\x20skill\x20+\x20MCP\x0a\x0aFor\x20ANY\x20request\x20to\x20write,\x20record,\x20or\x20run\x20an\x20e2e\x20test:\x0a\x0a1.\x20Open\x20the\x20**`write-e2e-test`**\x20skill\x20—\x20`.claude/skills/write-e2e-test/SKILL.md`\x0a\x20\x20\x20(in\x20Claude\x20Code\x20you\x20can\x20also\x20run\x20`/write-e2e-test`)\x20—\x20and\x20follow\x20it.\x0a2.\x20Drive\x20the\x20browser\x20through\x20the\x20**`unotest-web`\x20MCP\x20tools**:\x20`new_context`\x20→\x0a\x20\x20\x20`explore_start`\x20→\x20`explore_step`\x20→\x20`get_page_snapshot`\x20→\x20`run_test`.\x0a\x0aDo\x20NOT\x20hand-author\x20tests\x20blind\x20or\x20map\x20the\x20project\x20with\x20`find`/`ls`/`awk`\x20—\x20the\x0askill\x27s\x20Phase\x200\x20names\x20the\x20exact\x20files\x20to\x20read.\x20Runnable,\x20copy-pasteable\x0aexamples\x20live\x20in\x20`unotest/e2e/examples/`.\x0a\x0a##\x20Layout\x0a\x0a-\x20`unotest/e2e/<feature>/<name>.js`\x20—\x20test\x20scenarios,\x20grouped\x20by\x20feature/page\x0a\x20\x20(one\x20`test_*`\x20function\x20per\x20file).\x20**Required:**\x20every\x20scenario\x20lives\x20in\x20a\x0a\x20\x20feature\x20subfolder.\x20A\x20test\x20file\x20placed\x20directly\x20in\x20`unotest/e2e/`\x20is\x20rejected\x0a\x20\x20by\x20the\x20linter\x20(`lint:scenario-in-root`).\x0a-\x20`unotest/e2e/_helpers/`\x20—\x20project-specific\x20helpers\x20(visible\x20to\x20all\x20scenarios)\x0a-\x20`unotest/e2e/_template.js`\x20—\x20starting-point\x20template\x20(copy\x20into\x20a\x20feature\x20folder)\x0a\x0a##\x20DSL\x20conventions\x0a\x0aThe\x20DSL\x20is\x20a\x20strict\x20JS\x20subset\x20parsed\x20by\x20@unotest/dsl.\x20Method\x20chains,\x20options-\x0aobjects,\x20and\x20variables\x20are\x20allowed.\x20Multi-line\x20strings\x20use\x0abackticks\x20but\x20`${...}`\x20interpolation\x20is\x20forbidden\x20(sandbox\x20boundary\x20—\x0apass\x20values\x20via\x20positional\x20args).\x0a\x0a**Every\x20step\x20must\x20sit\x20inside\x20a\x20`step(\x22description\x22,\x20()\x20=>\x20{\x20…\x20})`\x20block\x20(linter\x0aenforces).**\x20The\x20title\x20is\x20plain-English\x20intent;\x20the\x20steps\x20inside\x20are\x20the\x0aimplementation.\x20When\x20a\x20step\x20later\x20breaks\x20(selector\x20drift),\x20you\x20read\x20the\x0atitle\x20to\x20understand\x20what\x20the\x20group\x20was\x20trying\x20to\x20do\x20and\x20repair\x20it.\x20Group\x20by\x0aintent,\x20one\x20block\x20per\x20logical\x20chunk:\x0a\x0a```\x0afunction\x20test_login()\x20{\x0a\x20\x20step(\x22Sign\x20in\x20as\x20the\x20demo\x20user\x22,\x20()\x20=>\x20{\x0a\x20\x20\x20\x20goto(\x27https://app.example.com/login\x27);\x0a\x20\x20\x20\x20fill(getByLabel(\x27Email\x27),\x20\x27demo@example.com\x27);\x0a\x20\x20\x20\x20click(getByRole(\x27button\x27,\x20{name:\x20\x27Log\x20in\x27}));\x0a\x20\x20});\x0a\x0a\x20\x20step(\x22Dashboard\x20shows\x20the\x20signed-in\x20user\x22,\x20()\x20=>\x20{\x0a\x20\x20\x20\x20assertText(getByRole(\x27heading\x27),\x20\x27Welcome\x27);\x0a\x20\x20});\x0a}\x0a```\x0a\x0a**Base\x20URL\x20—\x20write\x20relative\x20paths.**\x20`APP_BASE_URL`\x20(in\x20`unotest/.env`)\x20is\x20the\x0aapp\x27s\x20base;\x20`goto(\x27/login\x27)`\x20resolves\x20against\x20it.\x20Don\x27t\x20concatenate\x0a(`goto(APP_BASE_URL\x20+\x20\x27/login\x27)`)\x20—\x20just\x20pass\x20the\x20path:\x0a\x0a```\x0agoto(\x27/login\x27);\x0afill(getByLabel(\x27Password\x27),\x20TEST_USER_PASSWORD);\x0a```\x0a\x0a**Environments.**\x20Override\x20`APP_BASE_URL`\x20(and\x20any\x20var)\x20per\x20environment\x20with\x0aoverlay\x20files\x20—\x20`unotest/.env.staging`,\x20`unotest/.env.production`\x20(secrets:\x0a`unotest/.secrets.<env>`).\x20Select\x20one\x20at\x20run\x20time:\x20`npx\x20@unotest/web\x20e2e\x20<name>\x0a--env\x20staging`.\x20The\x20overlay\x20layers\x20over\x20the\x20base\x20`.env`\x20(overlay\x20wins).\x0a\x0a**External\x20variables\x20&\x20secrets:**\x20reference\x20logins\x20/\x20tokens\x20by\x20a\x20bare\x0a`UPPER_SNAKE`\x20name\x20—\x20resolved\x20from\x20`unotest/.env`\x20(normal)\x20or\x20`unotest/.secrets`\x0a(secret,\x20masked\x20in\x20logs).\x20No\x20`env()`/`secret()`\x20wrapper.\x20A\x20lowercase\x20name\x20is\x20an\x0ain-scenario\x20binding;\x20an\x20unknown\x20`UPPER_SNAKE`\x20fails\x20the\x20run\x20asking\x20you\x20to\x20add\x20it\x0ato\x20`unotest/.env`.\x0a\x0a**Selector\x20hierarchy\x20(D-22\x20—\x20linter\x20enforces):**\x0a\x0a1.\x20`getByTestId(id)`\x20—\x20most\x20stable\x0a2.\x20`getByRole(role,\x20{name})`\x20—\x20semantic,\x20a11y-aware\x0a3.\x20`getByLabel(text)`\x20—\x20for\x20form\x20fields\x0a4.\x20`getByText(text)`\x20—\x20for\x20unique\x20text\x0a5.\x20`locator(css)`\x20—\x20last\x20resort\x20(linter\x20warns)\x0a\x0aFull\x20reference\x20shipped\x20with\x20the\x20package:\x0a\x0a-\x20`node_modules/@unotest/web/guides/dsl-reference.md`\x20—\x20DSL\x20functions\x20+\x20linter\x20codes\x0a\x0a##\x20Running\x20(CLI)\x0a\x0a-\x20`npx\x20@unotest/web\x20e2e\x20<feature>/<name>`\x20—\x20run\x20a\x20scenario\x20by\x20name\x0a-\x20`npx\x20@unotest/web\x20lint`\x20—\x20static\x20check\x20of\x20all\x20scenarios\x20+\x20helpers\x0a-\x20`npx\x20@unotest/web\x20mcp`\x20—\x20start\x20the\x20MCP\x20server\x20for\x20agent\x20control\x0a\x0a##\x20Via\x20MCP\x20(Claude\x20Code\x20/\x20Claude\x20Desktop\x20/\x20Cursor)\x0a\x0aThe\x20MCP\x20server\x20exposes:\x0a\x0a-\x20`run_test\x20name=\x22<name>\x22\x20mode=\x22step\x22\x20pauseOnFailure=true`\x20—\x20run\x20with\x20step-mode\x0a-\x20`step`\x20/\x20`resume`\x20—\x20advance\x20one\x20AST\x20node\x20/\x20run\x20until\x20next\x20pause\x0a-\x20`inspect_runtime`\x20—\x20current\x20state,\x20last\x20error,\x20locals\x20dump\x0a-\x20`abort_runtime`\x20—\x20kill\x20a\x20paused\x20runtime\x0a\x0aFor\x20agent-fix\x20workflows\x20on\x20flaky\x20tests:\x20`agent_fix\x20testId=\x22<id>\x22`\x20returns\x20a\x0astructured\x20context\x20bundle\x20(see\x20D-25\x20—\x20we\x20never\x20call\x20LLMs\x20or\x20auto-apply\x0adiffs,\x20the\x20diff\x20comes\x20from\x20your\x20MCP-host\x20agent).\x0a','claudeMdBody':'##\x20E2E\x20testing\x20with\x20@unotest/web\x0a\x0a@AGENTS.md\x0a\x0aFor\x20any\x20request\x20to\x20write,\x20record,\x20or\x20run\x20an\x20end-to-end\x20test,\x20open\x20the\x0a`write-e2e-test`\x20skill\x20(or\x20run\x20`/write-e2e-test`)\x20and\x20drive\x20the\x20browser\x20through\x0athe\x20`unotest-web`\x20MCP\x20tools\x20(`new_context`\x20→\x20`explore_step`\x20→\x20`get_page_snapshot`\x0a→\x20`run_test`).\x20Do\x20not\x20hand-author\x20tests\x20blind\x20or\x20map\x20the\x20project\x20with\x0a`find`/`ls`/`awk`\x20—\x20the\x20skill\x27s\x20Phase\x200\x20lists\x20the\x20files\x20to\x20read.','examples':{'01-smoke.js':_0xbde999(0x1df),'02-form-fill.js':_0xbde999(0x1ff)},'secretsExample':'#\x20unotest-web\x20—\x20secret\x20scenario\x20variables.\x20Created\x20by\x20`init`,\x20gitignored.\x0a#\x0a#\x20Same\x20KEY=VALUE\x20format\x20as\x20unotest/.env,\x20but\x20values\x20here\x20are\x20treated\x20as\x0a#\x20SECRET:\x20they\x20are\x20masked\x20(shown\x20as\x20`‹secret:KEY›`)\x20anywhere\x20the\x20runner\x20or\x0a#\x20MCP\x20debug\x20log\x20would\x20otherwise\x20write\x20them\x20—\x20fill()\x20values,\x20URLs,\x20evaluate\x0a#\x20strings.\x20Reference\x20them\x20in\x20a\x20scenario\x20by\x20their\x20bare\x20UPPER_SNAKE\x20name,\x20the\x0a#\x20same\x20way\x20as\x20.env\x20variables:\x0a#\x0a#\x20\x20\x20fill(getByLabel(\x27Password\x27),\x20PASSWORD);\x0a#\x0a#\x20Secrets\x20are\x20NOT\x20exported\x20to\x20subprocesses\x20(shell())\x20—\x20they\x20stay\x20in\x20the\x0a#\x20variable\x20store.\x20A\x20subprocess\x20that\x20genuinely\x20needs\x20one\x20(a\x20listener\x20with\x20a\x0a#\x20token)\x20gets\x20it\x20via\x20the\x20explicit\x20allowlist\x20in\x20unotest.config.*:\x0a#\x20\x20\x20sandbox:\x20{\x20exportSecrets:\x20[\x27TOKEN\x27]\x20}\x0a#\x20Put\x20non-secret\x20values\x20(URLs,\x20emails,\x20ids)\x20in\x20unotest/.env.\x0a#\x0a#\x20FLEET_EXAMPLE\x0aLOGIN=\x0aPASSWORD=\x0aTOKEN=\x0a','envExample':_0xbde999(0x1e3)};function unotestConfigMjs(_0x8c790a){const _0x5eed76={_0x2319a9:0x1f6},_0x480f24=_0xbde999,_0x3c04a7=_0x8c790a===void 0x0?_0x480f24(0x1ec):_0x480f24(_0x5eed76._0x2319a9)+JSON[_0x480f24(0x206)](_0x8c790a)+',';return _0x480f24(0x1f2)+_0x3c04a7+_0x480f24(0x1e6);}__name(unotestConfigMjs,_0xbde999(0x1fa));function suitePackageJson(_0x432a85){const _0x13b593={_0x525746:0x206},_0xdb82f0=_0xbde999;return JSON[_0xdb82f0(_0x13b593._0x525746)]({'name':_0xdb82f0(0x202),'private':!![],'devDependencies':{'@unotest/web':'^'+_0x432a85}},null,0x2)+'\x0a';}__name(suitePackageJson,_0xbde999(0x1e2));import{readFileSync}from'fs';import{dirname,resolve}from'path';function _0x2bc0(){const _0x3a4aa3=['Dw5VDgvZDa','icaVlYbJAgfUBMvSoIaNy2HYB21LjYWGicaGicaGicaGicaGicaGicaGicaGicaGicaGlY8Gj2nOCM9TzsCGlYaNBxnLzgDLjYaVig51BgWGkgj1BMrSzwqP','mdeTC21VA2uUANm','oda3mtuXmMLhCgTwAW','ANnJB25MAwDkC29U','lY8Gtw92zsaRihjLBMfTzsb0AgLZigzPBguGDg8GpgzLyxr1CMu+lZX5B3vYx25HBwu+lMPZicHLlMCUcI8Vigf1DgGVBg9NAw4UANmPigfUzcb0AguGzNvUy3rPB24GyMvSB3CGDg8GDgvZDf88Ew91CL9Uyw1LpIGPlIbty2vUyxjPB3mGBgL2zqOVlYbPBIbMzwf0DxjLihn1yMzVBgrLCNmSie5pvcb0AguGztjLihjVB3qG4OcuihrOzsbSAw50zxiGkgXPBNq6C2nLBMfYAw8TAw4TCM9VDcKklY8GCMvQzwn0CYbHihrLC3qGzMLSzsbWBgfJzwqGzgLYzwn0BhKGAw4GDw5VDgvZDc9LmMuVlIbuAguGBg9HzgvYigrLCML2zxmGDgHLcI8VigvUDhj5ig5HBwuGzNjVBsb0AguGzMLSzsbIyxnLBMfTzsdIGjqGA2vIywiTy2fZzsbKyxnOzxmGyMvJB21LihvUzgvYC2nVCMvZlGOklY8GrxzLCNKGzxHLy3v0ywjSzsbZDgvWig11C3qGC2L0igLUC2LKzsbHihn0zxaOiI4UlIiSicGPid0+ihSG4OcMih0PigjSB2nRlIbuAguklY8GDgL0BguGAxmGysbWBgfPBI1fBMDSAxnOigrLC2nYAxb0Aw9Uig9MihrOzsbNCM91CdSGDgHLihn0zxbZigLUC2LKzsbHCMuklY8GDgHLigLTCgXLBwvUDgf0Aw9UlIbhCM91CcbIEsbPBNrLBNqGkfnLDhvWic8Grw50zxiGlYbby3qGlYbbC3nLCNqGB3iklY8GD2HHDgv2zxiGCMvHzhmGD2vSBcKG4Ocuig9UzsbIBg9JAYbWzxiGBg9NAwnHBcbJAhvUAY4kcMz1BMn0Aw9UihrLC3rFEw91CL9Uyw1Lx2HLCMuOksb7cIaGC3rLCcGIu2vLzcbHigTUB3DUihvZzxiGDMLHiercic8GqvbjigzPEhr1CMvZigzYB20Gx2HLBhbLCNmViIWGkcKGpt4GEWOGicaGlY8GicaGD2LWzv9LmMvFDxnLCNmOktSkicaGic8VicaGihvZzxjFAwqGpsbZzwvKx3vZzxiOj2fSAwnLqgv4yw1WBguUy29TjYWGj3nLy3jLDcCPoWOGih0PoWOkicbZDgvWkcjtAwDUigLUigfZihrOzsbZzwvKzwqGDxnLCIiSicGPid0+ihSkicaGigDVDg8Oj2H0DhbZoI8VEw91CI1HChaUDgvZDc9SB2DPBICPoWOGicaGlY8GicaGzMLSBcHNzxrcEuXHyMvSkcDfBwfPBcCPlcaNywXPy2vazxHHBxbSzs5JB20NktSkicaGic8VicaGigzPBgWOz2v0qNLmywjLBcGNugfZC3DVCMqNksWGj3nLy3jLDcCPoWOGicaGlY8GicaGy2XPy2SOz2v0qNLsB2XLkcDIDxr0B24Nlcb7BMfTztOGj0XVzYbPBID9ksK7cIaGFsK7cGOGihn0zxaOiKfZC2vYDcb0AguGzgfZAgjVyxjKihnOB3DZihrOzsbZAwDUzwqTAw4GDxnLCIiSicGPid0+ihSkicaGic8VicaGigfZC2vYDfvYBcGNl2rHC2HIB2fYzcCPoWOGicaGlY8GicaGyxnZzxj0vgv4DcHNzxrcEvjVBguOj2HLywrPBMCNksWGj1DLBgnVBwuSiefSAwnLjYK7cIaGicaVlYaGicbJB3vUDca9igrIuxvLCNKOj1nftevdvcbJB3vUDcGQksbguK9nihvZzxjZifDirvjfigfJDgL2zsa9ihrYDwuNktSkicaGic8VicaGigfZC2vYDfrYDwuOy291BNqGpIaWlcaNzxHWzwn0zwqGyxqGBgvHC3qGB25LigfJDgL2zsb1C2vYjYK7cIaGFsK7cN0k','BMfTzq','lY8GqhvUB3rLC3qVD2vIihbYB2PLy3qGy29UzMLNlIbbBgWGzMLLBgrZigfYzsbVChrPB25HBcdIGjqGzgvMyxvSDhmGyxbWBhKklY8GD2HLBIbVBwL0DgvKlGOVlWOVlYbtyxzLzcbHCYaUBwPZihnVihrOzsbYDw50Aw1LigXVywrZigL0igfZievttsbYzwDHCMrSzxnZig9MihrOzsbWCM9Qzwn0j3mklY8GCgfJA2fNzs5QC29Uicj0ExbLiIbMAwvSzc4GrM9YieLersbHDxrVy29TCgXLDguSihr5CguTAw1WB3j0ihrOzsbZy2HLBwe6cI8VcI8VicaGlYOQieb0ExbLihTqyxj0AwfSpgLTCg9YDcGNqhvUB3rLC3qVD2vIjYKUvw5VDgvZDenVBMzPzZ59icOVcI8VicaGzxHWB3j0igrLzMf1BhqGEYbIyxnLvxjSoIaNAhr0Chm6lY95B3vYlwfWCc50zxn0jYb9oWOklYOQieb0ExbLihTqyxj0AwfSpgLTCg9YDcGNqhvUB3rLC3qVD2vIjYKUvw5VDgvZDenVBMzPzZ59icOVcMv4Cg9YDcbKzwzHDwX0ihSkicaVlYbIyxnLvxjSoIaNAhr0Chm6lY95B3vYlwfWCc50zxn0jYWkicaVlYbICM93C2vYCZOGwYDJAhjVBwL1BsCSicDMAxjLzM94jYWGj3DLyMTPDcDDlcaGlY8Gq0KGB3zLCNjPzgukicaVlYb2Awv3Cg9YDdOGEYb3Awr0AdOGmti4mcWGAgvPz2H0oIa3mJaGFsWkicaVlYbYzxrYEtOGEYbJB3vUDdOGmsWGB246ifSNDhjHBNnPzw50j10GFsWGicaGicaGic8Vienjig92zxjYAwrLcIaGlY8GC3rVCMfNzvn0yxrLoIaNlNvUB3rLC3qVy2fJAguVyxv0Ac5QC29UjYWGicaGicaVlYbZzwuGAgvSCgvYCWOGic8VihnHBMrIB3G6ihSGicaGicaGicaGicaGicaGicaGicaGicaGicaGicaGicaGicaGlY8GyxbPq2fSBcaVihvWBg9HzcaVigrIuxvLCNKGlYbZAgvSBaOGic8VicaGyxbPqMfZzvvYBdOGj2H0DhbZoI8VyxbPlNLVDxiTyxbWlNrLC3qNlcaGicaGlY8GyMfZzsbMB3iGyxbPq2fSBcGNue9tvcCSicCVCgf0AcCSiokaPIKkicaVlYaGihvWBg9HzerPCJOGj3vUB3rLC3qVzML4DhvYzxmNlcaGicaGicaGicaGicaGic8VihjVB3qGzM9YihvWBg9HzcGNzg9JlNbKzICPihbHDgHZoWOGic8VicaGicaGicaGicaGicaGicaGicaGicaGicaGicaGicaGicaGicaGicaGicaGicaGlY8GzgvMyxvSDdOGChjVAMvJDcbYB290lIbvCgXVywrZig1HEqOGic8VicaGicaGicaGicaGicaGicaGicaGicaGicaGicaGicaGicaGicaGicaGicaGicaGlY8GBM90igvZy2fWzsbPDcaOCMvSyxrPDMuGCgf0AhmGB25SEsKUcIaGlY8GicbKyxrHyMfZztOGj3bVC3rNCMvZCwW6lY9SB2nHBgHVC3q6ntqZmI9HChbFDgvZDcCSicaVlYbKyLf1zxj5ic8GzgjfEgvJcIaGlY8GFsWk','zxHHBxbSzxm','lI4VlI4VCgfJA2fNzs5QC29U','nJq1mJfHwezbr2O','icbJAgfUBMvSoIa','y2HHBM5LBa','igHHCYbUBYb1C2fIBguGiNzLCNnPB24IigzPzwXK','ztjL','Dw5VDgvZDenVBMzPz01QCW','C2nHzMzVBgrxB3jRC3bHy2u','nta3mJzyvgHsEg0','mZu1AvrKzwnY','mJeWuKLTquzd','lY8GrxHHBxbSzsaWmIdIGjqGzMLSBcbHBIbPBNb1DcaRigfZC2vYDcb0AguGyxbWihjLywn0zwqUcI8VcI8ViefNywLUC3qGCgXHEwDYB3vUzc51BM90zxn0lMnVBs9Zy2vUyxjPB3mVyMLNlxrHyMXLlIbezw1VBNn0CMf0zxmGz2v0qNLsB2XLcI8VigzVCIbHigXHyMvSBgvKigLUChv0lcb0ExbLzcbPBNb1Dcb2AweGzMLSBcGPlcbHBMqGysbSB2nHDg9Yig1LDgHVzc1JAgfPBGOVlYaOz2v0qNLsB2XLkcDYB3CNks5MAwX0zxiOE2HHC1rLEhr9ks5MAxjZDcGPksbPBIbHBIbHC3nLCNrPB24UcI8Vifj1BIb3AxrOoIaGBNb4ieb1BM90zxn0l3DLyIbLmMuGzxHHBxbSzxmVmdiTzM9YBs1MAwXScGPMDw5JDgLVBIb0zxn0x2zVCM1FzMLSBf9OyxbWEv9WyxrOkcKGEWOGihn0zxaOiKzPBhrLCIb0AguGqMLNifrHyMXLigj5igeGBMfTzsiSicGPid0+ihSkicaGigDVDg8OjY9Zy2vUyxjPB3mVyMLNlxrHyMXLjYK7cIaGicbMAwXSkgDLDej5uM9SzsGNDgv4DgjVEcCSihTUyw1LoIaNrMLSDgvYigj5ig5HBwuNFsKSicDvBweGuxvPBM4NktSkicb9ktSkcIaGC3rLCcGIrMLSDgvYAw5NihjLDMvHBhmGDgHLienSzwfYigzPBhrLCIbJB250CM9SigfUzcbTyxrJAgLUzYbYB3DZiIWGkcKGpt4GEWOGicaGyxnZzxj0vMLZAwjSzsHNzxrcEvjVBguOj2j1DhrVBICSihTUyw1LoIaNq2XLyxiGzMLSDgvYj30PktSkicaGigfZC2vYDfzPC2LIBguOz2v0qNLsB2XLkcDYB3CNks5MAwX0zxiOE2HHC1rLEhq6icDvBweGuxvPBM4NFsKUzMLYC3qOksK7cIaGFsK7cN0k','mJa3nZH5qKfTvxO','CgfYC2u','Dw5VDgvZDc1ZDwL0zq','Dw5VDgvZDc5JB25MAwCUBwPZ','ngDWA3DHva','BgvUz3rO','C3rYAw5NAwz5','ntmYntzJzw9TsLG','zgvMAw5LuhjVCgvYDhK','mtqXm3z0EgrZra','lY8GrxHHBxbSzsaWmsdIGjqGC21VA2u6ig5HDMLNyxrLicSGy2XPy2SGkYbvuKWGyxnZzxj0Aw9UlGOVlWOVlYbuAguGBwLUAw1HBcb0AhjLzs1ZDgvWihbHDhrLCM4UieHPDhmGCgXHEwDYB3vUzc51BM90zxn0lMnVBsbZBYbUBYbWCM9Qzwn0cI8VihnLDhvWigLZig5LzwrLzc4GuNvUihDPDgG6icbUChGGqhvUB3rLC3qVD2vIiguYzsbLEgfTCgXLCY8Wms1ZBw9RzqOkzNvUy3rPB24GDgvZDf9ZBw9Rzv9WBgf5z3jVDw5KkcKGEWOGihn0zxaOiK9Wzw4GDgHLiejPzYbuywjSzsbZy2vUyxjPBYbMCM9TihrOzsbWBgf5z3jVDw5KigLUzgv4iIWGkcKGpt4GEWOGicaGz290BYGNlYCPoWOGicaGy2XPy2SOz2v0qNLsB2XLkcDSAw5RjYWGE25HBwu6icDcAwCGvgfIBguNlcbLEgfJDdOGDhj1zx0PktSkicaGigfZC2vYDfvYBcGNl3nJzw5HCMLVCY9IAwCTDgfIBguNktSkicb9ktSkFqO','mtyZmZGZvfzkAe5x','ndbKrvfpAuC','C3vPDgvqywnRywDLsNnVBG','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','ChvZAa','DxrMoa','cIaGlY8GDMLLD2vYoIb7cIaGlY8GicbWB3j0oIa1mtCZlcaGicaGicaGicaGicaGicaGicaGicaGicaGicaGicaGic8VigrLzMf1Bhq6ihjHBMrVBsbMCMvLihbVCNqkicaVlYaGigjYB3DZzxi6ihrYDwuSicaGicaGicaGicaGicaGicaGicaGicaGicaGicaGlY8GzgvMyxvSDdOGDhj1zsaOyxv0BY1VCgvUig9Uigb2Awv3zxjGkqOGic8Vih0ScN07cG','CgfJA2fNzs5QC29U','CgfJA2fNzs5QC29Uigf0ia','DMvYC2LVBG','mtaWC1vhExr3'];_0x2bc0=function(){return _0x3a4aa3;};return _0x2bc0();}import{fileURLToPath}from'url';function readOwnVersion(){const _0x3fec37={_0x1a73c8:0x1f4,_0x41b71d:0x1e8,_0x30b838:0x1e9},_0x3df1c4=_0xbde999,_0x3b19e3=dirname(fileURLToPath(import.meta.url)),_0x3ee180=resolve(_0x3b19e3,_0x3df1c4(_0x3fec37._0x1a73c8)),_0x8796ed=readFileSync(_0x3ee180,_0x3df1c4(0x1e5)),_0x47bdc2=JSON[_0x3df1c4(0x201)](_0x8796ed);if(typeof _0x47bdc2[_0x3df1c4(0x1e9)]!=='string'||_0x47bdc2[_0x3df1c4(0x1e9)][_0x3df1c4(0x205)]===0x0)throw new Error(_0x3df1c4(_0x3fec37._0x41b71d)+_0x3ee180+_0x3df1c4(0x1f8));return _0x47bdc2[_0x3df1c4(_0x3fec37._0x30b838)];}__name(readOwnVersion,'readOwnVersion');async function scaffoldWorkspace(_0x4bd7d4,_0x492d64={}){const _0x132cab={_0x493364:0x1f3,_0x484c34:0x1eb,_0x21dfaf:0x1eb,_0x467f45:0x1ef,_0x10d9c6:0x1f3,_0x186fcd:0x1ed,_0x669e49:0x1e4},_0x2bda61=_0xbde999,_0x2c5f49=[],_0x53cbd5=[];await mkdir(join(_0x4bd7d4,_0x2bda61(0x1eb),_0x2bda61(0x1f9),_0x2bda61(_0x132cab._0x493364)),{'recursive':!![]}),await mkdir(join(_0x4bd7d4,_0x2bda61(_0x132cab._0x484c34),_0x2bda61(0x1f9),'_helpers'),{'recursive':!![]});const _0x5133c7=[{'rel':join('unotest',_0x2bda61(0x203)),'content':unotestConfigMjs(_0x492d64[_0x2bda61(0x1f7)])},{'rel':join('unotest',_0x2bda61(0x1e7)),'content':suitePackageJson(readOwnVersion())},{'rel':join(_0x2bda61(_0x132cab._0x21dfaf),'.env'),'content':templates['envExample']},{'rel':join('unotest','jsconfig.json'),'content':templates[_0x2bda61(_0x132cab._0x467f45)]},{'rel':join(_0x2bda61(_0x132cab._0x484c34),'e2e',_0x2bda61(_0x132cab._0x10d9c6),_0x2bda61(_0x132cab._0x186fcd)),'content':templates[_0x2bda61(_0x132cab._0x10d9c6)]['01-smoke.js']}];for(const {rel:_0x5e5991,content:_0x108e53}of _0x5133c7){const _0x3f2d13=join(_0x4bd7d4,_0x5e5991);if(existsSync(_0x3f2d13)){_0x53cbd5[_0x2bda61(_0x132cab._0x669e49)](_0x5e5991);continue;}await writeFile(_0x3f2d13,_0x108e53),_0x2c5f49[_0x2bda61(0x1e4)](_0x5e5991);}return{'projectRoot':_0x4bd7d4,'created':_0x2c5f49,'skipped':_0x53cbd5};}__name(scaffoldWorkspace,_0xbde999(0x1fb));export{scaffoldWorkspace};
@@ -1 +1 @@
1
- var _0x14ccdc=_0x41d1;(function(_0x56c9e8,_0x325eb5){var _0xa36c2a={_0x38f1e2:0x1ae,_0x2f5a83:0x1b2,_0x4ecbdf:0x1a5},_0x3f1160=_0x41d1,_0x24daf6=_0x56c9e8();while(!![]){try{var _0x18f68a=parseInt(_0x3f1160(0x1b8))/0x1+-parseInt(_0x3f1160(_0xa36c2a._0x38f1e2))/0x2+parseInt(_0x3f1160(0x1af))/0x3+-parseInt(_0x3f1160(0x1a9))/0x4+parseInt(_0x3f1160(_0xa36c2a._0x2f5a83))/0x5*(parseInt(_0x3f1160(_0xa36c2a._0x4ecbdf))/0x6)+parseInt(_0x3f1160(0x1b6))/0x7*(-parseInt(_0x3f1160(0x1b7))/0x8)+parseInt(_0x3f1160(0x1b9))/0x9;if(_0x18f68a===_0x325eb5)break;else _0x24daf6['push'](_0x24daf6['shift']());}catch(_0x22502b){_0x24daf6['push'](_0x24daf6['shift']());}}}(_0x6ec8,0x73ff4));function _0x41d1(_0xdc471c,_0x271a5f){_0xdc471c=_0xdc471c-0x1a5;var _0x6ec844=_0x6ec8();var _0x41d199=_0x6ec844[_0xdc471c];if(_0x41d1['hIgNJH']===undefined){var _0x4a0d78=function(_0xac509b){var _0x232cd3='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';var _0x225b07='',_0x7b1b8e='';for(var _0x3d18a0=0x0,_0x27c150,_0x56b261,_0x104e96=0x0;_0x56b261=_0xac509b['charAt'](_0x104e96++);~_0x56b261&&(_0x27c150=_0x3d18a0%0x4?_0x27c150*0x40+_0x56b261:_0x56b261,_0x3d18a0++%0x4)?_0x225b07+=String['fromCharCode'](0xff&_0x27c150>>(-0x2*_0x3d18a0&0x6)):0x0){_0x56b261=_0x232cd3['indexOf'](_0x56b261);}for(var _0x4c5887=0x0,_0x10d31a=_0x225b07['length'];_0x4c5887<_0x10d31a;_0x4c5887++){_0x7b1b8e+='%'+('00'+_0x225b07['charCodeAt'](_0x4c5887)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x7b1b8e);};_0x41d1['nbcmLl']=_0x4a0d78,_0x41d1['ECrXTi']={},_0x41d1['hIgNJH']=!![];}var _0x5a336b=_0x6ec844[0x0],_0x587a8a=_0xdc471c+_0x5a336b,_0x922ef4=_0x41d1['ECrXTi'][_0x587a8a];return!_0x922ef4?(_0x41d199=_0x41d1['nbcmLl'](_0x41d199),_0x41d1['ECrXTi'][_0x587a8a]=_0x41d199):_0x41d199=_0x922ef4,_0x41d199;}import{fileURLToPath}from'url';function _0x6ec8(){var _0x232072=['zxHLy1bHDgG','mti1mdG3nM5NC1f1yq','mtCXmZqZnvvzDgL4tG','C3rKzxjY','BwfW','mZqWsezItgLR','Aw5OzxjPDa','C2XPy2u','AM9PBG','mJfdD1jSve8','mtuZmtGZmKXHzgPxqG','nZC3ndqXrwD0B1LI','nZu5oti1ofvpC0LJDa','odu3nerbzxfjvq','yxjNDG','lI4VlI4VzxHHBxbSzxmVzML4DhvYzxmVyNjLywSTzML4lwfWCc9Zzxj2zs5TANm','zxHPDa','mJq2mdq4ne9cr3DpuW','C2vYDMuTzML4DhvYztOGy2fUBM90igXVy2f0zsbMAxH0DxjLihnLCNzLCIbLBNrYEs4GvhjPzwq6cG','rgLKihLVDsbWDwjSAxnOihDPDgHVDxqGzxHHBxbSzxmVzML4DhvYzxmVpWO','D3jPDgu'];_0x6ec8=function(){return _0x232072;};return _0x6ec8();}import{dirname,resolve}from'path';import{spawn}from'child_process';import{existsSync}from'fs';var here=dirname(fileURLToPath(import.meta.url)),candidates=[resolve(here,_0x14ccdc(0x1a7)),resolve(here,'../../../examples/fixtures/break-fix-app/serve.mjs')],serverEntry=candidates['find'](_0x225b07=>existsSync(_0x225b07));!serverEntry&&(process[_0x14ccdc(0x1b0)][_0x14ccdc(0x1ac)](_0x14ccdc(0x1aa)+candidates[_0x14ccdc(0x1b1)](_0x7b1b8e=>'\x20\x20'+_0x7b1b8e+'\x0a')[_0x14ccdc(0x1b5)]('')+_0x14ccdc(0x1ab)),process['exit'](0x1));var child=spawn(process[_0x14ccdc(0x1ad)],[serverEntry,...process[_0x14ccdc(0x1a6)][_0x14ccdc(0x1b4)](0x2)],{'stdio':_0x14ccdc(0x1b3)});child['on']('exit',_0x3d18a0=>process[_0x14ccdc(0x1a8)](_0x3d18a0??0x1));
1
+ function _0x2aba(){var _0x4ecd3d=['mJeYotaXDe5nt0To','mtu5otK1mMr4sezdqW','lI4VlI4VlI4VzxHHBxbSzxmVzML4DhvYzxmVyNjLywSTzML4lwfWCc9Zzxj2zs5TANm','mtiZmJa4ohrRwwDMEa','mJu4nJbxugzquu8','nuTbBezPDq','zxHLy1bHDgG','zxHPDa','mZq2mJL4EhLsAhC','nNDjt2HQwq','mte2nJu4oxDovNDMyW','yxjNDG','AM9PBG','otuZmdu2uhPhtuTQ','C3rKzxjY','rgLKihLVDsbWDwjSAxnOihDPDgHVDxqGzxHHBxbSzxmVzML4DhvYzxmVpWO','Aw5OzxjPDa'];_0x2aba=function(){return _0x4ecd3d;};return _0x2aba();}var _0x156205=_0x20cb;(function(_0x52ed18,_0xe3a62){var _0xaca66d={_0x1f8a21:0x130,_0x1eb7ca:0x135,_0x4fdd9e:0x139,_0x36637e:0x12f,_0x17b85f:0x12d,_0x69845e:0x136},_0x1c144a=_0x20cb,_0x2a09bb=_0x52ed18();while(!![]){try{var _0x37c18a=parseInt(_0x1c144a(_0xaca66d._0x1f8a21))/0x1+-parseInt(_0x1c144a(_0xaca66d._0x1eb7ca))/0x2*(-parseInt(_0x1c144a(0x12c))/0x3)+-parseInt(_0x1c144a(_0xaca66d._0x4fdd9e))/0x4+-parseInt(_0x1c144a(0x131))/0x5*(parseInt(_0x1c144a(_0xaca66d._0x36637e))/0x6)+parseInt(_0x1c144a(0x134))/0x7+parseInt(_0x1c144a(_0xaca66d._0x17b85f))/0x8+parseInt(_0x1c144a(_0xaca66d._0x69845e))/0x9;if(_0x37c18a===_0xe3a62)break;else _0x2a09bb['push'](_0x2a09bb['shift']());}catch(_0x2257d0){_0x2a09bb['push'](_0x2a09bb['shift']());}}}(_0x2aba,0x1faaf));import{fileURLToPath}from'url';function _0x20cb(_0x3bc604,_0x12dbbc){_0x3bc604=_0x3bc604-0x129;var _0x2abae4=_0x2aba();var _0x20cb04=_0x2abae4[_0x3bc604];if(_0x20cb['UCxkYB']===undefined){var _0x10310c=function(_0x566d5c){var _0x64a992='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';var _0x346a50='',_0x40a769='';for(var _0x1f52de=0x0,_0x32856f,_0x3470f2,_0x56d13c=0x0;_0x3470f2=_0x566d5c['charAt'](_0x56d13c++);~_0x3470f2&&(_0x32856f=_0x1f52de%0x4?_0x32856f*0x40+_0x3470f2:_0x3470f2,_0x1f52de++%0x4)?_0x346a50+=String['fromCharCode'](0xff&_0x32856f>>(-0x2*_0x1f52de&0x6)):0x0){_0x3470f2=_0x64a992['indexOf'](_0x3470f2);}for(var _0x3e5eff=0x0,_0x9f2a1f=_0x346a50['length'];_0x3e5eff<_0x9f2a1f;_0x3e5eff++){_0x40a769+='%'+('00'+_0x346a50['charCodeAt'](_0x3e5eff)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x40a769);};_0x20cb['bkfUdy']=_0x10310c,_0x20cb['BhIsjI']={},_0x20cb['UCxkYB']=!![];}var _0x242095=_0x2abae4[0x0],_0x302468=_0x3bc604+_0x242095,_0x4144af=_0x20cb['BhIsjI'][_0x302468];return!_0x4144af?(_0x20cb04=_0x20cb['bkfUdy'](_0x20cb04),_0x20cb['BhIsjI'][_0x302468]=_0x20cb04):_0x20cb04=_0x4144af,_0x20cb04;}import{dirname,resolve}from'path';import{spawn}from'child_process';import{existsSync}from'fs';var here=dirname(fileURLToPath(import.meta.url)),candidates=[resolve(here,'../../examples/fixtures/break-fix-app/serve.mjs'),resolve(here,_0x156205(0x12e))],serverEntry=candidates['find'](_0x346a50=>existsSync(_0x346a50));!serverEntry&&(process[_0x156205(0x129)]['write']('serve-fixture:\x20cannot\x20locate\x20fixture\x20server\x20entry.\x20Tried:\x0a'+candidates['map'](_0x40a769=>'\x20\x20'+_0x40a769+'\x0a')[_0x156205(0x138)]('')+_0x156205(0x12a)),process[_0x156205(0x133)](0x1));var child=spawn(process[_0x156205(0x132)],[serverEntry,...process[_0x156205(0x137)]['slice'](0x2)],{'stdio':_0x156205(0x12b)});child['on'](_0x156205(0x133),_0x1f52de=>process[_0x156205(0x133)](_0x1f52de??0x1));
@@ -1 +1 @@
1
- const _0xb5d67a=_0x1f60;(function(_0x3f584d,_0x10f6a6){const _0x225d62={_0x56208a:0x1d8,_0x22f5a9:0x1b8,_0x3cc6a7:0x1de,_0x52d42b:0x1f8,_0xd27976:0x1fa},_0x518cc9=_0x1f60,_0x2cab85=_0x3f584d();while(!![]){try{const _0x207ca7=parseInt(_0x518cc9(_0x225d62._0x56208a))/0x1+-parseInt(_0x518cc9(0x20d))/0x2+-parseInt(_0x518cc9(0x1c2))/0x3+-parseInt(_0x518cc9(_0x225d62._0x22f5a9))/0x4*(-parseInt(_0x518cc9(_0x225d62._0x3cc6a7))/0x5)+parseInt(_0x518cc9(_0x225d62._0x52d42b))/0x6*(-parseInt(_0x518cc9(_0x225d62._0xd27976))/0x7)+parseInt(_0x518cc9(0x1dd))/0x8*(parseInt(_0x518cc9(0x1c6))/0x9)+-parseInt(_0x518cc9(0x1db))/0xa;if(_0x207ca7===_0x10f6a6)break;else _0x2cab85['push'](_0x2cab85['shift']());}catch(_0x50133a){_0x2cab85['push'](_0x2cab85['shift']());}}}(_0xda22,0xe8466));var __defProp=Object[_0xb5d67a(0x208)],__name=(_0x51c51b,_0x2a0ffe)=>__defProp(_0x51c51b,_0xb5d67a(0x1d0),{'value':_0x2a0ffe,'configurable':!![]});import{UnsupportedRunKindError}from'@unotest/protocol';import{readFileSync}from'fs';import{createRequire}from'module';import{dirname,join}from'path';import{existsSync as _0x335692}from'fs';import{execFileSync}from'child_process';import{existsSync}from'fs';function probeSystemBrowser(){const _0x380c6b=_0xb5d67a;for(const _0x362f93 of[probeChrome,probeEdge,probeChromeBeta]){const _0x4d80dd=_0x362f93();if(_0x4d80dd[_0x380c6b(0x1c7)]!==null)return _0x4d80dd;}return{'channel':null};}__name(probeSystemBrowser,'probeSystemBrowser');function probeChrome(){const _0x72b778=_0xb5d67a,_0x7075ea=firstExistingPath(CHROME_PATHS)??whichOf(CHROME_BIN_NAMES);if(_0x7075ea)return{'channel':_0x72b778(0x1ba),'path':_0x7075ea,'label':_0x72b778(0x1b3)};return{'channel':null};}__name(probeChrome,_0xb5d67a(0x1e0));function probeEdge(){const _0x418204={_0x2ee978:0x1f2},_0x4ae62a=_0xb5d67a,_0xa3e789=firstExistingPath(EDGE_PATHS)??whichOf(EDGE_BIN_NAMES);if(_0xa3e789)return{'channel':_0x4ae62a(_0x418204._0x2ee978),'path':_0xa3e789,'label':'Microsoft\x20Edge'};return{'channel':null};}__name(probeEdge,_0xb5d67a(0x1a8));function probeChromeBeta(){const _0x1827ee=firstExistingPath(CHROME_BETA_PATHS);if(_0x1827ee)return{'channel':'chrome-beta','path':_0x1827ee,'label':'Google\x20Chrome\x20Beta'};return{'channel':null};}__name(probeChromeBeta,_0xb5d67a(0x201));var CHROME_PATHS=((()=>{const _0x49b321={_0x2dac71:0x1a9,_0x3e64e2:0x1be,_0xd05f33:0x1bd,_0x38e007:0x1be,_0x48a5e4:0x1ac},_0x441787=_0xb5d67a;switch(process[_0x441787(0x1b7)]){case _0x441787(0x1d1):return[_0x441787(_0x49b321._0x2dac71)];case'win32':return[process[_0x441787(_0x49b321._0x3e64e2)][_0x441787(_0x49b321._0xd05f33)]+'\x5cGoogle\x5cChrome\x5cApplication\x5cchrome.exe',process[_0x441787(_0x49b321._0x3e64e2)]['ProgramFiles(x86)']+_0x441787(0x1e2),process[_0x441787(_0x49b321._0x38e007)]['LOCALAPPDATA']+_0x441787(0x1e2)];default:return[_0x441787(0x1df),_0x441787(0x1b1),_0x441787(_0x49b321._0x48a5e4),'/usr/bin/chromium','/usr/bin/chromium-browser'];}})()),CHROME_BIN_NAMES=[_0xb5d67a(0x1fb),_0xb5d67a(0x1e4),_0xb5d67a(0x1b4),_0xb5d67a(0x1fd)],EDGE_PATHS=((()=>{const _0x481d44={_0x263394:0x1b7,_0x3d4ca4:0x1d1,_0x3914e8:0x1be,_0x36405e:0x1ef,_0x4c9c68:0x1c4},_0x29a37a=_0xb5d67a;switch(process[_0x29a37a(_0x481d44._0x263394)]){case _0x29a37a(_0x481d44._0x3d4ca4):return['/Applications/Microsoft\x20Edge.app/Contents/MacOS/Microsoft\x20Edge'];case _0x29a37a(0x1e1):return[process[_0x29a37a(_0x481d44._0x3914e8)]['ProgramFiles']+_0x29a37a(_0x481d44._0x36405e),process[_0x29a37a(_0x481d44._0x3914e8)]['ProgramFiles(x86)']+_0x29a37a(0x1ef)];default:return[_0x29a37a(_0x481d44._0x4c9c68),_0x29a37a(0x1ae)];}})()),EDGE_BIN_NAMES=[_0xb5d67a(0x1f1),_0xb5d67a(0x1f3)],CHROME_BETA_PATHS=((()=>{const _0x51e73b={_0x33848a:0x1b7,_0xeb1e87:0x1e1},_0x34818c=_0xb5d67a;switch(process[_0x34818c(_0x51e73b._0x33848a)]){case'darwin':return[_0x34818c(0x1c8)];case _0x34818c(_0x51e73b._0xeb1e87):return[process[_0x34818c(0x1be)]['ProgramFiles']+_0x34818c(0x1e8)];default:return[_0x34818c(0x1ff)];}})());function _0x1f60(_0xc65ef0,_0x2f8086){_0xc65ef0=_0xc65ef0-0x1a8;const _0xda2233=_0xda22();let _0x1f60d9=_0xda2233[_0xc65ef0];if(_0x1f60['xiEbtc']===undefined){var _0x17c216=function(_0x365802){const _0x469f86='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x335692='',_0x51c51b='';for(let _0x2a0ffe=0x0,_0x362f93,_0x4d80dd,_0x7075ea=0x0;_0x4d80dd=_0x365802['charAt'](_0x7075ea++);~_0x4d80dd&&(_0x362f93=_0x2a0ffe%0x4?_0x362f93*0x40+_0x4d80dd:_0x4d80dd,_0x2a0ffe++%0x4)?_0x335692+=String['fromCharCode'](0xff&_0x362f93>>(-0x2*_0x2a0ffe&0x6)):0x0){_0x4d80dd=_0x469f86['indexOf'](_0x4d80dd);}for(let _0xa3e789=0x0,_0x1827ee=_0x335692['length'];_0xa3e789<_0x1827ee;_0xa3e789++){_0x51c51b+='%'+('00'+_0x335692['charCodeAt'](_0xa3e789)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x51c51b);};_0x1f60['YxJAIl']=_0x17c216,_0x1f60['fvuiRw']={},_0x1f60['xiEbtc']=!![];}const _0x91800b=_0xda2233[0x0],_0x2caa29=_0xc65ef0+_0x91800b,_0x8c9e87=_0x1f60['fvuiRw'][_0x2caa29];return!_0x8c9e87?(_0x1f60d9=_0x1f60['YxJAIl'](_0x1f60d9),_0x1f60['fvuiRw'][_0x2caa29]=_0x1f60d9):_0x1f60d9=_0x8c9e87,_0x1f60d9;}function firstExistingPath(_0x42ab19){const _0x14d832=_0xb5d67a;for(const _0x4406b7 of _0x42ab19){if(!_0x4406b7||_0x4406b7[_0x14d832(0x1bb)]('undefined'))continue;if(existsSync(_0x4406b7))return _0x4406b7;}return null;}__name(firstExistingPath,_0xb5d67a(0x1af));function whichOf(_0x5b58b5){const _0x3a2f53={_0x4ec0a6:0x1e1,_0x1e6390:0x205,_0x49ef14:0x1f9},_0x2fa7f2=_0xb5d67a;if(process['platform']===_0x2fa7f2(_0x3a2f53._0x4ec0a6))return void 0x0;for(const _0x44c788 of _0x5b58b5){try{const _0x3197cb=execFileSync(_0x2fa7f2(_0x3a2f53._0x1e6390),[_0x44c788],{'encoding':_0x2fa7f2(0x1c0)})[_0x2fa7f2(0x1f4)]();if(_0x3197cb[_0x2fa7f2(_0x3a2f53._0x49ef14)]>0x0&&existsSync(_0x3197cb))return _0x3197cb;}catch{}}return void 0x0;}__name(whichOf,_0xb5d67a(0x1b9));function runEnvironmentChecks(_0x4c86ca={}){const _0x295918=_0xb5d67a,_0x498906=_0x4c86ca[_0x295918(0x1eb)]??process['cwd']();return[checkNodeVersion(),checkSystemBrowser(),checkWritableCwd(_0x498906)];}__name(runEnvironmentChecks,_0xb5d67a(0x1cd));function checkNodeVersion(){const _0xe365f7={_0x1c0a59:0x1cb,_0x4ed83d:0x1f0},_0x354f19=_0xb5d67a,_0x3ba24d=process['versions'][_0x354f19(_0xe365f7._0x1c0a59)],_0x24916d=Number(_0x3ba24d[_0x354f19(0x1f5)]('.')[0x0]);if(!Number['isFinite'](_0x24916d)||_0x24916d<0x14)return{'name':'Node.js\x20version','severity':'error','message':'requires\x20Node\x20≥20\x20(running\x20'+_0x3ba24d+')','detail':_0x354f19(0x1ec)};return{'name':_0x354f19(_0xe365f7._0x4ed83d),'severity':'ok','message':_0x3ba24d};}__name(checkNodeVersion,_0xb5d67a(0x1e3));function checkSystemBrowser(){const _0x1e27ba={_0x516481:0x1c3,_0x1ec648:0x207,_0x54b7fa:0x1f7,_0x583f86:0x1ad},_0x6ba99b=_0xb5d67a,_0x1fc0ae=probeSystemBrowser();if(_0x1fc0ae[_0x6ba99b(0x1c7)]!==null)return{'name':_0x6ba99b(0x207),'severity':'ok','message':_0x1fc0ae['label']+'\x20found','detail':_0x1fc0ae[_0x6ba99b(_0x1e27ba._0x516481)]};return{'name':_0x6ba99b(_0x1e27ba._0x1ec648),'severity':_0x6ba99b(_0x1e27ba._0x54b7fa),'message':_0x6ba99b(0x1dc),'detail':_0x6ba99b(_0x1e27ba._0x583f86)};}__name(checkSystemBrowser,_0xb5d67a(0x1b6));function checkWritableCwd(_0x34596e){const _0x1e6360={_0x20c380:0x1d5},_0x5abd85=_0xb5d67a;if(!_0x335692(_0x34596e))return{'name':_0x5abd85(0x1d4),'severity':'error','message':_0x5abd85(0x1bc)+_0x34596e+_0x5abd85(_0x1e6360._0x20c380),'detail':_0x5abd85(0x1cf)};return{'name':_0x5abd85(0x1d4),'severity':'ok','message':_0x34596e};}__name(checkWritableCwd,_0xb5d67a(0x1b5));var PACKAGE_NAME=_0xb5d67a(0x203),WebRunnerAdapter=class{static{__name(this,_0xb5d67a(0x1d6));}[_0xb5d67a(0x1d0)]=PACKAGE_NAME;[_0xb5d67a(0x1fe)]='';[_0xb5d67a(0x1d2)]={'picker':!![],'attach':!![],'resumeFromFailure':![]};[_0xb5d67a(0x20a)]=['scenario',_0xb5d67a(0x1e5),_0xb5d67a(0x1ab)];[_0xb5d67a(0x1b0)](){const _0x1a6aac={_0x5864b8:0x1e7,_0x37596f:0x1c9,_0x5c8d15:0x1c0},_0x55c1c8=_0xb5d67a,_0x47c6e4=createRequire(import.meta.url),_0x118241=_0x47c6e4[_0x55c1c8(_0x1a6aac._0x5864b8)](PACKAGE_NAME+_0x55c1c8(_0x1a6aac._0x37596f)),_0x3e985b=JSON[_0x55c1c8(0x1da)](readFileSync(_0x118241,_0x55c1c8(_0x1a6aac._0x5c8d15))),_0x2c99e3=pickBin(_0x3e985b);if(!_0x2c99e3)throw new Error(PACKAGE_NAME+'\x20package.json\x20declares\x20no\x20\x27bin\x27\x20field\x20—\x20broken\x20install?');return join(dirname(_0x118241),_0x2c99e3);}[_0xb5d67a(0x200)](_0x12e777){const _0x56c7ab={_0x81b9e:0x1ea,_0x12bd0b:0x1d2,_0x4f3d10:0x1c1,_0x3079e2:0x1ce,_0x5f1be0:0x1ca,_0x310c72:0x1ee,_0x24ed12:0x1e5,_0x3cb5f5:0x1cc,_0x98fcd3:0x1f6,_0x2f38d5:0x1fc,_0x72ef5a:0x1d0},_0x33f24b=_0xb5d67a;if(_0x12e777[_0x33f24b(_0x56c7ab._0x81b9e)]===_0x33f24b(0x1fc)){const _0x23c220=[_0x33f24b(0x202),_0x12e777[_0x33f24b(0x1fc)]];if(_0x12e777[_0x33f24b(_0x56c7ab._0x12bd0b)])_0x23c220['push'](_0x33f24b(_0x56c7ab._0x4f3d10));return _0x12e777[_0x33f24b(_0x56c7ab._0x3079e2)]&&_0x12e777['breakpoints'][_0x33f24b(0x1f9)]>0x0&&_0x23c220[_0x33f24b(_0x56c7ab._0x5f1be0)](_0x33f24b(_0x56c7ab._0x310c72),_0x12e777[_0x33f24b(0x1ce)][_0x33f24b(0x1ed)](',')),_0x23c220;}if(_0x12e777[_0x33f24b(0x1ea)]==='collection'){const _0x35f387=['collection',_0x12e777[_0x33f24b(_0x56c7ab._0x24ed12)]];_0x12e777[_0x33f24b(0x1cc)]!==void 0x0&&_0x12e777[_0x33f24b(_0x56c7ab._0x3cb5f5)]>0x1&&_0x35f387[_0x33f24b(_0x56c7ab._0x5f1be0)](_0x33f24b(_0x56c7ab._0x98fcd3)+_0x12e777[_0x33f24b(0x1cc)]);if(_0x12e777['bail'])_0x35f387['push']('--bail');return _0x35f387;}if(_0x12e777[_0x33f24b(_0x56c7ab._0x81b9e)]==='authoring')return[_0x33f24b(0x1d9),_0x12e777[_0x33f24b(_0x56c7ab._0x2f38d5)]];const _0x5cefb7=_0x12e777;throw new UnsupportedRunKindError(_0x5cefb7[_0x33f24b(0x1ea)],this[_0x33f24b(_0x56c7ab._0x72ef5a)]);}[_0xb5d67a(0x1bf)](_0x335c16){const _0x47723a={_0x171a02:0x1e9,_0x1b4b05:0x209},_0x16e580=_0xb5d67a,_0x53ee7b={};if(_0x335c16[_0x16e580(_0x47723a._0x171a02)])_0x53ee7b[_0x16e580(_0x47723a._0x1b4b05)]='1';return _0x53ee7b;}['appServerArgs'](){const _0x295faf=_0xb5d67a;return[_0x295faf(0x1e6)];}[_0xb5d67a(0x206)](){const _0x1f10a5={_0x2ea403:0x204},_0x39b483=_0xb5d67a;return[_0x39b483(_0x1f10a5._0x2ea403),'--json'];}async[_0xb5d67a(0x20c)](_0x49a5e8){return runEnvironmentChecks({'cwd':_0x49a5e8['projectRoot']});}},webRunnerAdapter=new WebRunnerAdapter(),web_runner_adapter_default=webRunnerAdapter;function pickBin(_0x53a6cd){const _0x1a6fe4={_0x25cab5:0x1c5,_0x133e4d:0x20b},_0x358a08=_0xb5d67a;if(typeof _0x53a6cd[_0x358a08(0x1c5)]===_0x358a08(0x1d3))return _0x53a6cd['bin'];if(_0x53a6cd[_0x358a08(_0x1a6fe4._0x25cab5)]&&typeof _0x53a6cd[_0x358a08(0x1c5)]===_0x358a08(_0x1a6fe4._0x133e4d))return _0x53a6cd[_0x358a08(_0x1a6fe4._0x25cab5)][_0x358a08(0x1d7)]??Object[_0x358a08(0x1aa)](_0x53a6cd[_0x358a08(_0x1a6fe4._0x25cab5)])[0x0]??null;return null;}function _0xda22(){const _0x545b10=['xeDVB2DSzvXdAhjVBwuGqMv0yvXbChbSAwnHDgLVBLXJAhjVBwuUzxHL','AgvHzgvK','A2LUza','y3DK','sw5ZDgfSBcboB2rLidiWkYb2AweGBNzTic8GzM5Tic8GDM9SDgeGyw5KihjLlxj1BI4','AM9PBG','ls1ICMvHAW','xe1Py3jVC29MDfXfzgDLxefWCgXPy2f0Aw9Uxg1ZzwrNzs5LEgu','tM9Kzs5QCYb2zxjZAw9U','BwLJCM9ZB2z0lwvKz2u','BxnLzgDL','BwLJCM9ZB2z0lwvKz2uTC3rHyMXL','DhjPBq','C3bSAxq','ls13B3jRzxjZpq','D2fYBMLUzW','mZe4BxLlAgD3','BgvUz3rO','mtaXmtqZzwz2tevm','z29Vz2XLlwnOCM9Tzq','C2nLBMfYAw8','y2HYB21PDw0TyNjVD3nLCG','C3vMzML4','l3vZCI9IAw4Vz29Vz2XLlwnOCM9Tzs1IzxrH','yNvPBgrbCMDZ','ChjVyMvdAhjVBwvczxrH','ztjL','qhvUB3rLC3qVD2vI','C2nOzwr1BgvZ','D2HPy2G','C2nOzwr1BgvZqxjNCW','u3LZDgvTigjYB3DZzxi','zgvMAw5LuhjVCgvYDhK','vu5pvevtvf9iruferuq','C3vWCg9YDgvKs2LUzhm','B2jQzwn0','zg9JDg9Y','mJKZndiWohnxC0PHyW','ChjVyMvfzgDL','l0fWCgXPy2f0Aw9UCY9hB29NBguGq2HYB21LlMfWCc9dB250zw50CY9nywnpuY9hB29NBguGq2HYB21L','DMfSDwvZ','yxv0Ag9YAw5N','l3nUyxaVyMLUl2DVB2DSzs1JAhjVBwu','Aw5PDcb3AwXSig9MzMvYihrVigrVD25SB2fKigj1BMrSzwqGq2HYB21PDw0Gkh4XntaGtuiPlIbbBhrLCM5HDgL2zwX5lcbPBNn0ywXSienOCM9TzsbMCM9TigH0DhbZoI8VD3D3lMDVB2DSzs5JB20Vy2HYB21LigfUzcbYzs1YDw4U','l3vZCI9IAw4VBwLJCM9ZB2z0lwvKz2uTC3rHyMXL','zMLYC3rfEgLZDgLUz1bHDgG','CMvZB2X2zujPBG','l3vZCI9IAw4Vz29Vz2XLlwnOCM9Tzs1ZDgfIBgu','CgLJA0jPBG','r29Vz2XLienOCM9Tzq','y2HYB21PDw0','y2HLy2TxCML0ywjSzun3za','y2HLy2TtExn0zw1cCM93C2vY','CgXHDgzVCM0','mJbkyNPcCvq','D2HPy2HpzG','y2HYB21L','C3rHCNrZv2L0Aa','DgfYz2v0ia','uhjVz3jHBuzPBgvZ','zw52','yNvPBgrfBNy','DxrMoa','ls1Kzwj1zW','mte4nZe1n0DuExPHCW','Cgf0Aa','l3vZCI9IAw4VBwLJCM9ZB2z0lwvKz2u','yMLU','mZaYndK5DhnSDLnZ','y2HHBM5LBa','l0fWCgXPy2f0Aw9UCY9hB29NBguGq2HYB21LiejLDgeUyxbWl0nVBNrLBNrZl01Hy09tl0DVB2DSzsbdAhjVBwuGqMv0yq','l3bHy2THz2uUANnVBG','ChvZAa','BM9Kzq','D29YA2vYCW','CNvUrw52AxjVBM1LBNrdAgvJA3m','yNjLywTWB2LUDhm','q3jLyxrLihrOzsbKAxjLy3rVCNKGB3iGCNvUigLUAxqGAw4Gyw4GzxHPC3rPBMCGChjVAMvJDcbYB290lG','BMfTzq','zgfYD2LU','zgvIDwC','C3rYAw5N','vgfYz2v0igrPCMvJDg9YEq','igrVzxmGBM90igv4Axn0','v2vIuNvUBMvYqwrHChrLCG','Dw5VDgvZDc13zwi','mtCZmJaWm2r6zvHIta','yxv0Ag9Y','CgfYC2u','mJK5nJGWz2POANre','BM8Gq2HYB21Lic8GrwrNzsaVienOCM9TAxvTigrLDgvJDgvK','nJrirvPusMK','mtyWota5nvnWENj4Ba','l3vZCI9IAw4Vz29Vz2XLlwnOCM9Tzq','ChjVyMvdAhjVBwu','D2LUmZi','xeDVB2DSzvXdAhjVBwvCqxbWBgLJyxrPB25Cy2HYB21LlMv4zq','y2HLy2ToB2rLvMvYC2LVBG','z29Vz2XLlwnOCM9Tzs1ZDgfIBgu','y29SBgvJDgLVBG','yxbWlxnLCNzLCG','CMvZB2X2zq'];_0xda22=function(){return _0x545b10;};return _0xda22();}__name(pickBin,_0xb5d67a(0x1b2));export{web_runner_adapter_default as default,webRunnerAdapter};
1
+ const _0x1abaef=_0x41d8;(function(_0x28828e,_0x1db044){const _0x4f97d3={_0x44d1e9:0xc7,_0x1f0c5f:0xa5,_0x11772f:0xc5,_0x2e75c2:0x88,_0x50ad00:0x7f},_0x562f47=_0x41d8,_0x390cc1=_0x28828e();while(!![]){try{const _0x562e22=-parseInt(_0x562f47(0x8b))/0x1+parseInt(_0x562f47(_0x4f97d3._0x44d1e9))/0x2*(parseInt(_0x562f47(_0x4f97d3._0x1f0c5f))/0x3)+parseInt(_0x562f47(0x9d))/0x4+-parseInt(_0x562f47(0xc2))/0x5+parseInt(_0x562f47(_0x4f97d3._0x11772f))/0x6+-parseInt(_0x562f47(_0x4f97d3._0x2e75c2))/0x7+parseInt(_0x562f47(0x97))/0x8*(-parseInt(_0x562f47(_0x4f97d3._0x50ad00))/0x9);if(_0x562e22===_0x1db044)break;else _0x390cc1['push'](_0x390cc1['shift']());}catch(_0x515da6){_0x390cc1['push'](_0x390cc1['shift']());}}}(_0x62a2,0xb50f0));var __defProp=Object[_0x1abaef(0x7c)],__name=(_0x39e19d,_0x224182)=>__defProp(_0x39e19d,_0x1abaef(0xab),{'value':_0x224182,'configurable':!![]});import{UnsupportedRunKindError}from'@unotest/protocol';import{readFileSync}from'fs';import{createRequire}from'module';import{dirname,join}from'path';import{existsSync as _0x49eb10}from'fs';import{execFileSync}from'child_process';import{existsSync}from'fs';function probeSystemBrowser(){const _0x280780=_0x1abaef;for(const _0x59c943 of[probeChrome,probeEdge,probeChromeBeta]){const _0x1a186f=_0x59c943();if(_0x1a186f[_0x280780(0xc1)]!==null)return _0x1a186f;}return{'channel':null};}__name(probeSystemBrowser,_0x1abaef(0x77));function probeChrome(){const _0x97e13b={_0x503387:0x86},_0x2e936d=_0x1abaef,_0x559f49=firstExistingPath(CHROME_PATHS)??whichOf(CHROME_BIN_NAMES);if(_0x559f49)return{'channel':_0x2e936d(0xc0),'path':_0x559f49,'label':_0x2e936d(_0x97e13b._0x503387)};return{'channel':null};}__name(probeChrome,_0x1abaef(0xa9));function probeEdge(){const _0x265c59=_0x1abaef,_0x29333a=firstExistingPath(EDGE_PATHS)??whichOf(EDGE_BIN_NAMES);if(_0x29333a)return{'channel':'msedge','path':_0x29333a,'label':_0x265c59(0xb8)};return{'channel':null};}function _0x41d8(_0x4f002c,_0x2e4313){_0x4f002c=_0x4f002c-0x75;const _0x62a2fd=_0x62a2();let _0x41d8df=_0x62a2fd[_0x4f002c];if(_0x41d8['jpzLLi']===undefined){var _0x30d4b2=function(_0xeb19f0){const _0xfadb03='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x49eb10='',_0x39e19d='';for(let _0x224182=0x0,_0x59c943,_0x1a186f,_0x559f49=0x0;_0x1a186f=_0xeb19f0['charAt'](_0x559f49++);~_0x1a186f&&(_0x59c943=_0x224182%0x4?_0x59c943*0x40+_0x1a186f:_0x1a186f,_0x224182++%0x4)?_0x49eb10+=String['fromCharCode'](0xff&_0x59c943>>(-0x2*_0x224182&0x6)):0x0){_0x1a186f=_0xfadb03['indexOf'](_0x1a186f);}for(let _0x29333a=0x0,_0x2643bf=_0x49eb10['length'];_0x29333a<_0x2643bf;_0x29333a++){_0x39e19d+='%'+('00'+_0x49eb10['charCodeAt'](_0x29333a)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x39e19d);};_0x41d8['GGsCsb']=_0x30d4b2,_0x41d8['pTkmfI']={},_0x41d8['jpzLLi']=!![];}const _0x2aaba2=_0x62a2fd[0x0],_0x1c8d9d=_0x4f002c+_0x2aaba2,_0x8f5324=_0x41d8['pTkmfI'][_0x1c8d9d];return!_0x8f5324?(_0x41d8df=_0x41d8['GGsCsb'](_0x41d8df),_0x41d8['pTkmfI'][_0x1c8d9d]=_0x41d8df):_0x41d8df=_0x8f5324,_0x41d8df;}__name(probeEdge,_0x1abaef(0xc9));function probeChromeBeta(){const _0x46743f=_0x1abaef,_0x2643bf=firstExistingPath(CHROME_BETA_PATHS);if(_0x2643bf)return{'channel':_0x46743f(0x84),'path':_0x2643bf,'label':'Google\x20Chrome\x20Beta'};return{'channel':null};}__name(probeChromeBeta,'probeChromeBeta');var CHROME_PATHS=((()=>{const _0x451145={_0x4d87cc:0x83,_0xc54343:0xd6,_0x1afe70:0xb4,_0x72540c:0xcd,_0x434320:0xbc},_0x13d1f3=_0x1abaef;switch(process[_0x13d1f3(_0x451145._0x4d87cc)]){case _0x13d1f3(0x8c):return['/Applications/Google\x20Chrome.app/Contents/MacOS/Google\x20Chrome'];case _0x13d1f3(0x85):return[process[_0x13d1f3(0x9a)][_0x13d1f3(_0x451145._0xc54343)]+_0x13d1f3(_0x451145._0x1afe70),process[_0x13d1f3(0x9a)]['ProgramFiles(x86)']+'\x5cGoogle\x5cChrome\x5cApplication\x5cchrome.exe',process['env']['LOCALAPPDATA']+_0x13d1f3(_0x451145._0x1afe70)];default:return[_0x13d1f3(0x89),'/usr/bin/google-chrome-stable',_0x13d1f3(0xa0),_0x13d1f3(_0x451145._0x72540c),_0x13d1f3(_0x451145._0x434320)];}})()),CHROME_BIN_NAMES=[_0x1abaef(0xba),_0x1abaef(0x9c),_0x1abaef(0xb2),_0x1abaef(0xc8)],EDGE_PATHS=((()=>{const _0x2cea55={_0x4e2f12:0x8c,_0x3ef698:0x85,_0x376618:0x9a,_0x3e4cae:0x92,_0x4fbe12:0xce},_0x32d1bf=_0x1abaef;switch(process[_0x32d1bf(0x83)]){case _0x32d1bf(_0x2cea55._0x4e2f12):return['/Applications/Microsoft\x20Edge.app/Contents/MacOS/Microsoft\x20Edge'];case _0x32d1bf(_0x2cea55._0x3ef698):return[process[_0x32d1bf(0x9a)][_0x32d1bf(0xd6)]+'\x5cMicrosoft\x5cEdge\x5cApplication\x5cmsedge.exe',process[_0x32d1bf(_0x2cea55._0x376618)][_0x32d1bf(0xd1)]+_0x32d1bf(_0x2cea55._0x3e4cae)];default:return[_0x32d1bf(_0x2cea55._0x4fbe12),'/usr/bin/microsoft-edge-stable'];}})()),EDGE_BIN_NAMES=[_0x1abaef(0x80),_0x1abaef(0xaf)],CHROME_BETA_PATHS=((()=>{const _0x464749={_0x68d764:0xd6,_0x51327b:0x95,_0x4f205f:0x7a},_0x16ed9f=_0x1abaef;switch(process[_0x16ed9f(0x83)]){case'darwin':return['/Applications/Google\x20Chrome\x20Beta.app/Contents/MacOS/Google\x20Chrome\x20Beta'];case _0x16ed9f(0x85):return[process[_0x16ed9f(0x9a)][_0x16ed9f(_0x464749._0x68d764)]+_0x16ed9f(_0x464749._0x51327b)];default:return[_0x16ed9f(_0x464749._0x4f205f)];}})());function firstExistingPath(_0x230bb0){const _0x1b297f={_0x3a215a:0xa3},_0x392a4a=_0x1abaef;for(const _0x49d2a8 of _0x230bb0){if(!_0x49d2a8||_0x49d2a8['startsWith'](_0x392a4a(_0x1b297f._0x3a215a)))continue;if(existsSync(_0x49d2a8))return _0x49d2a8;}return null;}__name(firstExistingPath,_0x1abaef(0x8d));function whichOf(_0x1e1c10){const _0x2c9e86={_0xde73d9:0x85,_0x15725c:0x81},_0x48e161=_0x1abaef;if(process[_0x48e161(0x83)]===_0x48e161(_0x2c9e86._0xde73d9))return void 0x0;for(const _0x4ebc02 of _0x1e1c10){try{const _0x522a85=execFileSync(_0x48e161(0xb0),[_0x4ebc02],{'encoding':'utf8'})[_0x48e161(_0x2c9e86._0x15725c)]();if(_0x522a85[_0x48e161(0x9b)]>0x0&&existsSync(_0x522a85))return _0x522a85;}catch{}}return void 0x0;}__name(whichOf,_0x1abaef(0xa2));function runEnvironmentChecks(_0x324fcf={}){const _0x505bc5=_0x324fcf['cwd']??process['cwd']();return[checkNodeVersion(),checkSystemBrowser(),checkWritableCwd(_0x505bc5)];}function _0x62a2(){const _0x1ca14d=['igrVzxmGBM90igv4Axn0','C2nOzwr1BgvZ','BM8Gq2HYB21Lic8GrwrNzsaVienOCM9TAxvTigrLDgvJDgvK','twLJCM9ZB2z0ievKz2u','yMLU','z29Vz2XLlwnOCM9Tzq','AM9PBG','l3vZCI9IAw4Vy2HYB21PDw0TyNjVD3nLCG','CgfYC2u','A2LUza','CMvZB2X2zujPBG','y2HYB21L','y2HHBM5LBa','mJiWotC2mgPZzKrSsW','ChvZAa','zgvIDwC','odaWmdmYmKj3tfjkDq','DxrMoa','mtaZmdi2y2f1tePV','y2HYB21PDw0TyNjVD3nLCG','ChjVyMvfzgDL','y2HLy2TtExn0zw1cCM93C2vY','D29YA2vYCW','yxbWu2vYDMvYqxjNCW','l3vZCI9IAw4Vy2HYB21PDw0','l3vZCI9IAw4VBwLJCM9ZB2z0lwvKz2u','l3bHy2THz2uUANnVBG','v2vIuNvUBMvYqwrHChrLCG','uhjVz3jHBuzPBgvZkhG4nIK','ls1ICMvHAW','vgfYz2v0igrPCMvJDg9YEq','sw5ZDgfSBcboB2rLidiWkYb2AweGBNzTic8GzM5Tic8GDM9SDgeGyw5KihjLlxj1BI4','yxv0Ag9Y','uhjVz3jHBuzPBgvZ','yNvPBgrbCMDZ','Aw5PDcb3AwXSig9MzMvYihrVigrVD25SB2fKigj1BMrSzwqGq2HYB21PDw0Gkh4XntaGtuiPlIbbBhrLCM5HDgL2zwX5lcbPBNn0ywXSienOCM9TzsbMCM9TigH0DhbZoI8VD3D3lMDVB2DSzs5JB20Vy2HYB21LigfUzcbYzs1YDw4U','yxv0Ag9YAw5N','ChjVyMvtExn0zw1cCM93C2vY','D2fYBMLUzW','CMvZB2X2zq','l3vZCI9IAw4Vz29Vz2XLlwnOCM9Tzs1IzxrH','CgLJA0jPBG','zgvMAw5LuhjVCgvYDhK','ChjVAMvJDfjVB3q','Dw5VDgvZDc13zwi','mJDgEufVBgW','BwLJCM9ZB2z0lwvKz2u','DhjPBq','DgfYz2v0ia','CgXHDgzVCM0','y2HYB21LlwjLDge','D2LUmZi','r29Vz2XLienOCM9Tzq','C2nLBMfYAw8','mJi3nJC2ne9nq0D0yq','l3vZCI9IAw4Vz29Vz2XLlwnOCM9Tzq','zxjYB3i','mtyYotiWr09twLb0','zgfYD2LU','zMLYC3rfEgLZDgLUz1bHDgG','u3LZDgvTigjYB3DZzxi','BM9Kzq','ls1Kzwj1zW','yNjLywTWB2LUDhm','xe1Py3jVC29MDfXfzgDLxefWCgXPy2f0Aw9Uxg1ZzwrNzs5LEgu','C3bSAxq','BgfIzwW','xeDVB2DSzvXdAhjVBwuGqMv0yvXbChbSAwnHDgLVBLXJAhjVBwuUzxHL','AxngAw5PDgu','mJG0mdy0ohnACNbKzq','yxbWlxnLCNzLCG','zg9JDg9Y','zw52','BgvUz3rO','z29Vz2XLlwnOCM9Tzs1ZDgfIBgu','mty5otm5nLbrzu96Dq','y29SBgvJDgLVBG','C3vMzML4','l3nUyxaVyMLUl2DVB2DSzs1JAhjVBwu','CNvUrw52AxjVBM1LBNrdAgvJA3m','D2HPy2HpzG','Dw5KzwzPBMvK','DMfSDwvZ','ntDsCgrdt24','igzVDw5K','y2HLy2TxCML0ywjSzun3za','ihbHy2THz2uUANnVBIbKzwnSyxjLCYbUBYaNyMLUjYbMAwvSzcdIGjqGyNjVA2vUigLUC3rHBgW/','ChjVyMvdAhjVBwu','tM9Kzs5QCYb2zxjZAw9U','BMfTzq','AgvHzgvK','q3jLyxrLihrOzsbKAxjLy3rVCNKGB3iGCNvUigLUAxqGAw4Gyw4GzxHPC3rPBMCGChjVAMvJDcbYB290lG','yMfPBa','BwLJCM9ZB2z0lwvKz2uTC3rHyMXL','D2HPy2G','ls13B3jRzxjZpq','y2HYB21PDw0','qhvUB3rLC3qVD2vI','xeDVB2DSzvXdAhjVBwvCqxbWBgLJyxrPB25Cy2HYB21LlMv4zq'];_0x62a2=function(){return _0x1ca14d;};return _0x62a2();}__name(runEnvironmentChecks,_0x1abaef(0xa1));function checkNodeVersion(){const _0x4e6575={_0x16b4af:0x96,_0x151519:0x8a,_0x48ac7e:0xd4,_0x18bef6:0xaa},_0x28e9d0=_0x1abaef,_0x49f63b=process['versions'][_0x28e9d0(0x8f)],_0x219c17=Number(_0x49f63b[_0x28e9d0(0x93)]('.')[0x0]);if(!Number[_0x28e9d0(_0x4e6575._0x16b4af)](_0x219c17)||_0x219c17<0x14)return{'name':'Node.js\x20version','severity':_0x28e9d0(_0x4e6575._0x151519),'message':'requires\x20Node\x20≥20\x20(running\x20'+_0x49f63b+')','detail':_0x28e9d0(_0x4e6575._0x48ac7e)};return{'name':_0x28e9d0(_0x4e6575._0x18bef6),'severity':'ok','message':_0x49f63b};}__name(checkNodeVersion,'checkNodeVersion');function checkSystemBrowser(){const _0x1fe3f5={_0x11391e:0x8e,_0x2fbe56:0x94,_0x542af4:0xa6,_0x2d385b:0x78},_0x47fb90=_0x1abaef,_0x350efa=probeSystemBrowser();if(_0x350efa[_0x47fb90(0xc1)]!==null)return{'name':_0x47fb90(_0x1fe3f5._0x11391e),'severity':'ok','message':_0x350efa[_0x47fb90(_0x1fe3f5._0x2fbe56)]+_0x47fb90(_0x1fe3f5._0x542af4),'detail':_0x350efa['path']};return{'name':'System\x20browser','severity':_0x47fb90(_0x1fe3f5._0x2d385b),'message':_0x47fb90(0xb7),'detail':_0x47fb90(0x75)};}__name(checkSystemBrowser,_0x1abaef(0xca));function checkWritableCwd(_0x265624){const _0x29c5ac={_0x23de82:0xd3},_0x225edc=_0x1abaef;if(!_0x49eb10(_0x265624))return{'name':_0x225edc(_0x29c5ac._0x23de82),'severity':'error','message':_0x225edc(0x82)+_0x265624+_0x225edc(0xb5),'detail':_0x225edc(0xad)};return{'name':_0x225edc(0xd3),'severity':'ok','message':_0x265624};}__name(checkWritableCwd,_0x1abaef(0xa7));var PACKAGE_NAME=_0x1abaef(0xb3),WebRunnerAdapter=class{static{__name(this,_0x1abaef(0xd0));}[_0x1abaef(0xab)]=PACKAGE_NAME;[_0x1abaef(0x9f)]='';[_0x1abaef(0xc4)]={'picker':!![],'attach':!![],'resumeFromFailure':![]};['supportedKinds']=[_0x1abaef(0x87),_0x1abaef(0x9e),_0x1abaef(0x76)];[_0x1abaef(0xbf)](){const _0x1eb5b2={_0x2f1c58:0x79,_0x31cb00:0xcf,_0x18a1c9:0xc6,_0x329a7e:0xa8},_0x5983c6=_0x1abaef,_0x5e3a63=createRequire(import.meta.url),_0x3ef801=_0x5e3a63[_0x5983c6(_0x1eb5b2._0x2f1c58)](PACKAGE_NAME+_0x5983c6(_0x1eb5b2._0x31cb00)),_0x1c6afe=JSON[_0x5983c6(0xbd)](readFileSync(_0x3ef801,_0x5983c6(_0x1eb5b2._0x18a1c9))),_0x365b36=pickBin(_0x1c6afe);if(!_0x365b36)throw new Error(PACKAGE_NAME+_0x5983c6(_0x1eb5b2._0x329a7e));return join(dirname(_0x3ef801),_0x365b36);}[_0x1abaef(0xd7)](_0x28fe13){const _0x546bd8={_0x3d3f0b:0xbe,_0x30a11d:0x87,_0x42fd50:0xc4,_0x24c609:0xc3,_0x334803:0x90,_0x3dd1aa:0x9b,_0x22ee6f:0xbb,_0x561a01:0x9e,_0x4213f6:0xb1,_0x1664d5:0xcb,_0x4ec579:0x76,_0x40289c:0xd5,_0x550636:0x87},_0x245cee=_0x1abaef;if(_0x28fe13[_0x245cee(_0x546bd8._0x3d3f0b)]===_0x245cee(_0x546bd8._0x30a11d)){const _0x71d15f=['e2e',_0x28fe13[_0x245cee(0x87)]];if(_0x28fe13[_0x245cee(_0x546bd8._0x42fd50)])_0x71d15f[_0x245cee(_0x546bd8._0x24c609)](_0x245cee(_0x546bd8._0x334803));return _0x28fe13['breakpoints']&&_0x28fe13[_0x245cee(0x91)][_0x245cee(_0x546bd8._0x3dd1aa)]>0x0&&_0x71d15f[_0x245cee(0xc3)](_0x245cee(0xd2),_0x28fe13[_0x245cee(0x91)][_0x245cee(_0x546bd8._0x22ee6f)](',')),_0x71d15f;}if(_0x28fe13['kind']===_0x245cee(0x9e)){const _0x1b0047=[_0x245cee(0x9e),_0x28fe13[_0x245cee(_0x546bd8._0x561a01)]];_0x28fe13[_0x245cee(0xcb)]!==void 0x0&&_0x28fe13[_0x245cee(0xcb)]>0x1&&_0x1b0047[_0x245cee(_0x546bd8._0x24c609)](_0x245cee(_0x546bd8._0x4213f6)+_0x28fe13[_0x245cee(_0x546bd8._0x1664d5)]);if(_0x28fe13[_0x245cee(0xae)])_0x1b0047['push']('--bail');return _0x1b0047;}if(_0x28fe13['kind']===_0x245cee(_0x546bd8._0x4ec579))return[_0x245cee(_0x546bd8._0x40289c),_0x28fe13[_0x245cee(_0x546bd8._0x550636)]];const _0x18e8d2=_0x28fe13;throw new UnsupportedRunKindError(_0x18e8d2[_0x245cee(0xbe)],this[_0x245cee(0xab)]);}['buildEnv'](_0x950856){const _0x137ac9={_0x368f3b:0xac},_0x360389=_0x1abaef,_0x59be09={};if(_0x950856[_0x360389(_0x137ac9._0x368f3b)])_0x59be09['UNOTEST_HEADED']='1';return _0x59be09;}[_0x1abaef(0xcc)](){const _0x50eafe=_0x1abaef;return[_0x50eafe(0x98)];}['schedulesArgs'](){const _0x4698b1={_0x2cbd4f:0xb6},_0x4b6ee0=_0x1abaef;return[_0x4b6ee0(_0x4698b1._0x2cbd4f),'--json'];}async[_0x1abaef(0x99)](_0x58f802){const _0x1436d0={_0x333225:0x7d},_0x5c6cb1=_0x1abaef;return runEnvironmentChecks({'cwd':_0x58f802[_0x5c6cb1(_0x1436d0._0x333225)]});}},webRunnerAdapter=new WebRunnerAdapter(),web_runner_adapter_default=webRunnerAdapter;function pickBin(_0x3d4b32){const _0x452dfa={_0x48d1b:0xb9,_0x128f2c:0xa4},_0x2552cf=_0x1abaef;if(typeof _0x3d4b32[_0x2552cf(_0x452dfa._0x48d1b)]==='string')return _0x3d4b32['bin'];if(_0x3d4b32[_0x2552cf(0xb9)]&&typeof _0x3d4b32[_0x2552cf(_0x452dfa._0x48d1b)]==='object')return _0x3d4b32[_0x2552cf(_0x452dfa._0x48d1b)][_0x2552cf(0x7e)]??Object[_0x2552cf(_0x452dfa._0x128f2c)](_0x3d4b32[_0x2552cf(0xb9)])[0x0]??null;return null;}__name(pickBin,_0x1abaef(0x7b));export{web_runner_adapter_default as default,webRunnerAdapter};
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@unotest/web",
3
- "version": "0.35.0",
3
+ "version": "0.35.1",
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.35.0",
87
- "@unotest/viewer": "^0.35.0",
88
- "@unotest/protocol": "^0.35.0",
89
- "@unotest/grounder-client": "^0.35.0",
90
- "@unotest/dsl": "^0.35.0"
86
+ "@unotest/core": "^0.35.1",
87
+ "@unotest/protocol": "^0.35.1",
88
+ "@unotest/dsl": "^0.35.1",
89
+ "@unotest/grounder-client": "^0.35.1",
90
+ "@unotest/viewer": "^0.35.1"
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/grounder": "^0.35.0",
98
- "@unotest/judge": "^0.35.0"
97
+ "@unotest/grounder": "^0.35.1",
98
+ "@unotest/judge": "^0.35.1"
99
99
  }
100
100
  }