@ranger-testing/ranger-cli 2.5.2 → 2.5.4-alpha.071b7bd-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.
- package/build/cli.js +1 -1
- package/build/commands/addEnv.js +1 -1
- package/build/commands/authEncrypt.js +1 -1
- package/build/commands/clean.js +1 -1
- package/build/commands/config.js +1 -1
- package/build/commands/env.js +1 -1
- package/build/commands/feature.js +1 -1
- package/build/commands/hook.js +1 -1
- package/build/commands/hooks/autoPrompt.js +1 -1
- package/build/commands/hooks/disable.js +1 -1
- package/build/commands/hooks/enable.js +1 -1
- package/build/commands/hooks/exitPlanMode.js +1 -1
- package/build/commands/hooks/index.js +1 -1
- package/build/commands/hooks/output.js +1 -1
- package/build/commands/hooks/planReminder.js +1 -1
- package/build/commands/hooks/planStart.js +1 -1
- package/build/commands/hooks/postEdit.js +1 -1
- package/build/commands/hooks/preCompact.js +1 -1
- package/build/commands/hooks/sessionEnd.js +1 -1
- package/build/commands/hooks/sessionStart.js +1 -1
- package/build/commands/hooks/stopHook.js +1 -1
- package/build/commands/index.js +1 -1
- package/build/commands/login.js +1 -1
- package/build/commands/mcpBootstrap.js +1 -1
- package/build/commands/setup/claude.js +1 -1
- package/build/commands/setup/opencode.js +1 -1
- package/build/commands/setupCi.js +1 -1
- package/build/commands/skillup.js +1 -1
- package/build/commands/start.js +1 -1
- package/build/commands/status.js +1 -1
- package/build/commands/update.js +1 -1
- package/build/commands/updateEnv.js +1 -1
- package/build/commands/useEnv.js +1 -1
- package/build/commands/utils/activeProfile.js +1 -1
- package/build/commands/utils/agentEnv.js +1 -1
- package/build/commands/utils/browserSessionsApi.js +1 -1
- package/build/commands/utils/claudeConfig.js +1 -1
- package/build/commands/utils/claudeOverrideSettings.js +1 -1
- package/build/commands/utils/claudePlugin.js +1 -1
- package/build/commands/utils/crypto.js +1 -1
- package/build/commands/utils/desirePathLog.js +1 -1
- package/build/commands/utils/deviceAuth.js +1 -1
- package/build/commands/utils/environment.js +1 -1
- package/build/commands/utils/featureApi.js +1 -1
- package/build/commands/utils/fixWebmDuration.js +1 -1
- package/build/commands/utils/keychain.js +1 -1
- package/build/commands/utils/localAgentInstallationsApi.js +1 -1
- package/build/commands/utils/mcpImageBase64.js +1 -1
- package/build/commands/utils/model.js +1 -1
- package/build/commands/utils/opencodeConfig.js +1 -1
- package/build/commands/utils/playwrightCli.js +1 -1
- package/build/commands/utils/profileMessages.js +1 -1
- package/build/commands/utils/profileSetupBanner.js +1 -1
- package/build/commands/utils/rangerConfig.js +1 -1
- package/build/commands/utils/rangerRoot.js +1 -1
- package/build/commands/utils/retry.js +1 -1
- package/build/commands/utils/sessionCache.js +1 -1
- package/build/commands/utils/settings.js +1 -1
- package/build/commands/utils/skillContent.js +1 -1
- package/build/commands/utils/skills.js +1 -1
- package/build/commands/utils/stitchWebmFiles.js +1 -1
- package/build/commands/utils/telemetry.js +1 -1
- package/build/commands/utils/tokenRefresh.js +1 -1
- package/build/commands/utils/traceSnapshotMapper.js +1 -1
- package/build/commands/utils/userApi.js +1 -1
- package/build/commands/utils/version.js +1 -1
- package/build/commands/verifyFeature.js +1 -1
- package/build/commands/verifyFeatureCli.js +1 -1
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(_0x5fee67,_0x51ae66){const _0x39c187=_0xa7ad,_0x22d472=_0x5fee67();while(!![]){try{const _0x5c38bd=parseInt(_0x39c187(0x1d0))/0x1*(-parseInt(_0x39c187(0x195))/0x2)+-parseInt(_0x39c187(0x1c3))/0x3*(-parseInt(_0x39c187(0x1dd))/0x4)+parseInt(_0x39c187(0x1e6))/0x5+-parseInt(_0x39c187(0x1cf))/0x6+parseInt(_0x39c187(0x19e))/0x7*(parseInt(_0x39c187(0x18e))/0x8)+-parseInt(_0x39c187(0x1c6))/0x9+-parseInt(_0x39c187(0x16a))/0xa*(-parseInt(_0x39c187(0x177))/0xb);if(_0x5c38bd===_0x51ae66)break;else _0x22d472['push'](_0x22d472['shift']());}catch(_0x473405){_0x22d472['push'](_0x22d472['shift']());}}}(_0x5c69,0x21b6d));import{mkdir,readFile,readdir,rename,stat}from'fs/promises';import{basename,join}from'path';import{extractBashCommand,parsePlaywrightCliCommand,quoteShellArg,runPlaywrightCliCommand}from'./utils/playwrightCli.js';const PLAYWRIGHT_CLI_COMMAND_TIMEOUT_MS=0xea60,PLAYWRIGHT_CLI_PREVIEW_LIMIT=0xf0,VERIFY_FEATURE_CLI_ARTIFACT_FILE_PATTERN=/^(?:\d{2}_.+\.(?:png|ya?ml)|key_.+\.png|session-recording(?:-\d+)?\.webm|trace(?:\.trace)?(?:-\d+)?\.zip|current_snap\.ya?ml)$/i;function _0xa7ad(_0x1ab5f8,_0x96f80f){_0x1ab5f8=_0x1ab5f8-0x160;const _0x5c69a7=_0x5c69();let _0xa7ad0f=_0x5c69a7[_0x1ab5f8];return _0xa7ad0f;}function truncatePreview(_0xdf706b,_0x226825=PLAYWRIGHT_CLI_PREVIEW_LIMIT){const _0x52ede4=_0xa7ad,_0x18bc63={'mMXyA':function(_0x856584,_0x48ad38){return _0x856584+_0x48ad38;},'xDeJV':'...'};return _0xdf706b['length']>_0x226825?_0x18bc63['mMXyA'](_0xdf706b['slice'](0x0,_0x226825),_0x18bc63[_0x52ede4(0x17e)]):_0xdf706b;}function buildCliArtifactPath(_0x4473d9,_0x2e8519){const _0xd618e9={'TSAkr':function(_0xdcd691,_0x2fe9ba,_0x4a72f3){return _0xdcd691(_0x2fe9ba,_0x4a72f3);}};return _0xd618e9['TSAkr'](join,_0x4473d9,_0x2e8519);}function toStepDisplayName(_0x3c1ad1){const _0x179a4b=_0xa7ad,_0x148307={'NlBms':function(_0x2a0273,_0x5711cb){return _0x2a0273(_0x5711cb);}},_0x37eaeb=basename(_0x3c1ad1)['replace'](/\.(?:png|ya?ml)$/i,'')['replace'](/^key_/i,'')[_0x179a4b(0x19c)](/^\d+_/,'')[_0x179a4b(0x19c)](/-/g,'\x20');return{'name':_0x37eaeb,'isKeyStep':/^key_/i[_0x179a4b(0x1d6)](_0x148307[_0x179a4b(0x1e0)](basename,_0x3c1ad1))};}function extractShellValue(_0x2dafb3){if(!_0x2dafb3)return null;return _0x2dafb3[0x1]??_0x2dafb3[0x2]??_0x2dafb3[0x3]??null;}function extractFilenameOption(_0x3b17ad){const _0x45d47f=_0xa7ad,_0x179423={'Wguzy':function(_0xccc00,_0x8babf4){return _0xccc00(_0x8babf4);}};return _0x179423[_0x45d47f(0x199)](extractShellValue,_0x3b17ad['match'](/--filename(?:=|\s+)(?:"([^"]+)"|'([^']+)'|(\S+))/));}function extractFirstCommandArgument(_0x1bcc24,_0x56b8d7){const _0x78a6d3=_0xa7ad,_0x42ca07={'jDaXc':function(_0x1dd365,_0x4b9e07){return _0x1dd365(_0x4b9e07);}},_0x157668=_0x56b8d7[_0x78a6d3(0x19c)](/[.*+?^${}()|[\]\\]/g,'\x5c$&');return _0x42ca07[_0x78a6d3(0x193)](extractShellValue,_0x1bcc24['match'](new RegExp('(?:^|\x5cs)'+_0x157668+_0x78a6d3(0x1e4))));}function formatCommandTarget(_0x5a7ecb){const _0x2bfca4=_0xa7ad;if(!_0x5a7ecb)return _0x2bfca4(0x1e1);if(/^e\d+$/i[_0x2bfca4(0x1d6)](_0x5a7ecb))return'ref\x20'+_0x5a7ecb;return JSON[_0x2bfca4(0x162)](truncatePreview(_0x5a7ecb,0x78));}function formatPlaywrightCliLog(_0x29ca5e,_0x41b782){const _0x49b6c8=_0xa7ad,_0x552665={'anmmC':_0x49b6c8(0x1c1),'PJnPA':'open\x20browser','xFtkD':'tracing-start','icAfa':'start\x20tracing','hDvVk':_0x49b6c8(0x1ac),'gONWj':'start\x20video\x20recording','abPCu':'snapshot','JFoxF':function(_0x8e3db5,_0x2cfb1e){return _0x8e3db5(_0x2cfb1e);},'rsLOR':'capture\x20snapshot','xgokr':function(_0x2abec7,_0xad73ce){return _0x2abec7(_0xad73ce);},'iFbZd':_0x49b6c8(0x192),'ZRLHz':function(_0x49dcbb,_0x120c6e,_0x1df56e){return _0x49dcbb(_0x120c6e,_0x1df56e);},'JelpT':function(_0x16212a,_0x5898c7,_0x3fefe1){return _0x16212a(_0x5898c7,_0x3fefe1);},'Hzlqr':_0x49b6c8(0x1de),'unlAQ':_0x49b6c8(0x165),'rRqJa':_0x49b6c8(0x188),'rTIKz':'tab-select'};switch(_0x41b782){case _0x552665['anmmC']:{const _0x3ced6e=extractFirstCommandArgument(_0x29ca5e,_0x41b782);return _0x3ced6e?'open\x20'+_0x3ced6e:_0x552665[_0x49b6c8(0x183)];}case _0x552665['xFtkD']:return _0x552665['icAfa'];case _0x552665[_0x49b6c8(0x189)]:return _0x49b6c8(0x190);case _0x49b6c8(0x167):return _0x552665['gONWj'];case'video-stop':return _0x49b6c8(0x171);case _0x552665['abPCu']:{const _0x536218=_0x552665[_0x49b6c8(0x187)](extractFilenameOption,_0x29ca5e);if(!_0x536218)return _0x552665['rsLOR'];const {name:_0x7fb1ee}=toStepDisplayName(_0x536218);return _0x49b6c8(0x1ab)+_0x7fb1ee+'`';}case'screenshot':{const _0x4bbbd2=_0x552665[_0x49b6c8(0x187)](extractFilenameOption,_0x29ca5e);if(!_0x4bbbd2)return _0x49b6c8(0x1c7);const {name:_0x21a3d5,isKeyStep:_0x3208d4}=_0x552665['xgokr'](toStepDisplayName,_0x4bbbd2);return _0x3208d4?'capture\x20key\x20step\x20`'+_0x21a3d5+'`':_0x49b6c8(0x19a)+_0x21a3d5+'`';}case _0x49b6c8(0x176):return _0x49b6c8(0x17c)+formatCommandTarget(extractFirstCommandArgument(_0x29ca5e,_0x41b782));case _0x552665['iFbZd']:return'check\x20'+formatCommandTarget(_0x552665['ZRLHz'](extractFirstCommandArgument,_0x29ca5e,_0x41b782));case _0x49b6c8(0x18c):return'fill\x20'+_0x552665['JFoxF'](formatCommandTarget,_0x552665['JelpT'](extractFirstCommandArgument,_0x29ca5e,_0x41b782));case _0x552665['Hzlqr']:return'press\x20'+formatCommandTarget(_0x552665['JelpT'](extractFirstCommandArgument,_0x29ca5e,_0x41b782));case _0x49b6c8(0x1cc):return _0x552665[_0x49b6c8(0x175)];case'tab-new':{const _0x2aa2a8=extractFirstCommandArgument(_0x29ca5e,_0x41b782);return _0x2aa2a8?_0x49b6c8(0x1d4)+_0x2aa2a8:_0x552665['rRqJa'];}case _0x552665['rTIKz']:{const _0x3ff622=_0x552665[_0x49b6c8(0x1a3)](extractFirstCommandArgument,_0x29ca5e,_0x41b782);return _0x3ff622?_0x49b6c8(0x1b5)+_0x3ff622:'select\x20tab';}default:return _0x41b782;}}function extractPlaywrightCliToolDescription(_0x2db1d5){const _0xf9a1d0=_0xa7ad,_0x159f9b={'TuWrv':'string'},_0x31fee9=_0x2db1d5[_0xf9a1d0(0x1bb)];if(typeof _0x31fee9!==_0x159f9b[_0xf9a1d0(0x197)])return null;const _0x10b242=_0x31fee9['trim']()[_0xf9a1d0(0x19c)](/\s+/g,'\x20');return _0x10b242[_0xf9a1d0(0x178)]>0x0?_0x10b242:null;}export function formatPlaywrightCliConsoleLogMessage(_0x4ee31c,_0x2742f2,_0x1847e7){const _0x285c6e=_0xa7ad,_0x314960={'JVvtI':function(_0xd5e264,_0x2598ed){return _0xd5e264(_0x2598ed);}},_0x4e8c9d=formatPlaywrightCliLog(_0x2742f2,_0x1847e7),_0x3b07c0=_0x314960[_0x285c6e(0x16f)](extractPlaywrightCliToolDescription,_0x4ee31c);if(!_0x3b07c0)return _0x285c6e(0x1b2)+_0x4e8c9d;if(process[_0x285c6e(0x1d9)]['DEBUG'])return _0x285c6e(0x1a2)+_0x3b07c0+'\x20('+_0x4e8c9d+')';return'[ranger-verification-agent]\x20'+_0x3b07c0;}export function buildVerifyFeatureCliDebugPrompt(_0x49dd72,_0x4b4e99){const _0x2bee39=_0xa7ad,_0x576fec={'PQLOD':function(_0x15a264,_0x5dd720,_0x3eac2b){return _0x15a264(_0x5dd720,_0x3eac2b);},'SNIxV':'02_learn-more.yml','vTcPd':'03_learn-more.png','svgJw':function(_0x28931e,_0x1256aa){return _0x28931e(_0x1256aa);}},_0x46ba7d=_0x576fec['PQLOD'](buildCliArtifactPath,_0x4b4e99,_0x2bee39(0x173)),_0x1e0bdc=buildCliArtifactPath(_0x4b4e99,_0x2bee39(0x1b7)),_0x3e80d1=buildCliArtifactPath(_0x4b4e99,_0x576fec['SNIxV']),_0x3b235b=_0x576fec['PQLOD'](buildCliArtifactPath,_0x4b4e99,_0x576fec['vTcPd']),_0x47dfb2=_0x576fec['svgJw'](quoteShellArg,_0x46ba7d),_0x5790c8=quoteShellArg(_0x1e0bdc),_0x30d83a=_0x576fec['svgJw'](quoteShellArg,_0x3e80d1),_0x552ac7=quoteShellArg(_0x3b235b);return _0x2bee39(0x1b6)+_0x49dd72+_0x2bee39(0x194)+_0x49dd72+_0x2bee39(0x1bd)+_0x49dd72+'\x20tracing-start`\x0a3.\x20Run\x20`'+_0x49dd72+_0x2bee39(0x1d2)+_0x4b4e99+'`\x20using\x20absolute\x20paths\x20only.\x20Do\x20not\x20use\x20relative\x20filenames.\x0a5.\x20Run\x20`'+_0x49dd72+_0x2bee39(0x163)+_0x47dfb2+_0x2bee39(0x1a0)+_0x49dd72+'\x20screenshot\x20--filename\x20'+_0x5790c8+'`\x0a7.\x20Click\x20the\x20\x22Learn\x20More\x22\x20link\x20with\x20Playwright\x20CLI\x0a8.\x20Run\x20`'+_0x49dd72+_0x2bee39(0x163)+_0x30d83a+_0x2bee39(0x170)+_0x49dd72+'\x20screenshot\x20--filename\x20'+_0x552ac7+_0x2bee39(0x1b9);}export function buildVerifyFeatureCliPrompt(_0x2d43f1){const _0x201733=_0xa7ad,_0x707f95={'POqiv':_0x201733(0x174),'eNyTT':function(_0x47822a,_0x256840,_0x42ee22){return _0x47822a(_0x256840,_0x42ee22);},'Czgur':_0x201733(0x1cd),'VJAmX':_0x201733(0x1c8),'psdfS':function(_0x182ba4,_0x58896e){return _0x182ba4(_0x58896e);},'FZEhn':function(_0x4263ad,_0x145525){return _0x4263ad(_0x145525);},'EdqfD':function(_0x48a084,_0x35b581){return _0x48a084(_0x35b581);},'bhPnk':function(_0x24b290,_0x35160e,_0x2abfec){return _0x24b290(_0x35160e,_0x2abfec);},'nniZP':function(_0x26c3a2,_0x4089a8,_0xcfa128){return _0x26c3a2(_0x4089a8,_0xcfa128);},'leHLf':_0x201733(0x1db)},{checklistItem:_0x5406d5,itemFeedback:_0x37fb99,taskDescription:_0x1be95a,cliCommandPrefix:_0x7e80c5,cliArtifactDir:_0x53ff62,isCdpMode:_0x3bc784,url:_0x58a998,cdpEndpoint:_0x348791,loginInstructions:_0x5075ec}=_0x2d43f1,_0x569c0d=_0x707f95['eNyTT'](buildCliArtifactPath,_0x53ff62,_0x707f95[_0x201733(0x1e2)]),_0x12dc21=_0x707f95['eNyTT'](buildCliArtifactPath,_0x53ff62,_0x201733(0x181)),_0x23a3f6=buildCliArtifactPath(_0x53ff62,'key_03_success-state.png'),_0x52fa9a=buildCliArtifactPath(_0x53ff62,_0x707f95['VJAmX']),_0xa205eb=quoteShellArg(_0x569c0d),_0x39a90a=_0x707f95[_0x201733(0x16d)](quoteShellArg,_0x12dc21),_0x4ba869=quoteShellArg(_0x23a3f6),_0x14a9f4=_0x707f95[_0x201733(0x1a7)](quoteShellArg,_0x52fa9a),_0x1dbb80=_0x5406d5['notes']?'\x0a\x0a##\x20Additional\x20Notes\x0a'+_0x5406d5['notes']:'';let _0x46cc99='';if(_0x37fb99&&_0x37fb99['unaddressedComments'][_0x201733(0x178)]>0x0){const _0x4b3553=_0x37fb99['unaddressedComments']['map'](_0x3fea6a=>{const _0x49ce88=_0x201733,_0x5b6347=new Date(_0x3fea6a[_0x49ce88(0x17f)])['toLocaleDateString'](_0x49ce88(0x18d),{'month':'short','day':_0x49ce88(0x1c0)}),_0x4def1c=_0x3fea6a[_0x49ce88(0x1a8)]||_0x3fea6a[_0x49ce88(0x169)]||_0x707f95['POqiv'],_0x1f0064=_0x3fea6a[_0x49ce88(0x1d1)]?'\x20(on\x20element:\x20<'+(_0x3fea6a['domRef']['selector'][_0x49ce88(0x196)](_0x49ce88(0x179))[_0x49ce88(0x17b)]()?.[_0x49ce88(0x196)](':')[0x0]||_0x49ce88(0x1e3))+_0x49ce88(0x18b)+(_0x3fea6a['domRef'][_0x49ce88(0x1b8)]||'')['slice'](0x0,0x32)+'\x22)':'';return'-\x20['+_0x3fea6a['id']+']\x20**'+_0x4def1c+'**\x20('+_0x5b6347+'):\x20\x22'+_0x3fea6a['content']+'\x22'+_0x1f0064;})[_0x201733(0x164)]('\x0a');_0x46cc99=_0x201733(0x16c)+_0x4b3553;}const _0x39ffbb=_0x37fb99?.['canonicalFlow']?'\x0a\x0a##\x20Expected\x20Flow\x20(from\x20previous\x20verification)\x0a'+_0x37fb99[_0x201733(0x1e7)]:'',_0x51418f=_0x3bc784?'##\x20App\x20Context\x0aYou\x20are\x20connected\x20to\x20a\x20desktop\x20application\x20via\x20CDP\x20(Chrome\x20DevTools\x20Protocol)\x20at\x20'+_0x348791+'.\x0aThis\x20is\x20NOT\x20a\x20web\x20app\x20—\x20there\x20is\x20no\x20URL\x20to\x20navigate\x20to.\x20The\x20app\x20is\x20already\x20running\x20and\x20connected.':'CRITICAL\x20URL\x20REQUIREMENT:\x0aYour\x20base\x20URL\x20is:\x20'+_0x58a998+_0x201733(0x1ad),_0x4f6c2e=_0x58a998?_0x707f95['EdqfD'](quoteShellArg,_0x58a998):'',_0x1d2c89=_0x3bc784?'##\x20Instructions\x0a1.\x20Use\x20Bash\x20plus\x20Playwright\x20CLI\x20only.\x20Do\x20NOT\x20call\x20MCP\x20browser\x20tools.\x0a2.\x20Start\x20by\x20running\x20`'+_0x7e80c5+'\x20open`,\x20then\x20`'+_0x7e80c5+'\x20tracing-start`,\x20then\x20`'+_0x7e80c5+'\x20video-start`.\x0a3.\x20Save\x20every\x20snapshot\x20and\x20screenshot\x20under\x20`'+_0x53ff62+_0x201733(0x1ba)+_0x7e80c5+'\x20snapshot\x20--filename\x20'+_0xa205eb+_0x201733(0x166)+_0x7e80c5+_0x201733(0x168)+_0x14a9f4+'`\x20style\x20absolute\x20paths\x20at\x20key\x20moments.\x0a6.\x20If\x20you\x20need\x20waits\x20or\x20custom\x20assertions,\x20use\x20`'+_0x7e80c5+'\x20run-code\x20\x22<playwright\x20code>\x22`.\x0a7.\x20Do\x20not\x20run\x20`close`,\x20`tracing-stop`,\x20or\x20`video-stop`;\x20the\x20host\x20finalizes\x20the\x20session\x20and\x20artifacts.\x0a8.\x20After\x20completing\x20the\x20verification,\x20evaluate\x20whether\x20the\x20result\x20adequately\x20verifies\x20the\x20scenario':_0x201733(0x1da)+_0x7e80c5+'\x20open\x20'+_0x4f6c2e+_0x201733(0x19d)+_0x7e80c5+'\x20tracing-start`,\x20then\x20`'+_0x7e80c5+'\x20video-start`.\x0a3.\x20Save\x20every\x20snapshot\x20and\x20screenshot\x20under\x20`'+_0x53ff62+'`\x20using\x20absolute\x20paths\x20only.\x20Do\x20not\x20use\x20relative\x20filenames.\x0a4.\x20Take\x20a\x20snapshot\x20with\x20`'+_0x7e80c5+_0x201733(0x163)+_0xa205eb+_0x201733(0x1d7)+_0x7e80c5+_0x201733(0x168)+_0x14a9f4+'`\x20style\x20absolute\x20paths\x20at\x20key\x20moments.\x0a8.\x20If\x20you\x20need\x20waits\x20or\x20custom\x20assertions,\x20use\x20`'+_0x7e80c5+_0x201733(0x160),_0x972138=_0x3bc784?_0x201733(0x185):'\x0a\x0a##\x20Critical:\x20Early\x20Error\x20Detection\x0aAfter\x20step\x202\x20(taking\x20initial\x20snapshot),\x20IMMEDIATELY\x20check\x20for\x20blocking\x20HTTP\x20errors:\x0a\x0a**Blocking\x20errors\x20to\x20detect:**\x0a-\x20HTTP\x20404:\x20\x22404\x22,\x20\x22Not\x20Found\x22,\x20\x22Page\x20not\x20found\x22,\x20\x22does\x20not\x20exist\x22\x0a-\x20HTTP\x20500:\x20\x22500\x22,\x20\x22Internal\x20Server\x20Error\x22,\x20\x22Server\x20Error\x22,\x20\x22Something\x20went\x20wrong\x22\x0a-\x20HTTP\x20400:\x20\x22400\x22,\x20\x22Bad\x20Request\x22,\x20\x22Invalid\x20request\x22\x0a\x0a**Also\x20check\x20for:**\x0a-\x20Framework\x20error\x20pages\x20(Next.js\x20error\x20boundary,\x20React\x20error\x20page,\x20\x22Application\x20error\x22)\x0a-\x20Completely\x20blank/empty\x20pages\x20with\x20no\x20content\x0a-\x20\x22Cannot\x20GET\x20/path\x22\x20messages\x0a\x0a**If\x20ANY\x20blocking\x20error\x20is\x20detected:**\x0a1.\x20DO\x20NOT\x20continue\x20with\x20the\x20task\x0a2.\x20Return\x20IMMEDIATELY\x20with\x20evaluation:\x20\x22blocked\x22\x0a3.\x20Set\x20evaluationReason\x20to\x20describe\x20the\x20specific\x20error\x20(e.g.,\x20\x22HTTP\x20404\x20-\x20Page\x20not\x20found\x20at\x20/dashboard\x22)\x0a4.\x20Include\x20the\x20error\x20in\x20issues\x20array\x20with\x20severity:\x20\x22BLOCKER\x22\x20and\x20appropriate\x20type\x20(HTTP_404,\x20HTTP_500,\x20HTTP_400,\x20or\x20NAVIGATION_ERROR)\x0a\x0aThis\x20early\x20exit\x20prevents\x20wasting\x20time\x20on\x20tasks\x20that\x20cannot\x20succeed\x20due\x20to\x20fundamental\x20errors.',_0x5a3f9e=_0x5075ec?_0x201733(0x1c4)+_0x5075ec+_0x201733(0x1d5):'';return'You\x20are\x20a\x20Feature\x20Review\x20Verifier.\x20Your\x20job\x20is\x20to\x20verify\x20a\x20scenario\x20by\x20executing\x20a\x20UI\x20flow\x20and\x20evaluating\x20whether\x20it\x20adequately\x20completes\x20the\x20scenario.\x0a\x0a##\x20Scenario\x20to\x20Verify\x0a'+_0x5406d5['description']+_0x1dbb80+_0x46cc99+_0x39ffbb+'\x0a\x0a##\x20Task\x20to\x20Execute\x0a'+_0x1be95a+'\x0a\x0a'+_0x51418f+_0x5a3f9e+'\x0a\x0a'+_0x1d2c89+'\x0a\x0a##\x20Browser\x20Command\x20Reference\x0aUse\x20Bash\x20to\x20run\x20Playwright\x20CLI\x20commands\x20with\x20this\x20exact\x20prefix:\x0a`'+_0x7e80c5+_0x201733(0x1aa)+_0x53ff62+'`\x0a-\x20`snapshot\x20--filename\x20'+_0x39a90a+_0x201733(0x1c2)+_0x4ba869+'`\x0a-\x20`run-code\x20\x22await\x20page.waitForTimeout(1000)\x22`\x20for\x20waits\x20or\x20small\x20custom\x20checks\x0a\x0a##\x20Screenshot\x20Guidelines\x20-\x20IMPORTANT\x0aTake\x20screenshots\x20throughout\x20the\x20verification\x20flow\x20so\x20a\x20human\x20can\x20review\x20it\x20for\x20completeness.\x20Screenshots\x20are\x20your\x20evidence\x20trail.\x0a\x0a**When\x20to\x20take\x20screenshots\x20(use\x20Playwright\x20CLI\x20screenshot):**\x0a-\x20After\x20the\x20initial\x20snapshot\x20(capture\x20starting\x20state)\x0a-\x20Before\x20and\x20after\x20clicking\x20buttons\x20or\x20submitting\x20forms\x0a-\x20When\x20important\x20UI\x20elements\x20appear\x20(modals,\x20notifications,\x20loading\x20states)\x0a-\x20After\x20navigating\x20to\x20different\x20views\x20or\x20pages\x0a-\x20When\x20verifying\x20specific\x20elements\x20exist\x0a-\x20At\x20the\x20final\x20state\x20showing\x20the\x20completed\x20action\x0a\x0a**Screenshot\x20naming:**\x0a-\x20Use\x20descriptive\x20filenames\x20under\x20`'+_0x53ff62+_0x201733(0x18a)+_0x52fa9a+_0x201733(0x1ca)+_0x707f95['bhPnk'](buildCliArtifactPath,_0x53ff62,'02_button-clicked.png')+_0x201733(0x1ca)+_0x707f95['nniZP'](buildCliArtifactPath,_0x53ff62,_0x707f95['leHLf'])+_0x201733(0x1b0)+_0x707f95[_0x201733(0x1c9)](buildCliArtifactPath,_0x53ff62,_0x201733(0x1df))+'\x22\x0a-\x20The\x20\x22key_\x22\x20prefix\x20marks\x20screenshots\x20as\x20high-priority\x20evidence\x20for\x20human\x20reviewers\x0a\x0a**Aim\x20for\x203-6\x20screenshots\x20per\x20verification**\x20to\x20document\x20the\x20complete\x20flow.\x20Mark\x201-2\x20of\x20the\x20most\x20important\x20ones\x20with\x20the\x20\x22key_\x22\x20prefix.\x0a'+_0x972138+_0x201733(0x1c5);}export function summarizeVerifyFeatureCliCommandAvailability(_0x1914fa){const _0x25737d=_0xa7ad,_0x2c9337={'XPBYZ':function(_0x1cb61a,_0x7db460){return _0x1cb61a===_0x7db460;}},_0x51dc0b=[..._0x1914fa['keys']()]['sort']();let _0x3fe9fc=0x0;for(const _0x40ffa5 of _0x1914fa[_0x25737d(0x1a9)]()){_0x3fe9fc+=_0x40ffa5;}return{'cliCommandCount':_0x3fe9fc,'cliCommandsSeen':_0x51dc0b,'noCliCommandsCalled':_0x2c9337[_0x25737d(0x1be)](_0x3fe9fc,0x0)};}export function createVerifyFeatureCliHooks(_0x271b71){const _0x29e546=_0xa7ad,_0x1517e1={'onSob':'Bash','Prnqp':function(_0x31ee28,_0x2288b6){return _0x31ee28(_0x2288b6);},'RivWm':_0x29e546(0x1b1),'SOAmd':function(_0x277a9b,_0x20f55a){return _0x277a9b!==_0x20f55a;},'iylyc':'PostToolUseFailure','jLABW':'tool_failure'},_0x190706=new Map(),_0x48075f=async _0x8e8b21=>{const _0x4e58a9=_0x29e546;if(_0x8e8b21[_0x4e58a9(0x1a4)]!==_0x4e58a9(0x1a5))return{};const _0x476e97=_0x8e8b21;if(_0x476e97[_0x4e58a9(0x1a6)]!==_0x1517e1['onSob'])return{};const _0x397b4a=_0x476e97['tool_input'],_0x1417b4=_0x1517e1[_0x4e58a9(0x1cb)](extractBashCommand,_0x397b4a);if(!_0x1417b4)return{};const _0x2248dc=_0x1517e1[_0x4e58a9(0x1cb)](parsePlaywrightCliCommand,_0x1417b4);if(!_0x2248dc)return{};return _0x190706[_0x4e58a9(0x198)](_0x2248dc,(_0x190706['get'](_0x2248dc)||0x0)+0x1),_0x271b71['trackPhaseStart'](_0x1517e1[_0x4e58a9(0x17a)],{'transport':'playwright-cli','toolName':_0x2248dc}),_0x271b71['trackPhaseEnd'](_0x4e58a9(0x1b1),{'transport':'playwright-cli','toolName':_0x2248dc,'bashCommandPreview':truncatePreview(_0x1417b4)}),_0x1517e1['SOAmd'](_0x2248dc,'snapshot')&&console['log'](formatPlaywrightCliConsoleLogMessage(_0x397b4a,_0x1417b4,_0x2248dc)),{};},_0x592b22=async _0x4f2e9d=>{const _0x378b29=_0x29e546;if(_0x1517e1['SOAmd'](_0x4f2e9d['hook_event_name'],_0x1517e1['iylyc']))return{};const _0x7e1321=_0x4f2e9d;if(_0x1517e1[_0x378b29(0x172)](_0x7e1321['tool_name'],'Bash'))return{};return await _0x271b71[_0x378b29(0x191)](_0x1517e1[_0x378b29(0x1e8)],_0x7e1321[_0x378b29(0x182)],{'transport':_0x378b29(0x1bf),'toolName':_0x1517e1[_0x378b29(0x1a1)]}),{};};return{'postToolUseHook':_0x48075f,'postToolUseFailureHook':_0x592b22,'commandCounts':_0x190706};}async function runPlaywrightCliLifecycleCommand(_0x42d0ef){const _0x18f94f=_0xa7ad,_0x58adad={'gmczd':function(_0x1155f9,_0x1e22d8){return _0x1155f9(_0x1e22d8);},'BIgth':function(_0x5874d4,_0x5c2ca5){return _0x5874d4??_0x5c2ca5;}},{sessionId:_0x46072b,configPath:_0x269380,commandArgs:_0x35d586,env:_0x3fa02a,telemetry:_0x3fad84,phase:_0x469955,metadata:_0x377856,timeoutMs:_0x2c68b8}=_0x42d0ef;_0x3fad84[_0x18f94f(0x1b3)](_0x469955,_0x377856);try{const _0x4e125f=await _0x58adad[_0x18f94f(0x19f)](runPlaywrightCliCommand,{'sessionId':_0x46072b,'configPath':_0x269380,'commandArgs':_0x35d586,'cwd':process['cwd'](),'env':_0x3fa02a,'timeoutMs':_0x58adad['BIgth'](_0x2c68b8,PLAYWRIGHT_CLI_COMMAND_TIMEOUT_MS)});_0x3fad84[_0x18f94f(0x19b)](_0x469955,{..._0x377856,'subcommand':_0x4e125f[_0x18f94f(0x161)]['subcommand'],'stdoutPreview':truncatePreview(_0x4e125f[_0x18f94f(0x16b)],0x7d0),'stderrPreview':truncatePreview(_0x4e125f[_0x18f94f(0x180)],0x7d0)});}catch(_0x141c6b){await _0x3fad84['trackPhaseError'](_0x469955,_0x141c6b,_0x377856);throw _0x141c6b;}}export async function finalizeVerifyFeatureCliSession(_0x18f256){const _0x23997e=_0xa7ad,_0x322d8b={'nKYEq':'playwright_cli_tracing_stop','vClub':_0x23997e(0x1d8),'tMrXD':_0x23997e(0x18f),'QgbAe':function(_0x156998,_0x291a7a,_0x4f8ad8){return _0x156998(_0x291a7a,_0x4f8ad8);},'ipcCc':_0x23997e(0x17d)},{telemetry:_0x2eb589,sessionId:_0x318fcc,configPath:_0x15ef00,cliArtifactDir:_0x3e8d1c,env:_0x2d6106,transportMetadata:_0x441b4f}=_0x18f256,_0x1a084c=[{'phase':_0x322d8b[_0x23997e(0x1ae)],'commandArgs':['tracing-stop']},{'phase':_0x322d8b[_0x23997e(0x184)],'commandArgs':[_0x322d8b[_0x23997e(0x1af)],_0x23997e(0x186)+_0x322d8b[_0x23997e(0x1e5)](buildCliArtifactPath,_0x3e8d1c,'session-recording.webm')]},{'phase':_0x322d8b['ipcCc'],'commandArgs':[_0x23997e(0x16e)]}];for(const _0x1c8b14 of _0x1a084c){try{await runPlaywrightCliLifecycleCommand({'sessionId':_0x318fcc,'configPath':_0x15ef00,'commandArgs':[..._0x1c8b14['commandArgs']],'env':_0x2d6106,'telemetry':_0x2eb589,'phase':_0x1c8b14['phase'],'metadata':_0x441b4f});}catch{}}}function _0x5c69(){const _0x37b53d=['target','Czgur','element','(?:\x5cs+(?:\x22([^\x22]+)\x22|\x27([^\x27]+)\x27|(\x5cS+)))','QgbAe','301110giZpAn','canonicalFlow','jLABW','\x20run-code\x20\x22<playwright\x20code>\x22`.\x0a9.\x20Do\x20not\x20run\x20`close`,\x20`tracing-stop`,\x20or\x20`video-stop`;\x20the\x20host\x20finalizes\x20the\x20session\x20and\x20artifacts.\x0a10.\x20After\x20completing\x20the\x20verification,\x20evaluate\x20whether\x20the\x20result\x20adequately\x20verifies\x20the\x20scenario','invocation','stringify','\x20snapshot\x20--filename\x20','join','run\x20custom\x20Playwright\x20code','`\x20to\x20inspect\x20the\x20current\x20app\x20state.\x0a5.\x20Read\x20snapshot\x20YAML\x20files\x20to\x20find\x20element\x20references\x20like\x20`e12`,\x20then\x20use\x20them\x20with\x20`click`,\x20`fill`,\x20`check`,\x20or\x20`select`.\x0a6.\x20Use\x20`','video-start','\x20screenshot\x20--filename\x20','authorEmail','10RaETaz','stdout','\x0a\x0a##\x20Reviewer\x20Feedback\x20to\x20Address\x0aThe\x20following\x20reviewer\x20comments\x20were\x20left\x20on\x20the\x20previous\x20version\x20of\x20this\x20item.\x0aVerify\x20that\x20each\x20concern\x20has\x20been\x20addressed\x20in\x20the\x20current\x20implementation.\x0aFor\x20each\x20comment\x20you\x20believe\x20has\x20been\x20addressed,\x20include\x20its\x20ID\x20(the\x20bracketed\x20value)\x20in\x20the\x20addressedCommentIds\x20array\x20in\x20your\x20output.\x0a\x0a','psdfS','close','JVvtI','`\x0a9.\x20Run\x20`','stop\x20video\x20recording','SOAmd','00_mozilla-homepage.yml','Reviewer','unlAQ','click','1382051EtrMhz','length','\x20>\x20','RivWm','pop','click\x20','playwright_cli_close','xDeJV','createdAt','stderr','02_state.yml','error','PJnPA','vClub','\x0a\x0a##\x20Critical:\x20Early\x20Error\x20Detection\x0aAfter\x20taking\x20the\x20initial\x20snapshot,\x20IMMEDIATELY\x20check\x20for\x20blocking\x20errors:\x0a\x0a**Blocking\x20errors\x20to\x20detect:**\x0a-\x20Crash\x20or\x20error\x20dialogs\x20(\x22An\x20error\x20occurred\x22,\x20\x22Something\x20went\x20wrong\x22,\x20unhandled\x20exception\x20messages)\x0a-\x20Blank\x20or\x20empty\x20window\x20with\x20no\x20rendered\x20content\x0a-\x20Framework\x20error\x20boundaries\x20(React\x20error\x20page,\x20Electron\x20crash\x20reporter)\x0a-\x20Unresponsive\x20or\x20frozen\x20UI\x20(no\x20interactive\x20elements\x20in\x20snapshot)\x0a\x0a**If\x20ANY\x20blocking\x20error\x20is\x20detected:**\x0a1.\x20DO\x20NOT\x20continue\x20with\x20the\x20task\x0a2.\x20Return\x20IMMEDIATELY\x20with\x20evaluation:\x20\x22blocked\x22\x0a3.\x20Set\x20evaluationReason\x20to\x20describe\x20the\x20specific\x20error\x20(e.g.,\x20\x22App\x20crashed\x20—\x20error\x20dialog\x20visible\x20on\x20launch\x22)\x0a4.\x20Include\x20the\x20error\x20in\x20issues\x20array\x20with\x20severity:\x20\x22BLOCKER\x22\x20and\x20type:\x20\x22APP_ERROR\x22\x0a\x0aThis\x20early\x20exit\x20prevents\x20wasting\x20time\x20on\x20tasks\x20that\x20cannot\x20succeed\x20due\x20to\x20fundamental\x20errors.','--filename=','JFoxF','open\x20new\x20tab','hDvVk','`:\x20\x22','>\x20\x22','fill','en-US','8dsTdma','video-stop','stop\x20tracing','trackPhaseError','check','jDaXc','\x0a\x0a1.\x20Run\x20`','64478stfkKs','split','TuWrv','set','Wguzy','capture\x20step\x20`','trackPhaseEnd','replace','`,\x20then\x20`','1821911QvIDjw','gmczd','`\x0a5.\x20Read\x20the\x20snapshot\x20file\x20to\x20find\x20the\x20\x22Learn\x20More\x22\x20link\x20reference\x0a6.\x20Run\x20`','onSob','[ranger-verification-agent]\x20','ZRLHz','hook_event_name','PostToolUse','tool_name','FZEhn','authorName','values','`\x0a\x0a-\x20Write\x20all\x20artifacts\x20under\x20`','capture\x20snapshot\x20`','tracing-stop','\x0a-\x20You\x20may\x20ONLY\x20navigate\x20to\x20paths\x20under\x20this\x20base\x20URL\x20(same\x20protocol,\x20host,\x20and\x20port)\x0a-\x20For\x20example,\x20if\x20the\x20base\x20URL\x20is\x20\x22http://localhost:3000\x22,\x20you\x20can\x20navigate\x20to\x20\x22http://localhost:3000/home\x22,\x20\x22http://localhost:3000/settings\x22,\x20etc.\x0a-\x20DO\x20NOT\x20navigate\x20to\x20any\x20different\x20domain,\x20host,\x20or\x20port\x20under\x20any\x20circumstances\x0a-\x20If\x20documentation\x20or\x20code\x20diffs\x20suggest\x20a\x20path\x20exists\x20(e.g.,\x20\x22/dashboard\x22),\x20you\x20may\x20navigate\x20to\x20that\x20path\x20ONLY\x20under\x20the\x20base\x20URL\x20above\x0a-\x20The\x20base\x20URL\x20above\x20is\x20the\x20ONLY\x20authorized\x20profile\x20for\x20this\x20verification','nKYEq','tMrXD','\x22\x0a-\x20Number\x20prefixes\x20(01_,\x2002_,\x20etc.)\x20help\x20maintain\x20chronological\x20order\x0a-\x20For\x20KEY\x20MOMENTS\x20that\x20prove\x20the\x20scenario\x20is\x20complete,\x20prefix\x20with\x20\x22key_\x22:\x20\x22','tool_call','[playwright-cli]\x20','trackPhaseStart','mtimeMs','select\x20tab\x20','You\x20are\x20testing\x20browser\x20automation.\x20Your\x20task\x20is\x20simple:\x0a\x0aUse\x20Bash\x20and\x20Playwright\x20CLI\x20only.\x20The\x20browser\x20command\x20prefix\x20is:\x0a','01_mozilla-homepage.png','textContent','`\x0a10.\x20Return\x20immediately\x20with\x20the\x20structured\x20output\x0a\x0aReturn\x20your\x20findings\x20in\x20the\x20structured\x20output\x20format.','`\x20using\x20absolute\x20paths\x20only.\x20Do\x20not\x20use\x20relative\x20filenames.\x0a4.\x20Take\x20a\x20snapshot\x20with\x20`','description','trace.zip','\x20open\x20https://www.mozilla.org`\x0a2.\x20Run\x20`','XPBYZ','playwright-cli','numeric','open','`\x20writes\x20a\x20YAML\x20snapshot\x20you\x20can\x20read\x20for\x20element\x20refs\x0a-\x20`click\x20<ref>`,\x20`fill\x20<ref>\x20\x22text\x22`,\x20`check\x20<ref>`,\x20`press\x20Enter`\x0a-\x20`tab-list`,\x20`tab-select\x20<index>`,\x20`tab-new\x20<url>`\x0a-\x20`screenshot\x20--filename\x20','3IjXdTA','\x0a\x0a##\x20Authentication\x0aBEFORE\x20starting\x20the\x20verification\x20task,\x20you\x20MUST\x20authenticate\x20using\x20these\x20steps:\x0a','\x0a##\x20Evaluation\x20Criteria\x0a-\x20VERIFIED:\x20The\x20task\x20completed\x20successfully\x20and\x20the\x20scenario\x20requirements\x20are\x20fully\x20met\x0a-\x20PARTIAL:\x20The\x20task\x20partially\x20completed\x20but\x20some\x20aspects\x20of\x20the\x20scenario\x20are\x20not\x20verified\x0a-\x20BLOCKED:\x20A\x20blocking\x20issue\x20(bug,\x20error,\x20missing\x20feature)\x20prevents\x20completion\x0a-\x20FAILED:\x20The\x20task\x20could\x20not\x20be\x20completed\x20due\x20to\x20errors\x0a\x0aReturn\x20your\x20findings\x20in\x20the\x20structured\x20output\x20format\x20with\x20your\x20evaluation.','1325664zDlfLi','capture\x20screenshot','01_initial-state.png','bhPnk','\x22,\x20\x22','Prnqp','run-code','01_initial.yml','name','545202NCLjpM','3bUMoKw','domRef','\x20video-start`\x0a4.\x20Save\x20every\x20snapshot\x20and\x20screenshot\x20under\x20`','push','open\x20new\x20tab\x20','\x0a\x0aAfter\x20completing\x20authentication,\x20proceed\x20with\x20the\x20verification\x20task\x20below.\x0aIf\x20authentication\x20fails,\x20return\x20immediately\x20with\x20evaluation\x20\x22blocked\x22\x20and\x20describe\x20the\x20auth\x20failure.','test','`\x20and\x20read\x20the\x20snapshot\x20file\x20to\x20inspect\x20the\x20page.\x0a5.\x20**IMMEDIATELY\x20check\x20for\x20blocking\x20HTTP\x20errors\x20before\x20proceeding.**\x0a6.\x20Execute\x20the\x20task\x20step-by-step\x20with\x20Playwright\x20CLI\x20commands.\x0a7.\x20Use\x20`','playwright_cli_video_stop','env','##\x20Instructions\x0a1.\x20Use\x20Bash\x20plus\x20Playwright\x20CLI\x20only.\x20Do\x20NOT\x20call\x20MCP\x20browser\x20tools.\x0a2.\x20Start\x20by\x20running\x20`','03_result-visible.png','isFile','107348cvSvkf','press','key_04_success-state.png','NlBms'];_0x5c69=function(){return _0x37b53d;};return _0x5c69();}export async function loadVerifyFeatureCliTraceUploadArtifact(_0x5cf28f){const _0x3e4437=_0xa7ad,_0x44bcaa=[_0x3e4437(0x1bc),'trace.trace.zip'];for(const _0x4649e7 of _0x44bcaa){const _0x1bb5b8=join(_0x5cf28f,_0x4649e7);try{return{'buffer':await readFile(_0x1bb5b8),'source':_0x1bb5b8};}catch{}}return null;}export async function rehomeVerifyFeatureCliArtifacts(_0x3dbb9a){const _0x5d769e=_0xa7ad,_0x25ceb8={'mXvWK':function(_0x412a1b,_0x47e399,_0xb2eeec){return _0x412a1b(_0x47e399,_0xb2eeec);},'OBwLM':function(_0x58bbeb,_0x15d7ef,_0x498706){return _0x58bbeb(_0x15d7ef,_0x498706);},'EXrZp':function(_0x49ff0d,_0x471a14){return _0x49ff0d+_0x471a14;}},{cwd:_0x5ce9b0,cliArtifactDir:_0x5e22ab,startTime:_0x30378a}=_0x3dbb9a,_0x5974cf=[];await mkdir(_0x5e22ab,{'recursive':!![]});const _0x14d279=await _0x25ceb8['mXvWK'](readdir,_0x5ce9b0,{'withFileTypes':!![]});for(const _0x5cc58f of _0x14d279){if(!_0x5cc58f[_0x5d769e(0x1dc)]()||!VERIFY_FEATURE_CLI_ARTIFACT_FILE_PATTERN['test'](_0x5cc58f['name']))continue;const _0x5d3755=_0x25ceb8['OBwLM'](join,_0x5ce9b0,_0x5cc58f['name']),_0x5eccf9=await stat(_0x5d3755);if(_0x25ceb8['EXrZp'](_0x5eccf9[_0x5d769e(0x1b4)],0x7d0)<_0x30378a)continue;const _0x4c9a78=buildCliArtifactPath(_0x5e22ab,_0x5cc58f[_0x5d769e(0x1ce)]);if(_0x5d3755===_0x4c9a78)continue;await rename(_0x5d3755,_0x4c9a78),_0x5974cf[_0x5d769e(0x1d3)](_0x5cc58f['name']);}return _0x5974cf['sort']();}
|
|
1
|
+
(function(_0xd11e83,_0x15ae2d){const _0xefe01c=_0x421c,_0xf2479b=_0xd11e83();while(!![]){try{const _0x223f50=parseInt(_0xefe01c(0x236))/0x1+-parseInt(_0xefe01c(0x1db))/0x2*(-parseInt(_0xefe01c(0x201))/0x3)+parseInt(_0xefe01c(0x234))/0x4+parseInt(_0xefe01c(0x252))/0x5*(parseInt(_0xefe01c(0x214))/0x6)+-parseInt(_0xefe01c(0x1f3))/0x7+-parseInt(_0xefe01c(0x20a))/0x8*(parseInt(_0xefe01c(0x262))/0x9)+-parseInt(_0xefe01c(0x22a))/0xa;if(_0x223f50===_0x15ae2d)break;else _0xf2479b['push'](_0xf2479b['shift']());}catch(_0x17199f){_0xf2479b['push'](_0xf2479b['shift']());}}}(_0x4b14,0x6c444));function _0x421c(_0x53d2b8,_0x3da4a8){_0x53d2b8=_0x53d2b8-0x1db;const _0x4b1465=_0x4b14();let _0x421c9f=_0x4b1465[_0x53d2b8];return _0x421c9f;}import{mkdir,readFile,readdir,rename,stat}from'fs/promises';import{basename,join}from'path';import{extractBashCommand,parsePlaywrightCliCommand,quoteShellArg,runPlaywrightCliCommand}from'./utils/playwrightCli.js';const PLAYWRIGHT_CLI_COMMAND_TIMEOUT_MS=0xea60,PLAYWRIGHT_CLI_PREVIEW_LIMIT=0xf0,VERIFY_FEATURE_CLI_ARTIFACT_FILE_PATTERN=/^(?:\d{2}_.+\.(?:png|ya?ml)|key_.+\.png|session-recording(?:-\d+)?\.webm|trace(?:\.trace)?(?:-\d+)?\.zip|current_snap\.ya?ml)$/i;function truncatePreview(_0x4ae1fa,_0x5c51ae=PLAYWRIGHT_CLI_PREVIEW_LIMIT){const _0x43bfbd=_0x421c,_0x32c443={'AardL':_0x43bfbd(0x1f7)};return _0x4ae1fa[_0x43bfbd(0x250)]>_0x5c51ae?_0x4ae1fa[_0x43bfbd(0x256)](0x0,_0x5c51ae)+_0x32c443[_0x43bfbd(0x1e7)]:_0x4ae1fa;}function buildCliArtifactPath(_0x2ece33,_0x1c06c9){return join(_0x2ece33,_0x1c06c9);}function toStepDisplayName(_0x220f6c){const _0x403843=_0x421c,_0x390d91={'QGakz':function(_0xbaea00,_0x52bf5d){return _0xbaea00(_0x52bf5d);}},_0x3494df=basename(_0x220f6c)[_0x403843(0x217)](/\.(?:png|ya?ml)$/i,'')[_0x403843(0x217)](/^key_/i,'')[_0x403843(0x217)](/^\d+_/,'')['replace'](/-/g,'\x20');return{'name':_0x3494df,'isKeyStep':/^key_/i[_0x403843(0x25c)](_0x390d91['QGakz'](basename,_0x220f6c))};}function extractShellValue(_0x2017f2){if(!_0x2017f2)return null;return _0x2017f2[0x1]??_0x2017f2[0x2]??_0x2017f2[0x3]??null;}function extractFilenameOption(_0x5af635){const _0x272bfd={'AjHkb':function(_0x2388bb,_0x1a46b7){return _0x2388bb(_0x1a46b7);}};return _0x272bfd['AjHkb'](extractShellValue,_0x5af635['match'](/--filename(?:=|\s+)(?:"([^"]+)"|'([^']+)'|(\S+))/));}function extractFirstCommandArgument(_0x419532,_0x11dbc6){const _0x12f785=_0x421c,_0x2aebc4={'hYxNc':function(_0x245246,_0x95f96e){return _0x245246(_0x95f96e);}},_0x24101a=_0x11dbc6[_0x12f785(0x217)](/[.*+?^${}()|[\]\\]/g,_0x12f785(0x206));return _0x2aebc4['hYxNc'](extractShellValue,_0x419532[_0x12f785(0x21b)](new RegExp('(?:^|\x5cs)'+_0x24101a+_0x12f785(0x25a))));}function formatCommandTarget(_0x42f9bf){const _0x1d1470=_0x421c,_0x5f3da8={'RInvV':function(_0x3b85c1,_0x5621a7,_0x1805a2){return _0x3b85c1(_0x5621a7,_0x1805a2);}};if(!_0x42f9bf)return'target';if(/^e\d+$/i['test'](_0x42f9bf))return _0x1d1470(0x24a)+_0x42f9bf;return JSON[_0x1d1470(0x253)](_0x5f3da8[_0x1d1470(0x212)](truncatePreview,_0x42f9bf,0x78));}function formatPlaywrightCliLog(_0x5f1f3b,_0x4b4b55){const _0x429863=_0x421c,_0xbd108c={'eViEb':function(_0x1b84f4,_0x596512,_0x56f1c4){return _0x1b84f4(_0x596512,_0x56f1c4);},'CyCdd':_0x429863(0x241),'wcPxN':_0x429863(0x202),'BoGjY':_0x429863(0x224),'abuMp':'stop\x20tracing','hFvBM':_0x429863(0x242),'wrrGE':'stop\x20video\x20recording','mJHlu':function(_0x270432,_0x1942fd){return _0x270432(_0x1942fd);},'difUh':_0x429863(0x259),'sugri':function(_0x290d03,_0x3f1d6f){return _0x290d03(_0x3f1d6f);},'HKCCX':'click','GTqtp':function(_0x4e6cb9,_0x2d8b22){return _0x4e6cb9(_0x2d8b22);},'JWnlE':_0x429863(0x1dc),'NkkLF':function(_0x36062a,_0x162779,_0x245b0f){return _0x36062a(_0x162779,_0x245b0f);},'YZoPE':function(_0x1418e7,_0x4d75bd){return _0x1418e7(_0x4d75bd);},'HIlpu':'tab-new','GOBFX':'select\x20tab'};switch(_0x4b4b55){case'open':{const _0x391a52=_0xbd108c[_0x429863(0x226)](extractFirstCommandArgument,_0x5f1f3b,_0x4b4b55);return _0x391a52?_0x429863(0x1ef)+_0x391a52:_0x429863(0x229);}case _0xbd108c['CyCdd']:return _0xbd108c['wcPxN'];case _0xbd108c['BoGjY']:return _0xbd108c[_0x429863(0x1f2)];case'video-start':return'start\x20video\x20recording';case _0xbd108c['hFvBM']:return _0xbd108c[_0x429863(0x209)];case _0x429863(0x25e):{const _0x15e8db=extractFilenameOption(_0x5f1f3b);if(!_0x15e8db)return'capture\x20snapshot';const {name:_0x328184}=_0xbd108c['mJHlu'](toStepDisplayName,_0x15e8db);return'capture\x20snapshot\x20`'+_0x328184+'`';}case _0xbd108c[_0x429863(0x203)]:{const _0x146c6f=_0xbd108c['mJHlu'](extractFilenameOption,_0x5f1f3b);if(!_0x146c6f)return'capture\x20screenshot';const {name:_0x28f17d,isKeyStep:_0x1f44d0}=_0xbd108c[_0x429863(0x20b)](toStepDisplayName,_0x146c6f);return _0x1f44d0?_0x429863(0x219)+_0x28f17d+'`':_0x429863(0x247)+_0x28f17d+'`';}case _0xbd108c['HKCCX']:return _0x429863(0x22e)+_0xbd108c['GTqtp'](formatCommandTarget,extractFirstCommandArgument(_0x5f1f3b,_0x4b4b55));case'check':return _0x429863(0x1ec)+formatCommandTarget(_0xbd108c[_0x429863(0x226)](extractFirstCommandArgument,_0x5f1f3b,_0x4b4b55));case _0xbd108c['JWnlE']:return'fill\x20'+formatCommandTarget(_0xbd108c[_0x429863(0x216)](extractFirstCommandArgument,_0x5f1f3b,_0x4b4b55));case'press':return _0x429863(0x22d)+_0xbd108c[_0x429863(0x255)](formatCommandTarget,_0xbd108c['eViEb'](extractFirstCommandArgument,_0x5f1f3b,_0x4b4b55));case _0x429863(0x211):return _0x429863(0x23a);case _0xbd108c[_0x429863(0x218)]:{const _0x561f6c=extractFirstCommandArgument(_0x5f1f3b,_0x4b4b55);return _0x561f6c?'open\x20new\x20tab\x20'+_0x561f6c:_0x429863(0x249);}case'tab-select':{const _0x13b7fd=_0xbd108c[_0x429863(0x226)](extractFirstCommandArgument,_0x5f1f3b,_0x4b4b55);return _0x13b7fd?'select\x20tab\x20'+_0x13b7fd:_0xbd108c['GOBFX'];}default:return _0x4b4b55;}}function extractPlaywrightCliToolDescription(_0x11adf7){const _0x2b8b64=_0x421c,_0x185804=_0x11adf7['description'];if(typeof _0x185804!=='string')return null;const _0x55760a=_0x185804[_0x2b8b64(0x1fb)]()['replace'](/\s+/g,'\x20');return _0x55760a[_0x2b8b64(0x250)]>0x0?_0x55760a:null;}export function formatPlaywrightCliConsoleLogMessage(_0x330311,_0x421f1c,_0xc49bad){const _0xa6b3e9=_0x421c,_0x9496d4={'PHjYA':function(_0x1925bf,_0x4d33c4,_0x180b41){return _0x1925bf(_0x4d33c4,_0x180b41);}},_0x1a40eb=_0x9496d4['PHjYA'](formatPlaywrightCliLog,_0x421f1c,_0xc49bad),_0xbc5552=extractPlaywrightCliToolDescription(_0x330311);if(!_0xbc5552)return _0xa6b3e9(0x20f)+_0x1a40eb;if(process['env'][_0xa6b3e9(0x263)])return'[ranger-verification-agent]\x20'+_0xbc5552+'\x20('+_0x1a40eb+')';return'[ranger-verification-agent]\x20'+_0xbc5552;}export function buildVerifyFeatureCliDebugPrompt(_0x2cd93c,_0x5e4d99){const _0x4012f8=_0x421c,_0x3a88f4={'NJzvX':'00_mozilla-homepage.yml','dSXSO':function(_0x4ba7cf,_0x3428ba,_0x1c2026){return _0x4ba7cf(_0x3428ba,_0x1c2026);},'kliHt':'02_learn-more.yml','qldKC':function(_0x1082a8,_0x2225f4,_0xdc59b3){return _0x1082a8(_0x2225f4,_0xdc59b3);},'KKNuy':function(_0x1506da,_0x4b2f65){return _0x1506da(_0x4b2f65);}},_0x2bf79e=buildCliArtifactPath(_0x5e4d99,_0x3a88f4['NJzvX']),_0x3f4ee7=_0x3a88f4['dSXSO'](buildCliArtifactPath,_0x5e4d99,_0x4012f8(0x23d)),_0x597d25=_0x3a88f4[_0x4012f8(0x221)](buildCliArtifactPath,_0x5e4d99,_0x3a88f4[_0x4012f8(0x1f0)]),_0x31c989=_0x3a88f4['qldKC'](buildCliArtifactPath,_0x5e4d99,_0x4012f8(0x215)),_0x7e0e03=quoteShellArg(_0x2bf79e),_0x51db0d=quoteShellArg(_0x3f4ee7),_0x3578c7=quoteShellArg(_0x597d25),_0x55fa23=_0x3a88f4['KKNuy'](quoteShellArg,_0x31c989);return'You\x20are\x20testing\x20browser\x20automation.\x20Your\x20task\x20is\x20simple:\x0a\x0aUse\x20Bash\x20and\x20Playwright\x20CLI\x20only.\x20The\x20browser\x20command\x20prefix\x20is:\x0a'+_0x2cd93c+'\x0a\x0a1.\x20Run\x20`'+_0x2cd93c+_0x4012f8(0x248)+_0x2cd93c+_0x4012f8(0x1e6)+_0x2cd93c+_0x4012f8(0x1e9)+_0x5e4d99+'`\x20using\x20absolute\x20paths\x20only.\x20Do\x20not\x20use\x20relative\x20filenames.\x0a5.\x20Run\x20`'+_0x2cd93c+'\x20snapshot\x20--filename\x20'+_0x7e0e03+'`\x0a5.\x20Read\x20the\x20snapshot\x20file\x20to\x20find\x20the\x20\x22Learn\x20More\x22\x20link\x20reference\x0a6.\x20Run\x20`'+_0x2cd93c+'\x20screenshot\x20--filename\x20'+_0x51db0d+_0x4012f8(0x205)+_0x2cd93c+'\x20snapshot\x20--filename\x20'+_0x3578c7+'`\x0a9.\x20Run\x20`'+_0x2cd93c+_0x4012f8(0x1e3)+_0x55fa23+_0x4012f8(0x235);}export function buildVerifyFeatureCliPrompt(_0x2eeba0){const _0x855f08=_0x421c,_0x328faf={'mJjWl':'en-US','MIRJy':'numeric','aZGhJ':_0x855f08(0x222),'xUGaS':_0x855f08(0x246),'HiRXK':'02_state.yml','rzYcE':'key_03_success-state.png','NobEc':function(_0x3e7174,_0x58889f){return _0x3e7174(_0x58889f);},'hjSCk':function(_0x381e2e,_0x15016c,_0x5a07dd){return _0x381e2e(_0x15016c,_0x5a07dd);},'WMgyu':_0x855f08(0x213)},{checklistItem:_0x138d56,itemFeedback:_0x499db7,taskDescription:_0x446a51,cliCommandPrefix:_0x4a3043,cliArtifactDir:_0x280fff,isCdpMode:_0x2fca04,url:_0x44305f,cdpEndpoint:_0x57b378,loginInstructions:_0x4de534}=_0x2eeba0,_0x3b1d52=buildCliArtifactPath(_0x280fff,_0x328faf['xUGaS']),_0x2bd3cc=buildCliArtifactPath(_0x280fff,_0x328faf[_0x855f08(0x1e0)]),_0x546799=buildCliArtifactPath(_0x280fff,_0x328faf[_0x855f08(0x21e)]),_0xaf980c=buildCliArtifactPath(_0x280fff,_0x855f08(0x233)),_0x4dbc7d=_0x328faf[_0x855f08(0x227)](quoteShellArg,_0x3b1d52),_0x475d71=quoteShellArg(_0x2bd3cc),_0x4f16e0=_0x328faf[_0x855f08(0x227)](quoteShellArg,_0x546799),_0x337c8a=quoteShellArg(_0xaf980c),_0x4dd92c=_0x138d56[_0x855f08(0x22c)]?_0x855f08(0x264)+_0x138d56['notes']:'';let _0x1f7c11='';if(_0x499db7&&_0x499db7[_0x855f08(0x1f8)]['length']>0x0){const _0x1ce249=_0x499db7[_0x855f08(0x1f8)]['map'](_0x4eb8e2=>{const _0x5f0eed=_0x855f08,_0x57d76d=new Date(_0x4eb8e2[_0x5f0eed(0x230)])[_0x5f0eed(0x21f)](_0x328faf['mJjWl'],{'month':'short','day':_0x328faf['MIRJy']}),_0x5079e5=_0x4eb8e2[_0x5f0eed(0x20e)]||_0x4eb8e2[_0x5f0eed(0x207)]||_0x5f0eed(0x260),_0x3e0c16=_0x4eb8e2[_0x5f0eed(0x210)]?'\x20(on\x20element:\x20<'+(_0x4eb8e2['domRef'][_0x5f0eed(0x1fd)]['split'](_0x328faf['aZGhJ'])['pop']()?.[_0x5f0eed(0x1ea)](':')[0x0]||'element')+_0x5f0eed(0x237)+(_0x4eb8e2[_0x5f0eed(0x210)]['textContent']||'')[_0x5f0eed(0x256)](0x0,0x32)+'\x22)':'';return _0x5f0eed(0x23f)+_0x4eb8e2['id']+_0x5f0eed(0x21c)+_0x5079e5+'**\x20('+_0x57d76d+_0x5f0eed(0x22b)+_0x4eb8e2[_0x5f0eed(0x200)]+'\x22'+_0x3e0c16;})['join']('\x0a');_0x1f7c11='\x0a\x0a##\x20Reviewer\x20Feedback\x20to\x20Address\x0aThe\x20following\x20reviewer\x20comments\x20were\x20left\x20on\x20the\x20previous\x20version\x20of\x20this\x20item.\x0aVerify\x20that\x20each\x20concern\x20has\x20been\x20addressed\x20in\x20the\x20current\x20implementation.\x0aFor\x20each\x20comment\x20you\x20believe\x20has\x20been\x20addressed,\x20include\x20its\x20ID\x20(the\x20bracketed\x20value)\x20in\x20the\x20addressedCommentIds\x20array\x20in\x20your\x20output.\x0a\x0a'+_0x1ce249;}const _0x27fd2a=_0x499db7?.['canonicalFlow']?_0x855f08(0x225)+_0x499db7[_0x855f08(0x267)]:'',_0x1faa28=_0x2fca04?_0x855f08(0x208)+_0x57b378+'.\x0aThis\x20is\x20NOT\x20a\x20web\x20app\x20—\x20there\x20is\x20no\x20URL\x20to\x20navigate\x20to.\x20The\x20app\x20is\x20already\x20running\x20and\x20connected.':_0x855f08(0x23c)+_0x44305f+_0x855f08(0x1dd),_0x352c44=_0x44305f?quoteShellArg(_0x44305f):'',_0x205686=_0x2fca04?_0x855f08(0x22f)+_0x4a3043+_0x855f08(0x220)+_0x4a3043+_0x855f08(0x1ed)+_0x4a3043+_0x855f08(0x1f6)+_0x280fff+_0x855f08(0x25d)+_0x4a3043+_0x855f08(0x24d)+_0x4dbc7d+'`\x20to\x20inspect\x20the\x20current\x20app\x20state.\x0a5.\x20Read\x20snapshot\x20YAML\x20files\x20to\x20find\x20element\x20references\x20like\x20`e12`,\x20then\x20use\x20them\x20with\x20`click`,\x20`fill`,\x20`check`,\x20or\x20`select`.\x0a6.\x20Use\x20`'+_0x4a3043+'\x20screenshot\x20--filename\x20'+_0x337c8a+_0x855f08(0x1f5)+_0x4a3043+_0x855f08(0x20d):_0x855f08(0x22f)+_0x4a3043+_0x855f08(0x24f)+_0x352c44+_0x855f08(0x24b)+_0x4a3043+_0x855f08(0x1ed)+_0x4a3043+_0x855f08(0x1f6)+_0x280fff+_0x855f08(0x25d)+_0x4a3043+_0x855f08(0x24d)+_0x4dbc7d+_0x855f08(0x1fe)+_0x4a3043+_0x855f08(0x1e3)+_0x337c8a+'`\x20style\x20absolute\x20paths\x20at\x20key\x20moments.\x0a8.\x20If\x20you\x20need\x20waits\x20or\x20custom\x20assertions,\x20use\x20`'+_0x4a3043+_0x855f08(0x1e5),_0x4f3138=_0x2fca04?'\x0a\x0a##\x20Critical:\x20Early\x20Error\x20Detection\x0aAfter\x20taking\x20the\x20initial\x20snapshot,\x20IMMEDIATELY\x20check\x20for\x20blocking\x20errors:\x0a\x0a**Blocking\x20errors\x20to\x20detect:**\x0a-\x20Crash\x20or\x20error\x20dialogs\x20(\x22An\x20error\x20occurred\x22,\x20\x22Something\x20went\x20wrong\x22,\x20unhandled\x20exception\x20messages)\x0a-\x20Blank\x20or\x20empty\x20window\x20with\x20no\x20rendered\x20content\x0a-\x20Framework\x20error\x20boundaries\x20(React\x20error\x20page,\x20Electron\x20crash\x20reporter)\x0a-\x20Unresponsive\x20or\x20frozen\x20UI\x20(no\x20interactive\x20elements\x20in\x20snapshot)\x0a\x0a**If\x20ANY\x20blocking\x20error\x20is\x20detected:**\x0a1.\x20DO\x20NOT\x20continue\x20with\x20the\x20task\x0a2.\x20Return\x20IMMEDIATELY\x20with\x20evaluation:\x20\x22blocked\x22\x0a3.\x20Set\x20evaluationReason\x20to\x20describe\x20the\x20specific\x20error\x20(e.g.,\x20\x22App\x20crashed\x20—\x20error\x20dialog\x20visible\x20on\x20launch\x22)\x0a4.\x20Include\x20the\x20error\x20in\x20issues\x20array\x20with\x20severity:\x20\x22BLOCKER\x22\x20and\x20type:\x20\x22APP_ERROR\x22\x0a\x0aThis\x20early\x20exit\x20prevents\x20wasting\x20time\x20on\x20tasks\x20that\x20cannot\x20succeed\x20due\x20to\x20fundamental\x20errors.':_0x855f08(0x251),_0x353496=_0x4de534?'\x0a\x0a##\x20Authentication\x0aBEFORE\x20starting\x20the\x20verification\x20task,\x20you\x20MUST\x20authenticate\x20using\x20these\x20steps:\x0a'+_0x4de534+_0x855f08(0x1f1):'';return'You\x20are\x20a\x20Feature\x20Review\x20Verifier.\x20Your\x20job\x20is\x20to\x20verify\x20a\x20scenario\x20by\x20executing\x20a\x20UI\x20flow\x20and\x20evaluating\x20whether\x20it\x20adequately\x20completes\x20the\x20scenario.\x0a\x0a##\x20Scenario\x20to\x20Verify\x0a'+_0x138d56['description']+_0x4dd92c+_0x1f7c11+_0x27fd2a+'\x0a\x0a##\x20Task\x20to\x20Execute\x0a'+_0x446a51+'\x0a\x0a'+_0x1faa28+_0x353496+'\x0a\x0a'+_0x205686+_0x855f08(0x261)+_0x4a3043+'`\x0a\x0a-\x20Write\x20all\x20artifacts\x20under\x20`'+_0x280fff+'`\x0a-\x20`snapshot\x20--filename\x20'+_0x475d71+'`\x20writes\x20a\x20YAML\x20snapshot\x20you\x20can\x20read\x20for\x20element\x20refs\x0a-\x20`click\x20<ref>`,\x20`fill\x20<ref>\x20\x22text\x22`,\x20`check\x20<ref>`,\x20`press\x20Enter`\x0a-\x20`tab-list`,\x20`tab-select\x20<index>`,\x20`tab-new\x20<url>`\x0a-\x20`screenshot\x20--filename\x20'+_0x4f16e0+'`\x0a-\x20`run-code\x20\x22await\x20page.waitForTimeout(1000)\x22`\x20for\x20waits\x20or\x20small\x20custom\x20checks\x0a\x0a##\x20Screenshot\x20Guidelines\x20-\x20IMPORTANT\x0aTake\x20screenshots\x20throughout\x20the\x20verification\x20flow\x20so\x20a\x20human\x20can\x20review\x20it\x20for\x20completeness.\x20Screenshots\x20are\x20your\x20evidence\x20trail.\x0a\x0a**When\x20to\x20take\x20screenshots\x20(use\x20Playwright\x20CLI\x20screenshot):**\x0a-\x20After\x20the\x20initial\x20snapshot\x20(capture\x20starting\x20state)\x0a-\x20Before\x20and\x20after\x20clicking\x20buttons\x20or\x20submitting\x20forms\x0a-\x20When\x20important\x20UI\x20elements\x20appear\x20(modals,\x20notifications,\x20loading\x20states)\x0a-\x20After\x20navigating\x20to\x20different\x20views\x20or\x20pages\x0a-\x20When\x20verifying\x20specific\x20elements\x20exist\x0a-\x20At\x20the\x20final\x20state\x20showing\x20the\x20completed\x20action\x0a\x0a**Screenshot\x20naming:**\x0a-\x20Use\x20descriptive\x20filenames\x20under\x20`'+_0x280fff+_0x855f08(0x20c)+_0xaf980c+_0x855f08(0x23e)+_0x328faf[_0x855f08(0x1df)](buildCliArtifactPath,_0x280fff,_0x855f08(0x231))+'\x22,\x20\x22'+_0x328faf[_0x855f08(0x1df)](buildCliArtifactPath,_0x280fff,_0x328faf['WMgyu'])+'\x22\x0a-\x20Number\x20prefixes\x20(01_,\x2002_,\x20etc.)\x20help\x20maintain\x20chronological\x20order\x0a-\x20For\x20KEY\x20MOMENTS\x20that\x20prove\x20the\x20scenario\x20is\x20complete,\x20prefix\x20with\x20\x22key_\x22:\x20\x22'+buildCliArtifactPath(_0x280fff,_0x855f08(0x1ee))+'\x22\x0a-\x20The\x20\x22key_\x22\x20prefix\x20marks\x20screenshots\x20as\x20high-priority\x20evidence\x20for\x20human\x20reviewers\x0a\x0a**Aim\x20for\x203-6\x20screenshots\x20per\x20verification**\x20to\x20document\x20the\x20complete\x20flow.\x20Mark\x201-2\x20of\x20the\x20most\x20important\x20ones\x20with\x20the\x20\x22key_\x22\x20prefix.\x0a'+_0x4f3138+_0x855f08(0x269);}export function summarizeVerifyFeatureCliCommandAvailability(_0x3a6501){const _0x4b7f5e=_0x421c,_0x173a87={'ryQUk':function(_0x5b4b05,_0x1af4c){return _0x5b4b05===_0x1af4c;}},_0x39480b=[..._0x3a6501[_0x4b7f5e(0x1e1)]()]['sort']();let _0x2f1759=0x0;for(const _0x199503 of _0x3a6501['values']()){_0x2f1759+=_0x199503;}return{'cliCommandCount':_0x2f1759,'cliCommandsSeen':_0x39480b,'noCliCommandsCalled':_0x173a87[_0x4b7f5e(0x243)](_0x2f1759,0x0)};}export function createVerifyFeatureCliHooks(_0x2ff677){const _0x409505=_0x421c,_0x2fdd3b={'fXPOS':'PostToolUse','GRqUW':function(_0x8a3b57,_0x1c944c){return _0x8a3b57+_0x1c944c;},'oMvkC':_0x409505(0x1e8),'OztzJ':'tool_call','zanNQ':function(_0x210dcd,_0x367815){return _0x210dcd(_0x367815);},'zMWqz':function(_0x470e6d,_0x3c1130){return _0x470e6d!==_0x3c1130;},'tuNWa':_0x409505(0x254),'prktP':function(_0x4a4411,_0x2ab1cd){return _0x4a4411!==_0x2ab1cd;},'yivVb':'Bash'},_0x4c23a2=new Map(),_0xd2e6e5=async _0x39f49f=>{const _0x48ff8c=_0x409505;if(_0x39f49f['hook_event_name']!==_0x2fdd3b['fXPOS'])return{};const _0x43d23d=_0x39f49f;if(_0x43d23d[_0x48ff8c(0x232)]!=='Bash')return{};const _0x4a6224=_0x43d23d[_0x48ff8c(0x1eb)],_0x586c39=extractBashCommand(_0x4a6224);if(!_0x586c39)return{};const _0x8748d3=parsePlaywrightCliCommand(_0x586c39);if(!_0x8748d3)return{};return _0x4c23a2['set'](_0x8748d3,_0x2fdd3b['GRqUW'](_0x4c23a2[_0x48ff8c(0x24c)](_0x8748d3)||0x0,0x1)),_0x2ff677[_0x48ff8c(0x258)]('tool_call',{'transport':_0x2fdd3b[_0x48ff8c(0x1fa)],'toolName':_0x8748d3}),_0x2ff677['trackPhaseEnd'](_0x2fdd3b[_0x48ff8c(0x1e4)],{'transport':_0x2fdd3b[_0x48ff8c(0x1fa)],'toolName':_0x8748d3,'bashCommandPreview':_0x2fdd3b['zanNQ'](truncatePreview,_0x586c39)}),_0x2fdd3b[_0x48ff8c(0x240)](_0x8748d3,_0x48ff8c(0x25e))&&console[_0x48ff8c(0x24e)](formatPlaywrightCliConsoleLogMessage(_0x4a6224,_0x586c39,_0x8748d3)),{};},_0xc212b1=async _0x5695f4=>{const _0x454796=_0x409505;if(_0x5695f4['hook_event_name']!==_0x2fdd3b['tuNWa'])return{};const _0x11d029=_0x5695f4;if(_0x2fdd3b[_0x454796(0x21a)](_0x11d029[_0x454796(0x232)],_0x2fdd3b[_0x454796(0x239)]))return{};return await _0x2ff677['trackPhaseError']('tool_failure',_0x11d029['error'],{'transport':_0x2fdd3b['oMvkC'],'toolName':_0x454796(0x245)}),{};};return{'postToolUseHook':_0xd2e6e5,'postToolUseFailureHook':_0xc212b1,'commandCounts':_0x4c23a2};}async function runPlaywrightCliLifecycleCommand(_0x3a13a7){const _0x189831=_0x421c,_0x4dbc5d={'vasrE':function(_0x5e0935,_0x3892bc){return _0x5e0935(_0x3892bc);},'nshha':function(_0x2e5498,_0x14508c){return _0x2e5498??_0x14508c;}},{sessionId:_0x20e57c,configPath:_0x17a60e,commandArgs:_0x1aafac,env:_0x12e0e9,telemetry:_0xb3829b,phase:_0x3635a3,metadata:_0x18d2b3,timeoutMs:_0x1ad3c4}=_0x3a13a7;_0xb3829b['trackPhaseStart'](_0x3635a3,_0x18d2b3);try{const _0x5edfb5=await _0x4dbc5d[_0x189831(0x1f9)](runPlaywrightCliCommand,{'sessionId':_0x20e57c,'configPath':_0x17a60e,'commandArgs':_0x1aafac,'cwd':process[_0x189831(0x21d)](),'env':_0x12e0e9,'timeoutMs':_0x4dbc5d[_0x189831(0x268)](_0x1ad3c4,PLAYWRIGHT_CLI_COMMAND_TIMEOUT_MS)});_0xb3829b[_0x189831(0x244)](_0x3635a3,{..._0x18d2b3,'subcommand':_0x5edfb5[_0x189831(0x25b)]['subcommand'],'stdoutPreview':truncatePreview(_0x5edfb5[_0x189831(0x25f)],0x7d0),'stderrPreview':truncatePreview(_0x5edfb5['stderr'],0x7d0)});}catch(_0x41c1ac){await _0xb3829b[_0x189831(0x228)](_0x3635a3,_0x41c1ac,_0x18d2b3);throw _0x41c1ac;}}export async function finalizeVerifyFeatureCliSession(_0x518d7a){const _0x485f9a=_0x421c,_0xe0ce07={'VAhSX':'playwright_cli_tracing_stop','cFIdj':'tracing-stop','FJEzu':function(_0x32661c,_0x4108ce,_0x45f8e7){return _0x32661c(_0x4108ce,_0x45f8e7);},'vNGoq':'session-recording.webm','BYpqX':_0x485f9a(0x223)},{telemetry:_0x100986,sessionId:_0x1cde0e,configPath:_0x5aa928,cliArtifactDir:_0x38d66e,env:_0x290dea,transportMetadata:_0x3c3807}=_0x518d7a,_0x7370d2=[{'phase':_0xe0ce07['VAhSX'],'commandArgs':[_0xe0ce07['cFIdj']]},{'phase':_0x485f9a(0x1fc),'commandArgs':[_0x485f9a(0x242),_0x485f9a(0x1de)+_0xe0ce07['FJEzu'](buildCliArtifactPath,_0x38d66e,_0xe0ce07['vNGoq'])]},{'phase':_0xe0ce07[_0x485f9a(0x238)],'commandArgs':[_0x485f9a(0x23b)]}];for(const _0x3079cf of _0x7370d2){try{await runPlaywrightCliLifecycleCommand({'sessionId':_0x1cde0e,'configPath':_0x5aa928,'commandArgs':[..._0x3079cf[_0x485f9a(0x1f4)]],'env':_0x290dea,'telemetry':_0x100986,'phase':_0x3079cf[_0x485f9a(0x1e2)],'metadata':_0x3c3807});}catch{}}}export async function loadVerifyFeatureCliTraceUploadArtifact(_0x466571){const _0x392640={'rhGXr':'trace.zip','fHOXv':'trace.trace.zip','bHoVn':function(_0x261e63,_0x5a7c24,_0x4c5508){return _0x261e63(_0x5a7c24,_0x4c5508);}},_0x257ea5=[_0x392640['rhGXr'],_0x392640['fHOXv']];for(const _0x26b145 of _0x257ea5){const _0x42b4d5=_0x392640['bHoVn'](join,_0x466571,_0x26b145);try{return{'buffer':await readFile(_0x42b4d5),'source':_0x42b4d5};}catch{}}return null;}export async function rehomeVerifyFeatureCliArtifacts(_0xfefd80){const _0x2b75f1=_0x421c,_0x57e1aa={'ufnsj':function(_0x315e63,_0x1334f7,_0x3d0743){return _0x315e63(_0x1334f7,_0x3d0743);},'RNRnS':function(_0x410649,_0x79912a){return _0x410649(_0x79912a);},'Ylykl':function(_0x266dda,_0x5a8930){return _0x266dda<_0x5a8930;}},{cwd:_0xdddfc1,cliArtifactDir:_0x17f1a6,startTime:_0x5107e2}=_0xfefd80,_0x25eec7=[];await _0x57e1aa['ufnsj'](mkdir,_0x17f1a6,{'recursive':!![]});const _0x2e1ce9=await readdir(_0xdddfc1,{'withFileTypes':!![]});for(const _0x5b0f28 of _0x2e1ce9){if(!_0x5b0f28['isFile']()||!VERIFY_FEATURE_CLI_ARTIFACT_FILE_PATTERN[_0x2b75f1(0x25c)](_0x5b0f28[_0x2b75f1(0x1ff)]))continue;const _0x1b0707=_0x57e1aa[_0x2b75f1(0x257)](join,_0xdddfc1,_0x5b0f28[_0x2b75f1(0x1ff)]),_0x36bd4b=await _0x57e1aa['RNRnS'](stat,_0x1b0707);if(_0x57e1aa['Ylykl'](_0x36bd4b[_0x2b75f1(0x266)]+0x7d0,_0x5107e2))continue;const _0x2abc9b=buildCliArtifactPath(_0x17f1a6,_0x5b0f28['name']);if(_0x1b0707===_0x2abc9b)continue;await rename(_0x1b0707,_0x2abc9b),_0x25eec7[_0x2b75f1(0x265)](_0x5b0f28['name']);}return _0x25eec7[_0x2b75f1(0x204)]();}function _0x4b14(){const _0x3b85f3=['open\x20new\x20tab','ref\x20','`,\x20then\x20`','get','\x20snapshot\x20--filename\x20','log','\x20open\x20','length','\x0a\x0a##\x20Critical:\x20Early\x20Error\x20Detection\x0aAfter\x20step\x202\x20(taking\x20initial\x20snapshot),\x20IMMEDIATELY\x20check\x20for\x20blocking\x20HTTP\x20errors:\x0a\x0a**Blocking\x20errors\x20to\x20detect:**\x0a-\x20HTTP\x20404:\x20\x22404\x22,\x20\x22Not\x20Found\x22,\x20\x22Page\x20not\x20found\x22,\x20\x22does\x20not\x20exist\x22\x0a-\x20HTTP\x20500:\x20\x22500\x22,\x20\x22Internal\x20Server\x20Error\x22,\x20\x22Server\x20Error\x22,\x20\x22Something\x20went\x20wrong\x22\x0a-\x20HTTP\x20400:\x20\x22400\x22,\x20\x22Bad\x20Request\x22,\x20\x22Invalid\x20request\x22\x0a\x0a**Also\x20check\x20for:**\x0a-\x20Framework\x20error\x20pages\x20(Next.js\x20error\x20boundary,\x20React\x20error\x20page,\x20\x22Application\x20error\x22)\x0a-\x20Completely\x20blank/empty\x20pages\x20with\x20no\x20content\x0a-\x20\x22Cannot\x20GET\x20/path\x22\x20messages\x0a\x0a**If\x20ANY\x20blocking\x20error\x20is\x20detected:**\x0a1.\x20DO\x20NOT\x20continue\x20with\x20the\x20task\x0a2.\x20Return\x20IMMEDIATELY\x20with\x20evaluation:\x20\x22blocked\x22\x0a3.\x20Set\x20evaluationReason\x20to\x20describe\x20the\x20specific\x20error\x20(e.g.,\x20\x22HTTP\x20404\x20-\x20Page\x20not\x20found\x20at\x20/dashboard\x22)\x0a4.\x20Include\x20the\x20error\x20in\x20issues\x20array\x20with\x20severity:\x20\x22BLOCKER\x22\x20and\x20appropriate\x20type\x20(HTTP_404,\x20HTTP_500,\x20HTTP_400,\x20or\x20NAVIGATION_ERROR)\x0a\x0aThis\x20early\x20exit\x20prevents\x20wasting\x20time\x20on\x20tasks\x20that\x20cannot\x20succeed\x20due\x20to\x20fundamental\x20errors.','178015UqEsWi','stringify','PostToolUseFailure','YZoPE','slice','ufnsj','trackPhaseStart','screenshot','(?:\x5cs+(?:\x22([^\x22]+)\x22|\x27([^\x27]+)\x27|(\x5cS+)))','invocation','test','`\x20using\x20absolute\x20paths\x20only.\x20Do\x20not\x20use\x20relative\x20filenames.\x0a4.\x20Take\x20a\x20snapshot\x20with\x20`','snapshot','stdout','Reviewer','\x0a\x0a##\x20Browser\x20Command\x20Reference\x0aUse\x20Bash\x20to\x20run\x20Playwright\x20CLI\x20commands\x20with\x20this\x20exact\x20prefix:\x0a`','36uwnvfE','DEBUG','\x0a\x0a##\x20Additional\x20Notes\x0a','push','mtimeMs','canonicalFlow','nshha','\x0a##\x20Evaluation\x20Criteria\x0a-\x20VERIFIED:\x20The\x20task\x20completed\x20successfully\x20and\x20the\x20scenario\x20requirements\x20are\x20fully\x20met\x0a-\x20PARTIAL:\x20The\x20task\x20partially\x20completed\x20but\x20some\x20aspects\x20of\x20the\x20scenario\x20are\x20not\x20verified\x0a-\x20BLOCKED:\x20A\x20blocking\x20issue\x20(bug,\x20error,\x20missing\x20feature)\x20prevents\x20completion\x0a-\x20FAILED:\x20The\x20task\x20could\x20not\x20be\x20completed\x20due\x20to\x20errors\x0a\x0aReturn\x20your\x20findings\x20in\x20the\x20structured\x20output\x20format\x20with\x20your\x20evaluation.','4YSKrBN','fill','\x0a-\x20You\x20may\x20ONLY\x20navigate\x20to\x20paths\x20under\x20this\x20base\x20URL\x20(same\x20protocol,\x20host,\x20and\x20port)\x0a-\x20For\x20example,\x20if\x20the\x20base\x20URL\x20is\x20\x22http://localhost:3000\x22,\x20you\x20can\x20navigate\x20to\x20\x22http://localhost:3000/home\x22,\x20\x22http://localhost:3000/settings\x22,\x20etc.\x0a-\x20DO\x20NOT\x20navigate\x20to\x20any\x20different\x20domain,\x20host,\x20or\x20port\x20under\x20any\x20circumstances\x0a-\x20If\x20documentation\x20or\x20code\x20diffs\x20suggest\x20a\x20path\x20exists\x20(e.g.,\x20\x22/dashboard\x22),\x20you\x20may\x20navigate\x20to\x20that\x20path\x20ONLY\x20under\x20the\x20base\x20URL\x20above\x0a-\x20The\x20base\x20URL\x20above\x20is\x20the\x20ONLY\x20authorized\x20profile\x20for\x20this\x20verification','--filename=','hjSCk','HiRXK','keys','phase','\x20screenshot\x20--filename\x20','OztzJ','\x20run-code\x20\x22<playwright\x20code>\x22`.\x0a9.\x20Do\x20not\x20run\x20`close`,\x20`tracing-stop`,\x20or\x20`video-stop`;\x20the\x20host\x20finalizes\x20the\x20session\x20and\x20artifacts.\x0a10.\x20After\x20completing\x20the\x20verification,\x20evaluate\x20whether\x20the\x20result\x20adequately\x20verifies\x20the\x20scenario','\x20tracing-start`\x0a3.\x20Run\x20`','AardL','playwright-cli','\x20video-start`\x0a4.\x20Save\x20every\x20snapshot\x20and\x20screenshot\x20under\x20`','split','tool_input','check\x20','\x20tracing-start`,\x20then\x20`','key_04_success-state.png','open\x20','kliHt','\x0a\x0aAfter\x20completing\x20authentication,\x20proceed\x20with\x20the\x20verification\x20task\x20below.\x0aIf\x20authentication\x20fails,\x20return\x20immediately\x20with\x20evaluation\x20\x22blocked\x22\x20and\x20describe\x20the\x20auth\x20failure.','abuMp','757001KVDDyg','commandArgs','`\x20style\x20absolute\x20paths\x20at\x20key\x20moments.\x0a6.\x20If\x20you\x20need\x20waits\x20or\x20custom\x20assertions,\x20use\x20`','\x20video-start`.\x0a3.\x20Save\x20every\x20snapshot\x20and\x20screenshot\x20under\x20`','...','unaddressedComments','vasrE','oMvkC','trim','playwright_cli_video_stop','selector','`\x20and\x20read\x20the\x20snapshot\x20file\x20to\x20inspect\x20the\x20page.\x0a5.\x20**IMMEDIATELY\x20check\x20for\x20blocking\x20HTTP\x20errors\x20before\x20proceeding.**\x0a6.\x20Execute\x20the\x20task\x20step-by-step\x20with\x20Playwright\x20CLI\x20commands.\x0a7.\x20Use\x20`','name','content','215814bgACYq','start\x20tracing','difUh','sort','`\x0a7.\x20Click\x20the\x20\x22Learn\x20More\x22\x20link\x20with\x20Playwright\x20CLI\x0a8.\x20Run\x20`','\x5c$&','authorEmail','##\x20App\x20Context\x0aYou\x20are\x20connected\x20to\x20a\x20desktop\x20application\x20via\x20CDP\x20(Chrome\x20DevTools\x20Protocol)\x20at\x20','wrrGE','1331392XGxIjT','sugri','`:\x20\x22','\x20run-code\x20\x22<playwright\x20code>\x22`.\x0a7.\x20Do\x20not\x20run\x20`close`,\x20`tracing-stop`,\x20or\x20`video-stop`;\x20the\x20host\x20finalizes\x20the\x20session\x20and\x20artifacts.\x0a8.\x20After\x20completing\x20the\x20verification,\x20evaluate\x20whether\x20the\x20result\x20adequately\x20verifies\x20the\x20scenario','authorName','[playwright-cli]\x20','domRef','run-code','RInvV','03_result-visible.png','18iSCRNY','03_learn-more.png','NkkLF','replace','HIlpu','capture\x20key\x20step\x20`','prktP','match',']\x20**','cwd','rzYcE','toLocaleDateString','\x20open`,\x20then\x20`','dSXSO','\x20>\x20','playwright_cli_close','tracing-stop','\x0a\x0a##\x20Expected\x20Flow\x20(from\x20previous\x20verification)\x0a','eViEb','NobEc','trackPhaseError','open\x20browser','1895590gVHZHK','):\x20\x22','notes','press\x20','click\x20','##\x20Instructions\x0a1.\x20Use\x20Bash\x20plus\x20Playwright\x20CLI\x20only.\x20Do\x20NOT\x20call\x20MCP\x20browser\x20tools.\x0a2.\x20Start\x20by\x20running\x20`','createdAt','02_button-clicked.png','tool_name','01_initial-state.png','3427856ldVuRJ','`\x0a10.\x20Return\x20immediately\x20with\x20the\x20structured\x20output\x0a\x0aReturn\x20your\x20findings\x20in\x20the\x20structured\x20output\x20format.','299209HnGfnn','>\x20\x22','BYpqX','yivVb','run\x20custom\x20Playwright\x20code','close','CRITICAL\x20URL\x20REQUIREMENT:\x0aYour\x20base\x20URL\x20is:\x20','01_mozilla-homepage.png','\x22,\x20\x22','-\x20[','zMWqz','tracing-start','video-stop','ryQUk','trackPhaseEnd','Bash','01_initial.yml','capture\x20step\x20`','\x20open\x20https://www.mozilla.org`\x0a2.\x20Run\x20`'];_0x4b14=function(){return _0x3b85f3;};return _0x4b14();}
|