@ranger-testing/ranger-cli 2.5.4-alpha.071b7bd-1 → 2.5.4-alpha.1f7a251-7

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (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 -0
  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 -0
  42. package/build/commands/utils/cloudProfileSession.js +1 -0
  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 -0
  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 -0
  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 -0
  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 -0
  63. package/build/commands/utils/resolveProfileUrl.js +1 -0
  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 +6 -2
@@ -1 +1 @@
1
- function _0x357d(){const _0x3f0fb4=['\x20--opencode','YzuOX','\x20skill','109574XQbJGa','installLevel','\x20<your-api-token>','This\x20project\x20only\x20(','\x20successfully!\x0a','warn','\x20\x203.\x20Run:\x20ranger\x20skillup','3rPvwbz','90NPdWHD','1003036dFssTK','14880bJtwYU','8fxcUWf','project-level','\x20\x20-\x20Start\x20OpenCode\x20and\x20run\x20the\x20`ranger_enable`\x20tool\x20to\x20enable\x20hooks.','2gMxZNi','ranger','CJCvd','log','user-level','1887636lpXBMj','YIVZT','❌\x20No\x20Ranger\x20API\x20token\x20found.\x0a','user','All\x20projects\x20(','\x20\x202.\x20Run:\x20ranger\x20setup','PbNFu','autoInstall','XiedE','Where\x20should\x20skills\x20be\x20installed?','ZJdeh','message','VcePr','1859KyybiP','stdin','\x20\x20Failed\x20to\x20install\x20ranger\x20skill:','prompt','\x0a✅\x20Installed\x20','\x0a⚠️\x20\x20No\x20skills\x20were\x20installed.\x0a','74097WWnuQJ','ooUYd','opencode','HBzFU','vTONS','869743LkDuXr','split','tfkzF','402310ZappGS','list','✓\x20Found\x20API\x20token','xVQiY'];_0x357d=function(){return _0x3f0fb4;};return _0x357d();}(function(_0x2f4ebb,_0x5ec1bc){const _0x5ab2f2=_0x40bb,_0x55e439=_0x2f4ebb();while(!![]){try{const _0xbc468f=-parseInt(_0x5ab2f2(0x17f))/0x1*(-parseInt(_0x5ab2f2(0x18d))/0x2)+-parseInt(_0x5ab2f2(0x186))/0x3*(parseInt(_0x5ab2f2(0x188))/0x4)+parseInt(_0x5ab2f2(0x178))/0x5+parseInt(_0x5ab2f2(0x192))/0x6+-parseInt(_0x5ab2f2(0x175))/0x7*(-parseInt(_0x5ab2f2(0x18a))/0x8)+-parseInt(_0x5ab2f2(0x170))/0x9*(-parseInt(_0x5ab2f2(0x187))/0xa)+parseInt(_0x5ab2f2(0x19f))/0xb*(-parseInt(_0x5ab2f2(0x189))/0xc);if(_0xbc468f===_0x5ec1bc)break;else _0x55e439['push'](_0x55e439['shift']());}catch(_0x56de54){_0x55e439['push'](_0x55e439['shift']());}}}(_0x357d,0x3b3ed));import{basename}from'path';import _0x1b1bcd from'inquirer';import{getToken}from'./utils/keychain.js';import{installSkill}from'./utils/skills.js';function _0x40bb(_0x36fb7a,_0x5d3d7b){_0x36fb7a=_0x36fb7a-0x170;const _0x357d91=_0x357d();let _0x40bb9b=_0x357d91[_0x36fb7a];return _0x40bb9b;}import{getCurrentVersion}from'./utils/version.js';import{getClaudeConfigDir,getProjectRoot}from'./utils/claudeConfig.js';import{getOpencodeConfigDir}from'./utils/opencodeConfig.js';export async function skillup(_0x1af866={}){const _0x49b0b5=_0x40bb,_0x526db3={'coqyO':'\x0a🎯\x20Ranger\x20Skill\x20Setup\x0a','ZJdeh':'claude','OTgjS':function(_0x179362){return _0x179362();},'tfkzF':function(_0x17c196,_0x43bfe0){return _0x17c196===_0x43bfe0;},'ooUYd':_0x49b0b5(0x17c),'XiedE':function(_0x2be8c2,_0x20c70b){return _0x2be8c2===_0x20c70b;},'PbNFu':_0x49b0b5(0x172),'PRjXN':'To\x20get\x20started:','YIVZT':_0x49b0b5(0x17a),'sqvQb':function(_0x44b2a7){return _0x44b2a7();},'xVQiY':function(_0xace1a,_0x1d9c95){return _0xace1a(_0x1d9c95);},'YzuOX':function(_0x5b8d39,_0x5da432){return _0x5b8d39===_0x5da432;},'JvxNB':'project','CJCvd':function(_0x2715da,_0xe979ef,_0x586cb8){return _0x2715da(_0xe979ef,_0x586cb8);},'HBzFU':_0x49b0b5(0x1a1),'VcePr':function(_0xfe2fa8,_0x303649){return _0xfe2fa8>_0x303649;},'fdWef':_0x49b0b5(0x195),'vTONS':_0x49b0b5(0x18b),'ZtsUH':_0x49b0b5(0x1a4)};console[_0x49b0b5(0x190)](_0x526db3['coqyO']);const _0x23a342=_0x1af866['platform']??_0x526db3[_0x49b0b5(0x19c)],_0x31a0a3=await _0x526db3['OTgjS'](getToken);if(!_0x31a0a3){const _0x449382='1|4|0|3|2|5'[_0x49b0b5(0x176)]('|');let _0x114ac4=0x0;while(!![]){switch(_0x449382[_0x114ac4++]){case'0':console['log']('\x20\x201.\x20Get\x20your\x20API\x20token\x20from\x20https://dashboard.ranger.net/cli');continue;case'1':console[_0x49b0b5(0x190)](_0x49b0b5(0x194));continue;case'2':console['log'](_0x49b0b5(0x185)+(_0x526db3[_0x49b0b5(0x177)](_0x23a342,_0x49b0b5(0x172))?_0x526db3[_0x49b0b5(0x171)]:'')+'\x0a');continue;case'3':console['log'](_0x49b0b5(0x197)+(_0x526db3[_0x49b0b5(0x19a)](_0x23a342,_0x526db3[_0x49b0b5(0x198)])?_0x526db3[_0x49b0b5(0x171)]:'')+_0x49b0b5(0x181));continue;case'4':console[_0x49b0b5(0x190)](_0x526db3['PRjXN']);continue;case'5':return;}break;}}console['log'](_0x526db3[_0x49b0b5(0x193)]);const _0x2f0cc6=_0x526db3['sqvQb'](getProjectRoot),_0x5a4a19=_0x526db3[_0x49b0b5(0x17b)](basename,_0x2f0cc6),_0x2a4255=_0x526db3[_0x49b0b5(0x17d)](_0x23a342,'opencode')?getOpencodeConfigDir('user')+'/skills/':getClaudeConfigDir()+'/skills/',_0x4f8616=_0x23a342==='opencode'?_0x2f0cc6+'/.opencode/skills/':_0x2f0cc6+'/.claude/skills/',_0x1558cd=process[_0x49b0b5(0x1a0)]['isTTY']&&process['stdout']['isTTY'];let _0x174d7a;if(_0x1af866['autoInstall'])_0x174d7a=_0x1af866[_0x49b0b5(0x199)];else{if(_0x1558cd){const _0x402bab=await _0x1b1bcd[_0x49b0b5(0x1a2)]([{'type':_0x49b0b5(0x179),'name':_0x49b0b5(0x180),'message':_0x49b0b5(0x19b),'choices':[{'name':_0x49b0b5(0x196)+_0x2a4255+')','value':_0x49b0b5(0x195)},{'name':_0x49b0b5(0x182)+_0x4f8616+')','value':'project'}]}]);_0x174d7a=_0x402bab['installLevel'];}else _0x174d7a=_0x526db3['JvxNB'],console[_0x49b0b5(0x190)]('Non-interactive\x20mode:\x20Installing\x20skills\x20at\x20project\x20level\x20('+_0x4f8616+')');}let _0x125fb2=0x0;const _0x4e2e70=getCurrentVersion();console[_0x49b0b5(0x190)]('\x0a📦\x20Installing\x20skills...\x0a');try{const _0x3e7707=await _0x526db3[_0x49b0b5(0x18f)](installSkill,_0x49b0b5(0x18e),{'cliVersion':_0x4e2e70,'level':_0x174d7a,'platform':_0x23a342});_0x3e7707&&_0x125fb2++;}catch(_0x449a73){console[_0x49b0b5(0x184)](_0x526db3[_0x49b0b5(0x173)],_0x449a73 instanceof Error?_0x449a73[_0x49b0b5(0x19d)]:_0x449a73);}if(_0x526db3[_0x49b0b5(0x19e)](_0x125fb2,0x0)){const _0x4814c6=_0x174d7a===_0x526db3['fdWef']?_0x49b0b5(0x191):_0x526db3[_0x49b0b5(0x174)];console['log'](_0x49b0b5(0x1a3)+_0x125fb2+'\x20'+_0x4814c6+_0x49b0b5(0x17e)+(_0x125fb2>0x1?'s':'')+_0x49b0b5(0x183)),!_0x1af866['suppressUsage']&&(console['log']('To\x20use:'),_0x23a342===_0x526db3['PbNFu']?console[_0x49b0b5(0x190)](_0x49b0b5(0x18c)):console[_0x49b0b5(0x190)]('\x20\x20-\x20Open\x20Claude\x20Code\x20in\x20plan\x20mode\x20and\x20run\x20/ranger:enable.\x20Plan\x20out\x20a\x20UI\x20feature\x20with\x20Ranger\x20and\x20watch\x20Ranger\x20test\x20it\x20for\x20you!'));}else console['log'](_0x526db3['ZtsUH']);}
1
+ (function(_0x3152ca,_0x272055){const _0x4d793b=_0x1bbd,_0x3b3321=_0x3152ca();while(!![]){try{const _0x594813=parseInt(_0x4d793b(0xf1))/0x1*(-parseInt(_0x4d793b(0xfb))/0x2)+-parseInt(_0x4d793b(0x10d))/0x3*(-parseInt(_0x4d793b(0x10c))/0x4)+-parseInt(_0x4d793b(0x10b))/0x5+-parseInt(_0x4d793b(0x113))/0x6+parseInt(_0x4d793b(0x10a))/0x7*(-parseInt(_0x4d793b(0x103))/0x8)+parseInt(_0x4d793b(0xf9))/0x9+-parseInt(_0x4d793b(0x10f))/0xa*(-parseInt(_0x4d793b(0xf5))/0xb);if(_0x594813===_0x272055)break;else _0x3b3321['push'](_0x3b3321['shift']());}catch(_0x4a66ad){_0x3b3321['push'](_0x3b3321['shift']());}}}(_0x22c5,0xf3328));import{basename}from'path';function _0x1bbd(_0x43e543,_0x43c676){_0x43e543=_0x43e543-0xf1;const _0x22c562=_0x22c5();let _0x1bbd6b=_0x22c562[_0x43e543];return _0x1bbd6b;}import _0x409abb 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';import{getOpencodeConfigDir}from'./utils/opencodeConfig.js';function _0x22c5(){const _0xc92820=['248969QyKoxK','9652140RvLFRz','28828EgOTQW','381wzUrPr','opencode','30jRPvul','\x20--opencode','/skills/','project','3268254iOGTfu','SZJEm','autoInstall','ANQRl','3xHKBTz','prompt','UTXUM','hfaNc','13544784sVhZvZ','rhAUh','platform','NPyJb','10582299RYRhhL','To\x20use:','783810XyJNoP','\x20skill','isTTY','jyJST','iVHZW','ZAGCZ','installLevel','warn','256VdcPKr','CwlgK','✓\x20Found\x20API\x20token','/.opencode/skills/','❌\x20No\x20Ranger\x20API\x20token\x20found.\x0a','log','VoaAv'];_0x22c5=function(){return _0xc92820;};return _0x22c5();}export async function skillup(_0x4b66a4={}){const _0x508ee6=_0x1bbd,_0x1c5610={'kwZrl':'\x0a🎯\x20Ranger\x20Skill\x20Setup\x0a','tAOfs':_0x508ee6(0x107),'mxneG':'To\x20get\x20started:','ZAGCZ':'\x20\x201.\x20Get\x20your\x20API\x20token\x20from\x20https://dashboard.ranger.net/cli','rhAUh':function(_0x529dea,_0x2d387b){return _0x529dea===_0x2d387b;},'iVHZW':_0x508ee6(0x110),'CwlgK':_0x508ee6(0x10e),'NPyJb':'user','hfaNc':function(_0xed1222){return _0xed1222();},'ivGQG':_0x508ee6(0x101),'WYiQG':'project','wtKlR':'\x0a📦\x20Installing\x20skills...\x0a','VoaAv':'ranger','jwCCJ':function(_0xac8379,_0x5056e2){return _0xac8379 instanceof _0x5056e2;},'ANQRl':'user-level','pnCjx':'project-level','SZJEm':function(_0x3cce2b,_0x35c86c){return _0x3cce2b>_0x35c86c;},'jyJST':'\x20\x20-\x20Start\x20OpenCode\x20and\x20run\x20the\x20`ranger_enable`\x20tool\x20to\x20enable\x20hooks.','UTXUM':'\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!'};console['log'](_0x1c5610['kwZrl']);const _0x4ddc48=_0x4b66a4[_0x508ee6(0xf7)]??'claude',_0x442901=await getToken();if(!_0x442901){console['log'](_0x1c5610['tAOfs']),console[_0x508ee6(0x108)](_0x1c5610['mxneG']),console['log'](_0x1c5610[_0x508ee6(0x100)]),console[_0x508ee6(0x108)]('\x20\x202.\x20Run:\x20ranger\x20setup'+(_0x1c5610[_0x508ee6(0xf6)](_0x4ddc48,'opencode')?_0x1c5610[_0x508ee6(0xff)]:'')+'\x20<your-api-token>'),console['log']('\x20\x203.\x20Run:\x20ranger\x20skillup'+(_0x4ddc48===_0x1c5610[_0x508ee6(0x104)]?_0x508ee6(0x110):'')+'\x0a');return;}console[_0x508ee6(0x108)](_0x508ee6(0x105));const _0x48d253=getProjectRoot(),_0x19bd4d=basename(_0x48d253),_0x5a6904=_0x1c5610['rhAUh'](_0x4ddc48,_0x1c5610['CwlgK'])?getOpencodeConfigDir(_0x1c5610[_0x508ee6(0xf8)])+'/skills/':_0x1c5610[_0x508ee6(0xf4)](getClaudeConfigDir)+_0x508ee6(0x111),_0x5d7ea9=_0x4ddc48===_0x1c5610['CwlgK']?_0x48d253+_0x508ee6(0x106):_0x48d253+'/.claude/skills/',_0x5bf3ee=process['stdin'][_0x508ee6(0xfd)]&&process['stdout']['isTTY'];let _0x2d5e18;if(_0x4b66a4['autoInstall'])_0x2d5e18=_0x4b66a4[_0x508ee6(0x115)];else{if(_0x5bf3ee){const _0x4f8a3c=await _0x409abb[_0x508ee6(0xf2)]([{'type':'list','name':_0x1c5610['ivGQG'],'message':'Where\x20should\x20skills\x20be\x20installed?','choices':[{'name':'All\x20projects\x20('+_0x5a6904+')','value':_0x1c5610[_0x508ee6(0xf8)]},{'name':'This\x20project\x20only\x20('+_0x5d7ea9+')','value':_0x1c5610['WYiQG']}]}]);_0x2d5e18=_0x4f8a3c['installLevel'];}else _0x2d5e18=_0x508ee6(0x112),console['log']('Non-interactive\x20mode:\x20Installing\x20skills\x20at\x20project\x20level\x20('+_0x5d7ea9+')');}let _0x3dbb63=0x0;const _0x58c15b=_0x1c5610[_0x508ee6(0xf4)](getCurrentVersion);console[_0x508ee6(0x108)](_0x1c5610['wtKlR']);try{const _0x1ffee6=await installSkill(_0x1c5610[_0x508ee6(0x109)],{'cliVersion':_0x58c15b,'level':_0x2d5e18,'platform':_0x4ddc48});_0x1ffee6&&_0x3dbb63++;}catch(_0x5c0da5){console[_0x508ee6(0x102)]('\x20\x20Failed\x20to\x20install\x20ranger\x20skill:',_0x1c5610['jwCCJ'](_0x5c0da5,Error)?_0x5c0da5['message']:_0x5c0da5);}if(_0x3dbb63>0x0){const _0x1a92f2=_0x2d5e18==='user'?_0x1c5610[_0x508ee6(0x116)]:_0x1c5610['pnCjx'];console[_0x508ee6(0x108)]('\x0a✅\x20Installed\x20'+_0x3dbb63+'\x20'+_0x1a92f2+_0x508ee6(0xfc)+(_0x1c5610[_0x508ee6(0x114)](_0x3dbb63,0x1)?'s':'')+'\x20successfully!\x0a'),!_0x4b66a4['suppressUsage']&&(console['log'](_0x508ee6(0xfa)),_0x1c5610['rhAUh'](_0x4ddc48,_0x1c5610['CwlgK'])?console['log'](_0x1c5610[_0x508ee6(0xfe)]):console['log'](_0x1c5610[_0x508ee6(0xf3)]));}else console['log']('\x0a⚠️\x20\x20No\x20skills\x20were\x20installed.\x0a');}
@@ -1 +1 @@
1
- const _0x54248a=_0x4f81;(function(_0x396ff4,_0x30357e){const _0x31f408=_0x4f81,_0x1b44ad=_0x396ff4();while(!![]){try{const _0x3f5a31=parseInt(_0x31f408(0x13b))/0x1*(-parseInt(_0x31f408(0x142))/0x2)+parseInt(_0x31f408(0x16a))/0x3*(-parseInt(_0x31f408(0x166))/0x4)+-parseInt(_0x31f408(0x14d))/0x5+parseInt(_0x31f408(0x13d))/0x6*(parseInt(_0x31f408(0x15c))/0x7)+parseInt(_0x31f408(0x174))/0x8*(-parseInt(_0x31f408(0x134))/0x9)+parseInt(_0x31f408(0x13c))/0xa+parseInt(_0x31f408(0x15b))/0xb*(parseInt(_0x31f408(0x198))/0xc);if(_0x3f5a31===_0x30357e)break;else _0x1b44ad['push'](_0x1b44ad['shift']());}catch(_0x352a0d){_0x1b44ad['push'](_0x1b44ad['shift']());}}}(_0x3e76,0x3330b));import{mkdir,writeFile}from'fs/promises';import{join}from'path';import{existsSync}from'fs';import{createRequire}from'module';import{spawn}from'child_process';import _0x1a36b0 from'inquirer';import{getToken,storeToken}from'./utils/keychain.js';import{getCurrentUser}from'./utils/userApi.js';import{chromium}from'playwright';import{addEnv}from'./addEnv.js';import{getRangerDir,getRangerHomeDir,findGitRoot}from'./utils/rangerRoot.js';import{runDeviceAuthFlow}from'./utils/deviceAuth.js';function _0x3e76(){const _0x1faca2=['\x0aA\x20profile\x20gives\x20Ranger\x27s\x20browser\x20agent\x20information\x20about\x20how','prompt','✓\x20Authenticated\x20to\x20','vPNdn','YlPXC','99FuvnmQ','nXIPz','InDIc','success','JVanY','allowInsecureLocalhost','error','5466WzsSwt','3779880dFtwxT','240zsmkJT','WofKH','provided_token','XCwgs','LEvvf','114IgYquP','\x20(fallback\x20version)','\x0a✓\x20Playwright\x20Chromium\x20installed\x20successfully','\x0aSkipping\x20profile\x20setup\x20(--skip-auth).\x20Run\x20`ranger\x20setup`\x20with\x20auth\x20to\x20add\x20a\x20profile\x20later.\x0a','OvqOy','plugin','existing_token','1.58.2','fsqNN','VKOrS','dSXDH','121105sPpOuQ','tHPwm','Installation\x20failed\x20with\x20exit\x20code\x20','trackPhaseEnd','trackPhaseError','CsXnp',')\x20of\x20the\x20Playwright\x20Chromium\x20browser\x20is\x20not\x20installed.\x20Install\x20it\x20now?','message','opencode','local','trackPhaseStart','WoYuz','use\x20until\x20the\x20session\x20expires.\x0a','...','2383876DOxQtl','66962PuKRSS','\x0ascenarios\x20describing\x20what\x20to\x20verify\x20and\x20then\x20run\x20browser','.\x20Please\x20check\x20your\x20network\x20connection\x20and\x20server\x20URL.','\x20\x20Failed\x20to\x20install\x20OpenCode\x20skill:','\x20and\x20prompt\x20the\x20coding','JzVAL','.gitignore','user','withDeps','skipChromium','8TFiqnh','LftLO','log','skipped','268791OqHCUp','auth','isTTY','PxSLH','\x0a❌\x20Failed\x20to\x20install\x20Chromium:','organizationName','version','JweSX','warn','\x0a\x0a#\x20Ignore\x20local-only\x20directories\x0alocal/\x0asessions/\x0abug-bashes/\x0areports/\x0afeedback-images/\x0a\x0aactive-profile.txt\x0aactive-feature.txt\x0a.gitignore\x0a\x0a#\x20Ignore\x20plaintext\x20auth\x20files\x20(encrypted\x20.enc\x20files\x20are\x20safe\x20to\x20commit)\x0a**/auth.json\x0a','183776bDyGfs','GITHUB_ENV','ranger','\x20\x20npx\x20playwright@','vcjEX','stdout','RaeRf','No\x20git\x20repository\x20found.\x20Please\x20run\x20`ranger\x20setup`\x20from\x20inside\x20your\x20project\x20directory,\x0a','\x20install\x20chromium','✓\x20Playwright\x20Chromium\x20browser\x20found','VDHNy','stdin','rHZYW','chromium','⚠\x20No\x20git\x20repository\x20found.\x20Run\x20`ranger\x20profile\x20add\x20local`\x20from\x20your\x20project\x20directory.','gpaZP','\x20now?','Failed\x20to\x20connect\x20to\x20MCP\x20server:\x20','Authentication\x20failed:\x20','ypFSq','url','close','ready','You\x20will\x20need\x20to\x20install\x20it\x20before\x20using\x20Ranger:','FlcQQ','zYvoG','xlASN','auth,\x20you\x20can\x20log\x20in\x20and\x20we\x27ll\x20save\x20the\x20session\x20state\x20for\x20Ranger\x20to','uHNIe','scope','✓\x20.ranger/\x20directory\x20already\x20exists','\x0aIn\x20OpenCode,\x20enable\x20Ranger\x20hooks\x20(run\x20the\x20`ranger_enable`\x20tool)','NtMoT','playwright@','Non-interactive\x20mode:\x20No\x20--scope\x20provided,\x20defaulting\x20to\x20user.','/ranger:enable','12EOJgFf','status','git_check','Make\x20sure\x20your\x20app\x20is\x20running\x20before\x20you\x20start.\x0a','\x0a⚠\x20Skipping\x20Chromium\x20installation.','skills','ignore','cLPZW','.ranger','mjUai','No\x20git\x20repository\x20found','.\x20Please\x20check\x20your\x20API\x20token\x20and\x20try\x20again.','ziXnj','raVbc','confirm','dGADw','fZnBi'];_0x3e76=function(){return _0x1faca2;};return _0x3e76();}import{findExistingEnv}from'./utils/settings.js';import{getCurrentVersion}from'./utils/version.js';function _0x4f81(_0x27b130,_0x392144){_0x27b130=_0x27b130-0x132;const _0x3e7699=_0x3e76();let _0x4f8196=_0x3e7699[_0x27b130];return _0x4f8196;}import{ensureClaudePlugin,ensureClaudeSkills}from'./setup/claude.js';import{ensureOpencodePluginConfig}from'./setup/opencode.js';import{installSkill}from'./utils/skills.js';const require=createRequire(import.meta.url);export const PLAYWRIGHT_CHROMIUM_INSTALL_FALLBACK_VERSION=_0x54248a(0x149);const bold=_0x233855=>'\x1b[1m'+_0x233855+'\x1b[0m';export function getPlaywrightVersion(){const _0x3ca0d1=_0x54248a,_0x61eeee={'QqeaT':function(_0xf7305,_0x528cba){return _0xf7305(_0x528cba);}};try{const _0x189fab=require['resolve']('playwright/package.json'),_0x5a4a63=_0x61eeee['QqeaT'](require,_0x189fab);return _0x5a4a63[_0x3ca0d1(0x170)];}catch{return null;}}export function installChromiumBinary(_0x229d6b,_0x21c09b=![]){const _0x398b01=_0x54248a,_0x19e640={'PxSLH':function(_0x5ed03d,_0x26767c){return _0x5ed03d(_0x26767c);},'dGADw':'install','mPbik':'--with-deps','nXIPz':'chromium','FlcQQ':function(_0x3f881d,_0x3c8d51,_0x16ea84,_0x53fc11){return _0x3f881d(_0x3c8d51,_0x16ea84,_0x53fc11);},'bNrfD':_0x398b01(0x19e),'DQGog':_0x398b01(0x189)};return new Promise((_0x131297,_0x29cddf)=>{const _0x313118=_0x398b01,_0x406bad={'KKCBO':function(_0xb740f3,_0x4b4075){return _0xb740f3===_0x4b4075;},'JVanY':function(_0x2169ae,_0x16122f){const _0x58c35e=_0x4f81;return _0x19e640[_0x58c35e(0x16d)](_0x2169ae,_0x16122f);}},_0x58aa7e=[_0x313118(0x195)+_0x229d6b,_0x19e640[_0x313118(0x1a7)],..._0x21c09b?[_0x19e640['mPbik']]:[],_0x19e640[_0x313118(0x135)]],_0x4874db=_0x19e640[_0x313118(0x18c)](spawn,'npx',_0x58aa7e,{'stdio':[_0x19e640['bNrfD'],'inherit','inherit'],'shell':process['platform']==='win32'});_0x4874db['on'](_0x19e640['DQGog'],_0x3aaa1e=>{const _0x240c19=_0x313118;_0x406bad['KKCBO'](_0x3aaa1e,0x0)?_0x131297():_0x406bad[_0x240c19(0x138)](_0x29cddf,new Error(_0x240c19(0x14f)+_0x3aaa1e));}),_0x4874db['on'](_0x313118(0x13a),_0x14f2b5=>{_0x19e640['PxSLH'](_0x29cddf,_0x14f2b5);});});}export async function authenticate(_0x3913b7){const _0x1266d2=_0x54248a,_0x6e8251={'jpiYt':_0x1266d2(0x148),'fZnBi':function(_0x667aa9,_0x37773d){return _0x667aa9 instanceof _0x37773d;},'VKOrS':function(_0x58f955,_0x14a6dd){return _0x58f955(_0x14a6dd);},'sbrcv':'device_auth','cLPZW':'Validating\x20API\x20token...','harIH':'✓\x20Exported\x20credentials\x20for\x20CI'};if(!_0x3913b7){const _0x15487c=await getToken();if(_0x15487c){const _0x5ba74c=await getCurrentUser(_0x15487c);if(_0x5ba74c[_0x1266d2(0x137)])return console['log']('✓\x20Already\x20authenticated\x20to\x20'+_0x5ba74c['user'][_0x1266d2(0x16f)]),{'token':_0x15487c,'method':_0x6e8251['jpiYt']};}try{_0x3913b7=await runDeviceAuthFlow();}catch(_0x1f0a2c){throw new Error('Authentication\x20failed:\x20'+(_0x6e8251[_0x1266d2(0x1a8)](_0x1f0a2c,Error)?_0x1f0a2c['message']:_0x1f0a2c));}const _0x3f08cf=await _0x6e8251['VKOrS'](getCurrentUser,_0x3913b7);if(!_0x3f08cf['success'])throw new Error('Failed\x20to\x20validate\x20provisioned\x20API\x20key:\x20'+_0x3f08cf[_0x1266d2(0x13a)]);return console[_0x1266d2(0x168)]('✓\x20Authenticated\x20to\x20'+_0x3f08cf[_0x1266d2(0x163)][_0x1266d2(0x16f)]),{'token':_0x3913b7,'method':_0x6e8251['sbrcv']};}console['log'](_0x6e8251[_0x1266d2(0x19f)]);const _0x2b4f7e=await _0x6e8251['VKOrS'](getCurrentUser,_0x3913b7);if(!_0x2b4f7e[_0x1266d2(0x137)]){if(_0x2b4f7e[_0x1266d2(0x199)])throw new Error(_0x1266d2(0x186)+_0x2b4f7e[_0x1266d2(0x13a)]+_0x1266d2(0x1a3));else throw new Error(_0x1266d2(0x185)+_0x2b4f7e['error']+_0x1266d2(0x15e));}return console[_0x1266d2(0x168)](_0x1266d2(0x1ab)+_0x2b4f7e['user'][_0x1266d2(0x16f)]),await _0x6e8251[_0x1266d2(0x14b)](storeToken,_0x3913b7),console['log'](process['env'][_0x1266d2(0x175)]?_0x6e8251['harIH']:'✓\x20Stored\x20credentials\x20locally'),{'token':_0x3913b7,'method':_0x1266d2(0x13f)};}export async function ensureRangerDir(_0x312c39){const _0x1c0ef8=_0x54248a,_0x14fec9={'HAuhf':function(_0x15b7bc,_0x312a65){return _0x15b7bc===_0x312a65;},'OHtVR':_0x1c0ef8(0x163),'sVEeS':function(_0x46d17c){return _0x46d17c();},'oGOpK':function(_0x2d9708,_0x224c5a,_0xa1eba4){return _0x2d9708(_0x224c5a,_0xa1eba4);},'CiEIA':function(_0x33a8ec){return _0x33a8ec();},'icutW':function(_0x8873d,_0x3c24ac){return _0x8873d(_0x3c24ac);},'OvqOy':_0x1c0ef8(0x192)};let _0x26329b;if(_0x14fec9['HAuhf'](_0x312c39,_0x14fec9['OHtVR']))_0x26329b=_0x14fec9['sVEeS'](getRangerHomeDir);else{const _0x1547eb=findGitRoot();_0x26329b=_0x1547eb?_0x14fec9['oGOpK'](join,_0x1547eb,_0x1c0ef8(0x1a0)):_0x14fec9['CiEIA'](getRangerDir);}return!_0x14fec9['icutW'](existsSync,_0x26329b)?(await mkdir(_0x26329b,{'recursive':!![]}),console['log']('✓\x20Created\x20.ranger/\x20directory'),{'path':_0x26329b,'installed':!![]}):(console['log'](_0x14fec9[_0x1c0ef8(0x146)]),{'path':_0x26329b,'installed':![]});}export async function ensureChromium(_0x5b42f3=![]){const _0x207d15=_0x54248a,_0x5303c8={'JzVAL':function(_0x2e119f){return _0x2e119f();},'vPNdn':function(_0x275786,_0x1ed394){return _0x275786??_0x1ed394;},'FSzHZ':_0x207d15(0x1a6),'tHPwm':_0x207d15(0x144),'ypFSq':_0x207d15(0x16e),'kgrAm':'You\x20can\x20install\x20it\x20manually\x20by\x20running:','dSXDH':_0x207d15(0x19c)};let _0x47ec96=![];try{const _0x5e0320=chromium['executablePath']();_0x47ec96=existsSync(_0x5e0320);}catch{_0x47ec96=![];}if(_0x47ec96)return console[_0x207d15(0x168)](_0x207d15(0x17d)),![];const _0x2f6f3b=_0x5303c8[_0x207d15(0x161)](getPlaywrightVersion),_0xeaacb=_0x5303c8[_0x207d15(0x132)](_0x2f6f3b,PLAYWRIGHT_CHROMIUM_INSTALL_FALLBACK_VERSION),_0x152d45=!_0x2f6f3b,_0x3715d5=process[_0x207d15(0x17f)]['isTTY']&&process['stdout']['isTTY'];let _0xc8b18a=!![];if(_0x3715d5){const {install:_0x18f036}=await _0x1a36b0[_0x207d15(0x1aa)]([{'type':_0x5303c8['FSzHZ'],'name':'install','message':_0x152d45?'Could\x20not\x20determine\x20local\x20Playwright\x20version.\x20Install\x20Playwright\x20Chromium\x20using\x20fallback\x20version\x20'+_0xeaacb+_0x207d15(0x184):'The\x20required\x20version\x20('+_0xeaacb+_0x207d15(0x153),'default':!![]}]);_0xc8b18a=_0x18f036;}else console['log']('\x0aNon-interactive\x20mode:\x20Auto-installing\x20Playwright\x20Chromium\x20'+_0xeaacb+(_0x152d45?_0x207d15(0x143):'')+_0x207d15(0x15a));if(_0xc8b18a){console[_0x207d15(0x168)]('\x0aInstalling\x20Chromium\x20browser...\x0a');try{await installChromiumBinary(_0xeaacb,_0x5b42f3),console['log'](_0x5303c8[_0x207d15(0x14e)]);}catch(_0x4e2eb9){console['error'](_0x5303c8[_0x207d15(0x187)],_0x4e2eb9 instanceof Error?_0x4e2eb9['message']:_0x4e2eb9),console['log'](_0x5303c8['kgrAm']),console[_0x207d15(0x168)](_0x207d15(0x177)+_0xeaacb+_0x207d15(0x17c));}}else console['log'](_0x5303c8[_0x207d15(0x14c)]),console[_0x207d15(0x168)](_0x207d15(0x18b)),console[_0x207d15(0x168)]('\x20\x20npx\x20playwright@'+_0xeaacb+_0x207d15(0x17c));return!![];}export async function writeRangerGitignore(_0x44221e){const _0x3bf606=_0x54248a,_0x1483a1={'ICGqS':_0x3bf606(0x162),'xhplj':function(_0x40f224,_0x113338,_0x2eb1ae){return _0x40f224(_0x113338,_0x2eb1ae);}},_0x3eb0f4=join(_0x44221e,_0x1483a1['ICGqS']),_0x4f7244=_0x3bf606(0x173);await _0x1483a1['xhplj'](writeFile,_0x3eb0f4,_0x4f7244),console['log']('✓\x20Created\x20.ranger/.gitignore');}function printProfileSetupLaterInstructions(){const _0x3a54bc=_0x54248a,_0x42dc55={'tdXMl':'\x0aIn\x20order\x20for\x20Ranger\x20to\x20verify\x20your\x20work,\x20you\x27ll\x20need\x20to\x20set\x20up\x20a\x20profile\x20later\x20with:','fcIlq':function(_0x187675,_0x4b5a01){return _0x187675(_0x4b5a01);},'gpaZP':_0x3a54bc(0x19b)};console['log'](_0x42dc55['tdXMl']),console[_0x3a54bc(0x168)]('\x20\x20'+_0x42dc55['fcIlq'](bold,'ranger\x20profile\x20add\x20local')),console['log'](_0x42dc55[_0x3a54bc(0x183)]);}export async function ensureLocalEnv(_0x4d1fea,_0x24f287){const _0x2a4e00=_0x54248a,_0x57ecd8={'BYMNa':_0x2a4e00(0x182),'XCwgs':function(_0x47a34e,_0x5e5298){return _0x47a34e===_0x5e5298;},'GtWOx':'user','raVbc':function(_0x27ca10,_0x1c123c,_0x56ef89){return _0x27ca10(_0x1c123c,_0x56ef89);},'rHZYW':_0x2a4e00(0x156),'QfXcu':'✓\x20Local\x20profile\x20already\x20exists','ZowaU':_0x2a4e00(0x1a9),'AXbch':'to\x20access\x20your\x20app.\x20If\x20the\x20part\x20of\x20your\x20app\x20you\x20want\x20to\x20test\x20is\x20behind','EtnEF':_0x2a4e00(0x18f),'WofKH':_0x2a4e00(0x159),'zYvoG':'You\x27ll\x20need\x20the\x20app\x20to\x20be\x20running\x20to\x20set\x20up\x20the\x20profile.','InDIc':'wantsProfile','LftLO':function(_0x4e1468){return _0x4e1468();},'YBOwd':function(_0x201d9c,_0x2c7145,_0xa75435,_0x58f930){return _0x201d9c(_0x2c7145,_0xa75435,_0x58f930);},'LEvvf':function(_0x78370,_0xc3b25f){return _0x78370 instanceof _0xc3b25f;},'WoYuz':function(_0x11d60d){return _0x11d60d();}};if(!findGitRoot())return console[_0x2a4e00(0x168)](_0x57ecd8['BYMNa']),{'ready':![],'skipped':!![]};const _0x32ff00=_0x57ecd8[_0x2a4e00(0x140)](_0x4d1fea?.[_0x2a4e00(0x191)],_0x57ecd8['GtWOx'])?getRangerHomeDir():undefined;if(_0x57ecd8[_0x2a4e00(0x1a5)](findExistingEnv,_0x57ecd8[_0x2a4e00(0x180)],{'locations':[_0x57ecd8['rHZYW']],'rangerDir':_0x32ff00}))return console[_0x2a4e00(0x168)](_0x57ecd8['QfXcu']),{'ready':!![],'skipped':![]};const _0x858bf1=process[_0x2a4e00(0x17f)]['isTTY']&&process[_0x2a4e00(0x179)][_0x2a4e00(0x16c)];if(_0x858bf1&&!_0x4d1fea?.['url']){console['log'](_0x57ecd8['ZowaU']),console['log'](_0x57ecd8['AXbch']),console[_0x2a4e00(0x168)](_0x57ecd8['EtnEF']),console[_0x2a4e00(0x168)](_0x57ecd8[_0x2a4e00(0x13e)]),console['log'](_0x57ecd8[_0x2a4e00(0x18d)]);const {wantsProfile:_0x3774a6}=await _0x1a36b0[_0x2a4e00(0x1aa)]([{'type':'confirm','name':_0x57ecd8[_0x2a4e00(0x136)],'message':'Would\x20you\x20like\x20to\x20set\x20up\x20the\x20profile\x20now?','default':!![]}]);if(!_0x3774a6)return _0x57ecd8[_0x2a4e00(0x167)](printProfileSetupLaterInstructions),{'ready':![],'skipped':!![]};}try{return await _0x57ecd8['YBOwd'](addEnv,_0x2a4e00(0x156),{'url':_0x4d1fea?.[_0x2a4e00(0x188)],'force':_0x4d1fea?.['force'],'allowInsecureLocalhost':_0x4d1fea?.[_0x2a4e00(0x139)],'scope':_0x4d1fea?.[_0x2a4e00(0x191)]},_0x24f287),{'ready':!![],'skipped':![]};}catch(_0x4563de){return console['error']('\x0a❌\x20Profile\x20setup\x20failed:',_0x57ecd8[_0x2a4e00(0x141)](_0x4563de,Error)?_0x4563de[_0x2a4e00(0x154)]:_0x4563de),_0x57ecd8[_0x2a4e00(0x158)](printProfileSetupLaterInstructions),{'ready':![],'skipped':![]};}}export async function start(_0x49054a,_0x5d7463,_0x1aa46c){const _0x4fe1ef=_0x54248a,_0x1748e1={'xgEWw':function(_0x175fd4,_0x18eb29){return _0x175fd4===_0x18eb29;},'fsqNN':_0x4fe1ef(0x19a),'fdNSK':function(_0x198390){return _0x198390();},'JweSX':function(_0x2c9cd7,_0x1a7f5f){return _0x2c9cd7+_0x1a7f5f;},'NtMoT':_0x4fe1ef(0x17b),'mjUai':function(_0x5797d4,_0x4bb028){return _0x5797d4(_0x4bb028);},'VDHNy':function(_0x428a19){return _0x428a19();},'ziXnj':'auth','KWOaN':_0x4fe1ef(0x181),'edkBf':'✓\x20Skipping\x20Chromium\x20check\x20(--skip-chromium)','CsXnp':'\x0a✅\x20Ranger\x20setup\x20complete!\x0a','RaeRf':'plugin','nqVyR':function(_0x59d8f0,_0x5a0bd5){return _0x59d8f0&&_0x5a0bd5;},'YlPXC':_0x4fe1ef(0x176),'jARZu':'skills','uHNIe':function(_0x2f4acd,_0x14744e){return _0x2f4acd instanceof _0x14744e;},'qyVRB':function(_0x4d640a,_0x8cf69f){return _0x4d640a===_0x8cf69f;},'vcjEX':'profile','xlASN':function(_0x51a25a,_0x21d917){return _0x51a25a+_0x21d917;}};console[_0x4fe1ef(0x168)]('\x0a🚀\x20Ranger\x20Setup\x0a');const _0x52d301=process['stdin']['isTTY']&&process['stdout'][_0x4fe1ef(0x16c)];!_0x52d301&&!_0x5d7463?.['scope']&&(console[_0x4fe1ef(0x168)](_0x4fe1ef(0x196)),_0x5d7463={..._0x5d7463,'scope':'user'});const _0x30e2f9=_0x1748e1['xgEWw'](_0x5d7463?.['scope'],_0x4fe1ef(0x163));_0x1aa46c?.['trackPhaseStart'](_0x1748e1[_0x4fe1ef(0x14a)]);const _0xb75cfc=_0x1748e1['fdNSK'](findGitRoot);if(!_0xb75cfc&&!_0x30e2f9){await _0x1aa46c?.[_0x4fe1ef(0x151)](_0x4fe1ef(0x19a),new Error(_0x4fe1ef(0x1a2)));throw new Error(_0x1748e1[_0x4fe1ef(0x171)](_0x1748e1[_0x4fe1ef(0x194)],'or\x20use\x20--scope\x20user\x20to\x20install\x20at\x20the\x20user\x20level\x20without\x20a\x20project.'));}_0x1aa46c?.[_0x4fe1ef(0x150)](_0x1748e1[_0x4fe1ef(0x14a)]);const _0x3a1dba=!_0x1748e1['mjUai'](existsSync,_0x1748e1[_0x4fe1ef(0x17e)](getRangerDir)),{path:_0x3bce74}=await ensureRangerDir(_0x30e2f9?_0x4fe1ef(0x163):undefined);if(_0x5d7463?.['skipAuth'])console['log']('✓\x20Skipping\x20authentication\x20(--skip-auth)'),_0x1aa46c?.['trackPhaseEnd'](_0x1748e1[_0x4fe1ef(0x1a4)],{'isFirstRun':_0x3a1dba,'method':_0x4fe1ef(0x169)});else{_0x1aa46c?.['trackPhaseStart'](_0x4fe1ef(0x16b));const _0x1739d2=await authenticate(_0x49054a);_0x1aa46c?.[_0x4fe1ef(0x150)](_0x4fe1ef(0x16b),{'isFirstRun':_0x3a1dba,'method':_0x1739d2['method']});}_0x1aa46c?.[_0x4fe1ef(0x157)](_0x1748e1['KWOaN']);_0x5d7463?.[_0x4fe1ef(0x165)]?console[_0x4fe1ef(0x168)](_0x1748e1['edkBf']):await ensureChromium(_0x5d7463?.[_0x4fe1ef(0x164)]);_0x1aa46c?.[_0x4fe1ef(0x150)](_0x1748e1['KWOaN'],{'isFirstRun':_0x3a1dba,'skipped':!!_0x5d7463?.['skipChromium']});!_0x30e2f9&&await _0x1748e1[_0x4fe1ef(0x1a1)](writeRangerGitignore,_0x3bce74);console['log'](_0x1748e1[_0x4fe1ef(0x152)]);const _0x517ee3=_0x5d7463?.[_0x4fe1ef(0x191)],_0x5c6eaa=_0x5d7463?.[_0x4fe1ef(0x155)]??![];let _0x143463=null;_0x5c6eaa?(_0x1aa46c?.['trackPhaseStart']('plugin'),_0x143463=await _0x1748e1[_0x4fe1ef(0x1a1)](ensureOpencodePluginConfig,_0x517ee3),_0x1aa46c?.[_0x4fe1ef(0x150)]('plugin',{'isFirstRun':_0x3a1dba,'opencode':!![]})):(_0x1aa46c?.['trackPhaseStart'](_0x4fe1ef(0x147)),await ensureClaudePlugin(_0x517ee3),_0x1aa46c?.['trackPhaseEnd'](_0x1748e1[_0x4fe1ef(0x17a)],{'isFirstRun':_0x3a1dba}));if(_0x1748e1['nqVyR'](_0x5c6eaa,_0x143463)){_0x1aa46c?.['trackPhaseStart'](_0x4fe1ef(0x19d));try{await installSkill(_0x1748e1[_0x4fe1ef(0x133)],{'level':_0x143463['scope'],'cliVersion':_0x1748e1[_0x4fe1ef(0x17e)](getCurrentVersion),'platform':_0x4fe1ef(0x155)}),_0x1aa46c?.[_0x4fe1ef(0x150)](_0x1748e1['jARZu'],{'isFirstRun':_0x3a1dba,'opencode':!![]});}catch(_0x3fc13e){console[_0x4fe1ef(0x172)](_0x4fe1ef(0x15f),_0x1748e1[_0x4fe1ef(0x190)](_0x3fc13e,Error)?_0x3fc13e[_0x4fe1ef(0x154)]:_0x3fc13e),_0x1aa46c?.[_0x4fe1ef(0x150)](_0x1748e1['jARZu'],{'isFirstRun':_0x3a1dba,'opencode':!![],'failed':!![]});}}else _0x1aa46c?.[_0x4fe1ef(0x157)](_0x4fe1ef(0x19d)),await ensureClaudeSkills(_0x517ee3),_0x1aa46c?.[_0x4fe1ef(0x150)](_0x4fe1ef(0x19d),{'isFirstRun':_0x3a1dba});if(_0x5d7463?.['skipAuth'])console['log'](_0x4fe1ef(0x145));else{if(!_0x52d301&&!_0x5d7463?.[_0x4fe1ef(0x188)])console['log']('Non-interactive\x20mode:\x20Skipping\x20profile\x20setup.\x20To\x20set\x20up\x20a\x20profile,\x20pass\x20--url\x20or\x20run\x20later:'),console['log']('\x20\x20'+_0x1748e1[_0x4fe1ef(0x1a1)](bold,'ranger\x20profile\x20add\x20local')+'\x0a');else{_0x1aa46c?.[_0x4fe1ef(0x157)]('profile');const _0x56b08e=await ensureLocalEnv({'url':_0x5d7463?.[_0x4fe1ef(0x188)],'force':_0x5d7463?.['force'],'allowInsecureLocalhost':_0x5d7463?.[_0x4fe1ef(0x139)],'scope':_0x1748e1['qyVRB'](_0x5d7463?.['scope'],_0x4fe1ef(0x163))?_0x4fe1ef(0x163):undefined},_0x1aa46c);_0x1aa46c?.[_0x4fe1ef(0x150)](_0x1748e1[_0x4fe1ef(0x178)],{'isFirstRun':_0x3a1dba,'profileReady':_0x56b08e[_0x4fe1ef(0x18a)],'userSkipped':_0x56b08e[_0x4fe1ef(0x169)]}),_0x56b08e[_0x4fe1ef(0x18a)]&&console[_0x4fe1ef(0x168)]('\x0a✅\x20You\x27re\x20ready\x20to\x20start\x20using\x20Ranger\x20Feature\x20Review.');}}if(_0x5c6eaa)console[_0x4fe1ef(0x168)](_0x4fe1ef(0x193)),console['log']('and\x20prompt\x20the\x20agent\x20like\x20usual.\x20Ranger\x20will\x20create\x20a\x20feature\x20review'),console[_0x4fe1ef(0x168)]('with\x20scenarios\x20describing\x20what\x20to\x20verify\x20and\x20then\x20run\x20browser'),console[_0x4fe1ef(0x168)]('verification\x20to\x20check\x20its\x20work\x20as\x20it\x20builds.');else{const _0x3149c6=_0x1748e1['mjUai'](bold,_0x4fe1ef(0x197));console['log'](_0x1748e1[_0x4fe1ef(0x18e)](_0x1748e1[_0x4fe1ef(0x171)]('\x0aIn\x20Claude\x20Code,\x20run\x20'+_0x3149c6+_0x4fe1ef(0x160),'\x0aagent\x20like\x20usual.\x20Claude\x20will\x20create\x20a\x20feature\x20review\x20with'),_0x4fe1ef(0x15d))+'\x0averification\x20to\x20check\x20its\x20work\x20as\x20it\x20builds.');}}
1
+ const _0x640448=_0x2773;(function(_0x4f4ee0,_0x324858){const _0x2aeb35=_0x2773,_0x1d08e4=_0x4f4ee0();while(!![]){try{const _0x14a066=parseInt(_0x2aeb35(0x17f))/0x1+-parseInt(_0x2aeb35(0x190))/0x2*(-parseInt(_0x2aeb35(0x162))/0x3)+-parseInt(_0x2aeb35(0x17c))/0x4+-parseInt(_0x2aeb35(0x19d))/0x5+-parseInt(_0x2aeb35(0x1aa))/0x6+parseInt(_0x2aeb35(0x181))/0x7+parseInt(_0x2aeb35(0x1b2))/0x8*(parseInt(_0x2aeb35(0x189))/0x9);if(_0x14a066===_0x324858)break;else _0x1d08e4['push'](_0x1d08e4['shift']());}catch(_0x3d0b52){_0x1d08e4['push'](_0x1d08e4['shift']());}}}(_0x21db,0x1c06c));import{mkdir,writeFile}from'fs/promises';function _0x2773(_0x395a92,_0x4c9459){_0x395a92=_0x395a92-0x14a;const _0x21db5b=_0x21db();let _0x2773c6=_0x21db5b[_0x395a92];return _0x2773c6;}import{join}from'path';import{existsSync}from'fs';import{createRequire}from'module';import{spawn}from'child_process';import _0x49e381 from'inquirer';import{getToken,storeToken}from'./utils/keychain.js';function _0x21db(){const _0x547098=['vbUyC','XfFYO','\x1b[0m','\x20(fallback\x20version)','XvShz','oASFQ','120CgPxmN','No\x20git\x20repository\x20found\x20for\x20--scope\x20project.\x20Re-run\x20without\x20`--scope\x20project`\x20to\x20install\x20at\x20user\x20scope.','\x0aIn\x20OpenCode,\x20enable\x20Ranger\x20hooks\x20(run\x20the\x20`ranger_enable`\x20tool)','message','✓\x20Created\x20','You\x20will\x20need\x20to\x20install\x20it\x20before\x20using\x20Ranger:','DPQUv','\x20and\x20prompt\x20the\x20coding','gHyRn','success','\x0aSkipping\x20profile\x20setup\x20(--skip-auth).\x20Run\x20`ranger\x20setup`\x20with\x20auth\x20to\x20add\x20a\x20profile\x20later.\x0a','allowInsecureLocalhost','✓\x20Exported\x20credentials\x20for\x20CI','auth','\x0aNon-interactive\x20mode:\x20Auto-installing\x20Playwright\x20Chromium\x20','\x20\x20(or\x20use\x20','skipped','ranger','confirm','error','with\x20scenarios\x20describing\x20what\x20to\x20verify\x20and\x20then\x20run\x20browser','Authentication\x20failed:\x20','\x20\x20Failed\x20to\x20install\x20OpenCode\x20skill:','⚠\x20No\x20git\x20repository\x20found.\x20Re-run\x20with\x20`--scope\x20user`\x20to\x20store\x20the\x20profile\x20at\x20~/.ranger/.','resolve','qgNvg',')\x20of\x20the\x20Playwright\x20Chromium\x20browser\x20is\x20not\x20installed.\x20Install\x20it\x20now?','\x20\x20npx\x20playwright@','close','chromium','platform','log','stdin','profile','84834ndDlxS','withDeps','.\x20Please\x20check\x20your\x20network\x20connection\x20and\x20server\x20URL.','koilT','coePI','/ranger:enable','QEjtB','GITHUB_ENV','DioGy','local','Ykpuc','ranger\x20profile\x20add','prompt','plugin','hlQya','skipChromium','1.58.2','url','organizationName','\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','DlKhs','scope','stdout','OkjSJ','playwright@','trackPhaseError','480324binNjY','trackPhaseEnd','qFPnJ','118897ypIAFq','executablePath','502299bkMhFA','\x1b[1m','skills','ready','Hjdfe','RANGER_TEST_USERNAME','.\x20Please\x20check\x20your\x20API\x20token\x20and\x20try\x20again.','DZrhO','81063gpwhkf','skipAuth','diaDD','trackPhaseStart','✓\x20Created\x20.ranger/.gitignore','.ranger/','user','14OtvETL','zbSME','.ranger','install','\x0a🚀\x20Ranger\x20Setup\x0a','LqTYB','Validating\x20API\x20token...','...','Failed\x20to\x20connect\x20to\x20MCP\x20server:\x20','.gitignore','✓\x20Authenticated\x20to\x20','\x20for\x20explicit\x20profile\x20management).','You\x20can\x20install\x20it\x20manually\x20by\x20running:','364695mDXtzR','verification\x20to\x20check\x20its\x20work\x20as\x20it\x20builds.','npx','git_check','PnXGy','FiScT','✓\x20Stored\x20credentials\x20locally','env','device_auth','win32','No\x20git\x20repository\x20found','\x0a⚠\x20Skipping\x20Chromium\x20installation.','nctOm','1295334sUnzUZ','force'];_0x21db=function(){return _0x547098;};return _0x21db();}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';import{installSkill}from'./utils/skills.js';const require=createRequire(import.meta.url);export const PLAYWRIGHT_CHROMIUM_INSTALL_FALLBACK_VERSION=_0x640448(0x172);const bold=_0x53dae0=>_0x640448(0x182)+_0x53dae0+_0x640448(0x1ae);export function getPlaywrightVersion(){const _0x46fd49=_0x640448;try{const _0x36089f=require[_0x46fd49(0x158)]('playwright/package.json'),_0x23df58=require(_0x36089f);return _0x23df58['version'];}catch{return null;}}export function installChromiumBinary(_0x2ed2e5,_0x18ecf3=![]){const _0x36a7ec=_0x640448,_0x1528f9={'UpVOx':function(_0xe38201,_0x314cf0){return _0xe38201(_0x314cf0);},'DEVog':_0x36a7ec(0x193),'tuADn':'ignore','Hjdfe':'inherit','ovWYW':_0x36a7ec(0x15c)};return new Promise((_0x117718,_0x5a452f)=>{const _0x15c92d=_0x36a7ec,_0x2cab9a={'DLgHK':function(_0x55f48e,_0x1a847d){return _0x1528f9['UpVOx'](_0x55f48e,_0x1a847d);}},_0xe24d40=[_0x15c92d(0x17a)+_0x2ed2e5,_0x1528f9['DEVog'],..._0x18ecf3?['--with-deps']:[],_0x15c92d(0x15d)],_0xd3aff8=spawn(_0x15c92d(0x19f),_0xe24d40,{'stdio':[_0x1528f9['tuADn'],_0x1528f9['Hjdfe'],_0x1528f9[_0x15c92d(0x185)]],'shell':process[_0x15c92d(0x15e)]===_0x15c92d(0x1a6)});_0xd3aff8['on'](_0x1528f9['ovWYW'],_0x5afa43=>{_0x5afa43===0x0?_0x117718():_0x2cab9a['DLgHK'](_0x5a452f,new Error('Installation\x20failed\x20with\x20exit\x20code\x20'+_0x5afa43));}),_0xd3aff8['on']('error',_0x3fea65=>{_0x5a452f(_0x3fea65);});});}export async function authenticate(_0x3c7525){const _0x3d60f4=_0x640448,_0x4c3fd7={'XfFYO':function(_0x5cce63){return _0x5cce63();},'qFPnJ':function(_0x31695c){return _0x31695c();},'PnXGy':function(_0x1650e1,_0x144eb6){return _0x1650e1 instanceof _0x144eb6;},'koilT':function(_0x40b6e4,_0x3a6ab7){return _0x40b6e4(_0x3a6ab7);},'XKUdT':_0x3d60f4(0x14c)};if(!_0x3c7525){const _0x112d61=await _0x4c3fd7[_0x3d60f4(0x1ad)](getToken);if(_0x112d61){const _0x5bcf92=await getCurrentUser(_0x112d61);if(_0x5bcf92[_0x3d60f4(0x1bb)])return console[_0x3d60f4(0x15f)]('✓\x20Already\x20authenticated\x20to\x20'+_0x5bcf92['user']['organizationName']),{'token':_0x112d61,'method':'existing_token'};}try{_0x3c7525=await _0x4c3fd7[_0x3d60f4(0x17e)](runDeviceAuthFlow);}catch(_0x176567){throw new Error(_0x3d60f4(0x155)+(_0x4c3fd7[_0x3d60f4(0x1a1)](_0x176567,Error)?_0x176567['message']:_0x176567));}const _0x5910df=await getCurrentUser(_0x3c7525);if(!_0x5910df[_0x3d60f4(0x1bb)])throw new Error('Failed\x20to\x20validate\x20provisioned\x20API\x20key:\x20'+_0x5910df[_0x3d60f4(0x153)]);return console[_0x3d60f4(0x15f)]('✓\x20Authenticated\x20to\x20'+_0x5910df['user'][_0x3d60f4(0x174)]),{'token':_0x3c7525,'method':_0x3d60f4(0x1a5)};}console[_0x3d60f4(0x15f)](_0x3d60f4(0x196));const _0x422c39=await getCurrentUser(_0x3c7525);if(!_0x422c39[_0x3d60f4(0x1bb)]){if(_0x422c39['status'])throw new Error(_0x3d60f4(0x155)+_0x422c39[_0x3d60f4(0x153)]+_0x3d60f4(0x187));else throw new Error(_0x3d60f4(0x198)+_0x422c39['error']+_0x3d60f4(0x164));}return console[_0x3d60f4(0x15f)](_0x3d60f4(0x19a)+_0x422c39['user'][_0x3d60f4(0x174)]),await _0x4c3fd7[_0x3d60f4(0x165)](storeToken,_0x3c7525),console['log'](process[_0x3d60f4(0x1a4)][_0x3d60f4(0x169)]?_0x4c3fd7['XKUdT']:_0x3d60f4(0x1a3)),{'token':_0x3c7525,'method':'provided_token'};}export async function ensureRangerDir(_0x29c8c1){const _0x4925e7=_0x640448,_0xbda11b={'WYwLf':function(_0x42df84,_0x5aa695){return _0x42df84===_0x5aa695;},'NSQWh':_0x4925e7(0x18e),'uUXwZ':_0x4925e7(0x18f),'tGyVZ':function(_0x38d654,_0x27e02b,_0x2df94b){return _0x38d654(_0x27e02b,_0x2df94b);}};let _0x44a53c;const _0x32e736=_0xbda11b['WYwLf'](_0x29c8c1,'user')?'~/.ranger/':_0xbda11b['NSQWh'];if(_0x29c8c1===_0xbda11b['uUXwZ'])_0x44a53c=getRangerHomeDir();else{const _0x10afa7=findGitRoot();_0x44a53c=_0x10afa7?_0xbda11b['tGyVZ'](join,_0x10afa7,_0x4925e7(0x192)):getRangerDir();}return!existsSync(_0x44a53c)?(await mkdir(_0x44a53c,{'recursive':!![]}),console['log'](_0x4925e7(0x1b6)+_0x32e736+'\x20directory'),{'path':_0x44a53c,'installed':!![]}):(console['log']('✓\x20'+_0x32e736+'\x20directory\x20already\x20exists'),{'path':_0x44a53c,'installed':![]});}export async function ensureChromium(_0x157e2e=![]){const _0x2a0efc=_0x640448,_0xc9a2b7={'xhSyJ':'✓\x20Playwright\x20Chromium\x20browser\x20found','gHyRn':function(_0x3cd4c6,_0x6d801a){return _0x3cd4c6??_0x6d801a;},'aSbzM':_0x2a0efc(0x1af),'McIxO':function(_0x1524ae,_0x146ee6,_0x51daeb){return _0x1524ae(_0x146ee6,_0x51daeb);}};let _0x489b02=![];try{const _0x5b7e26=chromium[_0x2a0efc(0x180)]();_0x489b02=existsSync(_0x5b7e26);}catch{_0x489b02=![];}if(_0x489b02)return console[_0x2a0efc(0x15f)](_0xc9a2b7['xhSyJ']),![];const _0x3f9f48=getPlaywrightVersion(),_0x525d16=_0xc9a2b7[_0x2a0efc(0x1ba)](_0x3f9f48,PLAYWRIGHT_CHROMIUM_INSTALL_FALLBACK_VERSION),_0x43e619=!_0x3f9f48,_0x47ef84=process[_0x2a0efc(0x160)]['isTTY']&&process[_0x2a0efc(0x178)]['isTTY'];let _0xd905e8=!![];if(_0x47ef84){const {install:_0x1783bb}=await _0x49e381[_0x2a0efc(0x16e)]([{'type':_0x2a0efc(0x152),'name':'install','message':_0x43e619?'Could\x20not\x20determine\x20local\x20Playwright\x20version.\x20Install\x20Playwright\x20Chromium\x20using\x20fallback\x20version\x20'+_0x525d16+'\x20now?':'The\x20required\x20version\x20('+_0x525d16+_0x2a0efc(0x15a),'default':!![]}]);_0xd905e8=_0x1783bb;}else console[_0x2a0efc(0x15f)](_0x2a0efc(0x14e)+_0x525d16+(_0x43e619?_0xc9a2b7['aSbzM']:'')+_0x2a0efc(0x197));if(_0xd905e8){console['log']('\x0aInstalling\x20Chromium\x20browser...\x0a');try{await _0xc9a2b7['McIxO'](installChromiumBinary,_0x525d16,_0x157e2e),console['log']('\x0a✓\x20Playwright\x20Chromium\x20installed\x20successfully');}catch(_0x41c6f1){console[_0x2a0efc(0x153)]('\x0a❌\x20Failed\x20to\x20install\x20Chromium:',_0x41c6f1 instanceof Error?_0x41c6f1[_0x2a0efc(0x1b5)]:_0x41c6f1),console[_0x2a0efc(0x15f)](_0x2a0efc(0x19c)),console['log']('\x20\x20npx\x20playwright@'+_0x525d16+'\x20install\x20chromium');}}else console[_0x2a0efc(0x15f)](_0x2a0efc(0x1a8)),console[_0x2a0efc(0x15f)](_0x2a0efc(0x1b7)),console['log'](_0x2a0efc(0x15b)+_0x525d16+'\x20install\x20chromium');return!![];}export async function writeRangerGitignore(_0x3853e3){const _0x4af62c=_0x640448,_0x44236e={'QsVwL':function(_0xa704a5,_0x2d08e3,_0x525ca0){return _0xa704a5(_0x2d08e3,_0x525ca0);}},_0x59501c=_0x44236e['QsVwL'](join,_0x3853e3,_0x4af62c(0x199)),_0x2734e9=_0x4af62c(0x175);await writeFile(_0x59501c,_0x2734e9),console['log'](_0x4af62c(0x18d));}export async function ensureLocalEnv(_0x579600,_0x4163f2){const _0x14e5e1=_0x640448,_0x579e2d={'eyzBi':function(_0x356603){return _0x356603();},'qkmur':function(_0x5de62c,_0x367902){return _0x5de62c!==_0x367902;},'QEjtB':'user','XvShz':_0x14e5e1(0x157),'DioGy':function(_0x258576,_0x4ec3d5){return _0x258576===_0x4ec3d5;},'vbUyC':_0x14e5e1(0x16b),'oPnOj':'✓\x20Local\x20profile\x20already\x20exists'};if(!_0x579e2d['eyzBi'](findGitRoot)&&_0x579e2d['qkmur'](_0x579600?.['scope'],_0x579e2d[_0x14e5e1(0x168)]))return console[_0x14e5e1(0x15f)](_0x579e2d[_0x14e5e1(0x1b0)]),{'ready':![],'skipped':!![]};const _0x425c36=_0x579e2d[_0x14e5e1(0x16a)](_0x579600?.['scope'],_0x579e2d['QEjtB'])?getRangerHomeDir():undefined;if(findExistingEnv(_0x579e2d[_0x14e5e1(0x1ac)],{'locations':[_0x579e2d['vbUyC']],'rangerDir':_0x425c36}))return console[_0x14e5e1(0x15f)](_0x579e2d['oPnOj']),{'ready':!![],'skipped':![]};try{return await addEnv('local',{'url':_0x579600?.[_0x14e5e1(0x173)],'force':_0x579600?.[_0x14e5e1(0x1ab)],'allowInsecureLocalhost':_0x579600?.['allowInsecureLocalhost'],'scope':_0x579600?.[_0x14e5e1(0x177)]},_0x4163f2),{'ready':!![],'skipped':![]};}catch(_0x1035cd){return console[_0x14e5e1(0x153)]('\x0a❌\x20Profile\x20setup\x20failed:',_0x1035cd instanceof Error?_0x1035cd['message']:_0x1035cd),{'ready':![],'skipped':![]};}}export async function start(_0x49dca3,_0x139fb9,_0x326e56){const _0x17330e=_0x640448,_0x21353a={'LqTYB':'user','nctOm':function(_0x5f43af){return _0x5f43af();},'qgNvg':_0x17330e(0x1a0),'xKPRC':_0x17330e(0x1a7),'FiScT':_0x17330e(0x1b3),'OkjSJ':function(_0x4f7ebc,_0x39db17){return _0x4f7ebc(_0x39db17);},'DlKhs':'✓\x20Skipping\x20authentication\x20(--skip-auth)','coePI':_0x17330e(0x14d),'oASFQ':'chromium','hlQya':'\x0a✅\x20Ranger\x20setup\x20complete!\x0a','zsXTF':_0x17330e(0x16f),'Ykpuc':_0x17330e(0x183),'HnBUW':function(_0x350f75,_0x5a99ab,_0x4c0482){return _0x350f75(_0x5a99ab,_0x4c0482);},'mjgpk':_0x17330e(0x151),'TOMVt':function(_0x2007b9){return _0x2007b9();},'jzAHS':function(_0x3d1f97,_0x9ba2ed){return _0x3d1f97 instanceof _0x9ba2ed;},'DZrhO':function(_0x2f7ff6,_0x1d6ac9){return _0x2f7ff6(_0x1d6ac9);},'zbSME':_0x17330e(0x186),'DPQUv':_0x17330e(0x1b4),'hWThB':function(_0x4cf20d,_0x3dc3b6){return _0x4cf20d(_0x3dc3b6);},'OFNhj':_0x17330e(0x167),'diaDD':function(_0x1d856c,_0x566fd1){return _0x1d856c+_0x566fd1;}};console['log'](_0x17330e(0x194));const _0x1ba01d=process['stdin']['isTTY']&&process['stdout']['isTTY'];!_0x139fb9?.['scope']&&(_0x139fb9={..._0x139fb9,'scope':_0x21353a[_0x17330e(0x195)]});const _0xa462c4=_0x139fb9?.['scope']==='user';_0x326e56?.['trackPhaseStart']('git_check');if(!_0xa462c4&&!_0x21353a[_0x17330e(0x1a9)](findGitRoot)){await _0x326e56?.[_0x17330e(0x17b)](_0x21353a['qgNvg'],new Error(_0x21353a['xKPRC']));throw new Error(_0x21353a[_0x17330e(0x1a2)]);}_0x326e56?.[_0x17330e(0x17d)](_0x21353a[_0x17330e(0x159)]);const _0x580854=_0xa462c4?!_0x21353a['OkjSJ'](existsSync,getRangerHomeDir()):!_0x21353a[_0x17330e(0x179)](existsSync,_0x21353a['nctOm'](getRangerDir)),{path:_0x21ec29}=await ensureRangerDir(_0xa462c4?_0x21353a[_0x17330e(0x195)]:undefined);if(_0x139fb9?.['skipAuth'])console[_0x17330e(0x15f)](_0x21353a[_0x17330e(0x176)]),_0x326e56?.[_0x17330e(0x17d)](_0x21353a[_0x17330e(0x166)],{'isFirstRun':_0x580854,'method':_0x17330e(0x150)});else{_0x326e56?.[_0x17330e(0x18c)](_0x17330e(0x14d));const _0x459cd9=await authenticate(_0x49dca3);_0x326e56?.[_0x17330e(0x17d)]('auth',{'isFirstRun':_0x580854,'method':_0x459cd9['method']});}_0x326e56?.[_0x17330e(0x18c)](_0x21353a[_0x17330e(0x1b1)]);_0x139fb9?.[_0x17330e(0x171)]?console[_0x17330e(0x15f)]('✓\x20Skipping\x20Chromium\x20check\x20(--skip-chromium)'):await _0x21353a[_0x17330e(0x179)](ensureChromium,_0x139fb9?.[_0x17330e(0x163)]);_0x326e56?.['trackPhaseEnd'](_0x21353a['oASFQ'],{'isFirstRun':_0x580854,'skipped':!!_0x139fb9?.[_0x17330e(0x171)]});!_0xa462c4&&await writeRangerGitignore(_0x21ec29);console[_0x17330e(0x15f)](_0x21353a[_0x17330e(0x170)]);const _0x4249b2=_0x139fb9?.['scope'],_0x18587b=_0x139fb9?.['opencode']??![];let _0x51cdba=null;_0x18587b?(_0x326e56?.['trackPhaseStart'](_0x21353a['zsXTF']),_0x51cdba=await ensureOpencodePluginConfig(_0x4249b2),_0x326e56?.[_0x17330e(0x17d)]('plugin',{'isFirstRun':_0x580854,'opencode':!![]})):(_0x326e56?.['trackPhaseStart'](_0x17330e(0x16f)),await ensureClaudePlugin(_0x4249b2),_0x326e56?.['trackPhaseEnd'](_0x17330e(0x16f),{'isFirstRun':_0x580854}));if(_0x18587b&&_0x51cdba){_0x326e56?.['trackPhaseStart'](_0x21353a['Ykpuc']);try{await _0x21353a['HnBUW'](installSkill,_0x21353a['mjgpk'],{'level':_0x51cdba[_0x17330e(0x177)],'cliVersion':_0x21353a['TOMVt'](getCurrentVersion),'platform':'opencode'}),_0x326e56?.[_0x17330e(0x17d)](_0x17330e(0x183),{'isFirstRun':_0x580854,'opencode':!![]});}catch(_0x45aac1){console['warn'](_0x17330e(0x156),_0x21353a['jzAHS'](_0x45aac1,Error)?_0x45aac1['message']:_0x45aac1),_0x326e56?.[_0x17330e(0x17d)](_0x17330e(0x183),{'isFirstRun':_0x580854,'opencode':!![],'failed':!![]});}}else _0x326e56?.[_0x17330e(0x18c)](_0x21353a['Ykpuc']),await ensureClaudeSkills(_0x4249b2),_0x326e56?.[_0x17330e(0x17d)](_0x21353a[_0x17330e(0x16c)],{'isFirstRun':_0x580854});if(_0x139fb9?.[_0x17330e(0x18a)])console[_0x17330e(0x15f)](_0x17330e(0x14a));else{if(_0x139fb9?.[_0x17330e(0x173)]){_0x326e56?.[_0x17330e(0x18c)](_0x17330e(0x161));const _0x543a2d=await ensureLocalEnv({'url':_0x139fb9[_0x17330e(0x173)],'force':_0x139fb9?.[_0x17330e(0x1ab)],'allowInsecureLocalhost':_0x139fb9?.[_0x17330e(0x14b)],'scope':_0x139fb9?.['scope']==='user'?_0x21353a['LqTYB']:undefined},_0x326e56);_0x326e56?.['trackPhaseEnd'](_0x17330e(0x161),{'isFirstRun':_0x580854,'profileReady':_0x543a2d[_0x17330e(0x184)],'userSkipped':_0x543a2d['skipped']});}else console[_0x17330e(0x15f)]('\x0aTo\x20verify\x20with\x20a\x20browser:\x20set\x20'+_0x21353a[_0x17330e(0x188)](bold,_0x21353a[_0x17330e(0x191)])+'\x20and\x20'+_0x21353a['OkjSJ'](bold,'RANGER_TEST_PASSWORD')),console[_0x17330e(0x15f)](_0x17330e(0x14f)+_0x21353a['OkjSJ'](bold,_0x17330e(0x16d))+_0x17330e(0x19b));}if(_0x18587b)console['log'](_0x21353a[_0x17330e(0x1b8)]),console[_0x17330e(0x15f)]('and\x20prompt\x20the\x20agent\x20like\x20usual.\x20Ranger\x20will\x20create\x20a\x20feature\x20review'),console['log'](_0x17330e(0x154)),console[_0x17330e(0x15f)](_0x17330e(0x19e));else{const _0x5616ab=_0x21353a['hWThB'](bold,_0x21353a['OFNhj']);console['log'](_0x21353a[_0x17330e(0x18b)](_0x21353a['diaDD']('\x0aIn\x20Claude\x20Code,\x20run\x20'+_0x5616ab+_0x17330e(0x1b9)+'\x0aagent\x20like\x20usual.\x20Claude\x20will\x20create\x20a\x20feature\x20review\x20with','\x0ascenarios\x20describing\x20what\x20to\x20verify\x20and\x20then\x20run\x20browser'),'\x0averification\x20to\x20check\x20its\x20work\x20as\x20it\x20builds.'));}}
@@ -1 +1 @@
1
- const _0x562cb6=_0x1ce5;(function(_0x3eac58,_0x2dea1c){const _0xe33065=_0x1ce5,_0x25b555=_0x3eac58();while(!![]){try{const _0x4361ea=-parseInt(_0xe33065(0x20d))/0x1+parseInt(_0xe33065(0x217))/0x2+parseInt(_0xe33065(0x1ce))/0x3*(-parseInt(_0xe33065(0x1cd))/0x4)+-parseInt(_0xe33065(0x1fc))/0x5+-parseInt(_0xe33065(0x1c7))/0x6+-parseInt(_0xe33065(0x1eb))/0x7+parseInt(_0xe33065(0x213))/0x8*(parseInt(_0xe33065(0x1e5))/0x9);if(_0x4361ea===_0x2dea1c)break;else _0x25b555['push'](_0x25b555['shift']());}catch(_0x354173){_0x25b555['push'](_0x25b555['shift']());}}}(_0x984d,0xa421f));import{readFile,readdir}from'fs/promises';import{join,basename}from'path';import{existsSync}from'fs';import{getToken}from'./utils/keychain.js';import{getCurrentVersion,getLatestVersion}from'./utils/version.js';import{getApiBaseUrl,getCurrentEnvironment}from'./utils/environment.js';import{getProjectSkillsDir,getUserSkillsDir}from'./utils/claudeConfig.js';function _0x1ce5(_0x24d27d,_0x58d5dc){_0x24d27d=_0x24d27d-0x1b8;const _0x984d39=_0x984d();let _0x1ce5c8=_0x984d39[_0x24d27d];return _0x1ce5c8;}import{getEnvNames}from'./env.js';import{getCurrentUser}from'./utils/userApi.js';function _0x984d(){const _0x5f3a2b=['rFZwI','\x1b[1m','\x0a---\x20OpenCode\x20Plugin\x20---','GDFyq','Organization:\x20','PCTTY','IXIVA','6204240hFlrsZ','\x20\x20Run:\x20ranger\x20update','clQJh','rbEcy','debug','CBCwd','23212hmwvkQ','123CfhkSW','Root:\x20','version','toString','unknown','data','not_configured','path','GRuda','some','YzsDX','length','xToXK','displayName','JiOFE','configured','Version:\x20','not_installed','\x20\x20\x20\x20Settings:\x20','isDirectory','disabled','\x20\x20Run:\x20ranger\x20profile\x20use\x20<profile-name>\x20\x20(available:\x20','(not\x20found)','1773iSsslY','\x0a---\x20Profiles\x20---','opencode','details','scope','MQbNf','5349162BYqvXl','status','RDjKT','yfRcB','user','\x20\x20Not\x20installed','WPsQK','IHohX','No\x20skills\x20installed','cyWnm','parse','plaintext','none','\x0a📊\x20Ranger\x20Status\x0a','EJgME','stderr','enabled','4422160aelpvj','YRtrW','API\x20Environment:\x20','UXCyh','RpQfR','tiLAd','TPWbl','YPocP','DEBUG','\x1b]8;;file://','@ranger-testing/opencode-plugin','DsOKE','ignore','YgqwA','laYzW','config','\x20\x20Not\x20configured','628990pKhFCz','push','ranger@trailhead','name','nJxGx','OHnBL','166528gPcVKo','match','\x20\x20\x20\x20','\x1b]8;;\x07','242172cCIgzc','jQKlt','aKmny','isArray','API\x20Token:\x20✓\x20Found\x20but\x20invalid\x20or\x20expired','\x20\x20Run:\x20ranger\x20profile\x20add\x20<profile-name>','log','\x20\x20User-level:','YpArt','API\x20URL:\x20','\x1b[0m','bpkaE'];_0x984d=function(){return _0x5f3a2b;};return _0x984d();}import{getRangerDir}from'./utils/rangerRoot.js';import{getEnvDir}from'./utils/settings.js';import{getPluginInfo}from'./utils/claudePlugin.js';import{RANGER_MANAGED_SKILLS}from'./utils/skills.js';import{spawn}from'child_process';const bold=_0x293f69=>_0x562cb6(0x1c1)+_0x293f69+_0x562cb6(0x1be),link=(_0x51ba32,_0x474d0e)=>_0x562cb6(0x205)+_0x51ba32+'\x07'+(_0x474d0e||_0x51ba32)+_0x562cb6(0x216);async function getOpencodePluginStatus(){const _0x5187d2=_0x562cb6,_0x5d3989={'WPsQK':function(_0x2b4e23,_0x4320c9){return _0x2b4e23!==_0x4320c9;},'YzsDX':'string','YkQAQ':'opencode-plugin','aKmny':function(_0x2f4206,_0xd04341){return _0x2f4206(_0xd04341);},'kQzZW':'not_configured','YgqwA':_0x5187d2(0x1e7),'xToXK':'pipe','BYyrI':_0x5187d2(0x1d3),'MQbNf':'close'};return new Promise(_0xe5aa13=>{const _0x8bcf61=_0x5187d2,_0x3e315f={'gQfZn':function(_0xbef3c9,_0x33ee9d){const _0xd98c16=_0x1ce5;return _0x5d3989[_0xd98c16(0x1f1)](_0xbef3c9,_0x33ee9d);},'hopXx':_0x5d3989[_0x8bcf61(0x1d8)],'VVshs':_0x5d3989['YkQAQ'],'OHnBL':function(_0x5c4cf8,_0x39a696){return _0x5c4cf8(_0x39a696);},'nJxGx':function(_0x5e46e1,_0xa22e65){const _0x5f445c=_0x8bcf61;return _0x5d3989[_0x5f445c(0x219)](_0x5e46e1,_0xa22e65);},'laYzW':function(_0x1da3dd,_0x41e56d){return _0x1da3dd>_0x41e56d;},'QYAFt':function(_0x15a88c,_0x28253a){return _0x15a88c(_0x28253a);},'YPocP':_0x5d3989['kQzZW']},_0x26257a=spawn(_0x5d3989[_0x8bcf61(0x209)],[_0x8bcf61(0x1cb),_0x8bcf61(0x20b)],{'stdio':[_0x8bcf61(0x208),_0x5d3989[_0x8bcf61(0x1da)],_0x5d3989['xToXK']]});let _0x35f299='';_0x26257a['stdout']?.['on'](_0x5d3989['BYyrI'],_0x59adbb=>{_0x35f299+=_0x59adbb['toString']();}),_0x26257a[_0x8bcf61(0x1fa)]?.['on']('data',_0x5c0e9b=>{const _0x3aea7c=_0x8bcf61;_0x35f299+=_0x5c0e9b[_0x3aea7c(0x1d1)]();}),_0x26257a['on']('error',()=>{const _0x333d85=_0x8bcf61;_0xe5aa13({'status':_0x333d85(0x1df)});}),_0x26257a['on'](_0x5d3989[_0x8bcf61(0x1ea)],_0x85741e=>{const _0x4a2c44=_0x8bcf61;if(_0x85741e!==0x0){_0x3e315f['OHnBL'](_0xe5aa13,{'status':'not_installed'});return;}const _0x1379d1=_0x35f299['trim']();let _0x9f5ef2=null;if(_0x1379d1)try{_0x9f5ef2=JSON['parse'](_0x1379d1);}catch{const _0x57429d=_0x1379d1['match'](/\{[\s\S]*\}$/);if(_0x57429d)try{_0x9f5ef2=JSON[_0x4a2c44(0x1f5)](_0x57429d[0x0]);}catch{_0x9f5ef2=null;}}const _0x34af8a=Array[_0x4a2c44(0x21a)](_0x9f5ef2?.['plugin'])?_0x9f5ef2?.['plugin']:[],_0x4c4146=_0x34af8a[_0x4a2c44(0x1d7)](_0xb3f061=>{const _0x15e758=_0x4a2c44;if(_0x3e315f['gQfZn'](typeof _0xb3f061,_0x3e315f['hopXx']))return![];return _0xb3f061['includes'](_0x15e758(0x206))||_0xb3f061['includes'](_0x3e315f['VVshs']);});if(_0x4c4146){_0x3e315f[_0x4a2c44(0x211)](_0xe5aa13,{'status':_0x4a2c44(0x1dd),'details':_0x3e315f[_0x4a2c44(0x20a)](_0x34af8a[_0x4a2c44(0x1d9)],0x0)?_0x34af8a[_0x4a2c44(0x1d9)]+'\x20plugin(s)\x20configured':undefined});return;}if(_0x34af8a[_0x4a2c44(0x1d9)]>0x0){_0x3e315f['QYAFt'](_0xe5aa13,{'status':_0x3e315f[_0x4a2c44(0x203)],'details':_0x34af8a[_0x4a2c44(0x1d9)]+'\x20plugin(s)\x20configured'});return;}_0x3e315f[_0x4a2c44(0x212)](_0xe5aa13,{'status':'not_configured'});});});}async function getSkillsFromDir(_0x280204,_0x238f3c){const _0x44fd5a=_0x562cb6,_0x33e89c={'majsn':function(_0x2e293f,_0x6c7657){return _0x2e293f(_0x6c7657);},'JiOFE':function(_0x28559c,_0x181ce1,_0x3c594e,_0x45f3a6){return _0x28559c(_0x181ce1,_0x3c594e,_0x45f3a6);},'vrmwF':function(_0x332da3,_0x4e85bf,_0x14b1a4){return _0x332da3(_0x4e85bf,_0x14b1a4);}};if(!_0x33e89c['majsn'](existsSync,_0x280204))return[];const _0x3c6bee=[];try{const _0xb92371=await readdir(_0x280204,{'withFileTypes':!![]});for(const _0x503570 of _0xb92371){if(_0x503570[_0x44fd5a(0x1e1)]()){const _0x4bbc18=_0x33e89c[_0x44fd5a(0x1dc)](join,_0x280204,_0x503570['name'],'SKILL.md');if(_0x33e89c['majsn'](existsSync,_0x4bbc18)){let _0x55ebce=_0x503570['name'];try{const _0x329e31=await _0x33e89c['vrmwF'](readFile,_0x4bbc18,'utf-8'),_0x11c457=_0x329e31[_0x44fd5a(0x214)](/name:\s*(.+)/);_0x11c457&&(_0x55ebce=_0x11c457[0x1]['trim']());}catch{}_0x3c6bee[_0x44fd5a(0x20e)]({'name':_0x503570['name'],'displayName':_0x55ebce,'path':_0x4bbc18,'level':_0x238f3c});}}}}catch{return[];}return _0x3c6bee;}async function getInstalledSkills(){const _0x50a47a=_0x562cb6,_0x2d85da={'UXCyh':function(_0x95699e,_0x3e5232,_0x21ad45){return _0x95699e(_0x3e5232,_0x21ad45);},'YRtrW':function(_0x1cd49f){return _0x1cd49f();},'CXVBO':function(_0x105be0,_0x42b682,_0x440316){return _0x105be0(_0x42b682,_0x440316);}},[_0x5ad94a,_0x97263f]=await Promise['all']([_0x2d85da[_0x50a47a(0x1ff)](getSkillsFromDir,_0x2d85da[_0x50a47a(0x1fd)](getProjectSkillsDir),'project'),_0x2d85da['CXVBO'](getSkillsFromDir,getUserSkillsDir(),_0x50a47a(0x1ef))]);return{'project':_0x5ad94a,'user':_0x97263f};}async function getEnvironments(){const _0x1aee0e=_0x562cb6,_0x4d009f={'MihdI':function(_0x5ecb13,_0x323bdf){return _0x5ecb13(_0x323bdf);},'rbEcy':function(_0x35fec2,_0x513338,_0x3e8fc2){return _0x35fec2(_0x513338,_0x3e8fc2);},'DsOKE':'settings.json','RDjKT':function(_0x3de7c6,_0x5272b8,_0x34641d){return _0x3de7c6(_0x5272b8,_0x34641d);},'xhoyt':'auth.json.enc','IXIVA':_0x1aee0e(0x1e4),'QSHHP':function(_0x124060,_0x578dd0){return _0x124060===_0x578dd0;},'HxDZk':function(_0x1241f8,_0x2a41b3){return _0x1241f8(_0x2a41b3);}},{envNames:_0x259003,activeEnv:_0x31064c}=await getEnvNames(),_0x4df9fa=getRangerDir();if(!_0x4d009f['HxDZk'](existsSync,_0x4df9fa))return{'envs':[],'activeEnv':null};const _0x38af41=_0x259003['map'](_0x4dce2a=>{const _0x130c36=_0x1aee0e,_0x543324=_0x4d009f['MihdI'](getEnvDir,_0x4dce2a),_0x1b9546=_0x4d009f[_0x130c36(0x1ca)](join,_0x543324,_0x4d009f[_0x130c36(0x207)]),_0x17eeba=_0x4d009f[_0x130c36(0x1ed)](join,_0x543324,'auth.json'),_0xeef90b=join(_0x543324,_0x4d009f['xhoyt']);return{'name':_0x4dce2a,'settingsPath':existsSync(_0x1b9546)?_0x1b9546:_0x4d009f[_0x130c36(0x1c6)],'hasPlaintextAuth':existsSync(_0x17eeba),'hasEncryptedAuth':existsSync(_0xeef90b),'isActive':_0x4d009f['QSHHP'](_0x4dce2a,_0x31064c)};});return{'envs':_0x38af41,'activeEnv':_0x31064c};}export async function status(){const _0x39d51d=_0x562cb6,_0x1a1cf7={'saacv':_0x39d51d(0x1f8),'GDFyq':function(_0x2142b5){return _0x2142b5();},'uXVKO':function(_0x50c37c,_0xb35244){return _0x50c37c(_0xb35244);},'rFZwI':function(_0x589942,_0x321dd8,_0x410513){return _0x589942(_0x321dd8,_0x410513);},'RpQfR':function(_0x2ec88f,_0x26ccfd){return _0x2ec88f(_0x26ccfd);},'etXYr':function(_0x3c6317,_0x52ca37){return _0x3c6317!==_0x52ca37;},'BVazS':function(_0x429478){return _0x429478();},'TPWbl':function(_0x2476dd,_0x1525e3){return _0x2476dd(_0x1525e3);},'IfcoK':_0x39d51d(0x206),'tiLAd':function(_0x427f3a,_0x586e16){return _0x427f3a===_0x586e16;},'PCTTY':_0x39d51d(0x20c),'CBCwd':'\x20\x20Run:\x20ranger\x20setup\x20--opencode','EJgME':'\x20\x20OpenCode\x20not\x20installed\x20or\x20not\x20available','fgUjM':_0x39d51d(0x20f),'wypzm':_0x39d51d(0x1d2),'GRuda':_0x39d51d(0x1fb),'rxwUS':_0x39d51d(0x1e2),'bpkaE':'\x20\x20Run:\x20ranger\x20setup\x20[token]\x20\x20(includes\x20plugin\x20installation)','jQKlt':function(_0x3efa0a,_0x201ed5){return _0x3efa0a+_0x201ed5;},'cyWnm':_0x39d51d(0x1f3),'YpArt':'\x20\x20Project-level:','IHohX':_0x39d51d(0x1bb),'axtlP':function(_0x5a9c23,_0x7c8142){return _0x5a9c23(_0x7c8142);},'yfRcB':'\x20(active)','clQJh':'encrypted','edVzn':_0x39d51d(0x1f6),'DCuzg':_0x39d51d(0x1f7),'rwdvP':function(_0x254125,_0x4b64d0,_0x45b4e4){return _0x254125(_0x4b64d0,_0x45b4e4);}};console['log'](_0x1a1cf7['saacv']);const _0x52365a=process['cwd'](),_0x50a2ff=_0x1a1cf7['GDFyq'](getRangerDir);if(!_0x1a1cf7['uXVKO'](existsSync,_0x50a2ff)){console[_0x39d51d(0x1ba)]('Root:\x20'+link(_0x52365a,bold(basename(_0x52365a)))),console[_0x39d51d(0x1ba)]('\x0aRanger\x20has\x20not\x20been\x20initialized\x20in\x20this\x20directory.'),console['log']('\x20\x20Run:\x20ranger\x20setup\x20[token]\x0a');return;}console['log'](_0x39d51d(0x1cf)+_0x1a1cf7[_0x39d51d(0x1c0)](link,_0x52365a,_0x1a1cf7[_0x39d51d(0x200)](bold,basename(_0x52365a))));const _0x4ad8ea=getCurrentVersion(),_0x9fa63a=_0x1a1cf7[_0x39d51d(0x1c3)](getLatestVersion);if(_0x9fa63a['version']&&_0x1a1cf7['etXYr'](_0x9fa63a['version'],_0x4ad8ea))console[_0x39d51d(0x1ba)]('Version:\x20'+_0x4ad8ea+'\x20(latest:\x20'+_0x9fa63a['version']+')'),console['log'](_0x39d51d(0x1c8));else _0x9fa63a[_0x39d51d(0x1d0)]?console['log']('Version:\x20'+_0x4ad8ea+'\x20(up\x20to\x20date)'):console['log'](_0x39d51d(0x1de)+_0x4ad8ea);const _0x49f44b=await _0x1a1cf7['BVazS'](getToken);if(_0x49f44b){const _0x240072=await getCurrentUser(_0x49f44b);_0x240072['success']?console['log'](_0x39d51d(0x1c4)+bold(_0x240072['user']['organizationName'])):(console[_0x39d51d(0x1ba)](_0x39d51d(0x1b8)),console[_0x39d51d(0x1ba)]('\x20\x20Run:\x20ranger\x20setup\x20[token]'));}else console['log']('API\x20Token:\x20✗\x20Not\x20found'),console['log']('\x20\x20Run:\x20ranger\x20setup\x20[token]');process['env'][_0x39d51d(0x204)]&&(console['log'](_0x39d51d(0x1fe)+getCurrentEnvironment()),console['log'](_0x39d51d(0x1bd)+getApiBaseUrl()));console['log'](_0x39d51d(0x1c2));const _0x26a1e4=await getOpencodePluginStatus();if(_0x26a1e4['status']==='configured')console[_0x39d51d(0x1ba)]('\x20\x20'+_0x1a1cf7[_0x39d51d(0x202)](bold,_0x1a1cf7['IfcoK'])+':\x20configured'),_0x26a1e4[_0x39d51d(0x1e8)]&&console['log']('\x20\x20'+_0x26a1e4['details']);else _0x1a1cf7[_0x39d51d(0x201)](_0x26a1e4[_0x39d51d(0x1ec)],_0x39d51d(0x1d4))?(console[_0x39d51d(0x1ba)](_0x1a1cf7[_0x39d51d(0x1c5)]),_0x26a1e4[_0x39d51d(0x1e8)]&&console[_0x39d51d(0x1ba)]('\x20\x20'+_0x26a1e4[_0x39d51d(0x1e8)]),console[_0x39d51d(0x1ba)](_0x1a1cf7[_0x39d51d(0x1cc)])):console[_0x39d51d(0x1ba)](_0x1a1cf7[_0x39d51d(0x1f9)]);console['log']('\x0a---\x20Claude\x20Code\x20Plugin\x20---');const _0x38e8ca=await getPluginInfo(_0x1a1cf7['fgUjM']);if(_0x38e8ca){const _0x2fbce8=_0x38e8ca[_0x39d51d(0x1e9)]||_0x1a1cf7['wypzm'],_0x443c69=_0x38e8ca['enabled']?_0x1a1cf7[_0x39d51d(0x1d6)]:_0x1a1cf7['rxwUS'];console['log']('\x20\x20'+_0x1a1cf7['RpQfR'](bold,_0x1a1cf7['fgUjM'])+':\x20installed\x20('+_0x2fbce8+',\x20'+_0x443c69+')');}else console[_0x39d51d(0x1ba)](_0x39d51d(0x1f0)),console[_0x39d51d(0x1ba)](_0x1a1cf7[_0x39d51d(0x1bf)]);console[_0x39d51d(0x1ba)]('\x0a---\x20Skills\x20---');const {project:_0x531037,user:_0x490b54}=await getInstalledSkills(),_0x2851a8=_0x531037['filter'](_0x477b80=>RANGER_MANAGED_SKILLS['includes'](_0x477b80[_0x39d51d(0x210)])),_0x49341e=_0x490b54['filter'](_0xd720ab=>RANGER_MANAGED_SKILLS['includes'](_0xd720ab['name'])),_0x354e16=_0x1a1cf7[_0x39d51d(0x218)](_0x2851a8['length'],_0x49341e[_0x39d51d(0x1d9)]);if(_0x1a1cf7['tiLAd'](_0x354e16,0x0))console[_0x39d51d(0x1ba)](_0x1a1cf7[_0x39d51d(0x1f4)]),console[_0x39d51d(0x1ba)]('\x20\x20Run:\x20ranger\x20skillup');else{if(_0x2851a8['length']>0x0){console['log'](_0x1a1cf7[_0x39d51d(0x1bc)]);for(const _0x5038c7 of _0x2851a8){console[_0x39d51d(0x1ba)](_0x39d51d(0x215)+bold(_0x5038c7[_0x39d51d(0x1db)])+':\x20'+link(_0x5038c7['path'],basename(_0x5038c7[_0x39d51d(0x1d5)])));}}if(_0x49341e[_0x39d51d(0x1d9)]>0x0){console['log'](_0x1a1cf7[_0x39d51d(0x1f2)]);for(const _0x1f6cfb of _0x49341e){console['log'](_0x39d51d(0x215)+bold(_0x1f6cfb[_0x39d51d(0x1db)])+':\x20'+link(_0x1f6cfb['path'],_0x1a1cf7['axtlP'](basename,_0x1f6cfb[_0x39d51d(0x1d5)])));}}}console['log'](_0x39d51d(0x1e6));const {envs:_0x2ab9a1,activeEnv:_0x2a2d7f}=await getEnvironments();if(_0x1a1cf7[_0x39d51d(0x201)](_0x2ab9a1[_0x39d51d(0x1d9)],0x0))console[_0x39d51d(0x1ba)]('No\x20profiles\x20configured'),console['log'](_0x39d51d(0x1b9));else{for(const _0xca7358 of _0x2ab9a1){const _0x14383f=_0xca7358['isActive']?_0x1a1cf7[_0x39d51d(0x1ee)]:'',_0x4afc05=_0xca7358['hasEncryptedAuth']?_0x1a1cf7[_0x39d51d(0x1c9)]:_0xca7358['hasPlaintextAuth']?_0x1a1cf7['edVzn']:_0x1a1cf7['DCuzg'];console[_0x39d51d(0x1ba)]('\x20\x20'+_0x1a1cf7[_0x39d51d(0x202)](bold,_0xca7358[_0x39d51d(0x210)])+_0x14383f),console['log']('\x20\x20\x20\x20Auth:\x20'+_0x4afc05),_0x1a1cf7['etXYr'](_0xca7358['settingsPath'],'(not\x20found)')&&console[_0x39d51d(0x1ba)](_0x39d51d(0x1e0)+_0x1a1cf7['rwdvP'](link,_0xca7358['settingsPath'],basename(_0xca7358['settingsPath'])));}!_0x2a2d7f&&(console['log']('\x0a\x20\x20No\x20active\x20profile\x20set'),console['log'](_0x39d51d(0x1e3)+_0x2ab9a1['map'](_0x401cad=>_0x401cad['name'])['join'](',\x20')+')'));}console[_0x39d51d(0x1ba)]('');}
1
+ const _0x33d84d=_0x3d95;(function(_0x27f7af,_0x601ae1){const _0x4b9826=_0x3d95,_0x16a850=_0x27f7af();while(!![]){try{const _0x49455a=-parseInt(_0x4b9826(0x147))/0x1+parseInt(_0x4b9826(0x13c))/0x2+-parseInt(_0x4b9826(0x148))/0x3*(parseInt(_0x4b9826(0x189))/0x4)+-parseInt(_0x4b9826(0x181))/0x5*(parseInt(_0x4b9826(0x188))/0x6)+parseInt(_0x4b9826(0x167))/0x7*(-parseInt(_0x4b9826(0x18e))/0x8)+parseInt(_0x4b9826(0x169))/0x9*(parseInt(_0x4b9826(0x16c))/0xa)+parseInt(_0x4b9826(0x195))/0xb*(parseInt(_0x4b9826(0x15d))/0xc);if(_0x49455a===_0x601ae1)break;else _0x16a850['push'](_0x16a850['shift']());}catch(_0x861ece){_0x16a850['push'](_0x16a850['shift']());}}}(_0x1e15,0xbe53e));import{readFile,readdir}from'fs/promises';import{join,basename}from'path';import{existsSync}from'fs';import{getToken}from'./utils/keychain.js';import{getCurrentVersion,getLatestVersion}from'./utils/version.js';import{getApiBaseUrl,getCurrentEnvironment}from'./utils/environment.js';import{getProjectSkillsDir,getUserSkillsDir}from'./utils/claudeConfig.js';import{getEnvNames}from'./env.js';import{getCurrentUser}from'./utils/userApi.js';import{getRangerDir}from'./utils/rangerRoot.js';function _0x1e15(){const _0xeb4a10=['ptCZg','\x1b[0m','\x20\x20\x20\x20','358127QkLRUg','23883eKIOTo','VwXPk','\x0a---\x20Skills\x20---','vnmmL','all','includes','opencode-plugin','\x20(up\x20to\x20date)','GgxKj','length','DEBUG','data','Kbnod','Swaqy','status','pipe','parse','\x20\x20Project-level:','name','Root:\x20','jQlqe','36468lCYAXs','success','RWjtc','rSJvv','filter','\x0a---\x20Profiles\x20---','HHftL','ranger@trailhead','not_configured','details','1160999xsQpbh','vrIdy','1422JTpdrA','\x20\x20Run:\x20ranger\x20setup\x20--opencode','\x1b]8;;file://','98540UQlSeY','\x20\x20Run:\x20ranger\x20profile\x20use\x20<profile-name>\x20\x20(available:\x20','scope','isDirectory','auth.json.enc','config','stdout','\x20\x20Run:\x20ranger\x20setup\x20[token]\x0a','WCgrG','@ranger-testing/opencode-plugin','oeXhv','fiseJ','sOhoF','Fdgqe','vqBEs','FRrrE','yiXuf','Organization:\x20','Version:\x20','OVjZS','push','1859905FQGPKG','YiUXt','\x0a\x20\x20No\x20active\x20profile\x20set','Xoldy','version','LwEyo','none','6OCQWOn','524KpTaqh','API\x20Environment:\x20','ygHub','opencode','SjdVF','8fVszuw','\x20\x20Run:\x20ranger\x20setup\x20[token]','log',':\x20configured','settingsPath','organizationName','isArray','2354JcDHid','qcIeR','SKILL.md','JlNnQ','\x1b[1m','BtlAC','IFrst','encrypted','JXVgI','configured','acwUB','\x20plugin(s)\x20configured','displayName','bwpOC','KDTjX','1022320UwxfFl','settings.json','GrDzT','ignore','gzfwV','hasEncryptedAuth','toString','\x20(active)'];_0x1e15=function(){return _0xeb4a10;};return _0x1e15();}import{getEnvDir}from'./utils/settings.js';import{getPluginInfo}from'./utils/claudePlugin.js';import{RANGER_MANAGED_SKILLS}from'./utils/skills.js';function _0x3d95(_0x41ffbd,_0x29942b){_0x41ffbd=_0x41ffbd-0x13a;const _0x1e15fc=_0x1e15();let _0x3d95b3=_0x1e15fc[_0x41ffbd];return _0x3d95b3;}import{spawn}from'child_process';const bold=_0x42293c=>_0x33d84d(0x199)+_0x42293c+_0x33d84d(0x145),link=(_0x33b297,_0x223f43)=>_0x33d84d(0x16b)+_0x33b297+'\x07'+(_0x223f43||_0x33b297)+'\x1b]8;;\x07';async function getOpencodePluginStatus(){const _0x1f7a29=_0x33d84d,_0x2f2d87={'MxqJZ':'not_installed','ysRMq':'string','usVbD':'configured','EEOeM':_0x1f7a29(0x165),'VwXPk':function(_0x26321e,_0x1cea42){return _0x26321e(_0x1cea42);},'gzfwV':function(_0x179d99,_0x4ad013,_0x2580b4,_0x457e7d){return _0x179d99(_0x4ad013,_0x2580b4,_0x457e7d);},'BMxlU':_0x1f7a29(0x18c),'ptCZg':'debug','vnmmL':_0x1f7a29(0x157),'Xoldy':_0x1f7a29(0x153),'qcIeR':'close'};return new Promise(_0x2476de=>{const _0x4597e8=_0x1f7a29,_0x1586c1={'EspJP':_0x2f2d87['ysRMq'],'oeXhv':function(_0x2003e6,_0x4af4b6){return _0x2003e6!==_0x4af4b6;},'IgrSn':_0x2f2d87['usVbD'],'BtlAC':function(_0x14e596,_0x39bebc){return _0x14e596>_0x39bebc;},'huRsI':_0x2f2d87['EEOeM'],'OVjZS':function(_0xd31620,_0x3d19a6){const _0x19f653=_0x3d95;return _0x2f2d87[_0x19f653(0x149)](_0xd31620,_0x3d19a6);}},_0x2cd7ce=_0x2f2d87[_0x4597e8(0x140)](spawn,_0x2f2d87['BMxlU'],[_0x2f2d87[_0x4597e8(0x144)],_0x4597e8(0x171)],{'stdio':[_0x4597e8(0x13f),'pipe',_0x2f2d87[_0x4597e8(0x14b)]]});let _0x537d3c='';_0x2cd7ce[_0x4597e8(0x172)]?.['on'](_0x2f2d87[_0x4597e8(0x184)],_0x33966d=>{_0x537d3c+=_0x33966d['toString']();}),_0x2cd7ce['stderr']?.['on']('data',_0x157fca=>{const _0x4c6799=_0x4597e8;_0x537d3c+=_0x157fca[_0x4c6799(0x142)]();}),_0x2cd7ce['on']('error',()=>{_0x2476de({'status':_0x2f2d87['MxqJZ']});}),_0x2cd7ce['on'](_0x2f2d87[_0x4597e8(0x196)],_0x2b4327=>{const _0x558cc3=_0x4597e8,_0xb3c5fa={'sOhoF':function(_0x437598,_0x585c88){return _0x437598!==_0x585c88;},'XDUYq':_0x1586c1['EspJP'],'fiseJ':_0x558cc3(0x14e)};if(_0x1586c1[_0x558cc3(0x176)](_0x2b4327,0x0)){_0x2476de({'status':'not_installed'});return;}const _0x3034ee=_0x537d3c['trim']();let _0x27f9e4=null;if(_0x3034ee)try{_0x27f9e4=JSON['parse'](_0x3034ee);}catch{const _0x41033f=_0x3034ee['match'](/\{[\s\S]*\}$/);if(_0x41033f)try{_0x27f9e4=JSON[_0x558cc3(0x158)](_0x41033f[0x0]);}catch{_0x27f9e4=null;}}const _0x5a86ba=Array[_0x558cc3(0x194)](_0x27f9e4?.['plugin'])?_0x27f9e4?.['plugin']:[],_0xa780f0=_0x5a86ba['some'](_0x1278df=>{const _0x17b175=_0x558cc3;if(_0xb3c5fa[_0x17b175(0x178)](typeof _0x1278df,_0xb3c5fa['XDUYq']))return![];return _0x1278df[_0x17b175(0x14d)](_0x17b175(0x175))||_0x1278df[_0x17b175(0x14d)](_0xb3c5fa[_0x17b175(0x177)]);});if(_0xa780f0){_0x2476de({'status':_0x1586c1['IgrSn'],'details':_0x1586c1[_0x558cc3(0x19a)](_0x5a86ba[_0x558cc3(0x151)],0x0)?_0x5a86ba['length']+_0x558cc3(0x1a0):undefined});return;}if(_0x1586c1[_0x558cc3(0x19a)](_0x5a86ba[_0x558cc3(0x151)],0x0)){_0x2476de({'status':_0x1586c1['huRsI'],'details':_0x5a86ba['length']+'\x20plugin(s)\x20configured'});return;}_0x1586c1[_0x558cc3(0x17f)](_0x2476de,{'status':_0x558cc3(0x165)});});});}async function getSkillsFromDir(_0x2e0596,_0x2cd522){const _0x376ef4=_0x33d84d,_0x348eac={'ZLRZc':function(_0x197b86,_0x506e51,_0x3e2fcd){return _0x197b86(_0x506e51,_0x3e2fcd);},'RWjtc':function(_0x185a9f,_0x23f496){return _0x185a9f(_0x23f496);},'JXVgI':'utf-8'};if(!existsSync(_0x2e0596))return[];const _0x53ab6f=[];try{const _0x3b80f1=await _0x348eac['ZLRZc'](readdir,_0x2e0596,{'withFileTypes':!![]});for(const _0x4cddc7 of _0x3b80f1){if(_0x4cddc7[_0x376ef4(0x16f)]()){const _0x3623ac=join(_0x2e0596,_0x4cddc7[_0x376ef4(0x15a)],_0x376ef4(0x197));if(_0x348eac[_0x376ef4(0x15f)](existsSync,_0x3623ac)){let _0x191be0=_0x4cddc7[_0x376ef4(0x15a)];try{const _0x3a77b2=await _0x348eac['ZLRZc'](readFile,_0x3623ac,_0x348eac[_0x376ef4(0x19d)]),_0x138b4f=_0x3a77b2['match'](/name:\s*(.+)/);_0x138b4f&&(_0x191be0=_0x138b4f[0x1]['trim']());}catch{}_0x53ab6f[_0x376ef4(0x180)]({'name':_0x4cddc7[_0x376ef4(0x15a)],'displayName':_0x191be0,'path':_0x3623ac,'level':_0x2cd522});}}}}catch{return[];}return _0x53ab6f;}async function getInstalledSkills(){const _0x41fcc8=_0x33d84d,_0x18df35={'jqswH':function(_0x105004,_0x46dd3e,_0x22b891){return _0x105004(_0x46dd3e,_0x22b891);},'ugRYw':function(_0x305b42){return _0x305b42();},'gXoCx':'project'},[_0x311f86,_0x52d2ad]=await Promise[_0x41fcc8(0x14c)]([_0x18df35['jqswH'](getSkillsFromDir,_0x18df35['ugRYw'](getProjectSkillsDir),_0x18df35['gXoCx']),getSkillsFromDir(getUserSkillsDir(),'user')]);return{'project':_0x311f86,'user':_0x52d2ad};}async function getEnvironments(){const _0x4d8631={'Xeutq':function(_0x4770db,_0xff847,_0x335e07){return _0x4770db(_0xff847,_0x335e07);},'acwUB':function(_0x3df48b,_0x15bd2b){return _0x3df48b(_0x15bd2b);},'GgxKj':function(_0x4469d5,_0x1732ed){return _0x4469d5(_0x1732ed);},'EVKVX':function(_0x309d8c,_0x31439d){return _0x309d8c===_0x31439d;},'sXgYM':function(_0x5b2612){return _0x5b2612();}},{envNames:_0x4f1f2b,activeEnv:_0x2428d8}=await _0x4d8631['sXgYM'](getEnvNames),_0x26baf4=_0x4d8631['sXgYM'](getRangerDir);if(!existsSync(_0x26baf4))return{'envs':[],'activeEnv':null};const _0x33d747=_0x4f1f2b['map'](_0x4dcc0c=>{const _0x1706c7=_0x3d95,_0x322560=getEnvDir(_0x4dcc0c),_0x5767e2=_0x4d8631['Xeutq'](join,_0x322560,_0x1706c7(0x13d)),_0x49686d=join(_0x322560,'auth.json'),_0x10e69e=join(_0x322560,_0x1706c7(0x170));return{'name':_0x4dcc0c,'settingsPath':_0x4d8631[_0x1706c7(0x19f)](existsSync,_0x5767e2)?_0x5767e2:'(not\x20found)','hasPlaintextAuth':_0x4d8631[_0x1706c7(0x150)](existsSync,_0x49686d),'hasEncryptedAuth':existsSync(_0x10e69e),'isActive':_0x4d8631['EVKVX'](_0x4dcc0c,_0x2428d8)};});return{'envs':_0x33d747,'activeEnv':_0x2428d8};}export async function status(){const _0x3668f8=_0x33d84d,_0x30c4db={'KDTjX':function(_0x2376d4){return _0x2376d4();},'JlNnQ':function(_0x54a17d,_0x58e50b){return _0x54a17d(_0x58e50b);},'Kbnod':function(_0x32b421,_0x1861e6){return _0x32b421(_0x1861e6);},'vrIdy':'\x0a---\x20OpenCode\x20Plugin\x20---','SjdVF':function(_0x5900c7){return _0x5900c7();},'wYzaU':function(_0x2521fd,_0x60bf03){return _0x2521fd===_0x60bf03;},'HHftL':'not_configured','WCgrG':'\x20\x20Not\x20configured','bwpOC':_0x3668f8(0x16a),'ksbLi':'\x20\x20OpenCode\x20not\x20installed\x20or\x20not\x20available','QWHAU':'\x0a---\x20Claude\x20Code\x20Plugin\x20---','jQlqe':function(_0x3b8cf0,_0x199037){return _0x3b8cf0(_0x199037);},'pjyPt':'enabled','vqBEs':'disabled','Fdgqe':'ranger@trailhead','FRrrE':'\x20\x20Not\x20installed','YiUXt':'\x20\x20Run:\x20ranger\x20setup\x20[token]\x20\x20(includes\x20plugin\x20installation)','Cnvja':_0x3668f8(0x14a),'eBuTo':function(_0x2c82e1,_0x2c0406){return _0x2c82e1+_0x2c0406;},'ygHub':function(_0x1e46d0,_0x372c17){return _0x1e46d0>_0x372c17;},'EaQDk':function(_0xe14f37,_0x562845,_0x1b7fe3){return _0xe14f37(_0x562845,_0x1b7fe3);},'KPsfC':function(_0x1a55ac,_0x57d45e){return _0x1a55ac>_0x57d45e;},'GrDzT':'\x20\x20User-level:','IFrst':_0x3668f8(0x162),'WiJxQ':function(_0x1c0688){return _0x1c0688();},'LwEyo':'No\x20profiles\x20configured','rSJvv':_0x3668f8(0x19c),'yiXuf':_0x3668f8(0x187),'PzaKD':function(_0x459ca4,_0x34d2d0){return _0x459ca4!==_0x34d2d0;},'Swaqy':'(not\x20found)'};console[_0x3668f8(0x190)]('\x0a📊\x20Ranger\x20Status\x0a');const _0x2b8177=process['cwd'](),_0x3804c1=_0x30c4db[_0x3668f8(0x13b)](getRangerDir);if(!_0x30c4db[_0x3668f8(0x198)](existsSync,_0x3804c1)){console['log'](_0x3668f8(0x15b)+link(_0x2b8177,bold(_0x30c4db[_0x3668f8(0x154)](basename,_0x2b8177)))),console['log']('\x0aRanger\x20has\x20not\x20been\x20initialized\x20in\x20this\x20directory.'),console['log'](_0x3668f8(0x173));return;}console['log'](_0x3668f8(0x15b)+link(_0x2b8177,bold(_0x30c4db[_0x3668f8(0x198)](basename,_0x2b8177))));const _0x587b36=getCurrentVersion(),_0x1bcee7=getLatestVersion();if(_0x1bcee7[_0x3668f8(0x185)]&&_0x1bcee7[_0x3668f8(0x185)]!==_0x587b36)console['log']('Version:\x20'+_0x587b36+'\x20(latest:\x20'+_0x1bcee7[_0x3668f8(0x185)]+')'),console[_0x3668f8(0x190)]('\x20\x20Run:\x20ranger\x20update');else _0x1bcee7[_0x3668f8(0x185)]?console[_0x3668f8(0x190)]('Version:\x20'+_0x587b36+_0x3668f8(0x14f)):console[_0x3668f8(0x190)](_0x3668f8(0x17e)+_0x587b36);const _0x75d18e=await _0x30c4db[_0x3668f8(0x13b)](getToken);if(_0x75d18e){const _0x186495=await getCurrentUser(_0x75d18e);_0x186495[_0x3668f8(0x15e)]?console[_0x3668f8(0x190)](_0x3668f8(0x17d)+bold(_0x186495['user'][_0x3668f8(0x193)])):(console['log']('API\x20Token:\x20✓\x20Found\x20but\x20invalid\x20or\x20expired'),console['log'](_0x3668f8(0x18f)));}else console[_0x3668f8(0x190)]('API\x20Token:\x20✗\x20Not\x20found'),console[_0x3668f8(0x190)](_0x3668f8(0x18f));process['env'][_0x3668f8(0x152)]&&(console['log'](_0x3668f8(0x18a)+_0x30c4db[_0x3668f8(0x13b)](getCurrentEnvironment)),console['log']('API\x20URL:\x20'+_0x30c4db['KDTjX'](getApiBaseUrl)));console['log'](_0x30c4db[_0x3668f8(0x168)]);const _0x2b49b9=await _0x30c4db[_0x3668f8(0x18d)](getOpencodePluginStatus);if(_0x30c4db['wYzaU'](_0x2b49b9[_0x3668f8(0x156)],_0x3668f8(0x19e)))console['log']('\x20\x20'+_0x30c4db[_0x3668f8(0x154)](bold,_0x3668f8(0x175))+_0x3668f8(0x191)),_0x2b49b9['details']&&console[_0x3668f8(0x190)]('\x20\x20'+_0x2b49b9[_0x3668f8(0x166)]);else _0x2b49b9['status']===_0x30c4db[_0x3668f8(0x163)]?(console['log'](_0x30c4db[_0x3668f8(0x174)]),_0x2b49b9['details']&&console['log']('\x20\x20'+_0x2b49b9[_0x3668f8(0x166)]),console[_0x3668f8(0x190)](_0x30c4db[_0x3668f8(0x13a)])):console['log'](_0x30c4db['ksbLi']);console[_0x3668f8(0x190)](_0x30c4db['QWHAU']);const _0x4ff5b5=await _0x30c4db[_0x3668f8(0x15c)](getPluginInfo,_0x3668f8(0x164));if(_0x4ff5b5){const _0x52391b=_0x4ff5b5[_0x3668f8(0x16e)]||'unknown',_0x3445fc=_0x4ff5b5['enabled']?_0x30c4db['pjyPt']:_0x30c4db[_0x3668f8(0x17a)];console[_0x3668f8(0x190)]('\x20\x20'+_0x30c4db['jQlqe'](bold,_0x30c4db[_0x3668f8(0x179)])+':\x20installed\x20('+_0x52391b+',\x20'+_0x3445fc+')');}else console['log'](_0x30c4db[_0x3668f8(0x17b)]),console[_0x3668f8(0x190)](_0x30c4db[_0x3668f8(0x182)]);console[_0x3668f8(0x190)](_0x30c4db['Cnvja']);const {project:_0x35631b,user:_0x46f1a5}=await _0x30c4db['KDTjX'](getInstalledSkills),_0x2ec6f3=_0x35631b[_0x3668f8(0x161)](_0x8c7843=>RANGER_MANAGED_SKILLS[_0x3668f8(0x14d)](_0x8c7843['name'])),_0x200911=_0x46f1a5['filter'](_0xb62d6e=>RANGER_MANAGED_SKILLS['includes'](_0xb62d6e[_0x3668f8(0x15a)])),_0x33b7e9=_0x30c4db['eBuTo'](_0x2ec6f3['length'],_0x200911['length']);if(_0x33b7e9===0x0)console[_0x3668f8(0x190)]('No\x20skills\x20installed'),console[_0x3668f8(0x190)]('\x20\x20Run:\x20ranger\x20skillup');else{if(_0x30c4db[_0x3668f8(0x18b)](_0x2ec6f3['length'],0x0)){console['log'](_0x3668f8(0x159));for(const _0x4ff0b8 of _0x2ec6f3){console[_0x3668f8(0x190)]('\x20\x20\x20\x20'+bold(_0x4ff0b8[_0x3668f8(0x1a1)])+':\x20'+_0x30c4db['EaQDk'](link,_0x4ff0b8['path'],basename(_0x4ff0b8['path'])));}}if(_0x30c4db['KPsfC'](_0x200911[_0x3668f8(0x151)],0x0)){console['log'](_0x30c4db[_0x3668f8(0x13e)]);for(const _0x25e6cc of _0x200911){console['log'](_0x3668f8(0x146)+bold(_0x25e6cc[_0x3668f8(0x1a1)])+':\x20'+link(_0x25e6cc['path'],basename(_0x25e6cc['path'])));}}}console[_0x3668f8(0x190)](_0x30c4db[_0x3668f8(0x19b)]);const {envs:_0x3d1e6d,activeEnv:_0x478e23}=await _0x30c4db['WiJxQ'](getEnvironments);if(_0x3d1e6d[_0x3668f8(0x151)]===0x0)console[_0x3668f8(0x190)](_0x30c4db[_0x3668f8(0x186)]),console[_0x3668f8(0x190)]('\x20\x20Run:\x20ranger\x20profile\x20add\x20<profile-name>');else{for(const _0x34a35b of _0x3d1e6d){const _0x1e5368=_0x34a35b['isActive']?_0x3668f8(0x143):'',_0x49f808=_0x34a35b[_0x3668f8(0x141)]?_0x30c4db[_0x3668f8(0x160)]:_0x34a35b['hasPlaintextAuth']?'plaintext':_0x30c4db[_0x3668f8(0x17c)];console[_0x3668f8(0x190)]('\x20\x20'+_0x30c4db[_0x3668f8(0x15c)](bold,_0x34a35b[_0x3668f8(0x15a)])+_0x1e5368),console[_0x3668f8(0x190)]('\x20\x20\x20\x20Auth:\x20'+_0x49f808),_0x30c4db['PzaKD'](_0x34a35b['settingsPath'],_0x30c4db[_0x3668f8(0x155)])&&console['log']('\x20\x20\x20\x20Settings:\x20'+_0x30c4db['EaQDk'](link,_0x34a35b[_0x3668f8(0x192)],basename(_0x34a35b['settingsPath'])));}!_0x478e23&&(console['log'](_0x3668f8(0x183)),console[_0x3668f8(0x190)](_0x3668f8(0x16d)+_0x3d1e6d['map'](_0x4f63b2=>_0x4f63b2[_0x3668f8(0x15a)])['join'](',\x20')+')'));}console[_0x3668f8(0x190)]('');}
@@ -1 +1 @@
1
- function _0x12a7(_0x3171a0,_0x357f14){_0x3171a0=_0x3171a0-0x186;const _0x40d276=_0x40d2();let _0x12a7c2=_0x40d276[_0x3171a0];return _0x12a7c2;}(function(_0x1afa26,_0x58d2db){const _0x3c3c6=_0x12a7,_0x44c78c=_0x1afa26();while(!![]){try{const _0x22a4bb=parseInt(_0x3c3c6(0x1a0))/0x1+-parseInt(_0x3c3c6(0x1b3))/0x2*(-parseInt(_0x3c3c6(0x188))/0x3)+-parseInt(_0x3c3c6(0x1bf))/0x4+-parseInt(_0x3c3c6(0x1ae))/0x5*(parseInt(_0x3c3c6(0x18d))/0x6)+parseInt(_0x3c3c6(0x1a9))/0x7+-parseInt(_0x3c3c6(0x1a5))/0x8*(parseInt(_0x3c3c6(0x1ce))/0x9)+-parseInt(_0x3c3c6(0x196))/0xa*(-parseInt(_0x3c3c6(0x18f))/0xb);if(_0x22a4bb===_0x58d2db)break;else _0x44c78c['push'](_0x44c78c['shift']());}catch(_0x527dd2){_0x44c78c['push'](_0x44c78c['shift']());}}}(_0x40d2,0x48576));import{spawn}from'child_process';import{existsSync}from'fs';import{readFile,writeFile}from'fs/promises';import{installSkill,removeSkill,RANGER_MANAGED_SKILLS,DEPRECATED_SKILLS}from'./utils/skills.js';import{PACKAGE_NAME,getCurrentVersion,getLatestVersion,compareVersions}from'./utils/version.js';import{getSkillsDir}from'./utils/claudeConfig.js';import{getOpencodeSkillsDir}from'./utils/opencodeConfig.js';import{join}from'path';import{migrateActiveProfileFile}from'./utils/activeProfile.js';import{getRangerDir}from'./utils/rangerRoot.js';import{getPluginInfo,isMarketplaceAdded,isPluginInstalled}from'./utils/claudePlugin.js';const CLAUDE_COMMAND_TIMEOUT_MS=0x1d4c0;async function runCommand(_0x32eeb1,_0x502fa0,_0x449907){const _0x12d9d4=_0x12a7,_0x1e7549={'UrBEJ':function(_0x479bf7,_0x32632a){return _0x479bf7(_0x32632a);},'SfdbV':function(_0x1173c8,_0x51e01a){return _0x1173c8(_0x51e01a);},'QCjSz':function(_0x2f974e,_0x20ef1c,_0x46f77a,_0x535c1b){return _0x2f974e(_0x20ef1c,_0x46f77a,_0x535c1b);},'BHQxZ':_0x12d9d4(0x19a),'ujeNZ':'close'};return new Promise(_0x889138=>{const _0x17fc36=_0x12d9d4,_0x163160={'ohNNB':function(_0x1a674f,_0x1a4ec8){return _0x1e7549['SfdbV'](_0x1a674f,_0x1a4ec8);}};let _0x4d1bb2=![],_0x2e90da;const _0x1ab7ed=_0x324634=>{const _0x6aa1d3=_0x12a7;if(_0x4d1bb2)return;_0x4d1bb2=!![],_0x2e90da&&clearTimeout(_0x2e90da),_0x1e7549[_0x6aa1d3(0x1c5)](_0x889138,_0x324634);},_0xeaf166=_0x1e7549[_0x17fc36(0x1c8)](spawn,_0x32eeb1,_0x502fa0,{'stdio':[_0x17fc36(0x1d4),_0x449907?.[_0x17fc36(0x1cf)]??_0x17fc36(0x19a),_0x449907?.[_0x17fc36(0x1cf)]??_0x1e7549['BHQxZ']],'shell':process[_0x17fc36(0x190)]===_0x17fc36(0x1be)});_0x2e90da=_0x449907?.[_0x17fc36(0x1c9)]?setTimeout(()=>{_0xeaf166['kill'](),_0xeaf166['unref'](),_0x163160['ohNNB'](_0x1ab7ed,![]);},_0x449907['timeoutMs']):undefined,_0xeaf166['on'](_0x1e7549['ujeNZ'],_0x549fcb=>{_0x1ab7ed(_0x549fcb===0x0);}),_0xeaf166['on'](_0x17fc36(0x1b0),()=>{_0x1e7549['SfdbV'](_0x1ab7ed,![]);});});}async function runInstall(){const _0x192b6f=_0x12a7,_0x31db67={'Pbsyc':function(_0xd27e02,_0x5c28e9){return _0xd27e02(_0x5c28e9);},'TOMjF':function(_0x1b159a,_0xec7fd9){return _0x1b159a(_0xec7fd9);},'OkpYM':'npm','lkaxe':function(_0x4de595,_0x166c4e){return _0x4de595===_0x166c4e;},'Evtpo':_0x192b6f(0x18e)};return new Promise(_0x5116b5=>{const _0x3f2c82=_0x192b6f,_0x4042a1={'QiHrh':function(_0x148774,_0x1505cc){return _0x31db67['TOMjF'](_0x148774,_0x1505cc);}};console['log'](_0x3f2c82(0x1a7)+PACKAGE_NAME+'@latest...\x0a');const _0x33fb53=spawn(_0x31db67['OkpYM'],['install','-g',PACKAGE_NAME+_0x3f2c82(0x189)],{'stdio':['ignore',_0x3f2c82(0x19a),'inherit'],'shell':_0x31db67[_0x3f2c82(0x1bb)](process['platform'],_0x3f2c82(0x1be))});_0x33fb53['on'](_0x31db67[_0x3f2c82(0x1c0)],_0x4ef601=>{const _0x500dc6=_0x3f2c82;_0x31db67[_0x500dc6(0x1a1)](_0x5116b5,_0x4ef601===0x0);}),_0x33fb53['on'](_0x3f2c82(0x1b0),()=>{_0x4042a1['QiHrh'](_0x5116b5,![]);});});}async function updateClaudeMarketplace(){const _0x3b2bdc=_0x12a7,_0x55c323={'tspUN':function(_0x3cdcbd,_0x350c68,_0x194214,_0x5dde57){return _0x3cdcbd(_0x350c68,_0x194214,_0x5dde57);},'FmncZ':_0x3b2bdc(0x1b8),'pltLg':_0x3b2bdc(0x1d1),'uLLqU':'update','pnTRg':_0x3b2bdc(0x1d6),'EGsMy':_0x3b2bdc(0x1c4)},_0x43dc04=await _0x55c323[_0x3b2bdc(0x1cc)](runCommand,_0x55c323['FmncZ'],[_0x55c323[_0x3b2bdc(0x1d2)],_0x3b2bdc(0x1a4),_0x55c323[_0x3b2bdc(0x1b2)],_0x55c323['pnTRg']],{'timeoutMs':CLAUDE_COMMAND_TIMEOUT_MS});if(!_0x43dc04)throw new Error(_0x55c323['EGsMy']);}async function updateClaudePlugin(_0x15bff4){const _0x3c7570=_0x12a7,_0x7abb99={'QrUuW':'plugin','ohlQN':'update','Eebwy':_0x3c7570(0x1b8),'AIVRs':function(_0x5a6320,_0x473f1e){return _0x5a6320??_0x473f1e;},'ohPOg':_0x3c7570(0x1ca)},_0x5999f5=[_0x7abb99[_0x3c7570(0x1d5)],_0x7abb99[_0x3c7570(0x1aa)],'ranger@trailhead'];_0x15bff4&&_0x5999f5['push']('--scope',_0x15bff4);const _0x201242=await runCommand(_0x7abb99['Eebwy'],_0x5999f5,{'timeoutMs':CLAUDE_COMMAND_TIMEOUT_MS});if(!_0x201242){const _0x1e6282=_0x7abb99['AIVRs'](_0x15bff4,_0x7abb99['ohPOg']);throw new Error('Claude\x20plugin\x20update\x20failed\x20for\x20'+_0x1e6282+'\x20scope\x20(timed\x20out,\x20failed\x20to\x20start,\x20or\x20exited\x20with\x20a\x20non-zero\x20status).');}}function isSkillInstalled(_0x44e7d0,_0xcc147d,_0x39aff2){const _0x254543=_0x12a7,_0x2d0331={'SeJFg':function(_0x3d8435,_0x534886){return _0x3d8435===_0x534886;},'zkwYt':function(_0x478b24,_0x5edd83){return _0x478b24(_0x5edd83);}},_0x3910f2=_0x2d0331[_0x254543(0x192)](_0x39aff2,_0x254543(0x197))?_0x2d0331[_0x254543(0x1ba)](getOpencodeSkillsDir,_0xcc147d):getSkillsDir(_0xcc147d),_0x406676=join(_0x3910f2,_0x44e7d0);return existsSync(_0x406676);}async function reinstallSkills(_0x4e4065){const _0x466b42=_0x12a7,_0x537065={'wweoM':_0x466b42(0x1cb),'SjMnu':'user','HFpCl':function(_0xcb9ea8,_0x21e120,_0x2d45c6,_0x601e80){return _0xcb9ea8(_0x21e120,_0x2d45c6,_0x601e80);},'ffAWB':'opencode','Ubqmy':_0x466b42(0x1b7)},_0x2843fd=[_0x537065[_0x466b42(0x1af)],_0x537065[_0x466b42(0x19d)]],_0x31d3cd=[];for(const _0xc32ef4 of _0x2843fd){for(const _0x507a7c of RANGER_MANAGED_SKILLS){_0x537065['HFpCl'](isSkillInstalled,_0x507a7c,_0xc32ef4,_0x466b42(0x1b8))&&_0x31d3cd['push']({'skillName':_0x507a7c,'level':_0xc32ef4,'platform':'claude'}),_0x537065['HFpCl'](isSkillInstalled,_0x507a7c,_0xc32ef4,_0x537065[_0x466b42(0x1c7)])&&_0x31d3cd['push']({'skillName':_0x507a7c,'level':_0xc32ef4,'platform':'opencode'});}}for(const _0x6c8386 of _0x2843fd){for(const _0x48e13c of DEPRECATED_SKILLS){await removeSkill(_0x48e13c,_0x6c8386);}}if(_0x31d3cd['length']===0x0){console['log'](_0x537065[_0x466b42(0x1d0)]);return;}console['log']('\x0aReinstalling\x20'+_0x31d3cd[_0x466b42(0x19e)]+'\x20ranger-managed\x20skill(s)...');for(const {skillName:_0xdeb2b5,level:_0x45c4d0,platform:_0x59b13c}of _0x31d3cd){try{await installSkill(_0xdeb2b5,{'level':_0x45c4d0,'cliVersion':_0x4e4065,'platform':_0x59b13c});}catch(_0xeed849){console['warn'](_0x466b42(0x199)+_0x59b13c+'\x20'+_0x45c4d0+_0x466b42(0x18c)+_0xdeb2b5+':',_0xeed849);}}}function _0x40d2(){const _0x22197f=['Evtpo','bZWss','KjzWP','Attempting\x20install\x20anyway...','Claude\x20marketplace\x20update\x20command\x20failed\x20(timed\x20out,\x20failed\x20to\x20start,\x20or\x20exited\x20with\x20a\x20non-zero\x20status).','UrBEJ','WEGIM','ffAWB','QCjSz','timeoutMs','user','project','tspUN','utf-8','17919OEAdxo','stdio','Ubqmy','plugin','pltLg','ranger@trailhead','ignore','QrUuW','trailhead','WrLpo','\x0aClaude\x20plugin\x20updated\x20(project\x20scope).','\x0aYou\x20are\x20already\x20on\x20the\x20latest\x20version.','14361InHGru','@latest','JPekQ','YDPAu','\x20skill\x20','268266RgsKUg','close','85624lOvJOH','platform','\x0aCould\x20not\x20check\x20latest\x20version:\x20','SeJFg','split','log','\x0aClaude\x20plugin\x20updated\x20(user\x20scope).','450EidSky','opencode','✓\x20Migrated\x20active\x20profile\x20file','\x20\x20Failed\x20to\x20reinstall\x20','inherit','KoRbj','join','SjMnu','length','Update\x20failed.','414305rbJOPx','Pbsyc','.gitignore','\x0aClaude\x20marketplace\x20updated\x20(trailhead).','marketplace','1184YhlxKy','\x0a✅\x20Update\x20complete!','\x0aInstalling\x20','active-feature.txt','1039395fTfLzl','ohlQN','yWhyf','Update\x20failed:\x20','findIndex','60rTqbpZ','wweoM','error','splice','uLLqU','240VrrQYG','\x0aSuccessfully\x20installed\x20latest\x20version.','CMlUr','yBffA','\x0aNo\x20ranger-managed\x20skills\x20found\x20to\x20reinstall.','claude','fVIKB','zkwYt','lkaxe','trim',')\x20is\x20newer\x20than\x20the\x20published\x20version\x20(','win32','1440000DURoXe'];_0x40d2=function(){return _0x22197f;};return _0x40d2();}async function ensureActiveProfileGitignored(){const _0xc3b5f=_0x12a7,_0x2ac0fe={'sdJNF':function(_0x418eed,_0x1c0ff2,_0x3ff7c7){return _0x418eed(_0x1c0ff2,_0x3ff7c7);},'yWhyf':function(_0x4ffac4){return _0x4ffac4();},'yBffA':_0xc3b5f(0x1a2),'bZWss':'utf-8'},_0x3b119b=_0x2ac0fe['sdJNF'](join,_0x2ac0fe[_0xc3b5f(0x1ab)](getRangerDir),_0x2ac0fe[_0xc3b5f(0x1b6)]);if(!existsSync(_0x3b119b))return![];let _0x5033c0='';try{_0x5033c0=await readFile(_0x3b119b,_0xc3b5f(0x1cd));}catch{return![];}const _0x52134b=_0x5033c0[_0xc3b5f(0x193)](/\r?\n/);if(_0x52134b['some'](_0xffca6e=>_0xffca6e[_0xc3b5f(0x1bc)]()==='active-profile.txt'))return![];let _0x4d152e=_0x52134b[_0xc3b5f(0x1ad)](_0x1e12dc=>_0x1e12dc[_0xc3b5f(0x1bc)]()===_0xc3b5f(0x1a8));_0x4d152e===-0x1&&(_0x4d152e=_0x52134b['length']);_0x52134b[_0xc3b5f(0x1b1)](_0x4d152e,0x0,'active-profile.txt');let _0x4e48b6=_0x52134b[_0xc3b5f(0x19c)]('\x0a');!_0x4e48b6['endsWith']('\x0a')&&(_0x4e48b6+='\x0a');try{await writeFile(_0x3b119b,_0x4e48b6,_0x2ac0fe[_0xc3b5f(0x1c1)]);}catch{return![];}return!![];}export async function update(){const _0x27e54d=_0x12a7,_0x39d585={'WEGIM':'Checking\x20for\x20updates...','JPekQ':_0x27e54d(0x1b4),'WrLpo':function(_0x5910d6,_0x2b2ca2,_0x2a9fd3){return _0x5910d6(_0x2b2ca2,_0x2a9fd3);},'KjzWP':function(_0xfdc79e,_0x35f8dc){return _0xfdc79e(_0x35f8dc);},'KoRbj':function(_0x48339c,_0x5daa33){return _0x48339c(_0x5daa33);},'ylbhj':function(_0x5de976){return _0x5de976();},'fVIKB':_0x27e54d(0x1a3),'hXwVb':'project','YDPAu':function(_0x49ca11){return _0x49ca11();},'SeMkv':_0x27e54d(0x195),'CMlUr':_0x27e54d(0x198)},_0x277c98=getCurrentVersion();console[_0x27e54d(0x194)]('\x0aCurrent\x20version:\x20'+_0x277c98),console['log'](_0x39d585[_0x27e54d(0x1c6)]);const _0x20605f=getLatestVersion();let _0x26d7cf=_0x277c98;if(!_0x20605f['version']){console['warn'](_0x27e54d(0x191)+_0x20605f['error']),console['log'](_0x27e54d(0x1c3));const _0x1b29eb=await runInstall();if(_0x1b29eb)console['log'](_0x39d585[_0x27e54d(0x18a)]),_0x26d7cf=getCurrentVersion();else throw new Error(_0x27e54d(0x1ac)+_0x20605f['error']);}else{const _0x32f6f8=_0x20605f['version'];console['log']('Latest\x20version:\x20\x20'+_0x32f6f8);const _0x2132cb=_0x39d585[_0x27e54d(0x1d7)](compareVersions,_0x277c98,_0x32f6f8);if(_0x2132cb===0x0)console[_0x27e54d(0x194)](_0x27e54d(0x187));else{if(_0x2132cb<0x0)console[_0x27e54d(0x194)]('\x0aYour\x20version\x20('+_0x277c98+_0x27e54d(0x1bd)+_0x32f6f8+').');else{const _0x2fddec=await runInstall();if(_0x2fddec)console[_0x27e54d(0x194)]('\x0aSuccessfully\x20updated\x20to\x20version\x20'+_0x32f6f8),_0x26d7cf=_0x32f6f8;else throw new Error(_0x27e54d(0x19f));}}}await _0x39d585[_0x27e54d(0x1c2)](reinstallSkills,_0x26d7cf);const _0x4d4b33=await _0x39d585[_0x27e54d(0x1c2)](isMarketplaceAdded,'trailhead'),_0x5cb884=await _0x39d585[_0x27e54d(0x19b)](isPluginInstalled,_0x27e54d(0x1d3));_0x4d4b33&&(await _0x39d585['ylbhj'](updateClaudeMarketplace),console[_0x27e54d(0x194)](_0x39d585[_0x27e54d(0x1b9)]));if(_0x5cb884){const _0x102abd=await getPluginInfo(_0x27e54d(0x1d3));_0x102abd?.['scope']===_0x39d585['hXwVb']?(await updateClaudePlugin(_0x27e54d(0x1cb)),console[_0x27e54d(0x194)](_0x27e54d(0x186))):(await _0x39d585[_0x27e54d(0x18b)](updateClaudePlugin),console['log'](_0x39d585['SeMkv']));}const _0x10afbf=await migrateActiveProfileFile();_0x10afbf&&console['log'](_0x39d585[_0x27e54d(0x1b5)]);const _0x240e91=await ensureActiveProfileGitignored();console[_0x27e54d(0x194)](_0x27e54d(0x1a6));}
1
+ (function(_0x2986d2,_0x3a63c6){const _0x3ea99a=_0x3149,_0x304bc6=_0x2986d2();while(!![]){try{const _0x20c89f=-parseInt(_0x3ea99a(0x194))/0x1*(-parseInt(_0x3ea99a(0x183))/0x2)+-parseInt(_0x3ea99a(0x165))/0x3+parseInt(_0x3ea99a(0x162))/0x4*(parseInt(_0x3ea99a(0x1a6))/0x5)+-parseInt(_0x3ea99a(0x155))/0x6+parseInt(_0x3ea99a(0x163))/0x7+-parseInt(_0x3ea99a(0x187))/0x8*(parseInt(_0x3ea99a(0x19a))/0x9)+-parseInt(_0x3ea99a(0x1a7))/0xa*(parseInt(_0x3ea99a(0x19e))/0xb);if(_0x20c89f===_0x3a63c6)break;else _0x304bc6['push'](_0x304bc6['shift']());}catch(_0x4c5ce3){_0x304bc6['push'](_0x304bc6['shift']());}}}(_0x2271,0x875d4));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';function _0x3149(_0xaf48d1,_0x177284){_0xaf48d1=_0xaf48d1-0x152;const _0x22710f=_0x2271();let _0x3149d1=_0x22710f[_0xaf48d1];return _0x3149d1;}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';function _0x2271(){const _0x480102=['ecmSQ','SqMxf','4138194gvZsXh','wHVBo','error','.gitignore','iuwWQ','rcDFo','TMXRM','alpha','QKsEJ','UEqiN','kill','project','version','4mUVTCQ','7422870VNXZvc','GcnwW','554613WWfgEO','scope','log','findIndex','evVMR','stdio','GozFj','Update\x20failed:\x20','pRtgc','update','bliGm','\x0aClaude\x20marketplace\x20updated\x20(trailhead).','\x0aYou\x20are\x20already\x20on\x20the\x20latest\x20version.','nBdgu','\x0aClaude\x20plugin\x20updated\x20(project\x20scope).','pgIVB','split','trailhead','opencode','length',')\x20is\x20newer\x20than\x20the\x20published\x20version\x20(','test','\x0aInstalling\x20','\x0aCould\x20not\x20check\x20latest\x20version:\x20','beta','some',').\x20Staying\x20on\x20','claude','GvjYS','Attempting\x20install\x20anyway...','711638vtvObW','Update\x20failed.','pFsVD','\x20—\x20reinstalling\x20@','677504kTlenT','...\x0a','RiMjp','xPDlq','uxhWX','endsWith','Update\x20failed\x20for\x20@','inherit','gKxgZ','QvBbr','yvweH','warn','platform','1dtxipw','trim','user','win32','vqQIz','ranger@trailhead','9CdfbUq','latest','plugin','install','1333706juPsqy','✓\x20Migrated\x20active\x20profile\x20file','...','close','wcwTW','active-profile.txt','xXeKz','zmIyr','1093635RvHlLL','10KXhnkU','push'];_0x2271=function(){return _0x480102;};return _0x2271();}const CLAUDE_COMMAND_TIMEOUT_MS=0x1d4c0;async function runCommand(_0x3a3a17,_0x131826,_0x54d348){const _0x214fda={'zmIyr':function(_0x40ae64,_0x162975,_0x16ade6,_0x197318){return _0x40ae64(_0x162975,_0x16ade6,_0x197318);},'VnceH':'ignore','gKxgZ':function(_0x58939b,_0x25ad13){return _0x58939b===_0x25ad13;},'UEqiN':'win32','uxhWX':function(_0x51e593,_0x2e2ed7,_0x5ca960){return _0x51e593(_0x2e2ed7,_0x5ca960);}};return new Promise(_0x3e7f85=>{const _0x35e094=_0x3149,_0x3bdd13={'gmuAt':function(_0x3e1d35,_0x5e8bf9){return _0x3e1d35(_0x5e8bf9);}};let _0x2dd630=![],_0x4c5eaf;const _0x4a599e=_0x6e1654=>{if(_0x2dd630)return;_0x2dd630=!![],_0x4c5eaf&&clearTimeout(_0x4c5eaf),_0x3bdd13['gmuAt'](_0x3e7f85,_0x6e1654);},_0x55792b=_0x214fda[_0x35e094(0x1a5)](spawn,_0x3a3a17,_0x131826,{'stdio':[_0x214fda['VnceH'],_0x54d348?.[_0x35e094(0x16a)]??_0x35e094(0x18e),_0x54d348?.['stdio']??_0x35e094(0x18e)],'shell':_0x214fda[_0x35e094(0x18f)](process[_0x35e094(0x193)],_0x214fda[_0x35e094(0x15e)])});_0x4c5eaf=_0x54d348?.['timeoutMs']?_0x214fda[_0x35e094(0x18b)](setTimeout,()=>{const _0x576114=_0x35e094;_0x55792b[_0x576114(0x15f)](),_0x55792b['unref'](),_0x3bdd13['gmuAt'](_0x4a599e,![]);},_0x54d348['timeoutMs']):undefined,_0x55792b['on'](_0x35e094(0x1a1),_0x1fbf6c=>{_0x4a599e(_0x1fbf6c===0x0);}),_0x55792b['on']('error',()=>{_0x4a599e(![]);});});}export function resolveDistTag(_0x1682c6){const _0xbc1782=_0x3149,_0x229041={'fkDAx':'latest'};if(/-alpha\./i[_0xbc1782(0x17a)](_0x1682c6))return _0xbc1782(0x15c);if(/-beta\./i['test'](_0x1682c6))return _0xbc1782(0x17d);if(/-rc\./i['test'](_0x1682c6))return'rc';return _0x229041['fkDAx'];}async function runInstall(_0x831db2='latest'){const _0x34a955=_0x3149,_0x58606c={'xoGQG':function(_0x3775a7,_0x496b9b){return _0x3775a7(_0x496b9b);},'xXeKz':function(_0xf74b92,_0x481566,_0x43f5e4,_0x2dd02f){return _0xf74b92(_0x481566,_0x43f5e4,_0x2dd02f);},'nBdgu':_0x34a955(0x19d),'mwrWo':'ignore','QvBbr':'inherit','VMfSz':_0x34a955(0x197),'dyBAL':'close'};return new Promise(_0x3c5c42=>{const _0x11029c=_0x34a955,_0x371726={'xvmPn':function(_0x3fdb51,_0x388cc6){return _0x58606c['xoGQG'](_0x3fdb51,_0x388cc6);}};console['log'](_0x11029c(0x17b)+PACKAGE_NAME+'@'+_0x831db2+_0x11029c(0x188));const _0x2f75bf=_0x58606c[_0x11029c(0x1a4)](spawn,'npm',[_0x58606c[_0x11029c(0x172)],'-g',PACKAGE_NAME+'@'+_0x831db2],{'stdio':[_0x58606c['mwrWo'],'inherit',_0x58606c[_0x11029c(0x190)]],'shell':process[_0x11029c(0x193)]===_0x58606c['VMfSz']});_0x2f75bf['on'](_0x58606c['dyBAL'],_0x53e5f1=>{_0x371726['xvmPn'](_0x3c5c42,_0x53e5f1===0x0);}),_0x2f75bf['on'](_0x11029c(0x157),()=>{_0x3c5c42(![]);});});}async function updateClaudeMarketplace(){const _0x50c7ea=_0x3149,_0x328941={'GozFj':_0x50c7ea(0x180),'mAqZa':_0x50c7ea(0x19c),'OkllL':'Claude\x20marketplace\x20update\x20command\x20failed\x20(timed\x20out,\x20failed\x20to\x20start,\x20or\x20exited\x20with\x20a\x20non-zero\x20status).'},_0x184e71=await runCommand(_0x328941[_0x50c7ea(0x16b)],[_0x328941['mAqZa'],'marketplace','update',_0x50c7ea(0x176)],{'timeoutMs':CLAUDE_COMMAND_TIMEOUT_MS});if(!_0x184e71)throw new Error(_0x328941['OkllL']);}async function updateClaudePlugin(_0x6f30e){const _0x1f1270=_0x3149,_0x538c3a={'GlZNr':_0x1f1270(0x19c),'pLLwy':_0x1f1270(0x199),'MTIvT':'--scope','xPDlq':function(_0x21928d,_0x12e3c2){return _0x21928d??_0x12e3c2;}},_0x3c4068=[_0x538c3a['GlZNr'],_0x1f1270(0x16e),_0x538c3a['pLLwy']];_0x6f30e&&_0x3c4068[_0x1f1270(0x152)](_0x538c3a['MTIvT'],_0x6f30e);const _0x210aa4=await runCommand('claude',_0x3c4068,{'timeoutMs':CLAUDE_COMMAND_TIMEOUT_MS});if(!_0x210aa4){const _0x3f808b=_0x538c3a[_0x1f1270(0x18a)](_0x6f30e,_0x1f1270(0x196));throw new Error('Claude\x20plugin\x20update\x20failed\x20for\x20'+_0x3f808b+'\x20scope\x20(timed\x20out,\x20failed\x20to\x20start,\x20or\x20exited\x20with\x20a\x20non-zero\x20status).');}}function isSkillInstalled(_0x114e82,_0x48c1f7,_0x2789be){const _0x412a6a=_0x3149,_0x2fbb08={'cxmvA':_0x412a6a(0x177),'ghgfy':function(_0x239e6e,_0x19a7dd){return _0x239e6e(_0x19a7dd);}},_0x57f024=_0x2789be===_0x2fbb08['cxmvA']?getOpencodeSkillsDir(_0x48c1f7):getSkillsDir(_0x48c1f7),_0x476c2d=join(_0x57f024,_0x114e82);return _0x2fbb08['ghgfy'](existsSync,_0x476c2d);}async function reinstallSkills(_0x2380d2){const _0x27cca4=_0x3149,_0x3a3b9f={'vqQIz':'project','ISvVC':_0x27cca4(0x196),'xjMer':function(_0x4af42c,_0x2497a4,_0x2176ae,_0x5f5da4){return _0x4af42c(_0x2497a4,_0x2176ae,_0x5f5da4);},'wHVBo':_0x27cca4(0x180),'gwuvy':_0x27cca4(0x177),'pRtgc':function(_0x18fd84,_0x26d7ad,_0x3c707a){return _0x18fd84(_0x26d7ad,_0x3c707a);}},_0x5463a0=[_0x3a3b9f[_0x27cca4(0x198)],_0x3a3b9f['ISvVC']],_0x1bce83=[];for(const _0x322c8c of _0x5463a0){for(const _0x579862 of RANGER_MANAGED_SKILLS){_0x3a3b9f['xjMer'](isSkillInstalled,_0x579862,_0x322c8c,_0x3a3b9f[_0x27cca4(0x156)])&&_0x1bce83['push']({'skillName':_0x579862,'level':_0x322c8c,'platform':_0x3a3b9f['wHVBo']}),_0x3a3b9f['xjMer'](isSkillInstalled,_0x579862,_0x322c8c,'opencode')&&_0x1bce83['push']({'skillName':_0x579862,'level':_0x322c8c,'platform':_0x3a3b9f['gwuvy']});}}for(const _0x3d0bd7 of _0x5463a0){for(const _0x566fc6 of DEPRECATED_SKILLS){await removeSkill(_0x566fc6,_0x3d0bd7);}}if(_0x1bce83['length']===0x0){console[_0x27cca4(0x167)]('\x0aNo\x20ranger-managed\x20skills\x20found\x20to\x20reinstall.');return;}console['log']('\x0aReinstalling\x20'+_0x1bce83[_0x27cca4(0x178)]+'\x20ranger-managed\x20skill(s)...');for(const {skillName:_0xc6d2ff,level:_0x5d720d,platform:_0x11249}of _0x1bce83){try{await _0x3a3b9f[_0x27cca4(0x16d)](installSkill,_0xc6d2ff,{'level':_0x5d720d,'cliVersion':_0x2380d2,'platform':_0x11249});}catch(_0x427a83){console[_0x27cca4(0x192)]('\x20\x20Failed\x20to\x20reinstall\x20'+_0x11249+'\x20'+_0x5d720d+'\x20skill\x20'+_0xc6d2ff+':',_0x427a83);}}}async function ensureActiveProfileGitignored(){const _0x134eaa=_0x3149,_0x3b7ea3={'wWSCz':function(_0x27656a,_0x1c5f37,_0x5327f9){return _0x27656a(_0x1c5f37,_0x5327f9);},'GvjYS':_0x134eaa(0x158),'wcwTW':'utf-8','hBonm':function(_0x46278d,_0x3ef9f7){return _0x46278d===_0x3ef9f7;},'iuwWQ':_0x134eaa(0x1a3),'aHwCm':function(_0x54109f,_0x14fd66,_0x39aa93,_0x2eb4d1){return _0x54109f(_0x14fd66,_0x39aa93,_0x2eb4d1);}},_0x381a2c=_0x3b7ea3['wWSCz'](join,getRangerDir(),_0x3b7ea3[_0x134eaa(0x181)]);if(!existsSync(_0x381a2c))return![];let _0x25d62c='';try{_0x25d62c=await readFile(_0x381a2c,_0x3b7ea3[_0x134eaa(0x1a2)]);}catch{return![];}const _0x5b3c1c=_0x25d62c[_0x134eaa(0x175)](/\r?\n/);if(_0x5b3c1c[_0x134eaa(0x17e)](_0x353a68=>_0x353a68['trim']()===_0x134eaa(0x1a3)))return![];let _0x1c7e28=_0x5b3c1c[_0x134eaa(0x168)](_0x415dda=>_0x415dda[_0x134eaa(0x195)]()==='active-feature.txt');_0x3b7ea3['hBonm'](_0x1c7e28,-0x1)&&(_0x1c7e28=_0x5b3c1c['length']);_0x5b3c1c['splice'](_0x1c7e28,0x0,_0x3b7ea3[_0x134eaa(0x159)]);let _0x47fd84=_0x5b3c1c['join']('\x0a');!_0x47fd84[_0x134eaa(0x18c)]('\x0a')&&(_0x47fd84+='\x0a');try{await _0x3b7ea3['aHwCm'](writeFile,_0x381a2c,_0x47fd84,_0x3b7ea3['wcwTW']);}catch{return![];}return!![];}export async function update(){const _0x300533=_0x3149,_0x2f7cf5={'ecmSQ':function(_0xd93262){return _0xd93262();},'MTtKn':function(_0x406f2d,_0x43ee52){return _0x406f2d!==_0x43ee52;},'evVMR':_0x300533(0x19b),'weoVT':function(_0x5a787c,_0x43970b){return _0x5a787c(_0x43970b);},'GcnwW':function(_0x196a76,_0x28f7a5){return _0x196a76(_0x28f7a5);},'QKsEJ':function(_0x1b7c6e){return _0x1b7c6e();},'rcDFo':'\x0a✅\x20Update\x20complete!','pFsVD':function(_0x5bf882,_0x4fa705){return _0x5bf882===_0x4fa705;},'RiMjp':_0x300533(0x171),'SqMxf':function(_0x211b40,_0x1e9881){return _0x211b40<_0x1e9881;},'pgIVB':_0x300533(0x184),'TMXRM':'trailhead','bliGm':_0x300533(0x160),'yvweH':_0x300533(0x173),'qqwyd':'\x0aClaude\x20plugin\x20updated\x20(user\x20scope).','ODuvb':'✓\x20Migrated\x20active\x20profile\x20file'},_0x3b3258=_0x2f7cf5[_0x300533(0x153)](getCurrentVersion);console[_0x300533(0x167)]('\x0aCurrent\x20version:\x20'+_0x3b3258);const _0x25ec31=resolveDistTag(_0x3b3258);if(_0x2f7cf5['MTtKn'](_0x25ec31,_0x2f7cf5[_0x300533(0x169)])){console[_0x300533(0x167)]('Prerelease\x20channel\x20detected\x20(@'+_0x25ec31+_0x300533(0x17f)+_0x25ec31+_0x300533(0x186)+_0x25ec31+_0x300533(0x1a0));const _0x1cf18c=await _0x2f7cf5['weoVT'](runInstall,_0x25ec31);if(!_0x1cf18c)throw new Error(_0x300533(0x18d)+_0x25ec31+'\x20channel.');const _0x2b0943=_0x2f7cf5[_0x300533(0x153)](getCurrentVersion);console['log']('\x0aSuccessfully\x20installed\x20'+PACKAGE_NAME+'@'+_0x25ec31+'.'),await _0x2f7cf5[_0x300533(0x164)](reinstallSkills,_0x2b0943);const _0x1c3be2=await _0x2f7cf5['QKsEJ'](migrateActiveProfileFile);_0x1c3be2&&console['log'](_0x300533(0x19f));await _0x2f7cf5[_0x300533(0x15d)](ensureActiveProfileGitignored),console[_0x300533(0x167)](_0x2f7cf5[_0x300533(0x15a)]);return;}console[_0x300533(0x167)]('Checking\x20for\x20updates...');const _0x4048ad=_0x2f7cf5[_0x300533(0x153)](getLatestVersion);let _0x12aac5=_0x3b3258;if(!_0x4048ad['version']){console['warn'](_0x300533(0x17c)+_0x4048ad[_0x300533(0x157)]),console['log'](_0x300533(0x182));const _0xa25b26=await runInstall();if(_0xa25b26)console[_0x300533(0x167)]('\x0aSuccessfully\x20installed\x20latest\x20version.'),_0x12aac5=getCurrentVersion();else throw new Error(_0x300533(0x16c)+_0x4048ad['error']);}else{const _0x1bb371=_0x4048ad[_0x300533(0x161)];console[_0x300533(0x167)]('Latest\x20version:\x20\x20'+_0x1bb371);const _0x255183=compareVersions(_0x3b3258,_0x1bb371);if(_0x2f7cf5[_0x300533(0x185)](_0x255183,0x0))console['log'](_0x2f7cf5[_0x300533(0x189)]);else{if(_0x2f7cf5[_0x300533(0x154)](_0x255183,0x0))console['log']('\x0aYour\x20version\x20('+_0x3b3258+_0x300533(0x179)+_0x1bb371+').');else{const _0xf8b3e1=await runInstall();if(_0xf8b3e1)console[_0x300533(0x167)]('\x0aSuccessfully\x20updated\x20to\x20version\x20'+_0x1bb371),_0x12aac5=_0x1bb371;else throw new Error(_0x2f7cf5[_0x300533(0x174)]);}}}await reinstallSkills(_0x12aac5);const _0x3167a7=await _0x2f7cf5['GcnwW'](isMarketplaceAdded,_0x2f7cf5[_0x300533(0x15b)]),_0x90d9d3=await isPluginInstalled('ranger@trailhead');_0x3167a7&&(await updateClaudeMarketplace(),console['log'](_0x300533(0x170)));if(_0x90d9d3){const _0x9169ab=await getPluginInfo(_0x300533(0x199));_0x9169ab?.[_0x300533(0x166)]==='project'?(await updateClaudePlugin(_0x2f7cf5[_0x300533(0x16f)]),console['log'](_0x2f7cf5[_0x300533(0x191)])):(await updateClaudePlugin(),console[_0x300533(0x167)](_0x2f7cf5['qqwyd']));}const _0x225090=await migrateActiveProfileFile();_0x225090&&console['log'](_0x2f7cf5['ODuvb']);const _0x3f742d=await ensureActiveProfileGitignored();console[_0x300533(0x167)]('\x0a✅\x20Update\x20complete!');}
@@ -1 +1 @@
1
- (function(_0x1b135a,_0x1988a6){const _0x3af473=_0x2846,_0x51d2db=_0x1b135a();while(!![]){try{const _0x5e3bc9=-parseInt(_0x3af473(0x13f))/0x1+-parseInt(_0x3af473(0x14d))/0x2+parseInt(_0x3af473(0x154))/0x3+-parseInt(_0x3af473(0x143))/0x4*(parseInt(_0x3af473(0x159))/0x5)+parseInt(_0x3af473(0x149))/0x6*(parseInt(_0x3af473(0x134))/0x7)+parseInt(_0x3af473(0x14a))/0x8+-parseInt(_0x3af473(0x139))/0x9*(parseInt(_0x3af473(0x147))/0xa);if(_0x5e3bc9===_0x1988a6)break;else _0x51d2db['push'](_0x51d2db['shift']());}catch(_0x57c920){_0x51d2db['push'](_0x51d2db['shift']());}}}(_0x2e93,0xbbb4c));function _0x2846(_0x1e4fe2,_0x33d3cc){_0x1e4fe2=_0x1e4fe2-0x12c;const _0x2e933a=_0x2e93();let _0x2846f6=_0x2e933a[_0x1e4fe2];return _0x2846f6;}import{writeFile,readFile,unlink}from'fs/promises';import{join}from'path';function _0x2e93(){const _0x5c71c5=['storageState','832711EeDLle','setupHeaders','stdout','✓\x20Auth\x20state\x20saved\x20to:\x20','44yjvjZo','qDarU','FmCeA','utf-8','5727390ABnONN','isTTY','672498vHoNMn','8582544YXGMgP','jvRWj','XbZsy','1204138kYdVFd','\x0a✅\x20Profile\x20\x22','browser','trackPhaseEnd','close','evobb','ZvkgD','1985316fjKoYQ','\x20\x20\x20Update\x20your\x20authentication\x20as\x20needed.','This\x20can\x20happen\x20due\x20to\x20a\x20browser\x20compatibility\x20issue\x20on\x20some\x20systems.\x0a','baseUrl','config_write','35935DTQPqs','allowInsecureLocalhost','catch','peBkb','bLVCy','hQpfD','launch','log','tNDYY','Enable\x20safe\x20mode\x20and\x20try\x20again:\x20ranger\x20profile\x20config\x20set\x20','70jyrtwN','contextOptions','extraHTTPHeaders','goto','browser_auth','9aWnOuC','\x20\x20Run\x20ranger\x20setup\x20in\x20CI\x20to\x20decrypt\x20at\x20runtime.','pWslW','\x20\x20You\x20can\x20safely\x20commit\x20this\x20file\x20to\x20git.','\x20\x20\x20When\x20you\x20are\x20done,\x20close\x20the\x20browser.\x0a'];_0x2e93=function(){return _0x5c71c5;};return _0x2e93();}import{existsSync}from'fs';import{chromium}from'playwright';import{encrypt}from'./utils/crypto.js';import{getToken}from'./utils/keychain.js';import{buildBrowserOptionsFromSettings,getEnvDir,isEnvCi,resolveEnvVars}from'./utils/settings.js';import{addProfileSetupBanner}from'./utils/profileSetupBanner.js';export async function updateEnv(_0x4908a6,_0x1bbe62,_0xad454d){const _0x4e0ca1=_0x2846,_0x5301d4={'jvRWj':'Saving\x20authentication\x20state...','tNDYY':function(_0x72da35){return _0x72da35();},'rGIIx':_0x4e0ca1(0x151),'ZvkgD':function(_0x265e53,_0x59c31c){return _0x265e53(_0x59c31c);},'czBvo':'auth.json','XbZsy':'Non-interactive\x20mode\x20detected.\x0aThe\x20\x22ranger\x20profile\x20update\x22\x20command\x20requires\x20interactive\x20browser\x20authentication\x20and\x20cannot\x20be\x20run\x20in\x20non-TTY\x20environments\x20(CI,\x20scripts,\x20Claude\x20Code).\x0aTo\x20update\x20profile\x20authentication:\x0a\x20\x201.\x20Run\x20\x22ranger\x20profile\x20update\x20<name>\x22\x20in\x20an\x20interactive\x20terminal\x0a\x20\x202.\x20Commit\x20the\x20updated\x20encrypted\x20auth\x20file\x20to\x20git','pWslW':function(_0x544c30,_0x1f8f88,_0x34b41a){return _0x544c30(_0x1f8f88,_0x34b41a);},'FmCeA':_0x4e0ca1(0x146),'peBkb':function(_0xfa4c2c,_0x3ab91b){return _0xfa4c2c(_0x3ab91b);},'evobb':'string','VXjRC':'\x0a📋\x20Authentication\x20Update','cfXMr':'\x20\x20\x20A\x20browser\x20will\x20open\x20with\x20your\x20existing\x20session\x20(if\x20any).','qDarU':_0x4e0ca1(0x13d),'taGKu':function(_0x34d186,_0x33f3fa){return _0x34d186||_0x33f3fa;},'hQpfD':'Browser\x20closed\x20before\x20authentication\x20was\x20saved.','bLVCy':_0x4e0ca1(0x158)},_0x39847f=_0x5301d4['ZvkgD'](getEnvDir,_0x4908a6),_0x583769=join(_0x39847f,'settings.json'),_0x5cbe96=join(_0x39847f,_0x5301d4['czBvo']),_0x394fe1=_0x5cbe96+'.enc',_0x10dfd3=process['stdin'][_0x4e0ca1(0x148)]&&process[_0x4e0ca1(0x141)][_0x4e0ca1(0x148)];if(!_0x10dfd3)throw new Error(_0x5301d4[_0x4e0ca1(0x14c)]);if(!existsSync(_0x39847f))throw new Error('Profile\x20\x22'+_0x4908a6+'\x22\x20not\x20found.\x20Run\x20first:\x20ranger\x20profile\x20add\x20'+_0x4908a6);if(!existsSync(_0x583769))throw new Error('Config\x20not\x20found\x20at\x20'+_0x583769+'.\x20Run\x20first:\x20ranger\x20profile\x20add\x20'+_0x4908a6);const _0x7abdec=await _0x5301d4[_0x4e0ca1(0x13b)](readFile,_0x583769,_0x5301d4[_0x4e0ca1(0x145)]),_0x2a5b5e=JSON['parse'](_0x7abdec),_0x5aca6b=_0x5301d4[_0x4e0ca1(0x12d)](resolveEnvVars,_0x2a5b5e),_0x62386=typeof _0x5aca6b[_0x4e0ca1(0x157)]===_0x5301d4[_0x4e0ca1(0x152)]?_0x5aca6b[_0x4e0ca1(0x157)]:undefined,_0x161c33=existsSync(_0x5cbe96),_0x39920d=_0x5301d4[_0x4e0ca1(0x153)](isEnvCi,_0x4908a6);_0x1bbe62?.['trackPhaseStart']('browser_auth'),console['log'](_0x5301d4['VXjRC']),console[_0x4e0ca1(0x131)](_0x5301d4['cfXMr']),console['log'](_0x4e0ca1(0x155)),console[_0x4e0ca1(0x131)](_0x5301d4[_0x4e0ca1(0x144)]);const {launchOptions:_0x4b94fe,contextOptions:_0x919d3f}=buildBrowserOptionsFromSettings(_0x5aca6b,{'headless':![],'storageStatePath':_0x161c33?_0x5cbe96:undefined});_0x5aca6b[_0x4e0ca1(0x140)]&&(_0x919d3f[_0x4e0ca1(0x136)]={..._0x919d3f['extraHTTPHeaders'],..._0x5aca6b['setupHeaders']});const _0xc01c01=await chromium[_0x4e0ca1(0x130)](_0x4b94fe);let _0x3d3689=null;try{_0x3d3689=await _0xc01c01['newContext'](_0x919d3f),await addProfileSetupBanner(_0x3d3689);const _0x5123b4=await _0x3d3689['newPage']();await _0x5123b4[_0x4e0ca1(0x137)](_0x5301d4['taGKu'](_0x62386,'about:blank'));let _0x2f80f8=![];await new Promise(_0x5732f6=>{_0x5123b4['on'](_0x5301d4['rGIIx'],async()=>{const _0x54bba6=_0x2846;try{console[_0x54bba6(0x131)](_0x5301d4[_0x54bba6(0x14b)]),await _0x3d3689?.[_0x54bba6(0x13e)]({'path':_0x5cbe96}),_0x2f80f8=!![];}catch{}_0x5301d4[_0x54bba6(0x132)](_0x5732f6);});});if(!_0x2f80f8){console['log']('\x0aThe\x20browser\x20closed\x20unexpectedly\x20before\x20authentication\x20could\x20be\x20saved.');!_0x5aca6b['safeMode']&&(console[_0x4e0ca1(0x131)](_0x4e0ca1(0x156)),console['log'](_0x4e0ca1(0x133)+_0x4908a6+'\x20safeMode\x20true\x0a'));throw new Error(_0x5301d4[_0x4e0ca1(0x12f)]);}}finally{_0x3d3689&&await _0x3d3689[_0x4e0ca1(0x151)]()[_0x4e0ca1(0x12c)](()=>{}),await _0xc01c01[_0x4e0ca1(0x151)]()['catch'](()=>{});}if(_0x39920d){const _0x361e14=await _0x5301d4['pWslW'](readFile,_0x5cbe96,_0x5301d4[_0x4e0ca1(0x145)]),_0x35b242=await getToken();if(!_0x35b242)console['error']('\x20\x20Could\x20not\x20encrypt:\x20No\x20API\x20token\x20found.\x20Run:\x20ranger\x20setup\x20[token]'),console[_0x4e0ca1(0x131)](_0x4e0ca1(0x142)+_0x5cbe96);else{const _0x1670ac=_0x5301d4[_0x4e0ca1(0x13b)](encrypt,_0x361e14,_0x35b242);await writeFile(_0x394fe1,_0x1670ac),await unlink(_0x5cbe96),console['log']('✓\x20Encrypted\x20auth\x20saved\x20to:\x20'+_0x394fe1),console[_0x4e0ca1(0x131)](_0x4e0ca1(0x13c)),console['log'](_0x4e0ca1(0x13a));}}else console[_0x4e0ca1(0x131)]('✓\x20Auth\x20state\x20saved\x20to:\x20'+_0x5cbe96);_0x1bbe62?.[_0x4e0ca1(0x150)](_0x4e0ca1(0x138)),_0x1bbe62?.['trackPhaseStart'](_0x5301d4[_0x4e0ca1(0x12e)]),_0x2a5b5e[_0x4e0ca1(0x14f)]=_0x2a5b5e[_0x4e0ca1(0x14f)]||{},_0x2a5b5e['browser']['contextOptions']=_0x2a5b5e['browser'][_0x4e0ca1(0x135)]||{},_0x2a5b5e['browser']['contextOptions'][_0x4e0ca1(0x13e)]=_0x5cbe96,_0xad454d?.[_0x4e0ca1(0x15a)]===!![]&&(_0x2a5b5e['allowInsecureLocalhost']=!![]),await writeFile(_0x583769,JSON['stringify'](_0x2a5b5e,null,0x2)),console[_0x4e0ca1(0x131)]('✓\x20Updated\x20config:\x20'+_0x583769),_0x1bbe62?.['trackPhaseEnd'](_0x5301d4[_0x4e0ca1(0x12e)]),console['log'](_0x4e0ca1(0x14e)+_0x4908a6+'\x22\x20authentication\x20updated');}
1
+ (function(_0x3f1c12,_0x497f32){const _0x4d61fd=_0x22fd,_0x496a46=_0x3f1c12();while(!![]){try{const _0x1a0122=parseInt(_0x4d61fd(0x148))/0x1*(-parseInt(_0x4d61fd(0x178))/0x2)+parseInt(_0x4d61fd(0x154))/0x3*(-parseInt(_0x4d61fd(0x161))/0x4)+parseInt(_0x4d61fd(0x16a))/0x5+-parseInt(_0x4d61fd(0x170))/0x6*(-parseInt(_0x4d61fd(0x167))/0x7)+-parseInt(_0x4d61fd(0x14a))/0x8+parseInt(_0x4d61fd(0x15e))/0x9+parseInt(_0x4d61fd(0x176))/0xa;if(_0x1a0122===_0x497f32)break;else _0x496a46['push'](_0x496a46['shift']());}catch(_0x2410c7){_0x496a46['push'](_0x496a46['shift']());}}}(_0x5c0b,0x5e650));function _0x5c0b(){const _0x2ef709=['allowInsecureLocalhost','browser','XIJtA','aBpbE','3576357vmMJSX','KrLko','\x20\x20\x20Update\x20your\x20authentication\x20as\x20needed.','1027928ssaUzx','ujxmF','This\x20can\x20happen\x20due\x20to\x20a\x20browser\x20compatibility\x20issue\x20on\x20some\x20systems.\x0a','trackPhaseStart','.\x20Run\x20first:\x20ranger\x20profile\x20add\x20','trackPhaseEnd','203lmtqBL','IpZXn','.enc','397215QlSmGV','browser_auth','goto','parse','\x0aThe\x20browser\x20closed\x20unexpectedly\x20before\x20authentication\x20could\x20be\x20saved.','auth.json','79770jmcefx','isTTY','\x22\x20authentication\x20updated','baseUrl','✓\x20Encrypted\x20auth\x20saved\x20to:\x20','newPage','12935050KxoCKM','close','2bFhGXY','about:blank','jLjct','NuQww','settings.json','\x22\x20not\x20found.\x20Run\x20first:\x20ranger\x20profile\x20add\x20','ssMNa','log','457103qcOmrR','storageState','4329496SjPzMf','catch','KQhIB','GFEfH','\x20safeMode\x20true\x0a','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','setupHeaders','config_write','\x20\x20Could\x20not\x20encrypt:\x20No\x20API\x20token\x20found.\x20Run:\x20ranger\x20setup\x20[token]','sdzOE','9nvYoZA','XRGgp','string','Browser\x20closed\x20before\x20authentication\x20was\x20saved.','contextOptions','error'];_0x5c0b=function(){return _0x2ef709;};return _0x5c0b();}import{writeFile,readFile,unlink}from'fs/promises';import{join}from'path';import{existsSync}from'fs';import{chromium}from'playwright';function _0x22fd(_0x539faf,_0x59bb02){_0x539faf=_0x539faf-0x148;const _0x5c0b5d=_0x5c0b();let _0x22fd0c=_0x5c0b5d[_0x539faf];return _0x22fd0c;}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(_0x52d11c,_0x18b512,_0x2a62cc){const _0x1b5b77=_0x22fd,_0x116123={'pAaHn':function(_0x4389a1){return _0x4389a1();},'XRGgp':function(_0x3ef0f8,_0x4d5e62,_0x65c2a){return _0x3ef0f8(_0x4d5e62,_0x65c2a);},'sdzOE':'utf-8','YjPSI':function(_0xb80572,_0x12d558){return _0xb80572(_0x12d558);},'FWpgr':function(_0x413754,_0x304fe1){return _0x413754===_0x304fe1;},'jLjct':_0x1b5b77(0x156),'NuQww':'\x0a📋\x20Authentication\x20Update','KrLko':_0x1b5b77(0x160),'aBpbE':'\x20\x20\x20When\x20you\x20are\x20done,\x20close\x20the\x20browser.\x0a','ssMNa':function(_0x57c8d4,_0x38e09d){return _0x57c8d4(_0x38e09d);},'IpZXn':function(_0x27928b,_0xf77957){return _0x27928b||_0xf77957;},'hQUuc':_0x1b5b77(0x179),'FZFJf':_0x1b5b77(0x16e),'ujxmF':_0x1b5b77(0x163),'OVZVp':_0x1b5b77(0x157),'vBqur':function(_0x1c9c63,_0x43a8d4,_0x2e2b6d){return _0x1c9c63(_0x43a8d4,_0x2e2b6d);},'XIJtA':function(_0x43e6cb,_0x13e95c,_0x19beb4){return _0x43e6cb(_0x13e95c,_0x19beb4);},'qUReR':'\x20\x20You\x20can\x20safely\x20commit\x20this\x20file\x20to\x20git.','yLURi':_0x1b5b77(0x16b),'KQhIB':_0x1b5b77(0x151),'GFEfH':function(_0x3d7990,_0x2f8e33){return _0x3d7990===_0x2f8e33;}},_0x38aaa0=getEnvDir(_0x52d11c),_0x32cdf9=join(_0x38aaa0,_0x1b5b77(0x17c)),_0x4a0cd2=_0x116123[_0x1b5b77(0x155)](join,_0x38aaa0,_0x1b5b77(0x16f)),_0x1dc0cf=_0x4a0cd2+_0x1b5b77(0x169),_0x3b8ecd=process['stdin']['isTTY']&&process['stdout'][_0x1b5b77(0x171)];if(!_0x3b8ecd)throw new Error(_0x1b5b77(0x14f));if(!existsSync(_0x38aaa0))throw new Error('Profile\x20\x22'+_0x52d11c+_0x1b5b77(0x17d)+_0x52d11c);if(!existsSync(_0x32cdf9))throw new Error('Config\x20not\x20found\x20at\x20'+_0x32cdf9+_0x1b5b77(0x165)+_0x52d11c);const _0x4a29d1=await readFile(_0x32cdf9,_0x116123[_0x1b5b77(0x153)]),_0x313940=JSON[_0x1b5b77(0x16d)](_0x4a29d1),_0x471ff7=_0x116123['YjPSI'](resolveEnvVars,_0x313940),_0x4a005b=_0x116123['FWpgr'](typeof _0x471ff7[_0x1b5b77(0x173)],_0x116123[_0x1b5b77(0x17a)])?_0x471ff7['baseUrl']:undefined,_0x2d1251=existsSync(_0x4a0cd2),_0x9f3c10=isEnvCi(_0x52d11c);_0x18b512?.[_0x1b5b77(0x164)](_0x1b5b77(0x16b)),console[_0x1b5b77(0x17f)](_0x116123[_0x1b5b77(0x17b)]),console['log']('\x20\x20\x20A\x20browser\x20will\x20open\x20with\x20your\x20existing\x20session\x20(if\x20any).'),console['log'](_0x116123[_0x1b5b77(0x15f)]),console['log'](_0x116123[_0x1b5b77(0x15d)]);const {launchOptions:_0x591666,contextOptions:_0x155a06}=_0x116123['XRGgp'](buildBrowserOptionsFromSettings,_0x471ff7,{'headless':![],'storageStatePath':_0x2d1251?_0x4a0cd2:undefined});_0x471ff7[_0x1b5b77(0x150)]&&(_0x155a06['extraHTTPHeaders']={..._0x155a06['extraHTTPHeaders'],..._0x471ff7['setupHeaders']});const _0x2473c3=await chromium['launch'](_0x591666);let _0x5c2a66=null;try{_0x5c2a66=await _0x2473c3['newContext'](_0x155a06),await _0x116123[_0x1b5b77(0x17e)](addProfileSetupBanner,_0x5c2a66);const _0xeb4b6=await _0x5c2a66[_0x1b5b77(0x175)]();await _0xeb4b6[_0x1b5b77(0x16c)](_0x116123[_0x1b5b77(0x168)](_0x4a005b,_0x116123['hQUuc']));let _0x357fd1=![];await new Promise(_0x275334=>{_0xeb4b6['on']('close',async()=>{const _0x4d1220=_0x22fd;try{console[_0x4d1220(0x17f)]('Saving\x20authentication\x20state...'),await _0x5c2a66?.[_0x4d1220(0x149)]({'path':_0x4a0cd2}),_0x357fd1=!![];}catch{}_0x116123['pAaHn'](_0x275334);});});if(!_0x357fd1){console[_0x1b5b77(0x17f)](_0x116123['FZFJf']);!_0x471ff7['safeMode']&&(console['log'](_0x116123[_0x1b5b77(0x162)]),console[_0x1b5b77(0x17f)]('Enable\x20safe\x20mode\x20and\x20try\x20again:\x20ranger\x20profile\x20config\x20set\x20'+_0x52d11c+_0x1b5b77(0x14e)));throw new Error(_0x116123['OVZVp']);}}finally{_0x5c2a66&&await _0x5c2a66[_0x1b5b77(0x177)]()[_0x1b5b77(0x14b)](()=>{}),await _0x2473c3[_0x1b5b77(0x177)]()[_0x1b5b77(0x14b)](()=>{});}if(_0x9f3c10){const _0x4f168b=await _0x116123['XRGgp'](readFile,_0x4a0cd2,'utf-8'),_0xb0d1fc=await getToken();if(!_0xb0d1fc)console[_0x1b5b77(0x159)](_0x1b5b77(0x152)),console[_0x1b5b77(0x17f)]('✓\x20Auth\x20state\x20saved\x20to:\x20'+_0x4a0cd2);else{const _0x6d33c4=_0x116123['vBqur'](encrypt,_0x4f168b,_0xb0d1fc);await _0x116123[_0x1b5b77(0x15c)](writeFile,_0x1dc0cf,_0x6d33c4),await unlink(_0x4a0cd2),console['log'](_0x1b5b77(0x174)+_0x1dc0cf),console['log'](_0x116123['qUReR']),console['log']('\x20\x20Run\x20ranger\x20setup\x20in\x20CI\x20to\x20decrypt\x20at\x20runtime.');}}else console[_0x1b5b77(0x17f)]('✓\x20Auth\x20state\x20saved\x20to:\x20'+_0x4a0cd2);_0x18b512?.['trackPhaseEnd'](_0x116123['yLURi']),_0x18b512?.['trackPhaseStart'](_0x116123['KQhIB']),_0x313940[_0x1b5b77(0x15b)]=_0x313940[_0x1b5b77(0x15b)]||{},_0x313940['browser'][_0x1b5b77(0x158)]=_0x313940['browser']['contextOptions']||{},_0x313940[_0x1b5b77(0x15b)]['contextOptions'][_0x1b5b77(0x149)]=_0x4a0cd2,_0x116123[_0x1b5b77(0x14d)](_0x2a62cc?.[_0x1b5b77(0x15a)],!![])&&(_0x313940['allowInsecureLocalhost']=!![]),await writeFile(_0x32cdf9,JSON['stringify'](_0x313940,null,0x2)),console[_0x1b5b77(0x17f)]('✓\x20Updated\x20config:\x20'+_0x32cdf9),_0x18b512?.[_0x1b5b77(0x166)](_0x116123[_0x1b5b77(0x14c)]),console[_0x1b5b77(0x17f)]('\x0a✅\x20Profile\x20\x22'+_0x52d11c+_0x1b5b77(0x172));}
@@ -1 +1 @@
1
- (function(_0x1de122,_0x373246){const _0x9c3efb=_0x3896,_0x560e80=_0x1de122();while(!![]){try{const _0x409b3f=parseInt(_0x9c3efb(0x17e))/0x1+-parseInt(_0x9c3efb(0x186))/0x2*(parseInt(_0x9c3efb(0x18a))/0x3)+parseInt(_0x9c3efb(0x183))/0x4+-parseInt(_0x9c3efb(0x180))/0x5+parseInt(_0x9c3efb(0x181))/0x6*(-parseInt(_0x9c3efb(0x187))/0x7)+-parseInt(_0x9c3efb(0x185))/0x8*(parseInt(_0x9c3efb(0x188))/0x9)+parseInt(_0x9c3efb(0x17d))/0xa*(parseInt(_0x9c3efb(0x18c))/0xb);if(_0x409b3f===_0x373246)break;else _0x560e80['push'](_0x560e80['shift']());}catch(_0x4a1b03){_0x560e80['push'](_0x560e80['shift']());}}}(_0x49ad,0x41619));function _0x3896(_0x2097d1,_0x137c62){_0x2097d1=_0x2097d1-0x17d;const _0x49adcc=_0x49ad();let _0x389651=_0x49adcc[_0x2097d1];return _0x389651;}import{join}from'path';function _0x49ad(){const _0x499c3f=['20kPyowN','7vcrvPn','801yNRMEg','VZHVt','123615iNqulw','\x22\x20not\x20found.\x20Run\x20first:\x20ranger\x20profile\x20add\x20','70026uPrUCv','Config\x20not\x20found\x20at\x20','Profile\x20\x22','560tzxkpZ','511015TxHKap','BaZoC','1250570McZrPN','102078IlBUTp','OZCEx','590920sZMxBQ','settings.json','6136vTOyLi'];_0x49ad=function(){return _0x499c3f;};return _0x49ad();}import{existsSync}from'fs';import{getEnvDir}from'./utils/settings.js';import{writeActiveProfileName}from'./utils/activeProfile.js';export async function useEnv(_0x5b1973){const _0x451de5=_0x3896,_0x446a12={'BaZoC':function(_0x188ca5,_0x5334b1){return _0x188ca5(_0x5334b1);},'OZCEx':_0x451de5(0x184),'VZHVt':function(_0x2a04a3,_0x420074){return _0x2a04a3(_0x420074);}},_0x9bd467=_0x446a12['BaZoC'](getEnvDir,_0x5b1973),_0x2bdd0b=join(_0x9bd467,_0x446a12[_0x451de5(0x182)]);if(!_0x446a12[_0x451de5(0x17f)](existsSync,_0x9bd467))throw new Error(_0x451de5(0x18e)+_0x5b1973+_0x451de5(0x18b)+_0x5b1973);if(!_0x446a12[_0x451de5(0x189)](existsSync,_0x2bdd0b))throw new Error(_0x451de5(0x18d)+_0x2bdd0b+'.\x20Run\x20first:\x20ranger\x20profile\x20add\x20'+_0x5b1973);await writeActiveProfileName(_0x5b1973),console['log']('\x0a✓\x20Now\x20using\x20profile\x20\x22'+_0x5b1973+'\x22');}
1
+ (function(_0x3322da,_0x52fa0e){const _0x536d4c=_0x1704,_0x47251b=_0x3322da();while(!![]){try{const _0x332b69=-parseInt(_0x536d4c(0xef))/0x1+-parseInt(_0x536d4c(0xe8))/0x2+-parseInt(_0x536d4c(0xe2))/0x3+-parseInt(_0x536d4c(0xec))/0x4+-parseInt(_0x536d4c(0xe4))/0x5+parseInt(_0x536d4c(0xea))/0x6*(-parseInt(_0x536d4c(0xf1))/0x7)+parseInt(_0x536d4c(0xe1))/0x8*(parseInt(_0x536d4c(0xe3))/0x9);if(_0x332b69===_0x52fa0e)break;else _0x47251b['push'](_0x47251b['shift']());}catch(_0x20f219){_0x47251b['push'](_0x47251b['shift']());}}}(_0x2af3,0xc3ef5));import{join}from'path';function _0x1704(_0x117822,_0xd34391){_0x117822=_0x117822-0xdf;const _0x2af3ca=_0x2af3();let _0x170408=_0x2af3ca[_0x117822];return _0x170408;}import{existsSync}from'fs';function _0x2af3(){const _0x35fc8f=['Wtcvo','251823zmMuyC','status','1292417bWNeVi','\x0a✓\x20Now\x20using\x20','Profile\x20\x22','pzifG','8pBsqcP','871404sYhwiE','34044129xQTNYy','931805UMXcmb','`ranger\x20profile\x20add\x20','profile\x20\x22','jNiop','2141134pdFHIt','ioRHm','36xqEvFr','log','292508TxOnzj','\x22\x20not\x20found\x20locally\x20or\x20in\x20the\x20cloud.\x20'];_0x2af3=function(){return _0x35fc8f;};return _0x2af3();}import{getEnvDir}from'./utils/settings.js';import{writeActiveProfileName}from'./utils/activeProfile.js';import{ApiError,fetchCloudProfile}from'./utils/cloudProfile.js';export async function useEnv(_0x395775){const _0x15b0b6=_0x1704,_0x3d1f71={'jNiop':function(_0x4b70f4,_0x285ec6){return _0x4b70f4(_0x285ec6);},'nhrCb':function(_0xa78fdf,_0x205930,_0x5e6e7e){return _0xa78fdf(_0x205930,_0x5e6e7e);},'GgfTG':function(_0xf41312,_0x158ec4){return _0xf41312(_0x158ec4);},'QcCiL':function(_0x36a274,_0x2018b7){return _0x36a274(_0x2018b7);},'QQdaI':function(_0x105473,_0x265666){return _0x105473 instanceof _0x265666;},'pzifG':function(_0x4e3156,_0xfbb64b){return _0x4e3156===_0xfbb64b;},'Wtcvo':function(_0x285d9b,_0x76da5c){return _0x285d9b+_0x76da5c;},'ioRHm':function(_0x49e85d,_0x5b3a25){return _0x49e85d(_0x5b3a25);},'PVVTK':'cloud\x20'},_0x223c2c=_0x3d1f71[_0x15b0b6(0xe7)](getEnvDir,_0x395775),_0x15c808=_0x3d1f71['nhrCb'](join,_0x223c2c,'settings.json'),_0x55ace4=existsSync(_0x223c2c)&&_0x3d1f71['GgfTG'](existsSync,_0x15c808);if(_0x55ace4){await writeActiveProfileName(_0x395775),console[_0x15b0b6(0xeb)]('\x0a✓\x20Now\x20using\x20profile\x20\x22'+_0x395775+'\x22');return;}let _0x6dc9e2=null,_0x591703=![];try{_0x6dc9e2=await _0x3d1f71['QcCiL'](fetchCloudProfile,_0x395775);if(!_0x6dc9e2)_0x591703=!![];}catch(_0x3ad6bc){_0x3d1f71['QQdaI'](_0x3ad6bc,ApiError)&&_0x3d1f71[_0x15b0b6(0xe0)](_0x3ad6bc[_0x15b0b6(0xf0)],0x194)&&(_0x591703=!![]);}if(_0x591703)throw new Error(_0x3d1f71[_0x15b0b6(0xee)](_0x15b0b6(0xdf)+_0x395775+_0x15b0b6(0xed),'Run\x20`ranger\x20profile\x20ls`\x20to\x20see\x20available\x20profiles,\x20or\x20')+(_0x15b0b6(0xe5)+_0x395775+'`\x20to\x20create\x20one.'));await _0x3d1f71[_0x15b0b6(0xe9)](writeActiveProfileName,_0x395775),console['log'](_0x15b0b6(0xf2)+(_0x6dc9e2?_0x3d1f71['PVVTK']:'')+_0x15b0b6(0xe6)+_0x395775+'\x22');}
@@ -1 +1 @@
1
- function _0x33a8(_0x364329,_0x3cff2a){_0x364329=_0x364329-0x1a0;const _0x37b0eb=_0x37b0();let _0x33a86b=_0x37b0eb[_0x364329];return _0x33a86b;}const _0x111dfe=_0x33a8;(function(_0xa0d8d4,_0x1c3fa6){const _0xdad658=_0x33a8,_0x556bff=_0xa0d8d4();while(!![]){try{const _0xb9431d=parseInt(_0xdad658(0x1b4))/0x1*(-parseInt(_0xdad658(0x1a6))/0x2)+-parseInt(_0xdad658(0x1b7))/0x3+-parseInt(_0xdad658(0x1b0))/0x4*(parseInt(_0xdad658(0x1a1))/0x5)+-parseInt(_0xdad658(0x1b5))/0x6*(parseInt(_0xdad658(0x1a4))/0x7)+parseInt(_0xdad658(0x1b3))/0x8*(-parseInt(_0xdad658(0x1ac))/0x9)+-parseInt(_0xdad658(0x1a3))/0xa+parseInt(_0xdad658(0x1a9))/0xb*(parseInt(_0xdad658(0x1aa))/0xc);if(_0xb9431d===_0x1c3fa6)break;else _0x556bff['push'](_0x556bff['shift']());}catch(_0x395b8e){_0x556bff['push'](_0x556bff['shift']());}}}(_0x37b0,0x90dab));import{existsSync}from'fs';import{mkdir,readFile,rename,unlink,writeFile}from'fs/promises';import{join}from'path';import{getRangerDir}from'./rangerRoot.js';const ACTIVE_PROFILE_FILE=_0x111dfe(0x1b2),LEGACY_ACTIVE_ENV_FILE=_0x111dfe(0x1a8);function getActiveProfilePath(){return join(getRangerDir(),ACTIVE_PROFILE_FILE);}function _0x37b0(){const _0xc20456=['4661349FlfTNX','oWOpc','9346eeCorS','BxQzS','active-env.txt','55AwYnjx','5459352JORZMq','KppEO','9fSgsOU','JzDPe','YUclp','Ooyky','78788PVPPET','utf-8','active-profile.txt','1583664sprSDU','71NIpLzM','6clvQxk','ifSwX','783729FYgkvm','CMnON','25lZpWPM','trim','1260310HdAzrr'];_0x37b0=function(){return _0xc20456;};return _0x37b0();}function getLegacyActiveEnvPath(){const _0x27c8f4=_0x111dfe,_0x308d3e={'oWOpc':function(_0x4f3e72,_0x41cc69,_0x569fe1){return _0x4f3e72(_0x41cc69,_0x569fe1);},'BxQzS':function(_0x2a1484){return _0x2a1484();}};return _0x308d3e[_0x27c8f4(0x1a5)](join,_0x308d3e[_0x27c8f4(0x1a7)](getRangerDir),LEGACY_ACTIVE_ENV_FILE);}async function migrateLegacyActiveEnv(){const _0x3bbe47=_0x111dfe,_0x1af852={'ifSwX':function(_0x1ba670,_0x1e7599){return _0x1ba670(_0x1e7599);},'WSIxW':function(_0x4eb985,_0x5ab8c2,_0x10d326){return _0x4eb985(_0x5ab8c2,_0x10d326);},'UGONz':function(_0x1780d0,_0x1c42f6,_0x47082a){return _0x1780d0(_0x1c42f6,_0x47082a);},'PxlZd':function(_0x2e3879,_0x1399d2,_0x205a9b,_0x282b33){return _0x2e3879(_0x1399d2,_0x205a9b,_0x282b33);},'Ooyky':_0x3bbe47(0x1b1)},_0x4b2dfc=getLegacyActiveEnvPath();if(!_0x1af852[_0x3bbe47(0x1b6)](existsSync,_0x4b2dfc))return null;let _0x4c0e49=null;try{_0x4c0e49=(await _0x1af852['WSIxW'](readFile,_0x4b2dfc,'utf-8'))['trim']()||null;}catch{_0x4c0e49=null;}if(!_0x4c0e49)return null;const _0x56e346=getActiveProfilePath();try{await _0x1af852['UGONz'](rename,_0x4b2dfc,_0x56e346);}catch{try{const _0x2c676e=getRangerDir();await mkdir(_0x2c676e,{'recursive':!![]}),await _0x1af852['PxlZd'](writeFile,_0x56e346,_0x4c0e49,_0x1af852[_0x3bbe47(0x1af)]),await unlink(_0x4b2dfc);}catch{}}return _0x4c0e49;}export async function readActiveProfileName(){const _0x406c12=_0x111dfe,_0x228c3c={'KppEO':function(_0x32835c,_0x10240f){return _0x32835c(_0x10240f);},'JzDPe':function(_0x1a07b9){return _0x1a07b9();}},_0xf9e3ed=getActiveProfilePath();if(_0x228c3c[_0x406c12(0x1ab)](existsSync,_0xf9e3ed))try{return(await readFile(_0xf9e3ed,_0x406c12(0x1b1)))[_0x406c12(0x1a2)]()||null;}catch{return null;}return await _0x228c3c[_0x406c12(0x1ad)](migrateLegacyActiveEnv);}export async function writeActiveProfileName(_0x53efae){const _0x25e125=_0x111dfe,_0x3b50a9={'YUclp':function(_0x334050){return _0x334050();},'WkwNC':_0x25e125(0x1b1),'CMnON':function(_0x623ff3,_0x1184be){return _0x623ff3(_0x1184be);}},_0x2dc297=_0x3b50a9[_0x25e125(0x1ae)](getRangerDir);await mkdir(_0x2dc297,{'recursive':!![]});const _0xcd70cb=_0x3b50a9[_0x25e125(0x1ae)](getActiveProfilePath);await writeFile(_0xcd70cb,_0x53efae,_0x3b50a9['WkwNC']);const _0x25413d=getLegacyActiveEnvPath();if(_0x3b50a9[_0x25e125(0x1a0)](existsSync,_0x25413d))try{await unlink(_0x25413d);}catch{}}export async function migrateActiveProfileFile(){const _0x2c2427={'YveYG':function(_0xceb7f6,_0x23500a){return _0xceb7f6!==_0x23500a;}},_0x153665=await migrateLegacyActiveEnv();return _0x2c2427['YveYG'](_0x153665,null);}
1
+ (function(_0x1879c6,_0x10b468){const _0x48654c=_0x528f,_0x24a3c5=_0x1879c6();while(!![]){try{const _0x1119f0=parseInt(_0x48654c(0x122))/0x1*(parseInt(_0x48654c(0x121))/0x2)+parseInt(_0x48654c(0x128))/0x3*(-parseInt(_0x48654c(0x131))/0x4)+-parseInt(_0x48654c(0x11c))/0x5+parseInt(_0x48654c(0x120))/0x6*(-parseInt(_0x48654c(0x11f))/0x7)+-parseInt(_0x48654c(0x123))/0x8+-parseInt(_0x48654c(0x11e))/0x9*(parseInt(_0x48654c(0x12b))/0xa)+-parseInt(_0x48654c(0x12e))/0xb*(-parseInt(_0x48654c(0x127))/0xc);if(_0x1119f0===_0x10b468)break;else _0x24a3c5['push'](_0x24a3c5['shift']());}catch(_0x1c170a){_0x24a3c5['push'](_0x24a3c5['shift']());}}}(_0x5328,0x8efbd));import{existsSync}from'fs';import{mkdir,readFile,rename,unlink,writeFile}from'fs/promises';function _0x528f(_0x76209a,_0x43c459){_0x76209a=_0x76209a-0x11b;const _0x53284a=_0x5328();let _0x528f5c=_0x53284a[_0x76209a];return _0x528f5c;}import{join}from'path';function _0x5328(){const _0x1a126e=['7108176MffSGY','zbWgG','PgIbm','utf-8','48AuHNnF','433461CQUllU','trim','XyAvg','45200AMHgiP','NgULU','LvNii','10930909nkYrOE','SvhdA','QNWxx','32HrHEsH','rMkdw','dEJzu','qoweT','IZtmM','489045HDumhz','QyPYl','1773ZvwBEw','2944893BkZrzJ','12wIusIA','484850sEAfHi','2AVMBTB'];_0x5328=function(){return _0x1a126e;};return _0x5328();}import{getRangerDir,getRangerHomeDir}from'./rangerRoot.js';const ACTIVE_PROFILE_FILE='active-profile.txt',LEGACY_ACTIVE_ENV_FILE='active-env.txt';function getActiveProfilePath(){const _0xd9d151=_0x528f,_0x27a18e={'IZtmM':function(_0x73f286,_0x4ff656,_0x12ee75){return _0x73f286(_0x4ff656,_0x12ee75);},'LvNii':function(_0x1ef515){return _0x1ef515();}},_0x5530b6=_0x27a18e[_0xd9d151(0x11b)](join,_0x27a18e[_0xd9d151(0x12d)](getRangerDir),ACTIVE_PROFILE_FILE);if(existsSync(_0x5530b6))return _0x5530b6;return _0x27a18e['IZtmM'](join,getRangerHomeDir(),ACTIVE_PROFILE_FILE);}function getLegacyActiveEnvPath(){const _0x81f9fe={'UCnOW':function(_0x653558,_0x5a55b6,_0x53746c){return _0x653558(_0x5a55b6,_0x53746c);}},_0xf10f6b=_0x81f9fe['UCnOW'](join,getRangerDir(),LEGACY_ACTIVE_ENV_FILE);if(existsSync(_0xf10f6b))return _0xf10f6b;return join(getRangerHomeDir(),LEGACY_ACTIVE_ENV_FILE);}function getActiveProfileWritePath(){const _0x480815=_0x528f,_0x285c3e={'SvhdA':function(_0x4308c9,_0x418fb7,_0x37b939){return _0x4308c9(_0x418fb7,_0x37b939);},'PgIbm':function(_0x369dc8,_0x123080,_0xc1abb5){return _0x369dc8(_0x123080,_0xc1abb5);}},_0x5831e9=getRangerDir();if(existsSync(_0x5831e9))return{'path':_0x285c3e[_0x480815(0x12f)](join,_0x5831e9,ACTIVE_PROFILE_FILE),'dir':_0x5831e9,'isUserScope':![]};const _0x5abfdf=getRangerHomeDir();return{'path':_0x285c3e[_0x480815(0x125)](join,_0x5abfdf,ACTIVE_PROFILE_FILE),'dir':_0x5abfdf,'isUserScope':!![]};}async function migrateLegacyActiveEnv(){const _0x383450=_0x528f,_0x14fcd3={'XyAvg':function(_0x5d18d8,_0x2aebb8){return _0x5d18d8(_0x2aebb8);},'IqYFL':function(_0x440ba8,_0x27a05d,_0x9d1145){return _0x440ba8(_0x27a05d,_0x9d1145);},'ETPiS':function(_0x244c36){return _0x244c36();},'QyPYl':function(_0x37b711,_0x92046a,_0x57c127){return _0x37b711(_0x92046a,_0x57c127);},'NgULU':function(_0x5afe80,_0x575099,_0x423233,_0x2714a7){return _0x5afe80(_0x575099,_0x423233,_0x2714a7);},'dMBRE':'utf-8'},_0xc0cc2f=getLegacyActiveEnvPath();if(!_0x14fcd3['XyAvg'](existsSync,_0xc0cc2f))return null;let _0x25575a=null;try{_0x25575a=(await _0x14fcd3['IqYFL'](readFile,_0xc0cc2f,'utf-8'))['trim']()||null;}catch{_0x25575a=null;}if(!_0x25575a)return null;const {path:_0x53ff31,dir:_0x27b1a5}=_0x14fcd3['ETPiS'](getActiveProfileWritePath);try{await _0x14fcd3[_0x383450(0x11d)](rename,_0xc0cc2f,_0x53ff31);}catch{try{await _0x14fcd3['QyPYl'](mkdir,_0x27b1a5,{'recursive':!![]}),await _0x14fcd3[_0x383450(0x12c)](writeFile,_0x53ff31,_0x25575a,_0x14fcd3['dMBRE']),await _0x14fcd3[_0x383450(0x12a)](unlink,_0xc0cc2f);}catch{}}return _0x25575a;}export async function readActiveProfileName(){const _0x323e5d=_0x528f,_0x5d22ee={'rMkdw':function(_0x8fafdc,_0x41127e){return _0x8fafdc(_0x41127e);},'zbWgG':function(_0x4fb7a5,_0x576512,_0x1b7202){return _0x4fb7a5(_0x576512,_0x1b7202);},'QNWxx':_0x323e5d(0x126),'eUVSu':function(_0x38296b){return _0x38296b();}},_0x5e3fbb=getActiveProfilePath();if(_0x5d22ee[_0x323e5d(0x132)](existsSync,_0x5e3fbb))try{return(await _0x5d22ee[_0x323e5d(0x124)](readFile,_0x5e3fbb,_0x5d22ee[_0x323e5d(0x130)]))[_0x323e5d(0x129)]()||null;}catch{return null;}return await _0x5d22ee['eUVSu'](migrateLegacyActiveEnv);}export async function writeActiveProfileName(_0x219c86){const _0x52c379=_0x528f,_0x80105e={'dEJzu':function(_0xfd00eb){return _0xfd00eb();},'qoweT':function(_0x54101d,_0x2ab658,_0x3a27d2){return _0x54101d(_0x2ab658,_0x3a27d2);},'UxSnU':function(_0x54ca0a,_0x21e3fa,_0x2549b3,_0x3d84bb){return _0x54ca0a(_0x21e3fa,_0x2549b3,_0x3d84bb);},'EznOe':_0x52c379(0x126)},{path:_0x1f996e,dir:_0x30871a}=_0x80105e[_0x52c379(0x133)](getActiveProfileWritePath);await _0x80105e[_0x52c379(0x134)](mkdir,_0x30871a,{'recursive':!![]}),await _0x80105e['UxSnU'](writeFile,_0x1f996e,_0x219c86,_0x80105e['EznOe']);const _0x41f369=getLegacyActiveEnvPath();if(existsSync(_0x41f369))try{await unlink(_0x41f369);}catch{}}export async function migrateActiveProfileFile(){const _0x184213=await migrateLegacyActiveEnv();return _0x184213!==null;}
@@ -1 +1 @@
1
- const _0x391f31=_0x4a35;function _0x2681(){const _0xbaaf71=['add','NPM_CONFIG_PREFIX','push','ZlTbA','9200552qMKdwX','ROfTU','TMPDIR','UHIBH','slice','trim','$PATH','x-ranger-','map','20FaCMVB','entries','AzLWz','toLowerCase','TMP','string','DEBUG','7172382hWrJAj','3238564SsgVjE','XDG_CACHE_HOME','230149GQXMOJ','sessionToken','hwXhq','npm_config_cache','TEMP','/usr/bin','split','some','1507010gRdGbx','RANGER_TEST_SKIP_BROWSER_WAIT','2BiqfKt','%PATH%','includes','MHRke','length','filter','5326011bypYwf','from','HOME','32rRvoDI','platform','has','PATH\x20is\x20missing\x20core\x20system\x20directories\x20like\x20`/usr/bin`\x20and\x20`/bin`.','Session\x20token\x20is\x20required\x20when\x20RANGER_BYOK=false','npm_config_registry','fromEntries','WIFPx','rymAB','PATH\x20contains\x20an\x20unexpanded\x20placeholder\x20like\x20`${PATH}`\x20instead\x20of\x20the\x20expanded\x20current\x20PATH.','env','69387gtHHzA','RANGER_DISABLE_MCP','Your\x20PATH\x20looks\x20incomplete\x20for\x20browser\x20automation.\x20Ranger\x20will\x20keep\x20going,\x20but\x20browser\x20setup\x20may\x20fail.','NPM_CONFIG_CACHE'];_0x2681=function(){return _0xbaaf71;};return _0x2681();}(function(_0x418b4c,_0x4d9842){const _0x99639a=_0x4a35,_0xf63010=_0x418b4c();while(!![]){try{const _0x55031b=parseInt(_0x99639a(0x98))/0x1*(-parseInt(_0x99639a(0xa2))/0x2)+parseInt(_0x99639a(0x7d))/0x3*(-parseInt(_0x99639a(0x72))/0x4)+parseInt(_0x99639a(0xa0))/0x5+parseInt(_0x99639a(0x95))/0x6+-parseInt(_0x99639a(0x96))/0x7+-parseInt(_0x99639a(0x85))/0x8+parseInt(_0x99639a(0x6f))/0x9*(parseInt(_0x99639a(0x8e))/0xa);if(_0x55031b===_0x4d9842)break;else _0xf63010['push'](_0xf63010['shift']());}catch(_0x45ae76){_0xf63010['push'](_0xf63010['shift']());}}}(_0x2681,0x9f4a7));function _0x4a35(_0x42c784,_0x33db3b){_0x42c784=_0x42c784-0x6c;const _0x268119=_0x2681();let _0x4a350f=_0x268119[_0x42c784];return _0x4a350f;}import{delimiter,join}from'path';import{tmpdir}from'os';import{mkdirSync}from'fs';import{getAiProxyUrl}from'./environment.js';const AI_PROXY_METADATA_HEADERS_ENV_VAR='ANTHROPIC_CUSTOM_HEADERS',AGENT_ENV_PASSTHROUGH_KEYS=['PATH',_0x391f31(0x71),'TMPDIR','TMP','TEMP','USERPROFILE','APPDATA','LOCALAPPDATA',_0x391f31(0x97),'XDG_CONFIG_HOME','PLAYWRIGHT_BROWSERS_PATH','PLAYWRIGHT_SKIP_BROWSER_DOWNLOAD','CHROME_BIN','CHROMIUM_BIN',_0x391f31(0x9b),_0x391f31(0x80),'npm_config_userconfig','NPM_CONFIG_USERCONFIG','npm_config_prefix',_0x391f31(0x82),_0x391f31(0x77),'NPM_CONFIG_REGISTRY',_0x391f31(0x94),'NODE_ENV',_0x391f31(0xa1),_0x391f31(0x7e),AI_PROXY_METADATA_HEADERS_ENV_VAR],UNEXPANDED_PATH_TOKEN_PATTERNS=['${PATH}',_0x391f31(0x8b),_0x391f31(0xa3)];function parseCustomHeaders(_0x4276ab){const _0x177f5a=_0x391f31,_0xb00b51={'djRYJ':function(_0x5fff39,_0x4e8879){return _0x5fff39===_0x4e8879;},'hwXhq':function(_0x4c801f,_0x5748a4){return _0x4c801f+_0x5748a4;}};if(!_0x4276ab)return[];return _0x4276ab[_0x177f5a(0x9e)](/\r?\n/)[_0x177f5a(0x8d)](_0x426e2c=>_0x426e2c['trim']())['filter'](Boolean)['map'](_0x4cb1f5=>{const _0x353169=_0x177f5a,_0x3949ac=_0x4cb1f5['indexOf'](':');if(_0xb00b51['djRYJ'](_0x3949ac,-0x1))return null;const _0x533b30=_0x4cb1f5['slice'](0x0,_0x3949ac)['trim'](),_0x1c0a97=_0x4cb1f5[_0x353169(0x89)](_0xb00b51[_0x353169(0x9a)](_0x3949ac,0x1))[_0x353169(0x8a)]();if(!_0x533b30)return null;return[_0x533b30,_0x1c0a97];})['filter'](_0x366cb0=>_0x366cb0!==null);}export function getAgentPathHealthWarning(_0x1a1130,_0x337676=process[_0x391f31(0x73)]){const _0x37b1be=_0x391f31,_0x3725b5={'AzLWz':function(_0x5ac062,_0x4eba35){return _0x5ac062||_0x4eba35;},'MHRke':'PATH\x20is\x20empty,\x20so\x20npm\x20and\x20core\x20system\x20tools\x20may\x20be\x20unavailable.','WIFPx':_0x37b1be(0x7b),'mxjgx':'/bin','UHIBH':function(_0xdf1f6d,_0x468229){return _0xdf1f6d&&_0x468229;}},_0x1a8880=[],_0x566393=_0x3725b5[_0x37b1be(0x90)](_0x1a1130,'')[_0x37b1be(0x9e)](delimiter)[_0x37b1be(0x6e)](Boolean);_0x566393[_0x37b1be(0x6d)]===0x0&&_0x1a8880['push'](_0x3725b5[_0x37b1be(0x6c)]);UNEXPANDED_PATH_TOKEN_PATTERNS[_0x37b1be(0x9f)](_0x1f2f84=>(_0x1a1130||'')['includes'](_0x1f2f84))&&_0x1a8880[_0x37b1be(0x83)](_0x3725b5[_0x37b1be(0x79)]);if(_0x337676!=='win32'){const _0x318e89=_0x566393['includes'](_0x37b1be(0x9d)),_0x356e24=_0x566393['includes'](_0x3725b5['mxjgx']);_0x3725b5[_0x37b1be(0x88)](!_0x318e89,!_0x356e24)&&_0x1a8880[_0x37b1be(0x83)](_0x37b1be(0x75));}if(_0x1a8880[_0x37b1be(0x6d)]===0x0)return null;return{'summary':_0x37b1be(0x7f),'issues':_0x1a8880};}export function buildAgentEnv(_0x44d73c){const _0xcc8eba=_0x391f31,_0x587aea={'ZlTbA':_0xcc8eba(0x76),'HlnOh':'TMP','IOqRb':'ranger-claude-tmp','rymAB':function(_0xf73ae4,_0x42ebc2,_0x17c79b){return _0xf73ae4(_0x42ebc2,_0x17c79b);},'ROfTU':'TMPDIR','wYLcC':function(_0x5b461d,_0x6b2992){return _0x5b461d===_0x6b2992;}};if(_0x44d73c['byokEnabled'])return Object[_0xcc8eba(0x78)](Object[_0xcc8eba(0x8f)](process[_0xcc8eba(0x7c)])[_0xcc8eba(0x6e)](_0x3eb9c1=>typeof _0x3eb9c1[0x1]===_0xcc8eba(0x93)));if(!_0x44d73c['sessionToken'])throw new Error(_0x587aea[_0xcc8eba(0x84)]);const _0x58e3ee={'ANTHROPIC_API_KEY':_0x44d73c[_0xcc8eba(0x99)],'ANTHROPIC_BASE_URL':getAiProxyUrl(),'DISABLE_TELEMETRY':'true'};for(const _0x4c47c0 of AGENT_ENV_PASSTHROUGH_KEYS){const _0x2e52ec=process[_0xcc8eba(0x7c)][_0x4c47c0];_0x2e52ec&&![_0xcc8eba(0x87),_0x587aea['HlnOh'],_0xcc8eba(0x9c)][_0xcc8eba(0xa4)](_0x4c47c0)&&(_0x58e3ee[_0x4c47c0]=_0x2e52ec);}const _0xf668a8=join(tmpdir(),_0x587aea['IOqRb']);try{_0x587aea[_0xcc8eba(0x7a)](mkdirSync,_0xf668a8,{'recursive':!![]});}catch{}_0x58e3ee[_0x587aea[_0xcc8eba(0x86)]]=_0xf668a8,_0x58e3ee[_0xcc8eba(0x92)]=_0xf668a8,_0x58e3ee[_0xcc8eba(0x9c)]=_0xf668a8;const _0xf4f736=parseCustomHeaders(process[_0xcc8eba(0x7c)][AI_PROXY_METADATA_HEADERS_ENV_VAR]),_0x5e3a56=new Map(_0xf4f736),_0x3a06e0=new Set(_0xf4f736[_0xcc8eba(0x8d)](([_0x39f402])=>_0x39f402[_0xcc8eba(0x91)]()));if(_0x44d73c['metadata'])for(const [_0x413f68,_0x1ad882]of Object['entries'](_0x44d73c['metadata'])){if(_0x1ad882==null||_0x587aea['wYLcC'](_0x1ad882,''))continue;const _0x17696e=_0xcc8eba(0x8c)+_0x413f68;!_0x3a06e0[_0xcc8eba(0x74)](_0x17696e['toLowerCase']())&&(_0x5e3a56['set'](_0x17696e,_0x1ad882),_0x3a06e0[_0xcc8eba(0x81)](_0x17696e[_0xcc8eba(0x91)]()));}const _0x18333c=Array[_0xcc8eba(0x70)](_0x5e3a56[_0xcc8eba(0x8f)]())[_0xcc8eba(0x8d)](([_0x5375e6,_0x26230f])=>_0x5375e6+':\x20'+_0x26230f)['join']('\x0a');return _0x18333c&&(_0x58e3ee[AI_PROXY_METADATA_HEADERS_ENV_VAR]=_0x18333c),_0x58e3ee;}
1
+ const _0x4ad2d5=_0xe625;(function(_0x7fd69b,_0x43ae4c){const _0x1db8ca=_0xe625,_0x5dba31=_0x7fd69b();while(!![]){try{const _0x251cb0=parseInt(_0x1db8ca(0x1b4))/0x1+parseInt(_0x1db8ca(0x1cd))/0x2+-parseInt(_0x1db8ca(0x1b5))/0x3+-parseInt(_0x1db8ca(0x1b8))/0x4+parseInt(_0x1db8ca(0x1c9))/0x5+-parseInt(_0x1db8ca(0x1a3))/0x6+-parseInt(_0x1db8ca(0x1b1))/0x7*(-parseInt(_0x1db8ca(0x19c))/0x8);if(_0x251cb0===_0x43ae4c)break;else _0x5dba31['push'](_0x5dba31['shift']());}catch(_0xa980c1){_0x5dba31['push'](_0x5dba31['shift']());}}}(_0x33cc,0x24e0c));function _0xe625(_0x95d05d,_0xde2e73){_0x95d05d=_0x95d05d-0x19b;const _0x33cc75=_0x33cc();let _0xe625b=_0x33cc75[_0x95d05d];return _0xe625b;}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=[_0x4ad2d5(0x1bc),'HOME',_0x4ad2d5(0x1be),'TMP',_0x4ad2d5(0x1c5),'USERPROFILE',_0x4ad2d5(0x1cb),_0x4ad2d5(0x1ae),'XDG_CACHE_HOME','XDG_CONFIG_HOME','PLAYWRIGHT_BROWSERS_PATH','PLAYWRIGHT_SKIP_BROWSER_DOWNLOAD','CHROME_BIN','CHROMIUM_BIN',_0x4ad2d5(0x1b0),_0x4ad2d5(0x19f),_0x4ad2d5(0x1cc),_0x4ad2d5(0x1b2),'npm_config_prefix','NPM_CONFIG_PREFIX','npm_config_registry',_0x4ad2d5(0x1ba),_0x4ad2d5(0x1bd),'NODE_ENV',_0x4ad2d5(0x1c1),_0x4ad2d5(0x1ca),AI_PROXY_METADATA_HEADERS_ENV_VAR],UNEXPANDED_PATH_TOKEN_PATTERNS=['${PATH}','$PATH',_0x4ad2d5(0x1aa)];function _0x33cc(){const _0x13fdac=['211824SpcpLZ','push','NPM_CONFIG_REGISTRY','env','PATH','DEBUG','TMPDIR','filter','IktGD','RANGER_TEST_SKIP_BROWSER_WAIT','join','TMP','split','TEMP','sessionToken','from','true','87915ezdKQf','RANGER_DISABLE_MCP','APPDATA','npm_config_userconfig','398610ojUsLk','metadata','8GKghmo','map','indexOf','NPM_CONFIG_CACHE','entries','has','Session\x20token\x20is\x20required\x20when\x20RANGER_BYOK=false','1409520AjHPUT','slice','PATH\x20is\x20empty,\x20so\x20npm\x20and\x20core\x20system\x20tools\x20may\x20be\x20unavailable.','length','XXjkm','includes','kVPAS','%PATH%','trim','PATH\x20is\x20missing\x20core\x20system\x20directories\x20like\x20`/usr/bin`\x20and\x20`/bin`.','/bin','LOCALAPPDATA','toLowerCase','npm_config_cache','1570702stQpUw','NPM_CONFIG_USERCONFIG','dJBuo','65337pGLwPd','203049MsmfRq','MYxal','add'];_0x33cc=function(){return _0x13fdac;};return _0x33cc();}function parseCustomHeaders(_0x1f2005){const _0x3515f6=_0x4ad2d5,_0x1e8477={'IktGD':function(_0x21fbd0,_0x30143f){return _0x21fbd0+_0x30143f;}};if(!_0x1f2005)return[];return _0x1f2005[_0x3515f6(0x1c4)](/\r?\n/)[_0x3515f6(0x19d)](_0x10b756=>_0x10b756['trim']())[_0x3515f6(0x1bf)](Boolean)[_0x3515f6(0x19d)](_0x22f555=>{const _0x1d0fa6=_0x3515f6,_0x2fb27b=_0x22f555[_0x1d0fa6(0x19e)](':');if(_0x2fb27b===-0x1)return null;const _0x153e62=_0x22f555[_0x1d0fa6(0x1a4)](0x0,_0x2fb27b)['trim'](),_0x4b9436=_0x22f555['slice'](_0x1e8477[_0x1d0fa6(0x1c0)](_0x2fb27b,0x1))[_0x1d0fa6(0x1ab)]();if(!_0x153e62)return null;return[_0x153e62,_0x4b9436];})['filter'](_0x1912da=>_0x1912da!==null);}export function getAgentPathHealthWarning(_0xaf2a6,_0x5478e5=process['platform']){const _0x24cc4c=_0x4ad2d5,_0x57c54c={'SlSLb':function(_0xa885a,_0x69dff){return _0xa885a===_0x69dff;},'XXjkm':_0x24cc4c(0x1a5),'kVPAS':'win32','WkEtE':'/usr/bin','GjPPX':function(_0x3b80a4,_0x46ccd3){return _0x3b80a4&&_0x46ccd3;},'liRak':function(_0x30aadb,_0x50e832){return _0x30aadb===_0x50e832;},'auSUI':'Your\x20PATH\x20looks\x20incomplete\x20for\x20browser\x20automation.\x20Ranger\x20will\x20keep\x20going,\x20but\x20browser\x20setup\x20may\x20fail.'},_0x3af060=[],_0x305abe=(_0xaf2a6||'')['split'](delimiter)['filter'](Boolean);_0x57c54c['SlSLb'](_0x305abe[_0x24cc4c(0x1a6)],0x0)&&_0x3af060['push'](_0x57c54c[_0x24cc4c(0x1a7)]);UNEXPANDED_PATH_TOKEN_PATTERNS['some'](_0x558d64=>(_0xaf2a6||'')[_0x24cc4c(0x1a8)](_0x558d64))&&_0x3af060[_0x24cc4c(0x1b9)]('PATH\x20contains\x20an\x20unexpanded\x20placeholder\x20like\x20`${PATH}`\x20instead\x20of\x20the\x20expanded\x20current\x20PATH.');if(_0x5478e5!==_0x57c54c[_0x24cc4c(0x1a9)]){const _0x160f03=_0x305abe['includes'](_0x57c54c['WkEtE']),_0x4d7970=_0x305abe[_0x24cc4c(0x1a8)](_0x24cc4c(0x1ad));_0x57c54c['GjPPX'](!_0x160f03,!_0x4d7970)&&_0x3af060[_0x24cc4c(0x1b9)](_0x24cc4c(0x1ac));}if(_0x57c54c['liRak'](_0x3af060[_0x24cc4c(0x1a6)],0x0))return null;return{'summary':_0x57c54c['auSUI'],'issues':_0x3af060};}export function buildAgentEnv(_0x16d906){const _0x11de90=_0x4ad2d5,_0x53e91b={'RbRVn':function(_0x192903){return _0x192903();},'DWrGM':_0x11de90(0x1c8),'ZDpGb':'TMPDIR','MYxal':'TEMP','WsTnx':function(_0x3b1261,_0x47fed8,_0x591c9f){return _0x3b1261(_0x47fed8,_0x591c9f);},'dJBuo':function(_0x424ed7,_0x154ffd){return _0x424ed7(_0x154ffd);},'ZndMM':function(_0x269d55,_0x5c2f6b){return _0x269d55===_0x5c2f6b;}};if(_0x16d906['byokEnabled'])return Object['fromEntries'](Object[_0x11de90(0x1a0)](process['env'])['filter'](_0x5e29d9=>typeof _0x5e29d9[0x1]==='string'));if(!_0x16d906['sessionToken'])throw new Error(_0x11de90(0x1a2));const _0x2c13d7={'ANTHROPIC_API_KEY':_0x16d906[_0x11de90(0x1c6)],'ANTHROPIC_BASE_URL':_0x53e91b['RbRVn'](getAiProxyUrl),'DISABLE_TELEMETRY':_0x53e91b['DWrGM']};for(const _0x3054af of AGENT_ENV_PASSTHROUGH_KEYS){const _0x4923d0=process[_0x11de90(0x1bb)][_0x3054af];_0x4923d0&&![_0x53e91b['ZDpGb'],_0x11de90(0x1c3),_0x53e91b[_0x11de90(0x1b6)]]['includes'](_0x3054af)&&(_0x2c13d7[_0x3054af]=_0x4923d0);}const _0x5eff90=_0x53e91b['WsTnx'](join,tmpdir(),'ranger-claude-tmp');try{mkdirSync(_0x5eff90,{'recursive':!![]});}catch{}_0x2c13d7['TMPDIR']=_0x5eff90,_0x2c13d7['TMP']=_0x5eff90,_0x2c13d7[_0x53e91b[_0x11de90(0x1b6)]]=_0x5eff90;const _0x3d9082=_0x53e91b[_0x11de90(0x1b3)](parseCustomHeaders,process['env'][AI_PROXY_METADATA_HEADERS_ENV_VAR]),_0x289334=new Map(_0x3d9082),_0x2737d5=new Set(_0x3d9082[_0x11de90(0x19d)](([_0x295923])=>_0x295923['toLowerCase']()));if(_0x16d906[_0x11de90(0x19b)])for(const [_0x580d5b,_0x3c1781]of Object['entries'](_0x16d906[_0x11de90(0x19b)])){if(_0x3c1781==null||_0x53e91b['ZndMM'](_0x3c1781,''))continue;const _0x8b5ba1='x-ranger-'+_0x580d5b;!_0x2737d5[_0x11de90(0x1a1)](_0x8b5ba1[_0x11de90(0x1af)]())&&(_0x289334['set'](_0x8b5ba1,_0x3c1781),_0x2737d5[_0x11de90(0x1b7)](_0x8b5ba1[_0x11de90(0x1af)]()));}const _0x2b1641=Array[_0x11de90(0x1c7)](_0x289334[_0x11de90(0x1a0)]())['map'](([_0x5ddde4,_0x454500])=>_0x5ddde4+':\x20'+_0x454500)[_0x11de90(0x1c2)]('\x0a');return _0x2b1641&&(_0x2c13d7[AI_PROXY_METADATA_HEADERS_ENV_VAR]=_0x2b1641),_0x2c13d7;}