@ranger-testing/ranger-cli 2.5.4-alpha.78800d3-3 → 2.5.4-alpha.a98f848-6

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 (80) hide show
  1. package/build/cli.js +1 -1
  2. package/build/commands/addEnv.js +1 -1
  3. package/build/commands/authEncrypt.js +1 -1
  4. package/build/commands/clean.js +1 -1
  5. package/build/commands/config.js +1 -1
  6. package/build/commands/env.js +1 -1
  7. package/build/commands/feature.js +1 -1
  8. package/build/commands/hook.js +1 -1
  9. package/build/commands/hooks/autoPrompt.js +1 -1
  10. package/build/commands/hooks/disable.js +1 -1
  11. package/build/commands/hooks/enable.js +1 -1
  12. package/build/commands/hooks/exitPlanMode.js +1 -1
  13. package/build/commands/hooks/index.js +1 -1
  14. package/build/commands/hooks/output.js +1 -1
  15. package/build/commands/hooks/planReminder.js +1 -1
  16. package/build/commands/hooks/planStart.js +1 -1
  17. package/build/commands/hooks/postEdit.js +1 -1
  18. package/build/commands/hooks/preCompact.js +1 -1
  19. package/build/commands/hooks/sessionEnd.js +1 -1
  20. package/build/commands/hooks/sessionStart.js +1 -1
  21. package/build/commands/hooks/stopHook.js +1 -1
  22. package/build/commands/index.js +1 -1
  23. package/build/commands/login.js +1 -1
  24. package/build/commands/mcpBootstrap.js +1 -1
  25. package/build/commands/migrateProfile.js +1 -1
  26. package/build/commands/setup/claude.js +1 -1
  27. package/build/commands/setup/opencode.js +1 -1
  28. package/build/commands/setupCi.js +1 -1
  29. package/build/commands/skillup.js +1 -1
  30. package/build/commands/start.js +1 -1
  31. package/build/commands/status.js +1 -1
  32. package/build/commands/update.js +1 -1
  33. package/build/commands/updateEnv.js +1 -1
  34. package/build/commands/useEnv.js +1 -1
  35. package/build/commands/utils/activeProfile.js +1 -1
  36. package/build/commands/utils/agentEnv.js +1 -1
  37. package/build/commands/utils/browserSessionsApi.js +1 -1
  38. package/build/commands/utils/claudeConfig.js +1 -1
  39. package/build/commands/utils/claudeOverrideSettings.js +1 -1
  40. package/build/commands/utils/claudePlugin.js +1 -1
  41. package/build/commands/utils/cloudProfile.js +1 -1
  42. package/build/commands/utils/cloudProfileSession.js +1 -1
  43. package/build/commands/utils/crypto.js +1 -1
  44. package/build/commands/utils/desirePathLog.js +1 -1
  45. package/build/commands/utils/deviceAuth.js +1 -1
  46. package/build/commands/utils/environment.js +1 -1
  47. package/build/commands/utils/featureApi.js +1 -1
  48. package/build/commands/utils/fixWebmDuration.js +1 -1
  49. package/build/commands/utils/gitTracked.js +1 -1
  50. package/build/commands/utils/keychain.js +1 -1
  51. package/build/commands/utils/localAgentInstallationsApi.js +1 -1
  52. package/build/commands/utils/matchAuthEnvironment.js +1 -1
  53. package/build/commands/utils/mcpImageBase64.js +1 -1
  54. package/build/commands/utils/model.js +1 -1
  55. package/build/commands/utils/opencodeConfig.js +1 -1
  56. package/build/commands/utils/playwrightCli.js +1 -1
  57. package/build/commands/utils/profileMessages.js +1 -1
  58. package/build/commands/utils/profileSetupBanner.js +1 -1
  59. package/build/commands/utils/projectsConfig.js +1 -1
  60. package/build/commands/utils/rangerConfig.js +1 -1
  61. package/build/commands/utils/rangerRoot.js +1 -1
  62. package/build/commands/utils/resolveProfileContext.js +1 -1
  63. package/build/commands/utils/resolveProfileUrl.js +1 -1
  64. package/build/commands/utils/retry.js +1 -1
  65. package/build/commands/utils/sessionCache.js +1 -1
  66. package/build/commands/utils/settings.js +1 -1
  67. package/build/commands/utils/skillContent.js +1 -1
  68. package/build/commands/utils/skills.js +1 -1
  69. package/build/commands/utils/stitchWebmFiles.js +1 -1
  70. package/build/commands/utils/telemetry.js +1 -1
  71. package/build/commands/utils/tokenRefresh.js +1 -1
  72. package/build/commands/utils/traceSnapshotMapper.js +1 -1
  73. package/build/commands/utils/userApi.js +1 -1
  74. package/build/commands/utils/version.js +1 -1
  75. package/build/commands/verifyFeature.js +1 -1
  76. package/build/commands/verifyFeatureCli.js +1 -1
  77. package/build/skills/ranger/SKILL.md +18 -4
  78. package/build/skills/ranger/create.md +6 -0
  79. package/build/skills/ranger/verify.md +23 -3
  80. package/package.json +1 -1
@@ -1 +1 @@
1
- (function(_0x1fb5ff,_0x10ef82){const _0x2a3801=_0x16ff,_0x26e544=_0x1fb5ff();while(!![]){try{const _0x497705=-parseInt(_0x2a3801(0x100))/0x1*(parseInt(_0x2a3801(0x10f))/0x2)+-parseInt(_0x2a3801(0x129))/0x3+-parseInt(_0x2a3801(0x11b))/0x4*(-parseInt(_0x2a3801(0x12c))/0x5)+parseInt(_0x2a3801(0xf8))/0x6+-parseInt(_0x2a3801(0x12a))/0x7+-parseInt(_0x2a3801(0x127))/0x8*(-parseInt(_0x2a3801(0x10b))/0x9)+-parseInt(_0x2a3801(0x133))/0xa*(-parseInt(_0x2a3801(0x130))/0xb);if(_0x497705===_0x10ef82)break;else _0x26e544['push'](_0x26e544['shift']());}catch(_0x354b2a){_0x26e544['push'](_0x26e544['shift']());}}}(_0x4863,0xaf63c));import{mkdir,readFile,readdir}from'fs/promises';import{join}from'path';import{existsSync}from'fs';import{authenticate,ensureRangerDir,ensureChromium,writeRangerGitignore}from'./start.js';function _0x4863(){const _0x10c3a3=['RXRsB','UmRqV','trackPhaseStart','eQwIv','settings.json','lDBTB','chromium','dir_setup','log','profile_activate','\x0a🔧\x20Ranger\x20CI\x20Setup\x0a','12072lMrkuB','gqBGT','4106550zPTqsm','8923236LJeyWl','IddrW','5812405cFkpbO','trailhead','No\x20API\x20token\x20available\x20for\x20decryption','✓\x20Encrypted\x20auth\x20verified\x20(will\x20decrypt\x20at\x20runtime)','154bMulld','join','fmmtP','367390MylLZj','XZXZU','TbAFU','length','plugin','baseUrl','error','cPpLW','Or\x20specify\x20a\x20profile\x20name\x20with\x20--profile\x20and\x20--base-url\x20to\x20create\x20one.','ufxLb','OYcJN','skills','✓\x20Claude\x20Code\x20plugin\x20already\x20installed','success','UkAiS','ixCII','kJpPU','path','.\x20Use\x20--profile\x20to\x20specify\x20which\x20one.','6001008bXtCuu','✓\x20Claude\x20Code\x20plugin\x20installed','ySBHY','myFlD','message','✓\x20Created\x20profile\x20settings:\x20baseUrl=','Failed\x20to\x20add\x20marketplace:','UXVko','3TwUVAx','map','cJdOB','No\x20CI\x20profiles\x20found.\x20Create\x20one\x20first\x20with:\x20ranger\x20profile\x20add\x20<name>\x20--ci\x0a','auth.json.enc','VHAFT','trackPhaseEnd','✓\x20Auth\x20state\x20found','OHTxS','wzTSE','\x0a✅\x20Ranger\x20CI\x20setup\x20complete!\x0a','5337ILZNQt','Failed\x20to\x20verify\x20encrypted\x20auth\x20for\x20profile\x20\x22','RRCYY','filter','139892RkptzF','project','You\x20can\x20install\x20manually:\x20claude\x20plugin\x20marketplace\x20add\x20ranger-testing/trailhead','JVYUO','onlWs','name','HVzei','skipChromium','You\x20can\x20install\x20manually:\x20claude\x20plugin\x20install\x20ranger@trailhead\x20--scope\x20project','wYtOK','auth','No\x20CI\x20profiles\x20found\x20in\x20.ranger/ci/.\x20Create\x20one\x20first\x20with:\x20ranger\x20profile\x20add\x20<name>\x20--ci\x0a','4HJtLjg'];_0x4863=function(){return _0x10c3a3;};return _0x4863();}import{skillup}from'./skillup.js';import{getRangerDir}from'./utils/rangerRoot.js';import{writeActiveProfileName}from'./utils/activeProfile.js';function _0x16ff(_0x4a98d3,_0x433ae6){_0x4a98d3=_0x4a98d3-0xf3;const _0x4863de=_0x4863();let _0x16ff33=_0x4863de[_0x4a98d3];return _0x16ff33;}import{saveSettings}from'./utils/settings.js';import{decrypt}from'./utils/crypto.js';import{getToken}from'./utils/keychain.js';import{runClaudeCommand,isMarketplaceAdded,isPluginInstalled}from'./utils/claudePlugin.js';async function findCiProfile(_0x34b2bf){const _0xaaa9cb=_0x16ff,_0x26f8b3={'NeMrx':function(_0x3ff3aa){return _0x3ff3aa();},'gqBGT':function(_0x4036bf,_0x3bc664,_0x58e9d8){return _0x4036bf(_0x3bc664,_0x58e9d8);},'ezjrh':_0xaaa9cb(0x103),'eQwIv':function(_0x4de6b7,_0x4615e8){return _0x4de6b7===_0x4615e8;},'lDBTB':function(_0x161e7a,_0x334c53){return _0x161e7a+_0x334c53;},'OHTxS':_0xaaa9cb(0x11a),'myFlD':'Or\x20specify\x20a\x20profile\x20name\x20with\x20--profile\x20and\x20--base-url\x20to\x20create\x20one.'},_0x310b04=_0x26f8b3['NeMrx'](getRangerDir),_0x458dd9=join(_0x310b04,'ci');if(_0x34b2bf){const _0x343a4c=_0x26f8b3[_0xaaa9cb(0x128)](join,_0x458dd9,_0x34b2bf);return{'name':_0x34b2bf,'path':_0x343a4c};}if(!existsSync(_0x458dd9))throw new Error(_0x26f8b3['ezjrh']+_0xaaa9cb(0x13b));const _0x5a3d9e=await readdir(_0x458dd9,{'withFileTypes':!![]}),_0x19c092=_0x5a3d9e[_0xaaa9cb(0x10e)](_0x42dacd=>_0x42dacd['isDirectory']())[_0xaaa9cb(0x101)](_0x32a46f=>_0x32a46f['name']);if(_0x26f8b3[_0xaaa9cb(0x11f)](_0x19c092[_0xaaa9cb(0x136)],0x0))throw new Error(_0x26f8b3[_0xaaa9cb(0x121)](_0x26f8b3[_0xaaa9cb(0x108)],_0x26f8b3[_0xaaa9cb(0xfb)]));if(_0x19c092[_0xaaa9cb(0x136)]===0x1){const _0x41325f=_0x19c092[0x0];return console[_0xaaa9cb(0x124)]('Auto-detected\x20CI\x20profile:\x20'+_0x41325f),{'name':_0x41325f,'path':join(_0x458dd9,_0x41325f)};}throw new Error('Multiple\x20CI\x20profiles\x20found:\x20'+_0x19c092[_0xaaa9cb(0x131)](',\x20')+_0xaaa9cb(0xf7));}async function installPluginNonInteractive(){const _0x36cdff=_0x16ff,_0x3fa74d={'IddrW':function(_0x481d20,_0x2b67db){return _0x481d20(_0x2b67db);},'UXVko':_0x36cdff(0x13f),'ixCII':'Installing\x20Claude\x20Code\x20plugin\x20(project\x20level)...','VHAFT':_0x36cdff(0x12d),'OYcJN':'✓\x20Marketplace\x20already\x20added','DpGBB':'marketplace','gFKfi':'ranger-testing/trailhead','ieojc':_0x36cdff(0xfe),'TbAFU':_0x36cdff(0x111),'RRCYY':'plugin','vSbfS':'install','wPsVU':'ranger@trailhead','onlWs':'--scope','XXLtt':'Failed\x20to\x20install\x20plugin:','ySBHY':_0x36cdff(0x117),'ufxLb':_0x36cdff(0xf9)},_0x262a88=await _0x3fa74d[_0x36cdff(0x12b)](isPluginInstalled,'ranger@trailhead');if(_0x262a88)return console['log'](_0x3fa74d[_0x36cdff(0xff)]),![];console['log'](_0x3fa74d[_0x36cdff(0xf4)]);const _0x424b0f=await isMarketplaceAdded(_0x3fa74d[_0x36cdff(0x105)]);let _0xcacc58=_0x424b0f;if(_0x424b0f)console[_0x36cdff(0x124)](_0x3fa74d[_0x36cdff(0x13d)]);else{const _0x3ee3a5=await _0x3fa74d['IddrW'](runClaudeCommand,[_0x36cdff(0x137),_0x3fa74d['DpGBB'],'add',_0x3fa74d['gFKfi']]);!_0x3ee3a5['success']?(console['error'](_0x3fa74d['ieojc'],_0x3ee3a5[_0x36cdff(0x139)]),console['log'](_0x3fa74d[_0x36cdff(0x135)])):_0xcacc58=!![];}if(_0xcacc58){const _0x332d03=await runClaudeCommand([_0x3fa74d[_0x36cdff(0x10d)],_0x3fa74d['vSbfS'],_0x3fa74d['wPsVU'],_0x3fa74d[_0x36cdff(0x113)],_0x36cdff(0x110)]);!_0x332d03[_0x36cdff(0x140)]?(console['error'](_0x3fa74d['XXLtt'],_0x332d03[_0x36cdff(0x139)]),console[_0x36cdff(0x124)](_0x3fa74d[_0x36cdff(0xfa)])):console['log'](_0x3fa74d[_0x36cdff(0x13c)]);}return!![];}export async function setupCi(_0x19ce0d,_0x4c1c59,_0x10bfea){const _0x415991=_0x16ff,_0x642f74={'wYtOK':_0x415991(0x119),'fmmtP':function(_0x16f84f,_0x16bae5){return _0x16f84f(_0x16bae5);},'UkAiS':function(_0xd70b64){return _0xd70b64();},'RXRsB':function(_0x36db1b,_0x142361){return _0x36db1b(_0x142361);},'cPpLW':function(_0x41d59,_0x3481f3,_0x182ea7){return _0x41d59(_0x3481f3,_0x182ea7);},'pebBx':'chromium','dKdLd':_0x415991(0x125),'HVzei':function(_0x5baa1c,_0x403e8f,_0x132bb1){return _0x5baa1c(_0x403e8f,_0x132bb1);},'UmRqV':_0x415991(0x120),'JVYUO':function(_0x39551b,_0x46cc58,_0x481a85){return _0x39551b(_0x46cc58,_0x481a85);},'cJdOB':'auth.json','NUBNA':_0x415991(0x104),'wzTSE':_0x415991(0x12e),'kJpPU':_0x415991(0x12f),'XZXZU':function(_0x2574d2,_0x563c42){return _0x2574d2 instanceof _0x563c42;},'VChAe':function(_0x30c34b,_0x4e9123){return _0x30c34b(_0x4e9123);},'TOnJF':_0x415991(0x13e),'rDXjd':_0x415991(0x10a)};console[_0x415991(0x124)](_0x415991(0x126)),_0x10bfea?.['trackPhaseStart'](_0x642f74['wYtOK']),await _0x642f74[_0x415991(0x132)](authenticate,_0x19ce0d),_0x10bfea?.[_0x415991(0x106)](_0x642f74[_0x415991(0x118)]),_0x10bfea?.['trackPhaseStart'](_0x415991(0x123));const {path:_0x1ce6ac,installed:_0x3fb084}=await _0x642f74[_0x415991(0xf3)](ensureRangerDir);await writeRangerGitignore(_0x1ce6ac);const _0x35ac06=join(_0x1ce6ac,'sessions');!_0x642f74[_0x415991(0x11c)](existsSync,_0x35ac06)&&await _0x642f74[_0x415991(0x13a)](mkdir,_0x35ac06,{'recursive':!![]});_0x10bfea?.['trackPhaseEnd'](_0x415991(0x123),{'installed':_0x3fb084}),_0x10bfea?.['trackPhaseStart'](_0x642f74['pebBx']);let _0x4953ff=![];_0x4c1c59?.[_0x415991(0x116)]?console[_0x415991(0x124)]('✓\x20Skipping\x20Chromium\x20check\x20(--skip-chromium)'):_0x4953ff=await ensureChromium();_0x10bfea?.[_0x415991(0x106)](_0x415991(0x122),{'installed':_0x4953ff,'skipped':!!_0x4c1c59?.['skipChromium']}),_0x10bfea?.[_0x415991(0x11e)](_0x642f74['dKdLd']);const _0x1c80e7=await _0x642f74['fmmtP'](findCiProfile,_0x4c1c59?.['profile']);let _0xd5cd49=![];_0x4c1c59?.['baseUrl']&&(await mkdir(_0x1c80e7['path'],{'recursive':!![]}),await _0x642f74['HVzei'](saveSettings,_0x1c80e7['name'],{'baseUrl':_0x4c1c59[_0x415991(0x138)],'headless':!![]}),console[_0x415991(0x124)](_0x415991(0xfd)+_0x4c1c59[_0x415991(0x138)]),_0xd5cd49=!![]);const _0x42dbe5=join(_0x1c80e7[_0x415991(0xf6)],_0x642f74[_0x415991(0x11d)]);if(!existsSync(_0x42dbe5)&&!_0xd5cd49)throw new Error('CI\x20profile\x20\x22'+_0x1c80e7['name']+'\x22\x20has\x20no\x20settings.json.\x20Use\x20--base-url\x20to\x20configure\x20it.');const _0x500d61=_0x642f74[_0x415991(0x112)](join,_0x1c80e7['path'],_0x642f74[_0x415991(0x102)]),_0x2c9f83=join(_0x1c80e7['path'],_0x642f74['NUBNA']),_0x514a97=_0x642f74['fmmtP'](existsSync,_0x500d61),_0x4b0c1b=_0x642f74[_0x415991(0x11c)](existsSync,_0x2c9f83);if(_0x4b0c1b)try{const _0x2d5b4f=await getToken();if(!_0x2d5b4f)throw new Error(_0x642f74[_0x415991(0x109)]);const _0x42273e=await readFile(_0x2c9f83);_0x642f74[_0x415991(0x115)](decrypt,_0x42273e,_0x2d5b4f),console['log'](_0x642f74[_0x415991(0xf5)]);}catch(_0x2537fd){const _0x28ba59=_0x642f74[_0x415991(0x134)](_0x2537fd,Error)?_0x2537fd[_0x415991(0xfc)]:String(_0x2537fd);throw new Error(_0x415991(0x10c)+_0x1c80e7['name']+'\x22:\x20'+_0x28ba59);}else _0x514a97?console[_0x415991(0x124)](_0x415991(0x107)):console['log']('\x20\x20No\x20auth\x20state\x20found\x20(app\x20may\x20not\x20require\x20authentication)');await _0x642f74['VChAe'](writeActiveProfileName,_0x1c80e7['name']),console[_0x415991(0x124)]('✓\x20Active\x20profile:\x20'+_0x1c80e7[_0x415991(0x114)]),_0x10bfea?.[_0x415991(0x106)](_0x415991(0x125),{'profileName':_0x1c80e7[_0x415991(0x114)],'hasAuth':_0x514a97,'hasEncryptedAuth':_0x4b0c1b,'createdSettings':_0xd5cd49}),_0x10bfea?.['trackPhaseStart']('plugin');const _0x1184b0=await _0x642f74['UkAiS'](installPluginNonInteractive);_0x10bfea?.[_0x415991(0x106)]('plugin',{'installed':_0x1184b0}),_0x10bfea?.['trackPhaseStart'](_0x642f74['TOnJF']),await _0x642f74['fmmtP'](skillup,{'autoInstall':_0x415991(0x110)}),_0x10bfea?.[_0x415991(0x106)](_0x415991(0x13e)),console[_0x415991(0x124)](_0x642f74['rDXjd']);}
1
+ (function(_0x4f73f2,_0x594af9){const _0x516f9c=_0x19bc,_0x27715c=_0x4f73f2();while(!![]){try{const _0x524249=-parseInt(_0x516f9c(0x146))/0x1*(parseInt(_0x516f9c(0x131))/0x2)+parseInt(_0x516f9c(0x11d))/0x3*(parseInt(_0x516f9c(0x134))/0x4)+parseInt(_0x516f9c(0x105))/0x5*(-parseInt(_0x516f9c(0x141))/0x6)+parseInt(_0x516f9c(0x107))/0x7*(parseInt(_0x516f9c(0x13f))/0x8)+parseInt(_0x516f9c(0x12d))/0x9*(-parseInt(_0x516f9c(0x129))/0xa)+-parseInt(_0x516f9c(0x145))/0xb*(parseInt(_0x516f9c(0x13c))/0xc)+parseInt(_0x516f9c(0x11e))/0xd;if(_0x524249===_0x594af9)break;else _0x27715c['push'](_0x27715c['shift']());}catch(_0x408896){_0x27715c['push'](_0x27715c['shift']());}}}(_0x5ae8,0xabba4));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';function _0x19bc(_0x517a0c,_0x173c12){_0x517a0c=_0x517a0c-0xf9;const _0x5ae87e=_0x5ae8();let _0x19bc7f=_0x5ae87e[_0x517a0c];return _0x19bc7f;}function _0x5ae8(){const _0x413045=['kBUYT','✓\x20Claude\x20Code\x20plugin\x20installed','12776FyiJrG','YCZlN','619350RzUjYG','path','VDIVF','baseUrl','12827881ldYThq','12qIxCpd','RCSSJ','mTlLc','\x22\x20has\x20no\x20settings.json.\x20Use\x20--base-url\x20to\x20configure\x20it.','✓\x20Auth\x20state\x20found','You\x20can\x20install\x20manually:\x20claude\x20plugin\x20install\x20ranger@trailhead\x20--scope\x20project','No\x20CI\x20profiles\x20found.\x20Create\x20one\x20first\x20with:\x20ranger\x20profile\x20add\x20<name>\x20--ci\x0a','install','QoINW','✓\x20Created\x20profile\x20settings:\x20baseUrl=','Multiple\x20CI\x20profiles\x20found:\x20','error','Or\x20specify\x20a\x20profile\x20name\x20with\x20--profile\x20and\x20--base-url\x20to\x20create\x20one.','5VDzPqR','GBRpS','1022bGZkIv','ZDXCZ','log','Auto-detected\x20CI\x20profile:\x20','settings.json','plugin','No\x20CI\x20profiles\x20found\x20in\x20.ranger/ci/.\x20Create\x20one\x20first\x20with:\x20ranger\x20profile\x20add\x20<name>\x20--ci\x0a','success','VjwhC','RFgcY','HFoTw','No\x20API\x20token\x20available\x20for\x20decryption','DGIpm','mWJlN','isDirectory','trackPhaseEnd','trackPhaseStart','seNLY','✓\x20Encrypted\x20auth\x20verified\x20(will\x20decrypt\x20at\x20runtime)','DyoxF','ranger@trailhead','sygIB','2649CUySYP','22620481RpEuuA','sjNaT','RppZN','\x20\x20No\x20auth\x20state\x20found\x20(app\x20may\x20not\x20require\x20authentication)','bhiLx','chromium','auth','iDpGf','Ffghn','add','ranger-testing/trailhead','539420KmeQjP','Installing\x20Claude\x20Code\x20plugin\x20(project\x20level)...','✓\x20Active\x20profile:\x20','profile','63setPQg','Failed\x20to\x20add\x20marketplace:','skipChromium','marketplace','72676XzQBxK','IEqeR','TejcL','3684ZlqsOU','✓\x20Marketplace\x20already\x20added','wiQbM','name','✓\x20Skipping\x20Chromium\x20check\x20(--skip-chromium)','You\x20can\x20install\x20manually:\x20claude\x20plugin\x20marketplace\x20add\x20ranger-testing/trailhead','BmArc','message','12BrNMom'];_0x5ae8=function(){return _0x413045;};return _0x5ae8();}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';import{runClaudeCommand,isMarketplaceAdded,isPluginInstalled}from'./utils/claudePlugin.js';async function findCiProfile(_0x14eb00){const _0x571f91=_0x19bc,_0x373451={'kBUYT':function(_0x4a5606,_0xc7aaaf,_0x3a4312){return _0x4a5606(_0xc7aaaf,_0x3a4312);},'EMOwC':function(_0x9bce6d,_0x4ff814){return _0x9bce6d(_0x4ff814);},'QCCob':function(_0x564145,_0x3ee949){return _0x564145+_0x3ee949;},'StpEN':_0x571f91(0xfe),'RppZN':_0x571f91(0x10d)},_0x2bb1f3=getRangerDir(),_0x4eef20=_0x373451['kBUYT'](join,_0x2bb1f3,'ci');if(_0x14eb00){const _0x7af39b=_0x373451[_0x571f91(0x13d)](join,_0x4eef20,_0x14eb00);return{'name':_0x14eb00,'path':_0x7af39b};}if(!_0x373451['EMOwC'](existsSync,_0x4eef20))throw new Error(_0x373451['QCCob'](_0x373451['StpEN'],_0x571f91(0x104)));const _0x5436fa=await readdir(_0x4eef20,{'withFileTypes':!![]}),_0x4f6ae0=_0x5436fa['filter'](_0x1e5736=>_0x1e5736[_0x571f91(0x115)]())['map'](_0x1f9a37=>_0x1f9a37[_0x571f91(0x137)]);if(_0x4f6ae0['length']===0x0)throw new Error(_0x373451[_0x571f91(0x120)]+'Or\x20specify\x20a\x20profile\x20name\x20with\x20--profile\x20and\x20--base-url\x20to\x20create\x20one.');if(_0x4f6ae0['length']===0x1){const _0x2b20e6=_0x4f6ae0[0x0];return console[_0x571f91(0x109)](_0x571f91(0x10a)+_0x2b20e6),{'name':_0x2b20e6,'path':join(_0x4eef20,_0x2b20e6)};}throw new Error(_0x571f91(0x102)+_0x4f6ae0['join'](',\x20')+'.\x20Use\x20--profile\x20to\x20specify\x20which\x20one.');}async function installPluginNonInteractive(){const _0x57aba8=_0x19bc,_0x372112={'IEqeR':function(_0x38e00d,_0x53cd86){return _0x38e00d(_0x53cd86);},'HFoTw':_0x57aba8(0x11b),'DyoxF':'trailhead','sygIB':function(_0x3ccd1d,_0x4b0fa1){return _0x3ccd1d(_0x4b0fa1);},'ZglTL':_0x57aba8(0x127),'wiQbM':_0x57aba8(0x12e),'kAhzz':_0x57aba8(0x139),'seNLY':function(_0x486e4b,_0x3eb94e){return _0x486e4b(_0x3eb94e);},'emqrj':_0x57aba8(0xff),'zmljj':'--scope','VDIVF':'project','aVeKR':'Failed\x20to\x20install\x20plugin:','UnOsB':_0x57aba8(0x13e)},_0x43b65a=await _0x372112[_0x57aba8(0x132)](isPluginInstalled,_0x372112[_0x57aba8(0x111)]);if(_0x43b65a)return console['log']('✓\x20Claude\x20Code\x20plugin\x20already\x20installed'),![];console[_0x57aba8(0x109)](_0x57aba8(0x12a));const _0x3454da=await _0x372112['IEqeR'](isMarketplaceAdded,_0x372112[_0x57aba8(0x11a)]);let _0x581d80=_0x3454da;if(_0x3454da)console['log'](_0x57aba8(0x135));else{const _0x4d5383=await _0x372112[_0x57aba8(0x11c)](runClaudeCommand,[_0x57aba8(0x10c),_0x57aba8(0x130),_0x372112['ZglTL'],_0x57aba8(0x128)]);!_0x4d5383[_0x57aba8(0x10e)]?(console[_0x57aba8(0x103)](_0x372112[_0x57aba8(0x136)],_0x4d5383['error']),console[_0x57aba8(0x109)](_0x372112['kAhzz'])):_0x581d80=!![];}if(_0x581d80){const _0x23a949=await _0x372112[_0x57aba8(0x118)](runClaudeCommand,['plugin',_0x372112['emqrj'],'ranger@trailhead',_0x372112['zmljj'],_0x372112[_0x57aba8(0x143)]]);!_0x23a949['success']?(console[_0x57aba8(0x103)](_0x372112['aVeKR'],_0x23a949['error']),console['log'](_0x57aba8(0xfd))):console['log'](_0x372112['UnOsB']);}return!![];}export async function setupCi(_0x1705cc,_0x5b365c,_0x3a8c5d){const _0x562a3a=_0x19bc,_0x401f71={'YCZlN':_0x562a3a(0x124),'vIZsp':'dir_setup','RFgcY':function(_0x6ffad6){return _0x6ffad6();},'VjwhC':function(_0x143314,_0xa4ad54){return _0x143314(_0xa4ad54);},'bhiLx':function(_0x5f55cf,_0x525781,_0x494f60){return _0x5f55cf(_0x525781,_0x494f60);},'mTlLc':'sessions','GBRpS':function(_0x4109cf,_0x4f7792){return _0x4109cf(_0x4f7792);},'gElkq':_0x562a3a(0x138),'DGIpm':function(_0x3eec6c){return _0x3eec6c();},'RCSSJ':_0x562a3a(0x123),'KVWxq':'profile_activate','BmArc':function(_0x5b58fb,_0x1ebb12,_0x5eb558){return _0x5b58fb(_0x1ebb12,_0x5eb558);},'LrvXI':function(_0x40bff0,_0x155c08,_0x3b1495){return _0x40bff0(_0x155c08,_0x3b1495);},'kVrln':function(_0x291a4d,_0x4ca2ac,_0x1ed51d){return _0x291a4d(_0x4ca2ac,_0x1ed51d);},'ReOjr':'auth.json.enc','TejcL':function(_0x1616dd,_0x17d3a5){return _0x1616dd(_0x17d3a5);},'mWJlN':function(_0x4c11db,_0x4b156c){return _0x4c11db(_0x4b156c);},'sjNaT':function(_0x18522f,_0x5083eb){return _0x18522f(_0x5083eb);},'WSpjO':_0x562a3a(0x119),'TPmLw':function(_0x41da32,_0x4f4d14){return _0x41da32 instanceof _0x4f4d14;},'Ffghn':function(_0xbe2771,_0x1bfa72){return _0xbe2771(_0x1bfa72);},'MfdCp':_0x562a3a(0xfc),'iDpGf':_0x562a3a(0x121),'ysxtS':'plugin','ZDXCZ':'project','QoINW':'skills'};console['log']('\x0a🔧\x20Ranger\x20CI\x20Setup\x0a'),_0x3a8c5d?.[_0x562a3a(0x117)](_0x401f71[_0x562a3a(0x140)]),await authenticate(_0x1705cc),_0x3a8c5d?.[_0x562a3a(0x116)](_0x401f71[_0x562a3a(0x140)]),_0x3a8c5d?.['trackPhaseStart'](_0x401f71['vIZsp']);const {path:_0x39081c,installed:_0x3a33d6}=await _0x401f71[_0x562a3a(0x110)](ensureRangerDir);await _0x401f71[_0x562a3a(0x10f)](writeRangerGitignore,_0x39081c);const _0x4fbf85=_0x401f71['bhiLx'](join,_0x39081c,_0x401f71[_0x562a3a(0xfa)]);!_0x401f71[_0x562a3a(0x106)](existsSync,_0x4fbf85)&&await _0x401f71[_0x562a3a(0x122)](mkdir,_0x4fbf85,{'recursive':!![]});_0x3a8c5d?.[_0x562a3a(0x116)]('dir_setup',{'installed':_0x3a33d6}),_0x3a8c5d?.['trackPhaseStart'](_0x562a3a(0x123));let _0x3fad67=![];_0x5b365c?.[_0x562a3a(0x12f)]?console['log'](_0x401f71['gElkq']):_0x3fad67=await _0x401f71[_0x562a3a(0x113)](ensureChromium);_0x3a8c5d?.['trackPhaseEnd'](_0x401f71[_0x562a3a(0xf9)],{'installed':_0x3fad67,'skipped':!!_0x5b365c?.['skipChromium']}),_0x3a8c5d?.[_0x562a3a(0x117)](_0x401f71['KVWxq']);const _0xd96ac7=await _0x401f71[_0x562a3a(0x10f)](findCiProfile,_0x5b365c?.[_0x562a3a(0x12c)]);let _0x3d1e67=![];_0x5b365c?.[_0x562a3a(0x144)]&&(await _0x401f71[_0x562a3a(0x13a)](mkdir,_0xd96ac7['path'],{'recursive':!![]}),await saveSettings(_0xd96ac7['name'],{'baseUrl':_0x5b365c['baseUrl'],'headless':!![]}),console[_0x562a3a(0x109)](_0x562a3a(0x101)+_0x5b365c[_0x562a3a(0x144)]),_0x3d1e67=!![]);const _0x215441=_0x401f71['LrvXI'](join,_0xd96ac7[_0x562a3a(0x142)],_0x562a3a(0x10b));if(!existsSync(_0x215441)&&!_0x3d1e67)throw new Error('CI\x20profile\x20\x22'+_0xd96ac7['name']+_0x562a3a(0xfb));const _0x53fd40=join(_0xd96ac7['path'],'auth.json'),_0x553bd5=_0x401f71['kVrln'](join,_0xd96ac7[_0x562a3a(0x142)],_0x401f71['ReOjr']),_0x41b79b=_0x401f71[_0x562a3a(0x133)](existsSync,_0x53fd40),_0x4a763d=_0x401f71[_0x562a3a(0x114)](existsSync,_0x553bd5);if(_0x4a763d)try{const _0x5f9b35=await getToken();if(!_0x5f9b35)throw new Error(_0x562a3a(0x112));const _0x5ab592=await _0x401f71[_0x562a3a(0x11f)](readFile,_0x553bd5);decrypt(_0x5ab592,_0x5f9b35),console[_0x562a3a(0x109)](_0x401f71['WSpjO']);}catch(_0x5025c5){const _0x1dad9c=_0x401f71['TPmLw'](_0x5025c5,Error)?_0x5025c5[_0x562a3a(0x13b)]:_0x401f71[_0x562a3a(0x126)](String,_0x5025c5);throw new Error('Failed\x20to\x20verify\x20encrypted\x20auth\x20for\x20profile\x20\x22'+_0xd96ac7['name']+'\x22:\x20'+_0x1dad9c);}else _0x41b79b?console['log'](_0x401f71['MfdCp']):console[_0x562a3a(0x109)](_0x401f71[_0x562a3a(0x125)]);await _0x401f71['Ffghn'](writeActiveProfileName,_0xd96ac7['name']),console[_0x562a3a(0x109)](_0x562a3a(0x12b)+_0xd96ac7[_0x562a3a(0x137)]),_0x3a8c5d?.['trackPhaseEnd'](_0x401f71['KVWxq'],{'profileName':_0xd96ac7['name'],'hasAuth':_0x41b79b,'hasEncryptedAuth':_0x4a763d,'createdSettings':_0x3d1e67}),_0x3a8c5d?.[_0x562a3a(0x117)](_0x401f71['ysxtS']);const _0x46e383=await installPluginNonInteractive();_0x3a8c5d?.[_0x562a3a(0x116)](_0x401f71['ysxtS'],{'installed':_0x46e383}),_0x3a8c5d?.[_0x562a3a(0x117)]('skills'),await skillup({'autoInstall':_0x401f71[_0x562a3a(0x108)]}),_0x3a8c5d?.['trackPhaseEnd'](_0x401f71[_0x562a3a(0x100)]),console[_0x562a3a(0x109)]('\x0a✅\x20Ranger\x20CI\x20setup\x20complete!\x0a');}
@@ -1 +1 @@
1
- (function(_0x110155,_0xba47af){const _0x2e2fab=_0x59d5,_0x3779fb=_0x110155();while(!![]){try{const _0x43c1fd=-parseInt(_0x2e2fab(0x104))/0x1*(parseInt(_0x2e2fab(0x10f))/0x2)+parseInt(_0x2e2fab(0x116))/0x3+-parseInt(_0x2e2fab(0x113))/0x4+-parseInt(_0x2e2fab(0x117))/0x5+-parseInt(_0x2e2fab(0x11c))/0x6+parseInt(_0x2e2fab(0xfe))/0x7*(parseInt(_0x2e2fab(0x100))/0x8)+parseInt(_0x2e2fab(0xfa))/0x9;if(_0x43c1fd===_0xba47af)break;else _0x3779fb['push'](_0x3779fb['shift']());}catch(_0x5632a9){_0x3779fb['push'](_0x3779fb['shift']());}}}(_0x570e,0x6026c));import{basename}from'path';import _0x4d3038 from'inquirer';import{getToken}from'./utils/keychain.js';function _0x570e(){const _0x30e98e=['770655pvAPFI','\x20--opencode','isTTY','project-level','To\x20get\x20started:','4547418qoVXQa','MKjYi','/skills/','ENZdn','AWHbu','prompt','ErfHP','Where\x20should\x20skills\x20be\x20installed?','suppressUsage','❌\x20No\x20Ranger\x20API\x20token\x20found.\x0a','split','\x20successfully!\x0a','9720423xKfwoL','\x20skill','\x20\x20-\x20Start\x20OpenCode\x20and\x20run\x20the\x20`ranger_enable`\x20tool\x20to\x20enable\x20hooks.','\x20\x201.\x20Get\x20your\x20API\x20token\x20from\x20https://dashboard.ranger.net/cli','7qLDoeT','WkzCq','3129784NywopH','\x0a⚠️\x20\x20No\x20skills\x20were\x20installed.\x0a','txFaZ','user','31WjEksD','project','claude','To\x20use:','log','warn','Elkhu','iYGxD','\x20\x20Failed\x20to\x20install\x20ranger\x20skill:','\x20\x202.\x20Run:\x20ranger\x20setup','ByKLQ','17972URMOez','\x20<your-api-token>','dKYSx','\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!','1113544BUIsZK','installLevel','\x0a✅\x20Installed\x20','1174656Nahzmr'];_0x570e=function(){return _0x30e98e;};return _0x570e();}import{installSkill}from'./utils/skills.js';import{getCurrentVersion}from'./utils/version.js';import{getClaudeConfigDir,getProjectRoot}from'./utils/claudeConfig.js';function _0x59d5(_0x2b09c5,_0xa5c6b2){_0x2b09c5=_0x2b09c5-0xf3;const _0x570e05=_0x570e();let _0x59d566=_0x570e05[_0x2b09c5];return _0x59d566;}import{getOpencodeConfigDir}from'./utils/opencodeConfig.js';export async function skillup(_0x2b03c4={}){const _0x4dbae9=_0x59d5,_0x4029f3={'gYzhG':'\x0a🎯\x20Ranger\x20Skill\x20Setup\x0a','ErfHP':'3|1|2|4|5|0','dKYSx':'opencode','AWHbu':function(_0x124315,_0x16ef6c){return _0x124315===_0x16ef6c;},'ENZdn':function(_0x2d45ed,_0x83ce96){return _0x2d45ed===_0x83ce96;},'WkzCq':function(_0x4d5744,_0xad5056){return _0x4d5744(_0xad5056);},'MKjYi':_0x4dbae9(0x103),'Elkhu':function(_0x5e70f5){return _0x5e70f5();},'gNMSo':'list','rIVzR':_0x4dbae9(0xf5),'iHWrU':_0x4dbae9(0x105),'iYGxD':function(_0x398680,_0x4b8681,_0xd23939){return _0x398680(_0x4b8681,_0xd23939);},'jdIvk':_0x4dbae9(0x10c),'txFaZ':function(_0x4c6489,_0x30c500){return _0x4c6489>_0x30c500;},'SBnDK':'user-level','ByKLQ':function(_0x28b881,_0x5241c8){return _0x28b881===_0x5241c8;}};console['log'](_0x4029f3['gYzhG']);const _0x9ae306=_0x2b03c4['platform']??_0x4dbae9(0x106),_0x412503=await getToken();if(!_0x412503){const _0x5c5b8d=_0x4029f3[_0x4dbae9(0xf4)][_0x4dbae9(0xf8)]('|');let _0x4b2043=0x0;while(!![]){switch(_0x5c5b8d[_0x4b2043++]){case'0':return;case'1':console[_0x4dbae9(0x108)](_0x4dbae9(0x11b));continue;case'2':console['log'](_0x4dbae9(0xfd));continue;case'3':console[_0x4dbae9(0x108)](_0x4dbae9(0xf7));continue;case'4':console['log'](_0x4dbae9(0x10d)+(_0x9ae306===_0x4029f3['dKYSx']?'\x20--opencode':'')+_0x4dbae9(0x110));continue;case'5':console[_0x4dbae9(0x108)]('\x20\x203.\x20Run:\x20ranger\x20skillup'+(_0x4029f3[_0x4dbae9(0x120)](_0x9ae306,_0x4029f3['dKYSx'])?_0x4dbae9(0x118):'')+'\x0a');continue;}break;}}console[_0x4dbae9(0x108)]('✓\x20Found\x20API\x20token');const _0x5cebcb=getProjectRoot(),_0x13c01e=basename(_0x5cebcb),_0xf7bb90=_0x4029f3[_0x4dbae9(0x11f)](_0x9ae306,_0x4029f3['dKYSx'])?_0x4029f3[_0x4dbae9(0xff)](getOpencodeConfigDir,_0x4029f3[_0x4dbae9(0x11d)])+_0x4dbae9(0x11e):_0x4029f3[_0x4dbae9(0x10a)](getClaudeConfigDir)+_0x4dbae9(0x11e),_0x42544a=_0x9ae306===_0x4029f3[_0x4dbae9(0x111)]?_0x5cebcb+'/.opencode/skills/':_0x5cebcb+'/.claude/skills/',_0x1b3868=process['stdin'][_0x4dbae9(0x119)]&&process['stdout'][_0x4dbae9(0x119)];let _0x546324;if(_0x2b03c4['autoInstall'])_0x546324=_0x2b03c4['autoInstall'];else{if(_0x1b3868){const _0x354f20=await _0x4d3038[_0x4dbae9(0xf3)]([{'type':_0x4029f3['gNMSo'],'name':_0x4dbae9(0x114),'message':_0x4029f3['rIVzR'],'choices':[{'name':'All\x20projects\x20('+_0xf7bb90+')','value':_0x4029f3['MKjYi']},{'name':'This\x20project\x20only\x20('+_0x42544a+')','value':_0x4dbae9(0x105)}]}]);_0x546324=_0x354f20['installLevel'];}else _0x546324=_0x4029f3['iHWrU'],console['log']('Non-interactive\x20mode:\x20Installing\x20skills\x20at\x20project\x20level\x20('+_0x42544a+')');}let _0x1949ee=0x0;const _0x273e32=getCurrentVersion();console['log']('\x0a📦\x20Installing\x20skills...\x0a');try{const _0x1f6128=await _0x4029f3[_0x4dbae9(0x10b)](installSkill,'ranger',{'cliVersion':_0x273e32,'level':_0x546324,'platform':_0x9ae306});_0x1f6128&&_0x1949ee++;}catch(_0x44d9b2){console[_0x4dbae9(0x109)](_0x4029f3['jdIvk'],_0x44d9b2 instanceof Error?_0x44d9b2['message']:_0x44d9b2);}if(_0x4029f3[_0x4dbae9(0x102)](_0x1949ee,0x0)){const _0x118f00=_0x4029f3[_0x4dbae9(0x11f)](_0x546324,'user')?_0x4029f3['SBnDK']:_0x4dbae9(0x11a);console[_0x4dbae9(0x108)](_0x4dbae9(0x115)+_0x1949ee+'\x20'+_0x118f00+_0x4dbae9(0xfb)+(_0x1949ee>0x1?'s':'')+_0x4dbae9(0xf9)),!_0x2b03c4[_0x4dbae9(0xf6)]&&(console[_0x4dbae9(0x108)](_0x4dbae9(0x107)),_0x4029f3[_0x4dbae9(0x10e)](_0x9ae306,'opencode')?console[_0x4dbae9(0x108)](_0x4dbae9(0xfc)):console[_0x4dbae9(0x108)](_0x4dbae9(0x112)));}else console['log'](_0x4dbae9(0x101));}
1
+ (function(_0x3c46b0,_0x248e5f){const _0x56f61b=_0x5626,_0x145d51=_0x3c46b0();while(!![]){try{const _0x20e454=-parseInt(_0x56f61b(0x17b))/0x1+-parseInt(_0x56f61b(0x15e))/0x2+parseInt(_0x56f61b(0x166))/0x3+parseInt(_0x56f61b(0x156))/0x4+-parseInt(_0x56f61b(0x152))/0x5+parseInt(_0x56f61b(0x171))/0x6*(-parseInt(_0x56f61b(0x153))/0x7)+parseInt(_0x56f61b(0x169))/0x8;if(_0x20e454===_0x248e5f)break;else _0x145d51['push'](_0x145d51['shift']());}catch(_0x1e3d5c){_0x145d51['push'](_0x145d51['shift']());}}}(_0x214a,0xc6eeb));import{basename}from'path';import _0x155df3 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 _0x5626(_0x3cc4aa,_0x499858){_0x3cc4aa=_0x3cc4aa-0x152;const _0x214a9b=_0x214a();let _0x562648=_0x214a9b[_0x3cc4aa];return _0x562648;}function _0x214a(){const _0x243d88=['All\x20projects\x20(','2063208ZdnMSq','\x0a🎯\x20Ranger\x20Skill\x20Setup\x0a','\x20successfully!\x0a','\x20\x20Failed\x20to\x20install\x20ranger\x20skill:','/skills/','user-level','To\x20use:','/.opencode/skills/','1813494JWvVxF','autoInstall','log','32320248rfnklN','stdout','ZBYgg','Jhhwy','list','\x20<your-api-token>','installLevel','Where\x20should\x20skills\x20be\x20installed?','174gubfnE','Bqynt','project','SZRtr','StwSp','\x0a✅\x20Installed\x20','oFcjG','vWHEe','opencode','kTZuw','968724QFVhnd','AmytF','4312060dAfeDT','343973Htiddy','This\x20project\x20only\x20(','\x20\x201.\x20Get\x20your\x20API\x20token\x20from\x20https://dashboard.ranger.net/cli','1832276iVIJsD','XdSXf','platform','\x20skill','warn','user','ranger'];_0x214a=function(){return _0x243d88;};return _0x214a();}import{getOpencodeConfigDir}from'./utils/opencodeConfig.js';export async function skillup(_0x558bdb={}){const _0x1a99f6=_0x5626,_0x11dffb={'uUFBb':function(_0x41715c){return _0x41715c();},'uCjDt':'3|0|1|4|2|5','xnsep':function(_0x1b63a6,_0x2d7c87){return _0x1b63a6===_0x2d7c87;},'tBZlS':'\x20--opencode','WLrXo':function(_0x4b0038,_0x5bb64d){return _0x4b0038(_0x5bb64d);},'mhCOm':_0x1a99f6(0x179),'kTZuw':_0x1a99f6(0x16d),'ESRTu':_0x1a99f6(0x170),'StwSp':_0x1a99f6(0x15b),'Bqynt':_0x1a99f6(0x173),'Jhhwy':'\x0a📦\x20Installing\x20skills...\x0a','SJtdR':function(_0x13ffa8,_0x56558d,_0x582452){return _0x13ffa8(_0x56558d,_0x582452);},'vWHEe':_0x1a99f6(0x15c),'AmytF':_0x1a99f6(0x161),'XdSXf':function(_0x48c7f4,_0x177582){return _0x48c7f4 instanceof _0x177582;},'oFcjG':function(_0x309648,_0x3f3e3c){return _0x309648>_0x3f3e3c;},'lrOco':_0x1a99f6(0x163),'SZRtr':'project-level','ZBYgg':_0x1a99f6(0x164),'TtSaG':'\x20\x20-\x20Start\x20OpenCode\x20and\x20run\x20the\x20`ranger_enable`\x20tool\x20to\x20enable\x20hooks.'};console['log'](_0x1a99f6(0x15f));const _0x27e271=_0x558bdb[_0x1a99f6(0x158)]??'claude',_0x4af41c=await _0x11dffb['uUFBb'](getToken);if(!_0x4af41c){const _0x394a4c=_0x11dffb['uCjDt']['split']('|');let _0x1d14f0=0x0;while(!![]){switch(_0x394a4c[_0x1d14f0++]){case'0':console[_0x1a99f6(0x168)]('To\x20get\x20started:');continue;case'1':console['log'](_0x1a99f6(0x155));continue;case'2':console[_0x1a99f6(0x168)]('\x20\x203.\x20Run:\x20ranger\x20skillup'+(_0x11dffb['xnsep'](_0x27e271,_0x1a99f6(0x179))?_0x11dffb['tBZlS']:'')+'\x0a');continue;case'3':console[_0x1a99f6(0x168)]('❌\x20No\x20Ranger\x20API\x20token\x20found.\x0a');continue;case'4':console[_0x1a99f6(0x168)]('\x20\x202.\x20Run:\x20ranger\x20setup'+(_0x27e271===_0x1a99f6(0x179)?'\x20--opencode':'')+_0x1a99f6(0x16e));continue;case'5':return;}break;}}console['log']('✓\x20Found\x20API\x20token');const _0x4d2f45=getProjectRoot(),_0x27b39a=_0x11dffb['WLrXo'](basename,_0x4d2f45),_0x55938f=_0x27e271===_0x11dffb['mhCOm']?_0x11dffb['WLrXo'](getOpencodeConfigDir,'user')+'/skills/':_0x11dffb['uUFBb'](getClaudeConfigDir)+_0x1a99f6(0x162),_0x53655e=_0x11dffb['xnsep'](_0x27e271,'opencode')?_0x4d2f45+_0x1a99f6(0x165):_0x4d2f45+'/.claude/skills/',_0x589c68=process['stdin']['isTTY']&&process[_0x1a99f6(0x16a)]['isTTY'];let _0x323b05;if(_0x558bdb[_0x1a99f6(0x167)])_0x323b05=_0x558bdb['autoInstall'];else{if(_0x589c68){const _0xd3207d=await _0x155df3['prompt']([{'type':_0x11dffb[_0x1a99f6(0x17a)],'name':_0x1a99f6(0x16f),'message':_0x11dffb['ESRTu'],'choices':[{'name':_0x1a99f6(0x15d)+_0x55938f+')','value':_0x11dffb['StwSp']},{'name':_0x1a99f6(0x154)+_0x53655e+')','value':_0x11dffb['Bqynt']}]}]);_0x323b05=_0xd3207d[_0x1a99f6(0x16f)];}else _0x323b05=_0x11dffb[_0x1a99f6(0x172)],console[_0x1a99f6(0x168)]('Non-interactive\x20mode:\x20Installing\x20skills\x20at\x20project\x20level\x20('+_0x53655e+')');}let _0x3e2716=0x0;const _0x1aa797=getCurrentVersion();console['log'](_0x11dffb[_0x1a99f6(0x16c)]);try{const _0x107558=await _0x11dffb['SJtdR'](installSkill,_0x11dffb[_0x1a99f6(0x178)],{'cliVersion':_0x1aa797,'level':_0x323b05,'platform':_0x27e271});_0x107558&&_0x3e2716++;}catch(_0x9c92b7){console[_0x1a99f6(0x15a)](_0x11dffb[_0x1a99f6(0x17c)],_0x11dffb[_0x1a99f6(0x157)](_0x9c92b7,Error)?_0x9c92b7['message']:_0x9c92b7);}if(_0x11dffb[_0x1a99f6(0x177)](_0x3e2716,0x0)){const _0x117b69=_0x323b05===_0x11dffb[_0x1a99f6(0x175)]?_0x11dffb['lrOco']:_0x11dffb[_0x1a99f6(0x174)];console['log'](_0x1a99f6(0x176)+_0x3e2716+'\x20'+_0x117b69+_0x1a99f6(0x159)+(_0x3e2716>0x1?'s':'')+_0x1a99f6(0x160)),!_0x558bdb['suppressUsage']&&(console[_0x1a99f6(0x168)](_0x11dffb[_0x1a99f6(0x16b)]),_0x27e271==='opencode'?console['log'](_0x11dffb['TtSaG']):console[_0x1a99f6(0x168)]('\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[_0x1a99f6(0x168)]('\x0a⚠️\x20\x20No\x20skills\x20were\x20installed.\x0a');}
@@ -1 +1 @@
1
- (function(_0x3cbded,_0x18f702){const _0x48e7f1=_0x34bd,_0x56b54c=_0x3cbded();while(!![]){try{const _0x25e0c1=parseInt(_0x48e7f1(0xb6))/0x1+parseInt(_0x48e7f1(0xe0))/0x2*(parseInt(_0x48e7f1(0xa5))/0x3)+-parseInt(_0x48e7f1(0xdf))/0x4+parseInt(_0x48e7f1(0xbb))/0x5+parseInt(_0x48e7f1(0xaf))/0x6*(parseInt(_0x48e7f1(0xcf))/0x7)+parseInt(_0x48e7f1(0xe2))/0x8*(-parseInt(_0x48e7f1(0x9a))/0x9)+-parseInt(_0x48e7f1(0xdd))/0xa*(parseInt(_0x48e7f1(0xd0))/0xb);if(_0x25e0c1===_0x18f702)break;else _0x56b54c['push'](_0x56b54c['shift']());}catch(_0x536256){_0x56b54c['push'](_0x56b54c['shift']());}}}(_0x5243,0xea9b8));import{mkdir,writeFile}from'fs/promises';import{join}from'path';import{existsSync}from'fs';import{createRequire}from'module';import{spawn}from'child_process';import _0x14a49 from'inquirer';import{getToken,storeToken}from'./utils/keychain.js';import{getCurrentUser}from'./utils/userApi.js';import{chromium}from'playwright';function _0x5243(){const _0x102791=['Could\x20not\x20determine\x20local\x20Playwright\x20version.\x20Install\x20Playwright\x20Chromium\x20using\x20fallback\x20version\x20','skills','You\x20will\x20need\x20to\x20install\x20it\x20before\x20using\x20Ranger:','SAuXB','message','gJZQV','6RInzdt',')\x20of\x20the\x20Playwright\x20Chromium\x20browser\x20is\x20not\x20installed.\x20Install\x20it\x20now?','voDvt','\x0aIn\x20Claude\x20Code,\x20run\x20','xbdli','error','\x0a❌\x20Failed\x20to\x20install\x20Chromium:','1889832bfhEnS','git_check','platform','install','Abemy','1476370nWOAZK','Failed\x20to\x20validate\x20provisioned\x20API\x20key:\x20','xfbdL','\x0a✓\x20Playwright\x20Chromium\x20installed\x20successfully','AUhdt','url','skipChromium','yoKAZ','plugin','playwright@','✓\x20Already\x20authenticated\x20to\x20','BiLcw','BjdBA','No\x20git\x20repository\x20found','wantsProfile','stdin','✓\x20Authenticated\x20to\x20','skipAuth','paaIB','XuYRV','13372121diKrlL','1368037jmrjlQ','No\x20git\x20repository\x20found.\x20Please\x20run\x20`ranger\x20setup`\x20from\x20inside\x20your\x20project\x20directory,\x0a','ranger','The\x20required\x20version\x20(','Make\x20sure\x20your\x20app\x20is\x20running\x20before\x20you\x20start.\x0a','nbesD','npx','\x0aIn\x20order\x20for\x20Ranger\x20to\x20verify\x20your\x20work,\x20you\x27ll\x20need\x20to\x20set\x20up\x20a\x20profile\x20later\x20with:','✓\x20.ranger/\x20directory\x20already\x20exists','✓\x20Local\x20profile\x20already\x20exists','qrJEk','opencode','ranger\x20profile\x20add\x20local','130SYjqAJ','log','6073620WlTuBr','67148mMtYBj','or\x20use\x20--scope\x20user\x20to\x20install\x20at\x20the\x20user\x20level\x20without\x20a\x20project.','256664CfSQbS','.\x20Please\x20check\x20your\x20network\x20connection\x20and\x20server\x20URL.','\x0ascenarios\x20describing\x20what\x20to\x20verify\x20and\x20then\x20run\x20browser','FiVvv','\x0aSkipping\x20profile\x20setup\x20(--skip-auth).\x20Run\x20`ranger\x20setup`\x20with\x20auth\x20to\x20add\x20a\x20profile\x20later.\x0a','trackPhaseStart','CvjmK','trackPhaseEnd','RhuWm','isTTY','ready','trackPhaseError','withDeps','Kidwe','rzRxt','scope','force','\x0a🚀\x20Ranger\x20Setup\x0a','organizationName','✓\x20Skipping\x20authentication\x20(--skip-auth)','chromium','uGdhf','confirm','aqApF','inherit','stdout','success','DQuZB','status','.\x20Please\x20check\x20your\x20API\x20token\x20and\x20try\x20again.','wKCyc','bzBWi','local','JXDys','207plWxrD','Failed\x20to\x20connect\x20to\x20MCP\x20server:\x20','skipped','user','BWhYW','auth','TlcIl','prompt','\x0aInstalling\x20Chromium\x20browser...\x0a','djUHM','\x20install\x20chromium','66DjyLLz','You\x27ll\x20need\x20the\x20app\x20to\x20be\x20running\x20to\x20set\x20up\x20the\x20profile.','\x20now?','UGoUt'];_0x5243=function(){return _0x102791;};return _0x5243();}import{addEnv}from'./addEnv.js';import{getRangerDir,getRangerHomeDir,findGitRoot}from'./utils/rangerRoot.js';import{runDeviceAuthFlow}from'./utils/deviceAuth.js';import{findExistingEnv}from'./utils/settings.js';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);function _0x34bd(_0x5b2730,_0x236302){_0x5b2730=_0x5b2730-0x85;const _0x524368=_0x5243();let _0x34bdc2=_0x524368[_0x5b2730];return _0x34bdc2;}export const PLAYWRIGHT_CHROMIUM_INSTALL_FALLBACK_VERSION='1.58.2';const bold=_0x49ad42=>'\x1b[1m'+_0x49ad42+'\x1b[0m';export function getPlaywrightVersion(){const _0x1d9ba5={'iSGlC':'playwright/package.json','VKSMG':function(_0x29e086,_0x30aeb6){return _0x29e086(_0x30aeb6);}};try{const _0x1394ff=require['resolve'](_0x1d9ba5['iSGlC']),_0xfce0bc=_0x1d9ba5['VKSMG'](require,_0x1394ff);return _0xfce0bc['version'];}catch{return null;}}export function installChromiumBinary(_0x5df785,_0x3ec58c=![]){const _0x387c45=_0x34bd,_0x4014c5={'LrdzZ':function(_0x596823,_0x36ec1b){return _0x596823===_0x36ec1b;},'Ylplu':'--with-deps','BBGMW':'chromium','yoKAZ':function(_0x2395fb,_0x318cbf,_0x299d22,_0x58ff78){return _0x2395fb(_0x318cbf,_0x299d22,_0x58ff78);},'Abemy':'ignore','eoMzf':_0x387c45(0x90),'RhuWm':function(_0x2314a3,_0x3db73b){return _0x2314a3===_0x3db73b;},'DQuZB':'win32'};return new Promise((_0x592807,_0x44b43f)=>{const _0xf07d38=_0x387c45,_0x58b44f=[_0xf07d38(0xc4)+_0x5df785,_0xf07d38(0xb9),..._0x3ec58c?[_0x4014c5['Ylplu']]:[],_0x4014c5['BBGMW']],_0xbc947c=_0x4014c5[_0xf07d38(0xc2)](spawn,_0xf07d38(0xd6),_0x58b44f,{'stdio':[_0x4014c5[_0xf07d38(0xba)],_0xf07d38(0x90),_0x4014c5['eoMzf']],'shell':_0x4014c5[_0xf07d38(0xea)](process[_0xf07d38(0xb8)],_0x4014c5[_0xf07d38(0x93)])});_0xbc947c['on']('close',_0x503383=>{_0x4014c5['LrdzZ'](_0x503383,0x0)?_0x592807():_0x44b43f(new Error('Installation\x20failed\x20with\x20exit\x20code\x20'+_0x503383));}),_0xbc947c['on']('error',_0x2c0307=>{_0x44b43f(_0x2c0307);});});}export async function authenticate(_0x354002){const _0x4bf6b1=_0x34bd,_0x19d3ba={'NLSSX':function(_0x4d3807,_0x1c56f9){return _0x4d3807(_0x1c56f9);},'UGoUt':function(_0x55f57d,_0x559480){return _0x55f57d instanceof _0x559480;},'djUHM':'device_auth','snDRE':function(_0x127d29,_0x183671){return _0x127d29(_0x183671);},'BWhYW':'✓\x20Exported\x20credentials\x20for\x20CI'};if(!_0x354002){const _0xb52e49=await getToken();if(_0xb52e49){const _0x52976a=await _0x19d3ba['NLSSX'](getCurrentUser,_0xb52e49);if(_0x52976a[_0x4bf6b1(0x92)])return console['log'](_0x4bf6b1(0xc5)+_0x52976a['user'][_0x4bf6b1(0x8a)]),{'token':_0xb52e49,'method':'existing_token'};}try{_0x354002=await runDeviceAuthFlow();}catch(_0x240926){throw new Error('Authentication\x20failed:\x20'+(_0x19d3ba[_0x4bf6b1(0xa8)](_0x240926,Error)?_0x240926[_0x4bf6b1(0xad)]:_0x240926));}const _0x160a69=await getCurrentUser(_0x354002);if(!_0x160a69[_0x4bf6b1(0x92)])throw new Error(_0x4bf6b1(0xbc)+_0x160a69[_0x4bf6b1(0xb4)]);return console['log'](_0x4bf6b1(0xcb)+_0x160a69[_0x4bf6b1(0x9d)][_0x4bf6b1(0x8a)]),{'token':_0x354002,'method':_0x19d3ba[_0x4bf6b1(0xa3)]};}console['log']('Validating\x20API\x20token...');const _0x4f8d5f=await _0x19d3ba['NLSSX'](getCurrentUser,_0x354002);if(!_0x4f8d5f[_0x4bf6b1(0x92)]){if(_0x4f8d5f[_0x4bf6b1(0x94)])throw new Error('Authentication\x20failed:\x20'+_0x4f8d5f[_0x4bf6b1(0xb4)]+_0x4bf6b1(0x95));else throw new Error(_0x4bf6b1(0x9b)+_0x4f8d5f['error']+_0x4bf6b1(0xe3));}return console['log'](_0x4bf6b1(0xcb)+_0x4f8d5f[_0x4bf6b1(0x9d)][_0x4bf6b1(0x8a)]),await _0x19d3ba['snDRE'](storeToken,_0x354002),console['log'](process['env']['GITHUB_ENV']?_0x19d3ba[_0x4bf6b1(0x9e)]:'✓\x20Stored\x20credentials\x20locally'),{'token':_0x354002,'method':'provided_token'};}export async function ensureRangerDir(_0x2067f7){const _0x9118e1=_0x34bd,_0x355c5d={'paaIB':function(_0x2d7d4f){return _0x2d7d4f();},'wKCyc':function(_0x22f3d7,_0x4bebb9,_0x364573){return _0x22f3d7(_0x4bebb9,_0x364573);},'ASFGe':'.ranger','BjdBA':function(_0x50fa9b){return _0x50fa9b();},'TlcIl':'✓\x20Created\x20.ranger/\x20directory'};let _0x592bfd;if(_0x2067f7==='user')_0x592bfd=_0x355c5d[_0x9118e1(0xcd)](getRangerHomeDir);else{const _0x4df03=_0x355c5d['paaIB'](findGitRoot);_0x592bfd=_0x4df03?_0x355c5d[_0x9118e1(0x96)](join,_0x4df03,_0x355c5d['ASFGe']):_0x355c5d[_0x9118e1(0xc7)](getRangerDir);}return!existsSync(_0x592bfd)?(await _0x355c5d[_0x9118e1(0x96)](mkdir,_0x592bfd,{'recursive':!![]}),console[_0x9118e1(0xde)](_0x355c5d[_0x9118e1(0xa0)]),{'path':_0x592bfd,'installed':!![]}):(console['log'](_0x9118e1(0xd8)),{'path':_0x592bfd,'installed':![]});}export async function ensureChromium(_0xfb96a8=![]){const _0x141526=_0x34bd,_0x294d51={'BMBsf':function(_0x2088da,_0x450373){return _0x2088da(_0x450373);},'xfbdL':'✓\x20Playwright\x20Chromium\x20browser\x20found','XfIQs':function(_0x55f170){return _0x55f170();},'avNdZ':_0x141526(0xa2),'bzBWi':_0x141526(0xbe),'IIuRy':_0x141526(0xb5),'tsNGm':function(_0x19d409,_0x38fcab){return _0x19d409 instanceof _0x38fcab;},'JXDys':'You\x20can\x20install\x20it\x20manually\x20by\x20running:','YDDnc':'\x0a⚠\x20Skipping\x20Chromium\x20installation.'};let _0xfae1f2=![];try{const _0xf936b0=chromium['executablePath']();_0xfae1f2=_0x294d51['BMBsf'](existsSync,_0xf936b0);}catch{_0xfae1f2=![];}if(_0xfae1f2)return console['log'](_0x294d51[_0x141526(0xbd)]),![];const _0x530f22=_0x294d51['XfIQs'](getPlaywrightVersion),_0x203450=_0x530f22??PLAYWRIGHT_CHROMIUM_INSTALL_FALLBACK_VERSION,_0x1e3a2d=!_0x530f22,_0x18404a=process[_0x141526(0xca)][_0x141526(0xeb)]&&process[_0x141526(0x91)]['isTTY'];let _0x1ce09b=!![];if(_0x18404a){const {install:_0x2ca713}=await _0x14a49[_0x141526(0xa1)]([{'type':'confirm','name':'install','message':_0x1e3a2d?_0x141526(0xa9)+_0x203450+_0x141526(0xa7):_0x141526(0xd3)+_0x203450+_0x141526(0xb0),'default':!![]}]);_0x1ce09b=_0x2ca713;}else console[_0x141526(0xde)]('\x0aNon-interactive\x20mode:\x20Auto-installing\x20Playwright\x20Chromium\x20'+_0x203450+(_0x1e3a2d?'\x20(fallback\x20version)':'')+'...');if(_0x1ce09b){console['log'](_0x294d51['avNdZ']);try{await installChromiumBinary(_0x203450,_0xfb96a8),console[_0x141526(0xde)](_0x294d51[_0x141526(0x97)]);}catch(_0x408911){console['error'](_0x294d51['IIuRy'],_0x294d51['tsNGm'](_0x408911,Error)?_0x408911['message']:_0x408911),console['log'](_0x294d51[_0x141526(0x99)]),console[_0x141526(0xde)]('\x20\x20npx\x20playwright@'+_0x203450+_0x141526(0xa4));}}else console['log'](_0x294d51['YDDnc']),console[_0x141526(0xde)](_0x141526(0xab)),console['log']('\x20\x20npx\x20playwright@'+_0x203450+_0x141526(0xa4));return!![];}export async function writeRangerGitignore(_0x5040c5){const _0x25963c={'vWfEq':'.gitignore','nWBlX':'✓\x20Created\x20.ranger/.gitignore'},_0x4166ea=join(_0x5040c5,_0x25963c['vWfEq']),_0x3393f5='\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 writeFile(_0x4166ea,_0x3393f5),console['log'](_0x25963c['nWBlX']);}function printProfileSetupLaterInstructions(){const _0x16be80=_0x34bd,_0x578865={'Tcogw':_0x16be80(0xdc),'FrzLC':_0x16be80(0xd4)};console['log'](_0x16be80(0xd7)),console[_0x16be80(0xde)]('\x20\x20'+bold(_0x578865['Tcogw'])),console[_0x16be80(0xde)](_0x578865['FrzLC']);}export async function ensureLocalEnv(_0xb969fa,_0x2322ef){const _0x42cb89=_0x34bd,_0x1b21ae={'smnZA':function(_0x82cc94){return _0x82cc94();},'xbKsb':function(_0x16ced6,_0x583d7,_0x2921e9){return _0x16ced6(_0x583d7,_0x2921e9);},'iwFUB':_0x42cb89(0x98),'yZRTe':'to\x20access\x20your\x20app.\x20If\x20the\x20part\x20of\x20your\x20app\x20you\x20want\x20to\x20test\x20is\x20behind','OrNcc':'auth,\x20you\x20can\x20log\x20in\x20and\x20we\x27ll\x20save\x20the\x20session\x20state\x20for\x20Ranger\x20to','kCXst':'use\x20until\x20the\x20session\x20expires.\x0a','hsPjt':_0x42cb89(0x8e),'wHHfA':_0x42cb89(0xc9),'uGdhf':'Would\x20you\x20like\x20to\x20set\x20up\x20the\x20profile\x20now?','xbdli':function(_0x5969f1){return _0x5969f1();}};if(!_0x1b21ae['smnZA'](findGitRoot))return console['log']('⚠\x20No\x20git\x20repository\x20found.\x20Run\x20`ranger\x20profile\x20add\x20local`\x20from\x20your\x20project\x20directory.'),{'ready':![],'skipped':!![]};const _0x245acc=_0xb969fa?.['scope']===_0x42cb89(0x9d)?_0x1b21ae['smnZA'](getRangerHomeDir):undefined;if(_0x1b21ae['xbKsb'](findExistingEnv,_0x42cb89(0x98),{'locations':[_0x1b21ae['iwFUB']],'rangerDir':_0x245acc}))return console['log'](_0x42cb89(0xd9)),{'ready':!![],'skipped':![]};const _0x339aa8=process[_0x42cb89(0xca)][_0x42cb89(0xeb)]&&process['stdout']['isTTY'];if(_0x339aa8&&!_0xb969fa?.['url']){console[_0x42cb89(0xde)]('\x0aA\x20profile\x20gives\x20Ranger\x27s\x20browser\x20agent\x20information\x20about\x20how'),console[_0x42cb89(0xde)](_0x1b21ae['yZRTe']),console['log'](_0x1b21ae['OrNcc']),console[_0x42cb89(0xde)](_0x1b21ae['kCXst']),console[_0x42cb89(0xde)](_0x42cb89(0xa6));const {wantsProfile:_0x34d828}=await _0x14a49[_0x42cb89(0xa1)]([{'type':_0x1b21ae['hsPjt'],'name':_0x1b21ae['wHHfA'],'message':_0x1b21ae[_0x42cb89(0x8d)],'default':!![]}]);if(!_0x34d828)return _0x1b21ae[_0x42cb89(0xb3)](printProfileSetupLaterInstructions),{'ready':![],'skipped':!![]};}try{return await addEnv(_0x42cb89(0x98),{'url':_0xb969fa?.[_0x42cb89(0xc0)],'force':_0xb969fa?.[_0x42cb89(0x88)],'allowInsecureLocalhost':_0xb969fa?.['allowInsecureLocalhost'],'scope':_0xb969fa?.['scope']},_0x2322ef),{'ready':!![],'skipped':![]};}catch(_0x55cd77){return console[_0x42cb89(0xb4)]('\x0a❌\x20Profile\x20setup\x20failed:',_0x55cd77 instanceof Error?_0x55cd77[_0x42cb89(0xad)]:_0x55cd77),printProfileSetupLaterInstructions(),{'ready':![],'skipped':![]};}}export async function start(_0x30c640,_0x4d267e,_0x50fdb0){const _0x16bb11=_0x34bd,_0x15f6ac={'zlaUY':_0x16bb11(0x89),'FiVvv':'user','pLpHA':function(_0x5f22b2,_0x3b897c){return _0x5f22b2===_0x3b897c;},'voDvt':'git_check','AUhdt':_0x16bb11(0xc8),'rzRxt':function(_0x4529b3,_0x2b4c84){return _0x4529b3+_0x2b4c84;},'pQAMB':_0x16bb11(0xe1),'PLBOV':function(_0x416cbb,_0x171e50){return _0x416cbb(_0x171e50);},'SAuXB':function(_0x554a8d,_0x23b179){return _0x554a8d(_0x23b179);},'BiLcw':_0x16bb11(0x9f),'iAmxY':_0x16bb11(0x8c),'CvjmK':_0x16bb11(0xc3),'uxQKJ':_0x16bb11(0xd2),'XuYRV':'skills','Kidwe':'\x20\x20Failed\x20to\x20install\x20OpenCode\x20skill:','SGObZ':'Non-interactive\x20mode:\x20Skipping\x20profile\x20setup.\x20To\x20set\x20up\x20a\x20profile,\x20pass\x20--url\x20or\x20run\x20later:','luwYr':function(_0x26d471,_0x4c5883){return _0x26d471(_0x4c5883);},'qrJEk':'profile','aqApF':'\x0aIn\x20OpenCode,\x20enable\x20Ranger\x20hooks\x20(run\x20the\x20`ranger_enable`\x20tool)','FwcAE':'and\x20prompt\x20the\x20agent\x20like\x20usual.\x20Ranger\x20will\x20create\x20a\x20feature\x20review','PWyUi':'with\x20scenarios\x20describing\x20what\x20to\x20verify\x20and\x20then\x20run\x20browser','nbesD':function(_0x5e4d0c,_0x755917){return _0x5e4d0c(_0x755917);},'gJZQV':'/ranger:enable','aulTv':function(_0x5a1237,_0x58789f){return _0x5a1237+_0x58789f;}};console[_0x16bb11(0xde)](_0x15f6ac['zlaUY']);const _0x410b12=process['stdin'][_0x16bb11(0xeb)]&&process[_0x16bb11(0x91)]['isTTY'];!_0x410b12&&!_0x4d267e?.['scope']&&(console['log']('Non-interactive\x20mode:\x20No\x20--scope\x20provided,\x20defaulting\x20to\x20user.'),_0x4d267e={..._0x4d267e,'scope':_0x15f6ac[_0x16bb11(0xe5)]});const _0x47692d=_0x15f6ac['pLpHA'](_0x4d267e?.['scope'],_0x15f6ac[_0x16bb11(0xe5)]);_0x50fdb0?.['trackPhaseStart'](_0x15f6ac[_0x16bb11(0xb1)]);const _0x1ce205=findGitRoot();if(!_0x1ce205&&!_0x47692d){await _0x50fdb0?.[_0x16bb11(0xed)]('git_check',new Error(_0x15f6ac[_0x16bb11(0xbf)]));throw new Error(_0x15f6ac[_0x16bb11(0x86)](_0x16bb11(0xd1),_0x15f6ac['pQAMB']));}_0x50fdb0?.['trackPhaseEnd'](_0x16bb11(0xb7));const _0x3aba9e=!existsSync(getRangerDir()),{path:_0x258783}=await _0x15f6ac['PLBOV'](ensureRangerDir,_0x47692d?_0x15f6ac['FiVvv']:undefined);if(_0x4d267e?.[_0x16bb11(0xcc)])console['log'](_0x16bb11(0x8b)),_0x50fdb0?.['trackPhaseEnd'](_0x16bb11(0x9f),{'isFirstRun':_0x3aba9e,'method':_0x16bb11(0x9c)});else{_0x50fdb0?.['trackPhaseStart'](_0x16bb11(0x9f));const _0x39dce8=await _0x15f6ac[_0x16bb11(0xac)](authenticate,_0x30c640);_0x50fdb0?.['trackPhaseEnd'](_0x15f6ac[_0x16bb11(0xc6)],{'isFirstRun':_0x3aba9e,'method':_0x39dce8['method']});}_0x50fdb0?.[_0x16bb11(0xe7)](_0x15f6ac['iAmxY']);_0x4d267e?.[_0x16bb11(0xc1)]?console[_0x16bb11(0xde)]('✓\x20Skipping\x20Chromium\x20check\x20(--skip-chromium)'):await ensureChromium(_0x4d267e?.[_0x16bb11(0xee)]);_0x50fdb0?.['trackPhaseEnd']('chromium',{'isFirstRun':_0x3aba9e,'skipped':!!_0x4d267e?.[_0x16bb11(0xc1)]});!_0x47692d&&await _0x15f6ac['SAuXB'](writeRangerGitignore,_0x258783);console[_0x16bb11(0xde)]('\x0a✅\x20Ranger\x20setup\x20complete!\x0a');const _0x255637=_0x4d267e?.[_0x16bb11(0x87)],_0x21fbbc=_0x4d267e?.[_0x16bb11(0xdb)]??![];let _0x326a36=null;_0x21fbbc?(_0x50fdb0?.[_0x16bb11(0xe7)](_0x15f6ac['CvjmK']),_0x326a36=await _0x15f6ac['PLBOV'](ensureOpencodePluginConfig,_0x255637),_0x50fdb0?.['trackPhaseEnd']('plugin',{'isFirstRun':_0x3aba9e,'opencode':!![]})):(_0x50fdb0?.['trackPhaseStart'](_0x15f6ac[_0x16bb11(0xe8)]),await ensureClaudePlugin(_0x255637),_0x50fdb0?.[_0x16bb11(0xe9)](_0x15f6ac['CvjmK'],{'isFirstRun':_0x3aba9e}));if(_0x21fbbc&&_0x326a36){_0x50fdb0?.['trackPhaseStart']('skills');try{await installSkill(_0x15f6ac['uxQKJ'],{'level':_0x326a36[_0x16bb11(0x87)],'cliVersion':getCurrentVersion(),'platform':'opencode'}),_0x50fdb0?.[_0x16bb11(0xe9)](_0x15f6ac[_0x16bb11(0xce)],{'isFirstRun':_0x3aba9e,'opencode':!![]});}catch(_0x8e25f3){console['warn'](_0x15f6ac[_0x16bb11(0x85)],_0x8e25f3 instanceof Error?_0x8e25f3[_0x16bb11(0xad)]:_0x8e25f3),_0x50fdb0?.[_0x16bb11(0xe9)](_0x15f6ac[_0x16bb11(0xce)],{'isFirstRun':_0x3aba9e,'opencode':!![],'failed':!![]});}}else _0x50fdb0?.[_0x16bb11(0xe7)]('skills'),await _0x15f6ac['SAuXB'](ensureClaudeSkills,_0x255637),_0x50fdb0?.['trackPhaseEnd'](_0x16bb11(0xaa),{'isFirstRun':_0x3aba9e});if(_0x4d267e?.['skipAuth'])console[_0x16bb11(0xde)](_0x16bb11(0xe6));else{if(!_0x410b12&&!_0x4d267e?.[_0x16bb11(0xc0)])console[_0x16bb11(0xde)](_0x15f6ac['SGObZ']),console['log']('\x20\x20'+_0x15f6ac['luwYr'](bold,_0x16bb11(0xdc))+'\x0a');else{_0x50fdb0?.['trackPhaseStart'](_0x15f6ac[_0x16bb11(0xda)]);const _0x15927b=await ensureLocalEnv({'url':_0x4d267e?.['url'],'force':_0x4d267e?.[_0x16bb11(0x88)],'allowInsecureLocalhost':_0x4d267e?.['allowInsecureLocalhost'],'scope':_0x4d267e?.['scope']==='user'?_0x15f6ac[_0x16bb11(0xe5)]:undefined},_0x50fdb0);_0x50fdb0?.['trackPhaseEnd'](_0x15f6ac['qrJEk'],{'isFirstRun':_0x3aba9e,'profileReady':_0x15927b['ready'],'userSkipped':_0x15927b[_0x16bb11(0x9c)]}),_0x15927b[_0x16bb11(0xec)]&&console['log']('\x0a✅\x20You\x27re\x20ready\x20to\x20start\x20using\x20Ranger\x20Feature\x20Review.');}}if(_0x21fbbc)console[_0x16bb11(0xde)](_0x15f6ac[_0x16bb11(0x8f)]),console[_0x16bb11(0xde)](_0x15f6ac['FwcAE']),console[_0x16bb11(0xde)](_0x15f6ac['PWyUi']),console[_0x16bb11(0xde)]('verification\x20to\x20check\x20its\x20work\x20as\x20it\x20builds.');else{const _0x207266=_0x15f6ac[_0x16bb11(0xd5)](bold,_0x15f6ac[_0x16bb11(0xae)]);console[_0x16bb11(0xde)](_0x15f6ac['aulTv'](_0x15f6ac[_0x16bb11(0x86)](_0x16bb11(0xb2)+_0x207266+'\x20and\x20prompt\x20the\x20coding','\x0aagent\x20like\x20usual.\x20Claude\x20will\x20create\x20a\x20feature\x20review\x20with')+_0x16bb11(0xe4),'\x0averification\x20to\x20check\x20its\x20work\x20as\x20it\x20builds.'));}}
1
+ const _0x6622a8=_0x4fe4;(function(_0x212ebb,_0x44dad2){const _0x1c7b7b=_0x4fe4,_0x4defaf=_0x212ebb();while(!![]){try{const _0x56f30c=parseInt(_0x1c7b7b(0x148))/0x1*(-parseInt(_0x1c7b7b(0x153))/0x2)+-parseInt(_0x1c7b7b(0xf4))/0x3+parseInt(_0x1c7b7b(0x125))/0x4*(-parseInt(_0x1c7b7b(0x12d))/0x5)+parseInt(_0x1c7b7b(0x101))/0x6*(-parseInt(_0x1c7b7b(0x13b))/0x7)+parseInt(_0x1c7b7b(0x12e))/0x8+parseInt(_0x1c7b7b(0x145))/0x9+parseInt(_0x1c7b7b(0x147))/0xa;if(_0x56f30c===_0x44dad2)break;else _0x4defaf['push'](_0x4defaf['shift']());}catch(_0x3a822a){_0x4defaf['push'](_0x4defaf['shift']());}}}(_0x2e8e,0x30706));import{mkdir,writeFile}from'fs/promises';import{join}from'path';import{existsSync}from'fs';import{createRequire}from'module';import{spawn}from'child_process';import _0x1b6e77 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';import{findExistingEnv}from'./utils/settings.js';import{getCurrentVersion}from'./utils/version.js';import{ensureClaudePlugin,ensureClaudeSkills}from'./setup/claude.js';import{ensureOpencodePluginConfig}from'./setup/opencode.js';function _0x2e8e(){const _0x16ea15=['git_check','\x0a✅\x20Ranger\x20setup\x20complete!\x0a','kWTjS','\x0averification\x20to\x20check\x20its\x20work\x20as\x20it\x20builds.','existing_token','pEPnC','profile','XWnuI','jRAYq','force','No\x20git\x20repository\x20found','✓\x20Playwright\x20Chromium\x20browser\x20found','✓\x20Stored\x20credentials\x20locally','\x20and\x20','Installation\x20failed\x20with\x20exit\x20code\x20','229284LyzUDB',')\x20of\x20the\x20Playwright\x20Chromium\x20browser\x20is\x20not\x20installed.\x20Install\x20it\x20now?','isTTY','\x20install\x20chromium','\x0aagent\x20like\x20usual.\x20Claude\x20will\x20create\x20a\x20feature\x20review\x20with','jKDHA','Could\x20not\x20determine\x20local\x20Playwright\x20version.\x20Install\x20Playwright\x20Chromium\x20using\x20fallback\x20version\x20','You\x20can\x20install\x20it\x20manually\x20by\x20running:','digBI','install','MoqfW','stdout','local','42540XPUiTs','confirm','PNpPM','✓\x20Already\x20authenticated\x20to\x20','LtTBK','aOlod','AZZLA','log','organizationName','1.58.2','JHsTa','Authentication\x20failed:\x20','\x0aInstalling\x20Chromium\x20browser...\x0a','stdin','user','close','trackPhaseStart','GDVSL','✓\x20Local\x20profile\x20already\x20exists','iZSIL','evIkM','stMAt','opencode','resolve','\x0aIn\x20Claude\x20Code,\x20run\x20','skipChromium','ranger','\x20now?','playwright@','skipped','Failed\x20to\x20connect\x20to\x20MCP\x20server:\x20','LSLzH','\x20(fallback\x20version)','Failed\x20to\x20validate\x20provisioned\x20API\x20key:\x20','✓\x20Authenticated\x20to\x20','scope','12236aUWblM','sNsKE','RANGER_TEST_USERNAME','zZfja','\x20for\x20explicit\x20profile\x20management).','\x0aIn\x20OpenCode,\x20enable\x20Ranger\x20hooks\x20(run\x20the\x20`ranger_enable`\x20tool)','PmotB','GkNit','405xJaNSJ','2248824CIQumc','iAgWs','.\x20Please\x20check\x20your\x20API\x20token\x20and\x20try\x20again.','✓\x20Created\x20.ranger/.gitignore','provided_token','\x0a❌\x20Profile\x20setup\x20failed:','✓\x20Exported\x20credentials\x20for\x20CI','error','ranger\x20profile\x20add','pgNJa','version','eEQfd','plugin','154UmVWhO','iQjUG','Zvyls','\x20directory\x20already\x20exists','ready','message','\x20and\x20prompt\x20the\x20coding','success','auth','RANGER_TEST_PASSWORD','2438820dGWGMd','\x0a🚀\x20Ranger\x20Setup\x0a','3020590SDVcyp','175549HfSjHu','JsBxH','inherit','\x20directory','url','trackPhaseEnd','.\x20Please\x20check\x20your\x20network\x20connection\x20and\x20server\x20URL.','tdkml','✓\x20Skipping\x20authentication\x20(--skip-auth)','--with-deps','✓\x20Created\x20','2PceoOH','ignore','platform','VficC','NofEv','mwPQa'];_0x2e8e=function(){return _0x16ea15;};return _0x2e8e();}import{installSkill}from'./utils/skills.js';const require=createRequire(import.meta.url);export const PLAYWRIGHT_CHROMIUM_INSTALL_FALLBACK_VERSION=_0x6622a8(0x10a);function _0x4fe4(_0x399a76,_0xf64eec){_0x399a76=_0x399a76-0xe8;const _0x2e8efe=_0x2e8e();let _0x4fe4b3=_0x2e8efe[_0x399a76];return _0x4fe4b3;}const bold=_0x153ffa=>'\x1b[1m'+_0x153ffa+'\x1b[0m';export function getPlaywrightVersion(){const _0xca4257=_0x6622a8,_0x801f30={'cBWnq':function(_0x8f1e48,_0x3ae8c6){return _0x8f1e48(_0x3ae8c6);}};try{const _0x11f3e1=require[_0xca4257(0x118)]('playwright/package.json'),_0xfaf32f=_0x801f30['cBWnq'](require,_0x11f3e1);return _0xfaf32f[_0xca4257(0x138)];}catch{return null;}}export function installChromiumBinary(_0x56c5a4,_0x57f2e0=![]){const _0x126d36=_0x6622a8,_0x4b31c7={'sNsKE':function(_0x29baeb,_0x102b2f){return _0x29baeb(_0x102b2f);},'GkNit':_0x126d36(0x151),'zZfja':'chromium','LSLzH':_0x126d36(0x154),'stMAt':_0x126d36(0x14a),'vDSEq':function(_0x4a07ac,_0x5a5ae7){return _0x4a07ac===_0x5a5ae7;},'QqtqD':_0x126d36(0x110),'XWnuI':_0x126d36(0x135)};return new Promise((_0x3b892f,_0x1fa3c2)=>{const _0x516d54=_0x126d36,_0x3e015d={'NUMpV':function(_0x2ede39,_0x2b849f){return _0x2ede39===_0x2b849f;},'wGxoE':function(_0xbc3931){return _0xbc3931();},'ogZXv':function(_0x146ffc,_0x300006){return _0x146ffc(_0x300006);},'MkvVd':function(_0x4c4fa9,_0x4b5f5c){const _0x28663a=_0x4fe4;return _0x4b31c7[_0x28663a(0x126)](_0x4c4fa9,_0x4b5f5c);}},_0x55842e=[_0x516d54(0x11d)+_0x56c5a4,_0x516d54(0xfd),..._0x57f2e0?[_0x4b31c7[_0x516d54(0x12c)]]:[],_0x4b31c7[_0x516d54(0x128)]],_0x3a6be3=spawn('npx',_0x55842e,{'stdio':[_0x4b31c7[_0x516d54(0x120)],_0x4b31c7['stMAt'],_0x4b31c7[_0x516d54(0x116)]],'shell':_0x4b31c7['vDSEq'](process[_0x516d54(0x155)],'win32')});_0x3a6be3['on'](_0x4b31c7['QqtqD'],_0x5d7b7d=>{const _0x39aa79=_0x516d54;_0x3e015d['NUMpV'](_0x5d7b7d,0x0)?_0x3e015d['wGxoE'](_0x3b892f):_0x3e015d['ogZXv'](_0x1fa3c2,new Error(_0x39aa79(0xf3)+_0x5d7b7d));}),_0x3a6be3['on'](_0x4b31c7[_0x516d54(0xec)],_0x129116=>{_0x3e015d['MkvVd'](_0x1fa3c2,_0x129116);});});}export async function authenticate(_0x1e3f87){const _0x28b03a=_0x6622a8,_0x5c45cd={'lbakf':function(_0x41fa74){return _0x41fa74();},'JsBxH':function(_0x2b75b1,_0x5ebf7b){return _0x2b75b1(_0x5ebf7b);},'xQYxj':function(_0x59637a,_0x5be6de){return _0x59637a(_0x5be6de);},'zNDdr':_0x28b03a(0xf1),'evIkM':_0x28b03a(0x132)};if(!_0x1e3f87){const _0x437d57=await _0x5c45cd['lbakf'](getToken);if(_0x437d57){const _0x3c1712=await getCurrentUser(_0x437d57);if(_0x3c1712['success'])return console['log'](_0x28b03a(0x104)+_0x3c1712['user']['organizationName']),{'token':_0x437d57,'method':_0x28b03a(0xe9)};}try{_0x1e3f87=await _0x5c45cd['lbakf'](runDeviceAuthFlow);}catch(_0x3cddef){throw new Error(_0x28b03a(0x10c)+(_0x3cddef instanceof Error?_0x3cddef['message']:_0x3cddef));}const _0x19fafc=await _0x5c45cd[_0x28b03a(0x149)](getCurrentUser,_0x1e3f87);if(!_0x19fafc['success'])throw new Error(_0x28b03a(0x122)+_0x19fafc[_0x28b03a(0x135)]);return console[_0x28b03a(0x108)]('✓\x20Authenticated\x20to\x20'+_0x19fafc['user'][_0x28b03a(0x109)]),{'token':_0x1e3f87,'method':'device_auth'};}console[_0x28b03a(0x108)]('Validating\x20API\x20token...');const _0x254cb5=await getCurrentUser(_0x1e3f87);if(!_0x254cb5[_0x28b03a(0x142)]){if(_0x254cb5['status'])throw new Error(_0x28b03a(0x10c)+_0x254cb5[_0x28b03a(0x135)]+_0x28b03a(0x130));else throw new Error(_0x28b03a(0x11f)+_0x254cb5[_0x28b03a(0x135)]+_0x28b03a(0x14e));}return console['log'](_0x28b03a(0x123)+_0x254cb5['user'][_0x28b03a(0x109)]),await _0x5c45cd['xQYxj'](storeToken,_0x1e3f87),console[_0x28b03a(0x108)](process['env']['GITHUB_ENV']?_0x28b03a(0x134):_0x5c45cd['zNDdr']),{'token':_0x1e3f87,'method':_0x5c45cd[_0x28b03a(0x115)]};}export async function ensureRangerDir(_0x340617){const _0x5c741a=_0x6622a8,_0x4f5ec7={'FUEqf':'user','fmoqg':'~/.ranger/','PmotB':function(_0x5566e1,_0x2a3264){return _0x5566e1===_0x2a3264;},'iXoBy':function(_0x30b01f){return _0x30b01f();},'lektr':function(_0x4f0f83,_0x3ae4ab,_0x20c723){return _0x4f0f83(_0x3ae4ab,_0x20c723);}};let _0x1ad234;const _0x2e3088=_0x340617===_0x4f5ec7['FUEqf']?_0x4f5ec7['fmoqg']:'.ranger/';if(_0x4f5ec7[_0x5c741a(0x12b)](_0x340617,_0x4f5ec7['FUEqf']))_0x1ad234=_0x4f5ec7['iXoBy'](getRangerHomeDir);else{const _0x2fb6df=findGitRoot();_0x1ad234=_0x2fb6df?_0x4f5ec7['lektr'](join,_0x2fb6df,'.ranger'):getRangerDir();}return!existsSync(_0x1ad234)?(await mkdir(_0x1ad234,{'recursive':!![]}),console['log'](_0x5c741a(0x152)+_0x2e3088+_0x5c741a(0x14b)),{'path':_0x1ad234,'installed':!![]}):(console['log']('✓\x20'+_0x2e3088+_0x5c741a(0x13e)),{'path':_0x1ad234,'installed':![]});}export async function ensureChromium(_0x39d312=![]){const _0x551c75=_0x6622a8,_0x3c7d9a={'GDVSL':_0x551c75(0xf0),'jRAYq':function(_0x3fb99e){return _0x3fb99e();},'DVSgA':function(_0x93d61e,_0x475db9){return _0x93d61e??_0x475db9;},'aOlod':function(_0x352848,_0x4f7514,_0x5d952a){return _0x352848(_0x4f7514,_0x5d952a);},'JHsTa':function(_0x3d8a68,_0x21e778){return _0x3d8a68 instanceof _0x21e778;},'Svcst':_0x551c75(0xfb)};let _0x33870e=![];try{const _0x5a9fa2=chromium['executablePath']();_0x33870e=existsSync(_0x5a9fa2);}catch{_0x33870e=![];}if(_0x33870e)return console['log'](_0x3c7d9a[_0x551c75(0x112)]),![];const _0x382284=_0x3c7d9a[_0x551c75(0xed)](getPlaywrightVersion),_0x4416a6=_0x3c7d9a['DVSgA'](_0x382284,PLAYWRIGHT_CHROMIUM_INSTALL_FALLBACK_VERSION),_0x42f2de=!_0x382284,_0x566520=process['stdin'][_0x551c75(0xf6)]&&process['stdout'][_0x551c75(0xf6)];let _0x5edfcf=!![];if(_0x566520){const {install:_0x5d06dc}=await _0x1b6e77['prompt']([{'type':_0x551c75(0x102),'name':'install','message':_0x42f2de?_0x551c75(0xfa)+_0x4416a6+_0x551c75(0x11c):'The\x20required\x20version\x20('+_0x4416a6+_0x551c75(0xf5),'default':!![]}]);_0x5edfcf=_0x5d06dc;}else console['log']('\x0aNon-interactive\x20mode:\x20Auto-installing\x20Playwright\x20Chromium\x20'+_0x4416a6+(_0x42f2de?_0x551c75(0x121):'')+'...');if(_0x5edfcf){console['log'](_0x551c75(0x10d));try{await _0x3c7d9a[_0x551c75(0x106)](installChromiumBinary,_0x4416a6,_0x39d312),console[_0x551c75(0x108)]('\x0a✓\x20Playwright\x20Chromium\x20installed\x20successfully');}catch(_0x5b74ce){console[_0x551c75(0x135)]('\x0a❌\x20Failed\x20to\x20install\x20Chromium:',_0x3c7d9a[_0x551c75(0x10b)](_0x5b74ce,Error)?_0x5b74ce['message']:_0x5b74ce),console['log'](_0x3c7d9a['Svcst']),console['log']('\x20\x20npx\x20playwright@'+_0x4416a6+_0x551c75(0xf7));}}else console['log']('\x0a⚠\x20Skipping\x20Chromium\x20installation.'),console[_0x551c75(0x108)]('You\x20will\x20need\x20to\x20install\x20it\x20before\x20using\x20Ranger:'),console['log']('\x20\x20npx\x20playwright@'+_0x4416a6+_0x551c75(0xf7));return!![];}export async function writeRangerGitignore(_0x18e037){const _0x41ec17=_0x6622a8,_0x423e80={'jKDHA':'.gitignore','pEPnC':_0x41ec17(0x131)},_0x21e76f=join(_0x18e037,_0x423e80[_0x41ec17(0xf9)]),_0x4b1f4b='\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 writeFile(_0x21e76f,_0x4b1f4b),console['log'](_0x423e80[_0x41ec17(0xea)]);}export async function ensureLocalEnv(_0x2ed23a,_0x1fc1be){const _0x1d1b89=_0x6622a8,_0x43017b={'IzQeI':function(_0x491be6){return _0x491be6();},'AZZLA':function(_0x498fe0,_0x2a717a){return _0x498fe0!==_0x2a717a;},'gesqr':'user','mNucx':function(_0x2de94c,_0x4b9eb8){return _0x2de94c===_0x4b9eb8;},'lkcSx':_0x1d1b89(0x100),'piGXx':function(_0x57ea2c,_0x258826){return _0x57ea2c instanceof _0x258826;}};if(!_0x43017b['IzQeI'](findGitRoot)&&_0x43017b[_0x1d1b89(0x107)](_0x2ed23a?.['scope'],_0x43017b['gesqr']))return console['log']('⚠\x20No\x20git\x20repository\x20found.\x20Re-run\x20with\x20`--scope\x20user`\x20to\x20store\x20the\x20profile\x20at\x20~/.ranger/.'),{'ready':![],'skipped':!![]};const _0x58fdaf=_0x43017b['mNucx'](_0x2ed23a?.['scope'],_0x43017b['gesqr'])?getRangerHomeDir():undefined;if(findExistingEnv(_0x43017b['lkcSx'],{'locations':['local'],'rangerDir':_0x58fdaf}))return console[_0x1d1b89(0x108)](_0x1d1b89(0x113)),{'ready':!![],'skipped':![]};try{return await addEnv('local',{'url':_0x2ed23a?.[_0x1d1b89(0x14c)],'force':_0x2ed23a?.['force'],'allowInsecureLocalhost':_0x2ed23a?.['allowInsecureLocalhost'],'scope':_0x2ed23a?.[_0x1d1b89(0x124)]},_0x1fc1be),{'ready':!![],'skipped':![]};}catch(_0x2a00a1){return console[_0x1d1b89(0x135)](_0x1d1b89(0x133),_0x43017b['piGXx'](_0x2a00a1,Error)?_0x2a00a1[_0x1d1b89(0x140)]:_0x2a00a1),{'ready':![],'skipped':![]};}}export async function start(_0x39f48b,_0x35d168,_0x2273dd){const _0x971fad=_0x6622a8,_0x4a1899={'SnwcM':function(_0x1b9b13,_0x25fd4b){return _0x1b9b13===_0x25fd4b;},'MoqfW':_0x971fad(0x10f),'kWTjS':'git_check','jzRSB':'No\x20git\x20repository\x20found\x20for\x20--scope\x20project.\x20Re-run\x20without\x20`--scope\x20project`\x20to\x20install\x20at\x20user\x20scope.','eEQfd':function(_0x247124,_0x18e320){return _0x247124(_0x18e320);},'VficC':function(_0x3650a0){return _0x3650a0();},'wjZcL':function(_0x5d62a2,_0x32833c){return _0x5d62a2(_0x32833c);},'Zvyls':_0x971fad(0x11e),'digBI':_0x971fad(0x143),'rupXZ':'chromium','iAgWs':'✓\x20Skipping\x20Chromium\x20check\x20(--skip-chromium)','gSArs':function(_0x46da5a,_0x1a9596){return _0x46da5a(_0x1a9596);},'tdkml':'plugin','PNpPM':function(_0x2d898e,_0x5ee69a){return _0x2d898e(_0x5ee69a);},'lEwet':function(_0x856731,_0x542097){return _0x856731(_0x542097);},'NofEv':function(_0x3eddc3,_0x33e9ad){return _0x3eddc3&&_0x33e9ad;},'iQjUG':function(_0xfd7791,_0x1c0b7f,_0x5b5161){return _0xfd7791(_0x1c0b7f,_0x5b5161);},'EyMxr':_0x971fad(0x11b),'bGIoM':'opencode','izJwH':function(_0x24440,_0x2d6fcd){return _0x24440 instanceof _0x2d6fcd;},'UkUiH':'skills','LtTBK':function(_0x16ba41,_0x2afc2d){return _0x16ba41(_0x2afc2d);},'Yehxc':'\x0aSkipping\x20profile\x20setup\x20(--skip-auth).\x20Run\x20`ranger\x20setup`\x20with\x20auth\x20to\x20add\x20a\x20profile\x20later.\x0a','mwPQa':function(_0x47caa0,_0x30c58f){return _0x47caa0(_0x30c58f);},'tGAKl':_0x971fad(0x127),'iZSIL':_0x971fad(0x144),'iaHll':function(_0x4770ae,_0x18ed69){return _0x4770ae(_0x18ed69);},'wsXir':'verification\x20to\x20check\x20its\x20work\x20as\x20it\x20builds.','vWLHB':'/ranger:enable','pgNJa':function(_0x5afb3e,_0x463ea5){return _0x5afb3e+_0x463ea5;}};console[_0x971fad(0x108)](_0x971fad(0x146));const _0x590546=process[_0x971fad(0x10e)][_0x971fad(0xf6)]&&process[_0x971fad(0xff)][_0x971fad(0xf6)];!_0x35d168?.[_0x971fad(0x124)]&&(_0x35d168={..._0x35d168,'scope':_0x971fad(0x10f)});const _0x262da2=_0x4a1899['SnwcM'](_0x35d168?.[_0x971fad(0x124)],_0x4a1899[_0x971fad(0xfe)]);_0x2273dd?.['trackPhaseStart'](_0x4a1899[_0x971fad(0x15b)]);if(!_0x262da2&&!findGitRoot()){await _0x2273dd?.['trackPhaseError']('git_check',new Error(_0x971fad(0xef)));throw new Error(_0x4a1899['jzRSB']);}_0x2273dd?.[_0x971fad(0x14d)](_0x971fad(0x159));const _0x3edff8=_0x262da2?!_0x4a1899[_0x971fad(0x139)](existsSync,_0x4a1899[_0x971fad(0x156)](getRangerHomeDir)):!_0x4a1899['wjZcL'](existsSync,getRangerDir()),{path:_0x1a8593}=await ensureRangerDir(_0x262da2?'user':undefined);if(_0x35d168?.['skipAuth'])console[_0x971fad(0x108)](_0x971fad(0x150)),_0x2273dd?.[_0x971fad(0x14d)]('auth',{'isFirstRun':_0x3edff8,'method':_0x4a1899[_0x971fad(0x13d)]});else{_0x2273dd?.['trackPhaseStart'](_0x4a1899['digBI']);const _0x136bc3=await authenticate(_0x39f48b);_0x2273dd?.['trackPhaseEnd'](_0x4a1899[_0x971fad(0xfc)],{'isFirstRun':_0x3edff8,'method':_0x136bc3['method']});}_0x2273dd?.[_0x971fad(0x111)](_0x4a1899['rupXZ']);_0x35d168?.[_0x971fad(0x11a)]?console['log'](_0x4a1899[_0x971fad(0x12f)]):await _0x4a1899['wjZcL'](ensureChromium,_0x35d168?.['withDeps']);_0x2273dd?.['trackPhaseEnd']('chromium',{'isFirstRun':_0x3edff8,'skipped':!!_0x35d168?.[_0x971fad(0x11a)]});!_0x262da2&&await _0x4a1899['gSArs'](writeRangerGitignore,_0x1a8593);console[_0x971fad(0x108)](_0x971fad(0x15a));const _0x1de66d=_0x35d168?.['scope'],_0x9e002a=_0x35d168?.[_0x971fad(0x117)]??![];let _0x5a9486=null;_0x9e002a?(_0x2273dd?.['trackPhaseStart'](_0x4a1899[_0x971fad(0x14f)]),_0x5a9486=await _0x4a1899[_0x971fad(0x103)](ensureOpencodePluginConfig,_0x1de66d),_0x2273dd?.['trackPhaseEnd'](_0x4a1899[_0x971fad(0x14f)],{'isFirstRun':_0x3edff8,'opencode':!![]})):(_0x2273dd?.[_0x971fad(0x111)](_0x971fad(0x13a)),await _0x4a1899['lEwet'](ensureClaudePlugin,_0x1de66d),_0x2273dd?.[_0x971fad(0x14d)](_0x4a1899[_0x971fad(0x14f)],{'isFirstRun':_0x3edff8}));if(_0x4a1899[_0x971fad(0x157)](_0x9e002a,_0x5a9486)){_0x2273dd?.[_0x971fad(0x111)]('skills');try{await _0x4a1899[_0x971fad(0x13c)](installSkill,_0x4a1899['EyMxr'],{'level':_0x5a9486['scope'],'cliVersion':getCurrentVersion(),'platform':_0x4a1899['bGIoM']}),_0x2273dd?.['trackPhaseEnd']('skills',{'isFirstRun':_0x3edff8,'opencode':!![]});}catch(_0x54a5b7){console['warn']('\x20\x20Failed\x20to\x20install\x20OpenCode\x20skill:',_0x4a1899['izJwH'](_0x54a5b7,Error)?_0x54a5b7['message']:_0x54a5b7),_0x2273dd?.['trackPhaseEnd'](_0x4a1899['UkUiH'],{'isFirstRun':_0x3edff8,'opencode':!![],'failed':!![]});}}else _0x2273dd?.['trackPhaseStart'](_0x4a1899['UkUiH']),await _0x4a1899[_0x971fad(0x105)](ensureClaudeSkills,_0x1de66d),_0x2273dd?.[_0x971fad(0x14d)](_0x4a1899['UkUiH'],{'isFirstRun':_0x3edff8});if(_0x35d168?.['skipAuth'])console[_0x971fad(0x108)](_0x4a1899['Yehxc']);else{if(_0x35d168?.['url']){_0x2273dd?.['trackPhaseStart']('profile');const _0x3c30c2=await ensureLocalEnv({'url':_0x35d168['url'],'force':_0x35d168?.[_0x971fad(0xee)],'allowInsecureLocalhost':_0x35d168?.['allowInsecureLocalhost'],'scope':_0x4a1899['SnwcM'](_0x35d168?.[_0x971fad(0x124)],_0x4a1899['MoqfW'])?_0x4a1899['MoqfW']:undefined},_0x2273dd);_0x2273dd?.['trackPhaseEnd'](_0x971fad(0xeb),{'isFirstRun':_0x3edff8,'profileReady':_0x3c30c2[_0x971fad(0x13f)],'userSkipped':_0x3c30c2['skipped']});}else console[_0x971fad(0x108)]('\x0aTo\x20verify\x20with\x20a\x20browser:\x20set\x20'+_0x4a1899[_0x971fad(0x158)](bold,_0x4a1899['tGAKl'])+_0x971fad(0xf2)+bold(_0x4a1899[_0x971fad(0x114)])),console['log']('\x20\x20(or\x20use\x20'+_0x4a1899['iaHll'](bold,_0x971fad(0x136))+_0x971fad(0x129));}if(_0x9e002a)console['log'](_0x971fad(0x12a)),console['log']('and\x20prompt\x20the\x20agent\x20like\x20usual.\x20Ranger\x20will\x20create\x20a\x20feature\x20review'),console['log']('with\x20scenarios\x20describing\x20what\x20to\x20verify\x20and\x20then\x20run\x20browser'),console['log'](_0x4a1899['wsXir']);else{const _0x48e077=bold(_0x4a1899['vWLHB']);console[_0x971fad(0x108)](_0x4a1899[_0x971fad(0x137)](_0x971fad(0x119)+_0x48e077+_0x971fad(0x141)+_0x971fad(0xf8),'\x0ascenarios\x20describing\x20what\x20to\x20verify\x20and\x20then\x20run\x20browser')+_0x971fad(0xe8));}}
@@ -1 +1 @@
1
- (function(_0x537051,_0x4878f7){const _0x5790ee=_0x37c5,_0x28b3f5=_0x537051();while(!![]){try{const _0x2921b4=parseInt(_0x5790ee(0x1f7))/0x1*(parseInt(_0x5790ee(0x20d))/0x2)+parseInt(_0x5790ee(0x20a))/0x3*(parseInt(_0x5790ee(0x201))/0x4)+parseInt(_0x5790ee(0x1f4))/0x5+parseInt(_0x5790ee(0x229))/0x6*(-parseInt(_0x5790ee(0x22e))/0x7)+parseInt(_0x5790ee(0x221))/0x8+parseInt(_0x5790ee(0x206))/0x9+-parseInt(_0x5790ee(0x224))/0xa;if(_0x2921b4===_0x4878f7)break;else _0x28b3f5['push'](_0x28b3f5['shift']());}catch(_0x50b440){_0x28b3f5['push'](_0x28b3f5['shift']());}}}(_0x3a50,0xac8e1));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';import{getEnvDir}from'./utils/settings.js';function _0x3a50(){const _0x1bdbdc=['version','stderr','FlHAu','zbwfa','plugin','\x0aRanger\x20has\x20not\x20been\x20initialized\x20in\x20this\x20directory.','settingsPath','\x20(up\x20to\x20date)','plaintext','\x20\x20Not\x20configured','\x20\x20Run:\x20ranger\x20setup\x20[token]\x0a','\x20plugin(s)\x20configured','user','gWKBH','@ranger-testing/opencode-plugin','match','disabled','myegE','data','hasEncryptedAuth','close','\x0a---\x20Profiles\x20---','\x20\x20OpenCode\x20not\x20installed\x20or\x20not\x20available','lwEdD','pCsns','Version:\x20','not_installed','999795ciIgzJ','encrypted','\x20\x20Run:\x20ranger\x20profile\x20add\x20<profile-name>','97aoLKYT','auth.json.enc','\x20\x20Run:\x20ranger\x20profile\x20use\x20<profile-name>\x20\x20(available:\x20','string','configured','API\x20Token:\x20✗\x20Not\x20found','\x20\x20Run:\x20ranger\x20update','wytNO','isDirectory','details','2198080olFsnf','\x20(active)','name','oENQq','map','11730852RwHXLp','join','oqELa','RTIiU','3sBHldg','tmUbv','Organization:\x20','10882pppVtv','\x20\x20Run:\x20ranger\x20setup\x20[token]\x20\x20(includes\x20plugin\x20installation)','status','utf-8','\x0a\x20\x20No\x20active\x20profile\x20set','\x20\x20\x20\x20Auth:\x20','\x0a---\x20Claude\x20Code\x20Plugin\x20---','toString','\x20\x20Run:\x20ranger\x20setup\x20[token]','\x20\x20Not\x20installed','error','qQYbB','mzetZ','ranger@trailhead','filter','\x0a---\x20Skills\x20---','path','length','\x20\x20Run:\x20ranger\x20skillup','dAGsz','9402896KlhORc','ezBHa','\x0a---\x20OpenCode\x20Plugin\x20---','17974150aPrGYV','project','BbXkd','emEoD','Root:\x20','2503692irGwNH','push','includes','FiOJv','hasPlaintextAuth','21nTmijG','trim','ignore','some','log','cwd','SKILL.md','enabled','parse'];_0x3a50=function(){return _0x1bdbdc;};return _0x3a50();}import{getPluginInfo}from'./utils/claudePlugin.js';import{RANGER_MANAGED_SKILLS}from'./utils/skills.js';import{spawn}from'child_process';const bold=_0x452fcb=>'\x1b[1m'+_0x452fcb+'\x1b[0m',link=(_0x4ff34c,_0x346289)=>'\x1b]8;;file://'+_0x4ff34c+'\x07'+(_0x346289||_0x4ff34c)+'\x1b]8;;\x07';async function getOpencodePluginStatus(){const _0x1eec7e=_0x37c5,_0x3f013e={'zdFMs':_0x1eec7e(0x1f3),'KEakM':'configured','oQJKb':function(_0x4f1e5d,_0x3d9857){return _0x4f1e5d>_0x3d9857;},'zbwfa':function(_0x1ff95d,_0x5c3870){return _0x1ff95d(_0x5c3870);},'qQYbB':'not_configured','BbXkd':function(_0x1cf536,_0x38f378,_0x16b90f,_0x160821){return _0x1cf536(_0x38f378,_0x16b90f,_0x160821);},'bdGdQ':'opencode','tmUbv':'config','clWAp':'pipe','hRdzK':_0x1eec7e(0x217)};return new Promise(_0x57343a=>{const _0x167c92=_0x1eec7e,_0x4c5325={'BLZvd':function(_0x5e9332,_0x281952){return _0x5e9332(_0x281952);},'FiOJv':_0x3f013e['zdFMs']},_0x1b4959=_0x3f013e[_0x167c92(0x226)](spawn,_0x3f013e['bdGdQ'],['debug',_0x3f013e[_0x167c92(0x20b)]],{'stdio':[_0x167c92(0x230),_0x3f013e['clWAp'],'pipe']});let _0x5c1169='';_0x1b4959['stdout']?.['on'](_0x167c92(0x1eb),_0x5589ea=>{const _0x328280=_0x167c92;_0x5c1169+=_0x5589ea[_0x328280(0x214)]();}),_0x1b4959[_0x167c92(0x1da)]?.['on']('data',_0x41abae=>{const _0x839a8e=_0x167c92;_0x5c1169+=_0x41abae[_0x839a8e(0x214)]();}),_0x1b4959['on'](_0x3f013e['hRdzK'],()=>{const _0x5e1cb0=_0x167c92;_0x4c5325['BLZvd'](_0x57343a,{'status':_0x4c5325[_0x5e1cb0(0x22c)]});}),_0x1b4959['on'](_0x167c92(0x1ed),_0x20e0b1=>{const _0x32bb05=_0x167c92,_0x57cb9e={'FlHAu':'opencode-plugin'};if(_0x20e0b1!==0x0){_0x57343a({'status':_0x3f013e['zdFMs']});return;}const _0x414339=_0x5c1169[_0x32bb05(0x22f)]();let _0x4e8e47=null;if(_0x414339)try{_0x4e8e47=JSON[_0x32bb05(0x1d8)](_0x414339);}catch{const _0x58d596=_0x414339['match'](/\{[\s\S]*\}$/);if(_0x58d596)try{_0x4e8e47=JSON[_0x32bb05(0x1d8)](_0x58d596[0x0]);}catch{_0x4e8e47=null;}}const _0x168d16=Array['isArray'](_0x4e8e47?.[_0x32bb05(0x1dd)])?_0x4e8e47?.['plugin']:[],_0x54fbe5=_0x168d16[_0x32bb05(0x1d3)](_0x3ae68b=>{const _0x3a0c41=_0x32bb05;if(typeof _0x3ae68b!==_0x3a0c41(0x1fa))return![];return _0x3ae68b[_0x3a0c41(0x22b)]('@ranger-testing/opencode-plugin')||_0x3ae68b['includes'](_0x57cb9e[_0x3a0c41(0x1db)]);});if(_0x54fbe5){_0x57343a({'status':_0x3f013e['KEakM'],'details':_0x168d16['length']>0x0?_0x168d16[_0x32bb05(0x21e)]+_0x32bb05(0x1e4):undefined});return;}if(_0x3f013e['oQJKb'](_0x168d16[_0x32bb05(0x21e)],0x0)){_0x3f013e[_0x32bb05(0x1dc)](_0x57343a,{'status':_0x3f013e[_0x32bb05(0x218)],'details':_0x168d16['length']+_0x32bb05(0x1e4)});return;}_0x57343a({'status':_0x3f013e['qQYbB']});});});}async function getSkillsFromDir(_0x4e6ba0,_0x24132e){const _0x16b6ef=_0x37c5,_0x35101d={'FAqZX':function(_0x5b661e,_0x52773c,_0x19c319){return _0x5b661e(_0x52773c,_0x19c319);},'emEoD':_0x16b6ef(0x1d6),'GmTQp':function(_0x2580d3,_0x448b09){return _0x2580d3(_0x448b09);},'ALUIW':_0x16b6ef(0x210)};if(!existsSync(_0x4e6ba0))return[];const _0x231a92=[];try{const _0x4892a0=await _0x35101d['FAqZX'](readdir,_0x4e6ba0,{'withFileTypes':!![]});for(const _0x2edcf0 of _0x4892a0){if(_0x2edcf0[_0x16b6ef(0x1ff)]()){const _0x24d41d=join(_0x4e6ba0,_0x2edcf0[_0x16b6ef(0x203)],_0x35101d[_0x16b6ef(0x227)]);if(_0x35101d['GmTQp'](existsSync,_0x24d41d)){let _0x16ddea=_0x2edcf0['name'];try{const _0x317ced=await readFile(_0x24d41d,_0x35101d['ALUIW']),_0x4ca668=_0x317ced[_0x16b6ef(0x1e8)](/name:\s*(.+)/);_0x4ca668&&(_0x16ddea=_0x4ca668[0x1]['trim']());}catch{}_0x231a92[_0x16b6ef(0x22a)]({'name':_0x2edcf0[_0x16b6ef(0x203)],'displayName':_0x16ddea,'path':_0x24d41d,'level':_0x24132e});}}}}catch{return[];}return _0x231a92;}async function getInstalledSkills(){const _0x5d2069=_0x37c5,_0x145922={'FGxon':function(_0x3d312b,_0x1fffd5,_0xa88787){return _0x3d312b(_0x1fffd5,_0xa88787);},'ResuV':_0x5d2069(0x225),'oqELa':function(_0x5d9bee){return _0x5d9bee();}},[_0x21b357,_0x905514]=await Promise['all']([_0x145922['FGxon'](getSkillsFromDir,getProjectSkillsDir(),_0x145922['ResuV']),getSkillsFromDir(_0x145922[_0x5d2069(0x208)](getUserSkillsDir),_0x5d2069(0x1e5))]);return{'project':_0x21b357,'user':_0x905514};}async function getEnvironments(){const _0x2daaa9=_0x37c5,_0x438b5c={'dAGsz':function(_0x4be23c,_0x423f63,_0x3e5818){return _0x4be23c(_0x423f63,_0x3e5818);},'LELqk':'auth.json','nBZzz':'(not\x20found)','ezBHa':function(_0x40ac10){return _0x40ac10();},'EnwkB':function(_0x18235f){return _0x18235f();}},{envNames:_0x57f4fe,activeEnv:_0x3e0bd7}=await _0x438b5c[_0x2daaa9(0x222)](getEnvNames),_0x3b489c=_0x438b5c['EnwkB'](getRangerDir);if(!existsSync(_0x3b489c))return{'envs':[],'activeEnv':null};const _0x222ce0=_0x57f4fe['map'](_0x4703d6=>{const _0x68f36f=_0x2daaa9,_0x2b53c2=getEnvDir(_0x4703d6),_0x5e6add=join(_0x2b53c2,'settings.json'),_0x1f55f1=_0x438b5c[_0x68f36f(0x220)](join,_0x2b53c2,_0x438b5c['LELqk']),_0x89a4f5=join(_0x2b53c2,_0x68f36f(0x1f8));return{'name':_0x4703d6,'settingsPath':existsSync(_0x5e6add)?_0x5e6add:_0x438b5c['nBZzz'],'hasPlaintextAuth':existsSync(_0x1f55f1),'hasEncryptedAuth':existsSync(_0x89a4f5),'isActive':_0x4703d6===_0x3e0bd7};});return{'envs':_0x222ce0,'activeEnv':_0x3e0bd7};}function _0x37c5(_0x1a5327,_0x47f8c3){_0x1a5327=_0x1a5327-0x1d3;const _0x3a50db=_0x3a50();let _0x37c581=_0x3a50db[_0x1a5327];return _0x37c581;}export async function status(){const _0x327f24=_0x37c5,_0x41b1d5={'mzetZ':function(_0x2b3f44){return _0x2b3f44();},'wytNO':function(_0x2071a1,_0x116fc7){return _0x2071a1(_0x116fc7);},'dGOKj':function(_0x58ced4,_0x4fe732,_0x4dc6d0){return _0x58ced4(_0x4fe732,_0x4dc6d0);},'lwEdD':function(_0x433499,_0x2150a1){return _0x433499(_0x2150a1);},'pCsns':function(_0x4e5f71,_0x52ccc0){return _0x4e5f71===_0x52ccc0;},'YGOwj':_0x327f24(0x1fb),'kmnma':_0x327f24(0x1e2),'oENQq':'\x20\x20Run:\x20ranger\x20setup\x20--opencode','kdIFN':'ranger@trailhead','UAlXo':'unknown','uRNAz':_0x327f24(0x1e9),'RTIiU':function(_0x10b5c5,_0x48f533){return _0x10b5c5(_0x48f533);},'myegE':function(_0x522fa3){return _0x522fa3();},'rxGnz':function(_0x446417,_0x5aea8f){return _0x446417>_0x5aea8f;},'VudzM':'\x20\x20Project-level:','cSXIk':function(_0x49a660,_0x1eed77){return _0x49a660(_0x1eed77);},'gWKBH':function(_0x1079e9,_0x5cf078,_0xa09b5f){return _0x1079e9(_0x5cf078,_0xa09b5f);},'pydOh':_0x327f24(0x202),'OaaNw':_0x327f24(0x1e1),'raeYY':'none'};console[_0x327f24(0x1d4)]('\x0a📊\x20Ranger\x20Status\x0a');const _0x32c432=process[_0x327f24(0x1d5)](),_0x3979ef=_0x41b1d5['mzetZ'](getRangerDir);if(!existsSync(_0x3979ef)){console[_0x327f24(0x1d4)]('Root:\x20'+link(_0x32c432,bold(_0x41b1d5['wytNO'](basename,_0x32c432)))),console['log'](_0x327f24(0x1de)),console['log'](_0x327f24(0x1e3));return;}console['log'](_0x327f24(0x228)+_0x41b1d5['dGOKj'](link,_0x32c432,_0x41b1d5[_0x327f24(0x1fe)](bold,_0x41b1d5[_0x327f24(0x1f0)](basename,_0x32c432))));const _0x4c8f34=_0x41b1d5[_0x327f24(0x219)](getCurrentVersion),_0x3c6b2e=getLatestVersion();if(_0x3c6b2e[_0x327f24(0x1d9)]&&_0x3c6b2e['version']!==_0x4c8f34)console[_0x327f24(0x1d4)](_0x327f24(0x1f2)+_0x4c8f34+'\x20(latest:\x20'+_0x3c6b2e['version']+')'),console[_0x327f24(0x1d4)](_0x327f24(0x1fd));else _0x3c6b2e['version']?console['log'](_0x327f24(0x1f2)+_0x4c8f34+_0x327f24(0x1e0)):console['log']('Version:\x20'+_0x4c8f34);const _0x23d463=await getToken();if(_0x23d463){const _0x4b664f=await getCurrentUser(_0x23d463);_0x4b664f['success']?console['log'](_0x327f24(0x20c)+bold(_0x4b664f['user']['organizationName'])):(console['log']('API\x20Token:\x20✓\x20Found\x20but\x20invalid\x20or\x20expired'),console[_0x327f24(0x1d4)]('\x20\x20Run:\x20ranger\x20setup\x20[token]'));}else console['log'](_0x327f24(0x1fc)),console['log'](_0x327f24(0x215));process['env']['DEBUG']&&(console['log']('API\x20Environment:\x20'+getCurrentEnvironment()),console['log']('API\x20URL:\x20'+getApiBaseUrl()));console['log'](_0x327f24(0x223));const _0x357bfd=await getOpencodePluginStatus();if(_0x41b1d5[_0x327f24(0x1f1)](_0x357bfd[_0x327f24(0x20f)],_0x41b1d5['YGOwj']))console[_0x327f24(0x1d4)]('\x20\x20'+bold(_0x327f24(0x1e7))+':\x20configured'),_0x357bfd[_0x327f24(0x200)]&&console[_0x327f24(0x1d4)]('\x20\x20'+_0x357bfd['details']);else _0x41b1d5['pCsns'](_0x357bfd['status'],'not_configured')?(console['log'](_0x41b1d5['kmnma']),_0x357bfd[_0x327f24(0x200)]&&console[_0x327f24(0x1d4)]('\x20\x20'+_0x357bfd['details']),console['log'](_0x41b1d5[_0x327f24(0x204)])):console[_0x327f24(0x1d4)](_0x327f24(0x1ef));console[_0x327f24(0x1d4)](_0x327f24(0x213));const _0x567c79=await getPluginInfo(_0x41b1d5['kdIFN']);if(_0x567c79){const _0xa5748f=_0x567c79['scope']||_0x41b1d5['UAlXo'],_0x112d2a=_0x567c79[_0x327f24(0x1d7)]?'enabled':_0x41b1d5['uRNAz'];console['log']('\x20\x20'+_0x41b1d5[_0x327f24(0x209)](bold,_0x327f24(0x21a))+':\x20installed\x20('+_0xa5748f+',\x20'+_0x112d2a+')');}else console[_0x327f24(0x1d4)](_0x327f24(0x216)),console['log'](_0x327f24(0x20e));console['log'](_0x327f24(0x21c));const {project:_0x527f95,user:_0xb6eacb}=await _0x41b1d5[_0x327f24(0x1ea)](getInstalledSkills),_0x176392=_0x527f95['filter'](_0x130141=>RANGER_MANAGED_SKILLS[_0x327f24(0x22b)](_0x130141['name'])),_0x1b2c20=_0xb6eacb[_0x327f24(0x21b)](_0xd1959c=>RANGER_MANAGED_SKILLS[_0x327f24(0x22b)](_0xd1959c[_0x327f24(0x203)])),_0xd70cd3=_0x176392[_0x327f24(0x21e)]+_0x1b2c20['length'];if(_0xd70cd3===0x0)console['log']('No\x20skills\x20installed'),console[_0x327f24(0x1d4)](_0x327f24(0x21f));else{if(_0x41b1d5['rxGnz'](_0x176392['length'],0x0)){console[_0x327f24(0x1d4)](_0x41b1d5['VudzM']);for(const _0x2ea72b of _0x176392){console['log']('\x20\x20\x20\x20'+_0x41b1d5['cSXIk'](bold,_0x2ea72b['displayName'])+':\x20'+link(_0x2ea72b['path'],_0x41b1d5[_0x327f24(0x209)](basename,_0x2ea72b[_0x327f24(0x21d)])));}}if(_0x1b2c20['length']>0x0){console['log']('\x20\x20User-level:');for(const _0x209bdd of _0x1b2c20){console['log']('\x20\x20\x20\x20'+bold(_0x209bdd['displayName'])+':\x20'+_0x41b1d5[_0x327f24(0x1e6)](link,_0x209bdd['path'],basename(_0x209bdd['path'])));}}}console['log'](_0x327f24(0x1ee));const {envs:_0x1fdecc,activeEnv:_0x3d5bf7}=await getEnvironments();if(_0x41b1d5[_0x327f24(0x1f1)](_0x1fdecc[_0x327f24(0x21e)],0x0))console['log']('No\x20profiles\x20configured'),console['log'](_0x327f24(0x1f6));else{for(const _0x2ae0c3 of _0x1fdecc){const _0x2529e7=_0x2ae0c3['isActive']?_0x41b1d5['pydOh']:'',_0x4dce2f=_0x2ae0c3[_0x327f24(0x1ec)]?_0x327f24(0x1f5):_0x2ae0c3[_0x327f24(0x22d)]?_0x41b1d5['OaaNw']:_0x41b1d5['raeYY'];console['log']('\x20\x20'+bold(_0x2ae0c3['name'])+_0x2529e7),console[_0x327f24(0x1d4)](_0x327f24(0x212)+_0x4dce2f),_0x2ae0c3[_0x327f24(0x1df)]!=='(not\x20found)'&&console['log']('\x20\x20\x20\x20Settings:\x20'+link(_0x2ae0c3[_0x327f24(0x1df)],basename(_0x2ae0c3[_0x327f24(0x1df)])));}!_0x3d5bf7&&(console[_0x327f24(0x1d4)](_0x327f24(0x211)),console['log'](_0x327f24(0x1f9)+_0x1fdecc[_0x327f24(0x205)](_0x439628=>_0x439628[_0x327f24(0x203)])[_0x327f24(0x207)](',\x20')+')'));}console[_0x327f24(0x1d4)]('');}
1
+ const _0x453ebe=_0x4aca;(function(_0x3a5527,_0x1d1e62){const _0x5cc3ee=_0x4aca,_0x323db9=_0x3a5527();while(!![]){try{const _0x4e77a6=parseInt(_0x5cc3ee(0xbb))/0x1+parseInt(_0x5cc3ee(0x107))/0x2+-parseInt(_0x5cc3ee(0xdd))/0x3+parseInt(_0x5cc3ee(0x101))/0x4+parseInt(_0x5cc3ee(0xd3))/0x5+parseInt(_0x5cc3ee(0xd9))/0x6*(-parseInt(_0x5cc3ee(0xc4))/0x7)+parseInt(_0x5cc3ee(0xcd))/0x8*(-parseInt(_0x5cc3ee(0xe9))/0x9);if(_0x4e77a6===_0x1d1e62)break;else _0x323db9['push'](_0x323db9['shift']());}catch(_0x22c75b){_0x323db9['push'](_0x323db9['shift']());}}}(_0x2f59,0xf04b2));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';function _0x2f59(){const _0x2371ec=['trim','zYEfR','unknown','yNBiV','toString','\x20(up\x20to\x20date)','nFwOZ','RBSlL','settingsPath','log','\x1b]8;;file://','No\x20skills\x20installed','(not\x20found)','\x20\x20Not\x20installed','nctLs','pipe','1084080OsAlCu','cHIYO','qEiEg','Root:\x20','name','opencode-plugin','rsAOz','UAbRN','DEBUG','7ApgGKh','length','\x20\x20\x20\x20','\x20(latest:\x20','@ranger-testing/opencode-plugin','\x20\x20Run:\x20ranger\x20setup\x20[token]\x0a','\x20\x20Run:\x20ranger\x20profile\x20use\x20<profile-name>\x20\x20(available:\x20','project','map','5352352osredb','cARit','scope','API\x20Token:\x20✓\x20Found\x20but\x20invalid\x20or\x20expired','\x20\x20\x20\x20Settings:\x20','BUOAM','2441460mMyPMS','mYmfT','NnZbA','sIVRu','version','enabled','10667550Fzhyql','status','\x0a📊\x20Ranger\x20Status\x0a','displayName','4327206umyFhO','includes',':\x20installed\x20(','QBhHZ','isDirectory','\x0a---\x20Skills\x20---','opencode','jRiIj','\x20\x20Run:\x20ranger\x20setup\x20[token]','\x0a---\x20Claude\x20Code\x20Plugin\x20---','some','data','9doetkp','uaFli','SwhuC','details','zmynt','parse','pqwaI','string','YzkSz','ztUrK','error','hasPlaintextAuth','heklD','not_configured','DsvnW','ObaEU','KngBs','disabled','\x20\x20Not\x20configured','settings.json','path','SKILL.md','\x20\x20Project-level:','API\x20Token:\x20✗\x20Not\x20found','7558428jkTPJr','ranger@trailhead','yvNVw','\x20\x20Run:\x20ranger\x20setup\x20[token]\x20\x20(includes\x20plugin\x20installation)','WCwUF','stdout','2823268gbtWsV','auth.json','dLgkl','configured','Version:\x20'];_0x2f59=function(){return _0x2371ec;};return _0x2f59();}import{getApiBaseUrl,getCurrentEnvironment}from'./utils/environment.js';import{getProjectSkillsDir,getUserSkillsDir}from'./utils/claudeConfig.js';function _0x4aca(_0x57adf9,_0x464992){_0x57adf9=_0x57adf9-0xad;const _0x2f593e=_0x2f59();let _0x4acae6=_0x2f593e[_0x57adf9];return _0x4acae6;}import{getEnvNames}from'./env.js';import{getCurrentUser}from'./utils/userApi.js';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=_0x39c9b9=>'\x1b[1m'+_0x39c9b9+'\x1b[0m',link=(_0x2d9dc8,_0x56d9f5)=>_0x453ebe(0xb5)+_0x2d9dc8+'\x07'+(_0x56d9f5||_0x2d9dc8)+'\x1b]8;;\x07';async function getOpencodePluginStatus(){const _0x55e3e4=_0x453ebe,_0x1303aa={'jRiIj':function(_0x580063,_0x7c05bb){return _0x580063(_0x7c05bb);},'pQkvb':'not_installed','UAbRN':_0x55e3e4(0x10a),'BuXNE':'@ranger-testing/opencode-plugin','zmynt':'debug','rsAOz':'config','gePsV':'pipe','zYEfR':'data','XmsbV':_0x55e3e4(0xf3)};return new Promise(_0x50b342=>{const _0x372b47=_0x55e3e4,_0x5db70f={'tEPFN':_0x1303aa['BuXNE']},_0x47d5c0=spawn(_0x372b47(0xe3),[_0x1303aa[_0x372b47(0xed)],_0x1303aa[_0x372b47(0xc1)]],{'stdio':['ignore',_0x372b47(0xba),_0x1303aa['gePsV']]});let _0x50314d='';_0x47d5c0[_0x372b47(0x106)]?.['on'](_0x372b47(0xe8),_0x16d7b8=>{const _0x3e9cd4=_0x372b47;_0x50314d+=_0x16d7b8[_0x3e9cd4(0xaf)]();}),_0x47d5c0['stderr']?.['on'](_0x1303aa[_0x372b47(0x10d)],_0x1d9369=>{const _0x4cac60=_0x372b47;_0x50314d+=_0x1d9369[_0x4cac60(0xaf)]();}),_0x47d5c0['on'](_0x1303aa['XmsbV'],()=>{_0x50b342({'status':'not_installed'});}),_0x47d5c0['on']('close',_0xd16955=>{const _0x113a9b=_0x372b47;if(_0xd16955!==0x0){_0x1303aa[_0x113a9b(0xe4)](_0x50b342,{'status':_0x1303aa['pQkvb']});return;}const _0x1fd650=_0x50314d[_0x113a9b(0x10c)]();let _0x230953=null;if(_0x1fd650)try{_0x230953=JSON[_0x113a9b(0xee)](_0x1fd650);}catch{const _0x290486=_0x1fd650['match'](/\{[\s\S]*\}$/);if(_0x290486)try{_0x230953=JSON['parse'](_0x290486[0x0]);}catch{_0x230953=null;}}const _0x41417f=Array['isArray'](_0x230953?.['plugin'])?_0x230953?.['plugin']:[],_0x5ef006=_0x41417f[_0x113a9b(0xe7)](_0x5a0946=>{const _0x46c6c6=_0x113a9b;if(typeof _0x5a0946!==_0x46c6c6(0xf0))return![];return _0x5a0946[_0x46c6c6(0xde)](_0x5db70f['tEPFN'])||_0x5a0946[_0x46c6c6(0xde)](_0x46c6c6(0xc0));});if(_0x5ef006){_0x1303aa['jRiIj'](_0x50b342,{'status':_0x1303aa[_0x113a9b(0xc2)],'details':_0x41417f[_0x113a9b(0xc5)]>0x0?_0x41417f['length']+'\x20plugin(s)\x20configured':undefined});return;}if(_0x41417f[_0x113a9b(0xc5)]>0x0){_0x50b342({'status':_0x113a9b(0xf6),'details':_0x41417f[_0x113a9b(0xc5)]+'\x20plugin(s)\x20configured'});return;}_0x1303aa['jRiIj'](_0x50b342,{'status':'not_configured'});});});}async function getSkillsFromDir(_0xdc7fe5,_0x1a53b6){const _0x50a75c=_0x453ebe,_0x5d393b={'BUOAM':function(_0x5459db,_0x9c3bc5,_0x1687c8){return _0x5459db(_0x9c3bc5,_0x1687c8);},'ObaEU':function(_0x492722,_0x1867e6,_0x34bdae,_0x420a94){return _0x492722(_0x1867e6,_0x34bdae,_0x420a94);}};if(!existsSync(_0xdc7fe5))return[];const _0xe6ca40=[];try{const _0x5e37d8=await _0x5d393b[_0x50a75c(0xd2)](readdir,_0xdc7fe5,{'withFileTypes':!![]});for(const _0x22c3ba of _0x5e37d8){if(_0x22c3ba[_0x50a75c(0xe1)]()){const _0x306274=_0x5d393b[_0x50a75c(0xf8)](join,_0xdc7fe5,_0x22c3ba['name'],_0x50a75c(0xfe));if(existsSync(_0x306274)){let _0x51737d=_0x22c3ba['name'];try{const _0x21d7b7=await readFile(_0x306274,'utf-8'),_0x4a37c2=_0x21d7b7['match'](/name:\s*(.+)/);_0x4a37c2&&(_0x51737d=_0x4a37c2[0x1]['trim']());}catch{}_0xe6ca40['push']({'name':_0x22c3ba[_0x50a75c(0xbf)],'displayName':_0x51737d,'path':_0x306274,'level':_0x1a53b6});}}}}catch{return[];}return _0xe6ca40;}async function getInstalledSkills(){const _0x37f52e=_0x453ebe,_0x24fb8a={'yvNVw':function(_0x4769b3){return _0x4769b3();},'iaWmr':function(_0x31bfff,_0x280b5f,_0x28325c){return _0x31bfff(_0x280b5f,_0x28325c);},'WCwUF':'user'},[_0x4fc26f,_0x13870e]=await Promise['all']([getSkillsFromDir(_0x24fb8a[_0x37f52e(0x103)](getProjectSkillsDir),_0x37f52e(0xcb)),_0x24fb8a['iaWmr'](getSkillsFromDir,_0x24fb8a['yvNVw'](getUserSkillsDir),_0x24fb8a[_0x37f52e(0x105)])]);return{'project':_0x4fc26f,'user':_0x13870e};}async function getEnvironments(){const _0x2913b4=_0x453ebe,_0x1591a0={'cARit':function(_0x4c10ed,_0x424f7c,_0x1a2b18){return _0x4c10ed(_0x424f7c,_0x1a2b18);},'ztUrK':'auth.json.enc','BbREL':'(not\x20found)','KngBs':function(_0x3dae6b,_0x59bb78){return _0x3dae6b(_0x59bb78);},'RBSlL':function(_0x253f24,_0xcba3d8){return _0x253f24===_0xcba3d8;},'qEiEg':function(_0x5146b7){return _0x5146b7();},'zalWp':function(_0x1021ff,_0x242cc5){return _0x1021ff(_0x242cc5);}},{envNames:_0x28a877,activeEnv:_0x423964}=await _0x1591a0[_0x2913b4(0xbd)](getEnvNames),_0x51c7e9=_0x1591a0['qEiEg'](getRangerDir);if(!_0x1591a0['zalWp'](existsSync,_0x51c7e9))return{'envs':[],'activeEnv':null};const _0x4ddb4e=_0x28a877['map'](_0x4b50e0=>{const _0x3d9c6b=_0x2913b4,_0xd56ea8=getEnvDir(_0x4b50e0),_0x3b6f2f=join(_0xd56ea8,_0x3d9c6b(0xfc)),_0x413822=_0x1591a0[_0x3d9c6b(0xce)](join,_0xd56ea8,_0x3d9c6b(0x108)),_0x221e18=_0x1591a0[_0x3d9c6b(0xce)](join,_0xd56ea8,_0x1591a0[_0x3d9c6b(0xf2)]);return{'name':_0x4b50e0,'settingsPath':existsSync(_0x3b6f2f)?_0x3b6f2f:_0x1591a0['BbREL'],'hasPlaintextAuth':_0x1591a0[_0x3d9c6b(0xf9)](existsSync,_0x413822),'hasEncryptedAuth':_0x1591a0[_0x3d9c6b(0xf9)](existsSync,_0x221e18),'isActive':_0x1591a0[_0x3d9c6b(0xb2)](_0x4b50e0,_0x423964)};});return{'envs':_0x4ddb4e,'activeEnv':_0x423964};}export async function status(){const _0x565cd3=_0x453ebe,_0x33cec9={'heklD':function(_0x3ad9c1,_0x13832b){return _0x3ad9c1(_0x13832b);},'QBhHZ':function(_0x535d3c,_0x3e05e0,_0x17276a){return _0x535d3c(_0x3e05e0,_0x17276a);},'nFwOZ':function(_0x34db12){return _0x34db12();},'mXvvq':function(_0x3e053a){return _0x3e053a();},'yNBiV':function(_0x4f7df2){return _0x4f7df2();},'uaFli':'\x0a---\x20OpenCode\x20Plugin\x20---','mYmfT':function(_0xd92116,_0x4fe7f9){return _0xd92116===_0x4fe7f9;},'YzkSz':'configured','xrkEn':'\x20\x20OpenCode\x20not\x20installed\x20or\x20not\x20available','dLgkl':_0x565cd3(0x102),'nctLs':_0x565cd3(0xfa),'hWALT':_0x565cd3(0xb6),'SwhuC':function(_0x349fb2,_0x201f41,_0x549435){return _0x349fb2(_0x201f41,_0x549435);},'cHIYO':'No\x20profiles\x20configured','bxvwB':'\x20(active)','NnZbA':'encrypted','pqwaI':'plaintext','DsvnW':function(_0x2375db,_0x30d52c){return _0x2375db(_0x30d52c);},'sIVRu':function(_0x47c46e,_0x12127b){return _0x47c46e!==_0x12127b;}};console['log'](_0x565cd3(0xdb));const _0x20b277=process['cwd'](),_0x1f7a1b=getRangerDir();if(!existsSync(_0x1f7a1b)){console['log'](_0x565cd3(0xbe)+link(_0x20b277,_0x33cec9[_0x565cd3(0xf5)](bold,basename(_0x20b277)))),console[_0x565cd3(0xb4)]('\x0aRanger\x20has\x20not\x20been\x20initialized\x20in\x20this\x20directory.'),console['log'](_0x565cd3(0xc9));return;}console[_0x565cd3(0xb4)](_0x565cd3(0xbe)+_0x33cec9[_0x565cd3(0xe0)](link,_0x20b277,_0x33cec9[_0x565cd3(0xf5)](bold,_0x33cec9['heklD'](basename,_0x20b277))));const _0x106bb6=getCurrentVersion(),_0x50a8e1=_0x33cec9[_0x565cd3(0xb1)](getLatestVersion);if(_0x50a8e1[_0x565cd3(0xd7)]&&_0x50a8e1['version']!==_0x106bb6)console[_0x565cd3(0xb4)](_0x565cd3(0x10b)+_0x106bb6+_0x565cd3(0xc7)+_0x50a8e1[_0x565cd3(0xd7)]+')'),console[_0x565cd3(0xb4)]('\x20\x20Run:\x20ranger\x20update');else _0x50a8e1[_0x565cd3(0xd7)]?console[_0x565cd3(0xb4)]('Version:\x20'+_0x106bb6+_0x565cd3(0xb0)):console['log'](_0x565cd3(0x10b)+_0x106bb6);const _0x100044=await getToken();if(_0x100044){const _0x129765=await _0x33cec9[_0x565cd3(0xf5)](getCurrentUser,_0x100044);_0x129765['success']?console[_0x565cd3(0xb4)]('Organization:\x20'+_0x33cec9[_0x565cd3(0xf5)](bold,_0x129765['user']['organizationName'])):(console['log'](_0x565cd3(0xd0)),console['log'](_0x565cd3(0xe5)));}else console['log'](_0x565cd3(0x100)),console['log']('\x20\x20Run:\x20ranger\x20setup\x20[token]');process['env'][_0x565cd3(0xc3)]&&(console[_0x565cd3(0xb4)]('API\x20Environment:\x20'+_0x33cec9['mXvvq'](getCurrentEnvironment)),console['log']('API\x20URL:\x20'+_0x33cec9[_0x565cd3(0xae)](getApiBaseUrl)));console[_0x565cd3(0xb4)](_0x33cec9[_0x565cd3(0xea)]);const _0x312807=await getOpencodePluginStatus();if(_0x33cec9['mYmfT'](_0x312807[_0x565cd3(0xda)],_0x33cec9[_0x565cd3(0xf1)]))console[_0x565cd3(0xb4)]('\x20\x20'+_0x33cec9['heklD'](bold,_0x565cd3(0xc8))+':\x20configured'),_0x312807[_0x565cd3(0xec)]&&console[_0x565cd3(0xb4)]('\x20\x20'+_0x312807[_0x565cd3(0xec)]);else _0x33cec9[_0x565cd3(0xd4)](_0x312807['status'],'not_configured')?(console['log'](_0x565cd3(0xfb)),_0x312807[_0x565cd3(0xec)]&&console['log']('\x20\x20'+_0x312807['details']),console[_0x565cd3(0xb4)]('\x20\x20Run:\x20ranger\x20setup\x20--opencode')):console[_0x565cd3(0xb4)](_0x33cec9['xrkEn']);console['log'](_0x565cd3(0xe6));const _0x49ef6d=await getPluginInfo(_0x33cec9[_0x565cd3(0x109)]);if(_0x49ef6d){const _0x23af4a=_0x49ef6d[_0x565cd3(0xcf)]||_0x565cd3(0xad),_0x379936=_0x49ef6d[_0x565cd3(0xd8)]?_0x565cd3(0xd8):_0x33cec9[_0x565cd3(0xb9)];console['log']('\x20\x20'+bold(_0x33cec9[_0x565cd3(0x109)])+_0x565cd3(0xdf)+_0x23af4a+',\x20'+_0x379936+')');}else console['log'](_0x565cd3(0xb8)),console['log'](_0x565cd3(0x104));console['log'](_0x565cd3(0xe2));const {project:_0x3e351f,user:_0xf5dce1}=await _0x33cec9[_0x565cd3(0xb1)](getInstalledSkills),_0x3c4fa3=_0x3e351f['filter'](_0x42deb3=>RANGER_MANAGED_SKILLS[_0x565cd3(0xde)](_0x42deb3['name'])),_0x2a1454=_0xf5dce1['filter'](_0xbdf40=>RANGER_MANAGED_SKILLS['includes'](_0xbdf40[_0x565cd3(0xbf)])),_0x1e06e3=_0x3c4fa3[_0x565cd3(0xc5)]+_0x2a1454[_0x565cd3(0xc5)];if(_0x33cec9[_0x565cd3(0xd4)](_0x1e06e3,0x0))console[_0x565cd3(0xb4)](_0x33cec9['hWALT']),console[_0x565cd3(0xb4)]('\x20\x20Run:\x20ranger\x20skillup');else{if(_0x3c4fa3['length']>0x0){console['log'](_0x565cd3(0xff));for(const _0x5d0eda of _0x3c4fa3){console[_0x565cd3(0xb4)](_0x565cd3(0xc6)+bold(_0x5d0eda[_0x565cd3(0xdc)])+':\x20'+link(_0x5d0eda['path'],_0x33cec9['heklD'](basename,_0x5d0eda[_0x565cd3(0xfd)])));}}if(_0x2a1454['length']>0x0){console[_0x565cd3(0xb4)]('\x20\x20User-level:');for(const _0x1b9944 of _0x2a1454){console[_0x565cd3(0xb4)]('\x20\x20\x20\x20'+_0x33cec9[_0x565cd3(0xf5)](bold,_0x1b9944[_0x565cd3(0xdc)])+':\x20'+_0x33cec9[_0x565cd3(0xeb)](link,_0x1b9944[_0x565cd3(0xfd)],_0x33cec9['heklD'](basename,_0x1b9944['path'])));}}}console['log']('\x0a---\x20Profiles\x20---');const {envs:_0x1965b8,activeEnv:_0x42b65e}=await _0x33cec9[_0x565cd3(0xae)](getEnvironments);if(_0x1965b8['length']===0x0)console[_0x565cd3(0xb4)](_0x33cec9[_0x565cd3(0xbc)]),console[_0x565cd3(0xb4)]('\x20\x20Run:\x20ranger\x20profile\x20add\x20<profile-name>');else{for(const _0x3b2d64 of _0x1965b8){const _0x155a78=_0x3b2d64['isActive']?_0x33cec9['bxvwB']:'',_0x438156=_0x3b2d64['hasEncryptedAuth']?_0x33cec9[_0x565cd3(0xd5)]:_0x3b2d64[_0x565cd3(0xf4)]?_0x33cec9[_0x565cd3(0xef)]:'none';console[_0x565cd3(0xb4)]('\x20\x20'+_0x33cec9[_0x565cd3(0xf7)](bold,_0x3b2d64[_0x565cd3(0xbf)])+_0x155a78),console['log']('\x20\x20\x20\x20Auth:\x20'+_0x438156),_0x33cec9[_0x565cd3(0xd6)](_0x3b2d64['settingsPath'],_0x565cd3(0xb7))&&console[_0x565cd3(0xb4)](_0x565cd3(0xd1)+link(_0x3b2d64[_0x565cd3(0xb3)],_0x33cec9['heklD'](basename,_0x3b2d64['settingsPath'])));}!_0x42b65e&&(console[_0x565cd3(0xb4)]('\x0a\x20\x20No\x20active\x20profile\x20set'),console['log'](_0x565cd3(0xca)+_0x1965b8[_0x565cd3(0xcc)](_0x233e93=>_0x233e93[_0x565cd3(0xbf)])['join'](',\x20')+')'));}console[_0x565cd3(0xb4)]('');}
@@ -1 +1 @@
1
- (function(_0x317fa6,_0x3b5bf0){const _0xf29dcc=_0x2217,_0x2354cd=_0x317fa6();while(!![]){try{const _0x56914f=-parseInt(_0xf29dcc(0x1e6))/0x1*(parseInt(_0xf29dcc(0x1c0))/0x2)+parseInt(_0xf29dcc(0x1c5))/0x3+parseInt(_0xf29dcc(0x1a6))/0x4*(parseInt(_0xf29dcc(0x1c6))/0x5)+parseInt(_0xf29dcc(0x1d7))/0x6*(-parseInt(_0xf29dcc(0x198))/0x7)+-parseInt(_0xf29dcc(0x1a5))/0x8*(parseInt(_0xf29dcc(0x19c))/0x9)+parseInt(_0xf29dcc(0x1bb))/0xa*(-parseInt(_0xf29dcc(0x1da))/0xb)+parseInt(_0xf29dcc(0x19d))/0xc;if(_0x56914f===_0x3b5bf0)break;else _0x2354cd['push'](_0x2354cd['shift']());}catch(_0x1185c8){_0x2354cd['push'](_0x2354cd['shift']());}}}(_0x53da,0xd8240));import{spawn}from'child_process';function _0x2217(_0x27a8fc,_0x2bb880){_0x27a8fc=_0x27a8fc-0x198;const _0x53da10=_0x53da();let _0x221783=_0x53da10[_0x27a8fc];return _0x221783;}import{existsSync}from'fs';import{readFile,writeFile}from'fs/promises';function _0x53da(){const _0x962ee0=['\x0a✅\x20Update\x20complete!','.gitignore','ignore','gGSUo','ulGbc','splice','npm','error','\x0aSuccessfully\x20installed\x20latest\x20version.','--scope','@latest','qPjCi','version','590AePwfx','vjsdY','log','rkyee','close','426526AjETmz','\x0aYour\x20version\x20(','\x0aCurrent\x20version:\x20','GXmBn','PqkiM','2655186UeMuJF','443175LJpXeL','TaWNW','sAzvF','kMevY','MqCjo','xXYvI',')\x20is\x20newer\x20than\x20the\x20published\x20version\x20(','\x20\x20Failed\x20to\x20reinstall\x20','ranger@trailhead','ZbGEv','inherit','CmJjM','claude','kill','wLLcp','trim','XmOuJ','2334ppWgFr','TqZLH','user','313489TKxTqh','project','Sgzbu','win32','VKyMo','Claude\x20marketplace\x20update\x20command\x20failed\x20(timed\x20out,\x20failed\x20to\x20start,\x20or\x20exited\x20with\x20a\x20non-zero\x20status).','join','plugin','active-feature.txt','findIndex','yayaM','opencode','2fTsWcL','29281wkpwkZ','utf-8','\x0aNo\x20ranger-managed\x20skills\x20found\x20to\x20reinstall.','BydvJ','369wmMoex','48216456pmQMzz','update','icmRR','\x0aInstalling\x20','platform','\x0aClaude\x20plugin\x20updated\x20(project\x20scope).','GaXrq','marketplace','107032hsMluI','12Acehnd','✓\x20Migrated\x20active\x20profile\x20file','XaYzO','Vantm','ZxogX','push','jtXZC','\x0aCould\x20not\x20check\x20latest\x20version:\x20'];_0x53da=function(){return _0x962ee0;};return _0x53da();}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(_0x250f97,_0x15db6c,_0x23b549){const _0x34ce7f={'icmRR':function(_0x3bf76f,_0x2fe408){return _0x3bf76f(_0x2fe408);},'IZSdf':function(_0x2c505a,_0xd6294f){return _0x2c505a===_0xd6294f;},'yayaM':function(_0x194779,_0x2cd4d4){return _0x194779(_0x2cd4d4);},'QNimZ':function(_0x4ce6b5,_0x5c5f85,_0x40c431,_0x369494){return _0x4ce6b5(_0x5c5f85,_0x40c431,_0x369494);},'NqIIs':'inherit'};return new Promise(_0x5b67d1=>{const _0x5255f1=_0x2217,_0x3d5c05={'ulGbc':function(_0xa28d01,_0x402d3d){const _0x4c9923=_0x2217;return _0x34ce7f[_0x4c9923(0x1e4)](_0xa28d01,_0x402d3d);}};let _0x10111e=![],_0x348f4a;const _0x5eddde=_0x2b1f9e=>{const _0x39c4fe=_0x2217;if(_0x10111e)return;_0x10111e=!![],_0x348f4a&&clearTimeout(_0x348f4a),_0x34ce7f[_0x39c4fe(0x19f)](_0x5b67d1,_0x2b1f9e);},_0x27cc56=_0x34ce7f['QNimZ'](spawn,_0x250f97,_0x15db6c,{'stdio':[_0x5255f1(0x1b0),_0x23b549?.['stdio']??'inherit',_0x23b549?.['stdio']??_0x34ce7f['NqIIs']],'shell':process[_0x5255f1(0x1a1)]==='win32'});_0x348f4a=_0x23b549?.['timeoutMs']?setTimeout(()=>{const _0x45e1fd=_0x5255f1;_0x27cc56[_0x45e1fd(0x1d3)](),_0x27cc56['unref'](),_0x3d5c05[_0x45e1fd(0x1b2)](_0x5eddde,![]);},_0x23b549['timeoutMs']):undefined,_0x27cc56['on'](_0x5255f1(0x1bf),_0x4feb24=>{_0x5eddde(_0x34ce7f['IZSdf'](_0x4feb24,0x0));}),_0x27cc56['on']('error',()=>{_0x3d5c05['ulGbc'](_0x5eddde,![]);});});}async function runInstall(){const _0x44f70f=_0x2217,_0x2a82fb={'WcqoO':function(_0x501259,_0x419cf7){return _0x501259===_0x419cf7;},'IaMem':function(_0x5427ae,_0x380467,_0x4f31dd,_0x359a2f){return _0x5427ae(_0x380467,_0x4f31dd,_0x359a2f);},'jtXZC':_0x44f70f(0x1b4),'fgPEK':'ignore','rkyee':_0x44f70f(0x1d0),'GaXrq':function(_0x18fd66,_0x1f293d){return _0x18fd66===_0x1f293d;},'vjsdY':_0x44f70f(0x1dd),'tUiaB':'close'};return new Promise(_0x4abb5e=>{const _0x27c00a=_0x44f70f,_0x3d55eb={'qPjCi':function(_0x1ecc71,_0x2f7c3f){return _0x1ecc71(_0x2f7c3f);}};console[_0x27c00a(0x1bd)](_0x27c00a(0x1a0)+PACKAGE_NAME+'@latest...\x0a');const _0x29fb5c=_0x2a82fb['IaMem'](spawn,_0x2a82fb[_0x27c00a(0x1ac)],['install','-g',PACKAGE_NAME+_0x27c00a(0x1b8)],{'stdio':[_0x2a82fb['fgPEK'],_0x2a82fb[_0x27c00a(0x1be)],_0x2a82fb[_0x27c00a(0x1be)]],'shell':_0x2a82fb[_0x27c00a(0x1a3)](process[_0x27c00a(0x1a1)],_0x2a82fb[_0x27c00a(0x1bc)])});_0x29fb5c['on'](_0x2a82fb['tUiaB'],_0x338af3=>{_0x4abb5e(_0x2a82fb['WcqoO'](_0x338af3,0x0));}),_0x29fb5c['on'](_0x27c00a(0x1b5),()=>{const _0x56c51a=_0x27c00a;_0x3d55eb[_0x56c51a(0x1b9)](_0x4abb5e,![]);});});}async function updateClaudeMarketplace(){const _0x220c86=_0x2217,_0x1e0979={'MqCjo':_0x220c86(0x1d2),'xXYvI':_0x220c86(0x1e1),'oSlQF':_0x220c86(0x19e),'eXcCA':'trailhead'},_0x83296e=await runCommand(_0x1e0979[_0x220c86(0x1ca)],[_0x1e0979[_0x220c86(0x1cb)],_0x220c86(0x1a4),_0x1e0979['oSlQF'],_0x1e0979['eXcCA']],{'timeoutMs':CLAUDE_COMMAND_TIMEOUT_MS});if(!_0x83296e)throw new Error(_0x220c86(0x1df));}async function updateClaudePlugin(_0x44e102){const _0x420366=_0x2217,_0x1dcc99={'UWJGn':_0x420366(0x1e1),'MrPve':_0x420366(0x19e),'pZTxQ':_0x420366(0x1b7),'BydvJ':function(_0x2d680e,_0x21534c,_0x203c14,_0x2432ad){return _0x2d680e(_0x21534c,_0x203c14,_0x2432ad);},'JDOow':function(_0x4b506e,_0x444b1d){return _0x4b506e??_0x444b1d;},'TqZLH':_0x420366(0x1d9)},_0x5208b4=[_0x1dcc99['UWJGn'],_0x1dcc99['MrPve'],_0x420366(0x1ce)];_0x44e102&&_0x5208b4['push'](_0x1dcc99['pZTxQ'],_0x44e102);const _0x48e5d2=await _0x1dcc99[_0x420366(0x19b)](runCommand,_0x420366(0x1d2),_0x5208b4,{'timeoutMs':CLAUDE_COMMAND_TIMEOUT_MS});if(!_0x48e5d2){const _0x1d172c=_0x1dcc99['JDOow'](_0x44e102,_0x1dcc99[_0x420366(0x1d8)]);throw new Error('Claude\x20plugin\x20update\x20failed\x20for\x20'+_0x1d172c+'\x20scope\x20(timed\x20out,\x20failed\x20to\x20start,\x20or\x20exited\x20with\x20a\x20non-zero\x20status).');}}function isSkillInstalled(_0x591255,_0x1f6f7a,_0x149618){const _0x3bad00={'Qlsyn':function(_0x4fe7e7,_0xe954a3){return _0x4fe7e7(_0xe954a3);}},_0x3831fe=_0x149618==='opencode'?getOpencodeSkillsDir(_0x1f6f7a):getSkillsDir(_0x1f6f7a),_0x1a2353=join(_0x3831fe,_0x591255);return _0x3bad00['Qlsyn'](existsSync,_0x1a2353);}async function reinstallSkills(_0x2f009b){const _0x1dd615=_0x2217,_0x1e747f={'XaYzO':_0x1dd615(0x1db),'kXaDm':function(_0x27a036,_0x2a1f37,_0x408b78,_0x14a460){return _0x27a036(_0x2a1f37,_0x408b78,_0x14a460);},'PqkiM':'claude','RFqhi':function(_0x335d11,_0x3a1a70){return _0x335d11===_0x3a1a70;},'kMevY':function(_0x519d4f,_0x5e42e7,_0x498b65){return _0x519d4f(_0x5e42e7,_0x498b65);}},_0x527534=[_0x1e747f[_0x1dd615(0x1a8)],'user'],_0x1c4d2e=[];for(const _0x57a554 of _0x527534){for(const _0x59d27b of RANGER_MANAGED_SKILLS){_0x1e747f['kXaDm'](isSkillInstalled,_0x59d27b,_0x57a554,_0x1dd615(0x1d2))&&_0x1c4d2e['push']({'skillName':_0x59d27b,'level':_0x57a554,'platform':_0x1e747f[_0x1dd615(0x1c4)]}),isSkillInstalled(_0x59d27b,_0x57a554,_0x1dd615(0x1e5))&&_0x1c4d2e[_0x1dd615(0x1ab)]({'skillName':_0x59d27b,'level':_0x57a554,'platform':_0x1dd615(0x1e5)});}}for(const _0x2e3910 of _0x527534){for(const _0x41a17d of DEPRECATED_SKILLS){await removeSkill(_0x41a17d,_0x2e3910);}}if(_0x1e747f['RFqhi'](_0x1c4d2e['length'],0x0)){console['log'](_0x1dd615(0x19a));return;}console[_0x1dd615(0x1bd)]('\x0aReinstalling\x20'+_0x1c4d2e['length']+'\x20ranger-managed\x20skill(s)...');for(const {skillName:_0x1fbf99,level:_0x54f9b7,platform:_0x17c939}of _0x1c4d2e){try{await _0x1e747f[_0x1dd615(0x1c9)](installSkill,_0x1fbf99,{'level':_0x54f9b7,'cliVersion':_0x2f009b,'platform':_0x17c939});}catch(_0x30974b){console['warn'](_0x1dd615(0x1cd)+_0x17c939+'\x20'+_0x54f9b7+'\x20skill\x20'+_0x1fbf99+':',_0x30974b);}}}async function ensureActiveProfileGitignored(){const _0x123b25=_0x2217,_0x424052={'CmJjM':function(_0x2ed01d,_0x366065,_0x1bed24){return _0x2ed01d(_0x366065,_0x1bed24);},'ndAZP':_0x123b25(0x199),'kEGNp':function(_0x5957af,_0x15567e){return _0x5957af===_0x15567e;},'TaWNW':function(_0x50769b,_0x53a6a2,_0x471388,_0x45bf9c){return _0x50769b(_0x53a6a2,_0x471388,_0x45bf9c);}},_0x3b3153=_0x424052[_0x123b25(0x1d1)](join,getRangerDir(),_0x123b25(0x1af));if(!existsSync(_0x3b3153))return![];let _0x3737f5='';try{_0x3737f5=await readFile(_0x3b3153,_0x424052['ndAZP']);}catch{return![];}const _0x5abb36=_0x3737f5['split'](/\r?\n/);if(_0x5abb36['some'](_0x3448be=>_0x3448be['trim']()==='active-profile.txt'))return![];let _0x371a4b=_0x5abb36[_0x123b25(0x1e3)](_0x5483e0=>_0x5483e0[_0x123b25(0x1d5)]()===_0x123b25(0x1e2));_0x424052['kEGNp'](_0x371a4b,-0x1)&&(_0x371a4b=_0x5abb36['length']);_0x5abb36[_0x123b25(0x1b3)](_0x371a4b,0x0,'active-profile.txt');let _0x459c7f=_0x5abb36[_0x123b25(0x1e0)]('\x0a');!_0x459c7f['endsWith']('\x0a')&&(_0x459c7f+='\x0a');try{await _0x424052[_0x123b25(0x1c7)](writeFile,_0x3b3153,_0x459c7f,_0x123b25(0x199));}catch{return![];}return!![];}export async function update(){const _0x553475=_0x2217,_0x4c277c={'enSTR':'Checking\x20for\x20updates...','wLLcp':'Attempting\x20install\x20anyway...','gGSUo':_0x553475(0x1b6),'ZbGEv':function(_0x234c82,_0x3fcb37){return _0x234c82===_0x3fcb37;},'sAzvF':function(_0x1bd587,_0x4b15bb){return _0x1bd587<_0x4b15bb;},'yQkHo':function(_0x42874a,_0x397885){return _0x42874a(_0x397885);},'ZxogX':'trailhead','VKyMo':function(_0x2d7fed,_0x533249){return _0x2d7fed(_0x533249);},'GXmBn':'ranger@trailhead','Vantm':function(_0x620dd8){return _0x620dd8();},'Sgzbu':function(_0x20b40f,_0xfef018){return _0x20b40f(_0xfef018);},'UoUAK':_0x553475(0x1db),'NTwXo':_0x553475(0x1a2),'XmOuJ':function(_0x11a317){return _0x11a317();},'qDmFp':_0x553475(0x1ae)},_0x16dd49=getCurrentVersion();console[_0x553475(0x1bd)](_0x553475(0x1c2)+_0x16dd49),console['log'](_0x4c277c['enSTR']);const _0x2f191c=getLatestVersion();let _0x4d448c=_0x16dd49;if(!_0x2f191c[_0x553475(0x1ba)]){console['warn'](_0x553475(0x1ad)+_0x2f191c['error']),console[_0x553475(0x1bd)](_0x4c277c[_0x553475(0x1d4)]);const _0xa07f4d=await runInstall();if(_0xa07f4d)console['log'](_0x4c277c[_0x553475(0x1b1)]),_0x4d448c=getCurrentVersion();else throw new Error('Update\x20failed:\x20'+_0x2f191c['error']);}else{const _0x50b633=_0x2f191c[_0x553475(0x1ba)];console[_0x553475(0x1bd)]('Latest\x20version:\x20\x20'+_0x50b633);const _0x45323d=compareVersions(_0x16dd49,_0x50b633);if(_0x4c277c[_0x553475(0x1cf)](_0x45323d,0x0))console['log']('\x0aYou\x20are\x20already\x20on\x20the\x20latest\x20version.');else{if(_0x4c277c[_0x553475(0x1c8)](_0x45323d,0x0))console[_0x553475(0x1bd)](_0x553475(0x1c1)+_0x16dd49+_0x553475(0x1cc)+_0x50b633+').');else{const _0xafa4e6=await runInstall();if(_0xafa4e6)console[_0x553475(0x1bd)]('\x0aSuccessfully\x20updated\x20to\x20version\x20'+_0x50b633),_0x4d448c=_0x50b633;else throw new Error('Update\x20failed.');}}}await _0x4c277c['yQkHo'](reinstallSkills,_0x4d448c);const _0xed3248=await isMarketplaceAdded(_0x4c277c[_0x553475(0x1aa)]),_0x464a53=await _0x4c277c[_0x553475(0x1de)](isPluginInstalled,_0x4c277c['GXmBn']);_0xed3248&&(await _0x4c277c[_0x553475(0x1a9)](updateClaudeMarketplace),console['log']('\x0aClaude\x20marketplace\x20updated\x20(trailhead).'));if(_0x464a53){const _0xd81933=await _0x4c277c['yQkHo'](getPluginInfo,_0x4c277c[_0x553475(0x1c3)]);_0x4c277c[_0x553475(0x1cf)](_0xd81933?.['scope'],_0x553475(0x1db))?(await _0x4c277c[_0x553475(0x1dc)](updateClaudePlugin,_0x4c277c['UoUAK']),console['log'](_0x4c277c['NTwXo'])):(await _0x4c277c['XmOuJ'](updateClaudePlugin),console['log']('\x0aClaude\x20plugin\x20updated\x20(user\x20scope).'));}const _0xb7877c=await migrateActiveProfileFile();_0xb7877c&&console['log'](_0x553475(0x1a7));const _0x2159e2=await _0x4c277c[_0x553475(0x1d6)](ensureActiveProfileGitignored);console['log'](_0x4c277c['qDmFp']);}
1
+ (function(_0x178ce8,_0x4cda46){const _0x5e68d8=_0x486a,_0x566567=_0x178ce8();while(!![]){try{const _0x4c042e=-parseInt(_0x5e68d8(0xfa))/0x1*(-parseInt(_0x5e68d8(0xd2))/0x2)+parseInt(_0x5e68d8(0xfe))/0x3+-parseInt(_0x5e68d8(0x10f))/0x4*(-parseInt(_0x5e68d8(0x10b))/0x5)+parseInt(_0x5e68d8(0xd3))/0x6*(-parseInt(_0x5e68d8(0xec))/0x7)+-parseInt(_0x5e68d8(0x102))/0x8*(parseInt(_0x5e68d8(0xde))/0x9)+parseInt(_0x5e68d8(0xf0))/0xa*(parseInt(_0x5e68d8(0xf5))/0xb)+-parseInt(_0x5e68d8(0xf3))/0xc;if(_0x4c042e===_0x4cda46)break;else _0x566567['push'](_0x566567['shift']());}catch(_0x4af16d){_0x566567['push'](_0x566567['shift']());}}}(_0x4e1e,0xd64a8));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';function _0x486a(_0x5d8b9f,_0x2134e6){_0x5d8b9f=_0x5d8b9f-0xca;const _0x4e1ef7=_0x4e1e();let _0x486a95=_0x4e1ef7[_0x5d8b9f];return _0x486a95;}import{join}from'path';import{migrateActiveProfileFile}from'./utils/activeProfile.js';function _0x4e1e(){const _0x3f125c=['utf-8','trailhead','\x0aCurrent\x20version:\x20','1328oZeBVS','\x20skill\x20','findIndex','wJItS','error','Irklv','ranger@trailhead','Update\x20failed:\x20','\x0aCould\x20not\x20check\x20latest\x20version:\x20','\x0aClaude\x20plugin\x20updated\x20(project\x20scope).','push','TwecU','iOYvT','project','lCseI','\x20ranger-managed\x20skill(s)...','Prerelease\x20channel\x20detected\x20(@','nKbFz','trim','log','update','\x20scope\x20(timed\x20out,\x20failed\x20to\x20start,\x20or\x20exited\x20with\x20a\x20non-zero\x20status).','4rnCtZl','13092BEUBXr','\x0aClaude\x20marketplace\x20updated\x20(trailhead).','yIGMD','win32','\x0aReinstalling\x20','ZneEt','kAxHB','Claude\x20marketplace\x20update\x20command\x20failed\x20(timed\x20out,\x20failed\x20to\x20start,\x20or\x20exited\x20with\x20a\x20non-zero\x20status).','pHilC','adLzK','kill','68247xuaYwv','DVkdK','\x0aYou\x20are\x20already\x20on\x20the\x20latest\x20version.','Latest\x20version:\x20\x20','xdeCI','KSrNE','✓\x20Migrated\x20active\x20profile\x20file','txhhc','plugin','Update\x20failed\x20for\x20@','aSZsL','inherit','ignore','opencode','917ATKfjQ','warn','npm','Checking\x20for\x20updates...','14681310VLPnCM','user','Claude\x20plugin\x20update\x20failed\x20for\x20','28497864MPSLpi','mtPSF','11qqJhEh','active-profile.txt','latest','\x0aNo\x20ranger-managed\x20skills\x20found\x20to\x20reinstall.','cIxqE','185951uQiYMs','mZVTf','dBMdP','length','1667214SiKTQr','kFncy','unref','stdio','584JUCoIT','\x20—\x20reinstalling\x20@','endsWith','claude','SJknJ','HvMln','kkRHV','version','hwKuY','25545KCdhfR'];_0x4e1e=function(){return _0x3f125c;};return _0x4e1e();}import{getRangerDir}from'./utils/rangerRoot.js';import{getPluginInfo,isMarketplaceAdded,isPluginInstalled}from'./utils/claudePlugin.js';const CLAUDE_COMMAND_TIMEOUT_MS=0x1d4c0;async function runCommand(_0x46e086,_0x1cd8c8,_0x209918){const _0x1eaecf=_0x486a,_0x158e09={'wJItS':function(_0x181222,_0x536ee8,_0x3775bc,_0x309e3b){return _0x181222(_0x536ee8,_0x3775bc,_0x309e3b);},'dWmOG':'inherit','HvMln':_0x1eaecf(0xd6),'cIxqE':'close','WKGjz':_0x1eaecf(0x113)};return new Promise(_0x5bc3ff=>{const _0x4f729c=_0x1eaecf,_0xa748a5={'tiwZm':function(_0x46790c,_0x37113a){return _0x46790c(_0x37113a);},'TkaOy':function(_0x35f5a4,_0x1089f1){return _0x35f5a4(_0x1089f1);},'fyZhc':function(_0x5ee81d,_0x4cf5d4){return _0x5ee81d(_0x4cf5d4);}};let _0x4dd37f=![],_0x1708a7;const _0x2ce883=_0x58f1a2=>{if(_0x4dd37f)return;_0x4dd37f=!![],_0x1708a7&&_0xa748a5['tiwZm'](clearTimeout,_0x1708a7),_0xa748a5['TkaOy'](_0x5bc3ff,_0x58f1a2);},_0x435a63=_0x158e09[_0x4f729c(0x112)](spawn,_0x46e086,_0x1cd8c8,{'stdio':[_0x4f729c(0xea),_0x209918?.['stdio']??_0x4f729c(0xe9),_0x209918?.[_0x4f729c(0x101)]??_0x158e09['dWmOG']],'shell':process['platform']===_0x158e09[_0x4f729c(0x107)]});_0x1708a7=_0x209918?.['timeoutMs']?setTimeout(()=>{const _0x513c69=_0x4f729c;_0x435a63[_0x513c69(0xdd)](),_0x435a63[_0x513c69(0x100)](),_0xa748a5['fyZhc'](_0x2ce883,![]);},_0x209918['timeoutMs']):undefined,_0x435a63['on'](_0x158e09[_0x4f729c(0xf9)],_0x56e5c7=>{_0xa748a5['fyZhc'](_0x2ce883,_0x56e5c7===0x0);}),_0x435a63['on'](_0x158e09['WKGjz'],()=>{_0x2ce883(![]);});});}export function resolveDistTag(_0xb78637){const _0x24f2bd={'qlDqq':'beta'};if(/-alpha\./i['test'](_0xb78637))return'alpha';if(/-beta\./i['test'](_0xb78637))return _0x24f2bd['qlDqq'];if(/-rc\./i['test'](_0xb78637))return'rc';return'latest';}async function runInstall(_0x3c14e1='latest'){const _0x3f4723={'dddAm':'install','mZVTf':'error'};return new Promise(_0x5e4c0b=>{const _0x24e3b7=_0x486a,_0x225235={'aSZsL':function(_0x485380,_0x24b3f3){return _0x485380===_0x24b3f3;}};console[_0x24e3b7(0xcf)]('\x0aInstalling\x20'+PACKAGE_NAME+'@'+_0x3c14e1+'...\x0a');const _0x1fbb18=spawn(_0x24e3b7(0xee),[_0x3f4723['dddAm'],'-g',PACKAGE_NAME+'@'+_0x3c14e1],{'stdio':[_0x24e3b7(0xea),_0x24e3b7(0xe9),_0x24e3b7(0xe9)],'shell':process['platform']==='win32'});_0x1fbb18['on']('close',_0x2f2396=>{const _0x1fda6e=_0x24e3b7;_0x5e4c0b(_0x225235[_0x1fda6e(0xe8)](_0x2f2396,0x0));}),_0x1fbb18['on'](_0x3f4723[_0x24e3b7(0xfb)],()=>{_0x5e4c0b(![]);});});}async function updateClaudeMarketplace(){const _0x175633=_0x486a,_0xd46ad5={'pHilC':_0x175633(0x105),'IusUL':'marketplace','mDMrY':'update','TwecU':_0x175633(0x10d)},_0x31629f=await runCommand(_0xd46ad5[_0x175633(0xdb)],['plugin',_0xd46ad5['IusUL'],_0xd46ad5['mDMrY'],_0xd46ad5[_0x175633(0x11a)]],{'timeoutMs':CLAUDE_COMMAND_TIMEOUT_MS});if(!_0x31629f)throw new Error(_0x175633(0xda));}async function updateClaudePlugin(_0x3de81c){const _0x4ed112=_0x486a,_0x54a5fd={'xSWkB':_0x4ed112(0xe6),'ZneEt':function(_0x2831cb,_0x17d820){return _0x2831cb??_0x17d820;}},_0x52ab59=[_0x54a5fd['xSWkB'],_0x4ed112(0xd0),_0x4ed112(0x115)];_0x3de81c&&_0x52ab59['push']('--scope',_0x3de81c);const _0x9ca751=await runCommand(_0x4ed112(0x105),_0x52ab59,{'timeoutMs':CLAUDE_COMMAND_TIMEOUT_MS});if(!_0x9ca751){const _0xae5670=_0x54a5fd[_0x4ed112(0xd8)](_0x3de81c,'user');throw new Error(_0x4ed112(0xf2)+_0xae5670+_0x4ed112(0xd1));}}function isSkillInstalled(_0x3699e5,_0x599606,_0xb97050){const _0x58a260=_0x486a,_0x23d230={'txhhc':'opencode','jrcYX':function(_0x2f87a8,_0x4f9264,_0x33b823){return _0x2f87a8(_0x4f9264,_0x33b823);},'iOYvT':function(_0x238989,_0x282724){return _0x238989(_0x282724);}},_0x423a53=_0xb97050===_0x23d230[_0x58a260(0xe5)]?getOpencodeSkillsDir(_0x599606):getSkillsDir(_0x599606),_0x4a3f95=_0x23d230['jrcYX'](join,_0x423a53,_0x3699e5);return _0x23d230[_0x58a260(0x11b)](existsSync,_0x4a3f95);}async function reinstallSkills(_0x5311f4){const _0x5b5e0f=_0x486a,_0x4f372e={'kkRHV':_0x5b5e0f(0xf1),'kAxHB':function(_0x4cb474,_0x212124,_0x25d61c,_0x5843df){return _0x4cb474(_0x212124,_0x25d61c,_0x5843df);},'adLzK':'claude','xdeCI':function(_0x37e022,_0x4e98bb,_0x7bc151){return _0x37e022(_0x4e98bb,_0x7bc151);},'klXxl':function(_0x3cdcdb,_0x1ec8e4){return _0x3cdcdb===_0x1ec8e4;},'rfqmL':function(_0x6e69c8,_0x13be5c,_0x3d823f){return _0x6e69c8(_0x13be5c,_0x3d823f);}},_0x3d41f8=[_0x5b5e0f(0x11c),_0x4f372e[_0x5b5e0f(0x108)]],_0x591e5e=[];for(const _0x3cca8d of _0x3d41f8){for(const _0x2a69fc of RANGER_MANAGED_SKILLS){_0x4f372e['kAxHB'](isSkillInstalled,_0x2a69fc,_0x3cca8d,_0x4f372e[_0x5b5e0f(0xdc)])&&_0x591e5e[_0x5b5e0f(0x119)]({'skillName':_0x2a69fc,'level':_0x3cca8d,'platform':_0x4f372e['adLzK']}),_0x4f372e[_0x5b5e0f(0xd9)](isSkillInstalled,_0x2a69fc,_0x3cca8d,'opencode')&&_0x591e5e['push']({'skillName':_0x2a69fc,'level':_0x3cca8d,'platform':_0x5b5e0f(0xeb)});}}for(const _0x1ce893 of _0x3d41f8){for(const _0xdc9135 of DEPRECATED_SKILLS){await _0x4f372e[_0x5b5e0f(0xe2)](removeSkill,_0xdc9135,_0x1ce893);}}if(_0x4f372e['klXxl'](_0x591e5e[_0x5b5e0f(0xfd)],0x0)){console[_0x5b5e0f(0xcf)](_0x5b5e0f(0xf8));return;}console['log'](_0x5b5e0f(0xd7)+_0x591e5e[_0x5b5e0f(0xfd)]+_0x5b5e0f(0xcb));for(const {skillName:_0x559c08,level:_0x42763c,platform:_0x219827}of _0x591e5e){try{await _0x4f372e['rfqmL'](installSkill,_0x559c08,{'level':_0x42763c,'cliVersion':_0x5311f4,'platform':_0x219827});}catch(_0x2346f9){console[_0x5b5e0f(0xed)]('\x20\x20Failed\x20to\x20reinstall\x20'+_0x219827+'\x20'+_0x42763c+_0x5b5e0f(0x110)+_0x559c08+':',_0x2346f9);}}}async function ensureActiveProfileGitignored(){const _0x536cea=_0x486a,_0x58234c={'hwKuY':function(_0xedfc87){return _0xedfc87();},'zNFLb':'.gitignore','qnquX':function(_0x49d723,_0x43a1c2,_0x4befd7){return _0x49d723(_0x43a1c2,_0x4befd7);},'AUDcC':function(_0x401508,_0x262269,_0x51fc6e,_0x58bf0b){return _0x401508(_0x262269,_0x51fc6e,_0x58bf0b);},'DVkdK':_0x536cea(0x10c)},_0x3435b5=join(_0x58234c[_0x536cea(0x10a)](getRangerDir),_0x58234c['zNFLb']);if(!existsSync(_0x3435b5))return![];let _0x2986e6='';try{_0x2986e6=await _0x58234c['qnquX'](readFile,_0x3435b5,_0x536cea(0x10c));}catch{return![];}const _0x151fbe=_0x2986e6['split'](/\r?\n/);if(_0x151fbe['some'](_0x598d66=>_0x598d66[_0x536cea(0xce)]()===_0x536cea(0xf6)))return![];let _0x59d0f0=_0x151fbe[_0x536cea(0x111)](_0x4f630b=>_0x4f630b['trim']()==='active-feature.txt');_0x59d0f0===-0x1&&(_0x59d0f0=_0x151fbe[_0x536cea(0xfd)]);_0x151fbe['splice'](_0x59d0f0,0x0,_0x536cea(0xf6));let _0x435d62=_0x151fbe['join']('\x0a');!_0x435d62[_0x536cea(0x104)]('\x0a')&&(_0x435d62+='\x0a');try{await _0x58234c['AUDcC'](writeFile,_0x3435b5,_0x435d62,_0x58234c[_0x536cea(0xdf)]);}catch{return![];}return!![];}export async function update(){const _0x469877=_0x486a,_0x580400={'SJknJ':function(_0x22c7fc){return _0x22c7fc();},'lCseI':function(_0xceb1ae,_0xe37450){return _0xceb1ae(_0xe37450);},'nKbFz':_0x469877(0xf7),'lTijl':_0x469877(0xe4),'YRvGF':'\x0a✅\x20Update\x20complete!','Irklv':'Attempting\x20install\x20anyway...','mtPSF':function(_0x4a25ba){return _0x4a25ba();},'KSrNE':'\x0aSuccessfully\x20installed\x20latest\x20version.','GWdXY':function(_0x5a100e){return _0x5a100e();},'dBMdP':_0x469877(0xe0),'kFncy':function(_0x4a7032,_0x3b4f89){return _0x4a7032<_0x3b4f89;},'yIGMD':'Update\x20failed.','HucyM':_0x469877(0x115),'AsSiO':_0x469877(0xd4),'pZKSj':function(_0x45e4a2,_0x4221fb){return _0x45e4a2===_0x4221fb;},'XNfJk':_0x469877(0x11c)},_0x3965a7=_0x580400['SJknJ'](getCurrentVersion);console['log'](_0x469877(0x10e)+_0x3965a7);const _0x3f0540=_0x580400[_0x469877(0xca)](resolveDistTag,_0x3965a7);if(_0x3f0540!==_0x580400[_0x469877(0xcd)]){console[_0x469877(0xcf)](_0x469877(0xcc)+_0x3f0540+').\x20Staying\x20on\x20'+_0x3f0540+_0x469877(0x103)+_0x3f0540+'...');const _0x1346f8=await runInstall(_0x3f0540);if(!_0x1346f8)throw new Error(_0x469877(0xe7)+_0x3f0540+'\x20channel.');const _0x5bf39a=_0x580400['SJknJ'](getCurrentVersion);console[_0x469877(0xcf)]('\x0aSuccessfully\x20installed\x20'+PACKAGE_NAME+'@'+_0x3f0540+'.'),await _0x580400[_0x469877(0xca)](reinstallSkills,_0x5bf39a);const _0x29a751=await _0x580400['SJknJ'](migrateActiveProfileFile);_0x29a751&&console[_0x469877(0xcf)](_0x580400['lTijl']);await ensureActiveProfileGitignored(),console['log'](_0x580400['YRvGF']);return;}console[_0x469877(0xcf)](_0x469877(0xef));const _0x5f133e=getLatestVersion();let _0x388d65=_0x3965a7;if(!_0x5f133e[_0x469877(0x109)]){console['warn'](_0x469877(0x117)+_0x5f133e['error']),console['log'](_0x580400[_0x469877(0x114)]);const _0x13dc97=await _0x580400['mtPSF'](runInstall);if(_0x13dc97)console[_0x469877(0xcf)](_0x580400[_0x469877(0xe3)]),_0x388d65=_0x580400['GWdXY'](getCurrentVersion);else throw new Error(_0x469877(0x116)+_0x5f133e['error']);}else{const _0xd2560d=_0x5f133e['version'];console['log'](_0x469877(0xe1)+_0xd2560d);const _0x43809d=compareVersions(_0x3965a7,_0xd2560d);if(_0x43809d===0x0)console['log'](_0x580400[_0x469877(0xfc)]);else{if(_0x580400[_0x469877(0xff)](_0x43809d,0x0))console['log']('\x0aYour\x20version\x20('+_0x3965a7+')\x20is\x20newer\x20than\x20the\x20published\x20version\x20('+_0xd2560d+').');else{const _0x2f99a8=await _0x580400[_0x469877(0x106)](runInstall);if(_0x2f99a8)console['log']('\x0aSuccessfully\x20updated\x20to\x20version\x20'+_0xd2560d),_0x388d65=_0xd2560d;else throw new Error(_0x580400[_0x469877(0xd5)]);}}}await reinstallSkills(_0x388d65);const _0x294d3c=await isMarketplaceAdded(_0x469877(0x10d)),_0x1b3772=await isPluginInstalled(_0x580400['HucyM']);_0x294d3c&&(await updateClaudeMarketplace(),console[_0x469877(0xcf)](_0x580400['AsSiO']));if(_0x1b3772){const _0x5f152f=await getPluginInfo(_0x580400['HucyM']);_0x580400['pZKSj'](_0x5f152f?.['scope'],_0x580400['XNfJk'])?(await _0x580400['lCseI'](updateClaudePlugin,_0x469877(0x11c)),console[_0x469877(0xcf)](_0x469877(0x118))):(await updateClaudePlugin(),console['log']('\x0aClaude\x20plugin\x20updated\x20(user\x20scope).'));}const _0x3b0419=await _0x580400[_0x469877(0xf4)](migrateActiveProfileFile);_0x3b0419&&console['log'](_0x580400['lTijl']);const _0x301ebc=await _0x580400['GWdXY'](ensureActiveProfileGitignored);console[_0x469877(0xcf)]('\x0a✅\x20Update\x20complete!');}
@@ -1 +1 @@
1
- (function(_0xe40305,_0x2faeb5){const _0x5567f6=_0x592f,_0x2c302a=_0xe40305();while(!![]){try{const _0x377b1b=parseInt(_0x5567f6(0x1d7))/0x1+parseInt(_0x5567f6(0x1a8))/0x2*(parseInt(_0x5567f6(0x1ca))/0x3)+-parseInt(_0x5567f6(0x1bd))/0x4*(-parseInt(_0x5567f6(0x1d6))/0x5)+-parseInt(_0x5567f6(0x1b7))/0x6+parseInt(_0x5567f6(0x1aa))/0x7+parseInt(_0x5567f6(0x1b3))/0x8+-parseInt(_0x5567f6(0x1c6))/0x9;if(_0x377b1b===_0x2faeb5)break;else _0x2c302a['push'](_0x2c302a['shift']());}catch(_0x1c933f){_0x2c302a['push'](_0x2c302a['shift']());}}}(_0x5bd9,0x22d18));import{writeFile,readFile,unlink}from'fs/promises';import{join}from'path';function _0x5bd9(){const _0x4c824c=['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','\x20\x20Could\x20not\x20encrypt:\x20No\x20API\x20token\x20found.\x20Run:\x20ranger\x20setup\x20[token]','baseUrl','1517322BXCiHs','stringify','close','newPage','BEwac','utf-8','36XiFRAU','tjewN','goto','auth.json','config_write','\x20\x20\x20Update\x20your\x20authentication\x20as\x20needed.','\x0a📋\x20Authentication\x20Update','isTTY','ieYmi','1207116unrlWc','ftcbD','VPMeF','error','6otmzeI','allowInsecureLocalhost','✓\x20Updated\x20config:\x20','OetrF','stdin','launch','Saving\x20authentication\x20state...','browser_auth','newContext','ISSOk','contextOptions','settings.json','53495draPno','242775LhLVdl','catch','76126BrGrVo','rtNok','47796WZhsag','.\x20Run\x20first:\x20ranger\x20profile\x20add\x20','\x20\x20Run\x20ranger\x20setup\x20in\x20CI\x20to\x20decrypt\x20at\x20runtime.','log','extraHTTPHeaders','Browser\x20closed\x20before\x20authentication\x20was\x20saved.','trackPhaseStart','browser','tuGAm','860856OIdwpu'];_0x5bd9=function(){return _0x4c824c;};return _0x5bd9();}import{existsSync}from'fs';function _0x592f(_0x3be605,_0x294c40){_0x3be605=_0x3be605-0x1a8;const _0x5bd9d7=_0x5bd9();let _0x592fe5=_0x5bd9d7[_0x3be605];return _0x592fe5;}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(_0x3338d2,_0x1b6dad,_0x2ab4f){const _0x357fe8=_0x592f,_0x3e16b9={'BEWjF':function(_0xd05c92){return _0xd05c92();},'ieYmi':function(_0x248c6c,_0x3dc344){return _0x248c6c(_0x3dc344);},'rtNok':_0x357fe8(0x1d5),'mebvO':'.enc','VPMeF':function(_0x346bce,_0x210f9b){return _0x346bce(_0x210f9b);},'tjewN':function(_0x20b8fc,_0x4cf686,_0x1bc9e3){return _0x20b8fc(_0x4cf686,_0x1bc9e3);},'KtOCR':'utf-8','ilNyp':'string','kFDQv':_0x357fe8(0x1c3),'BEwac':_0x357fe8(0x1c2),'OetrF':'\x20\x20\x20When\x20you\x20are\x20done,\x20close\x20the\x20browser.\x0a','ISSOk':function(_0x2cec32,_0x374911){return _0x2cec32(_0x374911);},'JsTQp':function(_0x5edee6,_0x12e837){return _0x5edee6||_0x12e837;},'zcBtn':'This\x20can\x20happen\x20due\x20to\x20a\x20browser\x20compatibility\x20issue\x20on\x20some\x20systems.\x0a','QxEpK':function(_0x332313){return _0x332313();},'tuGAm':_0x357fe8(0x1b5),'ftcbD':'\x20\x20You\x20can\x20safely\x20commit\x20this\x20file\x20to\x20git.','FwYyr':_0x357fe8(0x1ac),'KZLiq':_0x357fe8(0x1d1),'lUCuw':function(_0x28abc7,_0x51dbfe){return _0x28abc7===_0x51dbfe;}},_0x4a8c71=_0x3e16b9[_0x357fe8(0x1c5)](getEnvDir,_0x3338d2),_0x4d3ec4=join(_0x4a8c71,_0x3e16b9[_0x357fe8(0x1a9)]),_0x25bb34=join(_0x4a8c71,_0x357fe8(0x1c0)),_0x4c6f0e=_0x25bb34+_0x3e16b9['mebvO'],_0x4a2f82=process[_0x357fe8(0x1ce)][_0x357fe8(0x1c4)]&&process['stdout'][_0x357fe8(0x1c4)];if(!_0x4a2f82)throw new Error(_0x357fe8(0x1b4));if(!_0x3e16b9[_0x357fe8(0x1c8)](existsSync,_0x4a8c71))throw new Error('Profile\x20\x22'+_0x3338d2+'\x22\x20not\x20found.\x20Run\x20first:\x20ranger\x20profile\x20add\x20'+_0x3338d2);if(!existsSync(_0x4d3ec4))throw new Error('Config\x20not\x20found\x20at\x20'+_0x4d3ec4+_0x357fe8(0x1ab)+_0x3338d2);const _0x29363f=await _0x3e16b9['tjewN'](readFile,_0x4d3ec4,_0x3e16b9['KtOCR']),_0x55b7b0=JSON['parse'](_0x29363f),_0xe4f5e2=resolveEnvVars(_0x55b7b0),_0x457844=typeof _0xe4f5e2[_0x357fe8(0x1b6)]===_0x3e16b9['ilNyp']?_0xe4f5e2['baseUrl']:undefined,_0xa752a=existsSync(_0x25bb34),_0x3c7f68=isEnvCi(_0x3338d2);_0x1b6dad?.[_0x357fe8(0x1b0)](_0x357fe8(0x1d1)),console['log'](_0x3e16b9['kFDQv']),console[_0x357fe8(0x1ad)]('\x20\x20\x20A\x20browser\x20will\x20open\x20with\x20your\x20existing\x20session\x20(if\x20any).'),console['log'](_0x3e16b9[_0x357fe8(0x1bb)]),console[_0x357fe8(0x1ad)](_0x3e16b9[_0x357fe8(0x1cd)]);const {launchOptions:_0x16a270,contextOptions:_0x37ceab}=buildBrowserOptionsFromSettings(_0xe4f5e2,{'headless':![],'storageStatePath':_0xa752a?_0x25bb34:undefined});_0xe4f5e2['setupHeaders']&&(_0x37ceab[_0x357fe8(0x1ae)]={..._0x37ceab[_0x357fe8(0x1ae)],..._0xe4f5e2['setupHeaders']});const _0x443be9=await chromium[_0x357fe8(0x1cf)](_0x16a270);let _0x2749ee=null;try{_0x2749ee=await _0x443be9[_0x357fe8(0x1d2)](_0x37ceab),await _0x3e16b9[_0x357fe8(0x1d3)](addProfileSetupBanner,_0x2749ee);const _0x278921=await _0x2749ee[_0x357fe8(0x1ba)]();await _0x278921[_0x357fe8(0x1bf)](_0x3e16b9['JsTQp'](_0x457844,'about:blank'));let _0x110c2b=![];await new Promise(_0x17005c=>{const _0x306cf1=_0x357fe8;_0x278921['on'](_0x306cf1(0x1b9),async()=>{const _0x2afa0c=_0x306cf1;try{console['log'](_0x2afa0c(0x1d0)),await _0x2749ee?.['storageState']({'path':_0x25bb34}),_0x110c2b=!![];}catch{}_0x3e16b9['BEWjF'](_0x17005c);});});if(!_0x110c2b){console['log']('\x0aThe\x20browser\x20closed\x20unexpectedly\x20before\x20authentication\x20could\x20be\x20saved.');!_0xe4f5e2['safeMode']&&(console['log'](_0x3e16b9['zcBtn']),console['log']('Enable\x20safe\x20mode\x20and\x20try\x20again:\x20ranger\x20profile\x20config\x20set\x20'+_0x3338d2+'\x20safeMode\x20true\x0a'));throw new Error(_0x357fe8(0x1af));}}finally{_0x2749ee&&await _0x2749ee[_0x357fe8(0x1b9)]()[_0x357fe8(0x1d8)](()=>{}),await _0x443be9['close']()['catch'](()=>{});}if(_0x3c7f68){const _0x182f2b=await readFile(_0x25bb34,_0x357fe8(0x1bc)),_0x2c7b36=await _0x3e16b9['QxEpK'](getToken);if(!_0x2c7b36)console[_0x357fe8(0x1c9)](_0x3e16b9[_0x357fe8(0x1b2)]),console['log']('✓\x20Auth\x20state\x20saved\x20to:\x20'+_0x25bb34);else{const _0x512acf=_0x3e16b9[_0x357fe8(0x1be)](encrypt,_0x182f2b,_0x2c7b36);await writeFile(_0x4c6f0e,_0x512acf),await _0x3e16b9['ISSOk'](unlink,_0x25bb34),console[_0x357fe8(0x1ad)]('✓\x20Encrypted\x20auth\x20saved\x20to:\x20'+_0x4c6f0e),console[_0x357fe8(0x1ad)](_0x3e16b9[_0x357fe8(0x1c7)]),console[_0x357fe8(0x1ad)](_0x3e16b9['FwYyr']);}}else console['log']('✓\x20Auth\x20state\x20saved\x20to:\x20'+_0x25bb34);_0x1b6dad?.['trackPhaseEnd'](_0x3e16b9['KZLiq']),_0x1b6dad?.[_0x357fe8(0x1b0)](_0x357fe8(0x1c1)),_0x55b7b0['browser']=_0x55b7b0[_0x357fe8(0x1b1)]||{},_0x55b7b0['browser'][_0x357fe8(0x1d4)]=_0x55b7b0['browser'][_0x357fe8(0x1d4)]||{},_0x55b7b0[_0x357fe8(0x1b1)]['contextOptions']['storageState']=_0x25bb34,_0x3e16b9['lUCuw'](_0x2ab4f?.[_0x357fe8(0x1cb)],!![])&&(_0x55b7b0['allowInsecureLocalhost']=!![]),await writeFile(_0x4d3ec4,JSON[_0x357fe8(0x1b8)](_0x55b7b0,null,0x2)),console['log'](_0x357fe8(0x1cc)+_0x4d3ec4),_0x1b6dad?.['trackPhaseEnd']('config_write'),console['log']('\x0a✅\x20Profile\x20\x22'+_0x3338d2+'\x22\x20authentication\x20updated');}
1
+ (function(_0x1328e2,_0x386ffd){const _0x59620b=_0x1224,_0x2b61d3=_0x1328e2();while(!![]){try{const _0x19c3d4=parseInt(_0x59620b(0xb7))/0x1*(parseInt(_0x59620b(0x94))/0x2)+-parseInt(_0x59620b(0xa0))/0x3+-parseInt(_0x59620b(0x9a))/0x4+-parseInt(_0x59620b(0x97))/0x5+parseInt(_0x59620b(0xb5))/0x6*(-parseInt(_0x59620b(0x9c))/0x7)+parseInt(_0x59620b(0x96))/0x8+parseInt(_0x59620b(0xad))/0x9;if(_0x19c3d4===_0x386ffd)break;else _0x2b61d3['push'](_0x2b61d3['shift']());}catch(_0x36cf3e){_0x2b61d3['push'](_0x2b61d3['shift']());}}}(_0x14a8,0x55126));import{writeFile,readFile,unlink}from'fs/promises';function _0x14a8(){const _0x3ff3eb=['\x20\x20\x20When\x20you\x20are\x20done,\x20close\x20the\x20browser.\x0a','qEHsE','2705848yUprfd','\x0a📋\x20Authentication\x20Update','939533GBIHIo','stdin','Saving\x20authentication\x20state...','stdout','119724pOljyK','extraHTTPHeaders','close','LTlLi','AsODj','obcMD','\x0aThe\x20browser\x20closed\x20unexpectedly\x20before\x20authentication\x20could\x20be\x20saved.','Browser\x20closed\x20before\x20authentication\x20was\x20saved.','OOUiE','Enable\x20safe\x20mode\x20and\x20try\x20again:\x20ranger\x20profile\x20config\x20set\x20','isTTY','DoqVS','catch','10477575tOzNLW','allowInsecureLocalhost','.\x20Run\x20first:\x20ranger\x20profile\x20add\x20','bxqWI','\x20\x20Run\x20ranger\x20setup\x20in\x20CI\x20to\x20decrypt\x20at\x20runtime.','aEmFl','string','\x20safeMode\x20true\x0a','30vgRnrN','trackPhaseEnd','3fpqquP','\x20\x20\x20Update\x20your\x20authentication\x20as\x20needed.','utf-8','✓\x20Auth\x20state\x20saved\x20to:\x20','log','browser','MGZhD','Rwrme','auth.json','QFzyp','baseUrl','.enc','✓\x20Updated\x20config:\x20','config_write','contextOptions','\x22\x20not\x20found.\x20Run\x20first:\x20ranger\x20profile\x20add\x20','210558PHHBFR','setupHeaders','4566424RbbBAB','1574480IlukAX'];_0x14a8=function(){return _0x3ff3eb;};return _0x14a8();}import{join}from'path';import{existsSync}from'fs';import{chromium}from'playwright';import{encrypt}from'./utils/crypto.js';function _0x1224(_0x95fef5,_0x1ea8e8){_0x95fef5=_0x95fef5-0x8c;const _0x14a870=_0x14a8();let _0x12241a=_0x14a870[_0x95fef5];return _0x12241a;}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(_0x4db6a5,_0x4198cf,_0x2651cb){const _0x36bbbb=_0x1224,_0x5498f8={'OOUiE':'close','bxqWI':function(_0x49aa55,_0x383da6){return _0x49aa55(_0x383da6);},'DoqVS':function(_0x28d1cb,_0x517657,_0x3d9f2f){return _0x28d1cb(_0x517657,_0x3d9f2f);},'ReGkj':function(_0x5d796e,_0x2e2ef9){return _0x5d796e+_0x2e2ef9;},'obcMD':_0x36bbbb(0x8f),'qEHsE':function(_0x24a13a,_0x28f8fa){return _0x24a13a(_0x28f8fa);},'JJVYw':function(_0x416609,_0x18a113){return _0x416609===_0x18a113;},'MGZhD':_0x36bbbb(0x9b),'hEHlk':function(_0x52e2de,_0x1c4411,_0x2df013){return _0x52e2de(_0x1c4411,_0x2df013);},'AsODj':function(_0xed8e7e,_0x264456){return _0xed8e7e||_0x264456;},'aEmFl':'utf-8','QFzyp':function(_0x252cae){return _0x252cae();},'XuqPp':function(_0x51f8b7,_0x3c3d7c,_0x31a523){return _0x51f8b7(_0x3c3d7c,_0x31a523);},'CuViZ':'\x20\x20You\x20can\x20safely\x20commit\x20this\x20file\x20to\x20git.','Rwrme':function(_0x5ee3e8,_0x21b83d){return _0x5ee3e8===_0x21b83d;},'LTlLi':function(_0x20fc4d,_0x18501a,_0x38acf7){return _0x20fc4d(_0x18501a,_0x38acf7);}},_0x43c2dd=_0x5498f8['bxqWI'](getEnvDir,_0x4db6a5),_0x1a07a5=_0x5498f8[_0x36bbbb(0xab)](join,_0x43c2dd,'settings.json'),_0x3377b7=join(_0x43c2dd,_0x36bbbb(0x8c)),_0x31c1d8=_0x5498f8['ReGkj'](_0x3377b7,_0x5498f8[_0x36bbbb(0xa5)]),_0x2d4edf=process[_0x36bbbb(0x9d)][_0x36bbbb(0xaa)]&&process[_0x36bbbb(0x9f)][_0x36bbbb(0xaa)];if(!_0x2d4edf)throw new Error('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');if(!existsSync(_0x43c2dd))throw new Error('Profile\x20\x22'+_0x4db6a5+_0x36bbbb(0x93)+_0x4db6a5);if(!_0x5498f8[_0x36bbbb(0xb0)](existsSync,_0x1a07a5))throw new Error('Config\x20not\x20found\x20at\x20'+_0x1a07a5+_0x36bbbb(0xaf)+_0x4db6a5);const _0xa72a98=await readFile(_0x1a07a5,_0x36bbbb(0xb9)),_0xac843e=JSON['parse'](_0xa72a98),_0xd6f119=_0x5498f8[_0x36bbbb(0x99)](resolveEnvVars,_0xac843e),_0x422344=_0x5498f8['JJVYw'](typeof _0xd6f119['baseUrl'],_0x36bbbb(0xb3))?_0xd6f119[_0x36bbbb(0x8e)]:undefined,_0xe2d070=_0x5498f8[_0x36bbbb(0x99)](existsSync,_0x3377b7),_0x27ea86=_0x5498f8[_0x36bbbb(0x99)](isEnvCi,_0x4db6a5);_0x4198cf?.['trackPhaseStart']('browser_auth'),console['log'](_0x5498f8[_0x36bbbb(0xbd)]),console[_0x36bbbb(0xbb)]('\x20\x20\x20A\x20browser\x20will\x20open\x20with\x20your\x20existing\x20session\x20(if\x20any).'),console['log'](_0x36bbbb(0xb8)),console['log'](_0x36bbbb(0x98));const {launchOptions:_0x20b92a,contextOptions:_0x1b89c0}=_0x5498f8['hEHlk'](buildBrowserOptionsFromSettings,_0xd6f119,{'headless':![],'storageStatePath':_0xe2d070?_0x3377b7:undefined});_0xd6f119[_0x36bbbb(0x95)]&&(_0x1b89c0['extraHTTPHeaders']={..._0x1b89c0[_0x36bbbb(0xa1)],..._0xd6f119['setupHeaders']});const _0x244ae2=await chromium['launch'](_0x20b92a);let _0x11bedd=null;try{_0x11bedd=await _0x244ae2['newContext'](_0x1b89c0),await addProfileSetupBanner(_0x11bedd);const _0x2a77f1=await _0x11bedd['newPage']();await _0x2a77f1['goto'](_0x5498f8[_0x36bbbb(0xa4)](_0x422344,'about:blank'));let _0x491784=![];await new Promise(_0xa012ad=>{const _0x5bd426=_0x36bbbb;_0x2a77f1['on'](_0x5498f8[_0x5bd426(0xa8)],async()=>{const _0x56c941=_0x5bd426;try{console['log'](_0x56c941(0x9e)),await _0x11bedd?.['storageState']({'path':_0x3377b7}),_0x491784=!![];}catch{}_0xa012ad();});});if(!_0x491784){console['log'](_0x36bbbb(0xa6));!_0xd6f119['safeMode']&&(console['log']('This\x20can\x20happen\x20due\x20to\x20a\x20browser\x20compatibility\x20issue\x20on\x20some\x20systems.\x0a'),console['log'](_0x36bbbb(0xa9)+_0x4db6a5+_0x36bbbb(0xb4)));throw new Error(_0x36bbbb(0xa7));}}finally{_0x11bedd&&await _0x11bedd['close']()['catch'](()=>{}),await _0x244ae2[_0x36bbbb(0xa2)]()[_0x36bbbb(0xac)](()=>{});}if(_0x27ea86){const _0x80c29c=await readFile(_0x3377b7,_0x5498f8[_0x36bbbb(0xb2)]),_0x280a60=await _0x5498f8[_0x36bbbb(0x8d)](getToken);if(!_0x280a60)console['error']('\x20\x20Could\x20not\x20encrypt:\x20No\x20API\x20token\x20found.\x20Run:\x20ranger\x20setup\x20[token]'),console['log'](_0x36bbbb(0xba)+_0x3377b7);else{const _0x576d79=encrypt(_0x80c29c,_0x280a60);await _0x5498f8['XuqPp'](writeFile,_0x31c1d8,_0x576d79),await unlink(_0x3377b7),console['log']('✓\x20Encrypted\x20auth\x20saved\x20to:\x20'+_0x31c1d8),console['log'](_0x5498f8['CuViZ']),console['log'](_0x36bbbb(0xb1));}}else console[_0x36bbbb(0xbb)](_0x36bbbb(0xba)+_0x3377b7);_0x4198cf?.[_0x36bbbb(0xb6)]('browser_auth'),_0x4198cf?.['trackPhaseStart'](_0x36bbbb(0x91)),_0xac843e[_0x36bbbb(0xbc)]=_0xac843e[_0x36bbbb(0xbc)]||{},_0xac843e['browser']['contextOptions']=_0xac843e['browser'][_0x36bbbb(0x92)]||{},_0xac843e['browser']['contextOptions']['storageState']=_0x3377b7,_0x5498f8[_0x36bbbb(0xbe)](_0x2651cb?.[_0x36bbbb(0xae)],!![])&&(_0xac843e['allowInsecureLocalhost']=!![]),await _0x5498f8[_0x36bbbb(0xa3)](writeFile,_0x1a07a5,JSON['stringify'](_0xac843e,null,0x2)),console['log'](_0x36bbbb(0x90)+_0x1a07a5),_0x4198cf?.[_0x36bbbb(0xb6)]('config_write'),console['log']('\x0a✅\x20Profile\x20\x22'+_0x4db6a5+'\x22\x20authentication\x20updated');}
@@ -1 +1 @@
1
- (function(_0xb8be55,_0x3b2296){const _0x5e8cd1=_0x2cdf,_0x2bb64c=_0xb8be55();while(!![]){try{const _0x1e507d=-parseInt(_0x5e8cd1(0x1ba))/0x1*(-parseInt(_0x5e8cd1(0x1af))/0x2)+-parseInt(_0x5e8cd1(0x1bc))/0x3*(parseInt(_0x5e8cd1(0x1ae))/0x4)+-parseInt(_0x5e8cd1(0x1b0))/0x5+-parseInt(_0x5e8cd1(0x1bb))/0x6+parseInt(_0x5e8cd1(0x1bd))/0x7*(-parseInt(_0x5e8cd1(0x1ad))/0x8)+parseInt(_0x5e8cd1(0x1b1))/0x9*(-parseInt(_0x5e8cd1(0x1b8))/0xa)+parseInt(_0x5e8cd1(0x1b7))/0xb*(parseInt(_0x5e8cd1(0x1b5))/0xc);if(_0x1e507d===_0x3b2296)break;else _0x2bb64c['push'](_0x2bb64c['shift']());}catch(_0x3ed95d){_0x2bb64c['push'](_0x2bb64c['shift']());}}}(_0x33ac,0xdb530));import{join}from'path';import{existsSync}from'fs';function _0x33ac(){const _0x122342=['10307ONOBYi','730WjIJtt','log','4yjOUOn','10212330KrgPjD','18NaHmGQ','4480yUkSXO','9496rqehnG','179836Hnklmc','538402rtlEZV','3384120hEodsW','48978JaPOlb','fHYQE','settings.json','Config\x20not\x20found\x20at\x20','46452UpMOoH','\x0a✓\x20Now\x20using\x20profile\x20\x22'];_0x33ac=function(){return _0x122342;};return _0x33ac();}import{getEnvDir}from'./utils/settings.js';import{writeActiveProfileName}from'./utils/activeProfile.js';function _0x2cdf(_0xc0939d,_0xc42664){_0xc0939d=_0xc0939d-0x1ad;const _0x33acc5=_0x33ac();let _0x2cdfbc=_0x33acc5[_0xc0939d];return _0x2cdfbc;}export async function useEnv(_0x4555e6){const _0x56caf5=_0x2cdf,_0x54f4c2={'gueQX':function(_0x45d585,_0x568f2a){return _0x45d585(_0x568f2a);},'fHYQE':function(_0x175085,_0x526daa,_0x3b0b68){return _0x175085(_0x526daa,_0x3b0b68);}},_0xbe561e=_0x54f4c2['gueQX'](getEnvDir,_0x4555e6),_0x461486=_0x54f4c2[_0x56caf5(0x1b2)](join,_0xbe561e,_0x56caf5(0x1b3));if(!_0x54f4c2['gueQX'](existsSync,_0xbe561e))throw new Error('Profile\x20\x22'+_0x4555e6+'\x22\x20not\x20found.\x20Run\x20first:\x20ranger\x20profile\x20add\x20'+_0x4555e6);if(!existsSync(_0x461486))throw new Error(_0x56caf5(0x1b4)+_0x461486+'.\x20Run\x20first:\x20ranger\x20profile\x20add\x20'+_0x4555e6);await writeActiveProfileName(_0x4555e6),console[_0x56caf5(0x1b9)](_0x56caf5(0x1b6)+_0x4555e6+'\x22');}
1
+ (function(_0x55d682,_0x460ed9){const _0x11ed25=_0x3326,_0x49cbeb=_0x55d682();while(!![]){try{const _0x3c4acb=parseInt(_0x11ed25(0x1be))/0x1+-parseInt(_0x11ed25(0x1bf))/0x2*(parseInt(_0x11ed25(0x1ad))/0x3)+parseInt(_0x11ed25(0x1b0))/0x4+parseInt(_0x11ed25(0x1c1))/0x5+parseInt(_0x11ed25(0x1af))/0x6+-parseInt(_0x11ed25(0x1b3))/0x7+-parseInt(_0x11ed25(0x1b6))/0x8*(-parseInt(_0x11ed25(0x1ae))/0x9);if(_0x3c4acb===_0x460ed9)break;else _0x49cbeb['push'](_0x49cbeb['shift']());}catch(_0x30a257){_0x49cbeb['push'](_0x49cbeb['shift']());}}}(_0x5079,0x50c99));import{join}from'path';import{existsSync}from'fs';function _0x5079(){const _0xfdc461=['28884KSwdVI','194fasCDu','Profile\x20\x22','334025UKVwjm','profile\x20\x22','14151WZMNjW','9mudmLd','2461392TwjWIn','1142040YBtepa','settings.json','GcybS','3183327HrvYXf','`ranger\x20profile\x20add\x20','status','3614272UBWoBp','cHVyH','EenRo','log','\x22\x20not\x20found\x20locally\x20or\x20in\x20the\x20cloud.\x20','\x0a✓\x20Now\x20using\x20profile\x20\x22','cloud\x20','Run\x20`ranger\x20profile\x20ls`\x20to\x20see\x20available\x20profiles,\x20or\x20'];_0x5079=function(){return _0xfdc461;};return _0x5079();}import{getEnvDir}from'./utils/settings.js';function _0x3326(_0x30ca74,_0x48c789){_0x30ca74=_0x30ca74-0x1ad;const _0x507979=_0x5079();let _0x3326b6=_0x507979[_0x30ca74];return _0x3326b6;}import{writeActiveProfileName}from'./utils/activeProfile.js';import{ApiError,fetchCloudProfile}from'./utils/cloudProfile.js';export async function useEnv(_0x10fc30){const _0x564960=_0x3326,_0x402ac9={'GcybS':function(_0x472c96,_0x122e51){return _0x472c96(_0x122e51);},'EenRo':function(_0xe9a7f2,_0x46dc50){return _0xe9a7f2(_0x46dc50);},'AerUe':function(_0xd8d09f,_0x382a5c){return _0xd8d09f(_0x382a5c);},'jqvQn':function(_0x3a538e,_0x5b6408){return _0x3a538e===_0x5b6408;},'PFPvy':function(_0x1b712b,_0x21fe4f){return _0x1b712b+_0x21fe4f;},'cHVyH':_0x564960(0x1bc)},_0x4aef92=_0x402ac9[_0x564960(0x1b2)](getEnvDir,_0x10fc30),_0x4b07c3=join(_0x4aef92,_0x564960(0x1b1)),_0x5f0b4b=_0x402ac9[_0x564960(0x1b8)](existsSync,_0x4aef92)&&_0x402ac9['AerUe'](existsSync,_0x4b07c3);if(_0x5f0b4b){await writeActiveProfileName(_0x10fc30),console['log'](_0x564960(0x1bb)+_0x10fc30+'\x22');return;}let _0x5a613d=null,_0x44a75a=![];try{_0x5a613d=await fetchCloudProfile(_0x10fc30);if(!_0x5a613d)_0x44a75a=!![];}catch(_0x293a1c){_0x293a1c instanceof ApiError&&_0x402ac9['jqvQn'](_0x293a1c[_0x564960(0x1b5)],0x194)&&(_0x44a75a=!![]);}if(_0x44a75a)throw new Error(_0x402ac9['PFPvy'](_0x564960(0x1c0)+_0x10fc30+_0x564960(0x1ba),_0x564960(0x1bd))+(_0x564960(0x1b4)+_0x10fc30+'`\x20to\x20create\x20one.'));await writeActiveProfileName(_0x10fc30),console[_0x564960(0x1b9)]('\x0a✓\x20Now\x20using\x20'+(_0x5a613d?_0x402ac9[_0x564960(0x1b7)]:'')+_0x564960(0x1c2)+_0x10fc30+'\x22');}
@@ -1 +1 @@
1
- (function(_0x1b4975,_0x47e486){const _0x243cc0=_0x5160,_0x1061e1=_0x1b4975();while(!![]){try{const _0x484ccf=-parseInt(_0x243cc0(0xe4))/0x1*(parseInt(_0x243cc0(0xf2))/0x2)+parseInt(_0x243cc0(0xe9))/0x3*(-parseInt(_0x243cc0(0xe1))/0x4)+-parseInt(_0x243cc0(0xe7))/0x5*(-parseInt(_0x243cc0(0xed))/0x6)+parseInt(_0x243cc0(0xf3))/0x7+-parseInt(_0x243cc0(0xe2))/0x8*(-parseInt(_0x243cc0(0xe5))/0x9)+parseInt(_0x243cc0(0xe3))/0xa*(-parseInt(_0x243cc0(0xe6))/0xb)+parseInt(_0x243cc0(0xe0))/0xc*(parseInt(_0x243cc0(0xeb))/0xd);if(_0x484ccf===_0x47e486)break;else _0x1061e1['push'](_0x1061e1['shift']());}catch(_0x547b88){_0x1061e1['push'](_0x1061e1['shift']());}}}(_0x26b4,0x45bf0));import{existsSync}from'fs';function _0x26b4(){const _0x4a210e=['646088BKdoaw','12660GDKodY','34019SwLFvO','9UjyRAk','1804RUCkuY','335zdRBVX','VbroB','60NbSqOY','sMReL','260sPZaXf','Vnpdr','50664jOKqAn','trim','utf-8','UNatP','VApje','6eDozUW','1457624oGFVMi','onydf','61212ywnfCi','72280SWLXCZ'];_0x26b4=function(){return _0x4a210e;};return _0x26b4();}import{mkdir,readFile,rename,unlink,writeFile}from'fs/promises';function _0x5160(_0x1a91a2,_0x1aadca){_0x1a91a2=_0x1a91a2-0xdf;const _0x26b484=_0x26b4();let _0x516083=_0x26b484[_0x1a91a2];return _0x516083;}import{join}from'path';import{getRangerDir}from'./rangerRoot.js';const ACTIVE_PROFILE_FILE='active-profile.txt',LEGACY_ACTIVE_ENV_FILE='active-env.txt';function getActiveProfilePath(){const _0x18556b=_0x5160,_0x8e3186={'Vnpdr':function(_0x3f92fb,_0x243cf6,_0x3bffca){return _0x3f92fb(_0x243cf6,_0x3bffca);}};return _0x8e3186[_0x18556b(0xec)](join,getRangerDir(),ACTIVE_PROFILE_FILE);}function getLegacyActiveEnvPath(){const _0x56040e={'oYgeU':function(_0x27d5e8){return _0x27d5e8();}};return join(_0x56040e['oYgeU'](getRangerDir),LEGACY_ACTIVE_ENV_FILE);}async function migrateLegacyActiveEnv(){const _0x291ea7=_0x5160,_0x38d5c2={'KTvjo':function(_0xb7d8d,_0x9fba8){return _0xb7d8d(_0x9fba8);},'UNatP':function(_0xd6208c){return _0xd6208c();},'IkoGk':'utf-8','onydf':function(_0x14663f,_0x35b3a9){return _0x14663f(_0x35b3a9);}},_0x59f219=getLegacyActiveEnvPath();if(!_0x38d5c2['KTvjo'](existsSync,_0x59f219))return null;let _0x259ff6=null;try{_0x259ff6=(await readFile(_0x59f219,_0x291ea7(0xef)))['trim']()||null;}catch{_0x259ff6=null;}if(!_0x259ff6)return null;const _0x4274a7=getActiveProfilePath();try{await rename(_0x59f219,_0x4274a7);}catch{try{const _0x25f206=_0x38d5c2[_0x291ea7(0xf0)](getRangerDir);await mkdir(_0x25f206,{'recursive':!![]}),await writeFile(_0x4274a7,_0x259ff6,_0x38d5c2['IkoGk']),await _0x38d5c2[_0x291ea7(0xdf)](unlink,_0x59f219);}catch{}}return _0x259ff6;}export async function readActiveProfileName(){const _0x3eb1b3=_0x5160,_0x45f1d3={'AbqwO':function(_0x4cfd5a){return _0x4cfd5a();},'bincC':function(_0x49393e,_0x11a16d){return _0x49393e(_0x11a16d);},'sVERa':_0x3eb1b3(0xef)},_0x3b22da=_0x45f1d3['AbqwO'](getActiveProfilePath);if(_0x45f1d3['bincC'](existsSync,_0x3b22da))try{return(await readFile(_0x3b22da,_0x45f1d3['sVERa']))[_0x3eb1b3(0xee)]()||null;}catch{return null;}return await migrateLegacyActiveEnv();}export async function writeActiveProfileName(_0x14cafd){const _0x986f1a=_0x5160,_0x22fb0d={'VbroB':function(_0x3daec7){return _0x3daec7();},'VApje':function(_0x1cd1e5,_0x374d18,_0x4b00dc){return _0x1cd1e5(_0x374d18,_0x4b00dc);},'TUciq':'utf-8','sMReL':function(_0x19b759,_0x4ddbd3){return _0x19b759(_0x4ddbd3);}},_0x7f5df=_0x22fb0d[_0x986f1a(0xe8)](getRangerDir);await _0x22fb0d[_0x986f1a(0xf1)](mkdir,_0x7f5df,{'recursive':!![]});const _0x4c5710=_0x22fb0d['VbroB'](getActiveProfilePath);await writeFile(_0x4c5710,_0x14cafd,_0x22fb0d['TUciq']);const _0x30a380=getLegacyActiveEnvPath();if(existsSync(_0x30a380))try{await _0x22fb0d[_0x986f1a(0xea)](unlink,_0x30a380);}catch{}}export async function migrateActiveProfileFile(){const _0x38126f=await migrateLegacyActiveEnv();return _0x38126f!==null;}
1
+ (function(_0xe86462,_0x35d1ab){const _0x32c3c8=_0x176d,_0x589bcf=_0xe86462();while(!![]){try{const _0x29ce33=-parseInt(_0x32c3c8(0x15a))/0x1*(parseInt(_0x32c3c8(0x151))/0x2)+-parseInt(_0x32c3c8(0x163))/0x3*(parseInt(_0x32c3c8(0x15c))/0x4)+-parseInt(_0x32c3c8(0x159))/0x5*(parseInt(_0x32c3c8(0x15f))/0x6)+parseInt(_0x32c3c8(0x15d))/0x7*(parseInt(_0x32c3c8(0x157))/0x8)+-parseInt(_0x32c3c8(0x156))/0x9+parseInt(_0x32c3c8(0x150))/0xa*(parseInt(_0x32c3c8(0x161))/0xb)+parseInt(_0x32c3c8(0x166))/0xc*(parseInt(_0x32c3c8(0x162))/0xd);if(_0x29ce33===_0x35d1ab)break;else _0x589bcf['push'](_0x589bcf['shift']());}catch(_0x7edae2){_0x589bcf['push'](_0x589bcf['shift']());}}}(_0x15dc,0x36605));import{existsSync}from'fs';import{mkdir,readFile,rename,unlink,writeFile}from'fs/promises';import{join}from'path';import{getRangerDir,getRangerHomeDir}from'./rangerRoot.js';const ACTIVE_PROFILE_FILE='active-profile.txt',LEGACY_ACTIVE_ENV_FILE='active-env.txt';function getActiveProfilePath(){const _0xb68163=_0x176d,_0x3b42fd={'mUtQJ':function(_0x1e4c65,_0x234f4d,_0x167c58){return _0x1e4c65(_0x234f4d,_0x167c58);},'eAmVb':function(_0x46a8cc){return _0x46a8cc();},'KHHTa':function(_0x2931e0,_0x2361b1){return _0x2931e0(_0x2361b1);},'VusDz':function(_0x146e9d){return _0x146e9d();}},_0x102374=_0x3b42fd['mUtQJ'](join,_0x3b42fd['eAmVb'](getRangerDir),ACTIVE_PROFILE_FILE);if(_0x3b42fd[_0xb68163(0x15b)](existsSync,_0x102374))return _0x102374;return join(_0x3b42fd[_0xb68163(0x15e)](getRangerHomeDir),ACTIVE_PROFILE_FILE);}function _0x176d(_0x469da7,_0x276204){_0x469da7=_0x469da7-0x14f;const _0x15dc3c=_0x15dc();let _0x176d39=_0x15dc3c[_0x469da7];return _0x176d39;}function getLegacyActiveEnvPath(){const _0x5b2dfd=_0x176d,_0x48a36f={'fcuBf':function(_0x3de72e){return _0x3de72e();},'rUYeg':function(_0x4ff0d8,_0xc13f92,_0x500a03){return _0x4ff0d8(_0xc13f92,_0x500a03);}},_0x254462=join(_0x48a36f['fcuBf'](getRangerDir),LEGACY_ACTIVE_ENV_FILE);if(existsSync(_0x254462))return _0x254462;return _0x48a36f[_0x5b2dfd(0x158)](join,getRangerHomeDir(),LEGACY_ACTIVE_ENV_FILE);}function getActiveProfileWritePath(){const _0x21b26b=_0x176d,_0x298baf={'dzGZc':function(_0x431e10){return _0x431e10();},'fXUbC':function(_0x20a6a6){return _0x20a6a6();},'wocKB':function(_0x20af4c,_0x4a738d,_0x4ed090){return _0x20af4c(_0x4a738d,_0x4ed090);}},_0x26badf=_0x298baf[_0x21b26b(0x167)](getRangerDir);if(existsSync(_0x26badf))return{'path':join(_0x26badf,ACTIVE_PROFILE_FILE),'dir':_0x26badf,'isUserScope':![]};const _0x36baa2=_0x298baf[_0x21b26b(0x154)](getRangerHomeDir);return{'path':_0x298baf['wocKB'](join,_0x36baa2,ACTIVE_PROFILE_FILE),'dir':_0x36baa2,'isUserScope':!![]};}async function migrateLegacyActiveEnv(){const _0x44baf4=_0x176d,_0x238fbf={'xXfpv':function(_0x1a2cba){return _0x1a2cba();},'yWuRZ':function(_0x570894,_0x332a0b,_0x483c07){return _0x570894(_0x332a0b,_0x483c07);},'BqXKX':function(_0x2d0533){return _0x2d0533();},'cLAdu':function(_0x404d5e,_0x4e2a34,_0x5b2b89){return _0x404d5e(_0x4e2a34,_0x5b2b89);},'XXRWC':function(_0x36167d,_0x920b9b){return _0x36167d(_0x920b9b);}},_0x4a7b9b=_0x238fbf[_0x44baf4(0x155)](getLegacyActiveEnvPath);if(!existsSync(_0x4a7b9b))return null;let _0x54f45a=null;try{_0x54f45a=(await _0x238fbf['yWuRZ'](readFile,_0x4a7b9b,_0x44baf4(0x160)))['trim']()||null;}catch{_0x54f45a=null;}if(!_0x54f45a)return null;const {path:_0x24497a,dir:_0x282b48}=_0x238fbf['BqXKX'](getActiveProfileWritePath);try{await rename(_0x4a7b9b,_0x24497a);}catch{try{await _0x238fbf[_0x44baf4(0x165)](mkdir,_0x282b48,{'recursive':!![]}),await writeFile(_0x24497a,_0x54f45a,'utf-8'),await _0x238fbf[_0x44baf4(0x152)](unlink,_0x4a7b9b);}catch{}}return _0x54f45a;}export async function readActiveProfileName(){const _0x3ca9a3=_0x176d,_0x3e7978={'zhOVx':function(_0x39bed1){return _0x39bed1();},'LJxQZ':function(_0x15ac7a,_0x5b116c){return _0x15ac7a(_0x5b116c);},'ZfmFm':function(_0x528bf2,_0x4fc18e,_0x55709a){return _0x528bf2(_0x4fc18e,_0x55709a);},'PuMdO':'utf-8'},_0x4ef4e3=_0x3e7978['zhOVx'](getActiveProfilePath);if(_0x3e7978['LJxQZ'](existsSync,_0x4ef4e3))try{return(await _0x3e7978[_0x3ca9a3(0x14f)](readFile,_0x4ef4e3,_0x3e7978[_0x3ca9a3(0x164)]))['trim']()||null;}catch{return null;}return await migrateLegacyActiveEnv();}export async function writeActiveProfileName(_0x1ab8a8){const _0x4bd967=_0x176d,_0x41f8dd={'Vqoqy':function(_0x26b8eb,_0x4ca979,_0x468a2a,_0x63b8ca){return _0x26b8eb(_0x4ca979,_0x468a2a,_0x63b8ca);},'XRPYz':_0x4bd967(0x160),'eSaVp':function(_0x3f2e30,_0x26d8db){return _0x3f2e30(_0x26d8db);},'DuKiT':function(_0x5b078c,_0x3da3dc){return _0x5b078c(_0x3da3dc);}},{path:_0x2accb9,dir:_0x5af403}=getActiveProfileWritePath();await mkdir(_0x5af403,{'recursive':!![]}),await _0x41f8dd[_0x4bd967(0x168)](writeFile,_0x2accb9,_0x1ab8a8,_0x41f8dd['XRPYz']);const _0x395116=getLegacyActiveEnvPath();if(_0x41f8dd[_0x4bd967(0x153)](existsSync,_0x395116))try{await _0x41f8dd['DuKiT'](unlink,_0x395116);}catch{}}export async function migrateActiveProfileFile(){const _0x59d6a8={'wWFtv':function(_0x9b069f){return _0x9b069f();}},_0x5475c0=await _0x59d6a8['wWFtv'](migrateLegacyActiveEnv);return _0x5475c0!==null;}function _0x15dc(){const _0x21df11=['7CySQcj','VusDz','702xEnjSH','utf-8','40843McIjAv','13qKinHM','6726FeIQUg','PuMdO','cLAdu','5844036IUHRpY','dzGZc','Vqoqy','ZfmFm','100fDnUuV','108020LgADpD','XXRWC','eSaVp','fXUbC','xXfpv','1711188aJtLgj','1845416YLcNrF','rUYeg','895EtDCWD','2LUPqDP','KHHTa','380raeROk'];_0x15dc=function(){return _0x21df11;};return _0x15dc();}
@@ -1 +1 @@
1
- const _0x8dd3fe=_0x183b;(function(_0x24a147,_0x43cc0f){const _0x529474=_0x183b,_0x2e893d=_0x24a147();while(!![]){try{const _0x544f88=parseInt(_0x529474(0x14c))/0x1*(-parseInt(_0x529474(0x158))/0x2)+-parseInt(_0x529474(0x156))/0x3+-parseInt(_0x529474(0x14a))/0x4+-parseInt(_0x529474(0x160))/0x5+-parseInt(_0x529474(0x166))/0x6*(-parseInt(_0x529474(0x133))/0x7)+-parseInt(_0x529474(0x15f))/0x8*(parseInt(_0x529474(0x16a))/0x9)+parseInt(_0x529474(0x13e))/0xa*(parseInt(_0x529474(0x138))/0xb);if(_0x544f88===_0x43cc0f)break;else _0x2e893d['push'](_0x2e893d['shift']());}catch(_0x1dd3d4){_0x2e893d['push'](_0x2e893d['shift']());}}}(_0x341a,0x70ec6));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','HOME',_0x8dd3fe(0x144),_0x8dd3fe(0x135),'TEMP',_0x8dd3fe(0x149),'APPDATA','LOCALAPPDATA',_0x8dd3fe(0x15e),_0x8dd3fe(0x15b),'PLAYWRIGHT_BROWSERS_PATH',_0x8dd3fe(0x15c),'CHROME_BIN','CHROMIUM_BIN','npm_config_cache',_0x8dd3fe(0x142),'npm_config_userconfig','NPM_CONFIG_USERCONFIG',_0x8dd3fe(0x143),'NPM_CONFIG_PREFIX',_0x8dd3fe(0x13f),'NPM_CONFIG_REGISTRY',_0x8dd3fe(0x153),_0x8dd3fe(0x163),'RANGER_TEST_SKIP_BROWSER_WAIT',_0x8dd3fe(0x145),AI_PROXY_METADATA_HEADERS_ENV_VAR],UNEXPANDED_PATH_TOKEN_PATTERNS=[_0x8dd3fe(0x148),'$PATH',_0x8dd3fe(0x167)];function parseCustomHeaders(_0x52f83c){const _0x3acb6c=_0x8dd3fe;if(!_0x52f83c)return[];return _0x52f83c['split'](/\r?\n/)['map'](_0x5447d1=>_0x5447d1['trim']())[_0x3acb6c(0x136)](Boolean)['map'](_0x522378=>{const _0x1df873=_0x3acb6c,_0x1dff38=_0x522378['indexOf'](':');if(_0x1dff38===-0x1)return null;const _0x3d46a5=_0x522378['slice'](0x0,_0x1dff38)[_0x1df873(0x159)](),_0x2d8a28=_0x522378[_0x1df873(0x165)](_0x1dff38+0x1)['trim']();if(!_0x3d46a5)return null;return[_0x3d46a5,_0x2d8a28];})[_0x3acb6c(0x136)](_0x107fef=>_0x107fef!==null);}function _0x341a(){const _0xc9c910=['12eqDTTm','%PATH%','PATH\x20is\x20missing\x20core\x20system\x20directories\x20like\x20`/usr/bin`\x20and\x20`/bin`.','length','36DdjtEG','set','true','1643901keqreH','toLowerCase','TMP','filter','/usr/bin','341OgtkTW','Fdxpb','entries','includes','PATH\x20is\x20empty,\x20so\x20npm\x20and\x20core\x20system\x20tools\x20may\x20be\x20unavailable.','map','487130PHSfvm','npm_config_registry','TEMP','join','NPM_CONFIG_CACHE','npm_config_prefix','TMPDIR','RANGER_DISABLE_MCP','env','x-ranger-','${PATH}','USERPROFILE','2437764kuSKhu','aFRAv','148175KcSnzm','push','ytIVz','metadata','Ehoar','some','qYcrx','DEBUG','hpMSj','vSNnM','1067067SDCsfR','biinV','2JZzjRu','trim','fromEntries','XDG_CONFIG_HOME','PLAYWRIGHT_SKIP_BROWSER_DOWNLOAD','xAttE','XDG_CACHE_HOME','663800HvAnxs','360250HyDDAo','sessionToken','string','NODE_ENV','from','slice'];_0x341a=function(){return _0xc9c910;};return _0x341a();}export function getAgentPathHealthWarning(_0x9bf503,_0x19e367=process['platform']){const _0x10819d=_0x8dd3fe,_0x5db9b6={'Fdxpb':function(_0x5363be,_0x439d19){return _0x5363be||_0x439d19;},'Ehoar':function(_0x4f135b,_0x35b3e4){return _0x4f135b!==_0x35b3e4;},'OvvYs':_0x10819d(0x137),'vSNnM':'/bin','aFRAv':function(_0xbbe497,_0x958512){return _0xbbe497&&_0x958512;},'biinV':'Your\x20PATH\x20looks\x20incomplete\x20for\x20browser\x20automation.\x20Ranger\x20will\x20keep\x20going,\x20but\x20browser\x20setup\x20may\x20fail.'},_0x201191=[],_0x3491b4=_0x5db9b6[_0x10819d(0x139)](_0x9bf503,'')['split'](delimiter)[_0x10819d(0x136)](Boolean);_0x3491b4[_0x10819d(0x169)]===0x0&&_0x201191['push'](_0x10819d(0x13c));UNEXPANDED_PATH_TOKEN_PATTERNS[_0x10819d(0x151)](_0x1f9ca9=>(_0x9bf503||'')['includes'](_0x1f9ca9))&&_0x201191[_0x10819d(0x14d)]('PATH\x20contains\x20an\x20unexpanded\x20placeholder\x20like\x20`${PATH}`\x20instead\x20of\x20the\x20expanded\x20current\x20PATH.');if(_0x5db9b6[_0x10819d(0x150)](_0x19e367,'win32')){const _0x442773=_0x3491b4['includes'](_0x5db9b6['OvvYs']),_0x473006=_0x3491b4['includes'](_0x5db9b6[_0x10819d(0x155)]);_0x5db9b6[_0x10819d(0x14b)](!_0x442773,!_0x473006)&&_0x201191[_0x10819d(0x14d)](_0x10819d(0x168));}if(_0x201191['length']===0x0)return null;return{'summary':_0x5db9b6[_0x10819d(0x157)],'issues':_0x201191};}function _0x183b(_0x5372c5,_0x111d4e){_0x5372c5=_0x5372c5-0x133;const _0x341a8d=_0x341a();let _0x183bd1=_0x341a8d[_0x5372c5];return _0x183bd1;}export function buildAgentEnv(_0x15f65d){const _0x249af7=_0x8dd3fe,_0x3f9d0f={'ytIVz':function(_0x454dcf,_0x3ff387,_0x1e8fb5){return _0x454dcf(_0x3ff387,_0x1e8fb5);},'fQamJ':function(_0x433142){return _0x433142();},'qYcrx':'ranger-claude-tmp','hpMSj':'TEMP','gXuxR':function(_0x5bb807,_0x37b3c3){return _0x5bb807(_0x37b3c3);},'xAttE':function(_0x57040e,_0x39e1b7){return _0x57040e==_0x39e1b7;}};if(_0x15f65d['byokEnabled'])return Object[_0x249af7(0x15a)](Object['entries'](process[_0x249af7(0x146)])['filter'](_0x5636fd=>typeof _0x5636fd[0x1]===_0x249af7(0x162)));if(!_0x15f65d['sessionToken'])throw new Error('Session\x20token\x20is\x20required\x20when\x20RANGER_BYOK=false');const _0x2a38c7={'ANTHROPIC_API_KEY':_0x15f65d[_0x249af7(0x161)],'ANTHROPIC_BASE_URL':getAiProxyUrl(),'DISABLE_TELEMETRY':_0x249af7(0x16c)};for(const _0x2017e7 of AGENT_ENV_PASSTHROUGH_KEYS){const _0x4ecd47=process['env'][_0x2017e7];_0x4ecd47&&!['TMPDIR','TMP',_0x249af7(0x140)][_0x249af7(0x13b)](_0x2017e7)&&(_0x2a38c7[_0x2017e7]=_0x4ecd47);}const _0x59f626=_0x3f9d0f[_0x249af7(0x14e)](join,_0x3f9d0f['fQamJ'](tmpdir),_0x3f9d0f[_0x249af7(0x152)]);try{mkdirSync(_0x59f626,{'recursive':!![]});}catch{}_0x2a38c7[_0x249af7(0x144)]=_0x59f626,_0x2a38c7[_0x249af7(0x135)]=_0x59f626,_0x2a38c7[_0x3f9d0f[_0x249af7(0x154)]]=_0x59f626;const _0x334bf9=_0x3f9d0f['gXuxR'](parseCustomHeaders,process['env'][AI_PROXY_METADATA_HEADERS_ENV_VAR]),_0x4932ba=new Map(_0x334bf9),_0xf1cbc4=new Set(_0x334bf9[_0x249af7(0x13d)](([_0x25b28f])=>_0x25b28f[_0x249af7(0x134)]()));if(_0x15f65d[_0x249af7(0x14f)])for(const [_0x1c4ed6,_0x3e1853]of Object[_0x249af7(0x13a)](_0x15f65d['metadata'])){if(_0x3f9d0f[_0x249af7(0x15d)](_0x3e1853,null)||_0x3e1853==='')continue;const _0x14700f=_0x249af7(0x147)+_0x1c4ed6;!_0xf1cbc4['has'](_0x14700f[_0x249af7(0x134)]())&&(_0x4932ba[_0x249af7(0x16b)](_0x14700f,_0x3e1853),_0xf1cbc4['add'](_0x14700f['toLowerCase']()));}const _0x2992c9=Array[_0x249af7(0x164)](_0x4932ba['entries']())[_0x249af7(0x13d)](([_0x358ec4,_0x280b0f])=>_0x358ec4+':\x20'+_0x280b0f)[_0x249af7(0x141)]('\x0a');return _0x2992c9&&(_0x2a38c7[AI_PROXY_METADATA_HEADERS_ENV_VAR]=_0x2992c9),_0x2a38c7;}
1
+ function _0x2f6d(){const _0x1ffce9=['npm_config_userconfig','iLWPr','445864BaiUdY','entries','PATH\x20contains\x20an\x20unexpanded\x20placeholder\x20like\x20`${PATH}`\x20instead\x20of\x20the\x20expanded\x20current\x20PATH.','map','Onwrj','includes','PATH\x20is\x20empty,\x20so\x20npm\x20and\x20core\x20system\x20tools\x20may\x20be\x20unavailable.','has','CHROMIUM_BIN','filter','slice','1466940oAAWZv','tcoYN','464CeJVxE','RANGER_DISABLE_MCP','$PATH','NPM_CONFIG_USERCONFIG','rwEXf','gSyRu','30pYCeWB','TMP','sessionToken','DEBUG','npm_config_registry','766566isWBcc','from','RANGER_TEST_SKIP_BROWSER_WAIT','iyzwC','82104AhCMvj','toLowerCase','PATH\x20is\x20missing\x20core\x20system\x20directories\x20like\x20`/usr/bin`\x20and\x20`/bin`.','PLAYWRIGHT_SKIP_BROWSER_DOWNLOAD','true','21abkfHR','trim','PLAYWRIGHT_BROWSERS_PATH','npm_config_prefix','MzYzP','split','env','MWbxE','3545TRnHTx','78210DGlXkK','NPM_CONFIG_PREFIX','NPM_CONFIG_CACHE','TEMP','win32','TMPDIR','metadata','USERPROFILE','463700gCnaom','/usr/bin','byokEnabled','set','push'];_0x2f6d=function(){return _0x1ffce9;};return _0x2f6d();}const _0x10be46=_0x55ba;(function(_0x38b3ad,_0x30fb03){const _0xdd1463=_0x55ba,_0x248099=_0x38b3ad();while(!![]){try{const _0x2219f7=-parseInt(_0xdd1463(0xce))/0x1+-parseInt(_0xdd1463(0xbf))/0x2*(-parseInt(_0xdd1463(0xe1))/0x3)+-parseInt(_0xdd1463(0xdb))/0x4*(parseInt(_0xdd1463(0xbe))/0x5)+parseInt(_0xdd1463(0xd9))/0x6+-parseInt(_0xdd1463(0xb6))/0x7*(-parseInt(_0xdd1463(0xea))/0x8)+parseInt(_0xdd1463(0xe6))/0x9+parseInt(_0xdd1463(0xc7))/0xa;if(_0x2219f7===_0x30fb03)break;else _0x248099['push'](_0x248099['shift']());}catch(_0xea4473){_0x248099['push'](_0x248099['shift']());}}}(_0x2f6d,0x41dc5));import{delimiter,join}from'path';import{tmpdir}from'os';function _0x55ba(_0x45fcf9,_0x16bd41){_0x45fcf9=_0x45fcf9-0xb4;const _0x2f6dc0=_0x2f6d();let _0x55ba4c=_0x2f6dc0[_0x45fcf9];return _0x55ba4c;}import{mkdirSync}from'fs';import{getAiProxyUrl}from'./environment.js';const AI_PROXY_METADATA_HEADERS_ENV_VAR='ANTHROPIC_CUSTOM_HEADERS',AGENT_ENV_PASSTHROUGH_KEYS=['PATH','HOME',_0x10be46(0xc4),'TMP','TEMP',_0x10be46(0xc6),'APPDATA','LOCALAPPDATA','XDG_CACHE_HOME','XDG_CONFIG_HOME',_0x10be46(0xb8),_0x10be46(0xb4),'CHROME_BIN',_0x10be46(0xd6),'npm_config_cache',_0x10be46(0xc1),_0x10be46(0xcc),_0x10be46(0xde),_0x10be46(0xb9),_0x10be46(0xc0),_0x10be46(0xe5),'NPM_CONFIG_REGISTRY',_0x10be46(0xe4),'NODE_ENV',_0x10be46(0xe8),_0x10be46(0xdc),AI_PROXY_METADATA_HEADERS_ENV_VAR],UNEXPANDED_PATH_TOKEN_PATTERNS=['${PATH}',_0x10be46(0xdd),'%PATH%'];function parseCustomHeaders(_0x5f062d){const _0x1792bb=_0x10be46,_0x54c9b0={'QtDdo':function(_0x3711fb,_0xa83296){return _0x3711fb+_0xa83296;}};if(!_0x5f062d)return[];return _0x5f062d['split'](/\r?\n/)['map'](_0x5e6b5c=>_0x5e6b5c[_0x1792bb(0xb7)]())[_0x1792bb(0xd7)](Boolean)[_0x1792bb(0xd1)](_0xee2677=>{const _0x298807=_0x1792bb,_0x41b07e=_0xee2677['indexOf'](':');if(_0x41b07e===-0x1)return null;const _0x46efc2=_0xee2677[_0x298807(0xd8)](0x0,_0x41b07e)[_0x298807(0xb7)](),_0x3ef6c9=_0xee2677['slice'](_0x54c9b0['QtDdo'](_0x41b07e,0x1))[_0x298807(0xb7)]();if(!_0x46efc2)return null;return[_0x46efc2,_0x3ef6c9];})[_0x1792bb(0xd7)](_0x143eaa=>_0x143eaa!==null);}export function getAgentPathHealthWarning(_0x1a7552,_0x5a01c9=process['platform']){const _0x525625=_0x10be46,_0x32f33c={'iLWPr':_0x525625(0xd4),'gSyRu':_0x525625(0xd0),'MWbxE':function(_0x28993c,_0x833d4){return _0x28993c!==_0x833d4;},'tcoYN':_0x525625(0xc8),'lJFNs':function(_0x8625f4,_0x4a61ea){return _0x8625f4&&_0x4a61ea;},'iyzwC':function(_0x3cbe3c,_0x4d0cfa){return _0x3cbe3c===_0x4d0cfa;}},_0x1d72fe=[],_0x3810b8=(_0x1a7552||'')[_0x525625(0xbb)](delimiter)['filter'](Boolean);_0x3810b8['length']===0x0&&_0x1d72fe[_0x525625(0xcb)](_0x32f33c[_0x525625(0xcd)]);UNEXPANDED_PATH_TOKEN_PATTERNS['some'](_0x3f3722=>(_0x1a7552||'')[_0x525625(0xd3)](_0x3f3722))&&_0x1d72fe[_0x525625(0xcb)](_0x32f33c[_0x525625(0xe0)]);if(_0x32f33c[_0x525625(0xbd)](_0x5a01c9,_0x525625(0xc3))){const _0x23a27d=_0x3810b8['includes'](_0x32f33c[_0x525625(0xda)]),_0x4d1373=_0x3810b8[_0x525625(0xd3)]('/bin');_0x32f33c['lJFNs'](!_0x23a27d,!_0x4d1373)&&_0x1d72fe[_0x525625(0xcb)](_0x525625(0xec));}if(_0x32f33c[_0x525625(0xe9)](_0x1d72fe['length'],0x0))return null;return{'summary':'Your\x20PATH\x20looks\x20incomplete\x20for\x20browser\x20automation.\x20Ranger\x20will\x20keep\x20going,\x20but\x20browser\x20setup\x20may\x20fail.','issues':_0x1d72fe};}export function buildAgentEnv(_0x124fae){const _0x4f60a1=_0x10be46,_0xca05fd={'icsZx':'Session\x20token\x20is\x20required\x20when\x20RANGER_BYOK=false','NzBfu':function(_0x1ac64a){return _0x1ac64a();},'IZePu':_0x4f60a1(0xb5),'Onwrj':'TMPDIR','rwEXf':_0x4f60a1(0xe2),'Kxoxr':_0x4f60a1(0xc2),'cEUlt':function(_0x35539d){return _0x35539d();},'MzYzP':'ranger-claude-tmp'};if(_0x124fae[_0x4f60a1(0xc9)])return Object['fromEntries'](Object[_0x4f60a1(0xcf)](process['env'])[_0x4f60a1(0xd7)](_0x342f7b=>typeof _0x342f7b[0x1]==='string'));if(!_0x124fae[_0x4f60a1(0xe3)])throw new Error(_0xca05fd['icsZx']);const _0x578ddb={'ANTHROPIC_API_KEY':_0x124fae[_0x4f60a1(0xe3)],'ANTHROPIC_BASE_URL':_0xca05fd['NzBfu'](getAiProxyUrl),'DISABLE_TELEMETRY':_0xca05fd['IZePu']};for(const _0x5437c5 of AGENT_ENV_PASSTHROUGH_KEYS){const _0x3d6a3c=process['env'][_0x5437c5];_0x3d6a3c&&![_0xca05fd[_0x4f60a1(0xd2)],_0xca05fd['rwEXf'],_0xca05fd['Kxoxr']][_0x4f60a1(0xd3)](_0x5437c5)&&(_0x578ddb[_0x5437c5]=_0x3d6a3c);}const _0x3bbf86=join(_0xca05fd['cEUlt'](tmpdir),_0xca05fd[_0x4f60a1(0xba)]);try{mkdirSync(_0x3bbf86,{'recursive':!![]});}catch{}_0x578ddb[_0x4f60a1(0xc4)]=_0x3bbf86,_0x578ddb[_0xca05fd[_0x4f60a1(0xdf)]]=_0x3bbf86,_0x578ddb[_0xca05fd['Kxoxr']]=_0x3bbf86;const _0x4e5baf=parseCustomHeaders(process[_0x4f60a1(0xbc)][AI_PROXY_METADATA_HEADERS_ENV_VAR]),_0x5701fd=new Map(_0x4e5baf),_0x387b76=new Set(_0x4e5baf['map'](([_0x2ad6e5])=>_0x2ad6e5['toLowerCase']()));if(_0x124fae[_0x4f60a1(0xc5)])for(const [_0x3063a3,_0x229ef6]of Object[_0x4f60a1(0xcf)](_0x124fae['metadata'])){if(_0x229ef6==null||_0x229ef6==='')continue;const _0x338c44='x-ranger-'+_0x3063a3;!_0x387b76[_0x4f60a1(0xd5)](_0x338c44['toLowerCase']())&&(_0x5701fd[_0x4f60a1(0xca)](_0x338c44,_0x229ef6),_0x387b76['add'](_0x338c44[_0x4f60a1(0xeb)]()));}const _0xe629a2=Array[_0x4f60a1(0xe7)](_0x5701fd['entries']())[_0x4f60a1(0xd1)](([_0xc0d2cc,_0x181e3c])=>_0xc0d2cc+':\x20'+_0x181e3c)['join']('\x0a');return _0xe629a2&&(_0x578ddb[AI_PROXY_METADATA_HEADERS_ENV_VAR]=_0xe629a2),_0x578ddb;}