@ranger-testing/ranger-cli 2.4.5 → 2.4.7

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/setup/claude.js +1 -1
  25. package/build/commands/setup/opencode.js +1 -1
  26. package/build/commands/setupCi.js +1 -1
  27. package/build/commands/skillup.js +1 -1
  28. package/build/commands/start.js +1 -1
  29. package/build/commands/status.js +1 -1
  30. package/build/commands/update.js +1 -1
  31. package/build/commands/updateEnv.js +1 -1
  32. package/build/commands/useEnv.js +1 -1
  33. package/build/commands/utils/activeProfile.js +1 -1
  34. package/build/commands/utils/agentEnv.js +1 -1
  35. package/build/commands/utils/browserSessionsApi.js +1 -1
  36. package/build/commands/utils/claudeConfig.js +1 -1
  37. package/build/commands/utils/claudeOverrideSettings.js +1 -1
  38. package/build/commands/utils/claudePlugin.js +1 -1
  39. package/build/commands/utils/crypto.js +1 -1
  40. package/build/commands/utils/desirePathLog.js +1 -1
  41. package/build/commands/utils/deviceAuth.js +1 -1
  42. package/build/commands/utils/environment.js +1 -1
  43. package/build/commands/utils/featureApi.js +1 -1
  44. package/build/commands/utils/featureReportGenerator.js +1 -1
  45. package/build/commands/utils/fixWebmDuration.js +1 -1
  46. package/build/commands/utils/git.js +1 -1
  47. package/build/commands/utils/keychain.js +1 -1
  48. package/build/commands/utils/localAgentInstallationsApi.js +1 -1
  49. package/build/commands/utils/mcpImageBase64.js +1 -1
  50. package/build/commands/utils/model.js +1 -1
  51. package/build/commands/utils/opencodeConfig.js +1 -1
  52. package/build/commands/utils/playwrightCli.js +1 -1
  53. package/build/commands/utils/profileMessages.js +1 -1
  54. package/build/commands/utils/profileSetupBanner.js +1 -1
  55. package/build/commands/utils/rangerConfig.js +1 -1
  56. package/build/commands/utils/rangerRoot.js +1 -1
  57. package/build/commands/utils/reportGenerator.js +1 -1
  58. package/build/commands/utils/retry.js +1 -1
  59. package/build/commands/utils/sessionCache.js +1 -1
  60. package/build/commands/utils/settings.js +1 -1
  61. package/build/commands/utils/skillContent.js +1 -1
  62. package/build/commands/utils/skills.js +1 -1
  63. package/build/commands/utils/stitchWebmFiles.js +1 -1
  64. package/build/commands/utils/telemetry.js +1 -1
  65. package/build/commands/utils/tokenRefresh.js +1 -1
  66. package/build/commands/utils/traceSnapshotMapper.js +1 -1
  67. package/build/commands/utils/userApi.js +1 -1
  68. package/build/commands/utils/version.js +1 -1
  69. package/build/commands/verifyFeature.js +1 -1
  70. package/build/commands/verifyFeatureCli.js +1 -1
  71. package/build/commands/verifyInBrowser.js +1 -1
  72. package/build/skills/ranger/SKILL.md +38 -41
  73. package/build/skills/ranger/create.md +5 -13
  74. package/build/skills/ranger/feedback.md +3 -3
  75. package/build/skills/ranger/start.md +13 -13
  76. package/build/skills/ranger/verify.md +15 -28
  77. package/package.json +5 -3
  78. package/scripts/postinstall.js +4 -1
@@ -1 +1 @@
1
- (function(_0x48132a,_0x297efd){const _0xe96e01=_0x50c3,_0x56c760=_0x48132a();while(!![]){try{const _0x465c0f=-parseInt(_0xe96e01(0x170))/0x1+parseInt(_0xe96e01(0x159))/0x2*(parseInt(_0xe96e01(0x1a8))/0x3)+parseInt(_0xe96e01(0x185))/0x4+-parseInt(_0xe96e01(0x161))/0x5*(-parseInt(_0xe96e01(0x1ca))/0x6)+parseInt(_0xe96e01(0x15d))/0x7+parseInt(_0xe96e01(0x179))/0x8*(-parseInt(_0xe96e01(0x16d))/0x9)+-parseInt(_0xe96e01(0x1ce))/0xa;if(_0x465c0f===_0x297efd)break;else _0x56c760['push'](_0x56c760['shift']());}catch(_0x50c5ef){_0x56c760['push'](_0x56c760['shift']());}}}(_0x4f4f,0x5b0a7));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(_0x5e892f,_0x160ad7=PLAYWRIGHT_CLI_PREVIEW_LIMIT){const _0x233d94=_0x50c3,_0x4f6a64={'GmEPi':function(_0x5c478a,_0x565fb8){return _0x5c478a>_0x565fb8;},'DiLXf':function(_0x350c50,_0x17ec4c){return _0x350c50+_0x17ec4c;},'ZdOXG':_0x233d94(0x1bf)};return _0x4f6a64[_0x233d94(0x1d9)](_0x5e892f[_0x233d94(0x15a)],_0x160ad7)?_0x4f6a64[_0x233d94(0x1b6)](_0x5e892f[_0x233d94(0x1ad)](0x0,_0x160ad7),_0x4f6a64['ZdOXG']):_0x5e892f;}function buildCliArtifactPath(_0x26780e,_0x21e413){const _0x139f76={'gQYSc':function(_0x8eb401,_0x174325,_0x498c4c){return _0x8eb401(_0x174325,_0x498c4c);}};return _0x139f76['gQYSc'](join,_0x26780e,_0x21e413);}function toStepDisplayName(_0x12943a){const _0x223194=_0x50c3,_0x44d740={'IuNdW':function(_0x480266,_0x10ca92){return _0x480266(_0x10ca92);},'VYMuV':function(_0x171380,_0x4dbc4b){return _0x171380(_0x4dbc4b);}},_0x4c3d5a=_0x44d740[_0x223194(0x1a9)](basename,_0x12943a)[_0x223194(0x16b)](/\.(?:png|ya?ml)$/i,'')['replace'](/^key_/i,'')[_0x223194(0x16b)](/^\d+_/,'')[_0x223194(0x16b)](/-/g,'\x20');return{'name':_0x4c3d5a,'isKeyStep':/^key_/i[_0x223194(0x1af)](_0x44d740['VYMuV'](basename,_0x12943a))};}function _0x50c3(_0x32a2a7,_0x2ef518){_0x32a2a7=_0x32a2a7-0x159;const _0x4f4feb=_0x4f4f();let _0x50c3e5=_0x4f4feb[_0x32a2a7];return _0x50c3e5;}function extractShellValue(_0x4249a2){if(!_0x4249a2)return null;return _0x4249a2[0x1]??_0x4249a2[0x2]??_0x4249a2[0x3]??null;}function extractFilenameOption(_0x28c12a){const _0x49b04e=_0x50c3,_0x596b14={'ggAbp':function(_0x1000fc,_0x4382de){return _0x1000fc(_0x4382de);}};return _0x596b14[_0x49b04e(0x1da)](extractShellValue,_0x28c12a['match'](/--filename(?:=|\s+)(?:"([^"]+)"|'([^']+)'|(\S+))/));}function extractFirstCommandArgument(_0x3f7f5e,_0x24339e){const _0x43838b=_0x50c3,_0x21977f={'gLdVc':_0x43838b(0x1b0)},_0x1620ab=_0x24339e['replace'](/[.*+?^${}()|[\]\\]/g,_0x21977f['gLdVc']);return extractShellValue(_0x3f7f5e[_0x43838b(0x175)](new RegExp('(?:^|\x5cs)'+_0x1620ab+_0x43838b(0x176))));}function formatCommandTarget(_0x3577dc){const _0x56e01e=_0x50c3,_0x431d53={'HiwLq':_0x56e01e(0x1d1),'BNKkl':function(_0x5a738c,_0x34ccb0,_0x58c17f){return _0x5a738c(_0x34ccb0,_0x58c17f);}};if(!_0x3577dc)return _0x431d53['HiwLq'];if(/^e\d+$/i[_0x56e01e(0x1af)](_0x3577dc))return _0x56e01e(0x189)+_0x3577dc;return JSON['stringify'](_0x431d53[_0x56e01e(0x1d6)](truncatePreview,_0x3577dc,0x78));}function formatPlaywrightCliLog(_0x23d90f,_0x1fa3b5){const _0x4da8a8=_0x50c3,_0x4f0f57={'hWaWA':'open','juAah':function(_0x3d0175,_0x51b2bd,_0x28c1b3){return _0x3d0175(_0x51b2bd,_0x28c1b3);},'KdykM':'tracing-start','CYORS':_0x4da8a8(0x16a),'HLsWl':_0x4da8a8(0x1de),'KsgXz':'video-stop','dtdfd':function(_0x4d0221,_0x5988dd){return _0x4d0221(_0x5988dd);},'uJgvL':function(_0x51eff8,_0x483250){return _0x51eff8(_0x483250);},'cGWug':_0x4da8a8(0x1b1),'AIMAk':'click','kdKzR':function(_0x3fa772,_0x4e7fb5){return _0x3fa772(_0x4e7fb5);},'scLJJ':function(_0x3b5533,_0x2d0863){return _0x3b5533(_0x2d0863);},'vTWsp':'press','DDdYh':'run-code','afYQD':'run\x20custom\x20Playwright\x20code','vUDJr':'tab-new','HClUE':'open\x20new\x20tab','nzUEc':_0x4da8a8(0x1dc),'WiJWY':'select\x20tab'};switch(_0x1fa3b5){case _0x4f0f57[_0x4da8a8(0x162)]:{const _0x18e614=_0x4f0f57[_0x4da8a8(0x1c2)](extractFirstCommandArgument,_0x23d90f,_0x1fa3b5);return _0x18e614?_0x4da8a8(0x1a7)+_0x18e614:'open\x20browser';}case _0x4f0f57[_0x4da8a8(0x1cc)]:return _0x4f0f57[_0x4da8a8(0x1c1)];case _0x4da8a8(0x178):return _0x4f0f57[_0x4da8a8(0x1c6)];case'video-start':return'start\x20video\x20recording';case _0x4f0f57[_0x4da8a8(0x15c)]:return'stop\x20video\x20recording';case _0x4da8a8(0x1a4):{const _0x2a5861=_0x4f0f57[_0x4da8a8(0x1df)](extractFilenameOption,_0x23d90f);if(!_0x2a5861)return'capture\x20snapshot';const {name:_0x2b80ee}=_0x4f0f57['uJgvL'](toStepDisplayName,_0x2a5861);return _0x4da8a8(0x1aa)+_0x2b80ee+'`';}case _0x4f0f57[_0x4da8a8(0x17d)]:{const _0x8bb7da=_0x4f0f57['dtdfd'](extractFilenameOption,_0x23d90f);if(!_0x8bb7da)return _0x4da8a8(0x193);const {name:_0x5b956d,isKeyStep:_0x344f01}=_0x4f0f57['dtdfd'](toStepDisplayName,_0x8bb7da);return _0x344f01?_0x4da8a8(0x17b)+_0x5b956d+'`':_0x4da8a8(0x173)+_0x5b956d+'`';}case _0x4f0f57[_0x4da8a8(0x1c5)]:return _0x4da8a8(0x184)+formatCommandTarget(extractFirstCommandArgument(_0x23d90f,_0x1fa3b5));case _0x4da8a8(0x1c0):return _0x4da8a8(0x163)+_0x4f0f57['kdKzR'](formatCommandTarget,_0x4f0f57['juAah'](extractFirstCommandArgument,_0x23d90f,_0x1fa3b5));case _0x4da8a8(0x1b7):return'fill\x20'+_0x4f0f57[_0x4da8a8(0x17c)](formatCommandTarget,extractFirstCommandArgument(_0x23d90f,_0x1fa3b5));case _0x4f0f57['vTWsp']:return'press\x20'+formatCommandTarget(_0x4f0f57['juAah'](extractFirstCommandArgument,_0x23d90f,_0x1fa3b5));case _0x4f0f57['DDdYh']:return _0x4f0f57['afYQD'];case _0x4f0f57['vUDJr']:{const _0x202f12=_0x4f0f57[_0x4da8a8(0x1c2)](extractFirstCommandArgument,_0x23d90f,_0x1fa3b5);return _0x202f12?_0x4da8a8(0x182)+_0x202f12:_0x4f0f57[_0x4da8a8(0x1c9)];}case _0x4f0f57['nzUEc']:{const _0x57fc0c=extractFirstCommandArgument(_0x23d90f,_0x1fa3b5);return _0x57fc0c?_0x4da8a8(0x1b5)+_0x57fc0c:_0x4f0f57[_0x4da8a8(0x1d5)];}default:return _0x1fa3b5;}}function extractPlaywrightCliToolDescription(_0x424808){const _0x5a303e={'pveRs':function(_0x24eb3f,_0x1cd3c1){return _0x24eb3f>_0x1cd3c1;}},_0x112c6b=_0x424808['description'];if(typeof _0x112c6b!=='string')return null;const _0x33538a=_0x112c6b['trim']()['replace'](/\s+/g,'\x20');return _0x5a303e['pveRs'](_0x33538a['length'],0x0)?_0x33538a:null;}function _0x4f4f(){const _0x883a2c=['gMoll','\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','23453TIXdXh','short','authorEmail','capture\x20step\x20`','invocation','match','(?:\x5cs+(?:\x22([^\x22]+)\x22|\x27([^\x27]+)\x27|(\x5cS+)))','`,\x20then\x20`','tracing-stop','24LeUTkT','.\x0aThis\x20is\x20NOT\x20a\x20web\x20app\x20—\x20there\x20is\x20no\x20URL\x20to\x20navigate\x20to.\x20The\x20app\x20is\x20already\x20running\x20and\x20connected.','capture\x20key\x20step\x20`','scLJJ','cGWug','\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','--filename=','MbTOu','\x20snapshot\x20--filename\x20','open\x20new\x20tab\x20','fEcox','click\x20','388272Iatshl','\x22,\x20\x22','fydDw','trace.zip','ref\x20','oMFZh','\x20tracing-start`,\x20then\x20`','sort','`\x0a7.\x20Click\x20the\x20\x22Learn\x20More\x22\x20link\x20with\x20Playwright\x20CLI\x0a8.\x20Run\x20`','playwright_cli_close','DEBUG','`\x0a10.\x20Return\x20immediately\x20with\x20the\x20structured\x20output\x0a\x0aReturn\x20your\x20findings\x20in\x20the\x20structured\x20output\x20format.','IxUib','key_04_success-state.png','capture\x20screenshot','PostToolUseFailure','QuusM','fcYmL','pURpm','\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','element','error','`\x0a\x0a-\x20Write\x20all\x20artifacts\x20under\x20`','CmHIX','Reviewer','##\x20Instructions\x0a1.\x20Use\x20Bash\x20plus\x20Playwright\x20CLI\x20only.\x20Do\x20NOT\x20call\x20MCP\x20browser\x20tools.\x0a2.\x20Start\x20by\x20running\x20`','##\x20App\x20Context\x0aYou\x20are\x20connected\x20to\x20a\x20desktop\x20application\x20via\x20CDP\x20(Chrome\x20DevTools\x20Protocol)\x20at\x20','iDlBz','\x20screenshot\x20--filename\x20','notes','en-US','snapshot','`\x20using\x20absolute\x20paths\x20only.\x20Do\x20not\x20use\x20relative\x20filenames.\x0a4.\x20Take\x20a\x20snapshot\x20with\x20`','mSjfK','open\x20','582EtrNCo','IuNdW','capture\x20snapshot\x20`','\x20video-start`.\x0a3.\x20Save\x20every\x20snapshot\x20and\x20screenshot\x20under\x20`','log','slice','nnHyw','test','\x5c$&','screenshot','\x0a\x0a##\x20Authentication\x0aBEFORE\x20starting\x20the\x20verification\x20task,\x20you\x20MUST\x20authenticate\x20using\x20these\x20steps:\x0a','commandArgs','\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','select\x20tab\x20','DiLXf','fill','ftVwD','CoECi','tool_failure','playwright-cli','`\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`','Fgpyc','**\x20(','...','check','CYORS','juAah','vKhvr','03_learn-more.png','AIMAk','HLsWl','ysguQ','wzDkW','HClUE','37794gvsUvZ','\x0a\x0a##\x20Expected\x20Flow\x20(from\x20previous\x20verification)\x0a','KdykM','`\x0a9.\x20Run\x20`','5479310UVUmUi','tool_input','\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','target','qCXjU','set','stderr','WiJWY','BNKkl','\x20>\x20','hook_event_name','GmEPi','ggAbp','split','tab-select','get','stop\x20tracing','dtdfd','3656elheHZ','length','trackPhaseStart','KsgXz','3384304ZvxpIi','`\x20using\x20absolute\x20paths\x20only.\x20Do\x20not\x20use\x20relative\x20filenames.\x0a5.\x20Run\x20`','\x0a\x0a##\x20Task\x20to\x20Execute\x0a','name','10cdtIDm','hWaWA','check\x20','playwright_cli_tracing_stop','tool_name','pop','You\x20are\x20testing\x20browser\x20automation.\x20Your\x20task\x20is\x20simple:\x0a\x0aUse\x20Bash\x20and\x20Playwright\x20CLI\x20only.\x20The\x20browser\x20command\x20prefix\x20is:\x0a','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','opvnP','start\x20tracing','replace','video-stop','10449VzVWTR'];_0x4f4f=function(){return _0x883a2c;};return _0x4f4f();}export function formatPlaywrightCliConsoleLogMessage(_0x535f62,_0xcc1b17,_0x1cfba7){const _0x4a64f3=_0x50c3,_0x10c578={'FQOBr':function(_0x4c0a5c,_0x2462d5){return _0x4c0a5c(_0x2462d5);}},_0x24de0a=formatPlaywrightCliLog(_0xcc1b17,_0x1cfba7),_0x48f48c=_0x10c578['FQOBr'](extractPlaywrightCliToolDescription,_0x535f62);if(!_0x48f48c)return'[playwright-cli]\x20'+_0x24de0a;if(process['env'][_0x4a64f3(0x18f)])return'[ranger-verification-agent]\x20'+_0x48f48c+'\x20('+_0x24de0a+')';return'[ranger-verification-agent]\x20'+_0x48f48c;}export function buildVerifyFeatureCliDebugPrompt(_0x32b99d,_0x5cdf26){const _0x27aaae=_0x50c3,_0x30c7de={'opvnP':function(_0x3e07e9,_0x43a55a,_0x1ebdf1){return _0x3e07e9(_0x43a55a,_0x1ebdf1);},'RUohe':'01_mozilla-homepage.png','iDlBz':function(_0x47f44c,_0x206809){return _0x47f44c(_0x206809);}},_0xb70620=_0x30c7de[_0x27aaae(0x169)](buildCliArtifactPath,_0x5cdf26,'00_mozilla-homepage.yml'),_0xc62adf=buildCliArtifactPath(_0x5cdf26,_0x30c7de['RUohe']),_0x58b241=buildCliArtifactPath(_0x5cdf26,'02_learn-more.yml'),_0x1f9f57=buildCliArtifactPath(_0x5cdf26,_0x27aaae(0x1c4)),_0x444702=_0x30c7de[_0x27aaae(0x1a0)](quoteShellArg,_0xb70620),_0x3068b8=quoteShellArg(_0xc62adf),_0x4133da=quoteShellArg(_0x58b241),_0x386c12=quoteShellArg(_0x1f9f57);return _0x27aaae(0x167)+_0x32b99d+'\x0a\x0a1.\x20Run\x20`'+_0x32b99d+'\x20open\x20https://www.mozilla.org`\x0a2.\x20Run\x20`'+_0x32b99d+'\x20tracing-start`\x0a3.\x20Run\x20`'+_0x32b99d+'\x20video-start`\x0a4.\x20Save\x20every\x20snapshot\x20and\x20screenshot\x20under\x20`'+_0x5cdf26+_0x27aaae(0x15e)+_0x32b99d+'\x20snapshot\x20--filename\x20'+_0x444702+'`\x0a5.\x20Read\x20the\x20snapshot\x20file\x20to\x20find\x20the\x20\x22Learn\x20More\x22\x20link\x20reference\x0a6.\x20Run\x20`'+_0x32b99d+'\x20screenshot\x20--filename\x20'+_0x3068b8+_0x27aaae(0x18d)+_0x32b99d+'\x20snapshot\x20--filename\x20'+_0x4133da+_0x27aaae(0x1cd)+_0x32b99d+_0x27aaae(0x1a1)+_0x386c12+_0x27aaae(0x190);}export function buildVerifyFeatureCliPrompt(_0x4d3b03){const _0xe911ff=_0x50c3,_0x1e71e2={'shnyp':_0xe911ff(0x1a3),'bYTAC':_0xe911ff(0x19d),'IxUib':function(_0x16bbd4,_0x294879,_0x4fbfa8){return _0x16bbd4(_0x294879,_0x4fbfa8);},'QuusM':function(_0x4ed23f,_0x3e4ae7,_0x58115c){return _0x4ed23f(_0x3e4ae7,_0x58115c);},'vjDRD':'key_03_success-state.png','xrfTe':'01_initial-state.png','wzDkW':function(_0x324b34,_0x54ae79){return _0x324b34(_0x54ae79);},'vKhvr':function(_0x35279e,_0x5bba51){return _0x35279e(_0x5bba51);},'oMFZh':function(_0x3ffb0d,_0x1cf221){return _0x3ffb0d(_0x1cf221);},'dtMdO':function(_0x58cdaf,_0x3934f9){return _0x58cdaf>_0x3934f9;},'KyWGz':'03_result-visible.png'},{checklistItem:_0x3117f4,itemFeedback:_0x46a8a3,taskDescription:_0x2c1e05,cliCommandPrefix:_0x1e1e3c,cliArtifactDir:_0x779879,isCdpMode:_0x1f6886,url:_0x273d04,cdpEndpoint:_0x4aac4e,loginInstructions:_0x154574}=_0x4d3b03,_0x56aa87=buildCliArtifactPath(_0x779879,'01_initial.yml'),_0x52855c=_0x1e71e2['IxUib'](buildCliArtifactPath,_0x779879,'02_state.yml'),_0x366570=_0x1e71e2[_0xe911ff(0x195)](buildCliArtifactPath,_0x779879,_0x1e71e2['vjDRD']),_0x26abcc=buildCliArtifactPath(_0x779879,_0x1e71e2['xrfTe']),_0x3f80c1=_0x1e71e2[_0xe911ff(0x1c8)](quoteShellArg,_0x56aa87),_0x25cf95=quoteShellArg(_0x52855c),_0x5abe4e=_0x1e71e2[_0xe911ff(0x1c3)](quoteShellArg,_0x366570),_0x3656cd=_0x1e71e2[_0xe911ff(0x18a)](quoteShellArg,_0x26abcc),_0x346abe=_0x3117f4['notes']?'\x0a\x0a##\x20Additional\x20Notes\x0a'+_0x3117f4[_0xe911ff(0x1a2)]:'';let _0x31b494='';if(_0x46a8a3&&_0x1e71e2['dtMdO'](_0x46a8a3['unaddressedComments']['length'],0x0)){const _0x3fad81=_0x46a8a3['unaddressedComments']['map'](_0x47e56a=>{const _0x528b22=_0xe911ff,_0x3064a2=new Date(_0x47e56a['createdAt'])['toLocaleDateString'](_0x1e71e2['shnyp'],{'month':_0x528b22(0x171),'day':'numeric'}),_0x310ce3=_0x47e56a['authorName']||_0x47e56a[_0x528b22(0x172)]||_0x1e71e2['bYTAC'],_0x55df2b=_0x47e56a['domRef']?'\x20(on\x20element:\x20<'+(_0x47e56a['domRef']['selector'][_0x528b22(0x1db)](_0x528b22(0x1d7))[_0x528b22(0x166)]()?.['split'](':')[0x0]||_0x528b22(0x199))+'>\x20\x22'+(_0x47e56a['domRef']['textContent']||'')[_0x528b22(0x1ad)](0x0,0x32)+'\x22)':'';return'-\x20['+_0x47e56a['id']+']\x20**'+_0x310ce3+_0x528b22(0x1be)+_0x3064a2+'):\x20\x22'+_0x47e56a['content']+'\x22'+_0x55df2b;})['join']('\x0a');_0x31b494=_0xe911ff(0x1d0)+_0x3fad81;}const _0x35bd00=_0x46a8a3?.['canonicalFlow']?_0xe911ff(0x1cb)+_0x46a8a3['canonicalFlow']:'',_0x47b0d6=_0x1f6886?_0xe911ff(0x19f)+_0x4aac4e+_0xe911ff(0x17a):'CRITICAL\x20URL\x20REQUIREMENT:\x0aYour\x20base\x20URL\x20is:\x20'+_0x273d04+_0xe911ff(0x1b4),_0x4752d5=_0x273d04?quoteShellArg(_0x273d04):'',_0xdd2745=_0x1f6886?'##\x20Instructions\x0a1.\x20Use\x20Bash\x20plus\x20Playwright\x20CLI\x20only.\x20Do\x20NOT\x20call\x20MCP\x20browser\x20tools.\x0a2.\x20Start\x20by\x20running\x20`'+_0x1e1e3c+'\x20open`,\x20then\x20`'+_0x1e1e3c+'\x20tracing-start`,\x20then\x20`'+_0x1e1e3c+'\x20video-start`.\x0a3.\x20Save\x20every\x20snapshot\x20and\x20screenshot\x20under\x20`'+_0x779879+_0xe911ff(0x1a5)+_0x1e1e3c+_0xe911ff(0x181)+_0x3f80c1+_0xe911ff(0x1bc)+_0x1e1e3c+_0xe911ff(0x1a1)+_0x3656cd+'`\x20style\x20absolute\x20paths\x20at\x20key\x20moments.\x0a6.\x20If\x20you\x20need\x20waits\x20or\x20custom\x20assertions,\x20use\x20`'+_0x1e1e3c+_0xe911ff(0x17e):_0xe911ff(0x19e)+_0x1e1e3c+'\x20open\x20'+_0x4752d5+_0xe911ff(0x177)+_0x1e1e3c+_0xe911ff(0x18b)+_0x1e1e3c+_0xe911ff(0x1ab)+_0x779879+'`\x20using\x20absolute\x20paths\x20only.\x20Do\x20not\x20use\x20relative\x20filenames.\x0a4.\x20Take\x20a\x20snapshot\x20with\x20`'+_0x1e1e3c+'\x20snapshot\x20--filename\x20'+_0x3f80c1+'`\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`'+_0x1e1e3c+_0xe911ff(0x1a1)+_0x3656cd+'`\x20style\x20absolute\x20paths\x20at\x20key\x20moments.\x0a8.\x20If\x20you\x20need\x20waits\x20or\x20custom\x20assertions,\x20use\x20`'+_0x1e1e3c+_0xe911ff(0x16f),_0x31749e=_0x1f6886?'\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.',_0x128e9e=_0x154574?_0xe911ff(0x1b2)+_0x154574+'\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 _0xe911ff(0x168)+_0x3117f4['description']+_0x346abe+_0x31b494+_0x35bd00+_0xe911ff(0x15f)+_0x2c1e05+'\x0a\x0a'+_0x47b0d6+_0x128e9e+'\x0a\x0a'+_0xdd2745+'\x0a\x0a##\x20Browser\x20Command\x20Reference\x0aUse\x20Bash\x20to\x20run\x20Playwright\x20CLI\x20commands\x20with\x20this\x20exact\x20prefix:\x0a`'+_0x1e1e3c+_0xe911ff(0x19b)+_0x779879+'`\x0a-\x20`snapshot\x20--filename\x20'+_0x25cf95+'`\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'+_0x5abe4e+'`\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`'+_0x779879+'`:\x20\x22'+_0x26abcc+_0xe911ff(0x186)+_0x1e71e2['IxUib'](buildCliArtifactPath,_0x779879,'02_button-clicked.png')+_0xe911ff(0x186)+_0x1e71e2[_0xe911ff(0x191)](buildCliArtifactPath,_0x779879,_0x1e71e2['KyWGz'])+'\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'+_0x1e71e2[_0xe911ff(0x195)](buildCliArtifactPath,_0x779879,_0xe911ff(0x192))+_0xe911ff(0x198)+_0x31749e+'\x0a##\x20Evaluation\x20Criteria\x0a-\x20VERIFIED:\x20The\x20task\x20completed\x20successfully\x20and\x20the\x20scenario\x20requirements\x20are\x20fully\x20met\x0a-\x20PARTIAL:\x20The\x20task\x20partially\x20completed\x20but\x20some\x20aspects\x20of\x20the\x20scenario\x20are\x20not\x20verified\x0a-\x20BLOCKED:\x20A\x20blocking\x20issue\x20(bug,\x20error,\x20missing\x20feature)\x20prevents\x20completion\x0a-\x20FAILED:\x20The\x20task\x20could\x20not\x20be\x20completed\x20due\x20to\x20errors\x0a\x0aReturn\x20your\x20findings\x20in\x20the\x20structured\x20output\x20format\x20with\x20your\x20evaluation.';}export function summarizeVerifyFeatureCliCommandAvailability(_0x3393d9){const _0x21ca16=_0x50c3,_0x39d017={'qCXjU':function(_0x24eb9c,_0x47e282){return _0x24eb9c===_0x47e282;}},_0x366c9f=[..._0x3393d9['keys']()]['sort']();let _0x2f4d63=0x0;for(const _0xd4e78e of _0x3393d9['values']()){_0x2f4d63+=_0xd4e78e;}return{'cliCommandCount':_0x2f4d63,'cliCommandsSeen':_0x366c9f,'noCliCommandsCalled':_0x39d017[_0x21ca16(0x1d2)](_0x2f4d63,0x0)};}export function createVerifyFeatureCliHooks(_0x2308db){const _0xb5edf2=_0x50c3,_0x728a93={'Vsjig':'PostToolUse','CmHIX':'Bash','pURpm':function(_0x394ef8,_0x503d00){return _0x394ef8(_0x503d00);},'mSjfK':function(_0x3ec9b4,_0x397353){return _0x3ec9b4+_0x397353;},'Jdchq':'tool_call','dgQse':_0xb5edf2(0x1bb),'gMoll':function(_0x4171bd,_0x17c701){return _0x4171bd!==_0x17c701;},'nnHyw':function(_0x4c4f55,_0x1a6f13,_0x4174dc,_0x56da5e){return _0x4c4f55(_0x1a6f13,_0x4174dc,_0x56da5e);},'fcYmL':function(_0x393a0e,_0x29e2f4){return _0x393a0e!==_0x29e2f4;},'CoECi':_0xb5edf2(0x194),'bIPny':function(_0x18cbf7,_0x9d93a6){return _0x18cbf7!==_0x9d93a6;}},_0x4dba50=new Map(),_0x11f0de=async _0x506987=>{const _0x2141c3=_0xb5edf2;if(_0x506987[_0x2141c3(0x1d8)]!==_0x728a93['Vsjig'])return{};const _0x2cc198=_0x506987;if(_0x2cc198[_0x2141c3(0x165)]!==_0x728a93['CmHIX'])return{};const _0x53b698=_0x2cc198[_0x2141c3(0x1cf)],_0xab1e52=_0x728a93[_0x2141c3(0x197)](extractBashCommand,_0x53b698);if(!_0xab1e52)return{};const _0x524fc7=_0x728a93[_0x2141c3(0x197)](parsePlaywrightCliCommand,_0xab1e52);if(!_0x524fc7)return{};return _0x4dba50[_0x2141c3(0x1d3)](_0x524fc7,_0x728a93[_0x2141c3(0x1a6)](_0x4dba50[_0x2141c3(0x1dd)](_0x524fc7)||0x0,0x1)),_0x2308db['trackPhaseStart'](_0x728a93['Jdchq'],{'transport':'playwright-cli','toolName':_0x524fc7}),_0x2308db['trackPhaseEnd']('tool_call',{'transport':_0x728a93['dgQse'],'toolName':_0x524fc7,'bashCommandPreview':truncatePreview(_0xab1e52)}),_0x728a93[_0x2141c3(0x16e)](_0x524fc7,'snapshot')&&console[_0x2141c3(0x1ac)](_0x728a93[_0x2141c3(0x1ae)](formatPlaywrightCliConsoleLogMessage,_0x53b698,_0xab1e52,_0x524fc7)),{};},_0x1099f5=async _0x23c304=>{const _0x2ee3b7=_0xb5edf2;if(_0x728a93[_0x2ee3b7(0x196)](_0x23c304['hook_event_name'],_0x728a93[_0x2ee3b7(0x1b9)]))return{};const _0xd9bb06=_0x23c304;if(_0x728a93['bIPny'](_0xd9bb06['tool_name'],_0x728a93['CmHIX']))return{};return await _0x2308db['trackPhaseError'](_0x2ee3b7(0x1ba),_0xd9bb06[_0x2ee3b7(0x19a)],{'transport':_0x728a93['dgQse'],'toolName':_0x728a93[_0x2ee3b7(0x19c)]}),{};};return{'postToolUseHook':_0x11f0de,'postToolUseFailureHook':_0x1099f5,'commandCounts':_0x4dba50};}async function runPlaywrightCliLifecycleCommand(_0x4e97e1){const _0x3de9f5=_0x50c3,_0x21f693={'mQonP':function(_0x3bc500,_0x37fe30){return _0x3bc500??_0x37fe30;},'ysguQ':function(_0x2234b0,_0x326606,_0x278874){return _0x2234b0(_0x326606,_0x278874);}},{sessionId:_0x2833a6,configPath:_0x631e8c,commandArgs:_0x21f5cb,env:_0x544416,telemetry:_0xb76722,phase:_0x2cd469,metadata:_0x4cdeaf,timeoutMs:_0x268d7b}=_0x4e97e1;_0xb76722[_0x3de9f5(0x15b)](_0x2cd469,_0x4cdeaf);try{const _0x34f765=await runPlaywrightCliCommand({'sessionId':_0x2833a6,'configPath':_0x631e8c,'commandArgs':_0x21f5cb,'cwd':process['cwd'](),'env':_0x544416,'timeoutMs':_0x21f693['mQonP'](_0x268d7b,PLAYWRIGHT_CLI_COMMAND_TIMEOUT_MS)});_0xb76722['trackPhaseEnd'](_0x2cd469,{..._0x4cdeaf,'subcommand':_0x34f765[_0x3de9f5(0x174)]['subcommand'],'stdoutPreview':_0x21f693[_0x3de9f5(0x1c7)](truncatePreview,_0x34f765['stdout'],0x7d0),'stderrPreview':truncatePreview(_0x34f765[_0x3de9f5(0x1d4)],0x7d0)});}catch(_0x41d811){await _0xb76722['trackPhaseError'](_0x2cd469,_0x41d811,_0x4cdeaf);throw _0x41d811;}}export async function finalizeVerifyFeatureCliSession(_0x5661f1){const _0x5e3295=_0x50c3,_0x72ef74={'KgTid':_0x5e3295(0x164),'fEcox':'playwright_cli_video_stop','ftVwD':_0x5e3295(0x16c),'lqswq':function(_0x479e79,_0x155081,_0x4a4362){return _0x479e79(_0x155081,_0x4a4362);},'ctVpD':'close','yRYYg':function(_0x425723,_0x4b5218){return _0x425723(_0x4b5218);}},{telemetry:_0x377019,sessionId:_0x12bb4f,configPath:_0x257280,cliArtifactDir:_0x24336c,env:_0xf22b9c,transportMetadata:_0x30b8ea}=_0x5661f1,_0x20020f=[{'phase':_0x72ef74['KgTid'],'commandArgs':['tracing-stop']},{'phase':_0x72ef74[_0x5e3295(0x183)],'commandArgs':[_0x72ef74[_0x5e3295(0x1b8)],_0x5e3295(0x17f)+_0x72ef74['lqswq'](buildCliArtifactPath,_0x24336c,'session-recording.webm')]},{'phase':_0x5e3295(0x18e),'commandArgs':[_0x72ef74['ctVpD']]}];for(const _0x1b88ad of _0x20020f){try{await _0x72ef74['yRYYg'](runPlaywrightCliLifecycleCommand,{'sessionId':_0x12bb4f,'configPath':_0x257280,'commandArgs':[..._0x1b88ad[_0x5e3295(0x1b3)]],'env':_0xf22b9c,'telemetry':_0x377019,'phase':_0x1b88ad['phase'],'metadata':_0x30b8ea});}catch{}}}export async function loadVerifyFeatureCliTraceUploadArtifact(_0x2891a2){const _0x53de15=_0x50c3,_0x77a3dc={'Fgpyc':_0x53de15(0x188),'lxJqx':function(_0x26b2a2,_0xa27524,_0x1077a5){return _0x26b2a2(_0xa27524,_0x1077a5);}},_0x1f55be=[_0x77a3dc[_0x53de15(0x1bd)],'trace.trace.zip'];for(const _0x39d4a1 of _0x1f55be){const _0x16fdea=_0x77a3dc['lxJqx'](join,_0x2891a2,_0x39d4a1);try{return{'buffer':await readFile(_0x16fdea),'source':_0x16fdea};}catch{}}return null;}export async function rehomeVerifyFeatureCliArtifacts(_0x4e9061){const _0x5d5901=_0x50c3,_0x580106={'JHdid':function(_0x1641f9,_0x17e344,_0x1e4158){return _0x1641f9(_0x17e344,_0x1e4158);},'FDGzX':function(_0x442ac0,_0x5bdb0b){return _0x442ac0(_0x5bdb0b);},'fydDw':function(_0x2b1726,_0x1cefdc,_0x5204b0){return _0x2b1726(_0x1cefdc,_0x5204b0);},'vlGKa':function(_0x3c79bc,_0x4d95a9){return _0x3c79bc===_0x4d95a9;},'MbTOu':function(_0x425cc8,_0xa15677,_0x4dd558){return _0x425cc8(_0xa15677,_0x4dd558);}},{cwd:_0x64fb52,cliArtifactDir:_0x1f29ef,startTime:_0x2c1aab}=_0x4e9061,_0x3587b2=[];await mkdir(_0x1f29ef,{'recursive':!![]});const _0x40bc43=await _0x580106['JHdid'](readdir,_0x64fb52,{'withFileTypes':!![]});for(const _0x216540 of _0x40bc43){if(!_0x216540['isFile']()||!VERIFY_FEATURE_CLI_ARTIFACT_FILE_PATTERN['test'](_0x216540[_0x5d5901(0x160)]))continue;const _0x12b155=join(_0x64fb52,_0x216540[_0x5d5901(0x160)]),_0x3c39a7=await _0x580106['FDGzX'](stat,_0x12b155);if(_0x3c39a7['mtimeMs']+0x7d0<_0x2c1aab)continue;const _0x7f3d05=_0x580106[_0x5d5901(0x187)](buildCliArtifactPath,_0x1f29ef,_0x216540[_0x5d5901(0x160)]);if(_0x580106['vlGKa'](_0x12b155,_0x7f3d05))continue;await _0x580106[_0x5d5901(0x180)](rename,_0x12b155,_0x7f3d05),_0x3587b2['push'](_0x216540[_0x5d5901(0x160)]);}return _0x3587b2[_0x5d5901(0x18c)]();}
1
+ (function(_0x118e7e,_0x309120){const _0x4252dc=_0x2ec9,_0x3d3d7e=_0x118e7e();while(!![]){try{const _0xc01591=parseInt(_0x4252dc(0x89))/0x1+parseInt(_0x4252dc(0x98))/0x2*(-parseInt(_0x4252dc(0xaf))/0x3)+-parseInt(_0x4252dc(0xd1))/0x4+-parseInt(_0x4252dc(0x8d))/0x5*(parseInt(_0x4252dc(0x97))/0x6)+parseInt(_0x4252dc(0xd8))/0x7+-parseInt(_0x4252dc(0xc2))/0x8+parseInt(_0x4252dc(0x8b))/0x9*(parseInt(_0x4252dc(0xda))/0xa);if(_0xc01591===_0x309120)break;else _0x3d3d7e['push'](_0x3d3d7e['shift']());}catch(_0x3eb7f0){_0x3d3d7e['push'](_0x3d3d7e['shift']());}}}(_0x361d,0xf0805));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(_0x2189a1,_0x95fd5e=PLAYWRIGHT_CLI_PREVIEW_LIMIT){const _0x597de9=_0x2ec9,_0x5730d8={'AqUIK':function(_0x1cfd60,_0x5a2bb3){return _0x1cfd60>_0x5a2bb3;},'YlfFb':function(_0x53782c,_0x48bdad){return _0x53782c+_0x48bdad;},'RtITh':_0x597de9(0xa7)};return _0x5730d8[_0x597de9(0xcb)](_0x2189a1[_0x597de9(0xdf)],_0x95fd5e)?_0x5730d8['YlfFb'](_0x2189a1['slice'](0x0,_0x95fd5e),_0x5730d8['RtITh']):_0x2189a1;}function _0x2ec9(_0x39dd4a,_0x27daa2){_0x39dd4a=_0x39dd4a-0x66;const _0x361dc3=_0x361d();let _0x2ec9a0=_0x361dc3[_0x39dd4a];return _0x2ec9a0;}function buildCliArtifactPath(_0x344ea6,_0x4c3e26){const _0x18a942=_0x2ec9,_0x364a51={'vBuLG':function(_0x46997d,_0x25359a,_0x348a88){return _0x46997d(_0x25359a,_0x348a88);}};return _0x364a51[_0x18a942(0xa8)](join,_0x344ea6,_0x4c3e26);}function toStepDisplayName(_0x161082){const _0x2d198a=_0x2ec9,_0x57ce95=basename(_0x161082)[_0x2d198a(0xb8)](/\.(?:png|ya?ml)$/i,'')['replace'](/^key_/i,'')['replace'](/^\d+_/,'')[_0x2d198a(0xb8)](/-/g,'\x20');return{'name':_0x57ce95,'isKeyStep':/^key_/i[_0x2d198a(0xc5)](basename(_0x161082))};}function extractShellValue(_0x401a5f){if(!_0x401a5f)return null;return _0x401a5f[0x1]??_0x401a5f[0x2]??_0x401a5f[0x3]??null;}function _0x361d(){const _0x20db49=['inoGm','121149McwUQA','trackPhaseError','press','01_initial.yml','`\x20style\x20absolute\x20paths\x20at\x20key\x20moments.\x0a8.\x20If\x20you\x20need\x20waits\x20or\x20custom\x20assertions,\x20use\x20`','match','start\x20video\x20recording','\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.','trackPhaseEnd','replace','tracing-stop','\x22,\x20\x22','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','hook_event_name','textContent','[ranger-verification-agent]\x20','`\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`','trace.trace.zip','key_04_success-state.png','11372704Mwyoqp','oePlw','JfOJO','test','unaddressedComments','selector','domRef','iSRwZ','\x20(on\x20element:\x20<','AqUIK','--filename=','oCZUi','HhDIK','`:\x20\x22','authorEmail','999888ABGBmF','session-recording.webm','xZQqf','wwWom','ryRwK','select\x20tab\x20','values','9843393mBrZxl','capture\x20snapshot','570jtaDmq','uNzhy','\x0a\x0a##\x20Additional\x20Notes\x0a','`\x0a-\x20`snapshot\x20--filename\x20','notes','length','capture\x20snapshot\x20`','stderr','open','stop\x20video\x20recording','start\x20tracing','canonicalFlow','MTUnu','KrRIc','tool_call','iHhCM','01_mozilla-homepage.png','\x20video-start`\x0a4.\x20Save\x20every\x20snapshot\x20and\x20screenshot\x20under\x20`','UjaQu','PostToolUse','TmfZF','jipEG','tqgww','pop','\x20screenshot\x20--filename\x20','YyWFN','trackPhaseStart','EYYlz','numeric','\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.','env','\x20open\x20','`\x0a5.\x20Read\x20the\x20snapshot\x20file\x20to\x20find\x20the\x20\x22Learn\x20More\x22\x20link\x20reference\x0a6.\x20Run\x20`','capture\x20key\x20step\x20`','`,\x20then\x20`','\x0a\x0a##\x20Expected\x20Flow\x20(from\x20previous\x20verification)\x0a','ZnQvl','stringify','dNuoW','TAKLT','get','check\x20','625321DHzmZo','\x20tracing-start`,\x20then\x20`','521820CkgYAP','capture\x20step\x20`','6735440VnxChY','keys','ref\x20','##\x20Instructions\x0a1.\x20Use\x20Bash\x20plus\x20Playwright\x20CLI\x20only.\x20Do\x20NOT\x20call\x20MCP\x20browser\x20tools.\x0a2.\x20Start\x20by\x20running\x20`','JxcIa','\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','snapshot','check','`\x20using\x20absolute\x20paths\x20only.\x20Do\x20not\x20use\x20relative\x20filenames.\x0a4.\x20Take\x20a\x20snapshot\x20with\x20`','fill\x20','6gKyBet','66tZgWDf','open\x20browser','Bash','map','name','video-stop','split','`\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','DxNQO','playwright-cli','`\x0a\x0a-\x20Write\x20all\x20artifacts\x20under\x20`','\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.','string','eAAQc','GMgzy','...','vBuLG','stop\x20tracing','01_initial-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','tab-select','You\x20are\x20testing\x20browser\x20automation.\x20Your\x20task\x20is\x20simple:\x0a\x0aUse\x20Bash\x20and\x20Playwright\x20CLI\x20only.\x20The\x20browser\x20command\x20prefix\x20is:\x0a'];_0x361d=function(){return _0x20db49;};return _0x361d();}function extractFilenameOption(_0x1b0d9f){const _0x167796=_0x2ec9;return extractShellValue(_0x1b0d9f[_0x167796(0xb4)](/--filename(?:=|\s+)(?:"([^"]+)"|'([^']+)'|(\S+))/));}function extractFirstCommandArgument(_0x492164,_0x1859f6){const _0x51d430=_0x2ec9,_0x1403e6={'HhDIK':'\x5c$&'},_0x1ddcda=_0x1859f6['replace'](/[.*+?^${}()|[\]\\]/g,_0x1403e6[_0x51d430(0xce)]);return extractShellValue(_0x492164['match'](new RegExp('(?:^|\x5cs)'+_0x1ddcda+'(?:\x5cs+(?:\x22([^\x22]+)\x22|\x27([^\x27]+)\x27|(\x5cS+)))')));}function formatCommandTarget(_0x90236d){const _0x594b8f=_0x2ec9,_0x1b4fcc={'rYVwg':function(_0x549161,_0x352f93,_0x29261a){return _0x549161(_0x352f93,_0x29261a);}};if(!_0x90236d)return'target';if(/^e\d+$/i[_0x594b8f(0xc5)](_0x90236d))return _0x594b8f(0x8f)+_0x90236d;return JSON[_0x594b8f(0x84)](_0x1b4fcc['rYVwg'](truncatePreview,_0x90236d,0x78));}function formatPlaywrightCliLog(_0x3b02e9,_0x5dd060){const _0x4f9199=_0x2ec9,_0x110069={'DxNQO':function(_0x16bafc,_0x4b4436,_0xe62c93){return _0x16bafc(_0x4b4436,_0xe62c93);},'GoeRk':_0x4f9199(0x99),'yaJhc':_0x4f9199(0xb9),'iSRwZ':'video-start','MTUnu':_0x4f9199(0xb5),'GWtHb':_0x4f9199(0x9d),'MdfXJ':'screenshot','YyWFN':function(_0x1ee2b4,_0x314889){return _0x1ee2b4(_0x314889);},'xvbmD':'capture\x20screenshot','xZQqf':function(_0x3dcdfa,_0x2b3e88){return _0x3dcdfa(_0x2b3e88);},'wEGMf':function(_0x520dd8,_0x204c0c,_0xebfe6){return _0x520dd8(_0x204c0c,_0xebfe6);},'LYxud':function(_0x2588d6,_0x435a64,_0x208cc6){return _0x2588d6(_0x435a64,_0x208cc6);},'avhud':_0x4f9199(0xb1),'jipEG':'run-code','xYCCU':'run\x20custom\x20Playwright\x20code','EYYlz':function(_0x56333e,_0x5acbd0,_0x3e8b49){return _0x56333e(_0x5acbd0,_0x3e8b49);},'JxcIa':'open\x20new\x20tab','HzKaI':'select\x20tab'};switch(_0x5dd060){case _0x4f9199(0x67):{const _0x34090b=_0x110069[_0x4f9199(0xa0)](extractFirstCommandArgument,_0x3b02e9,_0x5dd060);return _0x34090b?'open\x20'+_0x34090b:_0x110069['GoeRk'];}case'tracing-start':return _0x4f9199(0x69);case _0x110069['yaJhc']:return _0x4f9199(0xa9);case _0x110069[_0x4f9199(0xc9)]:return _0x110069[_0x4f9199(0x6b)];case _0x110069['GWtHb']:return _0x4f9199(0x68);case'snapshot':{const _0x36ea6c=extractFilenameOption(_0x3b02e9);if(!_0x36ea6c)return _0x4f9199(0xd9);const {name:_0x42a934}=toStepDisplayName(_0x36ea6c);return _0x4f9199(0xe0)+_0x42a934+'`';}case _0x110069['MdfXJ']:{const _0x24eb99=_0x110069[_0x4f9199(0x78)](extractFilenameOption,_0x3b02e9);if(!_0x24eb99)return _0x110069['xvbmD'];const {name:_0x4326cb,isKeyStep:_0xb6606b}=toStepDisplayName(_0x24eb99);return _0xb6606b?_0x4f9199(0x80)+_0x4326cb+'`':_0x4f9199(0x8c)+_0x4326cb+'`';}case'click':return'click\x20'+formatCommandTarget(extractFirstCommandArgument(_0x3b02e9,_0x5dd060));case _0x4f9199(0x94):return _0x4f9199(0x88)+_0x110069['xZQqf'](formatCommandTarget,_0x110069['wEGMf'](extractFirstCommandArgument,_0x3b02e9,_0x5dd060));case'fill':return _0x4f9199(0x96)+formatCommandTarget(_0x110069['LYxud'](extractFirstCommandArgument,_0x3b02e9,_0x5dd060));case _0x110069['avhud']:return'press\x20'+_0x110069[_0x4f9199(0xd3)](formatCommandTarget,_0x110069['LYxud'](extractFirstCommandArgument,_0x3b02e9,_0x5dd060));case _0x110069[_0x4f9199(0x74)]:return _0x110069['xYCCU'];case'tab-new':{const _0x251acf=_0x110069[_0x4f9199(0x7a)](extractFirstCommandArgument,_0x3b02e9,_0x5dd060);return _0x251acf?'open\x20new\x20tab\x20'+_0x251acf:_0x110069[_0x4f9199(0x91)];}case _0x4f9199(0xac):{const _0x5a186f=extractFirstCommandArgument(_0x3b02e9,_0x5dd060);return _0x5a186f?_0x4f9199(0xd6)+_0x5a186f:_0x110069['HzKaI'];}default:return _0x5dd060;}}function extractPlaywrightCliToolDescription(_0x4a0517){const _0x175376=_0x2ec9,_0x2dc489={'UjaQu':function(_0x1cb5cb,_0x3f7cef){return _0x1cb5cb!==_0x3f7cef;},'uNzhy':function(_0xca8a72,_0x3d102b){return _0xca8a72>_0x3d102b;}},_0x1f9919=_0x4a0517['description'];if(_0x2dc489[_0x175376(0x71)](typeof _0x1f9919,_0x175376(0xa4)))return null;const _0xe0db49=_0x1f9919['trim']()['replace'](/\s+/g,'\x20');return _0x2dc489[_0x175376(0xdb)](_0xe0db49['length'],0x0)?_0xe0db49:null;}export function formatPlaywrightCliConsoleLogMessage(_0x5bfde1,_0x161223,_0x4432a9){const _0x571180=_0x2ec9,_0x437141={'bJiNB':function(_0x2eac83,_0x9f74c1,_0x5421f6){return _0x2eac83(_0x9f74c1,_0x5421f6);},'oCZUi':function(_0x469a45,_0x42e158){return _0x469a45(_0x42e158);}},_0x2bab3a=_0x437141['bJiNB'](formatPlaywrightCliLog,_0x161223,_0x4432a9),_0x127cdb=_0x437141[_0x571180(0xcd)](extractPlaywrightCliToolDescription,_0x5bfde1);if(!_0x127cdb)return'[playwright-cli]\x20'+_0x2bab3a;if(process[_0x571180(0x7d)]['DEBUG'])return _0x571180(0xbe)+_0x127cdb+'\x20('+_0x2bab3a+')';return _0x571180(0xbe)+_0x127cdb;}export function buildVerifyFeatureCliDebugPrompt(_0x30d0c4,_0x51ee07){const _0x2e8631=_0x2ec9,_0x51c828={'zCsjL':function(_0x234660,_0x307a02,_0x320013){return _0x234660(_0x307a02,_0x320013);},'sigAy':function(_0x5c4cce,_0x4cc0e2,_0x262e93){return _0x5c4cce(_0x4cc0e2,_0x262e93);},'dNuoW':_0x2e8631(0x6f),'TAKLT':function(_0x4c782f,_0x169cdd){return _0x4c782f(_0x169cdd);}},_0x3b973a=_0x51c828['zCsjL'](buildCliArtifactPath,_0x51ee07,'00_mozilla-homepage.yml'),_0x55a560=_0x51c828['sigAy'](buildCliArtifactPath,_0x51ee07,_0x51c828[_0x2e8631(0x85)]),_0x2f7107=buildCliArtifactPath(_0x51ee07,'02_learn-more.yml'),_0x313611=buildCliArtifactPath(_0x51ee07,'03_learn-more.png'),_0x15113b=_0x51c828[_0x2e8631(0x86)](quoteShellArg,_0x3b973a),_0x5bbaa2=_0x51c828[_0x2e8631(0x86)](quoteShellArg,_0x55a560),_0xdcaccf=_0x51c828[_0x2e8631(0x86)](quoteShellArg,_0x2f7107),_0x5b1529=quoteShellArg(_0x313611);return _0x2e8631(0xad)+_0x30d0c4+'\x0a\x0a1.\x20Run\x20`'+_0x30d0c4+'\x20open\x20https://www.mozilla.org`\x0a2.\x20Run\x20`'+_0x30d0c4+'\x20tracing-start`\x0a3.\x20Run\x20`'+_0x30d0c4+_0x2e8631(0x70)+_0x51ee07+'`\x20using\x20absolute\x20paths\x20only.\x20Do\x20not\x20use\x20relative\x20filenames.\x0a5.\x20Run\x20`'+_0x30d0c4+'\x20snapshot\x20--filename\x20'+_0x15113b+_0x2e8631(0x7f)+_0x30d0c4+_0x2e8631(0x77)+_0x5bbaa2+'`\x0a7.\x20Click\x20the\x20\x22Learn\x20More\x22\x20link\x20with\x20Playwright\x20CLI\x0a8.\x20Run\x20`'+_0x30d0c4+'\x20snapshot\x20--filename\x20'+_0xdcaccf+'`\x0a9.\x20Run\x20`'+_0x30d0c4+'\x20screenshot\x20--filename\x20'+_0x5b1529+'`\x0a10.\x20Return\x20immediately\x20with\x20the\x20structured\x20output\x0a\x0aReturn\x20your\x20findings\x20in\x20the\x20structured\x20output\x20format.';}export function buildVerifyFeatureCliPrompt(_0x414025){const _0x22bcd0=_0x2ec9,_0x36cb39={'TmfZF':'Reviewer','ryRwK':'\x20>\x20','iHhCM':'element','tqgww':function(_0x3699bb,_0x24a36c,_0x11f2ba){return _0x3699bb(_0x24a36c,_0x11f2ba);},'KrRIc':'02_state.yml','BONRY':function(_0x2af455,_0x294c3b){return _0x2af455(_0x294c3b);},'AtnoV':function(_0x1679e8,_0x3fab8f){return _0x1679e8(_0x3fab8f);},'gmOpt':function(_0x6192cd,_0x5936d4){return _0x6192cd(_0x5936d4);},'wwWom':'03_result-visible.png'},{checklistItem:_0x34fc3e,itemFeedback:_0x2f34fa,taskDescription:_0x263dac,cliCommandPrefix:_0x344f84,cliArtifactDir:_0x2cb66f,isCdpMode:_0x1bc2b0,url:_0x6b4c4f,cdpEndpoint:_0x5ef2e0,loginInstructions:_0x19d55e}=_0x414025,_0x2b9967=_0x36cb39[_0x22bcd0(0x75)](buildCliArtifactPath,_0x2cb66f,_0x22bcd0(0xb2)),_0x2c0f1e=buildCliArtifactPath(_0x2cb66f,_0x36cb39[_0x22bcd0(0x6c)]),_0x5473aa=buildCliArtifactPath(_0x2cb66f,'key_03_success-state.png'),_0x4c4eb7=_0x36cb39['tqgww'](buildCliArtifactPath,_0x2cb66f,_0x22bcd0(0xaa)),_0x13b485=quoteShellArg(_0x2b9967),_0x5e0369=_0x36cb39['BONRY'](quoteShellArg,_0x2c0f1e),_0xf5f853=_0x36cb39['AtnoV'](quoteShellArg,_0x5473aa),_0x4d4f5e=_0x36cb39['gmOpt'](quoteShellArg,_0x4c4eb7),_0x2357b1=_0x34fc3e['notes']?_0x22bcd0(0xdc)+_0x34fc3e[_0x22bcd0(0xde)]:'';let _0x384fd3='';if(_0x2f34fa&&_0x2f34fa[_0x22bcd0(0xc6)][_0x22bcd0(0xdf)]>0x0){const _0x451cb8=_0x2f34fa['unaddressedComments'][_0x22bcd0(0x9b)](_0x5357b1=>{const _0x14d1e8=_0x22bcd0,_0xc43aff=new Date(_0x5357b1['createdAt'])['toLocaleDateString']('en-US',{'month':'short','day':_0x14d1e8(0x7b)}),_0x24d84d=_0x5357b1['authorName']||_0x5357b1[_0x14d1e8(0xd0)]||_0x36cb39[_0x14d1e8(0x73)],_0x5452aa=_0x5357b1[_0x14d1e8(0xc8)]?_0x14d1e8(0xca)+(_0x5357b1['domRef'][_0x14d1e8(0xc7)]['split'](_0x36cb39[_0x14d1e8(0xd5)])[_0x14d1e8(0x76)]()?.[_0x14d1e8(0x9e)](':')[0x0]||_0x36cb39[_0x14d1e8(0x6e)])+'>\x20\x22'+(_0x5357b1[_0x14d1e8(0xc8)][_0x14d1e8(0xbd)]||'')['slice'](0x0,0x32)+'\x22)':'';return'-\x20['+_0x5357b1['id']+']\x20**'+_0x24d84d+'**\x20('+_0xc43aff+'):\x20\x22'+_0x5357b1['content']+'\x22'+_0x5452aa;})['join']('\x0a');_0x384fd3='\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'+_0x451cb8;}const _0x5001dc=_0x2f34fa?.[_0x22bcd0(0x6a)]?_0x22bcd0(0x82)+_0x2f34fa['canonicalFlow']:'',_0x16d98f=_0x1bc2b0?'##\x20App\x20Context\x0aYou\x20are\x20connected\x20to\x20a\x20desktop\x20application\x20via\x20CDP\x20(Chrome\x20DevTools\x20Protocol)\x20at\x20'+_0x5ef2e0+'.\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'+_0x6b4c4f+'\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',_0x582fb2=_0x6b4c4f?quoteShellArg(_0x6b4c4f):'',_0x49e255=_0x1bc2b0?'##\x20Instructions\x0a1.\x20Use\x20Bash\x20plus\x20Playwright\x20CLI\x20only.\x20Do\x20NOT\x20call\x20MCP\x20browser\x20tools.\x0a2.\x20Start\x20by\x20running\x20`'+_0x344f84+'\x20open`,\x20then\x20`'+_0x344f84+_0x22bcd0(0x8a)+_0x344f84+'\x20video-start`.\x0a3.\x20Save\x20every\x20snapshot\x20and\x20screenshot\x20under\x20`'+_0x2cb66f+'`\x20using\x20absolute\x20paths\x20only.\x20Do\x20not\x20use\x20relative\x20filenames.\x0a4.\x20Take\x20a\x20snapshot\x20with\x20`'+_0x344f84+'\x20snapshot\x20--filename\x20'+_0x13b485+_0x22bcd0(0xbf)+_0x344f84+_0x22bcd0(0x77)+_0x4d4f5e+'`\x20style\x20absolute\x20paths\x20at\x20key\x20moments.\x0a6.\x20If\x20you\x20need\x20waits\x20or\x20custom\x20assertions,\x20use\x20`'+_0x344f84+_0x22bcd0(0x92):_0x22bcd0(0x90)+_0x344f84+_0x22bcd0(0x7e)+_0x582fb2+_0x22bcd0(0x81)+_0x344f84+'\x20tracing-start`,\x20then\x20`'+_0x344f84+'\x20video-start`.\x0a3.\x20Save\x20every\x20snapshot\x20and\x20screenshot\x20under\x20`'+_0x2cb66f+_0x22bcd0(0x95)+_0x344f84+'\x20snapshot\x20--filename\x20'+_0x13b485+'`\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`'+_0x344f84+'\x20screenshot\x20--filename\x20'+_0x4d4f5e+_0x22bcd0(0xb3)+_0x344f84+'\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',_0x430256=_0x1bc2b0?_0x22bcd0(0xb6):_0x22bcd0(0x7c),_0x5e35e0=_0x19d55e?'\x0a\x0a##\x20Authentication\x0aBEFORE\x20starting\x20the\x20verification\x20task,\x20you\x20MUST\x20authenticate\x20using\x20these\x20steps:\x0a'+_0x19d55e+'\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 _0x22bcd0(0xbb)+_0x34fc3e['description']+_0x2357b1+_0x384fd3+_0x5001dc+'\x0a\x0a##\x20Task\x20to\x20Execute\x0a'+_0x263dac+'\x0a\x0a'+_0x16d98f+_0x5e35e0+'\x0a\x0a'+_0x49e255+'\x0a\x0a##\x20Browser\x20Command\x20Reference\x0aUse\x20Bash\x20to\x20run\x20Playwright\x20CLI\x20commands\x20with\x20this\x20exact\x20prefix:\x0a`'+_0x344f84+_0x22bcd0(0xa2)+_0x2cb66f+_0x22bcd0(0xdd)+_0x5e0369+_0x22bcd0(0x9f)+_0xf5f853+'`\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`'+_0x2cb66f+_0x22bcd0(0xcf)+_0x4c4eb7+_0x22bcd0(0xba)+_0x36cb39['tqgww'](buildCliArtifactPath,_0x2cb66f,'02_button-clicked.png')+'\x22,\x20\x22'+_0x36cb39[_0x22bcd0(0x75)](buildCliArtifactPath,_0x2cb66f,_0x36cb39[_0x22bcd0(0xd4)])+'\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(_0x2cb66f,_0x22bcd0(0xc1))+_0x22bcd0(0xab)+_0x430256+_0x22bcd0(0xa3);}export function summarizeVerifyFeatureCliCommandAvailability(_0x25ae88){const _0x3de636=_0x2ec9,_0x59244d={'mjrrn':function(_0x545d4f,_0x430f9c){return _0x545d4f===_0x430f9c;}},_0x2a753f=[..._0x25ae88[_0x3de636(0x8e)]()]['sort']();let _0x50b39b=0x0;for(const _0x16378f of _0x25ae88[_0x3de636(0xd7)]()){_0x50b39b+=_0x16378f;}return{'cliCommandCount':_0x50b39b,'cliCommandsSeen':_0x2a753f,'noCliCommandsCalled':_0x59244d['mjrrn'](_0x50b39b,0x0)};}export function createVerifyFeatureCliHooks(_0x408dbb){const _0x3b1064=_0x2ec9,_0x4f82ed={'PMUbi':function(_0x4dd636,_0x4f710f){return _0x4dd636!==_0x4f710f;},'rZBCh':function(_0x3b36f9,_0x57bb72){return _0x3b36f9(_0x57bb72);},'GMgzy':_0x3b1064(0x6d),'oePlw':function(_0x17802b,_0x28f115){return _0x17802b(_0x28f115);},'KOKfw':_0x3b1064(0x93),'JfOJO':function(_0x4aa6e2,_0x14e2a3,_0x2d71e9,_0x39f6da){return _0x4aa6e2(_0x14e2a3,_0x2d71e9,_0x39f6da);},'PebxH':function(_0x74076,_0x41dc03){return _0x74076!==_0x41dc03;},'rVWgh':'PostToolUseFailure','ZnQvl':function(_0x39f956,_0x4036b6){return _0x39f956!==_0x4036b6;},'AigYb':_0x3b1064(0x9a)},_0x4c421d=new Map(),_0x48f9bd=async _0x39d414=>{const _0x766dbc=_0x3b1064;if(_0x39d414[_0x766dbc(0xbc)]!==_0x766dbc(0x72))return{};const _0x17058c=_0x39d414;if(_0x4f82ed['PMUbi'](_0x17058c['tool_name'],_0x766dbc(0x9a)))return{};const _0x37a872=_0x17058c['tool_input'],_0x21acba=_0x4f82ed['rZBCh'](extractBashCommand,_0x37a872);if(!_0x21acba)return{};const _0x10ee82=parsePlaywrightCliCommand(_0x21acba);if(!_0x10ee82)return{};return _0x4c421d['set'](_0x10ee82,(_0x4c421d[_0x766dbc(0x87)](_0x10ee82)||0x0)+0x1),_0x408dbb[_0x766dbc(0x79)](_0x4f82ed[_0x766dbc(0xa6)],{'transport':'playwright-cli','toolName':_0x10ee82}),_0x408dbb['trackPhaseEnd']('tool_call',{'transport':_0x766dbc(0xa1),'toolName':_0x10ee82,'bashCommandPreview':_0x4f82ed[_0x766dbc(0xc3)](truncatePreview,_0x21acba)}),_0x10ee82!==_0x4f82ed['KOKfw']&&console['log'](_0x4f82ed[_0x766dbc(0xc4)](formatPlaywrightCliConsoleLogMessage,_0x37a872,_0x21acba,_0x10ee82)),{};},_0x591510=async _0x5d4035=>{const _0x389627=_0x3b1064;if(_0x4f82ed['PebxH'](_0x5d4035[_0x389627(0xbc)],_0x4f82ed['rVWgh']))return{};const _0x45535f=_0x5d4035;if(_0x4f82ed[_0x389627(0x83)](_0x45535f['tool_name'],_0x4f82ed['AigYb']))return{};return await _0x408dbb[_0x389627(0xb0)]('tool_failure',_0x45535f['error'],{'transport':_0x389627(0xa1),'toolName':'Bash'}),{};};return{'postToolUseHook':_0x48f9bd,'postToolUseFailureHook':_0x591510,'commandCounts':_0x4c421d};}async function runPlaywrightCliLifecycleCommand(_0x1a95f9){const _0x17620c=_0x2ec9,_0x2a2d21={'QCWfE':function(_0x4699c3,_0x31282d){return _0x4699c3??_0x31282d;},'zPBZD':function(_0x454085,_0x552619,_0x4afcb1){return _0x454085(_0x552619,_0x4afcb1);}},{sessionId:_0x42c9c1,configPath:_0xe6fc4,commandArgs:_0x1c462f,env:_0x38f83e,telemetry:_0x3cd7a3,phase:_0x33a0fb,metadata:_0x1ee60d,timeoutMs:_0x40d470}=_0x1a95f9;_0x3cd7a3['trackPhaseStart'](_0x33a0fb,_0x1ee60d);try{const _0x1abfec=await runPlaywrightCliCommand({'sessionId':_0x42c9c1,'configPath':_0xe6fc4,'commandArgs':_0x1c462f,'cwd':process['cwd'](),'env':_0x38f83e,'timeoutMs':_0x2a2d21['QCWfE'](_0x40d470,PLAYWRIGHT_CLI_COMMAND_TIMEOUT_MS)});_0x3cd7a3[_0x17620c(0xb7)](_0x33a0fb,{..._0x1ee60d,'subcommand':_0x1abfec['invocation']['subcommand'],'stdoutPreview':truncatePreview(_0x1abfec['stdout'],0x7d0),'stderrPreview':_0x2a2d21['zPBZD'](truncatePreview,_0x1abfec[_0x17620c(0x66)],0x7d0)});}catch(_0x41b42c){await _0x3cd7a3[_0x17620c(0xb0)](_0x33a0fb,_0x41b42c,_0x1ee60d);throw _0x41b42c;}}export async function finalizeVerifyFeatureCliSession(_0x1d166b){const _0x49d3ca=_0x2ec9,_0x547b7e={'CoywU':'video-stop','kPqHJ':function(_0x480992,_0x5ea7ec,_0x487ff2){return _0x480992(_0x5ea7ec,_0x487ff2);},'inoGm':'playwright_cli_close','wEdRG':'close','eAAQc':function(_0x28902a,_0x1285e3){return _0x28902a(_0x1285e3);}},{telemetry:_0x3a6d74,sessionId:_0x7047a6,configPath:_0x1099ab,cliArtifactDir:_0x498393,env:_0x41198e,transportMetadata:_0x218a6d}=_0x1d166b,_0x58f738=[{'phase':'playwright_cli_tracing_stop','commandArgs':['tracing-stop']},{'phase':'playwright_cli_video_stop','commandArgs':[_0x547b7e['CoywU'],_0x49d3ca(0xcc)+_0x547b7e['kPqHJ'](buildCliArtifactPath,_0x498393,_0x49d3ca(0xd2))]},{'phase':_0x547b7e[_0x49d3ca(0xae)],'commandArgs':[_0x547b7e['wEdRG']]}];for(const _0x44899e of _0x58f738){try{await _0x547b7e[_0x49d3ca(0xa5)](runPlaywrightCliLifecycleCommand,{'sessionId':_0x7047a6,'configPath':_0x1099ab,'commandArgs':[..._0x44899e['commandArgs']],'env':_0x41198e,'telemetry':_0x3a6d74,'phase':_0x44899e['phase'],'metadata':_0x218a6d});}catch{}}}export async function loadVerifyFeatureCliTraceUploadArtifact(_0x466b05){const _0x1085dc=_0x2ec9,_0x8e4942={'bbOye':'trace.zip'},_0x147833=[_0x8e4942['bbOye'],_0x1085dc(0xc0)];for(const _0x5a4fb6 of _0x147833){const _0x52bd23=join(_0x466b05,_0x5a4fb6);try{return{'buffer':await readFile(_0x52bd23),'source':_0x52bd23};}catch{}}return null;}export async function rehomeVerifyFeatureCliArtifacts(_0x3bf8a8){const _0x34d22d=_0x2ec9,_0x5172a7={'ygkCJ':function(_0x12a4d4,_0x413b84,_0x5d048b){return _0x12a4d4(_0x413b84,_0x5d048b);},'oENXR':function(_0x20d634,_0x4f876e,_0x253835){return _0x20d634(_0x4f876e,_0x253835);},'GVxRn':function(_0x3cb79e,_0x3b89da){return _0x3cb79e(_0x3b89da);},'UBIVY':function(_0x2bcc0d,_0x480f65){return _0x2bcc0d<_0x480f65;},'rskbZ':function(_0x5b3e0c,_0x5a4124){return _0x5b3e0c+_0x5a4124;},'fLQYn':function(_0x4ded54,_0x47a584,_0x1fdda6){return _0x4ded54(_0x47a584,_0x1fdda6);}},{cwd:_0x3e5441,cliArtifactDir:_0x5c4581,startTime:_0x1fb16d}=_0x3bf8a8,_0x3f77cd=[];await mkdir(_0x5c4581,{'recursive':!![]});const _0x18f7b2=await _0x5172a7['ygkCJ'](readdir,_0x3e5441,{'withFileTypes':!![]});for(const _0x546962 of _0x18f7b2){if(!_0x546962['isFile']()||!VERIFY_FEATURE_CLI_ARTIFACT_FILE_PATTERN[_0x34d22d(0xc5)](_0x546962['name']))continue;const _0x348ba7=_0x5172a7['oENXR'](join,_0x3e5441,_0x546962[_0x34d22d(0x9c)]),_0x15c523=await _0x5172a7['GVxRn'](stat,_0x348ba7);if(_0x5172a7['UBIVY'](_0x5172a7['rskbZ'](_0x15c523['mtimeMs'],0x7d0),_0x1fb16d))continue;const _0x5bde80=_0x5172a7['fLQYn'](buildCliArtifactPath,_0x5c4581,_0x546962[_0x34d22d(0x9c)]);if(_0x348ba7===_0x5bde80)continue;await rename(_0x348ba7,_0x5bde80),_0x3f77cd['push'](_0x546962[_0x34d22d(0x9c)]);}return _0x3f77cd['sort']();}
@@ -1 +1 @@
1
- (function(_0x16e8e1,_0x9e62bd){const _0x3765cf=_0x4ad5,_0x964613=_0x16e8e1();while(!![]){try{const _0x43e67b=parseInt(_0x3765cf(0x206))/0x1+parseInt(_0x3765cf(0x24b))/0x2+parseInt(_0x3765cf(0x2a7))/0x3*(parseInt(_0x3765cf(0x2ad))/0x4)+parseInt(_0x3765cf(0x279))/0x5+-parseInt(_0x3765cf(0x22c))/0x6+parseInt(_0x3765cf(0x24f))/0x7+parseInt(_0x3765cf(0x1f1))/0x8*(-parseInt(_0x3765cf(0x236))/0x9);if(_0x43e67b===_0x9e62bd)break;else _0x964613['push'](_0x964613['shift']());}catch(_0x173a4b){_0x964613['push'](_0x964613['shift']());}}}(_0x47b0,0x1e48c));const _0x529fb0=(function(){const _0x2c643a=_0x4ad5,_0x1c50d8={'nIwFq':function(_0x4ef7ac,_0x4b8455,_0x4c1313,_0x2d8af5,_0x23e47d){return _0x4ef7ac(_0x4b8455,_0x4c1313,_0x2d8af5,_0x23e47d);},'sfKUz':function(_0x1fc245){return _0x1fc245();},'GnUMm':_0x2c643a(0x209),'qKrKe':_0x2c643a(0x1f8),'PQRaa':function(_0x1e1345,_0x1afdd7){return _0x1e1345===_0x1afdd7;},'RHMTo':_0x2c643a(0x208)};let _0x3807b7=!![];return function(_0x108afc,_0x51f3ad){const _0x153e70=_0x2c643a;if(_0x1c50d8[_0x153e70(0x20a)](_0x1c50d8['RHMTo'],_0x1c50d8[_0x153e70(0x258)])){const _0x14946=_0x3807b7?function(){const _0x1e1e4a=_0x153e70;if(_0x51f3ad){const _0x5deaba=_0x51f3ad[_0x1e1e4a(0x21a)](_0x108afc,arguments);return _0x51f3ad=null,_0x5deaba;}}:function(){};return _0x3807b7=![],_0x14946;}else return _0x1c50d8['nIwFq'](_0x3f64a8,_0x1c50d8[_0x153e70(0x2b3)](_0x5b7d0d),_0x1c50d8[_0x153e70(0x21f)],_0x5c375d,_0x1c50d8[_0x153e70(0x268)]);};}()),_0x3d283f=_0x529fb0(this,function(){const _0x32ca2a=_0x4ad5,_0x374b5c={'CLauH':_0x32ca2a(0x2ae)};return _0x3d283f[_0x32ca2a(0x1f9)]()[_0x32ca2a(0x262)](_0x374b5c[_0x32ca2a(0x299)])['toString']()['constructor'](_0x3d283f)[_0x32ca2a(0x262)](_0x374b5c[_0x32ca2a(0x299)]);});_0x3d283f();function _0x4ad5(_0x4f7319,_0x160724){_0x4f7319=_0x4f7319-0x1f1;const _0x2878f5=_0x47b0();let _0x3d283f=_0x2878f5[_0x4f7319];if(_0x4ad5['ioNQIU']===undefined){var _0x529fb0=function(_0x1932d0){const _0x44c293='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x371e33='',_0x1734d9='',_0x33bfb1=_0x371e33+_0x529fb0;for(let _0x85c4ea=0x0,_0x59195f,_0x43727d,_0x16b363=0x0;_0x43727d=_0x1932d0['charAt'](_0x16b363++);~_0x43727d&&(_0x59195f=_0x85c4ea%0x4?_0x59195f*0x40+_0x43727d:_0x43727d,_0x85c4ea++%0x4)?_0x371e33+=_0x33bfb1['charCodeAt'](_0x16b363+0xa)-0xa!==0x0?String['fromCharCode'](0xff&_0x59195f>>(-0x2*_0x85c4ea&0x6)):_0x85c4ea:0x0){_0x43727d=_0x44c293['indexOf'](_0x43727d);}for(let _0x16dad1=0x0,_0x3dc143=_0x371e33['length'];_0x16dad1<_0x3dc143;_0x16dad1++){_0x1734d9+='%'+('00'+_0x371e33['charCodeAt'](_0x16dad1)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x1734d9);};_0x4ad5['zmVhuq']=_0x529fb0,_0x4ad5['OuZwwC']={},_0x4ad5['ioNQIU']=!![];}const _0x47b0c6=_0x2878f5[0x0],_0x4ad5d1=_0x4f7319+_0x47b0c6,_0x34ab5b=_0x4ad5['OuZwwC'][_0x4ad5d1];if(!_0x34ab5b){const _0x5151f2=function(_0x1cba8e){this['nwMvBc']=_0x1cba8e,this['PgUmSm']=[0x1,0x0,0x0],this['mhoYul']=function(){return'newState';},this['OoZaiN']='\x5cw+\x20*\x5c(\x5c)\x20*{\x5cw+\x20*',this['UgSGnN']='[\x27|\x22].+[\x27|\x22];?\x20*}';};_0x5151f2['prototype']['KKiyGs']=function(){const _0x4bba34=new RegExp(this['OoZaiN']+this['UgSGnN']),_0x155796=_0x4bba34['test'](this['mhoYul']['toString']())?--this['PgUmSm'][0x1]:--this['PgUmSm'][0x0];return this['dLGWto'](_0x155796);},_0x5151f2['prototype']['dLGWto']=function(_0x2640a4){if(!Boolean(~_0x2640a4))return _0x2640a4;return this['ayfOtz'](this['nwMvBc']);},_0x5151f2['prototype']['ayfOtz']=function(_0x2c048a){for(let _0xbcdf39=0x0,_0x583530=this['PgUmSm']['length'];_0xbcdf39<_0x583530;_0xbcdf39++){this['PgUmSm']['push'](Math['round'](Math['random']())),_0x583530=this['PgUmSm']['length'];}return _0x2c048a(this['PgUmSm'][0x0]);},new _0x5151f2(_0x4ad5)['KKiyGs'](),_0x3d283f=_0x4ad5['zmVhuq'](_0x3d283f),_0x4ad5['OuZwwC'][_0x4ad5d1]=_0x3d283f;}else _0x3d283f=_0x34ab5b;return _0x3d283f;}import{query}from'@anthropic-ai/claude-agent-sdk';import{join,dirname}from'path';import{readFile,readdir,appendFile,mkdir,rm}from'fs/promises';import{existsSync}from'fs';import{execSync}from'child_process';import{tmpdir}from'os';import{loadSettings,resolveEnvVars,buildPlaywrightConfig,cleanupTempFiles,getEnvDir}from'./utils/settings.js';import{createBrowserSession,updateBrowserSession,getUploadUrls,uploadTrace,uploadConversation,uploadScreenshot,buildTraceViewerUrl,getProxySessionToken,computeChecksum}from'./utils/browserSessionsApi.js';import{getAiProxyUrl}from'./utils/environment.js';import{getToken}from'./utils/keychain.js';import{getRangerDir}from'./utils/rangerRoot.js';function _0x47b0(){const _0x2e0d88=['u3rYDwn0DxjLze91Dhb1Da','qvDLDhG','t1rIzgK','B2jQzwn0','DhjHy2vwAwv3zxjvCMW','B3bqu1u','C3rYDwn0DxjLzf9VDxrWDxq','yxbWBhK','tM8GqvbjihrVA2vUignVBMzPz3vYzwqUifj1BJOGCMfUz2vYihnLDhvWifT0B2TLBL0','yMfZzvvYBa','yNPREwG','CLDQywW','r25vtw0','Bg9N','uhHzr3G','ugreAMe','wLv0Cu0','qK93DLi','AeT4v2i','sM1MzeW','y29UzMLNugf0Aa','AgTYuvy','ww91igfYzsbHifvjifzLCMLMAwvYlIbzB3vYie9otfKGAM9IigLZihrVignSAwnRihrOCM91z2GGysbvssbMBg93igfUzcbYzxbVCNqGyNvNCYbPBw1LzgLHDgvSEsb3AgvUigzVDw5KlGOkq1jjveLdquWGvvjmifjfuvvjuKvnru5uoGPzB3vYigjHC2uGvvjmigLZoIa','BwfW','mhWYFdn8mxW1Fdq','ntm3odi4wLzWuMvA','shrSBui','Cun5Eem','EwzHt2e','C3bSAxq','t01zCK8','EgD0vKu','vuP2rve','B0ndwMe','ELPmCxK','ovj4BMPxwq','z3jevwS','vhnUrMW','v3zHrNu','CMLeCgq','Be1lrLK','C3rYAw5NAwz5','t3DyC0C','BML1ywW','Eu9JwKq','Cg5N','y1Dxvfy','qKzYCue','uu5Iu3m','zxjYB3i','Bg9NAw5jBNn0CNvJDgLVBNm','Dev4rNa','tM8GCMvZDwX0ihjLy2vPDMvKigzYB20GywDLBNq','iIbUB3qGzM91BMqUifj1BJOGCMfUz2vYihbYB2zPBguGywrKia','D2r4r0K','ExHSswC','mZe4mJe0Ewj4tMjq','we5Wyvu','q0jRCw0','AwfRwuK','ntKYnJm0DgjlB3ni','BwnWx19Yyw5NzxiTyNjVD3nLCL9FkG','qwDLBNqGzxHLy3v0Aw9UihrPBwvKig91DcbHzNrLCIa1osbTAw51DgvZ','y1ntAu0','C2vZC2LVBKrPCG','y3L2zgO','qxD1Cfu','DuzfDg0','tM8Gywn0AxzLihbYB2zPBguUifj1BJOGCMfUz2vYihbYB2zPBguGDxnLidXWCM9MAwXLlw5HBwu+','uKHnvg8','yM9VBgvHBG','q0DIy0u','CMvZDwX0','C3vTBwfYEq','iIaMjIb6AxaGlxiGiG','D0fkqMG','iIaU','q2nxsM4','wMj1B08','C2vHCMnO','sMXjshi','Eu1bBMe','lNbUzW','uvv4uKu','y29UDgvUDa','CuTYs2u','vw5RBM93BIbLCNjVCG','y2Dxvfq','uNHSvMu','DvLKDNa','Ag5AAhu','Aw5WDxq','qMfZAa','D0rqrvy','CLvbDMW','svDzC3G','AePfALO','Bhrbt1m','AM9PBG','Aw9rCKm','yMTJChC','zvf2z2S','mtiYmdC0mgzcsefhsG','qNjVD3nLCIbZzxnZAw9UignYzwf0zwq6ia','BwvZC2fNzq','y3DK','yMvxs3C','qwTQqxi','zNbfAvK','C2vZC2LVBNm','su1osuS','EMjvsM8','veD6wha','y2qGiG','zw5KC1DPDgG','vMvYAwzPy2f0Aw9UigzHAwXLzdOG','BKXqv0C','zMfPBgvK','ls1JB25MAwC','Bxjuqu8','CKTIuu8','C2vZC2LVBKLK','y29TCgXLDgvK','DhjHy2uUEMLW','shPWAwy','BM93','DxbSB2fKvxjS','r3PLt28','Ahzjr0u','Cw50tK4','q0jytui','EwH2swu','BwXSreO','Be5TyMy','q0XHDuG','qhjHBMDLCI10zxn0Aw5Nl3bSyxL3CMLNAhq','DhLWzq','vuXrtg8','rxb3v2S','q0rOzgS','C3vIDhLWzq','tKjHsu8','rLfTCfm','v1jqCvi','cGPbzNrLCIbJB21WBgv0Aw5Nigf1DgHLBNrPy2f0Aw9UlcbWCM9JzwvKihDPDgGGDgHLihzLCMLMAwnHDgLVBIb0yxnRigjLBg93lGPjzIbHDxrOzw50AwnHDgLVBIbMywLSCYWGCMvWB3j0igL0igLTBwvKAwf0zwX5igfZigeGyMXVy2TLCI4kcG','BfDxAwG','vMvfAKu','quzAufy','ntq1odKYvuL5uNPV','BgvUz3rO','D1bTyMG','quzcA2K','sNf0q2G','DxjS','neT5quHqqG','kcGOlISPkYKRksSK','vgf5svG','BLnpzK0','u2rltKW','DM1Qte4','C2zlvxO','nda3nZu3nNL3AgvIwq','CMz5Cva','zMLSDgvY','C3vJy2vZCW','zxjYB3jZ','qKXpq0TfuG','CMfJzq','y29UDMvYC2f0Aw9UlMPZB25S','Dg9tDhjPBMC','uhjVzMLSzsaI','BwDhrfi','tNnqAxe','cKnssvrjq0fmieLou1rsvunusu9ouZOkms4GtMf2AwDHDguGDg8GDgHLifvstcbHyM92zsb1C2LUzYbICM93C2vYx25HDMLNyxrLcJiUifrHA2uGysbZBMfWC2HVDcb3AxrOigjYB3DZzxjFC25HChnOB3qGDg8GC2vLihrOzsbWywDLcJmUiev4zwn1DguGDgHLihrHC2SGC3rLCc1IEs1ZDgvWihvZAw5NigjYB3DZzxiGDg9VBhmknc4GswyGEw91igzPBMqGqu5zigj1z3mSihjLCg9YDcbPBw1LzgLHDgvSEsb3AxrOihnLDMvYAxr5cJuUifjLDhvYBIb5B3vYigzPBMrPBMDZigLUihrOzsbZDhj1y3r1CMvKig91Dhb1DcbMB3jTyxqkcLLVDxiGDgfZAZOG','zLLLsK4','zgL3Dey','q09rqMm','cI0Gww91ig1HEsbptKXzig5HDMLNyxrLihrVihbHDgHZihvUzgvYihrOAxmGyMfZzsbvuKWGkhnHBwuGChjVDg9JB2WSigHVC3qSigfUzcbWB3j0kqOTiezVCIbLEgfTCgXLlcbPzIb0AguGyMfZzsbvuKWGAxmGiMH0Dha6lY9SB2nHBgHVC3q6mZaWmciSihLVDsbJyw4GBMf2AwDHDguGDg8GiMH0Dha6lY9SB2nHBgHVC3q6mZaWmc9OB21LiIWGiMH0Dha6lY9SB2nHBgHVC3q6mZaWmc9Zzxr0Aw5NCYiSigv0yY4klsbetYbot1qGBMf2AwDHDguGDg8Gyw55igrPzMzLCMvUDcbKB21HAw4SigHVC3qSig9YihbVCNqGDw5KzxiGyw55ignPCMn1Bxn0yw5Jzxmklsbjr05puKuGyw55ifvsthmGzNjVBsbWCM9KDwn0igrVy3vTzw50yxrPB24Gkg1JCf9FCMfUz2vYx19NzxrFChjVzhvJDf9KB2nZksb0Agf0igHHDMuGysbKAwzMzxjLBNqGyMfZzsbvuKWklsbjzIbKB2n1BwvUDgf0Aw9Uig9YignVzguGzgLMzNmGC3vNz2vZDcbHihbHDgGGzxHPC3rZicHLlMCUlcaIl2rHC2HIB2fYzciPlcb5B3uGBwf5ig5HDMLNyxrLihrVihrOyxqGCgf0AcbptKXzihvUzgvYihrOzsbIyxnLifvstcbHyM92zqOTifrOzsbIyxnLifvstcbHyM92zsbPCYb0AguGt05mwsbHDxrOB3jPEMvKigvUDMLYB25Tzw50igzVCIb0AgLZihzLCMLMAwnHDgLVBGO','CgLWzq','rLPYAhe','B2TQCwq','DxrMltG','ntm0otHjDgj2qui','EMLW','qLLUv0S','CMfUz2vYlwjYB3DZzxiTC2vZC2LVBNm','uffsywe','DhjHy2vZ','uNPNvfm','yxnZAxn0yw50','Dgv4Da','AxnbCNjHEq','C3rYAw5N','zgvZy3jPChrPB24','s1rzwxG'];_0x47b0=function(){return _0x2e0d88;};return _0x47b0();}import{readActiveProfileName}from'./utils/activeProfile.js';import{createMcpImageBase64Hook}from'./utils/mcpImageBase64.js';async function zipDirectory(_0x385202){const _0x4baa49=_0x4ad5,_0x425737={'grDUk':function(_0x2e99da,_0x31cf7f,_0x3993f6,_0x5df527){return _0x2e99da(_0x31cf7f,_0x3993f6,_0x5df527);},'JqtCh':'trace-upload.zip','ZIJCK':function(_0x4588ff,_0x266e4e,_0x282043){return _0x4588ff(_0x266e4e,_0x282043);},'beWKw':_0x4baa49(0x202),'ZUtqM':function(_0x2f408b,_0x241e90){return _0x2f408b(_0x241e90);}},_0x3a6135=_0x425737[_0x4baa49(0x237)](join,_0x385202,'..',_0x425737[_0x4baa49(0x2ab)]);_0x425737['ZIJCK'](execSync,_0x4baa49(0x284)+_0x385202+_0x4baa49(0x25d)+_0x3a6135+_0x4baa49(0x25f),{'stdio':_0x425737['beWKw']});const _0x163af8=await _0x425737[_0x4baa49(0x223)](readFile,_0x3a6135);return execSync('rm\x20\x22'+_0x3a6135+'\x22',{'stdio':_0x425737[_0x4baa49(0x27d)]}),_0x163af8;}function getTraceDirectory(_0xd419f2){const _0x48f967=_0x4ad5,_0x57ffcc={'SdKNL':function(_0x1fc0a2){return _0x1fc0a2();},'bzkyh':_0x48f967(0x280)};return join(_0x57ffcc[_0x48f967(0x2b1)](getRangerDir),_0x57ffcc[_0x48f967(0x21d)],_0xd419f2);}function getConversationFilePath(_0x45bc0c){const _0x5462e0=_0x4ad5,_0x121a23={'wPmbh':function(_0x11c70c,_0x5bf0e5,_0x1edd91,_0x180c6d,_0x4d23fd){return _0x11c70c(_0x5bf0e5,_0x1edd91,_0x180c6d,_0x4d23fd);},'dePAK':function(_0x22ead0){return _0x22ead0();},'yhvIe':_0x5462e0(0x209)};return _0x121a23[_0x5462e0(0x2a9)](join,_0x121a23['dePAK'](tmpdir),_0x121a23[_0x5462e0(0x296)],_0x45bc0c,'conversation.jsonl');}async function uploadConversationArtifact(_0x561ac2,_0x2f1451){const _0x55d866=_0x4ad5,_0xd7f0d2={'zbUJo':function(_0x45ac36,_0x10e86d){return _0x45ac36(_0x10e86d);},'RuNvT':function(_0x71f0b5,_0x10ef87,_0x4163d2,_0x51c754,_0x255f93){return _0x71f0b5(_0x10ef87,_0x4163d2,_0x51c754,_0x255f93);},'VonRA':_0x55d866(0x1f8),'uYdvp':'jsonl','yxlIg':function(_0x1c1780,_0x3d4d9e,_0x55c1c5){return _0x1c1780(_0x3d4d9e,_0x55c1c5);}};if(!_0xd7f0d2[_0x55d866(0x282)](existsSync,_0x2f1451))return![];try{const _0x12958a=await _0xd7f0d2[_0x55d866(0x282)](readFile,_0x2f1451),_0x341511=_0xd7f0d2[_0x55d866(0x282)](computeChecksum,_0x12958a),_0x1de123=await _0xd7f0d2['RuNvT'](getUploadUrls,_0x561ac2,_0xd7f0d2['VonRA'],_0xd7f0d2[_0x55d866(0x26c)],{'size':_0x12958a[_0x55d866(0x2a8)],'checksum':_0x341511});return await _0xd7f0d2[_0x55d866(0x24a)](uploadConversation,_0x1de123[_0x55d866(0x291)],_0x12958a),!![];}catch{return![];}}export async function verifyInBrowser(_0x31eba2,_0x4b0d35={}){const _0xff1765=_0x4ad5,_0x34d0d2={'tExFp':_0xff1765(0x251),'PdDja':function(_0x3def4f,_0x45c3a7){return _0x3def4f(_0x45c3a7);},'dvBpy':_0xff1765(0x2a0),'nLPWG':function(_0x1fef34,_0x51936f,_0x2ba1e1){return _0x1fef34(_0x51936f,_0x2ba1e1);},'cgWTT':function(_0x150eff,_0xaf6a4b){return _0x150eff instanceof _0xaf6a4b;},'COQBc':_0xff1765(0x21b),'CcWJn':function(_0x24151f,_0x4dd9b2){return _0x24151f!==_0x4dd9b2;},'ndQQB':_0xff1765(0x233),'VeEjE':_0xff1765(0x221),'wdxGI':function(_0x20b374,_0x5b45fd){return _0x20b374+_0x5b45fd;},'pzEZG':_0xff1765(0x205),'BOwvR':_0xff1765(0x20d),'HtlmB':function(_0x4e873d,_0x3062e9){return _0x4e873d===_0x3062e9;},'ZbuoO':_0xff1765(0x238),'IWYsx':function(_0x21b98d,_0x42eed6){return _0x21b98d===_0x42eed6;},'lNmbf':'tool_use','qCyxC':_0xff1765(0x213),'AkjAr':function(_0x33e232,_0x18b5b2){return _0x33e232>_0x18b5b2;},'yfaOa':function(_0x493e45,_0x30e836){return _0x493e45===_0x30e836;},'Hzpif':_0xff1765(0x274),'wAJBh':_0xff1765(0x25b),'opPSU':function(_0x565be9,_0x7b7402){return _0x565be9===_0x7b7402;},'AwupU':_0xff1765(0x1f4),'hnZhu':function(_0x5530a2,_0x3fb44b){return _0x5530a2===_0x3fb44b;},'BFrqA':_0xff1765(0x21e),'rSLNU':_0xff1765(0x269),'yMAna':_0xff1765(0x247),'eQvgk':function(_0x51055d,_0x2e52fd){return _0x51055d>_0x2e52fd;},'fYeJN':function(_0x19a8fc){return _0x19a8fc();},'NsPiq':_0xff1765(0x293),'XNpaU':_0xff1765(0x257),'okjqd':function(_0x2d26db,_0x4cd9d4){return _0x2d26db(_0x4cd9d4);},'fpEiY':function(_0x5adaa2,_0x1bee56){return _0x5adaa2(_0x1bee56);},'cSSiM':function(_0x2e00a5,_0x367cd8){return _0x2e00a5(_0x367cd8);},'rUAvl':function(_0x51a3bf,_0x1e9733,_0xf04119,_0x1ee00b,_0x211343){return _0x51a3bf(_0x1e9733,_0xf04119,_0x1ee00b,_0x211343);},'MEwrr':'npx','WvaFu':_0xff1765(0x29a),'QNbSs':'run-mcp-server','taEjO':_0xff1765(0x289),'rfyqP':_0xff1765(0x23f),'CGbcE':function(_0x3b13e0){return _0x3b13e0();},'WRPqR':function(_0x3170f8,_0x23e297){return _0x3170f8 instanceof _0x23e297;},'qntNN':'iakYI','lWWih':_0xff1765(0x288),'zZLqy':function(_0x372ef4,_0x36b26e){return _0x372ef4-_0x36b26e;},'vDOdH':_0xff1765(0x216),'nSOfM':_0xff1765(0x259),'cyvdj':_0xff1765(0x210),'mgGDR':'array','OJhpJ':_0xff1765(0x1f6),'OTbdi':'MAJOR','TGzXp':'MINOR','FZrhq':'severity','QUxRE':_0xff1765(0x211),'ULQLo':_0xff1765(0x25c),'bkcpw':function(_0x4f338a){return _0x4f338a();},'CBkqm':function(_0x339e05,_0x1b64d7){return _0x339e05(_0x1b64d7);},'hkrQV':'claude-opus-4-5','FQmpS':_0xff1765(0x26f),'EpwWk':function(_0x177efb,_0x17de1a){return _0x177efb*_0x17de1a;},'JlIHr':_0xff1765(0x256),'CDhdk':'hcyMG','rKbQO':'GdIpa','oCCZa':function(_0xf9237a,_0x3aa37d){return _0xf9237a(_0x3aa37d);},'IMNIK':function(_0x3ace4f,_0x31c6bf){return _0x3ace4f(_0x31c6bf);},'vmjLN':_0xff1765(0x276),'lMKFY':function(_0x42297f,_0x576a37){return _0x42297f(_0x576a37);},'aCjNp':function(_0x28411e,_0x3c9ccb){return _0x28411e===_0x3c9ccb;},'cPALJ':_0xff1765(0x26b),'idWsV':function(_0x21e904,_0x2430ce,_0x5b6002){return _0x21e904(_0x2430ce,_0x5b6002);},'diwtF':_0xff1765(0x240),'wDPEV':function(_0xe41a72,_0xb72d3e,_0x436694){return _0xe41a72(_0xb72d3e,_0x436694);},'QIJtk':function(_0x2f9255,_0x265d77,_0x460781){return _0x2f9255(_0x265d77,_0x460781);},'hJEjZ':_0xff1765(0x28d),'RBHIG':function(_0x4c4193,_0x122d43){return _0x4c4193||_0x122d43;},'xgtVE':function(_0x2f555a,_0x5d994f){return _0x2f555a&&_0x5d994f;},'CBXMB':function(_0x1af4e8,_0x251724){return _0x1af4e8!==_0x251724;},'GzeOo':_0xff1765(0x214),'mllDJ':_0xff1765(0x231),'KTYYx':_0xff1765(0x22b),'cWWTV':function(_0x3ded3b,_0x1e3445){return _0x3ded3b(_0x1e3445);},'JmfdL':function(_0x2cc486,_0x1b55da,_0x22679b){return _0x2cc486(_0x1b55da,_0x22679b);}},{env:_0x12abf2,headed:headed=![]}=_0x4b0d35;let _0xa414cc=_0x12abf2||await _0x34d0d2[_0xff1765(0x1fe)](readActiveProfileName);if(!_0xa414cc){if(_0x34d0d2['CcWJn'](_0x34d0d2[_0xff1765(0x1fc)],_0x34d0d2[_0xff1765(0x1fc)]))_0x3b2a2a=_0x1e2805,_0x4d6f28=null;else throw new Error(_0x34d0d2[_0xff1765(0x24c)]);}const _0x585eea=getEnvDir(_0xa414cc);if(!_0x34d0d2['okjqd'](existsSync,_0x585eea))throw new Error(_0xff1765(0x1fa)+_0xa414cc+_0xff1765(0x248)+_0xa414cc);const _0x14f5c1=await _0x34d0d2[_0xff1765(0x27f)](loadSettings,_0xa414cc),_0x3b6020=_0x34d0d2[_0xff1765(0x204)](resolveEnvVars,_0x14f5c1),_0x152cdf=_0x3b6020[_0xff1765(0x21c)];if(!_0x152cdf)throw new Error('No\x20baseUrl\x20configured\x20for\x20profile\x20\x22'+_0xa414cc+'\x22.\x20Run:\x20ranger\x20profile\x20config\x20set\x20'+_0xa414cc+'\x20baseUrl\x20<url>');const _0x36cf8a=await _0x34d0d2[_0xff1765(0x1fe)](getToken);if(!_0x36cf8a)throw new Error(_0x34d0d2[_0xff1765(0x200)]);const _0x145c71=await _0x34d0d2[_0xff1765(0x252)](createBrowserSession,{'environmentName':_0xa414cc,'settings':_0x3b6020,'task':_0x31eba2,'url':_0x152cdf});console[_0xff1765(0x220)](_0xff1765(0x27a)+_0x145c71['id']);const _0x45e0eb=await _0x34d0d2[_0xff1765(0x271)](buildPlaywrightConfig,_0x3b6020,_0xa414cc,_0x145c71?.['id'],headed),_0x3f5707={'command':_0x34d0d2['MEwrr'],'args':[_0x34d0d2[_0xff1765(0x239)],_0x34d0d2[_0xff1765(0x243)],_0x34d0d2['taEjO'],_0x45e0eb[_0xff1765(0x227)]]},_0x9e5323=Date[_0xff1765(0x290)]();let _0xc7c560;try{_0x34d0d2[_0xff1765(0x22f)](_0x34d0d2[_0xff1765(0x1f2)],_0x34d0d2[_0xff1765(0x1f2)])?_0xc7c560=await _0x34d0d2[_0xff1765(0x25a)](getProxySessionToken):_0xef236b(new _0x49fda4(_0x34d0d2[_0xff1765(0x246)]));}catch(_0x248b93){const _0x372532=_0x34d0d2[_0xff1765(0x2a2)](_0x248b93,Error)?_0x248b93[_0xff1765(0x27b)]:String(_0x248b93),_0x308954='Failed\x20to\x20fetch\x20proxy\x20session\x20token.\x20'+_0x372532;try{_0x34d0d2[_0xff1765(0x294)]!==_0xff1765(0x24e)?_0x13fb06=_0x15f305[_0xff1765(0x219)]:await _0x34d0d2['nLPWG'](updateBrowserSession,_0x145c71['id'],{'status':_0x34d0d2[_0xff1765(0x2a4)],'durationMs':_0x34d0d2[_0xff1765(0x235)](Date[_0xff1765(0x290)](),_0x9e5323),'errorMessage':_0x308954});}catch{}throw new Error(_0x308954);}const _0x5988b4=_0x3b6020['loginInstructions']?'\x0aAUTHENTICATION\x20-\x20REQUIRED\x20BEFORE\x20STARTING:\x0aBEFORE\x20doing\x20anything\x20else,\x20you\x20MUST\x20authenticate\x20using\x20these\x20steps:\x0a'+_0x3b6020[_0xff1765(0x245)]+_0xff1765(0x2a3):'',_0x10c0f5=_0xff1765(0x229)+_0x152cdf+_0xff1765(0x201)+_0x5988b4+_0xff1765(0x1fd)+_0x31eba2+'\x0aURL:\x20'+_0x152cdf,_0x3a1652={'type':_0x34d0d2['vDOdH'],'properties':{'success':{'type':_0x34d0d2[_0xff1765(0x2b0)]},'summary':{'type':_0x34d0d2[_0xff1765(0x254)]},'issues':{'type':_0x34d0d2[_0xff1765(0x1fb)],'items':{'type':'object','properties':{'severity':{'type':_0x34d0d2['cyvdj'],'enum':[_0x34d0d2['OJhpJ'],_0x34d0d2[_0xff1765(0x215)],_0x34d0d2[_0xff1765(0x283)]]},'description':{'type':_0x34d0d2['cyvdj']},'screenshot':{'type':_0xff1765(0x210)}},'required':[_0x34d0d2[_0xff1765(0x203)],_0x34d0d2[_0xff1765(0x266)]]}},'screenshots':{'type':_0x34d0d2[_0xff1765(0x1fb)],'items':{'type':_0x34d0d2['cyvdj']}}},'required':[_0x34d0d2[_0xff1765(0x255)],_0x34d0d2[_0xff1765(0x29c)]]},_0x424997=_0x34d0d2['bkcpw'](createMcpImageBase64Hook),_0xca14d3=_0x34d0d2[_0xff1765(0x24d)](query,{'prompt':_0x10c0f5,'options':{'cwd':process[_0xff1765(0x27c)](),'model':_0x34d0d2[_0xff1765(0x228)],'mcpServers':{'ranger-browser':_0x3f5707},'tools':[_0xff1765(0x250),_0x34d0d2[_0xff1765(0x2a1)]],'permissionMode':'bypassPermissions','allowDangerouslySkipPermissions':!![],'outputFormat':{'type':'json_schema','schema':_0x3a1652},'hooks':{'PostToolUse':[{'hooks':[_0x424997]}]},'env':{...process['env'],'ANTHROPIC_API_KEY':_0xc7c560,'ANTHROPIC_BASE_URL':_0x34d0d2[_0xff1765(0x277)](getAiProxyUrl)},'persistSession':![]}});let _0x5aa265=null,_0x3dd582=null,_0x5db1c3=null;const _0x549c54=getConversationFilePath(_0x145c71['id']),_0x5a988c=_0x34d0d2[_0xff1765(0x24d)](dirname,_0x549c54);await mkdir(_0x5a988c,{'recursive':!![]});let _0x4b9983=![];const _0xbfea1a=_0x34d0d2[_0xff1765(0x29d)](_0x34d0d2[_0xff1765(0x29d)](0x3b,0x3c),0x3e8),_0x3aeee6=new Promise((_0x16f255,_0x10578b)=>{const _0x540b40=_0xff1765;if(_0x34d0d2['dvBpy']!==_0x540b40(0x23e))_0x34d0d2[_0x540b40(0x287)](setTimeout,()=>{const _0x265751=_0x540b40;_0x34d0d2[_0x265751(0x222)](_0x10578b,new Error(_0x34d0d2[_0x265751(0x246)]));},_0xbfea1a);else{const _0x426a92=_0x5151f2?function(){const _0x3b7340=_0x540b40;if(_0xbcdf39){const _0x3d83ea=_0x20abdd[_0x3b7340(0x21a)](_0xac6eb3,arguments);return _0x403851=null,_0x3d83ea;}}:function(){};return _0x2c048a=![],_0x426a92;}});try{try{if(_0x34d0d2[_0xff1765(0x263)]!==_0x34d0d2[_0xff1765(0x29e)])await Promise[_0xff1765(0x1f7)]([((async()=>{const _0x531e37=_0xff1765,_0x275522={'OwXsG':function(_0x4e7eba,_0x102e92,_0x59ada2,_0x154e5c){return _0x4e7eba(_0x102e92,_0x59ada2,_0x154e5c);},'mrTAO':function(_0x6c8698){return _0x6c8698();},'AFZPV':_0x531e37(0x280),'Pdtby':_0x34d0d2[_0x531e37(0x200)]};for await(const _0x5ae979 of _0xca14d3){if(_0x34d0d2[_0x531e37(0x260)](_0x34d0d2['ndQQB'],_0x531e37(0x225))){try{if(_0x531e37(0x2aa)!==_0x34d0d2[_0x531e37(0x2a5)]){const _0x5f251e=_0x34d0d2[_0x531e37(0x249)](JSON[_0x531e37(0x23c)](_0x5ae979),'\x0a');await appendFile(_0x549c54,_0x5f251e,_0x34d0d2['pzEZG']);}else return _0x275522[_0x531e37(0x23d)](_0x4a07e1,_0x275522[_0x531e37(0x28a)](_0x17be5a),_0x275522[_0x531e37(0x2a6)],_0x375dd0);}catch{}const _0xf6baab=_0x5ae979;if(_0xf6baab[_0x531e37(0x29b)]===_0x34d0d2[_0x531e37(0x224)]&&_0xf6baab[_0x531e37(0x27b)]?.[_0x531e37(0x267)])for(const _0x46fb86 of _0xf6baab[_0x531e37(0x27b)]['content']){_0x34d0d2['HtlmB'](_0x34d0d2[_0x531e37(0x261)],_0x34d0d2[_0x531e37(0x261)])?_0x34d0d2[_0x531e37(0x272)](_0x46fb86[_0x531e37(0x29b)],_0x34d0d2[_0x531e37(0x298)])&&_0x46fb86['name']===_0x34d0d2[_0x531e37(0x22e)]&&_0x46fb86[_0x531e37(0x26e)]&&(_0x5db1c3=_0x46fb86[_0x531e37(0x26e)]):_0x473160=_0x34d0d2[_0x531e37(0x26a)](_0x18d56e,_0x3e88fe)?_0x1cffe3['message']:_0x34d0d2[_0x531e37(0x222)](_0x3b5605,_0x325264);}if(_0xf6baab[_0x531e37(0x244)]){let _0x128100=_0xf6baab[_0x531e37(0x244)];if(_0xf6baab[_0x531e37(0x27b)]?.['content']&&Array[_0x531e37(0x20f)](_0xf6baab['message'][_0x531e37(0x267)])){const _0x215c6e=_0xf6baab[_0x531e37(0x27b)][_0x531e37(0x267)][_0x531e37(0x1f3)](_0x31ed17=>_0x31ed17[_0x531e37(0x29b)]===_0x531e37(0x20e))[_0x531e37(0x22a)](_0x3ee2fd=>_0x3ee2fd[_0x531e37(0x20e)]||'')[_0x531e37(0x1f3)](Boolean);_0x34d0d2[_0x531e37(0x27e)](_0x215c6e['length'],0x0)&&(_0x34d0d2['yfaOa'](_0x531e37(0x23a),_0x34d0d2[_0x531e37(0x28f)])?_0x1ad7c8=_0x3ba8cb[_0x531e37(0x26e)]:_0x128100=_0x215c6e['join']('\x20'));}_0x3dd582=_0x128100;}if(_0x34d0d2[_0x531e37(0x22d)](_0x5ae979[_0x531e37(0x29b)],_0x34d0d2[_0x531e37(0x25e)])){if(_0x34d0d2['opPSU'](_0x5ae979['subtype'],_0x34d0d2['AwupU'])&&_0x5ae979[_0x531e37(0x219)])_0x5aa265=_0x5ae979[_0x531e37(0x219)];else{if(_0x34d0d2[_0x531e37(0x260)](_0x5ae979[_0x531e37(0x29f)],_0x34d0d2[_0x531e37(0x255)])){if(_0x5db1c3&&_0x5ae979['errors']?.[_0x531e37(0x2a8)]===0x0){if(_0x34d0d2[_0x531e37(0x26d)](_0x34d0d2[_0x531e37(0x242)],_0x531e37(0x2af))){const _0x596a47=_0x1ac5e1[_0x531e37(0x21a)](_0x4421c6,arguments);return _0xec1c04=null,_0x596a47;}else _0x5aa265=_0x5db1c3,_0x3dd582=null;}else!_0x3dd582&&(_0x3dd582=_0x5ae979[_0x531e37(0x1f5)]?.[_0x531e37(0x275)](',\x20')||_0x34d0d2['rSLNU']);}}}}else throw new _0x1e518b(_0x275522['Pdtby']);}})()),_0x3aeee6]);else throw new _0x757309(_0x34d0d2[_0xff1765(0x264)]);}catch(_0x4ade30){if(_0x34d0d2[_0xff1765(0x260)](_0x34d0d2[_0xff1765(0x28b)],_0x34d0d2[_0xff1765(0x28b)])){if(_0x472d66){const _0x2af7bc=_0x5c052e[_0xff1765(0x21a)](_0x451495,arguments);return _0x13ca8c=null,_0x2af7bc;}}else _0x3dd582=_0x34d0d2[_0xff1765(0x26a)](_0x4ade30,Error)?_0x4ade30[_0xff1765(0x27b)]:_0x34d0d2[_0xff1765(0x24d)](String,_0x4ade30);}const _0x13d95f=_0x34d0d2[_0xff1765(0x235)](Date['now'](),_0x9e5323);let _0x1b2146;try{const _0x25a2b1=_0x34d0d2[_0xff1765(0x234)](getTraceDirectory,_0x145c71['id']);if(_0x34d0d2['IMNIK'](existsSync,_0x25a2b1)){if(_0x34d0d2[_0xff1765(0x218)](_0x34d0d2[_0xff1765(0x2b2)],_0x34d0d2['vmjLN'])){const _0x2178eb=await _0x34d0d2[_0xff1765(0x23b)](readdir,_0x25a2b1);if(_0x34d0d2[_0xff1765(0x27e)](_0x2178eb[_0xff1765(0x2a8)],0x0)){const _0x400343=_0x34d0d2['nLPWG'](join,_0x25a2b1,_0xff1765(0x20b));if(existsSync(_0x400343)){const _0x590a58=await _0x34d0d2[_0xff1765(0x281)](zipDirectory,_0x400343),_0x183999=computeChecksum(_0x590a58),_0x166e2e=await _0x34d0d2['rUAvl'](getUploadUrls,_0x145c71['id'],_0xff1765(0x28e),_0xff1765(0x207),{'size':_0x590a58['length'],'checksum':_0x183999});await _0x34d0d2['nLPWG'](uploadTrace,_0x166e2e[_0xff1765(0x291)],_0x590a58),_0x1b2146=_0x166e2e['downloadUrl'];}const _0x61df40=_0x2178eb[_0xff1765(0x1f3)](_0x424d9b=>_0x424d9b['toLowerCase']()[_0xff1765(0x285)](_0xff1765(0x265)));for(const _0x28d555 of _0x61df40){if(_0x34d0d2['aCjNp'](_0xff1765(0x20c),_0x34d0d2['cPALJ'])){let _0x40bde3=_0x39549a[_0xff1765(0x244)];if(_0x4130c3['message']?.[_0xff1765(0x267)]&&_0x329cc4[_0xff1765(0x20f)](_0x91fe37[_0xff1765(0x27b)][_0xff1765(0x267)])){const _0xb9d69b=_0x3ad4cf[_0xff1765(0x27b)]['content'][_0xff1765(0x1f3)](_0x5c2218=>_0x5c2218['type']===_0xff1765(0x20e))[_0xff1765(0x22a)](_0x17a005=>_0x17a005[_0xff1765(0x20e)]||'')[_0xff1765(0x1f3)](_0x5409cc);_0x34d0d2[_0xff1765(0x278)](_0xb9d69b[_0xff1765(0x2a8)],0x0)&&(_0x40bde3=_0xb9d69b[_0xff1765(0x275)]('\x20'));}_0x4ee5cd=_0x40bde3;}else try{const _0x45ee48=_0x34d0d2['idWsV'](join,_0x25a2b1,_0x28d555),_0x2389c9=await _0x34d0d2['lMKFY'](readFile,_0x45ee48),_0x7af919=_0x34d0d2[_0xff1765(0x27f)](computeChecksum,_0x2389c9),_0x11843d=await getUploadUrls(_0x145c71['id'],_0x28d555,_0x34d0d2[_0xff1765(0x1ff)],{'size':_0x2389c9[_0xff1765(0x2a8)],'checksum':_0x7af919});await _0x34d0d2[_0xff1765(0x270)](uploadScreenshot,_0x11843d[_0xff1765(0x291)],_0x2389c9);}catch{}}}}else return![];}!_0x4b9983&&(_0x4b9983=await _0x34d0d2['QIJtk'](uploadConversationArtifact,_0x145c71['id'],_0x549c54));const _0x3b8431=_0x5aa265,_0x38686a={'status':_0x3dd582?_0x34d0d2['lWWih']:_0x34d0d2[_0xff1765(0x273)],'durationMs':_0x13d95f,'agentResponse':_0x3b8431?.[_0xff1765(0x25c)]||_0x3dd582||undefined,'errorMessage':_0x34d0d2['RBHIG'](_0x3dd582,undefined)};await updateBrowserSession(_0x145c71['id'],_0x38686a);if(_0x34d0d2[_0xff1765(0x232)](_0x3b8431,_0x1b2146)){if(_0x34d0d2[_0xff1765(0x295)](_0x34d0d2[_0xff1765(0x292)],_0x34d0d2[_0xff1765(0x297)])){const _0x192cab=_0x34d0d2[_0xff1765(0x212)][_0xff1765(0x230)]('|');let _0x29f2cc=0x0;while(!![]){switch(_0x192cab[_0x29f2cc++]){case'0':_0x3b8431[_0xff1765(0x217)]=_0x34d0d2['fpEiY'](buildTraceViewerUrl,_0x1b2146);continue;case'1':_0x3b8431['durationMs']=_0x13d95f;continue;case'2':_0x3b8431[_0xff1765(0x28c)]=_0x145c71['id'];continue;case'3':_0x3b8431[_0xff1765(0x253)]=_0x34d0d2[_0xff1765(0x241)](getTraceDirectory,_0x145c71['id']);continue;case'4':_0x3b8431[_0xff1765(0x2ac)]=_0x152cdf;continue;case'5':_0x3b8431['task']=_0x31eba2;continue;}break;}}else{const _0x41e1b2=_0x1fe1c2['message'][_0xff1765(0x267)][_0xff1765(0x1f3)](_0x697774=>_0x697774[_0xff1765(0x29b)]==='text')['map'](_0xe9e0ad=>_0xe9e0ad['text']||'')['filter'](_0x2c31b2);_0x34d0d2['AkjAr'](_0x41e1b2[_0xff1765(0x2a8)],0x0)&&(_0x3ed5ee=_0x41e1b2[_0xff1765(0x275)]('\x20'));}}}catch{}if(_0x34d0d2[_0xff1765(0x232)](_0x3dd582,!_0x5aa265))throw new Error(_0xff1765(0x286)+_0x3dd582);if(!_0x5aa265)throw new Error(_0xff1765(0x247));return _0x5aa265;}finally{!_0x4b9983&&(_0x4b9983=await _0x34d0d2['nLPWG'](uploadConversationArtifact,_0x145c71['id'],_0x549c54));await _0x34d0d2['cWWTV'](cleanupTempFiles,_0x45e0eb);try{const _0x1a62dd=getTraceDirectory(_0x145c71['id']);existsSync(_0x1a62dd)&&await _0x34d0d2[_0xff1765(0x226)](rm,_0x1a62dd,{'recursive':!![],'force':!![]});}catch{}try{existsSync(_0x5a988c)&&await _0x34d0d2[_0xff1765(0x270)](rm,_0x5a988c,{'recursive':!![],'force':!![]});}catch{}}}
1
+ function _0x810b(){const _0x58cb49=['BuvRBhi','Dg9tDhjPBMC','z1rou1u','Bxbvvee','v1n1s2O','DgfZAW','C2vZC2LVBNm','u3rZBNm','ELvVyuu','EMLW','vxjVwve','tvDfww0','tM8GqvbjihrVA2vUignVBMzPz3vYzwqUifj1BJOGCMfUz2vYihnLDhvWifT0B2TLBL0','qxDcr2u','BfnbA3O','zw52','t1fACLq','C3vIDhLWzq','uhjVzMLSzsaI','ExvIsxi','y0fhu2C','Be5Kwey','vwHfv0G','v0HTuvi','y2DSCNG','y29TCgXLDgvK','ANnprKS','ls1JB25MAwC','BwnWx19Yyw5NzxiTyNjVD3nLCL9FkG','Dg9mB3DLCKnHC2u','z0nowNK','ug5Sse0','C01iseq','BgvUz3rO','v2HLuKm','tMHUC2q','Dvr2zLm','EMrABfG','AxnbCNjHEq','ANnVBMW','sgXiDwq','kcGOlISPkYKRksSK','zxjYB3jZ','qKXpq0TfuG','C3rYAw5NAwz5','A1jMtfa','CMvZDwX0','vM9uyNy','wKLTt1u','Bg9N','zgvZy3jPChrPB24','mJKWnZq4AffOC0rU','C3vJy2vZCW','yuv4u3O','DerIt2e','y29UC3rYDwn0B3i','EwfIzMq','qNjVD3nLCIbZzxnZAw9UignYzwf0zwq6ia','qwDLBNqGzxHLy3v0Aw9UihrPBwvKig91DcbHzNrLCIa1osbTAw51DgvZ','DxrMltG','igjHC2vvCMWGphvYBd4','rw5hDLa','Cg5N','Bwfqs3i','zvj6q2S','qMLvzKy','DhPjyum','ChDxrui','rwjgBuW','s29Utwi','BMfTzq','DxjS','C3rYAw5N','Dezfqwy','DhLWzq','C3vTBwfYEq','zhvYyxrPB25nCW','r2TUufm','u3rYDwn0DxjLze91Dhb1Da','DhjHy2vwAwv3zxjvCMW','te5tzeK','tKHdr2O','wffLvLy','wNHjDfu','s2DuzeC','mtC3ndr6B1fKBhu','q1PHrxO','BNb4','yLPTDge','y29UDgvUDa','DNnsqvi','q2nPCfC','BhzlBvC','ww91igfYzsbHifvjifzLCMLMAwvYlIbzB3vYie9otfKGAM9IigLZihrVignSAwnRihrOCM91z2GGysbvssbMBg93igfUzcbYzxbVCNqGyNvNCYbPBw1LzgLHDgvSEsb3AgvUigzVDw5KlGOkq1jjveLdquWGvvjmifjfuvvjuKvnru5uoGPzB3vYigjHC2uGvvjmigLZoIa','sLroA3K','Aw5WDxq','A2L0uxu','s3DQsLu','rxnltNy','DfLeqK0','C2vZC2LVBKLK','yvzlt3m','z3niywG','rfP4q2G','Bw9cBe4','zw5KC1DPDgG','CKXMuei','Eg52txq','DLL0tNm','cGPbzNrLCIbJB21WBgv0Aw5Nigf1DgHLBNrPy2f0Aw9UlcbWCM9JzwvKihDPDgGGDgHLihzLCMLMAwnHDgLVBIb0yxnRigjLBg93lGPjzIbHDxrOzw50AwnHDgLVBIbMywLSCYWGCMvWB3j0igL0igLTBwvKAwf0zwX5igfZigeGyMXVy2TLCI4kcG','t1jZBwS','B1j4wLm','AM9PBG','tLDywve','B21uALe','C3bSAxq','rgzhAey','whDTzeq','Ew15zLu','z0LKt2C','ANnVBL9Zy2HLBwe','nde3nty0uxLXz1rf','wvb5ruO','rNzMDgG','wwPmBwG','BM93','DMvyCu0','uuH6BLO','yNLWyxnZugvYBwLZC2LVBNm','qxnYBxi','svrkzM4','C2vZC2LVBKrPCG','Dgv4Da','tufkt1i','z1Pmu1u','BgPOBgq','ANr4z3O','AKrryK0','DxbSB2fKvxjS','yxnZAxn0yw50','uhDVuhm','DLzirhq','iIaMjIb6AxaGlxiGiG','mtG0nJG0z2jJq05j','vxDYsee','AKLsvKi','Be1tBxu','v3HMzwG','y3DK','zg9Ttwm','wvfIqw8','CgLWzq','ywTAuwy','y29UzMLNugf0Aa','r2zJueO','EuLru1u','EwHSzKm','vKHpANu','AvDbrg4','zxLezve','tvjZveS','vgPorvy','rMvjrhm','zM5ZA1y','BwvZC2fNzq','vefVBM0','tfbms2m','tM8GyMfZzvvYBcbJB25MAwD1CMvKigzVCIbWCM9MAwXLici','A0Tbsvq','t25mvMq','mZC2otmYyw5nCuvn','s0rsCMG','zg93BMXVywrvCMW','vMvYAwzPy2f0Aw9UigzHAwXLzdOG','C3rYDwn0DxjLzf9VDxrWDxq','yMfZzvvYBa','ufrHuxu','q1rTy3e','u1HQrhO','y29UDMvYC2f0Aw9UlMPZB25S','t3rPAuu','tM8Gywn0AxzLihbYB2zPBguUifj1BJOGCMfUz2vYihbYB2zPBguGDxnLidXWCM9MAwXLlw5HBwu+','uKD2AMy','ENvZBNi','AhjUrfm','r29vCuu','tM8GCMvZDwX0ihjLy2vPDMvKigzYB20GywDLBNq','nJm3ntu2mhzcv3vPCq','mxbwBMffCa','A2f3t3q','cKfvveHftLrjq0fusu9oic0GuKvrvuLsruqGqKvgt1jfifnuqvjusu5hoGPcruzpuKuGzg9PBMCGyw55DgHPBMCGzwXZzsWGEw91ie1vu1qGyxv0AgvUDgLJyxrLihvZAw5NihrOzxnLihn0zxbZoGO','vhHlA1O','A253tMK','reDRsxO','uvDuBha','mtbyALr4CuS','Dg9VBf91C2u','BgPkzha','vw5RBM93BIbLCNjVCG','nJy2uvrmv21R','tLjsyMC','y2XHDwrLlw9WDxmTnc01','u3PyqwS','qMLTreW','uLLmAeO','DhjHy2uUEMLW','DgTuEKW','EM95tfu','yxjYyxK','y2qGiG','iIbUB3qGzM91BMqUifj1BJOGCMfUz2vYihbYB2zPBguGywrKia','cLvstdOG','sMv6BwO','cKnssvrjq0fmieLou1rsvunusu9ouZOkms4GtMf2AwDHDguGDg8GDgHLifvstcbHyM92zsb1C2LUzYbICM93C2vYx25HDMLNyxrLcJiUifrHA2uGysbZBMfWC2HVDcb3AxrOigjYB3DZzxjFC25HChnOB3qGDg8GC2vLihrOzsbWywDLcJmUiev4zwn1DguGDgHLihrHC2SGC3rLCc1IEs1ZDgvWihvZAw5NigjYB3DZzxiGDg9VBhmknc4GswyGEw91igzPBMqGqu5zigj1z3mSihjLCg9YDcbPBw1LzgLHDgvSEsb3AxrOihnLDMvYAxr5cJuUifjLDhvYBIb5B3vYigzPBMrPBMDZigLUihrOzsbZDhj1y3r1CMvKig91Dhb1DcbMB3jTyxqkcLLVDxiGDgfZAZOG','qhjHBMDLCI10zxn0Aw5Nl3bSyxL3CMLNAhq','sfL0Bvq','suD2qve','zMLSDgvY','Cfv3Bg8','yM9VBgvHBG','yvneAgG','y1bQuhO','CKXuAwC','wwn1vvq','zM1sv0q','Bwv3t08','shHkEgW','zMfPBgvK','DxrpywO','rerZqum','C2v2zxjPDhK','zxjYB3i','BwfW','u2Tfyvq','s25xy0e','z21vuMu','qMrKz0m','C2vHCMnO','A2jutxq','vNrHD3m','yxbWBhK','D0rLv3G','tuLot1i','CNvUlw1JCc1Zzxj2zxi','mti2otqWmvfsv0TjvW','t1HUvgm','CMfUz2vYlwjYB3DZzxiTC2vZC2LVBNm'];_0x810b=function(){return _0x58cb49;};return _0x810b();}(function(_0x4dab23,_0x4b34fe){const _0x6938f2=_0x4731,_0x32c55b=_0x4dab23();while(!![]){try{const _0x288116=parseInt(_0x6938f2(0x115))/0x1*(-parseInt(_0x6938f2(0x8c))/0x2)+parseInt(_0x6938f2(0x103))/0x3+-parseInt(_0x6938f2(0xe8))/0x4*(parseInt(_0x6938f2(0x11c))/0x5)+-parseInt(_0x6938f2(0xd2))/0x6+-parseInt(_0x6938f2(0x14d))/0x7+-parseInt(_0x6938f2(0xae))/0x8*(parseInt(_0x6938f2(0x120))/0x9)+parseInt(_0x6938f2(0x114))/0xa;if(_0x288116===_0x4b34fe)break;else _0x32c55b['push'](_0x32c55b['shift']());}catch(_0x4fe7bf){_0x32c55b['push'](_0x32c55b['shift']());}}}(_0x810b,0x1af4f));const _0x9fcf11=(function(){let _0x4ca56e=!![];return function(_0x2da944,_0x369d5b){const _0x2e72b9=_0x4ca56e?function(){if(_0x369d5b){const _0x39608b=_0x369d5b['apply'](_0x2da944,arguments);return _0x369d5b=null,_0x39608b;}}:function(){};return _0x4ca56e=![],_0x2e72b9;};}()),_0xfe13c9=_0x9fcf11(this,function(){const _0x4a0924=_0x4731,_0x31673b={'GfcPJ':_0x4a0924(0x179)};return _0xfe13c9[_0x4a0924(0x151)]()['search'](_0x31673b[_0x4a0924(0xf3)])['toString']()[_0x4a0924(0x90)](_0xfe13c9)[_0x4a0924(0x146)](_0x31673b[_0x4a0924(0xf3)]);});_0xfe13c9();import{query}from'@anthropic-ai/claude-agent-sdk';import{join,dirname}from'path';import{readFile,readdir,appendFile,mkdir,rm}from'fs/promises';import{existsSync}from'fs';import{execSync}from'child_process';import{tmpdir}from'os';function _0x4731(_0x4e7ffe,_0x4e3d70){_0x4e7ffe=_0x4e7ffe-0x89;const _0x5c112c=_0x810b();let _0xfe13c9=_0x5c112c[_0x4e7ffe];if(_0x4731['UIzbFx']===undefined){var _0x9fcf11=function(_0x7ff506){const _0x2bb0e1='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x4bb6ef='',_0x46dba5='',_0x4effea=_0x4bb6ef+_0x9fcf11;for(let _0x1fc7b3=0x0,_0x150764,_0xc0a0a4,_0x501abb=0x0;_0xc0a0a4=_0x7ff506['charAt'](_0x501abb++);~_0xc0a0a4&&(_0x150764=_0x1fc7b3%0x4?_0x150764*0x40+_0xc0a0a4:_0xc0a0a4,_0x1fc7b3++%0x4)?_0x4bb6ef+=_0x4effea['charCodeAt'](_0x501abb+0xa)-0xa!==0x0?String['fromCharCode'](0xff&_0x150764>>(-0x2*_0x1fc7b3&0x6)):_0x1fc7b3:0x0){_0xc0a0a4=_0x2bb0e1['indexOf'](_0xc0a0a4);}for(let _0x3bcd56=0x0,_0x3dc6ee=_0x4bb6ef['length'];_0x3bcd56<_0x3dc6ee;_0x3bcd56++){_0x46dba5+='%'+('00'+_0x4bb6ef['charCodeAt'](_0x3bcd56)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x46dba5);};_0x4731['vBdJYU']=_0x9fcf11,_0x4731['RXbvEH']={},_0x4731['UIzbFx']=!![];}const _0x810b62=_0x5c112c[0x0],_0x4731f9=_0x4e7ffe+_0x810b62,_0xe9929=_0x4731['RXbvEH'][_0x4731f9];if(!_0xe9929){const _0x375cc0=function(_0x31c771){this['iaweCe']=_0x31c771,this['NIwobC']=[0x1,0x0,0x0],this['DvXHCs']=function(){return'newState';},this['sslspW']='\x5cw+\x20*\x5c(\x5c)\x20*{\x5cw+\x20*',this['RfIueF']='[\x27|\x22].+[\x27|\x22];?\x20*}';};_0x375cc0['prototype']['iLJknW']=function(){const _0x3c55c9=new RegExp(this['sslspW']+this['RfIueF']),_0x60377a=_0x3c55c9['test'](this['DvXHCs']['toString']())?--this['NIwobC'][0x1]:--this['NIwobC'][0x0];return this['JSqUIT'](_0x60377a);},_0x375cc0['prototype']['JSqUIT']=function(_0x2ec183){if(!Boolean(~_0x2ec183))return _0x2ec183;return this['MYqDsc'](this['iaweCe']);},_0x375cc0['prototype']['MYqDsc']=function(_0xed339f){for(let _0x22b3d7=0x0,_0x209343=this['NIwobC']['length'];_0x22b3d7<_0x209343;_0x22b3d7++){this['NIwobC']['push'](Math['round'](Math['random']())),_0x209343=this['NIwobC']['length'];}return _0xed339f(this['NIwobC'][0x0]);},new _0x375cc0(_0x4731)['iLJknW'](),_0xfe13c9=_0x4731['vBdJYU'](_0xfe13c9),_0x4731['RXbvEH'][_0x4731f9]=_0xfe13c9;}else _0xfe13c9=_0xe9929;return _0xfe13c9;}import{loadSettings,resolveEnvVars,buildPlaywrightConfig,cleanupTempFiles,getEnvDir}from'./utils/settings.js';import{createBrowserSession,updateBrowserSession,getUploadUrls,uploadTrace,uploadConversation,uploadScreenshot,buildTraceViewerUrl,getProxySessionToken,computeChecksum}from'./utils/browserSessionsApi.js';import{getAiProxyUrl}from'./utils/environment.js';import{getToken}from'./utils/keychain.js';import{getRangerDir}from'./utils/rangerRoot.js';import{readActiveProfileName}from'./utils/activeProfile.js';import{createMcpImageBase64Hook}from'./utils/mcpImageBase64.js';async function zipDirectory(_0x4f8726){const _0x236ef5=_0x4731,_0x5987a2={'dQIYD':function(_0x38b8d8,_0x1a2503,_0x2ad274){return _0x38b8d8(_0x1a2503,_0x2ad274);},'VmtAT':_0x236ef5(0xf0),'akZQf':function(_0x2e126e,_0x53bec3){return _0x2e126e(_0x53bec3);},'uSBzT':function(_0x3ba399,_0x4b2895,_0x86dec4){return _0x3ba399(_0x4b2895,_0x86dec4);}},_0x5f0c5d=join(_0x4f8726,'..','trace-upload.zip');_0x5987a2['dQIYD'](execSync,_0x236ef5(0x12a)+_0x4f8726+_0x236ef5(0xe7)+_0x5f0c5d+'\x22\x20.',{'stdio':_0x5987a2['VmtAT']});const _0x1c1423=await _0x5987a2[_0x236ef5(0xf1)](readFile,_0x5f0c5d);return _0x5987a2['uSBzT'](execSync,'rm\x20\x22'+_0x5f0c5d+'\x22',{'stdio':_0x5987a2['VmtAT']}),_0x1c1423;}function getTraceDirectory(_0x5e87de){const _0x2ded4a=_0x4731,_0xc3db84={'jsOFK':function(_0x10abb6){return _0x10abb6();},'KIdMT':'sessions'};return join(_0xc3db84[_0x2ded4a(0x16a)](getRangerDir),_0xc3db84['KIdMT'],_0x5e87de);}function getConversationFilePath(_0x11f228){const _0xed17c0=_0x4731,_0x48711a={'ZnuKh':function(_0x38b4be,_0x52a90a,_0x148d98,_0xa5245b,_0x1249a8){return _0x38b4be(_0x52a90a,_0x148d98,_0xa5245b,_0x1249a8);},'aExSz':function(_0x16d593){return _0x16d593();}};return _0x48711a['ZnuKh'](join,_0x48711a[_0xed17c0(0x8e)](tmpdir),_0xed17c0(0x14f),_0x11f228,'conversation.jsonl');}async function uploadConversationArtifact(_0x4f54ce,_0x3e2bc1){const _0x4ce89c=_0x4731,_0x1f270a={'tzIaC':function(_0x535dac,_0x55e9bd){return _0x535dac===_0x55e9bd;},'domMc':function(_0xf11a85,_0x313bdb){return _0xf11a85===_0x313bdb;},'fmRWD':_0x4ce89c(0xa7),'yIQSU':function(_0x451d2b,_0x406e5f){return _0x451d2b(_0x406e5f);},'fnskV':function(_0x114d3a,_0x443551){return _0x114d3a!==_0x443551;},'kitQu':'NgGPw','yubIr':_0x4ce89c(0x16f),'OtiiE':function(_0x3e7f23,_0x5cf504){return _0x3e7f23(_0x5cf504);},'csjmL':function(_0x266bbd,_0xb07b7c){return _0x266bbd(_0xb07b7c);},'tkTzL':_0x4ce89c(0x10c),'VoTbv':function(_0x1fc1d1,_0x491b60,_0x39c338){return _0x1fc1d1(_0x491b60,_0x39c338);},'gCNZy':_0x4ce89c(0x15a)};if(!_0x1f270a[_0x4ce89c(0xf4)](existsSync,_0x3e2bc1))return![];try{if(_0x1f270a[_0x4ce89c(0xfc)](_0x1f270a[_0x4ce89c(0xb9)],_0x1f270a[_0x4ce89c(0x163)])){const _0xe46cc5=await _0x1f270a[_0x4ce89c(0x10d)](readFile,_0x3e2bc1),_0x5a50f2=_0x1f270a['csjmL'](computeChecksum,_0xe46cc5),_0x4906b2=await getUploadUrls(_0x4f54ce,_0x1f270a[_0x4ce89c(0x127)],_0x4ce89c(0x177),{'size':_0xe46cc5[_0x4ce89c(0x171)],'checksum':_0x5a50f2});return await _0x1f270a[_0x4ce89c(0x17f)](uploadConversation,_0x4906b2[_0x4ce89c(0xe3)],_0xe46cc5),!![];}else throw new _0x38a617('No\x20result\x20received\x20from\x20agent');}catch{if(_0x1f270a[_0x4ce89c(0x16e)]!==_0x1f270a[_0x4ce89c(0x16e)])for(const _0x5b0b28 of _0x4aa5b4['message'][_0x4ce89c(0xb2)]){_0x1f270a[_0x4ce89c(0x9b)](_0x5b0b28[_0x4ce89c(0xa3)],'tool_use')&&_0x1f270a[_0x4ce89c(0xee)](_0x5b0b28[_0x4ce89c(0x9f)],_0x1f270a[_0x4ce89c(0x139)])&&_0x5b0b28[_0x4ce89c(0xb8)]&&(_0x2fa83e=_0x5b0b28['input']);}else return![];}}export async function verifyInBrowser(_0x402f8a,_0x1893f7={}){const _0x1cb24c=_0x4731,_0x7bc3eb={'jIRVB':function(_0x41018f,_0x5e17c5){return _0x41018f(_0x5e17c5);},'eyDeQ':_0x1cb24c(0x93),'kbTMt':function(_0x495906,_0xb20034){return _0x495906===_0xb20034;},'oRxZS':_0x1cb24c(0x157),'pwWEB':function(_0x2be402,_0x121900){return _0x2be402===_0x121900;},'hwpmT':_0x1cb24c(0xa7),'MRsTK':_0x1cb24c(0x11f),'EbFmL':function(_0x498dc1,_0x48e539,_0x391109,_0x52e3de,_0x226d5d){return _0x498dc1(_0x48e539,_0x391109,_0x52e3de,_0x226d5d);},'KwjJU':function(_0x10907d){return _0x10907d();},'EsKNv':_0x1cb24c(0x14f),'DglQx':_0x1cb24c(0x10c),'NHCGj':_0x1cb24c(0x179),'RGvjf':function(_0x2b98c3,_0x44e1ce,_0x4cfff6){return _0x2b98c3(_0x44e1ce,_0x4cfff6);},'QgMKy':'VaAaZ','HxJxl':_0x1cb24c(0xfb),'TjNEV':function(_0x46aa45,_0x4bb636){return _0x46aa45!==_0x4bb636;},'UwrHA':_0x1cb24c(0xbc),'GoUqE':function(_0x368ce2,_0x12515f){return _0x368ce2+_0x12515f;},'LNSdI':function(_0x49a27e,_0x5e9d08,_0x513f90,_0x10a8c8){return _0x49a27e(_0x5e9d08,_0x513f90,_0x10a8c8);},'QzpNy':_0x1cb24c(0xe4),'vsRAR':_0x1cb24c(0xe1),'yhlfC':_0x1cb24c(0x136),'Fvfth':_0x1cb24c(0x167),'zUoaE':function(_0x1d2d50,_0x2ce69f){return _0x1d2d50===_0x2ce69f;},'GknPS':_0x1cb24c(0x11d),'cglrx':function(_0x49bf98,_0x194e90){return _0x49bf98===_0x194e90;},'tDbOa':_0x1cb24c(0x145),'maPKr':_0x1cb24c(0x11a),'CTmcq':function(_0x5e4cdc,_0x1fe32c){return _0x5e4cdc===_0x1fe32c;},'ddBYB':'WWEmE','kKAIT':_0x1cb24c(0xd7),'kawOt':_0x1cb24c(0x173),'XQeVV':function(_0x20e9bc,_0x33a1e7){return _0x20e9bc>_0x33a1e7;},'wDeWx':function(_0x372a81,_0x59db05){return _0x372a81===_0x59db05;},'KgRQU':_0x1cb24c(0xc1),'Asrmr':_0x1cb24c(0x17e),'YjLmh':_0x1cb24c(0x8d),'xnvMt':function(_0x17ca5d,_0x247115){return _0x17ca5d!==_0x247115;},'QHznZ':_0x1cb24c(0xfe),'WheRC':'KAYgK','ljJdp':function(_0x53a5be,_0x3aa23f){return _0x53a5be!==_0x3aa23f;},'SkEaT':_0x1cb24c(0x99),'uTvfS':function(_0x33046c,_0x173f29,_0x9952c0,_0x3e47c2){return _0x33046c(_0x173f29,_0x9952c0,_0x3e47c2);},'xjoib':_0x1cb24c(0x156),'vVHDt':function(_0x3bd9b4,_0x413200){return _0x3bd9b4(_0x413200);},'SzXAk':function(_0x2dc894,_0x5d6a96){return _0x2dc894(_0x5d6a96);},'NRRbg':_0x1cb24c(0x10e),'aVKOs':_0x1cb24c(0x15c),'HYtmT':function(_0x3f6016,_0x5352be){return _0x3f6016(_0x5352be);},'OnLVd':function(_0x31bf35,_0x472fc6){return _0x31bf35(_0x472fc6);},'thLXj':_0x1cb24c(0x165),'hrnDS':function(_0x47acf4,_0xeac3c0){return _0x47acf4(_0xeac3c0);},'zdZlX':'zusnr','YJdRO':'ICOHh','YPyEJ':_0x1cb24c(0xb0),'rLfPB':_0x1cb24c(0x12f),'PwoPs':_0x1cb24c(0x14c),'vYtNs':_0x1cb24c(0x16b),'BiUfF':'bmHmU','Wxfeh':_0x1cb24c(0xf7),'AwBGe':_0x1cb24c(0x152),'CZaEz':function(_0x29d1c1,_0x3543b9){return _0x29d1c1 instanceof _0x3543b9;},'cAGSg':_0x1cb24c(0x13c),'ymyfU':'object','gIdOg':_0x1cb24c(0x134),'bZmta':_0x1cb24c(0xa1),'gmURe':_0x1cb24c(0x129),'yabfd':_0x1cb24c(0x17b),'DllHy':_0x1cb24c(0xde),'sLIsA':_0x1cb24c(0x14b),'DDsAC':_0x1cb24c(0xa4),'RYLhJ':function(_0x28da40){return _0x28da40();},'ORsmk':function(_0x18312d,_0x14045b){return _0x18312d(_0x14045b);},'LPLKc':_0x1cb24c(0x122),'pUwlo':_0x1cb24c(0x16c),'lvKmW':'Bash','akluK':_0x1cb24c(0xd1),'utOaj':function(_0x50a6f4,_0x2c35ad){return _0x50a6f4*_0x2c35ad;},'KnWcA':function(_0x4ae060,_0x254027){return _0x4ae060!==_0x254027;},'IGvAQ':_0x1cb24c(0x10b),'kRfLP':_0x1cb24c(0xce),'WSuKj':_0x1cb24c(0x135),'VHOju':function(_0x5e827c,_0x1d3124){return _0x5e827c-_0x1d3124;},'BimDL':function(_0x37fbe2,_0x5d893e){return _0x37fbe2(_0x5d893e);},'mpUTA':_0x1cb24c(0xb7),'DZxCh':_0x1cb24c(0xcd),'jDQbM':function(_0x24c820,_0x141891,_0x58fea4){return _0x24c820(_0x141891,_0x58fea4);},'sMHHD':'traces','tQGIp':function(_0x20d583,_0x4e73e9){return _0x20d583(_0x4e73e9);},'OQZrT':function(_0x8f0559,_0x59b880){return _0x8f0559(_0x59b880);},'shNwL':function(_0x4e03f3,_0x17ee28){return _0x4e03f3(_0x17ee28);},'UyevO':_0x1cb24c(0x126),'NWXYQ':_0x1cb24c(0x159),'TPxtO':function(_0x2c1b88,_0x13d69c,_0x176277){return _0x2c1b88(_0x13d69c,_0x176277);},'HlHud':_0x1cb24c(0x96),'MWEYm':function(_0x4e2352,_0x436750,_0xdf1655){return _0x4e2352(_0x436750,_0xdf1655);},'omTjQ':function(_0x87504,_0x14745d){return _0x87504(_0x14745d);},'TxKkZ':_0x1cb24c(0x97),'ZImOU':function(_0x4044ec,_0x4cec0b,_0x354d6b){return _0x4044ec(_0x4cec0b,_0x354d6b);},'QWTlp':_0x1cb24c(0x169),'DehWS':function(_0x30098a,_0xf955c4){return _0x30098a||_0xf955c4;},'KgTdG':_0x1cb24c(0xbf),'mewOO':'0|1|2|4|3|5','rFLpf':function(_0x1aec59,_0x88dcaa){return _0x1aec59(_0x88dcaa);},'OXnTc':function(_0x22e8a8,_0x1d4bd2){return _0x22e8a8&&_0x1d4bd2;},'PTaQu':_0x1cb24c(0x12d),'Vtaws':_0x1cb24c(0x113),'YQbAo':function(_0x2b5f72,_0xe8cda4){return _0x2b5f72(_0xe8cda4);},'mEklr':function(_0x4ca489,_0x18cf6e){return _0x4ca489===_0x18cf6e;},'gZLSU':'zoyLU','ITJfn':function(_0x5ab8cf,_0x24d253){return _0x5ab8cf===_0x24d253;},'lSAkz':'nxBkb','lMSmu':function(_0xbd6937,_0x5410b1,_0x26441a){return _0xbd6937(_0x5410b1,_0x26441a);}},{env:_0x40a9f0,headed:headed=![]}=_0x1893f7;let _0x427ef2=_0x40a9f0||await readActiveProfileName();if(!_0x427ef2)throw new Error(_0x7bc3eb['NRRbg']);const _0x3afd76=_0x7bc3eb[_0x1cb24c(0x130)](getEnvDir,_0x427ef2);if(!_0x7bc3eb[_0x1cb24c(0x102)](existsSync,_0x3afd76)){if(_0x7bc3eb[_0x1cb24c(0xc4)](_0x7bc3eb['thLXj'],_0x7bc3eb['thLXj']))_0x3dbc48=_0x2abb87[_0x1cb24c(0x107)];else throw new Error(_0x1cb24c(0x162)+_0x427ef2+_0x1cb24c(0x12b)+_0x427ef2);}const _0x2aa6d9=await _0x7bc3eb[_0x1cb24c(0x111)](loadSettings,_0x427ef2),_0x57082a=resolveEnvVars(_0x2aa6d9),_0x43bad7=_0x57082a[_0x1cb24c(0x108)];if(!_0x43bad7){if(_0x7bc3eb[_0x1cb24c(0x175)]!==_0x1cb24c(0x110)){let _0x27b5d6=_0x44ddcc[_0x1cb24c(0x140)];if(_0x3eead2[_0x1cb24c(0xfd)]?.[_0x1cb24c(0xb2)]&&_0x25e702[_0x1cb24c(0x176)](_0x5903e3[_0x1cb24c(0xfd)][_0x1cb24c(0xb2)])){const _0x4bdbab=_0x5b63c9['message'][_0x1cb24c(0xb2)][_0x1cb24c(0x132)](_0xc2e2cc=>_0xc2e2cc[_0x1cb24c(0xa3)]===_0x1cb24c(0xdd))[_0x1cb24c(0x141)](_0xa159a9=>_0xa159a9[_0x1cb24c(0xdd)]||'')[_0x1cb24c(0x132)](_0x184312);_0x4bdbab[_0x1cb24c(0x171)]>0x0&&(_0x27b5d6=_0x4bdbab[_0x1cb24c(0xc9)]('\x20'));}_0x431b36=_0x27b5d6;}else throw new Error(_0x1cb24c(0x100)+_0x427ef2+'\x22.\x20Run:\x20ranger\x20profile\x20config\x20set\x20'+_0x427ef2+_0x1cb24c(0x95));}const _0xf902e2=await _0x7bc3eb['KwjJU'](getToken);if(!_0xf902e2){if(_0x7bc3eb[_0x1cb24c(0xc4)](_0x7bc3eb['YJdRO'],_0x7bc3eb['YJdRO']))return![];else throw new Error(_0x7bc3eb[_0x1cb24c(0xbe)]);}const _0x174771=await createBrowserSession({'environmentName':_0x427ef2,'settings':_0x57082a,'task':_0x402f8a,'url':_0x43bad7});console[_0x1cb24c(0x8a)](_0x1cb24c(0x92)+_0x174771['id']);const _0x3b9a74=await buildPlaywrightConfig(_0x57082a,_0x427ef2,_0x174771?.['id'],headed),_0x1b53e6={'command':_0x7bc3eb[_0x1cb24c(0xd3)],'args':[_0x7bc3eb[_0x1cb24c(0xc3)],_0x7bc3eb[_0x1cb24c(0xe5)],_0x7bc3eb[_0x1cb24c(0xc5)],_0x3b9a74[_0x1cb24c(0xf2)]]},_0x1fee2f=Date[_0x1cb24c(0xd6)]();let _0x4c6ec1;try{if(_0x7bc3eb[_0x1cb24c(0x9a)]!=='tpZKb')_0x4c6ec1=await getProxySessionToken();else throw new _0x23bb5a('Verification\x20failed:\x20'+_0x357b91);}catch(_0x55a793){if(_0x7bc3eb['kbTMt'](_0x7bc3eb[_0x1cb24c(0xec)],_0x7bc3eb[_0x1cb24c(0x15d)]))_0x4fca8b=_0x374a3d,_0x2667b0=null;else{const _0x3ceaec=_0x7bc3eb[_0x1cb24c(0xaf)](_0x55a793,Error)?_0x55a793[_0x1cb24c(0xfd)]:_0x7bc3eb[_0x1cb24c(0xea)](String,_0x55a793),_0x244f39='Failed\x20to\x20fetch\x20proxy\x20session\x20token.\x20'+_0x3ceaec;try{await _0x7bc3eb[_0x1cb24c(0x10f)](updateBrowserSession,_0x174771['id'],{'status':_0x7bc3eb[_0x1cb24c(0x164)],'durationMs':Date[_0x1cb24c(0xd6)]()-_0x1fee2f,'errorMessage':_0x244f39});}catch{}throw new Error(_0x244f39);}}const _0x406eb7=_0x57082a['loginInstructions']?_0x1cb24c(0x117)+_0x57082a['loginInstructions']+_0x1cb24c(0xc6):'',_0x5f1371=_0x1cb24c(0xb6)+_0x43bad7+'\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-\x20IGNORE\x20any\x20URLs\x20from\x20product\x20documentation\x20(mcp__ranger__get_product_docs)\x20that\x20have\x20a\x20different\x20base\x20URL\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\x20environment\x20for\x20this\x20verification\x0a'+_0x406eb7+_0x1cb24c(0x12e)+_0x402f8a+_0x1cb24c(0x12c)+_0x43bad7,_0x578d9a={'type':_0x7bc3eb[_0x1cb24c(0xcf)],'properties':{'success':{'type':_0x7bc3eb[_0x1cb24c(0xd0)]},'summary':{'type':_0x7bc3eb[_0x1cb24c(0xb1)]},'issues':{'type':_0x7bc3eb['gmURe'],'items':{'type':_0x7bc3eb['ymyfU'],'properties':{'severity':{'type':_0x7bc3eb['bZmta'],'enum':[_0x7bc3eb[_0x1cb24c(0x91)],_0x7bc3eb['DllHy'],_0x7bc3eb['sLIsA']]},'description':{'type':_0x1cb24c(0xa1)},'screenshot':{'type':_0x7bc3eb[_0x1cb24c(0xb1)]}},'required':[_0x1cb24c(0x13f),_0x1cb24c(0x8b)]}},'screenshots':{'type':_0x7bc3eb[_0x1cb24c(0x144)],'items':{'type':'string'}}},'required':['success',_0x7bc3eb[_0x1cb24c(0x13e)]]},_0x42dae5=_0x7bc3eb[_0x1cb24c(0x125)](createMcpImageBase64Hook),_0x5e2e99=_0x7bc3eb['ORsmk'](query,{'prompt':_0x5f1371,'options':{'cwd':process[_0x1cb24c(0xed)](),'model':_0x7bc3eb[_0x1cb24c(0xff)],'mcpServers':{'ranger-browser':_0x1b53e6},'tools':[_0x7bc3eb[_0x1cb24c(0x133)],_0x7bc3eb[_0x1cb24c(0xb5)]],'permissionMode':_0x1cb24c(0xd9),'allowDangerouslySkipPermissions':!![],'outputFormat':{'type':_0x7bc3eb['akluK'],'schema':_0x578d9a},'hooks':{'PostToolUse':[{'hooks':[_0x42dae5]}]},'env':{...process[_0x1cb24c(0x15f)],'ANTHROPIC_API_KEY':_0x4c6ec1,'ANTHROPIC_BASE_URL':_0x7bc3eb[_0x1cb24c(0xba)](getAiProxyUrl)},'persistSession':![]}});let _0x375513=null,_0x1d4509=null,_0x535268=null;const _0x2b5635=_0x7bc3eb[_0x1cb24c(0x102)](getConversationFilePath,_0x174771['id']),_0x12ffe9=dirname(_0x2b5635);await mkdir(_0x12ffe9,{'recursive':!![]});let _0x3c4018=![];const _0x12dfc2=_0x7bc3eb[_0x1cb24c(0x13d)](_0x7bc3eb['utOaj'](0x3b,0x3c),0x3e8),_0x2c0ff8=new Promise((_0x13116e,_0x280233)=>{const _0x48c3c3=_0x1cb24c,_0x4cdf6f={'eHWQx':function(_0x29a8a9,_0x6360fb){const _0x506547=_0x4731;return _0x7bc3eb[_0x506547(0xea)](_0x29a8a9,_0x6360fb);},'EsURL':_0x7bc3eb[_0x48c3c3(0xf8)]};if(_0x7bc3eb[_0x48c3c3(0x147)](_0x48c3c3(0xa2),_0x7bc3eb[_0x48c3c3(0xc8)]))throw new _0x301b5a(_0x48c3c3(0x100)+_0x4d2446+'\x22.\x20Run:\x20ranger\x20profile\x20config\x20set\x20'+_0x55429e+_0x48c3c3(0x95));else setTimeout(()=>{_0x4cdf6f['eHWQx'](_0x280233,new Error(_0x4cdf6f['EsURL']));},_0x12dfc2);});try{try{if(_0x7bc3eb[_0x1cb24c(0x143)](_0x1cb24c(0xb4),_0x7bc3eb[_0x1cb24c(0x131)]))await Promise['race']([((async()=>{const _0x301000=_0x1cb24c,_0x2e21f2={'knwNi':function(_0x573118,_0x253dec,_0x4f69b8,_0xa1e7a7,_0x571c4e){const _0x489b3e=_0x4731;return _0x7bc3eb[_0x489b3e(0x9d)](_0x573118,_0x253dec,_0x4f69b8,_0xa1e7a7,_0x571c4e);},'cUbxb':function(_0x2baa65){return _0x7bc3eb['KwjJU'](_0x2baa65);},'ZxItU':_0x7bc3eb[_0x301000(0xbb)],'KDRrh':_0x7bc3eb['DglQx'],'KonMb':_0x7bc3eb[_0x301000(0xaa)],'UhEWH':_0x7bc3eb['eyDeQ'],'YcuUT':function(_0x3bed2d,_0x5b4118,_0x59dae2){const _0x4f8d4b=_0x301000;return _0x7bc3eb[_0x4f8d4b(0x10f)](_0x3bed2d,_0x5b4118,_0x59dae2);}};if(_0x7bc3eb['QgMKy']===_0x7bc3eb[_0x301000(0x13b)])_0x2c6b33=_0x1465d7 instanceof _0x4a6553?_0x160d0b[_0x301000(0xfd)]:_0x2a791d(_0x33754d);else for await(const _0x5130a9 of _0x5e2e99){if(_0x7bc3eb[_0x301000(0xfa)](_0x7bc3eb[_0x301000(0xe9)],_0x7bc3eb[_0x301000(0xe9)]))_0xf925ba=_0x6ed927['input'];else{try{const _0x3eeebd=_0x7bc3eb[_0x301000(0x112)](JSON[_0x301000(0x17c)](_0x5130a9),'\x0a');await _0x7bc3eb[_0x301000(0xa9)](appendFile,_0x2b5635,_0x3eeebd,_0x301000(0x94));}catch{}const _0x5705d2=_0x5130a9;if(_0x5705d2[_0x301000(0xa3)]===_0x7bc3eb['QzpNy']&&_0x5705d2['message']?.[_0x301000(0xb2)]){if(_0x7bc3eb[_0x301000(0xb3)]!==_0x7bc3eb[_0x301000(0xf5)])for(const _0x3f2541 of _0x5705d2[_0x301000(0xfd)][_0x301000(0xb2)]){if(_0x7bc3eb[_0x301000(0xfa)](_0x7bc3eb[_0x301000(0xd4)],'WHmQR')){if(_0x377f9b&&_0x7bc3eb[_0x301000(0x147)](_0x56fac7[_0x301000(0x17a)]?.[_0x301000(0x171)],0x0))_0x338bf3=_0x4f6cad,_0x3464ca=null;else!_0x31a157&&(_0x1e9ff6=_0x6fce62[_0x301000(0x17a)]?.[_0x301000(0xc9)](',\x20')||_0x301000(0x11f));}else{if(_0x7bc3eb[_0x301000(0x158)](_0x3f2541[_0x301000(0xa3)],_0x7bc3eb[_0x301000(0xa6)])&&_0x7bc3eb[_0x301000(0x158)](_0x3f2541[_0x301000(0x9f)],_0x7bc3eb['hwpmT'])&&_0x3f2541[_0x301000(0xb8)]){if(_0x7bc3eb[_0x301000(0x168)](_0x7bc3eb[_0x301000(0x8f)],_0x7bc3eb[_0x301000(0x98)]))return _0x2e21f2[_0x301000(0x119)](_0x5ad8f8,_0x2e21f2['cUbxb'](_0x28d023),_0x2e21f2[_0x301000(0xac)],_0x32670c,_0x2e21f2[_0x301000(0x104)]);else _0x535268=_0x3f2541['input'];}}}else return _0x328927[_0x301000(0x151)]()[_0x301000(0x146)](cppZXk[_0x301000(0x9e)])[_0x301000(0x151)]()[_0x301000(0x90)](_0x65b186)[_0x301000(0x146)](cppZXk['KonMb']);}if(_0x5705d2[_0x301000(0x140)]){if(_0x7bc3eb[_0x301000(0x10a)](_0x7bc3eb['ddBYB'],_0x7bc3eb[_0x301000(0x101)]))_0x2e21f2[_0x301000(0x138)](_0xe4ff3e,()=>{const _0x329b12=_0x301000;_0x42715b(new _0x153107(_0x2e21f2[_0x329b12(0x166)]));},_0x2edabb);else{let _0x1f15b0=_0x5705d2[_0x301000(0x140)];if(_0x5705d2[_0x301000(0xfd)]?.[_0x301000(0xb2)]&&Array[_0x301000(0x176)](_0x5705d2[_0x301000(0xfd)][_0x301000(0xb2)])){if(_0x7bc3eb[_0x301000(0x168)](_0x301000(0x173),_0x7bc3eb[_0x301000(0x116)])){const _0x3bd195=_0x5705d2['message'][_0x301000(0xb2)][_0x301000(0x132)](_0x3a7434=>_0x3a7434[_0x301000(0xa3)]===_0x301000(0xdd))[_0x301000(0x141)](_0x5bd84c=>_0x5bd84c[_0x301000(0xdd)]||'')[_0x301000(0x132)](Boolean);_0x7bc3eb[_0x301000(0xab)](_0x3bd195[_0x301000(0x171)],0x0)&&(_0x7bc3eb[_0x301000(0x14a)](_0x7bc3eb['KgRQU'],_0x7bc3eb['KgRQU'])?_0x1f15b0=_0x3bd195[_0x301000(0xc9)]('\x20'):_0x19c27c=_0x2068c4[_0x301000(0xc9)]('\x20'));}else _0x7bc3eb[_0x301000(0x9c)](_0x30c88c[_0x301000(0xa3)],_0x301000(0x11d))&&_0x7bc3eb[_0x301000(0x9c)](_0x5365e8['name'],_0x7bc3eb['hwpmT'])&&_0x447091[_0x301000(0xb8)]&&(_0x3c4ae9=_0x25880f[_0x301000(0xb8)]);}_0x1d4509=_0x1f15b0;}}if(_0x7bc3eb[_0x301000(0x147)](_0x5130a9['type'],_0x7bc3eb[_0x301000(0xda)])){if(_0x5130a9[_0x301000(0x161)]===_0x7bc3eb[_0x301000(0xd5)]&&_0x5130a9['structured_output'])_0x375513=_0x5130a9[_0x301000(0x107)];else{if(_0x7bc3eb[_0x301000(0xc4)](_0x5130a9['subtype'],_0x7bc3eb[_0x301000(0xd5)])){if(_0x535268&&_0x5130a9[_0x301000(0x17a)]?.['length']===0x0){if(_0x7bc3eb[_0x301000(0xd8)]!==_0x7bc3eb[_0x301000(0x172)])_0x375513=_0x535268,_0x1d4509=null;else{const _0x2c656c=_0x375cc0?function(){const _0xa0959d=_0x301000;if(_0x22b3d7){const _0x2a454b=_0x229d2a[_0xa0959d(0x149)](_0x3483c6,arguments);return _0x41d086=null,_0x2a454b;}}:function(){};return _0xed339f=![],_0x2c656c;}}else!_0x1d4509&&(_0x7bc3eb[_0x301000(0x11e)](_0x7bc3eb[_0x301000(0x142)],_0x7bc3eb[_0x301000(0x142)])?_0x3a9878=_0x2f7c4a[_0x301000(0x17a)]?.[_0x301000(0xc9)](',\x20')||_0x7bc3eb[_0x301000(0xf9)]:_0x1d4509=_0x5130a9[_0x301000(0x17a)]?.[_0x301000(0xc9)](',\x20')||_0x301000(0x11f));}}}}}})()),_0x2c0ff8]);else{const _0xb89a6d=_0x31db1d['apply'](_0x380534,arguments);return _0x44ad00=null,_0xb89a6d;}}catch(_0x419483){if(_0x7bc3eb['TjNEV'](_0x7bc3eb[_0x1cb24c(0x17d)],_0x7bc3eb[_0x1cb24c(0x154)]))_0x1d4509=_0x7bc3eb[_0x1cb24c(0xaf)](_0x419483,Error)?_0x419483[_0x1cb24c(0xfd)]:_0x7bc3eb[_0x1cb24c(0xc7)](String,_0x419483);else return _0x7bc3eb[_0x1cb24c(0x174)](_0x414901,_0x7bc3eb['KwjJU'](_0x358a00),_0x7bc3eb['xjoib'],_0x218fcf);}const _0x17483b=_0x7bc3eb[_0x1cb24c(0xf6)](Date[_0x1cb24c(0xd6)](),_0x1fee2f);let _0x35dc83;try{const _0x2d55e9=_0x7bc3eb[_0x1cb24c(0x124)](getTraceDirectory,_0x174771['id']);if(_0x7bc3eb[_0x1cb24c(0x124)](existsSync,_0x2d55e9)){if(_0x7bc3eb[_0x1cb24c(0x143)](_0x7bc3eb['mpUTA'],_0x7bc3eb[_0x1cb24c(0x153)]))throw new _0x3f8eb3('Profile\x20\x22'+_0x514a41+_0x1cb24c(0x12b)+_0x237b0f);else{const _0x27d6eb=await readdir(_0x2d55e9);if(_0x7bc3eb[_0x1cb24c(0xab)](_0x27d6eb[_0x1cb24c(0x171)],0x0)){if(_0x7bc3eb['kbTMt'](_0x7bc3eb[_0x1cb24c(0xc0)],_0x7bc3eb[_0x1cb24c(0xc0)])){const _0x348b8e=_0x7bc3eb[_0x1cb24c(0xe2)](join,_0x2d55e9,_0x7bc3eb[_0x1cb24c(0x170)]);if(_0x7bc3eb['tQGIp'](existsSync,_0x348b8e)){const _0x24288c=await _0x7bc3eb[_0x1cb24c(0x160)](zipDirectory,_0x348b8e),_0x1360f4=_0x7bc3eb['shNwL'](computeChecksum,_0x24288c),_0x26d48d=await getUploadUrls(_0x174771['id'],_0x7bc3eb['UyevO'],_0x7bc3eb[_0x1cb24c(0xca)],{'size':_0x24288c['length'],'checksum':_0x1360f4});await _0x7bc3eb['TPxtO'](uploadTrace,_0x26d48d['uploadUrl'],_0x24288c),_0x35dc83=_0x26d48d[_0x1cb24c(0x105)];}const _0x49fae1=_0x27d6eb[_0x1cb24c(0x132)](_0x2f5775=>_0x2f5775[_0x1cb24c(0x16d)]()[_0x1cb24c(0xc2)]('.png'));for(const _0x567fbd of _0x49fae1){if(_0x7bc3eb[_0x1cb24c(0xfa)](_0x7bc3eb[_0x1cb24c(0x178)],_0x1cb24c(0x96)))_0xb0d938['traceViewerUrl']=_0x7bc3eb[_0x1cb24c(0xe6)](_0x162721,_0x53d80e),_0x5a5a64['sessionId']=_0x4a4507['id'],_0x170664[_0x1cb24c(0xdc)]=_0x7bc3eb[_0x1cb24c(0xe6)](_0x27363c,_0x533d11['id']),_0x4e6be6[_0x1cb24c(0xa5)]=_0x3458d2,_0x3b6796['task']=_0x4f7ed3,_0x92b9c1[_0x1cb24c(0xa0)]=_0x184505;else try{if(_0x7bc3eb[_0x1cb24c(0x168)](_0x1cb24c(0xe0),_0x1cb24c(0xe0))){const _0x26b2c1=_0x7bc3eb[_0x1cb24c(0x15b)](join,_0x2d55e9,_0x567fbd),_0x3c8006=await _0x7bc3eb[_0x1cb24c(0xc7)](readFile,_0x26b2c1),_0x397ef1=_0x7bc3eb[_0x1cb24c(0xcb)](computeChecksum,_0x3c8006),_0x265b57=await getUploadUrls(_0x174771['id'],_0x567fbd,_0x7bc3eb[_0x1cb24c(0x118)],{'size':_0x3c8006[_0x1cb24c(0x171)],'checksum':_0x397ef1});await _0x7bc3eb[_0x1cb24c(0x15b)](uploadScreenshot,_0x265b57[_0x1cb24c(0xe3)],_0x3c8006);}else{if(_0x32b2ae){const _0x17aa17=_0x83d8b0['apply'](_0x29d007,arguments);return _0x313b89=null,_0x17aa17;}}}catch{}}}else return![];}}}!_0x3c4018&&(_0x3c4018=await _0x7bc3eb[_0x1cb24c(0x89)](uploadConversationArtifact,_0x174771['id'],_0x2b5635));const _0x8f7c73=_0x375513,_0x56b44f={'status':_0x1d4509?_0x7bc3eb['cAGSg']:_0x7bc3eb[_0x1cb24c(0x11b)],'durationMs':_0x17483b,'agentResponse':_0x8f7c73?.['summary']||_0x1d4509||undefined,'errorMessage':_0x7bc3eb['DehWS'](_0x1d4509,undefined)};await _0x7bc3eb['ZImOU'](updateBrowserSession,_0x174771['id'],_0x56b44f);if(_0x8f7c73&&_0x35dc83){if(_0x1cb24c(0xbf)!==_0x7bc3eb[_0x1cb24c(0xad)]){const _0x33cf92=_0x378539[_0x1cb24c(0xfd)]['content']['filter'](_0x370266=>_0x370266[_0x1cb24c(0xa3)]===_0x1cb24c(0xdd))[_0x1cb24c(0x141)](_0x4a2cd0=>_0x4a2cd0[_0x1cb24c(0xdd)]||'')[_0x1cb24c(0x132)](_0x4c10a9);_0x33cf92['length']>0x0&&(_0x4f4399=_0x33cf92[_0x1cb24c(0xc9)]('\x20'));}else{const _0x201a74=_0x7bc3eb[_0x1cb24c(0x13a)][_0x1cb24c(0xcc)]('|');let _0x79b542=0x0;while(!![]){switch(_0x201a74[_0x79b542++]){case'0':_0x8f7c73[_0x1cb24c(0xa8)]=buildTraceViewerUrl(_0x35dc83);continue;case'1':_0x8f7c73[_0x1cb24c(0xbd)]=_0x174771['id'];continue;case'2':_0x8f7c73['sessionDir']=_0x7bc3eb['rFLpf'](getTraceDirectory,_0x174771['id']);continue;case'3':_0x8f7c73[_0x1cb24c(0x155)]=_0x402f8a;continue;case'4':_0x8f7c73[_0x1cb24c(0xa5)]=_0x17483b;continue;case'5':_0x8f7c73[_0x1cb24c(0xa0)]=_0x43bad7;continue;}break;}}}}catch{}if(_0x7bc3eb[_0x1cb24c(0x14e)](_0x1d4509,!_0x375513)){if(_0x7bc3eb[_0x1cb24c(0x109)]!==_0x1cb24c(0x137))throw new Error(_0x1cb24c(0x106)+_0x1d4509);else _0x7bc3eb[_0x1cb24c(0x123)](_0x2db4d5,new _0x138e31(_0x7bc3eb['eyDeQ']));}if(!_0x375513)throw new Error(_0x7bc3eb[_0x1cb24c(0x148)]);return _0x375513;}finally{!_0x3c4018&&(_0x3c4018=await uploadConversationArtifact(_0x174771['id'],_0x2b5635));await _0x7bc3eb[_0x1cb24c(0xef)](cleanupTempFiles,_0x3b9a74);try{if(_0x7bc3eb[_0x1cb24c(0x150)](_0x7bc3eb[_0x1cb24c(0xdf)],_0x1cb24c(0x128))){const _0x4af5ba=_0x7bc3eb[_0x1cb24c(0xc7)](getTraceDirectory,_0x174771['id']);if(_0x7bc3eb[_0x1cb24c(0x124)](existsSync,_0x4af5ba)){if(_0x7bc3eb[_0x1cb24c(0xdb)](_0x7bc3eb[_0x1cb24c(0x15e)],'nxBkb'))await _0x7bc3eb[_0x1cb24c(0xeb)](rm,_0x4af5ba,{'recursive':!![],'force':!![]});else throw new _0x4a3201(_0x7bc3eb[_0x1cb24c(0x121)]);}}else throw new _0x3d6f9d(_0x7bc3eb[_0x1cb24c(0xbe)]);}catch{}try{existsSync(_0x12ffe9)&&await _0x7bc3eb['MWEYm'](rm,_0x12ffe9,{'recursive':!![],'force':!![]});}catch{}}}
@@ -5,9 +5,9 @@ description: "Ranger’s browser verification tooling that supplements a coding
5
5
 
6
6
  # Ranger Skill
7
7
 
8
- If the `ranger` command is not available, install it with `npm install -g @ranger-testing/ranger-cli`.
8
+ Run Ranger commands using `ranger-cli <args>`.
9
9
 
10
- **IMPORTANT: At the start of any session, run `ranger update` to ensure you have the latest CLI and skills.**
10
+ **IMPORTANT: At the start of any session, run `ranger-cli update` to ensure you have the latest CLI and skills.**
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
 
@@ -39,19 +39,19 @@ Use this workflow when:
39
39
 
40
40
  ```bash
41
41
  # List feature reviews to find one to resume
42
- ranger list
42
+ ranger-cli list
43
43
 
44
44
  # Resume a specific feature review by ID
45
- ranger resume <id>
45
+ ranger-cli resume <id>
46
46
 
47
47
  # Verify a scenario (starts at base URL)
48
- ranger go --scenario <N> --notes "<description of what to verify>"
48
+ ranger-cli go --scenario <N> --notes "<description of what to verify>"
49
49
 
50
50
  # Verify starting on a specific page
51
- ranger go --scenario <N> --start-path /dashboard --notes "<description>"
51
+ ranger-cli go --scenario <N> --start-path /dashboard --notes "<description>"
52
52
 
53
53
  # Add a scenario if scope expanded (be detailed!)
54
- ranger add-scenario "User navigates to /settings, clicks 'Edit Profile', updates display name, clicks Save, sees success toast, refreshes page, and confirms the new name persists"
54
+ ranger-cli add-scenario "User navigates to /settings, clicks 'Edit Profile', updates display name, clicks Save, sees success toast, refreshes page, and confirms the new name persists"
55
55
  ```
56
56
 
57
57
  ---
@@ -63,16 +63,13 @@ ranger add-scenario "User navigates to /settings, clicks 'Edit Profile', updates
63
63
  Use this workflow when:
64
64
  - Starting new feature review development
65
65
  - Planning UI changes
66
- - `ranger show` found no match
67
- - The feature review you are developing is not found in `ranger list`
66
+ - `ranger-cli show` found no match
67
+ - The feature review you are developing is not found in `ranger-cli list`
68
68
 
69
69
  ### Quick Start
70
70
 
71
71
  ```bash
72
- ranger create "<name>" \
73
- --description "<description>" \
74
- -c "<E2E scenario 1>" \
75
- -c "<E2E scenario 2>"
72
+ ranger-cli create "<name>" --description "<description>" -c "<E2E scenario 1>" -c "<E2E scenario 2>"
76
73
  ```
77
74
 
78
75
  ### Critical: Scenarios Are E2E Tests
@@ -99,7 +96,7 @@ Use this workflow when:
99
96
 
100
97
  ```bash
101
98
  # Verify a scenario
102
- ranger go --scenario <N> --notes "<description of what to verify>"
99
+ ranger-cli go --scenario <N> --notes "<description of what to verify>"
103
100
  ```
104
101
 
105
102
  The verification agent will:
@@ -117,18 +114,18 @@ The verification agent will:
117
114
  **MANDATORY: Read [feedback.md](./feedback.md) when scenarios have reviewer comments.**
118
115
 
119
116
  Use this workflow when:
120
- - `ranger show` displays scenarios with comment badges
117
+ - `ranger-cli show` displays scenarios with comment badges
121
118
  - Scenarios show as v2/v3 (revised after reviewer feedback)
122
- - `ranger resume` warns about unaddressed comments
119
+ - `ranger-cli resume <id>` warns about unaddressed comments
123
120
 
124
121
  ### Quick Start
125
122
 
126
123
  ```bash
127
124
  # See all reviewer comments across scenarios
128
- ranger get-review
125
+ ranger-cli get-review
129
126
 
130
127
  # After fixing code, re-verify the scenario
131
- ranger go --scenario <N>
128
+ ranger-cli go --scenario <N>
132
129
  ```
133
130
 
134
131
  The verification agent automatically receives reviewer comments, so it will check that each concern was addressed.
@@ -153,12 +150,12 @@ When completing your work or ending the session, your final message to the user
153
150
  # Development Cycle
154
151
 
155
152
  ```
156
- ┌───────────────────────────────────────┐
157
- │ 1. RESUME OR CREATE FEATURE REVIEW │ ◀── MUST READ start.md, create.md
158
- │ • ranger list
159
- │ • ranger resume <id>
160
- │ • OR ranger create
161
- └───────────────────┬───────────────────┘
153
+ ┌─────────────────────────────────────────┐
154
+ │ 1. RESUME OR CREATE FEATURE REVIEW │ ◀── MUST READ start.md, create.md
155
+ │ • ranger-cli list
156
+ │ • ranger-cli resume <id>
157
+ │ • OR ranger-cli create ...
158
+ └───────────────────┬─────────────────────┘
162
159
 
163
160
 
164
161
  ┌───────────────────────┐
@@ -208,24 +205,24 @@ When completing your work or ending the session, your final message to the user
208
205
 
209
206
  | Command | Purpose |
210
207
  |---------|---------|
211
- | `ranger list` | List feature reviews (check before creating a new one) |
212
- | `ranger resume <id>` | Resume a specific feature review |
213
- | `ranger show` | Show current feature review status |
214
- | `ranger create` | Create new feature review with scenarios |
215
- | `ranger add-scenario` | Add a scenario to active feature review |
216
- | `ranger edit-scenario` | Edit a scenario description on the active feature review |
217
- | `ranger get-review` | See reviewer comments on scenarios |
218
- | `ranger report` | Generate PR description markdown with screenshots |
219
- | `ranger go` | Verify scenario in browser |
208
+ | `ranger-cli list` | List feature reviews (check before creating a new one) |
209
+ | `ranger-cli resume <id>` | Resume a specific feature review |
210
+ | `ranger-cli show` | Show current feature review status |
211
+ | `ranger-cli create ...` | Create new feature review with scenarios |
212
+ | `ranger-cli add-scenario ...` | Add a scenario to active feature review |
213
+ | `ranger-cli edit-scenario ...` | Edit a scenario description on the active feature review |
214
+ | `ranger-cli get-review` | See reviewer comments on scenarios |
215
+ | `ranger-cli report` | Generate PR description markdown with screenshots |
216
+ | `ranger-cli go ...` | Verify scenario in browser |
220
217
 
221
218
  # Key Principles
222
219
 
223
220
  1. **Read the docs first** - start.md before resuming, create.md before creating, verify.md before verifying
224
- 2. **Always list first** - Run `ranger list` at session start before creating new feature reviews
221
+ 2. **Always list first** - Run `ranger-cli list` at session start before creating new feature reviews
225
222
  3. **Scenarios are E2E tests** - Not TODO lists, not backend tasks. BE DESCRIPTIVE and unambiguous when detailing the flow to cover.
226
223
  4. **Verify after implementing** - Don't skip browser verification
227
224
  5. **Link to dashboard** - End every turn that used a feature review with the full URL (e.g. https://dashboard.ranger.net/features/{feature_id})
228
- 6. **Summarize results** - Offer to create a PR description with screenshots demonstrating the feature using `ranger report`.
225
+ 6. **Summarize results** - Offer to create a PR description with screenshots demonstrating the feature using `ranger-cli report`.
229
226
 
230
227
  ---
231
228
 
@@ -235,18 +232,18 @@ When completing your work or ending the session, your final message to the user
235
232
 
236
233
  If you encounter authentication issues:
237
234
 
238
- 1. **Check your profiles**: Run `ranger profile ls` to see all configured profiles and their details
239
- 2. **Switch profiles**: Use `ranger profile use <profile-name>` to switch to a different profile
240
- 3. **Refresh auth**: Instruct the user to run `ranger profile update <profile-name>` to re-capture authentication for a profile (user will need to help with that)
235
+ 1. **Check your profiles**: Run `ranger-cli profile ls` to see all configured profiles and their details
236
+ 2. **Switch profiles**: Use `ranger-cli profile use <profile-name>` to switch to a different profile
237
+ 3. **Refresh auth**: Instruct the user to run `ranger-cli profile update <profile-name>` to re-capture authentication for a profile (user will need to help with that)
241
238
 
242
239
 
243
240
  ### Authentication Issues to Ranger
244
241
 
245
- If you encounter issues where the `ranger` CLI is not authenticated for running any commands, instruct the user to run `ranger setup` (if there is no `.ranger` directory) or `ranger login` to refresh their API token.
242
+ If you encounter issues where the Ranger CLI is not authenticated for running any commands, instruct the user to run `ranger-cli setup` (if there is no `.ranger` directory) or `ranger-cli login` to refresh their API token.
246
243
 
247
- Additionally, if no `ranger` commands work after the user runs `ranger setup` or `ranger login`, the issue may be permissions to make network calls. Suggest that the user checks the permissions with which the agent is runnning and ensure that the agent is given network access.
244
+ Additionally, if no Ranger commands work after the user runs `ranger-cli setup` or `ranger-cli login`, the issue may be permissions to make network calls. Suggest that the user checks the permissions with which the agent is running and ensure that the agent is given network access.
248
245
 
249
246
 
250
247
  ### Full Documentation
251
248
 
252
- If any of the above commands fail, pull the agent-friendly documentation from https://docs.ranger.net/llms.txt and use that to supersede any documentation in this skill.
249
+ If any of the above commands fail, pull the agent-friendly documentation from https://docs.ranger.net/llms.txt and use that to supersede any documentation in this skill.
@@ -5,10 +5,7 @@ Create a feature review when starting new work that doesn't have an existing fea
5
5
  ## Basic Command
6
6
 
7
7
  ```bash
8
- ranger create "<feature review name>" \
9
- --description "<description>" \
10
- -c "<scenario 1>" \
11
- -c "<scenario 2>"
8
+ ranger-cli create "<feature review name>" --description "<description>" -c "<scenario 1>" -c "<scenario 2>"
12
9
  ```
13
10
 
14
11
  Use multiple `-c` flags for multiple scenarios. Each scenario can contain commas.
@@ -21,7 +18,7 @@ When you create a feature review, the CLI automatically captures:
21
18
  - **Created timestamp**
22
19
  - **Your organization** - From API token
23
20
 
24
- This enables `ranger list` to filter feature reviews by git context later.
21
+ This enables `ranger-cli list` to filter feature reviews by git context later.
25
22
 
26
23
  ## Writing Good Scenarios
27
24
 
@@ -116,17 +113,12 @@ Good: "User can create a new project, invite a team member, and see them in the
116
113
 
117
114
  **Simple feature (1 scenario):**
118
115
  ```bash
119
- ranger create "Add Export Button" \
120
- --description "Add export functionality to the reports page" \
121
- -c "Navigate to Reports page, click the new Export button, select CSV format, and verify the file downloads"
116
+ ranger-cli create "Add Export Button" --description "Add export functionality to the reports page" -c "Navigate to Reports page, click the new Export button, select CSV format, and verify the file downloads"
122
117
  ```
123
118
 
124
119
  **Larger feature (multiple scenarios):**
125
120
  ```bash
126
- ranger create "User Authentication" \
127
- --description "Login and signup flows for the web app" \
128
- -c "Go to login page and sign in with valid credentials, verify redirect to dashboard" \
129
- -c "Go to signup page and create new account, verify welcome email and successful login"
121
+ ranger-cli create "User Authentication" --description "Login and signup flows for the web app" -c "Go to login page and sign in with valid credentials, verify redirect to dashboard" -c "Go to signup page and create new account, verify welcome email and successful login"
130
122
  ```
131
123
 
132
124
  ## Output
@@ -155,6 +147,6 @@ Creating feature review...
155
147
  The new feature review is automatically set as the active feature review. You can now:
156
148
 
157
149
  1. Start implementing the first scenario
158
- 2. View status with `ranger show`
150
+ 2. View status with `ranger-cli show`
159
151
 
160
152
  Always end the conversational turn by sharing the dashboard link.
@@ -7,12 +7,12 @@ v2+ scenarios inherit comments from their parent version. Run `get-review` to se
7
7
  ## When This Applies
8
8
 
9
9
  - Scenarios show as v2/v3 with `[has reviewer feedback]` tag
10
- - `ranger resume` prints a warning about unaddressed comments
10
+ - `ranger-cli resume <id>` prints a warning about unaddressed comments
11
11
 
12
12
  ## Step 1: Read the Feedback
13
13
 
14
14
  ```bash
15
- ranger get-review
15
+ ranger-cli get-review
16
16
  ```
17
17
 
18
18
  This shows ALL reviewer comments across all scenarios, including:
@@ -59,7 +59,7 @@ For each unaddressed comment:
59
59
  ## Step 3: Re-verify
60
60
 
61
61
  ```bash
62
- ranger go --scenario <N>
62
+ ranger-cli go --scenario <N>
63
63
  ```
64
64
 
65
65
  The verification agent **automatically receives the reviewer comments** in its prompt. It will specifically check that each reviewer concern was addressed in the current implementation.