@ranger-testing/ranger-cli 3.1.1-alpha.b22d278-38 → 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(_0x6d4362,_0x3904de){const _0x301bf5=_0x55f1,_0x5a9ed7=_0x6d4362();while(!![]){try{const _0x27514d=parseInt(_0x301bf5(0x1bb))/0x1+-parseInt(_0x301bf5(0x1e4))/0x2*(-parseInt(_0x301bf5(0x1d6))/0x3)+-parseInt(_0x301bf5(0x1fd))/0x4*(-parseInt(_0x301bf5(0x22a))/0x5)+-parseInt(_0x301bf5(0x22f))/0x6+-parseInt(_0x301bf5(0x1eb))/0x7*(-parseInt(_0x301bf5(0x1d3))/0x8)+-parseInt(_0x301bf5(0x23e))/0x9+-parseInt(_0x301bf5(0x235))/0xa*(-parseInt(_0x301bf5(0x1e3))/0xb);if(_0x27514d===_0x3904de)break;else _0x5a9ed7['push'](_0x5a9ed7['shift']());}catch(_0x12df5e){_0x5a9ed7['push'](_0x5a9ed7['shift']());}}}(_0x3fd8,0x55a57));import{mkdir,readFile,readdir,rename,stat}from'fs/promises';import{basename,join}from'path';import{extractBashCommand,parsePlaywrightCliCommand,quoteShellArg,runPlaywrightCliCommand}from'./utils/playwrightCli.js';function _0x3fd8(){const _0x270f89=['AlDjP','02_state.yml','env','qQTQq','key_04_success-state.png','HiGaE','push','stdout','keys','log','tool_call','tool_name','dsFXX','HJJgL','\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.','commandArgs','select\x20tab','862180xJyKfu','notes','unaddressedComments','WCEAX','\x20video-start`.\x0a3.\x20Save\x20every\x20snapshot\x20and\x20screenshot\x20under\x20`','1022652xuVrlV','\x0a\x0a1.\x20Run\x20`','`\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','`\x20using\x20absolute\x20paths\x20only.\x20Do\x20not\x20use\x20relative\x20filenames.\x0a5.\x20Run\x20`','Bash','values','15310Ygdxov','snapshot','DvvQP','fGDbE','QwkKF','subcommand','\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','playwright_cli_close','close','6012882YNAGFF','[ranger-verification-agent]\x20','rjqlK','authorName','XMOOI','mtimeMs','\x20tracing-start`\x0a3.\x20Run\x20`','`,\x20then\x20`','jpHgN','\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.','\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','276347mGXOkv','yPAPi','length','`\x0a10.\x20Return\x20immediately\x20with\x20the\x20structured\x20output\x0a\x0aReturn\x20your\x20findings\x20in\x20the\x20structured\x20output\x20format.','check\x20','createdAt','start\x20video\x20recording','\x20open\x20','JRfOQ','press','):\x20\x22','\x22,\x20\x22','oGibE','QsejL','hxQHI','ulEwN','`\x0a9.\x20Run\x20`','\x20snapshot\x20--filename\x20','UOMdd','playwright-cli','tracing-stop','content','fill','trackPhaseError','16pweLBx','\x0a\x0a##\x20Task\x20to\x20Execute\x0a','description','518907CKefbJ','RxCNW','get','EkIdV','numeric','press\x20','\x20tracing-start`,\x20then\x20`','trackPhaseEnd','string','Reviewer','trim','ApQCt','playwright_cli_tracing_stop','1749SlRAMH','2ShXHJQ','PostToolUse','BGwYx','SJSca','hook_event_name','EPLrY','`\x20style\x20absolute\x20paths\x20at\x20key\x20moments.\x0a8.\x20If\x20you\x20need\x20waits\x20or\x20custom\x20assertions,\x20use\x20`','531055GiKtSI','name','GkWjV','\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.','stderr','vhcYu','nlHcT','video-stop','\x20>\x20','nrwtA','\x0a\x0a##\x20Additional\x20Notes\x0a','domRef','stop\x20tracing','BtssC','VdqFH','[playwright-cli]\x20','open\x20','run\x20custom\x20Playwright\x20code','8BTxjlJ','**\x20(','element','open\x20new\x20tab','\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.','`\x0a5.\x20Read\x20the\x20snapshot\x20file\x20to\x20find\x20the\x20\x22Learn\x20More\x22\x20link\x20reference\x0a6.\x20Run\x20`','open','ref\x20','uVALp','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','fill\x20','capture\x20snapshot\x20`','`\x0a-\x20`snapshot\x20--filename\x20','`\x20using\x20absolute\x20paths\x20only.\x20Do\x20not\x20use\x20relative\x20filenames.\x0a4.\x20Take\x20a\x20snapshot\x20with\x20`','set','pyRmI','PeqRm','selector','02_learn-more.yml','authorEmail','tab-select','invocation','capture\x20screenshot','`\x0a7.\x20Click\x20the\x20\x22Learn\x20More\x22\x20link\x20with\x20Playwright\x20CLI\x0a8.\x20Run\x20`','open\x20browser','trackPhaseStart','You\x20are\x20testing\x20browser\x20automation.\x20Your\x20task\x20is\x20simple:\x0a\x0aUse\x20Bash\x20and\x20Playwright\x20CLI\x20only.\x20The\x20browser\x20command\x20prefix\x20is:\x0a','HxsQs'];_0x3fd8=function(){return _0x270f89;};return _0x3fd8();}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(_0xbcae2b,_0x572732=PLAYWRIGHT_CLI_PREVIEW_LIMIT){const _0x2b8e3f=_0x55f1,_0x11fb8d={'EkIdV':function(_0x74af94,_0xd471ff){return _0x74af94>_0xd471ff;}};return _0x11fb8d[_0x2b8e3f(0x1d9)](_0xbcae2b['length'],_0x572732)?_0xbcae2b['slice'](0x0,_0x572732)+'...':_0xbcae2b;}function buildCliArtifactPath(_0x2c08b8,_0x518e52){const _0x55bdc5=_0x55f1,_0x424337={'HxsQs':function(_0x340275,_0x11f26e,_0x588715){return _0x340275(_0x11f26e,_0x588715);}};return _0x424337[_0x55bdc5(0x218)](join,_0x2c08b8,_0x518e52);}function toStepDisplayName(_0x1d29da){const _0x5f5b47={'tSeDN':function(_0x3e7690,_0x2ab1d9){return _0x3e7690(_0x2ab1d9);}},_0x3f524e=basename(_0x1d29da)['replace'](/\.(?:png|ya?ml)$/i,'')['replace'](/^key_/i,'')['replace'](/^\d+_/,'')['replace'](/-/g,'\x20');return{'name':_0x3f524e,'isKeyStep':/^key_/i['test'](_0x5f5b47['tSeDN'](basename,_0x1d29da))};}function extractShellValue(_0x30df66){if(!_0x30df66)return null;return _0x30df66[0x1]??_0x30df66[0x2]??_0x30df66[0x3]??null;}function extractFilenameOption(_0x402f37){const _0x46d70f={'HvkwL':function(_0x593e6f,_0x58ddf7){return _0x593e6f(_0x58ddf7);}};return _0x46d70f['HvkwL'](extractShellValue,_0x402f37['match'](/--filename(?:=|\s+)(?:"([^"]+)"|'([^']+)'|(\S+))/));}function extractFirstCommandArgument(_0xf7d666,_0x57e81f){const _0x1be201=_0x57e81f['replace'](/[.*+?^${}()|[\]\\]/g,'\x5c$&');return extractShellValue(_0xf7d666['match'](new RegExp('(?:^|\x5cs)'+_0x1be201+'(?:\x5cs+(?:\x22([^\x22]+)\x22|\x27([^\x27]+)\x27|(\x5cS+)))')));}function formatCommandTarget(_0x9d48eb){const _0x3857fb=_0x55f1,_0x1dfc7d={'uVALp':function(_0x5cca68,_0x302e3c,_0x158481){return _0x5cca68(_0x302e3c,_0x158481);}};if(!_0x9d48eb)return'target';if(/^e\d+$/i['test'](_0x9d48eb))return _0x3857fb(0x204)+_0x9d48eb;return JSON['stringify'](_0x1dfc7d[_0x3857fb(0x205)](truncatePreview,_0x9d48eb,0x78));}function formatPlaywrightCliLog(_0x195b21,_0x38701d){const _0x560ee2=_0x55f1,_0x126c12={'aHdsn':_0x560ee2(0x203),'ulEwN':function(_0x1cd707,_0x25260f,_0x4d0e41){return _0x1cd707(_0x25260f,_0x4d0e41);},'ZgNFZ':_0x560ee2(0x1f7),'hxQHI':_0x560ee2(0x1c1),'KWIwn':_0x560ee2(0x1f2),'GkWjV':_0x560ee2(0x236),'nrwtA':function(_0x3580f7,_0x28b8a7){return _0x3580f7(_0x28b8a7);},'yUcRF':function(_0x3a86d7,_0x147889){return _0x3a86d7(_0x147889);},'boxvt':function(_0x46abfb,_0x1d9c14){return _0x46abfb(_0x1d9c14);},'DvvQP':'check','KPRhD':_0x560ee2(0x1d1),'HJJgL':function(_0x48fe2c,_0x5db675){return _0x48fe2c(_0x5db675);},'nnEWE':_0x560ee2(0x1c4),'QHXvj':_0x560ee2(0x200),'yPAPi':function(_0x23d9df,_0x1081c5,_0x98b672){return _0x23d9df(_0x1081c5,_0x98b672);}};switch(_0x38701d){case _0x126c12['aHdsn']:{const _0x3ea18b=_0x126c12['ulEwN'](extractFirstCommandArgument,_0x195b21,_0x38701d);return _0x3ea18b?_0x560ee2(0x1fb)+_0x3ea18b:_0x560ee2(0x215);}case'tracing-start':return'start\x20tracing';case _0x560ee2(0x1cf):return _0x126c12['ZgNFZ'];case'video-start':return _0x126c12[_0x560ee2(0x1c9)];case _0x126c12['KWIwn']:return'stop\x20video\x20recording';case _0x126c12[_0x560ee2(0x1ed)]:{const _0x8f3468=_0x126c12[_0x560ee2(0x1f4)](extractFilenameOption,_0x195b21);if(!_0x8f3468)return'capture\x20snapshot';const {name:_0x2d0d08}=_0x126c12['yUcRF'](toStepDisplayName,_0x8f3468);return _0x560ee2(0x208)+_0x2d0d08+'`';}case'screenshot':{const _0x232c74=extractFilenameOption(_0x195b21);if(!_0x232c74)return _0x560ee2(0x213);const {name:_0x5dced3,isKeyStep:_0x5a985e}=_0x126c12['boxvt'](toStepDisplayName,_0x232c74);return _0x5a985e?'capture\x20key\x20step\x20`'+_0x5dced3+'`':'capture\x20step\x20`'+_0x5dced3+'`';}case'click':return'click\x20'+formatCommandTarget(_0x126c12[_0x560ee2(0x1ca)](extractFirstCommandArgument,_0x195b21,_0x38701d));case _0x126c12[_0x560ee2(0x237)]:return _0x560ee2(0x1bf)+_0x126c12[_0x560ee2(0x1f4)](formatCommandTarget,_0x126c12[_0x560ee2(0x1ca)](extractFirstCommandArgument,_0x195b21,_0x38701d));case _0x126c12['KPRhD']:return _0x560ee2(0x207)+_0x126c12[_0x560ee2(0x226)](formatCommandTarget,extractFirstCommandArgument(_0x195b21,_0x38701d));case _0x126c12['nnEWE']:return _0x560ee2(0x1db)+formatCommandTarget(_0x126c12[_0x560ee2(0x1ca)](extractFirstCommandArgument,_0x195b21,_0x38701d));case'run-code':return _0x560ee2(0x1fc);case'tab-new':{const _0x464b20=extractFirstCommandArgument(_0x195b21,_0x38701d);return _0x464b20?'open\x20new\x20tab\x20'+_0x464b20:_0x126c12['QHXvj'];}case _0x560ee2(0x211):{const _0xd1fe94=_0x126c12[_0x560ee2(0x1bc)](extractFirstCommandArgument,_0x195b21,_0x38701d);return _0xd1fe94?'select\x20tab\x20'+_0xd1fe94:_0x560ee2(0x229);}default:return _0x38701d;}}function extractPlaywrightCliToolDescription(_0x15d8c3){const _0x6468c9=_0x55f1,_0x1de1ba={'BtssC':function(_0x228fa4,_0x2bbab1){return _0x228fa4!==_0x2bbab1;},'aymqB':_0x6468c9(0x1de),'rjqlK':function(_0x21e5c5,_0x28b4fd){return _0x21e5c5>_0x28b4fd;}},_0x461023=_0x15d8c3['description'];if(_0x1de1ba[_0x6468c9(0x1f8)](typeof _0x461023,_0x1de1ba['aymqB']))return null;const _0xce2a51=_0x461023[_0x6468c9(0x1e0)]()['replace'](/\s+/g,'\x20');return _0x1de1ba[_0x6468c9(0x240)](_0xce2a51['length'],0x0)?_0xce2a51:null;}export function formatPlaywrightCliConsoleLogMessage(_0x1b563c,_0x50faa0,_0x23cae8){const _0x29c0fb=_0x55f1,_0x5e6fcd={'JRfOQ':function(_0x2421a4,_0x2a9b8f,_0x3ebb14){return _0x2421a4(_0x2a9b8f,_0x3ebb14);}},_0x33c8e9=_0x5e6fcd[_0x29c0fb(0x1c3)](formatPlaywrightCliLog,_0x50faa0,_0x23cae8),_0x55ae1f=extractPlaywrightCliToolDescription(_0x1b563c);if(!_0x55ae1f)return _0x29c0fb(0x1fa)+_0x33c8e9;if(process[_0x29c0fb(0x21b)]['DEBUG'])return _0x29c0fb(0x23f)+_0x55ae1f+'\x20('+_0x33c8e9+')';return'[ranger-verification-agent]\x20'+_0x55ae1f;}export function buildVerifyFeatureCliDebugPrompt(_0x5980bb,_0x3170bd){const _0x1061d8=_0x55f1,_0x56dbaf={'VctYh':function(_0x5e7381,_0x4e7f6c,_0x297a4e){return _0x5e7381(_0x4e7f6c,_0x297a4e);},'zuTeH':'01_mozilla-homepage.png','nlHcT':_0x1061d8(0x20f),'PeqRm':'03_learn-more.png','vhcYu':function(_0x9d4a34,_0x19439c){return _0x9d4a34(_0x19439c);}},_0x35ff25=_0x56dbaf['VctYh'](buildCliArtifactPath,_0x3170bd,'00_mozilla-homepage.yml'),_0x396171=_0x56dbaf['VctYh'](buildCliArtifactPath,_0x3170bd,_0x56dbaf['zuTeH']),_0x701304=buildCliArtifactPath(_0x3170bd,_0x56dbaf[_0x1061d8(0x1f1)]),_0x159d73=buildCliArtifactPath(_0x3170bd,_0x56dbaf[_0x1061d8(0x20d)]),_0x5c36e9=quoteShellArg(_0x35ff25),_0x26609d=_0x56dbaf['vhcYu'](quoteShellArg,_0x396171),_0x552e81=_0x56dbaf['vhcYu'](quoteShellArg,_0x701304),_0x399385=_0x56dbaf[_0x1061d8(0x1f0)](quoteShellArg,_0x159d73);return _0x1061d8(0x217)+_0x5980bb+_0x1061d8(0x230)+_0x5980bb+'\x20open\x20https://www.mozilla.org`\x0a2.\x20Run\x20`'+_0x5980bb+_0x1061d8(0x244)+_0x5980bb+'\x20video-start`\x0a4.\x20Save\x20every\x20snapshot\x20and\x20screenshot\x20under\x20`'+_0x3170bd+_0x1061d8(0x232)+_0x5980bb+_0x1061d8(0x1cc)+_0x5c36e9+_0x1061d8(0x202)+_0x5980bb+'\x20screenshot\x20--filename\x20'+_0x26609d+_0x1061d8(0x214)+_0x5980bb+'\x20snapshot\x20--filename\x20'+_0x552e81+_0x1061d8(0x1cb)+_0x5980bb+'\x20screenshot\x20--filename\x20'+_0x399385+_0x1061d8(0x1be);}function _0x55f1(_0x5daa14,_0x303844){_0x5daa14=_0x5daa14-0x1b9;const _0x3fd8ce=_0x3fd8();let _0x55f175=_0x3fd8ce[_0x5daa14];return _0x55f175;}export function buildVerifyFeatureCliPrompt(_0x22a63d){const _0x4df720=_0x55f1,_0x54338e={'VdqFH':'en-US','AlDjP':_0x4df720(0x1f3),'jpHgN':_0x4df720(0x1ff),'oGibE':function(_0x45dd9e,_0x1b9a17,_0x51566d){return _0x45dd9e(_0x1b9a17,_0x51566d);},'QwkKF':'key_03_success-state.png','UOMdd':'01_initial-state.png','qQTQq':function(_0x59b2b7,_0x22ff49){return _0x59b2b7(_0x22ff49);},'lhpEv':function(_0x271d13,_0x4d67bb){return _0x271d13(_0x4d67bb);},'uPTtY':'03_result-visible.png','SJSca':_0x4df720(0x21d)},{checklistItem:_0x471bd6,itemFeedback:_0x1f5e9d,taskDescription:_0x38fc22,cliCommandPrefix:_0x51ac46,cliArtifactDir:_0x5c5665,isCdpMode:_0x280152,url:_0x1d4ce5,cdpEndpoint:_0x5c479f,loginInstructions:_0xa864fb}=_0x22a63d,_0x2ec22e=_0x54338e['oGibE'](buildCliArtifactPath,_0x5c5665,'01_initial.yml'),_0x3dd268=_0x54338e[_0x4df720(0x1c7)](buildCliArtifactPath,_0x5c5665,_0x4df720(0x21a)),_0x20f423=buildCliArtifactPath(_0x5c5665,_0x54338e[_0x4df720(0x239)]),_0x2ba967=_0x54338e[_0x4df720(0x1c7)](buildCliArtifactPath,_0x5c5665,_0x54338e[_0x4df720(0x1cd)]),_0x1c8a7d=_0x54338e[_0x4df720(0x21c)](quoteShellArg,_0x2ec22e),_0x14bc7a=quoteShellArg(_0x3dd268),_0x41dbcb=quoteShellArg(_0x20f423),_0x56da3f=_0x54338e['qQTQq'](quoteShellArg,_0x2ba967),_0x5949a4=_0x471bd6[_0x4df720(0x22b)]?_0x4df720(0x1f5)+_0x471bd6[_0x4df720(0x22b)]:'';let _0x180b5d='';if(_0x1f5e9d&&_0x1f5e9d[_0x4df720(0x22c)][_0x4df720(0x1bd)]>0x0){const _0x2983fc=_0x1f5e9d['unaddressedComments']['map'](_0x2d89a1=>{const _0x22ba18=_0x4df720,_0x3ccf0c=new Date(_0x2d89a1[_0x22ba18(0x1c0)])['toLocaleDateString'](_0x54338e[_0x22ba18(0x1f9)],{'month':'short','day':_0x22ba18(0x1da)}),_0x12d521=_0x2d89a1[_0x22ba18(0x241)]||_0x2d89a1[_0x22ba18(0x210)]||_0x22ba18(0x1df),_0x188816=_0x2d89a1['domRef']?'\x20(on\x20element:\x20<'+(_0x2d89a1[_0x22ba18(0x1f6)][_0x22ba18(0x20e)]['split'](_0x54338e[_0x22ba18(0x219)])['pop']()?.['split'](':')[0x0]||_0x54338e[_0x22ba18(0x246)])+'>\x20\x22'+(_0x2d89a1[_0x22ba18(0x1f6)]['textContent']||'')['slice'](0x0,0x32)+'\x22)':'';return'-\x20['+_0x2d89a1['id']+']\x20**'+_0x12d521+_0x22ba18(0x1fe)+_0x3ccf0c+_0x22ba18(0x1c5)+_0x2d89a1[_0x22ba18(0x1d0)]+'\x22'+_0x188816;})['join']('\x0a');_0x180b5d='\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'+_0x2983fc;}const _0x5e66cb=_0x1f5e9d?.['canonicalFlow']?'\x0a\x0a##\x20Expected\x20Flow\x20(from\x20previous\x20verification)\x0a'+_0x1f5e9d['canonicalFlow']:'',_0x47b14f=_0x280152?'##\x20App\x20Context\x0aYou\x20are\x20connected\x20to\x20a\x20desktop\x20application\x20via\x20CDP\x20(Chrome\x20DevTools\x20Protocol)\x20at\x20'+_0x5c479f+'.\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'+_0x1d4ce5+'\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',_0x5c81d2=_0x1d4ce5?_0x54338e['lhpEv'](quoteShellArg,_0x1d4ce5):'',_0x1923c4=_0x280152?'##\x20Instructions\x0a1.\x20Use\x20Bash\x20plus\x20Playwright\x20CLI\x20only.\x20Do\x20NOT\x20call\x20MCP\x20browser\x20tools.\x0a2.\x20Start\x20by\x20running\x20`'+_0x51ac46+'\x20open`,\x20then\x20`'+_0x51ac46+_0x4df720(0x1dc)+_0x51ac46+'\x20video-start`.\x0a3.\x20Save\x20every\x20snapshot\x20and\x20screenshot\x20under\x20`'+_0x5c5665+_0x4df720(0x20a)+_0x51ac46+'\x20snapshot\x20--filename\x20'+_0x1c8a7d+'`\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`'+_0x51ac46+'\x20screenshot\x20--filename\x20'+_0x56da3f+'`\x20style\x20absolute\x20paths\x20at\x20key\x20moments.\x0a6.\x20If\x20you\x20need\x20waits\x20or\x20custom\x20assertions,\x20use\x20`'+_0x51ac46+_0x4df720(0x1ba):'##\x20Instructions\x0a1.\x20Use\x20Bash\x20plus\x20Playwright\x20CLI\x20only.\x20Do\x20NOT\x20call\x20MCP\x20browser\x20tools.\x0a2.\x20Start\x20by\x20running\x20`'+_0x51ac46+_0x4df720(0x1c2)+_0x5c81d2+_0x4df720(0x245)+_0x51ac46+'\x20tracing-start`,\x20then\x20`'+_0x51ac46+_0x4df720(0x22e)+_0x5c5665+_0x4df720(0x20a)+_0x51ac46+_0x4df720(0x1cc)+_0x1c8a7d+'`\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`'+_0x51ac46+'\x20screenshot\x20--filename\x20'+_0x56da3f+_0x4df720(0x1ea)+_0x51ac46+_0x4df720(0x23b),_0x25275a=_0x280152?_0x4df720(0x1ee):_0x4df720(0x1b9),_0x54419b=_0xa864fb?'\x0a\x0a##\x20Authentication\x0aBEFORE\x20starting\x20the\x20verification\x20task,\x20you\x20MUST\x20authenticate\x20using\x20these\x20steps:\x0a'+_0xa864fb+_0x4df720(0x201):'';return _0x4df720(0x206)+_0x471bd6[_0x4df720(0x1d5)]+_0x5949a4+_0x180b5d+_0x5e66cb+_0x4df720(0x1d4)+_0x38fc22+'\x0a\x0a'+_0x47b14f+_0x54419b+'\x0a\x0a'+_0x1923c4+'\x0a\x0a##\x20Browser\x20Command\x20Reference\x0aUse\x20Bash\x20to\x20run\x20Playwright\x20CLI\x20commands\x20with\x20this\x20exact\x20prefix:\x0a`'+_0x51ac46+'`\x0a\x0a-\x20Write\x20all\x20artifacts\x20under\x20`'+_0x5c5665+_0x4df720(0x209)+_0x14bc7a+_0x4df720(0x231)+_0x41dbcb+'`\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`'+_0x5c5665+'`:\x20\x22'+_0x2ba967+_0x4df720(0x1c6)+_0x54338e['oGibE'](buildCliArtifactPath,_0x5c5665,'02_button-clicked.png')+'\x22,\x20\x22'+buildCliArtifactPath(_0x5c5665,_0x54338e['uPTtY'])+'\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'+_0x54338e[_0x4df720(0x1c7)](buildCliArtifactPath,_0x5c5665,_0x54338e[_0x4df720(0x1e7)])+'\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'+_0x25275a+_0x4df720(0x227);}export function summarizeVerifyFeatureCliCommandAvailability(_0x271f84){const _0x395f0b=_0x55f1,_0x3a77f0={'OgTbh':function(_0x2e110a,_0x28bd91){return _0x2e110a===_0x28bd91;}},_0x3ddab0=[..._0x271f84[_0x395f0b(0x221)]()]['sort']();let _0x560717=0x0;for(const _0x23c63d of _0x271f84[_0x395f0b(0x234)]()){_0x560717+=_0x23c63d;}return{'cliCommandCount':_0x560717,'cliCommandsSeen':_0x3ddab0,'noCliCommandsCalled':_0x3a77f0['OgTbh'](_0x560717,0x0)};}export function createVerifyFeatureCliHooks(_0x2a2bbe){const _0x9a9ab=_0x55f1,_0x266d4c={'QsejL':_0x9a9ab(0x1e5),'XMOOI':'Bash','WCEAX':function(_0x5bc304,_0x3ce95c){return _0x5bc304(_0x3ce95c);},'MkGUa':function(_0x2b92ac,_0x413ea8){return _0x2b92ac+_0x413ea8;},'ApQCt':'tool_call','fGDbE':function(_0x3d863a,_0xb30418){return _0x3d863a!==_0xb30418;},'pyRmI':'PostToolUseFailure','sShuR':'tool_failure','JeeiC':_0x9a9ab(0x1ce)},_0x46020a=new Map(),_0x235e80=async _0x6718b8=>{const _0x53c5e2=_0x9a9ab;if(_0x6718b8[_0x53c5e2(0x1e8)]!==_0x266d4c[_0x53c5e2(0x1c8)])return{};const _0x291a74=_0x6718b8;if(_0x291a74['tool_name']!==_0x266d4c[_0x53c5e2(0x242)])return{};const _0x750eff=_0x291a74['tool_input'],_0x54a9dc=extractBashCommand(_0x750eff);if(!_0x54a9dc)return{};const _0x1c26a3=_0x266d4c[_0x53c5e2(0x22d)](parsePlaywrightCliCommand,_0x54a9dc);if(!_0x1c26a3)return{};return _0x46020a[_0x53c5e2(0x20b)](_0x1c26a3,_0x266d4c['MkGUa'](_0x46020a[_0x53c5e2(0x1d8)](_0x1c26a3)||0x0,0x1)),_0x2a2bbe[_0x53c5e2(0x216)](_0x266d4c[_0x53c5e2(0x1e1)],{'transport':'playwright-cli','toolName':_0x1c26a3}),_0x2a2bbe['trackPhaseEnd'](_0x53c5e2(0x223),{'transport':_0x53c5e2(0x1ce),'toolName':_0x1c26a3,'bashCommandPreview':_0x266d4c[_0x53c5e2(0x22d)](truncatePreview,_0x54a9dc)}),_0x1c26a3!=='snapshot'&&console[_0x53c5e2(0x222)](formatPlaywrightCliConsoleLogMessage(_0x750eff,_0x54a9dc,_0x1c26a3)),{};},_0x37c2ab=async _0x383ac3=>{const _0x152e3c=_0x9a9ab;if(_0x266d4c['fGDbE'](_0x383ac3['hook_event_name'],_0x266d4c[_0x152e3c(0x20c)]))return{};const _0x470471=_0x383ac3;if(_0x266d4c[_0x152e3c(0x238)](_0x470471[_0x152e3c(0x224)],'Bash'))return{};return await _0x2a2bbe[_0x152e3c(0x1d2)](_0x266d4c['sShuR'],_0x470471['error'],{'transport':_0x266d4c['JeeiC'],'toolName':_0x152e3c(0x233)}),{};};return{'postToolUseHook':_0x235e80,'postToolUseFailureHook':_0x37c2ab,'commandCounts':_0x46020a};}async function runPlaywrightCliLifecycleCommand(_0x47dd52){const _0x83dada=_0x55f1,_0x2a385f={'dsFXX':function(_0x5b874c,_0x5010e3){return _0x5b874c??_0x5010e3;},'RxCNW':function(_0x44c830,_0x312d16,_0x588aa8){return _0x44c830(_0x312d16,_0x588aa8);}},{sessionId:_0x456afc,configPath:_0x21029d,commandArgs:_0x18d446,env:_0xa84d56,telemetry:_0x44181f,phase:_0x57b3db,metadata:_0xaa5ea9,timeoutMs:_0x1ea28a}=_0x47dd52;_0x44181f[_0x83dada(0x216)](_0x57b3db,_0xaa5ea9);try{const _0x295b5c=await runPlaywrightCliCommand({'sessionId':_0x456afc,'configPath':_0x21029d,'commandArgs':_0x18d446,'cwd':process['cwd'](),'env':_0xa84d56,'timeoutMs':_0x2a385f[_0x83dada(0x225)](_0x1ea28a,PLAYWRIGHT_CLI_COMMAND_TIMEOUT_MS)});_0x44181f[_0x83dada(0x1dd)](_0x57b3db,{..._0xaa5ea9,'subcommand':_0x295b5c[_0x83dada(0x212)][_0x83dada(0x23a)],'stdoutPreview':_0x2a385f[_0x83dada(0x1d7)](truncatePreview,_0x295b5c[_0x83dada(0x220)],0x7d0),'stderrPreview':truncatePreview(_0x295b5c[_0x83dada(0x1ef)],0x7d0)});}catch(_0x18949b){await _0x44181f[_0x83dada(0x1d2)](_0x57b3db,_0x18949b,_0xaa5ea9);throw _0x18949b;}}export async function finalizeVerifyFeatureCliSession(_0x3b03ba){const _0x2b5628=_0x55f1,_0x1b2bec={'HiGaE':'playwright_cli_video_stop','EPLrY':'session-recording.webm','yTTEQ':function(_0x5e0571,_0x3f3304){return _0x5e0571(_0x3f3304);}},{telemetry:_0x2c2a73,sessionId:_0x4f3f94,configPath:_0x551577,cliArtifactDir:_0x50c521,env:_0x662168,transportMetadata:_0x121305}=_0x3b03ba,_0x152ae4=[{'phase':_0x2b5628(0x1e2),'commandArgs':[_0x2b5628(0x1cf)]},{'phase':_0x1b2bec[_0x2b5628(0x21e)],'commandArgs':[_0x2b5628(0x1f2),'--filename='+buildCliArtifactPath(_0x50c521,_0x1b2bec[_0x2b5628(0x1e9)])]},{'phase':_0x2b5628(0x23c),'commandArgs':[_0x2b5628(0x23d)]}];for(const _0x4637d9 of _0x152ae4){try{await _0x1b2bec['yTTEQ'](runPlaywrightCliLifecycleCommand,{'sessionId':_0x4f3f94,'configPath':_0x551577,'commandArgs':[..._0x4637d9[_0x2b5628(0x228)]],'env':_0x662168,'telemetry':_0x2c2a73,'phase':_0x4637d9['phase'],'metadata':_0x121305});}catch{}}}export async function loadVerifyFeatureCliTraceUploadArtifact(_0x1ef284){const _0x20181c={'KbCNq':'trace.zip','TLDin':'trace.trace.zip','QjWpT':function(_0x2404f9,_0xedfef1,_0x341791){return _0x2404f9(_0xedfef1,_0x341791);}},_0x56a444=[_0x20181c['KbCNq'],_0x20181c['TLDin']];for(const _0x5071b5 of _0x56a444){const _0x22ced8=_0x20181c['QjWpT'](join,_0x1ef284,_0x5071b5);try{return{'buffer':await readFile(_0x22ced8),'source':_0x22ced8};}catch{}}return null;}export async function rehomeVerifyFeatureCliArtifacts(_0x392b5f){const _0x2e8f5c=_0x55f1,_0x40ad48={'BGwYx':function(_0x3a394b,_0x4e3cad,_0x549c29){return _0x3a394b(_0x4e3cad,_0x549c29);},'QQsqz':function(_0x8a3726,_0x4560b2,_0x96ed4f){return _0x8a3726(_0x4560b2,_0x96ed4f);},'CchYC':function(_0xd1096b,_0x7ba403){return _0xd1096b(_0x7ba403);},'bfoLd':function(_0x333965,_0x32b614){return _0x333965<_0x32b614;},'mgTtj':function(_0x17c2b1,_0x16fab8){return _0x17c2b1+_0x16fab8;},'VEqoK':function(_0x4e9c36,_0x187b36){return _0x4e9c36===_0x187b36;}},{cwd:_0x1e9774,cliArtifactDir:_0x437c0a,startTime:_0x468d73}=_0x392b5f,_0x34b423=[];await mkdir(_0x437c0a,{'recursive':!![]});const _0x3cd56d=await _0x40ad48[_0x2e8f5c(0x1e6)](readdir,_0x1e9774,{'withFileTypes':!![]});for(const _0x43d23a of _0x3cd56d){if(!_0x43d23a['isFile']()||!VERIFY_FEATURE_CLI_ARTIFACT_FILE_PATTERN['test'](_0x43d23a[_0x2e8f5c(0x1ec)]))continue;const _0x2952ae=_0x40ad48['QQsqz'](join,_0x1e9774,_0x43d23a[_0x2e8f5c(0x1ec)]),_0x234690=await _0x40ad48['CchYC'](stat,_0x2952ae);if(_0x40ad48['bfoLd'](_0x40ad48['mgTtj'](_0x234690[_0x2e8f5c(0x243)],0x7d0),_0x468d73))continue;const _0x204a07=buildCliArtifactPath(_0x437c0a,_0x43d23a['name']);if(_0x40ad48['VEqoK'](_0x2952ae,_0x204a07))continue;await rename(_0x2952ae,_0x204a07),_0x34b423[_0x2e8f5c(0x21f)](_0x43d23a['name']);}return _0x34b423['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 _0x2c576b=_0x4886;(function(_0x4f854f,_0x57bc35){const _0x46d6b5=_0x4886,_0x4fbba1=_0x4f854f();while(!![]){try{const _0x36b3f7=parseInt(_0x46d6b5(0x11a))/0x1+-parseInt(_0x46d6b5(0xd3))/0x2+parseInt(_0x46d6b5(0x12e))/0x3+parseInt(_0x46d6b5(0xa0))/0x4+parseInt(_0x46d6b5(0xdc))/0x5+parseInt(_0x46d6b5(0xc3))/0x6+-parseInt(_0x46d6b5(0x162))/0x7*(-parseInt(_0x46d6b5(0x153))/0x8);if(_0x36b3f7===_0x57bc35)break;else _0x4fbba1['push'](_0x4fbba1['shift']());}catch(_0x34ceb1){_0x4fbba1['push'](_0x4fbba1['shift']());}}}(_0x546c,0xa7a29));function _0x4886(_0x45a77c,_0x26dae7){_0x45a77c=_0x45a77c-0x9a;const _0x546c1e=_0x546c();let _0x488674=_0x546c1e[_0x45a77c];return _0x488674;}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([_0x2c576b(0x158),_0x2c576b(0x124),_0x2c576b(0x14a),'ask','goto',_0x2c576b(0x15f),'snapshot',_0x2c576b(0x9b)]),execFileAsync=promisify(execFile);function buildCliArtifactPath(_0x262170,_0x5db811){const _0xec0fce=_0x2c576b,_0x1abc1a={'dWWqC':function(_0x4b8511,_0x37ef8d,_0x304417){return _0x4b8511(_0x37ef8d,_0x304417);}};return _0x1abc1a[_0xec0fce(0x148)](join,_0x262170,_0x5db811);}export class NovaActArtifactRecorder{[_0x2c576b(0xd8)];[_0x2c576b(0x107)]=null;[_0x2c576b(0x14d)]=null;[_0x2c576b(0xc1)]=null;['frameWrites']=[];[_0x2c576b(0xf0)]=0x0;['traceSampleCount']=0x0;[_0x2c576b(0x151)]=null;['traceSampleInFlight']=null;['tracingStarted']=![];['screencastStarted']=![];[_0x2c576b(0xf9)]=![];[_0x2c576b(0x15a)]=![];constructor(_0x65c490){const _0x2c6dee=_0x2c576b;this[_0x2c6dee(0xd8)]=_0x65c490;}async['start'](){const _0xa3919e=_0x2c576b,_0x52ae59={'bnLIR':'Nova\x20CDP\x20connection\x20did\x20not\x20expose\x20a\x20browser\x20context','uDJNL':_0xa3919e(0xed)};if(this[_0xa3919e(0xf9)])return;this[_0xa3919e(0xf9)]=!![];const _0x33d760=await this[_0xa3919e(0xd0)](),_0x3ef9be=_0x33d760['cdp_endpoint'];if(!_0x3ef9be)throw new Error(_0xa3919e(0xb9)+this[_0xa3919e(0xd8)]['novaOptions'][_0xa3919e(0xe5)]);await mkdir(this[_0xa3919e(0xd8)][_0xa3919e(0xbf)],{'recursive':!![]}),this['browser']=await chromium['connectOverCDP'](_0x3ef9be,{'timeout':NOVA_ARTIFACT_CDP_CONNECT_TIMEOUT_MS}),this[_0xa3919e(0x14d)]=this['browser'][_0xa3919e(0xfa)]()[0x0]??null;if(!this[_0xa3919e(0x14d)])throw new Error(_0x52ae59['bnLIR']);await this['context'][_0xa3919e(0x166)][_0xa3919e(0x14f)]({'screenshots':!![],'snapshots':!![],'sources':!![]}),this[_0xa3919e(0x106)]=!![],this[_0xa3919e(0xa6)](),await this[_0xa3919e(0xff)](),this[_0xa3919e(0xd8)]['telemetry'][_0xa3919e(0x136)](_0x52ae59['uDJNL'],{...this['params']['transportMetadata'],'cdpEndpoint':_0x3ef9be,'browserPid':_0x33d760['browser_pid'],'sessionState':_0x33d760[_0xa3919e(0xcd)]}),this[_0xa3919e(0xd8)][_0xa3919e(0x14e)][_0xa3919e(0x154)](_0x52ae59['uDJNL'],{...this['params']['transportMetadata'],'tracingStarted':this['tracingStarted'],'screencastStarted':this['screencastStarted']});}async[_0x2c576b(0xcf)](){const _0xdec446=_0x2c576b,_0x491697={'jFoNm':'nova_act_artifact_recording_stop'};if(this['stopped'])return;this['stopped']=!![];const _0x2e179c={...this['params'][_0xdec446(0x14b)],'frameCount':this[_0xdec446(0xf0)],'traceSampleCount':this['traceSampleCount'],'tracingStarted':this['tracingStarted'],'screencastStarted':this['screencastStarted']};this[_0xdec446(0xd8)]['telemetry'][_0xdec446(0x136)](_0x491697[_0xdec446(0xf5)],_0x2e179c);try{await this[_0xdec446(0xdb)](),await this[_0xdec446(0x150)](),await this['stopScreencast'](),await Promise['allSettled'](this[_0xdec446(0xa7)]);this['context']&&this['tracingStarted']&&await this['context']['tracing'][_0xdec446(0xcf)]({'path':buildCliArtifactPath(this[_0xdec446(0xd8)][_0xdec446(0xbf)],'trace.zip')});const _0x274ef5=await this[_0xdec446(0xc6)]();this['params']['telemetry']['trackPhaseEnd'](_0xdec446(0xba),{..._0x2e179c,'videoPath':_0x274ef5});}catch(_0x2868e9){await this['params']['telemetry'][_0xdec446(0x120)](_0xdec446(0xba),_0x2868e9,_0x2e179c);}finally{await this[_0xdec446(0x107)]?.[_0xdec446(0x103)]()['catch'](()=>undefined),this['browser']=null,this['context']=null,this['frameSession']=null;}}async['readSessionMetadataWithRetry'](){const _0x123bbd=_0x2c576b,_0x23aa93={'iJWqz':function(_0x26f11c,_0x505c3d,_0x1f7a62,_0x1315fe,_0x308b12,_0x4e0dc1){return _0x26f11c(_0x505c3d,_0x1f7a62,_0x1315fe,_0x308b12,_0x4e0dc1);},'zBGDT':'.act_cli','DpkWK':_0x123bbd(0x107),'HHJNo':'utf-8','oHIZS':function(_0x2c675b,_0x387ba1){return _0x2c675b(_0x387ba1);},'muMeM':function(_0x238a92,_0x14c1fa){return _0x238a92<_0x14c1fa;}},_0x185138=_0x23aa93[_0x123bbd(0xfd)](join,homedir(),_0x23aa93['zBGDT'],_0x23aa93[_0x123bbd(0x100)],_0x123bbd(0x9f),this[_0x123bbd(0xd8)]['novaOptions']['sessionId']+'.json'),_0x3b7234=Date['now']();let _0x2a0d7d;do{try{const _0x182ddf=JSON['parse'](await readFile(_0x185138,_0x23aa93['HHJNo']));if(_0x182ddf['cdp_endpoint'])return _0x182ddf;_0x2a0d7d=new Error(_0x123bbd(0xe3)+_0x185138);}catch(_0x34bd75){_0x2a0d7d=_0x34bd75;}await _0x23aa93[_0x123bbd(0x14c)](delay,0x64);}while(_0x23aa93['muMeM'](Date[_0x123bbd(0xa2)]()-_0x3b7234,NOVA_ARTIFACT_METADATA_WAIT_MS));if(_0x2a0d7d instanceof Error)throw _0x2a0d7d;throw new Error(_0x123bbd(0x130)+_0x185138);}async[_0x2c576b(0xff)](){const _0x5d16e3=_0x2c576b,_0x16623c={'hUDJu':_0x5d16e3(0xd4),'fEHMC':_0x5d16e3(0x149)};if(!this[_0x5d16e3(0x14d)])return;const _0x3be9ea=this[_0x5d16e3(0x14d)]['pages']()[0x0];if(!_0x3be9ea)return;const _0x30bf90=this['getFrameDir']();await mkdir(_0x30bf90,{'recursive':!![]});const _0x1383b0=await this[_0x5d16e3(0x14d)]['newCDPSession'](_0x3be9ea);this['frameSession']=_0x1383b0,_0x1383b0['on']('Page.screencastFrame',_0x424d15=>{const _0x46a308=_0x5d16e3,_0x207196=++this[_0x46a308(0xf0)],_0x43d05c=join(_0x30bf90,_0x46a308(0xb7)+String(_0x207196)['padStart'](0x6,'0')+'.jpg'),_0x50576d=writeFile(_0x43d05c,Buffer[_0x46a308(0xb5)](_0x424d15['data'],'base64'))[_0x46a308(0x157)](()=>undefined)['finally'](()=>_0x1383b0['send']('Page.screencastFrameAck',{'sessionId':_0x424d15['sessionId']}))['then'](()=>undefined)[_0x46a308(0x157)](()=>undefined);this['frameWrites']['push'](_0x50576d);}),await _0x1383b0['send'](_0x16623c[_0x5d16e3(0x128)],{'format':_0x16623c[_0x5d16e3(0x112)],'quality':0x4b,'everyNthFrame':0x6}),this[_0x5d16e3(0x159)]=!![];}async['stopScreencast'](){const _0x2eeeba=_0x2c576b,_0x10ab7d={'sXiuI':'Page.stopScreencast'};if(!this['frameSession']||!this['screencastStarted'])return;await this[_0x2eeeba(0xc1)]['send'](_0x10ab7d[_0x2eeeba(0x13d)])[_0x2eeeba(0x157)](()=>undefined);}[_0x2c576b(0xa6)](){const _0x1a7577=_0x2c576b,_0x3c0f58={'tHGGg':function(_0xa693fc,_0x407ac9,_0x2da075){return _0xa693fc(_0x407ac9,_0x2da075);}};this[_0x1a7577(0x11d)](),this[_0x1a7577(0x151)]=_0x3c0f58[_0x1a7577(0xe0)](setInterval,()=>this['queueTraceSample'](),NOVA_ARTIFACT_TRACE_SAMPLE_INTERVAL_MS);}[_0x2c576b(0x11d)](){const _0x46b424=_0x2c576b;if(this['traceSampleInFlight'])return;this[_0x46b424(0xe6)]=this['captureTraceSample']()[_0x46b424(0xb2)](()=>{const _0x219d5c=_0x46b424;this[_0x219d5c(0xe6)]=null;});}async['stopTraceSampling'](){const _0x3c847e=_0x2c576b;this['traceSampleTimer']&&(clearInterval(this[_0x3c847e(0x151)]),this[_0x3c847e(0x151)]=null),await this['traceSampleInFlight']?.[_0x3c847e(0x157)](()=>undefined);}async[_0x2c576b(0x150)](){const _0x2946fc=_0x2c576b,_0x240d81=this['context']?.[_0x2946fc(0xae)]()[0x0];if(!_0x240d81)return;try{await _0x240d81['locator']('body')['evaluate'](_0x48c310=>_0x48c310[_0x2946fc(0xf4)],undefined,{'timeout':0x3e8}),this['traceSampleCount']++;}catch{}}async[_0x2c576b(0xc6)](){const _0x440176=_0x2c576b,_0x9ad73f={'MNzsz':function(_0x3c1b25){return _0x3c1b25();},'ylSFB':'videos','xRnBR':function(_0x22e996,_0x18d120,_0x241121){return _0x22e996(_0x18d120,_0x241121);},'hkfFb':_0x440176(0x15b),'ZbaCs':'frame-%06d.jpg','qKOqW':'scale=trunc(iw/2)*2:trunc(ih/2)*2','yzFhU':_0x440176(0x152),'EpRTU':'-pix_fmt','uZnyH':_0x440176(0x169)};if(this['frameCount']<0x2)return null;const _0x4c7c00=await _0x9ad73f['MNzsz'](resolveFfmpegPath);if(!_0x4c7c00)return null;const _0x277812=join(this['params'][_0x440176(0xbf)],_0x9ad73f['ylSFB']);await mkdir(_0x277812,{'recursive':!![]});const _0x58b743=_0x9ad73f[_0x440176(0x126)](join,_0x277812,'session-recording.webm');return await execFileAsync(_0x4c7c00,['-y',_0x9ad73f['hkfFb'],'-loglevel',_0x440176(0xd6),_0x440176(0x139),'10','-i',join(this[_0x440176(0x15d)](),_0x9ad73f[_0x440176(0xe4)]),_0x440176(0x138),_0x9ad73f['qKOqW'],_0x440176(0x117),_0x9ad73f['yzFhU'],_0x9ad73f[_0x440176(0xe8)],_0x9ad73f['uZnyH'],_0x58b743]),_0x58b743;}['getFrameDir'](){const _0x54d245=_0x2c576b;return join(this['params']['cliArtifactDir'],_0x54d245(0xdd));}}async function delay(_0x522916){await new Promise(_0x586fb6=>setTimeout(_0x586fb6,_0x522916));}async function resolveFfmpegPath(){const _0x3723fd=_0x2c576b,_0x3a6f16={'jPcRx':function(_0x1e18df,_0x1d92ee,_0x189576,_0x4bbd29,_0x322047){return _0x1e18df(_0x1d92ee,_0x189576,_0x4bbd29,_0x322047);},'OiFuT':function(_0x16f3f3){return _0x16f3f3();},'kfxjv':'Caches','Qjikh':function(_0xc228f5,_0x2a327b,_0x140b9a,_0x48ea07){return _0xc228f5(_0x2a327b,_0x140b9a,_0x48ea07);},'hFiPp':function(_0x4cd368){return _0x4cd368();},'KVibB':'ms-playwright'};if(await canRunFfmpeg(_0x3723fd(0x125)))return'ffmpeg';const _0x293fff=[_0x3a6f16['jPcRx'](join,_0x3a6f16[_0x3723fd(0x12d)](homedir),'Library',_0x3a6f16[_0x3723fd(0xbd)],'ms-playwright'),_0x3a6f16['Qjikh'](join,_0x3a6f16['hFiPp'](homedir),'.cache',_0x3a6f16[_0x3723fd(0xe1)])];for(const _0x5b7764 of _0x293fff){try{const _0x16bc36=await readdir(_0x5b7764),_0x428251=_0x16bc36['filter'](_0xb5628d=>_0xb5628d[_0x3723fd(0x129)]('ffmpeg-'))['sort']()[_0x3723fd(0xee)]()[_0x3723fd(0x15c)](_0x2ff03f=>[join(_0x5b7764,_0x2ff03f,_0x3723fd(0x13f)),join(_0x5b7764,_0x2ff03f,'ffmpeg-linux'),join(_0x5b7764,_0x2ff03f,_0x3723fd(0x119))]);for(const _0x71b6e1 of _0x428251){if(await canRunFfmpeg(_0x71b6e1))return _0x71b6e1;}}catch{}}return null;}async function canRunFfmpeg(_0x2b4c83){const _0x34ab76={'vpXDY':function(_0x5a6e3d,_0x4181aa,_0x2b713f){return _0x5a6e3d(_0x4181aa,_0x2b713f);}};try{return await _0x34ab76['vpXDY'](execFileAsync,_0x2b4c83,['-version']),!![];}catch{return![];}}function toStepDisplayName(_0x21ecb7){const _0x15e9e9=_0x2c576b,_0x4e43fc={'mGuPg':function(_0x3cb315,_0x23011b){return _0x3cb315(_0x23011b);}},_0xb5c395=_0x4e43fc['mGuPg'](basename,_0x21ecb7)['replace'](/\.(?:png|ya?ml)$/i,'')[_0x15e9e9(0x114)](/^key_/i,'')['replace'](/^\d+_/,'')['replace'](/-/g,'\x20');return{'name':_0xb5c395,'isKeyStep':/^key_/i[_0x15e9e9(0xaf)](basename(_0x21ecb7))};}function extractShellValue(_0x2f9beb){if(!_0x2f9beb)return null;return _0x2f9beb[0x1]??_0x2f9beb[0x2]??_0x2f9beb[0x3]??null;}function extractOutputOption(_0x22aa2d){const _0xe79a94=_0x2c576b,_0x2780b2={'ESFkY':function(_0x5f29e1,_0x4cea35){return _0x5f29e1(_0x4cea35);}};return _0x2780b2['ESFkY'](extractShellValue,_0x22aa2d[_0xe79a94(0x155)](/--output(?:=|\s+)(?:"([^"]+)"|'([^']+)'|(\S+))/));}function _0x546c(){const _0x34b85f=['\x20screenshot\x20--output\x20','sessions','584716CYtbWW','KEByi','now','trim','HIfVf','selector','startTraceSampling','frameWrites','shellCommand','cBuok','-qr','`\x0a4.\x20Run\x20one\x20batched\x20`','navigate\x20browser','gLjlC','pages','test','verify\x20page\x20condition','Bash','finally','nova_act_final_screenshot','snapshot','from','\x20(on\x20element:\x20<','frame-','nova-report','Nova\x20session\x20metadata\x20did\x20not\x20include\x20cdp_endpoint\x20for\x20','nova_act_artifact_recording_stop','en-US','unaddressedComments','kfxjv','final-state.yaml','cliArtifactDir','\x0a\x0aIf\x20authentication\x20fails,\x20return\x20evaluation\x20\x22blocked\x22\x20and\x20describe\x20the\x20auth\x20failure.','frameSession','export','478146usBEmU','subcommand','numeric','encodeScreencastVideo','\x20session\x20create\x20','lxykd','notes','map','goto','DuUBI','state','TkYHa','stop','readSessionMetadataWithRetry','\x0a\x0a##\x20Additional\x20Notes\x0a','ask','1105328PovctY','Page.startScreencast','split','error','\x0a\x0a##\x20Expected\x20Flow\x20(from\x20previous\x20verification)\x0a','params','--format','`<none;\x20the\x20command\x20prefix\x20injects\x20shared\x20options>`','stopTraceSampling','778130pKsfyU','nova-video-frames','GGCMW','\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`','tHGGg','KVibB','cwd','Nova\x20metadata\x20missing\x20cdp_endpoint\x20at\x20','ZbaCs','sessionId','traceSampleInFlight','`.\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`','EpRTU','`\x0a2.\x20Run\x20`','mtimeMs','join','\x0a\x0a##\x20Task\x20to\x20Execute\x0a','nova_act_artifact_recording','reverse','short','frameCount','toLocaleDateString','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','`\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.','tagName','jFoNm','RMSfE','OizeJ','export\x20Nova\x20session','startAttempted','contexts','NJPJb','03_final-state.png','iJWqz','HvLXh','startScreencast','DpkWK','`\x0a3.\x20Run\x20`','capture\x20snapshot\x20`','close','nova_act_session_close','nova_act_final_snapshot','tracingStarted','browser','log','NvKzo','authorName','WGuwM','LYDcd','nova_act_session_report','MgNyF','\x20snapshot\x20--output\x20','nova_act_command_failure','session\x20export','fEHMC','WYmGI','replace','JGSHG','HutLP','-c:v','efvOO','ffmpeg.exe','26925OrBzWi','phase','\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','queueTraceSample','nova-act-cli','urjyy','trackPhaseError','BPunV','capture\x20screenshot','tool_name','execute','ffmpeg','xRnBR','VyQLp','hUDJu','startsWith','stdout','akEPe','invocation','OiFuT','591186fchoOa','canonicalFlow','Unable\x20to\x20read\x20Nova\x20session\x20metadata\x20at\x20','length','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.','key_03_success-state.png','capture\x20snapshot','domRef','trackPhaseStart','\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`','-vf','-framerate','FzdVz','json','nova-user-data/*','sXiuI','`\x0a-\x20`','ffmpeg-mac','`\x20is\x20reserved\x20for\x20the\x20host.\x20Use\x20only\x20session\x20create,\x20execute,\x20verify,\x20ask,\x20goto,\x20wait-for,\x20snapshot,\x20and\x20screenshot.','`\x0a\x0aAppend\x20this\x20option\x20suffix\x20to\x20browser\x20commands:\x0a','01_initial-state.png','ZSRpD','nMoAr','hook_event_name','content','get','dWWqC','jpeg','verify','transportMetadata','oHIZS','context','telemetry','start','captureTraceSample','traceSampleTimer','libvpx-vp9','8ocVPPt','trackPhaseEnd','match','\x0a\x0a##\x20Authentication\x0aBEFORE\x20starting\x20the\x20verification\x20task,\x20authenticate\x20using\x20these\x20steps:\x0a','catch','session\x20create','screencastStarted','stopped','-hide_banner','flatMap','getFrameDir',']\x20**','wait-for','SFGie','`\x20using\x20absolute\x20paths\x20only.\x0aReturn\x20your\x20findings\x20in\x20the\x20structured\x20output\x20format.','4436698mkqIKs','ZFqJn','name','Reviewer','tracing','tool_input','capture\x20step\x20`','yuv420p','isFile','\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','OyRws','ycPgK','nova_act_command','screenshot','Nova\x20command\x20`','push'];_0x546c=function(){return _0x34b85f;};return _0x546c();}function formatNovaActCliLog(_0xb0b814,_0xcd4718){const _0xabd7c6=_0x2c576b,_0x59d896={'FbJKX':'execute\x20Nova\x20browser\x20action','dxhSo':'verify','lnLPl':_0xabd7c6(0xb0),'GGCMW':_0xabd7c6(0xd2),'gSCVp':_0xabd7c6(0xac),'FzdVz':_0xabd7c6(0x15f),'CObHu':_0xabd7c6(0x134),'ILYvy':function(_0x39abec,_0x1d972f){return _0x39abec(_0x1d972f);},'jneQE':_0xabd7c6(0x111),'HutLP':_0xabd7c6(0xf8)};switch(_0xcd4718){case _0xabd7c6(0x158):return'create\x20Nova\x20browser\x20session';case'execute':return _0x59d896['FbJKX'];case _0x59d896['dxhSo']:return _0x59d896['lnLPl'];case _0x59d896[_0xabd7c6(0xde)]:return'ask\x20page\x20question';case _0xabd7c6(0xcb):return _0x59d896['gSCVp'];case _0x59d896[_0xabd7c6(0x13a)]:return'wait\x20for\x20page\x20condition';case _0xabd7c6(0xb4):{const _0x9b51a3=extractOutputOption(_0xb0b814);if(!_0x9b51a3)return _0x59d896['CObHu'];const {name:_0x45556c}=_0x59d896['ILYvy'](toStepDisplayName,_0x9b51a3);return _0xabd7c6(0x102)+_0x45556c+'`';}case _0xabd7c6(0x9b):{const _0x9a6b06=extractOutputOption(_0xb0b814);if(!_0x9a6b06)return _0xabd7c6(0x122);const {name:_0x48e0fe,isKeyStep:_0x4ce097}=toStepDisplayName(_0x9a6b06);return _0x4ce097?'capture\x20key\x20step\x20`'+_0x48e0fe+'`':_0xabd7c6(0x168)+_0x48e0fe+'`';}case _0x59d896['jneQE']:return _0x59d896[_0xabd7c6(0x116)];default:return _0xcd4718;}}function getNovaActCliCommandBlockReason(_0xc8a5c8){const _0x41aebb=_0x2c576b,_0x13968a={'MpPNr':function(_0x74711d,_0x2ba00a){return _0x74711d===_0x2ba00a;},'OyRws':'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.'},_0x2c1d30=parseNovaActCliCommand(_0xc8a5c8);if(!_0x2c1d30)return'Use\x20only\x20the\x20provided\x20Nova\x20browser\x20command\x20prefix\x20for\x20browser\x20verification.\x20Do\x20not\x20inspect\x20setup,\x20credentials,\x20files,\x20or\x20the\x20local\x20environment.';if(!NOVA_ACT_ALLOWED_AGENT_COMMANDS['has'](_0x2c1d30))return _0x41aebb(0x9c)+_0x2c1d30+_0x41aebb(0x140);if(_0x13968a['MpPNr'](_0x2c1d30,'verify')&&/\b(?:previously visited|visited pages|pages visited|at least one of the pages visited)\b/i['test'](_0xc8a5c8))return _0x13968a[_0x41aebb(0x16c)];if(/\s--help\b|\bdoctor\b|\bscript\b|\bsession\s+(?:close|list|export)\b/[_0x41aebb(0xaf)](_0xc8a5c8))return'Do\x20not\x20run\x20Nova\x20help,\x20doctor,\x20script,\x20session\x20list,\x20session\x20export,\x20or\x20session\x20close\x20commands\x20during\x20verification.';return null;}function buildFeedbackSection(_0x657593){const _0x3acc47=_0x2c576b,_0x21f707={'KEByi':_0x3acc47(0xbb),'ZSRpD':'element'};if(!_0x657593||_0x657593['unaddressedComments'][_0x3acc47(0x131)]===0x0)return'';const _0x274b7a=_0x657593[_0x3acc47(0xbc)][_0x3acc47(0xca)](_0x163c92=>{const _0x580a7f=_0x3acc47,_0x5bcd44=new Date(_0x163c92['createdAt'])[_0x580a7f(0xf1)](_0x21f707[_0x580a7f(0xa1)],{'month':_0x580a7f(0xef),'day':_0x580a7f(0xc5)}),_0x3316e9=_0x163c92[_0x580a7f(0x10a)]||_0x163c92['authorEmail']||_0x580a7f(0x165),_0x594436=_0x163c92['domRef']?_0x580a7f(0xb6)+(_0x163c92[_0x580a7f(0x135)][_0x580a7f(0xa5)][_0x580a7f(0xd5)]('\x20>\x20')['pop']()?.['split'](':')[0x0]||_0x21f707[_0x580a7f(0x143)])+'>\x20\x22'+(_0x163c92[_0x580a7f(0x135)]['textContent']||'')['slice'](0x0,0x32)+'\x22)':'';return'-\x20['+_0x163c92['id']+_0x580a7f(0x15e)+_0x3316e9+'**\x20('+_0x5bcd44+'):\x20\x22'+_0x163c92[_0x580a7f(0x146)]+'\x22'+_0x594436;})[_0x3acc47(0xeb)]('\x0a');return _0x3acc47(0x16b)+_0x274b7a;}function buildNovaSharedOptionsInstruction(_0xe60486){const _0xdd2dd1=_0x2c576b;if(!_0xe60486[_0xdd2dd1(0xa3)]())return _0xdd2dd1(0x132);return'Append\x20this\x20option\x20suffix\x20to\x20every\x20browser\x20command\x20unless\x20the\x20host\x20gives\x20a\x20more\x20specific\x20example:\x0a'+_0xe60486;}export function buildVerifyFeatureNovaCliDebugPrompt(_0x2fdd05){const _0x5d550c=_0x2c576b,_0x1d8d51={'HvLXh':function(_0x1a65f7,_0x25e6b2,_0x539533){return _0x1a65f7(_0x25e6b2,_0x539533);},'QfsqK':function(_0x3cebce,_0x3b6ba2,_0xcf075){return _0x3cebce(_0x3b6ba2,_0xcf075);},'JGSHG':'02_final-state.yml','akEPe':function(_0x2eb608,_0x37d416){return _0x2eb608(_0x37d416);},'Enjwh':function(_0x3fb6f6,_0x436ccb){return _0x3fb6f6(_0x436ccb);},'DuUBI':function(_0x13969e,_0x794f6b){return _0x13969e(_0x794f6b);}},{novaCommandPrefix:_0x4303a8,novaSharedOptionsSuffix:_0x15c879,cliArtifactDir:_0x3e6734,url:_0x24fd6d}=_0x2fdd05,_0x257a7f=_0x1d8d51[_0x5d550c(0xfe)](buildCliArtifactPath,_0x3e6734,'00_initial-state.yml'),_0x249b82=buildCliArtifactPath(_0x3e6734,_0x5d550c(0x142)),_0x21eb6a=_0x1d8d51['QfsqK'](buildCliArtifactPath,_0x3e6734,_0x1d8d51[_0x5d550c(0x115)]),_0x2420d8=buildCliArtifactPath(_0x3e6734,_0x5d550c(0xfc));return _0x5d550c(0xf2)+_0x4303a8+'\x0a\x0a'+buildNovaSharedOptionsInstruction(_0x15c879)+_0x5d550c(0xdf)+_0x4303a8+'\x20session\x20create\x20'+quoteShellArg(_0x24fd6d)+'\x20'+_0x15c879+_0x5d550c(0xe9)+_0x4303a8+_0x5d550c(0x10f)+_0x1d8d51[_0x5d550c(0x12b)](quoteShellArg,_0x257a7f)+'\x20'+_0x15c879+_0x5d550c(0x101)+_0x4303a8+_0x5d550c(0x9e)+_0x1d8d51['Enjwh'](quoteShellArg,_0x249b82)+'\x20'+_0x15c879+_0x5d550c(0xab)+_0x4303a8+'\x20execute\x20\x22...\x22`\x20command\x20to\x20exercise\x20the\x20current\x20page.\x0a5.\x20Run\x20`'+_0x4303a8+'\x20snapshot\x20--output\x20'+_0x1d8d51[_0x5d550c(0xcc)](quoteShellArg,_0x21eb6a)+'\x20'+_0x15c879+'`\x0a6.\x20Run\x20`'+_0x4303a8+'\x20screenshot\x20--output\x20'+quoteShellArg(_0x2420d8)+'\x20'+_0x15c879+'`\x0a7.\x20Return\x20immediately\x20with\x20the\x20structured\x20output.\x0a\x0aSave\x20every\x20artifact\x20under\x20`'+_0x3e6734+_0x5d550c(0x161);}export function buildVerifyFeatureNovaCliPrompt(_0x39d1){const _0xc7ac58=_0x2c576b,_0x65527d={'pPDKI':function(_0x5cd5ad,_0x310704){return _0x5cd5ad(_0x310704);},'rcmzs':function(_0x337058,_0x9fdb97,_0x31faf6){return _0x337058(_0x9fdb97,_0x31faf6);},'qpSAM':'01_initial.yml','SFGie':function(_0x3ce653,_0x4b64ac,_0x36f7c3){return _0x3ce653(_0x4b64ac,_0x36f7c3);},'NlpeD':'01_initial-state.png','LYDcd':function(_0x1d3b73,_0x11e999){return _0x1d3b73(_0x11e999);},'WYmGI':function(_0x2be34c,_0x4617b7){return _0x2be34c(_0x4617b7);}},{checklistItem:_0x1c14ed,itemFeedback:_0x3db9f4,taskDescription:_0x338ff4,novaCommandPrefix:_0x400dd2,novaSharedOptionsSuffix:_0x2fa363,cliArtifactDir:_0x22e607,url:_0x28ec8e,loginInstructions:_0x45be20}=_0x39d1,_0x5098b1=_0x1c14ed[_0xc7ac58(0xc9)]?_0xc7ac58(0xd1)+_0x1c14ed['notes']:'',_0x4f10e3=_0x65527d['pPDKI'](buildFeedbackSection,_0x3db9f4),_0x168aa6=_0x3db9f4?.[_0xc7ac58(0x12f)]?_0xc7ac58(0xd7)+_0x3db9f4['canonicalFlow']:'',_0x4626a1=_0x45be20?_0xc7ac58(0x156)+_0x45be20+_0xc7ac58(0xc0):'',_0x36563f=_0x65527d['rcmzs'](buildCliArtifactPath,_0x22e607,_0x65527d['qpSAM']),_0x50765c=_0x65527d[_0xc7ac58(0x160)](buildCliArtifactPath,_0x22e607,_0x65527d['NlpeD']),_0x4296ff=_0x65527d[_0xc7ac58(0x160)](buildCliArtifactPath,_0x22e607,_0xc7ac58(0x133));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'+_0x1c14ed['description']+_0x5098b1+_0x4f10e3+_0x168aa6+_0xc7ac58(0xec)+_0x338ff4+'\x0a\x0a##\x20App\x20Context\x0aYour\x20base\x20URL\x20is:\x20'+_0x28ec8e+_0xc7ac58(0x11c)+_0x4626a1+_0xc7ac58(0x137)+_0x400dd2+_0xc7ac58(0xc7)+_0x65527d['pPDKI'](quoteShellArg,_0x28ec8e)+'\x20'+_0x2fa363+'`.\x0a4.\x20Save\x20every\x20snapshot\x20and\x20screenshot\x20under\x20`'+_0x22e607+'`\x20using\x20absolute\x20paths\x20only.\x0a5.\x20Take\x20an\x20initial\x20snapshot:\x20`'+_0x400dd2+_0xc7ac58(0x10f)+_0x65527d[_0xc7ac58(0x10c)](quoteShellArg,_0x36563f)+'\x20'+_0x2fa363+'`.\x0a6.\x20Take\x20an\x20initial\x20screenshot:\x20`'+_0x400dd2+'\x20screenshot\x20--output\x20'+_0x65527d[_0xc7ac58(0x113)](quoteShellArg,_0x50765c)+'\x20'+_0x2fa363+_0xc7ac58(0xe7)+_0x4296ff+'`.\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`'+_0x400dd2+_0xc7ac58(0x141)+(_0x2fa363[_0xc7ac58(0xa3)]()?'`'+_0x2fa363+'`':_0xc7ac58(0xda))+'\x0a\x0a'+buildNovaSharedOptionsInstruction(_0x2fa363)+'\x0a\x0aExamples:\x0a-\x20`'+_0x400dd2+'\x20execute\x20\x221.\x20Open\x20the\x20account\x20settings\x20menu.\x202.\x20Click\x20Billing.\x203.\x20Wait\x20for\x20the\x20Billing\x20page\x20to\x20load.\x22\x20'+_0x2fa363+'`\x0a-\x20`'+_0x400dd2+'\x20verify\x20\x22The\x20Billing\x20page\x20is\x20visible\x20and\x20shows\x20the\x20current\x20plan.\x22\x20'+_0x2fa363+_0xc7ac58(0x13e)+_0x400dd2+'\x20snapshot\x20--output\x20'+quoteShellArg(_0x36563f)+'\x20'+_0x2fa363+_0xc7ac58(0x13e)+_0x400dd2+'\x20screenshot\x20--output\x20'+quoteShellArg(_0x4296ff)+'\x20'+_0x2fa363+_0xc7ac58(0xf3);}export function summarizeVerifyFeatureNovaCliCommandAvailability(_0x55b807){const _0x53089d=_0x2c576b,_0xdeb875={'ycPgK':function(_0x450f71,_0x212f50){return _0x450f71===_0x212f50;}},_0x4ef55f=[..._0x55b807['keys']()]['sort']();let _0x1a5a9b=0x0;for(const _0x355920 of _0x55b807['values']()){_0x1a5a9b+=_0x355920;}return{'cliCommandCount':_0x1a5a9b,'cliCommandsSeen':_0x4ef55f,'noCliCommandsCalled':_0xdeb875[_0x53089d(0x16d)](_0x1a5a9b,0x0)};}export function createVerifyFeatureNovaCliHooks(_0x4009a3,_0x2c1d62){const _0x503a7c=_0x2c576b,_0x4431d3={'OizeJ':'PreToolUse','gLjlC':function(_0x338ae7,_0x57a84b){return _0x338ae7!==_0x57a84b;},'urjyy':_0x503a7c(0xb1),'ZFqJn':function(_0xbd0656,_0x36b736){return _0xbd0656!==_0x36b736;},'MgNyF':function(_0xbc4058,_0x1ff230){return _0xbc4058(_0x1ff230);},'Ebzew':function(_0x441640,_0x27b245){return _0x441640(_0x27b245);},'lLeDy':function(_0x56eed0,_0x2c0085,_0x49e53d){return _0x56eed0(_0x2c0085,_0x49e53d);},'IKgpq':_0x503a7c(0x11e),'efvOO':_0x503a7c(0x110)},_0x1c223e=new Map(),_0x2d89e4=async _0x3838ed=>{const _0x5a1c96=_0x503a7c;if(_0x3838ed['hook_event_name']!==_0x4431d3[_0x5a1c96(0xf7)])return{};const _0x4f954a=_0x3838ed;if(_0x4431d3['gLjlC'](_0x4f954a['tool_name'],_0x4431d3[_0x5a1c96(0x11f)]))return{};const _0x5f0dbb=_0x4f954a[_0x5a1c96(0x167)],_0x3585b5=extractBashCommand(_0x5f0dbb);if(!_0x3585b5)return{};const _0x30631c=getNovaActCliCommandBlockReason(_0x3585b5);if(!_0x30631c)return{};return{'decision':'block','reason':_0x30631c};},_0x223630=async _0x22012d=>{const _0x566553=_0x503a7c;if(_0x4431d3['ZFqJn'](_0x22012d[_0x566553(0x145)],'PostToolUse'))return{};const _0x21e276=_0x22012d;if(_0x4431d3[_0x566553(0xad)](_0x21e276[_0x566553(0x123)],_0x566553(0xb1)))return{};const _0x319dfb=_0x21e276[_0x566553(0x167)],_0x59a2a5=_0x4431d3[_0x566553(0x10e)](extractBashCommand,_0x319dfb);if(!_0x59a2a5)return{};const _0x1568f6=parseNovaActCliCommand(_0x59a2a5);if(!_0x1568f6)return{};_0x1c223e['set'](_0x1568f6,(_0x1c223e[_0x566553(0x147)](_0x1568f6)||0x0)+0x1),_0x4009a3[_0x566553(0x136)](_0x566553(0x9a),{'subcommand':_0x1568f6}),_0x4009a3['trackPhaseEnd']('nova_act_command',{'subcommand':_0x1568f6,'commandPreview':_0x4431d3['Ebzew'](previewNovaActCliCommand,_0x59a2a5)}),console[_0x566553(0x108)]('[nova-act-cli]\x20'+_0x4431d3['lLeDy'](formatNovaActCliLog,_0x59a2a5,_0x1568f6));if(_0x1568f6==='session\x20create'&&_0x2c1d62)try{await _0x2c1d62['start']();}catch(_0x361ed6){await _0x4009a3[_0x566553(0x120)](_0x566553(0xed),_0x361ed6,{'transport':_0x4431d3['IKgpq']});}return{};},_0x317d5d=async _0x5930e0=>{const _0x1e705a=_0x503a7c;if(_0x5930e0[_0x1e705a(0x145)]!=='PostToolUseFailure')return{};const _0x17e3a0=_0x5930e0;if(_0x4431d3[_0x1e705a(0x163)](_0x17e3a0['tool_name'],'Bash'))return{};return await _0x4009a3['trackPhaseError'](_0x4431d3[_0x1e705a(0x118)],_0x17e3a0[_0x1e705a(0xd6)],{'transport':'nova-act-cli','toolName':_0x4431d3[_0x1e705a(0x11f)]}),{};};return{'preToolUseHook':_0x2d89e4,'postToolUseHook':_0x223630,'postToolUseFailureHook':_0x317d5d,'commandCounts':_0x1c223e};}async function runNovaLifecycleCommand(_0x5a1104){const _0x326ff4=_0x2c576b,_0x5104ef={'uPeCB':function(_0x27b860,_0x4bece5){return _0x27b860(_0x4bece5);}},{novaOptions:_0x5406dd,commandArgs:_0x3bd4d0,telemetry:_0x319398,phase:_0x4de0e4,metadata:_0x2cef3c,timeoutMs:_0x124d6f}=_0x5a1104;_0x319398['trackPhaseStart'](_0x4de0e4,_0x2cef3c);try{const _0x2736cf=await runNovaActCliCommand({..._0x5406dd,'commandArgs':_0x3bd4d0,'cwd':process[_0x326ff4(0xe2)](),'env':process['env'],'timeoutMs':_0x124d6f??NOVA_ACT_CLI_COMMAND_TIMEOUT_MS});_0x319398['trackPhaseEnd'](_0x4de0e4,{..._0x2cef3c,'subcommand':_0x2736cf[_0x326ff4(0x12c)][_0x326ff4(0xc4)],'commandPreview':previewNovaActCliCommand(_0x2736cf['invocation'][_0x326ff4(0xa8)]),'stdoutPreview':previewNovaActCliCommand(_0x2736cf[_0x326ff4(0x12a)]),'stderrPreview':_0x5104ef['uPeCB'](previewNovaActCliCommand,_0x2736cf['stderr']),'logDir':_0x5104ef['uPeCB'](extractNovaActLogDir,_0x2736cf[_0x326ff4(0x12a)])});}catch(_0x38bf28){await _0x319398['trackPhaseError'](_0x4de0e4,_0x38bf28,_0x2cef3c);throw _0x38bf28;}}export async function finalizeVerifyFeatureNovaCliSession(_0x51f830){const _0x20fbb1=_0x2c576b,_0x48ae4c={'lxykd':'--output','HIfVf':function(_0x23ba15,_0x1497cc,_0xfbf0f5){return _0x23ba15(_0x1497cc,_0xfbf0f5);},'NvKzo':_0x20fbb1(0x105),'nMoAr':'snapshot','ZzWvs':function(_0x499403,_0x432927,_0x12bff8){return _0x499403(_0x432927,_0x12bff8);},'NJPJb':'session','ySiiC':_0x20fbb1(0xc2),'TkYHa':_0x20fbb1(0xd9),'rhkWH':_0x20fbb1(0x13b),'aDbOK':_0x20fbb1(0x10d),'vuXPe':_0x20fbb1(0xb8),'KQelF':'close','BPunV':function(_0x119faa,_0x4bfd01){return _0x119faa(_0x4bfd01);}},{telemetry:_0x2891fe,novaOptions:_0x97450e,cliArtifactDir:_0xceaadd,transportMetadata:_0x257e76,artifactRecorder:_0x50cfeb}=_0x51f830,_0x2e4f81=[{'phase':_0x20fbb1(0xb3),'commandArgs':[_0x20fbb1(0x9b),_0x48ae4c[_0x20fbb1(0xc8)],_0x48ae4c[_0x20fbb1(0xa4)](buildCliArtifactPath,_0xceaadd,'key_final-state.png')]},{'phase':_0x48ae4c[_0x20fbb1(0x109)],'commandArgs':[_0x48ae4c[_0x20fbb1(0x144)],_0x48ae4c[_0x20fbb1(0xc8)],_0x48ae4c['ZzWvs'](buildCliArtifactPath,_0xceaadd,_0x20fbb1(0xbe))]},{'phase':'nova_act_session_export','commandArgs':[_0x48ae4c[_0x20fbb1(0xfb)],_0x48ae4c['ySiiC'],_0x48ae4c[_0x20fbb1(0xce)],_0x48ae4c['rhkWH'],_0x48ae4c['lxykd'],buildCliArtifactPath(_0xceaadd,'nova-session-export.json')]},{'phase':_0x48ae4c['aDbOK'],'commandArgs':['session',_0x20fbb1(0xc2),'--report','--output-dir',buildCliArtifactPath(_0xceaadd,_0x48ae4c['vuXPe'])]},{'phase':'nova_act_session_close','commandArgs':['session',_0x48ae4c['KQelF']]}];for(const _0x5e91f5 of _0x2e4f81){_0x5e91f5[_0x20fbb1(0x11b)]===_0x20fbb1(0x104)&&await _0x50cfeb?.['stop']();try{await _0x48ae4c[_0x20fbb1(0x121)](runNovaLifecycleCommand,{'novaOptions':_0x97450e,'commandArgs':[..._0x5e91f5['commandArgs']],'telemetry':_0x2891fe,'phase':_0x5e91f5[_0x20fbb1(0x11b)],'metadata':_0x257e76});}catch{}}}export async function harvestVerifyFeatureNovaCliArtifacts(_0x239ddf){const _0x4c9a7b=_0x2c576b,_0x4d2fa2={'VyQLp':function(_0x4f9e94,_0x4c5767,_0x525db8){return _0x4f9e94(_0x4c5767,_0x525db8);},'bKdOA':function(_0x2a9061,_0x52a679){return _0x2a9061(_0x52a679);},'WGuwM':function(_0x3ed2dc,_0x5bfdde){return _0x3ed2dc<_0x5bfdde;},'UvgzP':function(_0x392385,_0xaab315,_0x481fac){return _0x392385(_0xaab315,_0x481fac);}},{cwd:_0x1eb69b,cliArtifactDir:_0x307974,startTime:_0xa54ea4}=_0x239ddf,_0x3bf2d5=[];await _0x4d2fa2['VyQLp'](mkdir,_0x307974,{'recursive':!![]});const _0x32de66=await _0x4d2fa2['VyQLp'](readdir,_0x1eb69b,{'withFileTypes':!![]});for(const _0x1295b2 of _0x32de66){if(!_0x1295b2[_0x4c9a7b(0x16a)]()||!VERIFY_FEATURE_NOVA_ARTIFACT_FILE_PATTERN['test'](_0x1295b2['name']))continue;const _0x3c05e6=_0x4d2fa2[_0x4c9a7b(0x127)](join,_0x1eb69b,_0x1295b2['name']),_0xdaa51b=await _0x4d2fa2['bKdOA'](stat,_0x3c05e6);if(_0x4d2fa2[_0x4c9a7b(0x10b)](_0xdaa51b[_0x4c9a7b(0xea)]+0x7d0,_0xa54ea4))continue;const _0x31259a=buildCliArtifactPath(_0x307974,_0x1295b2['name']);if(_0x3c05e6===_0x31259a)continue;await _0x4d2fa2['UvgzP'](rename,_0x3c05e6,_0x31259a),_0x3bf2d5[_0x4c9a7b(0x9d)](_0x1295b2[_0x4c9a7b(0x164)]);}return _0x3bf2d5['sort']();}export async function loadVerifyFeatureNovaTraceUploadArtifact(_0xba1f30){const _0x65caa2=_0x2c576b,_0x439eaf={'VoiQK':function(_0x76cd64,_0x55d353,_0x30775d){return _0x76cd64(_0x55d353,_0x30775d);},'RMSfE':function(_0x43a118,_0x18ef1e){return _0x43a118(_0x18ef1e);}},_0x2d4666=_0x439eaf['VoiQK'](join,_0xba1f30,'trace.zip');try{return{'buffer':await _0x439eaf[_0x65caa2(0xf6)](readFile,_0x2d4666),'source':_0x2d4666};}catch{return{'buffer':await zipVerifyFeatureNovaArtifacts(_0xba1f30),'source':_0xba1f30};}}async function zipVerifyFeatureNovaArtifacts(_0x339d56){const _0x4282dc=_0x2c576b,_0x100795={'cBuok':function(_0x2eebd8,_0x20329c,_0x3c3c40,_0x213aac){return _0x2eebd8(_0x20329c,_0x3c3c40,_0x213aac);},'HxDoR':'zip','tHPDB':_0x4282dc(0x13c),'gmUdS':function(_0xe3afd8,_0x18c03b){return _0xe3afd8(_0x18c03b);},'vHqKz':function(_0x5f5d63,_0x4e0890,_0x12849e){return _0x5f5d63(_0x4e0890,_0x12849e);}},_0xdab666=_0x100795['cBuok'](join,_0x339d56,'..','nova-artifacts.zip');try{return await _0x100795[_0x4282dc(0xa9)](execFileAsync,_0x100795['HxDoR'],[_0x4282dc(0xaa),_0xdab666,'.','-x',_0x100795['tHPDB']],{'cwd':_0x339d56}),await _0x100795['gmUdS'](readFile,_0xdab666);}finally{await _0x100795['vHqKz'](rm,_0xdab666,{'force':!![]});}}export function buildNovaActCliDiagnostics(_0x158aa8){const _0x5dc3d6=_0x2c576b,_0x42a873=buildNovaActCliInvocation(_0x158aa8['novaOptions'],_0x158aa8['commandArgs']);return{'command':_0x42a873['command'],'args':_0x42a873['args'],'commandPreview':previewNovaActCliCommand(_0x42a873['shellCommand']),'subcommand':_0x42a873[_0x5dc3d6(0xc4)],'sharedOptionsSuffix':buildNovaActCliSharedOptionsSuffix(_0x158aa8['novaOptions'],_0x158aa8['commandArgs'])};}
|
|
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(_0x4d4a71,_0x4fb94a){const _0x474e55=_0x4efd,_0x2c174e=_0x4d4a71();while(!![]){try{const _0xe81383=-parseInt(_0x474e55(0x134))/0x1*(-parseInt(_0x474e55(0x13c))/0x2)+parseInt(_0x474e55(0x132))/0x3+parseInt(_0x474e55(0x154))/0x4*(-parseInt(_0x474e55(0x167))/0x5)+parseInt(_0x474e55(0x14a))/0x6+-parseInt(_0x474e55(0x179))/0x7+parseInt(_0x474e55(0x180))/0x8+-parseInt(_0x474e55(0x172))/0x9;if(_0xe81383===_0x4fb94a)break;else _0x2c174e['push'](_0x2c174e['shift']());}catch(_0x599df7){_0x2c174e['push'](_0x2c174e['shift']());}}}(_0x2778,0x45fce));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(_0x2d29af,_0x2fb1d8=RANGERWRIGHT_CLI_PREVIEW_LIMIT){const _0x22335f=_0x4efd,_0x4bf19d={'NmMNp':function(_0x520a72,_0x3f8d42){return _0x520a72>_0x3f8d42;},'jQGDq':function(_0x3d1eed,_0x4fa149){return _0x3d1eed+_0x4fa149;}};return _0x4bf19d['NmMNp'](_0x2d29af[_0x22335f(0x13e)],_0x2fb1d8)?_0x4bf19d['jQGDq'](_0x2d29af[_0x22335f(0x17b)](0x0,_0x2fb1d8),'...'):_0x2d29af;}function extractShellValue(_0x3defa2){if(!_0x3defa2)return null;return _0x3defa2[0x1]??_0x3defa2[0x2]??_0x3defa2[0x3]??null;}function extractFirstCommandArgument(_0x183fad,_0xc0204a){const _0x2d21f6=_0x4efd,_0x458379=_0xc0204a[_0x2d21f6(0x186)](/[.*+?^${}()|[\]\\]/g,'\x5c$&');return extractShellValue(_0x183fad[_0x2d21f6(0x16e)](new RegExp('(?:^|\x5cs)'+_0x458379+'(?:\x5cs+(?:\x22([^\x22]+)\x22|\x27([^\x27]+)\x27|(\x5cS+)))')));}function formatCommandTarget(_0x301457){const _0x30eb2c=_0x4efd;if(!_0x301457)return'target';if(/^e\d+$/i[_0x30eb2c(0x15b)](_0x301457))return _0x30eb2c(0x14b)+_0x301457;return JSON['stringify'](truncatePreview(_0x301457,0x78));}function formatRangerwrightCliLog(_0x3b1ce8,_0x3969dc){const _0x5a213b=_0x4efd,_0x23f151={'Ycwcn':'open-and-inspect','Zogyb':function(_0x305873,_0x24be7f,_0x442982){return _0x305873(_0x24be7f,_0x442982);},'VfPDE':'back-and-inspect','gKXvE':_0x5a213b(0x185),'FtQnL':'stop\x20tracing'};switch(_0x3969dc){case _0x23f151[_0x5a213b(0x13d)]:{const _0x1b449c=extractFirstCommandArgument(_0x3b1ce8,_0x3969dc);return _0x1b449c?_0x5a213b(0x177)+_0x1b449c:'open\x20and\x20inspect';}case'click-and-inspect':return'click\x20and\x20inspect\x20'+formatCommandTarget(_0x23f151['Zogyb'](extractFirstCommandArgument,_0x3b1ce8,_0x3969dc));case _0x5a213b(0x166):case'fill-and-inspect':return'fill\x20'+formatCommandTarget(extractFirstCommandArgument(_0x3b1ce8,_0x3969dc));case _0x23f151['VfPDE']:return'go\x20back\x20and\x20inspect';case'inspect':return _0x23f151['gKXvE'];case _0x5a213b(0x12f):return _0x23f151[_0x5a213b(0x12c)];case _0x5a213b(0x15a):return'stop\x20video\x20recording';case _0x5a213b(0x17e):return'close\x20browser\x20session';default:return _0x3969dc;}}function renderScenarioSections(_0x5afc08){const _0x2b34e8=_0x4efd,_0x4152d3={'PMkfC':'en-US','zCFab':'short','voUPQ':function(_0x11e008,_0x45fc71){return _0x11e008>_0x45fc71;}},{checklistItem:_0x43ccca,itemFeedback:_0x41f70f}=_0x5afc08,_0x9cf2c5=_0x43ccca['notes']?_0x2b34e8(0x12e)+_0x43ccca['notes']:'';let _0x3f59af='';if(_0x41f70f&&_0x4152d3['voUPQ'](_0x41f70f['unaddressedComments']['length'],0x0)){const _0x55239a=_0x41f70f['unaddressedComments'][_0x2b34e8(0x173)](_0x17a737=>{const _0x1f405=_0x2b34e8,_0xee1dd=new Date(_0x17a737[_0x1f405(0x136)])['toLocaleDateString'](_0x4152d3['PMkfC'],{'month':_0x4152d3[_0x1f405(0x17d)],'day':'numeric'}),_0x38dc52=_0x17a737['authorName']||_0x17a737['authorEmail']||_0x1f405(0x13f),_0x5996ae=_0x17a737[_0x1f405(0x146)]?_0x1f405(0x16c)+(_0x17a737[_0x1f405(0x146)][_0x1f405(0x133)]['split'](_0x1f405(0x15d))['pop']()?.[_0x1f405(0x143)](':')[0x0]||'element')+_0x1f405(0x15f)+(_0x17a737[_0x1f405(0x146)]['textContent']||'')[_0x1f405(0x17b)](0x0,0x32)+'\x22)':'';return _0x1f405(0x142)+_0x17a737['id']+']\x20'+_0x38dc52+'\x20('+_0xee1dd+_0x1f405(0x12d)+_0x17a737[_0x1f405(0x175)]+'\x22'+_0x5996ae;})[_0x2b34e8(0x15c)]('\x0a');_0x3f59af='\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'+_0x55239a;}const _0xc05f73=_0x41f70f?.['canonicalFlow']?'\x0a\x0a##\x20Expected\x20Flow\x20(from\x20previous\x20verification)\x0a'+_0x41f70f[_0x2b34e8(0x16d)]:'';return''+_0x43ccca[_0x2b34e8(0x13b)]+_0x9cf2c5+_0x3f59af+_0xc05f73;}export function buildVerifyFeatureRangerwrightCliPrompt(_0x29adc6){const _0x4c6df4=_0x4efd,_0x87bfeb={'oUjdU':_0x4c6df4(0x168),'cKbGG':function(_0x4dea73,_0x58fa45){return _0x4dea73(_0x58fa45);},'QexXN':function(_0x35953f,_0x33d652){return _0x35953f??_0x33d652;},'lxXDd':_0x4c6df4(0x152)},{checklistItem:_0x1197b6,itemFeedback:_0x274d18,taskDescription:_0x370056,commandPrefix:_0x27801d,isCdpMode:_0x148d7d,url:_0x4e4bc8,cdpEndpoint:_0x4f6f56,loginInstructions:_0x674238}=_0x29adc6,_0x4e9e7f=_0x4c6df4(0x161),_0x2f278a=_0x87bfeb['oUjdU'],_0x22b84d=_0x148d7d?_0x27801d+_0x4c6df4(0x139)+quoteShellArg(_0x4e9e7f):_0x27801d+_0x4c6df4(0x159)+_0x87bfeb['cKbGG'](quoteShellArg,_0x87bfeb['QexXN'](_0x4e4bc8,_0x87bfeb[_0x4c6df4(0x135)]))+'\x20--screenshot-path\x20'+_0x87bfeb[_0x4c6df4(0x160)](quoteShellArg,_0x4e9e7f),_0x56bf24=_0x148d7d?'##\x20App\x20Context\x0aYou\x20are\x20connected\x20to\x20a\x20desktop\x20application\x20via\x20CDP\x20at\x20'+_0x4f6f56+_0x4c6df4(0x17a):'CRITICAL\x20URL\x20REQUIREMENT:\x0aYour\x20base\x20URL\x20is:\x20'+_0x4e4bc8+'\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.',_0x129fe5=_0x674238?'\x0a\x0a##\x20Authentication\x0aBEFORE\x20starting\x20the\x20verification\x20task,\x20authenticate\x20using\x20these\x20steps:\x0a'+_0x674238+'\x0a\x0aAfter\x20completing\x20authentication,\x20proceed\x20with\x20the\x20verification\x20task\x20below.\x0aIf\x20authentication\x20fails,\x20return\x20evaluation\x20\x22blocked\x22\x20and\x20describe\x20the\x20auth\x20failure.':'';return _0x4c6df4(0x138)+_0x87bfeb['cKbGG'](renderScenarioSections,{'checklistItem':_0x1197b6,'itemFeedback':_0x274d18})+_0x4c6df4(0x178)+_0x370056+'\x0a\x0a'+_0x56bf24+_0x129fe5+_0x4c6df4(0x14c)+_0x27801d+_0x4c6df4(0x181)+_0x22b84d+_0x4c6df4(0x182)+_0x27801d+_0x4c6df4(0x153)+_0x87bfeb[_0x4c6df4(0x160)](quoteShellArg,_0x2f278a)+'\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 _0x4efd(_0x387217,_0x4656f3){_0x387217=_0x387217-0x12b;const _0x2778b2=_0x2778();let _0x4efd1f=_0x2778b2[_0x387217];return _0x4efd1f;}export function buildVerifyFeatureRangerwrightCliDebugPrompt(_0x2cfcdf){const _0x183e73=_0x4efd,_0x2a0737={'NuCwa':function(_0x45de6b,_0xa9ac5e){return _0x45de6b(_0xa9ac5e);}},_0x33a121=_0x183e73(0x16b),_0x44618f='key_02_learn-more.png';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'+_0x2cfcdf[_0x183e73(0x12b)]+_0x183e73(0x165)+_0x2cfcdf[_0x183e73(0x12b)]+_0x183e73(0x159)+_0x2a0737[_0x183e73(0x157)](quoteShellArg,_0x2cfcdf['url'])+'\x20--screenshot-path\x20'+quoteShellArg(_0x33a121)+'`\x0a2.\x20Use\x20the\x20returned\x20JSON\x20to\x20find\x20the\x20\x22Learn\x20More\x22\x20link\x20ref.\x0a3.\x20Run\x20`'+_0x2cfcdf['commandPrefix']+_0x183e73(0x170)+_0x2a0737[_0x183e73(0x157)](quoteShellArg,_0x44618f)+_0x183e73(0x131);}export function summarizeVerifyFeatureRangerwrightCliCommandAvailability(_0x34e846){const _0x338c70=_0x4efd,_0x1575c7={'AxOTA':function(_0x3fe877,_0x3f3384){return _0x3fe877===_0x3f3384;}},_0x164050=[..._0x34e846[_0x338c70(0x176)]()][_0x338c70(0x150)]();let _0x5a134c=0x0;for(const _0x61ae4f of _0x34e846[_0x338c70(0x145)]()){_0x5a134c+=_0x61ae4f;}return{'cliCommandCount':_0x5a134c,'cliCommandsSeen':_0x164050,'noCliCommandsCalled':_0x1575c7['AxOTA'](_0x5a134c,0x0)};}export function createVerifyFeatureRangerwrightCliHooks(_0x3865b5){const _0x2dfb98=_0x4efd,_0x4d1375={'rAckk':function(_0xb12a2,_0x217323){return _0xb12a2!==_0x217323;},'UtqFF':'PostToolUse','VavPM':_0x2dfb98(0x174),'iGptx':function(_0x14528d,_0x3b8e36){return _0x14528d(_0x3b8e36);},'kITAW':function(_0x1f939f,_0x11715a){return _0x1f939f+_0x11715a;},'ILUlp':_0x2dfb98(0x13a),'rOmVi':function(_0x3145e4,_0x217a6b){return _0x3145e4(_0x217a6b);},'PNskH':function(_0x121895,_0x1a727e,_0x20b471){return _0x121895(_0x1a727e,_0x20b471);},'PjlDJ':'rangerwright-cli'},_0x403733=new Map(),_0x1d93c4=async _0x48a0cd=>{const _0x4d39a9=_0x2dfb98;if(_0x4d1375[_0x4d39a9(0x147)](_0x48a0cd[_0x4d39a9(0x151)],_0x4d1375['UtqFF']))return{};const _0x124db6=_0x48a0cd;if(_0x124db6[_0x4d39a9(0x183)]!==_0x4d1375['VavPM'])return{};const _0x49584b=_0x124db6[_0x4d39a9(0x158)],_0x2a9b49=extractBashCommand(_0x49584b);if(!_0x2a9b49)return{};const _0x56e500=_0x4d1375['iGptx'](parseRangerwrightCliCommand,_0x2a9b49);if(!_0x56e500)return{};return _0x403733[_0x4d39a9(0x148)](_0x56e500,_0x4d1375[_0x4d39a9(0x16a)](_0x403733['get'](_0x56e500)||0x0,0x1)),_0x3865b5['trackPhaseStart'](_0x4d1375[_0x4d39a9(0x141)],{'subcommand':_0x56e500}),_0x3865b5['trackPhaseEnd'](_0x4d1375['ILUlp'],{'subcommand':_0x56e500,'commandPreview':_0x4d1375[_0x4d39a9(0x184)](truncatePreview,_0x2a9b49)}),console[_0x4d39a9(0x163)](_0x4d39a9(0x15e)+_0x4d1375[_0x4d39a9(0x162)](formatRangerwrightCliLog,_0x2a9b49,_0x56e500)),{};},_0x388959=async _0x39a797=>{const _0x1a6340=_0x2dfb98;if(_0x39a797[_0x1a6340(0x151)]!=='PostToolUseFailure')return{};const _0x3a8a62=_0x39a797;if(_0x3a8a62[_0x1a6340(0x183)]!==_0x4d1375['VavPM'])return{};return await _0x3865b5[_0x1a6340(0x156)]('rangerwright_cli_command_failure',_0x3a8a62['error'],{'transport':_0x4d1375[_0x1a6340(0x17c)],'toolName':'Bash'}),{};};return{'postToolUseHook':_0x1d93c4,'postToolUseFailureHook':_0x388959,'commandCounts':_0x403733};}async function runRangerwrightLifecycleCommand(_0x54c693){const _0x51da58=_0x4efd,_0x4c360f={'XSHJh':function(_0x2528a6,_0x15ac4e,_0x1005c3){return _0x2528a6(_0x15ac4e,_0x1005c3);}},{options:_0x17f4b3,commandArgs:_0x1c98de,env:_0x169dfe,telemetry:_0x1e87a3,phase:_0x58f433,metadata:_0x1a1bc4,timeoutMs:_0xbbfe93}=_0x54c693;_0x1e87a3[_0x51da58(0x164)](_0x58f433,_0x1a1bc4);try{const _0x338eca=await runRangerwrightCliCommand({..._0x17f4b3,'commandArgs':_0x1c98de,'cwd':process['cwd'](),'env':_0x169dfe,'timeoutMs':_0xbbfe93??RANGERWRIGHT_CLI_COMMAND_TIMEOUT_MS});_0x1e87a3['trackPhaseEnd'](_0x58f433,{..._0x1a1bc4,'subcommand':_0x338eca[_0x51da58(0x16f)]['subcommand'],'stdoutPreview':_0x4c360f[_0x51da58(0x155)](truncatePreview,_0x338eca[_0x51da58(0x149)],0x7d0),'stderrPreview':truncatePreview(_0x338eca[_0x51da58(0x169)],0x7d0)});}catch(_0x40450c){await _0x1e87a3[_0x51da58(0x156)](_0x58f433,_0x40450c,_0x1a1bc4);throw _0x40450c;}}export async function finalizeVerifyFeatureRangerwrightCliSession(_0x17add5){const _0x3f4bc=_0x4efd,_0x484769={'iSwJw':_0x3f4bc(0x137),'scfFh':_0x3f4bc(0x12f),'arZrj':_0x3f4bc(0x171),'TKNss':'video-stop','toFoi':_0x3f4bc(0x140),'zZgBK':_0x3f4bc(0x17e),'aaxHy':function(_0x472bb8,_0x2e564c){return _0x472bb8(_0x2e564c);}},{telemetry:_0x56e385,rangerwrightOptions:_0x30dfaf,env:_0x404e08,transportMetadata:_0x2e53a5}=_0x17add5,_0x904b83=[{'phase':_0x484769[_0x3f4bc(0x14d)],'commandArgs':[_0x484769['scfFh']]},{'phase':_0x484769[_0x3f4bc(0x17f)],'commandArgs':[_0x484769['TKNss']]},{'phase':_0x484769[_0x3f4bc(0x144)],'commandArgs':[_0x484769[_0x3f4bc(0x14f)]]}];for(const _0x51042c of _0x904b83){try{await _0x484769[_0x3f4bc(0x14e)](runRangerwrightLifecycleCommand,{'options':_0x30dfaf,'commandArgs':[..._0x51042c['commandArgs']],'env':_0x404e08,'telemetry':_0x56e385,'phase':_0x51042c[_0x3f4bc(0x130)],'metadata':_0x2e53a5});}catch{}}}function _0x2778(){const _0x44739e=['.\x0aThe\x20app\x20is\x20already\x20running\x20and\x20connected.\x20Start\x20with\x20inspect\x20instead\x20of\x20opening\x20a\x20URL.','slice','PjlDJ','zCFab','close','arZrj','3049512OPbWgk','\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','\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','tool_name','rOmVi','inspect\x20page','replace','commandPrefix','FtQnL','):\x20\x22','\x0a\x0a##\x20Additional\x20Notes\x0a','tracing-stop','phase','`\x0a4.\x20Return\x20immediately\x20with\x20the\x20structured\x20output.\x0a\x0aReturn\x20your\x20findings\x20in\x20the\x20structured\x20output\x20format.','1284195cDUiPR','selector','595OhGwAr','lxXDd','createdAt','rangerwright_cli_tracing_stop','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','\x20inspect\x20--screenshot-path\x20','rangerwright_cli_command','description','500pKoNwp','Ycwcn','length','Reviewer','rangerwright_cli_close','ILUlp','-\x20[','split','toFoi','values','domRef','rAckk','set','stdout','2950686cDpfNV','ref\x20','\x0a\x0a##\x20Rangerwright\x20Instructions\x0aUse\x20Bash\x20and\x20Rangerwright\x20only.\x0a\x0aEvery\x20browser\x20command\x20must\x20start\x20with\x20this\x20exact\x20literal\x20command\x20prefix:\x0a\x0a','iSwJw','aaxHy','zZgBK','sort','hook_event_name','about:blank','\x20click-and-inspect\x20e37\x20--screenshot-path\x20','40ZZHlcD','XSHJh','trackPhaseError','NuCwa','tool_input','\x20open-and-inspect\x20','video-stop','test','join','\x20>\x20','[rangerwright-cli]\x20','>\x20\x22','cKbGG','01_initial-state.png','PNskH','log','trackPhaseStart','\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`','fill','1085uNZIFs','key_99_final-state.png','stderr','kITAW','01_mozilla-homepage.png','\x20(on\x20element:\x20<','canonicalFlow','match','invocation','\x20click-and-inspect\x20<ref>\x20--screenshot-path\x20','rangerwright_cli_video_stop','7385112hnWKqG','map','Bash','content','keys','open\x20and\x20inspect\x20','\x0a\x0a##\x20Task\x20to\x20Execute\x0a','2382639ugPhYh'];_0x2778=function(){return _0x44739e;};return _0x2778();}
|
|
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{}}}
|