@ranger-testing/ranger-cli 2.5.4-alpha.071b7bd-1 → 2.5.4-alpha.152f635-21

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 (82) hide show
  1. package/README.md +36 -14
  2. package/build/cli.js +1 -1
  3. package/build/commands/addEnv.js +1 -1
  4. package/build/commands/authEncrypt.js +1 -1
  5. package/build/commands/clean.js +1 -1
  6. package/build/commands/config.js +1 -1
  7. package/build/commands/env.js +1 -1
  8. package/build/commands/feature.js +1 -1
  9. package/build/commands/hook.js +1 -1
  10. package/build/commands/hooks/autoPrompt.js +1 -1
  11. package/build/commands/hooks/disable.js +1 -1
  12. package/build/commands/hooks/enable.js +1 -1
  13. package/build/commands/hooks/exitPlanMode.js +1 -1
  14. package/build/commands/hooks/index.js +1 -1
  15. package/build/commands/hooks/output.js +1 -1
  16. package/build/commands/hooks/planReminder.js +1 -1
  17. package/build/commands/hooks/planStart.js +1 -1
  18. package/build/commands/hooks/postEdit.js +1 -1
  19. package/build/commands/hooks/preCompact.js +1 -1
  20. package/build/commands/hooks/sessionEnd.js +1 -1
  21. package/build/commands/hooks/sessionStart.js +1 -1
  22. package/build/commands/hooks/stopHook.js +1 -1
  23. package/build/commands/index.js +1 -1
  24. package/build/commands/login.js +1 -1
  25. package/build/commands/mcpBootstrap.js +1 -1
  26. package/build/commands/migrateProfile.js +1 -0
  27. package/build/commands/setup/claude.js +1 -1
  28. package/build/commands/setup/opencode.js +1 -1
  29. package/build/commands/setupCi.js +1 -1
  30. package/build/commands/skillup.js +1 -1
  31. package/build/commands/start.js +1 -1
  32. package/build/commands/status.js +1 -1
  33. package/build/commands/update.js +1 -1
  34. package/build/commands/updateEnv.js +1 -1
  35. package/build/commands/useEnv.js +1 -1
  36. package/build/commands/utils/activeProfile.js +1 -1
  37. package/build/commands/utils/agentEnv.js +1 -1
  38. package/build/commands/utils/browserSessionsApi.js +1 -1
  39. package/build/commands/utils/claudeConfig.js +1 -1
  40. package/build/commands/utils/claudeOverrideSettings.js +1 -1
  41. package/build/commands/utils/claudePlugin.js +1 -1
  42. package/build/commands/utils/cloudProfile.js +1 -0
  43. package/build/commands/utils/cloudProfileSession.js +1 -0
  44. package/build/commands/utils/crypto.js +1 -1
  45. package/build/commands/utils/desirePathLog.js +1 -1
  46. package/build/commands/utils/deviceAuth.js +1 -1
  47. package/build/commands/utils/environment.js +1 -1
  48. package/build/commands/utils/featureApi.js +1 -1
  49. package/build/commands/utils/fixWebmDuration.js +1 -1
  50. package/build/commands/utils/gitTracked.js +1 -0
  51. package/build/commands/utils/keychain.js +1 -1
  52. package/build/commands/utils/legacyWarning.js +1 -0
  53. package/build/commands/utils/localAgentInstallationsApi.js +1 -1
  54. package/build/commands/utils/matchAuthEnvironment.js +1 -0
  55. package/build/commands/utils/mcpImageBase64.js +1 -1
  56. package/build/commands/utils/model.js +1 -1
  57. package/build/commands/utils/opencodeConfig.js +1 -1
  58. package/build/commands/utils/playwrightCli.js +1 -1
  59. package/build/commands/utils/profileMessages.js +1 -1
  60. package/build/commands/utils/profileSetupBanner.js +1 -1
  61. package/build/commands/utils/projectsConfig.js +1 -0
  62. package/build/commands/utils/rangerConfig.js +1 -1
  63. package/build/commands/utils/rangerRoot.js +1 -1
  64. package/build/commands/utils/resolveProfileContext.js +1 -0
  65. package/build/commands/utils/resolveProfileUrl.js +1 -0
  66. package/build/commands/utils/retry.js +1 -1
  67. package/build/commands/utils/sessionCache.js +1 -1
  68. package/build/commands/utils/settings.js +1 -1
  69. package/build/commands/utils/skillContent.js +1 -1
  70. package/build/commands/utils/skills.js +1 -1
  71. package/build/commands/utils/stitchWebmFiles.js +1 -1
  72. package/build/commands/utils/telemetry.js +1 -1
  73. package/build/commands/utils/tokenRefresh.js +1 -1
  74. package/build/commands/utils/traceSnapshotMapper.js +1 -1
  75. package/build/commands/utils/userApi.js +1 -1
  76. package/build/commands/utils/version.js +1 -1
  77. package/build/commands/verifyFeature.js +1 -1
  78. package/build/commands/verifyFeatureCli.js +1 -1
  79. package/build/skills/ranger/SKILL.md +36 -6
  80. package/build/skills/ranger/create.md +19 -0
  81. package/build/skills/ranger/verify.md +46 -7
  82. package/package.json +8 -3
@@ -1 +1 @@
1
- (function(_0x4df791,_0x25803f){const _0x29c778=_0x1bf9,_0x5999c3=_0x4df791();while(!![]){try{const _0x35af39=parseInt(_0x29c778(0xfc))/0x1+-parseInt(_0x29c778(0x10b))/0x2*(-parseInt(_0x29c778(0x120))/0x3)+-parseInt(_0x29c778(0xf8))/0x4*(-parseInt(_0x29c778(0x134))/0x5)+-parseInt(_0x29c778(0x113))/0x6*(-parseInt(_0x29c778(0xf9))/0x7)+parseInt(_0x29c778(0x110))/0x8+-parseInt(_0x29c778(0xff))/0x9*(parseInt(_0x29c778(0x10d))/0xa)+-parseInt(_0x29c778(0x119))/0xb*(parseInt(_0x29c778(0x127))/0xc);if(_0x35af39===_0x25803f)break;else _0x5999c3['push'](_0x5999c3['shift']());}catch(_0x188f29){_0x5999c3['push'](_0x5999c3['shift']());}}}(_0x22a4,0x57aff));import{mkdir,readFile,readdir}from'fs/promises';import{join}from'path';import{existsSync}from'fs';import{authenticate,ensureRangerDir,ensureChromium,writeRangerGitignore}from'./start.js';import{skillup}from'./skillup.js';import{getRangerDir}from'./utils/rangerRoot.js';import{writeActiveProfileName}from'./utils/activeProfile.js';import{saveSettings}from'./utils/settings.js';import{decrypt}from'./utils/crypto.js';import{getToken}from'./utils/keychain.js';function _0x22a4(){const _0x33c480=['693621jTGEIe','length','FPhUa','\x0a✅\x20Ranger\x20CI\x20setup\x20complete!\x0a','isDirectory','ranger@trailhead','pkZsP','success','profile_activate','Failed\x20to\x20install\x20plugin:','✓\x20Encrypted\x20auth\x20verified\x20(will\x20decrypt\x20at\x20runtime)','sessions','32bBeAPI','map','30bDhXbn','BKezg','settings.json','4360528ldGjyC','QIufU','trackPhaseEnd','1761810MQYVeJ','oueph','AZjEz','Failed\x20to\x20verify\x20encrypted\x20auth\x20for\x20profile\x20\x22','EHagP','rWmbz','55JQdOiX','plugin','ranger-testing/trailhead','name','trackPhaseStart','\x20\x20No\x20auth\x20state\x20found\x20(app\x20may\x20not\x20require\x20authentication)','No\x20CI\x20profiles\x20found.\x20Create\x20one\x20first\x20with:\x20ranger\x20profile\x20add\x20<name>\x20--ci\x0a','87507zggpQY','filter','Fnoya','zXcJK','message','path','HtdbT','4045740JRgwUK','.\x20Use\x20--profile\x20to\x20specify\x20which\x20one.','\x0a🔧\x20Ranger\x20CI\x20Setup\x0a','MwXsm','You\x20can\x20install\x20manually:\x20claude\x20plugin\x20install\x20ranger@trailhead\x20--scope\x20project','--scope','hIles','skills','EhjiT','Or\x20specify\x20a\x20profile\x20name\x20with\x20--profile\x20and\x20--base-url\x20to\x20create\x20one.','baseUrl','chromium','project','10585gfloMb','ldrxX','You\x20can\x20install\x20manually:\x20claude\x20plugin\x20marketplace\x20add\x20ranger-testing/trailhead','MExJo','marketplace','log','dir_setup','profile','1172ccsxiV','7WocLvx','fLiYl','error','350413OlxPvH','wMZvL','OvfgI'];_0x22a4=function(){return _0x33c480;};return _0x22a4();}import{runClaudeCommand,isMarketplaceAdded,isPluginInstalled}from'./utils/claudePlugin.js';async function findCiProfile(_0x56a9ab){const _0x24e463=_0x1bf9,_0x47e09d={'QLeVr':function(_0x26b9df){return _0x26b9df();},'HtdbT':function(_0x49e4d3,_0x280642,_0x540f3e){return _0x49e4d3(_0x280642,_0x540f3e);},'MExJo':function(_0x27a294,_0x43dc9b){return _0x27a294+_0x43dc9b;},'ldrxX':_0x24e463(0x130),'IimeM':function(_0x1edc04,_0x2695ee,_0x5f564a){return _0x1edc04(_0x2695ee,_0x5f564a);},'mPLLQ':function(_0x1f2e33,_0x262045){return _0x1f2e33===_0x262045;},'BKezg':'No\x20CI\x20profiles\x20found\x20in\x20.ranger/ci/.\x20Create\x20one\x20first\x20with:\x20ranger\x20profile\x20add\x20<name>\x20--ci\x0a','xuAXm':function(_0x43a323,_0x4f381a){return _0x43a323===_0x4f381a;}},_0x46990c=_0x47e09d['QLeVr'](getRangerDir),_0x5e6e82=join(_0x46990c,'ci');if(_0x56a9ab){const _0x1ac09d=_0x47e09d[_0x24e463(0x126)](join,_0x5e6e82,_0x56a9ab);return{'name':_0x56a9ab,'path':_0x1ac09d};}if(!existsSync(_0x5e6e82))throw new Error(_0x47e09d[_0x24e463(0x137)](_0x24e463(0x11f),_0x47e09d['ldrxX']));const _0xa845a0=await _0x47e09d['IimeM'](readdir,_0x5e6e82,{'withFileTypes':!![]}),_0x2d42f3=_0xa845a0[_0x24e463(0x121)](_0x20df26=>_0x20df26[_0x24e463(0x103)]())[_0x24e463(0x10c)](_0x577753=>_0x577753['name']);if(_0x47e09d['mPLLQ'](_0x2d42f3[_0x24e463(0x100)],0x0))throw new Error(_0x47e09d[_0x24e463(0x10e)]+_0x47e09d[_0x24e463(0x135)]);if(_0x47e09d['xuAXm'](_0x2d42f3['length'],0x1)){const _0x2e394c=_0x2d42f3[0x0];return console['log']('Auto-detected\x20CI\x20profile:\x20'+_0x2e394c),{'name':_0x2e394c,'path':join(_0x5e6e82,_0x2e394c)};}throw new Error('Multiple\x20CI\x20profiles\x20found:\x20'+_0x2d42f3['join'](',\x20')+_0x24e463(0x128));}function _0x1bf9(_0x4a4c57,_0x6f1644){_0x4a4c57=_0x4a4c57-0xf4;const _0x22a4e1=_0x22a4();let _0x1bf96c=_0x22a4e1[_0x4a4c57];return _0x1bf96c;}async function installPluginNonInteractive(){const _0x2e0ed5=_0x1bf9,_0x3e5716={'xGcHA':'✓\x20Claude\x20Code\x20plugin\x20already\x20installed','OvfgI':'Installing\x20Claude\x20Code\x20plugin\x20(project\x20level)...','pkZsP':function(_0x5638e4,_0x5b51b1){return _0x5638e4(_0x5b51b1);},'fLiYl':'trailhead','NSsOm':'add','EhjiT':'Failed\x20to\x20add\x20marketplace:','RQJHe':_0x2e0ed5(0x136),'eLsWT':_0x2e0ed5(0x104),'lFcEo':_0x2e0ed5(0x12c),'MwXsm':_0x2e0ed5(0x133),'bhYmn':_0x2e0ed5(0x12b),'zXcJK':'✓\x20Claude\x20Code\x20plugin\x20installed'},_0x38025a=await isPluginInstalled('ranger@trailhead');if(_0x38025a)return console[_0x2e0ed5(0xf5)](_0x3e5716['xGcHA']),![];console['log'](_0x3e5716[_0x2e0ed5(0xfe)]);const _0x2cf9f3=await _0x3e5716[_0x2e0ed5(0x105)](isMarketplaceAdded,_0x3e5716[_0x2e0ed5(0xfa)]);let _0x3e7a46=_0x2cf9f3;if(_0x2cf9f3)console['log']('✓\x20Marketplace\x20already\x20added');else{const _0x41234e=await runClaudeCommand(['plugin',_0x2e0ed5(0xf4),_0x3e5716['NSsOm'],_0x2e0ed5(0x11b)]);!_0x41234e[_0x2e0ed5(0x106)]?(console['error'](_0x3e5716[_0x2e0ed5(0x12f)],_0x41234e['error']),console['log'](_0x3e5716['RQJHe'])):_0x3e7a46=!![];}if(_0x3e7a46){const _0x58f918=await runClaudeCommand(['plugin','install',_0x3e5716['eLsWT'],_0x3e5716['lFcEo'],_0x3e5716[_0x2e0ed5(0x12a)]]);!_0x58f918[_0x2e0ed5(0x106)]?(console[_0x2e0ed5(0xfb)](_0x2e0ed5(0x108),_0x58f918['error']),console['log'](_0x3e5716['bhYmn'])):console['log'](_0x3e5716[_0x2e0ed5(0x123)]);}return!![];}export async function setupCi(_0x52cdd4,_0x2fe642,_0x25d122){const _0xd6331b=_0x1bf9,_0x327424={'QIufU':'auth','hIles':function(_0xab8c2c,_0xb30abd){return _0xab8c2c(_0xb30abd);},'Fnoya':function(_0x1a8eac,_0x1ef330,_0x243ae6){return _0x1a8eac(_0x1ef330,_0x243ae6);},'Sbtjn':_0xd6331b(0x10a),'YqjXD':_0xd6331b(0xf6),'ybTgB':function(_0x53545e){return _0x53545e();},'EHagP':function(_0x433481,_0x2c5c3b,_0xd9b37f){return _0x433481(_0x2c5c3b,_0xd9b37f);},'darUW':_0xd6331b(0x10f),'kFkJK':function(_0x24f2ca,_0x220f7d){return _0x24f2ca(_0x220f7d);},'FPhUa':'No\x20API\x20token\x20available\x20for\x20decryption','rWmbz':_0xd6331b(0x109),'SPLqz':_0xd6331b(0x11e),'wMZvL':_0xd6331b(0x11a),'AZjEz':_0xd6331b(0x133),'rtrAm':_0xd6331b(0x12e),'oueph':_0xd6331b(0x102)};console['log'](_0xd6331b(0x129)),_0x25d122?.[_0xd6331b(0x11d)](_0x327424[_0xd6331b(0x111)]),await _0x327424['hIles'](authenticate,_0x52cdd4),_0x25d122?.['trackPhaseEnd'](_0x327424[_0xd6331b(0x111)]),_0x25d122?.[_0xd6331b(0x11d)](_0xd6331b(0xf6));const {path:_0x4c5b77,installed:_0x470fa7}=await ensureRangerDir();await writeRangerGitignore(_0x4c5b77);const _0x39579f=_0x327424[_0xd6331b(0x122)](join,_0x4c5b77,_0x327424['Sbtjn']);!_0x327424[_0xd6331b(0x12d)](existsSync,_0x39579f)&&await mkdir(_0x39579f,{'recursive':!![]});_0x25d122?.['trackPhaseEnd'](_0x327424['YqjXD'],{'installed':_0x470fa7}),_0x25d122?.['trackPhaseStart']('chromium');let _0x49bf00=![];_0x2fe642?.['skipChromium']?console['log']('✓\x20Skipping\x20Chromium\x20check\x20(--skip-chromium)'):_0x49bf00=await _0x327424['ybTgB'](ensureChromium);_0x25d122?.[_0xd6331b(0x112)](_0xd6331b(0x132),{'installed':_0x49bf00,'skipped':!!_0x2fe642?.['skipChromium']}),_0x25d122?.['trackPhaseStart'](_0xd6331b(0x107));const _0x5cac05=await findCiProfile(_0x2fe642?.[_0xd6331b(0xf7)]);let _0x3485e9=![];_0x2fe642?.['baseUrl']&&(await _0x327424[_0xd6331b(0x117)](mkdir,_0x5cac05['path'],{'recursive':!![]}),await _0x327424[_0xd6331b(0x117)](saveSettings,_0x5cac05['name'],{'baseUrl':_0x2fe642[_0xd6331b(0x131)],'headless':!![]}),console[_0xd6331b(0xf5)]('✓\x20Created\x20profile\x20settings:\x20baseUrl='+_0x2fe642[_0xd6331b(0x131)]),_0x3485e9=!![]);const _0x1e82de=_0x327424['Fnoya'](join,_0x5cac05[_0xd6331b(0x125)],_0x327424['darUW']);if(!_0x327424['kFkJK'](existsSync,_0x1e82de)&&!_0x3485e9)throw new Error('CI\x20profile\x20\x22'+_0x5cac05['name']+'\x22\x20has\x20no\x20settings.json.\x20Use\x20--base-url\x20to\x20configure\x20it.');const _0x515a85=join(_0x5cac05[_0xd6331b(0x125)],'auth.json'),_0x54efb4=join(_0x5cac05[_0xd6331b(0x125)],'auth.json.enc'),_0x551757=existsSync(_0x515a85),_0x31cb3e=existsSync(_0x54efb4);if(_0x31cb3e)try{const _0x36ed20=await getToken();if(!_0x36ed20)throw new Error(_0x327424[_0xd6331b(0x101)]);const _0x3f1801=await readFile(_0x54efb4);decrypt(_0x3f1801,_0x36ed20),console['log'](_0x327424[_0xd6331b(0x118)]);}catch(_0x435de3){const _0x2e09c7=_0x435de3 instanceof Error?_0x435de3[_0xd6331b(0x124)]:_0x327424['kFkJK'](String,_0x435de3);throw new Error(_0xd6331b(0x116)+_0x5cac05['name']+'\x22:\x20'+_0x2e09c7);}else _0x551757?console['log']('✓\x20Auth\x20state\x20found'):console[_0xd6331b(0xf5)](_0x327424['SPLqz']);await writeActiveProfileName(_0x5cac05[_0xd6331b(0x11c)]),console[_0xd6331b(0xf5)]('✓\x20Active\x20profile:\x20'+_0x5cac05[_0xd6331b(0x11c)]),_0x25d122?.['trackPhaseEnd']('profile_activate',{'profileName':_0x5cac05[_0xd6331b(0x11c)],'hasAuth':_0x551757,'hasEncryptedAuth':_0x31cb3e,'createdSettings':_0x3485e9}),_0x25d122?.['trackPhaseStart'](_0x327424[_0xd6331b(0xfd)]);const _0x22c2bb=await installPluginNonInteractive();_0x25d122?.['trackPhaseEnd'](_0xd6331b(0x11a),{'installed':_0x22c2bb}),_0x25d122?.[_0xd6331b(0x11d)](_0xd6331b(0x12e)),await skillup({'autoInstall':_0x327424[_0xd6331b(0x115)]}),_0x25d122?.['trackPhaseEnd'](_0x327424['rtrAm']),console[_0xd6331b(0xf5)](_0x327424[_0xd6331b(0x114)]);}
1
+ function _0x5c81(_0x36e88a,_0x3507f7){_0x36e88a=_0x36e88a-0x1a3;var _0x25245a=_0x2524();var _0x5c81f9=_0x25245a[_0x36e88a];return _0x5c81f9;}(function(_0x3e3f8d,_0x387cc8){var _0x41b1ef=_0x5c81,_0x58b0f5=_0x3e3f8d();while(!![]){try{var _0x2f82a4=parseInt(_0x41b1ef(0x1b2))/0x1+parseInt(_0x41b1ef(0x1ac))/0x2*(parseInt(_0x41b1ef(0x1a5))/0x3)+parseInt(_0x41b1ef(0x1ab))/0x4+parseInt(_0x41b1ef(0x1a9))/0x5*(-parseInt(_0x41b1ef(0x1a8))/0x6)+-parseInt(_0x41b1ef(0x1a7))/0x7*(-parseInt(_0x41b1ef(0x1b1))/0x8)+-parseInt(_0x41b1ef(0x1af))/0x9+-parseInt(_0x41b1ef(0x1a6))/0xa*(parseInt(_0x41b1ef(0x1b4))/0xb);if(_0x2f82a4===_0x387cc8)break;else _0x58b0f5['push'](_0x58b0f5['shift']());}catch(_0x5712f4){_0x58b0f5['push'](_0x58b0f5['shift']());}}}(_0x2524,0xb7afb));function _0x2524(){var _0x3d552a=['24QLnOIq','200005nudycI','exit','1021768tVtiND','598oRdola','For\x20CI\x20/\x20background\x20agents\x20and\x20other\x20setup\x20options,\x20see:\x0a','error','11804256jyLRUF','zpGJe','352936vxDoQJ','503191dYEZhl','\x20\x20ranger\x20profile\x20add\x20<name>\x0a','374lVVGww','LLViU','ranger\x20setup\x20--ci\x20writes\x20to\x20the\x20legacy\x20.ranger/ci/\x20tree\x20which\x20is\x20no\x20longer\x20supported.\x0a','3810eyrvcL','18070WgWmgS','182jUZxyc'];_0x2524=function(){return _0x3d552a;};return _0x2524();}export async function setupCi(_0x4a95ed,_0x4d38b4,_0x5a5202){var _0x47f439=_0x5c81,_0x2f7671={'LLViU':function(_0x22bca7,_0x20a8c7){return _0x22bca7+_0x20a8c7;},'zpGJe':function(_0x47ddf2,_0x5b7205){return _0x47ddf2+_0x5b7205;},'USkoZ':_0x47f439(0x1a4),'lZejH':'To\x20set\x20up\x20a\x20fresh\x20profile,\x20run:\x0a'};console[_0x47f439(0x1ae)](_0x2f7671[_0x47f439(0x1a3)](_0x2f7671['LLViU'](_0x2f7671['LLViU'](_0x2f7671[_0x47f439(0x1b0)](_0x2f7671[_0x47f439(0x1a3)](_0x2f7671['USkoZ'],'\x0a'),_0x2f7671['lZejH']),_0x47f439(0x1b3))+'\x0a',_0x47f439(0x1ad)),'\x20\x20https://docs.ranger.net/main/concepts/profiles')),process[_0x47f439(0x1aa)](0x1);}
@@ -1 +1 @@
1
- function _0x357d(){const _0x3f0fb4=['\x20--opencode','YzuOX','\x20skill','109574XQbJGa','installLevel','\x20<your-api-token>','This\x20project\x20only\x20(','\x20successfully!\x0a','warn','\x20\x203.\x20Run:\x20ranger\x20skillup','3rPvwbz','90NPdWHD','1003036dFssTK','14880bJtwYU','8fxcUWf','project-level','\x20\x20-\x20Start\x20OpenCode\x20and\x20run\x20the\x20`ranger_enable`\x20tool\x20to\x20enable\x20hooks.','2gMxZNi','ranger','CJCvd','log','user-level','1887636lpXBMj','YIVZT','❌\x20No\x20Ranger\x20API\x20token\x20found.\x0a','user','All\x20projects\x20(','\x20\x202.\x20Run:\x20ranger\x20setup','PbNFu','autoInstall','XiedE','Where\x20should\x20skills\x20be\x20installed?','ZJdeh','message','VcePr','1859KyybiP','stdin','\x20\x20Failed\x20to\x20install\x20ranger\x20skill:','prompt','\x0a✅\x20Installed\x20','\x0a⚠️\x20\x20No\x20skills\x20were\x20installed.\x0a','74097WWnuQJ','ooUYd','opencode','HBzFU','vTONS','869743LkDuXr','split','tfkzF','402310ZappGS','list','✓\x20Found\x20API\x20token','xVQiY'];_0x357d=function(){return _0x3f0fb4;};return _0x357d();}(function(_0x2f4ebb,_0x5ec1bc){const _0x5ab2f2=_0x40bb,_0x55e439=_0x2f4ebb();while(!![]){try{const _0xbc468f=-parseInt(_0x5ab2f2(0x17f))/0x1*(-parseInt(_0x5ab2f2(0x18d))/0x2)+-parseInt(_0x5ab2f2(0x186))/0x3*(parseInt(_0x5ab2f2(0x188))/0x4)+parseInt(_0x5ab2f2(0x178))/0x5+parseInt(_0x5ab2f2(0x192))/0x6+-parseInt(_0x5ab2f2(0x175))/0x7*(-parseInt(_0x5ab2f2(0x18a))/0x8)+-parseInt(_0x5ab2f2(0x170))/0x9*(-parseInt(_0x5ab2f2(0x187))/0xa)+parseInt(_0x5ab2f2(0x19f))/0xb*(-parseInt(_0x5ab2f2(0x189))/0xc);if(_0xbc468f===_0x5ec1bc)break;else _0x55e439['push'](_0x55e439['shift']());}catch(_0x56de54){_0x55e439['push'](_0x55e439['shift']());}}}(_0x357d,0x3b3ed));import{basename}from'path';import _0x1b1bcd from'inquirer';import{getToken}from'./utils/keychain.js';import{installSkill}from'./utils/skills.js';function _0x40bb(_0x36fb7a,_0x5d3d7b){_0x36fb7a=_0x36fb7a-0x170;const _0x357d91=_0x357d();let _0x40bb9b=_0x357d91[_0x36fb7a];return _0x40bb9b;}import{getCurrentVersion}from'./utils/version.js';import{getClaudeConfigDir,getProjectRoot}from'./utils/claudeConfig.js';import{getOpencodeConfigDir}from'./utils/opencodeConfig.js';export async function skillup(_0x1af866={}){const _0x49b0b5=_0x40bb,_0x526db3={'coqyO':'\x0a🎯\x20Ranger\x20Skill\x20Setup\x0a','ZJdeh':'claude','OTgjS':function(_0x179362){return _0x179362();},'tfkzF':function(_0x17c196,_0x43bfe0){return _0x17c196===_0x43bfe0;},'ooUYd':_0x49b0b5(0x17c),'XiedE':function(_0x2be8c2,_0x20c70b){return _0x2be8c2===_0x20c70b;},'PbNFu':_0x49b0b5(0x172),'PRjXN':'To\x20get\x20started:','YIVZT':_0x49b0b5(0x17a),'sqvQb':function(_0x44b2a7){return _0x44b2a7();},'xVQiY':function(_0xace1a,_0x1d9c95){return _0xace1a(_0x1d9c95);},'YzuOX':function(_0x5b8d39,_0x5da432){return _0x5b8d39===_0x5da432;},'JvxNB':'project','CJCvd':function(_0x2715da,_0xe979ef,_0x586cb8){return _0x2715da(_0xe979ef,_0x586cb8);},'HBzFU':_0x49b0b5(0x1a1),'VcePr':function(_0xfe2fa8,_0x303649){return _0xfe2fa8>_0x303649;},'fdWef':_0x49b0b5(0x195),'vTONS':_0x49b0b5(0x18b),'ZtsUH':_0x49b0b5(0x1a4)};console[_0x49b0b5(0x190)](_0x526db3['coqyO']);const _0x23a342=_0x1af866['platform']??_0x526db3[_0x49b0b5(0x19c)],_0x31a0a3=await _0x526db3['OTgjS'](getToken);if(!_0x31a0a3){const _0x449382='1|4|0|3|2|5'[_0x49b0b5(0x176)]('|');let _0x114ac4=0x0;while(!![]){switch(_0x449382[_0x114ac4++]){case'0':console['log']('\x20\x201.\x20Get\x20your\x20API\x20token\x20from\x20https://dashboard.ranger.net/cli');continue;case'1':console[_0x49b0b5(0x190)](_0x49b0b5(0x194));continue;case'2':console['log'](_0x49b0b5(0x185)+(_0x526db3[_0x49b0b5(0x177)](_0x23a342,_0x49b0b5(0x172))?_0x526db3[_0x49b0b5(0x171)]:'')+'\x0a');continue;case'3':console['log'](_0x49b0b5(0x197)+(_0x526db3[_0x49b0b5(0x19a)](_0x23a342,_0x526db3[_0x49b0b5(0x198)])?_0x526db3[_0x49b0b5(0x171)]:'')+_0x49b0b5(0x181));continue;case'4':console[_0x49b0b5(0x190)](_0x526db3['PRjXN']);continue;case'5':return;}break;}}console['log'](_0x526db3[_0x49b0b5(0x193)]);const _0x2f0cc6=_0x526db3['sqvQb'](getProjectRoot),_0x5a4a19=_0x526db3[_0x49b0b5(0x17b)](basename,_0x2f0cc6),_0x2a4255=_0x526db3[_0x49b0b5(0x17d)](_0x23a342,'opencode')?getOpencodeConfigDir('user')+'/skills/':getClaudeConfigDir()+'/skills/',_0x4f8616=_0x23a342==='opencode'?_0x2f0cc6+'/.opencode/skills/':_0x2f0cc6+'/.claude/skills/',_0x1558cd=process[_0x49b0b5(0x1a0)]['isTTY']&&process['stdout']['isTTY'];let _0x174d7a;if(_0x1af866['autoInstall'])_0x174d7a=_0x1af866[_0x49b0b5(0x199)];else{if(_0x1558cd){const _0x402bab=await _0x1b1bcd[_0x49b0b5(0x1a2)]([{'type':_0x49b0b5(0x179),'name':_0x49b0b5(0x180),'message':_0x49b0b5(0x19b),'choices':[{'name':_0x49b0b5(0x196)+_0x2a4255+')','value':_0x49b0b5(0x195)},{'name':_0x49b0b5(0x182)+_0x4f8616+')','value':'project'}]}]);_0x174d7a=_0x402bab['installLevel'];}else _0x174d7a=_0x526db3['JvxNB'],console[_0x49b0b5(0x190)]('Non-interactive\x20mode:\x20Installing\x20skills\x20at\x20project\x20level\x20('+_0x4f8616+')');}let _0x125fb2=0x0;const _0x4e2e70=getCurrentVersion();console[_0x49b0b5(0x190)]('\x0a📦\x20Installing\x20skills...\x0a');try{const _0x3e7707=await _0x526db3[_0x49b0b5(0x18f)](installSkill,_0x49b0b5(0x18e),{'cliVersion':_0x4e2e70,'level':_0x174d7a,'platform':_0x23a342});_0x3e7707&&_0x125fb2++;}catch(_0x449a73){console[_0x49b0b5(0x184)](_0x526db3[_0x49b0b5(0x173)],_0x449a73 instanceof Error?_0x449a73[_0x49b0b5(0x19d)]:_0x449a73);}if(_0x526db3[_0x49b0b5(0x19e)](_0x125fb2,0x0)){const _0x4814c6=_0x174d7a===_0x526db3['fdWef']?_0x49b0b5(0x191):_0x526db3[_0x49b0b5(0x174)];console['log'](_0x49b0b5(0x1a3)+_0x125fb2+'\x20'+_0x4814c6+_0x49b0b5(0x17e)+(_0x125fb2>0x1?'s':'')+_0x49b0b5(0x183)),!_0x1af866['suppressUsage']&&(console['log']('To\x20use:'),_0x23a342===_0x526db3['PbNFu']?console[_0x49b0b5(0x190)](_0x49b0b5(0x18c)):console[_0x49b0b5(0x190)]('\x20\x20-\x20Open\x20Claude\x20Code\x20in\x20plan\x20mode\x20and\x20run\x20/ranger:enable.\x20Plan\x20out\x20a\x20UI\x20feature\x20with\x20Ranger\x20and\x20watch\x20Ranger\x20test\x20it\x20for\x20you!'));}else console['log'](_0x526db3['ZtsUH']);}
1
+ (function(_0x8c14cd,_0x29adcc){const _0x283c42=_0x4208,_0x1783ef=_0x8c14cd();while(!![]){try{const _0x1ad0d8=parseInt(_0x283c42(0xfa))/0x1+parseInt(_0x283c42(0xf1))/0x2*(parseInt(_0x283c42(0x105))/0x3)+parseInt(_0x283c42(0xeb))/0x4+-parseInt(_0x283c42(0xfc))/0x5*(parseInt(_0x283c42(0xf3))/0x6)+-parseInt(_0x283c42(0x103))/0x7+parseInt(_0x283c42(0xf8))/0x8+parseInt(_0x283c42(0xfb))/0x9*(parseInt(_0x283c42(0xe4))/0xa);if(_0x1ad0d8===_0x29adcc)break;else _0x1783ef['push'](_0x1783ef['shift']());}catch(_0x46d10e){_0x1783ef['push'](_0x1783ef['shift']());}}}(_0x13eb,0x309e2));import{basename}from'path';import _0x417dad from'inquirer';import{getToken}from'./utils/keychain.js';import{installSkill}from'./utils/skills.js';import{getCurrentVersion}from'./utils/version.js';import{getClaudeConfigDir,getProjectRoot}from'./utils/claudeConfig.js';function _0x13eb(){const _0x347c29=['/skills/','ranger','project','606248nmmNVG','\x0a🎯\x20Ranger\x20Skill\x20Setup\x0a','314679CUvrms','16668mAQwOl','890KELJUL','user','FFxid','zdgSH','claude','\x20\x203.\x20Run:\x20ranger\x20skillup','FpgHC','2232111wnoxpR','/.claude/skills/','48123opwece','RvAen','fwgeH','CycPz','opencode','✓\x20Found\x20API\x20token','qkjFh','autoInstall','1450bazSVE','\x20--opencode','log','stdin','To\x20get\x20started:','LDJNZ','split','56320xPJXKd','qrvsr','AODVD','message','Non-interactive\x20mode:\x20Installing\x20skills\x20at\x20project\x20level\x20(','/.opencode/skills/','14BPGuDE','mRXTr','9012QkaPnM','\x20\x201.\x20Get\x20your\x20API\x20token\x20from\x20https://dashboard.ranger.net/cli'];_0x13eb=function(){return _0x347c29;};return _0x13eb();}import{getOpencodeConfigDir}from'./utils/opencodeConfig.js';function _0x4208(_0x44d988,_0x47ab8b){_0x44d988=_0x44d988-0xe2;const _0x13ebf7=_0x13eb();let _0x420819=_0x13ebf7[_0x44d988];return _0x420819;}export async function skillup(_0x4300ac={}){const _0x3ada6a=_0x4208,_0x570e76={'mRXTr':_0x3ada6a(0x100),'jcWHt':function(_0x1147a2){return _0x1147a2();},'OAxjy':_0x3ada6a(0xe8),'PmPcY':function(_0x13a057,_0x16b651){return _0x13a057===_0x16b651;},'CycPz':_0x3ada6a(0x109),'xAAuR':'❌\x20No\x20Ranger\x20API\x20token\x20found.\x0a','qkjFh':_0x3ada6a(0xf4),'AODVD':function(_0x5831db){return _0x5831db();},'RvAen':'user','qrvsr':'list','mlKcy':'installLevel','fwgeH':'Where\x20should\x20skills\x20be\x20installed?','qSuPV':function(_0x3cb810,_0x18528d){return _0x3cb810 instanceof _0x18528d;},'FFxid':function(_0x444ac9,_0x2f47bd){return _0x444ac9>_0x2f47bd;},'zdgSH':function(_0x366caa,_0xeb2245){return _0x366caa===_0xeb2245;},'FpgHC':'user-level','pTqyx':'project-level','Pukcv':function(_0x4462be,_0x573ae1){return _0x4462be>_0x573ae1;},'LDJNZ':function(_0x2934ef,_0x2efb9b){return _0x2934ef===_0x2efb9b;},'wcMdr':'\x20\x20-\x20Start\x20OpenCode\x20and\x20run\x20the\x20`ranger_enable`\x20tool\x20to\x20enable\x20hooks.'};console['log'](_0x3ada6a(0xf9));const _0x25f1d3=_0x4300ac['platform']??_0x570e76[_0x3ada6a(0xf2)],_0x89c4b9=await _0x570e76['jcWHt'](getToken);if(!_0x89c4b9){const _0x577720='4|1|5|2|3|0'[_0x3ada6a(0xea)]('|');let _0x2a3458=0x0;while(!![]){switch(_0x577720[_0x2a3458++]){case'0':return;case'1':console[_0x3ada6a(0xe6)](_0x570e76['OAxjy']);continue;case'2':console['log']('\x20\x202.\x20Run:\x20ranger\x20setup'+(_0x570e76['PmPcY'](_0x25f1d3,_0x570e76[_0x3ada6a(0x108)])?'\x20--opencode':'')+'\x20<your-api-token>');continue;case'3':console['log'](_0x3ada6a(0x101)+(_0x25f1d3==='opencode'?_0x3ada6a(0xe5):'')+'\x0a');continue;case'4':console['log'](_0x570e76['xAAuR']);continue;case'5':console[_0x3ada6a(0xe6)](_0x570e76[_0x3ada6a(0xe2)]);continue;}break;}}console['log'](_0x3ada6a(0x10a));const _0x3e2ca3=_0x570e76[_0x3ada6a(0xed)](getProjectRoot),_0x34e5cc=basename(_0x3e2ca3),_0x52edcc=_0x25f1d3===_0x570e76[_0x3ada6a(0x108)]?getOpencodeConfigDir(_0x570e76[_0x3ada6a(0x106)])+'/skills/':getClaudeConfigDir()+_0x3ada6a(0xf5),_0x2b477c=_0x25f1d3==='opencode'?_0x3e2ca3+_0x3ada6a(0xf0):_0x3e2ca3+_0x3ada6a(0x104),_0x2dea80=process[_0x3ada6a(0xe7)]['isTTY']&&process['stdout']['isTTY'];let _0x1a24ff;if(_0x4300ac['autoInstall'])_0x1a24ff=_0x4300ac[_0x3ada6a(0xe3)];else{if(_0x2dea80){const _0x16bd2f=await _0x417dad['prompt']([{'type':_0x570e76[_0x3ada6a(0xec)],'name':_0x570e76['mlKcy'],'message':_0x570e76[_0x3ada6a(0x107)],'choices':[{'name':'All\x20projects\x20('+_0x52edcc+')','value':_0x3ada6a(0xfd)},{'name':'This\x20project\x20only\x20('+_0x2b477c+')','value':'project'}]}]);_0x1a24ff=_0x16bd2f['installLevel'];}else _0x1a24ff=_0x3ada6a(0xf7),console[_0x3ada6a(0xe6)](_0x3ada6a(0xef)+_0x2b477c+')');}let _0x28c22a=0x0;const _0x4fa896=_0x570e76[_0x3ada6a(0xed)](getCurrentVersion);console['log']('\x0a📦\x20Installing\x20skills...\x0a');try{const _0x50c859=await installSkill(_0x3ada6a(0xf6),{'cliVersion':_0x4fa896,'level':_0x1a24ff,'platform':_0x25f1d3});_0x50c859&&_0x28c22a++;}catch(_0x1c0b45){console['warn']('\x20\x20Failed\x20to\x20install\x20ranger\x20skill:',_0x570e76['qSuPV'](_0x1c0b45,Error)?_0x1c0b45[_0x3ada6a(0xee)]:_0x1c0b45);}if(_0x570e76[_0x3ada6a(0xfe)](_0x28c22a,0x0)){const _0x3b6a09=_0x570e76[_0x3ada6a(0xff)](_0x1a24ff,'user')?_0x570e76[_0x3ada6a(0x102)]:_0x570e76['pTqyx'];console['log']('\x0a✅\x20Installed\x20'+_0x28c22a+'\x20'+_0x3b6a09+'\x20skill'+(_0x570e76['Pukcv'](_0x28c22a,0x1)?'s':'')+'\x20successfully!\x0a'),!_0x4300ac['suppressUsage']&&(console['log']('To\x20use:'),_0x570e76[_0x3ada6a(0xe9)](_0x25f1d3,'opencode')?console[_0x3ada6a(0xe6)](_0x570e76['wcMdr']):console[_0x3ada6a(0xe6)]('\x20\x20-\x20Open\x20Claude\x20Code\x20in\x20plan\x20mode\x20and\x20run\x20/ranger:enable.\x20Plan\x20out\x20a\x20UI\x20feature\x20with\x20Ranger\x20and\x20watch\x20Ranger\x20test\x20it\x20for\x20you!'));}else console[_0x3ada6a(0xe6)]('\x0a⚠️\x20\x20No\x20skills\x20were\x20installed.\x0a');}
@@ -1 +1 @@
1
- const _0x54248a=_0x4f81;(function(_0x396ff4,_0x30357e){const _0x31f408=_0x4f81,_0x1b44ad=_0x396ff4();while(!![]){try{const _0x3f5a31=parseInt(_0x31f408(0x13b))/0x1*(-parseInt(_0x31f408(0x142))/0x2)+parseInt(_0x31f408(0x16a))/0x3*(-parseInt(_0x31f408(0x166))/0x4)+-parseInt(_0x31f408(0x14d))/0x5+parseInt(_0x31f408(0x13d))/0x6*(parseInt(_0x31f408(0x15c))/0x7)+parseInt(_0x31f408(0x174))/0x8*(-parseInt(_0x31f408(0x134))/0x9)+parseInt(_0x31f408(0x13c))/0xa+parseInt(_0x31f408(0x15b))/0xb*(parseInt(_0x31f408(0x198))/0xc);if(_0x3f5a31===_0x30357e)break;else _0x1b44ad['push'](_0x1b44ad['shift']());}catch(_0x352a0d){_0x1b44ad['push'](_0x1b44ad['shift']());}}}(_0x3e76,0x3330b));import{mkdir,writeFile}from'fs/promises';import{join}from'path';import{existsSync}from'fs';import{createRequire}from'module';import{spawn}from'child_process';import _0x1a36b0 from'inquirer';import{getToken,storeToken}from'./utils/keychain.js';import{getCurrentUser}from'./utils/userApi.js';import{chromium}from'playwright';import{addEnv}from'./addEnv.js';import{getRangerDir,getRangerHomeDir,findGitRoot}from'./utils/rangerRoot.js';import{runDeviceAuthFlow}from'./utils/deviceAuth.js';function _0x3e76(){const _0x1faca2=['\x0aA\x20profile\x20gives\x20Ranger\x27s\x20browser\x20agent\x20information\x20about\x20how','prompt','✓\x20Authenticated\x20to\x20','vPNdn','YlPXC','99FuvnmQ','nXIPz','InDIc','success','JVanY','allowInsecureLocalhost','error','5466WzsSwt','3779880dFtwxT','240zsmkJT','WofKH','provided_token','XCwgs','LEvvf','114IgYquP','\x20(fallback\x20version)','\x0a✓\x20Playwright\x20Chromium\x20installed\x20successfully','\x0aSkipping\x20profile\x20setup\x20(--skip-auth).\x20Run\x20`ranger\x20setup`\x20with\x20auth\x20to\x20add\x20a\x20profile\x20later.\x0a','OvqOy','plugin','existing_token','1.58.2','fsqNN','VKOrS','dSXDH','121105sPpOuQ','tHPwm','Installation\x20failed\x20with\x20exit\x20code\x20','trackPhaseEnd','trackPhaseError','CsXnp',')\x20of\x20the\x20Playwright\x20Chromium\x20browser\x20is\x20not\x20installed.\x20Install\x20it\x20now?','message','opencode','local','trackPhaseStart','WoYuz','use\x20until\x20the\x20session\x20expires.\x0a','...','2383876DOxQtl','66962PuKRSS','\x0ascenarios\x20describing\x20what\x20to\x20verify\x20and\x20then\x20run\x20browser','.\x20Please\x20check\x20your\x20network\x20connection\x20and\x20server\x20URL.','\x20\x20Failed\x20to\x20install\x20OpenCode\x20skill:','\x20and\x20prompt\x20the\x20coding','JzVAL','.gitignore','user','withDeps','skipChromium','8TFiqnh','LftLO','log','skipped','268791OqHCUp','auth','isTTY','PxSLH','\x0a❌\x20Failed\x20to\x20install\x20Chromium:','organizationName','version','JweSX','warn','\x0a\x0a#\x20Ignore\x20local-only\x20directories\x0alocal/\x0asessions/\x0abug-bashes/\x0areports/\x0afeedback-images/\x0a\x0aactive-profile.txt\x0aactive-feature.txt\x0a.gitignore\x0a\x0a#\x20Ignore\x20plaintext\x20auth\x20files\x20(encrypted\x20.enc\x20files\x20are\x20safe\x20to\x20commit)\x0a**/auth.json\x0a','183776bDyGfs','GITHUB_ENV','ranger','\x20\x20npx\x20playwright@','vcjEX','stdout','RaeRf','No\x20git\x20repository\x20found.\x20Please\x20run\x20`ranger\x20setup`\x20from\x20inside\x20your\x20project\x20directory,\x0a','\x20install\x20chromium','✓\x20Playwright\x20Chromium\x20browser\x20found','VDHNy','stdin','rHZYW','chromium','⚠\x20No\x20git\x20repository\x20found.\x20Run\x20`ranger\x20profile\x20add\x20local`\x20from\x20your\x20project\x20directory.','gpaZP','\x20now?','Failed\x20to\x20connect\x20to\x20MCP\x20server:\x20','Authentication\x20failed:\x20','ypFSq','url','close','ready','You\x20will\x20need\x20to\x20install\x20it\x20before\x20using\x20Ranger:','FlcQQ','zYvoG','xlASN','auth,\x20you\x20can\x20log\x20in\x20and\x20we\x27ll\x20save\x20the\x20session\x20state\x20for\x20Ranger\x20to','uHNIe','scope','✓\x20.ranger/\x20directory\x20already\x20exists','\x0aIn\x20OpenCode,\x20enable\x20Ranger\x20hooks\x20(run\x20the\x20`ranger_enable`\x20tool)','NtMoT','playwright@','Non-interactive\x20mode:\x20No\x20--scope\x20provided,\x20defaulting\x20to\x20user.','/ranger:enable','12EOJgFf','status','git_check','Make\x20sure\x20your\x20app\x20is\x20running\x20before\x20you\x20start.\x0a','\x0a⚠\x20Skipping\x20Chromium\x20installation.','skills','ignore','cLPZW','.ranger','mjUai','No\x20git\x20repository\x20found','.\x20Please\x20check\x20your\x20API\x20token\x20and\x20try\x20again.','ziXnj','raVbc','confirm','dGADw','fZnBi'];_0x3e76=function(){return _0x1faca2;};return _0x3e76();}import{findExistingEnv}from'./utils/settings.js';import{getCurrentVersion}from'./utils/version.js';function _0x4f81(_0x27b130,_0x392144){_0x27b130=_0x27b130-0x132;const _0x3e7699=_0x3e76();let _0x4f8196=_0x3e7699[_0x27b130];return _0x4f8196;}import{ensureClaudePlugin,ensureClaudeSkills}from'./setup/claude.js';import{ensureOpencodePluginConfig}from'./setup/opencode.js';import{installSkill}from'./utils/skills.js';const require=createRequire(import.meta.url);export const PLAYWRIGHT_CHROMIUM_INSTALL_FALLBACK_VERSION=_0x54248a(0x149);const bold=_0x233855=>'\x1b[1m'+_0x233855+'\x1b[0m';export function getPlaywrightVersion(){const _0x3ca0d1=_0x54248a,_0x61eeee={'QqeaT':function(_0xf7305,_0x528cba){return _0xf7305(_0x528cba);}};try{const _0x189fab=require['resolve']('playwright/package.json'),_0x5a4a63=_0x61eeee['QqeaT'](require,_0x189fab);return _0x5a4a63[_0x3ca0d1(0x170)];}catch{return null;}}export function installChromiumBinary(_0x229d6b,_0x21c09b=![]){const _0x398b01=_0x54248a,_0x19e640={'PxSLH':function(_0x5ed03d,_0x26767c){return _0x5ed03d(_0x26767c);},'dGADw':'install','mPbik':'--with-deps','nXIPz':'chromium','FlcQQ':function(_0x3f881d,_0x3c8d51,_0x16ea84,_0x53fc11){return _0x3f881d(_0x3c8d51,_0x16ea84,_0x53fc11);},'bNrfD':_0x398b01(0x19e),'DQGog':_0x398b01(0x189)};return new Promise((_0x131297,_0x29cddf)=>{const _0x313118=_0x398b01,_0x406bad={'KKCBO':function(_0xb740f3,_0x4b4075){return _0xb740f3===_0x4b4075;},'JVanY':function(_0x2169ae,_0x16122f){const _0x58c35e=_0x4f81;return _0x19e640[_0x58c35e(0x16d)](_0x2169ae,_0x16122f);}},_0x58aa7e=[_0x313118(0x195)+_0x229d6b,_0x19e640[_0x313118(0x1a7)],..._0x21c09b?[_0x19e640['mPbik']]:[],_0x19e640[_0x313118(0x135)]],_0x4874db=_0x19e640[_0x313118(0x18c)](spawn,'npx',_0x58aa7e,{'stdio':[_0x19e640['bNrfD'],'inherit','inherit'],'shell':process['platform']==='win32'});_0x4874db['on'](_0x19e640['DQGog'],_0x3aaa1e=>{const _0x240c19=_0x313118;_0x406bad['KKCBO'](_0x3aaa1e,0x0)?_0x131297():_0x406bad[_0x240c19(0x138)](_0x29cddf,new Error(_0x240c19(0x14f)+_0x3aaa1e));}),_0x4874db['on'](_0x313118(0x13a),_0x14f2b5=>{_0x19e640['PxSLH'](_0x29cddf,_0x14f2b5);});});}export async function authenticate(_0x3913b7){const _0x1266d2=_0x54248a,_0x6e8251={'jpiYt':_0x1266d2(0x148),'fZnBi':function(_0x667aa9,_0x37773d){return _0x667aa9 instanceof _0x37773d;},'VKOrS':function(_0x58f955,_0x14a6dd){return _0x58f955(_0x14a6dd);},'sbrcv':'device_auth','cLPZW':'Validating\x20API\x20token...','harIH':'✓\x20Exported\x20credentials\x20for\x20CI'};if(!_0x3913b7){const _0x15487c=await getToken();if(_0x15487c){const _0x5ba74c=await getCurrentUser(_0x15487c);if(_0x5ba74c[_0x1266d2(0x137)])return console['log']('✓\x20Already\x20authenticated\x20to\x20'+_0x5ba74c['user'][_0x1266d2(0x16f)]),{'token':_0x15487c,'method':_0x6e8251['jpiYt']};}try{_0x3913b7=await runDeviceAuthFlow();}catch(_0x1f0a2c){throw new Error('Authentication\x20failed:\x20'+(_0x6e8251[_0x1266d2(0x1a8)](_0x1f0a2c,Error)?_0x1f0a2c['message']:_0x1f0a2c));}const _0x3f08cf=await _0x6e8251['VKOrS'](getCurrentUser,_0x3913b7);if(!_0x3f08cf['success'])throw new Error('Failed\x20to\x20validate\x20provisioned\x20API\x20key:\x20'+_0x3f08cf[_0x1266d2(0x13a)]);return console[_0x1266d2(0x168)]('✓\x20Authenticated\x20to\x20'+_0x3f08cf[_0x1266d2(0x163)][_0x1266d2(0x16f)]),{'token':_0x3913b7,'method':_0x6e8251['sbrcv']};}console['log'](_0x6e8251[_0x1266d2(0x19f)]);const _0x2b4f7e=await _0x6e8251['VKOrS'](getCurrentUser,_0x3913b7);if(!_0x2b4f7e[_0x1266d2(0x137)]){if(_0x2b4f7e[_0x1266d2(0x199)])throw new Error(_0x1266d2(0x186)+_0x2b4f7e[_0x1266d2(0x13a)]+_0x1266d2(0x1a3));else throw new Error(_0x1266d2(0x185)+_0x2b4f7e['error']+_0x1266d2(0x15e));}return console[_0x1266d2(0x168)](_0x1266d2(0x1ab)+_0x2b4f7e['user'][_0x1266d2(0x16f)]),await _0x6e8251[_0x1266d2(0x14b)](storeToken,_0x3913b7),console['log'](process['env'][_0x1266d2(0x175)]?_0x6e8251['harIH']:'✓\x20Stored\x20credentials\x20locally'),{'token':_0x3913b7,'method':_0x1266d2(0x13f)};}export async function ensureRangerDir(_0x312c39){const _0x1c0ef8=_0x54248a,_0x14fec9={'HAuhf':function(_0x15b7bc,_0x312a65){return _0x15b7bc===_0x312a65;},'OHtVR':_0x1c0ef8(0x163),'sVEeS':function(_0x46d17c){return _0x46d17c();},'oGOpK':function(_0x2d9708,_0x224c5a,_0xa1eba4){return _0x2d9708(_0x224c5a,_0xa1eba4);},'CiEIA':function(_0x33a8ec){return _0x33a8ec();},'icutW':function(_0x8873d,_0x3c24ac){return _0x8873d(_0x3c24ac);},'OvqOy':_0x1c0ef8(0x192)};let _0x26329b;if(_0x14fec9['HAuhf'](_0x312c39,_0x14fec9['OHtVR']))_0x26329b=_0x14fec9['sVEeS'](getRangerHomeDir);else{const _0x1547eb=findGitRoot();_0x26329b=_0x1547eb?_0x14fec9['oGOpK'](join,_0x1547eb,_0x1c0ef8(0x1a0)):_0x14fec9['CiEIA'](getRangerDir);}return!_0x14fec9['icutW'](existsSync,_0x26329b)?(await mkdir(_0x26329b,{'recursive':!![]}),console['log']('✓\x20Created\x20.ranger/\x20directory'),{'path':_0x26329b,'installed':!![]}):(console['log'](_0x14fec9[_0x1c0ef8(0x146)]),{'path':_0x26329b,'installed':![]});}export async function ensureChromium(_0x5b42f3=![]){const _0x207d15=_0x54248a,_0x5303c8={'JzVAL':function(_0x2e119f){return _0x2e119f();},'vPNdn':function(_0x275786,_0x1ed394){return _0x275786??_0x1ed394;},'FSzHZ':_0x207d15(0x1a6),'tHPwm':_0x207d15(0x144),'ypFSq':_0x207d15(0x16e),'kgrAm':'You\x20can\x20install\x20it\x20manually\x20by\x20running:','dSXDH':_0x207d15(0x19c)};let _0x47ec96=![];try{const _0x5e0320=chromium['executablePath']();_0x47ec96=existsSync(_0x5e0320);}catch{_0x47ec96=![];}if(_0x47ec96)return console[_0x207d15(0x168)](_0x207d15(0x17d)),![];const _0x2f6f3b=_0x5303c8[_0x207d15(0x161)](getPlaywrightVersion),_0xeaacb=_0x5303c8[_0x207d15(0x132)](_0x2f6f3b,PLAYWRIGHT_CHROMIUM_INSTALL_FALLBACK_VERSION),_0x152d45=!_0x2f6f3b,_0x3715d5=process[_0x207d15(0x17f)]['isTTY']&&process['stdout']['isTTY'];let _0xc8b18a=!![];if(_0x3715d5){const {install:_0x18f036}=await _0x1a36b0[_0x207d15(0x1aa)]([{'type':_0x5303c8['FSzHZ'],'name':'install','message':_0x152d45?'Could\x20not\x20determine\x20local\x20Playwright\x20version.\x20Install\x20Playwright\x20Chromium\x20using\x20fallback\x20version\x20'+_0xeaacb+_0x207d15(0x184):'The\x20required\x20version\x20('+_0xeaacb+_0x207d15(0x153),'default':!![]}]);_0xc8b18a=_0x18f036;}else console['log']('\x0aNon-interactive\x20mode:\x20Auto-installing\x20Playwright\x20Chromium\x20'+_0xeaacb+(_0x152d45?_0x207d15(0x143):'')+_0x207d15(0x15a));if(_0xc8b18a){console[_0x207d15(0x168)]('\x0aInstalling\x20Chromium\x20browser...\x0a');try{await installChromiumBinary(_0xeaacb,_0x5b42f3),console['log'](_0x5303c8[_0x207d15(0x14e)]);}catch(_0x4e2eb9){console['error'](_0x5303c8[_0x207d15(0x187)],_0x4e2eb9 instanceof Error?_0x4e2eb9['message']:_0x4e2eb9),console['log'](_0x5303c8['kgrAm']),console[_0x207d15(0x168)](_0x207d15(0x177)+_0xeaacb+_0x207d15(0x17c));}}else console['log'](_0x5303c8[_0x207d15(0x14c)]),console[_0x207d15(0x168)](_0x207d15(0x18b)),console[_0x207d15(0x168)]('\x20\x20npx\x20playwright@'+_0xeaacb+_0x207d15(0x17c));return!![];}export async function writeRangerGitignore(_0x44221e){const _0x3bf606=_0x54248a,_0x1483a1={'ICGqS':_0x3bf606(0x162),'xhplj':function(_0x40f224,_0x113338,_0x2eb1ae){return _0x40f224(_0x113338,_0x2eb1ae);}},_0x3eb0f4=join(_0x44221e,_0x1483a1['ICGqS']),_0x4f7244=_0x3bf606(0x173);await _0x1483a1['xhplj'](writeFile,_0x3eb0f4,_0x4f7244),console['log']('✓\x20Created\x20.ranger/.gitignore');}function printProfileSetupLaterInstructions(){const _0x3a54bc=_0x54248a,_0x42dc55={'tdXMl':'\x0aIn\x20order\x20for\x20Ranger\x20to\x20verify\x20your\x20work,\x20you\x27ll\x20need\x20to\x20set\x20up\x20a\x20profile\x20later\x20with:','fcIlq':function(_0x187675,_0x4b5a01){return _0x187675(_0x4b5a01);},'gpaZP':_0x3a54bc(0x19b)};console['log'](_0x42dc55['tdXMl']),console[_0x3a54bc(0x168)]('\x20\x20'+_0x42dc55['fcIlq'](bold,'ranger\x20profile\x20add\x20local')),console['log'](_0x42dc55[_0x3a54bc(0x183)]);}export async function ensureLocalEnv(_0x4d1fea,_0x24f287){const _0x2a4e00=_0x54248a,_0x57ecd8={'BYMNa':_0x2a4e00(0x182),'XCwgs':function(_0x47a34e,_0x5e5298){return _0x47a34e===_0x5e5298;},'GtWOx':'user','raVbc':function(_0x27ca10,_0x1c123c,_0x56ef89){return _0x27ca10(_0x1c123c,_0x56ef89);},'rHZYW':_0x2a4e00(0x156),'QfXcu':'✓\x20Local\x20profile\x20already\x20exists','ZowaU':_0x2a4e00(0x1a9),'AXbch':'to\x20access\x20your\x20app.\x20If\x20the\x20part\x20of\x20your\x20app\x20you\x20want\x20to\x20test\x20is\x20behind','EtnEF':_0x2a4e00(0x18f),'WofKH':_0x2a4e00(0x159),'zYvoG':'You\x27ll\x20need\x20the\x20app\x20to\x20be\x20running\x20to\x20set\x20up\x20the\x20profile.','InDIc':'wantsProfile','LftLO':function(_0x4e1468){return _0x4e1468();},'YBOwd':function(_0x201d9c,_0x2c7145,_0xa75435,_0x58f930){return _0x201d9c(_0x2c7145,_0xa75435,_0x58f930);},'LEvvf':function(_0x78370,_0xc3b25f){return _0x78370 instanceof _0xc3b25f;},'WoYuz':function(_0x11d60d){return _0x11d60d();}};if(!findGitRoot())return console[_0x2a4e00(0x168)](_0x57ecd8['BYMNa']),{'ready':![],'skipped':!![]};const _0x32ff00=_0x57ecd8[_0x2a4e00(0x140)](_0x4d1fea?.[_0x2a4e00(0x191)],_0x57ecd8['GtWOx'])?getRangerHomeDir():undefined;if(_0x57ecd8[_0x2a4e00(0x1a5)](findExistingEnv,_0x57ecd8[_0x2a4e00(0x180)],{'locations':[_0x57ecd8['rHZYW']],'rangerDir':_0x32ff00}))return console[_0x2a4e00(0x168)](_0x57ecd8['QfXcu']),{'ready':!![],'skipped':![]};const _0x858bf1=process[_0x2a4e00(0x17f)]['isTTY']&&process[_0x2a4e00(0x179)][_0x2a4e00(0x16c)];if(_0x858bf1&&!_0x4d1fea?.['url']){console['log'](_0x57ecd8['ZowaU']),console['log'](_0x57ecd8['AXbch']),console[_0x2a4e00(0x168)](_0x57ecd8['EtnEF']),console[_0x2a4e00(0x168)](_0x57ecd8[_0x2a4e00(0x13e)]),console['log'](_0x57ecd8[_0x2a4e00(0x18d)]);const {wantsProfile:_0x3774a6}=await _0x1a36b0[_0x2a4e00(0x1aa)]([{'type':'confirm','name':_0x57ecd8[_0x2a4e00(0x136)],'message':'Would\x20you\x20like\x20to\x20set\x20up\x20the\x20profile\x20now?','default':!![]}]);if(!_0x3774a6)return _0x57ecd8[_0x2a4e00(0x167)](printProfileSetupLaterInstructions),{'ready':![],'skipped':!![]};}try{return await _0x57ecd8['YBOwd'](addEnv,_0x2a4e00(0x156),{'url':_0x4d1fea?.[_0x2a4e00(0x188)],'force':_0x4d1fea?.['force'],'allowInsecureLocalhost':_0x4d1fea?.[_0x2a4e00(0x139)],'scope':_0x4d1fea?.[_0x2a4e00(0x191)]},_0x24f287),{'ready':!![],'skipped':![]};}catch(_0x4563de){return console['error']('\x0a❌\x20Profile\x20setup\x20failed:',_0x57ecd8[_0x2a4e00(0x141)](_0x4563de,Error)?_0x4563de[_0x2a4e00(0x154)]:_0x4563de),_0x57ecd8[_0x2a4e00(0x158)](printProfileSetupLaterInstructions),{'ready':![],'skipped':![]};}}export async function start(_0x49054a,_0x5d7463,_0x1aa46c){const _0x4fe1ef=_0x54248a,_0x1748e1={'xgEWw':function(_0x175fd4,_0x18eb29){return _0x175fd4===_0x18eb29;},'fsqNN':_0x4fe1ef(0x19a),'fdNSK':function(_0x198390){return _0x198390();},'JweSX':function(_0x2c9cd7,_0x1a7f5f){return _0x2c9cd7+_0x1a7f5f;},'NtMoT':_0x4fe1ef(0x17b),'mjUai':function(_0x5797d4,_0x4bb028){return _0x5797d4(_0x4bb028);},'VDHNy':function(_0x428a19){return _0x428a19();},'ziXnj':'auth','KWOaN':_0x4fe1ef(0x181),'edkBf':'✓\x20Skipping\x20Chromium\x20check\x20(--skip-chromium)','CsXnp':'\x0a✅\x20Ranger\x20setup\x20complete!\x0a','RaeRf':'plugin','nqVyR':function(_0x59d8f0,_0x5a0bd5){return _0x59d8f0&&_0x5a0bd5;},'YlPXC':_0x4fe1ef(0x176),'jARZu':'skills','uHNIe':function(_0x2f4acd,_0x14744e){return _0x2f4acd instanceof _0x14744e;},'qyVRB':function(_0x4d640a,_0x8cf69f){return _0x4d640a===_0x8cf69f;},'vcjEX':'profile','xlASN':function(_0x51a25a,_0x21d917){return _0x51a25a+_0x21d917;}};console[_0x4fe1ef(0x168)]('\x0a🚀\x20Ranger\x20Setup\x0a');const _0x52d301=process['stdin']['isTTY']&&process['stdout'][_0x4fe1ef(0x16c)];!_0x52d301&&!_0x5d7463?.['scope']&&(console[_0x4fe1ef(0x168)](_0x4fe1ef(0x196)),_0x5d7463={..._0x5d7463,'scope':'user'});const _0x30e2f9=_0x1748e1['xgEWw'](_0x5d7463?.['scope'],_0x4fe1ef(0x163));_0x1aa46c?.['trackPhaseStart'](_0x1748e1[_0x4fe1ef(0x14a)]);const _0xb75cfc=_0x1748e1['fdNSK'](findGitRoot);if(!_0xb75cfc&&!_0x30e2f9){await _0x1aa46c?.[_0x4fe1ef(0x151)](_0x4fe1ef(0x19a),new Error(_0x4fe1ef(0x1a2)));throw new Error(_0x1748e1[_0x4fe1ef(0x171)](_0x1748e1[_0x4fe1ef(0x194)],'or\x20use\x20--scope\x20user\x20to\x20install\x20at\x20the\x20user\x20level\x20without\x20a\x20project.'));}_0x1aa46c?.[_0x4fe1ef(0x150)](_0x1748e1[_0x4fe1ef(0x14a)]);const _0x3a1dba=!_0x1748e1['mjUai'](existsSync,_0x1748e1[_0x4fe1ef(0x17e)](getRangerDir)),{path:_0x3bce74}=await ensureRangerDir(_0x30e2f9?_0x4fe1ef(0x163):undefined);if(_0x5d7463?.['skipAuth'])console['log']('✓\x20Skipping\x20authentication\x20(--skip-auth)'),_0x1aa46c?.['trackPhaseEnd'](_0x1748e1[_0x4fe1ef(0x1a4)],{'isFirstRun':_0x3a1dba,'method':_0x4fe1ef(0x169)});else{_0x1aa46c?.['trackPhaseStart'](_0x4fe1ef(0x16b));const _0x1739d2=await authenticate(_0x49054a);_0x1aa46c?.[_0x4fe1ef(0x150)](_0x4fe1ef(0x16b),{'isFirstRun':_0x3a1dba,'method':_0x1739d2['method']});}_0x1aa46c?.[_0x4fe1ef(0x157)](_0x1748e1['KWOaN']);_0x5d7463?.[_0x4fe1ef(0x165)]?console[_0x4fe1ef(0x168)](_0x1748e1['edkBf']):await ensureChromium(_0x5d7463?.[_0x4fe1ef(0x164)]);_0x1aa46c?.[_0x4fe1ef(0x150)](_0x1748e1['KWOaN'],{'isFirstRun':_0x3a1dba,'skipped':!!_0x5d7463?.['skipChromium']});!_0x30e2f9&&await _0x1748e1[_0x4fe1ef(0x1a1)](writeRangerGitignore,_0x3bce74);console['log'](_0x1748e1[_0x4fe1ef(0x152)]);const _0x517ee3=_0x5d7463?.[_0x4fe1ef(0x191)],_0x5c6eaa=_0x5d7463?.[_0x4fe1ef(0x155)]??![];let _0x143463=null;_0x5c6eaa?(_0x1aa46c?.['trackPhaseStart']('plugin'),_0x143463=await _0x1748e1[_0x4fe1ef(0x1a1)](ensureOpencodePluginConfig,_0x517ee3),_0x1aa46c?.[_0x4fe1ef(0x150)]('plugin',{'isFirstRun':_0x3a1dba,'opencode':!![]})):(_0x1aa46c?.['trackPhaseStart'](_0x4fe1ef(0x147)),await ensureClaudePlugin(_0x517ee3),_0x1aa46c?.['trackPhaseEnd'](_0x1748e1[_0x4fe1ef(0x17a)],{'isFirstRun':_0x3a1dba}));if(_0x1748e1['nqVyR'](_0x5c6eaa,_0x143463)){_0x1aa46c?.['trackPhaseStart'](_0x4fe1ef(0x19d));try{await installSkill(_0x1748e1[_0x4fe1ef(0x133)],{'level':_0x143463['scope'],'cliVersion':_0x1748e1[_0x4fe1ef(0x17e)](getCurrentVersion),'platform':_0x4fe1ef(0x155)}),_0x1aa46c?.[_0x4fe1ef(0x150)](_0x1748e1['jARZu'],{'isFirstRun':_0x3a1dba,'opencode':!![]});}catch(_0x3fc13e){console[_0x4fe1ef(0x172)](_0x4fe1ef(0x15f),_0x1748e1[_0x4fe1ef(0x190)](_0x3fc13e,Error)?_0x3fc13e[_0x4fe1ef(0x154)]:_0x3fc13e),_0x1aa46c?.[_0x4fe1ef(0x150)](_0x1748e1['jARZu'],{'isFirstRun':_0x3a1dba,'opencode':!![],'failed':!![]});}}else _0x1aa46c?.[_0x4fe1ef(0x157)](_0x4fe1ef(0x19d)),await ensureClaudeSkills(_0x517ee3),_0x1aa46c?.[_0x4fe1ef(0x150)](_0x4fe1ef(0x19d),{'isFirstRun':_0x3a1dba});if(_0x5d7463?.['skipAuth'])console['log'](_0x4fe1ef(0x145));else{if(!_0x52d301&&!_0x5d7463?.[_0x4fe1ef(0x188)])console['log']('Non-interactive\x20mode:\x20Skipping\x20profile\x20setup.\x20To\x20set\x20up\x20a\x20profile,\x20pass\x20--url\x20or\x20run\x20later:'),console['log']('\x20\x20'+_0x1748e1[_0x4fe1ef(0x1a1)](bold,'ranger\x20profile\x20add\x20local')+'\x0a');else{_0x1aa46c?.[_0x4fe1ef(0x157)]('profile');const _0x56b08e=await ensureLocalEnv({'url':_0x5d7463?.[_0x4fe1ef(0x188)],'force':_0x5d7463?.['force'],'allowInsecureLocalhost':_0x5d7463?.[_0x4fe1ef(0x139)],'scope':_0x1748e1['qyVRB'](_0x5d7463?.['scope'],_0x4fe1ef(0x163))?_0x4fe1ef(0x163):undefined},_0x1aa46c);_0x1aa46c?.[_0x4fe1ef(0x150)](_0x1748e1[_0x4fe1ef(0x178)],{'isFirstRun':_0x3a1dba,'profileReady':_0x56b08e[_0x4fe1ef(0x18a)],'userSkipped':_0x56b08e[_0x4fe1ef(0x169)]}),_0x56b08e[_0x4fe1ef(0x18a)]&&console[_0x4fe1ef(0x168)]('\x0a✅\x20You\x27re\x20ready\x20to\x20start\x20using\x20Ranger\x20Feature\x20Review.');}}if(_0x5c6eaa)console[_0x4fe1ef(0x168)](_0x4fe1ef(0x193)),console['log']('and\x20prompt\x20the\x20agent\x20like\x20usual.\x20Ranger\x20will\x20create\x20a\x20feature\x20review'),console[_0x4fe1ef(0x168)]('with\x20scenarios\x20describing\x20what\x20to\x20verify\x20and\x20then\x20run\x20browser'),console[_0x4fe1ef(0x168)]('verification\x20to\x20check\x20its\x20work\x20as\x20it\x20builds.');else{const _0x3149c6=_0x1748e1['mjUai'](bold,_0x4fe1ef(0x197));console['log'](_0x1748e1[_0x4fe1ef(0x18e)](_0x1748e1[_0x4fe1ef(0x171)]('\x0aIn\x20Claude\x20Code,\x20run\x20'+_0x3149c6+_0x4fe1ef(0x160),'\x0aagent\x20like\x20usual.\x20Claude\x20will\x20create\x20a\x20feature\x20review\x20with'),_0x4fe1ef(0x15d))+'\x0averification\x20to\x20check\x20its\x20work\x20as\x20it\x20builds.');}}
1
+ const _0x17d1d2=_0x5e30;(function(_0x133db8,_0x4b522e){const _0x51da45=_0x5e30,_0x451f2e=_0x133db8();while(!![]){try{const _0x25d53e=-parseInt(_0x51da45(0x124))/0x1+parseInt(_0x51da45(0x11d))/0x2*(-parseInt(_0x51da45(0x104))/0x3)+parseInt(_0x51da45(0x125))/0x4+-parseInt(_0x51da45(0x12f))/0x5*(-parseInt(_0x51da45(0xd5))/0x6)+parseInt(_0x51da45(0x102))/0x7+-parseInt(_0x51da45(0xd8))/0x8+parseInt(_0x51da45(0xf6))/0x9;if(_0x25d53e===_0x4b522e)break;else _0x451f2e['push'](_0x451f2e['shift']());}catch(_0x3bc3df){_0x451f2e['push'](_0x451f2e['shift']());}}}(_0xf18b,0x993f8));import{mkdir,writeFile}from'fs/promises';function _0xf18b(){const _0x4faa91=['ihkhh','AZLCU','1488487sjCACf','lMziH','21UvZnCj','\x0a\x20\x20(opens\x20a\x20browser\x20so\x20you\x20can\x20log\x20in\x20once)','user','skipped','QlcMT','error','deHOs','inherit','trackPhaseEnd','--with-deps','.gitignore','nIdrF','ranger\x20setup\x20--scope=','Authentication\x20failed:\x20','chromium','message','✓\x20Skipping\x20Chromium\x20check\x20(--skip-chromium)','ready','device_auth','organizationName','project-scope\x20setup\x20obsolete).\x20Drop\x20the\x20--scope\x20flag\x20or\x20pass\x20--scope=user.','executablePath','VGiem','✓\x20Stored\x20credentials\x20locally','wbzgz','87692JiwcYd','playwright@','opencode','\x0aSkipping\x20profile\x20setup\x20(--skip-auth).\x20Run\x20`ranger\x20setup`\x20with\x20auth\x20to\x20add\x20a\x20profile\x20later.\x0a','\x0aIn\x20Claude\x20Code,\x20run\x20','plugin','\x0aagent\x20like\x20usual.\x20Claude\x20will\x20create\x20a\x20feature\x20review\x20with','771695tzIOoD','777076HxtRRG','force','vSAwY','✓\x20Created\x20.ranger/.gitignore','NQssE','✓\x20Authenticated\x20to\x20','owlvL','Installation\x20failed\x20with\x20exit\x20code\x20','verification\x20to\x20check\x20its\x20work\x20as\x20it\x20builds.','install','336130pGYwCQ','playwright/package.json','log','npx','✓\x20Playwright\x20Chromium\x20browser\x20found','\x0aNon-interactive\x20mode:\x20Auto-installing\x20Playwright\x20Chromium\x20','WfPMA','\x0a\x0aFor\x20CI\x20/\x20background\x20agents\x20and\x20other\x20setup\x20options,\x20see:','\x20install\x20chromium','\x0a⚠\x20Skipping\x20Chromium\x20installation.','skipChromium','18agOWiJ','You\x20will\x20need\x20to\x20install\x20it\x20before\x20using\x20Ranger:','\x0a❌\x20Failed\x20to\x20install\x20Chromium:','1161616tQUzku','version','\x1b[0m','\x0a\x20\x20','✓\x20Exported\x20credentials\x20for\x20CI','⚠\x20No\x20git\x20repository\x20found.\x20Re-run\x20with\x20`--scope\x20user`\x20to\x20store\x20the\x20profile\x20at\x20~/.ranger/.',')\x20of\x20the\x20Playwright\x20Chromium\x20browser\x20is\x20not\x20installed.\x20Install\x20it\x20now?','skills','win32','lFJgH','sYXOh','1.58.2','ICyof','success','AXmWU','/ranger:enable','vBHqZ','trackPhaseStart','scope','\x0a✅\x20Ranger\x20setup\x20complete!\x0a','WjTco','\x0aTo\x20set\x20up\x20a\x20profile\x20for\x20your\x20app,\x20run:','\x20(fallback\x20version)','jEZAn','auth','\x20is\x20no\x20longer\x20supported.\x20','✓\x20Already\x20authenticated\x20to\x20','\x1b[1m','prompt','Failed\x20to\x20connect\x20to\x20MCP\x20server:\x20','11186415GhmrXs','bJZDt','GvhhT','OoGsb','\x0aIn\x20OpenCode,\x20enable\x20Ranger\x20hooks\x20(run\x20the\x20`ranger_enable`\x20tool)','ranger','skipAuth','status','local','isTTY'];_0xf18b=function(){return _0x4faa91;};return _0xf18b();}import{join}from'path';import{existsSync}from'fs';import{createRequire}from'module';import{spawn}from'child_process';import _0x77a804 from'inquirer';import{getToken,storeToken}from'./utils/keychain.js';import{getCurrentUser}from'./utils/userApi.js';import{chromium}from'playwright';import{addEnv}from'./addEnv.js';import{getRangerHomeDir,findGitRoot}from'./utils/rangerRoot.js';import{runDeviceAuthFlow}from'./utils/deviceAuth.js';import{findExistingEnv}from'./utils/settings.js';function _0x5e30(_0x2bac6f,_0x3f1330){_0x2bac6f=_0x2bac6f-0xcd;const _0xf18b1d=_0xf18b();let _0x5e3086=_0xf18b1d[_0x2bac6f];return _0x5e3086;}import{getCurrentVersion}from'./utils/version.js';import{ensureClaudePlugin,ensureClaudeSkills}from'./setup/claude.js';import{ensureOpencodePluginConfig}from'./setup/opencode.js';import{installSkill}from'./utils/skills.js';const require=createRequire(import.meta.url);export const PLAYWRIGHT_CHROMIUM_INSTALL_FALLBACK_VERSION=_0x17d1d2(0xe3);const bold=_0x4e722f=>_0x17d1d2(0xf3)+_0x4e722f+_0x17d1d2(0xda);export function getPlaywrightVersion(){const _0x5008d6=_0x17d1d2,_0x3e3a0b={'MiYZo':_0x5008d6(0x130),'EKNpJ':function(_0x20e58d,_0x41c664){return _0x20e58d(_0x41c664);}};try{const _0x6b9b99=require['resolve'](_0x3e3a0b['MiYZo']),_0x3f447a=_0x3e3a0b['EKNpJ'](require,_0x6b9b99);return _0x3f447a[_0x5008d6(0xd9)];}catch{return null;}}export function installChromiumBinary(_0xedf65e,_0x3a4b09=![]){const _0xc988ca=_0x17d1d2,_0x68b827={'WfPMA':function(_0x340871,_0x501e9a){return _0x340871===_0x501e9a;},'owlvL':function(_0xdb00b,_0x16d0b9){return _0xdb00b(_0x16d0b9);},'vSAwY':'install','sYXOh':_0xc988ca(0x10b),'wbzgz':function(_0x24992c,_0x3bd439){return _0x24992c===_0x3bd439;}};return new Promise((_0x1e62c5,_0x23ccb1)=>{const _0x370cd3=_0xc988ca,_0x1a00b5={'WjTco':function(_0x2559fc,_0x1feef8){const _0x14869b=_0x5e30;return _0x68b827[_0x14869b(0xd0)](_0x2559fc,_0x1feef8);},'deHOs':function(_0x5823be,_0x4b3265){const _0x534712=_0x5e30;return _0x68b827[_0x534712(0x12b)](_0x5823be,_0x4b3265);}},_0x4a9f60=[_0x370cd3(0x11e)+_0xedf65e,_0x68b827[_0x370cd3(0x127)],..._0x3a4b09?[_0x370cd3(0x10d)]:[],'chromium'],_0x3abaee=spawn(_0x370cd3(0xcd),_0x4a9f60,{'stdio':['ignore',_0x68b827[_0x370cd3(0xe2)],_0x68b827[_0x370cd3(0xe2)]],'shell':_0x68b827[_0x370cd3(0x11c)](process['platform'],_0x370cd3(0xe0))});_0x3abaee['on']('close',_0x96d0e2=>{const _0x5b6477=_0x370cd3;_0x1a00b5[_0x5b6477(0xec)](_0x96d0e2,0x0)?_0x1e62c5():_0x23ccb1(new Error(_0x5b6477(0x12c)+_0x96d0e2));}),_0x3abaee['on'](_0x370cd3(0x109),_0x5c9fc8=>{const _0x18cbf0=_0x370cd3;_0x1a00b5[_0x18cbf0(0x10a)](_0x23ccb1,_0x5c9fc8);});});}export async function authenticate(_0x2611cf){const _0x15eee1=_0x17d1d2,_0xd2330={'utHgT':function(_0x5892d6){return _0x5892d6();},'wvYQb':'existing_token','wrfvj':function(_0x4d7258,_0x56889c){return _0x4d7258 instanceof _0x56889c;},'gcAPD':_0x15eee1(0x116),'RPtAq':function(_0x1052b0,_0x22c4b1){return _0x1052b0(_0x22c4b1);},'nvVKY':'provided_token'};if(!_0x2611cf){const _0x9906a9=await _0xd2330['utHgT'](getToken);if(_0x9906a9){const _0x3c2be6=await getCurrentUser(_0x9906a9);if(_0x3c2be6['success'])return console[_0x15eee1(0x131)](_0x15eee1(0xf2)+_0x3c2be6['user'][_0x15eee1(0x117)]),{'token':_0x9906a9,'method':_0xd2330['wvYQb']};}try{_0x2611cf=await runDeviceAuthFlow();}catch(_0x39bae7){throw new Error(_0x15eee1(0x111)+(_0xd2330['wrfvj'](_0x39bae7,Error)?_0x39bae7['message']:_0x39bae7));}const _0x537db4=await getCurrentUser(_0x2611cf);if(!_0x537db4['success'])throw new Error('Failed\x20to\x20validate\x20provisioned\x20API\x20key:\x20'+_0x537db4[_0x15eee1(0x109)]);return console[_0x15eee1(0x131)](_0x15eee1(0x12a)+_0x537db4['user'][_0x15eee1(0x117)]),{'token':_0x2611cf,'method':_0xd2330['gcAPD']};}console['log']('Validating\x20API\x20token...');const _0x297ab1=await _0xd2330['RPtAq'](getCurrentUser,_0x2611cf);if(!_0x297ab1[_0x15eee1(0xe5)]){if(_0x297ab1[_0x15eee1(0xfd)])throw new Error(_0x15eee1(0x111)+_0x297ab1['error']+'.\x20Please\x20check\x20your\x20API\x20token\x20and\x20try\x20again.');else throw new Error(_0x15eee1(0xf5)+_0x297ab1['error']+'.\x20Please\x20check\x20your\x20network\x20connection\x20and\x20server\x20URL.');}return console[_0x15eee1(0x131)](_0x15eee1(0x12a)+_0x297ab1['user'][_0x15eee1(0x117)]),await storeToken(_0x2611cf),console[_0x15eee1(0x131)](process['env']['GITHUB_ENV']?_0x15eee1(0xdc):_0x15eee1(0x11b)),{'token':_0x2611cf,'method':_0xd2330['nvVKY']};}export async function ensureRangerDir(_0x37046b){const _0x2aa609=_0x17d1d2,_0x3ccb9e={'YDqct':function(_0x26ec74,_0x582f33,_0x35434a){return _0x26ec74(_0x582f33,_0x35434a);}};void _0x37046b;const _0x174b4f=getRangerHomeDir();return!existsSync(_0x174b4f)?(await _0x3ccb9e['YDqct'](mkdir,_0x174b4f,{'recursive':!![]}),console['log']('✓\x20Created\x20~/.ranger/\x20directory'),{'path':_0x174b4f,'installed':!![]}):(console[_0x2aa609(0x131)]('✓\x20~/.ranger/\x20directory\x20already\x20exists'),{'path':_0x174b4f,'installed':![]});}export async function ensureChromium(_0x5a4627=![]){const _0x52efea=_0x17d1d2,_0x3a06ed={'wWcJi':function(_0x555f16,_0x429fc0){return _0x555f16(_0x429fc0);},'AXmWU':function(_0x95956e,_0x4c86fa){return _0x95956e??_0x4c86fa;},'PYiDI':'confirm','uzdhm':'\x0aInstalling\x20Chromium\x20browser...\x0a','PcmXX':function(_0x50365b,_0x4132b4,_0xa676ed){return _0x50365b(_0x4132b4,_0xa676ed);},'NQssE':'You\x20can\x20install\x20it\x20manually\x20by\x20running:'};let _0x231861=![];try{const _0x53c44c=chromium[_0x52efea(0x119)]();_0x231861=_0x3a06ed['wWcJi'](existsSync,_0x53c44c);}catch{_0x231861=![];}if(_0x231861)return console['log'](_0x52efea(0xce)),![];const _0x2f7687=getPlaywrightVersion(),_0x2b142b=_0x3a06ed[_0x52efea(0xe6)](_0x2f7687,PLAYWRIGHT_CHROMIUM_INSTALL_FALLBACK_VERSION),_0x1af8d6=!_0x2f7687,_0x189ab7=process['stdin'][_0x52efea(0xff)]&&process['stdout']['isTTY'];let _0x53a038=!![];if(_0x189ab7){const {install:_0x3c90c0}=await _0x77a804[_0x52efea(0xf4)]([{'type':_0x3a06ed['PYiDI'],'name':_0x52efea(0x12e),'message':_0x1af8d6?'Could\x20not\x20determine\x20local\x20Playwright\x20version.\x20Install\x20Playwright\x20Chromium\x20using\x20fallback\x20version\x20'+_0x2b142b+'\x20now?':'The\x20required\x20version\x20('+_0x2b142b+_0x52efea(0xde),'default':!![]}]);_0x53a038=_0x3c90c0;}else console[_0x52efea(0x131)](_0x52efea(0xcf)+_0x2b142b+(_0x1af8d6?_0x52efea(0xee):'')+'...');if(_0x53a038){console['log'](_0x3a06ed['uzdhm']);try{await _0x3a06ed['PcmXX'](installChromiumBinary,_0x2b142b,_0x5a4627),console[_0x52efea(0x131)]('\x0a✓\x20Playwright\x20Chromium\x20installed\x20successfully');}catch(_0x36ca84){console[_0x52efea(0x109)](_0x52efea(0xd7),_0x36ca84 instanceof Error?_0x36ca84[_0x52efea(0x113)]:_0x36ca84),console[_0x52efea(0x131)](_0x3a06ed[_0x52efea(0x129)]),console[_0x52efea(0x131)]('\x20\x20npx\x20playwright@'+_0x2b142b+'\x20install\x20chromium');}}else console[_0x52efea(0x131)](_0x52efea(0xd3)),console[_0x52efea(0x131)](_0x52efea(0xd6)),console['log']('\x20\x20npx\x20playwright@'+_0x2b142b+_0x52efea(0xd2));return!![];}export async function writeRangerGitignore(_0x1fb91f){const _0x5b24b3=_0x17d1d2,_0x29b672={'QlcMT':function(_0x19c9e8,_0x53deb9,_0x4b40b6){return _0x19c9e8(_0x53deb9,_0x4b40b6);},'ciQfB':_0x5b24b3(0x128)},_0x18c6a7=join(_0x1fb91f,_0x5b24b3(0x10e)),_0x2cd1be='\x0a\x0a#\x20Ignore\x20local-only\x20directories\x0alocal/\x0asessions/\x0abug-bashes/\x0areports/\x0afeedback-images/\x0a\x0aactive-profile.txt\x0aactive-feature.txt\x0a.gitignore\x0a\x0a#\x20Ignore\x20plaintext\x20auth\x20files\x20(encrypted\x20.enc\x20files\x20are\x20safe\x20to\x20commit)\x0a**/auth.json\x0a';await _0x29b672[_0x5b24b3(0x108)](writeFile,_0x18c6a7,_0x2cd1be),console['log'](_0x29b672['ciQfB']);}export async function ensureLocalEnv(_0x138311,_0x32893f){const _0x2e69aa=_0x17d1d2,_0x1a78e1={'EMMgn':_0x2e69aa(0x106),'qOwSZ':_0x2e69aa(0xdd),'iobjt':function(_0x1e8ebf,_0x3a1a1e,_0xe67d00){return _0x1e8ebf(_0x3a1a1e,_0xe67d00);},'GvhhT':'✓\x20Local\x20profile\x20already\x20exists','ICyof':function(_0x2bbfe0,_0x4d891c,_0x34e530,_0x12ad91){return _0x2bbfe0(_0x4d891c,_0x34e530,_0x12ad91);},'HxlyX':_0x2e69aa(0xfe),'eDnhc':'\x0a❌\x20Profile\x20setup\x20failed:','AdtpF':function(_0x2619a8,_0xa5bff9){return _0x2619a8 instanceof _0xa5bff9;}};if(!findGitRoot()&&_0x138311?.['scope']!==_0x1a78e1['EMMgn'])return console['log'](_0x1a78e1['qOwSZ']),{'ready':![],'skipped':!![]};const _0x1b3abe=_0x138311?.['scope']===_0x1a78e1['EMMgn']?getRangerHomeDir():undefined;if(_0x1a78e1['iobjt'](findExistingEnv,'local',{'locations':[_0x2e69aa(0xfe)],'rangerDir':_0x1b3abe}))return console['log'](_0x1a78e1[_0x2e69aa(0xf8)]),{'ready':!![],'skipped':![]};try{return await _0x1a78e1[_0x2e69aa(0xe4)](addEnv,_0x1a78e1['HxlyX'],{'url':_0x138311?.['url'],'force':_0x138311?.[_0x2e69aa(0x126)],'allowInsecureLocalhost':_0x138311?.['allowInsecureLocalhost'],'scope':_0x138311?.['scope']},_0x32893f),{'ready':!![],'skipped':![]};}catch(_0x12b74a){return console[_0x2e69aa(0x109)](_0x1a78e1['eDnhc'],_0x1a78e1['AdtpF'](_0x12b74a,Error)?_0x12b74a[_0x2e69aa(0x113)]:_0x12b74a),{'ready':![],'skipped':![]};}}export async function start(_0x389ea5,_0x14ec4c,_0x54234e){const _0x6e91e6=_0x17d1d2,_0x285fd1={'nIdrF':'\x0a🚀\x20Ranger\x20Setup\x0a','AZLCU':function(_0x18abca,_0x113f2b){return _0x18abca!==_0x113f2b;},'RFEhz':function(_0x3888d6,_0x3a6afd){return _0x3888d6+_0x3a6afd;},'lFJgH':function(_0x54142f,_0x41da4e){return _0x54142f(_0x41da4e);},'NdsnN':'✓\x20Skipping\x20authentication\x20(--skip-auth)','GdyCK':'skipped','bJZDt':_0x6e91e6(0x122),'ihkhh':function(_0x40ca2d,_0x31234e){return _0x40ca2d&&_0x31234e;},'vBHqZ':'skills','JEFDa':_0x6e91e6(0xfb),'VGiem':function(_0x2ebc00){return _0x2ebc00();},'yzsYT':_0x6e91e6(0x11f),'lMziH':function(_0xf59cf,_0x2c2f9b){return _0xf59cf instanceof _0x2c2f9b;},'VCuJM':'user','gZcvC':'profile','OoGsb':function(_0xed8e3a,_0x526927){return _0xed8e3a+_0x526927;},'seGlh':function(_0x351d3f,_0x7cd464){return _0x351d3f+_0x7cd464;},'SskGZ':'ranger\x20profile\x20add\x20<name>','zbOGn':_0x6e91e6(0xfa),'jEZAn':'with\x20scenarios\x20describing\x20what\x20to\x20verify\x20and\x20then\x20run\x20browser','oryzf':function(_0x1ec5fd,_0x32c60a){return _0x1ec5fd+_0x32c60a;}};console['log'](_0x285fd1[_0x6e91e6(0x10f)]);_0x285fd1[_0x6e91e6(0x101)](_0x14ec4c?.['scope'],undefined)&&_0x285fd1[_0x6e91e6(0x101)](_0x14ec4c['scope'],_0x6e91e6(0x106))&&(console[_0x6e91e6(0x109)](_0x285fd1['RFEhz'](_0x6e91e6(0x110)+String(_0x14ec4c[_0x6e91e6(0xea)])+_0x6e91e6(0xf1),'Setup\x20always\x20installs\x20at\x20user\x20scope\x20now\x20(cloud\x20profiles\x20make\x20')+_0x6e91e6(0x118)),process['exit'](0x1));_0x14ec4c={..._0x14ec4c,'scope':_0x6e91e6(0x106)};const _0x404117=!existsSync(getRangerHomeDir());await _0x285fd1[_0x6e91e6(0xe1)](ensureRangerDir,_0x6e91e6(0x106));if(_0x14ec4c?.[_0x6e91e6(0xfc)])console[_0x6e91e6(0x131)](_0x285fd1['NdsnN']),_0x54234e?.['trackPhaseEnd'](_0x6e91e6(0xf0),{'isFirstRun':_0x404117,'method':_0x285fd1['GdyCK']});else{_0x54234e?.[_0x6e91e6(0xe9)]('auth');const _0x29f7e8=await authenticate(_0x389ea5);_0x54234e?.[_0x6e91e6(0x10c)]('auth',{'isFirstRun':_0x404117,'method':_0x29f7e8['method']});}_0x54234e?.['trackPhaseStart']('chromium');_0x14ec4c?.[_0x6e91e6(0xd4)]?console['log'](_0x6e91e6(0x114)):await ensureChromium(_0x14ec4c?.['withDeps']);_0x54234e?.[_0x6e91e6(0x10c)](_0x6e91e6(0x112),{'isFirstRun':_0x404117,'skipped':!!_0x14ec4c?.['skipChromium']}),console[_0x6e91e6(0x131)](_0x6e91e6(0xeb));const _0x1ae43d=_0x14ec4c?.['scope'],_0x57ca3e=_0x14ec4c?.['opencode']??![];let _0x51859d=null;_0x57ca3e?(_0x54234e?.['trackPhaseStart'](_0x285fd1[_0x6e91e6(0xf7)]),_0x51859d=await _0x285fd1['lFJgH'](ensureOpencodePluginConfig,_0x1ae43d),_0x54234e?.['trackPhaseEnd'](_0x285fd1[_0x6e91e6(0xf7)],{'isFirstRun':_0x404117,'opencode':!![]})):(_0x54234e?.[_0x6e91e6(0xe9)]('plugin'),await ensureClaudePlugin(_0x1ae43d),_0x54234e?.[_0x6e91e6(0x10c)](_0x285fd1[_0x6e91e6(0xf7)],{'isFirstRun':_0x404117}));if(_0x285fd1[_0x6e91e6(0x100)](_0x57ca3e,_0x51859d)){_0x54234e?.['trackPhaseStart'](_0x285fd1['vBHqZ']);try{await installSkill(_0x285fd1['JEFDa'],{'level':_0x51859d[_0x6e91e6(0xea)],'cliVersion':_0x285fd1[_0x6e91e6(0x11a)](getCurrentVersion),'platform':_0x285fd1['yzsYT']}),_0x54234e?.[_0x6e91e6(0x10c)](_0x285fd1[_0x6e91e6(0xe8)],{'isFirstRun':_0x404117,'opencode':!![]});}catch(_0x187697){console['warn']('\x20\x20Failed\x20to\x20install\x20OpenCode\x20skill:',_0x285fd1[_0x6e91e6(0x103)](_0x187697,Error)?_0x187697['message']:_0x187697),_0x54234e?.[_0x6e91e6(0x10c)](_0x285fd1[_0x6e91e6(0xe8)],{'isFirstRun':_0x404117,'opencode':!![],'failed':!![]});}}else _0x54234e?.['trackPhaseStart'](_0x6e91e6(0xdf)),await ensureClaudeSkills(_0x1ae43d),_0x54234e?.[_0x6e91e6(0x10c)]('skills',{'isFirstRun':_0x404117});if(_0x14ec4c?.[_0x6e91e6(0xfc)])console[_0x6e91e6(0x131)](_0x6e91e6(0x120));else{if(_0x14ec4c?.['url']){_0x54234e?.['trackPhaseStart']('profile');const _0x8d2c85=await ensureLocalEnv({'url':_0x14ec4c['url'],'force':_0x14ec4c?.['force'],'allowInsecureLocalhost':_0x14ec4c?.['allowInsecureLocalhost'],'scope':_0x285fd1['VCuJM']},_0x54234e);_0x54234e?.[_0x6e91e6(0x10c)](_0x285fd1['gZcvC'],{'isFirstRun':_0x404117,'profileReady':_0x8d2c85[_0x6e91e6(0x115)],'userSkipped':_0x8d2c85[_0x6e91e6(0x107)]});}else console['log'](_0x285fd1[_0x6e91e6(0xf9)](_0x285fd1['seGlh'](_0x6e91e6(0xed),_0x6e91e6(0xdb)+_0x285fd1['lFJgH'](bold,_0x285fd1['SskGZ']))+_0x6e91e6(0x105),_0x6e91e6(0xd1))+'\x0a\x20\x20https://docs.ranger.net/main/concepts/profiles');}if(_0x57ca3e)console['log'](_0x285fd1['zbOGn']),console['log']('and\x20prompt\x20the\x20agent\x20like\x20usual.\x20Ranger\x20will\x20create\x20a\x20feature\x20review'),console['log'](_0x285fd1[_0x6e91e6(0xef)]),console[_0x6e91e6(0x131)](_0x6e91e6(0x12d));else{const _0xae5bb1=bold(_0x6e91e6(0xe7));console[_0x6e91e6(0x131)](_0x285fd1['OoGsb'](_0x285fd1['oryzf'](_0x6e91e6(0x121)+_0xae5bb1+'\x20and\x20prompt\x20the\x20coding'+_0x6e91e6(0x123),'\x0ascenarios\x20describing\x20what\x20to\x20verify\x20and\x20then\x20run\x20browser'),'\x0averification\x20to\x20check\x20its\x20work\x20as\x20it\x20builds.'));}}
@@ -1 +1 @@
1
- const _0x562cb6=_0x1ce5;(function(_0x3eac58,_0x2dea1c){const _0xe33065=_0x1ce5,_0x25b555=_0x3eac58();while(!![]){try{const _0x4361ea=-parseInt(_0xe33065(0x20d))/0x1+parseInt(_0xe33065(0x217))/0x2+parseInt(_0xe33065(0x1ce))/0x3*(-parseInt(_0xe33065(0x1cd))/0x4)+-parseInt(_0xe33065(0x1fc))/0x5+-parseInt(_0xe33065(0x1c7))/0x6+-parseInt(_0xe33065(0x1eb))/0x7+parseInt(_0xe33065(0x213))/0x8*(parseInt(_0xe33065(0x1e5))/0x9);if(_0x4361ea===_0x2dea1c)break;else _0x25b555['push'](_0x25b555['shift']());}catch(_0x354173){_0x25b555['push'](_0x25b555['shift']());}}}(_0x984d,0xa421f));import{readFile,readdir}from'fs/promises';import{join,basename}from'path';import{existsSync}from'fs';import{getToken}from'./utils/keychain.js';import{getCurrentVersion,getLatestVersion}from'./utils/version.js';import{getApiBaseUrl,getCurrentEnvironment}from'./utils/environment.js';import{getProjectSkillsDir,getUserSkillsDir}from'./utils/claudeConfig.js';function _0x1ce5(_0x24d27d,_0x58d5dc){_0x24d27d=_0x24d27d-0x1b8;const _0x984d39=_0x984d();let _0x1ce5c8=_0x984d39[_0x24d27d];return _0x1ce5c8;}import{getEnvNames}from'./env.js';import{getCurrentUser}from'./utils/userApi.js';function _0x984d(){const _0x5f3a2b=['rFZwI','\x1b[1m','\x0a---\x20OpenCode\x20Plugin\x20---','GDFyq','Organization:\x20','PCTTY','IXIVA','6204240hFlrsZ','\x20\x20Run:\x20ranger\x20update','clQJh','rbEcy','debug','CBCwd','23212hmwvkQ','123CfhkSW','Root:\x20','version','toString','unknown','data','not_configured','path','GRuda','some','YzsDX','length','xToXK','displayName','JiOFE','configured','Version:\x20','not_installed','\x20\x20\x20\x20Settings:\x20','isDirectory','disabled','\x20\x20Run:\x20ranger\x20profile\x20use\x20<profile-name>\x20\x20(available:\x20','(not\x20found)','1773iSsslY','\x0a---\x20Profiles\x20---','opencode','details','scope','MQbNf','5349162BYqvXl','status','RDjKT','yfRcB','user','\x20\x20Not\x20installed','WPsQK','IHohX','No\x20skills\x20installed','cyWnm','parse','plaintext','none','\x0a📊\x20Ranger\x20Status\x0a','EJgME','stderr','enabled','4422160aelpvj','YRtrW','API\x20Environment:\x20','UXCyh','RpQfR','tiLAd','TPWbl','YPocP','DEBUG','\x1b]8;;file://','@ranger-testing/opencode-plugin','DsOKE','ignore','YgqwA','laYzW','config','\x20\x20Not\x20configured','628990pKhFCz','push','ranger@trailhead','name','nJxGx','OHnBL','166528gPcVKo','match','\x20\x20\x20\x20','\x1b]8;;\x07','242172cCIgzc','jQKlt','aKmny','isArray','API\x20Token:\x20✓\x20Found\x20but\x20invalid\x20or\x20expired','\x20\x20Run:\x20ranger\x20profile\x20add\x20<profile-name>','log','\x20\x20User-level:','YpArt','API\x20URL:\x20','\x1b[0m','bpkaE'];_0x984d=function(){return _0x5f3a2b;};return _0x984d();}import{getRangerDir}from'./utils/rangerRoot.js';import{getEnvDir}from'./utils/settings.js';import{getPluginInfo}from'./utils/claudePlugin.js';import{RANGER_MANAGED_SKILLS}from'./utils/skills.js';import{spawn}from'child_process';const bold=_0x293f69=>_0x562cb6(0x1c1)+_0x293f69+_0x562cb6(0x1be),link=(_0x51ba32,_0x474d0e)=>_0x562cb6(0x205)+_0x51ba32+'\x07'+(_0x474d0e||_0x51ba32)+_0x562cb6(0x216);async function getOpencodePluginStatus(){const _0x5187d2=_0x562cb6,_0x5d3989={'WPsQK':function(_0x2b4e23,_0x4320c9){return _0x2b4e23!==_0x4320c9;},'YzsDX':'string','YkQAQ':'opencode-plugin','aKmny':function(_0x2f4206,_0xd04341){return _0x2f4206(_0xd04341);},'kQzZW':'not_configured','YgqwA':_0x5187d2(0x1e7),'xToXK':'pipe','BYyrI':_0x5187d2(0x1d3),'MQbNf':'close'};return new Promise(_0xe5aa13=>{const _0x8bcf61=_0x5187d2,_0x3e315f={'gQfZn':function(_0xbef3c9,_0x33ee9d){const _0xd98c16=_0x1ce5;return _0x5d3989[_0xd98c16(0x1f1)](_0xbef3c9,_0x33ee9d);},'hopXx':_0x5d3989[_0x8bcf61(0x1d8)],'VVshs':_0x5d3989['YkQAQ'],'OHnBL':function(_0x5c4cf8,_0x39a696){return _0x5c4cf8(_0x39a696);},'nJxGx':function(_0x5e46e1,_0xa22e65){const _0x5f445c=_0x8bcf61;return _0x5d3989[_0x5f445c(0x219)](_0x5e46e1,_0xa22e65);},'laYzW':function(_0x1da3dd,_0x41e56d){return _0x1da3dd>_0x41e56d;},'QYAFt':function(_0x15a88c,_0x28253a){return _0x15a88c(_0x28253a);},'YPocP':_0x5d3989['kQzZW']},_0x26257a=spawn(_0x5d3989[_0x8bcf61(0x209)],[_0x8bcf61(0x1cb),_0x8bcf61(0x20b)],{'stdio':[_0x8bcf61(0x208),_0x5d3989[_0x8bcf61(0x1da)],_0x5d3989['xToXK']]});let _0x35f299='';_0x26257a['stdout']?.['on'](_0x5d3989['BYyrI'],_0x59adbb=>{_0x35f299+=_0x59adbb['toString']();}),_0x26257a[_0x8bcf61(0x1fa)]?.['on']('data',_0x5c0e9b=>{const _0x3aea7c=_0x8bcf61;_0x35f299+=_0x5c0e9b[_0x3aea7c(0x1d1)]();}),_0x26257a['on']('error',()=>{const _0x333d85=_0x8bcf61;_0xe5aa13({'status':_0x333d85(0x1df)});}),_0x26257a['on'](_0x5d3989[_0x8bcf61(0x1ea)],_0x85741e=>{const _0x4a2c44=_0x8bcf61;if(_0x85741e!==0x0){_0x3e315f['OHnBL'](_0xe5aa13,{'status':'not_installed'});return;}const _0x1379d1=_0x35f299['trim']();let _0x9f5ef2=null;if(_0x1379d1)try{_0x9f5ef2=JSON['parse'](_0x1379d1);}catch{const _0x57429d=_0x1379d1['match'](/\{[\s\S]*\}$/);if(_0x57429d)try{_0x9f5ef2=JSON[_0x4a2c44(0x1f5)](_0x57429d[0x0]);}catch{_0x9f5ef2=null;}}const _0x34af8a=Array[_0x4a2c44(0x21a)](_0x9f5ef2?.['plugin'])?_0x9f5ef2?.['plugin']:[],_0x4c4146=_0x34af8a[_0x4a2c44(0x1d7)](_0xb3f061=>{const _0x15e758=_0x4a2c44;if(_0x3e315f['gQfZn'](typeof _0xb3f061,_0x3e315f['hopXx']))return![];return _0xb3f061['includes'](_0x15e758(0x206))||_0xb3f061['includes'](_0x3e315f['VVshs']);});if(_0x4c4146){_0x3e315f[_0x4a2c44(0x211)](_0xe5aa13,{'status':_0x4a2c44(0x1dd),'details':_0x3e315f[_0x4a2c44(0x20a)](_0x34af8a[_0x4a2c44(0x1d9)],0x0)?_0x34af8a[_0x4a2c44(0x1d9)]+'\x20plugin(s)\x20configured':undefined});return;}if(_0x34af8a[_0x4a2c44(0x1d9)]>0x0){_0x3e315f['QYAFt'](_0xe5aa13,{'status':_0x3e315f[_0x4a2c44(0x203)],'details':_0x34af8a[_0x4a2c44(0x1d9)]+'\x20plugin(s)\x20configured'});return;}_0x3e315f[_0x4a2c44(0x212)](_0xe5aa13,{'status':'not_configured'});});});}async function getSkillsFromDir(_0x280204,_0x238f3c){const _0x44fd5a=_0x562cb6,_0x33e89c={'majsn':function(_0x2e293f,_0x6c7657){return _0x2e293f(_0x6c7657);},'JiOFE':function(_0x28559c,_0x181ce1,_0x3c594e,_0x45f3a6){return _0x28559c(_0x181ce1,_0x3c594e,_0x45f3a6);},'vrmwF':function(_0x332da3,_0x4e85bf,_0x14b1a4){return _0x332da3(_0x4e85bf,_0x14b1a4);}};if(!_0x33e89c['majsn'](existsSync,_0x280204))return[];const _0x3c6bee=[];try{const _0xb92371=await readdir(_0x280204,{'withFileTypes':!![]});for(const _0x503570 of _0xb92371){if(_0x503570[_0x44fd5a(0x1e1)]()){const _0x4bbc18=_0x33e89c[_0x44fd5a(0x1dc)](join,_0x280204,_0x503570['name'],'SKILL.md');if(_0x33e89c['majsn'](existsSync,_0x4bbc18)){let _0x55ebce=_0x503570['name'];try{const _0x329e31=await _0x33e89c['vrmwF'](readFile,_0x4bbc18,'utf-8'),_0x11c457=_0x329e31[_0x44fd5a(0x214)](/name:\s*(.+)/);_0x11c457&&(_0x55ebce=_0x11c457[0x1]['trim']());}catch{}_0x3c6bee[_0x44fd5a(0x20e)]({'name':_0x503570['name'],'displayName':_0x55ebce,'path':_0x4bbc18,'level':_0x238f3c});}}}}catch{return[];}return _0x3c6bee;}async function getInstalledSkills(){const _0x50a47a=_0x562cb6,_0x2d85da={'UXCyh':function(_0x95699e,_0x3e5232,_0x21ad45){return _0x95699e(_0x3e5232,_0x21ad45);},'YRtrW':function(_0x1cd49f){return _0x1cd49f();},'CXVBO':function(_0x105be0,_0x42b682,_0x440316){return _0x105be0(_0x42b682,_0x440316);}},[_0x5ad94a,_0x97263f]=await Promise['all']([_0x2d85da[_0x50a47a(0x1ff)](getSkillsFromDir,_0x2d85da[_0x50a47a(0x1fd)](getProjectSkillsDir),'project'),_0x2d85da['CXVBO'](getSkillsFromDir,getUserSkillsDir(),_0x50a47a(0x1ef))]);return{'project':_0x5ad94a,'user':_0x97263f};}async function getEnvironments(){const _0x1aee0e=_0x562cb6,_0x4d009f={'MihdI':function(_0x5ecb13,_0x323bdf){return _0x5ecb13(_0x323bdf);},'rbEcy':function(_0x35fec2,_0x513338,_0x3e8fc2){return _0x35fec2(_0x513338,_0x3e8fc2);},'DsOKE':'settings.json','RDjKT':function(_0x3de7c6,_0x5272b8,_0x34641d){return _0x3de7c6(_0x5272b8,_0x34641d);},'xhoyt':'auth.json.enc','IXIVA':_0x1aee0e(0x1e4),'QSHHP':function(_0x124060,_0x578dd0){return _0x124060===_0x578dd0;},'HxDZk':function(_0x1241f8,_0x2a41b3){return _0x1241f8(_0x2a41b3);}},{envNames:_0x259003,activeEnv:_0x31064c}=await getEnvNames(),_0x4df9fa=getRangerDir();if(!_0x4d009f['HxDZk'](existsSync,_0x4df9fa))return{'envs':[],'activeEnv':null};const _0x38af41=_0x259003['map'](_0x4dce2a=>{const _0x130c36=_0x1aee0e,_0x543324=_0x4d009f['MihdI'](getEnvDir,_0x4dce2a),_0x1b9546=_0x4d009f[_0x130c36(0x1ca)](join,_0x543324,_0x4d009f[_0x130c36(0x207)]),_0x17eeba=_0x4d009f[_0x130c36(0x1ed)](join,_0x543324,'auth.json'),_0xeef90b=join(_0x543324,_0x4d009f['xhoyt']);return{'name':_0x4dce2a,'settingsPath':existsSync(_0x1b9546)?_0x1b9546:_0x4d009f[_0x130c36(0x1c6)],'hasPlaintextAuth':existsSync(_0x17eeba),'hasEncryptedAuth':existsSync(_0xeef90b),'isActive':_0x4d009f['QSHHP'](_0x4dce2a,_0x31064c)};});return{'envs':_0x38af41,'activeEnv':_0x31064c};}export async function status(){const _0x39d51d=_0x562cb6,_0x1a1cf7={'saacv':_0x39d51d(0x1f8),'GDFyq':function(_0x2142b5){return _0x2142b5();},'uXVKO':function(_0x50c37c,_0xb35244){return _0x50c37c(_0xb35244);},'rFZwI':function(_0x589942,_0x321dd8,_0x410513){return _0x589942(_0x321dd8,_0x410513);},'RpQfR':function(_0x2ec88f,_0x26ccfd){return _0x2ec88f(_0x26ccfd);},'etXYr':function(_0x3c6317,_0x52ca37){return _0x3c6317!==_0x52ca37;},'BVazS':function(_0x429478){return _0x429478();},'TPWbl':function(_0x2476dd,_0x1525e3){return _0x2476dd(_0x1525e3);},'IfcoK':_0x39d51d(0x206),'tiLAd':function(_0x427f3a,_0x586e16){return _0x427f3a===_0x586e16;},'PCTTY':_0x39d51d(0x20c),'CBCwd':'\x20\x20Run:\x20ranger\x20setup\x20--opencode','EJgME':'\x20\x20OpenCode\x20not\x20installed\x20or\x20not\x20available','fgUjM':_0x39d51d(0x20f),'wypzm':_0x39d51d(0x1d2),'GRuda':_0x39d51d(0x1fb),'rxwUS':_0x39d51d(0x1e2),'bpkaE':'\x20\x20Run:\x20ranger\x20setup\x20[token]\x20\x20(includes\x20plugin\x20installation)','jQKlt':function(_0x3efa0a,_0x201ed5){return _0x3efa0a+_0x201ed5;},'cyWnm':_0x39d51d(0x1f3),'YpArt':'\x20\x20Project-level:','IHohX':_0x39d51d(0x1bb),'axtlP':function(_0x5a9c23,_0x7c8142){return _0x5a9c23(_0x7c8142);},'yfRcB':'\x20(active)','clQJh':'encrypted','edVzn':_0x39d51d(0x1f6),'DCuzg':_0x39d51d(0x1f7),'rwdvP':function(_0x254125,_0x4b64d0,_0x45b4e4){return _0x254125(_0x4b64d0,_0x45b4e4);}};console['log'](_0x1a1cf7['saacv']);const _0x52365a=process['cwd'](),_0x50a2ff=_0x1a1cf7['GDFyq'](getRangerDir);if(!_0x1a1cf7['uXVKO'](existsSync,_0x50a2ff)){console[_0x39d51d(0x1ba)]('Root:\x20'+link(_0x52365a,bold(basename(_0x52365a)))),console[_0x39d51d(0x1ba)]('\x0aRanger\x20has\x20not\x20been\x20initialized\x20in\x20this\x20directory.'),console['log']('\x20\x20Run:\x20ranger\x20setup\x20[token]\x0a');return;}console['log'](_0x39d51d(0x1cf)+_0x1a1cf7[_0x39d51d(0x1c0)](link,_0x52365a,_0x1a1cf7[_0x39d51d(0x200)](bold,basename(_0x52365a))));const _0x4ad8ea=getCurrentVersion(),_0x9fa63a=_0x1a1cf7[_0x39d51d(0x1c3)](getLatestVersion);if(_0x9fa63a['version']&&_0x1a1cf7['etXYr'](_0x9fa63a['version'],_0x4ad8ea))console[_0x39d51d(0x1ba)]('Version:\x20'+_0x4ad8ea+'\x20(latest:\x20'+_0x9fa63a['version']+')'),console['log'](_0x39d51d(0x1c8));else _0x9fa63a[_0x39d51d(0x1d0)]?console['log']('Version:\x20'+_0x4ad8ea+'\x20(up\x20to\x20date)'):console['log'](_0x39d51d(0x1de)+_0x4ad8ea);const _0x49f44b=await _0x1a1cf7['BVazS'](getToken);if(_0x49f44b){const _0x240072=await getCurrentUser(_0x49f44b);_0x240072['success']?console['log'](_0x39d51d(0x1c4)+bold(_0x240072['user']['organizationName'])):(console[_0x39d51d(0x1ba)](_0x39d51d(0x1b8)),console[_0x39d51d(0x1ba)]('\x20\x20Run:\x20ranger\x20setup\x20[token]'));}else console['log']('API\x20Token:\x20✗\x20Not\x20found'),console['log']('\x20\x20Run:\x20ranger\x20setup\x20[token]');process['env'][_0x39d51d(0x204)]&&(console['log'](_0x39d51d(0x1fe)+getCurrentEnvironment()),console['log'](_0x39d51d(0x1bd)+getApiBaseUrl()));console['log'](_0x39d51d(0x1c2));const _0x26a1e4=await getOpencodePluginStatus();if(_0x26a1e4['status']==='configured')console[_0x39d51d(0x1ba)]('\x20\x20'+_0x1a1cf7[_0x39d51d(0x202)](bold,_0x1a1cf7['IfcoK'])+':\x20configured'),_0x26a1e4[_0x39d51d(0x1e8)]&&console['log']('\x20\x20'+_0x26a1e4['details']);else _0x1a1cf7[_0x39d51d(0x201)](_0x26a1e4[_0x39d51d(0x1ec)],_0x39d51d(0x1d4))?(console[_0x39d51d(0x1ba)](_0x1a1cf7[_0x39d51d(0x1c5)]),_0x26a1e4[_0x39d51d(0x1e8)]&&console[_0x39d51d(0x1ba)]('\x20\x20'+_0x26a1e4[_0x39d51d(0x1e8)]),console[_0x39d51d(0x1ba)](_0x1a1cf7[_0x39d51d(0x1cc)])):console[_0x39d51d(0x1ba)](_0x1a1cf7[_0x39d51d(0x1f9)]);console['log']('\x0a---\x20Claude\x20Code\x20Plugin\x20---');const _0x38e8ca=await getPluginInfo(_0x1a1cf7['fgUjM']);if(_0x38e8ca){const _0x2fbce8=_0x38e8ca[_0x39d51d(0x1e9)]||_0x1a1cf7['wypzm'],_0x443c69=_0x38e8ca['enabled']?_0x1a1cf7[_0x39d51d(0x1d6)]:_0x1a1cf7['rxwUS'];console['log']('\x20\x20'+_0x1a1cf7['RpQfR'](bold,_0x1a1cf7['fgUjM'])+':\x20installed\x20('+_0x2fbce8+',\x20'+_0x443c69+')');}else console[_0x39d51d(0x1ba)](_0x39d51d(0x1f0)),console[_0x39d51d(0x1ba)](_0x1a1cf7[_0x39d51d(0x1bf)]);console[_0x39d51d(0x1ba)]('\x0a---\x20Skills\x20---');const {project:_0x531037,user:_0x490b54}=await getInstalledSkills(),_0x2851a8=_0x531037['filter'](_0x477b80=>RANGER_MANAGED_SKILLS['includes'](_0x477b80[_0x39d51d(0x210)])),_0x49341e=_0x490b54['filter'](_0xd720ab=>RANGER_MANAGED_SKILLS['includes'](_0xd720ab['name'])),_0x354e16=_0x1a1cf7[_0x39d51d(0x218)](_0x2851a8['length'],_0x49341e[_0x39d51d(0x1d9)]);if(_0x1a1cf7['tiLAd'](_0x354e16,0x0))console[_0x39d51d(0x1ba)](_0x1a1cf7[_0x39d51d(0x1f4)]),console[_0x39d51d(0x1ba)]('\x20\x20Run:\x20ranger\x20skillup');else{if(_0x2851a8['length']>0x0){console['log'](_0x1a1cf7[_0x39d51d(0x1bc)]);for(const _0x5038c7 of _0x2851a8){console[_0x39d51d(0x1ba)](_0x39d51d(0x215)+bold(_0x5038c7[_0x39d51d(0x1db)])+':\x20'+link(_0x5038c7['path'],basename(_0x5038c7[_0x39d51d(0x1d5)])));}}if(_0x49341e[_0x39d51d(0x1d9)]>0x0){console['log'](_0x1a1cf7[_0x39d51d(0x1f2)]);for(const _0x1f6cfb of _0x49341e){console['log'](_0x39d51d(0x215)+bold(_0x1f6cfb[_0x39d51d(0x1db)])+':\x20'+link(_0x1f6cfb['path'],_0x1a1cf7['axtlP'](basename,_0x1f6cfb[_0x39d51d(0x1d5)])));}}}console['log'](_0x39d51d(0x1e6));const {envs:_0x2ab9a1,activeEnv:_0x2a2d7f}=await getEnvironments();if(_0x1a1cf7[_0x39d51d(0x201)](_0x2ab9a1[_0x39d51d(0x1d9)],0x0))console[_0x39d51d(0x1ba)]('No\x20profiles\x20configured'),console['log'](_0x39d51d(0x1b9));else{for(const _0xca7358 of _0x2ab9a1){const _0x14383f=_0xca7358['isActive']?_0x1a1cf7[_0x39d51d(0x1ee)]:'',_0x4afc05=_0xca7358['hasEncryptedAuth']?_0x1a1cf7[_0x39d51d(0x1c9)]:_0xca7358['hasPlaintextAuth']?_0x1a1cf7['edVzn']:_0x1a1cf7['DCuzg'];console[_0x39d51d(0x1ba)]('\x20\x20'+_0x1a1cf7[_0x39d51d(0x202)](bold,_0xca7358[_0x39d51d(0x210)])+_0x14383f),console['log']('\x20\x20\x20\x20Auth:\x20'+_0x4afc05),_0x1a1cf7['etXYr'](_0xca7358['settingsPath'],'(not\x20found)')&&console[_0x39d51d(0x1ba)](_0x39d51d(0x1e0)+_0x1a1cf7['rwdvP'](link,_0xca7358['settingsPath'],basename(_0xca7358['settingsPath'])));}!_0x2a2d7f&&(console['log']('\x0a\x20\x20No\x20active\x20profile\x20set'),console['log'](_0x39d51d(0x1e3)+_0x2ab9a1['map'](_0x401cad=>_0x401cad['name'])['join'](',\x20')+')'));}console[_0x39d51d(0x1ba)]('');}
1
+ const _0x4d9a78=_0x2c80;function _0x2c80(_0x297f86,_0x190c8c){_0x297f86=_0x297f86-0x1bf;const _0x406ad6=_0x406a();let _0x2c807f=_0x406ad6[_0x297f86];return _0x2c807f;}(function(_0x5cecbe,_0x3b1998){const _0x22e025=_0x2c80,_0x22c5fb=_0x5cecbe();while(!![]){try{const _0x297699=parseInt(_0x22e025(0x1db))/0x1*(-parseInt(_0x22e025(0x1d7))/0x2)+-parseInt(_0x22e025(0x1e1))/0x3+-parseInt(_0x22e025(0x1f4))/0x4*(-parseInt(_0x22e025(0x1e4))/0x5)+-parseInt(_0x22e025(0x20f))/0x6+parseInt(_0x22e025(0x1d3))/0x7+-parseInt(_0x22e025(0x20e))/0x8+-parseInt(_0x22e025(0x1ce))/0x9*(-parseInt(_0x22e025(0x1d4))/0xa);if(_0x297699===_0x3b1998)break;else _0x22c5fb['push'](_0x22c5fb['shift']());}catch(_0x4b4a48){_0x22c5fb['push'](_0x22c5fb['shift']());}}}(_0x406a,0x6ab90));import{readFile,readdir}from'fs/promises';import{join,basename}from'path';import{existsSync}from'fs';import{getToken}from'./utils/keychain.js';import{getCurrentVersion,getLatestVersion}from'./utils/version.js';import{getApiBaseUrl,getCurrentEnvironment}from'./utils/environment.js';import{getProjectSkillsDir,getUserSkillsDir}from'./utils/claudeConfig.js';import{getEnvNames}from'./env.js';import{getCurrentUser}from'./utils/userApi.js';import{getRangerDir}from'./utils/rangerRoot.js';function _0x406a(){const _0x6a089b=['SKILL.md','plugin','\x20(active)','settings.json','JnOOl','BwoCv','user','kjOWM','YnlRe','zNIFl','enabled','XtduU','path','disabled','dCsBJ','PqnGU','CrklX','@ranger-testing/opencode-plugin','189flpMNq','FRjdj','\x0a---\x20OpenCode\x20Plugin\x20---','wHRWH','\x20plugin(s)\x20configured','2716182ENFlfP','1151110STrKvs','\x1b]8;;\x07','isArray','12EUTDst','EeFRf','\x20\x20\x20\x20Auth:\x20','debug','126033TCVFac','TuxoG','unknown','includes','pipe','yZfZg','2241402DmmveR','\x0aRanger\x20has\x20not\x20been\x20initialized\x20in\x20this\x20directory.','rXWBy','240yWaurE','GiFCw','match','GcMHp','rMxRo','GMILD','name','oXjPV','\x0a\x20\x20No\x20active\x20profile\x20set','\x1b[1m','WxQqc','\x20\x20\x20\x20','IdVfX','ignore','none','ranger@trailhead','12088UFJPVZ','version','\x20\x20Run:\x20ranger\x20setup\x20[token]','status','XmhLN','isDirectory','plaintext','CkjUz','details','fwUIW','auth.json','\x20\x20Run:\x20ranger\x20profile\x20use\x20<profile-name>\x20\x20(available:\x20','Root:\x20','BXxJi','YOjnl','VMciW','stdout','parse','mwWVo','\x20\x20Run:\x20ranger\x20update','env','\x20\x20Run:\x20ranger\x20setup\x20--opencode','FknWv','(not\x20found)','API\x20Environment:\x20','all','3674984SFpZhM','3303432wszxNI','\x20\x20Run:\x20ranger\x20skillup','not_configured','length','configured','map','not_installed','trim','EyOMt','log','auth.json.enc'];_0x406a=function(){return _0x6a089b;};return _0x406a();}import{getEnvDir}from'./utils/settings.js';import{getPluginInfo}from'./utils/claudePlugin.js';import{RANGER_MANAGED_SKILLS}from'./utils/skills.js';import{spawn}from'child_process';const bold=_0x15799c=>_0x4d9a78(0x1ed)+_0x15799c+'\x1b[0m',link=(_0x576734,_0x116520)=>'\x1b]8;;file://'+_0x576734+'\x07'+(_0x116520||_0x576734)+_0x4d9a78(0x1d5);async function getOpencodePluginStatus(){const _0x34b9ea=_0x4d9a78,_0x526e91={'FknWv':function(_0x17a3d1,_0x25c2fc){return _0x17a3d1!==_0x25c2fc;},'WxQqc':function(_0x135bd8,_0x400bee){return _0x135bd8(_0x400bee);},'EyOMt':_0x34b9ea(0x215),'accrH':function(_0x485242,_0xd78fea){return _0x485242>_0xd78fea;},'fwUIW':'not_configured','dCsBJ':'string','sCxQv':_0x34b9ea(0x1da),'aVRDZ':_0x34b9ea(0x1f1)};return new Promise(_0x16dc83=>{const _0x39956a=_0x34b9ea,_0x1d6d89={'rIDvD':_0x526e91[_0x39956a(0x1ca)],'oXjPV':'@ranger-testing/opencode-plugin'},_0x163fe7=spawn('opencode',[_0x526e91['sCxQv'],'config'],{'stdio':[_0x526e91['aVRDZ'],'pipe',_0x39956a(0x1df)]});let _0x3ff3f4='';_0x163fe7[_0x39956a(0x204)]?.['on']('data',_0x39d2c1=>{_0x3ff3f4+=_0x39d2c1['toString']();}),_0x163fe7['stderr']?.['on']('data',_0x51b877=>{_0x3ff3f4+=_0x51b877['toString']();}),_0x163fe7['on']('error',()=>{_0x16dc83({'status':'not_installed'});}),_0x163fe7['on']('close',_0x2b2178=>{const _0x40c746=_0x39956a;if(_0x526e91[_0x40c746(0x20a)](_0x2b2178,0x0)){_0x526e91[_0x40c746(0x1ee)](_0x16dc83,{'status':_0x526e91[_0x40c746(0x217)]});return;}const _0x387680=_0x3ff3f4[_0x40c746(0x216)]();let _0x209a62=null;if(_0x387680)try{_0x209a62=JSON[_0x40c746(0x205)](_0x387680);}catch{const _0x308dc1=_0x387680[_0x40c746(0x1e6)](/\{[\s\S]*\}$/);if(_0x308dc1)try{_0x209a62=JSON[_0x40c746(0x205)](_0x308dc1[0x0]);}catch{_0x209a62=null;}}const _0x2d3905=Array[_0x40c746(0x1d6)](_0x209a62?.[_0x40c746(0x21b)])?_0x209a62?.[_0x40c746(0x21b)]:[],_0x23b5bf=_0x2d3905['some'](_0x244706=>{const _0x36de46=_0x40c746;if(typeof _0x244706!==_0x1d6d89['rIDvD'])return![];return _0x244706[_0x36de46(0x1de)](_0x1d6d89[_0x36de46(0x1eb)])||_0x244706['includes']('opencode-plugin');});if(_0x23b5bf){_0x16dc83({'status':'configured','details':_0x2d3905[_0x40c746(0x212)]>0x0?_0x2d3905['length']+'\x20plugin(s)\x20configured':undefined});return;}if(_0x526e91['accrH'](_0x2d3905['length'],0x0)){_0x16dc83({'status':_0x526e91[_0x40c746(0x1fd)],'details':_0x2d3905['length']+_0x40c746(0x1d2)});return;}_0x16dc83({'status':_0x40c746(0x211)});});});}async function getSkillsFromDir(_0x351944,_0x12046e){const _0x3572c7=_0x4d9a78,_0x5a76c0={'FRjdj':function(_0x5ed4e0,_0x3ce99e){return _0x5ed4e0(_0x3ce99e);},'qQKKl':'utf-8'};if(!_0x5a76c0['FRjdj'](existsSync,_0x351944))return[];const _0x2c8e68=[];try{const _0x27b835=await readdir(_0x351944,{'withFileTypes':!![]});for(const _0x1afbb4 of _0x27b835){if(_0x1afbb4[_0x3572c7(0x1f9)]()){const _0xa5722f=join(_0x351944,_0x1afbb4['name'],_0x3572c7(0x21a));if(_0x5a76c0[_0x3572c7(0x1cf)](existsSync,_0xa5722f)){let _0x5223a6=_0x1afbb4[_0x3572c7(0x1ea)];try{const _0x244483=await readFile(_0xa5722f,_0x5a76c0['qQKKl']),_0x375d1d=_0x244483['match'](/name:\s*(.+)/);_0x375d1d&&(_0x5223a6=_0x375d1d[0x1]['trim']());}catch{}_0x2c8e68['push']({'name':_0x1afbb4['name'],'displayName':_0x5223a6,'path':_0xa5722f,'level':_0x12046e});}}}}catch{return[];}return _0x2c8e68;}async function getInstalledSkills(){const _0x51382d=_0x4d9a78,_0x2abff8={'GcMHp':function(_0x544aa6){return _0x544aa6();},'aaMSP':'project','VMciW':function(_0x1113e2,_0xd812c0,_0x2c494a){return _0x1113e2(_0xd812c0,_0x2c494a);},'YDlNk':function(_0xc38d27){return _0xc38d27();},'CkjUz':_0x51382d(0x1c2)},[_0x210b30,_0x20c3b2]=await Promise[_0x51382d(0x20d)]([getSkillsFromDir(_0x2abff8[_0x51382d(0x1e7)](getProjectSkillsDir),_0x2abff8['aaMSP']),_0x2abff8[_0x51382d(0x203)](getSkillsFromDir,_0x2abff8['YDlNk'](getUserSkillsDir),_0x2abff8[_0x51382d(0x1fb)])]);return{'project':_0x210b30,'user':_0x20c3b2};}async function getEnvironments(){const _0x13445b=_0x4d9a78,_0x4e1d81={'QYwVJ':_0x13445b(0x1bf),'viJtV':_0x13445b(0x1fe),'rnHrv':function(_0xc0aafe,_0x2555cf,_0x4fa90d){return _0xc0aafe(_0x2555cf,_0x4fa90d);},'BwoCv':_0x13445b(0x219),'BXxJi':function(_0x1d57c8,_0x1163ab){return _0x1d57c8(_0x1163ab);},'rMxRo':function(_0x5c84be,_0x3eccdd){return _0x5c84be===_0x3eccdd;},'wHRWH':function(_0x38df9e){return _0x38df9e();},'GMILD':function(_0x4bb3c6,_0x10822d){return _0x4bb3c6(_0x10822d);}},{envNames:_0x3ca053,activeEnv:_0x37fab8}=await _0x4e1d81[_0x13445b(0x1d1)](getEnvNames),_0x50bd04=_0x4e1d81['wHRWH'](getRangerDir);if(!_0x4e1d81[_0x13445b(0x1e9)](existsSync,_0x50bd04))return{'envs':[],'activeEnv':null};const _0x1dd22e=_0x3ca053['map'](_0x53357f=>{const _0x35f72c=_0x13445b,_0x451632=getEnvDir(_0x53357f),_0x5c31d5=join(_0x451632,_0x4e1d81['QYwVJ']),_0x486393=join(_0x451632,_0x4e1d81['viJtV']),_0x218294=_0x4e1d81['rnHrv'](join,_0x451632,_0x4e1d81[_0x35f72c(0x1c1)]);return{'name':_0x53357f,'settingsPath':existsSync(_0x5c31d5)?_0x5c31d5:_0x35f72c(0x20b),'hasPlaintextAuth':_0x4e1d81[_0x35f72c(0x201)](existsSync,_0x486393),'hasEncryptedAuth':_0x4e1d81['BXxJi'](existsSync,_0x218294),'isActive':_0x4e1d81[_0x35f72c(0x1e8)](_0x53357f,_0x37fab8)};});return{'envs':_0x1dd22e,'activeEnv':_0x37fab8};}export async function status(){const _0x45f0fe=_0x4d9a78,_0x2b2ddc={'DxARO':'\x0a📊\x20Ranger\x20Status\x0a','kjOWM':function(_0x3c3837){return _0x3c3837();},'XtduU':function(_0x261208,_0x5e1ffe,_0x31d41b){return _0x261208(_0x5e1ffe,_0x31d41b);},'PqnGU':function(_0x25ad91,_0x2fa4ba){return _0x25ad91(_0x2fa4ba);},'TuxoG':function(_0xf008d9,_0x14a25d){return _0xf008d9(_0x14a25d);},'CrklX':function(_0x576867){return _0x576867();},'XmhLN':function(_0x36e553){return _0x36e553();},'YOjnl':function(_0x437755,_0x1c309c){return _0x437755(_0x1c309c);},'IdVfX':_0x45f0fe(0x213),'zNIFl':function(_0x12a276,_0x3385a0){return _0x12a276(_0x3385a0);},'JnOOl':_0x45f0fe(0x1cd),'yZfZg':_0x45f0fe(0x209),'YRVLk':_0x45f0fe(0x1dd),'tZVVA':_0x45f0fe(0x1c9),'YnlRe':'\x20\x20Run:\x20ranger\x20setup\x20[token]\x20\x20(includes\x20plugin\x20installation)','Gnufp':function(_0x466f59,_0x2e7b2c){return _0x466f59+_0x2e7b2c;},'gMLSt':function(_0x252764,_0x51dd8f){return _0x252764>_0x51dd8f;},'mwWVo':function(_0x4322c2,_0x752a9e){return _0x4322c2(_0x752a9e);},'rXWBy':function(_0x2651fd,_0x5edb3e){return _0x2651fd>_0x5edb3e;},'GiFCw':'\x20\x20User-level:','SNHHJ':'\x0a---\x20Profiles\x20---','EeFRf':function(_0x3c74a7,_0x17a1af){return _0x3c74a7!==_0x17a1af;}};console[_0x45f0fe(0x218)](_0x2b2ddc['DxARO']);const _0x157be4=process['cwd'](),_0x59ea6b=_0x2b2ddc[_0x45f0fe(0x1c3)](getRangerDir);if(!existsSync(_0x59ea6b)){console['log'](_0x45f0fe(0x200)+_0x2b2ddc[_0x45f0fe(0x1c7)](link,_0x157be4,bold(_0x2b2ddc[_0x45f0fe(0x1cb)](basename,_0x157be4)))),console['log'](_0x45f0fe(0x1e2)),console['log']('\x20\x20Run:\x20ranger\x20setup\x20[token]\x0a');return;}console[_0x45f0fe(0x218)]('Root:\x20'+link(_0x157be4,_0x2b2ddc[_0x45f0fe(0x1cb)](bold,_0x2b2ddc[_0x45f0fe(0x1dc)](basename,_0x157be4))));const _0x207b6d=_0x2b2ddc[_0x45f0fe(0x1cc)](getCurrentVersion),_0x1f7674=_0x2b2ddc[_0x45f0fe(0x1f8)](getLatestVersion);if(_0x1f7674['version']&&_0x1f7674[_0x45f0fe(0x1f5)]!==_0x207b6d)console[_0x45f0fe(0x218)]('Version:\x20'+_0x207b6d+'\x20(latest:\x20'+_0x1f7674['version']+')'),console['log'](_0x45f0fe(0x207));else _0x1f7674['version']?console[_0x45f0fe(0x218)]('Version:\x20'+_0x207b6d+'\x20(up\x20to\x20date)'):console[_0x45f0fe(0x218)]('Version:\x20'+_0x207b6d);const _0x11d1b7=await getToken();if(_0x11d1b7){const _0x5b3553=await getCurrentUser(_0x11d1b7);_0x5b3553['success']?console[_0x45f0fe(0x218)]('Organization:\x20'+_0x2b2ddc['YOjnl'](bold,_0x5b3553[_0x45f0fe(0x1c2)]['organizationName'])):(console[_0x45f0fe(0x218)]('API\x20Token:\x20✓\x20Found\x20but\x20invalid\x20or\x20expired'),console[_0x45f0fe(0x218)](_0x45f0fe(0x1f6)));}else console[_0x45f0fe(0x218)]('API\x20Token:\x20✗\x20Not\x20found'),console['log']('\x20\x20Run:\x20ranger\x20setup\x20[token]');process[_0x45f0fe(0x208)]['DEBUG']&&(console['log'](_0x45f0fe(0x20c)+_0x2b2ddc[_0x45f0fe(0x1cc)](getCurrentEnvironment)),console[_0x45f0fe(0x218)]('API\x20URL:\x20'+getApiBaseUrl()));console[_0x45f0fe(0x218)](_0x45f0fe(0x1d0));const _0xebc427=await _0x2b2ddc[_0x45f0fe(0x1f8)](getOpencodePluginStatus);if(_0xebc427[_0x45f0fe(0x1f7)]===_0x2b2ddc[_0x45f0fe(0x1f0)])console[_0x45f0fe(0x218)]('\x20\x20'+_0x2b2ddc['zNIFl'](bold,_0x2b2ddc[_0x45f0fe(0x1c0)])+':\x20configured'),_0xebc427[_0x45f0fe(0x1fc)]&&console[_0x45f0fe(0x218)]('\x20\x20'+_0xebc427['details']);else _0xebc427['status']===_0x45f0fe(0x211)?(console[_0x45f0fe(0x218)]('\x20\x20Not\x20configured'),_0xebc427['details']&&console[_0x45f0fe(0x218)]('\x20\x20'+_0xebc427[_0x45f0fe(0x1fc)]),console['log'](_0x2b2ddc[_0x45f0fe(0x1e0)])):console['log']('\x20\x20OpenCode\x20not\x20installed\x20or\x20not\x20available');console['log']('\x0a---\x20Claude\x20Code\x20Plugin\x20---');const _0x285f2c=await _0x2b2ddc[_0x45f0fe(0x1c5)](getPluginInfo,'ranger@trailhead');if(_0x285f2c){const _0x57b1e7=_0x285f2c['scope']||_0x2b2ddc['YRVLk'],_0x585ccb=_0x285f2c[_0x45f0fe(0x1c6)]?'enabled':_0x2b2ddc['tZVVA'];console['log']('\x20\x20'+_0x2b2ddc['zNIFl'](bold,_0x45f0fe(0x1f3))+':\x20installed\x20('+_0x57b1e7+',\x20'+_0x585ccb+')');}else console[_0x45f0fe(0x218)]('\x20\x20Not\x20installed'),console['log'](_0x2b2ddc[_0x45f0fe(0x1c4)]);console['log']('\x0a---\x20Skills\x20---');const {project:_0x3eaffe,user:_0x389498}=await getInstalledSkills(),_0x26db32=_0x3eaffe['filter'](_0x18b0ad=>RANGER_MANAGED_SKILLS['includes'](_0x18b0ad['name'])),_0x18f9b2=_0x389498['filter'](_0xb913c=>RANGER_MANAGED_SKILLS['includes'](_0xb913c[_0x45f0fe(0x1ea)])),_0x11e8d9=_0x2b2ddc['Gnufp'](_0x26db32[_0x45f0fe(0x212)],_0x18f9b2['length']);if(_0x11e8d9===0x0)console[_0x45f0fe(0x218)]('No\x20skills\x20installed'),console[_0x45f0fe(0x218)](_0x45f0fe(0x210));else{if(_0x2b2ddc['gMLSt'](_0x26db32['length'],0x0)){console[_0x45f0fe(0x218)]('\x20\x20Project-level:');for(const _0x5cb934 of _0x26db32){console[_0x45f0fe(0x218)]('\x20\x20\x20\x20'+_0x2b2ddc[_0x45f0fe(0x206)](bold,_0x5cb934['displayName'])+':\x20'+link(_0x5cb934[_0x45f0fe(0x1c8)],_0x2b2ddc[_0x45f0fe(0x202)](basename,_0x5cb934['path'])));}}if(_0x2b2ddc[_0x45f0fe(0x1e3)](_0x18f9b2['length'],0x0)){console['log'](_0x2b2ddc[_0x45f0fe(0x1e5)]);for(const _0x3f5fd3 of _0x18f9b2){console['log'](_0x45f0fe(0x1ef)+_0x2b2ddc['TuxoG'](bold,_0x3f5fd3['displayName'])+':\x20'+link(_0x3f5fd3['path'],basename(_0x3f5fd3['path'])));}}}console['log'](_0x2b2ddc['SNHHJ']);const {envs:_0x3c34a7,activeEnv:_0x1caf7a}=await _0x2b2ddc[_0x45f0fe(0x1f8)](getEnvironments);if(_0x3c34a7['length']===0x0)console['log']('No\x20profiles\x20configured'),console['log']('\x20\x20Run:\x20ranger\x20profile\x20add\x20<profile-name>');else{for(const _0x1c8afa of _0x3c34a7){const _0x2cd6e9=_0x1c8afa['isActive']?_0x45f0fe(0x21c):'',_0x2c3064=_0x1c8afa['hasEncryptedAuth']?'encrypted':_0x1c8afa['hasPlaintextAuth']?_0x45f0fe(0x1fa):_0x45f0fe(0x1f2);console['log']('\x20\x20'+_0x2b2ddc[_0x45f0fe(0x1c5)](bold,_0x1c8afa['name'])+_0x2cd6e9),console['log'](_0x45f0fe(0x1d9)+_0x2c3064),_0x2b2ddc[_0x45f0fe(0x1d8)](_0x1c8afa['settingsPath'],'(not\x20found)')&&console['log']('\x20\x20\x20\x20Settings:\x20'+_0x2b2ddc['XtduU'](link,_0x1c8afa['settingsPath'],basename(_0x1c8afa['settingsPath'])));}!_0x1caf7a&&(console['log'](_0x45f0fe(0x1ec)),console[_0x45f0fe(0x218)](_0x45f0fe(0x1ff)+_0x3c34a7[_0x45f0fe(0x214)](_0x4258b3=>_0x4258b3['name'])['join'](',\x20')+')'));}console[_0x45f0fe(0x218)]('');}
@@ -1 +1 @@
1
- function _0x12a7(_0x3171a0,_0x357f14){_0x3171a0=_0x3171a0-0x186;const _0x40d276=_0x40d2();let _0x12a7c2=_0x40d276[_0x3171a0];return _0x12a7c2;}(function(_0x1afa26,_0x58d2db){const _0x3c3c6=_0x12a7,_0x44c78c=_0x1afa26();while(!![]){try{const _0x22a4bb=parseInt(_0x3c3c6(0x1a0))/0x1+-parseInt(_0x3c3c6(0x1b3))/0x2*(-parseInt(_0x3c3c6(0x188))/0x3)+-parseInt(_0x3c3c6(0x1bf))/0x4+-parseInt(_0x3c3c6(0x1ae))/0x5*(parseInt(_0x3c3c6(0x18d))/0x6)+parseInt(_0x3c3c6(0x1a9))/0x7+-parseInt(_0x3c3c6(0x1a5))/0x8*(parseInt(_0x3c3c6(0x1ce))/0x9)+-parseInt(_0x3c3c6(0x196))/0xa*(-parseInt(_0x3c3c6(0x18f))/0xb);if(_0x22a4bb===_0x58d2db)break;else _0x44c78c['push'](_0x44c78c['shift']());}catch(_0x527dd2){_0x44c78c['push'](_0x44c78c['shift']());}}}(_0x40d2,0x48576));import{spawn}from'child_process';import{existsSync}from'fs';import{readFile,writeFile}from'fs/promises';import{installSkill,removeSkill,RANGER_MANAGED_SKILLS,DEPRECATED_SKILLS}from'./utils/skills.js';import{PACKAGE_NAME,getCurrentVersion,getLatestVersion,compareVersions}from'./utils/version.js';import{getSkillsDir}from'./utils/claudeConfig.js';import{getOpencodeSkillsDir}from'./utils/opencodeConfig.js';import{join}from'path';import{migrateActiveProfileFile}from'./utils/activeProfile.js';import{getRangerDir}from'./utils/rangerRoot.js';import{getPluginInfo,isMarketplaceAdded,isPluginInstalled}from'./utils/claudePlugin.js';const CLAUDE_COMMAND_TIMEOUT_MS=0x1d4c0;async function runCommand(_0x32eeb1,_0x502fa0,_0x449907){const _0x12d9d4=_0x12a7,_0x1e7549={'UrBEJ':function(_0x479bf7,_0x32632a){return _0x479bf7(_0x32632a);},'SfdbV':function(_0x1173c8,_0x51e01a){return _0x1173c8(_0x51e01a);},'QCjSz':function(_0x2f974e,_0x20ef1c,_0x46f77a,_0x535c1b){return _0x2f974e(_0x20ef1c,_0x46f77a,_0x535c1b);},'BHQxZ':_0x12d9d4(0x19a),'ujeNZ':'close'};return new Promise(_0x889138=>{const _0x17fc36=_0x12d9d4,_0x163160={'ohNNB':function(_0x1a674f,_0x1a4ec8){return _0x1e7549['SfdbV'](_0x1a674f,_0x1a4ec8);}};let _0x4d1bb2=![],_0x2e90da;const _0x1ab7ed=_0x324634=>{const _0x6aa1d3=_0x12a7;if(_0x4d1bb2)return;_0x4d1bb2=!![],_0x2e90da&&clearTimeout(_0x2e90da),_0x1e7549[_0x6aa1d3(0x1c5)](_0x889138,_0x324634);},_0xeaf166=_0x1e7549[_0x17fc36(0x1c8)](spawn,_0x32eeb1,_0x502fa0,{'stdio':[_0x17fc36(0x1d4),_0x449907?.[_0x17fc36(0x1cf)]??_0x17fc36(0x19a),_0x449907?.[_0x17fc36(0x1cf)]??_0x1e7549['BHQxZ']],'shell':process[_0x17fc36(0x190)]===_0x17fc36(0x1be)});_0x2e90da=_0x449907?.[_0x17fc36(0x1c9)]?setTimeout(()=>{_0xeaf166['kill'](),_0xeaf166['unref'](),_0x163160['ohNNB'](_0x1ab7ed,![]);},_0x449907['timeoutMs']):undefined,_0xeaf166['on'](_0x1e7549['ujeNZ'],_0x549fcb=>{_0x1ab7ed(_0x549fcb===0x0);}),_0xeaf166['on'](_0x17fc36(0x1b0),()=>{_0x1e7549['SfdbV'](_0x1ab7ed,![]);});});}async function runInstall(){const _0x192b6f=_0x12a7,_0x31db67={'Pbsyc':function(_0xd27e02,_0x5c28e9){return _0xd27e02(_0x5c28e9);},'TOMjF':function(_0x1b159a,_0xec7fd9){return _0x1b159a(_0xec7fd9);},'OkpYM':'npm','lkaxe':function(_0x4de595,_0x166c4e){return _0x4de595===_0x166c4e;},'Evtpo':_0x192b6f(0x18e)};return new Promise(_0x5116b5=>{const _0x3f2c82=_0x192b6f,_0x4042a1={'QiHrh':function(_0x148774,_0x1505cc){return _0x31db67['TOMjF'](_0x148774,_0x1505cc);}};console['log'](_0x3f2c82(0x1a7)+PACKAGE_NAME+'@latest...\x0a');const _0x33fb53=spawn(_0x31db67['OkpYM'],['install','-g',PACKAGE_NAME+_0x3f2c82(0x189)],{'stdio':['ignore',_0x3f2c82(0x19a),'inherit'],'shell':_0x31db67[_0x3f2c82(0x1bb)](process['platform'],_0x3f2c82(0x1be))});_0x33fb53['on'](_0x31db67[_0x3f2c82(0x1c0)],_0x4ef601=>{const _0x500dc6=_0x3f2c82;_0x31db67[_0x500dc6(0x1a1)](_0x5116b5,_0x4ef601===0x0);}),_0x33fb53['on'](_0x3f2c82(0x1b0),()=>{_0x4042a1['QiHrh'](_0x5116b5,![]);});});}async function updateClaudeMarketplace(){const _0x3b2bdc=_0x12a7,_0x55c323={'tspUN':function(_0x3cdcbd,_0x350c68,_0x194214,_0x5dde57){return _0x3cdcbd(_0x350c68,_0x194214,_0x5dde57);},'FmncZ':_0x3b2bdc(0x1b8),'pltLg':_0x3b2bdc(0x1d1),'uLLqU':'update','pnTRg':_0x3b2bdc(0x1d6),'EGsMy':_0x3b2bdc(0x1c4)},_0x43dc04=await _0x55c323[_0x3b2bdc(0x1cc)](runCommand,_0x55c323['FmncZ'],[_0x55c323[_0x3b2bdc(0x1d2)],_0x3b2bdc(0x1a4),_0x55c323[_0x3b2bdc(0x1b2)],_0x55c323['pnTRg']],{'timeoutMs':CLAUDE_COMMAND_TIMEOUT_MS});if(!_0x43dc04)throw new Error(_0x55c323['EGsMy']);}async function updateClaudePlugin(_0x15bff4){const _0x3c7570=_0x12a7,_0x7abb99={'QrUuW':'plugin','ohlQN':'update','Eebwy':_0x3c7570(0x1b8),'AIVRs':function(_0x5a6320,_0x473f1e){return _0x5a6320??_0x473f1e;},'ohPOg':_0x3c7570(0x1ca)},_0x5999f5=[_0x7abb99[_0x3c7570(0x1d5)],_0x7abb99[_0x3c7570(0x1aa)],'ranger@trailhead'];_0x15bff4&&_0x5999f5['push']('--scope',_0x15bff4);const _0x201242=await runCommand(_0x7abb99['Eebwy'],_0x5999f5,{'timeoutMs':CLAUDE_COMMAND_TIMEOUT_MS});if(!_0x201242){const _0x1e6282=_0x7abb99['AIVRs'](_0x15bff4,_0x7abb99['ohPOg']);throw new Error('Claude\x20plugin\x20update\x20failed\x20for\x20'+_0x1e6282+'\x20scope\x20(timed\x20out,\x20failed\x20to\x20start,\x20or\x20exited\x20with\x20a\x20non-zero\x20status).');}}function isSkillInstalled(_0x44e7d0,_0xcc147d,_0x39aff2){const _0x254543=_0x12a7,_0x2d0331={'SeJFg':function(_0x3d8435,_0x534886){return _0x3d8435===_0x534886;},'zkwYt':function(_0x478b24,_0x5edd83){return _0x478b24(_0x5edd83);}},_0x3910f2=_0x2d0331[_0x254543(0x192)](_0x39aff2,_0x254543(0x197))?_0x2d0331[_0x254543(0x1ba)](getOpencodeSkillsDir,_0xcc147d):getSkillsDir(_0xcc147d),_0x406676=join(_0x3910f2,_0x44e7d0);return existsSync(_0x406676);}async function reinstallSkills(_0x4e4065){const _0x466b42=_0x12a7,_0x537065={'wweoM':_0x466b42(0x1cb),'SjMnu':'user','HFpCl':function(_0xcb9ea8,_0x21e120,_0x2d45c6,_0x601e80){return _0xcb9ea8(_0x21e120,_0x2d45c6,_0x601e80);},'ffAWB':'opencode','Ubqmy':_0x466b42(0x1b7)},_0x2843fd=[_0x537065[_0x466b42(0x1af)],_0x537065[_0x466b42(0x19d)]],_0x31d3cd=[];for(const _0xc32ef4 of _0x2843fd){for(const _0x507a7c of RANGER_MANAGED_SKILLS){_0x537065['HFpCl'](isSkillInstalled,_0x507a7c,_0xc32ef4,_0x466b42(0x1b8))&&_0x31d3cd['push']({'skillName':_0x507a7c,'level':_0xc32ef4,'platform':'claude'}),_0x537065['HFpCl'](isSkillInstalled,_0x507a7c,_0xc32ef4,_0x537065[_0x466b42(0x1c7)])&&_0x31d3cd['push']({'skillName':_0x507a7c,'level':_0xc32ef4,'platform':'opencode'});}}for(const _0x6c8386 of _0x2843fd){for(const _0x48e13c of DEPRECATED_SKILLS){await removeSkill(_0x48e13c,_0x6c8386);}}if(_0x31d3cd['length']===0x0){console['log'](_0x537065[_0x466b42(0x1d0)]);return;}console['log']('\x0aReinstalling\x20'+_0x31d3cd[_0x466b42(0x19e)]+'\x20ranger-managed\x20skill(s)...');for(const {skillName:_0xdeb2b5,level:_0x45c4d0,platform:_0x59b13c}of _0x31d3cd){try{await installSkill(_0xdeb2b5,{'level':_0x45c4d0,'cliVersion':_0x4e4065,'platform':_0x59b13c});}catch(_0xeed849){console['warn'](_0x466b42(0x199)+_0x59b13c+'\x20'+_0x45c4d0+_0x466b42(0x18c)+_0xdeb2b5+':',_0xeed849);}}}function _0x40d2(){const _0x22197f=['Evtpo','bZWss','KjzWP','Attempting\x20install\x20anyway...','Claude\x20marketplace\x20update\x20command\x20failed\x20(timed\x20out,\x20failed\x20to\x20start,\x20or\x20exited\x20with\x20a\x20non-zero\x20status).','UrBEJ','WEGIM','ffAWB','QCjSz','timeoutMs','user','project','tspUN','utf-8','17919OEAdxo','stdio','Ubqmy','plugin','pltLg','ranger@trailhead','ignore','QrUuW','trailhead','WrLpo','\x0aClaude\x20plugin\x20updated\x20(project\x20scope).','\x0aYou\x20are\x20already\x20on\x20the\x20latest\x20version.','14361InHGru','@latest','JPekQ','YDPAu','\x20skill\x20','268266RgsKUg','close','85624lOvJOH','platform','\x0aCould\x20not\x20check\x20latest\x20version:\x20','SeJFg','split','log','\x0aClaude\x20plugin\x20updated\x20(user\x20scope).','450EidSky','opencode','✓\x20Migrated\x20active\x20profile\x20file','\x20\x20Failed\x20to\x20reinstall\x20','inherit','KoRbj','join','SjMnu','length','Update\x20failed.','414305rbJOPx','Pbsyc','.gitignore','\x0aClaude\x20marketplace\x20updated\x20(trailhead).','marketplace','1184YhlxKy','\x0a✅\x20Update\x20complete!','\x0aInstalling\x20','active-feature.txt','1039395fTfLzl','ohlQN','yWhyf','Update\x20failed:\x20','findIndex','60rTqbpZ','wweoM','error','splice','uLLqU','240VrrQYG','\x0aSuccessfully\x20installed\x20latest\x20version.','CMlUr','yBffA','\x0aNo\x20ranger-managed\x20skills\x20found\x20to\x20reinstall.','claude','fVIKB','zkwYt','lkaxe','trim',')\x20is\x20newer\x20than\x20the\x20published\x20version\x20(','win32','1440000DURoXe'];_0x40d2=function(){return _0x22197f;};return _0x40d2();}async function ensureActiveProfileGitignored(){const _0xc3b5f=_0x12a7,_0x2ac0fe={'sdJNF':function(_0x418eed,_0x1c0ff2,_0x3ff7c7){return _0x418eed(_0x1c0ff2,_0x3ff7c7);},'yWhyf':function(_0x4ffac4){return _0x4ffac4();},'yBffA':_0xc3b5f(0x1a2),'bZWss':'utf-8'},_0x3b119b=_0x2ac0fe['sdJNF'](join,_0x2ac0fe[_0xc3b5f(0x1ab)](getRangerDir),_0x2ac0fe[_0xc3b5f(0x1b6)]);if(!existsSync(_0x3b119b))return![];let _0x5033c0='';try{_0x5033c0=await readFile(_0x3b119b,_0xc3b5f(0x1cd));}catch{return![];}const _0x52134b=_0x5033c0[_0xc3b5f(0x193)](/\r?\n/);if(_0x52134b['some'](_0xffca6e=>_0xffca6e[_0xc3b5f(0x1bc)]()==='active-profile.txt'))return![];let _0x4d152e=_0x52134b[_0xc3b5f(0x1ad)](_0x1e12dc=>_0x1e12dc[_0xc3b5f(0x1bc)]()===_0xc3b5f(0x1a8));_0x4d152e===-0x1&&(_0x4d152e=_0x52134b['length']);_0x52134b[_0xc3b5f(0x1b1)](_0x4d152e,0x0,'active-profile.txt');let _0x4e48b6=_0x52134b[_0xc3b5f(0x19c)]('\x0a');!_0x4e48b6['endsWith']('\x0a')&&(_0x4e48b6+='\x0a');try{await writeFile(_0x3b119b,_0x4e48b6,_0x2ac0fe[_0xc3b5f(0x1c1)]);}catch{return![];}return!![];}export async function update(){const _0x27e54d=_0x12a7,_0x39d585={'WEGIM':'Checking\x20for\x20updates...','JPekQ':_0x27e54d(0x1b4),'WrLpo':function(_0x5910d6,_0x2b2ca2,_0x2a9fd3){return _0x5910d6(_0x2b2ca2,_0x2a9fd3);},'KjzWP':function(_0xfdc79e,_0x35f8dc){return _0xfdc79e(_0x35f8dc);},'KoRbj':function(_0x48339c,_0x5daa33){return _0x48339c(_0x5daa33);},'ylbhj':function(_0x5de976){return _0x5de976();},'fVIKB':_0x27e54d(0x1a3),'hXwVb':'project','YDPAu':function(_0x49ca11){return _0x49ca11();},'SeMkv':_0x27e54d(0x195),'CMlUr':_0x27e54d(0x198)},_0x277c98=getCurrentVersion();console[_0x27e54d(0x194)]('\x0aCurrent\x20version:\x20'+_0x277c98),console['log'](_0x39d585[_0x27e54d(0x1c6)]);const _0x20605f=getLatestVersion();let _0x26d7cf=_0x277c98;if(!_0x20605f['version']){console['warn'](_0x27e54d(0x191)+_0x20605f['error']),console['log'](_0x27e54d(0x1c3));const _0x1b29eb=await runInstall();if(_0x1b29eb)console['log'](_0x39d585[_0x27e54d(0x18a)]),_0x26d7cf=getCurrentVersion();else throw new Error(_0x27e54d(0x1ac)+_0x20605f['error']);}else{const _0x32f6f8=_0x20605f['version'];console['log']('Latest\x20version:\x20\x20'+_0x32f6f8);const _0x2132cb=_0x39d585[_0x27e54d(0x1d7)](compareVersions,_0x277c98,_0x32f6f8);if(_0x2132cb===0x0)console[_0x27e54d(0x194)](_0x27e54d(0x187));else{if(_0x2132cb<0x0)console[_0x27e54d(0x194)]('\x0aYour\x20version\x20('+_0x277c98+_0x27e54d(0x1bd)+_0x32f6f8+').');else{const _0x2fddec=await runInstall();if(_0x2fddec)console[_0x27e54d(0x194)]('\x0aSuccessfully\x20updated\x20to\x20version\x20'+_0x32f6f8),_0x26d7cf=_0x32f6f8;else throw new Error(_0x27e54d(0x19f));}}}await _0x39d585[_0x27e54d(0x1c2)](reinstallSkills,_0x26d7cf);const _0x4d4b33=await _0x39d585[_0x27e54d(0x1c2)](isMarketplaceAdded,'trailhead'),_0x5cb884=await _0x39d585[_0x27e54d(0x19b)](isPluginInstalled,_0x27e54d(0x1d3));_0x4d4b33&&(await _0x39d585['ylbhj'](updateClaudeMarketplace),console[_0x27e54d(0x194)](_0x39d585[_0x27e54d(0x1b9)]));if(_0x5cb884){const _0x102abd=await getPluginInfo(_0x27e54d(0x1d3));_0x102abd?.['scope']===_0x39d585['hXwVb']?(await updateClaudePlugin(_0x27e54d(0x1cb)),console[_0x27e54d(0x194)](_0x27e54d(0x186))):(await _0x39d585[_0x27e54d(0x18b)](updateClaudePlugin),console['log'](_0x39d585['SeMkv']));}const _0x10afbf=await migrateActiveProfileFile();_0x10afbf&&console['log'](_0x39d585[_0x27e54d(0x1b5)]);const _0x240e91=await ensureActiveProfileGitignored();console[_0x27e54d(0x194)](_0x27e54d(0x1a6));}
1
+ (function(_0x2baf7e,_0x7ccc76){const _0x31512c=_0x5907,_0x39c712=_0x2baf7e();while(!![]){try{const _0x47a62d=parseInt(_0x31512c(0x99))/0x1*(parseInt(_0x31512c(0x9e))/0x2)+parseInt(_0x31512c(0x80))/0x3+parseInt(_0x31512c(0x82))/0x4*(-parseInt(_0x31512c(0x6c))/0x5)+parseInt(_0x31512c(0xbc))/0x6+-parseInt(_0x31512c(0x85))/0x7*(parseInt(_0x31512c(0x75))/0x8)+-parseInt(_0x31512c(0x89))/0x9*(-parseInt(_0x31512c(0xa6))/0xa)+-parseInt(_0x31512c(0xbb))/0xb;if(_0x47a62d===_0x7ccc76)break;else _0x39c712['push'](_0x39c712['shift']());}catch(_0xe0f89){_0x39c712['push'](_0x39c712['shift']());}}}(_0x1807,0xbdaad));import{spawn}from'child_process';import{existsSync}from'fs';import{readFile,writeFile}from'fs/promises';import{installSkill,removeSkill,RANGER_MANAGED_SKILLS,DEPRECATED_SKILLS}from'./utils/skills.js';import{PACKAGE_NAME,getCurrentVersion,getLatestVersion,compareVersions}from'./utils/version.js';import{getProjectRoot,getSkillsDir}from'./utils/claudeConfig.js';import{getOpencodeSkillsDir}from'./utils/opencodeConfig.js';import{join}from'path';import{getRangerDir}from'./utils/rangerRoot.js';import{getPluginInfo,isMarketplaceAdded,isPluginInstalled}from'./utils/claudePlugin.js';const CLAUDE_COMMAND_TIMEOUT_MS=0x1d4c0;async function runCommand(_0x1ea59d,_0x9da585,_0x178a36){const _0x1c8d56=_0x5907,_0x2cb9ad={'jyUkI':function(_0x5694d0,_0x45ca9f){return _0x5694d0(_0x45ca9f);},'CQnPm':_0x1c8d56(0xb7),'afFHH':'error'};return new Promise(_0x39909b=>{const _0x1f3bfd=_0x1c8d56,_0x3d5c71={'cvEfm':function(_0x5a38cc,_0x2ddf92){return _0x2cb9ad['jyUkI'](_0x5a38cc,_0x2ddf92);}};let _0x2a597f=![],_0x4842cb;const _0x5f6072=_0x388ca7=>{const _0x4a9415=_0x5907;if(_0x2a597f)return;_0x2a597f=!![],_0x4842cb&&clearTimeout(_0x4842cb),_0x2cb9ad[_0x4a9415(0x79)](_0x39909b,_0x388ca7);},_0x44d060=spawn(_0x1ea59d,_0x9da585,{'stdio':[_0x1f3bfd(0x93),_0x178a36?.['stdio']??_0x2cb9ad[_0x1f3bfd(0x90)],_0x178a36?.['stdio']??_0x2cb9ad['CQnPm']],'cwd':_0x178a36?.[_0x1f3bfd(0xbf)],'shell':process['platform']==='win32'});_0x4842cb=_0x178a36?.[_0x1f3bfd(0xb6)]?setTimeout(()=>{const _0x4d6968=_0x1f3bfd;_0x44d060['kill'](),_0x44d060[_0x4d6968(0x70)](),_0x5f6072(![]);},_0x178a36[_0x1f3bfd(0xb6)]):undefined,_0x44d060['on']('close',_0x3f58c2=>{const _0x2b0d3e=_0x1f3bfd;_0x3d5c71[_0x2b0d3e(0x7e)](_0x5f6072,_0x3f58c2===0x0);}),_0x44d060['on'](_0x2cb9ad[_0x1f3bfd(0x91)],()=>{const _0x1261cf=_0x1f3bfd;_0x3d5c71[_0x1261cf(0x7e)](_0x5f6072,![]);});});}export function resolveDistTag(_0x6c8986){const _0x130537=_0x5907,_0x4ebe4d={'BnzmI':_0x130537(0x9f),'xXWhq':_0x130537(0x67)};if(/-alpha\./i[_0x130537(0xa1)](_0x6c8986))return _0x130537(0x69);if(/-beta\./i['test'](_0x6c8986))return _0x4ebe4d[_0x130537(0x7a)];if(/-rc\./i[_0x130537(0xa1)](_0x6c8986))return'rc';return _0x4ebe4d[_0x130537(0xb1)];}async function runInstall(_0x4fb7d3='latest'){const _0x23897f=_0x5907,_0x500796={'OppKH':function(_0x47efa7,_0x24dfc3){return _0x47efa7(_0x24dfc3);},'zYeFI':function(_0xe37801,_0x3ceef7){return _0xe37801===_0x3ceef7;},'CdESB':function(_0x48a904,_0x2f04bf,_0x33b29b,_0x39555a){return _0x48a904(_0x2f04bf,_0x33b29b,_0x39555a);},'cyTYa':'install','wJeyG':_0x23897f(0xb7),'pPAzf':function(_0x5e3c32,_0x361e89){return _0x5e3c32===_0x361e89;},'yequa':_0x23897f(0xbd),'ITElc':_0x23897f(0xb8)};return new Promise(_0x484392=>{const _0x17685c=_0x23897f,_0xf223b6={'AuAys':function(_0x319877,_0x25496f){return _0x319877(_0x25496f);}};console[_0x17685c(0x9a)](_0x17685c(0x71)+PACKAGE_NAME+'@'+_0x4fb7d3+_0x17685c(0xa5));const _0x102213=_0x500796['CdESB'](spawn,_0x17685c(0xb4),[_0x500796['cyTYa'],'-g',PACKAGE_NAME+'@'+_0x4fb7d3],{'stdio':['ignore',_0x500796['wJeyG'],_0x500796[_0x17685c(0xaf)]],'shell':_0x500796['pPAzf'](process[_0x17685c(0x96)],_0x500796[_0x17685c(0x95)])});_0x102213['on']('close',_0x162f55=>{const _0x3f82c4=_0x17685c;_0x500796[_0x3f82c4(0xaa)](_0x484392,_0x500796['zYeFI'](_0x162f55,0x0));}),_0x102213['on'](_0x500796['ITElc'],()=>{const _0x5c5e0a=_0x17685c;_0xf223b6[_0x5c5e0a(0x81)](_0x484392,![]);});});}async function updateClaudeMarketplace(){const _0x4239e7=_0x5907,_0x24fdc1={'HbgAF':function(_0xd43e87,_0x3faecb,_0x23d199,_0x4696ae){return _0xd43e87(_0x3faecb,_0x23d199,_0x4696ae);},'pypVd':_0x4239e7(0x98),'adqFf':'marketplace','dKMfJ':'update','gPWoL':'trailhead','MISus':_0x4239e7(0xc0)},_0x111698=await _0x24fdc1[_0x4239e7(0xb9)](runCommand,_0x24fdc1['pypVd'],['plugin',_0x24fdc1[_0x4239e7(0x92)],_0x24fdc1['dKMfJ'],_0x24fdc1[_0x4239e7(0xa7)]],{'timeoutMs':CLAUDE_COMMAND_TIMEOUT_MS});if(!_0x111698)throw new Error(_0x24fdc1[_0x4239e7(0xad)]);}async function updateClaudePlugin(_0x35a34a='user'){const _0x3f246f=_0x5907,_0x2f4238={'TEsoc':_0x3f246f(0x65),'VRHsb':_0x3f246f(0x7c),'DvNgW':_0x3f246f(0xba),'DoPJz':_0x3f246f(0x7d),'saaNz':function(_0x7c3424,_0x39e6f5){return _0x7c3424===_0x39e6f5;},'jGiKb':'local'},_0x3f754c=[_0x2f4238['TEsoc'],'update','ranger@trailhead'];_0x35a34a!==_0x2f4238['VRHsb']&&_0x3f754c['push'](_0x2f4238[_0x3f246f(0x9d)],_0x35a34a);const _0x556ba3=await runCommand(_0x3f246f(0x98),_0x3f754c,{'timeoutMs':CLAUDE_COMMAND_TIMEOUT_MS,'cwd':_0x35a34a===_0x2f4238[_0x3f246f(0xa2)]||_0x2f4238['saaNz'](_0x35a34a,_0x2f4238['jGiKb'])?getProjectRoot():undefined});if(!_0x556ba3)throw new Error('Claude\x20plugin\x20update\x20failed\x20for\x20'+_0x35a34a+'\x20scope\x20(timed\x20out,\x20failed\x20to\x20start,\x20or\x20exited\x20with\x20a\x20non-zero\x20status).');}function isSkillInstalled(_0x2d7ce6,_0x42b5b9,_0x1d1173){const _0x4b4ef7=_0x5907,_0x49e8ab={'WduYd':function(_0x2142a4,_0x3721cf){return _0x2142a4(_0x3721cf);},'rLaqk':function(_0x4a18d5,_0x4e3db1){return _0x4a18d5(_0x4e3db1);}},_0xebfc94=_0x1d1173==='opencode'?getOpencodeSkillsDir(_0x42b5b9):_0x49e8ab['WduYd'](getSkillsDir,_0x42b5b9),_0x5527fd=join(_0xebfc94,_0x2d7ce6);return _0x49e8ab[_0x4b4ef7(0x72)](existsSync,_0x5527fd);}function _0x1807(){const _0x178611=['Update\x20failed\x20for\x20@','timeoutMs','inherit','error','HbgAF','--scope','17008684tHWayY','6857976zVlIwR','win32','\x0aNo\x20ranger-managed\x20skills\x20found\x20to\x20reinstall.','cwd','Claude\x20marketplace\x20update\x20command\x20failed\x20(timed\x20out,\x20failed\x20to\x20start,\x20or\x20exited\x20with\x20a\x20non-zero\x20status).','plugin','Iydmi','latest','findIndex','alpha','ofsRf','\x0aYour\x20version\x20(','178270wEzKDo','Update\x20failed.','active-profile.txt','qyMcQ','unref','\x0aInstalling\x20','rLaqk','OHVfB','OpFMb','8xfAnDO','trim','\x0aReinstalling\x20','sOMhN','jyUkI','BnzmI','active-feature.txt','user','project','cvEfm','DLYtZ','4215735GrGGYC','AuAys','44VVvHNw','ezuPA','split','6735785XMhDHW','\x0aSuccessfully\x20updated\x20to\x20version\x20','\x0aClaude\x20marketplace\x20updated\x20(trailhead).','zZivP','473211JfMNqx','\x20channel.','\x20skill\x20','qghmZ','zvrZw','YBkWN','jCvIq','CQnPm','afFHH','adqFf','ignore','gZnEk','yequa','platform','\x0aCould\x20not\x20check\x20latest\x20version:\x20','claude','40483KclnNw','log','Update\x20failed:\x20','\x0aClaude\x20plugin\x20updated\x20(user\x20scope).','DvNgW','48idEntt','beta','gdzRX','test','DoPJz','IwEVv','vckXG','...\x0a','30uZphyF','gPWoL','Yvcjj','sYskB','OppKH','warn',')\x20is\x20newer\x20than\x20the\x20published\x20version\x20(','MISus','yDpNB','wJeyG','\x0aSuccessfully\x20installed\x20latest\x20version.','xXWhq','Attempting\x20install\x20anyway...','Prerelease\x20channel\x20detected\x20(@','npm'];_0x1807=function(){return _0x178611;};return _0x1807();}async function reinstallSkills(_0x1e3a85){const _0xa8b06f=_0x5907,_0x3a53d6={'vckXG':_0xa8b06f(0x7d),'DLYtZ':_0xa8b06f(0x7c),'qyMcQ':'claude','sYskB':'opencode','miihQ':_0xa8b06f(0xbe)},_0x35d32c=[_0x3a53d6[_0xa8b06f(0xa4)],_0x3a53d6[_0xa8b06f(0x7f)]],_0x5ced87=[];for(const _0x1f6dec of _0x35d32c){for(const _0x3fbc37 of RANGER_MANAGED_SKILLS){isSkillInstalled(_0x3fbc37,_0x1f6dec,_0x3a53d6[_0xa8b06f(0x6f)])&&_0x5ced87['push']({'skillName':_0x3fbc37,'level':_0x1f6dec,'platform':_0xa8b06f(0x98)}),isSkillInstalled(_0x3fbc37,_0x1f6dec,'opencode')&&_0x5ced87['push']({'skillName':_0x3fbc37,'level':_0x1f6dec,'platform':_0x3a53d6[_0xa8b06f(0xa9)]});}}for(const _0x11ecff of _0x35d32c){for(const _0x3e2c4f of DEPRECATED_SKILLS){await removeSkill(_0x3e2c4f,_0x11ecff);}}if(_0x5ced87['length']===0x0){console['log'](_0x3a53d6['miihQ']);return;}console[_0xa8b06f(0x9a)](_0xa8b06f(0x77)+_0x5ced87['length']+'\x20ranger-managed\x20skill(s)...');for(const {skillName:_0x49ea43,level:_0x26502d,platform:_0x29ab45}of _0x5ced87){try{await installSkill(_0x49ea43,{'level':_0x26502d,'cliVersion':_0x1e3a85,'platform':_0x29ab45});}catch(_0x4cb18b){console[_0xa8b06f(0xab)]('\x20\x20Failed\x20to\x20reinstall\x20'+_0x29ab45+'\x20'+_0x26502d+_0xa8b06f(0x8b)+_0x49ea43+':',_0x4cb18b);}}}async function ensureActiveProfileGitignored(){const _0x527c2a=_0x5907,_0x3de361={'tFVtr':function(_0x25ae8e){return _0x25ae8e();},'zvrZw':'.gitignore','ofsRf':function(_0x53347a,_0x3eb720){return _0x53347a(_0x3eb720);},'RKSiz':function(_0x405059,_0x17c621,_0xe4b5c0){return _0x405059(_0x17c621,_0xe4b5c0);},'gZnEk':'utf-8','nToMo':function(_0xe2dbbf,_0x27b449){return _0xe2dbbf===_0x27b449;},'OpFMb':'active-profile.txt'},_0x25319e=join(_0x3de361['tFVtr'](getRangerDir),_0x3de361[_0x527c2a(0x8d)]);if(!_0x3de361[_0x527c2a(0x6a)](existsSync,_0x25319e))return![];let _0x2d2085='';try{_0x2d2085=await _0x3de361['RKSiz'](readFile,_0x25319e,_0x3de361[_0x527c2a(0x94)]);}catch{return![];}const _0x16304a=_0x2d2085[_0x527c2a(0x84)](/\r?\n/);if(_0x16304a['some'](_0x4da785=>_0x4da785['trim']()===_0x527c2a(0x6e)))return![];let _0x4995d6=_0x16304a[_0x527c2a(0x68)](_0x7ea45a=>_0x7ea45a[_0x527c2a(0x76)]()===_0x527c2a(0x7b));_0x3de361['nToMo'](_0x4995d6,-0x1)&&(_0x4995d6=_0x16304a['length']);_0x16304a['splice'](_0x4995d6,0x0,_0x3de361[_0x527c2a(0x74)]);let _0x2b49ab=_0x16304a['join']('\x0a');!_0x2b49ab['endsWith']('\x0a')&&(_0x2b49ab+='\x0a');try{await writeFile(_0x25319e,_0x2b49ab,_0x3de361[_0x527c2a(0x94)]);}catch{return![];}return!![];}function _0x5907(_0x4c9ff2,_0x4c6cec){_0x4c9ff2=_0x4c9ff2-0x65;const _0x180723=_0x1807();let _0x5907f0=_0x180723[_0x4c9ff2];return _0x5907f0;}export async function update(){const _0x4d4429=_0x5907,_0x2c4d33={'ezuPA':function(_0x2f16b4){return _0x2f16b4();},'bAxkS':function(_0xbac0c8,_0x2540bd){return _0xbac0c8(_0x2540bd);},'Yvcjj':function(_0x2eb952,_0x5b649d){return _0x2eb952!==_0x5b649d;},'yMjGu':'latest','zZivP':function(_0x2fdc26,_0x1b31d2){return _0x2fdc26(_0x1b31d2);},'mmYRi':'\x0a✅\x20Update\x20complete!','qghmZ':'Checking\x20for\x20updates...','gdzRX':function(_0x5b62dd){return _0x5b62dd();},'Iydmi':_0x4d4429(0xb2),'gMJvt':function(_0x554113,_0x3656f3,_0x284218){return _0x554113(_0x3656f3,_0x284218);},'yIQlH':function(_0x30bbb2,_0x40124b){return _0x30bbb2===_0x40124b;},'sOMhN':_0x4d4429(0x6d),'zjkFn':function(_0x2e7721,_0x2eca66){return _0x2e7721(_0x2eca66);},'yDpNB':_0x4d4429(0x87),'IwEVv':function(_0x542876,_0x82f637){return _0x542876(_0x82f637);},'jCvIq':_0x4d4429(0x7c),'XAnNE':function(_0x1d3e9f,_0x37e1eb){return _0x1d3e9f===_0x37e1eb;},'YBkWN':'project','OHVfB':'local','nHWOJ':_0x4d4429(0x9c)},_0x1dc579=_0x2c4d33['ezuPA'](getCurrentVersion);console[_0x4d4429(0x9a)]('\x0aCurrent\x20version:\x20'+_0x1dc579);const _0x5cdf8c=_0x2c4d33['bAxkS'](resolveDistTag,_0x1dc579);if(_0x2c4d33[_0x4d4429(0xa8)](_0x5cdf8c,_0x2c4d33['yMjGu'])){console['log'](_0x4d4429(0xb3)+_0x5cdf8c+').\x20Staying\x20on\x20'+_0x5cdf8c+'\x20—\x20reinstalling\x20@'+_0x5cdf8c+'...');const _0xaada8f=await runInstall(_0x5cdf8c);if(!_0xaada8f)throw new Error(_0x4d4429(0xb5)+_0x5cdf8c+_0x4d4429(0x8a));const _0x147ab9=getCurrentVersion();console[_0x4d4429(0x9a)]('\x0aSuccessfully\x20installed\x20'+PACKAGE_NAME+'@'+_0x5cdf8c+'.'),await _0x2c4d33[_0x4d4429(0x88)](reinstallSkills,_0x147ab9),await ensureActiveProfileGitignored(),console[_0x4d4429(0x9a)](_0x2c4d33['mmYRi']);return;}console[_0x4d4429(0x9a)](_0x2c4d33[_0x4d4429(0x8c)]);const _0x5f0b22=_0x2c4d33[_0x4d4429(0xa0)](getLatestVersion);let _0x443f3d=_0x1dc579;if(!_0x5f0b22['version']){console[_0x4d4429(0xab)](_0x4d4429(0x97)+_0x5f0b22[_0x4d4429(0xb8)]),console[_0x4d4429(0x9a)](_0x2c4d33[_0x4d4429(0x66)]);const _0xf35c2d=await runInstall();if(_0xf35c2d)console['log'](_0x4d4429(0xb0)),_0x443f3d=_0x2c4d33[_0x4d4429(0x83)](getCurrentVersion);else throw new Error(_0x4d4429(0x9b)+_0x5f0b22[_0x4d4429(0xb8)]);}else{const _0x19886d=_0x5f0b22['version'];console[_0x4d4429(0x9a)]('Latest\x20version:\x20\x20'+_0x19886d);const _0x318c09=_0x2c4d33['gMJvt'](compareVersions,_0x1dc579,_0x19886d);if(_0x2c4d33['yIQlH'](_0x318c09,0x0))console[_0x4d4429(0x9a)]('\x0aYou\x20are\x20already\x20on\x20the\x20latest\x20version.');else{if(_0x318c09<0x0)console['log'](_0x4d4429(0x6b)+_0x1dc579+_0x4d4429(0xac)+_0x19886d+').');else{const _0x268ec7=await runInstall();if(_0x268ec7)console[_0x4d4429(0x9a)](_0x4d4429(0x86)+_0x19886d),_0x443f3d=_0x19886d;else throw new Error(_0x2c4d33[_0x4d4429(0x78)]);}}}await _0x2c4d33['zjkFn'](reinstallSkills,_0x443f3d);const _0x1a15d0=await _0x2c4d33['zjkFn'](isMarketplaceAdded,'trailhead'),_0x3357ad=await _0x2c4d33['zZivP'](isPluginInstalled,'ranger@trailhead');_0x1a15d0&&(await _0x2c4d33['ezuPA'](updateClaudeMarketplace),console['log'](_0x2c4d33[_0x4d4429(0xae)]));if(_0x3357ad){const _0xddf485=await _0x2c4d33[_0x4d4429(0xa3)](getPluginInfo,'ranger@trailhead'),_0x162192=_0xddf485?.['scope']??_0x2c4d33[_0x4d4429(0x8f)];await _0x2c4d33['zjkFn'](updateClaudePlugin,_0x162192);if(_0x2c4d33['XAnNE'](_0x162192,_0x2c4d33[_0x4d4429(0x8e)]))console['log']('\x0aClaude\x20plugin\x20updated\x20(project\x20scope).');else _0x162192===_0x2c4d33[_0x4d4429(0x73)]?console['log']('\x0aClaude\x20plugin\x20updated\x20(local\x20scope).'):console[_0x4d4429(0x9a)](_0x2c4d33['nHWOJ']);}const _0x2587cb=await _0x2c4d33['ezuPA'](ensureActiveProfileGitignored);console[_0x4d4429(0x9a)](_0x2c4d33['mmYRi']);}
@@ -1 +1 @@
1
- (function(_0x1b135a,_0x1988a6){const _0x3af473=_0x2846,_0x51d2db=_0x1b135a();while(!![]){try{const _0x5e3bc9=-parseInt(_0x3af473(0x13f))/0x1+-parseInt(_0x3af473(0x14d))/0x2+parseInt(_0x3af473(0x154))/0x3+-parseInt(_0x3af473(0x143))/0x4*(parseInt(_0x3af473(0x159))/0x5)+parseInt(_0x3af473(0x149))/0x6*(parseInt(_0x3af473(0x134))/0x7)+parseInt(_0x3af473(0x14a))/0x8+-parseInt(_0x3af473(0x139))/0x9*(parseInt(_0x3af473(0x147))/0xa);if(_0x5e3bc9===_0x1988a6)break;else _0x51d2db['push'](_0x51d2db['shift']());}catch(_0x57c920){_0x51d2db['push'](_0x51d2db['shift']());}}}(_0x2e93,0xbbb4c));function _0x2846(_0x1e4fe2,_0x33d3cc){_0x1e4fe2=_0x1e4fe2-0x12c;const _0x2e933a=_0x2e93();let _0x2846f6=_0x2e933a[_0x1e4fe2];return _0x2846f6;}import{writeFile,readFile,unlink}from'fs/promises';import{join}from'path';function _0x2e93(){const _0x5c71c5=['storageState','832711EeDLle','setupHeaders','stdout','✓\x20Auth\x20state\x20saved\x20to:\x20','44yjvjZo','qDarU','FmCeA','utf-8','5727390ABnONN','isTTY','672498vHoNMn','8582544YXGMgP','jvRWj','XbZsy','1204138kYdVFd','\x0a✅\x20Profile\x20\x22','browser','trackPhaseEnd','close','evobb','ZvkgD','1985316fjKoYQ','\x20\x20\x20Update\x20your\x20authentication\x20as\x20needed.','This\x20can\x20happen\x20due\x20to\x20a\x20browser\x20compatibility\x20issue\x20on\x20some\x20systems.\x0a','baseUrl','config_write','35935DTQPqs','allowInsecureLocalhost','catch','peBkb','bLVCy','hQpfD','launch','log','tNDYY','Enable\x20safe\x20mode\x20and\x20try\x20again:\x20ranger\x20profile\x20config\x20set\x20','70jyrtwN','contextOptions','extraHTTPHeaders','goto','browser_auth','9aWnOuC','\x20\x20Run\x20ranger\x20setup\x20in\x20CI\x20to\x20decrypt\x20at\x20runtime.','pWslW','\x20\x20You\x20can\x20safely\x20commit\x20this\x20file\x20to\x20git.','\x20\x20\x20When\x20you\x20are\x20done,\x20close\x20the\x20browser.\x0a'];_0x2e93=function(){return _0x5c71c5;};return _0x2e93();}import{existsSync}from'fs';import{chromium}from'playwright';import{encrypt}from'./utils/crypto.js';import{getToken}from'./utils/keychain.js';import{buildBrowserOptionsFromSettings,getEnvDir,isEnvCi,resolveEnvVars}from'./utils/settings.js';import{addProfileSetupBanner}from'./utils/profileSetupBanner.js';export async function updateEnv(_0x4908a6,_0x1bbe62,_0xad454d){const _0x4e0ca1=_0x2846,_0x5301d4={'jvRWj':'Saving\x20authentication\x20state...','tNDYY':function(_0x72da35){return _0x72da35();},'rGIIx':_0x4e0ca1(0x151),'ZvkgD':function(_0x265e53,_0x59c31c){return _0x265e53(_0x59c31c);},'czBvo':'auth.json','XbZsy':'Non-interactive\x20mode\x20detected.\x0aThe\x20\x22ranger\x20profile\x20update\x22\x20command\x20requires\x20interactive\x20browser\x20authentication\x20and\x20cannot\x20be\x20run\x20in\x20non-TTY\x20environments\x20(CI,\x20scripts,\x20Claude\x20Code).\x0aTo\x20update\x20profile\x20authentication:\x0a\x20\x201.\x20Run\x20\x22ranger\x20profile\x20update\x20<name>\x22\x20in\x20an\x20interactive\x20terminal\x0a\x20\x202.\x20Commit\x20the\x20updated\x20encrypted\x20auth\x20file\x20to\x20git','pWslW':function(_0x544c30,_0x1f8f88,_0x34b41a){return _0x544c30(_0x1f8f88,_0x34b41a);},'FmCeA':_0x4e0ca1(0x146),'peBkb':function(_0xfa4c2c,_0x3ab91b){return _0xfa4c2c(_0x3ab91b);},'evobb':'string','VXjRC':'\x0a📋\x20Authentication\x20Update','cfXMr':'\x20\x20\x20A\x20browser\x20will\x20open\x20with\x20your\x20existing\x20session\x20(if\x20any).','qDarU':_0x4e0ca1(0x13d),'taGKu':function(_0x34d186,_0x33f3fa){return _0x34d186||_0x33f3fa;},'hQpfD':'Browser\x20closed\x20before\x20authentication\x20was\x20saved.','bLVCy':_0x4e0ca1(0x158)},_0x39847f=_0x5301d4['ZvkgD'](getEnvDir,_0x4908a6),_0x583769=join(_0x39847f,'settings.json'),_0x5cbe96=join(_0x39847f,_0x5301d4['czBvo']),_0x394fe1=_0x5cbe96+'.enc',_0x10dfd3=process['stdin'][_0x4e0ca1(0x148)]&&process[_0x4e0ca1(0x141)][_0x4e0ca1(0x148)];if(!_0x10dfd3)throw new Error(_0x5301d4[_0x4e0ca1(0x14c)]);if(!existsSync(_0x39847f))throw new Error('Profile\x20\x22'+_0x4908a6+'\x22\x20not\x20found.\x20Run\x20first:\x20ranger\x20profile\x20add\x20'+_0x4908a6);if(!existsSync(_0x583769))throw new Error('Config\x20not\x20found\x20at\x20'+_0x583769+'.\x20Run\x20first:\x20ranger\x20profile\x20add\x20'+_0x4908a6);const _0x7abdec=await _0x5301d4[_0x4e0ca1(0x13b)](readFile,_0x583769,_0x5301d4[_0x4e0ca1(0x145)]),_0x2a5b5e=JSON['parse'](_0x7abdec),_0x5aca6b=_0x5301d4[_0x4e0ca1(0x12d)](resolveEnvVars,_0x2a5b5e),_0x62386=typeof _0x5aca6b[_0x4e0ca1(0x157)]===_0x5301d4[_0x4e0ca1(0x152)]?_0x5aca6b[_0x4e0ca1(0x157)]:undefined,_0x161c33=existsSync(_0x5cbe96),_0x39920d=_0x5301d4[_0x4e0ca1(0x153)](isEnvCi,_0x4908a6);_0x1bbe62?.['trackPhaseStart']('browser_auth'),console['log'](_0x5301d4['VXjRC']),console[_0x4e0ca1(0x131)](_0x5301d4['cfXMr']),console['log'](_0x4e0ca1(0x155)),console[_0x4e0ca1(0x131)](_0x5301d4[_0x4e0ca1(0x144)]);const {launchOptions:_0x4b94fe,contextOptions:_0x919d3f}=buildBrowserOptionsFromSettings(_0x5aca6b,{'headless':![],'storageStatePath':_0x161c33?_0x5cbe96:undefined});_0x5aca6b[_0x4e0ca1(0x140)]&&(_0x919d3f[_0x4e0ca1(0x136)]={..._0x919d3f['extraHTTPHeaders'],..._0x5aca6b['setupHeaders']});const _0xc01c01=await chromium[_0x4e0ca1(0x130)](_0x4b94fe);let _0x3d3689=null;try{_0x3d3689=await _0xc01c01['newContext'](_0x919d3f),await addProfileSetupBanner(_0x3d3689);const _0x5123b4=await _0x3d3689['newPage']();await _0x5123b4[_0x4e0ca1(0x137)](_0x5301d4['taGKu'](_0x62386,'about:blank'));let _0x2f80f8=![];await new Promise(_0x5732f6=>{_0x5123b4['on'](_0x5301d4['rGIIx'],async()=>{const _0x54bba6=_0x2846;try{console[_0x54bba6(0x131)](_0x5301d4[_0x54bba6(0x14b)]),await _0x3d3689?.[_0x54bba6(0x13e)]({'path':_0x5cbe96}),_0x2f80f8=!![];}catch{}_0x5301d4[_0x54bba6(0x132)](_0x5732f6);});});if(!_0x2f80f8){console['log']('\x0aThe\x20browser\x20closed\x20unexpectedly\x20before\x20authentication\x20could\x20be\x20saved.');!_0x5aca6b['safeMode']&&(console[_0x4e0ca1(0x131)](_0x4e0ca1(0x156)),console['log'](_0x4e0ca1(0x133)+_0x4908a6+'\x20safeMode\x20true\x0a'));throw new Error(_0x5301d4[_0x4e0ca1(0x12f)]);}}finally{_0x3d3689&&await _0x3d3689[_0x4e0ca1(0x151)]()[_0x4e0ca1(0x12c)](()=>{}),await _0xc01c01[_0x4e0ca1(0x151)]()['catch'](()=>{});}if(_0x39920d){const _0x361e14=await _0x5301d4['pWslW'](readFile,_0x5cbe96,_0x5301d4[_0x4e0ca1(0x145)]),_0x35b242=await getToken();if(!_0x35b242)console['error']('\x20\x20Could\x20not\x20encrypt:\x20No\x20API\x20token\x20found.\x20Run:\x20ranger\x20setup\x20[token]'),console[_0x4e0ca1(0x131)](_0x4e0ca1(0x142)+_0x5cbe96);else{const _0x1670ac=_0x5301d4[_0x4e0ca1(0x13b)](encrypt,_0x361e14,_0x35b242);await writeFile(_0x394fe1,_0x1670ac),await unlink(_0x5cbe96),console['log']('✓\x20Encrypted\x20auth\x20saved\x20to:\x20'+_0x394fe1),console[_0x4e0ca1(0x131)](_0x4e0ca1(0x13c)),console['log'](_0x4e0ca1(0x13a));}}else console[_0x4e0ca1(0x131)]('✓\x20Auth\x20state\x20saved\x20to:\x20'+_0x5cbe96);_0x1bbe62?.[_0x4e0ca1(0x150)](_0x4e0ca1(0x138)),_0x1bbe62?.['trackPhaseStart'](_0x5301d4[_0x4e0ca1(0x12e)]),_0x2a5b5e[_0x4e0ca1(0x14f)]=_0x2a5b5e[_0x4e0ca1(0x14f)]||{},_0x2a5b5e['browser']['contextOptions']=_0x2a5b5e['browser'][_0x4e0ca1(0x135)]||{},_0x2a5b5e['browser']['contextOptions'][_0x4e0ca1(0x13e)]=_0x5cbe96,_0xad454d?.[_0x4e0ca1(0x15a)]===!![]&&(_0x2a5b5e['allowInsecureLocalhost']=!![]),await writeFile(_0x583769,JSON['stringify'](_0x2a5b5e,null,0x2)),console[_0x4e0ca1(0x131)]('✓\x20Updated\x20config:\x20'+_0x583769),_0x1bbe62?.['trackPhaseEnd'](_0x5301d4[_0x4e0ca1(0x12e)]),console['log'](_0x4e0ca1(0x14e)+_0x4908a6+'\x22\x20authentication\x20updated');}
1
+ (function(_0x4ae3a1,_0x4853b3){const _0x335bbf=_0x45d4,_0x8e7989=_0x4ae3a1();while(!![]){try{const _0x25fe49=-parseInt(_0x335bbf(0x1f1))/0x1*(parseInt(_0x335bbf(0x1fd))/0x2)+-parseInt(_0x335bbf(0x1ff))/0x3+-parseInt(_0x335bbf(0x1fc))/0x4*(-parseInt(_0x335bbf(0x20b))/0x5)+parseInt(_0x335bbf(0x20d))/0x6+-parseInt(_0x335bbf(0x201))/0x7*(-parseInt(_0x335bbf(0x1ee))/0x8)+-parseInt(_0x335bbf(0x202))/0x9*(-parseInt(_0x335bbf(0x206))/0xa)+parseInt(_0x335bbf(0x209))/0xb*(-parseInt(_0x335bbf(0x203))/0xc);if(_0x25fe49===_0x4853b3)break;else _0x8e7989['push'](_0x8e7989['shift']());}catch(_0x4e0ad7){_0x8e7989['push'](_0x8e7989['shift']());}}}(_0xa292,0x9d908));import{fetchAuthConfig,fetchCloudProfile,manualBrowserLogin,serverSideLogin}from'./utils/cloudProfile.js';import{resolveAuthEnvironmentLocally}from'./utils/cloudProfileSession.js';function _0x45d4(_0x2a5a52,_0x2033ab){_0x2a5a52=_0x2a5a52-0x1ea;const _0xa29247=_0xa292();let _0x45d4f5=_0xa29247[_0x2a5a52];return _0x45d4f5;}import{getEnvNames}from'./env.js';export async function updateEnv(_0x2e1768,_0x17d56b,_0x5acb90){const _0x5aacda=_0x45d4,_0x3ff9b1={'wXNNS':function(_0x2b3a91,_0x4e1709){return _0x2b3a91(_0x4e1709);},'NNBnS':function(_0x1818c5,_0x7109e1){return _0x1818c5===_0x7109e1;},'vQZXA':'local','pghDY':function(_0x1ea478,_0x225244){return _0x1ea478+_0x225244;},'vEwOl':function(_0x43d993){return _0x43d993();},'AgPfv':function(_0x26d1a2,_0x1f786c,_0x5ebad5){return _0x26d1a2(_0x1f786c,_0x5ebad5);},'zAclL':'success','KJVWl':'not_configured','UZjza':_0x5aacda(0x1fb),'BBKAg':_0x5aacda(0x205)},_0x10d44c=await _0x3ff9b1['wXNNS'](fetchCloudProfile,_0x2e1768);if(!_0x10d44c){const {envTypes:_0xd37389}=await getEnvNames(),_0x6875a=_0xd37389[_0x2e1768];(_0x6875a==='legacy'||_0x3ff9b1['NNBnS'](_0x6875a,_0x3ff9b1[_0x5aacda(0x20a)])||_0x6875a==='ci')&&(console['error'](_0x5aacda(0x1f5)+_0x2e1768+'\x22\x20is\x20a\x20legacy\x20on-disk\x20profile\x20and\x20can\x20no\x20longer\x20be\x20refreshed\x20in\x20place.\x0a'+_0x5aacda(0x20c)+'\x0a'+('\x20\x20ranger\x20profile\x20add\x20'+_0x2e1768+'\x0a')),process[_0x5aacda(0x1f8)](0x1));}!_0x10d44c&&(console[_0x5aacda(0x1ef)](_0x3ff9b1['pghDY'](_0x5aacda(0x1f3)+_0x2e1768+'\x22\x20found.\x0a'+'Create\x20it\x20with:\x0a','\x0a')+('\x20\x20ranger\x20profile\x20add\x20'+_0x2e1768+'\x0a')),process['exit'](0x1));const _0x28554f=await _0x3ff9b1[_0x5aacda(0x208)](fetchAuthConfig)[_0x5aacda(0x1eb)](()=>null),_0x1a4849=_0x10d44c['environmentKey']&&_0x28554f?resolveAuthEnvironmentLocally(_0x28554f,_0x10d44c['environmentKey']):null;if(_0x10d44c[_0x5aacda(0x1f6)]&&_0x1a4849){console[_0x5aacda(0x1fe)]('Refreshing\x20session\x20for\x20\x22'+_0x2e1768+_0x5aacda(0x200));try{const _0x4a76a9=await _0x3ff9b1['AgPfv'](serverSideLogin,_0x2e1768,{'force':!![]});if(_0x4a76a9['status']===_0x3ff9b1['zAclL']){console['log'](_0x5aacda(0x1f0)+_0x2e1768+'\x22.');return;}_0x4a76a9[_0x5aacda(0x1fa)]===_0x3ff9b1['KJVWl']?console[_0x5aacda(0x1fe)]('\x20\x20Server-side\x20login\x20not\x20configured\x20for\x20this\x20org.\x20Falling\x20back\x20to\x20headed\x20browser...'):(_0x4a76a9[_0x5aacda(0x1f4)]&&(console['log'](_0x3ff9b1[_0x5aacda(0x1ec)]),console[_0x5aacda(0x1fe)](_0x4a76a9[_0x5aacda(0x1f4)])),console[_0x5aacda(0x1fe)](_0x5aacda(0x205)));}catch(_0x130aa7){console['log']('\x20\x20Server-side\x20login\x20error:\x20'+(_0x130aa7 instanceof Error?_0x130aa7['message']:String(_0x130aa7))),console['log'](_0x3ff9b1['BBKAg']);}}const _0x477510=_0x10d44c[_0x5aacda(0x1f2)]??{},_0x21eb8b=_0x477510['setupHeaders'],_0x5e0c5a=_0x477510['baseUrl'],_0x75d68e=_0x1a4849?{..._0x1a4849,'setupHeaders':_0x21eb8b??_0x1a4849[_0x5aacda(0x1f9)]}:_0x5e0c5a?{'key':_0x10d44c[_0x5aacda(0x1f6)]??'','domains':[_0x5e0c5a],'setupHeaders':_0x21eb8b}:null;!_0x75d68e&&(console[_0x5aacda(0x1ef)](_0x3ff9b1['pghDY'](_0x5aacda(0x1f5)+_0x2e1768+'\x22\x20has\x20no\x20environment_key\x20and\x20no\x20baseUrl\x20set\x20—\x20there\x27s\x20nothing\x20to\x20refresh\x20against.\x0a'+'Re-create\x20it\x20with:\x0a'+'\x0a','\x20\x20ranger\x20profile\x20add\x20'+_0x2e1768+'\x0a')),process[_0x5aacda(0x1f8)](0x1)),(!process[_0x5aacda(0x207)][_0x5aacda(0x1ea)]||!process['stdout']['isTTY'])&&(console[_0x5aacda(0x1ef)](_0x5aacda(0x1ed)+_0x2e1768+'\x22\x20non-interactively\x20—\x20this\x20profile\x20needs\x20a\x20headed\x20browser\x20to\x20capture\x20a\x20session.\x0a'+(_0x5aacda(0x204)+_0x2e1768+'`\x20from\x20a\x20local\x20terminal,\x20or\x20set\x20up\x20automated\x20login\x20for\x20your\x20team\x20(contact\x20eng@ranger.net).')),process[_0x5aacda(0x1f8)](0x1)),console['log']('Capturing\x20a\x20fresh\x20session\x20for\x20\x22'+_0x2e1768+'\x22\x20via\x20headed\x20browser...'),await _0x3ff9b1[_0x5aacda(0x1f7)](manualBrowserLogin,_0x10d44c,_0x75d68e),console['log'](_0x5aacda(0x1f0)+_0x2e1768+'\x22.');}function _0xa292(){const _0x2e4ade=['33GfXMUa','vQZXA','10UtmZIb','Migrate\x20it\x20to\x20a\x20cloud\x20profile\x20by\x20running:\x0a','4586964xBtzHW','isTTY','catch','UZjza','Can\x27t\x20refresh\x20\x22','66704fbwteT','error','✓\x20Session\x20refreshed\x20for\x20\x22','1427pVaVzu','settings','No\x20profile\x20named\x20\x22','test_output','Profile\x20\x22','environmentKey','AgPfv','exit','setupHeaders','status','\x0a\x20\x20Server-side\x20login\x20failed.\x20Test\x20output:','703132TTlgQr','914zcsdaw','log','3020445vYgPau','\x22\x20via\x20server-side\x20login...','931cgtgiv','1463787lWtroi','333276HuNBiH','Run\x20`ranger\x20profile\x20update\x20','\x20\x20Falling\x20back\x20to\x20headed\x20browser...','10bwDpPB','stdin','vEwOl'];_0xa292=function(){return _0x2e4ade;};return _0xa292();}
@@ -1 +1 @@
1
- (function(_0x1de122,_0x373246){const _0x9c3efb=_0x3896,_0x560e80=_0x1de122();while(!![]){try{const _0x409b3f=parseInt(_0x9c3efb(0x17e))/0x1+-parseInt(_0x9c3efb(0x186))/0x2*(parseInt(_0x9c3efb(0x18a))/0x3)+parseInt(_0x9c3efb(0x183))/0x4+-parseInt(_0x9c3efb(0x180))/0x5+parseInt(_0x9c3efb(0x181))/0x6*(-parseInt(_0x9c3efb(0x187))/0x7)+-parseInt(_0x9c3efb(0x185))/0x8*(parseInt(_0x9c3efb(0x188))/0x9)+parseInt(_0x9c3efb(0x17d))/0xa*(parseInt(_0x9c3efb(0x18c))/0xb);if(_0x409b3f===_0x373246)break;else _0x560e80['push'](_0x560e80['shift']());}catch(_0x4a1b03){_0x560e80['push'](_0x560e80['shift']());}}}(_0x49ad,0x41619));function _0x3896(_0x2097d1,_0x137c62){_0x2097d1=_0x2097d1-0x17d;const _0x49adcc=_0x49ad();let _0x389651=_0x49adcc[_0x2097d1];return _0x389651;}import{join}from'path';function _0x49ad(){const _0x499c3f=['20kPyowN','7vcrvPn','801yNRMEg','VZHVt','123615iNqulw','\x22\x20not\x20found.\x20Run\x20first:\x20ranger\x20profile\x20add\x20','70026uPrUCv','Config\x20not\x20found\x20at\x20','Profile\x20\x22','560tzxkpZ','511015TxHKap','BaZoC','1250570McZrPN','102078IlBUTp','OZCEx','590920sZMxBQ','settings.json','6136vTOyLi'];_0x49ad=function(){return _0x499c3f;};return _0x49ad();}import{existsSync}from'fs';import{getEnvDir}from'./utils/settings.js';import{writeActiveProfileName}from'./utils/activeProfile.js';export async function useEnv(_0x5b1973){const _0x451de5=_0x3896,_0x446a12={'BaZoC':function(_0x188ca5,_0x5334b1){return _0x188ca5(_0x5334b1);},'OZCEx':_0x451de5(0x184),'VZHVt':function(_0x2a04a3,_0x420074){return _0x2a04a3(_0x420074);}},_0x9bd467=_0x446a12['BaZoC'](getEnvDir,_0x5b1973),_0x2bdd0b=join(_0x9bd467,_0x446a12[_0x451de5(0x182)]);if(!_0x446a12[_0x451de5(0x17f)](existsSync,_0x9bd467))throw new Error(_0x451de5(0x18e)+_0x5b1973+_0x451de5(0x18b)+_0x5b1973);if(!_0x446a12[_0x451de5(0x189)](existsSync,_0x2bdd0b))throw new Error(_0x451de5(0x18d)+_0x2bdd0b+'.\x20Run\x20first:\x20ranger\x20profile\x20add\x20'+_0x5b1973);await writeActiveProfileName(_0x5b1973),console['log']('\x0a✓\x20Now\x20using\x20profile\x20\x22'+_0x5b1973+'\x22');}
1
+ (function(_0x521fe0,_0xe82591){const _0x44aa8d=_0x4582,_0x513941=_0x521fe0();while(!![]){try{const _0x5e0d58=parseInt(_0x44aa8d(0x1ec))/0x1*(parseInt(_0x44aa8d(0x1f1))/0x2)+-parseInt(_0x44aa8d(0x1ee))/0x3+parseInt(_0x44aa8d(0x1f0))/0x4+parseInt(_0x44aa8d(0x1f9))/0x5*(parseInt(_0x44aa8d(0x1fb))/0x6)+parseInt(_0x44aa8d(0x1eb))/0x7+parseInt(_0x44aa8d(0x1f7))/0x8*(-parseInt(_0x44aa8d(0x1f3))/0x9)+parseInt(_0x44aa8d(0x1f6))/0xa*(-parseInt(_0x44aa8d(0x1f4))/0xb);if(_0x5e0d58===_0xe82591)break;else _0x513941['push'](_0x513941['shift']());}catch(_0x40c700){_0x513941['push'](_0x513941['shift']());}}}(_0x5d31,0x3fefe));function _0x4582(_0x5c210b,_0x3a560c){_0x5c210b=_0x5c210b-0x1eb;const _0x5d31b5=_0x5d31();let _0x4582d6=_0x5d31b5[_0x5c210b];return _0x4582d6;}import{join}from'path';import{existsSync}from'fs';import{getEnvDir}from'./utils/settings.js';import{writeActiveProfileName}from'./utils/activeProfile.js';function _0x5d31(){const _0x2a70a2=['2456370EfXedj','41AQOKSl','settings.json','154464gweWZY','Pdnbw','860304yXcOqU','16636xEUdpE','aCCWo','157293UuKcLy','66skwnqb','log','1316350yLsjVv','104ZTrLwi','\x0a✓\x20Now\x20using\x20profile\x20\x22','1165ohBIjm','`ranger\x20profile\x20add\x20','10902nhUjqH'];_0x5d31=function(){return _0x2a70a2;};return _0x5d31();}import{ApiError,fetchCloudProfile}from'./utils/cloudProfile.js';export async function useEnv(_0x2dc41e){const _0x48d79f=_0x4582,_0x668514={'jliqR':function(_0x306163,_0xf743ed){return _0x306163(_0xf743ed);},'SBjWu':function(_0x68f6a6,_0x324d7c,_0x4f087d){return _0x68f6a6(_0x324d7c,_0x4f087d);},'aCCWo':function(_0xdc6bc5,_0x4c368c){return _0xdc6bc5(_0x4c368c);},'Pdnbw':function(_0x1ded4b,_0x364b92){return _0x1ded4b===_0x364b92;},'rvVNY':function(_0x345feb,_0x1f30b2){return _0x345feb+_0x1f30b2;}},_0x24e810=_0x668514['jliqR'](getEnvDir,_0x2dc41e),_0x474705=_0x668514['SBjWu'](join,_0x24e810,_0x48d79f(0x1ed)),_0x33fab1=existsSync(_0x24e810)&&_0x668514[_0x48d79f(0x1f2)](existsSync,_0x474705);if(_0x33fab1){await writeActiveProfileName(_0x2dc41e),console[_0x48d79f(0x1f5)]('\x0a✓\x20Now\x20using\x20profile\x20\x22'+_0x2dc41e+'\x22');return;}let _0x3f6850=null,_0x206221=![];try{_0x3f6850=await _0x668514['jliqR'](fetchCloudProfile,_0x2dc41e);if(!_0x3f6850)_0x206221=!![];}catch(_0x5bae0e){_0x5bae0e instanceof ApiError&&_0x668514[_0x48d79f(0x1ef)](_0x5bae0e['status'],0x194)&&(_0x206221=!![]);}if(_0x206221)throw new Error(_0x668514['rvVNY']('Profile\x20\x22'+_0x2dc41e+'\x22\x20not\x20found\x20locally\x20or\x20in\x20the\x20cloud.\x20','Run\x20`ranger\x20profile\x20ls`\x20to\x20see\x20available\x20profiles,\x20or\x20')+(_0x48d79f(0x1fa)+_0x2dc41e+'`\x20to\x20create\x20one.'));await writeActiveProfileName(_0x2dc41e),console['log'](_0x48d79f(0x1f8)+_0x2dc41e+'\x22');}
@@ -1 +1 @@
1
- function _0x33a8(_0x364329,_0x3cff2a){_0x364329=_0x364329-0x1a0;const _0x37b0eb=_0x37b0();let _0x33a86b=_0x37b0eb[_0x364329];return _0x33a86b;}const _0x111dfe=_0x33a8;(function(_0xa0d8d4,_0x1c3fa6){const _0xdad658=_0x33a8,_0x556bff=_0xa0d8d4();while(!![]){try{const _0xb9431d=parseInt(_0xdad658(0x1b4))/0x1*(-parseInt(_0xdad658(0x1a6))/0x2)+-parseInt(_0xdad658(0x1b7))/0x3+-parseInt(_0xdad658(0x1b0))/0x4*(parseInt(_0xdad658(0x1a1))/0x5)+-parseInt(_0xdad658(0x1b5))/0x6*(parseInt(_0xdad658(0x1a4))/0x7)+parseInt(_0xdad658(0x1b3))/0x8*(-parseInt(_0xdad658(0x1ac))/0x9)+-parseInt(_0xdad658(0x1a3))/0xa+parseInt(_0xdad658(0x1a9))/0xb*(parseInt(_0xdad658(0x1aa))/0xc);if(_0xb9431d===_0x1c3fa6)break;else _0x556bff['push'](_0x556bff['shift']());}catch(_0x395b8e){_0x556bff['push'](_0x556bff['shift']());}}}(_0x37b0,0x90dab));import{existsSync}from'fs';import{mkdir,readFile,rename,unlink,writeFile}from'fs/promises';import{join}from'path';import{getRangerDir}from'./rangerRoot.js';const ACTIVE_PROFILE_FILE=_0x111dfe(0x1b2),LEGACY_ACTIVE_ENV_FILE=_0x111dfe(0x1a8);function getActiveProfilePath(){return join(getRangerDir(),ACTIVE_PROFILE_FILE);}function _0x37b0(){const _0xc20456=['4661349FlfTNX','oWOpc','9346eeCorS','BxQzS','active-env.txt','55AwYnjx','5459352JORZMq','KppEO','9fSgsOU','JzDPe','YUclp','Ooyky','78788PVPPET','utf-8','active-profile.txt','1583664sprSDU','71NIpLzM','6clvQxk','ifSwX','783729FYgkvm','CMnON','25lZpWPM','trim','1260310HdAzrr'];_0x37b0=function(){return _0xc20456;};return _0x37b0();}function getLegacyActiveEnvPath(){const _0x27c8f4=_0x111dfe,_0x308d3e={'oWOpc':function(_0x4f3e72,_0x41cc69,_0x569fe1){return _0x4f3e72(_0x41cc69,_0x569fe1);},'BxQzS':function(_0x2a1484){return _0x2a1484();}};return _0x308d3e[_0x27c8f4(0x1a5)](join,_0x308d3e[_0x27c8f4(0x1a7)](getRangerDir),LEGACY_ACTIVE_ENV_FILE);}async function migrateLegacyActiveEnv(){const _0x3bbe47=_0x111dfe,_0x1af852={'ifSwX':function(_0x1ba670,_0x1e7599){return _0x1ba670(_0x1e7599);},'WSIxW':function(_0x4eb985,_0x5ab8c2,_0x10d326){return _0x4eb985(_0x5ab8c2,_0x10d326);},'UGONz':function(_0x1780d0,_0x1c42f6,_0x47082a){return _0x1780d0(_0x1c42f6,_0x47082a);},'PxlZd':function(_0x2e3879,_0x1399d2,_0x205a9b,_0x282b33){return _0x2e3879(_0x1399d2,_0x205a9b,_0x282b33);},'Ooyky':_0x3bbe47(0x1b1)},_0x4b2dfc=getLegacyActiveEnvPath();if(!_0x1af852[_0x3bbe47(0x1b6)](existsSync,_0x4b2dfc))return null;let _0x4c0e49=null;try{_0x4c0e49=(await _0x1af852['WSIxW'](readFile,_0x4b2dfc,'utf-8'))['trim']()||null;}catch{_0x4c0e49=null;}if(!_0x4c0e49)return null;const _0x56e346=getActiveProfilePath();try{await _0x1af852['UGONz'](rename,_0x4b2dfc,_0x56e346);}catch{try{const _0x2c676e=getRangerDir();await mkdir(_0x2c676e,{'recursive':!![]}),await _0x1af852['PxlZd'](writeFile,_0x56e346,_0x4c0e49,_0x1af852[_0x3bbe47(0x1af)]),await unlink(_0x4b2dfc);}catch{}}return _0x4c0e49;}export async function readActiveProfileName(){const _0x406c12=_0x111dfe,_0x228c3c={'KppEO':function(_0x32835c,_0x10240f){return _0x32835c(_0x10240f);},'JzDPe':function(_0x1a07b9){return _0x1a07b9();}},_0xf9e3ed=getActiveProfilePath();if(_0x228c3c[_0x406c12(0x1ab)](existsSync,_0xf9e3ed))try{return(await readFile(_0xf9e3ed,_0x406c12(0x1b1)))[_0x406c12(0x1a2)]()||null;}catch{return null;}return await _0x228c3c[_0x406c12(0x1ad)](migrateLegacyActiveEnv);}export async function writeActiveProfileName(_0x53efae){const _0x25e125=_0x111dfe,_0x3b50a9={'YUclp':function(_0x334050){return _0x334050();},'WkwNC':_0x25e125(0x1b1),'CMnON':function(_0x623ff3,_0x1184be){return _0x623ff3(_0x1184be);}},_0x2dc297=_0x3b50a9[_0x25e125(0x1ae)](getRangerDir);await mkdir(_0x2dc297,{'recursive':!![]});const _0xcd70cb=_0x3b50a9[_0x25e125(0x1ae)](getActiveProfilePath);await writeFile(_0xcd70cb,_0x53efae,_0x3b50a9['WkwNC']);const _0x25413d=getLegacyActiveEnvPath();if(_0x3b50a9[_0x25e125(0x1a0)](existsSync,_0x25413d))try{await unlink(_0x25413d);}catch{}}export async function migrateActiveProfileFile(){const _0x2c2427={'YveYG':function(_0xceb7f6,_0x23500a){return _0xceb7f6!==_0x23500a;}},_0x153665=await migrateLegacyActiveEnv();return _0x2c2427['YveYG'](_0x153665,null);}
1
+ (function(_0x114d7c,_0x120366){const _0x34b741=_0x1c14,_0x499cf7=_0x114d7c();while(!![]){try{const _0x1fd94c=parseInt(_0x34b741(0x187))/0x1+-parseInt(_0x34b741(0x18d))/0x2*(parseInt(_0x34b741(0x193))/0x3)+parseInt(_0x34b741(0x194))/0x4+parseInt(_0x34b741(0x197))/0x5*(parseInt(_0x34b741(0x18e))/0x6)+parseInt(_0x34b741(0x18f))/0x7*(-parseInt(_0x34b741(0x189))/0x8)+parseInt(_0x34b741(0x191))/0x9*(-parseInt(_0x34b741(0x18b))/0xa)+-parseInt(_0x34b741(0x18a))/0xb;if(_0x1fd94c===_0x120366)break;else _0x499cf7['push'](_0x499cf7['shift']());}catch(_0x1f3c53){_0x499cf7['push'](_0x499cf7['shift']());}}}(_0x4516,0x8f1ac));import{existsSync}from'fs';import{readFile}from'fs/promises';function _0x1c14(_0x1f2a72,_0x35c541){_0x1f2a72=_0x1f2a72-0x187;const _0x4516a0=_0x4516();let _0x1c144c=_0x4516a0[_0x1f2a72];return _0x1c144c;}import{join}from'path';import{getRangerDir,getRangerHomeDir}from'./rangerRoot.js';import{readLastProfile,writeLastProfile}from'./projectsConfig.js';const LEGACY_ACTIVE_PROFILE_FILE='active-profile.txt',LEGACY_ACTIVE_ENV_FILE='active-env.txt';function readLegacyActiveProfileFile(){const _0x2d3a7b=_0x1c14,_0x11fdfb={'qmPRY':function(_0x4d4d5f,_0x2d3ca3,_0x130dfc){return _0x4d4d5f(_0x2d3ca3,_0x130dfc);},'VrQGC':function(_0x4c7e27){return _0x4c7e27();},'hxZvC':function(_0xee0ac7){return _0xee0ac7();},'QkUMC':function(_0x504ea5,_0x59cd29,_0xe9955b){return _0x504ea5(_0x59cd29,_0xe9955b);},'bSnuu':function(_0xe20432){return _0xe20432();},'ZFTmL':function(_0x2d2f98,_0x17d5fa){return _0x2d2f98(_0x17d5fa);}},_0x2e16ab=[_0x11fdfb['qmPRY'](join,_0x11fdfb[_0x2d3a7b(0x192)](getRangerDir),LEGACY_ACTIVE_PROFILE_FILE),join(getRangerHomeDir(),LEGACY_ACTIVE_PROFILE_FILE),_0x11fdfb[_0x2d3a7b(0x190)](join,_0x11fdfb['hxZvC'](getRangerDir),LEGACY_ACTIVE_ENV_FILE),_0x11fdfb['QkUMC'](join,_0x11fdfb[_0x2d3a7b(0x195)](getRangerHomeDir),LEGACY_ACTIVE_ENV_FILE)];for(const _0x184b4d of _0x2e16ab){if(_0x11fdfb['ZFTmL'](existsSync,_0x184b4d))return _0x184b4d;}return null;}export async function readActiveProfileName(){const _0x400e51=_0x1c14,_0x58a489={'KCizx':function(_0x363a78,_0x42312e){return _0x363a78(_0x42312e);},'xqxRe':function(_0xa5f868,_0x456f4a,_0x32d22e){return _0xa5f868(_0x456f4a,_0x32d22e);},'DiLoY':'utf-8'},_0xa82614=_0x58a489[_0x400e51(0x188)](readLastProfile,process[_0x400e51(0x196)]());if(_0xa82614)return _0xa82614;const _0x359bf5=readLegacyActiveProfileFile();if(!_0x359bf5)return null;try{return(await _0x58a489[_0x400e51(0x18c)](readFile,_0x359bf5,_0x58a489['DiLoY']))['trim']()||null;}catch{return null;}}export async function writeActiveProfileName(_0x168752){const _0xa96aca=_0x1c14,_0x3f05dc={'csndk':function(_0x35bd5e,_0x57b052,_0x207ffe){return _0x35bd5e(_0x57b052,_0x207ffe);}};_0x3f05dc['csndk'](writeLastProfile,process[_0xa96aca(0x196)](),_0x168752);}function _0x4516(){const _0x2c292c=['2313267TIUgGD','74590hXDMyg','xqxRe','1586ikMfrb','6894TeAilH','1995jaZyUD','qmPRY','405iIKFZs','VrQGC','645KLiVUS','3410172whTIXP','bSnuu','cwd','95EjsOie','774789bBnPdb','KCizx','9728yMUyZu'];_0x4516=function(){return _0x2c292c;};return _0x4516();}
@@ -1 +1 @@
1
- const _0x391f31=_0x4a35;function _0x2681(){const _0xbaaf71=['add','NPM_CONFIG_PREFIX','push','ZlTbA','9200552qMKdwX','ROfTU','TMPDIR','UHIBH','slice','trim','$PATH','x-ranger-','map','20FaCMVB','entries','AzLWz','toLowerCase','TMP','string','DEBUG','7172382hWrJAj','3238564SsgVjE','XDG_CACHE_HOME','230149GQXMOJ','sessionToken','hwXhq','npm_config_cache','TEMP','/usr/bin','split','some','1507010gRdGbx','RANGER_TEST_SKIP_BROWSER_WAIT','2BiqfKt','%PATH%','includes','MHRke','length','filter','5326011bypYwf','from','HOME','32rRvoDI','platform','has','PATH\x20is\x20missing\x20core\x20system\x20directories\x20like\x20`/usr/bin`\x20and\x20`/bin`.','Session\x20token\x20is\x20required\x20when\x20RANGER_BYOK=false','npm_config_registry','fromEntries','WIFPx','rymAB','PATH\x20contains\x20an\x20unexpanded\x20placeholder\x20like\x20`${PATH}`\x20instead\x20of\x20the\x20expanded\x20current\x20PATH.','env','69387gtHHzA','RANGER_DISABLE_MCP','Your\x20PATH\x20looks\x20incomplete\x20for\x20browser\x20automation.\x20Ranger\x20will\x20keep\x20going,\x20but\x20browser\x20setup\x20may\x20fail.','NPM_CONFIG_CACHE'];_0x2681=function(){return _0xbaaf71;};return _0x2681();}(function(_0x418b4c,_0x4d9842){const _0x99639a=_0x4a35,_0xf63010=_0x418b4c();while(!![]){try{const _0x55031b=parseInt(_0x99639a(0x98))/0x1*(-parseInt(_0x99639a(0xa2))/0x2)+parseInt(_0x99639a(0x7d))/0x3*(-parseInt(_0x99639a(0x72))/0x4)+parseInt(_0x99639a(0xa0))/0x5+parseInt(_0x99639a(0x95))/0x6+-parseInt(_0x99639a(0x96))/0x7+-parseInt(_0x99639a(0x85))/0x8+parseInt(_0x99639a(0x6f))/0x9*(parseInt(_0x99639a(0x8e))/0xa);if(_0x55031b===_0x4d9842)break;else _0xf63010['push'](_0xf63010['shift']());}catch(_0x45ae76){_0xf63010['push'](_0xf63010['shift']());}}}(_0x2681,0x9f4a7));function _0x4a35(_0x42c784,_0x33db3b){_0x42c784=_0x42c784-0x6c;const _0x268119=_0x2681();let _0x4a350f=_0x268119[_0x42c784];return _0x4a350f;}import{delimiter,join}from'path';import{tmpdir}from'os';import{mkdirSync}from'fs';import{getAiProxyUrl}from'./environment.js';const AI_PROXY_METADATA_HEADERS_ENV_VAR='ANTHROPIC_CUSTOM_HEADERS',AGENT_ENV_PASSTHROUGH_KEYS=['PATH',_0x391f31(0x71),'TMPDIR','TMP','TEMP','USERPROFILE','APPDATA','LOCALAPPDATA',_0x391f31(0x97),'XDG_CONFIG_HOME','PLAYWRIGHT_BROWSERS_PATH','PLAYWRIGHT_SKIP_BROWSER_DOWNLOAD','CHROME_BIN','CHROMIUM_BIN',_0x391f31(0x9b),_0x391f31(0x80),'npm_config_userconfig','NPM_CONFIG_USERCONFIG','npm_config_prefix',_0x391f31(0x82),_0x391f31(0x77),'NPM_CONFIG_REGISTRY',_0x391f31(0x94),'NODE_ENV',_0x391f31(0xa1),_0x391f31(0x7e),AI_PROXY_METADATA_HEADERS_ENV_VAR],UNEXPANDED_PATH_TOKEN_PATTERNS=['${PATH}',_0x391f31(0x8b),_0x391f31(0xa3)];function parseCustomHeaders(_0x4276ab){const _0x177f5a=_0x391f31,_0xb00b51={'djRYJ':function(_0x5fff39,_0x4e8879){return _0x5fff39===_0x4e8879;},'hwXhq':function(_0x4c801f,_0x5748a4){return _0x4c801f+_0x5748a4;}};if(!_0x4276ab)return[];return _0x4276ab[_0x177f5a(0x9e)](/\r?\n/)[_0x177f5a(0x8d)](_0x426e2c=>_0x426e2c['trim']())['filter'](Boolean)['map'](_0x4cb1f5=>{const _0x353169=_0x177f5a,_0x3949ac=_0x4cb1f5['indexOf'](':');if(_0xb00b51['djRYJ'](_0x3949ac,-0x1))return null;const _0x533b30=_0x4cb1f5['slice'](0x0,_0x3949ac)['trim'](),_0x1c0a97=_0x4cb1f5[_0x353169(0x89)](_0xb00b51[_0x353169(0x9a)](_0x3949ac,0x1))[_0x353169(0x8a)]();if(!_0x533b30)return null;return[_0x533b30,_0x1c0a97];})['filter'](_0x366cb0=>_0x366cb0!==null);}export function getAgentPathHealthWarning(_0x1a1130,_0x337676=process[_0x391f31(0x73)]){const _0x37b1be=_0x391f31,_0x3725b5={'AzLWz':function(_0x5ac062,_0x4eba35){return _0x5ac062||_0x4eba35;},'MHRke':'PATH\x20is\x20empty,\x20so\x20npm\x20and\x20core\x20system\x20tools\x20may\x20be\x20unavailable.','WIFPx':_0x37b1be(0x7b),'mxjgx':'/bin','UHIBH':function(_0xdf1f6d,_0x468229){return _0xdf1f6d&&_0x468229;}},_0x1a8880=[],_0x566393=_0x3725b5[_0x37b1be(0x90)](_0x1a1130,'')[_0x37b1be(0x9e)](delimiter)[_0x37b1be(0x6e)](Boolean);_0x566393[_0x37b1be(0x6d)]===0x0&&_0x1a8880['push'](_0x3725b5[_0x37b1be(0x6c)]);UNEXPANDED_PATH_TOKEN_PATTERNS[_0x37b1be(0x9f)](_0x1f2f84=>(_0x1a1130||'')['includes'](_0x1f2f84))&&_0x1a8880[_0x37b1be(0x83)](_0x3725b5[_0x37b1be(0x79)]);if(_0x337676!=='win32'){const _0x318e89=_0x566393['includes'](_0x37b1be(0x9d)),_0x356e24=_0x566393['includes'](_0x3725b5['mxjgx']);_0x3725b5[_0x37b1be(0x88)](!_0x318e89,!_0x356e24)&&_0x1a8880[_0x37b1be(0x83)](_0x37b1be(0x75));}if(_0x1a8880[_0x37b1be(0x6d)]===0x0)return null;return{'summary':_0x37b1be(0x7f),'issues':_0x1a8880};}export function buildAgentEnv(_0x44d73c){const _0xcc8eba=_0x391f31,_0x587aea={'ZlTbA':_0xcc8eba(0x76),'HlnOh':'TMP','IOqRb':'ranger-claude-tmp','rymAB':function(_0xf73ae4,_0x42ebc2,_0x17c79b){return _0xf73ae4(_0x42ebc2,_0x17c79b);},'ROfTU':'TMPDIR','wYLcC':function(_0x5b461d,_0x6b2992){return _0x5b461d===_0x6b2992;}};if(_0x44d73c['byokEnabled'])return Object[_0xcc8eba(0x78)](Object[_0xcc8eba(0x8f)](process[_0xcc8eba(0x7c)])[_0xcc8eba(0x6e)](_0x3eb9c1=>typeof _0x3eb9c1[0x1]===_0xcc8eba(0x93)));if(!_0x44d73c['sessionToken'])throw new Error(_0x587aea[_0xcc8eba(0x84)]);const _0x58e3ee={'ANTHROPIC_API_KEY':_0x44d73c[_0xcc8eba(0x99)],'ANTHROPIC_BASE_URL':getAiProxyUrl(),'DISABLE_TELEMETRY':'true'};for(const _0x4c47c0 of AGENT_ENV_PASSTHROUGH_KEYS){const _0x2e52ec=process[_0xcc8eba(0x7c)][_0x4c47c0];_0x2e52ec&&![_0xcc8eba(0x87),_0x587aea['HlnOh'],_0xcc8eba(0x9c)][_0xcc8eba(0xa4)](_0x4c47c0)&&(_0x58e3ee[_0x4c47c0]=_0x2e52ec);}const _0xf668a8=join(tmpdir(),_0x587aea['IOqRb']);try{_0x587aea[_0xcc8eba(0x7a)](mkdirSync,_0xf668a8,{'recursive':!![]});}catch{}_0x58e3ee[_0x587aea[_0xcc8eba(0x86)]]=_0xf668a8,_0x58e3ee[_0xcc8eba(0x92)]=_0xf668a8,_0x58e3ee[_0xcc8eba(0x9c)]=_0xf668a8;const _0xf4f736=parseCustomHeaders(process[_0xcc8eba(0x7c)][AI_PROXY_METADATA_HEADERS_ENV_VAR]),_0x5e3a56=new Map(_0xf4f736),_0x3a06e0=new Set(_0xf4f736[_0xcc8eba(0x8d)](([_0x39f402])=>_0x39f402[_0xcc8eba(0x91)]()));if(_0x44d73c['metadata'])for(const [_0x413f68,_0x1ad882]of Object['entries'](_0x44d73c['metadata'])){if(_0x1ad882==null||_0x587aea['wYLcC'](_0x1ad882,''))continue;const _0x17696e=_0xcc8eba(0x8c)+_0x413f68;!_0x3a06e0[_0xcc8eba(0x74)](_0x17696e['toLowerCase']())&&(_0x5e3a56['set'](_0x17696e,_0x1ad882),_0x3a06e0[_0xcc8eba(0x81)](_0x17696e[_0xcc8eba(0x91)]()));}const _0x18333c=Array[_0xcc8eba(0x70)](_0x5e3a56[_0xcc8eba(0x8f)]())[_0xcc8eba(0x8d)](([_0x5375e6,_0x26230f])=>_0x5375e6+':\x20'+_0x26230f)['join']('\x0a');return _0x18333c&&(_0x58e3ee[AI_PROXY_METADATA_HEADERS_ENV_VAR]=_0x18333c),_0x58e3ee;}
1
+ const _0x54cb98=_0x45a6;(function(_0x15bf08,_0xc07f0){const _0x40ee37=_0x45a6,_0x582b4a=_0x15bf08();while(!![]){try{const _0xa29813=-parseInt(_0x40ee37(0x18d))/0x1*(-parseInt(_0x40ee37(0x1a3))/0x2)+parseInt(_0x40ee37(0x181))/0x3+-parseInt(_0x40ee37(0x18a))/0x4+-parseInt(_0x40ee37(0x19f))/0x5*(parseInt(_0x40ee37(0x187))/0x6)+parseInt(_0x40ee37(0x19a))/0x7*(-parseInt(_0x40ee37(0x183))/0x8)+parseInt(_0x40ee37(0x195))/0x9+parseInt(_0x40ee37(0x19c))/0xa*(parseInt(_0x40ee37(0x18f))/0xb);if(_0xa29813===_0xc07f0)break;else _0x582b4a['push'](_0x582b4a['shift']());}catch(_0x1db454){_0x582b4a['push'](_0x582b4a['shift']());}}}(_0x3b7a,0xd5810));import{delimiter,join}from'path';import{tmpdir}from'os';import{mkdirSync}from'fs';function _0x3b7a(){const _0x2476fc=['fromEntries','1840hSqpwr','push','qXMDG','1666735AoOxff','sessionToken','true','PwXxf','298ZtuYKS','entries','includes','PATH\x20is\x20empty,\x20so\x20npm\x20and\x20core\x20system\x20tools\x20may\x20be\x20unavailable.','split','NODE_ENV','TEMP','PATH','metadata','env','slice','map','CKxBZ','NPM_CONFIG_PREFIX','XDG_CACHE_HOME','2928174KJhamY','Sgdxn','4030592PFqKoI','TMP','PLAYWRIGHT_BROWSERS_PATH','toLowerCase','18ghnuKj','filter','LOCALAPPDATA','5094312EMIWqh','add','TMPDIR','5345juNvNU','RANGER_DISABLE_MCP','30415URoshB','x-ranger-','NPM_CONFIG_USERCONFIG','from','length','npm_config_registry','12336588HhHrNS','trim','NPM_CONFIG_CACHE','ranger-claude-tmp','win32','7ySkiJj'];_0x3b7a=function(){return _0x2476fc;};return _0x3b7a();}function _0x45a6(_0x42ffcb,_0x45e91b){_0x42ffcb=_0x42ffcb-0x173;const _0x3b7a1c=_0x3b7a();let _0x45a66c=_0x3b7a1c[_0x42ffcb];return _0x45a66c;}import{getAiProxyUrl}from'./environment.js';const AI_PROXY_METADATA_HEADERS_ENV_VAR='ANTHROPIC_CUSTOM_HEADERS',AGENT_ENV_PASSTHROUGH_KEYS=[_0x54cb98(0x179),'HOME',_0x54cb98(0x18c),_0x54cb98(0x184),'TEMP','USERPROFILE','APPDATA',_0x54cb98(0x189),_0x54cb98(0x180),'XDG_CONFIG_HOME',_0x54cb98(0x185),'PLAYWRIGHT_SKIP_BROWSER_DOWNLOAD','CHROME_BIN','CHROMIUM_BIN','npm_config_cache',_0x54cb98(0x197),'npm_config_userconfig',_0x54cb98(0x191),'npm_config_prefix',_0x54cb98(0x17f),_0x54cb98(0x194),'NPM_CONFIG_REGISTRY','DEBUG',_0x54cb98(0x177),'RANGER_TEST_SKIP_BROWSER_WAIT',_0x54cb98(0x18e),AI_PROXY_METADATA_HEADERS_ENV_VAR],UNEXPANDED_PATH_TOKEN_PATTERNS=['${PATH}','$PATH','%PATH%'];function parseCustomHeaders(_0x286176){const _0x315445=_0x54cb98,_0x25939f={'Sgdxn':function(_0x3b0965,_0x3ec912){return _0x3b0965===_0x3ec912;},'ajSym':function(_0x5a097d,_0x533056){return _0x5a097d+_0x533056;}};if(!_0x286176)return[];return _0x286176['split'](/\r?\n/)['map'](_0x301a6d=>_0x301a6d[_0x315445(0x196)]())['filter'](Boolean)[_0x315445(0x17d)](_0xa96edf=>{const _0x53b51a=_0x315445,_0x453cd2=_0xa96edf['indexOf'](':');if(_0x25939f[_0x53b51a(0x182)](_0x453cd2,-0x1))return null;const _0x19a292=_0xa96edf[_0x53b51a(0x17c)](0x0,_0x453cd2)['trim'](),_0x3039c6=_0xa96edf['slice'](_0x25939f['ajSym'](_0x453cd2,0x1))[_0x53b51a(0x196)]();if(!_0x19a292)return null;return[_0x19a292,_0x3039c6];})[_0x315445(0x188)](_0x2ae96a=>_0x2ae96a!==null);}export function getAgentPathHealthWarning(_0x2f548d,_0x17445a=process['platform']){const _0x27e922=_0x54cb98,_0x587ee0={'PwXxf':function(_0x2ee784,_0x448bb1){return _0x2ee784||_0x448bb1;},'DQzbI':_0x27e922(0x175),'rWLlA':function(_0x534a97,_0x175fa0){return _0x534a97!==_0x175fa0;},'OroRx':'Your\x20PATH\x20looks\x20incomplete\x20for\x20browser\x20automation.\x20Ranger\x20will\x20keep\x20going,\x20but\x20browser\x20setup\x20may\x20fail.'},_0x2c6550=[],_0x32aa90=_0x587ee0[_0x27e922(0x1a2)](_0x2f548d,'')[_0x27e922(0x176)](delimiter)[_0x27e922(0x188)](Boolean);_0x32aa90[_0x27e922(0x193)]===0x0&&_0x2c6550['push'](_0x587ee0['DQzbI']);UNEXPANDED_PATH_TOKEN_PATTERNS['some'](_0xb28d5a=>(_0x2f548d||'')['includes'](_0xb28d5a))&&_0x2c6550[_0x27e922(0x19d)]('PATH\x20contains\x20an\x20unexpanded\x20placeholder\x20like\x20`${PATH}`\x20instead\x20of\x20the\x20expanded\x20current\x20PATH.');if(_0x587ee0['rWLlA'](_0x17445a,_0x27e922(0x199))){const _0x5da68e=_0x32aa90['includes']('/usr/bin'),_0x37cb78=_0x32aa90[_0x27e922(0x174)]('/bin');!_0x5da68e&&!_0x37cb78&&_0x2c6550['push']('PATH\x20is\x20missing\x20core\x20system\x20directories\x20like\x20`/usr/bin`\x20and\x20`/bin`.');}if(_0x2c6550['length']===0x0)return null;return{'summary':_0x587ee0['OroRx'],'issues':_0x2c6550};}export function buildAgentEnv(_0x2b6d6){const _0x20f46b=_0x54cb98,_0x496d7b={'qXMDG':function(_0x58cac0){return _0x58cac0();},'khCsR':'TMP','LQRXh':function(_0x2bc77a,_0x4ea5e2,_0x24a34f){return _0x2bc77a(_0x4ea5e2,_0x24a34f);},'tontr':function(_0x5de6d4){return _0x5de6d4();},'CKxBZ':_0x20f46b(0x198),'PCZyo':'TEMP'};if(_0x2b6d6['byokEnabled'])return Object[_0x20f46b(0x19b)](Object['entries'](process[_0x20f46b(0x17b)])[_0x20f46b(0x188)](_0x2c5cae=>typeof _0x2c5cae[0x1]==='string'));if(!_0x2b6d6['sessionToken'])throw new Error('Session\x20token\x20is\x20required\x20when\x20RANGER_BYOK=false');const _0x202d75={'ANTHROPIC_API_KEY':_0x2b6d6[_0x20f46b(0x1a0)],'ANTHROPIC_BASE_URL':_0x496d7b[_0x20f46b(0x19e)](getAiProxyUrl),'DISABLE_TELEMETRY':_0x20f46b(0x1a1)};for(const _0x149651 of AGENT_ENV_PASSTHROUGH_KEYS){const _0x3b1147=process[_0x20f46b(0x17b)][_0x149651];_0x3b1147&&![_0x20f46b(0x18c),_0x496d7b['khCsR'],_0x20f46b(0x178)][_0x20f46b(0x174)](_0x149651)&&(_0x202d75[_0x149651]=_0x3b1147);}const _0x24a289=_0x496d7b['LQRXh'](join,_0x496d7b['tontr'](tmpdir),_0x496d7b[_0x20f46b(0x17e)]);try{mkdirSync(_0x24a289,{'recursive':!![]});}catch{}_0x202d75['TMPDIR']=_0x24a289,_0x202d75[_0x20f46b(0x184)]=_0x24a289,_0x202d75[_0x496d7b['PCZyo']]=_0x24a289;const _0x464e0a=parseCustomHeaders(process['env'][AI_PROXY_METADATA_HEADERS_ENV_VAR]),_0x6f6a80=new Map(_0x464e0a),_0xea2625=new Set(_0x464e0a['map'](([_0x5e5bbe])=>_0x5e5bbe[_0x20f46b(0x186)]()));if(_0x2b6d6[_0x20f46b(0x17a)])for(const [_0x4fb0a0,_0x39ed8a]of Object[_0x20f46b(0x173)](_0x2b6d6[_0x20f46b(0x17a)])){if(_0x39ed8a==null||_0x39ed8a==='')continue;const _0x3372e6=_0x20f46b(0x190)+_0x4fb0a0;!_0xea2625['has'](_0x3372e6[_0x20f46b(0x186)]())&&(_0x6f6a80['set'](_0x3372e6,_0x39ed8a),_0xea2625[_0x20f46b(0x18b)](_0x3372e6[_0x20f46b(0x186)]()));}const _0x2ee298=Array[_0x20f46b(0x192)](_0x6f6a80[_0x20f46b(0x173)]())['map'](([_0x43333b,_0x1f548a])=>_0x43333b+':\x20'+_0x1f548a)['join']('\x0a');return _0x2ee298&&(_0x202d75[AI_PROXY_METADATA_HEADERS_ENV_VAR]=_0x2ee298),_0x202d75;}