@ranger-testing/ranger-cli 3.1.7-alpha.34400c2-56 → 3.1.7-alpha.44736ee-66

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.
Files changed (88) hide show
  1. package/build/cli.js +1 -1
  2. package/build/commands/addEnv.js +1 -1
  3. package/build/commands/authEncrypt.js +1 -1
  4. package/build/commands/clean.js +1 -1
  5. package/build/commands/config.js +1 -1
  6. package/build/commands/deleteProfile.js +1 -1
  7. package/build/commands/env.js +1 -1
  8. package/build/commands/feature.js +1 -1
  9. package/build/commands/hook.js +1 -1
  10. package/build/commands/hooks/autoPrompt.js +1 -1
  11. package/build/commands/hooks/disable.js +1 -1
  12. package/build/commands/hooks/enable.js +1 -1
  13. package/build/commands/hooks/exitPlanMode.js +1 -1
  14. package/build/commands/hooks/index.js +1 -1
  15. package/build/commands/hooks/output.js +1 -1
  16. package/build/commands/hooks/planReminder.js +1 -1
  17. package/build/commands/hooks/planStart.js +1 -1
  18. package/build/commands/hooks/postEdit.js +1 -1
  19. package/build/commands/hooks/preCompact.js +1 -1
  20. package/build/commands/hooks/sessionEnd.js +1 -1
  21. package/build/commands/hooks/sessionStart.js +1 -1
  22. package/build/commands/hooks/stopHook.js +1 -1
  23. package/build/commands/index.js +1 -1
  24. package/build/commands/login.js +1 -1
  25. package/build/commands/mcpBootstrap.js +1 -1
  26. package/build/commands/migrateProfile.js +1 -1
  27. package/build/commands/setup/claude.js +1 -1
  28. package/build/commands/setup/opencode.js +1 -1
  29. package/build/commands/setupCi.js +1 -1
  30. package/build/commands/skillup.js +1 -1
  31. package/build/commands/start.js +1 -1
  32. package/build/commands/status.js +1 -1
  33. package/build/commands/update.js +1 -1
  34. package/build/commands/updateEnv.js +1 -1
  35. package/build/commands/useEnv.js +1 -1
  36. package/build/commands/utils/activeProfile.js +1 -1
  37. package/build/commands/utils/actors.js +1 -0
  38. package/build/commands/utils/agentEnv.js +1 -1
  39. package/build/commands/utils/browserSessionsApi.js +1 -1
  40. package/build/commands/utils/claudeConfig.js +1 -1
  41. package/build/commands/utils/claudeOverrideSettings.js +1 -1
  42. package/build/commands/utils/claudePlugin.js +1 -1
  43. package/build/commands/utils/cloudProfile.js +1 -1
  44. package/build/commands/utils/cloudProfileSession.js +1 -1
  45. package/build/commands/utils/crypto.js +1 -1
  46. package/build/commands/utils/desirePathLog.js +1 -1
  47. package/build/commands/utils/deviceAuth.js +1 -1
  48. package/build/commands/utils/environment.js +1 -1
  49. package/build/commands/utils/featureApi.js +1 -1
  50. package/build/commands/utils/fixWebmDuration.js +1 -1
  51. package/build/commands/utils/gitTracked.js +1 -1
  52. package/build/commands/utils/keychain.js +1 -1
  53. package/build/commands/utils/legacyWarning.js +1 -1
  54. package/build/commands/utils/localAgentInstallationsApi.js +1 -1
  55. package/build/commands/utils/matchAuthEnvironment.js +1 -1
  56. package/build/commands/utils/mcpImageBase64.js +1 -1
  57. package/build/commands/utils/model.js +1 -1
  58. package/build/commands/utils/novaActCli.js +1 -1
  59. package/build/commands/utils/opencodeConfig.js +1 -1
  60. package/build/commands/utils/organizationEnvApi.js +1 -1
  61. package/build/commands/utils/playwrightCli.js +1 -1
  62. package/build/commands/utils/profileMessages.js +1 -1
  63. package/build/commands/utils/profileSetupBanner.js +1 -1
  64. package/build/commands/utils/projectsConfig.js +1 -1
  65. package/build/commands/utils/rangerConfig.js +1 -1
  66. package/build/commands/utils/rangerRoot.js +1 -1
  67. package/build/commands/utils/rangerwrightCli.js +1 -1
  68. package/build/commands/utils/resolveProfileContext.js +1 -1
  69. package/build/commands/utils/resolveProfileUrl.js +1 -1
  70. package/build/commands/utils/retry.js +1 -1
  71. package/build/commands/utils/scenarioOriginCheck.js +1 -1
  72. package/build/commands/utils/sessionCache.js +1 -1
  73. package/build/commands/utils/settings.js +1 -1
  74. package/build/commands/utils/skillContent.js +1 -1
  75. package/build/commands/utils/skills.js +1 -1
  76. package/build/commands/utils/stitchWebmFiles.js +1 -1
  77. package/build/commands/utils/telemetry.js +1 -1
  78. package/build/commands/utils/tokenRefresh.js +1 -1
  79. package/build/commands/utils/traceSnapshotMapper.js +1 -1
  80. package/build/commands/utils/tunnelClient.js +1 -1
  81. package/build/commands/utils/userApi.js +1 -1
  82. package/build/commands/utils/version.js +1 -1
  83. package/build/commands/verifyFeature.js +1 -1
  84. package/build/commands/verifyFeatureCli.js +1 -1
  85. package/build/commands/verifyFeatureNovaCli.js +1 -1
  86. package/build/commands/verifyFeatureRangerwrightCli.js +1 -1
  87. package/build/skills/ranger/SKILL.md +8 -0
  88. package/package.json +2 -2
@@ -1 +1 @@
1
- (function(_0x2a7d7f,_0x5e32e9){const _0x113e3a=_0x623a,_0x4c362a=_0x2a7d7f();while(!![]){try{const _0x453126=-parseInt(_0x113e3a(0x190))/0x1*(parseInt(_0x113e3a(0x1d8))/0x2)+-parseInt(_0x113e3a(0x1cb))/0x3+parseInt(_0x113e3a(0x204))/0x4+parseInt(_0x113e3a(0x197))/0x5+-parseInt(_0x113e3a(0x1b1))/0x6+parseInt(_0x113e3a(0x202))/0x7+-parseInt(_0x113e3a(0x203))/0x8*(parseInt(_0x113e3a(0x1e1))/0x9);if(_0x453126===_0x5e32e9)break;else _0x4c362a['push'](_0x4c362a['shift']());}catch(_0x461ed6){_0x4c362a['push'](_0x4c362a['shift']());}}}(_0x7411,0x937f8));import{mkdir,readFile,readdir,rename,stat}from'fs/promises';import{basename,join}from'path';function _0x623a(_0x28fdea,_0x18d2fd){_0x28fdea=_0x28fdea-0x18b;const _0x74115b=_0x7411();let _0x623afa=_0x74115b[_0x28fdea];return _0x623afa;}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(_0x42af6e,_0x2c8c3c=PLAYWRIGHT_CLI_PREVIEW_LIMIT){const _0x1cbd75=_0x623a,_0x426d7d={'wTzVD':function(_0x3228e4,_0x40610d){return _0x3228e4+_0x40610d;}};return _0x42af6e[_0x1cbd75(0x1ec)]>_0x2c8c3c?_0x426d7d['wTzVD'](_0x42af6e['slice'](0x0,_0x2c8c3c),_0x1cbd75(0x1a5)):_0x42af6e;}function buildCliArtifactPath(_0x390d3d,_0xb5fd0f){return join(_0x390d3d,_0xb5fd0f);}function toStepDisplayName(_0x2a5f24){const _0x1ce147=basename(_0x2a5f24)['replace'](/\.(?:png|ya?ml)$/i,'')['replace'](/^key_/i,'')['replace'](/^\d+_/,'')['replace'](/-/g,'\x20');return{'name':_0x1ce147,'isKeyStep':/^key_/i['test'](basename(_0x2a5f24))};}function extractShellValue(_0x28dbbd){if(!_0x28dbbd)return null;return _0x28dbbd[0x1]??_0x28dbbd[0x2]??_0x28dbbd[0x3]??null;}function extractFilenameOption(_0x26029e){return extractShellValue(_0x26029e['match'](/--filename(?:=|\s+)(?:"([^"]+)"|'([^']+)'|(\S+))/));}function extractFirstCommandArgument(_0x5a644a,_0x2be33c){const _0x13f72b=_0x623a,_0x823438=_0x2be33c['replace'](/[.*+?^${}()|[\]\\]/g,'\x5c$&');return extractShellValue(_0x5a644a['match'](new RegExp(_0x13f72b(0x1bd)+_0x823438+_0x13f72b(0x1b4))));}function formatCommandTarget(_0x15776d){const _0x110088=_0x623a;if(!_0x15776d)return _0x110088(0x1d0);if(/^e\d+$/i['test'](_0x15776d))return'ref\x20'+_0x15776d;return JSON['stringify'](truncatePreview(_0x15776d,0x78));}function formatPlaywrightCliLog(_0x435591,_0x4403b2){const _0x5040a6=_0x623a,_0x3d145b={'ZViFV':_0x5040a6(0x214),'GhHZv':function(_0x535207,_0x5e4f4e,_0x5cbca6){return _0x535207(_0x5e4f4e,_0x5cbca6);},'kIFBl':_0x5040a6(0x200),'ihnnv':_0x5040a6(0x1f9),'UVwLZ':function(_0x201a8e,_0x1d40a3){return _0x201a8e(_0x1d40a3);},'YaPjS':'capture\x20snapshot','wTaTR':_0x5040a6(0x1f0),'pesZS':function(_0x3ac829,_0x86f6dd){return _0x3ac829(_0x86f6dd);},'PhZcq':'check','MhLRZ':_0x5040a6(0x1fb),'LKvSr':_0x5040a6(0x1ee),'keaLk':_0x5040a6(0x19a),'XXnRc':function(_0x26cf36,_0xccdec6,_0x42a7a1){return _0x26cf36(_0xccdec6,_0x42a7a1);},'NjuBR':'open\x20new\x20tab','QOWFN':_0x5040a6(0x1e8),'BhQIv':_0x5040a6(0x1b7)};switch(_0x4403b2){case _0x3d145b[_0x5040a6(0x1e3)]:{const _0x1857db=_0x3d145b['GhHZv'](extractFirstCommandArgument,_0x435591,_0x4403b2);return _0x1857db?'open\x20'+_0x1857db:_0x5040a6(0x1e7);}case'tracing-start':return _0x3d145b[_0x5040a6(0x201)];case'tracing-stop':return'stop\x20tracing';case'video-start':return'start\x20video\x20recording';case _0x5040a6(0x1ab):return'stop\x20video\x20recording';case _0x3d145b[_0x5040a6(0x1c2)]:{const _0x350bd0=_0x3d145b['UVwLZ'](extractFilenameOption,_0x435591);if(!_0x350bd0)return _0x3d145b[_0x5040a6(0x1d5)];const {name:_0x225b90}=_0x3d145b[_0x5040a6(0x1c9)](toStepDisplayName,_0x350bd0);return'capture\x20snapshot\x20`'+_0x225b90+'`';}case _0x5040a6(0x19f):{const _0x60f7d8=extractFilenameOption(_0x435591);if(!_0x60f7d8)return _0x3d145b['wTaTR'];const {name:_0x3d63cd,isKeyStep:_0xa9b27b}=toStepDisplayName(_0x60f7d8);return _0xa9b27b?'capture\x20key\x20step\x20`'+_0x3d63cd+'`':_0x5040a6(0x20c)+_0x3d63cd+'`';}case _0x5040a6(0x1d4):return'click\x20'+_0x3d145b[_0x5040a6(0x1c6)](formatCommandTarget,extractFirstCommandArgument(_0x435591,_0x4403b2));case _0x3d145b[_0x5040a6(0x208)]:return _0x5040a6(0x1f5)+_0x3d145b[_0x5040a6(0x1c9)](formatCommandTarget,extractFirstCommandArgument(_0x435591,_0x4403b2));case _0x5040a6(0x1d7):return'fill\x20'+formatCommandTarget(extractFirstCommandArgument(_0x435591,_0x4403b2));case _0x3d145b['MhLRZ']:return _0x5040a6(0x209)+formatCommandTarget(extractFirstCommandArgument(_0x435591,_0x4403b2));case _0x3d145b[_0x5040a6(0x1c3)]:return'run\x20custom\x20Playwright\x20code';case _0x3d145b[_0x5040a6(0x1f1)]:{const _0x491a3f=_0x3d145b['XXnRc'](extractFirstCommandArgument,_0x435591,_0x4403b2);return _0x491a3f?_0x5040a6(0x1c4)+_0x491a3f:_0x3d145b['NjuBR'];}case _0x3d145b[_0x5040a6(0x19e)]:{const _0x2d7ede=extractFirstCommandArgument(_0x435591,_0x4403b2);return _0x2d7ede?'select\x20tab\x20'+_0x2d7ede:_0x3d145b[_0x5040a6(0x20e)];}default:return _0x4403b2;}}function extractPlaywrightCliToolDescription(_0x19ce5d){const _0x62b18=_0x623a,_0x3e4131={'czCPH':'string'},_0x59e1cb=_0x19ce5d['description'];if(typeof _0x59e1cb!==_0x3e4131['czCPH'])return null;const _0x17a7e8=_0x59e1cb['trim']()[_0x62b18(0x1ad)](/\s+/g,'\x20');return _0x17a7e8['length']>0x0?_0x17a7e8:null;}export function formatPlaywrightCliConsoleLogMessage(_0x4905ec,_0x964cc,_0x304585){const _0x3e7afd=_0x623a,_0x5f378f={'fdtPC':function(_0xe8c1e9,_0x570751,_0x415311){return _0xe8c1e9(_0x570751,_0x415311);}},_0x5be3f8=_0x5f378f[_0x3e7afd(0x20d)](formatPlaywrightCliLog,_0x964cc,_0x304585),_0x5a3557=extractPlaywrightCliToolDescription(_0x4905ec);if(!_0x5a3557)return _0x3e7afd(0x1b0)+_0x5be3f8;if(process[_0x3e7afd(0x1fa)]['DEBUG'])return'[ranger-verification-agent]\x20'+_0x5a3557+'\x20('+_0x5be3f8+')';return'[ranger-verification-agent]\x20'+_0x5a3557;}export function buildVerifyFeatureCliDebugPrompt(_0x48c853,_0x3d423a){const _0x261153=_0x623a,_0x200db3={'dPpBQ':function(_0x36788b,_0x323792,_0x124607){return _0x36788b(_0x323792,_0x124607);},'LjEZX':_0x261153(0x1c5),'jmPCR':function(_0x204a0c,_0x5890dc,_0x20f832){return _0x204a0c(_0x5890dc,_0x20f832);},'MOiEb':function(_0x52bb85,_0x191c20,_0xc6a535){return _0x52bb85(_0x191c20,_0xc6a535);},'PVaQo':function(_0x281bc9,_0x29abdf){return _0x281bc9(_0x29abdf);}},_0xa8b3ec=_0x200db3[_0x261153(0x1df)](buildCliArtifactPath,_0x3d423a,_0x200db3[_0x261153(0x1ed)]),_0x430ebc=buildCliArtifactPath(_0x3d423a,'01_mozilla-homepage.png'),_0x2aab05=_0x200db3[_0x261153(0x1b2)](buildCliArtifactPath,_0x3d423a,'02_learn-more.yml'),_0x18ea44=_0x200db3['MOiEb'](buildCliArtifactPath,_0x3d423a,'03_learn-more.png'),_0x3a7bae=quoteShellArg(_0xa8b3ec),_0x58af3d=quoteShellArg(_0x430ebc),_0x5c7001=_0x200db3['PVaQo'](quoteShellArg,_0x2aab05),_0x34e787=quoteShellArg(_0x18ea44);return _0x261153(0x1de)+_0x48c853+_0x261153(0x1cd)+_0x48c853+'\x20open\x20https://www.mozilla.org`\x0a2.\x20Run\x20`'+_0x48c853+'\x20tracing-start`\x0a3.\x20Run\x20`'+_0x48c853+'\x20video-start`\x0a4.\x20Save\x20every\x20snapshot\x20and\x20screenshot\x20under\x20`'+_0x3d423a+_0x261153(0x1f7)+_0x48c853+_0x261153(0x18d)+_0x3a7bae+_0x261153(0x194)+_0x48c853+_0x261153(0x1ef)+_0x58af3d+'`\x0a7.\x20Click\x20the\x20\x22Learn\x20More\x22\x20link\x20with\x20Playwright\x20CLI\x0a8.\x20Run\x20`'+_0x48c853+_0x261153(0x18d)+_0x5c7001+_0x261153(0x205)+_0x48c853+_0x261153(0x1ef)+_0x34e787+_0x261153(0x1a4);}export function buildVerifyFeatureCliPrompt(_0x11989b){const _0x630983=_0x623a,_0x4479d6={'AcgvV':'numeric','fhRYd':'Reviewer','EKsAh':_0x630983(0x1e2),'etVkb':_0x630983(0x1e5),'blPxZ':function(_0x49304e,_0x1e0f40,_0x17cf81){return _0x49304e(_0x1e0f40,_0x17cf81);},'JugLu':'02_state.yml','jhiZr':function(_0x3638c3,_0x4bb073){return _0x3638c3(_0x4bb073);},'Ecfra':function(_0x5a32e2,_0x37dc96){return _0x5a32e2(_0x37dc96);},'MQZcf':function(_0x51161a,_0x41f3e3){return _0x51161a>_0x41f3e3;},'DasUp':function(_0x19fc15,_0x352259,_0x25443d){return _0x19fc15(_0x352259,_0x25443d);},'XprJV':_0x630983(0x1dd),'qqnHM':function(_0x3d2803,_0x505025,_0x25cc6e){return _0x3d2803(_0x505025,_0x25cc6e);}},{checklistItem:_0x2f8eb5,itemFeedback:_0x23c9a8,taskDescription:_0x17eb57,cliCommandPrefix:_0x352712,cliArtifactDir:_0x21fcc6,isCdpMode:_0x98359,url:_0x450b11,cdpEndpoint:_0x465d4f,loginInstructions:_0xd6676}=_0x11989b,_0x342bf6=buildCliArtifactPath(_0x21fcc6,'01_initial.yml'),_0xa48f3f=_0x4479d6['blPxZ'](buildCliArtifactPath,_0x21fcc6,_0x4479d6[_0x630983(0x1ba)]),_0x162408=buildCliArtifactPath(_0x21fcc6,'key_03_success-state.png'),_0x8ab09d=_0x4479d6[_0x630983(0x19d)](buildCliArtifactPath,_0x21fcc6,_0x630983(0x1f8)),_0x597101=_0x4479d6['jhiZr'](quoteShellArg,_0x342bf6),_0x5a2391=_0x4479d6[_0x630983(0x199)](quoteShellArg,_0xa48f3f),_0x1184b5=quoteShellArg(_0x162408),_0x53c8ab=_0x4479d6['Ecfra'](quoteShellArg,_0x8ab09d),_0x135646=_0x2f8eb5[_0x630983(0x1d9)]?_0x630983(0x1aa)+_0x2f8eb5[_0x630983(0x1d9)]:'';let _0x7770c6='';if(_0x23c9a8&&_0x4479d6['MQZcf'](_0x23c9a8['unaddressedComments']['length'],0x0)){const _0x591f9c=_0x23c9a8[_0x630983(0x1a7)][_0x630983(0x18f)](_0x1fb112=>{const _0x2e95b0=_0x630983,_0x501e0c=new Date(_0x1fb112[_0x2e95b0(0x1bb)])['toLocaleDateString']('en-US',{'month':'short','day':_0x4479d6['AcgvV']}),_0x1be17a=_0x1fb112['authorName']||_0x1fb112['authorEmail']||_0x4479d6['fhRYd'],_0xcfe17c=_0x1fb112[_0x2e95b0(0x1eb)]?_0x2e95b0(0x1f6)+(_0x1fb112['domRef']['selector']['split'](_0x4479d6['EKsAh'])[_0x2e95b0(0x20f)]()?.[_0x2e95b0(0x1d3)](':')[0x0]||_0x4479d6['etVkb'])+_0x2e95b0(0x1e6)+(_0x1fb112['domRef']['textContent']||'')[_0x2e95b0(0x1da)](0x0,0x32)+'\x22)':'';return'-\x20['+_0x1fb112['id']+']\x20**'+_0x1be17a+_0x2e95b0(0x1af)+_0x501e0c+_0x2e95b0(0x20b)+_0x1fb112[_0x2e95b0(0x1ea)]+'\x22'+_0xcfe17c;})['join']('\x0a');_0x7770c6=_0x630983(0x1b8)+_0x591f9c;}const _0x2e0e40=_0x23c9a8?.['canonicalFlow']?'\x0a\x0a##\x20Expected\x20Flow\x20(from\x20previous\x20verification)\x0a'+_0x23c9a8[_0x630983(0x1d6)]:'',_0x5512ea=_0x98359?_0x630983(0x1cf)+_0x465d4f+_0x630983(0x193):_0x630983(0x1bf)+_0x450b11+_0x630983(0x1bc),_0x23a28c=_0x450b11?_0x4479d6['jhiZr'](quoteShellArg,_0x450b11):'',_0x35ad23=_0x98359?'##\x20Instructions\x0a1.\x20Use\x20Bash\x20plus\x20Playwright\x20CLI\x20only.\x20Do\x20NOT\x20call\x20MCP\x20browser\x20tools.\x0a2.\x20Start\x20by\x20running\x20`'+_0x352712+_0x630983(0x1fe)+_0x352712+'\x20tracing-start`,\x20then\x20`'+_0x352712+_0x630983(0x1dc)+_0x21fcc6+_0x630983(0x1f2)+_0x352712+_0x630983(0x18d)+_0x597101+'`\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`'+_0x352712+_0x630983(0x1ef)+_0x53c8ab+_0x630983(0x1f4)+_0x352712+_0x630983(0x1be):'##\x20Instructions\x0a1.\x20Use\x20Bash\x20plus\x20Playwright\x20CLI\x20only.\x20Do\x20NOT\x20call\x20MCP\x20browser\x20tools.\x0a2.\x20Start\x20by\x20running\x20`'+_0x352712+'\x20open\x20'+_0x23a28c+'`,\x20then\x20`'+_0x352712+_0x630983(0x211)+_0x352712+'\x20video-start`.\x0a3.\x20Save\x20every\x20snapshot\x20and\x20screenshot\x20under\x20`'+_0x21fcc6+'`\x20using\x20absolute\x20paths\x20only.\x20Do\x20not\x20use\x20relative\x20filenames.\x0a4.\x20Take\x20a\x20snapshot\x20with\x20`'+_0x352712+'\x20snapshot\x20--filename\x20'+_0x597101+'`\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`'+_0x352712+'\x20screenshot\x20--filename\x20'+_0x53c8ab+_0x630983(0x1a1)+_0x352712+'\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',_0x2adb53=_0x98359?'\x0a\x0a##\x20Critical:\x20Early\x20Error\x20Detection\x0aAfter\x20taking\x20the\x20initial\x20snapshot,\x20IMMEDIATELY\x20check\x20for\x20blocking\x20errors:\x0a\x0a**Blocking\x20errors\x20to\x20detect:**\x0a-\x20Crash\x20or\x20error\x20dialogs\x20(\x22An\x20error\x20occurred\x22,\x20\x22Something\x20went\x20wrong\x22,\x20unhandled\x20exception\x20messages)\x0a-\x20Blank\x20or\x20empty\x20window\x20with\x20no\x20rendered\x20content\x0a-\x20Framework\x20error\x20boundaries\x20(React\x20error\x20page,\x20Electron\x20crash\x20reporter)\x0a-\x20Unresponsive\x20or\x20frozen\x20UI\x20(no\x20interactive\x20elements\x20in\x20snapshot)\x0a\x0a**If\x20ANY\x20blocking\x20error\x20is\x20detected:**\x0a1.\x20DO\x20NOT\x20continue\x20with\x20the\x20task\x0a2.\x20Return\x20IMMEDIATELY\x20with\x20evaluation:\x20\x22blocked\x22\x0a3.\x20Set\x20evaluationReason\x20to\x20describe\x20the\x20specific\x20error\x20(e.g.,\x20\x22App\x20crashed\x20—\x20error\x20dialog\x20visible\x20on\x20launch\x22)\x0a4.\x20Include\x20the\x20error\x20in\x20issues\x20array\x20with\x20severity:\x20\x22BLOCKER\x22\x20and\x20type:\x20\x22APP_ERROR\x22\x0a\x0aThis\x20early\x20exit\x20prevents\x20wasting\x20time\x20on\x20tasks\x20that\x20cannot\x20succeed\x20due\x20to\x20fundamental\x20errors.':'\x0a\x0a##\x20Critical:\x20Early\x20Error\x20Detection\x0aAfter\x20step\x202\x20(taking\x20initial\x20snapshot),\x20IMMEDIATELY\x20check\x20for\x20blocking\x20HTTP\x20errors:\x0a\x0a**Blocking\x20errors\x20to\x20detect:**\x0a-\x20HTTP\x20404:\x20\x22404\x22,\x20\x22Not\x20Found\x22,\x20\x22Page\x20not\x20found\x22,\x20\x22does\x20not\x20exist\x22\x0a-\x20HTTP\x20500:\x20\x22500\x22,\x20\x22Internal\x20Server\x20Error\x22,\x20\x22Server\x20Error\x22,\x20\x22Something\x20went\x20wrong\x22\x0a-\x20HTTP\x20400:\x20\x22400\x22,\x20\x22Bad\x20Request\x22,\x20\x22Invalid\x20request\x22\x0a\x0a**Also\x20check\x20for:**\x0a-\x20Framework\x20error\x20pages\x20(Next.js\x20error\x20boundary,\x20React\x20error\x20page,\x20\x22Application\x20error\x22)\x0a-\x20Completely\x20blank/empty\x20pages\x20with\x20no\x20content\x0a-\x20\x22Cannot\x20GET\x20/path\x22\x20messages\x0a-\x20Login/sign-in/auth\x20pages\x20when\x20no\x20Authentication\x20section\x20is\x20present\x20in\x20this\x20prompt\x0a\x0a**If\x20ANY\x20blocking\x20error\x20is\x20detected:**\x0a1.\x20DO\x20NOT\x20continue\x20with\x20the\x20task\x0a2.\x20Return\x20IMMEDIATELY\x20with\x20evaluation:\x20\x22blocked\x22\x0a3.\x20Set\x20evaluationReason\x20to\x20describe\x20the\x20specific\x20error\x20(e.g.,\x20\x22HTTP\x20404\x20-\x20Page\x20not\x20found\x20at\x20/dashboard\x22)\x0a4.\x20Include\x20the\x20error\x20in\x20issues\x20array\x20with\x20severity:\x20\x22BLOCKER\x22\x20and\x20appropriate\x20type\x20(HTTP_404,\x20HTTP_500,\x20HTTP_400,\x20or\x20NAVIGATION_ERROR)\x0a\x0aThis\x20early\x20exit\x20prevents\x20wasting\x20time\x20on\x20tasks\x20that\x20cannot\x20succeed\x20due\x20to\x20fundamental\x20errors.',_0x10110=_0xd6676?_0x630983(0x207)+_0xd6676+_0x630983(0x1a6):'';return _0x630983(0x195)+_0x2f8eb5['description']+_0x135646+_0x7770c6+_0x2e0e40+_0x630983(0x210)+_0x17eb57+'\x0a\x0a'+_0x5512ea+_0x10110+'\x0a\x0a'+_0x35ad23+_0x630983(0x20a)+_0x352712+'`\x0a\x0a-\x20Write\x20all\x20artifacts\x20under\x20`'+_0x21fcc6+_0x630983(0x1fc)+_0x5a2391+'`\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'+_0x1184b5+'`\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`'+_0x21fcc6+_0x630983(0x1a3)+_0x8ab09d+'\x22,\x20\x22'+_0x4479d6[_0x630983(0x1a9)](buildCliArtifactPath,_0x21fcc6,_0x4479d6[_0x630983(0x18e)])+'\x22,\x20\x22'+_0x4479d6['qqnHM'](buildCliArtifactPath,_0x21fcc6,'03_result-visible.png')+_0x630983(0x1ca)+_0x4479d6['DasUp'](buildCliArtifactPath,_0x21fcc6,_0x630983(0x1b3))+_0x630983(0x198)+_0x2adb53+'\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(_0x573b0e){const _0x4e6cb2=_0x623a,_0x4ad67c={'irljC':function(_0x72bea4,_0x3414c5){return _0x72bea4===_0x3414c5;}},_0x247a19=[..._0x573b0e['keys']()]['sort']();let _0x591005=0x0;for(const _0x3eb78d of _0x573b0e[_0x4e6cb2(0x1d2)]()){_0x591005+=_0x3eb78d;}return{'cliCommandCount':_0x591005,'cliCommandsSeen':_0x247a19,'noCliCommandsCalled':_0x4ad67c[_0x4e6cb2(0x1e9)](_0x591005,0x0)};}export function createVerifyFeatureCliHooks(_0x55e384){const _0x4478cb=_0x623a,_0x10d9ee={'YwtPd':function(_0x315cdf,_0x5bee7){return _0x315cdf!==_0x5bee7;},'iVisG':_0x4478cb(0x215),'KOfIt':function(_0x9efb13,_0x30ba76){return _0x9efb13!==_0x30ba76;},'pJWeC':function(_0x148145,_0x43041d){return _0x148145(_0x43041d);},'XrRtt':function(_0x5b99c9,_0x47bee8){return _0x5b99c9+_0x47bee8;},'SSMXk':_0x4478cb(0x1d1),'wKPHG':'playwright-cli','LYiDT':function(_0x4148b6,_0x486adf,_0x268147,_0xd8b5da){return _0x4148b6(_0x486adf,_0x268147,_0xd8b5da);},'lZBwj':function(_0x4a8af1,_0xd9ca34){return _0x4a8af1!==_0xd9ca34;},'RtckG':'PostToolUseFailure'},_0x2aed29=new Map(),_0x5cb701=async _0x12d1de=>{const _0x48324e=_0x4478cb;if(_0x10d9ee[_0x48324e(0x206)](_0x12d1de['hook_event_name'],_0x10d9ee[_0x48324e(0x1c7)]))return{};const _0x473a07=_0x12d1de;if(_0x10d9ee[_0x48324e(0x1a2)](_0x473a07['tool_name'],'Bash'))return{};const _0x3bd5b1=_0x473a07['tool_input'],_0x1e997b=extractBashCommand(_0x3bd5b1);if(!_0x1e997b)return{};const _0x27c328=_0x10d9ee[_0x48324e(0x1db)](parsePlaywrightCliCommand,_0x1e997b);if(!_0x27c328)return{};return _0x2aed29['set'](_0x27c328,_0x10d9ee['XrRtt'](_0x2aed29[_0x48324e(0x1ae)](_0x27c328)||0x0,0x1)),_0x55e384[_0x48324e(0x1b9)](_0x10d9ee['SSMXk'],{'transport':'playwright-cli','toolName':_0x27c328}),_0x55e384['trackPhaseEnd'](_0x10d9ee['SSMXk'],{'transport':_0x10d9ee[_0x48324e(0x1b5)],'toolName':_0x27c328,'bashCommandPreview':truncatePreview(_0x1e997b)}),_0x10d9ee[_0x48324e(0x1a2)](_0x27c328,'snapshot')&&console[_0x48324e(0x196)](_0x10d9ee[_0x48324e(0x1b6)](formatPlaywrightCliConsoleLogMessage,_0x3bd5b1,_0x1e997b,_0x27c328)),{};},_0x4e4f7a=async _0x435b35=>{const _0x3c24e9=_0x4478cb;if(_0x10d9ee[_0x3c24e9(0x1c8)](_0x435b35['hook_event_name'],_0x10d9ee['RtckG']))return{};const _0x4c5703=_0x435b35;if(_0x4c5703[_0x3c24e9(0x1a0)]!==_0x3c24e9(0x1ff))return{};return await _0x55e384[_0x3c24e9(0x1cc)]('tool_failure',_0x4c5703[_0x3c24e9(0x18c)],{'transport':_0x10d9ee[_0x3c24e9(0x1b5)],'toolName':_0x3c24e9(0x1ff)}),{};};return{'postToolUseHook':_0x5cb701,'postToolUseFailureHook':_0x4e4f7a,'commandCounts':_0x2aed29};}function _0x7411(){const _0x23e28b=['notes','slice','pJWeC','\x20video-start`.\x0a3.\x20Save\x20every\x20snapshot\x20and\x20screenshot\x20under\x20`','02_button-clicked.png','You\x20are\x20testing\x20browser\x20automation.\x20Your\x20task\x20is\x20simple:\x0a\x0aUse\x20Bash\x20and\x20Playwright\x20CLI\x20only.\x20The\x20browser\x20command\x20prefix\x20is:\x0a','dPpBQ','trackPhaseEnd','5411853omFApr','\x20>\x20','ZViFV','session-recording.webm','element','>\x20\x22','open\x20browser','tab-select','irljC','content','domRef','length','LjEZX','run-code','\x20screenshot\x20--filename\x20','capture\x20screenshot','keaLk','`\x20using\x20absolute\x20paths\x20only.\x20Do\x20not\x20use\x20relative\x20filenames.\x0a4.\x20Take\x20a\x20snapshot\x20with\x20`','push','`\x20style\x20absolute\x20paths\x20at\x20key\x20moments.\x0a6.\x20If\x20you\x20need\x20waits\x20or\x20custom\x20assertions,\x20use\x20`','check\x20','\x20(on\x20element:\x20<','`\x20using\x20absolute\x20paths\x20only.\x20Do\x20not\x20use\x20relative\x20filenames.\x0a5.\x20Run\x20`','01_initial-state.png','snapshot','env','press','`\x0a-\x20`snapshot\x20--filename\x20','sort','\x20open`,\x20then\x20`','Bash','start\x20tracing','kIFBl','5409026wubnLE','8nnTrgE','3131628OVQUWp','`\x0a9.\x20Run\x20`','YwtPd','\x0a\x0a##\x20Authentication\x0aBEFORE\x20starting\x20the\x20verification\x20task,\x20you\x20MUST\x20authenticate\x20using\x20these\x20steps:\x0a','PhZcq','press\x20','\x0a\x0a##\x20Browser\x20Command\x20Reference\x0aUse\x20Bash\x20to\x20run\x20Playwright\x20CLI\x20commands\x20with\x20this\x20exact\x20prefix:\x0a`','):\x20\x22','capture\x20step\x20`','fdtPC','BhQIv','pop','\x0a\x0a##\x20Task\x20to\x20Execute\x0a','\x20tracing-start`,\x20then\x20`','trace.trace.zip','playwright_cli_tracing_stop','open','PostToolUse','commandArgs','error','\x20snapshot\x20--filename\x20','XprJV','map','1GAGvOV','LtpWL','isFile','.\x0aThis\x20is\x20NOT\x20a\x20web\x20app\x20—\x20there\x20is\x20no\x20URL\x20to\x20navigate\x20to.\x20The\x20app\x20is\x20already\x20running\x20and\x20connected.','`\x0a5.\x20Read\x20the\x20snapshot\x20file\x20to\x20find\x20the\x20\x22Learn\x20More\x22\x20link\x20reference\x0a6.\x20Run\x20`','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','log','5339705PcRuzh','\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','jhiZr','tab-new','rAhvx','name','blPxZ','QOWFN','screenshot','tool_name','`\x20style\x20absolute\x20paths\x20at\x20key\x20moments.\x0a8.\x20If\x20you\x20need\x20waits\x20or\x20custom\x20assertions,\x20use\x20`','KOfIt','`:\x20\x22','`\x0a10.\x20Return\x20immediately\x20with\x20the\x20structured\x20output\x0a\x0aReturn\x20your\x20findings\x20in\x20the\x20structured\x20output\x20format.','...','\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.','unaddressedComments','trace.zip','DasUp','\x0a\x0a##\x20Additional\x20Notes\x0a','video-stop','CXwLu','replace','get','**\x20(','[playwright-cli]\x20','4616232pnflLk','jmPCR','key_04_success-state.png','(?:\x5cs+(?:\x22([^\x22]+)\x22|\x27([^\x27]+)\x27|(\x5cS+)))','wKPHG','LYiDT','select\x20tab','\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','trackPhaseStart','JugLu','createdAt','\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','(?:^|\x5cs)','\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','CRITICAL\x20URL\x20REQUIREMENT:\x0aYour\x20base\x20URL\x20is:\x20','cwd','subcommand','ihnnv','LKvSr','open\x20new\x20tab\x20','00_mozilla-homepage.yml','pesZS','iVisG','lZBwj','UVwLZ','\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','986526QvxeDN','trackPhaseError','\x0a\x0a1.\x20Run\x20`','invocation','##\x20App\x20Context\x0aYou\x20are\x20connected\x20to\x20a\x20desktop\x20application\x20via\x20CDP\x20(Chrome\x20DevTools\x20Protocol)\x20at\x20','target','tool_call','values','split','click','YaPjS','canonicalFlow','fill','639766tZPXSf'];_0x7411=function(){return _0x23e28b;};return _0x7411();}async function runPlaywrightCliLifecycleCommand(_0x3f058b){const _0x5c3ba9=_0x623a,_0x378de0={'HARfK':function(_0x22b6d9,_0xe3713f){return _0x22b6d9(_0xe3713f);},'LaumD':function(_0x2c8770,_0x3e4ceb){return _0x2c8770??_0x3e4ceb;},'Jnpvx':function(_0x24ad97,_0x44e8d6,_0x4949ce){return _0x24ad97(_0x44e8d6,_0x4949ce);}},{sessionId:_0x31ba8b,configPath:_0x3ef113,commandArgs:_0x549a03,env:_0x5073c7,telemetry:_0x26551e,phase:_0x192a43,metadata:_0x2b6480,timeoutMs:_0x5d235c}=_0x3f058b;_0x26551e['trackPhaseStart'](_0x192a43,_0x2b6480);try{const _0x3ec8ac=await _0x378de0['HARfK'](runPlaywrightCliCommand,{'sessionId':_0x31ba8b,'configPath':_0x3ef113,'commandArgs':_0x549a03,'cwd':process[_0x5c3ba9(0x1c0)](),'env':_0x5073c7,'timeoutMs':_0x378de0['LaumD'](_0x5d235c,PLAYWRIGHT_CLI_COMMAND_TIMEOUT_MS)});_0x26551e[_0x5c3ba9(0x1e0)](_0x192a43,{..._0x2b6480,'subcommand':_0x3ec8ac[_0x5c3ba9(0x1ce)][_0x5c3ba9(0x1c1)],'stdoutPreview':_0x378de0['Jnpvx'](truncatePreview,_0x3ec8ac['stdout'],0x7d0),'stderrPreview':truncatePreview(_0x3ec8ac['stderr'],0x7d0)});}catch(_0x46a92d){await _0x26551e[_0x5c3ba9(0x1cc)](_0x192a43,_0x46a92d,_0x2b6480);throw _0x46a92d;}}export async function finalizeVerifyFeatureCliSession(_0x256d09){const _0x2b7eda=_0x623a,_0x47e686={'CXwLu':_0x2b7eda(0x213),'LtpWL':'video-stop','yzdCU':'playwright_cli_close','GIFUq':'close'},{telemetry:_0x4a616e,sessionId:_0x5dead7,configPath:_0x5e233e,cliArtifactDir:_0x578850,env:_0x2c2742,transportMetadata:_0x4de42b}=_0x256d09,_0x41835f=[{'phase':_0x47e686[_0x2b7eda(0x1ac)],'commandArgs':['tracing-stop']},{'phase':'playwright_cli_video_stop','commandArgs':[_0x47e686[_0x2b7eda(0x191)],'--filename='+buildCliArtifactPath(_0x578850,_0x2b7eda(0x1e4))]},{'phase':_0x47e686['yzdCU'],'commandArgs':[_0x47e686['GIFUq']]}];for(const _0x217ca0 of _0x41835f){try{await runPlaywrightCliLifecycleCommand({'sessionId':_0x5dead7,'configPath':_0x5e233e,'commandArgs':[..._0x217ca0[_0x2b7eda(0x18b)]],'env':_0x2c2742,'telemetry':_0x4a616e,'phase':_0x217ca0['phase'],'metadata':_0x4de42b});}catch{}}}export async function loadVerifyFeatureCliTraceUploadArtifact(_0x59fa15){const _0x42ecfe=_0x623a,_0x4ec48e={'xxVnP':_0x42ecfe(0x1a8),'IBhSy':function(_0x36051e,_0x5b9e8f,_0x3bd7fa){return _0x36051e(_0x5b9e8f,_0x3bd7fa);},'INDwg':function(_0x4fbe92,_0x481665){return _0x4fbe92(_0x481665);}},_0x43cd50=[_0x4ec48e['xxVnP'],_0x42ecfe(0x212)];for(const _0x44c1cb of _0x43cd50){const _0x4a3d61=_0x4ec48e['IBhSy'](join,_0x59fa15,_0x44c1cb);try{return{'buffer':await _0x4ec48e['INDwg'](readFile,_0x4a3d61),'source':_0x4a3d61};}catch{}}return null;}export async function rehomeVerifyFeatureCliArtifacts(_0x4c9981){const _0x21fb5e=_0x623a,_0x96f456={'fmNrd':function(_0x21245f,_0xdef52e,_0x5c7cd9){return _0x21245f(_0xdef52e,_0x5c7cd9);},'WtEOc':function(_0x579063,_0x54336f){return _0x579063(_0x54336f);},'rAhvx':function(_0x359ee6,_0x4b2c79){return _0x359ee6<_0x4b2c79;},'zAtzX':function(_0x3e70ec,_0xe2dc9){return _0x3e70ec+_0xe2dc9;},'RirIz':function(_0x533977,_0x29d45d){return _0x533977===_0x29d45d;}},{cwd:_0x6ebf49,cliArtifactDir:_0x3dcb3d,startTime:_0x541a3b}=_0x4c9981,_0x5e7b18=[];await _0x96f456['fmNrd'](mkdir,_0x3dcb3d,{'recursive':!![]});const _0x31bb9c=await readdir(_0x6ebf49,{'withFileTypes':!![]});for(const _0x3c7dcd of _0x31bb9c){if(!_0x3c7dcd[_0x21fb5e(0x192)]()||!VERIFY_FEATURE_CLI_ARTIFACT_FILE_PATTERN['test'](_0x3c7dcd['name']))continue;const _0x2e84d8=join(_0x6ebf49,_0x3c7dcd['name']),_0xb2fd53=await _0x96f456['WtEOc'](stat,_0x2e84d8);if(_0x96f456[_0x21fb5e(0x19b)](_0x96f456['zAtzX'](_0xb2fd53['mtimeMs'],0x7d0),_0x541a3b))continue;const _0x57c029=buildCliArtifactPath(_0x3dcb3d,_0x3c7dcd['name']);if(_0x96f456['RirIz'](_0x2e84d8,_0x57c029))continue;await rename(_0x2e84d8,_0x57c029),_0x5e7b18[_0x21fb5e(0x1f3)](_0x3c7dcd[_0x21fb5e(0x19c)]);}return _0x5e7b18[_0x21fb5e(0x1fd)]();}
1
+ (function(_0x5a4b6d,_0x47e3f3){const _0x2c4d40=_0xacff,_0x478bcb=_0x5a4b6d();while(!![]){try{const _0x13e068=parseInt(_0x2c4d40(0x1d2))/0x1*(-parseInt(_0x2c4d40(0x217))/0x2)+parseInt(_0x2c4d40(0x21f))/0x3+parseInt(_0x2c4d40(0x1de))/0x4*(-parseInt(_0x2c4d40(0x1e5))/0x5)+-parseInt(_0x2c4d40(0x1cb))/0x6+parseInt(_0x2c4d40(0x196))/0x7*(-parseInt(_0x2c4d40(0x1fc))/0x8)+-parseInt(_0x2c4d40(0x1e9))/0x9+parseInt(_0x2c4d40(0x1bd))/0xa;if(_0x13e068===_0x47e3f3)break;else _0x478bcb['push'](_0x478bcb['shift']());}catch(_0x596350){_0x478bcb['push'](_0x478bcb['shift']());}}}(_0x136c,0x7115a));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(_0x4651ff,_0x37014d=PLAYWRIGHT_CLI_PREVIEW_LIMIT){const _0xdf42c0=_0xacff,_0x3a125a={'iFXyT':function(_0x4a8ff1,_0x22cd2d){return _0x4a8ff1>_0x22cd2d;},'HDhrP':_0xdf42c0(0x1ae)};return _0x3a125a[_0xdf42c0(0x20c)](_0x4651ff[_0xdf42c0(0x1cd)],_0x37014d)?_0x4651ff['slice'](0x0,_0x37014d)+_0x3a125a['HDhrP']:_0x4651ff;}function buildCliArtifactPath(_0x22506f,_0x2b1df2){const _0x4235f6={'AYAOS':function(_0x1b6988,_0x1f95db,_0x4ea742){return _0x1b6988(_0x1f95db,_0x4ea742);}};return _0x4235f6['AYAOS'](join,_0x22506f,_0x2b1df2);}function _0x136c(){const _0x5cc2a0=['\x0a\x0a-\x20Each\x20actor\x20has\x20its\x20OWN\x20artifact\x20directory\x20—\x20save\x20each\x20actor\x27s\x20screenshots\x20under\x20that\x20actor\x27s\x20directory\x20shown\x20above;\x20do\x20NOT\x20write\x20one\x20actor\x27s\x20screenshots\x20into\x20another\x20actor\x27s\x20directory.\x0a-\x20Switch\x20actors\x20as\x20the\x20scenario\x20dictates\x20(','zPZDF','push','createdAt','00_mozilla-homepage.yml','\x0a\x0a##\x20Multiple\x20Actors\x20—\x20one\x20live\x20browser\x20session\x20each\x0aRun\x20every\x20browser\x20command\x20with\x20the\x20prefix\x20for\x20the\x20actor\x20named\x20in\x20the\x20step.\x20Each\x20actor\x20is\x20a\x20separate,\x20independent\x20browser\x20session\x20(its\x20own\x20login,\x20cookies,\x20and\x20storage)\x20—\x20the\x20same\x20prefix\x20always\x20drives\x20the\x20same\x20actor\x27s\x20session.\x0a\x0a','\x20open\x20','string','119OKPIGf','check\x20','OnCLX','ZWtfP','trackPhaseStart','cwd','\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.','\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','run-code','\x22,\x20\x22','mPoNe','keys','FCDxy','xYoWH','authorName','start\x20video\x20recording','-\x20As\x20','aeCio','\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','cNcOa','>\x20\x22','snapshot','domRef',',\x20…\x20\x20→\x20\x20`','...','toLocaleDateString','--filename=','notes','`,\x20then\x20`','CDuWg','subcommand','`\x20using\x20absolute\x20paths\x20only.\x20Do\x20not\x20use\x20relative\x20filenames.\x0a4.\x20Take\x20a\x20snapshot\x20with\x20`','\x0a-\x20You\x20may\x20ONLY\x20navigate\x20to\x20paths\x20under\x20this\x20base\x20URL\x20(same\x20protocol,\x20host,\x20and\x20port)\x0a-\x20For\x20example,\x20if\x20the\x20base\x20URL\x20is\x20\x22http://localhost:3000\x22,\x20you\x20can\x20navigate\x20to\x20\x22http://localhost:3000/home\x22,\x20\x22http://localhost:3000/settings\x22,\x20etc.\x0a-\x20DO\x20NOT\x20navigate\x20to\x20any\x20different\x20domain,\x20host,\x20or\x20port\x20under\x20any\x20circumstances\x0a-\x20If\x20documentation\x20or\x20code\x20diffs\x20suggest\x20a\x20path\x20exists\x20(e.g.,\x20\x22/dashboard\x22),\x20you\x20may\x20navigate\x20to\x20that\x20path\x20ONLY\x20under\x20the\x20base\x20URL\x20above\x0a-\x20The\x20base\x20URL\x20above\x20is\x20the\x20ONLY\x20authorized\x20profile\x20for\x20this\x20verification','03_learn-more.png',']\x20**','[ranger-verification-agent]\x20','fuAyL','short','):\x20\x22','30082620ScdNCL','canonicalFlow','`\x20(e.g.\x20`','stdout','trackPhaseEnd','):\x20pick\x20the\x20prefix\x20whose\x20label\x20matches\x20the\x20step\x27s\x20actor.\x0a-\x20The\x20prefix\x20shown\x20in\x20\x22Browser\x20Command\x20Reference\x22\x20above\x20drives\x20','label','check','invocation','rgUST','TueIL','tool_input','VVbfy','select\x20tab\x20','4612620jaODUI','\x20open\x20https://www.mozilla.org`\x0a2.\x20Run\x20`','length','ExGrd','aLftU','`\x0a\x0a-\x20Write\x20all\x20artifacts\x20under\x20`','01_initial-state.png','461473wXTkqZ','Bash','\x20>\x20','cgvfR','get','log','PostToolUse','HlycG','env','tool_call','join','DOFCd','60276MpClYM','pfwHm','sGAlf','select\x20tab','capture\x20screenshot','\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.','actorPrefixes','300casJoj','slice','capture\x20snapshot\x20`','`\x0a10.\x20Return\x20immediately\x20with\x20the\x20structured\x20output\x0a\x0aReturn\x20your\x20findings\x20in\x20the\x20structured\x20output\x20format.','3384990xhZghU','OKCtY','lOLRw','`\x20style\x20absolute\x20paths\x20at\x20key\x20moments.\x0a8.\x20If\x20you\x20need\x20waits\x20or\x20custom\x20assertions,\x20use\x20`','hfdlR','kAmbU','trace.zip','the\x20primary\x20actor','start\x20tracing','\x0a\x0a##\x20Browser\x20Command\x20Reference\x0aUse\x20Bash\x20to\x20run\x20Playwright\x20CLI\x20commands\x20with\x20this\x20exact\x20prefix:\x0a`','video-start','tool_failure','hMpQl','bjtlb','playwright-cli','\x20(on\x20element:\x20<','NGTSB','click','sort','188120vkzJjw','values','match','map','tool_name','\x20screenshot\x20--filename\x20','isFile','`\x20style\x20absolute\x20paths\x20at\x20key\x20moments.\x0a6.\x20If\x20you\x20need\x20waits\x20or\x20custom\x20assertions,\x20use\x20`','ref\x20','\x5c$&','JoSMC','\x20video-start`.\x0a3.\x20Save\x20every\x20snapshot\x20and\x20screenshot\x20under\x20`','run\x20custom\x20Playwright\x20code','`\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`','description','artifactDir','iFXyT','hook_event_name','open\x20new\x20tab\x20','MdSiJ','`\x20<subcommand>\x20…\x20\x20and\x20save\x20this\x20actor\x27s\x20screenshots/snapshots\x20UNDER\x20`','(?:^|\x5cs)','open','\x20snapshot\x20--filename\x20','MFAWE','\x22As\x20','\x0a\x0a##\x20Authentication\x0aBEFORE\x20starting\x20the\x20verification\x20task,\x20you\x20MUST\x20authenticate\x20using\x20these\x20steps:\x0a','4ZozGLU','kPHJl','##\x20Instructions\x0a1.\x20Use\x20Bash\x20plus\x20Playwright\x20CLI\x20only.\x20Do\x20NOT\x20call\x20MCP\x20browser\x20tools.\x0a2.\x20Start\x20by\x20running\x20`','DEBUG','element','stringify','`\x0a9.\x20Run\x20`','selector','2479959XuoxUu','ZwqDc','MDJXw',',\x20…\x22','RGAHo','playwright_cli_video_stop','split','`\x0a7.\x20Click\x20the\x20\x22Learn\x20More\x22\x20link\x20with\x20Playwright\x20CLI\x0a8.\x20Run\x20`','test','yijHB','playwright_cli_close','MGGSk','capture\x20key\x20step\x20`','.\x0aThis\x20is\x20NOT\x20a\x20web\x20app\x20—\x20there\x20is\x20no\x20URL\x20to\x20navigate\x20to.\x20The\x20app\x20is\x20already\x20running\x20and\x20connected.','ePwBP','\x20open`,\x20then\x20`','open\x20new\x20tab','replace'];_0x136c=function(){return _0x5cc2a0;};return _0x136c();}function toStepDisplayName(_0x5bd25b){const _0x3ffa3f=_0xacff,_0x5cf1cd={'HlycG':function(_0x2263b9,_0x19c81f){return _0x2263b9(_0x19c81f);}},_0x25671d=basename(_0x5bd25b)['replace'](/\.(?:png|ya?ml)$/i,'')['replace'](/^key_/i,'')['replace'](/^\d+_/,'')['replace'](/-/g,'\x20');return{'name':_0x25671d,'isKeyStep':/^key_/i[_0x3ffa3f(0x227)](_0x5cf1cd[_0x3ffa3f(0x1d9)](basename,_0x5bd25b))};}function _0xacff(_0x4c6dec,_0x514f57){_0x4c6dec=_0x4c6dec-0x187;const _0x136ca8=_0x136c();let _0xacffbd=_0x136ca8[_0x4c6dec];return _0xacffbd;}function extractShellValue(_0x326450){if(!_0x326450)return null;return _0x326450[0x1]??_0x326450[0x2]??_0x326450[0x3]??null;}function extractFilenameOption(_0x3e7e38){const _0x1a1099=_0xacff,_0xdc56f0={'kPHJl':function(_0x403c05,_0xbb70a5){return _0x403c05(_0xbb70a5);}};return _0xdc56f0[_0x1a1099(0x218)](extractShellValue,_0x3e7e38[_0x1a1099(0x1fe)](/--filename(?:=|\s+)(?:"([^"]+)"|'([^']+)'|(\S+))/));}function extractFirstCommandArgument(_0x1a9dc6,_0x46ecf6){const _0x2d9554=_0xacff,_0x3e9634=_0x46ecf6['replace'](/[.*+?^${}()|[\]\\]/g,_0x2d9554(0x205));return extractShellValue(_0x1a9dc6['match'](new RegExp(_0x2d9554(0x211)+_0x3e9634+'(?:\x5cs+(?:\x22([^\x22]+)\x22|\x27([^\x27]+)\x27|(\x5cS+)))')));}function formatCommandTarget(_0x224071){const _0x24e07c=_0xacff,_0xa76cdd={'CxeoD':function(_0x2756c3,_0x4b1572,_0x2d34a6){return _0x2756c3(_0x4b1572,_0x2d34a6);}};if(!_0x224071)return'target';if(/^e\d+$/i[_0x24e07c(0x227)](_0x224071))return _0x24e07c(0x204)+_0x224071;return JSON[_0x24e07c(0x21c)](_0xa76cdd['CxeoD'](truncatePreview,_0x224071,0x78));}function formatPlaywrightCliLog(_0x476186,_0x1b24a7){const _0x5172d5=_0xacff,_0x28ed11={'hfdlR':_0x5172d5(0x212),'NGTSB':'open\x20browser','KuyVW':'tracing-start','fuAyL':'tracing-stop','NSMsx':'video-stop','cgvfR':'stop\x20video\x20recording','FCDxy':_0x5172d5(0x1ab),'MDJXw':function(_0x4070de,_0x1e126c){return _0x4070de(_0x1e126c);},'pfwHm':function(_0x132698,_0x522e15){return _0x132698(_0x522e15);},'hMpQl':_0x5172d5(0x1fa),'yTIPt':function(_0x1faa56,_0x482926,_0x3779d7){return _0x1faa56(_0x482926,_0x3779d7);},'VVbfy':function(_0x59517d,_0xcdb24c,_0x3cf161){return _0x59517d(_0xcdb24c,_0x3cf161);},'TueIL':'press','JoSMC':function(_0xf2e743,_0x3adeab){return _0xf2e743(_0x3adeab);},'tyVEZ':_0x5172d5(0x19e),'MGGSk':_0x5172d5(0x208),'khRbI':'tab-new','GvNgo':function(_0x2aaa7e,_0x110bf3,_0x58717e){return _0x2aaa7e(_0x110bf3,_0x58717e);},'ePwBP':_0x5172d5(0x18c),'OnCLX':'tab-select'};switch(_0x1b24a7){case _0x28ed11[_0x5172d5(0x1ed)]:{const _0x59014b=extractFirstCommandArgument(_0x476186,_0x1b24a7);return _0x59014b?'open\x20'+_0x59014b:_0x28ed11[_0x5172d5(0x1f9)];}case _0x28ed11['KuyVW']:return _0x5172d5(0x1f1);case _0x28ed11[_0x5172d5(0x1ba)]:return'stop\x20tracing';case _0x5172d5(0x1f3):return _0x5172d5(0x1a5);case _0x28ed11['NSMsx']:return _0x28ed11[_0x5172d5(0x1d5)];case _0x28ed11[_0x5172d5(0x1a2)]:{const _0x372d5a=_0x28ed11[_0x5172d5(0x221)](extractFilenameOption,_0x476186);if(!_0x372d5a)return'capture\x20snapshot';const {name:_0xd9b2e3}=_0x28ed11['pfwHm'](toStepDisplayName,_0x372d5a);return _0x5172d5(0x1e7)+_0xd9b2e3+'`';}case'screenshot':{const _0x35d7e7=extractFilenameOption(_0x476186);if(!_0x35d7e7)return _0x5172d5(0x1e2);const {name:_0x1d077e,isKeyStep:_0x34dfd}=_0x28ed11['MDJXw'](toStepDisplayName,_0x35d7e7);return _0x34dfd?_0x5172d5(0x188)+_0x1d077e+'`':'capture\x20step\x20`'+_0x1d077e+'`';}case _0x28ed11[_0x5172d5(0x1f5)]:return'click\x20'+formatCommandTarget(_0x28ed11['yTIPt'](extractFirstCommandArgument,_0x476186,_0x1b24a7));case _0x5172d5(0x1c4):return _0x5172d5(0x197)+formatCommandTarget(_0x28ed11[_0x5172d5(0x1c9)](extractFirstCommandArgument,_0x476186,_0x1b24a7));case'fill':return'fill\x20'+_0x28ed11[_0x5172d5(0x1df)](formatCommandTarget,extractFirstCommandArgument(_0x476186,_0x1b24a7));case _0x28ed11[_0x5172d5(0x1c7)]:return'press\x20'+_0x28ed11[_0x5172d5(0x206)](formatCommandTarget,_0x28ed11['yTIPt'](extractFirstCommandArgument,_0x476186,_0x1b24a7));case _0x28ed11['tyVEZ']:return _0x28ed11[_0x5172d5(0x187)];case _0x28ed11['khRbI']:{const _0xdd47f6=_0x28ed11['GvNgo'](extractFirstCommandArgument,_0x476186,_0x1b24a7);return _0xdd47f6?_0x5172d5(0x20e)+_0xdd47f6:_0x28ed11[_0x5172d5(0x18a)];}case _0x28ed11[_0x5172d5(0x198)]:{const _0x408a6b=extractFirstCommandArgument(_0x476186,_0x1b24a7);return _0x408a6b?_0x5172d5(0x1ca)+_0x408a6b:_0x5172d5(0x1e1);}default:return _0x1b24a7;}}function extractPlaywrightCliToolDescription(_0x5a51e4){const _0x3f8323=_0xacff,_0x2fc9f4={'DOFCd':function(_0x235b63,_0x576e2d){return _0x235b63!==_0x576e2d;},'cNcOa':_0x3f8323(0x195)},_0x1d9aa5=_0x5a51e4[_0x3f8323(0x20a)];if(_0x2fc9f4[_0x3f8323(0x1dd)](typeof _0x1d9aa5,_0x2fc9f4[_0x3f8323(0x1a9)]))return null;const _0x872168=_0x1d9aa5['trim']()[_0x3f8323(0x18d)](/\s+/g,'\x20');return _0x872168['length']>0x0?_0x872168:null;}export function formatPlaywrightCliConsoleLogMessage(_0x257483,_0xb8c7b6,_0xd622bd){const _0x2ce058=_0xacff,_0x2fb60f={'rgUST':function(_0x2584cc,_0x1aa058,_0x497097){return _0x2584cc(_0x1aa058,_0x497097);}},_0xed6474=_0x2fb60f[_0x2ce058(0x1c6)](formatPlaywrightCliLog,_0xb8c7b6,_0xd622bd),_0x12aa9c=extractPlaywrightCliToolDescription(_0x257483);if(!_0x12aa9c)return'[playwright-cli]\x20'+_0xed6474;if(process[_0x2ce058(0x1da)][_0x2ce058(0x21a)])return'[ranger-verification-agent]\x20'+_0x12aa9c+'\x20('+_0xed6474+')';return _0x2ce058(0x1b9)+_0x12aa9c;}export function buildVerifyFeatureCliDebugPrompt(_0x260c89,_0x4e128e){const _0x2682aa=_0xacff,_0x432b95={'EPxeh':function(_0x32f129,_0x2e2a1b,_0x5af714){return _0x32f129(_0x2e2a1b,_0x5af714);},'XuNQT':'01_mozilla-homepage.png','MFAWE':function(_0xe9b82f,_0xf00a7b){return _0xe9b82f(_0xf00a7b);},'hMgNl':function(_0x349386,_0x256aa9){return _0x349386(_0x256aa9);},'rlMxc':function(_0x3a7220,_0x5b5a78){return _0x3a7220(_0x5b5a78);}},_0x19a0bd=_0x432b95['EPxeh'](buildCliArtifactPath,_0x4e128e,_0x2682aa(0x192)),_0xc283f8=buildCliArtifactPath(_0x4e128e,_0x432b95['XuNQT']),_0x121d9c=buildCliArtifactPath(_0x4e128e,'02_learn-more.yml'),_0x3e9e39=buildCliArtifactPath(_0x4e128e,_0x2682aa(0x1b7)),_0x2cc289=_0x432b95[_0x2682aa(0x214)](quoteShellArg,_0x19a0bd),_0x28e607=_0x432b95['hMgNl'](quoteShellArg,_0xc283f8),_0xf5071a=quoteShellArg(_0x121d9c),_0x35ca48=_0x432b95['rlMxc'](quoteShellArg,_0x3e9e39);return'You\x20are\x20testing\x20browser\x20automation.\x20Your\x20task\x20is\x20simple:\x0a\x0aUse\x20Bash\x20and\x20Playwright\x20CLI\x20only.\x20The\x20browser\x20command\x20prefix\x20is:\x0a'+_0x260c89+'\x0a\x0a1.\x20Run\x20`'+_0x260c89+_0x2682aa(0x1cc)+_0x260c89+'\x20tracing-start`\x0a3.\x20Run\x20`'+_0x260c89+'\x20video-start`\x0a4.\x20Save\x20every\x20snapshot\x20and\x20screenshot\x20under\x20`'+_0x4e128e+'`\x20using\x20absolute\x20paths\x20only.\x20Do\x20not\x20use\x20relative\x20filenames.\x0a5.\x20Run\x20`'+_0x260c89+'\x20snapshot\x20--filename\x20'+_0x2cc289+'`\x0a5.\x20Read\x20the\x20snapshot\x20file\x20to\x20find\x20the\x20\x22Learn\x20More\x22\x20link\x20reference\x0a6.\x20Run\x20`'+_0x260c89+'\x20screenshot\x20--filename\x20'+_0x28e607+_0x2682aa(0x226)+_0x260c89+'\x20snapshot\x20--filename\x20'+_0xf5071a+_0x2682aa(0x21d)+_0x260c89+_0x2682aa(0x201)+_0x35ca48+_0x2682aa(0x1e8);}export function buildVerifyFeatureCliPrompt(_0x290d6b){const _0x4b9295=_0xacff,_0x43d18f={'uxRZu':_0x4b9295(0x1bb),'LNmCl':_0x4b9295(0x1d4),'RiblY':_0x4b9295(0x21b),'qBTgH':'01_initial.yml','CDuWg':function(_0x119e80,_0x3aa074,_0x3b0d47){return _0x119e80(_0x3aa074,_0x3b0d47);},'sGAlf':_0x4b9295(0x1d1),'mPoNe':function(_0x19fc1c,_0x4495b7){return _0x19fc1c(_0x4495b7);},'OKCtY':function(_0x5c7e01,_0x36f7db){return _0x5c7e01(_0x36f7db);},'uMSce':_0x4b9295(0x1f0),'ZwqDc':'key_04_success-state.png'},{checklistItem:_0x53b8d7,itemFeedback:_0x193194,taskDescription:_0x2ef701,cliCommandPrefix:_0x4e6398,cliArtifactDir:_0x2c7074,isCdpMode:_0x3f89a9,url:_0x341646,cdpEndpoint:_0x5b7319,loginInstructions:_0x1b665b}=_0x290d6b,_0x5a9064=buildCliArtifactPath(_0x2c7074,_0x43d18f['qBTgH']),_0x3c606d=buildCliArtifactPath(_0x2c7074,'02_state.yml'),_0x234bfa=_0x43d18f[_0x4b9295(0x1b3)](buildCliArtifactPath,_0x2c7074,'key_03_success-state.png'),_0x152b5d=_0x43d18f[_0x4b9295(0x1b3)](buildCliArtifactPath,_0x2c7074,_0x43d18f[_0x4b9295(0x1e0)]),_0x281dc4=_0x43d18f[_0x4b9295(0x1a0)](quoteShellArg,_0x5a9064),_0x10d66e=quoteShellArg(_0x3c606d),_0x11407b=_0x43d18f[_0x4b9295(0x1ea)](quoteShellArg,_0x234bfa),_0x35585a=quoteShellArg(_0x152b5d),_0x187502=_0x53b8d7[_0x4b9295(0x1b1)]?'\x0a\x0a##\x20Additional\x20Notes\x0a'+_0x53b8d7[_0x4b9295(0x1b1)]:'';let _0x1a1748='';if(_0x193194&&_0x193194['unaddressedComments'][_0x4b9295(0x1cd)]>0x0){const _0x4fd8eb=_0x193194['unaddressedComments']['map'](_0x202d03=>{const _0x381754=_0x4b9295,_0x5c52fe=new Date(_0x202d03[_0x381754(0x191)])[_0x381754(0x1af)]('en-US',{'month':_0x43d18f['uxRZu'],'day':'numeric'}),_0x5ae363=_0x202d03[_0x381754(0x1a4)]||_0x202d03['authorEmail']||'Reviewer',_0x54f682=_0x202d03['domRef']?_0x381754(0x1f8)+(_0x202d03[_0x381754(0x1ac)][_0x381754(0x21e)]['split'](_0x43d18f['LNmCl'])['pop']()?.[_0x381754(0x225)](':')[0x0]||_0x43d18f['RiblY'])+_0x381754(0x1aa)+(_0x202d03['domRef']['textContent']||'')[_0x381754(0x1e6)](0x0,0x32)+'\x22)':'';return'-\x20['+_0x202d03['id']+_0x381754(0x1b8)+_0x5ae363+'**\x20('+_0x5c52fe+_0x381754(0x1bc)+_0x202d03['content']+'\x22'+_0x54f682;})[_0x4b9295(0x1dc)]('\x0a');_0x1a1748='\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'+_0x4fd8eb;}const _0x215436=_0x193194?.['canonicalFlow']?'\x0a\x0a##\x20Expected\x20Flow\x20(from\x20previous\x20verification)\x0a'+_0x193194[_0x4b9295(0x1be)]:'',_0x1a173c=_0x3f89a9?'##\x20App\x20Context\x0aYou\x20are\x20connected\x20to\x20a\x20desktop\x20application\x20via\x20CDP\x20(Chrome\x20DevTools\x20Protocol)\x20at\x20'+_0x5b7319+_0x4b9295(0x189):'CRITICAL\x20URL\x20REQUIREMENT:\x0aYour\x20base\x20URL\x20is:\x20'+_0x341646+_0x4b9295(0x1b6),_0xd83179=_0x341646?quoteShellArg(_0x341646):'',_0x495307=_0x3f89a9?_0x4b9295(0x219)+_0x4e6398+_0x4b9295(0x18b)+_0x4e6398+'\x20tracing-start`,\x20then\x20`'+_0x4e6398+'\x20video-start`.\x0a3.\x20Save\x20every\x20snapshot\x20and\x20screenshot\x20under\x20`'+_0x2c7074+_0x4b9295(0x1b5)+_0x4e6398+_0x4b9295(0x213)+_0x281dc4+'`\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`'+_0x4e6398+_0x4b9295(0x201)+_0x35585a+_0x4b9295(0x203)+_0x4e6398+_0x4b9295(0x1a8):'##\x20Instructions\x0a1.\x20Use\x20Bash\x20plus\x20Playwright\x20CLI\x20only.\x20Do\x20NOT\x20call\x20MCP\x20browser\x20tools.\x0a2.\x20Start\x20by\x20running\x20`'+_0x4e6398+_0x4b9295(0x194)+_0xd83179+_0x4b9295(0x1b2)+_0x4e6398+'\x20tracing-start`,\x20then\x20`'+_0x4e6398+_0x4b9295(0x207)+_0x2c7074+_0x4b9295(0x1b5)+_0x4e6398+_0x4b9295(0x213)+_0x281dc4+_0x4b9295(0x209)+_0x4e6398+_0x4b9295(0x201)+_0x35585a+_0x4b9295(0x1ec)+_0x4e6398+'\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',_0x2baf69=_0x3f89a9?_0x4b9295(0x19c):'\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.',_0x799ebf=_0x1b665b?_0x4b9295(0x216)+_0x1b665b+'\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.':'',_0x18a3a1=_0x290d6b['actorPrefixes']&&_0x290d6b[_0x4b9295(0x1e4)][_0x4b9295(0x1cd)]>=0x2?_0x4b9295(0x193)+_0x290d6b['actorPrefixes']['map'](_0x2c242e=>_0x4b9295(0x1a6)+_0x2c242e['label']+_0x4b9295(0x1ad)+_0x2c242e['prefix']+_0x4b9295(0x210)+_0x2c242e['artifactDir']+_0x4b9295(0x1bf)+_0x2c242e['prefix']+_0x4b9295(0x201)+_0x2c242e[_0x4b9295(0x20b)]+'/01_state.png`).')['join']('\x0a')+_0x4b9295(0x18e)+_0x290d6b['actorPrefixes'][_0x4b9295(0x1ff)](_0x455201=>_0x4b9295(0x215)+_0x455201['label']+_0x4b9295(0x222))[_0x4b9295(0x1dc)]('\x20/\x20')+_0x4b9295(0x1c2)+(_0x290d6b[_0x4b9295(0x1e4)][0x0]?.[_0x4b9295(0x1c3)]??_0x43d18f['uMSce'])+'\x20(the\x20primary\x20actor).\x0a-\x20You\x20may\x20still\x20run\x20`tracing-start`\x20/\x20`video-start`\x20once\x20per\x20actor\x20session,\x20exactly\x20as\x20you\x20do\x20for\x20the\x20single\x20prefix.\x0a-\x20Do\x20NOT\x20run\x20`close`,\x20`tracing-stop`,\x20or\x20`video-stop`\x20for\x20any\x20actor;\x20the\x20host\x20finalizes\x20every\x20actor\x27s\x20session\x20and\x20artifacts.':'';return'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'+_0x53b8d7[_0x4b9295(0x20a)]+_0x187502+_0x1a1748+_0x215436+'\x0a\x0a##\x20Task\x20to\x20Execute\x0a'+_0x2ef701+'\x0a\x0a'+_0x1a173c+_0x799ebf+'\x0a\x0a'+_0x495307+_0x4b9295(0x1f2)+_0x4e6398+_0x4b9295(0x1d0)+_0x2c7074+'`\x0a-\x20`snapshot\x20--filename\x20'+_0x10d66e+'`\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'+_0x11407b+'`\x0a-\x20`run-code\x20\x22await\x20page.waitForTimeout(1000)\x22`\x20for\x20waits\x20or\x20small\x20custom\x20checks'+_0x18a3a1+'\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`'+_0x2c7074+'`:\x20\x22'+_0x152b5d+_0x4b9295(0x19f)+_0x43d18f[_0x4b9295(0x1b3)](buildCliArtifactPath,_0x2c7074,'02_button-clicked.png')+'\x22,\x20\x22'+buildCliArtifactPath(_0x2c7074,'03_result-visible.png')+'\x22\x0a-\x20Number\x20prefixes\x20(01_,\x2002_,\x20etc.)\x20help\x20maintain\x20chronological\x20order\x0a-\x20For\x20KEY\x20MOMENTS\x20that\x20prove\x20the\x20scenario\x20is\x20complete,\x20prefix\x20with\x20\x22key_\x22:\x20\x22'+buildCliArtifactPath(_0x2c7074,_0x43d18f[_0x4b9295(0x220)])+_0x4b9295(0x19d)+_0x2baf69+_0x4b9295(0x1e3);}export function summarizeVerifyFeatureCliCommandAvailability(_0x5df14b){const _0x2307fa=_0xacff,_0x342d4a={'aLftU':function(_0x1ec086,_0x57ca0c){return _0x1ec086===_0x57ca0c;}},_0x58486a=[..._0x5df14b[_0x2307fa(0x1a1)]()][_0x2307fa(0x1fb)]();let _0x4d21b9=0x0;for(const _0x2de6fb of _0x5df14b[_0x2307fa(0x1fd)]()){_0x4d21b9+=_0x2de6fb;}return{'cliCommandCount':_0x4d21b9,'cliCommandsSeen':_0x58486a,'noCliCommandsCalled':_0x342d4a[_0x2307fa(0x1cf)](_0x4d21b9,0x0)};}export function createVerifyFeatureCliHooks(_0x4f205c){const _0x7f12b4=_0xacff,_0x133343={'xYoWH':function(_0x3d3bd1,_0x20f81e){return _0x3d3bd1!==_0x20f81e;},'bjtlb':function(_0x2edaa2,_0x46e193){return _0x2edaa2!==_0x46e193;},'lOLRw':_0x7f12b4(0x1d3),'QvVOb':function(_0x17663f,_0x50875d){return _0x17663f(_0x50875d);},'ccULG':function(_0x19b9ad,_0x127789){return _0x19b9ad+_0x127789;},'BziOj':_0x7f12b4(0x1db),'aeCio':'playwright-cli','MdSiJ':function(_0x1fd33b,_0x5e00c1){return _0x1fd33b(_0x5e00c1);},'reEkM':_0x7f12b4(0x1ab),'kAmbU':_0x7f12b4(0x1f4)},_0x2b4e09=new Map(),_0x5d5814=async _0x295648=>{const _0x5e1621=_0x7f12b4;if(_0x133343[_0x5e1621(0x1a3)](_0x295648['hook_event_name'],_0x5e1621(0x1d8)))return{};const _0x1145c8=_0x295648;if(_0x133343['bjtlb'](_0x1145c8[_0x5e1621(0x200)],_0x133343['lOLRw']))return{};const _0x4c6e82=_0x1145c8[_0x5e1621(0x1c8)],_0x37db4d=extractBashCommand(_0x4c6e82);if(!_0x37db4d)return{};const _0x4bd4bf=_0x133343['QvVOb'](parsePlaywrightCliCommand,_0x37db4d);if(!_0x4bd4bf)return{};return _0x2b4e09['set'](_0x4bd4bf,_0x133343['ccULG'](_0x2b4e09[_0x5e1621(0x1d6)](_0x4bd4bf)||0x0,0x1)),_0x4f205c[_0x5e1621(0x19a)](_0x133343['BziOj'],{'transport':_0x133343['aeCio'],'toolName':_0x4bd4bf}),_0x4f205c[_0x5e1621(0x1c1)](_0x133343['BziOj'],{'transport':_0x5e1621(0x1f7),'toolName':_0x4bd4bf,'bashCommandPreview':_0x133343[_0x5e1621(0x20f)](truncatePreview,_0x37db4d)}),_0x4bd4bf!==_0x133343['reEkM']&&console[_0x5e1621(0x1d7)](formatPlaywrightCliConsoleLogMessage(_0x4c6e82,_0x37db4d,_0x4bd4bf)),{};},_0x4b3061=async _0xd96a81=>{const _0x4b6881=_0x7f12b4;if(_0xd96a81[_0x4b6881(0x20d)]!=='PostToolUseFailure')return{};const _0x5eb4b6=_0xd96a81;if(_0x133343[_0x4b6881(0x1f6)](_0x5eb4b6[_0x4b6881(0x200)],_0x133343[_0x4b6881(0x1eb)]))return{};return await _0x4f205c['trackPhaseError'](_0x133343[_0x4b6881(0x1ee)],_0x5eb4b6['error'],{'transport':_0x133343[_0x4b6881(0x1a7)],'toolName':_0x133343['lOLRw']}),{};};return{'postToolUseHook':_0x5d5814,'postToolUseFailureHook':_0x4b3061,'commandCounts':_0x2b4e09};}async function runPlaywrightCliLifecycleCommand(_0xad03a6){const _0xeae6a3=_0xacff,_0x4a92f1={'cqMGZ':function(_0x32e5cd,_0x3d28ff){return _0x32e5cd(_0x3d28ff);},'YufIH':function(_0x30f94a,_0xd0d266){return _0x30f94a??_0xd0d266;},'yijHB':function(_0x36bb5a,_0x2b25e8,_0x43df23){return _0x36bb5a(_0x2b25e8,_0x43df23);}},{sessionId:_0x1c87f6,configPath:_0x574e0f,commandArgs:_0x4e64a9,env:_0x3980f2,telemetry:_0x16689e,phase:_0x14acf6,metadata:_0x34d85a,timeoutMs:_0x4ac429}=_0xad03a6;_0x16689e[_0xeae6a3(0x19a)](_0x14acf6,_0x34d85a);try{const _0x4a33e7=await _0x4a92f1['cqMGZ'](runPlaywrightCliCommand,{'sessionId':_0x1c87f6,'configPath':_0x574e0f,'commandArgs':_0x4e64a9,'cwd':process[_0xeae6a3(0x19b)](),'env':_0x3980f2,'timeoutMs':_0x4a92f1['YufIH'](_0x4ac429,PLAYWRIGHT_CLI_COMMAND_TIMEOUT_MS)});_0x16689e[_0xeae6a3(0x1c1)](_0x14acf6,{..._0x34d85a,'subcommand':_0x4a33e7[_0xeae6a3(0x1c5)][_0xeae6a3(0x1b4)],'stdoutPreview':_0x4a92f1[_0xeae6a3(0x228)](truncatePreview,_0x4a33e7[_0xeae6a3(0x1c0)],0x7d0),'stderrPreview':_0x4a92f1['yijHB'](truncatePreview,_0x4a33e7['stderr'],0x7d0)});}catch(_0x53a617){await _0x16689e['trackPhaseError'](_0x14acf6,_0x53a617,_0x34d85a);throw _0x53a617;}}export async function finalizeVerifyFeatureCliSession(_0x488f45){const _0x138aff=_0xacff,_0x19abef={'NPnPX':'playwright_cli_tracing_stop','RGAHo':function(_0x56542c,_0x3b1ea8,_0x3aa4e3){return _0x56542c(_0x3b1ea8,_0x3aa4e3);},'DSvxC':'session-recording.webm','OTApX':_0x138aff(0x229),'WdhFj':'close','ZWtfP':function(_0x4f003a,_0x443363){return _0x4f003a(_0x443363);}},{telemetry:_0x5c53fe,sessionId:_0x2a883e,configPath:_0x48b573,cliArtifactDir:_0x42ef97,env:_0x1d290c,transportMetadata:_0x2caf06}=_0x488f45,_0x5d7946=[{'phase':_0x19abef['NPnPX'],'commandArgs':['tracing-stop']},{'phase':_0x138aff(0x224),'commandArgs':['video-stop',_0x138aff(0x1b0)+_0x19abef[_0x138aff(0x223)](buildCliArtifactPath,_0x42ef97,_0x19abef['DSvxC'])]},{'phase':_0x19abef['OTApX'],'commandArgs':[_0x19abef['WdhFj']]}];for(const _0x2ec2c1 of _0x5d7946){try{await _0x19abef[_0x138aff(0x199)](runPlaywrightCliLifecycleCommand,{'sessionId':_0x2a883e,'configPath':_0x48b573,'commandArgs':[..._0x2ec2c1['commandArgs']],'env':_0x1d290c,'telemetry':_0x5c53fe,'phase':_0x2ec2c1['phase'],'metadata':_0x2caf06});}catch{}}}export async function loadVerifyFeatureCliTraceUploadArtifact(_0x5ae01f){const _0x2b174c=_0xacff,_0xaede8c={'fWfNp':_0x2b174c(0x1ef),'qFpec':'trace.trace.zip','zPZDF':function(_0x5f56e8,_0x4a5357){return _0x5f56e8(_0x4a5357);}},_0x1cba24=[_0xaede8c['fWfNp'],_0xaede8c['qFpec']];for(const _0x199970 of _0x1cba24){const _0x4c2540=join(_0x5ae01f,_0x199970);try{return{'buffer':await _0xaede8c[_0x2b174c(0x18f)](readFile,_0x4c2540),'source':_0x4c2540};}catch{}}return null;}export async function rehomeVerifyFeatureCliArtifacts(_0x58f55f){const _0x25cb21=_0xacff,_0x312ccb={'bZqGa':function(_0x84d4e9,_0x18040a,_0x2d6405){return _0x84d4e9(_0x18040a,_0x2d6405);},'IzZsH':function(_0x1bc518,_0x23f2f8){return _0x1bc518(_0x23f2f8);},'ExGrd':function(_0xd88f06,_0x3d1b2c){return _0xd88f06===_0x3d1b2c;}},{cwd:_0x9ed7bc,cliArtifactDir:_0x319d30,startTime:_0xf00f6}=_0x58f55f,_0xe4bb1=[];await mkdir(_0x319d30,{'recursive':!![]});const _0x3b23c1=await _0x312ccb['bZqGa'](readdir,_0x9ed7bc,{'withFileTypes':!![]});for(const _0x1e531b of _0x3b23c1){if(!_0x1e531b[_0x25cb21(0x202)]()||!VERIFY_FEATURE_CLI_ARTIFACT_FILE_PATTERN['test'](_0x1e531b['name']))continue;const _0x1b9a23=join(_0x9ed7bc,_0x1e531b['name']),_0x132891=await _0x312ccb['IzZsH'](stat,_0x1b9a23);if(_0x132891['mtimeMs']+0x7d0<_0xf00f6)continue;const _0x5de240=buildCliArtifactPath(_0x319d30,_0x1e531b['name']);if(_0x312ccb[_0x25cb21(0x1ce)](_0x1b9a23,_0x5de240))continue;await _0x312ccb['bZqGa'](rename,_0x1b9a23,_0x5de240),_0xe4bb1[_0x25cb21(0x190)](_0x1e531b['name']);}return _0xe4bb1[_0x25cb21(0x1fb)]();}
@@ -1 +1 @@
1
- const _0x4a93a9=_0x2831;(function(_0x45d61d,_0x181101){const _0x2ae5ac=_0x2831,_0x148f11=_0x45d61d();while(!![]){try{const _0x3ffce0=-parseInt(_0x2ae5ac(0x25a))/0x1*(-parseInt(_0x2ae5ac(0x1ed))/0x2)+-parseInt(_0x2ae5ac(0x227))/0x3+-parseInt(_0x2ae5ac(0x202))/0x4*(parseInt(_0x2ae5ac(0x26b))/0x5)+-parseInt(_0x2ae5ac(0x1e6))/0x6*(parseInt(_0x2ae5ac(0x223))/0x7)+-parseInt(_0x2ae5ac(0x24c))/0x8*(parseInt(_0x2ae5ac(0x289))/0x9)+-parseInt(_0x2ae5ac(0x1c2))/0xa*(-parseInt(_0x2ae5ac(0x1cd))/0xb)+parseInt(_0x2ae5ac(0x231))/0xc*(parseInt(_0x2ae5ac(0x29d))/0xd);if(_0x3ffce0===_0x181101)break;else _0x148f11['push'](_0x148f11['shift']());}catch(_0x54c59e){_0x148f11['push'](_0x148f11['shift']());}}}(_0x559d,0x8aa67));import{execFile}from'child_process';import{mkdir,readdir,readFile,rename,rm,stat,writeFile}from'fs/promises';import{homedir}from'os';import{basename,join}from'path';function _0x2831(_0x4e699f,_0x373719){_0x4e699f=_0x4e699f-0x1bb;const _0x559d38=_0x559d();let _0x28314e=_0x559d38[_0x4e699f];return _0x28314e;}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([_0x4a93a9(0x225),_0x4a93a9(0x1e3),_0x4a93a9(0x25d),_0x4a93a9(0x20a),'goto',_0x4a93a9(0x280),'snapshot',_0x4a93a9(0x201)]),execFileAsync=promisify(execFile);function buildCliArtifactPath(_0x4e3e35,_0x4bb2d6){return join(_0x4e3e35,_0x4bb2d6);}export class NovaActArtifactRecorder{['params'];[_0x4a93a9(0x29f)]=null;[_0x4a93a9(0x27c)]=null;[_0x4a93a9(0x29b)]=null;['frameWrites']=[];['frameCount']=0x0;[_0x4a93a9(0x269)]=0x0;['traceSampleTimer']=null;[_0x4a93a9(0x279)]=null;[_0x4a93a9(0x262)]=![];['screencastStarted']=![];['startAttempted']=![];[_0x4a93a9(0x285)]=![];constructor(_0x13ca4f){this['params']=_0x13ca4f;}async[_0x4a93a9(0x254)](){const _0x2fe0c0=_0x4a93a9,_0x402487={'sySEQ':'Nova\x20CDP\x20connection\x20did\x20not\x20expose\x20a\x20browser\x20context','lTXOh':_0x2fe0c0(0x1d1)};if(this['startAttempted'])return;this['startAttempted']=!![];const _0x2e015e=await this[_0x2fe0c0(0x246)](),_0x32b029=_0x2e015e['cdp_endpoint'];if(!_0x32b029)throw new Error('Nova\x20session\x20metadata\x20did\x20not\x20include\x20cdp_endpoint\x20for\x20'+this['params']['novaOptions'][_0x2fe0c0(0x268)]);await mkdir(this['params'][_0x2fe0c0(0x213)],{'recursive':!![]}),this['browser']=await chromium[_0x2fe0c0(0x1d6)](_0x32b029,{'timeout':NOVA_ARTIFACT_CDP_CONNECT_TIMEOUT_MS}),this['context']=this[_0x2fe0c0(0x29f)]['contexts']()[0x0]??null;if(!this[_0x2fe0c0(0x27c)])throw new Error(_0x402487['sySEQ']);await this[_0x2fe0c0(0x27c)]['tracing']['start']({'screenshots':!![],'snapshots':!![],'sources':!![]}),this[_0x2fe0c0(0x262)]=!![],this[_0x2fe0c0(0x297)](),await this[_0x2fe0c0(0x283)](),this[_0x2fe0c0(0x240)]['telemetry']['trackPhaseStart'](_0x2fe0c0(0x1d1),{...this[_0x2fe0c0(0x240)][_0x2fe0c0(0x1d2)],'cdpEndpoint':_0x32b029,'browserPid':_0x2e015e['browser_pid'],'sessionState':_0x2e015e['state']}),this[_0x2fe0c0(0x240)][_0x2fe0c0(0x226)][_0x2fe0c0(0x1d3)](_0x402487[_0x2fe0c0(0x224)],{...this['params']['transportMetadata'],'tracingStarted':this['tracingStarted'],'screencastStarted':this[_0x2fe0c0(0x1df)]});}async[_0x4a93a9(0x22c)](){const _0x384f76=_0x4a93a9;if(this[_0x384f76(0x285)])return;this['stopped']=!![];const _0x1aa844={...this['params'][_0x384f76(0x1d2)],'frameCount':this[_0x384f76(0x27b)],'traceSampleCount':this[_0x384f76(0x269)],'tracingStarted':this['tracingStarted'],'screencastStarted':this[_0x384f76(0x1df)]};this['params'][_0x384f76(0x226)]['trackPhaseStart']('nova_act_artifact_recording_stop',_0x1aa844);try{await this[_0x384f76(0x24b)](),await this['captureTraceSample'](),await this[_0x384f76(0x26e)](),await Promise[_0x384f76(0x1e7)](this['frameWrites']);this[_0x384f76(0x27c)]&&this[_0x384f76(0x262)]&&await this['context'][_0x384f76(0x1ca)][_0x384f76(0x22c)]({'path':buildCliArtifactPath(this[_0x384f76(0x240)]['cliArtifactDir'],'trace.zip')});const _0x24923e=await this['encodeScreencastVideo']();this['params'][_0x384f76(0x226)][_0x384f76(0x1d3)]('nova_act_artifact_recording_stop',{..._0x1aa844,'videoPath':_0x24923e});}catch(_0x537dd2){await this[_0x384f76(0x240)][_0x384f76(0x226)]['trackPhaseError']('nova_act_artifact_recording_stop',_0x537dd2,_0x1aa844);}finally{await this[_0x384f76(0x29f)]?.['close']()[_0x384f76(0x20b)](()=>undefined),this['browser']=null,this['context']=null,this[_0x384f76(0x29b)]=null;}}async[_0x4a93a9(0x246)](){const _0x2471cc=_0x4a93a9,_0x479fdb={'NzHYG':function(_0x32f50e,_0x19899e,_0x5e9c99,_0x5a6746,_0x5ee46a,_0x5d40e7){return _0x32f50e(_0x19899e,_0x5e9c99,_0x5a6746,_0x5ee46a,_0x5d40e7);},'VeCtr':function(_0x262540){return _0x262540();},'wCJLZ':'browser','Ronjb':'sessions','vDOgr':_0x2471cc(0x1c5),'MXXOy':function(_0x5f3ef8,_0x4f36b8){return _0x5f3ef8(_0x4f36b8);},'tOnEK':function(_0x4368a4,_0x51a252){return _0x4368a4-_0x51a252;},'ZFKBb':function(_0xc7f6bd,_0x387202){return _0xc7f6bd instanceof _0x387202;}},_0x513739=_0x479fdb[_0x2471cc(0x26c)](join,_0x479fdb[_0x2471cc(0x296)](homedir),_0x2471cc(0x1f9),_0x479fdb[_0x2471cc(0x281)],_0x479fdb['Ronjb'],this[_0x2471cc(0x240)][_0x2471cc(0x1f3)][_0x2471cc(0x268)]+_0x2471cc(0x1dd)),_0xc543ec=Date[_0x2471cc(0x28b)]();let _0x504e48;do{try{const _0x29728b=JSON['parse'](await readFile(_0x513739,_0x479fdb[_0x2471cc(0x253)]));if(_0x29728b['cdp_endpoint'])return _0x29728b;_0x504e48=new Error('Nova\x20metadata\x20missing\x20cdp_endpoint\x20at\x20'+_0x513739);}catch(_0x38e7f6){_0x504e48=_0x38e7f6;}await _0x479fdb['MXXOy'](delay,0x64);}while(_0x479fdb[_0x2471cc(0x1e9)](Date[_0x2471cc(0x28b)](),_0xc543ec)<NOVA_ARTIFACT_METADATA_WAIT_MS);if(_0x479fdb['ZFKBb'](_0x504e48,Error))throw _0x504e48;throw new Error('Unable\x20to\x20read\x20Nova\x20session\x20metadata\x20at\x20'+_0x513739);}async[_0x4a93a9(0x283)](){const _0x41f503=_0x4a93a9,_0x5de6b3={'uGymZ':_0x41f503(0x1c4),'QoeTy':_0x41f503(0x275),'EXcdB':_0x41f503(0x27f)};if(!this[_0x41f503(0x27c)])return;const _0x5a6409=this['context'][_0x41f503(0x1c6)]()[0x0];if(!_0x5a6409)return;const _0x507d3b=this[_0x41f503(0x1eb)]();await mkdir(_0x507d3b,{'recursive':!![]});const _0x3fa6bc=await this['context']['newCDPSession'](_0x5a6409);this['frameSession']=_0x3fa6bc,_0x3fa6bc['on'](_0x41f503(0x1c3),_0x2c244c=>{const _0x4ffbe2=_0x41f503,_0x4cde54=++this[_0x4ffbe2(0x27b)],_0x5a1644=join(_0x507d3b,'frame-'+String(_0x4cde54)['padStart'](0x6,'0')+'.jpg'),_0x151c5d=writeFile(_0x5a1644,Buffer['from'](_0x2c244c[_0x4ffbe2(0x21f)],_0x5de6b3['uGymZ']))[_0x4ffbe2(0x20b)](()=>undefined)[_0x4ffbe2(0x24a)](()=>_0x3fa6bc['send']('Page.screencastFrameAck',{'sessionId':_0x2c244c[_0x4ffbe2(0x268)]}))['then'](()=>undefined)[_0x4ffbe2(0x20b)](()=>undefined);this['frameWrites']['push'](_0x151c5d);}),await _0x3fa6bc[_0x41f503(0x266)](_0x5de6b3['QoeTy'],{'format':_0x5de6b3[_0x41f503(0x1e0)],'quality':0x4b,'everyNthFrame':0x6}),this['screencastStarted']=!![];}async[_0x4a93a9(0x26e)](){const _0x46f52c=_0x4a93a9;if(!this[_0x46f52c(0x29b)]||!this[_0x46f52c(0x1df)])return;await this['frameSession']['send'](_0x46f52c(0x20f))[_0x46f52c(0x20b)](()=>undefined);}['startTraceSampling'](){const _0x1b5c11=_0x4a93a9,_0x4cfd35={'fbJpj':function(_0x4d64c,_0x2d2861,_0x3aba66){return _0x4d64c(_0x2d2861,_0x3aba66);}};this[_0x1b5c11(0x1f6)](),this['traceSampleTimer']=_0x4cfd35[_0x1b5c11(0x1bb)](setInterval,()=>this[_0x1b5c11(0x1f6)](),NOVA_ARTIFACT_TRACE_SAMPLE_INTERVAL_MS);}['queueTraceSample'](){const _0x4df649=_0x4a93a9;if(this[_0x4df649(0x279)])return;this[_0x4df649(0x279)]=this[_0x4df649(0x1fe)]()['finally'](()=>{const _0x18d9e3=_0x4df649;this[_0x18d9e3(0x279)]=null;});}async[_0x4a93a9(0x24b)](){const _0x1b25f6=_0x4a93a9;this[_0x1b25f6(0x23d)]&&(clearInterval(this[_0x1b25f6(0x23d)]),this[_0x1b25f6(0x23d)]=null),await this['traceSampleInFlight']?.['catch'](()=>undefined);}async['captureTraceSample'](){const _0x29f61a=_0x4a93a9,_0x6a653b={'uNgel':_0x29f61a(0x1fc)},_0x66e1b=this['context']?.['pages']()[0x0];if(!_0x66e1b)return;try{await _0x66e1b[_0x29f61a(0x20c)](_0x6a653b[_0x29f61a(0x1ee)])[_0x29f61a(0x200)](_0x5d25b2=>_0x5d25b2[_0x29f61a(0x221)],undefined,{'timeout':0x3e8}),this['traceSampleCount']++;}catch{}}async['encodeScreencastVideo'](){const _0x288a0f=_0x4a93a9,_0x5d92aa={'MZBnN':function(_0x436ed8){return _0x436ed8();},'HblKo':function(_0x15778a,_0x4d777d,_0x928cca){return _0x15778a(_0x4d777d,_0x928cca);},'usQAB':_0x288a0f(0x242),'NIMkN':'-hide_banner','jbJhp':'error','dPHLW':'frame-%06d.jpg','TEKFG':'-c:v','ECOmV':'libvpx-vp9'};if(this['frameCount']<0x2)return null;const _0x3d1cd3=await _0x5d92aa[_0x288a0f(0x1ce)](resolveFfmpegPath);if(!_0x3d1cd3)return null;const _0x19667a=_0x5d92aa[_0x288a0f(0x294)](join,this[_0x288a0f(0x240)][_0x288a0f(0x213)],'videos');await _0x5d92aa[_0x288a0f(0x294)](mkdir,_0x19667a,{'recursive':!![]});const _0x44c34b=_0x5d92aa[_0x288a0f(0x294)](join,_0x19667a,_0x5d92aa['usQAB']);return await _0x5d92aa[_0x288a0f(0x294)](execFileAsync,_0x3d1cd3,['-y',_0x5d92aa[_0x288a0f(0x205)],_0x288a0f(0x21d),_0x5d92aa[_0x288a0f(0x28f)],_0x288a0f(0x28a),'10','-i',_0x5d92aa[_0x288a0f(0x294)](join,this[_0x288a0f(0x1eb)](),_0x5d92aa[_0x288a0f(0x252)]),_0x288a0f(0x26f),_0x288a0f(0x236),_0x5d92aa[_0x288a0f(0x235)],_0x5d92aa[_0x288a0f(0x1f7)],_0x288a0f(0x28e),_0x288a0f(0x282),_0x44c34b]),_0x44c34b;}[_0x4a93a9(0x1eb)](){const _0x31ed9b=_0x4a93a9,_0x53b5f3={'dAoXk':function(_0x2dc19b,_0x45bd73,_0x517ce5){return _0x2dc19b(_0x45bd73,_0x517ce5);},'EDUvO':'nova-video-frames'};return _0x53b5f3['dAoXk'](join,this['params']['cliArtifactDir'],_0x53b5f3[_0x31ed9b(0x23b)]);}}async function delay(_0x45b99e){await new Promise(_0x12d329=>setTimeout(_0x12d329,_0x45b99e));}async function resolveFfmpegPath(){const _0x435a8b=_0x4a93a9,_0x40daed={'qAuSY':_0x435a8b(0x278),'KkXPL':function(_0x4bc989,_0x2b82c7,_0x9e080b,_0x320dd6,_0xe9eb50){return _0x4bc989(_0x2b82c7,_0x9e080b,_0x320dd6,_0xe9eb50);},'IoWDS':function(_0x2af638){return _0x2af638();},'tRlIw':'ms-playwright','lWeFy':function(_0x2b9957,_0x3e314b){return _0x2b9957(_0x3e314b);}};if(await canRunFfmpeg('ffmpeg'))return _0x40daed['qAuSY'];const _0x52d44b=[_0x40daed[_0x435a8b(0x24f)](join,_0x40daed['IoWDS'](homedir),'Library',_0x435a8b(0x295),_0x40daed['tRlIw']),join(_0x40daed[_0x435a8b(0x1dc)](homedir),_0x435a8b(0x263),_0x435a8b(0x215))];for(const _0x29578d of _0x52d44b){try{const _0x27662c=await readdir(_0x29578d),_0x4ae38d=_0x27662c[_0x435a8b(0x1e5)](_0x48769b=>_0x48769b['startsWith']('ffmpeg-'))[_0x435a8b(0x1ec)]()['reverse']()['flatMap'](_0x116dd6=>[join(_0x29578d,_0x116dd6,'ffmpeg-mac'),join(_0x29578d,_0x116dd6,_0x435a8b(0x20d)),join(_0x29578d,_0x116dd6,_0x435a8b(0x211))]);for(const _0x84e7cc of _0x4ae38d){if(await _0x40daed['lWeFy'](canRunFfmpeg,_0x84e7cc))return _0x84e7cc;}}catch{}}return null;}async function canRunFfmpeg(_0x47fd11){const _0xc30337=_0x4a93a9,_0x4a16f5={'nYLUW':function(_0x1a2ce4,_0x2101c6,_0x3d5965){return _0x1a2ce4(_0x2101c6,_0x3d5965);},'QWXoR':'-version'};try{return await _0x4a16f5[_0xc30337(0x1fa)](execFileAsync,_0x47fd11,[_0x4a16f5['QWXoR']]),!![];}catch{return![];}}function toStepDisplayName(_0x54e254){const _0x571a10=_0x4a93a9,_0x37da81=basename(_0x54e254)[_0x571a10(0x1d8)](/\.(?:png|ya?ml)$/i,'')['replace'](/^key_/i,'')[_0x571a10(0x1d8)](/^\d+_/,'')['replace'](/-/g,'\x20');return{'name':_0x37da81,'isKeyStep':/^key_/i[_0x571a10(0x210)](basename(_0x54e254))};}function extractShellValue(_0x25d7b4){if(!_0x25d7b4)return null;return _0x25d7b4[0x1]??_0x25d7b4[0x2]??_0x25d7b4[0x3]??null;}function extractOutputOption(_0x52c3a2){const _0x39b581={'rAopA':function(_0x53b238,_0x4de293){return _0x53b238(_0x4de293);}};return _0x39b581['rAopA'](extractShellValue,_0x52c3a2['match'](/--output(?:=|\s+)(?:"([^"]+)"|'([^']+)'|(\S+))/));}function formatNovaActCliLog(_0x227e20,_0x54e25a){const _0x163b78=_0x4a93a9,_0x543a78={'dFzBW':_0x163b78(0x225),'lOENI':'create\x20Nova\x20browser\x20session','zWkpS':_0x163b78(0x25d),'OlBSe':_0x163b78(0x255),'NCnHU':_0x163b78(0x280),'qyHjQ':'wait\x20for\x20page\x20condition','lkVKX':'snapshot','qEiTM':function(_0x3a5a83,_0x57f818){return _0x3a5a83(_0x57f818);},'vRWjd':_0x163b78(0x201),'jKnKl':'export\x20Nova\x20session'};switch(_0x54e25a){case _0x543a78[_0x163b78(0x1bf)]:return _0x543a78[_0x163b78(0x29a)];case _0x163b78(0x1e3):return'execute\x20Nova\x20browser\x20action';case _0x543a78[_0x163b78(0x287)]:return _0x163b78(0x1c9);case'ask':return _0x163b78(0x247);case'goto':return _0x543a78[_0x163b78(0x24d)];case _0x543a78['NCnHU']:return _0x543a78[_0x163b78(0x27d)];case _0x543a78['lkVKX']:{const _0x5372c8=_0x543a78[_0x163b78(0x270)](extractOutputOption,_0x227e20);if(!_0x5372c8)return'capture\x20snapshot';const {name:_0x321c6a}=toStepDisplayName(_0x5372c8);return'capture\x20snapshot\x20`'+_0x321c6a+'`';}case _0x543a78['vRWjd']:{const _0x4601ab=_0x543a78['qEiTM'](extractOutputOption,_0x227e20);if(!_0x4601ab)return'capture\x20screenshot';const {name:_0x44f017,isKeyStep:_0x48da5e}=_0x543a78[_0x163b78(0x270)](toStepDisplayName,_0x4601ab);return _0x48da5e?'capture\x20key\x20step\x20`'+_0x44f017+'`':'capture\x20step\x20`'+_0x44f017+'`';}case'session\x20export':return _0x543a78['jKnKl'];default:return _0x54e25a;}}function getNovaActCliCommandBlockReason(_0x2ef727){const _0x3e4ee8=_0x4a93a9,_0x193139={'gTcPe':function(_0x3b0559,_0x21a13a){return _0x3b0559(_0x21a13a);},'EhisT':_0x3e4ee8(0x1d9),'frDCp':function(_0x2f6280,_0xd7636e){return _0x2f6280===_0xd7636e;},'FlFhE':'verify','FiCcQ':'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.','lkTEu':_0x3e4ee8(0x1bd)},_0x12e2ae=_0x193139[_0x3e4ee8(0x256)](parseNovaActCliCommand,_0x2ef727);if(!_0x12e2ae)return _0x193139[_0x3e4ee8(0x284)];if(!NOVA_ACT_ALLOWED_AGENT_COMMANDS[_0x3e4ee8(0x23e)](_0x12e2ae))return _0x3e4ee8(0x232)+_0x12e2ae+'`\x20is\x20reserved\x20for\x20the\x20host.\x20Use\x20only\x20session\x20create,\x20execute,\x20verify,\x20ask,\x20goto,\x20wait-for,\x20snapshot,\x20and\x20screenshot.';if(_0x193139['frDCp'](_0x12e2ae,_0x193139['FlFhE'])&&/\b(?:previously visited|visited pages|pages visited|at least one of the pages visited)\b/i['test'](_0x2ef727))return _0x193139[_0x3e4ee8(0x1c8)];if(/\s--help\b|\bdoctor\b|\bscript\b|\bsession\s+(?:close|list|export)\b/['test'](_0x2ef727))return _0x193139[_0x3e4ee8(0x272)];return null;}function buildFeedbackSection(_0x685364){const _0x3102ac=_0x4a93a9,_0x3a58f5={'zBreU':_0x3102ac(0x28d),'qtSCt':'short','tJzWt':_0x3102ac(0x1f2),'NINUe':function(_0x4a3c47,_0x3ed5c1){return _0x4a3c47===_0x3ed5c1;}};if(!_0x685364||_0x3a58f5['NINUe'](_0x685364['unaddressedComments']['length'],0x0))return'';const _0x3c4792=_0x685364[_0x3102ac(0x1e1)][_0x3102ac(0x273)](_0x1a4b05=>{const _0x1f3ad0=_0x3102ac,_0x2961af=new Date(_0x1a4b05['createdAt'])['toLocaleDateString'](_0x3a58f5[_0x1f3ad0(0x271)],{'month':_0x3a58f5['qtSCt'],'day':_0x1f3ad0(0x25f)}),_0x22faee=_0x1a4b05[_0x1f3ad0(0x1ef)]||_0x1a4b05[_0x1f3ad0(0x203)]||_0x1f3ad0(0x27a),_0x5b6b90=_0x1a4b05['domRef']?_0x1f3ad0(0x259)+(_0x1a4b05[_0x1f3ad0(0x23a)]['selector'][_0x1f3ad0(0x267)](_0x3a58f5[_0x1f3ad0(0x29e)])[_0x1f3ad0(0x1f5)]()?.['split'](':')[0x0]||'element')+_0x1f3ad0(0x1d5)+(_0x1a4b05['domRef']['textContent']||'')['slice'](0x0,0x32)+'\x22)':'';return _0x1f3ad0(0x26d)+_0x1a4b05['id']+']\x20**'+_0x22faee+_0x1f3ad0(0x286)+_0x2961af+_0x1f3ad0(0x228)+_0x1a4b05[_0x1f3ad0(0x233)]+'\x22'+_0x5b6b90;})['join']('\x0a');return'\x0a\x0a##\x20Reviewer\x20Feedback\x20to\x20Address\x0aThe\x20following\x20reviewer\x20comments\x20were\x20left\x20on\x20the\x20previous\x20version\x20of\x20this\x20item.\x0aVerify\x20that\x20each\x20concern\x20has\x20been\x20addressed\x20in\x20the\x20current\x20implementation.\x0aFor\x20each\x20comment\x20you\x20believe\x20has\x20been\x20addressed,\x20include\x20its\x20ID\x20in\x20addressedCommentIds.\x0a\x0a'+_0x3c4792;}function buildNovaSharedOptionsInstruction(_0x3e5dc4){const _0x7a102e=_0x4a93a9;if(!_0x3e5dc4[_0x7a102e(0x298)]())return _0x7a102e(0x1d4);return _0x7a102e(0x23c)+_0x3e5dc4;}function _0x559d(){const _0x348ced=['locator','ffmpeg-linux','values','Page.stopScreencast','test','ffmpeg.exe','GzyTw','cliArtifactDir','env','ms-playwright','01_initial-state.png','uLdji','shellCommand','\x20session\x20create\x20','\x20snapshot\x20--output\x20','RsvLN','session','-loglevel','PKLPx','data','subcommand','tagName','RWITC','35wdfahZ','lTXOh','session\x20create','telemetry','585501PkOwOF','):\x20\x22','tNITz','--report','`.\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`','stop','02_final-state.yml','trackPhaseStart','nova_act_session_close','--output','84zjLswe','Nova\x20command\x20`','content','Bash','TEKFG','scale=trunc(iw/2)*2:trunc(ih/2)*2','rtvZk','`\x0a-\x20`','set','domRef','EDUvO','Append\x20this\x20option\x20suffix\x20to\x20every\x20browser\x20command\x20unless\x20the\x20host\x20gives\x20a\x20more\x20specific\x20example:\x0a','traceSampleTimer','has','ZWceg','params','[nova-act-cli]\x20','session-recording.webm','tool_name','IZDar','nJXRq','readSessionMetadataWithRetry','ask\x20page\x20question','invocation','wHNmB','finally','stopTraceSampling','1144zETxwF','OlBSe','`\x0a6.\x20Run\x20`','KkXPL','stdout','MxOuD','dPHLW','vDOgr','start','navigate\x20browser','gTcPe','PostToolUse','qceMd','\x20(on\x20element:\x20<','15681pMExZo','nova-act-cli','PLTlh','verify','hRPAS','numeric','--format','name','tracingStarted','.cache','JSHqr','push','send','split','sessionId','traceSampleCount','nova_act_final_snapshot','5RnBXZE','NzHYG','-\x20[','stopScreencast','-vf','qEiTM','zBreU','lkTEu','map','phase','Page.startScreencast','export','zcilT','ffmpeg','traceSampleInFlight','Reviewer','frameCount','context','qyHjQ','\x0a\x0a##\x20Authentication\x0aBEFORE\x20starting\x20the\x20verification\x20task,\x20authenticate\x20using\x20these\x20steps:\x0a','jpeg','wait-for','wCJLZ','yuv420p','startScreencast','EhisT','stopped','**\x20(','zWkpS','xSKIh','56502lXslCt','-framerate','now','FVTat','en-US','-pix_fmt','jbJhp','\x0a\x0aExamples:\x0a-\x20`','`<none;\x20the\x20command\x20prefix\x20injects\x20shared\x20options>`','TXTaH','wCpkB','HblKo','Caches','VeCtr','startTraceSampling','trim','\x20execute\x20\x22...\x22`\x20command\x20to\x20exercise\x20the\x20current\x20page.\x0a5.\x20Run\x20`','lOENI','frameSession','notes','2606279wPVROo','tJzWt','browser','fbJpj','commandArgs','Do\x20not\x20run\x20Nova\x20help,\x20doctor,\x20script,\x20session\x20list,\x20session\x20export,\x20or\x20session\x20close\x20commands\x20during\x20verification.','zip','dFzBW','isFile','nova-user-data/*','140BKxoaH','Page.screencastFrame','base64','utf-8','pages','\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`','FiCcQ','verify\x20page\x20condition','tracing','key_03_success-state.png','tool_input','154935XNRJRr','MZBnN','keys','\x0a\x0aIf\x20authentication\x20fails,\x20return\x20evaluation\x20\x22blocked\x22\x20and\x20describe\x20the\x20auth\x20failure.','nova_act_artifact_recording','transportMetadata','trackPhaseEnd','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.','>\x20\x22','connectOverCDP','canonicalFlow','replace','Use\x20only\x20the\x20provided\x20Nova\x20browser\x20command\x20prefix\x20for\x20browser\x20verification.\x20Do\x20not\x20inspect\x20setup,\x20credentials,\x20files,\x20or\x20the\x20local\x20environment.','gWJnC','nova_act_command','IoWDS','.json','\x20screenshot\x20--output\x20','screencastStarted','EXcdB','unaddressedComments','spmdn','execute','nova_act_final_screenshot','filter','518436lFOSgp','allSettled','UJcyJ','tOnEK','snapshot','getFrameDir','sort','114ROgodw','uNgel','authorName','key_final-state.png','`.\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`','\x20>\x20','novaOptions','trace.zip','pop','queueTraceSample','ECOmV','hook_event_name','.act_cli','nYLUW','nova-artifacts.zip','body','\x0a\x0a##\x20Additional\x20Notes\x0a','captureTraceSample','`\x0a4.\x20Run\x20one\x20batched\x20`','evaluate','screenshot','1606104oQRdud','authorEmail','WKKYu','NIMkN','get','BXwFQ','trackPhaseError','`\x0a2.\x20Run\x20`','ask','catch'];_0x559d=function(){return _0x348ced;};return _0x559d();}export function buildVerifyFeatureNovaCliDebugPrompt(_0x231a2f){const _0x3add48=_0x4a93a9,_0x5319b7={'RsvLN':function(_0x575b70,_0x43fc36,_0x365bd5){return _0x575b70(_0x43fc36,_0x365bd5);},'nCpSK':'00_initial-state.yml','MxOuD':function(_0x34accf,_0x2aac9d,_0x4a134a){return _0x34accf(_0x2aac9d,_0x4a134a);},'gWJnC':_0x3add48(0x22d),'GzyTw':'03_final-state.png','RWITC':function(_0x3dadba,_0x59e9a7){return _0x3dadba(_0x59e9a7);}},{novaCommandPrefix:_0x38a377,novaSharedOptionsSuffix:_0x411c24,cliArtifactDir:_0xd14d50,url:_0x23f238}=_0x231a2f,_0x94a045=_0x5319b7[_0x3add48(0x21b)](buildCliArtifactPath,_0xd14d50,_0x5319b7['nCpSK']),_0x2c3df4=buildCliArtifactPath(_0xd14d50,'01_initial-state.png'),_0x450321=_0x5319b7[_0x3add48(0x251)](buildCliArtifactPath,_0xd14d50,_0x5319b7[_0x3add48(0x1da)]),_0x38e335=buildCliArtifactPath(_0xd14d50,_0x5319b7[_0x3add48(0x212)]);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'+_0x38a377+'\x0a\x0a'+_0x5319b7['RWITC'](buildNovaSharedOptionsInstruction,_0x411c24)+_0x3add48(0x1c7)+_0x38a377+'\x20session\x20create\x20'+quoteShellArg(_0x23f238)+'\x20'+_0x411c24+_0x3add48(0x209)+_0x38a377+_0x3add48(0x21a)+quoteShellArg(_0x94a045)+'\x20'+_0x411c24+'`\x0a3.\x20Run\x20`'+_0x38a377+_0x3add48(0x1de)+quoteShellArg(_0x2c3df4)+'\x20'+_0x411c24+_0x3add48(0x1ff)+_0x38a377+_0x3add48(0x299)+_0x38a377+'\x20snapshot\x20--output\x20'+quoteShellArg(_0x450321)+'\x20'+_0x411c24+_0x3add48(0x24e)+_0x38a377+_0x3add48(0x1de)+_0x5319b7[_0x3add48(0x222)](quoteShellArg,_0x38e335)+'\x20'+_0x411c24+'`\x0a7.\x20Return\x20immediately\x20with\x20the\x20structured\x20output.\x0a\x0aSave\x20every\x20artifact\x20under\x20`'+_0xd14d50+'`\x20using\x20absolute\x20paths\x20only.\x0aReturn\x20your\x20findings\x20in\x20the\x20structured\x20output\x20format.';}export function buildVerifyFeatureNovaCliPrompt(_0x4c4a10){const _0x501713=_0x4a93a9,_0x593000={'FVTat':'01_initial.yml','sUwet':function(_0x2d7e20,_0x1f882e,_0x18b52a){return _0x2d7e20(_0x1f882e,_0x18b52a);},'MRIZg':_0x501713(0x216),'JmQkH':function(_0xa9ef81,_0x2dae83,_0x4699c7){return _0xa9ef81(_0x2dae83,_0x4699c7);},'RLSuk':_0x501713(0x1cb),'GCHqW':function(_0x2c784a,_0x3e11d3){return _0x2c784a(_0x3e11d3);}},{checklistItem:_0x557c46,itemFeedback:_0x13b2df,taskDescription:_0x135869,novaCommandPrefix:_0x162d22,novaSharedOptionsSuffix:_0x3b9a66,cliArtifactDir:_0x13dd95,url:_0x410f19,loginInstructions:_0x47cc72}=_0x4c4a10,_0x16181f=_0x557c46[_0x501713(0x29c)]?_0x501713(0x1fd)+_0x557c46['notes']:'',_0x421053=buildFeedbackSection(_0x13b2df),_0x5512a2=_0x13b2df?.[_0x501713(0x1d7)]?'\x0a\x0a##\x20Expected\x20Flow\x20(from\x20previous\x20verification)\x0a'+_0x13b2df[_0x501713(0x1d7)]:'',_0x329391=_0x47cc72?_0x501713(0x27e)+_0x47cc72+_0x501713(0x1d0):'',_0x4e1d9d=buildCliArtifactPath(_0x13dd95,_0x593000[_0x501713(0x28c)]),_0x574ce7=_0x593000['sUwet'](buildCliArtifactPath,_0x13dd95,_0x593000['MRIZg']),_0x3c8894=_0x593000['JmQkH'](buildCliArtifactPath,_0x13dd95,_0x593000['RLSuk']);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'+_0x557c46['description']+_0x16181f+_0x421053+_0x5512a2+'\x0a\x0a##\x20Task\x20to\x20Execute\x0a'+_0x135869+'\x0a\x0a##\x20App\x20Context\x0aYour\x20base\x20URL\x20is:\x20'+_0x410f19+'\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'+_0x329391+'\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`'+_0x162d22+_0x501713(0x219)+quoteShellArg(_0x410f19)+'\x20'+_0x3b9a66+'`.\x0a4.\x20Save\x20every\x20snapshot\x20and\x20screenshot\x20under\x20`'+_0x13dd95+'`\x20using\x20absolute\x20paths\x20only.\x0a5.\x20Take\x20an\x20initial\x20snapshot:\x20`'+_0x162d22+'\x20snapshot\x20--output\x20'+quoteShellArg(_0x4e1d9d)+'\x20'+_0x3b9a66+'`.\x0a6.\x20Take\x20an\x20initial\x20screenshot:\x20`'+_0x162d22+_0x501713(0x1de)+quoteShellArg(_0x574ce7)+'\x20'+_0x3b9a66+_0x501713(0x1f1)+_0x3c8894+_0x501713(0x22b)+_0x162d22+'`\x0a\x0aAppend\x20this\x20option\x20suffix\x20to\x20browser\x20commands:\x0a'+(_0x3b9a66[_0x501713(0x298)]()?'`'+_0x3b9a66+'`':_0x501713(0x291))+'\x0a\x0a'+_0x593000['GCHqW'](buildNovaSharedOptionsInstruction,_0x3b9a66)+_0x501713(0x290)+_0x162d22+'\x20execute\x20\x221.\x20Open\x20the\x20account\x20settings\x20menu.\x202.\x20Click\x20Billing.\x203.\x20Wait\x20for\x20the\x20Billing\x20page\x20to\x20load.\x22\x20'+_0x3b9a66+_0x501713(0x238)+_0x162d22+'\x20verify\x20\x22The\x20Billing\x20page\x20is\x20visible\x20and\x20shows\x20the\x20current\x20plan.\x22\x20'+_0x3b9a66+'`\x0a-\x20`'+_0x162d22+'\x20snapshot\x20--output\x20'+quoteShellArg(_0x4e1d9d)+'\x20'+_0x3b9a66+'`\x0a-\x20`'+_0x162d22+'\x20screenshot\x20--output\x20'+quoteShellArg(_0x3c8894)+'\x20'+_0x3b9a66+'`\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(_0x4b6e31){const _0x577c3d=_0x4a93a9,_0x570926={'ezyiD':function(_0x49a003,_0x165026){return _0x49a003===_0x165026;}},_0x355fe6=[..._0x4b6e31[_0x577c3d(0x1cf)]()][_0x577c3d(0x1ec)]();let _0x34cb30=0x0;for(const _0x370f9a of _0x4b6e31[_0x577c3d(0x20e)]()){_0x34cb30+=_0x370f9a;}return{'cliCommandCount':_0x34cb30,'cliCommandsSeen':_0x355fe6,'noCliCommandsCalled':_0x570926['ezyiD'](_0x34cb30,0x0)};}export function createVerifyFeatureNovaCliHooks(_0x3a6435,_0x380e70){const _0x36d6b9=_0x4a93a9,_0x3f6946={'BXwFQ':function(_0x392670,_0x42a92f){return _0x392670!==_0x42a92f;},'RnksF':function(_0x86f543,_0x5daf46){return _0x86f543(_0x5daf46);},'xSKIh':function(_0x247632,_0x2ec924){return _0x247632(_0x2ec924);},'wHNmB':_0x36d6b9(0x257),'IZDar':_0x36d6b9(0x234),'INIeI':function(_0x111a17,_0x3195d8){return _0x111a17+_0x3195d8;},'qceMd':function(_0x41a811,_0x3a5f43,_0x4254b5){return _0x41a811(_0x3a5f43,_0x4254b5);},'zCYTG':'session\x20create','ePFxA':'nova-act-cli'},_0x510bf6=new Map(),_0x4493b9=async _0x2bee43=>{const _0x4268d3=_0x36d6b9;if(_0x2bee43[_0x4268d3(0x1f8)]!=='PreToolUse')return{};const _0x580e09=_0x2bee43;if(_0x3f6946[_0x4268d3(0x207)](_0x580e09['tool_name'],'Bash'))return{};const _0x286d5f=_0x580e09['tool_input'],_0x4affc9=_0x3f6946['RnksF'](extractBashCommand,_0x286d5f);if(!_0x4affc9)return{};const _0x2c9e0b=_0x3f6946[_0x4268d3(0x288)](getNovaActCliCommandBlockReason,_0x4affc9);if(!_0x2c9e0b)return{};return{'decision':'block','reason':_0x2c9e0b};},_0x34fa0c=async _0x321627=>{const _0x3b8637=_0x36d6b9;if(_0x3f6946[_0x3b8637(0x207)](_0x321627[_0x3b8637(0x1f8)],_0x3f6946[_0x3b8637(0x249)]))return{};const _0x2e2e4e=_0x321627;if(_0x2e2e4e[_0x3b8637(0x243)]!==_0x3f6946[_0x3b8637(0x244)])return{};const _0x135215=_0x2e2e4e[_0x3b8637(0x1cc)],_0x3a5d3c=extractBashCommand(_0x135215);if(!_0x3a5d3c)return{};const _0x43c8f1=parseNovaActCliCommand(_0x3a5d3c);if(!_0x43c8f1)return{};_0x510bf6[_0x3b8637(0x239)](_0x43c8f1,_0x3f6946['INIeI'](_0x510bf6[_0x3b8637(0x206)](_0x43c8f1)||0x0,0x1)),_0x3a6435[_0x3b8637(0x22e)]('nova_act_command',{'subcommand':_0x43c8f1}),_0x3a6435['trackPhaseEnd'](_0x3b8637(0x1db),{'subcommand':_0x43c8f1,'commandPreview':previewNovaActCliCommand(_0x3a5d3c)}),console['log'](_0x3b8637(0x241)+_0x3f6946[_0x3b8637(0x258)](formatNovaActCliLog,_0x3a5d3c,_0x43c8f1));if(_0x43c8f1===_0x3f6946['zCYTG']&&_0x380e70)try{await _0x380e70[_0x3b8637(0x254)]();}catch(_0x10b8ae){await _0x3a6435['trackPhaseError']('nova_act_artifact_recording',_0x10b8ae,{'transport':_0x3b8637(0x25b)});}return{};},_0x3a9e84=async _0x9be7ad=>{const _0x2a1870=_0x36d6b9;if(_0x9be7ad['hook_event_name']!=='PostToolUseFailure')return{};const _0x191f61=_0x9be7ad;if(_0x3f6946[_0x2a1870(0x207)](_0x191f61[_0x2a1870(0x243)],_0x2a1870(0x234)))return{};return await _0x3a6435[_0x2a1870(0x208)]('nova_act_command_failure',_0x191f61['error'],{'transport':_0x3f6946['ePFxA'],'toolName':_0x3f6946[_0x2a1870(0x244)]}),{};};return{'preToolUseHook':_0x4493b9,'postToolUseHook':_0x34fa0c,'postToolUseFailureHook':_0x3a9e84,'commandCounts':_0x510bf6};}async function runNovaLifecycleCommand(_0x2740c0){const _0x3c6c91=_0x4a93a9,_0x454cda={'oJweD':function(_0x662de9,_0x5a42a3){return _0x662de9??_0x5a42a3;},'tNITz':function(_0x1e1d3e,_0x3a8320){return _0x1e1d3e(_0x3a8320);}},{novaOptions:_0x2fc613,commandArgs:_0x58413d,telemetry:_0x105d28,phase:_0x5d652b,metadata:_0x221240,timeoutMs:_0x160d89}=_0x2740c0;_0x105d28[_0x3c6c91(0x22e)](_0x5d652b,_0x221240);try{const _0x5b7662=await runNovaActCliCommand({..._0x2fc613,'commandArgs':_0x58413d,'cwd':process['cwd'](),'env':process[_0x3c6c91(0x214)],'timeoutMs':_0x454cda['oJweD'](_0x160d89,NOVA_ACT_CLI_COMMAND_TIMEOUT_MS)});_0x105d28['trackPhaseEnd'](_0x5d652b,{..._0x221240,'subcommand':_0x5b7662['invocation']['subcommand'],'commandPreview':previewNovaActCliCommand(_0x5b7662[_0x3c6c91(0x248)][_0x3c6c91(0x218)]),'stdoutPreview':_0x454cda[_0x3c6c91(0x229)](previewNovaActCliCommand,_0x5b7662[_0x3c6c91(0x250)]),'stderrPreview':previewNovaActCliCommand(_0x5b7662['stderr']),'logDir':extractNovaActLogDir(_0x5b7662[_0x3c6c91(0x250)])});}catch(_0x14a520){await _0x105d28[_0x3c6c91(0x208)](_0x5d652b,_0x14a520,_0x221240);throw _0x14a520;}}export async function finalizeVerifyFeatureNovaCliSession(_0x238717){const _0x266fff=_0x4a93a9,_0x1c07c8={'UJcyJ':_0x266fff(0x1e4),'JSHqr':_0x266fff(0x1f0),'uLdji':_0x266fff(0x1ea),'spmdn':_0x266fff(0x230),'ZWceg':function(_0x49d55e,_0xfa3a11,_0x1c3468){return _0x49d55e(_0xfa3a11,_0x1c3468);},'MEQBL':_0x266fff(0x21c),'nJXRq':_0x266fff(0x260),'NAigB':'nova_act_session_report','wCpkB':'export','WKKYu':_0x266fff(0x22a),'vDLHx':'nova-report','hRPAS':'close','xWPIA':_0x266fff(0x22f),'EnvNF':function(_0x11899d,_0x1b9028){return _0x11899d(_0x1b9028);}},{telemetry:_0x2d8ce2,novaOptions:_0x149fec,cliArtifactDir:_0x30b012,transportMetadata:_0x4fde5d,artifactRecorder:_0x1b653a}=_0x238717,_0x4fae22=[{'phase':_0x1c07c8[_0x266fff(0x1e8)],'commandArgs':[_0x266fff(0x201),'--output',buildCliArtifactPath(_0x30b012,_0x1c07c8[_0x266fff(0x264)])]},{'phase':_0x266fff(0x26a),'commandArgs':[_0x1c07c8[_0x266fff(0x217)],_0x1c07c8[_0x266fff(0x1e2)],_0x1c07c8[_0x266fff(0x23f)](buildCliArtifactPath,_0x30b012,'final-state.yaml')]},{'phase':'nova_act_session_export','commandArgs':[_0x1c07c8['MEQBL'],_0x266fff(0x276),_0x1c07c8[_0x266fff(0x245)],'json',_0x1c07c8['spmdn'],buildCliArtifactPath(_0x30b012,'nova-session-export.json')]},{'phase':_0x1c07c8['NAigB'],'commandArgs':['session',_0x1c07c8[_0x266fff(0x293)],_0x1c07c8[_0x266fff(0x204)],'--output-dir',_0x1c07c8[_0x266fff(0x23f)](buildCliArtifactPath,_0x30b012,_0x1c07c8['vDLHx'])]},{'phase':'nova_act_session_close','commandArgs':[_0x1c07c8['MEQBL'],_0x1c07c8[_0x266fff(0x25e)]]}];for(const _0x2a22af of _0x4fae22){_0x2a22af[_0x266fff(0x274)]===_0x1c07c8['xWPIA']&&await _0x1b653a?.[_0x266fff(0x22c)]();try{await _0x1c07c8['EnvNF'](runNovaLifecycleCommand,{'novaOptions':_0x149fec,'commandArgs':[..._0x2a22af['commandArgs']],'telemetry':_0x2d8ce2,'phase':_0x2a22af['phase'],'metadata':_0x4fde5d});}catch{}}}export async function harvestVerifyFeatureNovaCliArtifacts(_0x3ba5dc){const _0x567500=_0x4a93a9,_0x4dd14e={'nhtUF':function(_0x1a3566,_0x3310e5,_0x391c7d){return _0x1a3566(_0x3310e5,_0x391c7d);},'PKLPx':function(_0x56d82a,_0x2e5ede,_0x58e8f7){return _0x56d82a(_0x2e5ede,_0x58e8f7);},'ntsUD':function(_0x314777,_0x104d0b,_0x9d07ad){return _0x314777(_0x104d0b,_0x9d07ad);},'pnUFU':function(_0xfd489a,_0xe25e62){return _0xfd489a<_0xe25e62;},'TXTaH':function(_0x32bcfc,_0x4eaab6){return _0x32bcfc===_0x4eaab6;}},{cwd:_0x37db49,cliArtifactDir:_0x52a0b0,startTime:_0x16edbd}=_0x3ba5dc,_0x28f66b=[];await _0x4dd14e['nhtUF'](mkdir,_0x52a0b0,{'recursive':!![]});const _0x48bfd9=await _0x4dd14e[_0x567500(0x21e)](readdir,_0x37db49,{'withFileTypes':!![]});for(const _0x5519d7 of _0x48bfd9){if(!_0x5519d7[_0x567500(0x1c0)]()||!VERIFY_FEATURE_NOVA_ARTIFACT_FILE_PATTERN[_0x567500(0x210)](_0x5519d7[_0x567500(0x261)]))continue;const _0x55dbfd=_0x4dd14e['ntsUD'](join,_0x37db49,_0x5519d7[_0x567500(0x261)]),_0x26ceae=await stat(_0x55dbfd);if(_0x4dd14e['pnUFU'](_0x26ceae['mtimeMs']+0x7d0,_0x16edbd))continue;const _0x2b084e=buildCliArtifactPath(_0x52a0b0,_0x5519d7[_0x567500(0x261)]);if(_0x4dd14e[_0x567500(0x292)](_0x55dbfd,_0x2b084e))continue;await rename(_0x55dbfd,_0x2b084e),_0x28f66b[_0x567500(0x265)](_0x5519d7['name']);}return _0x28f66b[_0x567500(0x1ec)]();}export async function loadVerifyFeatureNovaTraceUploadArtifact(_0x2bde99){const _0x2160a0=_0x4a93a9,_0x5ac870={'PLTlh':function(_0x3376ad,_0x564f62,_0x59cbd2){return _0x3376ad(_0x564f62,_0x59cbd2);},'PLkvq':function(_0x1aca3d,_0x232b7c){return _0x1aca3d(_0x232b7c);}},_0x304a91=_0x5ac870[_0x2160a0(0x25c)](join,_0x2bde99,_0x2160a0(0x1f4));try{return{'buffer':await readFile(_0x304a91),'source':_0x304a91};}catch{return{'buffer':await _0x5ac870['PLkvq'](zipVerifyFeatureNovaArtifacts,_0x2bde99),'source':_0x2bde99};}}async function zipVerifyFeatureNovaArtifacts(_0x5de0bb){const _0x50dccc=_0x4a93a9,_0x3e6553={'zcilT':function(_0x328cb6,_0x5ddf07,_0x3a21cb,_0x5c64ac){return _0x328cb6(_0x5ddf07,_0x3a21cb,_0x5c64ac);},'SZwsP':_0x50dccc(0x1be),'GNyqN':function(_0x470298,_0x4a587d){return _0x470298(_0x4a587d);},'MLmyt':function(_0x50cb90,_0x146986,_0x5d994f){return _0x50cb90(_0x146986,_0x5d994f);}},_0xea017c=_0x3e6553['zcilT'](join,_0x5de0bb,'..',_0x50dccc(0x1fb));try{return await _0x3e6553[_0x50dccc(0x277)](execFileAsync,_0x3e6553['SZwsP'],['-qr',_0xea017c,'.','-x',_0x50dccc(0x1c1)],{'cwd':_0x5de0bb}),await _0x3e6553['GNyqN'](readFile,_0xea017c);}finally{await _0x3e6553['MLmyt'](rm,_0xea017c,{'force':!![]});}}export function buildNovaActCliDiagnostics(_0x288b39){const _0x9de1f9=_0x4a93a9,_0x9b2362={'aHvRd':function(_0x38cd75,_0x4eab9d){return _0x38cd75(_0x4eab9d);},'rtvZk':function(_0x4e5420,_0xeeb270,_0x6fdf09){return _0x4e5420(_0xeeb270,_0x6fdf09);}},_0x3ddf55=buildNovaActCliInvocation(_0x288b39['novaOptions'],_0x288b39[_0x9de1f9(0x1bc)]);return{'command':_0x3ddf55['command'],'args':_0x3ddf55['args'],'commandPreview':_0x9b2362['aHvRd'](previewNovaActCliCommand,_0x3ddf55[_0x9de1f9(0x218)]),'subcommand':_0x3ddf55[_0x9de1f9(0x220)],'sharedOptionsSuffix':_0x9b2362[_0x9de1f9(0x237)](buildNovaActCliSharedOptionsSuffix,_0x288b39[_0x9de1f9(0x1f3)],_0x288b39['commandArgs'])};}
1
+ const _0x253bb1=_0x4cc5;(function(_0x11932e,_0x21801f){const _0x585aa1=_0x4cc5,_0x52736a=_0x11932e();while(!![]){try{const _0x5b8607=-parseInt(_0x585aa1(0x1b4))/0x1*(-parseInt(_0x585aa1(0x226))/0x2)+parseInt(_0x585aa1(0x21b))/0x3*(-parseInt(_0x585aa1(0x258))/0x4)+parseInt(_0x585aa1(0x25e))/0x5+-parseInt(_0x585aa1(0x278))/0x6+-parseInt(_0x585aa1(0x1eb))/0x7*(-parseInt(_0x585aa1(0x240))/0x8)+parseInt(_0x585aa1(0x23e))/0x9+parseInt(_0x585aa1(0x23d))/0xa;if(_0x5b8607===_0x21801f)break;else _0x52736a['push'](_0x52736a['shift']());}catch(_0x1129b9){_0x52736a['push'](_0x52736a['shift']());}}}(_0x2885,0x946dd));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([_0x253bb1(0x1d6),_0x253bb1(0x1cd),_0x253bb1(0x20b),_0x253bb1(0x20c),_0x253bb1(0x25d),'wait-for','snapshot','screenshot']),execFileAsync=promisify(execFile);function buildCliArtifactPath(_0x4c7f7f,_0xc3e214){const _0x5cb17e=_0x253bb1,_0x47cd3f={'CTyJr':function(_0x5f1974,_0x434acb,_0x1e192d){return _0x5f1974(_0x434acb,_0x1e192d);}};return _0x47cd3f[_0x5cb17e(0x243)](join,_0x4c7f7f,_0xc3e214);}export class NovaActArtifactRecorder{['params'];[_0x253bb1(0x26b)]=null;['context']=null;['frameSession']=null;['frameWrites']=[];[_0x253bb1(0x1e0)]=0x0;[_0x253bb1(0x245)]=0x0;['traceSampleTimer']=null;['traceSampleInFlight']=null;['tracingStarted']=![];[_0x253bb1(0x25a)]=![];[_0x253bb1(0x223)]=![];[_0x253bb1(0x1bd)]=![];constructor(_0x3daccb){this['params']=_0x3daccb;}async['start'](){const _0x329760=_0x253bb1,_0x491380={'zsxlW':_0x329760(0x1c1),'foIRh':'nova_act_artifact_recording'};if(this['startAttempted'])return;this[_0x329760(0x223)]=!![];const _0x368c01=await this['readSessionMetadataWithRetry'](),_0xb1af0f=_0x368c01[_0x329760(0x249)];if(!_0xb1af0f)throw new Error(_0x329760(0x252)+this['params'][_0x329760(0x1b9)][_0x329760(0x255)]);await mkdir(this[_0x329760(0x1f3)][_0x329760(0x22d)],{'recursive':!![]}),this[_0x329760(0x26b)]=await chromium[_0x329760(0x286)](_0xb1af0f,{'timeout':NOVA_ARTIFACT_CDP_CONNECT_TIMEOUT_MS}),this['context']=this[_0x329760(0x26b)]['contexts']()[0x0]??null;if(!this[_0x329760(0x26d)])throw new Error(_0x491380['zsxlW']);await this['context'][_0x329760(0x1cf)]['start']({'screenshots':!![],'snapshots':!![],'sources':!![]}),this[_0x329760(0x1e3)]=!![],this[_0x329760(0x1e4)](),await this['startScreencast'](),this[_0x329760(0x1f3)]['telemetry'][_0x329760(0x225)](_0x491380['foIRh'],{...this[_0x329760(0x1f3)][_0x329760(0x220)],'cdpEndpoint':_0xb1af0f,'browserPid':_0x368c01['browser_pid'],'sessionState':_0x368c01[_0x329760(0x1dc)]}),this['params']['telemetry']['trackPhaseEnd'](_0x329760(0x210),{...this[_0x329760(0x1f3)]['transportMetadata'],'tracingStarted':this[_0x329760(0x1e3)],'screencastStarted':this['screencastStarted']});}async['stop'](){const _0xafa23e=_0x253bb1,_0x3caa38={'qZXbg':_0xafa23e(0x1d7),'LbCrL':function(_0x613b2b,_0x2a91ec,_0x4426fe){return _0x613b2b(_0x2a91ec,_0x4426fe);}};if(this[_0xafa23e(0x1bd)])return;this[_0xafa23e(0x1bd)]=!![];const _0x3a8878={...this[_0xafa23e(0x1f3)][_0xafa23e(0x220)],'frameCount':this['frameCount'],'traceSampleCount':this[_0xafa23e(0x245)],'tracingStarted':this[_0xafa23e(0x1e3)],'screencastStarted':this['screencastStarted']};this['params'][_0xafa23e(0x224)]['trackPhaseStart'](_0x3caa38['qZXbg'],_0x3a8878);try{await this['stopTraceSampling'](),await this['captureTraceSample'](),await this['stopScreencast'](),await Promise['allSettled'](this['frameWrites']);this['context']&&this['tracingStarted']&&await this[_0xafa23e(0x26d)]['tracing']['stop']({'path':_0x3caa38['LbCrL'](buildCliArtifactPath,this['params'][_0xafa23e(0x22d)],_0xafa23e(0x285))});const _0x172b45=await this['encodeScreencastVideo']();this[_0xafa23e(0x1f3)][_0xafa23e(0x224)]['trackPhaseEnd'](_0xafa23e(0x1d7),{..._0x3a8878,'videoPath':_0x172b45});}catch(_0x262ae6){await this[_0xafa23e(0x1f3)]['telemetry'][_0xafa23e(0x237)](_0x3caa38[_0xafa23e(0x1bc)],_0x262ae6,_0x3a8878);}finally{await this[_0xafa23e(0x26b)]?.['close']()[_0xafa23e(0x22c)](()=>undefined),this['browser']=null,this['context']=null,this[_0xafa23e(0x263)]=null;}}async[_0x253bb1(0x1d1)](){const _0x1c3411=_0x253bb1,_0x183067={'kOeNe':function(_0x4abfd7,_0xa9fc4e,_0x4a41f5,_0x3484a9,_0x5d36a2,_0x1d86ae){return _0x4abfd7(_0xa9fc4e,_0x4a41f5,_0x3484a9,_0x5d36a2,_0x1d86ae);},'kqAlT':function(_0x480c21,_0x4cb1b8){return _0x480c21<_0x4cb1b8;},'mYBfX':function(_0x18c800,_0x569f37){return _0x18c800 instanceof _0x569f37;}},_0x3662c5=_0x183067[_0x1c3411(0x256)](join,homedir(),_0x1c3411(0x1ef),_0x1c3411(0x26b),'sessions',this[_0x1c3411(0x1f3)][_0x1c3411(0x1b9)][_0x1c3411(0x255)]+'.json'),_0x560c72=Date['now']();let _0x41db99;do{try{const _0xff8325=JSON['parse'](await readFile(_0x3662c5,_0x1c3411(0x1bf)));if(_0xff8325['cdp_endpoint'])return _0xff8325;_0x41db99=new Error('Nova\x20metadata\x20missing\x20cdp_endpoint\x20at\x20'+_0x3662c5);}catch(_0x221558){_0x41db99=_0x221558;}await delay(0x64);}while(_0x183067['kqAlT'](Date['now']()-_0x560c72,NOVA_ARTIFACT_METADATA_WAIT_MS));if(_0x183067['mYBfX'](_0x41db99,Error))throw _0x41db99;throw new Error(_0x1c3411(0x236)+_0x3662c5);}async['startScreencast'](){const _0x16c8ce=_0x253bb1,_0x3c5e56={'VDiai':function(_0x1198e7,_0x5dcb95,_0x537732){return _0x1198e7(_0x5dcb95,_0x537732);},'cyTTZ':'jpeg'};if(!this[_0x16c8ce(0x26d)])return;const _0x5583f7=this['context']['pages']()[0x0];if(!_0x5583f7)return;const _0x4fd47f=this['getFrameDir']();await _0x3c5e56['VDiai'](mkdir,_0x4fd47f,{'recursive':!![]});const _0x3acb89=await this[_0x16c8ce(0x26d)][_0x16c8ce(0x1fa)](_0x5583f7);this[_0x16c8ce(0x263)]=_0x3acb89,_0x3acb89['on'](_0x16c8ce(0x277),_0x4dfa76=>{const _0x5a0df9=_0x16c8ce,_0x1e029f=++this['frameCount'],_0x32c415=join(_0x4fd47f,'frame-'+String(_0x1e029f)['padStart'](0x6,'0')+'.jpg'),_0x59a9d0=writeFile(_0x32c415,Buffer[_0x5a0df9(0x253)](_0x4dfa76[_0x5a0df9(0x283)],'base64'))[_0x5a0df9(0x22c)](()=>undefined)[_0x5a0df9(0x1b8)](()=>_0x3acb89['send'](_0x5a0df9(0x1ec),{'sessionId':_0x4dfa76['sessionId']}))['then'](()=>undefined)[_0x5a0df9(0x22c)](()=>undefined);this[_0x5a0df9(0x1d0)]['push'](_0x59a9d0);}),await _0x3acb89['send'](_0x16c8ce(0x266),{'format':_0x3c5e56[_0x16c8ce(0x254)],'quality':0x4b,'everyNthFrame':0x6}),this['screencastStarted']=!![];}async[_0x253bb1(0x26c)](){const _0x395213=_0x253bb1;if(!this['frameSession']||!this[_0x395213(0x25a)])return;await this['frameSession'][_0x395213(0x1dd)]('Page.stopScreencast')[_0x395213(0x22c)](()=>undefined);}[_0x253bb1(0x1e4)](){const _0x2ba820=_0x253bb1,_0x478b16={'JYqWQ':function(_0x587756,_0x4456ba,_0x2d5d7f){return _0x587756(_0x4456ba,_0x2d5d7f);}};this['queueTraceSample'](),this['traceSampleTimer']=_0x478b16['JYqWQ'](setInterval,()=>this[_0x2ba820(0x1f6)](),NOVA_ARTIFACT_TRACE_SAMPLE_INTERVAL_MS);}[_0x253bb1(0x1f6)](){const _0x3f85d7=_0x253bb1;if(this[_0x3f85d7(0x213)])return;this[_0x3f85d7(0x213)]=this['captureTraceSample']()['finally'](()=>{const _0x1c2cf8=_0x3f85d7;this[_0x1c2cf8(0x213)]=null;});}async['stopTraceSampling'](){const _0xa63981=_0x253bb1,_0x38c9a5={'DUfoa':function(_0x4db67d,_0x31a925){return _0x4db67d(_0x31a925);}};this['traceSampleTimer']&&(_0x38c9a5['DUfoa'](clearInterval,this[_0xa63981(0x25b)]),this[_0xa63981(0x25b)]=null),await this[_0xa63981(0x213)]?.[_0xa63981(0x22c)](()=>undefined);}async[_0x253bb1(0x270)](){const _0x33820d=_0x253bb1,_0x3cf3fd={'MQrlQ':_0x33820d(0x27e)},_0x17cef4=this['context']?.['pages']()[0x0];if(!_0x17cef4)return;try{await _0x17cef4[_0x33820d(0x231)](_0x3cf3fd[_0x33820d(0x27f)])[_0x33820d(0x261)](_0x385ce3=>_0x385ce3['tagName'],undefined,{'timeout':0x3e8}),this['traceSampleCount']++;}catch{}}async[_0x253bb1(0x1de)](){const _0x3b0446=_0x253bb1,_0x7fe880={'NxOCC':function(_0x3eb670,_0x188ed3){return _0x3eb670<_0x188ed3;},'HycMZ':function(_0x1dfc04){return _0x1dfc04();},'XGtCW':function(_0x43c7cc,_0x6aecba,_0x174c4f){return _0x43c7cc(_0x6aecba,_0x174c4f);},'WFiBh':_0x3b0446(0x241),'ZXxec':function(_0xdc25b,_0x2b2e96,_0x1b382c){return _0xdc25b(_0x2b2e96,_0x1b382c);},'vxKMt':_0x3b0446(0x23a),'lxwyC':'-loglevel','zQyzR':_0x3b0446(0x1cb),'npfvm':'-framerate','Pugcx':_0x3b0446(0x20f),'OlLIh':_0x3b0446(0x21e),'tNHXp':'-pix_fmt','gFrwv':_0x3b0446(0x21a)};if(_0x7fe880[_0x3b0446(0x1e6)](this['frameCount'],0x2))return null;const _0x5cd3d3=await _0x7fe880[_0x3b0446(0x222)](resolveFfmpegPath);if(!_0x5cd3d3)return null;const _0x2c8735=_0x7fe880[_0x3b0446(0x1f7)](join,this['params']['cliArtifactDir'],_0x7fe880['WFiBh']);await _0x7fe880[_0x3b0446(0x202)](mkdir,_0x2c8735,{'recursive':!![]});const _0x5e362f=join(_0x2c8735,_0x7fe880[_0x3b0446(0x1ca)]);return await _0x7fe880[_0x3b0446(0x1f7)](execFileAsync,_0x5cd3d3,['-y',_0x3b0446(0x284),_0x7fe880[_0x3b0446(0x22a)],_0x7fe880['zQyzR'],_0x7fe880['npfvm'],'10','-i',join(this['getFrameDir'](),'frame-%06d.jpg'),_0x7fe880[_0x3b0446(0x268)],'scale=trunc(iw/2)*2:trunc(ih/2)*2',_0x3b0446(0x211),_0x7fe880[_0x3b0446(0x233)],_0x7fe880[_0x3b0446(0x28d)],_0x7fe880[_0x3b0446(0x246)],_0x5e362f]),_0x5e362f;}['getFrameDir'](){const _0x4c8692=_0x253bb1,_0x11822e={'txzIZ':_0x4c8692(0x26f)};return join(this['params'][_0x4c8692(0x22d)],_0x11822e['txzIZ']);}}async function delay(_0x36af1c){await new Promise(_0x1805d7=>setTimeout(_0x1805d7,_0x36af1c));}async function resolveFfmpegPath(){const _0x1128f6=_0x253bb1,_0x29a46d={'QPXGX':function(_0x1d9614,_0x475fb8,_0x4b55da,_0x538ea4,_0x5c79cb){return _0x1d9614(_0x475fb8,_0x4b55da,_0x538ea4,_0x5c79cb);},'rRddi':'Library','HUIjc':_0x1128f6(0x26e),'YkCED':'ms-playwright','cQGne':function(_0x2e754e,_0x3a5104){return _0x2e754e(_0x3a5104);},'lyhgF':function(_0x5f5062,_0x2584e1){return _0x5f5062(_0x2584e1);}};if(await canRunFfmpeg(_0x1128f6(0x1c7)))return _0x1128f6(0x1c7);const _0x12f615=[_0x29a46d['QPXGX'](join,homedir(),_0x29a46d['rRddi'],_0x29a46d[_0x1128f6(0x1ed)],_0x1128f6(0x20d)),join(homedir(),_0x1128f6(0x230),_0x29a46d[_0x1128f6(0x22b)])];for(const _0x19841c of _0x12f615){try{const _0x5d157a=await _0x29a46d[_0x1128f6(0x212)](readdir,_0x19841c),_0x5e267e=_0x5d157a[_0x1128f6(0x235)](_0xc0a54b=>_0xc0a54b['startsWith'](_0x1128f6(0x229)))['sort']()[_0x1128f6(0x1be)]()[_0x1128f6(0x1f4)](_0x2c52ef=>[join(_0x19841c,_0x2c52ef,'ffmpeg-mac'),join(_0x19841c,_0x2c52ef,'ffmpeg-linux'),join(_0x19841c,_0x2c52ef,'ffmpeg.exe')]);for(const _0x3e0e87 of _0x5e267e){if(await _0x29a46d[_0x1128f6(0x209)](canRunFfmpeg,_0x3e0e87))return _0x3e0e87;}}catch{}}return null;}async function canRunFfmpeg(_0x599567){const _0x47daca=_0x253bb1,_0xe394bc={'uXENT':'-version'};try{return await execFileAsync(_0x599567,[_0xe394bc[_0x47daca(0x208)]]),!![];}catch{return![];}}function toStepDisplayName(_0x3728c5){const _0x6d4980=_0x253bb1,_0x2f37ee={'luVnw':function(_0x4ebcaf,_0x2dae75){return _0x4ebcaf(_0x2dae75);}},_0x5d44af=_0x2f37ee['luVnw'](basename,_0x3728c5)[_0x6d4980(0x22e)](/\.(?:png|ya?ml)$/i,'')['replace'](/^key_/i,'')[_0x6d4980(0x22e)](/^\d+_/,'')[_0x6d4980(0x22e)](/-/g,'\x20');return{'name':_0x5d44af,'isKeyStep':/^key_/i[_0x6d4980(0x1e5)](basename(_0x3728c5))};}function extractShellValue(_0x1cfaef){if(!_0x1cfaef)return null;return _0x1cfaef[0x1]??_0x1cfaef[0x2]??_0x1cfaef[0x3]??null;}function extractOutputOption(_0x1aa15d){const _0xddd489={'BsBcy':function(_0x180b51,_0x4c8941){return _0x180b51(_0x4c8941);}};return _0xddd489['BsBcy'](extractShellValue,_0x1aa15d['match'](/--output(?:=|\s+)(?:"([^"]+)"|'([^']+)'|(\S+))/));}function formatNovaActCliLog(_0x3b2991,_0x1708dc){const _0x45d965=_0x253bb1,_0x5bbed6={'lQpaA':'execute\x20Nova\x20browser\x20action','rzAgw':_0x45d965(0x20b),'TpOzE':'verify\x20page\x20condition','PuMvp':_0x45d965(0x20c),'afyNz':_0x45d965(0x25d),'ZhNAW':'screenshot','wEVzR':function(_0x2a404b,_0x33a203){return _0x2a404b(_0x33a203);},'FLkeM':_0x45d965(0x206),'hNlrf':'session\x20export','AYtsV':_0x45d965(0x250)};switch(_0x1708dc){case _0x45d965(0x1d6):return _0x45d965(0x21d);case _0x45d965(0x1cd):return _0x5bbed6['lQpaA'];case _0x5bbed6[_0x45d965(0x264)]:return _0x5bbed6['TpOzE'];case _0x5bbed6['PuMvp']:return _0x45d965(0x22f);case _0x5bbed6[_0x45d965(0x1cc)]:return _0x45d965(0x242);case'wait-for':return _0x45d965(0x216);case _0x45d965(0x1ba):{const _0x17d6ca=extractOutputOption(_0x3b2991);if(!_0x17d6ca)return _0x45d965(0x1d8);const {name:_0x444781}=toStepDisplayName(_0x17d6ca);return _0x45d965(0x282)+_0x444781+'`';}case _0x5bbed6[_0x45d965(0x1c6)]:{const _0x41b142=_0x5bbed6['wEVzR'](extractOutputOption,_0x3b2991);if(!_0x41b142)return _0x5bbed6[_0x45d965(0x288)];const {name:_0x36b0bf,isKeyStep:_0x43ca79}=toStepDisplayName(_0x41b142);return _0x43ca79?'capture\x20key\x20step\x20`'+_0x36b0bf+'`':_0x45d965(0x28b)+_0x36b0bf+'`';}case _0x5bbed6['hNlrf']:return _0x5bbed6['AYtsV'];default:return _0x1708dc;}}function getNovaActCliCommandBlockReason(_0x2e11e7){const _0x16028e=_0x253bb1,_0x1d7191={'qKTDh':'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.'},_0x149b8a=parseNovaActCliCommand(_0x2e11e7);if(!_0x149b8a)return _0x16028e(0x1c0);if(!NOVA_ACT_ALLOWED_AGENT_COMMANDS['has'](_0x149b8a))return'Nova\x20command\x20`'+_0x149b8a+_0x16028e(0x275);if(_0x149b8a==='verify'&&/\b(?:previously visited|visited pages|pages visited|at least one of the pages visited)\b/i[_0x16028e(0x1e5)](_0x2e11e7))return _0x1d7191[_0x16028e(0x1d2)];if(/\s--help\b|\bdoctor\b|\bscript\b|\bsession\s+(?:close|list|export)\b/['test'](_0x2e11e7))return _0x16028e(0x289);return null;}function buildFeedbackSection(_0x45e44d){const _0xb60c85=_0x253bb1,_0x36cea1={'THaVf':'en-US','oBMid':'numeric','KEVqg':_0xb60c85(0x201),'PhKNv':'\x20>\x20','zrgvN':_0xb60c85(0x265)};if(!_0x45e44d||_0x45e44d[_0xb60c85(0x24f)][_0xb60c85(0x228)]===0x0)return'';const _0x3a328d=_0x45e44d[_0xb60c85(0x24f)]['map'](_0x17aa1e=>{const _0x1ed548=_0xb60c85,_0x578715=new Date(_0x17aa1e['createdAt'])['toLocaleDateString'](_0x36cea1[_0x1ed548(0x1f5)],{'month':'short','day':_0x36cea1['oBMid']}),_0x5a8990=_0x17aa1e['authorName']||_0x17aa1e['authorEmail']||_0x36cea1[_0x1ed548(0x257)],_0x52a759=_0x17aa1e['domRef']?'\x20(on\x20element:\x20<'+(_0x17aa1e['domRef']['selector'][_0x1ed548(0x1ea)](_0x36cea1[_0x1ed548(0x1c3)])['pop']()?.['split'](':')[0x0]||_0x36cea1[_0x1ed548(0x1e9)])+_0x1ed548(0x27a)+(_0x17aa1e['domRef'][_0x1ed548(0x27d)]||'')['slice'](0x0,0x32)+'\x22)':'';return'-\x20['+_0x17aa1e['id']+_0x1ed548(0x248)+_0x5a8990+'**\x20('+_0x578715+'):\x20\x22'+_0x17aa1e[_0x1ed548(0x1d4)]+'\x22'+_0x52a759;})['join']('\x0a');return _0xb60c85(0x26a)+_0x3a328d;}function buildNovaSharedOptionsInstruction(_0x4c58fe){const _0x13db93=_0x253bb1;if(!_0x4c58fe[_0x13db93(0x279)]())return _0x13db93(0x267);return'Append\x20this\x20option\x20suffix\x20to\x20every\x20browser\x20command\x20unless\x20the\x20host\x20gives\x20a\x20more\x20specific\x20example:\x0a'+_0x4c58fe;}export function buildVerifyFeatureNovaCliDebugPrompt(_0x2abf4f){const _0x1f066a=_0x253bb1,_0x570be0={'uRZVa':function(_0x304e3c,_0x353ae7,_0x560159){return _0x304e3c(_0x353ae7,_0x560159);},'fwAJu':function(_0x596c5e,_0x2874b9){return _0x596c5e(_0x2874b9);},'cakoQ':function(_0x1e0961,_0xdd753){return _0x1e0961(_0xdd753);},'yWRuF':function(_0x4fb2f3,_0x325947){return _0x4fb2f3(_0x325947);}},{novaCommandPrefix:_0x28fe8d,novaSharedOptionsSuffix:_0x5cdd1c,cliArtifactDir:_0x47723a,url:_0x3595aa}=_0x2abf4f,_0x1cd1c6=buildCliArtifactPath(_0x47723a,'00_initial-state.yml'),_0x4f8ea4=buildCliArtifactPath(_0x47723a,_0x1f066a(0x1fd)),_0x3aece4=buildCliArtifactPath(_0x47723a,'02_final-state.yml'),_0x21b51d=_0x570be0[_0x1f066a(0x217)](buildCliArtifactPath,_0x47723a,'03_final-state.png');return _0x1f066a(0x21c)+_0x28fe8d+'\x0a\x0a'+_0x570be0[_0x1f066a(0x1fc)](buildNovaSharedOptionsInstruction,_0x5cdd1c)+_0x1f066a(0x23b)+_0x28fe8d+_0x1f066a(0x27c)+_0x570be0[_0x1f066a(0x24b)](quoteShellArg,_0x3595aa)+'\x20'+_0x5cdd1c+_0x1f066a(0x24e)+_0x28fe8d+_0x1f066a(0x1c2)+_0x570be0[_0x1f066a(0x1fc)](quoteShellArg,_0x1cd1c6)+'\x20'+_0x5cdd1c+'`\x0a3.\x20Run\x20`'+_0x28fe8d+'\x20screenshot\x20--output\x20'+_0x570be0[_0x1f066a(0x24b)](quoteShellArg,_0x4f8ea4)+'\x20'+_0x5cdd1c+_0x1f066a(0x1d5)+_0x28fe8d+'\x20execute\x20\x22...\x22`\x20command\x20to\x20exercise\x20the\x20current\x20page.\x0a5.\x20Run\x20`'+_0x28fe8d+_0x1f066a(0x1c2)+quoteShellArg(_0x3aece4)+'\x20'+_0x5cdd1c+'`\x0a6.\x20Run\x20`'+_0x28fe8d+'\x20screenshot\x20--output\x20'+_0x570be0[_0x1f066a(0x239)](quoteShellArg,_0x21b51d)+'\x20'+_0x5cdd1c+_0x1f066a(0x1d3)+_0x47723a+_0x1f066a(0x21f);}export function buildVerifyFeatureNovaCliPrompt(_0x7ec535){const _0xdfb798=_0x253bb1,_0x1f7413={'ghigb':function(_0xa3ab34,_0x31ca47){return _0xa3ab34(_0x31ca47);},'tLKZu':function(_0x70fb9a,_0x550a56,_0x308b86){return _0x70fb9a(_0x550a56,_0x308b86);},'hGCGX':_0xdfb798(0x1fd),'mzaXB':function(_0x52065d,_0x1c7774){return _0x52065d(_0x1c7774);}},{checklistItem:_0x2e3a3f,itemFeedback:_0x87665e,taskDescription:_0x166ffb,novaCommandPrefix:_0x49bb37,novaSharedOptionsSuffix:_0x2d0c27,cliArtifactDir:_0x4e119d,url:_0x67df78,loginInstructions:_0x17595b}=_0x7ec535,_0x5da318=_0x2e3a3f['notes']?'\x0a\x0a##\x20Additional\x20Notes\x0a'+_0x2e3a3f[_0xdfb798(0x1e7)]:'',_0x3b30ec=_0x1f7413[_0xdfb798(0x280)](buildFeedbackSection,_0x87665e),_0x55d35d=_0x87665e?.[_0xdfb798(0x1ee)]?_0xdfb798(0x27b)+_0x87665e[_0xdfb798(0x1ee)]:'',_0x1fbe55=_0x17595b?_0xdfb798(0x219)+_0x17595b+_0xdfb798(0x218):'',_0x5ba57e=_0x1f7413['tLKZu'](buildCliArtifactPath,_0x4e119d,'01_initial.yml'),_0x541ba5=_0x1f7413[_0xdfb798(0x20a)](buildCliArtifactPath,_0x4e119d,_0x1f7413[_0xdfb798(0x1e1)]),_0x4d0904=buildCliArtifactPath(_0x4e119d,'key_03_success-state.png');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'+_0x2e3a3f['description']+_0x5da318+_0x3b30ec+_0x55d35d+_0xdfb798(0x232)+_0x166ffb+'\x0a\x0a##\x20App\x20Context\x0aYour\x20base\x20URL\x20is:\x20'+_0x67df78+_0xdfb798(0x1fe)+_0x1fbe55+_0xdfb798(0x244)+_0x49bb37+_0xdfb798(0x27c)+_0x1f7413['ghigb'](quoteShellArg,_0x67df78)+'\x20'+_0x2d0c27+_0xdfb798(0x205)+_0x4e119d+_0xdfb798(0x24a)+_0x49bb37+'\x20snapshot\x20--output\x20'+quoteShellArg(_0x5ba57e)+'\x20'+_0x2d0c27+'`.\x0a6.\x20Take\x20an\x20initial\x20screenshot:\x20`'+_0x49bb37+'\x20screenshot\x20--output\x20'+_0x1f7413[_0xdfb798(0x1f0)](quoteShellArg,_0x541ba5)+'\x20'+_0x2d0c27+'`.\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`'+_0x4d0904+'`.\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`'+_0x49bb37+'`\x0a\x0aAppend\x20this\x20option\x20suffix\x20to\x20browser\x20commands:\x0a'+(_0x2d0c27['trim']()?'`'+_0x2d0c27+'`':'`<none;\x20the\x20command\x20prefix\x20injects\x20shared\x20options>`')+'\x0a\x0a'+_0x1f7413[_0xdfb798(0x280)](buildNovaSharedOptionsInstruction,_0x2d0c27)+_0xdfb798(0x28f)+_0x49bb37+_0xdfb798(0x251)+_0x2d0c27+'`\x0a-\x20`'+_0x49bb37+_0xdfb798(0x260)+_0x2d0c27+'`\x0a-\x20`'+_0x49bb37+'\x20snapshot\x20--output\x20'+quoteShellArg(_0x5ba57e)+'\x20'+_0x2d0c27+'`\x0a-\x20`'+_0x49bb37+_0xdfb798(0x276)+_0x1f7413['mzaXB'](quoteShellArg,_0x4d0904)+'\x20'+_0x2d0c27+_0xdfb798(0x272);}export function summarizeVerifyFeatureNovaCliCommandAvailability(_0x463c73){const _0x53392d=_0x253bb1,_0x15aa33={'dqHxY':function(_0x313c19,_0x2e0b48){return _0x313c19===_0x2e0b48;}},_0x563f94=[..._0x463c73['keys']()][_0x53392d(0x1c5)]();let _0x25da6e=0x0;for(const _0x2843f8 of _0x463c73['values']()){_0x25da6e+=_0x2843f8;}return{'cliCommandCount':_0x25da6e,'cliCommandsSeen':_0x563f94,'noCliCommandsCalled':_0x15aa33['dqHxY'](_0x25da6e,0x0)};}export function createVerifyFeatureNovaCliHooks(_0x56802c,_0x36c279){const _0x25117a=_0x253bb1,_0x47191b={'BFcJf':function(_0x1fc1b8,_0x29ef65){return _0x1fc1b8!==_0x29ef65;},'fixzF':function(_0x5694b2,_0x3b767b){return _0x5694b2(_0x3b767b);},'RQkGv':function(_0x178f01,_0x311536){return _0x178f01!==_0x311536;},'HqtLn':'Bash','XzWMc':_0x25117a(0x1bb),'PxRYu':function(_0x440556,_0xa5dbaa,_0x2910b6){return _0x440556(_0xa5dbaa,_0x2910b6);}},_0x1cd65d=new Map(),_0x3a3c44=async _0x544af0=>{const _0x153c3f=_0x25117a;if(_0x544af0[_0x153c3f(0x1b6)]!=='PreToolUse')return{};const _0x5df96b=_0x544af0;if(_0x47191b['BFcJf'](_0x5df96b[_0x153c3f(0x271)],_0x153c3f(0x203)))return{};const _0x20831b=_0x5df96b[_0x153c3f(0x1c9)],_0x4bf265=_0x47191b['fixzF'](extractBashCommand,_0x20831b);if(!_0x4bf265)return{};const _0x51932f=_0x47191b[_0x153c3f(0x20e)](getNovaActCliCommandBlockReason,_0x4bf265);if(!_0x51932f)return{};return{'decision':'block','reason':_0x51932f};},_0x52bf78=async _0x2c1e57=>{const _0x5857c6=_0x25117a;if(_0x2c1e57['hook_event_name']!==_0x5857c6(0x238))return{};const _0x2dcfa6=_0x2c1e57;if(_0x47191b['RQkGv'](_0x2dcfa6[_0x5857c6(0x271)],_0x47191b['HqtLn']))return{};const _0x3900a4=_0x2dcfa6['tool_input'],_0x24b290=_0x47191b[_0x5857c6(0x20e)](extractBashCommand,_0x3900a4);if(!_0x24b290)return{};const _0x528796=parseNovaActCliCommand(_0x24b290);if(!_0x528796)return{};_0x1cd65d['set'](_0x528796,(_0x1cd65d['get'](_0x528796)||0x0)+0x1),_0x56802c[_0x5857c6(0x225)](_0x47191b[_0x5857c6(0x287)],{'subcommand':_0x528796}),_0x56802c[_0x5857c6(0x291)](_0x5857c6(0x1bb),{'subcommand':_0x528796,'commandPreview':_0x47191b['fixzF'](previewNovaActCliCommand,_0x24b290)}),console['log'](_0x5857c6(0x215)+_0x47191b['PxRYu'](formatNovaActCliLog,_0x24b290,_0x528796));if(_0x528796==='session\x20create'&&_0x36c279)try{await _0x36c279['start']();}catch(_0x458664){await _0x56802c[_0x5857c6(0x237)]('nova_act_artifact_recording',_0x458664,{'transport':'nova-act-cli'});}return{};},_0x5e1a59=async _0x4cd8b4=>{const _0x276487=_0x25117a;if(_0x47191b[_0x276487(0x1c8)](_0x4cd8b4[_0x276487(0x1b6)],_0x276487(0x1da)))return{};const _0x15b78b=_0x4cd8b4;if(_0x15b78b['tool_name']!==_0x47191b[_0x276487(0x1ce)])return{};return await _0x56802c[_0x276487(0x237)](_0x276487(0x204),_0x15b78b[_0x276487(0x1cb)],{'transport':'nova-act-cli','toolName':_0x276487(0x203)}),{};};return{'preToolUseHook':_0x3a3c44,'postToolUseHook':_0x52bf78,'postToolUseFailureHook':_0x5e1a59,'commandCounts':_0x1cd65d};}async function runNovaLifecycleCommand(_0x31c3c9){const _0xea671c=_0x253bb1,_0x4bc195={'nXxWc':function(_0x35d658,_0x1948d2){return _0x35d658(_0x1948d2);},'llarV':function(_0x1aacda,_0x93797d){return _0x1aacda??_0x93797d;},'GlvrP':function(_0x49197f,_0x179a85){return _0x49197f(_0x179a85);},'fouAI':function(_0x311a73,_0x68db2){return _0x311a73(_0x68db2);}},{novaOptions:_0x48fba6,commandArgs:_0x581979,telemetry:_0x2d50da,phase:_0x63477d,metadata:_0x34c5a7,timeoutMs:_0x2050cf}=_0x31c3c9;_0x2d50da['trackPhaseStart'](_0x63477d,_0x34c5a7);try{const _0x4e9711=await _0x4bc195[_0xea671c(0x1db)](runNovaActCliCommand,{..._0x48fba6,'commandArgs':_0x581979,'cwd':process[_0xea671c(0x1df)](),'env':process[_0xea671c(0x24c)],'timeoutMs':_0x4bc195['llarV'](_0x2050cf,NOVA_ACT_CLI_COMMAND_TIMEOUT_MS)});_0x2d50da['trackPhaseEnd'](_0x63477d,{..._0x34c5a7,'subcommand':_0x4e9711['invocation']['subcommand'],'commandPreview':previewNovaActCliCommand(_0x4e9711['invocation']['shellCommand']),'stdoutPreview':_0x4bc195[_0xea671c(0x1c4)](previewNovaActCliCommand,_0x4e9711['stdout']),'stderrPreview':_0x4bc195[_0xea671c(0x1db)](previewNovaActCliCommand,_0x4e9711[_0xea671c(0x28c)]),'logDir':_0x4bc195[_0xea671c(0x24d)](extractNovaActLogDir,_0x4e9711[_0xea671c(0x247)])});}catch(_0x18ed7a){await _0x2d50da[_0xea671c(0x237)](_0x63477d,_0x18ed7a,_0x34c5a7);throw _0x18ed7a;}}export async function finalizeVerifyFeatureNovaCliSession(_0x37b8d5){const _0x47364f=_0x253bb1,_0x3edb21={'qmCuF':'key_final-state.png','Nzpfh':'nova_act_final_snapshot','tCiEl':_0x47364f(0x1ba),'UDXua':'final-state.yaml','btcvv':_0x47364f(0x274),'PuQfJ':function(_0x11c666,_0x2f2207,_0x781141){return _0x11c666(_0x2f2207,_0x781141);},'bwMax':_0x47364f(0x281),'zuyWF':'export','EOpVR':'--report','telDF':function(_0x3b343,_0xa6ed1d,_0x24a704){return _0x3b343(_0xa6ed1d,_0x24a704);},'HyAJN':'session','LVvQy':_0x47364f(0x1f1),'ZkdGq':function(_0x471c9a,_0x350d41){return _0x471c9a(_0x350d41);}},{telemetry:_0x2f55c7,novaOptions:_0x394649,cliArtifactDir:_0x56b45e,transportMetadata:_0x22426e,artifactRecorder:_0x39bff7}=_0x37b8d5,_0x1cdf78=[{'phase':_0x47364f(0x269),'commandArgs':['screenshot',_0x47364f(0x274),buildCliArtifactPath(_0x56b45e,_0x3edb21['qmCuF'])]},{'phase':_0x3edb21['Nzpfh'],'commandArgs':[_0x3edb21[_0x47364f(0x200)],'--output',buildCliArtifactPath(_0x56b45e,_0x3edb21[_0x47364f(0x23c)])]},{'phase':_0x47364f(0x221),'commandArgs':[_0x47364f(0x1ff),_0x47364f(0x234),_0x47364f(0x1b7),_0x47364f(0x262),_0x3edb21['btcvv'],_0x3edb21['PuQfJ'](buildCliArtifactPath,_0x56b45e,'nova-session-export.json')]},{'phase':_0x3edb21['bwMax'],'commandArgs':['session',_0x3edb21[_0x47364f(0x1d9)],_0x3edb21['EOpVR'],_0x47364f(0x259),_0x3edb21[_0x47364f(0x28e)](buildCliArtifactPath,_0x56b45e,'nova-report')]},{'phase':'nova_act_session_close','commandArgs':[_0x3edb21[_0x47364f(0x214)],_0x3edb21['LVvQy']]}];for(const _0x2b0704 of _0x1cdf78){_0x2b0704['phase']===_0x47364f(0x1f8)&&await _0x39bff7?.[_0x47364f(0x23f)]();try{await _0x3edb21['ZkdGq'](runNovaLifecycleCommand,{'novaOptions':_0x394649,'commandArgs':[..._0x2b0704['commandArgs']],'telemetry':_0x2f55c7,'phase':_0x2b0704[_0x47364f(0x25f)],'metadata':_0x22426e});}catch{}}}function _0x2885(){const _0x274119=['flatMap','THaVf','queueTraceSample','XGtCW','nova_act_session_close','command','newCDPSession','shellCommand','fwAJu','01_initial-state.png','\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','session','tCiEl','Reviewer','ZXxec','Bash','nova_act_command_failure','`.\x0a4.\x20Save\x20every\x20snapshot\x20and\x20screenshot\x20under\x20`','capture\x20screenshot','TZIcM','uXENT','lyhgF','tLKZu','verify','ask','ms-playwright','fixzF','-vf','nova_act_artifact_recording','-c:v','cQGne','traceSampleInFlight','HyAJN','[nova-act-cli]\x20','wait\x20for\x20page\x20condition','uRZVa','\x0a\x0aIf\x20authentication\x20fails,\x20return\x20evaluation\x20\x22blocked\x22\x20and\x20describe\x20the\x20auth\x20failure.','\x0a\x0a##\x20Authentication\x0aBEFORE\x20starting\x20the\x20verification\x20task,\x20authenticate\x20using\x20these\x20steps:\x0a','yuv420p','328065LoIXdz','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','create\x20Nova\x20browser\x20session','libvpx-vp9','`\x20using\x20absolute\x20paths\x20only.\x0aReturn\x20your\x20findings\x20in\x20the\x20structured\x20output\x20format.','transportMetadata','nova_act_session_export','HycMZ','startAttempted','telemetry','trackPhaseStart','619874NgxDQO','yKyIw','length','ffmpeg-','lxwyC','YkCED','catch','cliArtifactDir','replace','ask\x20page\x20question','.cache','locator','\x0a\x0a##\x20Task\x20to\x20Execute\x0a','OlLIh','export','filter','Unable\x20to\x20read\x20Nova\x20session\x20metadata\x20at\x20','trackPhaseError','PostToolUse','yWRuF','session-recording.webm','\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`','UDXua','7464340wRcrqS','6233760lPgQBl','stop','145744PpDTbz','videos','navigate\x20browser','CTyJr','\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`','traceSampleCount','gFrwv','stdout',']\x20**','cdp_endpoint','`\x20using\x20absolute\x20paths\x20only.\x0a5.\x20Take\x20an\x20initial\x20snapshot:\x20`','cakoQ','env','fouAI','`\x0a2.\x20Run\x20`','unaddressedComments','export\x20Nova\x20session','\x20execute\x20\x221.\x20Open\x20the\x20account\x20settings\x20menu.\x202.\x20Click\x20Billing.\x203.\x20Wait\x20for\x20the\x20Billing\x20page\x20to\x20load.\x22\x20','Nova\x20session\x20metadata\x20did\x20not\x20include\x20cdp_endpoint\x20for\x20','from','cyTTZ','sessionId','kOeNe','KEVqg','40wjfdmx','--output-dir','screencastStarted','traceSampleTimer','name','goto','485590mLhEjb','phase','\x20verify\x20\x22The\x20Billing\x20page\x20is\x20visible\x20and\x20shows\x20the\x20current\x20plan.\x22\x20','evaluate','json','frameSession','rzAgw','element','Page.startScreencast','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.','Pugcx','nova_act_final_screenshot','\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','browser','stopScreencast','context','Caches','nova-video-frames','captureTraceSample','tool_name','`\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.','push','--output','`\x20is\x20reserved\x20for\x20the\x20host.\x20Use\x20only\x20session\x20create,\x20execute,\x20verify,\x20ask,\x20goto,\x20wait-for,\x20snapshot,\x20and\x20screenshot.','\x20screenshot\x20--output\x20','Page.screencastFrame','4804158bvoFbF','trim','>\x20\x22','\x0a\x0a##\x20Expected\x20Flow\x20(from\x20previous\x20verification)\x0a','\x20session\x20create\x20','textContent','body','MQrlQ','ghigb','nova_act_session_report','capture\x20snapshot\x20`','data','-hide_banner','trace.zip','connectOverCDP','XzWMc','FLkeM','Do\x20not\x20run\x20Nova\x20help,\x20doctor,\x20script,\x20session\x20list,\x20session\x20export,\x20or\x20session\x20close\x20commands\x20during\x20verification.','OwjBe','capture\x20step\x20`','stderr','tNHXp','telDF','\x0a\x0aExamples:\x0a-\x20`','zip','trackPhaseEnd','2jJKZjW','args','hook_event_name','--format','finally','novaOptions','snapshot','nova_act_command','qZXbg','stopped','reverse','utf-8','Use\x20only\x20the\x20provided\x20Nova\x20browser\x20command\x20prefix\x20for\x20browser\x20verification.\x20Do\x20not\x20inspect\x20setup,\x20credentials,\x20files,\x20or\x20the\x20local\x20environment.','Nova\x20CDP\x20connection\x20did\x20not\x20expose\x20a\x20browser\x20context','\x20snapshot\x20--output\x20','PhKNv','GlvrP','sort','ZhNAW','ffmpeg','BFcJf','tool_input','vxKMt','error','afyNz','execute','HqtLn','tracing','frameWrites','readSessionMetadataWithRetry','qKTDh','`\x0a7.\x20Return\x20immediately\x20with\x20the\x20structured\x20output.\x0a\x0aSave\x20every\x20artifact\x20under\x20`','content','`\x0a4.\x20Run\x20one\x20batched\x20`','session\x20create','nova_act_artifact_recording_stop','capture\x20snapshot','zuyWF','PostToolUseFailure','nXxWc','state','send','encodeScreencastVideo','cwd','frameCount','hGCGX','uIZDi','tracingStarted','startTraceSampling','test','NxOCC','notes','nova-artifacts.zip','zrgvN','split','133IwRmer','Page.screencastFrameAck','HUIjc','canonicalFlow','.act_cli','mzaXB','close','-qr','params'];_0x2885=function(){return _0x274119;};return _0x2885();}export async function harvestVerifyFeatureNovaCliArtifacts(_0x75290d){const _0x34c417=_0x253bb1,_0x3de71b={'uIZDi':function(_0x1166fa,_0x4130e3,_0x19f70c){return _0x1166fa(_0x4130e3,_0x19f70c);},'EZXOX':function(_0x1fa7f0,_0x4dd6c7){return _0x1fa7f0(_0x4dd6c7);}},{cwd:_0x333489,cliArtifactDir:_0x969b44,startTime:_0xf78194}=_0x75290d,_0x370c61=[];await _0x3de71b[_0x34c417(0x1e2)](mkdir,_0x969b44,{'recursive':!![]});const _0x5d2233=await _0x3de71b['uIZDi'](readdir,_0x333489,{'withFileTypes':!![]});for(const _0xf13993 of _0x5d2233){if(!_0xf13993['isFile']()||!VERIFY_FEATURE_NOVA_ARTIFACT_FILE_PATTERN[_0x34c417(0x1e5)](_0xf13993['name']))continue;const _0x5fe4b5=_0x3de71b[_0x34c417(0x1e2)](join,_0x333489,_0xf13993['name']),_0x1c0d94=await _0x3de71b['EZXOX'](stat,_0x5fe4b5);if(_0x1c0d94['mtimeMs']+0x7d0<_0xf78194)continue;const _0x5cb15b=buildCliArtifactPath(_0x969b44,_0xf13993['name']);if(_0x5fe4b5===_0x5cb15b)continue;await rename(_0x5fe4b5,_0x5cb15b),_0x370c61[_0x34c417(0x273)](_0xf13993[_0x34c417(0x25c)]);}return _0x370c61[_0x34c417(0x1c5)]();}export async function loadVerifyFeatureNovaTraceUploadArtifact(_0x426702){const _0xc237fe={'EsKWd':function(_0x277129,_0x832e5e){return _0x277129(_0x832e5e);}},_0x524c9d=join(_0x426702,'trace.zip');try{return{'buffer':await _0xc237fe['EsKWd'](readFile,_0x524c9d),'source':_0x524c9d};}catch{return{'buffer':await _0xc237fe['EsKWd'](zipVerifyFeatureNovaArtifacts,_0x426702),'source':_0x426702};}}async function zipVerifyFeatureNovaArtifacts(_0x3e5e90){const _0x13f2fd=_0x253bb1,_0x26093e={'yKyIw':function(_0x3334b9,_0x437e6c,_0x463e9f,_0x2fe6f3){return _0x3334b9(_0x437e6c,_0x463e9f,_0x2fe6f3);},'OwjBe':_0x13f2fd(0x1e8),'TZIcM':_0x13f2fd(0x1f2),'eHAuA':'nova-user-data/*'},_0x3b3620=_0x26093e[_0x13f2fd(0x227)](join,_0x3e5e90,'..',_0x26093e[_0x13f2fd(0x28a)]);try{return await _0x26093e[_0x13f2fd(0x227)](execFileAsync,_0x13f2fd(0x290),[_0x26093e[_0x13f2fd(0x207)],_0x3b3620,'.','-x',_0x26093e['eHAuA']],{'cwd':_0x3e5e90}),await readFile(_0x3b3620);}finally{await rm(_0x3b3620,{'force':!![]});}}function _0x4cc5(_0x76c50a,_0x130249){_0x76c50a=_0x76c50a-0x1b4;const _0x28859c=_0x2885();let _0x4cc57a=_0x28859c[_0x76c50a];return _0x4cc57a;}export function buildNovaActCliDiagnostics(_0x262aa4){const _0xc43620=_0x253bb1,_0x228501=buildNovaActCliInvocation(_0x262aa4[_0xc43620(0x1b9)],_0x262aa4['commandArgs']);return{'command':_0x228501[_0xc43620(0x1f9)],'args':_0x228501[_0xc43620(0x1b5)],'commandPreview':previewNovaActCliCommand(_0x228501[_0xc43620(0x1fb)]),'subcommand':_0x228501['subcommand'],'sharedOptionsSuffix':buildNovaActCliSharedOptionsSuffix(_0x262aa4[_0xc43620(0x1b9)],_0x262aa4['commandArgs'])};}
@@ -1 +1 @@
1
- (function(_0x45834f,_0x41f193){const _0x12d4cd=_0x49bf,_0x252ee7=_0x45834f();while(!![]){try{const _0x45da2d=parseInt(_0x12d4cd(0x13c))/0x1+parseInt(_0x12d4cd(0x191))/0x2+parseInt(_0x12d4cd(0x18b))/0x3*(-parseInt(_0x12d4cd(0x17a))/0x4)+parseInt(_0x12d4cd(0x13e))/0x5*(parseInt(_0x12d4cd(0x171))/0x6)+-parseInt(_0x12d4cd(0x15f))/0x7+parseInt(_0x12d4cd(0x181))/0x8*(-parseInt(_0x12d4cd(0x173))/0x9)+-parseInt(_0x12d4cd(0x152))/0xa*(-parseInt(_0x12d4cd(0x160))/0xb);if(_0x45da2d===_0x41f193)break;else _0x252ee7['push'](_0x252ee7['shift']());}catch(_0xd3c584){_0x252ee7['push'](_0x252ee7['shift']());}}}(_0x37d3,0x83cd7));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(_0xbddcc7,_0x2c78eb=RANGERWRIGHT_CLI_PREVIEW_LIMIT){const _0x159bd0=_0x49bf,_0x1e7080={'ZxVFa':function(_0x4d5a03,_0x3eddae){return _0x4d5a03+_0x3eddae;}};return _0xbddcc7['length']>_0x2c78eb?_0x1e7080[_0x159bd0(0x162)](_0xbddcc7[_0x159bd0(0x189)](0x0,_0x2c78eb),_0x159bd0(0x137)):_0xbddcc7;}function extractShellValue(_0x516b78){if(!_0x516b78)return null;return _0x516b78[0x1]??_0x516b78[0x2]??_0x516b78[0x3]??null;}function extractFirstCommandArgument(_0x2e6a82,_0x266c58){const _0x52c3ca=_0x49bf,_0x594f0c={'pYtny':'\x5c$&','odfHF':function(_0x5b4961,_0x17a0c3){return _0x5b4961(_0x17a0c3);}},_0x260c52=_0x266c58['replace'](/[.*+?^${}()|[\]\\]/g,_0x594f0c[_0x52c3ca(0x148)]);return _0x594f0c[_0x52c3ca(0x13b)](extractShellValue,_0x2e6a82[_0x52c3ca(0x14d)](new RegExp(_0x52c3ca(0x17d)+_0x260c52+_0x52c3ca(0x164))));}function formatCommandTarget(_0x2a0c9d){const _0x3e4f1a=_0x49bf,_0x4530f1={'sYdoa':function(_0x4c133c,_0x43527d,_0x446357){return _0x4c133c(_0x43527d,_0x446357);}};if(!_0x2a0c9d)return _0x3e4f1a(0x13a);if(/^e\d+$/i[_0x3e4f1a(0x16e)](_0x2a0c9d))return'ref\x20'+_0x2a0c9d;return JSON[_0x3e4f1a(0x175)](_0x4530f1[_0x3e4f1a(0x192)](truncatePreview,_0x2a0c9d,0x78));}function _0x49bf(_0x4a9c64,_0x1f09ad){_0x4a9c64=_0x4a9c64-0x135;const _0x37d3f6=_0x37d3();let _0x49bf3b=_0x37d3f6[_0x4a9c64];return _0x49bf3b;}function formatRangerwrightCliLog(_0x32cbfe,_0x369471){const _0x1c52bd=_0x49bf,_0x5baca3={'fazTR':_0x1c52bd(0x16f),'OaXEo':function(_0x287a38,_0x440819,_0x2dd8f9){return _0x287a38(_0x440819,_0x2dd8f9);},'NaKzx':'fill-and-inspect','qlsMD':'inspect','gTGeM':'inspect\x20page'};switch(_0x369471){case _0x5baca3['fazTR']:{const _0x334c09=extractFirstCommandArgument(_0x32cbfe,_0x369471);return _0x334c09?_0x1c52bd(0x158)+_0x334c09:'open\x20and\x20inspect';}case'click-and-inspect':return'click\x20and\x20inspect\x20'+formatCommandTarget(_0x5baca3[_0x1c52bd(0x161)](extractFirstCommandArgument,_0x32cbfe,_0x369471));case _0x1c52bd(0x167):case _0x5baca3['NaKzx']:return _0x1c52bd(0x18c)+formatCommandTarget(extractFirstCommandArgument(_0x32cbfe,_0x369471));case'back-and-inspect':return _0x1c52bd(0x15c);case _0x5baca3['qlsMD']:return _0x5baca3[_0x1c52bd(0x15a)];case'tracing-stop':return'stop\x20tracing';case _0x1c52bd(0x179):return'stop\x20video\x20recording';case _0x1c52bd(0x16c):return _0x1c52bd(0x151);default:return _0x369471;}}function renderScenarioSections(_0x1ada3c){const _0x278a6a=_0x49bf,_0x48dbf6={'xEnJx':_0x278a6a(0x14a),'NPQfB':_0x278a6a(0x144),'JuCRC':_0x278a6a(0x157)},{checklistItem:_0x20613d,itemFeedback:_0x428b52}=_0x1ada3c,_0x10e546=_0x20613d[_0x278a6a(0x15d)]?'\x0a\x0a##\x20Additional\x20Notes\x0a'+_0x20613d[_0x278a6a(0x15d)]:'';let _0x1a4d38='';if(_0x428b52&&_0x428b52[_0x278a6a(0x185)][_0x278a6a(0x17b)]>0x0){const _0x47fe9=_0x428b52[_0x278a6a(0x185)][_0x278a6a(0x139)](_0x1972f8=>{const _0x301ce2=_0x278a6a,_0x2f65d9=new Date(_0x1972f8['createdAt'])[_0x301ce2(0x169)](_0x301ce2(0x16a),{'month':_0x48dbf6['xEnJx'],'day':_0x48dbf6['NPQfB']}),_0x2821b6=_0x1972f8[_0x301ce2(0x182)]||_0x1972f8['authorEmail']||_0x48dbf6[_0x301ce2(0x149)],_0x582d5b=_0x1972f8['domRef']?'\x20(on\x20element:\x20<'+(_0x1972f8[_0x301ce2(0x178)]['selector']['split']('\x20>\x20')[_0x301ce2(0x135)]()?.[_0x301ce2(0x18d)](':')[0x0]||'element')+_0x301ce2(0x145)+(_0x1972f8[_0x301ce2(0x178)]['textContent']||'')[_0x301ce2(0x189)](0x0,0x32)+'\x22)':'';return _0x301ce2(0x183)+_0x1972f8['id']+']\x20'+_0x2821b6+'\x20('+_0x2f65d9+_0x301ce2(0x16d)+_0x1972f8[_0x301ce2(0x184)]+'\x22'+_0x582d5b;})[_0x278a6a(0x172)]('\x0a');_0x1a4d38=_0x278a6a(0x150)+_0x47fe9;}const _0x3a687c=_0x428b52?.[_0x278a6a(0x180)]?'\x0a\x0a##\x20Expected\x20Flow\x20(from\x20previous\x20verification)\x0a'+_0x428b52['canonicalFlow']:'';return''+_0x20613d['description']+_0x10e546+_0x1a4d38+_0x3a687c;}export function buildVerifyFeatureRangerwrightCliPrompt(_0x3776ad){const _0x2a4156=_0x49bf,_0x1b8a75={'xYjTa':'01_initial-state.png','Vqbxn':_0x2a4156(0x15e),'gfzyo':function(_0x1f4727,_0x4792a6){return _0x1f4727(_0x4792a6);}},{checklistItem:_0x116e15,itemFeedback:_0x4ee5f7,taskDescription:_0x50270b,commandPrefix:_0x3df775,isCdpMode:_0x57cadb,url:_0x4f317e,cdpEndpoint:_0x8f8575,loginInstructions:_0x4b118e}=_0x3776ad,_0xaa2773=_0x1b8a75[_0x2a4156(0x18e)],_0x493d2a='key_99_final-state.png',_0x43db6e=_0x57cadb?_0x3df775+'\x20inspect\x20--screenshot-path\x20'+quoteShellArg(_0xaa2773):_0x3df775+_0x2a4156(0x187)+quoteShellArg(_0x4f317e??_0x1b8a75[_0x2a4156(0x155)])+_0x2a4156(0x177)+_0x1b8a75[_0x2a4156(0x14b)](quoteShellArg,_0xaa2773),_0x5375b5=_0x57cadb?'##\x20App\x20Context\x0aYou\x20are\x20connected\x20to\x20a\x20desktop\x20application\x20via\x20CDP\x20at\x20'+_0x8f8575+_0x2a4156(0x153):_0x2a4156(0x163)+_0x4f317e+_0x2a4156(0x154),_0x372801=_0x4b118e?_0x2a4156(0x141)+_0x4b118e+'\x0a\x0aAfter\x20completing\x20authentication,\x20proceed\x20with\x20the\x20verification\x20task\x20below.\x0aIf\x20authentication\x20fails,\x20return\x20evaluation\x20\x22blocked\x22\x20and\x20describe\x20the\x20auth\x20failure.':'';return _0x2a4156(0x13d)+_0x1b8a75['gfzyo'](renderScenarioSections,{'checklistItem':_0x116e15,'itemFeedback':_0x4ee5f7})+'\x0a\x0a##\x20Task\x20to\x20Execute\x0a'+_0x50270b+'\x0a\x0a'+_0x5375b5+_0x372801+'\x0a\x0a##\x20Rangerwright\x20Instructions\x0aUse\x20Bash\x20and\x20Rangerwright\x20only.\x0a\x0aEvery\x20browser\x20command\x20must\x20start\x20with\x20this\x20exact\x20literal\x20command\x20prefix:\x0a\x0a'+_0x3df775+_0x2a4156(0x166)+_0x43db6e+_0x2a4156(0x142)+_0x3df775+_0x2a4156(0x188)+_0x1b8a75['gfzyo'](quoteShellArg,_0x493d2a)+_0x2a4156(0x147);}export function buildVerifyFeatureRangerwrightCliDebugPrompt(_0x2ae68a){const _0x4a98e6=_0x49bf,_0x24342b={'TmqpM':'01_mozilla-homepage.png','dLsPN':'key_02_learn-more.png'},_0x12e51d=_0x24342b['TmqpM'],_0x28934b=_0x24342b[_0x4a98e6(0x176)];return'You\x20are\x20testing\x20browser\x20automation.\x20Your\x20task\x20is\x20simple:\x0a\x0aUse\x20Bash\x20and\x20Rangerwright\x20only.\x20Every\x20browser\x20command\x20must\x20start\x20with\x20this\x20exact\x20literal\x20command\x20prefix:\x0a\x0a'+_0x2ae68a[_0x4a98e6(0x140)]+_0x4a98e6(0x168)+_0x2ae68a['commandPrefix']+_0x4a98e6(0x187)+quoteShellArg(_0x2ae68a[_0x4a98e6(0x17e)])+_0x4a98e6(0x177)+quoteShellArg(_0x12e51d)+'`\x0a2.\x20Use\x20the\x20returned\x20JSON\x20to\x20find\x20the\x20\x22Learn\x20More\x22\x20link\x20ref.\x0a3.\x20Run\x20`'+_0x2ae68a['commandPrefix']+_0x4a98e6(0x193)+quoteShellArg(_0x28934b)+_0x4a98e6(0x138);}export function summarizeVerifyFeatureRangerwrightCliCommandAvailability(_0x56200a){const _0x37411d=[..._0x56200a['keys']()]['sort']();let _0x39adac=0x0;for(const _0xd1090f of _0x56200a['values']()){_0x39adac+=_0xd1090f;}return{'cliCommandCount':_0x39adac,'cliCommandsSeen':_0x37411d,'noCliCommandsCalled':_0x39adac===0x0};}export function createVerifyFeatureRangerwrightCliHooks(_0x53473f){const _0x4ed534=_0x49bf,_0x5ed580={'vSsdn':function(_0x483a1f,_0x27d070){return _0x483a1f!==_0x27d070;},'DcNeT':function(_0x1eccf7,_0x1fb35c){return _0x1eccf7(_0x1fb35c);},'GrSbp':function(_0x54c840,_0x1ca2e4){return _0x54c840(_0x1ca2e4);},'hIGvY':function(_0x229031,_0xddd010){return _0x229031!==_0xddd010;},'VZQUR':_0x4ed534(0x15b),'fegOp':_0x4ed534(0x14c),'dAZKz':'rangerwright-cli','svTby':'Bash'},_0x602288=new Map(),_0x5a4189=async _0x3896e2=>{const _0x3d0f2f=_0x4ed534;if(_0x5ed580[_0x3d0f2f(0x156)](_0x3896e2[_0x3d0f2f(0x14f)],_0x3d0f2f(0x17c)))return{};const _0x37e9db=_0x3896e2;if(_0x37e9db['tool_name']!==_0x3d0f2f(0x18f))return{};const _0x332a64=_0x37e9db['tool_input'],_0x540ea7=_0x5ed580['DcNeT'](extractBashCommand,_0x332a64);if(!_0x540ea7)return{};const _0x53753f=_0x5ed580['GrSbp'](parseRangerwrightCliCommand,_0x540ea7);if(!_0x53753f)return{};return _0x602288['set'](_0x53753f,(_0x602288['get'](_0x53753f)||0x0)+0x1),_0x53473f[_0x3d0f2f(0x16b)](_0x3d0f2f(0x146),{'subcommand':_0x53753f}),_0x53473f['trackPhaseEnd']('rangerwright_cli_command',{'subcommand':_0x53753f,'commandPreview':truncatePreview(_0x540ea7)}),console[_0x3d0f2f(0x14e)]('[rangerwright-cli]\x20'+formatRangerwrightCliLog(_0x540ea7,_0x53753f)),{};},_0x1555bc=async _0x7dd4f7=>{const _0x2acc16=_0x4ed534;if(_0x5ed580[_0x2acc16(0x165)](_0x7dd4f7[_0x2acc16(0x14f)],_0x5ed580['VZQUR']))return{};const _0x3921b8=_0x7dd4f7;if(_0x3921b8['tool_name']!==_0x2acc16(0x18f))return{};return await _0x53473f['trackPhaseError'](_0x5ed580['fegOp'],_0x3921b8[_0x2acc16(0x17f)],{'transport':_0x5ed580[_0x2acc16(0x186)],'toolName':_0x5ed580['svTby']}),{};};return{'postToolUseHook':_0x5a4189,'postToolUseFailureHook':_0x1555bc,'commandCounts':_0x602288};}async function runRangerwrightLifecycleCommand(_0x162ecf){const _0x5ecfe3=_0x49bf,_0x5934a7={'RHRgq':function(_0x2bad4a,_0x58b2aa){return _0x2bad4a??_0x58b2aa;},'AtZpd':function(_0x4c11ab,_0x57f5d1,_0x4e4be3){return _0x4c11ab(_0x57f5d1,_0x4e4be3);}},{options:_0x1f5d49,commandArgs:_0x2a7ab9,env:_0x7daf3,telemetry:_0x17e20b,phase:_0x72c867,metadata:_0x17ce2e,timeoutMs:_0xbdced8}=_0x162ecf;_0x17e20b['trackPhaseStart'](_0x72c867,_0x17ce2e);try{const _0x2afc28=await runRangerwrightCliCommand({..._0x1f5d49,'commandArgs':_0x2a7ab9,'cwd':process[_0x5ecfe3(0x136)](),'env':_0x7daf3,'timeoutMs':_0x5934a7[_0x5ecfe3(0x143)](_0xbdced8,RANGERWRIGHT_CLI_COMMAND_TIMEOUT_MS)});_0x17e20b[_0x5ecfe3(0x159)](_0x72c867,{..._0x17ce2e,'subcommand':_0x2afc28['invocation'][_0x5ecfe3(0x18a)],'stdoutPreview':truncatePreview(_0x2afc28['stdout'],0x7d0),'stderrPreview':_0x5934a7['AtZpd'](truncatePreview,_0x2afc28['stderr'],0x7d0)});}catch(_0x45ad9d){await _0x17e20b['trackPhaseError'](_0x72c867,_0x45ad9d,_0x17ce2e);throw _0x45ad9d;}}function _0x37d3(){const _0x300846=['2800ThwqLY','.\x0aThe\x20app\x20is\x20already\x20running\x20and\x20connected.\x20Start\x20with\x20inspect\x20instead\x20of\x20opening\x20a\x20URL.','\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.','Vqbxn','vSsdn','Reviewer','open\x20and\x20inspect\x20','trackPhaseEnd','gTGeM','PostToolUseFailure','go\x20back\x20and\x20inspect','notes','about:blank','5281017EaTGNw','29271yCeDFR','OaXEo','ZxVFa','CRITICAL\x20URL\x20REQUIREMENT:\x0aYour\x20base\x20URL\x20is:\x20','(?:\x5cs+(?:\x22([^\x22]+)\x22|\x27([^\x27]+)\x27|(\x5cS+)))','hIGvY','\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','fill','\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`','toLocaleDateString','en-US','trackPhaseStart','close','):\x20\x22','test','open-and-inspect','rangerwright_cli_close','462558AdbkAE','join','94113lPFXdz','dryTk','stringify','dLsPN','\x20--screenshot-path\x20','domRef','video-stop','36552fRNTqg','length','PostToolUse','(?:^|\x5cs)','url','error','canonicalFlow','808nhfhTS','authorName','-\x20[','content','unaddressedComments','dAZKz','\x20open-and-inspect\x20','\x20click-and-inspect\x20e37\x20--screenshot-path\x20','slice','subcommand','18xvxfQl','fill\x20','split','xYjTa','Bash','phase','821254HhvBCu','sYdoa','\x20click-and-inspect\x20<ref>\x20--screenshot-path\x20','pop','cwd','...','`\x0a4.\x20Return\x20immediately\x20with\x20the\x20structured\x20output.\x0a\x0aReturn\x20your\x20findings\x20in\x20the\x20structured\x20output\x20format.','map','target','odfHF','709921NTYvZm','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','35yikDXJ','GkqHU','commandPrefix','\x0a\x0a##\x20Authentication\x0aBEFORE\x20starting\x20the\x20verification\x20task,\x20authenticate\x20using\x20these\x20steps:\x0a','\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','RHRgq','numeric','>\x20\x22','rangerwright_cli_command','\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.','pYtny','JuCRC','short','gfzyo','rangerwright_cli_command_failure','match','log','hook_event_name','\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','close\x20browser\x20session'];_0x37d3=function(){return _0x300846;};return _0x37d3();}export async function finalizeVerifyFeatureRangerwrightCliSession(_0x318ebf){const _0x3126e9=_0x49bf,_0x109db0={'GkqHU':_0x3126e9(0x170),'jHVvX':_0x3126e9(0x16c),'dryTk':function(_0x1fb6e0,_0x2b9b41){return _0x1fb6e0(_0x2b9b41);}},{telemetry:_0x29ae77,rangerwrightOptions:_0x14d3d9,env:_0x4ed4ae,transportMetadata:_0x548bb6}=_0x318ebf,_0xc8428a=[{'phase':'rangerwright_cli_tracing_stop','commandArgs':['tracing-stop']},{'phase':'rangerwright_cli_video_stop','commandArgs':['video-stop']},{'phase':_0x109db0[_0x3126e9(0x13f)],'commandArgs':[_0x109db0['jHVvX']]}];for(const _0x5cb309 of _0xc8428a){try{await _0x109db0[_0x3126e9(0x174)](runRangerwrightLifecycleCommand,{'options':_0x14d3d9,'commandArgs':[..._0x5cb309['commandArgs']],'env':_0x4ed4ae,'telemetry':_0x29ae77,'phase':_0x5cb309[_0x3126e9(0x190)],'metadata':_0x548bb6});}catch{}}}
1
+ (function(_0x278b89,_0x1132f0){const _0x3929d4=_0x1e8a,_0x1e16e6=_0x278b89();while(!![]){try{const _0x2ac0ac=-parseInt(_0x3929d4(0x160))/0x1+parseInt(_0x3929d4(0x169))/0x2+-parseInt(_0x3929d4(0x180))/0x3*(parseInt(_0x3929d4(0x1ad))/0x4)+parseInt(_0x3929d4(0x155))/0x5*(-parseInt(_0x3929d4(0x193))/0x6)+parseInt(_0x3929d4(0x16f))/0x7*(parseInt(_0x3929d4(0x182))/0x8)+-parseInt(_0x3929d4(0x179))/0x9*(parseInt(_0x3929d4(0x18d))/0xa)+parseInt(_0x3929d4(0x1a7))/0xb;if(_0x2ac0ac===_0x1132f0)break;else _0x1e16e6['push'](_0x1e16e6['shift']());}catch(_0x53b487){_0x1e16e6['push'](_0x1e16e6['shift']());}}}(_0x32ba,0x60f71));function _0x1e8a(_0x549854,_0x564eba){_0x549854=_0x549854-0x154;const _0x32ba5f=_0x32ba();let _0x1e8a53=_0x32ba5f[_0x549854];return _0x1e8a53;}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(_0xa39c5,_0x1c55d5=RANGERWRIGHT_CLI_PREVIEW_LIMIT){const _0x52779e=_0x1e8a,_0x47024e={'ToVzk':function(_0xaf32d,_0x3a5347){return _0xaf32d+_0x3a5347;}};return _0xa39c5['length']>_0x1c55d5?_0x47024e[_0x52779e(0x16e)](_0xa39c5[_0x52779e(0x18f)](0x0,_0x1c55d5),'...'):_0xa39c5;}function extractShellValue(_0x2c90b3){if(!_0x2c90b3)return null;return _0x2c90b3[0x1]??_0x2c90b3[0x2]??_0x2c90b3[0x3]??null;}function extractFirstCommandArgument(_0xcbe042,_0x17ced4){const _0x3af12f=_0x1e8a,_0x4e07f8={'hjPFO':'\x5c$&'},_0x115a66=_0x17ced4[_0x3af12f(0x18a)](/[.*+?^${}()|[\]\\]/g,_0x4e07f8['hjPFO']);return extractShellValue(_0xcbe042['match'](new RegExp('(?:^|\x5cs)'+_0x115a66+'(?:\x5cs+(?:\x22([^\x22]+)\x22|\x27([^\x27]+)\x27|(\x5cS+)))')));}function formatCommandTarget(_0x13e6dc){const _0x591a3f=_0x1e8a,_0x2dd890={'PvOfM':function(_0x2125fd,_0x548cbd,_0x948d7){return _0x2125fd(_0x548cbd,_0x948d7);}};if(!_0x13e6dc)return _0x591a3f(0x189);if(/^e\d+$/i[_0x591a3f(0x16a)](_0x13e6dc))return _0x591a3f(0x166)+_0x13e6dc;return JSON[_0x591a3f(0x184)](_0x2dd890['PvOfM'](truncatePreview,_0x13e6dc,0x78));}function formatRangerwrightCliLog(_0x1c4172,_0x2c5fcb){const _0x26874b=_0x1e8a,_0x517bb3={'gmsuB':_0x26874b(0x192),'yafjt':'open\x20and\x20inspect','KgcrC':function(_0x3b8993,_0xa89a1f,_0x28bbda){return _0x3b8993(_0xa89a1f,_0x28bbda);},'uhcNm':_0x26874b(0x1a4),'vwIZQ':'fill-and-inspect','naRIT':function(_0x173896,_0x23b000){return _0x173896(_0x23b000);},'LoAZO':function(_0x25ba25,_0x5288aa,_0xccf5ce){return _0x25ba25(_0x5288aa,_0xccf5ce);},'Xyske':_0x26874b(0x19c),'Harvt':_0x26874b(0x167),'nyhSw':_0x26874b(0x1ae),'GTihV':_0x26874b(0x15d),'hvild':'close','iWzLI':_0x26874b(0x1ac)};switch(_0x2c5fcb){case _0x517bb3['gmsuB']:{const _0x11da22=extractFirstCommandArgument(_0x1c4172,_0x2c5fcb);return _0x11da22?_0x26874b(0x1a9)+_0x11da22:_0x517bb3[_0x26874b(0x19f)];}case'click-and-inspect':return'click\x20and\x20inspect\x20'+formatCommandTarget(_0x517bb3[_0x26874b(0x15e)](extractFirstCommandArgument,_0x1c4172,_0x2c5fcb));case _0x517bb3[_0x26874b(0x185)]:case _0x517bb3['vwIZQ']:return'fill\x20'+_0x517bb3['naRIT'](formatCommandTarget,_0x517bb3['LoAZO'](extractFirstCommandArgument,_0x1c4172,_0x2c5fcb));case _0x517bb3[_0x26874b(0x173)]:return _0x26874b(0x15f);case _0x517bb3['Harvt']:return _0x26874b(0x164);case _0x517bb3['nyhSw']:return'stop\x20tracing';case _0x26874b(0x17f):return _0x517bb3[_0x26874b(0x1a3)];case _0x517bb3[_0x26874b(0x17e)]:return _0x517bb3['iWzLI'];default:return _0x2c5fcb;}}function renderScenarioSections(_0x5191e0){const _0x4fee6b=_0x1e8a,_0x5cbc8e={'swrSn':'en-US','CXgYx':'numeric','HupCu':'\x20>\x20'},{checklistItem:_0x5a1b46,itemFeedback:_0x28fa8f}=_0x5191e0,_0x1dfc16=_0x5a1b46[_0x4fee6b(0x197)]?'\x0a\x0a##\x20Additional\x20Notes\x0a'+_0x5a1b46['notes']:'';let _0x7d2c2b='';if(_0x28fa8f&&_0x28fa8f['unaddressedComments'][_0x4fee6b(0x1a8)]>0x0){const _0x2bdbb0=_0x28fa8f[_0x4fee6b(0x188)][_0x4fee6b(0x196)](_0x49ebdd=>{const _0x3f8ef5=_0x4fee6b,_0x25fdd5=new Date(_0x49ebdd['createdAt'])[_0x3f8ef5(0x181)](_0x5cbc8e['swrSn'],{'month':_0x3f8ef5(0x17d),'day':_0x5cbc8e['CXgYx']}),_0x33217a=_0x49ebdd[_0x3f8ef5(0x1a6)]||_0x49ebdd['authorEmail']||'Reviewer',_0x1578db=_0x49ebdd['domRef']?'\x20(on\x20element:\x20<'+(_0x49ebdd['domRef']['selector']['split'](_0x5cbc8e['HupCu'])['pop']()?.['split'](':')[0x0]||_0x3f8ef5(0x1a0))+'>\x20\x22'+(_0x49ebdd['domRef'][_0x3f8ef5(0x1a1)]||'')[_0x3f8ef5(0x18f)](0x0,0x32)+'\x22)':'';return _0x3f8ef5(0x17b)+_0x49ebdd['id']+']\x20'+_0x33217a+'\x20('+_0x25fdd5+_0x3f8ef5(0x19b)+_0x49ebdd[_0x3f8ef5(0x15c)]+'\x22'+_0x1578db;})['join']('\x0a');_0x7d2c2b='\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'+_0x2bdbb0;}const _0x10847e=_0x28fa8f?.['canonicalFlow']?_0x4fee6b(0x190)+_0x28fa8f['canonicalFlow']:'';return''+_0x5a1b46[_0x4fee6b(0x162)]+_0x1dfc16+_0x7d2c2b+_0x10847e;}function _0x32ba(){const _0x10ae51=['\x0a\x0a##\x20Task\x20to\x20Execute\x0a','):\x20\x22','back-and-inspect','split','.\x0aThe\x20app\x20is\x20already\x20running\x20and\x20connected.\x20Start\x20with\x20inspect\x20instead\x20of\x20opening\x20a\x20URL.','yafjt','element','textContent','\x20open-and-inspect\x20','GTihV','fill','startsWith','authorName','11822723jpoqOT','length','open\x20and\x20inspect\x20','log','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','close\x20browser\x20session','8vSonwn','tracing-stop','nDGrK','515wUjFcA','\x20--screenshot-path\x20','tool_input','\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`','GAAgR','tool_name','rangerwright_cli_command_failure','content','stop\x20video\x20recording','KgcrC','go\x20back\x20and\x20inspect','244180LxdQRc','Bash','description','trackPhaseError','inspect\x20page','some','ref\x20','inspect','commandPrefix','319136nYvoFF','test','\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','phase','key_02_learn-more.png','ToVzk','1043ThSeUJ','stdout','rangerwright_cli_command','eYDut','Xyske','trackPhaseStart','\x20click-and-inspect\x20e37\x20--screenshot-path\x20','ucngl','hook_event_name','\x20click-and-inspect\x20<ref>\x20--screenshot-path\x20','27rdSujt','`\x0a4.\x20Return\x20immediately\x20with\x20the\x20structured\x20output.\x0a\x0aReturn\x20your\x20findings\x20in\x20the\x20structured\x20output\x20format.','-\x20[','push','short','hvild','video-stop','661209IuGMJp','toLocaleDateString','19224ZMJyrI','about:blank','stringify','uhcNm','PostToolUseFailure','key_99_final-state.png','unaddressedComments','target','replace','subcommand','\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.','25720cUbfFS','commandArgs','slice','\x0a\x0a##\x20Expected\x20Flow\x20(from\x20previous\x20verification)\x0a','trackPhaseEnd','open-and-inspect','29274YLyNSs','IqCGe','PostToolUse','map','notes','XwlCH','set'];_0x32ba=function(){return _0x10ae51;};return _0x32ba();}export function buildVerifyFeatureRangerwrightCliPrompt(_0x448945){const _0x4226bd=_0x1e8a,_0x5627c5={'iuGxB':'01_initial-state.png','nDGrK':function(_0x23385d,_0x4ac61d){return _0x23385d(_0x4ac61d);},'GAAgR':function(_0x3505f2,_0x3f5d93){return _0x3505f2??_0x3f5d93;},'FJIQO':_0x4226bd(0x183),'CnVxw':function(_0x40f70d,_0x813e24){return _0x40f70d(_0x813e24);}},{checklistItem:_0x10c727,itemFeedback:_0x18d2c1,taskDescription:_0x4a1ee6,commandPrefix:_0x5684fb,isCdpMode:_0x4e8108,url:_0x55a6f9,cdpEndpoint:_0x1d2c69,loginInstructions:_0x3a02a5}=_0x448945,_0x30f907=_0x5627c5['iuGxB'],_0x4c7691=_0x4226bd(0x187),_0x4ea8e0=_0x4e8108?_0x5684fb+'\x20inspect\x20--screenshot-path\x20'+quoteShellArg(_0x30f907):_0x5684fb+_0x4226bd(0x1a2)+_0x5627c5[_0x4226bd(0x154)](quoteShellArg,_0x5627c5[_0x4226bd(0x159)](_0x55a6f9,_0x5627c5['FJIQO']))+_0x4226bd(0x156)+_0x5627c5['CnVxw'](quoteShellArg,_0x30f907),_0x4ab97f=_0x4e8108?'##\x20App\x20Context\x0aYou\x20are\x20connected\x20to\x20a\x20desktop\x20application\x20via\x20CDP\x20at\x20'+_0x1d2c69+_0x4226bd(0x19e):'CRITICAL\x20URL\x20REQUIREMENT:\x0aYour\x20base\x20URL\x20is:\x20'+_0x55a6f9+_0x4226bd(0x18c),_0x3d67d3=_0x3a02a5?'\x0a\x0a##\x20Authentication\x0aBEFORE\x20starting\x20the\x20verification\x20task,\x20authenticate\x20using\x20these\x20steps:\x0a'+_0x3a02a5+'\x0a\x0aAfter\x20completing\x20authentication,\x20proceed\x20with\x20the\x20verification\x20task\x20below.\x0aIf\x20authentication\x20fails,\x20return\x20evaluation\x20\x22blocked\x22\x20and\x20describe\x20the\x20auth\x20failure.':'';return _0x4226bd(0x1ab)+_0x5627c5['nDGrK'](renderScenarioSections,{'checklistItem':_0x10c727,'itemFeedback':_0x18d2c1})+_0x4226bd(0x19a)+_0x4a1ee6+'\x0a\x0a'+_0x4ab97f+_0x3d67d3+'\x0a\x0a##\x20Rangerwright\x20Instructions\x0aUse\x20Bash\x20and\x20Rangerwright\x20only.\x0a\x0aEvery\x20browser\x20command\x20must\x20start\x20with\x20this\x20exact\x20literal\x20command\x20prefix:\x0a\x0a'+_0x5684fb+_0x4226bd(0x16b)+_0x4ea8e0+'\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'+_0x5684fb+_0x4226bd(0x175)+quoteShellArg(_0x4c7691)+'\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(_0x4abc29){const _0x28872e=_0x1e8a,_0x360b04={'hHSJe':function(_0x40cebe,_0xe8ee6){return _0x40cebe(_0xe8ee6);},'aHVkQ':function(_0x32dd20,_0x53393d){return _0x32dd20(_0x53393d);},'Pcfla':function(_0x57c4b1,_0x4e93f3){return _0x57c4b1(_0x4e93f3);}},_0xc34014='01_mozilla-homepage.png',_0x20e83f=_0x28872e(0x16d);return'You\x20are\x20testing\x20browser\x20automation.\x20Your\x20task\x20is\x20simple:\x0a\x0aUse\x20Bash\x20and\x20Rangerwright\x20only.\x20Every\x20browser\x20command\x20must\x20start\x20with\x20this\x20exact\x20literal\x20command\x20prefix:\x0a\x0a'+_0x4abc29['commandPrefix']+_0x28872e(0x158)+_0x4abc29['commandPrefix']+_0x28872e(0x1a2)+_0x360b04['hHSJe'](quoteShellArg,_0x4abc29['url'])+_0x28872e(0x156)+_0x360b04['aHVkQ'](quoteShellArg,_0xc34014)+'`\x0a2.\x20Use\x20the\x20returned\x20JSON\x20to\x20find\x20the\x20\x22Learn\x20More\x22\x20link\x20ref.\x0a3.\x20Run\x20`'+_0x4abc29[_0x28872e(0x168)]+_0x28872e(0x178)+_0x360b04['Pcfla'](quoteShellArg,_0x20e83f)+_0x28872e(0x17a);}export function extractRangerwrightScreenshotPaths(_0x45f33b){const _0x80cae2=_0x1e8a;if(!parseRangerwrightCliCommand(_0x45f33b))return[];const _0x25d93e=[],_0x511dd5=/--screenshot-path(?:=|\s+)(?:"([^"]*)"|'([^']*)'|(\S+))/g;for(const _0x122681 of _0x45f33b['matchAll'](_0x511dd5)){const _0xe3234e=_0x122681[0x1]??_0x122681[0x2]??_0x122681[0x3]??'',_0xe182c4=_0xe3234e[_0x80cae2(0x1a5)]('./')?_0xe3234e['slice'](0x2):_0xe3234e;if(!_0xe182c4||_0xe182c4['startsWith']('/'))continue;if(_0xe182c4[_0x80cae2(0x19d)]('/')[_0x80cae2(0x165)](_0x211963=>_0x211963==='..'))continue;_0x25d93e[_0x80cae2(0x17c)](_0xe182c4);}return _0x25d93e;}export function summarizeVerifyFeatureRangerwrightCliCommandAvailability(_0x5c61e6){const _0x51f3e6=[..._0x5c61e6['keys']()]['sort']();let _0x3c9779=0x0;for(const _0x108590 of _0x5c61e6['values']()){_0x3c9779+=_0x108590;}return{'cliCommandCount':_0x3c9779,'cliCommandsSeen':_0x51f3e6,'noCliCommandsCalled':_0x3c9779===0x0};}export function createVerifyFeatureRangerwrightCliHooks(_0x2d85ac){const _0x43a48e=_0x1e8a,_0x216948={'XwlCH':function(_0x233524,_0x2b1b45){return _0x233524!==_0x2b1b45;},'eYDut':_0x43a48e(0x171),'atYnP':function(_0x55ef9b,_0xd48e5d){return _0x55ef9b(_0xd48e5d);},'IqCGe':_0x43a48e(0x186),'CLhVJ':'rangerwright-cli','tceZC':_0x43a48e(0x161)},_0x2d635e=new Map(),_0x516289=async _0x4d02b4=>{const _0x5f09e2=_0x43a48e;if(_0x4d02b4['hook_event_name']!==_0x5f09e2(0x195))return{};const _0x3d380c=_0x4d02b4;if(_0x216948['XwlCH'](_0x3d380c[_0x5f09e2(0x15a)],'Bash'))return{};const _0x504fd6=_0x3d380c[_0x5f09e2(0x157)],_0x37115a=extractBashCommand(_0x504fd6);if(!_0x37115a)return{};const _0x3a4c5f=parseRangerwrightCliCommand(_0x37115a);if(!_0x3a4c5f)return{};return _0x2d635e[_0x5f09e2(0x199)](_0x3a4c5f,(_0x2d635e['get'](_0x3a4c5f)||0x0)+0x1),_0x2d85ac['trackPhaseStart'](_0x216948[_0x5f09e2(0x172)],{'subcommand':_0x3a4c5f}),_0x2d85ac[_0x5f09e2(0x191)](_0x216948['eYDut'],{'subcommand':_0x3a4c5f,'commandPreview':_0x216948['atYnP'](truncatePreview,_0x37115a)}),console[_0x5f09e2(0x1aa)]('[rangerwright-cli]\x20'+formatRangerwrightCliLog(_0x37115a,_0x3a4c5f)),{};},_0x1e4c8e=async _0x16079d=>{const _0xe6f24e=_0x43a48e;if(_0x16079d[_0xe6f24e(0x177)]!==_0x216948[_0xe6f24e(0x194)])return{};const _0x410aed=_0x16079d;if(_0x216948[_0xe6f24e(0x198)](_0x410aed[_0xe6f24e(0x15a)],'Bash'))return{};return await _0x2d85ac[_0xe6f24e(0x163)](_0xe6f24e(0x15b),_0x410aed['error'],{'transport':_0x216948['CLhVJ'],'toolName':_0x216948['tceZC']}),{};};return{'postToolUseHook':_0x516289,'postToolUseFailureHook':_0x1e4c8e,'commandCounts':_0x2d635e};}async function runRangerwrightLifecycleCommand(_0x355004){const _0x3c07b1=_0x1e8a,_0x53c6a5={'ucngl':function(_0x2bb5ef,_0x43a184){return _0x2bb5ef(_0x43a184);},'jIAqu':function(_0x3327d3,_0x22fbf5,_0x465ff0){return _0x3327d3(_0x22fbf5,_0x465ff0);}},{options:_0xb31b8b,commandArgs:_0x2e1d5b,env:_0x7e02f8,telemetry:_0x2fb39c,phase:_0x13e1cf,metadata:_0xab6656,timeoutMs:_0x4517b6}=_0x355004;_0x2fb39c[_0x3c07b1(0x174)](_0x13e1cf,_0xab6656);try{const _0x2e9372=await _0x53c6a5[_0x3c07b1(0x176)](runRangerwrightCliCommand,{..._0xb31b8b,'commandArgs':_0x2e1d5b,'cwd':process['cwd'](),'env':_0x7e02f8,'timeoutMs':_0x4517b6??RANGERWRIGHT_CLI_COMMAND_TIMEOUT_MS});_0x2fb39c['trackPhaseEnd'](_0x13e1cf,{..._0xab6656,'subcommand':_0x2e9372['invocation'][_0x3c07b1(0x18b)],'stdoutPreview':_0x53c6a5['jIAqu'](truncatePreview,_0x2e9372[_0x3c07b1(0x170)],0x7d0),'stderrPreview':truncatePreview(_0x2e9372['stderr'],0x7d0)});}catch(_0x4b321d){await _0x2fb39c['trackPhaseError'](_0x13e1cf,_0x4b321d,_0xab6656);throw _0x4b321d;}}export async function finalizeVerifyFeatureRangerwrightCliSession(_0x3cf36b){const _0x50b4e2=_0x1e8a,_0x431e40={'tTclD':'rangerwright_cli_video_stop','srkZj':_0x50b4e2(0x17f),'ujyoQ':'rangerwright_cli_close'},{telemetry:_0x4dfc65,rangerwrightOptions:_0x39bf5a,env:_0x484507,transportMetadata:_0x2c6e9e}=_0x3cf36b,_0x34c941=[{'phase':'rangerwright_cli_tracing_stop','commandArgs':['tracing-stop']},{'phase':_0x431e40['tTclD'],'commandArgs':[_0x431e40['srkZj']]},{'phase':_0x431e40['ujyoQ'],'commandArgs':['close']}];for(const _0x337907 of _0x34c941){try{await runRangerwrightLifecycleCommand({'options':_0x39bf5a,'commandArgs':[..._0x337907[_0x50b4e2(0x18e)]],'env':_0x484507,'telemetry':_0x4dfc65,'phase':_0x337907[_0x50b4e2(0x16c)],'metadata':_0x2c6e9e});}catch{}}}
@@ -230,6 +230,14 @@ When completing your work or ending the session, your final message to the user
230
230
 
231
231
  ---
232
232
 
233
+ # Graduating a feature review into a durable test
234
+
235
+ Feature reviews are your inner loop: they verify a change against the app you're running locally, for you, right now. They are not permanent tests, and they do not run for the rest of the team.
236
+
237
+ When a change is shipping and you want it protected going forward — a test that runs continuously across the team against your deployed environment — that's a Ranger **test** (testgen), created through the Ranger MCP, not the CLI. Testgen runs in Ranger's cloud against a deployed, reachable environment, so offer it **once the change is deployed**, not while it's only on localhost. If the testgen tools are available in this session, offer to set that up after the feature review is verified; otherwise point the user to them.
238
+
239
+ ---
240
+
233
241
  # Quick Reference
234
242
 
235
243
  | Command | Purpose |
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ranger-testing/ranger-cli",
3
- "version": "3.1.7-alpha.34400c2-56",
3
+ "version": "3.1.7-alpha.44736ee-66",
4
4
  "type": "module",
5
5
  "bin": {
6
6
  "ranger": "./build/cli.js",
@@ -13,7 +13,7 @@
13
13
  "dev": "tsx src/cli.ts",
14
14
  "check-playwright-version": "node scripts/check-playwright-version.cjs",
15
15
  "postinstall": "node scripts/postinstall.js",
16
- "test": "cd ../.. && TEST_ENVIRONMENT=true tsx --import ./tests/native-node/setup.ts --test --test-concurrency=1 ./tests/native-node/cli/*.test.cjs"
16
+ "test": "cd ../.. && TEST_ENVIRONMENT=true tsx --import ./tests/node-runner/setup.ts --test --test-concurrency=1 ./tests/node-runner/cli/*.test.cjs"
17
17
  },
18
18
  "files": [
19
19
  "build",