@ranger-testing/ranger-cli 2.5.4-alpha.27e3ee8-11 → 2.5.4-alpha.57338f5-12

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 (81) hide show
  1. package/build/cli.js +1 -1
  2. package/build/commands/addEnv.js +1 -1
  3. package/build/commands/authEncrypt.js +1 -1
  4. package/build/commands/clean.js +1 -1
  5. package/build/commands/config.js +1 -1
  6. package/build/commands/env.js +1 -1
  7. package/build/commands/feature.js +1 -1
  8. package/build/commands/hook.js +1 -1
  9. package/build/commands/hooks/autoPrompt.js +1 -1
  10. package/build/commands/hooks/disable.js +1 -1
  11. package/build/commands/hooks/enable.js +1 -1
  12. package/build/commands/hooks/exitPlanMode.js +1 -1
  13. package/build/commands/hooks/index.js +1 -1
  14. package/build/commands/hooks/output.js +1 -1
  15. package/build/commands/hooks/planReminder.js +1 -1
  16. package/build/commands/hooks/planStart.js +1 -1
  17. package/build/commands/hooks/postEdit.js +1 -1
  18. package/build/commands/hooks/preCompact.js +1 -1
  19. package/build/commands/hooks/sessionEnd.js +1 -1
  20. package/build/commands/hooks/sessionStart.js +1 -1
  21. package/build/commands/hooks/stopHook.js +1 -1
  22. package/build/commands/index.js +1 -1
  23. package/build/commands/login.js +1 -1
  24. package/build/commands/mcpBootstrap.js +1 -1
  25. package/build/commands/migrateProfile.js +1 -1
  26. package/build/commands/setup/claude.js +1 -1
  27. package/build/commands/setup/opencode.js +1 -1
  28. package/build/commands/setupCi.js +1 -1
  29. package/build/commands/skillup.js +1 -1
  30. package/build/commands/start.js +1 -1
  31. package/build/commands/status.js +1 -1
  32. package/build/commands/update.js +1 -1
  33. package/build/commands/updateEnv.js +1 -1
  34. package/build/commands/useEnv.js +1 -1
  35. package/build/commands/utils/activeProfile.js +1 -1
  36. package/build/commands/utils/agentEnv.js +1 -1
  37. package/build/commands/utils/browserSessionsApi.js +1 -1
  38. package/build/commands/utils/claudeConfig.js +1 -1
  39. package/build/commands/utils/claudeOverrideSettings.js +1 -1
  40. package/build/commands/utils/claudePlugin.js +1 -1
  41. package/build/commands/utils/cloudProfile.js +1 -1
  42. package/build/commands/utils/cloudProfileSession.js +1 -1
  43. package/build/commands/utils/crypto.js +1 -1
  44. package/build/commands/utils/desirePathLog.js +1 -1
  45. package/build/commands/utils/deviceAuth.js +1 -1
  46. package/build/commands/utils/environment.js +1 -1
  47. package/build/commands/utils/featureApi.js +1 -1
  48. package/build/commands/utils/fixWebmDuration.js +1 -1
  49. package/build/commands/utils/gitTracked.js +1 -1
  50. package/build/commands/utils/keychain.js +1 -1
  51. package/build/commands/utils/legacyWarning.js +1 -0
  52. package/build/commands/utils/localAgentInstallationsApi.js +1 -1
  53. package/build/commands/utils/matchAuthEnvironment.js +1 -1
  54. package/build/commands/utils/mcpImageBase64.js +1 -1
  55. package/build/commands/utils/model.js +1 -1
  56. package/build/commands/utils/opencodeConfig.js +1 -1
  57. package/build/commands/utils/playwrightCli.js +1 -1
  58. package/build/commands/utils/profileMessages.js +1 -1
  59. package/build/commands/utils/profileSetupBanner.js +1 -1
  60. package/build/commands/utils/projectsConfig.js +1 -1
  61. package/build/commands/utils/rangerConfig.js +1 -1
  62. package/build/commands/utils/rangerRoot.js +1 -1
  63. package/build/commands/utils/resolveProfileContext.js +1 -1
  64. package/build/commands/utils/resolveProfileUrl.js +1 -1
  65. package/build/commands/utils/retry.js +1 -1
  66. package/build/commands/utils/sessionCache.js +1 -1
  67. package/build/commands/utils/settings.js +1 -1
  68. package/build/commands/utils/skillContent.js +1 -1
  69. package/build/commands/utils/skills.js +1 -1
  70. package/build/commands/utils/stitchWebmFiles.js +1 -1
  71. package/build/commands/utils/telemetry.js +1 -1
  72. package/build/commands/utils/tokenRefresh.js +1 -1
  73. package/build/commands/utils/traceSnapshotMapper.js +1 -1
  74. package/build/commands/utils/userApi.js +1 -1
  75. package/build/commands/utils/version.js +1 -1
  76. package/build/commands/verifyFeature.js +1 -1
  77. package/build/commands/verifyFeatureCli.js +1 -1
  78. package/build/skills/ranger/SKILL.md +13 -7
  79. package/build/skills/ranger/create.md +16 -3
  80. package/build/skills/ranger/verify.md +23 -10
  81. package/package.json +1 -1
@@ -1 +1 @@
1
- (function(_0x20c779,_0x50cf56){const _0x4f6858=_0x4870,_0x3c794f=_0x20c779();while(!![]){try{const _0xb4603b=parseInt(_0x4f6858(0x1ff))/0x1+-parseInt(_0x4f6858(0x1f2))/0x2*(parseInt(_0x4f6858(0x207))/0x3)+parseInt(_0x4f6858(0x1ed))/0x4+parseInt(_0x4f6858(0x202))/0x5+-parseInt(_0x4f6858(0x1ef))/0x6+parseInt(_0x4f6858(0x203))/0x7+parseInt(_0x4f6858(0x1fa))/0x8;if(_0xb4603b===_0x50cf56)break;else _0x3c794f['push'](_0x3c794f['shift']());}catch(_0x1be4d0){_0x3c794f['push'](_0x3c794f['shift']());}}}(_0x304e,0x80891));import{join}from'path';import{existsSync}from'fs';import{mkdir,readFile,writeFile}from'fs/promises';import _0x3f24a5 from'inquirer';function _0x4870(_0x4086ff,_0x27b116){_0x4086ff=_0x4086ff-0x1ec;const _0x304e86=_0x304e();let _0x487002=_0x304e86[_0x4086ff];return _0x487002;}function _0x304e(){const _0x412fa5=['plugin','parse','error','5583032ENuKCZ','list','iJzdy','PapGy','utf-8','51614GIHAYR','Project\x20(shared\x20with\x20team\x20via\x20git)','Failed\x20to\x20read\x20opencode.json','2401875WsOXUp','4044537pvzyTK','project','⚠\x20Failed\x20to\x20read\x20opencode.json.\x20Please\x20add\x20the\x20plugin\x20manually.','pluginScope','3mqEaaQ','isArray','1301936EuxfRg','cvubE','4798614ZWAWTN','KqtnW','\x0a📦\x20OpenCode\x20Plugin\x0a','1613786hKCJnl','RXTMg','fCvPQ','https://opencode.ai/config.json','log'];_0x304e=function(){return _0x412fa5;};return _0x304e();}import{getOpencodeConfigDir}from'../utils/opencodeConfig.js';export async function ensureOpencodePluginConfig(_0x5c77ab){const _0x53f84a=_0x4870,_0x1cf2bd={'RXTMg':function(_0x518513,_0x5ec461,_0x1667a1){return _0x518513(_0x5ec461,_0x1667a1);},'iJzdy':'project','cvubE':'opencode.json','KqtnW':'user','UbDys':_0x53f84a(0x200),'PapGy':function(_0x433d42,_0x1ccece){return _0x433d42(_0x1ccece);},'JYPFm':function(_0x5c026c,_0x1bee03){return _0x5c026c(_0x1bee03);},'eodGB':_0x53f84a(0x201),'gmErI':function(_0x3f3d80,_0x4a6244){return _0x3f3d80(_0x4a6244);},'fCvPQ':function(_0x453721,_0x3dd6b2){return _0x453721+_0x3dd6b2;}},_0x50c3d5=existsSync(_0x1cf2bd[_0x53f84a(0x1f3)](join,getOpencodeConfigDir(_0x1cf2bd[_0x53f84a(0x1fc)]),_0x1cf2bd[_0x53f84a(0x1ee)]));let _0x313f6c;if(_0x5c77ab)_0x313f6c=_0x5c77ab;else{if(_0x50c3d5)_0x313f6c='project';else{console[_0x53f84a(0x1f6)](_0x53f84a(0x1f1));const _0x6c386=await _0x3f24a5['prompt']([{'type':_0x53f84a(0x1fb),'name':_0x53f84a(0x206),'message':'Where\x20should\x20the\x20plugin\x20be\x20installed?','choices':[{'name':'User\x20(available\x20in\x20all\x20your\x20projects)','value':_0x1cf2bd[_0x53f84a(0x1f0)]},{'name':_0x1cf2bd['UbDys'],'value':_0x53f84a(0x204)}],'default':_0x1cf2bd['KqtnW']}]);_0x313f6c=_0x6c386[_0x53f84a(0x206)];}}const _0x15200b=_0x1cf2bd[_0x53f84a(0x1f3)](join,_0x1cf2bd[_0x53f84a(0x1fd)](getOpencodeConfigDir,_0x313f6c),_0x1cf2bd['cvubE']),_0x104b55='@ranger-testing/opencode-plugin',_0x5d2976=_0x53f84a(0x1f5);let _0x5cc05c={};if(_0x1cf2bd['JYPFm'](existsSync,_0x15200b))try{const _0x31d48c=await _0x1cf2bd['RXTMg'](readFile,_0x15200b,_0x53f84a(0x1fe));_0x5cc05c=JSON[_0x53f84a(0x1f8)](_0x31d48c);}catch(_0x3ac7f3){return console[_0x53f84a(0x1f9)](_0x53f84a(0x205)),{'configured':![],'scope':_0x313f6c,'error':_0x1cf2bd['eodGB'],'details':_0x3ac7f3};}const _0x2850fe=Array[_0x53f84a(0x1ec)](_0x5cc05c[_0x53f84a(0x1f7)])?_0x5cc05c[_0x53f84a(0x1f7)]:[];if(_0x2850fe['includes'](_0x104b55))return console[_0x53f84a(0x1f6)]('✓\x20OpenCode\x20plugin\x20already\x20configured'),{'configured':![],'scope':_0x313f6c};return _0x5cc05c['$schema']=_0x5cc05c['$schema']||_0x5d2976,_0x5cc05c[_0x53f84a(0x1f7)]=[..._0x2850fe,_0x104b55],await mkdir(_0x1cf2bd['gmErI'](getOpencodeConfigDir,_0x313f6c),{'recursive':!![]}),await _0x1cf2bd[_0x53f84a(0x1f3)](writeFile,_0x15200b,_0x1cf2bd[_0x53f84a(0x1f4)](JSON['stringify'](_0x5cc05c,null,0x2),'\x0a')),console['log']('✓\x20OpenCode\x20plugin\x20configured'),{'configured':!![],'scope':_0x313f6c};}
1
+ (function(_0x19ea43,_0x137f08){const _0x96528b=_0x4db7,_0x189db8=_0x19ea43();while(!![]){try{const _0x20757a=-parseInt(_0x96528b(0x16c))/0x1+-parseInt(_0x96528b(0x15b))/0x2+parseInt(_0x96528b(0x169))/0x3+parseInt(_0x96528b(0x16f))/0x4*(-parseInt(_0x96528b(0x15e))/0x5)+-parseInt(_0x96528b(0x162))/0x6+parseInt(_0x96528b(0x168))/0x7+parseInt(_0x96528b(0x155))/0x8;if(_0x20757a===_0x137f08)break;else _0x189db8['push'](_0x189db8['shift']());}catch(_0xebff44){_0x189db8['push'](_0x189db8['shift']());}}}(_0xfa62,0x3828a));function _0xfa62(){const _0x1e358a=['includes','plugin','stringify','3194008RwQKoU','Project\x20(shared\x20with\x20team\x20via\x20git)','ISULo','\x0a📦\x20OpenCode\x20Plugin\x0a','opencode.json','log','71296aseKNo','jXcik','Where\x20should\x20the\x20plugin\x20be\x20installed?','860345kAZoXU','isArray','dwQpO','$schema','1083594OZfEbQ','User\x20(available\x20in\x20all\x20your\x20projects)','⚠\x20Failed\x20to\x20read\x20opencode.json.\x20Please\x20add\x20the\x20plugin\x20manually.','rncZm','user','parse','2387084iZYztD','244500hNizpK','YmMBY','project','31352dpqVIu','error','pZLMA','8sZOjpe','pluginScope','https://opencode.ai/config.json','UlfGp','@ranger-testing/opencode-plugin'];_0xfa62=function(){return _0x1e358a;};return _0xfa62();}import{join}from'path';import{existsSync}from'fs';import{mkdir,readFile,writeFile}from'fs/promises';import _0x37e26c from'inquirer';import{getOpencodeConfigDir}from'../utils/opencodeConfig.js';function _0x4db7(_0x410f5a,_0x442281){_0x410f5a=_0x410f5a-0x153;const _0xfa6221=_0xfa62();let _0x4db7bc=_0xfa6221[_0x410f5a];return _0x4db7bc;}export async function ensureOpencodePluginConfig(_0x2e91cb){const _0x38dd3a=_0x4db7,_0x3d0df7={'dwQpO':function(_0x13c892,_0x17fb34){return _0x13c892(_0x17fb34);},'inRSH':function(_0x335ddf,_0x197316,_0x189b68){return _0x335ddf(_0x197316,_0x189b68);},'YmMBY':function(_0x2d5f10,_0xabd421){return _0x2d5f10(_0xabd421);},'ISULo':_0x38dd3a(0x16b),'rncZm':_0x38dd3a(0x158),'kZnMs':_0x38dd3a(0x170),'eIMTt':'user','UlfGp':_0x38dd3a(0x159),'zIQwm':_0x38dd3a(0x171),'jXcik':_0x38dd3a(0x164),'pZLMA':'✓\x20OpenCode\x20plugin\x20already\x20configured','nfZoN':function(_0x59ac76,_0x285f69){return _0x59ac76(_0x285f69);},'DYwBk':function(_0x13370b,_0xc6f5c4){return _0x13370b+_0xc6f5c4;},'jzOnY':'✓\x20OpenCode\x20plugin\x20configured'},_0x308f24=_0x3d0df7[_0x38dd3a(0x160)](existsSync,_0x3d0df7['inRSH'](join,_0x3d0df7[_0x38dd3a(0x16a)](getOpencodeConfigDir,_0x3d0df7[_0x38dd3a(0x157)]),'opencode.json'));let _0x39a487;if(_0x2e91cb)_0x39a487=_0x2e91cb;else{if(_0x308f24)_0x39a487=_0x3d0df7['ISULo'];else{console['log'](_0x3d0df7[_0x38dd3a(0x165)]);const _0x58a392=await _0x37e26c['prompt']([{'type':'list','name':_0x3d0df7['kZnMs'],'message':_0x38dd3a(0x15d),'choices':[{'name':_0x38dd3a(0x163),'value':_0x3d0df7['eIMTt']},{'name':_0x38dd3a(0x156),'value':_0x38dd3a(0x16b)}],'default':_0x38dd3a(0x166)}]);_0x39a487=_0x58a392['pluginScope'];}}const _0x359203=_0x3d0df7['inRSH'](join,getOpencodeConfigDir(_0x39a487),_0x3d0df7[_0x38dd3a(0x172)]),_0x50920c=_0x38dd3a(0x173),_0xc651be=_0x3d0df7['zIQwm'];let _0xd689bf={};if(existsSync(_0x359203))try{const _0x8af09a=await readFile(_0x359203,'utf-8');_0xd689bf=JSON[_0x38dd3a(0x167)](_0x8af09a);}catch(_0x2ee0bc){return console[_0x38dd3a(0x16d)](_0x3d0df7[_0x38dd3a(0x15c)]),{'configured':![],'scope':_0x39a487,'error':'Failed\x20to\x20read\x20opencode.json','details':_0x2ee0bc};}const _0x640b7c=Array[_0x38dd3a(0x15f)](_0xd689bf['plugin'])?_0xd689bf[_0x38dd3a(0x153)]:[];if(_0x640b7c[_0x38dd3a(0x174)](_0x50920c))return console['log'](_0x3d0df7[_0x38dd3a(0x16e)]),{'configured':![],'scope':_0x39a487};return _0xd689bf[_0x38dd3a(0x161)]=_0xd689bf[_0x38dd3a(0x161)]||_0xc651be,_0xd689bf[_0x38dd3a(0x153)]=[..._0x640b7c,_0x50920c],await mkdir(_0x3d0df7['nfZoN'](getOpencodeConfigDir,_0x39a487),{'recursive':!![]}),await _0x3d0df7['inRSH'](writeFile,_0x359203,_0x3d0df7['DYwBk'](JSON[_0x38dd3a(0x154)](_0xd689bf,null,0x2),'\x0a')),console[_0x38dd3a(0x15a)](_0x3d0df7['jzOnY']),{'configured':!![],'scope':_0x39a487};}
@@ -1 +1 @@
1
- (function(_0x1effe6,_0x4f8cc4){const _0x280a36=_0x16bc,_0x38c651=_0x1effe6();while(!![]){try{const _0x2667cb=parseInt(_0x280a36(0x8d))/0x1*(-parseInt(_0x280a36(0xa8))/0x2)+-parseInt(_0x280a36(0x79))/0x3+parseInt(_0x280a36(0x90))/0x4+parseInt(_0x280a36(0xab))/0x5+parseInt(_0x280a36(0x8b))/0x6+-parseInt(_0x280a36(0x75))/0x7+-parseInt(_0x280a36(0x71))/0x8*(-parseInt(_0x280a36(0x7d))/0x9);if(_0x2667cb===_0x4f8cc4)break;else _0x38c651['push'](_0x38c651['shift']());}catch(_0x989511){_0x38c651['push'](_0x38c651['shift']());}}}(_0x342d,0x28aa7));import{mkdir,readFile,readdir}from'fs/promises';import{join}from'path';function _0x16bc(_0x5f4aa6,_0x3deeac){_0x5f4aa6=_0x5f4aa6-0x6b;const _0x342de9=_0x342d();let _0x16bc1b=_0x342de9[_0x5f4aa6];return _0x16bc1b;}import{existsSync}from'fs';import{authenticate,ensureRangerDir,ensureChromium,writeRangerGitignore}from'./start.js';import{skillup}from'./skillup.js';import{getRangerDir}from'./utils/rangerRoot.js';import{writeActiveProfileName}from'./utils/activeProfile.js';import{saveSettings}from'./utils/settings.js';import{decrypt}from'./utils/crypto.js';import{getToken}from'./utils/keychain.js';function _0x342d(){const _0x53c5ef=['LZdSP','243EpGAUA','ijNJx','--scope','807128fMvNRE','filter','\x0a✅\x20Ranger\x20CI\x20setup\x20complete!\x0a','UCSZu','auth.json','ThZRP','rLQtU','Zzpmx','Failed\x20to\x20verify\x20encrypted\x20auth\x20for\x20profile\x20\x22','profile','cFNoL','You\x20can\x20install\x20manually:\x20claude\x20plugin\x20marketplace\x20add\x20ranger-testing/trailhead','log','ranger@trailhead','✓\x20Claude\x20Code\x20plugin\x20installed','mZAoX','isDirectory','kxUAP','length','marketplace','CI\x20profile\x20\x22','aiuKR','Failed\x20to\x20install\x20plugin:','name','50tnnOCi','GEZuq','QUklO','1634565GmEZfG','AQJqL','MYejQ','skills','oElso','Installing\x20Claude\x20Code\x20plugin\x20(project\x20level)...','chromium','plugin','project','Or\x20specify\x20a\x20profile\x20name\x20with\x20--profile\x20and\x20--base-url\x20to\x20create\x20one.','fBvXo','error','388376JEqyFl','\x22:\x20','dmblr','✓\x20Encrypted\x20auth\x20verified\x20(will\x20decrypt\x20at\x20runtime)','1134497QahnKJ','KeACK','dir_setup','aKajr','961512UeoFgj','success','Auto-detected\x20CI\x20profile:\x20','PbQIi','9lEyckD','auth','✓\x20Marketplace\x20already\x20added','trackPhaseEnd','No\x20CI\x20profiles\x20found\x20in\x20.ranger/ci/.\x20Create\x20one\x20first\x20with:\x20ranger\x20profile\x20add\x20<name>\x20--ci\x0a','OuNTC','trackPhaseStart','No\x20API\x20token\x20available\x20for\x20decryption','No\x20CI\x20profiles\x20found.\x20Create\x20one\x20first\x20with:\x20ranger\x20profile\x20add\x20<name>\x20--ci\x0a','Ytomk','message','lVAzx','ZuGMj','.\x20Use\x20--profile\x20to\x20specify\x20which\x20one.','467850PuGLkG'];_0x342d=function(){return _0x53c5ef;};return _0x342d();}import{runClaudeCommand,isMarketplaceAdded,isPluginInstalled}from'./utils/claudePlugin.js';import{getProjectRoot}from'./utils/claudeConfig.js';async function findCiProfile(_0x20f30a){const _0x14e90e=_0x16bc,_0xde3fbc={'cFNoL':function(_0x5973de){return _0x5973de();},'ZliJe':function(_0xcfd092,_0x46a896,_0x4ee8a3){return _0xcfd092(_0x46a896,_0x4ee8a3);},'LZdSP':function(_0x17f27c,_0x487f7d){return _0x17f27c(_0x487f7d);},'QUklO':_0x14e90e(0x85),'lHdFi':_0x14e90e(0x6e),'PbQIi':function(_0x40b025,_0x3dd1d7,_0x4214b7){return _0x40b025(_0x3dd1d7,_0x4214b7);},'ijNJx':function(_0x4aecb9,_0x26392f){return _0x4aecb9===_0x26392f;}},_0x3406c3=_0xde3fbc[_0x14e90e(0x9a)](getRangerDir),_0x493e6c=_0xde3fbc['ZliJe'](join,_0x3406c3,'ci');if(_0x20f30a){const _0x597ccc=join(_0x493e6c,_0x20f30a);return{'name':_0x20f30a,'path':_0x597ccc};}if(!_0xde3fbc[_0x14e90e(0x8c)](existsSync,_0x493e6c))throw new Error(_0xde3fbc[_0x14e90e(0xaa)]+_0xde3fbc['lHdFi']);const _0x23642d=await _0xde3fbc[_0x14e90e(0x7c)](readdir,_0x493e6c,{'withFileTypes':!![]}),_0xf0cf90=_0x23642d[_0x14e90e(0x91)](_0x3515b6=>_0x3515b6[_0x14e90e(0xa0)]())['map'](_0x238206=>_0x238206['name']);if(_0xde3fbc[_0x14e90e(0x8e)](_0xf0cf90['length'],0x0))throw new Error(_0x14e90e(0x81)+_0xde3fbc['lHdFi']);if(_0xf0cf90[_0x14e90e(0xa2)]===0x1){const _0x389f59=_0xf0cf90[0x0];return console[_0x14e90e(0x9c)](_0x14e90e(0x7b)+_0x389f59),{'name':_0x389f59,'path':join(_0x493e6c,_0x389f59)};}throw new Error('Multiple\x20CI\x20profiles\x20found:\x20'+_0xf0cf90['join'](',\x20')+_0x14e90e(0x8a));}async function installPluginNonInteractive(){const _0xdf4b36=_0x16bc,_0x5b84e7={'MYejQ':function(_0x2d7507,_0x3a4e0e){return _0x2d7507(_0x3a4e0e);},'rLQtU':_0xdf4b36(0x9d),'mPxdd':'✓\x20Claude\x20Code\x20plugin\x20already\x20installed','fBvXo':_0xdf4b36(0xb0),'GEZuq':'trailhead','QwasI':'add','Zzpmx':'Failed\x20to\x20add\x20marketplace:','Nlbrx':_0xdf4b36(0x9b),'gmJpQ':function(_0x104bbf,_0x24a48f,_0x468645){return _0x104bbf(_0x24a48f,_0x468645);},'oElso':'plugin','nmNeL':_0xdf4b36(0x8f),'OuNTC':'project','ZZFon':function(_0x54b4a9){return _0x54b4a9();},'TUDmC':_0xdf4b36(0x9e)},_0x1b6b08=await _0x5b84e7['MYejQ'](isPluginInstalled,_0x5b84e7[_0xdf4b36(0x96)]);if(_0x1b6b08)return console['log'](_0x5b84e7['mPxdd']),![];console['log'](_0x5b84e7[_0xdf4b36(0x6f)]);const _0x3b724c=await isMarketplaceAdded(_0x5b84e7[_0xdf4b36(0xa9)]);let _0x5f95f6=_0x3b724c;if(_0x3b724c)console['log'](_0xdf4b36(0x7f));else{const _0x50938e=await _0x5b84e7[_0xdf4b36(0xad)](runClaudeCommand,[_0xdf4b36(0x6c),_0xdf4b36(0xa3),_0x5b84e7['QwasI'],'ranger-testing/trailhead']);!_0x50938e['success']?(console['error'](_0x5b84e7[_0xdf4b36(0x97)],_0x50938e['error']),console['log'](_0x5b84e7['Nlbrx'])):_0x5f95f6=!![];}if(_0x5f95f6){const _0x36157b=await _0x5b84e7['gmJpQ'](runClaudeCommand,[_0x5b84e7[_0xdf4b36(0xaf)],'install',_0x5b84e7[_0xdf4b36(0x96)],_0x5b84e7['nmNeL'],_0x5b84e7[_0xdf4b36(0x82)]],{'cwd':_0x5b84e7['ZZFon'](getProjectRoot)});!_0x36157b[_0xdf4b36(0x7a)]?(console[_0xdf4b36(0x70)](_0xdf4b36(0xa6),_0x36157b['error']),console['log']('You\x20can\x20install\x20manually:\x20claude\x20plugin\x20install\x20ranger@trailhead\x20--scope\x20project')):console['log'](_0x5b84e7['TUDmC']);}return!![];}export async function setupCi(_0x56b0ae,_0x5ee549,_0x3b21e2){const _0x5d6b2b=_0x16bc,_0x445ab0={'WBtrC':_0x5d6b2b(0x7e),'hrjnH':_0x5d6b2b(0x77),'KeACK':function(_0xe550db){return _0xe550db();},'UCSZu':'sessions','Ytomk':function(_0x4715a1,_0x2b2a1c){return _0x4715a1(_0x2b2a1c);},'AQJqL':function(_0x27c896,_0x593650,_0x347427){return _0x27c896(_0x593650,_0x347427);},'ThZRP':'✓\x20Skipping\x20Chromium\x20check\x20(--skip-chromium)','mZAoX':_0x5d6b2b(0x6b),'dmblr':function(_0x22a977,_0x27a640){return _0x22a977(_0x27a640);},'uWGin':'settings.json','CdFpl':_0x5d6b2b(0x94),'ZuGMj':'auth.json.enc','aiuKR':function(_0x51a49c,_0x34094d){return _0x51a49c(_0x34094d);},'kxUAP':_0x5d6b2b(0x84),'PGtrw':'\x20\x20No\x20auth\x20state\x20found\x20(app\x20may\x20not\x20require\x20authentication)','aKajr':_0x5d6b2b(0x6c),'lVAzx':_0x5d6b2b(0xae)};console['log']('\x0a🔧\x20Ranger\x20CI\x20Setup\x0a'),_0x3b21e2?.['trackPhaseStart'](_0x445ab0['WBtrC']),await authenticate(_0x56b0ae),_0x3b21e2?.[_0x5d6b2b(0x80)]('auth'),_0x3b21e2?.[_0x5d6b2b(0x83)](_0x445ab0['hrjnH']);const {path:_0x1fea0d,installed:_0x5add9a}=await _0x445ab0[_0x5d6b2b(0x76)](ensureRangerDir);await writeRangerGitignore(_0x1fea0d);const _0x12885f=join(_0x1fea0d,_0x445ab0[_0x5d6b2b(0x93)]);!_0x445ab0[_0x5d6b2b(0x86)](existsSync,_0x12885f)&&await _0x445ab0[_0x5d6b2b(0xac)](mkdir,_0x12885f,{'recursive':!![]});_0x3b21e2?.[_0x5d6b2b(0x80)](_0x445ab0['hrjnH'],{'installed':_0x5add9a}),_0x3b21e2?.[_0x5d6b2b(0x83)](_0x5d6b2b(0x6b));let _0x51cb47=![];_0x5ee549?.['skipChromium']?console['log'](_0x445ab0[_0x5d6b2b(0x95)]):_0x51cb47=await ensureChromium();_0x3b21e2?.[_0x5d6b2b(0x80)](_0x445ab0[_0x5d6b2b(0x9f)],{'installed':_0x51cb47,'skipped':!!_0x5ee549?.['skipChromium']}),_0x3b21e2?.['trackPhaseStart']('profile_activate');const _0x3a9a4b=await _0x445ab0[_0x5d6b2b(0x73)](findCiProfile,_0x5ee549?.[_0x5d6b2b(0x99)]);let _0x2ce20d=![];_0x5ee549?.['baseUrl']&&(await mkdir(_0x3a9a4b['path'],{'recursive':!![]}),await _0x445ab0['AQJqL'](saveSettings,_0x3a9a4b[_0x5d6b2b(0xa7)],{'baseUrl':_0x5ee549['baseUrl'],'headless':!![]}),console[_0x5d6b2b(0x9c)]('✓\x20Created\x20profile\x20settings:\x20baseUrl='+_0x5ee549['baseUrl']),_0x2ce20d=!![]);const _0x59a334=join(_0x3a9a4b['path'],_0x445ab0['uWGin']);if(!existsSync(_0x59a334)&&!_0x2ce20d)throw new Error(_0x5d6b2b(0xa4)+_0x3a9a4b['name']+'\x22\x20has\x20no\x20settings.json.\x20Use\x20--base-url\x20to\x20configure\x20it.');const _0x17d60a=join(_0x3a9a4b['path'],_0x445ab0['CdFpl']),_0x31a9e1=_0x445ab0['AQJqL'](join,_0x3a9a4b['path'],_0x445ab0[_0x5d6b2b(0x89)]),_0x37977d=existsSync(_0x17d60a),_0x561b72=_0x445ab0[_0x5d6b2b(0xa5)](existsSync,_0x31a9e1);if(_0x561b72)try{const _0x1af316=await getToken();if(!_0x1af316)throw new Error(_0x445ab0[_0x5d6b2b(0xa1)]);const _0x1796ff=await _0x445ab0[_0x5d6b2b(0xa5)](readFile,_0x31a9e1);decrypt(_0x1796ff,_0x1af316),console[_0x5d6b2b(0x9c)](_0x5d6b2b(0x74));}catch(_0x38c8af){const _0x19b316=_0x38c8af instanceof Error?_0x38c8af[_0x5d6b2b(0x87)]:String(_0x38c8af);throw new Error(_0x5d6b2b(0x98)+_0x3a9a4b['name']+_0x5d6b2b(0x72)+_0x19b316);}else _0x37977d?console['log']('✓\x20Auth\x20state\x20found'):console['log'](_0x445ab0['PGtrw']);await writeActiveProfileName(_0x3a9a4b[_0x5d6b2b(0xa7)]),console['log']('✓\x20Active\x20profile:\x20'+_0x3a9a4b[_0x5d6b2b(0xa7)]),_0x3b21e2?.['trackPhaseEnd']('profile_activate',{'profileName':_0x3a9a4b['name'],'hasAuth':_0x37977d,'hasEncryptedAuth':_0x561b72,'createdSettings':_0x2ce20d}),_0x3b21e2?.['trackPhaseStart'](_0x445ab0['aKajr']);const _0x5e5d80=await _0x445ab0['KeACK'](installPluginNonInteractive);_0x3b21e2?.['trackPhaseEnd'](_0x445ab0[_0x5d6b2b(0x78)],{'installed':_0x5e5d80}),_0x3b21e2?.['trackPhaseStart']('skills'),await skillup({'autoInstall':_0x5d6b2b(0x6d)}),_0x3b21e2?.['trackPhaseEnd'](_0x445ab0[_0x5d6b2b(0x88)]),console['log'](_0x5d6b2b(0x92));}
1
+ function _0x19a4(_0x1b8667,_0x130e0f){_0x1b8667=_0x1b8667-0x94;var _0x4298d3=_0x4298();var _0x19a4a3=_0x4298d3[_0x1b8667];return _0x19a4a3;}(function(_0x579db9,_0x5c99ce){var _0x7333f7=_0x19a4,_0x5baa87=_0x579db9();while(!![]){try{var _0x388e38=-parseInt(_0x7333f7(0x94))/0x1*(parseInt(_0x7333f7(0x99))/0x2)+-parseInt(_0x7333f7(0x95))/0x3*(-parseInt(_0x7333f7(0xa1))/0x4)+parseInt(_0x7333f7(0x9d))/0x5+-parseInt(_0x7333f7(0xa2))/0x6*(parseInt(_0x7333f7(0x9b))/0x7)+-parseInt(_0x7333f7(0x96))/0x8*(-parseInt(_0x7333f7(0x97))/0x9)+parseInt(_0x7333f7(0x98))/0xa+-parseInt(_0x7333f7(0x9f))/0xb*(parseInt(_0x7333f7(0xa0))/0xc);if(_0x388e38===_0x5c99ce)break;else _0x5baa87['push'](_0x5baa87['shift']());}catch(_0x436a58){_0x5baa87['push'](_0x5baa87['shift']());}}}(_0x4298,0xb96f4));export async function setupCi(_0x4a5f8d,_0x558ed7,_0x5b824e){var _0x326b9f=_0x19a4,_0x2080bc={'xiDqZ':function(_0x55343d,_0x44e3fc){return _0x55343d+_0x44e3fc;},'zbEaV':function(_0x5d4f0c,_0x56fea6){return _0x5d4f0c+_0x56fea6;},'VGrEw':function(_0x757fd2,_0x3a1f57){return _0x757fd2+_0x3a1f57;},'XUEhn':'ranger\x20setup\x20--ci\x20writes\x20to\x20the\x20legacy\x20.ranger/ci/\x20tree\x20which\x20is\x20no\x20longer\x20supported.\x0a','GuEDW':_0x326b9f(0x9a),'PKdpk':_0x326b9f(0x9e)};console['error'](_0x2080bc[_0x326b9f(0xa3)](_0x2080bc['xiDqZ'](_0x2080bc['zbEaV'](_0x2080bc['VGrEw'](_0x2080bc['XUEhn'],'Use\x20the\x20new\x20flow:\x0a'),_0x2080bc['GuEDW']),'For\x20a\x20shared\x20cloud\x20profile:\x20ranger\x20profile\x20add\x20<account-email>\x0a'),_0x2080bc['PKdpk'])),process[_0x326b9f(0x9c)](0x1);}function _0x4298(){var _0x4ed4f8=['213507IpSyCm','422220BwHmBV','55084pRKdZe','\x20\x20RANGER_TEST_USERNAME=...\x20RANGER_TEST_PASSWORD=...\x20ranger\x20go\x20--base-url\x20<url>\x0a','77ThBqKE','exit','5068245Vcaohw','See:\x20docs/feature/cloud-profiles-old-vs-new-structure.md','175219bOEhAf','804zUuNpD','3090392wFKDze','179994hvCLRi','xiDqZ','1gTDZwc','3LtBYYl','120YuFfKP'];_0x4298=function(){return _0x4ed4f8;};return _0x4298();}
@@ -1 +1 @@
1
- (function(_0x151603,_0x1f6abc){const _0x461927=_0x5827,_0x180f8c=_0x151603();while(!![]){try{const _0x30a26b=-parseInt(_0x461927(0x1d2))/0x1+-parseInt(_0x461927(0x1b1))/0x2*(parseInt(_0x461927(0x1d3))/0x3)+-parseInt(_0x461927(0x1c7))/0x4*(-parseInt(_0x461927(0x1c6))/0x5)+parseInt(_0x461927(0x1a3))/0x6*(parseInt(_0x461927(0x1a1))/0x7)+-parseInt(_0x461927(0x1af))/0x8*(parseInt(_0x461927(0x1b9))/0x9)+-parseInt(_0x461927(0x1b5))/0xa+parseInt(_0x461927(0x1cd))/0xb*(parseInt(_0x461927(0x1b4))/0xc);if(_0x30a26b===_0x1f6abc)break;else _0x180f8c['push'](_0x180f8c['shift']());}catch(_0x1b5455){_0x180f8c['push'](_0x180f8c['shift']());}}}(_0x2124,0x9904f));import{basename}from'path';import _0x22af05 from'inquirer';function _0x5827(_0x19a94b,_0x1b167f){_0x19a94b=_0x19a94b-0x1a1;const _0x212480=_0x2124();let _0x582724=_0x212480[_0x19a94b];return _0x582724;}function _0x2124(){const _0x271d60=['❌\x20No\x20Ranger\x20API\x20token\x20found.\x0a','\x0a📦\x20Installing\x20skills...\x0a','installLevel','\x20\x203.\x20Run:\x20ranger\x20skillup','662660FPETYW','3LOTDyl','\x20\x20Failed\x20to\x20install\x20ranger\x20skill:','917WbWryl','Where\x20should\x20skills\x20be\x20installed?','23790rgDnwA','\x20successfully!\x0a','autoInstall','\x0a⚠️\x20\x20No\x20skills\x20were\x20installed.\x0a','ranger','Zhjoj','eiBrr','xhpcw','\x20\x202.\x20Run:\x20ranger\x20setup','suppressUsage','log','/skills/','770104nnpoxD','sGRoQ','1239736mApaiq','✓\x20Found\x20API\x20token','project-level','12fWadBm','7944210wlCJoI','This\x20project\x20only\x20(','\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!','0|1|5|3|2|4','63CcmAgY','nTcCQ','\x20--opencode','rreKX','platform','message','To\x20use:','PWSqY','qEEDo','soExa','\x20<your-api-token>','cYjwx','All\x20projects\x20(','5nGNsWY','1382764ZUdvMV','hUrBv','isTTY','opencode','Non-interactive\x20mode:\x20Installing\x20skills\x20at\x20project\x20level\x20(','project','27636961BxPEqr'];_0x2124=function(){return _0x271d60;};return _0x2124();}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';export async function skillup(_0x20e2a3={}){const _0x3d1365=_0x5827,_0x2a5d4d={'KbIkY':'\x0a🎯\x20Ranger\x20Skill\x20Setup\x0a','FNOOn':_0x3d1365(0x1b8),'CPXpO':'To\x20get\x20started:','soExa':function(_0x254bd0,_0x2ab42c){return _0x254bd0===_0x2ab42c;},'WIrGJ':function(_0x462965){return _0x462965();},'cYjwx':function(_0x1d9711,_0x3a771a){return _0x1d9711(_0x3a771a);},'nTcCQ':_0x3d1365(0x1ca),'Zhjoj':'user','eiBrr':'list','hUrBv':_0x3d1365(0x1d0),'dndzD':_0x3d1365(0x1a2),'sGRoQ':'project','fQUbg':function(_0x1a40f7,_0x4620d9,_0x5b5c74){return _0x1a40f7(_0x4620d9,_0x5b5c74);},'qlJtL':_0x3d1365(0x1a7),'qEEDo':function(_0x2ceb57,_0x1e4dab){return _0x2ceb57 instanceof _0x1e4dab;},'ooPaO':'user-level','PWSqY':function(_0x3716ae,_0x57faa9){return _0x3716ae>_0x57faa9;},'xhpcw':_0x3d1365(0x1bf),'rreKX':_0x3d1365(0x1a6)};console['log'](_0x2a5d4d['KbIkY']);const _0x4741f2=_0x20e2a3[_0x3d1365(0x1bd)]??'claude',_0x599488=await getToken();if(!_0x599488){const _0x4250a2=_0x2a5d4d['FNOOn']['split']('|');let _0x3fc6d4=0x0;while(!![]){switch(_0x4250a2[_0x3fc6d4++]){case'0':console[_0x3d1365(0x1ad)](_0x3d1365(0x1ce));continue;case'1':console[_0x3d1365(0x1ad)](_0x2a5d4d['CPXpO']);continue;case'2':console[_0x3d1365(0x1ad)](_0x3d1365(0x1d1)+(_0x4741f2==='opencode'?_0x3d1365(0x1bb):'')+'\x0a');continue;case'3':console['log'](_0x3d1365(0x1ab)+(_0x2a5d4d[_0x3d1365(0x1c2)](_0x4741f2,_0x3d1365(0x1ca))?_0x3d1365(0x1bb):'')+_0x3d1365(0x1c3));continue;case'4':return;case'5':console['log']('\x20\x201.\x20Get\x20your\x20API\x20token\x20from\x20https://dashboard.ranger.net/cli');continue;}break;}}console['log'](_0x3d1365(0x1b2));const _0x1d0213=_0x2a5d4d['WIrGJ'](getProjectRoot),_0x413e7b=_0x2a5d4d[_0x3d1365(0x1c4)](basename,_0x1d0213),_0x517b5f=_0x4741f2===_0x2a5d4d[_0x3d1365(0x1ba)]?_0x2a5d4d[_0x3d1365(0x1c4)](getOpencodeConfigDir,_0x2a5d4d[_0x3d1365(0x1a8)])+_0x3d1365(0x1ae):getClaudeConfigDir()+_0x3d1365(0x1ae),_0x582aef=_0x2a5d4d['soExa'](_0x4741f2,_0x2a5d4d[_0x3d1365(0x1ba)])?_0x1d0213+'/.opencode/skills/':_0x1d0213+'/.claude/skills/',_0x58f5d0=process['stdin'][_0x3d1365(0x1c9)]&&process['stdout']['isTTY'];let _0x84b29a;if(_0x20e2a3[_0x3d1365(0x1a5)])_0x84b29a=_0x20e2a3[_0x3d1365(0x1a5)];else{if(_0x58f5d0){const _0x54d6a4=await _0x22af05['prompt']([{'type':_0x2a5d4d[_0x3d1365(0x1a9)],'name':_0x2a5d4d[_0x3d1365(0x1c8)],'message':_0x2a5d4d['dndzD'],'choices':[{'name':_0x3d1365(0x1c5)+_0x517b5f+')','value':_0x2a5d4d[_0x3d1365(0x1a8)]},{'name':_0x3d1365(0x1b6)+_0x582aef+')','value':_0x2a5d4d[_0x3d1365(0x1b0)]}]}]);_0x84b29a=_0x54d6a4['installLevel'];}else _0x84b29a=_0x3d1365(0x1cc),console['log'](_0x3d1365(0x1cb)+_0x582aef+')');}let _0x5afddf=0x0;const _0xa1bd44=getCurrentVersion();console[_0x3d1365(0x1ad)](_0x3d1365(0x1cf));try{const _0x1ef94d=await _0x2a5d4d['fQUbg'](installSkill,_0x2a5d4d['qlJtL'],{'cliVersion':_0xa1bd44,'level':_0x84b29a,'platform':_0x4741f2});_0x1ef94d&&_0x5afddf++;}catch(_0x1ac01b){console['warn'](_0x3d1365(0x1d4),_0x2a5d4d[_0x3d1365(0x1c1)](_0x1ac01b,Error)?_0x1ac01b[_0x3d1365(0x1be)]:_0x1ac01b);}if(_0x5afddf>0x0){const _0x2c5777=_0x84b29a===_0x2a5d4d[_0x3d1365(0x1a8)]?_0x2a5d4d['ooPaO']:_0x3d1365(0x1b3);console['log']('\x0a✅\x20Installed\x20'+_0x5afddf+'\x20'+_0x2c5777+'\x20skill'+(_0x2a5d4d[_0x3d1365(0x1c0)](_0x5afddf,0x1)?'s':'')+_0x3d1365(0x1a4)),!_0x20e2a3[_0x3d1365(0x1ac)]&&(console['log'](_0x2a5d4d[_0x3d1365(0x1aa)]),_0x4741f2==='opencode'?console['log']('\x20\x20-\x20Start\x20OpenCode\x20and\x20run\x20the\x20`ranger_enable`\x20tool\x20to\x20enable\x20hooks.'):console['log'](_0x3d1365(0x1b7)));}else console[_0x3d1365(0x1ad)](_0x2a5d4d[_0x3d1365(0x1bc)]);}
1
+ function _0xf8f7(_0x515b0d,_0x4402ea){_0x515b0d=_0x515b0d-0xf6;const _0x3845ea=_0x3845();let _0xf8f7a0=_0x3845ea[_0x515b0d];return _0xf8f7a0;}(function(_0x833e3d,_0xd27363){const _0x4cf072=_0xf8f7,_0x2b2970=_0x833e3d();while(!![]){try{const _0x31750d=parseInt(_0x4cf072(0x123))/0x1*(parseInt(_0x4cf072(0xff))/0x2)+-parseInt(_0x4cf072(0x118))/0x3*(-parseInt(_0x4cf072(0x106))/0x4)+parseInt(_0x4cf072(0x10e))/0x5*(-parseInt(_0x4cf072(0x10a))/0x6)+-parseInt(_0x4cf072(0x10c))/0x7*(parseInt(_0x4cf072(0x110))/0x8)+-parseInt(_0x4cf072(0xf6))/0x9*(-parseInt(_0x4cf072(0x100))/0xa)+parseInt(_0x4cf072(0x114))/0xb+parseInt(_0x4cf072(0x11d))/0xc;if(_0x31750d===_0xd27363)break;else _0x2b2970['push'](_0x2b2970['shift']());}catch(_0x34474a){_0x2b2970['push'](_0x2b2970['shift']());}}}(_0x3845,0x79ca8));import{basename}from'path';import _0x1baa64 from'inquirer';import{getToken}from'./utils/keychain.js';import{installSkill}from'./utils/skills.js';import{getCurrentVersion}from'./utils/version.js';function _0x3845(){const _0x3634c3=['\x0a⚠️\x20\x20No\x20skills\x20were\x20installed.\x0a','\x20\x20-\x20Start\x20OpenCode\x20and\x20run\x20the\x20`ranger_enable`\x20tool\x20to\x20enable\x20hooks.','gYPzX','vqmLq','20238oXTawX','dvwEM','9sriaoR','BrFKC','project-level','This\x20project\x20only\x20(','VoaGj','ldgdN','user','opencode','\x0a🎯\x20Ranger\x20Skill\x20Setup\x0a','26GgrdMr','246550cnbyDt','❌\x20No\x20Ranger\x20API\x20token\x20found.\x0a','warn','claude','Mcpcq','log','972UVkJJp','/.opencode/skills/','installLevel','KgYnR','151716OlBZQo','stdout','70nMjnlq','ranger','115ITgvPr','\x20\x20Failed\x20to\x20install\x20ranger\x20skill:','503872sCKZbu','\x20skill','\x20<your-api-token>','KbNUV','4220722vSLZqF','stdin','\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!','Non-interactive\x20mode:\x20Installing\x20skills\x20at\x20project\x20level\x20(','11517nlMWnc','\x0a✅\x20Installed\x20','autoInstall','suppressUsage','To\x20get\x20started:','1271352lJrKhd','All\x20projects\x20('];_0x3845=function(){return _0x3634c3;};return _0x3845();}import{getClaudeConfigDir,getProjectRoot}from'./utils/claudeConfig.js';import{getOpencodeConfigDir}from'./utils/opencodeConfig.js';export async function skillup(_0x54f3a1={}){const _0xc624a1=_0xf8f7,_0x18e11b={'zubvu':_0xc624a1(0xfe),'VoaGj':function(_0x3e9ea0){return _0x3e9ea0();},'gkDLO':_0xc624a1(0x11c),'Mcpcq':function(_0xb05d0d,_0x1a1d43){return _0xb05d0d===_0x1a1d43;},'BrFKC':_0xc624a1(0xfd),'KbNUV':'\x20--opencode','OnQKQ':function(_0x4abb7c,_0x4fc8ac){return _0x4abb7c===_0x4fc8ac;},'srEPF':function(_0x38e7d6){return _0x38e7d6();},'KgYnR':function(_0x5d7185,_0x10d4b9){return _0x5d7185(_0x10d4b9);},'pjnVx':function(_0x9a94da){return _0x9a94da();},'PkNRH':'Where\x20should\x20skills\x20be\x20installed?','gYPzX':_0xc624a1(0xfc),'rRgHG':'project','vqmLq':_0xc624a1(0x10d),'dvwEM':_0xc624a1(0x10f),'dTXvh':function(_0x5544bc,_0x37774f){return _0x5544bc instanceof _0x37774f;},'FXJCZ':function(_0x3a7f29,_0x124f25){return _0x3a7f29>_0x124f25;},'YFzxv':'user-level','UZPJM':_0xc624a1(0xf8),'ldgdN':function(_0x16ca30,_0x3e663f){return _0x16ca30>_0x3e663f;}};console['log'](_0x18e11b['zubvu']);const _0x5788f0=_0x54f3a1['platform']??_0xc624a1(0x103),_0x2d4d0f=await _0x18e11b[_0xc624a1(0xfa)](getToken);if(!_0x2d4d0f){console['log'](_0xc624a1(0x101)),console[_0xc624a1(0x105)](_0x18e11b['gkDLO']),console['log']('\x20\x201.\x20Get\x20your\x20API\x20token\x20from\x20https://dashboard.ranger.net/cli'),console['log']('\x20\x202.\x20Run:\x20ranger\x20setup'+(_0x18e11b[_0xc624a1(0x104)](_0x5788f0,_0x18e11b[_0xc624a1(0xf7)])?_0x18e11b[_0xc624a1(0x113)]:'')+_0xc624a1(0x112)),console[_0xc624a1(0x105)]('\x20\x203.\x20Run:\x20ranger\x20skillup'+(_0x18e11b['OnQKQ'](_0x5788f0,_0x18e11b[_0xc624a1(0xf7)])?_0x18e11b[_0xc624a1(0x113)]:'')+'\x0a');return;}console['log']('✓\x20Found\x20API\x20token');const _0x128ca9=_0x18e11b['srEPF'](getProjectRoot),_0x1735a0=_0x18e11b['KgYnR'](basename,_0x128ca9),_0x3654dc=_0x5788f0===_0x18e11b[_0xc624a1(0xf7)]?_0x18e11b[_0xc624a1(0x109)](getOpencodeConfigDir,_0xc624a1(0xfc))+'/skills/':_0x18e11b['pjnVx'](getClaudeConfigDir)+'/skills/',_0x32bc2b=_0x18e11b['OnQKQ'](_0x5788f0,_0xc624a1(0xfd))?_0x128ca9+_0xc624a1(0x107):_0x128ca9+'/.claude/skills/',_0x4543e0=process[_0xc624a1(0x115)]['isTTY']&&process[_0xc624a1(0x10b)]['isTTY'];let _0x3bfde1;if(_0x54f3a1['autoInstall'])_0x3bfde1=_0x54f3a1[_0xc624a1(0x11a)];else{if(_0x4543e0){const _0x2ba52d=await _0x1baa64['prompt']([{'type':'list','name':'installLevel','message':_0x18e11b['PkNRH'],'choices':[{'name':_0xc624a1(0x11e)+_0x3654dc+')','value':_0x18e11b[_0xc624a1(0x121)]},{'name':_0xc624a1(0xf9)+_0x32bc2b+')','value':'project'}]}]);_0x3bfde1=_0x2ba52d[_0xc624a1(0x108)];}else _0x3bfde1=_0x18e11b['rRgHG'],console['log'](_0xc624a1(0x117)+_0x32bc2b+')');}let _0x302306=0x0;const _0x3f98f6=getCurrentVersion();console[_0xc624a1(0x105)]('\x0a📦\x20Installing\x20skills...\x0a');try{const _0xa2464b=await installSkill(_0x18e11b[_0xc624a1(0x122)],{'cliVersion':_0x3f98f6,'level':_0x3bfde1,'platform':_0x5788f0});_0xa2464b&&_0x302306++;}catch(_0x131d7d){console[_0xc624a1(0x102)](_0x18e11b[_0xc624a1(0x124)],_0x18e11b['dTXvh'](_0x131d7d,Error)?_0x131d7d['message']:_0x131d7d);}if(_0x18e11b['FXJCZ'](_0x302306,0x0)){const _0x3f0bd3=_0x18e11b[_0xc624a1(0x104)](_0x3bfde1,'user')?_0x18e11b['YFzxv']:_0x18e11b['UZPJM'];console['log'](_0xc624a1(0x119)+_0x302306+'\x20'+_0x3f0bd3+_0xc624a1(0x111)+(_0x18e11b[_0xc624a1(0xfb)](_0x302306,0x1)?'s':'')+'\x20successfully!\x0a'),!_0x54f3a1[_0xc624a1(0x11b)]&&(console[_0xc624a1(0x105)]('To\x20use:'),_0x5788f0==='opencode'?console['log'](_0xc624a1(0x120)):console[_0xc624a1(0x105)](_0xc624a1(0x116)));}else console[_0xc624a1(0x105)](_0xc624a1(0x11f));}
@@ -1 +1 @@
1
- function _0x4e3f(){const _0x4ed56f=['\x0ascenarios\x20describing\x20what\x20to\x20verify\x20and\x20then\x20run\x20browser','isTTY','\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','NHnKC','log','You\x20will\x20need\x20to\x20install\x20it\x20before\x20using\x20Ranger:','YsXpC','1.58.2','2148951McmXAi','Ecncy','QcBjb','rRQIT','\x0aTo\x20verify\x20with\x20a\x20browser,\x20set\x20','skipAuth','/ranger:enable','\x0a\x20\x20config\x20uses\x20username+password).\x20Orgs\x20on\x20SSO/SAML/OAuth','with\x20scenarios\x20describing\x20what\x20to\x20verify\x20and\x20then\x20run\x20browser','stdin','660078ROmlAf','opencode','VkIkm','✓\x20Authenticated\x20to\x20','Installation\x20failed\x20with\x20exit\x20code\x20','user','\x20install\x20chromium','env','225pHkcjw','install','and\x20prompt\x20the\x20agent\x20like\x20usual.\x20Ranger\x20will\x20create\x20a\x20feature\x20review','1337280wCydsn','\x20now?','194256OBhJiu','6756DYRHeG','platform','ZHFVK','rUlcT','stdout','trackPhaseStart','192092vVBLBf','status','noIYV','\x0aNon-interactive\x20mode:\x20Auto-installing\x20Playwright\x20Chromium\x20','local','SEpzC','\x20when\x20the\x20org\x27s\x20login','Could\x20not\x20determine\x20local\x20Playwright\x20version.\x20Install\x20Playwright\x20Chromium\x20using\x20fallback\x20version\x20','✓\x20Local\x20profile\x20already\x20exists','RANGER_TEST_PASSWORD',')\x20of\x20the\x20Playwright\x20Chromium\x20browser\x20is\x20not\x20installed.\x20Install\x20it\x20now?','63379rwYrlx','skills','WXOHu','lykJH','auth','eJhwN','message','device_auth','\x20and\x20prompt\x20the\x20coding','url','24IolsCF','trackPhaseEnd','RwQmC','✓\x20Skipping\x20Chromium\x20check\x20(--skip-chromium)','zUbTU','NyeLt','YACxv','\x20for\x20explicit\x20profile\x20management).','skipChromium','\x0a✅\x20Ranger\x20setup\x20complete!\x0a','method','Authentication\x20failed:\x20','provided_token','\x0a🚀\x20Ranger\x20Setup\x0a','Failed\x20to\x20validate\x20provisioned\x20API\x20key:\x20','✓\x20Exported\x20credentials\x20for\x20CI','\x0aagent\x20like\x20usual.\x20Claude\x20will\x20create\x20a\x20feature\x20review\x20with','organizationName','\x0a❌\x20Failed\x20to\x20install\x20Chromium:','.gitignore','playwright@','✓\x20Skipping\x20authentication\x20(--skip-auth)','ranger','kHHsH','xJsIM','\x0aInstalling\x20Chromium\x20browser...\x0a','success','DxUpz','mhiea','rnxSI','\x1b[1m','QbeZv','\x0aIn\x20OpenCode,\x20enable\x20Ranger\x20hooks\x20(run\x20the\x20`ranger_enable`\x20tool)','scope','skipped','plugin','RANGER_TEST_USERNAME','✓\x20Already\x20authenticated\x20to\x20','UEjXE','error','profile','EXHBQ','kkwAC','confirm','wgksS'];_0x4e3f=function(){return _0x4ed56f;};return _0x4e3f();}const _0x247e97=_0x5490;(function(_0x5df38c,_0x9d36cb){const _0x3c6269=_0x5490,_0x2d6157=_0x5df38c();while(!![]){try{const _0x4a6936=parseInt(_0x3c6269(0x14b))/0x1+parseInt(_0x3c6269(0x140))/0x2+parseInt(_0x3c6269(0x134))/0x3*(-parseInt(_0x3c6269(0x13a))/0x4)+parseInt(_0x3c6269(0x137))/0x5+-parseInt(_0x3c6269(0x139))/0x6+-parseInt(_0x3c6269(0x122))/0x7+parseInt(_0x3c6269(0x155))/0x8*(parseInt(_0x3c6269(0x12c))/0x9);if(_0x4a6936===_0x9d36cb)break;else _0x2d6157['push'](_0x2d6157['shift']());}catch(_0x309597){_0x2d6157['push'](_0x2d6157['shift']());}}}(_0x4e3f,0x2c27f));import{mkdir,writeFile}from'fs/promises';import{join}from'path';import{existsSync}from'fs';import{createRequire}from'module';import{spawn}from'child_process';import _0x7f59bd from'inquirer';function _0x5490(_0x47dd6b,_0x2605a5){_0x47dd6b=_0x47dd6b-0x11f;const _0x4e3f3a=_0x4e3f();let _0x54907a=_0x4e3f3a[_0x47dd6b];return _0x54907a;}import{getToken,storeToken}from'./utils/keychain.js';import{getCurrentUser}from'./utils/userApi.js';import{chromium}from'playwright';import{addEnv}from'./addEnv.js';import{getRangerHomeDir,findGitRoot}from'./utils/rangerRoot.js';import{runDeviceAuthFlow}from'./utils/deviceAuth.js';import{findExistingEnv}from'./utils/settings.js';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=_0x247e97(0x121);const bold=_0x587ff9=>_0x247e97(0x173)+_0x587ff9+'\x1b[0m';export function getPlaywrightVersion(){const _0x3bac06=_0x247e97,_0x48e684={'ZHFVK':'playwright/package.json'};try{const _0x27b8ff=require['resolve'](_0x48e684[_0x3bac06(0x13c)]),_0xbfb1ce=require(_0x27b8ff);return _0xbfb1ce['version'];}catch{return null;}}export function installChromiumBinary(_0x499dbd,_0x352f42=![]){const _0x252102=_0x247e97,_0x408675={'ITNdJ':function(_0x55efcc,_0x32d384){return _0x55efcc===_0x32d384;},'HdXZZ':_0x252102(0x135),'gmOxn':'chromium','kHHsH':function(_0x290931,_0x186e91,_0x38d8fe,_0x1c1edd){return _0x290931(_0x186e91,_0x38d8fe,_0x1c1edd);},'ueVcz':'ignore','eJhwN':function(_0x4f8e30,_0xd7efcc){return _0x4f8e30===_0xd7efcc;},'PDgIy':'error'};return new Promise((_0x547abb,_0x425f94)=>{const _0x29c33c=_0x252102,_0x5549d8=[_0x29c33c(0x169)+_0x499dbd,_0x408675['HdXZZ'],..._0x352f42?['--with-deps']:[],_0x408675['gmOxn']],_0x3d9e66=_0x408675[_0x29c33c(0x16c)](spawn,'npx',_0x5549d8,{'stdio':[_0x408675['ueVcz'],'inherit','inherit'],'shell':_0x408675[_0x29c33c(0x150)](process[_0x29c33c(0x13b)],'win32')});_0x3d9e66['on']('close',_0x47f646=>{const _0x5acaed=_0x29c33c;_0x408675['ITNdJ'](_0x47f646,0x0)?_0x547abb():_0x425f94(new Error(_0x5acaed(0x130)+_0x47f646));}),_0x3d9e66['on'](_0x408675['PDgIy'],_0x154580=>{_0x425f94(_0x154580);});});}export async function authenticate(_0x2c6f25){const _0x34b0ab=_0x247e97,_0x458925={'VkIkm':function(_0x5e11b9,_0x19ef5e){return _0x5e11b9 instanceof _0x19ef5e;},'SeglX':'Validating\x20API\x20token...','wgksS':function(_0x482f9e,_0xd6bdeb){return _0x482f9e(_0xd6bdeb);},'NyeLt':_0x34b0ab(0x164),'rUlcT':_0x34b0ab(0x161)};if(!_0x2c6f25){const _0x51d72f=await getToken();if(_0x51d72f){const _0x236daa=await getCurrentUser(_0x51d72f);if(_0x236daa[_0x34b0ab(0x16f)])return console['log'](_0x34b0ab(0x17a)+_0x236daa[_0x34b0ab(0x131)][_0x34b0ab(0x166)]),{'token':_0x51d72f,'method':'existing_token'};}try{_0x2c6f25=await runDeviceAuthFlow();}catch(_0x31d9a5){throw new Error(_0x34b0ab(0x160)+(_0x458925[_0x34b0ab(0x12e)](_0x31d9a5,Error)?_0x31d9a5[_0x34b0ab(0x151)]:_0x31d9a5));}const _0x367c74=await getCurrentUser(_0x2c6f25);if(!_0x367c74['success'])throw new Error(_0x34b0ab(0x163)+_0x367c74[_0x34b0ab(0x17c)]);return console['log'](_0x34b0ab(0x12f)+_0x367c74[_0x34b0ab(0x131)][_0x34b0ab(0x166)]),{'token':_0x2c6f25,'method':_0x34b0ab(0x152)};}console['log'](_0x458925['SeglX']);const _0x362ab8=await _0x458925[_0x34b0ab(0x181)](getCurrentUser,_0x2c6f25);if(!_0x362ab8[_0x34b0ab(0x16f)]){if(_0x362ab8[_0x34b0ab(0x141)])throw new Error(_0x34b0ab(0x160)+_0x362ab8['error']+'.\x20Please\x20check\x20your\x20API\x20token\x20and\x20try\x20again.');else throw new Error('Failed\x20to\x20connect\x20to\x20MCP\x20server:\x20'+_0x362ab8['error']+'.\x20Please\x20check\x20your\x20network\x20connection\x20and\x20server\x20URL.');}return console['log'](_0x34b0ab(0x12f)+_0x362ab8['user']['organizationName']),await storeToken(_0x2c6f25),console[_0x34b0ab(0x186)](process[_0x34b0ab(0x133)]['GITHUB_ENV']?_0x458925[_0x34b0ab(0x15a)]:'✓\x20Stored\x20credentials\x20locally'),{'token':_0x2c6f25,'method':_0x458925[_0x34b0ab(0x13d)]};}export async function ensureRangerDir(_0x59114e){const _0x4c1ff4=_0x247e97,_0x1ffdd0={'MaakV':function(_0x1877d8,_0x17fe95){return _0x1877d8(_0x17fe95);},'XXDvQ':'✓\x20~/.ranger/\x20directory\x20already\x20exists'};void _0x59114e;const _0x1a31bb=getRangerHomeDir();return!_0x1ffdd0['MaakV'](existsSync,_0x1a31bb)?(await mkdir(_0x1a31bb,{'recursive':!![]}),console[_0x4c1ff4(0x186)]('✓\x20Created\x20~/.ranger/\x20directory'),{'path':_0x1a31bb,'installed':!![]}):(console[_0x4c1ff4(0x186)](_0x1ffdd0['XXDvQ']),{'path':_0x1a31bb,'installed':![]});}export async function ensureChromium(_0x4e0f87=![]){const _0x5c96b0=_0x247e97,_0x3053cb={'rRQIT':function(_0x2da40d,_0x574288){return _0x2da40d(_0x574288);},'lpIls':function(_0x34b914,_0x5ba43b){return _0x34b914??_0x5ba43b;},'sNUoS':_0x5c96b0(0x135),'zUbTU':_0x5c96b0(0x16e),'eiiNp':function(_0x4b77a5,_0x4871f,_0xf819ac){return _0x4b77a5(_0x4871f,_0xf819ac);},'SEpzC':'\x0a✓\x20Playwright\x20Chromium\x20installed\x20successfully','DxUpz':_0x5c96b0(0x167),'Bzxlk':function(_0x125dee,_0x3a8ca8){return _0x125dee instanceof _0x3a8ca8;},'VCqlx':'You\x20can\x20install\x20it\x20manually\x20by\x20running:','QbeZv':'\x0a⚠\x20Skipping\x20Chromium\x20installation.'};let _0x491dfc=![];try{const _0xcbb870=chromium['executablePath']();_0x491dfc=_0x3053cb[_0x5c96b0(0x125)](existsSync,_0xcbb870);}catch{_0x491dfc=![];}if(_0x491dfc)return console['log']('✓\x20Playwright\x20Chromium\x20browser\x20found'),![];const _0x36640f=getPlaywrightVersion(),_0x52eee3=_0x3053cb['lpIls'](_0x36640f,PLAYWRIGHT_CHROMIUM_INSTALL_FALLBACK_VERSION),_0x1bb52f=!_0x36640f,_0xb56a24=process[_0x5c96b0(0x12b)][_0x5c96b0(0x183)]&&process[_0x5c96b0(0x13e)][_0x5c96b0(0x183)];let _0x2193e5=!![];if(_0xb56a24){const {install:_0x46d3b9}=await _0x7f59bd['prompt']([{'type':_0x5c96b0(0x180),'name':_0x3053cb['sNUoS'],'message':_0x1bb52f?_0x5c96b0(0x147)+_0x52eee3+_0x5c96b0(0x138):'The\x20required\x20version\x20('+_0x52eee3+_0x5c96b0(0x14a),'default':!![]}]);_0x2193e5=_0x46d3b9;}else console['log'](_0x5c96b0(0x143)+_0x52eee3+(_0x1bb52f?'\x20(fallback\x20version)':'')+'...');if(_0x2193e5){console['log'](_0x3053cb[_0x5c96b0(0x159)]);try{await _0x3053cb['eiiNp'](installChromiumBinary,_0x52eee3,_0x4e0f87),console[_0x5c96b0(0x186)](_0x3053cb[_0x5c96b0(0x145)]);}catch(_0x429929){console[_0x5c96b0(0x17c)](_0x3053cb[_0x5c96b0(0x170)],_0x3053cb['Bzxlk'](_0x429929,Error)?_0x429929[_0x5c96b0(0x151)]:_0x429929),console['log'](_0x3053cb['VCqlx']),console[_0x5c96b0(0x186)]('\x20\x20npx\x20playwright@'+_0x52eee3+_0x5c96b0(0x132));}}else console['log'](_0x3053cb[_0x5c96b0(0x174)]),console[_0x5c96b0(0x186)](_0x5c96b0(0x11f)),console[_0x5c96b0(0x186)]('\x20\x20npx\x20playwright@'+_0x52eee3+'\x20install\x20chromium');return!![];}export async function writeRangerGitignore(_0x545e68){const _0x3e0235=_0x247e97,_0x11493d=join(_0x545e68,_0x3e0235(0x168)),_0x172fd2=_0x3e0235(0x184);await writeFile(_0x11493d,_0x172fd2),console[_0x3e0235(0x186)]('✓\x20Created\x20.ranger/.gitignore');}export async function ensureLocalEnv(_0x474afa,_0x3a8f28){const _0x3e6b8a=_0x247e97,_0x3a1775={'mJfku':_0x3e6b8a(0x131),'noIYV':'⚠\x20No\x20git\x20repository\x20found.\x20Re-run\x20with\x20`--scope\x20user`\x20to\x20store\x20the\x20profile\x20at\x20~/.ranger/.','xJsIM':function(_0x3b10af,_0x683bfb,_0x3f48f5){return _0x3b10af(_0x683bfb,_0x3f48f5);},'FEdpE':'local','EXHBQ':_0x3e6b8a(0x148),'wzfiD':function(_0x23ac1d,_0x57b13d,_0x9957c8,_0x5aa39b){return _0x23ac1d(_0x57b13d,_0x9957c8,_0x5aa39b);},'KVych':function(_0x3fffa6,_0x1d9d30){return _0x3fffa6 instanceof _0x1d9d30;}};if(!findGitRoot()&&_0x474afa?.['scope']!==_0x3a1775['mJfku'])return console[_0x3e6b8a(0x186)](_0x3a1775[_0x3e6b8a(0x142)]),{'ready':![],'skipped':!![]};const _0x2e1680=_0x474afa?.['scope']==='user'?getRangerHomeDir():undefined;if(_0x3a1775[_0x3e6b8a(0x16d)](findExistingEnv,_0x3e6b8a(0x144),{'locations':[_0x3a1775['FEdpE']],'rangerDir':_0x2e1680}))return console['log'](_0x3a1775[_0x3e6b8a(0x17e)]),{'ready':!![],'skipped':![]};try{return await _0x3a1775['wzfiD'](addEnv,'local',{'url':_0x474afa?.['url'],'force':_0x474afa?.['force'],'allowInsecureLocalhost':_0x474afa?.['allowInsecureLocalhost'],'scope':_0x474afa?.['scope']},_0x3a8f28),{'ready':!![],'skipped':![]};}catch(_0x1888e6){return console[_0x3e6b8a(0x17c)]('\x0a❌\x20Profile\x20setup\x20failed:',_0x3a1775['KVych'](_0x1888e6,Error)?_0x1888e6['message']:_0x1888e6),{'ready':![],'skipped':![]};}}export async function start(_0x1a24c8,_0x109d2f,_0x374f54){const _0x4bbfa2=_0x247e97,_0x19641f={'QigZa':_0x4bbfa2(0x131),'lykJH':function(_0x37d603,_0x4694f7){return _0x37d603(_0x4694f7);},'rnxSI':_0x4bbfa2(0x16a),'eAgxC':_0x4bbfa2(0x177),'tEpJp':_0x4bbfa2(0x14f),'RwQmC':'chromium','YACxv':function(_0x352809,_0x24fe6a){return _0x352809(_0x24fe6a);},'NHnKC':'plugin','mhiea':'\x20\x20Failed\x20to\x20install\x20OpenCode\x20skill:','WXOHu':_0x4bbfa2(0x14c),'GCmNg':function(_0xcd4ff4,_0x47b99d,_0x898f3a){return _0xcd4ff4(_0x47b99d,_0x898f3a);},'QcBjb':'profile','APGmz':function(_0x5e2c82,_0x4eb5f6){return _0x5e2c82+_0x4eb5f6;},'kgpjS':function(_0x2f41aa,_0x65ffbc){return _0x2f41aa+_0x65ffbc;},'kkwAC':_0x4bbfa2(0x179),'mhXjd':function(_0x51f48a,_0x198974){return _0x51f48a(_0x198974);},'UEjXE':'ranger\x20profile\x20add','Ecncy':_0x4bbfa2(0x175),'YsXpC':'verification\x20to\x20check\x20its\x20work\x20as\x20it\x20builds.','JmiHa':function(_0x55e425,_0x1baef9){return _0x55e425+_0x1baef9;}};console['log'](_0x4bbfa2(0x162)),_0x109d2f={..._0x109d2f,'scope':_0x19641f['QigZa']};const _0xe57d26=!_0x19641f['lykJH'](existsSync,getRangerHomeDir());await ensureRangerDir(_0x4bbfa2(0x131));if(_0x109d2f?.['skipAuth'])console[_0x4bbfa2(0x186)](_0x19641f[_0x4bbfa2(0x172)]),_0x374f54?.['trackPhaseEnd']('auth',{'isFirstRun':_0xe57d26,'method':_0x19641f['eAgxC']});else{_0x374f54?.['trackPhaseStart'](_0x4bbfa2(0x14f));const _0x652f48=await authenticate(_0x1a24c8);_0x374f54?.[_0x4bbfa2(0x156)](_0x19641f['tEpJp'],{'isFirstRun':_0xe57d26,'method':_0x652f48[_0x4bbfa2(0x15f)]});}_0x374f54?.['trackPhaseStart'](_0x19641f['RwQmC']);_0x109d2f?.[_0x4bbfa2(0x15d)]?console['log'](_0x4bbfa2(0x158)):await ensureChromium(_0x109d2f?.['withDeps']);_0x374f54?.[_0x4bbfa2(0x156)](_0x19641f[_0x4bbfa2(0x157)],{'isFirstRun':_0xe57d26,'skipped':!!_0x109d2f?.[_0x4bbfa2(0x15d)]}),console['log'](_0x4bbfa2(0x15e));const _0x9bf6aa=_0x109d2f?.[_0x4bbfa2(0x176)],_0x507f5f=_0x109d2f?.[_0x4bbfa2(0x12d)]??![];let _0x31f562=null;_0x507f5f?(_0x374f54?.['trackPhaseStart'](_0x4bbfa2(0x178)),_0x31f562=await _0x19641f[_0x4bbfa2(0x15b)](ensureOpencodePluginConfig,_0x9bf6aa),_0x374f54?.['trackPhaseEnd']('plugin',{'isFirstRun':_0xe57d26,'opencode':!![]})):(_0x374f54?.[_0x4bbfa2(0x13f)](_0x19641f[_0x4bbfa2(0x185)]),await ensureClaudePlugin(_0x9bf6aa),_0x374f54?.[_0x4bbfa2(0x156)](_0x4bbfa2(0x178),{'isFirstRun':_0xe57d26}));if(_0x507f5f&&_0x31f562){_0x374f54?.['trackPhaseStart'](_0x4bbfa2(0x14c));try{await installSkill(_0x4bbfa2(0x16b),{'level':_0x31f562[_0x4bbfa2(0x176)],'cliVersion':getCurrentVersion(),'platform':'opencode'}),_0x374f54?.[_0x4bbfa2(0x156)](_0x4bbfa2(0x14c),{'isFirstRun':_0xe57d26,'opencode':!![]});}catch(_0x2dd33a){console['warn'](_0x19641f[_0x4bbfa2(0x171)],_0x2dd33a instanceof Error?_0x2dd33a[_0x4bbfa2(0x151)]:_0x2dd33a),_0x374f54?.[_0x4bbfa2(0x156)](_0x4bbfa2(0x14c),{'isFirstRun':_0xe57d26,'opencode':!![],'failed':!![]});}}else _0x374f54?.['trackPhaseStart'](_0x19641f[_0x4bbfa2(0x14d)]),await ensureClaudeSkills(_0x9bf6aa),_0x374f54?.[_0x4bbfa2(0x156)](_0x19641f[_0x4bbfa2(0x14d)],{'isFirstRun':_0xe57d26});if(_0x109d2f?.[_0x4bbfa2(0x127)])console[_0x4bbfa2(0x186)]('\x0aSkipping\x20profile\x20setup\x20(--skip-auth).\x20Run\x20`ranger\x20setup`\x20with\x20auth\x20to\x20add\x20a\x20profile\x20later.\x0a');else{if(_0x109d2f?.[_0x4bbfa2(0x154)]){_0x374f54?.[_0x4bbfa2(0x13f)](_0x4bbfa2(0x17d));const _0x664a81=await _0x19641f['GCmNg'](ensureLocalEnv,{'url':_0x109d2f[_0x4bbfa2(0x154)],'force':_0x109d2f?.['force'],'allowInsecureLocalhost':_0x109d2f?.['allowInsecureLocalhost'],'scope':'user'},_0x374f54);_0x374f54?.['trackPhaseEnd'](_0x19641f[_0x4bbfa2(0x124)],{'isFirstRun':_0xe57d26,'profileReady':_0x664a81['ready'],'userSkipped':_0x664a81[_0x4bbfa2(0x177)]});}else console['log'](_0x19641f['APGmz'](_0x19641f['kgpjS'](_0x4bbfa2(0x126)+_0x19641f[_0x4bbfa2(0x14e)](bold,_0x19641f[_0x4bbfa2(0x17f)])+'\x20'+('(and\x20'+_0x19641f['YACxv'](bold,_0x4bbfa2(0x149))+_0x4bbfa2(0x146))+_0x4bbfa2(0x129),'\x20may\x20need\x20a\x20one-time\x20headed\x20login\x20instead\x20—'),'\x0a\x20\x20your\x20org\x27s\x20auth\x20config\x20drives\x20which\x20flow\x20runs.')),console[_0x4bbfa2(0x186)]('\x20\x20(or\x20use\x20'+_0x19641f['mhXjd'](bold,_0x19641f[_0x4bbfa2(0x17b)])+_0x4bbfa2(0x15c));}if(_0x507f5f)console[_0x4bbfa2(0x186)](_0x19641f[_0x4bbfa2(0x123)]),console['log'](_0x4bbfa2(0x136)),console[_0x4bbfa2(0x186)](_0x4bbfa2(0x12a)),console[_0x4bbfa2(0x186)](_0x19641f[_0x4bbfa2(0x120)]);else{const _0x5bf96c=bold(_0x4bbfa2(0x128));console[_0x4bbfa2(0x186)](_0x19641f['JmiHa']('\x0aIn\x20Claude\x20Code,\x20run\x20'+_0x5bf96c+_0x4bbfa2(0x153),_0x4bbfa2(0x165))+_0x4bbfa2(0x182)+'\x0averification\x20to\x20check\x20its\x20work\x20as\x20it\x20builds.');}}
1
+ const _0x12da14=_0x5a86;(function(_0x4f7829,_0x5528be){const _0x265e13=_0x5a86,_0x49e020=_0x4f7829();while(!![]){try{const _0x168bb2=parseInt(_0x265e13(0x179))/0x1+parseInt(_0x265e13(0x18a))/0x2*(-parseInt(_0x265e13(0x1b0))/0x3)+-parseInt(_0x265e13(0x1ac))/0x4*(parseInt(_0x265e13(0x1cb))/0x5)+parseInt(_0x265e13(0x1e4))/0x6*(parseInt(_0x265e13(0x184))/0x7)+-parseInt(_0x265e13(0x1e1))/0x8+-parseInt(_0x265e13(0x177))/0x9*(-parseInt(_0x265e13(0x1b3))/0xa)+parseInt(_0x265e13(0x1da))/0xb*(-parseInt(_0x265e13(0x1dd))/0xc);if(_0x168bb2===_0x5528be)break;else _0x49e020['push'](_0x49e020['shift']());}catch(_0x3d49e9){_0x49e020['push'](_0x49e020['shift']());}}}(_0x95d4,0x59fa1));import{mkdir,writeFile}from'fs/promises';import{join}from'path';import{existsSync}from'fs';import{createRequire}from'module';import{spawn}from'child_process';import _0x1287d4 from'inquirer';import{getToken,storeToken}from'./utils/keychain.js';import{getCurrentUser}from'./utils/userApi.js';import{chromium}from'playwright';import{addEnv}from'./addEnv.js';import{getRangerHomeDir,findGitRoot}from'./utils/rangerRoot.js';import{runDeviceAuthFlow}from'./utils/deviceAuth.js';import{findExistingEnv}from'./utils/settings.js';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=_0x12da14(0x193);const bold=_0x369f67=>_0x12da14(0x1db)+_0x369f67+'\x1b[0m';export function getPlaywrightVersion(){try{const _0x25d3e7=require['resolve']('playwright/package.json'),_0x44355c=require(_0x25d3e7);return _0x44355c['version'];}catch{return null;}}export function installChromiumBinary(_0x2bf272,_0x459ab0=![]){const _0x32a197=_0x12da14,_0x7378d9={'bGoYy':function(_0x5a2b88,_0x5406c4){return _0x5a2b88(_0x5406c4);},'ThgfW':function(_0x140018){return _0x140018();},'TjvQx':_0x32a197(0x1d0),'WzDCY':function(_0x2bf31d,_0x2e8f2d,_0x585cc4,_0x1f588a){return _0x2bf31d(_0x2e8f2d,_0x585cc4,_0x1f588a);},'ahdGQ':_0x32a197(0x174),'qfqxj':'ignore','oKHzm':_0x32a197(0x1b5),'fwNWg':function(_0x3101ad,_0x83c046){return _0x3101ad===_0x83c046;},'rPTrR':_0x32a197(0x170),'RbOcw':_0x32a197(0x178),'FZXex':'error'};return new Promise((_0x4fb238,_0x1d1b80)=>{const _0xaf1d66=_0x32a197,_0x3617e2={'OlNGN':function(_0x3576b2){const _0x16be7b=_0x5a86;return _0x7378d9[_0x16be7b(0x1e6)](_0x3576b2);}},_0x2eb552=['playwright@'+_0x2bf272,'install',..._0x459ab0?['--with-deps']:[],_0x7378d9[_0xaf1d66(0x17f)]],_0x5a2759=_0x7378d9['WzDCY'](spawn,_0x7378d9[_0xaf1d66(0x186)],_0x2eb552,{'stdio':[_0x7378d9['qfqxj'],_0x7378d9['oKHzm'],'inherit'],'shell':_0x7378d9['fwNWg'](process[_0xaf1d66(0x1a6)],_0x7378d9['rPTrR'])});_0x5a2759['on'](_0x7378d9['RbOcw'],_0x2cb176=>{const _0x474a00=_0xaf1d66;_0x2cb176===0x0?_0x3617e2[_0x474a00(0x1a9)](_0x4fb238):_0x1d1b80(new Error('Installation\x20failed\x20with\x20exit\x20code\x20'+_0x2cb176));}),_0x5a2759['on'](_0x7378d9['FZXex'],_0x5739ed=>{const _0x5d44ce=_0xaf1d66;_0x7378d9[_0x5d44ce(0x1cd)](_0x1d1b80,_0x5739ed);});});}export async function authenticate(_0xf57481){const _0x3dd560=_0x12da14,_0x29fe31={'TdUPQ':function(_0x43b67d){return _0x43b67d();},'UefMW':function(_0x4cd1ba,_0x3c5cd7){return _0x4cd1ba(_0x3c5cd7);},'eAssv':_0x3dd560(0x1bb),'ruMyX':function(_0x384daf,_0x2bd3d1){return _0x384daf(_0x2bd3d1);}};if(!_0xf57481){const _0x44a34b=await _0x29fe31['TdUPQ'](getToken);if(_0x44a34b){const _0x37727c=await _0x29fe31[_0x3dd560(0x1d4)](getCurrentUser,_0x44a34b);if(_0x37727c[_0x3dd560(0x1b9)])return console[_0x3dd560(0x1a2)](_0x3dd560(0x18f)+_0x37727c[_0x3dd560(0x1bf)]['organizationName']),{'token':_0x44a34b,'method':'existing_token'};}try{_0xf57481=await _0x29fe31[_0x3dd560(0x19a)](runDeviceAuthFlow);}catch(_0x4c45d2){throw new Error('Authentication\x20failed:\x20'+(_0x4c45d2 instanceof Error?_0x4c45d2[_0x3dd560(0x188)]:_0x4c45d2));}const _0x2582b6=await getCurrentUser(_0xf57481);if(!_0x2582b6['success'])throw new Error('Failed\x20to\x20validate\x20provisioned\x20API\x20key:\x20'+_0x2582b6[_0x3dd560(0x1d7)]);return console['log'](_0x3dd560(0x1c5)+_0x2582b6['user'][_0x3dd560(0x17b)]),{'token':_0xf57481,'method':_0x3dd560(0x19e)};}console['log'](_0x29fe31['eAssv']);const _0xdb1952=await _0x29fe31[_0x3dd560(0x198)](getCurrentUser,_0xf57481);if(!_0xdb1952['success']){if(_0xdb1952[_0x3dd560(0x1a0)])throw new Error(_0x3dd560(0x1c3)+_0xdb1952['error']+'.\x20Please\x20check\x20your\x20API\x20token\x20and\x20try\x20again.');else throw new Error(_0x3dd560(0x171)+_0xdb1952[_0x3dd560(0x1d7)]+_0x3dd560(0x17d));}return console['log']('✓\x20Authenticated\x20to\x20'+_0xdb1952[_0x3dd560(0x1bf)][_0x3dd560(0x17b)]),await _0x29fe31[_0x3dd560(0x198)](storeToken,_0xf57481),console['log'](process['env']['GITHUB_ENV']?'✓\x20Exported\x20credentials\x20for\x20CI':_0x3dd560(0x1b4)),{'token':_0xf57481,'method':'provided_token'};}export async function ensureRangerDir(_0x361d26){const _0xed6ef=_0x12da14,_0x33a9d2={'MCTji':function(_0x240e33,_0x32b92d){return _0x240e33(_0x32b92d);},'TklmY':_0xed6ef(0x194)};void _0x361d26;const _0x4b1cf1=getRangerHomeDir();return!_0x33a9d2[_0xed6ef(0x1c9)](existsSync,_0x4b1cf1)?(await mkdir(_0x4b1cf1,{'recursive':!![]}),console[_0xed6ef(0x1a2)](_0x33a9d2[_0xed6ef(0x1a5)]),{'path':_0x4b1cf1,'installed':!![]}):(console['log']('✓\x20~/.ranger/\x20directory\x20already\x20exists'),{'path':_0x4b1cf1,'installed':![]});}export async function ensureChromium(_0x5b37ea=![]){const _0x2d565f=_0x12da14,_0x43a53a={'nOyLv':function(_0x1fbc18,_0x132d25){return _0x1fbc18(_0x132d25);},'YIFJM':function(_0x13f6bd,_0x471fd8){return _0x13f6bd??_0x471fd8;},'OfSbb':'confirm','lCwoP':'\x0aInstalling\x20Chromium\x20browser...\x0a','WsLhk':'\x0a❌\x20Failed\x20to\x20install\x20Chromium:','duLng':function(_0x916e1,_0x2d9cfa){return _0x916e1 instanceof _0x2d9cfa;}};let _0x40951e=![];try{const _0x4490a9=chromium[_0x2d565f(0x1e2)]();_0x40951e=_0x43a53a['nOyLv'](existsSync,_0x4490a9);}catch{_0x40951e=![];}if(_0x40951e)return console['log'](_0x2d565f(0x1b1)),![];const _0x33e6a7=getPlaywrightVersion(),_0xa5cf24=_0x43a53a['YIFJM'](_0x33e6a7,PLAYWRIGHT_CHROMIUM_INSTALL_FALLBACK_VERSION),_0x5fa35b=!_0x33e6a7,_0x173020=process[_0x2d565f(0x1a8)]['isTTY']&&process[_0x2d565f(0x1ba)]['isTTY'];let _0x4485ea=!![];if(_0x173020){const {install:_0x3aae04}=await _0x1287d4['prompt']([{'type':_0x43a53a[_0x2d565f(0x187)],'name':_0x2d565f(0x1b2),'message':_0x5fa35b?_0x2d565f(0x17e)+_0xa5cf24+_0x2d565f(0x190):_0x2d565f(0x192)+_0xa5cf24+')\x20of\x20the\x20Playwright\x20Chromium\x20browser\x20is\x20not\x20installed.\x20Install\x20it\x20now?','default':!![]}]);_0x4485ea=_0x3aae04;}else console['log']('\x0aNon-interactive\x20mode:\x20Auto-installing\x20Playwright\x20Chromium\x20'+_0xa5cf24+(_0x5fa35b?'\x20(fallback\x20version)':'')+'...');if(_0x4485ea){console['log'](_0x43a53a['lCwoP']);try{await installChromiumBinary(_0xa5cf24,_0x5b37ea),console['log'](_0x2d565f(0x1d2));}catch(_0x7dcbd){console[_0x2d565f(0x1d7)](_0x43a53a['WsLhk'],_0x43a53a['duLng'](_0x7dcbd,Error)?_0x7dcbd[_0x2d565f(0x188)]:_0x7dcbd),console[_0x2d565f(0x1a2)](_0x2d565f(0x18b)),console['log'](_0x2d565f(0x1e5)+_0xa5cf24+_0x2d565f(0x185));}}else console['log']('\x0a⚠\x20Skipping\x20Chromium\x20installation.'),console[_0x2d565f(0x1a2)]('You\x20will\x20need\x20to\x20install\x20it\x20before\x20using\x20Ranger:'),console['log'](_0x2d565f(0x1e5)+_0xa5cf24+'\x20install\x20chromium');return!![];}export async function writeRangerGitignore(_0x535c8b){const _0x2a2a7c=_0x12da14,_0x195a27={'OnLOa':function(_0x4ec462,_0x314e23,_0x41c648){return _0x4ec462(_0x314e23,_0x41c648);},'ahlVK':'✓\x20Created\x20.ranger/.gitignore'},_0x56832b=_0x195a27[_0x2a2a7c(0x1c2)](join,_0x535c8b,_0x2a2a7c(0x18d)),_0xb9a37a=_0x2a2a7c(0x1e0);await _0x195a27[_0x2a2a7c(0x1c2)](writeFile,_0x56832b,_0xb9a37a),console[_0x2a2a7c(0x1a2)](_0x195a27[_0x2a2a7c(0x1cf)]);}function _0x5a86(_0x579157,_0x4ce8fb){_0x579157=_0x579157-0x16f;const _0x95d48e=_0x95d4();let _0x5a8655=_0x95d48e[_0x579157];return _0x5a8655;}function _0x95d4(){const _0x4fa806=['You\x20can\x20install\x20it\x20manually\x20by\x20running:','\x0aIn\x20Claude\x20Code,\x20run\x20','.gitignore','/ranger:enable','✓\x20Already\x20authenticated\x20to\x20','\x20now?','\x0aTo\x20verify\x20with\x20a\x20browser,\x20set\x20','The\x20required\x20version\x20(','1.58.2','✓\x20Created\x20~/.ranger/\x20directory','ranger\x20profile\x20add','\x20and\x20prompt\x20the\x20coding','\x0a\x20\x20config\x20uses\x20username+password).\x20Orgs\x20on\x20SSO/SAML/OAuth','ruMyX','qBaHQ','TdUPQ','auth','HsMQk','✓\x20Local\x20profile\x20already\x20exists','device_auth','✓\x20Skipping\x20Chromium\x20check\x20(--skip-chromium)','status','XPIHA','log','Setup\x20always\x20installs\x20at\x20user\x20scope\x20now\x20(cloud\x20profiles\x20make\x20','scope','TklmY','platform','allowInsecureLocalhost','stdin','OlNGN','with\x20scenarios\x20describing\x20what\x20to\x20verify\x20and\x20then\x20run\x20browser','UgiBN','5452vggeCw','✓\x20Skipping\x20authentication\x20(--skip-auth)','trackPhaseEnd','\x0aagent\x20like\x20usual.\x20Claude\x20will\x20create\x20a\x20feature\x20review\x20with','9AGZGuk','✓\x20Playwright\x20Chromium\x20browser\x20found','install','10wwomXy','✓\x20Stored\x20credentials\x20locally','inherit','\x20\x20Failed\x20to\x20install\x20OpenCode\x20skill:','\x0aSkipping\x20profile\x20setup\x20(--skip-auth).\x20Run\x20`ranger\x20setup`\x20with\x20auth\x20to\x20add\x20a\x20profile\x20later.\x0a','\x0a\x20\x20your\x20org\x27s\x20auth\x20config\x20drives\x20which\x20flow\x20runs.','success','stdout','Validating\x20API\x20token...','gDXYr','cZKDq','⚠\x20No\x20git\x20repository\x20found.\x20Re-run\x20with\x20`--scope\x20user`\x20to\x20store\x20the\x20profile\x20at\x20~/.ranger/.','user','opencode','profile','OnLOa','Authentication\x20failed:\x20','\x20may\x20need\x20a\x20one-time\x20headed\x20login\x20instead\x20—','✓\x20Authenticated\x20to\x20','ready','BoULs','\x0ascenarios\x20describing\x20what\x20to\x20verify\x20and\x20then\x20run\x20browser','MCTji','\x20is\x20no\x20longer\x20supported.\x20','1610hnoqsH','LrBmS','bGoYy','trackPhaseStart','ahlVK','chromium','skills','\x0a✓\x20Playwright\x20Chromium\x20installed\x20successfully','skipAuth','UefMW','IVbkg','plugin','error','skipped','HYqPw','22zpakuw','\x1b[1m','\x20\x20(or\x20use\x20','2216316fYgzgz','jPNAQ','vhNJS','\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','437280vvfgdP','executablePath','CsGDX','48TwogbS','\x20\x20npx\x20playwright@','ThgfW','RANGER_TEST_USERNAME','OGXek','win32','Failed\x20to\x20connect\x20to\x20MCP\x20server:\x20','fXcaX','VKxjs','npx','\x0a❌\x20Profile\x20setup\x20failed:','cSpaC','5152392VGPUnv','close','265264zlSLcI','dECrW','organizationName','ranger\x20setup\x20--scope=','.\x20Please\x20check\x20your\x20network\x20connection\x20and\x20server\x20URL.','Could\x20not\x20determine\x20local\x20Playwright\x20version.\x20Install\x20Playwright\x20Chromium\x20using\x20fallback\x20version\x20','TjvQx','buNdk','ZyPZT','force','url','561358OmxKFk','\x20install\x20chromium','ahdGQ','OfSbb','message','local','165218aWZvVO'];_0x95d4=function(){return _0x4fa806;};return _0x95d4();}export async function ensureLocalEnv(_0xdabcfb,_0x956764){const _0x5130e5=_0x12da14,_0x82245c={'cSpaC':function(_0x2c6163){return _0x2c6163();},'vhNJS':function(_0x35cf1a,_0x185ba7){return _0x35cf1a!==_0x185ba7;},'IVbkg':_0x5130e5(0x1bf),'ufDQD':_0x5130e5(0x1be),'dECrW':function(_0x12a893){return _0x12a893();},'zEYrf':function(_0x367ff0,_0x1dbdff,_0x544011){return _0x367ff0(_0x1dbdff,_0x544011);},'XPIHA':_0x5130e5(0x189),'qBaHQ':_0x5130e5(0x19d),'tJTUX':function(_0x348c0f,_0x404e8f,_0x3a9972,_0x536e81){return _0x348c0f(_0x404e8f,_0x3a9972,_0x536e81);},'nntpm':_0x5130e5(0x175),'LsJWE':function(_0x3c306c,_0x3b5062){return _0x3c306c instanceof _0x3b5062;}};if(!_0x82245c[_0x5130e5(0x176)](findGitRoot)&&_0x82245c[_0x5130e5(0x1df)](_0xdabcfb?.['scope'],_0x82245c[_0x5130e5(0x1d5)]))return console[_0x5130e5(0x1a2)](_0x82245c['ufDQD']),{'ready':![],'skipped':!![]};const _0x233202=_0xdabcfb?.['scope']===_0x82245c['IVbkg']?_0x82245c[_0x5130e5(0x17a)](getRangerHomeDir):undefined;if(_0x82245c['zEYrf'](findExistingEnv,_0x82245c[_0x5130e5(0x1a1)],{'locations':[_0x82245c[_0x5130e5(0x1a1)]],'rangerDir':_0x233202}))return console['log'](_0x82245c[_0x5130e5(0x199)]),{'ready':!![],'skipped':![]};try{return await _0x82245c['tJTUX'](addEnv,'local',{'url':_0xdabcfb?.['url'],'force':_0xdabcfb?.[_0x5130e5(0x182)],'allowInsecureLocalhost':_0xdabcfb?.['allowInsecureLocalhost'],'scope':_0xdabcfb?.['scope']},_0x956764),{'ready':!![],'skipped':![]};}catch(_0x272339){return console['error'](_0x82245c['nntpm'],_0x82245c['LsJWE'](_0x272339,Error)?_0x272339['message']:_0x272339),{'ready':![],'skipped':![]};}}export async function start(_0x527efe,_0x3aa466,_0x2ff430){const _0x532cc2=_0x12da14,_0x427ea9={'ZyPZT':'\x0a🚀\x20Ranger\x20Setup\x0a','OGXek':function(_0x2446ad,_0x2daaf6){return _0x2446ad!==_0x2daaf6;},'RLAwz':function(_0xe527c1,_0x55e73d){return _0xe527c1+_0x55e73d;},'gDXYr':function(_0x5e409e,_0x2c1ada){return _0x5e409e(_0x2c1ada);},'jPNAQ':function(_0x3e5567,_0x410455){return _0x3e5567(_0x410455);},'LrBmS':_0x532cc2(0x1ad),'tOVVM':_0x532cc2(0x19b),'ynnHg':function(_0x779509,_0x2dd81a){return _0x779509(_0x2dd81a);},'UgiBN':function(_0x276e4d,_0x470946){return _0x276e4d(_0x470946);},'CsGDX':'plugin','xNoSE':function(_0x1db47e,_0x37bb7d){return _0x1db47e(_0x37bb7d);},'Bqdzb':_0x532cc2(0x1d1),'buNdk':function(_0x14889e,_0x29d46d,_0x25b4a0){return _0x14889e(_0x29d46d,_0x25b4a0);},'SHJRR':_0x532cc2(0x1c0),'hpfou':function(_0x5b197c,_0x4a1ed0){return _0x5b197c instanceof _0x4a1ed0;},'BoULs':function(_0x501794,_0x1943ad){return _0x501794(_0x1943ad);},'cZKDq':_0x532cc2(0x1c1),'fXcaX':function(_0x3b4db8,_0x5acaba,_0x3b118d){return _0x3b4db8(_0x5acaba,_0x3b118d);},'fSuHy':function(_0xcab11d,_0x2b29e0){return _0xcab11d(_0x2b29e0);},'VKxjs':'RANGER_TEST_PASSWORD','UFdNF':function(_0x232391,_0x405605){return _0x232391(_0x405605);},'zxPdc':_0x532cc2(0x195),'HsMQk':'\x0aIn\x20OpenCode,\x20enable\x20Ranger\x20hooks\x20(run\x20the\x20`ranger_enable`\x20tool)','HYqPw':'verification\x20to\x20check\x20its\x20work\x20as\x20it\x20builds.','TjFuQ':function(_0x2b5a0d,_0x522561){return _0x2b5a0d+_0x522561;},'IAYKV':function(_0x3c7163,_0x49c841){return _0x3c7163+_0x49c841;}};console['log'](_0x427ea9[_0x532cc2(0x181)]);_0x3aa466?.[_0x532cc2(0x1a4)]!==undefined&&_0x427ea9[_0x532cc2(0x16f)](_0x3aa466['scope'],'user')&&(console[_0x532cc2(0x1d7)](_0x427ea9['RLAwz'](_0x532cc2(0x17c)+_0x427ea9[_0x532cc2(0x1bc)](String,_0x3aa466[_0x532cc2(0x1a4)])+_0x532cc2(0x1ca)+_0x532cc2(0x1a3),'project-scope\x20setup\x20obsolete).\x20Drop\x20the\x20--scope\x20flag\x20or\x20pass\x20--scope=user.')),process['exit'](0x1));_0x3aa466={..._0x3aa466,'scope':_0x532cc2(0x1bf)};const _0x3ebd74=!existsSync(getRangerHomeDir());await _0x427ea9['jPNAQ'](ensureRangerDir,_0x532cc2(0x1bf));if(_0x3aa466?.['skipAuth'])console[_0x532cc2(0x1a2)](_0x427ea9[_0x532cc2(0x1cc)]),_0x2ff430?.[_0x532cc2(0x1ae)]('auth',{'isFirstRun':_0x3ebd74,'method':'skipped'});else{_0x2ff430?.[_0x532cc2(0x1ce)](_0x427ea9['tOVVM']);const _0x3b74c6=await _0x427ea9['ynnHg'](authenticate,_0x527efe);_0x2ff430?.[_0x532cc2(0x1ae)]('auth',{'isFirstRun':_0x3ebd74,'method':_0x3b74c6['method']});}_0x2ff430?.['trackPhaseStart'](_0x532cc2(0x1d0));_0x3aa466?.['skipChromium']?console['log'](_0x532cc2(0x19f)):await _0x427ea9[_0x532cc2(0x1de)](ensureChromium,_0x3aa466?.['withDeps']);_0x2ff430?.['trackPhaseEnd'](_0x532cc2(0x1d0),{'isFirstRun':_0x3ebd74,'skipped':!!_0x3aa466?.['skipChromium']}),console[_0x532cc2(0x1a2)]('\x0a✅\x20Ranger\x20setup\x20complete!\x0a');const _0x41447a=_0x3aa466?.[_0x532cc2(0x1a4)],_0xec96a8=_0x3aa466?.['opencode']??![];let _0x53a665=null;_0xec96a8?(_0x2ff430?.[_0x532cc2(0x1ce)](_0x532cc2(0x1d6)),_0x53a665=await _0x427ea9[_0x532cc2(0x1ab)](ensureOpencodePluginConfig,_0x41447a),_0x2ff430?.['trackPhaseEnd'](_0x427ea9[_0x532cc2(0x1e3)],{'isFirstRun':_0x3ebd74,'opencode':!![]})):(_0x2ff430?.[_0x532cc2(0x1ce)](_0x427ea9[_0x532cc2(0x1e3)]),await _0x427ea9['xNoSE'](ensureClaudePlugin,_0x41447a),_0x2ff430?.['trackPhaseEnd']('plugin',{'isFirstRun':_0x3ebd74}));if(_0xec96a8&&_0x53a665){_0x2ff430?.[_0x532cc2(0x1ce)](_0x427ea9['Bqdzb']);try{await _0x427ea9[_0x532cc2(0x180)](installSkill,'ranger',{'level':_0x53a665[_0x532cc2(0x1a4)],'cliVersion':getCurrentVersion(),'platform':_0x427ea9['SHJRR']}),_0x2ff430?.['trackPhaseEnd'](_0x532cc2(0x1d1),{'isFirstRun':_0x3ebd74,'opencode':!![]});}catch(_0x3a59b4){console['warn'](_0x532cc2(0x1b6),_0x427ea9['hpfou'](_0x3a59b4,Error)?_0x3a59b4['message']:_0x3a59b4),_0x2ff430?.[_0x532cc2(0x1ae)](_0x532cc2(0x1d1),{'isFirstRun':_0x3ebd74,'opencode':!![],'failed':!![]});}}else _0x2ff430?.[_0x532cc2(0x1ce)](_0x532cc2(0x1d1)),await _0x427ea9[_0x532cc2(0x1c7)](ensureClaudeSkills,_0x41447a),_0x2ff430?.[_0x532cc2(0x1ae)](_0x427ea9['Bqdzb'],{'isFirstRun':_0x3ebd74});if(_0x3aa466?.[_0x532cc2(0x1d3)])console[_0x532cc2(0x1a2)](_0x532cc2(0x1b7));else{if(_0x3aa466?.[_0x532cc2(0x183)]){_0x2ff430?.[_0x532cc2(0x1ce)](_0x427ea9[_0x532cc2(0x1bd)]);const _0x1fbf4e=await _0x427ea9[_0x532cc2(0x172)](ensureLocalEnv,{'url':_0x3aa466[_0x532cc2(0x183)],'force':_0x3aa466?.['force'],'allowInsecureLocalhost':_0x3aa466?.[_0x532cc2(0x1a7)],'scope':_0x532cc2(0x1bf)},_0x2ff430);_0x2ff430?.[_0x532cc2(0x1ae)](_0x427ea9['cZKDq'],{'isFirstRun':_0x3ebd74,'profileReady':_0x1fbf4e[_0x532cc2(0x1c6)],'userSkipped':_0x1fbf4e[_0x532cc2(0x1d8)]});}else console['log'](_0x427ea9['RLAwz'](_0x532cc2(0x191)+_0x427ea9['fSuHy'](bold,_0x532cc2(0x1e7))+'\x20','(and\x20'+_0x427ea9['gDXYr'](bold,_0x427ea9[_0x532cc2(0x173)])+'\x20when\x20the\x20org\x27s\x20login')+_0x532cc2(0x197)+_0x532cc2(0x1c4)+_0x532cc2(0x1b8)),console['log'](_0x532cc2(0x1dc)+_0x427ea9['UFdNF'](bold,_0x427ea9['zxPdc'])+'\x20for\x20explicit\x20profile\x20management).');}if(_0xec96a8)console[_0x532cc2(0x1a2)](_0x427ea9[_0x532cc2(0x19c)]),console[_0x532cc2(0x1a2)]('and\x20prompt\x20the\x20agent\x20like\x20usual.\x20Ranger\x20will\x20create\x20a\x20feature\x20review'),console['log'](_0x532cc2(0x1aa)),console['log'](_0x427ea9[_0x532cc2(0x1d9)]);else{const _0x21a93e=bold(_0x532cc2(0x18e));console[_0x532cc2(0x1a2)](_0x427ea9['TjFuQ'](_0x427ea9['IAYKV'](_0x532cc2(0x18c)+_0x21a93e+_0x532cc2(0x196)+_0x532cc2(0x1af),_0x532cc2(0x1c8)),'\x0averification\x20to\x20check\x20its\x20work\x20as\x20it\x20builds.'));}}
@@ -1 +1 @@
1
- const _0x19f961=_0x3528;(function(_0x5101ba,_0x1f575e){const _0x361ed2=_0x3528,_0x358d28=_0x5101ba();while(!![]){try{const _0x5e54d2=-parseInt(_0x361ed2(0x206))/0x1*(-parseInt(_0x361ed2(0x241))/0x2)+parseInt(_0x361ed2(0x1ff))/0x3*(parseInt(_0x361ed2(0x1fa))/0x4)+-parseInt(_0x361ed2(0x230))/0x5+-parseInt(_0x361ed2(0x20f))/0x6+parseInt(_0x361ed2(0x20a))/0x7*(parseInt(_0x361ed2(0x1e2))/0x8)+parseInt(_0x361ed2(0x234))/0x9*(parseInt(_0x361ed2(0x1fd))/0xa)+parseInt(_0x361ed2(0x21a))/0xb*(-parseInt(_0x361ed2(0x208))/0xc);if(_0x5e54d2===_0x1f575e)break;else _0x358d28['push'](_0x358d28['shift']());}catch(_0x4b532c){_0x358d28['push'](_0x358d28['shift']());}}}(_0x5276,0x8dd47));import{readFile,readdir}from'fs/promises';function _0x5276(){const _0x478937=['\x20\x20Run:\x20ranger\x20setup\x20[token]\x20\x20(includes\x20plugin\x20installation)','API\x20Token:\x20✓\x20Found\x20but\x20invalid\x20or\x20expired','BMdCw','\x20plugin(s)\x20configured','qkfve','UUikG','mrtaZ','\x20\x20\x20\x20Auth:\x20','dAYXh','BLxGx','3933844zbwpmA',':\x20configured','SKILL.md','1740870ODNZwJ','disabled','3nbuSqF','cwd','some','\x20\x20Not\x20configured','Lsuuo','iIQhS','\x1b[0m','6pzoiCO','log','24SCRLfX','uVxAC','203oMyYuU','encrypted','enabled','not_installed','debug','2518590PekAkd','\x20\x20Run:\x20ranger\x20skillup','data','\x0a\x20\x20No\x20active\x20profile\x20set','path','spxOq','stderr','\x20\x20Run:\x20ranger\x20setup\x20--opencode','yirXp','\x1b]8;;file://','iGnlx','5741978DzJSOD','scope','trim','\x20\x20\x20\x20','\x0a---\x20Profiles\x20---','ranger@trailhead','\x20\x20Run:\x20ranger\x20profile\x20use\x20<profile-name>\x20\x20(available:\x20','join','isDirectory','FLFQh','plugin','filter','not_configured','project','pRDgx','length','RASex','iLKst','parse','user','aAkTR','aSGch','5611755PDsSWx','name','\x20\x20Project-level:','\x20(active)','45dIfAIy','toString','keovX','map','HQZEJ','hasPlaintextAuth','includes','push','details','configured','rYeJU','(not\x20found)','yPDjY','332882GSOhDF','stdout','Version:\x20','86760VjzKpO','AYnsa','opencode','nlzBZ','\x1b]8;;\x07','version','jPlVN','No\x20profiles\x20configured','\x0a---\x20Claude\x20Code\x20Plugin\x20---','@ranger-testing/opencode-plugin','\x20\x20User-level:','config','EnIbV','\x20\x20Run:\x20ranger\x20setup\x20[token]'];_0x5276=function(){return _0x478937;};return _0x5276();}import{join,basename}from'path';import{existsSync}from'fs';import{getToken}from'./utils/keychain.js';import{getCurrentVersion,getLatestVersion}from'./utils/version.js';import{getApiBaseUrl,getCurrentEnvironment}from'./utils/environment.js';import{getProjectSkillsDir,getUserSkillsDir}from'./utils/claudeConfig.js';import{getEnvNames}from'./env.js';import{getCurrentUser}from'./utils/userApi.js';import{getRangerDir}from'./utils/rangerRoot.js';import{getEnvDir}from'./utils/settings.js';import{getPluginInfo}from'./utils/claudePlugin.js';import{RANGER_MANAGED_SKILLS}from'./utils/skills.js';function _0x3528(_0x573694,_0x443fd2){_0x573694=_0x573694-0x1e1;const _0x52768c=_0x5276();let _0x3528d4=_0x52768c[_0x573694];return _0x3528d4;}import{spawn}from'child_process';const bold=_0x5664fe=>'\x1b[1m'+_0x5664fe+_0x19f961(0x205),link=(_0x1d56f5,_0x46d004)=>_0x19f961(0x218)+_0x1d56f5+'\x07'+(_0x46d004||_0x1d56f5)+_0x19f961(0x1e6);async function getOpencodePluginStatus(){const _0x652c2c=_0x19f961,_0x18f461={'uVxAC':_0x652c2c(0x20d),'mrtaZ':function(_0x56a88e,_0x14ee3c){return _0x56a88e(_0x14ee3c);},'BMdCw':function(_0xc694d9,_0x308b30){return _0xc694d9>_0x308b30;},'jgvlK':function(_0xa53c07,_0x242619,_0x3f8860,_0x3499aa){return _0xa53c07(_0x242619,_0x3f8860,_0x3499aa);},'COTfY':_0x652c2c(0x1e4),'UKoZw':_0x652c2c(0x20e),'Lsuuo':'ignore','dAYXh':'pipe','vNqyY':'error'};return new Promise(_0x3a439a=>{const _0x1fc5a7=_0x652c2c,_0x33e3ec={'yirXp':_0x18f461[_0x1fc5a7(0x209)]},_0x36def8=_0x18f461['jgvlK'](spawn,_0x18f461['COTfY'],[_0x18f461['UKoZw'],_0x1fc5a7(0x1ed)],{'stdio':[_0x18f461[_0x1fc5a7(0x203)],_0x18f461[_0x1fc5a7(0x1f8)],'pipe']});let _0x29b319='';_0x36def8[_0x1fc5a7(0x242)]?.['on'](_0x1fc5a7(0x211),_0x315a2a=>{const _0x9efbc7=_0x1fc5a7;_0x29b319+=_0x315a2a[_0x9efbc7(0x235)]();}),_0x36def8[_0x1fc5a7(0x215)]?.['on'](_0x1fc5a7(0x211),_0x30f289=>{const _0x3d15b6=_0x1fc5a7;_0x29b319+=_0x30f289[_0x3d15b6(0x235)]();}),_0x36def8['on'](_0x18f461['vNqyY'],()=>{const _0x4601c8=_0x1fc5a7;_0x3a439a({'status':_0x33e3ec[_0x4601c8(0x217)]});}),_0x36def8['on']('close',_0x59d11b=>{const _0x7c32ae=_0x1fc5a7;if(_0x59d11b!==0x0){_0x3a439a({'status':_0x18f461[_0x7c32ae(0x209)]});return;}const _0x54a604=_0x29b319['trim']();let _0x5c13d7=null;if(_0x54a604)try{_0x5c13d7=JSON[_0x7c32ae(0x22c)](_0x54a604);}catch{const _0x2a0bf9=_0x54a604['match'](/\{[\s\S]*\}$/);if(_0x2a0bf9)try{_0x5c13d7=JSON[_0x7c32ae(0x22c)](_0x2a0bf9[0x0]);}catch{_0x5c13d7=null;}}const _0x4be848=Array['isArray'](_0x5c13d7?.['plugin'])?_0x5c13d7?.[_0x7c32ae(0x224)]:[],_0x2e9fb8=_0x4be848[_0x7c32ae(0x201)](_0x1de8c3=>{const _0x7ae47d=_0x7c32ae;if(typeof _0x1de8c3!=='string')return![];return _0x1de8c3[_0x7ae47d(0x23a)](_0x7ae47d(0x1eb))||_0x1de8c3[_0x7ae47d(0x23a)]('opencode-plugin');});if(_0x2e9fb8){_0x18f461[_0x7c32ae(0x1f6)](_0x3a439a,{'status':'configured','details':_0x18f461[_0x7c32ae(0x1f2)](_0x4be848[_0x7c32ae(0x229)],0x0)?_0x4be848['length']+_0x7c32ae(0x1f3):undefined});return;}if(_0x4be848[_0x7c32ae(0x229)]>0x0){_0x3a439a({'status':_0x7c32ae(0x226),'details':_0x4be848['length']+_0x7c32ae(0x1f3)});return;}_0x18f461['mrtaZ'](_0x3a439a,{'status':_0x7c32ae(0x226)});});});}async function getSkillsFromDir(_0x281a38,_0x3c9d30){const _0x41a680=_0x19f961;if(!existsSync(_0x281a38))return[];const _0x3287bd=[];try{const _0x56359a=await readdir(_0x281a38,{'withFileTypes':!![]});for(const _0x44518e of _0x56359a){if(_0x44518e[_0x41a680(0x222)]()){const _0x3e9fb9=join(_0x281a38,_0x44518e['name'],_0x41a680(0x1fc));if(existsSync(_0x3e9fb9)){let _0x3fa163=_0x44518e[_0x41a680(0x231)];try{const _0x2e02ab=await readFile(_0x3e9fb9,'utf-8'),_0x36ae26=_0x2e02ab['match'](/name:\s*(.+)/);_0x36ae26&&(_0x3fa163=_0x36ae26[0x1][_0x41a680(0x21c)]());}catch{}_0x3287bd[_0x41a680(0x23b)]({'name':_0x44518e[_0x41a680(0x231)],'displayName':_0x3fa163,'path':_0x3e9fb9,'level':_0x3c9d30});}}}}catch{return[];}return _0x3287bd;}async function getInstalledSkills(){const _0x4c817a=_0x19f961,_0xe8ab20={'ZirgH':function(_0x57766b){return _0x57766b();},'UaoYu':_0x4c817a(0x227),'sGgxt':function(_0x1dc262,_0x5eabe6,_0x126ce0){return _0x1dc262(_0x5eabe6,_0x126ce0);},'rYeJU':function(_0x3acefe){return _0x3acefe();},'mCLmg':'user'},[_0x116c3e,_0x446cc0]=await Promise['all']([getSkillsFromDir(_0xe8ab20['ZirgH'](getProjectSkillsDir),_0xe8ab20['UaoYu']),_0xe8ab20['sGgxt'](getSkillsFromDir,_0xe8ab20[_0x4c817a(0x23e)](getUserSkillsDir),_0xe8ab20['mCLmg'])]);return{'project':_0x116c3e,'user':_0x446cc0};}async function getEnvironments(){const _0x413663=_0x19f961,_0x4977a9={'nlzBZ':function(_0x22fd06,_0xacdc79){return _0x22fd06(_0xacdc79);},'gAoEJ':'settings.json','xpSvv':'auth.json','keovX':function(_0x379450,_0x2e425a){return _0x379450(_0x2e425a);},'FLFQh':function(_0x364273,_0x115abe){return _0x364273===_0x115abe;},'hJRbg':function(_0x56808b){return _0x56808b();},'kPOfi':function(_0x559770,_0x3c70a6){return _0x559770(_0x3c70a6);}},{envNames:_0x599bd4,activeEnv:_0x52f2ce}=await getEnvNames(),_0x29613d=_0x4977a9['hJRbg'](getRangerDir);if(!_0x4977a9['kPOfi'](existsSync,_0x29613d))return{'envs':[],'activeEnv':null};const _0x6a6dcb=_0x599bd4[_0x413663(0x237)](_0x29a955=>{const _0x36532d=_0x413663,_0x1479d0=_0x4977a9[_0x36532d(0x1e5)](getEnvDir,_0x29a955),_0x2a5d8c=join(_0x1479d0,_0x4977a9['gAoEJ']),_0x2c6a98=join(_0x1479d0,_0x4977a9['xpSvv']),_0x35bb54=join(_0x1479d0,'auth.json.enc');return{'name':_0x29a955,'settingsPath':existsSync(_0x2a5d8c)?_0x2a5d8c:'(not\x20found)','hasPlaintextAuth':_0x4977a9[_0x36532d(0x236)](existsSync,_0x2c6a98),'hasEncryptedAuth':_0x4977a9['keovX'](existsSync,_0x35bb54),'isActive':_0x4977a9[_0x36532d(0x223)](_0x29a955,_0x52f2ce)};});return{'envs':_0x6a6dcb,'activeEnv':_0x52f2ce};}export async function status(){const _0x57cda5=_0x19f961,_0x1803cb={'iLKst':function(_0x568914){return _0x568914();},'spxOq':function(_0x399e7d,_0x2ed9f8,_0x37e4aa){return _0x399e7d(_0x2ed9f8,_0x37e4aa);},'RbDHU':function(_0x6294b0){return _0x6294b0();},'GKkDG':function(_0xa6d2b8,_0x38d42c){return _0xa6d2b8(_0x38d42c);},'aAkTR':function(_0x5705e4,_0x25d8a7){return _0x5705e4(_0x25d8a7);},'PUmFU':function(_0x120f94){return _0x120f94();},'iIQhS':function(_0x52559b){return _0x52559b();},'UUikG':function(_0x2f0cf2,_0x51efd8){return _0x2f0cf2===_0x51efd8;},'qkfve':_0x57cda5(0x23d),'AYnsa':function(_0x5b42ad,_0x416e74){return _0x5b42ad(_0x416e74);},'RASex':_0x57cda5(0x1eb),'wvTcZ':'not_configured','JFycv':_0x57cda5(0x202),'HQZEJ':_0x57cda5(0x216),'yPDjY':'\x20\x20OpenCode\x20not\x20installed\x20or\x20not\x20available','gvLAG':_0x57cda5(0x1ea),'aSGch':'unknown','pRDgx':function(_0x232d60,_0x408404){return _0x232d60(_0x408404);},'QzBOp':_0x57cda5(0x21f),'vFpSt':function(_0x344a3c,_0x4cad1d){return _0x344a3c+_0x4cad1d;},'HtvWl':function(_0x576ffd,_0x2711b8){return _0x576ffd===_0x2711b8;},'pqOir':_0x57cda5(0x232),'pJOKU':function(_0x3ef2eb,_0x4acedf){return _0x3ef2eb(_0x4acedf);},'iGnlx':_0x57cda5(0x21e),'TvaHj':_0x57cda5(0x1e9),'ysvDQ':_0x57cda5(0x233),'EnIbV':_0x57cda5(0x20b),'qxDKM':'plaintext','BLxGx':'none','jPlVN':function(_0x2f4c87,_0xa32313){return _0x2f4c87(_0xa32313);},'uXXHw':function(_0x44ee43,_0x2ffea7){return _0x44ee43!==_0x2ffea7;},'MbNaO':_0x57cda5(0x23f),'AVspP':function(_0x27c81f,_0x3b3535){return _0x27c81f(_0x3b3535);}};console[_0x57cda5(0x207)]('\x0a📊\x20Ranger\x20Status\x0a');const _0x3832f3=process[_0x57cda5(0x200)](),_0x5a2eb6=_0x1803cb[_0x57cda5(0x22b)](getRangerDir);if(!existsSync(_0x5a2eb6)){console[_0x57cda5(0x207)]('Root:\x20'+_0x1803cb[_0x57cda5(0x214)](link,_0x3832f3,bold(basename(_0x3832f3)))),console['log']('\x0aRanger\x20has\x20not\x20been\x20initialized\x20in\x20this\x20directory.'),console[_0x57cda5(0x207)]('\x20\x20Run:\x20ranger\x20setup\x20[token]\x0a');return;}console[_0x57cda5(0x207)]('Root:\x20'+_0x1803cb[_0x57cda5(0x214)](link,_0x3832f3,bold(basename(_0x3832f3))));const _0x2963fa=getCurrentVersion(),_0x20027c=getLatestVersion();if(_0x20027c['version']&&_0x20027c[_0x57cda5(0x1e7)]!==_0x2963fa)console[_0x57cda5(0x207)](_0x57cda5(0x1e1)+_0x2963fa+'\x20(latest:\x20'+_0x20027c[_0x57cda5(0x1e7)]+')'),console[_0x57cda5(0x207)]('\x20\x20Run:\x20ranger\x20update');else _0x20027c[_0x57cda5(0x1e7)]?console[_0x57cda5(0x207)](_0x57cda5(0x1e1)+_0x2963fa+'\x20(up\x20to\x20date)'):console[_0x57cda5(0x207)]('Version:\x20'+_0x2963fa);const _0x2165c8=await _0x1803cb['RbDHU'](getToken);if(_0x2165c8){const _0x37316b=await _0x1803cb['GKkDG'](getCurrentUser,_0x2165c8);_0x37316b['success']?console[_0x57cda5(0x207)]('Organization:\x20'+_0x1803cb[_0x57cda5(0x22e)](bold,_0x37316b[_0x57cda5(0x22d)]['organizationName'])):(console[_0x57cda5(0x207)](_0x57cda5(0x1f1)),console['log'](_0x57cda5(0x1ef)));}else console['log']('API\x20Token:\x20✗\x20Not\x20found'),console['log'](_0x57cda5(0x1ef));process['env']['DEBUG']&&(console['log']('API\x20Environment:\x20'+_0x1803cb['PUmFU'](getCurrentEnvironment)),console[_0x57cda5(0x207)]('API\x20URL:\x20'+getApiBaseUrl()));console['log']('\x0a---\x20OpenCode\x20Plugin\x20---');const _0x4e0401=await _0x1803cb[_0x57cda5(0x204)](getOpencodePluginStatus);if(_0x1803cb[_0x57cda5(0x1f5)](_0x4e0401['status'],_0x1803cb[_0x57cda5(0x1f4)]))console['log']('\x20\x20'+_0x1803cb[_0x57cda5(0x1e3)](bold,_0x1803cb[_0x57cda5(0x22a)])+_0x57cda5(0x1fb)),_0x4e0401[_0x57cda5(0x23c)]&&console[_0x57cda5(0x207)]('\x20\x20'+_0x4e0401['details']);else _0x4e0401['status']===_0x1803cb['wvTcZ']?(console[_0x57cda5(0x207)](_0x1803cb['JFycv']),_0x4e0401[_0x57cda5(0x23c)]&&console[_0x57cda5(0x207)]('\x20\x20'+_0x4e0401['details']),console[_0x57cda5(0x207)](_0x1803cb[_0x57cda5(0x238)])):console['log'](_0x1803cb[_0x57cda5(0x240)]);console[_0x57cda5(0x207)](_0x1803cb['gvLAG']);const _0x4794d0=await _0x1803cb[_0x57cda5(0x1e3)](getPluginInfo,_0x57cda5(0x21f));if(_0x4794d0){const _0x1dfe1c=_0x4794d0[_0x57cda5(0x21b)]||_0x1803cb[_0x57cda5(0x22f)],_0x5c682c=_0x4794d0[_0x57cda5(0x20c)]?'enabled':_0x57cda5(0x1fe);console['log']('\x20\x20'+_0x1803cb[_0x57cda5(0x228)](bold,_0x1803cb['QzBOp'])+':\x20installed\x20('+_0x1dfe1c+',\x20'+_0x5c682c+')');}else console[_0x57cda5(0x207)]('\x20\x20Not\x20installed'),console[_0x57cda5(0x207)](_0x57cda5(0x1f0));console['log']('\x0a---\x20Skills\x20---');const {project:_0x4dd068,user:_0x5e4965}=await getInstalledSkills(),_0x3526a5=_0x4dd068[_0x57cda5(0x225)](_0x429375=>RANGER_MANAGED_SKILLS[_0x57cda5(0x23a)](_0x429375[_0x57cda5(0x231)])),_0x3e6318=_0x5e4965[_0x57cda5(0x225)](_0x39729b=>RANGER_MANAGED_SKILLS['includes'](_0x39729b[_0x57cda5(0x231)])),_0x100b5b=_0x1803cb['vFpSt'](_0x3526a5['length'],_0x3e6318['length']);if(_0x1803cb['HtvWl'](_0x100b5b,0x0))console['log']('No\x20skills\x20installed'),console['log'](_0x57cda5(0x210));else{if(_0x3526a5[_0x57cda5(0x229)]>0x0){console[_0x57cda5(0x207)](_0x1803cb['pqOir']);for(const _0x21da4d of _0x3526a5){console[_0x57cda5(0x207)](_0x57cda5(0x21d)+bold(_0x21da4d['displayName'])+':\x20'+link(_0x21da4d['path'],basename(_0x21da4d[_0x57cda5(0x213)])));}}if(_0x3e6318['length']>0x0){console[_0x57cda5(0x207)](_0x57cda5(0x1ec));for(const _0xe4d7ce of _0x3e6318){console[_0x57cda5(0x207)](_0x57cda5(0x21d)+_0x1803cb['pJOKU'](bold,_0xe4d7ce['displayName'])+':\x20'+link(_0xe4d7ce['path'],_0x1803cb['pJOKU'](basename,_0xe4d7ce[_0x57cda5(0x213)])));}}}console[_0x57cda5(0x207)](_0x1803cb[_0x57cda5(0x219)]);const {envs:_0x44ed28,activeEnv:_0x264531}=await getEnvironments();if(_0x44ed28['length']===0x0)console[_0x57cda5(0x207)](_0x1803cb['TvaHj']),console['log']('\x20\x20Run:\x20ranger\x20profile\x20add\x20<profile-name>');else{for(const _0x27d338 of _0x44ed28){const _0x5a2c05=_0x27d338['isActive']?_0x1803cb['ysvDQ']:'',_0x534b5c=_0x27d338['hasEncryptedAuth']?_0x1803cb[_0x57cda5(0x1ee)]:_0x27d338[_0x57cda5(0x239)]?_0x1803cb['qxDKM']:_0x1803cb[_0x57cda5(0x1f9)];console[_0x57cda5(0x207)]('\x20\x20'+_0x1803cb[_0x57cda5(0x1e8)](bold,_0x27d338['name'])+_0x5a2c05),console['log'](_0x57cda5(0x1f7)+_0x534b5c),_0x1803cb['uXXHw'](_0x27d338['settingsPath'],_0x1803cb['MbNaO'])&&console[_0x57cda5(0x207)]('\x20\x20\x20\x20Settings:\x20'+_0x1803cb['spxOq'](link,_0x27d338['settingsPath'],_0x1803cb['AVspP'](basename,_0x27d338['settingsPath'])));}!_0x264531&&(console[_0x57cda5(0x207)](_0x57cda5(0x212)),console[_0x57cda5(0x207)](_0x57cda5(0x220)+_0x44ed28['map'](_0x347011=>_0x347011['name'])[_0x57cda5(0x221)](',\x20')+')'));}console['log']('');}
1
+ const _0x44fe5d=_0x129c;(function(_0x5a143a,_0x1740cd){const _0x4f1e39=_0x129c,_0x20bacb=_0x5a143a();while(!![]){try{const _0x3531ca=-parseInt(_0x4f1e39(0x92))/0x1+-parseInt(_0x4f1e39(0xd7))/0x2+parseInt(_0x4f1e39(0xd8))/0x3*(-parseInt(_0x4f1e39(0x7c))/0x4)+-parseInt(_0x4f1e39(0x81))/0x5+parseInt(_0x4f1e39(0xa6))/0x6*(-parseInt(_0x4f1e39(0xc5))/0x7)+-parseInt(_0x4f1e39(0x8d))/0x8+-parseInt(_0x4f1e39(0xa7))/0x9*(-parseInt(_0x4f1e39(0x85))/0xa);if(_0x3531ca===_0x1740cd)break;else _0x20bacb['push'](_0x20bacb['shift']());}catch(_0x4c63f9){_0x20bacb['push'](_0x20bacb['shift']());}}}(_0x3d66,0x84d37));import{readFile,readdir}from'fs/promises';function _0x129c(_0x4f604c,_0x249bbc){_0x4f604c=_0x4f604c-0x7c;const _0x3d66bb=_0x3d66();let _0x129cfa=_0x3d66bb[_0x4f604c];return _0x129cfa;}import{join,basename}from'path';import{existsSync}from'fs';import{getToken}from'./utils/keychain.js';import{getCurrentVersion,getLatestVersion}from'./utils/version.js';import{getApiBaseUrl,getCurrentEnvironment}from'./utils/environment.js';import{getProjectSkillsDir,getUserSkillsDir}from'./utils/claudeConfig.js';import{getEnvNames}from'./env.js';import{getCurrentUser}from'./utils/userApi.js';import{getRangerDir}from'./utils/rangerRoot.js';import{getEnvDir}from'./utils/settings.js';import{getPluginInfo}from'./utils/claudePlugin.js';import{RANGER_MANAGED_SKILLS}from'./utils/skills.js';import{spawn}from'child_process';const bold=_0xd95dea=>_0x44fe5d(0xc2)+_0xd95dea+'\x1b[0m',link=(_0x55f39f,_0x2b48f5)=>_0x44fe5d(0xcb)+_0x55f39f+'\x07'+(_0x2b48f5||_0x55f39f)+'\x1b]8;;\x07';async function getOpencodePluginStatus(){const _0x52147f=_0x44fe5d,_0x3173fd={'pWwhz':function(_0x15627e,_0x57a887){return _0x15627e(_0x57a887);},'WimtV':function(_0x3dbdb6,_0x5eaa2e){return _0x3dbdb6!==_0x5eaa2e;},'ydfxV':_0x52147f(0xb2),'Zttfx':function(_0x2e6a70,_0x27700b){return _0x2e6a70>_0x27700b;},'bIXjh':'not_configured','kawnX':_0x52147f(0xd3),'KLZUE':_0x52147f(0xb4),'uxikz':_0x52147f(0xd0)};return new Promise(_0x51dda7=>{const _0x46e28e=_0x52147f,_0x125e18={'PoDDA':function(_0x378f12,_0x211f32){const _0x2d9022=_0x129c;return _0x3173fd[_0x2d9022(0x93)](_0x378f12,_0x211f32);},'QCFOx':_0x46e28e(0x89),'tPOyv':function(_0x442463,_0x26487d){return _0x3173fd['WimtV'](_0x442463,_0x26487d);},'aYsPx':_0x3173fd['ydfxV'],'GzZFV':function(_0x55956e,_0x4851df){const _0x88e37e=_0x46e28e;return _0x3173fd[_0x88e37e(0xc8)](_0x55956e,_0x4851df);},'XsoAj':_0x3173fd[_0x46e28e(0x90)]},_0x2fd5ed=spawn('opencode',['debug',_0x46e28e(0xd4)],{'stdio':['ignore','pipe',_0x3173fd['kawnX']]});let _0x4bff22='';_0x2fd5ed[_0x46e28e(0xa5)]?.['on'](_0x46e28e(0xb4),_0x454fa3=>{const _0x333905=_0x46e28e;_0x4bff22+=_0x454fa3[_0x333905(0x83)]();}),_0x2fd5ed[_0x46e28e(0x9b)]?.['on'](_0x3173fd['KLZUE'],_0x2159ee=>{const _0x12354c=_0x46e28e;_0x4bff22+=_0x2159ee[_0x12354c(0x83)]();}),_0x2fd5ed['on'](_0x46e28e(0x8f),()=>{const _0x1de091=_0x46e28e;_0x125e18[_0x1de091(0x7e)](_0x51dda7,{'status':_0x125e18['QCFOx']});}),_0x2fd5ed['on'](_0x3173fd['uxikz'],_0x3bb556=>{const _0x93431e=_0x46e28e;if(_0x125e18['tPOyv'](_0x3bb556,0x0)){_0x125e18['PoDDA'](_0x51dda7,{'status':_0x93431e(0x89)});return;}const _0x2a60f3=_0x4bff22[_0x93431e(0xb7)]();let _0x4464c1=null;if(_0x2a60f3)try{_0x4464c1=JSON['parse'](_0x2a60f3);}catch{const _0x2ff866=_0x2a60f3[_0x93431e(0x86)](/\{[\s\S]*\}$/);if(_0x2ff866)try{_0x4464c1=JSON['parse'](_0x2ff866[0x0]);}catch{_0x4464c1=null;}}const _0x2a6270=Array['isArray'](_0x4464c1?.['plugin'])?_0x4464c1?.['plugin']:[],_0x443078=_0x2a6270[_0x93431e(0xba)](_0x219bfe=>{const _0x57bf0d=_0x93431e;if(_0x125e18[_0x57bf0d(0xc9)](typeof _0x219bfe,'string'))return![];return _0x219bfe[_0x57bf0d(0xbe)](_0x57bf0d(0x98))||_0x219bfe[_0x57bf0d(0xbe)]('opencode-plugin');});if(_0x443078){_0x51dda7({'status':_0x125e18['aYsPx'],'details':_0x125e18['GzZFV'](_0x2a6270[_0x93431e(0xb8)],0x0)?_0x2a6270[_0x93431e(0xb8)]+'\x20plugin(s)\x20configured':undefined});return;}if(_0x2a6270['length']>0x0){_0x51dda7({'status':_0x125e18['XsoAj'],'details':_0x2a6270[_0x93431e(0xb8)]+'\x20plugin(s)\x20configured'});return;}_0x51dda7({'status':_0x125e18[_0x93431e(0x88)]});});});}async function getSkillsFromDir(_0x63ae91,_0x1172e2){const _0x2332f2=_0x44fe5d,_0x2989d7={'pwKbY':function(_0x599ded,_0x3b0c36,_0xfc68b3){return _0x599ded(_0x3b0c36,_0xfc68b3);},'wBbaZ':function(_0x54b1e9,_0xb73e68,_0x1774d1,_0x5a7075){return _0x54b1e9(_0xb73e68,_0x1774d1,_0x5a7075);},'uIBhi':'SKILL.md','MbyDP':function(_0x5a8b28,_0x4b39f5){return _0x5a8b28(_0x4b39f5);},'OBwhS':function(_0x432aea,_0x673cb0,_0x9dbfda){return _0x432aea(_0x673cb0,_0x9dbfda);},'QAbkI':'utf-8'};if(!existsSync(_0x63ae91))return[];const _0x4bd464=[];try{const _0x123122=await _0x2989d7['pwKbY'](readdir,_0x63ae91,{'withFileTypes':!![]});for(const _0x525111 of _0x123122){if(_0x525111['isDirectory']()){const _0x2d8d41=_0x2989d7['wBbaZ'](join,_0x63ae91,_0x525111['name'],_0x2989d7[_0x2332f2(0xcf)]);if(_0x2989d7['MbyDP'](existsSync,_0x2d8d41)){let _0x130169=_0x525111[_0x2332f2(0xaa)];try{const _0x583dd8=await _0x2989d7[_0x2332f2(0xbd)](readFile,_0x2d8d41,_0x2989d7['QAbkI']),_0x769663=_0x583dd8[_0x2332f2(0x86)](/name:\s*(.+)/);_0x769663&&(_0x130169=_0x769663[0x1][_0x2332f2(0xb7)]());}catch{}_0x4bd464[_0x2332f2(0x87)]({'name':_0x525111['name'],'displayName':_0x130169,'path':_0x2d8d41,'level':_0x1172e2});}}}}catch{return[];}return _0x4bd464;}async function getInstalledSkills(){const _0x1b2445=_0x44fe5d,_0x16ca12={'eFmLR':function(_0x56aaf9,_0x4a4df6,_0x4af89d){return _0x56aaf9(_0x4a4df6,_0x4af89d);},'sPwDT':_0x1b2445(0x91),'MSrUm':function(_0xbea098,_0x95cab0,_0x2aa7c0){return _0xbea098(_0x95cab0,_0x2aa7c0);},'vLykE':function(_0xe00b52){return _0xe00b52();}},[_0x1c272b,_0x566026]=await Promise[_0x1b2445(0xdb)]([_0x16ca12[_0x1b2445(0xc3)](getSkillsFromDir,getProjectSkillsDir(),_0x16ca12['sPwDT']),_0x16ca12[_0x1b2445(0x9a)](getSkillsFromDir,_0x16ca12[_0x1b2445(0xa1)](getUserSkillsDir),_0x1b2445(0xb1))]);return{'project':_0x1c272b,'user':_0x566026};}async function getEnvironments(){const _0x2272ec=_0x44fe5d,_0x253803={'UmgzB':function(_0x5df3a7,_0x40b38c,_0x3d33b3){return _0x5df3a7(_0x40b38c,_0x3d33b3);},'YxSuE':_0x2272ec(0xb5),'adrBm':function(_0xc1f0ac,_0x1af590){return _0xc1f0ac(_0x1af590);},'cqAuV':function(_0xe7faf4,_0x2d1a77){return _0xe7faf4(_0x2d1a77);},'GGQlC':function(_0x2829a8,_0x4e5b3d){return _0x2829a8===_0x4e5b3d;},'NempO':function(_0x163ca4){return _0x163ca4();}},{envNames:_0xbee584,activeEnv:_0x1af0d8}=await _0x253803['NempO'](getEnvNames),_0x1ad3bb=getRangerDir();if(!existsSync(_0x1ad3bb))return{'envs':[],'activeEnv':null};const _0x5a5a56=_0xbee584[_0x2272ec(0x95)](_0x25938f=>{const _0x2c26c5=_0x2272ec,_0x38aaa1=getEnvDir(_0x25938f),_0x1a65ff=_0x253803['UmgzB'](join,_0x38aaa1,'settings.json'),_0x1507cf=join(_0x38aaa1,'auth.json'),_0x42b077=join(_0x38aaa1,_0x253803[_0x2c26c5(0x96)]);return{'name':_0x25938f,'settingsPath':_0x253803['adrBm'](existsSync,_0x1a65ff)?_0x1a65ff:_0x2c26c5(0xb9),'hasPlaintextAuth':_0x253803['cqAuV'](existsSync,_0x1507cf),'hasEncryptedAuth':_0x253803[_0x2c26c5(0xcd)](existsSync,_0x42b077),'isActive':_0x253803[_0x2c26c5(0x9e)](_0x25938f,_0x1af0d8)};});return{'envs':_0x5a5a56,'activeEnv':_0x1af0d8};}export async function status(){const _0x23f008=_0x44fe5d,_0x49ed78={'eepwL':function(_0x1c8ac8){return _0x1c8ac8();},'aWVyu':function(_0x2d94ba,_0x549bcd){return _0x2d94ba(_0x549bcd);},'gvMEk':function(_0x396a71,_0x394a5c,_0x52089c){return _0x396a71(_0x394a5c,_0x52089c);},'Kthlg':'\x0a---\x20OpenCode\x20Plugin\x20---','dkGYK':function(_0x552943,_0x572fbb){return _0x552943===_0x572fbb;},'hUsRE':'@ranger-testing/opencode-plugin','SLfSg':_0x23f008(0xca),'wddiq':'\x20\x20Not\x20configured','BmNIk':_0x23f008(0x9c),'BObZS':_0x23f008(0xa8),'pxCPc':_0x23f008(0xa4),'lvMQO':'\x20\x20Project-level:','QuRgV':function(_0x1906a9,_0x55c721,_0x3b547e){return _0x1906a9(_0x55c721,_0x3b547e);},'MefuI':function(_0x2051a2,_0x45a6a7){return _0x2051a2>_0x45a6a7;},'JKBkW':'\x20\x20User-level:','CMJCK':function(_0x4e7ef6,_0x5d98b8){return _0x4e7ef6(_0x5d98b8);},'sgEJT':function(_0x1c89b4,_0x1f9811){return _0x1c89b4(_0x1f9811);},'IAROF':'\x0a---\x20Profiles\x20---','EgvXm':function(_0x2361bd){return _0x2361bd();},'jXaSF':'\x20(active)','OIsGI':'encrypted'};console['log'](_0x23f008(0x8c));const _0x28f642=process[_0x23f008(0xa2)](),_0x44a84a=_0x49ed78[_0x23f008(0xcc)](getRangerDir);if(!existsSync(_0x44a84a)){console[_0x23f008(0x94)](_0x23f008(0xbf)+link(_0x28f642,_0x49ed78[_0x23f008(0x8b)](bold,basename(_0x28f642)))),console[_0x23f008(0x94)]('\x0aRanger\x20has\x20not\x20been\x20initialized\x20in\x20this\x20directory.'),console['log']('\x20\x20Run:\x20ranger\x20setup\x20[token]\x0a');return;}console[_0x23f008(0x94)]('Root:\x20'+_0x49ed78['gvMEk'](link,_0x28f642,bold(basename(_0x28f642))));const _0x4c7d7b=getCurrentVersion(),_0x39d922=getLatestVersion();if(_0x39d922['version']&&_0x39d922['version']!==_0x4c7d7b)console['log']('Version:\x20'+_0x4c7d7b+'\x20(latest:\x20'+_0x39d922[_0x23f008(0x7f)]+')'),console[_0x23f008(0x94)](_0x23f008(0xd5));else _0x39d922[_0x23f008(0x7f)]?console['log']('Version:\x20'+_0x4c7d7b+_0x23f008(0x84)):console['log']('Version:\x20'+_0x4c7d7b);const _0x1ea93f=await getToken();if(_0x1ea93f){const _0x4d15d3=await getCurrentUser(_0x1ea93f);_0x4d15d3['success']?console[_0x23f008(0x94)](_0x23f008(0xd9)+bold(_0x4d15d3[_0x23f008(0xb1)]['organizationName'])):(console['log']('API\x20Token:\x20✓\x20Found\x20but\x20invalid\x20or\x20expired'),console[_0x23f008(0x94)]('\x20\x20Run:\x20ranger\x20setup\x20[token]'));}else console['log']('API\x20Token:\x20✗\x20Not\x20found'),console['log'](_0x23f008(0x8a));process['env'][_0x23f008(0x80)]&&(console[_0x23f008(0x94)]('API\x20Environment:\x20'+getCurrentEnvironment()),console[_0x23f008(0x94)](_0x23f008(0xae)+_0x49ed78[_0x23f008(0xcc)](getApiBaseUrl)));console['log'](_0x49ed78['Kthlg']);const _0x409c51=await getOpencodePluginStatus();if(_0x49ed78[_0x23f008(0xc7)](_0x409c51['status'],'configured'))console['log']('\x20\x20'+bold(_0x49ed78[_0x23f008(0x82)])+':\x20configured'),_0x409c51['details']&&console['log']('\x20\x20'+_0x409c51[_0x23f008(0xab)]);else _0x409c51['status']===_0x49ed78[_0x23f008(0xda)]?(console[_0x23f008(0x94)](_0x49ed78[_0x23f008(0xdc)]),_0x409c51['details']&&console[_0x23f008(0x94)]('\x20\x20'+_0x409c51[_0x23f008(0xab)]),console['log'](_0x49ed78['BmNIk'])):console[_0x23f008(0x94)](_0x23f008(0x8e));console[_0x23f008(0x94)]('\x0a---\x20Claude\x20Code\x20Plugin\x20---');const _0x5f1153=await getPluginInfo(_0x49ed78['BObZS']);if(_0x5f1153){const _0xdd2967=_0x5f1153[_0x23f008(0xc4)]||_0x23f008(0xc0),_0x2f2d75=_0x5f1153['enabled']?_0x23f008(0xce):'disabled';console[_0x23f008(0x94)]('\x20\x20'+bold('ranger@trailhead')+_0x23f008(0x97)+_0xdd2967+',\x20'+_0x2f2d75+')');}else console[_0x23f008(0x94)]('\x20\x20Not\x20installed'),console[_0x23f008(0x94)](_0x49ed78['pxCPc']);console[_0x23f008(0x94)]('\x0a---\x20Skills\x20---');const {project:_0x352909,user:_0x506a44}=await _0x49ed78[_0x23f008(0xcc)](getInstalledSkills),_0x5e310d=_0x352909[_0x23f008(0x9d)](_0x5128b1=>RANGER_MANAGED_SKILLS['includes'](_0x5128b1[_0x23f008(0xaa)])),_0x319f24=_0x506a44[_0x23f008(0x9d)](_0x1359d4=>RANGER_MANAGED_SKILLS['includes'](_0x1359d4['name'])),_0x2e2149=_0x5e310d[_0x23f008(0xb8)]+_0x319f24['length'];if(_0x2e2149===0x0)console[_0x23f008(0x94)](_0x23f008(0xd2)),console[_0x23f008(0x94)]('\x20\x20Run:\x20ranger\x20skillup');else{if(_0x5e310d['length']>0x0){console['log'](_0x49ed78['lvMQO']);for(const _0x31122d of _0x5e310d){console['log']('\x20\x20\x20\x20'+bold(_0x31122d[_0x23f008(0xb6)])+':\x20'+_0x49ed78[_0x23f008(0xaf)](link,_0x31122d['path'],basename(_0x31122d[_0x23f008(0xa0)])));}}if(_0x49ed78[_0x23f008(0xbb)](_0x319f24[_0x23f008(0xb8)],0x0)){console[_0x23f008(0x94)](_0x49ed78[_0x23f008(0xad)]);for(const _0x493ffa of _0x319f24){console[_0x23f008(0x94)]('\x20\x20\x20\x20'+_0x49ed78['CMJCK'](bold,_0x493ffa['displayName'])+':\x20'+link(_0x493ffa[_0x23f008(0xa0)],_0x49ed78['sgEJT'](basename,_0x493ffa['path'])));}}}console['log'](_0x49ed78[_0x23f008(0xa3)]);const {envs:_0x3b64b5,activeEnv:_0x3af80c}=await _0x49ed78['EgvXm'](getEnvironments);if(_0x49ed78[_0x23f008(0xc7)](_0x3b64b5[_0x23f008(0xb8)],0x0))console[_0x23f008(0x94)]('No\x20profiles\x20configured'),console['log']('\x20\x20Run:\x20ranger\x20profile\x20add\x20<profile-name>');else{for(const _0x41ceb7 of _0x3b64b5){const _0x3f66cc=_0x41ceb7[_0x23f008(0xc1)]?_0x49ed78[_0x23f008(0x9f)]:'',_0x3a226d=_0x41ceb7['hasEncryptedAuth']?_0x49ed78[_0x23f008(0xa9)]:_0x41ceb7[_0x23f008(0xbc)]?_0x23f008(0xb0):'none';console[_0x23f008(0x94)]('\x20\x20'+_0x49ed78[_0x23f008(0xb3)](bold,_0x41ceb7[_0x23f008(0xaa)])+_0x3f66cc),console[_0x23f008(0x94)](_0x23f008(0x7d)+_0x3a226d),_0x41ceb7[_0x23f008(0xac)]!=='(not\x20found)'&&console[_0x23f008(0x94)](_0x23f008(0xc6)+link(_0x41ceb7[_0x23f008(0xac)],basename(_0x41ceb7['settingsPath'])));}!_0x3af80c&&(console['log'](_0x23f008(0xd1)),console['log'](_0x23f008(0xd6)+_0x3b64b5['map'](_0xffdbb=>_0xffdbb[_0x23f008(0xaa)])[_0x23f008(0x99)](',\x20')+')'));}console[_0x23f008(0x94)]('');}function _0x3d66(){const _0x14c302=['toString','\x20(up\x20to\x20date)','950BBgxeL','match','push','XsoAj','not_installed','\x20\x20Run:\x20ranger\x20setup\x20[token]','aWVyu','\x0a📊\x20Ranger\x20Status\x0a','3958000JFUMKp','\x20\x20OpenCode\x20not\x20installed\x20or\x20not\x20available','error','bIXjh','project','137650Xapfax','pWwhz','log','map','YxSuE',':\x20installed\x20(','@ranger-testing/opencode-plugin','join','MSrUm','stderr','\x20\x20Run:\x20ranger\x20setup\x20--opencode','filter','GGQlC','jXaSF','path','vLykE','cwd','IAROF','\x20\x20Run:\x20ranger\x20setup\x20[token]\x20\x20(includes\x20plugin\x20installation)','stdout','12bAZmMH','271377uKUPZo','ranger@trailhead','OIsGI','name','details','settingsPath','JKBkW','API\x20URL:\x20','QuRgV','plaintext','user','configured','sgEJT','data','auth.json.enc','displayName','trim','length','(not\x20found)','some','MefuI','hasPlaintextAuth','OBwhS','includes','Root:\x20','unknown','isActive','\x1b[1m','eFmLR','scope','1478666pvLnFi','\x20\x20\x20\x20Settings:\x20','dkGYK','Zttfx','tPOyv','not_configured','\x1b]8;;file://','eepwL','adrBm','enabled','uIBhi','close','\x0a\x20\x20No\x20active\x20profile\x20set','No\x20skills\x20installed','pipe','config','\x20\x20Run:\x20ranger\x20update','\x20\x20Run:\x20ranger\x20profile\x20use\x20<profile-name>\x20\x20(available:\x20','714450Wszhap','1258539PvzvaZ','Organization:\x20','SLfSg','all','wddiq','8TzryAo','\x20\x20\x20\x20Auth:\x20','PoDDA','version','DEBUG','346765LYmaSM','hUsRE'];_0x3d66=function(){return _0x14c302;};return _0x3d66();}
@@ -1 +1 @@
1
- (function(_0x1012ec,_0x176122){const _0x156627=_0x228a,_0x1f3bb9=_0x1012ec();while(!![]){try{const _0x103af7=parseInt(_0x156627(0xb1))/0x1+-parseInt(_0x156627(0xc7))/0x2*(-parseInt(_0x156627(0xa9))/0x3)+parseInt(_0x156627(0xcf))/0x4*(-parseInt(_0x156627(0x99))/0x5)+-parseInt(_0x156627(0xaf))/0x6+parseInt(_0x156627(0xa5))/0x7+-parseInt(_0x156627(0xd9))/0x8*(-parseInt(_0x156627(0xc3))/0x9)+-parseInt(_0x156627(0xa1))/0xa*(parseInt(_0x156627(0xc5))/0xb);if(_0x103af7===_0x176122)break;else _0x1f3bb9['push'](_0x1f3bb9['shift']());}catch(_0x380941){_0x1f3bb9['push'](_0x1f3bb9['shift']());}}}(_0x3d7b,0xf3dfc));import{spawn}from'child_process';import{existsSync}from'fs';function _0x228a(_0x2fd8e4,_0xeba20c){_0x2fd8e4=_0x2fd8e4-0x89;const _0x3d7bfe=_0x3d7b();let _0x228a42=_0x3d7bfe[_0x2fd8e4];return _0x228a42;}import{readFile,writeFile}from'fs/promises';import{installSkill,removeSkill,RANGER_MANAGED_SKILLS,DEPRECATED_SKILLS}from'./utils/skills.js';import{PACKAGE_NAME,getCurrentVersion,getLatestVersion,compareVersions}from'./utils/version.js';import{getProjectRoot,getSkillsDir}from'./utils/claudeConfig.js';import{getOpencodeSkillsDir}from'./utils/opencodeConfig.js';import{join}from'path';function _0x3d7b(){const _0x37977e=['xZYdZ','hspgT','join','180QaCvxO','Claude\x20plugin\x20update\x20failed\x20for\x20','VlGab','\x0aYour\x20version\x20(','7026110gQJOmY','close','push','OMDOf','3265449NumWaV','\x0aCould\x20not\x20check\x20latest\x20version:\x20','qKdGy','\x0aClaude\x20plugin\x20updated\x20(user\x20scope).','--scope','split','11510046aWBOIN','trim','1563117wcEing','claude','trailhead','warn','Update\x20failed.','project','Attempting\x20install\x20anyway...','utf-8','EiBdy','WKNnv','lDNyx','...','ascMP','alpha','beta','dVOOt','Claude\x20marketplace\x20update\x20command\x20failed\x20(timed\x20out,\x20failed\x20to\x20start,\x20or\x20exited\x20with\x20a\x20non-zero\x20status).','\x0aReinstalling\x20','126uBIEjc','local','252186VMRKlj','QADKd','2ApQExc',')\x20is\x20newer\x20than\x20the\x20published\x20version\x20(','install','latest','bBmGw','splice','UkMUu','ignore','2982268xQHBeI','\x20—\x20reinstalling\x20@','\x20skill\x20','viNHH','pJiRn','Update\x20failed\x20for\x20@','SLZls','nBhAO','log','test','240088FxkohK','EUJCc','CssSD','vKRfc','opencode','\x20\x20Failed\x20to\x20reinstall\x20','IdKbz','win32','cwd','ZuuGC','length','kill','error','findIndex','OEEsS','platform','inherit','active-profile.txt','nftrz','user','pUlKs','version','5fnDKaf','piLHO','LASEw','some','DUPev'];_0x3d7b=function(){return _0x37977e;};return _0x3d7b();}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(_0x537258,_0x197888,_0x57a9cf){const _0x42494f=_0x228a,_0x360304={'PsxJi':function(_0x299276,_0x57e3a1){return _0x299276(_0x57e3a1);},'dVOOt':_0x42494f(0xce),'OMDOf':_0x42494f(0x93),'viNHH':function(_0x310a84,_0x5556f1){return _0x310a84===_0x5556f1;},'piLHO':function(_0x2a29de,_0x48b260,_0x55fd14){return _0x2a29de(_0x48b260,_0x55fd14);}};return new Promise(_0x1c74f3=>{const _0x29fb1a=_0x42494f,_0x57b1a0={'rNuDq':function(_0x834ac6,_0x5609ff){return _0x834ac6===_0x5609ff;}};let _0x2a5ac2=![],_0x1583e1;const _0x23388d=_0x5d0c8a=>{if(_0x2a5ac2)return;_0x2a5ac2=!![],_0x1583e1&&_0x360304['PsxJi'](clearTimeout,_0x1583e1),_0x1c74f3(_0x5d0c8a);},_0x55c03e=spawn(_0x537258,_0x197888,{'stdio':[_0x360304[_0x29fb1a(0xc0)],_0x57a9cf?.['stdio']??_0x360304[_0x29fb1a(0xa8)],_0x57a9cf?.['stdio']??_0x360304['OMDOf']],'cwd':_0x57a9cf?.[_0x29fb1a(0x8b)],'shell':_0x360304[_0x29fb1a(0xd2)](process[_0x29fb1a(0x92)],_0x29fb1a(0x8a))});_0x1583e1=_0x57a9cf?.['timeoutMs']?_0x360304[_0x29fb1a(0x9a)](setTimeout,()=>{const _0x3fe36e=_0x29fb1a;_0x55c03e[_0x3fe36e(0x8e)](),_0x55c03e['unref'](),_0x23388d(![]);},_0x57a9cf['timeoutMs']):undefined,_0x55c03e['on'](_0x29fb1a(0xa6),_0xcb6ae1=>{_0x23388d(_0x57b1a0['rNuDq'](_0xcb6ae1,0x0));}),_0x55c03e['on']('error',()=>{_0x23388d(![]);});});}export function resolveDistTag(_0x4d1fc9){const _0x415fdd=_0x228a,_0x43b634={'IHaKm':_0x415fdd(0xbe),'tnKsx':_0x415fdd(0xbf)};if(/-alpha\./i['test'](_0x4d1fc9))return _0x43b634['IHaKm'];if(/-beta\./i['test'](_0x4d1fc9))return _0x43b634['tnKsx'];if(/-rc\./i[_0x415fdd(0xd8)](_0x4d1fc9))return'rc';return _0x415fdd(0xca);}async function runInstall(_0x38ab05='latest'){const _0x4d20b6=_0x228a,_0x161ca1={'dBQxc':function(_0xcc753b,_0x1da93a){return _0xcc753b(_0x1da93a);},'DFJqh':function(_0x26b2f0,_0x4a5a5e){return _0x26b2f0===_0x4a5a5e;},'QxoVv':function(_0xaa47cc,_0x29b083){return _0xaa47cc(_0x29b083);},'pUlKs':function(_0x4b9d2e,_0x27b179,_0x8456e8,_0x1be6f0){return _0x4b9d2e(_0x27b179,_0x8456e8,_0x1be6f0);},'BVfQg':'npm','duEUY':_0x4d20b6(0xc9),'lDNyx':'ignore','vKRfc':'inherit','pJiRn':function(_0x320358,_0x413190){return _0x320358===_0x413190;},'qKdGy':'win32'};return new Promise(_0x2dc7b9=>{const _0x36271a=_0x4d20b6;console[_0x36271a(0xd7)]('\x0aInstalling\x20'+PACKAGE_NAME+'@'+_0x38ab05+'...\x0a');const _0x33eb76=_0x161ca1[_0x36271a(0x97)](spawn,_0x161ca1['BVfQg'],[_0x161ca1['duEUY'],'-g',PACKAGE_NAME+'@'+_0x38ab05],{'stdio':[_0x161ca1[_0x36271a(0xbb)],'inherit',_0x161ca1[_0x36271a(0xdc)]],'shell':_0x161ca1[_0x36271a(0xd3)](process['platform'],_0x161ca1[_0x36271a(0xab)])});_0x33eb76['on'](_0x36271a(0xa6),_0x5d01c3=>{_0x161ca1['dBQxc'](_0x2dc7b9,_0x161ca1['DFJqh'](_0x5d01c3,0x0));}),_0x33eb76['on'](_0x36271a(0x8f),()=>{_0x161ca1['QxoVv'](_0x2dc7b9,![]);});});}async function updateClaudeMarketplace(){const _0x323635=_0x228a,_0x35f014={'yobcW':'plugin','QADKd':_0x323635(0xc1)},_0x5c4bd5=await runCommand('claude',[_0x35f014['yobcW'],'marketplace','update',_0x323635(0xb3)],{'timeoutMs':CLAUDE_COMMAND_TIMEOUT_MS});if(!_0x5c4bd5)throw new Error(_0x35f014[_0x323635(0xc6)]);}async function updateClaudePlugin(_0x22bfad='user'){const _0x2826ff=_0x228a,_0x3e8f8f={'tMxRl':function(_0x48ae73,_0x43757e){return _0x48ae73!==_0x43757e;},'SLZls':'user','UkMUu':_0x2826ff(0xad),'brbCw':function(_0x28388b,_0x1e525c,_0x23598a,_0x486912){return _0x28388b(_0x1e525c,_0x23598a,_0x486912);},'GJQhp':_0x2826ff(0xb2),'fxgII':'local'},_0x287a36=['plugin','update','ranger@trailhead'];_0x3e8f8f['tMxRl'](_0x22bfad,_0x3e8f8f[_0x2826ff(0xd5)])&&_0x287a36['push'](_0x3e8f8f[_0x2826ff(0xcd)],_0x22bfad);const _0x34b14e=await _0x3e8f8f['brbCw'](runCommand,_0x3e8f8f['GJQhp'],_0x287a36,{'timeoutMs':CLAUDE_COMMAND_TIMEOUT_MS,'cwd':_0x22bfad===_0x2826ff(0xb6)||_0x22bfad===_0x3e8f8f['fxgII']?getProjectRoot():undefined});if(!_0x34b14e)throw new Error(_0x2826ff(0xa2)+_0x22bfad+'\x20scope\x20(timed\x20out,\x20failed\x20to\x20start,\x20or\x20exited\x20with\x20a\x20non-zero\x20status).');}function isSkillInstalled(_0x226e99,_0x343c8d,_0x3e47d4){const _0x4e194b=_0x228a,_0x33161b={'LASEw':function(_0x47eb19,_0x5c0978){return _0x47eb19(_0x5c0978);}},_0x342fb4=_0x3e47d4===_0x4e194b(0xdd)?getOpencodeSkillsDir(_0x343c8d):_0x33161b['LASEw'](getSkillsDir,_0x343c8d),_0x168045=join(_0x342fb4,_0x226e99);return _0x33161b[_0x4e194b(0x9b)](existsSync,_0x168045);}async function reinstallSkills(_0x1c48a6){const _0x5d75a0=_0x228a,_0x2b2ed9={'Qqdog':_0x5d75a0(0x96),'WKNnv':function(_0x6cba3f,_0x157fb6,_0xb2fdde,_0x216a52){return _0x6cba3f(_0x157fb6,_0xb2fdde,_0x216a52);},'ascMP':'claude','Vyxus':_0x5d75a0(0xdd),'xZYdZ':function(_0x190057,_0x9401d6,_0xd38e2a){return _0x190057(_0x9401d6,_0xd38e2a);},'DUPev':function(_0x47135c,_0x5a593a){return _0x47135c===_0x5a593a;},'bKook':'\x0aNo\x20ranger-managed\x20skills\x20found\x20to\x20reinstall.'},_0x2054a7=[_0x5d75a0(0xb6),_0x2b2ed9['Qqdog']],_0x3e53c4=[];for(const _0x3feba7 of _0x2054a7){for(const _0x310e84 of RANGER_MANAGED_SKILLS){_0x2b2ed9['WKNnv'](isSkillInstalled,_0x310e84,_0x3feba7,_0x2b2ed9['ascMP'])&&_0x3e53c4[_0x5d75a0(0xa7)]({'skillName':_0x310e84,'level':_0x3feba7,'platform':_0x2b2ed9[_0x5d75a0(0xbd)]}),_0x2b2ed9[_0x5d75a0(0xba)](isSkillInstalled,_0x310e84,_0x3feba7,'opencode')&&_0x3e53c4['push']({'skillName':_0x310e84,'level':_0x3feba7,'platform':_0x2b2ed9['Vyxus']});}}for(const _0x36188e of _0x2054a7){for(const _0x43c72b of DEPRECATED_SKILLS){await _0x2b2ed9[_0x5d75a0(0x9e)](removeSkill,_0x43c72b,_0x36188e);}}if(_0x2b2ed9[_0x5d75a0(0x9d)](_0x3e53c4[_0x5d75a0(0x8d)],0x0)){console['log'](_0x2b2ed9['bKook']);return;}console[_0x5d75a0(0xd7)](_0x5d75a0(0xc2)+_0x3e53c4['length']+'\x20ranger-managed\x20skill(s)...');for(const {skillName:_0x2f94bf,level:_0x5ba9ee,platform:_0x13fd1f}of _0x3e53c4){try{await installSkill(_0x2f94bf,{'level':_0x5ba9ee,'cliVersion':_0x1c48a6,'platform':_0x13fd1f});}catch(_0x426995){console[_0x5d75a0(0xb4)](_0x5d75a0(0xde)+_0x13fd1f+'\x20'+_0x5ba9ee+_0x5d75a0(0xd1)+_0x2f94bf+':',_0x426995);}}}async function ensureActiveProfileGitignored(){const _0x27f3a1=_0x228a,_0x267738={'MXDwS':function(_0x2652c4,_0x272836,_0x3c41f8){return _0x2652c4(_0x272836,_0x3c41f8);},'EQlqU':'.gitignore','pOqCh':function(_0x1da1c3,_0x2366bd){return _0x1da1c3(_0x2366bd);},'IdKbz':_0x27f3a1(0xb8),'Esfey':function(_0x147c7f,_0x5d495c,_0x195542,_0x357fb4){return _0x147c7f(_0x5d495c,_0x195542,_0x357fb4);}},_0x37e159=_0x267738['MXDwS'](join,getRangerDir(),_0x267738['EQlqU']);if(!_0x267738['pOqCh'](existsSync,_0x37e159))return![];let _0x29f68c='';try{_0x29f68c=await _0x267738['MXDwS'](readFile,_0x37e159,_0x267738['IdKbz']);}catch{return![];}const _0x49327d=_0x29f68c[_0x27f3a1(0xae)](/\r?\n/);if(_0x49327d[_0x27f3a1(0x9c)](_0x136c9a=>_0x136c9a[_0x27f3a1(0xb0)]()===_0x27f3a1(0x94)))return![];let _0x2a29dd=_0x49327d[_0x27f3a1(0x90)](_0xc12e47=>_0xc12e47['trim']()==='active-feature.txt');_0x2a29dd===-0x1&&(_0x2a29dd=_0x49327d[_0x27f3a1(0x8d)]);_0x49327d[_0x27f3a1(0xcc)](_0x2a29dd,0x0,_0x27f3a1(0x94));let _0x5ed5c2=_0x49327d[_0x27f3a1(0xa0)]('\x0a');!_0x5ed5c2['endsWith']('\x0a')&&(_0x5ed5c2+='\x0a');try{await _0x267738['Esfey'](writeFile,_0x37e159,_0x5ed5c2,_0x267738[_0x27f3a1(0x89)]);}catch{return![];}return!![];}export async function update(){const _0x5be5cd=_0x228a,_0x1a516e={'OEEsS':function(_0x8f475b){return _0x8f475b();},'muMmc':function(_0x2628a4,_0x38bf98){return _0x2628a4(_0x38bf98);},'nBhAO':'✓\x20Migrated\x20active\x20profile\x20file','mgaDx':'\x0aSuccessfully\x20installed\x20latest\x20version.','AVcKt':function(_0x1377ef,_0x50ad59){return _0x1377ef===_0x50ad59;},'VlGab':'\x0aYou\x20are\x20already\x20on\x20the\x20latest\x20version.','ZuuGC':function(_0x17eec1,_0x573990){return _0x17eec1(_0x573990);},'nftrz':'trailhead','bBmGw':'ranger@trailhead','EiBdy':_0x5be5cd(0x96),'EUJCc':function(_0x35f937,_0x8fab58){return _0x35f937===_0x8fab58;},'indMb':'\x0aClaude\x20plugin\x20updated\x20(local\x20scope).','hspgT':function(_0x356b3e){return _0x356b3e();},'CssSD':'\x0a✅\x20Update\x20complete!'},_0x14eee4=getCurrentVersion();console['log']('\x0aCurrent\x20version:\x20'+_0x14eee4);const _0x4cd6ab=resolveDistTag(_0x14eee4);if(_0x4cd6ab!==_0x5be5cd(0xca)){console['log']('Prerelease\x20channel\x20detected\x20(@'+_0x4cd6ab+').\x20Staying\x20on\x20'+_0x4cd6ab+_0x5be5cd(0xd0)+_0x4cd6ab+_0x5be5cd(0xbc));const _0xdc1c1=await runInstall(_0x4cd6ab);if(!_0xdc1c1)throw new Error(_0x5be5cd(0xd4)+_0x4cd6ab+'\x20channel.');const _0x5e579c=_0x1a516e['OEEsS'](getCurrentVersion);console[_0x5be5cd(0xd7)]('\x0aSuccessfully\x20installed\x20'+PACKAGE_NAME+'@'+_0x4cd6ab+'.'),await _0x1a516e['muMmc'](reinstallSkills,_0x5e579c);const _0x4ad476=await _0x1a516e['OEEsS'](migrateActiveProfileFile);_0x4ad476&&console[_0x5be5cd(0xd7)](_0x1a516e[_0x5be5cd(0xd6)]);await ensureActiveProfileGitignored(),console[_0x5be5cd(0xd7)]('\x0a✅\x20Update\x20complete!');return;}console[_0x5be5cd(0xd7)]('Checking\x20for\x20updates...');const _0x305b56=_0x1a516e['OEEsS'](getLatestVersion);let _0x1177b7=_0x14eee4;if(!_0x305b56['version']){console[_0x5be5cd(0xb4)](_0x5be5cd(0xaa)+_0x305b56[_0x5be5cd(0x8f)]),console[_0x5be5cd(0xd7)](_0x5be5cd(0xb7));const _0x5a260d=await runInstall();if(_0x5a260d)console[_0x5be5cd(0xd7)](_0x1a516e['mgaDx']),_0x1177b7=getCurrentVersion();else throw new Error('Update\x20failed:\x20'+_0x305b56[_0x5be5cd(0x8f)]);}else{const _0x3361d8=_0x305b56[_0x5be5cd(0x98)];console['log']('Latest\x20version:\x20\x20'+_0x3361d8);const _0x5eabb7=compareVersions(_0x14eee4,_0x3361d8);if(_0x1a516e['AVcKt'](_0x5eabb7,0x0))console[_0x5be5cd(0xd7)](_0x1a516e[_0x5be5cd(0xa3)]);else{if(_0x5eabb7<0x0)console[_0x5be5cd(0xd7)](_0x5be5cd(0xa4)+_0x14eee4+_0x5be5cd(0xc8)+_0x3361d8+').');else{const _0x1136c8=await runInstall();if(_0x1136c8)console[_0x5be5cd(0xd7)]('\x0aSuccessfully\x20updated\x20to\x20version\x20'+_0x3361d8),_0x1177b7=_0x3361d8;else throw new Error(_0x5be5cd(0xb5));}}}await _0x1a516e[_0x5be5cd(0x8c)](reinstallSkills,_0x1177b7);const _0x25853f=await isMarketplaceAdded(_0x1a516e[_0x5be5cd(0x95)]),_0xd00e08=await isPluginInstalled(_0x1a516e[_0x5be5cd(0xcb)]);_0x25853f&&(await _0x1a516e[_0x5be5cd(0x91)](updateClaudeMarketplace),console['log']('\x0aClaude\x20marketplace\x20updated\x20(trailhead).'));if(_0xd00e08){const _0x3425da=await getPluginInfo(_0x1a516e['bBmGw']),_0x3dc07d=_0x3425da?.['scope']??_0x1a516e[_0x5be5cd(0xb9)];await updateClaudePlugin(_0x3dc07d);if(_0x3dc07d===_0x5be5cd(0xb6))console['log']('\x0aClaude\x20plugin\x20updated\x20(project\x20scope).');else _0x1a516e[_0x5be5cd(0xda)](_0x3dc07d,_0x5be5cd(0xc4))?console[_0x5be5cd(0xd7)](_0x1a516e['indMb']):console[_0x5be5cd(0xd7)](_0x5be5cd(0xac));}const _0x54e3f4=await migrateActiveProfileFile();_0x54e3f4&&console[_0x5be5cd(0xd7)](_0x1a516e['nBhAO']);const _0x47e33d=await _0x1a516e[_0x5be5cd(0x9f)](ensureActiveProfileGitignored);console[_0x5be5cd(0xd7)](_0x1a516e[_0x5be5cd(0xdb)]);}
1
+ const _0x3edbc4=_0x38f3;(function(_0x3cc98b,_0x356ebc){const _0x3cdf27=_0x38f3,_0x5c88fc=_0x3cc98b();while(!![]){try{const _0x536537=parseInt(_0x3cdf27(0x176))/0x1*(parseInt(_0x3cdf27(0x186))/0x2)+parseInt(_0x3cdf27(0x152))/0x3+parseInt(_0x3cdf27(0x141))/0x4*(parseInt(_0x3cdf27(0x180))/0x5)+parseInt(_0x3cdf27(0x165))/0x6*(-parseInt(_0x3cdf27(0x188))/0x7)+parseInt(_0x3cdf27(0x184))/0x8*(-parseInt(_0x3cdf27(0x14e))/0x9)+parseInt(_0x3cdf27(0x18b))/0xa*(parseInt(_0x3cdf27(0x162))/0xb)+-parseInt(_0x3cdf27(0x16a))/0xc;if(_0x536537===_0x356ebc)break;else _0x5c88fc['push'](_0x5c88fc['shift']());}catch(_0x4d8365){_0x5c88fc['push'](_0x5c88fc['shift']());}}}(_0x4d46,0x36ea3));import{spawn}from'child_process';function _0x38f3(_0x27ee43,_0x2f2c8d){_0x27ee43=_0x27ee43-0x13f;const _0x4d46a3=_0x4d46();let _0x38f3f5=_0x4d46a3[_0x27ee43];return _0x38f3f5;}import{existsSync}from'fs';import{readFile,writeFile}from'fs/promises';import{installSkill,removeSkill,RANGER_MANAGED_SKILLS,DEPRECATED_SKILLS}from'./utils/skills.js';import{PACKAGE_NAME,getCurrentVersion,getLatestVersion,compareVersions}from'./utils/version.js';import{getProjectRoot,getSkillsDir}from'./utils/claudeConfig.js';import{getOpencodeSkillsDir}from'./utils/opencodeConfig.js';import{join}from'path';import{getRangerDir}from'./utils/rangerRoot.js';import{getPluginInfo,isMarketplaceAdded,isPluginInstalled}from'./utils/claudePlugin.js';const CLAUDE_COMMAND_TIMEOUT_MS=0x1d4c0;async function runCommand(_0x3fa286,_0x15d4c1,_0x1cb032){const _0x4817b0=_0x38f3,_0x5ba5fe={'DyEru':function(_0x87e47,_0x27925a){return _0x87e47(_0x27925a);},'Olaub':function(_0x4c2d43,_0x426200){return _0x4c2d43===_0x426200;},'buOVb':'ignore','ojgeH':_0x4817b0(0x143),'LfJpb':function(_0x30a499,_0x195d46){return _0x30a499===_0x195d46;},'SyyON':'win32'};return new Promise(_0x381c58=>{const _0x4661bf=_0x4817b0;let _0x1ef498=![],_0x1d3d81;const _0x3151f1=_0x30a68a=>{if(_0x1ef498)return;_0x1ef498=!![],_0x1d3d81&&clearTimeout(_0x1d3d81),_0x381c58(_0x30a68a);},_0x148df4=spawn(_0x3fa286,_0x15d4c1,{'stdio':[_0x5ba5fe['buOVb'],_0x1cb032?.['stdio']??_0x4661bf(0x143),_0x1cb032?.[_0x4661bf(0x179)]??_0x5ba5fe[_0x4661bf(0x15b)]],'cwd':_0x1cb032?.['cwd'],'shell':_0x5ba5fe[_0x4661bf(0x17d)](process[_0x4661bf(0x159)],_0x5ba5fe[_0x4661bf(0x191)])});_0x1d3d81=_0x1cb032?.['timeoutMs']?setTimeout(()=>{const _0x28d588=_0x4661bf;_0x148df4['kill'](),_0x148df4[_0x28d588(0x17e)](),_0x3151f1(![]);},_0x1cb032[_0x4661bf(0x166)]):undefined,_0x148df4['on']('close',_0x39f857=>{const _0x4b91b4=_0x4661bf;_0x5ba5fe[_0x4b91b4(0x192)](_0x3151f1,_0x5ba5fe[_0x4b91b4(0x17c)](_0x39f857,0x0));}),_0x148df4['on']('error',()=>{_0x3151f1(![]);});});}export function resolveDistTag(_0x1cba0f){const _0x4d136f=_0x38f3,_0x2f2487={'HqTgz':_0x4d136f(0x164)};if(/-alpha\./i['test'](_0x1cba0f))return _0x2f2487[_0x4d136f(0x18f)];if(/-beta\./i['test'](_0x1cba0f))return'beta';if(/-rc\./i[_0x4d136f(0x145)](_0x1cba0f))return'rc';return'latest';}async function runInstall(_0x1b31f3='latest'){const _0x4b0b01=_0x38f3,_0x148b71={'HNFLu':function(_0x396d41,_0x2d3172,_0x99fb0b,_0x57975d){return _0x396d41(_0x2d3172,_0x99fb0b,_0x57975d);},'UKfEO':_0x4b0b01(0x160),'saTBZ':'ignore','ZARaa':'close'};return new Promise(_0x24676b=>{const _0x347105=_0x4b0b01;console[_0x347105(0x163)](_0x347105(0x144)+PACKAGE_NAME+'@'+_0x1b31f3+_0x347105(0x15a));const _0x43abec=_0x148b71['HNFLu'](spawn,'npm',[_0x148b71['UKfEO'],'-g',PACKAGE_NAME+'@'+_0x1b31f3],{'stdio':[_0x148b71[_0x347105(0x173)],_0x347105(0x143),_0x347105(0x143)],'shell':process['platform']==='win32'});_0x43abec['on'](_0x148b71[_0x347105(0x151)],_0x2cdec8=>{_0x24676b(_0x2cdec8===0x0);}),_0x43abec['on']('error',()=>{_0x24676b(![]);});});}async function updateClaudeMarketplace(){const _0x1ee044=_0x38f3,_0xbd7908={'FWyna':_0x1ee044(0x15e),'TfVsw':_0x1ee044(0x13f),'Cmnyz':'marketplace','nWJRI':_0x1ee044(0x168),'QGTyO':'Claude\x20marketplace\x20update\x20command\x20failed\x20(timed\x20out,\x20failed\x20to\x20start,\x20or\x20exited\x20with\x20a\x20non-zero\x20status).'},_0x415954=await runCommand(_0xbd7908['FWyna'],[_0xbd7908[_0x1ee044(0x18c)],_0xbd7908['Cmnyz'],'update',_0xbd7908[_0x1ee044(0x18e)]],{'timeoutMs':CLAUDE_COMMAND_TIMEOUT_MS});if(!_0x415954)throw new Error(_0xbd7908[_0x1ee044(0x189)]);}async function updateClaudePlugin(_0x1d2c40=_0x3edbc4(0x16d)){const _0x6f5149=_0x3edbc4,_0x14d6a6={'dYwAc':'plugin','cJnoO':_0x6f5149(0x14a),'lrnKW':function(_0x15c3c3,_0xf45ac7){return _0x15c3c3!==_0xf45ac7;},'sFxlX':function(_0x25f3a3,_0x332cf0,_0x5c868c,_0x45a126){return _0x25f3a3(_0x332cf0,_0x5c868c,_0x45a126);},'WCjXU':'project','bnvHt':function(_0x4e4d79,_0x3531d1){return _0x4e4d79===_0x3531d1;},'Skmlc':'local'},_0x31bfca=[_0x14d6a6[_0x6f5149(0x14b)],'update',_0x14d6a6[_0x6f5149(0x16e)]];_0x14d6a6['lrnKW'](_0x1d2c40,'user')&&_0x31bfca[_0x6f5149(0x171)](_0x6f5149(0x14f),_0x1d2c40);const _0x50e0fa=await _0x14d6a6['sFxlX'](runCommand,'claude',_0x31bfca,{'timeoutMs':CLAUDE_COMMAND_TIMEOUT_MS,'cwd':_0x1d2c40===_0x14d6a6[_0x6f5149(0x154)]||_0x14d6a6[_0x6f5149(0x158)](_0x1d2c40,_0x14d6a6['Skmlc'])?getProjectRoot():undefined});if(!_0x50e0fa)throw new Error('Claude\x20plugin\x20update\x20failed\x20for\x20'+_0x1d2c40+'\x20scope\x20(timed\x20out,\x20failed\x20to\x20start,\x20or\x20exited\x20with\x20a\x20non-zero\x20status).');}function isSkillInstalled(_0x28b8fd,_0x230129,_0x5ba117){const _0x5ae101=_0x3edbc4,_0x409f0b={'Zvsko':function(_0xa2383a,_0x49c5b3){return _0xa2383a===_0x49c5b3;},'gjMqN':_0x5ae101(0x15f),'CzNwU':function(_0x4b7840,_0x50a19b){return _0x4b7840(_0x50a19b);},'hyiWh':function(_0x1dc965,_0x3df063){return _0x1dc965(_0x3df063);}},_0x1e9ae6=_0x409f0b[_0x5ae101(0x15c)](_0x5ba117,_0x409f0b['gjMqN'])?getOpencodeSkillsDir(_0x230129):_0x409f0b['CzNwU'](getSkillsDir,_0x230129),_0xde8d2=join(_0x1e9ae6,_0x28b8fd);return _0x409f0b['hyiWh'](existsSync,_0xde8d2);}function _0x4d46(){const _0xb52e97=['DhWnv','splice','36CfKzlb','--scope','GejMy','ZARaa','1047618qzahAK','active-feature.txt','WCjXU','\x0aClaude\x20plugin\x20updated\x20(local\x20scope).','DhOpX','dWYyM','bnvHt','platform','...\x0a','ojgeH','Zvsko','\x0aClaude\x20plugin\x20updated\x20(project\x20scope).','claude','opencode','install','\x20ranger-managed\x20skill(s)...','451FiCQYz','log','alpha','138aHfcIJ','timeoutMs','trim','trailhead','\x0aYou\x20are\x20already\x20on\x20the\x20latest\x20version.','7419300MCAAlL','warn','QfBVx','user','cJnoO','Latest\x20version:\x20\x20','\x20channel.','push','\x0aCurrent\x20version:\x20','saTBZ','length','scope','4083qxOISP','mTaOr','Rxhuw','stdio','local','mPVht','Olaub','LfJpb','unref','.gitignore','686945QwbqqO','project','error','Attempting\x20install\x20anyway...','863368gZmBBi','utf-8','206ZYJaqI','FisnD','100219wUTxmW','QGTyO','\x0aYour\x20version\x20(','102990UbryzG','TfVsw','endsWith','nWJRI','HqTgz','\x0aClaude\x20marketplace\x20updated\x20(trailhead).','SyyON','DyEru','plugin','NUUAG','12HcmlZE','PkFxW','inherit','\x0aInstalling\x20','test','\x0a✅\x20Update\x20complete!',').\x20Staying\x20on\x20','DcYxS',')\x20is\x20newer\x20than\x20the\x20published\x20version\x20(','ranger@trailhead','dYwAc'];_0x4d46=function(){return _0xb52e97;};return _0x4d46();}async function reinstallSkills(_0x132f43){const _0x1b49a3=_0x3edbc4,_0x5d3cc9={'grGbi':'claude','MbssX':function(_0x1bc204,_0x34b5dc,_0x44167c,_0x58fcf7){return _0x1bc204(_0x34b5dc,_0x44167c,_0x58fcf7);},'DhOpX':function(_0x41a526,_0xd1ad65){return _0x41a526===_0xd1ad65;},'KBfjd':'\x0aNo\x20ranger-managed\x20skills\x20found\x20to\x20reinstall.'},_0x469204=[_0x1b49a3(0x181),'user'],_0x1b86a1=[];for(const _0x330278 of _0x469204){for(const _0x4f36dc of RANGER_MANAGED_SKILLS){isSkillInstalled(_0x4f36dc,_0x330278,_0x5d3cc9['grGbi'])&&_0x1b86a1['push']({'skillName':_0x4f36dc,'level':_0x330278,'platform':'claude'}),_0x5d3cc9['MbssX'](isSkillInstalled,_0x4f36dc,_0x330278,'opencode')&&_0x1b86a1['push']({'skillName':_0x4f36dc,'level':_0x330278,'platform':'opencode'});}}for(const _0x15189a of _0x469204){for(const _0x2f820d of DEPRECATED_SKILLS){await removeSkill(_0x2f820d,_0x15189a);}}if(_0x5d3cc9[_0x1b49a3(0x156)](_0x1b86a1[_0x1b49a3(0x174)],0x0)){console[_0x1b49a3(0x163)](_0x5d3cc9['KBfjd']);return;}console[_0x1b49a3(0x163)]('\x0aReinstalling\x20'+_0x1b86a1['length']+_0x1b49a3(0x161));for(const {skillName:_0x30eeab,level:_0x1c4329,platform:_0x32d5bf}of _0x1b86a1){try{await installSkill(_0x30eeab,{'level':_0x1c4329,'cliVersion':_0x132f43,'platform':_0x32d5bf});}catch(_0x19214f){console[_0x1b49a3(0x16b)]('\x20\x20Failed\x20to\x20reinstall\x20'+_0x32d5bf+'\x20'+_0x1c4329+'\x20skill\x20'+_0x30eeab+':',_0x19214f);}}}async function ensureActiveProfileGitignored(){const _0x3d64d9=_0x3edbc4,_0x3a5539={'BYrCf':function(_0x28920b){return _0x28920b();},'fWejc':_0x3d64d9(0x17f),'wyWGT':function(_0x3c9e25,_0x4c91c3){return _0x3c9e25(_0x4c91c3);},'wSmJc':'active-profile.txt','QfBVx':_0x3d64d9(0x185)},_0x5345aa=join(_0x3a5539['BYrCf'](getRangerDir),_0x3a5539['fWejc']);if(!_0x3a5539['wyWGT'](existsSync,_0x5345aa))return![];let _0x252fb6='';try{_0x252fb6=await readFile(_0x5345aa,'utf-8');}catch{return![];}const _0x474211=_0x252fb6['split'](/\r?\n/);if(_0x474211['some'](_0x5602a5=>_0x5602a5[_0x3d64d9(0x167)]()==='active-profile.txt'))return![];let _0x45ce9a=_0x474211['findIndex'](_0xfd72af=>_0xfd72af[_0x3d64d9(0x167)]()===_0x3d64d9(0x153));_0x45ce9a===-0x1&&(_0x45ce9a=_0x474211['length']);_0x474211[_0x3d64d9(0x14d)](_0x45ce9a,0x0,_0x3a5539['wSmJc']);let _0x288e98=_0x474211['join']('\x0a');!_0x288e98[_0x3d64d9(0x18d)]('\x0a')&&(_0x288e98+='\x0a');try{await writeFile(_0x5345aa,_0x288e98,_0x3a5539[_0x3d64d9(0x16c)]);}catch{return![];}return!![];}export async function update(){const _0x58051a=_0x3edbc4,_0x23ebe7={'Rxhuw':function(_0x58f723){return _0x58f723();},'PkFxW':function(_0x1b11d2,_0x3d068a){return _0x1b11d2(_0x3d068a);},'NUUAG':function(_0xe9ca70){return _0xe9ca70();},'mTaOr':_0x58051a(0x183),'XCstK':_0x58051a(0x169),'mPVht':'Update\x20failed.','dWYyM':_0x58051a(0x14a),'jgTuT':function(_0x553c8d){return _0x553c8d();},'FisnD':function(_0x220ef9,_0x269eaa){return _0x220ef9===_0x269eaa;},'DhWnv':'project','DcYxS':function(_0x5e7700,_0x409199){return _0x5e7700===_0x409199;},'GejMy':'\x0aClaude\x20plugin\x20updated\x20(user\x20scope).'},_0x190f9f=_0x23ebe7[_0x58051a(0x178)](getCurrentVersion);console['log'](_0x58051a(0x172)+_0x190f9f);const _0x14fddc=resolveDistTag(_0x190f9f);if(_0x14fddc!=='latest'){console['log']('Prerelease\x20channel\x20detected\x20(@'+_0x14fddc+_0x58051a(0x147)+_0x14fddc+'\x20—\x20reinstalling\x20@'+_0x14fddc+'...');const _0x459699=await runInstall(_0x14fddc);if(!_0x459699)throw new Error('Update\x20failed\x20for\x20@'+_0x14fddc+_0x58051a(0x170));const _0x33f4e8=getCurrentVersion();console['log']('\x0aSuccessfully\x20installed\x20'+PACKAGE_NAME+'@'+_0x14fddc+'.'),await _0x23ebe7[_0x58051a(0x142)](reinstallSkills,_0x33f4e8),await _0x23ebe7['NUUAG'](ensureActiveProfileGitignored),console['log'](_0x58051a(0x146));return;}console['log']('Checking\x20for\x20updates...');const _0xe6541=getLatestVersion();let _0x2bf084=_0x190f9f;if(!_0xe6541['version']){console[_0x58051a(0x16b)]('\x0aCould\x20not\x20check\x20latest\x20version:\x20'+_0xe6541['error']),console[_0x58051a(0x163)](_0x23ebe7[_0x58051a(0x177)]);const _0x2869af=await _0x23ebe7[_0x58051a(0x140)](runInstall);if(_0x2869af)console['log']('\x0aSuccessfully\x20installed\x20latest\x20version.'),_0x2bf084=getCurrentVersion();else throw new Error('Update\x20failed:\x20'+_0xe6541[_0x58051a(0x182)]);}else{const _0x2cafa0=_0xe6541['version'];console[_0x58051a(0x163)](_0x58051a(0x16f)+_0x2cafa0);const _0x1f086c=compareVersions(_0x190f9f,_0x2cafa0);if(_0x1f086c===0x0)console['log'](_0x23ebe7['XCstK']);else{if(_0x1f086c<0x0)console[_0x58051a(0x163)](_0x58051a(0x18a)+_0x190f9f+_0x58051a(0x149)+_0x2cafa0+').');else{const _0x3ecc25=await _0x23ebe7[_0x58051a(0x140)](runInstall);if(_0x3ecc25)console[_0x58051a(0x163)]('\x0aSuccessfully\x20updated\x20to\x20version\x20'+_0x2cafa0),_0x2bf084=_0x2cafa0;else throw new Error(_0x23ebe7[_0x58051a(0x17b)]);}}}await reinstallSkills(_0x2bf084);const _0x1d576a=await isMarketplaceAdded('trailhead'),_0xa158e4=await isPluginInstalled(_0x23ebe7[_0x58051a(0x157)]);_0x1d576a&&(await _0x23ebe7['jgTuT'](updateClaudeMarketplace),console['log'](_0x58051a(0x190)));if(_0xa158e4){const _0x3ca3c9=await _0x23ebe7['PkFxW'](getPluginInfo,_0x58051a(0x14a)),_0x4acc3f=_0x3ca3c9?.[_0x58051a(0x175)]??'user';await updateClaudePlugin(_0x4acc3f);if(_0x23ebe7[_0x58051a(0x187)](_0x4acc3f,_0x23ebe7[_0x58051a(0x14c)]))console['log'](_0x58051a(0x15d));else _0x23ebe7[_0x58051a(0x148)](_0x4acc3f,_0x58051a(0x17a))?console['log'](_0x58051a(0x155)):console[_0x58051a(0x163)](_0x23ebe7[_0x58051a(0x150)]);}const _0x2f3d5e=await ensureActiveProfileGitignored();console['log'](_0x58051a(0x146));}
@@ -1 +1 @@
1
- (function(_0x31d23b,_0x51676e){const _0x370251=_0x29e7,_0x1b0111=_0x31d23b();while(!![]){try{const _0x294f7d=-parseInt(_0x370251(0x1da))/0x1+parseInt(_0x370251(0x1ac))/0x2+-parseInt(_0x370251(0x1bb))/0x3+parseInt(_0x370251(0x1a3))/0x4*(-parseInt(_0x370251(0x1d9))/0x5)+-parseInt(_0x370251(0x1b7))/0x6+parseInt(_0x370251(0x1d8))/0x7*(parseInt(_0x370251(0x1d5))/0x8)+-parseInt(_0x370251(0x1d3))/0x9*(-parseInt(_0x370251(0x1c3))/0xa);if(_0x294f7d===_0x51676e)break;else _0x1b0111['push'](_0x1b0111['shift']());}catch(_0x3c4e52){_0x1b0111['push'](_0x1b0111['shift']());}}}(_0x16ba,0x1cad9));import{writeFile,readFile,unlink}from'fs/promises';import{join}from'path';import{existsSync}from'fs';import{chromium}from'playwright';import{encrypt}from'./utils/crypto.js';function _0x29e7(_0x1f6d99,_0x1e1688){_0x1f6d99=_0x1f6d99-0x1a2;const _0x16ba6a=_0x16ba();let _0x29e7d8=_0x16ba6a[_0x1f6d99];return _0x29e7d8;}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(_0x30ab77,_0x947170,_0x258558){const _0x1389e7=_0x29e7,_0x222dd5={'LHlpk':function(_0x12b77d){return _0x12b77d();},'ILESi':'settings.json','kjMQQ':function(_0x26758b,_0x431cf6,_0x53248){return _0x26758b(_0x431cf6,_0x53248);},'GqtWl':_0x1389e7(0x1c6),'yRqtn':function(_0x110dd6,_0x291fa0){return _0x110dd6(_0x291fa0);},'ErTSE':function(_0x490daf,_0x26cd70,_0x488585){return _0x490daf(_0x26cd70,_0x488585);},'qkxaz':function(_0x323486,_0x5ac56a){return _0x323486===_0x5ac56a;},'cSsIi':'\x0aThe\x20browser\x20closed\x20unexpectedly\x20before\x20authentication\x20could\x20be\x20saved.','yEElb':_0x1389e7(0x1be),'HRoJP':'Browser\x20closed\x20before\x20authentication\x20was\x20saved.','MRAhg':'utf-8','YFgLF':function(_0x20cc34){return _0x20cc34();},'mPGvk':'\x20\x20Could\x20not\x20encrypt:\x20No\x20API\x20token\x20found.\x20Run:\x20ranger\x20setup\x20[token]'},_0x4c41bb=getEnvDir(_0x30ab77),_0x1505ca=join(_0x4c41bb,_0x222dd5[_0x1389e7(0x1b1)]),_0x386d42=_0x222dd5['kjMQQ'](join,_0x4c41bb,_0x1389e7(0x1ce)),_0x2a377a=_0x386d42+_0x222dd5['GqtWl'],_0x43ecc2=process['stdin']['isTTY']&&process[_0x1389e7(0x1c2)]['isTTY'];if(!_0x43ecc2)throw new Error(_0x1389e7(0x1cd));if(!existsSync(_0x4c41bb))throw new Error('Profile\x20\x22'+_0x30ab77+_0x1389e7(0x1b5)+_0x30ab77);if(!_0x222dd5[_0x1389e7(0x1b8)](existsSync,_0x1505ca))throw new Error(_0x1389e7(0x1b3)+_0x1505ca+_0x1389e7(0x1a9)+_0x30ab77);const _0x4cee12=await _0x222dd5[_0x1389e7(0x1cf)](readFile,_0x1505ca,'utf-8'),_0x3f2d3b=JSON['parse'](_0x4cee12),_0x44193a=_0x222dd5['yRqtn'](resolveEnvVars,_0x3f2d3b),_0x351659=_0x222dd5[_0x1389e7(0x1ab)](typeof _0x44193a[_0x1389e7(0x1cc)],'string')?_0x44193a['baseUrl']:undefined,_0x2259ae=existsSync(_0x386d42),_0x3d205a=isEnvCi(_0x30ab77);_0x947170?.[_0x1389e7(0x1dc)](_0x1389e7(0x1a5)),console[_0x1389e7(0x1bc)]('\x0a📋\x20Authentication\x20Update'),console['log'](_0x1389e7(0x1d7)),console[_0x1389e7(0x1bc)]('\x20\x20\x20Update\x20your\x20authentication\x20as\x20needed.'),console[_0x1389e7(0x1bc)](_0x1389e7(0x1c4));const {launchOptions:_0x57d562,contextOptions:_0x423dc0}=buildBrowserOptionsFromSettings(_0x44193a,{'headless':![],'storageStatePath':_0x2259ae?_0x386d42:undefined});_0x44193a[_0x1389e7(0x1c5)]&&(_0x423dc0['extraHTTPHeaders']={..._0x423dc0['extraHTTPHeaders'],..._0x44193a['setupHeaders']});const _0x44369c=await chromium['launch'](_0x57d562);let _0x8182fd=null;try{_0x8182fd=await _0x44369c[_0x1389e7(0x1a4)](_0x423dc0),await _0x222dd5['yRqtn'](addProfileSetupBanner,_0x8182fd);const _0x421cff=await _0x8182fd[_0x1389e7(0x1d0)]();await _0x421cff[_0x1389e7(0x1b2)](_0x351659||_0x1389e7(0x1ae));let _0x2c72d2=![];await new Promise(_0x553ecf=>{const _0x16c7cd={'PkTvK':function(_0x29786d){return _0x222dd5['LHlpk'](_0x29786d);}};_0x421cff['on']('close',async()=>{const _0x9e4812=_0x29e7;try{console['log'](_0x9e4812(0x1a7)),await _0x8182fd?.[_0x9e4812(0x1b9)]({'path':_0x386d42}),_0x2c72d2=!![];}catch{}_0x16c7cd[_0x9e4812(0x1a8)](_0x553ecf);});});if(!_0x2c72d2){console['log'](_0x222dd5[_0x1389e7(0x1ca)]);!_0x44193a[_0x1389e7(0x1d6)]&&(console[_0x1389e7(0x1bc)](_0x222dd5[_0x1389e7(0x1d4)]),console[_0x1389e7(0x1bc)]('Enable\x20safe\x20mode\x20and\x20try\x20again:\x20ranger\x20profile\x20config\x20set\x20'+_0x30ab77+_0x1389e7(0x1b4)));throw new Error(_0x222dd5[_0x1389e7(0x1cb)]);}}finally{_0x8182fd&&await _0x8182fd[_0x1389e7(0x1b0)]()[_0x1389e7(0x1c0)](()=>{}),await _0x44369c['close']()['catch'](()=>{});}if(_0x3d205a){const _0x332557=await readFile(_0x386d42,_0x222dd5[_0x1389e7(0x1c1)]),_0x1d9153=await _0x222dd5[_0x1389e7(0x1c9)](getToken);if(!_0x1d9153)console[_0x1389e7(0x1ba)](_0x222dd5[_0x1389e7(0x1b6)]),console[_0x1389e7(0x1bc)]('✓\x20Auth\x20state\x20saved\x20to:\x20'+_0x386d42);else{const _0x1c822a=_0x222dd5[_0x1389e7(0x1c8)](encrypt,_0x332557,_0x1d9153);await writeFile(_0x2a377a,_0x1c822a),await _0x222dd5['yRqtn'](unlink,_0x386d42),console['log'](_0x1389e7(0x1d2)+_0x2a377a),console['log']('\x20\x20You\x20can\x20safely\x20commit\x20this\x20file\x20to\x20git.'),console[_0x1389e7(0x1bc)](_0x1389e7(0x1bd));}}else console[_0x1389e7(0x1bc)](_0x1389e7(0x1d1)+_0x386d42);_0x947170?.[_0x1389e7(0x1db)]('browser_auth'),_0x947170?.['trackPhaseStart'](_0x1389e7(0x1aa)),_0x3f2d3b['browser']=_0x3f2d3b[_0x1389e7(0x1af)]||{},_0x3f2d3b[_0x1389e7(0x1af)]['contextOptions']=_0x3f2d3b['browser'][_0x1389e7(0x1a2)]||{},_0x3f2d3b['browser'][_0x1389e7(0x1a2)]['storageState']=_0x386d42,_0x258558?.['allowInsecureLocalhost']===!![]&&(_0x3f2d3b[_0x1389e7(0x1bf)]=!![]),await writeFile(_0x1505ca,JSON['stringify'](_0x3f2d3b,null,0x2)),console[_0x1389e7(0x1bc)](_0x1389e7(0x1c7)+_0x1505ca),_0x947170?.[_0x1389e7(0x1db)]('config_write'),console['log'](_0x1389e7(0x1ad)+_0x30ab77+_0x1389e7(0x1a6));}function _0x16ba(){const _0x263311=['HRoJP','baseUrl','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','auth.json','ErTSE','newPage','✓\x20Auth\x20state\x20saved\x20to:\x20','✓\x20Encrypted\x20auth\x20saved\x20to:\x20','10665cIhyop','yEElb','17992jcIWDX','safeMode','\x20\x20\x20A\x20browser\x20will\x20open\x20with\x20your\x20existing\x20session\x20(if\x20any).','497rMyopZ','100830TzJylY','113898fTnaqw','trackPhaseEnd','trackPhaseStart','contextOptions','32pPtIcA','newContext','browser_auth','\x22\x20authentication\x20updated','Saving\x20authentication\x20state...','PkTvK','.\x20Run\x20first:\x20ranger\x20profile\x20add\x20','config_write','qkxaz','267888BTWMyI','\x0a✅\x20Profile\x20\x22','about:blank','browser','close','ILESi','goto','Config\x20not\x20found\x20at\x20','\x20safeMode\x20true\x0a','\x22\x20not\x20found.\x20Run\x20first:\x20ranger\x20profile\x20add\x20','mPGvk','744960tSOXHh','yRqtn','storageState','error','563901nQwShv','log','\x20\x20Run\x20ranger\x20setup\x20in\x20CI\x20to\x20decrypt\x20at\x20runtime.','This\x20can\x20happen\x20due\x20to\x20a\x20browser\x20compatibility\x20issue\x20on\x20some\x20systems.\x0a','allowInsecureLocalhost','catch','MRAhg','stdout','3470aoXAgs','\x20\x20\x20When\x20you\x20are\x20done,\x20close\x20the\x20browser.\x0a','setupHeaders','.enc','✓\x20Updated\x20config:\x20','kjMQQ','YFgLF','cSsIi'];_0x16ba=function(){return _0x263311;};return _0x16ba();}
1
+ (function(_0x1009ef,_0x131e88){var _0x4499ff=_0x4cce,_0x1ea6b3=_0x1009ef();while(!![]){try{var _0x583fa5=-parseInt(_0x4499ff(0x1f0))/0x1*(parseInt(_0x4499ff(0x1f8))/0x2)+-parseInt(_0x4499ff(0x1ec))/0x3*(parseInt(_0x4499ff(0x1eb))/0x4)+parseInt(_0x4499ff(0x1f2))/0x5+-parseInt(_0x4499ff(0x1ee))/0x6*(parseInt(_0x4499ff(0x1f4))/0x7)+-parseInt(_0x4499ff(0x1f5))/0x8+-parseInt(_0x4499ff(0x1ef))/0x9*(-parseInt(_0x4499ff(0x1f1))/0xa)+parseInt(_0x4499ff(0x1ed))/0xb*(parseInt(_0x4499ff(0x1f6))/0xc);if(_0x583fa5===_0x131e88)break;else _0x1ea6b3['push'](_0x1ea6b3['shift']());}catch(_0x1f4145){_0x1ea6b3['push'](_0x1ea6b3['shift']());}}}(_0x20f3,0xe0028));function _0x4cce(_0x5609df,_0x2707c7){_0x5609df=_0x5609df-0x1eb;var _0x20f332=_0x20f3();var _0x4cce4b=_0x20f332[_0x5609df];return _0x4cce4b;}export async function updateEnv(_0x4c6083,_0x590168,_0x16f6dd){var _0x18cb0c=_0x4cce,_0x3da309={'bIPnn':function(_0x5824ab,_0x9004ca){return _0x5824ab+_0x9004ca;},'lStCT':function(_0x257536,_0x5c92d9){return _0x257536+_0x5c92d9;},'jevfJ':'For\x20SSO/headed\x20login:\x20ranger\x20profile\x20add\x20<account-email>\x0a'};console[_0x18cb0c(0x1f3)](_0x3da309['bIPnn'](_0x3da309['lStCT'](_0x3da309['lStCT']('ranger\x20profile\x20update\x20writes\x20to\x20the\x20legacy\x20.ranger/\x20tree\x20which\x20is\x20no\x20longer\x20supported.\x0a'+'Cloud\x20profiles\x20own\x20canonical\x20session\x20state;\x20re-auth\x20via:\x0a','\x20\x20RANGER_TEST_USERNAME=...\x20RANGER_TEST_PASSWORD=...\x20ranger\x20go\x20--base-url\x20<url>\x0a'),_0x3da309['jevfJ']),'See:\x20docs/feature/cloud-profiles-old-vs-new-structure.md')),process[_0x18cb0c(0x1f7)](0x1);}function _0x20f3(){var _0x30a285=['88JBShjT','18RWjqxo','4217877REHDTh','4toxXGP','10OjEjAj','551140jPjdOo','error','4140339GxWFNM','14273352MVKpHI','9188232pBLzMA','exit','410506EVdlxE','1876284DcFLwj','9iQOLew'];_0x20f3=function(){return _0x30a285;};return _0x20f3();}
@@ -1 +1 @@
1
- (function(_0x21aa5d,_0x3da803){const _0xb57280=_0x3f41,_0x20af03=_0x21aa5d();while(!![]){try{const _0x4d89a3=-parseInt(_0xb57280(0x96))/0x1+-parseInt(_0xb57280(0xa0))/0x2+-parseInt(_0xb57280(0x9d))/0x3*(-parseInt(_0xb57280(0x99))/0x4)+parseInt(_0xb57280(0x9b))/0x5*(-parseInt(_0xb57280(0x98))/0x6)+-parseInt(_0xb57280(0x9c))/0x7+parseInt(_0xb57280(0x94))/0x8+parseInt(_0xb57280(0x97))/0x9*(parseInt(_0xb57280(0x91))/0xa);if(_0x4d89a3===_0x3da803)break;else _0x20af03['push'](_0x20af03['shift']());}catch(_0x37971c){_0x20af03['push'](_0x20af03['shift']());}}}(_0x51b4,0x96490));function _0x3f41(_0x378a77,_0x3a02cc){_0x378a77=_0x378a77-0x91;const _0x51b4e1=_0x51b4();let _0x3f41fc=_0x51b4e1[_0x378a77];return _0x3f41fc;}import{join}from'path';import{existsSync}from'fs';import{getEnvDir}from'./utils/settings.js';import{writeActiveProfileName}from'./utils/activeProfile.js';import{ApiError,fetchCloudProfile}from'./utils/cloudProfile.js';export async function useEnv(_0x3559fa){const _0x5e8af6=_0x3f41,_0x18caff={'hnOHu':function(_0x3566ca,_0x14f776){return _0x3566ca(_0x14f776);},'WmsiA':function(_0x38cd01,_0x529f13){return _0x38cd01(_0x529f13);},'NsNdX':function(_0x25d4c1,_0x2ab099){return _0x25d4c1(_0x2ab099);},'eiEFk':function(_0x3c86de,_0x8386b9){return _0x3c86de instanceof _0x8386b9;},'eKjTQ':function(_0x1ab6b8,_0x4e6f93){return _0x1ab6b8+_0x4e6f93;}},_0x236d07=_0x18caff[_0x5e8af6(0x9a)](getEnvDir,_0x3559fa),_0x45897c=join(_0x236d07,'settings.json'),_0xd7d971=existsSync(_0x236d07)&&_0x18caff['WmsiA'](existsSync,_0x45897c);if(_0xd7d971){await writeActiveProfileName(_0x3559fa),console['log'](_0x5e8af6(0x9f)+_0x3559fa+'\x22');return;}let _0x2a9b86=null,_0x3df7c4=![];try{_0x2a9b86=await _0x18caff['NsNdX'](fetchCloudProfile,_0x3559fa);if(!_0x2a9b86)_0x3df7c4=!![];}catch(_0x3019f4){_0x18caff[_0x5e8af6(0x93)](_0x3019f4,ApiError)&&_0x3019f4[_0x5e8af6(0x9e)]===0x194&&(_0x3df7c4=!![]);}if(_0x3df7c4)throw new Error(_0x18caff['eKjTQ']('Profile\x20\x22'+_0x3559fa+'\x22\x20not\x20found\x20locally\x20or\x20in\x20the\x20cloud.\x20'+'Run\x20`ranger\x20profile\x20ls`\x20to\x20see\x20available\x20profiles,\x20or\x20',_0x5e8af6(0x95)+_0x3559fa+_0x5e8af6(0x92)));await _0x18caff[_0x5e8af6(0x9a)](writeActiveProfileName,_0x3559fa),console['log'](_0x5e8af6(0x9f)+_0x3559fa+'\x22');}function _0x51b4(){const _0x1222f1=['eiEFk','3363936tsFevb','`ranger\x20profile\x20add\x20','284014UksxAD','4353651iKsAcq','32088pnFkdL','4lOZzfV','hnOHu','265vMJdbK','581637QcgntI','1250283vWrtJw','status','\x0a✓\x20Now\x20using\x20profile\x20\x22','1077228ycwhrD','20XdOVHM','`\x20to\x20create\x20one.'];_0x51b4=function(){return _0x1222f1;};return _0x51b4();}
1
+ (function(_0x5a19f2,_0x2930ef){const _0x29dec3=_0xd81a,_0x52cf0e=_0x5a19f2();while(!![]){try{const _0x560ace=parseInt(_0x29dec3(0xc6))/0x1+-parseInt(_0x29dec3(0xb9))/0x2*(-parseInt(_0x29dec3(0xbe))/0x3)+parseInt(_0x29dec3(0xba))/0x4+parseInt(_0x29dec3(0xbc))/0x5+parseInt(_0x29dec3(0xb8))/0x6*(parseInt(_0x29dec3(0xc1))/0x7)+parseInt(_0x29dec3(0xc2))/0x8*(-parseInt(_0x29dec3(0xc0))/0x9)+parseInt(_0x29dec3(0xc4))/0xa*(-parseInt(_0x29dec3(0xc3))/0xb);if(_0x560ace===_0x2930ef)break;else _0x52cf0e['push'](_0x52cf0e['shift']());}catch(_0x3f6e5c){_0x52cf0e['push'](_0x52cf0e['shift']());}}}(_0x329e,0x748de));import{join}from'path';function _0xd81a(_0x57c82f,_0x1f437b){_0x57c82f=_0x57c82f-0xb8;const _0x329ee5=_0x329e();let _0xd81add=_0x329ee5[_0x57c82f];return _0xd81add;}import{existsSync}from'fs';import{getEnvDir}from'./utils/settings.js';import{writeActiveProfileName}from'./utils/activeProfile.js';function _0x329e(){const _0xe42c16=['3351472TtbAAc','46717jAdcIr','2290svGhXy','`ranger\x20profile\x20add\x20','605932DhxFcP','1788sqtSgI','265332QLRkkt','1721508MyUxjz','log','2432520rMKvnG','QnYaA','6kNAMoD','lgfCK','9woBkRX','1897GfVHWk'];_0x329e=function(){return _0xe42c16;};return _0x329e();}import{ApiError,fetchCloudProfile}from'./utils/cloudProfile.js';export async function useEnv(_0x3fdfb0){const _0x45915e=_0xd81a,_0x316564={'dkvel':'settings.json','QnYaA':function(_0x3fe742,_0x4873ca){return _0x3fe742(_0x4873ca);},'lgfCK':function(_0x2b3bcc,_0x1a8923){return _0x2b3bcc instanceof _0x1a8923;},'QVZdF':function(_0x27a577,_0x279930){return _0x27a577+_0x279930;}},_0x4b2771=getEnvDir(_0x3fdfb0),_0xe1b038=join(_0x4b2771,_0x316564['dkvel']),_0x95cee9=_0x316564['QnYaA'](existsSync,_0x4b2771)&&existsSync(_0xe1b038);if(_0x95cee9){await _0x316564[_0x45915e(0xbd)](writeActiveProfileName,_0x3fdfb0),console[_0x45915e(0xbb)]('\x0a✓\x20Now\x20using\x20profile\x20\x22'+_0x3fdfb0+'\x22');return;}let _0x30b00c=null,_0x58e579=![];try{_0x30b00c=await fetchCloudProfile(_0x3fdfb0);if(!_0x30b00c)_0x58e579=!![];}catch(_0x1eaf88){_0x316564[_0x45915e(0xbf)](_0x1eaf88,ApiError)&&_0x1eaf88['status']===0x194&&(_0x58e579=!![]);}if(_0x58e579)throw new Error(_0x316564['QVZdF']('Profile\x20\x22'+_0x3fdfb0+'\x22\x20not\x20found\x20locally\x20or\x20in\x20the\x20cloud.\x20'+'Run\x20`ranger\x20profile\x20ls`\x20to\x20see\x20available\x20profiles,\x20or\x20',_0x45915e(0xc5)+_0x3fdfb0+'`\x20to\x20create\x20one.'));await _0x316564['QnYaA'](writeActiveProfileName,_0x3fdfb0),console['log']('\x0a✓\x20Now\x20using\x20profile\x20\x22'+_0x3fdfb0+'\x22');}
@@ -1 +1 @@
1
- const _0x460496=_0x36de;(function(_0x4159c0,_0x1cb880){const _0x412c39=_0x36de,_0x5c7c7d=_0x4159c0();while(!![]){try{const _0x3ac4bf=parseInt(_0x412c39(0x103))/0x1+parseInt(_0x412c39(0x107))/0x2*(-parseInt(_0x412c39(0x102))/0x3)+parseInt(_0x412c39(0x10f))/0x4+-parseInt(_0x412c39(0x100))/0x5+-parseInt(_0x412c39(0x101))/0x6*(-parseInt(_0x412c39(0x109))/0x7)+-parseInt(_0x412c39(0x10d))/0x8+-parseInt(_0x412c39(0x106))/0x9*(-parseInt(_0x412c39(0x110))/0xa);if(_0x3ac4bf===_0x1cb880)break;else _0x5c7c7d['push'](_0x5c7c7d['shift']());}catch(_0x782373){_0x5c7c7d['push'](_0x5c7c7d['shift']());}}}(_0x14e4,0x93344));import{existsSync}from'fs';import{mkdir,readFile,rename,unlink,writeFile}from'fs/promises';import{join}from'path';import{getRangerDir,getRangerHomeDir}from'./rangerRoot.js';const ACTIVE_PROFILE_FILE='active-profile.txt',LEGACY_ACTIVE_ENV_FILE=_0x460496(0x10c);function getActiveProfilePath(){const _0x2f922c=_0x460496,_0x2647dd={'gsaVy':function(_0x57fdc3){return _0x57fdc3();},'hRuyF':function(_0x5f0cd3,_0x2563b9,_0x3b2ced){return _0x5f0cd3(_0x2563b9,_0x3b2ced);},'CcwNd':function(_0x3c54a1){return _0x3c54a1();}},_0x41b207=join(_0x2647dd['gsaVy'](getRangerDir),ACTIVE_PROFILE_FILE);if(existsSync(_0x41b207))return _0x41b207;return _0x2647dd[_0x2f922c(0xfd)](join,_0x2647dd[_0x2f922c(0x108)](getRangerHomeDir),ACTIVE_PROFILE_FILE);}function _0x36de(_0x9f2bab,_0x3244c4){_0x9f2bab=_0x9f2bab-0xfa;const _0x14e4e8=_0x14e4();let _0x36de08=_0x14e4e8[_0x9f2bab];return _0x36de08;}function getLegacyActiveEnvPath(){const _0x13b837=_0x460496,_0x4e0d2e={'bBlcf':function(_0x1e7cef,_0x4f12c3){return _0x1e7cef(_0x4f12c3);},'uadYY':function(_0x5970cb){return _0x5970cb();}},_0x4b636f=join(getRangerDir(),LEGACY_ACTIVE_ENV_FILE);if(_0x4e0d2e[_0x13b837(0x105)](existsSync,_0x4b636f))return _0x4b636f;return join(_0x4e0d2e['uadYY'](getRangerHomeDir),LEGACY_ACTIVE_ENV_FILE);}function getActiveProfileWritePath(){const _0x1662d9=_0x460496,_0x4c34fa={'qTGZX':function(_0x12b86f,_0x4cfd31){return _0x12b86f(_0x4cfd31);},'pDGXe':function(_0x1680b1){return _0x1680b1();}},_0x549bdd=getRangerDir();if(_0x4c34fa[_0x1662d9(0xfc)](existsSync,_0x549bdd))return{'path':join(_0x549bdd,ACTIVE_PROFILE_FILE),'dir':_0x549bdd,'isUserScope':![]};const _0x2922e2=_0x4c34fa[_0x1662d9(0x10b)](getRangerHomeDir);return{'path':join(_0x2922e2,ACTIVE_PROFILE_FILE),'dir':_0x2922e2,'isUserScope':!![]};}function _0x14e4(){const _0x592315=['CcwNd','4610522gmOPdn','Chhwf','pDGXe','active-env.txt','3981880UHGGOq','utf-8','2803552sYDsZP','27910aoxMxG','WBeUl','GFmKt','qTGZX','hRuyF','trim','FLjRS','5390195cJmhOM','6UHHWMY','9WZgQXD','976097bjKfVL','PAFFv','bBlcf','3078iqIYih','740954GdFNjD'];_0x14e4=function(){return _0x592315;};return _0x14e4();}async function migrateLegacyActiveEnv(){const _0x43ba3c=_0x460496,_0x1b2720={'Chhwf':function(_0x587350){return _0x587350();},'EhdtW':_0x43ba3c(0x10e),'djprr':function(_0x31464a,_0x59c3da){return _0x31464a===_0x59c3da;},'WBeUl':function(_0x5198b8,_0x43ce20,_0x334b32){return _0x5198b8(_0x43ce20,_0x334b32);},'ksNlP':function(_0x35e9a1,_0x2bbf02,_0x1f0fd0){return _0x35e9a1(_0x2bbf02,_0x1f0fd0);},'FLjRS':function(_0x336187,_0x421039,_0x496f86,_0x170dae){return _0x336187(_0x421039,_0x496f86,_0x170dae);}},_0x427e5b=_0x1b2720['Chhwf'](getLegacyActiveEnvPath);if(!existsSync(_0x427e5b))return null;let _0x9fca56=null;try{_0x9fca56=(await readFile(_0x427e5b,_0x1b2720['EhdtW']))['trim']()||null;}catch{_0x9fca56=null;}if(!_0x9fca56)return null;const _0x4997aa=getRangerHomeDir(),_0x2568ae=_0x1b2720['djprr'](_0x427e5b,_0x1b2720[_0x43ba3c(0xfa)](join,_0x4997aa,LEGACY_ACTIVE_ENV_FILE));if(_0x2568ae){const _0x4c387a=_0x1b2720['ksNlP'](join,_0x4997aa,ACTIVE_PROFILE_FILE);try{await _0x1b2720[_0x43ba3c(0xfa)](mkdir,_0x4997aa,{'recursive':!![]}),await writeFile(_0x4c387a,_0x9fca56,_0x1b2720['EhdtW']),await unlink(_0x427e5b);}catch{}return _0x9fca56;}const {path:_0x25369a,dir:_0x221dca}=_0x1b2720[_0x43ba3c(0x10a)](getActiveProfileWritePath);try{await rename(_0x427e5b,_0x25369a);}catch{try{await _0x1b2720[_0x43ba3c(0xfa)](mkdir,_0x221dca,{'recursive':!![]}),await _0x1b2720[_0x43ba3c(0xff)](writeFile,_0x25369a,_0x9fca56,_0x43ba3c(0x10e)),await unlink(_0x427e5b);}catch{}}return _0x9fca56;}export async function readActiveProfileName(){const _0xbf2627=_0x460496,_0x3d48f7={'PAFFv':function(_0xe6d5d2){return _0xe6d5d2();}},_0xbd2c81=_0x3d48f7[_0xbf2627(0x104)](getActiveProfilePath);if(existsSync(_0xbd2c81))try{return(await readFile(_0xbd2c81,'utf-8'))[_0xbf2627(0xfe)]()||null;}catch{return null;}return await _0x3d48f7[_0xbf2627(0x104)](migrateLegacyActiveEnv);}export async function writeActiveProfileName(_0x49fbad){const _0x26c76b=_0x460496,_0x49b90f={'GFmKt':function(_0x3b88dc,_0x4bc0d8,_0x23c808,_0xe5f703){return _0x3b88dc(_0x4bc0d8,_0x23c808,_0xe5f703);},'lwQTw':_0x26c76b(0x10e),'gmpMf':function(_0x421e13,_0x571c3d){return _0x421e13(_0x571c3d);}},{path:_0x279cec,dir:_0x5350d2}=getActiveProfileWritePath();await mkdir(_0x5350d2,{'recursive':!![]}),await _0x49b90f[_0x26c76b(0xfb)](writeFile,_0x279cec,_0x49fbad,_0x49b90f['lwQTw']);const _0x32c776=getLegacyActiveEnvPath();if(_0x49b90f['gmpMf'](existsSync,_0x32c776))try{await unlink(_0x32c776);}catch{}}export async function migrateActiveProfileFile(){const _0x176c16={'hlbLj':function(_0x337e48){return _0x337e48();}},_0x59ff20=await _0x176c16['hlbLj'](migrateLegacyActiveEnv);return _0x59ff20!==null;}
1
+ const _0x52db48=_0x30ac;(function(_0x3fe01d,_0x8d1c5c){const _0x4cc9e7=_0x30ac,_0x238196=_0x3fe01d();while(!![]){try{const _0x26af80=-parseInt(_0x4cc9e7(0x1b2))/0x1*(parseInt(_0x4cc9e7(0x1b0))/0x2)+parseInt(_0x4cc9e7(0x1ab))/0x3+parseInt(_0x4cc9e7(0x1a9))/0x4+-parseInt(_0x4cc9e7(0x1ac))/0x5*(parseInt(_0x4cc9e7(0x1af))/0x6)+parseInt(_0x4cc9e7(0x1a5))/0x7*(parseInt(_0x4cc9e7(0x1ad))/0x8)+-parseInt(_0x4cc9e7(0x1a7))/0x9+parseInt(_0x4cc9e7(0x1a6))/0xa*(parseInt(_0x4cc9e7(0x1ae))/0xb);if(_0x26af80===_0x8d1c5c)break;else _0x238196['push'](_0x238196['shift']());}catch(_0x31c289){_0x238196['push'](_0x238196['shift']());}}}(_0x24f8,0xe223f));import{existsSync}from'fs';function _0x30ac(_0x3722bf,_0x290a38){_0x3722bf=_0x3722bf-0x1a3;const _0x24f8d8=_0x24f8();let _0x30ac02=_0x24f8d8[_0x3722bf];return _0x30ac02;}import{readFile}from'fs/promises';import{join}from'path';import{getRangerDir,getRangerHomeDir}from'./rangerRoot.js';import{readLastProfile,writeLastProfile}from'./projectsConfig.js';const LEGACY_ACTIVE_PROFILE_FILE=_0x52db48(0x1a4),LEGACY_ACTIVE_ENV_FILE='active-env.txt';function _0x24f8(){const _0x51e593=['cwd','active-profile.txt','28HzyjPu','18470OyNgFE','14603436FYGPJA','sdviw','2174444TzrNwv','XSpUv','26076qiKRAg','105iHrJsD','3273568xRQPIw','22187MgliuK','486654NOHatm','3324644oAHjhh','pcWMZ','1YadgGH'];_0x24f8=function(){return _0x51e593;};return _0x24f8();}function readLegacyActiveProfileFile(){const _0x439feb=_0x52db48,_0x3979e5={'EZwiM':function(_0x4024b0,_0x4e71c0,_0x253169){return _0x4024b0(_0x4e71c0,_0x253169);},'pcWMZ':function(_0x2066d8){return _0x2066d8();}},_0x47b398=[_0x3979e5['EZwiM'](join,getRangerDir(),LEGACY_ACTIVE_PROFILE_FILE),join(getRangerHomeDir(),LEGACY_ACTIVE_PROFILE_FILE),join(_0x3979e5[_0x439feb(0x1b1)](getRangerDir),LEGACY_ACTIVE_ENV_FILE),join(getRangerHomeDir(),LEGACY_ACTIVE_ENV_FILE)];for(const _0x243327 of _0x47b398){if(existsSync(_0x243327))return _0x243327;}return null;}export async function readActiveProfileName(){const _0x5637ac=_0x52db48,_0x333eea={'sdviw':'utf-8'},_0x5d956f=readLastProfile(process[_0x5637ac(0x1a3)]());if(_0x5d956f)return _0x5d956f;const _0x18947a=readLegacyActiveProfileFile();if(!_0x18947a)return null;try{return(await readFile(_0x18947a,_0x333eea[_0x5637ac(0x1a8)]))['trim']()||null;}catch{return null;}}export async function writeActiveProfileName(_0x34a107){const _0x4c9a2c=_0x52db48,_0x577f85={'XSpUv':function(_0x15f18d,_0x362201,_0x5b35dc){return _0x15f18d(_0x362201,_0x5b35dc);}};_0x577f85[_0x4c9a2c(0x1aa)](writeLastProfile,process['cwd'](),_0x34a107);}
@@ -1 +1 @@
1
- const _0x350262=_0x5975;(function(_0x58f348,_0x30d810){const _0x531853=_0x5975,_0x416323=_0x58f348();while(!![]){try{const _0x1f0de3=parseInt(_0x531853(0x134))/0x1*(-parseInt(_0x531853(0x108))/0x2)+-parseInt(_0x531853(0x101))/0x3*(parseInt(_0x531853(0x109))/0x4)+-parseInt(_0x531853(0x117))/0x5*(-parseInt(_0x531853(0x115))/0x6)+parseInt(_0x531853(0x10c))/0x7+parseInt(_0x531853(0x131))/0x8+-parseInt(_0x531853(0x116))/0x9+parseInt(_0x531853(0x122))/0xa;if(_0x1f0de3===_0x30d810)break;else _0x416323['push'](_0x416323['shift']());}catch(_0x2e03bf){_0x416323['push'](_0x416323['shift']());}}}(_0xc69f,0xa1896));function _0x5975(_0x1cbb32,_0x4890e8){_0x1cbb32=_0x1cbb32-0x101;const _0xc69f28=_0xc69f();let _0x59754b=_0xc69f28[_0x1cbb32];return _0x59754b;}import{delimiter,join}from'path';import{tmpdir}from'os';import{mkdirSync}from'fs';import{getAiProxyUrl}from'./environment.js';function _0xc69f(){const _0x18e3fa=['eKiNy','map','PATH','USERPROFILE','npm_config_registry','PLAYWRIGHT_BROWSERS_PATH','string','8244nzEHNd','2939652GGFZFA','4210Fmoawd','filter','iMqSO','toLowerCase','includes','hCJdt','${PATH}','NODE_ENV','from','split','metadata','1594460AJkJKR','byokEnabled','RANGER_TEST_SKIP_BROWSER_WAIT','sessionToken','/bin','push','%PATH%','join','xsIPO','$PATH','DEBUG','EzEoF','ANTHROPIC_CUSTOM_HEADERS','ranger-claude-tmp','x-ranger-','1671312QCbpwF','TEMP','GXLWj','49031UAePQM','slice','entries','48417eElvVy','NPM_CONFIG_PREFIX','bWcBS','trim','npm_config_prefix','TMPDIR','TMP','32ShSMjC','212tjTRzL','nlnWK','/usr/bin','7720139ETTVAi','CHROMIUM_BIN'];_0xc69f=function(){return _0x18e3fa;};return _0xc69f();}const AI_PROXY_METADATA_HEADERS_ENV_VAR=_0x350262(0x12e),AGENT_ENV_PASSTHROUGH_KEYS=[_0x350262(0x110),'HOME','TMPDIR',_0x350262(0x107),'TEMP',_0x350262(0x111),'APPDATA','LOCALAPPDATA','XDG_CACHE_HOME','XDG_CONFIG_HOME',_0x350262(0x113),'PLAYWRIGHT_SKIP_BROWSER_DOWNLOAD','CHROME_BIN',_0x350262(0x10d),'npm_config_cache','NPM_CONFIG_CACHE','npm_config_userconfig','NPM_CONFIG_USERCONFIG',_0x350262(0x105),_0x350262(0x102),_0x350262(0x112),'NPM_CONFIG_REGISTRY',_0x350262(0x12c),_0x350262(0x11e),_0x350262(0x124),'RANGER_DISABLE_MCP',AI_PROXY_METADATA_HEADERS_ENV_VAR],UNEXPANDED_PATH_TOKEN_PATTERNS=[_0x350262(0x11d),_0x350262(0x12b),_0x350262(0x128)];function parseCustomHeaders(_0x4f1137){const _0x2d7c19=_0x350262,_0x429276={'HmSJJ':function(_0x3e9225,_0x294a4a){return _0x3e9225===_0x294a4a;}};if(!_0x4f1137)return[];return _0x4f1137['split'](/\r?\n/)[_0x2d7c19(0x10f)](_0x510e13=>_0x510e13['trim']())['filter'](Boolean)['map'](_0xa23ed2=>{const _0x390dba=_0x2d7c19,_0x29c0c0=_0xa23ed2['indexOf'](':');if(_0x429276['HmSJJ'](_0x29c0c0,-0x1))return null;const _0x509059=_0xa23ed2[_0x390dba(0x135)](0x0,_0x29c0c0)[_0x390dba(0x104)](),_0x21e86b=_0xa23ed2[_0x390dba(0x135)](_0x29c0c0+0x1)[_0x390dba(0x104)]();if(!_0x509059)return null;return[_0x509059,_0x21e86b];})['filter'](_0x24640b=>_0x24640b!==null);}export function getAgentPathHealthWarning(_0x6a35b2,_0x55a3f0=process['platform']){const _0x1663f4=_0x350262,_0x2f3d9e={'nlnWK':function(_0x456d92,_0x4b96f9){return _0x456d92===_0x4b96f9;},'AjzPU':'PATH\x20contains\x20an\x20unexpanded\x20placeholder\x20like\x20`${PATH}`\x20instead\x20of\x20the\x20expanded\x20current\x20PATH.','bWcBS':_0x1663f4(0x126),'hCJdt':'PATH\x20is\x20missing\x20core\x20system\x20directories\x20like\x20`/usr/bin`\x20and\x20`/bin`.','LsBBF':'Your\x20PATH\x20looks\x20incomplete\x20for\x20browser\x20automation.\x20Ranger\x20will\x20keep\x20going,\x20but\x20browser\x20setup\x20may\x20fail.'},_0x2364aa=[],_0x45a864=(_0x6a35b2||'')[_0x1663f4(0x120)](delimiter)[_0x1663f4(0x118)](Boolean);_0x2f3d9e[_0x1663f4(0x10a)](_0x45a864['length'],0x0)&&_0x2364aa[_0x1663f4(0x127)]('PATH\x20is\x20empty,\x20so\x20npm\x20and\x20core\x20system\x20tools\x20may\x20be\x20unavailable.');UNEXPANDED_PATH_TOKEN_PATTERNS['some'](_0x1a8669=>(_0x6a35b2||'')[_0x1663f4(0x11b)](_0x1a8669))&&_0x2364aa[_0x1663f4(0x127)](_0x2f3d9e['AjzPU']);if(_0x55a3f0!=='win32'){const _0x3e85f8=_0x45a864[_0x1663f4(0x11b)](_0x1663f4(0x10b)),_0x55833c=_0x45a864['includes'](_0x2f3d9e[_0x1663f4(0x103)]);!_0x3e85f8&&!_0x55833c&&_0x2364aa['push'](_0x2f3d9e[_0x1663f4(0x11c)]);}if(_0x2364aa['length']===0x0)return null;return{'summary':_0x2f3d9e['LsBBF'],'issues':_0x2364aa};}export function buildAgentEnv(_0x4b6767){const _0x5170d0=_0x350262,_0x1d3878={'EzEoF':'Session\x20token\x20is\x20required\x20when\x20RANGER_BYOK=false','xsIPO':'true','fSBVE':'TMPDIR','iMqSO':'TMP','GXLWj':function(_0x5dff52){return _0x5dff52();},'eKiNy':function(_0x10d997,_0x4b251){return _0x10d997==_0x4b251;},'iLrCI':function(_0xfa1eb5,_0x7e7c5d){return _0xfa1eb5===_0x7e7c5d;}};if(_0x4b6767[_0x5170d0(0x123)])return Object['fromEntries'](Object[_0x5170d0(0x136)](process['env'])[_0x5170d0(0x118)](_0xb98383=>typeof _0xb98383[0x1]===_0x5170d0(0x114)));if(!_0x4b6767['sessionToken'])throw new Error(_0x1d3878[_0x5170d0(0x12d)]);const _0x200843={'ANTHROPIC_API_KEY':_0x4b6767[_0x5170d0(0x125)],'ANTHROPIC_BASE_URL':getAiProxyUrl(),'DISABLE_TELEMETRY':_0x1d3878[_0x5170d0(0x12a)]};for(const _0x2b5cac of AGENT_ENV_PASSTHROUGH_KEYS){const _0xff8b0c=process['env'][_0x2b5cac];_0xff8b0c&&![_0x1d3878['fSBVE'],_0x1d3878[_0x5170d0(0x119)],'TEMP']['includes'](_0x2b5cac)&&(_0x200843[_0x2b5cac]=_0xff8b0c);}const _0x24169b=join(_0x1d3878[_0x5170d0(0x133)](tmpdir),_0x5170d0(0x12f));try{mkdirSync(_0x24169b,{'recursive':!![]});}catch{}_0x200843[_0x5170d0(0x106)]=_0x24169b,_0x200843[_0x5170d0(0x107)]=_0x24169b,_0x200843[_0x5170d0(0x132)]=_0x24169b;const _0x523357=parseCustomHeaders(process['env'][AI_PROXY_METADATA_HEADERS_ENV_VAR]),_0x5f0ccb=new Map(_0x523357),_0x440076=new Set(_0x523357['map'](([_0x3ea0e2])=>_0x3ea0e2[_0x5170d0(0x11a)]()));if(_0x4b6767['metadata'])for(const [_0x329dfb,_0x24746f]of Object[_0x5170d0(0x136)](_0x4b6767[_0x5170d0(0x121)])){if(_0x1d3878[_0x5170d0(0x10e)](_0x24746f,null)||_0x1d3878['iLrCI'](_0x24746f,''))continue;const _0x4197b0=_0x5170d0(0x130)+_0x329dfb;!_0x440076['has'](_0x4197b0['toLowerCase']())&&(_0x5f0ccb['set'](_0x4197b0,_0x24746f),_0x440076['add'](_0x4197b0[_0x5170d0(0x11a)]()));}const _0x4993cc=Array[_0x5170d0(0x11f)](_0x5f0ccb['entries']())[_0x5170d0(0x10f)](([_0x13d572,_0x2e1cbb])=>_0x13d572+':\x20'+_0x2e1cbb)[_0x5170d0(0x129)]('\x0a');return _0x4993cc&&(_0x200843[AI_PROXY_METADATA_HEADERS_ENV_VAR]=_0x4993cc),_0x200843;}
1
+ const _0x472a96=_0x505e;(function(_0x532a61,_0x10ab25){const _0x2c7d95=_0x505e,_0x43cd4e=_0x532a61();while(!![]){try{const _0xe5ac39=-parseInt(_0x2c7d95(0x7d))/0x1+parseInt(_0x2c7d95(0x8f))/0x2*(-parseInt(_0x2c7d95(0x8b))/0x3)+parseInt(_0x2c7d95(0x66))/0x4*(parseInt(_0x2c7d95(0x95))/0x5)+parseInt(_0x2c7d95(0x89))/0x6*(-parseInt(_0x2c7d95(0x88))/0x7)+-parseInt(_0x2c7d95(0x84))/0x8*(parseInt(_0x2c7d95(0x76))/0x9)+parseInt(_0x2c7d95(0x96))/0xa+parseInt(_0x2c7d95(0x7c))/0xb*(parseInt(_0x2c7d95(0x9c))/0xc);if(_0xe5ac39===_0x10ab25)break;else _0x43cd4e['push'](_0x43cd4e['shift']());}catch(_0x81f598){_0x43cd4e['push'](_0x43cd4e['shift']());}}}(_0x5def,0x7b8eb));import{delimiter,join}from'path';import{tmpdir}from'os';import{mkdirSync}from'fs';function _0x505e(_0x5905a1,_0x2d236e){_0x5905a1=_0x5905a1-0x65;const _0x5deff9=_0x5def();let _0x505eb3=_0x5deff9[_0x5905a1];return _0x505eb3;}import{getAiProxyUrl}from'./environment.js';const AI_PROXY_METADATA_HEADERS_ENV_VAR='ANTHROPIC_CUSTOM_HEADERS',AGENT_ENV_PASSTHROUGH_KEYS=['PATH','HOME',_0x472a96(0x9b),'TMP',_0x472a96(0x91),'USERPROFILE',_0x472a96(0x98),_0x472a96(0x67),_0x472a96(0x90),'XDG_CONFIG_HOME','PLAYWRIGHT_BROWSERS_PATH',_0x472a96(0x6c),_0x472a96(0x74),'CHROMIUM_BIN',_0x472a96(0x92),_0x472a96(0x9f),'npm_config_userconfig',_0x472a96(0x81),_0x472a96(0x75),_0x472a96(0xa3),'npm_config_registry','NPM_CONFIG_REGISTRY','DEBUG',_0x472a96(0x7f),_0x472a96(0x9a),_0x472a96(0x7a),AI_PROXY_METADATA_HEADERS_ENV_VAR],UNEXPANDED_PATH_TOKEN_PATTERNS=['${PATH}','$PATH',_0x472a96(0x79)];function _0x5def(){const _0xa14ead=['599828mEPqxC','LOCALAPPDATA','PATH\x20contains\x20an\x20unexpanded\x20placeholder\x20like\x20`${PATH}`\x20instead\x20of\x20the\x20expanded\x20current\x20PATH.','Your\x20PATH\x20looks\x20incomplete\x20for\x20browser\x20automation.\x20Ranger\x20will\x20keep\x20going,\x20but\x20browser\x20setup\x20may\x20fail.','bWsbs','lglxE','PLAYWRIGHT_SKIP_BROWSER_DOWNLOAD','byokEnabled','push','true','add','PyZYh','fromEntries','trim','CHROME_BIN','npm_config_prefix','2645793nDrUqy','bKqZt','length','%PATH%','RANGER_DISABLE_MCP','set','1078ysMVjW','722849mMFAfF','PATH\x20is\x20missing\x20core\x20system\x20directories\x20like\x20`/usr/bin`\x20and\x20`/bin`.','NODE_ENV','zQpgr','NPM_CONFIG_USERCONFIG','sessionToken','metadata','24bebtnG','slice','map','includes','602AeYuvq','70122QBZlnV','CdWXF','381azLNvh','/bin','filter','split','5624idCwLG','XDG_CACHE_HOME','TEMP','npm_config_cache','/usr/bin','QmTLT','25lftPEl','1911680xYhJJG','string','APPDATA','env','RANGER_TEST_SKIP_BROWSER_WAIT','TMPDIR','310056CTICnf','ranger-claude-tmp','indexOf','NPM_CONFIG_CACHE','fNuEa','platform','Session\x20token\x20is\x20required\x20when\x20RANGER_BYOK=false','NPM_CONFIG_PREFIX','toLowerCase','oDWXn'];_0x5def=function(){return _0xa14ead;};return _0x5def();}function parseCustomHeaders(_0x5da3db){const _0x4c55d5=_0x472a96,_0x32a972={'vAKfs':function(_0x5c2773,_0xa70bcb){return _0x5c2773===_0xa70bcb;}};if(!_0x5da3db)return[];return _0x5da3db[_0x4c55d5(0x8e)](/\r?\n/)[_0x4c55d5(0x86)](_0x1dfdf0=>_0x1dfdf0['trim']())[_0x4c55d5(0x8d)](Boolean)[_0x4c55d5(0x86)](_0x3d1bb8=>{const _0x45809f=_0x4c55d5,_0x1152a3=_0x3d1bb8[_0x45809f(0x9e)](':');if(_0x32a972['vAKfs'](_0x1152a3,-0x1))return null;const _0xaea564=_0x3d1bb8[_0x45809f(0x85)](0x0,_0x1152a3)[_0x45809f(0x73)](),_0x3ca65d=_0x3d1bb8['slice'](_0x1152a3+0x1)['trim']();if(!_0xaea564)return null;return[_0xaea564,_0x3ca65d];})['filter'](_0x3f599b=>_0x3f599b!==null);}export function getAgentPathHealthWarning(_0x5cbc44,_0x1b30de=process[_0x472a96(0xa1)]){const _0x519137=_0x472a96,_0x522704={'QmTLT':function(_0x5ddcb3,_0x3234dc){return _0x5ddcb3===_0x3234dc;},'bKqZt':'PATH\x20is\x20empty,\x20so\x20npm\x20and\x20core\x20system\x20tools\x20may\x20be\x20unavailable.','PyZYh':_0x519137(0x68),'CdWXF':function(_0x296243,_0xe435eb){return _0x296243!==_0xe435eb;},'fNuEa':_0x519137(0x93),'rzBSv':function(_0x14858c,_0x543d43){return _0x14858c&&_0x543d43;}},_0x3f95ba=[],_0x36166e=(_0x5cbc44||'')[_0x519137(0x8e)](delimiter)[_0x519137(0x8d)](Boolean);_0x522704['QmTLT'](_0x36166e[_0x519137(0x78)],0x0)&&_0x3f95ba[_0x519137(0x6e)](_0x522704[_0x519137(0x77)]);UNEXPANDED_PATH_TOKEN_PATTERNS['some'](_0x44391d=>(_0x5cbc44||'')[_0x519137(0x87)](_0x44391d))&&_0x3f95ba[_0x519137(0x6e)](_0x522704[_0x519137(0x71)]);if(_0x522704[_0x519137(0x8a)](_0x1b30de,'win32')){const _0x39e55a=_0x36166e[_0x519137(0x87)](_0x522704[_0x519137(0xa0)]),_0x146418=_0x36166e[_0x519137(0x87)](_0x519137(0x8c));_0x522704['rzBSv'](!_0x39e55a,!_0x146418)&&_0x3f95ba['push'](_0x519137(0x7e));}if(_0x522704[_0x519137(0x94)](_0x3f95ba['length'],0x0))return null;return{'summary':_0x519137(0x69),'issues':_0x3f95ba};}export function buildAgentEnv(_0x28f58a){const _0x23dd43=_0x472a96,_0x26b771={'zQpgr':_0x23dd43(0xa2),'lglxE':function(_0x4f16d1){return _0x4f16d1();},'LbfaR':_0x23dd43(0x6f),'oDWXn':'TMPDIR','RDEwX':'TMP','bWsbs':_0x23dd43(0x91),'zQxWg':function(_0x3c46d8,_0x1bb810,_0x20353c){return _0x3c46d8(_0x1bb810,_0x20353c);},'alYbS':_0x23dd43(0x9d),'okBip':function(_0x1fc3c1,_0x3753a7){return _0x1fc3c1==_0x3753a7;}};if(_0x28f58a[_0x23dd43(0x6d)])return Object[_0x23dd43(0x72)](Object['entries'](process['env'])[_0x23dd43(0x8d)](_0x3e42f4=>typeof _0x3e42f4[0x1]===_0x23dd43(0x97)));if(!_0x28f58a[_0x23dd43(0x82)])throw new Error(_0x26b771[_0x23dd43(0x80)]);const _0x45fe66={'ANTHROPIC_API_KEY':_0x28f58a[_0x23dd43(0x82)],'ANTHROPIC_BASE_URL':_0x26b771[_0x23dd43(0x6b)](getAiProxyUrl),'DISABLE_TELEMETRY':_0x26b771['LbfaR']};for(const _0x233c98 of AGENT_ENV_PASSTHROUGH_KEYS){const _0x47406d=process[_0x23dd43(0x99)][_0x233c98];_0x47406d&&![_0x26b771[_0x23dd43(0x65)],_0x26b771['RDEwX'],_0x26b771[_0x23dd43(0x6a)]][_0x23dd43(0x87)](_0x233c98)&&(_0x45fe66[_0x233c98]=_0x47406d);}const _0x5adf61=_0x26b771['zQxWg'](join,tmpdir(),_0x26b771['alYbS']);try{_0x26b771['zQxWg'](mkdirSync,_0x5adf61,{'recursive':!![]});}catch{}_0x45fe66[_0x26b771['oDWXn']]=_0x5adf61,_0x45fe66[_0x26b771['RDEwX']]=_0x5adf61,_0x45fe66['TEMP']=_0x5adf61;const _0x55223b=parseCustomHeaders(process[_0x23dd43(0x99)][AI_PROXY_METADATA_HEADERS_ENV_VAR]),_0x59ff22=new Map(_0x55223b),_0x3347e5=new Set(_0x55223b[_0x23dd43(0x86)](([_0x4ef9d4])=>_0x4ef9d4[_0x23dd43(0xa4)]()));if(_0x28f58a[_0x23dd43(0x83)])for(const [_0x41c824,_0x5d9e61]of Object['entries'](_0x28f58a['metadata'])){if(_0x26b771['okBip'](_0x5d9e61,null)||_0x5d9e61==='')continue;const _0x3b8435='x-ranger-'+_0x41c824;!_0x3347e5['has'](_0x3b8435[_0x23dd43(0xa4)]())&&(_0x59ff22[_0x23dd43(0x7b)](_0x3b8435,_0x5d9e61),_0x3347e5[_0x23dd43(0x70)](_0x3b8435['toLowerCase']()));}const _0x441156=Array['from'](_0x59ff22['entries']())[_0x23dd43(0x86)](([_0xbd734a,_0x390af9])=>_0xbd734a+':\x20'+_0x390af9)['join']('\x0a');return _0x441156&&(_0x45fe66[AI_PROXY_METADATA_HEADERS_ENV_VAR]=_0x441156),_0x45fe66;}