@ranger-testing/ranger-cli 3.1.7-alpha.9ed0a8d-59 → 3.1.7-alpha.9f8e190-62
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/actors.js +1 -0
- 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/scenarioOriginCheck.js +1 -1
- package/build/commands/utils/sessionCache.js +1 -1
- package/build/commands/utils/settings.js +1 -1
- package/build/commands/utils/skillContent.js +1 -1
- package/build/commands/utils/skills.js +1 -1
- package/build/commands/utils/stitchWebmFiles.js +1 -1
- package/build/commands/utils/telemetry.js +1 -1
- package/build/commands/utils/tokenRefresh.js +1 -1
- package/build/commands/utils/traceSnapshotMapper.js +1 -1
- package/build/commands/utils/tunnelClient.js +1 -1
- package/build/commands/utils/userApi.js +1 -1
- package/build/commands/utils/version.js +1 -1
- package/build/commands/verifyFeature.js +1 -1
- package/build/commands/verifyFeatureCli.js +1 -1
- package/build/commands/verifyFeatureNovaCli.js +1 -1
- package/build/commands/verifyFeatureRangerwrightCli.js +1 -1
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(_0x46c561,_0x4925bb){const _0xbe1225=_0x31a5,_0x4b4dad=_0x46c561();while(!![]){try{const _0x5ca533=parseInt(_0xbe1225(0x167))/0x1*(-parseInt(_0xbe1225(0x191))/0x2)+parseInt(_0xbe1225(0x1e4))/0x3+parseInt(_0xbe1225(0x1be))/0x4*(parseInt(_0xbe1225(0x19b))/0x5)+parseInt(_0xbe1225(0x1bf))/0x6+parseInt(_0xbe1225(0x1c6))/0x7+-parseInt(_0xbe1225(0x1e3))/0x8*(parseInt(_0xbe1225(0x1c2))/0x9)+parseInt(_0xbe1225(0x18d))/0xa*(-parseInt(_0xbe1225(0x198))/0xb);if(_0x5ca533===_0x4925bb)break;else _0x4b4dad['push'](_0x4b4dad['shift']());}catch(_0x1628e1){_0x4b4dad['push'](_0x4b4dad['shift']());}}}(_0x5dc4,0x46ae6));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(_0x16dab9,_0x1fcd4f=PLAYWRIGHT_CLI_PREVIEW_LIMIT){const _0x303260=_0x31a5,_0x56ebec={'QxKZB':function(_0x486c9a,_0x4db2c2){return _0x486c9a>_0x4db2c2;},'ENFFC':function(_0x1640ff,_0x216e88){return _0x1640ff+_0x216e88;},'NgvLH':_0x303260(0x1da)};return _0x56ebec['QxKZB'](_0x16dab9[_0x303260(0x1b6)],_0x1fcd4f)?_0x56ebec['ENFFC'](_0x16dab9[_0x303260(0x174)](0x0,_0x1fcd4f),_0x56ebec['NgvLH']):_0x16dab9;}function buildCliArtifactPath(_0x588fae,_0x191177){const _0x1d4349=_0x31a5,_0x5554e1={'etcPM':function(_0x4af4d1,_0x127565,_0x95ebf){return _0x4af4d1(_0x127565,_0x95ebf);}};return _0x5554e1[_0x1d4349(0x189)](join,_0x588fae,_0x191177);}function toStepDisplayName(_0x5bb706){const _0x55af4d=_0x31a5,_0x4c0911={'TuBJm':function(_0x21d3c4,_0x3c1049){return _0x21d3c4(_0x3c1049);}},_0x4aaf66=basename(_0x5bb706)['replace'](/\.(?:png|ya?ml)$/i,'')[_0x55af4d(0x19c)](/^key_/i,'')['replace'](/^\d+_/,'')[_0x55af4d(0x19c)](/-/g,'\x20');return{'name':_0x4aaf66,'isKeyStep':/^key_/i['test'](_0x4c0911['TuBJm'](basename,_0x5bb706))};}function extractShellValue(_0x18dc86){if(!_0x18dc86)return null;return _0x18dc86[0x1]??_0x18dc86[0x2]??_0x18dc86[0x3]??null;}function extractFilenameOption(_0x2f57b0){const _0x819ccf=_0x31a5,_0x3760bb={'hGckV':function(_0x301ee2,_0x45bec6){return _0x301ee2(_0x45bec6);}};return _0x3760bb['hGckV'](extractShellValue,_0x2f57b0[_0x819ccf(0x1a5)](/--filename(?:=|\s+)(?:"([^"]+)"|'([^']+)'|(\S+))/));}function extractFirstCommandArgument(_0x547940,_0x39f207){const _0x57db02=_0x31a5,_0x590735=_0x39f207['replace'](/[.*+?^${}()|[\]\\]/g,'\x5c$&');return extractShellValue(_0x547940['match'](new RegExp(_0x57db02(0x1e0)+_0x590735+_0x57db02(0x170))));}function _0x31a5(_0xdc0639,_0x337f86){_0xdc0639=_0xdc0639-0x15e;const _0x5dc4eb=_0x5dc4();let _0x31a56c=_0x5dc4eb[_0xdc0639];return _0x31a56c;}function formatCommandTarget(_0x2f028e){const _0x45d949=_0x31a5;if(!_0x2f028e)return'target';if(/^e\d+$/i[_0x45d949(0x1c7)](_0x2f028e))return'ref\x20'+_0x2f028e;return JSON['stringify'](truncatePreview(_0x2f028e,0x78));}function formatPlaywrightCliLog(_0xfbcd32,_0x4cfa5e){const _0x5636d0=_0x31a5,_0x67a5cb={'UDZdK':'open','LjtGS':_0x5636d0(0x1d1),'LBoTg':_0x5636d0(0x1a6),'IRCza':'stop\x20tracing','EXjji':'video-start','AQcFk':'stop\x20video\x20recording','UcYJH':function(_0x4c7398,_0x13191b){return _0x4c7398(_0x13191b);},'WJHcB':'fill','UsUbo':function(_0x169c96,_0x5dd045,_0x37af84){return _0x169c96(_0x5dd045,_0x37af84);},'hNwgc':_0x5636d0(0x190),'wUvbz':_0x5636d0(0x1d3),'NnjEK':'run\x20custom\x20Playwright\x20code','eOoVu':_0x5636d0(0x1aa),'henmR':'open\x20new\x20tab','Fuyrw':_0x5636d0(0x16e)};switch(_0x4cfa5e){case _0x67a5cb['UDZdK']:{const _0x103cc7=extractFirstCommandArgument(_0xfbcd32,_0x4cfa5e);return _0x103cc7?_0x5636d0(0x1c9)+_0x103cc7:'open\x20browser';}case _0x67a5cb[_0x5636d0(0x181)]:return _0x67a5cb[_0x5636d0(0x1dc)];case'tracing-stop':return _0x67a5cb[_0x5636d0(0x1ac)];case _0x67a5cb[_0x5636d0(0x1ce)]:return _0x5636d0(0x1a2);case'video-stop':return _0x67a5cb[_0x5636d0(0x16a)];case _0x5636d0(0x183):{const _0x2874a4=extractFilenameOption(_0xfbcd32);if(!_0x2874a4)return'capture\x20snapshot';const {name:_0xca777c}=toStepDisplayName(_0x2874a4);return'capture\x20snapshot\x20`'+_0xca777c+'`';}case'screenshot':{const _0x1130d5=extractFilenameOption(_0xfbcd32);if(!_0x1130d5)return'capture\x20screenshot';const {name:_0x578735,isKeyStep:_0x524523}=_0x67a5cb[_0x5636d0(0x161)](toStepDisplayName,_0x1130d5);return _0x524523?_0x5636d0(0x18f)+_0x578735+'`':_0x5636d0(0x1d8)+_0x578735+'`';}case _0x5636d0(0x1b3):return _0x5636d0(0x17c)+formatCommandTarget(extractFirstCommandArgument(_0xfbcd32,_0x4cfa5e));case'check':return _0x5636d0(0x193)+_0x67a5cb[_0x5636d0(0x161)](formatCommandTarget,extractFirstCommandArgument(_0xfbcd32,_0x4cfa5e));case _0x67a5cb['WJHcB']:return _0x5636d0(0x184)+formatCommandTarget(_0x67a5cb['UsUbo'](extractFirstCommandArgument,_0xfbcd32,_0x4cfa5e));case _0x67a5cb['hNwgc']:return _0x5636d0(0x1d0)+_0x67a5cb['UcYJH'](formatCommandTarget,extractFirstCommandArgument(_0xfbcd32,_0x4cfa5e));case _0x67a5cb[_0x5636d0(0x169)]:return _0x67a5cb[_0x5636d0(0x15f)];case _0x67a5cb['eOoVu']:{const _0x1d9a4b=_0x67a5cb[_0x5636d0(0x162)](extractFirstCommandArgument,_0xfbcd32,_0x4cfa5e);return _0x1d9a4b?'open\x20new\x20tab\x20'+_0x1d9a4b:_0x67a5cb['henmR'];}case _0x67a5cb[_0x5636d0(0x1b5)]:{const _0x1e5fc3=extractFirstCommandArgument(_0xfbcd32,_0x4cfa5e);return _0x1e5fc3?'select\x20tab\x20'+_0x1e5fc3:_0x5636d0(0x17f);}default:return _0x4cfa5e;}}function _0x5dc4(){const _0x59ad68=['click\x20','\x0a\x0a##\x20Browser\x20Command\x20Reference\x0aUse\x20Bash\x20to\x20run\x20Playwright\x20CLI\x20commands\x20with\x20this\x20exact\x20prefix:\x0a`','tool_name','select\x20tab','\x20open\x20','LjtGS','tKTVT','snapshot','fill\x20','`\x20style\x20absolute\x20paths\x20at\x20key\x20moments.\x0a6.\x20If\x20you\x20need\x20waits\x20or\x20custom\x20assertions,\x20use\x20`','aCBnm','TSdoP','##\x20App\x20Context\x0aYou\x20are\x20connected\x20to\x20a\x20desktop\x20application\x20via\x20CDP\x20(Chrome\x20DevTools\x20Protocol)\x20at\x20','etcPM','DJzrT','description','createdAt','1327630WhtrBw','-\x20[','capture\x20key\x20step\x20`','press','922UGqRiC','name','check\x20','RGFWw','`\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`','kRCgv','push','11YIvuzN','[ranger-verification-agent]\x20','`\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`','1857060TpdWvm','replace','\x20tracing-start`,\x20then\x20`','authorEmail','CRITICAL\x20URL\x20REQUIREMENT:\x0aYour\x20base\x20URL\x20is:\x20','domRef','trace.zip','start\x20video\x20recording','\x0a\x0a##\x20Expected\x20Flow\x20(from\x20previous\x20verification)\x0a','sort','match','start\x20tracing','02_learn-more.yml','authorName','**\x20(','tab-new','01_initial-state.png','IRCza','tracing-stop','vDfQV','`\x0a9.\x20Run\x20`','set','ovalh','mtimeMs','click','close','Fuyrw','length','get','\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','BMPuz','`\x0a-\x20`snapshot\x20--filename\x20','phase','kBftd','`:\x20\x22','4mpNgYS','625404QNnRdx','02_button-clicked.png','PBmAB','2589129NQntTZ','\x20snapshot\x20--filename\x20','trackPhaseError','stderr','3223983tUkUGd','test','\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.','open\x20','kvfPV','playwright-cli','trackPhaseEnd','`,\x20then\x20`','EXjji','selector','press\x20','tracing-start','canonicalFlow','run-code','\x20screenshot\x20--filename\x20','):\x20\x22',']\x20**','tool_input','capture\x20step\x20`','key_04_success-state.png','...','Bash','LBoTg','notes','`\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','commandArgs','(?:^|\x5cs)','`\x20using\x20absolute\x20paths\x20only.\x20Do\x20not\x20use\x20relative\x20filenames.\x0a4.\x20Take\x20a\x20snapshot\x20with\x20`','join','8dndPyy','547938wGxmRa','unaddressedComments','vQBfY','pop','NnjEK','invocation','UcYJH','UsUbo','tZBoC','element','trim','\x20open\x20https://www.mozilla.org`\x0a2.\x20Run\x20`','887AuAGfU','short','wUvbz','AQcFk','.\x0aThis\x20is\x20NOT\x20a\x20web\x20app\x20—\x20there\x20is\x20no\x20URL\x20to\x20navigate\x20to.\x20The\x20app\x20is\x20already\x20running\x20and\x20connected.','tool_failure','03_result-visible.png','tab-select','pKgoJ','(?:\x5cs+(?:\x22([^\x22]+)\x22|\x27([^\x27]+)\x27|(\x5cS+)))','iuxDQ','textContent','`\x20style\x20absolute\x20paths\x20at\x20key\x20moments.\x0a8.\x20If\x20you\x20need\x20waits\x20or\x20custom\x20assertions,\x20use\x20`','slice','split','\x20tracing-start`\x0a3.\x20Run\x20`','cAtLn','02_state.yml','KuCtt','\x0a\x0a##\x20Authentication\x0aBEFORE\x20starting\x20the\x20verification\x20task,\x20you\x20MUST\x20authenticate\x20using\x20these\x20steps:\x0a','Reviewer'];_0x5dc4=function(){return _0x59ad68;};return _0x5dc4();}function extractPlaywrightCliToolDescription(_0x19642c){const _0x2eeb69=_0x31a5,_0x1aeeb4={'evkal':function(_0x31fcd5,_0x5a8e1c){return _0x31fcd5!==_0x5a8e1c;},'vDfQV':function(_0x49c4fb,_0x18f9ce){return _0x49c4fb>_0x18f9ce;}},_0x4abe1e=_0x19642c[_0x2eeb69(0x18b)];if(_0x1aeeb4['evkal'](typeof _0x4abe1e,'string'))return null;const _0x3abba6=_0x4abe1e[_0x2eeb69(0x165)]()['replace'](/\s+/g,'\x20');return _0x1aeeb4[_0x2eeb69(0x1ae)](_0x3abba6['length'],0x0)?_0x3abba6:null;}export function formatPlaywrightCliConsoleLogMessage(_0x5928ec,_0x38b51a,_0x342e58){const _0x5d4b3a=_0x31a5,_0x569659=formatPlaywrightCliLog(_0x38b51a,_0x342e58),_0x288770=extractPlaywrightCliToolDescription(_0x5928ec);if(!_0x288770)return'[playwright-cli]\x20'+_0x569659;if(process['env']['DEBUG'])return _0x5d4b3a(0x199)+_0x288770+'\x20('+_0x569659+')';return _0x5d4b3a(0x199)+_0x288770;}export function buildVerifyFeatureCliDebugPrompt(_0xc91f64,_0x2e2dd){const _0x452b59=_0x31a5,_0x1014a8={'qiWyx':function(_0x29b059,_0x19d390,_0x3549a5){return _0x29b059(_0x19d390,_0x3549a5);},'hPApA':'01_mozilla-homepage.png','cAtLn':function(_0x50b7ea,_0x3f16cd){return _0x50b7ea(_0x3f16cd);},'MHoBX':function(_0x1b3d29,_0x27a872){return _0x1b3d29(_0x27a872);}},_0x2b418e=buildCliArtifactPath(_0x2e2dd,'00_mozilla-homepage.yml'),_0x4a9bb0=_0x1014a8['qiWyx'](buildCliArtifactPath,_0x2e2dd,_0x1014a8['hPApA']),_0x4088ba=_0x1014a8['qiWyx'](buildCliArtifactPath,_0x2e2dd,_0x452b59(0x1a7)),_0x78359a=buildCliArtifactPath(_0x2e2dd,'03_learn-more.png'),_0x2273d3=_0x1014a8[_0x452b59(0x177)](quoteShellArg,_0x2b418e),_0x1f36dd=_0x1014a8['MHoBX'](quoteShellArg,_0x4a9bb0),_0x5cdef9=quoteShellArg(_0x4088ba),_0x2fe58d=quoteShellArg(_0x78359a);return'You\x20are\x20testing\x20browser\x20automation.\x20Your\x20task\x20is\x20simple:\x0a\x0aUse\x20Bash\x20and\x20Playwright\x20CLI\x20only.\x20The\x20browser\x20command\x20prefix\x20is:\x0a'+_0xc91f64+'\x0a\x0a1.\x20Run\x20`'+_0xc91f64+_0x452b59(0x166)+_0xc91f64+_0x452b59(0x176)+_0xc91f64+'\x20video-start`\x0a4.\x20Save\x20every\x20snapshot\x20and\x20screenshot\x20under\x20`'+_0x2e2dd+'`\x20using\x20absolute\x20paths\x20only.\x20Do\x20not\x20use\x20relative\x20filenames.\x0a5.\x20Run\x20`'+_0xc91f64+_0x452b59(0x1c3)+_0x2273d3+'`\x0a5.\x20Read\x20the\x20snapshot\x20file\x20to\x20find\x20the\x20\x22Learn\x20More\x22\x20link\x20reference\x0a6.\x20Run\x20`'+_0xc91f64+'\x20screenshot\x20--filename\x20'+_0x1f36dd+'`\x0a7.\x20Click\x20the\x20\x22Learn\x20More\x22\x20link\x20with\x20Playwright\x20CLI\x0a8.\x20Run\x20`'+_0xc91f64+'\x20snapshot\x20--filename\x20'+_0x5cdef9+_0x452b59(0x1af)+_0xc91f64+_0x452b59(0x1d4)+_0x2fe58d+'`\x0a10.\x20Return\x20immediately\x20with\x20the\x20structured\x20output\x0a\x0aReturn\x20your\x20findings\x20in\x20the\x20structured\x20output\x20format.';}export function buildVerifyFeatureCliPrompt(_0x88e1d5){const _0x2e60b9=_0x31a5,_0x4949ab={'kBftd':'en-US','BMPuz':_0x2e60b9(0x168),'XGbgs':_0x2e60b9(0x17b),'TSdoP':function(_0x130a49,_0x42f448,_0x3ba510){return _0x130a49(_0x42f448,_0x3ba510);},'vQBfY':'01_initial.yml','mhkIZ':function(_0x3ee5b1,_0x50a9f2,_0x551d98){return _0x3ee5b1(_0x50a9f2,_0x551d98);},'iSZDP':function(_0x311cf2,_0x455573){return _0x311cf2(_0x455573);},'RGFWw':function(_0x992eac,_0x373f5c){return _0x992eac(_0x373f5c);},'kRCgv':function(_0x1f5ae9,_0x5363c7,_0x253b0e){return _0x1f5ae9(_0x5363c7,_0x253b0e);},'tZBoC':function(_0x377dfa,_0x1f44b2,_0xdd6573){return _0x377dfa(_0x1f44b2,_0xdd6573);}},{checklistItem:_0xf42dac,itemFeedback:_0x16b053,taskDescription:_0x3641b4,cliCommandPrefix:_0x34c4ad,cliArtifactDir:_0x140970,isCdpMode:_0x14e365,url:_0x17d860,cdpEndpoint:_0x19c0bc,loginInstructions:_0x4abb9b}=_0x88e1d5,_0x4ccdc6=_0x4949ab['TSdoP'](buildCliArtifactPath,_0x140970,_0x4949ab[_0x2e60b9(0x1e6)]),_0x133e0a=_0x4949ab['TSdoP'](buildCliArtifactPath,_0x140970,_0x2e60b9(0x178)),_0x527065=_0x4949ab[_0x2e60b9(0x187)](buildCliArtifactPath,_0x140970,'key_03_success-state.png'),_0x3f8ae4=_0x4949ab['mhkIZ'](buildCliArtifactPath,_0x140970,_0x2e60b9(0x1ab)),_0x478c19=_0x4949ab['iSZDP'](quoteShellArg,_0x4ccdc6),_0x1d0ea4=_0x4949ab['RGFWw'](quoteShellArg,_0x133e0a),_0x27e87e=_0x4949ab[_0x2e60b9(0x194)](quoteShellArg,_0x527065),_0x2a0082=_0x4949ab['RGFWw'](quoteShellArg,_0x3f8ae4),_0x4d1bb7=_0xf42dac[_0x2e60b9(0x1dd)]?'\x0a\x0a##\x20Additional\x20Notes\x0a'+_0xf42dac['notes']:'';let _0x583b86='';if(_0x16b053&&_0x16b053[_0x2e60b9(0x1e5)]['length']>0x0){const _0x32f8e4=_0x16b053['unaddressedComments']['map'](_0x738b5c=>{const _0x3aafc2=_0x2e60b9,_0x1d052a=new Date(_0x738b5c[_0x3aafc2(0x18c)])['toLocaleDateString'](_0x4949ab[_0x3aafc2(0x1bc)],{'month':_0x4949ab[_0x3aafc2(0x1b9)],'day':'numeric'}),_0x14d2e8=_0x738b5c[_0x3aafc2(0x1a8)]||_0x738b5c[_0x3aafc2(0x19e)]||_0x4949ab['XGbgs'],_0x18eec0=_0x738b5c[_0x3aafc2(0x1a0)]?'\x20(on\x20element:\x20<'+(_0x738b5c[_0x3aafc2(0x1a0)][_0x3aafc2(0x1cf)][_0x3aafc2(0x175)]('\x20>\x20')[_0x3aafc2(0x15e)]()?.['split'](':')[0x0]||_0x3aafc2(0x164))+'>\x20\x22'+(_0x738b5c['domRef'][_0x3aafc2(0x172)]||'')[_0x3aafc2(0x174)](0x0,0x32)+'\x22)':'';return _0x3aafc2(0x18e)+_0x738b5c['id']+_0x3aafc2(0x1d6)+_0x14d2e8+_0x3aafc2(0x1a9)+_0x1d052a+_0x3aafc2(0x1d5)+_0x738b5c['content']+'\x22'+_0x18eec0;})[_0x2e60b9(0x1e2)]('\x0a');_0x583b86=_0x2e60b9(0x1b8)+_0x32f8e4;}const _0x1121a2=_0x16b053?.['canonicalFlow']?_0x2e60b9(0x1a3)+_0x16b053[_0x2e60b9(0x1d2)]:'',_0x26e628=_0x14e365?_0x2e60b9(0x188)+_0x19c0bc+_0x2e60b9(0x16b):_0x2e60b9(0x19f)+_0x17d860+'\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',_0x27bda5=_0x17d860?quoteShellArg(_0x17d860):'',_0x3a17fb=_0x14e365?'##\x20Instructions\x0a1.\x20Use\x20Bash\x20plus\x20Playwright\x20CLI\x20only.\x20Do\x20NOT\x20call\x20MCP\x20browser\x20tools.\x0a2.\x20Start\x20by\x20running\x20`'+_0x34c4ad+'\x20open`,\x20then\x20`'+_0x34c4ad+_0x2e60b9(0x19d)+_0x34c4ad+'\x20video-start`.\x0a3.\x20Save\x20every\x20snapshot\x20and\x20screenshot\x20under\x20`'+_0x140970+_0x2e60b9(0x1e1)+_0x34c4ad+'\x20snapshot\x20--filename\x20'+_0x478c19+'`\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`'+_0x34c4ad+'\x20screenshot\x20--filename\x20'+_0x2a0082+_0x2e60b9(0x185)+_0x34c4ad+'\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`'+_0x34c4ad+_0x2e60b9(0x180)+_0x27bda5+_0x2e60b9(0x1cd)+_0x34c4ad+'\x20tracing-start`,\x20then\x20`'+_0x34c4ad+'\x20video-start`.\x0a3.\x20Save\x20every\x20snapshot\x20and\x20screenshot\x20under\x20`'+_0x140970+_0x2e60b9(0x1e1)+_0x34c4ad+_0x2e60b9(0x1c3)+_0x478c19+_0x2e60b9(0x195)+_0x34c4ad+'\x20screenshot\x20--filename\x20'+_0x2a0082+_0x2e60b9(0x173)+_0x34c4ad+'\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',_0x1ef7de=_0x14e365?'\x0a\x0a##\x20Critical:\x20Early\x20Error\x20Detection\x0aAfter\x20taking\x20the\x20initial\x20snapshot,\x20IMMEDIATELY\x20check\x20for\x20blocking\x20errors:\x0a\x0a**Blocking\x20errors\x20to\x20detect:**\x0a-\x20Crash\x20or\x20error\x20dialogs\x20(\x22An\x20error\x20occurred\x22,\x20\x22Something\x20went\x20wrong\x22,\x20unhandled\x20exception\x20messages)\x0a-\x20Blank\x20or\x20empty\x20window\x20with\x20no\x20rendered\x20content\x0a-\x20Framework\x20error\x20boundaries\x20(React\x20error\x20page,\x20Electron\x20crash\x20reporter)\x0a-\x20Unresponsive\x20or\x20frozen\x20UI\x20(no\x20interactive\x20elements\x20in\x20snapshot)\x0a\x0a**If\x20ANY\x20blocking\x20error\x20is\x20detected:**\x0a1.\x20DO\x20NOT\x20continue\x20with\x20the\x20task\x0a2.\x20Return\x20IMMEDIATELY\x20with\x20evaluation:\x20\x22blocked\x22\x0a3.\x20Set\x20evaluationReason\x20to\x20describe\x20the\x20specific\x20error\x20(e.g.,\x20\x22App\x20crashed\x20—\x20error\x20dialog\x20visible\x20on\x20launch\x22)\x0a4.\x20Include\x20the\x20error\x20in\x20issues\x20array\x20with\x20severity:\x20\x22BLOCKER\x22\x20and\x20type:\x20\x22APP_ERROR\x22\x0a\x0aThis\x20early\x20exit\x20prevents\x20wasting\x20time\x20on\x20tasks\x20that\x20cannot\x20succeed\x20due\x20to\x20fundamental\x20errors.':'\x0a\x0a##\x20Critical:\x20Early\x20Error\x20Detection\x0aAfter\x20step\x202\x20(taking\x20initial\x20snapshot),\x20IMMEDIATELY\x20check\x20for\x20blocking\x20HTTP\x20errors:\x0a\x0a**Blocking\x20errors\x20to\x20detect:**\x0a-\x20HTTP\x20404:\x20\x22404\x22,\x20\x22Not\x20Found\x22,\x20\x22Page\x20not\x20found\x22,\x20\x22does\x20not\x20exist\x22\x0a-\x20HTTP\x20500:\x20\x22500\x22,\x20\x22Internal\x20Server\x20Error\x22,\x20\x22Server\x20Error\x22,\x20\x22Something\x20went\x20wrong\x22\x0a-\x20HTTP\x20400:\x20\x22400\x22,\x20\x22Bad\x20Request\x22,\x20\x22Invalid\x20request\x22\x0a\x0a**Also\x20check\x20for:**\x0a-\x20Framework\x20error\x20pages\x20(Next.js\x20error\x20boundary,\x20React\x20error\x20page,\x20\x22Application\x20error\x22)\x0a-\x20Completely\x20blank/empty\x20pages\x20with\x20no\x20content\x0a-\x20\x22Cannot\x20GET\x20/path\x22\x20messages\x0a-\x20Login/sign-in/auth\x20pages\x20when\x20no\x20Authentication\x20section\x20is\x20present\x20in\x20this\x20prompt\x0a\x0a**If\x20ANY\x20blocking\x20error\x20is\x20detected:**\x0a1.\x20DO\x20NOT\x20continue\x20with\x20the\x20task\x0a2.\x20Return\x20IMMEDIATELY\x20with\x20evaluation:\x20\x22blocked\x22\x0a3.\x20Set\x20evaluationReason\x20to\x20describe\x20the\x20specific\x20error\x20(e.g.,\x20\x22HTTP\x20404\x20-\x20Page\x20not\x20found\x20at\x20/dashboard\x22)\x0a4.\x20Include\x20the\x20error\x20in\x20issues\x20array\x20with\x20severity:\x20\x22BLOCKER\x22\x20and\x20appropriate\x20type\x20(HTTP_404,\x20HTTP_500,\x20HTTP_400,\x20or\x20NAVIGATION_ERROR)\x0a\x0aThis\x20early\x20exit\x20prevents\x20wasting\x20time\x20on\x20tasks\x20that\x20cannot\x20succeed\x20due\x20to\x20fundamental\x20errors.',_0x403fbb=_0x4abb9b?_0x2e60b9(0x17a)+_0x4abb9b+'\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'+_0xf42dac['description']+_0x4d1bb7+_0x583b86+_0x1121a2+'\x0a\x0a##\x20Task\x20to\x20Execute\x0a'+_0x3641b4+'\x0a\x0a'+_0x26e628+_0x403fbb+'\x0a\x0a'+_0x3a17fb+_0x2e60b9(0x17d)+_0x34c4ad+'`\x0a\x0a-\x20Write\x20all\x20artifacts\x20under\x20`'+_0x140970+_0x2e60b9(0x1ba)+_0x1d0ea4+_0x2e60b9(0x1de)+_0x27e87e+_0x2e60b9(0x19a)+_0x140970+_0x2e60b9(0x1bd)+_0x3f8ae4+'\x22,\x20\x22'+_0x4949ab[_0x2e60b9(0x196)](buildCliArtifactPath,_0x140970,_0x2e60b9(0x1c0))+'\x22,\x20\x22'+_0x4949ab[_0x2e60b9(0x163)](buildCliArtifactPath,_0x140970,_0x2e60b9(0x16d))+'\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'+_0x4949ab['TSdoP'](buildCliArtifactPath,_0x140970,_0x2e60b9(0x1d9))+'\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'+_0x1ef7de+_0x2e60b9(0x1c8);}export function summarizeVerifyFeatureCliCommandAvailability(_0x52f96a){const _0x3c7700=_0x31a5,_0x1cb53f=[..._0x52f96a['keys']()][_0x3c7700(0x1a4)]();let _0x477c3c=0x0;for(const _0x2e9cd8 of _0x52f96a['values']()){_0x477c3c+=_0x2e9cd8;}return{'cliCommandCount':_0x477c3c,'cliCommandsSeen':_0x1cb53f,'noCliCommandsCalled':_0x477c3c===0x0};}export function createVerifyFeatureCliHooks(_0x23df59){const _0x4d230d=_0x31a5,_0x2e9a3f={'FKSyf':'PostToolUse','mGGQU':function(_0x2f3b8,_0x22d6e8){return _0x2f3b8!==_0x22d6e8;},'PBmAB':function(_0x20d1e8,_0x3743cc){return _0x20d1e8(_0x3743cc);},'KuCtt':'tool_call','pKgoJ':_0x4d230d(0x1cb),'tgEAQ':'snapshot','iuxDQ':function(_0x86520,_0x8abe96){return _0x86520!==_0x8abe96;},'oEURy':function(_0x1417bc,_0x2b47a6){return _0x1417bc!==_0x2b47a6;},'DJzrT':_0x4d230d(0x1db)},_0x4588ba=new Map(),_0xa11e00=async _0x19fa09=>{const _0x10891e=_0x4d230d;if(_0x19fa09['hook_event_name']!==_0x2e9a3f['FKSyf'])return{};const _0xe021c3=_0x19fa09;if(_0x2e9a3f['mGGQU'](_0xe021c3[_0x10891e(0x17e)],_0x10891e(0x1db)))return{};const _0x3746c6=_0xe021c3[_0x10891e(0x1d7)],_0x566dfa=_0x2e9a3f[_0x10891e(0x1c1)](extractBashCommand,_0x3746c6);if(!_0x566dfa)return{};const _0x3335db=parsePlaywrightCliCommand(_0x566dfa);if(!_0x3335db)return{};return _0x4588ba[_0x10891e(0x1b0)](_0x3335db,(_0x4588ba[_0x10891e(0x1b7)](_0x3335db)||0x0)+0x1),_0x23df59['trackPhaseStart'](_0x2e9a3f[_0x10891e(0x179)],{'transport':_0x2e9a3f[_0x10891e(0x16f)],'toolName':_0x3335db}),_0x23df59['trackPhaseEnd'](_0x2e9a3f[_0x10891e(0x179)],{'transport':'playwright-cli','toolName':_0x3335db,'bashCommandPreview':truncatePreview(_0x566dfa)}),_0x2e9a3f['mGGQU'](_0x3335db,_0x2e9a3f['tgEAQ'])&&console['log'](formatPlaywrightCliConsoleLogMessage(_0x3746c6,_0x566dfa,_0x3335db)),{};},_0x269377=async _0x39d8f5=>{const _0x515479=_0x4d230d;if(_0x2e9a3f[_0x515479(0x171)](_0x39d8f5['hook_event_name'],'PostToolUseFailure'))return{};const _0x53d180=_0x39d8f5;if(_0x2e9a3f['oEURy'](_0x53d180[_0x515479(0x17e)],_0x2e9a3f[_0x515479(0x18a)]))return{};return await _0x23df59[_0x515479(0x1c4)](_0x515479(0x16c),_0x53d180['error'],{'transport':_0x515479(0x1cb),'toolName':'Bash'}),{};};return{'postToolUseHook':_0xa11e00,'postToolUseFailureHook':_0x269377,'commandCounts':_0x4588ba};}async function runPlaywrightCliLifecycleCommand(_0x57ca92){const _0x200fcb=_0x31a5,_0x11a956={'zgihQ':function(_0x2e4ad9,_0x288f74){return _0x2e4ad9(_0x288f74);},'OpyIv':function(_0x36abc2,_0x55d81b,_0x29cddb){return _0x36abc2(_0x55d81b,_0x29cddb);}},{sessionId:_0x3a2934,configPath:_0x26c632,commandArgs:_0x367677,env:_0x1953c3,telemetry:_0x173ac9,phase:_0x3d4d6a,metadata:_0x562d29,timeoutMs:_0x5b0120}=_0x57ca92;_0x173ac9['trackPhaseStart'](_0x3d4d6a,_0x562d29);try{const _0x1ab1b3=await _0x11a956['zgihQ'](runPlaywrightCliCommand,{'sessionId':_0x3a2934,'configPath':_0x26c632,'commandArgs':_0x367677,'cwd':process['cwd'](),'env':_0x1953c3,'timeoutMs':_0x5b0120??PLAYWRIGHT_CLI_COMMAND_TIMEOUT_MS});_0x173ac9[_0x200fcb(0x1cc)](_0x3d4d6a,{..._0x562d29,'subcommand':_0x1ab1b3[_0x200fcb(0x160)]['subcommand'],'stdoutPreview':_0x11a956['OpyIv'](truncatePreview,_0x1ab1b3['stdout'],0x7d0),'stderrPreview':truncatePreview(_0x1ab1b3[_0x200fcb(0x1c5)],0x7d0)});}catch(_0x1e732d){await _0x173ac9[_0x200fcb(0x1c4)](_0x3d4d6a,_0x1e732d,_0x562d29);throw _0x1e732d;}}export async function finalizeVerifyFeatureCliSession(_0x178d7b){const _0x14995a=_0x31a5,_0x279709={'ovalh':'playwright_cli_tracing_stop','aCBnm':'playwright_cli_video_stop','PIfKJ':function(_0xf3b090,_0x4b9713,_0x537905){return _0xf3b090(_0x4b9713,_0x537905);},'eFHMm':_0x14995a(0x1b4),'TIHEP':function(_0x1b0c52,_0x11094c){return _0x1b0c52(_0x11094c);}},{telemetry:_0x4c1e4d,sessionId:_0x2debaa,configPath:_0x2e0f68,cliArtifactDir:_0x4ae831,env:_0x21a6fb,transportMetadata:_0x6e5bd8}=_0x178d7b,_0x5f017e=[{'phase':_0x279709[_0x14995a(0x1b1)],'commandArgs':[_0x14995a(0x1ad)]},{'phase':_0x279709[_0x14995a(0x186)],'commandArgs':['video-stop','--filename='+_0x279709['PIfKJ'](buildCliArtifactPath,_0x4ae831,'session-recording.webm')]},{'phase':'playwright_cli_close','commandArgs':[_0x279709['eFHMm']]}];for(const _0x561436 of _0x5f017e){try{await _0x279709['TIHEP'](runPlaywrightCliLifecycleCommand,{'sessionId':_0x2debaa,'configPath':_0x2e0f68,'commandArgs':[..._0x561436[_0x14995a(0x1df)]],'env':_0x21a6fb,'telemetry':_0x4c1e4d,'phase':_0x561436[_0x14995a(0x1bb)],'metadata':_0x6e5bd8});}catch{}}}export async function loadVerifyFeatureCliTraceUploadArtifact(_0x4afcc7){const _0x56355e=_0x31a5,_0x16ca5f={'kvfPV':'trace.trace.zip','pibuI':function(_0x15b857,_0x377fcf){return _0x15b857(_0x377fcf);}},_0x17e725=[_0x56355e(0x1a1),_0x16ca5f[_0x56355e(0x1ca)]];for(const _0x50d7b0 of _0x17e725){const _0x2db335=join(_0x4afcc7,_0x50d7b0);try{return{'buffer':await _0x16ca5f['pibuI'](readFile,_0x2db335),'source':_0x2db335};}catch{}}return null;}export async function rehomeVerifyFeatureCliArtifacts(_0x32ff75){const _0xf4af04=_0x31a5,_0x198ac2={'CMJFT':function(_0x2f3236,_0x4cc2bd,_0x26fad7){return _0x2f3236(_0x4cc2bd,_0x26fad7);},'tKTVT':function(_0x10ad80,_0xdb8a56){return _0x10ad80+_0xdb8a56;},'xuLRu':function(_0x42e75b,_0x2bc956,_0x51274f){return _0x42e75b(_0x2bc956,_0x51274f);}},{cwd:_0x302b65,cliArtifactDir:_0x1ab8ea,startTime:_0xd0998d}=_0x32ff75,_0x1f6299=[];await _0x198ac2['CMJFT'](mkdir,_0x1ab8ea,{'recursive':!![]});const _0x15a495=await readdir(_0x302b65,{'withFileTypes':!![]});for(const _0x4c806f of _0x15a495){if(!_0x4c806f['isFile']()||!VERIFY_FEATURE_CLI_ARTIFACT_FILE_PATTERN[_0xf4af04(0x1c7)](_0x4c806f[_0xf4af04(0x192)]))continue;const _0x27c14d=join(_0x302b65,_0x4c806f['name']),_0x2b04ed=await stat(_0x27c14d);if(_0x198ac2[_0xf4af04(0x182)](_0x2b04ed[_0xf4af04(0x1b2)],0x7d0)<_0xd0998d)continue;const _0x44fe03=_0x198ac2['xuLRu'](buildCliArtifactPath,_0x1ab8ea,_0x4c806f[_0xf4af04(0x192)]);if(_0x27c14d===_0x44fe03)continue;await rename(_0x27c14d,_0x44fe03),_0x1f6299[_0xf4af04(0x197)](_0x4c806f['name']);}return _0x1f6299['sort']();}
|
|
1
|
+
(function(_0x5d06f0,_0xcaaf5a){const _0x1c4d63=_0x3e21,_0xa1a85b=_0x5d06f0();while(!![]){try{const _0x1e955a=-parseInt(_0x1c4d63(0x179))/0x1*(-parseInt(_0x1c4d63(0x1a1))/0x2)+parseInt(_0x1c4d63(0x12d))/0x3+-parseInt(_0x1c4d63(0x154))/0x4+parseInt(_0x1c4d63(0x155))/0x5*(parseInt(_0x1c4d63(0x13d))/0x6)+parseInt(_0x1c4d63(0x144))/0x7+-parseInt(_0x1c4d63(0x172))/0x8*(-parseInt(_0x1c4d63(0x11b))/0x9)+-parseInt(_0x1c4d63(0x131))/0xa;if(_0x1e955a===_0xcaaf5a)break;else _0xa1a85b['push'](_0xa1a85b['shift']());}catch(_0xe901fe){_0xa1a85b['push'](_0xa1a85b['shift']());}}}(_0x2336,0x28abb));import{mkdir,readFile,readdir,rename,stat}from'fs/promises';import{basename,join}from'path';import{extractBashCommand,parsePlaywrightCliCommand,quoteShellArg,runPlaywrightCliCommand}from'./utils/playwrightCli.js';function _0x3e21(_0x4ed72f,_0x55bfc4){_0x4ed72f=_0x4ed72f-0x116;const _0x23365a=_0x2336();let _0x3e212e=_0x23365a[_0x4ed72f];return _0x3e212e;}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(_0x395bc9,_0x53df9e=PLAYWRIGHT_CLI_PREVIEW_LIMIT){const _0x581922=_0x3e21,_0x549ec7={'FQLtx':function(_0x2e54f7,_0x1ccc9d){return _0x2e54f7+_0x1ccc9d;},'OznBp':'...'};return _0x395bc9['length']>_0x53df9e?_0x549ec7[_0x581922(0x16e)](_0x395bc9['slice'](0x0,_0x53df9e),_0x549ec7[_0x581922(0x132)]):_0x395bc9;}function buildCliArtifactPath(_0x2d497c,_0x880ce7){const _0x503cfd={'LQntm':function(_0x24d9b7,_0x396ae8,_0xf219ba){return _0x24d9b7(_0x396ae8,_0xf219ba);}};return _0x503cfd['LQntm'](join,_0x2d497c,_0x880ce7);}function toStepDisplayName(_0x13696f){const _0x49c496=_0x3e21,_0x3d39e1={'SsCau':function(_0x5e1e75,_0x2a0cbe){return _0x5e1e75(_0x2a0cbe);}},_0x2a7d93=_0x3d39e1['SsCau'](basename,_0x13696f)['replace'](/\.(?:png|ya?ml)$/i,'')['replace'](/^key_/i,'')[_0x49c496(0x11e)](/^\d+_/,'')[_0x49c496(0x11e)](/-/g,'\x20');return{'name':_0x2a7d93,'isKeyStep':/^key_/i['test'](_0x3d39e1['SsCau'](basename,_0x13696f))};}function extractShellValue(_0x5db127){if(!_0x5db127)return null;return _0x5db127[0x1]??_0x5db127[0x2]??_0x5db127[0x3]??null;}function extractFilenameOption(_0x1e92ab){const _0x32321a=_0x3e21,_0x7322d4={'lkmTQ':function(_0x2cb126,_0xc23195){return _0x2cb126(_0xc23195);}};return _0x7322d4[_0x32321a(0x171)](extractShellValue,_0x1e92ab[_0x32321a(0x186)](/--filename(?:=|\s+)(?:"([^"]+)"|'([^']+)'|(\S+))/));}function extractFirstCommandArgument(_0x31a9ec,_0x51a6dc){const _0x2cf8c0=_0x3e21,_0x46e34d={'YtWeV':_0x2cf8c0(0x160)},_0x392a40=_0x51a6dc[_0x2cf8c0(0x11e)](/[.*+?^${}()|[\]\\]/g,_0x46e34d['YtWeV']);return extractShellValue(_0x31a9ec[_0x2cf8c0(0x186)](new RegExp(_0x2cf8c0(0x19c)+_0x392a40+'(?:\x5cs+(?:\x22([^\x22]+)\x22|\x27([^\x27]+)\x27|(\x5cS+)))')));}function formatCommandTarget(_0x4e6cd1){const _0x4e5986=_0x3e21;if(!_0x4e6cd1)return'target';if(/^e\d+$/i[_0x4e5986(0x134)](_0x4e6cd1))return _0x4e5986(0x197)+_0x4e6cd1;return JSON['stringify'](truncatePreview(_0x4e6cd1,0x78));}function formatPlaywrightCliLog(_0x46cdc5,_0xfa8aa6){const _0x412ab8=_0x3e21,_0x31bf49={'DfoYR':'open','XHdSp':'tracing-start','KRWIQ':'stop\x20tracing','csNdm':_0x412ab8(0x125),'wbCeU':'start\x20video\x20recording','CImhG':'snapshot','TInIz':function(_0x511ac8,_0x386da4){return _0x511ac8(_0x386da4);},'zhvuO':'screenshot','hNGDb':function(_0x9790ad,_0x2412d2){return _0x9790ad(_0x2412d2);},'LqmUB':'click','krvvj':function(_0x506dea,_0x349dad,_0x25988e){return _0x506dea(_0x349dad,_0x25988e);},'qmqzK':'open\x20new\x20tab','Tosiv':'select\x20tab'};switch(_0xfa8aa6){case _0x31bf49['DfoYR']:{const _0x10bbce=extractFirstCommandArgument(_0x46cdc5,_0xfa8aa6);return _0x10bbce?'open\x20'+_0x10bbce:'open\x20browser';}case _0x31bf49[_0x412ab8(0x178)]:return'start\x20tracing';case'tracing-stop':return _0x31bf49[_0x412ab8(0x138)];case _0x31bf49[_0x412ab8(0x15d)]:return _0x31bf49[_0x412ab8(0x173)];case _0x412ab8(0x14c):return _0x412ab8(0x14d);case _0x31bf49[_0x412ab8(0x16c)]:{const _0x13a9dc=_0x31bf49['TInIz'](extractFilenameOption,_0x46cdc5);if(!_0x13a9dc)return _0x412ab8(0x151);const {name:_0x116145}=_0x31bf49['TInIz'](toStepDisplayName,_0x13a9dc);return _0x412ab8(0x192)+_0x116145+'`';}case _0x31bf49[_0x412ab8(0x18e)]:{const _0xf5dba5=_0x31bf49['hNGDb'](extractFilenameOption,_0x46cdc5);if(!_0xf5dba5)return'capture\x20screenshot';const {name:_0x335f28,isKeyStep:_0x14cc7b}=toStepDisplayName(_0xf5dba5);return _0x14cc7b?_0x412ab8(0x17c)+_0x335f28+'`':_0x412ab8(0x163)+_0x335f28+'`';}case _0x31bf49['LqmUB']:return'click\x20'+_0x31bf49[_0x412ab8(0x175)](formatCommandTarget,_0x31bf49['krvvj'](extractFirstCommandArgument,_0x46cdc5,_0xfa8aa6));case'check':return _0x412ab8(0x135)+_0x31bf49[_0x412ab8(0x175)](formatCommandTarget,_0x31bf49[_0x412ab8(0x14b)](extractFirstCommandArgument,_0x46cdc5,_0xfa8aa6));case'fill':return _0x412ab8(0x193)+formatCommandTarget(extractFirstCommandArgument(_0x46cdc5,_0xfa8aa6));case'press':return _0x412ab8(0x140)+formatCommandTarget(_0x31bf49['krvvj'](extractFirstCommandArgument,_0x46cdc5,_0xfa8aa6));case'run-code':return'run\x20custom\x20Playwright\x20code';case'tab-new':{const _0x349279=extractFirstCommandArgument(_0x46cdc5,_0xfa8aa6);return _0x349279?_0x412ab8(0x166)+_0x349279:_0x31bf49[_0x412ab8(0x16f)];}case _0x412ab8(0x119):{const _0x40c6a6=extractFirstCommandArgument(_0x46cdc5,_0xfa8aa6);return _0x40c6a6?'select\x20tab\x20'+_0x40c6a6:_0x31bf49['Tosiv'];}default:return _0xfa8aa6;}}function extractPlaywrightCliToolDescription(_0x3771dc){const _0xeae3cb=_0x3e21,_0x3a8fea=_0x3771dc['description'];if(typeof _0x3a8fea!==_0xeae3cb(0x188))return null;const _0x4f11d1=_0x3a8fea[_0xeae3cb(0x165)]()['replace'](/\s+/g,'\x20');return _0x4f11d1[_0xeae3cb(0x141)]>0x0?_0x4f11d1:null;}function _0x2336(){const _0x4fe3ab=['`\x20(e.g.\x20`','canonicalFlow','\x20>\x20','9781230PaHgjS','OznBp','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','test','check\x20','.\x0aThis\x20is\x20NOT\x20a\x20web\x20app\x20—\x20there\x20is\x20no\x20URL\x20to\x20navigate\x20to.\x20The\x20app\x20is\x20already\x20running\x20and\x20connected.','playwright-cli','KRWIQ','playwright_cli_tracing_stop','domRef','\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.','tool_failure','24jSplGa','GsdJq','02_button-clicked.png','press\x20','length','Bash','error','2124129ajMBHQ','GWYmy','TlvGf','join','\x20tracing-start`,\x20then\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.','):\x20pick\x20the\x20prefix\x20whose\x20label\x20matches\x20the\x20step\x27s\x20actor.\x0a-\x20The\x20prefix\x20shown\x20in\x20\x22Browser\x20Command\x20Reference\x22\x20above\x20drives\x20','krvvj','video-stop','stop\x20video\x20recording','Reviewer','IovVZ','pngTB','capture\x20snapshot','phase','\x20screenshot\x20--filename\x20','134784hKvPnh','216560RvtLPQ','actorPrefixes','pIezW','textContent','/01_state.png`).','02_state.yml','split','\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','csNdm','HoDZB','`\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`','\x5c$&','You\x20are\x20testing\x20browser\x20automation.\x20Your\x20task\x20is\x20simple:\x0a\x0aUse\x20Bash\x20and\x20Playwright\x20CLI\x20only.\x20The\x20browser\x20command\x20prefix\x20is:\x0a','\x0a\x0a-\x20Each\x20actor\x20has\x20its\x20OWN\x20artifact\x20directory\x20—\x20save\x20each\x20actor\x27s\x20screenshots\x20under\x20that\x20actor\x27s\x20directory\x20shown\x20above;\x20do\x20NOT\x20write\x20one\x20actor\x27s\x20screenshots\x20into\x20another\x20actor\x27s\x20directory.\x0a-\x20Switch\x20actors\x20as\x20the\x20scenario\x20dictates\x20(','capture\x20step\x20`','00_mozilla-homepage.yml','trim','open\x20new\x20tab\x20','YMIWj','`\x0a10.\x20Return\x20immediately\x20with\x20the\x20structured\x20output\x0a\x0aReturn\x20your\x20findings\x20in\x20the\x20structured\x20output\x20format.','`\x0a9.\x20Run\x20`','artifactDir','`\x20using\x20absolute\x20paths\x20only.\x20Do\x20not\x20use\x20relative\x20filenames.\x0a4.\x20Take\x20a\x20snapshot\x20with\x20`','CImhG','slice','FQLtx','qmqzK','[ranger-verification-agent]\x20','lkmTQ','374744ZYaVia','wbCeU','`,\x20then\x20`','hNGDb','prefix','cwd','XHdSp','80947JyOeaH','\x20open\x20https://www.mozilla.org`\x0a2.\x20Run\x20`','isFile','capture\x20key\x20step\x20`','hook_event_name','`\x20style\x20absolute\x20paths\x20at\x20key\x20moments.\x0a6.\x20If\x20you\x20need\x20waits\x20or\x20custom\x20assertions,\x20use\x20`',',\x20…\x20\x20→\x20\x20`','UwpVK','unaddressedComments','trackPhaseError','VJOxe','map','pop','match','trace.trace.zip','string','push','mtQbd','trace.zip','label','`:\x20\x22','zhvuO','EnfWr','nCsjH','`\x0a-\x20`snapshot\x20--filename\x20','capture\x20snapshot\x20`','fill\x20','fsPKY','\x0a\x0a##\x20Additional\x20Notes\x0a','trackPhaseStart','ref\x20','):\x20\x22','`\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','pXrZO','name','(?:^|\x5cs)','snapshot','\x20snapshot\x20--filename\x20','vADjA','createdAt','6ULCfYZ','McFiL','\x20tracing-start`\x0a3.\x20Run\x20`','\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','tab-select','\x0a\x0a##\x20Authentication\x0aBEFORE\x20starting\x20the\x20verification\x20task,\x20you\x20MUST\x20authenticate\x20using\x20these\x20steps:\x0a','63aUvIdf','\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.','\x22,\x20\x22','replace','DEBUG','\x20open\x20','FIsMS','element','trackPhaseEnd','01_mozilla-homepage.png','video-start','stderr','en-US','\x0a\x0a1.\x20Run\x20`','UPurY','sort','authorEmail','tool_input','392907IUDzlK'];_0x2336=function(){return _0x4fe3ab;};return _0x2336();}export function formatPlaywrightCliConsoleLogMessage(_0x37138e,_0x278cb7,_0x467e6a){const _0x38ccf0=_0x3e21,_0x1c8db9=formatPlaywrightCliLog(_0x278cb7,_0x467e6a),_0x2b9bd1=extractPlaywrightCliToolDescription(_0x37138e);if(!_0x2b9bd1)return'[playwright-cli]\x20'+_0x1c8db9;if(process['env'][_0x38ccf0(0x11f)])return _0x38ccf0(0x170)+_0x2b9bd1+'\x20('+_0x1c8db9+')';return'[ranger-verification-agent]\x20'+_0x2b9bd1;}export function buildVerifyFeatureCliDebugPrompt(_0x1d9975,_0x351940){const _0x29cb4b=_0x3e21,_0xdb81bc={'nCsjH':_0x29cb4b(0x164),'pVZDC':function(_0x73afb,_0x1f9033,_0x7e3885){return _0x73afb(_0x1f9033,_0x7e3885);},'AJmIk':function(_0x998b72,_0x3fa121){return _0x998b72(_0x3fa121);}},_0x5631d4=buildCliArtifactPath(_0x351940,_0xdb81bc[_0x29cb4b(0x190)]),_0x4c53f5=_0xdb81bc['pVZDC'](buildCliArtifactPath,_0x351940,_0x29cb4b(0x124)),_0x5ef25e=buildCliArtifactPath(_0x351940,'02_learn-more.yml'),_0x576578=buildCliArtifactPath(_0x351940,'03_learn-more.png'),_0x41d363=quoteShellArg(_0x5631d4),_0x15772f=quoteShellArg(_0x4c53f5),_0x4021db=_0xdb81bc['AJmIk'](quoteShellArg,_0x5ef25e),_0x5d97e3=quoteShellArg(_0x576578);return _0x29cb4b(0x161)+_0x1d9975+_0x29cb4b(0x128)+_0x1d9975+_0x29cb4b(0x17a)+_0x1d9975+_0x29cb4b(0x117)+_0x1d9975+'\x20video-start`\x0a4.\x20Save\x20every\x20snapshot\x20and\x20screenshot\x20under\x20`'+_0x351940+'`\x20using\x20absolute\x20paths\x20only.\x20Do\x20not\x20use\x20relative\x20filenames.\x0a5.\x20Run\x20`'+_0x1d9975+'\x20snapshot\x20--filename\x20'+_0x41d363+'`\x0a5.\x20Read\x20the\x20snapshot\x20file\x20to\x20find\x20the\x20\x22Learn\x20More\x22\x20link\x20reference\x0a6.\x20Run\x20`'+_0x1d9975+'\x20screenshot\x20--filename\x20'+_0x15772f+'`\x0a7.\x20Click\x20the\x20\x22Learn\x20More\x22\x20link\x20with\x20Playwright\x20CLI\x0a8.\x20Run\x20`'+_0x1d9975+_0x29cb4b(0x19e)+_0x4021db+_0x29cb4b(0x169)+_0x1d9975+_0x29cb4b(0x153)+_0x5d97e3+_0x29cb4b(0x168);}export function buildVerifyFeatureCliPrompt(_0x361a61){const _0x19d15a=_0x3e21,_0x59ec30={'Rstei':'numeric','pIezW':_0x19d15a(0x130),'McFiL':function(_0x270e98,_0x321b17,_0x3f6d38){return _0x270e98(_0x321b17,_0x3f6d38);},'FIsMS':'01_initial-state.png','GWYmy':function(_0xc9ea4f,_0x1b140a){return _0xc9ea4f(_0x1b140a);},'mtQbd':function(_0xb76a93,_0x44d0bb){return _0xb76a93>_0x44d0bb;},'vADjA':function(_0x11cbfe,_0x3cf5fb){return _0x11cbfe(_0x3cf5fb);},'IovVZ':function(_0x3fb163,_0x4b4ef2){return _0x3fb163>=_0x4b4ef2;},'NGDqi':'\x20/\x20','VSfmG':function(_0x599987,_0x35ef35,_0x2a3d39){return _0x599987(_0x35ef35,_0x2a3d39);},'aOyHF':_0x19d15a(0x13f)},{checklistItem:_0x17ef36,itemFeedback:_0x1ca293,taskDescription:_0x415521,cliCommandPrefix:_0x79fa00,cliArtifactDir:_0x3840c3,isCdpMode:_0x3c385e,url:_0x3d35b4,cdpEndpoint:_0x21d507,loginInstructions:_0x20cbdd}=_0x361a61,_0x2fd7a4=buildCliArtifactPath(_0x3840c3,'01_initial.yml'),_0x380e8a=buildCliArtifactPath(_0x3840c3,_0x19d15a(0x15a)),_0x47f7bb=_0x59ec30[_0x19d15a(0x116)](buildCliArtifactPath,_0x3840c3,'key_03_success-state.png'),_0x3b210f=_0x59ec30[_0x19d15a(0x116)](buildCliArtifactPath,_0x3840c3,_0x59ec30[_0x19d15a(0x121)]),_0x2a5900=quoteShellArg(_0x2fd7a4),_0x1fce55=_0x59ec30['GWYmy'](quoteShellArg,_0x380e8a),_0x250367=_0x59ec30[_0x19d15a(0x145)](quoteShellArg,_0x47f7bb),_0x5c55b8=_0x59ec30[_0x19d15a(0x145)](quoteShellArg,_0x3b210f),_0x422cc8=_0x17ef36['notes']?_0x19d15a(0x195)+_0x17ef36['notes']:'';let _0x4a77fa='';if(_0x1ca293&&_0x59ec30[_0x19d15a(0x18a)](_0x1ca293[_0x19d15a(0x181)][_0x19d15a(0x141)],0x0)){const _0x357ab1=_0x1ca293[_0x19d15a(0x181)]['map'](_0x546885=>{const _0x117205=_0x19d15a,_0x2a333e=new Date(_0x546885[_0x117205(0x1a0)])['toLocaleDateString'](_0x117205(0x127),{'month':'short','day':_0x59ec30['Rstei']}),_0x236a08=_0x546885['authorName']||_0x546885[_0x117205(0x12b)]||_0x117205(0x14e),_0x50fe0d=_0x546885['domRef']?'\x20(on\x20element:\x20<'+(_0x546885[_0x117205(0x13a)]['selector'][_0x117205(0x15b)](_0x59ec30[_0x117205(0x157)])[_0x117205(0x185)]()?.['split'](':')[0x0]||_0x117205(0x122))+'>\x20\x22'+(_0x546885['domRef'][_0x117205(0x158)]||'')[_0x117205(0x16d)](0x0,0x32)+'\x22)':'';return'-\x20['+_0x546885['id']+']\x20**'+_0x236a08+'**\x20('+_0x2a333e+_0x117205(0x198)+_0x546885['content']+'\x22'+_0x50fe0d;})[_0x19d15a(0x147)]('\x0a');_0x4a77fa=_0x19d15a(0x15c)+_0x357ab1;}const _0x222103=_0x1ca293?.['canonicalFlow']?'\x0a\x0a##\x20Expected\x20Flow\x20(from\x20previous\x20verification)\x0a'+_0x1ca293[_0x19d15a(0x12f)]:'',_0x58b71c=_0x3c385e?'##\x20App\x20Context\x0aYou\x20are\x20connected\x20to\x20a\x20desktop\x20application\x20via\x20CDP\x20(Chrome\x20DevTools\x20Protocol)\x20at\x20'+_0x21d507+_0x19d15a(0x136):'CRITICAL\x20URL\x20REQUIREMENT:\x0aYour\x20base\x20URL\x20is:\x20'+_0x3d35b4+_0x19d15a(0x118),_0xdfa120=_0x3d35b4?_0x59ec30[_0x19d15a(0x19f)](quoteShellArg,_0x3d35b4):'',_0x4284fa=_0x3c385e?'##\x20Instructions\x0a1.\x20Use\x20Bash\x20plus\x20Playwright\x20CLI\x20only.\x20Do\x20NOT\x20call\x20MCP\x20browser\x20tools.\x0a2.\x20Start\x20by\x20running\x20`'+_0x79fa00+'\x20open`,\x20then\x20`'+_0x79fa00+_0x19d15a(0x148)+_0x79fa00+'\x20video-start`.\x0a3.\x20Save\x20every\x20snapshot\x20and\x20screenshot\x20under\x20`'+_0x3840c3+_0x19d15a(0x16b)+_0x79fa00+'\x20snapshot\x20--filename\x20'+_0x2a5900+_0x19d15a(0x15f)+_0x79fa00+_0x19d15a(0x153)+_0x5c55b8+_0x19d15a(0x17e)+_0x79fa00+'\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`'+_0x79fa00+_0x19d15a(0x120)+_0xdfa120+_0x19d15a(0x174)+_0x79fa00+_0x19d15a(0x148)+_0x79fa00+'\x20video-start`.\x0a3.\x20Save\x20every\x20snapshot\x20and\x20screenshot\x20under\x20`'+_0x3840c3+_0x19d15a(0x16b)+_0x79fa00+'\x20snapshot\x20--filename\x20'+_0x2a5900+'`\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`'+_0x79fa00+_0x19d15a(0x153)+_0x5c55b8+'`\x20style\x20absolute\x20paths\x20at\x20key\x20moments.\x0a8.\x20If\x20you\x20need\x20waits\x20or\x20custom\x20assertions,\x20use\x20`'+_0x79fa00+'\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',_0x4c24d6=_0x3c385e?'\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.':_0x19d15a(0x13b),_0x43cab9=_0x20cbdd?_0x19d15a(0x11a)+_0x20cbdd+_0x19d15a(0x11c):'',_0x4761a2=_0x361a61['actorPrefixes']&&_0x59ec30[_0x19d15a(0x14f)](_0x361a61[_0x19d15a(0x156)]['length'],0x2)?'\x0a\x0a##\x20Multiple\x20Actors\x20—\x20one\x20live\x20browser\x20session\x20each\x0aRun\x20every\x20browser\x20command\x20with\x20the\x20prefix\x20for\x20the\x20actor\x20named\x20in\x20the\x20step.\x20Each\x20actor\x20is\x20a\x20separate,\x20independent\x20browser\x20session\x20(its\x20own\x20login,\x20cookies,\x20and\x20storage)\x20—\x20the\x20same\x20prefix\x20always\x20drives\x20the\x20same\x20actor\x27s\x20session.\x0a\x0a'+_0x361a61['actorPrefixes']['map'](_0x1607d3=>'-\x20As\x20'+_0x1607d3[_0x19d15a(0x18c)]+_0x19d15a(0x17f)+_0x1607d3[_0x19d15a(0x176)]+'`\x20<subcommand>\x20…\x20\x20and\x20save\x20this\x20actor\x27s\x20screenshots/snapshots\x20UNDER\x20`'+_0x1607d3['artifactDir']+_0x19d15a(0x12e)+_0x1607d3['prefix']+_0x19d15a(0x153)+_0x1607d3[_0x19d15a(0x16a)]+_0x19d15a(0x159))['join']('\x0a')+_0x19d15a(0x162)+_0x361a61[_0x19d15a(0x156)][_0x19d15a(0x184)](_0x4aa044=>'\x22As\x20'+_0x4aa044[_0x19d15a(0x18c)]+',\x20…\x22')['join'](_0x59ec30['NGDqi'])+_0x19d15a(0x14a)+(_0x361a61['actorPrefixes'][0x0]?.[_0x19d15a(0x18c)]??'the\x20primary\x20actor')+'\x20(the\x20primary\x20actor).\x0a-\x20You\x20may\x20still\x20run\x20`tracing-start`\x20/\x20`video-start`\x20once\x20per\x20actor\x20session,\x20exactly\x20as\x20you\x20do\x20for\x20the\x20single\x20prefix.\x0a-\x20Do\x20NOT\x20run\x20`close`,\x20`tracing-stop`,\x20or\x20`video-stop`\x20for\x20any\x20actor;\x20the\x20host\x20finalizes\x20every\x20actor\x27s\x20session\x20and\x20artifacts.':'';return _0x19d15a(0x133)+_0x17ef36['description']+_0x422cc8+_0x4a77fa+_0x222103+'\x0a\x0a##\x20Task\x20to\x20Execute\x0a'+_0x415521+'\x0a\x0a'+_0x58b71c+_0x43cab9+'\x0a\x0a'+_0x4284fa+'\x0a\x0a##\x20Browser\x20Command\x20Reference\x0aUse\x20Bash\x20to\x20run\x20Playwright\x20CLI\x20commands\x20with\x20this\x20exact\x20prefix:\x0a`'+_0x79fa00+'`\x0a\x0a-\x20Write\x20all\x20artifacts\x20under\x20`'+_0x3840c3+_0x19d15a(0x191)+_0x1fce55+_0x19d15a(0x199)+_0x250367+'`\x0a-\x20`run-code\x20\x22await\x20page.waitForTimeout(1000)\x22`\x20for\x20waits\x20or\x20small\x20custom\x20checks'+_0x4761a2+'\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`'+_0x3840c3+_0x19d15a(0x18d)+_0x3b210f+_0x19d15a(0x11d)+_0x59ec30['VSfmG'](buildCliArtifactPath,_0x3840c3,_0x59ec30['aOyHF'])+'\x22,\x20\x22'+buildCliArtifactPath(_0x3840c3,'03_result-visible.png')+'\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(_0x3840c3,'key_04_success-state.png')+'\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'+_0x4c24d6+_0x19d15a(0x149);}export function summarizeVerifyFeatureCliCommandAvailability(_0x30a69b){const _0x27b35b=_0x3e21,_0x5b6620={'VJOxe':function(_0x33f4c3,_0x43db19){return _0x33f4c3===_0x43db19;}},_0x3e1e4d=[..._0x30a69b['keys']()][_0x27b35b(0x12a)]();let _0x288815=0x0;for(const _0x13bf11 of _0x30a69b['values']()){_0x288815+=_0x13bf11;}return{'cliCommandCount':_0x288815,'cliCommandsSeen':_0x3e1e4d,'noCliCommandsCalled':_0x5b6620[_0x27b35b(0x183)](_0x288815,0x0)};}export function createVerifyFeatureCliHooks(_0x1d0ad0){const _0x2fee1f=_0x3e21,_0x527466={'UPurY':function(_0x4523e0,_0x6dfad8){return _0x4523e0(_0x6dfad8);},'HoDZB':'tool_call','ijsaf':function(_0x4e1d70,_0x4ab3a5){return _0x4e1d70!==_0x4ab3a5;},'GGiLi':function(_0x417158,_0x2e75bf,_0x233ed0,_0x540739){return _0x417158(_0x2e75bf,_0x233ed0,_0x540739);},'GsdJq':_0x2fee1f(0x13c),'cVfxu':'playwright-cli','DkmPt':_0x2fee1f(0x142)},_0x3fa1b6=new Map(),_0x225e93=async _0x245c3c=>{const _0x281a94=_0x2fee1f;if(_0x245c3c['hook_event_name']!=='PostToolUse')return{};const _0x44bd2e=_0x245c3c;if(_0x44bd2e['tool_name']!=='Bash')return{};const _0x2ba852=_0x44bd2e[_0x281a94(0x12c)],_0x1c660d=extractBashCommand(_0x2ba852);if(!_0x1c660d)return{};const _0x4156d4=_0x527466[_0x281a94(0x129)](parsePlaywrightCliCommand,_0x1c660d);if(!_0x4156d4)return{};return _0x3fa1b6['set'](_0x4156d4,(_0x3fa1b6['get'](_0x4156d4)||0x0)+0x1),_0x1d0ad0['trackPhaseStart'](_0x527466[_0x281a94(0x15e)],{'transport':_0x281a94(0x137),'toolName':_0x4156d4}),_0x1d0ad0[_0x281a94(0x123)](_0x527466['HoDZB'],{'transport':_0x281a94(0x137),'toolName':_0x4156d4,'bashCommandPreview':truncatePreview(_0x1c660d)}),_0x527466['ijsaf'](_0x4156d4,_0x281a94(0x19d))&&console['log'](_0x527466['GGiLi'](formatPlaywrightCliConsoleLogMessage,_0x2ba852,_0x1c660d,_0x4156d4)),{};},_0x46be91=async _0x94fdd4=>{const _0x5e2e8a=_0x2fee1f;if(_0x527466['ijsaf'](_0x94fdd4[_0x5e2e8a(0x17d)],'PostToolUseFailure'))return{};const _0x47a572=_0x94fdd4;if(_0x47a572['tool_name']!=='Bash')return{};return await _0x1d0ad0[_0x5e2e8a(0x182)](_0x527466[_0x5e2e8a(0x13e)],_0x47a572[_0x5e2e8a(0x143)],{'transport':_0x527466['cVfxu'],'toolName':_0x527466['DkmPt']}),{};};return{'postToolUseHook':_0x225e93,'postToolUseFailureHook':_0x46be91,'commandCounts':_0x3fa1b6};}async function runPlaywrightCliLifecycleCommand(_0x420a68){const _0x1d13a0=_0x3e21,_0x510bf0={'fsPKY':function(_0x4dac00,_0x4c0f25){return _0x4dac00(_0x4c0f25);},'Yfysh':function(_0x341406,_0x23389e,_0x1e57e0){return _0x341406(_0x23389e,_0x1e57e0);}},{sessionId:_0x3bb87a,configPath:_0x5dfa43,commandArgs:_0x296409,env:_0x2bcda8,telemetry:_0x211e91,phase:_0x41d098,metadata:_0x3e2570,timeoutMs:_0x60fcb4}=_0x420a68;_0x211e91[_0x1d13a0(0x196)](_0x41d098,_0x3e2570);try{const _0x4585a3=await _0x510bf0[_0x1d13a0(0x194)](runPlaywrightCliCommand,{'sessionId':_0x3bb87a,'configPath':_0x5dfa43,'commandArgs':_0x296409,'cwd':process[_0x1d13a0(0x177)](),'env':_0x2bcda8,'timeoutMs':_0x60fcb4??PLAYWRIGHT_CLI_COMMAND_TIMEOUT_MS});_0x211e91[_0x1d13a0(0x123)](_0x41d098,{..._0x3e2570,'subcommand':_0x4585a3['invocation']['subcommand'],'stdoutPreview':_0x510bf0['Yfysh'](truncatePreview,_0x4585a3['stdout'],0x7d0),'stderrPreview':truncatePreview(_0x4585a3[_0x1d13a0(0x126)],0x7d0)});}catch(_0x391592){await _0x211e91['trackPhaseError'](_0x41d098,_0x391592,_0x3e2570);throw _0x391592;}}export async function finalizeVerifyFeatureCliSession(_0x4838e3){const _0x5c58f8=_0x3e21,_0x24897b={'EnfWr':'tracing-stop','TlvGf':'playwright_cli_video_stop','HTnzC':'playwright_cli_close','pngTB':'close','UwpVK':function(_0x314525,_0x3998e0){return _0x314525(_0x3998e0);}},{telemetry:_0x9aaa8b,sessionId:_0x15cba8,configPath:_0x4a0ba1,cliArtifactDir:_0x571d55,env:_0x48fad1,transportMetadata:_0x429aef}=_0x4838e3,_0x1aeaec=[{'phase':_0x5c58f8(0x139),'commandArgs':[_0x24897b[_0x5c58f8(0x18f)]]},{'phase':_0x24897b[_0x5c58f8(0x146)],'commandArgs':['video-stop','--filename='+buildCliArtifactPath(_0x571d55,'session-recording.webm')]},{'phase':_0x24897b['HTnzC'],'commandArgs':[_0x24897b[_0x5c58f8(0x150)]]}];for(const _0x8d9d17 of _0x1aeaec){try{await _0x24897b[_0x5c58f8(0x180)](runPlaywrightCliLifecycleCommand,{'sessionId':_0x15cba8,'configPath':_0x4a0ba1,'commandArgs':[..._0x8d9d17['commandArgs']],'env':_0x48fad1,'telemetry':_0x9aaa8b,'phase':_0x8d9d17[_0x5c58f8(0x152)],'metadata':_0x429aef});}catch{}}}export async function loadVerifyFeatureCliTraceUploadArtifact(_0x427cdf){const _0x40b83a=_0x3e21,_0x552e1e={'pXrZO':_0x40b83a(0x18b),'CORUT':_0x40b83a(0x187),'hrwjB':function(_0x4eec7c,_0x16a4d2,_0x284149){return _0x4eec7c(_0x16a4d2,_0x284149);}},_0x1dc867=[_0x552e1e[_0x40b83a(0x19a)],_0x552e1e['CORUT']];for(const _0x3cac04 of _0x1dc867){const _0x38e691=_0x552e1e['hrwjB'](join,_0x427cdf,_0x3cac04);try{return{'buffer':await readFile(_0x38e691),'source':_0x38e691};}catch{}}return null;}export async function rehomeVerifyFeatureCliArtifacts(_0x62cb3){const _0x1d6655=_0x3e21,_0x2579a2={'sJmXo':function(_0x352dbb,_0x188ec9){return _0x352dbb(_0x188ec9);},'pAgcc':function(_0x5e4931,_0x437e4a){return _0x5e4931+_0x437e4a;},'YMIWj':function(_0x575f30,_0x1c05b6,_0x4ac573){return _0x575f30(_0x1c05b6,_0x4ac573);}},{cwd:_0x4860fc,cliArtifactDir:_0x518e2c,startTime:_0x44b5b8}=_0x62cb3,_0x1485ce=[];await mkdir(_0x518e2c,{'recursive':!![]});const _0x40ffca=await readdir(_0x4860fc,{'withFileTypes':!![]});for(const _0x5e81b1 of _0x40ffca){if(!_0x5e81b1[_0x1d6655(0x17b)]()||!VERIFY_FEATURE_CLI_ARTIFACT_FILE_PATTERN[_0x1d6655(0x134)](_0x5e81b1['name']))continue;const _0x48e5f7=join(_0x4860fc,_0x5e81b1['name']),_0x28e59e=await _0x2579a2['sJmXo'](stat,_0x48e5f7);if(_0x2579a2['pAgcc'](_0x28e59e['mtimeMs'],0x7d0)<_0x44b5b8)continue;const _0x2a3c6c=_0x2579a2[_0x1d6655(0x167)](buildCliArtifactPath,_0x518e2c,_0x5e81b1[_0x1d6655(0x19b)]);if(_0x48e5f7===_0x2a3c6c)continue;await _0x2579a2[_0x1d6655(0x167)](rename,_0x48e5f7,_0x2a3c6c),_0x1485ce[_0x1d6655(0x189)](_0x5e81b1[_0x1d6655(0x19b)]);}return _0x1485ce['sort']();}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const _0x12e0e8=_0x20c2;(function(_0x4549ec,_0x208c2a){const _0x136d12=_0x20c2,_0x1ec0d9=_0x4549ec();while(!![]){try{const _0x1b0bf=-parseInt(_0x136d12(0x124))/0x1+parseInt(_0x136d12(0x187))/0x2+parseInt(_0x136d12(0x168))/0x3*(parseInt(_0x136d12(0x10b))/0x4)+-parseInt(_0x136d12(0x106))/0x5+-parseInt(_0x136d12(0x193))/0x6*(-parseInt(_0x136d12(0x17b))/0x7)+-parseInt(_0x136d12(0x153))/0x8*(-parseInt(_0x136d12(0x136))/0x9)+parseInt(_0x136d12(0x181))/0xa*(parseInt(_0x136d12(0x116))/0xb);if(_0x1b0bf===_0x208c2a)break;else _0x1ec0d9['push'](_0x1ec0d9['shift']());}catch(_0x41a026){_0x1ec0d9['push'](_0x1ec0d9['shift']());}}}(_0xdc7c,0x6539e));function _0x20c2(_0x228f8e,_0x525d21){_0x228f8e=_0x228f8e-0xbb;const _0xdc7c56=_0xdc7c();let _0x20c22e=_0xdc7c56[_0x228f8e];return _0x20c22e;}import{execFile}from'child_process';import{mkdir,readdir,readFile,rename,rm,stat,writeFile}from'fs/promises';import{homedir}from'os';import{basename,join}from'path';function _0xdc7c(){const _0x659e5f=['set','tool_name','nova_act_command_failure','readSessionMetadataWithRetry','contexts','jjauU','notes','xfUbX','send','.json','element','final-state.yaml','log','--format','snapshot','Page.screencastFrameAck','then','encodeScreencastVideo','scale=trunc(iw/2)*2:trunc(ih/2)*2','connectOverCDP','.jpg','\x20snapshot\x20--output\x20','BDmcR','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','nova_act_artifact_recording','zip','\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`','nafsV','YxrLs','context','\x0a\x0a##\x20Additional\x20Notes\x0a','gBkLU','WQdfA','Do\x20not\x20run\x20Nova\x20help,\x20doctor,\x20script,\x20session\x20list,\x20session\x20export,\x20or\x20session\x20close\x20commands\x20during\x20verification.','textContent','stop','description','sGGrh','frame-%06d.jpg','KoFmc','startTraceSampling','\x20verify\x20\x22The\x20Billing\x20page\x20is\x20visible\x20and\x20shows\x20the\x20current\x20plan.\x22\x20','params','PZupl','test','-qr','02_final-state.yml','trackPhaseEnd','twPBV','navigate\x20browser','aSPkf','msSzj','shellCommand','Library','name','clcwt','values','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.','nova-artifacts.zip','\x20>\x20','wKsRK','nova_act_session_export','\x0a\x0aExamples:\x0a-\x20`','rmQmB','nova-session-export.json','`.\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`','capture\x20snapshot','capture\x20key\x20step\x20`','commandArgs','.act_cli','rjHeN','fIOiv','tqcra','novaOptions','domRef','stopped','kGZcB','startAttempted','stopScreencast','GEbyQ','01_initial.yml','frameSession','1672290NpjPql','`\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.','yuv420p','nova-report','stopTraceSampling','52Rhlcfx','Caches','tool_input','trackPhaseStart','jjtTd','getFrameDir','AMcZC','startsWith','wCTEG','create\x20Nova\x20browser\x20session','unaddressedComments','681241rKSZEJ','Use\x20only\x20the\x20provided\x20Nova\x20browser\x20command\x20prefix\x20for\x20browser\x20verification.\x20Do\x20not\x20inspect\x20setup,\x20credentials,\x20files,\x20or\x20the\x20local\x20environment.','jstnh','numeric','zfIWG','stdout','`\x0a4.\x20Run\x20one\x20batched\x20`','tagName','01_initial-state.png','>\x20\x22','ask\x20page\x20question','qkhmX','BiMGH','-\x20[','435331IFeBwQ','frameWrites','ffmpeg','Bash','\x0a\x0a##\x20Task\x20to\x20Execute\x0a','bCDGn','frameCount','startScreencast','nova_act_final_screenshot','jnbCc','replace','catch','vlyEq','selector','start','now','jnLQf','RvEft','2290311DwOIFA','`\x20is\x20reserved\x20for\x20the\x20host.\x20Use\x20only\x20session\x20create,\x20execute,\x20verify,\x20ask,\x20goto,\x20wait-for,\x20snapshot,\x20and\x20screenshot.','-hide_banner','verify','\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','GBkuq','parse','rkFNJ','cwd','browser','LbsCZ','sort','cliArtifactDir','videos','Nova\x20command\x20`','uOOZh','-framerate','qUljc','session\x20create','OSalZ','qEPak','phase','-pix_fmt','from','ZSBdH','keys','session-recording.webm','execute\x20Nova\x20browser\x20action','close','8tQRLMJ','telemetry','\x20screenshot\x20--output\x20','PostToolUseFailure','`\x20using\x20absolute\x20paths\x20only.\x0aReturn\x20your\x20findings\x20in\x20the\x20structured\x20output\x20format.','--report','frame-','subcommand','env','TUDjG','IRrYf','zzCSG','short','trim','traceSampleTimer','screenshot','00_initial-state.yml','browser_pid','authorName','`\x0a3.\x20Run\x20`','.cache','93237wIzfEK','nova_act_final_snapshot','pages','vqoXk','push','nova_act_session_close','`\x0a7.\x20Return\x20immediately\x20with\x20the\x20structured\x20output.\x0a\x0aSave\x20every\x20artifact\x20under\x20`','ask','qNTmp','nova-act-cli','ZEJvW','`\x0a6.\x20Run\x20`','sVFyG','\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`','error','yWrIG','\x0a\x0a##\x20App\x20Context\x0aYour\x20base\x20URL\x20is:\x20','`\x0a-\x20`','screencastStarted','198142XVgpoZ','SpStD','traceSampleCount','nahbf','ThXxD','CLqgU','30VooWGZ','mtimeMs','tracingStarted','ms-playwright','queueTraceSample','key_03_success-state.png','623612ejFLZC','-c:v','sessions','hook_event_name','sessionId','LPHps','Reviewer','OjMoQ','canonicalFlow','--output','capture\x20screenshot','content','6VKlHjl','Drphi','DoNyD','Nova\x20metadata\x20missing\x20cdp_endpoint\x20at\x20','aMKRC','\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','-version','`\x0a2.\x20Run\x20`','wait-for','VhbFO'];_0xdc7c=function(){return _0x659e5f;};return _0xdc7c();}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',_0x12e0e8(0x139),'ask','goto',_0x12e0e8(0x19b),_0x12e0e8(0xc2),_0x12e0e8(0x162)]),execFileAsync=promisify(execFile);function buildCliArtifactPath(_0x9dfcd5,_0x3bb51d){return join(_0x9dfcd5,_0x3bb51d);}export class NovaActArtifactRecorder{['params'];['browser']=null;[_0x12e0e8(0xd1)]=null;['frameSession']=null;['frameWrites']=[];['frameCount']=0x0;['traceSampleCount']=0x0;[_0x12e0e8(0x161)]=null;['traceSampleInFlight']=null;['tracingStarted']=![];['screencastStarted']=![];[_0x12e0e8(0x101)]=![];[_0x12e0e8(0xff)]=![];constructor(_0x4d0a0e){const _0x3ffea2=_0x12e0e8;this[_0x3ffea2(0xde)]=_0x4d0a0e;}async['start'](){const _0x4f1bba=_0x12e0e8,_0x1f581b={'ZhzEk':'Nova\x20CDP\x20connection\x20did\x20not\x20expose\x20a\x20browser\x20context','xcqLH':_0x4f1bba(0xcc)};if(this[_0x4f1bba(0x101)])return;this[_0x4f1bba(0x101)]=!![];const _0xd44d37=await this['readSessionMetadataWithRetry'](),_0x4132a5=_0xd44d37['cdp_endpoint'];if(!_0x4132a5)throw new Error('Nova\x20session\x20metadata\x20did\x20not\x20include\x20cdp_endpoint\x20for\x20'+this[_0x4f1bba(0xde)]['novaOptions'][_0x4f1bba(0x18b)]);await mkdir(this['params']['cliArtifactDir'],{'recursive':!![]}),this[_0x4f1bba(0x13f)]=await chromium[_0x4f1bba(0xc7)](_0x4132a5,{'timeout':NOVA_ARTIFACT_CDP_CONNECT_TIMEOUT_MS}),this['context']=this['browser'][_0x4f1bba(0x1a1)]()[0x0]??null;if(!this['context'])throw new Error(_0x1f581b['ZhzEk']);await this['context']['tracing']['start']({'screenshots':!![],'snapshots':!![],'sources':!![]}),this['tracingStarted']=!![],this[_0x4f1bba(0xdc)](),await this['startScreencast'](),this['params']['telemetry']['trackPhaseStart'](_0x1f581b['xcqLH'],{...this[_0x4f1bba(0xde)]['transportMetadata'],'cdpEndpoint':_0x4132a5,'browserPid':_0xd44d37[_0x4f1bba(0x164)],'sessionState':_0xd44d37['state']}),this['params']['telemetry']['trackPhaseEnd'](_0x4f1bba(0xcc),{...this['params']['transportMetadata'],'tracingStarted':this['tracingStarted'],'screencastStarted':this['screencastStarted']});}async['stop'](){const _0x25f2ab=_0x12e0e8,_0x25915a={'GEbyQ':'nova_act_artifact_recording_stop'};if(this['stopped'])return;this[_0x25f2ab(0xff)]=!![];const _0x185261={...this['params']['transportMetadata'],'frameCount':this[_0x25f2ab(0x12a)],'traceSampleCount':this[_0x25f2ab(0x17d)],'tracingStarted':this['tracingStarted'],'screencastStarted':this['screencastStarted']};this['params'][_0x25f2ab(0x154)]['trackPhaseStart'](_0x25915a[_0x25f2ab(0x103)],_0x185261);try{await this['stopTraceSampling'](),await this['captureTraceSample'](),await this[_0x25f2ab(0x102)](),await Promise['allSettled'](this[_0x25f2ab(0x125)]);this[_0x25f2ab(0xd1)]&&this[_0x25f2ab(0x183)]&&await this['context']['tracing'][_0x25f2ab(0xd7)]({'path':buildCliArtifactPath(this['params'][_0x25f2ab(0x142)],'trace.zip')});const _0x4920ce=await this[_0x25f2ab(0xc5)]();this[_0x25f2ab(0xde)]['telemetry'][_0x25f2ab(0xe3)](_0x25915a['GEbyQ'],{..._0x185261,'videoPath':_0x4920ce});}catch(_0x514626){await this['params']['telemetry']['trackPhaseError']('nova_act_artifact_recording_stop',_0x514626,_0x185261);}finally{await this[_0x25f2ab(0x13f)]?.['close']()[_0x25f2ab(0x12f)](()=>undefined),this['browser']=null,this['context']=null,this[_0x25f2ab(0x105)]=null;}}async[_0x12e0e8(0x1a0)](){const _0x45ef51=_0x12e0e8,_0x1b760e={'oBGIA':function(_0x35d374){return _0x35d374();},'LbsCZ':_0x45ef51(0x13f),'uQnQs':_0x45ef51(0x189),'sGGrh':function(_0x589b49,_0x2e3aae){return _0x589b49-_0x2e3aae;}},_0x2840a8=join(_0x1b760e['oBGIA'](homedir),_0x45ef51(0xf9),_0x1b760e[_0x45ef51(0x140)],_0x1b760e['uQnQs'],this['params']['novaOptions']['sessionId']+_0x45ef51(0xbd)),_0x1c020d=Date['now']();let _0x84fd23;do{try{const _0x5021ce=JSON[_0x45ef51(0x13c)](await readFile(_0x2840a8,'utf-8'));if(_0x5021ce['cdp_endpoint'])return _0x5021ce;_0x84fd23=new Error(_0x45ef51(0x196)+_0x2840a8);}catch(_0x523619){_0x84fd23=_0x523619;}await delay(0x64);}while(_0x1b760e[_0x45ef51(0xd9)](Date[_0x45ef51(0x133)](),_0x1c020d)<NOVA_ARTIFACT_METADATA_WAIT_MS);if(_0x84fd23 instanceof Error)throw _0x84fd23;throw new Error('Unable\x20to\x20read\x20Nova\x20session\x20metadata\x20at\x20'+_0x2840a8);}async[_0x12e0e8(0x12b)](){const _0x367dfa=_0x12e0e8,_0xdd5176={'OSalZ':function(_0x1dbe52,_0x352eba,_0x26a4a0){return _0x1dbe52(_0x352eba,_0x26a4a0);},'BDmcR':function(_0x53ec1e,_0x352087){return _0x53ec1e(_0x352087);},'sVFyG':'Page.startScreencast','rkFNJ':'jpeg'};if(!this[_0x367dfa(0xd1)])return;const _0x1deb00=this['context'][_0x367dfa(0x16a)]()[0x0];if(!_0x1deb00)return;const _0x16c868=this[_0x367dfa(0x110)]();await _0xdd5176['OSalZ'](mkdir,_0x16c868,{'recursive':!![]});const _0x2afd77=await this['context']['newCDPSession'](_0x1deb00);this[_0x367dfa(0x105)]=_0x2afd77,_0x2afd77['on']('Page.screencastFrame',_0x55dd04=>{const _0x2013b8=_0x367dfa,_0x119321=++this['frameCount'],_0x29cc78=_0xdd5176[_0x2013b8(0x149)](join,_0x16c868,_0x2013b8(0x159)+_0xdd5176[_0x2013b8(0xca)](String,_0x119321)['padStart'](0x6,'0')+_0x2013b8(0xc8)),_0x410db7=writeFile(_0x29cc78,Buffer[_0x2013b8(0x14d)](_0x55dd04['data'],'base64'))[_0x2013b8(0x12f)](()=>undefined)['finally'](()=>_0x2afd77[_0x2013b8(0xbc)](_0x2013b8(0xc3),{'sessionId':_0x55dd04[_0x2013b8(0x18b)]}))[_0x2013b8(0xc4)](()=>undefined)['catch'](()=>undefined);this[_0x2013b8(0x125)]['push'](_0x410db7);}),await _0x2afd77[_0x367dfa(0xbc)](_0xdd5176[_0x367dfa(0x174)],{'format':_0xdd5176[_0x367dfa(0x13d)],'quality':0x4b,'everyNthFrame':0x6}),this['screencastStarted']=!![];}async[_0x12e0e8(0x102)](){const _0x4c6041=_0x12e0e8,_0x490eee={'aSPkf':'Page.stopScreencast'};if(!this[_0x4c6041(0x105)]||!this[_0x4c6041(0x17a)])return;await this[_0x4c6041(0x105)][_0x4c6041(0xbc)](_0x490eee[_0x4c6041(0xe6)])[_0x4c6041(0x12f)](()=>undefined);}['startTraceSampling'](){const _0xb81bd0=_0x12e0e8;this[_0xb81bd0(0x185)](),this[_0xb81bd0(0x161)]=setInterval(()=>this[_0xb81bd0(0x185)](),NOVA_ARTIFACT_TRACE_SAMPLE_INTERVAL_MS);}[_0x12e0e8(0x185)](){if(this['traceSampleInFlight'])return;this['traceSampleInFlight']=this['captureTraceSample']()['finally'](()=>{this['traceSampleInFlight']=null;});}async[_0x12e0e8(0x10a)](){const _0x260c2d=_0x12e0e8,_0x3cb312={'ZyTax':function(_0x2f0ecb,_0x5a4ee3){return _0x2f0ecb(_0x5a4ee3);}};this['traceSampleTimer']&&(_0x3cb312['ZyTax'](clearInterval,this[_0x260c2d(0x161)]),this[_0x260c2d(0x161)]=null),await this['traceSampleInFlight']?.['catch'](()=>undefined);}async['captureTraceSample'](){const _0x42f3ed=_0x12e0e8,_0x4c3df7=this[_0x42f3ed(0xd1)]?.[_0x42f3ed(0x16a)]()[0x0];if(!_0x4c3df7)return;try{await _0x4c3df7['locator']('body')['evaluate'](_0x531492=>_0x531492[_0x42f3ed(0x11d)],undefined,{'timeout':0x3e8}),this[_0x42f3ed(0x17d)]++;}catch{}}async[_0x12e0e8(0xc5)](){const _0x156045=_0x12e0e8,_0x5d762f={'JiIkM':function(_0x605556,_0xa82ba8){return _0x605556<_0xa82ba8;},'UbaaQ':function(_0x4532d7){return _0x4532d7();},'yWrIG':function(_0x3f16a6,_0x22e1b4,_0x29d5a3){return _0x3f16a6(_0x22e1b4,_0x29d5a3);},'FzpYd':function(_0x361a1d,_0x593788,_0x467f46){return _0x361a1d(_0x593788,_0x467f46);},'xfUbX':_0x156045(0x150),'pKFaN':'-loglevel','qEPak':'error','mStJu':_0x156045(0x146),'YxrLs':'-vf','TjyzP':'libvpx-vp9','bNPFs':_0x156045(0x108)};if(_0x5d762f['JiIkM'](this[_0x156045(0x12a)],0x2))return null;const _0x14dc90=await _0x5d762f['UbaaQ'](resolveFfmpegPath);if(!_0x14dc90)return null;const _0xcf5569=_0x5d762f[_0x156045(0x177)](join,this['params'][_0x156045(0x142)],_0x156045(0x143));await _0x5d762f['yWrIG'](mkdir,_0xcf5569,{'recursive':!![]});const _0x5f2725=_0x5d762f['FzpYd'](join,_0xcf5569,_0x5d762f[_0x156045(0xbb)]);return await execFileAsync(_0x14dc90,['-y',_0x156045(0x138),_0x5d762f['pKFaN'],_0x5d762f[_0x156045(0x14a)],_0x5d762f['mStJu'],'10','-i',join(this['getFrameDir'](),_0x156045(0xda)),_0x5d762f[_0x156045(0xd0)],_0x156045(0xc6),_0x156045(0x188),_0x5d762f['TjyzP'],_0x156045(0x14c),_0x5d762f['bNPFs'],_0x5f2725]),_0x5f2725;}['getFrameDir'](){const _0x464ea0=_0x12e0e8;return join(this['params'][_0x464ea0(0x142)],'nova-video-frames');}}async function delay(_0x4e2c16){await new Promise(_0x5c4a52=>setTimeout(_0x5c4a52,_0x4e2c16));}async function resolveFfmpegPath(){const _0xa6e8e5=_0x12e0e8,_0x4e7ffc={'aYLbI':_0xa6e8e5(0x10c),'vqoXk':_0xa6e8e5(0x184),'pvzYY':function(_0x474eed){return _0x474eed();},'ThXxD':_0xa6e8e5(0x167)};if(await canRunFfmpeg(_0xa6e8e5(0x126)))return _0xa6e8e5(0x126);const _0x4d600d=[join(homedir(),_0xa6e8e5(0xe9),_0x4e7ffc['aYLbI'],_0x4e7ffc[_0xa6e8e5(0x16b)]),join(_0x4e7ffc['pvzYY'](homedir),_0x4e7ffc[_0xa6e8e5(0x17f)],_0xa6e8e5(0x184))];for(const _0x47f434 of _0x4d600d){try{const _0x4282da=await readdir(_0x47f434),_0x149c81=_0x4282da['filter'](_0x4abc65=>_0x4abc65[_0xa6e8e5(0x112)]('ffmpeg-'))[_0xa6e8e5(0x141)]()['reverse']()['flatMap'](_0x136c21=>[join(_0x47f434,_0x136c21,'ffmpeg-mac'),join(_0x47f434,_0x136c21,'ffmpeg-linux'),join(_0x47f434,_0x136c21,'ffmpeg.exe')]);for(const _0x55f89b of _0x149c81){if(await canRunFfmpeg(_0x55f89b))return _0x55f89b;}}catch{}}return null;}async function canRunFfmpeg(_0x1d5c98){const _0x5d05ed=_0x12e0e8,_0x260d47={'TUDjG':function(_0xcc7543,_0x1341da,_0x340e23){return _0xcc7543(_0x1341da,_0x340e23);},'kGZcB':_0x5d05ed(0x199)};try{return await _0x260d47[_0x5d05ed(0x15c)](execFileAsync,_0x1d5c98,[_0x260d47[_0x5d05ed(0x100)]]),!![];}catch{return![];}}function toStepDisplayName(_0x3495d7){const _0x4d7d65=_0x12e0e8,_0x4ada3f=basename(_0x3495d7)['replace'](/\.(?:png|ya?ml)$/i,'')['replace'](/^key_/i,'')[_0x4d7d65(0x12e)](/^\d+_/,'')['replace'](/-/g,'\x20');return{'name':_0x4ada3f,'isKeyStep':/^key_/i['test'](basename(_0x3495d7))};}function extractShellValue(_0x2f7b48){if(!_0x2f7b48)return null;return _0x2f7b48[0x1]??_0x2f7b48[0x2]??_0x2f7b48[0x3]??null;}function extractOutputOption(_0x1c9dd7){const _0x5857cb={'Stmrk':function(_0x32211b,_0x20fe4a){return _0x32211b(_0x20fe4a);}};return _0x5857cb['Stmrk'](extractShellValue,_0x1c9dd7['match'](/--output(?:=|\s+)(?:"([^"]+)"|'([^']+)'|(\S+))/));}function formatNovaActCliLog(_0x3c0c35,_0x55b2f4){const _0x23140f=_0x12e0e8,_0x42942a={'fIOiv':_0x23140f(0x114),'qNTmp':'execute','jgLoz':_0x23140f(0x151),'SpStD':_0x23140f(0x16f),'euGYJ':_0x23140f(0x120),'TGaOC':'wait-for','jjauU':_0x23140f(0xf6),'GBkuq':function(_0x431753,_0x49c3ad){return _0x431753(_0x49c3ad);},'Ictyu':'session\x20export','IRrYf':'export\x20Nova\x20session'};switch(_0x55b2f4){case _0x23140f(0x148):return _0x42942a[_0x23140f(0xfb)];case _0x42942a[_0x23140f(0x170)]:return _0x42942a['jgLoz'];case'verify':return'verify\x20page\x20condition';case _0x42942a[_0x23140f(0x17c)]:return _0x42942a['euGYJ'];case'goto':return _0x23140f(0xe5);case _0x42942a['TGaOC']:return'wait\x20for\x20page\x20condition';case'snapshot':{const _0x4ac114=extractOutputOption(_0x3c0c35);if(!_0x4ac114)return _0x42942a[_0x23140f(0x1a2)];const {name:_0x5f54ec}=_0x42942a[_0x23140f(0x13b)](toStepDisplayName,_0x4ac114);return'capture\x20snapshot\x20`'+_0x5f54ec+'`';}case'screenshot':{const _0x5d88da=extractOutputOption(_0x3c0c35);if(!_0x5d88da)return _0x23140f(0x191);const {name:_0x4e1f3a,isKeyStep:_0x438077}=_0x42942a['GBkuq'](toStepDisplayName,_0x5d88da);return _0x438077?_0x23140f(0xf7)+_0x4e1f3a+'`':'capture\x20step\x20`'+_0x4e1f3a+'`';}case _0x42942a['Ictyu']:return _0x42942a[_0x23140f(0x15d)];default:return _0x55b2f4;}}function getNovaActCliCommandBlockReason(_0x1ae67d){const _0x5c2926=_0x12e0e8,_0x24f753={'zzCSG':function(_0x1385f9,_0x4a5fc3){return _0x1385f9===_0x4a5fc3;},'ZEJvW':_0x5c2926(0xd5)},_0x409a17=parseNovaActCliCommand(_0x1ae67d);if(!_0x409a17)return _0x5c2926(0x117);if(!NOVA_ACT_ALLOWED_AGENT_COMMANDS['has'](_0x409a17))return _0x5c2926(0x144)+_0x409a17+_0x5c2926(0x137);if(_0x24f753[_0x5c2926(0x15e)](_0x409a17,'verify')&&/\b(?:previously visited|visited pages|pages visited|at least one of the pages visited)\b/i[_0x5c2926(0xe0)](_0x1ae67d))return _0x5c2926(0xed);if(/\s--help\b|\bdoctor\b|\bscript\b|\bsession\s+(?:close|list|export)\b/[_0x5c2926(0xe0)](_0x1ae67d))return _0x24f753[_0x5c2926(0x172)];return null;}function buildFeedbackSection(_0x2d39e7){const _0x49a242=_0x12e0e8,_0x5f310e={'BiMGH':'en-US','nafsV':_0x49a242(0x15f),'jnbCc':_0x49a242(0xbe)};if(!_0x2d39e7||_0x2d39e7[_0x49a242(0x115)]['length']===0x0)return'';const _0xb21776=_0x2d39e7['unaddressedComments']['map'](_0x2766c6=>{const _0x288d18=_0x49a242,_0x4c0645=new Date(_0x2766c6['createdAt'])['toLocaleDateString'](_0x5f310e[_0x288d18(0x122)],{'month':_0x5f310e[_0x288d18(0xcf)],'day':_0x288d18(0x119)}),_0x4eefd2=_0x2766c6[_0x288d18(0x165)]||_0x2766c6['authorEmail']||_0x288d18(0x18d),_0x290950=_0x2766c6['domRef']?'\x20(on\x20element:\x20<'+(_0x2766c6[_0x288d18(0xfe)][_0x288d18(0x131)]['split'](_0x288d18(0xef))['pop']()?.['split'](':')[0x0]||_0x5f310e[_0x288d18(0x12d)])+_0x288d18(0x11f)+(_0x2766c6['domRef'][_0x288d18(0xd6)]||'')['slice'](0x0,0x32)+'\x22)':'';return _0x288d18(0x123)+_0x2766c6['id']+']\x20**'+_0x4eefd2+'**\x20('+_0x4c0645+'):\x20\x22'+_0x2766c6[_0x288d18(0x192)]+'\x22'+_0x290950;})['join']('\x0a');return _0x49a242(0x13a)+_0xb21776;}function buildNovaSharedOptionsInstruction(_0x7f9a25){const _0x334bc2=_0x12e0e8;if(!_0x7f9a25[_0x334bc2(0x160)]())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'Append\x20this\x20option\x20suffix\x20to\x20every\x20browser\x20command\x20unless\x20the\x20host\x20gives\x20a\x20more\x20specific\x20example:\x0a'+_0x7f9a25;}export function buildVerifyFeatureNovaCliDebugPrompt(_0x5a8438){const _0x392381=_0x12e0e8,_0x3e35de={'bCDGn':function(_0x4a488e,_0x7c6a13,_0x4d3ddc){return _0x4a488e(_0x7c6a13,_0x4d3ddc);},'wCTEG':function(_0x58e26c,_0x5901e4,_0x5a1144){return _0x58e26c(_0x5901e4,_0x5a1144);},'AMcZC':'03_final-state.png','IwXjs':function(_0x32455d,_0x15ad41){return _0x32455d(_0x15ad41);}},{novaCommandPrefix:_0x38c37b,novaSharedOptionsSuffix:_0x4e1471,cliArtifactDir:_0x181459,url:_0x36cff4}=_0x5a8438,_0x5647cb=_0x3e35de['bCDGn'](buildCliArtifactPath,_0x181459,_0x392381(0x163)),_0x546556=_0x3e35de[_0x392381(0x113)](buildCliArtifactPath,_0x181459,_0x392381(0x11e)),_0x6e37f7=_0x3e35de[_0x392381(0x129)](buildCliArtifactPath,_0x181459,_0x392381(0xe2)),_0x1a0047=buildCliArtifactPath(_0x181459,_0x3e35de[_0x392381(0x111)]);return'You\x20are\x20testing\x20Nova\x20Act\x20browser\x20automation.\x20Your\x20task\x20is\x20simple.\x0a\x0aUse\x20Bash\x20and\x20Nova\x20Act\x20CLI\x20only.\x20The\x20browser\x20command\x20prefix\x20is:\x0a'+_0x38c37b+'\x0a\x0a'+buildNovaSharedOptionsInstruction(_0x4e1471)+_0x392381(0xce)+_0x38c37b+'\x20session\x20create\x20'+_0x3e35de['IwXjs'](quoteShellArg,_0x36cff4)+'\x20'+_0x4e1471+_0x392381(0x19a)+_0x38c37b+_0x392381(0xc9)+_0x3e35de['IwXjs'](quoteShellArg,_0x5647cb)+'\x20'+_0x4e1471+_0x392381(0x166)+_0x38c37b+_0x392381(0x155)+quoteShellArg(_0x546556)+'\x20'+_0x4e1471+_0x392381(0x11c)+_0x38c37b+'\x20execute\x20\x22...\x22`\x20command\x20to\x20exercise\x20the\x20current\x20page.\x0a5.\x20Run\x20`'+_0x38c37b+'\x20snapshot\x20--output\x20'+quoteShellArg(_0x6e37f7)+'\x20'+_0x4e1471+_0x392381(0x173)+_0x38c37b+'\x20screenshot\x20--output\x20'+quoteShellArg(_0x1a0047)+'\x20'+_0x4e1471+_0x392381(0x16e)+_0x181459+_0x392381(0x157);}export function buildVerifyFeatureNovaCliPrompt(_0x2bc3ed){const _0x4e8824=_0x12e0e8,_0x509832={'uOOZh':function(_0x4e47f1,_0x5bcbf9,_0x56b7f0){return _0x4e47f1(_0x5bcbf9,_0x56b7f0);},'CLqgU':_0x4e8824(0x104),'nZvdd':_0x4e8824(0x11e),'clcwt':function(_0xcda2a9,_0x2f97c3){return _0xcda2a9(_0x2f97c3);}},{checklistItem:_0x411a0d,itemFeedback:_0x4699f0,taskDescription:_0x22e48e,novaCommandPrefix:_0x4c33bf,novaSharedOptionsSuffix:_0x4ed821,cliArtifactDir:_0x2d67b5,url:_0x10ab0e,loginInstructions:_0x4d8a67}=_0x2bc3ed,_0xaca538=_0x411a0d[_0x4e8824(0x1a3)]?_0x4e8824(0xd2)+_0x411a0d[_0x4e8824(0x1a3)]:'',_0x4e0404=buildFeedbackSection(_0x4699f0),_0x5c7168=_0x4699f0?.['canonicalFlow']?'\x0a\x0a##\x20Expected\x20Flow\x20(from\x20previous\x20verification)\x0a'+_0x4699f0[_0x4e8824(0x18f)]:'',_0x28b05b=_0x4d8a67?'\x0a\x0a##\x20Authentication\x0aBEFORE\x20starting\x20the\x20verification\x20task,\x20authenticate\x20using\x20these\x20steps:\x0a'+_0x4d8a67+'\x0a\x0aIf\x20authentication\x20fails,\x20return\x20evaluation\x20\x22blocked\x22\x20and\x20describe\x20the\x20auth\x20failure.':'',_0x3a9645=_0x509832[_0x4e8824(0x145)](buildCliArtifactPath,_0x2d67b5,_0x509832[_0x4e8824(0x180)]),_0x1ee440=_0x509832['uOOZh'](buildCliArtifactPath,_0x2d67b5,_0x509832['nZvdd']),_0x44f7db=_0x509832[_0x4e8824(0x145)](buildCliArtifactPath,_0x2d67b5,_0x4e8824(0x186));return _0x4e8824(0xcb)+_0x411a0d[_0x4e8824(0xd8)]+_0xaca538+_0x4e0404+_0x5c7168+_0x4e8824(0x128)+_0x22e48e+_0x4e8824(0x178)+_0x10ab0e+_0x4e8824(0x198)+_0x28b05b+_0x4e8824(0x175)+_0x4c33bf+'\x20session\x20create\x20'+_0x509832['clcwt'](quoteShellArg,_0x10ab0e)+'\x20'+_0x4ed821+'`.\x0a4.\x20Save\x20every\x20snapshot\x20and\x20screenshot\x20under\x20`'+_0x2d67b5+'`\x20using\x20absolute\x20paths\x20only.\x0a5.\x20Take\x20an\x20initial\x20snapshot:\x20`'+_0x4c33bf+_0x4e8824(0xc9)+_0x509832[_0x4e8824(0xeb)](quoteShellArg,_0x3a9645)+'\x20'+_0x4ed821+'`.\x0a6.\x20Take\x20an\x20initial\x20screenshot:\x20`'+_0x4c33bf+_0x4e8824(0x155)+_0x509832[_0x4e8824(0xeb)](quoteShellArg,_0x1ee440)+'\x20'+_0x4ed821+_0x4e8824(0xf5)+_0x44f7db+'`.\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`'+_0x4c33bf+'`\x0a\x0aAppend\x20this\x20option\x20suffix\x20to\x20browser\x20commands:\x0a'+(_0x4ed821[_0x4e8824(0x160)]()?'`'+_0x4ed821+'`':'`<none;\x20the\x20command\x20prefix\x20injects\x20shared\x20options>`')+'\x0a\x0a'+buildNovaSharedOptionsInstruction(_0x4ed821)+_0x4e8824(0xf2)+_0x4c33bf+'\x20execute\x20\x221.\x20Open\x20the\x20account\x20settings\x20menu.\x202.\x20Click\x20Billing.\x203.\x20Wait\x20for\x20the\x20Billing\x20page\x20to\x20load.\x22\x20'+_0x4ed821+_0x4e8824(0x179)+_0x4c33bf+_0x4e8824(0xdd)+_0x4ed821+'`\x0a-\x20`'+_0x4c33bf+_0x4e8824(0xc9)+quoteShellArg(_0x3a9645)+'\x20'+_0x4ed821+_0x4e8824(0x179)+_0x4c33bf+'\x20screenshot\x20--output\x20'+quoteShellArg(_0x44f7db)+'\x20'+_0x4ed821+_0x4e8824(0x107);}export function summarizeVerifyFeatureNovaCliCommandAvailability(_0x5e98f3){const _0x597178=_0x12e0e8,_0x390e51={'msSzj':function(_0x43c8b0,_0x3e7a35){return _0x43c8b0===_0x3e7a35;}},_0x41e40a=[..._0x5e98f3[_0x597178(0x14f)]()]['sort']();let _0x219244=0x0;for(const _0x14d248 of _0x5e98f3[_0x597178(0xec)]()){_0x219244+=_0x14d248;}return{'cliCommandCount':_0x219244,'cliCommandsSeen':_0x41e40a,'noCliCommandsCalled':_0x390e51[_0x597178(0xe7)](_0x219244,0x0)};}export function createVerifyFeatureNovaCliHooks(_0x787ece,_0x165469){const _0x369930=_0x12e0e8,_0x40ed1c={'ZSBdH':function(_0x42859b,_0x1c8fd5){return _0x42859b(_0x1c8fd5);},'CzAKN':'PostToolUse','nahbf':_0x369930(0x127),'tqcra':function(_0x17d447,_0xe4d3da){return _0x17d447(_0xe4d3da);},'wKsRK':function(_0x3b2244,_0x1cecc7){return _0x3b2244+_0x1cecc7;},'jstnh':'nova_act_command','rmQmB':function(_0x554ff3,_0x1d9ef0){return _0x554ff3===_0x1d9ef0;},'HIVed':'session\x20create','KoFmc':'nova-act-cli','UZIEl':_0x369930(0x156),'OjMoQ':function(_0x17a0e4,_0x3c94b9){return _0x17a0e4!==_0x3c94b9;}},_0x26246f=new Map(),_0x5357dc=async _0x499570=>{const _0x39b237=_0x369930;if(_0x499570[_0x39b237(0x18a)]!=='PreToolUse')return{};const _0x38c23c=_0x499570;if(_0x38c23c['tool_name']!=='Bash')return{};const _0x3bb50f=_0x38c23c[_0x39b237(0x10d)],_0x158a80=_0x40ed1c[_0x39b237(0x14e)](extractBashCommand,_0x3bb50f);if(!_0x158a80)return{};const _0x438821=getNovaActCliCommandBlockReason(_0x158a80);if(!_0x438821)return{};return{'decision':'block','reason':_0x438821};},_0x2bd309=async _0x437772=>{const _0x18b571=_0x369930;if(_0x437772['hook_event_name']!==_0x40ed1c['CzAKN'])return{};const _0x562189=_0x437772;if(_0x562189['tool_name']!==_0x40ed1c[_0x18b571(0x17e)])return{};const _0x1ccf74=_0x562189['tool_input'],_0x121de3=_0x40ed1c[_0x18b571(0xfc)](extractBashCommand,_0x1ccf74);if(!_0x121de3)return{};const _0x2003df=parseNovaActCliCommand(_0x121de3);if(!_0x2003df)return{};_0x26246f[_0x18b571(0x19d)](_0x2003df,_0x40ed1c[_0x18b571(0xf0)](_0x26246f['get'](_0x2003df)||0x0,0x1)),_0x787ece['trackPhaseStart'](_0x40ed1c[_0x18b571(0x118)],{'subcommand':_0x2003df}),_0x787ece[_0x18b571(0xe3)]('nova_act_command',{'subcommand':_0x2003df,'commandPreview':previewNovaActCliCommand(_0x121de3)}),console[_0x18b571(0xc0)]('[nova-act-cli]\x20'+formatNovaActCliLog(_0x121de3,_0x2003df));if(_0x40ed1c[_0x18b571(0xf3)](_0x2003df,_0x40ed1c['HIVed'])&&_0x165469)try{await _0x165469[_0x18b571(0x132)]();}catch(_0x22aa12){await _0x787ece['trackPhaseError'](_0x18b571(0xcc),_0x22aa12,{'transport':_0x40ed1c[_0x18b571(0xdb)]});}return{};},_0x1f7df0=async _0x5a1d4a=>{const _0xc8ad2f=_0x369930;if(_0x5a1d4a['hook_event_name']!==_0x40ed1c['UZIEl'])return{};const _0x6381a6=_0x5a1d4a;if(_0x40ed1c[_0xc8ad2f(0x18e)](_0x6381a6[_0xc8ad2f(0x19e)],_0xc8ad2f(0x127)))return{};return await _0x787ece['trackPhaseError'](_0xc8ad2f(0x19f),_0x6381a6[_0xc8ad2f(0x176)],{'transport':_0xc8ad2f(0x171),'toolName':'Bash'}),{};};return{'preToolUseHook':_0x5357dc,'postToolUseHook':_0x2bd309,'postToolUseFailureHook':_0x1f7df0,'commandCounts':_0x26246f};}async function runNovaLifecycleCommand(_0x2804fd){const _0x34bce7=_0x12e0e8,_0x52cf90={'lpgRk':function(_0x908a74,_0x2a0d42){return _0x908a74(_0x2a0d42);},'LPHps':function(_0x4591b2,_0x5962e3){return _0x4591b2(_0x5962e3);},'WQdfA':function(_0x522a19,_0x388ee9){return _0x522a19(_0x388ee9);}},{novaOptions:_0x508547,commandArgs:_0x349a08,telemetry:_0x16c335,phase:_0x27f254,metadata:_0x20295c,timeoutMs:_0x474d96}=_0x2804fd;_0x16c335[_0x34bce7(0x10e)](_0x27f254,_0x20295c);try{const _0x47f120=await _0x52cf90['lpgRk'](runNovaActCliCommand,{..._0x508547,'commandArgs':_0x349a08,'cwd':process[_0x34bce7(0x13e)](),'env':process[_0x34bce7(0x15b)],'timeoutMs':_0x474d96??NOVA_ACT_CLI_COMMAND_TIMEOUT_MS});_0x16c335['trackPhaseEnd'](_0x27f254,{..._0x20295c,'subcommand':_0x47f120['invocation'][_0x34bce7(0x15a)],'commandPreview':previewNovaActCliCommand(_0x47f120['invocation'][_0x34bce7(0xe8)]),'stdoutPreview':_0x52cf90[_0x34bce7(0x18c)](previewNovaActCliCommand,_0x47f120[_0x34bce7(0x11b)]),'stderrPreview':previewNovaActCliCommand(_0x47f120['stderr']),'logDir':_0x52cf90[_0x34bce7(0xd4)](extractNovaActLogDir,_0x47f120[_0x34bce7(0x11b)])});}catch(_0x3cf023){await _0x16c335['trackPhaseError'](_0x27f254,_0x3cf023,_0x20295c);throw _0x3cf023;}}export async function finalizeVerifyFeatureNovaCliSession(_0x6e6add){const _0x1ba3e6=_0x12e0e8,_0x2f4416={'rjHeN':_0x1ba3e6(0x12c),'VhbFO':function(_0x57b546,_0xc4c86a,_0x3b0f5e){return _0x57b546(_0xc4c86a,_0x3b0f5e);},'vlyEq':'key_final-state.png','TzKrI':'snapshot','twPBV':_0x1ba3e6(0xf1),'gBkLU':'session','jnLQf':'json','NLHoJ':'nova_act_session_report','DoNyD':'--output-dir','zfIWG':function(_0x4af9c6,_0x37d843,_0x1ef18f){return _0x4af9c6(_0x37d843,_0x1ef18f);},'qUljc':'nova_act_session_close'},{telemetry:_0x11d91c,novaOptions:_0x3ebbb5,cliArtifactDir:_0x3e0c16,transportMetadata:_0x41d303,artifactRecorder:_0x4156a9}=_0x6e6add,_0x1b2574=[{'phase':_0x2f4416[_0x1ba3e6(0xfa)],'commandArgs':['screenshot','--output',_0x2f4416[_0x1ba3e6(0x19c)](buildCliArtifactPath,_0x3e0c16,_0x2f4416[_0x1ba3e6(0x130)])]},{'phase':_0x1ba3e6(0x169),'commandArgs':[_0x2f4416['TzKrI'],_0x1ba3e6(0x190),buildCliArtifactPath(_0x3e0c16,_0x1ba3e6(0xbf))]},{'phase':_0x2f4416[_0x1ba3e6(0xe4)],'commandArgs':[_0x2f4416['gBkLU'],'export',_0x1ba3e6(0xc1),_0x2f4416[_0x1ba3e6(0x134)],'--output',buildCliArtifactPath(_0x3e0c16,_0x1ba3e6(0xf4))]},{'phase':_0x2f4416['NLHoJ'],'commandArgs':['session','export',_0x1ba3e6(0x158),_0x2f4416[_0x1ba3e6(0x195)],_0x2f4416[_0x1ba3e6(0x11a)](buildCliArtifactPath,_0x3e0c16,_0x1ba3e6(0x109))]},{'phase':_0x2f4416[_0x1ba3e6(0x147)],'commandArgs':[_0x2f4416[_0x1ba3e6(0xd3)],_0x1ba3e6(0x152)]}];for(const _0x335c91 of _0x1b2574){_0x335c91['phase']===_0x1ba3e6(0x16d)&&await _0x4156a9?.[_0x1ba3e6(0xd7)]();try{await runNovaLifecycleCommand({'novaOptions':_0x3ebbb5,'commandArgs':[..._0x335c91[_0x1ba3e6(0xf8)]],'telemetry':_0x11d91c,'phase':_0x335c91[_0x1ba3e6(0x14b)],'metadata':_0x41d303});}catch{}}}export async function harvestVerifyFeatureNovaCliArtifacts(_0x32eb6c){const _0x1c4055=_0x12e0e8,_0x3958aa={'IPqpe':function(_0xc2fc47,_0xd9448a,_0x314474){return _0xc2fc47(_0xd9448a,_0x314474);},'RvEft':function(_0x2a8c9f,_0x6ab3e8){return _0x2a8c9f(_0x6ab3e8);},'eeJuJ':function(_0x383e53,_0x4945c0){return _0x383e53<_0x4945c0;},'Drphi':function(_0x54b918,_0x256b29){return _0x54b918+_0x256b29;},'KdOSM':function(_0x4607ca,_0x1c1860,_0x1a046d){return _0x4607ca(_0x1c1860,_0x1a046d);}},{cwd:_0x703806,cliArtifactDir:_0x5bb7b9,startTime:_0x2ba2d3}=_0x32eb6c,_0x125f51=[];await mkdir(_0x5bb7b9,{'recursive':!![]});const _0x520cf8=await readdir(_0x703806,{'withFileTypes':!![]});for(const _0x4c8a4c of _0x520cf8){if(!_0x4c8a4c['isFile']()||!VERIFY_FEATURE_NOVA_ARTIFACT_FILE_PATTERN['test'](_0x4c8a4c[_0x1c4055(0xea)]))continue;const _0x14d81c=_0x3958aa['IPqpe'](join,_0x703806,_0x4c8a4c[_0x1c4055(0xea)]),_0x307d42=await _0x3958aa[_0x1c4055(0x135)](stat,_0x14d81c);if(_0x3958aa['eeJuJ'](_0x3958aa[_0x1c4055(0x194)](_0x307d42[_0x1c4055(0x182)],0x7d0),_0x2ba2d3))continue;const _0x1afc0c=buildCliArtifactPath(_0x5bb7b9,_0x4c8a4c['name']);if(_0x14d81c===_0x1afc0c)continue;await _0x3958aa['KdOSM'](rename,_0x14d81c,_0x1afc0c),_0x125f51[_0x1c4055(0x16c)](_0x4c8a4c['name']);}return _0x125f51[_0x1c4055(0x141)]();}export async function loadVerifyFeatureNovaTraceUploadArtifact(_0x205782){const _0x22e35b=join(_0x205782,'trace.zip');try{return{'buffer':await readFile(_0x22e35b),'source':_0x22e35b};}catch{return{'buffer':await zipVerifyFeatureNovaArtifacts(_0x205782),'source':_0x205782};}}async function zipVerifyFeatureNovaArtifacts(_0x293bd3){const _0x2acc0f=_0x12e0e8,_0x5c2ec3={'qkhmX':function(_0x5544a2,_0x18d69d,_0x4f19ae,_0x4ff100){return _0x5544a2(_0x18d69d,_0x4f19ae,_0x4ff100);},'aMKRC':_0x2acc0f(0xee),'lMxfz':function(_0x3c8b9e,_0x161649,_0xb41e83,_0x4be5f0){return _0x3c8b9e(_0x161649,_0xb41e83,_0x4be5f0);},'jjtTd':_0x2acc0f(0xe1),'OqNVL':'nova-user-data/*'},_0x2d16a3=_0x5c2ec3[_0x2acc0f(0x121)](join,_0x293bd3,'..',_0x5c2ec3[_0x2acc0f(0x197)]);try{return await _0x5c2ec3['lMxfz'](execFileAsync,_0x2acc0f(0xcd),[_0x5c2ec3[_0x2acc0f(0x10f)],_0x2d16a3,'.','-x',_0x5c2ec3['OqNVL']],{'cwd':_0x293bd3}),await readFile(_0x2d16a3);}finally{await rm(_0x2d16a3,{'force':!![]});}}export function buildNovaActCliDiagnostics(_0x5190ed){const _0x1c72a1=_0x12e0e8,_0xd4288d={'PZupl':function(_0x1eafbe,_0x120476,_0x3df70a){return _0x1eafbe(_0x120476,_0x3df70a);},'vUher':function(_0x14ef5c,_0x35a39b){return _0x14ef5c(_0x35a39b);}},_0x5e4247=_0xd4288d[_0x1c72a1(0xdf)](buildNovaActCliInvocation,_0x5190ed['novaOptions'],_0x5190ed['commandArgs']);return{'command':_0x5e4247['command'],'args':_0x5e4247['args'],'commandPreview':_0xd4288d['vUher'](previewNovaActCliCommand,_0x5e4247['shellCommand']),'subcommand':_0x5e4247['subcommand'],'sharedOptionsSuffix':buildNovaActCliSharedOptionsSuffix(_0x5190ed[_0x1c72a1(0xfd)],_0x5190ed['commandArgs'])};}
|
|
1
|
+
const _0xcfd99d=_0x35e4;(function(_0x2f0cf1,_0x3bbac0){const _0x1711e4=_0x35e4,_0x623687=_0x2f0cf1();while(!![]){try{const _0x93ef04=parseInt(_0x1711e4(0x105))/0x1*(-parseInt(_0x1711e4(0x187))/0x2)+parseInt(_0x1711e4(0x11d))/0x3*(parseInt(_0x1711e4(0x110))/0x4)+parseInt(_0x1711e4(0x15c))/0x5*(parseInt(_0x1711e4(0xf8))/0x6)+-parseInt(_0x1711e4(0xc0))/0x7*(parseInt(_0x1711e4(0xff))/0x8)+-parseInt(_0x1711e4(0x111))/0x9+-parseInt(_0x1711e4(0x15d))/0xa*(-parseInt(_0x1711e4(0x15f))/0xb)+-parseInt(_0x1711e4(0x190))/0xc;if(_0x93ef04===_0x3bbac0)break;else _0x623687['push'](_0x623687['shift']());}catch(_0x40412){_0x623687['push'](_0x623687['shift']());}}}(_0x3118,0x7615e));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',_0xcfd99d(0xd2),_0xcfd99d(0x148),'ask','goto','wait-for',_0xcfd99d(0x119),_0xcfd99d(0x13b)]),execFileAsync=promisify(execFile);function buildCliArtifactPath(_0x3f8628,_0x25ae63){const _0x2084a3={'ukEgZ':function(_0xdf613c,_0xd0d783,_0x23a8a1){return _0xdf613c(_0xd0d783,_0x23a8a1);}};return _0x2084a3['ukEgZ'](join,_0x3f8628,_0x25ae63);}export class NovaActArtifactRecorder{[_0xcfd99d(0xbf)];['browser']=null;[_0xcfd99d(0x173)]=null;['frameSession']=null;[_0xcfd99d(0xe5)]=[];['frameCount']=0x0;[_0xcfd99d(0xfc)]=0x0;[_0xcfd99d(0xd6)]=null;[_0xcfd99d(0x125)]=null;['tracingStarted']=![];[_0xcfd99d(0x181)]=![];[_0xcfd99d(0xfb)]=![];['stopped']=![];constructor(_0x4dbe12){const _0x1b9304=_0xcfd99d;this[_0x1b9304(0xbf)]=_0x4dbe12;}async[_0xcfd99d(0x16c)](){const _0x5c5bc8=_0xcfd99d,_0x435585={'UCRuo':function(_0x478e11,_0x65aa4d,_0x2c87fa){return _0x478e11(_0x65aa4d,_0x2c87fa);},'BObLe':'nova_act_artifact_recording'};if(this[_0x5c5bc8(0xfb)])return;this['startAttempted']=!![];const _0x4223e1=await this[_0x5c5bc8(0x154)](),_0x3ac0b1=_0x4223e1[_0x5c5bc8(0x15e)];if(!_0x3ac0b1)throw new Error('Nova\x20session\x20metadata\x20did\x20not\x20include\x20cdp_endpoint\x20for\x20'+this[_0x5c5bc8(0xbf)][_0x5c5bc8(0xee)]['sessionId']);await _0x435585[_0x5c5bc8(0xd5)](mkdir,this[_0x5c5bc8(0xbf)][_0x5c5bc8(0x155)],{'recursive':!![]}),this[_0x5c5bc8(0x167)]=await chromium[_0x5c5bc8(0x16a)](_0x3ac0b1,{'timeout':NOVA_ARTIFACT_CDP_CONNECT_TIMEOUT_MS}),this['context']=this['browser'][_0x5c5bc8(0x183)]()[0x0]??null;if(!this['context'])throw new Error('Nova\x20CDP\x20connection\x20did\x20not\x20expose\x20a\x20browser\x20context');await this[_0x5c5bc8(0x173)]['tracing'][_0x5c5bc8(0x16c)]({'screenshots':!![],'snapshots':!![],'sources':!![]}),this[_0x5c5bc8(0x16d)]=!![],this[_0x5c5bc8(0x11e)](),await this['startScreencast'](),this[_0x5c5bc8(0xbf)]['telemetry']['trackPhaseStart'](_0x5c5bc8(0x172),{...this['params']['transportMetadata'],'cdpEndpoint':_0x3ac0b1,'browserPid':_0x4223e1[_0x5c5bc8(0xde)],'sessionState':_0x4223e1['state']}),this[_0x5c5bc8(0xbf)]['telemetry']['trackPhaseEnd'](_0x435585['BObLe'],{...this['params'][_0x5c5bc8(0x144)],'tracingStarted':this[_0x5c5bc8(0x16d)],'screencastStarted':this['screencastStarted']});}async[_0xcfd99d(0x13e)](){const _0x4219c6=_0xcfd99d,_0x5dee25={'LILRI':_0x4219c6(0xfa),'fDXkv':'nova_act_artifact_recording_stop'};if(this['stopped'])return;this['stopped']=!![];const _0x2d1dae={...this[_0x4219c6(0xbf)][_0x4219c6(0x144)],'frameCount':this[_0x4219c6(0x12a)],'traceSampleCount':this['traceSampleCount'],'tracingStarted':this[_0x4219c6(0x16d)],'screencastStarted':this[_0x4219c6(0x181)]};this[_0x4219c6(0xbf)]['telemetry']['trackPhaseStart'](_0x4219c6(0xcf),_0x2d1dae);try{await this[_0x4219c6(0xe8)](),await this[_0x4219c6(0xdb)](),await this[_0x4219c6(0x176)](),await Promise[_0x4219c6(0x15a)](this['frameWrites']);this['context']&&this[_0x4219c6(0x16d)]&&await this['context'][_0x4219c6(0xdf)][_0x4219c6(0x13e)]({'path':buildCliArtifactPath(this[_0x4219c6(0xbf)][_0x4219c6(0x155)],_0x5dee25['LILRI'])});const _0x424ef0=await this[_0x4219c6(0xdc)]();this['params'][_0x4219c6(0x124)][_0x4219c6(0xca)](_0x5dee25[_0x4219c6(0xfd)],{..._0x2d1dae,'videoPath':_0x424ef0});}catch(_0x338bd8){await this['params'][_0x4219c6(0x124)]['trackPhaseError'](_0x5dee25[_0x4219c6(0xfd)],_0x338bd8,_0x2d1dae);}finally{await this['browser']?.['close']()['catch'](()=>undefined),this['browser']=null,this[_0x4219c6(0x173)]=null,this[_0x4219c6(0x12e)]=null;}}async['readSessionMetadataWithRetry'](){const _0x4e1474=_0xcfd99d,_0x4185ac={'tFVcq':function(_0x44d586,_0x63aca6,_0x493aa5,_0x1bd92e,_0xecdd1e,_0x468057){return _0x44d586(_0x63aca6,_0x493aa5,_0x1bd92e,_0xecdd1e,_0x468057);},'KxMQC':function(_0x1c6f02){return _0x1c6f02();},'WWTGK':_0x4e1474(0x147),'BUjYo':'sessions','ELRsr':'utf-8','PJsCM':function(_0x136ab2,_0x454957){return _0x136ab2<_0x454957;},'xePKt':function(_0x14db4e,_0x48e630){return _0x14db4e-_0x48e630;}},_0x887506=_0x4185ac['tFVcq'](join,_0x4185ac[_0x4e1474(0xe7)](homedir),_0x4185ac[_0x4e1474(0x12c)],_0x4e1474(0x167),_0x4185ac[_0x4e1474(0x112)],this[_0x4e1474(0xbf)]['novaOptions']['sessionId']+'.json'),_0x4124c0=Date['now']();let _0x2c2359;do{try{const _0x5b20c1=JSON[_0x4e1474(0x100)](await readFile(_0x887506,_0x4185ac[_0x4e1474(0x171)]));if(_0x5b20c1[_0x4e1474(0x15e)])return _0x5b20c1;_0x2c2359=new Error(_0x4e1474(0x14e)+_0x887506);}catch(_0x1070be){_0x2c2359=_0x1070be;}await delay(0x64);}while(_0x4185ac['PJsCM'](_0x4185ac['xePKt'](Date[_0x4e1474(0xf6)](),_0x4124c0),NOVA_ARTIFACT_METADATA_WAIT_MS));if(_0x2c2359 instanceof Error)throw _0x2c2359;throw new Error(_0x4e1474(0x177)+_0x887506);}async['startScreencast'](){const _0x261d5f=_0xcfd99d,_0x2f19bc={'ZhLmi':function(_0x148a5f,_0x3469b0,_0x18525c){return _0x148a5f(_0x3469b0,_0x18525c);},'jsdXI':_0x261d5f(0xc1),'yKpXc':'Page.screencastFrame','FSxep':_0x261d5f(0x137)};if(!this[_0x261d5f(0x173)])return;const _0x49059b=this[_0x261d5f(0x173)]['pages']()[0x0];if(!_0x49059b)return;const _0x5389f2=this['getFrameDir']();await _0x2f19bc['ZhLmi'](mkdir,_0x5389f2,{'recursive':!![]});const _0x43c606=await this['context'][_0x261d5f(0x150)](_0x49059b);this[_0x261d5f(0x12e)]=_0x43c606,_0x43c606['on'](_0x2f19bc[_0x261d5f(0x107)],_0x52ae0f=>{const _0x39888e=_0x261d5f,_0x5e750b=++this[_0x39888e(0x12a)],_0x4db01d=_0x2f19bc['ZhLmi'](join,_0x5389f2,_0x39888e(0x13c)+String(_0x5e750b)['padStart'](0x6,'0')+'.jpg'),_0x423efb=writeFile(_0x4db01d,Buffer[_0x39888e(0x165)](_0x52ae0f['data'],_0x2f19bc['jsdXI']))[_0x39888e(0x188)](()=>undefined)['finally'](()=>_0x43c606['send']('Page.screencastFrameAck',{'sessionId':_0x52ae0f[_0x39888e(0xd7)]}))[_0x39888e(0xbe)](()=>undefined)['catch'](()=>undefined);this[_0x39888e(0xe5)][_0x39888e(0x117)](_0x423efb);}),await _0x43c606['send'](_0x2f19bc['FSxep'],{'format':_0x261d5f(0x174),'quality':0x4b,'everyNthFrame':0x6}),this[_0x261d5f(0x181)]=!![];}async['stopScreencast'](){const _0x36e073=_0xcfd99d,_0x3ad09a={'TtggJ':'Page.stopScreencast'};if(!this['frameSession']||!this['screencastStarted'])return;await this[_0x36e073(0x12e)][_0x36e073(0xcb)](_0x3ad09a['TtggJ'])['catch'](()=>undefined);}['startTraceSampling'](){const _0x536c97=_0xcfd99d,_0x39cec5={'LKGfD':function(_0x1ead4f,_0x47b9bd,_0xb76e5f){return _0x1ead4f(_0x47b9bd,_0xb76e5f);}};this[_0x536c97(0xf9)](),this[_0x536c97(0xd6)]=_0x39cec5['LKGfD'](setInterval,()=>this[_0x536c97(0xf9)](),NOVA_ARTIFACT_TRACE_SAMPLE_INTERVAL_MS);}['queueTraceSample'](){const _0x261fb2=_0xcfd99d;if(this[_0x261fb2(0x125)])return;this[_0x261fb2(0x125)]=this[_0x261fb2(0xdb)]()['finally'](()=>{this['traceSampleInFlight']=null;});}async['stopTraceSampling'](){const _0x11e350=_0xcfd99d,_0x16d60f={'eWSkP':function(_0x437eac,_0x581602){return _0x437eac(_0x581602);}};this['traceSampleTimer']&&(_0x16d60f['eWSkP'](clearInterval,this[_0x11e350(0xd6)]),this['traceSampleTimer']=null),await this['traceSampleInFlight']?.[_0x11e350(0x188)](()=>undefined);}async['captureTraceSample'](){const _0x362961=_0xcfd99d,_0x3b7d6c=this[_0x362961(0x173)]?.[_0x362961(0x180)]()[0x0];if(!_0x3b7d6c)return;try{await _0x3b7d6c['locator'](_0x362961(0x168))[_0x362961(0x131)](_0xcc5739=>_0xcc5739[_0x362961(0x184)],undefined,{'timeout':0x3e8}),this[_0x362961(0xfc)]++;}catch{}}async['encodeScreencastVideo'](){const _0x117ccb=_0xcfd99d,_0x563d4c={'smaGs':function(_0x2a241b,_0x25204b,_0x97ca73){return _0x2a241b(_0x25204b,_0x97ca73);},'kQNAx':function(_0x16702f,_0xb898ff,_0x41f02c){return _0x16702f(_0xb898ff,_0x41f02c);},'xajLi':function(_0x338e45,_0x2a468d,_0x19cc5f){return _0x338e45(_0x2a468d,_0x19cc5f);},'QiPNo':_0x117ccb(0x18b),'gMQnC':'-loglevel','hZOzt':'frame-%06d.jpg','qlGXQ':'scale=trunc(iw/2)*2:trunc(ih/2)*2','EqzlG':'yuv420p'};if(this['frameCount']<0x2)return null;const _0x1c2a1c=await resolveFfmpegPath();if(!_0x1c2a1c)return null;const _0x265eec=_0x563d4c['smaGs'](join,this['params']['cliArtifactDir'],_0x117ccb(0x138));await _0x563d4c['kQNAx'](mkdir,_0x265eec,{'recursive':!![]});const _0x8a98e9=_0x563d4c['xajLi'](join,_0x265eec,_0x563d4c[_0x117ccb(0x141)]);return await _0x563d4c['kQNAx'](execFileAsync,_0x1c2a1c,['-y','-hide_banner',_0x563d4c[_0x117ccb(0x134)],_0x117ccb(0x12f),_0x117ccb(0x13d),'10','-i',join(this['getFrameDir'](),_0x563d4c[_0x117ccb(0x182)]),_0x117ccb(0xd0),_0x563d4c[_0x117ccb(0xe4)],_0x117ccb(0x17d),'libvpx-vp9','-pix_fmt',_0x563d4c[_0x117ccb(0xce)],_0x8a98e9]),_0x8a98e9;}[_0xcfd99d(0x13a)](){const _0x4c6686=_0xcfd99d,_0x381872={'TKroj':function(_0x20cab3,_0x53cbfb,_0x524967){return _0x20cab3(_0x53cbfb,_0x524967);}};return _0x381872['TKroj'](join,this[_0x4c6686(0xbf)]['cliArtifactDir'],'nova-video-frames');}}async function delay(_0x510836){await new Promise(_0x2a432=>setTimeout(_0x2a432,_0x510836));}function _0x3118(){const _0x37dc17=['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','key_03_success-state.png','2TkbUee','catch','notes','verify\x20page\x20condition','session-recording.webm','toLocaleDateString','short','canonicalFlow','sort','3732396ziGWnA','env','then','params','7UJZOWC','base64','trackPhaseError','uooZg','trackPhaseStart','Do\x20not\x20run\x20Nova\x20help,\x20doctor,\x20script,\x20session\x20list,\x20session\x20export,\x20or\x20session\x20close\x20commands\x20during\x20verification.','Caches','cjWqC','`\x0a2.\x20Run\x20`','\x0a\x0a##\x20App\x20Context\x0aYour\x20base\x20URL\x20is:\x20','trackPhaseEnd','send','tGoxQ','map','EqzlG','nova_act_artifact_recording_stop','-vf','\x20(on\x20element:\x20<','execute','PostToolUseFailure','HGTds','UCRuo','traceSampleTimer','sessionId','description','export\x20Nova\x20session','nova_act_final_snapshot','captureTraceSample','encodeScreencastVideo','rlkDo','browser_pid','tracing','`\x0a4.\x20Run\x20one\x20batched\x20`','yQNxT','GLTyh','nova-act-cli','qlGXQ','frameWrites','session\x20create','KxMQC','stopTraceSampling','en-US','\x20snapshot\x20--output\x20','fZJNk','pMbuG','phase','novaOptions','Use\x20only\x20the\x20provided\x20Nova\x20browser\x20command\x20prefix\x20for\x20browser\x20verification.\x20Do\x20not\x20inspect\x20setup,\x20credentials,\x20files,\x20or\x20the\x20local\x20environment.','TPIBQ','execute\x20Nova\x20browser\x20action','tool_input','commandArgs','yreTn','01_initial.yml','now','zELoF','2418zSLArZ','queueTraceSample','trace.zip','startAttempted','traceSampleCount','fDXkv','nova-user-data/*','1566952wtuxfU','parse','kzZsR','dbwBd','values','set','549439StfRGJ','isFile','yKpXc','nova_act_session_export','>\x20\x22','zFFnb','length','--output-dir','**\x20(','KcUOl','split','980glIrFr','236097KKkBET','BUjYo','FcECX','element','jcRUF','keys','push','[nova-act-cli]\x20','snapshot',']\x20**','UzLHF','Reviewer','723sjPyQO','startTraceSampling','capture\x20key\x20step\x20`','authorName','ffmpeg','PJkJr','`<none;\x20the\x20command\x20prefix\x20injects\x20shared\x20options>`','telemetry','traceSampleInFlight','nova-report','args','hook_event_name','close','frameCount','domRef','WWTGK','filter','frameSession','error','--report','evaluate','qbYYq','fJymC','gMQnC','\x20session\x20create\x20','replace','Page.startScreencast','videos','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.','getFrameDir','screenshot','frame-','-framerate','stop','NvcWi','capture\x20screenshot','QiPNo','-qr','capture\x20snapshot\x20`','transportMetadata','\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`','nova_act_session_close','.act_cli','verify','final-state.yaml','invocation','PostToolUse','PreToolUse','nova_act_command','Nova\x20metadata\x20missing\x20cdp_endpoint\x20at\x20','tool_name','newCDPSession','johnn','unaddressedComments','subcommand','readSessionMetadataWithRetry','cliArtifactDir','zXYIS','ask','log','fRdEJ','allSettled','nVjva','7625jQIyOl','120EoUvEB','cdp_endpoint','818246jqEpdh','\x20execute\x20\x221.\x20Open\x20the\x20account\x20settings\x20menu.\x202.\x20Click\x20Billing.\x203.\x20Wait\x20for\x20the\x20Billing\x20page\x20to\x20load.\x22\x20','MJKAD','\x0a\x0aIf\x20authentication\x20fails,\x20return\x20evaluation\x20\x22blocked\x22\x20and\x20describe\x20the\x20auth\x20failure.','name','test','from','zwgJJ','browser','body','\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','connectOverCDP','authorEmail','start','tracingStarted','WPSab','nova_act_command_failure','\x0a\x0a##\x20Task\x20to\x20Execute\x0a','ELRsr','nova_act_artifact_recording','context','jpeg','session','stopScreencast','Unable\x20to\x20read\x20Nova\x20session\x20metadata\x20at\x20','`\x0a6.\x20Run\x20`','wait-for','stdout','GpyJE','\x0a\x0a##\x20Additional\x20Notes\x0a','-c:v','cwd','`\x20using\x20absolute\x20paths\x20only.\x0aReturn\x20your\x20findings\x20in\x20the\x20structured\x20output\x20format.','pages','screencastStarted','hZOzt','contexts','tagName'];_0x3118=function(){return _0x37dc17;};return _0x3118();}async function resolveFfmpegPath(){const _0x202385=_0xcfd99d,_0x3f5b1d={'gBfjy':function(_0x5d434a,_0x24b76e){return _0x5d434a(_0x24b76e);},'mlUsl':_0x202385(0x121),'yreTn':'Library','nVjva':'ms-playwright','VbZKf':'.cache','jcRUF':function(_0xfa0d6d,_0x179c51){return _0xfa0d6d(_0x179c51);}};if(await _0x3f5b1d['gBfjy'](canRunFfmpeg,_0x3f5b1d['mlUsl']))return _0x3f5b1d['mlUsl'];const _0x143766=[join(homedir(),_0x3f5b1d[_0x202385(0xf4)],_0x202385(0xc6),_0x3f5b1d[_0x202385(0x15b)]),join(homedir(),_0x3f5b1d['VbZKf'],_0x3f5b1d[_0x202385(0x15b)])];for(const _0x35d48f of _0x143766){try{const _0x446489=await readdir(_0x35d48f),_0x582552=_0x446489[_0x202385(0x12d)](_0x3654dd=>_0x3654dd['startsWith']('ffmpeg-'))['sort']()['reverse']()['flatMap'](_0x1b73eb=>[join(_0x35d48f,_0x1b73eb,'ffmpeg-mac'),join(_0x35d48f,_0x1b73eb,'ffmpeg-linux'),join(_0x35d48f,_0x1b73eb,'ffmpeg.exe')]);for(const _0x234906 of _0x582552){if(await _0x3f5b1d[_0x202385(0x115)](canRunFfmpeg,_0x234906))return _0x234906;}}catch{}}return null;}function _0x35e4(_0x296f64,_0x48077a){_0x296f64=_0x296f64-0xbe;const _0x311853=_0x3118();let _0x35e496=_0x311853[_0x296f64];return _0x35e496;}async function canRunFfmpeg(_0x5c0718){const _0x226842={'sjSsq':function(_0x4bb370,_0x453f4b,_0x391c13){return _0x4bb370(_0x453f4b,_0x391c13);},'tfjXO':'-version'};try{return await _0x226842['sjSsq'](execFileAsync,_0x5c0718,[_0x226842['tfjXO']]),!![];}catch{return![];}}function toStepDisplayName(_0xd65b3f){const _0x25e17b=_0xcfd99d,_0x506524={'EIhqf':function(_0x94f767,_0xae7eb3){return _0x94f767(_0xae7eb3);}},_0x5a9ca6=_0x506524['EIhqf'](basename,_0xd65b3f)[_0x25e17b(0x136)](/\.(?:png|ya?ml)$/i,'')['replace'](/^key_/i,'')['replace'](/^\d+_/,'')[_0x25e17b(0x136)](/-/g,'\x20');return{'name':_0x5a9ca6,'isKeyStep':/^key_/i['test'](basename(_0xd65b3f))};}function extractShellValue(_0x362de6){if(!_0x362de6)return null;return _0x362de6[0x1]??_0x362de6[0x2]??_0x362de6[0x3]??null;}function extractOutputOption(_0x9e24e1){return extractShellValue(_0x9e24e1['match'](/--output(?:=|\s+)(?:"([^"]+)"|'([^']+)'|(\S+))/));}function formatNovaActCliLog(_0x39af7a,_0x916070){const _0x190c79=_0xcfd99d,_0x2bdd8b={'WPSab':'session\x20create','pfASf':'create\x20Nova\x20browser\x20session','fZJNk':_0x190c79(0x157),'nPwuL':'ask\x20page\x20question','pMbuG':_0x190c79(0x179),'NvcWi':'wait\x20for\x20page\x20condition','xcQGs':_0x190c79(0x119),'UzLHF':'capture\x20snapshot','gachw':function(_0x25981f,_0x73a620){return _0x25981f(_0x73a620);},'TZdfQ':'session\x20export'};switch(_0x916070){case _0x2bdd8b[_0x190c79(0x16e)]:return _0x2bdd8b['pfASf'];case _0x190c79(0xd2):return _0x190c79(0xf1);case'verify':return _0x190c79(0x18a);case _0x2bdd8b[_0x190c79(0xeb)]:return _0x2bdd8b['nPwuL'];case'goto':return'navigate\x20browser';case _0x2bdd8b[_0x190c79(0xec)]:return _0x2bdd8b[_0x190c79(0x13f)];case _0x2bdd8b['xcQGs']:{const _0x166ee4=extractOutputOption(_0x39af7a);if(!_0x166ee4)return _0x2bdd8b[_0x190c79(0x11b)];const {name:_0xb23a7b}=_0x2bdd8b['gachw'](toStepDisplayName,_0x166ee4);return _0x190c79(0x143)+_0xb23a7b+'`';}case'screenshot':{const _0x132a9f=extractOutputOption(_0x39af7a);if(!_0x132a9f)return _0x190c79(0x140);const {name:_0x5f195a,isKeyStep:_0x2b9f78}=toStepDisplayName(_0x132a9f);return _0x2b9f78?_0x190c79(0x11f)+_0x5f195a+'`':'capture\x20step\x20`'+_0x5f195a+'`';}case _0x2bdd8b['TZdfQ']:return _0x190c79(0xd9);default:return _0x916070;}}function getNovaActCliCommandBlockReason(_0x157911){const _0x4f1706=_0xcfd99d,_0x5d2af4={'QaNQA':function(_0x106fc5,_0x3541bd){return _0x106fc5(_0x3541bd);},'hwzwr':_0x4f1706(0xef),'WlFbO':function(_0x2c7d88,_0x327543){return _0x2c7d88===_0x327543;},'GKIuo':'verify','vqNPm':_0x4f1706(0xc5)},_0x5e8b23=_0x5d2af4['QaNQA'](parseNovaActCliCommand,_0x157911);if(!_0x5e8b23)return _0x5d2af4['hwzwr'];if(!NOVA_ACT_ALLOWED_AGENT_COMMANDS['has'](_0x5e8b23))return'Nova\x20command\x20`'+_0x5e8b23+'`\x20is\x20reserved\x20for\x20the\x20host.\x20Use\x20only\x20session\x20create,\x20execute,\x20verify,\x20ask,\x20goto,\x20wait-for,\x20snapshot,\x20and\x20screenshot.';if(_0x5d2af4['WlFbO'](_0x5e8b23,_0x5d2af4['GKIuo'])&&/\b(?:previously visited|visited pages|pages visited|at least one of the pages visited)\b/i[_0x4f1706(0x164)](_0x157911))return'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.';if(/\s--help\b|\bdoctor\b|\bscript\b|\bsession\s+(?:close|list|export)\b/[_0x4f1706(0x164)](_0x157911))return _0x5d2af4['vqNPm'];return null;}function buildFeedbackSection(_0x2a18d8){const _0x281fc8=_0xcfd99d,_0x44ccbd={'qEcbw':'numeric','ZGFDI':'\x20>\x20','cjWqC':_0x281fc8(0x114)};if(!_0x2a18d8||_0x2a18d8[_0x281fc8(0x152)][_0x281fc8(0x10b)]===0x0)return'';const _0xf2e739=_0x2a18d8[_0x281fc8(0x152)][_0x281fc8(0xcd)](_0x57486c=>{const _0x3059de=_0x281fc8,_0x129f44=new Date(_0x57486c['createdAt'])[_0x3059de(0x18c)](_0x3059de(0xe9),{'month':_0x3059de(0x18d),'day':_0x44ccbd['qEcbw']}),_0x4b9ff8=_0x57486c[_0x3059de(0x120)]||_0x57486c[_0x3059de(0x16b)]||_0x3059de(0x11c),_0x5db259=_0x57486c[_0x3059de(0x12b)]?_0x3059de(0xd1)+(_0x57486c['domRef']['selector'][_0x3059de(0x10f)](_0x44ccbd['ZGFDI'])['pop']()?.[_0x3059de(0x10f)](':')[0x0]||_0x44ccbd[_0x3059de(0xc7)])+_0x3059de(0x109)+(_0x57486c['domRef']['textContent']||'')['slice'](0x0,0x32)+'\x22)':'';return'-\x20['+_0x57486c['id']+_0x3059de(0x11a)+_0x4b9ff8+_0x3059de(0x10d)+_0x129f44+'):\x20\x22'+_0x57486c['content']+'\x22'+_0x5db259;})['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'+_0xf2e739;}function buildNovaSharedOptionsInstruction(_0xb5d894){const _0x4b271b=_0xcfd99d;if(!_0xb5d894['trim']())return _0x4b271b(0x139);return'Append\x20this\x20option\x20suffix\x20to\x20every\x20browser\x20command\x20unless\x20the\x20host\x20gives\x20a\x20more\x20specific\x20example:\x0a'+_0xb5d894;}export function buildVerifyFeatureNovaCliDebugPrompt(_0x54ea83){const _0x5f0448=_0xcfd99d,_0x46e5c4={'yQNxT':'00_initial-state.yml','YkfYc':'01_initial-state.png','kzZsR':'02_final-state.yml','AHFzA':'03_final-state.png','fRdEJ':function(_0x3e8df4,_0x368141){return _0x3e8df4(_0x368141);},'vmiTG':function(_0x36ac94,_0xe467a){return _0x36ac94(_0xe467a);},'tGoxQ':function(_0x15604d,_0x296c2a){return _0x15604d(_0x296c2a);}},{novaCommandPrefix:_0x17517d,novaSharedOptionsSuffix:_0x4af9d2,cliArtifactDir:_0x2fdfdf,url:_0x40f3a2}=_0x54ea83,_0x4f6d00=buildCliArtifactPath(_0x2fdfdf,_0x46e5c4[_0x5f0448(0xe1)]),_0x1cf7b1=buildCliArtifactPath(_0x2fdfdf,_0x46e5c4['YkfYc']),_0x2b7c09=buildCliArtifactPath(_0x2fdfdf,_0x46e5c4[_0x5f0448(0x101)]),_0x4f245e=buildCliArtifactPath(_0x2fdfdf,_0x46e5c4['AHFzA']);return'You\x20are\x20testing\x20Nova\x20Act\x20browser\x20automation.\x20Your\x20task\x20is\x20simple.\x0a\x0aUse\x20Bash\x20and\x20Nova\x20Act\x20CLI\x20only.\x20The\x20browser\x20command\x20prefix\x20is:\x0a'+_0x17517d+'\x0a\x0a'+buildNovaSharedOptionsInstruction(_0x4af9d2)+'\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`'+_0x17517d+'\x20session\x20create\x20'+_0x46e5c4[_0x5f0448(0x159)](quoteShellArg,_0x40f3a2)+'\x20'+_0x4af9d2+_0x5f0448(0xc8)+_0x17517d+_0x5f0448(0xea)+_0x46e5c4['vmiTG'](quoteShellArg,_0x4f6d00)+'\x20'+_0x4af9d2+'`\x0a3.\x20Run\x20`'+_0x17517d+'\x20screenshot\x20--output\x20'+_0x46e5c4['vmiTG'](quoteShellArg,_0x1cf7b1)+'\x20'+_0x4af9d2+_0x5f0448(0xe0)+_0x17517d+'\x20execute\x20\x22...\x22`\x20command\x20to\x20exercise\x20the\x20current\x20page.\x0a5.\x20Run\x20`'+_0x17517d+'\x20snapshot\x20--output\x20'+_0x46e5c4['vmiTG'](quoteShellArg,_0x2b7c09)+'\x20'+_0x4af9d2+_0x5f0448(0x178)+_0x17517d+'\x20screenshot\x20--output\x20'+_0x46e5c4[_0x5f0448(0xcc)](quoteShellArg,_0x4f245e)+'\x20'+_0x4af9d2+'`\x0a7.\x20Return\x20immediately\x20with\x20the\x20structured\x20output.\x0a\x0aSave\x20every\x20artifact\x20under\x20`'+_0x2fdfdf+_0x5f0448(0x17f);}export function buildVerifyFeatureNovaCliPrompt(_0x4a8b28){const _0x4c6bba=_0xcfd99d,_0x132401={'gFchB':function(_0x1bf1ed,_0x2eba47,_0x4b4dad){return _0x1bf1ed(_0x2eba47,_0x4b4dad);},'uooZg':function(_0x1826ce,_0x7c4999,_0x222f03){return _0x1826ce(_0x7c4999,_0x222f03);},'btCar':_0x4c6bba(0x186),'MJKAD':function(_0x2dbbe2,_0x5c5c17){return _0x2dbbe2(_0x5c5c17);},'qPsCE':_0x4c6bba(0x123)},{checklistItem:_0x3b19ca,itemFeedback:_0x362e1b,taskDescription:_0x1c7aaf,novaCommandPrefix:_0x27e56d,novaSharedOptionsSuffix:_0x339a0d,cliArtifactDir:_0x135e65,url:_0x14b84e,loginInstructions:_0x533980}=_0x4a8b28,_0x5acafd=_0x3b19ca['notes']?_0x4c6bba(0x17c)+_0x3b19ca[_0x4c6bba(0x189)]:'',_0x2f51f4=buildFeedbackSection(_0x362e1b),_0x308848=_0x362e1b?.['canonicalFlow']?'\x0a\x0a##\x20Expected\x20Flow\x20(from\x20previous\x20verification)\x0a'+_0x362e1b[_0x4c6bba(0x18e)]:'',_0x23f865=_0x533980?'\x0a\x0a##\x20Authentication\x0aBEFORE\x20starting\x20the\x20verification\x20task,\x20authenticate\x20using\x20these\x20steps:\x0a'+_0x533980+_0x4c6bba(0x162):'',_0x4a7395=buildCliArtifactPath(_0x135e65,_0x4c6bba(0xf5)),_0x635fea=_0x132401['gFchB'](buildCliArtifactPath,_0x135e65,'01_initial-state.png'),_0x5e2eb9=_0x132401[_0x4c6bba(0xc3)](buildCliArtifactPath,_0x135e65,_0x132401['btCar']);return _0x4c6bba(0x185)+_0x3b19ca[_0x4c6bba(0xd8)]+_0x5acafd+_0x2f51f4+_0x308848+_0x4c6bba(0x170)+_0x1c7aaf+_0x4c6bba(0xc9)+_0x14b84e+_0x4c6bba(0x169)+_0x23f865+_0x4c6bba(0x145)+_0x27e56d+_0x4c6bba(0x135)+_0x132401['MJKAD'](quoteShellArg,_0x14b84e)+'\x20'+_0x339a0d+'`.\x0a4.\x20Save\x20every\x20snapshot\x20and\x20screenshot\x20under\x20`'+_0x135e65+'`\x20using\x20absolute\x20paths\x20only.\x0a5.\x20Take\x20an\x20initial\x20snapshot:\x20`'+_0x27e56d+'\x20snapshot\x20--output\x20'+quoteShellArg(_0x4a7395)+'\x20'+_0x339a0d+'`.\x0a6.\x20Take\x20an\x20initial\x20screenshot:\x20`'+_0x27e56d+'\x20screenshot\x20--output\x20'+_0x132401[_0x4c6bba(0x161)](quoteShellArg,_0x635fea)+'\x20'+_0x339a0d+'`.\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`'+_0x5e2eb9+'`.\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`'+_0x27e56d+'`\x0a\x0aAppend\x20this\x20option\x20suffix\x20to\x20browser\x20commands:\x0a'+(_0x339a0d['trim']()?'`'+_0x339a0d+'`':_0x132401['qPsCE'])+'\x0a\x0a'+buildNovaSharedOptionsInstruction(_0x339a0d)+'\x0a\x0aExamples:\x0a-\x20`'+_0x27e56d+_0x4c6bba(0x160)+_0x339a0d+'`\x0a-\x20`'+_0x27e56d+'\x20verify\x20\x22The\x20Billing\x20page\x20is\x20visible\x20and\x20shows\x20the\x20current\x20plan.\x22\x20'+_0x339a0d+'`\x0a-\x20`'+_0x27e56d+_0x4c6bba(0xea)+quoteShellArg(_0x4a7395)+'\x20'+_0x339a0d+'`\x0a-\x20`'+_0x27e56d+'\x20screenshot\x20--output\x20'+quoteShellArg(_0x5e2eb9)+'\x20'+_0x339a0d+'`\x0a\x0a##\x20Screenshot\x20Guidelines\x0aTake\x20screenshots\x20at\x20scenario\x20milestones\x20so\x20a\x20human\x20can\x20review\x20each\x20completed\x20step\x20and\x20the\x20final\x20state.\x20Use\x20numbered\x20filenames\x20and\x20prefix\x201-2\x20key\x20proof\x20screenshots\x20with\x20`key_`.\x20Avoid\x20duplicate\x20screenshots\x20of\x20the\x20same\x20unchanged\x20page\x20when\x20an\x20existing\x20verifier\x20screenshot\x20or\x20host\x20final\x20screenshot\x20is\x20accessible.\x0a\x0a##\x20Snapshot\x20Guidelines\x0aYou\x20must\x20take\x20the\x20initial\x20snapshot\x20listed\x20above.\x20After\x20that,\x20prefer\x20screenshots\x20plus\x20the\x20page\x20summaries\x20returned\x20by\x20`execute`\x20and\x20`verify`.\x20Only\x20call\x20`snapshot`\x20again\x20if\x20you\x20cannot\x20determine\x20the\x20next\x20action\x20or\x20evaluation\x20from\x20those\x20outputs.\x0a\x0a##\x20Early\x20Error\x20Detection\x0aAfter\x20the\x20initial\x20snapshot\x20and\x20screenshot,\x20check\x20for\x20blocking\x20HTTP\x20errors,\x20framework\x20error\x20pages,\x20blank\x20pages,\x20and\x20authentication\x20failures.\x20If\x20any\x20blocking\x20issue\x20is\x20present,\x20stop\x20and\x20return\x20evaluation\x20\x22blocked\x22\x20with\x20a\x20specific\x20reason.\x0a\x0a##\x20Failed\x20Assertions\x0aIf\x20`verify`\x20returns\x20`ASSERTION_FAILED`,\x20use\x20its\x20`actual`\x20and\x20`evidence`\x20fields\x20as\x20proof\x20for\x20the\x20final\x20evaluation.\x20Continue\x20only\x20to\x20finish\x20other\x20already-named\x20scenario\x20milestones.\x20Do\x20not\x20retry,\x20ask\x20about,\x20or\x20search\x20around\x20the\x20failed\x20condition.\x0a\x0a##\x20Final\x20Page\x20Stop\x0aWhen\x20the\x20scenario\x20names\x20a\x20final\x20page\x20or\x20final\x20navigation\x20target,\x20that\x20page\x20is\x20the\x20last\x20browser\x20milestone.\x20Once\x20it\x20is\x20loaded\x20and\x20screenshotted,\x20make\x20the\x20final\x20evaluation\x20from\x20the\x20collected\x20evidence.\x20Do\x20not\x20navigate,\x20search,\x20ask,\x20or\x20verify\x20beyond\x20that\x20final\x20page\x20unless\x20the\x20scenario\x20explicitly\x20names\x20another\x20page.\x0a\x0a##\x20Evaluation\x20Criteria\x0a-\x20VERIFIED:\x20The\x20task\x20completed\x20successfully\x20and\x20the\x20scenario\x20requirements\x20are\x20fully\x20met\x0a-\x20PARTIAL:\x20The\x20task\x20partially\x20completed\x20but\x20some\x20aspects\x20of\x20the\x20scenario\x20are\x20not\x20verified\x0a-\x20BLOCKED:\x20A\x20blocking\x20issue\x20prevents\x20completion\x0a-\x20FAILED:\x20The\x20task\x20could\x20not\x20be\x20completed\x20due\x20to\x20errors\x0a\x0aReturn\x20your\x20findings\x20in\x20the\x20structured\x20output\x20format\x20with\x20your\x20evaluation.';}export function summarizeVerifyFeatureNovaCliCommandAvailability(_0x1870c6){const _0x54fc8a=_0xcfd99d,_0x50f50d=[..._0x1870c6[_0x54fc8a(0x116)]()][_0x54fc8a(0x18f)]();let _0x4d3010=0x0;for(const _0x2777e6 of _0x1870c6[_0x54fc8a(0x103)]()){_0x4d3010+=_0x2777e6;}return{'cliCommandCount':_0x4d3010,'cliCommandsSeen':_0x50f50d,'noCliCommandsCalled':_0x4d3010===0x0};}export function createVerifyFeatureNovaCliHooks(_0x43f88f,_0x3f19db){const _0x144f3c=_0xcfd99d,_0x4ee45e={'TPIBQ':function(_0x1ae0db,_0x1a07da){return _0x1ae0db!==_0x1a07da;},'dPyGQ':'Bash','PJkJr':function(_0x2e5ad6,_0x157bbb){return _0x2e5ad6!==_0x157bbb;},'LXlCY':function(_0x413d31,_0x224b9e){return _0x413d31!==_0x224b9e;},'tQLyG':function(_0x245284,_0x43305c){return _0x245284(_0x43305c);},'luCxw':function(_0x4edfcf,_0x4e354e){return _0x4edfcf(_0x4e354e);},'zFFnb':_0x144f3c(0x14d),'FcECX':function(_0x55781d,_0x1f8d49,_0xbb5f3){return _0x55781d(_0x1f8d49,_0xbb5f3);},'qhcrf':'nova_act_artifact_recording','ZWOxS':function(_0x232810,_0x4f605e){return _0x232810!==_0x4f605e;},'bMvZH':_0x144f3c(0xe3)},_0x5b99e7=new Map(),_0x23167b=async _0x28397b=>{const _0x4b70ff=_0x144f3c;if(_0x4ee45e[_0x4b70ff(0xf0)](_0x28397b['hook_event_name'],_0x4b70ff(0x14c)))return{};const _0x4f5d9b=_0x28397b;if(_0x4f5d9b[_0x4b70ff(0x14f)]!==_0x4ee45e['dPyGQ'])return{};const _0x485893=_0x4f5d9b[_0x4b70ff(0xf2)],_0x4f2e90=extractBashCommand(_0x485893);if(!_0x4f2e90)return{};const _0x24eba9=getNovaActCliCommandBlockReason(_0x4f2e90);if(!_0x24eba9)return{};return{'decision':'block','reason':_0x24eba9};},_0x26e79c=async _0x5559cf=>{const _0xb33819=_0x144f3c;if(_0x4ee45e[_0xb33819(0x122)](_0x5559cf[_0xb33819(0x128)],_0xb33819(0x14b)))return{};const _0x14beae=_0x5559cf;if(_0x4ee45e['LXlCY'](_0x14beae[_0xb33819(0x14f)],'Bash'))return{};const _0x41ab80=_0x14beae[_0xb33819(0xf2)],_0x14dfbb=_0x4ee45e['tQLyG'](extractBashCommand,_0x41ab80);if(!_0x14dfbb)return{};const _0x3c143b=_0x4ee45e['luCxw'](parseNovaActCliCommand,_0x14dfbb);if(!_0x3c143b)return{};_0x5b99e7[_0xb33819(0x104)](_0x3c143b,(_0x5b99e7['get'](_0x3c143b)||0x0)+0x1),_0x43f88f[_0xb33819(0xc4)]('nova_act_command',{'subcommand':_0x3c143b}),_0x43f88f['trackPhaseEnd'](_0x4ee45e[_0xb33819(0x10a)],{'subcommand':_0x3c143b,'commandPreview':previewNovaActCliCommand(_0x14dfbb)}),console[_0xb33819(0x158)](_0xb33819(0x118)+_0x4ee45e[_0xb33819(0x113)](formatNovaActCliLog,_0x14dfbb,_0x3c143b));if(_0x3c143b===_0xb33819(0xe6)&&_0x3f19db)try{await _0x3f19db[_0xb33819(0x16c)]();}catch(_0x395be5){await _0x43f88f[_0xb33819(0xc2)](_0x4ee45e['qhcrf'],_0x395be5,{'transport':'nova-act-cli'});}return{};},_0x11c0bc=async _0x400727=>{const _0x5e17b5=_0x144f3c;if(_0x400727[_0x5e17b5(0x128)]!==_0x5e17b5(0xd3))return{};const _0x1761a5=_0x400727;if(_0x4ee45e['ZWOxS'](_0x1761a5['tool_name'],'Bash'))return{};return await _0x43f88f['trackPhaseError'](_0x5e17b5(0x16f),_0x1761a5['error'],{'transport':_0x4ee45e['bMvZH'],'toolName':_0x4ee45e['dPyGQ']}),{};};return{'preToolUseHook':_0x23167b,'postToolUseHook':_0x26e79c,'postToolUseFailureHook':_0x11c0bc,'commandCounts':_0x5b99e7};}async function runNovaLifecycleCommand(_0x3bcaec){const _0x367687=_0xcfd99d,_0x107ff5={'zwgJJ':function(_0x4dbf30,_0x259af9){return _0x4dbf30(_0x259af9);},'HGTds':function(_0x3349f9,_0x388ddc){return _0x3349f9(_0x388ddc);}},{novaOptions:_0x1047b8,commandArgs:_0x10014e,telemetry:_0xf132d3,phase:_0x17167f,metadata:_0x532cdc,timeoutMs:_0x274576}=_0x3bcaec;_0xf132d3['trackPhaseStart'](_0x17167f,_0x532cdc);try{const _0x31d1a2=await _0x107ff5[_0x367687(0x166)](runNovaActCliCommand,{..._0x1047b8,'commandArgs':_0x10014e,'cwd':process[_0x367687(0x17e)](),'env':process[_0x367687(0x191)],'timeoutMs':_0x274576??NOVA_ACT_CLI_COMMAND_TIMEOUT_MS});_0xf132d3[_0x367687(0xca)](_0x17167f,{..._0x532cdc,'subcommand':_0x31d1a2[_0x367687(0x14a)][_0x367687(0x153)],'commandPreview':_0x107ff5[_0x367687(0xd4)](previewNovaActCliCommand,_0x31d1a2['invocation']['shellCommand']),'stdoutPreview':previewNovaActCliCommand(_0x31d1a2[_0x367687(0x17a)]),'stderrPreview':_0x107ff5['zwgJJ'](previewNovaActCliCommand,_0x31d1a2['stderr']),'logDir':extractNovaActLogDir(_0x31d1a2[_0x367687(0x17a)])});}catch(_0x4d9783){await _0xf132d3['trackPhaseError'](_0x17167f,_0x4d9783,_0x532cdc);throw _0x4d9783;}}export async function finalizeVerifyFeatureNovaCliSession(_0x25f989){const _0xd8a398=_0xcfd99d,_0x348849={'zELoF':'screenshot','johnn':'--output','KcUOl':function(_0x5a5100,_0x5cad01,_0xabfab1){return _0x5a5100(_0x5cad01,_0xabfab1);},'rlkDo':'export','gEyJu':'--format','ktXVg':_0xd8a398(0x130),'qhktf':_0xd8a398(0x126),'GLTyh':_0xd8a398(0x146),'TTaYO':_0xd8a398(0x175),'sXZVJ':function(_0x172b71,_0x4b6d9f){return _0x172b71(_0x4b6d9f);}},{telemetry:_0x2d8a2c,novaOptions:_0x133aa6,cliArtifactDir:_0x28f9a4,transportMetadata:_0x41090c,artifactRecorder:_0x4703db}=_0x25f989,_0x402eea=[{'phase':'nova_act_final_screenshot','commandArgs':[_0x348849[_0xd8a398(0xf7)],_0x348849['johnn'],buildCliArtifactPath(_0x28f9a4,'key_final-state.png')]},{'phase':_0xd8a398(0xda),'commandArgs':[_0xd8a398(0x119),_0x348849[_0xd8a398(0x151)],_0x348849['KcUOl'](buildCliArtifactPath,_0x28f9a4,_0xd8a398(0x149))]},{'phase':_0xd8a398(0x108),'commandArgs':['session',_0x348849['rlkDo'],_0x348849['gEyJu'],'json',_0x348849[_0xd8a398(0x151)],_0x348849[_0xd8a398(0x10e)](buildCliArtifactPath,_0x28f9a4,'nova-session-export.json')]},{'phase':'nova_act_session_report','commandArgs':['session',_0x348849[_0xd8a398(0xdd)],_0x348849['ktXVg'],_0xd8a398(0x10c),buildCliArtifactPath(_0x28f9a4,_0x348849['qhktf'])]},{'phase':_0x348849[_0xd8a398(0xe2)],'commandArgs':[_0x348849['TTaYO'],_0xd8a398(0x129)]}];for(const _0x2713b6 of _0x402eea){_0x2713b6[_0xd8a398(0xed)]==='nova_act_session_close'&&await _0x4703db?.[_0xd8a398(0x13e)]();try{await _0x348849['sXZVJ'](runNovaLifecycleCommand,{'novaOptions':_0x133aa6,'commandArgs':[..._0x2713b6[_0xd8a398(0xf3)]],'telemetry':_0x2d8a2c,'phase':_0x2713b6['phase'],'metadata':_0x41090c});}catch{}}}export async function harvestVerifyFeatureNovaCliArtifacts(_0x4b680f){const _0x5bbbb6=_0xcfd99d,_0x3147ae={'qbYYq':function(_0x43bae7,_0x16b2d5,_0x2e8753){return _0x43bae7(_0x16b2d5,_0x2e8753);},'GpyJE':function(_0x2263e8,_0x2d40d6){return _0x2263e8<_0x2d40d6;},'fJymC':function(_0x19057e,_0x589d25,_0x2239a8){return _0x19057e(_0x589d25,_0x2239a8);},'mYBdM':function(_0x50a442,_0x43bb9a){return _0x50a442===_0x43bb9a;}},{cwd:_0x308ad5,cliArtifactDir:_0x32b3e0,startTime:_0x543510}=_0x4b680f,_0x551e78=[];await _0x3147ae[_0x5bbbb6(0x132)](mkdir,_0x32b3e0,{'recursive':!![]});const _0x6a8c56=await readdir(_0x308ad5,{'withFileTypes':!![]});for(const _0x492460 of _0x6a8c56){if(!_0x492460[_0x5bbbb6(0x106)]()||!VERIFY_FEATURE_NOVA_ARTIFACT_FILE_PATTERN[_0x5bbbb6(0x164)](_0x492460['name']))continue;const _0x50440d=join(_0x308ad5,_0x492460['name']),_0x11aef8=await stat(_0x50440d);if(_0x3147ae[_0x5bbbb6(0x17b)](_0x11aef8['mtimeMs']+0x7d0,_0x543510))continue;const _0xe4b282=_0x3147ae[_0x5bbbb6(0x133)](buildCliArtifactPath,_0x32b3e0,_0x492460['name']);if(_0x3147ae['mYBdM'](_0x50440d,_0xe4b282))continue;await _0x3147ae['qbYYq'](rename,_0x50440d,_0xe4b282),_0x551e78[_0x5bbbb6(0x117)](_0x492460[_0x5bbbb6(0x163)]);}return _0x551e78[_0x5bbbb6(0x18f)]();}export async function loadVerifyFeatureNovaTraceUploadArtifact(_0x13eb2d){const _0x4189ab=_0xcfd99d,_0x319284={'dbwBd':function(_0x4775d4,_0x3a5924,_0x505437){return _0x4775d4(_0x3a5924,_0x505437);},'zSNyt':'trace.zip'},_0x8411d0=_0x319284[_0x4189ab(0x102)](join,_0x13eb2d,_0x319284['zSNyt']);try{return{'buffer':await readFile(_0x8411d0),'source':_0x8411d0};}catch{return{'buffer':await zipVerifyFeatureNovaArtifacts(_0x13eb2d),'source':_0x13eb2d};}}async function zipVerifyFeatureNovaArtifacts(_0x10a2ed){const _0x62236d=_0xcfd99d,_0x1304b4={'GFgGv':_0x62236d(0x142),'ILObh':function(_0x126f1c,_0x4dd3ae){return _0x126f1c(_0x4dd3ae);},'zXYIS':function(_0x4f0fca,_0x50f47d,_0x33e4b6){return _0x4f0fca(_0x50f47d,_0x33e4b6);}},_0x3d06ee=join(_0x10a2ed,'..','nova-artifacts.zip');try{return await execFileAsync('zip',[_0x1304b4['GFgGv'],_0x3d06ee,'.','-x',_0x62236d(0xfe)],{'cwd':_0x10a2ed}),await _0x1304b4['ILObh'](readFile,_0x3d06ee);}finally{await _0x1304b4[_0x62236d(0x156)](rm,_0x3d06ee,{'force':!![]});}}export function buildNovaActCliDiagnostics(_0x3b2fe4){const _0x1ec838=_0xcfd99d,_0x3a676d=buildNovaActCliInvocation(_0x3b2fe4['novaOptions'],_0x3b2fe4['commandArgs']);return{'command':_0x3a676d['command'],'args':_0x3a676d[_0x1ec838(0x127)],'commandPreview':previewNovaActCliCommand(_0x3a676d['shellCommand']),'subcommand':_0x3a676d[_0x1ec838(0x153)],'sharedOptionsSuffix':buildNovaActCliSharedOptionsSuffix(_0x3b2fe4['novaOptions'],_0x3b2fe4['commandArgs'])};}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(_0x55fc2c,_0x302607){const _0x276308=_0x5100,_0x32af52=_0x55fc2c();while(!![]){try{const _0x2529ab=-parseInt(_0x276308(0x151))/0x1+parseInt(_0x276308(0x175))/0x2*(-parseInt(_0x276308(0x191))/0x3)+parseInt(_0x276308(0x172))/0x4*(parseInt(_0x276308(0x143))/0x5)+parseInt(_0x276308(0x165))/0x6*(-parseInt(_0x276308(0x145))/0x7)+-parseInt(_0x276308(0x18f))/0x8+parseInt(_0x276308(0x169))/0x9+-parseInt(_0x276308(0x14c))/0xa*(-parseInt(_0x276308(0x15c))/0xb);if(_0x2529ab===_0x302607)break;else _0x32af52['push'](_0x32af52['shift']());}catch(_0x2e7fbe){_0x32af52['push'](_0x32af52['shift']());}}}(_0x5e1b,0x9c280));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(_0x234c8c,_0x205ec5=RANGERWRIGHT_CLI_PREVIEW_LIMIT){const _0x4aef8e=_0x5100,_0x56c328={'uROME':function(_0xb4db11,_0x1d54eb){return _0xb4db11>_0x1d54eb;}};return _0x56c328[_0x4aef8e(0x14e)](_0x234c8c[_0x4aef8e(0x168)],_0x205ec5)?_0x234c8c[_0x4aef8e(0x144)](0x0,_0x205ec5)+_0x4aef8e(0x16e):_0x234c8c;}function _0x5100(_0x3fa1c4,_0x55c749){_0x3fa1c4=_0x3fa1c4-0x13f;const _0x5e1b60=_0x5e1b();let _0x5100f0=_0x5e1b60[_0x3fa1c4];return _0x5100f0;}function extractShellValue(_0x5ddfb8){if(!_0x5ddfb8)return null;return _0x5ddfb8[0x1]??_0x5ddfb8[0x2]??_0x5ddfb8[0x3]??null;}function extractFirstCommandArgument(_0x58fa93,_0x306528){const _0x14df01=_0x5100,_0x3a2d6a={'BgpxN':function(_0x466f04,_0x44e9d9){return _0x466f04(_0x44e9d9);}},_0x54bb01=_0x306528[_0x14df01(0x166)](/[.*+?^${}()|[\]\\]/g,_0x14df01(0x149));return _0x3a2d6a[_0x14df01(0x159)](extractShellValue,_0x58fa93['match'](new RegExp(_0x14df01(0x15d)+_0x54bb01+_0x14df01(0x146))));}function formatCommandTarget(_0x5289dd){const _0x58dc92=_0x5100,_0x1a43af={'CfTFg':'target','HLJWY':function(_0x3ffda8,_0x4cecd4,_0x8aa305){return _0x3ffda8(_0x4cecd4,_0x8aa305);}};if(!_0x5289dd)return _0x1a43af[_0x58dc92(0x194)];if(/^e\d+$/i[_0x58dc92(0x141)](_0x5289dd))return'ref\x20'+_0x5289dd;return JSON[_0x58dc92(0x158)](_0x1a43af[_0x58dc92(0x154)](truncatePreview,_0x5289dd,0x78));}function _0x5e1b(){const _0x1ae4dc=['tool_name','domRef','\x0a\x0a##\x20Authentication\x0aBEFORE\x20starting\x20the\x20verification\x20task,\x20authenticate\x20using\x20these\x20steps:\x0a','6342AWQFyP','replace','content','length','4881474ErXVsd','unaddressedComments','keys','tool_input','notes','...','stop\x20video\x20recording','cwd','eVEvz','148CEBlRd','element','stdout','5326diqLoL','authorName','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','trackPhaseStart','01_initial-state.png','\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','stop\x20tracing','click\x20and\x20inspect\x20','\x20click-and-inspect\x20e37\x20--screenshot-path\x20','pop','\x20open-and-inspect\x20','\x0a\x0a##\x20Task\x20to\x20Execute\x0a','KIefG','rangerwright_cli_command','close\x20browser\x20session','CRITICAL\x20URL\x20REQUIREMENT:\x0aYour\x20base\x20URL\x20is:\x20','lxqZn','\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.','.\x0aThe\x20app\x20is\x20already\x20running\x20and\x20connected.\x20Start\x20with\x20inspect\x20instead\x20of\x20opening\x20a\x20URL.','iYrja','description','get','trackPhaseError','hook_event_name','neaYt','1054280LXuMDl','stderr','72xPstTK','short','key_99_final-state.png','CfTFg','about:blank','split','numeric','trackPhaseEnd','invocation','test','SIImE','54170lourwG','slice','3395leLxHT','(?:\x5cs+(?:\x22([^\x22]+)\x22|\x27([^\x27]+)\x27|(\x5cS+)))','PfMHL','en-US','\x5c$&','inspect\x20page','rangerwright_cli_tracing_stop','4640010iVeKGV','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','uROME','hIdUB','\x20>\x20','59287KYnUsr','\x20--screenshot-path\x20','\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`','HLJWY','\x20(on\x20element:\x20<','>\x20\x22','rangerwright_cli_command_failure','stringify','BgpxN','rangerwright_cli_close','rangerwright_cli_video_stop','11LadvSJ','(?:^|\x5cs)','values','Bash','canonicalFlow','wWTFz'];_0x5e1b=function(){return _0x1ae4dc;};return _0x5e1b();}function formatRangerwrightCliLog(_0x493fd1,_0x389129){const _0x4e84af=_0x5100,_0x51c3c0={'BiqTJ':'open\x20and\x20inspect','PfMHL':'click-and-inspect','wWTFz':'fill','KIefG':'fill-and-inspect','BMjzd':function(_0x3c52a5,_0x2bdeac){return _0x3c52a5(_0x2bdeac);},'HOQbP':_0x4e84af(0x14a),'ysUCD':_0x4e84af(0x184)};switch(_0x389129){case'open-and-inspect':{const _0x32245a=extractFirstCommandArgument(_0x493fd1,_0x389129);return _0x32245a?'open\x20and\x20inspect\x20'+_0x32245a:_0x51c3c0['BiqTJ'];}case _0x51c3c0[_0x4e84af(0x147)]:return _0x4e84af(0x17d)+formatCommandTarget(extractFirstCommandArgument(_0x493fd1,_0x389129));case _0x51c3c0[_0x4e84af(0x161)]:case _0x51c3c0[_0x4e84af(0x182)]:return'fill\x20'+_0x51c3c0['BMjzd'](formatCommandTarget,extractFirstCommandArgument(_0x493fd1,_0x389129));case'back-and-inspect':return'go\x20back\x20and\x20inspect';case'inspect':return _0x51c3c0['HOQbP'];case'tracing-stop':return _0x4e84af(0x17c);case'video-stop':return _0x4e84af(0x16f);case'close':return _0x51c3c0['ysUCD'];default:return _0x389129;}}function renderScenarioSections(_0x16a6bf){const _0x2d578a=_0x5100,_0x292e1b={'SIImE':_0x2d578a(0x192),'neaYt':_0x2d578a(0x197),'lxqZn':'Reviewer','iYrja':_0x2d578a(0x173)},{checklistItem:_0x20f351,itemFeedback:_0x3df00d}=_0x16a6bf,_0x573a94=_0x20f351['notes']?'\x0a\x0a##\x20Additional\x20Notes\x0a'+_0x20f351[_0x2d578a(0x16d)]:'';let _0x14151b='';if(_0x3df00d&&_0x3df00d['unaddressedComments']['length']>0x0){const _0x2ef08f=_0x3df00d[_0x2d578a(0x16a)]['map'](_0x59e359=>{const _0x433f21=_0x2d578a,_0x476a6c=new Date(_0x59e359['createdAt'])['toLocaleDateString'](_0x433f21(0x148),{'month':_0x292e1b[_0x433f21(0x142)],'day':_0x292e1b[_0x433f21(0x18e)]}),_0x39dc7c=_0x59e359[_0x433f21(0x176)]||_0x59e359['authorEmail']||_0x292e1b[_0x433f21(0x186)],_0x4682a5=_0x59e359['domRef']?_0x433f21(0x155)+(_0x59e359[_0x433f21(0x163)]['selector'][_0x433f21(0x196)](_0x433f21(0x150))[_0x433f21(0x17f)]()?.['split'](':')[0x0]||_0x292e1b[_0x433f21(0x189)])+_0x433f21(0x156)+(_0x59e359['domRef']['textContent']||'')['slice'](0x0,0x32)+'\x22)':'';return'-\x20['+_0x59e359['id']+']\x20'+_0x39dc7c+'\x20('+_0x476a6c+'):\x20\x22'+_0x59e359[_0x433f21(0x167)]+'\x22'+_0x4682a5;})['join']('\x0a');_0x14151b='\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'+_0x2ef08f;}const _0xed9833=_0x3df00d?.[_0x2d578a(0x160)]?'\x0a\x0a##\x20Expected\x20Flow\x20(from\x20previous\x20verification)\x0a'+_0x3df00d[_0x2d578a(0x160)]:'';return''+_0x20f351[_0x2d578a(0x18a)]+_0x573a94+_0x14151b+_0xed9833;}export function buildVerifyFeatureRangerwrightCliPrompt(_0x2d2a8e){const _0x48e68f=_0x5100,_0x25eb89={'TyegK':_0x48e68f(0x193),'RvTcz':function(_0x380397,_0x1ae0fd){return _0x380397(_0x1ae0fd);}},{checklistItem:_0x2d3b50,itemFeedback:_0x5acc9e,taskDescription:_0x1efcd3,commandPrefix:_0x2adef5,isCdpMode:_0x27b5d1,url:_0x177ff0,cdpEndpoint:_0x229701,loginInstructions:_0x101d1d}=_0x2d2a8e,_0x3d9fc1=_0x48e68f(0x17a),_0x9141ff=_0x25eb89['TyegK'],_0x2c15da=_0x27b5d1?_0x2adef5+'\x20inspect\x20--screenshot-path\x20'+quoteShellArg(_0x3d9fc1):_0x2adef5+'\x20open-and-inspect\x20'+quoteShellArg(_0x177ff0??_0x48e68f(0x195))+'\x20--screenshot-path\x20'+quoteShellArg(_0x3d9fc1),_0x3c49b2=_0x27b5d1?'##\x20App\x20Context\x0aYou\x20are\x20connected\x20to\x20a\x20desktop\x20application\x20via\x20CDP\x20at\x20'+_0x229701+_0x48e68f(0x188):_0x48e68f(0x185)+_0x177ff0+_0x48e68f(0x187),_0x45e127=_0x101d1d?_0x48e68f(0x164)+_0x101d1d+'\x0a\x0aAfter\x20completing\x20authentication,\x20proceed\x20with\x20the\x20verification\x20task\x20below.\x0aIf\x20authentication\x20fails,\x20return\x20evaluation\x20\x22blocked\x22\x20and\x20describe\x20the\x20auth\x20failure.':'';return _0x48e68f(0x14d)+_0x25eb89['RvTcz'](renderScenarioSections,{'checklistItem':_0x2d3b50,'itemFeedback':_0x5acc9e})+_0x48e68f(0x181)+_0x1efcd3+'\x0a\x0a'+_0x3c49b2+_0x45e127+'\x0a\x0a##\x20Rangerwright\x20Instructions\x0aUse\x20Bash\x20and\x20Rangerwright\x20only.\x0a\x0aEvery\x20browser\x20command\x20must\x20start\x20with\x20this\x20exact\x20literal\x20command\x20prefix:\x0a\x0a'+_0x2adef5+'\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'+_0x2c15da+_0x48e68f(0x17b)+_0x2adef5+_0x48e68f(0x17e)+quoteShellArg(_0x9141ff)+'\x0a\x0aRefs\x20like\x20e37\x20are\x20only\x20valid\x20for\x20the\x20snapshot\x20that\x20produced\x20them.\x20Refresh\x20refs\x20after\x20navigation.\x0a\x0aUse\x20short\x20concrete\x20checkpoints\x20internally:\x20what\x20target\x20is\x20visible,\x20what\x20command\x20changes\x20state,\x20and\x20what\x20evidence\x20is\x20still\x20missing.\x20Issue\x20one\x20browser\x20command\x20at\x20a\x20time.\x20After\x20navigation,\x20validation,\x20or\x20a\x20changed\x20page,\x20inspect\x20before\x20deciding\x20the\x20next\x20action.\x0a\x0aBefore\x20reporting\x20success,\x20compare\x20each\x20required\x20CTA,\x20page\x20purpose,\x20and\x20topic\x20against\x20visible\x20page\x20evidence.\x20A\x20related\x20page\x20does\x20not\x20satisfy\x20a\x20different\x20required\x20topic\x20unless\x20the\x20page\x20text\x20directly\x20supports\x20that\x20topic\x20or\x20an\x20obvious\x20synonym.\x20If\x20required\x20evidence\x20is\x20missing,\x20mismatched,\x20or\x20only\x20inferred\x20from\x20adjacent\x20content,\x20report\x20that\x20plainly\x20and\x20do\x20not\x20mark\x20the\x20task\x20verified.\x0a\x0aFor\x20goals\x20with\x20more\x20than\x20one\x20required\x20condition,\x20use\x20an\x20internal\x20checklist\x20built\x20from\x20the\x20user\x27s\x20exact\x20requested\x20conditions.\x20Verify\x20each\x20checklist\x20item\x20against\x20visible\x20evidence\x20from\x20the\x20latest\x20browser\x20result.\x20If\x20any\x20item\x20lacks\x20direct\x20evidence,\x20report\x20the\x20task\x20as\x20not\x20verified\x20and\x20name\x20the\x20missing\x20item.\x0a\x0aOn\x20forms,\x20fill\x20only\x20visible\x20task-relevant\x20editable\x20fields\x20in\x20the\x20current\x20step\x20before\x20submitting\x20or\x20advancing.\x20Use\x20labels,\x20placeholders,\x20and\x20current\x20page\x20text\x20to\x20decide\x20which\x20fields\x20are\x20required.\x20Do\x20not\x20fill\x20fields\x20that\x20are\x20not\x20visible\x20in\x20the\x20latest\x20snapshot.\x0a\x0aUse\x20one\x20fill\x20command\x20per\x20field.\x20Do\x20not\x20combine\x20multiple\x20fields\x20into\x20one\x20fill\x20command\x20with\x20semicolons.\x0a\x0aIf\x20an\x20inspect-action\x20click\x20returns\x20the\x20same\x20page\x20or\x20shows\x20validation,\x20inspect\x20the\x20current\x20page\x20and\x20fill\x20blank\x20required\x20fields\x20before\x20retrying.\x20Do\x20not\x20repeat\x20the\x20same\x20blocked\x20click\x20unchanged.\x0a\x0aIf\x20a\x20click-and-inspect\x20result\x20keeps\x20the\x20same\x20URL\x20and\x20does\x20not\x20show\x20the\x20intended\x20target,\x20treat\x20it\x20as\x20a\x20no-op.\x20Refresh\x20refs\x20and\x20choose\x20a\x20different\x20visible\x20link,\x20or\x20use\x20back-and-inspect\x20if\x20you\x20need\x20the\x20prior\x20page.\x0a\x0aA\x20page\x20with\x20visible\x20required\x20fields\x20and\x20a\x20next,\x20submit,\x20continue,\x20or\x20confirm\x20control\x20is\x20still\x20actionable.\x20Fill\x20the\x20required\x20fields\x20with\x20values\x20from\x20the\x20task\x20before\x20reporting\x20incomplete\x20or\x20blocked.\x0a\x0a##\x20Critical:\x20Early\x20Error\x20Detection\x0aAfter\x20the\x20first\x20inspect\x20result,\x20check\x20for\x20blocking\x20errors:\x0a-\x20HTTP\x20404,\x20500,\x20400,\x20\x22Not\x20Found\x22,\x20\x22Server\x20Error\x22,\x20or\x20\x22Bad\x20Request\x22\x0a-\x20Framework\x20error\x20pages\x0a-\x20Blank\x20pages\x20with\x20no\x20content\x0a-\x20App\x20crash\x20or\x20error\x20dialogs\x0a\x0aIf\x20any\x20blocking\x20error\x20is\x20visible,\x20return\x20evaluation\x20\x22blocked\x22\x20immediately\x20with\x20a\x20specific\x20reason.\x0a\x0a##\x20Evaluation\x20Criteria\x0a-\x20VERIFIED:\x20The\x20task\x20completed\x20successfully\x20and\x20the\x20scenario\x20requirements\x20are\x20fully\x20met\x0a-\x20PARTIAL:\x20The\x20task\x20partially\x20completed\x20but\x20some\x20aspects\x20are\x20not\x20verified\x0a-\x20BLOCKED:\x20A\x20blocking\x20issue\x20prevents\x20completion\x0a-\x20FAILED:\x20The\x20task\x20could\x20not\x20be\x20completed\x20due\x20to\x20errors\x0a\x0aReturn\x20your\x20findings\x20in\x20the\x20structured\x20output\x20format\x20with\x20your\x20evaluation.';}export function buildVerifyFeatureRangerwrightCliDebugPrompt(_0x422450){const _0x2ed2ef=_0x5100,_0x563b71={'MpYjP':'key_02_learn-more.png','eVEvz':function(_0x502cf9,_0x316aa6){return _0x502cf9(_0x316aa6);}},_0x3a53a4='01_mozilla-homepage.png',_0x5dfdbc=_0x563b71['MpYjP'];return _0x2ed2ef(0x177)+_0x422450[_0x2ed2ef(0x178)]+_0x2ed2ef(0x153)+_0x422450[_0x2ed2ef(0x178)]+_0x2ed2ef(0x180)+_0x563b71[_0x2ed2ef(0x171)](quoteShellArg,_0x422450['url'])+_0x2ed2ef(0x152)+_0x563b71[_0x2ed2ef(0x171)](quoteShellArg,_0x3a53a4)+'`\x0a2.\x20Use\x20the\x20returned\x20JSON\x20to\x20find\x20the\x20\x22Learn\x20More\x22\x20link\x20ref.\x0a3.\x20Run\x20`'+_0x422450[_0x2ed2ef(0x178)]+'\x20click-and-inspect\x20<ref>\x20--screenshot-path\x20'+quoteShellArg(_0x5dfdbc)+'`\x0a4.\x20Return\x20immediately\x20with\x20the\x20structured\x20output.\x0a\x0aReturn\x20your\x20findings\x20in\x20the\x20structured\x20output\x20format.';}export function summarizeVerifyFeatureRangerwrightCliCommandAvailability(_0x2e8a12){const _0x1493bc=_0x5100,_0x4e20d9=[..._0x2e8a12[_0x1493bc(0x16b)]()]['sort']();let _0x593825=0x0;for(const _0x222db1 of _0x2e8a12[_0x1493bc(0x15e)]()){_0x593825+=_0x222db1;}return{'cliCommandCount':_0x593825,'cliCommandsSeen':_0x4e20d9,'noCliCommandsCalled':_0x593825===0x0};}export function createVerifyFeatureRangerwrightCliHooks(_0x58d4c6){const _0x477acb={'Aypwu':function(_0x2a6478,_0x28d720){return _0x2a6478!==_0x28d720;},'SkvPF':function(_0x38f83e,_0x383aee){return _0x38f83e(_0x383aee);},'WVTgN':function(_0x3c7a43,_0x318f3f,_0x44a493){return _0x3c7a43(_0x318f3f,_0x44a493);},'TLCuk':'Bash'},_0x2e3787=new Map(),_0x3deb79=async _0x5a33bb=>{const _0x5d1317=_0x5100;if(_0x5a33bb['hook_event_name']!=='PostToolUse')return{};const _0x161198=_0x5a33bb;if(_0x477acb['Aypwu'](_0x161198[_0x5d1317(0x162)],_0x5d1317(0x15f)))return{};const _0x4ef58=_0x161198[_0x5d1317(0x16c)],_0x3d82a8=extractBashCommand(_0x4ef58);if(!_0x3d82a8)return{};const _0x21cca2=parseRangerwrightCliCommand(_0x3d82a8);if(!_0x21cca2)return{};return _0x2e3787['set'](_0x21cca2,(_0x2e3787[_0x5d1317(0x18b)](_0x21cca2)||0x0)+0x1),_0x58d4c6[_0x5d1317(0x179)]('rangerwright_cli_command',{'subcommand':_0x21cca2}),_0x58d4c6['trackPhaseEnd'](_0x5d1317(0x183),{'subcommand':_0x21cca2,'commandPreview':_0x477acb['SkvPF'](truncatePreview,_0x3d82a8)}),console['log']('[rangerwright-cli]\x20'+_0x477acb['WVTgN'](formatRangerwrightCliLog,_0x3d82a8,_0x21cca2)),{};},_0x28f3b0=async _0x1e5646=>{const _0x56e21a=_0x5100;if(_0x477acb['Aypwu'](_0x1e5646[_0x56e21a(0x18d)],'PostToolUseFailure'))return{};const _0x2e459c=_0x1e5646;if(_0x2e459c[_0x56e21a(0x162)]!==_0x477acb['TLCuk'])return{};return await _0x58d4c6[_0x56e21a(0x18c)](_0x56e21a(0x157),_0x2e459c['error'],{'transport':'rangerwright-cli','toolName':_0x56e21a(0x15f)}),{};};return{'postToolUseHook':_0x3deb79,'postToolUseFailureHook':_0x28f3b0,'commandCounts':_0x2e3787};}async function runRangerwrightLifecycleCommand(_0x45637c){const _0xd90303=_0x5100,_0xdaf67f={'BbAVj':function(_0x30f24f,_0x239a3f,_0x48766a){return _0x30f24f(_0x239a3f,_0x48766a);}},{options:_0x3d38b1,commandArgs:_0x2970b7,env:_0x53d71f,telemetry:_0x5481d7,phase:_0x8551d2,metadata:_0x42f07f,timeoutMs:_0x3f71f6}=_0x45637c;_0x5481d7['trackPhaseStart'](_0x8551d2,_0x42f07f);try{const _0x539b55=await runRangerwrightCliCommand({..._0x3d38b1,'commandArgs':_0x2970b7,'cwd':process[_0xd90303(0x170)](),'env':_0x53d71f,'timeoutMs':_0x3f71f6??RANGERWRIGHT_CLI_COMMAND_TIMEOUT_MS});_0x5481d7[_0xd90303(0x13f)](_0x8551d2,{..._0x42f07f,'subcommand':_0x539b55[_0xd90303(0x140)]['subcommand'],'stdoutPreview':truncatePreview(_0x539b55[_0xd90303(0x174)],0x7d0),'stderrPreview':_0xdaf67f['BbAVj'](truncatePreview,_0x539b55[_0xd90303(0x190)],0x7d0)});}catch(_0x54c83d){await _0x5481d7['trackPhaseError'](_0x8551d2,_0x54c83d,_0x42f07f);throw _0x54c83d;}}export async function finalizeVerifyFeatureRangerwrightCliSession(_0x5aef57){const _0x2e8f76=_0x5100,_0x401b92={'hIdUB':_0x2e8f76(0x14b),'TLRAX':_0x2e8f76(0x15b),'HbRHP':'video-stop'},{telemetry:_0x599cbb,rangerwrightOptions:_0x13980b,env:_0x46713e,transportMetadata:_0x12ceed}=_0x5aef57,_0x4a6e7f=[{'phase':_0x401b92[_0x2e8f76(0x14f)],'commandArgs':['tracing-stop']},{'phase':_0x401b92['TLRAX'],'commandArgs':[_0x401b92['HbRHP']]},{'phase':_0x2e8f76(0x15a),'commandArgs':['close']}];for(const _0x45a372 of _0x4a6e7f){try{await runRangerwrightLifecycleCommand({'options':_0x13980b,'commandArgs':[..._0x45a372['commandArgs']],'env':_0x46713e,'telemetry':_0x599cbb,'phase':_0x45a372['phase'],'metadata':_0x12ceed});}catch{}}}
|
|
1
|
+
(function(_0x35b69b,_0x32abc6){const _0x1dcd06=_0x183e,_0x5bb72c=_0x35b69b();while(!![]){try{const _0x5218ab=parseInt(_0x1dcd06(0x133))/0x1+parseInt(_0x1dcd06(0x13e))/0x2+-parseInt(_0x1dcd06(0x162))/0x3+parseInt(_0x1dcd06(0x13b))/0x4*(-parseInt(_0x1dcd06(0x14f))/0x5)+parseInt(_0x1dcd06(0x119))/0x6*(-parseInt(_0x1dcd06(0x166))/0x7)+-parseInt(_0x1dcd06(0x111))/0x8+parseInt(_0x1dcd06(0x15f))/0x9*(parseInt(_0x1dcd06(0x143))/0xa);if(_0x5218ab===_0x32abc6)break;else _0x5bb72c['push'](_0x5bb72c['shift']());}catch(_0x162208){_0x5bb72c['push'](_0x5bb72c['shift']());}}}(_0x351c,0x1f990));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(_0x47ffc4,_0x1859be=RANGERWRIGHT_CLI_PREVIEW_LIMIT){const _0x1144ed={'qMyiH':function(_0x138e81,_0x34feb7){return _0x138e81>_0x34feb7;}};return _0x1144ed['qMyiH'](_0x47ffc4['length'],_0x1859be)?_0x47ffc4['slice'](0x0,_0x1859be)+'...':_0x47ffc4;}function extractShellValue(_0x1a7d60){if(!_0x1a7d60)return null;return _0x1a7d60[0x1]??_0x1a7d60[0x2]??_0x1a7d60[0x3]??null;}function extractFirstCommandArgument(_0x30bab7,_0x366371){const _0x31668f=_0x183e,_0x45f0c6={'MDcau':function(_0x2a0ee8,_0x5881ed){return _0x2a0ee8(_0x5881ed);}},_0x11737e=_0x366371[_0x31668f(0x154)](/[.*+?^${}()|[\]\\]/g,'\x5c$&');return _0x45f0c6['MDcau'](extractShellValue,_0x30bab7[_0x31668f(0x120)](new RegExp('(?:^|\x5cs)'+_0x11737e+_0x31668f(0x155))));}function formatCommandTarget(_0x58e1ad){const _0x3fa40c=_0x183e,_0x740ce3={'spZFJ':function(_0x5c2602,_0x54b65f,_0x5730b1){return _0x5c2602(_0x54b65f,_0x5730b1);}};if(!_0x58e1ad)return _0x3fa40c(0x145);if(/^e\d+$/i['test'](_0x58e1ad))return _0x3fa40c(0x127)+_0x58e1ad;return JSON['stringify'](_0x740ce3['spZFJ'](truncatePreview,_0x58e1ad,0x78));}function formatRangerwrightCliLog(_0x28548e,_0x1b927){const _0x12281a=_0x183e,_0x3c6654={'taWBk':'open-and-inspect','nVnoz':function(_0x4599a7,_0x3e86d0,_0x35e0cc){return _0x4599a7(_0x3e86d0,_0x35e0cc);},'TCOHY':_0x12281a(0x16c),'qaiie':function(_0x197586,_0x410794){return _0x197586(_0x410794);},'XvNga':function(_0x4c4233,_0x3a3512,_0x29e680){return _0x4c4233(_0x3a3512,_0x29e680);},'rEQOE':_0x12281a(0x135),'iAAoS':'inspect\x20page','dttDB':'tracing-stop','jXqfe':'stop\x20video\x20recording','chcQg':_0x12281a(0x156),'Pnpnb':'close\x20browser\x20session'};switch(_0x1b927){case _0x3c6654['taWBk']:{const _0x357316=_0x3c6654[_0x12281a(0x163)](extractFirstCommandArgument,_0x28548e,_0x1b927);return _0x357316?'open\x20and\x20inspect\x20'+_0x357316:_0x3c6654['TCOHY'];}case _0x12281a(0x136):return _0x12281a(0x132)+_0x3c6654[_0x12281a(0x15c)](formatCommandTarget,_0x3c6654['nVnoz'](extractFirstCommandArgument,_0x28548e,_0x1b927));case'fill':case _0x12281a(0x12d):return'fill\x20'+formatCommandTarget(_0x3c6654[_0x12281a(0x114)](extractFirstCommandArgument,_0x28548e,_0x1b927));case'back-and-inspect':return _0x12281a(0x11a);case _0x3c6654[_0x12281a(0x12e)]:return _0x3c6654[_0x12281a(0x149)];case _0x3c6654['dttDB']:return'stop\x20tracing';case'video-stop':return _0x3c6654[_0x12281a(0x125)];case _0x3c6654[_0x12281a(0x142)]:return _0x3c6654['Pnpnb'];default:return _0x1b927;}}function _0x351c(){const _0x12ae21=['\x20>\x20','log','\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.','\x20click-and-inspect\x20<ref>\x20--screenshot-path\x20','fill-and-inspect','rEQOE','.\x0aThe\x20app\x20is\x20already\x20running\x20and\x20connected.\x20Start\x20with\x20inspect\x20instead\x20of\x20opening\x20a\x20URL.','`\x0a2.\x20Use\x20the\x20returned\x20JSON\x20to\x20find\x20the\x20\x22Learn\x20More\x22\x20link\x20ref.\x0a3.\x20Run\x20`','PostToolUseFailure','click\x20and\x20inspect\x20','219718UGkYxp','tiXZF','inspect','click-and-inspect','TVkPs','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','PQXAF','FWska','4DDVwqf','keys','url','133268NjRXWz','cwd','canonicalFlow','trackPhaseStart','chcQg','110FLQocU','trackPhaseEnd','target','\x20(on\x20element:\x20<','push','about:blank','iAAoS','matchAll','CjKHm','notes','textContent','rangerwright_cli_command','438455vCwrDG','rangerwright-cli','key_02_learn-more.png','content','>\x20\x22','replace','(?:\x5cs+(?:\x22([^\x22]+)\x22|\x27([^\x27]+)\x27|(\x5cS+)))','close','Reviewer','subcommand','error','\x0a\x0a##\x20Authentication\x0aBEFORE\x20starting\x20the\x20verification\x20task,\x20authenticate\x20using\x20these\x20steps:\x0a','domRef','qaiie','authorName','`\x0a4.\x20Return\x20immediately\x20with\x20the\x20structured\x20output.\x0a\x0aReturn\x20your\x20findings\x20in\x20the\x20structured\x20output\x20format.','348255MpzopI','CRITICAL\x20URL\x20REQUIREMENT:\x0aYour\x20base\x20URL\x20is:\x20','jsAuh','370722uSIYbX','nVnoz','Geofr','dMjkW','15995iGIZCB','unaddressedComments','hook_event_name','invocation','\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','slice','open\x20and\x20inspect','get','977944NyniVT','GKhEY','RYmaR','XvNga','description','Bash','length','tool_name','654iurojj','go\x20back\x20and\x20inspect','rangerwright_cli_tracing_stop','):\x20\x22','PostToolUse','tool_input','numeric','match','map','trackPhaseError','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','toLocaleDateString','jXqfe','split','ref\x20','[rangerwright-cli]\x20'];_0x351c=function(){return _0x12ae21;};return _0x351c();}function renderScenarioSections(_0x59aec6){const _0x20304f=_0x183e,_0x45dd6e={'vWvkV':'short','buLYC':_0x20304f(0x157),'GsUin':'element','TVkPs':function(_0xf089d4,_0xa5e11a){return _0xf089d4>_0xa5e11a;}},{checklistItem:_0x3dd035,itemFeedback:_0x335020}=_0x59aec6,_0x99abe9=_0x3dd035['notes']?'\x0a\x0a##\x20Additional\x20Notes\x0a'+_0x3dd035[_0x20304f(0x14c)]:'';let _0x2aea8='';if(_0x335020&&_0x45dd6e[_0x20304f(0x137)](_0x335020[_0x20304f(0x167)][_0x20304f(0x117)],0x0)){const _0x336460=_0x335020['unaddressedComments'][_0x20304f(0x121)](_0x4897d3=>{const _0xaec901=_0x20304f,_0x494934=new Date(_0x4897d3['createdAt'])[_0xaec901(0x124)]('en-US',{'month':_0x45dd6e['vWvkV'],'day':_0xaec901(0x11f)}),_0x3c9735=_0x4897d3[_0xaec901(0x15d)]||_0x4897d3['authorEmail']||_0x45dd6e['buLYC'],_0x2d0f08=_0x4897d3['domRef']?_0xaec901(0x146)+(_0x4897d3[_0xaec901(0x15b)]['selector']['split'](_0xaec901(0x129))['pop']()?.[_0xaec901(0x126)](':')[0x0]||_0x45dd6e['GsUin'])+_0xaec901(0x153)+(_0x4897d3[_0xaec901(0x15b)][_0xaec901(0x14d)]||'')[_0xaec901(0x16b)](0x0,0x32)+'\x22)':'';return'-\x20['+_0x4897d3['id']+']\x20'+_0x3c9735+'\x20('+_0x494934+_0xaec901(0x11c)+_0x4897d3[_0xaec901(0x152)]+'\x22'+_0x2d0f08;})['join']('\x0a');_0x2aea8='\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'+_0x336460;}const _0x886a1a=_0x335020?.['canonicalFlow']?'\x0a\x0a##\x20Expected\x20Flow\x20(from\x20previous\x20verification)\x0a'+_0x335020[_0x20304f(0x140)]:'';return''+_0x3dd035[_0x20304f(0x115)]+_0x99abe9+_0x2aea8+_0x886a1a;}export function buildVerifyFeatureRangerwrightCliPrompt(_0xe56913){const _0x87ac8=_0x183e,_0xffcebe={'OHkBs':'key_99_final-state.png','jsAuh':function(_0x3f0ebb,_0x52709e){return _0x3f0ebb(_0x52709e);},'gNiXg':function(_0xba2b35,_0x583849){return _0xba2b35??_0x583849;},'DPODs':function(_0xbf0bec,_0x466997){return _0xbf0bec(_0x466997);}},{checklistItem:_0x433835,itemFeedback:_0x5ae6e2,taskDescription:_0x5d1c93,commandPrefix:_0x34b268,isCdpMode:_0x182928,url:_0x3a42fa,cdpEndpoint:_0x5786d3,loginInstructions:_0x4ffc41}=_0xe56913,_0x1456d3='01_initial-state.png',_0x34167c=_0xffcebe['OHkBs'],_0x2437d1=_0x182928?_0x34b268+'\x20inspect\x20--screenshot-path\x20'+_0xffcebe['jsAuh'](quoteShellArg,_0x1456d3):_0x34b268+'\x20open-and-inspect\x20'+_0xffcebe[_0x87ac8(0x161)](quoteShellArg,_0xffcebe['gNiXg'](_0x3a42fa,_0x87ac8(0x148)))+'\x20--screenshot-path\x20'+quoteShellArg(_0x1456d3),_0x2fa2ae=_0x182928?'##\x20App\x20Context\x0aYou\x20are\x20connected\x20to\x20a\x20desktop\x20application\x20via\x20CDP\x20at\x20'+_0x5786d3+_0x87ac8(0x12f):_0x87ac8(0x160)+_0x3a42fa+'\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.',_0x5b57f1=_0x4ffc41?_0x87ac8(0x15a)+_0x4ffc41+'\x0a\x0aAfter\x20completing\x20authentication,\x20proceed\x20with\x20the\x20verification\x20task\x20below.\x0aIf\x20authentication\x20fails,\x20return\x20evaluation\x20\x22blocked\x22\x20and\x20describe\x20the\x20auth\x20failure.':'';return _0x87ac8(0x123)+_0xffcebe['jsAuh'](renderScenarioSections,{'checklistItem':_0x433835,'itemFeedback':_0x5ae6e2})+'\x0a\x0a##\x20Task\x20to\x20Execute\x0a'+_0x5d1c93+'\x0a\x0a'+_0x2fa2ae+_0x5b57f1+'\x0a\x0a##\x20Rangerwright\x20Instructions\x0aUse\x20Bash\x20and\x20Rangerwright\x20only.\x0a\x0aEvery\x20browser\x20command\x20must\x20start\x20with\x20this\x20exact\x20literal\x20command\x20prefix:\x0a\x0a'+_0x34b268+_0x87ac8(0x16a)+_0x2437d1+'\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'+_0x34b268+'\x20click-and-inspect\x20e37\x20--screenshot-path\x20'+_0xffcebe['DPODs'](quoteShellArg,_0x34167c)+_0x87ac8(0x12b);}function _0x183e(_0x5376eb,_0x169426){_0x5376eb=_0x5376eb-0x111;const _0x351cdf=_0x351c();let _0x183ef6=_0x351cdf[_0x5376eb];return _0x183ef6;}export function buildVerifyFeatureRangerwrightCliDebugPrompt(_0x37838d){const _0x3c5eed=_0x183e,_0x3186ba={'BZWmb':function(_0x23a41e,_0x41ad98){return _0x23a41e(_0x41ad98);}},_0x38ce5a='01_mozilla-homepage.png',_0xc23690=_0x3c5eed(0x151);return _0x3c5eed(0x138)+_0x37838d['commandPrefix']+'\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`'+_0x37838d['commandPrefix']+'\x20open-and-inspect\x20'+_0x3186ba['BZWmb'](quoteShellArg,_0x37838d[_0x3c5eed(0x13d)])+'\x20--screenshot-path\x20'+quoteShellArg(_0x38ce5a)+_0x3c5eed(0x130)+_0x37838d['commandPrefix']+_0x3c5eed(0x12c)+quoteShellArg(_0xc23690)+_0x3c5eed(0x15e);}export function extractRangerwrightScreenshotPaths(_0x3f43ff){const _0x2d045c=_0x183e,_0x40bb33={'RYmaR':function(_0x65302b,_0x35138f){return _0x65302b(_0x35138f);}};if(!_0x40bb33[_0x2d045c(0x113)](parseRangerwrightCliCommand,_0x3f43ff))return[];const _0x49595c=[],_0x516ddd=/--screenshot-path(?:=|\s+)(?:"([^"]*)"|'([^']*)'|(\S+))/g;for(const _0x221a8e of _0x3f43ff[_0x2d045c(0x14a)](_0x516ddd)){const _0x573cbd=_0x221a8e[0x1]??_0x221a8e[0x2]??_0x221a8e[0x3]??'',_0x2ef286=_0x573cbd['startsWith']('./')?_0x573cbd['slice'](0x2):_0x573cbd;if(!_0x2ef286||_0x2ef286['startsWith']('/'))continue;if(_0x2ef286['split']('/')['some'](_0x1a15e2=>_0x1a15e2==='..'))continue;_0x49595c[_0x2d045c(0x147)](_0x2ef286);}return _0x49595c;}export function summarizeVerifyFeatureRangerwrightCliCommandAvailability(_0x1e9131){const _0x2a555c=_0x183e,_0x1e75bd=[..._0x1e9131[_0x2a555c(0x13c)]()]['sort']();let _0x2fbed1=0x0;for(const _0x1fd9ed of _0x1e9131['values']()){_0x2fbed1+=_0x1fd9ed;}return{'cliCommandCount':_0x2fbed1,'cliCommandsSeen':_0x1e75bd,'noCliCommandsCalled':_0x2fbed1===0x0};}export function createVerifyFeatureRangerwrightCliHooks(_0x185cb2){const _0x3e82e4=_0x183e,_0x26fc17={'VuoJQ':function(_0x3a3649,_0x36e27b){return _0x3a3649!==_0x36e27b;},'FWska':_0x3e82e4(0x11d),'PQXAF':function(_0x50cef0,_0x5e1518){return _0x50cef0!==_0x5e1518;},'dMjkW':_0x3e82e4(0x116),'CjKHm':function(_0x31d66e,_0x4db642){return _0x31d66e(_0x4db642);},'GKhEY':_0x3e82e4(0x14e),'nNOLS':function(_0x3ecf5a,_0x2bee55,_0x46e748){return _0x3ecf5a(_0x2bee55,_0x46e748);}},_0xa9965=new Map(),_0x3b8bdf=async _0x53f311=>{const _0x895fa4=_0x3e82e4;if(_0x26fc17['VuoJQ'](_0x53f311[_0x895fa4(0x168)],_0x26fc17[_0x895fa4(0x13a)]))return{};const _0x494fc8=_0x53f311;if(_0x26fc17[_0x895fa4(0x139)](_0x494fc8['tool_name'],_0x26fc17[_0x895fa4(0x165)]))return{};const _0x42cdde=_0x494fc8[_0x895fa4(0x11e)],_0xf1f3f7=_0x26fc17[_0x895fa4(0x14b)](extractBashCommand,_0x42cdde);if(!_0xf1f3f7)return{};const _0x191aa6=parseRangerwrightCliCommand(_0xf1f3f7);if(!_0x191aa6)return{};return _0xa9965['set'](_0x191aa6,(_0xa9965[_0x895fa4(0x16d)](_0x191aa6)||0x0)+0x1),_0x185cb2[_0x895fa4(0x141)]('rangerwright_cli_command',{'subcommand':_0x191aa6}),_0x185cb2['trackPhaseEnd'](_0x26fc17[_0x895fa4(0x112)],{'subcommand':_0x191aa6,'commandPreview':truncatePreview(_0xf1f3f7)}),console[_0x895fa4(0x12a)](_0x895fa4(0x128)+_0x26fc17['nNOLS'](formatRangerwrightCliLog,_0xf1f3f7,_0x191aa6)),{};},_0x3c6a2d=async _0x23beed=>{const _0x4627a8=_0x3e82e4;if(_0x23beed['hook_event_name']!==_0x4627a8(0x131))return{};const _0x316689=_0x23beed;if(_0x316689[_0x4627a8(0x118)]!==_0x4627a8(0x116))return{};return await _0x185cb2[_0x4627a8(0x122)]('rangerwright_cli_command_failure',_0x316689[_0x4627a8(0x159)],{'transport':_0x4627a8(0x150),'toolName':_0x26fc17[_0x4627a8(0x165)]}),{};};return{'postToolUseHook':_0x3b8bdf,'postToolUseFailureHook':_0x3c6a2d,'commandCounts':_0xa9965};}async function runRangerwrightLifecycleCommand(_0x27a19b){const _0x9dcf6c=_0x183e,_0x240047={'Geofr':function(_0x1cc3ff,_0x6362a4){return _0x1cc3ff??_0x6362a4;},'tiXZF':function(_0x10c65e,_0x4498d6,_0x2e59b2){return _0x10c65e(_0x4498d6,_0x2e59b2);}},{options:_0x49cf3e,commandArgs:_0xa1211c,env:_0x23a4c5,telemetry:_0x4e776b,phase:_0x38be5a,metadata:_0xbdd577,timeoutMs:_0x29723e}=_0x27a19b;_0x4e776b[_0x9dcf6c(0x141)](_0x38be5a,_0xbdd577);try{const _0x80339f=await runRangerwrightCliCommand({..._0x49cf3e,'commandArgs':_0xa1211c,'cwd':process[_0x9dcf6c(0x13f)](),'env':_0x23a4c5,'timeoutMs':_0x240047[_0x9dcf6c(0x164)](_0x29723e,RANGERWRIGHT_CLI_COMMAND_TIMEOUT_MS)});_0x4e776b[_0x9dcf6c(0x144)](_0x38be5a,{..._0xbdd577,'subcommand':_0x80339f[_0x9dcf6c(0x169)][_0x9dcf6c(0x158)],'stdoutPreview':_0x240047[_0x9dcf6c(0x134)](truncatePreview,_0x80339f['stdout'],0x7d0),'stderrPreview':_0x240047['tiXZF'](truncatePreview,_0x80339f['stderr'],0x7d0)});}catch(_0x3a2c3d){await _0x4e776b['trackPhaseError'](_0x38be5a,_0x3a2c3d,_0xbdd577);throw _0x3a2c3d;}}export async function finalizeVerifyFeatureRangerwrightCliSession(_0x48c215){const _0x58a242=_0x183e,{telemetry:_0x3593fb,rangerwrightOptions:_0x410255,env:_0x475ef1,transportMetadata:_0x1e0ab8}=_0x48c215,_0x47c462=[{'phase':_0x58a242(0x11b),'commandArgs':['tracing-stop']},{'phase':'rangerwright_cli_video_stop','commandArgs':['video-stop']},{'phase':'rangerwright_cli_close','commandArgs':[_0x58a242(0x156)]}];for(const _0x18791a of _0x47c462){try{await runRangerwrightLifecycleCommand({'options':_0x410255,'commandArgs':[..._0x18791a['commandArgs']],'env':_0x475ef1,'telemetry':_0x3593fb,'phase':_0x18791a['phase'],'metadata':_0x1e0ab8});}catch{}}}
|