@ranger-testing/ranger-cli 3.1.7-alpha.9ed0a8d-59 → 3.1.7-alpha.a5be4ca-60

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 (86) 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/agentEnv.js +1 -1
  38. package/build/commands/utils/browserSessionsApi.js +1 -1
  39. package/build/commands/utils/claudeConfig.js +1 -1
  40. package/build/commands/utils/claudeOverrideSettings.js +1 -1
  41. package/build/commands/utils/claudePlugin.js +1 -1
  42. package/build/commands/utils/cloudProfile.js +1 -1
  43. package/build/commands/utils/cloudProfileSession.js +1 -1
  44. package/build/commands/utils/crypto.js +1 -1
  45. package/build/commands/utils/desirePathLog.js +1 -1
  46. package/build/commands/utils/deviceAuth.js +1 -1
  47. package/build/commands/utils/environment.js +1 -1
  48. package/build/commands/utils/featureApi.js +1 -1
  49. package/build/commands/utils/fixWebmDuration.js +1 -1
  50. package/build/commands/utils/gitTracked.js +1 -1
  51. package/build/commands/utils/keychain.js +1 -1
  52. package/build/commands/utils/legacyWarning.js +1 -1
  53. package/build/commands/utils/localAgentInstallationsApi.js +1 -1
  54. package/build/commands/utils/matchAuthEnvironment.js +1 -1
  55. package/build/commands/utils/mcpImageBase64.js +1 -1
  56. package/build/commands/utils/model.js +1 -1
  57. package/build/commands/utils/novaActCli.js +1 -1
  58. package/build/commands/utils/opencodeConfig.js +1 -1
  59. package/build/commands/utils/organizationEnvApi.js +1 -1
  60. package/build/commands/utils/playwrightCli.js +1 -1
  61. package/build/commands/utils/profileMessages.js +1 -1
  62. package/build/commands/utils/profileSetupBanner.js +1 -1
  63. package/build/commands/utils/projectsConfig.js +1 -1
  64. package/build/commands/utils/rangerConfig.js +1 -1
  65. package/build/commands/utils/rangerRoot.js +1 -1
  66. package/build/commands/utils/rangerwrightCli.js +1 -1
  67. package/build/commands/utils/resolveProfileContext.js +1 -1
  68. package/build/commands/utils/resolveProfileUrl.js +1 -1
  69. package/build/commands/utils/retry.js +1 -1
  70. package/build/commands/utils/scenarioOriginCheck.js +1 -1
  71. package/build/commands/utils/sessionCache.js +1 -1
  72. package/build/commands/utils/settings.js +1 -1
  73. package/build/commands/utils/skillContent.js +1 -1
  74. package/build/commands/utils/skills.js +1 -1
  75. package/build/commands/utils/stitchWebmFiles.js +1 -1
  76. package/build/commands/utils/telemetry.js +1 -1
  77. package/build/commands/utils/tokenRefresh.js +1 -1
  78. package/build/commands/utils/traceSnapshotMapper.js +1 -1
  79. package/build/commands/utils/tunnelClient.js +1 -1
  80. package/build/commands/utils/userApi.js +1 -1
  81. package/build/commands/utils/version.js +1 -1
  82. package/build/commands/verifyFeature.js +1 -1
  83. package/build/commands/verifyFeatureCli.js +1 -1
  84. package/build/commands/verifyFeatureNovaCli.js +1 -1
  85. package/build/commands/verifyFeatureRangerwrightCli.js +1 -1
  86. package/package.json +14 -5
@@ -1 +1 @@
1
- (function(_0x46c561,_0x4925bb){const _0xbe1225=_0x31a5,_0x4b4dad=_0x46c561();while(!![]){try{const _0x5ca533=parseInt(_0xbe1225(0x167))/0x1*(-parseInt(_0xbe1225(0x191))/0x2)+parseInt(_0xbe1225(0x1e4))/0x3+parseInt(_0xbe1225(0x1be))/0x4*(parseInt(_0xbe1225(0x19b))/0x5)+parseInt(_0xbe1225(0x1bf))/0x6+parseInt(_0xbe1225(0x1c6))/0x7+-parseInt(_0xbe1225(0x1e3))/0x8*(parseInt(_0xbe1225(0x1c2))/0x9)+parseInt(_0xbe1225(0x18d))/0xa*(-parseInt(_0xbe1225(0x198))/0xb);if(_0x5ca533===_0x4925bb)break;else _0x4b4dad['push'](_0x4b4dad['shift']());}catch(_0x1628e1){_0x4b4dad['push'](_0x4b4dad['shift']());}}}(_0x5dc4,0x46ae6));import{mkdir,readFile,readdir,rename,stat}from'fs/promises';import{basename,join}from'path';import{extractBashCommand,parsePlaywrightCliCommand,quoteShellArg,runPlaywrightCliCommand}from'./utils/playwrightCli.js';const PLAYWRIGHT_CLI_COMMAND_TIMEOUT_MS=0xea60,PLAYWRIGHT_CLI_PREVIEW_LIMIT=0xf0,VERIFY_FEATURE_CLI_ARTIFACT_FILE_PATTERN=/^(?:\d{2}_.+\.(?:png|ya?ml)|key_.+\.png|session-recording(?:-\d+)?\.webm|trace(?:\.trace)?(?:-\d+)?\.zip|current_snap\.ya?ml)$/i;function truncatePreview(_0x16dab9,_0x1fcd4f=PLAYWRIGHT_CLI_PREVIEW_LIMIT){const _0x303260=_0x31a5,_0x56ebec={'QxKZB':function(_0x486c9a,_0x4db2c2){return _0x486c9a>_0x4db2c2;},'ENFFC':function(_0x1640ff,_0x216e88){return _0x1640ff+_0x216e88;},'NgvLH':_0x303260(0x1da)};return _0x56ebec['QxKZB'](_0x16dab9[_0x303260(0x1b6)],_0x1fcd4f)?_0x56ebec['ENFFC'](_0x16dab9[_0x303260(0x174)](0x0,_0x1fcd4f),_0x56ebec['NgvLH']):_0x16dab9;}function buildCliArtifactPath(_0x588fae,_0x191177){const _0x1d4349=_0x31a5,_0x5554e1={'etcPM':function(_0x4af4d1,_0x127565,_0x95ebf){return _0x4af4d1(_0x127565,_0x95ebf);}};return _0x5554e1[_0x1d4349(0x189)](join,_0x588fae,_0x191177);}function toStepDisplayName(_0x5bb706){const _0x55af4d=_0x31a5,_0x4c0911={'TuBJm':function(_0x21d3c4,_0x3c1049){return _0x21d3c4(_0x3c1049);}},_0x4aaf66=basename(_0x5bb706)['replace'](/\.(?:png|ya?ml)$/i,'')[_0x55af4d(0x19c)](/^key_/i,'')['replace'](/^\d+_/,'')[_0x55af4d(0x19c)](/-/g,'\x20');return{'name':_0x4aaf66,'isKeyStep':/^key_/i['test'](_0x4c0911['TuBJm'](basename,_0x5bb706))};}function extractShellValue(_0x18dc86){if(!_0x18dc86)return null;return _0x18dc86[0x1]??_0x18dc86[0x2]??_0x18dc86[0x3]??null;}function extractFilenameOption(_0x2f57b0){const _0x819ccf=_0x31a5,_0x3760bb={'hGckV':function(_0x301ee2,_0x45bec6){return _0x301ee2(_0x45bec6);}};return _0x3760bb['hGckV'](extractShellValue,_0x2f57b0[_0x819ccf(0x1a5)](/--filename(?:=|\s+)(?:"([^"]+)"|'([^']+)'|(\S+))/));}function extractFirstCommandArgument(_0x547940,_0x39f207){const _0x57db02=_0x31a5,_0x590735=_0x39f207['replace'](/[.*+?^${}()|[\]\\]/g,'\x5c$&');return extractShellValue(_0x547940['match'](new RegExp(_0x57db02(0x1e0)+_0x590735+_0x57db02(0x170))));}function _0x31a5(_0xdc0639,_0x337f86){_0xdc0639=_0xdc0639-0x15e;const _0x5dc4eb=_0x5dc4();let _0x31a56c=_0x5dc4eb[_0xdc0639];return _0x31a56c;}function formatCommandTarget(_0x2f028e){const _0x45d949=_0x31a5;if(!_0x2f028e)return'target';if(/^e\d+$/i[_0x45d949(0x1c7)](_0x2f028e))return'ref\x20'+_0x2f028e;return JSON['stringify'](truncatePreview(_0x2f028e,0x78));}function formatPlaywrightCliLog(_0xfbcd32,_0x4cfa5e){const _0x5636d0=_0x31a5,_0x67a5cb={'UDZdK':'open','LjtGS':_0x5636d0(0x1d1),'LBoTg':_0x5636d0(0x1a6),'IRCza':'stop\x20tracing','EXjji':'video-start','AQcFk':'stop\x20video\x20recording','UcYJH':function(_0x4c7398,_0x13191b){return _0x4c7398(_0x13191b);},'WJHcB':'fill','UsUbo':function(_0x169c96,_0x5dd045,_0x37af84){return _0x169c96(_0x5dd045,_0x37af84);},'hNwgc':_0x5636d0(0x190),'wUvbz':_0x5636d0(0x1d3),'NnjEK':'run\x20custom\x20Playwright\x20code','eOoVu':_0x5636d0(0x1aa),'henmR':'open\x20new\x20tab','Fuyrw':_0x5636d0(0x16e)};switch(_0x4cfa5e){case _0x67a5cb['UDZdK']:{const _0x103cc7=extractFirstCommandArgument(_0xfbcd32,_0x4cfa5e);return _0x103cc7?_0x5636d0(0x1c9)+_0x103cc7:'open\x20browser';}case _0x67a5cb[_0x5636d0(0x181)]:return _0x67a5cb[_0x5636d0(0x1dc)];case'tracing-stop':return _0x67a5cb[_0x5636d0(0x1ac)];case _0x67a5cb[_0x5636d0(0x1ce)]:return _0x5636d0(0x1a2);case'video-stop':return _0x67a5cb[_0x5636d0(0x16a)];case _0x5636d0(0x183):{const _0x2874a4=extractFilenameOption(_0xfbcd32);if(!_0x2874a4)return'capture\x20snapshot';const {name:_0xca777c}=toStepDisplayName(_0x2874a4);return'capture\x20snapshot\x20`'+_0xca777c+'`';}case'screenshot':{const _0x1130d5=extractFilenameOption(_0xfbcd32);if(!_0x1130d5)return'capture\x20screenshot';const {name:_0x578735,isKeyStep:_0x524523}=_0x67a5cb[_0x5636d0(0x161)](toStepDisplayName,_0x1130d5);return _0x524523?_0x5636d0(0x18f)+_0x578735+'`':_0x5636d0(0x1d8)+_0x578735+'`';}case _0x5636d0(0x1b3):return _0x5636d0(0x17c)+formatCommandTarget(extractFirstCommandArgument(_0xfbcd32,_0x4cfa5e));case'check':return _0x5636d0(0x193)+_0x67a5cb[_0x5636d0(0x161)](formatCommandTarget,extractFirstCommandArgument(_0xfbcd32,_0x4cfa5e));case _0x67a5cb['WJHcB']:return _0x5636d0(0x184)+formatCommandTarget(_0x67a5cb['UsUbo'](extractFirstCommandArgument,_0xfbcd32,_0x4cfa5e));case _0x67a5cb['hNwgc']:return _0x5636d0(0x1d0)+_0x67a5cb['UcYJH'](formatCommandTarget,extractFirstCommandArgument(_0xfbcd32,_0x4cfa5e));case _0x67a5cb[_0x5636d0(0x169)]:return _0x67a5cb[_0x5636d0(0x15f)];case _0x67a5cb['eOoVu']:{const _0x1d9a4b=_0x67a5cb[_0x5636d0(0x162)](extractFirstCommandArgument,_0xfbcd32,_0x4cfa5e);return _0x1d9a4b?'open\x20new\x20tab\x20'+_0x1d9a4b:_0x67a5cb['henmR'];}case _0x67a5cb[_0x5636d0(0x1b5)]:{const _0x1e5fc3=extractFirstCommandArgument(_0xfbcd32,_0x4cfa5e);return _0x1e5fc3?'select\x20tab\x20'+_0x1e5fc3:_0x5636d0(0x17f);}default:return _0x4cfa5e;}}function _0x5dc4(){const _0x59ad68=['click\x20','\x0a\x0a##\x20Browser\x20Command\x20Reference\x0aUse\x20Bash\x20to\x20run\x20Playwright\x20CLI\x20commands\x20with\x20this\x20exact\x20prefix:\x0a`','tool_name','select\x20tab','\x20open\x20','LjtGS','tKTVT','snapshot','fill\x20','`\x20style\x20absolute\x20paths\x20at\x20key\x20moments.\x0a6.\x20If\x20you\x20need\x20waits\x20or\x20custom\x20assertions,\x20use\x20`','aCBnm','TSdoP','##\x20App\x20Context\x0aYou\x20are\x20connected\x20to\x20a\x20desktop\x20application\x20via\x20CDP\x20(Chrome\x20DevTools\x20Protocol)\x20at\x20','etcPM','DJzrT','description','createdAt','1327630WhtrBw','-\x20[','capture\x20key\x20step\x20`','press','922UGqRiC','name','check\x20','RGFWw','`\x20and\x20read\x20the\x20snapshot\x20file\x20to\x20inspect\x20the\x20page.\x0a5.\x20**IMMEDIATELY\x20check\x20for\x20blocking\x20HTTP\x20errors\x20before\x20proceeding.**\x0a6.\x20Execute\x20the\x20task\x20step-by-step\x20with\x20Playwright\x20CLI\x20commands.\x0a7.\x20Use\x20`','kRCgv','push','11YIvuzN','[ranger-verification-agent]\x20','`\x0a-\x20`run-code\x20\x22await\x20page.waitForTimeout(1000)\x22`\x20for\x20waits\x20or\x20small\x20custom\x20checks\x0a\x0a##\x20Screenshot\x20Guidelines\x20-\x20IMPORTANT\x0aTake\x20screenshots\x20throughout\x20the\x20verification\x20flow\x20so\x20a\x20human\x20can\x20review\x20it\x20for\x20completeness.\x20Screenshots\x20are\x20your\x20evidence\x20trail.\x0a\x0a**When\x20to\x20take\x20screenshots\x20(use\x20Playwright\x20CLI\x20screenshot):**\x0a-\x20After\x20the\x20initial\x20snapshot\x20(capture\x20starting\x20state)\x0a-\x20Before\x20and\x20after\x20clicking\x20buttons\x20or\x20submitting\x20forms\x0a-\x20When\x20important\x20UI\x20elements\x20appear\x20(modals,\x20notifications,\x20loading\x20states)\x0a-\x20After\x20navigating\x20to\x20different\x20views\x20or\x20pages\x0a-\x20When\x20verifying\x20specific\x20elements\x20exist\x0a-\x20At\x20the\x20final\x20state\x20showing\x20the\x20completed\x20action\x0a\x0a**Screenshot\x20naming:**\x0a-\x20Use\x20descriptive\x20filenames\x20under\x20`','1857060TpdWvm','replace','\x20tracing-start`,\x20then\x20`','authorEmail','CRITICAL\x20URL\x20REQUIREMENT:\x0aYour\x20base\x20URL\x20is:\x20','domRef','trace.zip','start\x20video\x20recording','\x0a\x0a##\x20Expected\x20Flow\x20(from\x20previous\x20verification)\x0a','sort','match','start\x20tracing','02_learn-more.yml','authorName','**\x20(','tab-new','01_initial-state.png','IRCza','tracing-stop','vDfQV','`\x0a9.\x20Run\x20`','set','ovalh','mtimeMs','click','close','Fuyrw','length','get','\x0a\x0a##\x20Reviewer\x20Feedback\x20to\x20Address\x0aThe\x20following\x20reviewer\x20comments\x20were\x20left\x20on\x20the\x20previous\x20version\x20of\x20this\x20item.\x0aVerify\x20that\x20each\x20concern\x20has\x20been\x20addressed\x20in\x20the\x20current\x20implementation.\x0aFor\x20each\x20comment\x20you\x20believe\x20has\x20been\x20addressed,\x20include\x20its\x20ID\x20(the\x20bracketed\x20value)\x20in\x20the\x20addressedCommentIds\x20array\x20in\x20your\x20output.\x0a\x0a','BMPuz','`\x0a-\x20`snapshot\x20--filename\x20','phase','kBftd','`:\x20\x22','4mpNgYS','625404QNnRdx','02_button-clicked.png','PBmAB','2589129NQntTZ','\x20snapshot\x20--filename\x20','trackPhaseError','stderr','3223983tUkUGd','test','\x0a##\x20Evaluation\x20Criteria\x0a-\x20VERIFIED:\x20The\x20task\x20completed\x20successfully\x20and\x20the\x20scenario\x20requirements\x20are\x20fully\x20met\x0a-\x20PARTIAL:\x20The\x20task\x20partially\x20completed\x20but\x20some\x20aspects\x20of\x20the\x20scenario\x20are\x20not\x20verified\x0a-\x20BLOCKED:\x20A\x20blocking\x20issue\x20(bug,\x20error,\x20missing\x20feature)\x20prevents\x20completion\x0a-\x20FAILED:\x20The\x20task\x20could\x20not\x20be\x20completed\x20due\x20to\x20errors\x0a\x0aReturn\x20your\x20findings\x20in\x20the\x20structured\x20output\x20format\x20with\x20your\x20evaluation.','open\x20','kvfPV','playwright-cli','trackPhaseEnd','`,\x20then\x20`','EXjji','selector','press\x20','tracing-start','canonicalFlow','run-code','\x20screenshot\x20--filename\x20','):\x20\x22',']\x20**','tool_input','capture\x20step\x20`','key_04_success-state.png','...','Bash','LBoTg','notes','`\x20writes\x20a\x20YAML\x20snapshot\x20you\x20can\x20read\x20for\x20element\x20refs\x0a-\x20`click\x20<ref>`,\x20`fill\x20<ref>\x20\x22text\x22`,\x20`check\x20<ref>`,\x20`press\x20Enter`\x0a-\x20`tab-list`,\x20`tab-select\x20<index>`,\x20`tab-new\x20<url>`\x0a-\x20`screenshot\x20--filename\x20','commandArgs','(?:^|\x5cs)','`\x20using\x20absolute\x20paths\x20only.\x20Do\x20not\x20use\x20relative\x20filenames.\x0a4.\x20Take\x20a\x20snapshot\x20with\x20`','join','8dndPyy','547938wGxmRa','unaddressedComments','vQBfY','pop','NnjEK','invocation','UcYJH','UsUbo','tZBoC','element','trim','\x20open\x20https://www.mozilla.org`\x0a2.\x20Run\x20`','887AuAGfU','short','wUvbz','AQcFk','.\x0aThis\x20is\x20NOT\x20a\x20web\x20app\x20—\x20there\x20is\x20no\x20URL\x20to\x20navigate\x20to.\x20The\x20app\x20is\x20already\x20running\x20and\x20connected.','tool_failure','03_result-visible.png','tab-select','pKgoJ','(?:\x5cs+(?:\x22([^\x22]+)\x22|\x27([^\x27]+)\x27|(\x5cS+)))','iuxDQ','textContent','`\x20style\x20absolute\x20paths\x20at\x20key\x20moments.\x0a8.\x20If\x20you\x20need\x20waits\x20or\x20custom\x20assertions,\x20use\x20`','slice','split','\x20tracing-start`\x0a3.\x20Run\x20`','cAtLn','02_state.yml','KuCtt','\x0a\x0a##\x20Authentication\x0aBEFORE\x20starting\x20the\x20verification\x20task,\x20you\x20MUST\x20authenticate\x20using\x20these\x20steps:\x0a','Reviewer'];_0x5dc4=function(){return _0x59ad68;};return _0x5dc4();}function extractPlaywrightCliToolDescription(_0x19642c){const _0x2eeb69=_0x31a5,_0x1aeeb4={'evkal':function(_0x31fcd5,_0x5a8e1c){return _0x31fcd5!==_0x5a8e1c;},'vDfQV':function(_0x49c4fb,_0x18f9ce){return _0x49c4fb>_0x18f9ce;}},_0x4abe1e=_0x19642c[_0x2eeb69(0x18b)];if(_0x1aeeb4['evkal'](typeof _0x4abe1e,'string'))return null;const _0x3abba6=_0x4abe1e[_0x2eeb69(0x165)]()['replace'](/\s+/g,'\x20');return _0x1aeeb4[_0x2eeb69(0x1ae)](_0x3abba6['length'],0x0)?_0x3abba6:null;}export function formatPlaywrightCliConsoleLogMessage(_0x5928ec,_0x38b51a,_0x342e58){const _0x5d4b3a=_0x31a5,_0x569659=formatPlaywrightCliLog(_0x38b51a,_0x342e58),_0x288770=extractPlaywrightCliToolDescription(_0x5928ec);if(!_0x288770)return'[playwright-cli]\x20'+_0x569659;if(process['env']['DEBUG'])return _0x5d4b3a(0x199)+_0x288770+'\x20('+_0x569659+')';return _0x5d4b3a(0x199)+_0x288770;}export function buildVerifyFeatureCliDebugPrompt(_0xc91f64,_0x2e2dd){const _0x452b59=_0x31a5,_0x1014a8={'qiWyx':function(_0x29b059,_0x19d390,_0x3549a5){return _0x29b059(_0x19d390,_0x3549a5);},'hPApA':'01_mozilla-homepage.png','cAtLn':function(_0x50b7ea,_0x3f16cd){return _0x50b7ea(_0x3f16cd);},'MHoBX':function(_0x1b3d29,_0x27a872){return _0x1b3d29(_0x27a872);}},_0x2b418e=buildCliArtifactPath(_0x2e2dd,'00_mozilla-homepage.yml'),_0x4a9bb0=_0x1014a8['qiWyx'](buildCliArtifactPath,_0x2e2dd,_0x1014a8['hPApA']),_0x4088ba=_0x1014a8['qiWyx'](buildCliArtifactPath,_0x2e2dd,_0x452b59(0x1a7)),_0x78359a=buildCliArtifactPath(_0x2e2dd,'03_learn-more.png'),_0x2273d3=_0x1014a8[_0x452b59(0x177)](quoteShellArg,_0x2b418e),_0x1f36dd=_0x1014a8['MHoBX'](quoteShellArg,_0x4a9bb0),_0x5cdef9=quoteShellArg(_0x4088ba),_0x2fe58d=quoteShellArg(_0x78359a);return'You\x20are\x20testing\x20browser\x20automation.\x20Your\x20task\x20is\x20simple:\x0a\x0aUse\x20Bash\x20and\x20Playwright\x20CLI\x20only.\x20The\x20browser\x20command\x20prefix\x20is:\x0a'+_0xc91f64+'\x0a\x0a1.\x20Run\x20`'+_0xc91f64+_0x452b59(0x166)+_0xc91f64+_0x452b59(0x176)+_0xc91f64+'\x20video-start`\x0a4.\x20Save\x20every\x20snapshot\x20and\x20screenshot\x20under\x20`'+_0x2e2dd+'`\x20using\x20absolute\x20paths\x20only.\x20Do\x20not\x20use\x20relative\x20filenames.\x0a5.\x20Run\x20`'+_0xc91f64+_0x452b59(0x1c3)+_0x2273d3+'`\x0a5.\x20Read\x20the\x20snapshot\x20file\x20to\x20find\x20the\x20\x22Learn\x20More\x22\x20link\x20reference\x0a6.\x20Run\x20`'+_0xc91f64+'\x20screenshot\x20--filename\x20'+_0x1f36dd+'`\x0a7.\x20Click\x20the\x20\x22Learn\x20More\x22\x20link\x20with\x20Playwright\x20CLI\x0a8.\x20Run\x20`'+_0xc91f64+'\x20snapshot\x20--filename\x20'+_0x5cdef9+_0x452b59(0x1af)+_0xc91f64+_0x452b59(0x1d4)+_0x2fe58d+'`\x0a10.\x20Return\x20immediately\x20with\x20the\x20structured\x20output\x0a\x0aReturn\x20your\x20findings\x20in\x20the\x20structured\x20output\x20format.';}export function buildVerifyFeatureCliPrompt(_0x88e1d5){const _0x2e60b9=_0x31a5,_0x4949ab={'kBftd':'en-US','BMPuz':_0x2e60b9(0x168),'XGbgs':_0x2e60b9(0x17b),'TSdoP':function(_0x130a49,_0x42f448,_0x3ba510){return _0x130a49(_0x42f448,_0x3ba510);},'vQBfY':'01_initial.yml','mhkIZ':function(_0x3ee5b1,_0x50a9f2,_0x551d98){return _0x3ee5b1(_0x50a9f2,_0x551d98);},'iSZDP':function(_0x311cf2,_0x455573){return _0x311cf2(_0x455573);},'RGFWw':function(_0x992eac,_0x373f5c){return _0x992eac(_0x373f5c);},'kRCgv':function(_0x1f5ae9,_0x5363c7,_0x253b0e){return _0x1f5ae9(_0x5363c7,_0x253b0e);},'tZBoC':function(_0x377dfa,_0x1f44b2,_0xdd6573){return _0x377dfa(_0x1f44b2,_0xdd6573);}},{checklistItem:_0xf42dac,itemFeedback:_0x16b053,taskDescription:_0x3641b4,cliCommandPrefix:_0x34c4ad,cliArtifactDir:_0x140970,isCdpMode:_0x14e365,url:_0x17d860,cdpEndpoint:_0x19c0bc,loginInstructions:_0x4abb9b}=_0x88e1d5,_0x4ccdc6=_0x4949ab['TSdoP'](buildCliArtifactPath,_0x140970,_0x4949ab[_0x2e60b9(0x1e6)]),_0x133e0a=_0x4949ab['TSdoP'](buildCliArtifactPath,_0x140970,_0x2e60b9(0x178)),_0x527065=_0x4949ab[_0x2e60b9(0x187)](buildCliArtifactPath,_0x140970,'key_03_success-state.png'),_0x3f8ae4=_0x4949ab['mhkIZ'](buildCliArtifactPath,_0x140970,_0x2e60b9(0x1ab)),_0x478c19=_0x4949ab['iSZDP'](quoteShellArg,_0x4ccdc6),_0x1d0ea4=_0x4949ab['RGFWw'](quoteShellArg,_0x133e0a),_0x27e87e=_0x4949ab[_0x2e60b9(0x194)](quoteShellArg,_0x527065),_0x2a0082=_0x4949ab['RGFWw'](quoteShellArg,_0x3f8ae4),_0x4d1bb7=_0xf42dac[_0x2e60b9(0x1dd)]?'\x0a\x0a##\x20Additional\x20Notes\x0a'+_0xf42dac['notes']:'';let _0x583b86='';if(_0x16b053&&_0x16b053[_0x2e60b9(0x1e5)]['length']>0x0){const _0x32f8e4=_0x16b053['unaddressedComments']['map'](_0x738b5c=>{const _0x3aafc2=_0x2e60b9,_0x1d052a=new Date(_0x738b5c[_0x3aafc2(0x18c)])['toLocaleDateString'](_0x4949ab[_0x3aafc2(0x1bc)],{'month':_0x4949ab[_0x3aafc2(0x1b9)],'day':'numeric'}),_0x14d2e8=_0x738b5c[_0x3aafc2(0x1a8)]||_0x738b5c[_0x3aafc2(0x19e)]||_0x4949ab['XGbgs'],_0x18eec0=_0x738b5c[_0x3aafc2(0x1a0)]?'\x20(on\x20element:\x20<'+(_0x738b5c[_0x3aafc2(0x1a0)][_0x3aafc2(0x1cf)][_0x3aafc2(0x175)]('\x20>\x20')[_0x3aafc2(0x15e)]()?.['split'](':')[0x0]||_0x3aafc2(0x164))+'>\x20\x22'+(_0x738b5c['domRef'][_0x3aafc2(0x172)]||'')[_0x3aafc2(0x174)](0x0,0x32)+'\x22)':'';return _0x3aafc2(0x18e)+_0x738b5c['id']+_0x3aafc2(0x1d6)+_0x14d2e8+_0x3aafc2(0x1a9)+_0x1d052a+_0x3aafc2(0x1d5)+_0x738b5c['content']+'\x22'+_0x18eec0;})[_0x2e60b9(0x1e2)]('\x0a');_0x583b86=_0x2e60b9(0x1b8)+_0x32f8e4;}const _0x1121a2=_0x16b053?.['canonicalFlow']?_0x2e60b9(0x1a3)+_0x16b053[_0x2e60b9(0x1d2)]:'',_0x26e628=_0x14e365?_0x2e60b9(0x188)+_0x19c0bc+_0x2e60b9(0x16b):_0x2e60b9(0x19f)+_0x17d860+'\x0a-\x20You\x20may\x20ONLY\x20navigate\x20to\x20paths\x20under\x20this\x20base\x20URL\x20(same\x20protocol,\x20host,\x20and\x20port)\x0a-\x20For\x20example,\x20if\x20the\x20base\x20URL\x20is\x20\x22http://localhost:3000\x22,\x20you\x20can\x20navigate\x20to\x20\x22http://localhost:3000/home\x22,\x20\x22http://localhost:3000/settings\x22,\x20etc.\x0a-\x20DO\x20NOT\x20navigate\x20to\x20any\x20different\x20domain,\x20host,\x20or\x20port\x20under\x20any\x20circumstances\x0a-\x20If\x20documentation\x20or\x20code\x20diffs\x20suggest\x20a\x20path\x20exists\x20(e.g.,\x20\x22/dashboard\x22),\x20you\x20may\x20navigate\x20to\x20that\x20path\x20ONLY\x20under\x20the\x20base\x20URL\x20above\x0a-\x20The\x20base\x20URL\x20above\x20is\x20the\x20ONLY\x20authorized\x20profile\x20for\x20this\x20verification',_0x27bda5=_0x17d860?quoteShellArg(_0x17d860):'',_0x3a17fb=_0x14e365?'##\x20Instructions\x0a1.\x20Use\x20Bash\x20plus\x20Playwright\x20CLI\x20only.\x20Do\x20NOT\x20call\x20MCP\x20browser\x20tools.\x0a2.\x20Start\x20by\x20running\x20`'+_0x34c4ad+'\x20open`,\x20then\x20`'+_0x34c4ad+_0x2e60b9(0x19d)+_0x34c4ad+'\x20video-start`.\x0a3.\x20Save\x20every\x20snapshot\x20and\x20screenshot\x20under\x20`'+_0x140970+_0x2e60b9(0x1e1)+_0x34c4ad+'\x20snapshot\x20--filename\x20'+_0x478c19+'`\x20to\x20inspect\x20the\x20current\x20app\x20state.\x0a5.\x20Read\x20snapshot\x20YAML\x20files\x20to\x20find\x20element\x20references\x20like\x20`e12`,\x20then\x20use\x20them\x20with\x20`click`,\x20`fill`,\x20`check`,\x20or\x20`select`.\x0a6.\x20Use\x20`'+_0x34c4ad+'\x20screenshot\x20--filename\x20'+_0x2a0082+_0x2e60b9(0x185)+_0x34c4ad+'\x20run-code\x20\x22<playwright\x20code>\x22`.\x0a7.\x20Do\x20not\x20run\x20`close`,\x20`tracing-stop`,\x20or\x20`video-stop`;\x20the\x20host\x20finalizes\x20the\x20session\x20and\x20artifacts.\x0a8.\x20After\x20completing\x20the\x20verification,\x20evaluate\x20whether\x20the\x20result\x20adequately\x20verifies\x20the\x20scenario':'##\x20Instructions\x0a1.\x20Use\x20Bash\x20plus\x20Playwright\x20CLI\x20only.\x20Do\x20NOT\x20call\x20MCP\x20browser\x20tools.\x0a2.\x20Start\x20by\x20running\x20`'+_0x34c4ad+_0x2e60b9(0x180)+_0x27bda5+_0x2e60b9(0x1cd)+_0x34c4ad+'\x20tracing-start`,\x20then\x20`'+_0x34c4ad+'\x20video-start`.\x0a3.\x20Save\x20every\x20snapshot\x20and\x20screenshot\x20under\x20`'+_0x140970+_0x2e60b9(0x1e1)+_0x34c4ad+_0x2e60b9(0x1c3)+_0x478c19+_0x2e60b9(0x195)+_0x34c4ad+'\x20screenshot\x20--filename\x20'+_0x2a0082+_0x2e60b9(0x173)+_0x34c4ad+'\x20run-code\x20\x22<playwright\x20code>\x22`.\x0a9.\x20Do\x20not\x20run\x20`close`,\x20`tracing-stop`,\x20or\x20`video-stop`;\x20the\x20host\x20finalizes\x20the\x20session\x20and\x20artifacts.\x0a10.\x20After\x20completing\x20the\x20verification,\x20evaluate\x20whether\x20the\x20result\x20adequately\x20verifies\x20the\x20scenario',_0x1ef7de=_0x14e365?'\x0a\x0a##\x20Critical:\x20Early\x20Error\x20Detection\x0aAfter\x20taking\x20the\x20initial\x20snapshot,\x20IMMEDIATELY\x20check\x20for\x20blocking\x20errors:\x0a\x0a**Blocking\x20errors\x20to\x20detect:**\x0a-\x20Crash\x20or\x20error\x20dialogs\x20(\x22An\x20error\x20occurred\x22,\x20\x22Something\x20went\x20wrong\x22,\x20unhandled\x20exception\x20messages)\x0a-\x20Blank\x20or\x20empty\x20window\x20with\x20no\x20rendered\x20content\x0a-\x20Framework\x20error\x20boundaries\x20(React\x20error\x20page,\x20Electron\x20crash\x20reporter)\x0a-\x20Unresponsive\x20or\x20frozen\x20UI\x20(no\x20interactive\x20elements\x20in\x20snapshot)\x0a\x0a**If\x20ANY\x20blocking\x20error\x20is\x20detected:**\x0a1.\x20DO\x20NOT\x20continue\x20with\x20the\x20task\x0a2.\x20Return\x20IMMEDIATELY\x20with\x20evaluation:\x20\x22blocked\x22\x0a3.\x20Set\x20evaluationReason\x20to\x20describe\x20the\x20specific\x20error\x20(e.g.,\x20\x22App\x20crashed\x20—\x20error\x20dialog\x20visible\x20on\x20launch\x22)\x0a4.\x20Include\x20the\x20error\x20in\x20issues\x20array\x20with\x20severity:\x20\x22BLOCKER\x22\x20and\x20type:\x20\x22APP_ERROR\x22\x0a\x0aThis\x20early\x20exit\x20prevents\x20wasting\x20time\x20on\x20tasks\x20that\x20cannot\x20succeed\x20due\x20to\x20fundamental\x20errors.':'\x0a\x0a##\x20Critical:\x20Early\x20Error\x20Detection\x0aAfter\x20step\x202\x20(taking\x20initial\x20snapshot),\x20IMMEDIATELY\x20check\x20for\x20blocking\x20HTTP\x20errors:\x0a\x0a**Blocking\x20errors\x20to\x20detect:**\x0a-\x20HTTP\x20404:\x20\x22404\x22,\x20\x22Not\x20Found\x22,\x20\x22Page\x20not\x20found\x22,\x20\x22does\x20not\x20exist\x22\x0a-\x20HTTP\x20500:\x20\x22500\x22,\x20\x22Internal\x20Server\x20Error\x22,\x20\x22Server\x20Error\x22,\x20\x22Something\x20went\x20wrong\x22\x0a-\x20HTTP\x20400:\x20\x22400\x22,\x20\x22Bad\x20Request\x22,\x20\x22Invalid\x20request\x22\x0a\x0a**Also\x20check\x20for:**\x0a-\x20Framework\x20error\x20pages\x20(Next.js\x20error\x20boundary,\x20React\x20error\x20page,\x20\x22Application\x20error\x22)\x0a-\x20Completely\x20blank/empty\x20pages\x20with\x20no\x20content\x0a-\x20\x22Cannot\x20GET\x20/path\x22\x20messages\x0a-\x20Login/sign-in/auth\x20pages\x20when\x20no\x20Authentication\x20section\x20is\x20present\x20in\x20this\x20prompt\x0a\x0a**If\x20ANY\x20blocking\x20error\x20is\x20detected:**\x0a1.\x20DO\x20NOT\x20continue\x20with\x20the\x20task\x0a2.\x20Return\x20IMMEDIATELY\x20with\x20evaluation:\x20\x22blocked\x22\x0a3.\x20Set\x20evaluationReason\x20to\x20describe\x20the\x20specific\x20error\x20(e.g.,\x20\x22HTTP\x20404\x20-\x20Page\x20not\x20found\x20at\x20/dashboard\x22)\x0a4.\x20Include\x20the\x20error\x20in\x20issues\x20array\x20with\x20severity:\x20\x22BLOCKER\x22\x20and\x20appropriate\x20type\x20(HTTP_404,\x20HTTP_500,\x20HTTP_400,\x20or\x20NAVIGATION_ERROR)\x0a\x0aThis\x20early\x20exit\x20prevents\x20wasting\x20time\x20on\x20tasks\x20that\x20cannot\x20succeed\x20due\x20to\x20fundamental\x20errors.',_0x403fbb=_0x4abb9b?_0x2e60b9(0x17a)+_0x4abb9b+'\x0a\x0aAfter\x20completing\x20authentication,\x20proceed\x20with\x20the\x20verification\x20task\x20below.\x0aIf\x20authentication\x20fails,\x20return\x20immediately\x20with\x20evaluation\x20\x22blocked\x22\x20and\x20describe\x20the\x20auth\x20failure.':'';return'You\x20are\x20a\x20Feature\x20Review\x20Verifier.\x20Your\x20job\x20is\x20to\x20verify\x20a\x20scenario\x20by\x20executing\x20a\x20UI\x20flow\x20and\x20evaluating\x20whether\x20it\x20adequately\x20completes\x20the\x20scenario.\x0a\x0a##\x20Scenario\x20to\x20Verify\x0a'+_0xf42dac['description']+_0x4d1bb7+_0x583b86+_0x1121a2+'\x0a\x0a##\x20Task\x20to\x20Execute\x0a'+_0x3641b4+'\x0a\x0a'+_0x26e628+_0x403fbb+'\x0a\x0a'+_0x3a17fb+_0x2e60b9(0x17d)+_0x34c4ad+'`\x0a\x0a-\x20Write\x20all\x20artifacts\x20under\x20`'+_0x140970+_0x2e60b9(0x1ba)+_0x1d0ea4+_0x2e60b9(0x1de)+_0x27e87e+_0x2e60b9(0x19a)+_0x140970+_0x2e60b9(0x1bd)+_0x3f8ae4+'\x22,\x20\x22'+_0x4949ab[_0x2e60b9(0x196)](buildCliArtifactPath,_0x140970,_0x2e60b9(0x1c0))+'\x22,\x20\x22'+_0x4949ab[_0x2e60b9(0x163)](buildCliArtifactPath,_0x140970,_0x2e60b9(0x16d))+'\x22\x0a-\x20Number\x20prefixes\x20(01_,\x2002_,\x20etc.)\x20help\x20maintain\x20chronological\x20order\x0a-\x20For\x20KEY\x20MOMENTS\x20that\x20prove\x20the\x20scenario\x20is\x20complete,\x20prefix\x20with\x20\x22key_\x22:\x20\x22'+_0x4949ab['TSdoP'](buildCliArtifactPath,_0x140970,_0x2e60b9(0x1d9))+'\x22\x0a-\x20The\x20\x22key_\x22\x20prefix\x20marks\x20screenshots\x20as\x20high-priority\x20evidence\x20for\x20human\x20reviewers\x0a\x0a**Aim\x20for\x203-6\x20screenshots\x20per\x20verification**\x20to\x20document\x20the\x20complete\x20flow.\x20Mark\x201-2\x20of\x20the\x20most\x20important\x20ones\x20with\x20the\x20\x22key_\x22\x20prefix.\x0a'+_0x1ef7de+_0x2e60b9(0x1c8);}export function summarizeVerifyFeatureCliCommandAvailability(_0x52f96a){const _0x3c7700=_0x31a5,_0x1cb53f=[..._0x52f96a['keys']()][_0x3c7700(0x1a4)]();let _0x477c3c=0x0;for(const _0x2e9cd8 of _0x52f96a['values']()){_0x477c3c+=_0x2e9cd8;}return{'cliCommandCount':_0x477c3c,'cliCommandsSeen':_0x1cb53f,'noCliCommandsCalled':_0x477c3c===0x0};}export function createVerifyFeatureCliHooks(_0x23df59){const _0x4d230d=_0x31a5,_0x2e9a3f={'FKSyf':'PostToolUse','mGGQU':function(_0x2f3b8,_0x22d6e8){return _0x2f3b8!==_0x22d6e8;},'PBmAB':function(_0x20d1e8,_0x3743cc){return _0x20d1e8(_0x3743cc);},'KuCtt':'tool_call','pKgoJ':_0x4d230d(0x1cb),'tgEAQ':'snapshot','iuxDQ':function(_0x86520,_0x8abe96){return _0x86520!==_0x8abe96;},'oEURy':function(_0x1417bc,_0x2b47a6){return _0x1417bc!==_0x2b47a6;},'DJzrT':_0x4d230d(0x1db)},_0x4588ba=new Map(),_0xa11e00=async _0x19fa09=>{const _0x10891e=_0x4d230d;if(_0x19fa09['hook_event_name']!==_0x2e9a3f['FKSyf'])return{};const _0xe021c3=_0x19fa09;if(_0x2e9a3f['mGGQU'](_0xe021c3[_0x10891e(0x17e)],_0x10891e(0x1db)))return{};const _0x3746c6=_0xe021c3[_0x10891e(0x1d7)],_0x566dfa=_0x2e9a3f[_0x10891e(0x1c1)](extractBashCommand,_0x3746c6);if(!_0x566dfa)return{};const _0x3335db=parsePlaywrightCliCommand(_0x566dfa);if(!_0x3335db)return{};return _0x4588ba[_0x10891e(0x1b0)](_0x3335db,(_0x4588ba[_0x10891e(0x1b7)](_0x3335db)||0x0)+0x1),_0x23df59['trackPhaseStart'](_0x2e9a3f[_0x10891e(0x179)],{'transport':_0x2e9a3f[_0x10891e(0x16f)],'toolName':_0x3335db}),_0x23df59['trackPhaseEnd'](_0x2e9a3f[_0x10891e(0x179)],{'transport':'playwright-cli','toolName':_0x3335db,'bashCommandPreview':truncatePreview(_0x566dfa)}),_0x2e9a3f['mGGQU'](_0x3335db,_0x2e9a3f['tgEAQ'])&&console['log'](formatPlaywrightCliConsoleLogMessage(_0x3746c6,_0x566dfa,_0x3335db)),{};},_0x269377=async _0x39d8f5=>{const _0x515479=_0x4d230d;if(_0x2e9a3f[_0x515479(0x171)](_0x39d8f5['hook_event_name'],'PostToolUseFailure'))return{};const _0x53d180=_0x39d8f5;if(_0x2e9a3f['oEURy'](_0x53d180[_0x515479(0x17e)],_0x2e9a3f[_0x515479(0x18a)]))return{};return await _0x23df59[_0x515479(0x1c4)](_0x515479(0x16c),_0x53d180['error'],{'transport':_0x515479(0x1cb),'toolName':'Bash'}),{};};return{'postToolUseHook':_0xa11e00,'postToolUseFailureHook':_0x269377,'commandCounts':_0x4588ba};}async function runPlaywrightCliLifecycleCommand(_0x57ca92){const _0x200fcb=_0x31a5,_0x11a956={'zgihQ':function(_0x2e4ad9,_0x288f74){return _0x2e4ad9(_0x288f74);},'OpyIv':function(_0x36abc2,_0x55d81b,_0x29cddb){return _0x36abc2(_0x55d81b,_0x29cddb);}},{sessionId:_0x3a2934,configPath:_0x26c632,commandArgs:_0x367677,env:_0x1953c3,telemetry:_0x173ac9,phase:_0x3d4d6a,metadata:_0x562d29,timeoutMs:_0x5b0120}=_0x57ca92;_0x173ac9['trackPhaseStart'](_0x3d4d6a,_0x562d29);try{const _0x1ab1b3=await _0x11a956['zgihQ'](runPlaywrightCliCommand,{'sessionId':_0x3a2934,'configPath':_0x26c632,'commandArgs':_0x367677,'cwd':process['cwd'](),'env':_0x1953c3,'timeoutMs':_0x5b0120??PLAYWRIGHT_CLI_COMMAND_TIMEOUT_MS});_0x173ac9[_0x200fcb(0x1cc)](_0x3d4d6a,{..._0x562d29,'subcommand':_0x1ab1b3[_0x200fcb(0x160)]['subcommand'],'stdoutPreview':_0x11a956['OpyIv'](truncatePreview,_0x1ab1b3['stdout'],0x7d0),'stderrPreview':truncatePreview(_0x1ab1b3[_0x200fcb(0x1c5)],0x7d0)});}catch(_0x1e732d){await _0x173ac9[_0x200fcb(0x1c4)](_0x3d4d6a,_0x1e732d,_0x562d29);throw _0x1e732d;}}export async function finalizeVerifyFeatureCliSession(_0x178d7b){const _0x14995a=_0x31a5,_0x279709={'ovalh':'playwright_cli_tracing_stop','aCBnm':'playwright_cli_video_stop','PIfKJ':function(_0xf3b090,_0x4b9713,_0x537905){return _0xf3b090(_0x4b9713,_0x537905);},'eFHMm':_0x14995a(0x1b4),'TIHEP':function(_0x1b0c52,_0x11094c){return _0x1b0c52(_0x11094c);}},{telemetry:_0x4c1e4d,sessionId:_0x2debaa,configPath:_0x2e0f68,cliArtifactDir:_0x4ae831,env:_0x21a6fb,transportMetadata:_0x6e5bd8}=_0x178d7b,_0x5f017e=[{'phase':_0x279709[_0x14995a(0x1b1)],'commandArgs':[_0x14995a(0x1ad)]},{'phase':_0x279709[_0x14995a(0x186)],'commandArgs':['video-stop','--filename='+_0x279709['PIfKJ'](buildCliArtifactPath,_0x4ae831,'session-recording.webm')]},{'phase':'playwright_cli_close','commandArgs':[_0x279709['eFHMm']]}];for(const _0x561436 of _0x5f017e){try{await _0x279709['TIHEP'](runPlaywrightCliLifecycleCommand,{'sessionId':_0x2debaa,'configPath':_0x2e0f68,'commandArgs':[..._0x561436[_0x14995a(0x1df)]],'env':_0x21a6fb,'telemetry':_0x4c1e4d,'phase':_0x561436[_0x14995a(0x1bb)],'metadata':_0x6e5bd8});}catch{}}}export async function loadVerifyFeatureCliTraceUploadArtifact(_0x4afcc7){const _0x56355e=_0x31a5,_0x16ca5f={'kvfPV':'trace.trace.zip','pibuI':function(_0x15b857,_0x377fcf){return _0x15b857(_0x377fcf);}},_0x17e725=[_0x56355e(0x1a1),_0x16ca5f[_0x56355e(0x1ca)]];for(const _0x50d7b0 of _0x17e725){const _0x2db335=join(_0x4afcc7,_0x50d7b0);try{return{'buffer':await _0x16ca5f['pibuI'](readFile,_0x2db335),'source':_0x2db335};}catch{}}return null;}export async function rehomeVerifyFeatureCliArtifacts(_0x32ff75){const _0xf4af04=_0x31a5,_0x198ac2={'CMJFT':function(_0x2f3236,_0x4cc2bd,_0x26fad7){return _0x2f3236(_0x4cc2bd,_0x26fad7);},'tKTVT':function(_0x10ad80,_0xdb8a56){return _0x10ad80+_0xdb8a56;},'xuLRu':function(_0x42e75b,_0x2bc956,_0x51274f){return _0x42e75b(_0x2bc956,_0x51274f);}},{cwd:_0x302b65,cliArtifactDir:_0x1ab8ea,startTime:_0xd0998d}=_0x32ff75,_0x1f6299=[];await _0x198ac2['CMJFT'](mkdir,_0x1ab8ea,{'recursive':!![]});const _0x15a495=await readdir(_0x302b65,{'withFileTypes':!![]});for(const _0x4c806f of _0x15a495){if(!_0x4c806f['isFile']()||!VERIFY_FEATURE_CLI_ARTIFACT_FILE_PATTERN[_0xf4af04(0x1c7)](_0x4c806f[_0xf4af04(0x192)]))continue;const _0x27c14d=join(_0x302b65,_0x4c806f['name']),_0x2b04ed=await stat(_0x27c14d);if(_0x198ac2[_0xf4af04(0x182)](_0x2b04ed[_0xf4af04(0x1b2)],0x7d0)<_0xd0998d)continue;const _0x44fe03=_0x198ac2['xuLRu'](buildCliArtifactPath,_0x1ab8ea,_0x4c806f[_0xf4af04(0x192)]);if(_0x27c14d===_0x44fe03)continue;await rename(_0x27c14d,_0x44fe03),_0x1f6299[_0xf4af04(0x197)](_0x4c806f['name']);}return _0x1f6299['sort']();}
1
+ (function(_0x39ddb2,_0x180288){const _0x3599e5=_0x2a3a,_0x13028c=_0x39ddb2();while(!![]){try{const _0x4de75a=-parseInt(_0x3599e5(0xeb))/0x1+parseInt(_0x3599e5(0xfd))/0x2+parseInt(_0x3599e5(0x112))/0x3*(-parseInt(_0x3599e5(0xed))/0x4)+-parseInt(_0x3599e5(0xc7))/0x5+-parseInt(_0x3599e5(0x8f))/0x6+parseInt(_0x3599e5(0xcb))/0x7*(parseInt(_0x3599e5(0x10d))/0x8)+-parseInt(_0x3599e5(0xea))/0x9*(-parseInt(_0x3599e5(0xa8))/0xa);if(_0x4de75a===_0x180288)break;else _0x13028c['push'](_0x13028c['shift']());}catch(_0x109557){_0x13028c['push'](_0x13028c['shift']());}}}(_0x5b50,0x6c429));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(_0x5cbf25,_0x51a712=PLAYWRIGHT_CLI_PREVIEW_LIMIT){const _0x2b8da=_0x2a3a,_0x285030={'bDiyP':function(_0x108167,_0x3b04ba){return _0x108167>_0x3b04ba;},'OLrZM':'...'};return _0x285030[_0x2b8da(0xa3)](_0x5cbf25[_0x2b8da(0xc2)],_0x51a712)?_0x5cbf25['slice'](0x0,_0x51a712)+_0x285030[_0x2b8da(0x99)]:_0x5cbf25;}function _0x5b50(){const _0x1c9409=['\x0a\x0a##\x20Browser\x20Command\x20Reference\x0aUse\x20Bash\x20to\x20run\x20Playwright\x20CLI\x20commands\x20with\x20this\x20exact\x20prefix:\x0a`','hbPAm','key_04_success-state.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','tool_call','TzNus','en-US','bDiyP','phase','QrIkh','target','select\x20tab\x20','1352210pwVBrb','`\x0a7.\x20Click\x20the\x20\x22Learn\x20More\x22\x20link\x20with\x20Playwright\x20CLI\x0a8.\x20Run\x20`','aEsWT','\x20screenshot\x20--filename\x20','cwd','tab-new','GnzXE','tracing-stop','screenshot','WwMNw','`\x0a10.\x20Return\x20immediately\x20with\x20the\x20structured\x20output\x0a\x0aReturn\x20your\x20findings\x20in\x20the\x20structured\x20output\x20format.','run\x20custom\x20Playwright\x20code','log','JMCuP','trace.zip','AVgYe','canonicalFlow','OkLeW','split','snapshot','02_learn-more.yml','mbAlp','start\x20video\x20recording','mxGaR','bXvcb','notes','length','Reviewer','\x20open\x20https://www.mozilla.org`\x0a2.\x20Run\x20`','select\x20tab','--filename=','1088305DCAzCx','tVLaX','isFile','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','581ALCWng','stdout','aRWUy','jMHtN','textContent','name','PvXAl','ljock','`\x0a\x0a-\x20Write\x20all\x20artifacts\x20under\x20`','oTYkC','`\x0a-\x20`snapshot\x20--filename\x20','\x20run-code\x20\x22<playwright\x20code>\x22`.\x0a7.\x20Do\x20not\x20run\x20`close`,\x20`tracing-stop`,\x20or\x20`video-stop`;\x20the\x20host\x20finalizes\x20the\x20session\x20and\x20artifacts.\x0a8.\x20After\x20completing\x20the\x20verification,\x20evaluate\x20whether\x20the\x20result\x20adequately\x20verifies\x20the\x20scenario','NpVUQ','unaddressedComments','\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','`\x20using\x20absolute\x20paths\x20only.\x20Do\x20not\x20use\x20relative\x20filenames.\x0a4.\x20Take\x20a\x20snapshot\x20with\x20`','-\x20[','ObrVs','tool_name','dqhyM','vKbsi','playwright-cli','description',']\x20**','subcommand','DEBUG','open\x20new\x20tab\x20','mtimeMs','stop\x20tracing','Daeyd','playwright_cli_close','72tbVXEp','220246bMbJkP','playwright_cli_tracing_stop','16rDETlk','ZLrVI','PmjaY','set','`\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`','mJhTT','`\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`','fill','`\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`','.\x0aThis\x20is\x20NOT\x20a\x20web\x20app\x20—\x20there\x20is\x20no\x20URL\x20to\x20navigate\x20to.\x20The\x20app\x20is\x20already\x20running\x20and\x20connected.','aIVBW','LBIwj','BQlKE','selector','biElC','ZKRvx','238278lJNmSZ','**\x20(','\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','RpCCE','replace','nrefd','map','`\x20style\x20absolute\x20paths\x20at\x20key\x20moments.\x0a6.\x20If\x20you\x20need\x20waits\x20or\x20custom\x20assertions,\x20use\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(on\x20element:\x20<','authorEmail','test','\x20video-start`.\x0a3.\x20Save\x20every\x20snapshot\x20and\x20screenshot\x20under\x20`','session-recording.webm','trackPhaseError','45128iNhNzu','click\x20','error','element','UojSy','100365vxDzMw','capture\x20snapshot\x20`','\x20tracing-start`,\x20then\x20`','tXyPo','XJowA','\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.','zFkKv','vSUbN','authorName','content','TlIsl','check','[ranger-verification-agent]\x20','hook_event_name','open\x20browser','stop\x20video\x20recording','domRef','3923700WrIqwK','invocation','stringify','\x20video-start`\x0a4.\x20Save\x20every\x20snapshot\x20and\x20screenshot\x20under\x20`','sort','toLocaleDateString','01_initial-state.png','open\x20new\x20tab','\x20tracing-start`\x0a3.\x20Run\x20`','click','OLrZM','match','`\x0a9.\x20Run\x20`'];_0x5b50=function(){return _0x1c9409;};return _0x5b50();}function buildCliArtifactPath(_0x1e4fae,_0x5eb2dd){return join(_0x1e4fae,_0x5eb2dd);}function toStepDisplayName(_0x24d9a9){const _0x2a4c55=_0x2a3a,_0x5cda1b=basename(_0x24d9a9)['replace'](/\.(?:png|ya?ml)$/i,'')[_0x2a4c55(0x101)](/^key_/i,'')[_0x2a4c55(0x101)](/^\d+_/,'')[_0x2a4c55(0x101)](/-/g,'\x20');return{'name':_0x5cda1b,'isKeyStep':/^key_/i[_0x2a4c55(0x109)](basename(_0x24d9a9))};}function extractShellValue(_0x298e02){if(!_0x298e02)return null;return _0x298e02[0x1]??_0x298e02[0x2]??_0x298e02[0x3]??null;}function extractFilenameOption(_0x485d03){const _0x54b5a2=_0x2a3a,_0x2da070={'aRWUy':function(_0x5f1bb4,_0xf6667c){return _0x5f1bb4(_0xf6667c);}};return _0x2da070[_0x54b5a2(0xcd)](extractShellValue,_0x485d03[_0x54b5a2(0x9a)](/--filename(?:=|\s+)(?:"([^"]+)"|'([^']+)'|(\S+))/));}function _0x2a3a(_0x4d55aa,_0x5a22e3){_0x4d55aa=_0x4d55aa-0x8f;const _0x5b506e=_0x5b50();let _0x2a3a6a=_0x5b506e[_0x4d55aa];return _0x2a3a6a;}function extractFirstCommandArgument(_0x549162,_0x31c211){const _0x3666ae={'FoJew':'\x5c$&'},_0x19fd80=_0x31c211['replace'](/[.*+?^${}()|[\]\\]/g,_0x3666ae['FoJew']);return extractShellValue(_0x549162['match'](new RegExp('(?:^|\x5cs)'+_0x19fd80+'(?:\x5cs+(?:\x22([^\x22]+)\x22|\x27([^\x27]+)\x27|(\x5cS+)))')));}function formatCommandTarget(_0x1e8a80){const _0x5dcfbe=_0x2a3a,_0x4b7196={'cLauK':_0x5dcfbe(0xa6),'bXvcb':function(_0x50528f,_0x3b6e6d,_0xc53396){return _0x50528f(_0x3b6e6d,_0xc53396);}};if(!_0x1e8a80)return _0x4b7196['cLauK'];if(/^e\d+$/i['test'](_0x1e8a80))return'ref\x20'+_0x1e8a80;return JSON[_0x5dcfbe(0x91)](_0x4b7196[_0x5dcfbe(0xc0)](truncatePreview,_0x1e8a80,0x78));}function formatPlaywrightCliLog(_0x1583db,_0x2b9324){const _0x42dd07=_0x2a3a,_0x1889ce={'LBIwj':'open','nrefd':function(_0x4726fc,_0x554e9f,_0x3dfe72){return _0x4726fc(_0x554e9f,_0x3dfe72);},'dqhyM':'start\x20tracing','LwoGl':'video-start','vKbsi':'video-stop','BQlKE':_0x42dd07(0x121),'oTYkC':function(_0x4301e5,_0x2d480c){return _0x4301e5(_0x2d480c);},'hlxus':'capture\x20screenshot','PvXAl':_0x42dd07(0x98),'Daeyd':function(_0x5710a2,_0x4101fc){return _0x5710a2(_0x4101fc);},'NpVUQ':_0x42dd07(0xf4),'ftjpC':function(_0x44c577,_0x24be06,_0x4c6c4e){return _0x44c577(_0x24be06,_0x4c6c4e);},'UyuHq':'run-code','EjnAY':_0x42dd07(0xb3),'XJowA':_0x42dd07(0xad),'aEsWT':'tab-select','ZkcsC':_0x42dd07(0xc5)};switch(_0x2b9324){case _0x1889ce[_0x42dd07(0xf8)]:{const _0x50701c=_0x1889ce['nrefd'](extractFirstCommandArgument,_0x1583db,_0x2b9324);return _0x50701c?'open\x20'+_0x50701c:_0x42dd07(0x120);}case'tracing-start':return _0x1889ce[_0x42dd07(0xde)];case _0x42dd07(0xaf):return _0x42dd07(0xe7);case _0x1889ce['LwoGl']:return _0x42dd07(0xbe);case _0x1889ce[_0x42dd07(0xdf)]:return _0x1889ce[_0x42dd07(0xf9)];case _0x42dd07(0xbb):{const _0x451a29=_0x1889ce[_0x42dd07(0xd4)](extractFilenameOption,_0x1583db);if(!_0x451a29)return'capture\x20snapshot';const {name:_0x286ae2}=_0x1889ce[_0x42dd07(0xd4)](toStepDisplayName,_0x451a29);return _0x42dd07(0x113)+_0x286ae2+'`';}case _0x42dd07(0xb0):{const _0x5da3be=extractFilenameOption(_0x1583db);if(!_0x5da3be)return _0x1889ce['hlxus'];const {name:_0x14bf62,isKeyStep:_0x2e8180}=_0x1889ce[_0x42dd07(0xd4)](toStepDisplayName,_0x5da3be);return _0x2e8180?'capture\x20key\x20step\x20`'+_0x14bf62+'`':'capture\x20step\x20`'+_0x14bf62+'`';}case _0x1889ce[_0x42dd07(0xd1)]:return _0x42dd07(0x10e)+formatCommandTarget(extractFirstCommandArgument(_0x1583db,_0x2b9324));case _0x42dd07(0x11d):return'check\x20'+_0x1889ce[_0x42dd07(0xe8)](formatCommandTarget,_0x1889ce[_0x42dd07(0x102)](extractFirstCommandArgument,_0x1583db,_0x2b9324));case _0x1889ce[_0x42dd07(0xd7)]:return'fill\x20'+_0x1889ce[_0x42dd07(0xe8)](formatCommandTarget,extractFirstCommandArgument(_0x1583db,_0x2b9324));case'press':return'press\x20'+_0x1889ce['Daeyd'](formatCommandTarget,_0x1889ce['ftjpC'](extractFirstCommandArgument,_0x1583db,_0x2b9324));case _0x1889ce['UyuHq']:return _0x1889ce['EjnAY'];case _0x1889ce[_0x42dd07(0x116)]:{const _0x47dd98=extractFirstCommandArgument(_0x1583db,_0x2b9324);return _0x47dd98?_0x42dd07(0xe5)+_0x47dd98:_0x42dd07(0x96);}case _0x1889ce[_0x42dd07(0xaa)]:{const _0xbd5c9b=_0x1889ce[_0x42dd07(0x102)](extractFirstCommandArgument,_0x1583db,_0x2b9324);return _0xbd5c9b?_0x42dd07(0xa7)+_0xbd5c9b:_0x1889ce['ZkcsC'];}default:return _0x2b9324;}}function extractPlaywrightCliToolDescription(_0x555104){const _0x23814e=_0x2a3a,_0x33e24d={'DiawZ':function(_0x539214,_0x550a7a){return _0x539214!==_0x550a7a;}},_0x1f84a1=_0x555104[_0x23814e(0xe1)];if(_0x33e24d['DiawZ'](typeof _0x1f84a1,'string'))return null;const _0x467b4e=_0x1f84a1['trim']()['replace'](/\s+/g,'\x20');return _0x467b4e[_0x23814e(0xc2)]>0x0?_0x467b4e:null;}export function formatPlaywrightCliConsoleLogMessage(_0x4e7736,_0x588ea3,_0x117e15){const _0x5d7729=_0x2a3a,_0x32710a={'RpCCE':function(_0x5ec0d,_0x4bc8f4,_0x4e43ad){return _0x5ec0d(_0x4bc8f4,_0x4e43ad);}},_0x3aa0a0=_0x32710a[_0x5d7729(0x100)](formatPlaywrightCliLog,_0x588ea3,_0x117e15),_0x14c1f1=extractPlaywrightCliToolDescription(_0x4e7736);if(!_0x14c1f1)return'[playwright-cli]\x20'+_0x3aa0a0;if(process['env'][_0x5d7729(0xe4)])return'[ranger-verification-agent]\x20'+_0x14c1f1+'\x20('+_0x3aa0a0+')';return _0x5d7729(0x11e)+_0x14c1f1;}export function buildVerifyFeatureCliDebugPrompt(_0x1ba676,_0xba4192){const _0x48ddd2=_0x2a3a,_0x37d3c0={'jMHtN':'00_mozilla-homepage.yml','OlFez':function(_0x46cf1e,_0x1d5c76,_0x468ebd){return _0x46cf1e(_0x1d5c76,_0x468ebd);},'fKUxv':'01_mozilla-homepage.png','tXyPo':_0x48ddd2(0xbc),'mxGaR':function(_0x4ac786,_0x53562c){return _0x4ac786(_0x53562c);}},_0x31cc06=buildCliArtifactPath(_0xba4192,_0x37d3c0[_0x48ddd2(0xce)]),_0x52c8ae=_0x37d3c0['OlFez'](buildCliArtifactPath,_0xba4192,_0x37d3c0['fKUxv']),_0xcefd58=buildCliArtifactPath(_0xba4192,_0x37d3c0[_0x48ddd2(0x115)]),_0x5e3880=buildCliArtifactPath(_0xba4192,_0x48ddd2(0x106)),_0x30e115=quoteShellArg(_0x31cc06),_0x5de7c8=_0x37d3c0['mxGaR'](quoteShellArg,_0x52c8ae),_0x459e49=_0x37d3c0[_0x48ddd2(0xbf)](quoteShellArg,_0xcefd58),_0x3f4197=quoteShellArg(_0x5e3880);return'You\x20are\x20testing\x20browser\x20automation.\x20Your\x20task\x20is\x20simple:\x0a\x0aUse\x20Bash\x20and\x20Playwright\x20CLI\x20only.\x20The\x20browser\x20command\x20prefix\x20is:\x0a'+_0x1ba676+'\x0a\x0a1.\x20Run\x20`'+_0x1ba676+_0x48ddd2(0xc4)+_0x1ba676+_0x48ddd2(0x97)+_0x1ba676+_0x48ddd2(0x92)+_0xba4192+'`\x20using\x20absolute\x20paths\x20only.\x20Do\x20not\x20use\x20relative\x20filenames.\x0a5.\x20Run\x20`'+_0x1ba676+'\x20snapshot\x20--filename\x20'+_0x30e115+'`\x0a5.\x20Read\x20the\x20snapshot\x20file\x20to\x20find\x20the\x20\x22Learn\x20More\x22\x20link\x20reference\x0a6.\x20Run\x20`'+_0x1ba676+'\x20screenshot\x20--filename\x20'+_0x5de7c8+_0x48ddd2(0xa9)+_0x1ba676+'\x20snapshot\x20--filename\x20'+_0x459e49+_0x48ddd2(0x9b)+_0x1ba676+'\x20screenshot\x20--filename\x20'+_0x3f4197+_0x48ddd2(0xb2);}export function buildVerifyFeatureCliPrompt(_0x52785a){const _0xc1f474=_0x2a3a,_0xd4bf80={'QrIkh':_0xc1f474(0xa2),'mJhTT':'short','VHyQb':'numeric','zFkKv':_0xc1f474(0xc3),'TlIsl':'\x20>\x20','PmjaY':_0xc1f474(0x110),'ZKRvx':function(_0x1defa0,_0x393cf2,_0x584850){return _0x1defa0(_0x393cf2,_0x584850);},'aIVBW':'02_state.yml','UzSdT':_0xc1f474(0x95),'ljock':function(_0x4ec0a1,_0x2cb9d3){return _0x4ec0a1(_0x2cb9d3);},'vSUbN':function(_0x5dd359,_0x592cf2){return _0x5dd359(_0x592cf2);},'tVLaX':function(_0x58a43c,_0x2d28d4){return _0x58a43c(_0x2d28d4);},'UojSy':function(_0x203148,_0x266228){return _0x203148>_0x266228;},'TzNus':function(_0x153f79,_0x4adc67,_0x32c24b){return _0x153f79(_0x4adc67,_0x32c24b);},'mbAlp':'02_button-clicked.png','OkLeW':'03_result-visible.png','AAPHU':function(_0x27c9e5,_0x5a1ff5,_0x2d8054){return _0x27c9e5(_0x5a1ff5,_0x2d8054);}},{checklistItem:_0x565beb,itemFeedback:_0x1ca551,taskDescription:_0x400d71,cliCommandPrefix:_0x4566cd,cliArtifactDir:_0x5e01fb,isCdpMode:_0x77750b,url:_0x2f7063,cdpEndpoint:_0x34d013,loginInstructions:_0x31c277}=_0x52785a,_0x9b57f1=_0xd4bf80[_0xc1f474(0xfc)](buildCliArtifactPath,_0x5e01fb,'01_initial.yml'),_0x1641f3=_0xd4bf80[_0xc1f474(0xfc)](buildCliArtifactPath,_0x5e01fb,_0xd4bf80[_0xc1f474(0xf7)]),_0x304736=_0xd4bf80[_0xc1f474(0xfc)](buildCliArtifactPath,_0x5e01fb,'key_03_success-state.png'),_0x22bdc4=buildCliArtifactPath(_0x5e01fb,_0xd4bf80['UzSdT']),_0x4bbf48=quoteShellArg(_0x9b57f1),_0x3c6b79=_0xd4bf80[_0xc1f474(0xd2)](quoteShellArg,_0x1641f3),_0x3bbabc=_0xd4bf80[_0xc1f474(0x119)](quoteShellArg,_0x304736),_0x5c5f3f=_0xd4bf80[_0xc1f474(0xc8)](quoteShellArg,_0x22bdc4),_0x254f73=_0x565beb[_0xc1f474(0xc1)]?'\x0a\x0a##\x20Additional\x20Notes\x0a'+_0x565beb[_0xc1f474(0xc1)]:'';let _0x25c64e='';if(_0x1ca551&&_0xd4bf80[_0xc1f474(0x111)](_0x1ca551['unaddressedComments']['length'],0x0)){const _0x2f52d2=_0x1ca551[_0xc1f474(0xd8)][_0xc1f474(0x103)](_0x46b044=>{const _0x1e31c6=_0xc1f474,_0x4f2a7f=new Date(_0x46b044['createdAt'])[_0x1e31c6(0x94)](_0xd4bf80[_0x1e31c6(0xa5)],{'month':_0xd4bf80[_0x1e31c6(0xf2)],'day':_0xd4bf80['VHyQb']}),_0x1aa566=_0x46b044[_0x1e31c6(0x11a)]||_0x46b044[_0x1e31c6(0x108)]||_0xd4bf80[_0x1e31c6(0x118)],_0x30ae3e=_0x46b044[_0x1e31c6(0x122)]?_0x1e31c6(0x107)+(_0x46b044['domRef'][_0x1e31c6(0xfa)]['split'](_0xd4bf80[_0x1e31c6(0x11c)])['pop']()?.[_0x1e31c6(0xba)](':')[0x0]||_0xd4bf80[_0x1e31c6(0xef)])+'>\x20\x22'+(_0x46b044['domRef'][_0x1e31c6(0xcf)]||'')['slice'](0x0,0x32)+'\x22)':'';return _0x1e31c6(0xdb)+_0x46b044['id']+_0x1e31c6(0xe2)+_0x1aa566+_0x1e31c6(0xfe)+_0x4f2a7f+'):\x20\x22'+_0x46b044[_0x1e31c6(0x11b)]+'\x22'+_0x30ae3e;})['join']('\x0a');_0x25c64e=_0xc1f474(0xd9)+_0x2f52d2;}const _0x5c355c=_0x1ca551?.[_0xc1f474(0xb8)]?'\x0a\x0a##\x20Expected\x20Flow\x20(from\x20previous\x20verification)\x0a'+_0x1ca551[_0xc1f474(0xb8)]:'',_0x241a33=_0x77750b?'##\x20App\x20Context\x0aYou\x20are\x20connected\x20to\x20a\x20desktop\x20application\x20via\x20CDP\x20(Chrome\x20DevTools\x20Protocol)\x20at\x20'+_0x34d013+_0xc1f474(0xf6):'CRITICAL\x20URL\x20REQUIREMENT:\x0aYour\x20base\x20URL\x20is:\x20'+_0x2f7063+_0xc1f474(0x105),_0x2ff3a4=_0x2f7063?_0xd4bf80['tVLaX'](quoteShellArg,_0x2f7063):'',_0x580625=_0x77750b?'##\x20Instructions\x0a1.\x20Use\x20Bash\x20plus\x20Playwright\x20CLI\x20only.\x20Do\x20NOT\x20call\x20MCP\x20browser\x20tools.\x0a2.\x20Start\x20by\x20running\x20`'+_0x4566cd+'\x20open`,\x20then\x20`'+_0x4566cd+'\x20tracing-start`,\x20then\x20`'+_0x4566cd+_0xc1f474(0x10a)+_0x5e01fb+_0xc1f474(0xda)+_0x4566cd+'\x20snapshot\x20--filename\x20'+_0x4bbf48+_0xc1f474(0xf5)+_0x4566cd+_0xc1f474(0xab)+_0x5c5f3f+_0xc1f474(0x104)+_0x4566cd+_0xc1f474(0xd6):'##\x20Instructions\x0a1.\x20Use\x20Bash\x20plus\x20Playwright\x20CLI\x20only.\x20Do\x20NOT\x20call\x20MCP\x20browser\x20tools.\x0a2.\x20Start\x20by\x20running\x20`'+_0x4566cd+'\x20open\x20'+_0x2ff3a4+'`,\x20then\x20`'+_0x4566cd+_0xc1f474(0x114)+_0x4566cd+'\x20video-start`.\x0a3.\x20Save\x20every\x20snapshot\x20and\x20screenshot\x20under\x20`'+_0x5e01fb+'`\x20using\x20absolute\x20paths\x20only.\x20Do\x20not\x20use\x20relative\x20filenames.\x0a4.\x20Take\x20a\x20snapshot\x20with\x20`'+_0x4566cd+'\x20snapshot\x20--filename\x20'+_0x4bbf48+_0xc1f474(0xf1)+_0x4566cd+'\x20screenshot\x20--filename\x20'+_0x5c5f3f+'`\x20style\x20absolute\x20paths\x20at\x20key\x20moments.\x0a8.\x20If\x20you\x20need\x20waits\x20or\x20custom\x20assertions,\x20use\x20`'+_0x4566cd+'\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',_0x38995e=_0x77750b?'\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.',_0xa5422=_0x31c277?'\x0a\x0a##\x20Authentication\x0aBEFORE\x20starting\x20the\x20verification\x20task,\x20you\x20MUST\x20authenticate\x20using\x20these\x20steps:\x0a'+_0x31c277+'\x0a\x0aAfter\x20completing\x20authentication,\x20proceed\x20with\x20the\x20verification\x20task\x20below.\x0aIf\x20authentication\x20fails,\x20return\x20immediately\x20with\x20evaluation\x20\x22blocked\x22\x20and\x20describe\x20the\x20auth\x20failure.':'';return _0xc1f474(0xca)+_0x565beb['description']+_0x254f73+_0x25c64e+_0x5c355c+'\x0a\x0a##\x20Task\x20to\x20Execute\x0a'+_0x400d71+'\x0a\x0a'+_0x241a33+_0xa5422+'\x0a\x0a'+_0x580625+_0xc1f474(0x9c)+_0x4566cd+_0xc1f474(0xd3)+_0x5e01fb+_0xc1f474(0xd5)+_0x3c6b79+'`\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'+_0x3bbabc+_0xc1f474(0xf3)+_0x5e01fb+'`:\x20\x22'+_0x22bdc4+'\x22,\x20\x22'+_0xd4bf80[_0xc1f474(0xa1)](buildCliArtifactPath,_0x5e01fb,_0xd4bf80[_0xc1f474(0xbd)])+'\x22,\x20\x22'+_0xd4bf80[_0xc1f474(0xfc)](buildCliArtifactPath,_0x5e01fb,_0xd4bf80[_0xc1f474(0xb9)])+_0xc1f474(0x9f)+_0xd4bf80['AAPHU'](buildCliArtifactPath,_0x5e01fb,_0xc1f474(0x9e))+_0xc1f474(0xff)+_0x38995e+_0xc1f474(0x117);}export function summarizeVerifyFeatureCliCommandAvailability(_0x203424){const _0x2592b0=_0x2a3a,_0x412fd4=[..._0x203424['keys']()][_0x2592b0(0x93)]();let _0x52e9f6=0x0;for(const _0x1a0c06 of _0x203424['values']()){_0x52e9f6+=_0x1a0c06;}return{'cliCommandCount':_0x52e9f6,'cliCommandsSeen':_0x412fd4,'noCliCommandsCalled':_0x52e9f6===0x0};}export function createVerifyFeatureCliHooks(_0x3352da){const _0x2a216e={'JMCuP':function(_0x118c8a,_0x458276){return _0x118c8a!==_0x458276;},'AVgYe':function(_0x161e82,_0x3d8de3){return _0x161e82(_0x3d8de3);},'GnzXE':'playwright-cli','Inopf':'snapshot','MpCbi':function(_0x38d08d,_0x1cc9f1){return _0x38d08d!==_0x1cc9f1;},'hbPAm':'Bash'},_0x4139a7=new Map(),_0x460026=async _0x49f25f=>{const _0x23a6c0=_0x2a3a;if(_0x49f25f[_0x23a6c0(0x11f)]!=='PostToolUse')return{};const _0x2fa1bb=_0x49f25f;if(_0x2a216e[_0x23a6c0(0xb5)](_0x2fa1bb[_0x23a6c0(0xdd)],'Bash'))return{};const _0x3c1a31=_0x2fa1bb['tool_input'],_0x32233f=_0x2a216e['AVgYe'](extractBashCommand,_0x3c1a31);if(!_0x32233f)return{};const _0x29f749=parsePlaywrightCliCommand(_0x32233f);if(!_0x29f749)return{};return _0x4139a7[_0x23a6c0(0xf0)](_0x29f749,(_0x4139a7['get'](_0x29f749)||0x0)+0x1),_0x3352da['trackPhaseStart']('tool_call',{'transport':_0x2a216e['GnzXE'],'toolName':_0x29f749}),_0x3352da['trackPhaseEnd'](_0x23a6c0(0xa0),{'transport':_0x23a6c0(0xe0),'toolName':_0x29f749,'bashCommandPreview':_0x2a216e[_0x23a6c0(0xb7)](truncatePreview,_0x32233f)}),_0x2a216e['JMCuP'](_0x29f749,_0x2a216e['Inopf'])&&console[_0x23a6c0(0xb4)](formatPlaywrightCliConsoleLogMessage(_0x3c1a31,_0x32233f,_0x29f749)),{};},_0x2ad988=async _0x4f368b=>{const _0x35a62f=_0x2a3a;if(_0x4f368b['hook_event_name']!=='PostToolUseFailure')return{};const _0x1c3a19=_0x4f368b;if(_0x2a216e['MpCbi'](_0x1c3a19[_0x35a62f(0xdd)],'Bash'))return{};return await _0x3352da['trackPhaseError']('tool_failure',_0x1c3a19[_0x35a62f(0x10f)],{'transport':_0x2a216e[_0x35a62f(0xae)],'toolName':_0x2a216e[_0x35a62f(0x9d)]}),{};};return{'postToolUseHook':_0x460026,'postToolUseFailureHook':_0x2ad988,'commandCounts':_0x4139a7};}async function runPlaywrightCliLifecycleCommand(_0xa35bd5){const _0x29a473=_0x2a3a,_0x11afe5={'IfsCP':function(_0x328a90,_0x171a83){return _0x328a90(_0x171a83);},'vVQPX':function(_0x51fd4d,_0xfaaa00){return _0x51fd4d??_0xfaaa00;},'xbmvY':function(_0x5506e7,_0x356731,_0x370783){return _0x5506e7(_0x356731,_0x370783);}},{sessionId:_0x5bae77,configPath:_0x44eb6a,commandArgs:_0x2ceeaa,env:_0x393624,telemetry:_0x37736b,phase:_0x5a804d,metadata:_0x2f327b,timeoutMs:_0x58d2bf}=_0xa35bd5;_0x37736b['trackPhaseStart'](_0x5a804d,_0x2f327b);try{const _0xa47e6d=await _0x11afe5['IfsCP'](runPlaywrightCliCommand,{'sessionId':_0x5bae77,'configPath':_0x44eb6a,'commandArgs':_0x2ceeaa,'cwd':process[_0x29a473(0xac)](),'env':_0x393624,'timeoutMs':_0x11afe5['vVQPX'](_0x58d2bf,PLAYWRIGHT_CLI_COMMAND_TIMEOUT_MS)});_0x37736b['trackPhaseEnd'](_0x5a804d,{..._0x2f327b,'subcommand':_0xa47e6d[_0x29a473(0x90)][_0x29a473(0xe3)],'stdoutPreview':_0x11afe5['xbmvY'](truncatePreview,_0xa47e6d[_0x29a473(0xcc)],0x7d0),'stderrPreview':truncatePreview(_0xa47e6d['stderr'],0x7d0)});}catch(_0x294763){await _0x37736b[_0x29a473(0x10c)](_0x5a804d,_0x294763,_0x2f327b);throw _0x294763;}}export async function finalizeVerifyFeatureCliSession(_0x500517){const _0x1860ab=_0x2a3a,_0x423d91={'aMWZV':'playwright_cli_video_stop','ZLrVI':'video-stop','UZwEf':function(_0x250b22,_0x5dc667,_0x57fa77){return _0x250b22(_0x5dc667,_0x57fa77);},'EBnpF':_0x1860ab(0xe9),'biElC':function(_0xb9a82a,_0x56d24a){return _0xb9a82a(_0x56d24a);}},{telemetry:_0x2ac68f,sessionId:_0x49ef73,configPath:_0x24db89,cliArtifactDir:_0x477a7d,env:_0x123c13,transportMetadata:_0x4cd74f}=_0x500517,_0x56ef16=[{'phase':_0x1860ab(0xec),'commandArgs':['tracing-stop']},{'phase':_0x423d91['aMWZV'],'commandArgs':[_0x423d91[_0x1860ab(0xee)],_0x1860ab(0xc6)+_0x423d91['UZwEf'](buildCliArtifactPath,_0x477a7d,_0x1860ab(0x10b))]},{'phase':_0x423d91['EBnpF'],'commandArgs':['close']}];for(const _0x4c277e of _0x56ef16){try{await _0x423d91[_0x1860ab(0xfb)](runPlaywrightCliLifecycleCommand,{'sessionId':_0x49ef73,'configPath':_0x24db89,'commandArgs':[..._0x4c277e['commandArgs']],'env':_0x123c13,'telemetry':_0x2ac68f,'phase':_0x4c277e[_0x1860ab(0xa4)],'metadata':_0x4cd74f});}catch{}}}export async function loadVerifyFeatureCliTraceUploadArtifact(_0x89805d){const _0x307d6c=_0x2a3a,_0xdaec4f={'cxJBY':_0x307d6c(0xb6),'xukXl':'trace.trace.zip'},_0x4c4b27=[_0xdaec4f['cxJBY'],_0xdaec4f['xukXl']];for(const _0x10e6d1 of _0x4c4b27){const _0x2daf6d=join(_0x89805d,_0x10e6d1);try{return{'buffer':await readFile(_0x2daf6d),'source':_0x2daf6d};}catch{}}return null;}export async function rehomeVerifyFeatureCliArtifacts(_0x5840bd){const _0x5595d7=_0x2a3a,_0x24871f={'ObrVs':function(_0x507786,_0x113134,_0x5a6e44){return _0x507786(_0x113134,_0x5a6e44);},'DzXCV':function(_0x10cfe0,_0x3c71cc){return _0x10cfe0(_0x3c71cc);},'WwMNw':function(_0x544a13,_0x554423){return _0x544a13<_0x554423;},'bkhDc':function(_0x479fdb,_0x2eda4e){return _0x479fdb===_0x2eda4e;}},{cwd:_0x40bd2c,cliArtifactDir:_0x346ba3,startTime:_0x181522}=_0x5840bd,_0x550dbe=[];await mkdir(_0x346ba3,{'recursive':!![]});const _0x1ef664=await readdir(_0x40bd2c,{'withFileTypes':!![]});for(const _0x566e57 of _0x1ef664){if(!_0x566e57[_0x5595d7(0xc9)]()||!VERIFY_FEATURE_CLI_ARTIFACT_FILE_PATTERN[_0x5595d7(0x109)](_0x566e57[_0x5595d7(0xd0)]))continue;const _0x368fa1=_0x24871f[_0x5595d7(0xdc)](join,_0x40bd2c,_0x566e57[_0x5595d7(0xd0)]),_0x28386f=await _0x24871f['DzXCV'](stat,_0x368fa1);if(_0x24871f[_0x5595d7(0xb1)](_0x28386f[_0x5595d7(0xe6)]+0x7d0,_0x181522))continue;const _0x5f312d=buildCliArtifactPath(_0x346ba3,_0x566e57[_0x5595d7(0xd0)]);if(_0x24871f['bkhDc'](_0x368fa1,_0x5f312d))continue;await rename(_0x368fa1,_0x5f312d),_0x550dbe['push'](_0x566e57[_0x5595d7(0xd0)]);}return _0x550dbe[_0x5595d7(0x93)]();}
@@ -1 +1 @@
1
- const _0x12e0e8=_0x20c2;(function(_0x4549ec,_0x208c2a){const _0x136d12=_0x20c2,_0x1ec0d9=_0x4549ec();while(!![]){try{const _0x1b0bf=-parseInt(_0x136d12(0x124))/0x1+parseInt(_0x136d12(0x187))/0x2+parseInt(_0x136d12(0x168))/0x3*(parseInt(_0x136d12(0x10b))/0x4)+-parseInt(_0x136d12(0x106))/0x5+-parseInt(_0x136d12(0x193))/0x6*(-parseInt(_0x136d12(0x17b))/0x7)+-parseInt(_0x136d12(0x153))/0x8*(-parseInt(_0x136d12(0x136))/0x9)+parseInt(_0x136d12(0x181))/0xa*(parseInt(_0x136d12(0x116))/0xb);if(_0x1b0bf===_0x208c2a)break;else _0x1ec0d9['push'](_0x1ec0d9['shift']());}catch(_0x41a026){_0x1ec0d9['push'](_0x1ec0d9['shift']());}}}(_0xdc7c,0x6539e));function _0x20c2(_0x228f8e,_0x525d21){_0x228f8e=_0x228f8e-0xbb;const _0xdc7c56=_0xdc7c();let _0x20c22e=_0xdc7c56[_0x228f8e];return _0x20c22e;}import{execFile}from'child_process';import{mkdir,readdir,readFile,rename,rm,stat,writeFile}from'fs/promises';import{homedir}from'os';import{basename,join}from'path';function _0xdc7c(){const _0x659e5f=['set','tool_name','nova_act_command_failure','readSessionMetadataWithRetry','contexts','jjauU','notes','xfUbX','send','.json','element','final-state.yaml','log','--format','snapshot','Page.screencastFrameAck','then','encodeScreencastVideo','scale=trunc(iw/2)*2:trunc(ih/2)*2','connectOverCDP','.jpg','\x20snapshot\x20--output\x20','BDmcR','You\x20are\x20a\x20Feature\x20Review\x20Verifier.\x20Your\x20job\x20is\x20to\x20verify\x20a\x20scenario\x20by\x20executing\x20a\x20UI\x20flow\x20and\x20evaluating\x20whether\x20it\x20adequately\x20completes\x20the\x20scenario.\x0a\x0a##\x20Scenario\x20to\x20Verify\x0a','nova_act_artifact_recording','zip','\x0a\x0aThe\x20act\x20CLI\x20is\x20already\x20installed\x20and\x20available\x20on\x20PATH.\x20Do\x20not\x20search\x20the\x20filesystem\x20for\x20Nova,\x20install\x20packages,\x20inspect\x20docs,\x20or\x20run\x20setup.\x20Your\x20first\x20Bash\x20command\x20must\x20be\x20the\x20session\x20create\x20command\x20below.\x0a\x0a1.\x20Run\x20`','nafsV','YxrLs','context','\x0a\x0a##\x20Additional\x20Notes\x0a','gBkLU','WQdfA','Do\x20not\x20run\x20Nova\x20help,\x20doctor,\x20script,\x20session\x20list,\x20session\x20export,\x20or\x20session\x20close\x20commands\x20during\x20verification.','textContent','stop','description','sGGrh','frame-%06d.jpg','KoFmc','startTraceSampling','\x20verify\x20\x22The\x20Billing\x20page\x20is\x20visible\x20and\x20shows\x20the\x20current\x20plan.\x22\x20','params','PZupl','test','-qr','02_final-state.yml','trackPhaseEnd','twPBV','navigate\x20browser','aSPkf','msSzj','shellCommand','Library','name','clcwt','values','Evaluate\x20visited-page\x20aggregate\x20requirements\x20from\x20the\x20collected\x20URLs,\x20titles,\x20headings,\x20verify\x20results,\x20and\x20screenshots.\x20Do\x20not\x20run\x20another\x20browser\x20command\x20to\x20re-check\x20pages\x20already\x20visited.','nova-artifacts.zip','\x20>\x20','wKsRK','nova_act_session_export','\x0a\x0aExamples:\x0a-\x20`','rmQmB','nova-session-export.json','`.\x0a7.\x20Optimize\x20for\x20few\x20browser\x20round\x20trips.\x20Each\x20Nova\x20CLI\x20call\x20has\x20high\x20latency.\x0a8.\x20Use\x203-5\x20high-level\x20`execute`\x20commands\x20total.\x20Each\x20`execute`\x20should\x20contain\x202-5\x20concrete\x20browser\x20steps\x20and\x20should\x20drive\x20to\x20the\x20next\x20milestone\x20page.\x0a9.\x20Do\x20not\x20split\x20a\x20simple\x20navigation\x20into\x20separate\x20commands\x20like\x20\x22open\x20menu\x22,\x20then\x20\x22click\x20link\x22,\x20then\x20\x22screenshot\x22.\x20Batch\x20those\x20into\x20one\x20`execute`\x20when\x20the\x20target\x20is\x20clear.\x0a10.\x20Do\x20not\x20use\x20`ask`\x20unless\x20you\x20are\x20genuinely\x20stuck\x20or\x20need\x20to\x20disambiguate\x20visible\x20page\x20content.\x20Prefer\x20reading\x20the\x20output\x20from\x20`execute`,\x20`snapshot`,\x20and\x20`verify`.\x0a11.\x20Use\x20`verify`\x20only\x20at\x20milestone\x20pages\x20that\x20map\x20directly\x20to\x20scenario\x20requirements.\x20Do\x20not\x20verify\x20after\x20every\x20click.\x0a12.\x20Take\x20screenshots\x20for\x20each\x20scenario\x20milestone\x20so\x20every\x20verified\x20step\x20has\x20reviewable\x20image\x20evidence,\x20including\x20the\x20final\x20state.\x20Avoid\x20duplicate\x20screenshots\x20of\x20the\x20same\x20unchanged\x20page.\x0a13.\x20After\x20the\x20required\x20initial\x20snapshot,\x20do\x20not\x20take\x20separate\x20milestone\x20snapshots\x20unless\x20you\x20cannot\x20understand\x20the\x20page\x20from\x20the\x20`execute`,\x20`verify`,\x20and\x20screenshot\x20outputs.\x0a14.\x20Mark\x20the\x20most\x20important\x20proof\x20screenshot\x20with\x20`key_`,\x20for\x20example\x20`','capture\x20snapshot','capture\x20key\x20step\x20`','commandArgs','.act_cli','rjHeN','fIOiv','tqcra','novaOptions','domRef','stopped','kGZcB','startAttempted','stopScreencast','GEbyQ','01_initial.yml','frameSession','1672290NpjPql','`\x0a\x0a##\x20Screenshot\x20Guidelines\x0aTake\x20screenshots\x20at\x20scenario\x20milestones\x20so\x20a\x20human\x20can\x20review\x20each\x20completed\x20step\x20and\x20the\x20final\x20state.\x20Use\x20numbered\x20filenames\x20and\x20prefix\x201-2\x20key\x20proof\x20screenshots\x20with\x20`key_`.\x20Avoid\x20duplicate\x20screenshots\x20of\x20the\x20same\x20unchanged\x20page\x20when\x20an\x20existing\x20verifier\x20screenshot\x20or\x20host\x20final\x20screenshot\x20is\x20accessible.\x0a\x0a##\x20Snapshot\x20Guidelines\x0aYou\x20must\x20take\x20the\x20initial\x20snapshot\x20listed\x20above.\x20After\x20that,\x20prefer\x20screenshots\x20plus\x20the\x20page\x20summaries\x20returned\x20by\x20`execute`\x20and\x20`verify`.\x20Only\x20call\x20`snapshot`\x20again\x20if\x20you\x20cannot\x20determine\x20the\x20next\x20action\x20or\x20evaluation\x20from\x20those\x20outputs.\x0a\x0a##\x20Early\x20Error\x20Detection\x0aAfter\x20the\x20initial\x20snapshot\x20and\x20screenshot,\x20check\x20for\x20blocking\x20HTTP\x20errors,\x20framework\x20error\x20pages,\x20blank\x20pages,\x20and\x20authentication\x20failures.\x20If\x20any\x20blocking\x20issue\x20is\x20present,\x20stop\x20and\x20return\x20evaluation\x20\x22blocked\x22\x20with\x20a\x20specific\x20reason.\x0a\x0a##\x20Failed\x20Assertions\x0aIf\x20`verify`\x20returns\x20`ASSERTION_FAILED`,\x20use\x20its\x20`actual`\x20and\x20`evidence`\x20fields\x20as\x20proof\x20for\x20the\x20final\x20evaluation.\x20Continue\x20only\x20to\x20finish\x20other\x20already-named\x20scenario\x20milestones.\x20Do\x20not\x20retry,\x20ask\x20about,\x20or\x20search\x20around\x20the\x20failed\x20condition.\x0a\x0a##\x20Final\x20Page\x20Stop\x0aWhen\x20the\x20scenario\x20names\x20a\x20final\x20page\x20or\x20final\x20navigation\x20target,\x20that\x20page\x20is\x20the\x20last\x20browser\x20milestone.\x20Once\x20it\x20is\x20loaded\x20and\x20screenshotted,\x20make\x20the\x20final\x20evaluation\x20from\x20the\x20collected\x20evidence.\x20Do\x20not\x20navigate,\x20search,\x20ask,\x20or\x20verify\x20beyond\x20that\x20final\x20page\x20unless\x20the\x20scenario\x20explicitly\x20names\x20another\x20page.\x0a\x0a##\x20Evaluation\x20Criteria\x0a-\x20VERIFIED:\x20The\x20task\x20completed\x20successfully\x20and\x20the\x20scenario\x20requirements\x20are\x20fully\x20met\x0a-\x20PARTIAL:\x20The\x20task\x20partially\x20completed\x20but\x20some\x20aspects\x20of\x20the\x20scenario\x20are\x20not\x20verified\x0a-\x20BLOCKED:\x20A\x20blocking\x20issue\x20prevents\x20completion\x0a-\x20FAILED:\x20The\x20task\x20could\x20not\x20be\x20completed\x20due\x20to\x20errors\x0a\x0aReturn\x20your\x20findings\x20in\x20the\x20structured\x20output\x20format\x20with\x20your\x20evaluation.','yuv420p','nova-report','stopTraceSampling','52Rhlcfx','Caches','tool_input','trackPhaseStart','jjtTd','getFrameDir','AMcZC','startsWith','wCTEG','create\x20Nova\x20browser\x20session','unaddressedComments','681241rKSZEJ','Use\x20only\x20the\x20provided\x20Nova\x20browser\x20command\x20prefix\x20for\x20browser\x20verification.\x20Do\x20not\x20inspect\x20setup,\x20credentials,\x20files,\x20or\x20the\x20local\x20environment.','jstnh','numeric','zfIWG','stdout','`\x0a4.\x20Run\x20one\x20batched\x20`','tagName','01_initial-state.png','>\x20\x22','ask\x20page\x20question','qkhmX','BiMGH','-\x20[','435331IFeBwQ','frameWrites','ffmpeg','Bash','\x0a\x0a##\x20Task\x20to\x20Execute\x0a','bCDGn','frameCount','startScreencast','nova_act_final_screenshot','jnbCc','replace','catch','vlyEq','selector','start','now','jnLQf','RvEft','2290311DwOIFA','`\x20is\x20reserved\x20for\x20the\x20host.\x20Use\x20only\x20session\x20create,\x20execute,\x20verify,\x20ask,\x20goto,\x20wait-for,\x20snapshot,\x20and\x20screenshot.','-hide_banner','verify','\x0a\x0a##\x20Reviewer\x20Feedback\x20to\x20Address\x0aThe\x20following\x20reviewer\x20comments\x20were\x20left\x20on\x20the\x20previous\x20version\x20of\x20this\x20item.\x0aVerify\x20that\x20each\x20concern\x20has\x20been\x20addressed\x20in\x20the\x20current\x20implementation.\x0aFor\x20each\x20comment\x20you\x20believe\x20has\x20been\x20addressed,\x20include\x20its\x20ID\x20in\x20addressedCommentIds.\x0a\x0a','GBkuq','parse','rkFNJ','cwd','browser','LbsCZ','sort','cliArtifactDir','videos','Nova\x20command\x20`','uOOZh','-framerate','qUljc','session\x20create','OSalZ','qEPak','phase','-pix_fmt','from','ZSBdH','keys','session-recording.webm','execute\x20Nova\x20browser\x20action','close','8tQRLMJ','telemetry','\x20screenshot\x20--output\x20','PostToolUseFailure','`\x20using\x20absolute\x20paths\x20only.\x0aReturn\x20your\x20findings\x20in\x20the\x20structured\x20output\x20format.','--report','frame-','subcommand','env','TUDjG','IRrYf','zzCSG','short','trim','traceSampleTimer','screenshot','00_initial-state.yml','browser_pid','authorName','`\x0a3.\x20Run\x20`','.cache','93237wIzfEK','nova_act_final_snapshot','pages','vqoXk','push','nova_act_session_close','`\x0a7.\x20Return\x20immediately\x20with\x20the\x20structured\x20output.\x0a\x0aSave\x20every\x20artifact\x20under\x20`','ask','qNTmp','nova-act-cli','ZEJvW','`\x0a6.\x20Run\x20`','sVFyG','\x0a\x0a##\x20Instructions\x0a1.\x20Use\x20Bash\x20plus\x20Nova\x20Act\x20CLI\x20only.\x20Do\x20not\x20call\x20MCP\x20browser\x20tools.\x0a2.\x20The\x20act\x20CLI\x20is\x20already\x20installed\x20and\x20available\x20through\x20the\x20browser\x20command\x20prefix\x20below.\x20Do\x20not\x20search\x20the\x20filesystem\x20for\x20Nova,\x20install\x20packages,\x20inspect\x20docs,\x20check\x20AWS/auth\x20status,\x20read\x20env\x20files,\x20run\x20setup,\x20or\x20call\x20raw\x20`act\x20browser`.\x0a3.\x20Your\x20first\x20Bash\x20command\x20must\x20be\x20`','error','yWrIG','\x0a\x0a##\x20App\x20Context\x0aYour\x20base\x20URL\x20is:\x20','`\x0a-\x20`','screencastStarted','198142XVgpoZ','SpStD','traceSampleCount','nahbf','ThXxD','CLqgU','30VooWGZ','mtimeMs','tracingStarted','ms-playwright','queueTraceSample','key_03_success-state.png','623612ejFLZC','-c:v','sessions','hook_event_name','sessionId','LPHps','Reviewer','OjMoQ','canonicalFlow','--output','capture\x20screenshot','content','6VKlHjl','Drphi','DoNyD','Nova\x20metadata\x20missing\x20cdp_endpoint\x20at\x20','aMKRC','\x0a-\x20You\x20may\x20ONLY\x20navigate\x20to\x20paths\x20under\x20this\x20base\x20URL\x27s\x20origin.\x0a-\x20Do\x20not\x20navigate\x20to\x20any\x20different\x20protocol,\x20host,\x20or\x20port.\x0a-\x20If\x20the\x20browser\x20leaves\x20this\x20origin,\x20navigate\x20back\x20once.\x20If\x20you\x20cannot\x20recover,\x20return\x20evaluation\x20\x22blocked\x22.\x0a','-version','`\x0a2.\x20Run\x20`','wait-for','VhbFO'];_0xdc7c=function(){return _0x659e5f;};return _0xdc7c();}import{promisify}from'util';import{chromium}from'playwright';import{buildNovaActCliInvocation,buildNovaActCliSharedOptionsSuffix,extractNovaActLogDir,parseNovaActCliCommand,previewNovaActCliCommand,runNovaActCliCommand}from'./utils/novaActCli.js';import{extractBashCommand,quoteShellArg}from'./utils/playwrightCli.js';const NOVA_ACT_CLI_COMMAND_TIMEOUT_MS=0x1d4c0,NOVA_ARTIFACT_CDP_CONNECT_TIMEOUT_MS=0x3a98,NOVA_ARTIFACT_METADATA_WAIT_MS=0x1388,NOVA_ARTIFACT_TRACE_SAMPLE_INTERVAL_MS=0x1388,VERIFY_FEATURE_NOVA_ARTIFACT_FILE_PATTERN=/^(?:\d{2}_.+\.(?:png|ya?ml)|key_.+\.png|final-state\.ya?ml|nova-session-export\.json)$/i,NOVA_ACT_ALLOWED_AGENT_COMMANDS=new Set(['session\x20create','execute',_0x12e0e8(0x139),'ask','goto',_0x12e0e8(0x19b),_0x12e0e8(0xc2),_0x12e0e8(0x162)]),execFileAsync=promisify(execFile);function buildCliArtifactPath(_0x9dfcd5,_0x3bb51d){return join(_0x9dfcd5,_0x3bb51d);}export class NovaActArtifactRecorder{['params'];['browser']=null;[_0x12e0e8(0xd1)]=null;['frameSession']=null;['frameWrites']=[];['frameCount']=0x0;['traceSampleCount']=0x0;[_0x12e0e8(0x161)]=null;['traceSampleInFlight']=null;['tracingStarted']=![];['screencastStarted']=![];[_0x12e0e8(0x101)]=![];[_0x12e0e8(0xff)]=![];constructor(_0x4d0a0e){const _0x3ffea2=_0x12e0e8;this[_0x3ffea2(0xde)]=_0x4d0a0e;}async['start'](){const _0x4f1bba=_0x12e0e8,_0x1f581b={'ZhzEk':'Nova\x20CDP\x20connection\x20did\x20not\x20expose\x20a\x20browser\x20context','xcqLH':_0x4f1bba(0xcc)};if(this[_0x4f1bba(0x101)])return;this[_0x4f1bba(0x101)]=!![];const _0xd44d37=await this['readSessionMetadataWithRetry'](),_0x4132a5=_0xd44d37['cdp_endpoint'];if(!_0x4132a5)throw new Error('Nova\x20session\x20metadata\x20did\x20not\x20include\x20cdp_endpoint\x20for\x20'+this[_0x4f1bba(0xde)]['novaOptions'][_0x4f1bba(0x18b)]);await mkdir(this['params']['cliArtifactDir'],{'recursive':!![]}),this[_0x4f1bba(0x13f)]=await chromium[_0x4f1bba(0xc7)](_0x4132a5,{'timeout':NOVA_ARTIFACT_CDP_CONNECT_TIMEOUT_MS}),this['context']=this['browser'][_0x4f1bba(0x1a1)]()[0x0]??null;if(!this['context'])throw new Error(_0x1f581b['ZhzEk']);await this['context']['tracing']['start']({'screenshots':!![],'snapshots':!![],'sources':!![]}),this['tracingStarted']=!![],this[_0x4f1bba(0xdc)](),await this['startScreencast'](),this['params']['telemetry']['trackPhaseStart'](_0x1f581b['xcqLH'],{...this[_0x4f1bba(0xde)]['transportMetadata'],'cdpEndpoint':_0x4132a5,'browserPid':_0xd44d37[_0x4f1bba(0x164)],'sessionState':_0xd44d37['state']}),this['params']['telemetry']['trackPhaseEnd'](_0x4f1bba(0xcc),{...this['params']['transportMetadata'],'tracingStarted':this['tracingStarted'],'screencastStarted':this['screencastStarted']});}async['stop'](){const _0x25f2ab=_0x12e0e8,_0x25915a={'GEbyQ':'nova_act_artifact_recording_stop'};if(this['stopped'])return;this[_0x25f2ab(0xff)]=!![];const _0x185261={...this['params']['transportMetadata'],'frameCount':this[_0x25f2ab(0x12a)],'traceSampleCount':this[_0x25f2ab(0x17d)],'tracingStarted':this['tracingStarted'],'screencastStarted':this['screencastStarted']};this['params'][_0x25f2ab(0x154)]['trackPhaseStart'](_0x25915a[_0x25f2ab(0x103)],_0x185261);try{await this['stopTraceSampling'](),await this['captureTraceSample'](),await this[_0x25f2ab(0x102)](),await Promise['allSettled'](this[_0x25f2ab(0x125)]);this[_0x25f2ab(0xd1)]&&this[_0x25f2ab(0x183)]&&await this['context']['tracing'][_0x25f2ab(0xd7)]({'path':buildCliArtifactPath(this['params'][_0x25f2ab(0x142)],'trace.zip')});const _0x4920ce=await this[_0x25f2ab(0xc5)]();this[_0x25f2ab(0xde)]['telemetry'][_0x25f2ab(0xe3)](_0x25915a['GEbyQ'],{..._0x185261,'videoPath':_0x4920ce});}catch(_0x514626){await this['params']['telemetry']['trackPhaseError']('nova_act_artifact_recording_stop',_0x514626,_0x185261);}finally{await this[_0x25f2ab(0x13f)]?.['close']()[_0x25f2ab(0x12f)](()=>undefined),this['browser']=null,this['context']=null,this[_0x25f2ab(0x105)]=null;}}async[_0x12e0e8(0x1a0)](){const _0x45ef51=_0x12e0e8,_0x1b760e={'oBGIA':function(_0x35d374){return _0x35d374();},'LbsCZ':_0x45ef51(0x13f),'uQnQs':_0x45ef51(0x189),'sGGrh':function(_0x589b49,_0x2e3aae){return _0x589b49-_0x2e3aae;}},_0x2840a8=join(_0x1b760e['oBGIA'](homedir),_0x45ef51(0xf9),_0x1b760e[_0x45ef51(0x140)],_0x1b760e['uQnQs'],this['params']['novaOptions']['sessionId']+_0x45ef51(0xbd)),_0x1c020d=Date['now']();let _0x84fd23;do{try{const _0x5021ce=JSON[_0x45ef51(0x13c)](await readFile(_0x2840a8,'utf-8'));if(_0x5021ce['cdp_endpoint'])return _0x5021ce;_0x84fd23=new Error(_0x45ef51(0x196)+_0x2840a8);}catch(_0x523619){_0x84fd23=_0x523619;}await delay(0x64);}while(_0x1b760e[_0x45ef51(0xd9)](Date[_0x45ef51(0x133)](),_0x1c020d)<NOVA_ARTIFACT_METADATA_WAIT_MS);if(_0x84fd23 instanceof Error)throw _0x84fd23;throw new Error('Unable\x20to\x20read\x20Nova\x20session\x20metadata\x20at\x20'+_0x2840a8);}async[_0x12e0e8(0x12b)](){const _0x367dfa=_0x12e0e8,_0xdd5176={'OSalZ':function(_0x1dbe52,_0x352eba,_0x26a4a0){return _0x1dbe52(_0x352eba,_0x26a4a0);},'BDmcR':function(_0x53ec1e,_0x352087){return _0x53ec1e(_0x352087);},'sVFyG':'Page.startScreencast','rkFNJ':'jpeg'};if(!this[_0x367dfa(0xd1)])return;const _0x1deb00=this['context'][_0x367dfa(0x16a)]()[0x0];if(!_0x1deb00)return;const _0x16c868=this[_0x367dfa(0x110)]();await _0xdd5176['OSalZ'](mkdir,_0x16c868,{'recursive':!![]});const _0x2afd77=await this['context']['newCDPSession'](_0x1deb00);this[_0x367dfa(0x105)]=_0x2afd77,_0x2afd77['on']('Page.screencastFrame',_0x55dd04=>{const _0x2013b8=_0x367dfa,_0x119321=++this['frameCount'],_0x29cc78=_0xdd5176[_0x2013b8(0x149)](join,_0x16c868,_0x2013b8(0x159)+_0xdd5176[_0x2013b8(0xca)](String,_0x119321)['padStart'](0x6,'0')+_0x2013b8(0xc8)),_0x410db7=writeFile(_0x29cc78,Buffer[_0x2013b8(0x14d)](_0x55dd04['data'],'base64'))[_0x2013b8(0x12f)](()=>undefined)['finally'](()=>_0x2afd77[_0x2013b8(0xbc)](_0x2013b8(0xc3),{'sessionId':_0x55dd04[_0x2013b8(0x18b)]}))[_0x2013b8(0xc4)](()=>undefined)['catch'](()=>undefined);this[_0x2013b8(0x125)]['push'](_0x410db7);}),await _0x2afd77[_0x367dfa(0xbc)](_0xdd5176[_0x367dfa(0x174)],{'format':_0xdd5176[_0x367dfa(0x13d)],'quality':0x4b,'everyNthFrame':0x6}),this['screencastStarted']=!![];}async[_0x12e0e8(0x102)](){const _0x4c6041=_0x12e0e8,_0x490eee={'aSPkf':'Page.stopScreencast'};if(!this[_0x4c6041(0x105)]||!this[_0x4c6041(0x17a)])return;await this[_0x4c6041(0x105)][_0x4c6041(0xbc)](_0x490eee[_0x4c6041(0xe6)])[_0x4c6041(0x12f)](()=>undefined);}['startTraceSampling'](){const _0xb81bd0=_0x12e0e8;this[_0xb81bd0(0x185)](),this[_0xb81bd0(0x161)]=setInterval(()=>this[_0xb81bd0(0x185)](),NOVA_ARTIFACT_TRACE_SAMPLE_INTERVAL_MS);}[_0x12e0e8(0x185)](){if(this['traceSampleInFlight'])return;this['traceSampleInFlight']=this['captureTraceSample']()['finally'](()=>{this['traceSampleInFlight']=null;});}async[_0x12e0e8(0x10a)](){const _0x260c2d=_0x12e0e8,_0x3cb312={'ZyTax':function(_0x2f0ecb,_0x5a4ee3){return _0x2f0ecb(_0x5a4ee3);}};this['traceSampleTimer']&&(_0x3cb312['ZyTax'](clearInterval,this[_0x260c2d(0x161)]),this[_0x260c2d(0x161)]=null),await this['traceSampleInFlight']?.['catch'](()=>undefined);}async['captureTraceSample'](){const _0x42f3ed=_0x12e0e8,_0x4c3df7=this[_0x42f3ed(0xd1)]?.[_0x42f3ed(0x16a)]()[0x0];if(!_0x4c3df7)return;try{await _0x4c3df7['locator']('body')['evaluate'](_0x531492=>_0x531492[_0x42f3ed(0x11d)],undefined,{'timeout':0x3e8}),this[_0x42f3ed(0x17d)]++;}catch{}}async[_0x12e0e8(0xc5)](){const _0x156045=_0x12e0e8,_0x5d762f={'JiIkM':function(_0x605556,_0xa82ba8){return _0x605556<_0xa82ba8;},'UbaaQ':function(_0x4532d7){return _0x4532d7();},'yWrIG':function(_0x3f16a6,_0x22e1b4,_0x29d5a3){return _0x3f16a6(_0x22e1b4,_0x29d5a3);},'FzpYd':function(_0x361a1d,_0x593788,_0x467f46){return _0x361a1d(_0x593788,_0x467f46);},'xfUbX':_0x156045(0x150),'pKFaN':'-loglevel','qEPak':'error','mStJu':_0x156045(0x146),'YxrLs':'-vf','TjyzP':'libvpx-vp9','bNPFs':_0x156045(0x108)};if(_0x5d762f['JiIkM'](this[_0x156045(0x12a)],0x2))return null;const _0x14dc90=await _0x5d762f['UbaaQ'](resolveFfmpegPath);if(!_0x14dc90)return null;const _0xcf5569=_0x5d762f[_0x156045(0x177)](join,this['params'][_0x156045(0x142)],_0x156045(0x143));await _0x5d762f['yWrIG'](mkdir,_0xcf5569,{'recursive':!![]});const _0x5f2725=_0x5d762f['FzpYd'](join,_0xcf5569,_0x5d762f[_0x156045(0xbb)]);return await execFileAsync(_0x14dc90,['-y',_0x156045(0x138),_0x5d762f['pKFaN'],_0x5d762f[_0x156045(0x14a)],_0x5d762f['mStJu'],'10','-i',join(this['getFrameDir'](),_0x156045(0xda)),_0x5d762f[_0x156045(0xd0)],_0x156045(0xc6),_0x156045(0x188),_0x5d762f['TjyzP'],_0x156045(0x14c),_0x5d762f['bNPFs'],_0x5f2725]),_0x5f2725;}['getFrameDir'](){const _0x464ea0=_0x12e0e8;return join(this['params'][_0x464ea0(0x142)],'nova-video-frames');}}async function delay(_0x4e2c16){await new Promise(_0x5c4a52=>setTimeout(_0x5c4a52,_0x4e2c16));}async function resolveFfmpegPath(){const _0xa6e8e5=_0x12e0e8,_0x4e7ffc={'aYLbI':_0xa6e8e5(0x10c),'vqoXk':_0xa6e8e5(0x184),'pvzYY':function(_0x474eed){return _0x474eed();},'ThXxD':_0xa6e8e5(0x167)};if(await canRunFfmpeg(_0xa6e8e5(0x126)))return _0xa6e8e5(0x126);const _0x4d600d=[join(homedir(),_0xa6e8e5(0xe9),_0x4e7ffc['aYLbI'],_0x4e7ffc[_0xa6e8e5(0x16b)]),join(_0x4e7ffc['pvzYY'](homedir),_0x4e7ffc[_0xa6e8e5(0x17f)],_0xa6e8e5(0x184))];for(const _0x47f434 of _0x4d600d){try{const _0x4282da=await readdir(_0x47f434),_0x149c81=_0x4282da['filter'](_0x4abc65=>_0x4abc65[_0xa6e8e5(0x112)]('ffmpeg-'))[_0xa6e8e5(0x141)]()['reverse']()['flatMap'](_0x136c21=>[join(_0x47f434,_0x136c21,'ffmpeg-mac'),join(_0x47f434,_0x136c21,'ffmpeg-linux'),join(_0x47f434,_0x136c21,'ffmpeg.exe')]);for(const _0x55f89b of _0x149c81){if(await canRunFfmpeg(_0x55f89b))return _0x55f89b;}}catch{}}return null;}async function canRunFfmpeg(_0x1d5c98){const _0x5d05ed=_0x12e0e8,_0x260d47={'TUDjG':function(_0xcc7543,_0x1341da,_0x340e23){return _0xcc7543(_0x1341da,_0x340e23);},'kGZcB':_0x5d05ed(0x199)};try{return await _0x260d47[_0x5d05ed(0x15c)](execFileAsync,_0x1d5c98,[_0x260d47[_0x5d05ed(0x100)]]),!![];}catch{return![];}}function toStepDisplayName(_0x3495d7){const _0x4d7d65=_0x12e0e8,_0x4ada3f=basename(_0x3495d7)['replace'](/\.(?:png|ya?ml)$/i,'')['replace'](/^key_/i,'')[_0x4d7d65(0x12e)](/^\d+_/,'')['replace'](/-/g,'\x20');return{'name':_0x4ada3f,'isKeyStep':/^key_/i['test'](basename(_0x3495d7))};}function extractShellValue(_0x2f7b48){if(!_0x2f7b48)return null;return _0x2f7b48[0x1]??_0x2f7b48[0x2]??_0x2f7b48[0x3]??null;}function extractOutputOption(_0x1c9dd7){const _0x5857cb={'Stmrk':function(_0x32211b,_0x20fe4a){return _0x32211b(_0x20fe4a);}};return _0x5857cb['Stmrk'](extractShellValue,_0x1c9dd7['match'](/--output(?:=|\s+)(?:"([^"]+)"|'([^']+)'|(\S+))/));}function formatNovaActCliLog(_0x3c0c35,_0x55b2f4){const _0x23140f=_0x12e0e8,_0x42942a={'fIOiv':_0x23140f(0x114),'qNTmp':'execute','jgLoz':_0x23140f(0x151),'SpStD':_0x23140f(0x16f),'euGYJ':_0x23140f(0x120),'TGaOC':'wait-for','jjauU':_0x23140f(0xf6),'GBkuq':function(_0x431753,_0x49c3ad){return _0x431753(_0x49c3ad);},'Ictyu':'session\x20export','IRrYf':'export\x20Nova\x20session'};switch(_0x55b2f4){case _0x23140f(0x148):return _0x42942a[_0x23140f(0xfb)];case _0x42942a[_0x23140f(0x170)]:return _0x42942a['jgLoz'];case'verify':return'verify\x20page\x20condition';case _0x42942a[_0x23140f(0x17c)]:return _0x42942a['euGYJ'];case'goto':return _0x23140f(0xe5);case _0x42942a['TGaOC']:return'wait\x20for\x20page\x20condition';case'snapshot':{const _0x4ac114=extractOutputOption(_0x3c0c35);if(!_0x4ac114)return _0x42942a[_0x23140f(0x1a2)];const {name:_0x5f54ec}=_0x42942a[_0x23140f(0x13b)](toStepDisplayName,_0x4ac114);return'capture\x20snapshot\x20`'+_0x5f54ec+'`';}case'screenshot':{const _0x5d88da=extractOutputOption(_0x3c0c35);if(!_0x5d88da)return _0x23140f(0x191);const {name:_0x4e1f3a,isKeyStep:_0x438077}=_0x42942a['GBkuq'](toStepDisplayName,_0x5d88da);return _0x438077?_0x23140f(0xf7)+_0x4e1f3a+'`':'capture\x20step\x20`'+_0x4e1f3a+'`';}case _0x42942a['Ictyu']:return _0x42942a[_0x23140f(0x15d)];default:return _0x55b2f4;}}function getNovaActCliCommandBlockReason(_0x1ae67d){const _0x5c2926=_0x12e0e8,_0x24f753={'zzCSG':function(_0x1385f9,_0x4a5fc3){return _0x1385f9===_0x4a5fc3;},'ZEJvW':_0x5c2926(0xd5)},_0x409a17=parseNovaActCliCommand(_0x1ae67d);if(!_0x409a17)return _0x5c2926(0x117);if(!NOVA_ACT_ALLOWED_AGENT_COMMANDS['has'](_0x409a17))return _0x5c2926(0x144)+_0x409a17+_0x5c2926(0x137);if(_0x24f753[_0x5c2926(0x15e)](_0x409a17,'verify')&&/\b(?:previously visited|visited pages|pages visited|at least one of the pages visited)\b/i[_0x5c2926(0xe0)](_0x1ae67d))return _0x5c2926(0xed);if(/\s--help\b|\bdoctor\b|\bscript\b|\bsession\s+(?:close|list|export)\b/[_0x5c2926(0xe0)](_0x1ae67d))return _0x24f753[_0x5c2926(0x172)];return null;}function buildFeedbackSection(_0x2d39e7){const _0x49a242=_0x12e0e8,_0x5f310e={'BiMGH':'en-US','nafsV':_0x49a242(0x15f),'jnbCc':_0x49a242(0xbe)};if(!_0x2d39e7||_0x2d39e7[_0x49a242(0x115)]['length']===0x0)return'';const _0xb21776=_0x2d39e7['unaddressedComments']['map'](_0x2766c6=>{const _0x288d18=_0x49a242,_0x4c0645=new Date(_0x2766c6['createdAt'])['toLocaleDateString'](_0x5f310e[_0x288d18(0x122)],{'month':_0x5f310e[_0x288d18(0xcf)],'day':_0x288d18(0x119)}),_0x4eefd2=_0x2766c6[_0x288d18(0x165)]||_0x2766c6['authorEmail']||_0x288d18(0x18d),_0x290950=_0x2766c6['domRef']?'\x20(on\x20element:\x20<'+(_0x2766c6[_0x288d18(0xfe)][_0x288d18(0x131)]['split'](_0x288d18(0xef))['pop']()?.['split'](':')[0x0]||_0x5f310e[_0x288d18(0x12d)])+_0x288d18(0x11f)+(_0x2766c6['domRef'][_0x288d18(0xd6)]||'')['slice'](0x0,0x32)+'\x22)':'';return _0x288d18(0x123)+_0x2766c6['id']+']\x20**'+_0x4eefd2+'**\x20('+_0x4c0645+'):\x20\x22'+_0x2766c6[_0x288d18(0x192)]+'\x22'+_0x290950;})['join']('\x0a');return _0x49a242(0x13a)+_0xb21776;}function buildNovaSharedOptionsInstruction(_0x7f9a25){const _0x334bc2=_0x12e0e8;if(!_0x7f9a25[_0x334bc2(0x160)]())return'The\x20command\x20prefix\x20already\x20injects\x20session,\x20auth,\x20region,\x20workflow,\x20user-data,\x20headless,\x20and\x20JSON\x20options.\x0aDo\x20not\x20run\x20raw\x20`act\x20browser`.\x20Do\x20not\x20add\x20`--auth-mode`,\x20`--aws-profile`,\x20`--region`,\x20`--workflow-name`,\x20`--session-id`,\x20`--user-data-dir`,\x20`--headless`,\x20or\x20`--headed`\x20yourself.';return'Append\x20this\x20option\x20suffix\x20to\x20every\x20browser\x20command\x20unless\x20the\x20host\x20gives\x20a\x20more\x20specific\x20example:\x0a'+_0x7f9a25;}export function buildVerifyFeatureNovaCliDebugPrompt(_0x5a8438){const _0x392381=_0x12e0e8,_0x3e35de={'bCDGn':function(_0x4a488e,_0x7c6a13,_0x4d3ddc){return _0x4a488e(_0x7c6a13,_0x4d3ddc);},'wCTEG':function(_0x58e26c,_0x5901e4,_0x5a1144){return _0x58e26c(_0x5901e4,_0x5a1144);},'AMcZC':'03_final-state.png','IwXjs':function(_0x32455d,_0x15ad41){return _0x32455d(_0x15ad41);}},{novaCommandPrefix:_0x38c37b,novaSharedOptionsSuffix:_0x4e1471,cliArtifactDir:_0x181459,url:_0x36cff4}=_0x5a8438,_0x5647cb=_0x3e35de['bCDGn'](buildCliArtifactPath,_0x181459,_0x392381(0x163)),_0x546556=_0x3e35de[_0x392381(0x113)](buildCliArtifactPath,_0x181459,_0x392381(0x11e)),_0x6e37f7=_0x3e35de[_0x392381(0x129)](buildCliArtifactPath,_0x181459,_0x392381(0xe2)),_0x1a0047=buildCliArtifactPath(_0x181459,_0x3e35de[_0x392381(0x111)]);return'You\x20are\x20testing\x20Nova\x20Act\x20browser\x20automation.\x20Your\x20task\x20is\x20simple.\x0a\x0aUse\x20Bash\x20and\x20Nova\x20Act\x20CLI\x20only.\x20The\x20browser\x20command\x20prefix\x20is:\x0a'+_0x38c37b+'\x0a\x0a'+buildNovaSharedOptionsInstruction(_0x4e1471)+_0x392381(0xce)+_0x38c37b+'\x20session\x20create\x20'+_0x3e35de['IwXjs'](quoteShellArg,_0x36cff4)+'\x20'+_0x4e1471+_0x392381(0x19a)+_0x38c37b+_0x392381(0xc9)+_0x3e35de['IwXjs'](quoteShellArg,_0x5647cb)+'\x20'+_0x4e1471+_0x392381(0x166)+_0x38c37b+_0x392381(0x155)+quoteShellArg(_0x546556)+'\x20'+_0x4e1471+_0x392381(0x11c)+_0x38c37b+'\x20execute\x20\x22...\x22`\x20command\x20to\x20exercise\x20the\x20current\x20page.\x0a5.\x20Run\x20`'+_0x38c37b+'\x20snapshot\x20--output\x20'+quoteShellArg(_0x6e37f7)+'\x20'+_0x4e1471+_0x392381(0x173)+_0x38c37b+'\x20screenshot\x20--output\x20'+quoteShellArg(_0x1a0047)+'\x20'+_0x4e1471+_0x392381(0x16e)+_0x181459+_0x392381(0x157);}export function buildVerifyFeatureNovaCliPrompt(_0x2bc3ed){const _0x4e8824=_0x12e0e8,_0x509832={'uOOZh':function(_0x4e47f1,_0x5bcbf9,_0x56b7f0){return _0x4e47f1(_0x5bcbf9,_0x56b7f0);},'CLqgU':_0x4e8824(0x104),'nZvdd':_0x4e8824(0x11e),'clcwt':function(_0xcda2a9,_0x2f97c3){return _0xcda2a9(_0x2f97c3);}},{checklistItem:_0x411a0d,itemFeedback:_0x4699f0,taskDescription:_0x22e48e,novaCommandPrefix:_0x4c33bf,novaSharedOptionsSuffix:_0x4ed821,cliArtifactDir:_0x2d67b5,url:_0x10ab0e,loginInstructions:_0x4d8a67}=_0x2bc3ed,_0xaca538=_0x411a0d[_0x4e8824(0x1a3)]?_0x4e8824(0xd2)+_0x411a0d[_0x4e8824(0x1a3)]:'',_0x4e0404=buildFeedbackSection(_0x4699f0),_0x5c7168=_0x4699f0?.['canonicalFlow']?'\x0a\x0a##\x20Expected\x20Flow\x20(from\x20previous\x20verification)\x0a'+_0x4699f0[_0x4e8824(0x18f)]:'',_0x28b05b=_0x4d8a67?'\x0a\x0a##\x20Authentication\x0aBEFORE\x20starting\x20the\x20verification\x20task,\x20authenticate\x20using\x20these\x20steps:\x0a'+_0x4d8a67+'\x0a\x0aIf\x20authentication\x20fails,\x20return\x20evaluation\x20\x22blocked\x22\x20and\x20describe\x20the\x20auth\x20failure.':'',_0x3a9645=_0x509832[_0x4e8824(0x145)](buildCliArtifactPath,_0x2d67b5,_0x509832[_0x4e8824(0x180)]),_0x1ee440=_0x509832['uOOZh'](buildCliArtifactPath,_0x2d67b5,_0x509832['nZvdd']),_0x44f7db=_0x509832[_0x4e8824(0x145)](buildCliArtifactPath,_0x2d67b5,_0x4e8824(0x186));return _0x4e8824(0xcb)+_0x411a0d[_0x4e8824(0xd8)]+_0xaca538+_0x4e0404+_0x5c7168+_0x4e8824(0x128)+_0x22e48e+_0x4e8824(0x178)+_0x10ab0e+_0x4e8824(0x198)+_0x28b05b+_0x4e8824(0x175)+_0x4c33bf+'\x20session\x20create\x20'+_0x509832['clcwt'](quoteShellArg,_0x10ab0e)+'\x20'+_0x4ed821+'`.\x0a4.\x20Save\x20every\x20snapshot\x20and\x20screenshot\x20under\x20`'+_0x2d67b5+'`\x20using\x20absolute\x20paths\x20only.\x0a5.\x20Take\x20an\x20initial\x20snapshot:\x20`'+_0x4c33bf+_0x4e8824(0xc9)+_0x509832[_0x4e8824(0xeb)](quoteShellArg,_0x3a9645)+'\x20'+_0x4ed821+'`.\x0a6.\x20Take\x20an\x20initial\x20screenshot:\x20`'+_0x4c33bf+_0x4e8824(0x155)+_0x509832[_0x4e8824(0xeb)](quoteShellArg,_0x1ee440)+'\x20'+_0x4ed821+_0x4e8824(0xf5)+_0x44f7db+'`.\x0a15.\x20As\x20soon\x20as\x20all\x20scenario\x20requirements\x20are\x20satisfied,\x20return\x20structured\x20output\x20immediately.\x20Do\x20not\x20keep\x20exploring,\x20asking,\x20or\x20taking\x20extra\x20screenshots.\x0a16.\x20Treat\x20a\x20Nova\x20`verify`\x20result\x20with\x20`ASSERTION_FAILED`\x20as\x20useful\x20evidence,\x20not\x20as\x20a\x20tool\x20crash.\x20Do\x20not\x20retry\x20the\x20same\x20assertion\x20or\x20search\x20for\x20alternatives\x20unless\x20the\x20scenario\x20explicitly\x20asks\x20you\x20to\x20find\x20any\x20matching\x20page.\x0a17.\x20Stay\x20within\x20the\x20pages\x20and\x20flow\x20named\x20by\x20the\x20scenario.\x20If\x20a\x20required\x20condition\x20is\x20absent\x20after\x20checking\x20the\x20relevant\x20named\x20page\x20once,\x20stop\x20and\x20return\x20\x22partial\x22\x20or\x20\x22failed\x22\x20with\x20the\x20missing\x20requirement.\x20Do\x20not\x20expand\x20into\x20unrelated\x20pages\x20or\x20broad\x20site\x20searches.\x0a18.\x20After\x20you\x20reach\x20and\x20screenshot\x20the\x20final\x20named\x20scenario\x20page,\x20do\x20not\x20execute\x20more\x20browser\x20commands.\x20Evaluate\x20any\x20\x22at\x20least\x20one\x20visited\x20page\x22\x20requirement\x20from\x20the\x20pages\x20already\x20visited\x20and\x20the\x20evidence\x20already\x20collected.\x0a19.\x20Do\x20not\x20run\x20`session\x20close`,\x20`session\x20list`,\x20`session\x20export`,\x20`script`,\x20`doctor`,\x20`--help`,\x20`aws`,\x20`find`,\x20`grep`,\x20`env`,\x20`printenv`,\x20package\x20managers,\x20or\x20setup\x20commands.\x20The\x20host\x20owns\x20setup,\x20auth,\x20session\x20cleanup,\x20and\x20artifact\x20export.\x0a20.\x20The\x20host\x20also\x20captures\x20final\x20screenshots,\x20snapshots,\x20and\x20exports\x20after\x20you\x20finish,\x20but\x20every\x20scenario\x20milestone\x20still\x20needs\x20an\x20accessible\x20screenshot.\x20If\x20the\x20last\x20milestone\x20is\x20the\x20final\x20browser\x20state\x20and\x20you\x20have\x20already\x20captured\x20it,\x20you\x20do\x20not\x20need\x20a\x20duplicate\x20final\x20screenshot.\x0a21.\x20Do\x20not\x20close\x20the\x20Nova\x20session.\x20The\x20host\x20exports\x20artifacts\x20after\x20you\x20finish.\x0a22.\x20The\x20structured\x20output\x20is\x20your\x20final\x20response.\x20After\x20returning\x20it,\x20do\x20not\x20write\x20a\x20separate\x20markdown\x20summary\x20or\x20repeat\x20the\x20findings.\x0a\x0a##\x20Browser\x20Command\x20Reference\x0aUse\x20Bash\x20to\x20run\x20Nova\x20Act\x20CLI\x20commands\x20with\x20this\x20prefix:\x0a`'+_0x4c33bf+'`\x0a\x0aAppend\x20this\x20option\x20suffix\x20to\x20browser\x20commands:\x0a'+(_0x4ed821[_0x4e8824(0x160)]()?'`'+_0x4ed821+'`':'`<none;\x20the\x20command\x20prefix\x20injects\x20shared\x20options>`')+'\x0a\x0a'+buildNovaSharedOptionsInstruction(_0x4ed821)+_0x4e8824(0xf2)+_0x4c33bf+'\x20execute\x20\x221.\x20Open\x20the\x20account\x20settings\x20menu.\x202.\x20Click\x20Billing.\x203.\x20Wait\x20for\x20the\x20Billing\x20page\x20to\x20load.\x22\x20'+_0x4ed821+_0x4e8824(0x179)+_0x4c33bf+_0x4e8824(0xdd)+_0x4ed821+'`\x0a-\x20`'+_0x4c33bf+_0x4e8824(0xc9)+quoteShellArg(_0x3a9645)+'\x20'+_0x4ed821+_0x4e8824(0x179)+_0x4c33bf+'\x20screenshot\x20--output\x20'+quoteShellArg(_0x44f7db)+'\x20'+_0x4ed821+_0x4e8824(0x107);}export function summarizeVerifyFeatureNovaCliCommandAvailability(_0x5e98f3){const _0x597178=_0x12e0e8,_0x390e51={'msSzj':function(_0x43c8b0,_0x3e7a35){return _0x43c8b0===_0x3e7a35;}},_0x41e40a=[..._0x5e98f3[_0x597178(0x14f)]()]['sort']();let _0x219244=0x0;for(const _0x14d248 of _0x5e98f3[_0x597178(0xec)]()){_0x219244+=_0x14d248;}return{'cliCommandCount':_0x219244,'cliCommandsSeen':_0x41e40a,'noCliCommandsCalled':_0x390e51[_0x597178(0xe7)](_0x219244,0x0)};}export function createVerifyFeatureNovaCliHooks(_0x787ece,_0x165469){const _0x369930=_0x12e0e8,_0x40ed1c={'ZSBdH':function(_0x42859b,_0x1c8fd5){return _0x42859b(_0x1c8fd5);},'CzAKN':'PostToolUse','nahbf':_0x369930(0x127),'tqcra':function(_0x17d447,_0xe4d3da){return _0x17d447(_0xe4d3da);},'wKsRK':function(_0x3b2244,_0x1cecc7){return _0x3b2244+_0x1cecc7;},'jstnh':'nova_act_command','rmQmB':function(_0x554ff3,_0x1d9ef0){return _0x554ff3===_0x1d9ef0;},'HIVed':'session\x20create','KoFmc':'nova-act-cli','UZIEl':_0x369930(0x156),'OjMoQ':function(_0x17a0e4,_0x3c94b9){return _0x17a0e4!==_0x3c94b9;}},_0x26246f=new Map(),_0x5357dc=async _0x499570=>{const _0x39b237=_0x369930;if(_0x499570[_0x39b237(0x18a)]!=='PreToolUse')return{};const _0x38c23c=_0x499570;if(_0x38c23c['tool_name']!=='Bash')return{};const _0x3bb50f=_0x38c23c[_0x39b237(0x10d)],_0x158a80=_0x40ed1c[_0x39b237(0x14e)](extractBashCommand,_0x3bb50f);if(!_0x158a80)return{};const _0x438821=getNovaActCliCommandBlockReason(_0x158a80);if(!_0x438821)return{};return{'decision':'block','reason':_0x438821};},_0x2bd309=async _0x437772=>{const _0x18b571=_0x369930;if(_0x437772['hook_event_name']!==_0x40ed1c['CzAKN'])return{};const _0x562189=_0x437772;if(_0x562189['tool_name']!==_0x40ed1c[_0x18b571(0x17e)])return{};const _0x1ccf74=_0x562189['tool_input'],_0x121de3=_0x40ed1c[_0x18b571(0xfc)](extractBashCommand,_0x1ccf74);if(!_0x121de3)return{};const _0x2003df=parseNovaActCliCommand(_0x121de3);if(!_0x2003df)return{};_0x26246f[_0x18b571(0x19d)](_0x2003df,_0x40ed1c[_0x18b571(0xf0)](_0x26246f['get'](_0x2003df)||0x0,0x1)),_0x787ece['trackPhaseStart'](_0x40ed1c[_0x18b571(0x118)],{'subcommand':_0x2003df}),_0x787ece[_0x18b571(0xe3)]('nova_act_command',{'subcommand':_0x2003df,'commandPreview':previewNovaActCliCommand(_0x121de3)}),console[_0x18b571(0xc0)]('[nova-act-cli]\x20'+formatNovaActCliLog(_0x121de3,_0x2003df));if(_0x40ed1c[_0x18b571(0xf3)](_0x2003df,_0x40ed1c['HIVed'])&&_0x165469)try{await _0x165469[_0x18b571(0x132)]();}catch(_0x22aa12){await _0x787ece['trackPhaseError'](_0x18b571(0xcc),_0x22aa12,{'transport':_0x40ed1c[_0x18b571(0xdb)]});}return{};},_0x1f7df0=async _0x5a1d4a=>{const _0xc8ad2f=_0x369930;if(_0x5a1d4a['hook_event_name']!==_0x40ed1c['UZIEl'])return{};const _0x6381a6=_0x5a1d4a;if(_0x40ed1c[_0xc8ad2f(0x18e)](_0x6381a6[_0xc8ad2f(0x19e)],_0xc8ad2f(0x127)))return{};return await _0x787ece['trackPhaseError'](_0xc8ad2f(0x19f),_0x6381a6[_0xc8ad2f(0x176)],{'transport':_0xc8ad2f(0x171),'toolName':'Bash'}),{};};return{'preToolUseHook':_0x5357dc,'postToolUseHook':_0x2bd309,'postToolUseFailureHook':_0x1f7df0,'commandCounts':_0x26246f};}async function runNovaLifecycleCommand(_0x2804fd){const _0x34bce7=_0x12e0e8,_0x52cf90={'lpgRk':function(_0x908a74,_0x2a0d42){return _0x908a74(_0x2a0d42);},'LPHps':function(_0x4591b2,_0x5962e3){return _0x4591b2(_0x5962e3);},'WQdfA':function(_0x522a19,_0x388ee9){return _0x522a19(_0x388ee9);}},{novaOptions:_0x508547,commandArgs:_0x349a08,telemetry:_0x16c335,phase:_0x27f254,metadata:_0x20295c,timeoutMs:_0x474d96}=_0x2804fd;_0x16c335[_0x34bce7(0x10e)](_0x27f254,_0x20295c);try{const _0x47f120=await _0x52cf90['lpgRk'](runNovaActCliCommand,{..._0x508547,'commandArgs':_0x349a08,'cwd':process[_0x34bce7(0x13e)](),'env':process[_0x34bce7(0x15b)],'timeoutMs':_0x474d96??NOVA_ACT_CLI_COMMAND_TIMEOUT_MS});_0x16c335['trackPhaseEnd'](_0x27f254,{..._0x20295c,'subcommand':_0x47f120['invocation'][_0x34bce7(0x15a)],'commandPreview':previewNovaActCliCommand(_0x47f120['invocation'][_0x34bce7(0xe8)]),'stdoutPreview':_0x52cf90[_0x34bce7(0x18c)](previewNovaActCliCommand,_0x47f120[_0x34bce7(0x11b)]),'stderrPreview':previewNovaActCliCommand(_0x47f120['stderr']),'logDir':_0x52cf90[_0x34bce7(0xd4)](extractNovaActLogDir,_0x47f120[_0x34bce7(0x11b)])});}catch(_0x3cf023){await _0x16c335['trackPhaseError'](_0x27f254,_0x3cf023,_0x20295c);throw _0x3cf023;}}export async function finalizeVerifyFeatureNovaCliSession(_0x6e6add){const _0x1ba3e6=_0x12e0e8,_0x2f4416={'rjHeN':_0x1ba3e6(0x12c),'VhbFO':function(_0x57b546,_0xc4c86a,_0x3b0f5e){return _0x57b546(_0xc4c86a,_0x3b0f5e);},'vlyEq':'key_final-state.png','TzKrI':'snapshot','twPBV':_0x1ba3e6(0xf1),'gBkLU':'session','jnLQf':'json','NLHoJ':'nova_act_session_report','DoNyD':'--output-dir','zfIWG':function(_0x4af9c6,_0x37d843,_0x1ef18f){return _0x4af9c6(_0x37d843,_0x1ef18f);},'qUljc':'nova_act_session_close'},{telemetry:_0x11d91c,novaOptions:_0x3ebbb5,cliArtifactDir:_0x3e0c16,transportMetadata:_0x41d303,artifactRecorder:_0x4156a9}=_0x6e6add,_0x1b2574=[{'phase':_0x2f4416[_0x1ba3e6(0xfa)],'commandArgs':['screenshot','--output',_0x2f4416[_0x1ba3e6(0x19c)](buildCliArtifactPath,_0x3e0c16,_0x2f4416[_0x1ba3e6(0x130)])]},{'phase':_0x1ba3e6(0x169),'commandArgs':[_0x2f4416['TzKrI'],_0x1ba3e6(0x190),buildCliArtifactPath(_0x3e0c16,_0x1ba3e6(0xbf))]},{'phase':_0x2f4416[_0x1ba3e6(0xe4)],'commandArgs':[_0x2f4416['gBkLU'],'export',_0x1ba3e6(0xc1),_0x2f4416[_0x1ba3e6(0x134)],'--output',buildCliArtifactPath(_0x3e0c16,_0x1ba3e6(0xf4))]},{'phase':_0x2f4416['NLHoJ'],'commandArgs':['session','export',_0x1ba3e6(0x158),_0x2f4416[_0x1ba3e6(0x195)],_0x2f4416[_0x1ba3e6(0x11a)](buildCliArtifactPath,_0x3e0c16,_0x1ba3e6(0x109))]},{'phase':_0x2f4416[_0x1ba3e6(0x147)],'commandArgs':[_0x2f4416[_0x1ba3e6(0xd3)],_0x1ba3e6(0x152)]}];for(const _0x335c91 of _0x1b2574){_0x335c91['phase']===_0x1ba3e6(0x16d)&&await _0x4156a9?.[_0x1ba3e6(0xd7)]();try{await runNovaLifecycleCommand({'novaOptions':_0x3ebbb5,'commandArgs':[..._0x335c91[_0x1ba3e6(0xf8)]],'telemetry':_0x11d91c,'phase':_0x335c91[_0x1ba3e6(0x14b)],'metadata':_0x41d303});}catch{}}}export async function harvestVerifyFeatureNovaCliArtifacts(_0x32eb6c){const _0x1c4055=_0x12e0e8,_0x3958aa={'IPqpe':function(_0xc2fc47,_0xd9448a,_0x314474){return _0xc2fc47(_0xd9448a,_0x314474);},'RvEft':function(_0x2a8c9f,_0x6ab3e8){return _0x2a8c9f(_0x6ab3e8);},'eeJuJ':function(_0x383e53,_0x4945c0){return _0x383e53<_0x4945c0;},'Drphi':function(_0x54b918,_0x256b29){return _0x54b918+_0x256b29;},'KdOSM':function(_0x4607ca,_0x1c1860,_0x1a046d){return _0x4607ca(_0x1c1860,_0x1a046d);}},{cwd:_0x703806,cliArtifactDir:_0x5bb7b9,startTime:_0x2ba2d3}=_0x32eb6c,_0x125f51=[];await mkdir(_0x5bb7b9,{'recursive':!![]});const _0x520cf8=await readdir(_0x703806,{'withFileTypes':!![]});for(const _0x4c8a4c of _0x520cf8){if(!_0x4c8a4c['isFile']()||!VERIFY_FEATURE_NOVA_ARTIFACT_FILE_PATTERN['test'](_0x4c8a4c[_0x1c4055(0xea)]))continue;const _0x14d81c=_0x3958aa['IPqpe'](join,_0x703806,_0x4c8a4c[_0x1c4055(0xea)]),_0x307d42=await _0x3958aa[_0x1c4055(0x135)](stat,_0x14d81c);if(_0x3958aa['eeJuJ'](_0x3958aa[_0x1c4055(0x194)](_0x307d42[_0x1c4055(0x182)],0x7d0),_0x2ba2d3))continue;const _0x1afc0c=buildCliArtifactPath(_0x5bb7b9,_0x4c8a4c['name']);if(_0x14d81c===_0x1afc0c)continue;await _0x3958aa['KdOSM'](rename,_0x14d81c,_0x1afc0c),_0x125f51[_0x1c4055(0x16c)](_0x4c8a4c['name']);}return _0x125f51[_0x1c4055(0x141)]();}export async function loadVerifyFeatureNovaTraceUploadArtifact(_0x205782){const _0x22e35b=join(_0x205782,'trace.zip');try{return{'buffer':await readFile(_0x22e35b),'source':_0x22e35b};}catch{return{'buffer':await zipVerifyFeatureNovaArtifacts(_0x205782),'source':_0x205782};}}async function zipVerifyFeatureNovaArtifacts(_0x293bd3){const _0x2acc0f=_0x12e0e8,_0x5c2ec3={'qkhmX':function(_0x5544a2,_0x18d69d,_0x4f19ae,_0x4ff100){return _0x5544a2(_0x18d69d,_0x4f19ae,_0x4ff100);},'aMKRC':_0x2acc0f(0xee),'lMxfz':function(_0x3c8b9e,_0x161649,_0xb41e83,_0x4be5f0){return _0x3c8b9e(_0x161649,_0xb41e83,_0x4be5f0);},'jjtTd':_0x2acc0f(0xe1),'OqNVL':'nova-user-data/*'},_0x2d16a3=_0x5c2ec3[_0x2acc0f(0x121)](join,_0x293bd3,'..',_0x5c2ec3[_0x2acc0f(0x197)]);try{return await _0x5c2ec3['lMxfz'](execFileAsync,_0x2acc0f(0xcd),[_0x5c2ec3[_0x2acc0f(0x10f)],_0x2d16a3,'.','-x',_0x5c2ec3['OqNVL']],{'cwd':_0x293bd3}),await readFile(_0x2d16a3);}finally{await rm(_0x2d16a3,{'force':!![]});}}export function buildNovaActCliDiagnostics(_0x5190ed){const _0x1c72a1=_0x12e0e8,_0xd4288d={'PZupl':function(_0x1eafbe,_0x120476,_0x3df70a){return _0x1eafbe(_0x120476,_0x3df70a);},'vUher':function(_0x14ef5c,_0x35a39b){return _0x14ef5c(_0x35a39b);}},_0x5e4247=_0xd4288d[_0x1c72a1(0xdf)](buildNovaActCliInvocation,_0x5190ed['novaOptions'],_0x5190ed['commandArgs']);return{'command':_0x5e4247['command'],'args':_0x5e4247['args'],'commandPreview':_0xd4288d['vUher'](previewNovaActCliCommand,_0x5e4247['shellCommand']),'subcommand':_0x5e4247['subcommand'],'sharedOptionsSuffix':buildNovaActCliSharedOptionsSuffix(_0x5190ed[_0x1c72a1(0xfd)],_0x5190ed['commandArgs'])};}
1
+ const _0xe620d5=_0x50f2;(function(_0x817a4,_0x355e23){const _0x5ea058=_0x50f2,_0x5e0902=_0x817a4();while(!![]){try{const _0x44bf34=parseInt(_0x5ea058(0x283))/0x1+parseInt(_0x5ea058(0x1f4))/0x2+parseInt(_0x5ea058(0x216))/0x3+-parseInt(_0x5ea058(0x295))/0x4*(parseInt(_0x5ea058(0x224))/0x5)+-parseInt(_0x5ea058(0x1ef))/0x6+-parseInt(_0x5ea058(0x22b))/0x7+parseInt(_0x5ea058(0x26e))/0x8;if(_0x44bf34===_0x355e23)break;else _0x5e0902['push'](_0x5e0902['shift']());}catch(_0x34db32){_0x5e0902['push'](_0x5e0902['shift']());}}}(_0x5947,0xe1644));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([_0xe620d5(0x228),'execute','verify','ask','goto','wait-for','snapshot',_0xe620d5(0x259)]),execFileAsync=promisify(execFile);function buildCliArtifactPath(_0x19063a,_0x1d9ee1){return join(_0x19063a,_0x1d9ee1);}export class NovaActArtifactRecorder{[_0xe620d5(0x287)];[_0xe620d5(0x218)]=null;['context']=null;[_0xe620d5(0x1e9)]=null;['frameWrites']=[];[_0xe620d5(0x222)]=0x0;[_0xe620d5(0x1d3)]=0x0;[_0xe620d5(0x1df)]=null;['traceSampleInFlight']=null;[_0xe620d5(0x208)]=![];['screencastStarted']=![];[_0xe620d5(0x1e5)]=![];[_0xe620d5(0x267)]=![];constructor(_0x2ac057){this['params']=_0x2ac057;}async[_0xe620d5(0x1fa)](){const _0x444ad6=_0xe620d5,_0x154819={'pltGI':function(_0x49e16f,_0x3b3c8c,_0xea7c0b){return _0x49e16f(_0x3b3c8c,_0xea7c0b);}};if(this[_0x444ad6(0x1e5)])return;this[_0x444ad6(0x1e5)]=!![];const _0x24a547=await this['readSessionMetadataWithRetry'](),_0x32daf5=_0x24a547['cdp_endpoint'];if(!_0x32daf5)throw new Error(_0x444ad6(0x201)+this['params']['novaOptions']['sessionId']);await _0x154819['pltGI'](mkdir,this[_0x444ad6(0x287)]['cliArtifactDir'],{'recursive':!![]}),this[_0x444ad6(0x218)]=await chromium[_0x444ad6(0x227)](_0x32daf5,{'timeout':NOVA_ARTIFACT_CDP_CONNECT_TIMEOUT_MS}),this[_0x444ad6(0x1c9)]=this['browser']['contexts']()[0x0]??null;if(!this[_0x444ad6(0x1c9)])throw new Error('Nova\x20CDP\x20connection\x20did\x20not\x20expose\x20a\x20browser\x20context');await this['context'][_0x444ad6(0x221)][_0x444ad6(0x1fa)]({'screenshots':!![],'snapshots':!![],'sources':!![]}),this[_0x444ad6(0x208)]=!![],this[_0x444ad6(0x1f9)](),await this['startScreencast'](),this['params']['telemetry']['trackPhaseStart']('nova_act_artifact_recording',{...this[_0x444ad6(0x287)]['transportMetadata'],'cdpEndpoint':_0x32daf5,'browserPid':_0x24a547[_0x444ad6(0x268)],'sessionState':_0x24a547['state']}),this['params']['telemetry']['trackPhaseEnd']('nova_act_artifact_recording',{...this['params']['transportMetadata'],'tracingStarted':this[_0x444ad6(0x208)],'screencastStarted':this[_0x444ad6(0x261)]});}async['stop'](){const _0x7179e1=_0xe620d5,_0x50bf1a={'hKHpL':'nova_act_artifact_recording_stop','DnVkW':function(_0x487386,_0x583e33,_0xdce52e){return _0x487386(_0x583e33,_0xdce52e);}};if(this[_0x7179e1(0x267)])return;this['stopped']=!![];const _0x2f46b0={...this['params']['transportMetadata'],'frameCount':this[_0x7179e1(0x222)],'traceSampleCount':this[_0x7179e1(0x1d3)],'tracingStarted':this[_0x7179e1(0x208)],'screencastStarted':this[_0x7179e1(0x261)]};this[_0x7179e1(0x287)]['telemetry']['trackPhaseStart'](_0x50bf1a[_0x7179e1(0x266)],_0x2f46b0);try{await this[_0x7179e1(0x260)](),await this[_0x7179e1(0x240)](),await this['stopScreencast'](),await Promise['allSettled'](this['frameWrites']);this[_0x7179e1(0x1c9)]&&this[_0x7179e1(0x208)]&&await this['context']['tracing']['stop']({'path':_0x50bf1a[_0x7179e1(0x254)](buildCliArtifactPath,this[_0x7179e1(0x287)]['cliArtifactDir'],_0x7179e1(0x289))});const _0x2f9637=await this[_0x7179e1(0x288)]();this['params']['telemetry']['trackPhaseEnd'](_0x50bf1a[_0x7179e1(0x266)],{..._0x2f46b0,'videoPath':_0x2f9637});}catch(_0x5c0b0a){await this['params']['telemetry'][_0x7179e1(0x245)]('nova_act_artifact_recording_stop',_0x5c0b0a,_0x2f46b0);}finally{await this[_0x7179e1(0x218)]?.['close']()[_0x7179e1(0x251)](()=>undefined),this['browser']=null,this[_0x7179e1(0x1c9)]=null,this['frameSession']=null;}}async[_0xe620d5(0x285)](){const _0x15ce9d=_0xe620d5,_0x3058b4={'mrfkh':function(_0x43a083,_0x4d429a,_0x260c5d,_0x58635f,_0xa0ae3d,_0x1df621){return _0x43a083(_0x4d429a,_0x260c5d,_0x58635f,_0xa0ae3d,_0x1df621);},'styIa':_0x15ce9d(0x23d),'ifJQR':'utf-8','DovQu':function(_0x3b4d8b,_0x58fd65){return _0x3b4d8b<_0x58fd65;},'IYHAi':function(_0x1885ef,_0x25e2b3){return _0x1885ef-_0x25e2b3;}},_0x259e38=_0x3058b4[_0x15ce9d(0x1d4)](join,homedir(),'.act_cli','browser',_0x3058b4['styIa'],this[_0x15ce9d(0x287)]['novaOptions'][_0x15ce9d(0x265)]+'.json'),_0x4ebac4=Date['now']();let _0x32e258;do{try{const _0x55e6e0=JSON[_0x15ce9d(0x1e2)](await readFile(_0x259e38,_0x3058b4['ifJQR']));if(_0x55e6e0['cdp_endpoint'])return _0x55e6e0;_0x32e258=new Error(_0x15ce9d(0x26b)+_0x259e38);}catch(_0x2b3546){_0x32e258=_0x2b3546;}await delay(0x64);}while(_0x3058b4[_0x15ce9d(0x219)](_0x3058b4[_0x15ce9d(0x1f5)](Date['now'](),_0x4ebac4),NOVA_ARTIFACT_METADATA_WAIT_MS));if(_0x32e258 instanceof Error)throw _0x32e258;throw new Error('Unable\x20to\x20read\x20Nova\x20session\x20metadata\x20at\x20'+_0x259e38);}async['startScreencast'](){const _0x3b3982=_0xe620d5,_0x44053f={'CRzva':function(_0x35de41,_0x31d03a,_0x4d0e72){return _0x35de41(_0x31d03a,_0x4d0e72);},'OeJPa':function(_0x1ed574,_0x8d0071){return _0x1ed574(_0x8d0071);},'ObsUb':_0x3b3982(0x29b)};if(!this[_0x3b3982(0x1c9)])return;const _0x1c6cbb=this[_0x3b3982(0x1c9)][_0x3b3982(0x1cb)]()[0x0];if(!_0x1c6cbb)return;const _0xe7ec97=this[_0x3b3982(0x29d)]();await mkdir(_0xe7ec97,{'recursive':!![]});const _0x4feb1f=await this['context']['newCDPSession'](_0x1c6cbb);this['frameSession']=_0x4feb1f,_0x4feb1f['on'](_0x3b3982(0x204),_0x268147=>{const _0x57bd07=_0x3b3982,_0x538c4b=++this[_0x57bd07(0x222)],_0x2f434a=_0x44053f[_0x57bd07(0x26f)](join,_0xe7ec97,_0x57bd07(0x239)+_0x44053f[_0x57bd07(0x26d)](String,_0x538c4b)[_0x57bd07(0x296)](0x6,'0')+_0x57bd07(0x23b)),_0x509fec=writeFile(_0x2f434a,Buffer[_0x57bd07(0x1cf)](_0x268147['data'],'base64'))['catch'](()=>undefined)[_0x57bd07(0x1eb)](()=>_0x4feb1f['send']('Page.screencastFrameAck',{'sessionId':_0x268147[_0x57bd07(0x265)]}))[_0x57bd07(0x1c8)](()=>undefined)['catch'](()=>undefined);this['frameWrites'][_0x57bd07(0x263)](_0x509fec);}),await _0x4feb1f['send']('Page.startScreencast',{'format':_0x44053f[_0x3b3982(0x213)],'quality':0x4b,'everyNthFrame':0x6}),this[_0x3b3982(0x261)]=!![];}async[_0xe620d5(0x298)](){const _0x5e127c=_0xe620d5,_0x5581fb={'ZnWgX':_0x5e127c(0x29e)};if(!this[_0x5e127c(0x1e9)]||!this[_0x5e127c(0x261)])return;await this['frameSession']['send'](_0x5581fb['ZnWgX'])[_0x5e127c(0x251)](()=>undefined);}['startTraceSampling'](){const _0x1c110a=_0xe620d5;this['queueTraceSample'](),this[_0x1c110a(0x1df)]=setInterval(()=>this['queueTraceSample'](),NOVA_ARTIFACT_TRACE_SAMPLE_INTERVAL_MS);}['queueTraceSample'](){const _0x3e3edb=_0xe620d5;if(this['traceSampleInFlight'])return;this[_0x3e3edb(0x294)]=this['captureTraceSample']()[_0x3e3edb(0x1eb)](()=>{const _0x5e91ea=_0x3e3edb;this[_0x5e91ea(0x294)]=null;});}async[_0xe620d5(0x260)](){const _0x39bae2=_0xe620d5,_0x55e446={'yNfDG':function(_0x3ecf14,_0x2dc15a){return _0x3ecf14(_0x2dc15a);}};this['traceSampleTimer']&&(_0x55e446[_0x39bae2(0x20b)](clearInterval,this[_0x39bae2(0x1df)]),this['traceSampleTimer']=null),await this[_0x39bae2(0x294)]?.[_0x39bae2(0x251)](()=>undefined);}async['captureTraceSample'](){const _0xcdc8e1=_0xe620d5,_0xc68084={'LZVhP':'body'},_0x1f3386=this['context']?.[_0xcdc8e1(0x1cb)]()[0x0];if(!_0x1f3386)return;try{await _0x1f3386[_0xcdc8e1(0x25d)](_0xc68084[_0xcdc8e1(0x256)])['evaluate'](_0x3c8094=>_0x3c8094[_0xcdc8e1(0x24c)],undefined,{'timeout':0x3e8}),this[_0xcdc8e1(0x1d3)]++;}catch{}}async[_0xe620d5(0x288)](){const _0x1270d5=_0xe620d5,_0x3710ae={'OEJqr':function(_0x51c7b2,_0x2c962a){return _0x51c7b2<_0x2c962a;},'TsIFq':function(_0x23abd0){return _0x23abd0();},'Qhmzz':_0x1270d5(0x293),'qZpRm':function(_0x1e87f8,_0x39b0be,_0x5bf0be){return _0x1e87f8(_0x39b0be,_0x5bf0be);},'JHUgt':function(_0x1f809b,_0x49d88a,_0x49a5a1){return _0x1f809b(_0x49d88a,_0x49a5a1);},'zZawo':_0x1270d5(0x282),'Swtue':_0x1270d5(0x22c),'jPEIK':_0x1270d5(0x2a0),'FXAKt':_0x1270d5(0x1cc),'omwdX':'libvpx-vp9','VtTAy':'-pix_fmt','iUcMN':_0x1270d5(0x1ec)};if(_0x3710ae['OEJqr'](this['frameCount'],0x2))return null;const _0x1e549c=await _0x3710ae[_0x1270d5(0x25b)](resolveFfmpegPath);if(!_0x1e549c)return null;const _0x44c866=join(this['params'][_0x1270d5(0x1f3)],_0x3710ae['Qhmzz']);await _0x3710ae['qZpRm'](mkdir,_0x44c866,{'recursive':!![]});const _0x1f6904=_0x3710ae[_0x1270d5(0x214)](join,_0x44c866,'session-recording.webm');return await execFileAsync(_0x1e549c,['-y',_0x3710ae[_0x1270d5(0x210)],_0x1270d5(0x241),_0x3710ae[_0x1270d5(0x28c)],'-framerate','10','-i',_0x3710ae[_0x1270d5(0x207)](join,this[_0x1270d5(0x29d)](),_0x3710ae['jPEIK']),'-vf','scale=trunc(iw/2)*2:trunc(ih/2)*2',_0x3710ae[_0x1270d5(0x1e3)],_0x3710ae[_0x1270d5(0x21d)],_0x3710ae['VtTAy'],_0x3710ae['iUcMN'],_0x1f6904]),_0x1f6904;}[_0xe620d5(0x29d)](){const _0x3de459=_0xe620d5,_0x250870={'HHJyV':'nova-video-frames'};return join(this[_0x3de459(0x287)]['cliArtifactDir'],_0x250870[_0x3de459(0x21c)]);}}async function delay(_0x39a3b7){await new Promise(_0x27567c=>setTimeout(_0x27567c,_0x39a3b7));}async function resolveFfmpegPath(){const _0x324fcc=_0xe620d5,_0x3a58de={'XCVwD':function(_0x27da8e,_0x2be6d6,_0x1b986b,_0x457ba4,_0x5d2eb1){return _0x27da8e(_0x2be6d6,_0x1b986b,_0x457ba4,_0x5d2eb1);},'PDtcd':function(_0x55c80c){return _0x55c80c();},'gwzQA':function(_0x5d95e3,_0x23e094,_0xa53db8,_0x118d7e){return _0x5d95e3(_0x23e094,_0xa53db8,_0x118d7e);},'oDzJN':function(_0x43d6ea){return _0x43d6ea();},'xzEwR':_0x324fcc(0x236),'dxDOJ':'ms-playwright','jGyNn':function(_0x228b4a,_0x53a9af){return _0x228b4a(_0x53a9af);}};if(await canRunFfmpeg('ffmpeg'))return _0x324fcc(0x255);const _0x52784e=[_0x3a58de['XCVwD'](join,_0x3a58de['PDtcd'](homedir),'Library',_0x324fcc(0x23c),_0x324fcc(0x1db)),_0x3a58de['gwzQA'](join,_0x3a58de['oDzJN'](homedir),_0x3a58de['xzEwR'],_0x3a58de[_0x324fcc(0x200)])];for(const _0x497325 of _0x52784e){try{const _0x488833=await _0x3a58de['jGyNn'](readdir,_0x497325),_0x47b936=_0x488833[_0x324fcc(0x1dd)](_0x34b9b7=>_0x34b9b7[_0x324fcc(0x24d)](_0x324fcc(0x1d7)))['sort']()['reverse']()[_0x324fcc(0x25a)](_0x12aca2=>[join(_0x497325,_0x12aca2,'ffmpeg-mac'),join(_0x497325,_0x12aca2,_0x324fcc(0x248)),join(_0x497325,_0x12aca2,'ffmpeg.exe')]);for(const _0x404f11 of _0x47b936){if(await _0x3a58de['jGyNn'](canRunFfmpeg,_0x404f11))return _0x404f11;}}catch{}}return null;}async function canRunFfmpeg(_0x56d00f){const _0x4c394e={'MrHBN':function(_0xc679da,_0x4b6c3a,_0x50d409){return _0xc679da(_0x4b6c3a,_0x50d409);}};try{return await _0x4c394e['MrHBN'](execFileAsync,_0x56d00f,['-version']),!![];}catch{return![];}}function toStepDisplayName(_0x464ca1){const _0x205cf6=_0xe620d5,_0xc99bff={'enLLn':function(_0x52284a,_0x51ffdf){return _0x52284a(_0x51ffdf);}},_0x6b9108=_0xc99bff[_0x205cf6(0x242)](basename,_0x464ca1)[_0x205cf6(0x28a)](/\.(?:png|ya?ml)$/i,'')['replace'](/^key_/i,'')[_0x205cf6(0x28a)](/^\d+_/,'')[_0x205cf6(0x28a)](/-/g,'\x20');return{'name':_0x6b9108,'isKeyStep':/^key_/i[_0x205cf6(0x262)](basename(_0x464ca1))};}function extractShellValue(_0x214efe){if(!_0x214efe)return null;return _0x214efe[0x1]??_0x214efe[0x2]??_0x214efe[0x3]??null;}function extractOutputOption(_0x2fe5e2){const _0x4e9b16=_0xe620d5,_0x81c674={'nnrHV':function(_0xe3bc3f,_0x14dc9a){return _0xe3bc3f(_0x14dc9a);}};return _0x81c674['nnrHV'](extractShellValue,_0x2fe5e2[_0x4e9b16(0x215)](/--output(?:=|\s+)(?:"([^"]+)"|'([^']+)'|(\S+))/));}function formatNovaActCliLog(_0x1ca9cd,_0x1f7c4f){const _0x4f6443=_0xe620d5,_0x4abeca={'qUNgA':_0x4f6443(0x244),'WqWbQ':'execute','ficTh':'execute\x20Nova\x20browser\x20action','acRds':_0x4f6443(0x27c),'CyaeS':_0x4f6443(0x273),'PyJDj':'navigate\x20browser','Vabse':_0x4f6443(0x1f6),'FdfvI':'wait\x20for\x20page\x20condition','tnWPa':_0x4f6443(0x206),'Siivy':'screenshot','NbAyP':function(_0x450df3,_0xe2c777){return _0x450df3(_0xe2c777);},'FKqAy':_0x4f6443(0x269)};switch(_0x1f7c4f){case'session\x20create':return _0x4abeca['qUNgA'];case _0x4abeca[_0x4f6443(0x232)]:return _0x4abeca['ficTh'];case _0x4f6443(0x23e):return _0x4abeca['acRds'];case _0x4abeca['CyaeS']:return _0x4f6443(0x247);case'goto':return _0x4abeca['PyJDj'];case _0x4abeca[_0x4f6443(0x1d0)]:return _0x4abeca['FdfvI'];case'snapshot':{const _0xe6aaa=extractOutputOption(_0x1ca9cd);if(!_0xe6aaa)return _0x4abeca['tnWPa'];const {name:_0x26d12c}=toStepDisplayName(_0xe6aaa);return _0x4f6443(0x1ee)+_0x26d12c+'`';}case _0x4abeca[_0x4f6443(0x212)]:{const _0x203e35=_0x4abeca[_0x4f6443(0x290)](extractOutputOption,_0x1ca9cd);if(!_0x203e35)return'capture\x20screenshot';const {name:_0x3aab95,isKeyStep:_0x45455f}=toStepDisplayName(_0x203e35);return _0x45455f?'capture\x20key\x20step\x20`'+_0x3aab95+'`':_0x4f6443(0x299)+_0x3aab95+'`';}case'session\x20export':return _0x4abeca[_0x4f6443(0x1f0)];default:return _0x1f7c4f;}}function getNovaActCliCommandBlockReason(_0x124289){const _0x1b1e1f=_0xe620d5,_0x5d885a={'dMlzo':'Use\x20only\x20the\x20provided\x20Nova\x20browser\x20command\x20prefix\x20for\x20browser\x20verification.\x20Do\x20not\x20inspect\x20setup,\x20credentials,\x20files,\x20or\x20the\x20local\x20environment.','kSkRZ':function(_0x5b44f5,_0x194ab2){return _0x5b44f5===_0x194ab2;},'NkAet':'verify','qwTuZ':_0x1b1e1f(0x21b)},_0x46901b=parseNovaActCliCommand(_0x124289);if(!_0x46901b)return _0x5d885a['dMlzo'];if(!NOVA_ACT_ALLOWED_AGENT_COMMANDS[_0x1b1e1f(0x20f)](_0x46901b))return'Nova\x20command\x20`'+_0x46901b+'`\x20is\x20reserved\x20for\x20the\x20host.\x20Use\x20only\x20session\x20create,\x20execute,\x20verify,\x20ask,\x20goto,\x20wait-for,\x20snapshot,\x20and\x20screenshot.';if(_0x5d885a['kSkRZ'](_0x46901b,_0x5d885a['NkAet'])&&/\b(?:previously visited|visited pages|pages visited|at least one of the pages visited)\b/i[_0x1b1e1f(0x262)](_0x124289))return _0x5d885a['qwTuZ'];if(/\s--help\b|\bdoctor\b|\bscript\b|\bsession\s+(?:close|list|export)\b/['test'](_0x124289))return'Do\x20not\x20run\x20Nova\x20help,\x20doctor,\x20script,\x20session\x20list,\x20session\x20export,\x20or\x20session\x20close\x20commands\x20during\x20verification.';return null;}function buildFeedbackSection(_0x27155a){const _0x1d8e92=_0xe620d5,_0x580102={'KsdiF':'en-US','zbvgI':_0x1d8e92(0x270),'vVrHD':_0x1d8e92(0x1f7),'Pivif':_0x1d8e92(0x258)};if(!_0x27155a||_0x27155a[_0x1d8e92(0x20c)]['length']===0x0)return'';const _0x34e39d=_0x27155a['unaddressedComments']['map'](_0x257dca=>{const _0x5432e9=_0x1d8e92,_0x2939a2=new Date(_0x257dca['createdAt'])['toLocaleDateString'](_0x580102['KsdiF'],{'month':_0x580102['zbvgI'],'day':_0x580102['vVrHD']}),_0x1be812=_0x257dca[_0x5432e9(0x29a)]||_0x257dca[_0x5432e9(0x1fb)]||'Reviewer',_0x47ece1=_0x257dca['domRef']?'\x20(on\x20element:\x20<'+(_0x257dca['domRef']['selector']['split'](_0x580102['Pivif'])['pop']()?.['split'](':')[0x0]||_0x5432e9(0x27b))+_0x5432e9(0x26c)+(_0x257dca['domRef']['textContent']||'')[_0x5432e9(0x238)](0x0,0x32)+'\x22)':'';return _0x5432e9(0x24e)+_0x257dca['id']+']\x20**'+_0x1be812+_0x5432e9(0x237)+_0x2939a2+'):\x20\x22'+_0x257dca['content']+'\x22'+_0x47ece1;})[_0x1d8e92(0x1f2)]('\x0a');return _0x1d8e92(0x1d2)+_0x34e39d;}function buildNovaSharedOptionsInstruction(_0x1d0884){const _0x3efc7=_0xe620d5;if(!_0x1d0884['trim']())return _0x3efc7(0x25e);return'Append\x20this\x20option\x20suffix\x20to\x20every\x20browser\x20command\x20unless\x20the\x20host\x20gives\x20a\x20more\x20specific\x20example:\x0a'+_0x1d0884;}function _0x5947(){const _0x29b817=['trace.zip','replace','`\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.','Swtue','zvgjt','folpE','nova_act_command_failure','NbAyP','export','`\x0a2.\x20Run\x20`','videos','traceSampleInFlight','4rzbFTr','padStart','-qr','stopScreencast','capture\x20step\x20`','authorName','jpeg','\x20screenshot\x20--output\x20','getFrameDir','Page.stopScreencast','`<none;\x20the\x20command\x20prefix\x20injects\x20shared\x20options>`','frame-%06d.jpg','pBlkh','ahGpN','then','context','args','pages','-c:v','trackPhaseStart','zuqKZ','from','Vabse','`.\x0a15.\x20As\x20soon\x20as\x20all\x20scenario\x20requirements\x20are\x20satisfied,\x20return\x20structured\x20output\x20immediately.\x20Do\x20not\x20keep\x20exploring,\x20asking,\x20or\x20taking\x20extra\x20screenshots.\x0a16.\x20Treat\x20a\x20Nova\x20`verify`\x20result\x20with\x20`ASSERTION_FAILED`\x20as\x20useful\x20evidence,\x20not\x20as\x20a\x20tool\x20crash.\x20Do\x20not\x20retry\x20the\x20same\x20assertion\x20or\x20search\x20for\x20alternatives\x20unless\x20the\x20scenario\x20explicitly\x20asks\x20you\x20to\x20find\x20any\x20matching\x20page.\x0a17.\x20Stay\x20within\x20the\x20pages\x20and\x20flow\x20named\x20by\x20the\x20scenario.\x20If\x20a\x20required\x20condition\x20is\x20absent\x20after\x20checking\x20the\x20relevant\x20named\x20page\x20once,\x20stop\x20and\x20return\x20\x22partial\x22\x20or\x20\x22failed\x22\x20with\x20the\x20missing\x20requirement.\x20Do\x20not\x20expand\x20into\x20unrelated\x20pages\x20or\x20broad\x20site\x20searches.\x0a18.\x20After\x20you\x20reach\x20and\x20screenshot\x20the\x20final\x20named\x20scenario\x20page,\x20do\x20not\x20execute\x20more\x20browser\x20commands.\x20Evaluate\x20any\x20\x22at\x20least\x20one\x20visited\x20page\x22\x20requirement\x20from\x20the\x20pages\x20already\x20visited\x20and\x20the\x20evidence\x20already\x20collected.\x0a19.\x20Do\x20not\x20run\x20`session\x20close`,\x20`session\x20list`,\x20`session\x20export`,\x20`script`,\x20`doctor`,\x20`--help`,\x20`aws`,\x20`find`,\x20`grep`,\x20`env`,\x20`printenv`,\x20package\x20managers,\x20or\x20setup\x20commands.\x20The\x20host\x20owns\x20setup,\x20auth,\x20session\x20cleanup,\x20and\x20artifact\x20export.\x0a20.\x20The\x20host\x20also\x20captures\x20final\x20screenshots,\x20snapshots,\x20and\x20exports\x20after\x20you\x20finish,\x20but\x20every\x20scenario\x20milestone\x20still\x20needs\x20an\x20accessible\x20screenshot.\x20If\x20the\x20last\x20milestone\x20is\x20the\x20final\x20browser\x20state\x20and\x20you\x20have\x20already\x20captured\x20it,\x20you\x20do\x20not\x20need\x20a\x20duplicate\x20final\x20screenshot.\x0a21.\x20Do\x20not\x20close\x20the\x20Nova\x20session.\x20The\x20host\x20exports\x20artifacts\x20after\x20you\x20finish.\x0a22.\x20The\x20structured\x20output\x20is\x20your\x20final\x20response.\x20After\x20returning\x20it,\x20do\x20not\x20write\x20a\x20separate\x20markdown\x20summary\x20or\x20repeat\x20the\x20findings.\x0a\x0a##\x20Browser\x20Command\x20Reference\x0aUse\x20Bash\x20to\x20run\x20Nova\x20Act\x20CLI\x20commands\x20with\x20this\x20prefix:\x0a`','\x0a\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','traceSampleCount','mrfkh','DzQZf','cwd','ffmpeg-','trackPhaseEnd','name','nova_act_session_export','ms-playwright','NKgRT','filter','--output-dir','traceSampleTimer','isFile','KzXHI','parse','FXAKt','PostToolUseFailure','startAttempted','`\x20using\x20absolute\x20paths\x20only.\x0a5.\x20Take\x20an\x20initial\x20snapshot:\x20`','shellCommand','MIUFS','frameSession','iTwcQ','finally','yuv420p','nova-report','capture\x20snapshot\x20`','1130706FVcbrq','FKqAy','`\x0a-\x20`','join','cliArtifactDir','1688386EtqQbr','IYHAi','wait-for','numeric','hhuxC','startTraceSampling','start','authorEmail','values','[nova-act-cli]\x20','tool_input','final-state.yaml','dxDOJ','Nova\x20session\x20metadata\x20did\x20not\x20include\x20cdp_endpoint\x20for\x20','`\x0a3.\x20Run\x20`','\x0a\x0a##\x20App\x20Context\x0aYour\x20base\x20URL\x20is:\x20','Page.screencastFrame','block','capture\x20snapshot','qZpRm','tracingStarted','LJrrz','03_final-state.png','yNfDG','unaddressedComments','session','`\x20using\x20absolute\x20paths\x20only.\x0aReturn\x20your\x20findings\x20in\x20the\x20structured\x20output\x20format.','has','zZawo','TOpBx','Siivy','ObsUb','JHUgt','match','1804218DvgmXu','`.\x0a6.\x20Take\x20an\x20initial\x20screenshot:\x20`','browser','DovQu','\x0a\x0a##\x20Additional\x20Notes\x0a','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.','HHJyV','omwdX','nova_act_command','subcommand','EAHyR','tracing','frameCount','CWFBw','6292635nLftIO','commandArgs','key_final-state.png','connectOverCDP','session\x20create','snapshot','fOwaK','3358838DdVrQA','error','DoeDt','nova_act_final_screenshot','nova-user-data/*','\x20snapshot\x20--output\x20','\x0a\x0a##\x20Expected\x20Flow\x20(from\x20previous\x20verification)\x0a','WqWbQ','--output','Bash','command','.cache','**\x20(','slice','frame-','nova-session-export.json','.jpg','Caches','sessions','verify','irZTL','captureTraceSample','-loglevel','enLLn','stop','create\x20Nova\x20browser\x20session','trackPhaseError','`\x0a\x0aAppend\x20this\x20option\x20suffix\x20to\x20browser\x20commands:\x0a','ask\x20page\x20question','ffmpeg-linux','GylJj','Wqokr','vnzYY','tagName','startsWith','-\x20[','\x20execute\x20\x221.\x20Open\x20the\x20account\x20settings\x20menu.\x202.\x20Click\x20Billing.\x203.\x20Wait\x20for\x20the\x20Billing\x20page\x20to\x20load.\x22\x20','\x20session\x20create\x20','catch','phase','MAmHZ','DnVkW','ffmpeg','LZVhP','yZZnf','\x20>\x20','screenshot','flatMap','TsIFq','ozwKB','locator','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.','01_initial-state.png','stopTraceSampling','screencastStarted','test','push','json','sessionId','hKHpL','stopped','browser_pid','export\x20Nova\x20session','WPWIi','Nova\x20metadata\x20missing\x20cdp_endpoint\x20at\x20','>\x20\x22','OeJPa','288784hYMYvS','CRzva','short','tool_name','Ffsqh','ask','trim','hwQKd','notes','FgEil','PpGab','nova-act-cli','\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','element','verify\x20page\x20condition','wtlkP','--report','--format','hook_event_name','invocation','-hide_banner','1368319japsMT','close','readSessionMetadataWithRetry','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','params','encodeScreencastVideo'];_0x5947=function(){return _0x29b817;};return _0x5947();}export function buildVerifyFeatureNovaCliDebugPrompt(_0xe11a2f){const _0x47a203=_0xe620d5,_0x2acd13={'ahGpN':function(_0xbff668,_0x3bcd5c,_0x4dd94a){return _0xbff668(_0x3bcd5c,_0x4dd94a);},'AubHH':'00_initial-state.yml','WPWIi':function(_0x2cf5cc,_0x2b9ba5,_0x58165f){return _0x2cf5cc(_0x2b9ba5,_0x58165f);},'zvgjt':_0x47a203(0x25f),'tjBhp':'02_final-state.yml','SBsJm':_0x47a203(0x20a),'BvrbK':function(_0x2238d1,_0x2923d9){return _0x2238d1(_0x2923d9);},'GylJj':function(_0x44e27d,_0x42f6e4){return _0x44e27d(_0x42f6e4);}},{novaCommandPrefix:_0x5e20c4,novaSharedOptionsSuffix:_0x41ca3e,cliArtifactDir:_0x41b1ed,url:_0x5911c0}=_0xe11a2f,_0x11904b=_0x2acd13['ahGpN'](buildCliArtifactPath,_0x41b1ed,_0x2acd13['AubHH']),_0x59057b=_0x2acd13[_0x47a203(0x26a)](buildCliArtifactPath,_0x41b1ed,_0x2acd13[_0x47a203(0x28d)]),_0x156267=_0x2acd13[_0x47a203(0x2a2)](buildCliArtifactPath,_0x41b1ed,_0x2acd13['tjBhp']),_0x18eda4=buildCliArtifactPath(_0x41b1ed,_0x2acd13['SBsJm']);return _0x47a203(0x286)+_0x5e20c4+'\x0a\x0a'+_0x2acd13['BvrbK'](buildNovaSharedOptionsInstruction,_0x41ca3e)+'\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`'+_0x5e20c4+'\x20session\x20create\x20'+_0x2acd13[_0x47a203(0x249)](quoteShellArg,_0x5911c0)+'\x20'+_0x41ca3e+_0x47a203(0x292)+_0x5e20c4+_0x47a203(0x230)+quoteShellArg(_0x11904b)+'\x20'+_0x41ca3e+_0x47a203(0x202)+_0x5e20c4+_0x47a203(0x29c)+quoteShellArg(_0x59057b)+'\x20'+_0x41ca3e+'`\x0a4.\x20Run\x20one\x20batched\x20`'+_0x5e20c4+'\x20execute\x20\x22...\x22`\x20command\x20to\x20exercise\x20the\x20current\x20page.\x0a5.\x20Run\x20`'+_0x5e20c4+'\x20snapshot\x20--output\x20'+quoteShellArg(_0x156267)+'\x20'+_0x41ca3e+'`\x0a6.\x20Run\x20`'+_0x5e20c4+'\x20screenshot\x20--output\x20'+quoteShellArg(_0x18eda4)+'\x20'+_0x41ca3e+'`\x0a7.\x20Return\x20immediately\x20with\x20the\x20structured\x20output.\x0a\x0aSave\x20every\x20artifact\x20under\x20`'+_0x41b1ed+_0x47a203(0x20e);}export function buildVerifyFeatureNovaCliPrompt(_0x1f3219){const _0xd88050=_0xe620d5,_0x2b66ee={'rLRdV':function(_0x1319b8,_0x14a279){return _0x1319b8(_0x14a279);},'fOwaK':function(_0x4153f5,_0x1d72ad,_0x28745e){return _0x4153f5(_0x1d72ad,_0x28745e);},'irZTL':'01_initial.yml','gEZth':'key_03_success-state.png'},{checklistItem:_0x433bdd,itemFeedback:_0x413e07,taskDescription:_0x6e5866,novaCommandPrefix:_0x1ec7a4,novaSharedOptionsSuffix:_0xc170e9,cliArtifactDir:_0x4a5ca4,url:_0x8913e4,loginInstructions:_0x568266}=_0x1f3219,_0x5599bd=_0x433bdd[_0xd88050(0x276)]?_0xd88050(0x21a)+_0x433bdd[_0xd88050(0x276)]:'',_0x4be258=_0x2b66ee['rLRdV'](buildFeedbackSection,_0x413e07),_0x2c6bcb=_0x413e07?.['canonicalFlow']?_0xd88050(0x231)+_0x413e07['canonicalFlow']:'',_0x6c3568=_0x568266?'\x0a\x0a##\x20Authentication\x0aBEFORE\x20starting\x20the\x20verification\x20task,\x20authenticate\x20using\x20these\x20steps:\x0a'+_0x568266+'\x0a\x0aIf\x20authentication\x20fails,\x20return\x20evaluation\x20\x22blocked\x22\x20and\x20describe\x20the\x20auth\x20failure.':'',_0x54df61=_0x2b66ee[_0xd88050(0x22a)](buildCliArtifactPath,_0x4a5ca4,_0x2b66ee[_0xd88050(0x23f)]),_0x19c984=buildCliArtifactPath(_0x4a5ca4,'01_initial-state.png'),_0x46c5f8=buildCliArtifactPath(_0x4a5ca4,_0x2b66ee['gEZth']);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'+_0x433bdd['description']+_0x5599bd+_0x4be258+_0x2c6bcb+'\x0a\x0a##\x20Task\x20to\x20Execute\x0a'+_0x6e5866+_0xd88050(0x203)+_0x8913e4+_0xd88050(0x27a)+_0x6c3568+'\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`'+_0x1ec7a4+_0xd88050(0x250)+quoteShellArg(_0x8913e4)+'\x20'+_0xc170e9+'`.\x0a4.\x20Save\x20every\x20snapshot\x20and\x20screenshot\x20under\x20`'+_0x4a5ca4+_0xd88050(0x1e6)+_0x1ec7a4+'\x20snapshot\x20--output\x20'+quoteShellArg(_0x54df61)+'\x20'+_0xc170e9+_0xd88050(0x217)+_0x1ec7a4+_0xd88050(0x29c)+quoteShellArg(_0x19c984)+'\x20'+_0xc170e9+'`.\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`'+_0x46c5f8+_0xd88050(0x1d1)+_0x1ec7a4+_0xd88050(0x246)+(_0xc170e9[_0xd88050(0x274)]()?'`'+_0xc170e9+'`':_0xd88050(0x29f))+'\x0a\x0a'+buildNovaSharedOptionsInstruction(_0xc170e9)+'\x0a\x0aExamples:\x0a-\x20`'+_0x1ec7a4+_0xd88050(0x24f)+_0xc170e9+_0xd88050(0x1f1)+_0x1ec7a4+'\x20verify\x20\x22The\x20Billing\x20page\x20is\x20visible\x20and\x20shows\x20the\x20current\x20plan.\x22\x20'+_0xc170e9+_0xd88050(0x1f1)+_0x1ec7a4+'\x20snapshot\x20--output\x20'+quoteShellArg(_0x54df61)+'\x20'+_0xc170e9+'`\x0a-\x20`'+_0x1ec7a4+'\x20screenshot\x20--output\x20'+quoteShellArg(_0x46c5f8)+'\x20'+_0xc170e9+_0xd88050(0x28b);}export function summarizeVerifyFeatureNovaCliCommandAvailability(_0x1adc20){const _0x3f9d25=_0xe620d5,_0x1a5041={'DoeDt':function(_0x1a2a9b,_0x3ebb8f){return _0x1a2a9b===_0x3ebb8f;}},_0x1c862a=[..._0x1adc20['keys']()]['sort']();let _0x35ebac=0x0;for(const _0x1f3448 of _0x1adc20[_0x3f9d25(0x1fc)]()){_0x35ebac+=_0x1f3448;}return{'cliCommandCount':_0x35ebac,'cliCommandsSeen':_0x1c862a,'noCliCommandsCalled':_0x1a5041[_0x3f9d25(0x22d)](_0x35ebac,0x0)};}export function createVerifyFeatureNovaCliHooks(_0x351b77,_0x1772f2){const _0x5cc26=_0xe620d5,_0x8d6602={'MAmHZ':'PreToolUse','LJrrz':function(_0x37d67e,_0x2f1cae){return _0x37d67e(_0x2f1cae);},'dBnNu':_0x5cc26(0x205),'Wqokr':'PostToolUse','oJoUF':function(_0xdbf29b,_0x2a3ca8){return _0xdbf29b(_0x2a3ca8);},'bqxqH':_0x5cc26(0x21e),'FgEil':function(_0x17342b,_0x2eed0c){return _0x17342b!==_0x2eed0c;},'CWFBw':_0x5cc26(0x234)},_0x5ef954=new Map(),_0x12d9cd=async _0x159845=>{const _0x2dc3e9=_0x5cc26;if(_0x159845[_0x2dc3e9(0x280)]!==_0x8d6602[_0x2dc3e9(0x253)])return{};const _0x4592c8=_0x159845;if(_0x4592c8['tool_name']!=='Bash')return{};const _0x59c32e=_0x4592c8[_0x2dc3e9(0x1fe)],_0x2872cb=extractBashCommand(_0x59c32e);if(!_0x2872cb)return{};const _0x4ebf02=_0x8d6602[_0x2dc3e9(0x209)](getNovaActCliCommandBlockReason,_0x2872cb);if(!_0x4ebf02)return{};return{'decision':_0x8d6602['dBnNu'],'reason':_0x4ebf02};},_0x3d52cd=async _0x3e9ec8=>{const _0x15f3d0=_0x5cc26;if(_0x3e9ec8['hook_event_name']!==_0x8d6602[_0x15f3d0(0x24a)])return{};const _0x5d5d25=_0x3e9ec8;if(_0x5d5d25[_0x15f3d0(0x271)]!==_0x15f3d0(0x234))return{};const _0x562b15=_0x5d5d25['tool_input'],_0x4fa16f=_0x8d6602[_0x15f3d0(0x209)](extractBashCommand,_0x562b15);if(!_0x4fa16f)return{};const _0x1a65ae=_0x8d6602['oJoUF'](parseNovaActCliCommand,_0x4fa16f);if(!_0x1a65ae)return{};_0x5ef954['set'](_0x1a65ae,(_0x5ef954['get'](_0x1a65ae)||0x0)+0x1),_0x351b77['trackPhaseStart'](_0x8d6602['bqxqH'],{'subcommand':_0x1a65ae}),_0x351b77[_0x15f3d0(0x1d8)](_0x15f3d0(0x21e),{'subcommand':_0x1a65ae,'commandPreview':previewNovaActCliCommand(_0x4fa16f)}),console['log'](_0x15f3d0(0x1fd)+formatNovaActCliLog(_0x4fa16f,_0x1a65ae));if(_0x1a65ae==='session\x20create'&&_0x1772f2)try{await _0x1772f2[_0x15f3d0(0x1fa)]();}catch(_0x3cdbe4){await _0x351b77[_0x15f3d0(0x245)]('nova_act_artifact_recording',_0x3cdbe4,{'transport':'nova-act-cli'});}return{};},_0x5a5d8b=async _0x54ea89=>{const _0x59c8b6=_0x5cc26;if(_0x8d6602[_0x59c8b6(0x277)](_0x54ea89['hook_event_name'],_0x59c8b6(0x1e4)))return{};const _0x2b0c64=_0x54ea89;if(_0x8d6602['FgEil'](_0x2b0c64[_0x59c8b6(0x271)],_0x8d6602['CWFBw']))return{};return await _0x351b77['trackPhaseError'](_0x59c8b6(0x28f),_0x2b0c64['error'],{'transport':_0x59c8b6(0x279),'toolName':_0x8d6602[_0x59c8b6(0x223)]}),{};};return{'preToolUseHook':_0x12d9cd,'postToolUseHook':_0x3d52cd,'postToolUseFailureHook':_0x5a5d8b,'commandCounts':_0x5ef954};}async function runNovaLifecycleCommand(_0x5adb9c){const _0x1b3841=_0xe620d5,_0xc4b0f9={'Ffsqh':function(_0x356fe6,_0x5ae3af){return _0x356fe6(_0x5ae3af);},'tVUXA':function(_0x2ff149,_0x36f2a9){return _0x2ff149??_0x36f2a9;}},{novaOptions:_0x5ac76e,commandArgs:_0x5eb138,telemetry:_0x360c13,phase:_0x4be70e,metadata:_0x225b5f,timeoutMs:_0x3d99d6}=_0x5adb9c;_0x360c13[_0x1b3841(0x1cd)](_0x4be70e,_0x225b5f);try{const _0x4307a8=await _0xc4b0f9['Ffsqh'](runNovaActCliCommand,{..._0x5ac76e,'commandArgs':_0x5eb138,'cwd':process[_0x1b3841(0x1d6)](),'env':process['env'],'timeoutMs':_0xc4b0f9['tVUXA'](_0x3d99d6,NOVA_ACT_CLI_COMMAND_TIMEOUT_MS)});_0x360c13['trackPhaseEnd'](_0x4be70e,{..._0x225b5f,'subcommand':_0x4307a8['invocation'][_0x1b3841(0x21f)],'commandPreview':previewNovaActCliCommand(_0x4307a8[_0x1b3841(0x281)]['shellCommand']),'stdoutPreview':previewNovaActCliCommand(_0x4307a8['stdout']),'stderrPreview':previewNovaActCliCommand(_0x4307a8['stderr']),'logDir':_0xc4b0f9[_0x1b3841(0x272)](extractNovaActLogDir,_0x4307a8['stdout'])});}catch(_0x55162b){await _0x360c13[_0x1b3841(0x245)](_0x4be70e,_0x55162b,_0x225b5f);throw _0x55162b;}}export async function finalizeVerifyFeatureNovaCliSession(_0x1795b5){const _0x3754dd=_0xe620d5,_0x51a543={'TOpBx':_0x3754dd(0x22e),'hwQKd':_0x3754dd(0x226),'jGVuF':'nova_act_final_snapshot','wtlkP':_0x3754dd(0x229),'pBlkh':_0x3754dd(0x233),'NKgRT':_0x3754dd(0x27f),'ozwKB':_0x3754dd(0x264),'jcZZs':_0x3754dd(0x23a),'zuqKZ':'nova_act_session_report','PpGab':_0x3754dd(0x27e),'DzQZf':function(_0x4e781e,_0x28f3e9,_0x1d12d4){return _0x4e781e(_0x28f3e9,_0x1d12d4);},'iTwcQ':_0x3754dd(0x1ed),'hhuxC':'nova_act_session_close','hHgct':_0x3754dd(0x284),'KzXHI':function(_0x46b9e5,_0x2ef6fa){return _0x46b9e5(_0x2ef6fa);}},{telemetry:_0x14834d,novaOptions:_0x49554e,cliArtifactDir:_0xb1026d,transportMetadata:_0x34979d,artifactRecorder:_0x1e4ffa}=_0x1795b5,_0x5e2a7f=[{'phase':_0x51a543[_0x3754dd(0x211)],'commandArgs':['screenshot',_0x3754dd(0x233),buildCliArtifactPath(_0xb1026d,_0x51a543[_0x3754dd(0x275)])]},{'phase':_0x51a543['jGVuF'],'commandArgs':[_0x51a543[_0x3754dd(0x27d)],_0x51a543[_0x3754dd(0x2a1)],buildCliArtifactPath(_0xb1026d,_0x3754dd(0x1ff))]},{'phase':_0x3754dd(0x1da),'commandArgs':[_0x3754dd(0x20d),'export',_0x51a543[_0x3754dd(0x1dc)],_0x51a543[_0x3754dd(0x25c)],_0x3754dd(0x233),buildCliArtifactPath(_0xb1026d,_0x51a543['jcZZs'])]},{'phase':_0x51a543[_0x3754dd(0x1ce)],'commandArgs':['session',_0x3754dd(0x291),_0x51a543[_0x3754dd(0x278)],_0x3754dd(0x1de),_0x51a543[_0x3754dd(0x1d5)](buildCliArtifactPath,_0xb1026d,_0x51a543[_0x3754dd(0x1ea)])]},{'phase':_0x51a543[_0x3754dd(0x1f8)],'commandArgs':['session',_0x51a543['hHgct']]}];for(const _0x3b5344 of _0x5e2a7f){_0x3b5344[_0x3754dd(0x252)]===_0x51a543[_0x3754dd(0x1f8)]&&await _0x1e4ffa?.[_0x3754dd(0x243)]();try{await _0x51a543[_0x3754dd(0x1e1)](runNovaLifecycleCommand,{'novaOptions':_0x49554e,'commandArgs':[..._0x3b5344[_0x3754dd(0x225)]],'telemetry':_0x14834d,'phase':_0x3b5344[_0x3754dd(0x252)],'metadata':_0x34979d});}catch{}}}export async function harvestVerifyFeatureNovaCliArtifacts(_0x5316ac){const _0x348f56=_0xe620d5,_0x551fcb={'yZZnf':function(_0x329ee5,_0xb033bc,_0x151105){return _0x329ee5(_0xb033bc,_0x151105);},'qkQJD':function(_0xfab531,_0x9dcdc1){return _0xfab531<_0x9dcdc1;},'MIUFS':function(_0x16f952,_0x14fbbb,_0x1515df){return _0x16f952(_0x14fbbb,_0x1515df);}},{cwd:_0x2996a0,cliArtifactDir:_0x287b2a,startTime:_0x4e30ed}=_0x5316ac,_0x549a1f=[];await _0x551fcb[_0x348f56(0x257)](mkdir,_0x287b2a,{'recursive':!![]});const _0x2084a6=await _0x551fcb[_0x348f56(0x257)](readdir,_0x2996a0,{'withFileTypes':!![]});for(const _0x41c45c of _0x2084a6){if(!_0x41c45c[_0x348f56(0x1e0)]()||!VERIFY_FEATURE_NOVA_ARTIFACT_FILE_PATTERN[_0x348f56(0x262)](_0x41c45c[_0x348f56(0x1d9)]))continue;const _0x2210e6=join(_0x2996a0,_0x41c45c[_0x348f56(0x1d9)]),_0x5e4d31=await stat(_0x2210e6);if(_0x551fcb['qkQJD'](_0x5e4d31['mtimeMs']+0x7d0,_0x4e30ed))continue;const _0x5907fd=buildCliArtifactPath(_0x287b2a,_0x41c45c[_0x348f56(0x1d9)]);if(_0x2210e6===_0x5907fd)continue;await _0x551fcb[_0x348f56(0x1e8)](rename,_0x2210e6,_0x5907fd),_0x549a1f[_0x348f56(0x263)](_0x41c45c[_0x348f56(0x1d9)]);}return _0x549a1f['sort']();}function _0x50f2(_0x488d86,_0xb9a6f3){_0x488d86=_0x488d86-0x1c8;const _0x594792=_0x5947();let _0x50f2a0=_0x594792[_0x488d86];return _0x50f2a0;}export async function loadVerifyFeatureNovaTraceUploadArtifact(_0x49c66e){const _0x7271d0=_0xe620d5,_0x408646={'EYjLE':function(_0x469814,_0x4808c9,_0x729b89){return _0x469814(_0x4808c9,_0x729b89);},'folpE':function(_0x4ea304,_0x5639d3){return _0x4ea304(_0x5639d3);}},_0x23d2ef=_0x408646['EYjLE'](join,_0x49c66e,'trace.zip');try{return{'buffer':await _0x408646[_0x7271d0(0x28e)](readFile,_0x23d2ef),'source':_0x23d2ef};}catch{return{'buffer':await zipVerifyFeatureNovaArtifacts(_0x49c66e),'source':_0x49c66e};}}async function zipVerifyFeatureNovaArtifacts(_0x39b72b){const _0x5ca638=_0xe620d5,_0x5bcc63={'dZFve':function(_0x489727,_0x512a9b,_0x53eef2,_0x47cbcd){return _0x489727(_0x512a9b,_0x53eef2,_0x47cbcd);},'sUNrD':'zip','BwPzZ':_0x5ca638(0x297),'vnzYY':_0x5ca638(0x22f)},_0x44840a=join(_0x39b72b,'..','nova-artifacts.zip');try{return await _0x5bcc63['dZFve'](execFileAsync,_0x5bcc63['sUNrD'],[_0x5bcc63['BwPzZ'],_0x44840a,'.','-x',_0x5bcc63[_0x5ca638(0x24b)]],{'cwd':_0x39b72b}),await readFile(_0x44840a);}finally{await rm(_0x44840a,{'force':!![]});}}export function buildNovaActCliDiagnostics(_0x1e3bb8){const _0x3da896=_0xe620d5,_0x14a6f9={'EAHyR':function(_0x167027,_0x35d823,_0x23e4b6){return _0x167027(_0x35d823,_0x23e4b6);}},_0xe5de56=_0x14a6f9[_0x3da896(0x220)](buildNovaActCliInvocation,_0x1e3bb8['novaOptions'],_0x1e3bb8['commandArgs']);return{'command':_0xe5de56[_0x3da896(0x235)],'args':_0xe5de56[_0x3da896(0x1ca)],'commandPreview':previewNovaActCliCommand(_0xe5de56[_0x3da896(0x1e7)]),'subcommand':_0xe5de56[_0x3da896(0x21f)],'sharedOptionsSuffix':_0x14a6f9['EAHyR'](buildNovaActCliSharedOptionsSuffix,_0x1e3bb8['novaOptions'],_0x1e3bb8['commandArgs'])};}
@@ -1 +1 @@
1
- (function(_0x55fc2c,_0x302607){const _0x276308=_0x5100,_0x32af52=_0x55fc2c();while(!![]){try{const _0x2529ab=-parseInt(_0x276308(0x151))/0x1+parseInt(_0x276308(0x175))/0x2*(-parseInt(_0x276308(0x191))/0x3)+parseInt(_0x276308(0x172))/0x4*(parseInt(_0x276308(0x143))/0x5)+parseInt(_0x276308(0x165))/0x6*(-parseInt(_0x276308(0x145))/0x7)+-parseInt(_0x276308(0x18f))/0x8+parseInt(_0x276308(0x169))/0x9+-parseInt(_0x276308(0x14c))/0xa*(-parseInt(_0x276308(0x15c))/0xb);if(_0x2529ab===_0x302607)break;else _0x32af52['push'](_0x32af52['shift']());}catch(_0x2e7fbe){_0x32af52['push'](_0x32af52['shift']());}}}(_0x5e1b,0x9c280));import{extractBashCommand,quoteShellArg}from'./utils/playwrightCli.js';import{parseRangerwrightCliCommand,runRangerwrightCliCommand}from'./utils/rangerwrightCli.js';const RANGERWRIGHT_CLI_COMMAND_TIMEOUT_MS=0xea60,RANGERWRIGHT_CLI_PREVIEW_LIMIT=0xf0;function truncatePreview(_0x234c8c,_0x205ec5=RANGERWRIGHT_CLI_PREVIEW_LIMIT){const _0x4aef8e=_0x5100,_0x56c328={'uROME':function(_0xb4db11,_0x1d54eb){return _0xb4db11>_0x1d54eb;}};return _0x56c328[_0x4aef8e(0x14e)](_0x234c8c[_0x4aef8e(0x168)],_0x205ec5)?_0x234c8c[_0x4aef8e(0x144)](0x0,_0x205ec5)+_0x4aef8e(0x16e):_0x234c8c;}function _0x5100(_0x3fa1c4,_0x55c749){_0x3fa1c4=_0x3fa1c4-0x13f;const _0x5e1b60=_0x5e1b();let _0x5100f0=_0x5e1b60[_0x3fa1c4];return _0x5100f0;}function extractShellValue(_0x5ddfb8){if(!_0x5ddfb8)return null;return _0x5ddfb8[0x1]??_0x5ddfb8[0x2]??_0x5ddfb8[0x3]??null;}function extractFirstCommandArgument(_0x58fa93,_0x306528){const _0x14df01=_0x5100,_0x3a2d6a={'BgpxN':function(_0x466f04,_0x44e9d9){return _0x466f04(_0x44e9d9);}},_0x54bb01=_0x306528[_0x14df01(0x166)](/[.*+?^${}()|[\]\\]/g,_0x14df01(0x149));return _0x3a2d6a[_0x14df01(0x159)](extractShellValue,_0x58fa93['match'](new RegExp(_0x14df01(0x15d)+_0x54bb01+_0x14df01(0x146))));}function formatCommandTarget(_0x5289dd){const _0x58dc92=_0x5100,_0x1a43af={'CfTFg':'target','HLJWY':function(_0x3ffda8,_0x4cecd4,_0x8aa305){return _0x3ffda8(_0x4cecd4,_0x8aa305);}};if(!_0x5289dd)return _0x1a43af[_0x58dc92(0x194)];if(/^e\d+$/i[_0x58dc92(0x141)](_0x5289dd))return'ref\x20'+_0x5289dd;return JSON[_0x58dc92(0x158)](_0x1a43af[_0x58dc92(0x154)](truncatePreview,_0x5289dd,0x78));}function _0x5e1b(){const _0x1ae4dc=['tool_name','domRef','\x0a\x0a##\x20Authentication\x0aBEFORE\x20starting\x20the\x20verification\x20task,\x20authenticate\x20using\x20these\x20steps:\x0a','6342AWQFyP','replace','content','length','4881474ErXVsd','unaddressedComments','keys','tool_input','notes','...','stop\x20video\x20recording','cwd','eVEvz','148CEBlRd','element','stdout','5326diqLoL','authorName','You\x20are\x20testing\x20browser\x20automation.\x20Your\x20task\x20is\x20simple:\x0a\x0aUse\x20Bash\x20and\x20Rangerwright\x20only.\x20Every\x20browser\x20command\x20must\x20start\x20with\x20this\x20exact\x20literal\x20command\x20prefix:\x0a\x0a','commandPrefix','trackPhaseStart','01_initial-state.png','\x0a\x0aPrefer\x20open-and-inspect\x20and\x20click-and-inspect\x20when\x20you\x20need\x20a\x20fresh\x20snapshot\x20plus\x20evidence.\x0a\x0aUse\x20back-and-inspect\x20to\x20return\x20to\x20the\x20previous\x20page\x20after\x20checking\x20a\x20detail\x20page.\x20Refresh\x20refs\x20after\x20going\x20back.\x0a\x0aEach\x20command\x20returns\x20JSON\x20with\x20success,\x20data,\x20and\x20error\x20fields.\x0a\x0aUse\x20data.title,\x20data.headings,\x20data.pageText,\x20and\x20data.snapshotText\x20together.\x20snapshotText\x20is\x20best\x20for\x20refs\x20and\x20controls;\x20pageText\x20is\x20valid\x20visible\x20evidence\x20for\x20page\x20content.\x0a\x0aDo\x20not\x20verify\x20from\x20a\x20broad\x20landing,\x20index,\x20category,\x20search,\x20or\x20navigation\x20page\x20when\x20the\x20task\x20asks\x20for\x20a\x20specific\x20page,\x20topic,\x20item,\x20or\x20action.\x20Click\x20and\x20inspect\x20the\x20most\x20specific\x20visible\x20target\x20first;\x20if\x20no\x20specific\x20target\x20exists,\x20report\x20the\x20missing\x20target.\x0a\x0aSave\x20screenshots\x20by\x20using\x20--screenshot-path\x20on\x20inspect\x20commands.\x20Relative\x20screenshot\x20paths\x20are\x20saved\x20under\x20the\x20run\x20artifact\x20directory.\x20Do\x20not\x20call\x20screenshot\x20--path.\x0a\x0aExample:\x0a\x0a','stop\x20tracing','click\x20and\x20inspect\x20','\x20click-and-inspect\x20e37\x20--screenshot-path\x20','pop','\x20open-and-inspect\x20','\x0a\x0a##\x20Task\x20to\x20Execute\x0a','KIefG','rangerwright_cli_command','close\x20browser\x20session','CRITICAL\x20URL\x20REQUIREMENT:\x0aYour\x20base\x20URL\x20is:\x20','lxqZn','\x0a-\x20You\x20may\x20ONLY\x20navigate\x20to\x20paths\x20under\x20this\x20base\x20URL.\x0a-\x20DO\x20NOT\x20navigate\x20to\x20any\x20different\x20domain,\x20host,\x20or\x20port.\x0a-\x20If\x20documentation\x20or\x20code\x20diffs\x20suggest\x20a\x20path\x20exists,\x20navigate\x20to\x20it\x20only\x20under\x20this\x20base\x20URL.','.\x0aThe\x20app\x20is\x20already\x20running\x20and\x20connected.\x20Start\x20with\x20inspect\x20instead\x20of\x20opening\x20a\x20URL.','iYrja','description','get','trackPhaseError','hook_event_name','neaYt','1054280LXuMDl','stderr','72xPstTK','short','key_99_final-state.png','CfTFg','about:blank','split','numeric','trackPhaseEnd','invocation','test','SIImE','54170lourwG','slice','3395leLxHT','(?:\x5cs+(?:\x22([^\x22]+)\x22|\x27([^\x27]+)\x27|(\x5cS+)))','PfMHL','en-US','\x5c$&','inspect\x20page','rangerwright_cli_tracing_stop','4640010iVeKGV','You\x20are\x20a\x20Feature\x20Review\x20Verifier.\x20Your\x20job\x20is\x20to\x20verify\x20a\x20scenario\x20by\x20executing\x20a\x20UI\x20flow\x20and\x20evaluating\x20whether\x20it\x20adequately\x20completes\x20the\x20scenario.\x0a\x0a##\x20Scenario\x20to\x20Verify\x0a','uROME','hIdUB','\x20>\x20','59287KYnUsr','\x20--screenshot-path\x20','\x0a\x0aDo\x20not\x20define\x20an\x20RW\x20variable.\x20Do\x20not\x20use\x20node_modules/.bin/rangerwright,\x20npx,\x20npm,\x20cd,\x20find,\x20grep,\x20or\x20search\x20for\x20the\x20binary.\x0a\x0a1.\x20Run\x20`','HLJWY','\x20(on\x20element:\x20<','>\x20\x22','rangerwright_cli_command_failure','stringify','BgpxN','rangerwright_cli_close','rangerwright_cli_video_stop','11LadvSJ','(?:^|\x5cs)','values','Bash','canonicalFlow','wWTFz'];_0x5e1b=function(){return _0x1ae4dc;};return _0x5e1b();}function formatRangerwrightCliLog(_0x493fd1,_0x389129){const _0x4e84af=_0x5100,_0x51c3c0={'BiqTJ':'open\x20and\x20inspect','PfMHL':'click-and-inspect','wWTFz':'fill','KIefG':'fill-and-inspect','BMjzd':function(_0x3c52a5,_0x2bdeac){return _0x3c52a5(_0x2bdeac);},'HOQbP':_0x4e84af(0x14a),'ysUCD':_0x4e84af(0x184)};switch(_0x389129){case'open-and-inspect':{const _0x32245a=extractFirstCommandArgument(_0x493fd1,_0x389129);return _0x32245a?'open\x20and\x20inspect\x20'+_0x32245a:_0x51c3c0['BiqTJ'];}case _0x51c3c0[_0x4e84af(0x147)]:return _0x4e84af(0x17d)+formatCommandTarget(extractFirstCommandArgument(_0x493fd1,_0x389129));case _0x51c3c0[_0x4e84af(0x161)]:case _0x51c3c0[_0x4e84af(0x182)]:return'fill\x20'+_0x51c3c0['BMjzd'](formatCommandTarget,extractFirstCommandArgument(_0x493fd1,_0x389129));case'back-and-inspect':return'go\x20back\x20and\x20inspect';case'inspect':return _0x51c3c0['HOQbP'];case'tracing-stop':return _0x4e84af(0x17c);case'video-stop':return _0x4e84af(0x16f);case'close':return _0x51c3c0['ysUCD'];default:return _0x389129;}}function renderScenarioSections(_0x16a6bf){const _0x2d578a=_0x5100,_0x292e1b={'SIImE':_0x2d578a(0x192),'neaYt':_0x2d578a(0x197),'lxqZn':'Reviewer','iYrja':_0x2d578a(0x173)},{checklistItem:_0x20f351,itemFeedback:_0x3df00d}=_0x16a6bf,_0x573a94=_0x20f351['notes']?'\x0a\x0a##\x20Additional\x20Notes\x0a'+_0x20f351[_0x2d578a(0x16d)]:'';let _0x14151b='';if(_0x3df00d&&_0x3df00d['unaddressedComments']['length']>0x0){const _0x2ef08f=_0x3df00d[_0x2d578a(0x16a)]['map'](_0x59e359=>{const _0x433f21=_0x2d578a,_0x476a6c=new Date(_0x59e359['createdAt'])['toLocaleDateString'](_0x433f21(0x148),{'month':_0x292e1b[_0x433f21(0x142)],'day':_0x292e1b[_0x433f21(0x18e)]}),_0x39dc7c=_0x59e359[_0x433f21(0x176)]||_0x59e359['authorEmail']||_0x292e1b[_0x433f21(0x186)],_0x4682a5=_0x59e359['domRef']?_0x433f21(0x155)+(_0x59e359[_0x433f21(0x163)]['selector'][_0x433f21(0x196)](_0x433f21(0x150))[_0x433f21(0x17f)]()?.['split'](':')[0x0]||_0x292e1b[_0x433f21(0x189)])+_0x433f21(0x156)+(_0x59e359['domRef']['textContent']||'')['slice'](0x0,0x32)+'\x22)':'';return'-\x20['+_0x59e359['id']+']\x20'+_0x39dc7c+'\x20('+_0x476a6c+'):\x20\x22'+_0x59e359[_0x433f21(0x167)]+'\x22'+_0x4682a5;})['join']('\x0a');_0x14151b='\x0a\x0a##\x20Reviewer\x20Feedback\x20to\x20Address\x0aThe\x20following\x20reviewer\x20comments\x20were\x20left\x20on\x20the\x20previous\x20version\x20of\x20this\x20item.\x0aVerify\x20that\x20each\x20concern\x20has\x20been\x20addressed\x20in\x20the\x20current\x20implementation.\x0aFor\x20each\x20comment\x20you\x20believe\x20has\x20been\x20addressed,\x20include\x20its\x20ID\x20in\x20addressedCommentIds.\x0a\x0a'+_0x2ef08f;}const _0xed9833=_0x3df00d?.[_0x2d578a(0x160)]?'\x0a\x0a##\x20Expected\x20Flow\x20(from\x20previous\x20verification)\x0a'+_0x3df00d[_0x2d578a(0x160)]:'';return''+_0x20f351[_0x2d578a(0x18a)]+_0x573a94+_0x14151b+_0xed9833;}export function buildVerifyFeatureRangerwrightCliPrompt(_0x2d2a8e){const _0x48e68f=_0x5100,_0x25eb89={'TyegK':_0x48e68f(0x193),'RvTcz':function(_0x380397,_0x1ae0fd){return _0x380397(_0x1ae0fd);}},{checklistItem:_0x2d3b50,itemFeedback:_0x5acc9e,taskDescription:_0x1efcd3,commandPrefix:_0x2adef5,isCdpMode:_0x27b5d1,url:_0x177ff0,cdpEndpoint:_0x229701,loginInstructions:_0x101d1d}=_0x2d2a8e,_0x3d9fc1=_0x48e68f(0x17a),_0x9141ff=_0x25eb89['TyegK'],_0x2c15da=_0x27b5d1?_0x2adef5+'\x20inspect\x20--screenshot-path\x20'+quoteShellArg(_0x3d9fc1):_0x2adef5+'\x20open-and-inspect\x20'+quoteShellArg(_0x177ff0??_0x48e68f(0x195))+'\x20--screenshot-path\x20'+quoteShellArg(_0x3d9fc1),_0x3c49b2=_0x27b5d1?'##\x20App\x20Context\x0aYou\x20are\x20connected\x20to\x20a\x20desktop\x20application\x20via\x20CDP\x20at\x20'+_0x229701+_0x48e68f(0x188):_0x48e68f(0x185)+_0x177ff0+_0x48e68f(0x187),_0x45e127=_0x101d1d?_0x48e68f(0x164)+_0x101d1d+'\x0a\x0aAfter\x20completing\x20authentication,\x20proceed\x20with\x20the\x20verification\x20task\x20below.\x0aIf\x20authentication\x20fails,\x20return\x20evaluation\x20\x22blocked\x22\x20and\x20describe\x20the\x20auth\x20failure.':'';return _0x48e68f(0x14d)+_0x25eb89['RvTcz'](renderScenarioSections,{'checklistItem':_0x2d3b50,'itemFeedback':_0x5acc9e})+_0x48e68f(0x181)+_0x1efcd3+'\x0a\x0a'+_0x3c49b2+_0x45e127+'\x0a\x0a##\x20Rangerwright\x20Instructions\x0aUse\x20Bash\x20and\x20Rangerwright\x20only.\x0a\x0aEvery\x20browser\x20command\x20must\x20start\x20with\x20this\x20exact\x20literal\x20command\x20prefix:\x0a\x0a'+_0x2adef5+'\x0a\x0aDo\x20not\x20define\x20an\x20RW\x20variable.\x20Do\x20not\x20use\x20node_modules/.bin/rangerwright,\x20npx,\x20npm,\x20cd,\x20find,\x20grep,\x20or\x20search\x20for\x20the\x20binary.\x20Browser\x20Trek\x20only\x20counts\x20literal\x20Rangerwright\x20command\x20invocations.\x0a\x0aTreat\x20the\x20command\x20prefix\x20as\x20immutable.\x20Copy\x20it\x20exactly,\x20then\x20append\x20one\x20supported\x20Rangerwright\x20subcommand\x20and\x20its\x20arguments.\x20If\x20a\x20browser\x20command\x20fails\x20because\x20the\x20binary\x20path\x20is\x20missing\x20or\x20the\x20command\x20syntax\x20is\x20malformed,\x20retry\x20once\x20with\x20the\x20exact\x20prefix\x20from\x20this\x20prompt\x20before\x20deciding\x20the\x20task\x20is\x20blocked.\x0a\x0aFirst\x20command:\x0a\x0a'+_0x2c15da+_0x48e68f(0x17b)+_0x2adef5+_0x48e68f(0x17e)+quoteShellArg(_0x9141ff)+'\x0a\x0aRefs\x20like\x20e37\x20are\x20only\x20valid\x20for\x20the\x20snapshot\x20that\x20produced\x20them.\x20Refresh\x20refs\x20after\x20navigation.\x0a\x0aUse\x20short\x20concrete\x20checkpoints\x20internally:\x20what\x20target\x20is\x20visible,\x20what\x20command\x20changes\x20state,\x20and\x20what\x20evidence\x20is\x20still\x20missing.\x20Issue\x20one\x20browser\x20command\x20at\x20a\x20time.\x20After\x20navigation,\x20validation,\x20or\x20a\x20changed\x20page,\x20inspect\x20before\x20deciding\x20the\x20next\x20action.\x0a\x0aBefore\x20reporting\x20success,\x20compare\x20each\x20required\x20CTA,\x20page\x20purpose,\x20and\x20topic\x20against\x20visible\x20page\x20evidence.\x20A\x20related\x20page\x20does\x20not\x20satisfy\x20a\x20different\x20required\x20topic\x20unless\x20the\x20page\x20text\x20directly\x20supports\x20that\x20topic\x20or\x20an\x20obvious\x20synonym.\x20If\x20required\x20evidence\x20is\x20missing,\x20mismatched,\x20or\x20only\x20inferred\x20from\x20adjacent\x20content,\x20report\x20that\x20plainly\x20and\x20do\x20not\x20mark\x20the\x20task\x20verified.\x0a\x0aFor\x20goals\x20with\x20more\x20than\x20one\x20required\x20condition,\x20use\x20an\x20internal\x20checklist\x20built\x20from\x20the\x20user\x27s\x20exact\x20requested\x20conditions.\x20Verify\x20each\x20checklist\x20item\x20against\x20visible\x20evidence\x20from\x20the\x20latest\x20browser\x20result.\x20If\x20any\x20item\x20lacks\x20direct\x20evidence,\x20report\x20the\x20task\x20as\x20not\x20verified\x20and\x20name\x20the\x20missing\x20item.\x0a\x0aOn\x20forms,\x20fill\x20only\x20visible\x20task-relevant\x20editable\x20fields\x20in\x20the\x20current\x20step\x20before\x20submitting\x20or\x20advancing.\x20Use\x20labels,\x20placeholders,\x20and\x20current\x20page\x20text\x20to\x20decide\x20which\x20fields\x20are\x20required.\x20Do\x20not\x20fill\x20fields\x20that\x20are\x20not\x20visible\x20in\x20the\x20latest\x20snapshot.\x0a\x0aUse\x20one\x20fill\x20command\x20per\x20field.\x20Do\x20not\x20combine\x20multiple\x20fields\x20into\x20one\x20fill\x20command\x20with\x20semicolons.\x0a\x0aIf\x20an\x20inspect-action\x20click\x20returns\x20the\x20same\x20page\x20or\x20shows\x20validation,\x20inspect\x20the\x20current\x20page\x20and\x20fill\x20blank\x20required\x20fields\x20before\x20retrying.\x20Do\x20not\x20repeat\x20the\x20same\x20blocked\x20click\x20unchanged.\x0a\x0aIf\x20a\x20click-and-inspect\x20result\x20keeps\x20the\x20same\x20URL\x20and\x20does\x20not\x20show\x20the\x20intended\x20target,\x20treat\x20it\x20as\x20a\x20no-op.\x20Refresh\x20refs\x20and\x20choose\x20a\x20different\x20visible\x20link,\x20or\x20use\x20back-and-inspect\x20if\x20you\x20need\x20the\x20prior\x20page.\x0a\x0aA\x20page\x20with\x20visible\x20required\x20fields\x20and\x20a\x20next,\x20submit,\x20continue,\x20or\x20confirm\x20control\x20is\x20still\x20actionable.\x20Fill\x20the\x20required\x20fields\x20with\x20values\x20from\x20the\x20task\x20before\x20reporting\x20incomplete\x20or\x20blocked.\x0a\x0a##\x20Critical:\x20Early\x20Error\x20Detection\x0aAfter\x20the\x20first\x20inspect\x20result,\x20check\x20for\x20blocking\x20errors:\x0a-\x20HTTP\x20404,\x20500,\x20400,\x20\x22Not\x20Found\x22,\x20\x22Server\x20Error\x22,\x20or\x20\x22Bad\x20Request\x22\x0a-\x20Framework\x20error\x20pages\x0a-\x20Blank\x20pages\x20with\x20no\x20content\x0a-\x20App\x20crash\x20or\x20error\x20dialogs\x0a\x0aIf\x20any\x20blocking\x20error\x20is\x20visible,\x20return\x20evaluation\x20\x22blocked\x22\x20immediately\x20with\x20a\x20specific\x20reason.\x0a\x0a##\x20Evaluation\x20Criteria\x0a-\x20VERIFIED:\x20The\x20task\x20completed\x20successfully\x20and\x20the\x20scenario\x20requirements\x20are\x20fully\x20met\x0a-\x20PARTIAL:\x20The\x20task\x20partially\x20completed\x20but\x20some\x20aspects\x20are\x20not\x20verified\x0a-\x20BLOCKED:\x20A\x20blocking\x20issue\x20prevents\x20completion\x0a-\x20FAILED:\x20The\x20task\x20could\x20not\x20be\x20completed\x20due\x20to\x20errors\x0a\x0aReturn\x20your\x20findings\x20in\x20the\x20structured\x20output\x20format\x20with\x20your\x20evaluation.';}export function buildVerifyFeatureRangerwrightCliDebugPrompt(_0x422450){const _0x2ed2ef=_0x5100,_0x563b71={'MpYjP':'key_02_learn-more.png','eVEvz':function(_0x502cf9,_0x316aa6){return _0x502cf9(_0x316aa6);}},_0x3a53a4='01_mozilla-homepage.png',_0x5dfdbc=_0x563b71['MpYjP'];return _0x2ed2ef(0x177)+_0x422450[_0x2ed2ef(0x178)]+_0x2ed2ef(0x153)+_0x422450[_0x2ed2ef(0x178)]+_0x2ed2ef(0x180)+_0x563b71[_0x2ed2ef(0x171)](quoteShellArg,_0x422450['url'])+_0x2ed2ef(0x152)+_0x563b71[_0x2ed2ef(0x171)](quoteShellArg,_0x3a53a4)+'`\x0a2.\x20Use\x20the\x20returned\x20JSON\x20to\x20find\x20the\x20\x22Learn\x20More\x22\x20link\x20ref.\x0a3.\x20Run\x20`'+_0x422450[_0x2ed2ef(0x178)]+'\x20click-and-inspect\x20<ref>\x20--screenshot-path\x20'+quoteShellArg(_0x5dfdbc)+'`\x0a4.\x20Return\x20immediately\x20with\x20the\x20structured\x20output.\x0a\x0aReturn\x20your\x20findings\x20in\x20the\x20structured\x20output\x20format.';}export function summarizeVerifyFeatureRangerwrightCliCommandAvailability(_0x2e8a12){const _0x1493bc=_0x5100,_0x4e20d9=[..._0x2e8a12[_0x1493bc(0x16b)]()]['sort']();let _0x593825=0x0;for(const _0x222db1 of _0x2e8a12[_0x1493bc(0x15e)]()){_0x593825+=_0x222db1;}return{'cliCommandCount':_0x593825,'cliCommandsSeen':_0x4e20d9,'noCliCommandsCalled':_0x593825===0x0};}export function createVerifyFeatureRangerwrightCliHooks(_0x58d4c6){const _0x477acb={'Aypwu':function(_0x2a6478,_0x28d720){return _0x2a6478!==_0x28d720;},'SkvPF':function(_0x38f83e,_0x383aee){return _0x38f83e(_0x383aee);},'WVTgN':function(_0x3c7a43,_0x318f3f,_0x44a493){return _0x3c7a43(_0x318f3f,_0x44a493);},'TLCuk':'Bash'},_0x2e3787=new Map(),_0x3deb79=async _0x5a33bb=>{const _0x5d1317=_0x5100;if(_0x5a33bb['hook_event_name']!=='PostToolUse')return{};const _0x161198=_0x5a33bb;if(_0x477acb['Aypwu'](_0x161198[_0x5d1317(0x162)],_0x5d1317(0x15f)))return{};const _0x4ef58=_0x161198[_0x5d1317(0x16c)],_0x3d82a8=extractBashCommand(_0x4ef58);if(!_0x3d82a8)return{};const _0x21cca2=parseRangerwrightCliCommand(_0x3d82a8);if(!_0x21cca2)return{};return _0x2e3787['set'](_0x21cca2,(_0x2e3787[_0x5d1317(0x18b)](_0x21cca2)||0x0)+0x1),_0x58d4c6[_0x5d1317(0x179)]('rangerwright_cli_command',{'subcommand':_0x21cca2}),_0x58d4c6['trackPhaseEnd'](_0x5d1317(0x183),{'subcommand':_0x21cca2,'commandPreview':_0x477acb['SkvPF'](truncatePreview,_0x3d82a8)}),console['log']('[rangerwright-cli]\x20'+_0x477acb['WVTgN'](formatRangerwrightCliLog,_0x3d82a8,_0x21cca2)),{};},_0x28f3b0=async _0x1e5646=>{const _0x56e21a=_0x5100;if(_0x477acb['Aypwu'](_0x1e5646[_0x56e21a(0x18d)],'PostToolUseFailure'))return{};const _0x2e459c=_0x1e5646;if(_0x2e459c[_0x56e21a(0x162)]!==_0x477acb['TLCuk'])return{};return await _0x58d4c6[_0x56e21a(0x18c)](_0x56e21a(0x157),_0x2e459c['error'],{'transport':'rangerwright-cli','toolName':_0x56e21a(0x15f)}),{};};return{'postToolUseHook':_0x3deb79,'postToolUseFailureHook':_0x28f3b0,'commandCounts':_0x2e3787};}async function runRangerwrightLifecycleCommand(_0x45637c){const _0xd90303=_0x5100,_0xdaf67f={'BbAVj':function(_0x30f24f,_0x239a3f,_0x48766a){return _0x30f24f(_0x239a3f,_0x48766a);}},{options:_0x3d38b1,commandArgs:_0x2970b7,env:_0x53d71f,telemetry:_0x5481d7,phase:_0x8551d2,metadata:_0x42f07f,timeoutMs:_0x3f71f6}=_0x45637c;_0x5481d7['trackPhaseStart'](_0x8551d2,_0x42f07f);try{const _0x539b55=await runRangerwrightCliCommand({..._0x3d38b1,'commandArgs':_0x2970b7,'cwd':process[_0xd90303(0x170)](),'env':_0x53d71f,'timeoutMs':_0x3f71f6??RANGERWRIGHT_CLI_COMMAND_TIMEOUT_MS});_0x5481d7[_0xd90303(0x13f)](_0x8551d2,{..._0x42f07f,'subcommand':_0x539b55[_0xd90303(0x140)]['subcommand'],'stdoutPreview':truncatePreview(_0x539b55[_0xd90303(0x174)],0x7d0),'stderrPreview':_0xdaf67f['BbAVj'](truncatePreview,_0x539b55[_0xd90303(0x190)],0x7d0)});}catch(_0x54c83d){await _0x5481d7['trackPhaseError'](_0x8551d2,_0x54c83d,_0x42f07f);throw _0x54c83d;}}export async function finalizeVerifyFeatureRangerwrightCliSession(_0x5aef57){const _0x2e8f76=_0x5100,_0x401b92={'hIdUB':_0x2e8f76(0x14b),'TLRAX':_0x2e8f76(0x15b),'HbRHP':'video-stop'},{telemetry:_0x599cbb,rangerwrightOptions:_0x13980b,env:_0x46713e,transportMetadata:_0x12ceed}=_0x5aef57,_0x4a6e7f=[{'phase':_0x401b92[_0x2e8f76(0x14f)],'commandArgs':['tracing-stop']},{'phase':_0x401b92['TLRAX'],'commandArgs':[_0x401b92['HbRHP']]},{'phase':_0x2e8f76(0x15a),'commandArgs':['close']}];for(const _0x45a372 of _0x4a6e7f){try{await runRangerwrightLifecycleCommand({'options':_0x13980b,'commandArgs':[..._0x45a372['commandArgs']],'env':_0x46713e,'telemetry':_0x599cbb,'phase':_0x45a372['phase'],'metadata':_0x12ceed});}catch{}}}
1
+ (function(_0x2b7448,_0xa53566){const _0x368bc7=_0x1673,_0xf8fa2e=_0x2b7448();while(!![]){try{const _0x56b14c=-parseInt(_0x368bc7(0x14d))/0x1*(parseInt(_0x368bc7(0xff))/0x2)+-parseInt(_0x368bc7(0x14a))/0x3*(-parseInt(_0x368bc7(0x13f))/0x4)+parseInt(_0x368bc7(0x12d))/0x5*(-parseInt(_0x368bc7(0x114))/0x6)+parseInt(_0x368bc7(0xf4))/0x7+-parseInt(_0x368bc7(0x11d))/0x8*(-parseInt(_0x368bc7(0xf8))/0x9)+-parseInt(_0x368bc7(0x14f))/0xa*(-parseInt(_0x368bc7(0x110))/0xb)+-parseInt(_0x368bc7(0x13d))/0xc;if(_0x56b14c===_0xa53566)break;else _0xf8fa2e['push'](_0xf8fa2e['shift']());}catch(_0x42d4aa){_0xf8fa2e['push'](_0xf8fa2e['shift']());}}}(_0x35b8,0x419bf));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(_0x224b41,_0x43a87c=RANGERWRIGHT_CLI_PREVIEW_LIMIT){const _0x32e962=_0x1673,_0x7dd7c7={'vrFyT':function(_0x50e308,_0x4ba412){return _0x50e308+_0x4ba412;},'yjCkJ':'...'};return _0x224b41[_0x32e962(0x100)]>_0x43a87c?_0x7dd7c7[_0x32e962(0xf3)](_0x224b41[_0x32e962(0xf1)](0x0,_0x43a87c),_0x7dd7c7[_0x32e962(0x11c)]):_0x224b41;}function extractShellValue(_0x2d760c){if(!_0x2d760c)return null;return _0x2d760c[0x1]??_0x2d760c[0x2]??_0x2d760c[0x3]??null;}function extractFirstCommandArgument(_0x21134d,_0x14f688){const _0xe01c75=_0x1673,_0x400bd1={'WyNbV':_0xe01c75(0x104),'zVZRo':function(_0x496c11,_0x43daa9){return _0x496c11(_0x43daa9);}},_0x5409c0=_0x14f688[_0xe01c75(0x143)](/[.*+?^${}()|[\]\\]/g,_0x400bd1['WyNbV']);return _0x400bd1['zVZRo'](extractShellValue,_0x21134d['match'](new RegExp(_0xe01c75(0x13c)+_0x5409c0+'(?:\x5cs+(?:\x22([^\x22]+)\x22|\x27([^\x27]+)\x27|(\x5cS+)))')));}function formatCommandTarget(_0x42ebb2){const _0x1be2d8=_0x1673,_0x148f05={'ZIjyL':_0x1be2d8(0x148),'jSNIB':function(_0x58d923,_0x54292c,_0x5c5fd0){return _0x58d923(_0x54292c,_0x5c5fd0);}};if(!_0x42ebb2)return _0x148f05['ZIjyL'];if(/^e\d+$/i[_0x1be2d8(0x106)](_0x42ebb2))return _0x1be2d8(0x134)+_0x42ebb2;return JSON[_0x1be2d8(0xfc)](_0x148f05['jSNIB'](truncatePreview,_0x42ebb2,0x78));}function _0x35b8(){const _0x38e213=['content','vrFyT','3232537DTCmRr','01_initial-state.png','join','trackPhaseError','2925dGUppg','authorEmail','):\x20\x22','tKmfL','stringify','stop\x20video\x20recording','ibDgU','1051530Wtqjxr','length','IJSNB','get','PostToolUseFailure','\x5c$&','>\x20\x22','test','xvZcJ','wzqYr','authorName','tool_input','PostToolUse','trackPhaseEnd','phase','inspect','PKtnD','22llMhAJ','MgYiY','tool_name','textContent','6lPDQJF','error','gayPn','uIXPm','close','rangerwright_cli_command','`\x0a2.\x20Use\x20the\x20returned\x20JSON\x20to\x20find\x20the\x20\x22Learn\x20More\x22\x20link\x20ref.\x0a3.\x20Run\x20`','[rangerwright-cli]\x20','yjCkJ','13120qdYbdT','sort','split','push','fZZsi','matchAll','xsiaZ','meJco','##\x20App\x20Context\x0aYou\x20are\x20connected\x20to\x20a\x20desktop\x20application\x20via\x20CDP\x20at\x20','\x20>\x20','tracing-stop','notes','Bash','\x20open-and-inspect\x20','\x0a\x0a##\x20Authentication\x0aBEFORE\x20starting\x20the\x20verification\x20task,\x20authenticate\x20using\x20these\x20steps:\x0a','weBwN','2451420bxScPN','inspect\x20page','commandPrefix','VoPLn','srrPU','key_02_learn-more.png','open\x20and\x20inspect','ref\x20','zFsAe','values','keys','rangerwright_cli_video_stop','fill','domRef','unaddressedComments','(?:^|\x5cs)','2358948gAIplK','\x20--screenshot-path\x20','8WdfRRt','numeric','trackPhaseStart','\x20click-and-inspect\x20e37\x20--screenshot-path\x20','replace','lAiUE','click\x20and\x20inspect\x20','MJKeL','stderr','target','map','453339kpYDrJ','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','HZGBq','1tqGGCH','Reviewer','921730sfLRuY','NzAYu','PGunP','subcommand','slice'];_0x35b8=function(){return _0x38e213;};return _0x35b8();}function formatRangerwrightCliLog(_0x20fed3,_0x29d92c){const _0xedccae=_0x1673,_0x153122={'myQUu':'open-and-inspect','xsiaZ':function(_0x1cc623,_0x11675b,_0x142261){return _0x1cc623(_0x11675b,_0x142261);},'qMCEX':'click-and-inspect','wzqYr':function(_0x4a15fd,_0x52f99a){return _0x4a15fd(_0x52f99a);},'PKtnD':function(_0x3cb09e,_0x257841,_0x3e61c8){return _0x3cb09e(_0x257841,_0x3e61c8);},'jKPIi':_0xedccae(0x139),'RoGOe':'go\x20back\x20and\x20inspect','hOIaz':_0xedccae(0x12e),'GrUid':_0xedccae(0x127),'jdQVq':'video-stop','tQwcb':_0xedccae(0xfd),'PWRfb':'close\x20browser\x20session'};switch(_0x29d92c){case _0x153122['myQUu']:{const _0x2e18fc=_0x153122[_0xedccae(0x123)](extractFirstCommandArgument,_0x20fed3,_0x29d92c);return _0x2e18fc?'open\x20and\x20inspect\x20'+_0x2e18fc:_0xedccae(0x133);}case _0x153122['qMCEX']:return _0xedccae(0x145)+_0x153122[_0xedccae(0x108)](formatCommandTarget,_0x153122[_0xedccae(0x10f)](extractFirstCommandArgument,_0x20fed3,_0x29d92c));case _0x153122['jKPIi']:case'fill-and-inspect':return'fill\x20'+formatCommandTarget(extractFirstCommandArgument(_0x20fed3,_0x29d92c));case'back-and-inspect':return _0x153122['RoGOe'];case _0xedccae(0x10e):return _0x153122['hOIaz'];case _0x153122['GrUid']:return'stop\x20tracing';case _0x153122['jdQVq']:return _0x153122['tQwcb'];case _0xedccae(0x118):return _0x153122['PWRfb'];default:return _0x29d92c;}}function renderScenarioSections(_0x52fd2e){const _0x596404=_0x1673,_0x3e3f17={'HZGBq':'en-US','NzAYu':'short','MJKeL':_0x596404(0x14e),'VoPLn':_0x596404(0x126),'yubFB':'element','fZZsi':function(_0x157468,_0x25bfa1){return _0x157468>_0x25bfa1;}},{checklistItem:_0x1068aa,itemFeedback:_0x1979e2}=_0x52fd2e,_0xdeac24=_0x1068aa[_0x596404(0x128)]?'\x0a\x0a##\x20Additional\x20Notes\x0a'+_0x1068aa[_0x596404(0x128)]:'';let _0x2fba0f='';if(_0x1979e2&&_0x3e3f17[_0x596404(0x121)](_0x1979e2[_0x596404(0x13b)]['length'],0x0)){const _0x2f27c3=_0x1979e2[_0x596404(0x13b)][_0x596404(0x149)](_0x47d945=>{const _0x1889c6=_0x596404,_0x47d614=new Date(_0x47d945['createdAt'])['toLocaleDateString'](_0x3e3f17[_0x1889c6(0x14c)],{'month':_0x3e3f17[_0x1889c6(0x150)],'day':_0x1889c6(0x140)}),_0x5a89d1=_0x47d945[_0x1889c6(0x109)]||_0x47d945[_0x1889c6(0xf9)]||_0x3e3f17[_0x1889c6(0x146)],_0x427ead=_0x47d945[_0x1889c6(0x13a)]?'\x20(on\x20element:\x20<'+(_0x47d945['domRef']['selector'][_0x1889c6(0x11f)](_0x3e3f17[_0x1889c6(0x130)])['pop']()?.['split'](':')[0x0]||_0x3e3f17['yubFB'])+_0x1889c6(0x105)+(_0x47d945[_0x1889c6(0x13a)][_0x1889c6(0x113)]||'')[_0x1889c6(0xf1)](0x0,0x32)+'\x22)':'';return'-\x20['+_0x47d945['id']+']\x20'+_0x5a89d1+'\x20('+_0x47d614+_0x1889c6(0xfa)+_0x47d945[_0x1889c6(0xf2)]+'\x22'+_0x427ead;})[_0x596404(0xf6)]('\x0a');_0x2fba0f='\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'+_0x2f27c3;}const _0x5764cc=_0x1979e2?.['canonicalFlow']?'\x0a\x0a##\x20Expected\x20Flow\x20(from\x20previous\x20verification)\x0a'+_0x1979e2['canonicalFlow']:'';return''+_0x1068aa['description']+_0xdeac24+_0x2fba0f+_0x5764cc;}function _0x1673(_0x3c28ef,_0x5e0177){_0x3c28ef=_0x3c28ef-0xf0;const _0x35b8a5=_0x35b8();let _0x16735a=_0x35b8a5[_0x3c28ef];return _0x16735a;}export function buildVerifyFeatureRangerwrightCliPrompt(_0x2b2b88){const _0x2b95e3=_0x1673,_0x2cab96={'xvZcJ':'key_99_final-state.png','uIXPm':function(_0x30b63b,_0x111d41){return _0x30b63b(_0x111d41);},'ibDgU':function(_0x24c767,_0x16b17a){return _0x24c767(_0x16b17a);},'YuNCB':function(_0x252ea4,_0x3b1207){return _0x252ea4(_0x3b1207);}},{checklistItem:_0x31fd49,itemFeedback:_0x2d33ad,taskDescription:_0x6133f8,commandPrefix:_0xcbf0c8,isCdpMode:_0x4d7082,url:_0x584a5b,cdpEndpoint:_0x292877,loginInstructions:_0x5e214d}=_0x2b2b88,_0x118eea=_0x2b95e3(0xf5),_0x4a9b19=_0x2cab96[_0x2b95e3(0x107)],_0x5a87aa=_0x4d7082?_0xcbf0c8+'\x20inspect\x20--screenshot-path\x20'+quoteShellArg(_0x118eea):_0xcbf0c8+_0x2b95e3(0x12a)+_0x2cab96[_0x2b95e3(0x117)](quoteShellArg,_0x584a5b??'about:blank')+_0x2b95e3(0x13e)+_0x2cab96['ibDgU'](quoteShellArg,_0x118eea),_0x4f2c8b=_0x4d7082?_0x2b95e3(0x125)+_0x292877+'.\x0aThe\x20app\x20is\x20already\x20running\x20and\x20connected.\x20Start\x20with\x20inspect\x20instead\x20of\x20opening\x20a\x20URL.':'CRITICAL\x20URL\x20REQUIREMENT:\x0aYour\x20base\x20URL\x20is:\x20'+_0x584a5b+'\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.',_0x4b3691=_0x5e214d?_0x2b95e3(0x12b)+_0x5e214d+'\x0a\x0aAfter\x20completing\x20authentication,\x20proceed\x20with\x20the\x20verification\x20task\x20below.\x0aIf\x20authentication\x20fails,\x20return\x20evaluation\x20\x22blocked\x22\x20and\x20describe\x20the\x20auth\x20failure.':'';return _0x2b95e3(0x14b)+_0x2cab96['YuNCB'](renderScenarioSections,{'checklistItem':_0x31fd49,'itemFeedback':_0x2d33ad})+'\x0a\x0a##\x20Task\x20to\x20Execute\x0a'+_0x6133f8+'\x0a\x0a'+_0x4f2c8b+_0x4b3691+'\x0a\x0a##\x20Rangerwright\x20Instructions\x0aUse\x20Bash\x20and\x20Rangerwright\x20only.\x0a\x0aEvery\x20browser\x20command\x20must\x20start\x20with\x20this\x20exact\x20literal\x20command\x20prefix:\x0a\x0a'+_0xcbf0c8+'\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'+_0x5a87aa+'\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'+_0xcbf0c8+_0x2b95e3(0x142)+_0x2cab96[_0x2b95e3(0xfe)](quoteShellArg,_0x4a9b19)+'\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(_0xd043b9){const _0x5e4399=_0x1673,_0x5948f8={'iGkFv':'01_mozilla-homepage.png','meJco':function(_0x29e51f,_0x4e85ff){return _0x29e51f(_0x4e85ff);}},_0x15073c=_0x5948f8['iGkFv'],_0x7b5284=_0x5e4399(0x132);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'+_0xd043b9['commandPrefix']+'\x0a\x0aDo\x20not\x20define\x20an\x20RW\x20variable.\x20Do\x20not\x20use\x20node_modules/.bin/rangerwright,\x20npx,\x20npm,\x20cd,\x20find,\x20grep,\x20or\x20search\x20for\x20the\x20binary.\x0a\x0a1.\x20Run\x20`'+_0xd043b9[_0x5e4399(0x12f)]+_0x5e4399(0x12a)+quoteShellArg(_0xd043b9['url'])+'\x20--screenshot-path\x20'+_0x5948f8[_0x5e4399(0x124)](quoteShellArg,_0x15073c)+_0x5e4399(0x11a)+_0xd043b9[_0x5e4399(0x12f)]+'\x20click-and-inspect\x20<ref>\x20--screenshot-path\x20'+quoteShellArg(_0x7b5284)+'`\x0a4.\x20Return\x20immediately\x20with\x20the\x20structured\x20output.\x0a\x0aReturn\x20your\x20findings\x20in\x20the\x20structured\x20output\x20format.';}export function extractRangerwrightScreenshotPaths(_0x20eb03){const _0x22e1f2=_0x1673,_0x303ba9={'srrPU':function(_0x9151be,_0x1e2484){return _0x9151be(_0x1e2484);}};if(!_0x303ba9[_0x22e1f2(0x131)](parseRangerwrightCliCommand,_0x20eb03))return[];const _0x25e8bd=[],_0x25c138=/--screenshot-path(?:=|\s+)(?:"([^"]*)"|'([^']*)'|(\S+))/g;for(const _0x22751e of _0x20eb03[_0x22e1f2(0x122)](_0x25c138)){const _0x40a560=_0x22751e[0x1]??_0x22751e[0x2]??_0x22751e[0x3]??'',_0x3c50c0=_0x40a560['startsWith']('./')?_0x40a560['slice'](0x2):_0x40a560;if(!_0x3c50c0||_0x3c50c0['startsWith']('/'))continue;_0x25e8bd[_0x22e1f2(0x120)](_0x3c50c0);}return _0x25e8bd;}export function summarizeVerifyFeatureRangerwrightCliCommandAvailability(_0x1b31af){const _0xefbacf=_0x1673,_0x347153=[..._0x1b31af[_0xefbacf(0x137)]()][_0xefbacf(0x11e)]();let _0x2a7bf6=0x0;for(const _0x3806ad of _0x1b31af[_0xefbacf(0x136)]()){_0x2a7bf6+=_0x3806ad;}return{'cliCommandCount':_0x2a7bf6,'cliCommandsSeen':_0x347153,'noCliCommandsCalled':_0x2a7bf6===0x0};}export function createVerifyFeatureRangerwrightCliHooks(_0x6b0bf1){const _0x4a6de2=_0x1673,_0x46492a={'lAiUE':function(_0x57637d,_0x582c48){return _0x57637d!==_0x582c48;},'tKmfL':'Bash','sqQpQ':_0x4a6de2(0x119),'zFsAe':function(_0x347cfe,_0x7413fd){return _0x347cfe(_0x7413fd);},'PGunP':function(_0x35a835,_0x55e2fd,_0x4045b9){return _0x35a835(_0x55e2fd,_0x4045b9);},'weBwN':_0x4a6de2(0x103)},_0x20768d=new Map(),_0x18476a=async _0x8a98d9=>{const _0x45abe3=_0x4a6de2;if(_0x46492a[_0x45abe3(0x144)](_0x8a98d9['hook_event_name'],_0x45abe3(0x10b)))return{};const _0x46a370=_0x8a98d9;if(_0x46a370[_0x45abe3(0x112)]!==_0x46492a['tKmfL'])return{};const _0x133964=_0x46a370[_0x45abe3(0x10a)],_0x414927=extractBashCommand(_0x133964);if(!_0x414927)return{};const _0x3bd3eb=parseRangerwrightCliCommand(_0x414927);if(!_0x3bd3eb)return{};return _0x20768d['set'](_0x3bd3eb,(_0x20768d[_0x45abe3(0x102)](_0x3bd3eb)||0x0)+0x1),_0x6b0bf1[_0x45abe3(0x141)]('rangerwright_cli_command',{'subcommand':_0x3bd3eb}),_0x6b0bf1[_0x45abe3(0x10c)](_0x46492a['sqQpQ'],{'subcommand':_0x3bd3eb,'commandPreview':_0x46492a[_0x45abe3(0x135)](truncatePreview,_0x414927)}),console['log'](_0x45abe3(0x11b)+_0x46492a[_0x45abe3(0x151)](formatRangerwrightCliLog,_0x414927,_0x3bd3eb)),{};},_0x1f4e19=async _0x329b02=>{const _0x4dd98d=_0x4a6de2;if(_0x46492a[_0x4dd98d(0x144)](_0x329b02['hook_event_name'],_0x46492a[_0x4dd98d(0x12c)]))return{};const _0x168a11=_0x329b02;if(_0x168a11[_0x4dd98d(0x112)]!==_0x46492a[_0x4dd98d(0xfb)])return{};return await _0x6b0bf1[_0x4dd98d(0xf7)]('rangerwright_cli_command_failure',_0x168a11[_0x4dd98d(0x115)],{'transport':'rangerwright-cli','toolName':_0x4dd98d(0x129)}),{};};return{'postToolUseHook':_0x18476a,'postToolUseFailureHook':_0x1f4e19,'commandCounts':_0x20768d};}async function runRangerwrightLifecycleCommand(_0x324c90){const _0x2754ab=_0x1673,_0x204c16={'IJSNB':function(_0x18788e,_0xfb378a){return _0x18788e(_0xfb378a);},'gayPn':function(_0x1118b0,_0x34b94d){return _0x1118b0??_0x34b94d;}},{options:_0x239ce6,commandArgs:_0x23f2bb,env:_0x3129af,telemetry:_0x194692,phase:_0x149388,metadata:_0x54ad82,timeoutMs:_0x23182a}=_0x324c90;_0x194692['trackPhaseStart'](_0x149388,_0x54ad82);try{const _0x1b3f98=await _0x204c16[_0x2754ab(0x101)](runRangerwrightCliCommand,{..._0x239ce6,'commandArgs':_0x23f2bb,'cwd':process['cwd'](),'env':_0x3129af,'timeoutMs':_0x204c16[_0x2754ab(0x116)](_0x23182a,RANGERWRIGHT_CLI_COMMAND_TIMEOUT_MS)});_0x194692['trackPhaseEnd'](_0x149388,{..._0x54ad82,'subcommand':_0x1b3f98['invocation'][_0x2754ab(0xf0)],'stdoutPreview':truncatePreview(_0x1b3f98['stdout'],0x7d0),'stderrPreview':truncatePreview(_0x1b3f98[_0x2754ab(0x147)],0x7d0)});}catch(_0x267362){await _0x194692['trackPhaseError'](_0x149388,_0x267362,_0x54ad82);throw _0x267362;}}export async function finalizeVerifyFeatureRangerwrightCliSession(_0x515717){const _0x577048=_0x1673,_0x2ca0ea={'MgYiY':'rangerwright_cli_tracing_stop','QZqOJ':_0x577048(0x138),'CpaBO':function(_0xe042d9,_0x245ddf){return _0xe042d9(_0x245ddf);}},{telemetry:_0x4570ce,rangerwrightOptions:_0x474c5c,env:_0x5140e5,transportMetadata:_0x184827}=_0x515717,_0x5ddcf5=[{'phase':_0x2ca0ea[_0x577048(0x111)],'commandArgs':['tracing-stop']},{'phase':_0x2ca0ea['QZqOJ'],'commandArgs':['video-stop']},{'phase':'rangerwright_cli_close','commandArgs':[_0x577048(0x118)]}];for(const _0x5eaaf6 of _0x5ddcf5){try{await _0x2ca0ea['CpaBO'](runRangerwrightLifecycleCommand,{'options':_0x474c5c,'commandArgs':[..._0x5eaaf6['commandArgs']],'env':_0x5140e5,'telemetry':_0x4570ce,'phase':_0x5eaaf6[_0x577048(0x10d)],'metadata':_0x184827});}catch{}}}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ranger-testing/ranger-cli",
3
- "version": "3.1.7-alpha.9ed0a8d-59",
3
+ "version": "3.1.7-alpha.a5be4ca-60",
4
4
  "type": "module",
5
5
  "bin": {
6
6
  "ranger": "./build/cli.js",
@@ -21,11 +21,12 @@
21
21
  ],
22
22
  "dependencies": {
23
23
  "@anthropic-ai/claude-agent-sdk": "^0.1.0",
24
- "@playwright/cli": "0.1.1",
25
- "@ranger-testing/rangerwright": "^0.0.27",
24
+ "@playwright/cli": "0.1.12",
25
+ "@playwright/mcp": "0.0.74",
26
+ "@ranger-testing/rangerwright": "^0.0.32",
26
27
  "dotenv": "^16.4.5",
27
28
  "inquirer": "^9.2.12",
28
- "playwright": "1.56.1",
29
+ "playwright": "1.60.0",
29
30
  "ws": "^8.20.1",
30
31
  "yargs": "^17.7.2",
31
32
  "zod": "^3.23.8"
@@ -45,6 +46,14 @@
45
46
  "brace-expansion": "^5.0.6",
46
47
  "fast-uri": "3.1.2",
47
48
  "@babel/core": "^7.29.6",
48
- "js-yaml": "^4.2.0"
49
+ "js-yaml": "^4.2.0",
50
+ "@playwright/cli": {
51
+ "playwright": "1.60.0",
52
+ "playwright-core": "1.60.0"
53
+ },
54
+ "@playwright/mcp": {
55
+ "playwright": "1.60.0",
56
+ "playwright-core": "1.60.0"
57
+ }
49
58
  }
50
59
  }