@ranger-testing/ranger-cli 3.1.4-alpha.ffeeafe-46 → 3.1.5-alpha.9b89f77-48
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 +2 -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(_0x5594ce,_0x22e373){const _0x55b29f=_0x3278,_0x3cb6c6=_0x5594ce();while(!![]){try{const _0x415270=-parseInt(_0x55b29f(0xf3))/0x1+-parseInt(_0x55b29f(0x7f))/0x2+-parseInt(_0x55b29f(0xb0))/0x3+-parseInt(_0x55b29f(0xed))/0x4*(parseInt(_0x55b29f(0x6c))/0x5)+-parseInt(_0x55b29f(0xd4))/0x6+-parseInt(_0x55b29f(0x8d))/0x7*(parseInt(_0x55b29f(0x87))/0x8)+parseInt(_0x55b29f(0xd6))/0x9;if(_0x415270===_0x22e373)break;else _0x3cb6c6['push'](_0x3cb6c6['shift']());}catch(_0x57e725){_0x3cb6c6['push'](_0x3cb6c6['shift']());}}}(_0x5766,0x2dda3));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(_0x48515f,_0x75cbd4=PLAYWRIGHT_CLI_PREVIEW_LIMIT){const _0xdc0eb0=_0x3278,_0x98b994={'HixKR':function(_0xf9f7d4,_0x2afcc1){return _0xf9f7d4+_0x2afcc1;}};return _0x48515f[_0xdc0eb0(0xaa)]>_0x75cbd4?_0x98b994['HixKR'](_0x48515f[_0xdc0eb0(0xd5)](0x0,_0x75cbd4),'...'):_0x48515f;}function buildCliArtifactPath(_0x9db5e1,_0x375b8f){const _0x2dbc37=_0x3278,_0x24dcd0={'AXwet':function(_0x172c77,_0x194441,_0x52682){return _0x172c77(_0x194441,_0x52682);}};return _0x24dcd0[_0x2dbc37(0x97)](join,_0x9db5e1,_0x375b8f);}function toStepDisplayName(_0x9b7593){const _0x17d2a4=_0x3278,_0x39544d=basename(_0x9b7593)[_0x17d2a4(0x73)](/\.(?:png|ya?ml)$/i,'')[_0x17d2a4(0x73)](/^key_/i,'')['replace'](/^\d+_/,'')['replace'](/-/g,'\x20');return{'name':_0x39544d,'isKeyStep':/^key_/i['test'](basename(_0x9b7593))};}function extractShellValue(_0x5ef209){if(!_0x5ef209)return null;return _0x5ef209[0x1]??_0x5ef209[0x2]??_0x5ef209[0x3]??null;}function extractFilenameOption(_0xa8ce7b){const _0x187a0c=_0x3278;return extractShellValue(_0xa8ce7b[_0x187a0c(0xe4)](/--filename(?:=|\s+)(?:"([^"]+)"|'([^']+)'|(\S+))/));}function extractFirstCommandArgument(_0x1642ec,_0x43cb27){const _0x3c6d99=_0x3278,_0x29eb75={'SjVQj':function(_0xa9da4d,_0x1c95a2){return _0xa9da4d(_0x1c95a2);}},_0x4de613=_0x43cb27[_0x3c6d99(0x73)](/[.*+?^${}()|[\]\\]/g,'\x5c$&');return _0x29eb75[_0x3c6d99(0x80)](extractShellValue,_0x1642ec['match'](new RegExp('(?:^|\x5cs)'+_0x4de613+'(?:\x5cs+(?:\x22([^\x22]+)\x22|\x27([^\x27]+)\x27|(\x5cS+)))')));}function _0x3278(_0x147502,_0x472e39){_0x147502=_0x147502-0x6c;const _0x576666=_0x5766();let _0x327840=_0x576666[_0x147502];return _0x327840;}function _0x5766(){const _0x5730d9=['ysGLk','\x22,\x20\x22','key_03_success-state.png','pop','\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.','open\x20browser','tool_failure','notes','\x20tracing-start`,\x20then\x20`','02_button-clicked.png','trace.trace.zip','1667358BaMvZy','slice','17529948WdwQdi','press\x20','session-recording.webm','##\x20App\x20Context\x0aYou\x20are\x20connected\x20to\x20a\x20desktop\x20application\x20via\x20CDP\x20(Chrome\x20DevTools\x20Protocol)\x20at\x20','capture\x20snapshot\x20`','click','\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.','click\x20','unaddressedComments','stringify','[playwright-cli]\x20','trackPhaseStart','stop\x20video\x20recording','>\x20\x22','match','RrIsz','mtimeMs','fill\x20','press','sort','key_04_success-state.png','capture\x20screenshot','hXNzE','1200932LOVLKd','capture\x20step\x20`','`\x0a10.\x20Return\x20immediately\x20with\x20the\x20structured\x20output\x0a\x0aReturn\x20your\x20findings\x20in\x20the\x20structured\x20output\x20format.','--filename=','mhtQQ','join','336112AXZXWX','`\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`','mVDSa','\x20snapshot\x20--filename\x20','5usSaah','qXHJP','tool_call','check','log','tracing-start','fsBSs','replace','\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','bcxTV','short','`\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','\x20open`,\x20then\x20`','UZWwe','name','description','\x20screenshot\x20--filename\x20','numeric','gnUsX','313992XnaUvx','SjVQj','isFile','screenshot','tab-new','set','wNPWf','xmsZD','544GtzhIZ','snapshot','baBXW','**\x20(','video-start','error','33817bidlge','push','RyXbO','\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.','ZkjJn','stdout','\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','select\x20tab\x20','\x0a\x0a##\x20Browser\x20Command\x20Reference\x0aUse\x20Bash\x20to\x20run\x20Playwright\x20CLI\x20commands\x20with\x20this\x20exact\x20prefix:\x0a`','open\x20','AXwet','Bash','`\x0a\x0a-\x20Write\x20all\x20artifacts\x20under\x20`','tool_name','gYRRS','get','nOZOn','\x20tracing-start`\x0a3.\x20Run\x20`','cwd','map','trim','domRef','trackPhaseEnd','values','playwright-cli','\x20video-start`\x0a4.\x20Save\x20every\x20snapshot\x20and\x20screenshot\x20under\x20`','02_learn-more.yml','run-code','rQCdd','length','\x20run-code\x20\x22<playwright\x20code>\x22`.\x0a7.\x20Do\x20not\x20run\x20`close`,\x20`tracing-stop`,\x20or\x20`video-stop`;\x20the\x20host\x20finalizes\x20the\x20session\x20and\x20artifacts.\x0a8.\x20After\x20completing\x20the\x20verification,\x20evaluate\x20whether\x20the\x20result\x20adequately\x20verifies\x20the\x20scenario','##\x20Instructions\x0a1.\x20Use\x20Bash\x20plus\x20Playwright\x20CLI\x20only.\x20Do\x20NOT\x20call\x20MCP\x20browser\x20tools.\x0a2.\x20Start\x20by\x20running\x20`','nJTXt','playwright_cli_video_stop','content','1080657oxKZDW','trackPhaseError','MXcWz','tab-select','\x20video-start`.\x0a3.\x20Save\x20every\x20snapshot\x20and\x20screenshot\x20under\x20`','xUwON','string','JirWR','\x0a\x0a1.\x20Run\x20`','`\x20using\x20absolute\x20paths\x20only.\x20Do\x20not\x20use\x20relative\x20filenames.\x0a4.\x20Take\x20a\x20snapshot\x20with\x20`','select\x20tab','\x0a\x0a##\x20Task\x20to\x20Execute\x0a','`\x0a-\x20`snapshot\x20--filename\x20','01_initial.yml','-\x20[','subcommand','en-US','03_learn-more.png','`:\x20\x22','pEUoL','VrshY','phase','03_result-visible.png','KfAwk','GNizQ'];_0x5766=function(){return _0x5730d9;};return _0x5766();}function formatCommandTarget(_0x34fc0e){const _0xb93be=_0x3278,_0x339f1d={'MQmzR':function(_0x12e8bd,_0x4d0046,_0x5d52f2){return _0x12e8bd(_0x4d0046,_0x5d52f2);}};if(!_0x34fc0e)return'target';if(/^e\d+$/i['test'](_0x34fc0e))return'ref\x20'+_0x34fc0e;return JSON[_0xb93be(0xdf)](_0x339f1d['MQmzR'](truncatePreview,_0x34fc0e,0x78));}function formatPlaywrightCliLog(_0x4c004a,_0x31f123){const _0x451060=_0x3278,_0x4b834b={'xmsZD':'open','HAdZc':_0x451060(0xce),'LAZvP':_0x451060(0x71),'BlEJa':'start\x20tracing','QPwkw':'stop\x20tracing','RdjLi':'start\x20video\x20recording','ajnSS':'video-stop','bvpop':'snapshot','bcxTV':'capture\x20snapshot','qXHJP':function(_0x5b361c,_0x397a35){return _0x5b361c(_0x397a35);},'fPXyb':_0x451060(0xeb),'rQCdd':_0x451060(0xdb),'ysGLk':function(_0xc5a4eb,_0x25be94){return _0xc5a4eb(_0x25be94);},'nOZOn':function(_0x2f4ad3,_0xde64b8,_0x5cb1ec){return _0x2f4ad3(_0xde64b8,_0x5cb1ec);},'UZWwe':_0x451060(0x6f),'knzgK':function(_0xd8d710,_0x2757ca){return _0xd8d710(_0x2757ca);},'gYRRS':_0x451060(0xe8),'LwHCd':_0x451060(0xb3),'nswfA':function(_0x48e8c2,_0xc96e5c,_0x50c11){return _0x48e8c2(_0xc96e5c,_0x50c11);},'CiMSe':_0x451060(0xba)};switch(_0x31f123){case _0x4b834b[_0x451060(0x86)]:{const _0x50fbb3=extractFirstCommandArgument(_0x4c004a,_0x31f123);return _0x50fbb3?_0x451060(0x96)+_0x50fbb3:_0x4b834b['HAdZc'];}case _0x4b834b['LAZvP']:return _0x4b834b['BlEJa'];case'tracing-stop':return _0x4b834b['QPwkw'];case _0x451060(0x8b):return _0x4b834b['RdjLi'];case _0x4b834b['ajnSS']:return _0x451060(0xe2);case _0x4b834b['bvpop']:{const _0x4d3c48=extractFilenameOption(_0x4c004a);if(!_0x4d3c48)return _0x4b834b[_0x451060(0x75)];const {name:_0x4d9ba1}=_0x4b834b[_0x451060(0x6d)](toStepDisplayName,_0x4d3c48);return _0x451060(0xda)+_0x4d9ba1+'`';}case _0x451060(0x82):{const _0x23f7f3=extractFilenameOption(_0x4c004a);if(!_0x23f7f3)return _0x4b834b['fPXyb'];const {name:_0x28aebd,isKeyStep:_0x10cfe1}=toStepDisplayName(_0x23f7f3);return _0x10cfe1?'capture\x20key\x20step\x20`'+_0x28aebd+'`':_0x451060(0xee)+_0x28aebd+'`';}case _0x4b834b[_0x451060(0xa9)]:return _0x451060(0xdd)+_0x4b834b[_0x451060(0xc9)](formatCommandTarget,_0x4b834b[_0x451060(0x9d)](extractFirstCommandArgument,_0x4c004a,_0x31f123));case _0x4b834b[_0x451060(0x79)]:return'check\x20'+_0x4b834b['ysGLk'](formatCommandTarget,_0x4b834b[_0x451060(0x9d)](extractFirstCommandArgument,_0x4c004a,_0x31f123));case'fill':return _0x451060(0xe7)+_0x4b834b['knzgK'](formatCommandTarget,extractFirstCommandArgument(_0x4c004a,_0x31f123));case _0x4b834b[_0x451060(0x9b)]:return _0x451060(0xd7)+formatCommandTarget(extractFirstCommandArgument(_0x4c004a,_0x31f123));case _0x451060(0xa8):return'run\x20custom\x20Playwright\x20code';case _0x451060(0x83):{const _0x31fa0d=_0x4b834b['nOZOn'](extractFirstCommandArgument,_0x4c004a,_0x31f123);return _0x31fa0d?'open\x20new\x20tab\x20'+_0x31fa0d:'open\x20new\x20tab';}case _0x4b834b['LwHCd']:{const _0x2c9eae=_0x4b834b['nswfA'](extractFirstCommandArgument,_0x4c004a,_0x31f123);return _0x2c9eae?_0x451060(0x94)+_0x2c9eae:_0x4b834b['CiMSe'];}default:return _0x31f123;}}function extractPlaywrightCliToolDescription(_0x2da754){const _0xce4981=_0x3278,_0x20a114={'USQMD':_0xce4981(0xb6),'bfhsx':function(_0x509907,_0x1e2fa0){return _0x509907>_0x1e2fa0;}},_0x591db6=_0x2da754[_0xce4981(0x7b)];if(typeof _0x591db6!==_0x20a114['USQMD'])return null;const _0x106537=_0x591db6[_0xce4981(0xa1)]()[_0xce4981(0x73)](/\s+/g,'\x20');return _0x20a114['bfhsx'](_0x106537['length'],0x0)?_0x106537:null;}export function formatPlaywrightCliConsoleLogMessage(_0x47458e,_0xf1cd9a,_0x5532d5){const _0x31aa71=_0x3278,_0x54f2db=formatPlaywrightCliLog(_0xf1cd9a,_0x5532d5),_0x323ea8=extractPlaywrightCliToolDescription(_0x47458e);if(!_0x323ea8)return _0x31aa71(0xe0)+_0x54f2db;if(process['env']['DEBUG'])return'[ranger-verification-agent]\x20'+_0x323ea8+'\x20('+_0x54f2db+')';return'[ranger-verification-agent]\x20'+_0x323ea8;}export function buildVerifyFeatureCliDebugPrompt(_0x5278c9,_0x11e000){const _0x5c517c=_0x3278,_0x372e9a={'pEUoL':function(_0x56407c,_0x3f3068,_0xd3a7ef){return _0x56407c(_0x3f3068,_0xd3a7ef);},'KfAwk':'00_mozilla-homepage.yml','JirWR':'01_mozilla-homepage.png','mhtQQ':function(_0xb96597,_0x1c458c,_0x571f3a){return _0xb96597(_0x1c458c,_0x571f3a);},'ZXhmp':_0x5c517c(0xc1),'ICdhX':function(_0x518ec4,_0x14055c){return _0x518ec4(_0x14055c);},'fOTYN':function(_0x1347cc,_0x39a351){return _0x1347cc(_0x39a351);}},_0x465cca=_0x372e9a[_0x5c517c(0xc3)](buildCliArtifactPath,_0x11e000,_0x372e9a[_0x5c517c(0xc7)]),_0x2d3203=buildCliArtifactPath(_0x11e000,_0x372e9a[_0x5c517c(0xb7)]),_0x4e1f7b=_0x372e9a['pEUoL'](buildCliArtifactPath,_0x11e000,_0x5c517c(0xa7)),_0x3371a6=_0x372e9a[_0x5c517c(0xf1)](buildCliArtifactPath,_0x11e000,_0x372e9a['ZXhmp']),_0x58a9b1=quoteShellArg(_0x465cca),_0x1291a4=_0x372e9a['ICdhX'](quoteShellArg,_0x2d3203),_0x4492be=quoteShellArg(_0x4e1f7b),_0x5a768c=_0x372e9a['fOTYN'](quoteShellArg,_0x3371a6);return'You\x20are\x20testing\x20browser\x20automation.\x20Your\x20task\x20is\x20simple:\x0a\x0aUse\x20Bash\x20and\x20Playwright\x20CLI\x20only.\x20The\x20browser\x20command\x20prefix\x20is:\x0a'+_0x5278c9+_0x5c517c(0xb8)+_0x5278c9+'\x20open\x20https://www.mozilla.org`\x0a2.\x20Run\x20`'+_0x5278c9+_0x5c517c(0x9e)+_0x5278c9+_0x5c517c(0xa6)+_0x11e000+'`\x20using\x20absolute\x20paths\x20only.\x20Do\x20not\x20use\x20relative\x20filenames.\x0a5.\x20Run\x20`'+_0x5278c9+'\x20snapshot\x20--filename\x20'+_0x58a9b1+'`\x0a5.\x20Read\x20the\x20snapshot\x20file\x20to\x20find\x20the\x20\x22Learn\x20More\x22\x20link\x20reference\x0a6.\x20Run\x20`'+_0x5278c9+_0x5c517c(0x7c)+_0x1291a4+'`\x0a7.\x20Click\x20the\x20\x22Learn\x20More\x22\x20link\x20with\x20Playwright\x20CLI\x0a8.\x20Run\x20`'+_0x5278c9+'\x20snapshot\x20--filename\x20'+_0x4492be+'`\x0a9.\x20Run\x20`'+_0x5278c9+'\x20screenshot\x20--filename\x20'+_0x5a768c+_0x5c517c(0xef);}export function buildVerifyFeatureCliPrompt(_0x518cfb){const _0x1053f6=_0x3278,_0x47cab2={'RyXbO':_0x1053f6(0xc0),'JYKxk':_0x1053f6(0x7d),'kHtHV':'Reviewer','caQlR':function(_0x39f09f,_0x3b8cc0,_0xe4d8cc){return _0x39f09f(_0x3b8cc0,_0xe4d8cc);},'XjagB':function(_0x59bf81,_0x4b9135,_0x3da751){return _0x59bf81(_0x4b9135,_0x3da751);},'ZkjJn':function(_0x3865e0,_0x275c83){return _0x3865e0(_0x275c83);},'AqgZl':function(_0x32320f,_0x5c325a){return _0x32320f(_0x5c325a);},'KExzC':function(_0x19080d,_0x2e9032,_0x2c0b5f){return _0x19080d(_0x2e9032,_0x2c0b5f);},'wkjGc':_0x1053f6(0xea)},{checklistItem:_0x2cf038,itemFeedback:_0x5e80df,taskDescription:_0x13a118,cliCommandPrefix:_0x7cc549,cliArtifactDir:_0x47e5a6,isCdpMode:_0x131738,url:_0x648ded,cdpEndpoint:_0x54cd3d,loginInstructions:_0x4eeb00}=_0x518cfb,_0x123fc7=_0x47cab2['caQlR'](buildCliArtifactPath,_0x47e5a6,_0x1053f6(0xbd)),_0x132ba8=buildCliArtifactPath(_0x47e5a6,'02_state.yml'),_0x5f5afb=_0x47cab2['XjagB'](buildCliArtifactPath,_0x47e5a6,_0x1053f6(0xcb)),_0x165a40=buildCliArtifactPath(_0x47e5a6,'01_initial-state.png'),_0x3312d3=_0x47cab2['ZkjJn'](quoteShellArg,_0x123fc7),_0x2184ce=quoteShellArg(_0x132ba8),_0x57c982=_0x47cab2[_0x1053f6(0x91)](quoteShellArg,_0x5f5afb),_0x15c06d=_0x47cab2['AqgZl'](quoteShellArg,_0x165a40),_0x128b60=_0x2cf038['notes']?'\x0a\x0a##\x20Additional\x20Notes\x0a'+_0x2cf038[_0x1053f6(0xd0)]:'';let _0x475b31='';if(_0x5e80df&&_0x5e80df[_0x1053f6(0xde)]['length']>0x0){const _0x1bf52c=_0x5e80df['unaddressedComments'][_0x1053f6(0xa0)](_0x4a8ab7=>{const _0x3bec32=_0x1053f6,_0x105482=new Date(_0x4a8ab7['createdAt'])['toLocaleDateString'](_0x47cab2[_0x3bec32(0x8f)],{'month':_0x3bec32(0x76),'day':_0x47cab2['JYKxk']}),_0x4b857a=_0x4a8ab7['authorName']||_0x4a8ab7['authorEmail']||_0x47cab2['kHtHV'],_0x5302e3=_0x4a8ab7[_0x3bec32(0xa2)]?'\x20(on\x20element:\x20<'+(_0x4a8ab7['domRef']['selector']['split']('\x20>\x20')[_0x3bec32(0xcc)]()?.['split'](':')[0x0]||'element')+_0x3bec32(0xe3)+(_0x4a8ab7['domRef']['textContent']||'')[_0x3bec32(0xd5)](0x0,0x32)+'\x22)':'';return _0x3bec32(0xbe)+_0x4a8ab7['id']+']\x20**'+_0x4b857a+_0x3bec32(0x8a)+_0x105482+'):\x20\x22'+_0x4a8ab7[_0x3bec32(0xaf)]+'\x22'+_0x5302e3;})[_0x1053f6(0xf2)]('\x0a');_0x475b31='\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'+_0x1bf52c;}const _0x3cc43a=_0x5e80df?.['canonicalFlow']?'\x0a\x0a##\x20Expected\x20Flow\x20(from\x20previous\x20verification)\x0a'+_0x5e80df['canonicalFlow']:'',_0x247e11=_0x131738?_0x1053f6(0xd9)+_0x54cd3d+'.\x0aThis\x20is\x20NOT\x20a\x20web\x20app\x20—\x20there\x20is\x20no\x20URL\x20to\x20navigate\x20to.\x20The\x20app\x20is\x20already\x20running\x20and\x20connected.':'CRITICAL\x20URL\x20REQUIREMENT:\x0aYour\x20base\x20URL\x20is:\x20'+_0x648ded+'\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',_0x45fc30=_0x648ded?quoteShellArg(_0x648ded):'',_0x11f7cd=_0x131738?_0x1053f6(0xac)+_0x7cc549+_0x1053f6(0x78)+_0x7cc549+_0x1053f6(0xd1)+_0x7cc549+_0x1053f6(0xb4)+_0x47e5a6+_0x1053f6(0xb9)+_0x7cc549+_0x1053f6(0xf6)+_0x3312d3+'`\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`'+_0x7cc549+_0x1053f6(0x7c)+_0x15c06d+'`\x20style\x20absolute\x20paths\x20at\x20key\x20moments.\x0a6.\x20If\x20you\x20need\x20waits\x20or\x20custom\x20assertions,\x20use\x20`'+_0x7cc549+_0x1053f6(0xab):_0x1053f6(0xac)+_0x7cc549+'\x20open\x20'+_0x45fc30+'`,\x20then\x20`'+_0x7cc549+'\x20tracing-start`,\x20then\x20`'+_0x7cc549+'\x20video-start`.\x0a3.\x20Save\x20every\x20snapshot\x20and\x20screenshot\x20under\x20`'+_0x47e5a6+'`\x20using\x20absolute\x20paths\x20only.\x20Do\x20not\x20use\x20relative\x20filenames.\x0a4.\x20Take\x20a\x20snapshot\x20with\x20`'+_0x7cc549+_0x1053f6(0xf6)+_0x3312d3+_0x1053f6(0xf4)+_0x7cc549+'\x20screenshot\x20--filename\x20'+_0x15c06d+'`\x20style\x20absolute\x20paths\x20at\x20key\x20moments.\x0a8.\x20If\x20you\x20need\x20waits\x20or\x20custom\x20assertions,\x20use\x20`'+_0x7cc549+_0x1053f6(0x74),_0xcb4be7=_0x131738?_0x1053f6(0xdc):_0x1053f6(0x90),_0x2d010b=_0x4eeb00?'\x0a\x0a##\x20Authentication\x0aBEFORE\x20starting\x20the\x20verification\x20task,\x20you\x20MUST\x20authenticate\x20using\x20these\x20steps:\x0a'+_0x4eeb00+_0x1053f6(0xcd):'';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'+_0x2cf038[_0x1053f6(0x7b)]+_0x128b60+_0x475b31+_0x3cc43a+_0x1053f6(0xbb)+_0x13a118+'\x0a\x0a'+_0x247e11+_0x2d010b+'\x0a\x0a'+_0x11f7cd+_0x1053f6(0x95)+_0x7cc549+_0x1053f6(0x99)+_0x47e5a6+_0x1053f6(0xbc)+_0x2184ce+_0x1053f6(0x77)+_0x57c982+'`\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`'+_0x47e5a6+_0x1053f6(0xc2)+_0x165a40+'\x22,\x20\x22'+_0x47cab2['KExzC'](buildCliArtifactPath,_0x47e5a6,_0x1053f6(0xd2))+_0x1053f6(0xca)+_0x47cab2['KExzC'](buildCliArtifactPath,_0x47e5a6,_0x1053f6(0xc6))+_0x1053f6(0x93)+buildCliArtifactPath(_0x47e5a6,_0x47cab2['wkjGc'])+'\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'+_0xcb4be7+'\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.';}export function summarizeVerifyFeatureCliCommandAvailability(_0x53d2d3){const _0x4987f2=_0x3278,_0xcecaef={'wySPr':function(_0x31c036,_0x466a09){return _0x31c036===_0x466a09;}},_0x44e862=[..._0x53d2d3['keys']()][_0x4987f2(0xe9)]();let _0x21b841=0x0;for(const _0x119506 of _0x53d2d3[_0x4987f2(0xa4)]()){_0x21b841+=_0x119506;}return{'cliCommandCount':_0x21b841,'cliCommandsSeen':_0x44e862,'noCliCommandsCalled':_0xcecaef['wySPr'](_0x21b841,0x0)};}export function createVerifyFeatureCliHooks(_0x5c9228){const _0x8db406=_0x3278,_0x2a71e8={'wNPWf':function(_0x2f1f02,_0x9f6ca4){return _0x2f1f02!==_0x9f6ca4;},'VrshY':'PostToolUse','nJTXt':function(_0x5f15b1,_0x3eb26f){return _0x5f15b1(_0x3eb26f);},'baBXW':function(_0x413afd,_0x27cfb5){return _0x413afd+_0x27cfb5;},'aGgdS':'tool_call','LPDZd':_0x8db406(0x88),'vAkVX':function(_0x34a185,_0x35088f,_0x571d26,_0x21b720){return _0x34a185(_0x35088f,_0x571d26,_0x21b720);},'xUwON':'PostToolUseFailure','gnUsX':_0x8db406(0x98)},_0x57990c=new Map(),_0x1cfad9=async _0x47916b=>{const _0x3d5672=_0x8db406;if(_0x2a71e8[_0x3d5672(0x85)](_0x47916b['hook_event_name'],_0x2a71e8[_0x3d5672(0xc4)]))return{};const _0x28c3b2=_0x47916b;if(_0x28c3b2[_0x3d5672(0x9a)]!=='Bash')return{};const _0x432612=_0x28c3b2['tool_input'],_0x4a0557=_0x2a71e8['nJTXt'](extractBashCommand,_0x432612);if(!_0x4a0557)return{};const _0x53ec1d=parsePlaywrightCliCommand(_0x4a0557);if(!_0x53ec1d)return{};return _0x57990c[_0x3d5672(0x84)](_0x53ec1d,_0x2a71e8[_0x3d5672(0x89)](_0x57990c[_0x3d5672(0x9c)](_0x53ec1d)||0x0,0x1)),_0x5c9228['trackPhaseStart'](_0x3d5672(0x6e),{'transport':_0x3d5672(0xa5),'toolName':_0x53ec1d}),_0x5c9228['trackPhaseEnd'](_0x2a71e8['aGgdS'],{'transport':'playwright-cli','toolName':_0x53ec1d,'bashCommandPreview':_0x2a71e8[_0x3d5672(0xad)](truncatePreview,_0x4a0557)}),_0x53ec1d!==_0x2a71e8['LPDZd']&&console[_0x3d5672(0x70)](_0x2a71e8['vAkVX'](formatPlaywrightCliConsoleLogMessage,_0x432612,_0x4a0557,_0x53ec1d)),{};},_0x4b46f8=async _0x2873a3=>{const _0x144e16=_0x8db406;if(_0x2873a3['hook_event_name']!==_0x2a71e8[_0x144e16(0xb5)])return{};const _0x2b4a6a=_0x2873a3;if(_0x2a71e8['wNPWf'](_0x2b4a6a['tool_name'],_0x2a71e8[_0x144e16(0x7e)]))return{};return await _0x5c9228[_0x144e16(0xb1)](_0x144e16(0xcf),_0x2b4a6a[_0x144e16(0x8c)],{'transport':_0x144e16(0xa5),'toolName':_0x2a71e8['gnUsX']}),{};};return{'postToolUseHook':_0x1cfad9,'postToolUseFailureHook':_0x4b46f8,'commandCounts':_0x57990c};}async function runPlaywrightCliLifecycleCommand(_0x7e89ff){const _0x3ba7df=_0x3278,_0x1ad9a0={'GNizQ':function(_0x3a0b0f,_0x4c24f3,_0xa17bbe){return _0x3a0b0f(_0x4c24f3,_0xa17bbe);}},{sessionId:_0x2dfbbe,configPath:_0x500a8f,commandArgs:_0x4c1ca4,env:_0x367f35,telemetry:_0x144a9a,phase:_0x22c09a,metadata:_0x4d53d4,timeoutMs:_0x566bde}=_0x7e89ff;_0x144a9a[_0x3ba7df(0xe1)](_0x22c09a,_0x4d53d4);try{const _0x35dc38=await runPlaywrightCliCommand({'sessionId':_0x2dfbbe,'configPath':_0x500a8f,'commandArgs':_0x4c1ca4,'cwd':process[_0x3ba7df(0x9f)](),'env':_0x367f35,'timeoutMs':_0x566bde??PLAYWRIGHT_CLI_COMMAND_TIMEOUT_MS});_0x144a9a[_0x3ba7df(0xa3)](_0x22c09a,{..._0x4d53d4,'subcommand':_0x35dc38['invocation'][_0x3ba7df(0xbf)],'stdoutPreview':truncatePreview(_0x35dc38[_0x3ba7df(0x92)],0x7d0),'stderrPreview':_0x1ad9a0[_0x3ba7df(0xc8)](truncatePreview,_0x35dc38['stderr'],0x7d0)});}catch(_0x2d3a13){await _0x144a9a[_0x3ba7df(0xb1)](_0x22c09a,_0x2d3a13,_0x4d53d4);throw _0x2d3a13;}}export async function finalizeVerifyFeatureCliSession(_0x343251){const _0x387cba=_0x3278,_0x185cac={'RrIsz':'tracing-stop','QFCcu':'video-stop','mVDSa':'playwright_cli_close','AUtfD':'close','hXNzE':function(_0x1b91ba,_0x190582){return _0x1b91ba(_0x190582);}},{telemetry:_0x49efa1,sessionId:_0xcd40dc,configPath:_0x1f056f,cliArtifactDir:_0x552b8a,env:_0x45d1c3,transportMetadata:_0x3f21f7}=_0x343251,_0x55fb0b=[{'phase':'playwright_cli_tracing_stop','commandArgs':[_0x185cac[_0x387cba(0xe5)]]},{'phase':_0x387cba(0xae),'commandArgs':[_0x185cac['QFCcu'],_0x387cba(0xf0)+buildCliArtifactPath(_0x552b8a,_0x387cba(0xd8))]},{'phase':_0x185cac[_0x387cba(0xf5)],'commandArgs':[_0x185cac['AUtfD']]}];for(const _0x50202d of _0x55fb0b){try{await _0x185cac[_0x387cba(0xec)](runPlaywrightCliLifecycleCommand,{'sessionId':_0xcd40dc,'configPath':_0x1f056f,'commandArgs':[..._0x50202d['commandArgs']],'env':_0x45d1c3,'telemetry':_0x49efa1,'phase':_0x50202d[_0x387cba(0xc5)],'metadata':_0x3f21f7});}catch{}}}export async function loadVerifyFeatureCliTraceUploadArtifact(_0x4feef0){const _0x251793=_0x3278,_0x4da2d0={'YLsRs':'trace.zip','hUwFi':_0x251793(0xd3),'fsBSs':function(_0x539a28,_0x85c95d,_0x4b0e15){return _0x539a28(_0x85c95d,_0x4b0e15);},'qOGsf':function(_0xddd612,_0x48b41a){return _0xddd612(_0x48b41a);}},_0x1088ae=[_0x4da2d0['YLsRs'],_0x4da2d0['hUwFi']];for(const _0x4fc8f0 of _0x1088ae){const _0x445196=_0x4da2d0[_0x251793(0x72)](join,_0x4feef0,_0x4fc8f0);try{return{'buffer':await _0x4da2d0['qOGsf'](readFile,_0x445196),'source':_0x445196};}catch{}}return null;}export async function rehomeVerifyFeatureCliArtifacts(_0x237d41){const _0x1241ae=_0x3278,_0x672fdc={'hjwYJ':function(_0x80b038,_0xaa95d2){return _0x80b038(_0xaa95d2);},'wPLTe':function(_0x1e50eb,_0x624442){return _0x1e50eb===_0x624442;},'MXcWz':function(_0x19411f,_0x3092d2,_0x53bdf2){return _0x19411f(_0x3092d2,_0x53bdf2);}},{cwd:_0x1fb48f,cliArtifactDir:_0x43efc8,startTime:_0x294434}=_0x237d41,_0x33a5bc=[];await mkdir(_0x43efc8,{'recursive':!![]});const _0x468ad4=await readdir(_0x1fb48f,{'withFileTypes':!![]});for(const _0x21b00b of _0x468ad4){if(!_0x21b00b[_0x1241ae(0x81)]()||!VERIFY_FEATURE_CLI_ARTIFACT_FILE_PATTERN['test'](_0x21b00b['name']))continue;const _0x4277a5=join(_0x1fb48f,_0x21b00b['name']),_0x249913=await _0x672fdc['hjwYJ'](stat,_0x4277a5);if(_0x249913[_0x1241ae(0xe6)]+0x7d0<_0x294434)continue;const _0x36bbb3=buildCliArtifactPath(_0x43efc8,_0x21b00b['name']);if(_0x672fdc['wPLTe'](_0x4277a5,_0x36bbb3))continue;await _0x672fdc[_0x1241ae(0xb2)](rename,_0x4277a5,_0x36bbb3),_0x33a5bc[_0x1241ae(0x8e)](_0x21b00b[_0x1241ae(0x7a)]);}return _0x33a5bc[_0x1241ae(0xe9)]();}
|
|
@@ -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 _0x490272=_0x30a6;(function(_0x1aa043,_0x3adc03){const _0x4f0909=_0x30a6,_0x58c480=_0x1aa043();while(!![]){try{const _0x3bc238=-parseInt(_0x4f0909(0x28d))/0x1+-parseInt(_0x4f0909(0x237))/0x2+parseInt(_0x4f0909(0x1eb))/0x3+-parseInt(_0x4f0909(0x259))/0x4+parseInt(_0x4f0909(0x224))/0x5*(-parseInt(_0x4f0909(0x1e0))/0x6)+parseInt(_0x4f0909(0x201))/0x7+-parseInt(_0x4f0909(0x216))/0x8*(-parseInt(_0x4f0909(0x1d4))/0x9);if(_0x3bc238===_0x3adc03)break;else _0x58c480['push'](_0x58c480['shift']());}catch(_0x56bcbd){_0x58c480['push'](_0x58c480['shift']());}}}(_0xec7a,0xa4fe6));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 _0xec7a(){const _0x2ffa79=['nova_act_session_export','nova-artifacts.zip','session','jdFco','YIpBN','screencastStarted','finally','subcommand','9nEJMAM','close','-pix_fmt','BaSxu','verify','Caches','`\x20using\x20absolute\x20paths\x20only.\x0aReturn\x20your\x20findings\x20in\x20the\x20structured\x20output\x20format.','traceSampleInFlight','UqgLi','BhlHV','nova-user-data/*','daSrl','30BnavbX','sort','set','`.\x0a4.\x20Save\x20every\x20snapshot\x20and\x20screenshot\x20under\x20`','log','pqzjj','oQTbM','nova-session-export.json','yuv420p','allSettled','evaluate','2084697XyqFGz','\x0a\x0a##\x20Additional\x20Notes\x0a','00_initial-state.yml','Borvb','KGDdq','PostToolUse','UeBkD','ACBfl','trim','[nova-act-cli]\x20','\x0a\x0a##\x20Task\x20to\x20Execute\x0a','--report','tagName','\x20session\x20create\x20','ccPdj','browser','isFile','TTgSp','\x0a\x0a##\x20App\x20Context\x0aYour\x20base\x20URL\x20is:\x20','getFrameDir','split','**\x20(','6407359SItzny','cliArtifactDir','has','SQtbS','RWJmw','Unable\x20to\x20read\x20Nova\x20session\x20metadata\x20at\x20','dQwTU','ask','\x20execute\x20\x221.\x20Open\x20the\x20account\x20settings\x20menu.\x202.\x20Click\x20Billing.\x203.\x20Wait\x20for\x20the\x20Billing\x20page\x20to\x20load.\x22\x20','nova_act_session_report','tool_name','BwOqJ','frame-','queueTraceSample','cdp_endpoint','`\x0a-\x20`','domRef','contexts','RQzUW','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','-qr','11462536QninzJ','frameWrites','capture\x20snapshot\x20`','01_initial.yml','create\x20Nova\x20browser\x20session','pop','vulDc','body','startsWith','KhnNG','uGHDG','\x20execute\x20\x22...\x22`\x20command\x20to\x20exercise\x20the\x20current\x20page.\x0a5.\x20Run\x20`','snapshot','Mtqam','235340RPORTQ','captureTraceSample','nova_act_artifact_recording_stop','flatMap','LuVTE','nova-act-cli','params','state','mWQRP','block','join','then','navigate\x20browser','capture\x20key\x20step\x20`','tmKfA','padStart','export','send','error','153752zryeCL','stderr','orZmZ','context','env','utf-8','notes','ffmpeg','invocation','`\x0a3.\x20Run\x20`','\x20snapshot\x20--output\x20','description','slice','zBgdK','novaOptions','cwd','frameCount','test','base64','EFoeO','en-US','scale=trunc(iw/2)*2:trunc(ih/2)*2','nova_act_artifact_recording','start','trackPhaseStart','transportMetadata','toLocaleDateString','DEEDu','stop','Sorjn','session\x20create','sThGc','textContent','ffmpeg.exe','4753880SWXCMp','pages','commandArgs','catch','newCDPSession','KuvVE','Nova\x20CDP\x20connection\x20did\x20not\x20expose\x20a\x20browser\x20context','ChljL','nova_act_command','PreToolUse','capture\x20screenshot','sessionId','wait-for','\x0a\x0a##\x20Expected\x20Flow\x20(from\x20previous\x20verification)\x0a','lmeGa','RMVxy','aCCto','execute\x20Nova\x20browser\x20action','`\x0a\x0aAppend\x20this\x20option\x20suffix\x20to\x20browser\x20commands:\x0a','FuNpI','shellCommand','JREqt','unaddressedComments','Nova\x20session\x20metadata\x20did\x20not\x20include\x20cdp_endpoint\x20for\x20','HpizV','selector','CiXIu','01_initial-state.png','now','connectOverCDP','sessions','\x20verify\x20\x22The\x20Billing\x20page\x20is\x20visible\x20and\x20shows\x20the\x20current\x20plan.\x22\x20','nVNuG','\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`','tracingStarted','Page.stopScreencast','trace.zip','PFAUT','JurNj','lMLgw','nova-report','Nova\x20metadata\x20missing\x20cdp_endpoint\x20at\x20','numeric','browser_pid','jxDrk','get','values','-loglevel','mtimeMs','nova_act_session_close','trackPhaseError','Do\x20not\x20run\x20Nova\x20help,\x20doctor,\x20script,\x20session\x20list,\x20session\x20export,\x20or\x20session\x20close\x20commands\x20during\x20verification.','866553ACijvc','startAttempted','-version','\x20screenshot\x20--output\x20','TXpdC','\x20(on\x20element:\x20<','YSgLe','hook_event_name','name','tracing','dzrjD','trackPhaseEnd','replace','wait\x20for\x20page\x20condition','push','stopped','pgcKx','screenshot','yocUD','frameSession','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.','traceSampleTimer','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.','element','nRBqV','SPORn','.json','wNDVs','Bash','EBOBG','content','-c:v','WNPOb','glyho','tool_input','WWZiM','`\x20using\x20absolute\x20paths\x20only.\x0a5.\x20Take\x20an\x20initial\x20snapshot:\x20`','cQebB','.jpg','ffmpeg-linux','NBYAn','session\x20export','):\x20\x22'];_0xec7a=function(){return _0x2ffa79;};return _0xec7a();}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([_0x490272(0x255),'execute',_0x490272(0x1d8),_0x490272(0x208),'goto',_0x490272(0x265),'snapshot',_0x490272(0x1b2)]),execFileAsync=promisify(execFile);function buildCliArtifactPath(_0x167ce5,_0x2f053d){const _0x4094fc=_0x490272,_0x2583d4={'TXpdC':function(_0x1585b4,_0x5060f4,_0x2ab73d){return _0x1585b4(_0x5060f4,_0x2ab73d);}};return _0x2583d4[_0x4094fc(0x291)](join,_0x167ce5,_0x2f053d);}export class NovaActArtifactRecorder{['params'];[_0x490272(0x1fa)]=null;['context']=null;[_0x490272(0x1b4)]=null;[_0x490272(0x217)]=[];[_0x490272(0x247)]=0x0;['traceSampleCount']=0x0;[_0x490272(0x1b6)]=null;[_0x490272(0x1db)]=null;[_0x490272(0x27b)]=![];['screencastStarted']=![];[_0x490272(0x28e)]=![];['stopped']=![];constructor(_0x324c61){const _0x135dc8=_0x490272;this[_0x135dc8(0x22a)]=_0x324c61;}async['start'](){const _0x1a325e=_0x490272,_0x1f1ce0={'WWZiM':function(_0x3a3fcb,_0x204d5a,_0x482649){return _0x3a3fcb(_0x204d5a,_0x482649);},'Sorjn':'nova_act_artifact_recording'};if(this['startAttempted'])return;this[_0x1a325e(0x28e)]=!![];const _0x2248fa=await this['readSessionMetadataWithRetry'](),_0x3e385f=_0x2248fa[_0x1a325e(0x20f)];if(!_0x3e385f)throw new Error(_0x1a325e(0x270)+this['params']['novaOptions'][_0x1a325e(0x264)]);await _0x1f1ce0[_0x1a325e(0x1c4)](mkdir,this[_0x1a325e(0x22a)]['cliArtifactDir'],{'recursive':!![]}),this['browser']=await chromium[_0x1a325e(0x276)](_0x3e385f,{'timeout':NOVA_ARTIFACT_CDP_CONNECT_TIMEOUT_MS}),this[_0x1a325e(0x23a)]=this['browser'][_0x1a325e(0x212)]()[0x0]??null;if(!this[_0x1a325e(0x23a)])throw new Error(_0x1a325e(0x25f));await this[_0x1a325e(0x23a)][_0x1a325e(0x1aa)][_0x1a325e(0x24e)]({'screenshots':!![],'snapshots':!![],'sources':!![]}),this[_0x1a325e(0x27b)]=!![],this['startTraceSampling'](),await this['startScreencast'](),this[_0x1a325e(0x22a)]['telemetry']['trackPhaseStart'](_0x1a325e(0x24d),{...this[_0x1a325e(0x22a)][_0x1a325e(0x250)],'cdpEndpoint':_0x3e385f,'browserPid':_0x2248fa[_0x1a325e(0x284)],'sessionState':_0x2248fa[_0x1a325e(0x22b)]}),this[_0x1a325e(0x22a)]['telemetry'][_0x1a325e(0x1ac)](_0x1f1ce0[_0x1a325e(0x254)],{...this['params'][_0x1a325e(0x250)],'tracingStarted':this['tracingStarted'],'screencastStarted':this['screencastStarted']});}async[_0x490272(0x253)](){const _0x32806d=_0x490272,_0x36b660={'BVKow':_0x32806d(0x226),'PrxhA':function(_0x592592,_0x1f9efa,_0xd8e4ba){return _0x592592(_0x1f9efa,_0xd8e4ba);},'ckfRY':_0x32806d(0x27d)};if(this['stopped'])return;this[_0x32806d(0x1b0)]=!![];const _0x5bd4fa={...this['params'][_0x32806d(0x250)],'frameCount':this['frameCount'],'traceSampleCount':this['traceSampleCount'],'tracingStarted':this['tracingStarted'],'screencastStarted':this[_0x32806d(0x1d1)]};this['params']['telemetry']['trackPhaseStart'](_0x36b660['BVKow'],_0x5bd4fa);try{await this['stopTraceSampling'](),await this[_0x32806d(0x225)](),await this['stopScreencast'](),await Promise[_0x32806d(0x1e9)](this[_0x32806d(0x217)]);this[_0x32806d(0x23a)]&&this[_0x32806d(0x27b)]&&await this[_0x32806d(0x23a)][_0x32806d(0x1aa)][_0x32806d(0x253)]({'path':_0x36b660['PrxhA'](buildCliArtifactPath,this[_0x32806d(0x22a)][_0x32806d(0x202)],_0x36b660['ckfRY'])});const _0xd980ff=await this['encodeScreencastVideo']();this[_0x32806d(0x22a)]['telemetry'][_0x32806d(0x1ac)](_0x32806d(0x226),{..._0x5bd4fa,'videoPath':_0xd980ff});}catch(_0x1af25b){await this['params']['telemetry'][_0x32806d(0x28b)](_0x32806d(0x226),_0x1af25b,_0x5bd4fa);}finally{await this[_0x32806d(0x1fa)]?.[_0x32806d(0x1d5)]()[_0x32806d(0x25c)](()=>undefined),this['browser']=null,this['context']=null,this['frameSession']=null;}}async['readSessionMetadataWithRetry'](){const _0x171b60=_0x490272,_0x1f6c5c={'TTgSp':function(_0x575e97,_0x18ce3,_0x5c0710,_0x38c2ee,_0x23537e,_0x174ed4){return _0x575e97(_0x18ce3,_0x5c0710,_0x38c2ee,_0x23537e,_0x174ed4);},'BEPso':'.act_cli','FuNpI':_0x171b60(0x1fa),'FDXDp':function(_0x2a56f6,_0x2a84a4,_0x20941a){return _0x2a56f6(_0x2a84a4,_0x20941a);},'dzrjD':function(_0x5d3343,_0x424a87){return _0x5d3343(_0x424a87);},'orZmZ':function(_0x421605,_0x1d6247){return _0x421605<_0x1d6247;},'sGZUP':function(_0x187478,_0x1a5416){return _0x187478-_0x1a5416;},'pqzjj':function(_0x2e3a9c,_0x4d6808){return _0x2e3a9c instanceof _0x4d6808;}},_0x134dfa=_0x1f6c5c[_0x171b60(0x1fc)](join,homedir(),_0x1f6c5c['BEPso'],_0x1f6c5c[_0x171b60(0x26c)],_0x171b60(0x277),this['params']['novaOptions'][_0x171b60(0x264)]+_0x171b60(0x1bb)),_0x2862b1=Date[_0x171b60(0x275)]();let _0x5a30f2;do{try{const _0x277294=JSON['parse'](await _0x1f6c5c['FDXDp'](readFile,_0x134dfa,_0x171b60(0x23c)));if(_0x277294['cdp_endpoint'])return _0x277294;_0x5a30f2=new Error(_0x171b60(0x282)+_0x134dfa);}catch(_0xf361){_0x5a30f2=_0xf361;}await _0x1f6c5c[_0x171b60(0x1ab)](delay,0x64);}while(_0x1f6c5c[_0x171b60(0x239)](_0x1f6c5c['sGZUP'](Date['now'](),_0x2862b1),NOVA_ARTIFACT_METADATA_WAIT_MS));if(_0x1f6c5c[_0x171b60(0x1e5)](_0x5a30f2,Error))throw _0x5a30f2;throw new Error(_0x171b60(0x206)+_0x134dfa);}async['startScreencast'](){const _0x2f955a=_0x490272,_0x361871={'SnQJy':function(_0x7942a3,_0x4a6774){return _0x7942a3(_0x4a6774);},'glyho':function(_0x22c21c,_0x1168fc,_0x5d33d8){return _0x22c21c(_0x1168fc,_0x5d33d8);},'MMDJp':_0x2f955a(0x249),'Plvoc':function(_0xe83b3,_0x4ee39a,_0x154deb){return _0xe83b3(_0x4ee39a,_0x154deb);},'lMIqY':'Page.startScreencast','WNPOb':'jpeg'};if(!this['context'])return;const _0x5d79ce=this[_0x2f955a(0x23a)][_0x2f955a(0x25a)]()[0x0];if(!_0x5d79ce)return;const _0x209b78=this[_0x2f955a(0x1fe)]();await _0x361871['Plvoc'](mkdir,_0x209b78,{'recursive':!![]});const _0x18ecf7=await this[_0x2f955a(0x23a)][_0x2f955a(0x25d)](_0x5d79ce);this[_0x2f955a(0x1b4)]=_0x18ecf7,_0x18ecf7['on']('Page.screencastFrame',_0x302431=>{const _0x96d563=_0x2f955a,_0x487f0f=++this['frameCount'],_0x45fc71=join(_0x209b78,_0x96d563(0x20d)+_0x361871['SnQJy'](String,_0x487f0f)[_0x96d563(0x233)](0x6,'0')+_0x96d563(0x1c7)),_0x1c832f=_0x361871[_0x96d563(0x1c2)](writeFile,_0x45fc71,Buffer['from'](_0x302431['data'],_0x361871['MMDJp']))['catch'](()=>undefined)[_0x96d563(0x1d2)](()=>_0x18ecf7[_0x96d563(0x235)]('Page.screencastFrameAck',{'sessionId':_0x302431['sessionId']}))[_0x96d563(0x22f)](()=>undefined)[_0x96d563(0x25c)](()=>undefined);this['frameWrites'][_0x96d563(0x1af)](_0x1c832f);}),await _0x18ecf7[_0x2f955a(0x235)](_0x361871['lMIqY'],{'format':_0x361871[_0x2f955a(0x1c1)],'quality':0x4b,'everyNthFrame':0x6}),this['screencastStarted']=!![];}async['stopScreencast'](){const _0x447ad8=_0x490272,_0x563540={'Mtqam':_0x447ad8(0x27c)};if(!this['frameSession']||!this['screencastStarted'])return;await this['frameSession']['send'](_0x563540[_0x447ad8(0x223)])[_0x447ad8(0x25c)](()=>undefined);}['startTraceSampling'](){const _0x5cad03=_0x490272;this['queueTraceSample'](),this[_0x5cad03(0x1b6)]=setInterval(()=>this[_0x5cad03(0x20e)](),NOVA_ARTIFACT_TRACE_SAMPLE_INTERVAL_MS);}['queueTraceSample'](){const _0x15fa60=_0x490272;if(this['traceSampleInFlight'])return;this['traceSampleInFlight']=this['captureTraceSample']()[_0x15fa60(0x1d2)](()=>{const _0x5cd31e=_0x15fa60;this[_0x5cd31e(0x1db)]=null;});}async['stopTraceSampling'](){const _0x22b8e4=_0x490272,_0xc80489={'ChljL':function(_0x5e2b62,_0x50091b){return _0x5e2b62(_0x50091b);}};this[_0x22b8e4(0x1b6)]&&(_0xc80489[_0x22b8e4(0x260)](clearInterval,this['traceSampleTimer']),this['traceSampleTimer']=null),await this[_0x22b8e4(0x1db)]?.['catch'](()=>undefined);}async[_0x490272(0x225)](){const _0x50757d=_0x490272,_0x46642f={'nRBqV':_0x50757d(0x21d)},_0x131127=this[_0x50757d(0x23a)]?.['pages']()[0x0];if(!_0x131127)return;try{await _0x131127['locator'](_0x46642f[_0x50757d(0x1b9)])[_0x50757d(0x1ea)](_0xa555c4=>_0xa555c4[_0x50757d(0x1f7)],undefined,{'timeout':0x3e8}),this['traceSampleCount']++;}catch{}}async['encodeScreencastVideo'](){const _0x8253b5=_0x490272,_0x56d363={'iGEHO':function(_0x4e08fe,_0x355792){return _0x4e08fe<_0x355792;},'qRYvA':function(_0x2d7456){return _0x2d7456();},'aCCto':'videos','EZfjj':function(_0x289763,_0x12f79d,_0x2d1d18){return _0x289763(_0x12f79d,_0x2d1d18);},'SZnVI':'session-recording.webm','meyHw':_0x8253b5(0x288),'xYsoY':function(_0x4ec542,_0x2a191b,_0x35568a){return _0x4ec542(_0x2a191b,_0x35568a);},'BaSxu':_0x8253b5(0x24c),'EBOBG':_0x8253b5(0x1c0),'oQTbM':'libvpx-vp9','YMObK':_0x8253b5(0x1e8)};if(_0x56d363['iGEHO'](this['frameCount'],0x2))return null;const _0x103e36=await _0x56d363['qRYvA'](resolveFfmpegPath);if(!_0x103e36)return null;const _0x3df509=join(this['params']['cliArtifactDir'],_0x56d363[_0x8253b5(0x269)]);await mkdir(_0x3df509,{'recursive':!![]});const _0x2482b0=_0x56d363['EZfjj'](join,_0x3df509,_0x56d363['SZnVI']);return await execFileAsync(_0x103e36,['-y','-hide_banner',_0x56d363['meyHw'],_0x8253b5(0x236),'-framerate','10','-i',_0x56d363['xYsoY'](join,this[_0x8253b5(0x1fe)](),'frame-%06d.jpg'),'-vf',_0x56d363[_0x8253b5(0x1d7)],_0x56d363[_0x8253b5(0x1be)],_0x56d363[_0x8253b5(0x1e6)],_0x8253b5(0x1d6),_0x56d363['YMObK'],_0x2482b0]),_0x2482b0;}['getFrameDir'](){const _0xf92059={'KfxVG':function(_0x1b12ba,_0x2e87ed,_0x55f2a3){return _0x1b12ba(_0x2e87ed,_0x55f2a3);}};return _0xf92059['KfxVG'](join,this['params']['cliArtifactDir'],'nova-video-frames');}}async function delay(_0x1afa57){await new Promise(_0x371a4f=>setTimeout(_0x371a4f,_0x1afa57));}async function resolveFfmpegPath(){const _0x3904c1=_0x490272,_0x23cd25={'DxuLa':function(_0x5d7a23,_0x449aeb){return _0x5d7a23(_0x449aeb);},'TUpTh':_0x3904c1(0x23e),'nVNuG':function(_0x4afcdb,_0x228201,_0xaf6c6d,_0x5bca00,_0x73f880){return _0x4afcdb(_0x228201,_0xaf6c6d,_0x5bca00,_0x73f880);},'oHttt':'Library','cQKrg':_0x3904c1(0x1d9),'UqgLi':'ms-playwright'};if(await _0x23cd25['DxuLa'](canRunFfmpeg,'ffmpeg'))return _0x23cd25['TUpTh'];const _0x4085d1=[_0x23cd25[_0x3904c1(0x279)](join,homedir(),_0x23cd25['oHttt'],_0x23cd25['cQKrg'],_0x23cd25['UqgLi']),join(homedir(),'.cache',_0x23cd25[_0x3904c1(0x1dc)])];for(const _0x2732e0 of _0x4085d1){try{const _0x274837=await _0x23cd25['DxuLa'](readdir,_0x2732e0),_0x469aa6=_0x274837['filter'](_0x5b891c=>_0x5b891c[_0x3904c1(0x21e)]('ffmpeg-'))[_0x3904c1(0x1e1)]()['reverse']()[_0x3904c1(0x227)](_0xfc861f=>[join(_0x2732e0,_0xfc861f,'ffmpeg-mac'),join(_0x2732e0,_0xfc861f,_0x3904c1(0x1c8)),join(_0x2732e0,_0xfc861f,_0x3904c1(0x258))]);for(const _0x1aaaff of _0x469aa6){if(await canRunFfmpeg(_0x1aaaff))return _0x1aaaff;}}catch{}}return null;}async function canRunFfmpeg(_0x30bb13){const _0x4c946f=_0x490272,_0x7011={'DEEDu':_0x4c946f(0x28f)};try{return await execFileAsync(_0x30bb13,[_0x7011[_0x4c946f(0x252)]]),!![];}catch{return![];}}function toStepDisplayName(_0x149f51){const _0x266f6c=_0x490272,_0x24e718={'SQtbS':function(_0x4115f8,_0x396228){return _0x4115f8(_0x396228);}},_0x3d4863=basename(_0x149f51)['replace'](/\.(?:png|ya?ml)$/i,'')['replace'](/^key_/i,'')['replace'](/^\d+_/,'')[_0x266f6c(0x1ad)](/-/g,'\x20');return{'name':_0x3d4863,'isKeyStep':/^key_/i[_0x266f6c(0x248)](_0x24e718[_0x266f6c(0x204)](basename,_0x149f51))};}function extractShellValue(_0x38f9a8){if(!_0x38f9a8)return null;return _0x38f9a8[0x1]??_0x38f9a8[0x2]??_0x38f9a8[0x3]??null;}function extractOutputOption(_0x5cdeff){return extractShellValue(_0x5cdeff['match'](/--output(?:=|\s+)(?:"([^"]+)"|'([^']+)'|(\S+))/));}function formatNovaActCliLog(_0x207222,_0x7f78e6){const _0x101284=_0x490272,_0x44ccfe={'TEHDg':'execute','kTnHs':'verify','lHWNO':_0x101284(0x208),'KuvVE':'goto','HCGKv':'wait-for','hElPS':_0x101284(0x1ae),'uGHDG':'snapshot','fOdkr':function(_0x1a5823,_0x3e52a6){return _0x1a5823(_0x3e52a6);},'RMVxy':function(_0x1ed06c,_0x59692a){return _0x1ed06c(_0x59692a);},'QGphF':_0x101284(0x263)};switch(_0x7f78e6){case'session\x20create':return _0x101284(0x21a);case _0x44ccfe['TEHDg']:return _0x101284(0x26a);case _0x44ccfe['kTnHs']:return'verify\x20page\x20condition';case _0x44ccfe['lHWNO']:return'ask\x20page\x20question';case _0x44ccfe[_0x101284(0x25e)]:return _0x101284(0x230);case _0x44ccfe['HCGKv']:return _0x44ccfe['hElPS'];case _0x44ccfe[_0x101284(0x220)]:{const _0x51baa7=_0x44ccfe['fOdkr'](extractOutputOption,_0x207222);if(!_0x51baa7)return'capture\x20snapshot';const {name:_0x5cfbf2}=_0x44ccfe['fOdkr'](toStepDisplayName,_0x51baa7);return _0x101284(0x218)+_0x5cfbf2+'`';}case'screenshot':{const _0x5d3608=_0x44ccfe[_0x101284(0x268)](extractOutputOption,_0x207222);if(!_0x5d3608)return _0x44ccfe['QGphF'];const {name:_0x3ce4c4,isKeyStep:_0x3241ff}=toStepDisplayName(_0x5d3608);return _0x3241ff?_0x101284(0x231)+_0x3ce4c4+'`':'capture\x20step\x20`'+_0x3ce4c4+'`';}case _0x101284(0x1ca):return'export\x20Nova\x20session';default:return _0x7f78e6;}}function getNovaActCliCommandBlockReason(_0x1d00b0){const _0x58f404=_0x490272,_0x4a84d5={'SDzlt':'Use\x20only\x20the\x20provided\x20Nova\x20browser\x20command\x20prefix\x20for\x20browser\x20verification.\x20Do\x20not\x20inspect\x20setup,\x20credentials,\x20files,\x20or\x20the\x20local\x20environment.','YhgrR':function(_0x207f4c,_0x50109a){return _0x207f4c===_0x50109a;},'Kuhgs':_0x58f404(0x1b7)},_0x290cb6=parseNovaActCliCommand(_0x1d00b0);if(!_0x290cb6)return _0x4a84d5['SDzlt'];if(!NOVA_ACT_ALLOWED_AGENT_COMMANDS[_0x58f404(0x203)](_0x290cb6))return'Nova\x20command\x20`'+_0x290cb6+'`\x20is\x20reserved\x20for\x20the\x20host.\x20Use\x20only\x20session\x20create,\x20execute,\x20verify,\x20ask,\x20goto,\x20wait-for,\x20snapshot,\x20and\x20screenshot.';if(_0x4a84d5['YhgrR'](_0x290cb6,_0x58f404(0x1d8))&&/\b(?:previously visited|visited pages|pages visited|at least one of the pages visited)\b/i['test'](_0x1d00b0))return _0x4a84d5['Kuhgs'];if(/\s--help\b|\bdoctor\b|\bscript\b|\bsession\s+(?:close|list|export)\b/['test'](_0x1d00b0))return _0x58f404(0x28c);return null;}function buildFeedbackSection(_0x1a5f63){const _0xffdd30=_0x490272,_0x24e2c9={'JurNj':_0xffdd30(0x24b),'tOdys':_0xffdd30(0x1b8),'cQebB':function(_0x360de0,_0x26757d){return _0x360de0===_0x26757d;}};if(!_0x1a5f63||_0x24e2c9[_0xffdd30(0x1c6)](_0x1a5f63[_0xffdd30(0x26f)]['length'],0x0))return'';const _0x580fef=_0x1a5f63[_0xffdd30(0x26f)]['map'](_0x5bd688=>{const _0x3999a0=_0xffdd30,_0x237774=new Date(_0x5bd688['createdAt'])[_0x3999a0(0x251)](_0x24e2c9[_0x3999a0(0x27f)],{'month':'short','day':_0x3999a0(0x283)}),_0x2fc67b=_0x5bd688['authorName']||_0x5bd688['authorEmail']||'Reviewer',_0x4b8b3c=_0x5bd688[_0x3999a0(0x211)]?_0x3999a0(0x292)+(_0x5bd688['domRef'][_0x3999a0(0x272)]['split']('\x20>\x20')[_0x3999a0(0x21b)]()?.[_0x3999a0(0x1ff)](':')[0x0]||_0x24e2c9['tOdys'])+'>\x20\x22'+(_0x5bd688['domRef'][_0x3999a0(0x257)]||'')[_0x3999a0(0x243)](0x0,0x32)+'\x22)':'';return'-\x20['+_0x5bd688['id']+']\x20**'+_0x2fc67b+_0x3999a0(0x200)+_0x237774+_0x3999a0(0x1cb)+_0x5bd688[_0x3999a0(0x1bf)]+'\x22'+_0x4b8b3c;})[_0xffdd30(0x22e)]('\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'+_0x580fef;}function buildNovaSharedOptionsInstruction(_0x1e53f6){const _0x3e44bf=_0x490272;if(!_0x1e53f6[_0x3e44bf(0x1f3)]())return _0x3e44bf(0x1b5);return'Append\x20this\x20option\x20suffix\x20to\x20every\x20browser\x20command\x20unless\x20the\x20host\x20gives\x20a\x20more\x20specific\x20example:\x0a'+_0x1e53f6;}export function buildVerifyFeatureNovaCliDebugPrompt(_0x200713){const _0x34e38c=_0x490272,_0x2de002={'tmKfA':_0x34e38c(0x1ed),'jxDrk':function(_0x18d336,_0x1310c6,_0x28a499){return _0x18d336(_0x1310c6,_0x28a499);},'yCBZd':_0x34e38c(0x274),'eBKhl':'02_final-state.yml','vulDc':'03_final-state.png','HpizV':function(_0x14fa77,_0x1b787d){return _0x14fa77(_0x1b787d);},'Borvb':function(_0xd5e3a6,_0x532b70){return _0xd5e3a6(_0x532b70);}},{novaCommandPrefix:_0x5b6d52,novaSharedOptionsSuffix:_0x4429c8,cliArtifactDir:_0x165c59,url:_0x105f4c}=_0x200713,_0x2edb3d=buildCliArtifactPath(_0x165c59,_0x2de002[_0x34e38c(0x232)]),_0x8e6255=_0x2de002[_0x34e38c(0x285)](buildCliArtifactPath,_0x165c59,_0x2de002['yCBZd']),_0x1434c1=buildCliArtifactPath(_0x165c59,_0x2de002['eBKhl']),_0x11cb72=_0x2de002[_0x34e38c(0x285)](buildCliArtifactPath,_0x165c59,_0x2de002[_0x34e38c(0x21c)]);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'+_0x5b6d52+'\x0a\x0a'+buildNovaSharedOptionsInstruction(_0x4429c8)+_0x34e38c(0x27a)+_0x5b6d52+_0x34e38c(0x1f8)+_0x2de002[_0x34e38c(0x271)](quoteShellArg,_0x105f4c)+'\x20'+_0x4429c8+'`\x0a2.\x20Run\x20`'+_0x5b6d52+_0x34e38c(0x241)+_0x2de002[_0x34e38c(0x271)](quoteShellArg,_0x2edb3d)+'\x20'+_0x4429c8+_0x34e38c(0x240)+_0x5b6d52+_0x34e38c(0x290)+_0x2de002['Borvb'](quoteShellArg,_0x8e6255)+'\x20'+_0x4429c8+'`\x0a4.\x20Run\x20one\x20batched\x20`'+_0x5b6d52+_0x34e38c(0x221)+_0x5b6d52+'\x20snapshot\x20--output\x20'+_0x2de002[_0x34e38c(0x1ee)](quoteShellArg,_0x1434c1)+'\x20'+_0x4429c8+'`\x0a6.\x20Run\x20`'+_0x5b6d52+'\x20screenshot\x20--output\x20'+quoteShellArg(_0x11cb72)+'\x20'+_0x4429c8+'`\x0a7.\x20Return\x20immediately\x20with\x20the\x20structured\x20output.\x0a\x0aSave\x20every\x20artifact\x20under\x20`'+_0x165c59+_0x34e38c(0x1da);}export function buildVerifyFeatureNovaCliPrompt(_0xcfc5de){const _0x1bd671=_0x490272,_0x27a4a2={'KGDdq':_0x1bd671(0x219),'YIpBN':function(_0x2781e9,_0x3b10f4,_0x26a965){return _0x2781e9(_0x3b10f4,_0x26a965);},'Jqfzp':function(_0x56105e,_0x27ad7a){return _0x56105e(_0x27ad7a);},'pgcKx':function(_0x43d62d,_0x1307e9){return _0x43d62d(_0x1307e9);}},{checklistItem:_0x42ac07,itemFeedback:_0x4fbe11,taskDescription:_0x36562d,novaCommandPrefix:_0x41dd86,novaSharedOptionsSuffix:_0x1287c1,cliArtifactDir:_0x609266,url:_0x5be115,loginInstructions:_0x58040f}=_0xcfc5de,_0x1c931d=_0x42ac07['notes']?_0x1bd671(0x1ec)+_0x42ac07[_0x1bd671(0x23d)]:'',_0x3465a5=buildFeedbackSection(_0x4fbe11),_0x207e1d=_0x4fbe11?.['canonicalFlow']?_0x1bd671(0x266)+_0x4fbe11['canonicalFlow']:'',_0x2b0df1=_0x58040f?'\x0a\x0a##\x20Authentication\x0aBEFORE\x20starting\x20the\x20verification\x20task,\x20authenticate\x20using\x20these\x20steps:\x0a'+_0x58040f+'\x0a\x0aIf\x20authentication\x20fails,\x20return\x20evaluation\x20\x22blocked\x22\x20and\x20describe\x20the\x20auth\x20failure.':'',_0x2b82fb=buildCliArtifactPath(_0x609266,_0x27a4a2[_0x1bd671(0x1ef)]),_0x1b8f6e=_0x27a4a2[_0x1bd671(0x1d0)](buildCliArtifactPath,_0x609266,_0x1bd671(0x274)),_0x3f9da1=buildCliArtifactPath(_0x609266,'key_03_success-state.png');return _0x1bd671(0x214)+_0x42ac07[_0x1bd671(0x242)]+_0x1c931d+_0x3465a5+_0x207e1d+_0x1bd671(0x1f5)+_0x36562d+_0x1bd671(0x1fd)+_0x5be115+'\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'+_0x2b0df1+'\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`'+_0x41dd86+_0x1bd671(0x1f8)+_0x27a4a2['Jqfzp'](quoteShellArg,_0x5be115)+'\x20'+_0x1287c1+_0x1bd671(0x1e3)+_0x609266+_0x1bd671(0x1c5)+_0x41dd86+'\x20snapshot\x20--output\x20'+quoteShellArg(_0x2b82fb)+'\x20'+_0x1287c1+'`.\x0a6.\x20Take\x20an\x20initial\x20screenshot:\x20`'+_0x41dd86+_0x1bd671(0x290)+_0x27a4a2[_0x1bd671(0x1b1)](quoteShellArg,_0x1b8f6e)+'\x20'+_0x1287c1+'`.\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`'+_0x3f9da1+'`.\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`'+_0x41dd86+_0x1bd671(0x26b)+(_0x1287c1[_0x1bd671(0x1f3)]()?'`'+_0x1287c1+'`':'`<none;\x20the\x20command\x20prefix\x20injects\x20shared\x20options>`')+'\x0a\x0a'+_0x27a4a2['pgcKx'](buildNovaSharedOptionsInstruction,_0x1287c1)+'\x0a\x0aExamples:\x0a-\x20`'+_0x41dd86+_0x1bd671(0x209)+_0x1287c1+'`\x0a-\x20`'+_0x41dd86+_0x1bd671(0x278)+_0x1287c1+_0x1bd671(0x210)+_0x41dd86+'\x20snapshot\x20--output\x20'+quoteShellArg(_0x2b82fb)+'\x20'+_0x1287c1+_0x1bd671(0x210)+_0x41dd86+_0x1bd671(0x290)+quoteShellArg(_0x3f9da1)+'\x20'+_0x1287c1+'`\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(_0x5cef95){const _0x4d119f=_0x490272,_0x450120=[..._0x5cef95['keys']()][_0x4d119f(0x1e1)]();let _0x455caa=0x0;for(const _0x37a5b3 of _0x5cef95[_0x4d119f(0x287)]()){_0x455caa+=_0x37a5b3;}return{'cliCommandCount':_0x455caa,'cliCommandsSeen':_0x450120,'noCliCommandsCalled':_0x455caa===0x0};}export function createVerifyFeatureNovaCliHooks(_0x53d66d,_0xc0c9ec){const _0x1a853e=_0x490272,_0x44cbd4={'SPORn':function(_0x3b80a2,_0x9cef96){return _0x3b80a2!==_0x9cef96;},'kILFI':_0x1a853e(0x1bd),'gXLzQ':function(_0x16eec3,_0x3f6c31){return _0x16eec3(_0x3f6c31);},'RQzUW':function(_0xd4a808,_0x3f9242){return _0xd4a808(_0x3f9242);},'RWJmw':_0x1a853e(0x1f0),'GizLs':function(_0x16261c,_0x4b7407){return _0x16261c(_0x4b7407);},'Pqusj':'nova_act_command','tvGRB':function(_0x9ad342,_0x4a3e7f){return _0x9ad342(_0x4a3e7f);},'FEIot':_0x1a853e(0x255),'zBgdK':_0x1a853e(0x229),'PFAUT':'PostToolUseFailure'},_0x20c037=new Map(),_0xfb7d8f=async _0x2df5df=>{const _0x4bb78d=_0x1a853e;if(_0x44cbd4[_0x4bb78d(0x1ba)](_0x2df5df[_0x4bb78d(0x294)],_0x4bb78d(0x262)))return{};const _0x50d37f=_0x2df5df;if(_0x44cbd4['SPORn'](_0x50d37f[_0x4bb78d(0x20b)],_0x44cbd4['kILFI']))return{};const _0xe1bd29=_0x50d37f[_0x4bb78d(0x1c3)],_0x3ff26c=_0x44cbd4['gXLzQ'](extractBashCommand,_0xe1bd29);if(!_0x3ff26c)return{};const _0x119d88=_0x44cbd4[_0x4bb78d(0x213)](getNovaActCliCommandBlockReason,_0x3ff26c);if(!_0x119d88)return{};return{'decision':_0x4bb78d(0x22d),'reason':_0x119d88};},_0x1fdf52=async _0x446e3d=>{const _0x59ab2e=_0x1a853e;if(_0x446e3d[_0x59ab2e(0x294)]!==_0x44cbd4[_0x59ab2e(0x205)])return{};const _0x1991fc=_0x446e3d;if(_0x1991fc[_0x59ab2e(0x20b)]!==_0x44cbd4['kILFI'])return{};const _0x353c6e=_0x1991fc[_0x59ab2e(0x1c3)],_0x3837f5=extractBashCommand(_0x353c6e);if(!_0x3837f5)return{};const _0x10f187=_0x44cbd4['GizLs'](parseNovaActCliCommand,_0x3837f5);if(!_0x10f187)return{};_0x20c037[_0x59ab2e(0x1e2)](_0x10f187,(_0x20c037[_0x59ab2e(0x286)](_0x10f187)||0x0)+0x1),_0x53d66d[_0x59ab2e(0x24f)](_0x59ab2e(0x261),{'subcommand':_0x10f187}),_0x53d66d[_0x59ab2e(0x1ac)](_0x44cbd4['Pqusj'],{'subcommand':_0x10f187,'commandPreview':_0x44cbd4['tvGRB'](previewNovaActCliCommand,_0x3837f5)}),console[_0x59ab2e(0x1e4)](_0x59ab2e(0x1f4)+formatNovaActCliLog(_0x3837f5,_0x10f187));if(_0x10f187===_0x44cbd4['FEIot']&&_0xc0c9ec)try{await _0xc0c9ec['start']();}catch(_0x4411bc){await _0x53d66d[_0x59ab2e(0x28b)]('nova_act_artifact_recording',_0x4411bc,{'transport':_0x44cbd4[_0x59ab2e(0x244)]});}return{};},_0x7adcff=async _0x1285c=>{const _0x242346=_0x1a853e;if(_0x1285c[_0x242346(0x294)]!==_0x44cbd4[_0x242346(0x27e)])return{};const _0x1ee7f0=_0x1285c;if(_0x1ee7f0['tool_name']!==_0x242346(0x1bd))return{};return await _0x53d66d[_0x242346(0x28b)]('nova_act_command_failure',_0x1ee7f0['error'],{'transport':_0x44cbd4[_0x242346(0x244)],'toolName':_0x44cbd4['kILFI']}),{};};return{'preToolUseHook':_0xfb7d8f,'postToolUseHook':_0x1fdf52,'postToolUseFailureHook':_0x7adcff,'commandCounts':_0x20c037};}async function runNovaLifecycleCommand(_0xdd2f8b){const _0xb07343=_0x490272,_0x19d9b6={'JREqt':function(_0x351d3b,_0x402c7f){return _0x351d3b??_0x402c7f;},'YSgLe':function(_0x5005e9,_0x937aef){return _0x5005e9(_0x937aef);}},{novaOptions:_0x44c72b,commandArgs:_0x473db7,telemetry:_0x46530c,phase:_0x50b777,metadata:_0x44e50c,timeoutMs:_0x28a438}=_0xdd2f8b;_0x46530c['trackPhaseStart'](_0x50b777,_0x44e50c);try{const _0x1c96e0=await runNovaActCliCommand({..._0x44c72b,'commandArgs':_0x473db7,'cwd':process[_0xb07343(0x246)](),'env':process[_0xb07343(0x23b)],'timeoutMs':_0x19d9b6[_0xb07343(0x26e)](_0x28a438,NOVA_ACT_CLI_COMMAND_TIMEOUT_MS)});_0x46530c['trackPhaseEnd'](_0x50b777,{..._0x44e50c,'subcommand':_0x1c96e0[_0xb07343(0x23f)][_0xb07343(0x1d3)],'commandPreview':previewNovaActCliCommand(_0x1c96e0[_0xb07343(0x23f)][_0xb07343(0x26d)]),'stdoutPreview':previewNovaActCliCommand(_0x1c96e0['stdout']),'stderrPreview':_0x19d9b6[_0xb07343(0x293)](previewNovaActCliCommand,_0x1c96e0[_0xb07343(0x238)]),'logDir':extractNovaActLogDir(_0x1c96e0['stdout'])});}catch(_0x25b247){await _0x46530c[_0xb07343(0x28b)](_0x50b777,_0x25b247,_0x44e50c);throw _0x25b247;}}export async function finalizeVerifyFeatureNovaCliSession(_0x1f2c61){const _0xe123ad=_0x490272,_0x1f088a={'yemhX':'nova_act_final_screenshot','LuVTE':'--output','ccPdj':'key_final-state.png','EFoeO':_0xe123ad(0x222),'daSrl':_0xe123ad(0x1cc),'BhlHV':_0xe123ad(0x1ce),'GOrZU':_0xe123ad(0x234),'xmqEt':'json','KhnNG':_0xe123ad(0x20a),'SbosX':function(_0xced276,_0x6ac20d,_0x5d89de){return _0xced276(_0x6ac20d,_0x5d89de);},'NBYAn':_0xe123ad(0x281),'TGSAm':_0xe123ad(0x28a),'lmeGa':function(_0x1e986c,_0x4eb472){return _0x1e986c===_0x4eb472;},'lMLgw':function(_0x210c01,_0x164f39){return _0x210c01(_0x164f39);}},{telemetry:_0x448ec8,novaOptions:_0x3d48aa,cliArtifactDir:_0x243883,transportMetadata:_0xd19981,artifactRecorder:_0x3225fa}=_0x1f2c61,_0x5d69bf=[{'phase':_0x1f088a['yemhX'],'commandArgs':['screenshot',_0x1f088a[_0xe123ad(0x228)],buildCliArtifactPath(_0x243883,_0x1f088a[_0xe123ad(0x1f9)])]},{'phase':'nova_act_final_snapshot','commandArgs':[_0x1f088a[_0xe123ad(0x24a)],'--output',buildCliArtifactPath(_0x243883,'final-state.yaml')]},{'phase':_0x1f088a[_0xe123ad(0x1df)],'commandArgs':[_0x1f088a[_0xe123ad(0x1dd)],_0x1f088a['GOrZU'],'--format',_0x1f088a['xmqEt'],_0x1f088a['LuVTE'],buildCliArtifactPath(_0x243883,_0xe123ad(0x1e7))]},{'phase':_0x1f088a[_0xe123ad(0x21f)],'commandArgs':['session',_0xe123ad(0x234),_0xe123ad(0x1f6),'--output-dir',_0x1f088a['SbosX'](buildCliArtifactPath,_0x243883,_0x1f088a[_0xe123ad(0x1c9)])]},{'phase':_0x1f088a['TGSAm'],'commandArgs':[_0x1f088a['BhlHV'],_0xe123ad(0x1d5)]}];for(const _0x5db3fe of _0x5d69bf){_0x1f088a[_0xe123ad(0x267)](_0x5db3fe['phase'],'nova_act_session_close')&&await _0x3225fa?.[_0xe123ad(0x253)]();try{await _0x1f088a[_0xe123ad(0x280)](runNovaLifecycleCommand,{'novaOptions':_0x3d48aa,'commandArgs':[..._0x5db3fe[_0xe123ad(0x25b)]],'telemetry':_0x448ec8,'phase':_0x5db3fe['phase'],'metadata':_0xd19981});}catch{}}}export async function harvestVerifyFeatureNovaCliArtifacts(_0xa17270){const _0x3854ed=_0x490272,_0x5d1389={'CiXIu':function(_0x2ce003,_0x339d9f,_0x55c5b1){return _0x2ce003(_0x339d9f,_0x55c5b1);},'UeBkD':function(_0x27f486,_0x339f53){return _0x27f486(_0x339f53);},'fhirq':function(_0x3e1be9,_0x3042f0){return _0x3e1be9<_0x3042f0;},'dQwTU':function(_0x34572a,_0x1c40d3){return _0x34572a+_0x1c40d3;},'ACBfl':function(_0xbd7a9a,_0xb263ee){return _0xbd7a9a===_0xb263ee;},'BwOqJ':function(_0x4468a2,_0x2fa3a2,_0x3c1a43){return _0x4468a2(_0x2fa3a2,_0x3c1a43);}},{cwd:_0xd754c0,cliArtifactDir:_0xc0a0e5,startTime:_0x210a58}=_0xa17270,_0x5bb712=[];await _0x5d1389[_0x3854ed(0x273)](mkdir,_0xc0a0e5,{'recursive':!![]});const _0x422304=await _0x5d1389['CiXIu'](readdir,_0xd754c0,{'withFileTypes':!![]});for(const _0x13b898 of _0x422304){if(!_0x13b898[_0x3854ed(0x1fb)]()||!VERIFY_FEATURE_NOVA_ARTIFACT_FILE_PATTERN[_0x3854ed(0x248)](_0x13b898[_0x3854ed(0x1a9)]))continue;const _0x357404=_0x5d1389['CiXIu'](join,_0xd754c0,_0x13b898['name']),_0x402a4f=await _0x5d1389[_0x3854ed(0x1f1)](stat,_0x357404);if(_0x5d1389['fhirq'](_0x5d1389[_0x3854ed(0x207)](_0x402a4f[_0x3854ed(0x289)],0x7d0),_0x210a58))continue;const _0x2c4c4f=_0x5d1389[_0x3854ed(0x273)](buildCliArtifactPath,_0xc0a0e5,_0x13b898[_0x3854ed(0x1a9)]);if(_0x5d1389[_0x3854ed(0x1f2)](_0x357404,_0x2c4c4f))continue;await _0x5d1389[_0x3854ed(0x20c)](rename,_0x357404,_0x2c4c4f),_0x5bb712[_0x3854ed(0x1af)](_0x13b898['name']);}return _0x5bb712['sort']();}export async function loadVerifyFeatureNovaTraceUploadArtifact(_0x3507cf){const _0x598501=_0x490272,_0x28b11c={'wNDVs':function(_0x430dea,_0x3f45e5,_0xd90a36){return _0x430dea(_0x3f45e5,_0xd90a36);}},_0x38dd53=_0x28b11c[_0x598501(0x1bc)](join,_0x3507cf,'trace.zip');try{return{'buffer':await readFile(_0x38dd53),'source':_0x38dd53};}catch{return{'buffer':await zipVerifyFeatureNovaArtifacts(_0x3507cf),'source':_0x3507cf};}}function _0x30a6(_0xad4793,_0x1f38bb){_0xad4793=_0xad4793-0x1a9;const _0xec7a8a=_0xec7a();let _0x30a6f4=_0xec7a8a[_0xad4793];return _0x30a6f4;}async function zipVerifyFeatureNovaArtifacts(_0x266468){const _0x201acf=_0x490272,_0x50514a={'sThGc':'zip','yocUD':_0x201acf(0x215),'KHrhx':function(_0x8c8289,_0x2f8222){return _0x8c8289(_0x2f8222);}},_0x32e24e=join(_0x266468,'..',_0x201acf(0x1cd));try{return await execFileAsync(_0x50514a[_0x201acf(0x256)],[_0x50514a[_0x201acf(0x1b3)],_0x32e24e,'.','-x',_0x201acf(0x1de)],{'cwd':_0x266468}),await _0x50514a['KHrhx'](readFile,_0x32e24e);}finally{await rm(_0x32e24e,{'force':!![]});}}export function buildNovaActCliDiagnostics(_0x4d8c3a){const _0x4ab81c=_0x490272,_0x17fb25={'jdFco':function(_0x1dc33e,_0x44073b){return _0x1dc33e(_0x44073b);},'mWQRP':function(_0x2e7463,_0x7157a1,_0x1e988f){return _0x2e7463(_0x7157a1,_0x1e988f);}},_0x208898=buildNovaActCliInvocation(_0x4d8c3a['novaOptions'],_0x4d8c3a[_0x4ab81c(0x25b)]);return{'command':_0x208898['command'],'args':_0x208898['args'],'commandPreview':_0x17fb25[_0x4ab81c(0x1cf)](previewNovaActCliCommand,_0x208898['shellCommand']),'subcommand':_0x208898[_0x4ab81c(0x1d3)],'sharedOptionsSuffix':_0x17fb25[_0x4ab81c(0x22c)](buildNovaActCliSharedOptionsSuffix,_0x4d8c3a[_0x4ab81c(0x245)],_0x4d8c3a['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(_0x24f778,_0x33acf0){const _0x5af45d=_0x56fc,_0xbe232a=_0x24f778();while(!![]){try{const _0x432602=parseInt(_0x5af45d(0x1ba))/0x1+parseInt(_0x5af45d(0x179))/0x2+-parseInt(_0x5af45d(0x1a5))/0x3*(parseInt(_0x5af45d(0x197))/0x4)+parseInt(_0x5af45d(0x1bb))/0x5*(parseInt(_0x5af45d(0x183))/0x6)+-parseInt(_0x5af45d(0x193))/0x7*(-parseInt(_0x5af45d(0x1ac))/0x8)+-parseInt(_0x5af45d(0x1ab))/0x9*(parseInt(_0x5af45d(0x192))/0xa)+parseInt(_0x5af45d(0x1be))/0xb;if(_0x432602===_0x33acf0)break;else _0xbe232a['push'](_0xbe232a['shift']());}catch(_0x5c6ad8){_0xbe232a['push'](_0xbe232a['shift']());}}}(_0xffd9,0x1d90b));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 _0xffd9(){const _0x5e98dc=['commandArgs','trackPhaseEnd','open\x20and\x20inspect','click\x20and\x20inspect\x20','slice','oWtgA','\x0a\x0aAfter\x20completing\x20authentication,\x20proceed\x20with\x20the\x20verification\x20task\x20below.\x0aIf\x20authentication\x20fails,\x20return\x20evaluation\x20\x22blocked\x22\x20and\x20describe\x20the\x20auth\x20failure.','createdAt','\x20inspect\x20--screenshot-path\x20','>\x20\x22','domRef','228493IZkvOs','1345yVDfpa','length','rangerwright_cli_command','322597JALksw','click-and-inspect','hook_event_name','\x0a\x0a##\x20Authentication\x0aBEFORE\x20starting\x20the\x20verification\x20task,\x20authenticate\x20using\x20these\x20steps:\x0a','sort','set','en-US','tracing-stop','ioUWW','snQgw','fill-and-inspect','GBEOD','trackPhaseStart','test','-\x20[','rmQhy','cwd','textContent','yrUTN','PostToolUse','.\x0aThe\x20app\x20is\x20already\x20running\x20and\x20connected.\x20Start\x20with\x20inspect\x20instead\x20of\x20opening\x20a\x20URL.','error','\x20open-and-inspect\x20','PostToolUseFailure','key_02_learn-more.png','\x20click-and-inspect\x20e37\x20--screenshot-path\x20','inspect','\x0a\x0a##\x20Expected\x20Flow\x20(from\x20previous\x20verification)\x0a','stderr','144180FxdRga','notes','vlnvv','commandPrefix','canonicalFlow','video-stop','match','Reviewer','FOGKO','`\x0a2.\x20Use\x20the\x20returned\x20JSON\x20to\x20find\x20the\x20\x22Learn\x20More\x22\x20link\x20ref.\x0a3.\x20Run\x20`','138jSkPOb','target','bDcKP','close\x20browser\x20session','zhfDs','\x20--screenshot-path\x20','tool_name','SKbda','\x5c$&','mgVna','tool_input','\x20click-and-inspect\x20<ref>\x20--screenshot-path\x20','cuQGg','authorEmail','[rangerwright-cli]\x20','10CGeiLf','534415eDnEmm','rangerwright_cli_video_stop','):\x20\x22','ewulD','12tysoHi','##\x20App\x20Context\x0aYou\x20are\x20connected\x20to\x20a\x20desktop\x20application\x20via\x20CDP\x20at\x20','01_initial-state.png','swqxI','short','url','rangerwright_cli_command_failure','trackPhaseError','gzydn','pop','\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','...','\x20>\x20','open-and-inspect','56478iyCtsc','LnjUp','about:blank','pEsux','rangerwright_cli_tracing_stop','nykjD','2113785NTIbEX','8wNXSyA','unaddressedComments','lGjMF'];_0xffd9=function(){return _0x5e98dc;};return _0xffd9();}function truncatePreview(_0x12ca6c,_0x51c699=RANGERWRIGHT_CLI_PREVIEW_LIMIT){const _0x1c3dfb=_0x56fc,_0x49ed36={'rvmQY':function(_0x1e887d,_0x26b6ae){return _0x1e887d+_0x26b6ae;},'pEsux':_0x1c3dfb(0x1a2)};return _0x12ca6c['length']>_0x51c699?_0x49ed36['rvmQY'](_0x12ca6c[_0x1c3dfb(0x1b3)](0x0,_0x51c699),_0x49ed36[_0x1c3dfb(0x1a8)]):_0x12ca6c;}function extractShellValue(_0xf954b4){if(!_0xf954b4)return null;return _0xf954b4[0x1]??_0xf954b4[0x2]??_0xf954b4[0x3]??null;}function extractFirstCommandArgument(_0x31fcea,_0x34a0ce){const _0x2c5ea6=_0x56fc,_0x2a889e={'snQgw':_0x2c5ea6(0x18b)},_0x56805c=_0x34a0ce['replace'](/[.*+?^${}()|[\]\\]/g,_0x2a889e[_0x2c5ea6(0x1c7)]);return extractShellValue(_0x31fcea[_0x2c5ea6(0x17f)](new RegExp('(?:^|\x5cs)'+_0x56805c+'(?:\x5cs+(?:\x22([^\x22]+)\x22|\x27([^\x27]+)\x27|(\x5cS+)))')));}function formatCommandTarget(_0x399cb4){const _0x1d6fbd=_0x56fc;if(!_0x399cb4)return _0x1d6fbd(0x184);if(/^e\d+$/i[_0x1d6fbd(0x1cb)](_0x399cb4))return'ref\x20'+_0x399cb4;return JSON['stringify'](truncatePreview(_0x399cb4,0x78));}function formatRangerwrightCliLog(_0x27f314,_0x5eeddc){const _0x459ca5=_0x56fc,_0x43a11d={'tvMIa':_0x459ca5(0x1a4),'bDcKP':_0x459ca5(0x1b1),'filGm':_0x459ca5(0x1bf),'FOGKO':function(_0x573c6c,_0xa5be24){return _0x573c6c(_0xa5be24);},'ioUWW':function(_0x52f1f3,_0x2fb125,_0x160f96){return _0x52f1f3(_0x2fb125,_0x160f96);},'KHWdM':_0x459ca5(0x1c8),'mgVna':'back-and-inspect','SKbda':'go\x20back\x20and\x20inspect','odrhN':'inspect\x20page','zhfDs':'stop\x20tracing','IALTH':'video-stop','MKtfc':'close'};switch(_0x5eeddc){case _0x43a11d['tvMIa']:{const _0x3ca2a7=extractFirstCommandArgument(_0x27f314,_0x5eeddc);return _0x3ca2a7?'open\x20and\x20inspect\x20'+_0x3ca2a7:_0x43a11d[_0x459ca5(0x185)];}case _0x43a11d['filGm']:return _0x459ca5(0x1b2)+_0x43a11d[_0x459ca5(0x181)](formatCommandTarget,_0x43a11d[_0x459ca5(0x1c6)](extractFirstCommandArgument,_0x27f314,_0x5eeddc));case'fill':case _0x43a11d['KHWdM']:return'fill\x20'+formatCommandTarget(extractFirstCommandArgument(_0x27f314,_0x5eeddc));case _0x43a11d[_0x459ca5(0x18c)]:return _0x43a11d[_0x459ca5(0x18a)];case _0x459ca5(0x1d8):return _0x43a11d['odrhN'];case _0x459ca5(0x1c5):return _0x43a11d[_0x459ca5(0x187)];case _0x43a11d['IALTH']:return'stop\x20video\x20recording';case _0x43a11d['MKtfc']:return _0x459ca5(0x186);default:return _0x5eeddc;}}function renderScenarioSections(_0x469834){const _0x16742e=_0x56fc,_0x2c5cd1={'MuTcL':'numeric','cuQGg':_0x16742e(0x180),'LnjUp':_0x16742e(0x1a3),'iFLPh':'element','vlnvv':function(_0xe8b252,_0x3a246c){return _0xe8b252>_0x3a246c;}},{checklistItem:_0x52bee6,itemFeedback:_0x20ef0e}=_0x469834,_0x18aeee=_0x52bee6['notes']?'\x0a\x0a##\x20Additional\x20Notes\x0a'+_0x52bee6[_0x16742e(0x17a)]:'';let _0x50eb41='';if(_0x20ef0e&&_0x2c5cd1[_0x16742e(0x17b)](_0x20ef0e['unaddressedComments'][_0x16742e(0x1bc)],0x0)){const _0x55c67b=_0x20ef0e[_0x16742e(0x1ad)]['map'](_0x4cfd24=>{const _0x11849f=_0x16742e,_0x2311d3=new Date(_0x4cfd24[_0x11849f(0x1b6)])['toLocaleDateString'](_0x11849f(0x1c4),{'month':_0x11849f(0x19b),'day':_0x2c5cd1['MuTcL']}),_0x382575=_0x4cfd24['authorName']||_0x4cfd24[_0x11849f(0x190)]||_0x2c5cd1[_0x11849f(0x18f)],_0xc6cd42=_0x4cfd24['domRef']?'\x20(on\x20element:\x20<'+(_0x4cfd24[_0x11849f(0x1b9)]['selector']['split'](_0x2c5cd1[_0x11849f(0x1a6)])[_0x11849f(0x1a0)]()?.['split'](':')[0x0]||_0x2c5cd1['iFLPh'])+_0x11849f(0x1b8)+(_0x4cfd24[_0x11849f(0x1b9)][_0x11849f(0x1cf)]||'')[_0x11849f(0x1b3)](0x0,0x32)+'\x22)':'';return _0x11849f(0x1cc)+_0x4cfd24['id']+']\x20'+_0x382575+'\x20('+_0x2311d3+_0x11849f(0x195)+_0x4cfd24['content']+'\x22'+_0xc6cd42;})['join']('\x0a');_0x50eb41='\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'+_0x55c67b;}const _0x13ed22=_0x20ef0e?.[_0x16742e(0x17d)]?_0x16742e(0x1d9)+_0x20ef0e['canonicalFlow']:'';return''+_0x52bee6['description']+_0x18aeee+_0x50eb41+_0x13ed22;}export function buildVerifyFeatureRangerwrightCliPrompt(_0x535249){const _0x2c6228=_0x56fc,_0x3f916d={'GBEOD':_0x2c6228(0x199),'nykjD':'key_99_final-state.png','yrUTN':function(_0x256aa6,_0x53815a){return _0x256aa6(_0x53815a);},'gzydn':_0x2c6228(0x1a7)},{checklistItem:_0x4cc334,itemFeedback:_0x16e864,taskDescription:_0x593ab9,commandPrefix:_0x1d40f1,isCdpMode:_0x2ebe8f,url:_0x442e73,cdpEndpoint:_0x59f5a0,loginInstructions:_0x2dadf7}=_0x535249,_0x285f83=_0x3f916d[_0x2c6228(0x1c9)],_0x2735f1=_0x3f916d[_0x2c6228(0x1aa)],_0x26ff70=_0x2ebe8f?_0x1d40f1+_0x2c6228(0x1b7)+_0x3f916d[_0x2c6228(0x1d0)](quoteShellArg,_0x285f83):_0x1d40f1+'\x20open-and-inspect\x20'+quoteShellArg(_0x442e73??_0x3f916d[_0x2c6228(0x19f)])+'\x20--screenshot-path\x20'+quoteShellArg(_0x285f83),_0x57062e=_0x2ebe8f?_0x2c6228(0x198)+_0x59f5a0+_0x2c6228(0x1d2):'CRITICAL\x20URL\x20REQUIREMENT:\x0aYour\x20base\x20URL\x20is:\x20'+_0x442e73+'\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.',_0xb4cf19=_0x2dadf7?_0x2c6228(0x1c1)+_0x2dadf7+_0x2c6228(0x1b5):'';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'+renderScenarioSections({'checklistItem':_0x4cc334,'itemFeedback':_0x16e864})+'\x0a\x0a##\x20Task\x20to\x20Execute\x0a'+_0x593ab9+'\x0a\x0a'+_0x57062e+_0xb4cf19+'\x0a\x0a##\x20Rangerwright\x20Instructions\x0aUse\x20Bash\x20and\x20Rangerwright\x20only.\x0a\x0aEvery\x20browser\x20command\x20must\x20start\x20with\x20this\x20exact\x20literal\x20command\x20prefix:\x0a\x0a'+_0x1d40f1+'\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'+_0x26ff70+_0x2c6228(0x1a1)+_0x1d40f1+_0x2c6228(0x1d7)+_0x3f916d['yrUTN'](quoteShellArg,_0x2735f1)+'\x0a\x0aRefs\x20like\x20e37\x20are\x20only\x20valid\x20for\x20the\x20snapshot\x20that\x20produced\x20them.\x20Refresh\x20refs\x20after\x20navigation.\x0a\x0aUse\x20short\x20concrete\x20checkpoints\x20internally:\x20what\x20target\x20is\x20visible,\x20what\x20command\x20changes\x20state,\x20and\x20what\x20evidence\x20is\x20still\x20missing.\x20Issue\x20one\x20browser\x20command\x20at\x20a\x20time.\x20After\x20navigation,\x20validation,\x20or\x20a\x20changed\x20page,\x20inspect\x20before\x20deciding\x20the\x20next\x20action.\x0a\x0aBefore\x20reporting\x20success,\x20compare\x20each\x20required\x20CTA,\x20page\x20purpose,\x20and\x20topic\x20against\x20visible\x20page\x20evidence.\x20A\x20related\x20page\x20does\x20not\x20satisfy\x20a\x20different\x20required\x20topic\x20unless\x20the\x20page\x20text\x20directly\x20supports\x20that\x20topic\x20or\x20an\x20obvious\x20synonym.\x20If\x20required\x20evidence\x20is\x20missing,\x20mismatched,\x20or\x20only\x20inferred\x20from\x20adjacent\x20content,\x20report\x20that\x20plainly\x20and\x20do\x20not\x20mark\x20the\x20task\x20verified.\x0a\x0aFor\x20goals\x20with\x20more\x20than\x20one\x20required\x20condition,\x20use\x20an\x20internal\x20checklist\x20built\x20from\x20the\x20user\x27s\x20exact\x20requested\x20conditions.\x20Verify\x20each\x20checklist\x20item\x20against\x20visible\x20evidence\x20from\x20the\x20latest\x20browser\x20result.\x20If\x20any\x20item\x20lacks\x20direct\x20evidence,\x20report\x20the\x20task\x20as\x20not\x20verified\x20and\x20name\x20the\x20missing\x20item.\x0a\x0aOn\x20forms,\x20fill\x20only\x20visible\x20task-relevant\x20editable\x20fields\x20in\x20the\x20current\x20step\x20before\x20submitting\x20or\x20advancing.\x20Use\x20labels,\x20placeholders,\x20and\x20current\x20page\x20text\x20to\x20decide\x20which\x20fields\x20are\x20required.\x20Do\x20not\x20fill\x20fields\x20that\x20are\x20not\x20visible\x20in\x20the\x20latest\x20snapshot.\x0a\x0aUse\x20one\x20fill\x20command\x20per\x20field.\x20Do\x20not\x20combine\x20multiple\x20fields\x20into\x20one\x20fill\x20command\x20with\x20semicolons.\x0a\x0aIf\x20an\x20inspect-action\x20click\x20returns\x20the\x20same\x20page\x20or\x20shows\x20validation,\x20inspect\x20the\x20current\x20page\x20and\x20fill\x20blank\x20required\x20fields\x20before\x20retrying.\x20Do\x20not\x20repeat\x20the\x20same\x20blocked\x20click\x20unchanged.\x0a\x0aIf\x20a\x20click-and-inspect\x20result\x20keeps\x20the\x20same\x20URL\x20and\x20does\x20not\x20show\x20the\x20intended\x20target,\x20treat\x20it\x20as\x20a\x20no-op.\x20Refresh\x20refs\x20and\x20choose\x20a\x20different\x20visible\x20link,\x20or\x20use\x20back-and-inspect\x20if\x20you\x20need\x20the\x20prior\x20page.\x0a\x0aA\x20page\x20with\x20visible\x20required\x20fields\x20and\x20a\x20next,\x20submit,\x20continue,\x20or\x20confirm\x20control\x20is\x20still\x20actionable.\x20Fill\x20the\x20required\x20fields\x20with\x20values\x20from\x20the\x20task\x20before\x20reporting\x20incomplete\x20or\x20blocked.\x0a\x0a##\x20Critical:\x20Early\x20Error\x20Detection\x0aAfter\x20the\x20first\x20inspect\x20result,\x20check\x20for\x20blocking\x20errors:\x0a-\x20HTTP\x20404,\x20500,\x20400,\x20\x22Not\x20Found\x22,\x20\x22Server\x20Error\x22,\x20or\x20\x22Bad\x20Request\x22\x0a-\x20Framework\x20error\x20pages\x0a-\x20Blank\x20pages\x20with\x20no\x20content\x0a-\x20App\x20crash\x20or\x20error\x20dialogs\x0a\x0aIf\x20any\x20blocking\x20error\x20is\x20visible,\x20return\x20evaluation\x20\x22blocked\x22\x20immediately\x20with\x20a\x20specific\x20reason.\x0a\x0a##\x20Evaluation\x20Criteria\x0a-\x20VERIFIED:\x20The\x20task\x20completed\x20successfully\x20and\x20the\x20scenario\x20requirements\x20are\x20fully\x20met\x0a-\x20PARTIAL:\x20The\x20task\x20partially\x20completed\x20but\x20some\x20aspects\x20are\x20not\x20verified\x0a-\x20BLOCKED:\x20A\x20blocking\x20issue\x20prevents\x20completion\x0a-\x20FAILED:\x20The\x20task\x20could\x20not\x20be\x20completed\x20due\x20to\x20errors\x0a\x0aReturn\x20your\x20findings\x20in\x20the\x20structured\x20output\x20format\x20with\x20your\x20evaluation.';}function _0x56fc(_0x342711,_0x3589df){_0x342711=_0x342711-0x179;const _0xffd903=_0xffd9();let _0x56fc67=_0xffd903[_0x342711];return _0x56fc67;}export function buildVerifyFeatureRangerwrightCliDebugPrompt(_0x5e6955){const _0x2aa19d=_0x56fc,_0x2c962e={'SFVrX':function(_0x6131ea,_0x33be4e){return _0x6131ea(_0x33be4e);}},_0x304fd4='01_mozilla-homepage.png',_0x4461dc=_0x2aa19d(0x1d6);return'You\x20are\x20testing\x20browser\x20automation.\x20Your\x20task\x20is\x20simple:\x0a\x0aUse\x20Bash\x20and\x20Rangerwright\x20only.\x20Every\x20browser\x20command\x20must\x20start\x20with\x20this\x20exact\x20literal\x20command\x20prefix:\x0a\x0a'+_0x5e6955['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`'+_0x5e6955[_0x2aa19d(0x17c)]+_0x2aa19d(0x1d4)+_0x2c962e['SFVrX'](quoteShellArg,_0x5e6955[_0x2aa19d(0x19c)])+_0x2aa19d(0x188)+quoteShellArg(_0x304fd4)+_0x2aa19d(0x182)+_0x5e6955['commandPrefix']+_0x2aa19d(0x18e)+quoteShellArg(_0x4461dc)+'`\x0a4.\x20Return\x20immediately\x20with\x20the\x20structured\x20output.\x0a\x0aReturn\x20your\x20findings\x20in\x20the\x20structured\x20output\x20format.';}export function summarizeVerifyFeatureRangerwrightCliCommandAvailability(_0x1695a3){const _0x390ad4=_0x56fc,_0x480871=[..._0x1695a3['keys']()][_0x390ad4(0x1c2)]();let _0x216f1d=0x0;for(const _0x1f9a41 of _0x1695a3['values']()){_0x216f1d+=_0x1f9a41;}return{'cliCommandCount':_0x216f1d,'cliCommandsSeen':_0x480871,'noCliCommandsCalled':_0x216f1d===0x0};}export function createVerifyFeatureRangerwrightCliHooks(_0xb48adf){const _0x4de253=_0x56fc,_0x184701={'rmQhy':function(_0x92fff5,_0x284019){return _0x92fff5!==_0x284019;},'ewulD':function(_0x16b80a,_0x323a99){return _0x16b80a!==_0x323a99;},'oWtgA':'Bash','BctLS':function(_0x1e6434,_0x49981d){return _0x1e6434(_0x49981d);},'zvBzZ':function(_0x217e22,_0x55d6b3){return _0x217e22+_0x55d6b3;},'ClAtZ':_0x4de253(0x1bd),'hIPKn':function(_0x3f5913,_0x1daac0,_0x8ae452){return _0x3f5913(_0x1daac0,_0x8ae452);},'UyXSi':'rangerwright-cli'},_0x4204cf=new Map(),_0x5b463b=async _0x2ca0a9=>{const _0x4892b8=_0x4de253;if(_0x184701[_0x4892b8(0x1cd)](_0x2ca0a9[_0x4892b8(0x1c0)],_0x4892b8(0x1d1)))return{};const _0x387eef=_0x2ca0a9;if(_0x184701[_0x4892b8(0x196)](_0x387eef[_0x4892b8(0x189)],_0x184701[_0x4892b8(0x1b4)]))return{};const _0x56ca35=_0x387eef[_0x4892b8(0x18d)],_0x408c0e=extractBashCommand(_0x56ca35);if(!_0x408c0e)return{};const _0x90fb33=_0x184701['BctLS'](parseRangerwrightCliCommand,_0x408c0e);if(!_0x90fb33)return{};return _0x4204cf[_0x4892b8(0x1c3)](_0x90fb33,_0x184701['zvBzZ'](_0x4204cf['get'](_0x90fb33)||0x0,0x1)),_0xb48adf[_0x4892b8(0x1ca)](_0x184701['ClAtZ'],{'subcommand':_0x90fb33}),_0xb48adf[_0x4892b8(0x1b0)](_0x4892b8(0x1bd),{'subcommand':_0x90fb33,'commandPreview':truncatePreview(_0x408c0e)}),console['log'](_0x4892b8(0x191)+_0x184701['hIPKn'](formatRangerwrightCliLog,_0x408c0e,_0x90fb33)),{};},_0x19608d=async _0x251371=>{const _0x1e79f8=_0x4de253;if(_0x251371['hook_event_name']!==_0x1e79f8(0x1d5))return{};const _0x48db94=_0x251371;if(_0x48db94[_0x1e79f8(0x189)]!=='Bash')return{};return await _0xb48adf[_0x1e79f8(0x19e)](_0x1e79f8(0x19d),_0x48db94[_0x1e79f8(0x1d3)],{'transport':_0x184701['UyXSi'],'toolName':'Bash'}),{};};return{'postToolUseHook':_0x5b463b,'postToolUseFailureHook':_0x19608d,'commandCounts':_0x4204cf};}async function runRangerwrightLifecycleCommand(_0x208040){const _0x43315b=_0x56fc,{options:_0xc0590a,commandArgs:_0x42e2aa,env:_0x5f3585,telemetry:_0x142dd7,phase:_0x9a2385,metadata:_0x170fab,timeoutMs:_0x324e3b}=_0x208040;_0x142dd7['trackPhaseStart'](_0x9a2385,_0x170fab);try{const _0x161613=await runRangerwrightCliCommand({..._0xc0590a,'commandArgs':_0x42e2aa,'cwd':process[_0x43315b(0x1ce)](),'env':_0x5f3585,'timeoutMs':_0x324e3b??RANGERWRIGHT_CLI_COMMAND_TIMEOUT_MS});_0x142dd7[_0x43315b(0x1b0)](_0x9a2385,{..._0x170fab,'subcommand':_0x161613['invocation']['subcommand'],'stdoutPreview':truncatePreview(_0x161613['stdout'],0x7d0),'stderrPreview':truncatePreview(_0x161613[_0x43315b(0x1da)],0x7d0)});}catch(_0x4dc5e5){await _0x142dd7[_0x43315b(0x19e)](_0x9a2385,_0x4dc5e5,_0x170fab);throw _0x4dc5e5;}}export async function finalizeVerifyFeatureRangerwrightCliSession(_0xe12908){const _0xb30e9d=_0x56fc,_0x43ded5={'vjYpQ':_0xb30e9d(0x1a9),'nPadO':'tracing-stop','lGjMF':'rangerwright_cli_close','SBlGq':'close','swqxI':function(_0x355576,_0x34a5a3){return _0x355576(_0x34a5a3);}},{telemetry:_0xd860b3,rangerwrightOptions:_0x3a75e2,env:_0x7baab2,transportMetadata:_0x5a5896}=_0xe12908,_0x3c20b7=[{'phase':_0x43ded5['vjYpQ'],'commandArgs':[_0x43ded5['nPadO']]},{'phase':_0xb30e9d(0x194),'commandArgs':[_0xb30e9d(0x17e)]},{'phase':_0x43ded5[_0xb30e9d(0x1ae)],'commandArgs':[_0x43ded5['SBlGq']]}];for(const _0x2c6ae8 of _0x3c20b7){try{await _0x43ded5[_0xb30e9d(0x19a)](runRangerwrightLifecycleCommand,{'options':_0x3a75e2,'commandArgs':[..._0x2c6ae8[_0xb30e9d(0x1af)]],'env':_0x7baab2,'telemetry':_0xd860b3,'phase':_0x2c6ae8['phase'],'metadata':_0x5a5896});}catch{}}}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@ranger-testing/ranger-cli",
|
|
3
|
-
"version": "3.1.
|
|
3
|
+
"version": "3.1.5-alpha.9b89f77-48",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"bin": {
|
|
6
6
|
"ranger": "./build/cli.js",
|
|
@@ -43,6 +43,7 @@
|
|
|
43
43
|
"typescript": "^5.0.0"
|
|
44
44
|
},
|
|
45
45
|
"overrides": {
|
|
46
|
+
"esbuild": "^0.28.1",
|
|
46
47
|
"minimatch": "^10.2.3",
|
|
47
48
|
"brace-expansion": "^5.0.6",
|
|
48
49
|
"fast-uri": "3.1.2"
|