@ranger-testing/ranger-cli 2.0.7 → 2.1.1

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 (67) hide show
  1. package/README.md +10 -1
  2. package/build/cli.js +1 -1
  3. package/build/commands/addEnv.js +1 -1
  4. package/build/commands/authEncrypt.js +1 -1
  5. package/build/commands/clean.js +1 -1
  6. package/build/commands/config.js +1 -1
  7. package/build/commands/env.js +1 -1
  8. package/build/commands/feature.js +1 -1
  9. package/build/commands/hook.js +1 -1
  10. package/build/commands/hooks/autoPrompt.js +1 -1
  11. package/build/commands/hooks/disable.js +1 -1
  12. package/build/commands/hooks/enable.js +1 -1
  13. package/build/commands/hooks/exitPlanMode.js +1 -1
  14. package/build/commands/hooks/index.js +1 -1
  15. package/build/commands/hooks/output.js +1 -1
  16. package/build/commands/hooks/planReminder.js +1 -1
  17. package/build/commands/hooks/planStart.js +1 -1
  18. package/build/commands/hooks/postEdit.js +1 -1
  19. package/build/commands/hooks/preCompact.js +1 -1
  20. package/build/commands/hooks/sessionEnd.js +1 -1
  21. package/build/commands/hooks/sessionStart.js +1 -1
  22. package/build/commands/hooks/stopHook.js +1 -1
  23. package/build/commands/index.js +1 -1
  24. package/build/commands/login.js +1 -1
  25. package/build/commands/setup/claude.js +1 -0
  26. package/build/commands/setup/opencode.js +1 -0
  27. package/build/commands/setupCi.js +1 -1
  28. package/build/commands/skillup.js +1 -1
  29. package/build/commands/start.js +1 -1
  30. package/build/commands/status.js +1 -1
  31. package/build/commands/update.js +1 -1
  32. package/build/commands/updateEnv.js +1 -1
  33. package/build/commands/useEnv.js +1 -1
  34. package/build/commands/utils/activeProfile.js +1 -1
  35. package/build/commands/utils/browserSessionsApi.js +1 -1
  36. package/build/commands/utils/claudeConfig.js +1 -1
  37. package/build/commands/utils/claudePlugin.js +1 -1
  38. package/build/commands/utils/crypto.js +1 -1
  39. package/build/commands/utils/desirePathLog.js +1 -1
  40. package/build/commands/utils/deviceAuth.js +1 -1
  41. package/build/commands/utils/environment.js +1 -1
  42. package/build/commands/utils/featureApi.js +1 -1
  43. package/build/commands/utils/featureReportGenerator.js +1 -1
  44. package/build/commands/utils/fixWebmDuration.js +1 -1
  45. package/build/commands/utils/git.js +1 -1
  46. package/build/commands/utils/keychain.js +1 -1
  47. package/build/commands/utils/localAgentInstallationsApi.js +1 -1
  48. package/build/commands/utils/mcpImageBase64.js +1 -0
  49. package/build/commands/utils/model.js +1 -0
  50. package/build/commands/utils/opencodeConfig.js +1 -0
  51. package/build/commands/utils/profileMessages.js +1 -1
  52. package/build/commands/utils/profileSetupBanner.js +1 -1
  53. package/build/commands/utils/rangerConfig.js +1 -0
  54. package/build/commands/utils/rangerRoot.js +1 -1
  55. package/build/commands/utils/reportGenerator.js +1 -1
  56. package/build/commands/utils/retry.js +1 -1
  57. package/build/commands/utils/sessionCache.js +1 -1
  58. package/build/commands/utils/settings.js +1 -1
  59. package/build/commands/utils/skillContent.js +1 -1
  60. package/build/commands/utils/skills.js +1 -1
  61. package/build/commands/utils/telemetry.js +1 -1
  62. package/build/commands/utils/userApi.js +1 -1
  63. package/build/commands/utils/version.js +1 -1
  64. package/build/commands/verifyFeature.js +1 -1
  65. package/build/commands/verifyInBrowser.js +1 -1
  66. package/build/skills/ranger/SKILL.md +16 -14
  67. package/package.json +1 -1
@@ -1 +1 @@
1
- (function(_0x1446e6,_0x1ef1c7){var _0x234851=_0x4d9e,_0x4784ef=_0x1446e6();while(!![]){try{var _0x268d56=-parseInt(_0x234851(0x1d6))/0x1+parseInt(_0x234851(0x1d2))/0x2+-parseInt(_0x234851(0x1d4))/0x3+-parseInt(_0x234851(0x1d5))/0x4+-parseInt(_0x234851(0x1d8))/0x5+-parseInt(_0x234851(0x1d1))/0x6*(-parseInt(_0x234851(0x1d3))/0x7)+parseInt(_0x234851(0x1d7))/0x8;if(_0x268d56===_0x1ef1c7)break;else _0x4784ef['push'](_0x4784ef['shift']());}catch(_0x4db655){_0x4784ef['push'](_0x4784ef['shift']());}}}(_0x491e,0xd6743));export{addEnv}from'./addEnv.js';export{clean}from'./clean.js';export{login}from'./login.js';export{start}from'./start.js';export{useEnv}from'./useEnv.js';function _0x4d9e(_0xc65bbd,_0x5c8f67){_0xc65bbd=_0xc65bbd-0x1d1;var _0x491ea1=_0x491e();var _0x4d9e7c=_0x491ea1[_0xc65bbd];return _0x4d9e7c;}export{updateEnv}from'./updateEnv.js';function _0x491e(){var _0x27b270=['26567888MSnZfK','3914050NkXuNS','94920CVMGzq','3398966KSODys','119vYJjcM','1776126esuXUm','5656584EjMCLW','1622008qZYfKb'];_0x491e=function(){return _0x27b270;};return _0x491e();}export{update}from'./update.js';export{skillup}from'./skillup.js';export{envList}from'./env.js';export{hook}from'./hook.js';export{setupCi}from'./setupCi.js';
1
+ function _0x9f02(){var _0x521d81=['457686sDWxdm','132670bVCmMD','438702fPqXuK','18TrkNnT','347016Dtvmmz','1406128ZoaIbd','40qLyibk','808805vvtXLE','84mDnDDk','150MMyrTo','10151523XCfXMk'];_0x9f02=function(){return _0x521d81;};return _0x9f02();}(function(_0x1a6b62,_0x412e0f){var _0x2d053b=_0x55b8,_0x39066a=_0x1a6b62();while(!![]){try{var _0x533071=-parseInt(_0x2d053b(0x179))/0x1+parseInt(_0x2d053b(0x180))/0x2*(-parseInt(_0x2d053b(0x182))/0x3)+-parseInt(_0x2d053b(0x17a))/0x4*(-parseInt(_0x2d053b(0x17b))/0x5)+-parseInt(_0x2d053b(0x17f))/0x6+parseInt(_0x2d053b(0x17c))/0x7*(-parseInt(_0x2d053b(0x183))/0x8)+parseInt(_0x2d053b(0x17e))/0x9+-parseInt(_0x2d053b(0x17d))/0xa*(-parseInt(_0x2d053b(0x181))/0xb);if(_0x533071===_0x412e0f)break;else _0x39066a['push'](_0x39066a['shift']());}catch(_0x2ee62b){_0x39066a['push'](_0x39066a['shift']());}}}(_0x9f02,0xe62fc));function _0x55b8(_0xfd307e,_0xdb4c4){_0xfd307e=_0xfd307e-0x179;var _0x9f02f5=_0x9f02();var _0x55b8c9=_0x9f02f5[_0xfd307e];return _0x55b8c9;}export{addEnv}from'./addEnv.js';export{clean}from'./clean.js';export{login}from'./login.js';export{start}from'./start.js';export{useEnv}from'./useEnv.js';export{updateEnv}from'./updateEnv.js';export{update}from'./update.js';export{skillup}from'./skillup.js';export{envList}from'./env.js';export{hook}from'./hook.js';export{setupCi}from'./setupCi.js';
@@ -1 +1 @@
1
- function _0x3da4(){const _0x1eab73=['\x0a✅\x20API\x20key\x20stored\x20successfully','success','485804AJScAn','592239OdtlYY','bkmet','2384816xPegUJ','Login\x20failed:\x20','3907075OLhOKU','stdin','isTTY','\x0a✅\x20Logged\x20in\x20to\x20','4942800uNuWKN','2uJdkjt','72rJXuov','1924239CUtNfc','log','user','294732sbsloF'];_0x3da4=function(){return _0x1eab73;};return _0x3da4();}function _0x1e82(_0x2b4fbf,_0x2e559e){_0x2b4fbf=_0x2b4fbf-0x1bc;const _0x3da438=_0x3da4();let _0x1e822d=_0x3da438[_0x2b4fbf];return _0x1e822d;}(function(_0x194849,_0x493c73){const _0x4354be=_0x1e82,_0x36495d=_0x194849();while(!![]){try{const _0x52bd4d=parseInt(_0x4354be(0x1bc))/0x1+parseInt(_0x4354be(0x1c5))/0x2*(parseInt(_0x4354be(0x1c7))/0x3)+-parseInt(_0x4354be(0x1cd))/0x4+parseInt(_0x4354be(0x1c0))/0x5+-parseInt(_0x4354be(0x1c4))/0x6+-parseInt(_0x4354be(0x1be))/0x7+-parseInt(_0x4354be(0x1c6))/0x8*(parseInt(_0x4354be(0x1ca))/0x9);if(_0x52bd4d===_0x493c73)break;else _0x36495d['push'](_0x36495d['shift']());}catch(_0x4738a1){_0x36495d['push'](_0x36495d['shift']());}}}(_0x3da4,0x6a0dc));import{runDeviceAuthFlow}from'./utils/deviceAuth.js';import{getCurrentUser}from'./utils/userApi.js';export async function login(){const _0x45fe64=_0x1e82,_0x41db5f={'bkmet':'Login\x20requires\x20an\x20interactive\x20terminal.\x20In\x20CI,\x20use:\x20ranger\x20setup\x20[token]\x20or\x20set\x20RANGER_CLI_TOKEN.'},_0x5e9986=process[_0x45fe64(0x1c1)]['isTTY']&&process['stdout'][_0x45fe64(0x1c2)];if(!_0x5e9986)throw new Error(_0x41db5f[_0x45fe64(0x1bd)]);try{const _0x1b4855=await runDeviceAuthFlow(),_0x390a30=await getCurrentUser(_0x1b4855);_0x390a30[_0x45fe64(0x1cc)]?console[_0x45fe64(0x1c8)](_0x45fe64(0x1c3)+_0x390a30[_0x45fe64(0x1c9)]['organizationName']):console[_0x45fe64(0x1c8)](_0x45fe64(0x1cb));}catch(_0x443026){throw new Error(_0x45fe64(0x1bf)+(_0x443026 instanceof Error?_0x443026['message']:_0x443026));}}
1
+ (function(_0x93462b,_0x1ba87e){const _0xf77173=_0x21f9,_0x56a883=_0x93462b();while(!![]){try{const _0x3be358=-parseInt(_0xf77173(0x179))/0x1*(-parseInt(_0xf77173(0x181))/0x2)+-parseInt(_0xf77173(0x187))/0x3*(parseInt(_0xf77173(0x186))/0x4)+-parseInt(_0xf77173(0x180))/0x5*(-parseInt(_0xf77173(0x17b))/0x6)+-parseInt(_0xf77173(0x182))/0x7*(parseInt(_0xf77173(0x17e))/0x8)+-parseInt(_0xf77173(0x17f))/0x9*(parseInt(_0xf77173(0x17c))/0xa)+-parseInt(_0xf77173(0x17d))/0xb+parseInt(_0xf77173(0x185))/0xc;if(_0x3be358===_0x1ba87e)break;else _0x56a883['push'](_0x56a883['shift']());}catch(_0x26702e){_0x56a883['push'](_0x56a883['shift']());}}}(_0x2037,0x8eb74));function _0x21f9(_0x45a192,_0x260049){_0x45a192=_0x45a192-0x179;const _0x2037e9=_0x2037();let _0x21f92a=_0x2037e9[_0x45a192];return _0x21f92a;}import{runDeviceAuthFlow}from'./utils/deviceAuth.js';import{getCurrentUser}from'./utils/userApi.js';export async function login(){const _0x818816=_0x21f9,_0x2a4e80={'BXmOO':function(_0x64c555){return _0x64c555();},'uTLsf':function(_0x3d83a8,_0x19f026){return _0x3d83a8(_0x19f026);},'YyxCO':function(_0x5097d2,_0x28311c){return _0x5097d2 instanceof _0x28311c;}},_0x233efe=process['stdin'][_0x818816(0x18b)]&&process[_0x818816(0x188)][_0x818816(0x18b)];if(!_0x233efe)throw new Error(_0x818816(0x189));try{const _0x3890b5=await _0x2a4e80['BXmOO'](runDeviceAuthFlow),_0x5f235d=await _0x2a4e80[_0x818816(0x18a)](getCurrentUser,_0x3890b5);_0x5f235d['success']?console['log']('\x0a✅\x20Logged\x20in\x20to\x20'+_0x5f235d['user'][_0x818816(0x17a)]):console[_0x818816(0x184)]('\x0a✅\x20API\x20key\x20stored\x20successfully');}catch(_0x398642){throw new Error('Login\x20failed:\x20'+(_0x2a4e80[_0x818816(0x183)](_0x398642,Error)?_0x398642['message']:_0x398642));}}function _0x2037(){const _0x29ce41=['2VVYtBT','243229ETJTOB','YyxCO','log','12357528qAYVDI','32iTJgeh','163590JjiTHU','stdout','Login\x20requires\x20an\x20interactive\x20terminal.\x20In\x20CI,\x20use:\x20ranger\x20setup\x20[token]\x20or\x20set\x20RANGER_CLI_TOKEN.','uTLsf','isTTY','871593DrpdGW','organizationName','1352604BVBLWF','300QHcDSm','5142929FCKAgr','240JLjjFU','81711yjYXMo','20Hcsczq'];_0x2037=function(){return _0x29ce41;};return _0x2037();}
@@ -0,0 +1 @@
1
+ (function(_0x29a76b,_0xf7d970){const _0x12a2e1=_0x5599,_0x55e30e=_0x29a76b();while(!![]){try{const _0x176ed7=-parseInt(_0x12a2e1(0x180))/0x1*(parseInt(_0x12a2e1(0x175))/0x2)+-parseInt(_0x12a2e1(0x178))/0x3*(-parseInt(_0x12a2e1(0x16d))/0x4)+parseInt(_0x12a2e1(0x18a))/0x5+-parseInt(_0x12a2e1(0x16f))/0x6+parseInt(_0x12a2e1(0x165))/0x7*(parseInt(_0x12a2e1(0x169))/0x8)+parseInt(_0x12a2e1(0x198))/0x9*(-parseInt(_0x12a2e1(0x190))/0xa)+-parseInt(_0x12a2e1(0x174))/0xb;if(_0x176ed7===_0xf7d970)break;else _0x55e30e['push'](_0x55e30e['shift']());}catch(_0x1d3168){_0x55e30e['push'](_0x55e30e['shift']());}}}(_0x2428,0x5468f));import{join}from'path';function _0x5599(_0x25f86a,_0x38ac0f){_0x25f86a=_0x25f86a-0x165;const _0x24280f=_0x2428();let _0x55992e=_0x24280f[_0x25f86a];return _0x55992e;}import{existsSync}from'fs';function _0x2428(){const _0x1bbb11=['\x20\x20claude\x20plugin\x20install\x20ranger@trailhead\x20--scope\x20','SKILL.md','2YxCPeN','UEJUP','fLadX','KmhYW','❌\x20Failed\x20to\x20add\x20marketplace:','zGcVG','ranger-testing/trailhead','\x0aYou\x20can\x20install\x20manually\x20with:','wantsSkillup','wJRTJ','863475bDyXGs','.claude','JItNJ','log','iWLon','plugin','1991950ZLuyqQ','includes','TFHzU','success','push','ranger@trailhead','isfJu','user','9ztDyQG','eMfrE','zOPEe','1669479QHcOKu','gHLDL','jHuOY','✓\x20Claude\x20Code\x20plugin\x20already\x20installed','16nOJZIU','WqIcn','TugQZ','fFXjE','3144aQEJJh','--scope','1103406CDgBwq','error','enable','IKIGD','egKpO','2091540KDfRby','3452LESCpc','prompt','YDarT','1041aReAwW','project','RghoR','Where\x20should\x20the\x20plugin\x20be\x20installed?','list','phkiG'];_0x2428=function(){return _0x1bbb11;};return _0x2428();}import _0xbc6e1d from'inquirer';import{skillup}from'../skillup.js';import{runClaudeCommand,isMarketplaceAdded,isPluginInstalled}from'../utils/claudePlugin.js';import{getProjectRoot,getSkillsDir}from'../utils/claudeConfig.js';export async function ensureClaudePlugin(_0x19597b){const _0x45a8aa=_0x5599,_0x5bbcb1={'gHLDL':function(_0x3c29cc,_0x3e9b38){return _0x3c29cc(_0x3e9b38);},'KmhYW':_0x45a8aa(0x195),'jHuOY':_0x45a8aa(0x168),'zGcVG':function(_0x269cfd,_0x21db15,_0x5168dc){return _0x269cfd(_0x21db15,_0x5168dc);},'fLadX':_0x45a8aa(0x18b),'TFHzU':_0x45a8aa(0x179),'zOPEe':'\x0a📦\x20Claude\x20Code\x20Plugin\x0a','PwDnJ':_0x45a8aa(0x17c),'wJRTJ':'User\x20(available\x20in\x20all\x20your\x20projects)','fFXjE':_0x45a8aa(0x197),'iAaBM':function(_0x3c3f03,_0x1ba705){return _0x3c3f03(_0x1ba705);},'egKpO':'✓\x20Marketplace\x20already\x20added','yGigG':_0x45a8aa(0x187),'phkiG':'plugin','Rxgio':function(_0x3d9fed,_0x43019a,_0x1d34c8){return _0x3d9fed(_0x43019a,_0x1d34c8);},'TugQZ':'already\x20enabled','isfJu':'✓\x20Claude\x20Code\x20plugin\x20enabled'},_0x260328=await _0x5bbcb1['gHLDL'](isPluginInstalled,_0x5bbcb1[_0x45a8aa(0x183)]);if(_0x260328)return console['log'](_0x5bbcb1[_0x45a8aa(0x167)]),![];const _0x2944c7=_0x5bbcb1[_0x45a8aa(0x166)](existsSync,_0x5bbcb1[_0x45a8aa(0x185)](join,getProjectRoot(),_0x5bbcb1[_0x45a8aa(0x182)]));let _0x30b6a5;if(_0x19597b)_0x30b6a5=_0x19597b;else{if(_0x2944c7)_0x30b6a5=_0x5bbcb1['TFHzU'];else{console['log'](_0x5bbcb1[_0x45a8aa(0x19a)]);const _0x2da235=await _0xbc6e1d['prompt']([{'type':_0x5bbcb1['PwDnJ'],'name':'pluginScope','message':_0x45a8aa(0x17b),'choices':[{'name':_0x5bbcb1[_0x45a8aa(0x189)],'value':_0x45a8aa(0x197)},{'name':'Project\x20(shared\x20with\x20team\x20via\x20git)','value':_0x45a8aa(0x179)}],'default':_0x5bbcb1[_0x45a8aa(0x16c)]}]);_0x30b6a5=_0x2da235['pluginScope'];}}console[_0x45a8aa(0x18d)]('\x0aInstalling\x20Claude\x20Code\x20plugin\x20('+_0x30b6a5+'\x20level)...\x0a');const _0x1a45c1=await _0x5bbcb1['iAaBM'](isMarketplaceAdded,'trailhead');let _0x1f3db7=_0x1a45c1;if(_0x1a45c1)console[_0x45a8aa(0x18d)](_0x5bbcb1[_0x45a8aa(0x173)]);else{const _0x54d7c8=await runClaudeCommand([_0x45a8aa(0x18f),'marketplace','add',_0x45a8aa(0x186)]);!_0x54d7c8[_0x45a8aa(0x193)]?(console['error'](_0x45a8aa(0x184),_0x54d7c8[_0x45a8aa(0x170)]),console['log'](_0x5bbcb1['yGigG']),console[_0x45a8aa(0x18d)]('\x20\x20claude\x20plugin\x20marketplace\x20add\x20ranger-testing/trailhead'),console['log'](_0x45a8aa(0x17e)+_0x30b6a5)):_0x1f3db7=!![];}if(_0x1f3db7){const _0x4b0219=await runClaudeCommand([_0x5bbcb1[_0x45a8aa(0x17d)],'install',_0x45a8aa(0x195),_0x45a8aa(0x16e),_0x30b6a5]);if(!_0x4b0219[_0x45a8aa(0x193)])console['error']('❌\x20Failed\x20to\x20install\x20plugin:',_0x4b0219['error']),console['log'](_0x5bbcb1['yGigG']),console['log'](_0x45a8aa(0x17e)+_0x30b6a5);else{console['log']('✓\x20Claude\x20Code\x20plugin\x20installed\x20successfully');const _0x2e70f1=[_0x5bbcb1[_0x45a8aa(0x17d)],_0x45a8aa(0x171),_0x45a8aa(0x195)];_0x30b6a5===_0x5bbcb1['TFHzU']&&_0x2e70f1[_0x45a8aa(0x194)]('--scope',_0x5bbcb1[_0x45a8aa(0x192)]);const _0x50bc8a=await _0x5bbcb1['Rxgio'](runClaudeCommand,_0x2e70f1,{'captureOutput':!![]}),_0x4da821=_0x50bc8a['output']?.[_0x45a8aa(0x191)](_0x5bbcb1[_0x45a8aa(0x16b)]);!_0x50bc8a['success']&&!_0x4da821?console['error']('⚠\x20Failed\x20to\x20enable\x20plugin:',_0x50bc8a[_0x45a8aa(0x170)]):console['log'](_0x5bbcb1[_0x45a8aa(0x196)]);}}return!![];}export async function ensureClaudeSkills(_0x1cad20){const _0x4bac73=_0x5599,_0x54dbb9={'JItNJ':function(_0x4b77ac,_0x48ee7f){return _0x4b77ac(_0x48ee7f);},'YDarT':'user','eMfrE':'ranger','dKCGX':_0x4bac73(0x17f),'yoZQm':function(_0x452657,_0x4ed5a8,_0x156c94,_0x129c58){return _0x452657(_0x4ed5a8,_0x156c94,_0x129c58);},'FAMuA':function(_0xbf6857,_0x191ab6){return _0xbf6857(_0x191ab6);},'IKIGD':'project','eIGmc':function(_0xc034a8,_0x475773){return _0xc034a8||_0x475773;},'WqIcn':function(_0xa237e2,_0x4f196a){return _0xa237e2(_0x4f196a);},'iWLon':function(_0x14ab99,_0x599a80,_0x2f7e09){return _0x14ab99(_0x599a80,_0x2f7e09);},'gSOAj':function(_0x1d0897){return _0x1d0897();},'UEJUP':_0x4bac73(0x18b),'CPjwV':function(_0x42d03c,_0x31575b){return _0x42d03c(_0x31575b);},'RghoR':'wantsSkillup'},_0xe7d747=_0x54dbb9[_0x4bac73(0x18c)](existsSync,join(getSkillsDir(_0x54dbb9[_0x4bac73(0x177)]),_0x54dbb9[_0x4bac73(0x199)],_0x54dbb9['dKCGX'])),_0x20e7f5=existsSync(_0x54dbb9['yoZQm'](join,_0x54dbb9['FAMuA'](getSkillsDir,_0x54dbb9[_0x4bac73(0x172)]),_0x54dbb9[_0x4bac73(0x199)],'SKILL.md'));if(_0x54dbb9['eIGmc'](_0xe7d747,_0x20e7f5))return console[_0x4bac73(0x18d)]('✓\x20Ranger\x20skills\x20already\x20installed'),![];const _0x453826=_0x54dbb9[_0x4bac73(0x16a)](existsSync,_0x54dbb9[_0x4bac73(0x18e)](join,_0x54dbb9['gSOAj'](getProjectRoot),_0x54dbb9[_0x4bac73(0x181)]));let _0x2d1ed5=!![];if(_0x1cad20)await _0x54dbb9['CPjwV'](skillup,{'autoInstall':_0x1cad20,'suppressUsage':!![]});else{if(_0x453826)await skillup({'autoInstall':_0x4bac73(0x179),'suppressUsage':!![]});else{const _0x37e533=await _0xbc6e1d[_0x4bac73(0x176)]([{'type':'confirm','name':_0x54dbb9[_0x4bac73(0x17a)],'message':'Would\x20you\x20like\x20to\x20install\x20skills?','default':!![]}]);_0x2d1ed5=_0x37e533[_0x4bac73(0x188)],_0x2d1ed5&&await skillup({'suppressUsage':!![]});}}return _0x2d1ed5;}
@@ -0,0 +1 @@
1
+ function _0x1fdf(){const _0x301ac2=['⚠\x20Failed\x20to\x20read\x20opencode.json.\x20Please\x20add\x20the\x20plugin\x20manually.','1914990sGMQKJ','Failed\x20to\x20read\x20opencode.json','utf-8','user','XAEGB','28yYHURE','oqKTN','list','90dPwAEb','parse','6618feZrHw','error','1385TltGZP','3566444aATMhH','log','✓\x20OpenCode\x20plugin\x20configured','327487wImHJp','593542RapRJI','project','90198BpgCpv','8yWAlBv','plugin','opencode.json','476253fqIsOy','$schema','KDciK','includes'];_0x1fdf=function(){return _0x301ac2;};return _0x1fdf();}(function(_0x121cc6,_0x2bd48a){const _0x8bc502=_0x1111,_0x36488f=_0x121cc6();while(!![]){try{const _0x42b599=parseInt(_0x8bc502(0x9e))/0x1+parseInt(_0x8bc502(0x9f))/0x2+-parseInt(_0x8bc502(0xa1))/0x3*(-parseInt(_0x8bc502(0xaf))/0x4)+-parseInt(_0x8bc502(0x9a))/0x5*(parseInt(_0x8bc502(0xb4))/0x6)+-parseInt(_0x8bc502(0x9b))/0x7*(parseInt(_0x8bc502(0xa2))/0x8)+parseInt(_0x8bc502(0xa5))/0x9*(parseInt(_0x8bc502(0xb2))/0xa)+-parseInt(_0x8bc502(0xaa))/0xb;if(_0x42b599===_0x2bd48a)break;else _0x36488f['push'](_0x36488f['shift']());}catch(_0x153c04){_0x36488f['push'](_0x36488f['shift']());}}}(_0x1fdf,0x4e944));import{join}from'path';import{existsSync}from'fs';import{mkdir,readFile,writeFile}from'fs/promises';import _0x591f91 from'inquirer';function _0x1111(_0x2ca92b,_0xccd2dc){_0x2ca92b=_0x2ca92b-0x99;const _0x1fdf8c=_0x1fdf();let _0x1111eb=_0x1fdf8c[_0x2ca92b];return _0x1111eb;}import{getOpencodeConfigDir}from'../utils/opencodeConfig.js';export async function ensureOpencodePluginConfig(_0xaaad45){const _0x52e389=_0x1111,_0x423fd3={'KDciK':function(_0x35c538,_0x4f86ce){return _0x35c538(_0x4f86ce);},'XAEGB':_0x52e389(0xa4),'saHbl':'\x0a📦\x20OpenCode\x20Plugin\x0a','XsRFt':'pluginScope','nxStf':'Where\x20should\x20the\x20plugin\x20be\x20installed?','Cmgcz':'User\x20(available\x20in\x20all\x20your\x20projects)','ULuGX':'project','oqKTN':'https://opencode.ai/config.json','BKfJM':function(_0x179466,_0x2ff987,_0xfc5e0a){return _0x179466(_0x2ff987,_0xfc5e0a);},'trfXo':_0x52e389(0xab),'QEuXe':function(_0x3a8828,_0x54a9e2,_0x1678a7){return _0x3a8828(_0x54a9e2,_0x1678a7);},'Koprq':function(_0x19f88d,_0x4f98a7){return _0x19f88d+_0x4f98a7;}},_0xb86985=existsSync(join(_0x423fd3[_0x52e389(0xa7)](getOpencodeConfigDir,_0x52e389(0xa0)),_0x423fd3['XAEGB']));let _0x31272b;if(_0xaaad45)_0x31272b=_0xaaad45;else{if(_0xb86985)_0x31272b='project';else{console[_0x52e389(0x9c)](_0x423fd3['saHbl']);const _0x4ace46=await _0x591f91['prompt']([{'type':_0x52e389(0xb1),'name':_0x423fd3['XsRFt'],'message':_0x423fd3['nxStf'],'choices':[{'name':_0x423fd3['Cmgcz'],'value':_0x52e389(0xad)},{'name':'Project\x20(shared\x20with\x20team\x20via\x20git)','value':_0x423fd3['ULuGX']}],'default':_0x52e389(0xad)}]);_0x31272b=_0x4ace46['pluginScope'];}}const _0x29d36f=join(getOpencodeConfigDir(_0x31272b),_0x423fd3[_0x52e389(0xae)]),_0x30d289='@ranger-testing/opencode-plugin',_0x22c1d7=_0x423fd3[_0x52e389(0xb0)];let _0x215396={};if(existsSync(_0x29d36f))try{const _0x445557=await _0x423fd3['BKfJM'](readFile,_0x29d36f,_0x52e389(0xac));_0x215396=JSON[_0x52e389(0xb3)](_0x445557);}catch(_0x3aab10){return console[_0x52e389(0x99)](_0x52e389(0xa9)),{'configured':![],'scope':_0x31272b,'error':_0x423fd3['trfXo'],'details':_0x3aab10};}const _0x39459f=Array['isArray'](_0x215396['plugin'])?_0x215396[_0x52e389(0xa3)]:[];if(_0x39459f[_0x52e389(0xa8)](_0x30d289))return console[_0x52e389(0x9c)]('✓\x20OpenCode\x20plugin\x20already\x20configured'),{'configured':![],'scope':_0x31272b};return _0x215396['$schema']=_0x215396[_0x52e389(0xa6)]||_0x22c1d7,_0x215396[_0x52e389(0xa3)]=[..._0x39459f,_0x30d289],await _0x423fd3['QEuXe'](mkdir,_0x423fd3[_0x52e389(0xa7)](getOpencodeConfigDir,_0x31272b),{'recursive':!![]}),await writeFile(_0x29d36f,_0x423fd3['Koprq'](JSON['stringify'](_0x215396,null,0x2),'\x0a')),console['log'](_0x52e389(0x9d)),{'configured':!![],'scope':_0x31272b};}
@@ -1 +1 @@
1
- (function(_0x11baca,_0x49a749){const _0x15315c=_0x48b8,_0x1445ed=_0x11baca();while(!![]){try{const _0x9d37d0=-parseInt(_0x15315c(0x18f))/0x1+-parseInt(_0x15315c(0x195))/0x2+parseInt(_0x15315c(0x1a0))/0x3*(-parseInt(_0x15315c(0x191))/0x4)+parseInt(_0x15315c(0x1a4))/0x5*(parseInt(_0x15315c(0x178))/0x6)+parseInt(_0x15315c(0x17a))/0x7+-parseInt(_0x15315c(0x190))/0x8+parseInt(_0x15315c(0x18b))/0x9;if(_0x9d37d0===_0x49a749)break;else _0x1445ed['push'](_0x1445ed['shift']());}catch(_0x20c1ec){_0x1445ed['push'](_0x1445ed['shift']());}}}(_0x38ec,0xd210b));import{mkdir,readFile,readdir}from'fs/promises';import{join}from'path';import{existsSync}from'fs';import{authenticate,ensureRangerDir,ensureChromium,writeRangerGitignore}from'./start.js';import{skillup}from'./skillup.js';function _0x38ec(){const _0x4e151a=['install','\x20\x20No\x20auth\x20state\x20found\x20(app\x20may\x20not\x20require\x20authentication)','HsKmO','isDirectory','name','add','JbAhi','You\x20can\x20install\x20manually:\x20claude\x20plugin\x20marketplace\x20add\x20ranger-testing/trailhead','plugin','project','Auto-detected\x20CI\x20profile:\x20','6126HMBaTc','settings.json','11201862LmWabT','profile','baseUrl','CnXmE','trackPhaseStart','fTVxg','✓\x20Skipping\x20Chromium\x20check\x20(--skip-chromium)','✓\x20Claude\x20Code\x20plugin\x20already\x20installed','Or\x20specify\x20a\x20profile\x20name\x20with\x20--profile\x20and\x20--base-url\x20to\x20create\x20one.','ApoCl','trackPhaseEnd','auth.json','success','TrJbl','XCDAS','chromium','\x0a🔧\x20Ranger\x20CI\x20Setup\x0a','27275229UIsBJx','auth','error','✓\x20Auth\x20state\x20found','1535969KWxItf','1197624BESdIL','2709444oumnWz','xQzBn','AMiCk','CI\x20profile\x20\x22','1948090uCcwNB','filter','Qmxxt','log','ARjsM','✓\x20Encrypted\x20auth\x20verified\x20(will\x20decrypt\x20at\x20runtime)','dir_setup','length','ndTDq','message','No\x20API\x20token\x20available\x20for\x20decryption','6xahcoq','mRSTH','KkyfL','JLtVP','1195AoIAWF','ranger@trailhead','✓\x20Claude\x20Code\x20plugin\x20installed','skipChromium','Installing\x20Claude\x20Code\x20plugin\x20(project\x20level)...','QmEqH','ranger-testing/trailhead','profile_activate','MTxvb','snixi','uTZQh'];_0x38ec=function(){return _0x4e151a;};return _0x38ec();}import{getRangerDir}from'./utils/rangerRoot.js';import{writeActiveProfileName}from'./utils/activeProfile.js';function _0x48b8(_0x48f812,_0x5d5370){_0x48f812=_0x48f812-0x163;const _0x38ec44=_0x38ec();let _0x48b816=_0x38ec44[_0x48f812];return _0x48b816;}import{saveSettings}from'./utils/settings.js';import{decrypt}from'./utils/crypto.js';import{getToken}from'./utils/keychain.js';import{runClaudeCommand,isMarketplaceAdded,isPluginInstalled}from'./utils/claudePlugin.js';async function findCiProfile(_0x31ccb7){const _0x3491f7=_0x48b8,_0x52fefb={'bGiVn':function(_0x434054,_0x5a7a56,_0x23aba0){return _0x434054(_0x5a7a56,_0x23aba0);},'ASluF':function(_0x361d2b,_0x320486){return _0x361d2b===_0x320486;},'HHoPs':function(_0x5133cd,_0x1172d4){return _0x5133cd+_0x1172d4;},'snixi':'No\x20CI\x20profiles\x20found\x20in\x20.ranger/ci/.\x20Create\x20one\x20first\x20with:\x20ranger\x20profile\x20add\x20<name>\x20--ci\x0a','JbAhi':function(_0x2ea502,_0x3b0133){return _0x2ea502===_0x3b0133;}},_0x470f90=getRangerDir(),_0x5caa28=_0x52fefb['bGiVn'](join,_0x470f90,'ci');if(_0x31ccb7){const _0x13d3de=join(_0x5caa28,_0x31ccb7);return{'name':_0x31ccb7,'path':_0x13d3de};}if(!existsSync(_0x5caa28))throw new Error('No\x20CI\x20profiles\x20found.\x20Create\x20one\x20first\x20with:\x20ranger\x20profile\x20add\x20<name>\x20--ci\x0a'+_0x3491f7(0x182));const _0x3c0f6f=await readdir(_0x5caa28,{'withFileTypes':!![]}),_0x20d7f2=_0x3c0f6f[_0x3491f7(0x196)](_0x15f4e7=>_0x15f4e7[_0x3491f7(0x170)]())['map'](_0x5ade18=>_0x5ade18['name']);if(_0x52fefb['ASluF'](_0x20d7f2['length'],0x0))throw new Error(_0x52fefb['HHoPs'](_0x52fefb[_0x3491f7(0x16b)],_0x3491f7(0x182)));if(_0x52fefb[_0x3491f7(0x173)](_0x20d7f2[_0x3491f7(0x19c)],0x1)){const _0x42824c=_0x20d7f2[0x0];return console['log'](_0x3491f7(0x177)+_0x42824c),{'name':_0x42824c,'path':_0x52fefb['bGiVn'](join,_0x5caa28,_0x42824c)};}throw new Error('Multiple\x20CI\x20profiles\x20found:\x20'+_0x20d7f2['join'](',\x20')+'.\x20Use\x20--profile\x20to\x20specify\x20which\x20one.');}async function installPluginNonInteractive(){const _0x2ebfe5=_0x48b8,_0x2a824f={'lmQSB':'ranger@trailhead','fTVxg':_0x2ebfe5(0x181),'ARjsM':function(_0x3da53d,_0x29e12e){return _0x3da53d(_0x29e12e);},'KkyfL':'plugin','uTZQh':_0x2ebfe5(0x172),'dRzIU':_0x2ebfe5(0x168),'OGZWu':function(_0x47eac9,_0x3941c9){return _0x47eac9(_0x3941c9);},'ThNlq':_0x2ebfe5(0x16d),'DOTSw':'Failed\x20to\x20install\x20plugin:','GRrVt':_0x2ebfe5(0x164)},_0x51f9c1=await isPluginInstalled(_0x2a824f['lmQSB']);if(_0x51f9c1)return console[_0x2ebfe5(0x198)](_0x2a824f[_0x2ebfe5(0x17f)]),![];console['log'](_0x2ebfe5(0x166));const _0x41abda=await _0x2a824f['ARjsM'](isMarketplaceAdded,'trailhead');let _0x29eef1=_0x41abda;if(_0x41abda)console['log']('✓\x20Marketplace\x20already\x20added');else{const _0x3eb48c=await _0x2a824f[_0x2ebfe5(0x199)](runClaudeCommand,[_0x2a824f[_0x2ebfe5(0x1a2)],'marketplace',_0x2a824f[_0x2ebfe5(0x16c)],_0x2a824f['dRzIU']]);!_0x3eb48c['success']?(console['error']('Failed\x20to\x20add\x20marketplace:',_0x3eb48c[_0x2ebfe5(0x18d)]),console['log'](_0x2ebfe5(0x174))):_0x29eef1=!![];}if(_0x29eef1){const _0x41956b=await _0x2a824f['OGZWu'](runClaudeCommand,[_0x2a824f[_0x2ebfe5(0x1a2)],_0x2a824f['ThNlq'],_0x2ebfe5(0x163),'--scope',_0x2ebfe5(0x176)]);!_0x41956b[_0x2ebfe5(0x186)]?(console['error'](_0x2a824f['DOTSw'],_0x41956b['error']),console[_0x2ebfe5(0x198)]('You\x20can\x20install\x20manually:\x20claude\x20plugin\x20install\x20ranger@trailhead\x20--scope\x20project')):console['log'](_0x2a824f['GRrVt']);}return!![];}export async function setupCi(_0xf1be69,_0xeadcf3,_0x3f9355){const _0x7cf792=_0x48b8,_0x3e5770={'MTxvb':function(_0x5f1628,_0x4735f6){return _0x5f1628(_0x4735f6);},'HsKmO':_0x7cf792(0x18c),'TrJbl':function(_0x4caf20){return _0x4caf20();},'xQzBn':function(_0x16de65,_0x345de4,_0x11c07b){return _0x16de65(_0x345de4,_0x11c07b);},'vZXWm':_0x7cf792(0x189),'clJRH':_0x7cf792(0x180),'JLtVP':function(_0x25799b){return _0x25799b();},'pdFwI':function(_0x55fb11,_0x40e2f6,_0x3b1187){return _0x55fb11(_0x40e2f6,_0x3b1187);},'mRSTH':function(_0x122bde,_0x42c1f3,_0x12041f){return _0x122bde(_0x42c1f3,_0x12041f);},'GcGPI':function(_0x56f095,_0x1f32cd){return _0x56f095(_0x1f32cd);},'ndTDq':function(_0xc40ac5,_0x3f4e05,_0x5986b9){return _0xc40ac5(_0x3f4e05,_0x5986b9);},'ApoCl':function(_0x488f83,_0x474674){return _0x488f83(_0x474674);},'Qmxxt':_0x7cf792(0x19a),'lcAnp':function(_0x2a218b,_0x4bbedc){return _0x2a218b instanceof _0x4bbedc;},'XCDAS':_0x7cf792(0x169),'AMiCk':'plugin','CnXmE':function(_0x3fdf95){return _0x3fdf95();},'QmEqH':'skills'};console['log'](_0x7cf792(0x18a)),_0x3f9355?.['trackPhaseStart'](_0x7cf792(0x18c)),await _0x3e5770[_0x7cf792(0x16a)](authenticate,_0xf1be69),_0x3f9355?.[_0x7cf792(0x184)](_0x3e5770[_0x7cf792(0x16f)]),_0x3f9355?.[_0x7cf792(0x17e)](_0x7cf792(0x19b));const {path:_0x23b517,installed:_0x29939a}=await _0x3e5770[_0x7cf792(0x187)](ensureRangerDir);await _0x3e5770['MTxvb'](writeRangerGitignore,_0x23b517);const _0x35d6e8=join(_0x23b517,'sessions');!existsSync(_0x35d6e8)&&await _0x3e5770[_0x7cf792(0x192)](mkdir,_0x35d6e8,{'recursive':!![]});_0x3f9355?.[_0x7cf792(0x184)](_0x7cf792(0x19b),{'installed':_0x29939a}),_0x3f9355?.[_0x7cf792(0x17e)](_0x3e5770['vZXWm']);let _0x5db799=![];_0xeadcf3?.[_0x7cf792(0x165)]?console['log'](_0x3e5770['clJRH']):_0x5db799=await _0x3e5770[_0x7cf792(0x1a3)](ensureChromium);_0x3f9355?.['trackPhaseEnd'](_0x3e5770['vZXWm'],{'installed':_0x5db799,'skipped':!!_0xeadcf3?.[_0x7cf792(0x165)]}),_0x3f9355?.['trackPhaseStart']('profile_activate');const _0x41be97=await findCiProfile(_0xeadcf3?.[_0x7cf792(0x17b)]);let _0x42d625=![];_0xeadcf3?.[_0x7cf792(0x17c)]&&(await _0x3e5770['pdFwI'](mkdir,_0x41be97['path'],{'recursive':!![]}),await saveSettings(_0x41be97[_0x7cf792(0x171)],{'baseUrl':_0xeadcf3['baseUrl'],'headless':!![]}),console[_0x7cf792(0x198)]('✓\x20Created\x20profile\x20settings:\x20baseUrl='+_0xeadcf3['baseUrl']),_0x42d625=!![]);const _0x237747=_0x3e5770['mRSTH'](join,_0x41be97['path'],_0x7cf792(0x179));if(!_0x3e5770['GcGPI'](existsSync,_0x237747)&&!_0x42d625)throw new Error(_0x7cf792(0x194)+_0x41be97['name']+'\x22\x20has\x20no\x20settings.json.\x20Use\x20--base-url\x20to\x20configure\x20it.');const _0x227e59=_0x3e5770[_0x7cf792(0x1a1)](join,_0x41be97['path'],_0x7cf792(0x185)),_0x539ec1=_0x3e5770['ndTDq'](join,_0x41be97['path'],'auth.json.enc'),_0x504a8a=existsSync(_0x227e59),_0x3de929=_0x3e5770['GcGPI'](existsSync,_0x539ec1);if(_0x3de929)try{const _0x5ed41f=await getToken();if(!_0x5ed41f)throw new Error(_0x7cf792(0x19f));const _0x14d17a=await _0x3e5770[_0x7cf792(0x183)](readFile,_0x539ec1);_0x3e5770[_0x7cf792(0x19d)](decrypt,_0x14d17a,_0x5ed41f),console[_0x7cf792(0x198)](_0x3e5770[_0x7cf792(0x197)]);}catch(_0x50bbfd){const _0x2f007f=_0x3e5770['lcAnp'](_0x50bbfd,Error)?_0x50bbfd[_0x7cf792(0x19e)]:String(_0x50bbfd);throw new Error('Failed\x20to\x20verify\x20encrypted\x20auth\x20for\x20profile\x20\x22'+_0x41be97[_0x7cf792(0x171)]+'\x22:\x20'+_0x2f007f);}else _0x504a8a?console['log'](_0x7cf792(0x18e)):console[_0x7cf792(0x198)](_0x7cf792(0x16e));await writeActiveProfileName(_0x41be97[_0x7cf792(0x171)]),console[_0x7cf792(0x198)]('✓\x20Active\x20profile:\x20'+_0x41be97['name']),_0x3f9355?.[_0x7cf792(0x184)](_0x3e5770[_0x7cf792(0x188)],{'profileName':_0x41be97[_0x7cf792(0x171)],'hasAuth':_0x504a8a,'hasEncryptedAuth':_0x3de929,'createdSettings':_0x42d625}),_0x3f9355?.[_0x7cf792(0x17e)](_0x3e5770[_0x7cf792(0x193)]);const _0xb1783f=await _0x3e5770[_0x7cf792(0x17d)](installPluginNonInteractive);_0x3f9355?.[_0x7cf792(0x184)](_0x7cf792(0x175),{'installed':_0xb1783f}),_0x3f9355?.[_0x7cf792(0x17e)](_0x3e5770[_0x7cf792(0x167)]),await skillup({'autoInstall':_0x7cf792(0x176)}),_0x3f9355?.['trackPhaseEnd']('skills'),console[_0x7cf792(0x198)]('\x0a✅\x20Ranger\x20CI\x20setup\x20complete!\x0a');}
1
+ (function(_0x537f42,_0x5dd73a){const _0x5dc418=_0x50fa,_0x2f94ea=_0x537f42();while(!![]){try{const _0x3e6c45=-parseInt(_0x5dc418(0x187))/0x1*(parseInt(_0x5dc418(0x17b))/0x2)+parseInt(_0x5dc418(0x18c))/0x3*(-parseInt(_0x5dc418(0x1a9))/0x4)+-parseInt(_0x5dc418(0x175))/0x5+parseInt(_0x5dc418(0x18b))/0x6*(parseInt(_0x5dc418(0x16c))/0x7)+-parseInt(_0x5dc418(0x1a6))/0x8*(-parseInt(_0x5dc418(0x183))/0x9)+parseInt(_0x5dc418(0x195))/0xa*(parseInt(_0x5dc418(0x196))/0xb)+parseInt(_0x5dc418(0x1a4))/0xc*(-parseInt(_0x5dc418(0x19c))/0xd);if(_0x3e6c45===_0x5dd73a)break;else _0x2f94ea['push'](_0x2f94ea['shift']());}catch(_0x318ae0){_0x2f94ea['push'](_0x2f94ea['shift']());}}}(_0x161d,0x4f196));import{mkdir,readFile,readdir}from'fs/promises';import{join}from'path';import{existsSync}from'fs';function _0x161d(){const _0x2c6fdf=['5377510bOCQHf','11ppdzIx','\x22\x20has\x20no\x20settings.json.\x20Use\x20--base-url\x20to\x20configure\x20it.','\x20\x20No\x20auth\x20state\x20found\x20(app\x20may\x20not\x20require\x20authentication)','mZMvN','tmZWG','chromium','1464294PXObmz','skipChromium','trackPhaseEnd','profile_activate','No\x20CI\x20profiles\x20found.\x20Create\x20one\x20first\x20with:\x20ranger\x20profile\x20add\x20<name>\x20--ci\x0a','sessions','project','XfYyF','72EpmNAv','joJiq','94832TFHStJ','avpWH','name','204DiFOJe','jBUOH','evELa','map','profile','Failed\x20to\x20verify\x20encrypted\x20auth\x20for\x20profile\x20\x22','7NPaRZi','eSmAo','GGBgh','--scope','plugin','OgGAM','DMIbR','install','wAAOe','1718915tVWBJj','✓\x20Encrypted\x20auth\x20verified\x20(will\x20decrypt\x20at\x20runtime)','auth.json','FEtfM','baseUrl','path','230662xHhzLC','EdrCY','auth','LZaoS','eKcCm','npNsx','\x22:\x20','length','261Mrykfj','PZFOM','skills','log','1LpFHNx','trackPhaseStart','imzVd','CI\x20profile\x20\x22','3664002yyMGHv','1956znMfLu','error','ranger@trailhead','✓\x20Claude\x20Code\x20plugin\x20installed','✓\x20Skipping\x20Chromium\x20check\x20(--skip-chromium)','Auto-detected\x20CI\x20profile:\x20','add','marketplace','success'];_0x161d=function(){return _0x2c6fdf;};return _0x161d();}import{authenticate,ensureRangerDir,ensureChromium,writeRangerGitignore}from'./start.js';import{skillup}from'./skillup.js';function _0x50fa(_0x349875,_0x500e8b){_0x349875=_0x349875-0x168;const _0x161d84=_0x161d();let _0x50faa2=_0x161d84[_0x349875];return _0x50faa2;}import{getRangerDir}from'./utils/rangerRoot.js';import{writeActiveProfileName}from'./utils/activeProfile.js';import{saveSettings}from'./utils/settings.js';import{decrypt}from'./utils/crypto.js';import{getToken}from'./utils/keychain.js';import{runClaudeCommand,isMarketplaceAdded,isPluginInstalled}from'./utils/claudePlugin.js';async function findCiProfile(_0x15c32c){const _0x3dd1c4=_0x50fa,_0x3cd934={'GXBKw':function(_0x5c0781,_0x3582e5,_0x496354){return _0x5c0781(_0x3582e5,_0x496354);},'abfQR':function(_0x3da730,_0x47d9bc,_0x572b53){return _0x3da730(_0x47d9bc,_0x572b53);},'SRFvp':_0x3dd1c4(0x1a0),'eSmAo':'Or\x20specify\x20a\x20profile\x20name\x20with\x20--profile\x20and\x20--base-url\x20to\x20create\x20one.','EdrCY':function(_0x10f1b5,_0x576d7d,_0x293d13){return _0x10f1b5(_0x576d7d,_0x293d13);},'EKHXq':function(_0x1076c4,_0x24b24d){return _0x1076c4+_0x24b24d;},'hghcX':'No\x20CI\x20profiles\x20found\x20in\x20.ranger/ci/.\x20Create\x20one\x20first\x20with:\x20ranger\x20profile\x20add\x20<name>\x20--ci\x0a'},_0x3a65a4=getRangerDir(),_0x22a350=_0x3cd934['GXBKw'](join,_0x3a65a4,'ci');if(_0x15c32c){const _0x5c1c70=_0x3cd934['abfQR'](join,_0x22a350,_0x15c32c);return{'name':_0x15c32c,'path':_0x5c1c70};}if(!existsSync(_0x22a350))throw new Error(_0x3cd934['SRFvp']+_0x3cd934[_0x3dd1c4(0x16d)]);const _0xe06a68=await _0x3cd934[_0x3dd1c4(0x17c)](readdir,_0x22a350,{'withFileTypes':!![]}),_0x576f5f=_0xe06a68['filter'](_0x49a5c5=>_0x49a5c5['isDirectory']())[_0x3dd1c4(0x169)](_0x3101f2=>_0x3101f2['name']);if(_0x576f5f[_0x3dd1c4(0x182)]===0x0)throw new Error(_0x3cd934['EKHXq'](_0x3cd934['hghcX'],'Or\x20specify\x20a\x20profile\x20name\x20with\x20--profile\x20and\x20--base-url\x20to\x20create\x20one.'));if(_0x576f5f[_0x3dd1c4(0x182)]===0x1){const _0x19ac9e=_0x576f5f[0x0];return console[_0x3dd1c4(0x186)](_0x3dd1c4(0x191)+_0x19ac9e),{'name':_0x19ac9e,'path':join(_0x22a350,_0x19ac9e)};}throw new Error('Multiple\x20CI\x20profiles\x20found:\x20'+_0x576f5f['join'](',\x20')+'.\x20Use\x20--profile\x20to\x20specify\x20which\x20one.');}async function installPluginNonInteractive(){const _0x54124c=_0x50fa,_0x58931e={'VjZBO':_0x54124c(0x18e),'GpXyl':'✓\x20Claude\x20Code\x20plugin\x20already\x20installed','FEtfM':'Installing\x20Claude\x20Code\x20plugin\x20(project\x20level)...','XfYyF':function(_0x48aee3,_0x11ab56){return _0x48aee3(_0x11ab56);},'mZMvN':_0x54124c(0x170),'JKAMg':_0x54124c(0x192),'LZaoS':'You\x20can\x20install\x20manually:\x20claude\x20plugin\x20marketplace\x20add\x20ranger-testing/trailhead','tmZWG':_0x54124c(0x173),'pyFaN':_0x54124c(0x16f),'evELa':'Failed\x20to\x20install\x20plugin:','bsGKQ':_0x54124c(0x18f)},_0x26f30b=await isPluginInstalled(_0x58931e['VjZBO']);if(_0x26f30b)return console[_0x54124c(0x186)](_0x58931e['GpXyl']),![];console[_0x54124c(0x186)](_0x58931e[_0x54124c(0x178)]);const _0x3fbb5c=await isMarketplaceAdded('trailhead');let _0x228782=_0x3fbb5c;if(_0x3fbb5c)console[_0x54124c(0x186)]('✓\x20Marketplace\x20already\x20added');else{const _0x5e2abb=await _0x58931e['XfYyF'](runClaudeCommand,[_0x58931e[_0x54124c(0x199)],_0x54124c(0x193),_0x58931e['JKAMg'],'ranger-testing/trailhead']);!_0x5e2abb[_0x54124c(0x194)]?(console['error']('Failed\x20to\x20add\x20marketplace:',_0x5e2abb['error']),console[_0x54124c(0x186)](_0x58931e[_0x54124c(0x17e)])):_0x228782=!![];}if(_0x228782){const _0x316675=await _0x58931e[_0x54124c(0x1a3)](runClaudeCommand,['plugin',_0x58931e[_0x54124c(0x19a)],_0x58931e['VjZBO'],_0x58931e['pyFaN'],_0x54124c(0x1a2)]);!_0x316675[_0x54124c(0x194)]?(console['error'](_0x58931e[_0x54124c(0x168)],_0x316675[_0x54124c(0x18d)]),console['log']('You\x20can\x20install\x20manually:\x20claude\x20plugin\x20install\x20ranger@trailhead\x20--scope\x20project')):console[_0x54124c(0x186)](_0x58931e['bsGKQ']);}return!![];}export async function setupCi(_0x2fefed,_0x3ead57,_0x34ab71){const _0x599280=_0x50fa,_0x124d6d={'jBUOH':_0x599280(0x17d),'imzVd':'dir_setup','TAuWN':function(_0x3c973d,_0x4b60be){return _0x3c973d(_0x4b60be);},'DkuVz':function(_0x495eb1,_0x5554e8,_0x164622){return _0x495eb1(_0x5554e8,_0x164622);},'dQxNm':function(_0x6efd04,_0x231c51){return _0x6efd04(_0x231c51);},'LJALW':_0x599280(0x190),'avpWH':function(_0x4589ba){return _0x4589ba();},'GGBgh':_0x599280(0x19b),'eKcCm':function(_0x1b0a0d,_0x352e58,_0x2a63e8){return _0x1b0a0d(_0x352e58,_0x2a63e8);},'npNsx':function(_0xef5bef,_0x553af9,_0x18bc7e){return _0xef5bef(_0x553af9,_0x18bc7e);},'OuEsL':function(_0x3e3193,_0x4b6860){return _0x3e3193(_0x4b6860);},'CnzJU':function(_0x525328,_0x4a37cc,_0x182557){return _0x525328(_0x4a37cc,_0x182557);},'uuGal':_0x599280(0x176),'DMIbR':function(_0x3d9301,_0x452755){return _0x3d9301 instanceof _0x452755;},'biyHC':'✓\x20Auth\x20state\x20found','DDeNx':_0x599280(0x198),'wAAOe':'profile_activate','OgGAM':_0x599280(0x170),'PZFOM':function(_0x5ea3b8,_0x24fad8){return _0x5ea3b8(_0x24fad8);},'joJiq':'project','rUClH':_0x599280(0x185)};console['log']('\x0a🔧\x20Ranger\x20CI\x20Setup\x0a'),_0x34ab71?.[_0x599280(0x188)](_0x124d6d[_0x599280(0x1aa)]),await authenticate(_0x2fefed),_0x34ab71?.['trackPhaseEnd']('auth'),_0x34ab71?.['trackPhaseStart'](_0x124d6d[_0x599280(0x189)]);const {path:_0xacdc59,installed:_0x2f8645}=await ensureRangerDir();await _0x124d6d['TAuWN'](writeRangerGitignore,_0xacdc59);const _0xa30817=_0x124d6d['DkuVz'](join,_0xacdc59,_0x599280(0x1a1));!_0x124d6d['dQxNm'](existsSync,_0xa30817)&&await _0x124d6d['DkuVz'](mkdir,_0xa30817,{'recursive':!![]});_0x34ab71?.[_0x599280(0x19e)](_0x124d6d[_0x599280(0x189)],{'installed':_0x2f8645}),_0x34ab71?.['trackPhaseStart'](_0x599280(0x19b));let _0xec1be6=![];_0x3ead57?.[_0x599280(0x19d)]?console['log'](_0x124d6d['LJALW']):_0xec1be6=await _0x124d6d[_0x599280(0x1a7)](ensureChromium);_0x34ab71?.['trackPhaseEnd'](_0x124d6d[_0x599280(0x16e)],{'installed':_0xec1be6,'skipped':!!_0x3ead57?.['skipChromium']}),_0x34ab71?.[_0x599280(0x188)](_0x599280(0x19f));const _0x170a8f=await findCiProfile(_0x3ead57?.[_0x599280(0x16a)]);let _0x4e4d28=![];_0x3ead57?.['baseUrl']&&(await mkdir(_0x170a8f[_0x599280(0x17a)],{'recursive':!![]}),await _0x124d6d[_0x599280(0x17f)](saveSettings,_0x170a8f['name'],{'baseUrl':_0x3ead57[_0x599280(0x179)],'headless':!![]}),console['log']('✓\x20Created\x20profile\x20settings:\x20baseUrl='+_0x3ead57['baseUrl']),_0x4e4d28=!![]);const _0x48593d=_0x124d6d[_0x599280(0x180)](join,_0x170a8f[_0x599280(0x17a)],'settings.json');if(!_0x124d6d['OuEsL'](existsSync,_0x48593d)&&!_0x4e4d28)throw new Error(_0x599280(0x18a)+_0x170a8f[_0x599280(0x1a8)]+_0x599280(0x197));const _0xcba118=join(_0x170a8f[_0x599280(0x17a)],_0x599280(0x177)),_0x2d45de=_0x124d6d['CnzJU'](join,_0x170a8f['path'],'auth.json.enc'),_0x487dce=existsSync(_0xcba118),_0x5ca39f=_0x124d6d['TAuWN'](existsSync,_0x2d45de);if(_0x5ca39f)try{const _0x51c5d7=await getToken();if(!_0x51c5d7)throw new Error('No\x20API\x20token\x20available\x20for\x20decryption');const _0x376886=await readFile(_0x2d45de);_0x124d6d['CnzJU'](decrypt,_0x376886,_0x51c5d7),console['log'](_0x124d6d['uuGal']);}catch(_0x4d0073){const _0x4fcda8=_0x124d6d[_0x599280(0x172)](_0x4d0073,Error)?_0x4d0073['message']:String(_0x4d0073);throw new Error(_0x599280(0x16b)+_0x170a8f[_0x599280(0x1a8)]+_0x599280(0x181)+_0x4fcda8);}else _0x487dce?console['log'](_0x124d6d['biyHC']):console['log'](_0x124d6d['DDeNx']);await writeActiveProfileName(_0x170a8f['name']),console['log']('✓\x20Active\x20profile:\x20'+_0x170a8f['name']),_0x34ab71?.['trackPhaseEnd'](_0x124d6d[_0x599280(0x174)],{'profileName':_0x170a8f[_0x599280(0x1a8)],'hasAuth':_0x487dce,'hasEncryptedAuth':_0x5ca39f,'createdSettings':_0x4e4d28}),_0x34ab71?.[_0x599280(0x188)](_0x124d6d[_0x599280(0x171)]);const _0x519db1=await installPluginNonInteractive();_0x34ab71?.['trackPhaseEnd']('plugin',{'installed':_0x519db1}),_0x34ab71?.['trackPhaseStart'](_0x599280(0x185)),await _0x124d6d[_0x599280(0x184)](skillup,{'autoInstall':_0x124d6d[_0x599280(0x1a5)]}),_0x34ab71?.[_0x599280(0x19e)](_0x124d6d['rUClH']),console[_0x599280(0x186)]('\x0a✅\x20Ranger\x20CI\x20setup\x20complete!\x0a');}
@@ -1 +1 @@
1
- function _0xfc37(){const _0x37442c=['To\x20get\x20started:','project','RRgAo','warn','5682870KuaJrz','\x20\x201.\x20Get\x20your\x20API\x20token\x20from\x20https://dashboard.ranger.net/cli','249604sWsaaM','488QEnXRt','split','list','\x20skill','aSmAk','ZroxZ','\x20\x203.\x20Run:\x20ranger\x20skillup\x0a','tGTnC','LhSeT','autoInstall','68841KabsvB','GwOKn','✓\x20Found\x20API\x20token','84LYtCzY','QdGxA','\x0a✅\x20Installed\x20','xBWCl','\x0a🎯\x20Ranger\x20Skill\x20Setup\x0a','9750530JcZjna','254990WpnoAw','aYuyW','Where\x20should\x20skills\x20be\x20installed?','suppressUsage','isTTY','ranger','47266GeLdqi','log','vKHrQ','kXVFA','RIbUX','❌\x20No\x20Ranger\x20API\x20token\x20found.\x0a','1065841FdZslS','55QKjBHv'];_0xfc37=function(){return _0x37442c;};return _0xfc37();}(function(_0xff02ce,_0x2415e2){const _0x55f19c=_0x24f1,_0xec451e=_0xff02ce();while(!![]){try{const _0x3a7192=parseInt(_0x55f19c(0x1d1))/0x1+parseInt(_0x55f19c(0x1d7))/0x2*(parseInt(_0x55f19c(0x1cb))/0x3)+-parseInt(_0x55f19c(0x1e5))/0x4*(parseInt(_0x55f19c(0x1de))/0x5)+-parseInt(_0x55f19c(0x1e3))/0x6+-parseInt(_0x55f19c(0x1dd))/0x7+parseInt(_0x55f19c(0x1e6))/0x8*(parseInt(_0x55f19c(0x1c8))/0x9)+parseInt(_0x55f19c(0x1d0))/0xa;if(_0x3a7192===_0x2415e2)break;else _0xec451e['push'](_0xec451e['shift']());}catch(_0x1c0cb1){_0xec451e['push'](_0xec451e['shift']());}}}(_0xfc37,0x8bc79));import{basename}from'path';import _0x411801 from'inquirer';import{getToken}from'./utils/keychain.js';function _0x24f1(_0x39ecee,_0xd3df6b){_0x39ecee=_0x39ecee-0x1c1;const _0xfc37ee=_0xfc37();let _0x24f1cc=_0xfc37ee[_0x39ecee];return _0x24f1cc;}import{installSkill}from'./utils/skills.js';import{getCurrentVersion}from'./utils/version.js';import{getClaudeConfigDir,getProjectRoot}from'./utils/claudeConfig.js';export async function skillup(_0x5abbe4={}){const _0x2edf33=_0x24f1,_0x3ecbf4={'RIbUX':function(_0x2855ac){return _0x2855ac();},'vKHrQ':'5|4|2|0|1|3','uelYp':'\x20\x202.\x20Run:\x20ranger\x20setup\x20<your-api-token>','QdGxA':_0x2edf33(0x1dc),'ZroxZ':_0x2edf33(0x1ca),'kXVFA':function(_0x5b32bb,_0x542d1c){return _0x5b32bb(_0x542d1c);},'geJsm':_0x2edf33(0x1e8),'tGTnC':_0x2edf33(0x1d3),'LhSeT':'user','aYuyW':function(_0x1c19e2,_0x187704,_0xa42799){return _0x1c19e2(_0x187704,_0xa42799);},'xBWCl':_0x2edf33(0x1d6),'hlJjj':'\x20\x20Failed\x20to\x20install\x20ranger\x20skill:','RRgAo':function(_0x336494,_0x3b76a7){return _0x336494 instanceof _0x3b76a7;},'LGFlj':function(_0xcc29cd,_0x426741){return _0xcc29cd>_0x426741;},'aSmAk':function(_0x55ba86,_0x53dac2){return _0x55ba86>_0x53dac2;},'GwOKn':'\x0a⚠️\x20\x20No\x20skills\x20were\x20installed.\x0a'};console[_0x2edf33(0x1d8)](_0x2edf33(0x1cf));const _0x261905=await _0x3ecbf4[_0x2edf33(0x1db)](getToken);if(!_0x261905){const _0x37e3cb=_0x3ecbf4[_0x2edf33(0x1d9)][_0x2edf33(0x1e7)]('|');let _0x3910e4=0x0;while(!![]){switch(_0x37e3cb[_0x3910e4++]){case'0':console['log'](_0x3ecbf4['uelYp']);continue;case'1':console[_0x2edf33(0x1d8)](_0x2edf33(0x1c4));continue;case'2':console['log'](_0x2edf33(0x1e4));continue;case'3':return;case'4':console['log'](_0x2edf33(0x1df));continue;case'5':console['log'](_0x3ecbf4[_0x2edf33(0x1cc)]);continue;}break;}}console['log'](_0x3ecbf4[_0x2edf33(0x1c3)]);const _0x5bef2c=getProjectRoot(),_0xd6ca49=_0x3ecbf4[_0x2edf33(0x1da)](basename,_0x5bef2c),_0x480e24=process['stdin'][_0x2edf33(0x1d5)]&&process['stdout']['isTTY'];let _0x34b1c0;if(_0x5abbe4['autoInstall'])_0x34b1c0=_0x5abbe4[_0x2edf33(0x1c7)];else{if(_0x480e24){const _0xd1c2bc=await _0x411801['prompt']([{'type':_0x3ecbf4['geJsm'],'name':'installLevel','message':_0x3ecbf4[_0x2edf33(0x1c5)],'choices':[{'name':'All\x20projects\x20('+getClaudeConfigDir()+'/skills/)','value':_0x3ecbf4['LhSeT']},{'name':'This\x20project\x20only\x20('+_0xd6ca49+'/.claude/skills/)','value':_0x2edf33(0x1e0)}]}]);_0x34b1c0=_0xd1c2bc['installLevel'];}else _0x34b1c0=_0x2edf33(0x1e0),console['log']('Non-interactive\x20mode:\x20Installing\x20skills\x20at\x20project\x20level\x20('+_0xd6ca49+'/.claude/skills/)');}let _0xe6fe83=0x0;const _0xd0c508=getCurrentVersion();console['log']('\x0a📦\x20Installing\x20skills...\x0a');try{const _0x3c16e8=await _0x3ecbf4[_0x2edf33(0x1d2)](installSkill,_0x3ecbf4[_0x2edf33(0x1ce)],{'cliVersion':_0xd0c508,'level':_0x34b1c0});_0x3c16e8&&_0xe6fe83++;}catch(_0x6cb015){console[_0x2edf33(0x1e2)](_0x3ecbf4['hlJjj'],_0x3ecbf4[_0x2edf33(0x1e1)](_0x6cb015,Error)?_0x6cb015['message']:_0x6cb015);}if(_0x3ecbf4['LGFlj'](_0xe6fe83,0x0)){const _0x139b13=_0x34b1c0===_0x3ecbf4[_0x2edf33(0x1c6)]?'user-level':'project-level';console[_0x2edf33(0x1d8)](_0x2edf33(0x1cd)+_0xe6fe83+'\x20'+_0x139b13+_0x2edf33(0x1c1)+(_0x3ecbf4[_0x2edf33(0x1c2)](_0xe6fe83,0x1)?'s':'')+'\x20successfully!\x0a'),!_0x5abbe4[_0x2edf33(0x1d4)]&&(console['log']('To\x20use:'),console['log']('\x20\x20-\x20Open\x20Claude\x20Code\x20in\x20plan\x20mode\x20and\x20run\x20/ranger:enable.\x20Plan\x20out\x20a\x20UI\x20feature\x20with\x20Ranger\x20and\x20watch\x20Ranger\x20test\x20it\x20for\x20you!'));}else console['log'](_0x3ecbf4[_0x2edf33(0x1c9)]);}
1
+ function _0x2521(_0x30879d,_0x5da847){_0x30879d=_0x30879d-0xd7;const _0x45ae2c=_0x45ae();let _0x2521ae=_0x45ae2c[_0x30879d];return _0x2521ae;}(function(_0x10cb6b,_0x3cd4f6){const _0x7546a4=_0x2521,_0x453a23=_0x10cb6b();while(!![]){try{const _0x501173=parseInt(_0x7546a4(0x101))/0x1+-parseInt(_0x7546a4(0xf2))/0x2+-parseInt(_0x7546a4(0xff))/0x3+-parseInt(_0x7546a4(0xe4))/0x4+parseInt(_0x7546a4(0xf4))/0x5+-parseInt(_0x7546a4(0xf5))/0x6+parseInt(_0x7546a4(0xd7))/0x7;if(_0x501173===_0x3cd4f6)break;else _0x453a23['push'](_0x453a23['shift']());}catch(_0x84615a){_0x453a23['push'](_0x453a23['shift']());}}}(_0x45ae,0x31aa2));import{basename}from'path';import _0x5ae3f3 from'inquirer';function _0x45ae(){const _0x1e2bc6=['\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!','eVwqE','EATnR','user','split','All\x20projects\x20(','1625064aPsCjZ','isTTY','platform','stdout','project-level','\x20skill','\x20\x20-\x20Start\x20OpenCode\x20and\x20run\x20the\x20`ranger_enable`\x20tool\x20to\x20enable\x20hooks.','TFTSh','message','/skills/','ranger','\x0a📦\x20Installing\x20skills...\x0a','TBvri','list','190172MtLBxR','\x0a✅\x20Installed\x20','205135WIpkTk','1480896pNTaAd','aWYPg','zRmty','TEySU','IFGmy','dCOnz','autoInstall','opencode','\x20\x203.\x20Run:\x20ranger\x20skillup','To\x20get\x20started:','981963dSrdvG','stdin','311444dYaMFc','LcdaW','JNAGJ','log','project','prompt','6485108hzHRcl','\x20\x202.\x20Run:\x20ranger\x20setup','\x20\x20Failed\x20to\x20install\x20ranger\x20skill:','/.opencode/skills/','suppressUsage','MeNrS','\x0a🎯\x20Ranger\x20Skill\x20Setup\x0a'];_0x45ae=function(){return _0x1e2bc6;};return _0x45ae();}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(_0x1f2e8e={}){const _0x4f0702=_0x2521,_0xd4ac1d={'zRmty':_0x4f0702(0xdd),'dCOnz':function(_0x59dfea){return _0x59dfea();},'MeNrS':'2|3|1|0|4|5','gqZEs':function(_0x5bdbeb,_0x3919b8){return _0x5bdbeb===_0x3919b8;},'IFGmy':'\x20--opencode','JNAGJ':'✓\x20Found\x20API\x20token','eVwqE':function(_0x52fa44){return _0x52fa44();},'TFTSh':function(_0x562f4e,_0x542c04){return _0x562f4e(_0x542c04);},'TBvri':_0x4f0702(0xfc),'TEySU':'user','oBqqZ':function(_0x3b4b6d){return _0x3b4b6d();},'HlmQD':'Where\x20should\x20skills\x20be\x20installed?','aWYPg':_0x4f0702(0x105),'EATnR':_0x4f0702(0xee),'aveQu':function(_0x1b5b45,_0x2270cc){return _0x1b5b45 instanceof _0x2270cc;},'ScRcK':_0x4f0702(0xe8),'LcdaW':function(_0x5d338a,_0x5eaafa){return _0x5d338a>_0x5eaafa;},'lEjUk':'To\x20use:','nbQBZ':_0x4f0702(0xea)};console[_0x4f0702(0x104)](_0xd4ac1d[_0x4f0702(0xf7)]);const _0x5045ce=_0x1f2e8e[_0x4f0702(0xe6)]??'claude',_0x1165f3=await _0xd4ac1d[_0x4f0702(0xfa)](getToken);if(!_0x1165f3){const _0x2e0871=_0xd4ac1d[_0x4f0702(0xdc)][_0x4f0702(0xe2)]('|');let _0x369481=0x0;while(!![]){switch(_0x2e0871[_0x369481++]){case'0':console['log'](_0x4f0702(0xd8)+(_0xd4ac1d['gqZEs'](_0x5045ce,'opencode')?_0xd4ac1d[_0x4f0702(0xf9)]:'')+'\x20<your-api-token>');continue;case'1':console[_0x4f0702(0x104)]('\x20\x201.\x20Get\x20your\x20API\x20token\x20from\x20https://dashboard.ranger.net/cli');continue;case'2':console[_0x4f0702(0x104)]('❌\x20No\x20Ranger\x20API\x20token\x20found.\x0a');continue;case'3':console['log'](_0x4f0702(0xfe));continue;case'4':console[_0x4f0702(0x104)](_0x4f0702(0xfd)+(_0x5045ce==='opencode'?_0xd4ac1d[_0x4f0702(0xf9)]:'')+'\x0a');continue;case'5':return;}break;}}console[_0x4f0702(0x104)](_0xd4ac1d[_0x4f0702(0x103)]);const _0x10ca91=_0xd4ac1d[_0x4f0702(0xdf)](getProjectRoot),_0x24162b=_0xd4ac1d['TFTSh'](basename,_0x10ca91),_0x5d5092=_0x5045ce===_0xd4ac1d['TBvri']?_0xd4ac1d[_0x4f0702(0xeb)](getOpencodeConfigDir,_0xd4ac1d['TEySU'])+_0x4f0702(0xed):_0xd4ac1d['oBqqZ'](getClaudeConfigDir)+_0x4f0702(0xed),_0x5c108d=_0xd4ac1d['gqZEs'](_0x5045ce,_0xd4ac1d[_0x4f0702(0xf0)])?_0x10ca91+_0x4f0702(0xda):_0x10ca91+'/.claude/skills/',_0x5067da=process[_0x4f0702(0x100)]['isTTY']&&process[_0x4f0702(0xe7)][_0x4f0702(0xe5)];let _0x25c223;if(_0x1f2e8e[_0x4f0702(0xfb)])_0x25c223=_0x1f2e8e['autoInstall'];else{if(_0x5067da){const _0x54c9bd=await _0x5ae3f3[_0x4f0702(0x106)]([{'type':_0x4f0702(0xf1),'name':'installLevel','message':_0xd4ac1d['HlmQD'],'choices':[{'name':_0x4f0702(0xe3)+_0x5d5092+')','value':_0xd4ac1d[_0x4f0702(0xf8)]},{'name':'This\x20project\x20only\x20('+_0x5c108d+')','value':_0xd4ac1d[_0x4f0702(0xf6)]}]}]);_0x25c223=_0x54c9bd['installLevel'];}else _0x25c223='project',console['log']('Non-interactive\x20mode:\x20Installing\x20skills\x20at\x20project\x20level\x20('+_0x5c108d+')');}let _0x1ac44f=0x0;const _0x38dea2=getCurrentVersion();console[_0x4f0702(0x104)](_0x4f0702(0xef));try{const _0x2fbe1b=await installSkill(_0xd4ac1d[_0x4f0702(0xe0)],{'cliVersion':_0x38dea2,'level':_0x25c223,'platform':_0x5045ce});_0x2fbe1b&&_0x1ac44f++;}catch(_0x58ef70){console['warn'](_0x4f0702(0xd9),_0xd4ac1d['aveQu'](_0x58ef70,Error)?_0x58ef70[_0x4f0702(0xec)]:_0x58ef70);}if(_0x1ac44f>0x0){const _0x36fc0e=_0xd4ac1d['gqZEs'](_0x25c223,_0x4f0702(0xe1))?'user-level':_0xd4ac1d['ScRcK'];console['log'](_0x4f0702(0xf3)+_0x1ac44f+'\x20'+_0x36fc0e+_0x4f0702(0xe9)+(_0xd4ac1d[_0x4f0702(0x102)](_0x1ac44f,0x1)?'s':'')+'\x20successfully!\x0a'),!_0x1f2e8e[_0x4f0702(0xdb)]&&(console[_0x4f0702(0x104)](_0xd4ac1d['lEjUk']),_0xd4ac1d['gqZEs'](_0x5045ce,'opencode')?console[_0x4f0702(0x104)](_0xd4ac1d['nbQBZ']):console[_0x4f0702(0x104)](_0x4f0702(0xde)));}else console[_0x4f0702(0x104)]('\x0a⚠️\x20\x20No\x20skills\x20were\x20installed.\x0a');}
@@ -1 +1 @@
1
- const _0xd2d2b0=_0x2f8c;(function(_0x262c7d,_0x8da2cb){const _0x3723c9=_0x2f8c,_0x338312=_0x262c7d();while(!![]){try{const _0x565b9b=parseInt(_0x3723c9(0x13f))/0x1*(parseInt(_0x3723c9(0x12c))/0x2)+-parseInt(_0x3723c9(0x15d))/0x3*(-parseInt(_0x3723c9(0xf7))/0x4)+-parseInt(_0x3723c9(0x161))/0x5*(parseInt(_0x3723c9(0x11a))/0x6)+-parseInt(_0x3723c9(0xf0))/0x7+parseInt(_0x3723c9(0xeb))/0x8*(-parseInt(_0x3723c9(0xf8))/0x9)+-parseInt(_0x3723c9(0x133))/0xa+-parseInt(_0x3723c9(0x11c))/0xb*(-parseInt(_0x3723c9(0x13d))/0xc);if(_0x565b9b===_0x8da2cb)break;else _0x338312['push'](_0x338312['shift']());}catch(_0x4c2f44){_0x338312['push'](_0x338312['shift']());}}}(_0x2268,0xd3179));import{mkdir,writeFile}from'fs/promises';function _0x2f8c(_0x4b2580,_0x4455da){_0x4b2580=_0x4b2580-0xe7;const _0x226855=_0x2268();let _0x2f8c1f=_0x226855[_0x4b2580];return _0x2f8c1f;}import{join}from'path';import{existsSync}from'fs';import{createRequire}from'module';import{spawn}from'child_process';import _0xa84b39 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{skillup}from'./skillup.js';import{getRangerDir,findGitRoot}from'./utils/rangerRoot.js';import{runClaudeCommand,isMarketplaceAdded,isPluginInstalled}from'./utils/claudePlugin.js';import{getProjectRoot,getSkillsDir}from'./utils/claudeConfig.js';import{runDeviceAuthFlow}from'./utils/deviceAuth.js';import{findExistingEnv}from'./utils/settings.js';const require=createRequire(import.meta.url),bold=_0xb4ae64=>_0xd2d2b0(0xff)+_0xb4ae64+_0xd2d2b0(0x162);function getPlaywrightVersion(){const _0x4c091e=_0xd2d2b0;try{const _0x5efdf4=require['resolve']('playwright/package.json'),_0x355cce=require(_0x5efdf4);return _0x355cce[_0x4c091e(0x131)];}catch{return null;}}function installChromiumBinary(_0x11735c){const _0x305d9d=_0xd2d2b0,_0x5a041d={'BUTFm':_0x305d9d(0x121),'RhHgg':'playwright','UobsO':function(_0x425926,_0x2283a8,_0x493d56,_0xecdd21){return _0x425926(_0x2283a8,_0x493d56,_0xecdd21);},'IxMSp':'error'};return new Promise((_0x232325,_0x4a0880)=>{const _0x1307a7=_0x305d9d,_0xd5fe42=_0x11735c?['playwright@'+_0x11735c,_0x1307a7(0xe7),_0x5a041d['BUTFm']]:[_0x5a041d[_0x1307a7(0x144)],'install',_0x1307a7(0x121)],_0x521336=_0x5a041d['UobsO'](spawn,'npx',_0xd5fe42,{'stdio':_0x1307a7(0x16b),'shell':process['platform']===_0x1307a7(0x14c)});_0x521336['on'](_0x1307a7(0x11f),_0x45a87f=>{const _0x44bb08=_0x1307a7;_0x45a87f===0x0?_0x232325():_0x4a0880(new Error(_0x44bb08(0x101)+_0x45a87f));}),_0x521336['on'](_0x5a041d['IxMSp'],_0x12ec7e=>{_0x4a0880(_0x12ec7e);});});}export async function authenticate(_0xf79db8){const _0x55770e=_0xd2d2b0,_0xcc1dbe={'tIyZc':function(_0x27d9ae){return _0x27d9ae();},'WniLM':_0x55770e(0x117),'dTkTZ':function(_0x413629){return _0x413629();},'fPeIU':function(_0x5d3a0b,_0xdc57e){return _0x5d3a0b instanceof _0xdc57e;},'xIjew':'✓\x20Exported\x20credentials\x20for\x20CI','uTvwt':_0x55770e(0x15a)};if(!_0xf79db8){const _0x17d1f7=await _0xcc1dbe['tIyZc'](getToken);if(_0x17d1f7){const _0x5c16c1=await getCurrentUser(_0x17d1f7);if(_0x5c16c1[_0x55770e(0x129)])return console[_0x55770e(0x147)]('✓\x20Already\x20authenticated\x20to\x20'+_0x5c16c1[_0x55770e(0x139)][_0x55770e(0xef)]),{'token':_0x17d1f7,'method':_0xcc1dbe['WniLM']};}try{_0xf79db8=await _0xcc1dbe['dTkTZ'](runDeviceAuthFlow);}catch(_0x160560){throw new Error('Authentication\x20failed:\x20'+(_0xcc1dbe[_0x55770e(0x10e)](_0x160560,Error)?_0x160560[_0x55770e(0x15b)]:_0x160560));}const _0x40b5c6=await getCurrentUser(_0xf79db8);if(!_0x40b5c6['success'])throw new Error('Failed\x20to\x20validate\x20provisioned\x20API\x20key:\x20'+_0x40b5c6['error']);return console['log']('✓\x20Authenticated\x20to\x20'+_0x40b5c6[_0x55770e(0x139)]['organizationName']),{'token':_0xf79db8,'method':_0x55770e(0x15e)};}console['log'](_0x55770e(0x12b));const _0x3db898=await getCurrentUser(_0xf79db8);if(!_0x3db898['success']){if(_0x3db898['status'])throw new Error(_0x55770e(0x138)+_0x3db898['error']+'.\x20Please\x20check\x20your\x20API\x20token\x20and\x20try\x20again.');else throw new Error('Failed\x20to\x20connect\x20to\x20MCP\x20server:\x20'+_0x3db898['error']+'.\x20Please\x20check\x20your\x20network\x20connection\x20and\x20server\x20URL.');}return console[_0x55770e(0x147)](_0x55770e(0x112)+_0x3db898[_0x55770e(0x139)]['organizationName']),await storeToken(_0xf79db8),console[_0x55770e(0x147)](process['env']['GITHUB_ENV']?_0xcc1dbe[_0x55770e(0x149)]:_0xcc1dbe['uTvwt']),{'token':_0xf79db8,'method':_0x55770e(0x130)};}export async function ensureRangerDir(){const _0x30569c=_0xd2d2b0,_0x1992a7={'TtPNR':function(_0x56af34){return _0x56af34();},'bzUYt':function(_0x568210,_0x16dc75,_0x3f4f97){return _0x568210(_0x16dc75,_0x3f4f97);}},_0x87dc64=_0x1992a7['TtPNR'](getRangerDir);return!existsSync(_0x87dc64)?(await _0x1992a7['bzUYt'](mkdir,_0x87dc64,{'recursive':!![]}),console[_0x30569c(0x147)]('✓\x20Created\x20.ranger/\x20directory'),{'path':_0x87dc64,'installed':!![]}):(console[_0x30569c(0x147)]('✓\x20.ranger/\x20directory\x20already\x20exists'),{'path':_0x87dc64,'installed':![]});}export async function ensureChromium(){const _0x49fae8=_0xd2d2b0,_0x49283b={'DerdL':function(_0x53f6f9,_0x505b32){return _0x53f6f9(_0x505b32);},'TzsQw':function(_0x31d0cd){return _0x31d0cd();},'aLGab':_0x49fae8(0x10d),'SOUEu':'The\x20required\x20Playwright\x20Chromium\x20browser\x20is\x20not\x20installed.\x20Install\x20it\x20now?','ltUyG':'\x0aInstalling\x20Chromium\x20browser...\x0a','rYzJX':_0x49fae8(0x111),'BBfoz':function(_0x46e976,_0x57a781){return _0x46e976 instanceof _0x57a781;},'xcvfC':'You\x20can\x20install\x20it\x20manually\x20by\x20running:','yTLQM':'You\x20will\x20need\x20to\x20install\x20it\x20before\x20using\x20Ranger:'};let _0x1042a8=![];try{const _0x567aef=chromium[_0x49fae8(0xe9)]();_0x1042a8=_0x49283b[_0x49fae8(0x106)](existsSync,_0x567aef);}catch{_0x1042a8=![];}if(_0x1042a8)return console[_0x49fae8(0x147)](_0x49fae8(0x12f)),![];const _0x29408d=_0x49283b['TzsQw'](getPlaywrightVersion),_0x4cc3d4=process['stdin']['isTTY']&&process[_0x49fae8(0x123)]['isTTY'];let _0x309439=!![];if(_0x4cc3d4){const {install:_0x50cb63}=await _0xa84b39[_0x49fae8(0x100)]([{'type':_0x49283b['aLGab'],'name':'install','message':_0x29408d?_0x49fae8(0x122)+_0x29408d+_0x49fae8(0x158):_0x49283b['SOUEu'],'default':!![]}]);_0x309439=_0x50cb63;}else console[_0x49fae8(0x147)](_0x49fae8(0x119)+(_0x29408d?'\x20'+_0x29408d:'')+_0x49fae8(0x15f));if(_0x309439){console['log'](_0x49283b['ltUyG']);try{await installChromiumBinary(_0x29408d),console['log'](_0x49283b[_0x49fae8(0x107)]);}catch(_0x55500f){console['error']('\x0a❌\x20Failed\x20to\x20install\x20Chromium:',_0x49283b['BBfoz'](_0x55500f,Error)?_0x55500f[_0x49fae8(0x15b)]:_0x55500f),console[_0x49fae8(0x147)](_0x49283b[_0x49fae8(0x16a)]),_0x29408d?console[_0x49fae8(0x147)]('\x20\x20npx\x20playwright@'+_0x29408d+_0x49fae8(0x10b)):console[_0x49fae8(0x147)]('\x20\x20npx\x20playwright\x20install\x20chromium');}}else console[_0x49fae8(0x147)]('\x0a⚠\x20Skipping\x20Chromium\x20installation.'),console[_0x49fae8(0x147)](_0x49283b['yTLQM']),_0x29408d?console['log'](_0x49fae8(0x115)+_0x29408d+'\x20install\x20chromium'):console['log']('\x20\x20npx\x20playwright\x20install\x20chromium');return!![];}export async function writeRangerGitignore(_0x8887c){const _0x5cde13=_0xd2d2b0,_0x7f1c10={'fQnDK':function(_0x42070d,_0x5ed52a,_0x2a6df1){return _0x42070d(_0x5ed52a,_0x2a6df1);},'RTpux':_0x5cde13(0x109),'XWYMI':_0x5cde13(0x153)},_0x279bc5=_0x7f1c10['fQnDK'](join,_0x8887c,_0x7f1c10['RTpux']),_0x5a7445='\x0a\x0a#\x20Ignore\x20local-only\x20directories\x0alocal/\x0asessions/\x0abug-bashes/\x0areports/\x0afeedback-images/\x0a\x0aactive-profile.txt\x0aactive-feature.txt\x0a.gitignore\x0a\x0a#\x20Ignore\x20plaintext\x20auth\x20files\x20(encrypted\x20.enc\x20files\x20are\x20safe\x20to\x20commit)\x0a**/auth.json\x0a';await writeFile(_0x279bc5,_0x5a7445),console[_0x5cde13(0x147)](_0x7f1c10[_0x5cde13(0x118)]);}async function ensurePlugin(_0x390661){const _0x4cb554=_0xd2d2b0,_0x5612f3={'WVlsY':function(_0x496396,_0xd14f9d){return _0x496396(_0xd14f9d);},'PSFrc':'✓\x20Claude\x20Code\x20plugin\x20already\x20installed','YINTu':function(_0x5a015d,_0x1411d7,_0x52604f){return _0x5a015d(_0x1411d7,_0x52604f);},'ZeeuY':function(_0x405cc9){return _0x405cc9();},'evoQg':'\x0a📦\x20Claude\x20Code\x20Plugin\x0a','QlzAX':'list','sPnAV':'Where\x20should\x20the\x20plugin\x20be\x20installed?','haUyq':'User\x20(available\x20in\x20all\x20your\x20projects)','PZgvx':_0x4cb554(0x139),'daQpe':_0x4cb554(0xf5),'wqqpT':_0x4cb554(0xf2),'ozQHj':function(_0x2fb005,_0x1561c2){return _0x2fb005(_0x1561c2);},'RoCIz':'marketplace','UoIfK':'add','uXqyq':'❌\x20Failed\x20to\x20add\x20marketplace:','xEzMr':_0x4cb554(0xe7),'bSKgf':'ranger@trailhead','JxLrs':'--scope','FuRks':'❌\x20Failed\x20to\x20install\x20plugin:','DPDXz':_0x4cb554(0x143),'SQiqP':'enable','HUHrv':function(_0x572de7,_0x3184a9){return _0x572de7===_0x3184a9;},'GqAhE':function(_0x19a171,_0x23bd7f,_0x35f659){return _0x19a171(_0x23bd7f,_0x35f659);},'KKXtc':_0x4cb554(0x163)},_0x247a46=await _0x5612f3[_0x4cb554(0x135)](isPluginInstalled,_0x4cb554(0x167));if(_0x247a46)return console['log'](_0x5612f3[_0x4cb554(0xed)]),![];const _0x11d457=existsSync(_0x5612f3[_0x4cb554(0x10a)](join,_0x5612f3['ZeeuY'](getProjectRoot),'.claude'));let _0x544084;if(_0x390661)_0x544084=_0x390661;else{if(_0x11d457)_0x544084=_0x4cb554(0x159);else{console['log'](_0x5612f3['evoQg']);const _0x243a1c=await _0xa84b39[_0x4cb554(0x100)]([{'type':_0x5612f3['QlzAX'],'name':_0x4cb554(0x126),'message':_0x5612f3[_0x4cb554(0x14a)],'choices':[{'name':_0x5612f3['haUyq'],'value':_0x5612f3['PZgvx']},{'name':_0x5612f3[_0x4cb554(0x155)],'value':'project'}],'default':_0x5612f3[_0x4cb554(0xf6)]}]);_0x544084=_0x243a1c[_0x4cb554(0x126)];}}console[_0x4cb554(0x147)](_0x4cb554(0x11d)+_0x544084+_0x4cb554(0x169));const _0x2e59e3=await _0x5612f3[_0x4cb554(0x135)](isMarketplaceAdded,_0x4cb554(0x11b));let _0x23fb6b=_0x2e59e3;if(_0x2e59e3)console['log'](_0x5612f3[_0x4cb554(0x157)]);else{const _0x3b3cef=await _0x5612f3[_0x4cb554(0x156)](runClaudeCommand,['plugin',_0x5612f3[_0x4cb554(0x142)],_0x5612f3['UoIfK'],'ranger-testing/trailhead']);!_0x3b3cef['success']?(console['error'](_0x5612f3['uXqyq'],_0x3b3cef[_0x4cb554(0x12e)]),console[_0x4cb554(0x147)](_0x4cb554(0x166)),console['log']('\x20\x20claude\x20plugin\x20marketplace\x20add\x20ranger-testing/trailhead'),console['log']('\x20\x20claude\x20plugin\x20install\x20ranger@trailhead\x20--scope\x20'+_0x544084)):_0x23fb6b=!![];}if(_0x23fb6b){const _0x2d7a26=await runClaudeCommand([_0x4cb554(0x13c),_0x5612f3[_0x4cb554(0xee)],_0x5612f3[_0x4cb554(0x14d)],_0x5612f3[_0x4cb554(0x127)],_0x544084]);if(!_0x2d7a26[_0x4cb554(0x129)])console['error'](_0x5612f3['FuRks'],_0x2d7a26[_0x4cb554(0x12e)]),console[_0x4cb554(0x147)](_0x4cb554(0x166)),console['log']('\x20\x20claude\x20plugin\x20install\x20ranger@trailhead\x20--scope\x20'+_0x544084);else{console['log'](_0x5612f3['DPDXz']);const _0x17aeb4=['plugin',_0x5612f3[_0x4cb554(0x14f)],_0x5612f3[_0x4cb554(0x14d)]];_0x5612f3['HUHrv'](_0x544084,_0x4cb554(0x159))&&_0x17aeb4[_0x4cb554(0x128)](_0x5612f3['JxLrs'],_0x4cb554(0x159));const _0x4f612f=await _0x5612f3[_0x4cb554(0x145)](runClaudeCommand,_0x17aeb4,{'captureOutput':!![]});if(!_0x4f612f['success']){const _0x13f87d=_0x4f612f[_0x4cb554(0x151)]?.['includes']('already\x20enabled');!_0x13f87d&&console['error'](_0x4cb554(0xfb),_0x4f612f[_0x4cb554(0x12e)]);}console['log'](_0x5612f3[_0x4cb554(0x150)]);}}return!![];}function printProfileSetupLaterInstructions(){const _0x4ccf60=_0xd2d2b0,_0x346df9={'QDEmZ':function(_0x25520c,_0x1fdff2){return _0x25520c(_0x1fdff2);},'nBkdn':_0x4ccf60(0x154)};console[_0x4ccf60(0x147)]('\x0aIn\x20order\x20for\x20Ranger\x20to\x20verify\x20your\x20work,\x20you\x27ll\x20need\x20to\x20set\x20up\x20a\x20profile\x20later\x20with:'),console['log']('\x20\x20'+_0x346df9['QDEmZ'](bold,_0x4ccf60(0x105))),console[_0x4ccf60(0x147)](_0x346df9[_0x4ccf60(0x165)]);}function _0x2268(){const _0x4d7d70=['72jVUqPH','DUorr','1jVwYzC','git_check','GgDhk','RoCIz','✓\x20Claude\x20Code\x20plugin\x20installed\x20successfully','RhHgg','GqAhE','\x20and\x20prompt\x20the\x20coding','log','trackPhaseStart','xIjew','sPnAV','\x0ascenarios\x20describing\x20what\x20to\x20verify\x20and\x20then\x20run\x20browser','win32','bSKgf','oOzzA','SQiqP','KKXtc','output','Would\x20you\x20like\x20to\x20set\x20up\x20the\x20profile\x20now?','✓\x20Created\x20.ranger/.gitignore','Make\x20sure\x20your\x20app\x20is\x20running\x20before\x20you\x20start.\x0a','daQpe','ozQHj','wqqpT',')\x20of\x20the\x20Playwright\x20Chromium\x20browser\x20is\x20not\x20installed.\x20Install\x20it\x20now?','project','✓\x20Stored\x20credentials\x20locally','message','Non-interactive\x20mode:\x20Skipping\x20profile\x20setup.\x20To\x20set\x20up\x20a\x20profile,\x20pass\x20--url\x20or\x20run\x20later:','47343aPqcZf','device_auth','...','INhXS','1725AXWrSr','\x1b[0m','✓\x20Claude\x20Code\x20plugin\x20enabled','isTTY','nBkdn','\x0aYou\x20can\x20install\x20manually\x20with:','ranger@trailhead','KbkIZ','\x20level)...\x0a','xcvfC','inherit','install','ranger','executablePath','✓\x20Local\x20profile\x20already\x20exists','8jpVKlH','vedfN','PSFrc','xEzMr','organizationName','5105156hTaktq','JkNYN','✓\x20Marketplace\x20already\x20added','fQxQI','trackPhaseEnd','Project\x20(shared\x20with\x20team\x20via\x20git)','PZgvx','84JBVWlv','13336614SnDLAf','VXqcF','igeTG','⚠\x20Failed\x20to\x20enable\x20plugin:','\x0a✅\x20Ranger\x20setup\x20complete!\x0a','Awkzt','GHNeL','\x1b[1m','prompt','Installation\x20failed\x20with\x20exit\x20code\x20','skipped','\x0a❌\x20Profile\x20setup\x20failed:','url','ranger\x20profile\x20add\x20local','DerdL','rYzJX','xXXIG','.gitignore','YINTu','\x20install\x20chromium','force','confirm','fPeIU','jODGx','stdin','\x0a✓\x20Playwright\x20Chromium\x20installed\x20successfully','✓\x20Authenticated\x20to\x20','method','scope','\x20\x20npx\x20playwright@','skills','existing_token','XWYMI','\x0aNon-interactive\x20mode:\x20Auto-installing\x20Playwright\x20Chromium','5532rnXhEO','trailhead','5683326MoQIox','\x0aInstalling\x20Claude\x20Code\x20plugin\x20(','\x0aA\x20profile\x20gives\x20Ranger\x27s\x20browser\x20agent\x20information\x20about\x20how','close','ready','chromium','The\x20required\x20version\x20(','stdout','PeiyA','KAUmi','pluginScope','JxLrs','push','success','PndcZ','Validating\x20API\x20token...','603342OUriFz','auth','error','✓\x20Playwright\x20Chromium\x20browser\x20found','provided_token','version','/ranger:enable','3391910pTWFni','LHcoB','WVlsY','wantsProfile','gXbej','Authentication\x20failed:\x20','user','local','wantsSkillup','plugin'];_0x2268=function(){return _0x4d7d70;};return _0x2268();}async function ensureLocalEnv(_0x22107,_0x29a845){const _0x45a92e=_0xd2d2b0,_0x2e99a0={'ygiJA':function(_0x17d596,_0x37c6e8,_0x210d35){return _0x17d596(_0x37c6e8,_0x210d35);},'KAUmi':_0x45a92e(0x13a),'DUorr':_0x45a92e(0xea),'LhUYh':_0x45a92e(0x11e),'ewCgk':'auth,\x20you\x20can\x20log\x20in\x20and\x20we\x27ll\x20save\x20the\x20session\x20state\x20for\x20Ranger\x20to','UfQFl':'use\x20until\x20the\x20session\x20expires.\x0a','gXbej':'You\x27ll\x20need\x20the\x20app\x20to\x20be\x20running\x20to\x20set\x20up\x20the\x20profile.','LHcoB':_0x45a92e(0x10d),'OdJue':function(_0x8875a6){return _0x8875a6();},'hGDKT':function(_0x5e5451,_0xaee878,_0x1fe523,_0x158040){return _0x5e5451(_0xaee878,_0x1fe523,_0x158040);},'xXXIG':function(_0x45ec53,_0x4715d4){return _0x45ec53 instanceof _0x4715d4;},'GAalD':function(_0x3f364e){return _0x3f364e();}};if(!findGitRoot())return console['log']('⚠\x20No\x20git\x20repository\x20found.\x20Run\x20`ranger\x20profile\x20add\x20local`\x20from\x20your\x20project\x20directory.'),{'ready':![],'skipped':!![]};if(_0x2e99a0['ygiJA'](findExistingEnv,_0x2e99a0[_0x45a92e(0x125)],{'locations':[_0x45a92e(0x13a)]}))return console[_0x45a92e(0x147)](_0x2e99a0[_0x45a92e(0x13e)]),{'ready':!![],'skipped':![]};const _0x1369ec=process[_0x45a92e(0x110)][_0x45a92e(0x164)]&&process['stdout']['isTTY'];if(_0x1369ec&&!_0x22107?.['url']){console[_0x45a92e(0x147)](_0x2e99a0['LhUYh']),console[_0x45a92e(0x147)]('to\x20access\x20your\x20app.\x20If\x20the\x20part\x20of\x20your\x20app\x20you\x20want\x20to\x20test\x20is\x20behind'),console['log'](_0x2e99a0['ewCgk']),console['log'](_0x2e99a0['UfQFl']),console['log'](_0x2e99a0[_0x45a92e(0x137)]);const {wantsProfile:_0x1b8941}=await _0xa84b39[_0x45a92e(0x100)]([{'type':_0x2e99a0[_0x45a92e(0x134)],'name':_0x45a92e(0x136),'message':_0x45a92e(0x152),'default':!![]}]);if(!_0x1b8941)return _0x2e99a0['OdJue'](printProfileSetupLaterInstructions),{'ready':![],'skipped':!![]};}try{return await _0x2e99a0['hGDKT'](addEnv,_0x45a92e(0x13a),{'url':_0x22107?.[_0x45a92e(0x104)],'force':_0x22107?.[_0x45a92e(0x10c)]},_0x29a845),{'ready':!![],'skipped':![]};}catch(_0x94ef7a){return console['error'](_0x45a92e(0x103),_0x2e99a0[_0x45a92e(0x108)](_0x94ef7a,Error)?_0x94ef7a[_0x45a92e(0x15b)]:_0x94ef7a),_0x2e99a0['GAalD'](printProfileSetupLaterInstructions),{'ready':![],'skipped':![]};}}async function ensureSkills(_0x542216){const _0xab6834=_0xd2d2b0,_0x159ed6={'ahvhq':function(_0x31eb2b,_0xaf0042,_0x103b7b,_0x3998ad){return _0x31eb2b(_0xaf0042,_0x103b7b,_0x3998ad);},'jODGx':function(_0x588e7f,_0x2ed99b){return _0x588e7f(_0x2ed99b);},'rZyIE':'user','igeTG':_0xab6834(0xe8),'DdCRy':'SKILL.md','odsLC':function(_0x136550,_0x3d2540,_0x1e3c49,_0x15d5c4){return _0x136550(_0x3d2540,_0x1e3c49,_0x15d5c4);},'INhXS':function(_0x5d6dff,_0x22c64c,_0x30a9c6){return _0x5d6dff(_0x22c64c,_0x30a9c6);},'vedfN':function(_0x3f4623){return _0x3f4623();},'DZVCm':'.claude','GHNeL':'Would\x20you\x20like\x20to\x20install\x20skills?'},_0x36d7d0=existsSync(_0x159ed6['ahvhq'](join,_0x159ed6[_0xab6834(0x10f)](getSkillsDir,_0x159ed6['rZyIE']),_0x159ed6[_0xab6834(0xfa)],_0x159ed6['DdCRy'])),_0x2a1048=_0x159ed6['jODGx'](existsSync,_0x159ed6['odsLC'](join,getSkillsDir(_0xab6834(0x159)),_0xab6834(0xe8),'SKILL.md'));if(_0x36d7d0||_0x2a1048)return console['log']('✓\x20Ranger\x20skills\x20already\x20installed'),![];const _0x2da855=_0x159ed6[_0xab6834(0x10f)](existsSync,_0x159ed6[_0xab6834(0x160)](join,_0x159ed6[_0xab6834(0xec)](getProjectRoot),_0x159ed6['DZVCm']));if(_0x542216)await skillup({'autoInstall':_0x542216,'suppressUsage':!![]});else{if(_0x2da855)await _0x159ed6['jODGx'](skillup,{'autoInstall':'project','suppressUsage':!![]});else{const {wantsSkillup:_0x2ba67f}=await _0xa84b39[_0xab6834(0x100)]([{'type':_0xab6834(0x10d),'name':_0xab6834(0x13b),'message':_0x159ed6[_0xab6834(0xfe)],'default':!![]}]);_0x2ba67f&&await _0x159ed6[_0xab6834(0x10f)](skillup,{'suppressUsage':!![]});}}return!![];}export async function start(_0xbb5371,_0x1abca5,_0x336649){const _0x70990c=_0xd2d2b0,_0x5a9eaf={'wgzFb':_0x70990c(0x140),'fQxQI':function(_0x554b1f,_0x3388b5){return _0x554b1f(_0x3388b5);},'XDiWM':'auth','JkNYN':_0x70990c(0x121),'VXqcF':'✓\x20Skipping\x20Chromium\x20check\x20(--skip-chromium)','dzIXu':function(_0x28fd47,_0x260ca0){return _0x28fd47(_0x260ca0);},'KbkIZ':'plugin','PeiyA':function(_0x2c8d67,_0x41f3a9){return _0x2c8d67(_0x41f3a9);},'Awkzt':'skills','PndcZ':'.ranger','GgDhk':function(_0x5b88c5,_0xee36a3,_0x4a8c70){return _0x5b88c5(_0xee36a3,_0x4a8c70);},'TlTtr':_0x70990c(0x105),'oOzzA':function(_0x1acda0,_0x5f314a){return _0x1acda0+_0x5f314a;},'utXLT':function(_0x2455d9,_0x26e9b4){return _0x2455d9+_0x26e9b4;}};console['log']('\x0a🚀\x20Ranger\x20Setup\x0a');const _0x5be2ae=process['stdin']['isTTY']&&process['stdout'][_0x70990c(0x164)];!_0x5be2ae&&!_0x1abca5?.['scope']&&(console[_0x70990c(0x147)]('Non-interactive\x20mode:\x20No\x20--scope\x20provided,\x20defaulting\x20to\x20user.'),_0x1abca5={..._0x1abca5,'scope':'user'});_0x336649?.['trackPhaseStart'](_0x5a9eaf['wgzFb']);if(!findGitRoot()){await _0x336649?.['trackPhaseError'](_0x70990c(0x140),new Error('No\x20git\x20repository\x20found'));throw new Error('No\x20git\x20repository\x20found.\x20Please\x20run\x20`ranger\x20setup`\x20from\x20inside\x20your\x20project\x20directory.');}_0x336649?.[_0x70990c(0xf4)](_0x70990c(0x140));const _0x2b4c01=!_0x5a9eaf[_0x70990c(0xf3)](existsSync,getRangerDir()),{path:_0x246d4d}=await ensureRangerDir();_0x336649?.[_0x70990c(0x148)](_0x5a9eaf['XDiWM']);const _0x562f4a=await _0x5a9eaf[_0x70990c(0xf3)](authenticate,_0xbb5371);_0x336649?.[_0x70990c(0xf4)](_0x70990c(0x12d),{'isFirstRun':_0x2b4c01,'method':_0x562f4a[_0x70990c(0x113)]}),_0x336649?.[_0x70990c(0x148)](_0x5a9eaf[_0x70990c(0xf1)]);_0x1abca5?.['skipChromium']?console['log'](_0x5a9eaf[_0x70990c(0xf9)]):await ensureChromium();_0x336649?.[_0x70990c(0xf4)](_0x5a9eaf[_0x70990c(0xf1)],{'isFirstRun':_0x2b4c01,'skipped':!!_0x1abca5?.['skipChromium']}),await _0x5a9eaf['dzIXu'](writeRangerGitignore,_0x246d4d),console[_0x70990c(0x147)](_0x70990c(0xfc));const _0x22dcf9=_0x1abca5?.[_0x70990c(0x114)];_0x336649?.[_0x70990c(0x148)](_0x5a9eaf[_0x70990c(0x168)]),await ensurePlugin(_0x22dcf9),_0x336649?.['trackPhaseEnd']('plugin',{'isFirstRun':_0x2b4c01}),_0x336649?.['trackPhaseStart'](_0x70990c(0x116)),await _0x5a9eaf['PeiyA'](ensureSkills,_0x22dcf9),_0x336649?.[_0x70990c(0xf4)](_0x5a9eaf[_0x70990c(0xfd)],{'isFirstRun':_0x2b4c01});const _0x1ffaab=findGitRoot();if(_0x1ffaab){const _0xf805d9=join(_0x1ffaab,_0x5a9eaf[_0x70990c(0x12a)]);!_0x5a9eaf[_0x70990c(0x124)](existsSync,_0xf805d9)&&await _0x5a9eaf[_0x70990c(0x141)](mkdir,_0xf805d9,{'recursive':!![]});}if(!_0x5be2ae&&!_0x1abca5?.['url'])console['log'](_0x70990c(0x15c)),console['log']('\x20\x20'+bold(_0x5a9eaf['TlTtr'])+'\x0a');else{_0x336649?.[_0x70990c(0x148)]('profile');const _0x29561c=await _0x5a9eaf['GgDhk'](ensureLocalEnv,{'url':_0x1abca5?.[_0x70990c(0x104)],'force':_0x1abca5?.['force']},_0x336649);_0x336649?.['trackPhaseEnd']('profile',{'isFirstRun':_0x2b4c01,'profileReady':_0x29561c[_0x70990c(0x120)],'userSkipped':_0x29561c[_0x70990c(0x102)]}),_0x29561c['ready']&&console[_0x70990c(0x147)]('\x0a✅\x20You\x27re\x20ready\x20to\x20start\x20using\x20Ranger\x20Feature\x20Review.');}const _0x46e5ac=bold(_0x70990c(0x132));console['log'](_0x5a9eaf[_0x70990c(0x14e)](_0x5a9eaf['utXLT'](_0x5a9eaf['oOzzA']('\x0aIn\x20Claude\x20Code,\x20run\x20'+_0x46e5ac+_0x70990c(0x146),'\x0aagent\x20like\x20usual.\x20Claude\x20will\x20create\x20a\x20feature\x20review\x20with'),_0x70990c(0x14b)),'\x0averification\x20to\x20check\x20its\x20work\x20as\x20it\x20builds.'));}
1
+ (function(_0x43e1af,_0x4c8d98){const _0x18ba42=_0x2e84,_0x1c8904=_0x43e1af();while(!![]){try{const _0x2f52b5=parseInt(_0x18ba42(0x191))/0x1*(parseInt(_0x18ba42(0x172))/0x2)+-parseInt(_0x18ba42(0x192))/0x3+-parseInt(_0x18ba42(0x18d))/0x4+parseInt(_0x18ba42(0x180))/0x5+parseInt(_0x18ba42(0x17f))/0x6+-parseInt(_0x18ba42(0x149))/0x7*(parseInt(_0x18ba42(0x187))/0x8)+parseInt(_0x18ba42(0x154))/0x9;if(_0x2f52b5===_0x4c8d98)break;else _0x1c8904['push'](_0x1c8904['shift']());}catch(_0x503fe8){_0x1c8904['push'](_0x1c8904['shift']());}}}(_0xe2d8,0xba4a2));import{mkdir,writeFile}from'fs/promises';import{join}from'path';import{existsSync}from'fs';import{createRequire}from'module';import{spawn}from'child_process';import _0x233726 from'inquirer';import{getToken,storeToken}from'./utils/keychain.js';import{getCurrentUser}from'./utils/userApi.js';import{chromium}from'playwright';import{addEnv}from'./addEnv.js';import{getRangerDir,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),bold=_0x2b99d3=>'\x1b[1m'+_0x2b99d3+'\x1b[0m';function getPlaywrightVersion(){const _0x1d380d=_0x2e84,_0x73ad57={'aqCut':function(_0x70407,_0x2186d4){return _0x70407(_0x2186d4);}};try{const _0x3279cf=require['resolve']('playwright/package.json'),_0x44a5ae=_0x73ad57[_0x1d380d(0x196)](require,_0x3279cf);return _0x44a5ae['version'];}catch{return null;}}function installChromiumBinary(_0x4b2d6c){const _0x162570=_0x2e84,_0x14f897={'vcIGJ':function(_0x3d8071){return _0x3d8071();},'jEKyO':'install','fSLEi':_0x162570(0x188),'pDjdp':'inherit'};return new Promise((_0x3a26f6,_0x29cb16)=>{const _0x37495a=_0x162570,_0x3976ff=_0x4b2d6c?['playwright@'+_0x4b2d6c,_0x37495a(0x148),_0x37495a(0x188)]:[_0x37495a(0x16a),_0x14f897[_0x37495a(0x15a)],_0x14f897[_0x37495a(0x156)]],_0x292f2f=spawn('npx',_0x3976ff,{'stdio':_0x14f897['pDjdp'],'shell':process['platform']===_0x37495a(0x14c)});_0x292f2f['on']('close',_0x405a40=>{const _0x3b998b=_0x37495a;_0x405a40===0x0?_0x14f897['vcIGJ'](_0x3a26f6):_0x29cb16(new Error(_0x3b998b(0x197)+_0x405a40));}),_0x292f2f['on'](_0x37495a(0x186),_0x3391f5=>{_0x29cb16(_0x3391f5);});});}export async function authenticate(_0x12ac98){const _0xf04f3e=_0x2e84,_0x4489c0={'NcxQv':function(_0x18f7d5,_0x5d1923){return _0x18f7d5(_0x5d1923);},'HCwUH':function(_0x9f30ee){return _0x9f30ee();},'Hguaa':function(_0x42e18a,_0x477474){return _0x42e18a instanceof _0x477474;},'NudQR':function(_0x1052e7,_0x322a17){return _0x1052e7(_0x322a17);},'UfZLx':'device_auth'};if(!_0x12ac98){const _0x2c76c9=await getToken();if(_0x2c76c9){const _0x32198=await _0x4489c0[_0xf04f3e(0x153)](getCurrentUser,_0x2c76c9);if(_0x32198['success'])return console['log'](_0xf04f3e(0x1a2)+_0x32198[_0xf04f3e(0x15f)]['organizationName']),{'token':_0x2c76c9,'method':'existing_token'};}try{_0x12ac98=await _0x4489c0[_0xf04f3e(0x14a)](runDeviceAuthFlow);}catch(_0x8cc279){throw new Error(_0xf04f3e(0x185)+(_0x4489c0[_0xf04f3e(0x146)](_0x8cc279,Error)?_0x8cc279[_0xf04f3e(0x157)]:_0x8cc279));}const _0x29a1cd=await _0x4489c0['NudQR'](getCurrentUser,_0x12ac98);if(!_0x29a1cd['success'])throw new Error(_0xf04f3e(0x18b)+_0x29a1cd['error']);return console['log']('✓\x20Authenticated\x20to\x20'+_0x29a1cd[_0xf04f3e(0x15f)][_0xf04f3e(0x183)]),{'token':_0x12ac98,'method':_0x4489c0[_0xf04f3e(0x175)]};}console[_0xf04f3e(0x178)]('Validating\x20API\x20token...');const _0x5e814a=await getCurrentUser(_0x12ac98);if(!_0x5e814a[_0xf04f3e(0x18a)]){if(_0x5e814a[_0xf04f3e(0x160)])throw new Error(_0xf04f3e(0x185)+_0x5e814a['error']+_0xf04f3e(0x13a));else throw new Error(_0xf04f3e(0x150)+_0x5e814a['error']+'.\x20Please\x20check\x20your\x20network\x20connection\x20and\x20server\x20URL.');}return console['log'](_0xf04f3e(0x177)+_0x5e814a['user'][_0xf04f3e(0x183)]),await _0x4489c0[_0xf04f3e(0x179)](storeToken,_0x12ac98),console['log'](process['env'][_0xf04f3e(0x165)]?'✓\x20Exported\x20credentials\x20for\x20CI':'✓\x20Stored\x20credentials\x20locally'),{'token':_0x12ac98,'method':'provided_token'};}export async function ensureRangerDir(){const _0x583c85=_0x2e84,_0x405728={'BRBND':function(_0x558e56){return _0x558e56();},'TZqII':'✓\x20Created\x20.ranger/\x20directory','XzJvq':'✓\x20.ranger/\x20directory\x20already\x20exists'},_0x48e63f=_0x405728['BRBND'](getRangerDir);return!existsSync(_0x48e63f)?(await mkdir(_0x48e63f,{'recursive':!![]}),console['log'](_0x405728['TZqII']),{'path':_0x48e63f,'installed':!![]}):(console[_0x583c85(0x178)](_0x405728[_0x583c85(0x19d)]),{'path':_0x48e63f,'installed':![]});}export async function ensureChromium(){const _0x4ff3c5=_0x2e84,_0x1432c5={'LEvfp':function(_0x18d5fe){return _0x18d5fe();},'zsTEt':_0x4ff3c5(0x164),'JcXzZ':_0x4ff3c5(0x15d),'WuBTb':_0x4ff3c5(0x15b),'bliKF':function(_0x1e5cac,_0xaed57f){return _0x1e5cac instanceof _0xaed57f;},'aqLzK':_0x4ff3c5(0x13d),'lTbEb':'\x20\x20npx\x20playwright\x20install\x20chromium','RtCKG':_0x4ff3c5(0x190),'ifUTx':'You\x20will\x20need\x20to\x20install\x20it\x20before\x20using\x20Ranger:'};let _0x113550=![];try{const _0x2f76d2=chromium[_0x4ff3c5(0x152)]();_0x113550=existsSync(_0x2f76d2);}catch{_0x113550=![];}if(_0x113550)return console['log']('✓\x20Playwright\x20Chromium\x20browser\x20found'),![];const _0x42e9af=_0x1432c5['LEvfp'](getPlaywrightVersion),_0x327417=process['stdin']['isTTY']&&process[_0x4ff3c5(0x19e)][_0x4ff3c5(0x171)];let _0x2498d8=!![];if(_0x327417){const {install:_0x35ec34}=await _0x233726['prompt']([{'type':_0x1432c5[_0x4ff3c5(0x16f)],'name':'install','message':_0x42e9af?'The\x20required\x20version\x20('+_0x42e9af+')\x20of\x20the\x20Playwright\x20Chromium\x20browser\x20is\x20not\x20installed.\x20Install\x20it\x20now?':'The\x20required\x20Playwright\x20Chromium\x20browser\x20is\x20not\x20installed.\x20Install\x20it\x20now?','default':!![]}]);_0x2498d8=_0x35ec34;}else console[_0x4ff3c5(0x178)](_0x4ff3c5(0x17a)+(_0x42e9af?'\x20'+_0x42e9af:'')+_0x4ff3c5(0x141));if(_0x2498d8){console[_0x4ff3c5(0x178)](_0x1432c5[_0x4ff3c5(0x181)]);try{await installChromiumBinary(_0x42e9af),console[_0x4ff3c5(0x178)]('\x0a✓\x20Playwright\x20Chromium\x20installed\x20successfully');}catch(_0x261d77){console[_0x4ff3c5(0x186)](_0x1432c5['WuBTb'],_0x1432c5[_0x4ff3c5(0x1a3)](_0x261d77,Error)?_0x261d77[_0x4ff3c5(0x157)]:_0x261d77),console[_0x4ff3c5(0x178)](_0x1432c5[_0x4ff3c5(0x17c)]),_0x42e9af?console['log'](_0x4ff3c5(0x19c)+_0x42e9af+_0x4ff3c5(0x15e)):console['log'](_0x1432c5['lTbEb']);}}else console[_0x4ff3c5(0x178)](_0x1432c5[_0x4ff3c5(0x159)]),console[_0x4ff3c5(0x178)](_0x1432c5[_0x4ff3c5(0x147)]),_0x42e9af?console[_0x4ff3c5(0x178)](_0x4ff3c5(0x19c)+_0x42e9af+'\x20install\x20chromium'):console['log'](_0x1432c5['lTbEb']);return!![];}function _0x2e84(_0x3e108,_0x12094f){_0x3e108=_0x3e108-0x139;const _0xe2d864=_0xe2d8();let _0x2e8409=_0xe2d864[_0x3e108];return _0x2e8409;}export async function writeRangerGitignore(_0x4219cb){const _0x3e25a4=_0x2e84,_0x9a38de={'ljuWY':function(_0x53fbdb,_0x5e3a44,_0x888756){return _0x53fbdb(_0x5e3a44,_0x888756);},'hdGdZ':_0x3e25a4(0x18e),'rWtKg':function(_0x42bf4b,_0x157da3,_0x5eb863){return _0x42bf4b(_0x157da3,_0x5eb863);},'UMfFO':'✓\x20Created\x20.ranger/.gitignore'},_0x1fb4a9=_0x9a38de['ljuWY'](join,_0x4219cb,_0x9a38de[_0x3e25a4(0x145)]),_0x3ff17d=_0x3e25a4(0x13e);await _0x9a38de[_0x3e25a4(0x199)](writeFile,_0x1fb4a9,_0x3ff17d),console['log'](_0x9a38de[_0x3e25a4(0x194)]);}function printProfileSetupLaterInstructions(){const _0x23ce78=_0x2e84,_0x5af042={'sJggJ':function(_0x3387ad,_0x1fe955){return _0x3387ad(_0x1fe955);},'mxAOo':_0x23ce78(0x19f)};console['log'](_0x23ce78(0x1a0)),console[_0x23ce78(0x178)]('\x20\x20'+_0x5af042['sJggJ'](bold,_0x23ce78(0x162))),console[_0x23ce78(0x178)](_0x5af042['mxAOo']);}function _0xe2d8(){const _0x4fdc28=['\x0aagent\x20like\x20usual.\x20Claude\x20will\x20create\x20a\x20feature\x20review\x20with','eYPRx','\x20\x20npx\x20playwright@','XzJvq','stdout','Make\x20sure\x20your\x20app\x20is\x20running\x20before\x20you\x20start.\x0a','\x0aIn\x20order\x20for\x20Ranger\x20to\x20verify\x20your\x20work,\x20you\x27ll\x20need\x20to\x20set\x20up\x20a\x20profile\x20later\x20with:','BdplG','✓\x20Already\x20authenticated\x20to\x20','bliKF','ablkW','.\x20Please\x20check\x20your\x20API\x20token\x20and\x20try\x20again.','No\x20git\x20repository\x20found.\x20Please\x20run\x20`ranger\x20setup`\x20from\x20inside\x20your\x20project\x20directory.','\x0ascenarios\x20describing\x20what\x20to\x20verify\x20and\x20then\x20run\x20browser','You\x20can\x20install\x20it\x20manually\x20by\x20running:','\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','git_check','pInwD','...','eMRGJ','\x20and\x20prompt\x20the\x20coding','aQRey','hdGdZ','Hguaa','ifUTx','install','806071yxOFGv','HCwUH','.ranger','win32','CWhef','Non-interactive\x20mode:\x20Skipping\x20profile\x20setup.\x20To\x20set\x20up\x20a\x20profile,\x20pass\x20--url\x20or\x20run\x20later:','\x20\x20Failed\x20to\x20install\x20OpenCode\x20skill:','Failed\x20to\x20connect\x20to\x20MCP\x20server:\x20','hzClx','executablePath','NcxQv','31555962muIPHT','url','fSLEi','message','kVcID','RtCKG','jEKyO','\x0a❌\x20Failed\x20to\x20install\x20Chromium:','ready','\x0aInstalling\x20Chromium\x20browser...\x0a','\x20install\x20chromium','user','status','plugin','ranger\x20profile\x20add\x20local','⚠\x20No\x20git\x20repository\x20found.\x20Run\x20`ranger\x20profile\x20add\x20local`\x20from\x20your\x20project\x20directory.','confirm','GITHUB_ENV','\x0a✅\x20You\x27re\x20ready\x20to\x20start\x20using\x20Ranger\x20Feature\x20Review.','use\x20until\x20the\x20session\x20expires.\x0a','force','prompt','playwright','trackPhaseEnd','trackPhaseStart','Non-interactive\x20mode:\x20No\x20--scope\x20provided,\x20defaulting\x20to\x20user.','verification\x20to\x20check\x20its\x20work\x20as\x20it\x20builds.','zsTEt','BUSJu','isTTY','53962ERQqLC','auth','bkjrC','UfZLx','opencode','✓\x20Authenticated\x20to\x20','log','NudQR','\x0aNon-interactive\x20mode:\x20Auto-installing\x20Playwright\x20Chromium','skipChromium','aqLzK','\x0aIn\x20Claude\x20Code,\x20run\x20','GhPqu','4490334OGlRyT','1925295jDIjVm','JcXzZ','skills','organizationName','DoUlg','Authentication\x20failed:\x20','error','104sHgGST','chromium','auth,\x20you\x20can\x20log\x20in\x20and\x20we\x27ll\x20save\x20the\x20session\x20state\x20for\x20Ranger\x20to','success','Failed\x20to\x20validate\x20provisioned\x20API\x20key:\x20','stdin','5282476tzXXRb','.gitignore','skipped','\x0a⚠\x20Skipping\x20Chromium\x20installation.','6tzQrSU','3662706GNgbmh','✓\x20Local\x20profile\x20already\x20exists','UMfFO','WwtBn','aqCut','Installation\x20failed\x20with\x20exit\x20code\x20','to\x20access\x20your\x20app.\x20If\x20the\x20part\x20of\x20your\x20app\x20you\x20want\x20to\x20test\x20is\x20behind','rWtKg'];_0xe2d8=function(){return _0x4fdc28;};return _0xe2d8();}async function ensureLocalEnv(_0x4acc1b,_0x50d4b4){const _0x33b6a5=_0x2e84,_0x2167d9={'BUSJu':function(_0x1c36bc){return _0x1c36bc();},'WgPiu':function(_0x1a756c,_0x142a8e,_0x4cdbdd){return _0x1a756c(_0x142a8e,_0x4cdbdd);},'WwtBn':'local','eMRGJ':_0x33b6a5(0x193),'RxJPT':'\x0aA\x20profile\x20gives\x20Ranger\x27s\x20browser\x20agent\x20information\x20about\x20how','CDduh':_0x33b6a5(0x189),'oeQUa':'You\x27ll\x20need\x20the\x20app\x20to\x20be\x20running\x20to\x20set\x20up\x20the\x20profile.','VHXfN':_0x33b6a5(0x164),'eYPRx':'wantsProfile','WrXaR':'\x0a❌\x20Profile\x20setup\x20failed:','aQRey':function(_0x14faba,_0x1d7c89){return _0x14faba instanceof _0x1d7c89;}};if(!_0x2167d9[_0x33b6a5(0x170)](findGitRoot))return console['log'](_0x33b6a5(0x163)),{'ready':![],'skipped':!![]};if(_0x2167d9['WgPiu'](findExistingEnv,_0x2167d9[_0x33b6a5(0x195)],{'locations':[_0x2167d9[_0x33b6a5(0x195)]]}))return console[_0x33b6a5(0x178)](_0x2167d9[_0x33b6a5(0x142)]),{'ready':!![],'skipped':![]};const _0xca42d5=process[_0x33b6a5(0x18c)]['isTTY']&&process[_0x33b6a5(0x19e)]['isTTY'];if(_0xca42d5&&!_0x4acc1b?.['url']){console['log'](_0x2167d9['RxJPT']),console[_0x33b6a5(0x178)](_0x33b6a5(0x198)),console[_0x33b6a5(0x178)](_0x2167d9['CDduh']),console[_0x33b6a5(0x178)](_0x33b6a5(0x167)),console[_0x33b6a5(0x178)](_0x2167d9['oeQUa']);const {wantsProfile:_0xcfe4e3}=await _0x233726[_0x33b6a5(0x169)]([{'type':_0x2167d9['VHXfN'],'name':_0x2167d9[_0x33b6a5(0x19b)],'message':'Would\x20you\x20like\x20to\x20set\x20up\x20the\x20profile\x20now?','default':!![]}]);if(!_0xcfe4e3)return printProfileSetupLaterInstructions(),{'ready':![],'skipped':!![]};}try{return await addEnv(_0x2167d9[_0x33b6a5(0x195)],{'url':_0x4acc1b?.[_0x33b6a5(0x155)],'force':_0x4acc1b?.['force']},_0x50d4b4),{'ready':!![],'skipped':![]};}catch(_0x92a180){return console['error'](_0x2167d9['WrXaR'],_0x2167d9[_0x33b6a5(0x144)](_0x92a180,Error)?_0x92a180['message']:_0x92a180),_0x2167d9[_0x33b6a5(0x170)](printProfileSetupLaterInstructions),{'ready':![],'skipped':![]};}}export async function start(_0x33c4ca,_0x589042,_0x9650bd){const _0x52151b=_0x2e84,_0xa395b9={'fnnHl':_0x52151b(0x15f),'XBbvV':_0x52151b(0x13f),'pInwD':_0x52151b(0x13b),'BdplG':function(_0x57fb85,_0x450086){return _0x57fb85(_0x450086);},'kPonz':function(_0x5f14a7){return _0x5f14a7();},'hyvem':'✓\x20Skipping\x20Chromium\x20check\x20(--skip-chromium)','LkNvy':_0x52151b(0x188),'GhPqu':function(_0x3d785e,_0x3e0913){return _0x3d785e(_0x3e0913);},'ablkW':'plugin','DoUlg':_0x52151b(0x182),'hzClx':function(_0x3f4b22){return _0x3f4b22();},'CWhef':_0x52151b(0x176),'kVcID':_0x52151b(0x14b),'oVojp':function(_0x15b733,_0x43ae1d,_0x410df1){return _0x15b733(_0x43ae1d,_0x410df1);},'bkjrC':_0x52151b(0x14e),'kzkOr':function(_0x47e34c,_0xb12a6e,_0x23552b){return _0x47e34c(_0xb12a6e,_0x23552b);},'KufYH':'profile','YjAJY':_0x52151b(0x16e),'CIebu':'/ranger:enable','nJOtt':function(_0x13ca95,_0x3cf865){return _0x13ca95+_0x3cf865;}};console[_0x52151b(0x178)]('\x0a🚀\x20Ranger\x20Setup\x0a');const _0x202195=process['stdin']['isTTY']&&process[_0x52151b(0x19e)][_0x52151b(0x171)];!_0x202195&&!_0x589042?.['scope']&&(console['log'](_0x52151b(0x16d)),_0x589042={..._0x589042,'scope':_0xa395b9['fnnHl']});_0x9650bd?.['trackPhaseStart'](_0xa395b9['XBbvV']);if(!findGitRoot()){await _0x9650bd?.['trackPhaseError']('git_check',new Error('No\x20git\x20repository\x20found'));throw new Error(_0xa395b9[_0x52151b(0x140)]);}_0x9650bd?.[_0x52151b(0x16b)](_0x52151b(0x13f));const _0x32d11f=!_0xa395b9[_0x52151b(0x1a1)](existsSync,_0xa395b9['kPonz'](getRangerDir)),{path:_0x1fe8b2}=await ensureRangerDir();_0x9650bd?.[_0x52151b(0x16c)]('auth');const _0x579ba1=await authenticate(_0x33c4ca);_0x9650bd?.['trackPhaseEnd'](_0x52151b(0x173),{'isFirstRun':_0x32d11f,'method':_0x579ba1['method']}),_0x9650bd?.['trackPhaseStart'](_0x52151b(0x188));_0x589042?.[_0x52151b(0x17b)]?console[_0x52151b(0x178)](_0xa395b9['hyvem']):await _0xa395b9['kPonz'](ensureChromium);_0x9650bd?.['trackPhaseEnd'](_0xa395b9['LkNvy'],{'isFirstRun':_0x32d11f,'skipped':!!_0x589042?.['skipChromium']}),await _0xa395b9[_0x52151b(0x17e)](writeRangerGitignore,_0x1fe8b2),console['log']('\x0a✅\x20Ranger\x20setup\x20complete!\x0a');const _0x286e6b=_0x589042?.['scope'],_0x44bbb0=_0x589042?.['opencode']??![];let _0x17ec46=null;_0x44bbb0?(_0x9650bd?.[_0x52151b(0x16c)](_0x52151b(0x161)),_0x17ec46=await ensureOpencodePluginConfig(_0x286e6b),_0x9650bd?.[_0x52151b(0x16b)](_0xa395b9[_0x52151b(0x139)],{'isFirstRun':_0x32d11f,'opencode':!![]})):(_0x9650bd?.[_0x52151b(0x16c)](_0x52151b(0x161)),await _0xa395b9[_0x52151b(0x1a1)](ensureClaudePlugin,_0x286e6b),_0x9650bd?.['trackPhaseEnd'](_0x52151b(0x161),{'isFirstRun':_0x32d11f}));if(_0x44bbb0&&_0x17ec46){_0x9650bd?.['trackPhaseStart'](_0xa395b9[_0x52151b(0x184)]);try{await installSkill('ranger',{'level':_0x17ec46['scope'],'cliVersion':_0xa395b9[_0x52151b(0x151)](getCurrentVersion),'platform':_0xa395b9[_0x52151b(0x14d)]}),_0x9650bd?.['trackPhaseEnd']('skills',{'isFirstRun':_0x32d11f,'opencode':!![]});}catch(_0x50f9ef){console['warn'](_0x52151b(0x14f),_0x50f9ef instanceof Error?_0x50f9ef['message']:_0x50f9ef),_0x9650bd?.['trackPhaseEnd']('skills',{'isFirstRun':_0x32d11f,'opencode':!![],'failed':!![]});}}else _0x9650bd?.[_0x52151b(0x16c)](_0xa395b9['DoUlg']),await ensureClaudeSkills(_0x286e6b),_0x9650bd?.['trackPhaseEnd'](_0xa395b9[_0x52151b(0x184)],{'isFirstRun':_0x32d11f});const _0x29385d=findGitRoot();if(_0x29385d){const _0x3dc53d=join(_0x29385d,_0xa395b9[_0x52151b(0x158)]);!existsSync(_0x3dc53d)&&await _0xa395b9['oVojp'](mkdir,_0x3dc53d,{'recursive':!![]});}if(!_0x202195&&!_0x589042?.[_0x52151b(0x155)])console['log'](_0xa395b9[_0x52151b(0x174)]),console['log']('\x20\x20'+_0xa395b9['BdplG'](bold,'ranger\x20profile\x20add\x20local')+'\x0a');else{_0x9650bd?.['trackPhaseStart']('profile');const _0x54ea28=await _0xa395b9['kzkOr'](ensureLocalEnv,{'url':_0x589042?.['url'],'force':_0x589042?.[_0x52151b(0x168)]},_0x9650bd);_0x9650bd?.[_0x52151b(0x16b)](_0xa395b9['KufYH'],{'isFirstRun':_0x32d11f,'profileReady':_0x54ea28[_0x52151b(0x15c)],'userSkipped':_0x54ea28[_0x52151b(0x18f)]}),_0x54ea28[_0x52151b(0x15c)]&&console['log'](_0x52151b(0x166));}if(_0x44bbb0)console[_0x52151b(0x178)]('\x0aIn\x20OpenCode,\x20enable\x20Ranger\x20hooks\x20(run\x20the\x20`ranger_enable`\x20tool)'),console['log']('and\x20prompt\x20the\x20agent\x20like\x20usual.\x20Ranger\x20will\x20create\x20a\x20feature\x20review'),console[_0x52151b(0x178)]('with\x20scenarios\x20describing\x20what\x20to\x20verify\x20and\x20then\x20run\x20browser'),console[_0x52151b(0x178)](_0xa395b9['YjAJY']);else{const _0x45fc27=bold(_0xa395b9['CIebu']);console['log'](_0xa395b9['nJOtt'](_0x52151b(0x17d)+_0x45fc27+_0x52151b(0x143)+_0x52151b(0x19a)+_0x52151b(0x13c),'\x0averification\x20to\x20check\x20its\x20work\x20as\x20it\x20builds.'));}}
@@ -1 +1 @@
1
- const _0x411736=_0x496e;(function(_0x59045f,_0x1e80e2){const _0x2c78d2=_0x496e,_0x4475ec=_0x59045f();while(!![]){try{const _0x3ea31e=-parseInt(_0x2c78d2(0x13d))/0x1+parseInt(_0x2c78d2(0x11b))/0x2+-parseInt(_0x2c78d2(0x10d))/0x3*(parseInt(_0x2c78d2(0x13a))/0x4)+parseInt(_0x2c78d2(0x130))/0x5*(parseInt(_0x2c78d2(0x120))/0x6)+parseInt(_0x2c78d2(0x107))/0x7+-parseInt(_0x2c78d2(0x113))/0x8+-parseInt(_0x2c78d2(0x145))/0x9;if(_0x3ea31e===_0x1e80e2)break;else _0x4475ec['push'](_0x4475ec['shift']());}catch(_0x1ec1ac){_0x4475ec['push'](_0x4475ec['shift']());}}}(_0xec5b,0x5adf6));import{readFile,readdir}from'fs/promises';import{join,basename}from'path';import{existsSync}from'fs';import{getToken}from'./utils/keychain.js';import{getCurrentVersion,getLatestVersion}from'./utils/version.js';import{getApiBaseUrl,getCurrentEnvironment}from'./utils/environment.js';function _0xec5b(){const _0xc5949f=['Root:\x20','settingsPath','\x20(up\x20to\x20date)','cwd','scope','enabled','encrypted','name','API\x20Token:\x20✗\x20Not\x20found','XuSnl','lnPup','33535OtSqSR','nRUbU','\x0a---\x20Claude\x20Code\x20Plugin\x20---','utf-8','\x0a---\x20Profiles\x20---','ranger@trailhead','organizationName','\x1b]8;;\x07','aVRzL','CKUjE','404lARvgR','kYwgK','No\x20skills\x20installed','157542pVHZkn','path','log','user','\x20\x20User-level:','mEBSt','\x20\x20Run:\x20ranger\x20setup\x20[token]','IUTgN','2674017dHrNCi','DEBUG','includes','hTdwn','\x0a---\x20Skills\x20---','BwjIv','settings.json','\x0a\x20\x20No\x20active\x20profile\x20set','EdkSX','Version:\x20','tGdUD','jfBne','5184613MxViPt','\x20(active)','KeEda','project','FOJzH','mZIAS','8907kCVgDs','unknown','yVHkn','push','hnYdw','none','2256416BiwwiF','SKILL.md','map','trim','API\x20Environment:\x20','hasPlaintextAuth','auth.json','\x20\x20\x20\x20','504594hUnPeC','auth.json.enc','length','VYHRo','disabled','372uVeojQ','\x20\x20Run:\x20ranger\x20profile\x20add\x20<profile-name>','xTIgT','LMZMl','uGpTM'];_0xec5b=function(){return _0xc5949f;};return _0xec5b();}import{getProjectSkillsDir,getUserSkillsDir}from'./utils/claudeConfig.js';import{getEnvNames}from'./env.js';function _0x496e(_0xcba30e,_0xeeaaa){_0xcba30e=_0xcba30e-0x107;const _0xec5bb7=_0xec5b();let _0x496ed5=_0xec5bb7[_0xcba30e];return _0x496ed5;}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';const bold=_0x1f96bd=>'\x1b[1m'+_0x1f96bd+'\x1b[0m',link=(_0x393fc1,_0x4660ef)=>'\x1b]8;;file://'+_0x393fc1+'\x07'+(_0x4660ef||_0x393fc1)+_0x411736(0x137);async function getSkillsFromDir(_0x326eb5,_0x852e75){const _0x530269=_0x411736,_0x14f711={'aVRzL':function(_0x4385af,_0x4fdad1,_0xb5368e){return _0x4385af(_0x4fdad1,_0xb5368e);},'uGpTM':function(_0x4d9338,_0x317f87,_0xc3c8c7,_0x56d667){return _0x4d9338(_0x317f87,_0xc3c8c7,_0x56d667);}};if(!existsSync(_0x326eb5))return[];const _0x4c87fd=[];try{const _0x10e1c7=await _0x14f711[_0x530269(0x138)](readdir,_0x326eb5,{'withFileTypes':!![]});for(const _0x26499e of _0x10e1c7){if(_0x26499e['isDirectory']()){const _0x3110fb=_0x14f711[_0x530269(0x124)](join,_0x326eb5,_0x26499e[_0x530269(0x12c)],_0x530269(0x114));if(existsSync(_0x3110fb)){let _0x18a81a=_0x26499e[_0x530269(0x12c)];try{const _0x410fc7=await readFile(_0x3110fb,_0x530269(0x133)),_0x4980b1=_0x410fc7['match'](/name:\s*(.+)/);_0x4980b1&&(_0x18a81a=_0x4980b1[0x1][_0x530269(0x116)]());}catch{}_0x4c87fd[_0x530269(0x110)]({'name':_0x26499e[_0x530269(0x12c)],'displayName':_0x18a81a,'path':_0x3110fb,'level':_0x852e75});}}}}catch{return[];}return _0x4c87fd;}async function getInstalledSkills(){const _0xf58d21=_0x411736,_0x372940={'CKUjE':function(_0xe21708,_0x1d63ae,_0xa3a74e){return _0xe21708(_0x1d63ae,_0xa3a74e);},'MCano':function(_0x131a6c){return _0x131a6c();},'LzQxF':_0xf58d21(0x10a)},[_0x4ffd35,_0x4477ee]=await Promise['all']([_0x372940[_0xf58d21(0x139)](getSkillsFromDir,_0x372940['MCano'](getProjectSkillsDir),_0x372940['LzQxF']),getSkillsFromDir(getUserSkillsDir(),'user')]);return{'project':_0x4ffd35,'user':_0x4477ee};}async function getEnvironments(){const _0x158a0e=_0x411736,_0x1219ac={'EDzCe':_0x158a0e(0x14b),'KeEda':function(_0x2d58ac,_0x42cff1,_0x29fbad){return _0x2d58ac(_0x42cff1,_0x29fbad);},'VYHRo':_0x158a0e(0x11c),'kOmlR':function(_0x3a13dc,_0x49ac2a){return _0x3a13dc(_0x49ac2a);},'XKoYA':function(_0x107bc0,_0xe8a0e5){return _0x107bc0===_0xe8a0e5;},'mEBSt':function(_0x1ab9b4){return _0x1ab9b4();}},{envNames:_0x271d5f,activeEnv:_0x556441}=await getEnvNames(),_0x2cff94=_0x1219ac[_0x158a0e(0x142)](getRangerDir);if(!existsSync(_0x2cff94))return{'envs':[],'activeEnv':null};const _0x2069e8=_0x271d5f[_0x158a0e(0x115)](_0x573bcf=>{const _0x4190ca=_0x158a0e,_0x21f397=getEnvDir(_0x573bcf),_0x724767=join(_0x21f397,_0x1219ac['EDzCe']),_0x557f96=_0x1219ac[_0x4190ca(0x109)](join,_0x21f397,_0x4190ca(0x119)),_0x79056c=_0x1219ac['KeEda'](join,_0x21f397,_0x1219ac[_0x4190ca(0x11e)]);return{'name':_0x573bcf,'settingsPath':_0x1219ac['kOmlR'](existsSync,_0x724767)?_0x724767:'(not\x20found)','hasPlaintextAuth':_0x1219ac['kOmlR'](existsSync,_0x557f96),'hasEncryptedAuth':existsSync(_0x79056c),'isActive':_0x1219ac['XKoYA'](_0x573bcf,_0x556441)};});return{'envs':_0x2069e8,'activeEnv':_0x556441};}export async function status(){const _0x357d7e=_0x411736,_0x3cd957={'XuSnl':'\x0a📊\x20Ranger\x20Status\x0a','IfUsO':function(_0x1a75d6,_0x46840a,_0x5bada5){return _0x1a75d6(_0x46840a,_0x5bada5);},'EdkSX':function(_0x4d54f6,_0x2e69fd){return _0x4d54f6(_0x2e69fd);},'FOJzH':function(_0x431f68,_0x390605){return _0x431f68(_0x390605);},'lnPup':function(_0x4a21e1,_0x5d8ad6){return _0x4a21e1(_0x5d8ad6);},'jfBne':function(_0x58df2c){return _0x58df2c();},'dgjLr':function(_0x5e429f,_0x1a91e6){return _0x5e429f(_0x1a91e6);},'kYwgK':function(_0x5a0085){return _0x5a0085();},'NzmZQ':_0x357d7e(0x132),'xTIgT':'ranger@trailhead','pnefR':_0x357d7e(0x10e),'oDBES':_0x357d7e(0x11f),'hnYdw':'\x20\x20Run:\x20ranger\x20setup\x20[token]\x20\x20(includes\x20plugin\x20installation)','yVHkn':function(_0x451ec1){return _0x451ec1();},'YfVQG':_0x357d7e(0x13c),'IUTgN':function(_0x4d673a,_0x27f9d1){return _0x4d673a>_0x27f9d1;},'nRUbU':'\x20\x20Project-level:','tGdUD':function(_0x217ab9,_0x958bef){return _0x217ab9(_0x958bef);},'mZIAS':_0x357d7e(0x141),'hTdwn':function(_0xb0d7fc,_0x59fd50){return _0xb0d7fc(_0x59fd50);},'LMZMl':_0x357d7e(0x12b),'iUFBm':'plaintext','ZKArt':function(_0x2a4302,_0x38d2ad){return _0x2a4302(_0x38d2ad);},'BqZTP':function(_0x317f4d,_0x18bd00){return _0x317f4d!==_0x18bd00;},'BwjIv':function(_0x457c65,_0x17dd26,_0x25fd30){return _0x457c65(_0x17dd26,_0x25fd30);}};console[_0x357d7e(0x13f)](_0x3cd957[_0x357d7e(0x12e)]);const _0xc794a0=process[_0x357d7e(0x128)](),_0x584bf5=getRangerDir();if(!existsSync(_0x584bf5)){console['log']('Root:\x20'+_0x3cd957['IfUsO'](link,_0xc794a0,_0x3cd957[_0x357d7e(0x14d)](bold,basename(_0xc794a0)))),console['log']('\x0aRanger\x20has\x20not\x20been\x20initialized\x20in\x20this\x20directory.'),console[_0x357d7e(0x13f)]('\x20\x20Run:\x20ranger\x20setup\x20[token]\x0a');return;}console[_0x357d7e(0x13f)](_0x357d7e(0x125)+link(_0xc794a0,_0x3cd957[_0x357d7e(0x10b)](bold,_0x3cd957[_0x357d7e(0x12f)](basename,_0xc794a0))));const _0x47e33c=_0x3cd957[_0x357d7e(0x150)](getCurrentVersion),_0x4c3172=getLatestVersion();if(_0x4c3172&&_0x4c3172!==_0x47e33c)console['log'](_0x357d7e(0x14e)+_0x47e33c+'\x20(latest:\x20'+_0x4c3172+')'),console['log']('\x20\x20Run:\x20ranger\x20update');else _0x4c3172?console[_0x357d7e(0x13f)](_0x357d7e(0x14e)+_0x47e33c+_0x357d7e(0x127)):console['log'](_0x357d7e(0x14e)+_0x47e33c);const _0x3bfd55=await _0x3cd957['jfBne'](getToken);if(_0x3bfd55){const _0x4687ba=await getCurrentUser(_0x3bfd55);_0x4687ba['success']?console['log']('Organization:\x20'+_0x3cd957['dgjLr'](bold,_0x4687ba[_0x357d7e(0x140)][_0x357d7e(0x136)])):(console[_0x357d7e(0x13f)]('API\x20Token:\x20✓\x20Found\x20but\x20invalid\x20or\x20expired'),console['log'](_0x357d7e(0x143)));}else console['log'](_0x357d7e(0x12d)),console[_0x357d7e(0x13f)](_0x357d7e(0x143));process['env'][_0x357d7e(0x146)]&&(console[_0x357d7e(0x13f)](_0x357d7e(0x117)+_0x3cd957[_0x357d7e(0x13b)](getCurrentEnvironment)),console['log']('API\x20URL:\x20'+getApiBaseUrl()));console[_0x357d7e(0x13f)](_0x3cd957['NzmZQ']);const _0x3e2661=await getPluginInfo(_0x3cd957[_0x357d7e(0x122)]);if(_0x3e2661){const _0x248117=_0x3e2661[_0x357d7e(0x129)]||_0x3cd957['pnefR'],_0x2c3b39=_0x3e2661[_0x357d7e(0x12a)]?'enabled':_0x3cd957['oDBES'];console[_0x357d7e(0x13f)]('\x20\x20'+bold(_0x357d7e(0x135))+':\x20installed\x20('+_0x248117+',\x20'+_0x2c3b39+')');}else console['log']('\x20\x20Not\x20installed'),console[_0x357d7e(0x13f)](_0x3cd957[_0x357d7e(0x111)]);console['log'](_0x357d7e(0x149));const {project:_0x276baf,user:_0x24e794}=await _0x3cd957[_0x357d7e(0x10f)](getInstalledSkills),_0x506470=_0x276baf['filter'](_0x1af733=>RANGER_MANAGED_SKILLS['includes'](_0x1af733['name'])),_0x5b009b=_0x24e794['filter'](_0x308336=>RANGER_MANAGED_SKILLS[_0x357d7e(0x147)](_0x308336['name'])),_0x4c4231=_0x506470[_0x357d7e(0x11d)]+_0x5b009b[_0x357d7e(0x11d)];if(_0x4c4231===0x0)console[_0x357d7e(0x13f)](_0x3cd957['YfVQG']),console['log']('\x20\x20Run:\x20ranger\x20skillup');else{if(_0x3cd957[_0x357d7e(0x144)](_0x506470[_0x357d7e(0x11d)],0x0)){console['log'](_0x3cd957[_0x357d7e(0x131)]);for(const _0x1fe8df of _0x506470){console[_0x357d7e(0x13f)]('\x20\x20\x20\x20'+_0x3cd957[_0x357d7e(0x14f)](bold,_0x1fe8df['displayName'])+':\x20'+link(_0x1fe8df[_0x357d7e(0x13e)],_0x3cd957[_0x357d7e(0x12f)](basename,_0x1fe8df[_0x357d7e(0x13e)])));}}if(_0x5b009b['length']>0x0){console['log'](_0x3cd957[_0x357d7e(0x10c)]);for(const _0x29ce47 of _0x5b009b){console[_0x357d7e(0x13f)](_0x357d7e(0x11a)+bold(_0x29ce47['displayName'])+':\x20'+link(_0x29ce47[_0x357d7e(0x13e)],_0x3cd957[_0x357d7e(0x148)](basename,_0x29ce47[_0x357d7e(0x13e)])));}}}console[_0x357d7e(0x13f)](_0x357d7e(0x134));const {envs:_0x191844,activeEnv:_0x204e88}=await _0x3cd957[_0x357d7e(0x10f)](getEnvironments);if(_0x191844[_0x357d7e(0x11d)]===0x0)console[_0x357d7e(0x13f)]('No\x20profiles\x20configured'),console['log'](_0x357d7e(0x121));else{for(const _0x3110c5 of _0x191844){const _0x24a464=_0x3110c5['isActive']?_0x357d7e(0x108):'',_0x541c15=_0x3110c5['hasEncryptedAuth']?_0x3cd957[_0x357d7e(0x123)]:_0x3110c5[_0x357d7e(0x118)]?_0x3cd957['iUFBm']:_0x357d7e(0x112);console['log']('\x20\x20'+_0x3cd957['ZKArt'](bold,_0x3110c5[_0x357d7e(0x12c)])+_0x24a464),console['log']('\x20\x20\x20\x20Auth:\x20'+_0x541c15),_0x3cd957['BqZTP'](_0x3110c5[_0x357d7e(0x126)],'(not\x20found)')&&console['log']('\x20\x20\x20\x20Settings:\x20'+_0x3cd957[_0x357d7e(0x14a)](link,_0x3110c5['settingsPath'],basename(_0x3110c5['settingsPath'])));}!_0x204e88&&(console[_0x357d7e(0x13f)](_0x357d7e(0x14c)),console[_0x357d7e(0x13f)]('\x20\x20Run:\x20ranger\x20profile\x20use\x20<profile-name>\x20\x20(available:\x20'+_0x191844['map'](_0x14629d=>_0x14629d[_0x357d7e(0x12c)])['join'](',\x20')+')'));}console['log']('');}
1
+ const _0x2ceca2=_0x50db;(function(_0x32fd70,_0x296681){const _0x4f5531=_0x50db,_0x48d348=_0x32fd70();while(!![]){try{const _0x2fb488=-parseInt(_0x4f5531(0x1bc))/0x1*(-parseInt(_0x4f5531(0x198))/0x2)+-parseInt(_0x4f5531(0x1ad))/0x3+-parseInt(_0x4f5531(0x19c))/0x4+parseInt(_0x4f5531(0x1bd))/0x5*(parseInt(_0x4f5531(0x1c6))/0x6)+-parseInt(_0x4f5531(0x17e))/0x7*(parseInt(_0x4f5531(0x183))/0x8)+-parseInt(_0x4f5531(0x1bb))/0x9*(parseInt(_0x4f5531(0x179))/0xa)+parseInt(_0x4f5531(0x19f))/0xb;if(_0x2fb488===_0x296681)break;else _0x48d348['push'](_0x48d348['shift']());}catch(_0x59299b){_0x48d348['push'](_0x48d348['shift']());}}}(_0x3d9f,0xb73a9));import{readFile,readdir}from'fs/promises';import{join,basename}from'path';import{existsSync}from'fs';import{getToken}from'./utils/keychain.js';import{getCurrentVersion,getLatestVersion}from'./utils/version.js';function _0x3d9f(){const _0x548425=['organizationName','JxXOS','log','hmVNh','status','\x1b[0m','\x20\x20Run:\x20ranger\x20setup\x20[token]\x0a','not_configured','\x20\x20User-level:','6BspzVC','\x20(latest:\x20',':\x20installed\x20(','cpfQT','1952384APtMVZ','stdout','AJpVJ','8356260EaNuma','utf-8','API\x20Environment:\x20','kzAUW','enabled','match','AxxcI','data','\x20\x20\x20\x20Auth:\x20','join','details','\x0a---\x20OpenCode\x20Plugin\x20---','name','LZrCR','1684191FuKPVu','oQGFB','Organization:\x20','filter','KFKfN','\x20(active)','\x1b]8;;file://','rJGeF','@ranger-testing/opencode-plugin','tvaWF','\x20\x20Run:\x20ranger\x20profile\x20use\x20<profile-name>\x20\x20(available:\x20','auth.json','\x20\x20\x20\x20','error','186435urVjYS','322673LJlcfp','2885yGhemY','KdrKM','tBfYY','user','API\x20Token:\x20✓\x20Found\x20but\x20invalid\x20or\x20expired','opencode','includes','EUMXH','API\x20Token:\x20✗\x20Not\x20found','5364QFtTWA','\x0a\x20\x20No\x20active\x20profile\x20set','iZRuw','length','HvOgP','configured','AMesq','NITWg','ignore','project','gvXgT','string','cGrst','TkjJX','diSmX','Ucmul','DDfwy','displayName','\x20\x20Run:\x20ranger\x20setup\x20[token]','\x0a---\x20Claude\x20Code\x20Plugin\x20---','hasEncryptedAuth','10ahHoms','\x1b]8;;\x07','isArray','\x20\x20Project-level:','parse','14VUwlZp','ranger@trailhead','\x20plugin(s)\x20configured','settingsPath','\x20\x20Run:\x20ranger\x20profile\x20add\x20<profile-name>','1691216xWpFag','auth.json.enc','SJkSi','settings.json','\x0a📊\x20Ranger\x20Status\x0a','inmaI','pipe','opencode-plugin','\x20\x20Run:\x20ranger\x20update','AaYuc','SrayE','zBqbp'];_0x3d9f=function(){return _0x548425;};return _0x3d9f();}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=_0x63dd62=>'\x1b[1m'+_0x63dd62+_0x2ceca2(0x194),link=(_0xfced7b,_0x42cbe1)=>_0x2ceca2(0x1b3)+_0xfced7b+'\x07'+(_0x42cbe1||_0xfced7b)+_0x2ceca2(0x17a);async function getOpencodePluginStatus(){const _0x44df12=_0x2ceca2,_0x866511={'EzEGn':function(_0x559321,_0x3bd5b9){return _0x559321(_0x3bd5b9);},'FrNvO':function(_0x2e3fca,_0xeb05ad){return _0x2e3fca(_0xeb05ad);},'gvXgT':_0x44df12(0x1cb),'zBqbp':_0x44df12(0x16f),'kzAUW':function(_0x1caf5d,_0x39b50b,_0x321080,_0x4230b5){return _0x1caf5d(_0x39b50b,_0x321080,_0x4230b5);},'TkjJX':'debug','KFKfN':'config','ZOukk':_0x44df12(0x1a6),'tBfYY':_0x44df12(0x1ba),'AxxcI':'close'};return new Promise(_0x5306f7=>{const _0x124e25=_0x44df12,_0x4e6a1b={'htIMg':function(_0x525c57,_0x1f263d){return _0x525c57(_0x1f263d);},'OgGYC':function(_0x367387,_0x55619d){return _0x367387!==_0x55619d;},'XJaAq':_0x866511[_0x124e25(0x18e)]},_0x32ddfc=_0x866511[_0x124e25(0x1a2)](spawn,_0x124e25(0x1c2),[_0x866511[_0x124e25(0x171)],_0x866511[_0x124e25(0x1b1)]],{'stdio':[_0x124e25(0x16c),_0x124e25(0x189),_0x124e25(0x189)]});let _0x58809a='';_0x32ddfc[_0x124e25(0x19d)]?.['on'](_0x124e25(0x1a6),_0x11062b=>{_0x58809a+=_0x11062b['toString']();}),_0x32ddfc['stderr']?.['on'](_0x866511['ZOukk'],_0x1d51f1=>{_0x58809a+=_0x1d51f1['toString']();}),_0x32ddfc['on'](_0x866511[_0x124e25(0x1bf)],()=>{_0x4e6a1b['htIMg'](_0x5306f7,{'status':'not_installed'});}),_0x32ddfc['on'](_0x866511[_0x124e25(0x1a5)],_0x7ae3c=>{const _0xb44d87=_0x124e25;if(_0x7ae3c!==0x0){_0x866511['EzEGn'](_0x5306f7,{'status':'not_installed'});return;}const _0x3137f4=_0x58809a['trim']();let _0x463802=null;if(_0x3137f4)try{_0x463802=JSON[_0xb44d87(0x17d)](_0x3137f4);}catch{const _0x215347=_0x3137f4[_0xb44d87(0x1a4)](/\{[\s\S]*\}$/);if(_0x215347)try{_0x463802=JSON['parse'](_0x215347[0x0]);}catch{_0x463802=null;}}const _0xa10646=Array[_0xb44d87(0x17b)](_0x463802?.['plugin'])?_0x463802?.['plugin']:[],_0xe0e27a=_0xa10646['some'](_0x2a6f8d=>{const _0x22fef7=_0xb44d87;if(_0x4e6a1b['OgGYC'](typeof _0x2a6f8d,_0x4e6a1b['XJaAq']))return![];return _0x2a6f8d['includes']('@ranger-testing/opencode-plugin')||_0x2a6f8d['includes'](_0x22fef7(0x18a));});if(_0xe0e27a){_0x866511['FrNvO'](_0x5306f7,{'status':_0x866511[_0xb44d87(0x16e)],'details':_0xa10646[_0xb44d87(0x1c9)]>0x0?_0xa10646[_0xb44d87(0x1c9)]+_0xb44d87(0x180):undefined});return;}if(_0xa10646['length']>0x0){_0x5306f7({'status':_0xb44d87(0x196),'details':_0xa10646['length']+_0xb44d87(0x180)});return;}_0x5306f7({'status':_0xb44d87(0x196)});});});}async function getSkillsFromDir(_0x2ee5ff,_0x5a5d9b){const _0x156fb5=_0x2ceca2,_0x432a7c={'KUZJO':function(_0x3ef5e9,_0x3e3c3d,_0x3bcad9){return _0x3ef5e9(_0x3e3c3d,_0x3bcad9);},'HvOgP':'SKILL.md','iZRuw':function(_0x3125e8,_0x3e407){return _0x3125e8(_0x3e407);},'EUMXH':function(_0x1dfff1,_0x578a06,_0x2bdb75){return _0x1dfff1(_0x578a06,_0x2bdb75);}};if(!existsSync(_0x2ee5ff))return[];const _0x5c35a2=[];try{const _0x3209bc=await _0x432a7c['KUZJO'](readdir,_0x2ee5ff,{'withFileTypes':!![]});for(const _0x32dd78 of _0x3209bc){if(_0x32dd78['isDirectory']()){const _0xe51ba7=join(_0x2ee5ff,_0x32dd78[_0x156fb5(0x1ab)],_0x432a7c[_0x156fb5(0x1ca)]);if(_0x432a7c[_0x156fb5(0x1c8)](existsSync,_0xe51ba7)){let _0x52bbe3=_0x32dd78['name'];try{const _0x28c1af=await _0x432a7c[_0x156fb5(0x1c4)](readFile,_0xe51ba7,_0x156fb5(0x1a0)),_0xa0ab58=_0x28c1af['match'](/name:\s*(.+)/);_0xa0ab58&&(_0x52bbe3=_0xa0ab58[0x1]['trim']());}catch{}_0x5c35a2['push']({'name':_0x32dd78['name'],'displayName':_0x52bbe3,'path':_0xe51ba7,'level':_0x5a5d9b});}}}}catch{return[];}return _0x5c35a2;}async function getInstalledSkills(){const _0x33933f=_0x2ceca2,_0x3f822f={'ajgfP':function(_0x307649,_0x1ec301,_0x255fb6){return _0x307649(_0x1ec301,_0x255fb6);},'rJGeF':function(_0x2d0693){return _0x2d0693();},'AMesq':_0x33933f(0x1c0)},[_0x184b70,_0x32813f]=await Promise['all']([getSkillsFromDir(getProjectSkillsDir(),_0x33933f(0x16d)),_0x3f822f['ajgfP'](getSkillsFromDir,_0x3f822f[_0x33933f(0x1b4)](getUserSkillsDir),_0x3f822f[_0x33933f(0x1cc)])]);return{'project':_0x184b70,'user':_0x32813f};}function _0x50db(_0xf4deea,_0x4787d1){_0xf4deea=_0xf4deea-0x16c;const _0x3d9f4d=_0x3d9f();let _0x50db5e=_0x3d9f4d[_0xf4deea];return _0x50db5e;}async function getEnvironments(){const _0xa063c3=_0x2ceca2,_0x162222={'KdrKM':function(_0x23e17c,_0x313ad7,_0x22637c){return _0x23e17c(_0x313ad7,_0x22637c);},'HOySg':_0xa063c3(0x184),'JxXOS':function(_0xcaaabb,_0x3d670d){return _0xcaaabb(_0x3d670d);},'REeCM':function(_0x207862){return _0x207862();},'diSmX':function(_0x596069,_0x11ab34){return _0x596069(_0x11ab34);}},{envNames:_0x79ddec,activeEnv:_0x2ef6af}=await _0x162222['REeCM'](getEnvNames),_0x1d0f96=_0x162222['REeCM'](getRangerDir);if(!_0x162222[_0xa063c3(0x172)](existsSync,_0x1d0f96))return{'envs':[],'activeEnv':null};const _0x2670c5=_0x79ddec['map'](_0x143cf1=>{const _0x548ac3=_0xa063c3,_0x3f209d=getEnvDir(_0x143cf1),_0x3d9579=join(_0x3f209d,_0x548ac3(0x186)),_0x4e417a=_0x162222[_0x548ac3(0x1be)](join,_0x3f209d,_0x548ac3(0x1b8)),_0x1069f9=join(_0x3f209d,_0x162222['HOySg']);return{'name':_0x143cf1,'settingsPath':existsSync(_0x3d9579)?_0x3d9579:'(not\x20found)','hasPlaintextAuth':_0x162222[_0x548ac3(0x190)](existsSync,_0x4e417a),'hasEncryptedAuth':existsSync(_0x1069f9),'isActive':_0x143cf1===_0x2ef6af};});return{'envs':_0x2670c5,'activeEnv':_0x2ef6af};}export async function status(){const _0x440f11=_0x2ceca2,_0x27d35e={'LZrCR':function(_0x2857d7,_0x50f950){return _0x2857d7(_0x50f950);},'SrayE':function(_0x6b9b40,_0x4ec6a8){return _0x6b9b40(_0x4ec6a8);},'AJpVJ':function(_0x2e2feb,_0x1d9bf6,_0x249f2){return _0x2e2feb(_0x1d9bf6,_0x249f2);},'bEjcB':function(_0x433b0e){return _0x433b0e();},'cpfQT':function(_0x56e312){return _0x56e312();},'cGrst':function(_0x71c135,_0x4c3b6b){return _0x71c135!==_0x4c3b6b;},'hmVNh':function(_0x5f466e){return _0x5f466e();},'DDfwy':function(_0x2882af,_0x452ce9){return _0x2882af(_0x452ce9);},'tIiit':function(_0x432d3a){return _0x432d3a();},'SJkSi':function(_0x333a45,_0x1c2f64){return _0x333a45===_0x1c2f64;},'AaYuc':_0x440f11(0x1cb),'meKTC':function(_0xaf8073,_0x160b6d){return _0xaf8073(_0x160b6d);},'oQGFB':'not_configured','Ijbgy':'\x20\x20Not\x20configured','NITWg':'\x20\x20Run:\x20ranger\x20setup\x20--opencode','HIhzJ':'disabled','oOiqS':_0x440f11(0x17f),'inmaI':function(_0x41ae76,_0x1555eb){return _0x41ae76+_0x1555eb;},'nFsVr':'No\x20skills\x20installed','tvaWF':function(_0x5b80ce,_0x3a937a){return _0x5b80ce>_0x3a937a;},'Ucmul':'\x0a---\x20Profiles\x20---','BYcet':'No\x20profiles\x20configured','HQvRV':'plaintext'};console['log'](_0x440f11(0x187));const _0x2ebd99=process['cwd'](),_0x51cb17=getRangerDir();if(!_0x27d35e[_0x440f11(0x1ac)](existsSync,_0x51cb17)){console['log']('Root:\x20'+link(_0x2ebd99,_0x27d35e[_0x440f11(0x18d)](bold,_0x27d35e[_0x440f11(0x18d)](basename,_0x2ebd99)))),console[_0x440f11(0x191)]('\x0aRanger\x20has\x20not\x20been\x20initialized\x20in\x20this\x20directory.'),console['log'](_0x440f11(0x195));return;}console[_0x440f11(0x191)]('Root:\x20'+_0x27d35e['AJpVJ'](link,_0x2ebd99,bold(basename(_0x2ebd99))));const _0x99a1e3=_0x27d35e['bEjcB'](getCurrentVersion),_0x364559=_0x27d35e[_0x440f11(0x19b)](getLatestVersion);if(_0x364559&&_0x27d35e[_0x440f11(0x170)](_0x364559,_0x99a1e3))console[_0x440f11(0x191)]('Version:\x20'+_0x99a1e3+_0x440f11(0x199)+_0x364559+')'),console['log'](_0x440f11(0x18b));else _0x364559?console['log']('Version:\x20'+_0x99a1e3+'\x20(up\x20to\x20date)'):console['log']('Version:\x20'+_0x99a1e3);const _0x1647a4=await _0x27d35e['hmVNh'](getToken);if(_0x1647a4){const _0x3c2352=await getCurrentUser(_0x1647a4);_0x3c2352['success']?console['log'](_0x440f11(0x1af)+_0x27d35e[_0x440f11(0x174)](bold,_0x3c2352[_0x440f11(0x1c0)][_0x440f11(0x18f)])):(console[_0x440f11(0x191)](_0x440f11(0x1c1)),console[_0x440f11(0x191)](_0x440f11(0x176)));}else console[_0x440f11(0x191)](_0x440f11(0x1c5)),console[_0x440f11(0x191)]('\x20\x20Run:\x20ranger\x20setup\x20[token]');process['env']['DEBUG']&&(console[_0x440f11(0x191)](_0x440f11(0x1a1)+_0x27d35e['tIiit'](getCurrentEnvironment)),console['log']('API\x20URL:\x20'+_0x27d35e[_0x440f11(0x192)](getApiBaseUrl)));console['log'](_0x440f11(0x1aa));const _0x1e71e1=await getOpencodePluginStatus();if(_0x27d35e[_0x440f11(0x185)](_0x1e71e1[_0x440f11(0x193)],_0x27d35e[_0x440f11(0x18c)]))console['log']('\x20\x20'+_0x27d35e['meKTC'](bold,_0x440f11(0x1b5))+':\x20configured'),_0x1e71e1['details']&&console[_0x440f11(0x191)]('\x20\x20'+_0x1e71e1[_0x440f11(0x1a9)]);else _0x27d35e['SJkSi'](_0x1e71e1['status'],_0x27d35e[_0x440f11(0x1ae)])?(console[_0x440f11(0x191)](_0x27d35e['Ijbgy']),_0x1e71e1[_0x440f11(0x1a9)]&&console['log']('\x20\x20'+_0x1e71e1['details']),console[_0x440f11(0x191)](_0x27d35e[_0x440f11(0x1cd)])):console[_0x440f11(0x191)]('\x20\x20OpenCode\x20not\x20installed\x20or\x20not\x20available');console[_0x440f11(0x191)](_0x440f11(0x177));const _0x29f0af=await getPluginInfo(_0x440f11(0x17f));if(_0x29f0af){const _0x1caadb=_0x29f0af['scope']||'unknown',_0x11499d=_0x29f0af[_0x440f11(0x1a3)]?_0x440f11(0x1a3):_0x27d35e['HIhzJ'];console['log']('\x20\x20'+_0x27d35e['LZrCR'](bold,_0x27d35e['oOiqS'])+_0x440f11(0x19a)+_0x1caadb+',\x20'+_0x11499d+')');}else console[_0x440f11(0x191)]('\x20\x20Not\x20installed'),console[_0x440f11(0x191)]('\x20\x20Run:\x20ranger\x20setup\x20[token]\x20\x20(includes\x20plugin\x20installation)');console['log']('\x0a---\x20Skills\x20---');const {project:_0x34d872,user:_0x675da6}=await getInstalledSkills(),_0x153082=_0x34d872[_0x440f11(0x1b0)](_0x1f6c6d=>RANGER_MANAGED_SKILLS[_0x440f11(0x1c3)](_0x1f6c6d['name'])),_0x468b52=_0x675da6[_0x440f11(0x1b0)](_0x25fff0=>RANGER_MANAGED_SKILLS[_0x440f11(0x1c3)](_0x25fff0[_0x440f11(0x1ab)])),_0x5bb11f=_0x27d35e[_0x440f11(0x188)](_0x153082['length'],_0x468b52['length']);if(_0x27d35e[_0x440f11(0x185)](_0x5bb11f,0x0))console[_0x440f11(0x191)](_0x27d35e['nFsVr']),console[_0x440f11(0x191)]('\x20\x20Run:\x20ranger\x20skillup');else{if(_0x27d35e[_0x440f11(0x1b6)](_0x153082['length'],0x0)){console[_0x440f11(0x191)](_0x440f11(0x17c));for(const _0x5e8e10 of _0x153082){console[_0x440f11(0x191)](_0x440f11(0x1b9)+_0x27d35e[_0x440f11(0x18d)](bold,_0x5e8e10['displayName'])+':\x20'+link(_0x5e8e10['path'],_0x27d35e[_0x440f11(0x174)](basename,_0x5e8e10['path'])));}}if(_0x468b52['length']>0x0){console['log'](_0x440f11(0x197));for(const _0x247b4a of _0x468b52){console[_0x440f11(0x191)]('\x20\x20\x20\x20'+bold(_0x247b4a[_0x440f11(0x175)])+':\x20'+_0x27d35e[_0x440f11(0x19e)](link,_0x247b4a['path'],_0x27d35e['DDfwy'](basename,_0x247b4a['path'])));}}}console[_0x440f11(0x191)](_0x27d35e[_0x440f11(0x173)]);const {envs:_0x23a148,activeEnv:_0x4a4c99}=await getEnvironments();if(_0x27d35e[_0x440f11(0x185)](_0x23a148[_0x440f11(0x1c9)],0x0))console['log'](_0x27d35e['BYcet']),console[_0x440f11(0x191)](_0x440f11(0x182));else{for(const _0x2ccb5b of _0x23a148){const _0x1406fc=_0x2ccb5b['isActive']?_0x440f11(0x1b2):'',_0x4175c3=_0x2ccb5b[_0x440f11(0x178)]?'encrypted':_0x2ccb5b['hasPlaintextAuth']?_0x27d35e['HQvRV']:'none';console['log']('\x20\x20'+bold(_0x2ccb5b[_0x440f11(0x1ab)])+_0x1406fc),console[_0x440f11(0x191)](_0x440f11(0x1a7)+_0x4175c3),_0x27d35e['cGrst'](_0x2ccb5b[_0x440f11(0x181)],'(not\x20found)')&&console[_0x440f11(0x191)]('\x20\x20\x20\x20Settings:\x20'+link(_0x2ccb5b['settingsPath'],basename(_0x2ccb5b[_0x440f11(0x181)])));}!_0x4a4c99&&(console[_0x440f11(0x191)](_0x440f11(0x1c7)),console['log'](_0x440f11(0x1b7)+_0x23a148['map'](_0x5217b5=>_0x5217b5[_0x440f11(0x1ab)])[_0x440f11(0x1a8)](',\x20')+')'));}console['log']('');}
@@ -1 +1 @@
1
- (function(_0x4ba947,_0x302c43){const _0x22d168=_0x7da3,_0x20e8ef=_0x4ba947();while(!![]){try{const _0x3940d6=parseInt(_0x22d168(0x168))/0x1+parseInt(_0x22d168(0x17b))/0x2*(-parseInt(_0x22d168(0x16e))/0x3)+parseInt(_0x22d168(0x182))/0x4+parseInt(_0x22d168(0x179))/0x5*(-parseInt(_0x22d168(0x15e))/0x6)+-parseInt(_0x22d168(0x151))/0x7*(-parseInt(_0x22d168(0x187))/0x8)+-parseInt(_0x22d168(0x14e))/0x9+-parseInt(_0x22d168(0x15a))/0xa;if(_0x3940d6===_0x302c43)break;else _0x20e8ef['push'](_0x20e8ef['shift']());}catch(_0x4bdb78){_0x20e8ef['push'](_0x20e8ef['shift']());}}}(_0xef6f,0x315f0));import{spawn}from'child_process';import{existsSync}from'fs';import{readFile,writeFile}from'fs/promises';import{installSkill,removeSkill,RANGER_MANAGED_SKILLS,DEPRECATED_SKILLS}from'./utils/skills.js';function _0x7da3(_0x1e8046,_0x231b41){_0x1e8046=_0x1e8046-0x14c;const _0xef6fec=_0xef6f();let _0x7da30d=_0xef6fec[_0x1e8046];return _0x7da30d;}import{PACKAGE_NAME,getCurrentVersion,getLatestVersion,compareVersions}from'./utils/version.js';function _0xef6f(){const _0x3c9040=['trim','some','pXJav','ayRuJ','mzPLL','\x0aClaude\x20plugin\x20updated\x20(user\x20scope).','utf-8','haSDa','length','RyPWj','1593144MCNYTR','nFoAL','Update\x20failed.\x20You\x20may\x20need\x20to\x20run\x20with\x20sudo:\x20sudo\x20npm\x20install\x20-g\x20','350ZdeFTA','eZEze','user',')\x20is\x20newer\x20than\x20the\x20published\x20version\x20(','\x0aYour\x20version\x20(','error','cOUpF','iAaVW','qeCvK','3080LskxrK','jPJhh','CpwFF','PmUIZ','18mYMrNx','split','\x0aYou\x20are\x20already\x20on\x20the\x20latest\x20version.','\x0aReinstalling\x20','log','\x20skill\x20','\x0aSuccessfully\x20updated\x20to\x20version\x20','acoLa','splice','KuXAL','72517fvvPyU','trailhead','qxjUD','.gitignore','update','JcPbT','301299wqyRap','MdCPA','marketplace','WneVk','sTJOR','Claude\x20plugin\x20updated\x20(project\x20scope).','wnJIO','juJvy','NAWTt','oMZhN','@latest','15430nfTWQO','Latest\x20version:\x20\x20','2ivpaFf','project','@latest...\x0a','sVyDv','win32','qrqEy','\x0a✅\x20Update\x20complete!','896688ZMUvqW','YXBRP','inherit','findIndex','close','30808KaMQRx'];_0xef6f=function(){return _0x3c9040;};return _0xef6f();}import{getSkillsDir}from'./utils/claudeConfig.js';import{join}from'path';import{migrateActiveProfileFile}from'./utils/activeProfile.js';import{getRangerDir}from'./utils/rangerRoot.js';async function runInstall(){const _0x3d1b5f=_0x7da3,_0x1ba296={'iAaVW':function(_0x41ed31,_0x602f7a){return _0x41ed31(_0x602f7a);},'KuXAL':function(_0x4def97,_0x33dc45,_0x948159,_0x1223a7){return _0x4def97(_0x33dc45,_0x948159,_0x1223a7);},'pXJav':_0x3d1b5f(0x184),'iJyYb':function(_0x1b36d5,_0x537703){return _0x1b36d5===_0x537703;},'mzPLL':'error'};return new Promise(_0x35617a=>{const _0x59ea0f=_0x3d1b5f;console['log']('\x0aInstalling\x20'+PACKAGE_NAME+_0x59ea0f(0x17d));const _0x2f1fbb=_0x1ba296[_0x59ea0f(0x167)](spawn,'npm',['install','-g',PACKAGE_NAME+_0x59ea0f(0x178)],{'stdio':_0x1ba296[_0x59ea0f(0x18a)],'shell':_0x1ba296['iJyYb'](process['platform'],'win32')});_0x2f1fbb['on'](_0x59ea0f(0x186),_0x11be2c=>{_0x35617a(_0x11be2c===0x0);}),_0x2f1fbb['on'](_0x1ba296[_0x59ea0f(0x18c)],()=>{const _0x4e405e=_0x59ea0f;_0x1ba296[_0x4e405e(0x158)](_0x35617a,![]);});});}async function updateClaudeMarketplace(){const _0x5c592b=_0x7da3,_0x4de13f={'tAmQS':function(_0x19dd1b,_0x4e79aa){return _0x19dd1b(_0x4e79aa);},'kIJlT':'claude','EYOge':'plugin','iKEOe':_0x5c592b(0x170),'YXBRP':_0x5c592b(0x169),'sVyDv':'pipe','ayRuJ':function(_0x5bdf97,_0x22f89c){return _0x5bdf97===_0x22f89c;},'HpwQn':_0x5c592b(0x17f),'jWKWr':_0x5c592b(0x156)};return new Promise(_0x7b6368=>{const _0x4d7b17=_0x5c592b,_0x54afc1={'CpwFF':function(_0x582ce2,_0x5abd69){return _0x582ce2(_0x5abd69);}},_0x4fbcfd=spawn(_0x4de13f['kIJlT'],[_0x4de13f['EYOge'],_0x4de13f['iKEOe'],'update',_0x4de13f[_0x4d7b17(0x183)]],{'stdio':_0x4de13f[_0x4d7b17(0x17e)],'shell':_0x4de13f[_0x4d7b17(0x18b)](process['platform'],_0x4de13f['HpwQn'])});_0x4fbcfd['on']('close',_0x5d8529=>{_0x4de13f['tAmQS'](_0x7b6368,_0x5d8529===0x0);}),_0x4fbcfd['on'](_0x4de13f['jWKWr'],()=>{const _0x48ae62=_0x4d7b17;_0x54afc1[_0x48ae62(0x15c)](_0x7b6368,![]);});});}async function updateClaudePlugin(_0x29b19d){const _0x3101e9=_0x7da3,_0x453393={'acoLa':function(_0x1e761d,_0x156673){return _0x1e761d(_0x156673);},'NAWTt':function(_0x2a6bb2,_0x509d40){return _0x2a6bb2===_0x509d40;},'oMZhN':'ranger@trailhead','slrQC':'--scope','mQgMG':'claude','qeCvK':_0x3101e9(0x17f)};return new Promise(_0x4048b7=>{const _0x5b5268=_0x3101e9,_0x4a0157={'wnJIO':function(_0x471d3b,_0x45f213){const _0x5921e1=_0x7da3;return _0x453393[_0x5921e1(0x165)](_0x471d3b,_0x45f213);},'sTJOR':function(_0x3d5f49,_0x1686fd){return _0x453393['NAWTt'](_0x3d5f49,_0x1686fd);}},_0x3334eb=['plugin',_0x5b5268(0x16c),_0x453393[_0x5b5268(0x177)]];_0x29b19d&&_0x3334eb['push'](_0x453393['slrQC'],_0x29b19d);const _0x401451=spawn(_0x453393['mQgMG'],_0x3334eb,{'stdio':'pipe','shell':_0x453393[_0x5b5268(0x176)](process['platform'],_0x453393[_0x5b5268(0x159)])});_0x401451['on'](_0x5b5268(0x186),_0x132fd5=>{const _0x530e94=_0x5b5268;_0x4a0157[_0x530e94(0x174)](_0x4048b7,_0x4a0157[_0x530e94(0x172)](_0x132fd5,0x0));}),_0x401451['on']('error',()=>{_0x4048b7(![]);});});}function isSkillInstalled(_0x2cf2c1,_0x4e0174){const _0xc99206=_0x7da3,_0x430915={'eZEze':function(_0x4e5470,_0x262f71,_0x11fbe5){return _0x4e5470(_0x262f71,_0x11fbe5);},'RyPWj':function(_0x36da5e,_0x57d8b5){return _0x36da5e(_0x57d8b5);}},_0x33ccd3=_0x430915[_0xc99206(0x152)](join,_0x430915[_0xc99206(0x14d)](getSkillsDir,_0x4e0174),_0x2cf2c1);return existsSync(_0x33ccd3);}async function reinstallSkills(_0x3c34ce){const _0xa8f7f5=_0x7da3,_0x3c7f20={'MDZCU':_0xa8f7f5(0x17c),'Naqrj':_0xa8f7f5(0x153),'JcPbT':function(_0x74d750,_0x57da7a,_0x28c34){return _0x74d750(_0x57da7a,_0x28c34);},'kORwr':function(_0x141bab,_0x58c962){return _0x141bab===_0x58c962;},'aPTIS':'\x0aNo\x20ranger-managed\x20skills\x20found\x20to\x20reinstall.','nFoAL':function(_0x42701f,_0x13ca1f,_0x33d5ae){return _0x42701f(_0x13ca1f,_0x33d5ae);}},_0x3ab0b9=[_0x3c7f20['MDZCU'],_0x3c7f20['Naqrj']],_0x2d6ee4=[];for(const _0x89a16f of _0x3ab0b9){for(const _0x5c1466 of RANGER_MANAGED_SKILLS){_0x3c7f20[_0xa8f7f5(0x16d)](isSkillInstalled,_0x5c1466,_0x89a16f)&&_0x2d6ee4['push']({'skillName':_0x5c1466,'level':_0x89a16f});}}for(const _0x8f6088 of _0x3ab0b9){for(const _0x2f7059 of DEPRECATED_SKILLS){await _0x3c7f20['JcPbT'](removeSkill,_0x2f7059,_0x8f6088);}}if(_0x3c7f20['kORwr'](_0x2d6ee4['length'],0x0)){console[_0xa8f7f5(0x162)](_0x3c7f20['aPTIS']);return;}console['log'](_0xa8f7f5(0x161)+_0x2d6ee4['length']+'\x20ranger-managed\x20skill(s)...');for(const {skillName:_0x43342d,level:_0x3d1417}of _0x2d6ee4){try{await _0x3c7f20[_0xa8f7f5(0x14f)](installSkill,_0x43342d,{'level':_0x3d1417,'cliVersion':_0x3c34ce});}catch(_0x5343f9){console['warn']('\x20\x20Failed\x20to\x20reinstall\x20'+_0x3d1417+_0xa8f7f5(0x163)+_0x43342d+':',_0x5343f9);}}}async function ensureActiveProfileGitignored(){const _0x32016b=_0x7da3,_0x1284dc={'qrqEy':function(_0x421d07,_0x420bf6,_0x1fa939){return _0x421d07(_0x420bf6,_0x1fa939);},'WneVk':function(_0x12b693){return _0x12b693();},'GJBkN':_0x32016b(0x16b),'PmUIZ':function(_0x7cb61f,_0x2a80f7,_0x496e77){return _0x7cb61f(_0x2a80f7,_0x496e77);},'juJvy':_0x32016b(0x18e),'InXKj':function(_0x13f859,_0x35e958){return _0x13f859===_0x35e958;}},_0x5d7d3b=_0x1284dc[_0x32016b(0x180)](join,_0x1284dc[_0x32016b(0x171)](getRangerDir),_0x1284dc['GJBkN']);if(!existsSync(_0x5d7d3b))return![];let _0x161bd3='';try{_0x161bd3=await _0x1284dc[_0x32016b(0x15d)](readFile,_0x5d7d3b,_0x1284dc[_0x32016b(0x175)]);}catch{return![];}const _0x24c71c=_0x161bd3[_0x32016b(0x15f)](/\r?\n/);if(_0x24c71c[_0x32016b(0x189)](_0x6beaa3=>_0x6beaa3[_0x32016b(0x188)]()==='active-profile.txt'))return![];let _0x51404c=_0x24c71c[_0x32016b(0x185)](_0x5a6813=>_0x5a6813[_0x32016b(0x188)]()==='active-feature.txt');_0x1284dc['InXKj'](_0x51404c,-0x1)&&(_0x51404c=_0x24c71c[_0x32016b(0x14c)]);_0x24c71c[_0x32016b(0x166)](_0x51404c,0x0,'active-profile.txt');let _0x3c459d=_0x24c71c['join']('\x0a');!_0x3c459d['endsWith']('\x0a')&&(_0x3c459d+='\x0a');try{await writeFile(_0x5d7d3b,_0x3c459d,'utf-8');}catch{return![];}return!![];}export async function update(){const _0x3bb28b=_0x7da3,_0x11cb2a={'qxjUD':function(_0x5f4ad5){return _0x5f4ad5();},'rtLPj':'Failed\x20to\x20check\x20for\x20updates.\x20Please\x20check\x20your\x20network\x20connection.','MdCPA':_0x3bb28b(0x160),'cOUpF':function(_0x27c3c7,_0x49391c){return _0x27c3c7<_0x49391c;},'jPJhh':'\x0aClaude\x20marketplace\x20updated\x20(trailhead).','haSDa':'✓\x20Migrated\x20active\x20profile\x20file'},_0x7f9025=_0x11cb2a[_0x3bb28b(0x16a)](getCurrentVersion);console[_0x3bb28b(0x162)]('\x0aCurrent\x20version:\x20'+_0x7f9025),console['log']('Checking\x20for\x20updates...');const _0x2fe9c0=_0x11cb2a[_0x3bb28b(0x16a)](getLatestVersion);if(!_0x2fe9c0)throw new Error(_0x11cb2a['rtLPj']);console['log'](_0x3bb28b(0x17a)+_0x2fe9c0);const _0x325729=compareVersions(_0x7f9025,_0x2fe9c0);let _0x248a8d=_0x7f9025;if(_0x325729===0x0)console[_0x3bb28b(0x162)](_0x11cb2a[_0x3bb28b(0x16f)]);else{if(_0x11cb2a[_0x3bb28b(0x157)](_0x325729,0x0))console[_0x3bb28b(0x162)](_0x3bb28b(0x155)+_0x7f9025+_0x3bb28b(0x154)+_0x2fe9c0+').');else{const _0x57546f=await runInstall();if(_0x57546f)console['log'](_0x3bb28b(0x164)+_0x2fe9c0),_0x248a8d=_0x2fe9c0;else throw new Error(_0x3bb28b(0x150)+PACKAGE_NAME+'@latest');}}await reinstallSkills(_0x248a8d);const _0x214daa=await _0x11cb2a['qxjUD'](updateClaudeMarketplace);_0x214daa&&console[_0x3bb28b(0x162)](_0x11cb2a[_0x3bb28b(0x15b)]);const _0x12c925=await updateClaudePlugin();_0x12c925&&console['log'](_0x3bb28b(0x18d));const _0x193062=await updateClaudePlugin(_0x3bb28b(0x17c));_0x193062&&console['log']((_0x12c925?'':'\x0a')+_0x3bb28b(0x173));const _0x4974bf=await _0x11cb2a['qxjUD'](migrateActiveProfileFile);_0x4974bf&&console[_0x3bb28b(0x162)](_0x11cb2a[_0x3bb28b(0x18f)]);const _0x45cdd2=await ensureActiveProfileGitignored();console['log'](_0x3bb28b(0x181));}
1
+ (function(_0x25da16,_0x3c4620){const _0xa3592=_0x3d1c,_0x3adacf=_0x25da16();while(!![]){try{const _0x10584f=-parseInt(_0xa3592(0x155))/0x1*(-parseInt(_0xa3592(0x176))/0x2)+parseInt(_0xa3592(0x181))/0x3+-parseInt(_0xa3592(0x184))/0x4*(parseInt(_0xa3592(0x15f))/0x5)+parseInt(_0xa3592(0x169))/0x6+parseInt(_0xa3592(0x14e))/0x7*(-parseInt(_0xa3592(0x16e))/0x8)+-parseInt(_0xa3592(0x144))/0x9*(parseInt(_0xa3592(0x18a))/0xa)+parseInt(_0xa3592(0x145))/0xb*(parseInt(_0xa3592(0x160))/0xc);if(_0x10584f===_0x3c4620)break;else _0x3adacf['push'](_0x3adacf['shift']());}catch(_0x550ec2){_0x3adacf['push'](_0x3adacf['shift']());}}}(_0x3eb1,0xd1aca));import{spawn}from'child_process';import{existsSync}from'fs';import{readFile,writeFile}from'fs/promises';import{installSkill,removeSkill,RANGER_MANAGED_SKILLS,DEPRECATED_SKILLS}from'./utils/skills.js';import{PACKAGE_NAME,getCurrentVersion,getLatestVersion,compareVersions}from'./utils/version.js';import{getSkillsDir}from'./utils/claudeConfig.js';import{getOpencodeSkillsDir}from'./utils/opencodeConfig.js';import{join}from'path';import{migrateActiveProfileFile}from'./utils/activeProfile.js';import{getRangerDir}from'./utils/rangerRoot.js';import{isMarketplaceAdded,isPluginInstalled}from'./utils/claudePlugin.js';async function runInstall(){const _0x3be568=_0x3d1c,_0x5a7f9b={'zDWSG':function(_0x5e4bb3,_0x68024b){return _0x5e4bb3===_0x68024b;},'mjBww':'install','siGgJ':'inherit','gcqHR':'win32','zpcjI':'close','PhPCa':_0x3be568(0x14a)};return new Promise(_0x140d94=>{const _0x31f27c=_0x3be568,_0x282fa7={'wzjxb':function(_0x35e209,_0x554cae){return _0x35e209(_0x554cae);},'PVcul':function(_0x198b2b,_0x35636e){return _0x5a7f9b['zDWSG'](_0x198b2b,_0x35636e);}};console[_0x31f27c(0x148)]('\x0aInstalling\x20'+PACKAGE_NAME+'@latest...\x0a');const _0x1f40fd=spawn(_0x31f27c(0x15d),[_0x5a7f9b[_0x31f27c(0x149)],'-g',PACKAGE_NAME+'@latest'],{'stdio':_0x5a7f9b['siGgJ'],'shell':_0x5a7f9b[_0x31f27c(0x166)](process[_0x31f27c(0x16f)],_0x5a7f9b[_0x31f27c(0x173)])});_0x1f40fd['on'](_0x5a7f9b[_0x31f27c(0x165)],_0x2ffb68=>{_0x282fa7['wzjxb'](_0x140d94,_0x282fa7['PVcul'](_0x2ffb68,0x0));}),_0x1f40fd['on'](_0x5a7f9b[_0x31f27c(0x146)],()=>{const _0x6505e1=_0x31f27c;_0x282fa7[_0x6505e1(0x16a)](_0x140d94,![]);});});}async function updateClaudeMarketplace(){const _0x27f74f=_0x3d1c,_0x487ed2={'XOPWg':function(_0x3ed69a,_0x252ae6){return _0x3ed69a===_0x252ae6;},'eWUZN':function(_0x826bc5,_0x3d543c,_0x3d6126,_0xfb75ca){return _0x826bc5(_0x3d543c,_0x3d6126,_0xfb75ca);},'jMMuc':'claude','zzfdH':_0x27f74f(0x168),'SBOAz':'pipe','xTTAC':'close'};return new Promise(_0x5769b5=>{const _0x5359c3=_0x27f74f,_0xc70a57=_0x487ed2[_0x5359c3(0x154)](spawn,_0x487ed2[_0x5359c3(0x15a)],[_0x5359c3(0x147),_0x5359c3(0x179),'update',_0x487ed2[_0x5359c3(0x152)]],{'stdio':_0x487ed2[_0x5359c3(0x18b)],'shell':process[_0x5359c3(0x16f)]==='win32'});_0xc70a57['on'](_0x487ed2['xTTAC'],_0x1e4ce5=>{_0x5769b5(_0x487ed2['XOPWg'](_0x1e4ce5,0x0));}),_0xc70a57['on']('error',()=>{_0x5769b5(![]);});});}function _0x3eb1(){const _0x119877=['\x20ranger-managed\x20skill(s)...','bRvXv','PMENe','jMMuc','RwgCv','CLEdL','npm','Pfjjk','323165jMTJeB','53436YOSfZi','update','Claude\x20plugin\x20updated\x20(project\x20scope).','endsWith','yNRql','zpcjI','zDWSG','Efyqv','trailhead','4163250BQnrYh','wzjxb','HCjSv','utf-8','notYc','16CUOurj','platform','GkiCR','iOpwA','findIndex','gcqHR','zatJa','mCnXX','804746rTBWCC','--scope','vJYRB','marketplace','fHULq',')\x20is\x20newer\x20than\x20the\x20published\x20version\x20(','user','Oydqn','gonqE','GqHzB','push','2009163WGqlKn','close','\x20skill\x20','32oZNJnA','pipe','claude','egVzN','\x0aReinstalling\x20','\x0aYour\x20version\x20(','80xVVnTn','SBOAz','length','KoGzG','active-profile.txt','.gitignore','1907397LyWeEE','4499slYtnZ','PhPCa','plugin','log','mjBww','error','split','wZXlb','NDwZH','1805622MARIDX','slQwd','\x0aClaude\x20marketplace\x20updated\x20(trailhead).','\x20\x20Failed\x20to\x20reinstall\x20','zzfdH','mEutX','eWUZN','1amJokG','trim'];_0x3eb1=function(){return _0x119877;};return _0x3eb1();}async function updateClaudePlugin(_0x204192){const _0x462612=_0x3d1c,_0x522792={'gonqE':_0x462612(0x147),'ZoCfe':_0x462612(0x161),'slQwd':'ranger@trailhead','zatJa':_0x462612(0x177),'eLVPX':_0x462612(0x185),'bhUzL':_0x462612(0x182),'bRvXv':'error'};return new Promise(_0x5a15f0=>{const _0x243bcd=_0x462612,_0x32e8a6={'egVzN':function(_0x46427f,_0x178e70){return _0x46427f(_0x178e70);}},_0x33bdd9=[_0x522792[_0x243bcd(0x17e)],_0x522792['ZoCfe'],_0x522792[_0x243bcd(0x14f)]];_0x204192&&_0x33bdd9['push'](_0x522792[_0x243bcd(0x174)],_0x204192);const _0x338b63=spawn(_0x243bcd(0x186),_0x33bdd9,{'stdio':_0x522792['eLVPX'],'shell':process[_0x243bcd(0x16f)]==='win32'});_0x338b63['on'](_0x522792['bhUzL'],_0x1a57e8=>{const _0x52a062=_0x243bcd;_0x32e8a6[_0x52a062(0x187)](_0x5a15f0,_0x1a57e8===0x0);}),_0x338b63['on'](_0x522792[_0x243bcd(0x158)],()=>{_0x5a15f0(![]);});});}function isSkillInstalled(_0x228d2f,_0x99aeb7,_0xe68f46){const _0x1a5847=_0x3d1c,_0x28c04e={'bHeAS':function(_0x14f6b3,_0x82dae8){return _0x14f6b3===_0x82dae8;},'Pfjjk':'opencode'},_0x2aa3b6=_0x28c04e['bHeAS'](_0xe68f46,_0x28c04e[_0x1a5847(0x15e)])?getOpencodeSkillsDir(_0x99aeb7):getSkillsDir(_0x99aeb7),_0x42fb07=join(_0x2aa3b6,_0x228d2f);return existsSync(_0x42fb07);}function _0x3d1c(_0x170eaf,_0x5eda9d){_0x170eaf=_0x170eaf-0x141;const _0x3eb172=_0x3eb1();let _0x3d1ca8=_0x3eb172[_0x170eaf];return _0x3d1ca8;}async function reinstallSkills(_0x723bda){const _0x17d435=_0x3d1c,_0x49c60a={'Efyqv':'project','mEutX':function(_0x2755ec,_0x3e718d,_0x41b4db,_0x35d511){return _0x2755ec(_0x3e718d,_0x41b4db,_0x35d511);},'wZXlb':_0x17d435(0x186),'fHULq':'opencode','awdVf':function(_0x3c4a4a,_0x37db59,_0x11aa3c){return _0x3c4a4a(_0x37db59,_0x11aa3c);},'iOpwA':function(_0x142bc6,_0x2ffb01){return _0x142bc6===_0x2ffb01;}},_0x7746e7=[_0x49c60a[_0x17d435(0x167)],_0x17d435(0x17c)],_0x24509d=[];for(const _0x54730a of _0x7746e7){for(const _0x361fce of RANGER_MANAGED_SKILLS){_0x49c60a[_0x17d435(0x153)](isSkillInstalled,_0x361fce,_0x54730a,_0x49c60a[_0x17d435(0x14c)])&&_0x24509d['push']({'skillName':_0x361fce,'level':_0x54730a,'platform':_0x17d435(0x186)}),isSkillInstalled(_0x361fce,_0x54730a,_0x49c60a[_0x17d435(0x17a)])&&_0x24509d[_0x17d435(0x180)]({'skillName':_0x361fce,'level':_0x54730a,'platform':_0x49c60a[_0x17d435(0x17a)]});}}for(const _0x432454 of _0x7746e7){for(const _0x36fdf5 of DEPRECATED_SKILLS){await _0x49c60a['awdVf'](removeSkill,_0x36fdf5,_0x432454);}}if(_0x49c60a[_0x17d435(0x171)](_0x24509d[_0x17d435(0x18c)],0x0)){console['log']('\x0aNo\x20ranger-managed\x20skills\x20found\x20to\x20reinstall.');return;}console[_0x17d435(0x148)](_0x17d435(0x188)+_0x24509d['length']+_0x17d435(0x157));for(const {skillName:_0x3c2ca1,level:_0x4a3c9b,platform:_0x419dcd}of _0x24509d){try{await _0x49c60a['awdVf'](installSkill,_0x3c2ca1,{'level':_0x4a3c9b,'cliVersion':_0x723bda,'platform':_0x419dcd});}catch(_0x2f99ca){console['warn'](_0x17d435(0x151)+_0x419dcd+'\x20'+_0x4a3c9b+_0x17d435(0x183)+_0x3c2ca1+':',_0x2f99ca);}}}async function ensureActiveProfileGitignored(){const _0x54e845=_0x3d1c,_0x5046dc={'KoGzG':function(_0x5c17ab,_0x5a77c1,_0x2834e7){return _0x5c17ab(_0x5a77c1,_0x2834e7);},'qYntG':function(_0x269c7f){return _0x269c7f();},'yNRql':_0x54e845(0x143),'bCUuj':function(_0x5e30e3,_0x307ee1){return _0x5e30e3(_0x307ee1);},'mCnXX':function(_0x4de25e,_0x2dccef,_0x4af53c){return _0x4de25e(_0x2dccef,_0x4af53c);},'HCjSv':_0x54e845(0x16c),'mQcdh':function(_0x167ae1,_0x42f705){return _0x167ae1===_0x42f705;},'Oydqn':function(_0x2bb2e1,_0x41c50c,_0x55e47c,_0x15e5a9){return _0x2bb2e1(_0x41c50c,_0x55e47c,_0x15e5a9);}},_0x544f4b=_0x5046dc[_0x54e845(0x141)](join,_0x5046dc['qYntG'](getRangerDir),_0x5046dc[_0x54e845(0x164)]);if(!_0x5046dc['bCUuj'](existsSync,_0x544f4b))return![];let _0x548d51='';try{_0x548d51=await _0x5046dc[_0x54e845(0x175)](readFile,_0x544f4b,_0x5046dc['HCjSv']);}catch{return![];}const _0x35514d=_0x548d51[_0x54e845(0x14b)](/\r?\n/);if(_0x35514d['some'](_0x874025=>_0x874025[_0x54e845(0x156)]()==='active-profile.txt'))return![];let _0x5a0e7c=_0x35514d[_0x54e845(0x172)](_0x44ade8=>_0x44ade8['trim']()==='active-feature.txt');_0x5046dc['mQcdh'](_0x5a0e7c,-0x1)&&(_0x5a0e7c=_0x35514d[_0x54e845(0x18c)]);_0x35514d['splice'](_0x5a0e7c,0x0,_0x54e845(0x142));let _0x3d4002=_0x35514d['join']('\x0a');!_0x3d4002[_0x54e845(0x163)]('\x0a')&&(_0x3d4002+='\x0a');try{await _0x5046dc[_0x54e845(0x17d)](writeFile,_0x544f4b,_0x3d4002,_0x5046dc[_0x54e845(0x16b)]);}catch{return![];}return!![];}export async function update(){const _0x5256a3=_0x3d1c,_0x3d3128={'PMENe':'Checking\x20for\x20updates...','NDwZH':function(_0xa934b7){return _0xa934b7();},'vJYRB':'Failed\x20to\x20check\x20for\x20updates.\x20Please\x20check\x20your\x20network\x20connection.','tEISU':function(_0x74eec,_0x132b82,_0x1beb6b){return _0x74eec(_0x132b82,_0x1beb6b);},'aUxOF':function(_0x3d2f5f,_0x3ec48c){return _0x3d2f5f===_0x3ec48c;},'GkiCR':'\x0aYou\x20are\x20already\x20on\x20the\x20latest\x20version.','UDrnY':function(_0x5c4344,_0x3d51b7){return _0x5c4344<_0x3d51b7;},'RwgCv':'ranger@trailhead','notYc':'\x0aClaude\x20plugin\x20updated\x20(user\x20scope).','GqHzB':function(_0x24ad60,_0x5b0f6b){return _0x24ad60(_0x5b0f6b);},'qKXGN':'project','UVzQc':'✓\x20Migrated\x20active\x20profile\x20file','CLEdL':'\x0a✅\x20Update\x20complete!'},_0x2cf99b=getCurrentVersion();console['log']('\x0aCurrent\x20version:\x20'+_0x2cf99b),console['log'](_0x3d3128[_0x5256a3(0x159)]);const _0x2c3f4d=_0x3d3128[_0x5256a3(0x14d)](getLatestVersion);if(!_0x2c3f4d)throw new Error(_0x3d3128[_0x5256a3(0x178)]);console['log']('Latest\x20version:\x20\x20'+_0x2c3f4d);const _0x52776e=_0x3d3128['tEISU'](compareVersions,_0x2cf99b,_0x2c3f4d);let _0x3bca92=_0x2cf99b;if(_0x3d3128['aUxOF'](_0x52776e,0x0))console[_0x5256a3(0x148)](_0x3d3128[_0x5256a3(0x170)]);else{if(_0x3d3128['UDrnY'](_0x52776e,0x0))console['log'](_0x5256a3(0x189)+_0x2cf99b+_0x5256a3(0x17b)+_0x2c3f4d+').');else{const _0x360938=await _0x3d3128['NDwZH'](runInstall);if(_0x360938)console[_0x5256a3(0x148)]('\x0aSuccessfully\x20updated\x20to\x20version\x20'+_0x2c3f4d),_0x3bca92=_0x2c3f4d;else throw new Error('Update\x20failed.\x20You\x20may\x20need\x20to\x20run\x20with\x20sudo:\x20sudo\x20npm\x20install\x20-g\x20'+PACKAGE_NAME+'@latest');}}await reinstallSkills(_0x3bca92);const _0x1d8355=await isMarketplaceAdded(_0x5256a3(0x168)),_0x57d152=await isPluginInstalled(_0x3d3128[_0x5256a3(0x15b)]);if(_0x1d8355){const _0x5afb29=await updateClaudeMarketplace();_0x5afb29&&console[_0x5256a3(0x148)](_0x5256a3(0x150));}if(_0x57d152){const _0x24c145=await updateClaudePlugin();_0x24c145&&console['log'](_0x3d3128[_0x5256a3(0x16d)]);const _0x4cee64=await _0x3d3128[_0x5256a3(0x17f)](updateClaudePlugin,_0x3d3128['qKXGN']);_0x4cee64&&console['log']((_0x24c145?'':'\x0a')+_0x5256a3(0x162));}const _0x2b80da=await migrateActiveProfileFile();_0x2b80da&&console['log'](_0x3d3128['UVzQc']);const _0x3f7bc8=await ensureActiveProfileGitignored();console[_0x5256a3(0x148)](_0x3d3128[_0x5256a3(0x15c)]);}
@@ -1 +1 @@
1
- (function(_0x354ea0,_0x4fb433){const _0xebce74=_0x132d,_0x552faa=_0x354ea0();while(!![]){try{const _0x5e91e8=-parseInt(_0xebce74(0x1b8))/0x1*(-parseInt(_0xebce74(0x1a0))/0x2)+-parseInt(_0xebce74(0x1bb))/0x3*(parseInt(_0xebce74(0x1bd))/0x4)+-parseInt(_0xebce74(0x1b3))/0x5*(-parseInt(_0xebce74(0x1ac))/0x6)+-parseInt(_0xebce74(0x1ab))/0x7*(-parseInt(_0xebce74(0x1b7))/0x8)+-parseInt(_0xebce74(0x19a))/0x9+-parseInt(_0xebce74(0x1bc))/0xa+parseInt(_0xebce74(0x198))/0xb;if(_0x5e91e8===_0x4fb433)break;else _0x552faa['push'](_0x552faa['shift']());}catch(_0x24965f){_0x552faa['push'](_0x552faa['shift']());}}}(_0x178c,0x78130));import{writeFile,readFile,unlink}from'fs/promises';function _0x178c(){const _0x39b285=['trackPhaseEnd','918104XbqoEs','1cfAELI','\x20\x20\x20A\x20browser\x20will\x20open\x20with\x20your\x20existing\x20session\x20(if\x20any).','trackPhaseStart','191379rNgTWG','6862890wSuTWy','28BpEmQq','\x20\x20\x20Update\x20your\x20authentication\x20as\x20needed.','settings.json','\x0a✅\x20Profile\x20\x22','about:blank','JOGYd','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','yRlda','VkJUR','pUEZE','2963213ZQpdst','OJZLO','6961797xAczMr','catch','✓\x20Auth\x20state\x20saved\x20to:\x20','browser_auth','FsAMf','contextOptions','1880722kbZIWy','.enc','isTTY','✓\x20Encrypted\x20auth\x20saved\x20to:\x20','Qzhzz','browser','KLZvV','log','goto','QpVTl','baseUrl','42pqDNiQ','39990gdLNmZ','\x22\x20not\x20found.\x20Run\x20first:\x20ranger\x20profile\x20add\x20','wHfGl','utf-8','mMIlM','parse','Config\x20not\x20found\x20at\x20','375pCQLJT','Profile\x20\x22','auth.json'];_0x178c=function(){return _0x39b285;};return _0x178c();}import{join}from'path';import{existsSync}from'fs';import{chromium}from'playwright';import{encrypt}from'./utils/crypto.js';import{getToken}from'./utils/keychain.js';import{getEnvDir,isEnvCi}from'./utils/settings.js';import{addProfileSetupBanner}from'./utils/profileSetupBanner.js';function _0x132d(_0xb2fa35,_0x5b63a2){_0xb2fa35=_0xb2fa35-0x198;const _0x178c87=_0x178c();let _0x132d3d=_0x178c87[_0xb2fa35];return _0x132d3d;}export async function updateEnv(_0x25f8c2,_0x5a5f46){const _0x3a9f7e=_0x132d,_0x2240bc={'pUEZE':function(_0xe1ba9a,_0x56952a){return _0xe1ba9a(_0x56952a);},'mMIlM':_0x3a9f7e(0x1bf),'OdYFD':_0x3a9f7e(0x1b5),'KedcG':function(_0x1b32ae,_0x59c9a9){return _0x1b32ae+_0x59c9a9;},'lTTiC':function(_0x2cb6e0,_0x1eb9a8){return _0x2cb6e0(_0x1eb9a8);},'KLZvV':function(_0x2fbb99,_0x2d5c96,_0x4153e3){return _0x2fbb99(_0x2d5c96,_0x4153e3);},'VkJUR':'utf-8','Qzhzz':function(_0x517b75,_0x534e1e){return _0x517b75===_0x534e1e;},'McxYc':'\x0a📋\x20Authentication\x20Update','etHpy':_0x3a9f7e(0x1b9),'QpVTl':_0x3a9f7e(0x1be),'JOGYd':'\x20\x20\x20When\x20you\x20are\x20done,\x20close\x20the\x20browser.\x0a','yRlda':function(_0x46b3e0,_0x46a0d3){return _0x46b3e0(_0x46a0d3);},'NpRbR':function(_0x3f8c58,_0x1784b3){return _0x3f8c58||_0x1784b3;},'GBrqM':function(_0x14297b,_0x1954ef,_0x223e5f){return _0x14297b(_0x1954ef,_0x223e5f);},'wHfGl':'\x20\x20You\x20can\x20safely\x20commit\x20this\x20file\x20to\x20git.','IChiE':'\x20\x20Run\x20ranger\x20setup\x20in\x20CI\x20to\x20decrypt\x20at\x20runtime.','FsAMf':'browser_auth','OJZLO':'config_write'},_0x17e26d=_0x2240bc[_0x3a9f7e(0x1c6)](getEnvDir,_0x25f8c2),_0x584238=join(_0x17e26d,_0x2240bc[_0x3a9f7e(0x1b0)]),_0x179b97=join(_0x17e26d,_0x2240bc['OdYFD']),_0x43d253=_0x2240bc['KedcG'](_0x179b97,_0x3a9f7e(0x1a1)),_0x5a3379=process['stdin'][_0x3a9f7e(0x1a2)]&&process['stdout'][_0x3a9f7e(0x1a2)];if(!_0x5a3379)throw new Error(_0x3a9f7e(0x1c3));if(!_0x2240bc[_0x3a9f7e(0x1c6)](existsSync,_0x17e26d))throw new Error(_0x3a9f7e(0x1b4)+_0x25f8c2+_0x3a9f7e(0x1ad)+_0x25f8c2);if(!_0x2240bc['lTTiC'](existsSync,_0x584238))throw new Error(_0x3a9f7e(0x1b2)+_0x584238+'.\x20Run\x20first:\x20ranger\x20profile\x20add\x20'+_0x25f8c2);const _0x4c7eee=await _0x2240bc[_0x3a9f7e(0x1a6)](readFile,_0x584238,_0x2240bc[_0x3a9f7e(0x1c5)]),_0x864c2e=JSON[_0x3a9f7e(0x1b1)](_0x4c7eee),_0x569283=_0x2240bc[_0x3a9f7e(0x1a4)](typeof _0x864c2e[_0x3a9f7e(0x1aa)],'string')?_0x864c2e[_0x3a9f7e(0x1aa)]:undefined,_0xc7b6d2=_0x2240bc['pUEZE'](existsSync,_0x179b97),_0x3f0911=_0x2240bc[_0x3a9f7e(0x1c6)](isEnvCi,_0x25f8c2);_0x5a5f46?.['trackPhaseStart'](_0x3a9f7e(0x19d)),console[_0x3a9f7e(0x1a7)](_0x2240bc['McxYc']),console['log'](_0x2240bc['etHpy']),console[_0x3a9f7e(0x1a7)](_0x2240bc[_0x3a9f7e(0x1a9)]),console['log'](_0x2240bc[_0x3a9f7e(0x1c2)]);const _0x56d8cb=await chromium['launch']({'headless':![]}),_0x3e030d=_0xc7b6d2?{'storageState':_0x179b97}:{};let _0x3421c1=null;try{_0x3421c1=await _0x56d8cb['newContext'](_0x3e030d),await _0x2240bc[_0x3a9f7e(0x1c4)](addProfileSetupBanner,_0x3421c1);const _0xe45a15=await _0x3421c1['newPage']();await _0xe45a15[_0x3a9f7e(0x1a8)](_0x2240bc['NpRbR'](_0x569283,_0x3a9f7e(0x1c1))),await new Promise(_0x523cc8=>{_0xe45a15['on']('close',async()=>{try{console['log']('Saving\x20authentication\x20state...'),await _0x3421c1?.['storageState']({'path':_0x179b97}),_0x523cc8();}catch{_0x523cc8();}});});}finally{_0x3421c1&&await _0x3421c1['close']()[_0x3a9f7e(0x19b)](()=>{}),await _0x56d8cb['close']()['catch'](()=>{});}if(_0x3f0911){const _0x22eded=await _0x2240bc['GBrqM'](readFile,_0x179b97,_0x3a9f7e(0x1af)),_0x568a5b=await getToken();if(!_0x568a5b)console['error']('\x20\x20Could\x20not\x20encrypt:\x20No\x20API\x20token\x20found.\x20Run:\x20ranger\x20setup\x20[token]'),console['log'](_0x3a9f7e(0x19c)+_0x179b97);else{const _0x5a39bf=encrypt(_0x22eded,_0x568a5b);await _0x2240bc[_0x3a9f7e(0x1a6)](writeFile,_0x43d253,_0x5a39bf),await unlink(_0x179b97),console[_0x3a9f7e(0x1a7)](_0x3a9f7e(0x1a3)+_0x43d253),console['log'](_0x2240bc[_0x3a9f7e(0x1ae)]),console[_0x3a9f7e(0x1a7)](_0x2240bc['IChiE']);}}else console['log'](_0x3a9f7e(0x19c)+_0x179b97);_0x5a5f46?.['trackPhaseEnd'](_0x2240bc[_0x3a9f7e(0x19e)]),_0x5a5f46?.[_0x3a9f7e(0x1ba)](_0x2240bc['OJZLO']),_0x864c2e[_0x3a9f7e(0x1a5)]=_0x864c2e[_0x3a9f7e(0x1a5)]||{},_0x864c2e['browser']['contextOptions']=_0x864c2e[_0x3a9f7e(0x1a5)][_0x3a9f7e(0x19f)]||{},_0x864c2e['browser'][_0x3a9f7e(0x19f)]['storageState']=_0x179b97,await writeFile(_0x584238,JSON['stringify'](_0x864c2e,null,0x2)),console['log']('✓\x20Updated\x20config:\x20'+_0x584238),_0x5a5f46?.[_0x3a9f7e(0x1b6)](_0x2240bc[_0x3a9f7e(0x199)]),console['log'](_0x3a9f7e(0x1c0)+_0x25f8c2+'\x22\x20authentication\x20updated');}
1
+ (function(_0x4d6e64,_0x3ebc0d){const _0x49e046=_0x56bc,_0x151612=_0x4d6e64();while(!![]){try{const _0x52ec65=-parseInt(_0x49e046(0x207))/0x1+parseInt(_0x49e046(0x1fc))/0x2*(parseInt(_0x49e046(0x20b))/0x3)+-parseInt(_0x49e046(0x201))/0x4*(-parseInt(_0x49e046(0x215))/0x5)+-parseInt(_0x49e046(0x1e6))/0x6*(-parseInt(_0x49e046(0x202))/0x7)+-parseInt(_0x49e046(0x205))/0x8*(-parseInt(_0x49e046(0x1fb))/0x9)+-parseInt(_0x49e046(0x214))/0xa*(-parseInt(_0x49e046(0x1eb))/0xb)+-parseInt(_0x49e046(0x1fa))/0xc;if(_0x52ec65===_0x3ebc0d)break;else _0x151612['push'](_0x151612['shift']());}catch(_0x5d242f){_0x151612['push'](_0x151612['shift']());}}}(_0x39f7,0x8614e));import{writeFile,readFile,unlink}from'fs/promises';import{join}from'path';import{existsSync}from'fs';import{chromium}from'playwright';function _0x39f7(){const _0x1ff184=['trackPhaseEnd','goto','string','stdin','✓\x20Updated\x20config:\x20','config_write','utf-8','Saving\x20authentication\x20state...','Config\x20not\x20found\x20at\x20','browser','ibfVn','\x0a✅\x20Profile\x20\x22','aMTow','.\x20Run\x20first:\x20ranger\x20profile\x20add\x20','23473800fGUWuu','8610381UpSEUl','871026SbWpiS','storageState','OLWbk','browser_auth','newPage','12Rtlsor','7YkzUkF','vkUSG','catch','8qGxlzc','ghPRC','52304AhNXOF','✓\x20Encrypted\x20auth\x20saved\x20to:\x20','contextOptions','\x22\x20authentication\x20updated','3mIRSuC','baseUrl','settings.json','log','\x20\x20Run\x20ranger\x20setup\x20in\x20CI\x20to\x20decrypt\x20at\x20runtime.','ydkpz','launch','isTTY','hpqBA','2800kaEOWo','1460325VDkkOH','close','trackPhaseStart','Profile\x20\x22','\x20\x20Could\x20not\x20encrypt:\x20No\x20API\x20token\x20found.\x20Run:\x20ranger\x20setup\x20[token]','\x20\x20You\x20can\x20safely\x20commit\x20this\x20file\x20to\x20git.','\x22\x20not\x20found.\x20Run\x20first:\x20ranger\x20profile\x20add\x20','594690BVgNdY','XJMUd','YukGH','\x20\x20\x20Update\x20your\x20authentication\x20as\x20needed.','✓\x20Auth\x20state\x20saved\x20to:\x20','7469PKbrOY'];_0x39f7=function(){return _0x1ff184;};return _0x39f7();}import{encrypt}from'./utils/crypto.js';import{getToken}from'./utils/keychain.js';import{getEnvDir,isEnvCi}from'./utils/settings.js';import{addProfileSetupBanner}from'./utils/profileSetupBanner.js';function _0x56bc(_0x428ed4,_0x11e1ac){_0x428ed4=_0x428ed4-0x1e5;const _0x39f75c=_0x39f7();let _0x56bc44=_0x39f75c[_0x428ed4];return _0x56bc44;}export async function updateEnv(_0x53dfd2,_0x238656){const _0x4dea39=_0x56bc,_0x4c619d={'OEWuk':function(_0x28ad11){return _0x28ad11();},'YukGH':'close','OLWbk':function(_0x31de37,_0x193767){return _0x31de37(_0x193767);},'ghPRC':function(_0x285dfe,_0x380d27,_0x31bb0f){return _0x285dfe(_0x380d27,_0x31bb0f);},'GvrUd':function(_0x2ab83b,_0x4ba7aa){return _0x2ab83b(_0x4ba7aa);},'hpqBA':function(_0x4c1f22,_0x73445){return _0x4c1f22(_0x73445);},'DKQsg':_0x4dea39(0x1f2),'eHMCr':function(_0x1238ed,_0x56810c){return _0x1238ed===_0x56810c;},'ibTmW':function(_0x46acdd,_0x26be68){return _0x46acdd(_0x26be68);},'aMTow':'\x0a📋\x20Authentication\x20Update','csrDn':'\x20\x20\x20A\x20browser\x20will\x20open\x20with\x20your\x20existing\x20session\x20(if\x20any).','vkUSG':_0x4dea39(0x1e9),'Ejynm':'\x20\x20\x20When\x20you\x20are\x20done,\x20close\x20the\x20browser.\x0a','ydkpz':'about:blank','NPaBm':function(_0x23bb63){return _0x23bb63();},'XJMUd':_0x4dea39(0x20f),'ibfVn':_0x4dea39(0x1f1)},_0x39867d=_0x4c619d[_0x4dea39(0x1fe)](getEnvDir,_0x53dfd2),_0x219f6a=_0x4c619d[_0x4dea39(0x206)](join,_0x39867d,_0x4dea39(0x20d)),_0x163808=_0x4c619d[_0x4dea39(0x206)](join,_0x39867d,'auth.json'),_0x3e5fa0=_0x163808+'.enc',_0x263c8b=process[_0x4dea39(0x1ef)]['isTTY']&&process['stdout'][_0x4dea39(0x212)];if(!_0x263c8b)throw new Error('Non-interactive\x20mode\x20detected.\x0aThe\x20\x22ranger\x20profile\x20update\x22\x20command\x20requires\x20interactive\x20browser\x20authentication\x20and\x20cannot\x20be\x20run\x20in\x20non-TTY\x20environments\x20(CI,\x20scripts,\x20Claude\x20Code).\x0aTo\x20update\x20profile\x20authentication:\x0a\x20\x201.\x20Run\x20\x22ranger\x20profile\x20update\x20<name>\x22\x20in\x20an\x20interactive\x20terminal\x0a\x20\x202.\x20Commit\x20the\x20updated\x20encrypted\x20auth\x20file\x20to\x20git');if(!_0x4c619d['GvrUd'](existsSync,_0x39867d))throw new Error(_0x4dea39(0x218)+_0x53dfd2+_0x4dea39(0x1e5)+_0x53dfd2);if(!_0x4c619d[_0x4dea39(0x213)](existsSync,_0x219f6a))throw new Error(_0x4dea39(0x1f4)+_0x219f6a+_0x4dea39(0x1f9)+_0x53dfd2);const _0xe9435e=await readFile(_0x219f6a,_0x4c619d['DKQsg']),_0x356eda=JSON['parse'](_0xe9435e),_0x498c83=_0x4c619d['eHMCr'](typeof _0x356eda[_0x4dea39(0x20c)],_0x4dea39(0x1ee))?_0x356eda[_0x4dea39(0x20c)]:undefined,_0x56b151=existsSync(_0x163808),_0x117297=_0x4c619d['ibTmW'](isEnvCi,_0x53dfd2);_0x238656?.[_0x4dea39(0x217)]('browser_auth'),console['log'](_0x4c619d[_0x4dea39(0x1f8)]),console[_0x4dea39(0x20e)](_0x4c619d['csrDn']),console['log'](_0x4c619d[_0x4dea39(0x203)]),console['log'](_0x4c619d['Ejynm']);const _0x4b0b82=await chromium[_0x4dea39(0x211)]({'headless':![]}),_0x343ba4=_0x56b151?{'storageState':_0x163808}:{};let _0xaac9e6=null;try{_0xaac9e6=await _0x4b0b82['newContext'](_0x343ba4),await addProfileSetupBanner(_0xaac9e6);const _0x237d74=await _0xaac9e6[_0x4dea39(0x200)]();await _0x237d74[_0x4dea39(0x1ed)](_0x498c83||_0x4c619d[_0x4dea39(0x210)]),await new Promise(_0x2243a0=>{const _0x28b266=_0x4dea39;_0x237d74['on'](_0x4c619d[_0x28b266(0x1e8)],async()=>{const _0x5f1e86=_0x28b266;try{console['log'](_0x5f1e86(0x1f3)),await _0xaac9e6?.['storageState']({'path':_0x163808}),_0x4c619d['OEWuk'](_0x2243a0);}catch{_0x2243a0();}});});}finally{_0xaac9e6&&await _0xaac9e6[_0x4dea39(0x216)]()['catch'](()=>{}),await _0x4b0b82['close']()[_0x4dea39(0x204)](()=>{});}if(_0x117297){const _0x69c4dc=await readFile(_0x163808,_0x4dea39(0x1f2)),_0x16d14d=await _0x4c619d['NPaBm'](getToken);if(!_0x16d14d)console['error'](_0x4dea39(0x219)),console['log'](_0x4dea39(0x1ea)+_0x163808);else{const _0x340204=encrypt(_0x69c4dc,_0x16d14d);await _0x4c619d['ghPRC'](writeFile,_0x3e5fa0,_0x340204),await _0x4c619d[_0x4dea39(0x1fe)](unlink,_0x163808),console['log'](_0x4dea39(0x208)+_0x3e5fa0),console[_0x4dea39(0x20e)](_0x4dea39(0x21a)),console['log'](_0x4c619d[_0x4dea39(0x1e7)]);}}else console['log']('✓\x20Auth\x20state\x20saved\x20to:\x20'+_0x163808);_0x238656?.[_0x4dea39(0x1ec)](_0x4dea39(0x1ff)),_0x238656?.[_0x4dea39(0x217)](_0x4c619d[_0x4dea39(0x1f6)]),_0x356eda['browser']=_0x356eda['browser']||{},_0x356eda['browser'][_0x4dea39(0x209)]=_0x356eda['browser']['contextOptions']||{},_0x356eda[_0x4dea39(0x1f5)]['contextOptions'][_0x4dea39(0x1fd)]=_0x163808,await _0x4c619d[_0x4dea39(0x206)](writeFile,_0x219f6a,JSON['stringify'](_0x356eda,null,0x2)),console['log'](_0x4dea39(0x1f0)+_0x219f6a),_0x238656?.['trackPhaseEnd'](_0x4c619d['ibfVn']),console['log'](_0x4dea39(0x1f7)+_0x53dfd2+_0x4dea39(0x20a));}
@@ -1 +1 @@
1
- (function(_0x5199ec,_0x46f536){const _0x5aaa20=_0x3bcf,_0x4028d9=_0x5199ec();while(!![]){try{const _0x5962f1=parseInt(_0x5aaa20(0x151))/0x1+-parseInt(_0x5aaa20(0x157))/0x2*(-parseInt(_0x5aaa20(0x154))/0x3)+-parseInt(_0x5aaa20(0x14f))/0x4*(parseInt(_0x5aaa20(0x158))/0x5)+parseInt(_0x5aaa20(0x15a))/0x6+parseInt(_0x5aaa20(0x150))/0x7*(parseInt(_0x5aaa20(0x15b))/0x8)+parseInt(_0x5aaa20(0x159))/0x9+-parseInt(_0x5aaa20(0x14e))/0xa;if(_0x5962f1===_0x46f536)break;else _0x4028d9['push'](_0x4028d9['shift']());}catch(_0x57005b){_0x4028d9['push'](_0x4028d9['shift']());}}}(_0x564f,0x5cb7b));function _0x564f(){const _0x2ac6f4=['3156dejlIp','5kuScBE','3681936DGGRCx','1460868fYizif','8HjvskC','13748930OTFGaQ','308332veJFsM','5132057HgfuaN','229828vRvmbq','vSHwO','Profile\x20\x22','411mTIQBl','.\x20Run\x20first:\x20ranger\x20profile\x20add\x20','Config\x20not\x20found\x20at\x20'];_0x564f=function(){return _0x2ac6f4;};return _0x564f();}import{join}from'path';function _0x3bcf(_0x345da7,_0xd5d4d3){_0x345da7=_0x345da7-0x14e;const _0x564f6c=_0x564f();let _0x3bcf4f=_0x564f6c[_0x345da7];return _0x3bcf4f;}import{existsSync}from'fs';import{getEnvDir}from'./utils/settings.js';import{writeActiveProfileName}from'./utils/activeProfile.js';export async function useEnv(_0x518720){const _0x555614=_0x3bcf,_0x11006d={'vSHwO':function(_0x5891b1,_0x380f67){return _0x5891b1(_0x380f67);},'XRNln':'settings.json','kIPhH':function(_0x295e62,_0x201f6f){return _0x295e62(_0x201f6f);}},_0x4595b5=_0x11006d[_0x555614(0x152)](getEnvDir,_0x518720),_0x31015a=join(_0x4595b5,_0x11006d['XRNln']);if(!existsSync(_0x4595b5))throw new Error(_0x555614(0x153)+_0x518720+'\x22\x20not\x20found.\x20Run\x20first:\x20ranger\x20profile\x20add\x20'+_0x518720);if(!_0x11006d['kIPhH'](existsSync,_0x31015a))throw new Error(_0x555614(0x156)+_0x31015a+_0x555614(0x155)+_0x518720);await _0x11006d[_0x555614(0x152)](writeActiveProfileName,_0x518720),console['log']('\x0a✓\x20Now\x20using\x20profile\x20\x22'+_0x518720+'\x22');}
1
+ (function(_0x3fd128,_0x160d55){const _0x473f46=_0x253d,_0x514e11=_0x3fd128();while(!![]){try{const _0x37f317=-parseInt(_0x473f46(0x1ad))/0x1+parseInt(_0x473f46(0x1b2))/0x2*(-parseInt(_0x473f46(0x1b7))/0x3)+parseInt(_0x473f46(0x1b3))/0x4*(parseInt(_0x473f46(0x1b0))/0x5)+parseInt(_0x473f46(0x1ab))/0x6+-parseInt(_0x473f46(0x1ae))/0x7*(-parseInt(_0x473f46(0x1b8))/0x8)+parseInt(_0x473f46(0x1ac))/0x9*(parseInt(_0x473f46(0x1b6))/0xa)+-parseInt(_0x473f46(0x1aa))/0xb*(parseInt(_0x473f46(0x1af))/0xc);if(_0x37f317===_0x160d55)break;else _0x514e11['push'](_0x514e11['shift']());}catch(_0x90903a){_0x514e11['push'](_0x514e11['shift']());}}}(_0x4b1f,0xe0d08));import{join}from'path';function _0x4b1f(){const _0x1f40c7=['15940gcnyJm','\x22\x20not\x20found.\x20Run\x20first:\x20ranger\x20profile\x20add\x20','1541534PjLdkh','1280hRqbCQ','Fbzys','\x0a✓\x20Now\x20using\x20profile\x20\x22','6730KdYhTX','6RKxhPT','666728XNDsYD','Profile\x20\x22','1749Cqiztz','10084632AueoiK','19179sjgiil','969514xtkQtY','14pDZaUO','65652recaNZ'];_0x4b1f=function(){return _0x1f40c7;};return _0x4b1f();}import{existsSync}from'fs';import{getEnvDir}from'./utils/settings.js';import{writeActiveProfileName}from'./utils/activeProfile.js';function _0x253d(_0x5c7294,_0x4ed1fd){_0x5c7294=_0x5c7294-0x1a9;const _0x4b1f5b=_0x4b1f();let _0x253da9=_0x4b1f5b[_0x5c7294];return _0x253da9;}export async function useEnv(_0x168042){const _0xb6c75a=_0x253d,_0x2da1f8={'Fbzys':function(_0x8df258,_0x674271){return _0x8df258(_0x674271);},'YZaBn':function(_0x4b95e8,_0x426d5b,_0x131c87){return _0x4b95e8(_0x426d5b,_0x131c87);},'eWIYF':function(_0x463f66,_0x56c275){return _0x463f66(_0x56c275);}},_0x42356a=_0x2da1f8['Fbzys'](getEnvDir,_0x168042),_0x1b4e60=_0x2da1f8['YZaBn'](join,_0x42356a,'settings.json');if(!_0x2da1f8['eWIYF'](existsSync,_0x42356a))throw new Error(_0xb6c75a(0x1a9)+_0x168042+_0xb6c75a(0x1b1)+_0x168042);if(!_0x2da1f8[_0xb6c75a(0x1b4)](existsSync,_0x1b4e60))throw new Error('Config\x20not\x20found\x20at\x20'+_0x1b4e60+'.\x20Run\x20first:\x20ranger\x20profile\x20add\x20'+_0x168042);await writeActiveProfileName(_0x168042),console['log'](_0xb6c75a(0x1b5)+_0x168042+'\x22');}
@@ -1 +1 @@
1
- function _0x12f2(){const _0x2fb943=['tXMfI','fWUkz','osvsc','82884svIHqk','bQEyk','bbDqD','ryaXy','207726vyJOzP','1503336waVYEv','63eYHKln','NPoLf','77054YnPiiD','10FVaEUt','hpKbN','70AvyVMr','active-profile.txt','2379861DtQNmT','720459GmqOFt','trim','utf-8','eEmsf','IscSj','153268nXMylS'];_0x12f2=function(){return _0x2fb943;};return _0x12f2();}const _0x499817=_0x3d2b;function _0x3d2b(_0x2b28c1,_0x3ecf6e){_0x2b28c1=_0x2b28c1-0xf1;const _0x12f279=_0x12f2();let _0x3d2bc3=_0x12f279[_0x2b28c1];return _0x3d2bc3;}(function(_0x464915,_0x65d35f){const _0x5497f6=_0x3d2b,_0x306db9=_0x464915();while(!![]){try{const _0x27e6cf=-parseInt(_0x5497f6(0x103))/0x1+parseInt(_0x5497f6(0xf8))/0x2+-parseInt(_0x5497f6(0xfe))/0x3+-parseInt(_0x5497f6(0x107))/0x4*(-parseInt(_0x5497f6(0xfb))/0x5)+parseInt(_0x5497f6(0xf4))/0x6*(parseInt(_0x5497f6(0xf6))/0x7)+parseInt(_0x5497f6(0xf5))/0x8+-parseInt(_0x5497f6(0xfd))/0x9*(parseInt(_0x5497f6(0xf9))/0xa);if(_0x27e6cf===_0x65d35f)break;else _0x306db9['push'](_0x306db9['shift']());}catch(_0x126da1){_0x306db9['push'](_0x306db9['shift']());}}}(_0x12f2,0x29925));import{existsSync}from'fs';import{mkdir,readFile,rename,unlink,writeFile}from'fs/promises';import{join}from'path';import{getRangerDir}from'./rangerRoot.js';const ACTIVE_PROFILE_FILE=_0x499817(0xfc),LEGACY_ACTIVE_ENV_FILE='active-env.txt';function getActiveProfilePath(){return join(getRangerDir(),ACTIVE_PROFILE_FILE);}function getLegacyActiveEnvPath(){const _0x370690=_0x499817,_0x525ff8={'GKDJq':function(_0x5bb2f1,_0x53b1e4,_0x428e9b){return _0x5bb2f1(_0x53b1e4,_0x428e9b);},'bbDqD':function(_0x31306b){return _0x31306b();}};return _0x525ff8['GKDJq'](join,_0x525ff8[_0x370690(0xf2)](getRangerDir),LEGACY_ACTIVE_ENV_FILE);}async function migrateLegacyActiveEnv(){const _0x5aff95=_0x499817,_0x1564af={'NPoLf':function(_0x511938){return _0x511938();},'eEmsf':function(_0x4becd8,_0x274d38){return _0x4becd8(_0x274d38);},'oOxEU':function(_0x192fdd,_0x19f67a,_0x2a3072){return _0x192fdd(_0x19f67a,_0x2a3072);},'cEMDM':_0x5aff95(0x100),'RGJTt':function(_0x49611a,_0x4a802c,_0x4314fd,_0x2fb685){return _0x49611a(_0x4a802c,_0x4314fd,_0x2fb685);}},_0x466d7d=_0x1564af[_0x5aff95(0xf7)](getLegacyActiveEnvPath);if(!_0x1564af[_0x5aff95(0x101)](existsSync,_0x466d7d))return null;let _0x27ede6=null;try{_0x27ede6=(await _0x1564af['oOxEU'](readFile,_0x466d7d,_0x1564af['cEMDM']))['trim']()||null;}catch{_0x27ede6=null;}if(!_0x27ede6)return null;const _0x1767c1=_0x1564af['NPoLf'](getActiveProfilePath);try{await rename(_0x466d7d,_0x1767c1);}catch{try{const _0x3fa428=getRangerDir();await _0x1564af['oOxEU'](mkdir,_0x3fa428,{'recursive':!![]}),await _0x1564af['RGJTt'](writeFile,_0x1767c1,_0x27ede6,'utf-8'),await unlink(_0x466d7d);}catch{}}return _0x27ede6;}export async function readActiveProfileName(){const _0x17263d=_0x499817,_0x3687ff={'tXMfI':function(_0x5ef719,_0x374cc5){return _0x5ef719(_0x374cc5);},'osvsc':_0x17263d(0x100),'mIxgI':function(_0x3b7eaf){return _0x3b7eaf();}},_0x29bb78=getActiveProfilePath();if(_0x3687ff[_0x17263d(0x104)](existsSync,_0x29bb78))try{return(await readFile(_0x29bb78,_0x3687ff[_0x17263d(0x106)]))[_0x17263d(0xff)]()||null;}catch{return null;}return await _0x3687ff['mIxgI'](migrateLegacyActiveEnv);}export async function writeActiveProfileName(_0x48cadd){const _0x45a153=_0x499817,_0x149cb9={'AWfVb':function(_0x4a06d8){return _0x4a06d8();},'bQEyk':function(_0xd683ca,_0xb0f116,_0x1d1279){return _0xd683ca(_0xb0f116,_0x1d1279);},'IscSj':function(_0x1baa4b,_0x55fefd,_0x43fb3e,_0x1f51ca){return _0x1baa4b(_0x55fefd,_0x43fb3e,_0x1f51ca);},'gZwHX':function(_0x401a54){return _0x401a54();},'hpKbN':function(_0x4be058,_0x71b90){return _0x4be058(_0x71b90);}},_0x432014=_0x149cb9['AWfVb'](getRangerDir);await _0x149cb9[_0x45a153(0xf1)](mkdir,_0x432014,{'recursive':!![]});const _0x559bdb=getActiveProfilePath();await _0x149cb9[_0x45a153(0x102)](writeFile,_0x559bdb,_0x48cadd,_0x45a153(0x100));const _0x184877=_0x149cb9['gZwHX'](getLegacyActiveEnvPath);if(existsSync(_0x184877))try{await _0x149cb9[_0x45a153(0xfa)](unlink,_0x184877);}catch{}}export async function migrateActiveProfileFile(){const _0x4914a6=_0x499817,_0x22de69={'fWUkz':function(_0x5842c9){return _0x5842c9();},'ryaXy':function(_0x477386,_0x229288){return _0x477386!==_0x229288;}},_0x359d12=await _0x22de69[_0x4914a6(0x105)](migrateLegacyActiveEnv);return _0x22de69[_0x4914a6(0xf3)](_0x359d12,null);}
1
+ function _0x11c6(_0x4e1a17,_0x318f63){_0x4e1a17=_0x4e1a17-0x1ed;const _0x27682e=_0x2768();let _0x11c684=_0x27682e[_0x4e1a17];return _0x11c684;}const _0x119df5=_0x11c6;(function(_0x293c99,_0x220a07){const _0x595535=_0x11c6,_0x3ef3a0=_0x293c99();while(!![]){try{const _0x3a7a69=-parseInt(_0x595535(0x1ee))/0x1*(parseInt(_0x595535(0x1f4))/0x2)+parseInt(_0x595535(0x202))/0x3+parseInt(_0x595535(0x1f1))/0x4+-parseInt(_0x595535(0x1ff))/0x5*(parseInt(_0x595535(0x200))/0x6)+parseInt(_0x595535(0x1fa))/0x7*(parseInt(_0x595535(0x203))/0x8)+-parseInt(_0x595535(0x1ef))/0x9+parseInt(_0x595535(0x1fe))/0xa*(parseInt(_0x595535(0x1fb))/0xb);if(_0x3a7a69===_0x220a07)break;else _0x3ef3a0['push'](_0x3ef3a0['shift']());}catch(_0x3359c7){_0x3ef3a0['push'](_0x3ef3a0['shift']());}}}(_0x2768,0x1bc80));import{existsSync}from'fs';import{mkdir,readFile,rename,unlink,writeFile}from'fs/promises';import{join}from'path';import{getRangerDir}from'./rangerRoot.js';const ACTIVE_PROFILE_FILE=_0x119df5(0x1f2),LEGACY_ACTIVE_ENV_FILE='active-env.txt';function getActiveProfilePath(){const _0x52eb14=_0x119df5,_0x2e8540={'FJgdq':function(_0x126237){return _0x126237();}};return join(_0x2e8540[_0x52eb14(0x1f7)](getRangerDir),ACTIVE_PROFILE_FILE);}function getLegacyActiveEnvPath(){return join(getRangerDir(),LEGACY_ACTIVE_ENV_FILE);}async function migrateLegacyActiveEnv(){const _0x39b8a5=_0x119df5,_0x29aa28={'zLwXi':function(_0x93cc9f){return _0x93cc9f();},'polLu':function(_0x290474,_0x4e01af){return _0x290474(_0x4e01af);},'yCksv':function(_0x15b462,_0x548bd0,_0x5ac627){return _0x15b462(_0x548bd0,_0x5ac627);},'iuNjK':function(_0x1a507e,_0x2d75ec,_0x31dd84){return _0x1a507e(_0x2d75ec,_0x31dd84);},'Bfumt':'utf-8','MWlXn':function(_0x2c963d,_0xc87fc1){return _0x2c963d(_0xc87fc1);}},_0x89732a=_0x29aa28['zLwXi'](getLegacyActiveEnvPath);if(!_0x29aa28[_0x39b8a5(0x1ed)](existsSync,_0x89732a))return null;let _0x133d66=null;try{_0x133d66=(await _0x29aa28['yCksv'](readFile,_0x89732a,'utf-8'))['trim']()||null;}catch{_0x133d66=null;}if(!_0x133d66)return null;const _0x2cf513=getActiveProfilePath();try{await _0x29aa28[_0x39b8a5(0x1f9)](rename,_0x89732a,_0x2cf513);}catch{try{const _0x56b12e=getRangerDir();await mkdir(_0x56b12e,{'recursive':!![]}),await writeFile(_0x2cf513,_0x133d66,_0x29aa28[_0x39b8a5(0x1f8)]),await _0x29aa28[_0x39b8a5(0x1fc)](unlink,_0x89732a);}catch{}}return _0x133d66;}function _0x2768(){const _0x25d971=['14COMWnb','11fPqCog','MWlXn','FERaU','2601030ZKaXMv','286030jDCQZx','18xHOJIb','SgrBF','502122nlOXxN','84960tUxWbu','polLu','43nOwwBx','797049JdfqTd','utf-8','41404uwXXxs','active-profile.txt','frqiO','3958MVhDaT','trim','gljua','FJgdq','Bfumt','iuNjK'];_0x2768=function(){return _0x25d971;};return _0x2768();}export async function readActiveProfileName(){const _0x5c4293=_0x119df5,_0x1ee377={'Sskxk':function(_0x4b20fa,_0x12e993){return _0x4b20fa(_0x12e993);},'gljua':function(_0x2ce640,_0xb7761f,_0x8ef42d){return _0x2ce640(_0xb7761f,_0x8ef42d);},'SgrBF':_0x5c4293(0x1f0)},_0x53414a=getActiveProfilePath();if(_0x1ee377['Sskxk'](existsSync,_0x53414a))try{return(await _0x1ee377[_0x5c4293(0x1f6)](readFile,_0x53414a,_0x1ee377[_0x5c4293(0x201)]))[_0x5c4293(0x1f5)]()||null;}catch{return null;}return await migrateLegacyActiveEnv();}export async function writeActiveProfileName(_0x1c3570){const _0x25b845=_0x119df5,_0x45e9fe={'FERaU':function(_0x27a564){return _0x27a564();},'Phvyk':function(_0x7de6ff,_0x4b56a3,_0x275ed6,_0x5e3320){return _0x7de6ff(_0x4b56a3,_0x275ed6,_0x5e3320);},'aHdPF':_0x25b845(0x1f0),'frqiO':function(_0x3b069c,_0x3348a2){return _0x3b069c(_0x3348a2);}},_0x385508=_0x45e9fe[_0x25b845(0x1fd)](getRangerDir);await mkdir(_0x385508,{'recursive':!![]});const _0x237683=getActiveProfilePath();await _0x45e9fe['Phvyk'](writeFile,_0x237683,_0x1c3570,_0x45e9fe['aHdPF']);const _0x142f24=getLegacyActiveEnvPath();if(existsSync(_0x142f24))try{await _0x45e9fe[_0x25b845(0x1f3)](unlink,_0x142f24);}catch{}}export async function migrateActiveProfileFile(){const _0x1fb4af=await migrateLegacyActiveEnv();return _0x1fb4af!==null;}