@ranger-testing/ranger-cli 3.0.1-alpha.f6aba6c-32 → 3.1.0
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 -0
- 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 +3 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(_0x504109,_0x2de089){const _0x36cd28=_0x1c48,_0x3d8896=_0x504109();while(!![]){try{const _0x39334a=-parseInt(_0x36cd28(0x22a))/0x1*(parseInt(_0x36cd28(0x1ef))/0x2)+parseInt(_0x36cd28(0x1cc))/0x3+-parseInt(_0x36cd28(0x214))/0x4+parseInt(_0x36cd28(0x1b9))/0x5+parseInt(_0x36cd28(0x1d2))/0x6+parseInt(_0x36cd28(0x225))/0x7+-parseInt(_0x36cd28(0x1c9))/0x8*(parseInt(_0x36cd28(0x201))/0x9);if(_0x39334a===_0x2de089)break;else _0x3d8896['push'](_0x3d8896['shift']());}catch(_0x10d4e4){_0x3d8896['push'](_0x3d8896['shift']());}}}(_0x2000,0xb9766));import{mkdir,readFile,readdir,rename,stat}from'fs/promises';function _0x1c48(_0x1db086,_0x4e9bf7){_0x1db086=_0x1db086-0x1b5;const _0x200048=_0x2000();let _0x1c48db=_0x200048[_0x1db086];return _0x1c48db;}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(_0x1ba293,_0x4f05aa=PLAYWRIGHT_CLI_PREVIEW_LIMIT){const _0x44de21=_0x1c48,_0x89231a={'fFrDd':function(_0x245e3,_0x2e8653){return _0x245e3>_0x2e8653;},'QqdvF':function(_0x4b71c7,_0x11ad35){return _0x4b71c7+_0x11ad35;},'EQWEk':_0x44de21(0x1bc)};return _0x89231a['fFrDd'](_0x1ba293[_0x44de21(0x23b)],_0x4f05aa)?_0x89231a['QqdvF'](_0x1ba293['slice'](0x0,_0x4f05aa),_0x89231a['EQWEk']):_0x1ba293;}function buildCliArtifactPath(_0x4d5a49,_0x2df666){const _0x5c1bb9=_0x1c48,_0x4ce004={'nZFBA':function(_0x5c7f6e,_0x56ee6a,_0x202ad6){return _0x5c7f6e(_0x56ee6a,_0x202ad6);}};return _0x4ce004[_0x5c1bb9(0x1f1)](join,_0x4d5a49,_0x2df666);}function toStepDisplayName(_0x34af3e){const _0x256aeb=_0x1c48,_0x4ec252={'hReDW':function(_0x489add,_0x4db42d){return _0x489add(_0x4db42d);}},_0x44a2fe=basename(_0x34af3e)[_0x256aeb(0x22f)](/\.(?:png|ya?ml)$/i,'')['replace'](/^key_/i,'')['replace'](/^\d+_/,'')[_0x256aeb(0x22f)](/-/g,'\x20');return{'name':_0x44a2fe,'isKeyStep':/^key_/i[_0x256aeb(0x231)](_0x4ec252[_0x256aeb(0x1cf)](basename,_0x34af3e))};}function extractShellValue(_0x3bbc43){if(!_0x3bbc43)return null;return _0x3bbc43[0x1]??_0x3bbc43[0x2]??_0x3bbc43[0x3]??null;}function extractFilenameOption(_0xf03bc1){const _0x5e4eda=_0x1c48,_0x2e204f={'hVGNK':function(_0x1b13c3,_0x23279f){return _0x1b13c3(_0x23279f);}};return _0x2e204f['hVGNK'](extractShellValue,_0xf03bc1[_0x5e4eda(0x1f6)](/--filename(?:=|\s+)(?:"([^"]+)"|'([^']+)'|(\S+))/));}function extractFirstCommandArgument(_0x4f60ae,_0x5871cd){const _0x5adade=_0x1c48,_0x23cd16=_0x5871cd['replace'](/[.*+?^${}()|[\]\\]/g,'\x5c$&');return extractShellValue(_0x4f60ae[_0x5adade(0x1f6)](new RegExp(_0x5adade(0x22d)+_0x23cd16+'(?:\x5cs+(?:\x22([^\x22]+)\x22|\x27([^\x27]+)\x27|(\x5cS+)))')));}function formatCommandTarget(_0x17fd1e){const _0x3ec1ed=_0x1c48;if(!_0x17fd1e)return _0x3ec1ed(0x1ed);if(/^e\d+$/i['test'](_0x17fd1e))return _0x3ec1ed(0x1e0)+_0x17fd1e;return JSON[_0x3ec1ed(0x22e)](truncatePreview(_0x17fd1e,0x78));}function formatPlaywrightCliLog(_0x355a08,_0x411ead){const _0x5b6f5c=_0x1c48,_0x4a911c={'xAkiR':'open\x20browser','lqFNx':_0x5b6f5c(0x1bd),'kwFMH':'start\x20tracing','vVJxI':'video-start','aPAVz':_0x5b6f5c(0x1eb),'SwILy':function(_0x306588,_0x17b0e5){return _0x306588(_0x17b0e5);},'xLpUY':function(_0xf4eca7,_0xee48cf){return _0xf4eca7(_0xee48cf);},'HznHD':_0x5b6f5c(0x1d5),'aEPjd':_0x5b6f5c(0x238),'KMrcE':function(_0x1adc3f,_0x167bab){return _0x1adc3f(_0x167bab);},'KkCHY':function(_0xc0785f,_0x261698,_0x18c1ba){return _0xc0785f(_0x261698,_0x18c1ba);},'nZhcE':_0x5b6f5c(0x1d0),'JvgAN':_0x5b6f5c(0x216),'wObcc':function(_0x320433,_0x19706f,_0x1ff4f3){return _0x320433(_0x19706f,_0x1ff4f3);},'EIVGB':_0x5b6f5c(0x1c5),'gPnSL':'tab-select'};switch(_0x411ead){case _0x5b6f5c(0x1d6):{const _0x20b740=extractFirstCommandArgument(_0x355a08,_0x411ead);return _0x20b740?_0x5b6f5c(0x1da)+_0x20b740:_0x4a911c[_0x5b6f5c(0x21a)];}case _0x4a911c['lqFNx']:return _0x4a911c[_0x5b6f5c(0x22b)];case'tracing-stop':return'stop\x20tracing';case _0x4a911c['vVJxI']:return _0x5b6f5c(0x1d3);case _0x5b6f5c(0x1ee):return'stop\x20video\x20recording';case _0x4a911c['aPAVz']:{const _0x197628=_0x4a911c['SwILy'](extractFilenameOption,_0x355a08);if(!_0x197628)return _0x5b6f5c(0x205);const {name:_0x5c3ac5}=_0x4a911c['xLpUY'](toStepDisplayName,_0x197628);return _0x5b6f5c(0x1f4)+_0x5c3ac5+'`';}case _0x4a911c[_0x5b6f5c(0x1c1)]:{const _0x2ce5f7=extractFilenameOption(_0x355a08);if(!_0x2ce5f7)return _0x4a911c['aEPjd'];const {name:_0x443a20,isKeyStep:_0x191f6d}=_0x4a911c[_0x5b6f5c(0x240)](toStepDisplayName,_0x2ce5f7);return _0x191f6d?'capture\x20key\x20step\x20`'+_0x443a20+'`':_0x5b6f5c(0x239)+_0x443a20+'`';}case _0x5b6f5c(0x1ff):return _0x5b6f5c(0x21b)+_0x4a911c['KMrcE'](formatCommandTarget,_0x4a911c[_0x5b6f5c(0x235)](extractFirstCommandArgument,_0x355a08,_0x411ead));case'check':return _0x5b6f5c(0x1fe)+formatCommandTarget(_0x4a911c[_0x5b6f5c(0x235)](extractFirstCommandArgument,_0x355a08,_0x411ead));case'fill':return'fill\x20'+formatCommandTarget(extractFirstCommandArgument(_0x355a08,_0x411ead));case _0x5b6f5c(0x217):return _0x5b6f5c(0x237)+_0x4a911c['xLpUY'](formatCommandTarget,extractFirstCommandArgument(_0x355a08,_0x411ead));case'run-code':return _0x4a911c[_0x5b6f5c(0x1e7)];case _0x4a911c[_0x5b6f5c(0x229)]:{const _0x523078=_0x4a911c['wObcc'](extractFirstCommandArgument,_0x355a08,_0x411ead);return _0x523078?'open\x20new\x20tab\x20'+_0x523078:_0x4a911c[_0x5b6f5c(0x220)];}case _0x4a911c[_0x5b6f5c(0x226)]:{const _0x2f3346=extractFirstCommandArgument(_0x355a08,_0x411ead);return _0x2f3346?_0x5b6f5c(0x221)+_0x2f3346:'select\x20tab';}default:return _0x411ead;}}function extractPlaywrightCliToolDescription(_0x53db24){const _0x491a03=_0x1c48,_0x56f2ed={'gSCqw':function(_0x263488,_0x210587){return _0x263488!==_0x210587;},'zPYNb':_0x491a03(0x228)},_0x132884=_0x53db24['description'];if(_0x56f2ed[_0x491a03(0x206)](typeof _0x132884,_0x56f2ed[_0x491a03(0x1c8)]))return null;const _0x41bab9=_0x132884['trim']()[_0x491a03(0x22f)](/\s+/g,'\x20');return _0x41bab9[_0x491a03(0x23b)]>0x0?_0x41bab9:null;}function _0x2000(){const _0x4b67f7=['PostToolUse','4469352SZPZtP','name','tab-new','press','`\x20using\x20absolute\x20paths\x20only.\x20Do\x20not\x20use\x20relative\x20filenames.\x0a4.\x20Take\x20a\x20snapshot\x20with\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.','xAkiR','click\x20','tool_input','key_03_success-state.png','\x20screenshot\x20--filename\x20','\x0a\x0a1.\x20Run\x20`','EIVGB','select\x20tab\x20','\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','\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.','unaddressedComments','8112685bnrBoo','gPnSL','):\x20\x22','string','JvgAN','3zFSmub','kwFMH','slice','(?:^|\x5cs)','stringify','replace','You\x20are\x20testing\x20browser\x20automation.\x20Your\x20task\x20is\x20simple:\x0a\x0aUse\x20Bash\x20and\x20Playwright\x20CLI\x20only.\x20The\x20browser\x20command\x20prefix\x20is:\x0a','test','\x20video-start`\x0a4.\x20Save\x20every\x20snapshot\x20and\x20screenshot\x20under\x20`','`:\x20\x22','playwright-cli','KkCHY','GWJWI','press\x20','capture\x20screenshot','capture\x20step\x20`','\x20snapshot\x20--filename\x20','length','trackPhaseStart','push','02_learn-more.yml','subcommand','KMrcE','phxKm','cwd','00_mozilla-homepage.yml','01_initial.yml','tool_name','3901745mAsxuK','log',']\x20**','...','tracing-start','BkMcn','keys','session-recording.webm','HznHD','**\x20(','stdout','\x20open\x20https://www.mozilla.org`\x0a2.\x20Run\x20`','open\x20new\x20tab','FzayX','ncavt','zPYNb','26104SIHevx','split','[playwright-cli]\x20','847359EVFVHf','stderr','\x20(on\x20element:\x20<','hReDW','run\x20custom\x20Playwright\x20code','\x20video-start`.\x0a3.\x20Save\x20every\x20snapshot\x20and\x20screenshot\x20under\x20`','6713850GmaDYs','start\x20video\x20recording','`\x0a5.\x20Read\x20the\x20snapshot\x20file\x20to\x20find\x20the\x20\x22Learn\x20More\x22\x20link\x20reference\x0a6.\x20Run\x20`','screenshot','open','domRef','trace.zip','02_button-clicked.png','open\x20','pop','`\x0a\x0a-\x20Write\x20all\x20artifacts\x20under\x20`','--filename=','wpirt','QIePA','ref\x20','snHvs','ImhPz','canonicalFlow','mtimeMs','ZscMC','key_04_success-state.png','nZhcE','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','hook_event_name','`\x0a7.\x20Click\x20the\x20\x22Learn\x20More\x22\x20link\x20with\x20Playwright\x20CLI\x0a8.\x20Run\x20`','snapshot','VeBTN','target','video-stop','625598FaLfLV','Reviewer','nZFBA','trace.trace.zip','join','capture\x20snapshot\x20`','createdAt','match','\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.','tracing-stop','>\x20\x22','CRITICAL\x20URL\x20REQUIREMENT:\x0aYour\x20base\x20URL\x20is:\x20','\x20open\x20','01_mozilla-homepage.png','lyNsC','check\x20','click','sort','1449lLnUIv','Bash','authorEmail','\x20tracing-start`\x0a3.\x20Run\x20`','capture\x20snapshot','gSCqw','\x22,\x20\x22','trXZw','tool_failure','values','\x20open`,\x20then\x20`','`\x20style\x20absolute\x20paths\x20at\x20key\x20moments.\x0a6.\x20If\x20you\x20need\x20waits\x20or\x20custom\x20assertions,\x20use\x20`','jTiyq','nVxMo','EIBib','02_state.yml','JgqHp','trackPhaseEnd'];_0x2000=function(){return _0x4b67f7;};return _0x2000();}export function formatPlaywrightCliConsoleLogMessage(_0x20038c,_0x54d202,_0x535a54){const _0x4fc522=_0x1c48,_0x2231be=formatPlaywrightCliLog(_0x54d202,_0x535a54),_0x433db5=extractPlaywrightCliToolDescription(_0x20038c);if(!_0x433db5)return _0x4fc522(0x1cb)+_0x2231be;if(process['env']['DEBUG'])return'[ranger-verification-agent]\x20'+_0x433db5+'\x20('+_0x2231be+')';return'[ranger-verification-agent]\x20'+_0x433db5;}export function buildVerifyFeatureCliDebugPrompt(_0x36f339,_0x182d7b){const _0x13cfa9=_0x1c48,_0x36dac7={'GWJWI':function(_0x7ae1b4,_0x14407b,_0x4afcfe){return _0x7ae1b4(_0x14407b,_0x4afcfe);},'tjSkp':function(_0x13904c,_0x4b3f60,_0x3bcbce){return _0x13904c(_0x4b3f60,_0x3bcbce);},'hbnen':function(_0x34003e,_0x578be1){return _0x34003e(_0x578be1);}},_0x27c677=_0x36dac7[_0x13cfa9(0x236)](buildCliArtifactPath,_0x182d7b,_0x13cfa9(0x1b6)),_0x554698=_0x36dac7['tjSkp'](buildCliArtifactPath,_0x182d7b,_0x13cfa9(0x1fc)),_0x3f425a=buildCliArtifactPath(_0x182d7b,_0x13cfa9(0x23e)),_0x5732b2=_0x36dac7['GWJWI'](buildCliArtifactPath,_0x182d7b,'03_learn-more.png'),_0x171ab1=_0x36dac7['hbnen'](quoteShellArg,_0x27c677),_0xee864a=quoteShellArg(_0x554698),_0xa9d92b=quoteShellArg(_0x3f425a),_0x262f85=quoteShellArg(_0x5732b2);return _0x13cfa9(0x230)+_0x36f339+_0x13cfa9(0x21f)+_0x36f339+_0x13cfa9(0x1c4)+_0x36f339+_0x13cfa9(0x204)+_0x36f339+_0x13cfa9(0x232)+_0x182d7b+'`\x20using\x20absolute\x20paths\x20only.\x20Do\x20not\x20use\x20relative\x20filenames.\x0a5.\x20Run\x20`'+_0x36f339+_0x13cfa9(0x23a)+_0x171ab1+_0x13cfa9(0x1d4)+_0x36f339+_0x13cfa9(0x21e)+_0xee864a+_0x13cfa9(0x1ea)+_0x36f339+'\x20snapshot\x20--filename\x20'+_0xa9d92b+'`\x0a9.\x20Run\x20`'+_0x36f339+_0x13cfa9(0x21e)+_0x262f85+'`\x0a10.\x20Return\x20immediately\x20with\x20the\x20structured\x20output\x0a\x0aReturn\x20your\x20findings\x20in\x20the\x20structured\x20output\x20format.';}export function buildVerifyFeatureCliPrompt(_0x93fb92){const _0x3c3cbd=_0x1c48,_0x336677={'IRiOv':'short','zeTTm':'numeric','JgqHp':function(_0x2a66e5,_0x180ab7,_0x2fafe3){return _0x2a66e5(_0x180ab7,_0x2fafe3);},'wpirt':_0x3c3cbd(0x210),'lyNsC':_0x3c3cbd(0x21d),'ImhPz':function(_0x1937e1,_0x58b4ac){return _0x1937e1(_0x58b4ac);},'VeBTN':function(_0x3476b7,_0x28dc73){return _0x3476b7(_0x28dc73);},'aXYFk':_0x3c3cbd(0x1d9),'ZscMC':'03_result-visible.png'},{checklistItem:_0x3b98c0,itemFeedback:_0x4069a4,taskDescription:_0x4f7831,cliCommandPrefix:_0x485a34,cliArtifactDir:_0xb09b4d,isCdpMode:_0x55870f,url:_0x4f094a,cdpEndpoint:_0x5a6071,loginInstructions:_0x2d06af}=_0x93fb92,_0x150370=buildCliArtifactPath(_0xb09b4d,_0x3c3cbd(0x1b7)),_0x56e02f=_0x336677[_0x3c3cbd(0x211)](buildCliArtifactPath,_0xb09b4d,_0x336677[_0x3c3cbd(0x1de)]),_0x3d7f02=_0x336677['JgqHp'](buildCliArtifactPath,_0xb09b4d,_0x336677[_0x3c3cbd(0x1fd)]),_0xe20c57=_0x336677['JgqHp'](buildCliArtifactPath,_0xb09b4d,'01_initial-state.png'),_0x50d322=_0x336677['ImhPz'](quoteShellArg,_0x150370),_0xc0ddda=_0x336677[_0x3c3cbd(0x1e2)](quoteShellArg,_0x56e02f),_0x4ff87d=_0x336677[_0x3c3cbd(0x1e2)](quoteShellArg,_0x3d7f02),_0x56d70f=quoteShellArg(_0xe20c57),_0x171d87=_0x3b98c0['notes']?'\x0a\x0a##\x20Additional\x20Notes\x0a'+_0x3b98c0['notes']:'';let _0x22bff4='';if(_0x4069a4&&_0x4069a4['unaddressedComments']['length']>0x0){const _0x32268c=_0x4069a4[_0x3c3cbd(0x224)]['map'](_0x5b3e24=>{const _0x27b6e0=_0x3c3cbd,_0x490a68=new Date(_0x5b3e24[_0x27b6e0(0x1f5)])['toLocaleDateString']('en-US',{'month':_0x336677['IRiOv'],'day':_0x336677['zeTTm']}),_0x2863f1=_0x5b3e24['authorName']||_0x5b3e24[_0x27b6e0(0x203)]||_0x27b6e0(0x1f0),_0x1763d2=_0x5b3e24['domRef']?_0x27b6e0(0x1ce)+(_0x5b3e24['domRef']['selector'][_0x27b6e0(0x1ca)]('\x20>\x20')[_0x27b6e0(0x1db)]()?.[_0x27b6e0(0x1ca)](':')[0x0]||'element')+_0x27b6e0(0x1f9)+(_0x5b3e24[_0x27b6e0(0x1d7)]['textContent']||'')[_0x27b6e0(0x22c)](0x0,0x32)+'\x22)':'';return'-\x20['+_0x5b3e24['id']+_0x27b6e0(0x1bb)+_0x2863f1+_0x27b6e0(0x1c2)+_0x490a68+_0x27b6e0(0x227)+_0x5b3e24['content']+'\x22'+_0x1763d2;})[_0x3c3cbd(0x1f3)]('\x0a');_0x22bff4='\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'+_0x32268c;}const _0x3f8e22=_0x4069a4?.[_0x3c3cbd(0x1e3)]?'\x0a\x0a##\x20Expected\x20Flow\x20(from\x20previous\x20verification)\x0a'+_0x4069a4[_0x3c3cbd(0x1e3)]:'',_0x34bb80=_0x55870f?'##\x20App\x20Context\x0aYou\x20are\x20connected\x20to\x20a\x20desktop\x20application\x20via\x20CDP\x20(Chrome\x20DevTools\x20Protocol)\x20at\x20'+_0x5a6071+'.\x0aThis\x20is\x20NOT\x20a\x20web\x20app\x20—\x20there\x20is\x20no\x20URL\x20to\x20navigate\x20to.\x20The\x20app\x20is\x20already\x20running\x20and\x20connected.':_0x3c3cbd(0x1fa)+_0x4f094a+'\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',_0xcbb744=_0x4f094a?_0x336677[_0x3c3cbd(0x1ec)](quoteShellArg,_0x4f094a):'',_0x3450fc=_0x55870f?'##\x20Instructions\x0a1.\x20Use\x20Bash\x20plus\x20Playwright\x20CLI\x20only.\x20Do\x20NOT\x20call\x20MCP\x20browser\x20tools.\x0a2.\x20Start\x20by\x20running\x20`'+_0x485a34+_0x3c3cbd(0x20b)+_0x485a34+'\x20tracing-start`,\x20then\x20`'+_0x485a34+_0x3c3cbd(0x1d1)+_0xb09b4d+_0x3c3cbd(0x218)+_0x485a34+_0x3c3cbd(0x23a)+_0x50d322+'`\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`'+_0x485a34+'\x20screenshot\x20--filename\x20'+_0x56d70f+_0x3c3cbd(0x20c)+_0x485a34+'\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`'+_0x485a34+_0x3c3cbd(0x1fb)+_0xcbb744+'`,\x20then\x20`'+_0x485a34+'\x20tracing-start`,\x20then\x20`'+_0x485a34+_0x3c3cbd(0x1d1)+_0xb09b4d+'`\x20using\x20absolute\x20paths\x20only.\x20Do\x20not\x20use\x20relative\x20filenames.\x0a4.\x20Take\x20a\x20snapshot\x20with\x20`'+_0x485a34+_0x3c3cbd(0x23a)+_0x50d322+'`\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`'+_0x485a34+_0x3c3cbd(0x21e)+_0x56d70f+'`\x20style\x20absolute\x20paths\x20at\x20key\x20moments.\x0a8.\x20If\x20you\x20need\x20waits\x20or\x20custom\x20assertions,\x20use\x20`'+_0x485a34+'\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',_0xb898ae=_0x55870f?_0x3c3cbd(0x223):'\x0a\x0a##\x20Critical:\x20Early\x20Error\x20Detection\x0aAfter\x20step\x202\x20(taking\x20initial\x20snapshot),\x20IMMEDIATELY\x20check\x20for\x20blocking\x20HTTP\x20errors:\x0a\x0a**Blocking\x20errors\x20to\x20detect:**\x0a-\x20HTTP\x20404:\x20\x22404\x22,\x20\x22Not\x20Found\x22,\x20\x22Page\x20not\x20found\x22,\x20\x22does\x20not\x20exist\x22\x0a-\x20HTTP\x20500:\x20\x22500\x22,\x20\x22Internal\x20Server\x20Error\x22,\x20\x22Server\x20Error\x22,\x20\x22Something\x20went\x20wrong\x22\x0a-\x20HTTP\x20400:\x20\x22400\x22,\x20\x22Bad\x20Request\x22,\x20\x22Invalid\x20request\x22\x0a\x0a**Also\x20check\x20for:**\x0a-\x20Framework\x20error\x20pages\x20(Next.js\x20error\x20boundary,\x20React\x20error\x20page,\x20\x22Application\x20error\x22)\x0a-\x20Completely\x20blank/empty\x20pages\x20with\x20no\x20content\x0a-\x20\x22Cannot\x20GET\x20/path\x22\x20messages\x0a\x0a**If\x20ANY\x20blocking\x20error\x20is\x20detected:**\x0a1.\x20DO\x20NOT\x20continue\x20with\x20the\x20task\x0a2.\x20Return\x20IMMEDIATELY\x20with\x20evaluation:\x20\x22blocked\x22\x0a3.\x20Set\x20evaluationReason\x20to\x20describe\x20the\x20specific\x20error\x20(e.g.,\x20\x22HTTP\x20404\x20-\x20Page\x20not\x20found\x20at\x20/dashboard\x22)\x0a4.\x20Include\x20the\x20error\x20in\x20issues\x20array\x20with\x20severity:\x20\x22BLOCKER\x22\x20and\x20appropriate\x20type\x20(HTTP_404,\x20HTTP_500,\x20HTTP_400,\x20or\x20NAVIGATION_ERROR)\x0a\x0aThis\x20early\x20exit\x20prevents\x20wasting\x20time\x20on\x20tasks\x20that\x20cannot\x20succeed\x20due\x20to\x20fundamental\x20errors.',_0x271cdb=_0x2d06af?'\x0a\x0a##\x20Authentication\x0aBEFORE\x20starting\x20the\x20verification\x20task,\x20you\x20MUST\x20authenticate\x20using\x20these\x20steps:\x0a'+_0x2d06af+_0x3c3cbd(0x1f7):'';return _0x3c3cbd(0x1e8)+_0x3b98c0['description']+_0x171d87+_0x22bff4+_0x3f8e22+'\x0a\x0a##\x20Task\x20to\x20Execute\x0a'+_0x4f7831+'\x0a\x0a'+_0x34bb80+_0x271cdb+'\x0a\x0a'+_0x3450fc+'\x0a\x0a##\x20Browser\x20Command\x20Reference\x0aUse\x20Bash\x20to\x20run\x20Playwright\x20CLI\x20commands\x20with\x20this\x20exact\x20prefix:\x0a`'+_0x485a34+_0x3c3cbd(0x1dc)+_0xb09b4d+'`\x0a-\x20`snapshot\x20--filename\x20'+_0xc0ddda+'`\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'+_0x4ff87d+'`\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`'+_0xb09b4d+_0x3c3cbd(0x233)+_0xe20c57+_0x3c3cbd(0x207)+buildCliArtifactPath(_0xb09b4d,_0x336677['aXYFk'])+'\x22,\x20\x22'+_0x336677[_0x3c3cbd(0x211)](buildCliArtifactPath,_0xb09b4d,_0x336677[_0x3c3cbd(0x1e5)])+'\x22\x0a-\x20Number\x20prefixes\x20(01_,\x2002_,\x20etc.)\x20help\x20maintain\x20chronological\x20order\x0a-\x20For\x20KEY\x20MOMENTS\x20that\x20prove\x20the\x20scenario\x20is\x20complete,\x20prefix\x20with\x20\x22key_\x22:\x20\x22'+buildCliArtifactPath(_0xb09b4d,_0x3c3cbd(0x1e6))+_0x3c3cbd(0x222)+_0xb898ae+_0x3c3cbd(0x219);}export function summarizeVerifyFeatureCliCommandAvailability(_0x2016de){const _0x13d51c=_0x1c48,_0x3218be={'xmYkl':function(_0x18b50f,_0x5ef4eb){return _0x18b50f===_0x5ef4eb;}},_0x1e5231=[..._0x2016de[_0x13d51c(0x1bf)]()][_0x13d51c(0x200)]();let _0x4159a9=0x0;for(const _0xcdb714 of _0x2016de[_0x13d51c(0x20a)]()){_0x4159a9+=_0xcdb714;}return{'cliCommandCount':_0x4159a9,'cliCommandsSeen':_0x1e5231,'noCliCommandsCalled':_0x3218be['xmYkl'](_0x4159a9,0x0)};}export function createVerifyFeatureCliHooks(_0x8e10b5){const _0x269d37=_0x1c48,_0x260a66={'ncavt':_0x269d37(0x213),'phxKm':function(_0x569d50,_0x43f8ca){return _0x569d50!==_0x43f8ca;},'taKyL':function(_0x51f198,_0x257784){return _0x51f198(_0x257784);},'BkMcn':_0x269d37(0x234),'nVxMo':function(_0x3a77d5,_0x1e7e66){return _0x3a77d5!==_0x1e7e66;},'stQzh':function(_0x2e4b31,_0x54b7a9,_0x4f64bc,_0x5fbb49){return _0x2e4b31(_0x54b7a9,_0x4f64bc,_0x5fbb49);},'FzayX':function(_0x46a5bb,_0x5af4ad){return _0x46a5bb!==_0x5af4ad;},'GEymU':_0x269d37(0x202)},_0x1bf303=new Map(),_0x563b2f=async _0x10b72b=>{const _0x281c68=_0x269d37;if(_0x10b72b[_0x281c68(0x1e9)]!==_0x260a66[_0x281c68(0x1c7)])return{};const _0x3c6e42=_0x10b72b;if(_0x260a66[_0x281c68(0x241)](_0x3c6e42['tool_name'],_0x281c68(0x202)))return{};const _0x115f22=_0x3c6e42[_0x281c68(0x21c)],_0x17f5fb=extractBashCommand(_0x115f22);if(!_0x17f5fb)return{};const _0x475bc6=_0x260a66['taKyL'](parsePlaywrightCliCommand,_0x17f5fb);if(!_0x475bc6)return{};return _0x1bf303['set'](_0x475bc6,(_0x1bf303['get'](_0x475bc6)||0x0)+0x1),_0x8e10b5['trackPhaseStart']('tool_call',{'transport':_0x260a66[_0x281c68(0x1be)],'toolName':_0x475bc6}),_0x8e10b5[_0x281c68(0x212)]('tool_call',{'transport':'playwright-cli','toolName':_0x475bc6,'bashCommandPreview':truncatePreview(_0x17f5fb)}),_0x260a66[_0x281c68(0x20e)](_0x475bc6,'snapshot')&&console[_0x281c68(0x1ba)](_0x260a66['stQzh'](formatPlaywrightCliConsoleLogMessage,_0x115f22,_0x17f5fb,_0x475bc6)),{};},_0x2ca814=async _0x57ff74=>{const _0x21d226=_0x269d37;if(_0x260a66[_0x21d226(0x20e)](_0x57ff74['hook_event_name'],'PostToolUseFailure'))return{};const _0x21b6e7=_0x57ff74;if(_0x260a66[_0x21d226(0x1c6)](_0x21b6e7[_0x21d226(0x1b8)],_0x260a66['GEymU']))return{};return await _0x8e10b5['trackPhaseError'](_0x21d226(0x209),_0x21b6e7['error'],{'transport':_0x21d226(0x234),'toolName':_0x260a66['GEymU']}),{};};return{'postToolUseHook':_0x563b2f,'postToolUseFailureHook':_0x2ca814,'commandCounts':_0x1bf303};}async function runPlaywrightCliLifecycleCommand(_0x5da7a6){const _0x20cedc=_0x1c48,_0x2b44bd={'OkEIy':function(_0x7014e8,_0xfc9aa0){return _0x7014e8(_0xfc9aa0);},'jTiyq':function(_0x34208c,_0xdb6a46,_0x4a859b){return _0x34208c(_0xdb6a46,_0x4a859b);}},{sessionId:_0x8c4414,configPath:_0x4ac4af,commandArgs:_0x31d049,env:_0x41e54c,telemetry:_0x14d756,phase:_0x362c2e,metadata:_0x4fed74,timeoutMs:_0x10ba91}=_0x5da7a6;_0x14d756[_0x20cedc(0x23c)](_0x362c2e,_0x4fed74);try{const _0x214e26=await _0x2b44bd['OkEIy'](runPlaywrightCliCommand,{'sessionId':_0x8c4414,'configPath':_0x4ac4af,'commandArgs':_0x31d049,'cwd':process[_0x20cedc(0x1b5)](),'env':_0x41e54c,'timeoutMs':_0x10ba91??PLAYWRIGHT_CLI_COMMAND_TIMEOUT_MS});_0x14d756[_0x20cedc(0x212)](_0x362c2e,{..._0x4fed74,'subcommand':_0x214e26['invocation'][_0x20cedc(0x23f)],'stdoutPreview':truncatePreview(_0x214e26[_0x20cedc(0x1c3)],0x7d0),'stderrPreview':_0x2b44bd[_0x20cedc(0x20d)](truncatePreview,_0x214e26[_0x20cedc(0x1cd)],0x7d0)});}catch(_0x1c9845){await _0x14d756['trackPhaseError'](_0x362c2e,_0x1c9845,_0x4fed74);throw _0x1c9845;}}export async function finalizeVerifyFeatureCliSession(_0x1a60d3){const _0x49c82e=_0x1c48,_0x559f61={'EIBib':'playwright_cli_video_stop','QIePA':_0x49c82e(0x1ee),'PjirH':_0x49c82e(0x1c0),'IKTvr':'playwright_cli_close','aTZPo':'close'},{telemetry:_0x2ebfa5,sessionId:_0x565f79,configPath:_0xcf8fd6,cliArtifactDir:_0x14dd02,env:_0x4126b8,transportMetadata:_0x20e6d0}=_0x1a60d3,_0x47ae43=[{'phase':'playwright_cli_tracing_stop','commandArgs':[_0x49c82e(0x1f8)]},{'phase':_0x559f61[_0x49c82e(0x20f)],'commandArgs':[_0x559f61[_0x49c82e(0x1df)],_0x49c82e(0x1dd)+buildCliArtifactPath(_0x14dd02,_0x559f61['PjirH'])]},{'phase':_0x559f61['IKTvr'],'commandArgs':[_0x559f61['aTZPo']]}];for(const _0xef2973 of _0x47ae43){try{await runPlaywrightCliLifecycleCommand({'sessionId':_0x565f79,'configPath':_0xcf8fd6,'commandArgs':[..._0xef2973['commandArgs']],'env':_0x4126b8,'telemetry':_0x2ebfa5,'phase':_0xef2973['phase'],'metadata':_0x20e6d0});}catch{}}}export async function loadVerifyFeatureCliTraceUploadArtifact(_0x488421){const _0x5be4e5=_0x1c48,_0x2efdab={'snHvs':_0x5be4e5(0x1f2),'QPSHD':function(_0x1d6baf,_0x3077fc,_0x5f249a){return _0x1d6baf(_0x3077fc,_0x5f249a);},'ufAQw':function(_0x53a075,_0x12919d){return _0x53a075(_0x12919d);}},_0x4046c6=[_0x5be4e5(0x1d8),_0x2efdab[_0x5be4e5(0x1e1)]];for(const _0x453a10 of _0x4046c6){const _0x259869=_0x2efdab['QPSHD'](join,_0x488421,_0x453a10);try{return{'buffer':await _0x2efdab['ufAQw'](readFile,_0x259869),'source':_0x259869};}catch{}}return null;}export async function rehomeVerifyFeatureCliArtifacts(_0x21fc10){const _0x1a7bf0=_0x1c48,_0x1ea763={'SKJAk':function(_0x592ac6,_0x2c6491,_0x1f2faa){return _0x592ac6(_0x2c6491,_0x1f2faa);},'EWrLP':function(_0x89a3ec,_0x5379bc){return _0x89a3ec(_0x5379bc);},'NbmDy':function(_0x120149,_0x571c72){return _0x120149+_0x571c72;},'trXZw':function(_0x22525a,_0x49a8d0){return _0x22525a===_0x49a8d0;}},{cwd:_0x5534d0,cliArtifactDir:_0x2a993d,startTime:_0x473bf9}=_0x21fc10,_0x339a90=[];await _0x1ea763['SKJAk'](mkdir,_0x2a993d,{'recursive':!![]});const _0x24d0eb=await readdir(_0x5534d0,{'withFileTypes':!![]});for(const _0x1e779e of _0x24d0eb){if(!_0x1e779e['isFile']()||!VERIFY_FEATURE_CLI_ARTIFACT_FILE_PATTERN[_0x1a7bf0(0x231)](_0x1e779e['name']))continue;const _0x19b72=join(_0x5534d0,_0x1e779e['name']),_0x501c37=await _0x1ea763['EWrLP'](stat,_0x19b72);if(_0x1ea763['NbmDy'](_0x501c37[_0x1a7bf0(0x1e4)],0x7d0)<_0x473bf9)continue;const _0x303271=buildCliArtifactPath(_0x2a993d,_0x1e779e['name']);if(_0x1ea763[_0x1a7bf0(0x208)](_0x19b72,_0x303271))continue;await rename(_0x19b72,_0x303271),_0x339a90[_0x1a7bf0(0x23d)](_0x1e779e[_0x1a7bf0(0x215)]);}return _0x339a90['sort']();}
|
|
1
|
+
(function(_0x5ddbdc,_0x356208){const _0x55479d=_0x160c,_0x5624f8=_0x5ddbdc();while(!![]){try{const _0x68cca8=-parseInt(_0x55479d(0x21c))/0x1*(-parseInt(_0x55479d(0x1f7))/0x2)+parseInt(_0x55479d(0x214))/0x3+parseInt(_0x55479d(0x1d1))/0x4+-parseInt(_0x55479d(0x1da))/0x5+parseInt(_0x55479d(0x1fe))/0x6*(-parseInt(_0x55479d(0x1ec))/0x7)+parseInt(_0x55479d(0x1bb))/0x8*(-parseInt(_0x55479d(0x1af))/0x9)+-parseInt(_0x55479d(0x223))/0xa*(-parseInt(_0x55479d(0x215))/0xb);if(_0x68cca8===_0x356208)break;else _0x5624f8['push'](_0x5624f8['shift']());}catch(_0x25495f){_0x5624f8['push'](_0x5624f8['shift']());}}}(_0x4d8a,0x96598));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(_0x1da7d8,_0x10fd56=PLAYWRIGHT_CLI_PREVIEW_LIMIT){const _0x2ee0b8=_0x160c,_0x581c55={'SvWRO':function(_0x2f5f4c,_0x3278d4){return _0x2f5f4c>_0x3278d4;},'LAcVn':function(_0xf50585,_0x4670bf){return _0xf50585+_0x4670bf;},'FQCss':_0x2ee0b8(0x1bc)};return _0x581c55[_0x2ee0b8(0x1a0)](_0x1da7d8[_0x2ee0b8(0x1cb)],_0x10fd56)?_0x581c55[_0x2ee0b8(0x1df)](_0x1da7d8['slice'](0x0,_0x10fd56),_0x581c55['FQCss']):_0x1da7d8;}function buildCliArtifactPath(_0x39edf2,_0x130226){return join(_0x39edf2,_0x130226);}function toStepDisplayName(_0x2d0acc){const _0x466653=_0x160c,_0x18c55c={'lHBoN':function(_0x16316c,_0x87f08b){return _0x16316c(_0x87f08b);}},_0x58ad94=_0x18c55c['lHBoN'](basename,_0x2d0acc)['replace'](/\.(?:png|ya?ml)$/i,'')[_0x466653(0x1d4)](/^key_/i,'')[_0x466653(0x1d4)](/^\d+_/,'')[_0x466653(0x1d4)](/-/g,'\x20');return{'name':_0x58ad94,'isKeyStep':/^key_/i['test'](basename(_0x2d0acc))};}function extractShellValue(_0x12f32b){if(!_0x12f32b)return null;return _0x12f32b[0x1]??_0x12f32b[0x2]??_0x12f32b[0x3]??null;}function extractFilenameOption(_0x40227d){return extractShellValue(_0x40227d['match'](/--filename(?:=|\s+)(?:"([^"]+)"|'([^']+)'|(\S+))/));}function extractFirstCommandArgument(_0x1498eb,_0x170647){const _0x52783c=_0x160c,_0x4ce192={'qJlKP':_0x52783c(0x1c4)},_0x177d3c=_0x170647['replace'](/[.*+?^${}()|[\]\\]/g,_0x4ce192[_0x52783c(0x19e)]);return extractShellValue(_0x1498eb[_0x52783c(0x1ad)](new RegExp('(?:^|\x5cs)'+_0x177d3c+'(?:\x5cs+(?:\x22([^\x22]+)\x22|\x27([^\x27]+)\x27|(\x5cS+)))')));}function formatCommandTarget(_0x592d43){const _0x2a8cdc=_0x160c,_0x1c8011={'QoBnT':'target'};if(!_0x592d43)return _0x1c8011[_0x2a8cdc(0x1e8)];if(/^e\d+$/i['test'](_0x592d43))return'ref\x20'+_0x592d43;return JSON['stringify'](truncatePreview(_0x592d43,0x78));}function formatPlaywrightCliLog(_0x56db57,_0xf6a75a){const _0x56f1f8=_0x160c,_0x3bbd3f={'DQNAi':'tracing-start','msOdI':_0x56f1f8(0x206),'zDmar':'start\x20video\x20recording','wWDoI':_0x56f1f8(0x1b6),'xdGfo':_0x56f1f8(0x1b7),'kwICP':_0x56f1f8(0x1ba),'qgmwW':function(_0x189aab,_0x5e137e){return _0x189aab(_0x5e137e);},'QafyK':_0x56f1f8(0x1c1),'PLscJ':function(_0x5400cb,_0x41efa9){return _0x5400cb(_0x41efa9);},'RQziX':function(_0x120541,_0x52105f,_0x3eb4e1){return _0x120541(_0x52105f,_0x3eb4e1);},'ScFrQ':_0x56f1f8(0x1b4),'UviTu':_0x56f1f8(0x19a),'BcdIq':function(_0x494455,_0x2d0abc){return _0x494455(_0x2d0abc);},'Fefog':'run-code','Ixphj':'run\x20custom\x20Playwright\x20code','kzqEv':'open\x20new\x20tab'};switch(_0xf6a75a){case _0x56f1f8(0x207):{const _0x21ae16=extractFirstCommandArgument(_0x56db57,_0xf6a75a);return _0x21ae16?'open\x20'+_0x21ae16:_0x56f1f8(0x1c2);}case _0x3bbd3f[_0x56f1f8(0x1ab)]:return _0x3bbd3f[_0x56f1f8(0x1cd)];case'tracing-stop':return _0x56f1f8(0x1ea);case'video-start':return _0x3bbd3f['zDmar'];case _0x3bbd3f[_0x56f1f8(0x1f6)]:return _0x3bbd3f[_0x56f1f8(0x1a5)];case _0x3bbd3f['kwICP']:{const _0x15cf8a=extractFilenameOption(_0x56db57);if(!_0x15cf8a)return'capture\x20snapshot';const {name:_0x2507a1}=toStepDisplayName(_0x15cf8a);return'capture\x20snapshot\x20`'+_0x2507a1+'`';}case'screenshot':{const _0x5e95b2=_0x3bbd3f['qgmwW'](extractFilenameOption,_0x56db57);if(!_0x5e95b2)return _0x3bbd3f['QafyK'];const {name:_0x38bf97,isKeyStep:_0x537870}=toStepDisplayName(_0x5e95b2);return _0x537870?'capture\x20key\x20step\x20`'+_0x38bf97+'`':_0x56f1f8(0x1a4)+_0x38bf97+'`';}case _0x56f1f8(0x202):return _0x56f1f8(0x1f3)+formatCommandTarget(extractFirstCommandArgument(_0x56db57,_0xf6a75a));case _0x56f1f8(0x21f):return'check\x20'+_0x3bbd3f[_0x56f1f8(0x1c8)](formatCommandTarget,_0x3bbd3f['RQziX'](extractFirstCommandArgument,_0x56db57,_0xf6a75a));case _0x3bbd3f[_0x56f1f8(0x1a3)]:return'fill\x20'+formatCommandTarget(extractFirstCommandArgument(_0x56db57,_0xf6a75a));case _0x3bbd3f['UviTu']:return _0x56f1f8(0x1ae)+_0x3bbd3f[_0x56f1f8(0x1d5)](formatCommandTarget,extractFirstCommandArgument(_0x56db57,_0xf6a75a));case _0x3bbd3f[_0x56f1f8(0x201)]:return _0x3bbd3f[_0x56f1f8(0x20c)];case _0x56f1f8(0x211):{const _0x4b198e=_0x3bbd3f['RQziX'](extractFirstCommandArgument,_0x56db57,_0xf6a75a);return _0x4b198e?_0x56f1f8(0x21e)+_0x4b198e:_0x3bbd3f['kzqEv'];}case'tab-select':{const _0x36391a=_0x3bbd3f[_0x56f1f8(0x1ac)](extractFirstCommandArgument,_0x56db57,_0xf6a75a);return _0x36391a?_0x56f1f8(0x1e9)+_0x36391a:'select\x20tab';}default:return _0xf6a75a;}}function _0x160c(_0x5ebb4f,_0xd622b2){_0x5ebb4f=_0x5ebb4f-0x199;const _0x4d8a08=_0x4d8a();let _0x160ccc=_0x4d8a08[_0x5ebb4f];return _0x160ccc;}function extractPlaywrightCliToolDescription(_0x39745f){const _0x39973c=_0x160c,_0x2200f3={'xszGt':function(_0x4b5abd,_0x37e5bb){return _0x4b5abd>_0x37e5bb;}},_0xa23a8e=_0x39745f['description'];if(typeof _0xa23a8e!==_0x39973c(0x1d0))return null;const _0x191c81=_0xa23a8e['trim']()['replace'](/\s+/g,'\x20');return _0x2200f3['xszGt'](_0x191c81[_0x39973c(0x1cb)],0x0)?_0x191c81:null;}export function formatPlaywrightCliConsoleLogMessage(_0x4777b2,_0x2d37d8,_0x285ee5){const _0xa10966=_0x160c,_0x6a8237=formatPlaywrightCliLog(_0x2d37d8,_0x285ee5),_0x10121f=extractPlaywrightCliToolDescription(_0x4777b2);if(!_0x10121f)return'[playwright-cli]\x20'+_0x6a8237;if(process[_0xa10966(0x1fa)]['DEBUG'])return _0xa10966(0x20b)+_0x10121f+'\x20('+_0x6a8237+')';return'[ranger-verification-agent]\x20'+_0x10121f;}export function buildVerifyFeatureCliDebugPrompt(_0x2ce837,_0x3b15a0){const _0x5805d2=_0x160c,_0x556a92={'rwhJo':_0x5805d2(0x1d7),'MGFwZ':function(_0x99671e,_0x5c65b1){return _0x99671e(_0x5c65b1);}},_0x1fc90f=buildCliArtifactPath(_0x3b15a0,'00_mozilla-homepage.yml'),_0x522d12=buildCliArtifactPath(_0x3b15a0,_0x556a92['rwhJo']),_0x5a5a5e=buildCliArtifactPath(_0x3b15a0,_0x5805d2(0x19c)),_0x18119b=buildCliArtifactPath(_0x3b15a0,'03_learn-more.png'),_0x3ab53b=quoteShellArg(_0x1fc90f),_0x487845=_0x556a92['MGFwZ'](quoteShellArg,_0x522d12),_0x4ea084=quoteShellArg(_0x5a5a5e),_0x57a856=_0x556a92[_0x5805d2(0x1b5)](quoteShellArg,_0x18119b);return'You\x20are\x20testing\x20browser\x20automation.\x20Your\x20task\x20is\x20simple:\x0a\x0aUse\x20Bash\x20and\x20Playwright\x20CLI\x20only.\x20The\x20browser\x20command\x20prefix\x20is:\x0a'+_0x2ce837+_0x5805d2(0x1f8)+_0x2ce837+_0x5805d2(0x1e2)+_0x2ce837+_0x5805d2(0x219)+_0x2ce837+'\x20video-start`\x0a4.\x20Save\x20every\x20snapshot\x20and\x20screenshot\x20under\x20`'+_0x3b15a0+'`\x20using\x20absolute\x20paths\x20only.\x20Do\x20not\x20use\x20relative\x20filenames.\x0a5.\x20Run\x20`'+_0x2ce837+_0x5805d2(0x1f4)+_0x3ab53b+_0x5805d2(0x1e0)+_0x2ce837+'\x20screenshot\x20--filename\x20'+_0x487845+_0x5805d2(0x1a9)+_0x2ce837+_0x5805d2(0x1f4)+_0x4ea084+_0x5805d2(0x1b8)+_0x2ce837+_0x5805d2(0x1e4)+_0x57a856+'`\x0a10.\x20Return\x20immediately\x20with\x20the\x20structured\x20output\x0a\x0aReturn\x20your\x20findings\x20in\x20the\x20structured\x20output\x20format.';}export function buildVerifyFeatureCliPrompt(_0x43b848){const _0x1e14a4=_0x160c,_0x5b8ffd={'rfmyD':'en-US','YfCZH':'numeric','WLVJd':'Reviewer','vIIlw':'01_initial.yml','TlxhC':_0x1e14a4(0x1cc),'wayhi':_0x1e14a4(0x1bd),'VlZVW':_0x1e14a4(0x1c9),'UOgao':function(_0x5d9d27,_0x2ff765){return _0x5d9d27(_0x2ff765);},'sflRl':_0x1e14a4(0x1e3),'NXqPc':function(_0x19bd17,_0x10c23a,_0x58e56b){return _0x19bd17(_0x10c23a,_0x58e56b);},'evHsT':_0x1e14a4(0x1f9)},{checklistItem:_0x2b81e2,itemFeedback:_0x4af899,taskDescription:_0x585f15,cliCommandPrefix:_0x3492cc,cliArtifactDir:_0x2bacc1,isCdpMode:_0x364bca,url:_0x2f2ad7,cdpEndpoint:_0x23b797,loginInstructions:_0x3c2113}=_0x43b848,_0x21bedc=buildCliArtifactPath(_0x2bacc1,_0x5b8ffd['vIIlw']),_0x5aa8a8=buildCliArtifactPath(_0x2bacc1,_0x5b8ffd['TlxhC']),_0x58bc19=buildCliArtifactPath(_0x2bacc1,_0x5b8ffd[_0x1e14a4(0x212)]),_0x1d700b=buildCliArtifactPath(_0x2bacc1,_0x5b8ffd[_0x1e14a4(0x1aa)]),_0x3e3ba6=_0x5b8ffd['UOgao'](quoteShellArg,_0x21bedc),_0x54e420=quoteShellArg(_0x5aa8a8),_0x42706c=quoteShellArg(_0x58bc19),_0x4fc6b9=_0x5b8ffd['UOgao'](quoteShellArg,_0x1d700b),_0xb3355a=_0x2b81e2[_0x1e14a4(0x1d6)]?'\x0a\x0a##\x20Additional\x20Notes\x0a'+_0x2b81e2['notes']:'';let _0x271601='';if(_0x4af899&&_0x4af899['unaddressedComments']['length']>0x0){const _0x11072d=_0x4af899[_0x1e14a4(0x1d3)]['map'](_0x7a72d3=>{const _0x47ccc5=_0x1e14a4,_0x50c9e5=new Date(_0x7a72d3[_0x47ccc5(0x220)])['toLocaleDateString'](_0x5b8ffd[_0x47ccc5(0x1d8)],{'month':_0x47ccc5(0x1a7),'day':_0x5b8ffd[_0x47ccc5(0x21d)]}),_0x23cc22=_0x7a72d3[_0x47ccc5(0x19d)]||_0x7a72d3['authorEmail']||_0x5b8ffd[_0x47ccc5(0x1f0)],_0x12b81a=_0x7a72d3['domRef']?_0x47ccc5(0x1b9)+(_0x7a72d3['domRef'][_0x47ccc5(0x1c0)]['split']('\x20>\x20')['pop']()?.[_0x47ccc5(0x1d9)](':')[0x0]||_0x47ccc5(0x1eb))+'>\x20\x22'+(_0x7a72d3[_0x47ccc5(0x213)][_0x47ccc5(0x1c5)]||'')[_0x47ccc5(0x1de)](0x0,0x32)+'\x22)':'';return'-\x20['+_0x7a72d3['id']+']\x20**'+_0x23cc22+'**\x20('+_0x50c9e5+_0x47ccc5(0x1be)+_0x7a72d3[_0x47ccc5(0x1e5)]+'\x22'+_0x12b81a;})[_0x1e14a4(0x1f1)]('\x0a');_0x271601='\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'+_0x11072d;}const _0x369741=_0x4af899?.['canonicalFlow']?_0x1e14a4(0x1bf)+_0x4af899[_0x1e14a4(0x1a6)]:'',_0x51979d=_0x364bca?_0x1e14a4(0x1b2)+_0x23b797+_0x1e14a4(0x1ca):'CRITICAL\x20URL\x20REQUIREMENT:\x0aYour\x20base\x20URL\x20is:\x20'+_0x2f2ad7+'\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',_0x46f905=_0x2f2ad7?quoteShellArg(_0x2f2ad7):'',_0x54446b=_0x364bca?'##\x20Instructions\x0a1.\x20Use\x20Bash\x20plus\x20Playwright\x20CLI\x20only.\x20Do\x20NOT\x20call\x20MCP\x20browser\x20tools.\x0a2.\x20Start\x20by\x20running\x20`'+_0x3492cc+_0x1e14a4(0x20f)+_0x3492cc+'\x20tracing-start`,\x20then\x20`'+_0x3492cc+'\x20video-start`.\x0a3.\x20Save\x20every\x20snapshot\x20and\x20screenshot\x20under\x20`'+_0x2bacc1+_0x1e14a4(0x200)+_0x3492cc+_0x1e14a4(0x1f4)+_0x3e3ba6+_0x1e14a4(0x217)+_0x3492cc+'\x20screenshot\x20--filename\x20'+_0x4fc6b9+_0x1e14a4(0x1c7)+_0x3492cc+_0x1e14a4(0x1fc):'##\x20Instructions\x0a1.\x20Use\x20Bash\x20plus\x20Playwright\x20CLI\x20only.\x20Do\x20NOT\x20call\x20MCP\x20browser\x20tools.\x0a2.\x20Start\x20by\x20running\x20`'+_0x3492cc+_0x1e14a4(0x19f)+_0x46f905+'`,\x20then\x20`'+_0x3492cc+_0x1e14a4(0x19b)+_0x3492cc+'\x20video-start`.\x0a3.\x20Save\x20every\x20snapshot\x20and\x20screenshot\x20under\x20`'+_0x2bacc1+'`\x20using\x20absolute\x20paths\x20only.\x20Do\x20not\x20use\x20relative\x20filenames.\x0a4.\x20Take\x20a\x20snapshot\x20with\x20`'+_0x3492cc+_0x1e14a4(0x1f4)+_0x3e3ba6+_0x1e14a4(0x1ed)+_0x3492cc+_0x1e14a4(0x1e4)+_0x4fc6b9+'`\x20style\x20absolute\x20paths\x20at\x20key\x20moments.\x0a8.\x20If\x20you\x20need\x20waits\x20or\x20custom\x20assertions,\x20use\x20`'+_0x3492cc+'\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',_0xf3e2d2=_0x364bca?_0x1e14a4(0x1e6):_0x1e14a4(0x1ce),_0x56e811=_0x3c2113?_0x1e14a4(0x222)+_0x3c2113+'\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.':'';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'+_0x2b81e2['description']+_0xb3355a+_0x271601+_0x369741+_0x1e14a4(0x1e7)+_0x585f15+'\x0a\x0a'+_0x51979d+_0x56e811+'\x0a\x0a'+_0x54446b+_0x1e14a4(0x1d2)+_0x3492cc+'`\x0a\x0a-\x20Write\x20all\x20artifacts\x20under\x20`'+_0x2bacc1+_0x1e14a4(0x1b3)+_0x54e420+_0x1e14a4(0x1c6)+_0x42706c+'`\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`'+_0x2bacc1+_0x1e14a4(0x1dd)+_0x1d700b+'\x22,\x20\x22'+buildCliArtifactPath(_0x2bacc1,_0x5b8ffd['sflRl'])+'\x22,\x20\x22'+_0x5b8ffd[_0x1e14a4(0x1b0)](buildCliArtifactPath,_0x2bacc1,_0x1e14a4(0x208))+'\x22\x0a-\x20Number\x20prefixes\x20(01_,\x2002_,\x20etc.)\x20help\x20maintain\x20chronological\x20order\x0a-\x20For\x20KEY\x20MOMENTS\x20that\x20prove\x20the\x20scenario\x20is\x20complete,\x20prefix\x20with\x20\x22key_\x22:\x20\x22'+buildCliArtifactPath(_0x2bacc1,_0x5b8ffd['evHsT'])+_0x1e14a4(0x221)+_0xf3e2d2+_0x1e14a4(0x1fd);}function _0x4d8a(){const _0x328176=['GjCsW','QueZR','start\x20tracing','open','03_result-visible.png','SXEQR','session-recording.webm','[ranger-verification-agent]\x20','Ixphj','trackPhaseStart','playwright_cli_video_stop','\x20open`,\x20then\x20`','tool_failure','tab-new','wayhi','domRef','538518iIYPMq','539NQyUfa','values','`\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`','commandArgs','\x20tracing-start`\x0a3.\x20Run\x20`','name','PostToolUseFailure','14ZeMqvk','YfCZH','open\x20new\x20tab\x20','check','createdAt','\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','\x0a\x0a##\x20Authentication\x0aBEFORE\x20starting\x20the\x20verification\x20task,\x20you\x20MUST\x20authenticate\x20using\x20these\x20steps:\x0a','234960NHLfSW','trackPhaseEnd','tool_name','press','\x20tracing-start`,\x20then\x20`','02_learn-more.yml','authorName','qJlKP','\x20open\x20','SvWRO','trackPhaseError','jjsCU','ScFrQ','capture\x20step\x20`','xdGfo','canonicalFlow','short','PyRKm','`\x0a7.\x20Click\x20the\x20\x22Learn\x20More\x22\x20link\x20with\x20Playwright\x20CLI\x0a8.\x20Run\x20`','VlZVW','DQNAi','RQziX','match','press\x20','27RlenlU','NXqPc','keys','##\x20App\x20Context\x0aYou\x20are\x20connected\x20to\x20a\x20desktop\x20application\x20via\x20CDP\x20(Chrome\x20DevTools\x20Protocol)\x20at\x20','`\x0a-\x20`snapshot\x20--filename\x20','fill','MGFwZ','video-stop','stop\x20video\x20recording','`\x0a9.\x20Run\x20`','\x20(on\x20element:\x20<','snapshot','1760896sxRpbD','...','key_03_success-state.png','):\x20\x22','\x0a\x0a##\x20Expected\x20Flow\x20(from\x20previous\x20verification)\x0a','selector','capture\x20screenshot','open\x20browser','playwright-cli','\x5c$&','textContent','`\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','`\x20style\x20absolute\x20paths\x20at\x20key\x20moments.\x0a6.\x20If\x20you\x20need\x20waits\x20or\x20custom\x20assertions,\x20use\x20`','PLscJ','01_initial-state.png','.\x0aThis\x20is\x20NOT\x20a\x20web\x20app\x20—\x20there\x20is\x20no\x20URL\x20to\x20navigate\x20to.\x20The\x20app\x20is\x20already\x20running\x20and\x20connected.','length','02_state.yml','msOdI','\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.','bWbMJ','string','1382624SqecHs','\x0a\x0a##\x20Browser\x20Command\x20Reference\x0aUse\x20Bash\x20to\x20run\x20Playwright\x20CLI\x20commands\x20with\x20this\x20exact\x20prefix:\x0a`','unaddressedComments','replace','BcdIq','notes','01_mozilla-homepage.png','rfmyD','split','2333390dnHjnx','playwright_cli_tracing_stop','subcommand','`:\x20\x22','slice','LAcVn','`\x0a5.\x20Read\x20the\x20snapshot\x20file\x20to\x20find\x20the\x20\x22Learn\x20More\x22\x20link\x20reference\x0a6.\x20Run\x20`','log','\x20open\x20https://www.mozilla.org`\x0a2.\x20Run\x20`','02_button-clicked.png','\x20screenshot\x20--filename\x20','content','\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##\x20Task\x20to\x20Execute\x0a','QoBnT','select\x20tab\x20','stop\x20tracing','element','1918duGiQy','`\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`','get','PostToolUse','WLVJd','join','sort','click\x20','\x20snapshot\x20--filename\x20','qGzUO','wWDoI','102682VQpFqt','\x0a\x0a1.\x20Run\x20`','key_04_success-state.png','env','--filename=','\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','\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.','14286MOUdKW','USqsW','`\x20using\x20absolute\x20paths\x20only.\x20Do\x20not\x20use\x20relative\x20filenames.\x0a4.\x20Take\x20a\x20snapshot\x20with\x20`','Fefog','click','phase'];_0x4d8a=function(){return _0x328176;};return _0x4d8a();}export function summarizeVerifyFeatureCliCommandAvailability(_0x17bd2d){const _0x1f2bcc=_0x160c,_0x2d8312=[..._0x17bd2d[_0x1f2bcc(0x1b1)]()][_0x1f2bcc(0x1f2)]();let _0x4d9fb3=0x0;for(const _0x239787 of _0x17bd2d[_0x1f2bcc(0x216)]()){_0x4d9fb3+=_0x239787;}return{'cliCommandCount':_0x4d9fb3,'cliCommandsSeen':_0x2d8312,'noCliCommandsCalled':_0x4d9fb3===0x0};}export function createVerifyFeatureCliHooks(_0x148621){const _0x285e42=_0x160c,_0x4f4c07={'PyRKm':function(_0xca2cec,_0x5adf20){return _0xca2cec!==_0x5adf20;},'USqsW':function(_0x42fd12,_0x2b0c69){return _0x42fd12(_0x2b0c69);},'QueZR':function(_0x49feca,_0x264820){return _0x49feca+_0x264820;},'qGzUO':'tool_call','aPHIf':'playwright-cli','yGXxJ':'snapshot','vqCLf':function(_0x1e20ce,_0x316ef3){return _0x1e20ce!==_0x316ef3;},'bWbMJ':_0x285e42(0x210)},_0x3c73b3=new Map(),_0xe5e015=async _0x363e27=>{const _0x450bb3=_0x285e42;if(_0x363e27['hook_event_name']!==_0x450bb3(0x1ef))return{};const _0x3d3fed=_0x363e27;if(_0x4f4c07[_0x450bb3(0x1a8)](_0x3d3fed['tool_name'],'Bash'))return{};const _0x377aef=_0x3d3fed['tool_input'],_0x553203=_0x4f4c07[_0x450bb3(0x1ff)](extractBashCommand,_0x377aef);if(!_0x553203)return{};const _0x28f39c=parsePlaywrightCliCommand(_0x553203);if(!_0x28f39c)return{};return _0x3c73b3['set'](_0x28f39c,_0x4f4c07[_0x450bb3(0x205)](_0x3c73b3[_0x450bb3(0x1ee)](_0x28f39c)||0x0,0x1)),_0x148621['trackPhaseStart'](_0x4f4c07[_0x450bb3(0x1f5)],{'transport':_0x4f4c07['aPHIf'],'toolName':_0x28f39c}),_0x148621['trackPhaseEnd'](_0x4f4c07[_0x450bb3(0x1f5)],{'transport':_0x4f4c07['aPHIf'],'toolName':_0x28f39c,'bashCommandPreview':_0x4f4c07['USqsW'](truncatePreview,_0x553203)}),_0x28f39c!==_0x4f4c07['yGXxJ']&&console[_0x450bb3(0x1e1)](formatPlaywrightCliConsoleLogMessage(_0x377aef,_0x553203,_0x28f39c)),{};},_0x5f461a=async _0x204bd7=>{const _0x3e05a0=_0x285e42;if(_0x4f4c07['vqCLf'](_0x204bd7['hook_event_name'],_0x3e05a0(0x21b)))return{};const _0x2b52ff=_0x204bd7;if(_0x4f4c07['vqCLf'](_0x2b52ff[_0x3e05a0(0x199)],'Bash'))return{};return await _0x148621['trackPhaseError'](_0x4f4c07[_0x3e05a0(0x1cf)],_0x2b52ff['error'],{'transport':_0x3e05a0(0x1c3),'toolName':'Bash'}),{};};return{'postToolUseHook':_0xe5e015,'postToolUseFailureHook':_0x5f461a,'commandCounts':_0x3c73b3};}async function runPlaywrightCliLifecycleCommand(_0x51fc82){const _0x532467=_0x160c,_0x4b3822={'SXEQR':function(_0x154831,_0xf9c36c,_0x1f6371){return _0x154831(_0xf9c36c,_0x1f6371);}},{sessionId:_0x57f9a3,configPath:_0x248301,commandArgs:_0x50ef83,env:_0x1980d5,telemetry:_0x2c7824,phase:_0x57c899,metadata:_0x2011e9,timeoutMs:_0x46f225}=_0x51fc82;_0x2c7824[_0x532467(0x20d)](_0x57c899,_0x2011e9);try{const _0x2ebc1d=await runPlaywrightCliCommand({'sessionId':_0x57f9a3,'configPath':_0x248301,'commandArgs':_0x50ef83,'cwd':process['cwd'](),'env':_0x1980d5,'timeoutMs':_0x46f225??PLAYWRIGHT_CLI_COMMAND_TIMEOUT_MS});_0x2c7824[_0x532467(0x224)](_0x57c899,{..._0x2011e9,'subcommand':_0x2ebc1d['invocation'][_0x532467(0x1dc)],'stdoutPreview':truncatePreview(_0x2ebc1d['stdout'],0x7d0),'stderrPreview':_0x4b3822[_0x532467(0x209)](truncatePreview,_0x2ebc1d['stderr'],0x7d0)});}catch(_0x189807){await _0x2c7824[_0x532467(0x1a1)](_0x57c899,_0x189807,_0x2011e9);throw _0x189807;}}export async function finalizeVerifyFeatureCliSession(_0x37c33a){const _0x5ded16=_0x160c,_0x263544={'RvnNy':_0x5ded16(0x1db),'oOXUx':'tracing-stop','GjCsW':'video-stop','qSRba':function(_0x60a9a7,_0x189838,_0x3b1a56){return _0x60a9a7(_0x189838,_0x3b1a56);},'rpGSn':_0x5ded16(0x20a),'IYZcq':'playwright_cli_close'},{telemetry:_0x3cf9c9,sessionId:_0x4e608a,configPath:_0x4ae3ec,cliArtifactDir:_0x90c9d4,env:_0x3b1dba,transportMetadata:_0x4d2d36}=_0x37c33a,_0x1ec01e=[{'phase':_0x263544['RvnNy'],'commandArgs':[_0x263544['oOXUx']]},{'phase':_0x5ded16(0x20e),'commandArgs':[_0x263544[_0x5ded16(0x204)],_0x5ded16(0x1fb)+_0x263544['qSRba'](buildCliArtifactPath,_0x90c9d4,_0x263544['rpGSn'])]},{'phase':_0x263544['IYZcq'],'commandArgs':['close']}];for(const _0x442471 of _0x1ec01e){try{await runPlaywrightCliLifecycleCommand({'sessionId':_0x4e608a,'configPath':_0x4ae3ec,'commandArgs':[..._0x442471[_0x5ded16(0x218)]],'env':_0x3b1dba,'telemetry':_0x3cf9c9,'phase':_0x442471[_0x5ded16(0x203)],'metadata':_0x4d2d36});}catch{}}}export async function loadVerifyFeatureCliTraceUploadArtifact(_0x397d6a){const _0x2a247b=_0x160c,_0x48063a={'jjsCU':function(_0x3a1d4f,_0x35adf5,_0x527037){return _0x3a1d4f(_0x35adf5,_0x527037);},'mmvKB':function(_0x4a03b9,_0x105aa0){return _0x4a03b9(_0x105aa0);}},_0x49987d=['trace.zip','trace.trace.zip'];for(const _0x3e52b7 of _0x49987d){const _0x12ab4c=_0x48063a[_0x2a247b(0x1a2)](join,_0x397d6a,_0x3e52b7);try{return{'buffer':await _0x48063a['mmvKB'](readFile,_0x12ab4c),'source':_0x12ab4c};}catch{}}return null;}export async function rehomeVerifyFeatureCliArtifacts(_0x579e81){const _0x4c185f=_0x160c,_0x1ce240={'WTnQH':function(_0x4a52a4,_0x5cbdb0,_0x46ab21){return _0x4a52a4(_0x5cbdb0,_0x46ab21);},'NTxrd':function(_0x495e71,_0x4109d1){return _0x495e71===_0x4109d1;}},{cwd:_0x2abd19,cliArtifactDir:_0x50a512,startTime:_0x5b62a9}=_0x579e81,_0x477040=[];await _0x1ce240['WTnQH'](mkdir,_0x50a512,{'recursive':!![]});const _0x19065d=await readdir(_0x2abd19,{'withFileTypes':!![]});for(const _0x10f1c1 of _0x19065d){if(!_0x10f1c1['isFile']()||!VERIFY_FEATURE_CLI_ARTIFACT_FILE_PATTERN['test'](_0x10f1c1[_0x4c185f(0x21a)]))continue;const _0xb8a77d=join(_0x2abd19,_0x10f1c1['name']),_0x2f391c=await stat(_0xb8a77d);if(_0x2f391c['mtimeMs']+0x7d0<_0x5b62a9)continue;const _0x39eb30=buildCliArtifactPath(_0x50a512,_0x10f1c1['name']);if(_0x1ce240['NTxrd'](_0xb8a77d,_0x39eb30))continue;await _0x1ce240['WTnQH'](rename,_0xb8a77d,_0x39eb30),_0x477040['push'](_0x10f1c1[_0x4c185f(0x21a)]);}return _0x477040[_0x4c185f(0x1f2)]();}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const _0x3bf4d7=_0x13ae;(function(_0x119f2e,_0xb9adbd){const _0x10d715=_0x13ae,_0xfe3a5f=_0x119f2e();while(!![]){try{const _0x57cf6c=parseInt(_0x10d715(0x256))/0x1*(-parseInt(_0x10d715(0x1a4))/0x2)+parseInt(_0x10d715(0x205))/0x3*(-parseInt(_0x10d715(0x260))/0x4)+-parseInt(_0x10d715(0x218))/0x5+-parseInt(_0x10d715(0x21f))/0x6*(parseInt(_0x10d715(0x212))/0x7)+parseInt(_0x10d715(0x243))/0x8+-parseInt(_0x10d715(0x200))/0x9+parseInt(_0x10d715(0x24b))/0xa*(parseInt(_0x10d715(0x1a5))/0xb);if(_0x57cf6c===_0xb9adbd)break;else _0xfe3a5f['push'](_0xfe3a5f['shift']());}catch(_0x45f652){_0xfe3a5f['push'](_0xfe3a5f['shift']());}}}(_0x2435,0x354c7));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',_0x3bf4d7(0x1d4),_0x3bf4d7(0x199),_0x3bf4d7(0x1fd),'wait-for','snapshot','screenshot']),execFileAsync=promisify(execFile);function buildCliArtifactPath(_0x3ba218,_0x14c30b){const _0x47f9c3=_0x3bf4d7,_0x39096a={'wktqb':function(_0x2ab875,_0x5d0e09,_0x2a7be1){return _0x2ab875(_0x5d0e09,_0x2a7be1);}};return _0x39096a[_0x47f9c3(0x198)](join,_0x3ba218,_0x14c30b);}function _0x2435(){const _0x1868b4=['EZuBp','2643UjBNaZ','getFrameDir','close','locator','state','vCHAh','PHDlK','replace','FxWJY','nova-user-data/*','8blwsrX','-loglevel','TZbNk','join','--report','send','.json','test','stopScreencast','`\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.','domRef','sessionId','Unable\x20to\x20read\x20Nova\x20session\x20metadata\x20at\x20','startAttempted','frameCount','wfgiV','contexts','phase','nova_act_artifact_recording','TXiLB','tracingStarted','ioAaX','catch','cwd','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.','wktqb','ask','name','\x0a\x0aExamples:\x0a-\x20`','authorEmail','ffmpeg-linux','Page.screencastFrameAck','wWJJJ','utf-8','CIESL','browser_pid','JfhaB','30cHsyHA','33CHXDyF','tool_name','session\x20create','WnLMe','PYVmE','toLocaleDateString','GfRYt','shNZJ','XDJXE','FyrqQ','evaluate','session','\x20session\x20create\x20','-framerate','Do\x20not\x20run\x20Nova\x20help,\x20doctor,\x20script,\x20session\x20list,\x20session\x20export,\x20or\x20session\x20close\x20commands\x20during\x20verification.','occQA','invocation','navigate\x20browser','trace.zip','capture\x20snapshot\x20`','jLmJt','stopped','\x0a\x0a##\x20Authentication\x0aBEFORE\x20starting\x20the\x20verification\x20task,\x20authenticate\x20using\x20these\x20steps:\x0a','zqjbf','error','eWMRL','wLzOX','eaxKL','`\x0a-\x20`','-c:v','`\x0a7.\x20Return\x20immediately\x20with\x20the\x20structured\x20output.\x0a\x0aSave\x20every\x20artifact\x20under\x20`','GzPMH','pop','01_initial-state.png','browser','`.\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`','PostToolUse','YbwcL','nova_act_command','UNYzw','ms-playwright','`\x0a4.\x20Run\x20one\x20batched\x20`','dXbxC','mgGZt','Tcptn','frameSession','execute\x20Nova\x20browser\x20action','verify','vQUAN','02_final-state.yml','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','RkVqV','\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','hook_event_name','traceSampleInFlight','tracing','cliArtifactDir','trim','reverse','Brsng','libvpx-vp9','00_initial-state.yml','ask\x20page\x20question','stopTraceSampling','captureTraceSample','capture\x20screenshot','HbBpt','\x20snapshot\x20--output\x20','now','key_final-state.png','screencastStarted','Caches','context','split','capture\x20key\x20step\x20`','-vf','stderr','\x20verify\x20\x22The\x20Billing\x20page\x20is\x20visible\x20and\x20shows\x20the\x20current\x20plan.\x22\x20','match','Page.screencastFrame','nova_act_artifact_recording_stop','start','capture\x20snapshot','SeuZA','TEGeS','novaOptions','sort','Bash','goto','--output','`.\x0a4.\x20Save\x20every\x20snapshot\x20and\x20screenshot\x20under\x20`','1713582QPEWyP','trackPhaseEnd','UNxbY','jwfPD','json','475899OqNsWi','frameWrites','description','`\x20is\x20reserved\x20for\x20the\x20host.\x20Use\x20only\x20session\x20create,\x20execute,\x20verify,\x20ask,\x20goto,\x20wait-for,\x20snapshot,\x20and\x20screenshot.','\x20screenshot\x20--output\x20','TeNNX','wait-for','SXOqD','-pix_fmt','uIqFD','nova-artifacts.zip','traceSampleCount','pufrM','703143feqaGK','fpUyc','telemetry','block','VQagz','Append\x20this\x20option\x20suffix\x20to\x20every\x20browser\x20command\x20unless\x20the\x20host\x20gives\x20a\x20more\x20specific\x20example:\x0a','730840LYcAHy','export','capture\x20step\x20`','YePhW','subcommand','aMlLy','connectOverCDP','6xGSfCE','zip','TCwFQ','nova-report','nova-session-export.json','encodeScreencastVideo','commandArgs','\x20execute\x20\x221.\x20Open\x20the\x20account\x20settings\x20menu.\x202.\x20Click\x20Billing.\x203.\x20Wait\x20for\x20the\x20Billing\x20page\x20to\x20load.\x22\x20','cKrYu','nova_act_final_screenshot','KtoZQ','trackPhaseStart','params','short','pages','canonicalFlow','createdAt','data','\x20execute\x20\x22...\x22`\x20command\x20to\x20exercise\x20the\x20current\x20page.\x0a5.\x20Run\x20`','notes','nova_act_final_snapshot','en-US','stdout','tool_input','edZDj','content','stop','VEoDs','padStart','frame-','screenshot','bhUkW','snapshot','tcXqG','unaddressedComments','-version','862352SAKjby','bsykY','\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`','queueTraceSample','mmYOY','push','startScreencast','PostToolUseFailure','3014810DBjpSp','cUGdy','.act_cli','Lgppe','map','jpeg','trackPhaseError','PreToolUse','Page.startScreencast','cdp_endpoint'];_0x2435=function(){return _0x1868b4;};return _0x2435();}export class NovaActArtifactRecorder{['params'];['browser']=null;['context']=null;[_0x3bf4d7(0x1d2)]=null;[_0x3bf4d7(0x206)]=[];[_0x3bf4d7(0x18c)]=0x0;[_0x3bf4d7(0x210)]=0x0;['traceSampleTimer']=null;['traceSampleInFlight']=null;[_0x3bf4d7(0x192)]=![];['screencastStarted']=![];['startAttempted']=![];['stopped']=![];constructor(_0x34ca6e){const _0x996dac=_0x3bf4d7;this[_0x996dac(0x22b)]=_0x34ca6e;}async['start'](){const _0x125aeb=_0x3bf4d7,_0x5d3742={'vQUAN':function(_0x263063,_0x3a8493,_0x321781){return _0x263063(_0x3a8493,_0x321781);},'AIxUm':_0x125aeb(0x190)};if(this['startAttempted'])return;this[_0x125aeb(0x18b)]=!![];const _0x56fde7=await this['readSessionMetadataWithRetry'](),_0x1c5e68=_0x56fde7[_0x125aeb(0x254)];if(!_0x1c5e68)throw new Error('Nova\x20session\x20metadata\x20did\x20not\x20include\x20cdp_endpoint\x20for\x20'+this['params'][_0x125aeb(0x1fa)][_0x125aeb(0x189)]);await _0x5d3742[_0x125aeb(0x1d5)](mkdir,this['params']['cliArtifactDir'],{'recursive':!![]}),this[_0x125aeb(0x1c7)]=await chromium[_0x125aeb(0x21e)](_0x1c5e68,{'timeout':NOVA_ARTIFACT_CDP_CONNECT_TIMEOUT_MS}),this['context']=this[_0x125aeb(0x1c7)][_0x125aeb(0x18e)]()[0x0]??null;if(!this['context'])throw new Error('Nova\x20CDP\x20connection\x20did\x20not\x20expose\x20a\x20browser\x20context');await this[_0x125aeb(0x1ed)]['tracing']['start']({'screenshots':!![],'snapshots':!![],'sources':!![]}),this['tracingStarted']=!![],this['startTraceSampling'](),await this['startScreencast'](),this['params'][_0x125aeb(0x214)][_0x125aeb(0x22a)]('nova_act_artifact_recording',{...this[_0x125aeb(0x22b)][_0x125aeb(0x196)],'cdpEndpoint':_0x1c5e68,'browserPid':_0x56fde7[_0x125aeb(0x1a2)],'sessionState':_0x56fde7[_0x125aeb(0x25a)]}),this[_0x125aeb(0x22b)][_0x125aeb(0x214)][_0x125aeb(0x201)](_0x5d3742['AIxUm'],{...this[_0x125aeb(0x22b)][_0x125aeb(0x196)],'tracingStarted':this['tracingStarted'],'screencastStarted':this[_0x125aeb(0x1eb)]});}async[_0x3bf4d7(0x239)](){const _0x3a482a=_0x3bf4d7,_0x5a81a8={'vswDX':function(_0x3516fc,_0x4a37ad,_0x3e18bf){return _0x3516fc(_0x4a37ad,_0x3e18bf);},'edZDj':_0x3a482a(0x1b7),'wWJJJ':_0x3a482a(0x1f5)};if(this[_0x3a482a(0x1ba)])return;this[_0x3a482a(0x1ba)]=!![];const _0x2e9f7a={...this['params'][_0x3a482a(0x196)],'frameCount':this['frameCount'],'traceSampleCount':this['traceSampleCount'],'tracingStarted':this['tracingStarted'],'screencastStarted':this['screencastStarted']};this[_0x3a482a(0x22b)][_0x3a482a(0x214)]['trackPhaseStart'](_0x3a482a(0x1f5),_0x2e9f7a);try{await this[_0x3a482a(0x1e4)](),await this['captureTraceSample'](),await this[_0x3a482a(0x186)](),await Promise['allSettled'](this['frameWrites']);this[_0x3a482a(0x1ed)]&&this[_0x3a482a(0x192)]&&await this[_0x3a482a(0x1ed)][_0x3a482a(0x1dc)]['stop']({'path':_0x5a81a8['vswDX'](buildCliArtifactPath,this['params'][_0x3a482a(0x1dd)],_0x5a81a8[_0x3a482a(0x237)])});const _0xd0a9e7=await this[_0x3a482a(0x224)]();this[_0x3a482a(0x22b)]['telemetry']['trackPhaseEnd'](_0x5a81a8[_0x3a482a(0x19f)],{..._0x2e9f7a,'videoPath':_0xd0a9e7});}catch(_0x4f028a){await this['params'][_0x3a482a(0x214)][_0x3a482a(0x251)](_0x3a482a(0x1f5),_0x4f028a,_0x2e9f7a);}finally{await this['browser']?.[_0x3a482a(0x258)]()['catch'](()=>undefined),this['browser']=null,this[_0x3a482a(0x1ed)]=null,this[_0x3a482a(0x1d2)]=null;}}async['readSessionMetadataWithRetry'](){const _0x35c903=_0x3bf4d7,_0x918ec2={'PoIvT':function(_0x1cf023,_0x598b64,_0x46b90a,_0x2c30e1,_0x34ced3,_0x38dc50){return _0x1cf023(_0x598b64,_0x46b90a,_0x2c30e1,_0x34ced3,_0x38dc50);},'GzPMH':function(_0x26ad63){return _0x26ad63();},'TEGeS':_0x35c903(0x24d),'WnLMe':'sessions','TxdFV':function(_0x39e314,_0x4f2b0f,_0x4aeaf0){return _0x39e314(_0x4f2b0f,_0x4aeaf0);},'ioAaX':_0x35c903(0x1a0),'qYFoI':function(_0xb8bab3,_0x487558){return _0xb8bab3(_0x487558);},'Tcptn':function(_0x5aeacf,_0x343b7){return _0x5aeacf<_0x343b7;},'TCwFQ':function(_0x2455d8,_0x1823b3){return _0x2455d8-_0x1823b3;}},_0x521da5=_0x918ec2['PoIvT'](join,_0x918ec2[_0x35c903(0x1c4)](homedir),_0x918ec2[_0x35c903(0x1f9)],_0x35c903(0x1c7),_0x918ec2[_0x35c903(0x1a8)],this['params']['novaOptions']['sessionId']+_0x35c903(0x184)),_0xfa8287=Date['now']();let _0x186061;do{try{const _0xa73181=JSON['parse'](await _0x918ec2['TxdFV'](readFile,_0x521da5,_0x918ec2[_0x35c903(0x193)]));if(_0xa73181[_0x35c903(0x254)])return _0xa73181;_0x186061=new Error('Nova\x20metadata\x20missing\x20cdp_endpoint\x20at\x20'+_0x521da5);}catch(_0x302895){_0x186061=_0x302895;}await _0x918ec2['qYFoI'](delay,0x64);}while(_0x918ec2[_0x35c903(0x1d1)](_0x918ec2[_0x35c903(0x221)](Date[_0x35c903(0x1e9)](),_0xfa8287),NOVA_ARTIFACT_METADATA_WAIT_MS));if(_0x186061 instanceof Error)throw _0x186061;throw new Error(_0x35c903(0x18a)+_0x521da5);}async[_0x3bf4d7(0x249)](){const _0x188a6c=_0x3bf4d7,_0xc9487f={'mmYOY':function(_0x2d0f0d,_0x17ab32){return _0x2d0f0d(_0x17ab32);},'uijYb':_0x188a6c(0x253)};if(!this[_0x188a6c(0x1ed)])return;const _0x29fa2b=this['context'][_0x188a6c(0x22d)]()[0x0];if(!_0x29fa2b)return;const _0x26b387=this['getFrameDir']();await mkdir(_0x26b387,{'recursive':!![]});const _0x1dbb70=await this['context']['newCDPSession'](_0x29fa2b);this[_0x188a6c(0x1d2)]=_0x1dbb70,_0x1dbb70['on'](_0x188a6c(0x1f4),_0xaf7b18=>{const _0xaa0d9a=_0x188a6c,_0x4306e4=++this['frameCount'],_0x20836d=join(_0x26b387,_0xaa0d9a(0x23c)+_0xc9487f[_0xaa0d9a(0x247)](String,_0x4306e4)[_0xaa0d9a(0x23b)](0x6,'0')+'.jpg'),_0x1dbaf4=writeFile(_0x20836d,Buffer['from'](_0xaf7b18[_0xaa0d9a(0x230)],'base64'))['catch'](()=>undefined)['finally'](()=>_0x1dbb70['send'](_0xaa0d9a(0x19e),{'sessionId':_0xaf7b18['sessionId']}))['then'](()=>undefined)[_0xaa0d9a(0x194)](()=>undefined);this[_0xaa0d9a(0x206)][_0xaa0d9a(0x248)](_0x1dbaf4);}),await _0x1dbb70['send'](_0xc9487f['uijYb'],{'format':_0x188a6c(0x250),'quality':0x4b,'everyNthFrame':0x6}),this[_0x188a6c(0x1eb)]=!![];}async['stopScreencast'](){const _0x1b47b5=_0x3bf4d7,_0x1cfe90={'EbmoN':'Page.stopScreencast'};if(!this['frameSession']||!this['screencastStarted'])return;await this['frameSession'][_0x1b47b5(0x183)](_0x1cfe90['EbmoN'])[_0x1b47b5(0x194)](()=>undefined);}['startTraceSampling'](){const _0x20f76a=_0x3bf4d7;this[_0x20f76a(0x246)](),this['traceSampleTimer']=setInterval(()=>this['queueTraceSample'](),NOVA_ARTIFACT_TRACE_SAMPLE_INTERVAL_MS);}[_0x3bf4d7(0x246)](){const _0x571cdf=_0x3bf4d7;if(this[_0x571cdf(0x1db)])return;this[_0x571cdf(0x1db)]=this[_0x571cdf(0x1e5)]()['finally'](()=>{this['traceSampleInFlight']=null;});}async[_0x3bf4d7(0x1e4)](){const _0x46afb0=_0x3bf4d7;this['traceSampleTimer']&&(clearInterval(this['traceSampleTimer']),this['traceSampleTimer']=null),await this[_0x46afb0(0x1db)]?.[_0x46afb0(0x194)](()=>undefined);}async['captureTraceSample'](){const _0x3b0281=_0x3bf4d7,_0x2a1906=this[_0x3b0281(0x1ed)]?.[_0x3b0281(0x22d)]()[0x0];if(!_0x2a1906)return;try{await _0x2a1906[_0x3b0281(0x259)]('body')[_0x3b0281(0x1af)](_0x459105=>_0x459105['tagName'],undefined,{'timeout':0x3e8}),this['traceSampleCount']++;}catch{}}async[_0x3bf4d7(0x224)](){const _0xaebe14=_0x3bf4d7,_0x4d0e7a={'tcXqG':function(_0x21ddd9,_0x483a7a){return _0x21ddd9<_0x483a7a;},'FxWJY':function(_0x9f38d0,_0x192ca0,_0x958fe8){return _0x9f38d0(_0x192ca0,_0x958fe8);},'DGlQF':function(_0x11f555,_0x595b9e,_0x13d1b9){return _0x11f555(_0x595b9e,_0x13d1b9);},'hHprH':function(_0x190b1b,_0x3a184a,_0x392598){return _0x190b1b(_0x3a184a,_0x392598);},'TZbNk':'session-recording.webm','NFpAa':'-hide_banner','wfgiV':_0xaebe14(0x261),'eMgYC':_0xaebe14(0x1bd),'eWMRL':_0xaebe14(0x1b2),'Brsng':'scale=trunc(iw/2)*2:trunc(ih/2)*2','xGRga':_0xaebe14(0x1e1),'mgGZt':_0xaebe14(0x20d)};if(_0x4d0e7a[_0xaebe14(0x240)](this[_0xaebe14(0x18c)],0x2))return null;const _0x5f400a=await resolveFfmpegPath();if(!_0x5f400a)return null;const _0x571163=_0x4d0e7a[_0xaebe14(0x25e)](join,this[_0xaebe14(0x22b)][_0xaebe14(0x1dd)],'videos');await _0x4d0e7a['DGlQF'](mkdir,_0x571163,{'recursive':!![]});const _0x26616c=_0x4d0e7a['hHprH'](join,_0x571163,_0x4d0e7a[_0xaebe14(0x262)]);return await execFileAsync(_0x5f400a,['-y',_0x4d0e7a['NFpAa'],_0x4d0e7a[_0xaebe14(0x18d)],_0x4d0e7a['eMgYC'],_0x4d0e7a[_0xaebe14(0x1be)],'10','-i',join(this['getFrameDir'](),'frame-%06d.jpg'),_0xaebe14(0x1f0),_0x4d0e7a[_0xaebe14(0x1e0)],_0xaebe14(0x1c2),_0x4d0e7a['xGRga'],_0x4d0e7a[_0xaebe14(0x1d0)],'yuv420p',_0x26616c]),_0x26616c;}[_0x3bf4d7(0x257)](){const _0xbe5510=_0x3bf4d7,_0x305cc8={'VQagz':function(_0x548e1e,_0x4cda84,_0x36dd97){return _0x548e1e(_0x4cda84,_0x36dd97);}};return _0x305cc8[_0xbe5510(0x216)](join,this['params'][_0xbe5510(0x1dd)],'nova-video-frames');}}async function delay(_0x55eddb){await new Promise(_0x16d8f0=>setTimeout(_0x16d8f0,_0x55eddb));}function _0x13ae(_0x298afa,_0x565a5a){_0x298afa=_0x298afa-0x181;const _0x2435d7=_0x2435();let _0x13aecc=_0x2435d7[_0x298afa];return _0x13aecc;}async function resolveFfmpegPath(){const _0x2c549a=_0x3bf4d7,_0x1e458e={'EZuBp':function(_0x3dde8e,_0x27c9dc){return _0x3dde8e(_0x27c9dc);},'mSDhH':_0x2c549a(0x1ec),'Lgppe':function(_0x3dbe8a,_0x22c269,_0xb8cbae,_0x29e63a){return _0x3dbe8a(_0x22c269,_0xb8cbae,_0x29e63a);},'uIqFD':function(_0x1652e6){return _0x1652e6();},'aMlLy':'.cache','PHDlK':_0x2c549a(0x1cd)};if(await _0x1e458e['EZuBp'](canRunFfmpeg,'ffmpeg'))return'ffmpeg';const _0x3fd3bb=[join(homedir(),'Library',_0x1e458e['mSDhH'],_0x2c549a(0x1cd)),_0x1e458e[_0x2c549a(0x24e)](join,_0x1e458e[_0x2c549a(0x20e)](homedir),_0x1e458e[_0x2c549a(0x21d)],_0x1e458e[_0x2c549a(0x25c)])];for(const _0x3cc90d of _0x3fd3bb){try{const _0x3147c6=await _0x1e458e[_0x2c549a(0x255)](readdir,_0x3cc90d),_0x1d5687=_0x3147c6['filter'](_0x575e72=>_0x575e72['startsWith']('ffmpeg-'))[_0x2c549a(0x1fb)]()[_0x2c549a(0x1df)]()['flatMap'](_0x2b81ec=>[join(_0x3cc90d,_0x2b81ec,'ffmpeg-mac'),join(_0x3cc90d,_0x2b81ec,_0x2c549a(0x19d)),join(_0x3cc90d,_0x2b81ec,'ffmpeg.exe')]);for(const _0x2057a4 of _0x1d5687){if(await canRunFfmpeg(_0x2057a4))return _0x2057a4;}}catch{}}return null;}async function canRunFfmpeg(_0x77e673){const _0x4d4b46=_0x3bf4d7,_0x39ed8c={'ziJxe':function(_0x5a3a2a,_0x5c0577,_0x22098b){return _0x5a3a2a(_0x5c0577,_0x22098b);}};try{return await _0x39ed8c['ziJxe'](execFileAsync,_0x77e673,[_0x4d4b46(0x242)]),!![];}catch{return![];}}function toStepDisplayName(_0x3d8322){const _0x426d29=_0x3bf4d7,_0x4888df=basename(_0x3d8322)['replace'](/\.(?:png|ya?ml)$/i,'')[_0x426d29(0x25d)](/^key_/i,'')[_0x426d29(0x25d)](/^\d+_/,'')['replace'](/-/g,'\x20');return{'name':_0x4888df,'isKeyStep':/^key_/i[_0x426d29(0x185)](basename(_0x3d8322))};}function extractShellValue(_0x4d8c18){if(!_0x4d8c18)return null;return _0x4d8c18[0x1]??_0x4d8c18[0x2]??_0x4d8c18[0x3]??null;}function extractOutputOption(_0x3b2788){const _0x21b413=_0x3bf4d7,_0x1142a6={'YePhW':function(_0x5c4b6f,_0x140990){return _0x5c4b6f(_0x140990);}};return _0x1142a6[_0x21b413(0x21b)](extractShellValue,_0x3b2788[_0x21b413(0x1f3)](/--output(?:=|\s+)(?:"([^"]+)"|'([^']+)'|(\S+))/));}function formatNovaActCliLog(_0x3eb5d7,_0x379c7f){const _0x4e661e=_0x3bf4d7,_0x47abea={'qyGkv':'session\x20create','knUOu':'execute','SeuZA':_0x4e661e(0x1d3),'bhUkW':'verify\x20page\x20condition','XXSrV':'goto','RkVqV':_0x4e661e(0x20b),'mwvfU':_0x4e661e(0x23f),'dXbxC':_0x4e661e(0x1f7),'YbwcL':function(_0x50a208,_0x3662f1){return _0x50a208(_0x3662f1);},'yWdiU':_0x4e661e(0x23d)};switch(_0x379c7f){case _0x47abea['qyGkv']:return'create\x20Nova\x20browser\x20session';case _0x47abea['knUOu']:return _0x47abea[_0x4e661e(0x1f8)];case'verify':return _0x47abea[_0x4e661e(0x23e)];case _0x4e661e(0x199):return _0x4e661e(0x1e3);case _0x47abea['XXSrV']:return _0x4e661e(0x1b6);case _0x47abea[_0x4e661e(0x1d8)]:return'wait\x20for\x20page\x20condition';case _0x47abea['mwvfU']:{const _0x257d78=extractOutputOption(_0x3eb5d7);if(!_0x257d78)return _0x47abea[_0x4e661e(0x1cf)];const {name:_0x3716e9}=_0x47abea[_0x4e661e(0x1ca)](toStepDisplayName,_0x257d78);return _0x4e661e(0x1b8)+_0x3716e9+'`';}case _0x47abea['yWdiU']:{const _0x144a53=extractOutputOption(_0x3eb5d7);if(!_0x144a53)return _0x4e661e(0x1e6);const {name:_0x13addb,isKeyStep:_0x15c2d2}=_0x47abea[_0x4e661e(0x1ca)](toStepDisplayName,_0x144a53);return _0x15c2d2?_0x4e661e(0x1ef)+_0x13addb+'`':_0x4e661e(0x21a)+_0x13addb+'`';}case'session\x20export':return'export\x20Nova\x20session';default:return _0x379c7f;}}function getNovaActCliCommandBlockReason(_0x3337e1){const _0x57b241=_0x3bf4d7,_0x1c2d6c={'mBeVe':function(_0x33abc1,_0x1f577f){return _0x33abc1(_0x1f577f);},'cKrYu':'Use\x20only\x20the\x20provided\x20Nova\x20browser\x20command\x20prefix\x20for\x20browser\x20verification.\x20Do\x20not\x20inspect\x20setup,\x20credentials,\x20files,\x20or\x20the\x20local\x20environment.','XlXQY':function(_0x7b44f9,_0x2585be){return _0x7b44f9===_0x2585be;},'BkGSn':_0x57b241(0x1b3)},_0x45c62a=_0x1c2d6c['mBeVe'](parseNovaActCliCommand,_0x3337e1);if(!_0x45c62a)return _0x1c2d6c[_0x57b241(0x227)];if(!NOVA_ACT_ALLOWED_AGENT_COMMANDS['has'](_0x45c62a))return'Nova\x20command\x20`'+_0x45c62a+_0x57b241(0x208);if(_0x1c2d6c['XlXQY'](_0x45c62a,'verify')&&/\b(?:previously visited|visited pages|pages visited|at least one of the pages visited)\b/i[_0x57b241(0x185)](_0x3337e1))return _0x57b241(0x197);if(/\s--help\b|\bdoctor\b|\bscript\b|\bsession\s+(?:close|list|export)\b/[_0x57b241(0x185)](_0x3337e1))return _0x1c2d6c['BkGSn'];return null;}function buildFeedbackSection(_0x258a03){const _0x367fae=_0x3bf4d7,_0x181a10={'UNYzw':_0x367fae(0x234),'SqunT':_0x367fae(0x22c),'BUeAr':'numeric','cUGdy':'Reviewer','TXiLB':'\x20>\x20','vCHAh':'element','XDJXE':function(_0x442b3b,_0xb9a97b){return _0x442b3b===_0xb9a97b;}};if(!_0x258a03||_0x181a10[_0x367fae(0x1ad)](_0x258a03[_0x367fae(0x241)]['length'],0x0))return'';const _0x528501=_0x258a03[_0x367fae(0x241)][_0x367fae(0x24f)](_0x21f10e=>{const _0xb9aad1=_0x367fae,_0x50ca1b=new Date(_0x21f10e[_0xb9aad1(0x22f)])[_0xb9aad1(0x1aa)](_0x181a10[_0xb9aad1(0x1cc)],{'month':_0x181a10['SqunT'],'day':_0x181a10['BUeAr']}),_0x556b51=_0x21f10e['authorName']||_0x21f10e[_0xb9aad1(0x19c)]||_0x181a10[_0xb9aad1(0x24c)],_0x5c2828=_0x21f10e[_0xb9aad1(0x188)]?'\x20(on\x20element:\x20<'+(_0x21f10e['domRef']['selector'][_0xb9aad1(0x1ee)](_0x181a10[_0xb9aad1(0x191)])[_0xb9aad1(0x1c5)]()?.[_0xb9aad1(0x1ee)](':')[0x0]||_0x181a10[_0xb9aad1(0x25b)])+'>\x20\x22'+(_0x21f10e['domRef']['textContent']||'')['slice'](0x0,0x32)+'\x22)':'';return'-\x20['+_0x21f10e['id']+']\x20**'+_0x556b51+'**\x20('+_0x50ca1b+'):\x20\x22'+_0x21f10e[_0xb9aad1(0x238)]+'\x22'+_0x5c2828;})[_0x367fae(0x181)]('\x0a');return'\x0a\x0a##\x20Reviewer\x20Feedback\x20to\x20Address\x0aThe\x20following\x20reviewer\x20comments\x20were\x20left\x20on\x20the\x20previous\x20version\x20of\x20this\x20item.\x0aVerify\x20that\x20each\x20concern\x20has\x20been\x20addressed\x20in\x20the\x20current\x20implementation.\x0aFor\x20each\x20comment\x20you\x20believe\x20has\x20been\x20addressed,\x20include\x20its\x20ID\x20in\x20addressedCommentIds.\x0a\x0a'+_0x528501;}function buildNovaSharedOptionsInstruction(_0x2d9482){const _0x587d35=_0x3bf4d7;if(!_0x2d9482[_0x587d35(0x1de)]())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 _0x587d35(0x217)+_0x2d9482;}export function buildVerifyFeatureNovaCliDebugPrompt(_0x3ae040){const _0x5d3fd3=_0x3bf4d7,_0x104214={'FlIeF':function(_0x43db92,_0x28df1f,_0x54520f){return _0x43db92(_0x28df1f,_0x54520f);},'TsQWC':'01_initial-state.png','CWlDu':function(_0x232839,_0x280f5e){return _0x232839(_0x280f5e);}},{novaCommandPrefix:_0x19399a,novaSharedOptionsSuffix:_0xf505a2,cliArtifactDir:_0x322adb,url:_0xe488a0}=_0x3ae040,_0x5537b2=buildCliArtifactPath(_0x322adb,_0x5d3fd3(0x1e2)),_0x4ffac6=_0x104214['FlIeF'](buildCliArtifactPath,_0x322adb,_0x104214['TsQWC']),_0x4bcb56=buildCliArtifactPath(_0x322adb,_0x5d3fd3(0x1d6)),_0x13caac=buildCliArtifactPath(_0x322adb,'03_final-state.png');return _0x5d3fd3(0x1d7)+_0x19399a+'\x0a\x0a'+buildNovaSharedOptionsInstruction(_0xf505a2)+'\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`'+_0x19399a+'\x20session\x20create\x20'+quoteShellArg(_0xe488a0)+'\x20'+_0xf505a2+'`\x0a2.\x20Run\x20`'+_0x19399a+'\x20snapshot\x20--output\x20'+quoteShellArg(_0x5537b2)+'\x20'+_0xf505a2+'`\x0a3.\x20Run\x20`'+_0x19399a+'\x20screenshot\x20--output\x20'+quoteShellArg(_0x4ffac6)+'\x20'+_0xf505a2+_0x5d3fd3(0x1ce)+_0x19399a+_0x5d3fd3(0x231)+_0x19399a+_0x5d3fd3(0x1e8)+quoteShellArg(_0x4bcb56)+'\x20'+_0xf505a2+'`\x0a6.\x20Run\x20`'+_0x19399a+'\x20screenshot\x20--output\x20'+_0x104214['CWlDu'](quoteShellArg,_0x13caac)+'\x20'+_0xf505a2+_0x5d3fd3(0x1c3)+_0x322adb+'`\x20using\x20absolute\x20paths\x20only.\x0aReturn\x20your\x20findings\x20in\x20the\x20structured\x20output\x20format.';}export function buildVerifyFeatureNovaCliPrompt(_0x44dc7b){const _0x865392=_0x3bf4d7,_0x16761c={'UNxbY':'01_initial.yml','jovUo':function(_0x1bb54c,_0x808d27,_0xd58ade){return _0x1bb54c(_0x808d27,_0xd58ade);},'sLrgP':_0x865392(0x1c6),'sLYMJ':'key_03_success-state.png','TeNNX':function(_0x4bea27,_0x5d3a5c){return _0x4bea27(_0x5d3a5c);},'SXOqD':function(_0x3c2557,_0x3a8c2f){return _0x3c2557(_0x3a8c2f);},'FyrqQ':function(_0x55b4f7,_0x255bec){return _0x55b4f7(_0x255bec);},'bsykY':function(_0x57e7e4,_0x12563d){return _0x57e7e4(_0x12563d);},'lfefg':function(_0x44acfe,_0x54a1c7){return _0x44acfe(_0x54a1c7);}},{checklistItem:_0x25d3e7,itemFeedback:_0x5bbc0c,taskDescription:_0x104664,novaCommandPrefix:_0x626d5b,novaSharedOptionsSuffix:_0x11bc02,cliArtifactDir:_0x40680b,url:_0x2b0b3a,loginInstructions:_0x432496}=_0x44dc7b,_0x2ea728=_0x25d3e7['notes']?'\x0a\x0a##\x20Additional\x20Notes\x0a'+_0x25d3e7[_0x865392(0x232)]:'',_0xd70382=buildFeedbackSection(_0x5bbc0c),_0x39d6ca=_0x5bbc0c?.[_0x865392(0x22e)]?'\x0a\x0a##\x20Expected\x20Flow\x20(from\x20previous\x20verification)\x0a'+_0x5bbc0c['canonicalFlow']:'',_0x565159=_0x432496?_0x865392(0x1bb)+_0x432496+'\x0a\x0aIf\x20authentication\x20fails,\x20return\x20evaluation\x20\x22blocked\x22\x20and\x20describe\x20the\x20auth\x20failure.':'',_0x5a7ec3=buildCliArtifactPath(_0x40680b,_0x16761c[_0x865392(0x202)]),_0x565339=_0x16761c['jovUo'](buildCliArtifactPath,_0x40680b,_0x16761c['sLrgP']),_0x2fc6da=buildCliArtifactPath(_0x40680b,_0x16761c['sLYMJ']);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'+_0x25d3e7[_0x865392(0x207)]+_0x2ea728+_0xd70382+_0x39d6ca+'\x0a\x0a##\x20Task\x20to\x20Execute\x0a'+_0x104664+'\x0a\x0a##\x20App\x20Context\x0aYour\x20base\x20URL\x20is:\x20'+_0x2b0b3a+_0x865392(0x1d9)+_0x565159+_0x865392(0x245)+_0x626d5b+_0x865392(0x1b1)+_0x16761c[_0x865392(0x20a)](quoteShellArg,_0x2b0b3a)+'\x20'+_0x11bc02+_0x865392(0x1ff)+_0x40680b+'`\x20using\x20absolute\x20paths\x20only.\x0a5.\x20Take\x20an\x20initial\x20snapshot:\x20`'+_0x626d5b+_0x865392(0x1e8)+_0x16761c[_0x865392(0x20c)](quoteShellArg,_0x5a7ec3)+'\x20'+_0x11bc02+'`.\x0a6.\x20Take\x20an\x20initial\x20screenshot:\x20`'+_0x626d5b+_0x865392(0x209)+_0x16761c[_0x865392(0x1ae)](quoteShellArg,_0x565339)+'\x20'+_0x11bc02+_0x865392(0x1c8)+_0x2fc6da+'`.\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`'+_0x626d5b+'`\x0a\x0aAppend\x20this\x20option\x20suffix\x20to\x20browser\x20commands:\x0a'+(_0x11bc02[_0x865392(0x1de)]()?'`'+_0x11bc02+'`':'`<none;\x20the\x20command\x20prefix\x20injects\x20shared\x20options>`')+'\x0a\x0a'+_0x16761c['SXOqD'](buildNovaSharedOptionsInstruction,_0x11bc02)+_0x865392(0x19b)+_0x626d5b+_0x865392(0x226)+_0x11bc02+_0x865392(0x1c1)+_0x626d5b+_0x865392(0x1f2)+_0x11bc02+'`\x0a-\x20`'+_0x626d5b+'\x20snapshot\x20--output\x20'+_0x16761c[_0x865392(0x244)](quoteShellArg,_0x5a7ec3)+'\x20'+_0x11bc02+_0x865392(0x1c1)+_0x626d5b+_0x865392(0x209)+_0x16761c['lfefg'](quoteShellArg,_0x2fc6da)+'\x20'+_0x11bc02+_0x865392(0x187);}export function summarizeVerifyFeatureNovaCliCommandAvailability(_0x1bb0c9){const _0x5d481b=_0x3bf4d7,_0x2a5be3={'JfhaB':function(_0x153be8,_0xbca98e){return _0x153be8===_0xbca98e;}},_0x23a8b6=[..._0x1bb0c9['keys']()]['sort']();let _0x4b12ba=0x0;for(const _0x11c05d of _0x1bb0c9['values']()){_0x4b12ba+=_0x11c05d;}return{'cliCommandCount':_0x4b12ba,'cliCommandsSeen':_0x23a8b6,'noCliCommandsCalled':_0x2a5be3[_0x5d481b(0x1a3)](_0x4b12ba,0x0)};}export function createVerifyFeatureNovaCliHooks(_0x20c329,_0x3fdb46){const _0x2abe10=_0x3bf4d7,_0x146480={'PRSOX':function(_0x349aab,_0x514f15){return _0x349aab!==_0x514f15;},'gDRXK':_0x2abe10(0x252),'CIESL':'Bash','kqMzu':function(_0x1eede2,_0x33dee0){return _0x1eede2(_0x33dee0);},'edlev':_0x2abe10(0x215),'Zrocf':function(_0x2a108f,_0x46d3d8){return _0x2a108f(_0x46d3d8);},'RChti':function(_0x2f50c3,_0x35e31d){return _0x2f50c3+_0x35e31d;},'ooKaC':_0x2abe10(0x1cb),'wLzOX':function(_0x425bc9,_0x37628a,_0x5c6689){return _0x425bc9(_0x37628a,_0x5c6689);},'XVhEm':function(_0x41a0d7,_0x11e8bd){return _0x41a0d7===_0x11e8bd;},'lYBtt':'nova_act_command_failure','xHJuX':'nova-act-cli'},_0x1e408f=new Map(),_0x3e52eb=async _0x12761a=>{const _0x390667=_0x2abe10;if(_0x146480['PRSOX'](_0x12761a[_0x390667(0x1da)],_0x146480['gDRXK']))return{};const _0x4da8eb=_0x12761a;if(_0x4da8eb['tool_name']!==_0x146480[_0x390667(0x1a1)])return{};const _0x4ab995=_0x4da8eb[_0x390667(0x236)],_0x5d93fe=extractBashCommand(_0x4ab995);if(!_0x5d93fe)return{};const _0x125ddf=_0x146480['kqMzu'](getNovaActCliCommandBlockReason,_0x5d93fe);if(!_0x125ddf)return{};return{'decision':_0x146480['edlev'],'reason':_0x125ddf};},_0x3f6b09=async _0x1e9bab=>{const _0x51b252=_0x2abe10;if(_0x1e9bab[_0x51b252(0x1da)]!==_0x51b252(0x1c9))return{};const _0x3e6375=_0x1e9bab;if(_0x3e6375[_0x51b252(0x1a6)]!=='Bash')return{};const _0x331a8a=_0x3e6375['tool_input'],_0x473715=_0x146480['Zrocf'](extractBashCommand,_0x331a8a);if(!_0x473715)return{};const _0xe1f554=parseNovaActCliCommand(_0x473715);if(!_0xe1f554)return{};_0x1e408f['set'](_0xe1f554,_0x146480['RChti'](_0x1e408f['get'](_0xe1f554)||0x0,0x1)),_0x20c329[_0x51b252(0x22a)](_0x146480['ooKaC'],{'subcommand':_0xe1f554}),_0x20c329[_0x51b252(0x201)](_0x146480['ooKaC'],{'subcommand':_0xe1f554,'commandPreview':previewNovaActCliCommand(_0x473715)}),console['log']('[nova-act-cli]\x20'+_0x146480[_0x51b252(0x1bf)](formatNovaActCliLog,_0x473715,_0xe1f554));if(_0x146480['XVhEm'](_0xe1f554,_0x51b252(0x1a7))&&_0x3fdb46)try{await _0x3fdb46[_0x51b252(0x1f6)]();}catch(_0x41e634){await _0x20c329['trackPhaseError']('nova_act_artifact_recording',_0x41e634,{'transport':'nova-act-cli'});}return{};},_0x233fd6=async _0x179935=>{const _0x3e7fd4=_0x2abe10;if(_0x146480['PRSOX'](_0x179935['hook_event_name'],_0x3e7fd4(0x24a)))return{};const _0x1a3ac8=_0x179935;if(_0x1a3ac8[_0x3e7fd4(0x1a6)]!==_0x3e7fd4(0x1fc))return{};return await _0x20c329[_0x3e7fd4(0x251)](_0x146480['lYBtt'],_0x1a3ac8['error'],{'transport':_0x146480['xHJuX'],'toolName':_0x146480['CIESL']}),{};};return{'preToolUseHook':_0x3e52eb,'postToolUseHook':_0x3f6b09,'postToolUseFailureHook':_0x233fd6,'commandCounts':_0x1e408f};}async function runNovaLifecycleCommand(_0x40826f){const _0x3f2bab=_0x3bf4d7,_0x34385c={'VEoDs':function(_0x48168c,_0xbaa5d2){return _0x48168c(_0xbaa5d2);},'pLiKN':function(_0x341f42,_0x13b6f){return _0x341f42(_0x13b6f);},'occQA':function(_0x530595,_0xa3d5c7){return _0x530595(_0xa3d5c7);}},{novaOptions:_0xf71788,commandArgs:_0x387296,telemetry:_0x257deb,phase:_0x320591,metadata:_0x3d3ac4,timeoutMs:_0xf5f45b}=_0x40826f;_0x257deb[_0x3f2bab(0x22a)](_0x320591,_0x3d3ac4);try{const _0xf9082a=await _0x34385c[_0x3f2bab(0x23a)](runNovaActCliCommand,{..._0xf71788,'commandArgs':_0x387296,'cwd':process[_0x3f2bab(0x195)](),'env':process['env'],'timeoutMs':_0xf5f45b??NOVA_ACT_CLI_COMMAND_TIMEOUT_MS});_0x257deb['trackPhaseEnd'](_0x320591,{..._0x3d3ac4,'subcommand':_0xf9082a[_0x3f2bab(0x1b5)][_0x3f2bab(0x21c)],'commandPreview':previewNovaActCliCommand(_0xf9082a['invocation']['shellCommand']),'stdoutPreview':_0x34385c['pLiKN'](previewNovaActCliCommand,_0xf9082a[_0x3f2bab(0x235)]),'stderrPreview':previewNovaActCliCommand(_0xf9082a[_0x3f2bab(0x1f1)]),'logDir':_0x34385c[_0x3f2bab(0x1b4)](extractNovaActLogDir,_0xf9082a['stdout'])});}catch(_0x5643d1){await _0x257deb[_0x3f2bab(0x251)](_0x320591,_0x5643d1,_0x3d3ac4);throw _0x5643d1;}}export async function finalizeVerifyFeatureNovaCliSession(_0x353cdd){const _0x13c04e=_0x3bf4d7,_0x4afb9f={'vPqAh':_0x13c04e(0x228),'PYVmE':_0x13c04e(0x1ea),'KtNWe':_0x13c04e(0x1fe),'JGxyg':_0x13c04e(0x219),'YaZqQ':'--format','zqjbf':_0x13c04e(0x223),'xkThb':'nova_act_session_report','Iaelz':'session','fpUyc':_0x13c04e(0x182),'eaxKL':_0x13c04e(0x222),'KPykK':'nova_act_session_close','jwfPD':function(_0x17b8de,_0x485e51){return _0x17b8de(_0x485e51);}},{telemetry:_0xbc6f9c,novaOptions:_0x131388,cliArtifactDir:_0x2fec3d,transportMetadata:_0x2a9df8,artifactRecorder:_0x212c13}=_0x353cdd,_0xe3e20=[{'phase':_0x4afb9f['vPqAh'],'commandArgs':['screenshot','--output',buildCliArtifactPath(_0x2fec3d,_0x4afb9f[_0x13c04e(0x1a9)])]},{'phase':_0x13c04e(0x233),'commandArgs':['snapshot',_0x4afb9f['KtNWe'],buildCliArtifactPath(_0x2fec3d,'final-state.yaml')]},{'phase':'nova_act_session_export','commandArgs':['session',_0x4afb9f['JGxyg'],_0x4afb9f['YaZqQ'],_0x13c04e(0x204),_0x4afb9f['KtNWe'],buildCliArtifactPath(_0x2fec3d,_0x4afb9f[_0x13c04e(0x1bc)])]},{'phase':_0x4afb9f['xkThb'],'commandArgs':[_0x4afb9f['Iaelz'],'export',_0x4afb9f[_0x13c04e(0x213)],'--output-dir',buildCliArtifactPath(_0x2fec3d,_0x4afb9f[_0x13c04e(0x1c0)])]},{'phase':_0x4afb9f['KPykK'],'commandArgs':[_0x13c04e(0x1b0),'close']}];for(const _0x4c340b of _0xe3e20){_0x4c340b['phase']==='nova_act_session_close'&&await _0x212c13?.[_0x13c04e(0x239)]();try{await _0x4afb9f[_0x13c04e(0x203)](runNovaLifecycleCommand,{'novaOptions':_0x131388,'commandArgs':[..._0x4c340b[_0x13c04e(0x225)]],'telemetry':_0xbc6f9c,'phase':_0x4c340b[_0x13c04e(0x18f)],'metadata':_0x2a9df8});}catch{}}}export async function harvestVerifyFeatureNovaCliArtifacts(_0x4c6d29){const _0x14652c=_0x3bf4d7,_0x5cb725={'YdyNF':function(_0x55ff59,_0x580a0,_0x278c7e){return _0x55ff59(_0x580a0,_0x278c7e);},'AJXWZ':function(_0x551933,_0x49cb54){return _0x551933<_0x49cb54;},'shNZJ':function(_0x5ba076,_0x5c0b60,_0x435f1d){return _0x5ba076(_0x5c0b60,_0x435f1d);},'GfRYt':function(_0x10c8b5,_0x36be0e,_0x1b00d1){return _0x10c8b5(_0x36be0e,_0x1b00d1);}},{cwd:_0x10580f,cliArtifactDir:_0x296950,startTime:_0x3ec3f0}=_0x4c6d29,_0x2fb799=[];await _0x5cb725['YdyNF'](mkdir,_0x296950,{'recursive':!![]});const _0x561314=await readdir(_0x10580f,{'withFileTypes':!![]});for(const _0x41fbdd of _0x561314){if(!_0x41fbdd['isFile']()||!VERIFY_FEATURE_NOVA_ARTIFACT_FILE_PATTERN['test'](_0x41fbdd['name']))continue;const _0x69457f=join(_0x10580f,_0x41fbdd['name']),_0x3a37ad=await stat(_0x69457f);if(_0x5cb725['AJXWZ'](_0x3a37ad['mtimeMs']+0x7d0,_0x3ec3f0))continue;const _0x54d605=_0x5cb725[_0x14652c(0x1ac)](buildCliArtifactPath,_0x296950,_0x41fbdd[_0x14652c(0x19a)]);if(_0x69457f===_0x54d605)continue;await _0x5cb725[_0x14652c(0x1ab)](rename,_0x69457f,_0x54d605),_0x2fb799['push'](_0x41fbdd[_0x14652c(0x19a)]);}return _0x2fb799['sort']();}export async function loadVerifyFeatureNovaTraceUploadArtifact(_0xe76ca1){const _0x55c521=_0x3bf4d7,_0x47c9e6={'pufrM':function(_0x4fcd22,_0x38590c,_0x1811ab){return _0x4fcd22(_0x38590c,_0x1811ab);},'KtoZQ':_0x55c521(0x1b7),'HbBpt':function(_0x4dc63d,_0x59376d){return _0x4dc63d(_0x59376d);}},_0x8535ac=_0x47c9e6[_0x55c521(0x211)](join,_0xe76ca1,_0x47c9e6[_0x55c521(0x229)]);try{return{'buffer':await _0x47c9e6[_0x55c521(0x1e7)](readFile,_0x8535ac),'source':_0x8535ac};}catch{return{'buffer':await zipVerifyFeatureNovaArtifacts(_0xe76ca1),'source':_0xe76ca1};}}async function zipVerifyFeatureNovaArtifacts(_0x87b310){const _0x5a554c=_0x3bf4d7,_0x5cf886={'qfKfH':function(_0x2f860b,_0x20b66b,_0x3ebff8,_0xd55c1b){return _0x2f860b(_0x20b66b,_0x3ebff8,_0xd55c1b);},'KtzzD':function(_0x552582,_0xced7ae,_0x537925,_0x2ebc71){return _0x552582(_0xced7ae,_0x537925,_0x2ebc71);},'mnUPJ':_0x5a554c(0x25f),'jLmJt':function(_0x3b5c55,_0x119cd6,_0xa3e485){return _0x3b5c55(_0x119cd6,_0xa3e485);}},_0x108863=_0x5cf886['qfKfH'](join,_0x87b310,'..',_0x5a554c(0x20f));try{return await _0x5cf886['KtzzD'](execFileAsync,_0x5a554c(0x220),['-qr',_0x108863,'.','-x',_0x5cf886['mnUPJ']],{'cwd':_0x87b310}),await readFile(_0x108863);}finally{await _0x5cf886[_0x5a554c(0x1b9)](rm,_0x108863,{'force':!![]});}}export function buildNovaActCliDiagnostics(_0xda322e){const _0x2c0766=_0x3bf4d7,_0x451e90={'qrxcR':function(_0x2e59d7,_0x1f1ca0,_0x2c3dd){return _0x2e59d7(_0x1f1ca0,_0x2c3dd);}},_0x370469=buildNovaActCliInvocation(_0xda322e[_0x2c0766(0x1fa)],_0xda322e[_0x2c0766(0x225)]);return{'command':_0x370469['command'],'args':_0x370469['args'],'commandPreview':previewNovaActCliCommand(_0x370469['shellCommand']),'subcommand':_0x370469[_0x2c0766(0x21c)],'sharedOptionsSuffix':_0x451e90['qrxcR'](buildNovaActCliSharedOptionsSuffix,_0xda322e['novaOptions'],_0xda322e[_0x2c0766(0x225)])};}
|
|
1
|
+
const _0x11e2f1=_0x7e44;(function(_0x3f03fa,_0x401791){const _0x504c26=_0x7e44,_0x1b53ac=_0x3f03fa();while(!![]){try{const _0x3a001f=-parseInt(_0x504c26(0xf4))/0x1*(parseInt(_0x504c26(0x100))/0x2)+-parseInt(_0x504c26(0x89))/0x3*(parseInt(_0x504c26(0xcf))/0x4)+-parseInt(_0x504c26(0xf6))/0x5+-parseInt(_0x504c26(0xc3))/0x6*(-parseInt(_0x504c26(0x13b))/0x7)+parseInt(_0x504c26(0x140))/0x8+parseInt(_0x504c26(0x9d))/0x9+parseInt(_0x504c26(0x9c))/0xa;if(_0x3a001f===_0x401791)break;else _0x1b53ac['push'](_0x1b53ac['shift']());}catch(_0x16524b){_0x1b53ac['push'](_0x1b53ac['shift']());}}}(_0x16fb,0x5c1bd));import{execFile}from'child_process';import{mkdir,readdir,readFile,rename,rm,stat,writeFile}from'fs/promises';function _0x16fb(){const _0x4be2e2=['NLUGM','cXhvc','LYSjo','.json','map','utf-8','tagName','snapshot','readSessionMetadataWithRetry',']\x20**','ADmLU','content','PreToolUse','command','keys','duTna','jJlfi','ffmpeg-mac','):\x20\x22','xHdsE','tracing','\x20verify\x20\x22The\x20Billing\x20page\x20is\x20visible\x20and\x20shows\x20the\x20current\x20plan.\x22\x20','\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`','toLocaleDateString','parse','VYvDd','uYktW','TgYqd','vEAeW','stopped','14UTRChA','ffmpeg-linux','queueTraceSample','length','Nova\x20session\x20metadata\x20did\x20not\x20include\x20cdp_endpoint\x20for\x20','3499984OzfriB','selector','cwd','stop','PostToolUseFailure','tool_name','telemetry','params','jFYjU','trace.zip','Unable\x20to\x20read\x20Nova\x20session\x20metadata\x20at\x20','verify','nova_act_session_close','context','nova-user-data/*','rIwMO','LbGbv','shellCommand','\x0a\x0aExamples:\x0a-\x20`','now','args','ms-playwright','01_initial-state.png','export','\x20execute\x20\x221.\x20Open\x20the\x20account\x20settings\x20menu.\x202.\x20Click\x20Billing.\x203.\x20Wait\x20for\x20the\x20Billing\x20page\x20to\x20load.\x22\x20','`.\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`','`\x0a6.\x20Run\x20`','\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`','--format','\x0a\x0aIf\x20authentication\x20fails,\x20return\x20evaluation\x20\x22blocked\x22\x20and\x20describe\x20the\x20auth\x20failure.','`\x20using\x20absolute\x20paths\x20only.\x0aReturn\x20your\x20findings\x20in\x20the\x20structured\x20output\x20format.','JuiLt','Igjib','xOyKP','`\x0a4.\x20Run\x20one\x20batched\x20`','goto','YyDRR','startAttempted','ROMep','env','ffmpeg','push','dLlTz','trim','commandArgs','set','mtimeMs','screencastStarted','02_final-state.yml','sessionId','unaddressedComments','send','session\x20create','839922swTjMN','finally','log','QJOIc','-\x20[','browser','Library','nova_act_command','transportMetadata','VqqWU','startScreencast','data','en-US','Page.stopScreencast','\x0a\x0a##\x20App\x20Context\x0aYour\x20base\x20URL\x20is:\x20','libvpx-vp9','HZzbF','emfKF','NgneW','890940zVGSkj','6111369tajSls','execute\x20Nova\x20browser\x20action','domRef','Page.screencastFrame','key_final-state.png','XVKRF','\x20snapshot\x20--output\x20','-pix_fmt','match','hook_event_name','tracingStarted','frame-','xoLRh','`\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.','EuvrU','frameWrites','qmtRd','NnScr','createdAt','PlsKg','allSettled','cliArtifactDir','--output','getFrameDir','DAcXY','`\x0a-\x20`','zip','avjzv','gqYWj','base64','ncJuZ','trackPhaseStart','flatMap','verify\x20page\x20condition','Bash','execute','FBypH','novaOptions','1700268JKYlzy','xKHHp','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.','ffmpeg.exe','key_03_success-state.png','jZqsC','ask\x20page\x20question','nova_act_artifact_recording','frameCount','screenshot','body','error','4XCJkit','mZyky','catch','PostToolUse','encodeScreencastVideo','frameSession','replace','nova-video-frames','SecVy','padie','CZaBU','Do\x20not\x20run\x20Nova\x20help,\x20doctor,\x20script,\x20session\x20list,\x20session\x20export,\x20or\x20session\x20close\x20commands\x20during\x20verification.','pages','`\x0a\x0aAppend\x20this\x20option\x20suffix\x20to\x20browser\x20commands:\x0a','startTraceSampling','cdp_endpoint','wait-for','ediJA','--report','wMlng','wcQwz','cvyHu','Nova\x20CDP\x20connection\x20did\x20not\x20expose\x20a\x20browser\x20context','kViTp','split','\x20(on\x20element:\x20<','qBTQn','name','Page.startScreencast','subcommand','capture\x20step\x20`','JguAf','xzMFp','rCuIz','locator','stderr','start','87558GKFetx','PSZgq','2073370bKLRqX','ByLnB','Page.screencastFrameAck','invocation','.act_cli','trackPhaseError','`.\x0a4.\x20Save\x20every\x20snapshot\x20and\x20screenshot\x20under\x20`','01_initial.yml','filter','CzsMD','16KsYTLl','.jpg','json','session','startsWith','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','`\x20is\x20reserved\x20for\x20the\x20host.\x20Use\x20only\x20session\x20create,\x20execute,\x20verify,\x20ask,\x20goto,\x20wait-for,\x20snapshot,\x20and\x20screenshot.','traceSampleInFlight','traceSampleTimer','test','connectOverCDP','MleaH','Nova\x20command\x20`','notes','00_initial-state.yml','then','drlUh','HgLDA','close','\x20session\x20create\x20','WcrxK','traceSampleCount','nova_act_final_screenshot','trackPhaseEnd','sort','qLZNH','NOXjy','LeKoZ','XdKRN'];_0x16fb=function(){return _0x4be2e2;};return _0x16fb();}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',_0x11e2f1(0xc0),_0x11e2f1(0x14b),'ask',_0x11e2f1(0x163),_0x11e2f1(0xdf),'snapshot',_0x11e2f1(0xcc)]),execFileAsync=promisify(execFile);function buildCliArtifactPath(_0x4103aa,_0x141b62){const _0x1d6fdd=_0x11e2f1,_0x349d96={'dLlTz':function(_0x447a6c,_0x24af29,_0x453679){return _0x447a6c(_0x24af29,_0x453679);}};return _0x349d96[_0x1d6fdd(0x7e)](join,_0x4103aa,_0x141b62);}export class NovaActArtifactRecorder{['params'];[_0x11e2f1(0x8e)]=null;[_0x11e2f1(0x14d)]=null;['frameSession']=null;['frameWrites']=[];[_0x11e2f1(0xcb)]=0x0;['traceSampleCount']=0x0;['traceSampleTimer']=null;[_0x11e2f1(0x107)]=null;['tracingStarted']=![];[_0x11e2f1(0x83)]=![];[_0x11e2f1(0x79)]=![];['stopped']=![];constructor(_0xdfb68c){const _0x26473f=_0x11e2f1;this[_0x26473f(0x147)]=_0xdfb68c;}async[_0x11e2f1(0xf3)](){const _0x565f42=_0x11e2f1,_0x2d0655={'JguAf':function(_0x464e7c,_0x1b6457,_0x73ffbf){return _0x464e7c(_0x1b6457,_0x73ffbf);}};if(this[_0x565f42(0x79)])return;this[_0x565f42(0x79)]=!![];const _0x506b4d=await this['readSessionMetadataWithRetry'](),_0x264c79=_0x506b4d[_0x565f42(0xde)];if(!_0x264c79)throw new Error(_0x565f42(0x13f)+this['params'][_0x565f42(0xc2)]['sessionId']);await _0x2d0655[_0x565f42(0xee)](mkdir,this[_0x565f42(0x147)][_0x565f42(0xb2)],{'recursive':!![]}),this['browser']=await chromium[_0x565f42(0x10a)](_0x264c79,{'timeout':NOVA_ARTIFACT_CDP_CONNECT_TIMEOUT_MS}),this['context']=this['browser']['contexts']()[0x0]??null;if(!this['context'])throw new Error(_0x565f42(0xe5));await this[_0x565f42(0x14d)][_0x565f42(0x131)][_0x565f42(0xf3)]({'screenshots':!![],'snapshots':!![],'sources':!![]}),this['tracingStarted']=!![],this[_0x565f42(0xdd)](),await this[_0x565f42(0x93)](),this[_0x565f42(0x147)][_0x565f42(0x146)]['trackPhaseStart'](_0x565f42(0xca),{...this[_0x565f42(0x147)]['transportMetadata'],'cdpEndpoint':_0x264c79,'browserPid':_0x506b4d['browser_pid'],'sessionState':_0x506b4d['state']}),this['params']['telemetry'][_0x565f42(0x117)]('nova_act_artifact_recording',{...this['params'][_0x565f42(0x91)],'tracingStarted':this['tracingStarted'],'screencastStarted':this[_0x565f42(0x83)]});}async['stop'](){const _0x53c67f=_0x11e2f1,_0xa3e9f4={'xoLRh':'nova_act_artifact_recording_stop','qxWjZ':function(_0x1d18d3,_0x36dfb1,_0xf48f21){return _0x1d18d3(_0x36dfb1,_0xf48f21);},'AHYmT':_0x53c67f(0x149)};if(this[_0x53c67f(0x13a)])return;this[_0x53c67f(0x13a)]=!![];const _0x1de50a={...this[_0x53c67f(0x147)][_0x53c67f(0x91)],'frameCount':this['frameCount'],'traceSampleCount':this[_0x53c67f(0x115)],'tracingStarted':this[_0x53c67f(0xa7)],'screencastStarted':this[_0x53c67f(0x83)]};this['params']['telemetry']['trackPhaseStart'](_0xa3e9f4[_0x53c67f(0xa9)],_0x1de50a);try{await this['stopTraceSampling'](),await this['captureTraceSample'](),await this['stopScreencast'](),await Promise[_0x53c67f(0xb1)](this[_0x53c67f(0xac)]);this[_0x53c67f(0x14d)]&&this['tracingStarted']&&await this['context']['tracing'][_0x53c67f(0x143)]({'path':_0xa3e9f4['qxWjZ'](buildCliArtifactPath,this[_0x53c67f(0x147)]['cliArtifactDir'],_0xa3e9f4['AHYmT'])});const _0x42fd1a=await this[_0x53c67f(0xd3)]();this[_0x53c67f(0x147)]['telemetry']['trackPhaseEnd']('nova_act_artifact_recording_stop',{..._0x1de50a,'videoPath':_0x42fd1a});}catch(_0x290775){await this['params'][_0x53c67f(0x146)][_0x53c67f(0xfb)](_0xa3e9f4[_0x53c67f(0xa9)],_0x290775,_0x1de50a);}finally{await this[_0x53c67f(0x8e)]?.[_0x53c67f(0x112)]()[_0x53c67f(0xd1)](()=>undefined),this['browser']=null,this[_0x53c67f(0x14d)]=null,this[_0x53c67f(0xd4)]=null;}}async[_0x11e2f1(0x125)](){const _0x4cbb14=_0x11e2f1,_0x464c4b={'EuvrU':function(_0x923f4b){return _0x923f4b();},'CZaBU':function(_0x469956,_0x2efac4,_0x1acf66){return _0x469956(_0x2efac4,_0x1acf66);},'emfKF':function(_0x28117d,_0x26df64){return _0x28117d<_0x26df64;}},_0x15c5a4=join(_0x464c4b[_0x4cbb14(0xab)](homedir),_0x4cbb14(0xfa),_0x4cbb14(0x8e),'sessions',this[_0x4cbb14(0x147)][_0x4cbb14(0xc2)][_0x4cbb14(0x85)]+_0x4cbb14(0x120)),_0x47c889=Date[_0x4cbb14(0x153)]();let _0x229ffc;do{try{const _0x4febee=JSON[_0x4cbb14(0x135)](await _0x464c4b[_0x4cbb14(0xd9)](readFile,_0x15c5a4,_0x4cbb14(0x122)));if(_0x4febee[_0x4cbb14(0xde)])return _0x4febee;_0x229ffc=new Error('Nova\x20metadata\x20missing\x20cdp_endpoint\x20at\x20'+_0x15c5a4);}catch(_0xbe376c){_0x229ffc=_0xbe376c;}await delay(0x64);}while(_0x464c4b[_0x4cbb14(0x9a)](Date['now']()-_0x47c889,NOVA_ARTIFACT_METADATA_WAIT_MS));if(_0x229ffc instanceof Error)throw _0x229ffc;throw new Error(_0x4cbb14(0x14a)+_0x15c5a4);}async[_0x11e2f1(0x93)](){const _0x5586bf=_0x11e2f1,_0x591d16={'fDPrd':function(_0x7f66af,_0x54c5da,_0x4135fe){return _0x7f66af(_0x54c5da,_0x4135fe);},'YuUsN':function(_0x3fbdb9,_0x5b1a74,_0x34168a){return _0x3fbdb9(_0x5b1a74,_0x34168a);},'wcQwz':_0x5586bf(0xba),'qBTQn':_0x5586bf(0xeb),'yvMVs':'jpeg'};if(!this['context'])return;const _0x4844ff=this[_0x5586bf(0x14d)]['pages']()[0x0];if(!_0x4844ff)return;const _0x1b0de1=this['getFrameDir']();await mkdir(_0x1b0de1,{'recursive':!![]});const _0x268e8a=await this[_0x5586bf(0x14d)]['newCDPSession'](_0x4844ff);this['frameSession']=_0x268e8a,_0x268e8a['on'](_0x5586bf(0xa0),_0x3c8f75=>{const _0x447b5b=_0x5586bf,_0x84bf8c=++this['frameCount'],_0x567675=_0x591d16['fDPrd'](join,_0x1b0de1,_0x447b5b(0xa8)+String(_0x84bf8c)['padStart'](0x6,'0')+_0x447b5b(0x101)),_0x587829=_0x591d16['YuUsN'](writeFile,_0x567675,Buffer['from'](_0x3c8f75[_0x447b5b(0x94)],_0x591d16[_0x447b5b(0xe3)]))['catch'](()=>undefined)[_0x447b5b(0x8a)](()=>_0x268e8a['send'](_0x447b5b(0xf8),{'sessionId':_0x3c8f75[_0x447b5b(0x85)]}))[_0x447b5b(0x10f)](()=>undefined)['catch'](()=>undefined);this['frameWrites'][_0x447b5b(0x7d)](_0x587829);}),await _0x268e8a[_0x5586bf(0x87)](_0x591d16[_0x5586bf(0xe9)],{'format':_0x591d16['yvMVs'],'quality':0x4b,'everyNthFrame':0x6}),this[_0x5586bf(0x83)]=!![];}async['stopScreencast'](){const _0x51b025=_0x11e2f1;if(!this[_0x51b025(0xd4)]||!this[_0x51b025(0x83)])return;await this['frameSession'][_0x51b025(0x87)](_0x51b025(0x96))[_0x51b025(0xd1)](()=>undefined);}['startTraceSampling'](){const _0x657693=_0x11e2f1,_0x5b7e79={'qwWpW':function(_0x186784,_0x10ec2e,_0x28b70e){return _0x186784(_0x10ec2e,_0x28b70e);}};this['queueTraceSample'](),this['traceSampleTimer']=_0x5b7e79['qwWpW'](setInterval,()=>this[_0x657693(0x13d)](),NOVA_ARTIFACT_TRACE_SAMPLE_INTERVAL_MS);}[_0x11e2f1(0x13d)](){if(this['traceSampleInFlight'])return;this['traceSampleInFlight']=this['captureTraceSample']()['finally'](()=>{const _0x2646b1=_0x7e44;this[_0x2646b1(0x107)]=null;});}async['stopTraceSampling'](){const _0x1eed19=_0x11e2f1;this['traceSampleTimer']&&(clearInterval(this[_0x1eed19(0x108)]),this['traceSampleTimer']=null),await this['traceSampleInFlight']?.[_0x1eed19(0xd1)](()=>undefined);}async['captureTraceSample'](){const _0x308897=_0x11e2f1,_0x1624f5={'RrNEC':_0x308897(0xcd)},_0x4d79da=this[_0x308897(0x14d)]?.[_0x308897(0xdb)]()[0x0];if(!_0x4d79da)return;try{await _0x4d79da[_0x308897(0xf1)](_0x1624f5['RrNEC'])['evaluate'](_0x4ca601=>_0x4ca601[_0x308897(0x123)],undefined,{'timeout':0x3e8}),this[_0x308897(0x115)]++;}catch{}}async['encodeScreencastVideo'](){const _0x558417=_0x11e2f1,_0xb75291={'apYhk':function(_0x18bd29,_0x5008f5){return _0x18bd29<_0x5008f5;},'rIwMO':function(_0x3ba54b){return _0x3ba54b();},'jYBFd':function(_0x461025,_0x2db676,_0x2ab497){return _0x461025(_0x2db676,_0x2ab497);},'mZyky':function(_0xdea8a5,_0x146746,_0x4dc723){return _0xdea8a5(_0x146746,_0x4dc723);},'SecVy':function(_0x176a6a,_0x5cfb3f,_0xc0bba4){return _0x176a6a(_0x5cfb3f,_0xc0bba4);},'FBypH':_0x558417(0xce),'LbGbv':'-framerate','IhmUo':function(_0x12418d,_0x28b729,_0x3309c2){return _0x12418d(_0x28b729,_0x3309c2);},'drlUh':'-vf','ttoRf':'scale=trunc(iw/2)*2:trunc(ih/2)*2','YMqoU':_0x558417(0x98),'UvmbT':'yuv420p'};if(_0xb75291['apYhk'](this['frameCount'],0x2))return null;const _0x4cd645=await _0xb75291[_0x558417(0x14f)](resolveFfmpegPath);if(!_0x4cd645)return null;const _0x311e73=join(this[_0x558417(0x147)][_0x558417(0xb2)],'videos');await _0xb75291['jYBFd'](mkdir,_0x311e73,{'recursive':!![]});const _0x13b22f=_0xb75291[_0x558417(0xd0)](join,_0x311e73,'session-recording.webm');return await _0xb75291[_0x558417(0xd7)](execFileAsync,_0x4cd645,['-y','-hide_banner','-loglevel',_0xb75291[_0x558417(0xc1)],_0xb75291[_0x558417(0x150)],'10','-i',_0xb75291['IhmUo'](join,this[_0x558417(0xb4)](),'frame-%06d.jpg'),_0xb75291[_0x558417(0x110)],_0xb75291['ttoRf'],'-c:v',_0xb75291['YMqoU'],_0x558417(0xa4),_0xb75291['UvmbT'],_0x13b22f]),_0x13b22f;}[_0x11e2f1(0xb4)](){const _0x1c8754=_0x11e2f1,_0x49706e={'XGhnM':_0x1c8754(0xd6)};return join(this[_0x1c8754(0x147)][_0x1c8754(0xb2)],_0x49706e['XGhnM']);}}async function delay(_0x244187){await new Promise(_0x387e2c=>setTimeout(_0x387e2c,_0x244187));}async function resolveFfmpegPath(){const _0x5661b3=_0x11e2f1,_0x2f27ac={'PlsKg':function(_0x328809,_0x229edf){return _0x328809(_0x229edf);},'wNTiD':function(_0x506591){return _0x506591();},'ZYIcp':_0x5661b3(0x155),'qebEM':function(_0x49e848,_0x5cbcdf,_0x1697e9,_0x3d218e){return _0x49e848(_0x5cbcdf,_0x1697e9,_0x3d218e);},'jJlfi':function(_0x3970b5){return _0x3970b5();},'JmGtN':'.cache','XdKRN':function(_0x5f259,_0x1d3747){return _0x5f259(_0x1d3747);}};if(await _0x2f27ac[_0x5661b3(0xb0)](canRunFfmpeg,_0x5661b3(0x7c)))return'ffmpeg';const _0x2bc695=[join(_0x2f27ac['wNTiD'](homedir),_0x5661b3(0x8f),'Caches',_0x2f27ac['ZYIcp']),_0x2f27ac['qebEM'](join,_0x2f27ac[_0x5661b3(0x12d)](homedir),_0x2f27ac['JmGtN'],'ms-playwright')];for(const _0x50301f of _0x2bc695){try{const _0x3ba5a9=await _0x2f27ac[_0x5661b3(0x11c)](readdir,_0x50301f),_0x37d1fa=_0x3ba5a9[_0x5661b3(0xfe)](_0x2e1862=>_0x2e1862[_0x5661b3(0x104)]('ffmpeg-'))[_0x5661b3(0x118)]()['reverse']()[_0x5661b3(0xbd)](_0x791a38=>[join(_0x50301f,_0x791a38,_0x5661b3(0x12e)),join(_0x50301f,_0x791a38,_0x5661b3(0x13c)),join(_0x50301f,_0x791a38,_0x5661b3(0xc6))]);for(const _0x7bcf5d of _0x37d1fa){if(await _0x2f27ac['PlsKg'](canRunFfmpeg,_0x7bcf5d))return _0x7bcf5d;}}catch{}}return null;}async function canRunFfmpeg(_0x48c2c9){try{return await execFileAsync(_0x48c2c9,['-version']),!![];}catch{return![];}}function toStepDisplayName(_0x510a3c){const _0x528896=_0x11e2f1,_0x1d1d6b=basename(_0x510a3c)[_0x528896(0xd5)](/\.(?:png|ya?ml)$/i,'')['replace'](/^key_/i,'')['replace'](/^\d+_/,'')['replace'](/-/g,'\x20');return{'name':_0x1d1d6b,'isKeyStep':/^key_/i[_0x528896(0x109)](basename(_0x510a3c))};}function extractShellValue(_0x4d3dfd){if(!_0x4d3dfd)return null;return _0x4d3dfd[0x1]??_0x4d3dfd[0x2]??_0x4d3dfd[0x3]??null;}function extractOutputOption(_0x21c50c){const _0x11dad4=_0x11e2f1;return extractShellValue(_0x21c50c[_0x11dad4(0xa5)](/--output(?:=|\s+)(?:"([^"]+)"|'([^']+)'|(\S+))/));}function formatNovaActCliLog(_0x3d9414,_0x20b6d6){const _0x1e602e=_0x11e2f1,_0xb7742d={'NgneW':'session\x20create','vEAeW':'create\x20Nova\x20browser\x20session','eZauG':_0x1e602e(0xc0),'XVKRF':_0x1e602e(0x9e),'rCuIz':_0x1e602e(0xbe),'cCpVd':'ask','ByLnB':_0x1e602e(0x124),'QJOIc':'capture\x20snapshot','ScUgS':_0x1e602e(0xcc),'xKHHp':function(_0x22c51c,_0x259f3f){return _0x22c51c(_0x259f3f);},'lyXTX':'export\x20Nova\x20session'};switch(_0x20b6d6){case _0xb7742d[_0x1e602e(0x9b)]:return _0xb7742d[_0x1e602e(0x139)];case _0xb7742d['eZauG']:return _0xb7742d[_0x1e602e(0xa2)];case'verify':return _0xb7742d[_0x1e602e(0xf0)];case _0xb7742d['cCpVd']:return _0x1e602e(0xc9);case'goto':return'navigate\x20browser';case _0x1e602e(0xdf):return'wait\x20for\x20page\x20condition';case _0xb7742d[_0x1e602e(0xf7)]:{const _0xdb529e=extractOutputOption(_0x3d9414);if(!_0xdb529e)return _0xb7742d[_0x1e602e(0x8c)];const {name:_0x13d281}=toStepDisplayName(_0xdb529e);return'capture\x20snapshot\x20`'+_0x13d281+'`';}case _0xb7742d['ScUgS']:{const _0xbe7636=_0xb7742d[_0x1e602e(0xc4)](extractOutputOption,_0x3d9414);if(!_0xbe7636)return'capture\x20screenshot';const {name:_0x3d876b,isKeyStep:_0xc25df}=toStepDisplayName(_0xbe7636);return _0xc25df?'capture\x20key\x20step\x20`'+_0x3d876b+'`':_0x1e602e(0xed)+_0x3d876b+'`';}case'session\x20export':return _0xb7742d['lyXTX'];default:return _0x20b6d6;}}function getNovaActCliCommandBlockReason(_0x1f88ce){const _0x4323d7=_0x11e2f1,_0x364c5b={'wMlng':'verify','avjzv':'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.'},_0x36dd8d=parseNovaActCliCommand(_0x1f88ce);if(!_0x36dd8d)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'](_0x36dd8d))return _0x4323d7(0x10c)+_0x36dd8d+_0x4323d7(0x106);if(_0x36dd8d===_0x364c5b[_0x4323d7(0xe2)]&&/\b(?:previously visited|visited pages|pages visited|at least one of the pages visited)\b/i['test'](_0x1f88ce))return _0x364c5b[_0x4323d7(0xb8)];if(/\s--help\b|\bdoctor\b|\bscript\b|\bsession\s+(?:close|list|export)\b/[_0x4323d7(0x109)](_0x1f88ce))return _0x4323d7(0xda);return null;}function buildFeedbackSection(_0x4020c1){const _0x344841=_0x11e2f1,_0x54d8a3={'WcrxK':'short','PSZgq':'numeric','ediJA':'element','PdreM':function(_0x17ff6d,_0x274784){return _0x17ff6d===_0x274784;}};if(!_0x4020c1||_0x54d8a3['PdreM'](_0x4020c1[_0x344841(0x86)][_0x344841(0x13e)],0x0))return'';const _0x425dd=_0x4020c1['unaddressedComments'][_0x344841(0x121)](_0x55d322=>{const _0x261e6d=_0x344841,_0x3020d9=new Date(_0x55d322[_0x261e6d(0xaf)])[_0x261e6d(0x134)](_0x261e6d(0x95),{'month':_0x54d8a3[_0x261e6d(0x114)],'day':_0x54d8a3[_0x261e6d(0xf5)]}),_0x45e5dd=_0x55d322['authorName']||_0x55d322['authorEmail']||'Reviewer',_0x410a10=_0x55d322[_0x261e6d(0x9f)]?_0x261e6d(0xe8)+(_0x55d322[_0x261e6d(0x9f)][_0x261e6d(0x141)][_0x261e6d(0xe7)]('\x20>\x20')['pop']()?.[_0x261e6d(0xe7)](':')[0x0]||_0x54d8a3[_0x261e6d(0xe0)])+'>\x20\x22'+(_0x55d322[_0x261e6d(0x9f)]['textContent']||'')['slice'](0x0,0x32)+'\x22)':'';return _0x261e6d(0x8d)+_0x55d322['id']+_0x261e6d(0x126)+_0x45e5dd+'**\x20('+_0x3020d9+_0x261e6d(0x12f)+_0x55d322[_0x261e6d(0x128)]+'\x22'+_0x410a10;})['join']('\x0a');return'\x0a\x0a##\x20Reviewer\x20Feedback\x20to\x20Address\x0aThe\x20following\x20reviewer\x20comments\x20were\x20left\x20on\x20the\x20previous\x20version\x20of\x20this\x20item.\x0aVerify\x20that\x20each\x20concern\x20has\x20been\x20addressed\x20in\x20the\x20current\x20implementation.\x0aFor\x20each\x20comment\x20you\x20believe\x20has\x20been\x20addressed,\x20include\x20its\x20ID\x20in\x20addressedCommentIds.\x0a\x0a'+_0x425dd;}function buildNovaSharedOptionsInstruction(_0x137bac){const _0x2291d1=_0x11e2f1;if(!_0x137bac['trim']())return _0x2291d1(0xc5);return'Append\x20this\x20option\x20suffix\x20to\x20every\x20browser\x20command\x20unless\x20the\x20host\x20gives\x20a\x20more\x20specific\x20example:\x0a'+_0x137bac;}export function buildVerifyFeatureNovaCliDebugPrompt(_0x323913){const _0x524008=_0x11e2f1,_0x4f301a={'ncJuZ':function(_0x3c3a45,_0xc34340,_0x59ef38){return _0x3c3a45(_0xc34340,_0x59ef38);},'gVrmY':_0x524008(0x156),'xIhZH':function(_0x3711b4,_0x167d60,_0x18d309){return _0x3711b4(_0x167d60,_0x18d309);},'sismt':_0x524008(0x84),'duTna':function(_0x566469,_0x3f5428){return _0x566469(_0x3f5428);},'jZqsC':function(_0xdce926,_0x1ee370){return _0xdce926(_0x1ee370);},'TdJWO':function(_0x35b537,_0x156afb){return _0x35b537(_0x156afb);}},{novaCommandPrefix:_0x3d1173,novaSharedOptionsSuffix:_0x1dc20a,cliArtifactDir:_0x29cc25,url:_0x2406f2}=_0x323913,_0x31c79f=_0x4f301a[_0x524008(0xbb)](buildCliArtifactPath,_0x29cc25,_0x524008(0x10e)),_0x34044e=_0x4f301a['ncJuZ'](buildCliArtifactPath,_0x29cc25,_0x4f301a['gVrmY']),_0x4f973a=_0x4f301a['xIhZH'](buildCliArtifactPath,_0x29cc25,_0x4f301a['sismt']),_0x51fa91=buildCliArtifactPath(_0x29cc25,'03_final-state.png');return _0x524008(0x105)+_0x3d1173+'\x0a\x0a'+_0x4f301a[_0x524008(0x12c)](buildNovaSharedOptionsInstruction,_0x1dc20a)+_0x524008(0x15b)+_0x3d1173+_0x524008(0x113)+_0x4f301a[_0x524008(0xc8)](quoteShellArg,_0x2406f2)+'\x20'+_0x1dc20a+'`\x0a2.\x20Run\x20`'+_0x3d1173+_0x524008(0xa3)+quoteShellArg(_0x31c79f)+'\x20'+_0x1dc20a+'`\x0a3.\x20Run\x20`'+_0x3d1173+'\x20screenshot\x20--output\x20'+_0x4f301a['TdJWO'](quoteShellArg,_0x34044e)+'\x20'+_0x1dc20a+_0x524008(0x162)+_0x3d1173+'\x20execute\x20\x22...\x22`\x20command\x20to\x20exercise\x20the\x20current\x20page.\x0a5.\x20Run\x20`'+_0x3d1173+_0x524008(0xa3)+quoteShellArg(_0x4f973a)+'\x20'+_0x1dc20a+_0x524008(0x15a)+_0x3d1173+'\x20screenshot\x20--output\x20'+quoteShellArg(_0x51fa91)+'\x20'+_0x1dc20a+'`\x0a7.\x20Return\x20immediately\x20with\x20the\x20structured\x20output.\x0a\x0aSave\x20every\x20artifact\x20under\x20`'+_0x29cc25+_0x524008(0x15e);}function _0x7e44(_0x44e7e5,_0xa4a27e){_0x44e7e5=_0x44e7e5-0x79;const _0x16fb08=_0x16fb();let _0x7e4412=_0x16fb08[_0x44e7e5];return _0x7e4412;}export function buildVerifyFeatureNovaCliPrompt(_0x38858d){const _0x37e42d=_0x11e2f1,_0x307d65={'QqAPP':function(_0xa261fa,_0x105098,_0x2bb632){return _0xa261fa(_0x105098,_0x2bb632);},'LYSjo':'01_initial-state.png','ADmLU':function(_0x38443f,_0x336559){return _0x38443f(_0x336559);},'FHJHp':'`<none;\x20the\x20command\x20prefix\x20injects\x20shared\x20options>`','padie':function(_0x510eab,_0x18e917){return _0x510eab(_0x18e917);},'VYvDd':function(_0x46fb24,_0x198a2b){return _0x46fb24(_0x198a2b);}},{checklistItem:_0x35a6d1,itemFeedback:_0x152e0c,taskDescription:_0x113b8b,novaCommandPrefix:_0x716f8,novaSharedOptionsSuffix:_0x2ab268,cliArtifactDir:_0x2f871e,url:_0x40dfe3,loginInstructions:_0x36735c}=_0x38858d,_0x4c2c0f=_0x35a6d1[_0x37e42d(0x10d)]?'\x0a\x0a##\x20Additional\x20Notes\x0a'+_0x35a6d1[_0x37e42d(0x10d)]:'',_0x43f5cc=buildFeedbackSection(_0x152e0c),_0x337eab=_0x152e0c?.['canonicalFlow']?'\x0a\x0a##\x20Expected\x20Flow\x20(from\x20previous\x20verification)\x0a'+_0x152e0c['canonicalFlow']:'',_0x45b4bd=_0x36735c?'\x0a\x0a##\x20Authentication\x0aBEFORE\x20starting\x20the\x20verification\x20task,\x20authenticate\x20using\x20these\x20steps:\x0a'+_0x36735c+_0x37e42d(0x15d):'',_0x34afd0=_0x307d65['QqAPP'](buildCliArtifactPath,_0x2f871e,_0x37e42d(0xfd)),_0xcf6224=buildCliArtifactPath(_0x2f871e,_0x307d65[_0x37e42d(0x11f)]),_0x3b9a17=buildCliArtifactPath(_0x2f871e,_0x37e42d(0xc7));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'+_0x35a6d1['description']+_0x4c2c0f+_0x43f5cc+_0x337eab+'\x0a\x0a##\x20Task\x20to\x20Execute\x0a'+_0x113b8b+_0x37e42d(0x97)+_0x40dfe3+'\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'+_0x45b4bd+_0x37e42d(0x133)+_0x716f8+'\x20session\x20create\x20'+quoteShellArg(_0x40dfe3)+'\x20'+_0x2ab268+_0x37e42d(0xfc)+_0x2f871e+'`\x20using\x20absolute\x20paths\x20only.\x0a5.\x20Take\x20an\x20initial\x20snapshot:\x20`'+_0x716f8+_0x37e42d(0xa3)+_0x307d65[_0x37e42d(0x127)](quoteShellArg,_0x34afd0)+'\x20'+_0x2ab268+'`.\x0a6.\x20Take\x20an\x20initial\x20screenshot:\x20`'+_0x716f8+'\x20screenshot\x20--output\x20'+quoteShellArg(_0xcf6224)+'\x20'+_0x2ab268+'`.\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`'+_0x3b9a17+_0x37e42d(0x159)+_0x716f8+_0x37e42d(0xdc)+(_0x2ab268[_0x37e42d(0x7f)]()?'`'+_0x2ab268+'`':_0x307d65['FHJHp'])+'\x0a\x0a'+_0x307d65[_0x37e42d(0xd8)](buildNovaSharedOptionsInstruction,_0x2ab268)+_0x37e42d(0x152)+_0x716f8+_0x37e42d(0x158)+_0x2ab268+_0x37e42d(0xb6)+_0x716f8+_0x37e42d(0x132)+_0x2ab268+_0x37e42d(0xb6)+_0x716f8+'\x20snapshot\x20--output\x20'+_0x307d65[_0x37e42d(0x136)](quoteShellArg,_0x34afd0)+'\x20'+_0x2ab268+'`\x0a-\x20`'+_0x716f8+'\x20screenshot\x20--output\x20'+quoteShellArg(_0x3b9a17)+'\x20'+_0x2ab268+_0x37e42d(0xaa);}export function summarizeVerifyFeatureNovaCliCommandAvailability(_0x4a00fb){const _0x39101d=_0x11e2f1,_0x49f09e=[..._0x4a00fb[_0x39101d(0x12b)]()][_0x39101d(0x118)]();let _0x27f7e8=0x0;for(const _0x236daf of _0x4a00fb['values']()){_0x27f7e8+=_0x236daf;}return{'cliCommandCount':_0x27f7e8,'cliCommandsSeen':_0x49f09e,'noCliCommandsCalled':_0x27f7e8===0x0};}export function createVerifyFeatureNovaCliHooks(_0x32673b,_0x296fc7){const _0x1f5cc8=_0x11e2f1,_0x32edf7={'MleaH':function(_0xdbd054,_0x2f9c7e){return _0xdbd054!==_0x2f9c7e;},'HZzbF':_0x1f5cc8(0xbf),'LeKoZ':function(_0x4f0583,_0x156107){return _0x4f0583(_0x156107);},'spgBB':function(_0x29caed,_0x3d3131){return _0x29caed(_0x3d3131);},'YyDRR':function(_0x71f205,_0x4988b9){return _0x71f205!==_0x4988b9;},'jKtNX':function(_0x2928d4,_0x3b3cb4){return _0x2928d4(_0x3b3cb4);},'WYtOi':'nova_act_command','kViTp':function(_0x540c02,_0x212511){return _0x540c02(_0x212511);},'AqFNf':_0x1f5cc8(0x88),'VqqWU':'nova-act-cli','CpuJy':function(_0x2a4ea5,_0x4aee39){return _0x2a4ea5!==_0x4aee39;},'qLZNH':_0x1f5cc8(0x144),'fJrIw':'nova_act_command_failure'},_0x1d148d=new Map(),_0x100b1e=async _0x4d73e1=>{const _0x18091c=_0x1f5cc8;if(_0x4d73e1['hook_event_name']!==_0x18091c(0x129))return{};const _0x5113c0=_0x4d73e1;if(_0x32edf7[_0x18091c(0x10b)](_0x5113c0[_0x18091c(0x145)],_0x32edf7[_0x18091c(0x99)]))return{};const _0x2dcf54=_0x5113c0['tool_input'],_0x4a9fa6=_0x32edf7[_0x18091c(0x11b)](extractBashCommand,_0x2dcf54);if(!_0x4a9fa6)return{};const _0x582b46=_0x32edf7['spgBB'](getNovaActCliCommandBlockReason,_0x4a9fa6);if(!_0x582b46)return{};return{'decision':'block','reason':_0x582b46};},_0x4cbdf1=async _0x3f18d7=>{const _0x2433e3=_0x1f5cc8;if(_0x3f18d7['hook_event_name']!==_0x2433e3(0xd2))return{};const _0x506b13=_0x3f18d7;if(_0x32edf7[_0x2433e3(0x164)](_0x506b13[_0x2433e3(0x145)],'Bash'))return{};const _0x21adf6=_0x506b13['tool_input'],_0x56ae3c=extractBashCommand(_0x21adf6);if(!_0x56ae3c)return{};const _0x4119a4=_0x32edf7['jKtNX'](parseNovaActCliCommand,_0x56ae3c);if(!_0x4119a4)return{};_0x1d148d[_0x2433e3(0x81)](_0x4119a4,(_0x1d148d['get'](_0x4119a4)||0x0)+0x1),_0x32673b[_0x2433e3(0xbc)](_0x32edf7['WYtOi'],{'subcommand':_0x4119a4}),_0x32673b['trackPhaseEnd'](_0x2433e3(0x90),{'subcommand':_0x4119a4,'commandPreview':_0x32edf7[_0x2433e3(0xe6)](previewNovaActCliCommand,_0x56ae3c)}),console[_0x2433e3(0x8b)]('[nova-act-cli]\x20'+formatNovaActCliLog(_0x56ae3c,_0x4119a4));if(_0x4119a4===_0x32edf7['AqFNf']&&_0x296fc7)try{await _0x296fc7[_0x2433e3(0xf3)]();}catch(_0x443688){await _0x32673b['trackPhaseError'](_0x2433e3(0xca),_0x443688,{'transport':_0x32edf7[_0x2433e3(0x92)]});}return{};},_0x448415=async _0x103028=>{const _0x169f4=_0x1f5cc8;if(_0x32edf7['CpuJy'](_0x103028[_0x169f4(0xa6)],_0x32edf7[_0x169f4(0x119)]))return{};const _0x5c2168=_0x103028;if(_0x32edf7[_0x169f4(0x10b)](_0x5c2168['tool_name'],_0x169f4(0xbf)))return{};return await _0x32673b[_0x169f4(0xfb)](_0x32edf7['fJrIw'],_0x5c2168[_0x169f4(0xce)],{'transport':_0x32edf7[_0x169f4(0x92)],'toolName':_0x32edf7['HZzbF']}),{};};return{'preToolUseHook':_0x100b1e,'postToolUseHook':_0x4cbdf1,'postToolUseFailureHook':_0x448415,'commandCounts':_0x1d148d};}async function runNovaLifecycleCommand(_0x178a35){const _0x3bf139=_0x11e2f1,_0x467350={'ROMep':function(_0xc6d4f,_0x5c2653){return _0xc6d4f(_0x5c2653);},'xzMFp':function(_0x55e452,_0x538031){return _0x55e452??_0x538031;},'cXhvc':function(_0x29a2a5,_0x266620){return _0x29a2a5(_0x266620);}},{novaOptions:_0x23c2bd,commandArgs:_0x345c58,telemetry:_0x8fce6b,phase:_0x2244f2,metadata:_0x1db44f,timeoutMs:_0x11193c}=_0x178a35;_0x8fce6b['trackPhaseStart'](_0x2244f2,_0x1db44f);try{const _0x3a8b6c=await _0x467350[_0x3bf139(0x7a)](runNovaActCliCommand,{..._0x23c2bd,'commandArgs':_0x345c58,'cwd':process[_0x3bf139(0x142)](),'env':process[_0x3bf139(0x7b)],'timeoutMs':_0x467350[_0x3bf139(0xef)](_0x11193c,NOVA_ACT_CLI_COMMAND_TIMEOUT_MS)});_0x8fce6b['trackPhaseEnd'](_0x2244f2,{..._0x1db44f,'subcommand':_0x3a8b6c[_0x3bf139(0xf9)][_0x3bf139(0xec)],'commandPreview':previewNovaActCliCommand(_0x3a8b6c[_0x3bf139(0xf9)][_0x3bf139(0x151)]),'stdoutPreview':_0x467350[_0x3bf139(0x11e)](previewNovaActCliCommand,_0x3a8b6c['stdout']),'stderrPreview':_0x467350[_0x3bf139(0x11e)](previewNovaActCliCommand,_0x3a8b6c[_0x3bf139(0xf2)]),'logDir':extractNovaActLogDir(_0x3a8b6c['stdout'])});}catch(_0x3f3273){await _0x8fce6b[_0x3bf139(0xfb)](_0x2244f2,_0x3f3273,_0x1db44f);throw _0x3f3273;}}export async function finalizeVerifyFeatureNovaCliSession(_0x12663e){const _0x567030=_0x11e2f1,_0xf541b={'DAcXY':_0x567030(0x116),'gqYWj':_0x567030(0xb3),'uYktW':'nova_act_final_snapshot','NnScr':function(_0x54f2b4,_0x5bc12a,_0x2e2c11){return _0x54f2b4(_0x5bc12a,_0x2e2c11);},'NOXjy':'final-state.yaml','TgYqd':_0x567030(0x103),'qmtRd':'--output-dir','xOyKP':'nova-report','Igjib':_0x567030(0x112),'JuiLt':_0x567030(0x14c)},{telemetry:_0x10fc58,novaOptions:_0x1c5bc1,cliArtifactDir:_0xd550cc,transportMetadata:_0x5a9fa,artifactRecorder:_0x10f04e}=_0x12663e,_0x254f9c=[{'phase':_0xf541b[_0x567030(0xb5)],'commandArgs':[_0x567030(0xcc),_0xf541b['gqYWj'],buildCliArtifactPath(_0xd550cc,_0x567030(0xa1))]},{'phase':_0xf541b[_0x567030(0x137)],'commandArgs':['snapshot',_0xf541b[_0x567030(0xb9)],_0xf541b[_0x567030(0xae)](buildCliArtifactPath,_0xd550cc,_0xf541b[_0x567030(0x11a)])]},{'phase':'nova_act_session_export','commandArgs':[_0xf541b['TgYqd'],_0x567030(0x157),_0x567030(0x15c),_0x567030(0x102),'--output',buildCliArtifactPath(_0xd550cc,'nova-session-export.json')]},{'phase':'nova_act_session_report','commandArgs':[_0x567030(0x103),_0x567030(0x157),_0x567030(0xe1),_0xf541b[_0x567030(0xad)],_0xf541b['NnScr'](buildCliArtifactPath,_0xd550cc,_0xf541b[_0x567030(0x161)])]},{'phase':_0x567030(0x14c),'commandArgs':[_0xf541b[_0x567030(0x138)],_0xf541b[_0x567030(0x160)]]}];for(const _0xe69efd of _0x254f9c){_0xe69efd['phase']===_0xf541b[_0x567030(0x15f)]&&await _0x10f04e?.['stop']();try{await runNovaLifecycleCommand({'novaOptions':_0x1c5bc1,'commandArgs':[..._0xe69efd['commandArgs']],'telemetry':_0x10fc58,'phase':_0xe69efd['phase'],'metadata':_0x5a9fa});}catch{}}}export async function harvestVerifyFeatureNovaCliArtifacts(_0x340220){const _0x1a5f4a=_0x11e2f1,_0x2277c0={'opEey':function(_0x935f83,_0x4a478d,_0x445450){return _0x935f83(_0x4a478d,_0x445450);},'dpFus':function(_0x3f6677,_0x57d67d){return _0x3f6677+_0x57d67d;},'liNLl':function(_0x5e297f,_0x1acb33){return _0x5e297f===_0x1acb33;}},{cwd:_0x123dca,cliArtifactDir:_0x28c2dd,startTime:_0x77006d}=_0x340220,_0x2860fd=[];await mkdir(_0x28c2dd,{'recursive':!![]});const _0x2beefc=await _0x2277c0['opEey'](readdir,_0x123dca,{'withFileTypes':!![]});for(const _0x57705e of _0x2beefc){if(!_0x57705e['isFile']()||!VERIFY_FEATURE_NOVA_ARTIFACT_FILE_PATTERN[_0x1a5f4a(0x109)](_0x57705e[_0x1a5f4a(0xea)]))continue;const _0x46963c=join(_0x123dca,_0x57705e['name']),_0x165d77=await stat(_0x46963c);if(_0x2277c0['dpFus'](_0x165d77[_0x1a5f4a(0x82)],0x7d0)<_0x77006d)continue;const _0x2ed810=_0x2277c0['opEey'](buildCliArtifactPath,_0x28c2dd,_0x57705e['name']);if(_0x2277c0['liNLl'](_0x46963c,_0x2ed810))continue;await rename(_0x46963c,_0x2ed810),_0x2860fd[_0x1a5f4a(0x7d)](_0x57705e['name']);}return _0x2860fd['sort']();}export async function loadVerifyFeatureNovaTraceUploadArtifact(_0x379439){const _0x5ce0b4=_0x11e2f1,_0x21eba3={'xHdsE':function(_0x21dd3d,_0xd7b918,_0x54d89e){return _0x21dd3d(_0xd7b918,_0x54d89e);},'CzsMD':'trace.zip','jFYjU':function(_0x2a8fc9,_0x4de8b5){return _0x2a8fc9(_0x4de8b5);}},_0x146b21=_0x21eba3[_0x5ce0b4(0x130)](join,_0x379439,_0x21eba3[_0x5ce0b4(0xff)]);try{return{'buffer':await readFile(_0x146b21),'source':_0x146b21};}catch{return{'buffer':await _0x21eba3[_0x5ce0b4(0x148)](zipVerifyFeatureNovaArtifacts,_0x379439),'source':_0x379439};}}async function zipVerifyFeatureNovaArtifacts(_0x598ef9){const _0x33f4e7=_0x11e2f1,_0x34d6df={'gnhvv':function(_0x116fe8,_0x5c2a6e,_0x3b9875,_0x3ac292){return _0x116fe8(_0x5c2a6e,_0x3b9875,_0x3ac292);},'cvyHu':'nova-artifacts.zip','cBgxl':_0x33f4e7(0xb7),'chOOV':_0x33f4e7(0x14e),'HgLDA':function(_0x5b0f9f,_0x499e9b){return _0x5b0f9f(_0x499e9b);}},_0x369ad5=_0x34d6df['gnhvv'](join,_0x598ef9,'..',_0x34d6df[_0x33f4e7(0xe4)]);try{return await execFileAsync(_0x34d6df['cBgxl'],['-qr',_0x369ad5,'.','-x',_0x34d6df['chOOV']],{'cwd':_0x598ef9}),await _0x34d6df[_0x33f4e7(0x111)](readFile,_0x369ad5);}finally{await rm(_0x369ad5,{'force':!![]});}}export function buildNovaActCliDiagnostics(_0x4ce143){const _0x368a81=_0x11e2f1,_0x135494={'NLUGM':function(_0x3d72be,_0x3a24bb,_0xfc992){return _0x3d72be(_0x3a24bb,_0xfc992);}},_0x501ac9=_0x135494[_0x368a81(0x11d)](buildNovaActCliInvocation,_0x4ce143['novaOptions'],_0x4ce143['commandArgs']);return{'command':_0x501ac9[_0x368a81(0x12a)],'args':_0x501ac9[_0x368a81(0x154)],'commandPreview':previewNovaActCliCommand(_0x501ac9[_0x368a81(0x151)]),'subcommand':_0x501ac9[_0x368a81(0xec)],'sharedOptionsSuffix':buildNovaActCliSharedOptionsSuffix(_0x4ce143['novaOptions'],_0x4ce143[_0x368a81(0x80)])};}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(_0x7e4c0e,_0x4a037d){const _0xb314b0=_0x17c9,_0x45733e=_0x7e4c0e();while(!![]){try{const _0x1a136c=parseInt(_0xb314b0(0xbd))/0x1*(parseInt(_0xb314b0(0xd8))/0x2)+-parseInt(_0xb314b0(0xcc))/0x3*(-parseInt(_0xb314b0(0xd0))/0x4)+-parseInt(_0xb314b0(0xa9))/0x5*(-parseInt(_0xb314b0(0xd9))/0x6)+-parseInt(_0xb314b0(0x9f))/0x7+-parseInt(_0xb314b0(0xc0))/0x8+parseInt(_0xb314b0(0x9b))/0x9*(-parseInt(_0xb314b0(0xba))/0xa)+parseInt(_0xb314b0(0xdb))/0xb*(parseInt(_0xb314b0(0xa6))/0xc);if(_0x1a136c===_0x4a037d)break;else _0x45733e['push'](_0x45733e['shift']());}catch(_0x4caa97){_0x45733e['push'](_0x45733e['shift']());}}}(_0x4e78,0x78390));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(_0x286851,_0x4e6aee=RANGERWRIGHT_CLI_PREVIEW_LIMIT){const _0x4dc079=_0x17c9,_0x1eed19={'cFaWt':function(_0x762bfb,_0x2ba7ef){return _0x762bfb>_0x2ba7ef;},'CBmWh':function(_0x483818,_0x47e56c){return _0x483818+_0x47e56c;}};return _0x1eed19['cFaWt'](_0x286851[_0x4dc079(0xb2)],_0x4e6aee)?_0x1eed19['CBmWh'](_0x286851[_0x4dc079(0xe1)](0x0,_0x4e6aee),'...'):_0x286851;}function extractShellValue(_0x3c6c84){if(!_0x3c6c84)return null;return _0x3c6c84[0x1]??_0x3c6c84[0x2]??_0x3c6c84[0x3]??null;}function extractFirstCommandArgument(_0x3e7b39,_0x19bda8){const _0x267da6=_0x17c9,_0x56cad3={'XASyf':function(_0x134e08,_0x5f24b4){return _0x134e08(_0x5f24b4);}},_0x39f2c9=_0x19bda8['replace'](/[.*+?^${}()|[\]\\]/g,_0x267da6(0xdc));return _0x56cad3[_0x267da6(0xa2)](extractShellValue,_0x3e7b39[_0x267da6(0x8d)](new RegExp(_0x267da6(0xe5)+_0x39f2c9+_0x267da6(0xd4))));}function formatCommandTarget(_0x49098c){const _0x1e19fe=_0x17c9;if(!_0x49098c)return'target';if(/^e\d+$/i['test'](_0x49098c))return _0x1e19fe(0xc8)+_0x49098c;return JSON['stringify'](truncatePreview(_0x49098c,0x78));}function formatRangerwrightCliLog(_0x167c4f,_0x2e5171){const _0x15f2d9=_0x17c9,_0x50013e={'AzmsH':_0x15f2d9(0xd7),'ZuouA':_0x15f2d9(0xc7),'aKpAK':function(_0x322be1,_0x38a40a,_0x31dd24){return _0x322be1(_0x38a40a,_0x31dd24);},'ulUwO':function(_0x2be23e,_0x48bc1b){return _0x2be23e(_0x48bc1b);},'QixfF':_0x15f2d9(0xaa),'DoJYj':'inspect','fqXwh':_0x15f2d9(0x97),'mkoCa':_0x15f2d9(0xdf),'BTEYZ':_0x15f2d9(0xbf),'dSOEc':'close\x20browser\x20session'};switch(_0x2e5171){case _0x50013e['AzmsH']:{const _0x1fdbab=extractFirstCommandArgument(_0x167c4f,_0x2e5171);return _0x1fdbab?_0x15f2d9(0xd1)+_0x1fdbab:'open\x20and\x20inspect';}case _0x50013e[_0x15f2d9(0x90)]:return _0x15f2d9(0xb7)+formatCommandTarget(_0x50013e[_0x15f2d9(0xa5)](extractFirstCommandArgument,_0x167c4f,_0x2e5171));case _0x15f2d9(0xad):case'fill-and-inspect':return'fill\x20'+_0x50013e[_0x15f2d9(0xcb)](formatCommandTarget,extractFirstCommandArgument(_0x167c4f,_0x2e5171));case _0x15f2d9(0x8f):return _0x50013e[_0x15f2d9(0xd3)];case _0x50013e['DoJYj']:return _0x50013e['fqXwh'];case _0x50013e[_0x15f2d9(0xda)]:return'stop\x20tracing';case _0x50013e['BTEYZ']:return'stop\x20video\x20recording';case _0x15f2d9(0x9c):return _0x50013e[_0x15f2d9(0x9d)];default:return _0x2e5171;}}function renderScenarioSections(_0x23cee0){const _0x3230ad=_0x17c9,_0x1b8419={'XokJT':_0x3230ad(0xac),'EDxEh':_0x3230ad(0xae),'BFxtv':_0x3230ad(0xa0),'seiZu':_0x3230ad(0xe4),'VqpPj':function(_0xc9c2ac,_0x599f25){return _0xc9c2ac>_0x599f25;}},{checklistItem:_0x1c68ed,itemFeedback:_0x141df7}=_0x23cee0,_0x4e7740=_0x1c68ed['notes']?'\x0a\x0a##\x20Additional\x20Notes\x0a'+_0x1c68ed['notes']:'';let _0x40980d='';if(_0x141df7&&_0x1b8419[_0x3230ad(0xce)](_0x141df7['unaddressedComments'][_0x3230ad(0xb2)],0x0)){const _0x1071f3=_0x141df7[_0x3230ad(0xe2)][_0x3230ad(0xb6)](_0x23eedc=>{const _0x30de46=_0x3230ad,_0x161c80=new Date(_0x23eedc[_0x30de46(0xc6)])['toLocaleDateString'](_0x1b8419['XokJT'],{'month':_0x1b8419[_0x30de46(0x96)],'day':_0x30de46(0x9a)}),_0x1293af=_0x23eedc['authorName']||_0x23eedc[_0x30de46(0xc5)]||'Reviewer',_0x540393=_0x23eedc[_0x30de46(0xe0)]?_0x30de46(0xe3)+(_0x23eedc['domRef']['selector'][_0x30de46(0xa7)](_0x1b8419[_0x30de46(0xa3)])[_0x30de46(0xcf)]()?.[_0x30de46(0xa7)](':')[0x0]||_0x1b8419['seiZu'])+'>\x20\x22'+(_0x23eedc['domRef']['textContent']||'')['slice'](0x0,0x32)+'\x22)':'';return'-\x20['+_0x23eedc['id']+']\x20'+_0x1293af+'\x20('+_0x161c80+'):\x20\x22'+_0x23eedc['content']+'\x22'+_0x540393;})['join']('\x0a');_0x40980d='\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'+_0x1071f3;}const _0x48af85=_0x141df7?.['canonicalFlow']?'\x0a\x0a##\x20Expected\x20Flow\x20(from\x20previous\x20verification)\x0a'+_0x141df7['canonicalFlow']:'';return''+_0x1c68ed[_0x3230ad(0xbc)]+_0x4e7740+_0x40980d+_0x48af85;}export function buildVerifyFeatureRangerwrightCliPrompt(_0x1291c4){const _0x3a5aa7=_0x17c9,_0x3408b3={'AkQzN':_0x3a5aa7(0x9e),'qzUSj':'about:blank','EgGlA':function(_0x21092a,_0x4009c9){return _0x21092a(_0x4009c9);}},{checklistItem:_0x2ad41f,itemFeedback:_0x358965,taskDescription:_0x4a42a5,commandPrefix:_0x1ee499,isCdpMode:_0x54d130,url:_0x28c861,cdpEndpoint:_0x10601d,loginInstructions:_0x11c708}=_0x1291c4,_0x4720e1=_0x3408b3['AkQzN'],_0xdeb667='key_99_final-state.png',_0x2d2f5d=_0x54d130?_0x1ee499+_0x3a5aa7(0xa4)+quoteShellArg(_0x4720e1):_0x1ee499+'\x20open-and-inspect\x20'+quoteShellArg(_0x28c861??_0x3408b3[_0x3a5aa7(0x98)])+_0x3a5aa7(0xc9)+_0x3408b3[_0x3a5aa7(0x8e)](quoteShellArg,_0x4720e1),_0x942075=_0x54d130?'##\x20App\x20Context\x0aYou\x20are\x20connected\x20to\x20a\x20desktop\x20application\x20via\x20CDP\x20at\x20'+_0x10601d+'.\x0aThe\x20app\x20is\x20already\x20running\x20and\x20connected.\x20Start\x20with\x20inspect\x20instead\x20of\x20opening\x20a\x20URL.':'CRITICAL\x20URL\x20REQUIREMENT:\x0aYour\x20base\x20URL\x20is:\x20'+_0x28c861+_0x3a5aa7(0xb5),_0x35fb0f=_0x11c708?_0x3a5aa7(0xcd)+_0x11c708+'\x0a\x0aAfter\x20completing\x20authentication,\x20proceed\x20with\x20the\x20verification\x20task\x20below.\x0aIf\x20authentication\x20fails,\x20return\x20evaluation\x20\x22blocked\x22\x20and\x20describe\x20the\x20auth\x20failure.':'';return _0x3a5aa7(0xb0)+renderScenarioSections({'checklistItem':_0x2ad41f,'itemFeedback':_0x358965})+'\x0a\x0a##\x20Task\x20to\x20Execute\x0a'+_0x4a42a5+'\x0a\x0a'+_0x942075+_0x35fb0f+_0x3a5aa7(0x99)+_0x1ee499+_0x3a5aa7(0x92)+_0x2d2f5d+_0x3a5aa7(0xc3)+_0x1ee499+'\x20click-and-inspect\x20e37\x20--screenshot-path\x20'+quoteShellArg(_0xdeb667)+_0x3a5aa7(0x93);}export function buildVerifyFeatureRangerwrightCliDebugPrompt(_0x51d6be){const _0x55a5dc=_0x17c9,_0x5b5671={'IIieG':function(_0xb8e086,_0x1c28df){return _0xb8e086(_0x1c28df);}},_0x4ffa24='01_mozilla-homepage.png',_0x13e924='key_02_learn-more.png';return _0x55a5dc(0xd5)+_0x51d6be['commandPrefix']+_0x55a5dc(0xde)+_0x51d6be['commandPrefix']+_0x55a5dc(0xca)+_0x5b5671[_0x55a5dc(0xbe)](quoteShellArg,_0x51d6be[_0x55a5dc(0xc2)])+_0x55a5dc(0xc9)+quoteShellArg(_0x4ffa24)+'`\x0a2.\x20Use\x20the\x20returned\x20JSON\x20to\x20find\x20the\x20\x22Learn\x20More\x22\x20link\x20ref.\x0a3.\x20Run\x20`'+_0x51d6be[_0x55a5dc(0xd6)]+'\x20click-and-inspect\x20<ref>\x20--screenshot-path\x20'+_0x5b5671['IIieG'](quoteShellArg,_0x13e924)+_0x55a5dc(0xaf);}function _0x17c9(_0x48f16a,_0x3dd7fd){_0x48f16a=_0x48f16a-0x8d;const _0x4e7877=_0x4e78();let _0x17c97b=_0x4e7877[_0x48f16a];return _0x17c97b;}function _0x4e78(){const _0x37c934=['BFxtv','\x20inspect\x20--screenshot-path\x20','aKpAK','105276glDWga','split','cwd','5wJsPfl','go\x20back\x20and\x20inspect','rangerwright_cli_tracing_stop','en-US','fill','short','`\x0a4.\x20Return\x20immediately\x20with\x20the\x20structured\x20output.\x0a\x0aReturn\x20your\x20findings\x20in\x20the\x20structured\x20output\x20format.','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','xgZPy','length','YleFW','invocation','\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.','map','click\x20and\x20inspect\x20','TAbBF','tool_name','40cuQbWp','PostToolUseFailure','description','414841TJCiit','IIieG','video-stop','4706984wdCCIO','hook_event_name','url','\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','ODjUV','authorEmail','createdAt','click-and-inspect','ref\x20','\x20--screenshot-path\x20','\x20open-and-inspect\x20','ulUwO','493059qTmstr','\x0a\x0a##\x20Authentication\x0aBEFORE\x20starting\x20the\x20verification\x20task,\x20authenticate\x20using\x20these\x20steps:\x0a','VqpPj','pop','8mAilDj','open\x20and\x20inspect\x20','qhBdK','QixfF','(?:\x5cs+(?:\x22([^\x22]+)\x22|\x27([^\x27]+)\x27|(\x5cS+)))','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','commandPrefix','open-and-inspect','4vIMCVQ','345558wskXwO','mkoCa','396ZIcEYR','\x5c$&','error','\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`','tracing-stop','domRef','slice','unaddressedComments','\x20(on\x20element:\x20<','element','(?:^|\x5cs)','match','EgGlA','back-and-inspect','ZuouA','values','\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\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.','Bash','trackPhaseEnd','EDxEh','inspect\x20page','qzUSj','\x0a\x0a##\x20Rangerwright\x20Instructions\x0aUse\x20Bash\x20and\x20Rangerwright\x20only.\x0a\x0aEvery\x20browser\x20command\x20must\x20start\x20with\x20this\x20exact\x20literal\x20command\x20prefix:\x0a\x0a','numeric','911529FJrekB','close','dSOEc','01_initial-state.png','321160BXmMgD','\x20>\x20','vaXgH','XASyf'];_0x4e78=function(){return _0x37c934;};return _0x4e78();}export function summarizeVerifyFeatureRangerwrightCliCommandAvailability(_0x4da55b){const _0x3eab5a=_0x17c9,_0x7c8ca5=[..._0x4da55b['keys']()]['sort']();let _0x2622b3=0x0;for(const _0x25e3e1 of _0x4da55b[_0x3eab5a(0x91)]()){_0x2622b3+=_0x25e3e1;}return{'cliCommandCount':_0x2622b3,'cliCommandsSeen':_0x7c8ca5,'noCliCommandsCalled':_0x2622b3===0x0};}export function createVerifyFeatureRangerwrightCliHooks(_0x81d8c4){const _0x5f1e8e={'vaXgH':function(_0x256ad9,_0x4f3858){return _0x256ad9!==_0x4f3858;},'TAbBF':function(_0x2e28e3,_0x33921c){return _0x2e28e3(_0x33921c);},'ZYoiy':function(_0x160488,_0xf1543e){return _0x160488+_0xf1543e;},'xgZPy':'rangerwright_cli_command','GTqGH':function(_0x387b57,_0x49ef46,_0x48a4ca){return _0x387b57(_0x49ef46,_0x48a4ca);},'Btucn':'Bash','qhBdK':'rangerwright_cli_command_failure','OtKJE':'rangerwright-cli'},_0x4837ed=new Map(),_0x2672a0=async _0x33318c=>{const _0x29481c=_0x17c9;if(_0x33318c['hook_event_name']!=='PostToolUse')return{};const _0xef8e0a=_0x33318c;if(_0x5f1e8e[_0x29481c(0xa1)](_0xef8e0a['tool_name'],_0x29481c(0x94)))return{};const _0x88eca0=_0xef8e0a['tool_input'],_0x172235=extractBashCommand(_0x88eca0);if(!_0x172235)return{};const _0x300c1b=_0x5f1e8e[_0x29481c(0xb8)](parseRangerwrightCliCommand,_0x172235);if(!_0x300c1b)return{};return _0x4837ed['set'](_0x300c1b,_0x5f1e8e['ZYoiy'](_0x4837ed['get'](_0x300c1b)||0x0,0x1)),_0x81d8c4['trackPhaseStart']('rangerwright_cli_command',{'subcommand':_0x300c1b}),_0x81d8c4[_0x29481c(0x95)](_0x5f1e8e[_0x29481c(0xb1)],{'subcommand':_0x300c1b,'commandPreview':_0x5f1e8e[_0x29481c(0xb8)](truncatePreview,_0x172235)}),console['log']('[rangerwright-cli]\x20'+_0x5f1e8e['GTqGH'](formatRangerwrightCliLog,_0x172235,_0x300c1b)),{};},_0x35aac4=async _0x4f4b11=>{const _0x3832af=_0x17c9;if(_0x5f1e8e[_0x3832af(0xa1)](_0x4f4b11[_0x3832af(0xc1)],_0x3832af(0xbb)))return{};const _0x304f1c=_0x4f4b11;if(_0x304f1c[_0x3832af(0xb9)]!==_0x5f1e8e['Btucn'])return{};return await _0x81d8c4['trackPhaseError'](_0x5f1e8e[_0x3832af(0xd2)],_0x304f1c[_0x3832af(0xdd)],{'transport':_0x5f1e8e['OtKJE'],'toolName':_0x3832af(0x94)}),{};};return{'postToolUseHook':_0x2672a0,'postToolUseFailureHook':_0x35aac4,'commandCounts':_0x4837ed};}async function runRangerwrightLifecycleCommand(_0x3cfd36){const _0x35a267=_0x17c9,_0x2ada59={'giHvJ':function(_0x17e7ed,_0x1dbb2b){return _0x17e7ed??_0x1dbb2b;},'YleFW':function(_0x41d8c8,_0x11dcee,_0x312b38){return _0x41d8c8(_0x11dcee,_0x312b38);}},{options:_0x2de036,commandArgs:_0x338a5d,env:_0x13b2bb,telemetry:_0x497860,phase:_0x108b99,metadata:_0x2c60c9,timeoutMs:_0x186adf}=_0x3cfd36;_0x497860['trackPhaseStart'](_0x108b99,_0x2c60c9);try{const _0x4007e7=await runRangerwrightCliCommand({..._0x2de036,'commandArgs':_0x338a5d,'cwd':process[_0x35a267(0xa8)](),'env':_0x13b2bb,'timeoutMs':_0x2ada59['giHvJ'](_0x186adf,RANGERWRIGHT_CLI_COMMAND_TIMEOUT_MS)});_0x497860[_0x35a267(0x95)](_0x108b99,{..._0x2c60c9,'subcommand':_0x4007e7[_0x35a267(0xb4)]['subcommand'],'stdoutPreview':_0x2ada59[_0x35a267(0xb3)](truncatePreview,_0x4007e7['stdout'],0x7d0),'stderrPreview':_0x2ada59[_0x35a267(0xb3)](truncatePreview,_0x4007e7['stderr'],0x7d0)});}catch(_0x2e9dbd){await _0x497860['trackPhaseError'](_0x108b99,_0x2e9dbd,_0x2c60c9);throw _0x2e9dbd;}}export async function finalizeVerifyFeatureRangerwrightCliSession(_0xdb58d4){const _0x4334a7=_0x17c9,_0x427a9f={'CNcRa':_0x4334a7(0xab),'ODjUV':'rangerwright_cli_video_stop','sfDCg':'close'},{telemetry:_0x24c429,rangerwrightOptions:_0x3f2c65,env:_0x4e074c,transportMetadata:_0x17277d}=_0xdb58d4,_0x24d078=[{'phase':_0x427a9f['CNcRa'],'commandArgs':['tracing-stop']},{'phase':_0x427a9f[_0x4334a7(0xc4)],'commandArgs':['video-stop']},{'phase':'rangerwright_cli_close','commandArgs':[_0x427a9f['sfDCg']]}];for(const _0x4e4444 of _0x24d078){try{await runRangerwrightLifecycleCommand({'options':_0x3f2c65,'commandArgs':[..._0x4e4444['commandArgs']],'env':_0x4e074c,'telemetry':_0x24c429,'phase':_0x4e4444['phase'],'metadata':_0x17277d});}catch{}}}
|
|
1
|
+
function _0x4858(_0x4cadc6,_0x5a41dd){_0x4cadc6=_0x4cadc6-0x11b;const _0x59215e=_0x5921();let _0x48585e=_0x59215e[_0x4cadc6];return _0x48585e;}(function(_0x30f498,_0x11c7a3){const _0xa2cbcd=_0x4858,_0x46252a=_0x30f498();while(!![]){try{const _0x4773c2=parseInt(_0xa2cbcd(0x16c))/0x1+-parseInt(_0xa2cbcd(0x11f))/0x2+parseInt(_0xa2cbcd(0x161))/0x3*(-parseInt(_0xa2cbcd(0x163))/0x4)+parseInt(_0xa2cbcd(0x143))/0x5+parseInt(_0xa2cbcd(0x121))/0x6*(-parseInt(_0xa2cbcd(0x126))/0x7)+-parseInt(_0xa2cbcd(0x173))/0x8+parseInt(_0xa2cbcd(0x130))/0x9;if(_0x4773c2===_0x11c7a3)break;else _0x46252a['push'](_0x46252a['shift']());}catch(_0x1abaa5){_0x46252a['push'](_0x46252a['shift']());}}}(_0x5921,0xc8b1d));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(_0x285399,_0x5ab70b=RANGERWRIGHT_CLI_PREVIEW_LIMIT){const _0xfd4de0=_0x4858,_0x502618={'njtSM':function(_0x4b2bcd,_0x250fe8){return _0x4b2bcd>_0x250fe8;}};return _0x502618['njtSM'](_0x285399[_0xfd4de0(0x159)],_0x5ab70b)?_0x285399[_0xfd4de0(0x158)](0x0,_0x5ab70b)+'...':_0x285399;}function extractShellValue(_0x33117f){if(!_0x33117f)return null;return _0x33117f[0x1]??_0x33117f[0x2]??_0x33117f[0x3]??null;}function extractFirstCommandArgument(_0x29442f,_0x3840c2){const _0x55e7b1=_0x4858,_0x52afd0={'tLQxE':function(_0x133c74,_0x2e7a3d){return _0x133c74(_0x2e7a3d);}},_0x2037f4=_0x3840c2['replace'](/[.*+?^${}()|[\]\\]/g,'\x5c$&');return _0x52afd0[_0x55e7b1(0x15e)](extractShellValue,_0x29442f[_0x55e7b1(0x12b)](new RegExp(_0x55e7b1(0x12e)+_0x2037f4+'(?:\x5cs+(?:\x22([^\x22]+)\x22|\x27([^\x27]+)\x27|(\x5cS+)))')));}function formatCommandTarget(_0x53cb65){const _0x46828d=_0x4858;if(!_0x53cb65)return'target';if(/^e\d+$/i['test'](_0x53cb65))return'ref\x20'+_0x53cb65;return JSON[_0x46828d(0x15d)](truncatePreview(_0x53cb65,0x78));}function _0x5921(){const _0x4b6238=['ZxADx','video-stop','stringify','tLQxE','\x20open-and-inspect\x20','stdout','77352WrHXib','en-US','236TZGEzt','unaddressedComments','key_99_final-state.png','BjEDm','content','\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','fill-and-inspect','open\x20and\x20inspect\x20','1257449IzdauS','click\x20and\x20inspect\x20','map','notes','numeric','UPnqT','error','7438352YvJuIw','pKhWN','trackPhaseEnd','AYtfe','JPWIb','2011010JtmGxr','tool_input','6mLVErN','FGmIr','xTIUO','\x20--screenshot-path\x20','zgnIS','5635329VilMmb','inspect','ZATNj','cwd','commandPrefix','match','\x20>\x20','\x20(on\x20element:\x20<','(?:^|\x5cs)','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','25843311rPaCxr','element','kwSUF','uXqWq','Bash','vkXww','\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','get','split','tracing-stop','\x0a\x0a##\x20Additional\x20Notes\x0a','TuCCv','01_initial-state.png','toLocaleDateString','textContent','haymg','fill','XpAwR','stderr','4773595tXvtHt','PostToolUseFailure','keys','GZEqI','trackPhaseError','KLogl','stop\x20tracing','BeqTn','key_02_learn-more.png','rangerwright_cli_tracing_stop','##\x20App\x20Context\x0aYou\x20are\x20connected\x20to\x20a\x20desktop\x20application\x20via\x20CDP\x20at\x20','\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.','phase','rangerwright_cli_command','close','CRITICAL\x20URL\x20REQUIREMENT:\x0aYour\x20base\x20URL\x20is:\x20','rangerwright_cli_close','domRef','trackPhaseStart','selector','01_mozilla-homepage.png','slice','length','\x0a\x0aAfter\x20completing\x20authentication,\x20proceed\x20with\x20the\x20verification\x20task\x20below.\x0aIf\x20authentication\x20fails,\x20return\x20evaluation\x20\x22blocked\x22\x20and\x20describe\x20the\x20auth\x20failure.'];_0x5921=function(){return _0x4b6238;};return _0x5921();}function formatRangerwrightCliLog(_0x49ffc2,_0x3f83c8){const _0x54983f=_0x4858,_0x325712={'uXqWq':'click-and-inspect','GzFpm':function(_0x50aaa9,_0x45a929){return _0x50aaa9(_0x45a929);},'XpAwR':function(_0x1e38fe,_0x4a99c7,_0x4737a4){return _0x1e38fe(_0x4a99c7,_0x4737a4);},'UPnqT':_0x54983f(0x140),'QhjRT':_0x54983f(0x16a),'ZATNj':function(_0x5dc2b6,_0x155eeb){return _0x5dc2b6(_0x155eeb);},'AYtfe':'back-and-inspect','YyExa':'go\x20back\x20and\x20inspect','vkXww':_0x54983f(0x127),'FseHS':'inspect\x20page','ZxADx':'tracing-stop','RNVST':_0x54983f(0x149),'WlXMv':'stop\x20video\x20recording','OXfRi':'close\x20browser\x20session'};switch(_0x3f83c8){case'open-and-inspect':{const _0x270321=extractFirstCommandArgument(_0x49ffc2,_0x3f83c8);return _0x270321?_0x54983f(0x16b)+_0x270321:'open\x20and\x20inspect';}case _0x325712[_0x54983f(0x133)]:return _0x54983f(0x16d)+_0x325712['GzFpm'](formatCommandTarget,_0x325712[_0x54983f(0x141)](extractFirstCommandArgument,_0x49ffc2,_0x3f83c8));case _0x325712[_0x54983f(0x171)]:case _0x325712['QhjRT']:return'fill\x20'+_0x325712[_0x54983f(0x128)](formatCommandTarget,extractFirstCommandArgument(_0x49ffc2,_0x3f83c8));case _0x325712[_0x54983f(0x11d)]:return _0x325712['YyExa'];case _0x325712[_0x54983f(0x135)]:return _0x325712['FseHS'];case _0x325712[_0x54983f(0x15b)]:return _0x325712['RNVST'];case _0x54983f(0x15c):return _0x325712['WlXMv'];case'close':return _0x325712['OXfRi'];default:return _0x3f83c8;}}function renderScenarioSections(_0x3ecf2c){const _0x5010bf=_0x4858,_0x320db2={'cISDy':_0x5010bf(0x170),'BeqTn':_0x5010bf(0x12c),'pKhWN':function(_0x3582aa,_0xd80b99){return _0x3582aa>_0xd80b99;}},{checklistItem:_0x107474,itemFeedback:_0x2952a7}=_0x3ecf2c,_0x205c27=_0x107474['notes']?_0x5010bf(0x13a)+_0x107474[_0x5010bf(0x16f)]:'';let _0x55868c='';if(_0x2952a7&&_0x320db2[_0x5010bf(0x11b)](_0x2952a7[_0x5010bf(0x164)][_0x5010bf(0x159)],0x0)){const _0x587c90=_0x2952a7['unaddressedComments'][_0x5010bf(0x16e)](_0x124a33=>{const _0x3cc9ca=_0x5010bf,_0x5c4e66=new Date(_0x124a33['createdAt'])[_0x3cc9ca(0x13d)](_0x3cc9ca(0x162),{'month':'short','day':_0x320db2['cISDy']}),_0x5975f6=_0x124a33['authorName']||_0x124a33['authorEmail']||'Reviewer',_0x240658=_0x124a33['domRef']?_0x3cc9ca(0x12d)+(_0x124a33['domRef'][_0x3cc9ca(0x156)][_0x3cc9ca(0x138)](_0x320db2[_0x3cc9ca(0x14a)])['pop']()?.[_0x3cc9ca(0x138)](':')[0x0]||_0x3cc9ca(0x131))+'>\x20\x22'+(_0x124a33[_0x3cc9ca(0x154)][_0x3cc9ca(0x13e)]||'')[_0x3cc9ca(0x158)](0x0,0x32)+'\x22)':'';return'-\x20['+_0x124a33['id']+']\x20'+_0x5975f6+'\x20('+_0x5c4e66+'):\x20\x22'+_0x124a33[_0x3cc9ca(0x167)]+'\x22'+_0x240658;})['join']('\x0a');_0x55868c=_0x5010bf(0x136)+_0x587c90;}const _0x2d667f=_0x2952a7?.['canonicalFlow']?'\x0a\x0a##\x20Expected\x20Flow\x20(from\x20previous\x20verification)\x0a'+_0x2952a7['canonicalFlow']:'';return''+_0x107474['description']+_0x205c27+_0x55868c+_0x2d667f;}export function buildVerifyFeatureRangerwrightCliPrompt(_0x2fb4f4){const _0x49cc03=_0x4858,_0x342f3e={'kwSUF':_0x49cc03(0x13c),'JCkgI':_0x49cc03(0x165),'zITeF':function(_0x495f65,_0x447381){return _0x495f65(_0x447381);},'Pigxb':function(_0x4cb3bc,_0x1254d6){return _0x4cb3bc(_0x1254d6);}},{checklistItem:_0x17c388,itemFeedback:_0x497ae1,taskDescription:_0x1c24fe,commandPrefix:_0x31cb03,isCdpMode:_0x38400,url:_0x37027a,cdpEndpoint:_0x2a2bc4,loginInstructions:_0x52e230}=_0x2fb4f4,_0xe937af=_0x342f3e[_0x49cc03(0x132)],_0x1af8f9=_0x342f3e['JCkgI'],_0x50c30d=_0x38400?_0x31cb03+'\x20inspect\x20--screenshot-path\x20'+quoteShellArg(_0xe937af):_0x31cb03+'\x20open-and-inspect\x20'+quoteShellArg(_0x37027a??'about:blank')+'\x20--screenshot-path\x20'+_0x342f3e['zITeF'](quoteShellArg,_0xe937af),_0x44c77d=_0x38400?_0x49cc03(0x14d)+_0x2a2bc4+'.\x0aThe\x20app\x20is\x20already\x20running\x20and\x20connected.\x20Start\x20with\x20inspect\x20instead\x20of\x20opening\x20a\x20URL.':_0x49cc03(0x152)+_0x37027a+'\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.',_0x556a2b=_0x52e230?'\x0a\x0a##\x20Authentication\x0aBEFORE\x20starting\x20the\x20verification\x20task,\x20authenticate\x20using\x20these\x20steps:\x0a'+_0x52e230+_0x49cc03(0x15a):'';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'+_0x342f3e['Pigxb'](renderScenarioSections,{'checklistItem':_0x17c388,'itemFeedback':_0x497ae1})+'\x0a\x0a##\x20Task\x20to\x20Execute\x0a'+_0x1c24fe+'\x0a\x0a'+_0x44c77d+_0x556a2b+'\x0a\x0a##\x20Rangerwright\x20Instructions\x0aUse\x20Bash\x20and\x20Rangerwright\x20only.\x0a\x0aEvery\x20browser\x20command\x20must\x20start\x20with\x20this\x20exact\x20literal\x20command\x20prefix:\x0a\x0a'+_0x31cb03+'\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'+_0x50c30d+_0x49cc03(0x168)+_0x31cb03+'\x20click-and-inspect\x20e37\x20--screenshot-path\x20'+quoteShellArg(_0x1af8f9)+_0x49cc03(0x14e);}export function buildVerifyFeatureRangerwrightCliDebugPrompt(_0xe54cdb){const _0x41a30b=_0x4858,_0x126787={'BjEDm':_0x41a30b(0x157)},_0x16f909=_0x126787[_0x41a30b(0x166)],_0x19abef=_0x41a30b(0x14b);return _0x41a30b(0x12f)+_0xe54cdb[_0x41a30b(0x12a)]+'\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`'+_0xe54cdb['commandPrefix']+_0x41a30b(0x15f)+quoteShellArg(_0xe54cdb['url'])+_0x41a30b(0x124)+quoteShellArg(_0x16f909)+'`\x0a2.\x20Use\x20the\x20returned\x20JSON\x20to\x20find\x20the\x20\x22Learn\x20More\x22\x20link\x20ref.\x0a3.\x20Run\x20`'+_0xe54cdb[_0x41a30b(0x12a)]+'\x20click-and-inspect\x20<ref>\x20--screenshot-path\x20'+quoteShellArg(_0x19abef)+'`\x0a4.\x20Return\x20immediately\x20with\x20the\x20structured\x20output.\x0a\x0aReturn\x20your\x20findings\x20in\x20the\x20structured\x20output\x20format.';}export function summarizeVerifyFeatureRangerwrightCliCommandAvailability(_0x333bb2){const _0x1f3649=_0x4858,_0x5bd500={'zgnIS':function(_0x2297a8,_0x7eac8d){return _0x2297a8===_0x7eac8d;}},_0x59471a=[..._0x333bb2[_0x1f3649(0x145)]()]['sort']();let _0x596971=0x0;for(const _0x3d7fab of _0x333bb2['values']()){_0x596971+=_0x3d7fab;}return{'cliCommandCount':_0x596971,'cliCommandsSeen':_0x59471a,'noCliCommandsCalled':_0x5bd500[_0x1f3649(0x125)](_0x596971,0x0)};}export function createVerifyFeatureRangerwrightCliHooks(_0x40f204){const _0x52aa11=_0x4858,_0x4777ad={'DozwH':'PostToolUse','KLogl':function(_0x191112,_0x5e656d){return _0x191112!==_0x5e656d;},'GZEqI':_0x52aa11(0x134),'ZhplY':function(_0x24e1e0,_0x4a6d3b){return _0x24e1e0(_0x4a6d3b);},'kCkod':function(_0x33d274,_0x433550){return _0x33d274+_0x433550;},'haymg':function(_0x21c894,_0x388867){return _0x21c894(_0x388867);},'hOIjc':function(_0x2f275d,_0xb525a7,_0x102b15){return _0x2f275d(_0xb525a7,_0x102b15);},'hTsDE':function(_0x3a3411,_0x2d20e8){return _0x3a3411!==_0x2d20e8;},'TuCCv':function(_0x4e16f2,_0x30f7d8){return _0x4e16f2!==_0x30f7d8;},'toPPI':'rangerwright-cli'},_0x49f05c=new Map(),_0x488a94=async _0x5387e9=>{const _0x5b48f5=_0x52aa11;if(_0x5387e9['hook_event_name']!==_0x4777ad['DozwH'])return{};const _0x1254c2=_0x5387e9;if(_0x4777ad[_0x5b48f5(0x148)](_0x1254c2['tool_name'],_0x4777ad[_0x5b48f5(0x146)]))return{};const _0x2af8a2=_0x1254c2[_0x5b48f5(0x120)],_0x132ed6=extractBashCommand(_0x2af8a2);if(!_0x132ed6)return{};const _0x1d9c83=_0x4777ad['ZhplY'](parseRangerwrightCliCommand,_0x132ed6);if(!_0x1d9c83)return{};return _0x49f05c['set'](_0x1d9c83,_0x4777ad['kCkod'](_0x49f05c[_0x5b48f5(0x137)](_0x1d9c83)||0x0,0x1)),_0x40f204['trackPhaseStart'](_0x5b48f5(0x150),{'subcommand':_0x1d9c83}),_0x40f204[_0x5b48f5(0x11c)](_0x5b48f5(0x150),{'subcommand':_0x1d9c83,'commandPreview':_0x4777ad[_0x5b48f5(0x13f)](truncatePreview,_0x132ed6)}),console['log']('[rangerwright-cli]\x20'+_0x4777ad['hOIjc'](formatRangerwrightCliLog,_0x132ed6,_0x1d9c83)),{};},_0x2e4476=async _0x22c3f3=>{const _0x25543d=_0x52aa11;if(_0x4777ad['hTsDE'](_0x22c3f3['hook_event_name'],_0x25543d(0x144)))return{};const _0x54c59a=_0x22c3f3;if(_0x4777ad[_0x25543d(0x13b)](_0x54c59a[_0x25543d(0x169)],_0x4777ad['GZEqI']))return{};return await _0x40f204['trackPhaseError']('rangerwright_cli_command_failure',_0x54c59a[_0x25543d(0x172)],{'transport':_0x4777ad['toPPI'],'toolName':_0x25543d(0x134)}),{};};return{'postToolUseHook':_0x488a94,'postToolUseFailureHook':_0x2e4476,'commandCounts':_0x49f05c};}async function runRangerwrightLifecycleCommand(_0x2dc455){const _0x49ea9f=_0x4858,_0x5cce11={'FGmIr':function(_0x9e713e,_0x4dea43,_0x2a6c2e){return _0x9e713e(_0x4dea43,_0x2a6c2e);}},{options:_0x1f8aaa,commandArgs:_0x41b824,env:_0x216413,telemetry:_0x19147f,phase:_0x5f5bdd,metadata:_0x1b60af,timeoutMs:_0x275210}=_0x2dc455;_0x19147f[_0x49ea9f(0x155)](_0x5f5bdd,_0x1b60af);try{const _0x29b67a=await runRangerwrightCliCommand({..._0x1f8aaa,'commandArgs':_0x41b824,'cwd':process[_0x49ea9f(0x129)](),'env':_0x216413,'timeoutMs':_0x275210??RANGERWRIGHT_CLI_COMMAND_TIMEOUT_MS});_0x19147f[_0x49ea9f(0x11c)](_0x5f5bdd,{..._0x1b60af,'subcommand':_0x29b67a['invocation']['subcommand'],'stdoutPreview':truncatePreview(_0x29b67a[_0x49ea9f(0x160)],0x7d0),'stderrPreview':_0x5cce11[_0x49ea9f(0x122)](truncatePreview,_0x29b67a[_0x49ea9f(0x142)],0x7d0)});}catch(_0x5b1eda){await _0x19147f[_0x49ea9f(0x147)](_0x5f5bdd,_0x5b1eda,_0x1b60af);throw _0x5b1eda;}}export async function finalizeVerifyFeatureRangerwrightCliSession(_0x2bad01){const _0x2a9f81=_0x4858,_0x2aa31b={'RjMJk':_0x2a9f81(0x14c),'JPWIb':_0x2a9f81(0x15c),'xTIUO':_0x2a9f81(0x153),'cBiJU':_0x2a9f81(0x151)},{telemetry:_0x2b3f54,rangerwrightOptions:_0x1ee764,env:_0x20b429,transportMetadata:_0x4c2c61}=_0x2bad01,_0x446b62=[{'phase':_0x2aa31b['RjMJk'],'commandArgs':[_0x2a9f81(0x139)]},{'phase':'rangerwright_cli_video_stop','commandArgs':[_0x2aa31b[_0x2a9f81(0x11e)]]},{'phase':_0x2aa31b[_0x2a9f81(0x123)],'commandArgs':[_0x2aa31b['cBiJU']]}];for(const _0x336e27 of _0x446b62){try{await runRangerwrightLifecycleCommand({'options':_0x1ee764,'commandArgs':[..._0x336e27['commandArgs']],'env':_0x20b429,'telemetry':_0x2b3f54,'phase':_0x336e27[_0x2a9f81(0x14f)],'metadata':_0x4c2c61});}catch{}}}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@ranger-testing/ranger-cli",
|
|
3
|
-
"version": "3.
|
|
3
|
+
"version": "3.1.0",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"bin": {
|
|
6
6
|
"ranger": "./build/cli.js",
|
|
@@ -26,6 +26,7 @@
|
|
|
26
26
|
"dotenv": "^16.4.5",
|
|
27
27
|
"inquirer": "^9.2.12",
|
|
28
28
|
"playwright": "^1.57.0",
|
|
29
|
+
"ws": "^8.20.1",
|
|
29
30
|
"yargs": "^17.7.2",
|
|
30
31
|
"zod": "^3.23.8"
|
|
31
32
|
},
|
|
@@ -33,6 +34,7 @@
|
|
|
33
34
|
"@types/inquirer": "^9.0.7",
|
|
34
35
|
"@types/jest": "^29.5.0",
|
|
35
36
|
"@types/node": "^22.0.0",
|
|
37
|
+
"@types/ws": "^8.18.1",
|
|
36
38
|
"@types/yargs": "^17.0.32",
|
|
37
39
|
"jest": "^29.7.0",
|
|
38
40
|
"javascript-obfuscator": "^4.1.1",
|