@ranger-testing/ranger-cli 3.1.6-alpha.aca5f9c-53 → 3.1.6-alpha.e1ccb01-57
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 +14 -5
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(_0x3a75e4,_0xdfb5fb){const _0x12f8e6=_0x53dd,_0x1f9742=_0x3a75e4();while(!![]){try{const _0x321593=-parseInt(_0x12f8e6(0xd7))/0x1+-parseInt(_0x12f8e6(0xc9))/0x2+-parseInt(_0x12f8e6(0xf8))/0x3*(-parseInt(_0x12f8e6(0x114))/0x4)+parseInt(_0x12f8e6(0xe1))/0x5*(parseInt(_0x12f8e6(0xda))/0x6)+parseInt(_0x12f8e6(0xcc))/0x7+-parseInt(_0x12f8e6(0xf1))/0x8*(parseInt(_0x12f8e6(0x130))/0x9)+parseInt(_0x12f8e6(0x115))/0xa;if(_0x321593===_0xdfb5fb)break;else _0x1f9742['push'](_0x1f9742['shift']());}catch(_0x22d04a){_0x1f9742['push'](_0x1f9742['shift']());}}}(_0x5c7c,0x5f124));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(_0x330bc4,_0x456153=PLAYWRIGHT_CLI_PREVIEW_LIMIT){const _0x1e0465=_0x53dd,_0x376d2e={'NkjQo':function(_0x500f5f,_0x8d96d9){return _0x500f5f>_0x8d96d9;},'cTNST':function(_0xeab1f8,_0x4e0ee7){return _0xeab1f8+_0x4e0ee7;}};return _0x376d2e['NkjQo'](_0x330bc4['length'],_0x456153)?_0x376d2e['cTNST'](_0x330bc4['slice'](0x0,_0x456153),_0x1e0465(0x138)):_0x330bc4;}function buildCliArtifactPath(_0x16ff27,_0x1115fe){const _0x5b50fb=_0x53dd,_0x145814={'GBzxb':function(_0x562467,_0x1478f9,_0x420957){return _0x562467(_0x1478f9,_0x420957);}};return _0x145814[_0x5b50fb(0x12a)](join,_0x16ff27,_0x1115fe);}function toStepDisplayName(_0x52f6d5){const _0x202311=_0x53dd,_0xaef764={'VAaKa':function(_0x5f2e22,_0x548170){return _0x5f2e22(_0x548170);}},_0x122d4f=_0xaef764[_0x202311(0x14c)](basename,_0x52f6d5)['replace'](/\.(?:png|ya?ml)$/i,'')['replace'](/^key_/i,'')['replace'](/^\d+_/,'')[_0x202311(0x13b)](/-/g,'\x20');return{'name':_0x122d4f,'isKeyStep':/^key_/i[_0x202311(0xce)](basename(_0x52f6d5))};}function extractShellValue(_0x8360c5){if(!_0x8360c5)return null;return _0x8360c5[0x1]??_0x8360c5[0x2]??_0x8360c5[0x3]??null;}function extractFilenameOption(_0x42c701){const _0x10a103={'Bhvyk':function(_0x1a8d78,_0x530d41){return _0x1a8d78(_0x530d41);}};return _0x10a103['Bhvyk'](extractShellValue,_0x42c701['match'](/--filename(?:=|\s+)(?:"([^"]+)"|'([^']+)'|(\S+))/));}function extractFirstCommandArgument(_0x3b309,_0x2afd2b){const _0xb94b7c=_0x53dd,_0x4d5cad={'jArEM':'\x5c$&','BUemq':function(_0x4d7e73,_0x352e70){return _0x4d7e73(_0x352e70);}},_0x277d7b=_0x2afd2b[_0xb94b7c(0x13b)](/[.*+?^${}()|[\]\\]/g,_0x4d5cad[_0xb94b7c(0x142)]);return _0x4d5cad[_0xb94b7c(0x10e)](extractShellValue,_0x3b309['match'](new RegExp(_0xb94b7c(0xdb)+_0x277d7b+'(?:\x5cs+(?:\x22([^\x22]+)\x22|\x27([^\x27]+)\x27|(\x5cS+)))')));}function formatCommandTarget(_0xfdb8a4){const _0x4abec1=_0x53dd;if(!_0xfdb8a4)return _0x4abec1(0xdd);if(/^e\d+$/i['test'](_0xfdb8a4))return'ref\x20'+_0xfdb8a4;return JSON[_0x4abec1(0x14b)](truncatePreview(_0xfdb8a4,0x78));}function formatPlaywrightCliLog(_0x47d44b,_0x5d08b5){const _0x3fbabf=_0x53dd,_0x247088={'DlJXc':function(_0x2b798e,_0x378112,_0x42e1f8){return _0x2b798e(_0x378112,_0x42e1f8);},'PyTGX':'open\x20browser','Frdsn':'tracing-start','POHkW':'tracing-stop','nkOuo':_0x3fbabf(0x12f),'mAhhO':_0x3fbabf(0xc8),'MtVKv':_0x3fbabf(0xef),'cRqXO':_0x3fbabf(0xcd),'rwpkT':function(_0x491006,_0x2642e2){return _0x491006(_0x2642e2);},'khdAC':_0x3fbabf(0xe9),'vtmur':_0x3fbabf(0x140),'znHmd':'click','NvdDY':_0x3fbabf(0x122),'atSTE':function(_0x11687e,_0x284e4a){return _0x11687e(_0x284e4a);},'EHFUz':'fill','eXxOW':'press','QSlTJ':function(_0x3d575e,_0x111827,_0x1f3d82){return _0x3d575e(_0x111827,_0x1f3d82);},'kzlBP':function(_0x130756,_0x3f561e,_0x279996){return _0x130756(_0x3f561e,_0x279996);},'nTpbF':_0x3fbabf(0xc7)};switch(_0x5d08b5){case _0x3fbabf(0xf6):{const _0x54487c=_0x247088[_0x3fbabf(0xea)](extractFirstCommandArgument,_0x47d44b,_0x5d08b5);return _0x54487c?_0x3fbabf(0x104)+_0x54487c:_0x247088[_0x3fbabf(0x149)];}case _0x247088[_0x3fbabf(0x107)]:return _0x3fbabf(0x110);case _0x247088[_0x3fbabf(0x10d)]:return _0x3fbabf(0x11d);case _0x3fbabf(0x148):return _0x247088['nkOuo'];case _0x247088['mAhhO']:return _0x247088['MtVKv'];case _0x247088[_0x3fbabf(0x10a)]:{const _0x5e38d9=_0x247088[_0x3fbabf(0x136)](extractFilenameOption,_0x47d44b);if(!_0x5e38d9)return _0x247088['khdAC'];const {name:_0x1aaebc}=toStepDisplayName(_0x5e38d9);return _0x3fbabf(0x13c)+_0x1aaebc+'`';}case'screenshot':{const _0x3a3522=_0x247088['rwpkT'](extractFilenameOption,_0x47d44b);if(!_0x3a3522)return _0x247088[_0x3fbabf(0xcb)];const {name:_0x5e06dc,isKeyStep:_0x25eaa3}=toStepDisplayName(_0x3a3522);return _0x25eaa3?'capture\x20key\x20step\x20`'+_0x5e06dc+'`':_0x3fbabf(0x146)+_0x5e06dc+'`';}case _0x247088[_0x3fbabf(0x108)]:return _0x3fbabf(0x100)+formatCommandTarget(_0x247088['DlJXc'](extractFirstCommandArgument,_0x47d44b,_0x5d08b5));case _0x247088['NvdDY']:return'check\x20'+_0x247088[_0x3fbabf(0x139)](formatCommandTarget,extractFirstCommandArgument(_0x47d44b,_0x5d08b5));case _0x247088[_0x3fbabf(0x102)]:return _0x3fbabf(0xf7)+formatCommandTarget(_0x247088['DlJXc'](extractFirstCommandArgument,_0x47d44b,_0x5d08b5));case _0x247088['eXxOW']:return _0x3fbabf(0x145)+formatCommandTarget(_0x247088['QSlTJ'](extractFirstCommandArgument,_0x47d44b,_0x5d08b5));case _0x3fbabf(0xe8):return'run\x20custom\x20Playwright\x20code';case'tab-new':{const _0x3fe626=_0x247088['kzlBP'](extractFirstCommandArgument,_0x47d44b,_0x5d08b5);return _0x3fe626?_0x3fbabf(0xff)+_0x3fe626:'open\x20new\x20tab';}case'tab-select':{const _0x1426a7=extractFirstCommandArgument(_0x47d44b,_0x5d08b5);return _0x1426a7?_0x3fbabf(0x126)+_0x1426a7:_0x247088[_0x3fbabf(0x12d)];}default:return _0x5d08b5;}}function extractPlaywrightCliToolDescription(_0x3b8706){const _0x5113e8=_0x53dd,_0x2d14a9={'rVybr':function(_0x146a6c,_0x5515e5){return _0x146a6c!==_0x5515e5;}},_0x1c5876=_0x3b8706['description'];if(_0x2d14a9[_0x5113e8(0xca)](typeof _0x1c5876,'string'))return null;const _0x1d44e7=_0x1c5876['trim']()['replace'](/\s+/g,'\x20');return _0x1d44e7[_0x5113e8(0x120)]>0x0?_0x1d44e7:null;}export function formatPlaywrightCliConsoleLogMessage(_0x260c2f,_0x5010b6,_0x3dc1c8){const _0x3162cd=_0x53dd,_0x490d8e={'PVAlg':function(_0x801c7c,_0x2c2b19){return _0x801c7c(_0x2c2b19);}},_0x40d91e=formatPlaywrightCliLog(_0x5010b6,_0x3dc1c8),_0x239b61=_0x490d8e['PVAlg'](extractPlaywrightCliToolDescription,_0x260c2f);if(!_0x239b61)return _0x3162cd(0xf9)+_0x40d91e;if(process['env']['DEBUG'])return _0x3162cd(0xe2)+_0x239b61+'\x20('+_0x40d91e+')';return'[ranger-verification-agent]\x20'+_0x239b61;}export function buildVerifyFeatureCliDebugPrompt(_0x5885a2,_0x338a6a){const _0xeb923=_0x53dd,_0x5a6c3d={'sPhmu':'00_mozilla-homepage.yml','nijOV':_0xeb923(0x112),'vIeGv':_0xeb923(0x11b),'UceIx':function(_0x26f9f3,_0x55d22e){return _0x26f9f3(_0x55d22e);}},_0x591168=buildCliArtifactPath(_0x338a6a,_0x5a6c3d[_0xeb923(0xf5)]),_0x56ba44=buildCliArtifactPath(_0x338a6a,_0x5a6c3d[_0xeb923(0x143)]),_0x55bba3=buildCliArtifactPath(_0x338a6a,_0xeb923(0x117)),_0x108a7e=buildCliArtifactPath(_0x338a6a,_0x5a6c3d['vIeGv']),_0x4a10a1=quoteShellArg(_0x591168),_0x239624=quoteShellArg(_0x56ba44),_0x2556c2=quoteShellArg(_0x55bba3),_0x10e2fe=_0x5a6c3d['UceIx'](quoteShellArg,_0x108a7e);return'You\x20are\x20testing\x20browser\x20automation.\x20Your\x20task\x20is\x20simple:\x0a\x0aUse\x20Bash\x20and\x20Playwright\x20CLI\x20only.\x20The\x20browser\x20command\x20prefix\x20is:\x0a'+_0x5885a2+_0xeb923(0x11f)+_0x5885a2+'\x20open\x20https://www.mozilla.org`\x0a2.\x20Run\x20`'+_0x5885a2+_0xeb923(0x131)+_0x5885a2+'\x20video-start`\x0a4.\x20Save\x20every\x20snapshot\x20and\x20screenshot\x20under\x20`'+_0x338a6a+'`\x20using\x20absolute\x20paths\x20only.\x20Do\x20not\x20use\x20relative\x20filenames.\x0a5.\x20Run\x20`'+_0x5885a2+'\x20snapshot\x20--filename\x20'+_0x4a10a1+_0xeb923(0xf4)+_0x5885a2+'\x20screenshot\x20--filename\x20'+_0x239624+_0xeb923(0xe3)+_0x5885a2+'\x20snapshot\x20--filename\x20'+_0x2556c2+'`\x0a9.\x20Run\x20`'+_0x5885a2+'\x20screenshot\x20--filename\x20'+_0x10e2fe+_0xeb923(0x14d);}export function buildVerifyFeatureCliPrompt(_0x2be229){const _0xda0e42=_0x53dd,_0x2c8d26={'pjast':'short','HxctL':'element','TnRwG':function(_0x64e27c,_0x59c224,_0xba3f41){return _0x64e27c(_0x59c224,_0xba3f41);},'RfUbc':'01_initial.yml','uEXdw':'02_state.yml','JhDYz':function(_0x599c91,_0x23e6dd){return _0x599c91(_0x23e6dd);},'aXDem':function(_0x2845d7,_0xafb8c0){return _0x2845d7(_0xafb8c0);},'TwSSc':function(_0x3fea3d,_0x5cdd31,_0x20a57d){return _0x3fea3d(_0x5cdd31,_0x20a57d);}},{checklistItem:_0x3e8b64,itemFeedback:_0x446b82,taskDescription:_0x1655d3,cliCommandPrefix:_0x11ae9e,cliArtifactDir:_0x557e6c,isCdpMode:_0x16d1c1,url:_0xf1a824,cdpEndpoint:_0x2a7cb8,loginInstructions:_0x17d8d5}=_0x2be229,_0x4946da=_0x2c8d26['TnRwG'](buildCliArtifactPath,_0x557e6c,_0x2c8d26['RfUbc']),_0x49dd6c=buildCliArtifactPath(_0x557e6c,_0x2c8d26[_0xda0e42(0x134)]),_0x4e112e=_0x2c8d26[_0xda0e42(0xd4)](buildCliArtifactPath,_0x557e6c,_0xda0e42(0xf3)),_0x526d60=buildCliArtifactPath(_0x557e6c,'01_initial-state.png'),_0x18cb80=_0x2c8d26[_0xda0e42(0x144)](quoteShellArg,_0x4946da),_0x496466=_0x2c8d26['aXDem'](quoteShellArg,_0x49dd6c),_0x24400f=quoteShellArg(_0x4e112e),_0x32e0b0=quoteShellArg(_0x526d60),_0x978ff0=_0x3e8b64['notes']?_0xda0e42(0x10b)+_0x3e8b64[_0xda0e42(0xe7)]:'';let _0x13c5ef='';if(_0x446b82&&_0x446b82[_0xda0e42(0x119)]['length']>0x0){const _0x5d0719=_0x446b82['unaddressedComments']['map'](_0x4cb2d3=>{const _0x362743=_0xda0e42,_0x1137e6=new Date(_0x4cb2d3['createdAt'])['toLocaleDateString']('en-US',{'month':_0x2c8d26['pjast'],'day':'numeric'}),_0x1efa5d=_0x4cb2d3['authorName']||_0x4cb2d3[_0x362743(0x123)]||_0x362743(0xd9),_0x5b7aae=_0x4cb2d3[_0x362743(0xec)]?_0x362743(0x133)+(_0x4cb2d3['domRef'][_0x362743(0xe5)][_0x362743(0x118)]('\x20>\x20')[_0x362743(0x141)]()?.[_0x362743(0x118)](':')[0x0]||_0x2c8d26[_0x362743(0x10f)])+'>\x20\x22'+(_0x4cb2d3['domRef']['textContent']||'')[_0x362743(0xdf)](0x0,0x32)+'\x22)':'';return'-\x20['+_0x4cb2d3['id']+_0x362743(0x13f)+_0x1efa5d+'**\x20('+_0x1137e6+_0x362743(0xf2)+_0x4cb2d3[_0x362743(0x124)]+'\x22'+_0x5b7aae;})['join']('\x0a');_0x13c5ef=_0xda0e42(0xde)+_0x5d0719;}const _0x329d95=_0x446b82?.['canonicalFlow']?'\x0a\x0a##\x20Expected\x20Flow\x20(from\x20previous\x20verification)\x0a'+_0x446b82[_0xda0e42(0x13d)]:'',_0x5511c8=_0x16d1c1?'##\x20App\x20Context\x0aYou\x20are\x20connected\x20to\x20a\x20desktop\x20application\x20via\x20CDP\x20(Chrome\x20DevTools\x20Protocol)\x20at\x20'+_0x2a7cb8+_0xda0e42(0x135):'CRITICAL\x20URL\x20REQUIREMENT:\x0aYour\x20base\x20URL\x20is:\x20'+_0xf1a824+'\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',_0x2a9829=_0xf1a824?_0x2c8d26['aXDem'](quoteShellArg,_0xf1a824):'',_0x57e040=_0x16d1c1?_0xda0e42(0x13e)+_0x11ae9e+_0xda0e42(0x105)+_0x11ae9e+'\x20tracing-start`,\x20then\x20`'+_0x11ae9e+'\x20video-start`.\x0a3.\x20Save\x20every\x20snapshot\x20and\x20screenshot\x20under\x20`'+_0x557e6c+'`\x20using\x20absolute\x20paths\x20only.\x20Do\x20not\x20use\x20relative\x20filenames.\x0a4.\x20Take\x20a\x20snapshot\x20with\x20`'+_0x11ae9e+'\x20snapshot\x20--filename\x20'+_0x18cb80+'`\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`'+_0x11ae9e+_0xda0e42(0x111)+_0x32e0b0+'`\x20style\x20absolute\x20paths\x20at\x20key\x20moments.\x0a6.\x20If\x20you\x20need\x20waits\x20or\x20custom\x20assertions,\x20use\x20`'+_0x11ae9e+_0xda0e42(0xe4):'##\x20Instructions\x0a1.\x20Use\x20Bash\x20plus\x20Playwright\x20CLI\x20only.\x20Do\x20NOT\x20call\x20MCP\x20browser\x20tools.\x0a2.\x20Start\x20by\x20running\x20`'+_0x11ae9e+'\x20open\x20'+_0x2a9829+_0xda0e42(0x128)+_0x11ae9e+'\x20tracing-start`,\x20then\x20`'+_0x11ae9e+_0xda0e42(0x113)+_0x557e6c+'`\x20using\x20absolute\x20paths\x20only.\x20Do\x20not\x20use\x20relative\x20filenames.\x0a4.\x20Take\x20a\x20snapshot\x20with\x20`'+_0x11ae9e+_0xda0e42(0xd3)+_0x18cb80+_0xda0e42(0x125)+_0x11ae9e+_0xda0e42(0x111)+_0x32e0b0+_0xda0e42(0xcf)+_0x11ae9e+_0xda0e42(0x116),_0x79b212=_0x16d1c1?'\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.':_0xda0e42(0x129),_0x3ee56d=_0x17d8d5?'\x0a\x0a##\x20Authentication\x0aBEFORE\x20starting\x20the\x20verification\x20task,\x20you\x20MUST\x20authenticate\x20using\x20these\x20steps:\x0a'+_0x17d8d5+'\x0a\x0aAfter\x20completing\x20authentication,\x20proceed\x20with\x20the\x20verification\x20task\x20below.\x0aIf\x20authentication\x20fails,\x20return\x20immediately\x20with\x20evaluation\x20\x22blocked\x22\x20and\x20describe\x20the\x20auth\x20failure.':'';return _0xda0e42(0x12b)+_0x3e8b64['description']+_0x978ff0+_0x13c5ef+_0x329d95+'\x0a\x0a##\x20Task\x20to\x20Execute\x0a'+_0x1655d3+'\x0a\x0a'+_0x5511c8+_0x3ee56d+'\x0a\x0a'+_0x57e040+_0xda0e42(0xeb)+_0x11ae9e+'`\x0a\x0a-\x20Write\x20all\x20artifacts\x20under\x20`'+_0x557e6c+'`\x0a-\x20`snapshot\x20--filename\x20'+_0x496466+'`\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'+_0x24400f+'`\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`'+_0x557e6c+'`:\x20\x22'+_0x526d60+'\x22,\x20\x22'+buildCliArtifactPath(_0x557e6c,'02_button-clicked.png')+_0xda0e42(0xee)+buildCliArtifactPath(_0x557e6c,_0xda0e42(0x11e))+'\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'+_0x2c8d26[_0xda0e42(0xd1)](buildCliArtifactPath,_0x557e6c,_0xda0e42(0x137))+'\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'+_0x79b212+_0xda0e42(0x11c);}export function summarizeVerifyFeatureCliCommandAvailability(_0x39f32c){const _0x234a38=_0x53dd,_0x293a43=[..._0x39f32c[_0x234a38(0x11a)]()][_0x234a38(0xd5)]();let _0x484793=0x0;for(const _0x2529c2 of _0x39f32c[_0x234a38(0xfe)]()){_0x484793+=_0x2529c2;}return{'cliCommandCount':_0x484793,'cliCommandsSeen':_0x293a43,'noCliCommandsCalled':_0x484793===0x0};}function _0x53dd(_0x43f1f2,_0x5f26cf){_0x43f1f2=_0x43f1f2-0xc6;const _0x5c7c47=_0x5c7c();let _0x53dd9c=_0x5c7c47[_0x43f1f2];return _0x53dd9c;}export function createVerifyFeatureCliHooks(_0xd11ac8){const _0x133cd0=_0x53dd,_0x2af118={'sAlrK':function(_0xdef135,_0x54d0df){return _0xdef135!==_0x54d0df;},'WHBEa':function(_0x2cc38d,_0x145e0f){return _0x2cc38d!==_0x145e0f;},'jsbjY':function(_0x51e625,_0x5483e1){return _0x51e625(_0x5483e1);},'RdZGo':function(_0x510527,_0x425736){return _0x510527+_0x425736;},'SsigJ':_0x133cd0(0x132),'KqcZs':'tool_call','OyxvA':function(_0x822fdc,_0xe40eb4){return _0x822fdc!==_0xe40eb4;},'feICb':function(_0x1f4885,_0xb3987f){return _0x1f4885!==_0xb3987f;},'aahiI':_0x133cd0(0xe0),'DTAGM':_0x133cd0(0xfa)},_0x3b93c9=new Map(),_0x359af6=async _0x30dfa8=>{const _0x476028=_0x133cd0;if(_0x2af118[_0x476028(0xdc)](_0x30dfa8['hook_event_name'],'PostToolUse'))return{};const _0x37cb61=_0x30dfa8;if(_0x2af118['WHBEa'](_0x37cb61['tool_name'],'Bash'))return{};const _0x4a98fd=_0x37cb61['tool_input'],_0xc5b6d1=_0x2af118[_0x476028(0x103)](extractBashCommand,_0x4a98fd);if(!_0xc5b6d1)return{};const _0x334d1a=_0x2af118['jsbjY'](parsePlaywrightCliCommand,_0xc5b6d1);if(!_0x334d1a)return{};return _0x3b93c9['set'](_0x334d1a,_0x2af118['RdZGo'](_0x3b93c9[_0x476028(0x12c)](_0x334d1a)||0x0,0x1)),_0xd11ac8['trackPhaseStart']('tool_call',{'transport':_0x2af118[_0x476028(0xc6)],'toolName':_0x334d1a}),_0xd11ac8['trackPhaseEnd'](_0x2af118['KqcZs'],{'transport':_0x2af118['SsigJ'],'toolName':_0x334d1a,'bashCommandPreview':_0x2af118[_0x476028(0x103)](truncatePreview,_0xc5b6d1)}),_0x2af118[_0x476028(0x10c)](_0x334d1a,'snapshot')&&console['log'](formatPlaywrightCliConsoleLogMessage(_0x4a98fd,_0xc5b6d1,_0x334d1a)),{};},_0x3b65e9=async _0x4bf03d=>{const _0x44832c=_0x133cd0;if(_0x4bf03d['hook_event_name']!=='PostToolUseFailure')return{};const _0x1a0127=_0x4bf03d;if(_0x2af118['feICb'](_0x1a0127['tool_name'],_0x2af118[_0x44832c(0x106)]))return{};return await _0xd11ac8['trackPhaseError'](_0x2af118[_0x44832c(0x14a)],_0x1a0127['error'],{'transport':_0x44832c(0x132),'toolName':_0x2af118[_0x44832c(0x106)]}),{};};return{'postToolUseHook':_0x359af6,'postToolUseFailureHook':_0x3b65e9,'commandCounts':_0x3b93c9};}async function runPlaywrightCliLifecycleCommand(_0x3964bb){const _0x3dd1ca=_0x53dd,_0x46fd78={'rKKcx':function(_0x3b2fff,_0x2a60fc){return _0x3b2fff(_0x2a60fc);},'BtDHz':function(_0x7dc64d,_0x118234,_0x3f4c51){return _0x7dc64d(_0x118234,_0x3f4c51);}},{sessionId:_0x3449c7,configPath:_0x506d38,commandArgs:_0x27adce,env:_0x2e4a63,telemetry:_0x545ae9,phase:_0x3aaf61,metadata:_0x3ce599,timeoutMs:_0xdabbf}=_0x3964bb;_0x545ae9['trackPhaseStart'](_0x3aaf61,_0x3ce599);try{const _0x5093e7=await _0x46fd78[_0x3dd1ca(0xd6)](runPlaywrightCliCommand,{'sessionId':_0x3449c7,'configPath':_0x506d38,'commandArgs':_0x27adce,'cwd':process[_0x3dd1ca(0xf0)](),'env':_0x2e4a63,'timeoutMs':_0xdabbf??PLAYWRIGHT_CLI_COMMAND_TIMEOUT_MS});_0x545ae9['trackPhaseEnd'](_0x3aaf61,{..._0x3ce599,'subcommand':_0x5093e7[_0x3dd1ca(0xd0)][_0x3dd1ca(0xed)],'stdoutPreview':_0x46fd78[_0x3dd1ca(0xfc)](truncatePreview,_0x5093e7['stdout'],0x7d0),'stderrPreview':truncatePreview(_0x5093e7['stderr'],0x7d0)});}catch(_0x2ca392){await _0x545ae9['trackPhaseError'](_0x3aaf61,_0x2ca392,_0x3ce599);throw _0x2ca392;}}export async function finalizeVerifyFeatureCliSession(_0x233649){const _0x18cc30=_0x53dd,_0xfb5388={'bNKDT':_0x18cc30(0xd2),'PgdPp':'video-stop','ohlrt':function(_0xb5d49c,_0x262684){return _0xb5d49c(_0x262684);}},{telemetry:_0x2deed3,sessionId:_0x826096,configPath:_0x16c5e6,cliArtifactDir:_0x244984,env:_0x5d2939,transportMetadata:_0x39b552}=_0x233649,_0x384994=[{'phase':'playwright_cli_tracing_stop','commandArgs':[_0xfb5388['bNKDT']]},{'phase':'playwright_cli_video_stop','commandArgs':[_0xfb5388[_0x18cc30(0x109)],_0x18cc30(0xe6)+buildCliArtifactPath(_0x244984,'session-recording.webm')]},{'phase':_0x18cc30(0x101),'commandArgs':['close']}];for(const _0x3ac9ee of _0x384994){try{await _0xfb5388[_0x18cc30(0xfb)](runPlaywrightCliLifecycleCommand,{'sessionId':_0x826096,'configPath':_0x16c5e6,'commandArgs':[..._0x3ac9ee[_0x18cc30(0x121)]],'env':_0x5d2939,'telemetry':_0x2deed3,'phase':_0x3ac9ee['phase'],'metadata':_0x39b552});}catch{}}}export async function loadVerifyFeatureCliTraceUploadArtifact(_0xc0da03){const _0x5a5fab=_0x53dd,_0x51e6aa={'MNjHa':_0x5a5fab(0x147),'SRlmM':function(_0x582285,_0x3078fb,_0x4400d6){return _0x582285(_0x3078fb,_0x4400d6);},'cmnpA':function(_0x4f7366,_0x4f73){return _0x4f7366(_0x4f73);}},_0x441e7a=[_0x51e6aa['MNjHa'],_0x5a5fab(0xd8)];for(const _0x15e668 of _0x441e7a){const _0x347778=_0x51e6aa['SRlmM'](join,_0xc0da03,_0x15e668);try{return{'buffer':await _0x51e6aa[_0x5a5fab(0x127)](readFile,_0x347778),'source':_0x347778};}catch{}}return null;}export async function rehomeVerifyFeatureCliArtifacts(_0x547f98){const _0x3e39c4=_0x53dd,_0x141ea5={'hZZOy':function(_0x15058f,_0x1e9096){return _0x15058f===_0x1e9096;},'COdrq':function(_0x479d41,_0x23d8fb,_0x24ace4){return _0x479d41(_0x23d8fb,_0x24ace4);}},{cwd:_0x21b564,cliArtifactDir:_0x51d0f4,startTime:_0x11e6eb}=_0x547f98,_0x1b59af=[];await mkdir(_0x51d0f4,{'recursive':!![]});const _0x5e9def=await readdir(_0x21b564,{'withFileTypes':!![]});for(const _0x565920 of _0x5e9def){if(!_0x565920['isFile']()||!VERIFY_FEATURE_CLI_ARTIFACT_FILE_PATTERN[_0x3e39c4(0xce)](_0x565920['name']))continue;const _0x41f3c6=join(_0x21b564,_0x565920[_0x3e39c4(0x12e)]),_0x313ee8=await stat(_0x41f3c6);if(_0x313ee8[_0x3e39c4(0xfd)]+0x7d0<_0x11e6eb)continue;const _0x4748dd=buildCliArtifactPath(_0x51d0f4,_0x565920[_0x3e39c4(0x12e)]);if(_0x141ea5['hZZOy'](_0x41f3c6,_0x4748dd))continue;await _0x141ea5[_0x3e39c4(0x13a)](rename,_0x41f3c6,_0x4748dd),_0x1b59af['push'](_0x565920['name']);}return _0x1b59af['sort']();}function _0x5c7c(){const _0x557b97=['`\x0a7.\x20Click\x20the\x20\x22Learn\x20More\x22\x20link\x20with\x20Playwright\x20CLI\x0a8.\x20Run\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','selector','--filename=','notes','run-code','capture\x20snapshot','DlJXc','\x0a\x0a##\x20Browser\x20Command\x20Reference\x0aUse\x20Bash\x20to\x20run\x20Playwright\x20CLI\x20commands\x20with\x20this\x20exact\x20prefix:\x0a`','domRef','subcommand','\x22,\x20\x22','stop\x20video\x20recording','cwd','14824eusviB','):\x20\x22','key_03_success-state.png','`\x0a5.\x20Read\x20the\x20snapshot\x20file\x20to\x20find\x20the\x20\x22Learn\x20More\x22\x20link\x20reference\x0a6.\x20Run\x20`','sPhmu','open','fill\x20','2303958hthcZP','[playwright-cli]\x20','tool_failure','ohlrt','BtDHz','mtimeMs','values','open\x20new\x20tab\x20','click\x20','playwright_cli_close','EHFUz','jsbjY','open\x20','\x20open`,\x20then\x20`','aahiI','Frdsn','znHmd','PgdPp','cRqXO','\x0a\x0a##\x20Additional\x20Notes\x0a','OyxvA','POHkW','BUemq','HxctL','start\x20tracing','\x20screenshot\x20--filename\x20','01_mozilla-homepage.png','\x20video-start`.\x0a3.\x20Save\x20every\x20snapshot\x20and\x20screenshot\x20under\x20`','4CPCUpX','1805340Jwfhlm','\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','02_learn-more.yml','split','unaddressedComments','keys','03_learn-more.png','\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.','stop\x20tracing','03_result-visible.png','\x0a\x0a1.\x20Run\x20`','length','commandArgs','check','authorEmail','content','`\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`','select\x20tab\x20','cmnpA','`,\x20then\x20`','\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.','GBzxb','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','get','nTpbF','name','start\x20video\x20recording','2259ukxRcv','\x20tracing-start`\x0a3.\x20Run\x20`','playwright-cli','\x20(on\x20element:\x20<','uEXdw','.\x0aThis\x20is\x20NOT\x20a\x20web\x20app\x20—\x20there\x20is\x20no\x20URL\x20to\x20navigate\x20to.\x20The\x20app\x20is\x20already\x20running\x20and\x20connected.','rwpkT','key_04_success-state.png','...','atSTE','COdrq','replace','capture\x20snapshot\x20`','canonicalFlow','##\x20Instructions\x0a1.\x20Use\x20Bash\x20plus\x20Playwright\x20CLI\x20only.\x20Do\x20NOT\x20call\x20MCP\x20browser\x20tools.\x0a2.\x20Start\x20by\x20running\x20`',']\x20**','capture\x20screenshot','pop','jArEM','nijOV','JhDYz','press\x20','capture\x20step\x20`','trace.zip','video-start','PyTGX','DTAGM','stringify','VAaKa','`\x0a10.\x20Return\x20immediately\x20with\x20the\x20structured\x20output\x0a\x0aReturn\x20your\x20findings\x20in\x20the\x20structured\x20output\x20format.','SsigJ','select\x20tab','video-stop','338798zuqOnk','rVybr','vtmur','448980FLuPCS','snapshot','test','`\x20style\x20absolute\x20paths\x20at\x20key\x20moments.\x0a8.\x20If\x20you\x20need\x20waits\x20or\x20custom\x20assertions,\x20use\x20`','invocation','TwSSc','tracing-stop','\x20snapshot\x20--filename\x20','TnRwG','sort','rKKcx','60138oSaVRU','trace.trace.zip','Reviewer','12YxelXU','(?:^|\x5cs)','sAlrK','target','\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','slice','Bash','178480VwKgGN','[ranger-verification-agent]\x20'];_0x5c7c=function(){return _0x557b97;};return _0x5c7c();}
|
|
1
|
+
(function(_0x5a742d,_0x1759a3){const _0x286c06=_0x5560,_0x7e5c50=_0x5a742d();while(!![]){try{const _0x513cdd=parseInt(_0x286c06(0x103))/0x1+-parseInt(_0x286c06(0xcb))/0x2+parseInt(_0x286c06(0xf9))/0x3+-parseInt(_0x286c06(0x13c))/0x4*(parseInt(_0x286c06(0xd5))/0x5)+-parseInt(_0x286c06(0x117))/0x6*(parseInt(_0x286c06(0x106))/0x7)+-parseInt(_0x286c06(0x141))/0x8*(-parseInt(_0x286c06(0x109))/0x9)+parseInt(_0x286c06(0xd4))/0xa*(parseInt(_0x286c06(0x13f))/0xb);if(_0x513cdd===_0x1759a3)break;else _0x7e5c50['push'](_0x7e5c50['shift']());}catch(_0x474a3b){_0x7e5c50['push'](_0x7e5c50['shift']());}}}(_0x3f64,0xb251e));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(_0x217c2d,_0x340ccb=PLAYWRIGHT_CLI_PREVIEW_LIMIT){const _0x4e40ec=_0x5560,_0x18b665={'WEyHi':'...'};return _0x217c2d['length']>_0x340ccb?_0x217c2d[_0x4e40ec(0xe1)](0x0,_0x340ccb)+_0x18b665[_0x4e40ec(0x139)]:_0x217c2d;}function buildCliArtifactPath(_0x552e76,_0x14d2e1){return join(_0x552e76,_0x14d2e1);}function toStepDisplayName(_0x37ee10){const _0x4afde2=_0x5560,_0xa6d530=basename(_0x37ee10)['replace'](/\.(?:png|ya?ml)$/i,'')[_0x4afde2(0x126)](/^key_/i,'')['replace'](/^\d+_/,'')[_0x4afde2(0x126)](/-/g,'\x20');return{'name':_0xa6d530,'isKeyStep':/^key_/i[_0x4afde2(0x129)](basename(_0x37ee10))};}function extractShellValue(_0x18c8a9){if(!_0x18c8a9)return null;return _0x18c8a9[0x1]??_0x18c8a9[0x2]??_0x18c8a9[0x3]??null;}function extractFilenameOption(_0x6ff93c){const _0x30a6a9={'lRsVi':function(_0x41c1fd,_0x5a9c01){return _0x41c1fd(_0x5a9c01);}};return _0x30a6a9['lRsVi'](extractShellValue,_0x6ff93c['match'](/--filename(?:=|\s+)(?:"([^"]+)"|'([^']+)'|(\S+))/));}function extractFirstCommandArgument(_0x51f1e3,_0x4e9dfa){const _0x585085=_0x5560,_0x4fa4cc={'LgpDb':'\x5c$&','OkVrU':function(_0x1ba11e,_0xabec26){return _0x1ba11e(_0xabec26);}},_0x335279=_0x4e9dfa[_0x585085(0x126)](/[.*+?^${}()|[\]\\]/g,_0x4fa4cc['LgpDb']);return _0x4fa4cc[_0x585085(0xe2)](extractShellValue,_0x51f1e3['match'](new RegExp(_0x585085(0x104)+_0x335279+'(?:\x5cs+(?:\x22([^\x22]+)\x22|\x27([^\x27]+)\x27|(\x5cS+)))')));}function _0x5560(_0x2e65de,_0x5704b2){_0x2e65de=_0x2e65de-0xc8;const _0x3f6493=_0x3f64();let _0x5560a6=_0x3f6493[_0x2e65de];return _0x5560a6;}function formatCommandTarget(_0x1700e1){const _0x53f4ab=_0x5560,_0x5439cb={'wcaGf':_0x53f4ab(0x140)};if(!_0x1700e1)return _0x5439cb['wcaGf'];if(/^e\d+$/i[_0x53f4ab(0x129)](_0x1700e1))return _0x53f4ab(0xd3)+_0x1700e1;return JSON['stringify'](truncatePreview(_0x1700e1,0x78));}function formatPlaywrightCliLog(_0x52ee68,_0x2b2b06){const _0xdf55f3=_0x5560,_0x577678={'AKXax':_0xdf55f3(0x121),'ACAkc':'video-start','JMPLD':'start\x20video\x20recording','CPKEj':_0xdf55f3(0xf2),'AHsZF':'stop\x20video\x20recording','tprym':_0xdf55f3(0x10f),'GztQO':function(_0x48f9b4,_0x40c0ef){return _0x48f9b4(_0x40c0ef);},'aOYLy':'screenshot','etnWD':'capture\x20screenshot','uZEZv':_0xdf55f3(0x13a),'BDRdy':_0xdf55f3(0xce),'IqDGi':function(_0x419853,_0x58d5e3,_0x245ea5){return _0x419853(_0x58d5e3,_0x245ea5);},'VCUsY':'press','sYsJj':function(_0x35e80d,_0x33267d){return _0x35e80d(_0x33267d);},'dPSHl':_0xdf55f3(0xde),'eUupc':_0xdf55f3(0x11b),'ZrJon':function(_0x15d714,_0x2135a1,_0x2e5bdb){return _0x15d714(_0x2135a1,_0x2e5bdb);},'vgmQx':_0xdf55f3(0xf4)};switch(_0x2b2b06){case'open':{const _0x1b3d81=extractFirstCommandArgument(_0x52ee68,_0x2b2b06);return _0x1b3d81?_0xdf55f3(0xfb)+_0x1b3d81:'open\x20browser';}case'tracing-start':return'start\x20tracing';case _0x577678[_0xdf55f3(0xe4)]:return'stop\x20tracing';case _0x577678['ACAkc']:return _0x577678['JMPLD'];case _0x577678['CPKEj']:return _0x577678[_0xdf55f3(0x108)];case _0x577678['tprym']:{const _0x1ed12d=extractFilenameOption(_0x52ee68);if(!_0x1ed12d)return'capture\x20snapshot';const {name:_0x89f9ba}=_0x577678['GztQO'](toStepDisplayName,_0x1ed12d);return'capture\x20snapshot\x20`'+_0x89f9ba+'`';}case _0x577678['aOYLy']:{const _0x55aec5=extractFilenameOption(_0x52ee68);if(!_0x55aec5)return _0x577678['etnWD'];const {name:_0x12c5dd,isKeyStep:_0x1e21fa}=toStepDisplayName(_0x55aec5);return _0x1e21fa?'capture\x20key\x20step\x20`'+_0x12c5dd+'`':'capture\x20step\x20`'+_0x12c5dd+'`';}case _0x577678[_0xdf55f3(0x134)]:return _0xdf55f3(0x12a)+_0x577678['GztQO'](formatCommandTarget,extractFirstCommandArgument(_0x52ee68,_0x2b2b06));case _0x577678['BDRdy']:return _0xdf55f3(0xd2)+formatCommandTarget(_0x577678[_0xdf55f3(0x102)](extractFirstCommandArgument,_0x52ee68,_0x2b2b06));case'fill':return _0xdf55f3(0x112)+formatCommandTarget(extractFirstCommandArgument(_0x52ee68,_0x2b2b06));case _0x577678['VCUsY']:return _0xdf55f3(0xf1)+_0x577678['sYsJj'](formatCommandTarget,extractFirstCommandArgument(_0x52ee68,_0x2b2b06));case'run-code':return _0x577678['dPSHl'];case _0x577678['eUupc']:{const _0x176f97=_0x577678['ZrJon'](extractFirstCommandArgument,_0x52ee68,_0x2b2b06);return _0x176f97?'open\x20new\x20tab\x20'+_0x176f97:_0xdf55f3(0xe6);}case'tab-select':{const _0x38a2d9=_0x577678[_0xdf55f3(0x102)](extractFirstCommandArgument,_0x52ee68,_0x2b2b06);return _0x38a2d9?'select\x20tab\x20'+_0x38a2d9:_0x577678[_0xdf55f3(0xfa)];}default:return _0x2b2b06;}}function extractPlaywrightCliToolDescription(_0x3aa58a){const _0x5687f1=_0x5560,_0x12a1d0={'ohTBZ':'string','lZqjK':function(_0x35368e,_0x260500){return _0x35368e>_0x260500;}},_0x254458=_0x3aa58a[_0x5687f1(0xd6)];if(typeof _0x254458!==_0x12a1d0['ohTBZ'])return null;const _0x3e3d41=_0x254458['trim']()['replace'](/\s+/g,'\x20');return _0x12a1d0[_0x5687f1(0x142)](_0x3e3d41['length'],0x0)?_0x3e3d41:null;}function _0x3f64(){const _0x179ff7=['WwGwR','playwright_cli_close','02_button-clicked.png','unaddressedComments','1339236qOrpuG','sort','`\x20style\x20absolute\x20paths\x20at\x20key\x20moments.\x0a6.\x20If\x20you\x20need\x20waits\x20or\x20custom\x20assertions,\x20use\x20`','check','KSBaN','tool_name','\x20video-start`.\x0a3.\x20Save\x20every\x20snapshot\x20and\x20screenshot\x20under\x20`','check\x20','ref\x20','10XpdSCv','6260885bIkzwh','description','CcEhN','yxNpB','xwniA','\x20screenshot\x20--filename\x20','jdwnB','zENpL','keys','run\x20custom\x20Playwright\x20code','session-recording.webm','mtimeMs','slice','OkVrU','\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','AKXax','`\x20style\x20absolute\x20paths\x20at\x20key\x20moments.\x0a8.\x20If\x20you\x20need\x20waits\x20or\x20custom\x20assertions,\x20use\x20`','open\x20new\x20tab','**\x20(','\x20tracing-start`,\x20then\x20`','Etkxs','invocation','numeric','-\x20[','iOaIl','\x20open`,\x20then\x20`','PostToolUseFailure','domRef','press\x20','video-stop','`\x0a10.\x20Return\x20immediately\x20with\x20the\x20structured\x20output\x0a\x0aReturn\x20your\x20findings\x20in\x20the\x20structured\x20output\x20format.','select\x20tab','miwAS','[ranger-verification-agent]\x20','kuwJJ','close','2059551aNAYEM','vgmQx','open\x20','ISlEQ','stderr','`\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','`,\x20then\x20`','):\x20\x22','trace.zip','IqDGi','374343UcixID','(?:^|\x5cs)','WaErN','271033tzvPnH','\x20open\x20https://www.mozilla.org`\x0a2.\x20Run\x20`','AHsZF','313452FmSRxE','\x20video-start`\x0a4.\x20Save\x20every\x20snapshot\x20and\x20screenshot\x20under\x20`','01_mozilla-homepage.png','OCuKb','stdout','notes','snapshot','push','canonicalFlow','fill\x20','createdAt','`\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`','hwcFc','.\x0aThis\x20is\x20NOT\x20a\x20web\x20app\x20—\x20there\x20is\x20no\x20URL\x20to\x20navigate\x20to.\x20The\x20app\x20is\x20already\x20running\x20and\x20connected.','120scxFvF','zsmCE','authorName','WfEcw','tab-new','JMkPO','\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.','\x0a\x0a##\x20Task\x20to\x20Execute\x0a','You\x20are\x20testing\x20browser\x20automation.\x20Your\x20task\x20is\x20simple:\x0a\x0aUse\x20Bash\x20and\x20Playwright\x20CLI\x20only.\x20The\x20browser\x20command\x20prefix\x20is:\x0a','\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','tracing-stop','phase','naAxV','set','join','replace','en-US','Bash','test','click\x20','[playwright-cli]\x20','toLocaleDateString','01_initial-state.png','\x0a\x0a##\x20Additional\x20Notes\x0a','FRQuF','hook_event_name','poNyu','playwright-cli','key_04_success-state.png','uZEZv','length','trackPhaseStart','\x22,\x20\x22','\x20snapshot\x20--filename\x20','WEyHi','click','element','4SKPViX','name','split','12230955MzPNEn','target','288aTnFPr','lZqjK','`\x0a7.\x20Click\x20the\x20\x22Learn\x20More\x22\x20link\x20with\x20Playwright\x20CLI\x0a8.\x20Run\x20`','values','key_03_success-state.png','yCOec'];_0x3f64=function(){return _0x179ff7;};return _0x3f64();}export function formatPlaywrightCliConsoleLogMessage(_0x3c3a79,_0x10e63f,_0x407430){const _0x5587d4=_0x5560,_0xe0388e={'FRQuF':function(_0x5d0414,_0x114e10,_0x3261d7){return _0x5d0414(_0x114e10,_0x3261d7);},'xwniA':function(_0x43263e,_0x54e532){return _0x43263e(_0x54e532);}},_0x8d8846=_0xe0388e[_0x5587d4(0x12f)](formatPlaywrightCliLog,_0x10e63f,_0x407430),_0x7930f5=_0xe0388e[_0x5587d4(0xd9)](extractPlaywrightCliToolDescription,_0x3c3a79);if(!_0x7930f5)return _0x5587d4(0x12b)+_0x8d8846;if(process['env']['DEBUG'])return'[ranger-verification-agent]\x20'+_0x7930f5+'\x20('+_0x8d8846+')';return _0x5587d4(0xf6)+_0x7930f5;}export function buildVerifyFeatureCliDebugPrompt(_0x3ca305,_0x206091){const _0x13a17f=_0x5560,_0x3bae4d={'WVNRo':function(_0x54e209,_0x3c59ec,_0x22ef98){return _0x54e209(_0x3c59ec,_0x22ef98);},'Etkxs':'02_learn-more.yml','VSInP':'03_learn-more.png','WwGwR':function(_0x4ca4aa,_0x40484b){return _0x4ca4aa(_0x40484b);}},_0x3379f1=_0x3bae4d['WVNRo'](buildCliArtifactPath,_0x206091,'00_mozilla-homepage.yml'),_0x3d5f3d=_0x3bae4d['WVNRo'](buildCliArtifactPath,_0x206091,_0x13a17f(0x10b)),_0x2d67bc=_0x3bae4d['WVNRo'](buildCliArtifactPath,_0x206091,_0x3bae4d[_0x13a17f(0xe9)]),_0x1dab39=buildCliArtifactPath(_0x206091,_0x3bae4d['VSInP']),_0x537b39=_0x3bae4d[_0x13a17f(0x147)](quoteShellArg,_0x3379f1),_0x5a6c55=_0x3bae4d['WwGwR'](quoteShellArg,_0x3d5f3d),_0x134d08=quoteShellArg(_0x2d67bc),_0x5fbde9=_0x3bae4d[_0x13a17f(0x147)](quoteShellArg,_0x1dab39);return _0x13a17f(0x11f)+_0x3ca305+'\x0a\x0a1.\x20Run\x20`'+_0x3ca305+_0x13a17f(0x107)+_0x3ca305+'\x20tracing-start`\x0a3.\x20Run\x20`'+_0x3ca305+_0x13a17f(0x10a)+_0x206091+'`\x20using\x20absolute\x20paths\x20only.\x20Do\x20not\x20use\x20relative\x20filenames.\x0a5.\x20Run\x20`'+_0x3ca305+'\x20snapshot\x20--filename\x20'+_0x537b39+'`\x0a5.\x20Read\x20the\x20snapshot\x20file\x20to\x20find\x20the\x20\x22Learn\x20More\x22\x20link\x20reference\x0a6.\x20Run\x20`'+_0x3ca305+'\x20screenshot\x20--filename\x20'+_0x5a6c55+_0x13a17f(0x143)+_0x3ca305+'\x20snapshot\x20--filename\x20'+_0x134d08+'`\x0a9.\x20Run\x20`'+_0x3ca305+'\x20screenshot\x20--filename\x20'+_0x5fbde9+_0x13a17f(0xf3);}export function buildVerifyFeatureCliPrompt(_0x5bd1ef){const _0x313292=_0x5560,_0x3ee1c9={'VJLLQ':_0x313292(0x127),'zgVEB':'short','kUKHx':'\x20>\x20','JMkPO':function(_0xa35087,_0x5aed20,_0x5066ed){return _0xa35087(_0x5aed20,_0x5066ed);},'oByVJ':'02_state.yml','agrjM':function(_0x13eb25,_0x1738d0,_0x59ed88){return _0x13eb25(_0x1738d0,_0x59ed88);},'ISlEQ':_0x313292(0x145),'poNyu':function(_0x553e56,_0x554ab1,_0x1f2878){return _0x553e56(_0x554ab1,_0x1f2878);},'SlZSx':_0x313292(0x12d),'eitwW':function(_0x2d205a,_0x346a82){return _0x2d205a(_0x346a82);},'udaRR':function(_0x9d253d,_0x458fc3){return _0x9d253d(_0x458fc3);},'CcEhN':function(_0x1cbdf0,_0x2257e6){return _0x1cbdf0>_0x2257e6;},'iOaIl':_0x313292(0xc9),'hwcFc':function(_0x36c7bf,_0x5bf773,_0x4b0c25){return _0x36c7bf(_0x5bf773,_0x4b0c25);},'Cwzli':_0x313292(0x133)},{checklistItem:_0x4a215d,itemFeedback:_0x489cf0,taskDescription:_0x2bbdb2,cliCommandPrefix:_0x52e7b2,cliArtifactDir:_0xbc36,isCdpMode:_0x1857e4,url:_0x480791,cdpEndpoint:_0x442fab,loginInstructions:_0x451fbc}=_0x5bd1ef,_0x457598=buildCliArtifactPath(_0xbc36,'01_initial.yml'),_0x197fc3=_0x3ee1c9[_0x313292(0x11c)](buildCliArtifactPath,_0xbc36,_0x3ee1c9['oByVJ']),_0x509c02=_0x3ee1c9['agrjM'](buildCliArtifactPath,_0xbc36,_0x3ee1c9[_0x313292(0xfc)]),_0xd25bac=_0x3ee1c9[_0x313292(0x131)](buildCliArtifactPath,_0xbc36,_0x3ee1c9['SlZSx']),_0x907102=quoteShellArg(_0x457598),_0xcea368=_0x3ee1c9['eitwW'](quoteShellArg,_0x197fc3),_0x3450be=_0x3ee1c9['udaRR'](quoteShellArg,_0x509c02),_0x2d9ecb=quoteShellArg(_0xd25bac),_0x31d590=_0x4a215d[_0x313292(0x10e)]?_0x313292(0x12e)+_0x4a215d['notes']:'';let _0x30687d='';if(_0x489cf0&&_0x3ee1c9[_0x313292(0xd7)](_0x489cf0[_0x313292(0xca)][_0x313292(0x135)],0x0)){const _0x38111b=_0x489cf0[_0x313292(0xca)]['map'](_0x581ab7=>{const _0x3f2792=_0x313292,_0x2eaee3=new Date(_0x581ab7[_0x3f2792(0x113)])[_0x3f2792(0x12c)](_0x3ee1c9['VJLLQ'],{'month':_0x3ee1c9['zgVEB'],'day':_0x3f2792(0xeb)}),_0x1bd7a0=_0x581ab7[_0x3f2792(0x119)]||_0x581ab7['authorEmail']||'Reviewer',_0x4a9ca7=_0x581ab7[_0x3f2792(0xf0)]?'\x20(on\x20element:\x20<'+(_0x581ab7[_0x3f2792(0xf0)]['selector']['split'](_0x3ee1c9['kUKHx'])['pop']()?.[_0x3f2792(0x13e)](':')[0x0]||_0x3f2792(0x13b))+'>\x20\x22'+(_0x581ab7[_0x3f2792(0xf0)]['textContent']||'')[_0x3f2792(0xe1)](0x0,0x32)+'\x22)':'';return _0x3f2792(0xec)+_0x581ab7['id']+']\x20**'+_0x1bd7a0+_0x3f2792(0xe7)+_0x2eaee3+_0x3f2792(0x100)+_0x581ab7['content']+'\x22'+_0x4a9ca7;})[_0x313292(0x125)]('\x0a');_0x30687d='\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'+_0x38111b;}const _0x3e93f9=_0x489cf0?.['canonicalFlow']?'\x0a\x0a##\x20Expected\x20Flow\x20(from\x20previous\x20verification)\x0a'+_0x489cf0[_0x313292(0x111)]:'',_0x52e0db=_0x1857e4?'##\x20App\x20Context\x0aYou\x20are\x20connected\x20to\x20a\x20desktop\x20application\x20via\x20CDP\x20(Chrome\x20DevTools\x20Protocol)\x20at\x20'+_0x442fab+_0x313292(0x116):'CRITICAL\x20URL\x20REQUIREMENT:\x0aYour\x20base\x20URL\x20is:\x20'+_0x480791+'\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',_0x3e2900=_0x480791?_0x3ee1c9['eitwW'](quoteShellArg,_0x480791):'',_0x211b3c=_0x1857e4?'##\x20Instructions\x0a1.\x20Use\x20Bash\x20plus\x20Playwright\x20CLI\x20only.\x20Do\x20NOT\x20call\x20MCP\x20browser\x20tools.\x0a2.\x20Start\x20by\x20running\x20`'+_0x52e7b2+_0x313292(0xee)+_0x52e7b2+'\x20tracing-start`,\x20then\x20`'+_0x52e7b2+_0x313292(0xd1)+_0xbc36+'`\x20using\x20absolute\x20paths\x20only.\x20Do\x20not\x20use\x20relative\x20filenames.\x0a4.\x20Take\x20a\x20snapshot\x20with\x20`'+_0x52e7b2+_0x313292(0x138)+_0x907102+'`\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`'+_0x52e7b2+_0x313292(0xda)+_0x2d9ecb+_0x313292(0xcd)+_0x52e7b2+'\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`'+_0x52e7b2+'\x20open\x20'+_0x3e2900+_0x313292(0xff)+_0x52e7b2+_0x313292(0xe8)+_0x52e7b2+_0x313292(0xd1)+_0xbc36+'`\x20using\x20absolute\x20paths\x20only.\x20Do\x20not\x20use\x20relative\x20filenames.\x0a4.\x20Take\x20a\x20snapshot\x20with\x20`'+_0x52e7b2+'\x20snapshot\x20--filename\x20'+_0x907102+'`\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`'+_0x52e7b2+'\x20screenshot\x20--filename\x20'+_0x2d9ecb+_0x313292(0xe5)+_0x52e7b2+_0x313292(0xe3),_0x1fce87=_0x1857e4?'\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.':_0x313292(0x11d),_0x26e2c9=_0x451fbc?'\x0a\x0a##\x20Authentication\x0aBEFORE\x20starting\x20the\x20verification\x20task,\x20you\x20MUST\x20authenticate\x20using\x20these\x20steps:\x0a'+_0x451fbc+'\x0a\x0aAfter\x20completing\x20authentication,\x20proceed\x20with\x20the\x20verification\x20task\x20below.\x0aIf\x20authentication\x20fails,\x20return\x20immediately\x20with\x20evaluation\x20\x22blocked\x22\x20and\x20describe\x20the\x20auth\x20failure.':'';return'You\x20are\x20a\x20Feature\x20Review\x20Verifier.\x20Your\x20job\x20is\x20to\x20verify\x20a\x20scenario\x20by\x20executing\x20a\x20UI\x20flow\x20and\x20evaluating\x20whether\x20it\x20adequately\x20completes\x20the\x20scenario.\x0a\x0a##\x20Scenario\x20to\x20Verify\x0a'+_0x4a215d[_0x313292(0xd6)]+_0x31d590+_0x30687d+_0x3e93f9+_0x313292(0x11e)+_0x2bbdb2+'\x0a\x0a'+_0x52e0db+_0x26e2c9+'\x0a\x0a'+_0x211b3c+'\x0a\x0a##\x20Browser\x20Command\x20Reference\x0aUse\x20Bash\x20to\x20run\x20Playwright\x20CLI\x20commands\x20with\x20this\x20exact\x20prefix:\x0a`'+_0x52e7b2+'`\x0a\x0a-\x20Write\x20all\x20artifacts\x20under\x20`'+_0xbc36+'`\x0a-\x20`snapshot\x20--filename\x20'+_0xcea368+_0x313292(0xfe)+_0x3450be+_0x313292(0x114)+_0xbc36+'`:\x20\x22'+_0xd25bac+_0x313292(0x137)+buildCliArtifactPath(_0xbc36,_0x3ee1c9[_0x313292(0xed)])+_0x313292(0x137)+_0x3ee1c9[_0x313292(0x115)](buildCliArtifactPath,_0xbc36,'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'+_0x3ee1c9['hwcFc'](buildCliArtifactPath,_0xbc36,_0x3ee1c9['Cwzli'])+_0x313292(0x120)+_0x1fce87+'\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(_0x535e11){const _0x504851=_0x5560,_0x40f7bf={'zENpL':function(_0x3db6ed,_0xfa72eb){return _0x3db6ed===_0xfa72eb;}},_0x154d03=[..._0x535e11[_0x504851(0xdd)]()][_0x504851(0xcc)]();let _0x1cf38b=0x0;for(const _0x4b7748 of _0x535e11[_0x504851(0x144)]()){_0x1cf38b+=_0x4b7748;}return{'cliCommandCount':_0x1cf38b,'cliCommandsSeen':_0x154d03,'noCliCommandsCalled':_0x40f7bf[_0x504851(0xdc)](_0x1cf38b,0x0)};}export function createVerifyFeatureCliHooks(_0x3a262d){const _0x5451a3=_0x5560,_0x18d9c6={'YXQDR':'PostToolUse','OCuKb':function(_0x27389d,_0x1c1d5b){return _0x27389d!==_0x1c1d5b;},'kuwJJ':function(_0x2b2ffa,_0x5d4b90){return _0x2b2ffa(_0x5d4b90);},'miwAS':function(_0x4f5a69,_0x3738f3){return _0x4f5a69(_0x3738f3);},'zdrNb':_0x5451a3(0x132),'cdTnu':function(_0xf8039d,_0x1a43ce){return _0xf8039d(_0x1a43ce);},'yCOec':'snapshot','FaJnn':'Bash','zsmCE':'tool_failure'},_0x2470c3=new Map(),_0x5a4d17=async _0x323aee=>{const _0x10aa94=_0x5451a3;if(_0x323aee[_0x10aa94(0x130)]!==_0x18d9c6['YXQDR'])return{};const _0x15fd73=_0x323aee;if(_0x18d9c6[_0x10aa94(0x10c)](_0x15fd73[_0x10aa94(0xd0)],_0x10aa94(0x128)))return{};const _0x286287=_0x15fd73['tool_input'],_0x486437=_0x18d9c6[_0x10aa94(0xf7)](extractBashCommand,_0x286287);if(!_0x486437)return{};const _0x1ec3cd=_0x18d9c6[_0x10aa94(0xf5)](parsePlaywrightCliCommand,_0x486437);if(!_0x1ec3cd)return{};return _0x2470c3[_0x10aa94(0x124)](_0x1ec3cd,(_0x2470c3['get'](_0x1ec3cd)||0x0)+0x1),_0x3a262d['trackPhaseStart']('tool_call',{'transport':_0x18d9c6['zdrNb'],'toolName':_0x1ec3cd}),_0x3a262d['trackPhaseEnd']('tool_call',{'transport':_0x18d9c6['zdrNb'],'toolName':_0x1ec3cd,'bashCommandPreview':_0x18d9c6['cdTnu'](truncatePreview,_0x486437)}),_0x1ec3cd!==_0x18d9c6[_0x10aa94(0x146)]&&console['log'](formatPlaywrightCliConsoleLogMessage(_0x286287,_0x486437,_0x1ec3cd)),{};},_0x40b2de=async _0x1e3cb0=>{const _0x327f24=_0x5451a3;if(_0x18d9c6['OCuKb'](_0x1e3cb0['hook_event_name'],_0x327f24(0xef)))return{};const _0x391c34=_0x1e3cb0;if(_0x391c34['tool_name']!==_0x18d9c6['FaJnn'])return{};return await _0x3a262d['trackPhaseError'](_0x18d9c6[_0x327f24(0x118)],_0x391c34['error'],{'transport':'playwright-cli','toolName':'Bash'}),{};};return{'postToolUseHook':_0x5a4d17,'postToolUseFailureHook':_0x40b2de,'commandCounts':_0x2470c3};}async function runPlaywrightCliLifecycleCommand(_0x186cef){const _0x3f0ff0=_0x5560,_0x424ce9={'KSBaN':function(_0x255f97,_0x747298,_0x20970c){return _0x255f97(_0x747298,_0x20970c);}},{sessionId:_0xc01226,configPath:_0x2ea4f2,commandArgs:_0x366dd5,env:_0x348a85,telemetry:_0x3a3657,phase:_0x1cbf75,metadata:_0x2911c8,timeoutMs:_0x4dcf1c}=_0x186cef;_0x3a3657[_0x3f0ff0(0x136)](_0x1cbf75,_0x2911c8);try{const _0x3f902d=await runPlaywrightCliCommand({'sessionId':_0xc01226,'configPath':_0x2ea4f2,'commandArgs':_0x366dd5,'cwd':process['cwd'](),'env':_0x348a85,'timeoutMs':_0x4dcf1c??PLAYWRIGHT_CLI_COMMAND_TIMEOUT_MS});_0x3a3657['trackPhaseEnd'](_0x1cbf75,{..._0x2911c8,'subcommand':_0x3f902d[_0x3f0ff0(0xea)]['subcommand'],'stdoutPreview':_0x424ce9[_0x3f0ff0(0xcf)](truncatePreview,_0x3f902d[_0x3f0ff0(0x10d)],0x7d0),'stderrPreview':truncatePreview(_0x3f902d[_0x3f0ff0(0xfd)],0x7d0)});}catch(_0x11ffff){await _0x3a3657['trackPhaseError'](_0x1cbf75,_0x11ffff,_0x2911c8);throw _0x11ffff;}}export async function finalizeVerifyFeatureCliSession(_0x54b5){const _0x161628=_0x5560,_0x2c0642={'naAxV':'playwright_cli_tracing_stop','JnWsm':_0x161628(0xf2),'xGnBf':_0x161628(0xdf),'SZgmo':function(_0x12df68,_0x4f5eb4){return _0x12df68(_0x4f5eb4);}},{telemetry:_0x55576e,sessionId:_0x4e3e35,configPath:_0x2a4c91,cliArtifactDir:_0x381056,env:_0x13dda5,transportMetadata:_0x22ed2d}=_0x54b5,_0x7a5ffa=[{'phase':_0x2c0642[_0x161628(0x123)],'commandArgs':[_0x161628(0x121)]},{'phase':'playwright_cli_video_stop','commandArgs':[_0x2c0642['JnWsm'],'--filename='+buildCliArtifactPath(_0x381056,_0x2c0642['xGnBf'])]},{'phase':_0x161628(0xc8),'commandArgs':[_0x161628(0xf8)]}];for(const _0x55e521 of _0x7a5ffa){try{await _0x2c0642['SZgmo'](runPlaywrightCliLifecycleCommand,{'sessionId':_0x4e3e35,'configPath':_0x2a4c91,'commandArgs':[..._0x55e521['commandArgs']],'env':_0x13dda5,'telemetry':_0x55576e,'phase':_0x55e521[_0x161628(0x122)],'metadata':_0x22ed2d});}catch{}}}export async function loadVerifyFeatureCliTraceUploadArtifact(_0x4ae01f){const _0x4e991e=_0x5560,_0x279fff={'eCMOy':function(_0x4224c3,_0x4ed9a9,_0x3ddbc0){return _0x4224c3(_0x4ed9a9,_0x3ddbc0);},'WaErN':function(_0x527e86,_0x5a6d87){return _0x527e86(_0x5a6d87);}},_0x44e0cc=[_0x4e991e(0x101),'trace.trace.zip'];for(const _0x5e32b5 of _0x44e0cc){const _0x362992=_0x279fff['eCMOy'](join,_0x4ae01f,_0x5e32b5);try{return{'buffer':await _0x279fff[_0x4e991e(0x105)](readFile,_0x362992),'source':_0x362992};}catch{}}return null;}export async function rehomeVerifyFeatureCliArtifacts(_0x2b54df){const _0x11f084=_0x5560,_0x2cb86d={'WfEcw':function(_0x1fba76,_0x140c8d,_0x1be5b0){return _0x1fba76(_0x140c8d,_0x1be5b0);},'jdwnB':function(_0x35091e,_0x302c98){return _0x35091e(_0x302c98);},'yxNpB':function(_0x465959,_0x5b64a2){return _0x465959+_0x5b64a2;}},{cwd:_0x515de2,cliArtifactDir:_0xb3889c,startTime:_0x152aa7}=_0x2b54df,_0x82220c=[];await _0x2cb86d['WfEcw'](mkdir,_0xb3889c,{'recursive':!![]});const _0x349eed=await readdir(_0x515de2,{'withFileTypes':!![]});for(const _0x1d1918 of _0x349eed){if(!_0x1d1918['isFile']()||!VERIFY_FEATURE_CLI_ARTIFACT_FILE_PATTERN[_0x11f084(0x129)](_0x1d1918[_0x11f084(0x13d)]))continue;const _0x27315e=join(_0x515de2,_0x1d1918[_0x11f084(0x13d)]),_0xa9df2f=await _0x2cb86d[_0x11f084(0xdb)](stat,_0x27315e);if(_0x2cb86d[_0x11f084(0xd8)](_0xa9df2f[_0x11f084(0xe0)],0x7d0)<_0x152aa7)continue;const _0x44a8e8=_0x2cb86d[_0x11f084(0x11a)](buildCliArtifactPath,_0xb3889c,_0x1d1918[_0x11f084(0x13d)]);if(_0x27315e===_0x44a8e8)continue;await _0x2cb86d['WfEcw'](rename,_0x27315e,_0x44a8e8),_0x82220c[_0x11f084(0x110)](_0x1d1918[_0x11f084(0x13d)]);}return _0x82220c['sort']();}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const _0x13f2ba=_0x627b;function _0x627b(_0x8b505,_0x5cf6a6){_0x8b505=_0x8b505-0x152;const _0x212180=_0x2121();let _0x627b9d=_0x212180[_0x8b505];return _0x627b9d;}(function(_0xe4e589,_0x1edb71){const _0x41c6a4=_0x627b,_0x51173c=_0xe4e589();while(!![]){try{const _0x3e6a14=-parseInt(_0x41c6a4(0x234))/0x1*(-parseInt(_0x41c6a4(0x1da))/0x2)+parseInt(_0x41c6a4(0x1ea))/0x3+parseInt(_0x41c6a4(0x19c))/0x4*(-parseInt(_0x41c6a4(0x1e3))/0x5)+parseInt(_0x41c6a4(0x1c8))/0x6*(-parseInt(_0x41c6a4(0x16f))/0x7)+parseInt(_0x41c6a4(0x233))/0x8+-parseInt(_0x41c6a4(0x1be))/0x9+parseInt(_0x41c6a4(0x21d))/0xa*(parseInt(_0x41c6a4(0x1bb))/0xb);if(_0x3e6a14===_0x1edb71)break;else _0x51173c['push'](_0x51173c['shift']());}catch(_0x37750c){_0x51173c['push'](_0x51173c['shift']());}}}(_0x2121,0x82c59));import{execFile}from'child_process';import{mkdir,readdir,readFile,rename,rm,stat,writeFile}from'fs/promises';import{homedir}from'os';import{basename,join}from'path';import{promisify}from'util';import{chromium}from'playwright';import{buildNovaActCliInvocation,buildNovaActCliSharedOptionsSuffix,extractNovaActLogDir,parseNovaActCliCommand,previewNovaActCliCommand,runNovaActCliCommand}from'./utils/novaActCli.js';import{extractBashCommand,quoteShellArg}from'./utils/playwrightCli.js';const NOVA_ACT_CLI_COMMAND_TIMEOUT_MS=0x1d4c0,NOVA_ARTIFACT_CDP_CONNECT_TIMEOUT_MS=0x3a98,NOVA_ARTIFACT_METADATA_WAIT_MS=0x1388,NOVA_ARTIFACT_TRACE_SAMPLE_INTERVAL_MS=0x1388,VERIFY_FEATURE_NOVA_ARTIFACT_FILE_PATTERN=/^(?:\d{2}_.+\.(?:png|ya?ml)|key_.+\.png|final-state\.ya?ml|nova-session-export\.json)$/i,NOVA_ACT_ALLOWED_AGENT_COMMANDS=new Set([_0x13f2ba(0x209),_0x13f2ba(0x205),_0x13f2ba(0x17e),'ask','goto',_0x13f2ba(0x21a),_0x13f2ba(0x22b),_0x13f2ba(0x18e)]),execFileAsync=promisify(execFile);function buildCliArtifactPath(_0x13441d,_0x4345a6){const _0x3eea1a=_0x13f2ba,_0x719596={'MnDwE':function(_0x2b76e9,_0x15d488,_0x3aeb43){return _0x2b76e9(_0x15d488,_0x3aeb43);}};return _0x719596[_0x3eea1a(0x1bd)](join,_0x13441d,_0x4345a6);}export class NovaActArtifactRecorder{[_0x13f2ba(0x1a2)];[_0x13f2ba(0x229)]=null;[_0x13f2ba(0x1c9)]=null;['frameSession']=null;['frameWrites']=[];['frameCount']=0x0;[_0x13f2ba(0x17d)]=0x0;['traceSampleTimer']=null;['traceSampleInFlight']=null;[_0x13f2ba(0x20c)]=![];[_0x13f2ba(0x1b4)]=![];[_0x13f2ba(0x232)]=![];['stopped']=![];constructor(_0x2fe499){const _0x551d05=_0x13f2ba;this[_0x551d05(0x1a2)]=_0x2fe499;}async['start'](){const _0xbcb69b=_0x13f2ba,_0x12e90b={'xJHpR':'Nova\x20CDP\x20connection\x20did\x20not\x20expose\x20a\x20browser\x20context','jprmi':_0xbcb69b(0x183)};if(this[_0xbcb69b(0x232)])return;this[_0xbcb69b(0x232)]=!![];const _0x227158=await this[_0xbcb69b(0x1f3)](),_0xb5052b=_0x227158['cdp_endpoint'];if(!_0xb5052b)throw new Error('Nova\x20session\x20metadata\x20did\x20not\x20include\x20cdp_endpoint\x20for\x20'+this['params'][_0xbcb69b(0x21b)][_0xbcb69b(0x222)]);await mkdir(this['params'][_0xbcb69b(0x1bf)],{'recursive':!![]}),this['browser']=await chromium[_0xbcb69b(0x20f)](_0xb5052b,{'timeout':NOVA_ARTIFACT_CDP_CONNECT_TIMEOUT_MS}),this['context']=this[_0xbcb69b(0x229)][_0xbcb69b(0x19a)]()[0x0]??null;if(!this['context'])throw new Error(_0x12e90b['xJHpR']);await this[_0xbcb69b(0x1c9)]['tracing'][_0xbcb69b(0x1f8)]({'screenshots':!![],'snapshots':!![],'sources':!![]}),this[_0xbcb69b(0x20c)]=!![],this['startTraceSampling'](),await this[_0xbcb69b(0x1e0)](),this[_0xbcb69b(0x1a2)][_0xbcb69b(0x1c3)]['trackPhaseStart'](_0x12e90b['jprmi'],{...this[_0xbcb69b(0x1a2)]['transportMetadata'],'cdpEndpoint':_0xb5052b,'browserPid':_0x227158[_0xbcb69b(0x155)],'sessionState':_0x227158[_0xbcb69b(0x173)]}),this['params'][_0xbcb69b(0x1c3)]['trackPhaseEnd'](_0xbcb69b(0x183),{...this['params']['transportMetadata'],'tracingStarted':this[_0xbcb69b(0x20c)],'screencastStarted':this['screencastStarted']});}async[_0x13f2ba(0x223)](){const _0x4b3a55=_0x13f2ba,_0x56c058={'GogcX':'nova_act_artifact_recording_stop','jFBFy':_0x4b3a55(0x193)};if(this['stopped'])return;this['stopped']=!![];const _0x42e504={...this[_0x4b3a55(0x1a2)][_0x4b3a55(0x22d)],'frameCount':this[_0x4b3a55(0x1e7)],'traceSampleCount':this[_0x4b3a55(0x17d)],'tracingStarted':this['tracingStarted'],'screencastStarted':this['screencastStarted']};this['params']['telemetry']['trackPhaseStart'](_0x56c058[_0x4b3a55(0x175)],_0x42e504);try{await this['stopTraceSampling'](),await this[_0x4b3a55(0x1c6)](),await this[_0x4b3a55(0x203)](),await Promise[_0x4b3a55(0x1ae)](this['frameWrites']);this['context']&&this[_0x4b3a55(0x20c)]&&await this['context']['tracing']['stop']({'path':buildCliArtifactPath(this['params'][_0x4b3a55(0x1bf)],_0x56c058['jFBFy'])});const _0x298184=await this[_0x4b3a55(0x1a9)]();this[_0x4b3a55(0x1a2)][_0x4b3a55(0x1c3)]['trackPhaseEnd'](_0x4b3a55(0x21c),{..._0x42e504,'videoPath':_0x298184});}catch(_0x3abf35){await this['params'][_0x4b3a55(0x1c3)]['trackPhaseError'](_0x4b3a55(0x21c),_0x3abf35,_0x42e504);}finally{await this['browser']?.[_0x4b3a55(0x1b2)]()['catch'](()=>undefined),this['browser']=null,this['context']=null,this[_0x4b3a55(0x1dc)]=null;}}async['readSessionMetadataWithRetry'](){const _0x14dd38=_0x13f2ba,_0x3b8055={'KNnJO':function(_0x4efc72){return _0x4efc72();},'ZeBPl':'sessions','oeBri':function(_0x30aead,_0x3d48dd){return _0x30aead(_0x3d48dd);},'DbWtL':function(_0x2645a0,_0x486e82){return _0x2645a0<_0x486e82;}},_0x82e510=join(_0x3b8055[_0x14dd38(0x182)](homedir),_0x14dd38(0x1cd),_0x14dd38(0x229),_0x3b8055[_0x14dd38(0x1cb)],this[_0x14dd38(0x1a2)][_0x14dd38(0x21b)]['sessionId']+'.json'),_0x5019ee=Date['now']();let _0x14e541;do{try{const _0x2f5468=JSON[_0x14dd38(0x1fc)](await readFile(_0x82e510,_0x14dd38(0x22a)));if(_0x2f5468['cdp_endpoint'])return _0x2f5468;_0x14e541=new Error('Nova\x20metadata\x20missing\x20cdp_endpoint\x20at\x20'+_0x82e510);}catch(_0x582cf1){_0x14e541=_0x582cf1;}await _0x3b8055[_0x14dd38(0x1f1)](delay,0x64);}while(_0x3b8055[_0x14dd38(0x1b9)](Date['now']()-_0x5019ee,NOVA_ARTIFACT_METADATA_WAIT_MS));if(_0x14e541 instanceof Error)throw _0x14e541;throw new Error(_0x14dd38(0x227)+_0x82e510);}async[_0x13f2ba(0x1e0)](){const _0x3bcaca=_0x13f2ba,_0x5e3b37={'uUlKx':function(_0x551867,_0x27fbbf,_0xd4eaeb){return _0x551867(_0x27fbbf,_0xd4eaeb);},'gGLpr':_0x3bcaca(0x1d8)};if(!this[_0x3bcaca(0x1c9)])return;const _0x230bcf=this['context'][_0x3bcaca(0x1e1)]()[0x0];if(!_0x230bcf)return;const _0x287459=this['getFrameDir']();await _0x5e3b37['uUlKx'](mkdir,_0x287459,{'recursive':!![]});const _0x3dabca=await this[_0x3bcaca(0x1c9)]['newCDPSession'](_0x230bcf);this[_0x3bcaca(0x1dc)]=_0x3dabca,_0x3dabca['on']('Page.screencastFrame',_0xa3fe6e=>{const _0x5a79ed=_0x3bcaca,_0x1fea3a=++this[_0x5a79ed(0x1e7)],_0x1c6072=join(_0x287459,_0x5a79ed(0x165)+String(_0x1fea3a)[_0x5a79ed(0x218)](0x6,'0')+_0x5a79ed(0x1f6)),_0x16a258=_0x5e3b37[_0x5a79ed(0x1fa)](writeFile,_0x1c6072,Buffer['from'](_0xa3fe6e[_0x5a79ed(0x1d0)],_0x5a79ed(0x1ed)))[_0x5a79ed(0x1ca)](()=>undefined)[_0x5a79ed(0x177)](()=>_0x3dabca['send']('Page.screencastFrameAck',{'sessionId':_0xa3fe6e[_0x5a79ed(0x222)]}))[_0x5a79ed(0x210)](()=>undefined)[_0x5a79ed(0x1ca)](()=>undefined);this[_0x5a79ed(0x1c2)]['push'](_0x16a258);}),await _0x3dabca[_0x3bcaca(0x20a)]('Page.startScreencast',{'format':_0x5e3b37['gGLpr'],'quality':0x4b,'everyNthFrame':0x6}),this['screencastStarted']=!![];}async[_0x13f2ba(0x203)](){const _0x214a29=_0x13f2ba,_0x1d8443={'ZlAoy':_0x214a29(0x178)};if(!this['frameSession']||!this['screencastStarted'])return;await this[_0x214a29(0x1dc)][_0x214a29(0x20a)](_0x1d8443[_0x214a29(0x230)])['catch'](()=>undefined);}[_0x13f2ba(0x1de)](){const _0x587b38=_0x13f2ba;this['queueTraceSample'](),this[_0x587b38(0x15b)]=setInterval(()=>this['queueTraceSample'](),NOVA_ARTIFACT_TRACE_SAMPLE_INTERVAL_MS);}['queueTraceSample'](){const _0x316375=_0x13f2ba;if(this['traceSampleInFlight'])return;this['traceSampleInFlight']=this['captureTraceSample']()[_0x316375(0x177)](()=>{const _0x28a3c8=_0x316375;this[_0x28a3c8(0x238)]=null;});}async[_0x13f2ba(0x1ce)](){const _0x2451a8=_0x13f2ba;this['traceSampleTimer']&&(clearInterval(this['traceSampleTimer']),this[_0x2451a8(0x15b)]=null),await this[_0x2451a8(0x238)]?.['catch'](()=>undefined);}async['captureTraceSample'](){const _0x14b874=_0x13f2ba,_0x634952=this['context']?.['pages']()[0x0];if(!_0x634952)return;try{await _0x634952[_0x14b874(0x170)]('body')['evaluate'](_0x4f132a=>_0x4f132a['tagName'],undefined,{'timeout':0x3e8}),this[_0x14b874(0x17d)]++;}catch{}}async[_0x13f2ba(0x1a9)](){const _0x54bf65=_0x13f2ba,_0xf474f9={'ntFzO':function(_0x23f821,_0x59e37b){return _0x23f821<_0x59e37b;},'VRCds':function(_0x48f592){return _0x48f592();},'GQMaa':function(_0x370add,_0x377197,_0x447b27){return _0x370add(_0x377197,_0x447b27);},'ldPiB':_0x54bf65(0x1af),'VUpgj':function(_0x478ca5,_0x52bd34,_0x31a25a){return _0x478ca5(_0x52bd34,_0x31a25a);},'MOeVw':_0x54bf65(0x17b),'iFMzv':_0x54bf65(0x181),'pMqib':function(_0x1d667a,_0x393271,_0x812885){return _0x1d667a(_0x393271,_0x812885);},'MRBTe':_0x54bf65(0x20e),'PBQYa':_0x54bf65(0x1e5),'ZGJuD':_0x54bf65(0x236),'gDUZF':'libvpx-vp9','LnTrm':_0x54bf65(0x1d7)};if(_0xf474f9['ntFzO'](this[_0x54bf65(0x1e7)],0x2))return null;const _0x39fdc1=await _0xf474f9[_0x54bf65(0x1a1)](resolveFfmpegPath);if(!_0x39fdc1)return null;const _0x57fe2f=join(this[_0x54bf65(0x1a2)][_0x54bf65(0x1bf)],'videos');await _0xf474f9['GQMaa'](mkdir,_0x57fe2f,{'recursive':!![]});const _0x12a600=_0xf474f9['GQMaa'](join,_0x57fe2f,_0xf474f9[_0x54bf65(0x159)]);return await _0xf474f9[_0x54bf65(0x221)](execFileAsync,_0x39fdc1,['-y',_0xf474f9['MOeVw'],_0x54bf65(0x1d1),'error',_0xf474f9['iFMzv'],'10','-i',_0xf474f9['pMqib'](join,this['getFrameDir'](),_0xf474f9['MRBTe']),_0x54bf65(0x1b5),_0xf474f9[_0x54bf65(0x202)],_0xf474f9['ZGJuD'],_0xf474f9[_0x54bf65(0x215)],_0x54bf65(0x1ec),_0xf474f9['LnTrm'],_0x12a600]),_0x12a600;}['getFrameDir'](){const _0x19c93a=_0x13f2ba,_0x22d047={'uFvRb':function(_0x4dc5c1,_0x54590d,_0x5f1bfd){return _0x4dc5c1(_0x54590d,_0x5f1bfd);},'qssFH':'nova-video-frames'};return _0x22d047[_0x19c93a(0x1b0)](join,this[_0x19c93a(0x1a2)]['cliArtifactDir'],_0x22d047[_0x19c93a(0x1a8)]);}}async function delay(_0x22879d){await new Promise(_0x1fc3cc=>setTimeout(_0x1fc3cc,_0x22879d));}async function resolveFfmpegPath(){const _0x3ea543=_0x13f2ba,_0x35e664={'mgNpf':function(_0x38dcd8,_0x209959){return _0x38dcd8(_0x209959);},'gRNZH':_0x3ea543(0x19d),'nxrRD':'Caches','ywWqB':'ms-playwright','VMqae':function(_0x2edfd4,_0x2e81eb,_0x106abe,_0x3343d4){return _0x2edfd4(_0x2e81eb,_0x106abe,_0x3343d4);}};if(await _0x35e664['mgNpf'](canRunFfmpeg,_0x35e664[_0x3ea543(0x1f0)]))return _0x35e664[_0x3ea543(0x1f0)];const _0x4f099f=[join(homedir(),_0x3ea543(0x162),_0x35e664[_0x3ea543(0x19f)],_0x35e664['ywWqB']),_0x35e664[_0x3ea543(0x23a)](join,homedir(),'.cache',_0x3ea543(0x169))];for(const _0x38ffcc of _0x4f099f){try{const _0x49b28a=await _0x35e664['mgNpf'](readdir,_0x38ffcc),_0x548175=_0x49b28a[_0x3ea543(0x1f2)](_0x1a2be6=>_0x1a2be6[_0x3ea543(0x15c)]('ffmpeg-'))[_0x3ea543(0x153)]()[_0x3ea543(0x191)]()[_0x3ea543(0x214)](_0x8bfbb=>[join(_0x38ffcc,_0x8bfbb,_0x3ea543(0x152)),join(_0x38ffcc,_0x8bfbb,_0x3ea543(0x1ff)),join(_0x38ffcc,_0x8bfbb,_0x3ea543(0x206))]);for(const _0x4024b9 of _0x548175){if(await canRunFfmpeg(_0x4024b9))return _0x4024b9;}}catch{}}return null;}function _0x2121(){const _0x3977a0=['ffmpeg-mac','sort','TTvSv','browser_pid','capture\x20step\x20`','03_final-state.png','[nova-act-cli]\x20','ldPiB','`\x20is\x20reserved\x20for\x20the\x20host.\x20Use\x20only\x20session\x20create,\x20execute,\x20verify,\x20ask,\x20goto,\x20wait-for,\x20snapshot,\x20and\x20screenshot.','traceSampleTimer','startsWith','wait\x20for\x20page\x20condition','trackPhaseError','>\x20\x22','`\x0a-\x20`','\x20(on\x20element:\x20<','Library','owlPM','`.\x0a6.\x20Take\x20an\x20initial\x20screenshot:\x20`','frame-','shellCommand','command','tool_name','ms-playwright','KmmbJ','RdFZZ','cJylD','nova_act_session_close','iZlaw','32753LCOJcj','locator','dzNLv','pRuvt','state','key_03_success-state.png','GogcX','stderr','finally','Page.stopScreencast','uCcSf','EFNke','-hide_banner','hUACr','traceSampleCount','verify','\x20verify\x20\x22The\x20Billing\x20page\x20is\x20visible\x20and\x20shows\x20the\x20current\x20plan.\x22\x20','match','-framerate','KNnJO','nova_act_artifact_recording','test','trackPhaseStart','session','atqQe','babQb','uSiWk','tool_input','Reviewer','-version','\x0a\x0a##\x20Authentication\x0aBEFORE\x20starting\x20the\x20verification\x20task,\x20authenticate\x20using\x20these\x20steps:\x0a','screenshot','vfsTn','short','reverse','capture\x20screenshot','trace.zip','Bash','lKPbr','jwCtk','\x20screenshot\x20--output\x20','ask','replace','contexts','nova_act_command_failure','4oPOfIk','ffmpeg','\x20>\x20','nxrRD','-\x20[','VRCds','params','toLocaleDateString','lJzWn','`<none;\x20the\x20command\x20prefix\x20injects\x20shared\x20options>`','`\x0a\x0aAppend\x20this\x20option\x20suffix\x20to\x20browser\x20commands:\x0a','eyiBm','qssFH','encodeScreencastVideo','UrhAl','LZUJQ','navigate\x20browser','args','allSettled','session-recording.webm','uFvRb','create\x20Nova\x20browser\x20session','close','name','screencastStarted','-vf','\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','capture\x20snapshot','invocation','DbWtL','ask\x20page\x20question','132viMkKC','pVUgt','MnDwE','9605943rDcjON','cliArtifactDir','gbmkX','sptko','frameWrites','telemetry','PTLGq','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','captureTraceSample','canonicalFlow','1182yTmpGI','context','catch','ZeBPl','BycyB','.act_cli','stopTraceSampling','has','data','-loglevel','`\x0a4.\x20Run\x20one\x20batched\x20`','aGRbB','IoThy','mAfVT','export\x20Nova\x20session','yuv420p','jpeg','WxIip','5534FOUSnM','HKzTK','frameSession','--output-dir','startTraceSampling','--format','startScreencast','pages','`\x0a2.\x20Run\x20`','1986035IjytPQ','get','scale=trunc(iw/2)*2:trunc(ih/2)*2','goto','frameCount','nova_act_final_snapshot','export','2068047dTiekD','PreToolUse','-pix_fmt','base64','textContent','--report','gRNZH','oeBri','filter','readSessionMetadataWithRetry','Use\x20only\x20the\x20provided\x20Nova\x20browser\x20command\x20prefix\x20for\x20browser\x20verification.\x20Do\x20not\x20inspect\x20setup,\x20credentials,\x20files,\x20or\x20the\x20local\x20environment.','\x0a-\x20You\x20may\x20ONLY\x20navigate\x20to\x20paths\x20under\x20this\x20base\x20URL\x27s\x20origin.\x0a-\x20Do\x20not\x20navigate\x20to\x20any\x20different\x20protocol,\x20host,\x20or\x20port.\x0a-\x20If\x20the\x20browser\x20leaves\x20this\x20origin,\x20navigate\x20back\x20once.\x20If\x20you\x20cannot\x20recover,\x20return\x20evaluation\x20\x22blocked\x22.\x0a','.jpg','subcommand','start','nova-report','uUlKx','JYZTd','parse','AOiMa','\x0a\x0a##\x20Task\x20to\x20Execute\x0a','ffmpeg-linux','phase','pztRM','PBQYa','stopScreencast','yFOrw','execute','ffmpeg.exe','01_initial.yml','00_initial-state.yml','session\x20create','send','trim','tracingStarted','\x20execute\x20\x22...\x22`\x20command\x20to\x20exercise\x20the\x20current\x20page.\x0a5.\x20Run\x20`','frame-%06d.jpg','connectOverCDP','then','\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`','Do\x20not\x20run\x20Nova\x20help,\x20doctor,\x20script,\x20session\x20list,\x20session\x20export,\x20or\x20session\x20close\x20commands\x20during\x20verification.','nova_act_command','flatMap','gDUZF','02_final-state.yml','PedYo','padStart','aMTRK','wait-for','novaOptions','nova_act_artifact_recording_stop','465420qmXPpT','cpuwo','split','domRef','VUpgj','sessionId','stop','numeric','lSIUK','nova-artifacts.zip','Unable\x20to\x20read\x20Nova\x20session\x20metadata\x20at\x20','PostToolUse','browser','utf-8','snapshot','join','transportMetadata','`\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.','\x0a\x0aIf\x20authentication\x20fails,\x20return\x20evaluation\x20\x22blocked\x22\x20and\x20describe\x20the\x20auth\x20failure.','ZlAoy','zqUwu','startAttempted','7659456jxCZVQ','259imAvuz','jZWyU','-c:v','commandArgs','traceSampleInFlight','en-US','VMqae'];_0x2121=function(){return _0x3977a0;};return _0x2121();}async function canRunFfmpeg(_0x1ced5a){const _0x43b51d=_0x13f2ba,_0x4c357f={'RdFZZ':_0x43b51d(0x18c)};try{return await execFileAsync(_0x1ced5a,[_0x4c357f[_0x43b51d(0x16b)]]),!![];}catch{return![];}}function toStepDisplayName(_0x1df997){const _0x4a7db2=_0x13f2ba,_0x364321=basename(_0x1df997)[_0x4a7db2(0x199)](/\.(?:png|ya?ml)$/i,'')[_0x4a7db2(0x199)](/^key_/i,'')[_0x4a7db2(0x199)](/^\d+_/,'')[_0x4a7db2(0x199)](/-/g,'\x20');return{'name':_0x364321,'isKeyStep':/^key_/i[_0x4a7db2(0x184)](basename(_0x1df997))};}function extractShellValue(_0x1a1051){if(!_0x1a1051)return null;return _0x1a1051[0x1]??_0x1a1051[0x2]??_0x1a1051[0x3]??null;}function extractOutputOption(_0x46b5c4){const _0x3d0a47=_0x13f2ba,_0x2e3b48={'babQb':function(_0x134b7b,_0x1b1daa){return _0x134b7b(_0x1b1daa);}};return _0x2e3b48[_0x3d0a47(0x188)](extractShellValue,_0x46b5c4[_0x3d0a47(0x180)](/--output(?:=|\s+)(?:"([^"]+)"|'([^']+)'|(\S+))/));}function formatNovaActCliLog(_0x1afc99,_0xaa6657){const _0x491a72=_0x13f2ba,_0x1e7260={'HKzTK':'session\x20create','TTvSv':_0x491a72(0x1b1),'VELAR':'execute\x20Nova\x20browser\x20action','pRuvt':_0x491a72(0x17e),'zcxER':_0x491a72(0x198),'eJSfD':_0x491a72(0x1e6),'owlPM':_0x491a72(0x1ac),'sptko':_0x491a72(0x15d),'gbmkX':'snapshot','GOMAq':function(_0x16e206,_0x453e41){return _0x16e206(_0x453e41);},'atqQe':_0x491a72(0x1b7),'cpuwo':'screenshot','raNyN':_0x491a72(0x192),'nkUZi':'session\x20export'};switch(_0xaa6657){case _0x1e7260[_0x491a72(0x1db)]:return _0x1e7260[_0x491a72(0x154)];case'execute':return _0x1e7260['VELAR'];case _0x1e7260[_0x491a72(0x172)]:return'verify\x20page\x20condition';case _0x1e7260['zcxER']:return _0x491a72(0x1ba);case _0x1e7260['eJSfD']:return _0x1e7260[_0x491a72(0x163)];case'wait-for':return _0x1e7260[_0x491a72(0x1c1)];case _0x1e7260[_0x491a72(0x1c0)]:{const _0x5210cc=_0x1e7260['GOMAq'](extractOutputOption,_0x1afc99);if(!_0x5210cc)return _0x1e7260[_0x491a72(0x187)];const {name:_0x3dc482}=toStepDisplayName(_0x5210cc);return'capture\x20snapshot\x20`'+_0x3dc482+'`';}case _0x1e7260[_0x491a72(0x21e)]:{const _0xad9e70=extractOutputOption(_0x1afc99);if(!_0xad9e70)return _0x1e7260['raNyN'];const {name:_0x41876a,isKeyStep:_0x6c8c90}=toStepDisplayName(_0xad9e70);return _0x6c8c90?'capture\x20key\x20step\x20`'+_0x41876a+'`':_0x491a72(0x156)+_0x41876a+'`';}case _0x1e7260['nkUZi']:return _0x491a72(0x1d6);default:return _0xaa6657;}}function getNovaActCliCommandBlockReason(_0x2f53a2){const _0x54dbdc=_0x13f2ba,_0x2a4d4e={'cJylD':function(_0xa5c388,_0x4c80f6){return _0xa5c388(_0x4c80f6);},'uCcSf':_0x54dbdc(0x1f4),'owJsu':function(_0x437f49,_0x5b4ea3){return _0x437f49===_0x5b4ea3;},'pVUgt':_0x54dbdc(0x17e)},_0x18a085=_0x2a4d4e[_0x54dbdc(0x16c)](parseNovaActCliCommand,_0x2f53a2);if(!_0x18a085)return _0x2a4d4e[_0x54dbdc(0x179)];if(!NOVA_ACT_ALLOWED_AGENT_COMMANDS[_0x54dbdc(0x1cf)](_0x18a085))return'Nova\x20command\x20`'+_0x18a085+_0x54dbdc(0x15a);if(_0x2a4d4e['owJsu'](_0x18a085,_0x2a4d4e[_0x54dbdc(0x1bc)])&&/\b(?:previously visited|visited pages|pages visited|at least one of the pages visited)\b/i['test'](_0x2f53a2))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'](_0x2f53a2))return _0x54dbdc(0x212);return null;}function buildFeedbackSection(_0x9137b8){const _0x240f91=_0x13f2ba,_0x1f822e={'jwBmk':_0x240f91(0x239),'vgBPZ':_0x240f91(0x190),'htsWj':_0x240f91(0x224),'SLilA':_0x240f91(0x18b),'FmqeM':_0x240f91(0x19e)};if(!_0x9137b8||_0x9137b8['unaddressedComments']['length']===0x0)return'';const _0x421e28=_0x9137b8['unaddressedComments']['map'](_0x58bfa7=>{const _0x3e1c38=_0x240f91,_0x50cedc=new Date(_0x58bfa7['createdAt'])[_0x3e1c38(0x1a3)](_0x1f822e['jwBmk'],{'month':_0x1f822e['vgBPZ'],'day':_0x1f822e['htsWj']}),_0x3dbee0=_0x58bfa7['authorName']||_0x58bfa7['authorEmail']||_0x1f822e['SLilA'],_0x40cc8f=_0x58bfa7[_0x3e1c38(0x220)]?_0x3e1c38(0x161)+(_0x58bfa7['domRef']['selector'][_0x3e1c38(0x21f)](_0x1f822e['FmqeM'])['pop']()?.['split'](':')[0x0]||'element')+_0x3e1c38(0x15f)+(_0x58bfa7['domRef'][_0x3e1c38(0x1ee)]||'')['slice'](0x0,0x32)+'\x22)':'';return _0x3e1c38(0x1a0)+_0x58bfa7['id']+']\x20**'+_0x3dbee0+'**\x20('+_0x50cedc+'):\x20\x22'+_0x58bfa7['content']+'\x22'+_0x40cc8f;})[_0x240f91(0x22c)]('\x0a');return _0x240f91(0x1b6)+_0x421e28;}function buildNovaSharedOptionsInstruction(_0x3552c3){const _0x4c24de=_0x13f2ba;if(!_0x3552c3[_0x4c24de(0x20b)]())return'The\x20command\x20prefix\x20already\x20injects\x20session,\x20auth,\x20region,\x20workflow,\x20user-data,\x20headless,\x20and\x20JSON\x20options.\x0aDo\x20not\x20run\x20raw\x20`act\x20browser`.\x20Do\x20not\x20add\x20`--auth-mode`,\x20`--aws-profile`,\x20`--region`,\x20`--workflow-name`,\x20`--session-id`,\x20`--user-data-dir`,\x20`--headless`,\x20or\x20`--headed`\x20yourself.';return'Append\x20this\x20option\x20suffix\x20to\x20every\x20browser\x20command\x20unless\x20the\x20host\x20gives\x20a\x20more\x20specific\x20example:\x0a'+_0x3552c3;}export function buildVerifyFeatureNovaCliDebugPrompt(_0x10fe62){const _0x9e142=_0x13f2ba,_0x43f60e={'FyGSC':function(_0x159a7c,_0x14766e,_0x1f2c0a){return _0x159a7c(_0x14766e,_0x1f2c0a);},'LZUJQ':function(_0x347c5e,_0x3fa3cd,_0x2a4d30){return _0x347c5e(_0x3fa3cd,_0x2a4d30);},'XZkkY':_0x9e142(0x216),'BycyB':_0x9e142(0x157),'PedYo':function(_0x4ae877,_0x22a5f7){return _0x4ae877(_0x22a5f7);},'eyiBm':function(_0x5f4bcd,_0x291358){return _0x5f4bcd(_0x291358);},'KmmbJ':function(_0x22a0c8,_0x54c9a5){return _0x22a0c8(_0x54c9a5);}},{novaCommandPrefix:_0x554b7e,novaSharedOptionsSuffix:_0x138786,cliArtifactDir:_0x56c70a,url:_0x1bd273}=_0x10fe62,_0x1b2aef=_0x43f60e['FyGSC'](buildCliArtifactPath,_0x56c70a,_0x9e142(0x208)),_0x13bfe9=_0x43f60e[_0x9e142(0x1ab)](buildCliArtifactPath,_0x56c70a,'01_initial-state.png'),_0x460133=_0x43f60e[_0x9e142(0x1ab)](buildCliArtifactPath,_0x56c70a,_0x43f60e['XZkkY']),_0x3bffe8=buildCliArtifactPath(_0x56c70a,_0x43f60e[_0x9e142(0x1cc)]);return _0x9e142(0x1c5)+_0x554b7e+'\x0a\x0a'+_0x43f60e['PedYo'](buildNovaSharedOptionsInstruction,_0x138786)+_0x9e142(0x211)+_0x554b7e+'\x20session\x20create\x20'+_0x43f60e[_0x9e142(0x217)](quoteShellArg,_0x1bd273)+'\x20'+_0x138786+_0x9e142(0x1e2)+_0x554b7e+'\x20snapshot\x20--output\x20'+_0x43f60e['PedYo'](quoteShellArg,_0x1b2aef)+'\x20'+_0x138786+'`\x0a3.\x20Run\x20`'+_0x554b7e+_0x9e142(0x197)+_0x43f60e['eyiBm'](quoteShellArg,_0x13bfe9)+'\x20'+_0x138786+_0x9e142(0x1d2)+_0x554b7e+_0x9e142(0x20d)+_0x554b7e+'\x20snapshot\x20--output\x20'+_0x43f60e[_0x9e142(0x1a7)](quoteShellArg,_0x460133)+'\x20'+_0x138786+'`\x0a6.\x20Run\x20`'+_0x554b7e+_0x9e142(0x197)+_0x43f60e[_0x9e142(0x16a)](quoteShellArg,_0x3bffe8)+'\x20'+_0x138786+'`\x0a7.\x20Return\x20immediately\x20with\x20the\x20structured\x20output.\x0a\x0aSave\x20every\x20artifact\x20under\x20`'+_0x56c70a+'`\x20using\x20absolute\x20paths\x20only.\x0aReturn\x20your\x20findings\x20in\x20the\x20structured\x20output\x20format.';}export function buildVerifyFeatureNovaCliPrompt(_0x1fb529){const _0x5d2baa=_0x13f2ba,_0x113cbe={'IoThy':function(_0x3bfba6,_0x4fc1db){return _0x3bfba6(_0x4fc1db);},'aMTRK':function(_0xd4c6bf,_0x591049,_0x482ae0){return _0xd4c6bf(_0x591049,_0x482ae0);},'lXrAr':'01_initial-state.png','ZSrLW':function(_0x2d0df6,_0x2b8a1f,_0x104d2c){return _0x2d0df6(_0x2b8a1f,_0x104d2c);},'ptuzq':function(_0x12b81a,_0x34abb5){return _0x12b81a(_0x34abb5);},'aGRbB':function(_0x4f8cd5,_0x34ac4f){return _0x4f8cd5(_0x34ac4f);},'AOiMa':function(_0x2d0044,_0x11df5a){return _0x2d0044(_0x11df5a);}},{checklistItem:_0x1d06ab,itemFeedback:_0x3aa629,taskDescription:_0x5c47ff,novaCommandPrefix:_0x5654a0,novaSharedOptionsSuffix:_0x44010b,cliArtifactDir:_0x1fb35e,url:_0x52461a,loginInstructions:_0x39e18a}=_0x1fb529,_0x242e24=_0x1d06ab['notes']?'\x0a\x0a##\x20Additional\x20Notes\x0a'+_0x1d06ab['notes']:'',_0x579a9f=_0x113cbe[_0x5d2baa(0x1d4)](buildFeedbackSection,_0x3aa629),_0x416b9c=_0x3aa629?.['canonicalFlow']?'\x0a\x0a##\x20Expected\x20Flow\x20(from\x20previous\x20verification)\x0a'+_0x3aa629[_0x5d2baa(0x1c7)]:'',_0x39ad27=_0x39e18a?_0x5d2baa(0x18d)+_0x39e18a+_0x5d2baa(0x22f):'',_0xbf35e0=buildCliArtifactPath(_0x1fb35e,_0x5d2baa(0x207)),_0x151b81=_0x113cbe[_0x5d2baa(0x219)](buildCliArtifactPath,_0x1fb35e,_0x113cbe['lXrAr']),_0x3a3d3b=_0x113cbe['ZSrLW'](buildCliArtifactPath,_0x1fb35e,_0x5d2baa(0x174));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'+_0x1d06ab['description']+_0x242e24+_0x579a9f+_0x416b9c+_0x5d2baa(0x1fe)+_0x5c47ff+'\x0a\x0a##\x20App\x20Context\x0aYour\x20base\x20URL\x20is:\x20'+_0x52461a+_0x5d2baa(0x1f5)+_0x39ad27+'\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`'+_0x5654a0+'\x20session\x20create\x20'+_0x113cbe['ptuzq'](quoteShellArg,_0x52461a)+'\x20'+_0x44010b+'`.\x0a4.\x20Save\x20every\x20snapshot\x20and\x20screenshot\x20under\x20`'+_0x1fb35e+'`\x20using\x20absolute\x20paths\x20only.\x0a5.\x20Take\x20an\x20initial\x20snapshot:\x20`'+_0x5654a0+'\x20snapshot\x20--output\x20'+quoteShellArg(_0xbf35e0)+'\x20'+_0x44010b+_0x5d2baa(0x164)+_0x5654a0+_0x5d2baa(0x197)+_0x113cbe[_0x5d2baa(0x1d3)](quoteShellArg,_0x151b81)+'\x20'+_0x44010b+'`.\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`'+_0x3a3d3b+'`.\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`'+_0x5654a0+_0x5d2baa(0x1a6)+(_0x44010b[_0x5d2baa(0x20b)]()?'`'+_0x44010b+'`':_0x5d2baa(0x1a5))+'\x0a\x0a'+buildNovaSharedOptionsInstruction(_0x44010b)+'\x0a\x0aExamples:\x0a-\x20`'+_0x5654a0+'\x20execute\x20\x221.\x20Open\x20the\x20account\x20settings\x20menu.\x202.\x20Click\x20Billing.\x203.\x20Wait\x20for\x20the\x20Billing\x20page\x20to\x20load.\x22\x20'+_0x44010b+'`\x0a-\x20`'+_0x5654a0+_0x5d2baa(0x17f)+_0x44010b+_0x5d2baa(0x160)+_0x5654a0+'\x20snapshot\x20--output\x20'+quoteShellArg(_0xbf35e0)+'\x20'+_0x44010b+_0x5d2baa(0x160)+_0x5654a0+'\x20screenshot\x20--output\x20'+_0x113cbe[_0x5d2baa(0x1fd)](quoteShellArg,_0x3a3d3b)+'\x20'+_0x44010b+_0x5d2baa(0x22e);}export function summarizeVerifyFeatureNovaCliCommandAvailability(_0x309813){const _0x373362=[..._0x309813['keys']()]['sort']();let _0x1ec20f=0x0;for(const _0x829c8 of _0x309813['values']()){_0x1ec20f+=_0x829c8;}return{'cliCommandCount':_0x1ec20f,'cliCommandsSeen':_0x373362,'noCliCommandsCalled':_0x1ec20f===0x0};}export function createVerifyFeatureNovaCliHooks(_0x439adc,_0x190d8f){const _0x166b63=_0x13f2ba,_0x406cc6={'vfsTn':function(_0x1c3d3b,_0x21d198){return _0x1c3d3b!==_0x21d198;},'mAfVT':function(_0x1a0cce,_0x1a855f){return _0x1a0cce(_0x1a855f);},'dzNLv':'block','Ffmdo':function(_0x2e4a08,_0x400c52){return _0x2e4a08===_0x400c52;},'iZlaw':_0x166b63(0x183),'WxIip':'nova-act-cli','uSiWk':function(_0x46fa56,_0x4fd5b7){return _0x46fa56!==_0x4fd5b7;},'JYZTd':'PostToolUseFailure','Ffnso':'Bash'},_0x17e614=new Map(),_0x4b9353=async _0x47abf5=>{const _0x56bea8=_0x166b63;if(_0x406cc6['vfsTn'](_0x47abf5['hook_event_name'],_0x56bea8(0x1eb)))return{};const _0x139955=_0x47abf5;if(_0x406cc6['vfsTn'](_0x139955[_0x56bea8(0x168)],'Bash'))return{};const _0x9c35ea=_0x139955['tool_input'],_0x58b377=extractBashCommand(_0x9c35ea);if(!_0x58b377)return{};const _0x2c1afe=_0x406cc6[_0x56bea8(0x1d5)](getNovaActCliCommandBlockReason,_0x58b377);if(!_0x2c1afe)return{};return{'decision':_0x406cc6[_0x56bea8(0x171)],'reason':_0x2c1afe};},_0x392a47=async _0xbc0a8a=>{const _0xe6e373=_0x166b63;if(_0x406cc6[_0xe6e373(0x18f)](_0xbc0a8a['hook_event_name'],_0xe6e373(0x228)))return{};const _0x42cdd9=_0xbc0a8a;if(_0x406cc6['vfsTn'](_0x42cdd9['tool_name'],'Bash'))return{};const _0x209934=_0x42cdd9[_0xe6e373(0x18a)],_0x257b90=extractBashCommand(_0x209934);if(!_0x257b90)return{};const _0x5bdb3a=_0x406cc6[_0xe6e373(0x1d5)](parseNovaActCliCommand,_0x257b90);if(!_0x5bdb3a)return{};_0x17e614['set'](_0x5bdb3a,(_0x17e614[_0xe6e373(0x1e4)](_0x5bdb3a)||0x0)+0x1),_0x439adc['trackPhaseStart']('nova_act_command',{'subcommand':_0x5bdb3a}),_0x439adc['trackPhaseEnd'](_0xe6e373(0x213),{'subcommand':_0x5bdb3a,'commandPreview':_0x406cc6[_0xe6e373(0x1d5)](previewNovaActCliCommand,_0x257b90)}),console['log'](_0xe6e373(0x158)+formatNovaActCliLog(_0x257b90,_0x5bdb3a));if(_0x406cc6['Ffmdo'](_0x5bdb3a,_0xe6e373(0x209))&&_0x190d8f)try{await _0x190d8f[_0xe6e373(0x1f8)]();}catch(_0x20d4bc){await _0x439adc['trackPhaseError'](_0x406cc6[_0xe6e373(0x16e)],_0x20d4bc,{'transport':_0x406cc6[_0xe6e373(0x1d9)]});}return{};},_0x1ef481=async _0x482e3f=>{const _0xb7ed0c=_0x166b63;if(_0x406cc6[_0xb7ed0c(0x189)](_0x482e3f['hook_event_name'],_0x406cc6[_0xb7ed0c(0x1fb)]))return{};const _0x648bb9=_0x482e3f;if(_0x406cc6[_0xb7ed0c(0x18f)](_0x648bb9['tool_name'],_0xb7ed0c(0x194)))return{};return await _0x439adc[_0xb7ed0c(0x15e)](_0xb7ed0c(0x19b),_0x648bb9['error'],{'transport':'nova-act-cli','toolName':_0x406cc6['Ffnso']}),{};};return{'preToolUseHook':_0x4b9353,'postToolUseHook':_0x392a47,'postToolUseFailureHook':_0x1ef481,'commandCounts':_0x17e614};}async function runNovaLifecycleCommand(_0x21b56a){const _0x38b70a=_0x13f2ba,_0x138e80={'cqvaD':function(_0x308b60,_0x1ce111){return _0x308b60(_0x1ce111);},'lJzWn':function(_0xcfb906,_0x2d2e96){return _0xcfb906??_0x2d2e96;},'umDhM':function(_0x215b09,_0x45dfe1){return _0x215b09(_0x45dfe1);},'PTLGq':function(_0x4c53f0,_0x3e35df){return _0x4c53f0(_0x3e35df);},'Rozhk':function(_0x397634,_0x3312ae){return _0x397634(_0x3312ae);}},{novaOptions:_0x4c5782,commandArgs:_0x16cb46,telemetry:_0x45508d,phase:_0x371cee,metadata:_0x29b262,timeoutMs:_0x4eb38d}=_0x21b56a;_0x45508d[_0x38b70a(0x185)](_0x371cee,_0x29b262);try{const _0x3449c2=await _0x138e80['cqvaD'](runNovaActCliCommand,{..._0x4c5782,'commandArgs':_0x16cb46,'cwd':process['cwd'](),'env':process['env'],'timeoutMs':_0x138e80[_0x38b70a(0x1a4)](_0x4eb38d,NOVA_ACT_CLI_COMMAND_TIMEOUT_MS)});_0x45508d['trackPhaseEnd'](_0x371cee,{..._0x29b262,'subcommand':_0x3449c2[_0x38b70a(0x1b8)][_0x38b70a(0x1f7)],'commandPreview':previewNovaActCliCommand(_0x3449c2['invocation'][_0x38b70a(0x166)]),'stdoutPreview':_0x138e80['umDhM'](previewNovaActCliCommand,_0x3449c2['stdout']),'stderrPreview':_0x138e80[_0x38b70a(0x1c4)](previewNovaActCliCommand,_0x3449c2[_0x38b70a(0x176)]),'logDir':_0x138e80['Rozhk'](extractNovaActLogDir,_0x3449c2['stdout'])});}catch(_0x91cd1b){await _0x45508d[_0x38b70a(0x15e)](_0x371cee,_0x91cd1b,_0x29b262);throw _0x91cd1b;}}export async function finalizeVerifyFeatureNovaCliSession(_0x4aa58f){const _0x64d2c=_0x13f2ba,_0x530ddb={'Txwqr':'screenshot','xLsDm':_0x64d2c(0x1e8),'wKZhN':_0x64d2c(0x22b),'lSIUK':function(_0x1b0ec3,_0x51729e,_0x534f9a){return _0x1b0ec3(_0x51729e,_0x534f9a);},'JAHln':'nova_act_session_export','hUACr':_0x64d2c(0x1e9),'EFNke':_0x64d2c(0x1df),'wGIJg':'json','JsGUf':'nova_act_session_report','zqUwu':_0x64d2c(0x186),'vKZQd':_0x64d2c(0x1ef),'UrhAl':_0x64d2c(0x1f9),'jZWyU':_0x64d2c(0x16d),'kOmVP':function(_0x4b0c6e,_0x5f0750){return _0x4b0c6e===_0x5f0750;}},{telemetry:_0x1ea3c1,novaOptions:_0x58029c,cliArtifactDir:_0x13cdaa,transportMetadata:_0x4b7c64,artifactRecorder:_0x8cb257}=_0x4aa58f,_0x1d182a=[{'phase':'nova_act_final_screenshot','commandArgs':[_0x530ddb['Txwqr'],'--output',buildCliArtifactPath(_0x13cdaa,'key_final-state.png')]},{'phase':_0x530ddb['xLsDm'],'commandArgs':[_0x530ddb['wKZhN'],'--output',_0x530ddb[_0x64d2c(0x225)](buildCliArtifactPath,_0x13cdaa,'final-state.yaml')]},{'phase':_0x530ddb['JAHln'],'commandArgs':[_0x64d2c(0x186),_0x530ddb['hUACr'],_0x530ddb[_0x64d2c(0x17a)],_0x530ddb['wGIJg'],'--output',_0x530ddb[_0x64d2c(0x225)](buildCliArtifactPath,_0x13cdaa,'nova-session-export.json')]},{'phase':_0x530ddb['JsGUf'],'commandArgs':[_0x530ddb[_0x64d2c(0x231)],_0x530ddb[_0x64d2c(0x17c)],_0x530ddb['vKZQd'],_0x64d2c(0x1dd),buildCliArtifactPath(_0x13cdaa,_0x530ddb[_0x64d2c(0x1aa)])]},{'phase':_0x530ddb[_0x64d2c(0x235)],'commandArgs':[_0x64d2c(0x186),_0x64d2c(0x1b2)]}];for(const _0x283e62 of _0x1d182a){_0x530ddb['kOmVP'](_0x283e62[_0x64d2c(0x200)],_0x530ddb[_0x64d2c(0x235)])&&await _0x8cb257?.['stop']();try{await runNovaLifecycleCommand({'novaOptions':_0x58029c,'commandArgs':[..._0x283e62['commandArgs']],'telemetry':_0x1ea3c1,'phase':_0x283e62['phase'],'metadata':_0x4b7c64});}catch{}}}export async function harvestVerifyFeatureNovaCliArtifacts(_0x32424e){const _0x38ccd6=_0x13f2ba,_0x3fe0f6={'BGfTw':function(_0x1aef83,_0x492dd2,_0x56f418){return _0x1aef83(_0x492dd2,_0x56f418);},'pztRM':function(_0x25f0e9,_0x119940){return _0x25f0e9+_0x119940;}},{cwd:_0x59d677,cliArtifactDir:_0x140c8f,startTime:_0x1e1adb}=_0x32424e,_0x18382d=[];await mkdir(_0x140c8f,{'recursive':!![]});const _0x549ac9=await _0x3fe0f6['BGfTw'](readdir,_0x59d677,{'withFileTypes':!![]});for(const _0x114d6c of _0x549ac9){if(!_0x114d6c['isFile']()||!VERIFY_FEATURE_NOVA_ARTIFACT_FILE_PATTERN[_0x38ccd6(0x184)](_0x114d6c['name']))continue;const _0x661c0b=join(_0x59d677,_0x114d6c[_0x38ccd6(0x1b3)]),_0x333259=await stat(_0x661c0b);if(_0x3fe0f6[_0x38ccd6(0x201)](_0x333259['mtimeMs'],0x7d0)<_0x1e1adb)continue;const _0x5b2bf2=_0x3fe0f6['BGfTw'](buildCliArtifactPath,_0x140c8f,_0x114d6c['name']);if(_0x661c0b===_0x5b2bf2)continue;await rename(_0x661c0b,_0x5b2bf2),_0x18382d['push'](_0x114d6c[_0x38ccd6(0x1b3)]);}return _0x18382d[_0x38ccd6(0x153)]();}export async function loadVerifyFeatureNovaTraceUploadArtifact(_0x126bf8){const _0x109965=_0x13f2ba,_0x450e99={'kTTce':function(_0xdea1d0,_0x39fda0,_0x2c4571){return _0xdea1d0(_0x39fda0,_0x2c4571);},'yFOrw':function(_0x264ad1,_0x68ec5b){return _0x264ad1(_0x68ec5b);}},_0x105c6d=_0x450e99['kTTce'](join,_0x126bf8,'trace.zip');try{return{'buffer':await _0x450e99[_0x109965(0x204)](readFile,_0x105c6d),'source':_0x105c6d};}catch{return{'buffer':await _0x450e99[_0x109965(0x204)](zipVerifyFeatureNovaArtifacts,_0x126bf8),'source':_0x126bf8};}}async function zipVerifyFeatureNovaArtifacts(_0x515a57){const _0x1d7280=_0x13f2ba,_0x33d77d={'lKPbr':'zip'},_0x4aaeea=join(_0x515a57,'..',_0x1d7280(0x226));try{return await execFileAsync(_0x33d77d[_0x1d7280(0x195)],['-qr',_0x4aaeea,'.','-x','nova-user-data/*'],{'cwd':_0x515a57}),await readFile(_0x4aaeea);}finally{await rm(_0x4aaeea,{'force':!![]});}}export function buildNovaActCliDiagnostics(_0x4ecb1f){const _0x3ee190=_0x13f2ba,_0x2b4e3b={'jwCtk':function(_0x462a75,_0x955e22,_0x321deb){return _0x462a75(_0x955e22,_0x321deb);}},_0x3f00f8=_0x2b4e3b[_0x3ee190(0x196)](buildNovaActCliInvocation,_0x4ecb1f['novaOptions'],_0x4ecb1f[_0x3ee190(0x237)]);return{'command':_0x3f00f8[_0x3ee190(0x167)],'args':_0x3f00f8[_0x3ee190(0x1ad)],'commandPreview':previewNovaActCliCommand(_0x3f00f8['shellCommand']),'subcommand':_0x3f00f8[_0x3ee190(0x1f7)],'sharedOptionsSuffix':buildNovaActCliSharedOptionsSuffix(_0x4ecb1f['novaOptions'],_0x4ecb1f['commandArgs'])};}
|
|
1
|
+
const _0x24f625=_0x4a45;(function(_0xa18bb6,_0x491570){const _0x202684=_0x4a45,_0x32ef1f=_0xa18bb6();while(!![]){try{const _0x1e9901=-parseInt(_0x202684(0x25d))/0x1*(parseInt(_0x202684(0x23f))/0x2)+-parseInt(_0x202684(0x266))/0x3*(-parseInt(_0x202684(0x24c))/0x4)+parseInt(_0x202684(0x275))/0x5*(parseInt(_0x202684(0x23e))/0x6)+-parseInt(_0x202684(0x20f))/0x7+-parseInt(_0x202684(0x20d))/0x8*(parseInt(_0x202684(0x26e))/0x9)+parseInt(_0x202684(0x269))/0xa+-parseInt(_0x202684(0x293))/0xb*(parseInt(_0x202684(0x285))/0xc);if(_0x1e9901===_0x491570)break;else _0x32ef1f['push'](_0x32ef1f['shift']());}catch(_0x233b5f){_0x32ef1f['push'](_0x32ef1f['shift']());}}}(_0x53f2,0x2442d));import{execFile}from'child_process';import{mkdir,readdir,readFile,rename,rm,stat,writeFile}from'fs/promises';import{homedir}from'os';import{basename,join}from'path';import{promisify}from'util';import{chromium}from'playwright';import{buildNovaActCliInvocation,buildNovaActCliSharedOptionsSuffix,extractNovaActLogDir,parseNovaActCliCommand,previewNovaActCliCommand,runNovaActCliCommand}from'./utils/novaActCli.js';import{extractBashCommand,quoteShellArg}from'./utils/playwrightCli.js';const NOVA_ACT_CLI_COMMAND_TIMEOUT_MS=0x1d4c0,NOVA_ARTIFACT_CDP_CONNECT_TIMEOUT_MS=0x3a98,NOVA_ARTIFACT_METADATA_WAIT_MS=0x1388,NOVA_ARTIFACT_TRACE_SAMPLE_INTERVAL_MS=0x1388,VERIFY_FEATURE_NOVA_ARTIFACT_FILE_PATTERN=/^(?:\d{2}_.+\.(?:png|ya?ml)|key_.+\.png|final-state\.ya?ml|nova-session-export\.json)$/i,NOVA_ACT_ALLOWED_AGENT_COMMANDS=new Set(['session\x20create',_0x24f625(0x296),_0x24f625(0x20c),_0x24f625(0x281),_0x24f625(0x225),_0x24f625(0x1fc),'snapshot',_0x24f625(0x214)]),execFileAsync=promisify(execFile);function buildCliArtifactPath(_0x57d273,_0x30fad1){return join(_0x57d273,_0x30fad1);}export class NovaActArtifactRecorder{['params'];[_0x24f625(0x297)]=null;['context']=null;['frameSession']=null;[_0x24f625(0x29e)]=[];['frameCount']=0x0;['traceSampleCount']=0x0;[_0x24f625(0x264)]=null;[_0x24f625(0x279)]=null;['tracingStarted']=![];[_0x24f625(0x203)]=![];['startAttempted']=![];[_0x24f625(0x1dd)]=![];constructor(_0x179df7){this['params']=_0x179df7;}async['start'](){const _0x31c1b=_0x24f625,_0x4589cd={'UHRcg':'Nova\x20CDP\x20connection\x20did\x20not\x20expose\x20a\x20browser\x20context','hQhln':'nova_act_artifact_recording'};if(this['startAttempted'])return;this[_0x31c1b(0x21c)]=!![];const _0x512ddb=await this['readSessionMetadataWithRetry'](),_0x4af5c2=_0x512ddb['cdp_endpoint'];if(!_0x4af5c2)throw new Error(_0x31c1b(0x23c)+this['params'][_0x31c1b(0x1e8)][_0x31c1b(0x249)]);await mkdir(this[_0x31c1b(0x1d8)]['cliArtifactDir'],{'recursive':!![]}),this['browser']=await chromium[_0x31c1b(0x212)](_0x4af5c2,{'timeout':NOVA_ARTIFACT_CDP_CONNECT_TIMEOUT_MS}),this[_0x31c1b(0x1fb)]=this[_0x31c1b(0x297)][_0x31c1b(0x1f3)]()[0x0]??null;if(!this[_0x31c1b(0x1fb)])throw new Error(_0x4589cd['UHRcg']);await this[_0x31c1b(0x1fb)]['tracing']['start']({'screenshots':!![],'snapshots':!![],'sources':!![]}),this['tracingStarted']=!![],this['startTraceSampling'](),await this['startScreencast'](),this[_0x31c1b(0x1d8)][_0x31c1b(0x216)]['trackPhaseStart'](_0x4589cd['hQhln'],{...this[_0x31c1b(0x1d8)][_0x31c1b(0x223)],'cdpEndpoint':_0x4af5c2,'browserPid':_0x512ddb['browser_pid'],'sessionState':_0x512ddb[_0x31c1b(0x1ea)]}),this['params']['telemetry']['trackPhaseEnd'](_0x31c1b(0x278),{...this[_0x31c1b(0x1d8)]['transportMetadata'],'tracingStarted':this[_0x31c1b(0x27e)],'screencastStarted':this['screencastStarted']});}async[_0x24f625(0x21b)](){const _0x22edea=_0x24f625,_0xebdfd4={'ewcvw':function(_0x228375,_0x3f6e7d,_0x446af6){return _0x228375(_0x3f6e7d,_0x446af6);},'ibMBO':_0x22edea(0x1d2),'tmwus':'nova_act_artifact_recording_stop'};if(this[_0x22edea(0x1dd)])return;this['stopped']=!![];const _0x310498={...this['params']['transportMetadata'],'frameCount':this['frameCount'],'traceSampleCount':this['traceSampleCount'],'tracingStarted':this[_0x22edea(0x27e)],'screencastStarted':this[_0x22edea(0x203)]};this[_0x22edea(0x1d8)][_0x22edea(0x216)]['trackPhaseStart']('nova_act_artifact_recording_stop',_0x310498);try{await this['stopTraceSampling'](),await this['captureTraceSample'](),await this[_0x22edea(0x247)](),await Promise['allSettled'](this[_0x22edea(0x29e)]);this['context']&&this[_0x22edea(0x27e)]&&await this[_0x22edea(0x1fb)][_0x22edea(0x233)]['stop']({'path':_0xebdfd4[_0x22edea(0x243)](buildCliArtifactPath,this[_0x22edea(0x1d8)]['cliArtifactDir'],_0xebdfd4['ibMBO'])});const _0x3194f9=await this['encodeScreencastVideo']();this['params'][_0x22edea(0x216)]['trackPhaseEnd'](_0xebdfd4[_0x22edea(0x238)],{..._0x310498,'videoPath':_0x3194f9});}catch(_0x4d0f72){await this[_0x22edea(0x1d8)]['telemetry'][_0x22edea(0x1fa)](_0xebdfd4['tmwus'],_0x4d0f72,_0x310498);}finally{await this['browser']?.['close']()['catch'](()=>undefined),this['browser']=null,this['context']=null,this['frameSession']=null;}}async[_0x24f625(0x1fd)](){const _0x3f8dc0=_0x24f625,_0x1e5a2e={'GjjtJ':'sessions','luAgy':function(_0x3f3da9,_0x35d529,_0x11e2c8){return _0x3f3da9(_0x35d529,_0x11e2c8);},'sAnCG':'utf-8','qCgZt':function(_0x23eab2,_0x2f0bea){return _0x23eab2(_0x2f0bea);},'XhlAq':function(_0x12d2a7,_0x123378){return _0x12d2a7-_0x123378;}},_0x108baa=join(homedir(),'.act_cli','browser',_0x1e5a2e['GjjtJ'],this['params'][_0x3f8dc0(0x1e8)]['sessionId']+_0x3f8dc0(0x290)),_0x2b3a98=Date['now']();let _0xdff5fe;do{try{const _0x191220=JSON[_0x3f8dc0(0x25c)](await _0x1e5a2e[_0x3f8dc0(0x237)](readFile,_0x108baa,_0x1e5a2e[_0x3f8dc0(0x29b)]));if(_0x191220[_0x3f8dc0(0x1fe)])return _0x191220;_0xdff5fe=new Error('Nova\x20metadata\x20missing\x20cdp_endpoint\x20at\x20'+_0x108baa);}catch(_0xdf39){_0xdff5fe=_0xdf39;}await _0x1e5a2e['qCgZt'](delay,0x64);}while(_0x1e5a2e['XhlAq'](Date['now'](),_0x2b3a98)<NOVA_ARTIFACT_METADATA_WAIT_MS);if(_0xdff5fe instanceof Error)throw _0xdff5fe;throw new Error('Unable\x20to\x20read\x20Nova\x20session\x20metadata\x20at\x20'+_0x108baa);}async['startScreencast'](){const _0x597bf6=_0x24f625,_0x3f1712={'rKJhe':function(_0x2edf70,_0x71ec30,_0x334881){return _0x2edf70(_0x71ec30,_0x334881);},'zSDFv':'Page.startScreencast'};if(!this[_0x597bf6(0x1fb)])return;const _0xae4434=this[_0x597bf6(0x1fb)][_0x597bf6(0x26c)]()[0x0];if(!_0xae4434)return;const _0x30aaec=this['getFrameDir']();await _0x3f1712['rKJhe'](mkdir,_0x30aaec,{'recursive':!![]});const _0x14b8cb=await this[_0x597bf6(0x1fb)]['newCDPSession'](_0xae4434);this[_0x597bf6(0x1e0)]=_0x14b8cb,_0x14b8cb['on'](_0x597bf6(0x226),_0x1c3d3e=>{const _0x539c0a=_0x597bf6,_0x271e32=++this[_0x539c0a(0x1e7)],_0xb84649=join(_0x30aaec,'frame-'+String(_0x271e32)['padStart'](0x6,'0')+_0x539c0a(0x28d)),_0x3ec88e=writeFile(_0xb84649,Buffer['from'](_0x1c3d3e[_0x539c0a(0x1f8)],'base64'))['catch'](()=>undefined)[_0x539c0a(0x28a)](()=>_0x14b8cb['send']('Page.screencastFrameAck',{'sessionId':_0x1c3d3e[_0x539c0a(0x249)]}))['then'](()=>undefined)['catch'](()=>undefined);this['frameWrites'][_0x539c0a(0x271)](_0x3ec88e);}),await _0x14b8cb['send'](_0x3f1712[_0x597bf6(0x256)],{'format':'jpeg','quality':0x4b,'everyNthFrame':0x6}),this['screencastStarted']=!![];}async['stopScreencast'](){const _0xd6929f=_0x24f625;if(!this[_0xd6929f(0x1e0)]||!this[_0xd6929f(0x203)])return;await this[_0xd6929f(0x1e0)][_0xd6929f(0x280)]('Page.stopScreencast')['catch'](()=>undefined);}['startTraceSampling'](){const _0x5692da=_0x24f625;this['queueTraceSample'](),this[_0x5692da(0x264)]=setInterval(()=>this['queueTraceSample'](),NOVA_ARTIFACT_TRACE_SAMPLE_INTERVAL_MS);}[_0x24f625(0x25e)](){const _0x2a5548=_0x24f625;if(this[_0x2a5548(0x279)])return;this['traceSampleInFlight']=this['captureTraceSample']()['finally'](()=>{this['traceSampleInFlight']=null;});}async[_0x24f625(0x213)](){const _0x155225=_0x24f625,_0x25a35f={'GbGsI':function(_0x562bae,_0x80275e){return _0x562bae(_0x80275e);}};this[_0x155225(0x264)]&&(_0x25a35f[_0x155225(0x215)](clearInterval,this['traceSampleTimer']),this[_0x155225(0x264)]=null),await this['traceSampleInFlight']?.[_0x155225(0x23b)](()=>undefined);}async['captureTraceSample'](){const _0x3efbea=_0x24f625,_0x3d8404={'qzxBn':'body'},_0x4ce06f=this['context']?.['pages']()[0x0];if(!_0x4ce06f)return;try{await _0x4ce06f['locator'](_0x3d8404['qzxBn'])[_0x3efbea(0x1d3)](_0x130c49=>_0x130c49[_0x3efbea(0x260)],undefined,{'timeout':0x3e8}),this['traceSampleCount']++;}catch{}}async['encodeScreencastVideo'](){const _0xd5b5bc=_0x24f625,_0x828805={'yenmA':function(_0x12fbe8){return _0x12fbe8();},'dVqxs':function(_0x2b390f,_0x1c595c,_0x295db3){return _0x2b390f(_0x1c595c,_0x295db3);},'ZKYnF':'-loglevel','evpvm':_0xd5b5bc(0x208),'lgxrD':'-vf','gdFMX':'scale=trunc(iw/2)*2:trunc(ih/2)*2','JBJRe':'-c:v','owRXd':_0xd5b5bc(0x261)};if(this[_0xd5b5bc(0x1e7)]<0x2)return null;const _0x595fcc=await _0x828805[_0xd5b5bc(0x1ee)](resolveFfmpegPath);if(!_0x595fcc)return null;const _0x2688f6=_0x828805[_0xd5b5bc(0x25b)](join,this['params'][_0xd5b5bc(0x277)],_0xd5b5bc(0x240));await _0x828805['dVqxs'](mkdir,_0x2688f6,{'recursive':!![]});const _0x2e63ea=join(_0x2688f6,'session-recording.webm');return await _0x828805['dVqxs'](execFileAsync,_0x595fcc,['-y','-hide_banner',_0x828805['ZKYnF'],_0xd5b5bc(0x265),_0x828805['evpvm'],'10','-i',join(this['getFrameDir'](),_0xd5b5bc(0x254)),_0x828805[_0xd5b5bc(0x1d4)],_0x828805[_0xd5b5bc(0x1cf)],_0x828805['JBJRe'],_0x828805[_0xd5b5bc(0x24b)],'-pix_fmt',_0xd5b5bc(0x230),_0x2e63ea]),_0x2e63ea;}['getFrameDir'](){const _0x530cf5=_0x24f625;return join(this['params'][_0x530cf5(0x277)],'nova-video-frames');}}async function delay(_0x5105c0){await new Promise(_0x16504c=>setTimeout(_0x16504c,_0x5105c0));}function _0x4a45(_0x7015c8,_0x59101a){_0x7015c8=_0x7015c8-0x1cf;const _0x53f282=_0x53f2();let _0x4a4523=_0x53f282[_0x7015c8];return _0x4a4523;}async function resolveFfmpegPath(){const _0x498dea=_0x24f625,_0x36d804={'WALdw':function(_0x1185f0,_0xfe9f5b){return _0x1185f0(_0xfe9f5b);},'ARqzE':'ffmpeg','pNnUb':function(_0x1bee29,_0x2157a6,_0xf5a52d,_0x45d25f,_0x5baf14){return _0x1bee29(_0x2157a6,_0xf5a52d,_0x45d25f,_0x5baf14);},'ITwXG':_0x498dea(0x204),'pnEVP':'ms-playwright','qaBCN':function(_0x402a7e){return _0x402a7e();},'LogAW':'.cache','LvgNm':function(_0x55c719,_0x5311cb){return _0x55c719(_0x5311cb);}};if(await _0x36d804['WALdw'](canRunFfmpeg,_0x36d804['ARqzE']))return _0x498dea(0x239);const _0x49f312=[_0x36d804[_0x498dea(0x291)](join,homedir(),_0x36d804['ITwXG'],'Caches',_0x36d804['pnEVP']),join(_0x36d804[_0x498dea(0x206)](homedir),_0x36d804[_0x498dea(0x295)],_0x498dea(0x221))];for(const _0x5f3b30 of _0x49f312){try{const _0x5042e2=await readdir(_0x5f3b30),_0x115c41=_0x5042e2[_0x498dea(0x218)](_0xe18438=>_0xe18438['startsWith']('ffmpeg-'))[_0x498dea(0x24a)]()['reverse']()[_0x498dea(0x248)](_0x1bbdb9=>[join(_0x5f3b30,_0x1bbdb9,_0x498dea(0x205)),join(_0x5f3b30,_0x1bbdb9,'ffmpeg-linux'),join(_0x5f3b30,_0x1bbdb9,'ffmpeg.exe')]);for(const _0x4d7731 of _0x115c41){if(await _0x36d804[_0x498dea(0x2a1)](canRunFfmpeg,_0x4d7731))return _0x4d7731;}}catch{}}return null;}async function canRunFfmpeg(_0x3e96cb){const _0x1fae46={'goFbV':'-version'};try{return await execFileAsync(_0x3e96cb,[_0x1fae46['goFbV']]),!![];}catch{return![];}}function toStepDisplayName(_0x3349e0){const _0x1e74d3=_0x24f625,_0x59d0b3={'BBJUU':function(_0xaf8415,_0x36e0b4){return _0xaf8415(_0x36e0b4);}},_0x2f8cd3=basename(_0x3349e0)[_0x1e74d3(0x210)](/\.(?:png|ya?ml)$/i,'')['replace'](/^key_/i,'')[_0x1e74d3(0x210)](/^\d+_/,'')[_0x1e74d3(0x210)](/-/g,'\x20');return{'name':_0x2f8cd3,'isKeyStep':/^key_/i[_0x1e74d3(0x257)](_0x59d0b3['BBJUU'](basename,_0x3349e0))};}function extractShellValue(_0x2f648c){if(!_0x2f648c)return null;return _0x2f648c[0x1]??_0x2f648c[0x2]??_0x2f648c[0x3]??null;}function _0x53f2(){const _0x48576f=['trace.zip','evaluate','lgxrD','Bash','phase','log','params','ujqly','ZTtEA','content','YwTdM','stopped','BDZqH','close','frameSession','PostToolUse','nova-act-cli','ZXSKq','trim','Reviewer','get','frameCount','novaOptions','OnUGK','state','LMMrt','PreToolUse','Do\x20not\x20run\x20Nova\x20help,\x20doctor,\x20script,\x20session\x20list,\x20session\x20export,\x20or\x20session\x20close\x20commands\x20during\x20verification.','yenmA','capture\x20step\x20`','domRef','Append\x20this\x20option\x20suffix\x20to\x20every\x20browser\x20command\x20unless\x20the\x20host\x20gives\x20a\x20more\x20specific\x20example:\x0a','`\x0a\x0aAppend\x20this\x20option\x20suffix\x20to\x20browser\x20commands:\x0a','contexts','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','session','dxnWr','authorName','data','stderr','trackPhaseError','context','wait-for','readSessionMetadataWithRetry','cdp_endpoint','--output','`\x0a6.\x20Run\x20`','02_final-state.yml','\x20>\x20','screencastStarted','Library','ffmpeg-mac','qaBCN','toLocaleDateString','-framerate','\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','-qr','keys','verify','32LXuhjk','Rbdjr','96859sdikaQ','replace','adURU','connectOverCDP','stopTraceSampling','screenshot','GbGsI','telemetry','command','filter','cwd','hook_event_name','stop','startAttempted','hPQCY','verify\x20page\x20condition','qUPCf','`.\x0a6.\x20Take\x20an\x20initial\x20screenshot:\x20`','ms-playwright','vvRha','transportMetadata','\x0a\x0aIf\x20authentication\x20fails,\x20return\x20evaluation\x20\x22blocked\x22\x20and\x20describe\x20the\x20auth\x20failure.','goto','Page.screencastFrame','pMvsx','jKPtg','KGGut','tool_name','\x0a\x0a##\x20Task\x20to\x20Execute\x0a','export','capture\x20snapshot','`\x0a-\x20`','textContent','yuv420p','snapshot','VOqHR','tracing','-\x20[','PShwD','length','luAgy','tmwus','ffmpeg','fdpqY','catch','Nova\x20session\x20metadata\x20did\x20not\x20include\x20cdp_endpoint\x20for\x20','block','6mCXQnk','469884GGrFub','videos','YkVFj','--format','ewcvw','trackPhaseEnd','slice','\x0a\x0aExamples:\x0a-\x20`','stopScreencast','flatMap','sessionId','sort','owRXd','769304VsBPGT','capture\x20snapshot\x20`','canonicalFlow','\x20verify\x20\x22The\x20Billing\x20page\x20is\x20visible\x20and\x20shows\x20the\x20current\x20plan.\x22\x20','`\x0a7.\x20Return\x20immediately\x20with\x20the\x20structured\x20output.\x0a\x0aSave\x20every\x20artifact\x20under\x20`','nova_act_session_close','tpCLe','element','frame-%06d.jpg','03_final-state.png','zSDFv','test','join','name','00_initial-state.yml','dVqxs','parse','1GysbMQ','queueTraceSample','split','tagName','libvpx-vp9','session\x20create','aHHhh','traceSampleTimer','error','3VKHJTc','notes','`\x0a2.\x20Run\x20`','1475720dOshrx','nova_act_command','YlSQh','pages','key_03_success-state.png','231795vTSajp','isFile','\x20screenshot\x20--output\x20','push','`\x20using\x20absolute\x20paths\x20only.\x0aReturn\x20your\x20findings\x20in\x20the\x20structured\x20output\x20format.','>\x20\x22','01_initial-state.png','823220dbBbIs','key_final-state.png','cliArtifactDir','nova_act_artifact_recording','traceSampleInFlight','01_initial.yml','`.\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`','trackPhaseStart','nova_act_final_snapshot','tracingStarted','invocation','send','ask','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.','EMwfa','args','1368MlcTLm','tool_input','\x20session\x20create\x20','unaddressedComments','subcommand','finally','krxYV','\x20execute\x20\x221.\x20Open\x20the\x20account\x20settings\x20menu.\x202.\x20Click\x20Billing.\x203.\x20Wait\x20for\x20the\x20Billing\x20page\x20to\x20load.\x22\x20','.jpg','`\x0a3.\x20Run\x20`','QNxrd','.json','pNnUb','\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`','407ebsuuI','en-US','LogAW','execute','browser','nova-session-export.json','ask\x20page\x20question','set','sAnCG','OpBRC','iNHUy','frameWrites','\x0a\x0a##\x20Authentication\x0aBEFORE\x20starting\x20the\x20verification\x20task,\x20authenticate\x20using\x20these\x20steps:\x0a','CzclM','LvgNm','gdFMX','stdout','commandArgs'];_0x53f2=function(){return _0x48576f;};return _0x53f2();}function extractOutputOption(_0x4a56cd){const _0x5067e6=_0x24f625,_0x39f39f={'LMMrt':function(_0x41b620,_0x20f027){return _0x41b620(_0x20f027);}};return _0x39f39f[_0x5067e6(0x1eb)](extractShellValue,_0x4a56cd['match'](/--output(?:=|\s+)(?:"([^"]+)"|'([^']+)'|(\S+))/));}function formatNovaActCliLog(_0x5458bf,_0x2c87e1){const _0x486d5e=_0x24f625,_0x218b29={'zqBOA':'execute\x20Nova\x20browser\x20action','CzclM':_0x486d5e(0x21e),'aHHhh':_0x486d5e(0x299),'pMvsx':_0x486d5e(0x225),'hPQCY':'navigate\x20browser','Rbdjr':'wait-for','fmVHa':'wait\x20for\x20page\x20condition','OnUGK':_0x486d5e(0x231),'lZHRh':function(_0x8c4e34,_0x578988){return _0x8c4e34(_0x578988);},'ZTtEA':function(_0x219336,_0x510a51){return _0x219336(_0x510a51);},'YlSQh':'capture\x20screenshot','sETMe':function(_0x3e9848,_0x8657f6){return _0x3e9848(_0x8657f6);},'rfoCw':'export\x20Nova\x20session'};switch(_0x2c87e1){case'session\x20create':return'create\x20Nova\x20browser\x20session';case'execute':return _0x218b29['zqBOA'];case'verify':return _0x218b29[_0x486d5e(0x2a0)];case _0x486d5e(0x281):return _0x218b29[_0x486d5e(0x263)];case _0x218b29[_0x486d5e(0x227)]:return _0x218b29[_0x486d5e(0x21d)];case _0x218b29[_0x486d5e(0x20e)]:return _0x218b29['fmVHa'];case _0x218b29[_0x486d5e(0x1e9)]:{const _0x17c199=_0x218b29['lZHRh'](extractOutputOption,_0x5458bf);if(!_0x17c199)return _0x486d5e(0x22d);const {name:_0x248c15}=_0x218b29[_0x486d5e(0x1da)](toStepDisplayName,_0x17c199);return _0x486d5e(0x24d)+_0x248c15+'`';}case'screenshot':{const _0x82dc09=_0x218b29['ZTtEA'](extractOutputOption,_0x5458bf);if(!_0x82dc09)return _0x218b29[_0x486d5e(0x26b)];const {name:_0x58ff07,isKeyStep:_0x382176}=_0x218b29['sETMe'](toStepDisplayName,_0x82dc09);return _0x382176?'capture\x20key\x20step\x20`'+_0x58ff07+'`':_0x486d5e(0x1ef)+_0x58ff07+'`';}case'session\x20export':return _0x218b29['rfoCw'];default:return _0x2c87e1;}}function getNovaActCliCommandBlockReason(_0x1a6742){const _0x15b4db=_0x24f625,_0x3eb179={'EMwfa':function(_0x4d98da,_0x239073){return _0x4d98da(_0x239073);},'jKPtg':'Use\x20only\x20the\x20provided\x20Nova\x20browser\x20command\x20prefix\x20for\x20browser\x20verification.\x20Do\x20not\x20inspect\x20setup,\x20credentials,\x20files,\x20or\x20the\x20local\x20environment.','rNsng':_0x15b4db(0x20c),'adURU':_0x15b4db(0x1ed)},_0xc16d0c=_0x3eb179[_0x15b4db(0x283)](parseNovaActCliCommand,_0x1a6742);if(!_0xc16d0c)return _0x3eb179[_0x15b4db(0x228)];if(!NOVA_ACT_ALLOWED_AGENT_COMMANDS['has'](_0xc16d0c))return'Nova\x20command\x20`'+_0xc16d0c+'`\x20is\x20reserved\x20for\x20the\x20host.\x20Use\x20only\x20session\x20create,\x20execute,\x20verify,\x20ask,\x20goto,\x20wait-for,\x20snapshot,\x20and\x20screenshot.';if(_0xc16d0c===_0x3eb179['rNsng']&&/\b(?:previously visited|visited pages|pages visited|at least one of the pages visited)\b/i['test'](_0x1a6742))return _0x15b4db(0x282);if(/\s--help\b|\bdoctor\b|\bscript\b|\bsession\s+(?:close|list|export)\b/[_0x15b4db(0x257)](_0x1a6742))return _0x3eb179[_0x15b4db(0x211)];return null;}function buildFeedbackSection(_0x506d11){const _0x33676e=_0x24f625,_0x44cfba={'ZPstg':_0x33676e(0x1e5),'btXKn':_0x33676e(0x202),'ENldv':function(_0x2ab8eb,_0x4ed084){return _0x2ab8eb===_0x4ed084;}};if(!_0x506d11||_0x44cfba['ENldv'](_0x506d11[_0x33676e(0x288)][_0x33676e(0x236)],0x0))return'';const _0x441a20=_0x506d11['unaddressedComments']['map'](_0x331380=>{const _0x4d46cd=_0x33676e,_0x23b840=new Date(_0x331380['createdAt'])[_0x4d46cd(0x207)](_0x4d46cd(0x294),{'month':'short','day':'numeric'}),_0xabf21e=_0x331380[_0x4d46cd(0x1f7)]||_0x331380['authorEmail']||_0x44cfba['ZPstg'],_0x5e3121=_0x331380['domRef']?'\x20(on\x20element:\x20<'+(_0x331380['domRef']['selector'][_0x4d46cd(0x25f)](_0x44cfba['btXKn'])['pop']()?.['split'](':')[0x0]||_0x4d46cd(0x253))+_0x4d46cd(0x273)+(_0x331380[_0x4d46cd(0x1f0)][_0x4d46cd(0x22f)]||'')[_0x4d46cd(0x245)](0x0,0x32)+'\x22)':'';return _0x4d46cd(0x234)+_0x331380['id']+']\x20**'+_0xabf21e+'**\x20('+_0x23b840+'):\x20\x22'+_0x331380[_0x4d46cd(0x1db)]+'\x22'+_0x5e3121;})[_0x33676e(0x258)]('\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'+_0x441a20;}function buildNovaSharedOptionsInstruction(_0x58512f){const _0x37894f=_0x24f625;if(!_0x58512f[_0x37894f(0x1e4)]())return'The\x20command\x20prefix\x20already\x20injects\x20session,\x20auth,\x20region,\x20workflow,\x20user-data,\x20headless,\x20and\x20JSON\x20options.\x0aDo\x20not\x20run\x20raw\x20`act\x20browser`.\x20Do\x20not\x20add\x20`--auth-mode`,\x20`--aws-profile`,\x20`--region`,\x20`--workflow-name`,\x20`--session-id`,\x20`--user-data-dir`,\x20`--headless`,\x20or\x20`--headed`\x20yourself.';return _0x37894f(0x1f1)+_0x58512f;}export function buildVerifyFeatureNovaCliDebugPrompt(_0x310999){const _0x5752fa=_0x24f625,_0xbfea48={'dxnWr':function(_0x24f1f7,_0x49c0ad,_0x151b0a){return _0x24f1f7(_0x49c0ad,_0x151b0a);},'LKuoX':_0x5752fa(0x201),'OpBRC':_0x5752fa(0x255),'zvEuy':function(_0xba9872,_0x281159){return _0xba9872(_0x281159);},'KGGut':function(_0x14cc15,_0x260158){return _0x14cc15(_0x260158);}},{novaCommandPrefix:_0x3b1d6f,novaSharedOptionsSuffix:_0x3d1ad0,cliArtifactDir:_0x1dc238,url:_0x64c890}=_0x310999,_0x24b4cc=buildCliArtifactPath(_0x1dc238,_0x5752fa(0x25a)),_0x268d38=_0xbfea48['dxnWr'](buildCliArtifactPath,_0x1dc238,'01_initial-state.png'),_0x5a0b16=_0xbfea48[_0x5752fa(0x1f6)](buildCliArtifactPath,_0x1dc238,_0xbfea48['LKuoX']),_0x16e205=_0xbfea48['dxnWr'](buildCliArtifactPath,_0x1dc238,_0xbfea48[_0x5752fa(0x29c)]);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'+_0x3b1d6f+'\x0a\x0a'+_0xbfea48['zvEuy'](buildNovaSharedOptionsInstruction,_0x3d1ad0)+_0x5752fa(0x292)+_0x3b1d6f+_0x5752fa(0x287)+_0xbfea48['KGGut'](quoteShellArg,_0x64c890)+'\x20'+_0x3d1ad0+_0x5752fa(0x268)+_0x3b1d6f+'\x20snapshot\x20--output\x20'+_0xbfea48[_0x5752fa(0x229)](quoteShellArg,_0x24b4cc)+'\x20'+_0x3d1ad0+_0x5752fa(0x28e)+_0x3b1d6f+'\x20screenshot\x20--output\x20'+quoteShellArg(_0x268d38)+'\x20'+_0x3d1ad0+'`\x0a4.\x20Run\x20one\x20batched\x20`'+_0x3b1d6f+'\x20execute\x20\x22...\x22`\x20command\x20to\x20exercise\x20the\x20current\x20page.\x0a5.\x20Run\x20`'+_0x3b1d6f+'\x20snapshot\x20--output\x20'+_0xbfea48['zvEuy'](quoteShellArg,_0x5a0b16)+'\x20'+_0x3d1ad0+_0x5752fa(0x200)+_0x3b1d6f+'\x20screenshot\x20--output\x20'+_0xbfea48['KGGut'](quoteShellArg,_0x16e205)+'\x20'+_0x3d1ad0+_0x5752fa(0x250)+_0x1dc238+_0x5752fa(0x272);}export function buildVerifyFeatureNovaCliPrompt(_0xafb82c){const _0x958dd2=_0x24f625,_0x4aa19c={'krxYV':_0x958dd2(0x27a),'YzaMK':_0x958dd2(0x274),'esmGy':function(_0x10d397,_0x280f17){return _0x10d397(_0x280f17);},'PShwD':function(_0x1ab6fa,_0x3a6974){return _0x1ab6fa(_0x3a6974);},'dDxKZ':function(_0x21cdd2,_0x285613){return _0x21cdd2(_0x285613);},'ujqly':function(_0x309fdf,_0x36939a){return _0x309fdf(_0x36939a);}},{checklistItem:_0xfd431a,itemFeedback:_0x271a81,taskDescription:_0x82769e,novaCommandPrefix:_0x45ea36,novaSharedOptionsSuffix:_0x417f36,cliArtifactDir:_0x44438b,url:_0x545f19,loginInstructions:_0x259da9}=_0xafb82c,_0x166c6f=_0xfd431a[_0x958dd2(0x267)]?'\x0a\x0a##\x20Additional\x20Notes\x0a'+_0xfd431a['notes']:'',_0x4d149f=buildFeedbackSection(_0x271a81),_0x5a5ba8=_0x271a81?.['canonicalFlow']?'\x0a\x0a##\x20Expected\x20Flow\x20(from\x20previous\x20verification)\x0a'+_0x271a81[_0x958dd2(0x24e)]:'',_0x1ee42e=_0x259da9?_0x958dd2(0x29f)+_0x259da9+_0x958dd2(0x224):'',_0x499860=buildCliArtifactPath(_0x44438b,_0x4aa19c[_0x958dd2(0x28b)]),_0x3c031d=buildCliArtifactPath(_0x44438b,_0x4aa19c['YzaMK']),_0x1440f3=buildCliArtifactPath(_0x44438b,_0x958dd2(0x26d));return _0x958dd2(0x1f4)+_0xfd431a['description']+_0x166c6f+_0x4d149f+_0x5a5ba8+_0x958dd2(0x22b)+_0x82769e+'\x0a\x0a##\x20App\x20Context\x0aYour\x20base\x20URL\x20is:\x20'+_0x545f19+_0x958dd2(0x209)+_0x1ee42e+'\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`'+_0x45ea36+_0x958dd2(0x287)+quoteShellArg(_0x545f19)+'\x20'+_0x417f36+'`.\x0a4.\x20Save\x20every\x20snapshot\x20and\x20screenshot\x20under\x20`'+_0x44438b+'`\x20using\x20absolute\x20paths\x20only.\x0a5.\x20Take\x20an\x20initial\x20snapshot:\x20`'+_0x45ea36+'\x20snapshot\x20--output\x20'+_0x4aa19c['esmGy'](quoteShellArg,_0x499860)+'\x20'+_0x417f36+_0x958dd2(0x220)+_0x45ea36+'\x20screenshot\x20--output\x20'+quoteShellArg(_0x3c031d)+'\x20'+_0x417f36+_0x958dd2(0x27b)+_0x1440f3+'`.\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`'+_0x45ea36+_0x958dd2(0x1f2)+(_0x417f36['trim']()?'`'+_0x417f36+'`':'`<none;\x20the\x20command\x20prefix\x20injects\x20shared\x20options>`')+'\x0a\x0a'+_0x4aa19c[_0x958dd2(0x235)](buildNovaSharedOptionsInstruction,_0x417f36)+_0x958dd2(0x246)+_0x45ea36+_0x958dd2(0x28c)+_0x417f36+_0x958dd2(0x22e)+_0x45ea36+_0x958dd2(0x24f)+_0x417f36+'`\x0a-\x20`'+_0x45ea36+'\x20snapshot\x20--output\x20'+_0x4aa19c['dDxKZ'](quoteShellArg,_0x499860)+'\x20'+_0x417f36+_0x958dd2(0x22e)+_0x45ea36+_0x958dd2(0x270)+_0x4aa19c[_0x958dd2(0x1d9)](quoteShellArg,_0x1440f3)+'\x20'+_0x417f36+'`\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(_0x3c70fc){const _0x3e9182=_0x24f625,_0xf52fb7={'zSPfi':function(_0x1d6115,_0x3cf36f){return _0x1d6115===_0x3cf36f;}},_0x3bb12e=[..._0x3c70fc[_0x3e9182(0x20b)]()][_0x3e9182(0x24a)]();let _0x1cf700=0x0;for(const _0x1ff55d of _0x3c70fc['values']()){_0x1cf700+=_0x1ff55d;}return{'cliCommandCount':_0x1cf700,'cliCommandsSeen':_0x3bb12e,'noCliCommandsCalled':_0xf52fb7['zSPfi'](_0x1cf700,0x0)};}export function createVerifyFeatureNovaCliHooks(_0x49356e,_0x34d749){const _0x4c3b4e=_0x24f625,_0x4985df={'zSBMb':_0x4c3b4e(0x1d5),'tpCLe':function(_0x4d7129,_0x2228cc){return _0x4d7129(_0x2228cc);},'YkVFj':function(_0xd35404,_0x11cb9e){return _0xd35404!==_0x11cb9e;},'gtNgb':_0x4c3b4e(0x26a),'wRzds':function(_0x1794d6,_0xf001e9){return _0x1794d6===_0xf001e9;},'vvRha':_0x4c3b4e(0x278),'wgGiy':_0x4c3b4e(0x1e2),'iNHUy':function(_0x55e1d4,_0x2de94d){return _0x55e1d4!==_0x2de94d;},'ZXSKq':'PostToolUseFailure','BUuwL':'nova_act_command_failure'},_0x4c70c3=new Map(),_0x2ffa10=async _0x22c58c=>{const _0x43b5aa=_0x4c3b4e;if(_0x22c58c['hook_event_name']!==_0x43b5aa(0x1ec))return{};const _0xa3ab74=_0x22c58c;if(_0xa3ab74['tool_name']!==_0x4985df['zSBMb'])return{};const _0x1390d9=_0xa3ab74[_0x43b5aa(0x286)],_0x2447e1=extractBashCommand(_0x1390d9);if(!_0x2447e1)return{};const _0x4df49d=_0x4985df[_0x43b5aa(0x252)](getNovaActCliCommandBlockReason,_0x2447e1);if(!_0x4df49d)return{};return{'decision':_0x43b5aa(0x23d),'reason':_0x4df49d};},_0x4e57f4=async _0x421867=>{const _0x4cb4ee=_0x4c3b4e;if(_0x4985df[_0x4cb4ee(0x241)](_0x421867[_0x4cb4ee(0x21a)],_0x4cb4ee(0x1e1)))return{};const _0x463bb6=_0x421867;if(_0x463bb6[_0x4cb4ee(0x22a)]!==_0x4cb4ee(0x1d5))return{};const _0x298d6d=_0x463bb6[_0x4cb4ee(0x286)],_0x59b3c3=extractBashCommand(_0x298d6d);if(!_0x59b3c3)return{};const _0x45972d=parseNovaActCliCommand(_0x59b3c3);if(!_0x45972d)return{};_0x4c70c3[_0x4cb4ee(0x29a)](_0x45972d,(_0x4c70c3[_0x4cb4ee(0x1e6)](_0x45972d)||0x0)+0x1),_0x49356e['trackPhaseStart']('nova_act_command',{'subcommand':_0x45972d}),_0x49356e['trackPhaseEnd'](_0x4985df['gtNgb'],{'subcommand':_0x45972d,'commandPreview':previewNovaActCliCommand(_0x59b3c3)}),console[_0x4cb4ee(0x1d7)]('[nova-act-cli]\x20'+formatNovaActCliLog(_0x59b3c3,_0x45972d));if(_0x4985df['wRzds'](_0x45972d,_0x4cb4ee(0x262))&&_0x34d749)try{await _0x34d749['start']();}catch(_0xc96080){await _0x49356e['trackPhaseError'](_0x4985df[_0x4cb4ee(0x222)],_0xc96080,{'transport':_0x4985df['wgGiy']});}return{};},_0x4bd2f1=async _0x47c9a0=>{const _0xb71967=_0x4c3b4e;if(_0x4985df[_0xb71967(0x29d)](_0x47c9a0[_0xb71967(0x21a)],_0x4985df[_0xb71967(0x1e3)]))return{};const _0x344430=_0x47c9a0;if(_0x4985df[_0xb71967(0x241)](_0x344430[_0xb71967(0x22a)],_0x4985df['zSBMb']))return{};return await _0x49356e[_0xb71967(0x1fa)](_0x4985df['BUuwL'],_0x344430[_0xb71967(0x265)],{'transport':_0xb71967(0x1e2),'toolName':_0xb71967(0x1d5)}),{};};return{'preToolUseHook':_0x2ffa10,'postToolUseHook':_0x4e57f4,'postToolUseFailureHook':_0x4bd2f1,'commandCounts':_0x4c70c3};}async function runNovaLifecycleCommand(_0x1d229f){const _0x1afb1b=_0x24f625,_0x4e1b7a={'vkpiO':function(_0x58fbbe,_0x2fb90f){return _0x58fbbe??_0x2fb90f;},'YwTdM':function(_0x571054,_0x46929b){return _0x571054(_0x46929b);},'WQlfF':function(_0x2890fa,_0x2d6a8f){return _0x2890fa(_0x2d6a8f);}},{novaOptions:_0x237e0e,commandArgs:_0x2a303a,telemetry:_0x32e740,phase:_0x5cb79e,metadata:_0x12389b,timeoutMs:_0x3f97f9}=_0x1d229f;_0x32e740[_0x1afb1b(0x27c)](_0x5cb79e,_0x12389b);try{const _0xe2b0eb=await runNovaActCliCommand({..._0x237e0e,'commandArgs':_0x2a303a,'cwd':process[_0x1afb1b(0x219)](),'env':process['env'],'timeoutMs':_0x4e1b7a['vkpiO'](_0x3f97f9,NOVA_ACT_CLI_COMMAND_TIMEOUT_MS)});_0x32e740[_0x1afb1b(0x244)](_0x5cb79e,{..._0x12389b,'subcommand':_0xe2b0eb[_0x1afb1b(0x27f)][_0x1afb1b(0x289)],'commandPreview':_0x4e1b7a['YwTdM'](previewNovaActCliCommand,_0xe2b0eb[_0x1afb1b(0x27f)]['shellCommand']),'stdoutPreview':_0x4e1b7a[_0x1afb1b(0x1dc)](previewNovaActCliCommand,_0xe2b0eb[_0x1afb1b(0x1d0)]),'stderrPreview':previewNovaActCliCommand(_0xe2b0eb[_0x1afb1b(0x1f9)]),'logDir':_0x4e1b7a['WQlfF'](extractNovaActLogDir,_0xe2b0eb['stdout'])});}catch(_0x1a77e6){await _0x32e740['trackPhaseError'](_0x5cb79e,_0x1a77e6,_0x12389b);throw _0x1a77e6;}}export async function finalizeVerifyFeatureNovaCliSession(_0x41484d){const _0x19675f=_0x24f625,_0x155788={'QNxrd':'screenshot','dRZKT':_0x19675f(0x276),'BDZqH':_0x19675f(0x27d),'BkWFy':'final-state.yaml','OubKb':'nova_act_session_export','dnpbU':_0x19675f(0x22c),'ViQpq':_0x19675f(0x1ff),'zcaYk':'session','UlrPU':'--output-dir','yzdmj':function(_0xe26169,_0x5057c0){return _0xe26169===_0x5057c0;}},{telemetry:_0x12c9fd,novaOptions:_0x2e280c,cliArtifactDir:_0x320eb9,transportMetadata:_0x360ca1,artifactRecorder:_0x2edacd}=_0x41484d,_0x14f3a1=[{'phase':'nova_act_final_screenshot','commandArgs':[_0x155788[_0x19675f(0x28f)],'--output',buildCliArtifactPath(_0x320eb9,_0x155788['dRZKT'])]},{'phase':_0x155788[_0x19675f(0x1de)],'commandArgs':['snapshot',_0x19675f(0x1ff),buildCliArtifactPath(_0x320eb9,_0x155788['BkWFy'])]},{'phase':_0x155788['OubKb'],'commandArgs':['session',_0x155788['dnpbU'],_0x19675f(0x242),'json',_0x155788['ViQpq'],buildCliArtifactPath(_0x320eb9,_0x19675f(0x298))]},{'phase':'nova_act_session_report','commandArgs':[_0x155788['zcaYk'],'export','--report',_0x155788['UlrPU'],buildCliArtifactPath(_0x320eb9,'nova-report')]},{'phase':_0x19675f(0x251),'commandArgs':[_0x19675f(0x1f5),_0x19675f(0x1df)]}];for(const _0x53bf47 of _0x14f3a1){_0x155788['yzdmj'](_0x53bf47[_0x19675f(0x1d6)],_0x19675f(0x251))&&await _0x2edacd?.[_0x19675f(0x21b)]();try{await runNovaLifecycleCommand({'novaOptions':_0x2e280c,'commandArgs':[..._0x53bf47[_0x19675f(0x1d1)]],'telemetry':_0x12c9fd,'phase':_0x53bf47[_0x19675f(0x1d6)],'metadata':_0x360ca1});}catch{}}}export async function harvestVerifyFeatureNovaCliArtifacts(_0x3d51c9){const _0x3281db=_0x24f625,_0x115ef2={'fdpqY':function(_0x4176aa,_0x578dfb,_0x129f0b){return _0x4176aa(_0x578dfb,_0x129f0b);},'VOqHR':function(_0x355ae2,_0x3c7d01){return _0x355ae2<_0x3c7d01;}},{cwd:_0x490e9d,cliArtifactDir:_0x4ddd5c,startTime:_0x17541e}=_0x3d51c9,_0xaa592=[];await mkdir(_0x4ddd5c,{'recursive':!![]});const _0x490f8d=await _0x115ef2['fdpqY'](readdir,_0x490e9d,{'withFileTypes':!![]});for(const _0x4d891c of _0x490f8d){if(!_0x4d891c[_0x3281db(0x26f)]()||!VERIFY_FEATURE_NOVA_ARTIFACT_FILE_PATTERN['test'](_0x4d891c['name']))continue;const _0x2ecad9=join(_0x490e9d,_0x4d891c['name']),_0x458189=await stat(_0x2ecad9);if(_0x115ef2[_0x3281db(0x232)](_0x458189['mtimeMs']+0x7d0,_0x17541e))continue;const _0x3c23b=_0x115ef2['fdpqY'](buildCliArtifactPath,_0x4ddd5c,_0x4d891c['name']);if(_0x2ecad9===_0x3c23b)continue;await _0x115ef2[_0x3281db(0x23a)](rename,_0x2ecad9,_0x3c23b),_0xaa592['push'](_0x4d891c[_0x3281db(0x259)]);}return _0xaa592[_0x3281db(0x24a)]();}export async function loadVerifyFeatureNovaTraceUploadArtifact(_0xa1679b){const _0x417304=join(_0xa1679b,'trace.zip');try{return{'buffer':await readFile(_0x417304),'source':_0x417304};}catch{return{'buffer':await zipVerifyFeatureNovaArtifacts(_0xa1679b),'source':_0xa1679b};}}async function zipVerifyFeatureNovaArtifacts(_0x24747f){const _0x3c6aaf=_0x24f625,_0x23b6e3={'mGrMz':function(_0x202dd3,_0x1a9391,_0x3c8b8e,_0x143ec0){return _0x202dd3(_0x1a9391,_0x3c8b8e,_0x143ec0);},'qUPCf':function(_0x176627,_0x1c116e,_0xb2b0f1,_0x1db392){return _0x176627(_0x1c116e,_0xb2b0f1,_0x1db392);},'Kmezr':_0x3c6aaf(0x20a),'iajWf':function(_0x1ca85f,_0x7ad715,_0x4f71b8){return _0x1ca85f(_0x7ad715,_0x4f71b8);}},_0xf8b1b6=_0x23b6e3['mGrMz'](join,_0x24747f,'..','nova-artifacts.zip');try{return await _0x23b6e3[_0x3c6aaf(0x21f)](execFileAsync,'zip',[_0x23b6e3['Kmezr'],_0xf8b1b6,'.','-x','nova-user-data/*'],{'cwd':_0x24747f}),await readFile(_0xf8b1b6);}finally{await _0x23b6e3['iajWf'](rm,_0xf8b1b6,{'force':!![]});}}export function buildNovaActCliDiagnostics(_0xace479){const _0x2745b4=_0x24f625,_0x2746d0={'eVuPu':function(_0x4ffe72,_0x55b9b5){return _0x4ffe72(_0x55b9b5);}},_0x5f33e1=buildNovaActCliInvocation(_0xace479['novaOptions'],_0xace479[_0x2745b4(0x1d1)]);return{'command':_0x5f33e1[_0x2745b4(0x217)],'args':_0x5f33e1[_0x2745b4(0x284)],'commandPreview':_0x2746d0['eVuPu'](previewNovaActCliCommand,_0x5f33e1['shellCommand']),'subcommand':_0x5f33e1[_0x2745b4(0x289)],'sharedOptionsSuffix':buildNovaActCliSharedOptionsSuffix(_0xace479[_0x2745b4(0x1e8)],_0xace479[_0x2745b4(0x1d1)])};}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(_0x31f74a,_0x12a154){const _0x1e7e7d=_0x3eb8,_0x5d4c17=_0x31f74a();while(!![]){try{const _0x50baf3=-parseInt(_0x1e7e7d(0x12d))/0x1*(parseInt(_0x1e7e7d(0x130))/0x2)+-parseInt(_0x1e7e7d(0x14d))/0x3*(parseInt(_0x1e7e7d(0x161))/0x4)+-parseInt(_0x1e7e7d(0x175))/0x5*(-parseInt(_0x1e7e7d(0x169))/0x6)+parseInt(_0x1e7e7d(0x133))/0x7*(parseInt(_0x1e7e7d(0x15a))/0x8)+-parseInt(_0x1e7e7d(0x125))/0x9*(parseInt(_0x1e7e7d(0x141))/0xa)+parseInt(_0x1e7e7d(0x145))/0xb+parseInt(_0x1e7e7d(0x12b))/0xc;if(_0x50baf3===_0x12a154)break;else _0x5d4c17['push'](_0x5d4c17['shift']());}catch(_0x5a0fdf){_0x5d4c17['push'](_0x5d4c17['shift']());}}}(_0x5a15,0xcb1e2));import{extractBashCommand,quoteShellArg}from'./utils/playwrightCli.js';import{parseRangerwrightCliCommand,runRangerwrightCliCommand}from'./utils/rangerwrightCli.js';const RANGERWRIGHT_CLI_COMMAND_TIMEOUT_MS=0xea60,RANGERWRIGHT_CLI_PREVIEW_LIMIT=0xf0;function truncatePreview(_0x45823a,_0x5ea99d=RANGERWRIGHT_CLI_PREVIEW_LIMIT){const _0x505800=_0x3eb8,_0x128401={'QlBCy':function(_0x5c3acd,_0x21d932){return _0x5c3acd+_0x21d932;}};return _0x45823a[_0x505800(0x124)]>_0x5ea99d?_0x128401[_0x505800(0x118)](_0x45823a[_0x505800(0x177)](0x0,_0x5ea99d),_0x505800(0x13d)):_0x45823a;}function extractShellValue(_0x51efe0){if(!_0x51efe0)return null;return _0x51efe0[0x1]??_0x51efe0[0x2]??_0x51efe0[0x3]??null;}function _0x3eb8(_0x27e28b,_0x89386b){_0x27e28b=_0x27e28b-0x116;const _0x5a15dd=_0x5a15();let _0x3eb8fa=_0x5a15dd[_0x27e28b];return _0x3eb8fa;}function extractFirstCommandArgument(_0x45bec6,_0x4425f2){const _0xd0edd5=_0x3eb8,_0x26f7bc={'QMhDA':_0xd0edd5(0x148)},_0x376178=_0x4425f2[_0xd0edd5(0x11e)](/[.*+?^${}()|[\]\\]/g,_0x26f7bc[_0xd0edd5(0x120)]);return extractShellValue(_0x45bec6['match'](new RegExp('(?:^|\x5cs)'+_0x376178+_0xd0edd5(0x143))));}function formatCommandTarget(_0x5a538d){const _0x18d841=_0x3eb8,_0x3c7b6b={'przZA':_0x18d841(0x162),'vMDCX':function(_0x39fd53,_0x14eff6,_0xe3db49){return _0x39fd53(_0x14eff6,_0xe3db49);}};if(!_0x5a538d)return _0x3c7b6b['przZA'];if(/^e\d+$/i[_0x18d841(0x15c)](_0x5a538d))return _0x18d841(0x142)+_0x5a538d;return JSON['stringify'](_0x3c7b6b[_0x18d841(0x157)](truncatePreview,_0x5a538d,0x78));}function formatRangerwrightCliLog(_0x480479,_0x10f3b9){const _0x2d2bda=_0x3eb8,_0xed88c1={'jHkLJ':_0x2d2bda(0x119),'waLGS':function(_0x41cf48,_0x12602f,_0x3706b8){return _0x41cf48(_0x12602f,_0x3706b8);},'EgXGm':function(_0x508fcf,_0x2eda22){return _0x508fcf(_0x2eda22);},'RBdrI':function(_0x108361,_0x264737,_0x27d99b){return _0x108361(_0x264737,_0x27d99b);},'GaCvL':_0x2d2bda(0x12e),'DGjfK':'go\x20back\x20and\x20inspect','nNNfY':'inspect','NkInY':_0x2d2bda(0x160),'KEhOg':'tracing-stop','Bggvi':_0x2d2bda(0x129)};switch(_0x10f3b9){case _0xed88c1[_0x2d2bda(0x11b)]:{const _0x4c8376=_0xed88c1[_0x2d2bda(0x13e)](extractFirstCommandArgument,_0x480479,_0x10f3b9);return _0x4c8376?'open\x20and\x20inspect\x20'+_0x4c8376:_0x2d2bda(0x12c);}case'click-and-inspect':return _0x2d2bda(0x14e)+formatCommandTarget(_0xed88c1['waLGS'](extractFirstCommandArgument,_0x480479,_0x10f3b9));case _0x2d2bda(0x176):case _0x2d2bda(0x12f):return'fill\x20'+_0xed88c1['EgXGm'](formatCommandTarget,_0xed88c1['RBdrI'](extractFirstCommandArgument,_0x480479,_0x10f3b9));case _0xed88c1[_0x2d2bda(0x149)]:return _0xed88c1[_0x2d2bda(0x15d)];case _0xed88c1['nNNfY']:return _0xed88c1[_0x2d2bda(0x165)];case _0xed88c1['KEhOg']:return'stop\x20tracing';case'video-stop':return _0x2d2bda(0x16a);case _0xed88c1[_0x2d2bda(0x164)]:return'close\x20browser\x20session';default:return _0x10f3b9;}}function renderScenarioSections(_0x2afb6f){const _0x37e78e=_0x3eb8,_0x9bff41={'sCjkc':'en-US','KaeNy':_0x37e78e(0x151),'dMRmh':'numeric','juhRz':_0x37e78e(0x153),'vstDk':'element','XycsQ':function(_0x24feb8,_0x13c295){return _0x24feb8>_0x13c295;}},{checklistItem:_0x444ec3,itemFeedback:_0x428f04}=_0x2afb6f,_0x11034a=_0x444ec3['notes']?_0x37e78e(0x122)+_0x444ec3[_0x37e78e(0x14f)]:'';let _0x17773a='';if(_0x428f04&&_0x9bff41['XycsQ'](_0x428f04[_0x37e78e(0x134)][_0x37e78e(0x124)],0x0)){const _0x4be723=_0x428f04['unaddressedComments']['map'](_0x2ada7c=>{const _0x38c7e9=_0x37e78e,_0x681a06=new Date(_0x2ada7c['createdAt'])['toLocaleDateString'](_0x9bff41['sCjkc'],{'month':_0x9bff41['KaeNy'],'day':_0x9bff41['dMRmh']}),_0x586f1c=_0x2ada7c[_0x38c7e9(0x126)]||_0x2ada7c['authorEmail']||_0x38c7e9(0x13b),_0x27a979=_0x2ada7c[_0x38c7e9(0x13a)]?'\x20(on\x20element:\x20<'+(_0x2ada7c['domRef'][_0x38c7e9(0x173)]['split'](_0x9bff41[_0x38c7e9(0x128)])['pop']()?.['split'](':')[0x0]||_0x9bff41['vstDk'])+_0x38c7e9(0x11f)+(_0x2ada7c[_0x38c7e9(0x13a)][_0x38c7e9(0x116)]||'')['slice'](0x0,0x32)+'\x22)':'';return'-\x20['+_0x2ada7c['id']+']\x20'+_0x586f1c+'\x20('+_0x681a06+'):\x20\x22'+_0x2ada7c['content']+'\x22'+_0x27a979;})['join']('\x0a');_0x17773a='\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'+_0x4be723;}const _0x4be95b=_0x428f04?.['canonicalFlow']?'\x0a\x0a##\x20Expected\x20Flow\x20(from\x20previous\x20verification)\x0a'+_0x428f04[_0x37e78e(0x16c)]:'';return''+_0x444ec3[_0x37e78e(0x127)]+_0x11034a+_0x17773a+_0x4be95b;}function _0x5a15(){const _0x39f922=['\x20--screenshot-path\x20','KHCIC','domRef','Reviewer','[rangerwright-cli]\x20','...','waLGS','\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.','01_mozilla-homepage.png','2280neInFW','ref\x20','(?:\x5cs+(?:\x22([^\x22]+)\x22|\x27([^\x27]+)\x27|(\x5cS+)))','cQOFa','131956HCkheU','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','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','\x5c$&','GaCvL','##\x20App\x20Context\x0aYou\x20are\x20connected\x20to\x20a\x20desktop\x20application\x20via\x20CDP\x20at\x20','PostToolUse','Qsjae','3tAChTe','click\x20and\x20inspect\x20','notes','key_99_final-state.png','short','hook_event_name','\x20>\x20','trackPhaseError','`\x0a2.\x20Use\x20the\x20returned\x20JSON\x20to\x20find\x20the\x20\x22Learn\x20More\x22\x20link\x20ref.\x0a3.\x20Run\x20`','rangerwright_cli_command','vMDCX','log','VkaJJ','56mvQUDd','tool_name','test','DGjfK','01_initial-state.png','trackPhaseEnd','inspect\x20page','648628slXGai','target','subcommand','Bggvi','NkInY','ydHZH','PostToolUseFailure','MTgOF','1586172shlkSu','stop\x20video\x20recording','CRITICAL\x20URL\x20REQUIREMENT:\x0aYour\x20base\x20URL\x20is:\x20','canonicalFlow','stderr','BHgVv','EfZgc','cLNCp','\x20open-and-inspect\x20','cwd','selector','commandPrefix','30pEoxzL','fill','slice','UwAfP','textContent','tracing-stop','QlBCy','open-and-inspect','VPEZp','jHkLJ','trackPhaseStart','\x0a\x0a##\x20Rangerwright\x20Instructions\x0aUse\x20Bash\x20and\x20Rangerwright\x20only.\x0a\x0aEvery\x20browser\x20command\x20must\x20start\x20with\x20this\x20exact\x20literal\x20command\x20prefix:\x0a\x0a','replace','>\x20\x22','QMhDA','stdout','\x0a\x0a##\x20Additional\x20Notes\x0a','YIHGM','length','50157gwVygM','authorName','description','juhRz','close','rangerwright-cli','2232732NGwtXi','open\x20and\x20inspect','26SdINsN','back-and-inspect','fill-and-inspect','82886vYzdJw','rangerwright_cli_close','values','1558060gGagEg','unaddressedComments','invocation','\x0a\x0a##\x20Authentication\x0aBEFORE\x20starting\x20the\x20verification\x20task,\x20authenticate\x20using\x20these\x20steps:\x0a','sTRks'];_0x5a15=function(){return _0x39f922;};return _0x5a15();}export function buildVerifyFeatureRangerwrightCliPrompt(_0x4145ab){const _0x1507b8=_0x3eb8,_0x39dab9={'gNnGe':_0x1507b8(0x15e),'MTgOF':function(_0x3b9cfc,_0x3911ce){return _0x3b9cfc(_0x3911ce);},'ydHZH':function(_0x427bcf,_0x1f3e8e){return _0x427bcf??_0x1f3e8e;},'sTRks':function(_0x18dcc4,_0xae482a){return _0x18dcc4(_0xae482a);}},{checklistItem:_0x155893,itemFeedback:_0x80c48,taskDescription:_0x17b648,commandPrefix:_0x414bd2,isCdpMode:_0x1a4860,url:_0x37e610,cdpEndpoint:_0x2dbe5f,loginInstructions:_0x4b9c83}=_0x4145ab,_0xf8b6db=_0x39dab9['gNnGe'],_0x129a61=_0x1507b8(0x150),_0x137988=_0x1a4860?_0x414bd2+'\x20inspect\x20--screenshot-path\x20'+_0x39dab9[_0x1507b8(0x168)](quoteShellArg,_0xf8b6db):_0x414bd2+_0x1507b8(0x171)+quoteShellArg(_0x39dab9[_0x1507b8(0x166)](_0x37e610,'about:blank'))+'\x20--screenshot-path\x20'+_0x39dab9[_0x1507b8(0x137)](quoteShellArg,_0xf8b6db),_0x5dad37=_0x1a4860?_0x1507b8(0x14a)+_0x2dbe5f+'.\x0aThe\x20app\x20is\x20already\x20running\x20and\x20connected.\x20Start\x20with\x20inspect\x20instead\x20of\x20opening\x20a\x20URL.':_0x1507b8(0x16b)+_0x37e610+_0x1507b8(0x13f),_0x4059a6=_0x4b9c83?_0x1507b8(0x136)+_0x4b9c83+'\x0a\x0aAfter\x20completing\x20authentication,\x20proceed\x20with\x20the\x20verification\x20task\x20below.\x0aIf\x20authentication\x20fails,\x20return\x20evaluation\x20\x22blocked\x22\x20and\x20describe\x20the\x20auth\x20failure.':'';return _0x1507b8(0x146)+_0x39dab9[_0x1507b8(0x137)](renderScenarioSections,{'checklistItem':_0x155893,'itemFeedback':_0x80c48})+'\x0a\x0a##\x20Task\x20to\x20Execute\x0a'+_0x17b648+'\x0a\x0a'+_0x5dad37+_0x4059a6+_0x1507b8(0x11d)+_0x414bd2+'\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'+_0x137988+'\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'+_0x414bd2+'\x20click-and-inspect\x20e37\x20--screenshot-path\x20'+quoteShellArg(_0x129a61)+'\x0a\x0aRefs\x20like\x20e37\x20are\x20only\x20valid\x20for\x20the\x20snapshot\x20that\x20produced\x20them.\x20Refresh\x20refs\x20after\x20navigation.\x0a\x0aUse\x20short\x20concrete\x20checkpoints\x20internally:\x20what\x20target\x20is\x20visible,\x20what\x20command\x20changes\x20state,\x20and\x20what\x20evidence\x20is\x20still\x20missing.\x20Issue\x20one\x20browser\x20command\x20at\x20a\x20time.\x20After\x20navigation,\x20validation,\x20or\x20a\x20changed\x20page,\x20inspect\x20before\x20deciding\x20the\x20next\x20action.\x0a\x0aBefore\x20reporting\x20success,\x20compare\x20each\x20required\x20CTA,\x20page\x20purpose,\x20and\x20topic\x20against\x20visible\x20page\x20evidence.\x20A\x20related\x20page\x20does\x20not\x20satisfy\x20a\x20different\x20required\x20topic\x20unless\x20the\x20page\x20text\x20directly\x20supports\x20that\x20topic\x20or\x20an\x20obvious\x20synonym.\x20If\x20required\x20evidence\x20is\x20missing,\x20mismatched,\x20or\x20only\x20inferred\x20from\x20adjacent\x20content,\x20report\x20that\x20plainly\x20and\x20do\x20not\x20mark\x20the\x20task\x20verified.\x0a\x0aFor\x20goals\x20with\x20more\x20than\x20one\x20required\x20condition,\x20use\x20an\x20internal\x20checklist\x20built\x20from\x20the\x20user\x27s\x20exact\x20requested\x20conditions.\x20Verify\x20each\x20checklist\x20item\x20against\x20visible\x20evidence\x20from\x20the\x20latest\x20browser\x20result.\x20If\x20any\x20item\x20lacks\x20direct\x20evidence,\x20report\x20the\x20task\x20as\x20not\x20verified\x20and\x20name\x20the\x20missing\x20item.\x0a\x0aOn\x20forms,\x20fill\x20only\x20visible\x20task-relevant\x20editable\x20fields\x20in\x20the\x20current\x20step\x20before\x20submitting\x20or\x20advancing.\x20Use\x20labels,\x20placeholders,\x20and\x20current\x20page\x20text\x20to\x20decide\x20which\x20fields\x20are\x20required.\x20Do\x20not\x20fill\x20fields\x20that\x20are\x20not\x20visible\x20in\x20the\x20latest\x20snapshot.\x0a\x0aUse\x20one\x20fill\x20command\x20per\x20field.\x20Do\x20not\x20combine\x20multiple\x20fields\x20into\x20one\x20fill\x20command\x20with\x20semicolons.\x0a\x0aIf\x20an\x20inspect-action\x20click\x20returns\x20the\x20same\x20page\x20or\x20shows\x20validation,\x20inspect\x20the\x20current\x20page\x20and\x20fill\x20blank\x20required\x20fields\x20before\x20retrying.\x20Do\x20not\x20repeat\x20the\x20same\x20blocked\x20click\x20unchanged.\x0a\x0aIf\x20a\x20click-and-inspect\x20result\x20keeps\x20the\x20same\x20URL\x20and\x20does\x20not\x20show\x20the\x20intended\x20target,\x20treat\x20it\x20as\x20a\x20no-op.\x20Refresh\x20refs\x20and\x20choose\x20a\x20different\x20visible\x20link,\x20or\x20use\x20back-and-inspect\x20if\x20you\x20need\x20the\x20prior\x20page.\x0a\x0aA\x20page\x20with\x20visible\x20required\x20fields\x20and\x20a\x20next,\x20submit,\x20continue,\x20or\x20confirm\x20control\x20is\x20still\x20actionable.\x20Fill\x20the\x20required\x20fields\x20with\x20values\x20from\x20the\x20task\x20before\x20reporting\x20incomplete\x20or\x20blocked.\x0a\x0a##\x20Critical:\x20Early\x20Error\x20Detection\x0aAfter\x20the\x20first\x20inspect\x20result,\x20check\x20for\x20blocking\x20errors:\x0a-\x20HTTP\x20404,\x20500,\x20400,\x20\x22Not\x20Found\x22,\x20\x22Server\x20Error\x22,\x20or\x20\x22Bad\x20Request\x22\x0a-\x20Framework\x20error\x20pages\x0a-\x20Blank\x20pages\x20with\x20no\x20content\x0a-\x20App\x20crash\x20or\x20error\x20dialogs\x0a\x0aIf\x20any\x20blocking\x20error\x20is\x20visible,\x20return\x20evaluation\x20\x22blocked\x22\x20immediately\x20with\x20a\x20specific\x20reason.\x0a\x0a##\x20Evaluation\x20Criteria\x0a-\x20VERIFIED:\x20The\x20task\x20completed\x20successfully\x20and\x20the\x20scenario\x20requirements\x20are\x20fully\x20met\x0a-\x20PARTIAL:\x20The\x20task\x20partially\x20completed\x20but\x20some\x20aspects\x20are\x20not\x20verified\x0a-\x20BLOCKED:\x20A\x20blocking\x20issue\x20prevents\x20completion\x0a-\x20FAILED:\x20The\x20task\x20could\x20not\x20be\x20completed\x20due\x20to\x20errors\x0a\x0aReturn\x20your\x20findings\x20in\x20the\x20structured\x20output\x20format\x20with\x20your\x20evaluation.';}export function buildVerifyFeatureRangerwrightCliDebugPrompt(_0x200e68){const _0x1529a5=_0x3eb8,_0x50356f={'YCvMA':'key_02_learn-more.png'},_0x79c389=_0x1529a5(0x140),_0x20651a=_0x50356f['YCvMA'];return _0x1529a5(0x147)+_0x200e68[_0x1529a5(0x174)]+'\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`'+_0x200e68[_0x1529a5(0x174)]+_0x1529a5(0x171)+quoteShellArg(_0x200e68['url'])+_0x1529a5(0x138)+quoteShellArg(_0x79c389)+_0x1529a5(0x155)+_0x200e68['commandPrefix']+'\x20click-and-inspect\x20<ref>\x20--screenshot-path\x20'+quoteShellArg(_0x20651a)+'`\x0a4.\x20Return\x20immediately\x20with\x20the\x20structured\x20output.\x0a\x0aReturn\x20your\x20findings\x20in\x20the\x20structured\x20output\x20format.';}export function summarizeVerifyFeatureRangerwrightCliCommandAvailability(_0x21cfd6){const _0x56b994=_0x3eb8,_0x1ebe74={'bvZGm':function(_0x5df34b,_0x3e65f6){return _0x5df34b===_0x3e65f6;}},_0x4d6901=[..._0x21cfd6['keys']()]['sort']();let _0x4c794f=0x0;for(const _0x12ae44 of _0x21cfd6[_0x56b994(0x132)]()){_0x4c794f+=_0x12ae44;}return{'cliCommandCount':_0x4c794f,'cliCommandsSeen':_0x4d6901,'noCliCommandsCalled':_0x1ebe74['bvZGm'](_0x4c794f,0x0)};}export function createVerifyFeatureRangerwrightCliHooks(_0x468cda){const _0x513da3=_0x3eb8,_0x2a9ea7={'KHCIC':function(_0x46a48e,_0x7149b1){return _0x46a48e(_0x7149b1);},'BHgVv':function(_0x241589,_0xe995a4){return _0x241589+_0xe995a4;},'VkaJJ':_0x513da3(0x156),'cQOFa':function(_0x5a5281,_0x4641e0){return _0x5a5281(_0x4641e0);},'cLNCp':function(_0x41a98f,_0x80f0d1){return _0x41a98f!==_0x80f0d1;},'Qsjae':'Bash','EfZgc':'rangerwright_cli_command_failure','VhtDy':_0x513da3(0x12a)},_0x2dbace=new Map(),_0x538aa9=async _0x461c18=>{const _0x4b1156=_0x513da3;if(_0x461c18[_0x4b1156(0x152)]!==_0x4b1156(0x14b))return{};const _0x349288=_0x461c18;if(_0x349288[_0x4b1156(0x15b)]!=='Bash')return{};const _0x39b8b1=_0x349288['tool_input'],_0x145caa=_0x2a9ea7[_0x4b1156(0x139)](extractBashCommand,_0x39b8b1);if(!_0x145caa)return{};const _0xb943a=parseRangerwrightCliCommand(_0x145caa);if(!_0xb943a)return{};return _0x2dbace['set'](_0xb943a,_0x2a9ea7[_0x4b1156(0x16e)](_0x2dbace['get'](_0xb943a)||0x0,0x1)),_0x468cda['trackPhaseStart'](_0x2a9ea7['VkaJJ'],{'subcommand':_0xb943a}),_0x468cda[_0x4b1156(0x15f)](_0x2a9ea7[_0x4b1156(0x159)],{'subcommand':_0xb943a,'commandPreview':_0x2a9ea7[_0x4b1156(0x144)](truncatePreview,_0x145caa)}),console[_0x4b1156(0x158)](_0x4b1156(0x13c)+formatRangerwrightCliLog(_0x145caa,_0xb943a)),{};},_0x1c6f4b=async _0x5d40f8=>{const _0x333b7c=_0x513da3;if(_0x2a9ea7['cLNCp'](_0x5d40f8['hook_event_name'],_0x333b7c(0x167)))return{};const _0x755b57=_0x5d40f8;if(_0x2a9ea7[_0x333b7c(0x170)](_0x755b57[_0x333b7c(0x15b)],_0x2a9ea7[_0x333b7c(0x14c)]))return{};return await _0x468cda[_0x333b7c(0x154)](_0x2a9ea7[_0x333b7c(0x16f)],_0x755b57['error'],{'transport':_0x2a9ea7['VhtDy'],'toolName':_0x2a9ea7[_0x333b7c(0x14c)]}),{};};return{'postToolUseHook':_0x538aa9,'postToolUseFailureHook':_0x1c6f4b,'commandCounts':_0x2dbace};}async function runRangerwrightLifecycleCommand(_0x1c39bd){const _0x2c9994=_0x3eb8,_0x5c134f={'kpWyF':function(_0x17d280,_0x3aff09){return _0x17d280(_0x3aff09);},'UwAfP':function(_0x574844,_0xd7d29f){return _0x574844??_0xd7d29f;}},{options:_0x4ac13e,commandArgs:_0x4952a4,env:_0x5e1bd0,telemetry:_0x89c176,phase:_0x3d6066,metadata:_0x52ec05,timeoutMs:_0x5aba45}=_0x1c39bd;_0x89c176[_0x2c9994(0x11c)](_0x3d6066,_0x52ec05);try{const _0x5b87cf=await _0x5c134f['kpWyF'](runRangerwrightCliCommand,{..._0x4ac13e,'commandArgs':_0x4952a4,'cwd':process[_0x2c9994(0x172)](),'env':_0x5e1bd0,'timeoutMs':_0x5c134f[_0x2c9994(0x178)](_0x5aba45,RANGERWRIGHT_CLI_COMMAND_TIMEOUT_MS)});_0x89c176['trackPhaseEnd'](_0x3d6066,{..._0x52ec05,'subcommand':_0x5b87cf[_0x2c9994(0x135)][_0x2c9994(0x163)],'stdoutPreview':truncatePreview(_0x5b87cf[_0x2c9994(0x121)],0x7d0),'stderrPreview':truncatePreview(_0x5b87cf[_0x2c9994(0x16d)],0x7d0)});}catch(_0x4fecf9){await _0x89c176['trackPhaseError'](_0x3d6066,_0x4fecf9,_0x52ec05);throw _0x4fecf9;}}export async function finalizeVerifyFeatureRangerwrightCliSession(_0x49291c){const _0x1f224a=_0x3eb8,_0x242d7c={'OXKyD':'rangerwright_cli_tracing_stop','WdiRc':'rangerwright_cli_video_stop','YIHGM':'video-stop','VPEZp':_0x1f224a(0x131),'HmEqm':_0x1f224a(0x129),'hFEPx':function(_0xdd628f,_0x1f9c95){return _0xdd628f(_0x1f9c95);}},{telemetry:_0x27cbb2,rangerwrightOptions:_0x38e25d,env:_0x2ffe0b,transportMetadata:_0x4934dd}=_0x49291c,_0x41e430=[{'phase':_0x242d7c['OXKyD'],'commandArgs':[_0x1f224a(0x117)]},{'phase':_0x242d7c['WdiRc'],'commandArgs':[_0x242d7c[_0x1f224a(0x123)]]},{'phase':_0x242d7c[_0x1f224a(0x11a)],'commandArgs':[_0x242d7c['HmEqm']]}];for(const _0x1cc4f5 of _0x41e430){try{await _0x242d7c['hFEPx'](runRangerwrightLifecycleCommand,{'options':_0x38e25d,'commandArgs':[..._0x1cc4f5['commandArgs']],'env':_0x2ffe0b,'telemetry':_0x27cbb2,'phase':_0x1cc4f5['phase'],'metadata':_0x4934dd});}catch{}}}
|
|
1
|
+
(function(_0x434fd7,_0xbf3ede){const _0x1c1e9f=_0x18b8,_0x15105b=_0x434fd7();while(!![]){try{const _0x58dd54=parseInt(_0x1c1e9f(0x157))/0x1+parseInt(_0x1c1e9f(0x130))/0x2+-parseInt(_0x1c1e9f(0x15d))/0x3+parseInt(_0x1c1e9f(0x15a))/0x4*(parseInt(_0x1c1e9f(0x169))/0x5)+parseInt(_0x1c1e9f(0x171))/0x6*(parseInt(_0x1c1e9f(0x139))/0x7)+-parseInt(_0x1c1e9f(0x136))/0x8*(-parseInt(_0x1c1e9f(0x16e))/0x9)+-parseInt(_0x1c1e9f(0x129))/0xa*(parseInt(_0x1c1e9f(0x161))/0xb);if(_0x58dd54===_0xbf3ede)break;else _0x15105b['push'](_0x15105b['shift']());}catch(_0xdec6f4){_0x15105b['push'](_0x15105b['shift']());}}}(_0x572d,0xebbe6));import{extractBashCommand,quoteShellArg}from'./utils/playwrightCli.js';import{parseRangerwrightCliCommand,runRangerwrightCliCommand}from'./utils/rangerwrightCli.js';function _0x572d(){const _0x30c0c8=['xvXFZ','790KdKpON','\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`','`\x0a2.\x20Use\x20the\x20returned\x20JSON\x20to\x20find\x20the\x20\x22Learn\x20More\x22\x20link\x20ref.\x0a3.\x20Run\x20`','WVWam','inspect','10550835hjSeco','short','ROUKg','2952774rzqhrB','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','join','log','...','inspect\x20page','\x0a\x0a##\x20Rangerwright\x20Instructions\x0aUse\x20Bash\x20and\x20Rangerwright\x20only.\x0a\x0aEvery\x20browser\x20command\x20must\x20start\x20with\x20this\x20exact\x20literal\x20command\x20prefix:\x0a\x0a','RmHrB','\x0a\x0a##\x20Authentication\x0aBEFORE\x20starting\x20the\x20verification\x20task,\x20authenticate\x20using\x20these\x20steps:\x0a','commandArgs','PostToolUse','pop','target','cwd','gljLi','LTOns','wRYWY','\x0a\x0aAfter\x20completing\x20authentication,\x20proceed\x20with\x20the\x20verification\x20task\x20below.\x0aIf\x20authentication\x20fails,\x20return\x20evaluation\x20\x22blocked\x22\x20and\x20describe\x20the\x20auth\x20failure.','length','Bash','stdout','trackPhaseStart','Reviewer','subcommand','PostToolUseFailure','set','590SgLYIO','selector','close','numeric','olDux','rangerwright_cli_command','itBlb','2809988tLLWER','trackPhaseError','open\x20and\x20inspect','\x20--screenshot-path\x20','en-US','map','8YoBtWX','`\x0a4.\x20Return\x20immediately\x20with\x20the\x20structured\x20output.\x0a\x0aReturn\x20your\x20findings\x20in\x20the\x20structured\x20output\x20format.','\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.','7xFSLSt','open\x20and\x20inspect\x20','zoipc','##\x20App\x20Context\x0aYou\x20are\x20connected\x20to\x20a\x20desktop\x20application\x20via\x20CDP\x20at\x20','OcuQi','domRef','\x5c$&','hook_event_name','commandPrefix','trackPhaseEnd','createdAt','tool_input','YvXpY','\x20click-and-inspect\x20<ref>\x20--screenshot-path\x20','rWQnA','keys','\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.','video-stop','split','unaddressedComments','FSnVw','.\x0aThe\x20app\x20is\x20already\x20running\x20and\x20connected.\x20Start\x20with\x20inspect\x20instead\x20of\x20opening\x20a\x20URL.','click\x20and\x20inspect\x20','rangerwright-cli','textContent','Ftknx','match','\x20>\x20','notes','unxDQ','1876154kajvCu','-\x20[','jknfJ','29804tuxTqq','(?:\x5cs+(?:\x22([^\x22]+)\x22|\x27([^\x27]+)\x27|(\x5cS+)))','CCONy','3498390vcopRD','\x0a\x0a##\x20Expected\x20Flow\x20(from\x20previous\x20verification)\x0a','tool_name','FbcyX','744106UhrkHh','\x20open-and-inspect\x20','values','phase','xRAXG','stderr','(?:^|\x5cs)'];_0x572d=function(){return _0x30c0c8;};return _0x572d();}const RANGERWRIGHT_CLI_COMMAND_TIMEOUT_MS=0xea60,RANGERWRIGHT_CLI_PREVIEW_LIMIT=0xf0;function truncatePreview(_0x10bbd8,_0x497802=RANGERWRIGHT_CLI_PREVIEW_LIMIT){const _0x1d8115=_0x18b8,_0x184dae={'YUFKV':_0x1d8115(0x175)};return _0x10bbd8[_0x1d8115(0x121)]>_0x497802?_0x10bbd8['slice'](0x0,_0x497802)+_0x184dae['YUFKV']:_0x10bbd8;}function extractShellValue(_0x2df9f4){if(!_0x2df9f4)return null;return _0x2df9f4[0x1]??_0x2df9f4[0x2]??_0x2df9f4[0x3]??null;}function extractFirstCommandArgument(_0x3040e5,_0x3365b2){const _0x3facc0=_0x18b8,_0x3aaa1b={'WVWam':function(_0x437600,_0x1dcd91){return _0x437600(_0x1dcd91);}},_0x300b18=_0x3365b2['replace'](/[.*+?^${}()|[\]\\]/g,_0x3facc0(0x13f));return _0x3aaa1b[_0x3facc0(0x16c)](extractShellValue,_0x3040e5[_0x3facc0(0x153)](new RegExp(_0x3facc0(0x167)+_0x300b18+_0x3facc0(0x15b))));}function formatCommandTarget(_0x322dff){const _0x231f4b=_0x18b8,_0x34629b={'gljLi':function(_0x8fe2b4,_0x495688,_0x242ec5){return _0x8fe2b4(_0x495688,_0x242ec5);}};if(!_0x322dff)return _0x231f4b(0x11b);if(/^e\d+$/i['test'](_0x322dff))return'ref\x20'+_0x322dff;return JSON['stringify'](_0x34629b[_0x231f4b(0x11d)](truncatePreview,_0x322dff,0x78));}function formatRangerwrightCliLog(_0x4613f4,_0x272e94){const _0x2ed228=_0x18b8,_0x34cc46={'LvtsN':'open-and-inspect','AGrcp':function(_0x572a98,_0x3e04fd,_0x1e4b6e){return _0x572a98(_0x3e04fd,_0x1e4b6e);},'LTOns':_0x2ed228(0x132),'FSnVw':'click-and-inspect','olDux':'fill','sYJua':function(_0xc5854a,_0x933347){return _0xc5854a(_0x933347);},'VEEZf':'back-and-inspect','NSjET':'go\x20back\x20and\x20inspect','tInsd':'stop\x20tracing','zoipc':'stop\x20video\x20recording','rWQnA':'close'};switch(_0x272e94){case _0x34cc46['LvtsN']:{const _0x2741b9=_0x34cc46['AGrcp'](extractFirstCommandArgument,_0x4613f4,_0x272e94);return _0x2741b9?_0x2ed228(0x13a)+_0x2741b9:_0x34cc46[_0x2ed228(0x11e)];}case _0x34cc46[_0x2ed228(0x14d)]:return _0x2ed228(0x14f)+formatCommandTarget(extractFirstCommandArgument(_0x4613f4,_0x272e94));case _0x34cc46[_0x2ed228(0x12d)]:case'fill-and-inspect':return'fill\x20'+_0x34cc46['sYJua'](formatCommandTarget,_0x34cc46['AGrcp'](extractFirstCommandArgument,_0x4613f4,_0x272e94));case _0x34cc46['VEEZf']:return _0x34cc46['NSjET'];case _0x2ed228(0x16d):return _0x2ed228(0x176);case'tracing-stop':return _0x34cc46['tInsd'];case _0x2ed228(0x14a):return _0x34cc46[_0x2ed228(0x13b)];case _0x34cc46[_0x2ed228(0x147)]:return'close\x20browser\x20session';default:return _0x272e94;}}function renderScenarioSections(_0x176c66){const _0x40ce80=_0x18b8,_0x178947={'IMYUp':_0x40ce80(0x16f),'YoREa':_0x40ce80(0x154),'itBlb':function(_0x4b0b17,_0x1fe52d){return _0x4b0b17>_0x1fe52d;}},{checklistItem:_0x8fb860,itemFeedback:_0x43976a}=_0x176c66,_0x1f185b=_0x8fb860[_0x40ce80(0x155)]?'\x0a\x0a##\x20Additional\x20Notes\x0a'+_0x8fb860['notes']:'';let _0x12be0b='';if(_0x43976a&&_0x178947[_0x40ce80(0x12f)](_0x43976a[_0x40ce80(0x14c)]['length'],0x0)){const _0x1913fe=_0x43976a[_0x40ce80(0x14c)][_0x40ce80(0x135)](_0x1d2295=>{const _0x391f63=_0x40ce80,_0x4c60f4=new Date(_0x1d2295[_0x391f63(0x143)])['toLocaleDateString'](_0x391f63(0x134),{'month':_0x178947['IMYUp'],'day':_0x391f63(0x12c)}),_0x24e234=_0x1d2295['authorName']||_0x1d2295['authorEmail']||_0x391f63(0x125),_0x12b21d=_0x1d2295['domRef']?'\x20(on\x20element:\x20<'+(_0x1d2295[_0x391f63(0x13e)][_0x391f63(0x12a)][_0x391f63(0x14b)](_0x178947['YoREa'])[_0x391f63(0x11a)]()?.[_0x391f63(0x14b)](':')[0x0]||'element')+'>\x20\x22'+(_0x1d2295[_0x391f63(0x13e)][_0x391f63(0x151)]||'')['slice'](0x0,0x32)+'\x22)':'';return _0x391f63(0x158)+_0x1d2295['id']+']\x20'+_0x24e234+'\x20('+_0x4c60f4+'):\x20\x22'+_0x1d2295['content']+'\x22'+_0x12b21d;})[_0x40ce80(0x173)]('\x0a');_0x12be0b='\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'+_0x1913fe;}const _0xf89a38=_0x43976a?.['canonicalFlow']?_0x40ce80(0x15e)+_0x43976a['canonicalFlow']:'';return''+_0x8fb860['description']+_0x1f185b+_0x12be0b+_0xf89a38;}export function buildVerifyFeatureRangerwrightCliPrompt(_0x5e74f8){const _0x5c7666=_0x18b8,_0x4b7054={'ROUKg':'01_initial-state.png','VbfiZ':'key_99_final-state.png','RgYZt':function(_0x6876f8,_0x2571eb){return _0x6876f8(_0x2571eb);},'unxDQ':'about:blank','BeCAs':function(_0x2d8e10,_0x1ad975){return _0x2d8e10(_0x1ad975);}},{checklistItem:_0x7d7b60,itemFeedback:_0x4b7ba8,taskDescription:_0x151d5e,commandPrefix:_0x2d9f02,isCdpMode:_0x243eaf,url:_0x51bcd0,cdpEndpoint:_0x4fd731,loginInstructions:_0x55ca57}=_0x5e74f8,_0x15bf9b=_0x4b7054[_0x5c7666(0x170)],_0x3bfe1a=_0x4b7054['VbfiZ'],_0x107320=_0x243eaf?_0x2d9f02+'\x20inspect\x20--screenshot-path\x20'+quoteShellArg(_0x15bf9b):_0x2d9f02+'\x20open-and-inspect\x20'+_0x4b7054['RgYZt'](quoteShellArg,_0x51bcd0??_0x4b7054[_0x5c7666(0x156)])+'\x20--screenshot-path\x20'+_0x4b7054['BeCAs'](quoteShellArg,_0x15bf9b),_0x21298a=_0x243eaf?_0x5c7666(0x13c)+_0x4fd731+_0x5c7666(0x14e):'CRITICAL\x20URL\x20REQUIREMENT:\x0aYour\x20base\x20URL\x20is:\x20'+_0x51bcd0+_0x5c7666(0x149),_0x530ee4=_0x55ca57?_0x5c7666(0x179)+_0x55ca57+_0x5c7666(0x120):'';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':_0x7d7b60,'itemFeedback':_0x4b7ba8})+'\x0a\x0a##\x20Task\x20to\x20Execute\x0a'+_0x151d5e+'\x0a\x0a'+_0x21298a+_0x530ee4+_0x5c7666(0x177)+_0x2d9f02+'\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'+_0x107320+'\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'+_0x2d9f02+'\x20click-and-inspect\x20e37\x20--screenshot-path\x20'+quoteShellArg(_0x3bfe1a)+_0x5c7666(0x138);}function _0x18b8(_0x28e2d6,_0x136d33){_0x28e2d6=_0x28e2d6-0x118;const _0x572d89=_0x572d();let _0x18b858=_0x572d89[_0x28e2d6];return _0x18b858;}export function buildVerifyFeatureRangerwrightCliDebugPrompt(_0x52dc02){const _0xfe3357=_0x18b8,_0x89d001={'CCONy':'key_02_learn-more.png'},_0xcf1e52='01_mozilla-homepage.png',_0x4ab972=_0x89d001[_0xfe3357(0x15c)];return _0xfe3357(0x172)+_0x52dc02[_0xfe3357(0x141)]+_0xfe3357(0x16a)+_0x52dc02[_0xfe3357(0x141)]+_0xfe3357(0x162)+quoteShellArg(_0x52dc02['url'])+_0xfe3357(0x133)+quoteShellArg(_0xcf1e52)+_0xfe3357(0x16b)+_0x52dc02['commandPrefix']+_0xfe3357(0x146)+quoteShellArg(_0x4ab972)+_0xfe3357(0x137);}export function summarizeVerifyFeatureRangerwrightCliCommandAvailability(_0x347b4a){const _0x191cfd=_0x18b8,_0x5e5c60={'FbcyX':function(_0x478fbd,_0x507f77){return _0x478fbd===_0x507f77;}},_0x4f3cd6=[..._0x347b4a[_0x191cfd(0x148)]()]['sort']();let _0x3e23cb=0x0;for(const _0x2e78ee of _0x347b4a[_0x191cfd(0x163)]()){_0x3e23cb+=_0x2e78ee;}return{'cliCommandCount':_0x3e23cb,'cliCommandsSeen':_0x4f3cd6,'noCliCommandsCalled':_0x5e5c60[_0x191cfd(0x160)](_0x3e23cb,0x0)};}export function createVerifyFeatureRangerwrightCliHooks(_0x64c474){const _0x23f408=_0x18b8,_0x3ab45d={'udlpV':function(_0x4c2d1d,_0x20d78){return _0x4c2d1d!==_0x20d78;},'ZvvzI':_0x23f408(0x119),'xRAXG':_0x23f408(0x122),'OvApe':function(_0x2eeeff,_0x230d21){return _0x2eeeff(_0x230d21);},'Ftknx':function(_0x5c89b0,_0x12bd5b){return _0x5c89b0+_0x12bd5b;},'VtkNV':_0x23f408(0x12e),'jknfJ':function(_0x15a830,_0x1df812,_0x1e9d0a){return _0x15a830(_0x1df812,_0x1e9d0a);},'DSaFw':_0x23f408(0x127),'xvXFZ':function(_0x18143f,_0x1012e7){return _0x18143f!==_0x1012e7;}},_0x43ed95=new Map(),_0x5f05f1=async _0x2cda25=>{const _0x4df5cf=_0x23f408;if(_0x3ab45d['udlpV'](_0x2cda25['hook_event_name'],_0x3ab45d['ZvvzI']))return{};const _0x4fca06=_0x2cda25;if(_0x4fca06[_0x4df5cf(0x15f)]!==_0x3ab45d[_0x4df5cf(0x165)])return{};const _0x45d743=_0x4fca06[_0x4df5cf(0x144)],_0xd30f0c=extractBashCommand(_0x45d743);if(!_0xd30f0c)return{};const _0x518971=_0x3ab45d['OvApe'](parseRangerwrightCliCommand,_0xd30f0c);if(!_0x518971)return{};return _0x43ed95[_0x4df5cf(0x128)](_0x518971,_0x3ab45d[_0x4df5cf(0x152)](_0x43ed95['get'](_0x518971)||0x0,0x1)),_0x64c474[_0x4df5cf(0x124)](_0x3ab45d['VtkNV'],{'subcommand':_0x518971}),_0x64c474[_0x4df5cf(0x142)](_0x4df5cf(0x12e),{'subcommand':_0x518971,'commandPreview':truncatePreview(_0xd30f0c)}),console[_0x4df5cf(0x174)]('[rangerwright-cli]\x20'+_0x3ab45d[_0x4df5cf(0x159)](formatRangerwrightCliLog,_0xd30f0c,_0x518971)),{};},_0x350af7=async _0x2bc943=>{const _0x5bff7a=_0x23f408;if(_0x2bc943[_0x5bff7a(0x140)]!==_0x3ab45d['DSaFw'])return{};const _0x1a04d8=_0x2bc943;if(_0x3ab45d[_0x5bff7a(0x168)](_0x1a04d8[_0x5bff7a(0x15f)],_0x3ab45d['xRAXG']))return{};return await _0x64c474['trackPhaseError']('rangerwright_cli_command_failure',_0x1a04d8['error'],{'transport':_0x5bff7a(0x150),'toolName':_0x3ab45d['xRAXG']}),{};};return{'postToolUseHook':_0x5f05f1,'postToolUseFailureHook':_0x350af7,'commandCounts':_0x43ed95};}async function runRangerwrightLifecycleCommand(_0xbc934a){const _0x7ab91d=_0x18b8,_0x150cac={'YvXpY':function(_0x454954,_0x5046c1){return _0x454954??_0x5046c1;},'RmHrB':function(_0x5ce7bb,_0x2986dc,_0x589a26){return _0x5ce7bb(_0x2986dc,_0x589a26);},'qFCcW':function(_0x2712e0,_0x4cad7a,_0x44998d){return _0x2712e0(_0x4cad7a,_0x44998d);}},{options:_0x4a7816,commandArgs:_0x2b0c30,env:_0x554968,telemetry:_0x2925af,phase:_0x52b1c9,metadata:_0x4fbd6a,timeoutMs:_0x274865}=_0xbc934a;_0x2925af['trackPhaseStart'](_0x52b1c9,_0x4fbd6a);try{const _0x40bcb6=await runRangerwrightCliCommand({..._0x4a7816,'commandArgs':_0x2b0c30,'cwd':process[_0x7ab91d(0x11c)](),'env':_0x554968,'timeoutMs':_0x150cac[_0x7ab91d(0x145)](_0x274865,RANGERWRIGHT_CLI_COMMAND_TIMEOUT_MS)});_0x2925af['trackPhaseEnd'](_0x52b1c9,{..._0x4fbd6a,'subcommand':_0x40bcb6['invocation'][_0x7ab91d(0x126)],'stdoutPreview':_0x150cac[_0x7ab91d(0x178)](truncatePreview,_0x40bcb6[_0x7ab91d(0x123)],0x7d0),'stderrPreview':_0x150cac['qFCcW'](truncatePreview,_0x40bcb6[_0x7ab91d(0x166)],0x7d0)});}catch(_0x45681b){await _0x2925af[_0x7ab91d(0x131)](_0x52b1c9,_0x45681b,_0x4fbd6a);throw _0x45681b;}}export async function finalizeVerifyFeatureRangerwrightCliSession(_0x4fe380){const _0x5b6fbb=_0x18b8,_0x95dc94={'BSqmt':'tracing-stop','wRYWY':_0x5b6fbb(0x12b),'OcuQi':function(_0x5bebcb,_0x184c07){return _0x5bebcb(_0x184c07);}},{telemetry:_0x394a73,rangerwrightOptions:_0x3e1642,env:_0x57c554,transportMetadata:_0x669749}=_0x4fe380,_0x13f5c6=[{'phase':'rangerwright_cli_tracing_stop','commandArgs':[_0x95dc94['BSqmt']]},{'phase':'rangerwright_cli_video_stop','commandArgs':['video-stop']},{'phase':'rangerwright_cli_close','commandArgs':[_0x95dc94[_0x5b6fbb(0x11f)]]}];for(const _0x235ed4 of _0x13f5c6){try{await _0x95dc94[_0x5b6fbb(0x13d)](runRangerwrightLifecycleCommand,{'options':_0x3e1642,'commandArgs':[..._0x235ed4[_0x5b6fbb(0x118)]],'env':_0x57c554,'telemetry':_0x394a73,'phase':_0x235ed4[_0x5b6fbb(0x164)],'metadata':_0x669749});}catch{}}}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@ranger-testing/ranger-cli",
|
|
3
|
-
"version": "3.1.6-alpha.
|
|
3
|
+
"version": "3.1.6-alpha.e1ccb01-57",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"bin": {
|
|
6
6
|
"ranger": "./build/cli.js",
|
|
@@ -21,11 +21,12 @@
|
|
|
21
21
|
],
|
|
22
22
|
"dependencies": {
|
|
23
23
|
"@anthropic-ai/claude-agent-sdk": "^0.1.0",
|
|
24
|
-
"@playwright/cli": "0.1.
|
|
25
|
-
"@
|
|
24
|
+
"@playwright/cli": "0.1.12",
|
|
25
|
+
"@playwright/mcp": "0.0.74",
|
|
26
|
+
"@ranger-testing/rangerwright": "^0.0.32",
|
|
26
27
|
"dotenv": "^16.4.5",
|
|
27
28
|
"inquirer": "^9.2.12",
|
|
28
|
-
"playwright": "1.
|
|
29
|
+
"playwright": "1.60.0",
|
|
29
30
|
"ws": "^8.20.1",
|
|
30
31
|
"yargs": "^17.7.2",
|
|
31
32
|
"zod": "^3.23.8"
|
|
@@ -48,6 +49,14 @@
|
|
|
48
49
|
"brace-expansion": "^5.0.6",
|
|
49
50
|
"fast-uri": "3.1.2",
|
|
50
51
|
"@babel/core": "^7.29.6",
|
|
51
|
-
"js-yaml": "^4.2.0"
|
|
52
|
+
"js-yaml": "^4.2.0",
|
|
53
|
+
"@playwright/cli": {
|
|
54
|
+
"playwright": "1.60.0",
|
|
55
|
+
"playwright-core": "1.60.0"
|
|
56
|
+
},
|
|
57
|
+
"@playwright/mcp": {
|
|
58
|
+
"playwright": "1.60.0",
|
|
59
|
+
"playwright-core": "1.60.0"
|
|
60
|
+
}
|
|
52
61
|
}
|
|
53
62
|
}
|