@ranger-testing/ranger-cli 3.1.1 → 3.1.2-alpha.059c7a3-40
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(_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
|
+
(function(_0xec544a,_0x3ba567){const _0xfe070c=_0x29b7,_0x488ac2=_0xec544a();while(!![]){try{const _0x24548b=parseInt(_0xfe070c(0xf1))/0x1+-parseInt(_0xfe070c(0x145))/0x2*(-parseInt(_0xfe070c(0xf9))/0x3)+parseInt(_0xfe070c(0x13f))/0x4+-parseInt(_0xfe070c(0xfe))/0x5+parseInt(_0xfe070c(0x11b))/0x6+-parseInt(_0xfe070c(0x15c))/0x7+-parseInt(_0xfe070c(0x141))/0x8;if(_0x24548b===_0x3ba567)break;else _0x488ac2['push'](_0x488ac2['shift']());}catch(_0x234587){_0x488ac2['push'](_0x488ac2['shift']());}}}(_0x26bc,0x40409));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(_0x56e30c,_0x345bda=PLAYWRIGHT_CLI_PREVIEW_LIMIT){const _0x5210d1=_0x29b7,_0xbfdf5f={'WMINF':function(_0xe01197,_0x5aab00){return _0xe01197>_0x5aab00;},'MaXxT':function(_0xeb57fa,_0x3d3097){return _0xeb57fa+_0x3d3097;}};return _0xbfdf5f['WMINF'](_0x56e30c['length'],_0x345bda)?_0xbfdf5f[_0x5210d1(0x103)](_0x56e30c['slice'](0x0,_0x345bda),_0x5210d1(0x134)):_0x56e30c;}function _0x26bc(){const _0x7987ec=['Reviewer','KdvBe','rZjEq','\x0a\x0a##\x20Authentication\x0aBEFORE\x20starting\x20the\x20verification\x20task,\x20you\x20MUST\x20authenticate\x20using\x20these\x20steps:\x0a','screenshot','126276raPYsF','notes','\x20open\x20','name','error','):\x20\x22','`\x0a9.\x20Run\x20`','\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.','\x0a\x0a##\x20Browser\x20Command\x20Reference\x0aUse\x20Bash\x20to\x20run\x20Playwright\x20CLI\x20commands\x20with\x20this\x20exact\x20prefix:\x0a`','cwd','authorEmail','selector','\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','02_state.yml','Bash','(?:^|\x5cs)','trackPhaseEnd','-\x20[','run\x20custom\x20Playwright\x20code','canonicalFlow','stderr','WhPln','playwright_cli_video_stop','OgCGr','WByde','...','open','EBMdT','close','`\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`','sOXlW','\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','description','commandArgs','capture\x20snapshot','xMjgd','1116080lDPZIc','tool_input','964712ATaSHJ','**\x20(','check\x20','push','12MgnIZg','\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','toLocaleDateString','playwright-cli','key_03_success-state.png','\x5c$&','select\x20tab\x20','02_learn-more.yml','\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','fill\x20','`\x0a7.\x20Click\x20the\x20\x22Learn\x20More\x22\x20link\x20with\x20Playwright\x20CLI\x0a8.\x20Run\x20`','You\x20are\x20testing\x20browser\x20automation.\x20Your\x20task\x20is\x20simple:\x0a\x0aUse\x20Bash\x20and\x20Playwright\x20CLI\x20only.\x20The\x20browser\x20command\x20prefix\x20is:\x0a','\x20video-start`\x0a4.\x20Save\x20every\x20snapshot\x20and\x20screenshot\x20under\x20`','RRKYi','mtimeMs','\x20tracing-start`,\x20then\x20`','\x20video-start`.\x0a3.\x20Save\x20every\x20snapshot\x20and\x20screenshot\x20under\x20`','ZIAoD','zWpIw','key_04_success-state.png','\x20tracing-start`\x0a3.\x20Run\x20`','ayaLo','trackPhaseError','2836337fYssiF','capture\x20screenshot','textContent','FhFoK','test','MOFnN','bhjuu','02_button-clicked.png','press\x20','`:\x20\x22','\x20(on\x20element:\x20<','stop\x20tracing','`\x20using\x20absolute\x20paths\x20only.\x20Do\x20not\x20use\x20relative\x20filenames.\x0a4.\x20Take\x20a\x20snapshot\x20with\x20`','ztpqU','click','domRef','uVlsF','tracing-start','\x20open`,\x20then\x20`','hook_event_name','numeric','wPLRb','gVmQa','\x20screenshot\x20--filename\x20','--filename=','308197JdFZBa','\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.','video-stop','replace','UHxym','isFile','sort','qimLE','228387WGiGSg','03_result-visible.png','>\x20\x22','NmNwS','FFkKL','1380400toGjhT','`\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`','hjdTH','01_mozilla-homepage.png','en-US','MaXxT','Hdwex','open\x20','vtUcI','\x0a\x0a##\x20Additional\x20Notes\x0a','open\x20new\x20tab\x20','cycZn','XetQx','stop\x20video\x20recording','DvdzG','djpcN','AGVTw','phase','\x20snapshot\x20--filename\x20','tracing-stop','capture\x20snapshot\x20`','target','tool_call','trim'];_0x26bc=function(){return _0x7987ec;};return _0x26bc();}function buildCliArtifactPath(_0x1344f3,_0x4e12ce){return join(_0x1344f3,_0x4e12ce);}function toStepDisplayName(_0x5a2b9a){const _0x5aca2e=_0x29b7,_0x5a26da={'djpcN':function(_0x151646,_0x438387){return _0x151646(_0x438387);}},_0x56e3ed=_0x5a26da[_0x5aca2e(0x10d)](basename,_0x5a2b9a)['replace'](/\.(?:png|ya?ml)$/i,'')[_0x5aca2e(0xf4)](/^key_/i,'')[_0x5aca2e(0xf4)](/^\d+_/,'')[_0x5aca2e(0xf4)](/-/g,'\x20');return{'name':_0x56e3ed,'isKeyStep':/^key_/i['test'](_0x5a26da[_0x5aca2e(0x10d)](basename,_0x5a2b9a))};}function extractShellValue(_0x5be615){if(!_0x5be615)return null;return _0x5be615[0x1]??_0x5be615[0x2]??_0x5be615[0x3]??null;}function extractFilenameOption(_0x45016d){const _0x51a9e3=_0x29b7,_0x6e172b={'xMjgd':function(_0xb4344,_0x283b06){return _0xb4344(_0x283b06);}};return _0x6e172b[_0x51a9e3(0x13e)](extractShellValue,_0x45016d['match'](/--filename(?:=|\s+)(?:"([^"]+)"|'([^']+)'|(\S+))/));}function extractFirstCommandArgument(_0x1b17e5,_0x2eaed3){const _0x426f66=_0x29b7,_0x3fdc74=_0x2eaed3['replace'](/[.*+?^${}()|[\]\\]/g,_0x426f66(0x14a));return extractShellValue(_0x1b17e5['match'](new RegExp(_0x426f66(0x12a)+_0x3fdc74+'(?:\x5cs+(?:\x22([^\x22]+)\x22|\x27([^\x27]+)\x27|(\x5cS+)))')));}function formatCommandTarget(_0x4e10bb){const _0x3afb4a=_0x29b7;if(!_0x4e10bb)return _0x3afb4a(0x113);if(/^e\d+$/i['test'](_0x4e10bb))return'ref\x20'+_0x4e10bb;return JSON['stringify'](truncatePreview(_0x4e10bb,0x78));}function formatPlaywrightCliLog(_0x418f39,_0xcdefc9){const _0x25d89b=_0x29b7,_0x34753f={'PREQw':_0x25d89b(0xe9),'QowpL':'video-start','WzlzU':'snapshot','RRKYi':function(_0x592997,_0x3b7899){return _0x592997(_0x3b7899);},'dsNZK':_0x25d89b(0x11a),'dcmxZ':function(_0x305b23,_0x12529f,_0xd66ac5){return _0x305b23(_0x12529f,_0xd66ac5);},'Dbkba':'check','OtLra':function(_0x1664d3,_0x4c12a9){return _0x1664d3(_0x4c12a9);},'gVmQa':function(_0x35fe5c,_0x4b6cb8,_0x34429b){return _0x35fe5c(_0x4b6cb8,_0x34429b);},'Hdwex':'fill','ztpqU':function(_0x15b93c,_0x18d0fe){return _0x15b93c(_0x18d0fe);},'XetQx':'run-code','CuMWT':_0x25d89b(0x12d),'Ymzeg':'tab-new','rZjEq':function(_0x1b3229,_0x1a745c,_0x2f1f82){return _0x1b3229(_0x1a745c,_0x2f1f82);},'bhjuu':'tab-select','UnOfG':function(_0x19a578,_0x1124c0,_0xf7ec34){return _0x19a578(_0x1124c0,_0xf7ec34);}};switch(_0xcdefc9){case _0x25d89b(0x135):{const _0x487658=extractFirstCommandArgument(_0x418f39,_0xcdefc9);return _0x487658?_0x25d89b(0x105)+_0x487658:'open\x20browser';}case _0x34753f['PREQw']:return'start\x20tracing';case _0x25d89b(0x111):return _0x25d89b(0xe3);case _0x34753f['QowpL']:return'start\x20video\x20recording';case _0x25d89b(0xf3):return _0x25d89b(0x10b);case _0x34753f['WzlzU']:{const _0x392d6f=extractFilenameOption(_0x418f39);if(!_0x392d6f)return _0x25d89b(0x13d);const {name:_0x4e8b90}=_0x34753f[_0x25d89b(0x152)](toStepDisplayName,_0x392d6f);return _0x25d89b(0x112)+_0x4e8b90+'`';}case _0x34753f['dsNZK']:{const _0x15aef6=extractFilenameOption(_0x418f39);if(!_0x15aef6)return _0x25d89b(0xd9);const {name:_0x3495f3,isKeyStep:_0x283677}=toStepDisplayName(_0x15aef6);return _0x283677?'capture\x20key\x20step\x20`'+_0x3495f3+'`':'capture\x20step\x20`'+_0x3495f3+'`';}case _0x25d89b(0xe6):return'click\x20'+formatCommandTarget(_0x34753f['dcmxZ'](extractFirstCommandArgument,_0x418f39,_0xcdefc9));case _0x34753f['Dbkba']:return _0x25d89b(0x143)+_0x34753f['OtLra'](formatCommandTarget,_0x34753f[_0x25d89b(0xee)](extractFirstCommandArgument,_0x418f39,_0xcdefc9));case _0x34753f[_0x25d89b(0x104)]:return _0x25d89b(0x14e)+_0x34753f[_0x25d89b(0xe5)](formatCommandTarget,extractFirstCommandArgument(_0x418f39,_0xcdefc9));case'press':return _0x25d89b(0xe0)+formatCommandTarget(extractFirstCommandArgument(_0x418f39,_0xcdefc9));case _0x34753f[_0x25d89b(0x10a)]:return _0x34753f['CuMWT'];case _0x34753f['Ymzeg']:{const _0x1a9a5c=_0x34753f[_0x25d89b(0x118)](extractFirstCommandArgument,_0x418f39,_0xcdefc9);return _0x1a9a5c?_0x25d89b(0x108)+_0x1a9a5c:'open\x20new\x20tab';}case _0x34753f[_0x25d89b(0xde)]:{const _0x3865ed=_0x34753f['UnOfG'](extractFirstCommandArgument,_0x418f39,_0xcdefc9);return _0x3865ed?_0x25d89b(0x14b)+_0x3865ed:'select\x20tab';}default:return _0xcdefc9;}}function extractPlaywrightCliToolDescription(_0xcfadd3){const _0x5c6c62=_0x29b7,_0xbcbf9c=_0xcfadd3['description'];if(typeof _0xbcbf9c!=='string')return null;const _0x233b81=_0xbcbf9c[_0x5c6c62(0x115)]()['replace'](/\s+/g,'\x20');return _0x233b81['length']>0x0?_0x233b81:null;}export function formatPlaywrightCliConsoleLogMessage(_0x5c5662,_0x5b0e39,_0x51f009){const _0x640507=_0x29b7,_0x31fdec={'oprNQ':function(_0x58ef44,_0x44152d,_0x560392){return _0x58ef44(_0x44152d,_0x560392);},'qimLE':function(_0x8335db,_0x1f8260){return _0x8335db(_0x1f8260);}},_0x11ba0a=_0x31fdec['oprNQ'](formatPlaywrightCliLog,_0x5b0e39,_0x51f009),_0x2a0b2d=_0x31fdec[_0x640507(0xf8)](extractPlaywrightCliToolDescription,_0x5c5662);if(!_0x2a0b2d)return'[playwright-cli]\x20'+_0x11ba0a;if(process['env']['DEBUG'])return'[ranger-verification-agent]\x20'+_0x2a0b2d+'\x20('+_0x11ba0a+')';return'[ranger-verification-agent]\x20'+_0x2a0b2d;}function _0x29b7(_0x54a129,_0x4aed7c){_0x54a129=_0x54a129-0xd9;const _0x26bc94=_0x26bc();let _0x29b7aa=_0x26bc94[_0x54a129];return _0x29b7aa;}export function buildVerifyFeatureCliDebugPrompt(_0x214adc,_0x527a88){const _0x5480da=_0x29b7,_0x17438a={'vtUcI':function(_0x5c31fe,_0x341dca,_0x1638f9){return _0x5c31fe(_0x341dca,_0x1638f9);},'hjdTH':function(_0x35e6d3,_0x3910d5,_0x4285c1){return _0x35e6d3(_0x3910d5,_0x4285c1);},'AGVTw':_0x5480da(0x14c),'WhPln':'03_learn-more.png'},_0x105c54=buildCliArtifactPath(_0x527a88,'00_mozilla-homepage.yml'),_0x5a4ea2=_0x17438a[_0x5480da(0x106)](buildCliArtifactPath,_0x527a88,_0x5480da(0x101)),_0x480d89=_0x17438a[_0x5480da(0x100)](buildCliArtifactPath,_0x527a88,_0x17438a[_0x5480da(0x10e)]),_0x41e75b=_0x17438a[_0x5480da(0x100)](buildCliArtifactPath,_0x527a88,_0x17438a[_0x5480da(0x130)]),_0x4ba26d=quoteShellArg(_0x105c54),_0x58c368=quoteShellArg(_0x5a4ea2),_0x10225e=quoteShellArg(_0x480d89),_0xcfedc4=quoteShellArg(_0x41e75b);return _0x5480da(0x150)+_0x214adc+'\x0a\x0a1.\x20Run\x20`'+_0x214adc+'\x20open\x20https://www.mozilla.org`\x0a2.\x20Run\x20`'+_0x214adc+_0x5480da(0x159)+_0x214adc+_0x5480da(0x151)+_0x527a88+'`\x20using\x20absolute\x20paths\x20only.\x20Do\x20not\x20use\x20relative\x20filenames.\x0a5.\x20Run\x20`'+_0x214adc+_0x5480da(0x110)+_0x4ba26d+'`\x0a5.\x20Read\x20the\x20snapshot\x20file\x20to\x20find\x20the\x20\x22Learn\x20More\x22\x20link\x20reference\x0a6.\x20Run\x20`'+_0x214adc+'\x20screenshot\x20--filename\x20'+_0x58c368+_0x5480da(0x14f)+_0x214adc+_0x5480da(0x110)+_0x10225e+_0x5480da(0x121)+_0x214adc+'\x20screenshot\x20--filename\x20'+_0xcfedc4+'`\x0a10.\x20Return\x20immediately\x20with\x20the\x20structured\x20output\x0a\x0aReturn\x20your\x20findings\x20in\x20the\x20structured\x20output\x20format.';}export function buildVerifyFeatureCliPrompt(_0x28917f){const _0x31ed84=_0x29b7,_0x3950ee={'FFkKL':'short','IQtrk':_0x31ed84(0xec),'mMrtj':'\x20>\x20','ayaLo':'element','OgCGr':function(_0xfe2f5b,_0x590a7d,_0x2ffa62){return _0xfe2f5b(_0x590a7d,_0x2ffa62);},'ucWGQ':'01_initial.yml','wPLRb':_0x31ed84(0x128),'xgINL':function(_0x429600,_0x499075,_0x210eec){return _0x429600(_0x499075,_0x210eec);},'rfrdX':'01_initial-state.png','aVkeT':function(_0x2e45a2,_0x58296b){return _0x2e45a2(_0x58296b);},'UHxym':function(_0x5613c1,_0xc4362e){return _0x5613c1>_0xc4362e;},'oyBaB':_0x31ed84(0xdf),'FhFoK':_0x31ed84(0x158)},{checklistItem:_0x516045,itemFeedback:_0xf6f883,taskDescription:_0x39503d,cliCommandPrefix:_0x1052b4,cliArtifactDir:_0x3ef6d5,isCdpMode:_0x2091eb,url:_0x29904c,cdpEndpoint:_0x50e3d8,loginInstructions:_0x506d6f}=_0x28917f,_0x4bbabc=_0x3950ee[_0x31ed84(0x132)](buildCliArtifactPath,_0x3ef6d5,_0x3950ee['ucWGQ']),_0x5f045c=_0x3950ee['OgCGr'](buildCliArtifactPath,_0x3ef6d5,_0x3950ee[_0x31ed84(0xed)]),_0x239b92=buildCliArtifactPath(_0x3ef6d5,_0x31ed84(0x149)),_0x3eff6b=_0x3950ee['xgINL'](buildCliArtifactPath,_0x3ef6d5,_0x3950ee['rfrdX']),_0x5de0f5=quoteShellArg(_0x4bbabc),_0x308888=quoteShellArg(_0x5f045c),_0x10c53e=_0x3950ee['aVkeT'](quoteShellArg,_0x239b92),_0x1e1ae0=quoteShellArg(_0x3eff6b),_0x448a12=_0x516045[_0x31ed84(0x11c)]?_0x31ed84(0x107)+_0x516045[_0x31ed84(0x11c)]:'';let _0x36e0b5='';if(_0xf6f883&&_0x3950ee[_0x31ed84(0xf5)](_0xf6f883['unaddressedComments']['length'],0x0)){const _0xdcf405=_0xf6f883['unaddressedComments']['map'](_0x59460a=>{const _0x5bfe05=_0x31ed84,_0x28e203=new Date(_0x59460a['createdAt'])[_0x5bfe05(0x147)](_0x5bfe05(0x102),{'month':_0x3950ee[_0x5bfe05(0xfd)],'day':_0x3950ee['IQtrk']}),_0x583e2f=_0x59460a['authorName']||_0x59460a[_0x5bfe05(0x125)]||_0x5bfe05(0x116),_0x2c5592=_0x59460a[_0x5bfe05(0xe7)]?_0x5bfe05(0xe2)+(_0x59460a['domRef'][_0x5bfe05(0x126)]['split'](_0x3950ee['mMrtj'])['pop']()?.['split'](':')[0x0]||_0x3950ee[_0x5bfe05(0x15a)])+_0x5bfe05(0xfb)+(_0x59460a[_0x5bfe05(0xe7)][_0x5bfe05(0xda)]||'')['slice'](0x0,0x32)+'\x22)':'';return _0x5bfe05(0x12c)+_0x59460a['id']+']\x20**'+_0x583e2f+_0x5bfe05(0x142)+_0x28e203+_0x5bfe05(0x120)+_0x59460a['content']+'\x22'+_0x2c5592;})['join']('\x0a');_0x36e0b5=_0x31ed84(0x13a)+_0xdcf405;}const _0x3e7f1d=_0xf6f883?.[_0x31ed84(0x12e)]?'\x0a\x0a##\x20Expected\x20Flow\x20(from\x20previous\x20verification)\x0a'+_0xf6f883[_0x31ed84(0x12e)]:'',_0xd692f2=_0x2091eb?'##\x20App\x20Context\x0aYou\x20are\x20connected\x20to\x20a\x20desktop\x20application\x20via\x20CDP\x20(Chrome\x20DevTools\x20Protocol)\x20at\x20'+_0x50e3d8+'.\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'+_0x29904c+_0x31ed84(0x127),_0x1bdaa4=_0x29904c?quoteShellArg(_0x29904c):'',_0x593752=_0x2091eb?'##\x20Instructions\x0a1.\x20Use\x20Bash\x20plus\x20Playwright\x20CLI\x20only.\x20Do\x20NOT\x20call\x20MCP\x20browser\x20tools.\x0a2.\x20Start\x20by\x20running\x20`'+_0x1052b4+_0x31ed84(0xea)+_0x1052b4+'\x20tracing-start`,\x20then\x20`'+_0x1052b4+_0x31ed84(0x155)+_0x3ef6d5+_0x31ed84(0xe4)+_0x1052b4+_0x31ed84(0x110)+_0x5de0f5+_0x31ed84(0x138)+_0x1052b4+_0x31ed84(0xef)+_0x1e1ae0+'`\x20style\x20absolute\x20paths\x20at\x20key\x20moments.\x0a6.\x20If\x20you\x20need\x20waits\x20or\x20custom\x20assertions,\x20use\x20`'+_0x1052b4+'\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`'+_0x1052b4+_0x31ed84(0x11d)+_0x1bdaa4+'`,\x20then\x20`'+_0x1052b4+_0x31ed84(0x154)+_0x1052b4+'\x20video-start`.\x0a3.\x20Save\x20every\x20snapshot\x20and\x20screenshot\x20under\x20`'+_0x3ef6d5+'`\x20using\x20absolute\x20paths\x20only.\x20Do\x20not\x20use\x20relative\x20filenames.\x0a4.\x20Take\x20a\x20snapshot\x20with\x20`'+_0x1052b4+'\x20snapshot\x20--filename\x20'+_0x5de0f5+'`\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`'+_0x1052b4+_0x31ed84(0xef)+_0x1e1ae0+'`\x20style\x20absolute\x20paths\x20at\x20key\x20moments.\x0a8.\x20If\x20you\x20need\x20waits\x20or\x20custom\x20assertions,\x20use\x20`'+_0x1052b4+'\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',_0x505bc9=_0x2091eb?'\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.':'\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.',_0x2fbd4c=_0x506d6f?_0x31ed84(0x119)+_0x506d6f+_0x31ed84(0xf2):'';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'+_0x516045[_0x31ed84(0x13b)]+_0x448a12+_0x36e0b5+_0x3e7f1d+'\x0a\x0a##\x20Task\x20to\x20Execute\x0a'+_0x39503d+'\x0a\x0a'+_0xd692f2+_0x2fbd4c+'\x0a\x0a'+_0x593752+_0x31ed84(0x123)+_0x1052b4+'`\x0a\x0a-\x20Write\x20all\x20artifacts\x20under\x20`'+_0x3ef6d5+'`\x0a-\x20`snapshot\x20--filename\x20'+_0x308888+'`\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'+_0x10c53e+_0x31ed84(0xff)+_0x3ef6d5+_0x31ed84(0xe1)+_0x3eff6b+'\x22,\x20\x22'+buildCliArtifactPath(_0x3ef6d5,_0x3950ee['oyBaB'])+'\x22,\x20\x22'+buildCliArtifactPath(_0x3ef6d5,_0x31ed84(0xfa))+_0x31ed84(0x14d)+buildCliArtifactPath(_0x3ef6d5,_0x3950ee[_0x31ed84(0xdb)])+_0x31ed84(0x146)+_0x505bc9+_0x31ed84(0x122);}export function summarizeVerifyFeatureCliCommandAvailability(_0x19368a){const _0x1577ac=_0x29b7,_0x430c54=[..._0x19368a['keys']()][_0x1577ac(0xf7)]();let _0x2bbebd=0x0;for(const _0x4ce5a3 of _0x19368a['values']()){_0x2bbebd+=_0x4ce5a3;}return{'cliCommandCount':_0x2bbebd,'cliCommandsSeen':_0x430c54,'noCliCommandsCalled':_0x2bbebd===0x0};}export function createVerifyFeatureCliHooks(_0x42d25a){const _0x552e8f={'KdvBe':'PostToolUse','cycZn':'Bash','DvdzG':function(_0x5b1c74,_0x37e540){return _0x5b1c74(_0x37e540);},'EBMdT':'tool_call','NmNwS':function(_0x50b399,_0x456342){return _0x50b399!==_0x456342;},'zWpIw':'snapshot','xByGJ':function(_0x720e5a,_0x569884,_0x4d0b2e,_0x31e38a){return _0x720e5a(_0x569884,_0x4d0b2e,_0x31e38a);},'DJDWM':function(_0x2686ce,_0x1e625f){return _0x2686ce!==_0x1e625f;},'MOFnN':'tool_failure'},_0x1986bd=new Map(),_0x2687fd=async _0xdfc9d3=>{const _0x21fca0=_0x29b7;if(_0xdfc9d3['hook_event_name']!==_0x552e8f[_0x21fca0(0x117)])return{};const _0x17460a=_0xdfc9d3;if(_0x17460a['tool_name']!==_0x552e8f['cycZn'])return{};const _0x27736b=_0x17460a[_0x21fca0(0x140)],_0x14ee0a=_0x552e8f[_0x21fca0(0x10c)](extractBashCommand,_0x27736b);if(!_0x14ee0a)return{};const _0x26eab3=_0x552e8f[_0x21fca0(0x10c)](parsePlaywrightCliCommand,_0x14ee0a);if(!_0x26eab3)return{};return _0x1986bd['set'](_0x26eab3,(_0x1986bd['get'](_0x26eab3)||0x0)+0x1),_0x42d25a['trackPhaseStart'](_0x21fca0(0x114),{'transport':_0x21fca0(0x148),'toolName':_0x26eab3}),_0x42d25a[_0x21fca0(0x12b)](_0x552e8f[_0x21fca0(0x136)],{'transport':_0x21fca0(0x148),'toolName':_0x26eab3,'bashCommandPreview':truncatePreview(_0x14ee0a)}),_0x552e8f['NmNwS'](_0x26eab3,_0x552e8f[_0x21fca0(0x157)])&&console['log'](_0x552e8f['xByGJ'](formatPlaywrightCliConsoleLogMessage,_0x27736b,_0x14ee0a,_0x26eab3)),{};},_0x326ff3=async _0x307657=>{const _0x1e15a1=_0x29b7;if(_0x552e8f['DJDWM'](_0x307657[_0x1e15a1(0xeb)],'PostToolUseFailure'))return{};const _0x3a199a=_0x307657;if(_0x552e8f[_0x1e15a1(0xfc)](_0x3a199a['tool_name'],_0x1e15a1(0x129)))return{};return await _0x42d25a[_0x1e15a1(0x15b)](_0x552e8f[_0x1e15a1(0xdd)],_0x3a199a[_0x1e15a1(0x11f)],{'transport':'playwright-cli','toolName':_0x552e8f[_0x1e15a1(0x109)]}),{};};return{'postToolUseHook':_0x2687fd,'postToolUseFailureHook':_0x326ff3,'commandCounts':_0x1986bd};}async function runPlaywrightCliLifecycleCommand(_0x976059){const _0x4c835f=_0x29b7,{sessionId:_0xdafaa3,configPath:_0x40e627,commandArgs:_0x301b2d,env:_0x4e6e8d,telemetry:_0x36daa9,phase:_0x22cd31,metadata:_0x241f49,timeoutMs:_0x1a54d9}=_0x976059;_0x36daa9['trackPhaseStart'](_0x22cd31,_0x241f49);try{const _0x24f374=await runPlaywrightCliCommand({'sessionId':_0xdafaa3,'configPath':_0x40e627,'commandArgs':_0x301b2d,'cwd':process[_0x4c835f(0x124)](),'env':_0x4e6e8d,'timeoutMs':_0x1a54d9??PLAYWRIGHT_CLI_COMMAND_TIMEOUT_MS});_0x36daa9[_0x4c835f(0x12b)](_0x22cd31,{..._0x241f49,'subcommand':_0x24f374['invocation']['subcommand'],'stdoutPreview':truncatePreview(_0x24f374['stdout'],0x7d0),'stderrPreview':truncatePreview(_0x24f374[_0x4c835f(0x12f)],0x7d0)});}catch(_0x21384c){await _0x36daa9[_0x4c835f(0x15b)](_0x22cd31,_0x21384c,_0x241f49);throw _0x21384c;}}export async function finalizeVerifyFeatureCliSession(_0x36f065){const _0xa6077f=_0x29b7,_0x100e37={'WByde':'playwright_cli_tracing_stop','HMMiy':_0xa6077f(0x111),'Tyiso':function(_0x114fc7,_0x1dbd9e,_0x2eb508){return _0x114fc7(_0x1dbd9e,_0x2eb508);},'sOXlW':'playwright_cli_close'},{telemetry:_0x2d3b1b,sessionId:_0x5b0096,configPath:_0xef73fb,cliArtifactDir:_0x10d561,env:_0x2d5f2a,transportMetadata:_0x4013cb}=_0x36f065,_0x1d83b2=[{'phase':_0x100e37[_0xa6077f(0x133)],'commandArgs':[_0x100e37['HMMiy']]},{'phase':_0xa6077f(0x131),'commandArgs':[_0xa6077f(0xf3),_0xa6077f(0xf0)+_0x100e37['Tyiso'](buildCliArtifactPath,_0x10d561,'session-recording.webm')]},{'phase':_0x100e37[_0xa6077f(0x139)],'commandArgs':[_0xa6077f(0x137)]}];for(const _0x2f0454 of _0x1d83b2){try{await runPlaywrightCliLifecycleCommand({'sessionId':_0x5b0096,'configPath':_0xef73fb,'commandArgs':[..._0x2f0454[_0xa6077f(0x13c)]],'env':_0x2d5f2a,'telemetry':_0x2d3b1b,'phase':_0x2f0454[_0xa6077f(0x10f)],'metadata':_0x4013cb});}catch{}}}export async function loadVerifyFeatureCliTraceUploadArtifact(_0x1f9f78){const _0x47d8cd=_0x29b7,_0x362b1f={'uVlsF':'trace.zip','JOBGV':'trace.trace.zip'},_0x7a5702=[_0x362b1f[_0x47d8cd(0xe8)],_0x362b1f['JOBGV']];for(const _0x1ccd20 of _0x7a5702){const _0x2f6533=join(_0x1f9f78,_0x1ccd20);try{return{'buffer':await readFile(_0x2f6533),'source':_0x2f6533};}catch{}}return null;}export async function rehomeVerifyFeatureCliArtifacts(_0xd475b7){const _0x5c1214=_0x29b7,_0x2ef2bb={'ZIAoD':function(_0x3b372b,_0x9e80df,_0x36f926){return _0x3b372b(_0x9e80df,_0x36f926);}},{cwd:_0x4c1417,cliArtifactDir:_0x1b064c,startTime:_0x30b5d1}=_0xd475b7,_0x21eb07=[];await mkdir(_0x1b064c,{'recursive':!![]});const _0x30bf5b=await readdir(_0x4c1417,{'withFileTypes':!![]});for(const _0x33c26e of _0x30bf5b){if(!_0x33c26e[_0x5c1214(0xf6)]()||!VERIFY_FEATURE_CLI_ARTIFACT_FILE_PATTERN[_0x5c1214(0xdc)](_0x33c26e[_0x5c1214(0x11e)]))continue;const _0x30044a=join(_0x4c1417,_0x33c26e[_0x5c1214(0x11e)]),_0x25182e=await stat(_0x30044a);if(_0x25182e[_0x5c1214(0x153)]+0x7d0<_0x30b5d1)continue;const _0x152607=_0x2ef2bb[_0x5c1214(0x156)](buildCliArtifactPath,_0x1b064c,_0x33c26e[_0x5c1214(0x11e)]);if(_0x30044a===_0x152607)continue;await rename(_0x30044a,_0x152607),_0x21eb07[_0x5c1214(0x144)](_0x33c26e['name']);}return _0x21eb07['sort']();}
|
|
@@ -1 +1 @@
|
|
|
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
|
+
const _0x384443=_0x19b0;(function(_0x219176,_0x52af67){const _0x4f400f=_0x19b0,_0x99f738=_0x219176();while(!![]){try{const _0x534d16=-parseInt(_0x4f400f(0x21a))/0x1*(-parseInt(_0x4f400f(0x250))/0x2)+parseInt(_0x4f400f(0x232))/0x3*(-parseInt(_0x4f400f(0x235))/0x4)+-parseInt(_0x4f400f(0x239))/0x5*(parseInt(_0x4f400f(0x299))/0x6)+-parseInt(_0x4f400f(0x226))/0x7*(-parseInt(_0x4f400f(0x222))/0x8)+-parseInt(_0x4f400f(0x266))/0x9*(parseInt(_0x4f400f(0x1f1))/0xa)+parseInt(_0x4f400f(0x28d))/0xb*(parseInt(_0x4f400f(0x293))/0xc)+-parseInt(_0x4f400f(0x27c))/0xd*(-parseInt(_0x4f400f(0x24f))/0xe);if(_0x534d16===_0x52af67)break;else _0x99f738['push'](_0x99f738['shift']());}catch(_0x275745){_0x99f738['push'](_0x99f738['shift']());}}}(_0x4956,0xf41ea));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','execute','verify','ask',_0x384443(0x2ab),_0x384443(0x2ac),'snapshot',_0x384443(0x291)]),execFileAsync=promisify(execFile);function buildCliArtifactPath(_0x55d647,_0x4cd673){const _0x24ef32={'YeUQH':function(_0x46fa92,_0x539b89,_0x2aed9e){return _0x46fa92(_0x539b89,_0x2aed9e);}};return _0x24ef32['YeUQH'](join,_0x55d647,_0x4cd673);}export class NovaActArtifactRecorder{[_0x384443(0x282)];[_0x384443(0x263)]=null;['context']=null;[_0x384443(0x1f9)]=null;['frameWrites']=[];['frameCount']=0x0;['traceSampleCount']=0x0;['traceSampleTimer']=null;[_0x384443(0x241)]=null;[_0x384443(0x1ec)]=![];[_0x384443(0x208)]=![];['startAttempted']=![];[_0x384443(0x20b)]=![];constructor(_0x32f4c3){this['params']=_0x32f4c3;}async['start'](){const _0x63e708=_0x384443,_0x5a89c2={'efJbz':function(_0x577be9,_0x6adda5,_0x128a2b){return _0x577be9(_0x6adda5,_0x128a2b);},'gJJxP':_0x63e708(0x22d),'wPEye':_0x63e708(0x229)};if(this['startAttempted'])return;this['startAttempted']=!![];const _0x227934=await this['readSessionMetadataWithRetry'](),_0x3f5b8f=_0x227934['cdp_endpoint'];if(!_0x3f5b8f)throw new Error('Nova\x20session\x20metadata\x20did\x20not\x20include\x20cdp_endpoint\x20for\x20'+this['params']['novaOptions'][_0x63e708(0x2a7)]);await _0x5a89c2['efJbz'](mkdir,this['params']['cliArtifactDir'],{'recursive':!![]}),this['browser']=await chromium['connectOverCDP'](_0x3f5b8f,{'timeout':NOVA_ARTIFACT_CDP_CONNECT_TIMEOUT_MS}),this[_0x63e708(0x276)]=this['browser']['contexts']()[0x0]??null;if(!this['context'])throw new Error(_0x5a89c2[_0x63e708(0x26d)]);await this['context']['tracing']['start']({'screenshots':!![],'snapshots':!![],'sources':!![]}),this[_0x63e708(0x1ec)]=!![],this[_0x63e708(0x2ae)](),await this['startScreencast'](),this[_0x63e708(0x282)]['telemetry']['trackPhaseStart'](_0x5a89c2[_0x63e708(0x28c)],{...this[_0x63e708(0x282)]['transportMetadata'],'cdpEndpoint':_0x3f5b8f,'browserPid':_0x227934[_0x63e708(0x261)],'sessionState':_0x227934['state']}),this['params'][_0x63e708(0x21f)][_0x63e708(0x1ee)](_0x63e708(0x229),{...this[_0x63e708(0x282)]['transportMetadata'],'tracingStarted':this['tracingStarted'],'screencastStarted':this['screencastStarted']});}async['stop'](){const _0xbb6023=_0x384443,_0x3ae91a={'HwnDM':'nova_act_artifact_recording_stop','JQrWe':_0xbb6023(0x216)};if(this[_0xbb6023(0x20b)])return;this[_0xbb6023(0x20b)]=!![];const _0x439123={...this['params'][_0xbb6023(0x22e)],'frameCount':this[_0xbb6023(0x248)],'traceSampleCount':this[_0xbb6023(0x23d)],'tracingStarted':this['tracingStarted'],'screencastStarted':this[_0xbb6023(0x208)]};this['params'][_0xbb6023(0x21f)][_0xbb6023(0x1e5)](_0x3ae91a['HwnDM'],_0x439123);try{await this[_0xbb6023(0x274)](),await this['captureTraceSample'](),await this[_0xbb6023(0x24e)](),await Promise[_0xbb6023(0x29e)](this['frameWrites']);this['context']&&this['tracingStarted']&&await this[_0xbb6023(0x276)]['tracing'][_0xbb6023(0x230)]({'path':buildCliArtifactPath(this[_0xbb6023(0x282)]['cliArtifactDir'],_0x3ae91a['JQrWe'])});const _0xc621c0=await this[_0xbb6023(0x243)]();this[_0xbb6023(0x282)][_0xbb6023(0x21f)]['trackPhaseEnd'](_0x3ae91a['HwnDM'],{..._0x439123,'videoPath':_0xc621c0});}catch(_0x302b94){await this['params']['telemetry'][_0xbb6023(0x1fb)](_0xbb6023(0x1e7),_0x302b94,_0x439123);}finally{await this['browser']?.['close']()['catch'](()=>undefined),this[_0xbb6023(0x263)]=null,this['context']=null,this['frameSession']=null;}}async[_0x384443(0x267)](){const _0x47c2c9=_0x384443,_0x595ab4={'njtpc':_0x47c2c9(0x2bd),'WrZHu':'sessions','hsvZU':function(_0x232537,_0x559db7,_0x3d3fd4){return _0x232537(_0x559db7,_0x3d3fd4);},'RTwdQ':_0x47c2c9(0x215),'dyqha':function(_0x22c9c4,_0x33972f){return _0x22c9c4<_0x33972f;},'vgXWV':function(_0x5400c9,_0x32cfd0){return _0x5400c9 instanceof _0x32cfd0;}},_0x5cdf6f=join(homedir(),_0x595ab4[_0x47c2c9(0x206)],'browser',_0x595ab4[_0x47c2c9(0x25d)],this[_0x47c2c9(0x282)]['novaOptions'][_0x47c2c9(0x2a7)]+'.json'),_0x2243d0=Date['now']();let _0x55ab47;do{try{const _0x38d18d=JSON[_0x47c2c9(0x254)](await _0x595ab4[_0x47c2c9(0x2aa)](readFile,_0x5cdf6f,_0x595ab4[_0x47c2c9(0x296)]));if(_0x38d18d['cdp_endpoint'])return _0x38d18d;_0x55ab47=new Error('Nova\x20metadata\x20missing\x20cdp_endpoint\x20at\x20'+_0x5cdf6f);}catch(_0x40ec84){_0x55ab47=_0x40ec84;}await delay(0x64);}while(_0x595ab4[_0x47c2c9(0x210)](Date[_0x47c2c9(0x220)]()-_0x2243d0,NOVA_ARTIFACT_METADATA_WAIT_MS));if(_0x595ab4[_0x47c2c9(0x21c)](_0x55ab47,Error))throw _0x55ab47;throw new Error('Unable\x20to\x20read\x20Nova\x20session\x20metadata\x20at\x20'+_0x5cdf6f);}async[_0x384443(0x1f7)](){const _0x41ba56=_0x384443,_0x50b880={'WBHkY':function(_0x24de52,_0x50470b){return _0x24de52(_0x50470b);},'EZXtD':_0x41ba56(0x1e9),'sxRAe':'Page.startScreencast','dNBoo':'jpeg'};if(!this['context'])return;const _0x2e8ede=this[_0x41ba56(0x276)][_0x41ba56(0x27e)]()[0x0];if(!_0x2e8ede)return;const _0x580a20=this['getFrameDir']();await mkdir(_0x580a20,{'recursive':!![]});const _0x4f2a59=await this[_0x41ba56(0x276)][_0x41ba56(0x20e)](_0x2e8ede);this[_0x41ba56(0x1f9)]=_0x4f2a59,_0x4f2a59['on'](_0x50b880[_0x41ba56(0x21d)],_0x419c78=>{const _0x50917f=_0x41ba56,_0x404df7=++this[_0x50917f(0x248)],_0x931c70=join(_0x580a20,_0x50917f(0x227)+_0x50b880[_0x50917f(0x252)](String,_0x404df7)[_0x50917f(0x20a)](0x6,'0')+'.jpg'),_0x421d89=writeFile(_0x931c70,Buffer[_0x50917f(0x2c0)](_0x419c78['data'],'base64'))['catch'](()=>undefined)['finally'](()=>_0x4f2a59['send'](_0x50917f(0x1eb),{'sessionId':_0x419c78['sessionId']}))['then'](()=>undefined)[_0x50917f(0x221)](()=>undefined);this[_0x50917f(0x24a)]['push'](_0x421d89);}),await _0x4f2a59['send'](_0x50b880[_0x41ba56(0x269)],{'format':_0x50b880[_0x41ba56(0x28e)],'quality':0x4b,'everyNthFrame':0x6}),this['screencastStarted']=!![];}async[_0x384443(0x24e)](){const _0x4fb957=_0x384443,_0x24df89={'njzNw':_0x4fb957(0x256)};if(!this['frameSession']||!this['screencastStarted'])return;await this[_0x4fb957(0x1f9)]['send'](_0x24df89['njzNw'])[_0x4fb957(0x221)](()=>undefined);}[_0x384443(0x2ae)](){const _0x467ac6=_0x384443,_0x530090={'iBLTb':function(_0x158d21,_0x5018b9,_0x1eee1e){return _0x158d21(_0x5018b9,_0x1eee1e);}};this['queueTraceSample'](),this[_0x467ac6(0x251)]=_0x530090['iBLTb'](setInterval,()=>this[_0x467ac6(0x277)](),NOVA_ARTIFACT_TRACE_SAMPLE_INTERVAL_MS);}['queueTraceSample'](){const _0xf1692c=_0x384443;if(this['traceSampleInFlight'])return;this[_0xf1692c(0x241)]=this['captureTraceSample']()['finally'](()=>{const _0x1c4cd6=_0xf1692c;this[_0x1c4cd6(0x241)]=null;});}async['stopTraceSampling'](){const _0x2a3971=_0x384443;this['traceSampleTimer']&&(clearInterval(this[_0x2a3971(0x251)]),this[_0x2a3971(0x251)]=null),await this['traceSampleInFlight']?.[_0x2a3971(0x221)](()=>undefined);}async['captureTraceSample'](){const _0x40d02a=_0x384443,_0x18fdf4=this['context']?.[_0x40d02a(0x27e)]()[0x0];if(!_0x18fdf4)return;try{await _0x18fdf4['locator'](_0x40d02a(0x228))['evaluate'](_0x3e5d48=>_0x3e5d48[_0x40d02a(0x2b1)],undefined,{'timeout':0x3e8}),this['traceSampleCount']++;}catch{}}async[_0x384443(0x243)](){const _0x539a3c=_0x384443,_0x21a2d5={'oSWwy':function(_0x3dffe3,_0x56231a){return _0x3dffe3<_0x56231a;},'MmTni':function(_0x216832,_0x3754a9,_0x38b810){return _0x216832(_0x3754a9,_0x38b810);},'lQxgD':'videos','bJrJL':_0x539a3c(0x1fe),'CdNEF':_0x539a3c(0x207),'XZomn':'-vf','lyHAp':_0x539a3c(0x24d),'tRJfB':'-pix_fmt','ONAxu':_0x539a3c(0x236)};if(_0x21a2d5['oSWwy'](this[_0x539a3c(0x248)],0x2))return null;const _0x355335=await resolveFfmpegPath();if(!_0x355335)return null;const _0x395344=_0x21a2d5[_0x539a3c(0x286)](join,this[_0x539a3c(0x282)]['cliArtifactDir'],_0x21a2d5[_0x539a3c(0x26c)]);await mkdir(_0x395344,{'recursive':!![]});const _0x11cda5=_0x21a2d5[_0x539a3c(0x286)](join,_0x395344,_0x21a2d5['bJrJL']);return await execFileAsync(_0x355335,['-y','-hide_banner',_0x539a3c(0x2a6),_0x21a2d5[_0x539a3c(0x25c)],_0x539a3c(0x2a0),'10','-i',join(this['getFrameDir'](),'frame-%06d.jpg'),_0x21a2d5[_0x539a3c(0x26b)],_0x21a2d5['lyHAp'],_0x539a3c(0x271),'libvpx-vp9',_0x21a2d5[_0x539a3c(0x244)],_0x21a2d5['ONAxu'],_0x11cda5]),_0x11cda5;}['getFrameDir'](){const _0x2f8997={'JlftG':function(_0x2e09d6,_0x2fed54,_0x54c5f9){return _0x2e09d6(_0x2fed54,_0x54c5f9);}};return _0x2f8997['JlftG'](join,this['params']['cliArtifactDir'],'nova-video-frames');}}async function delay(_0x2b5fa2){await new Promise(_0x2ed239=>setTimeout(_0x2ed239,_0x2b5fa2));}async function resolveFfmpegPath(){const _0xb0478=_0x384443,_0x7eeb73={'FymGR':_0xb0478(0x1ea),'hkZgm':function(_0x5f205b){return _0x5f205b();},'JaGhC':_0xb0478(0x1ef),'tLWca':function(_0x6d973,_0x33ffd8,_0x488b61,_0x2db5c5){return _0x6d973(_0x33ffd8,_0x488b61,_0x2db5c5);},'SRZxH':function(_0x4644ff){return _0x4644ff();},'WbltS':_0xb0478(0x297),'tidfG':_0xb0478(0x212),'RkUqh':function(_0x3f2d63,_0x52a6a3){return _0x3f2d63(_0x52a6a3);}};if(await canRunFfmpeg(_0x7eeb73[_0xb0478(0x204)]))return'ffmpeg';const _0x37c448=[join(_0x7eeb73['hkZgm'](homedir),_0x7eeb73['JaGhC'],'Caches','ms-playwright'),_0x7eeb73['tLWca'](join,_0x7eeb73['SRZxH'](homedir),_0x7eeb73['WbltS'],_0x7eeb73['tidfG'])];for(const _0x44c352 of _0x37c448){try{const _0x433739=await _0x7eeb73['RkUqh'](readdir,_0x44c352),_0x137f84=_0x433739[_0xb0478(0x285)](_0x3ae1a7=>_0x3ae1a7[_0xb0478(0x1fa)]('ffmpeg-'))['sort']()[_0xb0478(0x265)]()['flatMap'](_0x535624=>[join(_0x44c352,_0x535624,_0xb0478(0x1f5)),join(_0x44c352,_0x535624,_0xb0478(0x28a)),join(_0x44c352,_0x535624,'ffmpeg.exe')]);for(const _0x15536d of _0x137f84){if(await canRunFfmpeg(_0x15536d))return _0x15536d;}}catch{}}return null;}async function canRunFfmpeg(_0x4c3b66){try{return await execFileAsync(_0x4c3b66,['-version']),!![];}catch{return![];}}function toStepDisplayName(_0x127466){const _0x58e1e6=_0x384443,_0x12b3a7={'lNJpO':function(_0x4ba357,_0x2a8f86){return _0x4ba357(_0x2a8f86);}},_0x27d14a=_0x12b3a7[_0x58e1e6(0x2a8)](basename,_0x127466)['replace'](/\.(?:png|ya?ml)$/i,'')[_0x58e1e6(0x290)](/^key_/i,'')['replace'](/^\d+_/,'')['replace'](/-/g,'\x20');return{'name':_0x27d14a,'isKeyStep':/^key_/i[_0x58e1e6(0x298)](_0x12b3a7[_0x58e1e6(0x2a8)](basename,_0x127466))};}function extractShellValue(_0x51ac66){if(!_0x51ac66)return null;return _0x51ac66[0x1]??_0x51ac66[0x2]??_0x51ac66[0x3]??null;}function extractOutputOption(_0x4a37d0){const _0x38de99=_0x384443;return extractShellValue(_0x4a37d0[_0x38de99(0x288)](/--output(?:=|\s+)(?:"([^"]+)"|'([^']+)'|(\S+))/));}function formatNovaActCliLog(_0x227dd5,_0x5befdc){const _0x37fe92=_0x384443,_0x64aae0={'gfrWy':_0x37fe92(0x1f0),'YtTax':_0x37fe92(0x258),'tRuhY':_0x37fe92(0x280),'XVBWF':'goto','YOCnC':_0x37fe92(0x2ac),'AZUGN':'snapshot','bxvQA':_0x37fe92(0x291),'NUIyC':_0x37fe92(0x29b),'PzBTY':function(_0x6e267d,_0x36cab3){return _0x6e267d(_0x36cab3);}};switch(_0x5befdc){case _0x64aae0['gfrWy']:return _0x37fe92(0x25f);case'execute':return _0x64aae0['YtTax'];case _0x64aae0[_0x37fe92(0x20d)]:return _0x37fe92(0x1e8);case _0x37fe92(0x29d):return _0x37fe92(0x205);case _0x64aae0['XVBWF']:return'navigate\x20browser';case _0x64aae0[_0x37fe92(0x211)]:return'wait\x20for\x20page\x20condition';case _0x64aae0['AZUGN']:{const _0x12f1f4=extractOutputOption(_0x227dd5);if(!_0x12f1f4)return _0x37fe92(0x242);const {name:_0x12811d}=toStepDisplayName(_0x12f1f4);return _0x37fe92(0x238)+_0x12811d+'`';}case _0x64aae0['bxvQA']:{const _0x8a8d8a=extractOutputOption(_0x227dd5);if(!_0x8a8d8a)return _0x64aae0['NUIyC'];const {name:_0x168caa,isKeyStep:_0xaf81c1}=_0x64aae0['PzBTY'](toStepDisplayName,_0x8a8d8a);return _0xaf81c1?_0x37fe92(0x2c3)+_0x168caa+'`':_0x37fe92(0x25b)+_0x168caa+'`';}case _0x37fe92(0x270):return'export\x20Nova\x20session';default:return _0x5befdc;}}function getNovaActCliCommandBlockReason(_0xf073c4){const _0x17c521=_0x384443,_0x439bf0={'xwsHd':function(_0x4f836a,_0x4713c4){return _0x4f836a===_0x4713c4;},'KGBjd':_0x17c521(0x280)},_0x13481e=parseNovaActCliCommand(_0xf073c4);if(!_0x13481e)return _0x17c521(0x24b);if(!NOVA_ACT_ALLOWED_AGENT_COMMANDS['has'](_0x13481e))return _0x17c521(0x1f2)+_0x13481e+_0x17c521(0x23e);if(_0x439bf0['xwsHd'](_0x13481e,_0x439bf0[_0x17c521(0x223)])&&/\b(?:previously visited|visited pages|pages visited|at least one of the pages visited)\b/i[_0x17c521(0x298)](_0xf073c4))return _0x17c521(0x22f);if(/\s--help\b|\bdoctor\b|\bscript\b|\bsession\s+(?:close|list|export)\b/['test'](_0xf073c4))return _0x17c521(0x20c);return null;}function buildFeedbackSection(_0x5a6d75){const _0x5318ac=_0x384443,_0x1b542b={'QqZmh':_0x5318ac(0x29f),'JSkBq':_0x5318ac(0x225),'BGCtQ':_0x5318ac(0x2be),'rVwlO':'element'};if(!_0x5a6d75||_0x5a6d75[_0x5318ac(0x2b9)][_0x5318ac(0x217)]===0x0)return'';const _0x3823df=_0x5a6d75['unaddressedComments'][_0x5318ac(0x245)](_0x1d6d69=>{const _0x4b49d4=_0x5318ac,_0x2aeeef=new Date(_0x1d6d69['createdAt'])['toLocaleDateString'](_0x4b49d4(0x224),{'month':_0x4b49d4(0x1f3),'day':_0x1b542b[_0x4b49d4(0x2c1)]}),_0x15c6a5=_0x1d6d69['authorName']||_0x1d6d69[_0x4b49d4(0x20f)]||_0x1b542b['JSkBq'],_0x8d6b7b=_0x1d6d69['domRef']?_0x4b49d4(0x21b)+(_0x1d6d69[_0x4b49d4(0x2bc)][_0x4b49d4(0x2c5)]['split'](_0x1b542b['BGCtQ'])[_0x4b49d4(0x27f)]()?.['split'](':')[0x0]||_0x1b542b['rVwlO'])+'>\x20\x22'+(_0x1d6d69[_0x4b49d4(0x2bc)][_0x4b49d4(0x23c)]||'')[_0x4b49d4(0x2a2)](0x0,0x32)+'\x22)':'';return _0x4b49d4(0x25e)+_0x1d6d69['id']+_0x4b49d4(0x218)+_0x15c6a5+_0x4b49d4(0x1ed)+_0x2aeeef+_0x4b49d4(0x28b)+_0x1d6d69[_0x4b49d4(0x2b2)]+'\x22'+_0x8d6b7b;})[_0x5318ac(0x202)]('\x0a');return _0x5318ac(0x1fc)+_0x3823df;}function buildNovaSharedOptionsInstruction(_0x26e896){const _0x3027a5=_0x384443;if(!_0x26e896['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 _0x3027a5(0x272)+_0x26e896;}export function buildVerifyFeatureNovaCliDebugPrompt(_0x424f78){const _0x5cbfad=_0x384443,_0x177e26={'Pbyfi':function(_0x10fb95,_0x2c2818,_0xa08061){return _0x10fb95(_0x2c2818,_0xa08061);},'bZcDE':'00_initial-state.yml','CrdAK':'02_final-state.yml','Muypq':function(_0x4ae63b,_0xd38650,_0xb8c97d){return _0x4ae63b(_0xd38650,_0xb8c97d);},'CqQnp':function(_0x260f0c,_0x5a83f0){return _0x260f0c(_0x5a83f0);}},{novaCommandPrefix:_0x588611,novaSharedOptionsSuffix:_0x381916,cliArtifactDir:_0x57e110,url:_0x274e95}=_0x424f78,_0x2dacb0=_0x177e26['Pbyfi'](buildCliArtifactPath,_0x57e110,_0x177e26['bZcDE']),_0x300329=_0x177e26['Pbyfi'](buildCliArtifactPath,_0x57e110,'01_initial-state.png'),_0x46b658=buildCliArtifactPath(_0x57e110,_0x177e26['CrdAK']),_0x4d646e=_0x177e26['Muypq'](buildCliArtifactPath,_0x57e110,_0x5cbfad(0x25a));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'+_0x588611+'\x0a\x0a'+buildNovaSharedOptionsInstruction(_0x381916)+_0x5cbfad(0x2b7)+_0x588611+_0x5cbfad(0x213)+_0x177e26['CqQnp'](quoteShellArg,_0x274e95)+'\x20'+_0x381916+'`\x0a2.\x20Run\x20`'+_0x588611+'\x20snapshot\x20--output\x20'+quoteShellArg(_0x2dacb0)+'\x20'+_0x381916+_0x5cbfad(0x249)+_0x588611+_0x5cbfad(0x260)+_0x177e26[_0x5cbfad(0x23b)](quoteShellArg,_0x300329)+'\x20'+_0x381916+_0x5cbfad(0x278)+_0x588611+'\x20execute\x20\x22...\x22`\x20command\x20to\x20exercise\x20the\x20current\x20page.\x0a5.\x20Run\x20`'+_0x588611+_0x5cbfad(0x2af)+quoteShellArg(_0x46b658)+'\x20'+_0x381916+_0x5cbfad(0x253)+_0x588611+_0x5cbfad(0x260)+_0x177e26[_0x5cbfad(0x23b)](quoteShellArg,_0x4d646e)+'\x20'+_0x381916+_0x5cbfad(0x284)+_0x57e110+_0x5cbfad(0x22b);}export function buildVerifyFeatureNovaCliPrompt(_0x7d1f27){const _0x32f627=_0x384443,_0x5e7d96={'MRiYh':function(_0x141546,_0x43dae9,_0xf9dad0){return _0x141546(_0x43dae9,_0xf9dad0);},'RCbJB':'key_03_success-state.png','cdCbg':function(_0x238323,_0x5158f7){return _0x238323(_0x5158f7);},'rEeUZ':_0x32f627(0x21e)},{checklistItem:_0x27a534,itemFeedback:_0x59dd75,taskDescription:_0x4cac9b,novaCommandPrefix:_0x50690a,novaSharedOptionsSuffix:_0x5a409b,cliArtifactDir:_0x348235,url:_0x59729c,loginInstructions:_0x429057}=_0x7d1f27,_0x457cd1=_0x27a534[_0x32f627(0x264)]?'\x0a\x0a##\x20Additional\x20Notes\x0a'+_0x27a534[_0x32f627(0x264)]:'',_0x241b76=buildFeedbackSection(_0x59dd75),_0x385a95=_0x59dd75?.['canonicalFlow']?'\x0a\x0a##\x20Expected\x20Flow\x20(from\x20previous\x20verification)\x0a'+_0x59dd75[_0x32f627(0x219)]:'',_0x4db78f=_0x429057?_0x32f627(0x287)+_0x429057+_0x32f627(0x2a1):'',_0x5c152c=buildCliArtifactPath(_0x348235,_0x32f627(0x295)),_0x1c98d9=_0x5e7d96[_0x32f627(0x289)](buildCliArtifactPath,_0x348235,'01_initial-state.png'),_0x5bcc66=buildCliArtifactPath(_0x348235,_0x5e7d96[_0x32f627(0x233)]);return _0x32f627(0x214)+_0x27a534[_0x32f627(0x2b6)]+_0x457cd1+_0x241b76+_0x385a95+'\x0a\x0a##\x20Task\x20to\x20Execute\x0a'+_0x4cac9b+_0x32f627(0x246)+_0x59729c+_0x32f627(0x26f)+_0x4db78f+'\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`'+_0x50690a+_0x32f627(0x213)+_0x5e7d96['cdCbg'](quoteShellArg,_0x59729c)+'\x20'+_0x5a409b+'`.\x0a4.\x20Save\x20every\x20snapshot\x20and\x20screenshot\x20under\x20`'+_0x348235+'`\x20using\x20absolute\x20paths\x20only.\x0a5.\x20Take\x20an\x20initial\x20snapshot:\x20`'+_0x50690a+'\x20snapshot\x20--output\x20'+_0x5e7d96['cdCbg'](quoteShellArg,_0x5c152c)+'\x20'+_0x5a409b+'`.\x0a6.\x20Take\x20an\x20initial\x20screenshot:\x20`'+_0x50690a+'\x20screenshot\x20--output\x20'+quoteShellArg(_0x1c98d9)+'\x20'+_0x5a409b+'`.\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`'+_0x5bcc66+_0x32f627(0x1ff)+_0x50690a+'`\x0a\x0aAppend\x20this\x20option\x20suffix\x20to\x20browser\x20commands:\x0a'+(_0x5a409b['trim']()?'`'+_0x5a409b+'`':_0x5e7d96[_0x32f627(0x275)])+'\x0a\x0a'+_0x5e7d96[_0x32f627(0x292)](buildNovaSharedOptionsInstruction,_0x5a409b)+'\x0a\x0aExamples:\x0a-\x20`'+_0x50690a+'\x20execute\x20\x221.\x20Open\x20the\x20account\x20settings\x20menu.\x202.\x20Click\x20Billing.\x203.\x20Wait\x20for\x20the\x20Billing\x20page\x20to\x20load.\x22\x20'+_0x5a409b+_0x32f627(0x257)+_0x50690a+_0x32f627(0x26a)+_0x5a409b+_0x32f627(0x257)+_0x50690a+_0x32f627(0x2af)+quoteShellArg(_0x5c152c)+'\x20'+_0x5a409b+_0x32f627(0x257)+_0x50690a+_0x32f627(0x260)+quoteShellArg(_0x5bcc66)+'\x20'+_0x5a409b+'`\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(_0x4407e3){const _0x555228={'qVHHT':function(_0x10bc46,_0x468b85){return _0x10bc46===_0x468b85;}},_0x172113=[..._0x4407e3['keys']()]['sort']();let _0x55cc10=0x0;for(const _0x486149 of _0x4407e3['values']()){_0x55cc10+=_0x486149;}return{'cliCommandCount':_0x55cc10,'cliCommandsSeen':_0x172113,'noCliCommandsCalled':_0x555228['qVHHT'](_0x55cc10,0x0)};}function _0x19b0(_0x2d6b60,_0x340eb3){_0x2d6b60=_0x2d6b60-0x1e5;const _0x495659=_0x4956();let _0x19b014=_0x495659[_0x2d6b60];return _0x19b014;}function _0x4956(){const _0x3cd26c=['QqZmh','PostToolUse','capture\x20key\x20step\x20`','Omxja','selector','trackPhaseStart','invocation','nova_act_artifact_recording_stop','verify\x20page\x20condition','Page.screencastFrame','ffmpeg','Page.screencastFrameAck','tracingStarted','**\x20(','trackPhaseEnd','Library','session\x20create','10wncick','Nova\x20command\x20`','short','push','ffmpeg-mac','QbGdX','startScreencast','close','frameSession','startsWith','trackPhaseError','\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','YckwK','session-recording.webm','`.\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`','json','Xwggv','join','env','FymGR','ask\x20page\x20question','njtpc','error','screencastStarted','export','padStart','stopped','Do\x20not\x20run\x20Nova\x20help,\x20doctor,\x20script,\x20session\x20list,\x20session\x20export,\x20or\x20session\x20close\x20commands\x20during\x20verification.','tRuhY','newCDPSession','authorEmail','dyqha','YOCnC','ms-playwright','\x20session\x20create\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','utf-8','trace.zip','length',']\x20**','canonicalFlow','49TygXbS','\x20(on\x20element:\x20<','vgXWV','EZXtD','`<none;\x20the\x20command\x20prefix\x20injects\x20shared\x20options>`','telemetry','now','catch','40vWEzuk','KGBjd','en-US','Reviewer','354452lhmcNm','frame-','body','nova_act_artifact_recording','PreToolUse','`\x20using\x20absolute\x20paths\x20only.\x0aReturn\x20your\x20findings\x20in\x20the\x20structured\x20output\x20format.','start','Nova\x20CDP\x20connection\x20did\x20not\x20expose\x20a\x20browser\x20context','transportMetadata','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.','stop','snapshot','3Erzvpn','RCbJB','GHHae','4873796SGIkXp','yuv420p','nova_act_command','capture\x20snapshot\x20`','7258105vclYif','session','CqQnp','textContent','traceSampleCount','`\x20is\x20reserved\x20for\x20the\x20host.\x20Use\x20only\x20session\x20create,\x20execute,\x20verify,\x20ask,\x20goto,\x20wait-for,\x20snapshot,\x20and\x20screenshot.','Nqpfs','--output-dir','traceSampleInFlight','capture\x20snapshot','encodeScreencastVideo','tRJfB','map','\x0a\x0a##\x20App\x20Context\x0aYour\x20base\x20URL\x20is:\x20','stderr','frameCount','`\x0a3.\x20Run\x20`','frameWrites','Use\x20only\x20the\x20provided\x20Nova\x20browser\x20command\x20prefix\x20for\x20browser\x20verification.\x20Do\x20not\x20inspect\x20setup,\x20credentials,\x20files,\x20or\x20the\x20local\x20environment.','sort','scale=trunc(iw/2)*2:trunc(ih/2)*2','stopScreencast','14QzGoMu','21212yYVBGt','traceSampleTimer','WBHkY','`\x0a6.\x20Run\x20`','parse','nBSCX','Page.stopScreencast','`\x0a-\x20`','execute\x20Nova\x20browser\x20action','IsRcY','03_final-state.png','capture\x20step\x20`','CdNEF','WrZHu','-\x20[','create\x20Nova\x20browser\x20session','\x20screenshot\x20--output\x20','browser_pid','nova_act_final_screenshot','browser','notes','reverse','17362278VkgqhE','readSessionMetadataWithRetry','WqfyS','sxRAe','\x20verify\x20\x22The\x20Billing\x20page\x20is\x20visible\x20and\x20shows\x20the\x20current\x20plan.\x22\x20','XZomn','lQxgD','gJJxP','--format','\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','session\x20export','-c:v','Append\x20this\x20option\x20suffix\x20to\x20every\x20browser\x20command\x20unless\x20the\x20host\x20gives\x20a\x20more\x20specific\x20example:\x0a','Bash','stopTraceSampling','rEeUZ','context','queueTraceSample','`\x0a4.\x20Run\x20one\x20batched\x20`','nova_act_session_close','taIRo','subcommand','41846662HJGABX','inCSf','pages','pop','verify','umnST','params','mtimeMs','`\x0a7.\x20Return\x20immediately\x20with\x20the\x20structured\x20output.\x0a\x0aSave\x20every\x20artifact\x20under\x20`','filter','MmTni','\x0a\x0a##\x20Authentication\x0aBEFORE\x20starting\x20the\x20verification\x20task,\x20authenticate\x20using\x20these\x20steps:\x0a','match','MRiYh','ffmpeg-linux','):\x20\x22','wPEye','17680058pPRLnR','dNBoo','LIOFA','replace','screenshot','cdCbg','12MdmfDK','log','01_initial.yml','RTwdQ','.cache','test','6ssbGNq','Cubfp','capture\x20screenshot','nova-act-cli','ask','allSettled','numeric','-framerate','\x0a\x0aIf\x20authentication\x20fails,\x20return\x20evaluation\x20\x22blocked\x22\x20and\x20describe\x20the\x20auth\x20failure.','slice','shellCommand','hook_event_name','set','-loglevel','sessionId','lNJpO','wmesN','hsvZU','goto','wait-for','-qr','startTraceSampling','\x20snapshot\x20--output\x20','tool_input','tagName','content','block','name','nova-session-export.json','description','\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`','NfvJI','unaddressedComments','--output','commandArgs','domRef','.act_cli','\x20>\x20','qfHUa','from'];_0x4956=function(){return _0x3cd26c;};return _0x4956();}export function createVerifyFeatureNovaCliHooks(_0x36a76e,_0xd2bbb3){const _0x216ff8=_0x384443,_0x5b4cb6={'taIRo':_0x216ff8(0x22a),'OXjNw':function(_0x39b0ed,_0x238f86){return _0x39b0ed(_0x238f86);},'Xwggv':function(_0x532d64,_0x4dd8fd){return _0x532d64(_0x4dd8fd);},'GHHae':_0x216ff8(0x2b3),'dlQOb':_0x216ff8(0x2c2),'WqfyS':_0x216ff8(0x273),'ljOPr':function(_0x186061,_0x512f0d){return _0x186061+_0x512f0d;},'QbGdX':_0x216ff8(0x237),'Nqpfs':function(_0xa91d56,_0x28979c,_0x31ca78){return _0xa91d56(_0x28979c,_0x31ca78);},'nyywm':'nova_act_artifact_recording','IdJcy':'nova-act-cli','NCSYp':function(_0x3fea39,_0x12fbdd){return _0x3fea39!==_0x12fbdd;},'MKqIi':'nova_act_command_failure'},_0x2af6c7=new Map(),_0xd59d15=async _0x51ce15=>{const _0x4c1d26=_0x216ff8;if(_0x51ce15[_0x4c1d26(0x2a4)]!==_0x5b4cb6[_0x4c1d26(0x27a)])return{};const _0x3e70bf=_0x51ce15;if(_0x3e70bf['tool_name']!==_0x4c1d26(0x273))return{};const _0x13716f=_0x3e70bf[_0x4c1d26(0x2b0)],_0xc371ea=_0x5b4cb6['OXjNw'](extractBashCommand,_0x13716f);if(!_0xc371ea)return{};const _0x30bff5=_0x5b4cb6[_0x4c1d26(0x201)](getNovaActCliCommandBlockReason,_0xc371ea);if(!_0x30bff5)return{};return{'decision':_0x5b4cb6[_0x4c1d26(0x234)],'reason':_0x30bff5};},_0xab7253=async _0x178262=>{const _0x539b86=_0x216ff8;if(_0x178262['hook_event_name']!==_0x5b4cb6['dlQOb'])return{};const _0x1be46b=_0x178262;if(_0x1be46b['tool_name']!==_0x5b4cb6[_0x539b86(0x268)])return{};const _0x1d16b2=_0x1be46b['tool_input'],_0x506fd5=extractBashCommand(_0x1d16b2);if(!_0x506fd5)return{};const _0x10a43e=parseNovaActCliCommand(_0x506fd5);if(!_0x10a43e)return{};_0x2af6c7[_0x539b86(0x2a5)](_0x10a43e,_0x5b4cb6['ljOPr'](_0x2af6c7['get'](_0x10a43e)||0x0,0x1)),_0x36a76e[_0x539b86(0x1e5)](_0x539b86(0x237),{'subcommand':_0x10a43e}),_0x36a76e['trackPhaseEnd'](_0x5b4cb6[_0x539b86(0x1f6)],{'subcommand':_0x10a43e,'commandPreview':previewNovaActCliCommand(_0x506fd5)}),console[_0x539b86(0x294)]('[nova-act-cli]\x20'+_0x5b4cb6[_0x539b86(0x23f)](formatNovaActCliLog,_0x506fd5,_0x10a43e));if(_0x10a43e==='session\x20create'&&_0xd2bbb3)try{await _0xd2bbb3[_0x539b86(0x22c)]();}catch(_0x51934c){await _0x36a76e['trackPhaseError'](_0x5b4cb6['nyywm'],_0x51934c,{'transport':_0x5b4cb6['IdJcy']});}return{};},_0x257ada=async _0x12dc3f=>{const _0x3a665a=_0x216ff8;if(_0x12dc3f[_0x3a665a(0x2a4)]!=='PostToolUseFailure')return{};const _0x5df4cc=_0x12dc3f;if(_0x5b4cb6['NCSYp'](_0x5df4cc['tool_name'],_0x5b4cb6[_0x3a665a(0x268)]))return{};return await _0x36a76e[_0x3a665a(0x1fb)](_0x5b4cb6['MKqIi'],_0x5df4cc[_0x3a665a(0x207)],{'transport':_0x3a665a(0x29c),'toolName':_0x3a665a(0x273)}),{};};return{'preToolUseHook':_0xd59d15,'postToolUseHook':_0xab7253,'postToolUseFailureHook':_0x257ada,'commandCounts':_0x2af6c7};}async function runNovaLifecycleCommand(_0x454233){const _0x3949bf=_0x384443,_0x11746c={'usNaT':function(_0xf63c65,_0x5f55f3){return _0xf63c65(_0x5f55f3);},'NWCpk':function(_0x5e4753,_0x54590d){return _0x5e4753(_0x54590d);}},{novaOptions:_0x5a7b6d,commandArgs:_0x24449d,telemetry:_0x5cd235,phase:_0x441c2b,metadata:_0x277461,timeoutMs:_0x7adb5f}=_0x454233;_0x5cd235[_0x3949bf(0x1e5)](_0x441c2b,_0x277461);try{const _0x3c1de5=await _0x11746c['usNaT'](runNovaActCliCommand,{..._0x5a7b6d,'commandArgs':_0x24449d,'cwd':process['cwd'](),'env':process[_0x3949bf(0x203)],'timeoutMs':_0x7adb5f??NOVA_ACT_CLI_COMMAND_TIMEOUT_MS});_0x5cd235[_0x3949bf(0x1ee)](_0x441c2b,{..._0x277461,'subcommand':_0x3c1de5['invocation'][_0x3949bf(0x27b)],'commandPreview':previewNovaActCliCommand(_0x3c1de5[_0x3949bf(0x1e6)]['shellCommand']),'stdoutPreview':previewNovaActCliCommand(_0x3c1de5['stdout']),'stderrPreview':_0x11746c['NWCpk'](previewNovaActCliCommand,_0x3c1de5[_0x3949bf(0x247)]),'logDir':extractNovaActLogDir(_0x3c1de5['stdout'])});}catch(_0x1b78ae){await _0x5cd235[_0x3949bf(0x1fb)](_0x441c2b,_0x1b78ae,_0x277461);throw _0x1b78ae;}}export async function finalizeVerifyFeatureNovaCliSession(_0x5a657d){const _0x359b06=_0x384443,_0x1c23dc={'qfHUa':_0x359b06(0x262),'hwIMM':'screenshot','xuvWx':'--output','Cubfp':function(_0xe8ec94,_0x313695,_0x42ba3e){return _0xe8ec94(_0x313695,_0x42ba3e);},'pzMsr':'nova_act_final_snapshot','PbBAY':_0x359b06(0x231),'nKkTj':'nova_act_session_export','YckwK':_0x359b06(0x26e),'EHGUr':'nova_act_session_report','Omxja':_0x359b06(0x209),'ZfOCL':_0x359b06(0x240),'LIOFA':function(_0x8b415b,_0x2babaf,_0x4dfce6){return _0x8b415b(_0x2babaf,_0x4dfce6);},'UEHVb':_0x359b06(0x279),'EjOYu':function(_0x577783,_0x3a66e1){return _0x577783===_0x3a66e1;}},{telemetry:_0x343140,novaOptions:_0x32543b,cliArtifactDir:_0x4d134a,transportMetadata:_0x3c7e3e,artifactRecorder:_0x4ee7dc}=_0x5a657d,_0x1b0f96=[{'phase':_0x1c23dc[_0x359b06(0x2bf)],'commandArgs':[_0x1c23dc['hwIMM'],_0x1c23dc['xuvWx'],_0x1c23dc[_0x359b06(0x29a)](buildCliArtifactPath,_0x4d134a,'key_final-state.png')]},{'phase':_0x1c23dc['pzMsr'],'commandArgs':[_0x1c23dc['PbBAY'],_0x359b06(0x2ba),buildCliArtifactPath(_0x4d134a,'final-state.yaml')]},{'phase':_0x1c23dc['nKkTj'],'commandArgs':['session',_0x359b06(0x209),_0x1c23dc[_0x359b06(0x1fd)],_0x359b06(0x200),_0x1c23dc['xuvWx'],buildCliArtifactPath(_0x4d134a,_0x359b06(0x2b5))]},{'phase':_0x1c23dc['EHGUr'],'commandArgs':[_0x359b06(0x23a),_0x1c23dc[_0x359b06(0x2c4)],'--report',_0x1c23dc['ZfOCL'],_0x1c23dc[_0x359b06(0x28f)](buildCliArtifactPath,_0x4d134a,'nova-report')]},{'phase':_0x1c23dc['UEHVb'],'commandArgs':['session',_0x359b06(0x1f8)]}];for(const _0x5ab025 of _0x1b0f96){_0x1c23dc['EjOYu'](_0x5ab025['phase'],_0x1c23dc['UEHVb'])&&await _0x4ee7dc?.[_0x359b06(0x230)]();try{await runNovaLifecycleCommand({'novaOptions':_0x32543b,'commandArgs':[..._0x5ab025['commandArgs']],'telemetry':_0x343140,'phase':_0x5ab025['phase'],'metadata':_0x3c7e3e});}catch{}}}export async function harvestVerifyFeatureNovaCliArtifacts(_0x2ad8d2){const _0x12ad8f=_0x384443,_0x432f4d={'QlQTL':function(_0x5399dd,_0x4a1564,_0x4e8246){return _0x5399dd(_0x4a1564,_0x4e8246);},'VzVoj':function(_0x1d1e58,_0x1f09ed,_0x34fdd0){return _0x1d1e58(_0x1f09ed,_0x34fdd0);},'KJqOv':function(_0x15a6f4,_0x233912){return _0x15a6f4(_0x233912);},'NfvJI':function(_0x30a7e6,_0x298165){return _0x30a7e6+_0x298165;}},{cwd:_0x401dc5,cliArtifactDir:_0x30d23,startTime:_0x54f5fd}=_0x2ad8d2,_0x3c30bc=[];await mkdir(_0x30d23,{'recursive':!![]});const _0x2704c=await _0x432f4d['QlQTL'](readdir,_0x401dc5,{'withFileTypes':!![]});for(const _0xd99335 of _0x2704c){if(!_0xd99335['isFile']()||!VERIFY_FEATURE_NOVA_ARTIFACT_FILE_PATTERN['test'](_0xd99335['name']))continue;const _0x1d439e=_0x432f4d['VzVoj'](join,_0x401dc5,_0xd99335[_0x12ad8f(0x2b4)]),_0x379756=await _0x432f4d['KJqOv'](stat,_0x1d439e);if(_0x432f4d[_0x12ad8f(0x2b8)](_0x379756[_0x12ad8f(0x283)],0x7d0)<_0x54f5fd)continue;const _0x5e0410=buildCliArtifactPath(_0x30d23,_0xd99335['name']);if(_0x1d439e===_0x5e0410)continue;await rename(_0x1d439e,_0x5e0410),_0x3c30bc[_0x12ad8f(0x1f4)](_0xd99335[_0x12ad8f(0x2b4)]);}return _0x3c30bc[_0x12ad8f(0x24c)]();}export async function loadVerifyFeatureNovaTraceUploadArtifact(_0x95e2f){const _0x1ed2e0=_0x384443,_0x51e4ff={'nBSCX':function(_0x5e8ad8,_0x4af093,_0x58b688){return _0x5e8ad8(_0x4af093,_0x58b688);},'inCSf':function(_0x335039,_0x166a83){return _0x335039(_0x166a83);},'bVeit':function(_0x128fb5,_0x2be322){return _0x128fb5(_0x2be322);}},_0xf3d318=_0x51e4ff[_0x1ed2e0(0x255)](join,_0x95e2f,'trace.zip');try{return{'buffer':await _0x51e4ff[_0x1ed2e0(0x27d)](readFile,_0xf3d318),'source':_0xf3d318};}catch{return{'buffer':await _0x51e4ff['bVeit'](zipVerifyFeatureNovaArtifacts,_0x95e2f),'source':_0x95e2f};}}async function zipVerifyFeatureNovaArtifacts(_0x1678ce){const _0x23d568=_0x384443,_0x3b28a4={'wmesN':'nova-artifacts.zip','XFGAU':function(_0x1a0a79,_0x1011fa,_0x21021f,_0x452b5f){return _0x1a0a79(_0x1011fa,_0x21021f,_0x452b5f);},'MFYzn':'zip','IsRcY':function(_0x41ea64,_0x3eab86){return _0x41ea64(_0x3eab86);},'umnST':function(_0x56e38b,_0x4c6e12,_0xf0e5cb){return _0x56e38b(_0x4c6e12,_0xf0e5cb);}},_0xee5e05=join(_0x1678ce,'..',_0x3b28a4[_0x23d568(0x2a9)]);try{return await _0x3b28a4['XFGAU'](execFileAsync,_0x3b28a4['MFYzn'],[_0x23d568(0x2ad),_0xee5e05,'.','-x','nova-user-data/*'],{'cwd':_0x1678ce}),await _0x3b28a4[_0x23d568(0x259)](readFile,_0xee5e05);}finally{await _0x3b28a4[_0x23d568(0x281)](rm,_0xee5e05,{'force':!![]});}}export function buildNovaActCliDiagnostics(_0x28f4b1){const _0x2ac0c5=_0x384443,_0x57c064={'vfCLz':function(_0x295231,_0x302f9f,_0x1ff245){return _0x295231(_0x302f9f,_0x1ff245);}},_0x2d79fa=_0x57c064['vfCLz'](buildNovaActCliInvocation,_0x28f4b1['novaOptions'],_0x28f4b1[_0x2ac0c5(0x2bb)]);return{'command':_0x2d79fa['command'],'args':_0x2d79fa['args'],'commandPreview':previewNovaActCliCommand(_0x2d79fa[_0x2ac0c5(0x2a3)]),'subcommand':_0x2d79fa['subcommand'],'sharedOptionsSuffix':buildNovaActCliSharedOptionsSuffix(_0x28f4b1['novaOptions'],_0x28f4b1['commandArgs'])};}
|
|
@@ -1 +1 @@
|
|
|
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{}}}
|
|
1
|
+
(function(_0x574519,_0xe9c4fa){const _0x20225f=_0x3a4e,_0x35c039=_0x574519();while(!![]){try{const _0x58571b=parseInt(_0x20225f(0x107))/0x1+-parseInt(_0x20225f(0x12a))/0x2*(parseInt(_0x20225f(0x114))/0x3)+parseInt(_0x20225f(0xee))/0x4+-parseInt(_0x20225f(0x111))/0x5*(-parseInt(_0x20225f(0x10d))/0x6)+-parseInt(_0x20225f(0x12f))/0x7+-parseInt(_0x20225f(0xfa))/0x8+parseInt(_0x20225f(0xed))/0x9;if(_0x58571b===_0xe9c4fa)break;else _0x35c039['push'](_0x35c039['shift']());}catch(_0x496e17){_0x35c039['push'](_0x35c039['shift']());}}}(_0x1bbb,0x27e0c));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(_0x512445,_0x1e2d3f=RANGERWRIGHT_CLI_PREVIEW_LIMIT){const _0x80ef0e=_0x3a4e;return _0x512445[_0x80ef0e(0xf5)]>_0x1e2d3f?_0x512445[_0x80ef0e(0x100)](0x0,_0x1e2d3f)+'...':_0x512445;}function extractShellValue(_0x49ce6d){if(!_0x49ce6d)return null;return _0x49ce6d[0x1]??_0x49ce6d[0x2]??_0x49ce6d[0x3]??null;}function extractFirstCommandArgument(_0x130511,_0x934c1){const _0x64c752=_0x3a4e,_0x4d69f0=_0x934c1[_0x64c752(0x113)](/[.*+?^${}()|[\]\\]/g,_0x64c752(0xf9));return extractShellValue(_0x130511[_0x64c752(0x125)](new RegExp(_0x64c752(0x10c)+_0x4d69f0+'(?:\x5cs+(?:\x22([^\x22]+)\x22|\x27([^\x27]+)\x27|(\x5cS+)))')));}function _0x1bbb(){const _0x1d45f0=['121576lxFute','phase','\x0a\x0a##\x20Additional\x20Notes\x0a','trackPhaseEnd','rangerwright_cli_close','IoeTz','AAarl','PostToolUse','map','fill-and-inspect','canonicalFlow','inspect','authorEmail','set','\x0a\x0aAfter\x20completing\x20authentication,\x20proceed\x20with\x20the\x20verification\x20task\x20below.\x0aIf\x20authentication\x20fails,\x20return\x20evaluation\x20\x22blocked\x22\x20and\x20describe\x20the\x20auth\x20failure.','YKwSa','1158183RuhCsO','144408njnAoo','eTyDY','close','IKbQR','notes','ZXcXK','ref\x20','length','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','.\x0aThe\x20app\x20is\x20already\x20running\x20and\x20connected.\x20Start\x20with\x20inspect\x20instead\x20of\x20opening\x20a\x20URL.','`\x0a2.\x20Use\x20the\x20returned\x20JSON\x20to\x20find\x20the\x20\x22Learn\x20More\x22\x20link\x20ref.\x0a3.\x20Run\x20`','\x5c$&','354632JWoxSx','open\x20and\x20inspect\x20','\x20click-and-inspect\x20<ref>\x20--screenshot-path\x20','sSBTS','tracing-stop','join','slice','tool_name','>\x20\x22','\x20--screenshot-path\x20','content','NnqVD','trackPhaseStart','303247XPiLzP','subcommand','domRef','createdAt','agrwn','(?:^|\x5cs)','6qgFWnn','invocation','open-and-inspect','rangerwright_cli_command','377755CySPTy','ZaGQy','replace','38226IDvXPy','MvNSh','target','Reviewer','Bash','stderr','commandPrefix','trackPhaseError','description','cwd','hook_event_name','key_02_learn-more.png','toLocaleDateString','\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','test','\x20open-and-inspect\x20','bsFzW','match','):\x20\x22','CRITICAL\x20URL\x20REQUIREMENT:\x0aYour\x20base\x20URL\x20is:\x20','unaddressedComments','log','50tPFAbb','\x0a\x0a##\x20Authentication\x0aBEFORE\x20starting\x20the\x20verification\x20task,\x20authenticate\x20using\x20these\x20steps:\x0a','JyNjR','`\x0a4.\x20Return\x20immediately\x20with\x20the\x20structured\x20output.\x0a\x0aReturn\x20your\x20findings\x20in\x20the\x20structured\x20output\x20format.','error'];_0x1bbb=function(){return _0x1d45f0;};return _0x1bbb();}function formatCommandTarget(_0x4031d8){const _0xb99a60=_0x3a4e,_0x55d13f={'npcvG':_0xb99a60(0x116)};if(!_0x4031d8)return _0x55d13f['npcvG'];if(/^e\d+$/i[_0xb99a60(0x122)](_0x4031d8))return _0xb99a60(0xf4)+_0x4031d8;return JSON['stringify'](truncatePreview(_0x4031d8,0x78));}function formatRangerwrightCliLog(_0xed08d4,_0x1f6fc7){const _0x9ca2=_0x3a4e,_0x2f1083={'sqNDl':function(_0x2c1a51,_0x104ef4){return _0x2c1a51(_0x104ef4);},'QVWAf':function(_0x734505,_0x470cfa,_0x424e6a){return _0x734505(_0x470cfa,_0x424e6a);},'bsFzW':'back-and-inspect','xHfZy':'go\x20back\x20and\x20inspect','RFIDT':_0x9ca2(0xe8),'jyAiy':'inspect\x20page','MvNSh':_0x9ca2(0xfe),'sSBTS':'video-stop','IoeTz':'close'};switch(_0x1f6fc7){case _0x9ca2(0x10f):{const _0x364e36=extractFirstCommandArgument(_0xed08d4,_0x1f6fc7);return _0x364e36?_0x9ca2(0xfb)+_0x364e36:'open\x20and\x20inspect';}case'click-and-inspect':return'click\x20and\x20inspect\x20'+_0x2f1083['sqNDl'](formatCommandTarget,extractFirstCommandArgument(_0xed08d4,_0x1f6fc7));case'fill':case _0x9ca2(0xe6):return'fill\x20'+formatCommandTarget(_0x2f1083['QVWAf'](extractFirstCommandArgument,_0xed08d4,_0x1f6fc7));case _0x2f1083[_0x9ca2(0x124)]:return _0x2f1083['xHfZy'];case _0x2f1083['RFIDT']:return _0x2f1083['jyAiy'];case _0x2f1083[_0x9ca2(0x115)]:return'stop\x20tracing';case _0x2f1083[_0x9ca2(0xfd)]:return'stop\x20video\x20recording';case _0x2f1083[_0x9ca2(0xe2)]:return'close\x20browser\x20session';default:return _0x1f6fc7;}}function renderScenarioSections(_0x430586){const _0x14c9a5=_0x3a4e,_0x3519e7={'AAarl':'numeric','WoyMv':'\x20>\x20','RvzAa':'element'},{checklistItem:_0x2a1f9a,itemFeedback:_0x743466}=_0x430586,_0x59cc53=_0x2a1f9a[_0x14c9a5(0xf2)]?_0x14c9a5(0x131)+_0x2a1f9a['notes']:'';let _0x4110e6='';if(_0x743466&&_0x743466['unaddressedComments']['length']>0x0){const _0x11aa39=_0x743466[_0x14c9a5(0x128)][_0x14c9a5(0xe5)](_0x2af356=>{const _0x5b951a=_0x14c9a5,_0x586a9c=new Date(_0x2af356[_0x5b951a(0x10a)])[_0x5b951a(0x120)]('en-US',{'month':'short','day':_0x3519e7[_0x5b951a(0xe3)]}),_0xe1a9bd=_0x2af356['authorName']||_0x2af356[_0x5b951a(0xe9)]||_0x5b951a(0x117),_0x11b1ba=_0x2af356['domRef']?'\x20(on\x20element:\x20<'+(_0x2af356[_0x5b951a(0x109)]['selector']['split'](_0x3519e7['WoyMv'])['pop']()?.['split'](':')[0x0]||_0x3519e7['RvzAa'])+_0x5b951a(0x102)+(_0x2af356[_0x5b951a(0x109)]['textContent']||'')[_0x5b951a(0x100)](0x0,0x32)+'\x22)':'';return'-\x20['+_0x2af356['id']+']\x20'+_0xe1a9bd+'\x20('+_0x586a9c+_0x5b951a(0x126)+_0x2af356[_0x5b951a(0x104)]+'\x22'+_0x11b1ba;})[_0x14c9a5(0xff)]('\x0a');_0x4110e6='\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'+_0x11aa39;}const _0x4c1337=_0x743466?.[_0x14c9a5(0xe7)]?'\x0a\x0a##\x20Expected\x20Flow\x20(from\x20previous\x20verification)\x0a'+_0x743466[_0x14c9a5(0xe7)]:'';return''+_0x2a1f9a[_0x14c9a5(0x11c)]+_0x59cc53+_0x4110e6+_0x4c1337;}export function buildVerifyFeatureRangerwrightCliPrompt(_0x3f5dc2){const _0x2fcbfd=_0x3a4e,_0x1f35d2={'ZaGQy':function(_0xe7f8f1,_0x47d5a3){return _0xe7f8f1(_0x47d5a3);},'DiAgd':function(_0x27bd77,_0x14ded5){return _0x27bd77(_0x14ded5);}},{checklistItem:_0x46bf88,itemFeedback:_0x596ee7,taskDescription:_0x2656ee,commandPrefix:_0x485125,isCdpMode:_0x18ee0c,url:_0x567394,cdpEndpoint:_0x4ce8e2,loginInstructions:_0x264205}=_0x3f5dc2,_0x111fc9='01_initial-state.png',_0x4d7535='key_99_final-state.png',_0x2966de=_0x18ee0c?_0x485125+'\x20inspect\x20--screenshot-path\x20'+quoteShellArg(_0x111fc9):_0x485125+_0x2fcbfd(0x123)+_0x1f35d2[_0x2fcbfd(0x112)](quoteShellArg,_0x567394??'about:blank')+_0x2fcbfd(0x103)+_0x1f35d2['ZaGQy'](quoteShellArg,_0x111fc9),_0x5b278b=_0x18ee0c?'##\x20App\x20Context\x0aYou\x20are\x20connected\x20to\x20a\x20desktop\x20application\x20via\x20CDP\x20at\x20'+_0x4ce8e2+_0x2fcbfd(0xf7):_0x2fcbfd(0x127)+_0x567394+'\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.',_0x64719e=_0x264205?_0x2fcbfd(0x12b)+_0x264205+_0x2fcbfd(0xeb):'';return _0x2fcbfd(0xf6)+_0x1f35d2['DiAgd'](renderScenarioSections,{'checklistItem':_0x46bf88,'itemFeedback':_0x596ee7})+'\x0a\x0a##\x20Task\x20to\x20Execute\x0a'+_0x2656ee+'\x0a\x0a'+_0x5b278b+_0x64719e+'\x0a\x0a##\x20Rangerwright\x20Instructions\x0aUse\x20Bash\x20and\x20Rangerwright\x20only.\x0a\x0aEvery\x20browser\x20command\x20must\x20start\x20with\x20this\x20exact\x20literal\x20command\x20prefix:\x0a\x0a'+_0x485125+'\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'+_0x2966de+_0x2fcbfd(0x121)+_0x485125+'\x20click-and-inspect\x20e37\x20--screenshot-path\x20'+quoteShellArg(_0x4d7535)+'\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.';}export function buildVerifyFeatureRangerwrightCliDebugPrompt(_0x35cb37){const _0x58825e=_0x3a4e,_0x3d0ba7={'lxinZ':'01_mozilla-homepage.png','NnqVD':function(_0x43b392,_0x1293ff){return _0x43b392(_0x1293ff);}},_0x59547a=_0x3d0ba7['lxinZ'],_0x53ade2=_0x58825e(0x11f);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'+_0x35cb37[_0x58825e(0x11a)]+'\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`'+_0x35cb37[_0x58825e(0x11a)]+_0x58825e(0x123)+_0x3d0ba7[_0x58825e(0x105)](quoteShellArg,_0x35cb37['url'])+_0x58825e(0x103)+_0x3d0ba7['NnqVD'](quoteShellArg,_0x59547a)+_0x58825e(0xf8)+_0x35cb37[_0x58825e(0x11a)]+_0x58825e(0xfc)+quoteShellArg(_0x53ade2)+_0x58825e(0x12d);}export function summarizeVerifyFeatureRangerwrightCliCommandAvailability(_0x38b184){const _0x31e232=[..._0x38b184['keys']()]['sort']();let _0x20d2e7=0x0;for(const _0x202dba of _0x38b184['values']()){_0x20d2e7+=_0x202dba;}return{'cliCommandCount':_0x20d2e7,'cliCommandsSeen':_0x31e232,'noCliCommandsCalled':_0x20d2e7===0x0};}function _0x3a4e(_0x4edbc3,_0xaa6a4b){_0x4edbc3=_0x4edbc3-0xe2;const _0x1bbbbe=_0x1bbb();let _0x3a4e60=_0x1bbbbe[_0x4edbc3];return _0x3a4e60;}export function createVerifyFeatureRangerwrightCliHooks(_0x1031f8){const _0x288b98=_0x3a4e,_0x183e8a={'iEFeM':_0x288b98(0xe4),'qIuiA':function(_0x1a7c58,_0x359610){return _0x1a7c58(_0x359610);},'uEIZB':function(_0xf4ee7d,_0x17d158,_0x2ad23b){return _0xf4ee7d(_0x17d158,_0x2ad23b);},'JyNjR':function(_0x50c846,_0xd81704){return _0x50c846!==_0xd81704;},'AfbUO':_0x288b98(0x118)},_0x494954=new Map(),_0x3439a4=async _0x1c4753=>{const _0xd90e7b=_0x288b98;if(_0x1c4753[_0xd90e7b(0x11e)]!==_0x183e8a['iEFeM'])return{};const _0xefce4d=_0x1c4753;if(_0xefce4d[_0xd90e7b(0x101)]!==_0xd90e7b(0x118))return{};const _0x4ba83f=_0xefce4d['tool_input'],_0x42b480=_0x183e8a['qIuiA'](extractBashCommand,_0x4ba83f);if(!_0x42b480)return{};const _0x2fe2ae=parseRangerwrightCliCommand(_0x42b480);if(!_0x2fe2ae)return{};return _0x494954[_0xd90e7b(0xea)](_0x2fe2ae,(_0x494954['get'](_0x2fe2ae)||0x0)+0x1),_0x1031f8[_0xd90e7b(0x106)](_0xd90e7b(0x110),{'subcommand':_0x2fe2ae}),_0x1031f8['trackPhaseEnd']('rangerwright_cli_command',{'subcommand':_0x2fe2ae,'commandPreview':truncatePreview(_0x42b480)}),console[_0xd90e7b(0x129)]('[rangerwright-cli]\x20'+_0x183e8a['uEIZB'](formatRangerwrightCliLog,_0x42b480,_0x2fe2ae)),{};},_0x405b7c=async _0xf1a3c8=>{const _0x1d528d=_0x288b98;if(_0xf1a3c8[_0x1d528d(0x11e)]!=='PostToolUseFailure')return{};const _0x2e82f2=_0xf1a3c8;if(_0x183e8a[_0x1d528d(0x12c)](_0x2e82f2['tool_name'],_0x183e8a['AfbUO']))return{};return await _0x1031f8[_0x1d528d(0x11b)]('rangerwright_cli_command_failure',_0x2e82f2[_0x1d528d(0x12e)],{'transport':'rangerwright-cli','toolName':_0x1d528d(0x118)}),{};};return{'postToolUseHook':_0x3439a4,'postToolUseFailureHook':_0x405b7c,'commandCounts':_0x494954};}async function runRangerwrightLifecycleCommand(_0x184677){const _0x47a0e5=_0x3a4e,_0x197c8c={'cVvNe':function(_0x513229,_0x35dca9){return _0x513229(_0x35dca9);},'eTyDY':function(_0x538f1b,_0x1a1b56){return _0x538f1b??_0x1a1b56;},'agrwn':function(_0x3ad1e3,_0x4bb5c8,_0x15107c){return _0x3ad1e3(_0x4bb5c8,_0x15107c);}},{options:_0x2247dc,commandArgs:_0x35f23d,env:_0x499ac5,telemetry:_0x1870d7,phase:_0x1abdc0,metadata:_0x4c604b,timeoutMs:_0x4e7359}=_0x184677;_0x1870d7[_0x47a0e5(0x106)](_0x1abdc0,_0x4c604b);try{const _0x2b7181=await _0x197c8c['cVvNe'](runRangerwrightCliCommand,{..._0x2247dc,'commandArgs':_0x35f23d,'cwd':process[_0x47a0e5(0x11d)](),'env':_0x499ac5,'timeoutMs':_0x197c8c[_0x47a0e5(0xef)](_0x4e7359,RANGERWRIGHT_CLI_COMMAND_TIMEOUT_MS)});_0x1870d7[_0x47a0e5(0x132)](_0x1abdc0,{..._0x4c604b,'subcommand':_0x2b7181[_0x47a0e5(0x10e)][_0x47a0e5(0x108)],'stdoutPreview':truncatePreview(_0x2b7181['stdout'],0x7d0),'stderrPreview':_0x197c8c[_0x47a0e5(0x10b)](truncatePreview,_0x2b7181[_0x47a0e5(0x119)],0x7d0)});}catch(_0x443ae0){await _0x1870d7[_0x47a0e5(0x11b)](_0x1abdc0,_0x443ae0,_0x4c604b);throw _0x443ae0;}}export async function finalizeVerifyFeatureRangerwrightCliSession(_0x64b251){const _0x5e0b1a=_0x3a4e,_0x109d96={'MgdJm':'rangerwright_cli_video_stop','IKbQR':_0x5e0b1a(0x133),'ZXcXK':_0x5e0b1a(0xf0),'YKwSa':function(_0x5e4116,_0x2c8fdf){return _0x5e4116(_0x2c8fdf);}},{telemetry:_0x52e6f9,rangerwrightOptions:_0x2a0b0d,env:_0x4b81de,transportMetadata:_0x524999}=_0x64b251,_0x5f1dcf=[{'phase':'rangerwright_cli_tracing_stop','commandArgs':[_0x5e0b1a(0xfe)]},{'phase':_0x109d96['MgdJm'],'commandArgs':['video-stop']},{'phase':_0x109d96[_0x5e0b1a(0xf1)],'commandArgs':[_0x109d96[_0x5e0b1a(0xf3)]]}];for(const _0x2d3819 of _0x5f1dcf){try{await _0x109d96[_0x5e0b1a(0xec)](runRangerwrightLifecycleCommand,{'options':_0x2a0b0d,'commandArgs':[..._0x2d3819['commandArgs']],'env':_0x4b81de,'telemetry':_0x52e6f9,'phase':_0x2d3819[_0x5e0b1a(0x130)],'metadata':_0x524999});}catch{}}}
|