@ranger-testing/ranger-cli 3.1.4-alpha.ffeeafe-46 → 3.1.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/build/cli.js +1 -1
- package/build/commands/addEnv.js +1 -1
- package/build/commands/authEncrypt.js +1 -1
- package/build/commands/clean.js +1 -1
- package/build/commands/config.js +1 -1
- package/build/commands/deleteProfile.js +1 -1
- package/build/commands/env.js +1 -1
- package/build/commands/feature.js +1 -1
- package/build/commands/hook.js +1 -1
- package/build/commands/hooks/autoPrompt.js +1 -1
- package/build/commands/hooks/disable.js +1 -1
- package/build/commands/hooks/enable.js +1 -1
- package/build/commands/hooks/exitPlanMode.js +1 -1
- package/build/commands/hooks/index.js +1 -1
- package/build/commands/hooks/output.js +1 -1
- package/build/commands/hooks/planReminder.js +1 -1
- package/build/commands/hooks/planStart.js +1 -1
- package/build/commands/hooks/postEdit.js +1 -1
- package/build/commands/hooks/preCompact.js +1 -1
- package/build/commands/hooks/sessionEnd.js +1 -1
- package/build/commands/hooks/sessionStart.js +1 -1
- package/build/commands/hooks/stopHook.js +1 -1
- package/build/commands/index.js +1 -1
- package/build/commands/login.js +1 -1
- package/build/commands/mcpBootstrap.js +1 -1
- package/build/commands/migrateProfile.js +1 -1
- package/build/commands/setup/claude.js +1 -1
- package/build/commands/setup/opencode.js +1 -1
- package/build/commands/setupCi.js +1 -1
- package/build/commands/skillup.js +1 -1
- package/build/commands/start.js +1 -1
- package/build/commands/status.js +1 -1
- package/build/commands/update.js +1 -1
- package/build/commands/updateEnv.js +1 -1
- package/build/commands/useEnv.js +1 -1
- package/build/commands/utils/activeProfile.js +1 -1
- package/build/commands/utils/agentEnv.js +1 -1
- package/build/commands/utils/browserSessionsApi.js +1 -1
- package/build/commands/utils/claudeConfig.js +1 -1
- package/build/commands/utils/claudeOverrideSettings.js +1 -1
- package/build/commands/utils/claudePlugin.js +1 -1
- package/build/commands/utils/cloudProfile.js +1 -1
- package/build/commands/utils/cloudProfileSession.js +1 -1
- package/build/commands/utils/crypto.js +1 -1
- package/build/commands/utils/desirePathLog.js +1 -1
- package/build/commands/utils/deviceAuth.js +1 -1
- package/build/commands/utils/environment.js +1 -1
- package/build/commands/utils/featureApi.js +1 -1
- package/build/commands/utils/fixWebmDuration.js +1 -1
- package/build/commands/utils/gitTracked.js +1 -1
- package/build/commands/utils/keychain.js +1 -1
- package/build/commands/utils/legacyWarning.js +1 -1
- package/build/commands/utils/localAgentInstallationsApi.js +1 -1
- package/build/commands/utils/matchAuthEnvironment.js +1 -1
- package/build/commands/utils/mcpImageBase64.js +1 -1
- package/build/commands/utils/model.js +1 -1
- package/build/commands/utils/novaActCli.js +1 -1
- package/build/commands/utils/opencodeConfig.js +1 -1
- package/build/commands/utils/organizationEnvApi.js +1 -1
- package/build/commands/utils/playwrightCli.js +1 -1
- package/build/commands/utils/profileMessages.js +1 -1
- package/build/commands/utils/profileSetupBanner.js +1 -1
- package/build/commands/utils/projectsConfig.js +1 -1
- package/build/commands/utils/rangerConfig.js +1 -1
- package/build/commands/utils/rangerRoot.js +1 -1
- package/build/commands/utils/rangerwrightCli.js +1 -1
- package/build/commands/utils/resolveProfileContext.js +1 -1
- package/build/commands/utils/resolveProfileUrl.js +1 -1
- package/build/commands/utils/retry.js +1 -1
- package/build/commands/utils/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(_0x10dbe5,_0x268f94){const _0xfb8d92=_0x2dbb,_0x1332de=_0x10dbe5();while(!![]){try{const _0x14fda7=-parseInt(_0xfb8d92(0xd6))/0x1*(parseInt(_0xfb8d92(0x104))/0x2)+-parseInt(_0xfb8d92(0xfa))/0x3*(parseInt(_0xfb8d92(0xe8))/0x4)+parseInt(_0xfb8d92(0xec))/0x5*(-parseInt(_0xfb8d92(0x115))/0x6)+-parseInt(_0xfb8d92(0xc0))/0x7*(parseInt(_0xfb8d92(0x124))/0x8)+parseInt(_0xfb8d92(0xe5))/0x9+-parseInt(_0xfb8d92(0xfb))/0xa+-parseInt(_0xfb8d92(0xb7))/0xb*(-parseInt(_0xfb8d92(0x12a))/0xc);if(_0x14fda7===_0x268f94)break;else _0x1332de['push'](_0x1332de['shift']());}catch(_0x3e71f8){_0x1332de['push'](_0x1332de['shift']());}}}(_0x4820,0x43858));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(_0x3c7c0c,_0x2c3248=PLAYWRIGHT_CLI_PREVIEW_LIMIT){const _0x174fe5=_0x2dbb,_0x1c178a={'yeden':function(_0x3b8575,_0x3cd8b2){return _0x3b8575+_0x3cd8b2;}};return _0x3c7c0c[_0x174fe5(0xcf)]>_0x2c3248?_0x1c178a['yeden'](_0x3c7c0c[_0x174fe5(0xba)](0x0,_0x2c3248),'...'):_0x3c7c0c;}function buildCliArtifactPath(_0x5bf586,_0x96859a){return join(_0x5bf586,_0x96859a);}function toStepDisplayName(_0x22ce0a){const _0x2ec69a=_0x2dbb,_0x5e92b8={'pZokJ':function(_0x8346d2,_0x5d6680){return _0x8346d2(_0x5d6680);},'aCyEu':function(_0x2c8141,_0x1127c4){return _0x2c8141(_0x1127c4);}},_0x1710ed=_0x5e92b8[_0x2ec69a(0x121)](basename,_0x22ce0a)[_0x2ec69a(0xce)](/\.(?:png|ya?ml)$/i,'')[_0x2ec69a(0xce)](/^key_/i,'')[_0x2ec69a(0xce)](/^\d+_/,'')[_0x2ec69a(0xce)](/-/g,'\x20');return{'name':_0x1710ed,'isKeyStep':/^key_/i[_0x2ec69a(0xda)](_0x5e92b8['aCyEu'](basename,_0x22ce0a))};}function extractShellValue(_0x139ff1){if(!_0x139ff1)return null;return _0x139ff1[0x1]??_0x139ff1[0x2]??_0x139ff1[0x3]??null;}function extractFilenameOption(_0x1dadba){const _0x1e99b4=_0x2dbb;return extractShellValue(_0x1dadba[_0x1e99b4(0xaf)](/--filename(?:=|\s+)(?:"([^"]+)"|'([^']+)'|(\S+))/));}function extractFirstCommandArgument(_0x546221,_0x1c77d1){const _0x49da55=_0x2dbb,_0x46af28={'WNAMf':function(_0x1b4a5b,_0x55a977){return _0x1b4a5b(_0x55a977);}},_0x53622a=_0x1c77d1[_0x49da55(0xce)](/[.*+?^${}()|[\]\\]/g,'\x5c$&');return _0x46af28[_0x49da55(0xf3)](extractShellValue,_0x546221['match'](new RegExp('(?:^|\x5cs)'+_0x53622a+'(?:\x5cs+(?:\x22([^\x22]+)\x22|\x27([^\x27]+)\x27|(\x5cS+)))')));}function _0x2dbb(_0x2c3c48,_0x48435d){_0x2c3c48=_0x2c3c48-0xae;const _0x4820ce=_0x4820();let _0x2dbb5e=_0x4820ce[_0x2c3c48];return _0x2dbb5e;}function formatCommandTarget(_0x1b8e3d){const _0x4e3afd=_0x2dbb;if(!_0x1b8e3d)return _0x4e3afd(0xbc);if(/^e\d+$/i[_0x4e3afd(0xda)](_0x1b8e3d))return'ref\x20'+_0x1b8e3d;return JSON[_0x4e3afd(0x10d)](truncatePreview(_0x1b8e3d,0x78));}function formatPlaywrightCliLog(_0x572554,_0x33cc37){const _0x54ebf4=_0x2dbb,_0xc94714={'UREsC':'open','qeGlj':function(_0x1dbd49,_0x1c6cbc,_0x249f11){return _0x1dbd49(_0x1c6cbc,_0x249f11);},'ltHUX':_0x54ebf4(0xd3),'zvClc':'stop\x20tracing','xKxcD':_0x54ebf4(0x11b),'IoIWB':'video-stop','oHBxF':function(_0x33640f,_0x4a5771){return _0x33640f(_0x4a5771);},'wzGEV':function(_0x160e14,_0x3c197f){return _0x160e14(_0x3c197f);},'lgruM':function(_0xfba460,_0x103e4f,_0x2b1e07){return _0xfba460(_0x103e4f,_0x2b1e07);},'ngQHu':'check','ucRob':'fill','ALiEC':function(_0x28c955,_0x35eb8b){return _0x28c955(_0x35eb8b);},'OMnEK':function(_0x15de2d,_0x12badb){return _0x15de2d(_0x12badb);},'UyaZY':'tab-new'};switch(_0x33cc37){case _0xc94714[_0x54ebf4(0xed)]:{const _0x23dd80=_0xc94714[_0x54ebf4(0xe1)](extractFirstCommandArgument,_0x572554,_0x33cc37);return _0x23dd80?'open\x20'+_0x23dd80:_0x54ebf4(0xae);}case _0x54ebf4(0xd4):return'start\x20tracing';case _0xc94714['ltHUX']:return _0xc94714['zvClc'];case _0xc94714['xKxcD']:return'start\x20video\x20recording';case _0xc94714['IoIWB']:return _0x54ebf4(0x10e);case'snapshot':{const _0x3898ab=_0xc94714[_0x54ebf4(0xc7)](extractFilenameOption,_0x572554);if(!_0x3898ab)return'capture\x20snapshot';const {name:_0x4c8d93}=_0xc94714['oHBxF'](toStepDisplayName,_0x3898ab);return'capture\x20snapshot\x20`'+_0x4c8d93+'`';}case _0x54ebf4(0x12b):{const _0x1f549f=_0xc94714['wzGEV'](extractFilenameOption,_0x572554);if(!_0x1f549f)return _0x54ebf4(0x123);const {name:_0x4774fb,isKeyStep:_0x2c9169}=toStepDisplayName(_0x1f549f);return _0x2c9169?'capture\x20key\x20step\x20`'+_0x4774fb+'`':_0x54ebf4(0xff)+_0x4774fb+'`';}case'click':return'click\x20'+_0xc94714[_0x54ebf4(0x106)](formatCommandTarget,_0xc94714[_0x54ebf4(0xd7)](extractFirstCommandArgument,_0x572554,_0x33cc37));case _0xc94714[_0x54ebf4(0x101)]:return _0x54ebf4(0xca)+formatCommandTarget(extractFirstCommandArgument(_0x572554,_0x33cc37));case _0xc94714[_0x54ebf4(0xbd)]:return _0x54ebf4(0xf2)+_0xc94714[_0x54ebf4(0xb6)](formatCommandTarget,extractFirstCommandArgument(_0x572554,_0x33cc37));case _0x54ebf4(0x127):return _0x54ebf4(0x114)+_0xc94714['OMnEK'](formatCommandTarget,extractFirstCommandArgument(_0x572554,_0x33cc37));case'run-code':return _0x54ebf4(0xf8);case _0xc94714['UyaZY']:{const _0x525760=extractFirstCommandArgument(_0x572554,_0x33cc37);return _0x525760?_0x54ebf4(0x12f)+_0x525760:'open\x20new\x20tab';}case'tab-select':{const _0x33d933=_0xc94714[_0x54ebf4(0xe1)](extractFirstCommandArgument,_0x572554,_0x33cc37);return _0x33d933?_0x54ebf4(0x112)+_0x33d933:'select\x20tab';}default:return _0x33cc37;}}function extractPlaywrightCliToolDescription(_0x13ac83){const _0xb40395=_0x2dbb,_0x3401cd={'DWJdc':_0xb40395(0x11c),'fdTOZ':function(_0x5e46e6,_0x23825b){return _0x5e46e6>_0x23825b;}},_0x3b39cc=_0x13ac83[_0xb40395(0xd1)];if(typeof _0x3b39cc!==_0x3401cd[_0xb40395(0xc9)])return null;const _0xd6c4e3=_0x3b39cc[_0xb40395(0xea)]()['replace'](/\s+/g,'\x20');return _0x3401cd[_0xb40395(0xe3)](_0xd6c4e3[_0xb40395(0xcf)],0x0)?_0xd6c4e3:null;}export function formatPlaywrightCliConsoleLogMessage(_0x28aea9,_0x4fae50,_0x4c4c0f){const _0x172f52=_0x2dbb,_0x24de65=formatPlaywrightCliLog(_0x4fae50,_0x4c4c0f),_0x1c2ad3=extractPlaywrightCliToolDescription(_0x28aea9);if(!_0x1c2ad3)return'[playwright-cli]\x20'+_0x24de65;if(process['env'][_0x172f52(0x102)])return _0x172f52(0xcd)+_0x1c2ad3+'\x20('+_0x24de65+')';return _0x172f52(0xcd)+_0x1c2ad3;}export function buildVerifyFeatureCliDebugPrompt(_0x596b71,_0x472609){const _0x46813f=_0x2dbb,_0x4f9f9d={'iohYf':_0x46813f(0x117),'aPYim':_0x46813f(0xe2),'bohdr':function(_0x125ddb,_0x528d5a,_0x49019f){return _0x125ddb(_0x528d5a,_0x49019f);},'HWonc':function(_0x3678e6,_0x135611){return _0x3678e6(_0x135611);}},_0x46189f=buildCliArtifactPath(_0x472609,_0x4f9f9d[_0x46813f(0x118)]),_0x29896b=buildCliArtifactPath(_0x472609,'01_mozilla-homepage.png'),_0x3d5397=buildCliArtifactPath(_0x472609,_0x4f9f9d[_0x46813f(0xc4)]),_0x555ae8=_0x4f9f9d['bohdr'](buildCliArtifactPath,_0x472609,_0x46813f(0xf0)),_0x372312=quoteShellArg(_0x46189f),_0x285854=_0x4f9f9d['HWonc'](quoteShellArg,_0x29896b),_0x2def4b=quoteShellArg(_0x3d5397),_0x4d3b30=_0x4f9f9d[_0x46813f(0x11e)](quoteShellArg,_0x555ae8);return'You\x20are\x20testing\x20browser\x20automation.\x20Your\x20task\x20is\x20simple:\x0a\x0aUse\x20Bash\x20and\x20Playwright\x20CLI\x20only.\x20The\x20browser\x20command\x20prefix\x20is:\x0a'+_0x596b71+_0x46813f(0xe6)+_0x596b71+'\x20open\x20https://www.mozilla.org`\x0a2.\x20Run\x20`'+_0x596b71+_0x46813f(0xf4)+_0x596b71+'\x20video-start`\x0a4.\x20Save\x20every\x20snapshot\x20and\x20screenshot\x20under\x20`'+_0x472609+'`\x20using\x20absolute\x20paths\x20only.\x20Do\x20not\x20use\x20relative\x20filenames.\x0a5.\x20Run\x20`'+_0x596b71+'\x20snapshot\x20--filename\x20'+_0x372312+'`\x0a5.\x20Read\x20the\x20snapshot\x20file\x20to\x20find\x20the\x20\x22Learn\x20More\x22\x20link\x20reference\x0a6.\x20Run\x20`'+_0x596b71+'\x20screenshot\x20--filename\x20'+_0x285854+_0x46813f(0x116)+_0x596b71+_0x46813f(0xb4)+_0x2def4b+'`\x0a9.\x20Run\x20`'+_0x596b71+_0x46813f(0xbf)+_0x4d3b30+'`\x0a10.\x20Return\x20immediately\x20with\x20the\x20structured\x20output\x0a\x0aReturn\x20your\x20findings\x20in\x20the\x20structured\x20output\x20format.';}export function buildVerifyFeatureCliPrompt(_0x295949){const _0x592116=_0x2dbb,_0x5002b2={'ydBYY':'en-US','GuEsu':'element','POdzc':'01_initial.yml','sHjOM':function(_0x102b08,_0x39a215,_0x18d031){return _0x102b08(_0x39a215,_0x18d031);},'JHGpo':'01_initial-state.png','TCUgt':function(_0x30cf9f,_0xe56888){return _0x30cf9f(_0xe56888);}},{checklistItem:_0x3263f2,itemFeedback:_0x153cb8,taskDescription:_0x5e3ee5,cliCommandPrefix:_0x2f7d0c,cliArtifactDir:_0x12611e,isCdpMode:_0x4d9509,url:_0x48f8f4,cdpEndpoint:_0x35144e,loginInstructions:_0x58e8e6}=_0x295949,_0x791ed6=buildCliArtifactPath(_0x12611e,_0x5002b2['POdzc']),_0x27f685=_0x5002b2['sHjOM'](buildCliArtifactPath,_0x12611e,_0x592116(0x113)),_0x3d9c3a=_0x5002b2[_0x592116(0x11a)](buildCliArtifactPath,_0x12611e,_0x592116(0x105)),_0x15605e=_0x5002b2[_0x592116(0x11a)](buildCliArtifactPath,_0x12611e,_0x5002b2[_0x592116(0xd2)]),_0x57d352=quoteShellArg(_0x791ed6),_0x3b055a=quoteShellArg(_0x27f685),_0x1122a2=quoteShellArg(_0x3d9c3a),_0x56d611=quoteShellArg(_0x15605e),_0x41b57d=_0x3263f2['notes']?'\x0a\x0a##\x20Additional\x20Notes\x0a'+_0x3263f2['notes']:'';let _0x384fd2='';if(_0x153cb8&&_0x153cb8[_0x592116(0x109)]['length']>0x0){const _0x1f126e=_0x153cb8[_0x592116(0x109)]['map'](_0x5cff72=>{const _0x19f32c=_0x592116,_0x5ba932=new Date(_0x5cff72[_0x19f32c(0xc5)])[_0x19f32c(0xfc)](_0x5002b2[_0x19f32c(0x11f)],{'month':_0x19f32c(0x130),'day':_0x19f32c(0xb2)}),_0x25e6e3=_0x5cff72['authorName']||_0x5cff72['authorEmail']||_0x19f32c(0x10a),_0x129858=_0x5cff72[_0x19f32c(0xe4)]?'\x20(on\x20element:\x20<'+(_0x5cff72['domRef']['selector'][_0x19f32c(0xc1)](_0x19f32c(0xeb))[_0x19f32c(0x131)]()?.[_0x19f32c(0xc1)](':')[0x0]||_0x5002b2['GuEsu'])+'>\x20\x22'+(_0x5cff72[_0x19f32c(0xe4)]['textContent']||'')[_0x19f32c(0xba)](0x0,0x32)+'\x22)':'';return'-\x20['+_0x5cff72['id']+']\x20**'+_0x25e6e3+'**\x20('+_0x5ba932+_0x19f32c(0x126)+_0x5cff72[_0x19f32c(0xd9)]+'\x22'+_0x129858;})['join']('\x0a');_0x384fd2=_0x592116(0xf5)+_0x1f126e;}const _0xa5419e=_0x153cb8?.[_0x592116(0xd8)]?_0x592116(0x111)+_0x153cb8[_0x592116(0xd8)]:'',_0x292e31=_0x4d9509?_0x592116(0x107)+_0x35144e+'.\x0aThis\x20is\x20NOT\x20a\x20web\x20app\x20—\x20there\x20is\x20no\x20URL\x20to\x20navigate\x20to.\x20The\x20app\x20is\x20already\x20running\x20and\x20connected.':_0x592116(0xdb)+_0x48f8f4+_0x592116(0xd0),_0x355069=_0x48f8f4?_0x5002b2[_0x592116(0x11d)](quoteShellArg,_0x48f8f4):'',_0x9abfa3=_0x4d9509?'##\x20Instructions\x0a1.\x20Use\x20Bash\x20plus\x20Playwright\x20CLI\x20only.\x20Do\x20NOT\x20call\x20MCP\x20browser\x20tools.\x0a2.\x20Start\x20by\x20running\x20`'+_0x2f7d0c+_0x592116(0xb0)+_0x2f7d0c+'\x20tracing-start`,\x20then\x20`'+_0x2f7d0c+'\x20video-start`.\x0a3.\x20Save\x20every\x20snapshot\x20and\x20screenshot\x20under\x20`'+_0x12611e+'`\x20using\x20absolute\x20paths\x20only.\x20Do\x20not\x20use\x20relative\x20filenames.\x0a4.\x20Take\x20a\x20snapshot\x20with\x20`'+_0x2f7d0c+_0x592116(0xb4)+_0x57d352+'`\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`'+_0x2f7d0c+'\x20screenshot\x20--filename\x20'+_0x56d611+_0x592116(0x119)+_0x2f7d0c+_0x592116(0xb1):_0x592116(0xc2)+_0x2f7d0c+_0x592116(0x12d)+_0x355069+'`,\x20then\x20`'+_0x2f7d0c+_0x592116(0xdd)+_0x2f7d0c+'\x20video-start`.\x0a3.\x20Save\x20every\x20snapshot\x20and\x20screenshot\x20under\x20`'+_0x12611e+_0x592116(0xe7)+_0x2f7d0c+'\x20snapshot\x20--filename\x20'+_0x57d352+'`\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`'+_0x2f7d0c+'\x20screenshot\x20--filename\x20'+_0x56d611+_0x592116(0xdf)+_0x2f7d0c+_0x592116(0xbb),_0x19f33d=_0x4d9509?_0x592116(0xd5):'\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.',_0x6c2988=_0x58e8e6?'\x0a\x0a##\x20Authentication\x0aBEFORE\x20starting\x20the\x20verification\x20task,\x20you\x20MUST\x20authenticate\x20using\x20these\x20steps:\x0a'+_0x58e8e6+_0x592116(0xf7):'';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'+_0x3263f2['description']+_0x41b57d+_0x384fd2+_0xa5419e+_0x592116(0xe0)+_0x5e3ee5+'\x0a\x0a'+_0x292e31+_0x6c2988+'\x0a\x0a'+_0x9abfa3+'\x0a\x0a##\x20Browser\x20Command\x20Reference\x0aUse\x20Bash\x20to\x20run\x20Playwright\x20CLI\x20commands\x20with\x20this\x20exact\x20prefix:\x0a`'+_0x2f7d0c+'`\x0a\x0a-\x20Write\x20all\x20artifacts\x20under\x20`'+_0x12611e+'`\x0a-\x20`snapshot\x20--filename\x20'+_0x3b055a+'`\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'+_0x1122a2+'`\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`'+_0x12611e+'`:\x20\x22'+_0x15605e+'\x22,\x20\x22'+_0x5002b2['sHjOM'](buildCliArtifactPath,_0x12611e,'02_button-clicked.png')+_0x592116(0xef)+_0x5002b2['sHjOM'](buildCliArtifactPath,_0x12611e,'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(_0x12611e,'key_04_success-state.png')+_0x592116(0x122)+_0x19f33d+_0x592116(0x128);}export function summarizeVerifyFeatureCliCommandAvailability(_0x170228){const _0x284f4a=_0x2dbb,_0x181363=[..._0x170228[_0x284f4a(0x125)]()]['sort']();let _0x257ef9=0x0;for(const _0x491fdb of _0x170228[_0x284f4a(0xb8)]()){_0x257ef9+=_0x491fdb;}return{'cliCommandCount':_0x257ef9,'cliCommandsSeen':_0x181363,'noCliCommandsCalled':_0x257ef9===0x0};}export function createVerifyFeatureCliHooks(_0x297521){const _0xb620b4=_0x2dbb,_0x4d2e8c={'uOFWf':function(_0x3c1bc0,_0x454b48){return _0x3c1bc0(_0x454b48);},'QiJrM':function(_0x2227dc,_0x299795){return _0x2227dc+_0x299795;},'CvIso':'playwright-cli','jBTgL':function(_0x264f7,_0x3028e3){return _0x264f7!==_0x3028e3;},'JGpta':function(_0x1b3338,_0x16fc45,_0x33b208,_0x2dd0c2){return _0x1b3338(_0x16fc45,_0x33b208,_0x2dd0c2);},'pdXmo':_0xb620b4(0x12c),'VTMKb':'Bash'},_0x5e27fe=new Map(),_0x40ccb7=async _0x438c3a=>{const _0x278cae=_0xb620b4;if(_0x438c3a['hook_event_name']!=='PostToolUse')return{};const _0x2fa9cf=_0x438c3a;if(_0x2fa9cf['tool_name']!=='Bash')return{};const _0x3f02ab=_0x2fa9cf[_0x278cae(0xb3)],_0xfcdc00=extractBashCommand(_0x3f02ab);if(!_0xfcdc00)return{};const _0x54817b=_0x4d2e8c[_0x278cae(0xf1)](parsePlaywrightCliCommand,_0xfcdc00);if(!_0x54817b)return{};return _0x5e27fe[_0x278cae(0xb9)](_0x54817b,_0x4d2e8c['QiJrM'](_0x5e27fe[_0x278cae(0xf9)](_0x54817b)||0x0,0x1)),_0x297521['trackPhaseStart'](_0x278cae(0xde),{'transport':_0x4d2e8c[_0x278cae(0x110)],'toolName':_0x54817b}),_0x297521['trackPhaseEnd']('tool_call',{'transport':_0x278cae(0xf6),'toolName':_0x54817b,'bashCommandPreview':truncatePreview(_0xfcdc00)}),_0x4d2e8c[_0x278cae(0xcc)](_0x54817b,'snapshot')&&console['log'](_0x4d2e8c['JGpta'](formatPlaywrightCliConsoleLogMessage,_0x3f02ab,_0xfcdc00,_0x54817b)),{};},_0x5beb85=async _0x4ae9ac=>{const _0x191ada=_0xb620b4;if(_0x4ae9ac[_0x191ada(0xbe)]!==_0x4d2e8c['pdXmo'])return{};const _0x348c5f=_0x4ae9ac;if(_0x348c5f['tool_name']!==_0x4d2e8c[_0x191ada(0x12e)])return{};return await _0x297521[_0x191ada(0xe9)]('tool_failure',_0x348c5f['error'],{'transport':'playwright-cli','toolName':_0x4d2e8c[_0x191ada(0x12e)]}),{};};return{'postToolUseHook':_0x40ccb7,'postToolUseFailureHook':_0x5beb85,'commandCounts':_0x5e27fe};}async function runPlaywrightCliLifecycleCommand(_0x14555c){const _0x2857d2=_0x2dbb,_0x4270b5={'OdbIR':function(_0x575ea9,_0x492eb1){return _0x575ea9(_0x492eb1);},'aICVX':function(_0x3efc98,_0x4e7013,_0x27f195){return _0x3efc98(_0x4e7013,_0x27f195);}},{sessionId:_0x3f9c55,configPath:_0x530b62,commandArgs:_0x23ce01,env:_0x3437c0,telemetry:_0xcea613,phase:_0x367d8d,metadata:_0x2e05a6,timeoutMs:_0x1b3454}=_0x14555c;_0xcea613[_0x2857d2(0xc3)](_0x367d8d,_0x2e05a6);try{const _0x586fef=await _0x4270b5[_0x2857d2(0xc6)](runPlaywrightCliCommand,{'sessionId':_0x3f9c55,'configPath':_0x530b62,'commandArgs':_0x23ce01,'cwd':process['cwd'](),'env':_0x3437c0,'timeoutMs':_0x1b3454??PLAYWRIGHT_CLI_COMMAND_TIMEOUT_MS});_0xcea613[_0x2857d2(0x129)](_0x367d8d,{..._0x2e05a6,'subcommand':_0x586fef['invocation']['subcommand'],'stdoutPreview':_0x4270b5['aICVX'](truncatePreview,_0x586fef[_0x2857d2(0xee)],0x7d0),'stderrPreview':truncatePreview(_0x586fef['stderr'],0x7d0)});}catch(_0x1fb3a1){await _0xcea613[_0x2857d2(0xe9)](_0x367d8d,_0x1fb3a1,_0x2e05a6);throw _0x1fb3a1;}}function _0x4820(){const _0x479431=['##\x20Instructions\x0a1.\x20Use\x20Bash\x20plus\x20Playwright\x20CLI\x20only.\x20Do\x20NOT\x20call\x20MCP\x20browser\x20tools.\x0a2.\x20Start\x20by\x20running\x20`','trackPhaseStart','aPYim','createdAt','OdbIR','oHBxF','sort','DWJdc','check\x20','commandArgs','jBTgL','[ranger-verification-agent]\x20','replace','length','\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','description','JHGpo','tracing-stop','tracing-start','\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.','5NwAmaM','lgruM','canonicalFlow','content','test','CRITICAL\x20URL\x20REQUIREMENT:\x0aYour\x20base\x20URL\x20is:\x20','JvQBf','\x20tracing-start`,\x20then\x20`','tool_call','`\x20style\x20absolute\x20paths\x20at\x20key\x20moments.\x0a8.\x20If\x20you\x20need\x20waits\x20or\x20custom\x20assertions,\x20use\x20`','\x0a\x0a##\x20Task\x20to\x20Execute\x0a','qeGlj','02_learn-more.yml','fdTOZ','domRef','2481516qMsDcC','\x0a\x0a1.\x20Run\x20`','`\x20using\x20absolute\x20paths\x20only.\x20Do\x20not\x20use\x20relative\x20filenames.\x0a4.\x20Take\x20a\x20snapshot\x20with\x20`','340mtFgeV','trackPhaseError','trim','\x20>\x20','40GuUEvW','UREsC','stdout','\x22,\x20\x22','03_learn-more.png','uOFWf','fill\x20','WNAMf','\x20tracing-start`\x0a3.\x20Run\x20`','\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','playwright-cli','\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.','run\x20custom\x20Playwright\x20code','get','16047SERyAF','303760VoliLY','toLocaleDateString','playwright_cli_tracing_stop','push','capture\x20step\x20`','SLhPa','ngQHu','DEBUG','trace.zip','218998mhczSO','key_03_success-state.png','wzGEV','##\x20App\x20Context\x0aYou\x20are\x20connected\x20to\x20a\x20desktop\x20application\x20via\x20CDP\x20(Chrome\x20DevTools\x20Protocol)\x20at\x20','--filename=','unaddressedComments','Reviewer','video-stop','name','stringify','stop\x20video\x20recording','MgaWt','CvIso','\x0a\x0a##\x20Expected\x20Flow\x20(from\x20previous\x20verification)\x0a','select\x20tab\x20','02_state.yml','press\x20','174252UTWwGw','`\x0a7.\x20Click\x20the\x20\x22Learn\x20More\x22\x20link\x20with\x20Playwright\x20CLI\x0a8.\x20Run\x20`','00_mozilla-homepage.yml','iohYf','`\x20style\x20absolute\x20paths\x20at\x20key\x20moments.\x0a6.\x20If\x20you\x20need\x20waits\x20or\x20custom\x20assertions,\x20use\x20`','sHjOM','video-start','string','TCUgt','HWonc','ydBYY','egXor','pZokJ','\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','capture\x20screenshot','8bLZIHz','keys','):\x20\x22','press','\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.','trackPhaseEnd','87816jRjLXr','screenshot','PostToolUseFailure','\x20open\x20','VTMKb','open\x20new\x20tab\x20','short','pop','open\x20browser','match','\x20open`,\x20then\x20`','\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','numeric','tool_input','\x20snapshot\x20--filename\x20','playwright_cli_close','ALiEC','2035EtbgtK','values','set','slice','\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','target','ucRob','hook_event_name','\x20screenshot\x20--filename\x20','616798KSmAhY','split'];_0x4820=function(){return _0x479431;};return _0x4820();}export async function finalizeVerifyFeatureCliSession(_0x18c460){const _0xe57074=_0x2dbb,_0x134672={'PzuKc':'tracing-stop','JvQBf':'playwright_cli_video_stop','SdaQo':function(_0x170995,_0x1d813b,_0x2c9951){return _0x170995(_0x1d813b,_0x2c9951);},'Orbcd':_0xe57074(0xb5),'MgaWt':'close','TZyBZ':function(_0xda0ae2,_0x96718f){return _0xda0ae2(_0x96718f);}},{telemetry:_0x4efa91,sessionId:_0xb2ea53,configPath:_0x5ae853,cliArtifactDir:_0x40f7f8,env:_0x45f376,transportMetadata:_0x56e7d4}=_0x18c460,_0x15cdab=[{'phase':_0xe57074(0xfd),'commandArgs':[_0x134672['PzuKc']]},{'phase':_0x134672[_0xe57074(0xdc)],'commandArgs':[_0xe57074(0x10b),_0xe57074(0x108)+_0x134672['SdaQo'](buildCliArtifactPath,_0x40f7f8,'session-recording.webm')]},{'phase':_0x134672['Orbcd'],'commandArgs':[_0x134672[_0xe57074(0x10f)]]}];for(const _0x1e8d27 of _0x15cdab){try{await _0x134672['TZyBZ'](runPlaywrightCliLifecycleCommand,{'sessionId':_0xb2ea53,'configPath':_0x5ae853,'commandArgs':[..._0x1e8d27[_0xe57074(0xcb)]],'env':_0x45f376,'telemetry':_0x4efa91,'phase':_0x1e8d27['phase'],'metadata':_0x56e7d4});}catch{}}}export async function loadVerifyFeatureCliTraceUploadArtifact(_0x5ba4d0){const _0x3789e3=_0x2dbb,_0x3db845={'wxkqF':_0x3789e3(0x103),'eWnuO':function(_0x231fba,_0x40bee9,_0x1759f8){return _0x231fba(_0x40bee9,_0x1759f8);},'egXor':function(_0x66952a,_0x719087){return _0x66952a(_0x719087);}},_0x5d360d=[_0x3db845['wxkqF'],'trace.trace.zip'];for(const _0x51354f of _0x5d360d){const _0x25ac42=_0x3db845['eWnuO'](join,_0x5ba4d0,_0x51354f);try{return{'buffer':await _0x3db845[_0x3789e3(0x120)](readFile,_0x25ac42),'source':_0x25ac42};}catch{}}return null;}export async function rehomeVerifyFeatureCliArtifacts(_0xade93e){const _0x55bc7a=_0x2dbb,_0x282e5f={'SLhPa':function(_0x4e1d06,_0x5e7a1c,_0x512430){return _0x4e1d06(_0x5e7a1c,_0x512430);},'ZyEUZ':function(_0x5f6c3d,_0x484fcf){return _0x5f6c3d(_0x484fcf);},'DzREu':function(_0x323bdd,_0x168dbe){return _0x323bdd+_0x168dbe;}},{cwd:_0xaad92f,cliArtifactDir:_0x5d6e5a,startTime:_0x5532ad}=_0xade93e,_0x1571a0=[];await _0x282e5f[_0x55bc7a(0x100)](mkdir,_0x5d6e5a,{'recursive':!![]});const _0x3dc678=await _0x282e5f[_0x55bc7a(0x100)](readdir,_0xaad92f,{'withFileTypes':!![]});for(const _0x47e777 of _0x3dc678){if(!_0x47e777['isFile']()||!VERIFY_FEATURE_CLI_ARTIFACT_FILE_PATTERN['test'](_0x47e777[_0x55bc7a(0x10c)]))continue;const _0x49bcec=_0x282e5f[_0x55bc7a(0x100)](join,_0xaad92f,_0x47e777[_0x55bc7a(0x10c)]),_0x1f9493=await _0x282e5f['ZyEUZ'](stat,_0x49bcec);if(_0x282e5f['DzREu'](_0x1f9493['mtimeMs'],0x7d0)<_0x5532ad)continue;const _0x24c1e8=buildCliArtifactPath(_0x5d6e5a,_0x47e777[_0x55bc7a(0x10c)]);if(_0x49bcec===_0x24c1e8)continue;await rename(_0x49bcec,_0x24c1e8),_0x1571a0[_0x55bc7a(0xfe)](_0x47e777[_0x55bc7a(0x10c)]);}return _0x1571a0[_0x55bc7a(0xc8)]();}
|
|
1
|
+
(function(_0x999193,_0x51fe1e){const _0x5eb039=_0x1e5a,_0xe42d7e=_0x999193();while(!![]){try{const _0x43a505=parseInt(_0x5eb039(0x74))/0x1*(parseInt(_0x5eb039(0x8f))/0x2)+-parseInt(_0x5eb039(0xb7))/0x3+parseInt(_0x5eb039(0x84))/0x4+parseInt(_0x5eb039(0x75))/0x5+parseInt(_0x5eb039(0xce))/0x6+-parseInt(_0x5eb039(0x6d))/0x7+parseInt(_0x5eb039(0xa8))/0x8;if(_0x43a505===_0x51fe1e)break;else _0xe42d7e['push'](_0xe42d7e['shift']());}catch(_0x4c0d7a){_0xe42d7e['push'](_0xe42d7e['shift']());}}}(_0x2213,0xad33c));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 _0x1e5a(_0x3053c4,_0x1b9e2f){_0x3053c4=_0x3053c4-0x64;const _0x22131d=_0x2213();let _0x1e5adc=_0x22131d[_0x3053c4];return _0x1e5adc;}function truncatePreview(_0x12365f,_0x56e494=PLAYWRIGHT_CLI_PREVIEW_LIMIT){const _0x2e2540=_0x1e5a,_0x32b523={'RbUVj':function(_0x1b4a4a,_0x4a3ca0){return _0x1b4a4a+_0x4a3ca0;},'NwWWF':'...'};return _0x12365f['length']>_0x56e494?_0x32b523['RbUVj'](_0x12365f[_0x2e2540(0xe2)](0x0,_0x56e494),_0x32b523[_0x2e2540(0xbe)]):_0x12365f;}function buildCliArtifactPath(_0x2a2ea4,_0x517c4b){const _0x3ad188={'icimg':function(_0x81bdd1,_0x255e51,_0x29e2a7){return _0x81bdd1(_0x255e51,_0x29e2a7);}};return _0x3ad188['icimg'](join,_0x2a2ea4,_0x517c4b);}function toStepDisplayName(_0x26004b){const _0x3add17=_0x1e5a,_0x53b607={'cSpVl':function(_0x3a8249,_0x59ceeb){return _0x3a8249(_0x59ceeb);},'LpXna':function(_0x6b3118,_0x391cec){return _0x6b3118(_0x391cec);}},_0x4b8487=_0x53b607[_0x3add17(0xe5)](basename,_0x26004b)[_0x3add17(0x6c)](/\.(?:png|ya?ml)$/i,'')['replace'](/^key_/i,'')['replace'](/^\d+_/,'')[_0x3add17(0x6c)](/-/g,'\x20');return{'name':_0x4b8487,'isKeyStep':/^key_/i['test'](_0x53b607['LpXna'](basename,_0x26004b))};}function extractShellValue(_0x40bd71){if(!_0x40bd71)return null;return _0x40bd71[0x1]??_0x40bd71[0x2]??_0x40bd71[0x3]??null;}function extractFilenameOption(_0x5343c6){const _0x3c3aec=_0x1e5a,_0x1529d8={'pWPbQ':function(_0x4e24a3,_0x4a0abb){return _0x4e24a3(_0x4a0abb);}};return _0x1529d8[_0x3c3aec(0x91)](extractShellValue,_0x5343c6[_0x3c3aec(0x73)](/--filename(?:=|\s+)(?:"([^"]+)"|'([^']+)'|(\S+))/));}function extractFirstCommandArgument(_0x2a3e51,_0x306c56){const _0x4061fd=_0x1e5a,_0x371cf4={'hPVye':'\x5c$&'},_0x3b447b=_0x306c56['replace'](/[.*+?^${}()|[\]\\]/g,_0x371cf4['hPVye']);return extractShellValue(_0x2a3e51['match'](new RegExp(_0x4061fd(0x8e)+_0x3b447b+'(?:\x5cs+(?:\x22([^\x22]+)\x22|\x27([^\x27]+)\x27|(\x5cS+)))')));}function formatCommandTarget(_0x268b11){const _0x10d936=_0x1e5a,_0x1858c2={'ZYrAt':function(_0x31d0a3,_0x53544f,_0x7edce1){return _0x31d0a3(_0x53544f,_0x7edce1);}};if(!_0x268b11)return'target';if(/^e\d+$/i[_0x10d936(0x88)](_0x268b11))return _0x10d936(0x8b)+_0x268b11;return JSON['stringify'](_0x1858c2['ZYrAt'](truncatePreview,_0x268b11,0x78));}function formatPlaywrightCliLog(_0x256ed2,_0x352ea1){const _0x3c1134=_0x1e5a,_0x112d91={'NIoCS':function(_0x118013,_0x41d897,_0x2d3473){return _0x118013(_0x41d897,_0x2d3473);},'MUUSV':_0x3c1134(0xb1),'Cosmv':_0x3c1134(0xac),'DzbYz':function(_0x21c1ac,_0x31dbd1){return _0x21c1ac(_0x31dbd1);},'seaHp':_0x3c1134(0xcc),'NXoJd':function(_0x3c652a,_0x382c40){return _0x3c652a(_0x382c40);},'GhIRA':'click','lgGEJ':'check','SERwY':function(_0x391fed,_0x293c2f){return _0x391fed(_0x293c2f);},'FXDRe':function(_0x5e96e1,_0x1e55ec,_0xf0300a){return _0x5e96e1(_0x1e55ec,_0xf0300a);},'KYshd':'press','awJwI':function(_0x249cea,_0x348475,_0x416c0c){return _0x249cea(_0x348475,_0x416c0c);},'iYYIN':_0x3c1134(0x69),'sQdVI':_0x3c1134(0xc2),'GgLMR':_0x3c1134(0xc0)};switch(_0x352ea1){case'open':{const _0x3ccc8a=_0x112d91['NIoCS'](extractFirstCommandArgument,_0x256ed2,_0x352ea1);return _0x3ccc8a?_0x3c1134(0xa7)+_0x3ccc8a:_0x3c1134(0xb0);}case'tracing-start':return _0x3c1134(0xd4);case _0x3c1134(0xda):return'stop\x20tracing';case _0x3c1134(0xb2):return _0x3c1134(0xbd);case _0x112d91[_0x3c1134(0x8a)]:return _0x3c1134(0xdb);case _0x112d91[_0x3c1134(0x96)]:{const _0x3e4323=_0x112d91['DzbYz'](extractFilenameOption,_0x256ed2);if(!_0x3e4323)return _0x112d91[_0x3c1134(0xcd)];const {name:_0x1287bc}=_0x112d91[_0x3c1134(0xc7)](toStepDisplayName,_0x3e4323);return _0x3c1134(0xdf)+_0x1287bc+'`';}case'screenshot':{const _0xb025fa=_0x112d91['NXoJd'](extractFilenameOption,_0x256ed2);if(!_0xb025fa)return'capture\x20screenshot';const {name:_0xe0da0f,isKeyStep:_0x1ea491}=toStepDisplayName(_0xb025fa);return _0x1ea491?'capture\x20key\x20step\x20`'+_0xe0da0f+'`':_0x3c1134(0x9a)+_0xe0da0f+'`';}case _0x112d91[_0x3c1134(0x92)]:return'click\x20'+formatCommandTarget(extractFirstCommandArgument(_0x256ed2,_0x352ea1));case _0x112d91[_0x3c1134(0xea)]:return _0x3c1134(0xa2)+_0x112d91['SERwY'](formatCommandTarget,_0x112d91['FXDRe'](extractFirstCommandArgument,_0x256ed2,_0x352ea1));case _0x3c1134(0xc5):return _0x3c1134(0x87)+formatCommandTarget(extractFirstCommandArgument(_0x256ed2,_0x352ea1));case _0x112d91[_0x3c1134(0xa5)]:return'press\x20'+formatCommandTarget(_0x112d91[_0x3c1134(0xa1)](extractFirstCommandArgument,_0x256ed2,_0x352ea1));case _0x112d91['iYYIN']:return'run\x20custom\x20Playwright\x20code';case _0x112d91['sQdVI']:{const _0x209c3e=_0x112d91[_0x3c1134(0xa1)](extractFirstCommandArgument,_0x256ed2,_0x352ea1);return _0x209c3e?_0x3c1134(0x7b)+_0x209c3e:'open\x20new\x20tab';}case _0x3c1134(0x94):{const _0x36acb9=extractFirstCommandArgument(_0x256ed2,_0x352ea1);return _0x36acb9?'select\x20tab\x20'+_0x36acb9:_0x112d91['GgLMR'];}default:return _0x352ea1;}}function extractPlaywrightCliToolDescription(_0x539c77){const _0x4d5e4b=_0x1e5a,_0x2c70cb={'qbZiI':_0x4d5e4b(0x9e),'LTrNK':function(_0x20a40d,_0x34ec72){return _0x20a40d>_0x34ec72;}},_0x118073=_0x539c77[_0x4d5e4b(0xd1)];if(typeof _0x118073!==_0x2c70cb['qbZiI'])return null;const _0x4dacc0=_0x118073['trim']()[_0x4d5e4b(0x6c)](/\s+/g,'\x20');return _0x2c70cb[_0x4d5e4b(0x77)](_0x4dacc0[_0x4d5e4b(0xb3)],0x0)?_0x4dacc0:null;}export function formatPlaywrightCliConsoleLogMessage(_0x4356e7,_0x4a89cd,_0x38b578){const _0x4fb4ee=_0x1e5a,_0x4a8507={'sYExG':function(_0x5d5d6f,_0x10e67f,_0x18435b){return _0x5d5d6f(_0x10e67f,_0x18435b);},'KUxpO':function(_0x6ce589,_0x1af478){return _0x6ce589(_0x1af478);}},_0x409929=_0x4a8507['sYExG'](formatPlaywrightCliLog,_0x4a89cd,_0x38b578),_0x333c56=_0x4a8507['KUxpO'](extractPlaywrightCliToolDescription,_0x4356e7);if(!_0x333c56)return _0x4fb4ee(0xd0)+_0x409929;if(process['env']['DEBUG'])return'[ranger-verification-agent]\x20'+_0x333c56+'\x20('+_0x409929+')';return'[ranger-verification-agent]\x20'+_0x333c56;}export function buildVerifyFeatureCliDebugPrompt(_0x334f2f,_0x3d0318){const _0x1f4f5f=_0x1e5a,_0x1c7187={'HhmjR':_0x1f4f5f(0x6a),'RlawO':function(_0x990f24,_0x18d45f,_0x1959ad){return _0x990f24(_0x18d45f,_0x1959ad);},'mHEVT':'02_learn-more.yml','bLSvA':function(_0x4eef32,_0x8501af){return _0x4eef32(_0x8501af);}},_0x3a8b12=buildCliArtifactPath(_0x3d0318,'00_mozilla-homepage.yml'),_0x8e12d=buildCliArtifactPath(_0x3d0318,_0x1c7187[_0x1f4f5f(0x70)]),_0x179dee=_0x1c7187[_0x1f4f5f(0x99)](buildCliArtifactPath,_0x3d0318,_0x1c7187['mHEVT']),_0xa432ae=buildCliArtifactPath(_0x3d0318,'03_learn-more.png'),_0x5cc38e=quoteShellArg(_0x3a8b12),_0xb524ce=quoteShellArg(_0x8e12d),_0x4a0d50=_0x1c7187['bLSvA'](quoteShellArg,_0x179dee),_0x2cd271=_0x1c7187['bLSvA'](quoteShellArg,_0xa432ae);return _0x1f4f5f(0x7c)+_0x334f2f+_0x1f4f5f(0xab)+_0x334f2f+'\x20open\x20https://www.mozilla.org`\x0a2.\x20Run\x20`'+_0x334f2f+'\x20tracing-start`\x0a3.\x20Run\x20`'+_0x334f2f+'\x20video-start`\x0a4.\x20Save\x20every\x20snapshot\x20and\x20screenshot\x20under\x20`'+_0x3d0318+'`\x20using\x20absolute\x20paths\x20only.\x20Do\x20not\x20use\x20relative\x20filenames.\x0a5.\x20Run\x20`'+_0x334f2f+'\x20snapshot\x20--filename\x20'+_0x5cc38e+_0x1f4f5f(0xdd)+_0x334f2f+'\x20screenshot\x20--filename\x20'+_0xb524ce+_0x1f4f5f(0xe1)+_0x334f2f+'\x20snapshot\x20--filename\x20'+_0x4a0d50+'`\x0a9.\x20Run\x20`'+_0x334f2f+_0x1f4f5f(0x9d)+_0x2cd271+_0x1f4f5f(0xbb);}export function buildVerifyFeatureCliPrompt(_0x36bafa){const _0x15d7f4=_0x1e5a,_0x266122={'VNmNf':_0x15d7f4(0xd6),'bFqvH':'Reviewer','vfhvC':_0x15d7f4(0xe8),'EBAsn':'key_03_success-state.png','ptrkW':_0x15d7f4(0x97),'nqmix':function(_0x890b31,_0xee12df){return _0x890b31(_0xee12df);},'BSPTB':function(_0xd52485,_0x4de8e3){return _0xd52485(_0x4de8e3);},'cVxjO':function(_0x133488,_0x21a95c){return _0x133488(_0x21a95c);},'rmIYX':function(_0x2e483e,_0xc57863){return _0x2e483e(_0xc57863);},'IfgAu':function(_0x45b3f7,_0x59d8ef){return _0x45b3f7>_0x59d8ef;},'ipntx':function(_0x35041c,_0x5b086b){return _0x35041c(_0x5b086b);},'OXijr':function(_0x264ad5,_0x4b2553,_0x71ad33){return _0x264ad5(_0x4b2553,_0x71ad33);},'dNrJu':function(_0x1d9fb8,_0xa75e91,_0x4dfc5c){return _0x1d9fb8(_0xa75e91,_0x4dfc5c);},'sXcpg':'key_04_success-state.png'},{checklistItem:_0x4041e9,itemFeedback:_0xcd353d,taskDescription:_0x445a6b,cliCommandPrefix:_0x2bf2b0,cliArtifactDir:_0x138da8,isCdpMode:_0x239f26,url:_0x21cfb3,cdpEndpoint:_0x2e002a,loginInstructions:_0x47570e}=_0x36bafa,_0xf64062=buildCliArtifactPath(_0x138da8,_0x15d7f4(0xcb)),_0x54eacc=buildCliArtifactPath(_0x138da8,_0x15d7f4(0xe4)),_0x1d2bca=buildCliArtifactPath(_0x138da8,_0x266122['EBAsn']),_0x4b5b86=buildCliArtifactPath(_0x138da8,_0x266122[_0x15d7f4(0xb4)]),_0x16a0a7=_0x266122[_0x15d7f4(0x82)](quoteShellArg,_0xf64062),_0x4a5a57=_0x266122['BSPTB'](quoteShellArg,_0x54eacc),_0x58e876=_0x266122[_0x15d7f4(0xd5)](quoteShellArg,_0x1d2bca),_0xe5a328=_0x266122[_0x15d7f4(0xd9)](quoteShellArg,_0x4b5b86),_0x45016c=_0x4041e9['notes']?_0x15d7f4(0xc3)+_0x4041e9['notes']:'';let _0x241317='';if(_0xcd353d&&_0x266122['IfgAu'](_0xcd353d['unaddressedComments']['length'],0x0)){const _0x436133=_0xcd353d['unaddressedComments']['map'](_0x367461=>{const _0x58c4e1=_0x15d7f4,_0x252b8a=new Date(_0x367461['createdAt'])[_0x58c4e1(0x9b)]('en-US',{'month':_0x266122[_0x58c4e1(0xc8)],'day':'numeric'}),_0xf6f21b=_0x367461[_0x58c4e1(0x85)]||_0x367461['authorEmail']||_0x266122['bFqvH'],_0x1e8205=_0x367461['domRef']?'\x20(on\x20element:\x20<'+(_0x367461[_0x58c4e1(0x7d)]['selector']['split'](_0x266122['vfhvC'])['pop']()?.['split'](':')[0x0]||'element')+'>\x20\x22'+(_0x367461['domRef'][_0x58c4e1(0xb6)]||'')[_0x58c4e1(0xe2)](0x0,0x32)+'\x22)':'';return _0x58c4e1(0xa0)+_0x367461['id']+_0x58c4e1(0xbf)+_0xf6f21b+_0x58c4e1(0x83)+_0x252b8a+_0x58c4e1(0xe0)+_0x367461[_0x58c4e1(0xa9)]+'\x22'+_0x1e8205;})['join']('\x0a');_0x241317='\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'+_0x436133;}const _0xea95ab=_0xcd353d?.[_0x15d7f4(0x98)]?_0x15d7f4(0x67)+_0xcd353d['canonicalFlow']:'',_0x3ab840=_0x239f26?'##\x20App\x20Context\x0aYou\x20are\x20connected\x20to\x20a\x20desktop\x20application\x20via\x20CDP\x20(Chrome\x20DevTools\x20Protocol)\x20at\x20'+_0x2e002a+_0x15d7f4(0xc6):_0x15d7f4(0xe7)+_0x21cfb3+'\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',_0x4e081b=_0x21cfb3?_0x266122['ipntx'](quoteShellArg,_0x21cfb3):'',_0x3ad41a=_0x239f26?'##\x20Instructions\x0a1.\x20Use\x20Bash\x20plus\x20Playwright\x20CLI\x20only.\x20Do\x20NOT\x20call\x20MCP\x20browser\x20tools.\x0a2.\x20Start\x20by\x20running\x20`'+_0x2bf2b0+_0x15d7f4(0x7f)+_0x2bf2b0+'\x20tracing-start`,\x20then\x20`'+_0x2bf2b0+'\x20video-start`.\x0a3.\x20Save\x20every\x20snapshot\x20and\x20screenshot\x20under\x20`'+_0x138da8+_0x15d7f4(0x90)+_0x2bf2b0+_0x15d7f4(0xa6)+_0x16a0a7+_0x15d7f4(0xba)+_0x2bf2b0+_0x15d7f4(0x9d)+_0xe5a328+'`\x20style\x20absolute\x20paths\x20at\x20key\x20moments.\x0a6.\x20If\x20you\x20need\x20waits\x20or\x20custom\x20assertions,\x20use\x20`'+_0x2bf2b0+'\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':_0x15d7f4(0x86)+_0x2bf2b0+'\x20open\x20'+_0x4e081b+_0x15d7f4(0xd3)+_0x2bf2b0+'\x20tracing-start`,\x20then\x20`'+_0x2bf2b0+'\x20video-start`.\x0a3.\x20Save\x20every\x20snapshot\x20and\x20screenshot\x20under\x20`'+_0x138da8+_0x15d7f4(0x90)+_0x2bf2b0+_0x15d7f4(0xa6)+_0x16a0a7+'`\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`'+_0x2bf2b0+'\x20screenshot\x20--filename\x20'+_0xe5a328+_0x15d7f4(0x81)+_0x2bf2b0+'\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',_0x42c380=_0x239f26?'\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.':_0x15d7f4(0x6b),_0x2fb5a4=_0x47570e?_0x15d7f4(0x78)+_0x47570e+'\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'+_0x4041e9[_0x15d7f4(0xd1)]+_0x45016c+_0x241317+_0xea95ab+_0x15d7f4(0x6e)+_0x445a6b+'\x0a\x0a'+_0x3ab840+_0x2fb5a4+'\x0a\x0a'+_0x3ad41a+_0x15d7f4(0xc4)+_0x2bf2b0+'`\x0a\x0a-\x20Write\x20all\x20artifacts\x20under\x20`'+_0x138da8+'`\x0a-\x20`snapshot\x20--filename\x20'+_0x4a5a57+_0x15d7f4(0xdc)+_0x58e876+_0x15d7f4(0xa3)+_0x138da8+_0x15d7f4(0xb5)+_0x4b5b86+'\x22,\x20\x22'+buildCliArtifactPath(_0x138da8,'02_button-clicked.png')+'\x22,\x20\x22'+_0x266122['OXijr'](buildCliArtifactPath,_0x138da8,_0x15d7f4(0x68))+'\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'+_0x266122[_0x15d7f4(0x80)](buildCliArtifactPath,_0x138da8,_0x266122[_0x15d7f4(0x95)])+'\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'+_0x42c380+'\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.';}function _0x2213(){const _0x5e1ed7=['tracing-stop','stop\x20video\x20recording','`\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','`\x0a5.\x20Read\x20the\x20snapshot\x20file\x20to\x20find\x20the\x20\x22Learn\x20More\x22\x20link\x20reference\x0a6.\x20Run\x20`','KlXEm','capture\x20snapshot\x20`','):\x20\x22','`\x0a7.\x20Click\x20the\x20\x22Learn\x20More\x22\x20link\x20with\x20Playwright\x20CLI\x0a8.\x20Run\x20`','slice','PostToolUse','02_state.yml','cSpVl','Bash','CRITICAL\x20URL\x20REQUIREMENT:\x0aYour\x20base\x20URL\x20is:\x20','\x20>\x20','tool_call','lgGEJ','gqqGK','playwright-cli','isFile','\x0a\x0a##\x20Expected\x20Flow\x20(from\x20previous\x20verification)\x0a','03_result-visible.png','run-code','01_mozilla-homepage.png','\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.','replace','7470638vRrhrI','\x0a\x0a##\x20Task\x20to\x20Execute\x0a','xGvLh','HhmjR','log','playwright_cli_tracing_stop','match','1759GTDHIR','2223125LnAhVG','subcommand','LTrNK','\x0a\x0a##\x20Authentication\x0aBEFORE\x20starting\x20the\x20verification\x20task,\x20you\x20MUST\x20authenticate\x20using\x20these\x20steps:\x0a','yKTcz','UmnHA','open\x20new\x20tab\x20','You\x20are\x20testing\x20browser\x20automation.\x20Your\x20task\x20is\x20simple:\x0a\x0aUse\x20Bash\x20and\x20Playwright\x20CLI\x20only.\x20The\x20browser\x20command\x20prefix\x20is:\x0a','domRef','cwd','\x20open`,\x20then\x20`','dNrJu','`\x20style\x20absolute\x20paths\x20at\x20key\x20moments.\x0a8.\x20If\x20you\x20need\x20waits\x20or\x20custom\x20assertions,\x20use\x20`','nqmix','**\x20(','309520cOAsCD','authorName','##\x20Instructions\x0a1.\x20Use\x20Bash\x20plus\x20Playwright\x20CLI\x20only.\x20Do\x20NOT\x20call\x20MCP\x20browser\x20tools.\x0a2.\x20Start\x20by\x20running\x20`','fill\x20','test','trace.trace.zip','MUUSV','ref\x20','BwFmp','wudXP','(?:^|\x5cs)','236fWNStT','`\x20using\x20absolute\x20paths\x20only.\x20Do\x20not\x20use\x20relative\x20filenames.\x0a4.\x20Take\x20a\x20snapshot\x20with\x20`','pWPbQ','GhIRA','mBLZx','tab-select','sXcpg','Cosmv','01_initial-state.png','canonicalFlow','RlawO','capture\x20step\x20`','toLocaleDateString','--filename=','\x20screenshot\x20--filename\x20','string','trackPhaseError','-\x20[','awJwI','check\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`','get','KYshd','\x20snapshot\x20--filename\x20','open\x20','1025664UouiKj','content','tool_name','\x0a\x0a1.\x20Run\x20`','snapshot','tool_input','invocation','hook_event_name','open\x20browser','video-stop','video-start','length','ptrkW','`:\x20\x22','textContent','364269fOlvWT','name','keys','`\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`','`\x0a10.\x20Return\x20immediately\x20with\x20the\x20structured\x20output\x0a\x0aReturn\x20your\x20findings\x20in\x20the\x20structured\x20output\x20format.','WIWaz','start\x20video\x20recording','NwWWF',']\x20**','select\x20tab','sort','tab-new','\x0a\x0a##\x20Additional\x20Notes\x0a','\x0a\x0a##\x20Browser\x20Command\x20Reference\x0aUse\x20Bash\x20to\x20run\x20Playwright\x20CLI\x20commands\x20with\x20this\x20exact\x20prefix:\x0a`','fill','.\x0aThis\x20is\x20NOT\x20a\x20web\x20app\x20—\x20there\x20is\x20no\x20URL\x20to\x20navigate\x20to.\x20The\x20app\x20is\x20already\x20running\x20and\x20connected.','NXoJd','VNmNf','eyaiL','mTDEO','01_initial.yml','capture\x20snapshot','seaHp','6241908KMmhJy','uXhIG','[playwright-cli]\x20','description','commandArgs','`,\x20then\x20`','start\x20tracing','cVxjO','short','trackPhaseStart','values','rmIYX'];_0x2213=function(){return _0x5e1ed7;};return _0x2213();}export function summarizeVerifyFeatureCliCommandAvailability(_0x11f930){const _0x2285b7=_0x1e5a,_0x583f63={'mTDEO':function(_0x127e19,_0x441bb8){return _0x127e19===_0x441bb8;}},_0x3c93d9=[..._0x11f930[_0x2285b7(0xb9)]()]['sort']();let _0x119b04=0x0;for(const _0x20e814 of _0x11f930[_0x2285b7(0xd8)]()){_0x119b04+=_0x20e814;}return{'cliCommandCount':_0x119b04,'cliCommandsSeen':_0x3c93d9,'noCliCommandsCalled':_0x583f63[_0x2285b7(0xca)](_0x119b04,0x0)};}export function createVerifyFeatureCliHooks(_0x515269){const _0x47f949=_0x1e5a,_0x34f5e4={'BwFmp':function(_0x4dfa25,_0x4baec7){return _0x4dfa25!==_0x4baec7;},'mBLZx':function(_0x461c41,_0xd4b368){return _0x461c41(_0xd4b368);},'ToKAO':_0x47f949(0xe9),'gqqGK':_0x47f949(0xac),'KlXEm':function(_0x145d7b,_0x2301e8,_0x3a4c11,_0xc1f9f1){return _0x145d7b(_0x2301e8,_0x3a4c11,_0xc1f9f1);},'bqWOg':function(_0x3ab0de,_0xf2d489){return _0x3ab0de!==_0xf2d489;},'wudXP':_0x47f949(0xe6),'YTqoG':_0x47f949(0x65)},_0x503574=new Map(),_0x49b9ee=async _0x39d8b3=>{const _0xa241e5=_0x47f949;if(_0x39d8b3[_0xa241e5(0xaf)]!==_0xa241e5(0xe3))return{};const _0x14299e=_0x39d8b3;if(_0x34f5e4[_0xa241e5(0x8c)](_0x14299e[_0xa241e5(0xaa)],_0xa241e5(0xe6)))return{};const _0x63d38f=_0x14299e[_0xa241e5(0xad)],_0x53a9db=extractBashCommand(_0x63d38f);if(!_0x53a9db)return{};const _0x3d164f=_0x34f5e4[_0xa241e5(0x93)](parsePlaywrightCliCommand,_0x53a9db);if(!_0x3d164f)return{};return _0x503574['set'](_0x3d164f,(_0x503574[_0xa241e5(0xa4)](_0x3d164f)||0x0)+0x1),_0x515269[_0xa241e5(0xd7)](_0x34f5e4['ToKAO'],{'transport':'playwright-cli','toolName':_0x3d164f}),_0x515269['trackPhaseEnd'](_0x34f5e4['ToKAO'],{'transport':'playwright-cli','toolName':_0x3d164f,'bashCommandPreview':truncatePreview(_0x53a9db)}),_0x3d164f!==_0x34f5e4[_0xa241e5(0x64)]&&console[_0xa241e5(0x71)](_0x34f5e4[_0xa241e5(0xde)](formatPlaywrightCliConsoleLogMessage,_0x63d38f,_0x53a9db,_0x3d164f)),{};},_0x4ede24=async _0x21fd28=>{const _0x2b65d8=_0x47f949;if(_0x34f5e4[_0x2b65d8(0x8c)](_0x21fd28[_0x2b65d8(0xaf)],'PostToolUseFailure'))return{};const _0x155bd8=_0x21fd28;if(_0x34f5e4['bqWOg'](_0x155bd8['tool_name'],_0x34f5e4['wudXP']))return{};return await _0x515269['trackPhaseError']('tool_failure',_0x155bd8['error'],{'transport':_0x34f5e4['YTqoG'],'toolName':_0x34f5e4[_0x2b65d8(0x8d)]}),{};};return{'postToolUseHook':_0x49b9ee,'postToolUseFailureHook':_0x4ede24,'commandCounts':_0x503574};}async function runPlaywrightCliLifecycleCommand(_0x768196){const _0x185b76=_0x1e5a,_0x43c52d={'lfvMK':function(_0x1168c7,_0x99c5a7){return _0x1168c7(_0x99c5a7);},'UmnHA':function(_0x627e8b,_0x2446d9,_0x1206d3){return _0x627e8b(_0x2446d9,_0x1206d3);},'xGvLh':function(_0xcc5136,_0x475947,_0xc94c95){return _0xcc5136(_0x475947,_0xc94c95);}},{sessionId:_0x50e6fa,configPath:_0x45c9a5,commandArgs:_0x5628f8,env:_0x5349a0,telemetry:_0x4309b7,phase:_0x36454c,metadata:_0x327e1a,timeoutMs:_0x188155}=_0x768196;_0x4309b7['trackPhaseStart'](_0x36454c,_0x327e1a);try{const _0x20c003=await _0x43c52d['lfvMK'](runPlaywrightCliCommand,{'sessionId':_0x50e6fa,'configPath':_0x45c9a5,'commandArgs':_0x5628f8,'cwd':process[_0x185b76(0x7e)](),'env':_0x5349a0,'timeoutMs':_0x188155??PLAYWRIGHT_CLI_COMMAND_TIMEOUT_MS});_0x4309b7['trackPhaseEnd'](_0x36454c,{..._0x327e1a,'subcommand':_0x20c003[_0x185b76(0xae)][_0x185b76(0x76)],'stdoutPreview':_0x43c52d[_0x185b76(0x7a)](truncatePreview,_0x20c003['stdout'],0x7d0),'stderrPreview':_0x43c52d[_0x185b76(0x6f)](truncatePreview,_0x20c003['stderr'],0x7d0)});}catch(_0x47e0cc){await _0x4309b7[_0x185b76(0x9f)](_0x36454c,_0x47e0cc,_0x327e1a);throw _0x47e0cc;}}export async function finalizeVerifyFeatureCliSession(_0x2b16b0){const _0x2f65d7=_0x1e5a,_0xcfcf3d={'WIWaz':'tracing-stop','qYuxJ':'playwright_cli_video_stop','UEYdb':'close'},{telemetry:_0x12ff6e,sessionId:_0x56beef,configPath:_0x3f0ef6,cliArtifactDir:_0x525564,env:_0x5a4c98,transportMetadata:_0x31e87e}=_0x2b16b0,_0xf5c427=[{'phase':_0x2f65d7(0x72),'commandArgs':[_0xcfcf3d[_0x2f65d7(0xbc)]]},{'phase':_0xcfcf3d['qYuxJ'],'commandArgs':[_0x2f65d7(0xb1),_0x2f65d7(0x9c)+buildCliArtifactPath(_0x525564,'session-recording.webm')]},{'phase':'playwright_cli_close','commandArgs':[_0xcfcf3d['UEYdb']]}];for(const _0x506eb9 of _0xf5c427){try{await runPlaywrightCliLifecycleCommand({'sessionId':_0x56beef,'configPath':_0x3f0ef6,'commandArgs':[..._0x506eb9[_0x2f65d7(0xd2)]],'env':_0x5a4c98,'telemetry':_0x12ff6e,'phase':_0x506eb9['phase'],'metadata':_0x31e87e});}catch{}}}export async function loadVerifyFeatureCliTraceUploadArtifact(_0x5c3214){const _0x1eeed0=_0x1e5a,_0x3640b3={'xBOjI':'trace.zip','eyaiL':function(_0xda1f2d,_0xbdca4f,_0x401a3c){return _0xda1f2d(_0xbdca4f,_0x401a3c);}},_0x3e6cb6=[_0x3640b3['xBOjI'],_0x1eeed0(0x89)];for(const _0x4a3b89 of _0x3e6cb6){const _0x41e9f5=_0x3640b3[_0x1eeed0(0xc9)](join,_0x5c3214,_0x4a3b89);try{return{'buffer':await readFile(_0x41e9f5),'source':_0x41e9f5};}catch{}}return null;}export async function rehomeVerifyFeatureCliArtifacts(_0x9f6189){const _0x17f974=_0x1e5a,_0x201a90={'lfiEw':function(_0x396fc1,_0x4ab804,_0x1738b2){return _0x396fc1(_0x4ab804,_0x1738b2);},'wBWsT':function(_0x3017de,_0x1d5ab5,_0x19bfb8){return _0x3017de(_0x1d5ab5,_0x19bfb8);},'yKTcz':function(_0xd6048d,_0x2e3dac,_0x395eb8){return _0xd6048d(_0x2e3dac,_0x395eb8);},'TALxk':function(_0x462023,_0x3698f7){return _0x462023(_0x3698f7);},'HqFAY':function(_0x42b675,_0x4f2f41){return _0x42b675<_0x4f2f41;},'uXhIG':function(_0x37be31,_0x373115){return _0x37be31+_0x373115;}},{cwd:_0x3a4ee3,cliArtifactDir:_0x430dce,startTime:_0x1229ff}=_0x9f6189,_0x1efddc=[];await _0x201a90['lfiEw'](mkdir,_0x430dce,{'recursive':!![]});const _0x4d46fa=await _0x201a90['wBWsT'](readdir,_0x3a4ee3,{'withFileTypes':!![]});for(const _0x42cc49 of _0x4d46fa){if(!_0x42cc49[_0x17f974(0x66)]()||!VERIFY_FEATURE_CLI_ARTIFACT_FILE_PATTERN['test'](_0x42cc49[_0x17f974(0xb8)]))continue;const _0xc8218c=_0x201a90[_0x17f974(0x79)](join,_0x3a4ee3,_0x42cc49[_0x17f974(0xb8)]),_0x13d45b=await _0x201a90['TALxk'](stat,_0xc8218c);if(_0x201a90['HqFAY'](_0x201a90[_0x17f974(0xcf)](_0x13d45b['mtimeMs'],0x7d0),_0x1229ff))continue;const _0x5da9c0=_0x201a90[_0x17f974(0x79)](buildCliArtifactPath,_0x430dce,_0x42cc49[_0x17f974(0xb8)]);if(_0xc8218c===_0x5da9c0)continue;await _0x201a90['wBWsT'](rename,_0xc8218c,_0x5da9c0),_0x1efddc['push'](_0x42cc49['name']);}return _0x1efddc[_0x17f974(0xc1)]();}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const _0x578347=_0x3e49;(function(_0x2ff244,_0x5c5b80){const _0x240f5f=_0x3e49,_0x27c499=_0x2ff244();while(!![]){try{const _0x402001=parseInt(_0x240f5f(0x127))/0x1*(parseInt(_0x240f5f(0x118))/0x2)+parseInt(_0x240f5f(0x152))/0x3*(parseInt(_0x240f5f(0x1ab))/0x4)+-parseInt(_0x240f5f(0x107))/0x5*(-parseInt(_0x240f5f(0x114))/0x6)+-parseInt(_0x240f5f(0x121))/0x7+-parseInt(_0x240f5f(0x1a9))/0x8*(parseInt(_0x240f5f(0x126))/0x9)+parseInt(_0x240f5f(0x15a))/0xa*(parseInt(_0x240f5f(0x1ad))/0xb)+-parseInt(_0x240f5f(0x194))/0xc*(parseInt(_0x240f5f(0x17c))/0xd);if(_0x402001===_0x5c5b80)break;else _0x27c499['push'](_0x27c499['shift']());}catch(_0x4d1977){_0x27c499['push'](_0x27c499['shift']());}}}(_0xd603,0xaf316));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';function _0xd603(){const _0x2ae5da=['eUwDU','content','jRnHx','session','`\x20using\x20absolute\x20paths\x20only.\x0a5.\x20Take\x20an\x20initial\x20snapshot:\x20`','capture\x20snapshot','cliArtifactDir','tool_input','gVWSy','YaZCo','00_initial-state.yml','fZXYN','padStart','WuqGd','`.\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`','`\x0a-\x20`','start','EawyU','key_final-state.png','trackPhaseEnd','\x0a\x0a##\x20Additional\x20Notes\x0a','stdout','-c:v','nova_act_artifact_recording','pop','-framerate','uzZxO','\x0a\x0aExamples:\x0a-\x20`','RoUUy','mCiuN','push','wait-for','ms-playwright','SGSIA','NheVZ','146874ZhxaAx','\x20screenshot\x20--output\x20','startScreencast','\x20session\x20create\x20','traceSampleInFlight','startTraceSampling','lIUMH','split','20ubHeTf','key_03_success-state.png','PMMZz','verify\x20page\x20condition','yJHuN','newCDPSession','DqpIN','`\x0a6.\x20Run\x20`','oNrcX','screencastStarted','length','reverse','frameWrites','nova_act_session_export','iAQVB','contexts','authorName','numeric','context','UYIhR','HpPVi','tOZhw','oSxSC','nova-user-data/*','frameSession','waGuV','session\x20create','browser','\x20(on\x20element:\x20<','command','pages','enOCS','tracingStarted','.act_cli','11585262LoafGx','now','MsNdo','verify','kCJfx','pqUTH','.cache','YIgZs','`.\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`','-loglevel','encodeScreencastVideo','\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','nova-video-frames','--report','Page.startScreencast','luhRA','trackPhaseStart','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_stop','captureTraceSample','nova-artifacts.zip','nova_act_command','\x0a\x0a##\x20Authentication\x0aBEFORE\x20starting\x20the\x20verification\x20task,\x20authenticate\x20using\x20these\x20steps:\x0a','hSfUj','12dPewLb','nova_act_command_failure','telemetry','UCfhv','Append\x20this\x20option\x20suffix\x20to\x20every\x20browser\x20command\x20unless\x20the\x20host\x20gives\x20a\x20more\x20specific\x20example:\x0a','libvpx-vp9','get','`.\x0a6.\x20Take\x20an\x20initial\x20screenshot:\x20`','sessionId','PostToolUse','toLocaleDateString','unaddressedComments','Reviewer','from','`\x0a\x0aAppend\x20this\x20option\x20suffix\x20to\x20browser\x20commands:\x0a','export\x20Nova\x20session','CcnZX','\x20snapshot\x20--output\x20','domRef','ask','goto','40nWWYUy','catch','28TayGse','gWFxy','7297796XmMGtB','state','xWYHt','transportMetadata','parse','invocation','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.','send','textContent','trackPhaseError','cwd','isFile','stopScreencast','startAttempted','yozty','frame-','stderr','frameCount','reBkY','tagName','name','01_initial.yml','02_final-state.yml','snapshot','then','Bash','lBWJN','hook_event_name','01_initial-state.png','ZPhHh','capture\x20snapshot\x20`','yCcOj','zip','en-US','novaOptions','sort','tool_name','ffmpeg.exe','Page.screencastFrame','mtimeMs','5275035qxpTcw','.json','flatMap','finally','`\x0a4.\x20Run\x20one\x20batched\x20`','`\x0a3.\x20Run\x20`','args','close','ffmpeg-mac','cdp_endpoint','\x20>\x20','\x0a\x0a##\x20Expected\x20Flow\x20(from\x20previous\x20verification)\x0a','locator','6wIUrWd','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','\x20execute\x20\x22...\x22`\x20command\x20to\x20exercise\x20the\x20current\x20page.\x0a5.\x20Run\x20`','traceSampleTimer','7082uAQSPt','params','join','FGoSO','LNHkx','traceSampleCount','\x20execute\x20\x221.\x20Open\x20the\x20account\x20settings\x20menu.\x202.\x20Click\x20Billing.\x203.\x20Wait\x20for\x20the\x20Billing\x20page\x20to\x20load.\x22\x20','getFrameDir','rpDOK','6393401JBHkld',']\x20**','stop','IrCqi','JmGbs','2384955asIVSf','317TrtPQr','GKwEI','wait\x20for\x20page\x20condition','bItLH','error','PreToolUse','body','ffmpeg-linux'];_0xd603=function(){return _0x2ae5da;};return _0xd603();}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([_0x578347(0x174),'execute','verify','ask',_0x578347(0x1a8),_0x578347(0x14e),'snapshot','screenshot']),execFileAsync=promisify(execFile);function buildCliArtifactPath(_0x3176c6,_0x3e9047){const _0x2e0ebc=_0x578347,_0x7175f8={'jRnHx':function(_0x5c8d9f,_0x1d039d,_0x514f22){return _0x5c8d9f(_0x1d039d,_0x514f22);}};return _0x7175f8[_0x2e0ebc(0x131)](join,_0x3176c6,_0x3e9047);}export class NovaActArtifactRecorder{['params'];['browser']=null;['context']=null;[_0x578347(0x172)]=null;[_0x578347(0x166)]=[];[_0x578347(0x1be)]=0x0;[_0x578347(0x11d)]=0x0;['traceSampleTimer']=null;['traceSampleInFlight']=null;['tracingStarted']=![];['screencastStarted']=![];['startAttempted']=![];['stopped']=![];constructor(_0xb2d59a){const _0x23dc86=_0x578347;this[_0x23dc86(0x119)]=_0xb2d59a;}async[_0x578347(0x13f)](){const _0x370f63=_0x578347,_0x14a24e={'LNHkx':function(_0x2c2dd0,_0x2b0999,_0x2bcabb){return _0x2c2dd0(_0x2b0999,_0x2bcabb);},'IRSzv':'nova_act_artifact_recording'};if(this[_0x370f63(0x1ba)])return;this['startAttempted']=!![];const _0xb5af6b=await this['readSessionMetadataWithRetry'](),_0x2a7e5f=_0xb5af6b['cdp_endpoint'];if(!_0x2a7e5f)throw new Error('Nova\x20session\x20metadata\x20did\x20not\x20include\x20cdp_endpoint\x20for\x20'+this['params']['novaOptions']['sessionId']);await _0x14a24e[_0x370f63(0x11c)](mkdir,this[_0x370f63(0x119)]['cliArtifactDir'],{'recursive':!![]}),this[_0x370f63(0x175)]=await chromium['connectOverCDP'](_0x2a7e5f,{'timeout':NOVA_ARTIFACT_CDP_CONNECT_TIMEOUT_MS}),this['context']=this[_0x370f63(0x175)][_0x370f63(0x169)]()[0x0]??null;if(!this['context'])throw new Error('Nova\x20CDP\x20connection\x20did\x20not\x20expose\x20a\x20browser\x20context');await this['context']['tracing'][_0x370f63(0x13f)]({'screenshots':!![],'snapshots':!![],'sources':!![]}),this[_0x370f63(0x17a)]=!![],this[_0x370f63(0x157)](),await this['startScreencast'](),this[_0x370f63(0x119)]['telemetry']['trackPhaseStart'](_0x14a24e['IRSzv'],{...this[_0x370f63(0x119)][_0x370f63(0x1b0)],'cdpEndpoint':_0x2a7e5f,'browserPid':_0xb5af6b['browser_pid'],'sessionState':_0xb5af6b[_0x370f63(0x1ae)]}),this['params']['telemetry'][_0x370f63(0x142)](_0x370f63(0x146),{...this['params']['transportMetadata'],'tracingStarted':this[_0x370f63(0x17a)],'screencastStarted':this[_0x370f63(0x163)]});}async['stop'](){const _0x2ece34=_0x578347,_0x21cb84={'BbHDg':function(_0x17e47f,_0x97376e,_0x38c3e6){return _0x17e47f(_0x97376e,_0x38c3e6);},'mJSyn':'trace.zip','mqenc':'nova_act_artifact_recording_stop'};if(this['stopped'])return;this['stopped']=!![];const _0x166355={...this[_0x2ece34(0x119)][_0x2ece34(0x1b0)],'frameCount':this[_0x2ece34(0x1be)],'traceSampleCount':this['traceSampleCount'],'tracingStarted':this[_0x2ece34(0x17a)],'screencastStarted':this['screencastStarted']};this[_0x2ece34(0x119)]['telemetry'][_0x2ece34(0x18c)]('nova_act_artifact_recording_stop',_0x166355);try{await this['stopTraceSampling'](),await this[_0x2ece34(0x18f)](),await this[_0x2ece34(0x1b9)](),await Promise['allSettled'](this[_0x2ece34(0x166)]);this['context']&&this['tracingStarted']&&await this['context']['tracing'][_0x2ece34(0x123)]({'path':_0x21cb84['BbHDg'](buildCliArtifactPath,this[_0x2ece34(0x119)]['cliArtifactDir'],_0x21cb84['mJSyn'])});const _0x101e81=await this['encodeScreencastVideo']();this[_0x2ece34(0x119)][_0x2ece34(0x196)][_0x2ece34(0x142)](_0x2ece34(0x18e),{..._0x166355,'videoPath':_0x101e81});}catch(_0x46ed7e){await this['params']['telemetry']['trackPhaseError'](_0x21cb84['mqenc'],_0x46ed7e,_0x166355);}finally{await this[_0x2ece34(0x175)]?.[_0x2ece34(0x10e)]()['catch'](()=>undefined),this[_0x2ece34(0x175)]=null,this['context']=null,this[_0x2ece34(0x172)]=null;}}async['readSessionMetadataWithRetry'](){const _0x4996dc=_0x578347,_0x68be6={'cQnMk':'sessions','lLDwZ':function(_0x390f3c,_0x332f8b){return _0x390f3c<_0x332f8b;},'hSfUj':function(_0x14893b,_0x49f341){return _0x14893b instanceof _0x49f341;}},_0x339701=join(homedir(),_0x4996dc(0x17b),_0x4996dc(0x175),_0x68be6['cQnMk'],this['params']['novaOptions'][_0x4996dc(0x19c)]+_0x4996dc(0x108)),_0x1e8c27=Date[_0x4996dc(0x17d)]();let _0x5cd485;do{try{const _0x1fe619=JSON[_0x4996dc(0x1b1)](await readFile(_0x339701,'utf-8'));if(_0x1fe619[_0x4996dc(0x110)])return _0x1fe619;_0x5cd485=new Error('Nova\x20metadata\x20missing\x20cdp_endpoint\x20at\x20'+_0x339701);}catch(_0x220627){_0x5cd485=_0x220627;}await delay(0x64);}while(_0x68be6['lLDwZ'](Date['now']()-_0x1e8c27,NOVA_ARTIFACT_METADATA_WAIT_MS));if(_0x68be6[_0x4996dc(0x193)](_0x5cd485,Error))throw _0x5cd485;throw new Error('Unable\x20to\x20read\x20Nova\x20session\x20metadata\x20at\x20'+_0x339701);}async[_0x578347(0x154)](){const _0x540c87=_0x578347,_0x1c0faa={'JmGbs':_0x540c87(0x18a)};if(!this[_0x540c87(0x16c)])return;const _0x1aa825=this[_0x540c87(0x16c)]['pages']()[0x0];if(!_0x1aa825)return;const _0x24e706=this[_0x540c87(0x11f)]();await mkdir(_0x24e706,{'recursive':!![]});const _0x20971=await this[_0x540c87(0x16c)][_0x540c87(0x15f)](_0x1aa825);this['frameSession']=_0x20971,_0x20971['on'](_0x540c87(0x105),_0x52be34=>{const _0x5b9cfb=_0x540c87,_0x1dfa20=++this[_0x5b9cfb(0x1be)],_0x955680=join(_0x24e706,_0x5b9cfb(0x1bc)+String(_0x1dfa20)[_0x5b9cfb(0x13b)](0x6,'0')+'.jpg'),_0x1bc631=writeFile(_0x955680,Buffer[_0x5b9cfb(0x1a1)](_0x52be34['data'],'base64'))['catch'](()=>undefined)[_0x5b9cfb(0x10a)](()=>_0x20971[_0x5b9cfb(0x1b4)]('Page.screencastFrameAck',{'sessionId':_0x52be34['sessionId']}))[_0x5b9cfb(0x1c5)](()=>undefined)['catch'](()=>undefined);this['frameWrites'][_0x5b9cfb(0x14d)](_0x1bc631);}),await _0x20971[_0x540c87(0x1b4)](_0x1c0faa[_0x540c87(0x125)],{'format':'jpeg','quality':0x4b,'everyNthFrame':0x6}),this[_0x540c87(0x163)]=!![];}async['stopScreencast'](){const _0x244d79=_0x578347;if(!this['frameSession']||!this['screencastStarted'])return;await this[_0x244d79(0x172)][_0x244d79(0x1b4)]('Page.stopScreencast')['catch'](()=>undefined);}['startTraceSampling'](){this['queueTraceSample'](),this['traceSampleTimer']=setInterval(()=>this['queueTraceSample'](),NOVA_ARTIFACT_TRACE_SAMPLE_INTERVAL_MS);}['queueTraceSample'](){const _0x563a58=_0x578347;if(this['traceSampleInFlight'])return;this['traceSampleInFlight']=this['captureTraceSample']()[_0x563a58(0x10a)](()=>{this['traceSampleInFlight']=null;});}async['stopTraceSampling'](){const _0x16b036=_0x578347,_0x4bbb02={'WuqGd':function(_0x59148e,_0x268195){return _0x59148e(_0x268195);}};this[_0x16b036(0x117)]&&(_0x4bbb02[_0x16b036(0x13c)](clearInterval,this['traceSampleTimer']),this[_0x16b036(0x117)]=null),await this[_0x16b036(0x156)]?.[_0x16b036(0x1aa)](()=>undefined);}async[_0x578347(0x18f)](){const _0x58a3db=_0x578347,_0x493cd2={'SpnPP':_0x58a3db(0x12d)},_0x3d93f4=this[_0x58a3db(0x16c)]?.[_0x58a3db(0x178)]()[0x0];if(!_0x3d93f4)return;try{await _0x3d93f4[_0x58a3db(0x113)](_0x493cd2['SpnPP'])['evaluate'](_0x5f0bfb=>_0x5f0bfb[_0x58a3db(0x1c0)],undefined,{'timeout':0x3e8}),this['traceSampleCount']++;}catch{}}async[_0x578347(0x186)](){const _0x47d854=_0x578347,_0x8e9c9={'kMeLR':'videos','yCcOj':function(_0x43628c,_0x3e2eb2,_0x43d0a3){return _0x43628c(_0x3e2eb2,_0x43d0a3);},'SIbqJ':'-hide_banner','eUwDU':_0x47d854(0x148),'CHZXl':'frame-%06d.jpg','FGoSO':'-vf','EawyU':'scale=trunc(iw/2)*2:trunc(ih/2)*2','NheVZ':_0x47d854(0x145),'TgOtP':_0x47d854(0x199)};if(this['frameCount']<0x2)return null;const _0x91e55d=await resolveFfmpegPath();if(!_0x91e55d)return null;const _0xa9e356=join(this['params'][_0x47d854(0x135)],_0x8e9c9['kMeLR']);await mkdir(_0xa9e356,{'recursive':!![]});const _0x235f76=join(_0xa9e356,'session-recording.webm');return await _0x8e9c9[_0x47d854(0xfe)](execFileAsync,_0x91e55d,['-y',_0x8e9c9['SIbqJ'],_0x47d854(0x185),'error',_0x8e9c9[_0x47d854(0x12f)],'10','-i',join(this['getFrameDir'](),_0x8e9c9['CHZXl']),_0x8e9c9[_0x47d854(0x11b)],_0x8e9c9[_0x47d854(0x140)],_0x8e9c9[_0x47d854(0x151)],_0x8e9c9['TgOtP'],'-pix_fmt','yuv420p',_0x235f76]),_0x235f76;}['getFrameDir'](){const _0x5c4107=_0x578347,_0x3fbea2={'yvcuc':function(_0x4c30c6,_0x5b70dd,_0x2fb3af){return _0x4c30c6(_0x5b70dd,_0x2fb3af);}};return _0x3fbea2['yvcuc'](join,this[_0x5c4107(0x119)][_0x5c4107(0x135)],_0x5c4107(0x188));}}function _0x3e49(_0x3b4bf4,_0x9cebd2){_0x3b4bf4=_0x3b4bf4-0xfc;const _0xd60313=_0xd603();let _0x3e49b4=_0xd60313[_0x3b4bf4];return _0x3e49b4;}async function delay(_0x4604ea){await new Promise(_0x59b22d=>setTimeout(_0x59b22d,_0x4604ea));}async function resolveFfmpegPath(){const _0x59b7ff=_0x578347,_0x1c9ce9={'xWYHt':'ffmpeg','YfitQ':function(_0x73b9c2,_0x4497d3,_0x1cfe75,_0x101033,_0x415381){return _0x73b9c2(_0x4497d3,_0x1cfe75,_0x101033,_0x415381);},'yozty':function(_0x434946){return _0x434946();},'DsDum':'Library','rltCR':'Caches','lBWJN':function(_0x5f330d,_0x532c73,_0x36d46b,_0x5eb9b8){return _0x5f330d(_0x532c73,_0x36d46b,_0x5eb9b8);},'UCfhv':_0x59b7ff(0x14f),'tOZhw':function(_0x4e5f88,_0x1ec84b){return _0x4e5f88(_0x1ec84b);},'FwwUK':function(_0x7b3317,_0x4e55b2){return _0x7b3317(_0x4e55b2);}};if(await canRunFfmpeg(_0x1c9ce9['xWYHt']))return _0x1c9ce9[_0x59b7ff(0x1af)];const _0x21a61f=[_0x1c9ce9['YfitQ'](join,_0x1c9ce9[_0x59b7ff(0x1bb)](homedir),_0x1c9ce9['DsDum'],_0x1c9ce9['rltCR'],_0x59b7ff(0x14f)),_0x1c9ce9[_0x59b7ff(0x1c7)](join,homedir(),_0x59b7ff(0x182),_0x1c9ce9[_0x59b7ff(0x197)])];for(const _0x177928 of _0x21a61f){try{const _0x549355=await _0x1c9ce9[_0x59b7ff(0x16f)](readdir,_0x177928),_0x28c86e=_0x549355['filter'](_0x2c2a3f=>_0x2c2a3f['startsWith']('ffmpeg-'))[_0x59b7ff(0x102)]()[_0x59b7ff(0x165)]()[_0x59b7ff(0x109)](_0x4c3b1b=>[join(_0x177928,_0x4c3b1b,_0x59b7ff(0x10f)),join(_0x177928,_0x4c3b1b,_0x59b7ff(0x12e)),join(_0x177928,_0x4c3b1b,_0x59b7ff(0x104))]);for(const _0x20efd0 of _0x28c86e){if(await _0x1c9ce9['FwwUK'](canRunFfmpeg,_0x20efd0))return _0x20efd0;}}catch{}}return null;}async function canRunFfmpeg(_0x4bef22){const _0x464829=_0x578347,_0x3b93d4={'oNrcX':'-version'};try{return await execFileAsync(_0x4bef22,[_0x3b93d4[_0x464829(0x162)]]),!![];}catch{return![];}}function toStepDisplayName(_0x25bae3){const _0x5f1303=_0x578347,_0x44b0f2={'iAQVB':function(_0x4e139d,_0x46d98b){return _0x4e139d(_0x46d98b);}},_0x1b0658=basename(_0x25bae3)['replace'](/\.(?:png|ya?ml)$/i,'')['replace'](/^key_/i,'')['replace'](/^\d+_/,'')['replace'](/-/g,'\x20');return{'name':_0x1b0658,'isKeyStep':/^key_/i['test'](_0x44b0f2[_0x5f1303(0x168)](basename,_0x25bae3))};}function extractShellValue(_0x2cdf6c){if(!_0x2cdf6c)return null;return _0x2cdf6c[0x1]??_0x2cdf6c[0x2]??_0x2cdf6c[0x3]??null;}function extractOutputOption(_0x3187c4){return extractShellValue(_0x3187c4['match'](/--output(?:=|\s+)(?:"([^"]+)"|'([^']+)'|(\S+))/));}function formatNovaActCliLog(_0xc4eeeb,_0x123c97){const _0x33615d=_0x578347,_0x5920f6={'wgpOU':_0x33615d(0x17f),'lIUMH':_0x33615d(0x15d),'HwhPi':'goto','fZXYN':'navigate\x20browser','KmQLf':'wait-for','DqpIN':_0x33615d(0x134),'RoUUy':function(_0x1026a9,_0x339bd9){return _0x1026a9(_0x339bd9);},'gVWSy':'session\x20export','YaZCo':_0x33615d(0x1a3)};switch(_0x123c97){case'session\x20create':return'create\x20Nova\x20browser\x20session';case'execute':return'execute\x20Nova\x20browser\x20action';case _0x5920f6['wgpOU']:return _0x5920f6[_0x33615d(0x158)];case _0x33615d(0x1a7):return'ask\x20page\x20question';case _0x5920f6['HwhPi']:return _0x5920f6[_0x33615d(0x13a)];case _0x5920f6['KmQLf']:return _0x33615d(0x129);case _0x33615d(0x1c4):{const _0x209124=extractOutputOption(_0xc4eeeb);if(!_0x209124)return _0x5920f6[_0x33615d(0x160)];const {name:_0x1b596e}=_0x5920f6['RoUUy'](toStepDisplayName,_0x209124);return _0x33615d(0xfd)+_0x1b596e+'`';}case'screenshot':{const _0x1c141d=_0x5920f6[_0x33615d(0x14b)](extractOutputOption,_0xc4eeeb);if(!_0x1c141d)return'capture\x20screenshot';const {name:_0x19d593,isKeyStep:_0x3274b2}=_0x5920f6[_0x33615d(0x14b)](toStepDisplayName,_0x1c141d);return _0x3274b2?'capture\x20key\x20step\x20`'+_0x19d593+'`':'capture\x20step\x20`'+_0x19d593+'`';}case _0x5920f6[_0x33615d(0x137)]:return _0x5920f6[_0x33615d(0x138)];default:return _0x123c97;}}function getNovaActCliCommandBlockReason(_0x4a2c47){const _0x43b15c=_0x578347,_0x3c1c18={'FZUBC':function(_0x6818d2,_0xb22fbb){return _0x6818d2(_0xb22fbb);},'awINo':function(_0x52b877,_0x3c7811){return _0x52b877===_0x3c7811;},'yJHuN':_0x43b15c(0x17f),'ytNsl':'Do\x20not\x20run\x20Nova\x20help,\x20doctor,\x20script,\x20session\x20list,\x20session\x20export,\x20or\x20session\x20close\x20commands\x20during\x20verification.'},_0x2d51bf=_0x3c1c18['FZUBC'](parseNovaActCliCommand,_0x4a2c47);if(!_0x2d51bf)return'Use\x20only\x20the\x20provided\x20Nova\x20browser\x20command\x20prefix\x20for\x20browser\x20verification.\x20Do\x20not\x20inspect\x20setup,\x20credentials,\x20files,\x20or\x20the\x20local\x20environment.';if(!NOVA_ACT_ALLOWED_AGENT_COMMANDS['has'](_0x2d51bf))return'Nova\x20command\x20`'+_0x2d51bf+'`\x20is\x20reserved\x20for\x20the\x20host.\x20Use\x20only\x20session\x20create,\x20execute,\x20verify,\x20ask,\x20goto,\x20wait-for,\x20snapshot,\x20and\x20screenshot.';if(_0x3c1c18['awINo'](_0x2d51bf,_0x3c1c18[_0x43b15c(0x15e)])&&/\b(?:previously visited|visited pages|pages visited|at least one of the pages visited)\b/i['test'](_0x4a2c47))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/['test'](_0x4a2c47))return _0x3c1c18['ytNsl'];return null;}function buildFeedbackSection(_0x19eca8){const _0x2f71b4=_0x578347,_0x346d15={'LcJUA':'short','CcnZX':_0x2f71b4(0x16b),'MIyyM':function(_0x24fd74,_0x5c1d7d){return _0x24fd74===_0x5c1d7d;}};if(!_0x19eca8||_0x346d15['MIyyM'](_0x19eca8['unaddressedComments'][_0x2f71b4(0x164)],0x0))return'';const _0x3e8480=_0x19eca8[_0x2f71b4(0x19f)]['map'](_0x2abd68=>{const _0x53e3d2=_0x2f71b4,_0x191925=new Date(_0x2abd68['createdAt'])[_0x53e3d2(0x19e)](_0x53e3d2(0x100),{'month':_0x346d15['LcJUA'],'day':_0x346d15[_0x53e3d2(0x1a4)]}),_0x283fda=_0x2abd68[_0x53e3d2(0x16a)]||_0x2abd68['authorEmail']||_0x53e3d2(0x1a0),_0x3f0e47=_0x2abd68[_0x53e3d2(0x1a6)]?_0x53e3d2(0x176)+(_0x2abd68['domRef']['selector'][_0x53e3d2(0x159)](_0x53e3d2(0x111))[_0x53e3d2(0x147)]()?.['split'](':')[0x0]||'element')+'>\x20\x22'+(_0x2abd68['domRef'][_0x53e3d2(0x1b5)]||'')['slice'](0x0,0x32)+'\x22)':'';return'-\x20['+_0x2abd68['id']+_0x53e3d2(0x122)+_0x283fda+'**\x20('+_0x191925+'):\x20\x22'+_0x2abd68[_0x53e3d2(0x130)]+'\x22'+_0x3f0e47;})[_0x2f71b4(0x11a)]('\x0a');return _0x2f71b4(0x187)+_0x3e8480;}function buildNovaSharedOptionsInstruction(_0x4f0963){const _0x49c8ed=_0x578347;if(!_0x4f0963['trim']())return _0x49c8ed(0x1b3);return _0x49c8ed(0x198)+_0x4f0963;}export function buildVerifyFeatureNovaCliDebugPrompt(_0x2728b3){const _0x1075df=_0x578347,_0x3bfa21={'waGuV':_0x1075df(0x1c3),'pqUTH':function(_0x314695,_0x2ebb51,_0x25ff87){return _0x314695(_0x2ebb51,_0x25ff87);},'dKzzz':function(_0x439cac,_0x3b5547){return _0x439cac(_0x3b5547);}},{novaCommandPrefix:_0x1e23a4,novaSharedOptionsSuffix:_0x397766,cliArtifactDir:_0x40600e,url:_0x39b7a8}=_0x2728b3,_0x3b9039=buildCliArtifactPath(_0x40600e,_0x1075df(0x139)),_0x5b2709=buildCliArtifactPath(_0x40600e,_0x1075df(0x1c9)),_0x4b452e=buildCliArtifactPath(_0x40600e,_0x3bfa21[_0x1075df(0x173)]),_0x5f4a3d=_0x3bfa21[_0x1075df(0x181)](buildCliArtifactPath,_0x40600e,'03_final-state.png');return _0x1075df(0x115)+_0x1e23a4+'\x0a\x0a'+_0x3bfa21['dKzzz'](buildNovaSharedOptionsInstruction,_0x397766)+'\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`'+_0x1e23a4+'\x20session\x20create\x20'+_0x3bfa21['dKzzz'](quoteShellArg,_0x39b7a8)+'\x20'+_0x397766+'`\x0a2.\x20Run\x20`'+_0x1e23a4+_0x1075df(0x1a5)+_0x3bfa21['dKzzz'](quoteShellArg,_0x3b9039)+'\x20'+_0x397766+_0x1075df(0x10c)+_0x1e23a4+_0x1075df(0x153)+_0x3bfa21['dKzzz'](quoteShellArg,_0x5b2709)+'\x20'+_0x397766+_0x1075df(0x10b)+_0x1e23a4+_0x1075df(0x116)+_0x1e23a4+'\x20snapshot\x20--output\x20'+quoteShellArg(_0x4b452e)+'\x20'+_0x397766+_0x1075df(0x161)+_0x1e23a4+_0x1075df(0x153)+_0x3bfa21['dKzzz'](quoteShellArg,_0x5f4a3d)+'\x20'+_0x397766+'`\x0a7.\x20Return\x20immediately\x20with\x20the\x20structured\x20output.\x0a\x0aSave\x20every\x20artifact\x20under\x20`'+_0x40600e+'`\x20using\x20absolute\x20paths\x20only.\x0aReturn\x20your\x20findings\x20in\x20the\x20structured\x20output\x20format.';}export function buildVerifyFeatureNovaCliPrompt(_0x573fc9){const _0x311041=_0x578347,_0x31d49e={'UYIhR':function(_0x2ea172,_0x15c0e4){return _0x2ea172(_0x15c0e4);},'MsNdo':function(_0x3541c7,_0x91e4d8,_0x2e49ae){return _0x3541c7(_0x91e4d8,_0x2e49ae);},'TioKc':_0x311041(0x15b),'enOCS':'`<none;\x20the\x20command\x20prefix\x20injects\x20shared\x20options>`'},{checklistItem:_0x285b51,itemFeedback:_0x253d2f,taskDescription:_0x41df73,novaCommandPrefix:_0x494109,novaSharedOptionsSuffix:_0x35b020,cliArtifactDir:_0x15a506,url:_0x4b0898,loginInstructions:_0x562b19}=_0x573fc9,_0x4f36a1=_0x285b51['notes']?_0x311041(0x143)+_0x285b51['notes']:'',_0x2defec=_0x31d49e[_0x311041(0x16d)](buildFeedbackSection,_0x253d2f),_0x4d4abb=_0x253d2f?.['canonicalFlow']?_0x311041(0x112)+_0x253d2f['canonicalFlow']:'',_0x29762e=_0x562b19?_0x311041(0x192)+_0x562b19+'\x0a\x0aIf\x20authentication\x20fails,\x20return\x20evaluation\x20\x22blocked\x22\x20and\x20describe\x20the\x20auth\x20failure.':'',_0x5cfd22=buildCliArtifactPath(_0x15a506,_0x311041(0x1c2)),_0x2178ac=buildCliArtifactPath(_0x15a506,'01_initial-state.png'),_0x23ce0e=_0x31d49e[_0x311041(0x17e)](buildCliArtifactPath,_0x15a506,_0x31d49e['TioKc']);return _0x311041(0x18d)+_0x285b51['description']+_0x4f36a1+_0x2defec+_0x4d4abb+'\x0a\x0a##\x20Task\x20to\x20Execute\x0a'+_0x41df73+'\x0a\x0a##\x20App\x20Context\x0aYour\x20base\x20URL\x20is:\x20'+_0x4b0898+'\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'+_0x29762e+'\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`'+_0x494109+_0x311041(0x155)+_0x31d49e['UYIhR'](quoteShellArg,_0x4b0898)+'\x20'+_0x35b020+'`.\x0a4.\x20Save\x20every\x20snapshot\x20and\x20screenshot\x20under\x20`'+_0x15a506+_0x311041(0x133)+_0x494109+'\x20snapshot\x20--output\x20'+quoteShellArg(_0x5cfd22)+'\x20'+_0x35b020+_0x311041(0x19b)+_0x494109+_0x311041(0x153)+quoteShellArg(_0x2178ac)+'\x20'+_0x35b020+_0x311041(0x184)+_0x23ce0e+_0x311041(0x13d)+_0x494109+_0x311041(0x1a2)+(_0x35b020['trim']()?'`'+_0x35b020+'`':_0x31d49e[_0x311041(0x179)])+'\x0a\x0a'+_0x31d49e['UYIhR'](buildNovaSharedOptionsInstruction,_0x35b020)+_0x311041(0x14a)+_0x494109+_0x311041(0x11e)+_0x35b020+_0x311041(0x13e)+_0x494109+'\x20verify\x20\x22The\x20Billing\x20page\x20is\x20visible\x20and\x20shows\x20the\x20current\x20plan.\x22\x20'+_0x35b020+_0x311041(0x13e)+_0x494109+'\x20snapshot\x20--output\x20'+_0x31d49e['UYIhR'](quoteShellArg,_0x5cfd22)+'\x20'+_0x35b020+'`\x0a-\x20`'+_0x494109+'\x20screenshot\x20--output\x20'+_0x31d49e['UYIhR'](quoteShellArg,_0x23ce0e)+'\x20'+_0x35b020+'`\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(_0x27e62a){const _0x2e23d9=_0x578347,_0x27dce3={'ADcFT':function(_0xd14458,_0x3a557b){return _0xd14458===_0x3a557b;}},_0x39dc96=[..._0x27e62a['keys']()][_0x2e23d9(0x102)]();let _0x4643f0=0x0;for(const _0x190cef of _0x27e62a['values']()){_0x4643f0+=_0x190cef;}return{'cliCommandCount':_0x4643f0,'cliCommandsSeen':_0x39dc96,'noCliCommandsCalled':_0x27dce3['ADcFT'](_0x4643f0,0x0)};}export function createVerifyFeatureNovaCliHooks(_0x295ade,_0x373f67){const _0x3cbdac=_0x578347,_0x127fa3={'OdXFM':function(_0x1e6faa,_0x212793){return _0x1e6faa!==_0x212793;},'gWFxy':_0x3cbdac(0x1c6),'bFTsi':'block','NOoyy':function(_0xcd40da,_0xaf5278){return _0xcd40da!==_0xaf5278;},'uzZxO':function(_0x8dda19,_0x5531b1){return _0x8dda19(_0x5531b1);},'nhmuH':_0x3cbdac(0x191),'gQluQ':function(_0x51d10f,_0x100a3e,_0x25e3d3){return _0x51d10f(_0x100a3e,_0x25e3d3);},'vMdli':'session\x20create','FzEUY':'nova_act_artifact_recording','iGUoT':function(_0x296180,_0x1fe8f1){return _0x296180!==_0x1fe8f1;},'YIgZs':_0x3cbdac(0x195)},_0x5bfe31=new Map(),_0x514c37=async _0x1cbd46=>{const _0x2d6251=_0x3cbdac;if(_0x127fa3['OdXFM'](_0x1cbd46[_0x2d6251(0x1c8)],_0x2d6251(0x12c)))return{};const _0x5c3b85=_0x1cbd46;if(_0x5c3b85[_0x2d6251(0x103)]!==_0x127fa3[_0x2d6251(0x1ac)])return{};const _0x1ded9a=_0x5c3b85[_0x2d6251(0x136)],_0x338850=extractBashCommand(_0x1ded9a);if(!_0x338850)return{};const _0x490241=getNovaActCliCommandBlockReason(_0x338850);if(!_0x490241)return{};return{'decision':_0x127fa3['bFTsi'],'reason':_0x490241};},_0x5bfb25=async _0xa631f9=>{const _0x5266ce=_0x3cbdac;if(_0x127fa3['NOoyy'](_0xa631f9['hook_event_name'],_0x5266ce(0x19d)))return{};const _0x25467e=_0xa631f9;if(_0x25467e['tool_name']!==_0x127fa3[_0x5266ce(0x1ac)])return{};const _0x5bd291=_0x25467e['tool_input'],_0x2f5811=_0x127fa3[_0x5266ce(0x149)](extractBashCommand,_0x5bd291);if(!_0x2f5811)return{};const _0x4df0a2=_0x127fa3[_0x5266ce(0x149)](parseNovaActCliCommand,_0x2f5811);if(!_0x4df0a2)return{};_0x5bfe31['set'](_0x4df0a2,(_0x5bfe31[_0x5266ce(0x19a)](_0x4df0a2)||0x0)+0x1),_0x295ade[_0x5266ce(0x18c)](_0x5266ce(0x191),{'subcommand':_0x4df0a2}),_0x295ade[_0x5266ce(0x142)](_0x127fa3['nhmuH'],{'subcommand':_0x4df0a2,'commandPreview':previewNovaActCliCommand(_0x2f5811)}),console['log']('[nova-act-cli]\x20'+_0x127fa3['gQluQ'](formatNovaActCliLog,_0x2f5811,_0x4df0a2));if(_0x4df0a2===_0x127fa3['vMdli']&&_0x373f67)try{await _0x373f67['start']();}catch(_0x473d17){await _0x295ade['trackPhaseError'](_0x127fa3['FzEUY'],_0x473d17,{'transport':'nova-act-cli'});}return{};},_0x3ac2f1=async _0x574b0f=>{const _0x3ac46f=_0x3cbdac;if(_0x127fa3['iGUoT'](_0x574b0f['hook_event_name'],'PostToolUseFailure'))return{};const _0x110746=_0x574b0f;if(_0x127fa3['NOoyy'](_0x110746[_0x3ac46f(0x103)],_0x3ac46f(0x1c6)))return{};return await _0x295ade['trackPhaseError'](_0x127fa3[_0x3ac46f(0x183)],_0x110746[_0x3ac46f(0x12b)],{'transport':'nova-act-cli','toolName':_0x127fa3['gWFxy']}),{};};return{'preToolUseHook':_0x514c37,'postToolUseHook':_0x5bfb25,'postToolUseFailureHook':_0x3ac2f1,'commandCounts':_0x5bfe31};}async function runNovaLifecycleCommand(_0x49a6c2){const _0x541c08=_0x578347,_0x1b7a1f={'LWqqe':function(_0x49fcb3,_0x45ed28){return _0x49fcb3??_0x45ed28;},'kCJfx':function(_0x7658bc,_0x41df6e){return _0x7658bc(_0x41df6e);}},{novaOptions:_0x834d89,commandArgs:_0x4dd019,telemetry:_0x12836d,phase:_0x46f364,metadata:_0x321fb5,timeoutMs:_0x36ed37}=_0x49a6c2;_0x12836d[_0x541c08(0x18c)](_0x46f364,_0x321fb5);try{const _0x384058=await runNovaActCliCommand({..._0x834d89,'commandArgs':_0x4dd019,'cwd':process[_0x541c08(0x1b7)](),'env':process['env'],'timeoutMs':_0x1b7a1f['LWqqe'](_0x36ed37,NOVA_ACT_CLI_COMMAND_TIMEOUT_MS)});_0x12836d['trackPhaseEnd'](_0x46f364,{..._0x321fb5,'subcommand':_0x384058[_0x541c08(0x1b2)]['subcommand'],'commandPreview':_0x1b7a1f['kCJfx'](previewNovaActCliCommand,_0x384058[_0x541c08(0x1b2)]['shellCommand']),'stdoutPreview':previewNovaActCliCommand(_0x384058['stdout']),'stderrPreview':previewNovaActCliCommand(_0x384058[_0x541c08(0x1bd)]),'logDir':_0x1b7a1f[_0x541c08(0x180)](extractNovaActLogDir,_0x384058[_0x541c08(0x144)])});}catch(_0x424ad5){await _0x12836d[_0x541c08(0x1b6)](_0x46f364,_0x424ad5,_0x321fb5);throw _0x424ad5;}}export async function finalizeVerifyFeatureNovaCliSession(_0x416b14){const _0x4ebc6e=_0x578347,_0x528cdd={'bItLH':'nova_act_final_screenshot','RiZmY':'--output','PMMZz':'snapshot','reBkY':'export','IrCqi':'--format','ZPhHh':'json','NxvMu':_0x4ebc6e(0x189),'VffcS':'nova-report','HpPVi':'nova_act_session_close','ZQVuu':_0x4ebc6e(0x132),'rpDOK':_0x4ebc6e(0x10e),'bRuAZ':function(_0x37b939,_0x4b78a2){return _0x37b939===_0x4b78a2;}},{telemetry:_0x15c7d8,novaOptions:_0x2b0c35,cliArtifactDir:_0x4f8b1c,transportMetadata:_0xa9bf38,artifactRecorder:_0x3858e2}=_0x416b14,_0x16d349=[{'phase':_0x528cdd[_0x4ebc6e(0x12a)],'commandArgs':['screenshot',_0x528cdd['RiZmY'],buildCliArtifactPath(_0x4f8b1c,_0x4ebc6e(0x141))]},{'phase':'nova_act_final_snapshot','commandArgs':[_0x528cdd[_0x4ebc6e(0x15c)],'--output',buildCliArtifactPath(_0x4f8b1c,'final-state.yaml')]},{'phase':_0x4ebc6e(0x167),'commandArgs':[_0x4ebc6e(0x132),_0x528cdd[_0x4ebc6e(0x1bf)],_0x528cdd[_0x4ebc6e(0x124)],_0x528cdd[_0x4ebc6e(0xfc)],_0x528cdd['RiZmY'],buildCliArtifactPath(_0x4f8b1c,'nova-session-export.json')]},{'phase':'nova_act_session_report','commandArgs':[_0x4ebc6e(0x132),_0x528cdd['reBkY'],_0x528cdd['NxvMu'],'--output-dir',buildCliArtifactPath(_0x4f8b1c,_0x528cdd['VffcS'])]},{'phase':_0x528cdd[_0x4ebc6e(0x16e)],'commandArgs':[_0x528cdd['ZQVuu'],_0x528cdd[_0x4ebc6e(0x120)]]}];for(const _0x1c021a of _0x16d349){_0x528cdd['bRuAZ'](_0x1c021a['phase'],_0x528cdd['HpPVi'])&&await _0x3858e2?.[_0x4ebc6e(0x123)]();try{await runNovaLifecycleCommand({'novaOptions':_0x2b0c35,'commandArgs':[..._0x1c021a['commandArgs']],'telemetry':_0x15c7d8,'phase':_0x1c021a['phase'],'metadata':_0xa9bf38});}catch{}}}export async function harvestVerifyFeatureNovaCliArtifacts(_0x235f55){const _0x1bbe50=_0x578347,_0x15d3a1={'luhRA':function(_0x2db038,_0xd81684){return _0x2db038===_0xd81684;}},{cwd:_0x4a1be1,cliArtifactDir:_0x9149d8,startTime:_0x3e2f40}=_0x235f55,_0x5bef5f=[];await mkdir(_0x9149d8,{'recursive':!![]});const _0x298922=await readdir(_0x4a1be1,{'withFileTypes':!![]});for(const _0x27838a of _0x298922){if(!_0x27838a[_0x1bbe50(0x1b8)]()||!VERIFY_FEATURE_NOVA_ARTIFACT_FILE_PATTERN['test'](_0x27838a[_0x1bbe50(0x1c1)]))continue;const _0x213759=join(_0x4a1be1,_0x27838a['name']),_0x527897=await stat(_0x213759);if(_0x527897[_0x1bbe50(0x106)]+0x7d0<_0x3e2f40)continue;const _0x505912=buildCliArtifactPath(_0x9149d8,_0x27838a[_0x1bbe50(0x1c1)]);if(_0x15d3a1[_0x1bbe50(0x18b)](_0x213759,_0x505912))continue;await rename(_0x213759,_0x505912),_0x5bef5f['push'](_0x27838a['name']);}return _0x5bef5f['sort']();}export async function loadVerifyFeatureNovaTraceUploadArtifact(_0x3f58aa){const _0x2ac076=_0x578347,_0x2a72f6={'GKwEI':function(_0x48fc5b,_0x3645b2,_0x38ce0d){return _0x48fc5b(_0x3645b2,_0x38ce0d);},'mCiuN':function(_0x43a4cf,_0x1cc00b){return _0x43a4cf(_0x1cc00b);}},_0x351eb8=_0x2a72f6[_0x2ac076(0x128)](join,_0x3f58aa,'trace.zip');try{return{'buffer':await _0x2a72f6[_0x2ac076(0x14c)](readFile,_0x351eb8),'source':_0x351eb8};}catch{return{'buffer':await zipVerifyFeatureNovaArtifacts(_0x3f58aa),'source':_0x3f58aa};}}async function zipVerifyFeatureNovaArtifacts(_0x2726c8){const _0x412db5=_0x578347,_0x1fd80a={'oSxSC':function(_0x371bcb,_0x202d64,_0x3d2e40,_0x22545c){return _0x371bcb(_0x202d64,_0x3d2e40,_0x22545c);},'LFsBD':_0x412db5(0xff),'cjfvI':'-qr','vqYNm':function(_0x524c65,_0x4c90a7,_0x1b02e2){return _0x524c65(_0x4c90a7,_0x1b02e2);}},_0x17cc26=join(_0x2726c8,'..',_0x412db5(0x190));try{return await _0x1fd80a[_0x412db5(0x170)](execFileAsync,_0x1fd80a['LFsBD'],[_0x1fd80a['cjfvI'],_0x17cc26,'.','-x',_0x412db5(0x171)],{'cwd':_0x2726c8}),await readFile(_0x17cc26);}finally{await _0x1fd80a['vqYNm'](rm,_0x17cc26,{'force':!![]});}}export function buildNovaActCliDiagnostics(_0x2ee44c){const _0x190185=_0x578347,_0x31aeb3={'SGSIA':function(_0x5cecd4,_0x441a6,_0x8162ca){return _0x5cecd4(_0x441a6,_0x8162ca);}},_0x5976b1=_0x31aeb3[_0x190185(0x150)](buildNovaActCliInvocation,_0x2ee44c[_0x190185(0x101)],_0x2ee44c['commandArgs']);return{'command':_0x5976b1[_0x190185(0x177)],'args':_0x5976b1[_0x190185(0x10d)],'commandPreview':previewNovaActCliCommand(_0x5976b1['shellCommand']),'subcommand':_0x5976b1['subcommand'],'sharedOptionsSuffix':_0x31aeb3[_0x190185(0x150)](buildNovaActCliSharedOptionsSuffix,_0x2ee44c['novaOptions'],_0x2ee44c['commandArgs'])};}
|
|
1
|
+
const _0x591d40=_0x16e9;(function(_0x19959f,_0x164d98){const _0xbc6fe7=_0x16e9,_0x1c5bfc=_0x19959f();while(!![]){try{const _0xfb09be=-parseInt(_0xbc6fe7(0x14d))/0x1+parseInt(_0xbc6fe7(0xc1))/0x2+-parseInt(_0xbc6fe7(0x16b))/0x3*(-parseInt(_0xbc6fe7(0xe9))/0x4)+parseInt(_0xbc6fe7(0x11d))/0x5*(-parseInt(_0xbc6fe7(0x126))/0x6)+parseInt(_0xbc6fe7(0xfa))/0x7+parseInt(_0xbc6fe7(0x15a))/0x8*(parseInt(_0xbc6fe7(0x144))/0x9)+-parseInt(_0xbc6fe7(0x171))/0xa*(parseInt(_0xbc6fe7(0x148))/0xb);if(_0xfb09be===_0x164d98)break;else _0x1c5bfc['push'](_0x1c5bfc['shift']());}catch(_0x5bbe20){_0x1c5bfc['push'](_0x1c5bfc['shift']());}}}(_0x5f16,0x7b1db));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';function _0x5f16(){const _0x240778=['Do\x20not\x20run\x20Nova\x20help,\x20doctor,\x20script,\x20session\x20list,\x20session\x20export,\x20or\x20session\x20close\x20commands\x20during\x20verification.','getFrameDir',']\x20**','test','kaQeh','nova_act_command','args','VxHwD','khcMf','-\x20[','EPByz','):\x20\x22','cwd','-loglevel','yGeKj','domRef','15axXzSO','error','ask','\x20>\x20','frameWrites','screencastStarted','startTraceSampling','02_final-state.yml','readSessionMetadataWithRetry','975606kqCzRM','match','CKVoo','json','`\x20using\x20absolute\x20paths\x20only.\x0a5.\x20Take\x20an\x20initial\x20snapshot:\x20`','\x0a\x0a##\x20Instructions\x0a1.\x20Use\x20Bash\x20plus\x20Nova\x20Act\x20CLI\x20only.\x20Do\x20not\x20call\x20MCP\x20browser\x20tools.\x0a2.\x20The\x20act\x20CLI\x20is\x20already\x20installed\x20and\x20available\x20through\x20the\x20browser\x20command\x20prefix\x20below.\x20Do\x20not\x20search\x20the\x20filesystem\x20for\x20Nova,\x20install\x20packages,\x20inspect\x20docs,\x20check\x20AWS/auth\x20status,\x20read\x20env\x20files,\x20run\x20setup,\x20or\x20call\x20raw\x20`act\x20browser`.\x0a3.\x20Your\x20first\x20Bash\x20command\x20must\x20be\x20`','get','ffmpeg','ZlWdI','fAIEg','parse','[nova-act-cli]\x20','stdout','queueTraceSample','gaokH','VKARE','startAttempted','ScmYg','nova-act-cli','\x20snapshot\x20--output\x20','numeric','.json','data','videos','trim','`\x20using\x20absolute\x20paths\x20only.\x0aReturn\x20your\x20findings\x20in\x20the\x20structured\x20output\x20format.','browser','gftwX','cliArtifactDir','hook_event_name','153HateYd','export','traceSampleInFlight','VbUei','44foxtbx','\x0a\x0a##\x20App\x20Context\x0aYour\x20base\x20URL\x20is:\x20','EgWEb','replace','kxdbk','419472HCQeNu','tracingStarted','JYtYf','\x20execute\x20\x22...\x22`\x20command\x20to\x20exercise\x20the\x20current\x20page.\x0a5.\x20Run\x20`','stop','\x0a\x0a##\x20Expected\x20Flow\x20(from\x20previous\x20verification)\x0a','DAjjw','shellCommand','emrsa','nova-report','bpldj','selector','Reviewer','225528lMmuuH','frameCount','trackPhaseEnd','encodeScreencastVideo','Bash','\x0a\x0a##\x20Additional\x20Notes\x0a','`\x0a7.\x20Return\x20immediately\x20with\x20the\x20structured\x20output.\x0a\x0aSave\x20every\x20artifact\x20under\x20`','SQHLm','catch','ShrkF','yGfTQ','qdkfS','isFile','faIyS','`\x0a-\x20`','JGhFl','subcommand','1920FVLoFD','HMhLJ','frame-','traceSampleTimer','\x0a\x0a##\x20Task\x20to\x20Execute\x0a','authorEmail','1857030hwjuCQ','toLocaleDateString','pop','finally','\x0a\x0aIf\x20authentication\x20fails,\x20return\x20evaluation\x20\x22blocked\x22\x20and\x20describe\x20the\x20auth\x20failure.','env','EGmMC','ms-playwright','frame-%06d.jpg','nNTJD','log','Djedb','then','DQASN','screenshot','AJfwp','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','createdAt','01_initial-state.png','ANFkY','trackPhaseError','VKpKO','1736776gMtTUR','description','frameSession','--output','.jpg','values','params','QTmVi','-version','IntnT','Page.screencastFrameAck','nova_act_artifact_recording','ffmpeg-linux','sort','Unable\x20to\x20read\x20Nova\x20session\x20metadata\x20at\x20','Nova\x20session\x20metadata\x20did\x20not\x20include\x20cdp_endpoint\x20for\x20','.cache','ffmpeg-mac','SlUJL','toHoi','hCYUq','execute','capture\x20step\x20`','transportMetadata','BSfPP','telemetry','close','>\x20\x22','newCDPSession','utf-8','`\x0a2.\x20Run\x20`','name','`\x0a6.\x20Run\x20`','fnmpc','ffmpeg-','SRuqF','stderr','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.','start','\x0a\x0aExamples:\x0a-\x20`','1280mlDNNB','verify','context','nova_act_session_close','contexts','browser_pid','zrXiX','stopScreencast','ievKB','zQSxk','novaOptions','send','bUQrS','BTWaW','element','nova-user-data/*','nova_act_artifact_recording_stop','4213545mbHxQh','goto','session-recording.webm','commandArgs','tool_input','now','pages','HospT','trackPhaseStart','keys','BIGyx','00_initial-state.yml','sessionId','notes','Use\x20only\x20the\x20provided\x20Nova\x20browser\x20command\x20prefix\x20for\x20browser\x20verification.\x20Do\x20not\x20inspect\x20setup,\x20credentials,\x20files,\x20or\x20the\x20local\x20environment.','\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','`\x0a3.\x20Run\x20`','cdp_endpoint','canonicalFlow'];_0x5f16=function(){return _0x240778;};return _0x5f16();}import{chromium}from'playwright';import{buildNovaActCliInvocation,buildNovaActCliSharedOptionsSuffix,extractNovaActLogDir,parseNovaActCliCommand,previewNovaActCliCommand,runNovaActCliCommand}from'./utils/novaActCli.js';import{extractBashCommand,quoteShellArg}from'./utils/playwrightCli.js';const NOVA_ACT_CLI_COMMAND_TIMEOUT_MS=0x1d4c0,NOVA_ARTIFACT_CDP_CONNECT_TIMEOUT_MS=0x3a98,NOVA_ARTIFACT_METADATA_WAIT_MS=0x1388,NOVA_ARTIFACT_TRACE_SAMPLE_INTERVAL_MS=0x1388,VERIFY_FEATURE_NOVA_ARTIFACT_FILE_PATTERN=/^(?:\d{2}_.+\.(?:png|ya?ml)|key_.+\.png|final-state\.ya?ml|nova-session-export\.json)$/i,NOVA_ACT_ALLOWED_AGENT_COMMANDS=new Set(['session\x20create','execute','verify','ask',_0x591d40(0xfb),'wait-for','snapshot','screenshot']),execFileAsync=promisify(execFile);function buildCliArtifactPath(_0x58facb,_0x1250e9){return join(_0x58facb,_0x1250e9);}export class NovaActArtifactRecorder{[_0x591d40(0xc7)];[_0x591d40(0x140)]=null;[_0x591d40(0xeb)]=null;['frameSession']=null;[_0x591d40(0x121)]=[];[_0x591d40(0x15b)]=0x0;['traceSampleCount']=0x0;[_0x591d40(0x16e)]=null;['traceSampleInFlight']=null;[_0x591d40(0x14e)]=![];['screencastStarted']=![];[_0x591d40(0x136)]=![];['stopped']=![];constructor(_0x4897e5){const _0x2d1c5c=_0x591d40;this[_0x2d1c5c(0xc7)]=_0x4897e5;}async[_0x591d40(0xe7)](){const _0x832f48=_0x591d40,_0x252209={'BIGyx':_0x832f48(0xcc)};if(this['startAttempted'])return;this['startAttempted']=!![];const _0x2b0da2=await this[_0x832f48(0x125)](),_0x3a3680=_0x2b0da2[_0x832f48(0x10b)];if(!_0x3a3680)throw new Error(_0x832f48(0xd0)+this['params'][_0x832f48(0xf3)][_0x832f48(0x106)]);await mkdir(this[_0x832f48(0xc7)][_0x832f48(0x142)],{'recursive':!![]}),this[_0x832f48(0x140)]=await chromium['connectOverCDP'](_0x3a3680,{'timeout':NOVA_ARTIFACT_CDP_CONNECT_TIMEOUT_MS}),this[_0x832f48(0xeb)]=this['browser'][_0x832f48(0xed)]()[0x0]??null;if(!this['context'])throw new Error('Nova\x20CDP\x20connection\x20did\x20not\x20expose\x20a\x20browser\x20context');await this['context']['tracing'][_0x832f48(0xe7)]({'screenshots':!![],'snapshots':!![],'sources':!![]}),this[_0x832f48(0x14e)]=!![],this[_0x832f48(0x123)](),await this['startScreencast'](),this[_0x832f48(0xc7)][_0x832f48(0xda)]['trackPhaseStart'](_0x252209[_0x832f48(0x104)],{...this[_0x832f48(0xc7)][_0x832f48(0xd8)],'cdpEndpoint':_0x3a3680,'browserPid':_0x2b0da2[_0x832f48(0xee)],'sessionState':_0x2b0da2['state']}),this[_0x832f48(0xc7)][_0x832f48(0xda)]['trackPhaseEnd'](_0x252209['BIGyx'],{...this[_0x832f48(0xc7)]['transportMetadata'],'tracingStarted':this['tracingStarted'],'screencastStarted':this['screencastStarted']});}async['stop'](){const _0x3bb2d7=_0x591d40,_0xa148cf={'zrXiX':'nova_act_artifact_recording_stop'};if(this['stopped'])return;this['stopped']=!![];const _0x5253dd={...this[_0x3bb2d7(0xc7)][_0x3bb2d7(0xd8)],'frameCount':this[_0x3bb2d7(0x15b)],'traceSampleCount':this['traceSampleCount'],'tracingStarted':this['tracingStarted'],'screencastStarted':this['screencastStarted']};this[_0x3bb2d7(0xc7)][_0x3bb2d7(0xda)][_0x3bb2d7(0x102)](_0xa148cf[_0x3bb2d7(0xef)],_0x5253dd);try{await this['stopTraceSampling'](),await this['captureTraceSample'](),await this[_0x3bb2d7(0xf0)](),await Promise['allSettled'](this['frameWrites']);this['context']&&this[_0x3bb2d7(0x14e)]&&await this['context']['tracing'][_0x3bb2d7(0x151)]({'path':buildCliArtifactPath(this['params']['cliArtifactDir'],'trace.zip')});const _0xc101b8=await this['encodeScreencastVideo']();this['params'][_0x3bb2d7(0xda)]['trackPhaseEnd'](_0x3bb2d7(0xf9),{..._0x5253dd,'videoPath':_0xc101b8});}catch(_0x16cd6e){await this[_0x3bb2d7(0xc7)][_0x3bb2d7(0xda)][_0x3bb2d7(0x185)](_0x3bb2d7(0xf9),_0x16cd6e,_0x5253dd);}finally{await this[_0x3bb2d7(0x140)]?.['close']()['catch'](()=>undefined),this['browser']=null,this[_0x3bb2d7(0xeb)]=null,this[_0x3bb2d7(0xc3)]=null;}}async[_0x591d40(0x125)](){const _0x2d2497=_0x591d40,_0x1914ca={'SQHLm':function(_0xa7c972,_0x50d052,_0x31c195,_0x20a3d7,_0x113b54,_0x3165aa){return _0xa7c972(_0x50d052,_0x31c195,_0x20a3d7,_0x113b54,_0x3165aa);},'bNRSj':'.act_cli','HokdA':'sessions','oVmPL':_0x2d2497(0xde),'coWOD':function(_0xd0d837,_0x50aeee){return _0xd0d837(_0x50aeee);},'HospT':function(_0x32289c,_0x227521){return _0x32289c instanceof _0x227521;}},_0x52186a=_0x1914ca[_0x2d2497(0x161)](join,homedir(),_0x1914ca['bNRSj'],_0x2d2497(0x140),_0x1914ca['HokdA'],this[_0x2d2497(0xc7)]['novaOptions']['sessionId']+_0x2d2497(0x13b)),_0x1a1828=Date[_0x2d2497(0xff)]();let _0x249735;do{try{const _0x1a7b93=JSON[_0x2d2497(0x130)](await readFile(_0x52186a,_0x1914ca['oVmPL']));if(_0x1a7b93[_0x2d2497(0x10b)])return _0x1a7b93;_0x249735=new Error('Nova\x20metadata\x20missing\x20cdp_endpoint\x20at\x20'+_0x52186a);}catch(_0x26ae0f){_0x249735=_0x26ae0f;}await _0x1914ca['coWOD'](delay,0x64);}while(Date[_0x2d2497(0xff)]()-_0x1a1828<NOVA_ARTIFACT_METADATA_WAIT_MS);if(_0x1914ca[_0x2d2497(0x101)](_0x249735,Error))throw _0x249735;throw new Error(_0x2d2497(0xcf)+_0x52186a);}async['startScreencast'](){const _0x259e0e=_0x591d40,_0x1ccb85={'dmOfG':'base64','IntnT':'Page.startScreencast'};if(!this['context'])return;const _0x44873e=this[_0x259e0e(0xeb)][_0x259e0e(0x100)]()[0x0];if(!_0x44873e)return;const _0x526c87=this[_0x259e0e(0x10e)]();await mkdir(_0x526c87,{'recursive':!![]});const _0x53dfa9=await this['context'][_0x259e0e(0xdd)](_0x44873e);this[_0x259e0e(0xc3)]=_0x53dfa9,_0x53dfa9['on']('Page.screencastFrame',_0x7f550b=>{const _0xbf511b=_0x259e0e,_0x12ab1f=++this['frameCount'],_0xe8fce2=join(_0x526c87,_0xbf511b(0x16d)+String(_0x12ab1f)['padStart'](0x6,'0')+_0xbf511b(0xc5)),_0x188f06=writeFile(_0xe8fce2,Buffer['from'](_0x7f550b[_0xbf511b(0x13c)],_0x1ccb85['dmOfG']))[_0xbf511b(0x162)](()=>undefined)[_0xbf511b(0x174)](()=>_0x53dfa9[_0xbf511b(0xf4)](_0xbf511b(0xcb),{'sessionId':_0x7f550b[_0xbf511b(0x106)]}))[_0xbf511b(0x17d)](()=>undefined)[_0xbf511b(0x162)](()=>undefined);this[_0xbf511b(0x121)]['push'](_0x188f06);}),await _0x53dfa9[_0x259e0e(0xf4)](_0x1ccb85[_0x259e0e(0xca)],{'format':'jpeg','quality':0x4b,'everyNthFrame':0x6}),this[_0x259e0e(0x122)]=!![];}async['stopScreencast'](){const _0x33a96b=_0x591d40;if(!this[_0x33a96b(0xc3)]||!this[_0x33a96b(0x122)])return;await this['frameSession'][_0x33a96b(0xf4)]('Page.stopScreencast')[_0x33a96b(0x162)](()=>undefined);}[_0x591d40(0x123)](){const _0x56d833=_0x591d40;this['queueTraceSample'](),this[_0x56d833(0x16e)]=setInterval(()=>this[_0x56d833(0x133)](),NOVA_ARTIFACT_TRACE_SAMPLE_INTERVAL_MS);}['queueTraceSample'](){const _0x5f4fa5=_0x591d40;if(this[_0x5f4fa5(0x146)])return;this[_0x5f4fa5(0x146)]=this['captureTraceSample']()['finally'](()=>{this['traceSampleInFlight']=null;});}async['stopTraceSampling'](){const _0x390cc5=_0x591d40,_0x163875={'EGmMC':function(_0x380e35,_0x5eb639){return _0x380e35(_0x5eb639);}};this[_0x390cc5(0x16e)]&&(_0x163875[_0x390cc5(0x177)](clearInterval,this[_0x390cc5(0x16e)]),this[_0x390cc5(0x16e)]=null),await this['traceSampleInFlight']?.['catch'](()=>undefined);}async['captureTraceSample'](){const _0x2b5604=this['context']?.['pages']()[0x0];if(!_0x2b5604)return;try{await _0x2b5604['locator']('body')['evaluate'](_0x3e94b2=>_0x3e94b2['tagName'],undefined,{'timeout':0x3e8}),this['traceSampleCount']++;}catch{}}async[_0x591d40(0x15d)](){const _0x1f1f8a=_0x591d40,_0x29cde6={'nNTJD':function(_0x3c7db0,_0x3211a4){return _0x3c7db0<_0x3211a4;},'VxHwD':function(_0x5fcdca){return _0x5fcdca();},'qdkfS':function(_0x19a79f,_0x3f5d75,_0x21ed3e){return _0x19a79f(_0x3f5d75,_0x21ed3e);},'JYtYf':_0x1f1f8a(0x13d),'KYxKM':_0x1f1f8a(0x11a),'hCYUq':'-framerate','EgWEb':_0x1f1f8a(0x179),'Djedb':'libvpx-vp9','zQSxk':'-pix_fmt','zuAaj':'yuv420p'};if(_0x29cde6[_0x1f1f8a(0x17a)](this[_0x1f1f8a(0x15b)],0x2))return null;const _0x412f93=await _0x29cde6[_0x1f1f8a(0x114)](resolveFfmpegPath);if(!_0x412f93)return null;const _0x17f6f8=_0x29cde6[_0x1f1f8a(0x165)](join,this[_0x1f1f8a(0xc7)][_0x1f1f8a(0x142)],_0x29cde6[_0x1f1f8a(0x14f)]);await _0x29cde6[_0x1f1f8a(0x165)](mkdir,_0x17f6f8,{'recursive':!![]});const _0x3a399c=_0x29cde6['qdkfS'](join,_0x17f6f8,_0x1f1f8a(0xfc));return await _0x29cde6['qdkfS'](execFileAsync,_0x412f93,['-y','-hide_banner',_0x29cde6['KYxKM'],_0x1f1f8a(0x11e),_0x29cde6[_0x1f1f8a(0xd5)],'10','-i',join(this[_0x1f1f8a(0x10e)](),_0x29cde6[_0x1f1f8a(0x14a)]),'-vf','scale=trunc(iw/2)*2:trunc(ih/2)*2','-c:v',_0x29cde6[_0x1f1f8a(0x17c)],_0x29cde6[_0x1f1f8a(0xf2)],_0x29cde6['zuAaj'],_0x3a399c]),_0x3a399c;}['getFrameDir'](){const _0xae8ca6=_0x591d40;return join(this[_0xae8ca6(0xc7)][_0xae8ca6(0x142)],'nova-video-frames');}}async function delay(_0x48c68c){await new Promise(_0x122102=>setTimeout(_0x122102,_0x48c68c));}async function resolveFfmpegPath(){const _0xe0c89f=_0x591d40,_0x188e37={'VKpKO':_0xe0c89f(0x12d),'AJfwp':function(_0x4fd5a6,_0x3e5f6d,_0x5e76e6,_0x11a45d,_0x1337f3){return _0x4fd5a6(_0x3e5f6d,_0x5e76e6,_0x11a45d,_0x1337f3);},'ywPjZ':'Library','gHCyS':'Caches','HMhLJ':function(_0x361dc7){return _0x361dc7();},'ANFkY':_0xe0c89f(0x178),'DAjjw':function(_0x55be39,_0x40ddec){return _0x55be39(_0x40ddec);},'VczoS':function(_0xc4622e,_0x37daca){return _0xc4622e(_0x37daca);}};if(await canRunFfmpeg('ffmpeg'))return _0x188e37[_0xe0c89f(0xc0)];const _0x51fee8=[_0x188e37[_0xe0c89f(0x180)](join,homedir(),_0x188e37['ywPjZ'],_0x188e37['gHCyS'],_0xe0c89f(0x178)),join(_0x188e37[_0xe0c89f(0x16c)](homedir),_0xe0c89f(0xd1),_0x188e37[_0xe0c89f(0x184)])];for(const _0x1187eb of _0x51fee8){try{const _0x3c0adc=await _0x188e37[_0xe0c89f(0x153)](readdir,_0x1187eb),_0x161a27=_0x3c0adc['filter'](_0x5bfd4b=>_0x5bfd4b['startsWith'](_0xe0c89f(0xe3)))[_0xe0c89f(0xce)]()['reverse']()['flatMap'](_0x161393=>[join(_0x1187eb,_0x161393,_0xe0c89f(0xd2)),join(_0x1187eb,_0x161393,_0xe0c89f(0xcd)),join(_0x1187eb,_0x161393,'ffmpeg.exe')]);for(const _0x5ba08f of _0x161a27){if(await _0x188e37['VczoS'](canRunFfmpeg,_0x5ba08f))return _0x5ba08f;}}catch{}}return null;}async function canRunFfmpeg(_0x4cd32c){const _0x4c1e58=_0x591d40;try{return await execFileAsync(_0x4cd32c,[_0x4c1e58(0xc9)]),!![];}catch{return![];}}function toStepDisplayName(_0x307848){const _0x10194e=_0x591d40,_0x4067db={'CjnQf':function(_0x56af79,_0x761b65){return _0x56af79(_0x761b65);},'bUQrS':function(_0x394d01,_0x266eb3){return _0x394d01(_0x266eb3);}},_0x5c961c=_0x4067db['CjnQf'](basename,_0x307848)[_0x10194e(0x14b)](/\.(?:png|ya?ml)$/i,'')[_0x10194e(0x14b)](/^key_/i,'')[_0x10194e(0x14b)](/^\d+_/,'')['replace'](/-/g,'\x20');return{'name':_0x5c961c,'isKeyStep':/^key_/i[_0x10194e(0x110)](_0x4067db[_0x10194e(0xf5)](basename,_0x307848))};}function extractShellValue(_0x3c22f9){if(!_0x3c22f9)return null;return _0x3c22f9[0x1]??_0x3c22f9[0x2]??_0x3c22f9[0x3]??null;}function extractOutputOption(_0xa4b770){const _0x522313=_0x591d40,_0x4ebe68={'CKVoo':function(_0x2cfcb8,_0x4882cc){return _0x2cfcb8(_0x4882cc);}};return _0x4ebe68[_0x522313(0x128)](extractShellValue,_0xa4b770[_0x522313(0x127)](/--output(?:=|\s+)(?:"([^"]+)"|'([^']+)'|(\S+))/));}function formatNovaActCliLog(_0x345f87,_0x4bfb2e){const _0x2926d9=_0x591d40,_0x17f7db={'RpbOW':'session\x20create','toHoi':'execute\x20Nova\x20browser\x20action','sHsid':_0x2926d9(0xfb),'emrsa':'wait\x20for\x20page\x20condition','IXwhi':function(_0x3799c1,_0x316978){return _0x3799c1(_0x316978);},'khcMf':'session\x20export'};switch(_0x4bfb2e){case _0x17f7db['RpbOW']:return'create\x20Nova\x20browser\x20session';case _0x2926d9(0xd6):return _0x17f7db[_0x2926d9(0xd4)];case _0x2926d9(0xea):return'verify\x20page\x20condition';case _0x2926d9(0x11f):return'ask\x20page\x20question';case _0x17f7db['sHsid']:return'navigate\x20browser';case'wait-for':return _0x17f7db[_0x2926d9(0x155)];case'snapshot':{const _0x5c7aa5=extractOutputOption(_0x345f87);if(!_0x5c7aa5)return'capture\x20snapshot';const {name:_0x17cbf4}=toStepDisplayName(_0x5c7aa5);return'capture\x20snapshot\x20`'+_0x17cbf4+'`';}case'screenshot':{const _0x44d46=extractOutputOption(_0x345f87);if(!_0x44d46)return'capture\x20screenshot';const {name:_0x14146e,isKeyStep:_0x5ad433}=_0x17f7db['IXwhi'](toStepDisplayName,_0x44d46);return _0x5ad433?'capture\x20key\x20step\x20`'+_0x14146e+'`':_0x2926d9(0xd7)+_0x14146e+'`';}case _0x17f7db[_0x2926d9(0x115)]:return'export\x20Nova\x20session';default:return _0x4bfb2e;}}function getNovaActCliCommandBlockReason(_0x1f4268){const _0x28501c=_0x591d40,_0x5ec903=parseNovaActCliCommand(_0x1f4268);if(!_0x5ec903)return _0x28501c(0x108);if(!NOVA_ACT_ALLOWED_AGENT_COMMANDS['has'](_0x5ec903))return'Nova\x20command\x20`'+_0x5ec903+'`\x20is\x20reserved\x20for\x20the\x20host.\x20Use\x20only\x20session\x20create,\x20execute,\x20verify,\x20ask,\x20goto,\x20wait-for,\x20snapshot,\x20and\x20screenshot.';if(_0x5ec903==='verify'&&/\b(?:previously visited|visited pages|pages visited|at least one of the pages visited)\b/i['test'](_0x1f4268))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/[_0x28501c(0x110)](_0x1f4268))return _0x28501c(0x10d);return null;}function buildFeedbackSection(_0x25bff5){const _0x2efe2a=_0x591d40,_0x27147c={'NEeiB':'en-US','TqExq':'short','JkgBc':_0x2efe2a(0x13a),'gftwX':_0x2efe2a(0x159),'QvdmQ':_0x2efe2a(0xf7),'ScmYg':function(_0x5f4604,_0x385c63){return _0x5f4604===_0x385c63;}};if(!_0x25bff5||_0x27147c[_0x2efe2a(0x137)](_0x25bff5['unaddressedComments']['length'],0x0))return'';const _0x443246=_0x25bff5['unaddressedComments']['map'](_0x5aee4c=>{const _0x43e61b=_0x2efe2a,_0x4d305d=new Date(_0x5aee4c[_0x43e61b(0x182)])[_0x43e61b(0x172)](_0x27147c['NEeiB'],{'month':_0x27147c['TqExq'],'day':_0x27147c['JkgBc']}),_0x25fd05=_0x5aee4c['authorName']||_0x5aee4c[_0x43e61b(0x170)]||_0x27147c[_0x43e61b(0x141)],_0xbc54c0=_0x5aee4c[_0x43e61b(0x11c)]?'\x20(on\x20element:\x20<'+(_0x5aee4c[_0x43e61b(0x11c)][_0x43e61b(0x158)]['split'](_0x43e61b(0x120))[_0x43e61b(0x173)]()?.['split'](':')[0x0]||_0x27147c['QvdmQ'])+_0x43e61b(0xdc)+(_0x5aee4c[_0x43e61b(0x11c)]['textContent']||'')['slice'](0x0,0x32)+'\x22)':'';return _0x43e61b(0x116)+_0x5aee4c['id']+_0x43e61b(0x10f)+_0x25fd05+'**\x20('+_0x4d305d+_0x43e61b(0x118)+_0x5aee4c['content']+'\x22'+_0xbc54c0;})['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'+_0x443246;}function buildNovaSharedOptionsInstruction(_0xb0c26c){const _0x4e8124=_0x591d40;if(!_0xb0c26c[_0x4e8124(0x13e)]())return _0x4e8124(0xe6);return'Append\x20this\x20option\x20suffix\x20to\x20every\x20browser\x20command\x20unless\x20the\x20host\x20gives\x20a\x20more\x20specific\x20example:\x0a'+_0xb0c26c;}export function buildVerifyFeatureNovaCliDebugPrompt(_0xaa62d){const _0x2a034a=_0x591d40,_0x11bfde={'PGliU':_0x2a034a(0x105),'ufjND':function(_0x5efbd4,_0x24720f,_0xf8ff66){return _0x5efbd4(_0x24720f,_0xf8ff66);},'gZXRB':_0x2a034a(0x183),'QTmVi':_0x2a034a(0x124),'EPByz':'03_final-state.png','UwgEW':function(_0x1b94e2,_0x49758e){return _0x1b94e2(_0x49758e);}},{novaCommandPrefix:_0x568db7,novaSharedOptionsSuffix:_0x47488f,cliArtifactDir:_0x38c791,url:_0x314d56}=_0xaa62d,_0x43d158=buildCliArtifactPath(_0x38c791,_0x11bfde['PGliU']),_0x1d68c0=_0x11bfde['ufjND'](buildCliArtifactPath,_0x38c791,_0x11bfde['gZXRB']),_0x4076e3=buildCliArtifactPath(_0x38c791,_0x11bfde[_0x2a034a(0xc8)]),_0x51b554=buildCliArtifactPath(_0x38c791,_0x11bfde[_0x2a034a(0x117)]);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'+_0x568db7+'\x0a\x0a'+buildNovaSharedOptionsInstruction(_0x47488f)+'\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`'+_0x568db7+'\x20session\x20create\x20'+quoteShellArg(_0x314d56)+'\x20'+_0x47488f+_0x2a034a(0xdf)+_0x568db7+_0x2a034a(0x139)+_0x11bfde['UwgEW'](quoteShellArg,_0x43d158)+'\x20'+_0x47488f+_0x2a034a(0x10a)+_0x568db7+'\x20screenshot\x20--output\x20'+quoteShellArg(_0x1d68c0)+'\x20'+_0x47488f+'`\x0a4.\x20Run\x20one\x20batched\x20`'+_0x568db7+_0x2a034a(0x150)+_0x568db7+'\x20snapshot\x20--output\x20'+quoteShellArg(_0x4076e3)+'\x20'+_0x47488f+_0x2a034a(0xe1)+_0x568db7+'\x20screenshot\x20--output\x20'+quoteShellArg(_0x51b554)+'\x20'+_0x47488f+_0x2a034a(0x160)+_0x38c791+_0x2a034a(0x13f);}export function buildVerifyFeatureNovaCliPrompt(_0x10bad4){const _0x5adc33=_0x591d40,_0x28b8b4={'ZlWdI':function(_0x351a0b,_0x282996){return _0x351a0b(_0x282996);},'CcWnT':'01_initial.yml','YJrZa':function(_0x513951,_0x342de8,_0x21bd03){return _0x513951(_0x342de8,_0x21bd03);},'HUxBs':function(_0x24d532,_0x5d59b5,_0x2a31ae){return _0x24d532(_0x5d59b5,_0x2a31ae);},'SRuqF':'key_03_success-state.png','VKARE':function(_0x3a3422,_0x4fe9d0){return _0x3a3422(_0x4fe9d0);}},{checklistItem:_0x2e9389,itemFeedback:_0x127d7a,taskDescription:_0x4397d7,novaCommandPrefix:_0x5da3bc,novaSharedOptionsSuffix:_0x172413,cliArtifactDir:_0x478453,url:_0x27afd1,loginInstructions:_0x3dd0c4}=_0x10bad4,_0x25a6a9=_0x2e9389[_0x5adc33(0x107)]?_0x5adc33(0x15f)+_0x2e9389[_0x5adc33(0x107)]:'',_0x4c3b77=_0x28b8b4['ZlWdI'](buildFeedbackSection,_0x127d7a),_0x14bb21=_0x127d7a?.[_0x5adc33(0x10c)]?_0x5adc33(0x152)+_0x127d7a[_0x5adc33(0x10c)]:'',_0x2c2973=_0x3dd0c4?'\x0a\x0a##\x20Authentication\x0aBEFORE\x20starting\x20the\x20verification\x20task,\x20authenticate\x20using\x20these\x20steps:\x0a'+_0x3dd0c4+_0x5adc33(0x175):'',_0x232913=buildCliArtifactPath(_0x478453,_0x28b8b4['CcWnT']),_0x124b2b=_0x28b8b4['YJrZa'](buildCliArtifactPath,_0x478453,_0x5adc33(0x183)),_0xb6d747=_0x28b8b4['HUxBs'](buildCliArtifactPath,_0x478453,_0x28b8b4[_0x5adc33(0xe4)]);return _0x5adc33(0x181)+_0x2e9389[_0x5adc33(0xc2)]+_0x25a6a9+_0x4c3b77+_0x14bb21+_0x5adc33(0x16f)+_0x4397d7+_0x5adc33(0x149)+_0x27afd1+_0x5adc33(0x109)+_0x2c2973+_0x5adc33(0x12b)+_0x5da3bc+'\x20session\x20create\x20'+quoteShellArg(_0x27afd1)+'\x20'+_0x172413+'`.\x0a4.\x20Save\x20every\x20snapshot\x20and\x20screenshot\x20under\x20`'+_0x478453+_0x5adc33(0x12a)+_0x5da3bc+'\x20snapshot\x20--output\x20'+_0x28b8b4[_0x5adc33(0x12e)](quoteShellArg,_0x232913)+'\x20'+_0x172413+'`.\x0a6.\x20Take\x20an\x20initial\x20screenshot:\x20`'+_0x5da3bc+'\x20screenshot\x20--output\x20'+quoteShellArg(_0x124b2b)+'\x20'+_0x172413+'`.\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`'+_0xb6d747+'`.\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`'+_0x5da3bc+'`\x0a\x0aAppend\x20this\x20option\x20suffix\x20to\x20browser\x20commands:\x0a'+(_0x172413[_0x5adc33(0x13e)]()?'`'+_0x172413+'`':'`<none;\x20the\x20command\x20prefix\x20injects\x20shared\x20options>`')+'\x0a\x0a'+_0x28b8b4[_0x5adc33(0x135)](buildNovaSharedOptionsInstruction,_0x172413)+_0x5adc33(0xe8)+_0x5da3bc+'\x20execute\x20\x221.\x20Open\x20the\x20account\x20settings\x20menu.\x202.\x20Click\x20Billing.\x203.\x20Wait\x20for\x20the\x20Billing\x20page\x20to\x20load.\x22\x20'+_0x172413+_0x5adc33(0x168)+_0x5da3bc+'\x20verify\x20\x22The\x20Billing\x20page\x20is\x20visible\x20and\x20shows\x20the\x20current\x20plan.\x22\x20'+_0x172413+'`\x0a-\x20`'+_0x5da3bc+_0x5adc33(0x139)+quoteShellArg(_0x232913)+'\x20'+_0x172413+'`\x0a-\x20`'+_0x5da3bc+'\x20screenshot\x20--output\x20'+_0x28b8b4['ZlWdI'](quoteShellArg,_0xb6d747)+'\x20'+_0x172413+'`\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(_0x4df2af){const _0x531f84=_0x591d40,_0x3ac45d=[..._0x4df2af[_0x531f84(0x103)]()]['sort']();let _0x51feb2=0x0;for(const _0x2b1ec5 of _0x4df2af[_0x531f84(0xc6)]()){_0x51feb2+=_0x2b1ec5;}return{'cliCommandCount':_0x51feb2,'cliCommandsSeen':_0x3ac45d,'noCliCommandsCalled':_0x51feb2===0x0};}export function createVerifyFeatureNovaCliHooks(_0x169b15,_0x30e290){const _0x3d5443=_0x591d40,_0x5114b2={'yxCXk':function(_0x3c14cf,_0x2d907d){return _0x3c14cf!==_0x2d907d;},'BSfPP':'PreToolUse','yGfTQ':'PostToolUse','ShrkF':_0x3d5443(0x15e),'OALmv':_0x3d5443(0x112),'gaokH':function(_0x21e37a,_0x1a04ee){return _0x21e37a(_0x1a04ee);},'ievKB':function(_0x4e6831,_0x40f346){return _0x4e6831===_0x40f346;},'bpldj':'nova_act_artifact_recording','SlUJL':_0x3d5443(0x138)},_0x32f837=new Map(),_0x398cea=async _0x51ad4f=>{const _0x31a8c7=_0x3d5443;if(_0x5114b2['yxCXk'](_0x51ad4f['hook_event_name'],_0x5114b2[_0x31a8c7(0xd9)]))return{};const _0x501ead=_0x51ad4f;if(_0x5114b2['yxCXk'](_0x501ead['tool_name'],_0x31a8c7(0x15e)))return{};const _0x495c10=_0x501ead[_0x31a8c7(0xfe)],_0x2cfc3f=extractBashCommand(_0x495c10);if(!_0x2cfc3f)return{};const _0x2e8a31=getNovaActCliCommandBlockReason(_0x2cfc3f);if(!_0x2e8a31)return{};return{'decision':'block','reason':_0x2e8a31};},_0x79d0df=async _0x293af4=>{const _0x2107b5=_0x3d5443;if(_0x293af4[_0x2107b5(0x143)]!==_0x5114b2[_0x2107b5(0x164)])return{};const _0x5749f6=_0x293af4;if(_0x5749f6['tool_name']!==_0x5114b2['ShrkF'])return{};const _0x1aed8f=_0x5749f6[_0x2107b5(0xfe)],_0x197b13=extractBashCommand(_0x1aed8f);if(!_0x197b13)return{};const _0x1b9347=parseNovaActCliCommand(_0x197b13);if(!_0x1b9347)return{};_0x32f837['set'](_0x1b9347,(_0x32f837[_0x2107b5(0x12c)](_0x1b9347)||0x0)+0x1),_0x169b15['trackPhaseStart'](_0x2107b5(0x112),{'subcommand':_0x1b9347}),_0x169b15[_0x2107b5(0x15c)](_0x5114b2['OALmv'],{'subcommand':_0x1b9347,'commandPreview':_0x5114b2[_0x2107b5(0x134)](previewNovaActCliCommand,_0x197b13)}),console[_0x2107b5(0x17b)](_0x2107b5(0x131)+formatNovaActCliLog(_0x197b13,_0x1b9347));if(_0x5114b2[_0x2107b5(0xf1)](_0x1b9347,'session\x20create')&&_0x30e290)try{await _0x30e290['start']();}catch(_0x171430){await _0x169b15['trackPhaseError'](_0x5114b2[_0x2107b5(0x157)],_0x171430,{'transport':_0x5114b2[_0x2107b5(0xd3)]});}return{};},_0x496128=async _0x83d869=>{const _0xcd7cd7=_0x3d5443;if(_0x83d869[_0xcd7cd7(0x143)]!=='PostToolUseFailure')return{};const _0x522d14=_0x83d869;if(_0x522d14['tool_name']!==_0x5114b2[_0xcd7cd7(0x163)])return{};return await _0x169b15[_0xcd7cd7(0x185)]('nova_act_command_failure',_0x522d14[_0xcd7cd7(0x11e)],{'transport':_0x5114b2['SlUJL'],'toolName':'Bash'}),{};};return{'preToolUseHook':_0x398cea,'postToolUseHook':_0x79d0df,'postToolUseFailureHook':_0x496128,'commandCounts':_0x32f837};}function _0x16e9(_0x11ea5c,_0x5cec71){_0x11ea5c=_0x11ea5c-0xc0;const _0x5f16df=_0x5f16();let _0x16e973=_0x5f16df[_0x11ea5c];return _0x16e973;}async function runNovaLifecycleCommand(_0x2c09d5){const _0x4b848e=_0x591d40,_0x580f24={'bIJeH':function(_0x85a053,_0x55ed96){return _0x85a053(_0x55ed96);}},{novaOptions:_0x1bc9ac,commandArgs:_0x3de871,telemetry:_0x164f3e,phase:_0xd1b1b0,metadata:_0x16fe4e,timeoutMs:_0xfa3694}=_0x2c09d5;_0x164f3e['trackPhaseStart'](_0xd1b1b0,_0x16fe4e);try{const _0x184d83=await runNovaActCliCommand({..._0x1bc9ac,'commandArgs':_0x3de871,'cwd':process[_0x4b848e(0x119)](),'env':process[_0x4b848e(0x176)],'timeoutMs':_0xfa3694??NOVA_ACT_CLI_COMMAND_TIMEOUT_MS});_0x164f3e['trackPhaseEnd'](_0xd1b1b0,{..._0x16fe4e,'subcommand':_0x184d83['invocation']['subcommand'],'commandPreview':previewNovaActCliCommand(_0x184d83['invocation'][_0x4b848e(0x154)]),'stdoutPreview':previewNovaActCliCommand(_0x184d83[_0x4b848e(0x132)]),'stderrPreview':previewNovaActCliCommand(_0x184d83[_0x4b848e(0xe5)]),'logDir':_0x580f24['bIJeH'](extractNovaActLogDir,_0x184d83[_0x4b848e(0x132)])});}catch(_0x333819){await _0x164f3e['trackPhaseError'](_0xd1b1b0,_0x333819,_0x16fe4e);throw _0x333819;}}export async function finalizeVerifyFeatureNovaCliSession(_0x546173){const _0x4a70c5=_0x591d40,_0x38b650={'xyNUQ':'nova_act_final_screenshot','JGhFl':_0x4a70c5(0x17f),'yGeKj':_0x4a70c5(0xc4),'TfHOs':'key_final-state.png','KNKpO':'snapshot','GaUOe':function(_0x39e8fd,_0x28296c,_0xd27f9a){return _0x39e8fd(_0x28296c,_0xd27f9a);},'BTWaW':'session','EFWMc':'--format','VbUei':_0x4a70c5(0x129),'ynSxj':'nova-session-export.json','Uosqi':'--report','PBhcr':_0x4a70c5(0xdb),'faIyS':'nova_act_session_close'},{telemetry:_0x13daeb,novaOptions:_0x34a66d,cliArtifactDir:_0x1fc548,transportMetadata:_0x1fdc93,artifactRecorder:_0x2e3542}=_0x546173,_0x2307b4=[{'phase':_0x38b650['xyNUQ'],'commandArgs':[_0x38b650[_0x4a70c5(0x169)],_0x38b650['yGeKj'],buildCliArtifactPath(_0x1fc548,_0x38b650['TfHOs'])]},{'phase':'nova_act_final_snapshot','commandArgs':[_0x38b650['KNKpO'],_0x38b650[_0x4a70c5(0x11b)],_0x38b650['GaUOe'](buildCliArtifactPath,_0x1fc548,'final-state.yaml')]},{'phase':'nova_act_session_export','commandArgs':[_0x38b650['BTWaW'],'export',_0x38b650['EFWMc'],_0x38b650[_0x4a70c5(0x147)],_0x38b650['yGeKj'],buildCliArtifactPath(_0x1fc548,_0x38b650['ynSxj'])]},{'phase':'nova_act_session_report','commandArgs':[_0x38b650['BTWaW'],_0x4a70c5(0x145),_0x38b650['Uosqi'],'--output-dir',buildCliArtifactPath(_0x1fc548,_0x4a70c5(0x156))]},{'phase':_0x4a70c5(0xec),'commandArgs':[_0x38b650[_0x4a70c5(0xf6)],_0x38b650['PBhcr']]}];for(const _0x5619b9 of _0x2307b4){_0x5619b9['phase']===_0x38b650[_0x4a70c5(0x167)]&&await _0x2e3542?.['stop']();try{await runNovaLifecycleCommand({'novaOptions':_0x34a66d,'commandArgs':[..._0x5619b9[_0x4a70c5(0xfd)]],'telemetry':_0x13daeb,'phase':_0x5619b9['phase'],'metadata':_0x1fdc93});}catch{}}}export async function harvestVerifyFeatureNovaCliArtifacts(_0x23e974){const _0x1991a1=_0x591d40,_0x47194e={'kaQeh':function(_0x2a8476,_0x242668,_0xa1ebbe){return _0x2a8476(_0x242668,_0xa1ebbe);},'fAIEg':function(_0x95da9b,_0x50cc89,_0x38f644){return _0x95da9b(_0x50cc89,_0x38f644);},'DQASN':function(_0x358d96,_0x85e7bb){return _0x358d96(_0x85e7bb);},'kxdbk':function(_0x1c5945,_0x2d75b5){return _0x1c5945+_0x2d75b5;},'CcouO':function(_0x94387e,_0x14281e){return _0x94387e===_0x14281e;}},{cwd:_0x3ce3fa,cliArtifactDir:_0x25191a,startTime:_0x2e8547}=_0x23e974,_0x533687=[];await _0x47194e[_0x1991a1(0x111)](mkdir,_0x25191a,{'recursive':!![]});const _0x194d7d=await _0x47194e['fAIEg'](readdir,_0x3ce3fa,{'withFileTypes':!![]});for(const _0x5034c1 of _0x194d7d){if(!_0x5034c1[_0x1991a1(0x166)]()||!VERIFY_FEATURE_NOVA_ARTIFACT_FILE_PATTERN[_0x1991a1(0x110)](_0x5034c1[_0x1991a1(0xe0)]))continue;const _0x5a9656=_0x47194e[_0x1991a1(0x12f)](join,_0x3ce3fa,_0x5034c1[_0x1991a1(0xe0)]),_0xabb76f=await _0x47194e[_0x1991a1(0x17e)](stat,_0x5a9656);if(_0x47194e[_0x1991a1(0x14c)](_0xabb76f['mtimeMs'],0x7d0)<_0x2e8547)continue;const _0x59f7f1=buildCliArtifactPath(_0x25191a,_0x5034c1[_0x1991a1(0xe0)]);if(_0x47194e['CcouO'](_0x5a9656,_0x59f7f1))continue;await rename(_0x5a9656,_0x59f7f1),_0x533687['push'](_0x5034c1[_0x1991a1(0xe0)]);}return _0x533687['sort']();}export async function loadVerifyFeatureNovaTraceUploadArtifact(_0x475ce9){const _0x206a68={'ePyZq':function(_0x3fc7cb,_0x1ec24e){return _0x3fc7cb(_0x1ec24e);}},_0x27cc87=join(_0x475ce9,'trace.zip');try{return{'buffer':await _0x206a68['ePyZq'](readFile,_0x27cc87),'source':_0x27cc87};}catch{return{'buffer':await zipVerifyFeatureNovaArtifacts(_0x475ce9),'source':_0x475ce9};}}async function zipVerifyFeatureNovaArtifacts(_0xf29e90){const _0x1bb57b=_0x591d40,_0x12cc4c={'fnmpc':function(_0x48962c,_0x30fd3d,_0x28a570,_0x4ccdbb){return _0x48962c(_0x30fd3d,_0x28a570,_0x4ccdbb);}},_0x16b78a=join(_0xf29e90,'..','nova-artifacts.zip');try{return await _0x12cc4c[_0x1bb57b(0xe2)](execFileAsync,'zip',['-qr',_0x16b78a,'.','-x',_0x1bb57b(0xf8)],{'cwd':_0xf29e90}),await readFile(_0x16b78a);}finally{await rm(_0x16b78a,{'force':!![]});}}export function buildNovaActCliDiagnostics(_0x289876){const _0x623a23=_0x591d40,_0x342bb2=buildNovaActCliInvocation(_0x289876[_0x623a23(0xf3)],_0x289876[_0x623a23(0xfd)]);return{'command':_0x342bb2['command'],'args':_0x342bb2[_0x623a23(0x113)],'commandPreview':previewNovaActCliCommand(_0x342bb2[_0x623a23(0x154)]),'subcommand':_0x342bb2[_0x623a23(0x16a)],'sharedOptionsSuffix':buildNovaActCliSharedOptionsSuffix(_0x289876['novaOptions'],_0x289876['commandArgs'])};}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(_0x4828c5,_0xae13aa){const _0x3e5114=_0x5ac7,_0x5c9561=_0x4828c5();while(!![]){try{const _0x55b122=parseInt(_0x3e5114(0x1a0))/0x1*(-parseInt(_0x3e5114(0x15b))/0x2)+parseInt(_0x3e5114(0x1a6))/0x3+-parseInt(_0x3e5114(0x1a9))/0x4+-parseInt(_0x3e5114(0x163))/0x5*(parseInt(_0x3e5114(0x15e))/0x6)+-parseInt(_0x3e5114(0x165))/0x7*(-parseInt(_0x3e5114(0x170))/0x8)+-parseInt(_0x3e5114(0x16d))/0x9+parseInt(_0x3e5114(0x174))/0xa*(parseInt(_0x3e5114(0x19a))/0xb);if(_0x55b122===_0xae13aa)break;else _0x5c9561['push'](_0x5c9561['shift']());}catch(_0x51533e){_0x5c9561['push'](_0x5c9561['shift']());}}}(_0x5561,0x34629));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 _0x5561(){const _0x41c53f=['\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.','(?:\x5cs+(?:\x22([^\x22]+)\x22|\x27([^\x27]+)\x27|(\x5cS+)))','\x20--screenshot-path\x20','commandArgs','inspect\x20page','rangerwright_cli_video_stop','key_99_final-state.png','You\x20are\x20a\x20Feature\x20Review\x20Verifier.\x20Your\x20job\x20is\x20to\x20verify\x20a\x20scenario\x20by\x20executing\x20a\x20UI\x20flow\x20and\x20evaluating\x20whether\x20it\x20adequately\x20completes\x20the\x20scenario.\x0a\x0a##\x20Scenario\x20to\x20Verify\x0a','fill\x20','aiqRp','22VAUHRQ','fill','split','back-and-inspect','(?:^|\x5cs)','go\x20back\x20and\x20inspect','286293TmgsRB','UpJko','join','aGcAQ','):\x20\x22','authorName','923871XxMbJx','xMmCH','DAfSQ','167212cljPVf','get','\x20open-and-inspect\x20','error','set','length','rangerwright_cli_command_failure','udjcU','slice','stop\x20tracing','trackPhaseError','close\x20browser\x20session','tool_input','domRef','tPdym','BtOzX','about:blank','2yKuMXI','[rangerwright-cli]\x20','ZCyfM','6mbmpFa','stringify','unaddressedComments','stderr','\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','1637410iIXpaH','open-and-inspect','7EmIpzF','stdout','\x20click-and-inspect\x20<ref>\x20--screenshot-path\x20','\x0a\x0a##\x20Additional\x20Notes\x0a','map','rangerwright-cli','FoKLy','##\x20App\x20Context\x0aYou\x20are\x20connected\x20to\x20a\x20desktop\x20application\x20via\x20CDP\x20at\x20','851139sGnkEP','\x20click-and-inspect\x20e37\x20--screenshot-path\x20','sort','1405752huVCWN','PostToolUse','element','Reviewer','2405210PSKwQr','RHaEH','unWLN','fill-and-inspect','NrPuC','nkglg','authorEmail','UkObk','PostToolUseFailure','notes','tool_name','invocation','sBmIS','LBkEc','...','trackPhaseStart','inspect','cwd','JpVwv','open\x20and\x20inspect\x20','VyXRy','commandPrefix','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','click-and-inspect','numeric','match','url','Bash'];_0x5561=function(){return _0x41c53f;};return _0x5561();}function truncatePreview(_0x4ea1ef,_0x157049=RANGERWRIGHT_CLI_PREVIEW_LIMIT){const _0x50c49c=_0x5ac7,_0x2b7055={'qfWVk':function(_0x1001e9,_0xbc6953){return _0x1001e9+_0xbc6953;}};return _0x4ea1ef['length']>_0x157049?_0x2b7055['qfWVk'](_0x4ea1ef[_0x50c49c(0x1b1)](0x0,_0x157049),_0x50c49c(0x182)):_0x4ea1ef;}function _0x5ac7(_0x245098,_0x137793){_0x245098=_0x245098-0x15a;const _0x55618d=_0x5561();let _0x5ac7c6=_0x55618d[_0x245098];return _0x5ac7c6;}function extractShellValue(_0x25af22){if(!_0x25af22)return null;return _0x25af22[0x1]??_0x25af22[0x2]??_0x25af22[0x3]??null;}function extractFirstCommandArgument(_0x3e6813,_0x571612){const _0x33b5ec=_0x5ac7,_0x2ecaa9={'FoKLy':function(_0x1fa691,_0x15f4a8){return _0x1fa691(_0x15f4a8);}},_0x1245c1=_0x571612['replace'](/[.*+?^${}()|[\]\\]/g,'\x5c$&');return _0x2ecaa9[_0x33b5ec(0x16b)](extractShellValue,_0x3e6813[_0x33b5ec(0x18d)](new RegExp(_0x33b5ec(0x19e)+_0x1245c1+_0x33b5ec(0x191))));}function formatCommandTarget(_0x5056ee){const _0x4c6a63=_0x5ac7,_0x181ef2={'UkObk':function(_0x31f5d8,_0x39c342,_0x33ab9c){return _0x31f5d8(_0x39c342,_0x33ab9c);}};if(!_0x5056ee)return'target';if(/^e\d+$/i['test'](_0x5056ee))return'ref\x20'+_0x5056ee;return JSON[_0x4c6a63(0x15f)](_0x181ef2[_0x4c6a63(0x17b)](truncatePreview,_0x5056ee,0x78));}function formatRangerwrightCliLog(_0x272d84,_0x505cbb){const _0x57ec12=_0x5ac7,_0x456fd3={'JpVwv':function(_0x2a3809,_0x5e2ed7,_0x1cf25a){return _0x2a3809(_0x5e2ed7,_0x1cf25a);},'UfelR':'open\x20and\x20inspect','zthjp':_0x57ec12(0x19b),'unWLN':function(_0xe264a2,_0x9f99af,_0x421829){return _0xe264a2(_0x9f99af,_0x421829);},'NrPuC':_0x57ec12(0x19d),'AByLa':_0x57ec12(0x19f),'UpJko':'tracing-stop','tPdym':_0x57ec12(0x1b2),'PlEvZ':'video-stop'};switch(_0x505cbb){case _0x57ec12(0x164):{const _0x4e7407=_0x456fd3[_0x57ec12(0x186)](extractFirstCommandArgument,_0x272d84,_0x505cbb);return _0x4e7407?_0x57ec12(0x187)+_0x4e7407:_0x456fd3['UfelR'];}case _0x57ec12(0x18b):return'click\x20and\x20inspect\x20'+formatCommandTarget(_0x456fd3['JpVwv'](extractFirstCommandArgument,_0x272d84,_0x505cbb));case _0x456fd3['zthjp']:case _0x57ec12(0x177):return _0x57ec12(0x198)+formatCommandTarget(_0x456fd3[_0x57ec12(0x176)](extractFirstCommandArgument,_0x272d84,_0x505cbb));case _0x456fd3[_0x57ec12(0x178)]:return _0x456fd3['AByLa'];case _0x57ec12(0x184):return _0x57ec12(0x194);case _0x456fd3[_0x57ec12(0x1a1)]:return _0x456fd3[_0x57ec12(0x1b7)];case _0x456fd3['PlEvZ']:return'stop\x20video\x20recording';case'close':return _0x57ec12(0x1b4);default:return _0x505cbb;}}function renderScenarioSections(_0x3611ca){const _0x2d32e9=_0x5ac7,_0x3c1cad={'WfGNu':_0x2d32e9(0x173),'pLMIZ':_0x2d32e9(0x172),'bOJtI':function(_0x394e0e,_0x56f578){return _0x394e0e>_0x56f578;}},{checklistItem:_0x5ba2f7,itemFeedback:_0x260579}=_0x3611ca,_0x13e8f6=_0x5ba2f7[_0x2d32e9(0x17d)]?_0x2d32e9(0x168)+_0x5ba2f7['notes']:'';let _0x242c4d='';if(_0x260579&&_0x3c1cad['bOJtI'](_0x260579[_0x2d32e9(0x160)][_0x2d32e9(0x1ae)],0x0)){const _0x2e6089=_0x260579[_0x2d32e9(0x160)][_0x2d32e9(0x169)](_0x221554=>{const _0x4d8dca=_0x2d32e9,_0x39e241=new Date(_0x221554['createdAt'])['toLocaleDateString']('en-US',{'month':'short','day':_0x4d8dca(0x18c)}),_0x5cbb26=_0x221554[_0x4d8dca(0x1a5)]||_0x221554[_0x4d8dca(0x17a)]||_0x3c1cad['WfGNu'],_0x573488=_0x221554[_0x4d8dca(0x1b6)]?'\x20(on\x20element:\x20<'+(_0x221554['domRef']['selector'][_0x4d8dca(0x19c)]('\x20>\x20')['pop']()?.['split'](':')[0x0]||_0x3c1cad['pLMIZ'])+'>\x20\x22'+(_0x221554['domRef']['textContent']||'')[_0x4d8dca(0x1b1)](0x0,0x32)+'\x22)':'';return'-\x20['+_0x221554['id']+']\x20'+_0x5cbb26+'\x20('+_0x39e241+_0x4d8dca(0x1a4)+_0x221554['content']+'\x22'+_0x573488;})[_0x2d32e9(0x1a2)]('\x0a');_0x242c4d=_0x2d32e9(0x162)+_0x2e6089;}const _0x57bb89=_0x260579?.['canonicalFlow']?'\x0a\x0a##\x20Expected\x20Flow\x20(from\x20previous\x20verification)\x0a'+_0x260579['canonicalFlow']:'';return''+_0x5ba2f7['description']+_0x13e8f6+_0x242c4d+_0x57bb89;}export function buildVerifyFeatureRangerwrightCliPrompt(_0x29bade){const _0x4565e7=_0x5ac7,_0x47bf76={'aiqRp':function(_0x55904f,_0x24da80){return _0x55904f(_0x24da80);},'VyXRy':function(_0x101314,_0x5b7bbc){return _0x101314(_0x5b7bbc);},'udjcU':_0x4565e7(0x15a),'GNZfS':function(_0x5c62dc,_0x43f886){return _0x5c62dc(_0x43f886);}},{checklistItem:_0x3bd395,itemFeedback:_0x4b34ff,taskDescription:_0x22fe63,commandPrefix:_0xfeddfd,isCdpMode:_0x4b3e28,url:_0x285d0f,cdpEndpoint:_0x3890c7,loginInstructions:_0x1845b7}=_0x29bade,_0x376215='01_initial-state.png',_0x2c2137=_0x4565e7(0x196),_0x563b30=_0x4b3e28?_0xfeddfd+'\x20inspect\x20--screenshot-path\x20'+_0x47bf76[_0x4565e7(0x199)](quoteShellArg,_0x376215):_0xfeddfd+'\x20open-and-inspect\x20'+_0x47bf76[_0x4565e7(0x188)](quoteShellArg,_0x285d0f??_0x47bf76[_0x4565e7(0x1b0)])+_0x4565e7(0x192)+quoteShellArg(_0x376215),_0x1f231b=_0x4b3e28?_0x4565e7(0x16c)+_0x3890c7+'.\x0aThe\x20app\x20is\x20already\x20running\x20and\x20connected.\x20Start\x20with\x20inspect\x20instead\x20of\x20opening\x20a\x20URL.':'CRITICAL\x20URL\x20REQUIREMENT:\x0aYour\x20base\x20URL\x20is:\x20'+_0x285d0f+'\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.',_0x209fe2=_0x1845b7?'\x0a\x0a##\x20Authentication\x0aBEFORE\x20starting\x20the\x20verification\x20task,\x20authenticate\x20using\x20these\x20steps:\x0a'+_0x1845b7+'\x0a\x0aAfter\x20completing\x20authentication,\x20proceed\x20with\x20the\x20verification\x20task\x20below.\x0aIf\x20authentication\x20fails,\x20return\x20evaluation\x20\x22blocked\x22\x20and\x20describe\x20the\x20auth\x20failure.':'';return _0x4565e7(0x197)+renderScenarioSections({'checklistItem':_0x3bd395,'itemFeedback':_0x4b34ff})+'\x0a\x0a##\x20Task\x20to\x20Execute\x0a'+_0x22fe63+'\x0a\x0a'+_0x1f231b+_0x209fe2+'\x0a\x0a##\x20Rangerwright\x20Instructions\x0aUse\x20Bash\x20and\x20Rangerwright\x20only.\x0a\x0aEvery\x20browser\x20command\x20must\x20start\x20with\x20this\x20exact\x20literal\x20command\x20prefix:\x0a\x0a'+_0xfeddfd+'\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'+_0x563b30+'\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'+_0xfeddfd+_0x4565e7(0x16e)+_0x47bf76['GNZfS'](quoteShellArg,_0x2c2137)+_0x4565e7(0x190);}export function buildVerifyFeatureRangerwrightCliDebugPrompt(_0x292cd8){const _0x30303d=_0x5ac7,_0xe60763={'iSWVx':'key_02_learn-more.png','aGcAQ':function(_0x455c9f,_0x5be87f){return _0x455c9f(_0x5be87f);},'azeMs':function(_0x33b518,_0x57dfd2){return _0x33b518(_0x57dfd2);}},_0x5c3f61='01_mozilla-homepage.png',_0x3e51b5=_0xe60763['iSWVx'];return _0x30303d(0x18a)+_0x292cd8[_0x30303d(0x189)]+'\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`'+_0x292cd8['commandPrefix']+_0x30303d(0x1ab)+_0xe60763[_0x30303d(0x1a3)](quoteShellArg,_0x292cd8[_0x30303d(0x18e)])+_0x30303d(0x192)+_0xe60763['azeMs'](quoteShellArg,_0x5c3f61)+'`\x0a2.\x20Use\x20the\x20returned\x20JSON\x20to\x20find\x20the\x20\x22Learn\x20More\x22\x20link\x20ref.\x0a3.\x20Run\x20`'+_0x292cd8[_0x30303d(0x189)]+_0x30303d(0x167)+quoteShellArg(_0x3e51b5)+'`\x0a4.\x20Return\x20immediately\x20with\x20the\x20structured\x20output.\x0a\x0aReturn\x20your\x20findings\x20in\x20the\x20structured\x20output\x20format.';}export function summarizeVerifyFeatureRangerwrightCliCommandAvailability(_0x261e7d){const _0x3e21ce=_0x5ac7,_0x2c4bd2={'ZCyfM':function(_0x332a29,_0x1f6b26){return _0x332a29===_0x1f6b26;}},_0x469fe9=[..._0x261e7d['keys']()][_0x3e21ce(0x16f)]();let _0x5599ce=0x0;for(const _0x44c83c of _0x261e7d['values']()){_0x5599ce+=_0x44c83c;}return{'cliCommandCount':_0x5599ce,'cliCommandsSeen':_0x469fe9,'noCliCommandsCalled':_0x2c4bd2[_0x3e21ce(0x15d)](_0x5599ce,0x0)};}export function createVerifyFeatureRangerwrightCliHooks(_0x1aec05){const _0x594bcb=_0x5ac7,_0x47b099={'RHaEH':function(_0x51b629,_0x1da916){return _0x51b629!==_0x1da916;},'sBmIS':_0x594bcb(0x18f),'xMmCH':function(_0x1a92d1,_0x2f2c93){return _0x1a92d1(_0x2f2c93);},'DAfSQ':function(_0x146f2a,_0x14b893){return _0x146f2a+_0x14b893;},'LBkEc':'rangerwright_cli_command','nkglg':_0x594bcb(0x17c),'YEBmH':_0x594bcb(0x1af)},_0x71f250=new Map(),_0x2a62da=async _0x286a19=>{const _0x3bd30f=_0x594bcb;if(_0x286a19['hook_event_name']!==_0x3bd30f(0x171))return{};const _0x2418a3=_0x286a19;if(_0x47b099['RHaEH'](_0x2418a3[_0x3bd30f(0x17e)],_0x47b099[_0x3bd30f(0x180)]))return{};const _0x5e889f=_0x2418a3[_0x3bd30f(0x1b5)],_0x21c87c=_0x47b099['xMmCH'](extractBashCommand,_0x5e889f);if(!_0x21c87c)return{};const _0x3fdeb3=_0x47b099[_0x3bd30f(0x1a7)](parseRangerwrightCliCommand,_0x21c87c);if(!_0x3fdeb3)return{};return _0x71f250[_0x3bd30f(0x1ad)](_0x3fdeb3,_0x47b099[_0x3bd30f(0x1a8)](_0x71f250[_0x3bd30f(0x1aa)](_0x3fdeb3)||0x0,0x1)),_0x1aec05['trackPhaseStart'](_0x47b099[_0x3bd30f(0x181)],{'subcommand':_0x3fdeb3}),_0x1aec05['trackPhaseEnd']('rangerwright_cli_command',{'subcommand':_0x3fdeb3,'commandPreview':_0x47b099[_0x3bd30f(0x1a7)](truncatePreview,_0x21c87c)}),console['log'](_0x3bd30f(0x15c)+formatRangerwrightCliLog(_0x21c87c,_0x3fdeb3)),{};},_0xa3637b=async _0x3e1f24=>{const _0x54a74b=_0x594bcb;if(_0x47b099[_0x54a74b(0x175)](_0x3e1f24['hook_event_name'],_0x47b099[_0x54a74b(0x179)]))return{};const _0x43c887=_0x3e1f24;if(_0x43c887['tool_name']!==_0x54a74b(0x18f))return{};return await _0x1aec05['trackPhaseError'](_0x47b099['YEBmH'],_0x43c887[_0x54a74b(0x1ac)],{'transport':_0x54a74b(0x16a),'toolName':_0x47b099[_0x54a74b(0x180)]}),{};};return{'postToolUseHook':_0x2a62da,'postToolUseFailureHook':_0xa3637b,'commandCounts':_0x71f250};}async function runRangerwrightLifecycleCommand(_0x4ad4e6){const _0x5f3965=_0x5ac7,_0x2f2cd8={'BtOzX':function(_0x5964d4,_0x42f63e){return _0x5964d4??_0x42f63e;}},{options:_0x5d2598,commandArgs:_0x43aa18,env:_0x166917,telemetry:_0x348fa9,phase:_0x279bc9,metadata:_0x24bdae,timeoutMs:_0x4fbd97}=_0x4ad4e6;_0x348fa9[_0x5f3965(0x183)](_0x279bc9,_0x24bdae);try{const _0x242444=await runRangerwrightCliCommand({..._0x5d2598,'commandArgs':_0x43aa18,'cwd':process[_0x5f3965(0x185)](),'env':_0x166917,'timeoutMs':_0x2f2cd8[_0x5f3965(0x1b8)](_0x4fbd97,RANGERWRIGHT_CLI_COMMAND_TIMEOUT_MS)});_0x348fa9['trackPhaseEnd'](_0x279bc9,{..._0x24bdae,'subcommand':_0x242444[_0x5f3965(0x17f)]['subcommand'],'stdoutPreview':truncatePreview(_0x242444[_0x5f3965(0x166)],0x7d0),'stderrPreview':truncatePreview(_0x242444[_0x5f3965(0x161)],0x7d0)});}catch(_0x38de02){await _0x348fa9[_0x5f3965(0x1b3)](_0x279bc9,_0x38de02,_0x24bdae);throw _0x38de02;}}export async function finalizeVerifyFeatureRangerwrightCliSession(_0x4e570a){const _0x4fd96c=_0x5ac7,_0x1a56bb={'ySAPZ':'close'},{telemetry:_0x2392c3,rangerwrightOptions:_0x258878,env:_0x159353,transportMetadata:_0x49fac7}=_0x4e570a,_0x9214d5=[{'phase':'rangerwright_cli_tracing_stop','commandArgs':['tracing-stop']},{'phase':_0x4fd96c(0x195),'commandArgs':['video-stop']},{'phase':'rangerwright_cli_close','commandArgs':[_0x1a56bb['ySAPZ']]}];for(const _0x43ad4c of _0x9214d5){try{await runRangerwrightLifecycleCommand({'options':_0x258878,'commandArgs':[..._0x43ad4c[_0x4fd96c(0x193)]],'env':_0x159353,'telemetry':_0x2392c3,'phase':_0x43ad4c['phase'],'metadata':_0x49fac7});}catch{}}}
|
|
1
|
+
(function(_0x22f865,_0x37d953){const _0x4abf39=_0x3145,_0x1aa09e=_0x22f865();while(!![]){try{const _0x3ad47e=-parseInt(_0x4abf39(0x163))/0x1*(parseInt(_0x4abf39(0x171))/0x2)+-parseInt(_0x4abf39(0x1a6))/0x3+-parseInt(_0x4abf39(0x175))/0x4+-parseInt(_0x4abf39(0x183))/0x5+-parseInt(_0x4abf39(0x1b7))/0x6+-parseInt(_0x4abf39(0x162))/0x7*(-parseInt(_0x4abf39(0x19e))/0x8)+parseInt(_0x4abf39(0x19d))/0x9;if(_0x3ad47e===_0x37d953)break;else _0x1aa09e['push'](_0x1aa09e['shift']());}catch(_0x59195c){_0x1aa09e['push'](_0x1aa09e['shift']());}}}(_0x6fd1,0xadad6));function _0x3145(_0x518dc7,_0x34e6fd){_0x518dc7=_0x518dc7-0x162;const _0x6fd18b=_0x6fd1();let _0x3145e1=_0x6fd18b[_0x518dc7];return _0x3145e1;}import{extractBashCommand,quoteShellArg}from'./utils/playwrightCli.js';function _0x6fd1(){const _0x2b9d3b=['rangerwright-cli','):\x20\x22','description','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','unaddressedComments','\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','cyUyE','en-US','stdout','trackPhaseEnd','go\x20back\x20and\x20inspect','\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.','xYpiM','zsbbh','test','dsYIo','length','createdAt','close','keys','sort','LfiQp','inspect','sreiH','\x0a\x0a##\x20Task\x20to\x20Execute\x0a','34065423IZsEAA','16hzzYVm','hook_event_name','-\x20[','content','invocation','.\x0aThe\x20app\x20is\x20already\x20running\x20and\x20connected.\x20Start\x20with\x20inspect\x20instead\x20of\x20opening\x20a\x20URL.','inspect\x20page','`\x0a4.\x20Return\x20immediately\x20with\x20the\x20structured\x20output.\x0a\x0aReturn\x20your\x20findings\x20in\x20the\x20structured\x20output\x20format.','878538wHZggU','tool_input','PostToolUseFailure','rangerwright_cli_close','gbNaE','ref\x20','iYByv','log','key_02_learn-more.png','QLczW','vDYwY','numeric','01_initial-state.png','rangerwright_cli_command_failure','url','\x0a\x0a##\x20Rangerwright\x20Instructions\x0aUse\x20Bash\x20and\x20Rangerwright\x20only.\x0a\x0aEvery\x20browser\x20command\x20must\x20start\x20with\x20this\x20exact\x20literal\x20command\x20prefix:\x0a\x0a','domRef','6054990dvGuUn','Fbdzk','ItCoc','match','\x0a\x0aAfter\x20completing\x20authentication,\x20proceed\x20with\x20the\x20verification\x20task\x20below.\x0aIf\x20authentication\x20fails,\x20return\x20evaluation\x20\x22blocked\x22\x20and\x20describe\x20the\x20auth\x20failure.','(?:^|\x5cs)','fill-and-inspect','stop\x20tracing','fill','\x20inspect\x20--screenshot-path\x20','slice','close\x20browser\x20session','click\x20and\x20inspect\x20','values','55111jaPVcN','1618dFflav','open\x20and\x20inspect','commandPrefix','\x20--screenshot-path\x20','bTBuU','open-and-inspect','bSDdp','\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.','\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','wsyan','UjrRW','...','short','notes','496ydkSxV','\x5c$&','\x20click-and-inspect\x20<ref>\x20--screenshot-path\x20','authorEmail','2934416bogNpU','(?:\x5cs+(?:\x22([^\x22]+)\x22|\x27([^\x27]+)\x27|(\x5cS+)))','lXPpe','selector','join','split','UOFMF','tool_name','suKKB','phase','video-stop','\x20open-and-inspect\x20','##\x20App\x20Context\x0aYou\x20are\x20connected\x20to\x20a\x20desktop\x20application\x20via\x20CDP\x20at\x20','VTdFy','3262660FFJhOz'];_0x6fd1=function(){return _0x2b9d3b;};return _0x6fd1();}import{parseRangerwrightCliCommand,runRangerwrightCliCommand}from'./utils/rangerwrightCli.js';const RANGERWRIGHT_CLI_COMMAND_TIMEOUT_MS=0xea60,RANGERWRIGHT_CLI_PREVIEW_LIMIT=0xf0;function truncatePreview(_0x468dc3,_0x16b7a6=RANGERWRIGHT_CLI_PREVIEW_LIMIT){const _0x51259a=_0x3145,_0x379c1c={'bQssn':function(_0xc86215,_0x1224c8){return _0xc86215+_0x1224c8;},'cFxVq':_0x51259a(0x16e)};return _0x468dc3[_0x51259a(0x194)]>_0x16b7a6?_0x379c1c['bQssn'](_0x468dc3[_0x51259a(0x1c1)](0x0,_0x16b7a6),_0x379c1c['cFxVq']):_0x468dc3;}function extractShellValue(_0xb01eb2){if(!_0xb01eb2)return null;return _0xb01eb2[0x1]??_0xb01eb2[0x2]??_0xb01eb2[0x3]??null;}function extractFirstCommandArgument(_0x534b94,_0x161d9f){const _0x221beb=_0x3145,_0x32080a=_0x161d9f['replace'](/[.*+?^${}()|[\]\\]/g,_0x221beb(0x172));return extractShellValue(_0x534b94[_0x221beb(0x1ba)](new RegExp(_0x221beb(0x1bc)+_0x32080a+_0x221beb(0x176))));}function formatCommandTarget(_0x44359b){const _0x473298=_0x3145,_0x36046a={'AIBFW':'target'};if(!_0x44359b)return _0x36046a['AIBFW'];if(/^e\d+$/i[_0x473298(0x192)](_0x44359b))return _0x473298(0x1ab)+_0x44359b;return JSON['stringify'](truncatePreview(_0x44359b,0x78));}function formatRangerwrightCliLog(_0x13bb57,_0x4d9101){const _0x2b7c92=_0x3145,_0x5e4452={'gbNaE':_0x2b7c92(0x168),'bTBuU':function(_0x462858,_0x14a2b1){return _0x462858(_0x14a2b1);},'coZUX':_0x2b7c92(0x1bf),'VTdFy':_0x2b7c92(0x1bd),'QLczW':'back-and-inspect','wsyan':_0x2b7c92(0x18e),'dsYIo':_0x2b7c92(0x19a),'Fbdzk':'tracing-stop','vDYwY':_0x2b7c92(0x196),'iYByv':_0x2b7c92(0x1c2)};switch(_0x4d9101){case _0x5e4452[_0x2b7c92(0x1aa)]:{const _0x1cf165=extractFirstCommandArgument(_0x13bb57,_0x4d9101);return _0x1cf165?'open\x20and\x20inspect\x20'+_0x1cf165:_0x2b7c92(0x164);}case'click-and-inspect':return _0x2b7c92(0x1c3)+_0x5e4452[_0x2b7c92(0x167)](formatCommandTarget,extractFirstCommandArgument(_0x13bb57,_0x4d9101));case _0x5e4452['coZUX']:case _0x5e4452[_0x2b7c92(0x182)]:return'fill\x20'+formatCommandTarget(extractFirstCommandArgument(_0x13bb57,_0x4d9101));case _0x5e4452[_0x2b7c92(0x1af)]:return _0x5e4452[_0x2b7c92(0x16c)];case _0x5e4452[_0x2b7c92(0x193)]:return _0x2b7c92(0x1a4);case _0x5e4452[_0x2b7c92(0x1b8)]:return _0x2b7c92(0x1be);case _0x2b7c92(0x17f):return'stop\x20video\x20recording';case _0x5e4452[_0x2b7c92(0x1b0)]:return _0x5e4452[_0x2b7c92(0x1ac)];default:return _0x4d9101;}}function renderScenarioSections(_0x23cfbd){const _0x106fcd=_0x3145,_0x4cfd0d={'lXPpe':_0x106fcd(0x18b),'hoYFv':_0x106fcd(0x16f),'LfiQp':_0x106fcd(0x1b1),'QdnFC':'Reviewer','OleRP':function(_0x34a820,_0x3ae8f7){return _0x34a820>_0x3ae8f7;}},{checklistItem:_0x2ee516,itemFeedback:_0x442a63}=_0x23cfbd,_0x22b3f1=_0x2ee516[_0x106fcd(0x170)]?'\x0a\x0a##\x20Additional\x20Notes\x0a'+_0x2ee516['notes']:'';let _0x52646e='';if(_0x442a63&&_0x4cfd0d['OleRP'](_0x442a63[_0x106fcd(0x188)]['length'],0x0)){const _0x382255=_0x442a63['unaddressedComments']['map'](_0x46e73f=>{const _0x521779=_0x106fcd,_0x2232e7=new Date(_0x46e73f[_0x521779(0x195)])['toLocaleDateString'](_0x4cfd0d[_0x521779(0x177)],{'month':_0x4cfd0d['hoYFv'],'day':_0x4cfd0d[_0x521779(0x199)]}),_0x5f32be=_0x46e73f['authorName']||_0x46e73f[_0x521779(0x174)]||_0x4cfd0d['QdnFC'],_0x2b7450=_0x46e73f[_0x521779(0x1b6)]?'\x20(on\x20element:\x20<'+(_0x46e73f[_0x521779(0x1b6)][_0x521779(0x178)][_0x521779(0x17a)]('\x20>\x20')['pop']()?.['split'](':')[0x0]||'element')+'>\x20\x22'+(_0x46e73f[_0x521779(0x1b6)]['textContent']||'')['slice'](0x0,0x32)+'\x22)':'';return _0x521779(0x1a0)+_0x46e73f['id']+']\x20'+_0x5f32be+'\x20('+_0x2232e7+_0x521779(0x185)+_0x46e73f[_0x521779(0x1a1)]+'\x22'+_0x2b7450;})[_0x106fcd(0x179)]('\x0a');_0x52646e=_0x106fcd(0x16b)+_0x382255;}const _0x59b5cc=_0x442a63?.['canonicalFlow']?'\x0a\x0a##\x20Expected\x20Flow\x20(from\x20previous\x20verification)\x0a'+_0x442a63['canonicalFlow']:'';return''+_0x2ee516[_0x106fcd(0x186)]+_0x22b3f1+_0x52646e+_0x59b5cc;}export function buildVerifyFeatureRangerwrightCliPrompt(_0xd54dab){const _0x1fb1eb=_0x3145,_0x285866={'vmXtJ':function(_0x4ad80a,_0x6d30ae){return _0x4ad80a(_0x6d30ae);},'fOPjX':function(_0x387f02,_0x21e3de){return _0x387f02(_0x21e3de);},'FidDT':'about:blank','ZcUiU':function(_0x279391,_0x5d3b9d){return _0x279391(_0x5d3b9d);}},{checklistItem:_0x22ec34,itemFeedback:_0x2b25ed,taskDescription:_0x2b0cda,commandPrefix:_0x257a14,isCdpMode:_0x3bac08,url:_0x2caf51,cdpEndpoint:_0x314cc4,loginInstructions:_0x137cfd}=_0xd54dab,_0x5680a1=_0x1fb1eb(0x1b2),_0x4dfe0f='key_99_final-state.png',_0xf8501f=_0x3bac08?_0x257a14+_0x1fb1eb(0x1c0)+_0x285866['vmXtJ'](quoteShellArg,_0x5680a1):_0x257a14+_0x1fb1eb(0x180)+_0x285866['fOPjX'](quoteShellArg,_0x2caf51??_0x285866['FidDT'])+'\x20--screenshot-path\x20'+quoteShellArg(_0x5680a1),_0x23fbb0=_0x3bac08?_0x1fb1eb(0x181)+_0x314cc4+_0x1fb1eb(0x1a3):'CRITICAL\x20URL\x20REQUIREMENT:\x0aYour\x20base\x20URL\x20is:\x20'+_0x2caf51+_0x1fb1eb(0x18f),_0x5f1903=_0x137cfd?'\x0a\x0a##\x20Authentication\x0aBEFORE\x20starting\x20the\x20verification\x20task,\x20authenticate\x20using\x20these\x20steps:\x0a'+_0x137cfd+_0x1fb1eb(0x1bb):'';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'+_0x285866['ZcUiU'](renderScenarioSections,{'checklistItem':_0x22ec34,'itemFeedback':_0x2b25ed})+_0x1fb1eb(0x19c)+_0x2b0cda+'\x0a\x0a'+_0x23fbb0+_0x5f1903+_0x1fb1eb(0x1b5)+_0x257a14+'\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'+_0xf8501f+_0x1fb1eb(0x189)+_0x257a14+'\x20click-and-inspect\x20e37\x20--screenshot-path\x20'+quoteShellArg(_0x4dfe0f)+_0x1fb1eb(0x16a);}export function buildVerifyFeatureRangerwrightCliDebugPrompt(_0x4f85e3){const _0x362b96=_0x3145,_0x562422={'TTJyA':'01_mozilla-homepage.png','UOFMF':function(_0xc8b19e,_0x4c20c3){return _0xc8b19e(_0x4c20c3);}},_0xc26a4=_0x562422['TTJyA'],_0x393495=_0x362b96(0x1ae);return _0x362b96(0x187)+_0x4f85e3['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`'+_0x4f85e3[_0x362b96(0x165)]+_0x362b96(0x180)+_0x562422['UOFMF'](quoteShellArg,_0x4f85e3[_0x362b96(0x1b4)])+_0x362b96(0x166)+quoteShellArg(_0xc26a4)+'`\x0a2.\x20Use\x20the\x20returned\x20JSON\x20to\x20find\x20the\x20\x22Learn\x20More\x22\x20link\x20ref.\x0a3.\x20Run\x20`'+_0x4f85e3[_0x362b96(0x165)]+_0x362b96(0x173)+_0x562422[_0x362b96(0x17b)](quoteShellArg,_0x393495)+_0x362b96(0x1a5);}export function summarizeVerifyFeatureRangerwrightCliCommandAvailability(_0x59fdd3){const _0x42dc1f=_0x3145,_0x555a54=[..._0x59fdd3[_0x42dc1f(0x197)]()][_0x42dc1f(0x198)]();let _0x159b90=0x0;for(const _0x59b99a of _0x59fdd3[_0x42dc1f(0x1c4)]()){_0x159b90+=_0x59b99a;}return{'cliCommandCount':_0x159b90,'cliCommandsSeen':_0x555a54,'noCliCommandsCalled':_0x159b90===0x0};}export function createVerifyFeatureRangerwrightCliHooks(_0xbf9e39){const _0x43a0fa=_0x3145,_0xca743f={'UjrRW':function(_0x125b49,_0x589fa0){return _0x125b49!==_0x589fa0;},'HnNIV':'PostToolUse','bSDdp':function(_0x20fd35,_0xde5411){return _0x20fd35!==_0xde5411;},'suKKB':'Bash','zsbbh':'rangerwright_cli_command','ItCoc':function(_0x3340d3,_0x156fc8){return _0x3340d3(_0x156fc8);},'sreiH':_0x43a0fa(0x1a8)},_0x1237a7=new Map(),_0x51fe5f=async _0x4b3607=>{const _0xb262fc=_0x43a0fa;if(_0xca743f[_0xb262fc(0x16d)](_0x4b3607['hook_event_name'],_0xca743f['HnNIV']))return{};const _0x13bd3f=_0x4b3607;if(_0xca743f[_0xb262fc(0x169)](_0x13bd3f['tool_name'],_0xca743f[_0xb262fc(0x17d)]))return{};const _0x2beae1=_0x13bd3f[_0xb262fc(0x1a7)],_0xf72fc=extractBashCommand(_0x2beae1);if(!_0xf72fc)return{};const _0x4fffe8=parseRangerwrightCliCommand(_0xf72fc);if(!_0x4fffe8)return{};return _0x1237a7['set'](_0x4fffe8,(_0x1237a7['get'](_0x4fffe8)||0x0)+0x1),_0xbf9e39['trackPhaseStart'](_0xca743f[_0xb262fc(0x191)],{'subcommand':_0x4fffe8}),_0xbf9e39['trackPhaseEnd'](_0xca743f['zsbbh'],{'subcommand':_0x4fffe8,'commandPreview':_0xca743f[_0xb262fc(0x1b9)](truncatePreview,_0xf72fc)}),console[_0xb262fc(0x1ad)]('[rangerwright-cli]\x20'+formatRangerwrightCliLog(_0xf72fc,_0x4fffe8)),{};},_0x27410f=async _0x4c43b6=>{const _0x4ab1dc=_0x43a0fa;if(_0x4c43b6[_0x4ab1dc(0x19f)]!==_0xca743f[_0x4ab1dc(0x19b)])return{};const _0x4359f1=_0x4c43b6;if(_0xca743f['UjrRW'](_0x4359f1[_0x4ab1dc(0x17c)],'Bash'))return{};return await _0xbf9e39['trackPhaseError'](_0x4ab1dc(0x1b3),_0x4359f1['error'],{'transport':_0x4ab1dc(0x184),'toolName':_0xca743f[_0x4ab1dc(0x17d)]}),{};};return{'postToolUseHook':_0x51fe5f,'postToolUseFailureHook':_0x27410f,'commandCounts':_0x1237a7};}async function runRangerwrightLifecycleCommand(_0x45ea50){const _0x1a5ffb=_0x3145,_0x500c18={'XvBjh':function(_0x5e99a7,_0x2a928b,_0x456e41){return _0x5e99a7(_0x2a928b,_0x456e41);}},{options:_0x4608d3,commandArgs:_0x5cc60f,env:_0x128c41,telemetry:_0x5502fa,phase:_0x2ff120,metadata:_0x433757,timeoutMs:_0x4267b5}=_0x45ea50;_0x5502fa['trackPhaseStart'](_0x2ff120,_0x433757);try{const _0x28e838=await runRangerwrightCliCommand({..._0x4608d3,'commandArgs':_0x5cc60f,'cwd':process['cwd'](),'env':_0x128c41,'timeoutMs':_0x4267b5??RANGERWRIGHT_CLI_COMMAND_TIMEOUT_MS});_0x5502fa[_0x1a5ffb(0x18d)](_0x2ff120,{..._0x433757,'subcommand':_0x28e838[_0x1a5ffb(0x1a2)]['subcommand'],'stdoutPreview':_0x500c18['XvBjh'](truncatePreview,_0x28e838[_0x1a5ffb(0x18c)],0x7d0),'stderrPreview':truncatePreview(_0x28e838['stderr'],0x7d0)});}catch(_0x53fbcf){await _0x5502fa['trackPhaseError'](_0x2ff120,_0x53fbcf,_0x433757);throw _0x53fbcf;}}export async function finalizeVerifyFeatureRangerwrightCliSession(_0x4133f9){const _0x16e950=_0x3145,_0x6573b0={'xYpiM':'rangerwright_cli_tracing_stop','cyUyE':'video-stop'},{telemetry:_0x3d1436,rangerwrightOptions:_0x599f15,env:_0x327967,transportMetadata:_0x422bae}=_0x4133f9,_0x55f9c4=[{'phase':_0x6573b0[_0x16e950(0x190)],'commandArgs':['tracing-stop']},{'phase':'rangerwright_cli_video_stop','commandArgs':[_0x6573b0[_0x16e950(0x18a)]]},{'phase':_0x16e950(0x1a9),'commandArgs':['close']}];for(const _0x252d4c of _0x55f9c4){try{await runRangerwrightLifecycleCommand({'options':_0x599f15,'commandArgs':[..._0x252d4c['commandArgs']],'env':_0x327967,'telemetry':_0x3d1436,'phase':_0x252d4c[_0x16e950(0x17e)],'metadata':_0x422bae});}catch{}}}
|