@ranger-testing/ranger-cli 3.1.1-alpha.08fb70e-39 → 3.1.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/deleteProfile.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/migrateProfile.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/cloudProfile.js +1 -1
- package/build/commands/utils/cloudProfileSession.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/gitTracked.js +1 -1
- package/build/commands/utils/keychain.js +1 -1
- package/build/commands/utils/legacyWarning.js +1 -1
- package/build/commands/utils/localAgentInstallationsApi.js +1 -1
- package/build/commands/utils/matchAuthEnvironment.js +1 -1
- package/build/commands/utils/mcpImageBase64.js +1 -1
- package/build/commands/utils/model.js +1 -1
- package/build/commands/utils/novaActCli.js +1 -1
- package/build/commands/utils/opencodeConfig.js +1 -1
- package/build/commands/utils/organizationEnvApi.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/projectsConfig.js +1 -1
- package/build/commands/utils/rangerConfig.js +1 -1
- package/build/commands/utils/rangerRoot.js +1 -1
- package/build/commands/utils/rangerwrightCli.js +1 -1
- package/build/commands/utils/resolveProfileContext.js +1 -1
- package/build/commands/utils/resolveProfileUrl.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/tunnelClient.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/build/commands/verifyFeatureNovaCli.js +1 -1
- package/build/commands/verifyFeatureRangerwrightCli.js +1 -1
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(_0x5bff62,_0x1ef8e5){const _0x5c8437=_0x2759,_0x45372f=_0x5bff62();while(!![]){try{const _0x51be22=parseInt(_0x5c8437(0x214))/0x1*(-parseInt(_0x5c8437(0x1f0))/0x2)+parseInt(_0x5c8437(0x20d))/0x3+parseInt(_0x5c8437(0x1e6))/0x4*(parseInt(_0x5c8437(0x252))/0x5)+-parseInt(_0x5c8437(0x265))/0x6*(parseInt(_0x5c8437(0x1ea))/0x7)+parseInt(_0x5c8437(0x200))/0x8*(parseInt(_0x5c8437(0x202))/0x9)+-parseInt(_0x5c8437(0x21e))/0xa*(parseInt(_0x5c8437(0x22f))/0xb)+parseInt(_0x5c8437(0x1e9))/0xc;if(_0x51be22===_0x1ef8e5)break;else _0x45372f['push'](_0x45372f['shift']());}catch(_0x2abbd0){_0x45372f['push'](_0x45372f['shift']());}}}(_0x1e96,0x3c387));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(_0x2347a4,_0x596f4d=PLAYWRIGHT_CLI_PREVIEW_LIMIT){const _0x30ab23=_0x2759,_0x4d4a91={'fPQRq':_0x30ab23(0x22e)};return _0x2347a4['length']>_0x596f4d?_0x2347a4[_0x30ab23(0x24d)](0x0,_0x596f4d)+_0x4d4a91['fPQRq']:_0x2347a4;}function buildCliArtifactPath(_0x1fbe4c,_0x2b19dc){const _0x416fb8=_0x2759,_0x374392={'vmfYG':function(_0x510307,_0x434e30,_0x16f840){return _0x510307(_0x434e30,_0x16f840);}};return _0x374392[_0x416fb8(0x267)](join,_0x1fbe4c,_0x2b19dc);}function toStepDisplayName(_0x531d48){const _0x421d5a=_0x2759,_0x3bead1={'DURUQ':function(_0x2202c3,_0x2848c1){return _0x2202c3(_0x2848c1);},'FKzkZ':function(_0x1cec6e,_0x3acafa){return _0x1cec6e(_0x3acafa);}},_0x11183b=_0x3bead1[_0x421d5a(0x268)](basename,_0x531d48)['replace'](/\.(?:png|ya?ml)$/i,'')['replace'](/^key_/i,'')[_0x421d5a(0x22a)](/^\d+_/,'')['replace'](/-/g,'\x20');return{'name':_0x11183b,'isKeyStep':/^key_/i[_0x421d5a(0x253)](_0x3bead1['FKzkZ'](basename,_0x531d48))};}function _0x1e96(){const _0x181801=['fill','RvXXf','azqBf','5nndTqx','test','trace.trace.zip','element','stop\x20tracing','textContent','name','xsMKz','XigHT','invocation','03_learn-more.png','--filename=','\x0a\x0a##\x20Additional\x20Notes\x0a','lMsiv','uiYtC','\x0a\x0a##\x20Browser\x20Command\x20Reference\x0aUse\x20Bash\x20to\x20run\x20Playwright\x20CLI\x20commands\x20with\x20this\x20exact\x20prefix:\x0a`','`\x0a\x0a-\x20Write\x20all\x20artifacts\x20under\x20`','aRfTg','DEBUG','992010geobpW','\x20video-start`\x0a4.\x20Save\x20every\x20snapshot\x20and\x20screenshot\x20under\x20`','vmfYG','DURUQ','bhBvP','\x20tracing-start`\x0a3.\x20Run\x20`','Reviewer','`,\x20then\x20`','IhPjy','Ahavi','QovOP','\x20video-start`.\x0a3.\x20Save\x20every\x20snapshot\x20and\x20screenshot\x20under\x20`','check\x20','env','joNPI','\x20>\x20','subcommand','02_button-clicked.png','##\x20App\x20Context\x0aYou\x20are\x20connected\x20to\x20a\x20desktop\x20application\x20via\x20CDP\x20(Chrome\x20DevTools\x20Protocol)\x20at\x20','EAWrb','jeOqD','cTKiX','740584tuzDzP','00_mozilla-homepage.yml',']\x20**','4591656TLgzGJ','7PgDewx','gPXem','trackPhaseError','ssjJa','bvalI','`\x0a7.\x20Click\x20the\x20\x22Learn\x20More\x22\x20link\x20with\x20Playwright\x20CLI\x0a8.\x20Run\x20`','5588EjvsRe','ucjtC','cwd','trackPhaseStart','phase','eglHc','jTxHX','press\x20','mpubw','\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','en-US','\x20tracing-start`,\x20then\x20`','`\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`','capture\x20key\x20step\x20`','\x20snapshot\x20--filename\x20','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','1096tfAwHo','open\x20new\x20tab','22518MDsmWg','>\x20\x22','HghoO','PostToolUseFailure','selector','target','yPpXO','content','split','\x20open\x20https://www.mozilla.org`\x0a2.\x20Run\x20`','`\x20using\x20absolute\x20paths\x20only.\x20Do\x20not\x20use\x20relative\x20filenames.\x0a4.\x20Take\x20a\x20snapshot\x20with\x20`','282426sgwBOi','\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.','\x0a\x0a1.\x20Run\x20`','video-stop','\x20screenshot\x20--filename\x20','capture\x20step\x20`','KBmHJ','118rKmTXK','02_learn-more.yml','xkYeD','pop','notes','cntnp','canonicalFlow','rdxVb','screenshot','Bash','526020EBRUFe','02_state.yml','**\x20(','\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.','tfHkj','\x22,\x20\x22','sort','Ohrfz','set','\x0a\x0a##\x20Expected\x20Flow\x20(from\x20previous\x20verification)\x0a','kGlll','bqTWZ','replace','UPaka','):\x20\x22','QXPrA','...','55uhLLHg','fill\x20','key_04_success-state.png','select\x20tab','\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','RhLNM','length','tab-new','tab-select','03_result-visible.png','`\x0a9.\x20Run\x20`','mtimeMs','open\x20','\x20open\x20','description','`\x0a-\x20`snapshot\x20--filename\x20','##\x20Instructions\x0a1.\x20Use\x20Bash\x20plus\x20Playwright\x20CLI\x20only.\x20Do\x20NOT\x20call\x20MCP\x20browser\x20tools.\x0a2.\x20Start\x20by\x20running\x20`','MNTxU','numeric','start\x20video\x20recording','IXRxF','\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','oiKXt','snapshot','dyAch','\x20(on\x20element:\x20<','tool_call','tool_input','select\x20tab\x20','domRef','slice','WPuRd'];_0x1e96=function(){return _0x181801;};return _0x1e96();}function extractShellValue(_0x10f143){if(!_0x10f143)return null;return _0x10f143[0x1]??_0x10f143[0x2]??_0x10f143[0x3]??null;}function extractFilenameOption(_0xe5565){const _0x5e9e2e=_0x2759,_0x22da5c={'cTKiX':function(_0x354ad7,_0x811f11){return _0x354ad7(_0x811f11);}};return _0x22da5c[_0x5e9e2e(0x1e5)](extractShellValue,_0xe5565['match'](/--filename(?:=|\s+)(?:"([^"]+)"|'([^']+)'|(\S+))/));}function extractFirstCommandArgument(_0x2e2fc5,_0x401398){const _0x3f8dfd=_0x2759,_0x4e217a={'Ahavi':'\x5c$&'},_0x3e3f0a=_0x401398[_0x3f8dfd(0x22a)](/[.*+?^${}()|[\]\\]/g,_0x4e217a[_0x3f8dfd(0x26e)]);return extractShellValue(_0x2e2fc5['match'](new RegExp('(?:^|\x5cs)'+_0x3e3f0a+'(?:\x5cs+(?:\x22([^\x22]+)\x22|\x27([^\x27]+)\x27|(\x5cS+)))')));}function formatCommandTarget(_0x33efa4){const _0x289604=_0x2759,_0x2965d6={'UPaka':_0x289604(0x207)};if(!_0x33efa4)return _0x2965d6[_0x289604(0x22b)];if(/^e\d+$/i[_0x289604(0x253)](_0x33efa4))return'ref\x20'+_0x33efa4;return JSON['stringify'](truncatePreview(_0x33efa4,0x78));}function formatPlaywrightCliLog(_0x32dc3c,_0x30419a){const _0x26a351=_0x2759,_0x3fbf30={'cntnp':'open','bqTWZ':function(_0x26ee4c,_0x51087b,_0x6abac2){return _0x26ee4c(_0x51087b,_0x6abac2);},'IXRxF':'tracing-start','dEarx':_0x26a351(0x210),'ZXyqo':'stop\x20video\x20recording','XigHT':'snapshot','ucjtC':function(_0x4163d8,_0x268b98){return _0x4163d8(_0x268b98);},'DyofZ':'capture\x20snapshot','dpzKs':_0x26a351(0x21c),'uiYtC':function(_0x2f25ae,_0x41e6ef){return _0x2f25ae(_0x41e6ef);},'rdxVb':function(_0x22eb92,_0x204576,_0xe5a11b){return _0x22eb92(_0x204576,_0xe5a11b);},'aRfTg':function(_0xf14533,_0x4081ff,_0xc439d7){return _0xf14533(_0x4081ff,_0xc439d7);},'yPpXO':_0x26a351(0x24f),'joNPI':'press','TSLtk':'run\x20custom\x20Playwright\x20code'};switch(_0x30419a){case _0x3fbf30[_0x26a351(0x219)]:{const _0x5568fc=_0x3fbf30[_0x26a351(0x229)](extractFirstCommandArgument,_0x32dc3c,_0x30419a);return _0x5568fc?_0x26a351(0x23b)+_0x5568fc:'open\x20browser';}case _0x3fbf30[_0x26a351(0x243)]:return'start\x20tracing';case'tracing-stop':return _0x26a351(0x256);case'video-start':return _0x26a351(0x242);case _0x3fbf30['dEarx']:return _0x3fbf30['ZXyqo'];case _0x3fbf30[_0x26a351(0x25a)]:{const _0x4f0192=_0x3fbf30['ucjtC'](extractFilenameOption,_0x32dc3c);if(!_0x4f0192)return _0x3fbf30['DyofZ'];const {name:_0x49e0e6}=_0x3fbf30['ucjtC'](toStepDisplayName,_0x4f0192);return'capture\x20snapshot\x20`'+_0x49e0e6+'`';}case _0x3fbf30['dpzKs']:{const _0x51a741=_0x3fbf30[_0x26a351(0x1f1)](extractFilenameOption,_0x32dc3c);if(!_0x51a741)return'capture\x20screenshot';const {name:_0x2fe958,isKeyStep:_0x4ed8c3}=_0x3fbf30[_0x26a351(0x260)](toStepDisplayName,_0x51a741);return _0x4ed8c3?_0x26a351(0x1fd)+_0x2fe958+'`':_0x26a351(0x212)+_0x2fe958+'`';}case'click':return'click\x20'+formatCommandTarget(_0x3fbf30[_0x26a351(0x21b)](extractFirstCommandArgument,_0x32dc3c,_0x30419a));case'check':return _0x26a351(0x271)+formatCommandTarget(_0x3fbf30['aRfTg'](extractFirstCommandArgument,_0x32dc3c,_0x30419a));case _0x3fbf30[_0x26a351(0x208)]:return _0x26a351(0x230)+formatCommandTarget(extractFirstCommandArgument(_0x32dc3c,_0x30419a));case _0x3fbf30[_0x26a351(0x1de)]:return _0x26a351(0x1f7)+formatCommandTarget(_0x3fbf30[_0x26a351(0x263)](extractFirstCommandArgument,_0x32dc3c,_0x30419a));case'run-code':return _0x3fbf30['TSLtk'];case _0x26a351(0x236):{const _0x5bd8e7=extractFirstCommandArgument(_0x32dc3c,_0x30419a);return _0x5bd8e7?'open\x20new\x20tab\x20'+_0x5bd8e7:_0x26a351(0x201);}case _0x26a351(0x237):{const _0x43b59a=extractFirstCommandArgument(_0x32dc3c,_0x30419a);return _0x43b59a?_0x26a351(0x24b)+_0x43b59a:_0x26a351(0x232);}default:return _0x30419a;}}function extractPlaywrightCliToolDescription(_0x2ab01a){const _0x29fb28=_0x2759,_0xb22649=_0x2ab01a[_0x29fb28(0x23d)];if(typeof _0xb22649!=='string')return null;const _0x5c83c3=_0xb22649['trim']()['replace'](/\s+/g,'\x20');return _0x5c83c3[_0x29fb28(0x235)]>0x0?_0x5c83c3:null;}export function formatPlaywrightCliConsoleLogMessage(_0x3427b6,_0x14086f,_0x31644f){const _0x2e603f=_0x2759,_0x143a17={'MNTxU':function(_0x134a99,_0x1c49b4,_0xc891c7){return _0x134a99(_0x1c49b4,_0xc891c7);}},_0x3398a3=_0x143a17[_0x2e603f(0x240)](formatPlaywrightCliLog,_0x14086f,_0x31644f),_0x3acb9b=extractPlaywrightCliToolDescription(_0x3427b6);if(!_0x3acb9b)return'[playwright-cli]\x20'+_0x3398a3;if(process[_0x2e603f(0x1dd)][_0x2e603f(0x264)])return'[ranger-verification-agent]\x20'+_0x3acb9b+'\x20('+_0x3398a3+')';return'[ranger-verification-agent]\x20'+_0x3acb9b;}export function buildVerifyFeatureCliDebugPrompt(_0x101330,_0x59e0e3){const _0xec9ea1=_0x2759,_0x4aa50b={'EAWrb':function(_0x1d03e8,_0x5d38a3,_0x40f693){return _0x1d03e8(_0x5d38a3,_0x40f693);},'EtKYH':_0xec9ea1(0x215),'OdByz':_0xec9ea1(0x25c),'lMsiv':function(_0x489eea,_0x5350e6){return _0x489eea(_0x5350e6);},'QovOP':function(_0x5cb28c,_0x4225dd){return _0x5cb28c(_0x4225dd);}},_0x2ed996=_0x4aa50b['EAWrb'](buildCliArtifactPath,_0x59e0e3,_0xec9ea1(0x1e7)),_0xdd7c6d=buildCliArtifactPath(_0x59e0e3,'01_mozilla-homepage.png'),_0xc2c7e1=_0x4aa50b[_0xec9ea1(0x1e3)](buildCliArtifactPath,_0x59e0e3,_0x4aa50b['EtKYH']),_0x44f2a5=buildCliArtifactPath(_0x59e0e3,_0x4aa50b['OdByz']),_0x3da2c1=_0x4aa50b[_0xec9ea1(0x25f)](quoteShellArg,_0x2ed996),_0x4803f1=quoteShellArg(_0xdd7c6d),_0x118554=_0x4aa50b[_0xec9ea1(0x26f)](quoteShellArg,_0xc2c7e1),_0x2b1000=quoteShellArg(_0x44f2a5);return'You\x20are\x20testing\x20browser\x20automation.\x20Your\x20task\x20is\x20simple:\x0a\x0aUse\x20Bash\x20and\x20Playwright\x20CLI\x20only.\x20The\x20browser\x20command\x20prefix\x20is:\x0a'+_0x101330+_0xec9ea1(0x20f)+_0x101330+_0xec9ea1(0x20b)+_0x101330+_0xec9ea1(0x26a)+_0x101330+_0xec9ea1(0x266)+_0x59e0e3+'`\x20using\x20absolute\x20paths\x20only.\x20Do\x20not\x20use\x20relative\x20filenames.\x0a5.\x20Run\x20`'+_0x101330+'\x20snapshot\x20--filename\x20'+_0x3da2c1+'`\x0a5.\x20Read\x20the\x20snapshot\x20file\x20to\x20find\x20the\x20\x22Learn\x20More\x22\x20link\x20reference\x0a6.\x20Run\x20`'+_0x101330+_0xec9ea1(0x211)+_0x4803f1+_0xec9ea1(0x1ef)+_0x101330+'\x20snapshot\x20--filename\x20'+_0x118554+_0xec9ea1(0x239)+_0x101330+_0xec9ea1(0x211)+_0x2b1000+'`\x0a10.\x20Return\x20immediately\x20with\x20the\x20structured\x20output\x0a\x0aReturn\x20your\x20findings\x20in\x20the\x20structured\x20output\x20format.';}export function buildVerifyFeatureCliPrompt(_0x4bd2a2){const _0x3ffc97=_0x2759,_0x5cc3eb={'eglHc':_0x3ffc97(0x1fa),'Vcoyk':'short','RvXXf':'01_initial.yml','KBmHJ':function(_0x4a5969,_0x57f59e){return _0x4a5969(_0x57f59e);},'mpubw':function(_0x133868,_0xa7ba5e){return _0x133868>_0xa7ba5e;},'iyfRb':_0x3ffc97(0x1e1),'bhBvP':_0x3ffc97(0x238),'zhUJP':function(_0x2d4175,_0x100682,_0x19a63f){return _0x2d4175(_0x100682,_0x19a63f);},'UhQbP':_0x3ffc97(0x231)},{checklistItem:_0x33606a,itemFeedback:_0x4443df,taskDescription:_0x789738,cliCommandPrefix:_0x28a218,cliArtifactDir:_0x3b3d83,isCdpMode:_0x5d682f,url:_0x25f18c,cdpEndpoint:_0x1ac491,loginInstructions:_0x2f9402}=_0x4bd2a2,_0x12ef68=buildCliArtifactPath(_0x3b3d83,_0x5cc3eb[_0x3ffc97(0x250)]),_0x4dbe0d=buildCliArtifactPath(_0x3b3d83,_0x3ffc97(0x21f)),_0x571683=buildCliArtifactPath(_0x3b3d83,'key_03_success-state.png'),_0x12c7f4=buildCliArtifactPath(_0x3b3d83,'01_initial-state.png'),_0x40aeaf=quoteShellArg(_0x12ef68),_0x52ccf5=_0x5cc3eb[_0x3ffc97(0x213)](quoteShellArg,_0x4dbe0d),_0x764766=quoteShellArg(_0x571683),_0x2c7606=quoteShellArg(_0x12c7f4),_0x44466b=_0x33606a['notes']?_0x3ffc97(0x25e)+_0x33606a[_0x3ffc97(0x218)]:'';let _0xd06176='';if(_0x4443df&&_0x5cc3eb[_0x3ffc97(0x1f8)](_0x4443df['unaddressedComments']['length'],0x0)){const _0x1fd2d4=_0x4443df['unaddressedComments']['map'](_0x56edd4=>{const _0x4ccd8d=_0x3ffc97,_0x3d1a5e=new Date(_0x56edd4['createdAt'])['toLocaleDateString'](_0x5cc3eb[_0x4ccd8d(0x1f5)],{'month':_0x5cc3eb['Vcoyk'],'day':_0x4ccd8d(0x241)}),_0x9e7937=_0x56edd4['authorName']||_0x56edd4['authorEmail']||_0x4ccd8d(0x26b),_0x228c2a=_0x56edd4['domRef']?_0x4ccd8d(0x248)+(_0x56edd4[_0x4ccd8d(0x24c)][_0x4ccd8d(0x206)]['split'](_0x4ccd8d(0x1df))[_0x4ccd8d(0x217)]()?.[_0x4ccd8d(0x20a)](':')[0x0]||_0x4ccd8d(0x255))+_0x4ccd8d(0x203)+(_0x56edd4['domRef'][_0x4ccd8d(0x257)]||'')['slice'](0x0,0x32)+'\x22)':'';return'-\x20['+_0x56edd4['id']+_0x4ccd8d(0x1e8)+_0x9e7937+_0x4ccd8d(0x220)+_0x3d1a5e+_0x4ccd8d(0x22c)+_0x56edd4[_0x4ccd8d(0x209)]+'\x22'+_0x228c2a;})['join']('\x0a');_0xd06176='\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'+_0x1fd2d4;}const _0x50d269=_0x4443df?.['canonicalFlow']?_0x3ffc97(0x227)+_0x4443df[_0x3ffc97(0x21a)]:'',_0x2b4934=_0x5d682f?_0x3ffc97(0x1e2)+_0x1ac491+'.\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'+_0x25f18c+_0x3ffc97(0x1f9),_0xcd5ad9=_0x25f18c?quoteShellArg(_0x25f18c):'',_0x5bb38e=_0x5d682f?_0x3ffc97(0x23f)+_0x28a218+'\x20open`,\x20then\x20`'+_0x28a218+'\x20tracing-start`,\x20then\x20`'+_0x28a218+_0x3ffc97(0x270)+_0x3b3d83+_0x3ffc97(0x20c)+_0x28a218+'\x20snapshot\x20--filename\x20'+_0x40aeaf+'`\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`'+_0x28a218+'\x20screenshot\x20--filename\x20'+_0x2c7606+'`\x20style\x20absolute\x20paths\x20at\x20key\x20moments.\x0a6.\x20If\x20you\x20need\x20waits\x20or\x20custom\x20assertions,\x20use\x20`'+_0x28a218+'\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':'##\x20Instructions\x0a1.\x20Use\x20Bash\x20plus\x20Playwright\x20CLI\x20only.\x20Do\x20NOT\x20call\x20MCP\x20browser\x20tools.\x0a2.\x20Start\x20by\x20running\x20`'+_0x28a218+_0x3ffc97(0x23c)+_0xcd5ad9+_0x3ffc97(0x26c)+_0x28a218+_0x3ffc97(0x1fb)+_0x28a218+_0x3ffc97(0x270)+_0x3b3d83+_0x3ffc97(0x20c)+_0x28a218+_0x3ffc97(0x1fe)+_0x40aeaf+_0x3ffc97(0x1fc)+_0x28a218+_0x3ffc97(0x211)+_0x2c7606+'`\x20style\x20absolute\x20paths\x20at\x20key\x20moments.\x0a8.\x20If\x20you\x20need\x20waits\x20or\x20custom\x20assertions,\x20use\x20`'+_0x28a218+'\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',_0x1dce31=_0x5d682f?_0x3ffc97(0x221):'\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-\x20Login/sign-in/auth\x20pages\x20when\x20no\x20Authentication\x20section\x20is\x20present\x20in\x20this\x20prompt\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.',_0xfee42f=_0x2f9402?'\x0a\x0a##\x20Authentication\x0aBEFORE\x20starting\x20the\x20verification\x20task,\x20you\x20MUST\x20authenticate\x20using\x20these\x20steps:\x0a'+_0x2f9402+_0x3ffc97(0x20e):'';return _0x3ffc97(0x1ff)+_0x33606a[_0x3ffc97(0x23d)]+_0x44466b+_0xd06176+_0x50d269+'\x0a\x0a##\x20Task\x20to\x20Execute\x0a'+_0x789738+'\x0a\x0a'+_0x2b4934+_0xfee42f+'\x0a\x0a'+_0x5bb38e+_0x3ffc97(0x261)+_0x28a218+_0x3ffc97(0x262)+_0x3b3d83+_0x3ffc97(0x23e)+_0x52ccf5+'`\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'+_0x764766+'`\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`'+_0x3b3d83+'`:\x20\x22'+_0x12c7f4+_0x3ffc97(0x223)+buildCliArtifactPath(_0x3b3d83,_0x5cc3eb['iyfRb'])+_0x3ffc97(0x223)+buildCliArtifactPath(_0x3b3d83,_0x5cc3eb[_0x3ffc97(0x269)])+_0x3ffc97(0x244)+_0x5cc3eb['zhUJP'](buildCliArtifactPath,_0x3b3d83,_0x5cc3eb['UhQbP'])+_0x3ffc97(0x233)+_0x1dce31+'\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.';}export function summarizeVerifyFeatureCliCommandAvailability(_0x1dfd3f){const _0x5701e3=_0x2759,_0x1a675f={'fpbJe':function(_0x4d5614,_0x1c29f5){return _0x4d5614===_0x1c29f5;}},_0x441fba=[..._0x1dfd3f['keys']()][_0x5701e3(0x224)]();let _0x2c8803=0x0;for(const _0x472a9d of _0x1dfd3f['values']()){_0x2c8803+=_0x472a9d;}return{'cliCommandCount':_0x2c8803,'cliCommandsSeen':_0x441fba,'noCliCommandsCalled':_0x1a675f['fpbJe'](_0x2c8803,0x0)};}export function createVerifyFeatureCliHooks(_0x3eda0c){const _0x178eab=_0x2759,_0x2aa535={'jeOqD':'PostToolUse','oiKXt':function(_0x3602d1,_0x5ee8ae){return _0x3602d1(_0x5ee8ae);},'QXPrA':function(_0x35eb88,_0x4735a3){return _0x35eb88+_0x4735a3;},'dyAch':_0x178eab(0x249),'bvalI':'playwright-cli','IhPjy':function(_0x50e83b,_0x49ce94,_0x3dda29,_0x4be4e3){return _0x50e83b(_0x49ce94,_0x3dda29,_0x4be4e3);},'xkYeD':function(_0x28e16e,_0x5dc323){return _0x28e16e!==_0x5dc323;},'gPXem':'tool_failure'},_0x1f6d0b=new Map(),_0x3b27ca=async _0xc32da=>{const _0x1389e3=_0x178eab;if(_0xc32da['hook_event_name']!==_0x2aa535[_0x1389e3(0x1e4)])return{};const _0x1a711e=_0xc32da;if(_0x1a711e['tool_name']!==_0x1389e3(0x21d))return{};const _0x4b5fed=_0x1a711e[_0x1389e3(0x24a)],_0x893b9b=_0x2aa535[_0x1389e3(0x245)](extractBashCommand,_0x4b5fed);if(!_0x893b9b)return{};const _0x967150=parsePlaywrightCliCommand(_0x893b9b);if(!_0x967150)return{};return _0x1f6d0b[_0x1389e3(0x226)](_0x967150,_0x2aa535[_0x1389e3(0x22d)](_0x1f6d0b['get'](_0x967150)||0x0,0x1)),_0x3eda0c['trackPhaseStart'](_0x2aa535[_0x1389e3(0x247)],{'transport':_0x2aa535[_0x1389e3(0x1ee)],'toolName':_0x967150}),_0x3eda0c['trackPhaseEnd'](_0x2aa535[_0x1389e3(0x247)],{'transport':_0x2aa535['bvalI'],'toolName':_0x967150,'bashCommandPreview':truncatePreview(_0x893b9b)}),_0x967150!==_0x1389e3(0x246)&&console['log'](_0x2aa535[_0x1389e3(0x26d)](formatPlaywrightCliConsoleLogMessage,_0x4b5fed,_0x893b9b,_0x967150)),{};},_0x3d4be3=async _0x14a32f=>{const _0x4a5d41=_0x178eab;if(_0x2aa535[_0x4a5d41(0x216)](_0x14a32f['hook_event_name'],_0x4a5d41(0x205)))return{};const _0x49a9dd=_0x14a32f;if(_0x49a9dd['tool_name']!=='Bash')return{};return await _0x3eda0c[_0x4a5d41(0x1ec)](_0x2aa535[_0x4a5d41(0x1eb)],_0x49a9dd['error'],{'transport':'playwright-cli','toolName':'Bash'}),{};};return{'postToolUseHook':_0x3b27ca,'postToolUseFailureHook':_0x3d4be3,'commandCounts':_0x1f6d0b};}function _0x2759(_0x27d58b,_0x420108){_0x27d58b=_0x27d58b-0x1dd;const _0x1e9696=_0x1e96();let _0x275906=_0x1e9696[_0x27d58b];return _0x275906;}async function runPlaywrightCliLifecycleCommand(_0xe4ec2b){const _0x28be38=_0x2759,_0x345ae1={'bLaNP':function(_0x42ee23,_0x4ecc3b,_0x36b461){return _0x42ee23(_0x4ecc3b,_0x36b461);}},{sessionId:_0x51ff8b,configPath:_0x285311,commandArgs:_0x5ebc0c,env:_0x2aa3af,telemetry:_0x4c639b,phase:_0x1252d1,metadata:_0x32d079,timeoutMs:_0x3ababb}=_0xe4ec2b;_0x4c639b[_0x28be38(0x1f3)](_0x1252d1,_0x32d079);try{const _0x44a587=await runPlaywrightCliCommand({'sessionId':_0x51ff8b,'configPath':_0x285311,'commandArgs':_0x5ebc0c,'cwd':process[_0x28be38(0x1f2)](),'env':_0x2aa3af,'timeoutMs':_0x3ababb??PLAYWRIGHT_CLI_COMMAND_TIMEOUT_MS});_0x4c639b['trackPhaseEnd'](_0x1252d1,{..._0x32d079,'subcommand':_0x44a587[_0x28be38(0x25b)][_0x28be38(0x1e0)],'stdoutPreview':_0x345ae1['bLaNP'](truncatePreview,_0x44a587['stdout'],0x7d0),'stderrPreview':truncatePreview(_0x44a587['stderr'],0x7d0)});}catch(_0x471dff){await _0x4c639b['trackPhaseError'](_0x1252d1,_0x471dff,_0x32d079);throw _0x471dff;}}export async function finalizeVerifyFeatureCliSession(_0x1f55f1){const _0x437e4a=_0x2759,_0x17f108={'TYpkQ':'playwright_cli_tracing_stop','kGlll':function(_0xa872c7,_0x5aee32,_0x22fa76){return _0xa872c7(_0x5aee32,_0x22fa76);},'RhLNM':'playwright_cli_close','aApYJ':'close','azqBf':function(_0x14bdf0,_0xb442a8){return _0x14bdf0(_0xb442a8);}},{telemetry:_0x47e11f,sessionId:_0x4bb122,configPath:_0x4c194d,cliArtifactDir:_0x497430,env:_0x4a6f6c,transportMetadata:_0x4b8649}=_0x1f55f1,_0x3353b2=[{'phase':_0x17f108['TYpkQ'],'commandArgs':['tracing-stop']},{'phase':'playwright_cli_video_stop','commandArgs':[_0x437e4a(0x210),_0x437e4a(0x25d)+_0x17f108[_0x437e4a(0x228)](buildCliArtifactPath,_0x497430,'session-recording.webm')]},{'phase':_0x17f108[_0x437e4a(0x234)],'commandArgs':[_0x17f108['aApYJ']]}];for(const _0x1a1fe6 of _0x3353b2){try{await _0x17f108[_0x437e4a(0x251)](runPlaywrightCliLifecycleCommand,{'sessionId':_0x4bb122,'configPath':_0x4c194d,'commandArgs':[..._0x1a1fe6['commandArgs']],'env':_0x4a6f6c,'telemetry':_0x47e11f,'phase':_0x1a1fe6[_0x437e4a(0x1f4)],'metadata':_0x4b8649});}catch{}}}export async function loadVerifyFeatureCliTraceUploadArtifact(_0x5385b5){const _0x56c38f=_0x2759,_0x2b3b11={'WPuRd':'trace.zip','tfHkj':_0x56c38f(0x254)},_0x3916a3=[_0x2b3b11[_0x56c38f(0x24e)],_0x2b3b11[_0x56c38f(0x222)]];for(const _0x1e442f of _0x3916a3){const _0x931f36=join(_0x5385b5,_0x1e442f);try{return{'buffer':await readFile(_0x931f36),'source':_0x931f36};}catch{}}return null;}export async function rehomeVerifyFeatureCliArtifacts(_0x406108){const _0x4eec32=_0x2759,_0x36a291={'xsMKz':function(_0x166c02,_0x5662aa,_0x3f9985){return _0x166c02(_0x5662aa,_0x3f9985);},'jTxHX':function(_0x364f3e,_0x1615e5){return _0x364f3e(_0x1615e5);},'ssjJa':function(_0x3be4dd,_0x1596c7){return _0x3be4dd<_0x1596c7;},'Ohrfz':function(_0x14ca39,_0x487104){return _0x14ca39+_0x487104;},'HghoO':function(_0x1cc912,_0x16f079){return _0x1cc912===_0x16f079;}},{cwd:_0x24f3c3,cliArtifactDir:_0x250d11,startTime:_0x202fd8}=_0x406108,_0x13d677=[];await mkdir(_0x250d11,{'recursive':!![]});const _0x407b54=await _0x36a291[_0x4eec32(0x259)](readdir,_0x24f3c3,{'withFileTypes':!![]});for(const _0x4ceae5 of _0x407b54){if(!_0x4ceae5['isFile']()||!VERIFY_FEATURE_CLI_ARTIFACT_FILE_PATTERN['test'](_0x4ceae5[_0x4eec32(0x258)]))continue;const _0x2077ba=_0x36a291['xsMKz'](join,_0x24f3c3,_0x4ceae5['name']),_0x4821cc=await _0x36a291[_0x4eec32(0x1f6)](stat,_0x2077ba);if(_0x36a291[_0x4eec32(0x1ed)](_0x36a291[_0x4eec32(0x225)](_0x4821cc[_0x4eec32(0x23a)],0x7d0),_0x202fd8))continue;const _0x8521a1=buildCliArtifactPath(_0x250d11,_0x4ceae5['name']);if(_0x36a291[_0x4eec32(0x204)](_0x2077ba,_0x8521a1))continue;await rename(_0x2077ba,_0x8521a1),_0x13d677['push'](_0x4ceae5['name']);}return _0x13d677['sort']();}
|
|
1
|
+
(function(_0xfe8b26,_0x326dae){const _0x3d94cb=_0x4be8,_0x18a097=_0xfe8b26();while(!![]){try{const _0x3ddec6=-parseInt(_0x3d94cb(0x218))/0x1+-parseInt(_0x3d94cb(0x1da))/0x2+-parseInt(_0x3d94cb(0x1ca))/0x3+parseInt(_0x3d94cb(0x222))/0x4*(parseInt(_0x3d94cb(0x21e))/0x5)+parseInt(_0x3d94cb(0x1f8))/0x6+-parseInt(_0x3d94cb(0x1dd))/0x7+parseInt(_0x3d94cb(0x1e6))/0x8*(parseInt(_0x3d94cb(0x20b))/0x9);if(_0x3ddec6===_0x326dae)break;else _0x18a097['push'](_0x18a097['shift']());}catch(_0x1b0433){_0x18a097['push'](_0x18a097['shift']());}}}(_0x5e73,0xc3660));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(_0xf73f79,_0x392e1f=PLAYWRIGHT_CLI_PREVIEW_LIMIT){const _0xfcaf71=_0x4be8,_0x50c779={'iObrf':function(_0x4bdb15,_0x10158a){return _0x4bdb15>_0x10158a;},'oxajQ':_0xfcaf71(0x22d)};return _0x50c779['iObrf'](_0xf73f79[_0xfcaf71(0x233)],_0x392e1f)?_0xf73f79[_0xfcaf71(0x22f)](0x0,_0x392e1f)+_0x50c779[_0xfcaf71(0x230)]:_0xf73f79;}function buildCliArtifactPath(_0x56a62e,_0x3be639){return join(_0x56a62e,_0x3be639);}function toStepDisplayName(_0x192da6){const _0x542cf5=_0x4be8,_0x568596={'zrdas':function(_0x1933ca,_0x3518f1){return _0x1933ca(_0x3518f1);}},_0x53a056=_0x568596[_0x542cf5(0x1f5)](basename,_0x192da6)[_0x542cf5(0x1b7)](/\.(?:png|ya?ml)$/i,'')['replace'](/^key_/i,'')['replace'](/^\d+_/,'')['replace'](/-/g,'\x20');return{'name':_0x53a056,'isKeyStep':/^key_/i[_0x542cf5(0x205)](basename(_0x192da6))};}function extractShellValue(_0x405b0a){if(!_0x405b0a)return null;return _0x405b0a[0x1]??_0x405b0a[0x2]??_0x405b0a[0x3]??null;}function extractFilenameOption(_0x41d450){return extractShellValue(_0x41d450['match'](/--filename(?:=|\s+)(?:"([^"]+)"|'([^']+)'|(\S+))/));}function extractFirstCommandArgument(_0x4f85cc,_0x5db37a){const _0x21d89b=_0x4be8,_0x22b2e8={'SOjUO':'\x5c$&','XphLb':function(_0xb4605b,_0x38dc27){return _0xb4605b(_0x38dc27);}},_0x4e226b=_0x5db37a[_0x21d89b(0x1b7)](/[.*+?^${}()|[\]\\]/g,_0x22b2e8['SOjUO']);return _0x22b2e8[_0x21d89b(0x228)](extractShellValue,_0x4f85cc['match'](new RegExp('(?:^|\x5cs)'+_0x4e226b+_0x21d89b(0x1b5))));}function _0x5e73(){const _0x119951=['tool_call','trackPhaseError','02_state.yml','PostToolUseFailure','tab-new','>\x20\x22','GAumG','fhkKN','tracing-stop','HXLNu','key_03_success-state.png','open\x20browser','1552248NQTODl','check\x20','FtIoT','Lbxlj','string','TQfYm','5PqkBuO','**\x20(','capture\x20snapshot','playwright-cli','4919748VruRSg','--filename=','stdout','GKIKD','\x0a\x0a1.\x20Run\x20`','MQkjz','XphLb','en-US','\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','description','isFile','...','`\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','slice','oxajQ','FcWLo','split','length','tool_name','FPEUa','`,\x20then\x20`','01_initial-state.png','(?:\x5cs+(?:\x22([^\x22]+)\x22|\x27([^\x27]+)\x27|(\x5cS+)))','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','replace','selector','capture\x20key\x20step\x20`','LoRiO','`:\x20\x22','`\x0a5.\x20Read\x20the\x20snapshot\x20file\x20to\x20find\x20the\x20\x22Learn\x20More\x22\x20link\x20reference\x0a6.\x20Run\x20`','`\x20using\x20absolute\x20paths\x20only.\x20Do\x20not\x20use\x20relative\x20filenames.\x0a4.\x20Take\x20a\x20snapshot\x20with\x20`','invocation','\x0a\x0a##\x20Authentication\x0aBEFORE\x20starting\x20the\x20verification\x20task,\x20you\x20MUST\x20authenticate\x20using\x20these\x20steps:\x0a','content','oMLfN','iLszi','02_button-clicked.png','HvDfl','\x20(on\x20element:\x20<','\x20snapshot\x20--filename\x20','\x20screenshot\x20--filename\x20','nuyle','textContent','1013907NOGooW','open\x20new\x20tab\x20','trackPhaseStart','mtimeMs','subcommand','trim','domRef','LAmlx','MXwZr','##\x20Instructions\x0a1.\x20Use\x20Bash\x20plus\x20Playwright\x20CLI\x20only.\x20Do\x20NOT\x20call\x20MCP\x20browser\x20tools.\x0a2.\x20Start\x20by\x20running\x20`','\x20open\x20https://www.mozilla.org`\x0a2.\x20Run\x20`','stringify','\x20open`,\x20then\x20`','stop\x20tracing','keys','`\x0a-\x20`snapshot\x20--filename\x20','2210938FVlaOR','hVZnq','phase','78351yWkcef','authorName','\x20open\x20','WcAeo','name','ZiFTW','KwPWU','notes','unaddressedComments','151704vLKqHZ','`\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`','log','map','click','error','HqKgH','03_learn-more.png','\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.','createdAt','yyDeV','\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','pyIaS','session-recording.webm','hook_event_name','zrdas','egyrf','):\x20\x22','7271748Etkptn','INiVk','snapshot','dUaAo','\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.','values','tracing-start','\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','01_initial.yml','YiiEy','video-stop','video-start','\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','FbWso','03_result-visible.png','check','toLocaleDateString','run-code','648bCrvdO'];_0x5e73=function(){return _0x119951;};return _0x5e73();}function formatCommandTarget(_0x18fffb){const _0x4fa6b2=_0x4be8,_0x450a72={'NaPzd':'target','egyrf':function(_0xf599a3,_0x5f37e3,_0x28bb83){return _0xf599a3(_0x5f37e3,_0x28bb83);}};if(!_0x18fffb)return _0x450a72['NaPzd'];if(/^e\d+$/i[_0x4fa6b2(0x205)](_0x18fffb))return'ref\x20'+_0x18fffb;return JSON[_0x4fa6b2(0x1d5)](_0x450a72[_0x4fa6b2(0x1f6)](truncatePreview,_0x18fffb,0x78));}function formatPlaywrightCliLog(_0x4f1d12,_0x2ed9d5){const _0x53fc17=_0x4be8,_0x25d49a={'oqwnF':'open','GhhRZ':_0x53fc17(0x217),'KwPWU':_0x53fc17(0x1fe),'qEVZN':'tracing-stop','FtIoT':_0x53fc17(0x203),'DCmNW':'start\x20video\x20recording','INiVk':function(_0x127b00,_0x1a0e37){return _0x127b00(_0x1a0e37);},'MQkjz':'screenshot','puxxG':'capture\x20screenshot','wuIbD':function(_0x4985c1,_0xa3e084){return _0x4985c1(_0xa3e084);},'zmjhB':_0x53fc17(0x1ea),'LoRiO':function(_0x1c0606,_0x74ebde,_0x5da923){return _0x1c0606(_0x74ebde,_0x5da923);},'GuAmg':function(_0x19c225,_0x171882){return _0x19c225(_0x171882);},'SIbFO':function(_0x51eebe,_0x36a0b9,_0x1621f2){return _0x51eebe(_0x36a0b9,_0x1621f2);},'LAmlx':'press','HqKgH':_0x53fc17(0x20a)};switch(_0x2ed9d5){case _0x25d49a['oqwnF']:{const _0x52420e=extractFirstCommandArgument(_0x4f1d12,_0x2ed9d5);return _0x52420e?'open\x20'+_0x52420e:_0x25d49a['GhhRZ'];}case _0x25d49a[_0x53fc17(0x1e3)]:return'start\x20tracing';case _0x25d49a['qEVZN']:return _0x53fc17(0x1d7);case _0x25d49a[_0x53fc17(0x21a)]:return _0x25d49a['DCmNW'];case'video-stop':return'stop\x20video\x20recording';case _0x53fc17(0x1fa):{const _0x2dd03c=_0x25d49a[_0x53fc17(0x1f9)](extractFilenameOption,_0x4f1d12);if(!_0x2dd03c)return _0x53fc17(0x220);const {name:_0x2289be}=toStepDisplayName(_0x2dd03c);return'capture\x20snapshot\x20`'+_0x2289be+'`';}case _0x25d49a[_0x53fc17(0x227)]:{const _0x1ceb5d=extractFilenameOption(_0x4f1d12);if(!_0x1ceb5d)return _0x25d49a['puxxG'];const {name:_0x40b24c,isKeyStep:_0x36792f}=_0x25d49a['wuIbD'](toStepDisplayName,_0x1ceb5d);return _0x36792f?_0x53fc17(0x1b9)+_0x40b24c+'`':'capture\x20step\x20`'+_0x40b24c+'`';}case _0x25d49a['zmjhB']:return'click\x20'+formatCommandTarget(_0x25d49a['LoRiO'](extractFirstCommandArgument,_0x4f1d12,_0x2ed9d5));case _0x53fc17(0x208):return _0x53fc17(0x219)+_0x25d49a['GuAmg'](formatCommandTarget,_0x25d49a['SIbFO'](extractFirstCommandArgument,_0x4f1d12,_0x2ed9d5));case'fill':return'fill\x20'+formatCommandTarget(extractFirstCommandArgument(_0x4f1d12,_0x2ed9d5));case _0x25d49a[_0x53fc17(0x1d1)]:return'press\x20'+formatCommandTarget(extractFirstCommandArgument(_0x4f1d12,_0x2ed9d5));case _0x25d49a[_0x53fc17(0x1ec)]:return'run\x20custom\x20Playwright\x20code';case _0x53fc17(0x210):{const _0xeef87d=extractFirstCommandArgument(_0x4f1d12,_0x2ed9d5);return _0xeef87d?_0x53fc17(0x1cb)+_0xeef87d:'open\x20new\x20tab';}case'tab-select':{const _0x158b14=_0x25d49a[_0x53fc17(0x1ba)](extractFirstCommandArgument,_0x4f1d12,_0x2ed9d5);return _0x158b14?'select\x20tab\x20'+_0x158b14:'select\x20tab';}default:return _0x2ed9d5;}}function extractPlaywrightCliToolDescription(_0x5e63b0){const _0x2c18bb=_0x4be8,_0x556417={'iLszi':function(_0x534024,_0x1f3247){return _0x534024!==_0x1f3247;},'GAumG':function(_0x4d2858,_0x45ccc4){return _0x4d2858>_0x45ccc4;}},_0x4ced6e=_0x5e63b0['description'];if(_0x556417[_0x2c18bb(0x1c2)](typeof _0x4ced6e,_0x2c18bb(0x21c)))return null;const _0x4c059a=_0x4ced6e[_0x2c18bb(0x1cf)]()[_0x2c18bb(0x1b7)](/\s+/g,'\x20');return _0x556417[_0x2c18bb(0x212)](_0x4c059a[_0x2c18bb(0x233)],0x0)?_0x4c059a:null;}function _0x4be8(_0xc5cb76,_0xffad6a){_0xc5cb76=_0xc5cb76-0x1b4;const _0x5e73c7=_0x5e73();let _0x4be8ab=_0x5e73c7[_0xc5cb76];return _0x4be8ab;}export function formatPlaywrightCliConsoleLogMessage(_0x1ec329,_0x104062,_0x4faa38){const _0x41aa7f=_0x4be8,_0x4f0776={'dUaAo':function(_0x102a6f,_0x5646ee,_0x3ce3f0){return _0x102a6f(_0x5646ee,_0x3ce3f0);},'jXTFP':function(_0x14e394,_0x4180b0){return _0x14e394(_0x4180b0);}},_0x45f1f2=_0x4f0776[_0x41aa7f(0x1fb)](formatPlaywrightCliLog,_0x104062,_0x4faa38),_0x503c8d=_0x4f0776['jXTFP'](extractPlaywrightCliToolDescription,_0x1ec329);if(!_0x503c8d)return'[playwright-cli]\x20'+_0x45f1f2;if(process['env']['DEBUG'])return'[ranger-verification-agent]\x20'+_0x503c8d+'\x20('+_0x45f1f2+')';return'[ranger-verification-agent]\x20'+_0x503c8d;}export function buildVerifyFeatureCliDebugPrompt(_0x183120,_0xe14b5d){const _0x549fe0=_0x4be8,_0x226cc7={'yYjyD':'00_mozilla-homepage.yml','Lbxlj':'01_mozilla-homepage.png','tsySX':function(_0x351f3f,_0x1b195a,_0x4fc25f){return _0x351f3f(_0x1b195a,_0x4fc25f);},'pyIaS':function(_0x50cc95,_0x58718f,_0x21ce09){return _0x50cc95(_0x58718f,_0x21ce09);},'RgVdK':function(_0x26ac69,_0xfdc0d0){return _0x26ac69(_0xfdc0d0);}},_0x3e7f82=buildCliArtifactPath(_0xe14b5d,_0x226cc7['yYjyD']),_0x28fc1e=buildCliArtifactPath(_0xe14b5d,_0x226cc7[_0x549fe0(0x21b)]),_0x267905=_0x226cc7['tsySX'](buildCliArtifactPath,_0xe14b5d,'02_learn-more.yml'),_0x338a3a=_0x226cc7[_0x549fe0(0x1f2)](buildCliArtifactPath,_0xe14b5d,_0x549fe0(0x1ed)),_0x14e6be=quoteShellArg(_0x3e7f82),_0x336447=_0x226cc7['RgVdK'](quoteShellArg,_0x28fc1e),_0x469511=quoteShellArg(_0x267905),_0x3151fd=quoteShellArg(_0x338a3a);return'You\x20are\x20testing\x20browser\x20automation.\x20Your\x20task\x20is\x20simple:\x0a\x0aUse\x20Bash\x20and\x20Playwright\x20CLI\x20only.\x20The\x20browser\x20command\x20prefix\x20is:\x0a'+_0x183120+_0x549fe0(0x226)+_0x183120+_0x549fe0(0x1d4)+_0x183120+'\x20tracing-start`\x0a3.\x20Run\x20`'+_0x183120+'\x20video-start`\x0a4.\x20Save\x20every\x20snapshot\x20and\x20screenshot\x20under\x20`'+_0xe14b5d+'`\x20using\x20absolute\x20paths\x20only.\x20Do\x20not\x20use\x20relative\x20filenames.\x0a5.\x20Run\x20`'+_0x183120+_0x549fe0(0x1c6)+_0x14e6be+_0x549fe0(0x1bc)+_0x183120+'\x20screenshot\x20--filename\x20'+_0x336447+'`\x0a7.\x20Click\x20the\x20\x22Learn\x20More\x22\x20link\x20with\x20Playwright\x20CLI\x0a8.\x20Run\x20`'+_0x183120+'\x20snapshot\x20--filename\x20'+_0x469511+'`\x0a9.\x20Run\x20`'+_0x183120+'\x20screenshot\x20--filename\x20'+_0x3151fd+'`\x0a10.\x20Return\x20immediately\x20with\x20the\x20structured\x20output\x0a\x0aReturn\x20your\x20findings\x20in\x20the\x20structured\x20output\x20format.';}export function buildVerifyFeatureCliPrompt(_0x2c2dd6){const _0x57d27d=_0x4be8,_0x36359f={'ojJMC':'short','FbWso':'numeric','HXLNu':_0x57d27d(0x200),'trtlE':_0x57d27d(0x20e),'MXwZr':_0x57d27d(0x216),'hbNLo':function(_0x5e8746,_0x20430f){return _0x5e8746(_0x20430f);},'GmTZq':function(_0x51ae5b,_0x52d1d3){return _0x51ae5b(_0x52d1d3);},'FcWLo':function(_0x73d96,_0x4d7b25){return _0x73d96(_0x4d7b25);},'bVSOs':function(_0x1a378c,_0x317c24,_0x13a174){return _0x1a378c(_0x317c24,_0x13a174);},'ZiFTW':_0x57d27d(0x207),'fhkKN':function(_0x52dc99,_0x3b9251,_0x5e8208){return _0x52dc99(_0x3b9251,_0x5e8208);}},{checklistItem:_0x2e968c,itemFeedback:_0x326526,taskDescription:_0x4cb069,cliCommandPrefix:_0x3b9ef7,cliArtifactDir:_0x2430eb,isCdpMode:_0x2ea97b,url:_0xb4adb4,cdpEndpoint:_0x5ed1f5,loginInstructions:_0x3d71fe}=_0x2c2dd6,_0x2756c5=buildCliArtifactPath(_0x2430eb,_0x36359f[_0x57d27d(0x215)]),_0x170a50=buildCliArtifactPath(_0x2430eb,_0x36359f['trtlE']),_0x496986=buildCliArtifactPath(_0x2430eb,_0x36359f[_0x57d27d(0x1d2)]),_0x379e44=buildCliArtifactPath(_0x2430eb,_0x57d27d(0x1b4)),_0x2d76db=quoteShellArg(_0x2756c5),_0x2624dc=_0x36359f['hbNLo'](quoteShellArg,_0x170a50),_0x23c4ea=quoteShellArg(_0x496986),_0x14bd0a=_0x36359f['GmTZq'](quoteShellArg,_0x379e44),_0x381652=_0x2e968c[_0x57d27d(0x1e4)]?'\x0a\x0a##\x20Additional\x20Notes\x0a'+_0x2e968c['notes']:'';let _0x2fb9b6='';if(_0x326526&&_0x326526['unaddressedComments']['length']>0x0){const _0x439196=_0x326526[_0x57d27d(0x1e5)][_0x57d27d(0x1e9)](_0xcaae86=>{const _0x3f2453=_0x57d27d,_0x3d7de7=new Date(_0xcaae86[_0x3f2453(0x1ef)])[_0x3f2453(0x209)](_0x3f2453(0x229),{'month':_0x36359f['ojJMC'],'day':_0x36359f[_0x3f2453(0x206)]}),_0x4fed54=_0xcaae86[_0x3f2453(0x1de)]||_0xcaae86['authorEmail']||'Reviewer',_0x574d0e=_0xcaae86['domRef']?_0x3f2453(0x1c5)+(_0xcaae86['domRef'][_0x3f2453(0x1b8)][_0x3f2453(0x232)]('\x20>\x20')['pop']()?.['split'](':')[0x0]||'element')+_0x3f2453(0x211)+(_0xcaae86[_0x3f2453(0x1d0)][_0x3f2453(0x1c9)]||'')[_0x3f2453(0x22f)](0x0,0x32)+'\x22)':'';return'-\x20['+_0xcaae86['id']+']\x20**'+_0x4fed54+_0x3f2453(0x21f)+_0x3d7de7+_0x3f2453(0x1f7)+_0xcaae86[_0x3f2453(0x1c0)]+'\x22'+_0x574d0e;})['join']('\x0a');_0x2fb9b6=_0x57d27d(0x1ff)+_0x439196;}const _0x2a3ab1=_0x326526?.['canonicalFlow']?'\x0a\x0a##\x20Expected\x20Flow\x20(from\x20previous\x20verification)\x0a'+_0x326526['canonicalFlow']:'',_0x470dfa=_0x2ea97b?'##\x20App\x20Context\x0aYou\x20are\x20connected\x20to\x20a\x20desktop\x20application\x20via\x20CDP\x20(Chrome\x20DevTools\x20Protocol)\x20at\x20'+_0x5ed1f5+'.\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'+_0xb4adb4+'\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',_0x193e4f=_0xb4adb4?_0x36359f[_0x57d27d(0x231)](quoteShellArg,_0xb4adb4):'',_0x3cfdd1=_0x2ea97b?'##\x20Instructions\x0a1.\x20Use\x20Bash\x20plus\x20Playwright\x20CLI\x20only.\x20Do\x20NOT\x20call\x20MCP\x20browser\x20tools.\x0a2.\x20Start\x20by\x20running\x20`'+_0x3b9ef7+_0x57d27d(0x1d6)+_0x3b9ef7+'\x20tracing-start`,\x20then\x20`'+_0x3b9ef7+'\x20video-start`.\x0a3.\x20Save\x20every\x20snapshot\x20and\x20screenshot\x20under\x20`'+_0x2430eb+'`\x20using\x20absolute\x20paths\x20only.\x20Do\x20not\x20use\x20relative\x20filenames.\x0a4.\x20Take\x20a\x20snapshot\x20with\x20`'+_0x3b9ef7+'\x20snapshot\x20--filename\x20'+_0x2d76db+'`\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`'+_0x3b9ef7+_0x57d27d(0x1c7)+_0x14bd0a+'`\x20style\x20absolute\x20paths\x20at\x20key\x20moments.\x0a6.\x20If\x20you\x20need\x20waits\x20or\x20custom\x20assertions,\x20use\x20`'+_0x3b9ef7+_0x57d27d(0x1f1):_0x57d27d(0x1d3)+_0x3b9ef7+_0x57d27d(0x1df)+_0x193e4f+_0x57d27d(0x236)+_0x3b9ef7+'\x20tracing-start`,\x20then\x20`'+_0x3b9ef7+'\x20video-start`.\x0a3.\x20Save\x20every\x20snapshot\x20and\x20screenshot\x20under\x20`'+_0x2430eb+_0x57d27d(0x1bd)+_0x3b9ef7+'\x20snapshot\x20--filename\x20'+_0x2d76db+'`\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`'+_0x3b9ef7+_0x57d27d(0x1c7)+_0x14bd0a+'`\x20style\x20absolute\x20paths\x20at\x20key\x20moments.\x0a8.\x20If\x20you\x20need\x20waits\x20or\x20custom\x20assertions,\x20use\x20`'+_0x3b9ef7+'\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',_0x58565e=_0x2ea97b?_0x57d27d(0x1ee):'\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-\x20Login/sign-in/auth\x20pages\x20when\x20no\x20Authentication\x20section\x20is\x20present\x20in\x20this\x20prompt\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.',_0xb80aea=_0x3d71fe?_0x57d27d(0x1bf)+_0x3d71fe+_0x57d27d(0x204):'';return _0x57d27d(0x1b6)+_0x2e968c[_0x57d27d(0x22b)]+_0x381652+_0x2fb9b6+_0x2a3ab1+'\x0a\x0a##\x20Task\x20to\x20Execute\x0a'+_0x4cb069+'\x0a\x0a'+_0x470dfa+_0xb80aea+'\x0a\x0a'+_0x3cfdd1+'\x0a\x0a##\x20Browser\x20Command\x20Reference\x0aUse\x20Bash\x20to\x20run\x20Playwright\x20CLI\x20commands\x20with\x20this\x20exact\x20prefix:\x0a`'+_0x3b9ef7+'`\x0a\x0a-\x20Write\x20all\x20artifacts\x20under\x20`'+_0x2430eb+_0x57d27d(0x1d9)+_0x2624dc+_0x57d27d(0x22e)+_0x23c4ea+_0x57d27d(0x1e7)+_0x2430eb+_0x57d27d(0x1bb)+_0x379e44+'\x22,\x20\x22'+_0x36359f['bVSOs'](buildCliArtifactPath,_0x2430eb,_0x57d27d(0x1c3))+'\x22,\x20\x22'+buildCliArtifactPath(_0x2430eb,_0x36359f[_0x57d27d(0x1e2)])+'\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'+_0x36359f[_0x57d27d(0x213)](buildCliArtifactPath,_0x2430eb,'key_04_success-state.png')+_0x57d27d(0x22a)+_0x58565e+_0x57d27d(0x1fc);}export function summarizeVerifyFeatureCliCommandAvailability(_0xf8054d){const _0x4f193e=_0x4be8,_0x50bd54=[..._0xf8054d[_0x4f193e(0x1d8)]()]['sort']();let _0x4004aa=0x0;for(const _0x3e8898 of _0xf8054d[_0x4f193e(0x1fd)]()){_0x4004aa+=_0x3e8898;}return{'cliCommandCount':_0x4004aa,'cliCommandsSeen':_0x50bd54,'noCliCommandsCalled':_0x4004aa===0x0};}export function createVerifyFeatureCliHooks(_0x837166){const _0x94b13e=_0x4be8,_0x13440d={'nuyle':function(_0x33f04f,_0x2af9ac){return _0x33f04f!==_0x2af9ac;},'NddoW':'PostToolUse','TQfYm':'Bash','FPEUa':function(_0x2afe5b,_0x408cfc){return _0x2afe5b(_0x408cfc);},'WcAeo':_0x94b13e(0x221),'HDAUQ':'tool_call','HvDfl':function(_0x2940d7,_0x393e84){return _0x2940d7(_0x393e84);},'YiiEy':'snapshot'},_0xf9289a=new Map(),_0x591da2=async _0x5e567a=>{const _0x493630=_0x94b13e;if(_0x13440d['nuyle'](_0x5e567a[_0x493630(0x1f4)],_0x13440d['NddoW']))return{};const _0x3b28bc=_0x5e567a;if(_0x13440d[_0x493630(0x1c8)](_0x3b28bc[_0x493630(0x234)],_0x13440d['TQfYm']))return{};const _0xd62ef9=_0x3b28bc['tool_input'],_0x3637b4=extractBashCommand(_0xd62ef9);if(!_0x3637b4)return{};const _0x1bbda8=_0x13440d[_0x493630(0x235)](parsePlaywrightCliCommand,_0x3637b4);if(!_0x1bbda8)return{};return _0xf9289a['set'](_0x1bbda8,(_0xf9289a['get'](_0x1bbda8)||0x0)+0x1),_0x837166['trackPhaseStart'](_0x493630(0x20c),{'transport':_0x13440d[_0x493630(0x1e0)],'toolName':_0x1bbda8}),_0x837166['trackPhaseEnd'](_0x13440d['HDAUQ'],{'transport':_0x13440d[_0x493630(0x1e0)],'toolName':_0x1bbda8,'bashCommandPreview':_0x13440d[_0x493630(0x1c4)](truncatePreview,_0x3637b4)}),_0x1bbda8!==_0x13440d[_0x493630(0x201)]&&console[_0x493630(0x1e8)](formatPlaywrightCliConsoleLogMessage(_0xd62ef9,_0x3637b4,_0x1bbda8)),{};},_0x4a6018=async _0x52c312=>{const _0x373f35=_0x94b13e;if(_0x13440d['nuyle'](_0x52c312['hook_event_name'],_0x373f35(0x20f)))return{};const _0x47399f=_0x52c312;if(_0x13440d[_0x373f35(0x1c8)](_0x47399f['tool_name'],_0x13440d['TQfYm']))return{};return await _0x837166[_0x373f35(0x20d)]('tool_failure',_0x47399f[_0x373f35(0x1eb)],{'transport':_0x13440d[_0x373f35(0x1e0)],'toolName':_0x13440d[_0x373f35(0x21d)]}),{};};return{'postToolUseHook':_0x591da2,'postToolUseFailureHook':_0x4a6018,'commandCounts':_0xf9289a};}async function runPlaywrightCliLifecycleCommand(_0x52a1f5){const _0x1957ff=_0x4be8,_0x33d35a={'mMGTJ':function(_0x766c0e,_0x540a6c,_0x3fc8ce){return _0x766c0e(_0x540a6c,_0x3fc8ce);}},{sessionId:_0x116791,configPath:_0x382222,commandArgs:_0x386e91,env:_0x4816d2,telemetry:_0x1f0cb7,phase:_0x34ead2,metadata:_0x59521a,timeoutMs:_0x49ebf7}=_0x52a1f5;_0x1f0cb7[_0x1957ff(0x1cc)](_0x34ead2,_0x59521a);try{const _0x39dc1a=await runPlaywrightCliCommand({'sessionId':_0x116791,'configPath':_0x382222,'commandArgs':_0x386e91,'cwd':process['cwd'](),'env':_0x4816d2,'timeoutMs':_0x49ebf7??PLAYWRIGHT_CLI_COMMAND_TIMEOUT_MS});_0x1f0cb7['trackPhaseEnd'](_0x34ead2,{..._0x59521a,'subcommand':_0x39dc1a[_0x1957ff(0x1be)][_0x1957ff(0x1ce)],'stdoutPreview':truncatePreview(_0x39dc1a[_0x1957ff(0x224)],0x7d0),'stderrPreview':_0x33d35a['mMGTJ'](truncatePreview,_0x39dc1a['stderr'],0x7d0)});}catch(_0x2e6997){await _0x1f0cb7[_0x1957ff(0x20d)](_0x34ead2,_0x2e6997,_0x59521a);throw _0x2e6997;}}export async function finalizeVerifyFeatureCliSession(_0x4fbb54){const _0x2b426a=_0x4be8,_0x2105ee={'yyDeV':_0x2b426a(0x214),'dYhmc':_0x2b426a(0x202),'hYQJE':'playwright_cli_close','aYsPX':function(_0x5e7123,_0x14b283){return _0x5e7123(_0x14b283);}},{telemetry:_0x497345,sessionId:_0x5aa3be,configPath:_0x2e36af,cliArtifactDir:_0x220919,env:_0x2fd972,transportMetadata:_0x27a9d4}=_0x4fbb54,_0x39c417=[{'phase':'playwright_cli_tracing_stop','commandArgs':[_0x2105ee[_0x2b426a(0x1f0)]]},{'phase':'playwright_cli_video_stop','commandArgs':[_0x2105ee['dYhmc'],_0x2b426a(0x223)+buildCliArtifactPath(_0x220919,_0x2b426a(0x1f3))]},{'phase':_0x2105ee['hYQJE'],'commandArgs':['close']}];for(const _0x4261af of _0x39c417){try{await _0x2105ee['aYsPX'](runPlaywrightCliLifecycleCommand,{'sessionId':_0x5aa3be,'configPath':_0x2e36af,'commandArgs':[..._0x4261af['commandArgs']],'env':_0x2fd972,'telemetry':_0x497345,'phase':_0x4261af[_0x2b426a(0x1dc)],'metadata':_0x27a9d4});}catch{}}}export async function loadVerifyFeatureCliTraceUploadArtifact(_0x5b7866){const _0x3d840b=_0x4be8,_0x492ebf={'oMLfN':'trace.zip','hVZnq':'trace.trace.zip','jKFqd':function(_0x2ee45d,_0x1b9c6a,_0xe9f486){return _0x2ee45d(_0x1b9c6a,_0xe9f486);}},_0x4b5c3c=[_0x492ebf[_0x3d840b(0x1c1)],_0x492ebf[_0x3d840b(0x1db)]];for(const _0x4ed6ff of _0x4b5c3c){const _0x39b14c=_0x492ebf['jKFqd'](join,_0x5b7866,_0x4ed6ff);try{return{'buffer':await readFile(_0x39b14c),'source':_0x39b14c};}catch{}}return null;}export async function rehomeVerifyFeatureCliArtifacts(_0x15a172){const _0x39ae0d=_0x4be8,_0x14562c={'GKIKD':function(_0x14a489,_0x1dc179,_0x27c321){return _0x14a489(_0x1dc179,_0x27c321);},'OorCi':function(_0x53ef08,_0x6439c9){return _0x53ef08(_0x6439c9);},'sptEW':function(_0x5017d1,_0x385de6){return _0x5017d1+_0x385de6;},'nmudu':function(_0x336d5d,_0x8909c6,_0x451351){return _0x336d5d(_0x8909c6,_0x451351);}},{cwd:_0xbfb984,cliArtifactDir:_0x231feb,startTime:_0x8bc461}=_0x15a172,_0x26f02c=[];await _0x14562c[_0x39ae0d(0x225)](mkdir,_0x231feb,{'recursive':!![]});const _0x460800=await readdir(_0xbfb984,{'withFileTypes':!![]});for(const _0xbac71e of _0x460800){if(!_0xbac71e[_0x39ae0d(0x22c)]()||!VERIFY_FEATURE_CLI_ARTIFACT_FILE_PATTERN['test'](_0xbac71e[_0x39ae0d(0x1e1)]))continue;const _0x27ea18=join(_0xbfb984,_0xbac71e['name']),_0x211bbb=await _0x14562c['OorCi'](stat,_0x27ea18);if(_0x14562c['sptEW'](_0x211bbb[_0x39ae0d(0x1cd)],0x7d0)<_0x8bc461)continue;const _0x432437=buildCliArtifactPath(_0x231feb,_0xbac71e[_0x39ae0d(0x1e1)]);if(_0x27ea18===_0x432437)continue;await _0x14562c['nmudu'](rename,_0x27ea18,_0x432437),_0x26f02c['push'](_0xbac71e['name']);}return _0x26f02c['sort']();}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const _0x55adbb=_0x1e19;(function(_0x67d60c,_0x47192d){const _0x1129d5=_0x1e19,_0x5d790f=_0x67d60c();while(!![]){try{const _0x1f244b=parseInt(_0x1129d5(0xfb))/0x1*(parseInt(_0x1129d5(0x17a))/0x2)+parseInt(_0x1129d5(0xf9))/0x3*(parseInt(_0x1129d5(0x12e))/0x4)+parseInt(_0x1129d5(0x116))/0x5*(-parseInt(_0x1129d5(0x16e))/0x6)+-parseInt(_0x1129d5(0xf7))/0x7+parseInt(_0x1129d5(0x169))/0x8+parseInt(_0x1129d5(0x10a))/0x9+-parseInt(_0x1129d5(0x148))/0xa;if(_0x1f244b===_0x47192d)break;else _0x5d790f['push'](_0x5d790f['shift']());}catch(_0xff0a80){_0x5d790f['push'](_0x5d790f['shift']());}}}(_0x4305,0xa1242));import{execFile}from'child_process';import{mkdir,readdir,readFile,rename,rm,stat,writeFile}from'fs/promises';import{homedir}from'os';import{basename,join}from'path';function _0x4305(){const _0x3d3344=['bHARC','\x0a\x0aExamples:\x0a-\x20`','oVEAc','oPJLT','5349220aswgbD','ask','sort','jpeg','mnbes','01_initial-state.png','session\x20export','commandArgs','short','phase','finally','hsXJZ','novaOptions','pages','`\x0a\x0a##\x20Screenshot\x20Guidelines\x0aTake\x20screenshots\x20at\x20scenario\x20milestones\x20so\x20a\x20human\x20can\x20review\x20each\x20completed\x20step\x20and\x20the\x20final\x20state.\x20Use\x20numbered\x20filenames\x20and\x20prefix\x201-2\x20key\x20proof\x20screenshots\x20with\x20`key_`.\x20Avoid\x20duplicate\x20screenshots\x20of\x20the\x20same\x20unchanged\x20page\x20when\x20an\x20existing\x20verifier\x20screenshot\x20or\x20host\x20final\x20screenshot\x20is\x20accessible.\x0a\x0a##\x20Snapshot\x20Guidelines\x0aYou\x20must\x20take\x20the\x20initial\x20snapshot\x20listed\x20above.\x20After\x20that,\x20prefer\x20screenshots\x20plus\x20the\x20page\x20summaries\x20returned\x20by\x20`execute`\x20and\x20`verify`.\x20Only\x20call\x20`snapshot`\x20again\x20if\x20you\x20cannot\x20determine\x20the\x20next\x20action\x20or\x20evaluation\x20from\x20those\x20outputs.\x0a\x0a##\x20Early\x20Error\x20Detection\x0aAfter\x20the\x20initial\x20snapshot\x20and\x20screenshot,\x20check\x20for\x20blocking\x20HTTP\x20errors,\x20framework\x20error\x20pages,\x20blank\x20pages,\x20and\x20authentication\x20failures.\x20If\x20any\x20blocking\x20issue\x20is\x20present,\x20stop\x20and\x20return\x20evaluation\x20\x22blocked\x22\x20with\x20a\x20specific\x20reason.\x0a\x0a##\x20Failed\x20Assertions\x0aIf\x20`verify`\x20returns\x20`ASSERTION_FAILED`,\x20use\x20its\x20`actual`\x20and\x20`evidence`\x20fields\x20as\x20proof\x20for\x20the\x20final\x20evaluation.\x20Continue\x20only\x20to\x20finish\x20other\x20already-named\x20scenario\x20milestones.\x20Do\x20not\x20retry,\x20ask\x20about,\x20or\x20search\x20around\x20the\x20failed\x20condition.\x0a\x0a##\x20Final\x20Page\x20Stop\x0aWhen\x20the\x20scenario\x20names\x20a\x20final\x20page\x20or\x20final\x20navigation\x20target,\x20that\x20page\x20is\x20the\x20last\x20browser\x20milestone.\x20Once\x20it\x20is\x20loaded\x20and\x20screenshotted,\x20make\x20the\x20final\x20evaluation\x20from\x20the\x20collected\x20evidence.\x20Do\x20not\x20navigate,\x20search,\x20ask,\x20or\x20verify\x20beyond\x20that\x20final\x20page\x20unless\x20the\x20scenario\x20explicitly\x20names\x20another\x20page.\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\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.','nova_act_session_close','Caches','authorEmail','\x20>\x20','tracing','nSmPk','parse','from','\x0a\x0a##\x20Authentication\x0aBEFORE\x20starting\x20the\x20verification\x20task,\x20authenticate\x20using\x20these\x20steps:\x0a','95144yshoup','-version','libvpx-vp9','btYLn','kkJPh','create\x20Nova\x20browser\x20session','subcommand','capture\x20step\x20`','authorName','AaQGK','map','lqqNZ','doJpq','\x0a\x0a##\x20Task\x20to\x20Execute\x0a','export','\x0a\x0aIf\x20authentication\x20fails,\x20return\x20evaluation\x20\x22blocked\x22\x20and\x20describe\x20the\x20auth\x20failure.','cdoNR','`<none;\x20the\x20command\x20prefix\x20injects\x20shared\x20options>`','-pix_fmt','domRef','env','Do\x20not\x20run\x20Nova\x20help,\x20doctor,\x20script,\x20session\x20list,\x20session\x20export,\x20or\x20session\x20close\x20commands\x20during\x20verification.','nova_act_artifact_recording_stop','nova-user-data/*','stopScreencast','evaluate','12240460sOQmvI','key_03_success-state.png','startScreencast','encodeScreencastVideo','frameCount','wait\x20for\x20page\x20condition','screencastStarted','kqBQL','enVJo','\x0a\x0a##\x20App\x20Context\x0aYour\x20base\x20URL\x20is:\x20','ms-playwright','tool_name','context','\x20session\x20create\x20','final-state.yaml','FsIua','.jpg','hIKLu','[nova-act-cli]\x20','stopped','stopTraceSampling','unaddressedComments','TBWUE','Page.screencastFrameAck','lNYpR','yuv420p','getFrameDir','transportMetadata','name','jNmPa','-vf','tagName','cdp_endpoint','9439728vLpiAs','Page.stopScreencast','split','\x20snapshot\x20--output\x20','telemetry','6mSFRMs','UEXNR','browser','`\x0a-\x20`','\x0a-\x20You\x20may\x20ONLY\x20navigate\x20to\x20paths\x20under\x20this\x20base\x20URL\x27s\x20origin.\x0a-\x20Do\x20not\x20navigate\x20to\x20any\x20different\x20protocol,\x20host,\x20or\x20port.\x0a-\x20If\x20the\x20browser\x20leaves\x20this\x20origin,\x20navigate\x20back\x20once.\x20If\x20you\x20cannot\x20recover,\x20return\x20evaluation\x20\x22blocked\x22.\x0a','BZGtv','tool_input','gquWJ','MNmzO','jElLS','cNYqb','block','48746MQrOqI','TJNUj','log','`\x0a3.\x20Run\x20`','00_initial-state.yml','session-recording.webm','thNDo','catch','IDCEh','ffmpeg','args','createdAt','`\x0a7.\x20Return\x20immediately\x20with\x20the\x20structured\x20output.\x0a\x0aSave\x20every\x20artifact\x20under\x20`','export\x20Nova\x20session','newCDPSession','BbZAc','Library','traceSampleCount','vpfbH','hook_event_name','execute\x20Nova\x20browser\x20action','McCye','params','startTraceSampling','NvHYg','NcZfi','videos','LzyCa','iqTDG','get','data','capture\x20snapshot\x20`','PostToolUseFailure','Evaluate\x20visited-page\x20aggregate\x20requirements\x20from\x20the\x20collected\x20URLs,\x20titles,\x20headings,\x20verify\x20results,\x20and\x20screenshots.\x20Do\x20not\x20run\x20another\x20browser\x20command\x20to\x20re-check\x20pages\x20already\x20visited.','startAttempted','state','screenshot','content','`\x20using\x20absolute\x20paths\x20only.\x0a5.\x20Take\x20an\x20initial\x20snapshot:\x20`','traceSampleInFlight','-framerate','match','Ncwvp','BrsyI','startsWith','traceSampleTimer','kBeYj','--output','allSettled','snapshot','join','zUDFX','rkwWA','test','You\x20are\x20testing\x20Nova\x20Act\x20browser\x20automation.\x20Your\x20task\x20is\x20simple.\x0a\x0aUse\x20Bash\x20and\x20Nova\x20Act\x20CLI\x20only.\x20The\x20browser\x20command\x20prefix\x20is:\x0a','stdout','queueTraceSample','VhLFg','fSJnj','command','toLocaleDateString','close','replace','session\x20create','has','Nova\x20session\x20metadata\x20did\x20not\x20include\x20cdp_endpoint\x20for\x20','nova-artifacts.zip','Page.startScreencast','trackPhaseError','DQnSK','pLFJp','\x20screenshot\x20--output\x20','readSessionMetadataWithRetry','textContent','ckAJh','Append\x20this\x20option\x20suffix\x20to\x20every\x20browser\x20command\x20unless\x20the\x20host\x20gives\x20a\x20more\x20specific\x20example:\x0a','trackPhaseEnd','`.\x0a15.\x20As\x20soon\x20as\x20all\x20scenario\x20requirements\x20are\x20satisfied,\x20return\x20structured\x20output\x20immediately.\x20Do\x20not\x20keep\x20exploring,\x20asking,\x20or\x20taking\x20extra\x20screenshots.\x0a16.\x20Treat\x20a\x20Nova\x20`verify`\x20result\x20with\x20`ASSERTION_FAILED`\x20as\x20useful\x20evidence,\x20not\x20as\x20a\x20tool\x20crash.\x20Do\x20not\x20retry\x20the\x20same\x20assertion\x20or\x20search\x20for\x20alternatives\x20unless\x20the\x20scenario\x20explicitly\x20asks\x20you\x20to\x20find\x20any\x20matching\x20page.\x0a17.\x20Stay\x20within\x20the\x20pages\x20and\x20flow\x20named\x20by\x20the\x20scenario.\x20If\x20a\x20required\x20condition\x20is\x20absent\x20after\x20checking\x20the\x20relevant\x20named\x20page\x20once,\x20stop\x20and\x20return\x20\x22partial\x22\x20or\x20\x22failed\x22\x20with\x20the\x20missing\x20requirement.\x20Do\x20not\x20expand\x20into\x20unrelated\x20pages\x20or\x20broad\x20site\x20searches.\x0a18.\x20After\x20you\x20reach\x20and\x20screenshot\x20the\x20final\x20named\x20scenario\x20page,\x20do\x20not\x20execute\x20more\x20browser\x20commands.\x20Evaluate\x20any\x20\x22at\x20least\x20one\x20visited\x20page\x22\x20requirement\x20from\x20the\x20pages\x20already\x20visited\x20and\x20the\x20evidence\x20already\x20collected.\x0a19.\x20Do\x20not\x20run\x20`session\x20close`,\x20`session\x20list`,\x20`session\x20export`,\x20`script`,\x20`doctor`,\x20`--help`,\x20`aws`,\x20`find`,\x20`grep`,\x20`env`,\x20`printenv`,\x20package\x20managers,\x20or\x20setup\x20commands.\x20The\x20host\x20owns\x20setup,\x20auth,\x20session\x20cleanup,\x20and\x20artifact\x20export.\x0a20.\x20The\x20host\x20also\x20captures\x20final\x20screenshots,\x20snapshots,\x20and\x20exports\x20after\x20you\x20finish,\x20but\x20every\x20scenario\x20milestone\x20still\x20needs\x20an\x20accessible\x20screenshot.\x20If\x20the\x20last\x20milestone\x20is\x20the\x20final\x20browser\x20state\x20and\x20you\x20have\x20already\x20captured\x20it,\x20you\x20do\x20not\x20need\x20a\x20duplicate\x20final\x20screenshot.\x0a21.\x20Do\x20not\x20close\x20the\x20Nova\x20session.\x20The\x20host\x20exports\x20artifacts\x20after\x20you\x20finish.\x0a22.\x20The\x20structured\x20output\x20is\x20your\x20final\x20response.\x20After\x20returning\x20it,\x20do\x20not\x20write\x20a\x20separate\x20markdown\x20summary\x20or\x20repeat\x20the\x20findings.\x0a\x0a##\x20Browser\x20Command\x20Reference\x0aUse\x20Bash\x20to\x20run\x20Nova\x20Act\x20CLI\x20commands\x20with\x20this\x20prefix:\x0a`','nova-session-export.json','adDoN','sessions','5064136HmApGr','--format','96XMlUIF','XFxXi','43zaXLaJ','tracingStarted','navigate\x20browser','):\x20\x22','ffmpeg.exe','`.\x0a4.\x20Save\x20every\x20snapshot\x20and\x20screenshot\x20under\x20`','start','stop','bmzrO','stderr','xHWJx','contexts','sessionId','trackPhaseStart','pcSvI','6193935QzztZu','NYBkV','DFDqa','mtimeMs','Unable\x20to\x20read\x20Nova\x20session\x20metadata\x20at\x20','Page.screencastFrame','cliArtifactDir','invocation'];_0x4305=function(){return _0x3d3344;};return _0x4305();}import{promisify}from'util';import{chromium}from'playwright';import{buildNovaActCliInvocation,buildNovaActCliSharedOptionsSuffix,extractNovaActLogDir,parseNovaActCliCommand,previewNovaActCliCommand,runNovaActCliCommand}from'./utils/novaActCli.js';import{extractBashCommand,quoteShellArg}from'./utils/playwrightCli.js';const NOVA_ACT_CLI_COMMAND_TIMEOUT_MS=0x1d4c0,NOVA_ARTIFACT_CDP_CONNECT_TIMEOUT_MS=0x3a98,NOVA_ARTIFACT_METADATA_WAIT_MS=0x1388,NOVA_ARTIFACT_TRACE_SAMPLE_INTERVAL_MS=0x1388,VERIFY_FEATURE_NOVA_ARTIFACT_FILE_PATTERN=/^(?:\d{2}_.+\.(?:png|ya?ml)|key_.+\.png|final-state\.ya?ml|nova-session-export\.json)$/i,NOVA_ACT_ALLOWED_AGENT_COMMANDS=new Set([_0x55adbb(0xe5),'execute','verify',_0x55adbb(0x117),'goto','wait-for',_0x55adbb(0xd7),'screenshot']),execFileAsync=promisify(execFile);function buildCliArtifactPath(_0x1e98d7,_0x15c9b3){const _0x4c305d={'lqnlv':function(_0x451720,_0x1a067c,_0x4991c3){return _0x451720(_0x1a067c,_0x4991c3);}};return _0x4c305d['lqnlv'](join,_0x1e98d7,_0x15c9b3);}export class NovaActArtifactRecorder{[_0x55adbb(0x190)];[_0x55adbb(0x170)]=null;[_0x55adbb(0x154)]=null;['frameSession']=null;['frameWrites']=[];['frameCount']=0x0;['traceSampleCount']=0x0;[_0x55adbb(0x1a7)]=null;[_0x55adbb(0x1a1)]=null;['tracingStarted']=![];[_0x55adbb(0x14e)]=![];['startAttempted']=![];[_0x55adbb(0x15b)]=![];constructor(_0x340f50){this['params']=_0x340f50;}async['start'](){const _0x6e86a9=_0x55adbb,_0x56e354={'pcSvI':function(_0x5747d7,_0x424f78,_0x1db41f){return _0x5747d7(_0x424f78,_0x1db41f);}};if(this['startAttempted'])return;this[_0x6e86a9(0x19c)]=!![];const _0x5e5f7a=await this[_0x6e86a9(0xee)](),_0x52d451=_0x5e5f7a[_0x6e86a9(0x168)];if(!_0x52d451)throw new Error(_0x6e86a9(0xe7)+this['params'][_0x6e86a9(0x122)][_0x6e86a9(0x107)]);await _0x56e354[_0x6e86a9(0x109)](mkdir,this[_0x6e86a9(0x190)]['cliArtifactDir'],{'recursive':!![]}),this[_0x6e86a9(0x170)]=await chromium['connectOverCDP'](_0x52d451,{'timeout':NOVA_ARTIFACT_CDP_CONNECT_TIMEOUT_MS}),this[_0x6e86a9(0x154)]=this[_0x6e86a9(0x170)][_0x6e86a9(0x106)]()[0x0]??null;if(!this['context'])throw new Error('Nova\x20CDP\x20connection\x20did\x20not\x20expose\x20a\x20browser\x20context');await this[_0x6e86a9(0x154)]['tracing'][_0x6e86a9(0x101)]({'screenshots':!![],'snapshots':!![],'sources':!![]}),this['tracingStarted']=!![],this[_0x6e86a9(0x191)](),await this['startScreencast'](),this['params'][_0x6e86a9(0x16d)]['trackPhaseStart']('nova_act_artifact_recording',{...this['params'][_0x6e86a9(0x163)],'cdpEndpoint':_0x52d451,'browserPid':_0x5e5f7a['browser_pid'],'sessionState':_0x5e5f7a[_0x6e86a9(0x19d)]}),this[_0x6e86a9(0x190)][_0x6e86a9(0x16d)][_0x6e86a9(0xf2)]('nova_act_artifact_recording',{...this[_0x6e86a9(0x190)][_0x6e86a9(0x163)],'tracingStarted':this['tracingStarted'],'screencastStarted':this[_0x6e86a9(0x14e)]});}async[_0x55adbb(0x102)](){const _0x2b57ff=_0x55adbb,_0x30ea64={'hIKLu':'nova_act_artifact_recording_stop','UEXNR':function(_0x576393,_0x3f2c93,_0x135ec2){return _0x576393(_0x3f2c93,_0x135ec2);},'ckAJh':'trace.zip'};if(this['stopped'])return;this[_0x2b57ff(0x15b)]=!![];const _0x6496b6={...this['params']['transportMetadata'],'frameCount':this['frameCount'],'traceSampleCount':this['traceSampleCount'],'tracingStarted':this[_0x2b57ff(0xfc)],'screencastStarted':this[_0x2b57ff(0x14e)]};this['params'][_0x2b57ff(0x16d)][_0x2b57ff(0x108)](_0x30ea64[_0x2b57ff(0x159)],_0x6496b6);try{await this[_0x2b57ff(0x15c)](),await this['captureTraceSample'](),await this[_0x2b57ff(0x146)](),await Promise[_0x2b57ff(0xd6)](this['frameWrites']);this[_0x2b57ff(0x154)]&&this['tracingStarted']&&await this[_0x2b57ff(0x154)][_0x2b57ff(0x129)]['stop']({'path':_0x30ea64[_0x2b57ff(0x16f)](buildCliArtifactPath,this['params'][_0x2b57ff(0x110)],_0x30ea64[_0x2b57ff(0xf0)])});const _0x328ada=await this[_0x2b57ff(0x14b)]();this['params'][_0x2b57ff(0x16d)][_0x2b57ff(0xf2)]('nova_act_artifact_recording_stop',{..._0x6496b6,'videoPath':_0x328ada});}catch(_0x47f1c3){await this['params'][_0x2b57ff(0x16d)]['trackPhaseError'](_0x2b57ff(0x144),_0x47f1c3,_0x6496b6);}finally{await this['browser']?.[_0x2b57ff(0xe3)]()[_0x2b57ff(0x181)](()=>undefined),this[_0x2b57ff(0x170)]=null,this[_0x2b57ff(0x154)]=null,this['frameSession']=null;}}async['readSessionMetadataWithRetry'](){const _0x801dde=_0x55adbb,_0x2fd0de={'NvHYg':function(_0x17fbc3,_0x3e6519,_0x407ab4,_0x3d9959,_0x5ce99a,_0x102d10){return _0x17fbc3(_0x3e6519,_0x407ab4,_0x3d9959,_0x5ce99a,_0x102d10);},'McCye':'.act_cli','vpfbH':'browser','RENxn':_0x801dde(0xf6),'ZWDHI':'utf-8','GToYx':function(_0x48084b,_0x490202){return _0x48084b-_0x490202;}},_0xf8df33=_0x2fd0de[_0x801dde(0x192)](join,homedir(),_0x2fd0de[_0x801dde(0x18f)],_0x2fd0de[_0x801dde(0x18c)],_0x2fd0de['RENxn'],this[_0x801dde(0x190)][_0x801dde(0x122)][_0x801dde(0x107)]+'.json'),_0x310a1e=Date['now']();let _0x4811fc;do{try{const _0x2a7cc3=JSON[_0x801dde(0x12b)](await readFile(_0xf8df33,_0x2fd0de['ZWDHI']));if(_0x2a7cc3['cdp_endpoint'])return _0x2a7cc3;_0x4811fc=new Error('Nova\x20metadata\x20missing\x20cdp_endpoint\x20at\x20'+_0xf8df33);}catch(_0x516cfa){_0x4811fc=_0x516cfa;}await delay(0x64);}while(_0x2fd0de['GToYx'](Date['now'](),_0x310a1e)<NOVA_ARTIFACT_METADATA_WAIT_MS);if(_0x4811fc instanceof Error)throw _0x4811fc;throw new Error(_0x801dde(0x10e)+_0xf8df33);}async[_0x55adbb(0x14a)](){const _0x4a0d74=_0x55adbb,_0x1d70be={'giDTZ':function(_0x19c7b8,_0x2d3e32){return _0x19c7b8(_0x2d3e32);},'ANTBC':'base64','jNmPa':function(_0x295e60,_0x32d468,_0x2c48fe){return _0x295e60(_0x32d468,_0x2c48fe);},'hIsJU':_0x4a0d74(0x10f),'WNyEL':_0x4a0d74(0xe9)};if(!this['context'])return;const _0x258f40=this[_0x4a0d74(0x154)][_0x4a0d74(0x123)]()[0x0];if(!_0x258f40)return;const _0x5e1df8=this['getFrameDir']();await _0x1d70be[_0x4a0d74(0x165)](mkdir,_0x5e1df8,{'recursive':!![]});const _0x5820ff=await this['context'][_0x4a0d74(0x188)](_0x258f40);this['frameSession']=_0x5820ff,_0x5820ff['on'](_0x1d70be['hIsJU'],_0x2aa3f2=>{const _0x1d1b95=_0x4a0d74,_0x3f9766=++this['frameCount'],_0x39fddb=join(_0x5e1df8,'frame-'+_0x1d70be['giDTZ'](String,_0x3f9766)['padStart'](0x6,'0')+_0x1d1b95(0x158)),_0xab76c3=writeFile(_0x39fddb,Buffer[_0x1d1b95(0x12c)](_0x2aa3f2[_0x1d1b95(0x198)],_0x1d70be['ANTBC']))[_0x1d1b95(0x181)](()=>undefined)['finally'](()=>_0x5820ff['send'](_0x1d1b95(0x15f),{'sessionId':_0x2aa3f2[_0x1d1b95(0x107)]}))['then'](()=>undefined)['catch'](()=>undefined);this['frameWrites']['push'](_0xab76c3);}),await _0x5820ff['send'](_0x1d70be['WNyEL'],{'format':_0x4a0d74(0x119),'quality':0x4b,'everyNthFrame':0x6}),this[_0x4a0d74(0x14e)]=!![];}async[_0x55adbb(0x146)](){const _0xacf408=_0x55adbb,_0x404793={'sLQWK':_0xacf408(0x16a)};if(!this['frameSession']||!this[_0xacf408(0x14e)])return;await this['frameSession']['send'](_0x404793['sLQWK'])['catch'](()=>undefined);}[_0x55adbb(0x191)](){const _0x581692=_0x55adbb;this['queueTraceSample'](),this[_0x581692(0x1a7)]=setInterval(()=>this[_0x581692(0xde)](),NOVA_ARTIFACT_TRACE_SAMPLE_INTERVAL_MS);}['queueTraceSample'](){const _0x2d6435=_0x55adbb;if(this[_0x2d6435(0x1a1)])return;this[_0x2d6435(0x1a1)]=this['captureTraceSample']()[_0x2d6435(0x120)](()=>{this['traceSampleInFlight']=null;});}async[_0x55adbb(0x15c)](){const _0x19991a=_0x55adbb;this[_0x19991a(0x1a7)]&&(clearInterval(this[_0x19991a(0x1a7)]),this['traceSampleTimer']=null),await this['traceSampleInFlight']?.['catch'](()=>undefined);}async['captureTraceSample'](){const _0x294b54=_0x55adbb,_0x3973b5=this['context']?.[_0x294b54(0x123)]()[0x0];if(!_0x3973b5)return;try{await _0x3973b5['locator']('body')[_0x294b54(0x147)](_0x132c4e=>_0x132c4e[_0x294b54(0x167)],undefined,{'timeout':0x3e8}),this[_0x294b54(0x18b)]++;}catch{}}async['encodeScreencastVideo'](){const _0x41c0fc=_0x55adbb,_0x20d4d5={'VhLFg':function(_0x316fd2,_0x19be7a){return _0x316fd2<_0x19be7a;},'XIBqu':function(_0x5867c6,_0x18b786,_0x29cdb0){return _0x5867c6(_0x18b786,_0x29cdb0);},'zhshN':_0x41c0fc(0x17f),'Ncwvp':'-hide_banner','IOFlW':'-loglevel','rkwWA':'error','gquWJ':'frame-%06d.jpg','kqBQL':_0x41c0fc(0x166),'rFPUC':_0x41c0fc(0x130),'ITpDn':_0x41c0fc(0x140),'uOOpw':_0x41c0fc(0x161)};if(_0x20d4d5[_0x41c0fc(0xdf)](this[_0x41c0fc(0x14c)],0x2))return null;const _0x583f0d=await resolveFfmpegPath();if(!_0x583f0d)return null;const _0xa9f439=join(this[_0x41c0fc(0x190)][_0x41c0fc(0x110)],_0x41c0fc(0x194));await _0x20d4d5['XIBqu'](mkdir,_0xa9f439,{'recursive':!![]});const _0x182f3a=join(_0xa9f439,_0x20d4d5['zhshN']);return await execFileAsync(_0x583f0d,['-y',_0x20d4d5[_0x41c0fc(0x1a4)],_0x20d4d5['IOFlW'],_0x20d4d5[_0x41c0fc(0xda)],_0x41c0fc(0x1a2),'10','-i',join(this['getFrameDir'](),_0x20d4d5[_0x41c0fc(0x175)]),_0x20d4d5[_0x41c0fc(0x14f)],'scale=trunc(iw/2)*2:trunc(ih/2)*2','-c:v',_0x20d4d5['rFPUC'],_0x20d4d5['ITpDn'],_0x20d4d5['uOOpw'],_0x182f3a]),_0x182f3a;}[_0x55adbb(0x162)](){const _0x411a0f=_0x55adbb,_0x1f52de={'BbZAc':function(_0x42489d,_0x599299,_0x22a860){return _0x42489d(_0x599299,_0x22a860);},'LrKKw':'nova-video-frames'};return _0x1f52de[_0x411a0f(0x189)](join,this[_0x411a0f(0x190)][_0x411a0f(0x110)],_0x1f52de['LrKKw']);}}async function delay(_0x152da){await new Promise(_0x270429=>setTimeout(_0x270429,_0x152da));}async function resolveFfmpegPath(){const _0x3101b2=_0x55adbb,_0x529388={'XFxXi':function(_0x80a5cd,_0x599928){return _0x80a5cd(_0x599928);},'CIeVi':_0x3101b2(0x183),'euMhA':function(_0x4147c9,_0x521b1a,_0x2baf92,_0x1ae911){return _0x4147c9(_0x521b1a,_0x2baf92,_0x1ae911);}};if(await _0x529388[_0x3101b2(0xfa)](canRunFfmpeg,'ffmpeg'))return _0x529388['CIeVi'];const _0x2844b9=[join(homedir(),_0x3101b2(0x18a),_0x3101b2(0x126),'ms-playwright'),_0x529388['euMhA'](join,homedir(),'.cache',_0x3101b2(0x152))];for(const _0x259d62 of _0x2844b9){try{const _0x15a460=await _0x529388[_0x3101b2(0xfa)](readdir,_0x259d62),_0x14e3d9=_0x15a460['filter'](_0x3056da=>_0x3056da[_0x3101b2(0x1a6)]('ffmpeg-'))[_0x3101b2(0x118)]()['reverse']()['flatMap'](_0x2a911a=>[join(_0x259d62,_0x2a911a,'ffmpeg-mac'),join(_0x259d62,_0x2a911a,'ffmpeg-linux'),join(_0x259d62,_0x2a911a,_0x3101b2(0xff))]);for(const _0x456532 of _0x14e3d9){if(await canRunFfmpeg(_0x456532))return _0x456532;}}catch{}}return null;}async function canRunFfmpeg(_0x201056){const _0x51968d=_0x55adbb,_0x43cb92={'TBWUE':_0x51968d(0x12f)};try{return await execFileAsync(_0x201056,[_0x43cb92[_0x51968d(0x15e)]]),!![];}catch{return![];}}function toStepDisplayName(_0x15d8f1){const _0x5610e0=_0x55adbb,_0xf37bb2={'LzyCa':function(_0x574def,_0xda920b){return _0x574def(_0xda920b);},'iqTDG':function(_0x135399,_0x4c2cb5){return _0x135399(_0x4c2cb5);}},_0x30e675=_0xf37bb2[_0x5610e0(0x195)](basename,_0x15d8f1)[_0x5610e0(0xe4)](/\.(?:png|ya?ml)$/i,'')[_0x5610e0(0xe4)](/^key_/i,'')[_0x5610e0(0xe4)](/^\d+_/,'')[_0x5610e0(0xe4)](/-/g,'\x20');return{'name':_0x30e675,'isKeyStep':/^key_/i['test'](_0xf37bb2[_0x5610e0(0x196)](basename,_0x15d8f1))};}function extractShellValue(_0x3d2f26){if(!_0x3d2f26)return null;return _0x3d2f26[0x1]??_0x3d2f26[0x2]??_0x3d2f26[0x3]??null;}function extractOutputOption(_0x33b4cd){const _0x569c22=_0x55adbb,_0x192543={'AcPGc':function(_0x45cd64,_0x330580){return _0x45cd64(_0x330580);}};return _0x192543['AcPGc'](extractShellValue,_0x33b4cd[_0x569c22(0x1a3)](/--output(?:=|\s+)(?:"([^"]+)"|'([^']+)'|(\S+))/));}function _0x1e19(_0x1c294d,_0x279a47){_0x1c294d=_0x1c294d-0xd4;const _0x43059f=_0x4305();let _0x1e19ed=_0x43059f[_0x1c294d];return _0x1e19ed;}function formatNovaActCliLog(_0xa7e318,_0x2fe6aa){const _0x5ecbf8=_0x55adbb,_0x40969e={'cdoNR':_0x5ecbf8(0x18e),'btYLn':'verify','suTVv':'verify\x20page\x20condition','nugJe':'ask\x20page\x20question','bHCSq':'goto','mnbes':'wait-for','KPqoD':'snapshot','oVEAc':function(_0xbb1898,_0xa6f0a){return _0xbb1898(_0xa6f0a);},'jElLS':_0x5ecbf8(0x11c),'SBpiO':_0x5ecbf8(0x187)};switch(_0x2fe6aa){case _0x5ecbf8(0xe5):return _0x5ecbf8(0x133);case'execute':return _0x40969e[_0x5ecbf8(0x13e)];case _0x40969e[_0x5ecbf8(0x131)]:return _0x40969e['suTVv'];case _0x5ecbf8(0x117):return _0x40969e['nugJe'];case _0x40969e['bHCSq']:return _0x5ecbf8(0xfd);case _0x40969e[_0x5ecbf8(0x11a)]:return _0x5ecbf8(0x14d);case _0x40969e['KPqoD']:{const _0x28e00f=_0x40969e['oVEAc'](extractOutputOption,_0xa7e318);if(!_0x28e00f)return'capture\x20snapshot';const {name:_0x4ee6c7}=toStepDisplayName(_0x28e00f);return _0x5ecbf8(0x199)+_0x4ee6c7+'`';}case _0x5ecbf8(0x19e):{const _0x251e20=_0x40969e[_0x5ecbf8(0x114)](extractOutputOption,_0xa7e318);if(!_0x251e20)return'capture\x20screenshot';const {name:_0x3bb50e,isKeyStep:_0x6af8be}=toStepDisplayName(_0x251e20);return _0x6af8be?'capture\x20key\x20step\x20`'+_0x3bb50e+'`':_0x5ecbf8(0x135)+_0x3bb50e+'`';}case _0x40969e[_0x5ecbf8(0x177)]:return _0x40969e['SBpiO'];default:return _0x2fe6aa;}}function getNovaActCliCommandBlockReason(_0x4706d3){const _0x589c37=_0x55adbb,_0x38108c={'nQDVp':'verify'},_0x15c91d=parseNovaActCliCommand(_0x4706d3);if(!_0x15c91d)return'Use\x20only\x20the\x20provided\x20Nova\x20browser\x20command\x20prefix\x20for\x20browser\x20verification.\x20Do\x20not\x20inspect\x20setup,\x20credentials,\x20files,\x20or\x20the\x20local\x20environment.';if(!NOVA_ACT_ALLOWED_AGENT_COMMANDS[_0x589c37(0xe6)](_0x15c91d))return'Nova\x20command\x20`'+_0x15c91d+'`\x20is\x20reserved\x20for\x20the\x20host.\x20Use\x20only\x20session\x20create,\x20execute,\x20verify,\x20ask,\x20goto,\x20wait-for,\x20snapshot,\x20and\x20screenshot.';if(_0x15c91d===_0x38108c['nQDVp']&&/\b(?:previously visited|visited pages|pages visited|at least one of the pages visited)\b/i[_0x589c37(0xdb)](_0x4706d3))return _0x589c37(0x19b);if(/\s--help\b|\bdoctor\b|\bscript\b|\bsession\s+(?:close|list|export)\b/[_0x589c37(0xdb)](_0x4706d3))return _0x589c37(0x143);return null;}function buildFeedbackSection(_0x1a4f69){const _0x2daeee=_0x55adbb,_0x2d44fe={'VmcHT':'en-US','IbrLa':'Reviewer','oPJLT':'element'};if(!_0x1a4f69||_0x1a4f69['unaddressedComments']['length']===0x0)return'';const _0x447c96=_0x1a4f69[_0x2daeee(0x15d)][_0x2daeee(0x138)](_0x2362cd=>{const _0x4a27b8=_0x2daeee,_0x25bee2=new Date(_0x2362cd[_0x4a27b8(0x185)])[_0x4a27b8(0xe2)](_0x2d44fe['VmcHT'],{'month':_0x4a27b8(0x11e),'day':'numeric'}),_0xea526c=_0x2362cd[_0x4a27b8(0x136)]||_0x2362cd[_0x4a27b8(0x127)]||_0x2d44fe['IbrLa'],_0x2c777d=_0x2362cd['domRef']?'\x20(on\x20element:\x20<'+(_0x2362cd[_0x4a27b8(0x141)]['selector'][_0x4a27b8(0x16b)](_0x4a27b8(0x128))['pop']()?.['split'](':')[0x0]||_0x2d44fe[_0x4a27b8(0x115)])+'>\x20\x22'+(_0x2362cd['domRef'][_0x4a27b8(0xef)]||'')['slice'](0x0,0x32)+'\x22)':'';return'-\x20['+_0x2362cd['id']+']\x20**'+_0xea526c+'**\x20('+_0x25bee2+_0x4a27b8(0xfe)+_0x2362cd[_0x4a27b8(0x19f)]+'\x22'+_0x2c777d;})[_0x2daeee(0xd8)]('\x0a');return'\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\x20in\x20addressedCommentIds.\x0a\x0a'+_0x447c96;}function buildNovaSharedOptionsInstruction(_0x5c7887){const _0x56814e=_0x55adbb;if(!_0x5c7887['trim']())return'The\x20command\x20prefix\x20already\x20injects\x20session,\x20auth,\x20region,\x20workflow,\x20user-data,\x20headless,\x20and\x20JSON\x20options.\x0aDo\x20not\x20run\x20raw\x20`act\x20browser`.\x20Do\x20not\x20add\x20`--auth-mode`,\x20`--aws-profile`,\x20`--region`,\x20`--workflow-name`,\x20`--session-id`,\x20`--user-data-dir`,\x20`--headless`,\x20or\x20`--headed`\x20yourself.';return _0x56814e(0xf1)+_0x5c7887;}export function buildVerifyFeatureNovaCliDebugPrompt(_0x969443){const _0x3696e0=_0x55adbb,_0x45e7fe={'BZGtv':function(_0x45444c,_0x3820c4,_0x4c4624){return _0x45444c(_0x3820c4,_0x4c4624);},'lqqNZ':_0x3696e0(0x11b),'iwRsP':'02_final-state.yml','hwEKx':function(_0x2a969b,_0x1e9c4e,_0x4bd632){return _0x2a969b(_0x1e9c4e,_0x4bd632);},'doJpq':function(_0x22f0fb,_0x618f79){return _0x22f0fb(_0x618f79);}},{novaCommandPrefix:_0x152fc0,novaSharedOptionsSuffix:_0x2b8ade,cliArtifactDir:_0x3fc7d0,url:_0x19dbeb}=_0x969443,_0x5b7e46=buildCliArtifactPath(_0x3fc7d0,_0x3696e0(0x17e)),_0xcbf50a=_0x45e7fe['BZGtv'](buildCliArtifactPath,_0x3fc7d0,_0x45e7fe[_0x3696e0(0x139)]),_0x297385=_0x45e7fe[_0x3696e0(0x173)](buildCliArtifactPath,_0x3fc7d0,_0x45e7fe['iwRsP']),_0x175a87=_0x45e7fe['hwEKx'](buildCliArtifactPath,_0x3fc7d0,'03_final-state.png');return _0x3696e0(0xdc)+_0x152fc0+'\x0a\x0a'+buildNovaSharedOptionsInstruction(_0x2b8ade)+'\x0a\x0aThe\x20act\x20CLI\x20is\x20already\x20installed\x20and\x20available\x20on\x20PATH.\x20Do\x20not\x20search\x20the\x20filesystem\x20for\x20Nova,\x20install\x20packages,\x20inspect\x20docs,\x20or\x20run\x20setup.\x20Your\x20first\x20Bash\x20command\x20must\x20be\x20the\x20session\x20create\x20command\x20below.\x0a\x0a1.\x20Run\x20`'+_0x152fc0+'\x20session\x20create\x20'+_0x45e7fe['doJpq'](quoteShellArg,_0x19dbeb)+'\x20'+_0x2b8ade+'`\x0a2.\x20Run\x20`'+_0x152fc0+_0x3696e0(0x16c)+_0x45e7fe['doJpq'](quoteShellArg,_0x5b7e46)+'\x20'+_0x2b8ade+_0x3696e0(0x17d)+_0x152fc0+'\x20screenshot\x20--output\x20'+_0x45e7fe['doJpq'](quoteShellArg,_0xcbf50a)+'\x20'+_0x2b8ade+'`\x0a4.\x20Run\x20one\x20batched\x20`'+_0x152fc0+'\x20execute\x20\x22...\x22`\x20command\x20to\x20exercise\x20the\x20current\x20page.\x0a5.\x20Run\x20`'+_0x152fc0+_0x3696e0(0x16c)+quoteShellArg(_0x297385)+'\x20'+_0x2b8ade+'`\x0a6.\x20Run\x20`'+_0x152fc0+_0x3696e0(0xed)+_0x45e7fe[_0x3696e0(0x13a)](quoteShellArg,_0x175a87)+'\x20'+_0x2b8ade+_0x3696e0(0x186)+_0x3fc7d0+'`\x20using\x20absolute\x20paths\x20only.\x0aReturn\x20your\x20findings\x20in\x20the\x20structured\x20output\x20format.';}export function buildVerifyFeatureNovaCliPrompt(_0xb64df0){const _0x1a0fa8=_0x55adbb,_0x2eab1c={'cNYqb':function(_0x3aac83,_0x3479c7){return _0x3aac83(_0x3479c7);},'vLsfL':function(_0x39991b,_0x4fafc2,_0x1d024f){return _0x39991b(_0x4fafc2,_0x1d024f);},'pLFJp':'01_initial.yml','adDoN':function(_0x428850,_0x925cc0,_0x1c7fb4){return _0x428850(_0x925cc0,_0x1c7fb4);},'ffvdU':'01_initial-state.png','ithYX':function(_0x4371df,_0x79be09,_0xd596fb){return _0x4371df(_0x79be09,_0xd596fb);},'xHWJx':_0x1a0fa8(0x149),'nSmPk':function(_0x492742,_0x45ff6f){return _0x492742(_0x45ff6f);}},{checklistItem:_0x1b6fe3,itemFeedback:_0x3cf7cd,taskDescription:_0x4a656d,novaCommandPrefix:_0x28bde7,novaSharedOptionsSuffix:_0xdaf9e3,cliArtifactDir:_0x155a15,url:_0x1591f3,loginInstructions:_0x516682}=_0xb64df0,_0x7736f8=_0x1b6fe3['notes']?'\x0a\x0a##\x20Additional\x20Notes\x0a'+_0x1b6fe3['notes']:'',_0x3aeb29=_0x2eab1c['cNYqb'](buildFeedbackSection,_0x3cf7cd),_0x2c0573=_0x3cf7cd?.['canonicalFlow']?'\x0a\x0a##\x20Expected\x20Flow\x20(from\x20previous\x20verification)\x0a'+_0x3cf7cd['canonicalFlow']:'',_0xba5249=_0x516682?_0x1a0fa8(0x12d)+_0x516682+_0x1a0fa8(0x13d):'',_0x6bd6ef=_0x2eab1c['vLsfL'](buildCliArtifactPath,_0x155a15,_0x2eab1c[_0x1a0fa8(0xec)]),_0x3065b6=_0x2eab1c[_0x1a0fa8(0xf5)](buildCliArtifactPath,_0x155a15,_0x2eab1c['ffvdU']),_0x2cacc9=_0x2eab1c['ithYX'](buildCliArtifactPath,_0x155a15,_0x2eab1c[_0x1a0fa8(0x105)]);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'+_0x1b6fe3['description']+_0x7736f8+_0x3aeb29+_0x2c0573+_0x1a0fa8(0x13b)+_0x4a656d+_0x1a0fa8(0x151)+_0x1591f3+_0x1a0fa8(0x172)+_0xba5249+'\x0a\x0a##\x20Instructions\x0a1.\x20Use\x20Bash\x20plus\x20Nova\x20Act\x20CLI\x20only.\x20Do\x20not\x20call\x20MCP\x20browser\x20tools.\x0a2.\x20The\x20act\x20CLI\x20is\x20already\x20installed\x20and\x20available\x20through\x20the\x20browser\x20command\x20prefix\x20below.\x20Do\x20not\x20search\x20the\x20filesystem\x20for\x20Nova,\x20install\x20packages,\x20inspect\x20docs,\x20check\x20AWS/auth\x20status,\x20read\x20env\x20files,\x20run\x20setup,\x20or\x20call\x20raw\x20`act\x20browser`.\x0a3.\x20Your\x20first\x20Bash\x20command\x20must\x20be\x20`'+_0x28bde7+_0x1a0fa8(0x155)+_0x2eab1c[_0x1a0fa8(0x178)](quoteShellArg,_0x1591f3)+'\x20'+_0xdaf9e3+_0x1a0fa8(0x100)+_0x155a15+_0x1a0fa8(0x1a0)+_0x28bde7+_0x1a0fa8(0x16c)+quoteShellArg(_0x6bd6ef)+'\x20'+_0xdaf9e3+'`.\x0a6.\x20Take\x20an\x20initial\x20screenshot:\x20`'+_0x28bde7+_0x1a0fa8(0xed)+quoteShellArg(_0x3065b6)+'\x20'+_0xdaf9e3+'`.\x0a7.\x20Optimize\x20for\x20few\x20browser\x20round\x20trips.\x20Each\x20Nova\x20CLI\x20call\x20has\x20high\x20latency.\x0a8.\x20Use\x203-5\x20high-level\x20`execute`\x20commands\x20total.\x20Each\x20`execute`\x20should\x20contain\x202-5\x20concrete\x20browser\x20steps\x20and\x20should\x20drive\x20to\x20the\x20next\x20milestone\x20page.\x0a9.\x20Do\x20not\x20split\x20a\x20simple\x20navigation\x20into\x20separate\x20commands\x20like\x20\x22open\x20menu\x22,\x20then\x20\x22click\x20link\x22,\x20then\x20\x22screenshot\x22.\x20Batch\x20those\x20into\x20one\x20`execute`\x20when\x20the\x20target\x20is\x20clear.\x0a10.\x20Do\x20not\x20use\x20`ask`\x20unless\x20you\x20are\x20genuinely\x20stuck\x20or\x20need\x20to\x20disambiguate\x20visible\x20page\x20content.\x20Prefer\x20reading\x20the\x20output\x20from\x20`execute`,\x20`snapshot`,\x20and\x20`verify`.\x0a11.\x20Use\x20`verify`\x20only\x20at\x20milestone\x20pages\x20that\x20map\x20directly\x20to\x20scenario\x20requirements.\x20Do\x20not\x20verify\x20after\x20every\x20click.\x0a12.\x20Take\x20screenshots\x20for\x20each\x20scenario\x20milestone\x20so\x20every\x20verified\x20step\x20has\x20reviewable\x20image\x20evidence,\x20including\x20the\x20final\x20state.\x20Avoid\x20duplicate\x20screenshots\x20of\x20the\x20same\x20unchanged\x20page.\x0a13.\x20After\x20the\x20required\x20initial\x20snapshot,\x20do\x20not\x20take\x20separate\x20milestone\x20snapshots\x20unless\x20you\x20cannot\x20understand\x20the\x20page\x20from\x20the\x20`execute`,\x20`verify`,\x20and\x20screenshot\x20outputs.\x0a14.\x20Mark\x20the\x20most\x20important\x20proof\x20screenshot\x20with\x20`key_`,\x20for\x20example\x20`'+_0x2cacc9+_0x1a0fa8(0xf3)+_0x28bde7+'`\x0a\x0aAppend\x20this\x20option\x20suffix\x20to\x20browser\x20commands:\x0a'+(_0xdaf9e3['trim']()?'`'+_0xdaf9e3+'`':_0x1a0fa8(0x13f))+'\x0a\x0a'+buildNovaSharedOptionsInstruction(_0xdaf9e3)+_0x1a0fa8(0x113)+_0x28bde7+'\x20execute\x20\x221.\x20Open\x20the\x20account\x20settings\x20menu.\x202.\x20Click\x20Billing.\x203.\x20Wait\x20for\x20the\x20Billing\x20page\x20to\x20load.\x22\x20'+_0xdaf9e3+_0x1a0fa8(0x171)+_0x28bde7+'\x20verify\x20\x22The\x20Billing\x20page\x20is\x20visible\x20and\x20shows\x20the\x20current\x20plan.\x22\x20'+_0xdaf9e3+_0x1a0fa8(0x171)+_0x28bde7+_0x1a0fa8(0x16c)+quoteShellArg(_0x6bd6ef)+'\x20'+_0xdaf9e3+'`\x0a-\x20`'+_0x28bde7+_0x1a0fa8(0xed)+_0x2eab1c[_0x1a0fa8(0x12a)](quoteShellArg,_0x2cacc9)+'\x20'+_0xdaf9e3+_0x1a0fa8(0x124);}export function summarizeVerifyFeatureNovaCliCommandAvailability(_0x5c5fc0){const _0x5c8648={'ldEnH':function(_0x32aa9b,_0x4b7a8e){return _0x32aa9b===_0x4b7a8e;}},_0x3e8ad1=[..._0x5c5fc0['keys']()]['sort']();let _0x2e3f6b=0x0;for(const _0xc6eb03 of _0x5c5fc0['values']()){_0x2e3f6b+=_0xc6eb03;}return{'cliCommandCount':_0x2e3f6b,'cliCommandsSeen':_0x3e8ad1,'noCliCommandsCalled':_0x5c8648['ldEnH'](_0x2e3f6b,0x0)};}export function createVerifyFeatureNovaCliHooks(_0xa53e15,_0x1e2190){const _0xb768b5=_0x55adbb,_0xc6da2a={'hsXJZ':function(_0x1968c4,_0x3d86bc){return _0x1968c4!==_0x3d86bc;},'IOMyn':'PreToolUse','NcZfi':'Bash','TJNUj':_0xb768b5(0x179),'LOkin':'PostToolUse','CcqqK':function(_0x28b791,_0x235a39){return _0x28b791+_0x235a39;},'IDCEh':'nova_act_command','fSJnj':function(_0x37229d,_0x1b06d5,_0x49b394){return _0x37229d(_0x1b06d5,_0x49b394);},'MNmzO':function(_0x533eb8,_0xf57328){return _0x533eb8===_0xf57328;},'zUDFX':'nova_act_artifact_recording','bHARC':'nova-act-cli','mZVzu':_0xb768b5(0x19a),'bmzrO':'nova_act_command_failure'},_0x3af543=new Map(),_0x1fb229=async _0x50f545=>{const _0x198f7a=_0xb768b5;if(_0xc6da2a['hsXJZ'](_0x50f545['hook_event_name'],_0xc6da2a['IOMyn']))return{};const _0x2ac055=_0x50f545;if(_0xc6da2a['hsXJZ'](_0x2ac055['tool_name'],_0xc6da2a['NcZfi']))return{};const _0x3f9732=_0x2ac055[_0x198f7a(0x174)],_0x4a5bce=extractBashCommand(_0x3f9732);if(!_0x4a5bce)return{};const _0x3f7caf=getNovaActCliCommandBlockReason(_0x4a5bce);if(!_0x3f7caf)return{};return{'decision':_0xc6da2a[_0x198f7a(0x17b)],'reason':_0x3f7caf};},_0x2e6c0f=async _0x5e7a2e=>{const _0x21c5b5=_0xb768b5;if(_0x5e7a2e[_0x21c5b5(0x18d)]!==_0xc6da2a['LOkin'])return{};const _0x3712af=_0x5e7a2e;if(_0x3712af[_0x21c5b5(0x153)]!==_0xc6da2a['NcZfi'])return{};const _0x3f17d6=_0x3712af[_0x21c5b5(0x174)],_0x549337=extractBashCommand(_0x3f17d6);if(!_0x549337)return{};const _0x38c280=parseNovaActCliCommand(_0x549337);if(!_0x38c280)return{};_0x3af543['set'](_0x38c280,_0xc6da2a['CcqqK'](_0x3af543[_0x21c5b5(0x197)](_0x38c280)||0x0,0x1)),_0xa53e15['trackPhaseStart'](_0xc6da2a['IDCEh'],{'subcommand':_0x38c280}),_0xa53e15[_0x21c5b5(0xf2)](_0xc6da2a[_0x21c5b5(0x182)],{'subcommand':_0x38c280,'commandPreview':previewNovaActCliCommand(_0x549337)}),console[_0x21c5b5(0x17c)](_0x21c5b5(0x15a)+_0xc6da2a[_0x21c5b5(0xe0)](formatNovaActCliLog,_0x549337,_0x38c280));if(_0xc6da2a[_0x21c5b5(0x176)](_0x38c280,_0x21c5b5(0xe5))&&_0x1e2190)try{await _0x1e2190[_0x21c5b5(0x101)]();}catch(_0x4cf308){await _0xa53e15[_0x21c5b5(0xea)](_0xc6da2a[_0x21c5b5(0xd9)],_0x4cf308,{'transport':_0xc6da2a[_0x21c5b5(0x112)]});}return{};},_0x2049e2=async _0x91a8c3=>{const _0x5f2e8a=_0xb768b5;if(_0x91a8c3[_0x5f2e8a(0x18d)]!==_0xc6da2a['mZVzu'])return{};const _0x42f687=_0x91a8c3;if(_0xc6da2a[_0x5f2e8a(0x121)](_0x42f687['tool_name'],_0xc6da2a[_0x5f2e8a(0x193)]))return{};return await _0xa53e15[_0x5f2e8a(0xea)](_0xc6da2a[_0x5f2e8a(0x103)],_0x42f687['error'],{'transport':_0xc6da2a['bHARC'],'toolName':'Bash'}),{};};return{'preToolUseHook':_0x1fb229,'postToolUseHook':_0x2e6c0f,'postToolUseFailureHook':_0x2049e2,'commandCounts':_0x3af543};}async function runNovaLifecycleCommand(_0x48bf88){const _0x48dd42=_0x55adbb,_0xc9b285={'enVJo':function(_0xfb4954,_0x88b867){return _0xfb4954(_0x88b867);},'jjwdP':function(_0x17df00,_0x1e13a0){return _0x17df00(_0x1e13a0);}},{novaOptions:_0x278018,commandArgs:_0x176da4,telemetry:_0x4efcce,phase:_0x3fe88a,metadata:_0x313d6c,timeoutMs:_0x48be7d}=_0x48bf88;_0x4efcce['trackPhaseStart'](_0x3fe88a,_0x313d6c);try{const _0x1ac5fa=await _0xc9b285['enVJo'](runNovaActCliCommand,{..._0x278018,'commandArgs':_0x176da4,'cwd':process['cwd'](),'env':process[_0x48dd42(0x142)],'timeoutMs':_0x48be7d??NOVA_ACT_CLI_COMMAND_TIMEOUT_MS});_0x4efcce['trackPhaseEnd'](_0x3fe88a,{..._0x313d6c,'subcommand':_0x1ac5fa[_0x48dd42(0x111)][_0x48dd42(0x134)],'commandPreview':_0xc9b285[_0x48dd42(0x150)](previewNovaActCliCommand,_0x1ac5fa[_0x48dd42(0x111)]['shellCommand']),'stdoutPreview':previewNovaActCliCommand(_0x1ac5fa[_0x48dd42(0xdd)]),'stderrPreview':previewNovaActCliCommand(_0x1ac5fa[_0x48dd42(0x104)]),'logDir':_0xc9b285['jjwdP'](extractNovaActLogDir,_0x1ac5fa['stdout'])});}catch(_0x377ad7){await _0x4efcce[_0x48dd42(0xea)](_0x3fe88a,_0x377ad7,_0x313d6c);throw _0x377ad7;}}export async function finalizeVerifyFeatureNovaCliSession(_0x537a33){const _0x309ed2=_0x55adbb,_0x21fcc5={'BrsyI':'nova_act_final_screenshot','kkJPh':'screenshot','NYBkV':_0x309ed2(0xd5),'hYUaB':function(_0x415e98,_0x2e584e,_0xe330ef){return _0x415e98(_0x2e584e,_0xe330ef);},'omFlv':'key_final-state.png','NSnlf':'snapshot','AaQGK':_0x309ed2(0x156),'lNYpR':'session','lSZsY':'json','sAjxf':function(_0x35b1ac,_0x5a0734,_0x4b885b){return _0x35b1ac(_0x5a0734,_0x4b885b);}},{telemetry:_0x3991bf,novaOptions:_0x385638,cliArtifactDir:_0x377e5f,transportMetadata:_0x57eaef,artifactRecorder:_0xffc9a8}=_0x537a33,_0x483eed=[{'phase':_0x21fcc5[_0x309ed2(0x1a5)],'commandArgs':[_0x21fcc5[_0x309ed2(0x132)],_0x21fcc5[_0x309ed2(0x10b)],_0x21fcc5['hYUaB'](buildCliArtifactPath,_0x377e5f,_0x21fcc5['omFlv'])]},{'phase':'nova_act_final_snapshot','commandArgs':[_0x21fcc5['NSnlf'],_0x21fcc5[_0x309ed2(0x10b)],_0x21fcc5['hYUaB'](buildCliArtifactPath,_0x377e5f,_0x21fcc5[_0x309ed2(0x137)])]},{'phase':'nova_act_session_export','commandArgs':[_0x21fcc5['lNYpR'],_0x309ed2(0x13c),_0x309ed2(0xf8),_0x21fcc5['lSZsY'],_0x309ed2(0xd5),_0x21fcc5['sAjxf'](buildCliArtifactPath,_0x377e5f,_0x309ed2(0xf4))]},{'phase':'nova_act_session_report','commandArgs':[_0x21fcc5[_0x309ed2(0x160)],'export','--report','--output-dir',_0x21fcc5['sAjxf'](buildCliArtifactPath,_0x377e5f,'nova-report')]},{'phase':'nova_act_session_close','commandArgs':[_0x21fcc5[_0x309ed2(0x160)],'close']}];for(const _0x27dafa of _0x483eed){_0x27dafa['phase']===_0x309ed2(0x125)&&await _0xffc9a8?.['stop']();try{await runNovaLifecycleCommand({'novaOptions':_0x385638,'commandArgs':[..._0x27dafa['commandArgs']],'telemetry':_0x3991bf,'phase':_0x27dafa[_0x309ed2(0x11f)],'metadata':_0x57eaef});}catch{}}}export async function harvestVerifyFeatureNovaCliArtifacts(_0x537949){const _0x327d10=_0x55adbb,_0x28a44c={'kBeYj':function(_0x1285a5,_0x5e5bfb,_0xc951a){return _0x1285a5(_0x5e5bfb,_0xc951a);},'thNDo':function(_0x56af5e,_0x27aa91,_0xdf0b73){return _0x56af5e(_0x27aa91,_0xdf0b73);},'DFDqa':function(_0x4d296d,_0x39644a){return _0x4d296d(_0x39644a);},'FsIua':function(_0x9523fc,_0x28475d){return _0x9523fc+_0x28475d;},'XPPKc':function(_0x64f0a2,_0x1319d7){return _0x64f0a2===_0x1319d7;}},{cwd:_0x1bfd46,cliArtifactDir:_0x14b43d,startTime:_0x2a46da}=_0x537949,_0x928bc0=[];await mkdir(_0x14b43d,{'recursive':!![]});const _0x1572b1=await _0x28a44c[_0x327d10(0xd4)](readdir,_0x1bfd46,{'withFileTypes':!![]});for(const _0x1d92fe of _0x1572b1){if(!_0x1d92fe['isFile']()||!VERIFY_FEATURE_NOVA_ARTIFACT_FILE_PATTERN[_0x327d10(0xdb)](_0x1d92fe[_0x327d10(0x164)]))continue;const _0x125887=_0x28a44c['thNDo'](join,_0x1bfd46,_0x1d92fe[_0x327d10(0x164)]),_0xc8145c=await _0x28a44c[_0x327d10(0x10c)](stat,_0x125887);if(_0x28a44c[_0x327d10(0x157)](_0xc8145c[_0x327d10(0x10d)],0x7d0)<_0x2a46da)continue;const _0x130817=_0x28a44c[_0x327d10(0x180)](buildCliArtifactPath,_0x14b43d,_0x1d92fe[_0x327d10(0x164)]);if(_0x28a44c['XPPKc'](_0x125887,_0x130817))continue;await rename(_0x125887,_0x130817),_0x928bc0['push'](_0x1d92fe['name']);}return _0x928bc0['sort']();}export async function loadVerifyFeatureNovaTraceUploadArtifact(_0x40ad0b){const _0x1b9025={'oDIQN':function(_0x506508,_0x11f8f4){return _0x506508(_0x11f8f4);}},_0x1303d1=join(_0x40ad0b,'trace.zip');try{return{'buffer':await _0x1b9025['oDIQN'](readFile,_0x1303d1),'source':_0x1303d1};}catch{return{'buffer':await _0x1b9025['oDIQN'](zipVerifyFeatureNovaArtifacts,_0x40ad0b),'source':_0x40ad0b};}}async function zipVerifyFeatureNovaArtifacts(_0x58496d){const _0xc846a4=_0x55adbb,_0x4e5cea={'PxkUW':function(_0x25f9c8,_0x5dfb40,_0x3e5a3e,_0x301a5a){return _0x25f9c8(_0x5dfb40,_0x3e5a3e,_0x301a5a);},'dowEC':function(_0x173c2e,_0x5016be,_0x3c2312,_0x507902){return _0x173c2e(_0x5016be,_0x3c2312,_0x507902);},'kqdJT':function(_0x13d453,_0x26a55b){return _0x13d453(_0x26a55b);},'PaZwo':function(_0x28ca90,_0x25cf68,_0x5c6ec5){return _0x28ca90(_0x25cf68,_0x5c6ec5);}},_0x1b19c2=_0x4e5cea['PxkUW'](join,_0x58496d,'..',_0xc846a4(0xe8));try{return await _0x4e5cea['dowEC'](execFileAsync,'zip',['-qr',_0x1b19c2,'.','-x',_0xc846a4(0x145)],{'cwd':_0x58496d}),await _0x4e5cea['kqdJT'](readFile,_0x1b19c2);}finally{await _0x4e5cea['PaZwo'](rm,_0x1b19c2,{'force':!![]});}}export function buildNovaActCliDiagnostics(_0x37503e){const _0x24bb8a=_0x55adbb,_0x55e9b0={'DQnSK':function(_0x55a1e1,_0x229234){return _0x55a1e1(_0x229234);}},_0x3989c9=buildNovaActCliInvocation(_0x37503e[_0x24bb8a(0x122)],_0x37503e[_0x24bb8a(0x11d)]);return{'command':_0x3989c9[_0x24bb8a(0xe1)],'args':_0x3989c9[_0x24bb8a(0x184)],'commandPreview':_0x55e9b0[_0x24bb8a(0xeb)](previewNovaActCliCommand,_0x3989c9['shellCommand']),'subcommand':_0x3989c9[_0x24bb8a(0x134)],'sharedOptionsSuffix':buildNovaActCliSharedOptionsSuffix(_0x37503e['novaOptions'],_0x37503e['commandArgs'])};}
|
|
1
|
+
const _0x4f800c=_0x5549;(function(_0x347279,_0x31bca1){const _0x47e67f=_0x5549,_0x427844=_0x347279();while(!![]){try{const _0x4bb82d=-parseInt(_0x47e67f(0x13e))/0x1+parseInt(_0x47e67f(0x16b))/0x2+-parseInt(_0x47e67f(0x11d))/0x3*(-parseInt(_0x47e67f(0x127))/0x4)+parseInt(_0x47e67f(0x138))/0x5*(parseInt(_0x47e67f(0xba))/0x6)+parseInt(_0x47e67f(0x146))/0x7*(parseInt(_0x47e67f(0xbb))/0x8)+-parseInt(_0x47e67f(0xfe))/0x9+parseInt(_0x47e67f(0xe9))/0xa*(-parseInt(_0x47e67f(0x111))/0xb);if(_0x4bb82d===_0x31bca1)break;else _0x427844['push'](_0x427844['shift']());}catch(_0x177885){_0x427844['push'](_0x427844['shift']());}}}(_0x1299,0xbd47c));import{execFile}from'child_process';import{mkdir,readdir,readFile,rename,rm,stat,writeFile}from'fs/promises';import{homedir}from'os';import{basename,join}from'path';import{promisify}from'util';import{chromium}from'playwright';import{buildNovaActCliInvocation,buildNovaActCliSharedOptionsSuffix,extractNovaActLogDir,parseNovaActCliCommand,previewNovaActCliCommand,runNovaActCliCommand}from'./utils/novaActCli.js';import{extractBashCommand,quoteShellArg}from'./utils/playwrightCli.js';const NOVA_ACT_CLI_COMMAND_TIMEOUT_MS=0x1d4c0,NOVA_ARTIFACT_CDP_CONNECT_TIMEOUT_MS=0x3a98,NOVA_ARTIFACT_METADATA_WAIT_MS=0x1388,NOVA_ARTIFACT_TRACE_SAMPLE_INTERVAL_MS=0x1388,VERIFY_FEATURE_NOVA_ARTIFACT_FILE_PATTERN=/^(?:\d{2}_.+\.(?:png|ya?ml)|key_.+\.png|final-state\.ya?ml|nova-session-export\.json)$/i,NOVA_ACT_ALLOWED_AGENT_COMMANDS=new Set(['session\x20create',_0x4f800c(0x184),'verify',_0x4f800c(0x162),_0x4f800c(0xb1),_0x4f800c(0xe6),_0x4f800c(0xe7),_0x4f800c(0xe1)]),execFileAsync=promisify(execFile);function buildCliArtifactPath(_0x3f8112,_0x573162){const _0x545254={'PlEij':function(_0x344a62,_0x50474f,_0x34dd6f){return _0x344a62(_0x50474f,_0x34dd6f);}};return _0x545254['PlEij'](join,_0x3f8112,_0x573162);}export class NovaActArtifactRecorder{['params'];['browser']=null;['context']=null;['frameSession']=null;[_0x4f800c(0x136)]=[];[_0x4f800c(0x108)]=0x0;['traceSampleCount']=0x0;[_0x4f800c(0x143)]=null;[_0x4f800c(0xfc)]=null;[_0x4f800c(0xd6)]=![];['screencastStarted']=![];[_0x4f800c(0x115)]=![];[_0x4f800c(0xed)]=![];constructor(_0x3d7e0b){const _0x2557b5=_0x4f800c;this[_0x2557b5(0x180)]=_0x3d7e0b;}async['start'](){const _0x19daf7=_0x4f800c,_0x2bb5ce={'vUrsa':function(_0x336c56,_0x3d18ca,_0x374562){return _0x336c56(_0x3d18ca,_0x374562);},'qXThY':_0x19daf7(0x164)};if(this[_0x19daf7(0x115)])return;this[_0x19daf7(0x115)]=!![];const _0x2ad1d1=await this[_0x19daf7(0x18a)](),_0x4c738d=_0x2ad1d1[_0x19daf7(0x139)];if(!_0x4c738d)throw new Error(_0x19daf7(0x123)+this[_0x19daf7(0x180)]['novaOptions'][_0x19daf7(0x10e)]);await _0x2bb5ce[_0x19daf7(0x12f)](mkdir,this[_0x19daf7(0x180)][_0x19daf7(0x124)],{'recursive':!![]}),this[_0x19daf7(0x15c)]=await chromium['connectOverCDP'](_0x4c738d,{'timeout':NOVA_ARTIFACT_CDP_CONNECT_TIMEOUT_MS}),this['context']=this[_0x19daf7(0x15c)]['contexts']()[0x0]??null;if(!this['context'])throw new Error(_0x19daf7(0x10d));await this[_0x19daf7(0xff)]['tracing'][_0x19daf7(0x158)]({'screenshots':!![],'snapshots':!![],'sources':!![]}),this['tracingStarted']=!![],this['startTraceSampling'](),await this[_0x19daf7(0xb8)](),this['params']['telemetry']['trackPhaseStart'](_0x2bb5ce['qXThY'],{...this['params'][_0x19daf7(0xf0)],'cdpEndpoint':_0x4c738d,'browserPid':_0x2ad1d1[_0x19daf7(0xca)],'sessionState':_0x2ad1d1['state']}),this[_0x19daf7(0x180)]['telemetry'][_0x19daf7(0x176)](_0x19daf7(0x164),{...this[_0x19daf7(0x180)]['transportMetadata'],'tracingStarted':this[_0x19daf7(0xd6)],'screencastStarted':this[_0x19daf7(0x152)]});}async['stop'](){const _0x571386=_0x4f800c,_0x37e661={'jmcBW':_0x571386(0x161),'LYNCn':function(_0x30ce93,_0x232952,_0x43eda8){return _0x30ce93(_0x232952,_0x43eda8);},'HgPDO':'trace.zip'};if(this[_0x571386(0xed)])return;this['stopped']=!![];const _0x49eda8={...this['params']['transportMetadata'],'frameCount':this['frameCount'],'traceSampleCount':this['traceSampleCount'],'tracingStarted':this[_0x571386(0xd6)],'screencastStarted':this['screencastStarted']};this[_0x571386(0x180)]['telemetry'][_0x571386(0x16c)](_0x37e661['jmcBW'],_0x49eda8);try{await this[_0x571386(0x165)](),await this['captureTraceSample'](),await this[_0x571386(0x128)](),await Promise[_0x571386(0xda)](this['frameWrites']);this['context']&&this[_0x571386(0xd6)]&&await this[_0x571386(0xff)]['tracing'][_0x571386(0x107)]({'path':_0x37e661[_0x571386(0x132)](buildCliArtifactPath,this[_0x571386(0x180)][_0x571386(0x124)],_0x37e661['HgPDO'])});const _0x8e4809=await this['encodeScreencastVideo']();this[_0x571386(0x180)]['telemetry']['trackPhaseEnd'](_0x571386(0x161),{..._0x49eda8,'videoPath':_0x8e4809});}catch(_0x4ab7d2){await this['params'][_0x571386(0xce)][_0x571386(0x183)](_0x37e661[_0x571386(0xe4)],_0x4ab7d2,_0x49eda8);}finally{await this['browser']?.['close']()['catch'](()=>undefined),this['browser']=null,this[_0x571386(0xff)]=null,this[_0x571386(0xad)]=null;}}async[_0x4f800c(0x18a)](){const _0x1bbd91=_0x4f800c,_0x2b288c={'PAlCY':function(_0x5c6468,_0x222f34,_0x631c71,_0x5ca059,_0x3544fc,_0xb5ad42){return _0x5c6468(_0x222f34,_0x631c71,_0x5ca059,_0x3544fc,_0xb5ad42);},'YZdBb':function(_0x480058){return _0x480058();},'UEYRV':function(_0x3146c3,_0x172bb2,_0x2a56cf){return _0x3146c3(_0x172bb2,_0x2a56cf);},'RRfvo':_0x1bbd91(0xc8),'rwwSC':function(_0x36fd5f,_0x28ae13){return _0x36fd5f-_0x28ae13;}},_0x22cb77=_0x2b288c[_0x1bbd91(0x11f)](join,_0x2b288c[_0x1bbd91(0x14e)](homedir),_0x1bbd91(0x186),'browser',_0x1bbd91(0x174),this['params'][_0x1bbd91(0x144)][_0x1bbd91(0x10e)]+_0x1bbd91(0x172)),_0x40fa91=Date[_0x1bbd91(0xde)]();let _0xdac34f;do{try{const _0x2ed5a5=JSON['parse'](await _0x2b288c[_0x1bbd91(0x15b)](readFile,_0x22cb77,_0x2b288c['RRfvo']));if(_0x2ed5a5['cdp_endpoint'])return _0x2ed5a5;_0xdac34f=new Error(_0x1bbd91(0xbe)+_0x22cb77);}catch(_0x141f36){_0xdac34f=_0x141f36;}await delay(0x64);}while(_0x2b288c[_0x1bbd91(0xc1)](Date[_0x1bbd91(0xde)](),_0x40fa91)<NOVA_ARTIFACT_METADATA_WAIT_MS);if(_0xdac34f instanceof Error)throw _0xdac34f;throw new Error('Unable\x20to\x20read\x20Nova\x20session\x20metadata\x20at\x20'+_0x22cb77);}async[_0x4f800c(0xb8)](){const _0x48fa29=_0x4f800c,_0x1b3f83={'fjCeC':function(_0x28097b,_0x2e30d3){return _0x28097b(_0x2e30d3);},'ULyTp':function(_0x389e15,_0x33f3a4,_0x5e15a1){return _0x389e15(_0x33f3a4,_0x5e15a1);},'gGOyZ':'base64','HwdkJ':function(_0x4a52c4,_0x932390,_0x580e2f){return _0x4a52c4(_0x932390,_0x580e2f);},'mHGJE':'Page.screencastFrame'};if(!this['context'])return;const _0x3051f6=this[_0x48fa29(0xff)]['pages']()[0x0];if(!_0x3051f6)return;const _0x2f2715=this[_0x48fa29(0x125)]();await _0x1b3f83['HwdkJ'](mkdir,_0x2f2715,{'recursive':!![]});const _0x2870ad=await this[_0x48fa29(0xff)][_0x48fa29(0x14d)](_0x3051f6);this['frameSession']=_0x2870ad,_0x2870ad['on'](_0x1b3f83['mHGJE'],_0x4c2754=>{const _0x363eea=_0x48fa29,_0x69414e=++this[_0x363eea(0x108)],_0x5f0c0d=join(_0x2f2715,_0x363eea(0x11c)+_0x1b3f83[_0x363eea(0x17a)](String,_0x69414e)['padStart'](0x6,'0')+_0x363eea(0xf4)),_0x30ad13=_0x1b3f83['ULyTp'](writeFile,_0x5f0c0d,Buffer[_0x363eea(0xd9)](_0x4c2754['data'],_0x1b3f83['gGOyZ']))['catch'](()=>undefined)['finally'](()=>_0x2870ad['send']('Page.screencastFrameAck',{'sessionId':_0x4c2754[_0x363eea(0x10e)]}))['then'](()=>undefined)[_0x363eea(0x12a)](()=>undefined);this[_0x363eea(0x136)]['push'](_0x30ad13);}),await _0x2870ad[_0x48fa29(0xdb)]('Page.startScreencast',{'format':'jpeg','quality':0x4b,'everyNthFrame':0x6}),this['screencastStarted']=!![];}async['stopScreencast'](){const _0x53500a=_0x4f800c,_0x103bfd={'mabos':_0x53500a(0xc7)};if(!this[_0x53500a(0xad)]||!this[_0x53500a(0x152)])return;await this['frameSession'][_0x53500a(0xdb)](_0x103bfd[_0x53500a(0x117)])[_0x53500a(0x12a)](()=>undefined);}[_0x4f800c(0x156)](){const _0x4462ad=_0x4f800c;this['queueTraceSample'](),this[_0x4462ad(0x143)]=setInterval(()=>this['queueTraceSample'](),NOVA_ARTIFACT_TRACE_SAMPLE_INTERVAL_MS);}[_0x4f800c(0xf7)](){const _0x1ec478=_0x4f800c;if(this[_0x1ec478(0xfc)])return;this[_0x1ec478(0xfc)]=this[_0x1ec478(0x154)]()['finally'](()=>{const _0x412f37=_0x1ec478;this[_0x412f37(0xfc)]=null;});}async[_0x4f800c(0x165)](){const _0x4d23d1=_0x4f800c;this[_0x4d23d1(0x143)]&&(clearInterval(this['traceSampleTimer']),this['traceSampleTimer']=null),await this[_0x4d23d1(0xfc)]?.[_0x4d23d1(0x12a)](()=>undefined);}async[_0x4f800c(0x154)](){const _0x116b76=_0x4f800c,_0x5b969e=this[_0x116b76(0xff)]?.[_0x116b76(0x167)]()[0x0];if(!_0x5b969e)return;try{await _0x5b969e[_0x116b76(0xb2)](_0x116b76(0xc0))[_0x116b76(0x100)](_0x5ebb6f=>_0x5ebb6f[_0x116b76(0x173)],undefined,{'timeout':0x3e8}),this['traceSampleCount']++;}catch{}}async['encodeScreencastVideo'](){const _0x12d7be=_0x4f800c,_0x5c0861={'JCjvP':function(_0x51016d,_0x44e416){return _0x51016d<_0x44e416;},'gEhPj':function(_0x240c9f){return _0x240c9f();},'ceBSE':function(_0x435fe5,_0x5a9c95,_0x2dfd8d){return _0x435fe5(_0x5a9c95,_0x2dfd8d);},'QIVFI':function(_0x391173,_0x2898f4,_0x2f23c2){return _0x391173(_0x2898f4,_0x2f23c2);},'EbwXe':'-hide_banner','zjtpL':'error','dXKLc':function(_0xfaa6d9,_0x573b7c,_0x4ead61){return _0xfaa6d9(_0x573b7c,_0x4ead61);},'paLTl':'frame-%06d.jpg','rvJms':_0x12d7be(0x121),'jVmaj':'scale=trunc(iw/2)*2:trunc(ih/2)*2','tWWRQ':_0x12d7be(0x163)};if(_0x5c0861[_0x12d7be(0x10a)](this[_0x12d7be(0x108)],0x2))return null;const _0x116fac=await _0x5c0861[_0x12d7be(0x142)](resolveFfmpegPath);if(!_0x116fac)return null;const _0x394b54=_0x5c0861['ceBSE'](join,this[_0x12d7be(0x180)][_0x12d7be(0x124)],'videos');await _0x5c0861['ceBSE'](mkdir,_0x394b54,{'recursive':!![]});const _0x36840e=join(_0x394b54,_0x12d7be(0x17d));return await _0x5c0861[_0x12d7be(0x15d)](execFileAsync,_0x116fac,['-y',_0x5c0861[_0x12d7be(0x17b)],'-loglevel',_0x5c0861[_0x12d7be(0xdf)],'-framerate','10','-i',_0x5c0861[_0x12d7be(0x12d)](join,this['getFrameDir'](),_0x5c0861[_0x12d7be(0x131)]),_0x5c0861[_0x12d7be(0x171)],_0x5c0861['jVmaj'],_0x12d7be(0x11a),_0x5c0861[_0x12d7be(0x13b)],'-pix_fmt','yuv420p',_0x36840e]),_0x36840e;}[_0x4f800c(0x125)](){const _0x2c0f45=_0x4f800c;return join(this[_0x2c0f45(0x180)]['cliArtifactDir'],'nova-video-frames');}}async function delay(_0x38b76c){await new Promise(_0x5edf9b=>setTimeout(_0x5edf9b,_0x38b76c));}async function resolveFfmpegPath(){const _0x1f0bf5=_0x4f800c,_0x5c28a9={'NjYSy':'ffmpeg','kIgqo':function(_0x33e490){return _0x33e490();},'RmaoP':_0x1f0bf5(0xbc),'ehPCf':'ms-playwright','yfPpO':function(_0x163902,_0x377041){return _0x163902(_0x377041);}};if(await canRunFfmpeg(_0x5c28a9[_0x1f0bf5(0x160)]))return _0x5c28a9['NjYSy'];const _0x437560=[join(_0x5c28a9['kIgqo'](homedir),'Library',_0x5c28a9[_0x1f0bf5(0x169)],_0x5c28a9[_0x1f0bf5(0xea)]),join(homedir(),_0x1f0bf5(0xd3),_0x1f0bf5(0xf2))];for(const _0x5e92fe of _0x437560){try{const _0x5eddc6=await _0x5c28a9['yfPpO'](readdir,_0x5e92fe),_0x11f1db=_0x5eddc6['filter'](_0x2e2073=>_0x2e2073[_0x1f0bf5(0xe0)]('ffmpeg-'))[_0x1f0bf5(0xb9)]()[_0x1f0bf5(0xf1)]()['flatMap'](_0xdff904=>[join(_0x5e92fe,_0xdff904,'ffmpeg-mac'),join(_0x5e92fe,_0xdff904,'ffmpeg-linux'),join(_0x5e92fe,_0xdff904,'ffmpeg.exe')]);for(const _0x20728f of _0x11f1db){if(await _0x5c28a9[_0x1f0bf5(0xd0)](canRunFfmpeg,_0x20728f))return _0x20728f;}}catch{}}return null;}async function canRunFfmpeg(_0x73f350){const _0x4ad0a3={'Toepg':function(_0x40bcef,_0x5db520,_0x3d83e8){return _0x40bcef(_0x5db520,_0x3d83e8);}};try{return await _0x4ad0a3['Toepg'](execFileAsync,_0x73f350,['-version']),!![];}catch{return![];}}function _0x5549(_0x3c9b0a,_0x21adec){_0x3c9b0a=_0x3c9b0a-0xad;const _0x1299bf=_0x1299();let _0x554992=_0x1299bf[_0x3c9b0a];return _0x554992;}function toStepDisplayName(_0xba42c1){const _0x3a23da=_0x4f800c,_0x24e099=basename(_0xba42c1)['replace'](/\.(?:png|ya?ml)$/i,'')[_0x3a23da(0xdd)](/^key_/i,'')[_0x3a23da(0xdd)](/^\d+_/,'')['replace'](/-/g,'\x20');return{'name':_0x24e099,'isKeyStep':/^key_/i['test'](basename(_0xba42c1))};}function extractShellValue(_0x28e1e1){if(!_0x28e1e1)return null;return _0x28e1e1[0x1]??_0x28e1e1[0x2]??_0x28e1e1[0x3]??null;}function extractOutputOption(_0x11e5b8){const _0x421e01=_0x4f800c;return extractShellValue(_0x11e5b8[_0x421e01(0x17e)](/--output(?:=|\s+)(?:"([^"]+)"|'([^']+)'|(\S+))/));}function formatNovaActCliLog(_0x36a842,_0x3fe525){const _0x58e7f9=_0x4f800c,_0x200385={'yOcDO':_0x58e7f9(0x184),'kAUje':'execute\x20Nova\x20browser\x20action','yVidV':'verify','vnYLZ':'verify\x20page\x20condition','yvfFJ':_0x58e7f9(0x114),'FGMAl':function(_0x7c72bc,_0x160032){return _0x7c72bc(_0x160032);},'DYJpZ':_0x58e7f9(0xf9),'GwpFs':function(_0x4f11dd,_0x580c74){return _0x4f11dd(_0x580c74);},'VqsiY':_0x58e7f9(0xc9)};switch(_0x3fe525){case'session\x20create':return _0x58e7f9(0xbf);case _0x200385[_0x58e7f9(0x175)]:return _0x200385[_0x58e7f9(0xcc)];case _0x200385['yVidV']:return _0x200385[_0x58e7f9(0x12c)];case _0x58e7f9(0x162):return _0x200385[_0x58e7f9(0xf6)];case'goto':return _0x58e7f9(0xb3);case _0x58e7f9(0xe6):return'wait\x20for\x20page\x20condition';case'snapshot':{const _0x843538=_0x200385[_0x58e7f9(0x110)](extractOutputOption,_0x36a842);if(!_0x843538)return'capture\x20snapshot';const {name:_0x10e627}=toStepDisplayName(_0x843538);return'capture\x20snapshot\x20`'+_0x10e627+'`';}case'screenshot':{const _0x4a3fef=extractOutputOption(_0x36a842);if(!_0x4a3fef)return _0x200385['DYJpZ'];const {name:_0x4bd2cf,isKeyStep:_0x3f226f}=_0x200385[_0x58e7f9(0x13c)](toStepDisplayName,_0x4a3fef);return _0x3f226f?_0x58e7f9(0xe2)+_0x4bd2cf+'`':'capture\x20step\x20`'+_0x4bd2cf+'`';}case'session\x20export':return _0x200385[_0x58e7f9(0xe3)];default:return _0x3fe525;}}function getNovaActCliCommandBlockReason(_0x37650f){const _0x19c29e=_0x4f800c,_0x3c274d={'FJlXL':function(_0x3357e7,_0xcf8855){return _0x3357e7(_0xcf8855);},'SJYRx':'Evaluate\x20visited-page\x20aggregate\x20requirements\x20from\x20the\x20collected\x20URLs,\x20titles,\x20headings,\x20verify\x20results,\x20and\x20screenshots.\x20Do\x20not\x20run\x20another\x20browser\x20command\x20to\x20re-check\x20pages\x20already\x20visited.','yQIFu':_0x19c29e(0x141)},_0x41fb84=_0x3c274d['FJlXL'](parseNovaActCliCommand,_0x37650f);if(!_0x41fb84)return _0x19c29e(0x17c);if(!NOVA_ACT_ALLOWED_AGENT_COMMANDS[_0x19c29e(0xcf)](_0x41fb84))return _0x19c29e(0xef)+_0x41fb84+_0x19c29e(0x12e);if(_0x41fb84===_0x19c29e(0xf8)&&/\b(?:previously visited|visited pages|pages visited|at least one of the pages visited)\b/i['test'](_0x37650f))return _0x3c274d['SJYRx'];if(/\s--help\b|\bdoctor\b|\bscript\b|\bsession\s+(?:close|list|export)\b/[_0x19c29e(0x120)](_0x37650f))return _0x3c274d['yQIFu'];return null;}function buildFeedbackSection(_0x2dcf5a){const _0x27c96d=_0x4f800c,_0xb471a9={'otZAw':'short','vBlfz':'numeric','abxQE':_0x27c96d(0xd1),'DoUfT':'\x20>\x20'};if(!_0x2dcf5a||_0x2dcf5a['unaddressedComments'][_0x27c96d(0xbd)]===0x0)return'';const _0x94988c=_0x2dcf5a['unaddressedComments'][_0x27c96d(0xd2)](_0x571dde=>{const _0xea4bbe=_0x27c96d,_0x3a84b1=new Date(_0x571dde['createdAt'])[_0xea4bbe(0x177)]('en-US',{'month':_0xb471a9['otZAw'],'day':_0xb471a9[_0xea4bbe(0x189)]}),_0x5306d8=_0x571dde['authorName']||_0x571dde[_0xea4bbe(0x104)]||_0xb471a9['abxQE'],_0x224a41=_0x571dde[_0xea4bbe(0x16a)]?'\x20(on\x20element:\x20<'+(_0x571dde['domRef'][_0xea4bbe(0x119)][_0xea4bbe(0x105)](_0xb471a9[_0xea4bbe(0xcb)])[_0xea4bbe(0x137)]()?.[_0xea4bbe(0x105)](':')[0x0]||_0xea4bbe(0x185))+'>\x20\x22'+(_0x571dde['domRef']['textContent']||'')['slice'](0x0,0x32)+'\x22)':'';return _0xea4bbe(0x140)+_0x571dde['id']+_0xea4bbe(0x188)+_0x5306d8+_0xea4bbe(0xd7)+_0x3a84b1+_0xea4bbe(0xc3)+_0x571dde['content']+'\x22'+_0x224a41;})[_0x27c96d(0xb6)]('\x0a');return'\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\x20in\x20addressedCommentIds.\x0a\x0a'+_0x94988c;}function buildNovaSharedOptionsInstruction(_0xe6f92){const _0x42a2e0=_0x4f800c;if(!_0xe6f92[_0x42a2e0(0xcd)]())return _0x42a2e0(0x18b);return _0x42a2e0(0x148)+_0xe6f92;}export function buildVerifyFeatureNovaCliDebugPrompt(_0x54f821){const _0x1662ea=_0x4f800c,_0x10ba95={'QlBRA':function(_0x7271a7,_0x65287f,_0x498109){return _0x7271a7(_0x65287f,_0x498109);},'edEvd':_0x1662ea(0xd4),'oKNlZ':'02_final-state.yml','wrTWQ':'03_final-state.png','cAgGd':function(_0xa71374,_0x439aeb){return _0xa71374(_0x439aeb);},'yOEAO':function(_0x194e79,_0xe9785c){return _0x194e79(_0xe9785c);},'lEJjK':function(_0x4b0e2b,_0x46e20b){return _0x4b0e2b(_0x46e20b);}},{novaCommandPrefix:_0x4ed94e,novaSharedOptionsSuffix:_0x3ef1d6,cliArtifactDir:_0x207090,url:_0x8d5d2c}=_0x54f821,_0x253ff2=_0x10ba95[_0x1662ea(0x166)](buildCliArtifactPath,_0x207090,_0x1662ea(0x126)),_0x538aa3=buildCliArtifactPath(_0x207090,_0x10ba95[_0x1662ea(0x150)]),_0x3e2c79=buildCliArtifactPath(_0x207090,_0x10ba95['oKNlZ']),_0x468e0b=_0x10ba95[_0x1662ea(0x166)](buildCliArtifactPath,_0x207090,_0x10ba95[_0x1662ea(0xec)]);return'You\x20are\x20testing\x20Nova\x20Act\x20browser\x20automation.\x20Your\x20task\x20is\x20simple.\x0a\x0aUse\x20Bash\x20and\x20Nova\x20Act\x20CLI\x20only.\x20The\x20browser\x20command\x20prefix\x20is:\x0a'+_0x4ed94e+'\x0a\x0a'+_0x10ba95['cAgGd'](buildNovaSharedOptionsInstruction,_0x3ef1d6)+'\x0a\x0aThe\x20act\x20CLI\x20is\x20already\x20installed\x20and\x20available\x20on\x20PATH.\x20Do\x20not\x20search\x20the\x20filesystem\x20for\x20Nova,\x20install\x20packages,\x20inspect\x20docs,\x20or\x20run\x20setup.\x20Your\x20first\x20Bash\x20command\x20must\x20be\x20the\x20session\x20create\x20command\x20below.\x0a\x0a1.\x20Run\x20`'+_0x4ed94e+_0x1662ea(0x103)+_0x10ba95[_0x1662ea(0x16f)](quoteShellArg,_0x8d5d2c)+'\x20'+_0x3ef1d6+_0x1662ea(0xc6)+_0x4ed94e+'\x20snapshot\x20--output\x20'+quoteShellArg(_0x253ff2)+'\x20'+_0x3ef1d6+_0x1662ea(0x11e)+_0x4ed94e+'\x20screenshot\x20--output\x20'+_0x10ba95['yOEAO'](quoteShellArg,_0x538aa3)+'\x20'+_0x3ef1d6+'`\x0a4.\x20Run\x20one\x20batched\x20`'+_0x4ed94e+'\x20execute\x20\x22...\x22`\x20command\x20to\x20exercise\x20the\x20current\x20page.\x0a5.\x20Run\x20`'+_0x4ed94e+'\x20snapshot\x20--output\x20'+_0x10ba95[_0x1662ea(0x134)](quoteShellArg,_0x3e2c79)+'\x20'+_0x3ef1d6+_0x1662ea(0x181)+_0x4ed94e+_0x1662ea(0xee)+quoteShellArg(_0x468e0b)+'\x20'+_0x3ef1d6+'`\x0a7.\x20Return\x20immediately\x20with\x20the\x20structured\x20output.\x0a\x0aSave\x20every\x20artifact\x20under\x20`'+_0x207090+_0x1662ea(0x13f);}export function buildVerifyFeatureNovaCliPrompt(_0x243a33){const _0x2f3e4c=_0x4f800c,_0x4b00d7={'GpVtz':function(_0x1fb7c8,_0x54e9ee){return _0x1fb7c8(_0x54e9ee);},'gjvpj':function(_0x4613d2,_0x4cac95,_0x54d1e7){return _0x4613d2(_0x4cac95,_0x54d1e7);},'FQkKS':function(_0x45b642,_0x1dcda5,_0x1db560){return _0x45b642(_0x1dcda5,_0x1db560);},'sSJnr':'key_03_success-state.png','IJGtR':_0x2f3e4c(0x12b),'wClvs':function(_0x1d3d16,_0x449400){return _0x1d3d16(_0x449400);}},{checklistItem:_0x251174,itemFeedback:_0xcafe5e,taskDescription:_0x482c4b,novaCommandPrefix:_0x268fa9,novaSharedOptionsSuffix:_0x427d07,cliArtifactDir:_0x830297,url:_0x3ab204,loginInstructions:_0xa0dd68}=_0x243a33,_0x3f812d=_0x251174['notes']?_0x2f3e4c(0x14a)+_0x251174['notes']:'',_0x4bf7e5=_0x4b00d7[_0x2f3e4c(0xf3)](buildFeedbackSection,_0xcafe5e),_0x40e2d2=_0xcafe5e?.[_0x2f3e4c(0x18c)]?'\x0a\x0a##\x20Expected\x20Flow\x20(from\x20previous\x20verification)\x0a'+_0xcafe5e[_0x2f3e4c(0x18c)]:'',_0x16010a=_0xa0dd68?_0x2f3e4c(0xe5)+_0xa0dd68+'\x0a\x0aIf\x20authentication\x20fails,\x20return\x20evaluation\x20\x22blocked\x22\x20and\x20describe\x20the\x20auth\x20failure.':'',_0x94ddfc=buildCliArtifactPath(_0x830297,'01_initial.yml'),_0x4c21fd=_0x4b00d7['gjvpj'](buildCliArtifactPath,_0x830297,'01_initial-state.png'),_0x6ada5a=_0x4b00d7[_0x2f3e4c(0x155)](buildCliArtifactPath,_0x830297,_0x4b00d7['sSJnr']);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'+_0x251174[_0x2f3e4c(0x106)]+_0x3f812d+_0x4bf7e5+_0x40e2d2+_0x2f3e4c(0xb7)+_0x482c4b+'\x0a\x0a##\x20App\x20Context\x0aYour\x20base\x20URL\x20is:\x20'+_0x3ab204+'\x0a-\x20You\x20may\x20ONLY\x20navigate\x20to\x20paths\x20under\x20this\x20base\x20URL\x27s\x20origin.\x0a-\x20Do\x20not\x20navigate\x20to\x20any\x20different\x20protocol,\x20host,\x20or\x20port.\x0a-\x20If\x20the\x20browser\x20leaves\x20this\x20origin,\x20navigate\x20back\x20once.\x20If\x20you\x20cannot\x20recover,\x20return\x20evaluation\x20\x22blocked\x22.\x0a'+_0x16010a+'\x0a\x0a##\x20Instructions\x0a1.\x20Use\x20Bash\x20plus\x20Nova\x20Act\x20CLI\x20only.\x20Do\x20not\x20call\x20MCP\x20browser\x20tools.\x0a2.\x20The\x20act\x20CLI\x20is\x20already\x20installed\x20and\x20available\x20through\x20the\x20browser\x20command\x20prefix\x20below.\x20Do\x20not\x20search\x20the\x20filesystem\x20for\x20Nova,\x20install\x20packages,\x20inspect\x20docs,\x20check\x20AWS/auth\x20status,\x20read\x20env\x20files,\x20run\x20setup,\x20or\x20call\x20raw\x20`act\x20browser`.\x0a3.\x20Your\x20first\x20Bash\x20command\x20must\x20be\x20`'+_0x268fa9+'\x20session\x20create\x20'+_0x4b00d7['GpVtz'](quoteShellArg,_0x3ab204)+'\x20'+_0x427d07+_0x2f3e4c(0xfb)+_0x830297+_0x2f3e4c(0x18d)+_0x268fa9+'\x20snapshot\x20--output\x20'+_0x4b00d7[_0x2f3e4c(0xf3)](quoteShellArg,_0x94ddfc)+'\x20'+_0x427d07+'`.\x0a6.\x20Take\x20an\x20initial\x20screenshot:\x20`'+_0x268fa9+'\x20screenshot\x20--output\x20'+_0x4b00d7[_0x2f3e4c(0xf3)](quoteShellArg,_0x4c21fd)+'\x20'+_0x427d07+'`.\x0a7.\x20Optimize\x20for\x20few\x20browser\x20round\x20trips.\x20Each\x20Nova\x20CLI\x20call\x20has\x20high\x20latency.\x0a8.\x20Use\x203-5\x20high-level\x20`execute`\x20commands\x20total.\x20Each\x20`execute`\x20should\x20contain\x202-5\x20concrete\x20browser\x20steps\x20and\x20should\x20drive\x20to\x20the\x20next\x20milestone\x20page.\x0a9.\x20Do\x20not\x20split\x20a\x20simple\x20navigation\x20into\x20separate\x20commands\x20like\x20\x22open\x20menu\x22,\x20then\x20\x22click\x20link\x22,\x20then\x20\x22screenshot\x22.\x20Batch\x20those\x20into\x20one\x20`execute`\x20when\x20the\x20target\x20is\x20clear.\x0a10.\x20Do\x20not\x20use\x20`ask`\x20unless\x20you\x20are\x20genuinely\x20stuck\x20or\x20need\x20to\x20disambiguate\x20visible\x20page\x20content.\x20Prefer\x20reading\x20the\x20output\x20from\x20`execute`,\x20`snapshot`,\x20and\x20`verify`.\x0a11.\x20Use\x20`verify`\x20only\x20at\x20milestone\x20pages\x20that\x20map\x20directly\x20to\x20scenario\x20requirements.\x20Do\x20not\x20verify\x20after\x20every\x20click.\x0a12.\x20Take\x20screenshots\x20for\x20each\x20scenario\x20milestone\x20so\x20every\x20verified\x20step\x20has\x20reviewable\x20image\x20evidence,\x20including\x20the\x20final\x20state.\x20Avoid\x20duplicate\x20screenshots\x20of\x20the\x20same\x20unchanged\x20page.\x0a13.\x20After\x20the\x20required\x20initial\x20snapshot,\x20do\x20not\x20take\x20separate\x20milestone\x20snapshots\x20unless\x20you\x20cannot\x20understand\x20the\x20page\x20from\x20the\x20`execute`,\x20`verify`,\x20and\x20screenshot\x20outputs.\x0a14.\x20Mark\x20the\x20most\x20important\x20proof\x20screenshot\x20with\x20`key_`,\x20for\x20example\x20`'+_0x6ada5a+'`.\x0a15.\x20As\x20soon\x20as\x20all\x20scenario\x20requirements\x20are\x20satisfied,\x20return\x20structured\x20output\x20immediately.\x20Do\x20not\x20keep\x20exploring,\x20asking,\x20or\x20taking\x20extra\x20screenshots.\x0a16.\x20Treat\x20a\x20Nova\x20`verify`\x20result\x20with\x20`ASSERTION_FAILED`\x20as\x20useful\x20evidence,\x20not\x20as\x20a\x20tool\x20crash.\x20Do\x20not\x20retry\x20the\x20same\x20assertion\x20or\x20search\x20for\x20alternatives\x20unless\x20the\x20scenario\x20explicitly\x20asks\x20you\x20to\x20find\x20any\x20matching\x20page.\x0a17.\x20Stay\x20within\x20the\x20pages\x20and\x20flow\x20named\x20by\x20the\x20scenario.\x20If\x20a\x20required\x20condition\x20is\x20absent\x20after\x20checking\x20the\x20relevant\x20named\x20page\x20once,\x20stop\x20and\x20return\x20\x22partial\x22\x20or\x20\x22failed\x22\x20with\x20the\x20missing\x20requirement.\x20Do\x20not\x20expand\x20into\x20unrelated\x20pages\x20or\x20broad\x20site\x20searches.\x0a18.\x20After\x20you\x20reach\x20and\x20screenshot\x20the\x20final\x20named\x20scenario\x20page,\x20do\x20not\x20execute\x20more\x20browser\x20commands.\x20Evaluate\x20any\x20\x22at\x20least\x20one\x20visited\x20page\x22\x20requirement\x20from\x20the\x20pages\x20already\x20visited\x20and\x20the\x20evidence\x20already\x20collected.\x0a19.\x20Do\x20not\x20run\x20`session\x20close`,\x20`session\x20list`,\x20`session\x20export`,\x20`script`,\x20`doctor`,\x20`--help`,\x20`aws`,\x20`find`,\x20`grep`,\x20`env`,\x20`printenv`,\x20package\x20managers,\x20or\x20setup\x20commands.\x20The\x20host\x20owns\x20setup,\x20auth,\x20session\x20cleanup,\x20and\x20artifact\x20export.\x0a20.\x20The\x20host\x20also\x20captures\x20final\x20screenshots,\x20snapshots,\x20and\x20exports\x20after\x20you\x20finish,\x20but\x20every\x20scenario\x20milestone\x20still\x20needs\x20an\x20accessible\x20screenshot.\x20If\x20the\x20last\x20milestone\x20is\x20the\x20final\x20browser\x20state\x20and\x20you\x20have\x20already\x20captured\x20it,\x20you\x20do\x20not\x20need\x20a\x20duplicate\x20final\x20screenshot.\x0a21.\x20Do\x20not\x20close\x20the\x20Nova\x20session.\x20The\x20host\x20exports\x20artifacts\x20after\x20you\x20finish.\x0a22.\x20The\x20structured\x20output\x20is\x20your\x20final\x20response.\x20After\x20returning\x20it,\x20do\x20not\x20write\x20a\x20separate\x20markdown\x20summary\x20or\x20repeat\x20the\x20findings.\x0a\x0a##\x20Browser\x20Command\x20Reference\x0aUse\x20Bash\x20to\x20run\x20Nova\x20Act\x20CLI\x20commands\x20with\x20this\x20prefix:\x0a`'+_0x268fa9+'`\x0a\x0aAppend\x20this\x20option\x20suffix\x20to\x20browser\x20commands:\x0a'+(_0x427d07['trim']()?'`'+_0x427d07+'`':_0x4b00d7[_0x2f3e4c(0x10f)])+'\x0a\x0a'+buildNovaSharedOptionsInstruction(_0x427d07)+_0x2f3e4c(0x102)+_0x268fa9+_0x2f3e4c(0x15f)+_0x427d07+_0x2f3e4c(0x15e)+_0x268fa9+_0x2f3e4c(0xfd)+_0x427d07+_0x2f3e4c(0x15e)+_0x268fa9+_0x2f3e4c(0x122)+_0x4b00d7['GpVtz'](quoteShellArg,_0x94ddfc)+'\x20'+_0x427d07+_0x2f3e4c(0x15e)+_0x268fa9+_0x2f3e4c(0xee)+_0x4b00d7['wClvs'](quoteShellArg,_0x6ada5a)+'\x20'+_0x427d07+'`\x0a\x0a##\x20Screenshot\x20Guidelines\x0aTake\x20screenshots\x20at\x20scenario\x20milestones\x20so\x20a\x20human\x20can\x20review\x20each\x20completed\x20step\x20and\x20the\x20final\x20state.\x20Use\x20numbered\x20filenames\x20and\x20prefix\x201-2\x20key\x20proof\x20screenshots\x20with\x20`key_`.\x20Avoid\x20duplicate\x20screenshots\x20of\x20the\x20same\x20unchanged\x20page\x20when\x20an\x20existing\x20verifier\x20screenshot\x20or\x20host\x20final\x20screenshot\x20is\x20accessible.\x0a\x0a##\x20Snapshot\x20Guidelines\x0aYou\x20must\x20take\x20the\x20initial\x20snapshot\x20listed\x20above.\x20After\x20that,\x20prefer\x20screenshots\x20plus\x20the\x20page\x20summaries\x20returned\x20by\x20`execute`\x20and\x20`verify`.\x20Only\x20call\x20`snapshot`\x20again\x20if\x20you\x20cannot\x20determine\x20the\x20next\x20action\x20or\x20evaluation\x20from\x20those\x20outputs.\x0a\x0a##\x20Early\x20Error\x20Detection\x0aAfter\x20the\x20initial\x20snapshot\x20and\x20screenshot,\x20check\x20for\x20blocking\x20HTTP\x20errors,\x20framework\x20error\x20pages,\x20blank\x20pages,\x20and\x20authentication\x20failures.\x20If\x20any\x20blocking\x20issue\x20is\x20present,\x20stop\x20and\x20return\x20evaluation\x20\x22blocked\x22\x20with\x20a\x20specific\x20reason.\x0a\x0a##\x20Failed\x20Assertions\x0aIf\x20`verify`\x20returns\x20`ASSERTION_FAILED`,\x20use\x20its\x20`actual`\x20and\x20`evidence`\x20fields\x20as\x20proof\x20for\x20the\x20final\x20evaluation.\x20Continue\x20only\x20to\x20finish\x20other\x20already-named\x20scenario\x20milestones.\x20Do\x20not\x20retry,\x20ask\x20about,\x20or\x20search\x20around\x20the\x20failed\x20condition.\x0a\x0a##\x20Final\x20Page\x20Stop\x0aWhen\x20the\x20scenario\x20names\x20a\x20final\x20page\x20or\x20final\x20navigation\x20target,\x20that\x20page\x20is\x20the\x20last\x20browser\x20milestone.\x20Once\x20it\x20is\x20loaded\x20and\x20screenshotted,\x20make\x20the\x20final\x20evaluation\x20from\x20the\x20collected\x20evidence.\x20Do\x20not\x20navigate,\x20search,\x20ask,\x20or\x20verify\x20beyond\x20that\x20final\x20page\x20unless\x20the\x20scenario\x20explicitly\x20names\x20another\x20page.\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\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.';}export function summarizeVerifyFeatureNovaCliCommandAvailability(_0x5b74fc){const _0x302dff=_0x4f800c,_0x57d066={'KoPEW':function(_0x5a0b47,_0x59cb11){return _0x5a0b47===_0x59cb11;}},_0x594202=[..._0x5b74fc['keys']()]['sort']();let _0x163281=0x0;for(const _0x843728 of _0x5b74fc[_0x302dff(0xeb)]()){_0x163281+=_0x843728;}return{'cliCommandCount':_0x163281,'cliCommandsSeen':_0x594202,'noCliCommandsCalled':_0x57d066[_0x302dff(0x116)](_0x163281,0x0)};}function _0x1299(){const _0x10a8f2=['vkjMM','50mtrXmz','ehPCf','values','wrTWQ','stopped','\x20screenshot\x20--output\x20','Nova\x20command\x20`','transportMetadata','reverse','ms-playwright','GpVtz','.jpg','AKdWx','yvfFJ','queueTraceSample','verify','capture\x20screenshot','session\x20create','`.\x0a4.\x20Save\x20every\x20snapshot\x20and\x20screenshot\x20under\x20`','traceSampleInFlight','\x20verify\x20\x22The\x20Billing\x20page\x20is\x20visible\x20and\x20shows\x20the\x20current\x20plan.\x22\x20','1109772JguZjq','context','evaluate','nkzek','\x0a\x0aExamples:\x0a-\x20`','\x20session\x20create\x20','authorEmail','split','description','stop','frameCount','uooVE','JCjvP','args','cwd','Nova\x20CDP\x20connection\x20did\x20not\x20expose\x20a\x20browser\x20context','sessionId','IJGtR','FGMAl','3717109dUmDEt','PostToolUseFailure','stderr','ask\x20page\x20question','startAttempted','KoPEW','mabos','log','selector','-c:v','nBQdv','frame-','9771rFkzbv','`\x0a3.\x20Run\x20`','PAlCY','test','-vf','\x20snapshot\x20--output\x20','Nova\x20session\x20metadata\x20did\x20not\x20include\x20cdp_endpoint\x20for\x20','cliArtifactDir','getFrameDir','00_initial-state.yml','1156XznHQa','stopScreencast','phase','catch','`<none;\x20the\x20command\x20prefix\x20injects\x20shared\x20options>`','vnYLZ','dXKLc','`\x20is\x20reserved\x20for\x20the\x20host.\x20Use\x20only\x20session\x20create,\x20execute,\x20verify,\x20ask,\x20goto,\x20wait-for,\x20snapshot,\x20and\x20screenshot.','vUrsa','PRNyV','paLTl','LYNCn','Bash','lEJjK','--output','frameWrites','pop','97635rSSwXK','cdp_endpoint','subcommand','tWWRQ','GwpFs','yiJHn','711474amiJLW','`\x20using\x20absolute\x20paths\x20only.\x0aReturn\x20your\x20findings\x20in\x20the\x20structured\x20output\x20format.','-\x20[','Do\x20not\x20run\x20Nova\x20help,\x20doctor,\x20script,\x20session\x20list,\x20session\x20export,\x20or\x20session\x20close\x20commands\x20during\x20verification.','gEhPj','traceSampleTimer','novaOptions','commandArgs','14kQFAjW','isFile','Append\x20this\x20option\x20suffix\x20to\x20every\x20browser\x20command\x20unless\x20the\x20host\x20gives\x20a\x20more\x20specific\x20example:\x0a','--report','\x0a\x0a##\x20Additional\x20Notes\x0a','hook_event_name','nova_act_final_snapshot','newCDPSession','YZdBb','close','edEvd','zGgvm','screencastStarted','push','captureTraceSample','FQkKS','startTraceSampling','nova_act_session_export','start','jqnRL','BKgWC','UEYRV','browser','QIVFI','`\x0a-\x20`','\x20execute\x20\x221.\x20Open\x20the\x20account\x20settings\x20menu.\x202.\x20Click\x20Billing.\x203.\x20Wait\x20for\x20the\x20Billing\x20page\x20to\x20load.\x22\x20','NjYSy','nova_act_artifact_recording_stop','ask','libvpx-vp9','nova_act_artifact_recording','stopTraceSampling','QlBRA','pages','XGbqY','RmaoP','domRef','1552368adKrMf','trackPhaseStart','export','nova-artifacts.zip','cAgGd','-qr','rvJms','.json','tagName','sessions','yOcDO','trackPhaseEnd','toLocaleDateString','nova-act-cli','nova-report','fjCeC','EbwXe','Use\x20only\x20the\x20provided\x20Nova\x20browser\x20command\x20prefix\x20for\x20browser\x20verification.\x20Do\x20not\x20inspect\x20setup,\x20credentials,\x20files,\x20or\x20the\x20local\x20environment.','session-recording.webm','match','PreToolUse','params','`\x0a6.\x20Run\x20`','cLnBP','trackPhaseError','execute','element','.act_cli','KBtNp',']\x20**','vBlfz','readSessionMetadataWithRetry','The\x20command\x20prefix\x20already\x20injects\x20session,\x20auth,\x20region,\x20workflow,\x20user-data,\x20headless,\x20and\x20JSON\x20options.\x0aDo\x20not\x20run\x20raw\x20`act\x20browser`.\x20Do\x20not\x20add\x20`--auth-mode`,\x20`--aws-profile`,\x20`--region`,\x20`--workflow-name`,\x20`--session-id`,\x20`--user-data-dir`,\x20`--headless`,\x20or\x20`--headed`\x20yourself.','canonicalFlow','`\x20using\x20absolute\x20paths\x20only.\x0a5.\x20Take\x20an\x20initial\x20snapshot:\x20`','frameSession','nova_act_command','TGxLp','command','goto','locator','navigate\x20browser','tool_name','error','join','\x0a\x0a##\x20Task\x20to\x20Execute\x0a','startScreencast','sort','348NrWfeG','1798584hrKZaz','Caches','length','Nova\x20metadata\x20missing\x20cdp_endpoint\x20at\x20','create\x20Nova\x20browser\x20session','body','rwwSC','KxJGo','):\x20\x22','CPzJg','invocation','`\x0a2.\x20Run\x20`','Page.stopScreencast','utf-8','export\x20Nova\x20session','browser_pid','DoUfT','kAUje','trim','telemetry','has','yfPpO','Reviewer','map','.cache','01_initial-state.png','pBIWr','tracingStarted','**\x20(','DfwRl','from','allSettled','send','final-state.yaml','replace','now','zjtpL','startsWith','screenshot','capture\x20key\x20step\x20`','VqsiY','jmcBW','\x0a\x0a##\x20Authentication\x0aBEFORE\x20starting\x20the\x20verification\x20task,\x20authenticate\x20using\x20these\x20steps:\x0a','wait-for','snapshot'];_0x1299=function(){return _0x10a8f2;};return _0x1299();}export function createVerifyFeatureNovaCliHooks(_0x323143,_0x17fe0c){const _0x2352d2=_0x4f800c,_0x14ed48={'jqnRL':function(_0x4abe3d,_0x1777a4){return _0x4abe3d!==_0x1777a4;},'DfwRl':_0x2352d2(0x133),'KuwlI':function(_0x2b02ca,_0x36193b){return _0x2b02ca(_0x36193b);},'uooVE':function(_0x560177,_0x4a612b){return _0x560177(_0x4a612b);},'PRNyV':function(_0x57bc3c,_0x29263e){return _0x57bc3c(_0x29263e);},'sUFfs':function(_0x1abb62,_0x2cd216){return _0x1abb62+_0x2cd216;},'NGtTv':'nova_act_command','lPGSc':_0x2352d2(0xfa),'LsvYJ':_0x2352d2(0x178),'XGbqY':_0x2352d2(0x112)},_0x4f6118=new Map(),_0x43d31b=async _0xaf76da=>{const _0x115b9d=_0x2352d2;if(_0x14ed48[_0x115b9d(0x159)](_0xaf76da['hook_event_name'],_0x115b9d(0x17f)))return{};const _0x41a364=_0xaf76da;if(_0x14ed48[_0x115b9d(0x159)](_0x41a364[_0x115b9d(0xb4)],_0x14ed48['DfwRl']))return{};const _0x4abf84=_0x41a364['tool_input'],_0x281354=_0x14ed48['KuwlI'](extractBashCommand,_0x4abf84);if(!_0x281354)return{};const _0xe3a44d=getNovaActCliCommandBlockReason(_0x281354);if(!_0xe3a44d)return{};return{'decision':'block','reason':_0xe3a44d};},_0x265e1a=async _0x240d48=>{const _0x1fa161=_0x2352d2;if(_0x240d48['hook_event_name']!=='PostToolUse')return{};const _0xca3d14=_0x240d48;if(_0x14ed48[_0x1fa161(0x159)](_0xca3d14['tool_name'],_0x14ed48[_0x1fa161(0xd8)]))return{};const _0x6829bb=_0xca3d14['tool_input'],_0x2cfe4e=_0x14ed48[_0x1fa161(0x109)](extractBashCommand,_0x6829bb);if(!_0x2cfe4e)return{};const _0x51f20d=_0x14ed48[_0x1fa161(0x130)](parseNovaActCliCommand,_0x2cfe4e);if(!_0x51f20d)return{};_0x4f6118['set'](_0x51f20d,_0x14ed48['sUFfs'](_0x4f6118['get'](_0x51f20d)||0x0,0x1)),_0x323143[_0x1fa161(0x16c)](_0x1fa161(0xae),{'subcommand':_0x51f20d}),_0x323143['trackPhaseEnd'](_0x14ed48['NGtTv'],{'subcommand':_0x51f20d,'commandPreview':previewNovaActCliCommand(_0x2cfe4e)}),console[_0x1fa161(0x118)]('[nova-act-cli]\x20'+formatNovaActCliLog(_0x2cfe4e,_0x51f20d));if(_0x51f20d===_0x14ed48['lPGSc']&&_0x17fe0c)try{await _0x17fe0c[_0x1fa161(0x158)]();}catch(_0x194e55){await _0x323143[_0x1fa161(0x183)]('nova_act_artifact_recording',_0x194e55,{'transport':_0x14ed48['LsvYJ']});}return{};},_0x2929f7=async _0x13f639=>{const _0x4eb607=_0x2352d2;if(_0x13f639[_0x4eb607(0x14b)]!==_0x14ed48[_0x4eb607(0x168)])return{};const _0x5c1a6d=_0x13f639;if(_0x14ed48[_0x4eb607(0x159)](_0x5c1a6d[_0x4eb607(0xb4)],'Bash'))return{};return await _0x323143['trackPhaseError']('nova_act_command_failure',_0x5c1a6d[_0x4eb607(0xb5)],{'transport':_0x14ed48['LsvYJ'],'toolName':_0x4eb607(0x133)}),{};};return{'preToolUseHook':_0x43d31b,'postToolUseHook':_0x265e1a,'postToolUseFailureHook':_0x2929f7,'commandCounts':_0x4f6118};}async function runNovaLifecycleCommand(_0x5952de){const _0xf4a79e=_0x4f800c,_0x455019={'ubCFz':function(_0x1f5fab,_0x509920){return _0x1f5fab??_0x509920;},'KxJGo':function(_0x3fbfd8,_0x190a6f){return _0x3fbfd8(_0x190a6f);}},{novaOptions:_0x322c4d,commandArgs:_0x14922d,telemetry:_0x52f1bb,phase:_0x433acd,metadata:_0x2fb69a,timeoutMs:_0x506641}=_0x5952de;_0x52f1bb['trackPhaseStart'](_0x433acd,_0x2fb69a);try{const _0x5b4c86=await runNovaActCliCommand({..._0x322c4d,'commandArgs':_0x14922d,'cwd':process[_0xf4a79e(0x10c)](),'env':process['env'],'timeoutMs':_0x455019['ubCFz'](_0x506641,NOVA_ACT_CLI_COMMAND_TIMEOUT_MS)});_0x52f1bb[_0xf4a79e(0x176)](_0x433acd,{..._0x2fb69a,'subcommand':_0x5b4c86[_0xf4a79e(0xc5)][_0xf4a79e(0x13a)],'commandPreview':previewNovaActCliCommand(_0x5b4c86[_0xf4a79e(0xc5)]['shellCommand']),'stdoutPreview':previewNovaActCliCommand(_0x5b4c86['stdout']),'stderrPreview':_0x455019['KxJGo'](previewNovaActCliCommand,_0x5b4c86[_0xf4a79e(0x113)]),'logDir':_0x455019[_0xf4a79e(0xc2)](extractNovaActLogDir,_0x5b4c86['stdout'])});}catch(_0x2d6aa1){await _0x52f1bb['trackPhaseError'](_0x433acd,_0x2d6aa1,_0x2fb69a);throw _0x2d6aa1;}}export async function finalizeVerifyFeatureNovaCliSession(_0xc70a30){const _0x2ca067=_0x4f800c,_0x2629e6={'dCYWu':'screenshot','nkzek':'--output','LsETF':'key_final-state.png','DkVRh':_0x2ca067(0x14c),'nBQdv':function(_0x5f0c20,_0x436abb,_0x2c13c6){return _0x5f0c20(_0x436abb,_0x2c13c6);},'CPzJg':_0x2ca067(0xdc),'jJCiz':_0x2ca067(0x157),'cLnBP':'session','pBIWr':_0x2ca067(0x16d),'CMtrr':'--format','zGgvm':function(_0x72999,_0x493754,_0x2a6b59){return _0x72999(_0x493754,_0x2a6b59);},'PMpNU':'nova_act_session_report','vkjMM':'nova_act_session_close'},{telemetry:_0x3e59ab,novaOptions:_0xbfdb9c,cliArtifactDir:_0x24eb11,transportMetadata:_0x31f2ea,artifactRecorder:_0x1f4b05}=_0xc70a30,_0x4915a8=[{'phase':'nova_act_final_screenshot','commandArgs':[_0x2629e6['dCYWu'],_0x2629e6[_0x2ca067(0x101)],buildCliArtifactPath(_0x24eb11,_0x2629e6['LsETF'])]},{'phase':_0x2629e6['DkVRh'],'commandArgs':[_0x2ca067(0xe7),_0x2ca067(0x135),_0x2629e6[_0x2ca067(0x11b)](buildCliArtifactPath,_0x24eb11,_0x2629e6[_0x2ca067(0xc4)])]},{'phase':_0x2629e6['jJCiz'],'commandArgs':[_0x2629e6[_0x2ca067(0x182)],_0x2629e6[_0x2ca067(0xd5)],_0x2629e6['CMtrr'],'json',_0x2629e6[_0x2ca067(0x101)],_0x2629e6[_0x2ca067(0x151)](buildCliArtifactPath,_0x24eb11,'nova-session-export.json')]},{'phase':_0x2629e6['PMpNU'],'commandArgs':[_0x2629e6[_0x2ca067(0x182)],_0x2629e6[_0x2ca067(0xd5)],_0x2ca067(0x149),'--output-dir',buildCliArtifactPath(_0x24eb11,_0x2ca067(0x179))]},{'phase':'nova_act_session_close','commandArgs':['session',_0x2ca067(0x14f)]}];for(const _0x639924 of _0x4915a8){_0x639924[_0x2ca067(0x129)]===_0x2629e6[_0x2ca067(0xe8)]&&await _0x1f4b05?.['stop']();try{await runNovaLifecycleCommand({'novaOptions':_0xbfdb9c,'commandArgs':[..._0x639924['commandArgs']],'telemetry':_0x3e59ab,'phase':_0x639924[_0x2ca067(0x129)],'metadata':_0x31f2ea});}catch{}}}export async function harvestVerifyFeatureNovaCliArtifacts(_0x243f8f){const _0x5d86f6=_0x4f800c,_0x1726a8={'iEoZN':function(_0x438977,_0x12f00d,_0x3b5fdd){return _0x438977(_0x12f00d,_0x3b5fdd);},'paMVl':function(_0xd7b354,_0x199fc9){return _0xd7b354(_0x199fc9);},'CiTdu':function(_0x3b846e,_0xc262fc){return _0x3b846e<_0xc262fc;},'KBtNp':function(_0x2d8630,_0x389e25,_0x4e4ae4){return _0x2d8630(_0x389e25,_0x4e4ae4);}},{cwd:_0x155307,cliArtifactDir:_0x4bedde,startTime:_0x4a8ed3}=_0x243f8f,_0x51fc82=[];await _0x1726a8['iEoZN'](mkdir,_0x4bedde,{'recursive':!![]});const _0x2f1ba2=await readdir(_0x155307,{'withFileTypes':!![]});for(const _0x194ff9 of _0x2f1ba2){if(!_0x194ff9[_0x5d86f6(0x147)]()||!VERIFY_FEATURE_NOVA_ARTIFACT_FILE_PATTERN['test'](_0x194ff9['name']))continue;const _0x203fcd=_0x1726a8['iEoZN'](join,_0x155307,_0x194ff9['name']),_0x2dac0c=await _0x1726a8['paMVl'](stat,_0x203fcd);if(_0x1726a8['CiTdu'](_0x2dac0c['mtimeMs']+0x7d0,_0x4a8ed3))continue;const _0x3ffb0e=buildCliArtifactPath(_0x4bedde,_0x194ff9['name']);if(_0x203fcd===_0x3ffb0e)continue;await _0x1726a8[_0x5d86f6(0x187)](rename,_0x203fcd,_0x3ffb0e),_0x51fc82[_0x5d86f6(0x153)](_0x194ff9['name']);}return _0x51fc82[_0x5d86f6(0xb9)]();}export async function loadVerifyFeatureNovaTraceUploadArtifact(_0x1a5045){const _0xe3306d=_0x4f800c,_0x4d5479={'yiJHn':function(_0x216d73,_0x5dbc06,_0x4990b7){return _0x216d73(_0x5dbc06,_0x4990b7);},'utYOh':function(_0xc2b79b,_0x5312f3){return _0xc2b79b(_0x5312f3);}},_0x2dd395=_0x4d5479[_0xe3306d(0x13d)](join,_0x1a5045,'trace.zip');try{return{'buffer':await _0x4d5479['utYOh'](readFile,_0x2dd395),'source':_0x2dd395};}catch{return{'buffer':await zipVerifyFeatureNovaArtifacts(_0x1a5045),'source':_0x1a5045};}}async function zipVerifyFeatureNovaArtifacts(_0x7d0a73){const _0x1021ee=_0x4f800c,_0x3de8d4={'AKdWx':_0x1021ee(0x16e),'BKgWC':function(_0x1c76e8,_0x5a2b5a,_0x5588d1,_0x561f10){return _0x1c76e8(_0x5a2b5a,_0x5588d1,_0x561f10);},'fjjBE':'zip','VXOzB':_0x1021ee(0x170),'DAggH':'nova-user-data/*'},_0x38d8d0=join(_0x7d0a73,'..',_0x3de8d4[_0x1021ee(0xf5)]);try{return await _0x3de8d4[_0x1021ee(0x15a)](execFileAsync,_0x3de8d4['fjjBE'],[_0x3de8d4['VXOzB'],_0x38d8d0,'.','-x',_0x3de8d4['DAggH']],{'cwd':_0x7d0a73}),await readFile(_0x38d8d0);}finally{await rm(_0x38d8d0,{'force':!![]});}}export function buildNovaActCliDiagnostics(_0x27adce){const _0x1bee1b=_0x4f800c,_0xa70d8d={'TGxLp':function(_0xd1a085,_0x4ef6c3,_0x4785d6){return _0xd1a085(_0x4ef6c3,_0x4785d6);}},_0x14d625=_0xa70d8d[_0x1bee1b(0xaf)](buildNovaActCliInvocation,_0x27adce[_0x1bee1b(0x144)],_0x27adce['commandArgs']);return{'command':_0x14d625[_0x1bee1b(0xb0)],'args':_0x14d625[_0x1bee1b(0x10b)],'commandPreview':previewNovaActCliCommand(_0x14d625['shellCommand']),'subcommand':_0x14d625[_0x1bee1b(0x13a)],'sharedOptionsSuffix':buildNovaActCliSharedOptionsSuffix(_0x27adce['novaOptions'],_0x27adce[_0x1bee1b(0x145)])};}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(_0x432758,_0x3e670d){const _0x42d593=_0x420c,_0x5310ac=_0x432758();while(!![]){try{const _0xfb7e1e=-parseInt(_0x42d593(0x1fe))/0x1+parseInt(_0x42d593(0x204))/0x2*(parseInt(_0x42d593(0x1d0))/0x3)+parseInt(_0x42d593(0x208))/0x4*(parseInt(_0x42d593(0x1ed))/0x5)+parseInt(_0x42d593(0x1ce))/0x6+parseInt(_0x42d593(0x202))/0x7*(-parseInt(_0x42d593(0x21b))/0x8)+parseInt(_0x42d593(0x1e1))/0x9+-parseInt(_0x42d593(0x200))/0xa;if(_0xfb7e1e===_0x3e670d)break;else _0x5310ac['push'](_0x5310ac['shift']());}catch(_0x564515){_0x5310ac['push'](_0x5310ac['shift']());}}}(_0x3a3b,0x70588));import{extractBashCommand,quoteShellArg}from'./utils/playwrightCli.js';import{parseRangerwrightCliCommand,runRangerwrightCliCommand}from'./utils/rangerwrightCli.js';const RANGERWRIGHT_CLI_COMMAND_TIMEOUT_MS=0xea60,RANGERWRIGHT_CLI_PREVIEW_LIMIT=0xf0;function truncatePreview(_0x34a7bb,_0x371d38=RANGERWRIGHT_CLI_PREVIEW_LIMIT){const _0x26c63b=_0x420c,_0x1fc305={'ERAIh':function(_0xa0cd21,_0x1927a7){return _0xa0cd21+_0x1927a7;},'dKoSD':_0x26c63b(0x1e5)};return _0x34a7bb[_0x26c63b(0x216)]>_0x371d38?_0x1fc305['ERAIh'](_0x34a7bb[_0x26c63b(0x1ff)](0x0,_0x371d38),_0x1fc305['dKoSD']):_0x34a7bb;}function extractShellValue(_0xac83d){if(!_0xac83d)return null;return _0xac83d[0x1]??_0xac83d[0x2]??_0xac83d[0x3]??null;}function extractFirstCommandArgument(_0x1098c7,_0x4e7d51){const _0x5d27e0=_0x420c,_0x639436={'UNisj':'\x5c$&','Cayep':function(_0x279134,_0x4bfc63){return _0x279134(_0x4bfc63);}},_0x522668=_0x4e7d51[_0x5d27e0(0x1c4)](/[.*+?^${}()|[\]\\]/g,_0x639436[_0x5d27e0(0x1e7)]);return _0x639436['Cayep'](extractShellValue,_0x1098c7[_0x5d27e0(0x20d)](new RegExp('(?:^|\x5cs)'+_0x522668+_0x5d27e0(0x21a))));}function formatCommandTarget(_0x59fb03){const _0x209807=_0x420c;if(!_0x59fb03)return _0x209807(0x1d8);if(/^e\d+$/i[_0x209807(0x1f6)](_0x59fb03))return _0x209807(0x1da)+_0x59fb03;return JSON['stringify'](truncatePreview(_0x59fb03,0x78));}function formatRangerwrightCliLog(_0x374d19,_0x27c667){const _0x5894a9=_0x420c,_0x49d5e8={'zMmmA':function(_0x1ba6bd,_0x3a58d0){return _0x1ba6bd(_0x3a58d0);},'wzklT':_0x5894a9(0x1de),'ENCbS':_0x5894a9(0x20f),'XEtgI':_0x5894a9(0x1be),'WWYTW':_0x5894a9(0x1dd),'QYEno':'stop\x20tracing','jSvMB':_0x5894a9(0x209),'PktuZ':_0x5894a9(0x1cc)};switch(_0x27c667){case'open-and-inspect':{const _0x29c5=extractFirstCommandArgument(_0x374d19,_0x27c667);return _0x29c5?_0x5894a9(0x1bf)+_0x29c5:_0x5894a9(0x201);}case _0x5894a9(0x1e8):return _0x5894a9(0x1c7)+_0x49d5e8[_0x5894a9(0x1c5)](formatCommandTarget,extractFirstCommandArgument(_0x374d19,_0x27c667));case _0x5894a9(0x21d):case'fill-and-inspect':return _0x5894a9(0x1e9)+formatCommandTarget(extractFirstCommandArgument(_0x374d19,_0x27c667));case'back-and-inspect':return _0x49d5e8['wzklT'];case _0x49d5e8[_0x5894a9(0x1ca)]:return _0x49d5e8['XEtgI'];case _0x49d5e8[_0x5894a9(0x1df)]:return _0x49d5e8['QYEno'];case'video-stop':return _0x49d5e8['jSvMB'];case _0x5894a9(0x20b):return _0x49d5e8[_0x5894a9(0x1f0)];default:return _0x27c667;}}function renderScenarioSections(_0x3c1412){const _0x2e3550=_0x420c,_0xd07c67={'DRAHv':'numeric','kjyJF':_0x2e3550(0x1c1),'tlcHn':_0x2e3550(0x1eb)},{checklistItem:_0x222484,itemFeedback:_0x1c3ce4}=_0x3c1412,_0x1dcd5c=_0x222484['notes']?_0x2e3550(0x1f1)+_0x222484['notes']:'';let _0x22401c='';if(_0x1c3ce4&&_0x1c3ce4[_0x2e3550(0x1d1)]['length']>0x0){const _0x341719=_0x1c3ce4[_0x2e3550(0x1d1)][_0x2e3550(0x1dc)](_0x76ca80=>{const _0x12498e=_0x2e3550,_0x2657c0=new Date(_0x76ca80['createdAt'])['toLocaleDateString']('en-US',{'month':'short','day':_0xd07c67[_0x12498e(0x1d3)]}),_0x255003=_0x76ca80['authorName']||_0x76ca80[_0x12498e(0x1c8)]||_0xd07c67[_0x12498e(0x1d9)],_0x5c81ea=_0x76ca80[_0x12498e(0x1c9)]?'\x20(on\x20element:\x20<'+(_0x76ca80['domRef'][_0x12498e(0x1f5)]['split'](_0x12498e(0x203))[_0x12498e(0x21e)]()?.[_0x12498e(0x210)](':')[0x0]||_0xd07c67['tlcHn'])+_0x12498e(0x1f2)+(_0x76ca80[_0x12498e(0x1c9)]['textContent']||'')['slice'](0x0,0x32)+'\x22)':'';return'-\x20['+_0x76ca80['id']+']\x20'+_0x255003+'\x20('+_0x2657c0+_0x12498e(0x1db)+_0x76ca80[_0x12498e(0x1c6)]+'\x22'+_0x5c81ea;})['join']('\x0a');_0x22401c=_0x2e3550(0x1e6)+_0x341719;}const _0x568993=_0x1c3ce4?.['canonicalFlow']?_0x2e3550(0x20c)+_0x1c3ce4['canonicalFlow']:'';return''+_0x222484['description']+_0x1dcd5c+_0x22401c+_0x568993;}export function buildVerifyFeatureRangerwrightCliPrompt(_0x55269e){const _0x321862=_0x420c,_0x1fb19d={'bIeMV':'01_initial-state.png','QEkXa':_0x321862(0x1e0),'WLCMT':function(_0x1fc75c,_0x2d5a79){return _0x1fc75c(_0x2d5a79);},'mBXld':'about:blank'},{checklistItem:_0x4d020a,itemFeedback:_0xd9ba96,taskDescription:_0x4b18a5,commandPrefix:_0x5989f2,isCdpMode:_0x5682d8,url:_0x5b2734,cdpEndpoint:_0x2ba78b,loginInstructions:_0x410a97}=_0x55269e,_0x9e2849=_0x1fb19d[_0x321862(0x1bc)],_0x253f3f=_0x1fb19d[_0x321862(0x1d5)],_0x3c871f=_0x5682d8?_0x5989f2+'\x20inspect\x20--screenshot-path\x20'+_0x1fb19d['WLCMT'](quoteShellArg,_0x9e2849):_0x5989f2+'\x20open-and-inspect\x20'+quoteShellArg(_0x5b2734??_0x1fb19d['mBXld'])+'\x20--screenshot-path\x20'+_0x1fb19d['WLCMT'](quoteShellArg,_0x9e2849),_0xf0f5f3=_0x5682d8?'##\x20App\x20Context\x0aYou\x20are\x20connected\x20to\x20a\x20desktop\x20application\x20via\x20CDP\x20at\x20'+_0x2ba78b+_0x321862(0x212):'CRITICAL\x20URL\x20REQUIREMENT:\x0aYour\x20base\x20URL\x20is:\x20'+_0x5b2734+'\x0a-\x20You\x20may\x20ONLY\x20navigate\x20to\x20paths\x20under\x20this\x20base\x20URL.\x0a-\x20DO\x20NOT\x20navigate\x20to\x20any\x20different\x20domain,\x20host,\x20or\x20port.\x0a-\x20If\x20documentation\x20or\x20code\x20diffs\x20suggest\x20a\x20path\x20exists,\x20navigate\x20to\x20it\x20only\x20under\x20this\x20base\x20URL.',_0x31f35d=_0x410a97?_0x321862(0x1e3)+_0x410a97+_0x321862(0x1fd):'';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'+renderScenarioSections({'checklistItem':_0x4d020a,'itemFeedback':_0xd9ba96})+'\x0a\x0a##\x20Task\x20to\x20Execute\x0a'+_0x4b18a5+'\x0a\x0a'+_0xf0f5f3+_0x31f35d+_0x321862(0x1e2)+_0x5989f2+'\x0a\x0aDo\x20not\x20define\x20an\x20RW\x20variable.\x20Do\x20not\x20use\x20node_modules/.bin/rangerwright,\x20npx,\x20npm,\x20cd,\x20find,\x20grep,\x20or\x20search\x20for\x20the\x20binary.\x20Browser\x20Trek\x20only\x20counts\x20literal\x20Rangerwright\x20command\x20invocations.\x0a\x0aTreat\x20the\x20command\x20prefix\x20as\x20immutable.\x20Copy\x20it\x20exactly,\x20then\x20append\x20one\x20supported\x20Rangerwright\x20subcommand\x20and\x20its\x20arguments.\x20If\x20a\x20browser\x20command\x20fails\x20because\x20the\x20binary\x20path\x20is\x20missing\x20or\x20the\x20command\x20syntax\x20is\x20malformed,\x20retry\x20once\x20with\x20the\x20exact\x20prefix\x20from\x20this\x20prompt\x20before\x20deciding\x20the\x20task\x20is\x20blocked.\x0a\x0aFirst\x20command:\x0a\x0a'+_0x3c871f+_0x321862(0x1fb)+_0x5989f2+_0x321862(0x1d2)+quoteShellArg(_0x253f3f)+_0x321862(0x205);}export function buildVerifyFeatureRangerwrightCliDebugPrompt(_0x11d965){const _0x3834ab=_0x420c,_0x14b67c={'MYRpN':'01_mozilla-homepage.png','KTbWM':_0x3834ab(0x1cf),'eOduA':function(_0x9732b4,_0x48a3fc){return _0x9732b4(_0x48a3fc);}},_0xba1e3a=_0x14b67c['MYRpN'],_0x2c0cbd=_0x14b67c['KTbWM'];return'You\x20are\x20testing\x20browser\x20automation.\x20Your\x20task\x20is\x20simple:\x0a\x0aUse\x20Bash\x20and\x20Rangerwright\x20only.\x20Every\x20browser\x20command\x20must\x20start\x20with\x20this\x20exact\x20literal\x20command\x20prefix:\x0a\x0a'+_0x11d965[_0x3834ab(0x206)]+_0x3834ab(0x213)+_0x11d965['commandPrefix']+_0x3834ab(0x1f7)+quoteShellArg(_0x11d965[_0x3834ab(0x21f)])+_0x3834ab(0x1f3)+_0x14b67c[_0x3834ab(0x217)](quoteShellArg,_0xba1e3a)+'`\x0a2.\x20Use\x20the\x20returned\x20JSON\x20to\x20find\x20the\x20\x22Learn\x20More\x22\x20link\x20ref.\x0a3.\x20Run\x20`'+_0x11d965[_0x3834ab(0x206)]+_0x3834ab(0x1cb)+_0x14b67c[_0x3834ab(0x217)](quoteShellArg,_0x2c0cbd)+'`\x0a4.\x20Return\x20immediately\x20with\x20the\x20structured\x20output.\x0a\x0aReturn\x20your\x20findings\x20in\x20the\x20structured\x20output\x20format.';}export function summarizeVerifyFeatureRangerwrightCliCommandAvailability(_0x5ab034){const _0x2b719b=_0x420c,_0x1dd484={'sgxAm':function(_0x332f7f,_0x1df274){return _0x332f7f===_0x1df274;}},_0x1c4234=[..._0x5ab034[_0x2b719b(0x215)]()]['sort']();let _0x5e515d=0x0;for(const _0x4e56fc of _0x5ab034['values']()){_0x5e515d+=_0x4e56fc;}return{'cliCommandCount':_0x5e515d,'cliCommandsSeen':_0x1c4234,'noCliCommandsCalled':_0x1dd484['sgxAm'](_0x5e515d,0x0)};}function _0x420c(_0xfa8181,_0x20f5d3){_0xfa8181=_0xfa8181-0x1bc;const _0x3a3b9c=_0x3a3b();let _0x420c11=_0x3a3b9c[_0xfa8181];return _0x420c11;}export function createVerifyFeatureRangerwrightCliHooks(_0xdfab4a){const _0x30653c=_0x420c,_0x1d980a={'LxLPr':_0x30653c(0x1bd),'JNrSb':function(_0x3e410a,_0x5ab504){return _0x3e410a(_0x5ab504);},'yqpTC':function(_0x5d3f06,_0xf8edef){return _0x5d3f06(_0xf8edef);},'hQysb':function(_0x54e740,_0x2182b7){return _0x54e740+_0x2182b7;},'WHFCS':_0x30653c(0x1ee),'HIjwN':function(_0x546088,_0x16313a,_0x331ad4){return _0x546088(_0x16313a,_0x331ad4);},'jdLEI':'Bash','qTiuu':_0x30653c(0x1e4)},_0x18be4a=new Map(),_0x5aa7fd=async _0x1cdc87=>{const _0x229596=_0x30653c;if(_0x1cdc87['hook_event_name']!==_0x1d980a[_0x229596(0x20a)])return{};const _0x196591=_0x1cdc87;if(_0x196591['tool_name']!==_0x229596(0x1f8))return{};const _0x4e605f=_0x196591['tool_input'],_0x8d3fb=_0x1d980a['JNrSb'](extractBashCommand,_0x4e605f);if(!_0x8d3fb)return{};const _0x304f49=_0x1d980a[_0x229596(0x1f4)](parseRangerwrightCliCommand,_0x8d3fb);if(!_0x304f49)return{};return _0x18be4a[_0x229596(0x214)](_0x304f49,_0x1d980a[_0x229596(0x1c0)](_0x18be4a[_0x229596(0x1d4)](_0x304f49)||0x0,0x1)),_0xdfab4a['trackPhaseStart'](_0x1d980a['WHFCS'],{'subcommand':_0x304f49}),_0xdfab4a['trackPhaseEnd'](_0x1d980a[_0x229596(0x1d6)],{'subcommand':_0x304f49,'commandPreview':truncatePreview(_0x8d3fb)}),console['log'](_0x229596(0x1c2)+_0x1d980a['HIjwN'](formatRangerwrightCliLog,_0x8d3fb,_0x304f49)),{};},_0x197c8d=async _0x43ed3e=>{const _0x2d242e=_0x30653c;if(_0x43ed3e['hook_event_name']!==_0x2d242e(0x219))return{};const _0x9d205c=_0x43ed3e;if(_0x9d205c[_0x2d242e(0x1ef)]!==_0x1d980a['jdLEI'])return{};return await _0xdfab4a['trackPhaseError'](_0x1d980a['qTiuu'],_0x9d205c[_0x2d242e(0x1cd)],{'transport':'rangerwright-cli','toolName':'Bash'}),{};};return{'postToolUseHook':_0x5aa7fd,'postToolUseFailureHook':_0x197c8d,'commandCounts':_0x18be4a};}function _0x3a3b(){const _0xe34004=['\x0a\x0a##\x20Authentication\x0aBEFORE\x20starting\x20the\x20verification\x20task,\x20authenticate\x20using\x20these\x20steps:\x0a','rangerwright_cli_command_failure','...','\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\x20in\x20addressedCommentIds.\x0a\x0a','UNisj','click-and-inspect','fill\x20','iqvWE','element','cCuVv','915150gVpaVz','rangerwright_cli_command','tool_name','PktuZ','\x0a\x0a##\x20Additional\x20Notes\x0a','>\x20\x22','\x20--screenshot-path\x20','yqpTC','selector','test','\x20open-and-inspect\x20','Bash','trackPhaseError','commandArgs','\x0a\x0aPrefer\x20open-and-inspect\x20and\x20click-and-inspect\x20when\x20you\x20need\x20a\x20fresh\x20snapshot\x20plus\x20evidence.\x0a\x0aUse\x20back-and-inspect\x20to\x20return\x20to\x20the\x20previous\x20page\x20after\x20checking\x20a\x20detail\x20page.\x20Refresh\x20refs\x20after\x20going\x20back.\x0a\x0aEach\x20command\x20returns\x20JSON\x20with\x20success,\x20data,\x20and\x20error\x20fields.\x0a\x0aUse\x20data.title,\x20data.headings,\x20data.pageText,\x20and\x20data.snapshotText\x20together.\x20snapshotText\x20is\x20best\x20for\x20refs\x20and\x20controls;\x20pageText\x20is\x20valid\x20visible\x20evidence\x20for\x20page\x20content.\x0a\x0aDo\x20not\x20verify\x20from\x20a\x20broad\x20landing,\x20index,\x20category,\x20search,\x20or\x20navigation\x20page\x20when\x20the\x20task\x20asks\x20for\x20a\x20specific\x20page,\x20topic,\x20item,\x20or\x20action.\x20Click\x20and\x20inspect\x20the\x20most\x20specific\x20visible\x20target\x20first;\x20if\x20no\x20specific\x20target\x20exists,\x20report\x20the\x20missing\x20target.\x0a\x0aSave\x20screenshots\x20by\x20using\x20--screenshot-path\x20on\x20inspect\x20commands.\x20Relative\x20screenshot\x20paths\x20are\x20saved\x20under\x20the\x20run\x20artifact\x20directory.\x20Do\x20not\x20call\x20screenshot\x20--path.\x0a\x0aExample:\x0a\x0a','invocation','\x0a\x0aAfter\x20completing\x20authentication,\x20proceed\x20with\x20the\x20verification\x20task\x20below.\x0aIf\x20authentication\x20fails,\x20return\x20evaluation\x20\x22blocked\x22\x20and\x20describe\x20the\x20auth\x20failure.','572745bVHlFZ','slice','1997610YdzkEu','open\x20and\x20inspect','7DssCLQ','\x20>\x20','69500RAvgJO','\x0a\x0aRefs\x20like\x20e37\x20are\x20only\x20valid\x20for\x20the\x20snapshot\x20that\x20produced\x20them.\x20Refresh\x20refs\x20after\x20navigation.\x0a\x0aUse\x20short\x20concrete\x20checkpoints\x20internally:\x20what\x20target\x20is\x20visible,\x20what\x20command\x20changes\x20state,\x20and\x20what\x20evidence\x20is\x20still\x20missing.\x20Issue\x20one\x20browser\x20command\x20at\x20a\x20time.\x20After\x20navigation,\x20validation,\x20or\x20a\x20changed\x20page,\x20inspect\x20before\x20deciding\x20the\x20next\x20action.\x0a\x0aBefore\x20reporting\x20success,\x20compare\x20each\x20required\x20CTA,\x20page\x20purpose,\x20and\x20topic\x20against\x20visible\x20page\x20evidence.\x20A\x20related\x20page\x20does\x20not\x20satisfy\x20a\x20different\x20required\x20topic\x20unless\x20the\x20page\x20text\x20directly\x20supports\x20that\x20topic\x20or\x20an\x20obvious\x20synonym.\x20If\x20required\x20evidence\x20is\x20missing,\x20mismatched,\x20or\x20only\x20inferred\x20from\x20adjacent\x20content,\x20report\x20that\x20plainly\x20and\x20do\x20not\x20mark\x20the\x20task\x20verified.\x0a\x0aFor\x20goals\x20with\x20more\x20than\x20one\x20required\x20condition,\x20use\x20an\x20internal\x20checklist\x20built\x20from\x20the\x20user\x27s\x20exact\x20requested\x20conditions.\x20Verify\x20each\x20checklist\x20item\x20against\x20visible\x20evidence\x20from\x20the\x20latest\x20browser\x20result.\x20If\x20any\x20item\x20lacks\x20direct\x20evidence,\x20report\x20the\x20task\x20as\x20not\x20verified\x20and\x20name\x20the\x20missing\x20item.\x0a\x0aOn\x20forms,\x20fill\x20only\x20visible\x20task-relevant\x20editable\x20fields\x20in\x20the\x20current\x20step\x20before\x20submitting\x20or\x20advancing.\x20Use\x20labels,\x20placeholders,\x20and\x20current\x20page\x20text\x20to\x20decide\x20which\x20fields\x20are\x20required.\x20Do\x20not\x20fill\x20fields\x20that\x20are\x20not\x20visible\x20in\x20the\x20latest\x20snapshot.\x0a\x0aUse\x20one\x20fill\x20command\x20per\x20field.\x20Do\x20not\x20combine\x20multiple\x20fields\x20into\x20one\x20fill\x20command\x20with\x20semicolons.\x0a\x0aIf\x20an\x20inspect-action\x20click\x20returns\x20the\x20same\x20page\x20or\x20shows\x20validation,\x20inspect\x20the\x20current\x20page\x20and\x20fill\x20blank\x20required\x20fields\x20before\x20retrying.\x20Do\x20not\x20repeat\x20the\x20same\x20blocked\x20click\x20unchanged.\x0a\x0aIf\x20a\x20click-and-inspect\x20result\x20keeps\x20the\x20same\x20URL\x20and\x20does\x20not\x20show\x20the\x20intended\x20target,\x20treat\x20it\x20as\x20a\x20no-op.\x20Refresh\x20refs\x20and\x20choose\x20a\x20different\x20visible\x20link,\x20or\x20use\x20back-and-inspect\x20if\x20you\x20need\x20the\x20prior\x20page.\x0a\x0aA\x20page\x20with\x20visible\x20required\x20fields\x20and\x20a\x20next,\x20submit,\x20continue,\x20or\x20confirm\x20control\x20is\x20still\x20actionable.\x20Fill\x20the\x20required\x20fields\x20with\x20values\x20from\x20the\x20task\x20before\x20reporting\x20incomplete\x20or\x20blocked.\x0a\x0a##\x20Critical:\x20Early\x20Error\x20Detection\x0aAfter\x20the\x20first\x20inspect\x20result,\x20check\x20for\x20blocking\x20errors:\x0a-\x20HTTP\x20404,\x20500,\x20400,\x20\x22Not\x20Found\x22,\x20\x22Server\x20Error\x22,\x20or\x20\x22Bad\x20Request\x22\x0a-\x20Framework\x20error\x20pages\x0a-\x20Blank\x20pages\x20with\x20no\x20content\x0a-\x20App\x20crash\x20or\x20error\x20dialogs\x0a\x0aIf\x20any\x20blocking\x20error\x20is\x20visible,\x20return\x20evaluation\x20\x22blocked\x22\x20immediately\x20with\x20a\x20specific\x20reason.\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\x20are\x20not\x20verified\x0a-\x20BLOCKED:\x20A\x20blocking\x20issue\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.','commandPrefix','xPUXU','4LQhJEg','stop\x20video\x20recording','LxLPr','close','\x0a\x0a##\x20Expected\x20Flow\x20(from\x20previous\x20verification)\x0a','match','FyfUQ','inspect','split','rangerwright_cli_tracing_stop','.\x0aThe\x20app\x20is\x20already\x20running\x20and\x20connected.\x20Start\x20with\x20inspect\x20instead\x20of\x20opening\x20a\x20URL.','\x0a\x0aDo\x20not\x20define\x20an\x20RW\x20variable.\x20Do\x20not\x20use\x20node_modules/.bin/rangerwright,\x20npx,\x20npm,\x20cd,\x20find,\x20grep,\x20or\x20search\x20for\x20the\x20binary.\x0a\x0a1.\x20Run\x20`','set','keys','length','eOduA','xiZEr','PostToolUseFailure','(?:\x5cs+(?:\x22([^\x22]+)\x22|\x27([^\x27]+)\x27|(\x5cS+)))','4207736VXBQXy','tjcAF','fill','pop','url','bIeMV','PostToolUse','inspect\x20page','open\x20and\x20inspect\x20','hQysb','Reviewer','[rangerwright-cli]\x20','phase','replace','zMmmA','content','click\x20and\x20inspect\x20','authorEmail','domRef','ENCbS','\x20click-and-inspect\x20<ref>\x20--screenshot-path\x20','close\x20browser\x20session','error','648720jspvjF','key_02_learn-more.png','75GYzyvU','unaddressedComments','\x20click-and-inspect\x20e37\x20--screenshot-path\x20','DRAHv','get','QEkXa','WHFCS','rangerwright_cli_video_stop','target','kjyJF','ref\x20','):\x20\x22','map','tracing-stop','go\x20back\x20and\x20inspect','WWYTW','key_99_final-state.png','5388669ThOxHQ','\x0a\x0a##\x20Rangerwright\x20Instructions\x0aUse\x20Bash\x20and\x20Rangerwright\x20only.\x0a\x0aEvery\x20browser\x20command\x20must\x20start\x20with\x20this\x20exact\x20literal\x20command\x20prefix:\x0a\x0a'];_0x3a3b=function(){return _0xe34004;};return _0x3a3b();}async function runRangerwrightLifecycleCommand(_0x5f179c){const _0x37d80d=_0x420c,_0xf42c7={'FyfUQ':function(_0x2290f0,_0x1444b9){return _0x2290f0(_0x1444b9);},'xPUXU':function(_0x1c4db3,_0x49537b){return _0x1c4db3??_0x49537b;},'xiZEr':function(_0x147d1a,_0xac863f,_0x264e3d){return _0x147d1a(_0xac863f,_0x264e3d);},'cCuVv':function(_0x3948a9,_0x3da20a,_0x3768ca){return _0x3948a9(_0x3da20a,_0x3768ca);}},{options:_0x59293e,commandArgs:_0x52e5d1,env:_0x5c4ec8,telemetry:_0xf5a3dd,phase:_0xc9d10,metadata:_0x109d2c,timeoutMs:_0x417ed7}=_0x5f179c;_0xf5a3dd['trackPhaseStart'](_0xc9d10,_0x109d2c);try{const _0x310f57=await _0xf42c7[_0x37d80d(0x20e)](runRangerwrightCliCommand,{..._0x59293e,'commandArgs':_0x52e5d1,'cwd':process['cwd'](),'env':_0x5c4ec8,'timeoutMs':_0xf42c7[_0x37d80d(0x207)](_0x417ed7,RANGERWRIGHT_CLI_COMMAND_TIMEOUT_MS)});_0xf5a3dd['trackPhaseEnd'](_0xc9d10,{..._0x109d2c,'subcommand':_0x310f57[_0x37d80d(0x1fc)]['subcommand'],'stdoutPreview':_0xf42c7[_0x37d80d(0x218)](truncatePreview,_0x310f57['stdout'],0x7d0),'stderrPreview':_0xf42c7[_0x37d80d(0x1ec)](truncatePreview,_0x310f57['stderr'],0x7d0)});}catch(_0x3a4d8f){await _0xf5a3dd[_0x37d80d(0x1f9)](_0xc9d10,_0x3a4d8f,_0x109d2c);throw _0x3a4d8f;}}export async function finalizeVerifyFeatureRangerwrightCliSession(_0x1ba2db){const _0x3ff366=_0x420c,_0x1819c8={'mFHBy':_0x3ff366(0x1dd),'tjcAF':'video-stop','lvdRt':'rangerwright_cli_close','iqvWE':_0x3ff366(0x20b),'cNitU':function(_0x5eff9d,_0x39408a){return _0x5eff9d(_0x39408a);}},{telemetry:_0x342a7e,rangerwrightOptions:_0x5ee1d8,env:_0x470139,transportMetadata:_0x43f154}=_0x1ba2db,_0x4389f4=[{'phase':_0x3ff366(0x211),'commandArgs':[_0x1819c8['mFHBy']]},{'phase':_0x3ff366(0x1d7),'commandArgs':[_0x1819c8[_0x3ff366(0x21c)]]},{'phase':_0x1819c8['lvdRt'],'commandArgs':[_0x1819c8[_0x3ff366(0x1ea)]]}];for(const _0x5c56c5 of _0x4389f4){try{await _0x1819c8['cNitU'](runRangerwrightLifecycleCommand,{'options':_0x5ee1d8,'commandArgs':[..._0x5c56c5[_0x3ff366(0x1fa)]],'env':_0x470139,'telemetry':_0x342a7e,'phase':_0x5c56c5[_0x3ff366(0x1c3)],'metadata':_0x43f154});}catch{}}}
|
|
1
|
+
function _0x5a95(_0x925c7a,_0x116467){_0x925c7a=_0x925c7a-0xa7;const _0x556ee3=_0x556e();let _0x5a950a=_0x556ee3[_0x925c7a];return _0x5a950a;}(function(_0x3b7eb8,_0x491da8){const _0x1d633e=_0x5a95,_0x4cb7c7=_0x3b7eb8();while(!![]){try{const _0xc20f1d=parseInt(_0x1d633e(0xc8))/0x1+-parseInt(_0x1d633e(0xc7))/0x2*(parseInt(_0x1d633e(0xd3))/0x3)+parseInt(_0x1d633e(0x101))/0x4*(-parseInt(_0x1d633e(0xf1))/0x5)+parseInt(_0x1d633e(0x105))/0x6*(parseInt(_0x1d633e(0xf2))/0x7)+parseInt(_0x1d633e(0xc2))/0x8+parseInt(_0x1d633e(0xef))/0x9+-parseInt(_0x1d633e(0xd4))/0xa;if(_0xc20f1d===_0x491da8)break;else _0x4cb7c7['push'](_0x4cb7c7['shift']());}catch(_0x958c36){_0x4cb7c7['push'](_0x4cb7c7['shift']());}}}(_0x556e,0x3f453));import{extractBashCommand,quoteShellArg}from'./utils/playwrightCli.js';import{parseRangerwrightCliCommand,runRangerwrightCliCommand}from'./utils/rangerwrightCli.js';const RANGERWRIGHT_CLI_COMMAND_TIMEOUT_MS=0xea60,RANGERWRIGHT_CLI_PREVIEW_LIMIT=0xf0;function truncatePreview(_0x213232,_0x554bd1=RANGERWRIGHT_CLI_PREVIEW_LIMIT){const _0x5e41a0=_0x5a95,_0x1513cf={'BFqzH':function(_0x2dd16f,_0x1ce115){return _0x2dd16f>_0x1ce115;},'GRgqU':function(_0x1b0fc9,_0x23ba4e){return _0x1b0fc9+_0x23ba4e;},'WFTah':'...'};return _0x1513cf[_0x5e41a0(0xbc)](_0x213232[_0x5e41a0(0xad)],_0x554bd1)?_0x1513cf['GRgqU'](_0x213232[_0x5e41a0(0xb6)](0x0,_0x554bd1),_0x1513cf['WFTah']):_0x213232;}function extractShellValue(_0x224af2){if(!_0x224af2)return null;return _0x224af2[0x1]??_0x224af2[0x2]??_0x224af2[0x3]??null;}function extractFirstCommandArgument(_0x3cc544,_0xc90783){const _0x469b68=_0x5a95,_0x58a8cd={'fqeLy':'\x5c$&'},_0x1937dd=_0xc90783[_0x469b68(0xac)](/[.*+?^${}()|[\]\\]/g,_0x58a8cd['fqeLy']);return extractShellValue(_0x3cc544['match'](new RegExp(_0x469b68(0xf4)+_0x1937dd+_0x469b68(0xd6))));}function formatCommandTarget(_0x3929e9){const _0x70256a=_0x5a95,_0x3d8ece={'ucbAy':'target'};if(!_0x3929e9)return _0x3d8ece['ucbAy'];if(/^e\d+$/i[_0x70256a(0xb7)](_0x3929e9))return _0x70256a(0xb5)+_0x3929e9;return JSON[_0x70256a(0xf5)](truncatePreview(_0x3929e9,0x78));}function formatRangerwrightCliLog(_0x1fde12,_0x444476){const _0x1b210f=_0x5a95,_0x3ed2e6={'NonJd':_0x1b210f(0xdb),'YNQaM':function(_0x57a6dc,_0x56a4f8,_0xa33a38){return _0x57a6dc(_0x56a4f8,_0xa33a38);},'Esqax':_0x1b210f(0xbe),'BQcRN':function(_0x1b9bfd,_0x574113){return _0x1b9bfd(_0x574113);},'XPcPx':function(_0x4e089a,_0x498c39,_0x2cc6a7){return _0x4e089a(_0x498c39,_0x2cc6a7);},'QHQCX':_0x1b210f(0xb4),'KcXXQ':'back-and-inspect','tGcGD':'tracing-stop','DbeHt':_0x1b210f(0xcb),'zCUMz':'video-stop','vNLId':_0x1b210f(0xaa),'yxwZH':_0x1b210f(0xe0)};switch(_0x444476){case _0x3ed2e6[_0x1b210f(0xcf)]:{const _0x457ab4=_0x3ed2e6['YNQaM'](extractFirstCommandArgument,_0x1fde12,_0x444476);return _0x457ab4?'open\x20and\x20inspect\x20'+_0x457ab4:'open\x20and\x20inspect';}case _0x3ed2e6[_0x1b210f(0xe1)]:return _0x1b210f(0x104)+_0x3ed2e6[_0x1b210f(0xda)](formatCommandTarget,_0x3ed2e6[_0x1b210f(0xdf)](extractFirstCommandArgument,_0x1fde12,_0x444476));case _0x1b210f(0xe8):case _0x3ed2e6['QHQCX']:return _0x1b210f(0xa8)+formatCommandTarget(extractFirstCommandArgument(_0x1fde12,_0x444476));case _0x3ed2e6[_0x1b210f(0xe2)]:return _0x1b210f(0x100);case'inspect':return _0x1b210f(0xcc);case _0x3ed2e6[_0x1b210f(0xf7)]:return _0x3ed2e6['DbeHt'];case _0x3ed2e6['zCUMz']:return'stop\x20video\x20recording';case _0x3ed2e6[_0x1b210f(0xfd)]:return _0x3ed2e6[_0x1b210f(0xa9)];default:return _0x444476;}}function renderScenarioSections(_0x1e1ece){const _0x48e00f=_0x5a95,_0x33e5f3={'hUpqX':_0x48e00f(0xeb),'DYzGo':_0x48e00f(0xd0),'RmsOx':_0x48e00f(0xd8),'Pvchi':_0x48e00f(0xff)},{checklistItem:_0x34d0a6,itemFeedback:_0x42cfd4}=_0x1e1ece,_0xaf4325=_0x34d0a6[_0x48e00f(0xc6)]?'\x0a\x0a##\x20Additional\x20Notes\x0a'+_0x34d0a6['notes']:'';let _0x5189a8='';if(_0x42cfd4&&_0x42cfd4['unaddressedComments'][_0x48e00f(0xad)]>0x0){const _0x4b8454=_0x42cfd4[_0x48e00f(0xe7)][_0x48e00f(0xe5)](_0x2102c1=>{const _0x43c5af=_0x48e00f,_0x1e2f3e=new Date(_0x2102c1[_0x43c5af(0xb3)])[_0x43c5af(0xfe)](_0x33e5f3['hUpqX'],{'month':'short','day':_0x43c5af(0xed)}),_0x340256=_0x2102c1['authorName']||_0x2102c1[_0x43c5af(0xa7)]||_0x33e5f3[_0x43c5af(0xb2)],_0x16fdef=_0x2102c1['domRef']?'\x20(on\x20element:\x20<'+(_0x2102c1[_0x43c5af(0xe4)][_0x43c5af(0xaf)][_0x43c5af(0xc0)](_0x33e5f3[_0x43c5af(0xc4)])['pop']()?.['split'](':')[0x0]||_0x33e5f3['Pvchi'])+_0x43c5af(0xea)+(_0x2102c1[_0x43c5af(0xe4)]['textContent']||'')['slice'](0x0,0x32)+'\x22)':'';return _0x43c5af(0xee)+_0x2102c1['id']+']\x20'+_0x340256+'\x20('+_0x1e2f3e+'):\x20\x22'+_0x2102c1[_0x43c5af(0x107)]+'\x22'+_0x16fdef;})['join']('\x0a');_0x5189a8=_0x48e00f(0xae)+_0x4b8454;}const _0x5aaa8e=_0x42cfd4?.['canonicalFlow']?'\x0a\x0a##\x20Expected\x20Flow\x20(from\x20previous\x20verification)\x0a'+_0x42cfd4['canonicalFlow']:'';return''+_0x34d0a6['description']+_0xaf4325+_0x5189a8+_0x5aaa8e;}export function buildVerifyFeatureRangerwrightCliPrompt(_0xecf424){const _0x5eab0c=_0x5a95,_0x437e5f={'osABT':_0x5eab0c(0xfa),'uWTiv':'key_99_final-state.png','nLfVo':function(_0x4458c7,_0x1120ce){return _0x4458c7(_0x1120ce);},'wIodB':function(_0x54e6f5,_0x5339e1){return _0x54e6f5??_0x5339e1;},'STbNm':'about:blank','oPnPn':function(_0xec60b2,_0x4301f4){return _0xec60b2(_0x4301f4);}},{checklistItem:_0x1ff93b,itemFeedback:_0x22f695,taskDescription:_0x532712,commandPrefix:_0x657037,isCdpMode:_0xf2b01f,url:_0x37a200,cdpEndpoint:_0x7d38ce,loginInstructions:_0x3d6509}=_0xecf424,_0x411672=_0x437e5f[_0x5eab0c(0xe3)],_0x491c27=_0x437e5f['uWTiv'],_0x4bfc5a=_0xf2b01f?_0x657037+'\x20inspect\x20--screenshot-path\x20'+quoteShellArg(_0x411672):_0x657037+_0x5eab0c(0xf6)+_0x437e5f['nLfVo'](quoteShellArg,_0x437e5f[_0x5eab0c(0x102)](_0x37a200,_0x437e5f[_0x5eab0c(0xab)]))+_0x5eab0c(0xe6)+_0x437e5f['nLfVo'](quoteShellArg,_0x411672),_0x12a8ac=_0xf2b01f?'##\x20App\x20Context\x0aYou\x20are\x20connected\x20to\x20a\x20desktop\x20application\x20via\x20CDP\x20at\x20'+_0x7d38ce+'.\x0aThe\x20app\x20is\x20already\x20running\x20and\x20connected.\x20Start\x20with\x20inspect\x20instead\x20of\x20opening\x20a\x20URL.':_0x5eab0c(0xc1)+_0x37a200+_0x5eab0c(0xf3),_0x3774f4=_0x3d6509?'\x0a\x0a##\x20Authentication\x0aBEFORE\x20starting\x20the\x20verification\x20task,\x20authenticate\x20using\x20these\x20steps:\x0a'+_0x3d6509+'\x0a\x0aAfter\x20completing\x20authentication,\x20proceed\x20with\x20the\x20verification\x20task\x20below.\x0aIf\x20authentication\x20fails,\x20return\x20evaluation\x20\x22blocked\x22\x20and\x20describe\x20the\x20auth\x20failure.':'';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'+_0x437e5f['oPnPn'](renderScenarioSections,{'checklistItem':_0x1ff93b,'itemFeedback':_0x22f695})+_0x5eab0c(0xfb)+_0x532712+'\x0a\x0a'+_0x12a8ac+_0x3774f4+_0x5eab0c(0xd7)+_0x657037+_0x5eab0c(0xb0)+_0x4bfc5a+_0x5eab0c(0xb8)+_0x657037+_0x5eab0c(0xf8)+quoteShellArg(_0x491c27)+'\x0a\x0aRefs\x20like\x20e37\x20are\x20only\x20valid\x20for\x20the\x20snapshot\x20that\x20produced\x20them.\x20Refresh\x20refs\x20after\x20navigation.\x0a\x0aUse\x20short\x20concrete\x20checkpoints\x20internally:\x20what\x20target\x20is\x20visible,\x20what\x20command\x20changes\x20state,\x20and\x20what\x20evidence\x20is\x20still\x20missing.\x20Issue\x20one\x20browser\x20command\x20at\x20a\x20time.\x20After\x20navigation,\x20validation,\x20or\x20a\x20changed\x20page,\x20inspect\x20before\x20deciding\x20the\x20next\x20action.\x0a\x0aBefore\x20reporting\x20success,\x20compare\x20each\x20required\x20CTA,\x20page\x20purpose,\x20and\x20topic\x20against\x20visible\x20page\x20evidence.\x20A\x20related\x20page\x20does\x20not\x20satisfy\x20a\x20different\x20required\x20topic\x20unless\x20the\x20page\x20text\x20directly\x20supports\x20that\x20topic\x20or\x20an\x20obvious\x20synonym.\x20If\x20required\x20evidence\x20is\x20missing,\x20mismatched,\x20or\x20only\x20inferred\x20from\x20adjacent\x20content,\x20report\x20that\x20plainly\x20and\x20do\x20not\x20mark\x20the\x20task\x20verified.\x0a\x0aFor\x20goals\x20with\x20more\x20than\x20one\x20required\x20condition,\x20use\x20an\x20internal\x20checklist\x20built\x20from\x20the\x20user\x27s\x20exact\x20requested\x20conditions.\x20Verify\x20each\x20checklist\x20item\x20against\x20visible\x20evidence\x20from\x20the\x20latest\x20browser\x20result.\x20If\x20any\x20item\x20lacks\x20direct\x20evidence,\x20report\x20the\x20task\x20as\x20not\x20verified\x20and\x20name\x20the\x20missing\x20item.\x0a\x0aOn\x20forms,\x20fill\x20only\x20visible\x20task-relevant\x20editable\x20fields\x20in\x20the\x20current\x20step\x20before\x20submitting\x20or\x20advancing.\x20Use\x20labels,\x20placeholders,\x20and\x20current\x20page\x20text\x20to\x20decide\x20which\x20fields\x20are\x20required.\x20Do\x20not\x20fill\x20fields\x20that\x20are\x20not\x20visible\x20in\x20the\x20latest\x20snapshot.\x0a\x0aUse\x20one\x20fill\x20command\x20per\x20field.\x20Do\x20not\x20combine\x20multiple\x20fields\x20into\x20one\x20fill\x20command\x20with\x20semicolons.\x0a\x0aIf\x20an\x20inspect-action\x20click\x20returns\x20the\x20same\x20page\x20or\x20shows\x20validation,\x20inspect\x20the\x20current\x20page\x20and\x20fill\x20blank\x20required\x20fields\x20before\x20retrying.\x20Do\x20not\x20repeat\x20the\x20same\x20blocked\x20click\x20unchanged.\x0a\x0aIf\x20a\x20click-and-inspect\x20result\x20keeps\x20the\x20same\x20URL\x20and\x20does\x20not\x20show\x20the\x20intended\x20target,\x20treat\x20it\x20as\x20a\x20no-op.\x20Refresh\x20refs\x20and\x20choose\x20a\x20different\x20visible\x20link,\x20or\x20use\x20back-and-inspect\x20if\x20you\x20need\x20the\x20prior\x20page.\x0a\x0aA\x20page\x20with\x20visible\x20required\x20fields\x20and\x20a\x20next,\x20submit,\x20continue,\x20or\x20confirm\x20control\x20is\x20still\x20actionable.\x20Fill\x20the\x20required\x20fields\x20with\x20values\x20from\x20the\x20task\x20before\x20reporting\x20incomplete\x20or\x20blocked.\x0a\x0a##\x20Critical:\x20Early\x20Error\x20Detection\x0aAfter\x20the\x20first\x20inspect\x20result,\x20check\x20for\x20blocking\x20errors:\x0a-\x20HTTP\x20404,\x20500,\x20400,\x20\x22Not\x20Found\x22,\x20\x22Server\x20Error\x22,\x20or\x20\x22Bad\x20Request\x22\x0a-\x20Framework\x20error\x20pages\x0a-\x20Blank\x20pages\x20with\x20no\x20content\x0a-\x20App\x20crash\x20or\x20error\x20dialogs\x0a\x0aIf\x20any\x20blocking\x20error\x20is\x20visible,\x20return\x20evaluation\x20\x22blocked\x22\x20immediately\x20with\x20a\x20specific\x20reason.\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\x20are\x20not\x20verified\x0a-\x20BLOCKED:\x20A\x20blocking\x20issue\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.';}function _0x556e(){const _0x2e3a8b=['inspect\x20page','trackPhaseError','error','NonJd','Reviewer','SegyQ','rangerwright_cli_tracing_stop','967767KVVcvZ','4254160lwiIaq','nQXYu','(?:\x5cs+(?:\x22([^\x22]+)\x22|\x27([^\x27]+)\x27|(\x5cS+)))','\x0a\x0a##\x20Rangerwright\x20Instructions\x0aUse\x20Bash\x20and\x20Rangerwright\x20only.\x0a\x0aEvery\x20browser\x20command\x20must\x20start\x20with\x20this\x20exact\x20literal\x20command\x20prefix:\x0a\x0a','\x20>\x20','rangerwright_cli_command','BQcRN','open-and-inspect','tepvt','trackPhaseStart','get','XPcPx','close\x20browser\x20session','Esqax','KcXXQ','osABT','domRef','map','\x20--screenshot-path\x20','unaddressedComments','fill','phase','>\x20\x22','en-US','sort','numeric','-\x20[','3229623Saiwzt','PostToolUseFailure','15AZJwxw','69034UALynb','\x0a-\x20You\x20may\x20ONLY\x20navigate\x20to\x20paths\x20under\x20this\x20base\x20URL.\x0a-\x20DO\x20NOT\x20navigate\x20to\x20any\x20different\x20domain,\x20host,\x20or\x20port.\x0a-\x20If\x20documentation\x20or\x20code\x20diffs\x20suggest\x20a\x20path\x20exists,\x20navigate\x20to\x20it\x20only\x20under\x20this\x20base\x20URL.','(?:^|\x5cs)','stringify','\x20open-and-inspect\x20','tGcGD','\x20click-and-inspect\x20e37\x20--screenshot-path\x20','DZSNW','01_initial-state.png','\x0a\x0a##\x20Task\x20to\x20Execute\x0a','tool_name','vNLId','toLocaleDateString','element','go\x20back\x20and\x20inspect','38568YVUEdY','wIodB','[rangerwright-cli]\x20','click\x20and\x20inspect\x20','24MJpNRB','LabEl','content','authorEmail','fill\x20','yxwZH','close','STbNm','replace','length','\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\x20in\x20addressedCommentIds.\x0a\x0a','selector','\x0a\x0aDo\x20not\x20define\x20an\x20RW\x20variable.\x20Do\x20not\x20use\x20node_modules/.bin/rangerwright,\x20npx,\x20npm,\x20cd,\x20find,\x20grep,\x20or\x20search\x20for\x20the\x20binary.\x20Browser\x20Trek\x20only\x20counts\x20literal\x20Rangerwright\x20command\x20invocations.\x0a\x0aTreat\x20the\x20command\x20prefix\x20as\x20immutable.\x20Copy\x20it\x20exactly,\x20then\x20append\x20one\x20supported\x20Rangerwright\x20subcommand\x20and\x20its\x20arguments.\x20If\x20a\x20browser\x20command\x20fails\x20because\x20the\x20binary\x20path\x20is\x20missing\x20or\x20the\x20command\x20syntax\x20is\x20malformed,\x20retry\x20once\x20with\x20the\x20exact\x20prefix\x20from\x20this\x20prompt\x20before\x20deciding\x20the\x20task\x20is\x20blocked.\x0a\x0aFirst\x20command:\x0a\x0a','set','DYzGo','createdAt','fill-and-inspect','ref\x20','slice','test','\x0a\x0aPrefer\x20open-and-inspect\x20and\x20click-and-inspect\x20when\x20you\x20need\x20a\x20fresh\x20snapshot\x20plus\x20evidence.\x0a\x0aUse\x20back-and-inspect\x20to\x20return\x20to\x20the\x20previous\x20page\x20after\x20checking\x20a\x20detail\x20page.\x20Refresh\x20refs\x20after\x20going\x20back.\x0a\x0aEach\x20command\x20returns\x20JSON\x20with\x20success,\x20data,\x20and\x20error\x20fields.\x0a\x0aUse\x20data.title,\x20data.headings,\x20data.pageText,\x20and\x20data.snapshotText\x20together.\x20snapshotText\x20is\x20best\x20for\x20refs\x20and\x20controls;\x20pageText\x20is\x20valid\x20visible\x20evidence\x20for\x20page\x20content.\x0a\x0aDo\x20not\x20verify\x20from\x20a\x20broad\x20landing,\x20index,\x20category,\x20search,\x20or\x20navigation\x20page\x20when\x20the\x20task\x20asks\x20for\x20a\x20specific\x20page,\x20topic,\x20item,\x20or\x20action.\x20Click\x20and\x20inspect\x20the\x20most\x20specific\x20visible\x20target\x20first;\x20if\x20no\x20specific\x20target\x20exists,\x20report\x20the\x20missing\x20target.\x0a\x0aSave\x20screenshots\x20by\x20using\x20--screenshot-path\x20on\x20inspect\x20commands.\x20Relative\x20screenshot\x20paths\x20are\x20saved\x20under\x20the\x20run\x20artifact\x20directory.\x20Do\x20not\x20call\x20screenshot\x20--path.\x0a\x0aExample:\x0a\x0a','hook_event_name','stderr','Bash','BFqzH','Ighsd','click-and-inspect','values','split','CRITICAL\x20URL\x20REQUIREMENT:\x0aYour\x20base\x20URL\x20is:\x20','2327920pwJNwE','url','RmsOx','`\x0a4.\x20Return\x20immediately\x20with\x20the\x20structured\x20output.\x0a\x0aReturn\x20your\x20findings\x20in\x20the\x20structured\x20output\x20format.','notes','2YpbgWQ','346801AWEpwZ','key_02_learn-more.png','commandPrefix','stop\x20tracing'];_0x556e=function(){return _0x2e3a8b;};return _0x556e();}export function buildVerifyFeatureRangerwrightCliDebugPrompt(_0x32367f){const _0x5a93f8=_0x5a95,_0xf0e129={'WlPJu':'01_mozilla-homepage.png','bfHJC':_0x5a93f8(0xc9),'hsOyh':function(_0x406e6f,_0x1f0458){return _0x406e6f(_0x1f0458);},'tepvt':function(_0x5df390,_0xea2dcc){return _0x5df390(_0xea2dcc);}},_0x468216=_0xf0e129['WlPJu'],_0x388dc=_0xf0e129['bfHJC'];return'You\x20are\x20testing\x20browser\x20automation.\x20Your\x20task\x20is\x20simple:\x0a\x0aUse\x20Bash\x20and\x20Rangerwright\x20only.\x20Every\x20browser\x20command\x20must\x20start\x20with\x20this\x20exact\x20literal\x20command\x20prefix:\x0a\x0a'+_0x32367f[_0x5a93f8(0xca)]+'\x0a\x0aDo\x20not\x20define\x20an\x20RW\x20variable.\x20Do\x20not\x20use\x20node_modules/.bin/rangerwright,\x20npx,\x20npm,\x20cd,\x20find,\x20grep,\x20or\x20search\x20for\x20the\x20binary.\x0a\x0a1.\x20Run\x20`'+_0x32367f['commandPrefix']+_0x5a93f8(0xf6)+_0xf0e129['hsOyh'](quoteShellArg,_0x32367f[_0x5a93f8(0xc3)])+_0x5a93f8(0xe6)+_0xf0e129[_0x5a93f8(0xdc)](quoteShellArg,_0x468216)+'`\x0a2.\x20Use\x20the\x20returned\x20JSON\x20to\x20find\x20the\x20\x22Learn\x20More\x22\x20link\x20ref.\x0a3.\x20Run\x20`'+_0x32367f[_0x5a93f8(0xca)]+'\x20click-and-inspect\x20<ref>\x20--screenshot-path\x20'+quoteShellArg(_0x388dc)+_0x5a93f8(0xc5);}export function summarizeVerifyFeatureRangerwrightCliCommandAvailability(_0x277fc9){const _0x323dae=_0x5a95,_0x1a50f5={'KLXIi':function(_0x1eb97d,_0x81949a){return _0x1eb97d===_0x81949a;}},_0xb44074=[..._0x277fc9['keys']()][_0x323dae(0xec)]();let _0x2e7b56=0x0;for(const _0x2eadcc of _0x277fc9[_0x323dae(0xbf)]()){_0x2e7b56+=_0x2eadcc;}return{'cliCommandCount':_0x2e7b56,'cliCommandsSeen':_0xb44074,'noCliCommandsCalled':_0x1a50f5['KLXIi'](_0x2e7b56,0x0)};}export function createVerifyFeatureRangerwrightCliHooks(_0xd7ac4b){const _0x3974e2=_0x5a95,_0x3a3c42={'SegyQ':function(_0x405f2f,_0x6211e8){return _0x405f2f!==_0x6211e8;},'nQXYu':'PostToolUse','EKang':function(_0x544d77,_0x1e988c){return _0x544d77(_0x1e988c);},'vWrHH':function(_0x1658f1,_0x5c07ae,_0x5214fa){return _0x1658f1(_0x5c07ae,_0x5214fa);},'Ighsd':_0x3974e2(0xf0),'ntKaW':'rangerwright_cli_command_failure'},_0x16c030=new Map(),_0x56e733=async _0x399711=>{const _0x116517=_0x3974e2;if(_0x3a3c42[_0x116517(0xd1)](_0x399711['hook_event_name'],_0x3a3c42[_0x116517(0xd5)]))return{};const _0x282cab=_0x399711;if(_0x282cab['tool_name']!==_0x116517(0xbb))return{};const _0x21fbf7=_0x282cab['tool_input'],_0x57c70f=extractBashCommand(_0x21fbf7);if(!_0x57c70f)return{};const _0x3dc4fb=_0x3a3c42['EKang'](parseRangerwrightCliCommand,_0x57c70f);if(!_0x3dc4fb)return{};return _0x16c030[_0x116517(0xb1)](_0x3dc4fb,(_0x16c030[_0x116517(0xde)](_0x3dc4fb)||0x0)+0x1),_0xd7ac4b[_0x116517(0xdd)](_0x116517(0xd9),{'subcommand':_0x3dc4fb}),_0xd7ac4b['trackPhaseEnd']('rangerwright_cli_command',{'subcommand':_0x3dc4fb,'commandPreview':truncatePreview(_0x57c70f)}),console['log'](_0x116517(0x103)+_0x3a3c42['vWrHH'](formatRangerwrightCliLog,_0x57c70f,_0x3dc4fb)),{};},_0x27d3dc=async _0x799996=>{const _0x2c0c0f=_0x3974e2;if(_0x799996[_0x2c0c0f(0xb9)]!==_0x3a3c42[_0x2c0c0f(0xbd)])return{};const _0x40f074=_0x799996;if(_0x40f074[_0x2c0c0f(0xfc)]!=='Bash')return{};return await _0xd7ac4b[_0x2c0c0f(0xcd)](_0x3a3c42['ntKaW'],_0x40f074[_0x2c0c0f(0xce)],{'transport':'rangerwright-cli','toolName':_0x2c0c0f(0xbb)}),{};};return{'postToolUseHook':_0x56e733,'postToolUseFailureHook':_0x27d3dc,'commandCounts':_0x16c030};}async function runRangerwrightLifecycleCommand(_0x5f64cf){const _0x537eb6=_0x5a95,_0x18f21b={'LabEl':function(_0x12deb2,_0x3b9826){return _0x12deb2??_0x3b9826;},'DZSNW':function(_0x4d879c,_0x51e711,_0x5f0aba){return _0x4d879c(_0x51e711,_0x5f0aba);}},{options:_0x470aef,commandArgs:_0x160494,env:_0x539208,telemetry:_0x3addf0,phase:_0xf310,metadata:_0x14c23a,timeoutMs:_0x1aad9a}=_0x5f64cf;_0x3addf0[_0x537eb6(0xdd)](_0xf310,_0x14c23a);try{const _0x483aa3=await runRangerwrightCliCommand({..._0x470aef,'commandArgs':_0x160494,'cwd':process['cwd'](),'env':_0x539208,'timeoutMs':_0x18f21b[_0x537eb6(0x106)](_0x1aad9a,RANGERWRIGHT_CLI_COMMAND_TIMEOUT_MS)});_0x3addf0['trackPhaseEnd'](_0xf310,{..._0x14c23a,'subcommand':_0x483aa3['invocation']['subcommand'],'stdoutPreview':truncatePreview(_0x483aa3['stdout'],0x7d0),'stderrPreview':_0x18f21b[_0x537eb6(0xf9)](truncatePreview,_0x483aa3[_0x537eb6(0xba)],0x7d0)});}catch(_0x4c0df8){await _0x3addf0['trackPhaseError'](_0xf310,_0x4c0df8,_0x14c23a);throw _0x4c0df8;}}export async function finalizeVerifyFeatureRangerwrightCliSession(_0x39f5ad){const _0x5269af=_0x5a95,_0x5b8477={'RAhZt':_0x5269af(0xd2),'DNpoU':'rangerwright_cli_video_stop'},{telemetry:_0x1fe96d,rangerwrightOptions:_0x54e449,env:_0x36f48a,transportMetadata:_0x528406}=_0x39f5ad,_0x4644f8=[{'phase':_0x5b8477['RAhZt'],'commandArgs':['tracing-stop']},{'phase':_0x5b8477['DNpoU'],'commandArgs':['video-stop']},{'phase':'rangerwright_cli_close','commandArgs':['close']}];for(const _0x48ef93 of _0x4644f8){try{await runRangerwrightLifecycleCommand({'options':_0x54e449,'commandArgs':[..._0x48ef93['commandArgs']],'env':_0x36f48a,'telemetry':_0x1fe96d,'phase':_0x48ef93[_0x5269af(0xe9)],'metadata':_0x528406});}catch{}}}
|