@ranger-testing/ranger-cli 2.4.6 → 2.5.0

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(_0x1be9db,_0x1813e4){const _0x55140b=_0x5bbb,_0x1fc355=_0x1be9db();while(!![]){try{const _0x3c9243=-parseInt(_0x55140b(0x1fc))/0x1*(-parseInt(_0x55140b(0x1e2))/0x2)+parseInt(_0x55140b(0x229))/0x3+-parseInt(_0x55140b(0x222))/0x4+parseInt(_0x55140b(0x20f))/0x5*(-parseInt(_0x55140b(0x1ae))/0x6)+-parseInt(_0x55140b(0x211))/0x7+parseInt(_0x55140b(0x21b))/0x8+-parseInt(_0x55140b(0x1f6))/0x9;if(_0x3c9243===_0x1813e4)break;else _0x1fc355['push'](_0x1fc355['shift']());}catch(_0x65d2b9){_0x1fc355['push'](_0x1fc355['shift']());}}}(_0x4633,0x8e296));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(_0x46f2f7,_0x6e1df8=PLAYWRIGHT_CLI_PREVIEW_LIMIT){const _0x56839b=_0x5bbb,_0x117cb0={'CoNIg':function(_0x4821a4,_0x1ad484){return _0x4821a4>_0x1ad484;},'FRUFi':'...'};return _0x117cb0[_0x56839b(0x1f9)](_0x46f2f7['length'],_0x6e1df8)?_0x46f2f7['slice'](0x0,_0x6e1df8)+_0x117cb0['FRUFi']:_0x46f2f7;}function buildCliArtifactPath(_0x190b7f,_0x4e6154){return join(_0x190b7f,_0x4e6154);}function _0x4633(){const _0x31f313=['QFxNd','185MzpyEe','LVzZR','2441852XZaNPm','stderr','close','click\x20','`,\x20then\x20`','`\x0a\x0a-\x20Write\x20all\x20artifacts\x20under\x20`','playwright-cli','playwright_cli_tracing_stop','QbXEZ','03_result-visible.png','3765040wpEqdI','00_mozilla-homepage.yml','fRfIR','trackPhaseError','\x20open\x20https://www.mozilla.org`\x0a2.\x20Run\x20`','rKawl','01_initial.yml','3075048aqSfjA','wslVR','\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','`\x20style\x20absolute\x20paths\x20at\x20key\x20moments.\x0a6.\x20If\x20you\x20need\x20waits\x20or\x20custom\x20assertions,\x20use\x20`','\x0a\x0aAfter\x20completing\x20authentication,\x20proceed\x20with\x20the\x20verification\x20task\x20below.\x0aIf\x20authentication\x20fails,\x20return\x20immediately\x20with\x20evaluation\x20\x22blocked\x22\x20and\x20describe\x20the\x20auth\x20failure.','textContent','880047lZCuGB','\x20open`,\x20then\x20`','error','`\x20using\x20absolute\x20paths\x20only.\x20Do\x20not\x20use\x20relative\x20filenames.\x0a4.\x20Take\x20a\x20snapshot\x20with\x20`','`\x0a7.\x20Click\x20the\x20\x22Learn\x20More\x22\x20link\x20with\x20Playwright\x20CLI\x0a8.\x20Run\x20`','\x20(on\x20element:\x20<','YNqlQ','capture\x20step\x20`','`\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`','Reviewer','--filename=','eGEmO','canonicalFlow','CRITICAL\x20URL\x20REQUIREMENT:\x0aYour\x20base\x20URL\x20is:\x20','xqEtA','##\x20Instructions\x0a1.\x20Use\x20Bash\x20plus\x20Playwright\x20CLI\x20only.\x20Do\x20NOT\x20call\x20MCP\x20browser\x20tools.\x0a2.\x20Start\x20by\x20running\x20`','YzvUs','YYEwh','check','02_learn-more.yml','dDRYx','description','`\x0a9.\x20Run\x20`','10950xtabCh','sort','SGYtF','session-recording.webm','02_button-clicked.png','iklkr','short','\x0a\x0a##\x20Browser\x20Command\x20Reference\x0aUse\x20Bash\x20to\x20run\x20Playwright\x20CLI\x20commands\x20with\x20this\x20exact\x20prefix:\x0a`','values','trace.trace.zip','xLdhg','JYRyi','open\x20browser','hEoRu','ZkebX','press','bhCGi','NbOkt','yuRTq','content','\x20screenshot\x20--filename\x20','screenshot','fill','zwRJB','replace','tool_input','\x0a\x0a1.\x20Run\x20`','`\x0a5.\x20Read\x20the\x20snapshot\x20file\x20to\x20find\x20the\x20\x22Learn\x20More\x22\x20link\x20reference\x0a6.\x20Run\x20`','\x0a\x0a##\x20Task\x20to\x20Execute\x0a','\x20snapshot\x20--filename\x20','[ranger-verification-agent]\x20','key_04_success-state.png','match','\x0a\x0a##\x20Additional\x20Notes\x0a','ZYTri','`\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','(?:^|\x5cs)','playwright_cli_video_stop','keys','[playwright-cli]\x20','tool_name','\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.','\x20open\x20','\x0a\x0a##\x20Critical:\x20Early\x20Error\x20Detection\x0aAfter\x20step\x202\x20(taking\x20initial\x20snapshot),\x20IMMEDIATELY\x20check\x20for\x20blocking\x20HTTP\x20errors:\x0a\x0a**Blocking\x20errors\x20to\x20detect:**\x0a-\x20HTTP\x20404:\x20\x22404\x22,\x20\x22Not\x20Found\x22,\x20\x22Page\x20not\x20found\x22,\x20\x22does\x20not\x20exist\x22\x0a-\x20HTTP\x20500:\x20\x22500\x22,\x20\x22Internal\x20Server\x20Error\x22,\x20\x22Server\x20Error\x22,\x20\x22Something\x20went\x20wrong\x22\x0a-\x20HTTP\x20400:\x20\x22400\x22,\x20\x22Bad\x20Request\x22,\x20\x22Invalid\x20request\x22\x0a\x0a**Also\x20check\x20for:**\x0a-\x20Framework\x20error\x20pages\x20(Next.js\x20error\x20boundary,\x20React\x20error\x20page,\x20\x22Application\x20error\x22)\x0a-\x20Completely\x20blank/empty\x20pages\x20with\x20no\x20content\x0a-\x20\x22Cannot\x20GET\x20/path\x22\x20messages\x0a\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.','TGfWy','\x20>\x20','video-start','log','\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','\x20video-start`.\x0a3.\x20Save\x20every\x20snapshot\x20and\x20screenshot\x20under\x20`','en-US','name','2RMnqjN','-\x20[','qWDCN','select\x20tab\x20','\x20tracing-start`\x0a3.\x20Run\x20`','snapshot','set','mUyHI','test','guMjj','`\x20style\x20absolute\x20paths\x20at\x20key\x20moments.\x0a8.\x20If\x20you\x20need\x20waits\x20or\x20custom\x20assertions,\x20use\x20`','check\x20','sbNLl','phase','rSesq','`\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`','):\x20\x22','trim','start\x20video\x20recording','tool_failure','915399DxjRmV','UriXR','join','CoNIg','get','playwright_cli_close','1105149YadBkb','LspoN','tracing-stop','\x0a\x0a##\x20Authentication\x0aBEFORE\x20starting\x20the\x20verification\x20task,\x20you\x20MUST\x20authenticate\x20using\x20these\x20steps:\x0a','run\x20custom\x20Playwright\x20code','domRef','video-stop','stringify','prWpC','push','unaddressedComments','XPIQR','trackPhaseStart','EYfdq','xAzEW','toLocaleDateString','Dnyvs','slice'];_0x4633=function(){return _0x31f313;};return _0x4633();}function toStepDisplayName(_0x454b99){const _0x532e03=_0x5bbb,_0x29248b={'jvwTu':function(_0x4de3cb,_0x14ef25){return _0x4de3cb(_0x14ef25);},'QFxNd':function(_0x3baa50,_0x330e6a){return _0x3baa50(_0x330e6a);}},_0x53763c=_0x29248b['jvwTu'](basename,_0x454b99)[_0x532e03(0x1c6)](/\.(?:png|ya?ml)$/i,'')[_0x532e03(0x1c6)](/^key_/i,'')[_0x532e03(0x1c6)](/^\d+_/,'')['replace'](/-/g,'\x20');return{'name':_0x53763c,'isKeyStep':/^key_/i[_0x532e03(0x1ea)](_0x29248b[_0x532e03(0x20e)](basename,_0x454b99))};}function extractShellValue(_0x5c446c){if(!_0x5c446c)return null;return _0x5c446c[0x1]??_0x5c446c[0x2]??_0x5c446c[0x3]??null;}function extractFilenameOption(_0x57001a){const _0x1c9cae=_0x5bbb,_0x57faf2={'akJqr':function(_0x17e970,_0x3e307c){return _0x17e970(_0x3e307c);}};return _0x57faf2['akJqr'](extractShellValue,_0x57001a[_0x1c9cae(0x1ce)](/--filename(?:=|\s+)(?:"([^"]+)"|'([^']+)'|(\S+))/));}function extractFirstCommandArgument(_0x1c524d,_0x525e8a){const _0x153761=_0x5bbb,_0x266ce0={'dDRYx':'\x5c$&'},_0x8736a3=_0x525e8a['replace'](/[.*+?^${}()|[\]\\]/g,_0x266ce0[_0x153761(0x1ab)]);return extractShellValue(_0x1c524d[_0x153761(0x1ce)](new RegExp(_0x153761(0x1d2)+_0x8736a3+'(?:\x5cs+(?:\x22([^\x22]+)\x22|\x27([^\x27]+)\x27|(\x5cS+)))')));}function formatCommandTarget(_0x567088){const _0x21c0ac=_0x5bbb,_0x421927={'sbNLl':function(_0x29a3c0,_0x3a8523,_0x48a288){return _0x29a3c0(_0x3a8523,_0x48a288);}};if(!_0x567088)return'target';if(/^e\d+$/i['test'](_0x567088))return'ref\x20'+_0x567088;return JSON[_0x21c0ac(0x203)](_0x421927[_0x21c0ac(0x1ee)](truncatePreview,_0x567088,0x78));}function formatPlaywrightCliLog(_0x247790,_0x2815b7){const _0xda212f=_0x5bbb,_0x47079b={'NVuPq':'start\x20tracing','Vislx':'tracing-stop','ZYTri':_0xda212f(0x1dc),'YYEwh':_0xda212f(0x1f4),'xHTZO':_0xda212f(0x202),'zwRJB':'stop\x20video\x20recording','SGYtF':_0xda212f(0x1e7),'FIOhF':'capture\x20snapshot','guMjj':'capture\x20screenshot','WlpMF':function(_0x80b3b2,_0x3b067d){return _0x80b3b2(_0x3b067d);},'mUyHI':function(_0x2a7439,_0x45ddd1,_0x1e9e57){return _0x2a7439(_0x45ddd1,_0x1e9e57);},'bhCGi':_0xda212f(0x1a9),'GpNTM':function(_0x2b4b55,_0x4ece6d,_0x4e21ac){return _0x2b4b55(_0x4ece6d,_0x4e21ac);},'hEoRu':_0xda212f(0x1c4),'ZgmKA':_0xda212f(0x1bd),'OaiRH':function(_0x1038f3,_0x340def){return _0x1038f3(_0x340def);},'fRfIR':function(_0x5a85fa,_0x1ccd60,_0x47b159){return _0x5a85fa(_0x1ccd60,_0x47b159);},'LVzZR':'run-code','XPIQR':'open\x20new\x20tab'};switch(_0x2815b7){case'open':{const _0x3ec211=extractFirstCommandArgument(_0x247790,_0x2815b7);return _0x3ec211?'open\x20'+_0x3ec211:_0xda212f(0x1ba);}case'tracing-start':return _0x47079b['NVuPq'];case _0x47079b['Vislx']:return'stop\x20tracing';case _0x47079b[_0xda212f(0x1d0)]:return _0x47079b[_0xda212f(0x1a8)];case _0x47079b['xHTZO']:return _0x47079b[_0xda212f(0x1c5)];case _0x47079b[_0xda212f(0x1b0)]:{const _0x54c08e=extractFilenameOption(_0x247790);if(!_0x54c08e)return _0x47079b['FIOhF'];const {name:_0x5ccf01}=toStepDisplayName(_0x54c08e);return'capture\x20snapshot\x20`'+_0x5ccf01+'`';}case _0xda212f(0x1c3):{const _0x5b3d6a=extractFilenameOption(_0x247790);if(!_0x5b3d6a)return _0x47079b[_0xda212f(0x1eb)];const {name:_0x4e9a74,isKeyStep:_0x376f8d}=_0x47079b['WlpMF'](toStepDisplayName,_0x5b3d6a);return _0x376f8d?'capture\x20key\x20step\x20`'+_0x4e9a74+'`':_0xda212f(0x230)+_0x4e9a74+'`';}case'click':return _0xda212f(0x214)+formatCommandTarget(_0x47079b[_0xda212f(0x1e9)](extractFirstCommandArgument,_0x247790,_0x2815b7));case _0x47079b[_0xda212f(0x1be)]:return _0xda212f(0x1ed)+formatCommandTarget(_0x47079b['GpNTM'](extractFirstCommandArgument,_0x247790,_0x2815b7));case _0x47079b[_0xda212f(0x1bb)]:return'fill\x20'+formatCommandTarget(extractFirstCommandArgument(_0x247790,_0x2815b7));case _0x47079b['ZgmKA']:return'press\x20'+_0x47079b['OaiRH'](formatCommandTarget,_0x47079b[_0xda212f(0x21d)](extractFirstCommandArgument,_0x247790,_0x2815b7));case _0x47079b[_0xda212f(0x210)]:return _0xda212f(0x200);case'tab-new':{const _0x255699=extractFirstCommandArgument(_0x247790,_0x2815b7);return _0x255699?'open\x20new\x20tab\x20'+_0x255699:_0x47079b[_0xda212f(0x207)];}case'tab-select':{const _0xc95de2=extractFirstCommandArgument(_0x247790,_0x2815b7);return _0xc95de2?_0xda212f(0x1e5)+_0xc95de2:'select\x20tab';}default:return _0x2815b7;}}function extractPlaywrightCliToolDescription(_0x12fcfa){const _0x2ab179=_0x5bbb,_0xf32791={'MMdML':function(_0xa8e898,_0x5e00fa){return _0xa8e898!==_0x5e00fa;},'mGeKF':'string','qWDCN':function(_0x53f537,_0x5233a7){return _0x53f537>_0x5233a7;}},_0x5b935a=_0x12fcfa[_0x2ab179(0x1ac)];if(_0xf32791['MMdML'](typeof _0x5b935a,_0xf32791['mGeKF']))return null;const _0x30c71b=_0x5b935a[_0x2ab179(0x1f3)]()[_0x2ab179(0x1c6)](/\s+/g,'\x20');return _0xf32791[_0x2ab179(0x1e4)](_0x30c71b['length'],0x0)?_0x30c71b:null;}export function formatPlaywrightCliConsoleLogMessage(_0x364b89,_0x2432e5,_0x29edd7){const _0x23bb73=_0x5bbb,_0x3085f8={'TNtTd':function(_0xfcdd2a,_0x5907e8,_0x4e82fb){return _0xfcdd2a(_0x5907e8,_0x4e82fb);}},_0x2beb03=_0x3085f8['TNtTd'](formatPlaywrightCliLog,_0x2432e5,_0x29edd7),_0x40ab84=extractPlaywrightCliToolDescription(_0x364b89);if(!_0x40ab84)return _0x23bb73(0x1d5)+_0x2beb03;if(process['env']['DEBUG'])return _0x23bb73(0x1cc)+_0x40ab84+'\x20('+_0x2beb03+')';return _0x23bb73(0x1cc)+_0x40ab84;}export function buildVerifyFeatureCliDebugPrompt(_0x11b45d,_0x37a43c){const _0x369d2a=_0x5bbb,_0x24bdb7={'JYRyi':function(_0x20f3b1,_0x543740,_0x2cebcf){return _0x20f3b1(_0x543740,_0x2cebcf);},'trksa':_0x369d2a(0x21c),'prWpC':'01_mozilla-homepage.png','oGYIe':function(_0x30fbba,_0x27260c,_0x58d8f9){return _0x30fbba(_0x27260c,_0x58d8f9);},'UtSJJ':'03_learn-more.png','YNqlQ':function(_0x1b598f,_0x1a6480){return _0x1b598f(_0x1a6480);}},_0x44c83c=_0x24bdb7[_0x369d2a(0x1b9)](buildCliArtifactPath,_0x37a43c,_0x24bdb7['trksa']),_0x101a2d=_0x24bdb7['JYRyi'](buildCliArtifactPath,_0x37a43c,_0x24bdb7[_0x369d2a(0x204)]),_0x2403be=buildCliArtifactPath(_0x37a43c,_0x369d2a(0x1aa)),_0x4a9c85=_0x24bdb7['oGYIe'](buildCliArtifactPath,_0x37a43c,_0x24bdb7['UtSJJ']),_0x2af4cb=quoteShellArg(_0x44c83c),_0x520ada=_0x24bdb7['YNqlQ'](quoteShellArg,_0x101a2d),_0x5bbdb6=_0x24bdb7[_0x369d2a(0x22f)](quoteShellArg,_0x2403be),_0x24b703=quoteShellArg(_0x4a9c85);return'You\x20are\x20testing\x20browser\x20automation.\x20Your\x20task\x20is\x20simple:\x0a\x0aUse\x20Bash\x20and\x20Playwright\x20CLI\x20only.\x20The\x20browser\x20command\x20prefix\x20is:\x0a'+_0x11b45d+_0x369d2a(0x1c8)+_0x11b45d+_0x369d2a(0x21f)+_0x11b45d+_0x369d2a(0x1e6)+_0x11b45d+'\x20video-start`\x0a4.\x20Save\x20every\x20snapshot\x20and\x20screenshot\x20under\x20`'+_0x37a43c+'`\x20using\x20absolute\x20paths\x20only.\x20Do\x20not\x20use\x20relative\x20filenames.\x0a5.\x20Run\x20`'+_0x11b45d+'\x20snapshot\x20--filename\x20'+_0x2af4cb+_0x369d2a(0x1c9)+_0x11b45d+_0x369d2a(0x1c2)+_0x520ada+_0x369d2a(0x22d)+_0x11b45d+_0x369d2a(0x1cb)+_0x5bbdb6+_0x369d2a(0x1ad)+_0x11b45d+'\x20screenshot\x20--filename\x20'+_0x24b703+'`\x0a10.\x20Return\x20immediately\x20with\x20the\x20structured\x20output\x0a\x0aReturn\x20your\x20findings\x20in\x20the\x20structured\x20output\x20format.';}export function buildVerifyFeatureCliPrompt(_0x4554dd){const _0xd57be9=_0x5bbb,_0x46bdf3={'EYfdq':_0xd57be9(0x1e0),'YzvUs':_0xd57be9(0x1b4),'tnyCe':_0xd57be9(0x232),'ysTUM':_0xd57be9(0x1db),'wMFli':function(_0x2eb09a,_0x4d6706,_0x1dd402){return _0x2eb09a(_0x4d6706,_0x1dd402);},'OkxJM':'02_state.yml','QbXEZ':'key_03_success-state.png','VEJeB':function(_0x414bb2,_0x3ede1a){return _0x414bb2(_0x3ede1a);},'cpuns':function(_0x2ee0a5,_0x4c9a77){return _0x2ee0a5(_0x4c9a77);},'UriXR':function(_0x4fee3d,_0x13e222,_0x26b12c){return _0x4fee3d(_0x13e222,_0x26b12c);}},{checklistItem:_0x5c039a,itemFeedback:_0x27b031,taskDescription:_0x653a70,cliCommandPrefix:_0x347268,cliArtifactDir:_0x10598e,isCdpMode:_0x364038,url:_0x449d0a,cdpEndpoint:_0x33617f,loginInstructions:_0x10a004}=_0x4554dd,_0x1b0773=_0x46bdf3['wMFli'](buildCliArtifactPath,_0x10598e,_0xd57be9(0x221)),_0x4583a3=buildCliArtifactPath(_0x10598e,_0x46bdf3['OkxJM']),_0x578b76=buildCliArtifactPath(_0x10598e,_0x46bdf3[_0xd57be9(0x219)]),_0x1e6534=buildCliArtifactPath(_0x10598e,'01_initial-state.png'),_0x1e21d1=quoteShellArg(_0x1b0773),_0x9574e9=_0x46bdf3['VEJeB'](quoteShellArg,_0x4583a3),_0x5b534e=_0x46bdf3['cpuns'](quoteShellArg,_0x578b76),_0x16e91f=quoteShellArg(_0x1e6534),_0x11fa91=_0x5c039a['notes']?_0xd57be9(0x1cf)+_0x5c039a['notes']:'';let _0x5ea9bb='';if(_0x27b031&&_0x27b031[_0xd57be9(0x206)]['length']>0x0){const _0x53df7c=_0x27b031[_0xd57be9(0x206)]['map'](_0x6f1835=>{const _0x5e7dda=_0xd57be9,_0x4c8117=new Date(_0x6f1835['createdAt'])[_0x5e7dda(0x20b)](_0x46bdf3[_0x5e7dda(0x209)],{'month':_0x46bdf3[_0x5e7dda(0x1a7)],'day':'numeric'}),_0x3eba1b=_0x6f1835['authorName']||_0x6f1835['authorEmail']||_0x46bdf3['tnyCe'],_0x5a3c65=_0x6f1835['domRef']?_0x5e7dda(0x22e)+(_0x6f1835[_0x5e7dda(0x201)]['selector']['split'](_0x46bdf3['ysTUM'])['pop']()?.['split'](':')[0x0]||'element')+'>\x20\x22'+(_0x6f1835['domRef'][_0x5e7dda(0x228)]||'')[_0x5e7dda(0x20d)](0x0,0x32)+'\x22)':'';return _0x5e7dda(0x1e3)+_0x6f1835['id']+']\x20**'+_0x3eba1b+'**\x20('+_0x4c8117+_0x5e7dda(0x1f2)+_0x6f1835[_0x5e7dda(0x1c1)]+'\x22'+_0x5a3c65;})[_0xd57be9(0x1f8)]('\x0a');_0x5ea9bb='\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'+_0x53df7c;}const _0x5d7c3d=_0x27b031?.[_0xd57be9(0x235)]?'\x0a\x0a##\x20Expected\x20Flow\x20(from\x20previous\x20verification)\x0a'+_0x27b031[_0xd57be9(0x235)]:'',_0x52c361=_0x364038?'##\x20App\x20Context\x0aYou\x20are\x20connected\x20to\x20a\x20desktop\x20application\x20via\x20CDP\x20(Chrome\x20DevTools\x20Protocol)\x20at\x20'+_0x33617f+'.\x0aThis\x20is\x20NOT\x20a\x20web\x20app\x20—\x20there\x20is\x20no\x20URL\x20to\x20navigate\x20to.\x20The\x20app\x20is\x20already\x20running\x20and\x20connected.':_0xd57be9(0x236)+_0x449d0a+'\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',_0x28ab2b=_0x449d0a?quoteShellArg(_0x449d0a):'',_0x72e49e=_0x364038?_0xd57be9(0x1a6)+_0x347268+_0xd57be9(0x22a)+_0x347268+'\x20tracing-start`,\x20then\x20`'+_0x347268+'\x20video-start`.\x0a3.\x20Save\x20every\x20snapshot\x20and\x20screenshot\x20under\x20`'+_0x10598e+_0xd57be9(0x22c)+_0x347268+'\x20snapshot\x20--filename\x20'+_0x1e21d1+_0xd57be9(0x1f1)+_0x347268+_0xd57be9(0x1c2)+_0x16e91f+_0xd57be9(0x226)+_0x347268+'\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':_0xd57be9(0x1a6)+_0x347268+_0xd57be9(0x1d8)+_0x28ab2b+_0xd57be9(0x215)+_0x347268+'\x20tracing-start`,\x20then\x20`'+_0x347268+_0xd57be9(0x1df)+_0x10598e+_0xd57be9(0x22c)+_0x347268+'\x20snapshot\x20--filename\x20'+_0x1e21d1+_0xd57be9(0x231)+_0x347268+'\x20screenshot\x20--filename\x20'+_0x16e91f+_0xd57be9(0x1ec)+_0x347268+'\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',_0xb5f27b=_0x364038?'\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.':_0xd57be9(0x1d9),_0x19db9e=_0x10a004?_0xd57be9(0x1ff)+_0x10a004+_0xd57be9(0x227):'';return _0xd57be9(0x225)+_0x5c039a[_0xd57be9(0x1ac)]+_0x11fa91+_0x5ea9bb+_0x5d7c3d+_0xd57be9(0x1ca)+_0x653a70+'\x0a\x0a'+_0x52c361+_0x19db9e+'\x0a\x0a'+_0x72e49e+_0xd57be9(0x1b5)+_0x347268+_0xd57be9(0x216)+_0x10598e+'`\x0a-\x20`snapshot\x20--filename\x20'+_0x9574e9+_0xd57be9(0x1d1)+_0x5b534e+'`\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`'+_0x10598e+'`:\x20\x22'+_0x1e6534+_0xd57be9(0x224)+_0x46bdf3[_0xd57be9(0x1f7)](buildCliArtifactPath,_0x10598e,_0xd57be9(0x1b2))+'\x22,\x20\x22'+_0x46bdf3['UriXR'](buildCliArtifactPath,_0x10598e,_0xd57be9(0x21a))+_0xd57be9(0x1de)+buildCliArtifactPath(_0x10598e,_0xd57be9(0x1cd))+'\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'+_0xb5f27b+_0xd57be9(0x1d7);}export function summarizeVerifyFeatureCliCommandAvailability(_0x3eb878){const _0x44877b=_0x5bbb,_0x5a278b=[..._0x3eb878[_0x44877b(0x1d4)]()][_0x44877b(0x1af)]();let _0x1aae10=0x0;for(const _0x6985c6 of _0x3eb878[_0x44877b(0x1b6)]()){_0x1aae10+=_0x6985c6;}return{'cliCommandCount':_0x1aae10,'cliCommandsSeen':_0x5a278b,'noCliCommandsCalled':_0x1aae10===0x0};}export function createVerifyFeatureCliHooks(_0x3cfa99){const _0x3f650c=_0x5bbb,_0x1c80ce={'RBtep':'PostToolUse','xLdhg':function(_0xb506a4,_0x2cd9cf){return _0xb506a4!==_0x2cd9cf;},'Dnyvs':'Bash','wslVR':function(_0x1ee82e,_0x3d0054){return _0x1ee82e(_0x3d0054);},'ZkebX':'tool_call','yuRTq':_0x3f650c(0x217),'rSesq':function(_0x112319,_0x16da7c,_0xa06cf0,_0xdec43c){return _0x112319(_0x16da7c,_0xa06cf0,_0xdec43c);},'fIWeh':_0x3f650c(0x1f5)},_0x478a7c=new Map(),_0x116bbb=async _0x529249=>{const _0x41735c=_0x3f650c;if(_0x529249['hook_event_name']!==_0x1c80ce['RBtep'])return{};const _0x53316d=_0x529249;if(_0x1c80ce['xLdhg'](_0x53316d[_0x41735c(0x1d6)],_0x1c80ce[_0x41735c(0x20c)]))return{};const _0x393e1f=_0x53316d[_0x41735c(0x1c7)],_0x26875f=_0x1c80ce[_0x41735c(0x223)](extractBashCommand,_0x393e1f);if(!_0x26875f)return{};const _0x53493c=_0x1c80ce['wslVR'](parsePlaywrightCliCommand,_0x26875f);if(!_0x53493c)return{};return _0x478a7c[_0x41735c(0x1e8)](_0x53493c,(_0x478a7c[_0x41735c(0x1fa)](_0x53493c)||0x0)+0x1),_0x3cfa99[_0x41735c(0x208)](_0x1c80ce[_0x41735c(0x1bc)],{'transport':_0x1c80ce[_0x41735c(0x1c0)],'toolName':_0x53493c}),_0x3cfa99['trackPhaseEnd'](_0x1c80ce[_0x41735c(0x1bc)],{'transport':'playwright-cli','toolName':_0x53493c,'bashCommandPreview':_0x1c80ce['wslVR'](truncatePreview,_0x26875f)}),_0x1c80ce[_0x41735c(0x1b8)](_0x53493c,_0x41735c(0x1e7))&&console[_0x41735c(0x1dd)](_0x1c80ce[_0x41735c(0x1f0)](formatPlaywrightCliConsoleLogMessage,_0x393e1f,_0x26875f,_0x53493c)),{};},_0xaa8498=async _0x1de162=>{const _0x324c5b=_0x3f650c;if(_0x1c80ce[_0x324c5b(0x1b8)](_0x1de162['hook_event_name'],'PostToolUseFailure'))return{};const _0x355b3c=_0x1de162;if(_0x1c80ce[_0x324c5b(0x1b8)](_0x355b3c['tool_name'],_0x1c80ce['Dnyvs']))return{};return await _0x3cfa99[_0x324c5b(0x21e)](_0x1c80ce['fIWeh'],_0x355b3c[_0x324c5b(0x22b)],{'transport':_0x1c80ce['yuRTq'],'toolName':_0x1c80ce[_0x324c5b(0x20c)]}),{};};return{'postToolUseHook':_0x116bbb,'postToolUseFailureHook':_0xaa8498,'commandCounts':_0x478a7c};}async function runPlaywrightCliLifecycleCommand(_0x521e07){const _0xeddd22=_0x5bbb,_0x24065f={'NbYnc':function(_0x157800,_0x2b7056){return _0x157800(_0x2b7056);},'xqEtA':function(_0xcc1037,_0x5199bc){return _0xcc1037??_0x5199bc;},'iklkr':function(_0x38107d,_0x8e69cb,_0x245d62){return _0x38107d(_0x8e69cb,_0x245d62);}},{sessionId:_0x4f7bd1,configPath:_0x3753d1,commandArgs:_0x1678b9,env:_0x28ffeb,telemetry:_0x57865f,phase:_0x27fc73,metadata:_0x5c08f6,timeoutMs:_0x2003ac}=_0x521e07;_0x57865f[_0xeddd22(0x208)](_0x27fc73,_0x5c08f6);try{const _0x59bd18=await _0x24065f['NbYnc'](runPlaywrightCliCommand,{'sessionId':_0x4f7bd1,'configPath':_0x3753d1,'commandArgs':_0x1678b9,'cwd':process['cwd'](),'env':_0x28ffeb,'timeoutMs':_0x24065f[_0xeddd22(0x1a5)](_0x2003ac,PLAYWRIGHT_CLI_COMMAND_TIMEOUT_MS)});_0x57865f['trackPhaseEnd'](_0x27fc73,{..._0x5c08f6,'subcommand':_0x59bd18['invocation']['subcommand'],'stdoutPreview':_0x24065f[_0xeddd22(0x1b3)](truncatePreview,_0x59bd18['stdout'],0x7d0),'stderrPreview':truncatePreview(_0x59bd18[_0xeddd22(0x212)],0x7d0)});}catch(_0x64cdd1){await _0x57865f['trackPhaseError'](_0x27fc73,_0x64cdd1,_0x5c08f6);throw _0x64cdd1;}}export async function finalizeVerifyFeatureCliSession(_0x19f4da){const _0x50617b=_0x5bbb,_0x1aac1b={'MqWyq':_0x50617b(0x1fe),'TGfWy':_0x50617b(0x1b1),'eGEmO':_0x50617b(0x1fb),'NbOkt':_0x50617b(0x213),'xAzEW':function(_0x8f4786,_0x584d4c){return _0x8f4786(_0x584d4c);}},{telemetry:_0x587eca,sessionId:_0x2c1a79,configPath:_0x2c3dee,cliArtifactDir:_0x287a7a,env:_0x110561,transportMetadata:_0x3d6dd9}=_0x19f4da,_0x2bd9df=[{'phase':_0x50617b(0x218),'commandArgs':[_0x1aac1b['MqWyq']]},{'phase':_0x50617b(0x1d3),'commandArgs':['video-stop',_0x50617b(0x233)+buildCliArtifactPath(_0x287a7a,_0x1aac1b[_0x50617b(0x1da)])]},{'phase':_0x1aac1b[_0x50617b(0x234)],'commandArgs':[_0x1aac1b[_0x50617b(0x1bf)]]}];for(const _0x477a33 of _0x2bd9df){try{await _0x1aac1b[_0x50617b(0x20a)](runPlaywrightCliLifecycleCommand,{'sessionId':_0x2c1a79,'configPath':_0x2c3dee,'commandArgs':[..._0x477a33['commandArgs']],'env':_0x110561,'telemetry':_0x587eca,'phase':_0x477a33[_0x50617b(0x1ef)],'metadata':_0x3d6dd9});}catch{}}}export async function loadVerifyFeatureCliTraceUploadArtifact(_0xab71bd){const _0x53a65a=_0x5bbb,_0x5f0efd={'rKawl':'trace.zip','LspoN':_0x53a65a(0x1b7)},_0x3c8179=[_0x5f0efd[_0x53a65a(0x220)],_0x5f0efd[_0x53a65a(0x1fd)]];for(const _0x97cfb2 of _0x3c8179){const _0x2601bc=join(_0xab71bd,_0x97cfb2);try{return{'buffer':await readFile(_0x2601bc),'source':_0x2601bc};}catch{}}return null;}function _0x5bbb(_0x28a6e7,_0x5c7c55){_0x28a6e7=_0x28a6e7-0x1a5;const _0x4633c7=_0x4633();let _0x5bbbab=_0x4633c7[_0x28a6e7];return _0x5bbbab;}export async function rehomeVerifyFeatureCliArtifacts(_0x1ab9bc){const _0x2f37d7=_0x5bbb,_0x55e9c1={'zsUxt':function(_0x3e1f7c,_0x4c0407,_0x51daa7){return _0x3e1f7c(_0x4c0407,_0x51daa7);},'sKMPF':function(_0x163519,_0x427f24){return _0x163519<_0x427f24;},'UuhEn':function(_0x3bb4bd,_0x245ebf){return _0x3bb4bd+_0x245ebf;},'kYffm':function(_0x1b033c,_0x16daa4,_0x126058){return _0x1b033c(_0x16daa4,_0x126058);}},{cwd:_0x55c3aa,cliArtifactDir:_0x2bef6d,startTime:_0x4dca92}=_0x1ab9bc,_0xbc8d5f=[];await mkdir(_0x2bef6d,{'recursive':!![]});const _0x435222=await _0x55e9c1['zsUxt'](readdir,_0x55c3aa,{'withFileTypes':!![]});for(const _0x1f283c of _0x435222){if(!_0x1f283c['isFile']()||!VERIFY_FEATURE_CLI_ARTIFACT_FILE_PATTERN['test'](_0x1f283c[_0x2f37d7(0x1e1)]))continue;const _0x75800b=join(_0x55c3aa,_0x1f283c['name']),_0x237f7a=await stat(_0x75800b);if(_0x55e9c1['sKMPF'](_0x55e9c1['UuhEn'](_0x237f7a['mtimeMs'],0x7d0),_0x4dca92))continue;const _0x11abb5=_0x55e9c1['kYffm'](buildCliArtifactPath,_0x2bef6d,_0x1f283c[_0x2f37d7(0x1e1)]);if(_0x75800b===_0x11abb5)continue;await rename(_0x75800b,_0x11abb5),_0xbc8d5f[_0x2f37d7(0x205)](_0x1f283c[_0x2f37d7(0x1e1)]);}return _0xbc8d5f['sort']();}
1
+ (function(_0xe495ee,_0x57ed1e){const _0x52f53d=_0x3879,_0x435068=_0xe495ee();while(!![]){try{const _0x59c7c7=parseInt(_0x52f53d(0x18f))/0x1+-parseInt(_0x52f53d(0x187))/0x2+-parseInt(_0x52f53d(0x14b))/0x3*(parseInt(_0x52f53d(0x166))/0x4)+-parseInt(_0x52f53d(0x158))/0x5+parseInt(_0x52f53d(0x14a))/0x6*(-parseInt(_0x52f53d(0x19e))/0x7)+parseInt(_0x52f53d(0x175))/0x8*(parseInt(_0x52f53d(0x183))/0x9)+parseInt(_0x52f53d(0x18d))/0xa;if(_0x59c7c7===_0x57ed1e)break;else _0x435068['push'](_0x435068['shift']());}catch(_0x22d052){_0x435068['push'](_0x435068['shift']());}}}(_0x594e,0xc3014));import{mkdir,readFile,readdir,rename,stat}from'fs/promises';import{basename,join}from'path';import{extractBashCommand,parsePlaywrightCliCommand,quoteShellArg,runPlaywrightCliCommand}from'./utils/playwrightCli.js';function _0x3879(_0x1cfae9,_0x302322){_0x1cfae9=_0x1cfae9-0x13b;const _0x594e3f=_0x594e();let _0x38794b=_0x594e3f[_0x1cfae9];return _0x38794b;}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(_0xedf126,_0x543853=PLAYWRIGHT_CLI_PREVIEW_LIMIT){const _0x4cbc13={'KOBKL':'...'};return _0xedf126['length']>_0x543853?_0xedf126['slice'](0x0,_0x543853)+_0x4cbc13['KOBKL']:_0xedf126;}function buildCliArtifactPath(_0x3ea984,_0x6d759c){return join(_0x3ea984,_0x6d759c);}function toStepDisplayName(_0x30e831){const _0x5d5010=_0x3879,_0x34ba8e=basename(_0x30e831)['replace'](/\.(?:png|ya?ml)$/i,'')[_0x5d5010(0x1a1)](/^key_/i,'')[_0x5d5010(0x1a1)](/^\d+_/,'')[_0x5d5010(0x1a1)](/-/g,'\x20');return{'name':_0x34ba8e,'isKeyStep':/^key_/i[_0x5d5010(0x1b0)](basename(_0x30e831))};}function extractShellValue(_0xce96b5){if(!_0xce96b5)return null;return _0xce96b5[0x1]??_0xce96b5[0x2]??_0xce96b5[0x3]??null;}function extractFilenameOption(_0xce02b5){const _0x50a1e9=_0x3879;return extractShellValue(_0xce02b5[_0x50a1e9(0x13c)](/--filename(?:=|\s+)(?:"([^"]+)"|'([^']+)'|(\S+))/));}function extractFirstCommandArgument(_0xf5320f,_0x11f1de){const _0x9d97d1=_0x3879,_0x1b3a7b={'AQWOQ':_0x9d97d1(0x177)},_0x765384=_0x11f1de['replace'](/[.*+?^${}()|[\]\\]/g,_0x1b3a7b[_0x9d97d1(0x1a7)]);return extractShellValue(_0xf5320f['match'](new RegExp('(?:^|\x5cs)'+_0x765384+_0x9d97d1(0x197))));}function _0x594e(){const _0xbd9768=['select\x20tab','WbFSY','notes','##\x20Instructions\x0a1.\x20Use\x20Bash\x20plus\x20Playwright\x20CLI\x20only.\x20Do\x20NOT\x20call\x20MCP\x20browser\x20tools.\x0a2.\x20Start\x20by\x20running\x20`','length','snapshot','(?:\x5cs+(?:\x22([^\x22]+)\x22|\x27([^\x27]+)\x27|(\x5cS+)))','tab-new','EoRlc','`:\x20\x22','lHYbW','Reviewer','CRITICAL\x20URL\x20REQUIREMENT:\x0aYour\x20base\x20URL\x20is:\x20','35rsfdFi','en-US','\x0a\x0a##\x20Authentication\x0aBEFORE\x20starting\x20the\x20verification\x20task,\x20you\x20MUST\x20authenticate\x20using\x20these\x20steps:\x0a','replace','screenshot','canonicalFlow','[ranger-verification-agent]\x20','quidR','name','AQWOQ','capture\x20screenshot','`\x0a10.\x20Return\x20immediately\x20with\x20the\x20structured\x20output\x0a\x0aReturn\x20your\x20findings\x20in\x20the\x20structured\x20output\x20format.','numeric','open\x20new\x20tab','**\x20(','trace.zip','vzuAh','haaqd','test','`\x0a-\x20`snapshot\x20--filename\x20','bbShc','ref\x20','\x22,\x20\x22','ABzqh','##\x20App\x20Context\x0aYou\x20are\x20connected\x20to\x20a\x20desktop\x20application\x20via\x20CDP\x20(Chrome\x20DevTools\x20Protocol)\x20at\x20','\x0a\x0a##\x20Task\x20to\x20Execute\x0a','KuZFG','stop\x20tracing','open\x20new\x20tab\x20','tool_name','YBrUR','\x20tracing-start`,\x20then\x20`','textContent','01_mozilla-homepage.png','\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','ebrpc','phase','XTjjJ','match','video-start','tLxDM','wSBvq','domRef','get','`\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','Tcnni','env','join','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','tracing-stop','\x20screenshot\x20--filename\x20','`\x20using\x20absolute\x20paths\x20only.\x20Do\x20not\x20use\x20relative\x20filenames.\x0a4.\x20Take\x20a\x20snapshot\x20with\x20`','318030omASfc','571290QKCXfd','MYPAg','\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.','selector','trim','SnJTp','target','\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.','cwd','01_initial.yml','open','MoJpH','\x20(on\x20element:\x20<','31595yrNYQn','jLSDV','tab-select','run\x20custom\x20Playwright\x20code','\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','open\x20browser','authorEmail','sfWLR','01_initial-state.png','cLJTZ','start\x20video\x20recording','HcwaE','PostToolUseFailure','FWouR','8vLFbJW','\x20video-start`.\x0a3.\x20Save\x20every\x20snapshot\x20and\x20screenshot\x20under\x20`','set','unaddressedComments','`\x0a\x0a-\x20Write\x20all\x20artifacts\x20under\x20`','tracing-start','qhhNK','NNiST','string','-\x20[','fill','capture\x20snapshot','keys','etZtg','key_04_success-state.png','224816kVqYGn','`\x20style\x20absolute\x20paths\x20at\x20key\x20moments.\x0a8.\x20If\x20you\x20need\x20waits\x20or\x20custom\x20assertions,\x20use\x20`','\x5c$&','key_03_success-state.png','\x20snapshot\x20--filename\x20','trackPhaseEnd','select\x20tab\x20','log','FRnsc','`,\x20then\x20`','`\x0a-\x20`run-code\x20\x22await\x20page.waitForTimeout(1000)\x22`\x20for\x20waits\x20or\x20small\x20custom\x20checks\x0a\x0a##\x20Screenshot\x20Guidelines\x20-\x20IMPORTANT\x0aTake\x20screenshots\x20throughout\x20the\x20verification\x20flow\x20so\x20a\x20human\x20can\x20review\x20it\x20for\x20completeness.\x20Screenshots\x20are\x20your\x20evidence\x20trail.\x0a\x0a**When\x20to\x20take\x20screenshots\x20(use\x20Playwright\x20CLI\x20screenshot):**\x0a-\x20After\x20the\x20initial\x20snapshot\x20(capture\x20starting\x20state)\x0a-\x20Before\x20and\x20after\x20clicking\x20buttons\x20or\x20submitting\x20forms\x0a-\x20When\x20important\x20UI\x20elements\x20appear\x20(modals,\x20notifications,\x20loading\x20states)\x0a-\x20After\x20navigating\x20to\x20different\x20views\x20or\x20pages\x0a-\x20When\x20verifying\x20specific\x20elements\x20exist\x0a-\x20At\x20the\x20final\x20state\x20showing\x20the\x20completed\x20action\x0a\x0a**Screenshot\x20naming:**\x0a-\x20Use\x20descriptive\x20filenames\x20under\x20`','`\x20style\x20absolute\x20paths\x20at\x20key\x20moments.\x0a6.\x20If\x20you\x20need\x20waits\x20or\x20custom\x20assertions,\x20use\x20`','capture\x20step\x20`','tool_failure','459VkavJQ','03_learn-more.png','check','`\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`','2968234NzKKUd','.\x0aThis\x20is\x20NOT\x20a\x20web\x20app\x20—\x20there\x20is\x20no\x20URL\x20to\x20navigate\x20to.\x20The\x20app\x20is\x20already\x20running\x20and\x20connected.','stop\x20video\x20recording','run-code','UvrwX','playwright-cli','1800700DcmedK','check\x20','1321789AasCwV','\x0a\x0a1.\x20Run\x20`'];_0x594e=function(){return _0xbd9768;};return _0x594e();}function formatCommandTarget(_0x4c8283){const _0x34cdd1=_0x3879,_0x327295={'EoRlc':_0x34cdd1(0x151),'QETMA':function(_0x5217f3,_0xd83e9b,_0x7c3080){return _0x5217f3(_0xd83e9b,_0x7c3080);}};if(!_0x4c8283)return _0x327295[_0x34cdd1(0x199)];if(/^e\d+$/i[_0x34cdd1(0x1b0)](_0x4c8283))return _0x34cdd1(0x1b3)+_0x4c8283;return JSON['stringify'](_0x327295['QETMA'](truncatePreview,_0x4c8283,0x78));}function formatPlaywrightCliLog(_0x864a04,_0x46d9c6){const _0xd858=_0x3879,_0x5c280b={'zkIeF':_0xd858(0x155),'bbShc':function(_0x1b72a4,_0x53b376,_0x1d6b45){return _0x1b72a4(_0x53b376,_0x1d6b45);},'Vwzfe':_0xd858(0x16b),'Tcnni':'start\x20tracing','NvWVG':'tracing-stop','CNRgi':_0xd858(0x13d),'vJvdI':'snapshot','kmCbv':_0xd858(0x1a8),'SnJTp':function(_0x29dc47,_0x3044cf){return _0x29dc47(_0x3044cf);},'LITTd':function(_0x3a9a56,_0x52e224,_0x3b3190){return _0x3a9a56(_0x52e224,_0x3b3190);},'CjwYu':_0xd858(0x185),'FRnsc':function(_0x2b872c,_0x26eac8){return _0x2b872c(_0x26eac8);},'oyYqR':_0xd858(0x198),'qhhNK':function(_0x56375a,_0x6d8c62,_0x45d749){return _0x56375a(_0x6d8c62,_0x45d749);},'Vwyto':_0xd858(0x15a),'SQkVH':_0xd858(0x191)};switch(_0x46d9c6){case _0x5c280b['zkIeF']:{const _0x1d3848=_0x5c280b['bbShc'](extractFirstCommandArgument,_0x864a04,_0x46d9c6);return _0x1d3848?'open\x20'+_0x1d3848:_0xd858(0x15d);}case _0x5c280b['Vwzfe']:return _0x5c280b[_0xd858(0x143)];case _0x5c280b['NvWVG']:return _0xd858(0x1b9);case _0x5c280b['CNRgi']:return _0xd858(0x162);case'video-stop':return _0xd858(0x189);case _0x5c280b['vJvdI']:{const _0x36ed74=extractFilenameOption(_0x864a04);if(!_0x36ed74)return _0xd858(0x171);const {name:_0x520e2d}=toStepDisplayName(_0x36ed74);return'capture\x20snapshot\x20`'+_0x520e2d+'`';}case _0xd858(0x1a2):{const _0x41dafd=extractFilenameOption(_0x864a04);if(!_0x41dafd)return _0x5c280b['kmCbv'];const {name:_0x239319,isKeyStep:_0x2f31dc}=_0x5c280b[_0xd858(0x150)](toStepDisplayName,_0x41dafd);return _0x2f31dc?'capture\x20key\x20step\x20`'+_0x239319+'`':_0xd858(0x181)+_0x239319+'`';}case'click':return'click\x20'+formatCommandTarget(_0x5c280b['LITTd'](extractFirstCommandArgument,_0x864a04,_0x46d9c6));case _0x5c280b['CjwYu']:return _0xd858(0x18e)+formatCommandTarget(_0x5c280b[_0xd858(0x1b2)](extractFirstCommandArgument,_0x864a04,_0x46d9c6));case _0xd858(0x170):return'fill\x20'+formatCommandTarget(extractFirstCommandArgument(_0x864a04,_0x46d9c6));case'press':return'press\x20'+_0x5c280b[_0xd858(0x17d)](formatCommandTarget,extractFirstCommandArgument(_0x864a04,_0x46d9c6));case _0xd858(0x18a):return _0xd858(0x15b);case _0x5c280b['oyYqR']:{const _0x1f5d99=_0x5c280b[_0xd858(0x16c)](extractFirstCommandArgument,_0x864a04,_0x46d9c6);return _0x1f5d99?_0xd858(0x1ba)+_0x1f5d99:_0xd858(0x1ab);}case _0x5c280b['Vwyto']:{const _0x5c59c7=extractFirstCommandArgument(_0x864a04,_0x46d9c6);return _0x5c59c7?_0xd858(0x17b)+_0x5c59c7:_0x5c280b['SQkVH'];}default:return _0x46d9c6;}}function extractPlaywrightCliToolDescription(_0x258f1a){const _0x26d98c=_0x3879,_0x30ae77={'tLxDM':function(_0x16e33b,_0x279fca){return _0x16e33b!==_0x279fca;},'MHBkl':_0x26d98c(0x16e)},_0x3e2b14=_0x258f1a['description'];if(_0x30ae77[_0x26d98c(0x13e)](typeof _0x3e2b14,_0x30ae77['MHBkl']))return null;const _0x38d7d0=_0x3e2b14[_0x26d98c(0x14f)]()[_0x26d98c(0x1a1)](/\s+/g,'\x20');return _0x38d7d0[_0x26d98c(0x195)]>0x0?_0x38d7d0:null;}export function formatPlaywrightCliConsoleLogMessage(_0x3a405e,_0x1b8aaa,_0x39edbb){const _0x32d5c9=_0x3879,_0x194714=formatPlaywrightCliLog(_0x1b8aaa,_0x39edbb),_0x294c8f=extractPlaywrightCliToolDescription(_0x3a405e);if(!_0x294c8f)return'[playwright-cli]\x20'+_0x194714;if(process[_0x32d5c9(0x144)]['DEBUG'])return'[ranger-verification-agent]\x20'+_0x294c8f+'\x20('+_0x194714+')';return _0x32d5c9(0x1a4)+_0x294c8f;}export function buildVerifyFeatureCliDebugPrompt(_0x599e86,_0xd2b686){const _0x2d545f=_0x3879,_0x506b4c={'urmbn':function(_0x36a145,_0x57f106,_0x235314){return _0x36a145(_0x57f106,_0x235314);},'ABzqh':function(_0x145678,_0xe75c18,_0x7c91e3){return _0x145678(_0xe75c18,_0x7c91e3);},'MYPAg':function(_0x4f7821,_0x3756c6){return _0x4f7821(_0x3756c6);}},_0x24edd3=_0x506b4c['urmbn'](buildCliArtifactPath,_0xd2b686,'00_mozilla-homepage.yml'),_0x3ee5a7=buildCliArtifactPath(_0xd2b686,_0x2d545f(0x1bf)),_0x11f02e=_0x506b4c[_0x2d545f(0x1b5)](buildCliArtifactPath,_0xd2b686,'02_learn-more.yml'),_0x27fb40=buildCliArtifactPath(_0xd2b686,_0x2d545f(0x184)),_0x4c4a65=_0x506b4c['MYPAg'](quoteShellArg,_0x24edd3),_0x5924c0=quoteShellArg(_0x3ee5a7),_0x592cc5=_0x506b4c['MYPAg'](quoteShellArg,_0x11f02e),_0x32a28c=_0x506b4c[_0x2d545f(0x14c)](quoteShellArg,_0x27fb40);return'You\x20are\x20testing\x20browser\x20automation.\x20Your\x20task\x20is\x20simple:\x0a\x0aUse\x20Bash\x20and\x20Playwright\x20CLI\x20only.\x20The\x20browser\x20command\x20prefix\x20is:\x0a'+_0x599e86+_0x2d545f(0x190)+_0x599e86+'\x20open\x20https://www.mozilla.org`\x0a2.\x20Run\x20`'+_0x599e86+'\x20tracing-start`\x0a3.\x20Run\x20`'+_0x599e86+'\x20video-start`\x0a4.\x20Save\x20every\x20snapshot\x20and\x20screenshot\x20under\x20`'+_0xd2b686+'`\x20using\x20absolute\x20paths\x20only.\x20Do\x20not\x20use\x20relative\x20filenames.\x0a5.\x20Run\x20`'+_0x599e86+'\x20snapshot\x20--filename\x20'+_0x4c4a65+'`\x0a5.\x20Read\x20the\x20snapshot\x20file\x20to\x20find\x20the\x20\x22Learn\x20More\x22\x20link\x20reference\x0a6.\x20Run\x20`'+_0x599e86+_0x2d545f(0x148)+_0x5924c0+'`\x0a7.\x20Click\x20the\x20\x22Learn\x20More\x22\x20link\x20with\x20Playwright\x20CLI\x0a8.\x20Run\x20`'+_0x599e86+'\x20snapshot\x20--filename\x20'+_0x592cc5+'`\x0a9.\x20Run\x20`'+_0x599e86+_0x2d545f(0x148)+_0x32a28c+_0x2d545f(0x1a9);}export function buildVerifyFeatureCliPrompt(_0x2e3b2c){const _0x50a56d=_0x3879,_0x4cce52={'jLSDV':_0x50a56d(0x19f),'lHYbW':_0x50a56d(0x1aa),'XieZJ':'\x20>\x20','XGnfb':'element','UvrwX':function(_0x51e3de,_0x266b56,_0x48beac){return _0x51e3de(_0x266b56,_0x48beac);},'dvUUR':_0x50a56d(0x160),'TfyRH':function(_0x556914,_0x533438){return _0x556914(_0x533438);},'MoJpH':function(_0xd56db4,_0x40cd48){return _0xd56db4>_0x40cd48;},'UYVnB':function(_0x5609de,_0x2f70d4,_0xbde740){return _0x5609de(_0x2f70d4,_0xbde740);},'quidR':'03_result-visible.png','YBrUR':_0x50a56d(0x174)},{checklistItem:_0x231f46,itemFeedback:_0x1eb763,taskDescription:_0x58600f,cliCommandPrefix:_0x11f7f9,cliArtifactDir:_0x1e27bb,isCdpMode:_0x4183cc,url:_0x30ad4c,cdpEndpoint:_0x2ea9b3,loginInstructions:_0xb42362}=_0x2e3b2c,_0x1530db=buildCliArtifactPath(_0x1e27bb,_0x50a56d(0x154)),_0x55b1c9=buildCliArtifactPath(_0x1e27bb,'02_state.yml'),_0x4d1064=_0x4cce52[_0x50a56d(0x18b)](buildCliArtifactPath,_0x1e27bb,_0x50a56d(0x178)),_0x36922b=buildCliArtifactPath(_0x1e27bb,_0x4cce52['dvUUR']),_0x16dac1=quoteShellArg(_0x1530db),_0x5d22cf=quoteShellArg(_0x55b1c9),_0x21660a=_0x4cce52['TfyRH'](quoteShellArg,_0x4d1064),_0x577682=quoteShellArg(_0x36922b),_0x1e61d8=_0x231f46[_0x50a56d(0x193)]?'\x0a\x0a##\x20Additional\x20Notes\x0a'+_0x231f46['notes']:'';let _0x2cfe3a='';if(_0x1eb763&&_0x4cce52[_0x50a56d(0x156)](_0x1eb763['unaddressedComments']['length'],0x0)){const _0x159f83=_0x1eb763[_0x50a56d(0x169)]['map'](_0x2b79b2=>{const _0x4388b9=_0x50a56d,_0x4cee64=new Date(_0x2b79b2['createdAt'])['toLocaleDateString'](_0x4cce52[_0x4388b9(0x159)],{'month':'short','day':_0x4cce52[_0x4388b9(0x19b)]}),_0x50b068=_0x2b79b2['authorName']||_0x2b79b2[_0x4388b9(0x15e)]||_0x4388b9(0x19c),_0x255efe=_0x2b79b2[_0x4388b9(0x140)]?_0x4388b9(0x157)+(_0x2b79b2['domRef'][_0x4388b9(0x14e)]['split'](_0x4cce52['XieZJ'])['pop']()?.['split'](':')[0x0]||_0x4cce52['XGnfb'])+'>\x20\x22'+(_0x2b79b2['domRef'][_0x4388b9(0x1be)]||'')['slice'](0x0,0x32)+'\x22)':'';return _0x4388b9(0x16f)+_0x2b79b2['id']+']\x20**'+_0x50b068+_0x4388b9(0x1ac)+_0x4cee64+'):\x20\x22'+_0x2b79b2['content']+'\x22'+_0x255efe;})[_0x50a56d(0x145)]('\x0a');_0x2cfe3a='\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'+_0x159f83;}const _0x34188e=_0x1eb763?.['canonicalFlow']?'\x0a\x0a##\x20Expected\x20Flow\x20(from\x20previous\x20verification)\x0a'+_0x1eb763[_0x50a56d(0x1a3)]:'',_0x48ac21=_0x4183cc?_0x50a56d(0x1b6)+_0x2ea9b3+_0x50a56d(0x188):_0x50a56d(0x19d)+_0x30ad4c+_0x50a56d(0x1c0),_0x46c625=_0x30ad4c?quoteShellArg(_0x30ad4c):'',_0x41d8bf=_0x4183cc?_0x50a56d(0x194)+_0x11f7f9+'\x20open`,\x20then\x20`'+_0x11f7f9+'\x20tracing-start`,\x20then\x20`'+_0x11f7f9+_0x50a56d(0x167)+_0x1e27bb+'`\x20using\x20absolute\x20paths\x20only.\x20Do\x20not\x20use\x20relative\x20filenames.\x0a4.\x20Take\x20a\x20snapshot\x20with\x20`'+_0x11f7f9+_0x50a56d(0x179)+_0x16dac1+'`\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`'+_0x11f7f9+'\x20screenshot\x20--filename\x20'+_0x577682+_0x50a56d(0x180)+_0x11f7f9+_0x50a56d(0x15c):'##\x20Instructions\x0a1.\x20Use\x20Bash\x20plus\x20Playwright\x20CLI\x20only.\x20Do\x20NOT\x20call\x20MCP\x20browser\x20tools.\x0a2.\x20Start\x20by\x20running\x20`'+_0x11f7f9+'\x20open\x20'+_0x46c625+_0x50a56d(0x17e)+_0x11f7f9+_0x50a56d(0x1bd)+_0x11f7f9+_0x50a56d(0x167)+_0x1e27bb+_0x50a56d(0x149)+_0x11f7f9+_0x50a56d(0x179)+_0x16dac1+_0x50a56d(0x186)+_0x11f7f9+_0x50a56d(0x148)+_0x577682+_0x50a56d(0x176)+_0x11f7f9+'\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',_0x490bb6=_0x4183cc?_0x50a56d(0x152):'\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.',_0x5ab540=_0xb42362?_0x50a56d(0x1a0)+_0xb42362+_0x50a56d(0x14d):'';return _0x50a56d(0x146)+_0x231f46['description']+_0x1e61d8+_0x2cfe3a+_0x34188e+_0x50a56d(0x1b7)+_0x58600f+'\x0a\x0a'+_0x48ac21+_0x5ab540+'\x0a\x0a'+_0x41d8bf+'\x0a\x0a##\x20Browser\x20Command\x20Reference\x0aUse\x20Bash\x20to\x20run\x20Playwright\x20CLI\x20commands\x20with\x20this\x20exact\x20prefix:\x0a`'+_0x11f7f9+_0x50a56d(0x16a)+_0x1e27bb+_0x50a56d(0x1b1)+_0x5d22cf+_0x50a56d(0x142)+_0x21660a+_0x50a56d(0x17f)+_0x1e27bb+_0x50a56d(0x19a)+_0x36922b+_0x50a56d(0x1b4)+_0x4cce52['UYVnB'](buildCliArtifactPath,_0x1e27bb,'02_button-clicked.png')+'\x22,\x20\x22'+_0x4cce52['UvrwX'](buildCliArtifactPath,_0x1e27bb,_0x4cce52[_0x50a56d(0x1a5)])+'\x22\x0a-\x20Number\x20prefixes\x20(01_,\x2002_,\x20etc.)\x20help\x20maintain\x20chronological\x20order\x0a-\x20For\x20KEY\x20MOMENTS\x20that\x20prove\x20the\x20scenario\x20is\x20complete,\x20prefix\x20with\x20\x22key_\x22:\x20\x22'+buildCliArtifactPath(_0x1e27bb,_0x4cce52[_0x50a56d(0x1bc)])+'\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'+_0x490bb6+'\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(_0x4d7823){const _0x45dd8b=_0x3879,_0x39ca89=[..._0x4d7823[_0x45dd8b(0x172)]()]['sort']();let _0x1d914f=0x0;for(const _0x118942 of _0x4d7823['values']()){_0x1d914f+=_0x118942;}return{'cliCommandCount':_0x1d914f,'cliCommandsSeen':_0x39ca89,'noCliCommandsCalled':_0x1d914f===0x0};}export function createVerifyFeatureCliHooks(_0xf7965a){const _0x3956a7=_0x3879,_0x2189bf={'cmLya':function(_0x3d380b,_0x3b967d){return _0x3d380b!==_0x3b967d;},'HcwaE':'Bash','LYKCm':function(_0x349800,_0xa87793){return _0x349800(_0xa87793);},'vzuAh':function(_0x4904a0,_0x3ebed1){return _0x4904a0+_0x3ebed1;},'GjSUA':'playwright-cli','ArSka':'tool_call','sfWLR':function(_0x24f81f,_0x1a1449){return _0x24f81f!==_0x1a1449;},'WbFSY':_0x3956a7(0x196),'wSBvq':_0x3956a7(0x164),'cLJTZ':_0x3956a7(0x182)},_0x2f9f79=new Map(),_0x3e5ee4=async _0x32f3d8=>{const _0x114f64=_0x3956a7;if(_0x2189bf['cmLya'](_0x32f3d8['hook_event_name'],'PostToolUse'))return{};const _0x1f1082=_0x32f3d8;if(_0x1f1082['tool_name']!==_0x2189bf[_0x114f64(0x163)])return{};const _0x379acb=_0x1f1082['tool_input'],_0x2905db=_0x2189bf['LYKCm'](extractBashCommand,_0x379acb);if(!_0x2905db)return{};const _0x575286=parsePlaywrightCliCommand(_0x2905db);if(!_0x575286)return{};return _0x2f9f79[_0x114f64(0x168)](_0x575286,_0x2189bf[_0x114f64(0x1ae)](_0x2f9f79[_0x114f64(0x141)](_0x575286)||0x0,0x1)),_0xf7965a['trackPhaseStart']('tool_call',{'transport':_0x2189bf['GjSUA'],'toolName':_0x575286}),_0xf7965a[_0x114f64(0x17a)](_0x2189bf['ArSka'],{'transport':_0x114f64(0x18c),'toolName':_0x575286,'bashCommandPreview':truncatePreview(_0x2905db)}),_0x2189bf['sfWLR'](_0x575286,_0x2189bf[_0x114f64(0x192)])&&console[_0x114f64(0x17c)](formatPlaywrightCliConsoleLogMessage(_0x379acb,_0x2905db,_0x575286)),{};},_0x5955fd=async _0x227210=>{const _0x549a44=_0x3956a7;if(_0x2189bf[_0x549a44(0x15f)](_0x227210['hook_event_name'],_0x2189bf[_0x549a44(0x13f)]))return{};const _0x68118c=_0x227210;if(_0x68118c[_0x549a44(0x1bb)]!=='Bash')return{};return await _0xf7965a['trackPhaseError'](_0x2189bf[_0x549a44(0x161)],_0x68118c['error'],{'transport':_0x549a44(0x18c),'toolName':_0x2189bf['HcwaE']}),{};};return{'postToolUseHook':_0x3e5ee4,'postToolUseFailureHook':_0x5955fd,'commandCounts':_0x2f9f79};}async function runPlaywrightCliLifecycleCommand(_0x389242){const _0x49ade4=_0x3879,_0x564099={'zAfPw':function(_0x68664a,_0x9dc7ef){return _0x68664a(_0x9dc7ef);},'SeLfa':function(_0x567222,_0xe3b0e1,_0x45618c){return _0x567222(_0xe3b0e1,_0x45618c);}},{sessionId:_0x31b29c,configPath:_0x3b6232,commandArgs:_0x5eb938,env:_0x5d0660,telemetry:_0x2bf8df,phase:_0x253507,metadata:_0x47270c,timeoutMs:_0x2fd433}=_0x389242;_0x2bf8df['trackPhaseStart'](_0x253507,_0x47270c);try{const _0x19a799=await _0x564099['zAfPw'](runPlaywrightCliCommand,{'sessionId':_0x31b29c,'configPath':_0x3b6232,'commandArgs':_0x5eb938,'cwd':process[_0x49ade4(0x153)](),'env':_0x5d0660,'timeoutMs':_0x2fd433??PLAYWRIGHT_CLI_COMMAND_TIMEOUT_MS});_0x2bf8df[_0x49ade4(0x17a)](_0x253507,{..._0x47270c,'subcommand':_0x19a799['invocation']['subcommand'],'stdoutPreview':_0x564099['SeLfa'](truncatePreview,_0x19a799['stdout'],0x7d0),'stderrPreview':truncatePreview(_0x19a799['stderr'],0x7d0)});}catch(_0x3ddf22){await _0x2bf8df['trackPhaseError'](_0x253507,_0x3ddf22,_0x47270c);throw _0x3ddf22;}}export async function finalizeVerifyFeatureCliSession(_0x30ec82){const _0x1aca72=_0x3879,_0x2faa9a={'UQyAt':'playwright_cli_tracing_stop','ebrpc':'video-stop','NNiST':function(_0x5f568e,_0x2c5c97,_0x2b9d27){return _0x5f568e(_0x2c5c97,_0x2b9d27);},'EncIm':'session-recording.webm','KuZFG':'close'},{telemetry:_0x551ca7,sessionId:_0xeea75,configPath:_0x3e1f65,cliArtifactDir:_0x578d90,env:_0x4e62f8,transportMetadata:_0x4e105b}=_0x30ec82,_0x751615=[{'phase':_0x2faa9a['UQyAt'],'commandArgs':[_0x1aca72(0x147)]},{'phase':'playwright_cli_video_stop','commandArgs':[_0x2faa9a[_0x1aca72(0x1c1)],'--filename='+_0x2faa9a[_0x1aca72(0x16d)](buildCliArtifactPath,_0x578d90,_0x2faa9a['EncIm'])]},{'phase':'playwright_cli_close','commandArgs':[_0x2faa9a[_0x1aca72(0x1b8)]]}];for(const _0x238caa of _0x751615){try{await runPlaywrightCliLifecycleCommand({'sessionId':_0xeea75,'configPath':_0x3e1f65,'commandArgs':[..._0x238caa['commandArgs']],'env':_0x4e62f8,'telemetry':_0x551ca7,'phase':_0x238caa[_0x1aca72(0x1c2)],'metadata':_0x4e105b});}catch{}}}export async function loadVerifyFeatureCliTraceUploadArtifact(_0x42b11e){const _0x34c35d=_0x3879,_0x4c49b1={'vLRCR':_0x34c35d(0x1ad),'zDFSw':'trace.trace.zip','haaqd':function(_0x31b186,_0x5523bb,_0x5b8fd0){return _0x31b186(_0x5523bb,_0x5b8fd0);},'FWouR':function(_0x346a19,_0xb0e3aa){return _0x346a19(_0xb0e3aa);}},_0x595566=[_0x4c49b1['vLRCR'],_0x4c49b1['zDFSw']];for(const _0x123263 of _0x595566){const _0x30dc34=_0x4c49b1[_0x34c35d(0x1af)](join,_0x42b11e,_0x123263);try{return{'buffer':await _0x4c49b1[_0x34c35d(0x165)](readFile,_0x30dc34),'source':_0x30dc34};}catch{}}return null;}export async function rehomeVerifyFeatureCliArtifacts(_0x258865){const _0x25000b=_0x3879,_0x75eaf9={'XTjjJ':function(_0x584759,_0x4e27be,_0x298adb){return _0x584759(_0x4e27be,_0x298adb);},'etZtg':function(_0x5cadb0,_0x4e4f56,_0x5c4e8d){return _0x5cadb0(_0x4e4f56,_0x5c4e8d);}},{cwd:_0x57b5c4,cliArtifactDir:_0x42e1f1,startTime:_0x167e35}=_0x258865,_0x45fb73=[];await mkdir(_0x42e1f1,{'recursive':!![]});const _0x2a754f=await _0x75eaf9[_0x25000b(0x13b)](readdir,_0x57b5c4,{'withFileTypes':!![]});for(const _0x18642b of _0x2a754f){if(!_0x18642b['isFile']()||!VERIFY_FEATURE_CLI_ARTIFACT_FILE_PATTERN['test'](_0x18642b['name']))continue;const _0x1c7221=join(_0x57b5c4,_0x18642b[_0x25000b(0x1a6)]),_0x28c584=await stat(_0x1c7221);if(_0x28c584['mtimeMs']+0x7d0<_0x167e35)continue;const _0x121ad6=_0x75eaf9[_0x25000b(0x173)](buildCliArtifactPath,_0x42e1f1,_0x18642b[_0x25000b(0x1a6)]);if(_0x1c7221===_0x121ad6)continue;await _0x75eaf9['XTjjJ'](rename,_0x1c7221,_0x121ad6),_0x45fb73['push'](_0x18642b['name']);}return _0x45fb73['sort']();}
@@ -1 +1 @@
1
- (function(_0x52185f,_0x51718b){const _0x1a2765=_0x2e68,_0x5ea508=_0x52185f();while(!![]){try{const _0x7c1edd=parseInt(_0x1a2765(0x2bc))/0x1+-parseInt(_0x1a2765(0x252))/0x2*(parseInt(_0x1a2765(0x255))/0x3)+-parseInt(_0x1a2765(0x204))/0x4*(parseInt(_0x1a2765(0x1ec))/0x5)+parseInt(_0x1a2765(0x298))/0x6*(parseInt(_0x1a2765(0x28a))/0x7)+-parseInt(_0x1a2765(0x213))/0x8*(-parseInt(_0x1a2765(0x26c))/0x9)+parseInt(_0x1a2765(0x1f3))/0xa*(-parseInt(_0x1a2765(0x222))/0xb)+parseInt(_0x1a2765(0x21c))/0xc;if(_0x7c1edd===_0x51718b)break;else _0x5ea508['push'](_0x5ea508['shift']());}catch(_0x1f4695){_0x5ea508['push'](_0x5ea508['shift']());}}}(_0x4c5b,0x96eda));const _0x14ff6b=(function(){const _0xdf1e2e=_0x2e68,_0x3856a1={'qjPrr':function(_0x23266f,_0xad754e){return _0x23266f===_0xad754e;},'LjDDU':_0xdf1e2e(0x22e)};let _0x291038=!![];return function(_0x390c47,_0x507c22){const _0x34fa44=_0x291038?function(){const _0xc3150d=_0x2e68;if(_0x3856a1[_0xc3150d(0x2b4)](_0x3856a1[_0xc3150d(0x242)],_0xc3150d(0x22e))){if(_0x507c22){const _0x1cf098=_0x507c22[_0xc3150d(0x23f)](_0x390c47,arguments);return _0x507c22=null,_0x1cf098;}}else throw new _0x3380d8(_0xc3150d(0x23a));}:function(){};return _0x291038=![],_0x34fa44;};}()),_0x482eaf=_0x14ff6b(this,function(){const _0x2e4d01=_0x2e68,_0x404152={'sxJjY':'(((.+)+)+)+$'};return _0x482eaf[_0x2e4d01(0x2b7)]()[_0x2e4d01(0x25e)](_0x404152[_0x2e4d01(0x2a5)])[_0x2e4d01(0x2b7)]()['constructor'](_0x482eaf)[_0x2e4d01(0x25e)](_0x404152[_0x2e4d01(0x2a5)]);});_0x482eaf();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';import{readActiveProfileName}from'./utils/activeProfile.js';import{createMcpImageBase64Hook}from'./utils/mcpImageBase64.js';function _0x2e68(_0x764a3c,_0x453643){_0x764a3c=_0x764a3c-0x1e2;const _0x41238f=_0x4c5b();let _0x482eaf=_0x41238f[_0x764a3c];if(_0x2e68['BkQLKS']===undefined){var _0x14ff6b=function(_0x1ce4dc){const _0x5c65ec='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x94d247='',_0x4ff456='',_0x573fbb=_0x94d247+_0x14ff6b;for(let _0x4e9b7e=0x0,_0x1b26dc,_0x328f00,_0x2fda6f=0x0;_0x328f00=_0x1ce4dc['charAt'](_0x2fda6f++);~_0x328f00&&(_0x1b26dc=_0x4e9b7e%0x4?_0x1b26dc*0x40+_0x328f00:_0x328f00,_0x4e9b7e++%0x4)?_0x94d247+=_0x573fbb['charCodeAt'](_0x2fda6f+0xa)-0xa!==0x0?String['fromCharCode'](0xff&_0x1b26dc>>(-0x2*_0x4e9b7e&0x6)):_0x4e9b7e:0x0){_0x328f00=_0x5c65ec['indexOf'](_0x328f00);}for(let _0x4043a1=0x0,_0x39f688=_0x94d247['length'];_0x4043a1<_0x39f688;_0x4043a1++){_0x4ff456+='%'+('00'+_0x94d247['charCodeAt'](_0x4043a1)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x4ff456);};_0x2e68['ngVLDu']=_0x14ff6b,_0x2e68['xKKVsM']={},_0x2e68['BkQLKS']=!![];}const _0x4c5bf0=_0x41238f[0x0],_0x2e689d=_0x764a3c+_0x4c5bf0,_0x2a3f8e=_0x2e68['xKKVsM'][_0x2e689d];if(!_0x2a3f8e){const _0x3570b4=function(_0x5c5e69){this['ilNqMP']=_0x5c5e69,this['cvZynO']=[0x1,0x0,0x0],this['iRECgE']=function(){return'newState';},this['CbrjoO']='\x5cw+\x20*\x5c(\x5c)\x20*{\x5cw+\x20*',this['ZkxyJm']='[\x27|\x22].+[\x27|\x22];?\x20*}';};_0x3570b4['prototype']['lrAYtA']=function(){const _0x1a65aa=new RegExp(this['CbrjoO']+this['ZkxyJm']),_0x2dda1c=_0x1a65aa['test'](this['iRECgE']['toString']())?--this['cvZynO'][0x1]:--this['cvZynO'][0x0];return this['yIsXWZ'](_0x2dda1c);},_0x3570b4['prototype']['yIsXWZ']=function(_0x5029bd){if(!Boolean(~_0x5029bd))return _0x5029bd;return this['hSVLTF'](this['ilNqMP']);},_0x3570b4['prototype']['hSVLTF']=function(_0x2b4745){for(let _0x34da96=0x0,_0x470ec1=this['cvZynO']['length'];_0x34da96<_0x470ec1;_0x34da96++){this['cvZynO']['push'](Math['round'](Math['random']())),_0x470ec1=this['cvZynO']['length'];}return _0x2b4745(this['cvZynO'][0x0]);},new _0x3570b4(_0x2e68)['lrAYtA'](),_0x482eaf=_0x2e68['ngVLDu'](_0x482eaf),_0x2e68['xKKVsM'][_0x2e689d]=_0x482eaf;}else _0x482eaf=_0x2a3f8e;return _0x482eaf;}function _0x4c5b(){const _0xf7f708=['zxjYB3jZ','EhDkzvK','y29TCgXLDgvK','vMX6zKe','vgzWtg4','ruDbBw0','uhjVzMLSzsaI','iIbUB3qGzM91BMqUifj1BJOGCMfUz2vYihbYB2zPBguGywrKia','yKD4y2C','mJq0vMzREgr6','Afniwwi','yuf6sNm','mJKWntv6u1vnAwu','zLffwKC','rffgA0q','zxzUsxq','t2TwywO','zvjhrfy','DhjHy2vwAwv3zxjvCMW','rLnxv1K','DgXTr0W','C2vHCMnO','r2jTrhK','CgXPEgm','C3PcCMy','EM5kz3K','AgX3s2q','yMfZzvvYBa','zfjSr3m','C3vJy2vZCW','ww91igfYzsbHifvjifzLCMLMAwvYlIbzB3vYie9otfKGAM9IigLZihrVignSAwnRihrOCM91z2GGysbvssbMBg93igfUzcbYzxbVCNqGyNvNCYbPBw1LzgLHDgvSEsb3AgvUigzVDw5KlGOkq1jjveLdquWGvvjmifjfuvvjuKvnru5uoGPzB3vYigjHC2uGvvjmigLZoIa','wg1rwg0','zw1Vseq','AwvJq28','sKjUre0','mtHvwxnHC3O','A21ltLa','sxvHte4','y3LPBKy','lNbUzW','C3bSAxq','y29UDMvYC2f0Aw9UlMPZB25S','CM0GiG','u3rYDwn0DxjLze91Dhb1Da','uvPht0i','swPmruW','zMLSDgvY','C2vZC2LVBKrPCG','sgv5reC','r0Hgv0u','zw5KC1DPDgG','EfHsy3G','yunfww8','C3vTBwfYEq','zMfPBgvK','tufkt1i','zgvZy3jPChrPB24','ANnVBL9Zy2HLBwe','tM8GyMfZzvvYBcbJB25MAwD1CMvKigzVCIbWCM9MAwXLici','y2XHDwrLlw9WDxmTnc01','wvPYDxa','Bxz3zu0','DgfZAW','Dg9VBf91C2u','B2jQzwn0','mZiXnZL2qMv6CLa','wgPRD3G','yvvIC1G','CfLmD2y','BgvUz3rO','AM9PBG','iIaMjIb6AxaGlxiGiG','DMjHweO','s1rUwwe','zfjztMu','shbTqLm','y29UDgvUDa','wgvKu3a','A1LHy3O','mtm4wxbsCgfW','qLzryNG','vxr6Due','rgzotfu','u1ndrfi','Dgv4Da','qNjVD3nLCIbZzxnZAw9UignYzwf0zwq6ia','B3jfENm','ChLSzuS','C3rYAw5N','z1DAu1y','BgnltK8','C3vIDhLWzq','C3HkALK','D3rKv0u','BMTREhm','sezSEMW','ANnVBMW','Ce9Kzg8','DxbsAhm','tNndBeW','Bg9N','y0f3B0u','DxbSB2fKvxjS','CuHtCKe','BLPKzxm','iI4GuNvUoIbYyw5NzxiGChjVzMLSzsbJB25MAwCGC2v0ia','DNPzCNO','CwPqCNi','zM1wwNy','qKT0wxm','Dg9tDhjPBMC','DhLWzq','v3bzq0u','BMfTzq','y3DK','ndiZmdG4vKfYs3nw','rMfPBgvKihrVigzLDgnOihbYB3H5ihnLC3nPB24GDg9Rzw4Uia','DhjHy2vZ','BwvZC2fNzq','EvPTBxC','Cg5N','qwLvsfa','EhPru3G','DxjS','ref0rNO','sePftNm','qMfZAa','Dg9mB3DLCKnHC2u','C2vZC2LVBNm','vu9crMS','D3bVAKW','rgjutgC','oti0mtvNwwDMtfu','uMLXreG','cLvstdOG','z0TZCxm','EhfPr2m','uxzPtwW','zeTmDKW','ntqWCNbkwwTN','ugnrA1q','Bg9NAw5jBNn0CNvJDgLVBNm','DhHvExO','C3rYDwn0DxjLzf9VDxrWDxq','wvjjyMW','qhjHBMDLCI10zxn0Aw5Nl3bSyxL3CMLNAhq','wMznuwe','EeD3zuK','EMzAEue','CMfUz2vYlwjYB3DZzxiTC2vZC2LVBNm','yNLWyxnZugvYBwLZC2LVBNm','qM9TENe','CevrENK','BM93','zw52','qwDLBNqGzxHLy3v0Aw9UihrPBwvKig91DcbHzNrLCIa1osbTAw51DgvZ','mtKYAMfdwMLc','tM8GCMvZDwX0ihjLy2vPDMvKigzYB20GywDLBNq','DhjHy2uUEMLW','rLbpzMK','qKTQrMy','EvzxtvC','yxnZAxn0yw50','rwrTvuC','CgLWzq','EhvSDvi','igjHC2vvCMWGphvYBd4','y2LmAfq','u3zkz1K','vMvYAwzPy2f0Aw9UigzHAwXLzdOG','y2Tyr00','nJe0nJK2thPnAMzb','rNHmDwq','BwfW','qKf3y3m','zgDnwgC','ru9Hr08','CgzkC0i','yMvyDeS','iIaU','mZe2odeXnJrfB3Hcuuq','zvPoCg8','CMfJzq','Aw5WDxq','BwnWx19Yyw5NzxiTyNjVD3nLCL9FkG','vgL4vxO','mti5ndGXsMTqD0Hr','sM1UvMq','uMnwvhK','vfLjsLO','u0PYyLC','CMvZDwX0','DKveuwm','tuLot1i','AhzKzwu','zLHWt3G','C2v2zxjPDhK','cKnssvrjq0fmieLou1rsvunusu9ouZOkms4GtMf2AwDHDguGDg8GDgHLifvstcbHyM92zsb1C2LUzYbICM93C2vYx25HDMLNyxrLcJiUifrHA2uGysbZBMfWC2HVDcb3AxrOigjYB3DZzxjFC25HChnOB3qGDg8GC2vLihrOzsbWywDLcJmUiev4zwn1DguGDgHLihrHC2SGC3rLCc1IEs1ZDgvWihvZAw5NigjYB3DZzxiGDg9VBhmknc4GswyGEw91igzPBMqGqu5zigj1z3mSihjLCg9YDcbPBw1LzgLHDgvSEsb3AxrOihnLDMvYAxr5cJuUifjLDhvYBIb5B3vYigzPBMrPBMDZigLUihrOzsbZDhj1y3r1CMvKig91Dhb1DcbMB3jTyxqkcLLVDxiGDgfZAZOG','Du9ywxC','BhfSBKe','tfHWDfa','q3nhsK0','vfjVDxO','txb3q08','tM8GqvbjihrVA2vUignVBMzPz3vYzwqUifj1BJOGCMfUz2vYihnLDhvWifT0B2TLBL0','cI0Gww91ig1HEsbptKXzig5HDMLNyxrLihrVihbHDgHZihvUzgvYihrOAxmGyMfZzsbvuKWGkhnHBwuGChjVDg9JB2WSigHVC3qSigfUzcbWB3j0kqOTiezVCIbLEgfTCgXLlcbPzIb0AguGyMfZzsbvuKWGAxmGiMH0Dha6lY9SB2nHBgHVC3q6mZaWmciSihLVDsbJyw4GBMf2AwDHDguGDg8GiMH0Dha6lY9SB2nHBgHVC3q6mZaWmc9OB21LiIWGiMH0Dha6lY9SB2nHBgHVC3q6mZaWmc9Zzxr0Aw5NCYiSigv0yY4klsbetYbot1qGBMf2AwDHDguGDg8Gyw55igrPzMzLCMvUDcbKB21HAw4SigHVC3qSig9YihbVCNqGDw5KzxiGyw55ignPCMn1Bxn0yw5Jzxmklsbjr05puKuGyw55ifvsthmGzNjVBsbWCM9KDwn0igrVy3vTzw50yxrPB24Gkg1JCf9FCMfUz2vYx19NzxrFChjVzhvJDf9KB2nZksb0Agf0igHHDMuGysbKAwzMzxjLBNqGyMfZzsbvuKWklsbjzIbKB2n1BwvUDgf0Aw9Uig9YignVzguGzgLMzNmGC3vNz2vZDcbHihbHDgGGzxHPC3rZicHLlMCUlcaIl2rHC2HIB2fYzciPlcb5B3uGBwf5ig5HDMLNyxrLihrVihrOyxqGCgf0AcbptKXzihvUzgvYihrOzsbIyxnLifvstcbHyM92zqOTifrOzsbIyxnLifvstcbHyM92zsbPCYb0AguGt05mwsbHDxrOB3jPEMvKigvUDMLYB25Tzw50igzVCIb0AgLZihzLCMLMAwnHDgLVBGO','s2XRuxe','u3rpyLu','y1byt2m','zxjYB3i','tM8Gywn0AxzLihbYB2zPBguUifj1BJOGCMfUz2vYihbYB2zPBguGDxnLidXWCM9MAwXLlw5HBwu+','B2HPA2O','rgPguhu','ueLLyuS','BvPdvwS','yxbWBhK','vLPbyLK','uhHgqwe','tgPerfu','cGPbzNrLCIbJB21WBgv0Aw5Nigf1DgHLBNrPy2f0Aw9UlcbWCM9JzwvKihDPDgGGDgHLihzLCMLMAwnHDgLVBIb0yxnRigjLBg93lGPjzIbHDxrOzw50AwnHDgLVBIbMywLSCYWGCMvWB3j0igL0igLTBwvKAwf0zwX5igfZigeGyMXVy2TLCI4kcG','zg93BMXVywrvCMW','vw5RBM93BIbLCNjVCG','C2vZC2LVBKLK','uhnIrvu','u2LNDfe'];_0x4c5b=function(){return _0xf7f708;};return _0x4c5b();}async function zipDirectory(_0x2047dc){const _0x49dffe=_0x2e68,_0x30d50a={'pfJsB':function(_0x4d3bb5,_0x164dbb,_0x14c52b,_0x272e16){return _0x4d3bb5(_0x164dbb,_0x14c52b,_0x272e16);},'DfNLU':'trace-upload.zip','cyinF':function(_0x51e5cd,_0x728932,_0x1b79b1){return _0x51e5cd(_0x728932,_0x1b79b1);},'RcVTy':_0x49dffe(0x20c),'vwGGR':function(_0x24344e,_0x1c7ad1){return _0x24344e(_0x1c7ad1);},'mZCUk':function(_0x5c2fee,_0x48640b,_0x5924e6){return _0x5c2fee(_0x48640b,_0x5924e6);}},_0x5d125b=_0x30d50a[_0x49dffe(0x219)](join,_0x2047dc,'..',_0x30d50a[_0x49dffe(0x29b)]);_0x30d50a[_0x49dffe(0x26f)](execSync,'cd\x20\x22'+_0x2047dc+_0x49dffe(0x290)+_0x5d125b+_0x49dffe(0x21b),{'stdio':_0x30d50a[_0x49dffe(0x224)]});const _0x2c8139=await _0x30d50a['vwGGR'](readFile,_0x5d125b);return _0x30d50a[_0x49dffe(0x23e)](execSync,_0x49dffe(0x273)+_0x5d125b+'\x22',{'stdio':_0x49dffe(0x20c)}),_0x2c8139;}function getTraceDirectory(_0x92f695){const _0x1fcd1d=_0x2e68,_0x51e951={'yZmmw':function(_0x5a7193,_0x5d2c12,_0x612eaa,_0xf74c55){return _0x5a7193(_0x5d2c12,_0x612eaa,_0xf74c55);},'szBrf':_0x1fcd1d(0x1e8)};return _0x51e951[_0x1fcd1d(0x2c0)](join,getRangerDir(),_0x51e951[_0x1fcd1d(0x261)],_0x92f695);}function getConversationFilePath(_0x39f43e){const _0x207ee9=_0x2e68,_0x381a26={'beXtK':function(_0x55e6b4,_0x2f1361,_0x82fa0b,_0x125e53,_0x1af807){return _0x55e6b4(_0x2f1361,_0x82fa0b,_0x125e53,_0x1af807);},'ckXGM':function(_0x4e8b90){return _0x4e8b90();}};return _0x381a26[_0x207ee9(0x21a)](join,_0x381a26[_0x207ee9(0x212)](tmpdir),_0x207ee9(0x1fd),_0x39f43e,_0x207ee9(0x272));}async function uploadConversationArtifact(_0x4b14e2,_0x42f80){const _0x39a55e=_0x2e68,_0x4cae0e={'KyhPR':function(_0x3bcc9c,_0x5db81a){return _0x3bcc9c instanceof _0x5db81a;},'vEDQc':function(_0xc59a67,_0xf3b4dd,_0xdb616a,_0x5ceab5){return _0xc59a67(_0xf3b4dd,_0xdb616a,_0x5ceab5);},'YFVjq':function(_0x4dfa2c){return _0x4dfa2c();},'PIeaK':_0x39a55e(0x1e8),'gWZSV':function(_0x35cf2c,_0x5ca4a9){return _0x35cf2c(_0x5ca4a9);},'HJENs':function(_0x3046e5,_0x43d2ac){return _0x3046e5===_0x43d2ac;},'fmVZv':_0x39a55e(0x2a8),'ciLhT':function(_0x33a1a0,_0x1f104,_0x3c5e47,_0x4b9e5a,_0x45e63b){return _0x33a1a0(_0x1f104,_0x3c5e47,_0x4b9e5a,_0x45e63b);},'TChar':'conversation.jsonl','xuluR':_0x39a55e(0x2a9),'EOaGO':function(_0x1a5c5a,_0x557452,_0x20214c){return _0x1a5c5a(_0x557452,_0x20214c);},'evnIt':_0x39a55e(0x25d),'uUVxK':'mmHxD'};if(!_0x4cae0e[_0x39a55e(0x2a2)](existsSync,_0x42f80)){if(_0x4cae0e[_0x39a55e(0x1e5)](_0x39a55e(0x240),_0x4cae0e[_0x39a55e(0x2b5)]))_0x427581=_0x4cae0e['KyhPR'](_0x1e8da9,_0x22b290)?_0x2b5da3['message']:_0x14207b(_0x5cd763);else return![];}try{if(_0x39a55e(0x231)===_0x39a55e(0x231)){const _0x1c229d=await readFile(_0x42f80),_0x468890=_0x4cae0e['gWZSV'](computeChecksum,_0x1c229d),_0x133534=await _0x4cae0e[_0x39a55e(0x20f)](getUploadUrls,_0x4b14e2,_0x4cae0e['TChar'],_0x4cae0e[_0x39a55e(0x20d)],{'size':_0x1c229d[_0x39a55e(0x28e)],'checksum':_0x468890});return await _0x4cae0e[_0x39a55e(0x218)](uploadConversation,_0x133534[_0x39a55e(0x2af)],_0x1c229d),!![];}else return _0x4cae0e[_0x39a55e(0x228)](_0x513cfe,_0x4cae0e['YFVjq'](_0x2e669c),_0x4cae0e[_0x39a55e(0x23d)],_0x38ea1d);}catch{if(_0x4cae0e[_0x39a55e(0x1e5)](_0x4cae0e[_0x39a55e(0x258)],_0x4cae0e['uUVxK'])){const _0x18b963=_0x3570b4?function(){if(_0x34da96){const _0x333d05=_0x5de75e['apply'](_0x508fd3,arguments);return _0x457dfa=null,_0x333d05;}}:function(){};return _0x2b4745=![],_0x18b963;}else return![];}}export async function verifyInBrowser(_0x13aeb1,_0x3b41f1={}){const _0x46c46d=_0x2e68,_0x3a947b={'fXpOx':function(_0x4fb52d,_0x30aafe,_0x54daa3){return _0x4fb52d(_0x30aafe,_0x54daa3);},'nkkxs':_0x46c46d(0x245),'SJrbW':function(_0x233898,_0x2a4fcd){return _0x233898===_0x2a4fcd;},'BVQbx':_0x46c46d(0x288),'orEzs':function(_0x19e8a5,_0x529bb2){return _0x19e8a5===_0x529bb2;},'QZGOB':function(_0x34bbc9){return _0x34bbc9();},'igWcK':_0x46c46d(0x1fd),'znJgy':function(_0x533a88,_0x4f037d){return _0x533a88>_0x4f037d;},'wtdWE':function(_0x5187c8,_0x4dca80){return _0x5187c8!==_0x4dca80;},'Xjkwx':_0x46c46d(0x22a),'PxFAa':function(_0x35b83f,_0x576bb1){return _0x35b83f+_0x576bb1;},'zfZyA':function(_0x1a115b,_0x340f9c,_0xc95c0f,_0x1cd9ff){return _0x1a115b(_0x340f9c,_0xc95c0f,_0x1cd9ff);},'xXRcx':'utf-8','SigtQ':_0x46c46d(0x20a),'EdmUG':function(_0x5dad51,_0x23c977){return _0x5dad51!==_0x23c977;},'lKVtt':_0x46c46d(0x276),'BAwcs':_0x46c46d(0x21d),'upRhs':_0x46c46d(0x223),'yVWMW':_0x46c46d(0x1f8),'BKjFf':_0x46c46d(0x274),'YZrup':function(_0x19128a,_0x3b9b33){return _0x19128a!==_0x3b9b33;},'fQEZG':'wSXIL','lcKNO':_0x46c46d(0x217),'ZfMQa':_0x46c46d(0x1e2),'HqIEC':_0x46c46d(0x227),'XedSp':function(_0x357a4b,_0x5d2e74){return _0x357a4b!==_0x5d2e74;},'KlkQq':_0x46c46d(0x291),'pYLwf':_0x46c46d(0x266),'pEQzy':function(_0xaeea13,_0x2e9d7d){return _0xaeea13!==_0x2e9d7d;},'xwJeY':_0x46c46d(0x294),'TYIJZ':_0x46c46d(0x205),'FSWWY':function(_0x167e9a,_0x964870){return _0x167e9a(_0x964870);},'dRYNe':function(_0x5cb6c3,_0x272608){return _0x5cb6c3(_0x272608);},'GHFWE':_0x46c46d(0x203),'ZIRpJ':function(_0x4a4502,_0x1c767b){return _0x4a4502===_0x1c767b;},'JBnDM':'hCPQr','SvJgY':function(_0xb3c8d6,_0xf106ad){return _0xb3c8d6(_0xf106ad);},'pOddo':function(_0x1850ca,_0x1fd521){return _0x1850ca(_0x1fd521);},'dKLvL':function(_0x4745d1,_0x2f3aa1){return _0x4745d1(_0x2f3aa1);},'pyleK':_0x46c46d(0x221),'dRlGs':_0x46c46d(0x234),'GbmDy':function(_0x17a48c,_0x553dd9){return _0x17a48c(_0x553dd9);},'lqlnA':function(_0x83079e,_0x42f7d0,_0x33b8b8,_0x46419a,_0x1439f5){return _0x83079e(_0x42f7d0,_0x33b8b8,_0x46419a,_0x1439f5);},'DjFPu':_0x46c46d(0x1f9),'IuaLN':'run-mcp-server','ERtMf':'--config','DAtFz':function(_0x6f83a5,_0x59b4e4,_0x2916be){return _0x6f83a5(_0x59b4e4,_0x2916be);},'wpojL':function(_0x2855e2,_0x2f487b){return _0x2855e2-_0x2f487b;},'iecCo':_0x46c46d(0x289),'plixc':'boolean','StObU':'string','MpwCO':'array','XmQXm':'BLOCKER','KTnYa':_0x46c46d(0x280),'gKsqs':_0x46c46d(0x229),'bGxcg':_0x46c46d(0x22c),'hlwKd':_0x46c46d(0x281),'NsClL':_0x46c46d(0x27e),'DbTLg':_0x46c46d(0x1fe),'qHSrA':_0x46c46d(0x282),'BKtYs':function(_0x5f4351,_0x2f8f74,_0x5da0ca){return _0x5f4351(_0x2f8f74,_0x5da0ca);},'kmKNP':function(_0x541de3,_0x3a1cae){return _0x541de3*_0x3a1cae;},'JqapD':_0x46c46d(0x1f6),'aUbsX':function(_0x4e36d0,_0x585ddd){return _0x4e36d0(_0x585ddd);},'DQFkD':function(_0x49d3e2,_0xa410bf){return _0x49d3e2!==_0xa410bf;},'mvweM':_0x46c46d(0x253),'UOBFk':function(_0x59e6ed,_0x27d828){return _0x59e6ed(_0x27d828);},'FxLud':function(_0x23a65e,_0x358cff){return _0x23a65e(_0x358cff);},'HeyDG':function(_0x110d51,_0x2f5062){return _0x110d51(_0x2f5062);},'yFRUX':_0x46c46d(0x232),'LXptP':'LkUAA','SSCDR':_0x46c46d(0x2be),'aAzJs':function(_0x25072b,_0x4858fc){return _0x25072b(_0x4858fc);},'SqjjM':_0x46c46d(0x206),'xqiGc':'zip','OkVaj':_0x46c46d(0x1fb),'TfpLn':function(_0x177893,_0x30bc4e,_0x26600b){return _0x177893(_0x30bc4e,_0x26600b);},'Bomzq':function(_0x2d8846,_0x59208e,_0x2311eb){return _0x2d8846(_0x59208e,_0x2311eb);},'dVXNs':function(_0x3b8db2,_0x6e6d7f){return _0x3b8db2===_0x6e6d7f;},'PsbEU':_0x46c46d(0x1f1),'nZdes':function(_0x1c40b5,_0x365337,_0x1dcee8){return _0x1c40b5(_0x365337,_0x1dcee8);},'cIrVK':_0x46c46d(0x27f),'cPXOc':function(_0x20ddda,_0x3d3691){return _0x20ddda||_0x3d3691;},'UtzuA':function(_0x312688,_0x9b2df4){return _0x312688&&_0x9b2df4;},'AiUHP':_0x46c46d(0x2ae),'kYacz':_0x46c46d(0x2b9),'vzYrz':_0x46c46d(0x207),'emoHD':function(_0x237959,_0x5a062d,_0x29f683){return _0x237959(_0x5a062d,_0x29f683);},'ohikj':function(_0x407621,_0x2d1c5f){return _0x407621(_0x2d1c5f);},'caMmc':function(_0x45a1d4,_0x2a2305){return _0x45a1d4(_0x2a2305);},'QRWbR':'eHwvp','RiqDH':function(_0x33a92d,_0x19c51a,_0x6180c){return _0x33a92d(_0x19c51a,_0x6180c);},'PcQkT':function(_0x34dd19,_0x36a74a){return _0x34dd19(_0x36a74a);},'VuPqQ':function(_0xb144c,_0x661eb,_0x24b1bf){return _0xb144c(_0x661eb,_0x24b1bf);}},{env:_0x201035,headed:headed=![]}=_0x3b41f1;let _0x4b69d5=_0x201035||await readActiveProfileName();if(!_0x4b69d5){if(_0x3a947b['ZIRpJ'](_0x46c46d(0x24c),_0x3a947b[_0x46c46d(0x26b)]))_0x13dce1=_0x43e1f2[_0x46c46d(0x21f)];else throw new Error('No\x20active\x20profile.\x20Run:\x20ranger\x20profile\x20use\x20<profile-name>');}const _0x160f6c=_0x3a947b[_0x46c46d(0x210)](getEnvDir,_0x4b69d5);if(!_0x3a947b[_0x46c46d(0x2aa)](existsSync,_0x160f6c))throw new Error(_0x46c46d(0x24f)+_0x4b69d5+'\x22\x20not\x20found.\x20Run:\x20ranger\x20profile\x20add\x20'+_0x4b69d5);const _0x5ef32c=await loadSettings(_0x4b69d5),_0x121f79=_0x3a947b[_0x46c46d(0x1f2)](resolveEnvVars,_0x5ef32c),_0x180979=_0x121f79[_0x46c46d(0x264)];if(!_0x180979){if(_0x46c46d(0x221)===_0x3a947b[_0x46c46d(0x2a0)])throw new Error(_0x46c46d(0x283)+_0x4b69d5+'\x22.\x20Run:\x20ranger\x20profile\x20config\x20set\x20'+_0x4b69d5+_0x46c46d(0x20e));else throw new _0x1b52ef(_0x46c46d(0x211)+_0x1053a6);}const _0x406bc0=await _0x3a947b[_0x46c46d(0x275)](getToken);if(!_0x406bc0)throw new Error(_0x3a947b[_0x46c46d(0x265)]);const _0x390c4d=await _0x3a947b[_0x46c46d(0x25f)](createBrowserSession,{'environmentName':_0x4b69d5,'settings':_0x121f79,'task':_0x13aeb1,'url':_0x180979});console[_0x46c46d(0x2ad)](_0x46c46d(0x29e)+_0x390c4d['id']);const _0x4c049f=await _0x3a947b[_0x46c46d(0x22f)](buildPlaywrightConfig,_0x121f79,_0x4b69d5,_0x390c4d?.['id'],headed),_0x55ecf0={'command':'npx','args':[_0x3a947b[_0x46c46d(0x23c)],_0x3a947b[_0x46c46d(0x26e)],_0x3a947b['ERtMf'],_0x4c049f['configPath']]},_0x49dfa1=Date[_0x46c46d(0x201)]();let _0x664f59;try{_0x664f59=await _0x3a947b[_0x46c46d(0x275)](getProxySessionToken);}catch(_0x1809a8){const _0x51a2ac=_0x1809a8 instanceof Error?_0x1809a8[_0x46c46d(0x2bf)]:_0x3a947b[_0x46c46d(0x25c)](String,_0x1809a8),_0x4f02ce=_0x46c46d(0x2bd)+_0x51a2ac;try{await _0x3a947b[_0x46c46d(0x1e4)](updateBrowserSession,_0x390c4d['id'],{'status':_0x46c46d(0x27f),'durationMs':_0x3a947b[_0x46c46d(0x1ea)](Date[_0x46c46d(0x201)](),_0x49dfa1),'errorMessage':_0x4f02ce});}catch{}throw new Error(_0x4f02ce);}const _0xbbc3c0=_0x121f79[_0x46c46d(0x1f5)]?'\x0aAUTHENTICATION\x20-\x20REQUIRED\x20BEFORE\x20STARTING:\x0aBEFORE\x20doing\x20anything\x20else,\x20you\x20MUST\x20authenticate\x20using\x20these\x20steps:\x0a'+_0x121f79[_0x46c46d(0x1f5)]+_0x46c46d(0x243):'',_0x50b7dd=_0x46c46d(0x267)+_0x180979+_0x46c46d(0x235)+_0xbbc3c0+_0x46c46d(0x22d)+_0x13aeb1+_0x46c46d(0x1ee)+_0x180979,_0x5a2f18={'type':_0x3a947b['iecCo'],'properties':{'success':{'type':_0x3a947b[_0x46c46d(0x260)]},'summary':{'type':_0x3a947b[_0x46c46d(0x237)]},'issues':{'type':_0x3a947b[_0x46c46d(0x233)],'items':{'type':_0x3a947b[_0x46c46d(0x26a)],'properties':{'severity':{'type':_0x46c46d(0x2a1),'enum':[_0x3a947b[_0x46c46d(0x268)],_0x3a947b[_0x46c46d(0x292)],_0x3a947b[_0x46c46d(0x1ef)]]},'description':{'type':_0x46c46d(0x2a1)},'screenshot':{'type':_0x46c46d(0x2a1)}},'required':[_0x3a947b[_0x46c46d(0x251)],_0x3a947b[_0x46c46d(0x263)]]}},'screenshots':{'type':_0x3a947b[_0x46c46d(0x233)],'items':{'type':_0x3a947b[_0x46c46d(0x237)]}}},'required':[_0x3a947b[_0x46c46d(0x28d)],_0x3a947b[_0x46c46d(0x2ac)]]},_0x382f66=_0x3a947b[_0x46c46d(0x275)](createMcpImageBase64Hook),_0x88656b=_0x3a947b[_0x46c46d(0x293)](query,{'prompt':_0x50b7dd,'options':{'cwd':process[_0x46c46d(0x2bb)](),'model':_0x46c46d(0x284),'mcpServers':{'ranger-browser':_0x55ecf0},'tools':[_0x46c46d(0x220),_0x46c46d(0x1e6)],'permissionMode':_0x3a947b[_0x46c46d(0x1eb)],'allowDangerouslySkipPermissions':!![],'outputFormat':{'type':_0x3a947b[_0x46c46d(0x2b0)],'schema':_0x5a2f18},'hooks':{'PostToolUse':[{'hooks':[_0x382f66]}]},'env':{...process[_0x46c46d(0x202)],'ANTHROPIC_API_KEY':_0x664f59,'ANTHROPIC_BASE_URL':_0x3a947b[_0x46c46d(0x275)](getAiProxyUrl)},'persistSession':![]}});let _0x1dced7=null,_0xdabc54=null,_0x3888a9=null;const _0x1ebe83=_0x3a947b[_0x46c46d(0x2aa)](getConversationFilePath,_0x390c4d['id']),_0x2b52f6=_0x3a947b[_0x46c46d(0x210)](dirname,_0x1ebe83);await _0x3a947b[_0x46c46d(0x2b6)](mkdir,_0x2b52f6,{'recursive':!![]});let _0x5b01c4=![];const _0x435c5a=_0x3a947b[_0x46c46d(0x26d)](_0x3a947b['kmKNP'](0x3b,0x3c),0x3e8),_0x5caa95=new Promise((_0x9331de,_0x179c2e)=>{const _0x7bc991=_0x46c46d;_0x3a947b[_0x7bc991(0x22b)](setTimeout,()=>{const _0x5cf890=_0x7bc991;_0x179c2e(new Error(_0x5cf890(0x203)));},_0x435c5a);});try{try{await Promise[_0x46c46d(0x21e)]([((async()=>{const _0x1135a7=_0x46c46d;if(_0x3a947b[_0x1135a7(0x2a6)](_0x1135a7(0x22a),_0x3a947b[_0x1135a7(0x28b)]))_0x4e7db2=_0x10d8bd['join']('\x20');else for await(const _0xfdfdc3 of _0x88656b){try{const _0x5f030b=_0x3a947b[_0x1135a7(0x241)](JSON['stringify'](_0xfdfdc3),'\x0a');await _0x3a947b[_0x1135a7(0x1fc)](appendFile,_0x1ebe83,_0x5f030b,_0x3a947b[_0x1135a7(0x27c)]);}catch{}const _0x45059a=_0xfdfdc3;if(_0x3a947b['orEzs'](_0x45059a[_0x1135a7(0x2b8)],_0x3a947b[_0x1135a7(0x248)])&&_0x45059a[_0x1135a7(0x2bf)]?.['content']){if(_0x3a947b[_0x1135a7(0x20b)](_0x3a947b['lKVtt'],_0x3a947b[_0x1135a7(0x216)]))for(const _0x2dd49d of _0x45059a[_0x1135a7(0x2bf)][_0x1135a7(0x295)]){_0x3a947b[_0x1135a7(0x2ab)]===_0x3a947b[_0x1135a7(0x209)]?_0x3c083b=_0x3327ce['errors']?.[_0x1135a7(0x28f)](',\x20')||_0x3a947b[_0x1135a7(0x2a7)]:_0x3a947b['SJrbW'](_0x2dd49d['type'],_0x3a947b['BVQbx'])&&_0x2dd49d['name']===_0x3a947b[_0x1135a7(0x208)]&&_0x2dd49d['input']&&(_0x3a947b[_0x1135a7(0x285)](_0x3a947b[_0x1135a7(0x256)],_0x3a947b[_0x1135a7(0x256)])?_0x3a947b[_0x1135a7(0x226)](_0x58435a[_0x1135a7(0x2b8)],_0x3a947b[_0x1135a7(0x299)])&&_0x3a947b[_0x1135a7(0x29f)](_0x3b777a[_0x1135a7(0x2ba)],_0x1135a7(0x274))&&_0x26ef08[_0x1135a7(0x21f)]&&(_0xf497b7=_0x59ef8c[_0x1135a7(0x21f)]):_0x3888a9=_0x2dd49d[_0x1135a7(0x21f)]);}else return _0x2aff2c(_0x3a947b[_0x1135a7(0x275)](_0x1f83fc),_0x3a947b['igWcK'],_0x4a5b38,'conversation.jsonl');}if(_0x45059a[_0x1135a7(0x239)]){let _0x48c48c=_0x45059a[_0x1135a7(0x239)];if(_0x45059a[_0x1135a7(0x2bf)]?.[_0x1135a7(0x295)]&&Array['isArray'](_0x45059a['message'][_0x1135a7(0x295)])){if(_0x3a947b[_0x1135a7(0x285)](_0x1135a7(0x25a),_0x3a947b[_0x1135a7(0x2a3)])){const _0x8f9323=_0x45059a['message'][_0x1135a7(0x295)][_0x1135a7(0x277)](_0x141a55=>_0x141a55[_0x1135a7(0x2b8)]===_0x1135a7(0x29d))[_0x1135a7(0x215)](_0xcdb969=>_0xcdb969[_0x1135a7(0x29d)]||'')['filter'](Boolean);if(_0x3a947b[_0x1135a7(0x262)](_0x8f9323[_0x1135a7(0x28e)],0x0)){if(_0x3a947b['EdmUG'](_0x3a947b[_0x1135a7(0x1fa)],_0x3a947b[_0x1135a7(0x1fa)]))throw new _0x1d5884(_0x1135a7(0x24f)+_0x18c33d+_0x1135a7(0x250)+_0x4a074c);else _0x48c48c=_0x8f9323['join']('\x20');}}else throw new _0x14b294(_0x1135a7(0x234));}_0xdabc54=_0x48c48c;}if(_0x3a947b[_0x1135a7(0x29f)](_0xfdfdc3['type'],_0x3a947b['HqIEC'])){if(_0x3a947b['SJrbW'](_0xfdfdc3['subtype'],_0x1135a7(0x266))&&_0xfdfdc3['structured_output']){if(_0x3a947b[_0x1135a7(0x296)](_0x3a947b[_0x1135a7(0x236)],_0x3a947b[_0x1135a7(0x236)])){if(_0x29b8b2&&_0x3a947b[_0x1135a7(0x226)](_0x33ff36[_0x1135a7(0x249)]?.[_0x1135a7(0x28e)],0x0))_0x2148d4=_0x13686d,_0x15ff64=null;else!_0x4253b8&&(_0x49cd60=_0x33c4a8['errors']?.[_0x1135a7(0x28f)](',\x20')||_0x3a947b[_0x1135a7(0x2a7)]);}else _0x1dced7=_0xfdfdc3[_0x1135a7(0x1f7)];}else{if(_0xfdfdc3[_0x1135a7(0x2a4)]!==_0x3a947b[_0x1135a7(0x28d)]){if(_0x3888a9&&_0x3a947b[_0x1135a7(0x29f)](_0xfdfdc3['errors']?.['length'],0x0))_0x1dced7=_0x3888a9,_0xdabc54=null;else{if(!_0xdabc54){if(_0x3a947b[_0x1135a7(0x200)](_0x3a947b[_0x1135a7(0x24a)],_0x3a947b[_0x1135a7(0x24a)])){const _0x1cfff4=_0x7c263d[_0x1135a7(0x2bf)][_0x1135a7(0x295)][_0x1135a7(0x277)](_0x8dd86e=>_0x8dd86e[_0x1135a7(0x2b8)]===_0x1135a7(0x29d))[_0x1135a7(0x215)](_0x335faf=>_0x335faf[_0x1135a7(0x29d)]||'')[_0x1135a7(0x277)](_0x4c9d29);_0x3a947b[_0x1135a7(0x262)](_0x1cfff4['length'],0x0)&&(_0x97163f=_0x1cfff4[_0x1135a7(0x28f)]('\x20'));}else _0xdabc54=_0xfdfdc3[_0x1135a7(0x249)]?.['join'](',\x20')||_0x3a947b[_0x1135a7(0x2a7)];}}}}}}})()),_0x5caa95]);}catch(_0xbbefa5){_0x3a947b['JqapD']!==_0x46c46d(0x1f6)?_0x181d09=_0x254eb4[_0x46c46d(0x1f7)]:_0xdabc54=_0xbbefa5 instanceof Error?_0xbbefa5[_0x46c46d(0x2bf)]:_0x3a947b[_0x46c46d(0x28c)](String,_0xbbefa5);}const _0x5d795b=_0x3a947b['wpojL'](Date[_0x46c46d(0x201)](),_0x49dfa1);let _0x189828;try{if(_0x3a947b[_0x46c46d(0x257)](_0x3a947b[_0x46c46d(0x286)],_0x3a947b[_0x46c46d(0x286)]))for(const _0x4d7284 of _0x507048[_0x46c46d(0x2bf)][_0x46c46d(0x295)]){_0x3a947b[_0x46c46d(0x226)](_0x4d7284[_0x46c46d(0x2b8)],_0x46c46d(0x288))&&_0x3a947b[_0x46c46d(0x226)](_0x4d7284[_0x46c46d(0x2ba)],_0x3a947b['BKjFf'])&&_0x4d7284[_0x46c46d(0x21f)]&&(_0x25a47a=_0x4d7284['input']);}else{const _0x55c25f=_0x3a947b['UOBFk'](getTraceDirectory,_0x390c4d['id']);if(_0x3a947b[_0x46c46d(0x214)](existsSync,_0x55c25f)){const _0x293008=await _0x3a947b[_0x46c46d(0x279)](readdir,_0x55c25f);if(_0x3a947b['znJgy'](_0x293008[_0x46c46d(0x28e)],0x0)){if(_0x3a947b['yFRUX']===_0x3a947b[_0x46c46d(0x230)])throw new _0xef968d(_0x3a947b['TYIJZ']);else{const _0x13ef21=_0x3a947b[_0x46c46d(0x22b)](join,_0x55c25f,_0x3a947b[_0x46c46d(0x29c)]);if(_0x3a947b[_0x46c46d(0x2aa)](existsSync,_0x13ef21)){if('EGAmm'===_0x46c46d(0x24e)){const _0x408f36=await _0x3a947b[_0x46c46d(0x254)](zipDirectory,_0x13ef21),_0xbea4e3=_0x3a947b[_0x46c46d(0x25c)](computeChecksum,_0x408f36),_0x4a2532=await _0x3a947b[_0x46c46d(0x22f)](getUploadUrls,_0x390c4d['id'],_0x3a947b['SqjjM'],_0x3a947b[_0x46c46d(0x1f0)],{'size':_0x408f36[_0x46c46d(0x28e)],'checksum':_0xbea4e3});await _0x3a947b['DAtFz'](uploadTrace,_0x4a2532[_0x46c46d(0x2af)],_0x408f36),_0x189828=_0x4a2532[_0x46c46d(0x244)];}else throw new _0x4fe135(_0x46c46d(0x283)+_0x6c9058+_0x46c46d(0x2b2)+_0x4e1506+_0x46c46d(0x20e));}const _0x4dfb3f=_0x293008[_0x46c46d(0x277)](_0x1e2b62=>_0x1e2b62[_0x46c46d(0x1e7)]()[_0x46c46d(0x27b)](_0x46c46d(0x270)));for(const _0x24103d of _0x4dfb3f){try{if(_0x3a947b[_0x46c46d(0x259)]!==_0x3a947b[_0x46c46d(0x259)]){const _0x27df23='4|5|1|2|3|0'[_0x46c46d(0x271)]('|');let _0x3bc36f=0x0;while(!![]){switch(_0x27df23[_0x3bc36f++]){case'0':_0x5808d8[_0x46c46d(0x1e3)]=_0x19da8d;continue;case'1':_0x37e329['sessionDir']=_0x3a947b['FSWWY'](_0x11bcbe,_0x7f3850['id']);continue;case'2':_0x33c899['durationMs']=_0x4f4663;continue;case'3':_0xdcb15a[_0x46c46d(0x287)]=_0x39f323;continue;case'4':_0x15545b[_0x46c46d(0x25b)]=_0x3a947b['dRYNe'](_0x2cb9d1,_0x5cfdc9);continue;case'5':_0x49687f[_0x46c46d(0x246)]=_0x26d621['id'];continue;}break;}}else{const _0xe1f5c7=_0x3a947b[_0x46c46d(0x24d)](join,_0x55c25f,_0x24103d),_0x3369b2=await _0x3a947b[_0x46c46d(0x210)](readFile,_0xe1f5c7),_0x269186=_0x3a947b[_0x46c46d(0x254)](computeChecksum,_0x3369b2),_0x1c56eb=await _0x3a947b[_0x46c46d(0x22f)](getUploadUrls,_0x390c4d['id'],_0x24103d,_0x46c46d(0x2c1),{'size':_0x3369b2[_0x46c46d(0x28e)],'checksum':_0x269186});await _0x3a947b[_0x46c46d(0x1ff)](uploadScreenshot,_0x1c56eb[_0x46c46d(0x2af)],_0x3369b2);}}catch{}}}}}!_0x5b01c4&&(_0x3a947b['dVXNs'](_0x46c46d(0x27d),_0x3a947b[_0x46c46d(0x247)])?_0x1b04cb(new _0x5a9678(_0x3a947b[_0x46c46d(0x27a)])):_0x5b01c4=await _0x3a947b['nZdes'](uploadConversationArtifact,_0x390c4d['id'],_0x1ebe83));const _0x53582c=_0x1dced7,_0x4a6323={'status':_0xdabc54?_0x3a947b['cIrVK']:_0x46c46d(0x24b),'durationMs':_0x5d795b,'agentResponse':_0x53582c?.[_0x46c46d(0x27e)]||_0xdabc54||undefined,'errorMessage':_0x3a947b[_0x46c46d(0x238)](_0xdabc54,undefined)};await _0x3a947b[_0x46c46d(0x2b1)](updateBrowserSession,_0x390c4d['id'],_0x4a6323),_0x3a947b[_0x46c46d(0x29a)](_0x53582c,_0x189828)&&(_0x53582c[_0x46c46d(0x25b)]=_0x3a947b['FSWWY'](buildTraceViewerUrl,_0x189828),_0x53582c[_0x46c46d(0x246)]=_0x390c4d['id'],_0x53582c[_0x46c46d(0x278)]=_0x3a947b[_0x46c46d(0x25f)](getTraceDirectory,_0x390c4d['id']),_0x53582c['durationMs']=_0x5d795b,_0x53582c['task']=_0x13aeb1,_0x53582c[_0x46c46d(0x1e3)]=_0x180979);}}catch{}if(_0x3a947b[_0x46c46d(0x29a)](_0xdabc54,!_0x1dced7)){if(_0x3a947b['dVXNs'](_0x3a947b[_0x46c46d(0x2c2)],_0x3a947b[_0x46c46d(0x297)]))return![];else throw new Error(_0x46c46d(0x211)+_0xdabc54);}if(!_0x1dced7){if(_0x3a947b[_0x46c46d(0x2b3)]==='FPOfi')throw new Error(_0x3a947b[_0x46c46d(0x225)]);else{if(_0x50a91a){const _0x3e9091=_0x7ad31b[_0x46c46d(0x23f)](_0x431081,arguments);return _0x417844=null,_0x3e9091;}}}return _0x1dced7;}finally{!_0x5b01c4&&(_0x5b01c4=await _0x3a947b[_0x46c46d(0x269)](uploadConversationArtifact,_0x390c4d['id'],_0x1ebe83));await _0x3a947b[_0x46c46d(0x1e9)](cleanupTempFiles,_0x4c049f);try{const _0x2e975d=_0x3a947b[_0x46c46d(0x23b)](getTraceDirectory,_0x390c4d['id']);if(_0x3a947b['caMmc'](existsSync,_0x2e975d)){if(_0x3a947b['QRWbR']===_0x3a947b['QRWbR'])await _0x3a947b[_0x46c46d(0x1ed)](rm,_0x2e975d,{'recursive':!![],'force':!![]});else return![];}}catch{}try{_0x3a947b[_0x46c46d(0x1f4)](existsSync,_0x2b52f6)&&await _0x3a947b['VuPqQ'](rm,_0x2b52f6,{'recursive':!![],'force':!![]});}catch{}}}
1
+ (function(_0x3885fc,_0x21c1fb){const _0x30b982=_0x5227,_0x5f2646=_0x3885fc();while(!![]){try{const _0x51a1ab=parseInt(_0x30b982(0x23d))/0x1*(-parseInt(_0x30b982(0x204))/0x2)+-parseInt(_0x30b982(0x1ca))/0x3+parseInt(_0x30b982(0x27a))/0x4+-parseInt(_0x30b982(0x241))/0x5+parseInt(_0x30b982(0x1cd))/0x6*(-parseInt(_0x30b982(0x24a))/0x7)+parseInt(_0x30b982(0x256))/0x8*(-parseInt(_0x30b982(0x1e6))/0x9)+parseInt(_0x30b982(0x1eb))/0xa;if(_0x51a1ab===_0x21c1fb)break;else _0x5f2646['push'](_0x5f2646['shift']());}catch(_0x1ae07a){_0x5f2646['push'](_0x5f2646['shift']());}}}(_0x5432,0x39cac));const _0x3be8d4=(function(){const _0x24a0ff=_0x5227,_0x1fcf16={'dMdHL':'heuae','fNTDz':_0x24a0ff(0x1ee)};let _0x4a1f5c=!![];return function(_0xe3eb5b,_0x22db33){const _0x40931e=_0x24a0ff;if(_0x1fcf16[_0x40931e(0x216)]===_0x1fcf16['fNTDz'])_0x29042b=_0x580511,_0x2ca3ed=null;else{const _0x31bcbb=_0x4a1f5c?function(){const _0x3e079c=_0x40931e;if(_0x22db33){const _0x50ca03=_0x22db33[_0x3e079c(0x22b)](_0xe3eb5b,arguments);return _0x22db33=null,_0x50ca03;}}:function(){};return _0x4a1f5c=![],_0x31bcbb;}};}()),_0x47c062=_0x3be8d4(this,function(){const _0x1ae1c0=_0x5227;return _0x47c062[_0x1ae1c0(0x1b3)]()['search'](_0x1ae1c0(0x259))[_0x1ae1c0(0x1b3)]()[_0x1ae1c0(0x1f1)](_0x47c062)['search']('(((.+)+)+)+$');});_0x47c062();import{query}from'@anthropic-ai/claude-agent-sdk';import{join,dirname}from'path';import{readFile,readdir,appendFile,mkdir,rm}from'fs/promises';function _0x5432(){const _0x3561de=['yLDSBvu','CLz6Be8','uezruMm','BNb4','rwXezLe','mti4mdzUA3LsvNG','CK9ZCK0','tujSrvK','y09rDK0','BePKEKG','BM93','t2Hewgm','s3fIs0q','ALzWCvO','vLzSBha','Dg9mB3DLCKnHC2u','qMLLr2G','y2qGiG','y29TCgXLDgvK','tufkt1i','CMfJzq','s2PKANu','BufpvNG','ze1KseW','EM5ktvq','vM10ugy','BNPLDxy','zurSA0C','B0fSzKy','EuD4wfe','BezwENe','cLvstdOG','BxDjENC','Cg5N','C3vJy2vZCW','yxnZAxn0yw50','cKnssvrjq0fmieLou1rsvunusu9ouZOkms4GtMf2AwDHDguGDg8GDgHLifvstcbHyM92zsb1C2LUzYbICM93C2vYx25HDMLNyxrLcJiUifrHA2uGysbZBMfWC2HVDcb3AxrOigjYB3DZzxjFC25HChnOB3qGDg8GC2vLihrOzsbWywDLcJmUiev4zwn1DguGDgHLihrHC2SGC3rLCc1IEs1ZDgvWihvZAw5NigjYB3DZzxiGDg9VBhmknc4GswyGEw91igzPBMqGqu5zigj1z3mSihjLCg9YDcbPBw1LzgLHDgvSEsb3AxrOihnLDMvYAxr5cJuUifjLDhvYBIb5B3vYigzPBMrPBMDZigLUihrOzsbZDhj1y3r1CMvKig91Dhb1DcbMB3jTyxqkcLLVDxiGDgfZAZOG','rNv2DhO','shfyvw0','ufbhuLO','AgLztxq','wMXYs2i','CM0GiG','vMvYAwzPy2f0Aw9UigzHAwXLzdOG','yxbWBhK','wfzsr2m','DxL5rxq','wwLtyNi','q2LwELK','y29UzMLNugf0Aa','Bg9N','DMrxEee','wvHrvwi','rxvXDMG','AxnbCNjHEq','tM8GqvbjihrVA2vUignVBMzPz3vYzwqUifj1BJOGCMfUz2vYihnLDhvWifT0B2TLBL0','cGPbzNrLCIbJB21WBgv0Aw5Nigf1DgHLBNrPy2f0Aw9UlcbWCM9JzwvKihDPDgGGDgHLihzLCMLMAwnHDgLVBIb0yxnRigjLBg93lGPjzIbHDxrOzw50AwnHDgLVBIbMywLSCYWGCMvWB3j0igL0igLTBwvKAwf0zwX5igfZigeGyMXVy2TLCI4kcG','uezMB0y','qKPyDKW','D250qwq','zxjZA3a','EwHvshq','mtjNAgvSCLK','EfHxyue','qhjHBMDLCI10zxn0Aw5Nl3bSyxL3CMLNAhq','t2XXwvK','mtuZmJu4mhHdwfndta','qMr1sxy','yMfZzvvYBa','Duniv0O','yxjYyxK','tuLot1i','DhjHy2vZ','DvPLCw8','qvngBNe','n2rbtuTjBG','CNvUlw1JCc1Zzxj2zxi','C2vZC2LVBKrPCG','vg5oqwe','B2jQzwn0','Afzpsg4','DhjHy2vwAwv3zxjvCMW','DxrMltG','zfLhzxG','DKPnC3i','AhrMze0','v0zIuwC','ohH6ugHyBW','zw52','DhjHy2uTDxbSB2fKlNPPCa','kcGOlISPkYKRksSK','u0vcsuC','tM8GCMvZDwX0ihjLy2vPDMvKigzYB20GywDLBNq','q3b6vLK','iIaMjIb6AxaGlxiGiG','tvDergG','Aw5WDxq','u3D5sNq','rKrsqLy','B09SzNm','qu9nrxi','zw5KC1DPDgG','rhrcC1G','t1LwDLm','wMHLvMy','y29UDgvUDa','zMfPBgvK','y29UDMvYC2f0Aw9UlMPZB25S','BwHkAwS','DeXZt0i','Dgv4Da','Bg9NAw5jBNn0CNvJDgLVBNm','BwvZC2fNzq','B21XBu0','nhW1Fdf8mhWZFdi','CNPtBhG','Bez6A0y','zer5A3G','DxjS','zvHTwM8','BxzWq04','cI0Gww91ig1HEsbptKXzig5HDMLNyxrLihrVihbHDgHZihvUzgvYihrOAxmGyMfZzsbvuKWGkhnHBwuGChjVDg9JB2WSigHVC3qSigfUzcbWB3j0kqOTiezVCIbLEgfTCgXLlcbPzIb0AguGyMfZzsbvuKWGAxmGiMH0Dha6lY9SB2nHBgHVC3q6mZaWmciSihLVDsbJyw4GBMf2AwDHDguGDg8GiMH0Dha6lY9SB2nHBgHVC3q6mZaWmc9OB21LiIWGiMH0Dha6lY9SB2nHBgHVC3q6mZaWmc9Zzxr0Aw5NCYiSigv0yY4klsbetYbot1qGBMf2AwDHDguGDg8Gyw55igrPzMzLCMvUDcbKB21HAw4SigHVC3qSig9YihbVCNqGDw5KzxiGyw55ignPCMn1Bxn0yw5Jzxmklsbjr05puKuGyw55ifvsthmGzNjVBsbWCM9KDwn0igrVy3vTzw50yxrPB24Gkg1JCf9FCMfUz2vYx19NzxrFChjVzhvJDf9KB2nZksb0Agf0igHHDMuGysbKAwzMzxjLBNqGyMfZzsbvuKWklsbjzIbKB2n1BwvUDgf0Aw9Uig9YignVzguGzgLMzNmGC3vNz2vZDcbHihbHDgGGzxHPC3rZicHLlMCUlcaIl2rHC2HIB2fYzciPlcb5B3uGBwf5ig5HDMLNyxrLihrVihrOyxqGCgf0AcbptKXzihvUzgvYihrOzsbIyxnLifvstcbHyM92zqOTifrOzsbIyxnLifvstcbHyM92zsbPCYb0AguGt05mwsbHDxrOB3jPEMvKigvUDMLYB25Tzw50igzVCIb0AgLZihzLCMLMAwnHDgLVBGO','zLfzB2W','nJyZndi4y2zZtfPW','C2v2zxjPDhK','s3nJA0m','BMfTzq','tLj0DMu','vuLnsxO','zxjYB3i','CK1nt0q','zMLSDgvY','tM8GyMfZzvvYBcbJB25MAwD1CMvKigzVCIbWCM9MAwXLici','BgvUz3rO','u3rYDwn0DxjLze91Dhb1Da','AM9PBG','zxjYB3jZ','sgD1A0i','Dg9tDhjPBMC','vgTtD3O','qwDLBNqGzxHLy3v0Aw9UihrPBwvKig91DcbHzNrLCIa1osbTAw51DgvZ','rMfPBgvKihrVigzLDgnOihbYB3H5ihnLC3nPB24GDg9Rzw4Uia','qKXpq0TfuG','vLrnCNu','uhjVzMLSzsaI','C3rYDwn0DxjLzf9VDxrWDxq','DgfZAW','C3rYAw5N','zhvYyxrPB25nCW','qvrJzui','DhLWzq','C2vZC2LVBNm','u25ftwK','iIbUB3qGzM91BMqUifj1BJOGCMfUz2vYihbYB2zPBguGywrKia','iIaU','zvHnshK','s3nXvfy','t3rSqw4','vNvqEuO','Ee9UtNq','cKfvveHftLrjq0fusu9oic0GuKvrvuLsruqGqKvgt1jfifnuqvjusu5hoGPcruzpuKuGzg9PBMCGyw55DgHPBMCGzwXZzsWGEw91ie1vu1qGyxv0AgvUDgLJyxrLihvZAw5NihrOzxnLihn0zxbZoGO','mtq3nduWyM92ugPM','vhPzq2y','DMTtqNm','nde1otKYwKzuwMLo','ls1JB25MAwC','y3DK','C3rYAw5NAwz5','C2vHCMnO','iI4GuNvUoIbYyw5NzxiGChjVzMLSzsbJB25MAwCGC2v0ia','BwXiwMi','DfjZsxe','zurOs2G','DMDIvKO','ueDuzwi','r3PRuMO','C3vIDhLWzq','ANnVBL9Zy2HLBwe','s1vSDLa','wvLnDLy','ru1hrKS','EwDOC3G','wgDdEuK','wK51C1u','rNrfzLK','BhDZEvO','EMLW','DxbSB2fKvxjS','AgHoBfm','mJiWnJC3m2HdsurvrG','yNLWyxnZugvYBwLZC2LVBNm','z2PKuwm','DLjxrNm','vgn2rKW','ode3odKWmgHrD2fjvW','zM5PBgO','AhfWz0m','Cwz3qLu','CMfUz2vYlwjYB3DZzxiTC2vZC2LVBNm','igjHC2vvCMWGphvYBd4','y29UC3rYDwn0B3i','uNnns1C','C3bSAxq','D0nsuNu','C2H3seS','uLneAeG','BxbMCuO','Dg9VBf91C2u','y2XHDwrLlw9WDxmTnc01','DhvVsKK','ww91igfYzsbHifvjifzLCMLMAwvYlIbzB3vYie9otfKGAM9IigLZihrVignSAwnRihrOCM91z2GGysbvssbMBg93igfUzcbYzxbVCNqGyNvNCYbPBw1LzgLHDgvSEsb3AgvUigzVDw5KlGOkq1jjveLdquWGvvjmifjfuvvjuKvnru5uoGPzB3vYigjHC2uGvvjmigLZoIa','z2Lrwva','qNjVD3nLCIbZzxnZAw9UignYzwf0zwq6ia','vNPMruO'];_0x5432=function(){return _0x3561de;};return _0x5432();}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';import{readActiveProfileName}from'./utils/activeProfile.js';import{createMcpImageBase64Hook}from'./utils/mcpImageBase64.js';function _0x5227(_0x2ca1ba,_0x58e9f9){_0x2ca1ba=_0x2ca1ba-0x1ac;const _0x42f682=_0x5432();let _0x47c062=_0x42f682[_0x2ca1ba];if(_0x5227['GFeFjb']===undefined){var _0x3be8d4=function(_0x3f2c04){const _0x5d86e3='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x27241f='',_0x3f4b74='',_0x1df9b1=_0x27241f+_0x3be8d4;for(let _0x34241e=0x0,_0x5e0f9b,_0x576e2b,_0x234c4e=0x0;_0x576e2b=_0x3f2c04['charAt'](_0x234c4e++);~_0x576e2b&&(_0x5e0f9b=_0x34241e%0x4?_0x5e0f9b*0x40+_0x576e2b:_0x576e2b,_0x34241e++%0x4)?_0x27241f+=_0x1df9b1['charCodeAt'](_0x234c4e+0xa)-0xa!==0x0?String['fromCharCode'](0xff&_0x5e0f9b>>(-0x2*_0x34241e&0x6)):_0x34241e:0x0){_0x576e2b=_0x5d86e3['indexOf'](_0x576e2b);}for(let _0x3af5c3=0x0,_0x2bf66a=_0x27241f['length'];_0x3af5c3<_0x2bf66a;_0x3af5c3++){_0x3f4b74+='%'+('00'+_0x27241f['charCodeAt'](_0x3af5c3)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x3f4b74);};_0x5227['uPAmMz']=_0x3be8d4,_0x5227['yhcFDR']={},_0x5227['GFeFjb']=!![];}const _0x5432b1=_0x42f682[0x0],_0x52278d=_0x2ca1ba+_0x5432b1,_0x271192=_0x5227['yhcFDR'][_0x52278d];if(!_0x271192){const _0x1a59c7=function(_0x57b3e0){this['XPaYlr']=_0x57b3e0,this['ldOryD']=[0x1,0x0,0x0],this['WUPqhw']=function(){return'newState';},this['iZeNAF']='\x5cw+\x20*\x5c(\x5c)\x20*{\x5cw+\x20*',this['VUJkza']='[\x27|\x22].+[\x27|\x22];?\x20*}';};_0x1a59c7['prototype']['drOdmh']=function(){const _0x441318=new RegExp(this['iZeNAF']+this['VUJkza']),_0x5493bd=_0x441318['test'](this['WUPqhw']['toString']())?--this['ldOryD'][0x1]:--this['ldOryD'][0x0];return this['OqCKQh'](_0x5493bd);},_0x1a59c7['prototype']['OqCKQh']=function(_0x51e253){if(!Boolean(~_0x51e253))return _0x51e253;return this['sTaVFp'](this['XPaYlr']);},_0x1a59c7['prototype']['sTaVFp']=function(_0x179832){for(let _0x4e103b=0x0,_0x549c79=this['ldOryD']['length'];_0x4e103b<_0x549c79;_0x4e103b++){this['ldOryD']['push'](Math['round'](Math['random']())),_0x549c79=this['ldOryD']['length'];}return _0x179832(this['ldOryD'][0x0]);},new _0x1a59c7(_0x5227)['drOdmh'](),_0x47c062=_0x5227['uPAmMz'](_0x47c062),_0x5227['yhcFDR'][_0x52278d]=_0x47c062;}else _0x47c062=_0x271192;return _0x47c062;}async function zipDirectory(_0x3e5473){const _0x204866=_0x5227,_0x5a5422={'TcvFL':function(_0x570b9a,_0x82a176,_0x3ad2fd,_0x39c661){return _0x570b9a(_0x82a176,_0x3ad2fd,_0x39c661);},'dYGex':_0x204866(0x258),'KsqTV':function(_0x2ae0a2,_0x286bf7,_0x4caa8e){return _0x2ae0a2(_0x286bf7,_0x4caa8e);},'Euqvh':'pipe','UIMIz':function(_0x2cca55,_0x500d64){return _0x2cca55(_0x500d64);},'OlqYY':function(_0x35a589,_0x238884,_0x5d9108){return _0x35a589(_0x238884,_0x5d9108);}},_0x554916=_0x5a5422[_0x204866(0x1ea)](join,_0x3e5473,'..',_0x5a5422[_0x204866(0x252)]);_0x5a5422[_0x204866(0x1c5)](execSync,_0x204866(0x210)+_0x3e5473+_0x204866(0x25d)+_0x554916+_0x204866(0x1c3),{'stdio':_0x5a5422[_0x204866(0x234)]});const _0x5677c9=await _0x5a5422[_0x204866(0x27f)](readFile,_0x554916);return _0x5a5422[_0x204866(0x240)](execSync,_0x204866(0x229)+_0x554916+'\x22',{'stdio':_0x5a5422[_0x204866(0x234)]}),_0x5677c9;}function getTraceDirectory(_0x2692ab){const _0x219c8f=_0x5227,_0xa7a552={'AOMEr':function(_0x526502,_0x237dbe,_0x36c117,_0x4ad15f){return _0x526502(_0x237dbe,_0x36c117,_0x4ad15f);},'KsckC':function(_0x5ad4f7){return _0x5ad4f7();},'tuoJI':_0x219c8f(0x1c0)};return _0xa7a552[_0x219c8f(0x263)](join,_0xa7a552[_0x219c8f(0x27c)](getRangerDir),_0xa7a552[_0x219c8f(0x1fa)],_0x2692ab);}function getConversationFilePath(_0x281f9f){const _0x4739f7=_0x5227,_0x2fd0f5={'KqbKD':function(_0x59747c,_0x4a60c1,_0xaed72f,_0x5720ae,_0x41e60f){return _0x59747c(_0x4a60c1,_0xaed72f,_0x5720ae,_0x41e60f);},'NRtve':function(_0x2dec6d){return _0x2dec6d();},'uZeqo':_0x4739f7(0x1ef),'fnilj':_0x4739f7(0x26a)};return _0x2fd0f5[_0x4739f7(0x20b)](join,_0x2fd0f5[_0x4739f7(0x27e)](tmpdir),_0x2fd0f5[_0x4739f7(0x248)],_0x281f9f,_0x2fd0f5[_0x4739f7(0x1ec)]);}async function uploadConversationArtifact(_0x3a51c6,_0x4c40a6){const _0x1dc432=_0x5227,_0x656bcf={'HgukB':function(_0x3946fa,_0x285cc9){return _0x3946fa(_0x285cc9);},'mlHZb':function(_0x54b43b,_0x4ce502){return _0x54b43b(_0x4ce502);},'FDRBV':function(_0x4addc5,_0x8d6cab,_0x5f43a3,_0xdc8e3e,_0x1b539e){return _0x4addc5(_0x8d6cab,_0x5f43a3,_0xdc8e3e,_0x1b539e);},'htfdM':_0x1dc432(0x26a),'OtlAn':'jsonl','OhDXc':function(_0x38d0c1,_0x49cada,_0x1eb7ca){return _0x38d0c1(_0x49cada,_0x1eb7ca);}};if(!_0x656bcf[_0x1dc432(0x1b2)](existsSync,_0x4c40a6))return![];try{const _0x3598f3=await _0x656bcf[_0x1dc432(0x1d3)](readFile,_0x4c40a6),_0x1a2648=computeChecksum(_0x3598f3),_0x169eea=await _0x656bcf[_0x1dc432(0x261)](getUploadUrls,_0x3a51c6,_0x656bcf[_0x1dc432(0x254)],_0x656bcf[_0x1dc432(0x1c6)],{'size':_0x3598f3[_0x1dc432(0x1ae)],'checksum':_0x1a2648});return await _0x656bcf[_0x1dc432(0x20a)](uploadConversation,_0x169eea[_0x1dc432(0x1e4)],_0x3598f3),!![];}catch{return![];}}export async function verifyInBrowser(_0x561dd1,_0x2fd947={}){const _0xbf2da4=_0x5227,_0x3ad79b={'wCRRu':function(_0x34d389,_0x59ebe0){return _0x34d389===_0x59ebe0;},'yghsx':_0xbf2da4(0x1af),'OYVvS':function(_0x37a0a0,_0x3f35c8,_0x5df6b0,_0x1c2765){return _0x37a0a0(_0x3f35c8,_0x5df6b0,_0x1c2765);},'PFfoF':function(_0x30e160){return _0x30e160();},'mpfqJ':_0xbf2da4(0x1c0),'hhNlS':'Unknown\x20error','vkSBs':_0xbf2da4(0x21a),'KUlvP':function(_0x29d83a,_0x5690f9){return _0x29d83a(_0x5690f9);},'lJdzH':function(_0x3298c5,_0x2c10ca,_0x296c3e){return _0x3298c5(_0x2c10ca,_0x296c3e);},'vJMsr':function(_0x37c1aa,_0x316c32){return _0x37c1aa===_0x316c32;},'SEBIG':_0xbf2da4(0x1f8),'VuPyJ':function(_0x5dd53e,_0x32f269){return _0x5dd53e(_0x32f269);},'SnEMi':'Agent\x20execution\x20timed\x20out\x20after\x2059\x20minutes','VTMru':function(_0x31f565,_0x532987){return _0x31f565 instanceof _0x532987;},'gtkXP':_0xbf2da4(0x236),'CiVzY':function(_0x11af3d,_0x28bed9){return _0x11af3d>_0x28bed9;},'BduIv':function(_0x419624,_0x27d772){return _0x419624!==_0x27d772;},'HqXUm':'giQYP','MWDDh':function(_0x23a808,_0x104325){return _0x23a808===_0x104325;},'MBlEY':_0xbf2da4(0x23e),'WdLBu':function(_0x56d7f6,_0x373966){return _0x56d7f6+_0x373966;},'QROOd':function(_0x58caef,_0x52b117,_0x47173f,_0x51438c){return _0x58caef(_0x52b117,_0x47173f,_0x51438c);},'erskp':_0xbf2da4(0x251),'CpzVY':function(_0x203bb2,_0x1e8d94){return _0x203bb2===_0x1e8d94;},'RSDhH':_0xbf2da4(0x22d),'GgYoQ':'hSiwx','GzkRj':_0xbf2da4(0x203),'vgbVJ':'sPNWi','znJMT':_0xbf2da4(0x1f5),'yGxXQ':_0xbf2da4(0x1dd),'wntAd':'owGZi','cOQvM':'success','omqmM':_0xbf2da4(0x239),'zOUxX':function(_0x56d1df,_0x3aa2b9){return _0x56d1df===_0x3aa2b9;},'PPGRZ':'(((.+)+)+)+$','lFVzq':function(_0x35017e,_0x2e5432,_0x29f19b,_0x5e707f,_0x38453b){return _0x35017e(_0x2e5432,_0x29f19b,_0x5e707f,_0x38453b);},'TnNAa':'conversation.jsonl','Kjdju':function(_0x324282,_0x22eb55){return _0x324282===_0x22eb55;},'mvpCN':_0xbf2da4(0x1dc),'RsMKW':_0xbf2da4(0x20d),'ZlrKb':'No\x20active\x20profile.\x20Run:\x20ranger\x20profile\x20use\x20<profile-name>','VzfEJ':function(_0x2c0399,_0x3e3834){return _0x2c0399(_0x3e3834);},'gjdQc':function(_0x320c9c,_0x1a300b){return _0x320c9c(_0x1a300b);},'BieGh':function(_0x5a2ea0,_0x1735ce){return _0x5a2ea0(_0x1735ce);},'PFQRc':function(_0x35ba95){return _0x35ba95();},'ZheVf':_0xbf2da4(0x20c),'AJLys':_0xbf2da4(0x202),'rMMOD':_0xbf2da4(0x1ce),'XgCyI':_0xbf2da4(0x279),'mwIzw':function(_0x34eaa7,_0x3f51bb,_0x4d7941){return _0x34eaa7(_0x3f51bb,_0x4d7941);},'mhJik':_0xbf2da4(0x269),'VmtPf':_0xbf2da4(0x24e),'YXQUb':_0xbf2da4(0x1bc),'lwsyZ':_0xbf2da4(0x245),'QEuFF':_0xbf2da4(0x212),'PYeMX':_0xbf2da4(0x246),'FtEfY':_0xbf2da4(0x27b),'ATceB':'description','qLQUW':'summary','mAOVx':_0xbf2da4(0x1f9),'uCHWJ':'mcp__ranger-browser__*','TzYCf':'Bash','dZdiT':_0xbf2da4(0x1da),'hqpgC':function(_0x350818,_0x50217f){return _0x350818(_0x50217f);},'ASFnq':function(_0x2d7248,_0x59039b){return _0x2d7248*_0x59039b;},'GysNn':function(_0x7d38e6,_0x4904a0){return _0x7d38e6(_0x4904a0);},'oAlfF':function(_0x197a9a,_0x53c5fc){return _0x197a9a(_0x53c5fc);},'TkSwz':_0xbf2da4(0x1e3),'PGTeb':function(_0x1f627f,_0x906e6c){return _0x1f627f(_0x906e6c);},'RrSTB':_0xbf2da4(0x220),'lgYVv':_0xbf2da4(0x260),'eqJdY':function(_0x285921,_0x7abbf0){return _0x285921||_0x7abbf0;},'rVzlO':function(_0x408d4f,_0x4d794a){return _0x408d4f&&_0x4d794a;},'WFbQg':_0xbf2da4(0x1c4),'hiYMt':_0xbf2da4(0x271),'yhUHt':function(_0x5eaf12,_0x4d5587){return _0x5eaf12(_0x4d5587);},'tLsOB':function(_0x4bb09a,_0x1cc3b7){return _0x4bb09a(_0x1cc3b7);},'hVOHn':function(_0x236a69,_0x47ae63){return _0x236a69&&_0x47ae63;},'hlELy':function(_0x22fcb9,_0xa89232){return _0x22fcb9!==_0xa89232;},'rzSlx':_0xbf2da4(0x224),'YiSbr':_0xbf2da4(0x25b),'vRWFs':function(_0x25780a,_0x42d994,_0x6d244c){return _0x25780a(_0x42d994,_0x6d244c);},'eXmZo':function(_0x57bb2f,_0x1ba7c0){return _0x57bb2f(_0x1ba7c0);}},{env:_0x2aaaf8,headed:headed=![]}=_0x2fd947;let _0x597a5d=_0x2aaaf8||await _0x3ad79b[_0xbf2da4(0x238)](readActiveProfileName);if(!_0x597a5d){if(_0x3ad79b[_0xbf2da4(0x214)](_0x3ad79b[_0xbf2da4(0x277)],_0x3ad79b[_0xbf2da4(0x1f2)]))throw new _0x4fad5d(_0xbf2da4(0x22a)+_0x735ad3);else throw new Error(_0x3ad79b[_0xbf2da4(0x228)]);}const _0x5d1df9=_0x3ad79b[_0xbf2da4(0x1fe)](getEnvDir,_0x597a5d);if(!existsSync(_0x5d1df9))throw new Error(_0xbf2da4(0x1b9)+_0x597a5d+_0xbf2da4(0x1c2)+_0x597a5d);const _0x3484d9=await _0x3ad79b[_0xbf2da4(0x1e8)](loadSettings,_0x597a5d),_0x3944b3=_0x3ad79b['BieGh'](resolveEnvVars,_0x3484d9),_0x386219=_0x3944b3[_0xbf2da4(0x243)];if(!_0x386219)throw new Error('No\x20baseUrl\x20configured\x20for\x20profile\x20\x22'+_0x597a5d+'\x22.\x20Run:\x20ranger\x20profile\x20config\x20set\x20'+_0x597a5d+_0xbf2da4(0x1f0));const _0x5b3951=await _0x3ad79b['PFQRc'](getToken);if(!_0x5b3951){if(_0x3ad79b[_0xbf2da4(0x267)]===_0x3ad79b[_0xbf2da4(0x267)])throw new Error(_0x3ad79b['gtkXP']);else for(const _0x5b6ce2 of _0x3df58a[_0xbf2da4(0x26f)]['content']){_0x5b6ce2['type']===_0xbf2da4(0x1f8)&&_0x3ad79b['wCRRu'](_0x5b6ce2[_0xbf2da4(0x27d)],_0x3ad79b['yghsx'])&&_0x5b6ce2[_0xbf2da4(0x25f)]&&(_0x13118e=_0x5b6ce2['input']);}}const _0x42fd06=await createBrowserSession({'environmentName':_0x597a5d,'settings':_0x3944b3,'task':_0x561dd1,'url':_0x386219});console[_0xbf2da4(0x231)](_0xbf2da4(0x1fd)+_0x42fd06['id']);const _0x33cd95=await _0x3ad79b[_0xbf2da4(0x21d)](buildPlaywrightConfig,_0x3944b3,_0x597a5d,_0x42fd06?.['id'],headed),_0x2c327c={'command':_0x3ad79b['AJLys'],'args':[_0xbf2da4(0x23f),_0xbf2da4(0x24b),_0x3ad79b[_0xbf2da4(0x281)],_0x33cd95[_0xbf2da4(0x230)]]},_0x4b9e22=Date[_0xbf2da4(0x209)]();let _0x14331d;try{_0x14331d=await _0x3ad79b[_0xbf2da4(0x201)](getProxySessionToken);}catch(_0x46751a){if(_0x3ad79b['zOUxX']('fQYol',_0x3ad79b[_0xbf2da4(0x1df)])){const _0x3068ec=_0x3ad79b['VTMru'](_0x46751a,Error)?_0x46751a[_0xbf2da4(0x26f)]:String(_0x46751a),_0x327c5e=_0xbf2da4(0x1b6)+_0x3068ec;try{await _0x3ad79b[_0xbf2da4(0x21f)](updateBrowserSession,_0x42fd06['id'],{'status':_0x3ad79b[_0xbf2da4(0x26b)],'durationMs':Date[_0xbf2da4(0x209)]()-_0x4b9e22,'errorMessage':_0x327c5e});}catch{}throw new Error(_0x327c5e);}else return _0x3ad79b[_0xbf2da4(0x266)](_0x50c82f,_0x3ad79b['PFfoF'](_0x4b9d61),_0x3ad79b[_0xbf2da4(0x1f7)],_0x4da59c);}const _0x513214=_0x3944b3[_0xbf2da4(0x26e)]?_0xbf2da4(0x1c9)+_0x3944b3[_0xbf2da4(0x26e)]+_0xbf2da4(0x237):'',_0xe9a00c=_0xbf2da4(0x1fb)+_0x386219+_0xbf2da4(0x278)+_0x513214+_0xbf2da4(0x223)+_0x561dd1+_0xbf2da4(0x21e)+_0x386219,_0x4d1ea3={'type':_0x3ad79b[_0xbf2da4(0x218)],'properties':{'success':{'type':'boolean'},'summary':{'type':_0x3ad79b[_0xbf2da4(0x233)]},'issues':{'type':_0x3ad79b[_0xbf2da4(0x1e2)],'items':{'type':_0x3ad79b[_0xbf2da4(0x218)],'properties':{'severity':{'type':_0x3ad79b[_0xbf2da4(0x233)],'enum':[_0xbf2da4(0x1b7),_0x3ad79b['QEuFF'],_0x3ad79b['PYeMX']]},'description':{'type':_0x3ad79b[_0xbf2da4(0x233)]},'screenshot':{'type':_0xbf2da4(0x1bc)}},'required':[_0x3ad79b[_0xbf2da4(0x1e1)],_0x3ad79b[_0xbf2da4(0x1be)]]}},'screenshots':{'type':_0x3ad79b[_0xbf2da4(0x1e2)],'items':{'type':_0xbf2da4(0x1bc)}}},'required':[_0x3ad79b[_0xbf2da4(0x207)],_0x3ad79b['qLQUW']]},_0x2119a1=_0x3ad79b[_0xbf2da4(0x238)](createMcpImageBase64Hook),_0x1664d4=_0x3ad79b[_0xbf2da4(0x1c7)](query,{'prompt':_0xe9a00c,'options':{'cwd':process[_0xbf2da4(0x1cf)](),'model':_0x3ad79b[_0xbf2da4(0x215)],'mcpServers':{'ranger-browser':_0x2c327c},'tools':[_0x3ad79b[_0xbf2da4(0x244)],_0x3ad79b[_0xbf2da4(0x1cb)]],'permissionMode':_0xbf2da4(0x1e7),'allowDangerouslySkipPermissions':!![],'outputFormat':{'type':_0x3ad79b['dZdiT'],'schema':_0x4d1ea3},'hooks':{'PostToolUse':[{'hooks':[_0x2119a1]}]},'env':{...process[_0xbf2da4(0x257)],'ANTHROPIC_API_KEY':_0x14331d,'ANTHROPIC_BASE_URL':_0x3ad79b['PFfoF'](getAiProxyUrl)},'persistSession':![]}});let _0x48bce4=null,_0xbac90d=null,_0x566b56=null;const _0x15a8c4=_0x3ad79b[_0xbf2da4(0x1ed)](getConversationFilePath,_0x42fd06['id']),_0x1240c3=_0x3ad79b[_0xbf2da4(0x1e8)](dirname,_0x15a8c4);await mkdir(_0x1240c3,{'recursive':!![]});let _0x328d6b=![];const _0x1545f4=_0x3ad79b[_0xbf2da4(0x249)](0x3b,0x3c)*0x3e8,_0x22e9a8=new Promise((_0x39e337,_0x151e99)=>{const _0x578f03=_0xbf2da4,_0x124b54={'DtBsX':_0x3ad79b['hhNlS'],'GUIWK':function(_0x194e88,_0x52e375){const _0x46c95e=_0x5227;return _0x3ad79b[_0x46c95e(0x1f4)](_0x194e88,_0x52e375);},'XVRGc':_0x3ad79b[_0x578f03(0x1cc)],'yTBCx':function(_0x182d05,_0x4384ed){const _0x316d21=_0x578f03;return _0x3ad79b[_0x316d21(0x1db)](_0x182d05,_0x4384ed);}};_0x3ad79b[_0x578f03(0x208)](setTimeout,()=>{const _0x14c249=_0x578f03,_0x287e71={'Dkyoq':_0x124b54[_0x14c249(0x265)]};_0x124b54['GUIWK'](_0x124b54[_0x14c249(0x22c)],'eDlkG')?_0x124b54['yTBCx'](_0x151e99,new Error(_0x14c249(0x1b5))):_0x3ad78a=_0x26c342[_0x14c249(0x1b1)]?.[_0x14c249(0x1b0)](',\x20')||_0x287e71['Dkyoq'];},_0x1545f4);});try{try{await Promise[_0xbf2da4(0x213)]([((async()=>{const _0xa3010e=_0xbf2da4,_0xd3f6d6={'nzeuv':_0x3ad79b['gtkXP'],'eDhKh':function(_0x1cd9fb,_0x1c68b9){const _0x56ab72=_0x5227;return _0x3ad79b[_0x56ab72(0x22f)](_0x1cd9fb,_0x1c68b9);}};if(_0x3ad79b[_0xa3010e(0x242)](_0x3ad79b[_0xa3010e(0x225)],_0xa3010e(0x1fc))){const _0x309bcd=_0x41e094['apply'](_0x31c951,arguments);return _0x25f098=null,_0x309bcd;}else for await(const _0x312585 of _0x1664d4){if(_0x3ad79b[_0xa3010e(0x25e)](_0x3ad79b[_0xa3010e(0x206)],_0x3ad79b[_0xa3010e(0x206)])){try{const _0x4c0469=_0x3ad79b['WdLBu'](JSON[_0xa3010e(0x1d0)](_0x312585),'\x0a');await _0x3ad79b['QROOd'](appendFile,_0x15a8c4,_0x4c0469,_0x3ad79b[_0xa3010e(0x23b)]);}catch{}const _0x4dbfc6=_0x312585;if(_0x3ad79b[_0xa3010e(0x1f4)](_0x4dbfc6['type'],_0xa3010e(0x222))&&_0x4dbfc6[_0xa3010e(0x26f)]?.[_0xa3010e(0x268)])for(const _0x25a5eb of _0x4dbfc6[_0xa3010e(0x26f)][_0xa3010e(0x268)]){if(_0x3ad79b[_0xa3010e(0x25c)](_0x25a5eb[_0xa3010e(0x1bf)],_0x3ad79b[_0xa3010e(0x25a)])&&_0x3ad79b[_0xa3010e(0x25c)](_0x25a5eb[_0xa3010e(0x27d)],_0x3ad79b[_0xa3010e(0x1de)])&&_0x25a5eb[_0xa3010e(0x25f)]){if(_0x3ad79b[_0xa3010e(0x1f6)]!==_0x3ad79b['GgYoQ'])_0x566b56=_0x25a5eb[_0xa3010e(0x25f)];else throw new _0x242901(_0xd3f6d6[_0xa3010e(0x219)]);}}if(_0x4dbfc6[_0xa3010e(0x280)]){if(_0x3ad79b[_0xa3010e(0x1d8)]===_0xa3010e(0x232))_0x3ad79b[_0xa3010e(0x253)](_0x3837ce['type'],_0x3ad79b[_0xa3010e(0x25a)])&&_0x3a18dd['name']===_0xa3010e(0x1af)&&_0x2000a4['input']&&(_0x4bf531=_0x1a261c[_0xa3010e(0x25f)]);else{let _0x2025bd=_0x4dbfc6[_0xa3010e(0x280)];if(_0x4dbfc6[_0xa3010e(0x26f)]?.[_0xa3010e(0x268)]&&Array[_0xa3010e(0x235)](_0x4dbfc6[_0xa3010e(0x26f)]['content'])){if(_0x3ad79b[_0xa3010e(0x1d6)]!==_0x3ad79b[_0xa3010e(0x217)]){const _0x5c3ad7=_0x4dbfc6[_0xa3010e(0x26f)][_0xa3010e(0x268)][_0xa3010e(0x1ac)](_0x596288=>_0x596288[_0xa3010e(0x1bf)]===_0xa3010e(0x26d))['map'](_0x2dd6b4=>_0x2dd6b4['text']||'')[_0xa3010e(0x1ac)](Boolean);if(_0x3ad79b[_0xa3010e(0x22f)](_0x5c3ad7[_0xa3010e(0x1ae)],0x0)){if(_0x3ad79b['BduIv'](_0xa3010e(0x1ff),_0xa3010e(0x1ff))){const _0x4f154c=_0x490b64[_0xa3010e(0x26f)][_0xa3010e(0x268)]['filter'](_0x37f332=>_0x37f332[_0xa3010e(0x1bf)]===_0xa3010e(0x26d))['map'](_0x21bc1d=>_0x21bc1d['text']||'')[_0xa3010e(0x1ac)](_0x11ab98);_0xd3f6d6[_0xa3010e(0x1d5)](_0x4f154c[_0xa3010e(0x1ae)],0x0)&&(_0x47ce38=_0x4f154c['join']('\x20'));}else _0x2025bd=_0x5c3ad7[_0xa3010e(0x1b0)]('\x20');}}else _0x3ad79b[_0xa3010e(0x1c7)](_0x33fca5,new _0x4b44cb(_0x3ad79b[_0xa3010e(0x1c1)]));}_0xbac90d=_0x2025bd;}}if(_0x312585[_0xa3010e(0x1bf)]==='result'){if(_0x3ad79b[_0xa3010e(0x21c)]!==_0x3ad79b[_0xa3010e(0x23a)]){if(_0x3ad79b[_0xa3010e(0x1f4)](_0x312585[_0xa3010e(0x1d9)],_0x3ad79b[_0xa3010e(0x207)])&&_0x312585['structured_output'])_0x48bce4=_0x312585[_0xa3010e(0x1ba)];else{if(_0x312585['subtype']!==_0xa3010e(0x221)){if(_0x3ad79b[_0xa3010e(0x25e)](_0x3ad79b[_0xa3010e(0x270)],_0x3ad79b[_0xa3010e(0x270)])){if(_0x566b56&&_0x3ad79b['zOUxX'](_0x312585[_0xa3010e(0x1b1)]?.['length'],0x0))_0x48bce4=_0x566b56,_0xbac90d=null;else!_0xbac90d&&(_0xbac90d=_0x312585[_0xa3010e(0x1b1)]?.[_0xa3010e(0x1b0)](',\x20')||_0x3ad79b[_0xa3010e(0x1e5)]);}else{const _0x2145f8=_0x1a59c7?function(){const _0x1017cd=_0xa3010e;if(_0x4e103b){const _0x25a63=_0x1b65d0[_0x1017cd(0x22b)](_0x20a555,arguments);return _0x3fd382=null,_0x25a63;}}:function(){};return _0x179832=![],_0x2145f8;}}}}else _0x10938c=_0x3ad79b[_0xa3010e(0x1b8)](_0x27a7b8,_0x20cf4e)?_0x5f4892[_0xa3010e(0x26f)]:_0x3ad79b[_0xa3010e(0x1db)](_0x13d7b5,_0x4a7c3c);}}else _0x4e2d46=_0x399504[_0xa3010e(0x25f)];}})()),_0x22e9a8]);}catch(_0x28bfdc){_0xbac90d=_0x3ad79b[_0xbf2da4(0x1b8)](_0x28bfdc,Error)?_0x28bfdc[_0xbf2da4(0x26f)]:_0x3ad79b[_0xbf2da4(0x20f)](String,_0x28bfdc);}const _0x159ecd=Date[_0xbf2da4(0x209)]()-_0x4b9e22;let _0x40829f;try{const _0x1dadbe=_0x3ad79b['KUlvP'](getTraceDirectory,_0x42fd06['id']);if(_0x3ad79b[_0xbf2da4(0x1e8)](existsSync,_0x1dadbe)){const _0xae0f68=await readdir(_0x1dadbe);if(_0x3ad79b[_0xbf2da4(0x22f)](_0xae0f68[_0xbf2da4(0x1ae)],0x0)){const _0x384b23=_0x3ad79b['mwIzw'](join,_0x1dadbe,_0xbf2da4(0x247));if(_0x3ad79b[_0xbf2da4(0x1c7)](existsSync,_0x384b23)){const _0x1d8c5e=await _0x3ad79b['GysNn'](zipDirectory,_0x384b23),_0x2afcb9=_0x3ad79b[_0xbf2da4(0x21b)](computeChecksum,_0x1d8c5e),_0x405316=await getUploadUrls(_0x42fd06['id'],'trace.zip',_0x3ad79b[_0xbf2da4(0x1b4)],{'size':_0x1d8c5e[_0xbf2da4(0x1ae)],'checksum':_0x2afcb9});await _0x3ad79b[_0xbf2da4(0x208)](uploadTrace,_0x405316[_0xbf2da4(0x1e4)],_0x1d8c5e),_0x40829f=_0x405316['downloadUrl'];}const _0x1aebf1=_0xae0f68[_0xbf2da4(0x1ac)](_0x3138f3=>_0x3138f3[_0xbf2da4(0x20e)]()[_0xbf2da4(0x264)]('.png'));for(const _0x291b98 of _0x1aebf1){try{const _0x5980ad=_0x3ad79b[_0xbf2da4(0x21f)](join,_0x1dadbe,_0x291b98),_0x266e40=await _0x3ad79b['hqpgC'](readFile,_0x5980ad),_0x56388a=_0x3ad79b[_0xbf2da4(0x1d7)](computeChecksum,_0x266e40),_0x4edc8f=await _0x3ad79b[_0xbf2da4(0x21d)](getUploadUrls,_0x42fd06['id'],_0x291b98,_0x3ad79b['RrSTB'],{'size':_0x266e40[_0xbf2da4(0x1ae)],'checksum':_0x56388a});await _0x3ad79b['lJdzH'](uploadScreenshot,_0x4edc8f[_0xbf2da4(0x1e4)],_0x266e40);}catch{}}}}if(!_0x328d6b){if(_0x3ad79b[_0xbf2da4(0x1f4)](_0x3ad79b['lgYVv'],_0xbf2da4(0x1e0)))return _0xbbda6d[_0xbf2da4(0x1b3)]()[_0xbf2da4(0x1d1)](ggDWVp[_0xbf2da4(0x226)])['toString']()[_0xbf2da4(0x1f1)](_0x541709)[_0xbf2da4(0x1d1)](ggDWVp[_0xbf2da4(0x226)]);else _0x328d6b=await _0x3ad79b[_0xbf2da4(0x21f)](uploadConversationArtifact,_0x42fd06['id'],_0x15a8c4);}const _0x1eae2f=_0x48bce4,_0x5a32b0={'status':_0xbac90d?_0x3ad79b[_0xbf2da4(0x26b)]:_0xbf2da4(0x211),'durationMs':_0x159ecd,'agentResponse':_0x1eae2f?.['summary']||_0xbac90d||undefined,'errorMessage':_0x3ad79b['eqJdY'](_0xbac90d,undefined)};await _0x3ad79b['mwIzw'](updateBrowserSession,_0x42fd06['id'],_0x5a32b0);if(_0x3ad79b[_0xbf2da4(0x200)](_0x1eae2f,_0x40829f)){if(_0x3ad79b['zOUxX'](_0x3ad79b[_0xbf2da4(0x255)],_0x3ad79b[_0xbf2da4(0x255)])){const _0x43b820=_0x3ad79b[_0xbf2da4(0x227)][_0xbf2da4(0x1f3)]('|');let _0x303b97=0x0;while(!![]){switch(_0x43b820[_0x303b97++]){case'0':_0x1eae2f[_0xbf2da4(0x1bd)]=_0x159ecd;continue;case'1':_0x1eae2f[_0xbf2da4(0x24c)]=_0x3ad79b[_0xbf2da4(0x23c)](getTraceDirectory,_0x42fd06['id']);continue;case'2':_0x1eae2f[_0xbf2da4(0x275)]=_0x386219;continue;case'3':_0x1eae2f[_0xbf2da4(0x1bb)]=_0x561dd1;continue;case'4':_0x1eae2f[_0xbf2da4(0x250)]=_0x3ad79b[_0xbf2da4(0x26c)](buildTraceViewerUrl,_0x40829f);continue;case'5':_0x1eae2f['sessionId']=_0x42fd06['id'];continue;}break;}}else throw new _0x5ba68a(_0xbf2da4(0x1ad)+_0xc2f11c+_0xbf2da4(0x1d2)+_0x2916ca+_0xbf2da4(0x1f0));}}catch{}if(_0x3ad79b[_0xbf2da4(0x24f)](_0xbac90d,!_0x48bce4)){if(_0x3ad79b['hlELy'](_0x3ad79b[_0xbf2da4(0x272)],_0xbf2da4(0x262)))throw new Error(_0xbf2da4(0x22a)+_0xbac90d);else return _0x3ad79b['lFVzq'](_0x12dcde,_0x4cea02(),_0xbf2da4(0x1ef),_0x2b283d,_0x3ad79b[_0xbf2da4(0x24d)]);}if(!_0x48bce4){if(_0xbf2da4(0x1d4)===_0xbf2da4(0x273))return![];else throw new Error(_0x3ad79b[_0xbf2da4(0x22e)]);}return _0x48bce4;}finally{if(!_0x328d6b){if(_0x3ad79b['BduIv'](_0xbf2da4(0x1c8),_0xbf2da4(0x205)))_0x328d6b=await _0x3ad79b[_0xbf2da4(0x1e9)](uploadConversationArtifact,_0x42fd06['id'],_0x15a8c4);else{if(_0x32ede3){const _0x5b3d91=_0x9fa039[_0xbf2da4(0x22b)](_0x5cf12f,arguments);return _0x5227b7=null,_0x5b3d91;}}}await _0x3ad79b[_0xbf2da4(0x26c)](cleanupTempFiles,_0x33cd95);try{const _0x29e48a=_0x3ad79b[_0xbf2da4(0x1db)](getTraceDirectory,_0x42fd06['id']);existsSync(_0x29e48a)&&await _0x3ad79b['lJdzH'](rm,_0x29e48a,{'recursive':!![],'force':!![]});}catch{}try{if(_0x3ad79b[_0xbf2da4(0x276)](existsSync,_0x1240c3)){if(_0xbf2da4(0x274)==='iEicu'){if(_0x356b05&&_0x3ad79b['vJMsr'](_0x62bab4[_0xbf2da4(0x1b1)]?.[_0xbf2da4(0x1ae)],0x0))_0x39020b=_0x22addb,_0x5f3d4c=null;else!_0x3be3c4&&(_0x421d3c=_0x5781b7[_0xbf2da4(0x1b1)]?.[_0xbf2da4(0x1b0)](',\x20')||_0x3ad79b[_0xbf2da4(0x1e5)]);}else await _0x3ad79b['mwIzw'](rm,_0x1240c3,{'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.