@ranger-testing/ranger-cli 2.5.4-alpha.78800d3-3 → 2.5.4-alpha.a70fc60-4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (78) 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/env.js +1 -1
  7. package/build/commands/feature.js +1 -1
  8. package/build/commands/hook.js +1 -1
  9. package/build/commands/hooks/autoPrompt.js +1 -1
  10. package/build/commands/hooks/disable.js +1 -1
  11. package/build/commands/hooks/enable.js +1 -1
  12. package/build/commands/hooks/exitPlanMode.js +1 -1
  13. package/build/commands/hooks/index.js +1 -1
  14. package/build/commands/hooks/output.js +1 -1
  15. package/build/commands/hooks/planReminder.js +1 -1
  16. package/build/commands/hooks/planStart.js +1 -1
  17. package/build/commands/hooks/postEdit.js +1 -1
  18. package/build/commands/hooks/preCompact.js +1 -1
  19. package/build/commands/hooks/sessionEnd.js +1 -1
  20. package/build/commands/hooks/sessionStart.js +1 -1
  21. package/build/commands/hooks/stopHook.js +1 -1
  22. package/build/commands/index.js +1 -1
  23. package/build/commands/login.js +1 -1
  24. package/build/commands/mcpBootstrap.js +1 -1
  25. package/build/commands/migrateProfile.js +1 -1
  26. package/build/commands/setup/claude.js +1 -1
  27. package/build/commands/setup/opencode.js +1 -1
  28. package/build/commands/setupCi.js +1 -1
  29. package/build/commands/skillup.js +1 -1
  30. package/build/commands/start.js +1 -1
  31. package/build/commands/status.js +1 -1
  32. package/build/commands/update.js +1 -1
  33. package/build/commands/updateEnv.js +1 -1
  34. package/build/commands/useEnv.js +1 -1
  35. package/build/commands/utils/activeProfile.js +1 -1
  36. package/build/commands/utils/agentEnv.js +1 -1
  37. package/build/commands/utils/browserSessionsApi.js +1 -1
  38. package/build/commands/utils/claudeConfig.js +1 -1
  39. package/build/commands/utils/claudeOverrideSettings.js +1 -1
  40. package/build/commands/utils/claudePlugin.js +1 -1
  41. package/build/commands/utils/cloudProfile.js +1 -1
  42. package/build/commands/utils/cloudProfileSession.js +1 -1
  43. package/build/commands/utils/crypto.js +1 -1
  44. package/build/commands/utils/desirePathLog.js +1 -1
  45. package/build/commands/utils/deviceAuth.js +1 -1
  46. package/build/commands/utils/environment.js +1 -1
  47. package/build/commands/utils/featureApi.js +1 -1
  48. package/build/commands/utils/fixWebmDuration.js +1 -1
  49. package/build/commands/utils/gitTracked.js +1 -1
  50. package/build/commands/utils/keychain.js +1 -1
  51. package/build/commands/utils/localAgentInstallationsApi.js +1 -1
  52. package/build/commands/utils/matchAuthEnvironment.js +1 -1
  53. package/build/commands/utils/mcpImageBase64.js +1 -1
  54. package/build/commands/utils/model.js +1 -1
  55. package/build/commands/utils/opencodeConfig.js +1 -1
  56. package/build/commands/utils/playwrightCli.js +1 -1
  57. package/build/commands/utils/profileMessages.js +1 -1
  58. package/build/commands/utils/profileSetupBanner.js +1 -1
  59. package/build/commands/utils/projectsConfig.js +1 -1
  60. package/build/commands/utils/rangerConfig.js +1 -1
  61. package/build/commands/utils/rangerRoot.js +1 -1
  62. package/build/commands/utils/resolveProfileContext.js +1 -1
  63. package/build/commands/utils/resolveProfileUrl.js +1 -1
  64. package/build/commands/utils/retry.js +1 -1
  65. package/build/commands/utils/sessionCache.js +1 -1
  66. package/build/commands/utils/settings.js +1 -1
  67. package/build/commands/utils/skillContent.js +1 -1
  68. package/build/commands/utils/skills.js +1 -1
  69. package/build/commands/utils/stitchWebmFiles.js +1 -1
  70. package/build/commands/utils/telemetry.js +1 -1
  71. package/build/commands/utils/tokenRefresh.js +1 -1
  72. package/build/commands/utils/traceSnapshotMapper.js +1 -1
  73. package/build/commands/utils/userApi.js +1 -1
  74. package/build/commands/utils/version.js +1 -1
  75. package/build/commands/verifyFeature.js +1 -1
  76. package/build/commands/verifyFeatureCli.js +1 -1
  77. package/build/skills/ranger/SKILL.md +1 -1
  78. package/package.json +1 -1
@@ -1 +1 @@
1
- (function(_0x1c8c03,_0x33d803){const _0x2aa9ba=_0x1e08,_0x40e4fc=_0x1c8c03();while(!![]){try{const _0x4b38b7=-parseInt(_0x2aa9ba(0x223))/0x1+parseInt(_0x2aa9ba(0x1f1))/0x2+-parseInt(_0x2aa9ba(0x22d))/0x3*(parseInt(_0x2aa9ba(0x242))/0x4)+-parseInt(_0x2aa9ba(0x1fa))/0x5+-parseInt(_0x2aa9ba(0x1e5))/0x6+-parseInt(_0x2aa9ba(0x24d))/0x7+parseInt(_0x2aa9ba(0x211))/0x8;if(_0x4b38b7===_0x33d803)break;else _0x40e4fc['push'](_0x40e4fc['shift']());}catch(_0x454549){_0x40e4fc['push'](_0x40e4fc['shift']());}}}(_0x216d,0x7eb11));import{mkdir,readFile,readdir,rename,stat}from'fs/promises';function _0x216d(){const _0x56eec2=['pop','split','length','PzEQq','trim','):\x20\x22','`\x20style\x20absolute\x20paths\x20at\x20key\x20moments.\x0a6.\x20If\x20you\x20need\x20waits\x20or\x20custom\x20assertions,\x20use\x20`','76vzuBqx','canonicalFlow','dnVUH','short','tracing-stop','PostToolUse','snapshot','CTfIu','string','--filename=','ASjyw','1121582cESRFo','invocation','ZPBoy','\x20open`,\x20then\x20`','`\x20style\x20absolute\x20paths\x20at\x20key\x20moments.\x0a8.\x20If\x20you\x20need\x20waits\x20or\x20custom\x20assertions,\x20use\x20`','EyNVA','ePPhV','name','\x20video-start`.\x0a3.\x20Save\x20every\x20snapshot\x20and\x20screenshot\x20under\x20`','(?:^|\x5cs)','check\x20','start\x20video\x20recording','...',']\x20**','stop\x20tracing','VGmkw','oystI','selector','target','ref\x20','IzRjb','`\x0a10.\x20Return\x20immediately\x20with\x20the\x20structured\x20output\x0a\x0aReturn\x20your\x20findings\x20in\x20the\x20structured\x20output\x20format.','ahBSV','\x20open\x20https://www.mozilla.org`\x0a2.\x20Run\x20`','-\x20[','nDNAh','DEBUG','replace','**\x20(','1455348QQjSuJ','trackPhaseError','00_mozilla-homepage.yml','uDNZy','\x0a\x0a##\x20Authentication\x0aBEFORE\x20starting\x20the\x20verification\x20task,\x20you\x20MUST\x20authenticate\x20using\x20these\x20steps:\x0a','[playwright-cli]\x20','IICUH','\x20>\x20','\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.','You\x20are\x20testing\x20browser\x20automation.\x20Your\x20task\x20is\x20simple:\x0a\x0aUse\x20Bash\x20and\x20Playwright\x20CLI\x20only.\x20The\x20browser\x20command\x20prefix\x20is:\x0a','(?:\x5cs+(?:\x22([^\x22]+)\x22|\x27([^\x27]+)\x27|(\x5cS+)))','press\x20','31460cqSDhc','iqdRH','02_state.yml','[ranger-verification-agent]\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','\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.','\x22,\x20\x22','phase','FNDCb','1908805jLXnGm','\x0a\x0a##\x20Additional\x20Notes\x0a','subcommand','notes','01_initial.yml','description','\x20tracing-start`,\x20then\x20`','unaddressedComments','screenshot','domRef','stringify','capture\x20snapshot','vgwPI','click','gHYdi','KZSXU','`\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`','capture\x20step\x20`','playwright_cli_close','Bash','tool_call','set','\x0a\x0a##\x20Browser\x20Command\x20Reference\x0aUse\x20Bash\x20to\x20run\x20Playwright\x20CLI\x20commands\x20with\x20this\x20exact\x20prefix:\x0a`','22546888eykDYN','02_button-clicked.png','trackPhaseEnd','TzDgj','bSBwz','trackPhaseStart','kjfMw','##\x20Instructions\x0a1.\x20Use\x20Bash\x20plus\x20Playwright\x20CLI\x20only.\x20Do\x20NOT\x20call\x20MCP\x20browser\x20tools.\x0a2.\x20Start\x20by\x20running\x20`','BAmIV','env','trace.trace.zip','log','trace.zip','fhAPh','run\x20custom\x20Playwright\x20code','numeric','OIYRH','\x0a\x0a##\x20Task\x20to\x20Execute\x0a','656883LtsNrO','commandArgs','twCAc','IUIqO','cKdjx','match','slice','FEWJA','toLocaleDateString','\x20snapshot\x20--filename\x20','137958ViFoqS','join','\x20video-start`\x0a4.\x20Save\x20every\x20snapshot\x20and\x20screenshot\x20under\x20`','cabIv','open\x20new\x20tab','hook_event_name','sFGoT','sDWgS','\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','03_result-visible.png','01_mozilla-homepage.png','capture\x20key\x20step\x20`','01_initial-state.png','tool_failure'];_0x216d=function(){return _0x56eec2;};return _0x216d();}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(_0x30fcbc,_0x3c3d20=PLAYWRIGHT_CLI_PREVIEW_LIMIT){const _0x6021a7=_0x1e08;return _0x30fcbc[_0x6021a7(0x23d)]>_0x3c3d20?_0x30fcbc[_0x6021a7(0x229)](0x0,_0x3c3d20)+_0x6021a7(0x259):_0x30fcbc;}function buildCliArtifactPath(_0x209009,_0x37d49d){const _0x25c4fe=_0x1e08,_0x495bbd={'IICUH':function(_0x57ca56,_0x1ff8a4,_0x1cdb45){return _0x57ca56(_0x1ff8a4,_0x1cdb45);}};return _0x495bbd[_0x25c4fe(0x1eb)](join,_0x209009,_0x37d49d);}function toStepDisplayName(_0x503e96){const _0xa3373e=_0x1e08,_0x4a4d32={'cKdjx':function(_0x5a2bd7,_0x32865a){return _0x5a2bd7(_0x32865a);}},_0x21ddf9=basename(_0x503e96)[_0xa3373e(0x1e3)](/\.(?:png|ya?ml)$/i,'')[_0xa3373e(0x1e3)](/^key_/i,'')['replace'](/^\d+_/,'')[_0xa3373e(0x1e3)](/-/g,'\x20');return{'name':_0x21ddf9,'isKeyStep':/^key_/i['test'](_0x4a4d32[_0xa3373e(0x227)](basename,_0x503e96))};}function extractShellValue(_0x3ca31f){if(!_0x3ca31f)return null;return _0x3ca31f[0x1]??_0x3ca31f[0x2]??_0x3ca31f[0x3]??null;}function extractFilenameOption(_0x2ea097){const _0x3e4615=_0x1e08;return extractShellValue(_0x2ea097[_0x3e4615(0x228)](/--filename(?:=|\s+)(?:"([^"]+)"|'([^']+)'|(\S+))/));}function extractFirstCommandArgument(_0x13e1dc,_0x27c346){const _0x4883f1=_0x1e08,_0x3ceac7={'YFsbQ':function(_0x5b47c7,_0x1f80f5){return _0x5b47c7(_0x1f80f5);}},_0x4010ff=_0x27c346['replace'](/[.*+?^${}()|[\]\\]/g,'\x5c$&');return _0x3ceac7['YFsbQ'](extractShellValue,_0x13e1dc['match'](new RegExp(_0x4883f1(0x256)+_0x4010ff+_0x4883f1(0x1ef))));}function formatCommandTarget(_0x584615){const _0xb225b2=_0x1e08;if(!_0x584615)return _0xb225b2(0x1da);if(/^e\d+$/i['test'](_0x584615))return _0xb225b2(0x1db)+_0x584615;return JSON[_0xb225b2(0x204)](truncatePreview(_0x584615,0x78));}function formatPlaywrightCliLog(_0x504db7,_0x53ae76){const _0x2ea5af=_0x1e08,_0xbd68eb={'iFCXd':'open\x20browser','sFGoT':'tracing-stop','QPeyF':_0x2ea5af(0x248),'TzDgj':function(_0x1fe3cb,_0x1d02ab){return _0x1fe3cb(_0x1d02ab);},'YZWIq':_0x2ea5af(0x205),'sFBRj':'capture\x20screenshot','twCAc':function(_0x2eb735,_0x5e2f14){return _0x2eb735(_0x5e2f14);},'gHYdi':function(_0x75dbee,_0x5d6cd4,_0x15ddfc){return _0x75dbee(_0x5d6cd4,_0x15ddfc);},'iqdRH':'press','FEWJA':function(_0x24ac16,_0x2c7442,_0x3e9f61){return _0x24ac16(_0x2c7442,_0x3e9f61);},'nDNAh':'tab-new','ikQbk':_0x2ea5af(0x231),'FNDCb':'select\x20tab'};switch(_0x53ae76){case'open':{const _0x591887=extractFirstCommandArgument(_0x504db7,_0x53ae76);return _0x591887?'open\x20'+_0x591887:_0xbd68eb['iFCXd'];}case'tracing-start':return'start\x20tracing';case _0xbd68eb[_0x2ea5af(0x233)]:return _0x2ea5af(0x1d6);case'video-start':return _0x2ea5af(0x258);case'video-stop':return'stop\x20video\x20recording';case _0xbd68eb['QPeyF']:{const _0xc303e7=_0xbd68eb[_0x2ea5af(0x214)](extractFilenameOption,_0x504db7);if(!_0xc303e7)return _0xbd68eb['YZWIq'];const {name:_0x172131}=toStepDisplayName(_0xc303e7);return'capture\x20snapshot\x20`'+_0x172131+'`';}case _0x2ea5af(0x202):{const _0x476da0=_0xbd68eb[_0x2ea5af(0x214)](extractFilenameOption,_0x504db7);if(!_0x476da0)return _0xbd68eb['sFBRj'];const {name:_0x3ae87d,isKeyStep:_0x3db849}=_0xbd68eb[_0x2ea5af(0x225)](toStepDisplayName,_0x476da0);return _0x3db849?_0x2ea5af(0x238)+_0x3ae87d+'`':_0x2ea5af(0x20b)+_0x3ae87d+'`';}case _0x2ea5af(0x207):return'click\x20'+formatCommandTarget(extractFirstCommandArgument(_0x504db7,_0x53ae76));case'check':return _0x2ea5af(0x257)+formatCommandTarget(_0xbd68eb[_0x2ea5af(0x208)](extractFirstCommandArgument,_0x504db7,_0x53ae76));case'fill':return'fill\x20'+formatCommandTarget(_0xbd68eb['gHYdi'](extractFirstCommandArgument,_0x504db7,_0x53ae76));case _0xbd68eb[_0x2ea5af(0x1f2)]:return _0x2ea5af(0x1f0)+formatCommandTarget(_0xbd68eb[_0x2ea5af(0x22a)](extractFirstCommandArgument,_0x504db7,_0x53ae76));case'run-code':return _0x2ea5af(0x21f);case _0xbd68eb[_0x2ea5af(0x1e1)]:{const _0x3d5a86=extractFirstCommandArgument(_0x504db7,_0x53ae76);return _0x3d5a86?'open\x20new\x20tab\x20'+_0x3d5a86:_0xbd68eb['ikQbk'];}case'tab-select':{const _0x3ba04a=extractFirstCommandArgument(_0x504db7,_0x53ae76);return _0x3ba04a?'select\x20tab\x20'+_0x3ba04a:_0xbd68eb[_0x2ea5af(0x1f9)];}default:return _0x53ae76;}}function extractPlaywrightCliToolDescription(_0xd59549){const _0x174965=_0x1e08,_0x315364={'vgwPI':function(_0x39ac4a,_0x575b0b){return _0x39ac4a!==_0x575b0b;},'obHOK':function(_0x182acf,_0x3417ed){return _0x182acf>_0x3417ed;}},_0xb0fc5a=_0xd59549['description'];if(_0x315364[_0x174965(0x206)](typeof _0xb0fc5a,_0x174965(0x24a)))return null;const _0x2a7b41=_0xb0fc5a[_0x174965(0x23f)]()['replace'](/\s+/g,'\x20');return _0x315364['obHOK'](_0x2a7b41[_0x174965(0x23d)],0x0)?_0x2a7b41:null;}export function formatPlaywrightCliConsoleLogMessage(_0x281293,_0x534d81,_0x46c06e){const _0xa5d24c=_0x1e08,_0x1a4583={'ASjyw':function(_0x45e9f8,_0x1456a5,_0xb9670e){return _0x45e9f8(_0x1456a5,_0xb9670e);}},_0x24b9c3=_0x1a4583[_0xa5d24c(0x24c)](formatPlaywrightCliLog,_0x534d81,_0x46c06e),_0x3efb8f=extractPlaywrightCliToolDescription(_0x281293);if(!_0x3efb8f)return _0xa5d24c(0x1ea)+_0x24b9c3;if(process[_0xa5d24c(0x21a)][_0xa5d24c(0x1e2)])return'[ranger-verification-agent]\x20'+_0x3efb8f+'\x20('+_0x24b9c3+')';return _0xa5d24c(0x1f4)+_0x3efb8f;}export function buildVerifyFeatureCliDebugPrompt(_0x146354,_0x485af3){const _0x510591=_0x1e08,_0x3f6c02={'KZSXU':_0x510591(0x1e7),'LJHsa':_0x510591(0x237),'bSBwz':function(_0x5cc083,_0x34d00e,_0x3f294e){return _0x5cc083(_0x34d00e,_0x3f294e);},'MnKvb':'03_learn-more.png','ZPBoy':function(_0x5076a6,_0x4505b6){return _0x5076a6(_0x4505b6);}},_0x3bc421=buildCliArtifactPath(_0x485af3,_0x3f6c02[_0x510591(0x209)]),_0x1f85c8=buildCliArtifactPath(_0x485af3,_0x3f6c02['LJHsa']),_0x7f646c=_0x3f6c02[_0x510591(0x215)](buildCliArtifactPath,_0x485af3,'02_learn-more.yml'),_0x2929e6=_0x3f6c02[_0x510591(0x215)](buildCliArtifactPath,_0x485af3,_0x3f6c02['MnKvb']),_0x233911=_0x3f6c02[_0x510591(0x24f)](quoteShellArg,_0x3bc421),_0x467b5b=quoteShellArg(_0x1f85c8),_0x8972ff=quoteShellArg(_0x7f646c),_0x55db02=_0x3f6c02[_0x510591(0x24f)](quoteShellArg,_0x2929e6);return _0x510591(0x1ee)+_0x146354+'\x0a\x0a1.\x20Run\x20`'+_0x146354+_0x510591(0x1df)+_0x146354+'\x20tracing-start`\x0a3.\x20Run\x20`'+_0x146354+_0x510591(0x22f)+_0x485af3+'`\x20using\x20absolute\x20paths\x20only.\x20Do\x20not\x20use\x20relative\x20filenames.\x0a5.\x20Run\x20`'+_0x146354+'\x20snapshot\x20--filename\x20'+_0x233911+'`\x0a5.\x20Read\x20the\x20snapshot\x20file\x20to\x20find\x20the\x20\x22Learn\x20More\x22\x20link\x20reference\x0a6.\x20Run\x20`'+_0x146354+'\x20screenshot\x20--filename\x20'+_0x467b5b+'`\x0a7.\x20Click\x20the\x20\x22Learn\x20More\x22\x20link\x20with\x20Playwright\x20CLI\x0a8.\x20Run\x20`'+_0x146354+_0x510591(0x22c)+_0x8972ff+'`\x0a9.\x20Run\x20`'+_0x146354+'\x20screenshot\x20--filename\x20'+_0x55db02+_0x510591(0x1dd);}export function buildVerifyFeatureCliPrompt(_0x36eca0){const _0x1cb489=_0x1e08,_0x365dad={'tmWBJ':_0x1cb489(0x245),'IzRjb':_0x1cb489(0x220),'fhAPh':_0x1cb489(0x1ec),'dnVUH':'element','NLheP':function(_0xce214d,_0xcb0488,_0x5b5c7e){return _0xce214d(_0xcb0488,_0x5b5c7e);},'BAmIV':_0x1cb489(0x1f3),'iAmWa':function(_0x58677b,_0x1280d5,_0x2e0b37){return _0x58677b(_0x1280d5,_0x2e0b37);},'dSRrR':_0x1cb489(0x239),'ahBSV':function(_0x399f6e,_0x5dbfa2){return _0x399f6e(_0x5dbfa2);},'sBGFy':function(_0x18b17d,_0x4b1e1a,_0x57c162){return _0x18b17d(_0x4b1e1a,_0x57c162);},'JZgzA':_0x1cb489(0x212),'jgelH':function(_0xff750e,_0x2c1043,_0x2b9e75){return _0xff750e(_0x2c1043,_0x2b9e75);}},{checklistItem:_0x5f1381,itemFeedback:_0x3fc93f,taskDescription:_0xe9ad2e,cliCommandPrefix:_0x774c9a,cliArtifactDir:_0x2f77dc,isCdpMode:_0x4c158d,url:_0x27dbdd,cdpEndpoint:_0x4a97f1,loginInstructions:_0x152f3b}=_0x36eca0,_0x56cf90=buildCliArtifactPath(_0x2f77dc,_0x1cb489(0x1fe)),_0x12fb0e=_0x365dad['NLheP'](buildCliArtifactPath,_0x2f77dc,_0x365dad[_0x1cb489(0x219)]),_0x49331a=_0x365dad['NLheP'](buildCliArtifactPath,_0x2f77dc,'key_03_success-state.png'),_0xb23e2b=_0x365dad['iAmWa'](buildCliArtifactPath,_0x2f77dc,_0x365dad['dSRrR']),_0x1317b8=quoteShellArg(_0x56cf90),_0x58f5f6=quoteShellArg(_0x12fb0e),_0x5819ee=_0x365dad[_0x1cb489(0x1de)](quoteShellArg,_0x49331a),_0x59fdd9=quoteShellArg(_0xb23e2b),_0x2fe5e1=_0x5f1381['notes']?_0x1cb489(0x1fb)+_0x5f1381[_0x1cb489(0x1fd)]:'';let _0x221868='';if(_0x3fc93f&&_0x3fc93f[_0x1cb489(0x201)]['length']>0x0){const _0x20f5c9=_0x3fc93f['unaddressedComments']['map'](_0x85b4c0=>{const _0x5a202d=_0x1cb489,_0x124be4=new Date(_0x85b4c0['createdAt'])[_0x5a202d(0x22b)]('en-US',{'month':_0x365dad['tmWBJ'],'day':_0x365dad[_0x5a202d(0x1dc)]}),_0xb56985=_0x85b4c0['authorName']||_0x85b4c0['authorEmail']||'Reviewer',_0x44315b=_0x85b4c0['domRef']?'\x20(on\x20element:\x20<'+(_0x85b4c0['domRef'][_0x5a202d(0x1d9)][_0x5a202d(0x23c)](_0x365dad[_0x5a202d(0x21e)])[_0x5a202d(0x23b)]()?.['split'](':')[0x0]||_0x365dad[_0x5a202d(0x244)])+'>\x20\x22'+(_0x85b4c0[_0x5a202d(0x203)]['textContent']||'')['slice'](0x0,0x32)+'\x22)':'';return _0x5a202d(0x1e0)+_0x85b4c0['id']+_0x5a202d(0x1d5)+_0xb56985+_0x5a202d(0x1e4)+_0x124be4+_0x5a202d(0x240)+_0x85b4c0['content']+'\x22'+_0x44315b;})[_0x1cb489(0x22e)]('\x0a');_0x221868='\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'+_0x20f5c9;}const _0x1da03e=_0x3fc93f?.[_0x1cb489(0x243)]?'\x0a\x0a##\x20Expected\x20Flow\x20(from\x20previous\x20verification)\x0a'+_0x3fc93f[_0x1cb489(0x243)]:'',_0x2f25ba=_0x4c158d?'##\x20App\x20Context\x0aYou\x20are\x20connected\x20to\x20a\x20desktop\x20application\x20via\x20CDP\x20(Chrome\x20DevTools\x20Protocol)\x20at\x20'+_0x4a97f1+'.\x0aThis\x20is\x20NOT\x20a\x20web\x20app\x20—\x20there\x20is\x20no\x20URL\x20to\x20navigate\x20to.\x20The\x20app\x20is\x20already\x20running\x20and\x20connected.':'CRITICAL\x20URL\x20REQUIREMENT:\x0aYour\x20base\x20URL\x20is:\x20'+_0x27dbdd+'\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',_0x312942=_0x27dbdd?quoteShellArg(_0x27dbdd):'',_0x2fe5f9=_0x4c158d?_0x1cb489(0x218)+_0x774c9a+_0x1cb489(0x250)+_0x774c9a+_0x1cb489(0x200)+_0x774c9a+_0x1cb489(0x255)+_0x2f77dc+'`\x20using\x20absolute\x20paths\x20only.\x20Do\x20not\x20use\x20relative\x20filenames.\x0a4.\x20Take\x20a\x20snapshot\x20with\x20`'+_0x774c9a+_0x1cb489(0x22c)+_0x1317b8+_0x1cb489(0x20a)+_0x774c9a+'\x20screenshot\x20--filename\x20'+_0x59fdd9+_0x1cb489(0x241)+_0x774c9a+_0x1cb489(0x1f5):'##\x20Instructions\x0a1.\x20Use\x20Bash\x20plus\x20Playwright\x20CLI\x20only.\x20Do\x20NOT\x20call\x20MCP\x20browser\x20tools.\x0a2.\x20Start\x20by\x20running\x20`'+_0x774c9a+'\x20open\x20'+_0x312942+'`,\x20then\x20`'+_0x774c9a+_0x1cb489(0x200)+_0x774c9a+_0x1cb489(0x255)+_0x2f77dc+'`\x20using\x20absolute\x20paths\x20only.\x20Do\x20not\x20use\x20relative\x20filenames.\x0a4.\x20Take\x20a\x20snapshot\x20with\x20`'+_0x774c9a+'\x20snapshot\x20--filename\x20'+_0x1317b8+'`\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`'+_0x774c9a+'\x20screenshot\x20--filename\x20'+_0x59fdd9+_0x1cb489(0x251)+_0x774c9a+'\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',_0x16518e=_0x4c158d?'\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\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.',_0x3ab943=_0x152f3b?_0x1cb489(0x1e9)+_0x152f3b+_0x1cb489(0x1ed):'';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'+_0x5f1381[_0x1cb489(0x1ff)]+_0x2fe5e1+_0x221868+_0x1da03e+_0x1cb489(0x222)+_0xe9ad2e+'\x0a\x0a'+_0x2f25ba+_0x3ab943+'\x0a\x0a'+_0x2fe5f9+_0x1cb489(0x210)+_0x774c9a+'`\x0a\x0a-\x20Write\x20all\x20artifacts\x20under\x20`'+_0x2f77dc+'`\x0a-\x20`snapshot\x20--filename\x20'+_0x58f5f6+'`\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'+_0x5819ee+'`\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`'+_0x2f77dc+'`:\x20\x22'+_0xb23e2b+_0x1cb489(0x1f7)+_0x365dad['sBGFy'](buildCliArtifactPath,_0x2f77dc,_0x365dad['JZgzA'])+_0x1cb489(0x1f7)+_0x365dad['jgelH'](buildCliArtifactPath,_0x2f77dc,_0x1cb489(0x236))+_0x1cb489(0x235)+buildCliArtifactPath(_0x2f77dc,'key_04_success-state.png')+'\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'+_0x16518e+_0x1cb489(0x1f6);}export function summarizeVerifyFeatureCliCommandAvailability(_0x4cbde0){const _0x36b6a2=_0x1e08,_0x1c49c7={'uDNZy':function(_0x42e297,_0x270407){return _0x42e297===_0x270407;}},_0x86b07a=[..._0x4cbde0['keys']()]['sort']();let _0x20a301=0x0;for(const _0x57130d of _0x4cbde0['values']()){_0x20a301+=_0x57130d;}return{'cliCommandCount':_0x20a301,'cliCommandsSeen':_0x86b07a,'noCliCommandsCalled':_0x1c49c7[_0x36b6a2(0x1e8)](_0x20a301,0x0)};}export function createVerifyFeatureCliHooks(_0x183793){const _0x2848b6=_0x1e08,_0x239eab={'VopSe':_0x2848b6(0x247),'VGmkw':function(_0x3969e2,_0x46c845){return _0x3969e2!==_0x46c845;},'oystI':function(_0x1749ad,_0x1c91db){return _0x1749ad(_0x1c91db);},'sDWgS':_0x2848b6(0x20e),'PzEQq':'playwright-cli','szGlt':function(_0x66910c,_0x7e914a){return _0x66910c(_0x7e914a);},'ePPhV':'PostToolUseFailure','EyNVA':_0x2848b6(0x20d),'dhVio':_0x2848b6(0x23a)},_0x1015af=new Map(),_0x1906fa=async _0x44e7a5=>{const _0x1a7a6b=_0x2848b6;if(_0x44e7a5[_0x1a7a6b(0x232)]!==_0x239eab['VopSe'])return{};const _0x6123a=_0x44e7a5;if(_0x239eab[_0x1a7a6b(0x1d7)](_0x6123a['tool_name'],'Bash'))return{};const _0x52219e=_0x6123a['tool_input'],_0x3c3460=_0x239eab['oystI'](extractBashCommand,_0x52219e);if(!_0x3c3460)return{};const _0x80a7ca=_0x239eab[_0x1a7a6b(0x1d8)](parsePlaywrightCliCommand,_0x3c3460);if(!_0x80a7ca)return{};return _0x1015af[_0x1a7a6b(0x20f)](_0x80a7ca,(_0x1015af['get'](_0x80a7ca)||0x0)+0x1),_0x183793[_0x1a7a6b(0x216)](_0x1a7a6b(0x20e),{'transport':'playwright-cli','toolName':_0x80a7ca}),_0x183793['trackPhaseEnd'](_0x239eab[_0x1a7a6b(0x234)],{'transport':_0x239eab[_0x1a7a6b(0x23e)],'toolName':_0x80a7ca,'bashCommandPreview':_0x239eab['szGlt'](truncatePreview,_0x3c3460)}),_0x239eab['VGmkw'](_0x80a7ca,'snapshot')&&console[_0x1a7a6b(0x21c)](formatPlaywrightCliConsoleLogMessage(_0x52219e,_0x3c3460,_0x80a7ca)),{};},_0x42d996=async _0x286a4b=>{const _0x50ed60=_0x2848b6;if(_0x286a4b['hook_event_name']!==_0x239eab[_0x50ed60(0x253)])return{};const _0x55392c=_0x286a4b;if(_0x55392c['tool_name']!==_0x239eab['EyNVA'])return{};return await _0x183793['trackPhaseError'](_0x239eab['dhVio'],_0x55392c['error'],{'transport':_0x239eab['PzEQq'],'toolName':_0x239eab[_0x50ed60(0x252)]}),{};};return{'postToolUseHook':_0x1906fa,'postToolUseFailureHook':_0x42d996,'commandCounts':_0x1015af};}function _0x1e08(_0x293d4c,_0x21afe3){_0x293d4c=_0x293d4c-0x1d5;const _0x216da3=_0x216d();let _0x1e081e=_0x216da3[_0x293d4c];return _0x1e081e;}async function runPlaywrightCliLifecycleCommand(_0x223e1f){const _0x4097c4=_0x1e08,_0x41c576={'OIYRH':function(_0x1e8d70,_0x3bbffa){return _0x1e8d70??_0x3bbffa;},'cDwZO':function(_0x19dbb,_0x3c36f2,_0x13d67d){return _0x19dbb(_0x3c36f2,_0x13d67d);}},{sessionId:_0x490f17,configPath:_0x4c9edb,commandArgs:_0x450984,env:_0x423d1e,telemetry:_0x54f9a7,phase:_0x52487f,metadata:_0x26ba2c,timeoutMs:_0x44b4e2}=_0x223e1f;_0x54f9a7['trackPhaseStart'](_0x52487f,_0x26ba2c);try{const _0xb73b60=await runPlaywrightCliCommand({'sessionId':_0x490f17,'configPath':_0x4c9edb,'commandArgs':_0x450984,'cwd':process['cwd'](),'env':_0x423d1e,'timeoutMs':_0x41c576[_0x4097c4(0x221)](_0x44b4e2,PLAYWRIGHT_CLI_COMMAND_TIMEOUT_MS)});_0x54f9a7[_0x4097c4(0x213)](_0x52487f,{..._0x26ba2c,'subcommand':_0xb73b60[_0x4097c4(0x24e)][_0x4097c4(0x1fc)],'stdoutPreview':truncatePreview(_0xb73b60['stdout'],0x7d0),'stderrPreview':_0x41c576['cDwZO'](truncatePreview,_0xb73b60['stderr'],0x7d0)});}catch(_0x53b314){await _0x54f9a7[_0x4097c4(0x1e6)](_0x52487f,_0x53b314,_0x26ba2c);throw _0x53b314;}}export async function finalizeVerifyFeatureCliSession(_0x11211b){const _0x576f4b=_0x1e08,_0x4bcb1f={'TwuEi':_0x576f4b(0x246),'kjfMw':'session-recording.webm'},{telemetry:_0x1418e3,sessionId:_0x20a06f,configPath:_0xc980bd,cliArtifactDir:_0x22a2ab,env:_0x391afc,transportMetadata:_0x3645ae}=_0x11211b,_0x349f30=[{'phase':'playwright_cli_tracing_stop','commandArgs':[_0x4bcb1f['TwuEi']]},{'phase':'playwright_cli_video_stop','commandArgs':['video-stop',_0x576f4b(0x24b)+buildCliArtifactPath(_0x22a2ab,_0x4bcb1f[_0x576f4b(0x217)])]},{'phase':_0x576f4b(0x20c),'commandArgs':['close']}];for(const _0x575738 of _0x349f30){try{await runPlaywrightCliLifecycleCommand({'sessionId':_0x20a06f,'configPath':_0xc980bd,'commandArgs':[..._0x575738[_0x576f4b(0x224)]],'env':_0x391afc,'telemetry':_0x1418e3,'phase':_0x575738[_0x576f4b(0x1f8)],'metadata':_0x3645ae});}catch{}}}export async function loadVerifyFeatureCliTraceUploadArtifact(_0x55775d){const _0x34844c=_0x1e08,_0x53ff10={'ytWkN':_0x34844c(0x21b)},_0x32f750=[_0x34844c(0x21d),_0x53ff10['ytWkN']];for(const _0x31f8a6 of _0x32f750){const _0x43b887=join(_0x55775d,_0x31f8a6);try{return{'buffer':await readFile(_0x43b887),'source':_0x43b887};}catch{}}return null;}export async function rehomeVerifyFeatureCliArtifacts(_0x180979){const _0x486ccc=_0x1e08,_0xf34b17={'cabIv':function(_0x313e9b,_0x2aa01a,_0x263a91){return _0x313e9b(_0x2aa01a,_0x263a91);},'IUIqO':function(_0x52a59a,_0x350fff){return _0x52a59a(_0x350fff);},'ZNzwj':function(_0x55225b,_0x98ba8){return _0x55225b+_0x98ba8;},'CTfIu':function(_0x295c2f,_0x2754dc){return _0x295c2f===_0x2754dc;}},{cwd:_0x34b79f,cliArtifactDir:_0x396cac,startTime:_0x1ebba2}=_0x180979,_0x1f5529=[];await _0xf34b17['cabIv'](mkdir,_0x396cac,{'recursive':!![]});const _0x1bc437=await _0xf34b17[_0x486ccc(0x230)](readdir,_0x34b79f,{'withFileTypes':!![]});for(const _0x41d72f of _0x1bc437){if(!_0x41d72f['isFile']()||!VERIFY_FEATURE_CLI_ARTIFACT_FILE_PATTERN['test'](_0x41d72f['name']))continue;const _0x1fbe8a=join(_0x34b79f,_0x41d72f['name']),_0xf8fbfe=await _0xf34b17[_0x486ccc(0x226)](stat,_0x1fbe8a);if(_0xf34b17['ZNzwj'](_0xf8fbfe['mtimeMs'],0x7d0)<_0x1ebba2)continue;const _0x12c1c5=_0xf34b17['cabIv'](buildCliArtifactPath,_0x396cac,_0x41d72f[_0x486ccc(0x254)]);if(_0xf34b17[_0x486ccc(0x249)](_0x1fbe8a,_0x12c1c5))continue;await rename(_0x1fbe8a,_0x12c1c5),_0x1f5529['push'](_0x41d72f['name']);}return _0x1f5529['sort']();}
1
+ (function(_0xb25dab,_0x193bfd){const _0x1c9f4b=_0x298b,_0x375a8e=_0xb25dab();while(!![]){try{const _0x457a5d=-parseInt(_0x1c9f4b(0x1e2))/0x1+parseInt(_0x1c9f4b(0x1cc))/0x2+parseInt(_0x1c9f4b(0x19a))/0x3+parseInt(_0x1c9f4b(0x1b4))/0x4+parseInt(_0x1c9f4b(0x1ae))/0x5*(parseInt(_0x1c9f4b(0x1b7))/0x6)+parseInt(_0x1c9f4b(0x19e))/0x7*(-parseInt(_0x1c9f4b(0x185))/0x8)+-parseInt(_0x1c9f4b(0x17b))/0x9;if(_0x457a5d===_0x193bfd)break;else _0x375a8e['push'](_0x375a8e['shift']());}catch(_0x15d840){_0x375a8e['push'](_0x375a8e['shift']());}}}(_0x14db,0x8e056));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 _0x14db(){const _0x5998bf=['305683szLwIk','01_mozilla-homepage.png','name','click','Bash','env','video-stop','03_result-visible.png','tgUhf','description','string','PostToolUseFailure','canonicalFlow','fill','\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\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.','playwright_cli_video_stop','5ZsbXwe','sqxAZ','dIFDw','video-start','02_state.yml','trace.zip','498864FqzCeL','stderr','ljgSI','4960938iooGEE','commandArgs','\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.','capture\x20key\x20step\x20`','tracing-start','authorName','element','ref\x20','XTQCE','CRITICAL\x20URL\x20REQUIREMENT:\x0aYour\x20base\x20URL\x20is:\x20','sort','test','VecsJ','cexSi','##\x20Instructions\x0a1.\x20Use\x20Bash\x20plus\x20Playwright\x20CLI\x20only.\x20Do\x20NOT\x20call\x20MCP\x20browser\x20tools.\x0a2.\x20Start\x20by\x20running\x20`','replace','snapshot','02_learn-more.yml','03_learn-more.png','mtimeMs','capture\x20snapshot\x20`','1442364ULhAmV','BCsYF','FYQzd','numeric','MSqkn','authorEmail','unaddressedComments','.\x0aThis\x20is\x20NOT\x20a\x20web\x20app\x20—\x20there\x20is\x20no\x20URL\x20to\x20navigate\x20to.\x20The\x20app\x20is\x20already\x20running\x20and\x20connected.','start\x20video\x20recording','stringify','...','stdout','`\x20using\x20absolute\x20paths\x20only.\x20Do\x20not\x20use\x20relative\x20filenames.\x0a4.\x20Take\x20a\x20snapshot\x20with\x20`','rzaCu','KiSpp','Reviewer','trackPhaseError','trackPhaseStart',']\x20**','\x20>\x20','pCtTh','sLEex','181037SzAOKi','\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','tab-new','fill\x20','QKDSS','CGvkQ','yyQPQ','NgBTf','select\x20tab','hFYSH','close','stop\x20video\x20recording','map','`\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','nHMCR','playwright_cli_close','log','key_04_success-state.png','join','tool_input','):\x20\x22','tADEh','`\x20style\x20absolute\x20paths\x20at\x20key\x20moments.\x0a8.\x20If\x20you\x20need\x20waits\x20or\x20custom\x20assertions,\x20use\x20`','ShlET','vbRyf','\x20screenshot\x20--filename\x20','check','PostToolUse','\x20open\x20https://www.mozilla.org`\x0a2.\x20Run\x20`','\x20tracing-start`,\x20then\x20`','yLwKO','DxOxd','start\x20tracing','SwLNo','set','tool_name','mtHHP','3400551ngkHzx','press\x20','`\x20using\x20absolute\x20paths\x20only.\x20Do\x20not\x20use\x20relative\x20filenames.\x0a5.\x20Run\x20`','key_03_success-state.png','`\x0a\x0a-\x20Write\x20all\x20artifacts\x20under\x20`','run-code','tool_call','IFCMj','HaMAU','hook_event_name','112tdjJLq','target','split','match','notes','00_mozilla-homepage.yml','\x22,\x20\x22','error','GzucK','DpvgI','`:\x20\x22','keys','length','Zrsfa','\x20tracing-start`\x0a3.\x20Run\x20`','\x20(on\x20element:\x20<','\x20video-start`\x0a4.\x20Save\x20every\x20snapshot\x20and\x20screenshot\x20under\x20`','\x0a\x0a##\x20Reviewer\x20Feedback\x20to\x20Address\x0aThe\x20following\x20reviewer\x20comments\x20were\x20left\x20on\x20the\x20previous\x20version\x20of\x20this\x20item.\x0aVerify\x20that\x20each\x20concern\x20has\x20been\x20addressed\x20in\x20the\x20current\x20implementation.\x0aFor\x20each\x20comment\x20you\x20believe\x20has\x20been\x20addressed,\x20include\x20its\x20ID\x20(the\x20bracketed\x20value)\x20in\x20the\x20addressedCommentIds\x20array\x20in\x20your\x20output.\x0a\x0a','slice','session-recording.webm','AyZnV','237717Jzasnn','`\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`','capture\x20snapshot','press'];_0x14db=function(){return _0x5998bf;};return _0x14db();}function truncatePreview(_0x3a1661,_0xbaa269=PLAYWRIGHT_CLI_PREVIEW_LIMIT){const _0x4c9897=_0x298b,_0x418835={'sTspN':function(_0x39cf6b,_0x1d2e4f){return _0x39cf6b>_0x1d2e4f;}};return _0x418835['sTspN'](_0x3a1661['length'],_0xbaa269)?_0x3a1661[_0x4c9897(0x197)](0x0,_0xbaa269)+_0x4c9897(0x1d6):_0x3a1661;}function buildCliArtifactPath(_0x3f7462,_0x3eb591){const _0x2adb30={'lFFkr':function(_0x30c20f,_0x2e1ba0,_0x14b231){return _0x30c20f(_0x2e1ba0,_0x14b231);}};return _0x2adb30['lFFkr'](join,_0x3f7462,_0x3eb591);}function toStepDisplayName(_0x1e29b2){const _0x549d90=_0x298b,_0x4ffaf4={'oTCUI':function(_0x1409e7,_0x1e5c7c){return _0x1409e7(_0x1e5c7c);}},_0xf02868=basename(_0x1e29b2)['replace'](/\.(?:png|ya?ml)$/i,'')['replace'](/^key_/i,'')[_0x549d90(0x1c6)](/^\d+_/,'')[_0x549d90(0x1c6)](/-/g,'\x20');return{'name':_0xf02868,'isKeyStep':/^key_/i['test'](_0x4ffaf4['oTCUI'](basename,_0x1e29b2))};}function extractShellValue(_0x4a2415){if(!_0x4a2415)return null;return _0x4a2415[0x1]??_0x4a2415[0x2]??_0x4a2415[0x3]??null;}function _0x298b(_0x29d7cc,_0x1b862c){_0x29d7cc=_0x29d7cc-0x16c;const _0x14db81=_0x14db();let _0x298bac=_0x14db81[_0x29d7cc];return _0x298bac;}function extractFilenameOption(_0x46c975){const _0x58bb99=_0x298b;return extractShellValue(_0x46c975[_0x58bb99(0x188)](/--filename(?:=|\s+)(?:"([^"]+)"|'([^']+)'|(\S+))/));}function extractFirstCommandArgument(_0x2684c0,_0x2c64e7){const _0x2d8f46={'IsVAR':function(_0x151c60,_0x560d52){return _0x151c60(_0x560d52);}},_0xcd40b3=_0x2c64e7['replace'](/[.*+?^${}()|[\]\\]/g,'\x5c$&');return _0x2d8f46['IsVAR'](extractShellValue,_0x2684c0['match'](new RegExp('(?:^|\x5cs)'+_0xcd40b3+'(?:\x5cs+(?:\x22([^\x22]+)\x22|\x27([^\x27]+)\x27|(\x5cS+)))')));}function formatCommandTarget(_0x5d4536){const _0x10f6d0=_0x298b,_0x23c882={'Zrsfa':_0x10f6d0(0x186)};if(!_0x5d4536)return _0x23c882[_0x10f6d0(0x192)];if(/^e\d+$/i[_0x10f6d0(0x1c2)](_0x5d4536))return _0x10f6d0(0x1be)+_0x5d4536;return JSON[_0x10f6d0(0x1d5)](truncatePreview(_0x5d4536,0x78));}function formatPlaywrightCliLog(_0x5c733c,_0x2fe289){const _0x1d4486=_0x298b,_0x55a40={'sqxAZ':'open','NgBTf':'stop\x20tracing','pCtTh':_0x1d4486(0x1d4),'YCGae':_0x1d4486(0x1ed),'TzIjG':'screenshot','nHMCR':function(_0x404f25,_0x2467f6){return _0x404f25(_0x2467f6);},'cSGHl':'capture\x20screenshot','tADEh':function(_0x2e1b96,_0x8cdadb){return _0x2e1b96(_0x8cdadb);},'vbRyf':_0x1d4486(0x170),'DlHIX':function(_0x33dd17,_0x4ce9bd,_0x1db9ca){return _0x33dd17(_0x4ce9bd,_0x1db9ca);},'GzucK':'run\x20custom\x20Playwright\x20code','ljgSI':'open\x20new\x20tab','dIFDw':'tab-select'};switch(_0x2fe289){case _0x55a40[_0x1d4486(0x1af)]:{const _0x372b77=extractFirstCommandArgument(_0x5c733c,_0x2fe289);return _0x372b77?'open\x20'+_0x372b77:'open\x20browser';}case _0x1d4486(0x1bb):return _0x1d4486(0x176);case'tracing-stop':return _0x55a40[_0x1d4486(0x1e9)];case _0x1d4486(0x1b1):return _0x55a40[_0x1d4486(0x1e0)];case'video-stop':return _0x55a40['YCGae'];case _0x1d4486(0x1c7):{const _0x2a4edf=extractFilenameOption(_0x5c733c);if(!_0x2a4edf)return _0x1d4486(0x19c);const {name:_0x495ba9}=toStepDisplayName(_0x2a4edf);return _0x1d4486(0x1cb)+_0x495ba9+'`';}case _0x55a40['TzIjG']:{const _0x5b86a6=_0x55a40[_0x1d4486(0x1f0)](extractFilenameOption,_0x5c733c);if(!_0x5b86a6)return _0x55a40['cSGHl'];const {name:_0x1d2f63,isKeyStep:_0x46dc85}=_0x55a40[_0x1d4486(0x1f7)](toStepDisplayName,_0x5b86a6);return _0x46dc85?_0x1d4486(0x1ba)+_0x1d2f63+'`':'capture\x20step\x20`'+_0x1d2f63+'`';}case _0x1d4486(0x1a1):return'click\x20'+formatCommandTarget(extractFirstCommandArgument(_0x5c733c,_0x2fe289));case _0x55a40[_0x1d4486(0x16e)]:return'check\x20'+_0x55a40['tADEh'](formatCommandTarget,_0x55a40['DlHIX'](extractFirstCommandArgument,_0x5c733c,_0x2fe289));case _0x1d4486(0x1ab):return _0x1d4486(0x1e5)+_0x55a40['tADEh'](formatCommandTarget,extractFirstCommandArgument(_0x5c733c,_0x2fe289));case _0x1d4486(0x19d):return _0x1d4486(0x17c)+formatCommandTarget(extractFirstCommandArgument(_0x5c733c,_0x2fe289));case _0x1d4486(0x180):return _0x55a40[_0x1d4486(0x18d)];case _0x1d4486(0x1e4):{const _0x4b7f8a=extractFirstCommandArgument(_0x5c733c,_0x2fe289);return _0x4b7f8a?'open\x20new\x20tab\x20'+_0x4b7f8a:_0x55a40[_0x1d4486(0x1b6)];}case _0x55a40[_0x1d4486(0x1b0)]:{const _0x3b85b4=extractFirstCommandArgument(_0x5c733c,_0x2fe289);return _0x3b85b4?'select\x20tab\x20'+_0x3b85b4:_0x1d4486(0x1ea);}default:return _0x2fe289;}}function extractPlaywrightCliToolDescription(_0x4dcd06){const _0x36d77d=_0x298b,_0x2e2cb8=_0x4dcd06[_0x36d77d(0x1a7)];if(typeof _0x2e2cb8!==_0x36d77d(0x1a8))return null;const _0x2c1d61=_0x2e2cb8['trim']()[_0x36d77d(0x1c6)](/\s+/g,'\x20');return _0x2c1d61[_0x36d77d(0x191)]>0x0?_0x2c1d61:null;}export function formatPlaywrightCliConsoleLogMessage(_0x2eb3f3,_0xb75d31,_0xae6640){const _0x4c7e36=_0x298b,_0x59288e=formatPlaywrightCliLog(_0xb75d31,_0xae6640),_0x3fc673=extractPlaywrightCliToolDescription(_0x2eb3f3);if(!_0x3fc673)return'[playwright-cli]\x20'+_0x59288e;if(process[_0x4c7e36(0x1a3)]['DEBUG'])return'[ranger-verification-agent]\x20'+_0x3fc673+'\x20('+_0x59288e+')';return'[ranger-verification-agent]\x20'+_0x3fc673;}export function buildVerifyFeatureCliDebugPrompt(_0x24e6c6,_0x8560ac){const _0x35f70e=_0x298b,_0x1be154={'XTQCE':function(_0x57ecf8,_0x286208,_0x5bb3fb){return _0x57ecf8(_0x286208,_0x5bb3fb);},'MTdlI':_0x35f70e(0x18a),'mRvfk':_0x35f70e(0x19f),'icBOC':function(_0x4b54bb,_0x133b9d,_0x1a44c7){return _0x4b54bb(_0x133b9d,_0x1a44c7);},'IFCMj':_0x35f70e(0x1c9),'yyQPQ':function(_0x4aef75,_0x2236aa){return _0x4aef75(_0x2236aa);},'VecsJ':function(_0x28e1d3,_0x3a8fe8){return _0x28e1d3(_0x3a8fe8);}},_0x244fe3=_0x1be154['XTQCE'](buildCliArtifactPath,_0x8560ac,_0x1be154['MTdlI']),_0x44815b=_0x1be154[_0x35f70e(0x1bf)](buildCliArtifactPath,_0x8560ac,_0x1be154['mRvfk']),_0x1762d0=_0x1be154['icBOC'](buildCliArtifactPath,_0x8560ac,_0x35f70e(0x1c8)),_0x57eb1b=buildCliArtifactPath(_0x8560ac,_0x1be154[_0x35f70e(0x182)]),_0x248b67=_0x1be154[_0x35f70e(0x1e8)](quoteShellArg,_0x244fe3),_0x5e431e=quoteShellArg(_0x44815b),_0x1ba39b=_0x1be154['yyQPQ'](quoteShellArg,_0x1762d0),_0xdfa4f6=_0x1be154[_0x35f70e(0x1c3)](quoteShellArg,_0x57eb1b);return'You\x20are\x20testing\x20browser\x20automation.\x20Your\x20task\x20is\x20simple:\x0a\x0aUse\x20Bash\x20and\x20Playwright\x20CLI\x20only.\x20The\x20browser\x20command\x20prefix\x20is:\x0a'+_0x24e6c6+'\x0a\x0a1.\x20Run\x20`'+_0x24e6c6+_0x35f70e(0x172)+_0x24e6c6+_0x35f70e(0x193)+_0x24e6c6+_0x35f70e(0x195)+_0x8560ac+_0x35f70e(0x17d)+_0x24e6c6+'\x20snapshot\x20--filename\x20'+_0x248b67+'`\x0a5.\x20Read\x20the\x20snapshot\x20file\x20to\x20find\x20the\x20\x22Learn\x20More\x22\x20link\x20reference\x0a6.\x20Run\x20`'+_0x24e6c6+_0x35f70e(0x16f)+_0x5e431e+'`\x0a7.\x20Click\x20the\x20\x22Learn\x20More\x22\x20link\x20with\x20Playwright\x20CLI\x0a8.\x20Run\x20`'+_0x24e6c6+'\x20snapshot\x20--filename\x20'+_0x1ba39b+'`\x0a9.\x20Run\x20`'+_0x24e6c6+'\x20screenshot\x20--filename\x20'+_0xdfa4f6+'`\x0a10.\x20Return\x20immediately\x20with\x20the\x20structured\x20output\x0a\x0aReturn\x20your\x20findings\x20in\x20the\x20structured\x20output\x20format.';}export function buildVerifyFeatureCliPrompt(_0x5c3c40){const _0x48ac8b=_0x298b,_0x2a013f={'DxOxd':'en-US','AyZnV':'short','xubtp':_0x48ac8b(0x1cf),'HOOdz':_0x48ac8b(0x1db),'kUXOS':_0x48ac8b(0x1df),'dKpFY':function(_0x5416c8,_0x40139c,_0x5e999c){return _0x5416c8(_0x40139c,_0x5e999c);},'SwLNo':_0x48ac8b(0x1b2),'BCsYF':function(_0x4b41b9,_0x5f4e17,_0x412063){return _0x4b41b9(_0x5f4e17,_0x412063);},'uwGXl':'01_initial-state.png','QKDSS':function(_0x369afd,_0xb67bb5){return _0x369afd(_0xb67bb5);},'YKfSc':function(_0x51b25e,_0x83bbf8){return _0x51b25e>_0x83bbf8;}},{checklistItem:_0x457e14,itemFeedback:_0x1b47d9,taskDescription:_0x2bae0c,cliCommandPrefix:_0x2e0151,cliArtifactDir:_0x27eef1,isCdpMode:_0x335750,url:_0xcc0aa7,cdpEndpoint:_0x25e05c,loginInstructions:_0x157043}=_0x5c3c40,_0x5cdd58=buildCliArtifactPath(_0x27eef1,'01_initial.yml'),_0x20f9db=_0x2a013f['dKpFY'](buildCliArtifactPath,_0x27eef1,_0x2a013f[_0x48ac8b(0x177)]),_0x2aab1a=buildCliArtifactPath(_0x27eef1,_0x48ac8b(0x17e)),_0x12690c=_0x2a013f[_0x48ac8b(0x1cd)](buildCliArtifactPath,_0x27eef1,_0x2a013f['uwGXl']),_0x32156d=_0x2a013f['QKDSS'](quoteShellArg,_0x5cdd58),_0x2ffc1f=quoteShellArg(_0x20f9db),_0x1f529b=quoteShellArg(_0x2aab1a),_0x51af94=_0x2a013f[_0x48ac8b(0x1e6)](quoteShellArg,_0x12690c),_0x29b5a3=_0x457e14['notes']?'\x0a\x0a##\x20Additional\x20Notes\x0a'+_0x457e14[_0x48ac8b(0x189)]:'';let _0x5c7531='';if(_0x1b47d9&&_0x2a013f['YKfSc'](_0x1b47d9['unaddressedComments']['length'],0x0)){const _0x24a770=_0x1b47d9[_0x48ac8b(0x1d2)][_0x48ac8b(0x1ee)](_0x1545be=>{const _0x3b5dd9=_0x48ac8b,_0x379df5=new Date(_0x1545be['createdAt'])['toLocaleDateString'](_0x2a013f[_0x3b5dd9(0x175)],{'month':_0x2a013f[_0x3b5dd9(0x199)],'day':_0x2a013f['xubtp']}),_0x34cf41=_0x1545be[_0x3b5dd9(0x1bc)]||_0x1545be[_0x3b5dd9(0x1d1)]||_0x2a013f['HOOdz'],_0x4af854=_0x1545be['domRef']?_0x3b5dd9(0x194)+(_0x1545be['domRef']['selector']['split'](_0x2a013f['kUXOS'])['pop']()?.[_0x3b5dd9(0x187)](':')[0x0]||_0x3b5dd9(0x1bd))+'>\x20\x22'+(_0x1545be['domRef']['textContent']||'')[_0x3b5dd9(0x197)](0x0,0x32)+'\x22)':'';return'-\x20['+_0x1545be['id']+_0x3b5dd9(0x1de)+_0x34cf41+'**\x20('+_0x379df5+_0x3b5dd9(0x1f6)+_0x1545be['content']+'\x22'+_0x4af854;})[_0x48ac8b(0x1f4)]('\x0a');_0x5c7531=_0x48ac8b(0x196)+_0x24a770;}const _0x2eac27=_0x1b47d9?.[_0x48ac8b(0x1aa)]?'\x0a\x0a##\x20Expected\x20Flow\x20(from\x20previous\x20verification)\x0a'+_0x1b47d9['canonicalFlow']:'',_0x1fca4e=_0x335750?'##\x20App\x20Context\x0aYou\x20are\x20connected\x20to\x20a\x20desktop\x20application\x20via\x20CDP\x20(Chrome\x20DevTools\x20Protocol)\x20at\x20'+_0x25e05c+_0x48ac8b(0x1d3):_0x48ac8b(0x1c0)+_0xcc0aa7+'\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',_0x49567c=_0xcc0aa7?_0x2a013f[_0x48ac8b(0x1e6)](quoteShellArg,_0xcc0aa7):'',_0x1405e0=_0x335750?_0x48ac8b(0x1c5)+_0x2e0151+'\x20open`,\x20then\x20`'+_0x2e0151+'\x20tracing-start`,\x20then\x20`'+_0x2e0151+'\x20video-start`.\x0a3.\x20Save\x20every\x20snapshot\x20and\x20screenshot\x20under\x20`'+_0x27eef1+'`\x20using\x20absolute\x20paths\x20only.\x20Do\x20not\x20use\x20relative\x20filenames.\x0a4.\x20Take\x20a\x20snapshot\x20with\x20`'+_0x2e0151+'\x20snapshot\x20--filename\x20'+_0x32156d+'`\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`'+_0x2e0151+_0x48ac8b(0x16f)+_0x51af94+'`\x20style\x20absolute\x20paths\x20at\x20key\x20moments.\x0a6.\x20If\x20you\x20need\x20waits\x20or\x20custom\x20assertions,\x20use\x20`'+_0x2e0151+'\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':_0x48ac8b(0x1c5)+_0x2e0151+'\x20open\x20'+_0x49567c+'`,\x20then\x20`'+_0x2e0151+_0x48ac8b(0x173)+_0x2e0151+'\x20video-start`.\x0a3.\x20Save\x20every\x20snapshot\x20and\x20screenshot\x20under\x20`'+_0x27eef1+_0x48ac8b(0x1d8)+_0x2e0151+'\x20snapshot\x20--filename\x20'+_0x32156d+'`\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`'+_0x2e0151+'\x20screenshot\x20--filename\x20'+_0x51af94+_0x48ac8b(0x16c)+_0x2e0151+'\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',_0x4c593b=_0x335750?'\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.':_0x48ac8b(0x1ac),_0x1ebfab=_0x157043?'\x0a\x0a##\x20Authentication\x0aBEFORE\x20starting\x20the\x20verification\x20task,\x20you\x20MUST\x20authenticate\x20using\x20these\x20steps:\x0a'+_0x157043+'\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'+_0x457e14['description']+_0x29b5a3+_0x5c7531+_0x2eac27+'\x0a\x0a##\x20Task\x20to\x20Execute\x0a'+_0x2bae0c+'\x0a\x0a'+_0x1fca4e+_0x1ebfab+'\x0a\x0a'+_0x1405e0+'\x0a\x0a##\x20Browser\x20Command\x20Reference\x0aUse\x20Bash\x20to\x20run\x20Playwright\x20CLI\x20commands\x20with\x20this\x20exact\x20prefix:\x0a`'+_0x2e0151+_0x48ac8b(0x17f)+_0x27eef1+'`\x0a-\x20`snapshot\x20--filename\x20'+_0x2ffc1f+_0x48ac8b(0x1ef)+_0x1f529b+_0x48ac8b(0x19b)+_0x27eef1+_0x48ac8b(0x18f)+_0x12690c+'\x22,\x20\x22'+buildCliArtifactPath(_0x27eef1,'02_button-clicked.png')+_0x48ac8b(0x18b)+buildCliArtifactPath(_0x27eef1,_0x48ac8b(0x1a5))+'\x22\x0a-\x20Number\x20prefixes\x20(01_,\x2002_,\x20etc.)\x20help\x20maintain\x20chronological\x20order\x0a-\x20For\x20KEY\x20MOMENTS\x20that\x20prove\x20the\x20scenario\x20is\x20complete,\x20prefix\x20with\x20\x22key_\x22:\x20\x22'+buildCliArtifactPath(_0x27eef1,_0x48ac8b(0x1f3))+_0x48ac8b(0x1e3)+_0x4c593b+_0x48ac8b(0x1b9);}export function summarizeVerifyFeatureCliCommandAvailability(_0x7450c1){const _0x1d2e0d=_0x298b,_0x35221d={'hFYSH':function(_0x2fbf33,_0x3fc008){return _0x2fbf33===_0x3fc008;}},_0x10cc59=[..._0x7450c1[_0x1d2e0d(0x190)]()]['sort']();let _0x5c9478=0x0;for(const _0x209640 of _0x7450c1['values']()){_0x5c9478+=_0x209640;}return{'cliCommandCount':_0x5c9478,'cliCommandsSeen':_0x10cc59,'noCliCommandsCalled':_0x35221d[_0x1d2e0d(0x1eb)](_0x5c9478,0x0)};}export function createVerifyFeatureCliHooks(_0x405877){const _0x38f1d9=_0x298b,_0x577bc8={'lOgwP':_0x38f1d9(0x171),'cexSi':function(_0x4ad6b4,_0x2d12d3){return _0x4ad6b4!==_0x2d12d3;},'urhrI':function(_0x71ad3b,_0x17eee2){return _0x71ad3b(_0x17eee2);},'mtHHP':_0x38f1d9(0x181),'tgUhf':'playwright-cli','KiSpp':function(_0x3f1b61,_0x3ae4e6){return _0x3f1b61(_0x3ae4e6);},'sLEex':function(_0x33d40e,_0x5eba73,_0x417b80,_0x2a9fe0){return _0x33d40e(_0x5eba73,_0x417b80,_0x2a9fe0);}},_0x76283c=new Map(),_0x137340=async _0xedec3e=>{const _0x50a6df=_0x38f1d9;if(_0xedec3e[_0x50a6df(0x184)]!==_0x577bc8['lOgwP'])return{};const _0x5096a4=_0xedec3e;if(_0x577bc8[_0x50a6df(0x1c4)](_0x5096a4[_0x50a6df(0x179)],'Bash'))return{};const _0x33366d=_0x5096a4[_0x50a6df(0x1f5)],_0x5d3667=extractBashCommand(_0x33366d);if(!_0x5d3667)return{};const _0x163ef1=_0x577bc8['urhrI'](parsePlaywrightCliCommand,_0x5d3667);if(!_0x163ef1)return{};return _0x76283c[_0x50a6df(0x178)](_0x163ef1,(_0x76283c['get'](_0x163ef1)||0x0)+0x1),_0x405877['trackPhaseStart'](_0x577bc8[_0x50a6df(0x17a)],{'transport':'playwright-cli','toolName':_0x163ef1}),_0x405877['trackPhaseEnd'](_0x577bc8[_0x50a6df(0x17a)],{'transport':_0x577bc8[_0x50a6df(0x1a6)],'toolName':_0x163ef1,'bashCommandPreview':_0x577bc8[_0x50a6df(0x1da)](truncatePreview,_0x5d3667)}),_0x163ef1!==_0x50a6df(0x1c7)&&console[_0x50a6df(0x1f2)](_0x577bc8[_0x50a6df(0x1e1)](formatPlaywrightCliConsoleLogMessage,_0x33366d,_0x5d3667,_0x163ef1)),{};},_0x20dcf7=async _0x37b578=>{const _0x187da5=_0x38f1d9;if(_0x577bc8[_0x187da5(0x1c4)](_0x37b578['hook_event_name'],_0x187da5(0x1a9)))return{};const _0x10789d=_0x37b578;if(_0x577bc8['cexSi'](_0x10789d['tool_name'],_0x187da5(0x1a2)))return{};return await _0x405877['trackPhaseError']('tool_failure',_0x10789d[_0x187da5(0x18c)],{'transport':_0x577bc8[_0x187da5(0x1a6)],'toolName':_0x187da5(0x1a2)}),{};};return{'postToolUseHook':_0x137340,'postToolUseFailureHook':_0x20dcf7,'commandCounts':_0x76283c};}async function runPlaywrightCliLifecycleCommand(_0x18e738){const _0x44719f=_0x298b,_0x11357a={'zUyBI':function(_0x2daba,_0x40bf30){return _0x2daba??_0x40bf30;}},{sessionId:_0x38a575,configPath:_0x1848ed,commandArgs:_0x23298a,env:_0x38d29d,telemetry:_0x17d418,phase:_0xa7f702,metadata:_0x334926,timeoutMs:_0x3bcfed}=_0x18e738;_0x17d418[_0x44719f(0x1dd)](_0xa7f702,_0x334926);try{const _0x48ceb0=await runPlaywrightCliCommand({'sessionId':_0x38a575,'configPath':_0x1848ed,'commandArgs':_0x23298a,'cwd':process['cwd'](),'env':_0x38d29d,'timeoutMs':_0x11357a['zUyBI'](_0x3bcfed,PLAYWRIGHT_CLI_COMMAND_TIMEOUT_MS)});_0x17d418['trackPhaseEnd'](_0xa7f702,{..._0x334926,'subcommand':_0x48ceb0['invocation']['subcommand'],'stdoutPreview':truncatePreview(_0x48ceb0[_0x44719f(0x1d7)],0x7d0),'stderrPreview':truncatePreview(_0x48ceb0[_0x44719f(0x1b5)],0x7d0)});}catch(_0x5afb73){await _0x17d418[_0x44719f(0x1dc)](_0xa7f702,_0x5afb73,_0x334926);throw _0x5afb73;}}export async function finalizeVerifyFeatureCliSession(_0x52a18b){const _0x3348ca=_0x298b,_0x54e416={'DpvgI':_0x3348ca(0x1ad),'CGvkQ':_0x3348ca(0x198),'HaMAU':_0x3348ca(0x1ec)},{telemetry:_0x519127,sessionId:_0x21b382,configPath:_0x44d69c,cliArtifactDir:_0x3958e2,env:_0x25284d,transportMetadata:_0x4202a3}=_0x52a18b,_0x42b9f3=[{'phase':'playwright_cli_tracing_stop','commandArgs':['tracing-stop']},{'phase':_0x54e416[_0x3348ca(0x18e)],'commandArgs':[_0x3348ca(0x1a4),'--filename='+buildCliArtifactPath(_0x3958e2,_0x54e416[_0x3348ca(0x1e7)])]},{'phase':_0x3348ca(0x1f1),'commandArgs':[_0x54e416[_0x3348ca(0x183)]]}];for(const _0xbb1a5 of _0x42b9f3){try{await runPlaywrightCliLifecycleCommand({'sessionId':_0x21b382,'configPath':_0x44d69c,'commandArgs':[..._0xbb1a5[_0x3348ca(0x1b8)]],'env':_0x25284d,'telemetry':_0x519127,'phase':_0xbb1a5['phase'],'metadata':_0x4202a3});}catch{}}}export async function loadVerifyFeatureCliTraceUploadArtifact(_0xa53846){const _0x35f4ce=_0x298b,_0x48f53f={'ShlET':_0x35f4ce(0x1b3),'yLwKO':'trace.trace.zip','JvjcZ':function(_0x34e96e,_0x556178,_0x4042ea){return _0x34e96e(_0x556178,_0x4042ea);}},_0x2026a1=[_0x48f53f[_0x35f4ce(0x16d)],_0x48f53f[_0x35f4ce(0x174)]];for(const _0x1356ce of _0x2026a1){const _0xb2088=_0x48f53f['JvjcZ'](join,_0xa53846,_0x1356ce);try{return{'buffer':await readFile(_0xb2088),'source':_0xb2088};}catch{}}return null;}export async function rehomeVerifyFeatureCliArtifacts(_0x2662c4){const _0x3bb64=_0x298b,_0x18a578={'rzaCu':function(_0x368b2b,_0x474e6d,_0x564fbc){return _0x368b2b(_0x474e6d,_0x564fbc);},'MSqkn':function(_0x17f124,_0x3da136,_0x1df3ab){return _0x17f124(_0x3da136,_0x1df3ab);},'FYQzd':function(_0x51e947,_0x5419d7){return _0x51e947(_0x5419d7);},'cUtnM':function(_0x13032c,_0x4c7cdb,_0x7d8a2d){return _0x13032c(_0x4c7cdb,_0x7d8a2d);}},{cwd:_0x3666e3,cliArtifactDir:_0x1cb111,startTime:_0x48c4fe}=_0x2662c4,_0x4f2aae=[];await _0x18a578['rzaCu'](mkdir,_0x1cb111,{'recursive':!![]});const _0x323428=await _0x18a578[_0x3bb64(0x1d0)](readdir,_0x3666e3,{'withFileTypes':!![]});for(const _0x12809f of _0x323428){if(!_0x12809f['isFile']()||!VERIFY_FEATURE_CLI_ARTIFACT_FILE_PATTERN[_0x3bb64(0x1c2)](_0x12809f['name']))continue;const _0x560288=_0x18a578[_0x3bb64(0x1d9)](join,_0x3666e3,_0x12809f[_0x3bb64(0x1a0)]),_0x8055d6=await _0x18a578[_0x3bb64(0x1ce)](stat,_0x560288);if(_0x8055d6[_0x3bb64(0x1ca)]+0x7d0<_0x48c4fe)continue;const _0xfa74ed=buildCliArtifactPath(_0x1cb111,_0x12809f[_0x3bb64(0x1a0)]);if(_0x560288===_0xfa74ed)continue;await _0x18a578['cUtnM'](rename,_0x560288,_0xfa74ed),_0x4f2aae['push'](_0x12809f[_0x3bb64(0x1a0)]);}return _0x4f2aae[_0x3bb64(0x1c1)]();}
@@ -7,7 +7,7 @@ description: "Ranger’s browser verification tooling that supplements a coding
7
7
 
8
8
  Run Ranger commands using `ranger-cli <args>`.
9
9
 
10
- **IMPORTANT: At the start of any session, run `ranger-cli update` to ensure you have the latest CLI and skills.**
10
+ **IMPORTANT: At the start of any session, check that you have the latest CLI and skills. If you were installed from `@latest`, run `ranger-cli update`. If you are on a prerelease (e.g., `@alpha`, version contains `-alpha.`), do NOT run `ranger-cli update` it will move you to `@latest` and off the prerelease track. Check with your team lead or re-install with `npm i -g @ranger-testing/ranger-cli@alpha` to stay current on that channel.**
11
11
 
12
12
  If you are running in Claude Code, read and suggest the following claude-specific commands to the user: [claude.md](./claude.md).
13
13
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ranger-testing/ranger-cli",
3
- "version": "2.5.4-alpha.78800d3-3",
3
+ "version": "2.5.4-alpha.a70fc60-4",
4
4
  "type": "module",
5
5
  "bin": {
6
6
  "ranger": "./build/cli.js",