@ranger-testing/ranger-cli 3.1.7-alpha.62f152a-54 → 3.1.7-alpha.9dea9f8-61

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 (86) hide show
  1. package/build/cli.js +1 -1
  2. package/build/commands/addEnv.js +1 -1
  3. package/build/commands/authEncrypt.js +1 -1
  4. package/build/commands/clean.js +1 -1
  5. package/build/commands/config.js +1 -1
  6. package/build/commands/deleteProfile.js +1 -1
  7. package/build/commands/env.js +1 -1
  8. package/build/commands/feature.js +1 -1
  9. package/build/commands/hook.js +1 -1
  10. package/build/commands/hooks/autoPrompt.js +1 -1
  11. package/build/commands/hooks/disable.js +1 -1
  12. package/build/commands/hooks/enable.js +1 -1
  13. package/build/commands/hooks/exitPlanMode.js +1 -1
  14. package/build/commands/hooks/index.js +1 -1
  15. package/build/commands/hooks/output.js +1 -1
  16. package/build/commands/hooks/planReminder.js +1 -1
  17. package/build/commands/hooks/planStart.js +1 -1
  18. package/build/commands/hooks/postEdit.js +1 -1
  19. package/build/commands/hooks/preCompact.js +1 -1
  20. package/build/commands/hooks/sessionEnd.js +1 -1
  21. package/build/commands/hooks/sessionStart.js +1 -1
  22. package/build/commands/hooks/stopHook.js +1 -1
  23. package/build/commands/index.js +1 -1
  24. package/build/commands/login.js +1 -1
  25. package/build/commands/mcpBootstrap.js +1 -1
  26. package/build/commands/migrateProfile.js +1 -1
  27. package/build/commands/setup/claude.js +1 -1
  28. package/build/commands/setup/opencode.js +1 -1
  29. package/build/commands/setupCi.js +1 -1
  30. package/build/commands/skillup.js +1 -1
  31. package/build/commands/start.js +1 -1
  32. package/build/commands/status.js +1 -1
  33. package/build/commands/update.js +1 -1
  34. package/build/commands/updateEnv.js +1 -1
  35. package/build/commands/useEnv.js +1 -1
  36. package/build/commands/utils/activeProfile.js +1 -1
  37. package/build/commands/utils/agentEnv.js +1 -1
  38. package/build/commands/utils/browserSessionsApi.js +1 -1
  39. package/build/commands/utils/claudeConfig.js +1 -1
  40. package/build/commands/utils/claudeOverrideSettings.js +1 -1
  41. package/build/commands/utils/claudePlugin.js +1 -1
  42. package/build/commands/utils/cloudProfile.js +1 -1
  43. package/build/commands/utils/cloudProfileSession.js +1 -1
  44. package/build/commands/utils/crypto.js +1 -1
  45. package/build/commands/utils/desirePathLog.js +1 -1
  46. package/build/commands/utils/deviceAuth.js +1 -1
  47. package/build/commands/utils/environment.js +1 -1
  48. package/build/commands/utils/featureApi.js +1 -1
  49. package/build/commands/utils/fixWebmDuration.js +1 -1
  50. package/build/commands/utils/gitTracked.js +1 -1
  51. package/build/commands/utils/keychain.js +1 -1
  52. package/build/commands/utils/legacyWarning.js +1 -1
  53. package/build/commands/utils/localAgentInstallationsApi.js +1 -1
  54. package/build/commands/utils/matchAuthEnvironment.js +1 -1
  55. package/build/commands/utils/mcpImageBase64.js +1 -1
  56. package/build/commands/utils/model.js +1 -1
  57. package/build/commands/utils/novaActCli.js +1 -1
  58. package/build/commands/utils/opencodeConfig.js +1 -1
  59. package/build/commands/utils/organizationEnvApi.js +1 -1
  60. package/build/commands/utils/playwrightCli.js +1 -1
  61. package/build/commands/utils/profileMessages.js +1 -1
  62. package/build/commands/utils/profileSetupBanner.js +1 -1
  63. package/build/commands/utils/projectsConfig.js +1 -1
  64. package/build/commands/utils/rangerConfig.js +1 -1
  65. package/build/commands/utils/rangerRoot.js +1 -1
  66. package/build/commands/utils/rangerwrightCli.js +1 -1
  67. package/build/commands/utils/resolveProfileContext.js +1 -1
  68. package/build/commands/utils/resolveProfileUrl.js +1 -1
  69. package/build/commands/utils/retry.js +1 -1
  70. package/build/commands/utils/scenarioOriginCheck.js +1 -1
  71. package/build/commands/utils/sessionCache.js +1 -1
  72. package/build/commands/utils/settings.js +1 -1
  73. package/build/commands/utils/skillContent.js +1 -1
  74. package/build/commands/utils/skills.js +1 -1
  75. package/build/commands/utils/stitchWebmFiles.js +1 -1
  76. package/build/commands/utils/telemetry.js +1 -1
  77. package/build/commands/utils/tokenRefresh.js +1 -1
  78. package/build/commands/utils/traceSnapshotMapper.js +1 -1
  79. package/build/commands/utils/tunnelClient.js +1 -1
  80. package/build/commands/utils/userApi.js +1 -1
  81. package/build/commands/utils/version.js +1 -1
  82. package/build/commands/verifyFeature.js +1 -1
  83. package/build/commands/verifyFeatureCli.js +1 -1
  84. package/build/commands/verifyFeatureNovaCli.js +1 -1
  85. package/build/commands/verifyFeatureRangerwrightCli.js +1 -1
  86. package/package.json +2 -5
@@ -1 +1 @@
1
- (function(_0x531f09,_0x4c1497){const _0x1325c4=_0x46a5,_0x471818=_0x531f09();while(!![]){try{const _0x588ac7=parseInt(_0x1325c4(0x18d))/0x1+-parseInt(_0x1325c4(0x18f))/0x2*(parseInt(_0x1325c4(0x189))/0x3)+parseInt(_0x1325c4(0x195))/0x4*(parseInt(_0x1325c4(0x190))/0x5)+parseInt(_0x1325c4(0x18b))/0x6*(parseInt(_0x1325c4(0x196))/0x7)+parseInt(_0x1325c4(0x186))/0x8*(-parseInt(_0x1325c4(0x18c))/0x9)+-parseInt(_0x1325c4(0x185))/0xa+parseInt(_0x1325c4(0x194))/0xb;if(_0x588ac7===_0x4c1497)break;else _0x471818['push'](_0x471818['shift']());}catch(_0x477e03){_0x471818['push'](_0x471818['shift']());}}}(_0x323c,0x61a0c));import{runDeviceAuthFlow}from'./utils/deviceAuth.js';import{getCurrentUser}from'./utils/userApi.js';import{getMcpAuthOrigin,mcpBootstrap}from'./mcpBootstrap.js';import{isInteractive}from'./utils/cloudProfileSession.js';function _0x46a5(_0x19a6b6,_0x49b0b0){_0x19a6b6=_0x19a6b6-0x185;const _0x323cf5=_0x323c();let _0x46a538=_0x323cf5[_0x19a6b6];return _0x46a538;}export async function login(){const _0x5b9811=_0x46a5,_0x1b460a={'Pwwvx':'Re-authenticating\x20via\x20MCP\x20bootstrap...','Bgblw':function(_0x2d6189){return _0x2d6189();},'dzQpD':_0x5b9811(0x198),'wbAcl':_0x5b9811(0x19a)},_0x5c857b=await getMcpAuthOrigin();if(_0x5c857b){console['log'](_0x1b460a[_0x5b9811(0x192)]),await mcpBootstrap();return;}if(!_0x1b460a[_0x5b9811(0x191)](isInteractive))throw new Error(_0x1b460a[_0x5b9811(0x18e)]);try{const _0x3a146a=await runDeviceAuthFlow(),_0x2fadb5=await getCurrentUser(_0x3a146a);_0x2fadb5['success']?console[_0x5b9811(0x188)]('\x0a✅\x20Logged\x20in\x20to\x20'+_0x2fadb5[_0x5b9811(0x197)][_0x5b9811(0x18a)]):console['log'](_0x1b460a[_0x5b9811(0x199)]);}catch(_0x2b6752){throw new Error(_0x5b9811(0x187)+(_0x2b6752 instanceof Error?_0x2b6752[_0x5b9811(0x193)]:_0x2b6752));}}function _0x323c(){const _0x5d0d66=['72GDEMSA','486384WWIoMq','dzQpD','177530iMNeBS','231705uIXdzE','Bgblw','Pwwvx','message','4245164bcmGDd','28SCgtVL','1961309OXlOQI','user','Login\x20requires\x20an\x20interactive\x20terminal.\x20In\x20CI,\x20use:\x20ranger\x20setup\x20[token]\x20or\x20set\x20RANGER_CLI_TOKEN.','wbAcl','\x0a✅\x20API\x20key\x20stored\x20successfully','6772260YlqOOi','44712pWPiMZ','Login\x20failed:\x20','log','12VxYPwm','organizationName','6MzPESX'];_0x323c=function(){return _0x5d0d66;};return _0x323c();}
1
+ (function(_0x4434af,_0x163644){const _0x2c7646=_0xbca5,_0x3a6551=_0x4434af();while(!![]){try{const _0xd5b042=-parseInt(_0x2c7646(0x139))/0x1*(-parseInt(_0x2c7646(0x134))/0x2)+parseInt(_0x2c7646(0x130))/0x3*(-parseInt(_0x2c7646(0x131))/0x4)+parseInt(_0x2c7646(0x137))/0x5*(parseInt(_0x2c7646(0x12e))/0x6)+parseInt(_0x2c7646(0x12c))/0x7+-parseInt(_0x2c7646(0x132))/0x8*(parseInt(_0x2c7646(0x136))/0x9)+parseInt(_0x2c7646(0x12f))/0xa*(-parseInt(_0x2c7646(0x138))/0xb)+-parseInt(_0x2c7646(0x13b))/0xc;if(_0xd5b042===_0x163644)break;else _0x3a6551['push'](_0x3a6551['shift']());}catch(_0x1e0bd5){_0x3a6551['push'](_0x3a6551['shift']());}}}(_0x146f,0x57762));import{runDeviceAuthFlow}from'./utils/deviceAuth.js';function _0xbca5(_0x536934,_0x59d5ae){_0x536934=_0x536934-0x12c;const _0x146fe0=_0x146f();let _0xbca5ac=_0x146fe0[_0x536934];return _0xbca5ac;}function _0x146f(){const _0x4925e3=['11766132itRsaN','3037881SzmnEF','Login\x20failed:\x20','4090326LUvabl','13670LJZRyV','15135Tuyvgw','212iJSYfr','184wOfpTd','Login\x20requires\x20an\x20interactive\x20terminal.\x20In\x20CI,\x20use:\x20ranger\x20setup\x20[token]\x20or\x20set\x20RANGER_CLI_TOKEN.','4eCIJVd','log','20583zPNPgW','5dVRqrN','1067mGjOCr','337817RJeeyb','user'];_0x146f=function(){return _0x4925e3;};return _0x146f();}import{getCurrentUser}from'./utils/userApi.js';import{getMcpAuthOrigin,mcpBootstrap}from'./mcpBootstrap.js';import{isInteractive}from'./utils/cloudProfileSession.js';export async function login(){const _0x4934eb=_0xbca5,_0x20f066={'aSAyY':_0x4934eb(0x133),'yjGFO':'\x0a✅\x20API\x20key\x20stored\x20successfully'},_0x6be25f=await getMcpAuthOrigin();if(_0x6be25f){console[_0x4934eb(0x135)]('Re-authenticating\x20via\x20MCP\x20bootstrap...'),await mcpBootstrap();return;}if(!isInteractive())throw new Error(_0x20f066['aSAyY']);try{const _0x1cb33a=await runDeviceAuthFlow(),_0x56adf8=await getCurrentUser(_0x1cb33a);_0x56adf8['success']?console['log']('\x0a✅\x20Logged\x20in\x20to\x20'+_0x56adf8[_0x4934eb(0x13a)]['organizationName']):console['log'](_0x20f066['yjGFO']);}catch(_0x54be84){throw new Error(_0x4934eb(0x12d)+(_0x54be84 instanceof Error?_0x54be84['message']:_0x54be84));}}
@@ -1 +1 @@
1
- const _0x1cff32=_0x47ab;(function(_0x2f6425,_0x4c0ff5){const _0x389f97=_0x47ab,_0x317ee1=_0x2f6425();while(!![]){try{const _0x2bd3cd=-parseInt(_0x389f97(0x173))/0x1*(-parseInt(_0x389f97(0x125))/0x2)+-parseInt(_0x389f97(0x114))/0x3+parseInt(_0x389f97(0x174))/0x4*(-parseInt(_0x389f97(0x105))/0x5)+parseInt(_0x389f97(0x10f))/0x6*(parseInt(_0x389f97(0x12e))/0x7)+-parseInt(_0x389f97(0x10a))/0x8+parseInt(_0x389f97(0x189))/0x9*(-parseInt(_0x389f97(0x158))/0xa)+parseInt(_0x389f97(0x14d))/0xb*(parseInt(_0x389f97(0x107))/0xc);if(_0x2bd3cd===_0x4c0ff5)break;else _0x317ee1['push'](_0x317ee1['shift']());}catch(_0x280b4a){_0x317ee1['push'](_0x317ee1['shift']());}}}(_0x1aee,0x69afa));import{mkdir,writeFile,readFile}from'fs/promises';import{join}from'path';import{homedir}from'os';import{createServer}from'http';import{randomBytes,createHash}from'crypto';import{exec}from'child_process';import{getMcpAuthUrl}from'./utils/environment.js';const CALLBACK_PORT=0x4d78,TOKEN_CACHE_PATH=join(homedir(),_0x1cff32(0x166),_0x1cff32(0x102)),AUTH_ORIGIN_PATH=join(homedir(),_0x1cff32(0x166),'auth-origin.txt');export async function getMcpAuthOrigin(){const _0x2f4ea5=_0x1cff32,_0x1bfa59={'yDKwN':function(_0x1fa9db,_0x3d0f18,_0x257167){return _0x1fa9db(_0x3d0f18,_0x257167);}};try{const _0x232cbc=(await _0x1bfa59[_0x2f4ea5(0x17e)](readFile,AUTH_ORIGIN_PATH,'utf-8'))['trim']();return _0x232cbc||null;}catch{return null;}}export async function mcpBootstrap(){const _0x107141=_0x1cff32,_0x4a8466={'NjLlk':function(_0x58ddf6,_0x9a8479){return _0x58ddf6(_0x9a8479);},'hAwJc':function(_0x1772fc){return _0x1772fc();},'rhTCH':function(_0x3ead75,_0xb12370){return _0x3ead75(_0xb12370);}},_0x32302d=getMcpAuthUrl();currentOrigin=_0x32302d;const _0x3a6246=process['stdout'][_0x107141(0x187)]??![];console[_0x107141(0x116)]('\x0aConnecting\x20to\x20MCP\x20auth\x20server:\x20'+_0x32302d+'\x0a');const _0x4a7a4a=await _0x4a8466[_0x107141(0x164)](tryUnauthenticated,_0x32302d);let _0x323b22=null;if(_0x4a7a4a===_0x107141(0x17c))_0x323b22='';else{_0x323b22=await _0x4a8466[_0x107141(0x18c)](loadCachedToken);if(!_0x323b22){if(!_0x3a6246)throw new Error('MCP\x20server\x20requires\x20authentication\x20but\x20running\x20in\x20non-interactive\x20mode.\x0a'+_0x107141(0x11d));_0x323b22=await _0x4a8466['rhTCH'](oauthFlow,_0x32302d);}}await callGetCliToken(_0x32302d,_0x323b22);}async function tryUnauthenticated(_0x6f0189){const _0x3b57a0=_0x1cff32,_0x3c07eb={'VhGUa':function(_0x497e7d,_0x46bec1,_0x37c16b){return _0x497e7d(_0x46bec1,_0x37c16b);},'uwQRI':'POST','eWMEe':_0x3b57a0(0x108),'jqKAA':_0x3b57a0(0x130),'TUMBT':'2025-03-26','dJjNs':_0x3b57a0(0x145),'dsWAo':'1.0.0','YPZcE':function(_0x200d05,_0x2788e5){return _0x200d05===_0x2788e5;},'qCeMI':'needs-oauth'},_0x51f695=await _0x3c07eb[_0x3b57a0(0x163)](fetch,_0x6f0189,{'method':_0x3c07eb['uwQRI'],'headers':{'Content-Type':'application/json','Accept':_0x3c07eb[_0x3b57a0(0x123)]},'body':JSON['stringify']({'jsonrpc':_0x3c07eb[_0x3b57a0(0x16f)],'id':0x1,'method':_0x3b57a0(0x18b),'params':{'protocolVersion':_0x3c07eb['TUMBT'],'capabilities':{},'clientInfo':{'name':_0x3c07eb[_0x3b57a0(0x100)],'version':_0x3c07eb['dsWAo']}}})});if(_0x51f695['ok'])return await _0x51f695[_0x3b57a0(0x157)](),_0x3b57a0(0x17c);if(_0x3c07eb[_0x3b57a0(0x133)](_0x51f695['status'],0x191))return await _0x51f695['text'](),_0x3c07eb['qCeMI'];const _0x2bf797=await _0x51f695[_0x3b57a0(0x157)]();throw new Error('MCP\x20server\x20returned\x20HTTP\x20'+_0x51f695[_0x3b57a0(0x15c)]+':\x20'+_0x2bf797);}class OAuthTimeoutError extends Error{constructor(_0x573fba){const _0x4748a3=_0x1cff32;super(_0x573fba),this[_0x4748a3(0x180)]=_0x4748a3(0x132);}}async function oauthFlow(_0xcf6030){const _0x1dc2cd=_0x1cff32,_0x2f2e37={'khvfz':function(_0x41d03a,_0x4fd45d){return _0x41d03a(_0x4fd45d);},'OpxLJ':function(_0x3cf2cf,_0x44a966){return _0x3cf2cf instanceof _0x44a966;},'EpOxT':function(_0x2c6e15){return _0x2c6e15();}};try{return await _0x2f2e37['khvfz'](oauthFlowAttempt,_0xcf6030);}catch(_0x1d9f0d){if(_0x2f2e37['OpxLJ'](_0x1d9f0d,OAuthTimeoutError)&&await _0x2f2e37[_0x1dc2cd(0x11e)](loadCachedClient))return console['log'](_0x1dc2cd(0x152)),await clearCachedClient(),await oauthFlowAttempt(_0xcf6030);throw _0x1d9f0d;}}async function oauthFlowAttempt(_0x590df9){const _0x18ac21=_0x1cff32,_0x1282db={'zpkxv':'Could\x20not\x20fetch\x20protected\x20resource\x20metadata\x20from\x20MCP\x20server','pjQGR':_0x18ac21(0x183),'lJnyy':function(_0x18fe82,_0x4b0fef){return _0x18fe82(_0x4b0fef);},'NRFqw':'Registering\x20OAuth\x20client...','iIWVV':function(_0x5e23b9,_0x4fc14b,_0x10d2f7){return _0x5e23b9(_0x4fc14b,_0x10d2f7);},'Kwyrz':_0x18ac21(0x18f),'wocSq':'refresh_token','eMGhN':'none','yZRCf':_0x18ac21(0x172),'NbrKI':_0x18ac21(0x138),'oJejQ':function(_0x5daa8c,_0x4ec0bb){return _0x5daa8c(_0x4ec0bb);},'JUsfx':_0x18ac21(0x12d),'IgOnI':function(_0x174b33,_0x564e41){return _0x174b33(_0x564e41);},'aMgpP':'code','HGJDp':_0x18ac21(0x13f),'grYyo':_0x18ac21(0x18d),'pATHM':_0x18ac21(0x103),'HRYqb':'Exchanging\x20authorization\x20code...','mTuAn':function(_0x5331d2,_0x3be7b4,_0x303d9a){return _0x5331d2(_0x3be7b4,_0x303d9a);},'tuAJi':_0x18ac21(0x104)},_0xc2c17=_0x590df9['replace'](/\/mcp$/,'');process[_0x18ac21(0x150)][_0x18ac21(0x171)](_0x18ac21(0x162));const _0x4a1150=await fetch(_0xc2c17+_0x18ac21(0x12a));if(!_0x4a1150['ok'])throw new Error(_0x1282db[_0x18ac21(0x147)]);const _0x3470d8=await _0x4a1150[_0x18ac21(0x11a)](),_0x3f87d0=_0x3470d8[_0x18ac21(0x190)]?.[0x0];if(!_0x3f87d0)throw new Error(_0x1282db[_0x18ac21(0x122)]);console['log']('\x20'+_0x3f87d0);const _0x32bae4=await _0x1282db[_0x18ac21(0x136)](fetchAuthServerMetadata,_0x3f87d0);let _0x1f660a,_0x47a440;const _0x1d5241=await loadCachedClient();if(_0x1d5241)_0x1f660a=_0x1d5241['clientId'],_0x47a440=_0x1d5241['clientSecret'];else{if(_0x32bae4[_0x18ac21(0x176)]){process['stdout'][_0x18ac21(0x171)](_0x1282db[_0x18ac21(0x14b)]);const _0x2b30e7=await _0x1282db['iIWVV'](fetch,_0x32bae4[_0x18ac21(0x176)],{'method':_0x18ac21(0x104),'headers':{'Content-Type':_0x18ac21(0x146)},'body':JSON[_0x18ac21(0x192)]({'client_name':_0x18ac21(0x149),'redirect_uris':[_0x18ac21(0x155)+CALLBACK_PORT+_0x18ac21(0x101)],'grant_types':[_0x1282db[_0x18ac21(0x182)],_0x1282db['wocSq']],'response_types':['code'],'token_endpoint_auth_method':_0x1282db[_0x18ac21(0x12f)]})});if(!_0x2b30e7['ok']){const _0x2f8044=await _0x2b30e7[_0x18ac21(0x157)]();throw new Error(_0x18ac21(0x140)+_0x2f8044);}const _0xf693be=await _0x2b30e7['json']();_0x1f660a=_0xf693be[_0x18ac21(0x16e)],_0x47a440=_0xf693be['client_secret'],await saveCachedClient(_0x1f660a,_0x47a440),console['log'](_0x1282db[_0x18ac21(0x110)]);}else throw new Error(_0x1282db[_0x18ac21(0x154)]);}const _0x55adaa=_0x1282db['oJejQ'](randomBytes,0x20)[_0x18ac21(0x16a)](_0x1282db[_0x18ac21(0x115)]),_0x1e04bb=_0x1282db[_0x18ac21(0x113)](createHash,_0x18ac21(0x18a))['update'](_0x55adaa)[_0x18ac21(0x129)](_0x1282db['JUsfx']),_0x16277e=_0x1282db['oJejQ'](randomBytes,0x10)[_0x18ac21(0x16a)](_0x18ac21(0x17d)),_0x2b217d=new URL(_0x32bae4[_0x18ac21(0x15e)]);_0x2b217d[_0x18ac21(0x14a)][_0x18ac21(0x17b)](_0x18ac21(0x170),_0x1282db[_0x18ac21(0x111)]),_0x2b217d[_0x18ac21(0x14a)]['set']('client_id',_0x1f660a),_0x2b217d['searchParams'][_0x18ac21(0x17b)](_0x1282db['HGJDp'],'http://localhost:'+CALLBACK_PORT+'/callback'),_0x2b217d['searchParams'][_0x18ac21(0x17b)](_0x18ac21(0x15d),_0x1e04bb),_0x2b217d['searchParams'][_0x18ac21(0x17b)]('code_challenge_method',_0x1282db['grYyo']),_0x2b217d['searchParams'][_0x18ac21(0x17b)](_0x18ac21(0x10e),_0x16277e);_0x3470d8[_0x18ac21(0x103)]&&_0x2b217d['searchParams']['set'](_0x1282db[_0x18ac21(0x106)],_0x3470d8[_0x18ac21(0x103)]);console['log'](_0x18ac21(0x13b)),console['log']('If\x20the\x20browser\x20doesn\x27t\x20open,\x20visit:\x0a'+_0x2b217d['toString']()+'\x0a'),await openBrowser(_0x2b217d['toString']());const _0xcf690a=await waitForCallback(_0x16277e);process[_0x18ac21(0x150)][_0x18ac21(0x171)](_0x1282db['HRYqb']);const _0x3f9e15=new URLSearchParams({'grant_type':'authorization_code','code':_0xcf690a,'redirect_uri':'http://localhost:'+CALLBACK_PORT+'/callback','client_id':_0x1f660a,'code_verifier':_0x55adaa});_0x47a440&&_0x3f9e15[_0x18ac21(0x17b)](_0x18ac21(0x112),_0x47a440);_0x3470d8['resource']&&_0x3f9e15[_0x18ac21(0x17b)](_0x18ac21(0x103),_0x3470d8['resource']);const _0x495225=await _0x1282db['mTuAn'](fetch,_0x32bae4['token_endpoint'],{'method':_0x1282db['tuAJi'],'headers':{'Content-Type':'application/x-www-form-urlencoded'},'body':_0x3f9e15});if(!_0x495225['ok']){const _0x155442=await _0x495225['text']();throw new Error(_0x18ac21(0x143)+_0x155442);}const _0x475a0e=await _0x495225['json']();return console['log'](_0x1282db['yZRCf']),await saveCachedToken(_0x475a0e['access_token'],_0x475a0e['refresh_token'],_0x475a0e[_0x18ac21(0x13e)]),_0x475a0e['access_token'];}async function callGetCliToken(_0x7fda62,_0x4bf249){const _0x39cbe3=_0x1cff32,_0x15cd09={'Nclfs':function(_0x4c8d63,_0x2c52f1,_0x3a16e7){return _0x4c8d63(_0x2c52f1,_0x3a16e7);},'ioHMQ':_0x39cbe3(0x146),'uOQtw':_0x39cbe3(0x17f),'HNLqr':'2.0','DHhMa':_0x39cbe3(0x10c),'eAXgR':function(_0x10e7cb,_0x6c8adc){return _0x10e7cb(_0x6c8adc);},'tmyxJ':'tools/call','uPAew':'get_cli_token','pUale':_0x39cbe3(0x13c),'cAhjC':function(_0x1c6201){return _0x1c6201();},'HnEgv':function(_0x3b97ff,_0x1181d1,_0x470269,_0x2e8fda){return _0x3b97ff(_0x1181d1,_0x470269,_0x2e8fda);},'Cyqhv':function(_0x537570,_0x304d94,_0x1e3016){return _0x537570(_0x304d94,_0x1e3016);},'Pvnem':'auth-origin.txt'},_0x52f6fb={'Content-Type':_0x15cd09[_0x39cbe3(0x134)],'Accept':'application/json,\x20text/event-stream'};_0x4bf249&&(_0x52f6fb[_0x39cbe3(0x117)]='Bearer\x20'+_0x4bf249);const _0x107d47=async _0x2a998b=>{const _0x273786=_0x39cbe3,_0x3349a1=await _0x15cd09[_0x273786(0x118)](fetch,_0x7fda62,{'method':_0x273786(0x104),'headers':_0x52f6fb,'body':JSON[_0x273786(0x192)](_0x2a998b)});if(!_0x3349a1['ok']){const _0x32f931=await _0x3349a1['text']();throw new Error('HTTP\x20'+_0x3349a1[_0x273786(0x15c)]+':\x20'+_0x32f931);}return parseResponse(_0x3349a1);};process['stdout'][_0x39cbe3(0x171)](_0x15cd09[_0x39cbe3(0x156)]);const _0x34f77a=await _0x107d47({'jsonrpc':_0x15cd09[_0x39cbe3(0x13d)],'id':0x1,'method':_0x39cbe3(0x18b),'params':{'protocolVersion':'2025-03-26','capabilities':{},'clientInfo':{'name':_0x39cbe3(0x145),'version':'1.0.0'}}});if(_0x34f77a[_0x39cbe3(0x139)])throw new Error('MCP\x20initialize\x20failed:\x20'+(_0x34f77a['error'][_0x39cbe3(0x131)]??JSON[_0x39cbe3(0x192)](_0x34f77a['error'])));console['log'](_0x39cbe3(0x172)),await fetch(_0x7fda62,{'method':_0x39cbe3(0x104),'headers':_0x52f6fb,'body':JSON[_0x39cbe3(0x192)]({'jsonrpc':'2.0','method':_0x39cbe3(0x153)})})['then'](_0x1e14e8=>_0x1e14e8['text']()),process['stdout']['write'](_0x15cd09['DHhMa']);const _0x5536ee=await _0x15cd09[_0x39cbe3(0x177)](_0x107d47,{'jsonrpc':'2.0','id':0x2,'method':_0x15cd09['tmyxJ'],'params':{'name':_0x15cd09['uPAew'],'arguments':{}}});if(_0x5536ee[_0x39cbe3(0x139)])throw new Error(_0x39cbe3(0x16d)+(_0x5536ee[_0x39cbe3(0x139)][_0x39cbe3(0x131)]??JSON[_0x39cbe3(0x192)](_0x5536ee['error'])));console['log']('\x20done');const _0x42802f=extractToken(_0x5536ee[_0x39cbe3(0x16b)]);if(!_0x42802f){console['error'](_0x15cd09['pUale']),console['error'](JSON[_0x39cbe3(0x192)](_0x5536ee['result'],null,0x2));throw new Error(_0x39cbe3(0x127));}const _0x399d5f=join(_0x15cd09[_0x39cbe3(0x137)](homedir),'.ranger'),_0x57c566=join(_0x399d5f,_0x39cbe3(0x159));await mkdir(_0x399d5f,{'recursive':!![]}),await _0x15cd09[_0x39cbe3(0x109)](writeFile,_0x57c566,_0x42802f,{'mode':0x180}),await writeFile(_0x15cd09['Cyqhv'](join,_0x399d5f,_0x15cd09[_0x39cbe3(0x178)]),_0x7fda62,{'mode':0x180}),console['log'](_0x39cbe3(0x181)+_0x57c566),console['log']('Run\x20`ranger\x20status`\x20to\x20verify\x20authentication.\x0a');}async function fetchAuthServerMetadata(_0x4c040b){const _0x613737=_0x1cff32,_0x1ffc0e={'uUVdD':function(_0x4bea73,_0x40dec5){return _0x4bea73(_0x40dec5);}},_0x4d597c=_0x4c040b+_0x613737(0x11c),_0x161343=await _0x1ffc0e['uUVdD'](fetch,_0x4d597c);if(!_0x161343['ok'])throw new Error('Could\x20not\x20fetch\x20auth\x20server\x20metadata\x20from\x20'+_0x4d597c+':\x20'+_0x161343[_0x613737(0x15c)]);return _0x161343['json']();}function waitForCallback(_0xb41027){const _0x43136a=_0x1cff32,_0xb27df6={'Vtfsc':function(_0x44c277){return _0x44c277();},'yHfzt':_0x43136a(0x10e),'XELyj':'error','iKnLu':function(_0x2463d5){return _0x2463d5();},'TtlDz':'<html><body><h2>Invalid\x20callback</h2><p>Missing\x20code\x20or\x20state\x20mismatch.</p></body></html>','MItKi':function(_0x32bccc,_0x13fcb9){return _0x32bccc(_0x13fcb9);},'FQvLV':'127.0.0.1'};return new Promise((_0x52a5d5,_0x582e80)=>{const _0xcadcc5=_0x43136a,_0x5c8083={'BbrlL':function(_0x55ca50){const _0x129b4d=_0x47ab;return _0xb27df6[_0x129b4d(0x144)](_0x55ca50);},'pOoti':'OAuth\x20callback\x20timed\x20out\x20after\x202\x20minutes','JBgao':'/callback','kExIV':_0xb27df6['yHfzt'],'txmua':_0xb27df6['XELyj'],'RDQBT':_0xcadcc5(0x167),'ISfzY':function(_0x882133,_0x20b274){return _0x882133(_0x20b274);},'RygLe':function(_0x20ff28){const _0x4f7d1a=_0xcadcc5;return _0xb27df6[_0x4f7d1a(0x186)](_0x20ff28);},'ewqAN':_0xb27df6['TtlDz'],'JSzHw':'<html><body><h2>Authenticated!</h2><p>You\x20can\x20close\x20this\x20window\x20and\x20return\x20to\x20the\x20terminal.</p></body></html>'},_0x1064a7=()=>{_0x101e2a['closeAllConnections'](),_0x101e2a['close']();},_0x3f71ca=setTimeout(()=>{const _0x2ef27c=_0xcadcc5;_0x5c8083[_0x2ef27c(0x12c)](_0x1064a7),_0x582e80(new OAuthTimeoutError(_0x5c8083[_0x2ef27c(0x15b)]));},0x1d4c0),_0x101e2a=_0xb27df6[_0xcadcc5(0x148)](createServer,(_0xec690c,_0xba4223)=>{const _0x3327cf=_0xcadcc5,_0x4cb802=new URL(_0xec690c['url']??'/','http://localhost:'+CALLBACK_PORT);if(_0x4cb802['pathname']!==_0x5c8083['JBgao']){_0xba4223[_0x3327cf(0x188)](0x194),_0xba4223[_0x3327cf(0x128)](_0x3327cf(0x16c));return;}const _0x1dd2fd=_0x4cb802[_0x3327cf(0x14a)][_0x3327cf(0x160)](_0x3327cf(0x17a)),_0x4d1195=_0x4cb802[_0x3327cf(0x14a)]['get'](_0x5c8083[_0x3327cf(0x11f)]),_0x353729=_0x4cb802['searchParams']['get'](_0x5c8083[_0x3327cf(0x14f)]);if(_0x353729){const _0x74cf08=_0x4cb802['searchParams'][_0x3327cf(0x160)]('error_description')??_0x353729;_0xba4223['writeHead'](0xc8,{'Content-Type':_0x5c8083[_0x3327cf(0x126)]}),_0xba4223[_0x3327cf(0x128)]('<html><body><h2>Authentication\x20failed</h2><p>'+_0x74cf08+'</p><p>You\x20can\x20close\x20this\x20window.</p></body></html>'),_0x5c8083[_0x3327cf(0x13a)](clearTimeout,_0x3f71ca),_0x5c8083['RygLe'](_0x1064a7),_0x582e80(new Error('OAuth\x20error:\x20'+_0x74cf08));return;}if(!_0x1dd2fd||_0x4d1195!==_0xb41027){_0xba4223['writeHead'](0x190,{'Content-Type':_0x5c8083['RDQBT']}),_0xba4223['end'](_0x5c8083[_0x3327cf(0x191)]);return;}_0xba4223['writeHead'](0xc8,{'Content-Type':'text/html'}),_0xba4223['end'](_0x5c8083['JSzHw']),_0x5c8083[_0x3327cf(0x13a)](clearTimeout,_0x3f71ca),_0x1064a7(),_0x5c8083['ISfzY'](_0x52a5d5,_0x1dd2fd);});_0x101e2a['listen'](CALLBACK_PORT,_0xb27df6[_0xcadcc5(0x15a)]);});}async function openBrowser(_0x4e92f6){const _0x1f12d1=_0x1cff32,_0x53206f={'TRSYf':_0x1f12d1(0x15f),'pbaGf':_0x1f12d1(0x161),'DQKEu':function(_0x4337cd,_0x2b8555){return _0x4337cd(_0x2b8555);}},_0x40d785=process[_0x1f12d1(0x141)]===_0x1f12d1(0x169)?_0x53206f['TRSYf']:process['platform']===_0x53206f['pbaGf']?_0x1f12d1(0x18e):_0x1f12d1(0x119);_0x53206f['DQKEu'](exec,_0x40d785+'\x20\x22'+_0x4e92f6+'\x22');}let currentOrigin='';async function loadCachedToken(){const _0x42fb34=_0x1cff32,_0x3d8959={'bcdNV':function(_0xa9b774,_0x56b55c,_0x23b797){return _0xa9b774(_0x56b55c,_0x23b797);}};try{const _0x3d06ec=JSON[_0x42fb34(0x10d)](await _0x3d8959['bcdNV'](readFile,TOKEN_CACHE_PATH,'utf-8'));if(_0x3d06ec['origin']&&_0x3d06ec[_0x42fb34(0x10b)]!==currentOrigin)return null;if(_0x3d06ec['expiresAt']&&Date['now']()>_0x3d06ec[_0x42fb34(0x124)])return null;return _0x3d06ec['accessToken']??null;}catch{return null;}}function _0x1aee(){const _0x459209=['ewqAN','stringify','structuredContent','dJjNs','/callback','mcp-oauth-tokens.json','resource','POST','5gjAAyo','pATHM','12lZQmxy','application/json,\x20text/event-stream','HnEgv','4092448yfxQmz','origin','Requesting\x20CLI\x20token...','parse','state','6fLeJdQ','yZRCf','aMgpP','client_secret','IgOnI','2195907lRYXqL','JUsfx','log','Authorization','Nclfs','xdg-open','json','ZCTTX','/.well-known/oauth-authorization-server','Run\x20`ranger\x20setup\x20--mcp-bootstrap`\x20interactively\x20first.','EpOxT','kExIV','accessToken','clientId','pjQGR','eWMEe','expiresAt','70502qcTizg','RDQBT','Could\x20not\x20extract\x20token\x20from\x20MCP\x20response','end','digest','/.well-known/oauth-protected-resource','Ezejg','BbrlL','base64url','123739FFoDbP','eMGhN','2.0','message','OAuthTimeoutError','YPZcE','ioHMQ','JHvJI','lJnyy','cAhjC','Authorization\x20server\x20does\x20not\x20support\x20dynamic\x20client\x20registration\x20and\x20no\x20cached\x20client\x20found','error','ISfzY','\x0aOpening\x20browser\x20for\x20authentication...','\x0aUnexpected\x20response\x20structure:','HNLqr','expires_in','redirect_uri','Client\x20registration\x20failed:\x20','platform','utf-8','Token\x20exchange\x20failed:\x20','Vtfsc','ranger-cli','application/json','zpkxv','MItKi','Ranger\x20CLI','searchParams','NRFqw','content-type','22607695sSYSdq','text/event-stream','txmua','stdout','yiFHZ','\x0aCached\x20OAuth\x20client\x20may\x20be\x20stale\x20—\x20clearing\x20and\x20retrying...\x0a','notifications/initialized','NbrKI','http://localhost:','uOQtw','text','1110AKskry','refresh.txt','FQvLV','pOoti','status','code_challenge','authorization_endpoint','open','get','win32','Discovering\x20authorization\x20server...','VhGUa','NjLlk','YUmLT','.ranger','text/html','type','darwin','toString','result','Not\x20found','get_cli_token\x20failed:\x20','client_id','jqKAA','response_type','write','\x20done','11QZebJJ','2507036hNlaDO','TXTqc','registration_endpoint','eAXgR','Pvnem','data:','code','set','proxied','hex','yDKwN','Initializing\x20MCP\x20session...','name','\x0aToken\x20written\x20to\x20','Kwyrz','No\x20authorization_servers\x20in\x20protected\x20resource\x20metadata','slice','token','iKnLu','isTTY','writeHead','12771szPWEE','sha256','initialize','hAwJc','S256','start','authorization_code','authorization_servers'];_0x1aee=function(){return _0x459209;};return _0x1aee();}async function saveCachedToken(_0x53c842,_0x337e09,_0x441ab2){const _0x5b311a=_0x1cff32,_0x2a43c2={'Ezejg':function(_0xd26f1c,_0x3abb86,_0x3741bb){return _0xd26f1c(_0x3abb86,_0x3741bb);},'SzMpi':function(_0x10826b,_0xd9ce8a,_0x126b7e,_0x2e0156){return _0x10826b(_0xd9ce8a,_0x126b7e,_0x2e0156);}},_0x5bda5e=await loadCachedData(),_0x870a5e={..._0x5bda5e,'origin':currentOrigin,'accessToken':_0x53c842,'refreshToken':_0x337e09??_0x5bda5e?.['refreshToken'],'expiresAt':_0x441ab2?Date['now']()+_0x441ab2*0x3e8:undefined};await mkdir(_0x2a43c2[_0x5b311a(0x12b)](join,homedir(),_0x5b311a(0x166)),{'recursive':!![]}),await _0x2a43c2['SzMpi'](writeFile,TOKEN_CACHE_PATH,JSON[_0x5b311a(0x192)](_0x870a5e),{'mode':0x180});}async function loadCachedClient(){const _0x113a47=_0x1cff32,_0x442358={'RzNKP':function(_0x3fc1c5){return _0x3fc1c5();}},_0x2dbfa1=await _0x442358['RzNKP'](loadCachedData);if(_0x2dbfa1?.[_0x113a47(0x10b)]&&_0x2dbfa1[_0x113a47(0x10b)]!==currentOrigin)return null;return _0x2dbfa1?.['clientId']?{'clientId':_0x2dbfa1[_0x113a47(0x121)],'clientSecret':_0x2dbfa1['clientSecret']}:null;}async function clearCachedClient(){const _0x40b0a4={'hffPz':function(_0x1d0ea2,_0x585666,_0x1d4088,_0xe244f7){return _0x1d0ea2(_0x585666,_0x1d4088,_0xe244f7);}},_0x9ae522=await loadCachedData();if(!_0x9ae522)return;const {clientId:_0xc9798f,clientSecret:_0x36c1d9,..._0x567cfa}=_0x9ae522;await _0x40b0a4['hffPz'](writeFile,TOKEN_CACHE_PATH,JSON['stringify'](_0x567cfa),{'mode':0x180});}async function saveCachedClient(_0x5bdf7d,_0x1ae346){const _0x2da624=_0x1cff32,_0x1e9929={'QHrXJ':function(_0x3b3171,_0x468f36,_0xc34589){return _0x3b3171(_0x468f36,_0xc34589);},'FOSwM':function(_0x775fc5){return _0x775fc5();},'JHvJI':_0x2da624(0x166),'imeVe':function(_0x7c16b9,_0x2a7345,_0x4437d4,_0x342f79){return _0x7c16b9(_0x2a7345,_0x4437d4,_0x342f79);}},_0xfbde29=await loadCachedData(),_0x8dfcb5={..._0xfbde29,'origin':currentOrigin,'accessToken':_0xfbde29?.[_0x2da624(0x120)]??'','clientId':_0x5bdf7d,'clientSecret':_0x1ae346};await mkdir(_0x1e9929['QHrXJ'](join,_0x1e9929['FOSwM'](homedir),_0x1e9929[_0x2da624(0x135)]),{'recursive':!![]}),await _0x1e9929['imeVe'](writeFile,TOKEN_CACHE_PATH,JSON[_0x2da624(0x192)](_0x8dfcb5),{'mode':0x180});}async function loadCachedData(){const _0xa9d94=_0x1cff32,_0x32ff40={'yiFHZ':function(_0x381a79,_0x3df337,_0x4a1ffa){return _0x381a79(_0x3df337,_0x4a1ffa);}};try{return JSON['parse'](await _0x32ff40[_0xa9d94(0x151)](readFile,TOKEN_CACHE_PATH,_0xa9d94(0x142)));}catch{return null;}}function _0x47ab(_0x8ba3da,_0x419daa){_0x8ba3da=_0x8ba3da-0xff;const _0x1aeeb9=_0x1aee();let _0x47ab7a=_0x1aeeb9[_0x8ba3da];return _0x47ab7a;}async function parseResponse(_0x49f237){const _0x3a413c=_0x1cff32,_0x58fc3b={'ZCTTX':_0x3a413c(0x179),'TXTqc':function(_0xdb9db6,_0x48ff62){return _0xdb9db6!==_0x48ff62;}},_0x3a2981=_0x49f237['headers'][_0x3a413c(0x160)](_0x3a413c(0x14c))??'';if(_0x3a2981['includes'](_0x3a413c(0x14e))){const _0xc5d643=await _0x49f237[_0x3a413c(0x157)]();for(const _0xdabfff of _0xc5d643['split']('\x0a')){const _0x49d4fc=_0xdabfff['trim']();if(_0x49d4fc['startsWith'](_0x58fc3b[_0x3a413c(0x11b)])){const _0x21e827=_0x49d4fc[_0x3a413c(0x184)](_0x3a413c(0x179)['length'])['trim']();if(!_0x21e827)continue;try{const _0x1d3958=JSON[_0x3a413c(0x10d)](_0x21e827);if(_0x58fc3b[_0x3a413c(0x175)](_0x1d3958['id'],undefined)||_0x1d3958[_0x3a413c(0x139)])return _0x1d3958;}catch{}}}throw new Error('No\x20JSON-RPC\x20response\x20found\x20in\x20SSE\x20stream');}return _0x49f237['json']();}function extractToken(_0x405562){const _0x2a99ed=_0x1cff32,_0x1b0dff={'fyzfX':'string','YUmLT':'Unknown\x20error'};if(!_0x405562)return null;const _0x33f97e=_0x405562[_0x2a99ed(0xff)];if(_0x33f97e?.['token']&&typeof _0x33f97e['token']===_0x1b0dff['fyzfX'])return _0x33f97e[_0x2a99ed(0x185)];if(_0x405562['isError']){const _0x157eed=_0x405562['content'];throw new Error('Server\x20returned\x20error:\x20'+(_0x157eed?.[0x0]?.['text']??_0x1b0dff[_0x2a99ed(0x165)]));}const _0x2d1cff=_0x405562['content'];if(_0x2d1cff)for(const _0x209eca of _0x2d1cff){if(_0x209eca[_0x2a99ed(0x168)]==='text'&&_0x209eca[_0x2a99ed(0x157)]){try{const _0x2e25fb=JSON[_0x2a99ed(0x10d)](_0x209eca['text']);if(typeof _0x2e25fb?.['token']==='string')return _0x2e25fb['token'];}catch{}const _0x389bad=_0x209eca[_0x2a99ed(0x157)]['match'](/(rngr_[A-Za-z0-9_-]+)/);if(_0x389bad)return _0x389bad[0x1];}}return null;}
1
+ const _0x18a896=_0x5129;(function(_0x6c2ece,_0x289778){const _0x293b17=_0x5129,_0x36b383=_0x6c2ece();while(!![]){try{const _0x3f98b3=parseInt(_0x293b17(0x1d4))/0x1+-parseInt(_0x293b17(0x150))/0x2+parseInt(_0x293b17(0x176))/0x3+parseInt(_0x293b17(0x19f))/0x4+parseInt(_0x293b17(0x1c4))/0x5+parseInt(_0x293b17(0x153))/0x6*(parseInt(_0x293b17(0x182))/0x7)+-parseInt(_0x293b17(0x194))/0x8;if(_0x3f98b3===_0x289778)break;else _0x36b383['push'](_0x36b383['shift']());}catch(_0x412b96){_0x36b383['push'](_0x36b383['shift']());}}}(_0x4349,0x666a3));import{mkdir,writeFile,readFile}from'fs/promises';function _0x5129(_0x5bf5ec,_0x4e15eb){_0x5bf5ec=_0x5bf5ec-0x14f;const _0x4349a4=_0x4349();let _0x512979=_0x4349a4[_0x5bf5ec];return _0x512979;}import{join}from'path';import{homedir}from'os';import{createServer}from'http';import{randomBytes,createHash}from'crypto';import{exec}from'child_process';import{getMcpAuthUrl}from'./utils/environment.js';const CALLBACK_PORT=0x4d78,TOKEN_CACHE_PATH=join(homedir(),_0x18a896(0x1b2),'mcp-oauth-tokens.json'),AUTH_ORIGIN_PATH=join(homedir(),'.ranger','auth-origin.txt');export async function getMcpAuthOrigin(){const _0x12ac7d=_0x18a896,_0x1c4e04={'KYSVJ':function(_0x4677b7,_0xc56998,_0x277f38){return _0x4677b7(_0xc56998,_0x277f38);},'INYwn':function(_0x16649d,_0x1c363c){return _0x16649d||_0x1c363c;}};try{const _0x161e4b=(await _0x1c4e04['KYSVJ'](readFile,AUTH_ORIGIN_PATH,'utf-8'))['trim']();return _0x1c4e04[_0x12ac7d(0x18d)](_0x161e4b,null);}catch{return null;}}export async function mcpBootstrap(){const _0x44923a=_0x18a896,_0x49aa18={'cQuJO':function(_0x27f6b4,_0xf2ecbd){return _0x27f6b4===_0xf2ecbd;},'DcUuD':function(_0x247a56){return _0x247a56();},'CiLEr':function(_0x16f0d6,_0x54c739){return _0x16f0d6+_0x54c739;},'rffBD':_0x44923a(0x157),'qgtvM':'Run\x20`ranger\x20setup\x20--mcp-bootstrap`\x20interactively\x20first.','QzOGw':function(_0x28953c,_0x4742ae){return _0x28953c(_0x4742ae);}},_0x47eddc=getMcpAuthUrl();currentOrigin=_0x47eddc;const _0x3cf9c7=process[_0x44923a(0x158)][_0x44923a(0x1b3)]??![];console['log'](_0x44923a(0x161)+_0x47eddc+'\x0a');const _0x163ce4=await tryUnauthenticated(_0x47eddc);let _0x53c18c=null;if(_0x49aa18['cQuJO'](_0x163ce4,'proxied'))_0x53c18c='';else{_0x53c18c=await _0x49aa18['DcUuD'](loadCachedToken);if(!_0x53c18c){if(!_0x3cf9c7)throw new Error(_0x49aa18[_0x44923a(0x16d)](_0x49aa18['rffBD'],_0x49aa18['qgtvM']));_0x53c18c=await _0x49aa18['QzOGw'](oauthFlow,_0x47eddc);}}await callGetCliToken(_0x47eddc,_0x53c18c);}async function tryUnauthenticated(_0x3ec91a){const _0x3935dc=_0x18a896,_0x29c6e5={'oNDbz':_0x3935dc(0x1c1),'WTiJe':'initialize','BexTI':_0x3935dc(0x17a),'NSQkB':_0x3935dc(0x19d),'Jeybx':function(_0x3c9eb1,_0x1c002f){return _0x3c9eb1===_0x1c002f;}},_0x1d24a5=await fetch(_0x3ec91a,{'method':'POST','headers':{'Content-Type':_0x29c6e5['oNDbz'],'Accept':_0x3935dc(0x17d)},'body':JSON['stringify']({'jsonrpc':'2.0','id':0x1,'method':_0x29c6e5[_0x3935dc(0x1da)],'params':{'protocolVersion':_0x29c6e5[_0x3935dc(0x1ae)],'capabilities':{},'clientInfo':{'name':_0x3935dc(0x17b),'version':_0x29c6e5[_0x3935dc(0x172)]}}})});if(_0x1d24a5['ok'])return await _0x1d24a5['text'](),_0x3935dc(0x1c0);if(_0x29c6e5['Jeybx'](_0x1d24a5['status'],0x191))return await _0x1d24a5['text'](),'needs-oauth';const _0x53a14a=await _0x1d24a5[_0x3935dc(0x151)]();throw new Error('MCP\x20server\x20returned\x20HTTP\x20'+_0x1d24a5[_0x3935dc(0x181)]+':\x20'+_0x53a14a);}function _0x4349(){const _0x276353=['writeHead','log','MCP\x20initialize\x20failed:\x20','base64url','error','token','INYwn','GElfs','expiresAt','HZoFC','startsWith','toString','YnzZU','8813496fOkEML','message','2.0','Registering\x20OAuth\x20client...','resource','WzXCM','No\x20JSON-RPC\x20response\x20found\x20in\x20SSE\x20stream','POST','replace','1.0.0','fLrtN','1716328naIJQi','uHLVw','/callback','<html><body><h2>Invalid\x20callback</h2><p>Missing\x20code\x20or\x20state\x20mismatch.</p></body></html>','TuoOJ','result','end','http://localhost:','win32','\x20done','get','authorization_endpoint','refresh.txt','accessToken','Mywoq','BexTI','origin','Run\x20`ranger\x20status`\x20to\x20verify\x20authentication.\x0a','kIqcb','.ranger','isTTY','Ranger\x20CLI','yDDjS','json','hjmvn','\x0aToken\x20written\x20to\x20','clientId','zDcVv','utf-8','ZSGpP','includes','platform','Discovering\x20authorization\x20server...','proxied','application/json','jWQuU','ipQxn','1857520KqYUoz','client_secret','yZXKh','dKyms','registration_endpoint','state','clientSecret','RIBtn','nvZXh','DLpdN','get_cli_token\x20failed:\x20','digest','start','iWEBD','structuredContent','code_challenge','108275gRlSvj','S256','stringify','Exchanging\x20authorization\x20code...','exlTZ','refresh_token','WTiJe','response_type','1014588QqxaPx','text','get_cli_token','76188VZRmNm','now','write','trim','MCP\x20server\x20requires\x20authentication\x20but\x20running\x20in\x20non-interactive\x20mode.\x0a','stdout','oxDza','tools/call','\x0aCached\x20OAuth\x20client\x20may\x20be\x20stale\x20—\x20clearing\x20and\x20retrying...\x0a','error_description','No\x20authorization_servers\x20in\x20protected\x20resource\x20metadata','HnUYk','token_endpoint','expires_in','\x0aConnecting\x20to\x20MCP\x20auth\x20server:\x20','fOkzJ','BXKBe','dMzlK','Authorization','TwPKv','<html><body><h2>Authentication\x20failed</h2><p>','nNRZq','OAuth\x20error:\x20','/.well-known/oauth-authorization-server','aacfH','Token\x20exchange\x20failed:\x20','CiLEr','searchParams','slice','Could\x20not\x20fetch\x20protected\x20resource\x20metadata\x20from\x20MCP\x20server','IAlYR','NSQkB','HTTP\x20','parse','rOWIy','2482671WgbAWy','split','mobga','gBUfO','2025-03-26','ranger-cli','</p><p>You\x20can\x20close\x20this\x20window.</p></body></html>','application/json,\x20text/event-stream','OAuthTimeoutError','gayrp','set','status','161XbyCGt','content','Initializing\x20MCP\x20session...','<html><body><h2>Authenticated!</h2><p>You\x20can\x20close\x20this\x20window\x20and\x20return\x20to\x20the\x20terminal.</p></body></html>','code'];_0x4349=function(){return _0x276353;};return _0x4349();}class OAuthTimeoutError extends Error{constructor(_0xc3bd3e){const _0x1fb28a=_0x18a896;super(_0xc3bd3e),this['name']=_0x1fb28a(0x17e);}}async function oauthFlow(_0x432692){const _0x126b01=_0x18a896,_0xf991af={'lCjcw':function(_0x48f224){return _0x48f224();},'lKPex':function(_0xd585){return _0xd585();},'dKyms':function(_0x5b4688,_0xc7397a){return _0x5b4688(_0xc7397a);}};try{return await oauthFlowAttempt(_0x432692);}catch(_0x2e512f){if(_0x2e512f instanceof OAuthTimeoutError&&await _0xf991af['lCjcw'](loadCachedClient))return console[_0x126b01(0x188)](_0x126b01(0x15b)),await _0xf991af['lKPex'](clearCachedClient),await _0xf991af[_0x126b01(0x1c7)](oauthFlowAttempt,_0x432692);throw _0x2e512f;}}async function oauthFlowAttempt(_0x271786){const _0x388ed4=_0x18a896,_0x1c418f={'uoVSd':'authorization_code','dMzlK':'refresh_token','CcnIS':'none','Mywoq':'Authorization\x20server\x20does\x20not\x20support\x20dynamic\x20client\x20registration\x20and\x20no\x20cached\x20client\x20found','yzWZR':'sha256','exlTZ':_0x388ed4(0x14f),'mobga':'redirect_uri','HxcrE':_0x388ed4(0x1d5),'BXKBe':function(_0x137a0d,_0x49faab){return _0x137a0d(_0x49faab);},'CDKbQ':_0x388ed4(0x1d7),'mjgts':_0x388ed4(0x1c5),'YZwko':'resource','hbJkR':function(_0x519489,_0x245063,_0x2b1cfe){return _0x519489(_0x245063,_0x2b1cfe);},'fLrtN':'application/x-www-form-urlencoded','kNKlZ':function(_0x4dbe05,_0xb1953e,_0x469fae,_0x2dfb59){return _0x4dbe05(_0xb1953e,_0x469fae,_0x2dfb59);}},_0x1b803c=_0x271786[_0x388ed4(0x19c)](/\/mcp$/,'');process['stdout']['write'](_0x388ed4(0x1bf));const _0x33361c=await fetch(_0x1b803c+'/.well-known/oauth-protected-resource');if(!_0x33361c['ok'])throw new Error(_0x388ed4(0x170));const _0x2bf2f2=await _0x33361c[_0x388ed4(0x1b6)](),_0xb30158=_0x2bf2f2['authorization_servers']?.[0x0];if(!_0xb30158)throw new Error(_0x388ed4(0x15d));console[_0x388ed4(0x188)]('\x20'+_0xb30158);const _0x128c54=await fetchAuthServerMetadata(_0xb30158);let _0xf1f61e,_0x5c7ef9;const _0x54ac8b=await loadCachedClient();if(_0x54ac8b)_0xf1f61e=_0x54ac8b[_0x388ed4(0x1b9)],_0x5c7ef9=_0x54ac8b[_0x388ed4(0x1ca)];else{if(_0x128c54['registration_endpoint']){process[_0x388ed4(0x158)][_0x388ed4(0x155)](_0x388ed4(0x197));const _0x499173=await fetch(_0x128c54[_0x388ed4(0x1c8)],{'method':_0x388ed4(0x19b),'headers':{'Content-Type':'application/json'},'body':JSON[_0x388ed4(0x1d6)]({'client_name':_0x388ed4(0x1b4),'redirect_uris':['http://localhost:'+CALLBACK_PORT+'/callback'],'grant_types':[_0x1c418f['uoVSd'],_0x1c418f[_0x388ed4(0x164)]],'response_types':[_0x388ed4(0x186)],'token_endpoint_auth_method':_0x1c418f['CcnIS']})});if(!_0x499173['ok']){const _0x55c96a=await _0x499173['text']();throw new Error('Client\x20registration\x20failed:\x20'+_0x55c96a);}const _0x5ade3e=await _0x499173[_0x388ed4(0x1b6)]();_0xf1f61e=_0x5ade3e['client_id'],_0x5c7ef9=_0x5ade3e['client_secret'],await saveCachedClient(_0xf1f61e,_0x5c7ef9),console['log']('\x20done');}else throw new Error(_0x1c418f[_0x388ed4(0x1ad)]);}const _0x20b846=randomBytes(0x20)['toString'](_0x388ed4(0x18a)),_0x3b1842=createHash(_0x1c418f['yzWZR'])['update'](_0x20b846)[_0x388ed4(0x1cf)](_0x388ed4(0x18a)),_0x18149c=randomBytes(0x10)[_0x388ed4(0x192)]('hex'),_0x4cac7c=new URL(_0x128c54[_0x388ed4(0x1aa)]);_0x4cac7c['searchParams']['set'](_0x1c418f[_0x388ed4(0x1d8)],'code'),_0x4cac7c[_0x388ed4(0x16e)]['set']('client_id',_0xf1f61e),_0x4cac7c[_0x388ed4(0x16e)]['set'](_0x1c418f[_0x388ed4(0x178)],_0x388ed4(0x1a6)+CALLBACK_PORT+'/callback'),_0x4cac7c[_0x388ed4(0x16e)]['set'](_0x388ed4(0x1d3),_0x3b1842),_0x4cac7c[_0x388ed4(0x16e)]['set']('code_challenge_method',_0x1c418f['HxcrE']),_0x4cac7c['searchParams'][_0x388ed4(0x180)]('state',_0x18149c);_0x2bf2f2[_0x388ed4(0x198)]&&_0x4cac7c['searchParams']['set']('resource',_0x2bf2f2[_0x388ed4(0x198)]);console[_0x388ed4(0x188)]('\x0aOpening\x20browser\x20for\x20authentication...'),console[_0x388ed4(0x188)]('If\x20the\x20browser\x20doesn\x27t\x20open,\x20visit:\x0a'+_0x4cac7c[_0x388ed4(0x192)]()+'\x0a'),await _0x1c418f[_0x388ed4(0x163)](openBrowser,_0x4cac7c[_0x388ed4(0x192)]());const _0x355fa=await waitForCallback(_0x18149c);process['stdout']['write'](_0x1c418f['CDKbQ']);const _0x2f5b2b=new URLSearchParams({'grant_type':_0x1c418f['uoVSd'],'code':_0x355fa,'redirect_uri':_0x388ed4(0x1a6)+CALLBACK_PORT+_0x388ed4(0x1a1),'client_id':_0xf1f61e,'code_verifier':_0x20b846});_0x5c7ef9&&_0x2f5b2b[_0x388ed4(0x180)](_0x1c418f['mjgts'],_0x5c7ef9);_0x2bf2f2['resource']&&_0x2f5b2b['set'](_0x1c418f['YZwko'],_0x2bf2f2[_0x388ed4(0x198)]);const _0x27122f=await _0x1c418f['hbJkR'](fetch,_0x128c54[_0x388ed4(0x15f)],{'method':_0x388ed4(0x19b),'headers':{'Content-Type':_0x1c418f[_0x388ed4(0x19e)]},'body':_0x2f5b2b});if(!_0x27122f['ok']){const _0x31dd11=await _0x27122f['text']();throw new Error(_0x388ed4(0x16c)+_0x31dd11);}const _0xb19c4=await _0x27122f['json']();return console['log']('\x20done'),await _0x1c418f['kNKlZ'](saveCachedToken,_0xb19c4['access_token'],_0xb19c4[_0x388ed4(0x1d9)],_0xb19c4[_0x388ed4(0x160)]),_0xb19c4['access_token'];}async function callGetCliToken(_0x4cd5eb,_0x5ecd4a){const _0x2f13a5=_0x18a896,_0x184de9={'ipQxn':function(_0x16d33b,_0x4ac561,_0x342eb6){return _0x16d33b(_0x4ac561,_0x342eb6);},'iIaww':'application/json','YSLtk':'initialize','IAvih':'2025-03-26','gBUfO':_0x2f13a5(0x17b),'oxDza':'1.0.0','ZSGpP':_0x2f13a5(0x19b),'keHeV':'notifications/initialized','HZoFC':'Requesting\x20CLI\x20token...','xNiBq':function(_0x20c489,_0x554759){return _0x20c489(_0x554759);},'yDDjS':_0x2f13a5(0x196),'hdngJ':_0x2f13a5(0x15a),'vsQVY':function(_0x8b3acf,_0xbff1b4,_0x47d6d7){return _0x8b3acf(_0xbff1b4,_0x47d6d7);},'HnUYk':function(_0x40847b){return _0x40847b();},'Iydya':function(_0x4626ab,_0x2e6c8a,_0x22dd86,_0x504374){return _0x4626ab(_0x2e6c8a,_0x22dd86,_0x504374);},'kMtiR':'auth-origin.txt'},_0x1cbac6={'Content-Type':_0x184de9['iIaww'],'Accept':'application/json,\x20text/event-stream'};_0x5ecd4a&&(_0x1cbac6[_0x2f13a5(0x165)]='Bearer\x20'+_0x5ecd4a);const _0x369e09=async _0x36bb6f=>{const _0x5b172d=_0x2f13a5,_0x18ff67=await _0x184de9[_0x5b172d(0x1c3)](fetch,_0x4cd5eb,{'method':'POST','headers':_0x1cbac6,'body':JSON[_0x5b172d(0x1d6)](_0x36bb6f)});if(!_0x18ff67['ok']){const _0x3f76fb=await _0x18ff67[_0x5b172d(0x151)]();throw new Error(_0x5b172d(0x173)+_0x18ff67['status']+':\x20'+_0x3f76fb);}return parseResponse(_0x18ff67);};process[_0x2f13a5(0x158)][_0x2f13a5(0x155)](_0x2f13a5(0x184));const _0x2f0684=await _0x369e09({'jsonrpc':'2.0','id':0x1,'method':_0x184de9['YSLtk'],'params':{'protocolVersion':_0x184de9['IAvih'],'capabilities':{},'clientInfo':{'name':_0x184de9[_0x2f13a5(0x179)],'version':_0x184de9[_0x2f13a5(0x159)]}}});if(_0x2f0684['error'])throw new Error(_0x2f13a5(0x189)+(_0x2f0684['error'][_0x2f13a5(0x195)]??JSON[_0x2f13a5(0x1d6)](_0x2f0684['error'])));console[_0x2f13a5(0x188)](_0x2f13a5(0x1a8)),await fetch(_0x4cd5eb,{'method':_0x184de9[_0x2f13a5(0x1bc)],'headers':_0x1cbac6,'body':JSON[_0x2f13a5(0x1d6)]({'jsonrpc':'2.0','method':_0x184de9['keHeV']})})['then'](_0xb2ab0c=>_0xb2ab0c[_0x2f13a5(0x151)]()),process[_0x2f13a5(0x158)][_0x2f13a5(0x155)](_0x184de9[_0x2f13a5(0x190)]);const _0x2dafa5=await _0x184de9['xNiBq'](_0x369e09,{'jsonrpc':_0x184de9[_0x2f13a5(0x1b5)],'id':0x2,'method':_0x184de9['hdngJ'],'params':{'name':_0x2f13a5(0x152),'arguments':{}}});if(_0x2dafa5[_0x2f13a5(0x18b)])throw new Error(_0x2f13a5(0x1ce)+(_0x2dafa5[_0x2f13a5(0x18b)]['message']??JSON['stringify'](_0x2dafa5['error'])));console[_0x2f13a5(0x188)]('\x20done');const _0x1e58c7=extractToken(_0x2dafa5[_0x2f13a5(0x1a4)]);if(!_0x1e58c7){console[_0x2f13a5(0x18b)]('\x0aUnexpected\x20response\x20structure:'),console[_0x2f13a5(0x18b)](JSON[_0x2f13a5(0x1d6)](_0x2dafa5[_0x2f13a5(0x1a4)],null,0x2));throw new Error('Could\x20not\x20extract\x20token\x20from\x20MCP\x20response');}const _0x2e645b=_0x184de9['vsQVY'](join,_0x184de9[_0x2f13a5(0x15e)](homedir),_0x2f13a5(0x1b2)),_0x4e3c6a=join(_0x2e645b,_0x2f13a5(0x1ab));await _0x184de9[_0x2f13a5(0x1c3)](mkdir,_0x2e645b,{'recursive':!![]}),await _0x184de9['Iydya'](writeFile,_0x4e3c6a,_0x1e58c7,{'mode':0x180}),await writeFile(join(_0x2e645b,_0x184de9['kMtiR']),_0x4cd5eb,{'mode':0x180}),console[_0x2f13a5(0x188)](_0x2f13a5(0x1b8)+_0x4e3c6a),console['log'](_0x2f13a5(0x1b0));}async function fetchAuthServerMetadata(_0x1570f4){const _0x4dcbfc=_0x18a896,_0x46737e={'nvZXh':function(_0x1012a0,_0x24878f){return _0x1012a0(_0x24878f);}},_0x4469a4=_0x1570f4+_0x4dcbfc(0x16a),_0x374402=await _0x46737e[_0x4dcbfc(0x1cc)](fetch,_0x4469a4);if(!_0x374402['ok'])throw new Error('Could\x20not\x20fetch\x20auth\x20server\x20metadata\x20from\x20'+_0x4469a4+':\x20'+_0x374402['status']);return _0x374402[_0x4dcbfc(0x1b6)]();}function waitForCallback(_0x4ef7d1){const _0x3885a5=_0x18a896,_0x2c6b88={'TwPKv':_0x3885a5(0x1a1),'GElfs':_0x3885a5(0x1c9),'nNRZq':_0x3885a5(0x18b),'TuoOJ':_0x3885a5(0x15c),'aacfH':'text/html','kIqcb':function(_0x4cc2f7,_0x2430f4){return _0x4cc2f7(_0x2430f4);},'zDcVv':function(_0x4f1391){return _0x4f1391();},'tbCUL':_0x3885a5(0x1a2),'PGsqh':function(_0x4fa245,_0xe0be96){return _0x4fa245(_0xe0be96);},'mJeNK':function(_0x2c6eb4){return _0x2c6eb4();},'rOWIy':function(_0x5d0fba,_0x595512){return _0x5d0fba(_0x595512);},'hjmvn':function(_0x5c5d0e,_0x20f8ff,_0x240322){return _0x5c5d0e(_0x20f8ff,_0x240322);},'XrOgx':'127.0.0.1'};return new Promise((_0x198a01,_0x48bc97)=>{const _0x1a740c=_0x3885a5,_0x3c6977={'WzXCM':function(_0x48c397){return _0x2c6b88['mJeNK'](_0x48c397);},'IAlYR':function(_0x4eabf6,_0x264d9c){const _0x225c14=_0x5129;return _0x2c6b88[_0x225c14(0x175)](_0x4eabf6,_0x264d9c);}},_0x5983d4=()=>{_0x4c6458['closeAllConnections'](),_0x4c6458['close']();},_0x6285d2=_0x2c6b88[_0x1a740c(0x1b7)](setTimeout,()=>{const _0x56386a=_0x1a740c;_0x3c6977[_0x56386a(0x199)](_0x5983d4),_0x3c6977[_0x56386a(0x171)](_0x48bc97,new OAuthTimeoutError('OAuth\x20callback\x20timed\x20out\x20after\x202\x20minutes'));},0x1d4c0),_0x4c6458=_0x2c6b88['kIqcb'](createServer,(_0x418d18,_0x5defc9)=>{const _0x4a5ce5=_0x1a740c,_0x420446=new URL(_0x418d18['url']??'/',_0x4a5ce5(0x1a6)+CALLBACK_PORT);if(_0x420446['pathname']!==_0x2c6b88[_0x4a5ce5(0x166)]){_0x5defc9['writeHead'](0x194),_0x5defc9[_0x4a5ce5(0x1a5)]('Not\x20found');return;}const _0x15e67f=_0x420446['searchParams'][_0x4a5ce5(0x1a9)]('code'),_0x275dd6=_0x420446['searchParams']['get'](_0x2c6b88[_0x4a5ce5(0x18e)]),_0x2eba54=_0x420446['searchParams'][_0x4a5ce5(0x1a9)](_0x2c6b88[_0x4a5ce5(0x168)]);if(_0x2eba54){const _0x32529d=_0x420446[_0x4a5ce5(0x16e)]['get'](_0x2c6b88[_0x4a5ce5(0x1a3)])??_0x2eba54;_0x5defc9[_0x4a5ce5(0x187)](0xc8,{'Content-Type':_0x2c6b88['aacfH']}),_0x5defc9[_0x4a5ce5(0x1a5)](_0x4a5ce5(0x167)+_0x32529d+_0x4a5ce5(0x17c)),_0x2c6b88[_0x4a5ce5(0x1b1)](clearTimeout,_0x6285d2),_0x2c6b88[_0x4a5ce5(0x1ba)](_0x5983d4),_0x2c6b88[_0x4a5ce5(0x1b1)](_0x48bc97,new Error(_0x4a5ce5(0x169)+_0x32529d));return;}if(!_0x15e67f||_0x275dd6!==_0x4ef7d1){_0x5defc9['writeHead'](0x190,{'Content-Type':_0x2c6b88[_0x4a5ce5(0x16b)]}),_0x5defc9['end'](_0x2c6b88['tbCUL']);return;}_0x5defc9['writeHead'](0xc8,{'Content-Type':_0x2c6b88[_0x4a5ce5(0x16b)]}),_0x5defc9[_0x4a5ce5(0x1a5)](_0x4a5ce5(0x185)),clearTimeout(_0x6285d2),_0x5983d4(),_0x2c6b88['PGsqh'](_0x198a01,_0x15e67f);});_0x4c6458['listen'](CALLBACK_PORT,_0x2c6b88['XrOgx']);});}async function openBrowser(_0x2f8480){const _0x395245=_0x18a896,_0x2a726c={'vbaRL':function(_0x5d0f9e,_0x154394){return _0x5d0f9e===_0x154394;},'cYXtR':'darwin','AYtRt':function(_0x3dc8da,_0x583690){return _0x3dc8da===_0x583690;},'fOkzJ':_0x395245(0x1d0),'gayrp':'xdg-open','iWEBD':function(_0x6f3def,_0x1fb1ce){return _0x6f3def(_0x1fb1ce);}},_0xc528f5=_0x2a726c['vbaRL'](process[_0x395245(0x1be)],_0x2a726c['cYXtR'])?'open':_0x2a726c['AYtRt'](process['platform'],_0x395245(0x1a7))?_0x2a726c[_0x395245(0x162)]:_0x2a726c[_0x395245(0x17f)];_0x2a726c[_0x395245(0x1d1)](exec,_0xc528f5+'\x20\x22'+_0x2f8480+'\x22');}let currentOrigin='';async function loadCachedToken(){const _0x1f9b49=_0x18a896,_0x5c44d9={'yPdrp':_0x1f9b49(0x1bb)};try{const _0x59da68=JSON['parse'](await readFile(TOKEN_CACHE_PATH,_0x5c44d9['yPdrp']));if(_0x59da68[_0x1f9b49(0x1af)]&&_0x59da68['origin']!==currentOrigin)return null;if(_0x59da68[_0x1f9b49(0x18f)]&&Date['now']()>_0x59da68['expiresAt'])return null;return _0x59da68[_0x1f9b49(0x1ac)]??null;}catch{return null;}}async function saveCachedToken(_0x140fd4,_0xb56008,_0x348cda){const _0x3c6729=_0x18a896,_0x9acf79={'MhHiN':function(_0xd31206){return _0xd31206();},'SgHEE':function(_0x51f803,_0x4cf84b,_0x57ff8b){return _0x51f803(_0x4cf84b,_0x57ff8b);},'DLpdN':function(_0xc44983,_0x13b5fc,_0x42715a,_0xf2a137){return _0xc44983(_0x13b5fc,_0x42715a,_0xf2a137);}},_0x3e0762=await _0x9acf79['MhHiN'](loadCachedData),_0x2204a9={..._0x3e0762,'origin':currentOrigin,'accessToken':_0x140fd4,'refreshToken':_0xb56008??_0x3e0762?.['refreshToken'],'expiresAt':_0x348cda?Date[_0x3c6729(0x154)]()+_0x348cda*0x3e8:undefined};await _0x9acf79['SgHEE'](mkdir,_0x9acf79['SgHEE'](join,homedir(),'.ranger'),{'recursive':!![]}),await _0x9acf79[_0x3c6729(0x1cd)](writeFile,TOKEN_CACHE_PATH,JSON[_0x3c6729(0x1d6)](_0x2204a9),{'mode':0x180});}async function loadCachedClient(){const _0x1c8f61=_0x18a896,_0x219ea3={'jexKi':function(_0x884fb6){return _0x884fb6();}},_0x57aea8=await _0x219ea3['jexKi'](loadCachedData);if(_0x57aea8?.[_0x1c8f61(0x1af)]&&_0x57aea8['origin']!==currentOrigin)return null;return _0x57aea8?.['clientId']?{'clientId':_0x57aea8[_0x1c8f61(0x1b9)],'clientSecret':_0x57aea8[_0x1c8f61(0x1ca)]}:null;}async function clearCachedClient(){const _0x3bd0ae=await loadCachedData();if(!_0x3bd0ae)return;const {clientId:_0x1d3739,clientSecret:_0x32906e,..._0x3235ac}=_0x3bd0ae;await writeFile(TOKEN_CACHE_PATH,JSON['stringify'](_0x3235ac),{'mode':0x180});}async function saveCachedClient(_0x448612,_0x1e1fe1){const _0xdf7a9c=_0x18a896,_0x2853a6={'daHck':function(_0x4c0950,_0x8006bb,_0x2af611){return _0x4c0950(_0x8006bb,_0x2af611);},'YnzZU':function(_0x176d12,_0x284926,_0x564be2,_0x56ee4d){return _0x176d12(_0x284926,_0x564be2,_0x56ee4d);}},_0x1eef8d=await loadCachedData(),_0x3b9a09={..._0x1eef8d,'origin':currentOrigin,'accessToken':_0x1eef8d?.['accessToken']??'','clientId':_0x448612,'clientSecret':_0x1e1fe1};await _0x2853a6['daHck'](mkdir,join(homedir(),'.ranger'),{'recursive':!![]}),await _0x2853a6[_0xdf7a9c(0x193)](writeFile,TOKEN_CACHE_PATH,JSON['stringify'](_0x3b9a09),{'mode':0x180});}async function loadCachedData(){const _0x4c3c4d=_0x18a896,_0x10b5e0={'jWQuU':function(_0x4bc96a,_0x3537ae,_0x519499){return _0x4bc96a(_0x3537ae,_0x519499);}};try{return JSON[_0x4c3c4d(0x174)](await _0x10b5e0[_0x4c3c4d(0x1c2)](readFile,TOKEN_CACHE_PATH,_0x4c3c4d(0x1bb)));}catch{return null;}}async function parseResponse(_0x1c8a2e){const _0x424190=_0x18a896,_0x5d3b8a={'RIBtn':'content-type','uHLVw':'text/event-stream'},_0x2a5749=_0x1c8a2e['headers']['get'](_0x5d3b8a[_0x424190(0x1cb)])??'';if(_0x2a5749[_0x424190(0x1bd)](_0x5d3b8a[_0x424190(0x1a0)])){const _0x190aea=await _0x1c8a2e[_0x424190(0x151)]();for(const _0x32c6d9 of _0x190aea[_0x424190(0x177)]('\x0a')){const _0x3b9176=_0x32c6d9[_0x424190(0x156)]();if(_0x3b9176[_0x424190(0x191)]('data:')){const _0x47d80f=_0x3b9176[_0x424190(0x16f)]('data:'['length'])[_0x424190(0x156)]();if(!_0x47d80f)continue;try{const _0x25f142=JSON[_0x424190(0x174)](_0x47d80f);if(_0x25f142['id']!==undefined||_0x25f142[_0x424190(0x18b)])return _0x25f142;}catch{}}}throw new Error(_0x424190(0x19a));}return _0x1c8a2e['json']();}function extractToken(_0x36bd71){const _0x4d52c5=_0x18a896,_0x577a9a={'WsSzX':'Unknown\x20error','yZXKh':function(_0x55e786,_0x3ac0de){return _0x55e786===_0x3ac0de;}};if(!_0x36bd71)return null;const _0x537767=_0x36bd71[_0x4d52c5(0x1d2)];if(_0x537767?.[_0x4d52c5(0x18c)]&&typeof _0x537767[_0x4d52c5(0x18c)]==='string')return _0x537767[_0x4d52c5(0x18c)];if(_0x36bd71['isError']){const _0x3b5e69=_0x36bd71['content'];throw new Error('Server\x20returned\x20error:\x20'+(_0x3b5e69?.[0x0]?.['text']??_0x577a9a['WsSzX']));}const _0x3356ad=_0x36bd71[_0x4d52c5(0x183)];if(_0x3356ad)for(const _0x3968e2 of _0x3356ad){if(_0x577a9a['yZXKh'](_0x3968e2['type'],_0x4d52c5(0x151))&&_0x3968e2['text']){try{const _0x51bfb2=JSON['parse'](_0x3968e2[_0x4d52c5(0x151)]);if(_0x577a9a[_0x4d52c5(0x1c6)](typeof _0x51bfb2?.['token'],'string'))return _0x51bfb2['token'];}catch{}const _0x5f2a42=_0x3968e2[_0x4d52c5(0x151)]['match'](/(rngr_[A-Za-z0-9_-]+)/);if(_0x5f2a42)return _0x5f2a42[0x1];}}return null;}
@@ -1 +1 @@
1
- (function(_0x4df19d,_0x1f7291){var _0x3756b7=_0x456f,_0x19be93=_0x4df19d();while(!![]){try{var _0x51468b=parseInt(_0x3756b7(0x13e))/0x1*(-parseInt(_0x3756b7(0x143))/0x2)+-parseInt(_0x3756b7(0x13d))/0x3*(parseInt(_0x3756b7(0x139))/0x4)+parseInt(_0x3756b7(0x142))/0x5+-parseInt(_0x3756b7(0x134))/0x6+-parseInt(_0x3756b7(0x148))/0x7+-parseInt(_0x3756b7(0x140))/0x8+parseInt(_0x3756b7(0x144))/0x9*(parseInt(_0x3756b7(0x141))/0xa);if(_0x51468b===_0x1f7291)break;else _0x19be93['push'](_0x19be93['shift']());}catch(_0x284148){_0x19be93['push'](_0x19be93['shift']());}}}(_0x337d,0x79c19));function _0x456f(_0x23654d,_0x326d98){_0x23654d=_0x23654d-0x134;var _0x337de6=_0x337d();var _0x456f30=_0x337de6[_0x23654d];return _0x456f30;}function _0x337d(){var _0x569afc=['1729287sVsAxI','For\x20CI\x20/\x20background\x20agents\x20and\x20other\x20setup\x20options,\x20see:\x0a','1387464HtifhR','cSNdP','YoAWm','TNjhp','Existing\x20sessions\x20in\x20your\x20old\x20<project>/.ranger/\x20dirs\x20still\x20work\x20as\x20a\x0a','259132RZwflc','bNhPM','ranger\x20profile\x20migrate\x20is\x20no\x20longer\x20supported.\x0a','error','3BsPnLP','6euqPaO','exit','730640ZClvCM','3605680NzIJnJ','775645zEByiZ','34574jVvBst','27vUEFWh','XiOdS','vLqFx','To\x20set\x20up\x20a\x20fresh\x20profile,\x20run:\x0a'];_0x337d=function(){return _0x569afc;};return _0x337d();}export async function migrateProfile(_0x10fc6e,_0x345245){var _0x51aaa7=_0x456f,_0x4206e0={'YoAWm':function(_0x1fab60,_0x5a5995){return _0x1fab60+_0x5a5995;},'TNjhp':function(_0x2d1edd,_0x36677f){return _0x2d1edd+_0x36677f;},'cSNdP':_0x51aaa7(0x13b),'XiOdS':_0x51aaa7(0x147),'EMzRU':'\x20\x20ranger\x20profile\x20add\x20<name>\x0a','bNhPM':_0x51aaa7(0x149),'xZodJ':'\x20\x20https://docs.ranger.net/main/concepts/profiles\x0a','vLqFx':_0x51aaa7(0x138)};console[_0x51aaa7(0x13c)](_0x4206e0[_0x51aaa7(0x136)](_0x4206e0[_0x51aaa7(0x137)](_0x4206e0['YoAWm'](_0x4206e0['YoAWm'](_0x4206e0[_0x51aaa7(0x135)],'\x0a')+_0x4206e0[_0x51aaa7(0x145)],_0x4206e0['EMzRU']),'\x0a')+_0x4206e0[_0x51aaa7(0x13a)]+_0x4206e0['xZodJ'],'\x0a')+_0x4206e0[_0x51aaa7(0x146)]+'fallback;\x20you\x20can\x20delete\x20them\x20once\x20you\x20have\x20re-auth-ed.'),process[_0x51aaa7(0x13f)](0x1);}
1
+ (function(_0xb1ab38,_0x27b16c){var _0x14b409=_0x20fe,_0xd582a9=_0xb1ab38();while(!![]){try{var _0x2490aa=parseInt(_0x14b409(0xb8))/0x1*(parseInt(_0x14b409(0xb6))/0x2)+-parseInt(_0x14b409(0xbe))/0x3+-parseInt(_0x14b409(0xc2))/0x4*(-parseInt(_0x14b409(0xb5))/0x5)+parseInt(_0x14b409(0xbd))/0x6*(parseInt(_0x14b409(0xb7))/0x7)+-parseInt(_0x14b409(0xbf))/0x8+-parseInt(_0x14b409(0xbb))/0x9*(parseInt(_0x14b409(0xbc))/0xa)+parseInt(_0x14b409(0xb4))/0xb;if(_0x2490aa===_0x27b16c)break;else _0xd582a9['push'](_0xd582a9['shift']());}catch(_0x353b1e){_0xd582a9['push'](_0xd582a9['shift']());}}}(_0x49df,0xdbe07));function _0x20fe(_0x223445,_0x42ae04){_0x223445=_0x223445-0xb3;var _0x49df31=_0x49df();var _0x20fe16=_0x49df31[_0x223445];return _0x20fe16;}export async function migrateProfile(_0x1d3c86,_0xf58b7e){var _0x35a66a=_0x20fe,_0xf9d02a={'kqvRs':function(_0x266957,_0x4bf5d6){return _0x266957+_0x4bf5d6;},'veFuS':function(_0x533d50,_0x26c204){return _0x533d50+_0x26c204;},'jWZEc':function(_0x24c4b7,_0xc53b66){return _0x24c4b7+_0xc53b66;},'gbbUF':function(_0x3c2d65,_0x312cc3){return _0x3c2d65+_0x312cc3;},'OpKRI':_0x35a66a(0xc3),'bEGRB':_0x35a66a(0xc0)};console[_0x35a66a(0xc1)](_0xf9d02a['kqvRs'](_0xf9d02a['veFuS'](_0xf9d02a['kqvRs'](_0xf9d02a[_0x35a66a(0xba)](_0xf9d02a['gbbUF'](_0x35a66a(0xc5),'\x0a')+_0x35a66a(0xc4),'\x20\x20ranger\x20profile\x20add\x20<name>\x0a'),'\x0a')+_0x35a66a(0xb9),'\x20\x20https://docs.ranger.net/main/concepts/profiles\x0a')+'\x0a',_0xf9d02a['OpKRI'])+_0xf9d02a[_0x35a66a(0xb3)]),process['exit'](0x1);}function _0x49df(){var _0x4e6e77=['For\x20CI\x20/\x20background\x20agents\x20and\x20other\x20setup\x20options,\x20see:\x0a','jWZEc','363627WNEmph','110SmQBjj','49194uzNxhc','3583479hdlbfO','5286536uhNeoG','fallback;\x20you\x20can\x20delete\x20them\x20once\x20you\x20have\x20re-auth-ed.','error','32bsPLiq','Existing\x20sessions\x20in\x20your\x20old\x20<project>/.ranger/\x20dirs\x20still\x20work\x20as\x20a\x0a','To\x20set\x20up\x20a\x20fresh\x20profile,\x20run:\x0a','ranger\x20profile\x20migrate\x20is\x20no\x20longer\x20supported.\x0a','bEGRB','20212390WuwBtc','10565ewGgwU','2OLHwyy','973fSkZlR','206303zZxRCC'];_0x49df=function(){return _0x4e6e77;};return _0x49df();}
@@ -1 +1 @@
1
- function _0x2c09(_0x4ec352,_0x4be285){_0x4ec352=_0x4ec352-0x17a;const _0x4d0741=_0x4d07();let _0x2c0904=_0x4d0741[_0x4ec352];return _0x2c0904;}(function(_0x31c2cd,_0x419c1b){const _0x4377e3=_0x2c09,_0x1ef449=_0x31c2cd();while(!![]){try{const _0x5eb11c=-parseInt(_0x4377e3(0x18f))/0x1*(parseInt(_0x4377e3(0x1aa))/0x2)+parseInt(_0x4377e3(0x17d))/0x3*(-parseInt(_0x4377e3(0x17a))/0x4)+parseInt(_0x4377e3(0x1a6))/0x5*(parseInt(_0x4377e3(0x19a))/0x6)+parseInt(_0x4377e3(0x1a9))/0x7*(parseInt(_0x4377e3(0x1a4))/0x8)+-parseInt(_0x4377e3(0x189))/0x9+-parseInt(_0x4377e3(0x196))/0xa*(-parseInt(_0x4377e3(0x184))/0xb)+parseInt(_0x4377e3(0x181))/0xc;if(_0x5eb11c===_0x419c1b)break;else _0x1ef449['push'](_0x1ef449['shift']());}catch(_0xbb83fc){_0x1ef449['push'](_0x1ef449['shift']());}}}(_0x4d07,0x6dc4b));import{join}from'path';import{existsSync}from'fs';function _0x4d07(){const _0x8e727f=['RaGfr','HBKaQ','enable','--scope','JAEZG','tcqKf','❌\x20Failed\x20to\x20add\x20marketplace:','nNIFf','40ZElkvw','project','5jZSFmT','\x20\x20claude\x20plugin\x20marketplace\x20add\x20ranger-testing/trailhead','error','1237334zTyTRQ','110uUdxDS','Project\x20(shared\x20with\x20team\x20via\x20git)','TmpXy','csTBh','364lMNPTm','success','✓\x20Ranger\x20skills\x20already\x20installed','28416LGlepe','ranger@trailhead','BHeQL','qOcGV','2344368lBhTft','ZMNgR','OQryh','4158VJZfDe','\x0a📦\x20Claude\x20Code\x20Plugin\x0a','user','jLdhk','ranger-testing/trailhead','3684384NxMnPZ','yJHOW','plugin','marketplace','\x20\x20claude\x20plugin\x20install\x20ranger@trailhead\x20--scope\x20','wantsSkillup','15443mtUtma','DnjQW','CjcoW','\x0aYou\x20can\x20install\x20manually\x20with:','VooPI','✓\x20Marketplace\x20already\x20added','UbEqS','16280xDwiVE','LercH','✓\x20Claude\x20Code\x20plugin\x20installed\x20successfully','\x0aInstalling\x20Claude\x20Code\x20plugin\x20(','5254476wzKwwS','log'];_0x4d07=function(){return _0x8e727f;};return _0x4d07();}import _0x6b25b8 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(_0x133260){const _0x4f46f7=_0x2c09,_0x4d9f75={'OQryh':function(_0x3a5acb,_0xddbe53){return _0x3a5acb(_0xddbe53);},'VooPI':_0x4f46f7(0x17e),'iWpRA':'✓\x20Claude\x20Code\x20plugin\x20already\x20installed','eZvsE':function(_0xa38bf0,_0xf9bc8b){return _0xa38bf0(_0xf9bc8b);},'qOcGV':function(_0x205166){return _0x205166();},'JAEZG':'pluginScope','yJHOW':_0x4f46f7(0x1a5),'ubIXl':'user','csTBh':'trailhead','TmpXy':'add','MbwoX':_0x4f46f7(0x1a2),'nNIFf':_0x4f46f7(0x192),'RaGfr':function(_0x320552){return _0x320552();},'IjFfk':_0x4f46f7(0x18b),'HBKaQ':_0x4f46f7(0x19e),'jLdhk':function(_0x36a964,_0x12ed32){return _0x36a964===_0x12ed32;},'CjcoW':function(_0x421b7e,_0x4f2f57){return _0x421b7e===_0x4f2f57;},'IxdpQ':'already\x20enabled','WKKHW':'✓\x20Claude\x20Code\x20plugin\x20enabled'},_0x58fa9b=await _0x4d9f75[_0x4f46f7(0x183)](isPluginInstalled,_0x4d9f75['VooPI']);if(_0x58fa9b)return console['log'](_0x4d9f75['iWpRA']),![];const _0x5573a0=_0x4d9f75['eZvsE'](existsSync,join(_0x4d9f75[_0x4f46f7(0x180)](getProjectRoot),'.claude'));let _0x19c51d;if(_0x133260)_0x19c51d=_0x133260;else{if(_0x5573a0)_0x19c51d=_0x4f46f7(0x1a5);else{console['log'](_0x4f46f7(0x185));const _0x28b509=await _0x6b25b8['prompt']([{'type':'list','name':_0x4d9f75[_0x4f46f7(0x1a0)],'message':'Where\x20should\x20the\x20plugin\x20be\x20installed?','choices':[{'name':'User\x20(available\x20in\x20all\x20your\x20projects)','value':'user'},{'name':_0x4f46f7(0x1ab),'value':_0x4d9f75['yJHOW']}],'default':_0x4d9f75['ubIXl']}]);_0x19c51d=_0x28b509['pluginScope'];}}console['log'](_0x4f46f7(0x199)+_0x19c51d+'\x20level)...\x0a');const _0x34f89f=await isMarketplaceAdded(_0x4d9f75[_0x4f46f7(0x1ad)]);let _0x56de26=_0x34f89f;if(_0x34f89f)console[_0x4f46f7(0x19b)](_0x4f46f7(0x194));else{const _0x457d35=await runClaudeCommand(['plugin',_0x4f46f7(0x18c),_0x4d9f75[_0x4f46f7(0x1ac)],_0x4f46f7(0x188)]);!_0x457d35[_0x4f46f7(0x17b)]?(console['error'](_0x4d9f75['MbwoX'],_0x457d35['error']),console['log'](_0x4d9f75[_0x4f46f7(0x1a3)]),console['log'](_0x4f46f7(0x1a7)),console['log']('\x20\x20claude\x20plugin\x20install\x20ranger@trailhead\x20--scope\x20'+_0x19c51d)):_0x56de26=!![];}if(_0x56de26){const _0x15f83b=await runClaudeCommand(['plugin','install',_0x4d9f75[_0x4f46f7(0x193)],_0x4f46f7(0x19f),_0x19c51d],{'cwd':_0x19c51d===_0x4f46f7(0x1a5)?_0x4d9f75[_0x4f46f7(0x19c)](getProjectRoot):undefined});if(!_0x15f83b['success'])console[_0x4f46f7(0x1a8)]('❌\x20Failed\x20to\x20install\x20plugin:',_0x15f83b[_0x4f46f7(0x1a8)]),console['log'](_0x4d9f75['nNIFf']),console[_0x4f46f7(0x19b)](_0x4f46f7(0x18d)+_0x19c51d);else{console[_0x4f46f7(0x19b)](_0x4f46f7(0x198));const _0x3af341=[_0x4d9f75['IjFfk'],_0x4d9f75[_0x4f46f7(0x19d)],'ranger@trailhead'];_0x4d9f75[_0x4f46f7(0x187)](_0x19c51d,_0x4d9f75[_0x4f46f7(0x18a)])&&_0x3af341['push']('--scope',_0x4d9f75[_0x4f46f7(0x18a)]);const _0x369a0d=await runClaudeCommand(_0x3af341,{'captureOutput':!![],'cwd':_0x4d9f75[_0x4f46f7(0x191)](_0x19c51d,_0x4d9f75['yJHOW'])?getProjectRoot():undefined}),_0x42feca=_0x369a0d['output']?.['includes'](_0x4d9f75['IxdpQ']);!_0x369a0d['success']&&!_0x42feca?console[_0x4f46f7(0x1a8)]('⚠\x20Failed\x20to\x20enable\x20plugin:',_0x369a0d[_0x4f46f7(0x1a8)]):console[_0x4f46f7(0x19b)](_0x4d9f75['WKKHW']);}}return!![];}export async function ensureClaudeSkills(_0x955f98){const _0x4a722a=_0x2c09,_0x26e9a5={'LercH':function(_0x72fa81,_0x513c2c,_0x2f9f98,_0x58c987){return _0x72fa81(_0x513c2c,_0x2f9f98,_0x58c987);},'djCLF':_0x4a722a(0x186),'DnjQW':function(_0x5e61e5,_0x10fafd){return _0x5e61e5(_0x10fafd);},'UPhmP':_0x4a722a(0x1a5),'EVITm':'SKILL.md','JWVfF':function(_0xba9cce,_0x362670){return _0xba9cce||_0x362670;},'ZMNgR':function(_0x56618d,_0x3bb9b2,_0x449c3d){return _0x56618d(_0x3bb9b2,_0x449c3d);},'BHeQL':function(_0x5df810){return _0x5df810();},'tcqKf':'.claude','UbEqS':'Would\x20you\x20like\x20to\x20install\x20skills?'},_0x2a1e67=existsSync(_0x26e9a5['LercH'](join,getSkillsDir(_0x26e9a5['djCLF']),'ranger','SKILL.md')),_0x368a29=_0x26e9a5[_0x4a722a(0x190)](existsSync,_0x26e9a5[_0x4a722a(0x197)](join,getSkillsDir(_0x26e9a5['UPhmP']),'ranger',_0x26e9a5['EVITm']));if(_0x26e9a5['JWVfF'](_0x2a1e67,_0x368a29))return console[_0x4a722a(0x19b)](_0x4a722a(0x17c)),![];const _0x4d077b=existsSync(_0x26e9a5[_0x4a722a(0x182)](join,_0x26e9a5[_0x4a722a(0x17f)](getProjectRoot),_0x26e9a5[_0x4a722a(0x1a1)]));let _0x5a8634=!![];if(_0x955f98)await skillup({'autoInstall':_0x955f98,'suppressUsage':!![]});else{if(_0x4d077b)await skillup({'autoInstall':_0x26e9a5['UPhmP'],'suppressUsage':!![]});else{const _0x5147b0=await _0x6b25b8['prompt']([{'type':'confirm','name':'wantsSkillup','message':_0x26e9a5[_0x4a722a(0x195)],'default':!![]}]);_0x5a8634=_0x5147b0[_0x4a722a(0x18e)],_0x5a8634&&await _0x26e9a5[_0x4a722a(0x190)](skillup,{'suppressUsage':!![]});}}return _0x5a8634;}
1
+ (function(_0x38cb8d,_0x4d06f0){const _0x3bd7d7=_0x4e22,_0x37e13f=_0x38cb8d();while(!![]){try{const _0x465c38=-parseInt(_0x3bd7d7(0x20c))/0x1+parseInt(_0x3bd7d7(0x1f0))/0x2+parseInt(_0x3bd7d7(0x1e8))/0x3*(parseInt(_0x3bd7d7(0x20d))/0x4)+-parseInt(_0x3bd7d7(0x1e9))/0x5*(parseInt(_0x3bd7d7(0x1ff))/0x6)+parseInt(_0x3bd7d7(0x1fa))/0x7+-parseInt(_0x3bd7d7(0x1f6))/0x8*(parseInt(_0x3bd7d7(0x1f1))/0x9)+parseInt(_0x3bd7d7(0x1ec))/0xa*(parseInt(_0x3bd7d7(0x1f2))/0xb);if(_0x465c38===_0x4d06f0)break;else _0x37e13f['push'](_0x37e13f['shift']());}catch(_0xc441b8){_0x37e13f['push'](_0x37e13f['shift']());}}}(_0x16e6,0x5818a));import{join}from'path';import{existsSync}from'fs';function _0x16e6(){const _0xa796ac=['CEmnr','36YekQrL','✓\x20Claude\x20Code\x20plugin\x20installed\x20successfully','list','reJXA','aoLGw','project','install','DJJyd','user','jIxZd','✓\x20Ranger\x20skills\x20already\x20installed','pluginScope','trailhead','427554wLuQIp','4WFoYaG','FPwMc','log','error','aihen','UWrsk','\x0aInstalling\x20Claude\x20Code\x20plugin\x20(','\x20\x20claude\x20plugin\x20marketplace\x20add\x20ranger-testing/trailhead','✓\x20Claude\x20Code\x20plugin\x20already\x20installed','dBXXl','ZajgT','--scope','✓\x20Claude\x20Code\x20plugin\x20enabled','\x0aYou\x20can\x20install\x20manually\x20with:','XMVnQ','success','174567sQgCrX','131695AihksY','jsOGu','plugin','10910OWDRrz','add','giVPY','ranger@trailhead','192998rhOaLJ','279muxJlf','11110BcUvdz','tcIsR','hlgss','prompt','110928ClMIcN','already\x20enabled','includes','RHSlk','837746ngzAZs','Project\x20(shared\x20with\x20team\x20via\x20git)','SKILL.md','ranger'];_0x16e6=function(){return _0xa796ac;};return _0x16e6();}import _0xd99c36 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(_0x298d96){const _0x4d3e55=_0x4e22,_0x3356a8={'FPwMc':_0x4d3e55(0x1e0),'DJJyd':'.claude','Jftfa':'Where\x20should\x20the\x20plugin\x20be\x20installed?','vdgWQ':'User\x20(available\x20in\x20all\x20your\x20projects)','jsOGu':'user','CEmnr':_0x4d3e55(0x20b),'eFqYP':function(_0x571ff9,_0x31a10a){return _0x571ff9(_0x31a10a);},'TfoKo':'marketplace','aoLGw':_0x4d3e55(0x1ed),'fdGuc':'ranger-testing/trailhead','XMVnQ':function(_0x178267,_0x12bcc7,_0x482c10){return _0x178267(_0x12bcc7,_0x482c10);},'giVPY':'plugin','aihen':'ranger@trailhead','hlgss':'project','iUbaF':_0x4d3e55(0x1e5),'tcIsR':_0x4d3e55(0x200),'EhgsR':function(_0x553fd0,_0xe69238){return _0x553fd0===_0xe69238;},'ZajgT':_0x4d3e55(0x1e4)},_0x448440=await isPluginInstalled(_0x4d3e55(0x1ef));if(_0x448440)return console[_0x4d3e55(0x1da)](_0x3356a8[_0x4d3e55(0x20e)]),![];const _0xcd3a7d=existsSync(join(getProjectRoot(),_0x3356a8[_0x4d3e55(0x206)]));let _0x4cdb0b;if(_0x298d96)_0x4cdb0b=_0x298d96;else{if(_0xcd3a7d)_0x4cdb0b=_0x4d3e55(0x204);else{console['log']('\x0a📦\x20Claude\x20Code\x20Plugin\x0a');const _0x49cd29=await _0xd99c36['prompt']([{'type':_0x4d3e55(0x201),'name':_0x4d3e55(0x20a),'message':_0x3356a8['Jftfa'],'choices':[{'name':_0x3356a8['vdgWQ'],'value':_0x4d3e55(0x207)},{'name':_0x4d3e55(0x1fb),'value':_0x4d3e55(0x204)}],'default':_0x3356a8[_0x4d3e55(0x1ea)]}]);_0x4cdb0b=_0x49cd29['pluginScope'];}}console['log'](_0x4d3e55(0x1de)+_0x4cdb0b+'\x20level)...\x0a');const _0x13e1f6=await isMarketplaceAdded(_0x3356a8[_0x4d3e55(0x1fe)]);let _0x51bfe9=_0x13e1f6;if(_0x13e1f6)console['log']('✓\x20Marketplace\x20already\x20added');else{const _0x5cc1ea=await _0x3356a8['eFqYP'](runClaudeCommand,[_0x4d3e55(0x1eb),_0x3356a8['TfoKo'],_0x3356a8[_0x4d3e55(0x203)],_0x3356a8['fdGuc']]);!_0x5cc1ea[_0x4d3e55(0x1e7)]?(console[_0x4d3e55(0x1db)]('❌\x20Failed\x20to\x20add\x20marketplace:',_0x5cc1ea['error']),console['log']('\x0aYou\x20can\x20install\x20manually\x20with:'),console[_0x4d3e55(0x1da)](_0x4d3e55(0x1df)),console['log']('\x20\x20claude\x20plugin\x20install\x20ranger@trailhead\x20--scope\x20'+_0x4cdb0b)):_0x51bfe9=!![];}if(_0x51bfe9){const _0x528a82=await _0x3356a8[_0x4d3e55(0x1e6)](runClaudeCommand,[_0x3356a8[_0x4d3e55(0x1ee)],_0x4d3e55(0x205),_0x3356a8[_0x4d3e55(0x1dc)],'--scope',_0x4cdb0b],{'cwd':_0x4cdb0b===_0x3356a8['hlgss']?getProjectRoot():undefined});if(!_0x528a82[_0x4d3e55(0x1e7)])console['error']('❌\x20Failed\x20to\x20install\x20plugin:',_0x528a82['error']),console['log'](_0x3356a8['iUbaF']),console[_0x4d3e55(0x1da)]('\x20\x20claude\x20plugin\x20install\x20ranger@trailhead\x20--scope\x20'+_0x4cdb0b);else{console[_0x4d3e55(0x1da)](_0x3356a8[_0x4d3e55(0x1f3)]);const _0x1e365d=[_0x3356a8['giVPY'],'enable','ranger@trailhead'];_0x4cdb0b==='project'&&_0x1e365d['push'](_0x4d3e55(0x1e3),_0x3356a8[_0x4d3e55(0x1f4)]);const _0xa3864=await _0x3356a8[_0x4d3e55(0x1e6)](runClaudeCommand,_0x1e365d,{'captureOutput':!![],'cwd':_0x3356a8['EhgsR'](_0x4cdb0b,_0x3356a8['hlgss'])?getProjectRoot():undefined}),_0x47baec=_0xa3864['output']?.[_0x4d3e55(0x1f8)](_0x4d3e55(0x1f7));!_0xa3864[_0x4d3e55(0x1e7)]&&!_0x47baec?console['error']('⚠\x20Failed\x20to\x20enable\x20plugin:',_0xa3864[_0x4d3e55(0x1db)]):console['log'](_0x3356a8[_0x4d3e55(0x1e2)]);}}return!![];}function _0x4e22(_0x24d861,_0x50e6bc){_0x24d861=_0x24d861-0x1da;const _0x16e6c5=_0x16e6();let _0x4e2200=_0x16e6c5[_0x24d861];return _0x4e2200;}export async function ensureClaudeSkills(_0x296d7a){const _0x175b04=_0x4e22,_0x84c0d2={'reJXA':function(_0x45a7fd,_0x4833bc,_0x1e8905,_0x463eec){return _0x45a7fd(_0x4833bc,_0x1e8905,_0x463eec);},'BMbUW':function(_0x497de2,_0x22f008){return _0x497de2(_0x22f008);},'dMIpw':_0x175b04(0x207),'UWrsk':function(_0x43c6d3,_0x41ac4a,_0x175e25,_0x27a16b){return _0x43c6d3(_0x41ac4a,_0x175e25,_0x27a16b);},'RHSlk':_0x175b04(0x204),'xeXGz':function(_0xf6d962,_0x4a7f80){return _0xf6d962||_0x4a7f80;},'dBXXl':_0x175b04(0x209),'WcBMf':'.claude','jIxZd':'wantsSkillup','YCDaA':'Would\x20you\x20like\x20to\x20install\x20skills?','Qbomm':function(_0x2464b9,_0x532d8a){return _0x2464b9(_0x532d8a);}},_0x26897d=existsSync(_0x84c0d2[_0x175b04(0x202)](join,_0x84c0d2['BMbUW'](getSkillsDir,_0x84c0d2['dMIpw']),_0x175b04(0x1fd),'SKILL.md')),_0x2c8c5a=_0x84c0d2['BMbUW'](existsSync,_0x84c0d2[_0x175b04(0x1dd)](join,getSkillsDir(_0x84c0d2[_0x175b04(0x1f9)]),_0x175b04(0x1fd),_0x175b04(0x1fc)));if(_0x84c0d2['xeXGz'](_0x26897d,_0x2c8c5a))return console['log'](_0x84c0d2[_0x175b04(0x1e1)]),![];const _0x3ed9ae=_0x84c0d2['BMbUW'](existsSync,join(getProjectRoot(),_0x84c0d2['WcBMf']));let _0x153612=!![];if(_0x296d7a)await skillup({'autoInstall':_0x296d7a,'suppressUsage':!![]});else{if(_0x3ed9ae)await skillup({'autoInstall':_0x175b04(0x204),'suppressUsage':!![]});else{const _0x6f2c66=await _0xd99c36[_0x175b04(0x1f5)]([{'type':'confirm','name':_0x84c0d2[_0x175b04(0x208)],'message':_0x84c0d2['YCDaA'],'default':!![]}]);_0x153612=_0x6f2c66['wantsSkillup'],_0x153612&&await _0x84c0d2['Qbomm'](skillup,{'suppressUsage':!![]});}}return _0x153612;}
@@ -1 +1 @@
1
- (function(_0x23f88f,_0x3c09f7){const _0x2dfd95=_0x2747,_0x31752a=_0x23f88f();while(!![]){try{const _0x504dbb=parseInt(_0x2dfd95(0xb3))/0x1+parseInt(_0x2dfd95(0xa3))/0x2*(-parseInt(_0x2dfd95(0xaa))/0x3)+parseInt(_0x2dfd95(0xbe))/0x4*(-parseInt(_0x2dfd95(0xaf))/0x5)+parseInt(_0x2dfd95(0xb6))/0x6*(-parseInt(_0x2dfd95(0xba))/0x7)+-parseInt(_0x2dfd95(0xbd))/0x8+-parseInt(_0x2dfd95(0xbc))/0x9+-parseInt(_0x2dfd95(0xb0))/0xa*(-parseInt(_0x2dfd95(0xa7))/0xb);if(_0x504dbb===_0x3c09f7)break;else _0x31752a['push'](_0x31752a['shift']());}catch(_0x35de5d){_0x31752a['push'](_0x31752a['shift']());}}}(_0x2996,0x993d5));import{join}from'path';import{existsSync}from'fs';function _0x2996(){const _0x339f9d=['plugin','https://opencode.ai/config.json','15DLycgC','@ranger-testing/opencode-plugin','User\x20(available\x20in\x20all\x20your\x20projects)','ICHXH','✓\x20OpenCode\x20plugin\x20configured','2832505fqYqtw','2028970kTwIlP','project','✓\x20OpenCode\x20plugin\x20already\x20configured','1006860QVRtbJ','mCEJF','uVXPs','17040HlzZbJ','user','Failed\x20to\x20read\x20opencode.json','Where\x20should\x20the\x20plugin\x20be\x20installed?','1764LSwChZ','log','1436166YmtnTB','8715504XPvUGi','4bsBIol','pluginScope','31946CzTZfy','⚠\x20Failed\x20to\x20read\x20opencode.json.\x20Please\x20add\x20the\x20plugin\x20manually.','$schema','isArray','121zXJzqH'];_0x2996=function(){return _0x339f9d;};return _0x2996();}function _0x2747(_0x323796,_0x21d8db){_0x323796=_0x323796-0xa2;const _0x2996c0=_0x2996();let _0x274796=_0x2996c0[_0x323796];return _0x274796;}import{mkdir,readFile,writeFile}from'fs/promises';import _0x4ef52c from'inquirer';import{getOpencodeConfigDir}from'../utils/opencodeConfig.js';export async function ensureOpencodePluginConfig(_0x1aa9ee){const _0x32fc6d=_0x2747,_0x1955cf={'plXJQ':'pluginScope','RYmtZ':'user','uVXPs':'Project\x20(shared\x20with\x20team\x20via\x20git)','paSaq':_0x32fc6d(0xb1),'ICHXH':function(_0x4ab95c,_0x477718,_0x493099){return _0x4ab95c(_0x477718,_0x493099);},'KsGyy':'utf-8','aAkFZ':_0x32fc6d(0xa4),'mCEJF':function(_0x56cb40,_0x1613aa){return _0x56cb40(_0x1613aa);}},_0x2fc3b3=existsSync(join(getOpencodeConfigDir('project'),'opencode.json'));let _0x5729ec;if(_0x1aa9ee)_0x5729ec=_0x1aa9ee;else{if(_0x2fc3b3)_0x5729ec=_0x32fc6d(0xb1);else{console['log']('\x0a📦\x20OpenCode\x20Plugin\x0a');const _0xf001a2=await _0x4ef52c['prompt']([{'type':'list','name':_0x1955cf['plXJQ'],'message':_0x32fc6d(0xb9),'choices':[{'name':_0x32fc6d(0xac),'value':_0x1955cf['RYmtZ']},{'name':_0x1955cf[_0x32fc6d(0xb5)],'value':_0x1955cf['paSaq']}],'default':_0x32fc6d(0xb7)}]);_0x5729ec=_0xf001a2[_0x32fc6d(0xa2)];}}const _0x5657a7=_0x1955cf['ICHXH'](join,getOpencodeConfigDir(_0x5729ec),'opencode.json'),_0x2781f9=_0x32fc6d(0xab),_0xcd8f4f=_0x32fc6d(0xa9);let _0xb291ab={};if(existsSync(_0x5657a7))try{const _0x559721=await _0x1955cf[_0x32fc6d(0xad)](readFile,_0x5657a7,_0x1955cf['KsGyy']);_0xb291ab=JSON['parse'](_0x559721);}catch(_0x5edd3a){return console['error'](_0x1955cf['aAkFZ']),{'configured':![],'scope':_0x5729ec,'error':_0x32fc6d(0xb8),'details':_0x5edd3a};}const _0x36ca8a=Array[_0x32fc6d(0xa6)](_0xb291ab[_0x32fc6d(0xa8)])?_0xb291ab['plugin']:[];if(_0x36ca8a['includes'](_0x2781f9))return console['log'](_0x32fc6d(0xb2)),{'configured':![],'scope':_0x5729ec};return _0xb291ab[_0x32fc6d(0xa5)]=_0xb291ab[_0x32fc6d(0xa5)]||_0xcd8f4f,_0xb291ab['plugin']=[..._0x36ca8a,_0x2781f9],await _0x1955cf['ICHXH'](mkdir,_0x1955cf[_0x32fc6d(0xb4)](getOpencodeConfigDir,_0x5729ec),{'recursive':!![]}),await _0x1955cf['ICHXH'](writeFile,_0x5657a7,JSON['stringify'](_0xb291ab,null,0x2)+'\x0a'),console[_0x32fc6d(0xbb)](_0x32fc6d(0xae)),{'configured':!![],'scope':_0x5729ec};}
1
+ (function(_0x5b875a,_0x1266a2){const _0x4034a5=_0x5a03,_0x7940d0=_0x5b875a();while(!![]){try{const _0x14acb2=-parseInt(_0x4034a5(0x132))/0x1*(-parseInt(_0x4034a5(0x148))/0x2)+-parseInt(_0x4034a5(0x131))/0x3*(-parseInt(_0x4034a5(0x13e))/0x4)+parseInt(_0x4034a5(0x149))/0x5*(-parseInt(_0x4034a5(0x137))/0x6)+parseInt(_0x4034a5(0x144))/0x7*(-parseInt(_0x4034a5(0x13f))/0x8)+parseInt(_0x4034a5(0x136))/0x9+-parseInt(_0x4034a5(0x135))/0xa*(parseInt(_0x4034a5(0x142))/0xb)+parseInt(_0x4034a5(0x13d))/0xc*(parseInt(_0x4034a5(0x140))/0xd);if(_0x14acb2===_0x1266a2)break;else _0x7940d0['push'](_0x7940d0['shift']());}catch(_0x4eb159){_0x7940d0['push'](_0x7940d0['shift']());}}}(_0x366e,0x983e8));import{join}from'path';function _0x5a03(_0x4387f4,_0x529c92){_0x4387f4=_0x4387f4-0x12f;const _0x366eb9=_0x366e();let _0x5a03d6=_0x366eb9[_0x4387f4];return _0x5a03d6;}import{existsSync}from'fs';function _0x366e(){const _0x5ae870=['fLeQc','⚠\x20Failed\x20to\x20read\x20opencode.json.\x20Please\x20add\x20the\x20plugin\x20manually.','26769ZqAsIo','11wfPaRe','log','blwTy','10rVYvWD','4028913EiFRIr','7512sqoeJD','plugin','User\x20(available\x20in\x20all\x20your\x20projects)','utf-8','prompt','list','18925968lernUi','236eNWohS','257784NteyyE','13YuTrME','stringify','11946715szdLHa','$schema','175uMrqFi','uOzMC','error','parse','9836MTbjDE','360UXnBvS','isArray','opencode.json','project','rWyQx','user','RyOch','lPmCy','voZgf','✓\x20OpenCode\x20plugin\x20already\x20configured'];_0x366e=function(){return _0x5ae870;};return _0x366e();}import{mkdir,readFile,writeFile}from'fs/promises';import _0x486635 from'inquirer';import{getOpencodeConfigDir}from'../utils/opencodeConfig.js';export async function ensureOpencodePluginConfig(_0x2eab43){const _0x44798f=_0x5a03,_0x1d1cc6={'MdSci':function(_0x61cbad,_0x367f9e){return _0x61cbad(_0x367f9e);},'lPmCy':_0x44798f(0x14b),'uAemj':_0x44798f(0x14c),'MKpso':'\x0a📦\x20OpenCode\x20Plugin\x0a','cITVg':'pluginScope','pqyHB':_0x44798f(0x14e),'tcFId':function(_0xa7cbbc,_0x29f332,_0x27ac8e){return _0xa7cbbc(_0x29f332,_0x27ac8e);},'rWyQx':'@ranger-testing/opencode-plugin','voZgf':function(_0x25a631,_0x31b6e6,_0x129155){return _0x25a631(_0x31b6e6,_0x129155);},'blwTy':_0x44798f(0x130),'uOzMC':_0x44798f(0x152),'RyOch':function(_0x137b28,_0x5a53cb){return _0x137b28+_0x5a53cb;},'fLeQc':'✓\x20OpenCode\x20plugin\x20configured'},_0x204ace=_0x1d1cc6['MdSci'](existsSync,join(getOpencodeConfigDir('project'),_0x1d1cc6['lPmCy']));let _0x2ccc62;if(_0x2eab43)_0x2ccc62=_0x2eab43;else{if(_0x204ace)_0x2ccc62=_0x1d1cc6['uAemj'];else{console[_0x44798f(0x133)](_0x1d1cc6['MKpso']);const _0x37cdec=await _0x486635[_0x44798f(0x13b)]([{'type':_0x44798f(0x13c),'name':_0x1d1cc6['cITVg'],'message':'Where\x20should\x20the\x20plugin\x20be\x20installed?','choices':[{'name':_0x44798f(0x139),'value':_0x44798f(0x14e)},{'name':'Project\x20(shared\x20with\x20team\x20via\x20git)','value':_0x1d1cc6['uAemj']}],'default':_0x1d1cc6['pqyHB']}]);_0x2ccc62=_0x37cdec['pluginScope'];}}const _0x18e6e5=_0x1d1cc6['tcFId'](join,_0x1d1cc6['MdSci'](getOpencodeConfigDir,_0x2ccc62),_0x1d1cc6[_0x44798f(0x150)]),_0x59c1e3=_0x1d1cc6[_0x44798f(0x14d)],_0x5d668f='https://opencode.ai/config.json';let _0x2175b0={};if(existsSync(_0x18e6e5))try{const _0x2dd3d7=await _0x1d1cc6[_0x44798f(0x151)](readFile,_0x18e6e5,_0x44798f(0x13a));_0x2175b0=JSON[_0x44798f(0x147)](_0x2dd3d7);}catch(_0x37c3ad){return console[_0x44798f(0x146)](_0x1d1cc6[_0x44798f(0x134)]),{'configured':![],'scope':_0x2ccc62,'error':'Failed\x20to\x20read\x20opencode.json','details':_0x37c3ad};}const _0x43bcff=Array[_0x44798f(0x14a)](_0x2175b0['plugin'])?_0x2175b0[_0x44798f(0x138)]:[];if(_0x43bcff['includes'](_0x59c1e3))return console[_0x44798f(0x133)](_0x1d1cc6[_0x44798f(0x145)]),{'configured':![],'scope':_0x2ccc62};return _0x2175b0[_0x44798f(0x143)]=_0x2175b0[_0x44798f(0x143)]||_0x5d668f,_0x2175b0['plugin']=[..._0x43bcff,_0x59c1e3],await mkdir(getOpencodeConfigDir(_0x2ccc62),{'recursive':!![]}),await writeFile(_0x18e6e5,_0x1d1cc6[_0x44798f(0x14f)](JSON[_0x44798f(0x141)](_0x2175b0,null,0x2),'\x0a')),console['log'](_0x1d1cc6[_0x44798f(0x12f)]),{'configured':!![],'scope':_0x2ccc62};}
@@ -1 +1 @@
1
- function _0x51f7(_0x2286ce,_0x53716f){_0x2286ce=_0x2286ce-0x12f;var _0x3b7ceb=_0x3b7c();var _0x51f752=_0x3b7ceb[_0x2286ce];return _0x51f752;}function _0x3b7c(){var _0x3feacd=['2ZCOGCn','tXsyE','error','mwcci','exit','94507sOEWzl','160295FgHAHn','1500076poMrZI','TfUAB','\x20\x20https://docs.ranger.net/main/concepts/profiles','ranger\x20setup\x20--ci\x20writes\x20to\x20the\x20legacy\x20.ranger/ci/\x20tree\x20which\x20is\x20no\x20longer\x20supported.\x0a','2150coSVvA','301331XePTNA','ZaSXP','186042RQDDqX','156GSdnog','23121naJuzm','1806856SStihJ'];_0x3b7c=function(){return _0x3feacd;};return _0x3b7c();}(function(_0xff4b19,_0x2b3969){var _0x177ec9=_0x51f7,_0x2bd420=_0xff4b19();while(!![]){try{var _0x26c089=parseInt(_0x177ec9(0x138))/0x1+parseInt(_0x177ec9(0x13e))/0x2*(parseInt(_0x177ec9(0x13a))/0x3)+parseInt(_0x177ec9(0x133))/0x4+-parseInt(_0x177ec9(0x132))/0x5+-parseInt(_0x177ec9(0x13b))/0x6*(-parseInt(_0x177ec9(0x131))/0x7)+-parseInt(_0x177ec9(0x13d))/0x8+parseInt(_0x177ec9(0x13c))/0x9*(-parseInt(_0x177ec9(0x137))/0xa);if(_0x26c089===_0x2b3969)break;else _0x2bd420['push'](_0x2bd420['shift']());}catch(_0x1d12ce){_0x2bd420['push'](_0x2bd420['shift']());}}}(_0x3b7c,0x44263));export async function setupCi(_0x574d6c,_0x2fd998,_0x44cc88){var _0x3866a8=_0x51f7,_0x40d568={'TfUAB':function(_0x1775e6,_0x4e7b80){return _0x1775e6+_0x4e7b80;},'mwcci':function(_0x5b402d,_0xeb0a3){return _0x5b402d+_0xeb0a3;},'ZaSXP':_0x3866a8(0x136),'MJHGP':'To\x20set\x20up\x20a\x20fresh\x20profile,\x20run:\x0a','tXsyE':'\x20\x20ranger\x20profile\x20add\x20<name>\x0a','YhOzK':_0x3866a8(0x135)};console[_0x3866a8(0x140)](_0x40d568[_0x3866a8(0x134)](_0x40d568[_0x3866a8(0x12f)](_0x40d568[_0x3866a8(0x134)](_0x40d568[_0x3866a8(0x139)]+'\x0a',_0x40d568['MJHGP'])+_0x40d568[_0x3866a8(0x13f)],'\x0a')+'For\x20CI\x20/\x20background\x20agents\x20and\x20other\x20setup\x20options,\x20see:\x0a',_0x40d568['YhOzK'])),process[_0x3866a8(0x130)](0x1);}
1
+ (function(_0x206e92,_0xfa1f8c){var _0x467c3a=_0x52f2,_0x121b24=_0x206e92();while(!![]){try{var _0x202da5=-parseInt(_0x467c3a(0x19b))/0x1*(parseInt(_0x467c3a(0x1a7))/0x2)+-parseInt(_0x467c3a(0x197))/0x3*(-parseInt(_0x467c3a(0x19d))/0x4)+-parseInt(_0x467c3a(0x1a8))/0x5+-parseInt(_0x467c3a(0x1a0))/0x6*(parseInt(_0x467c3a(0x19a))/0x7)+parseInt(_0x467c3a(0x1a3))/0x8*(-parseInt(_0x467c3a(0x1a5))/0x9)+-parseInt(_0x467c3a(0x19e))/0xa+parseInt(_0x467c3a(0x198))/0xb;if(_0x202da5===_0xfa1f8c)break;else _0x121b24['push'](_0x121b24['shift']());}catch(_0x331a31){_0x121b24['push'](_0x121b24['shift']());}}}(_0x4c93,0x2c604));function _0x4c93(){var _0x5a0698=['ANqbJ','wgBlI','936WsDhdC','error','4212oakZYy','\x20\x20https://docs.ranger.net/main/concepts/profiles','22NXiHkl','1569555YgeDBr','3IUfPZq','13140380hvIqbk','\x20\x20ranger\x20profile\x20add\x20<name>\x0a','1319213gXCrUx','20659sRnfig','To\x20set\x20up\x20a\x20fresh\x20profile,\x20run:\x0a','510148itLLCT','3559780DMGNgv','OjqOH','6kkIpzt'];_0x4c93=function(){return _0x5a0698;};return _0x4c93();}function _0x52f2(_0x5d65cb,_0x519629){_0x5d65cb=_0x5d65cb-0x197;var _0x4c93d3=_0x4c93();var _0x52f270=_0x4c93d3[_0x5d65cb];return _0x52f270;}export async function setupCi(_0x1b5812,_0x4780e5,_0x3ba28f){var _0x1cd4a8=_0x52f2,_0x23d4ea={'wgBlI':function(_0x497f2f,_0x1b37e7){return _0x497f2f+_0x1b37e7;},'ANqbJ':function(_0x46a156,_0x37242f){return _0x46a156+_0x37242f;},'OjqOH':function(_0x19fb6b,_0xaffd6f){return _0x19fb6b+_0xaffd6f;}};console[_0x1cd4a8(0x1a4)](_0x23d4ea[_0x1cd4a8(0x1a2)](_0x23d4ea['wgBlI'](_0x23d4ea[_0x1cd4a8(0x1a1)](_0x23d4ea[_0x1cd4a8(0x19f)](_0x23d4ea[_0x1cd4a8(0x19f)]('ranger\x20setup\x20--ci\x20writes\x20to\x20the\x20legacy\x20.ranger/ci/\x20tree\x20which\x20is\x20no\x20longer\x20supported.\x0a','\x0a'),_0x1cd4a8(0x19c)),_0x1cd4a8(0x199)),'\x0a')+'For\x20CI\x20/\x20background\x20agents\x20and\x20other\x20setup\x20options,\x20see:\x0a',_0x1cd4a8(0x1a6))),process['exit'](0x1);}
@@ -1 +1 @@
1
- (function(_0x226384,_0x539963){const _0x45de50=_0x1470,_0x1e8c21=_0x226384();while(!![]){try{const _0x161667=parseInt(_0x45de50(0x112))/0x1*(-parseInt(_0x45de50(0xfb))/0x2)+parseInt(_0x45de50(0x123))/0x3+parseInt(_0x45de50(0x114))/0x4+-parseInt(_0x45de50(0x10b))/0x5+parseInt(_0x45de50(0x124))/0x6+-parseInt(_0x45de50(0x120))/0x7*(parseInt(_0x45de50(0x100))/0x8)+parseInt(_0x45de50(0x115))/0x9;if(_0x161667===_0x539963)break;else _0x1e8c21['push'](_0x1e8c21['shift']());}catch(_0x1d4fc5){_0x1e8c21['push'](_0x1e8c21['shift']());}}}(_0x2d79,0x48c22));import{basename}from'path';import _0x14043c from'inquirer';import{getToken}from'./utils/keychain.js';function _0x1470(_0x58813c,_0x188c50){_0x58813c=_0x58813c-0xfa;const _0x2d7961=_0x2d79();let _0x147012=_0x2d7961[_0x58813c];return _0x147012;}import{installSkill}from'./utils/skills.js';function _0x2d79(){const _0x591b4d=['user','191384fFBrPd','QIkHE','uMGyg','isTTY','opencode','stdin','\x20\x203.\x20Run:\x20ranger\x20skillup','To\x20get\x20started:','Non-interactive\x20mode:\x20Installing\x20skills\x20at\x20project\x20level\x20(','iUGFA','installLevel','2419910dIZkzh','zzqjD','\x20\x201.\x20Get\x20your\x20API\x20token\x20from\x20https://dashboard.ranger.net/cli','Where\x20should\x20skills\x20be\x20installed?','\x0a🎯\x20Ranger\x20Skill\x20Setup\x0a','autoInstall','\x0a✅\x20Installed\x20','290LHcBPS','xXxce','282268crlidE','4015161CxBQpG','RCKWA','This\x20project\x20only\x20(','\x20\x20Failed\x20to\x20install\x20ranger\x20skill:','hTDSR','/.opencode/skills/','list','stdout','\x20\x20-\x20Start\x20OpenCode\x20and\x20run\x20the\x20`ranger_enable`\x20tool\x20to\x20enable\x20hooks.','log','ICIpN','7VbIxzf','uDfqM','platform','447354IzgLkL','1788954TgXyOb','✓\x20Found\x20API\x20token','\x20successfully!\x0a','1090FAUgjY','warn','sHxLp','\x0a📦\x20Installing\x20skills...\x0a'];_0x2d79=function(){return _0x591b4d;};return _0x2d79();}import{getCurrentVersion}from'./utils/version.js';import{getClaudeConfigDir,getProjectRoot}from'./utils/claudeConfig.js';import{getOpencodeConfigDir}from'./utils/opencodeConfig.js';export async function skillup(_0x19704f={}){const _0x23ff66=_0x1470,_0x5b280a={'iUGFA':_0x23ff66(0x10f),'ICIpN':'opencode','nrrNG':'\x20--opencode','QIkHE':_0x23ff66(0x125),'RCKWA':function(_0x50c83b){return _0x50c83b();},'zWVHD':function(_0x4effca,_0x2c5224){return _0x4effca===_0x2c5224;},'hTDSR':function(_0x34e185,_0x169d8e){return _0x34e185(_0x169d8e);},'gjaju':_0x23ff66(0x11b),'zzqjD':'project','KBdrU':function(_0x4a4f0c){return _0x4a4f0c();},'KRdxB':_0x23ff66(0xfe),'OciCL':function(_0x1bbc1d,_0x83bcde,_0xae5972){return _0x1bbc1d(_0x83bcde,_0xae5972);},'vgiov':_0x23ff66(0x118),'uMGyg':function(_0x1051c6,_0x509c42){return _0x1051c6===_0x509c42;},'uDfqM':'user-level','xXxce':function(_0x284c65,_0x12e717){return _0x284c65>_0x12e717;},'PDFdw':'To\x20use:','sHxLp':'\x20\x20-\x20Open\x20Claude\x20Code\x20in\x20plan\x20mode\x20and\x20run\x20/ranger:enable.\x20Plan\x20out\x20a\x20UI\x20feature\x20with\x20Ranger\x20and\x20watch\x20Ranger\x20test\x20it\x20for\x20you!'};console[_0x23ff66(0x11e)](_0x5b280a[_0x23ff66(0x109)]);const _0xd7596f=_0x19704f[_0x23ff66(0x122)]??'claude',_0x1587ec=await getToken();if(!_0x1587ec){console[_0x23ff66(0x11e)]('❌\x20No\x20Ranger\x20API\x20token\x20found.\x0a'),console['log'](_0x23ff66(0x107)),console['log'](_0x23ff66(0x10d)),console['log']('\x20\x202.\x20Run:\x20ranger\x20setup'+(_0xd7596f===_0x5b280a['ICIpN']?'\x20--opencode':'')+'\x20<your-api-token>'),console[_0x23ff66(0x11e)](_0x23ff66(0x106)+(_0xd7596f===_0x5b280a[_0x23ff66(0x11f)]?_0x5b280a['nrrNG']:'')+'\x0a');return;}console['log'](_0x5b280a[_0x23ff66(0x101)]);const _0x2d7a32=_0x5b280a['RCKWA'](getProjectRoot),_0x3d2a40=basename(_0x2d7a32),_0x214d85=_0x5b280a['zWVHD'](_0xd7596f,_0x23ff66(0x104))?_0x5b280a[_0x23ff66(0x119)](getOpencodeConfigDir,'user')+'/skills/':_0x5b280a[_0x23ff66(0x116)](getClaudeConfigDir)+'/skills/',_0xf6ac7c=_0xd7596f==='opencode'?_0x2d7a32+_0x23ff66(0x11a):_0x2d7a32+'/.claude/skills/',_0x4cec07=process[_0x23ff66(0x105)][_0x23ff66(0x103)]&&process[_0x23ff66(0x11c)]['isTTY'];let _0x11b080;if(_0x19704f['autoInstall'])_0x11b080=_0x19704f[_0x23ff66(0x110)];else{if(_0x4cec07){const _0x5a1ce0=await _0x14043c['prompt']([{'type':_0x5b280a['gjaju'],'name':'installLevel','message':_0x23ff66(0x10e),'choices':[{'name':'All\x20projects\x20('+_0x214d85+')','value':_0x23ff66(0xff)},{'name':_0x23ff66(0x117)+_0xf6ac7c+')','value':_0x5b280a[_0x23ff66(0x10c)]}]}]);_0x11b080=_0x5a1ce0[_0x23ff66(0x10a)];}else _0x11b080='project',console['log'](_0x23ff66(0x108)+_0xf6ac7c+')');}let _0x559503=0x0;const _0x4dfb41=_0x5b280a['KBdrU'](getCurrentVersion);console['log'](_0x5b280a['KRdxB']);try{const _0x495ab2=await _0x5b280a['OciCL'](installSkill,'ranger',{'cliVersion':_0x4dfb41,'level':_0x11b080,'platform':_0xd7596f});_0x495ab2&&_0x559503++;}catch(_0x5e3ff5){console[_0x23ff66(0xfc)](_0x5b280a['vgiov'],_0x5e3ff5 instanceof Error?_0x5e3ff5['message']:_0x5e3ff5);}if(_0x559503>0x0){const _0x25d070=_0x5b280a[_0x23ff66(0x102)](_0x11b080,_0x23ff66(0xff))?_0x5b280a[_0x23ff66(0x121)]:'project-level';console['log'](_0x23ff66(0x111)+_0x559503+'\x20'+_0x25d070+'\x20skill'+(_0x5b280a[_0x23ff66(0x113)](_0x559503,0x1)?'s':'')+_0x23ff66(0xfa)),!_0x19704f['suppressUsage']&&(console[_0x23ff66(0x11e)](_0x5b280a['PDFdw']),_0x5b280a[_0x23ff66(0x102)](_0xd7596f,'opencode')?console['log'](_0x23ff66(0x11d)):console[_0x23ff66(0x11e)](_0x5b280a[_0x23ff66(0xfd)]));}else console['log']('\x0a⚠️\x20\x20No\x20skills\x20were\x20installed.\x0a');}
1
+ (function(_0x179498,_0x2619f1){const _0x907a37=_0x4246,_0x34985e=_0x179498();while(!![]){try{const _0x5529bd=-parseInt(_0x907a37(0x7e))/0x1*(parseInt(_0x907a37(0x72))/0x2)+parseInt(_0x907a37(0x6c))/0x3+-parseInt(_0x907a37(0x82))/0x4+parseInt(_0x907a37(0x74))/0x5*(-parseInt(_0x907a37(0x6a))/0x6)+parseInt(_0x907a37(0x87))/0x7+-parseInt(_0x907a37(0x66))/0x8*(-parseInt(_0x907a37(0x6b))/0x9)+parseInt(_0x907a37(0x7d))/0xa;if(_0x5529bd===_0x2619f1)break;else _0x34985e['push'](_0x34985e['shift']());}catch(_0x3f21c4){_0x34985e['push'](_0x34985e['shift']());}}}(_0x1e9e,0x24a71));import{basename}from'path';import _0x4543d7 from'inquirer';import{getToken}from'./utils/keychain.js';function _0x1e9e(){const _0x35fad3=['project-level','\x0a⚠️\x20\x20No\x20skills\x20were\x20installed.\x0a','210714agrFih','214047ZYAUHt','626019eAfQla','\x20--opencode','/.opencode/skills/','log','/skills/','uOwtr','922cxcBoE','hRKll','35XCaZQr','LoZCw','autoInstall','bJEUE','opencode','/.claude/skills/','To\x20get\x20started:','This\x20project\x20only\x20(','gTygH','1529750tvzVET','86AuEotL','installLevel','user','isTTY','1117748XWrcVq','\x0a✅\x20Installed\x20','list','\x0a📦\x20Installing\x20skills...\x0a','ranger','642488QUwtAc','JmhCs','All\x20projects\x20(','\x20successfully!\x0a','prompt','88PTDAqi','owGbF'];_0x1e9e=function(){return _0x35fad3;};return _0x1e9e();}function _0x4246(_0x46dcdc,_0x1134d8){_0x46dcdc=_0x46dcdc-0x65;const _0x1e9ed8=_0x1e9e();let _0x4246fe=_0x1e9ed8[_0x46dcdc];return _0x4246fe;}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(_0x4e5b87={}){const _0x51e3bf=_0x4246,_0x100f09={'yiQKr':'claude','uOwtr':'\x20\x201.\x20Get\x20your\x20API\x20token\x20from\x20https://dashboard.ranger.net/cli','gTygH':function(_0x28b2c0,_0x13d29b){return _0x28b2c0===_0x13d29b;},'JmhCs':_0x51e3bf(0x6d),'bJEUE':function(_0x211a04){return _0x211a04();},'LlsHT':function(_0x531be9,_0x86afff){return _0x531be9(_0x86afff);},'owGbF':_0x51e3bf(0x78),'pcNaF':'Where\x20should\x20skills\x20be\x20installed?','hRKll':'project','OaAOS':_0x51e3bf(0x86),'eHZzV':'user','LoZCw':'user-level','dtBoG':'To\x20use:','tGiNh':_0x51e3bf(0x69)};console[_0x51e3bf(0x6f)]('\x0a🎯\x20Ranger\x20Skill\x20Setup\x0a');const _0x1514ba=_0x4e5b87['platform']??_0x100f09['yiQKr'],_0x216061=await getToken();if(!_0x216061){console['log']('❌\x20No\x20Ranger\x20API\x20token\x20found.\x0a'),console['log'](_0x51e3bf(0x7a)),console['log'](_0x100f09[_0x51e3bf(0x71)]),console['log']('\x20\x202.\x20Run:\x20ranger\x20setup'+(_0x100f09[_0x51e3bf(0x7c)](_0x1514ba,_0x51e3bf(0x78))?_0x100f09[_0x51e3bf(0x88)]:'')+'\x20<your-api-token>'),console[_0x51e3bf(0x6f)]('\x20\x203.\x20Run:\x20ranger\x20skillup'+(_0x100f09[_0x51e3bf(0x7c)](_0x1514ba,_0x51e3bf(0x78))?'\x20--opencode':'')+'\x0a');return;}console[_0x51e3bf(0x6f)]('✓\x20Found\x20API\x20token');const _0x235013=_0x100f09[_0x51e3bf(0x77)](getProjectRoot),_0x1c7b36=_0x100f09['LlsHT'](basename,_0x235013),_0x1af35d=_0x1514ba===_0x100f09[_0x51e3bf(0x67)]?_0x100f09['LlsHT'](getOpencodeConfigDir,_0x51e3bf(0x80))+'/skills/':_0x100f09['bJEUE'](getClaudeConfigDir)+_0x51e3bf(0x70),_0x2c149b=_0x100f09['gTygH'](_0x1514ba,_0x51e3bf(0x78))?_0x235013+_0x51e3bf(0x6e):_0x235013+_0x51e3bf(0x79),_0x49ef38=process['stdin'][_0x51e3bf(0x81)]&&process['stdout'][_0x51e3bf(0x81)];let _0x5d490d;if(_0x4e5b87['autoInstall'])_0x5d490d=_0x4e5b87[_0x51e3bf(0x76)];else{if(_0x49ef38){const _0x3da863=await _0x4543d7[_0x51e3bf(0x65)]([{'type':_0x51e3bf(0x84),'name':'installLevel','message':_0x100f09['pcNaF'],'choices':[{'name':_0x51e3bf(0x89)+_0x1af35d+')','value':'user'},{'name':_0x51e3bf(0x7b)+_0x2c149b+')','value':_0x100f09['hRKll']}]}]);_0x5d490d=_0x3da863[_0x51e3bf(0x7f)];}else _0x5d490d=_0x100f09[_0x51e3bf(0x73)],console['log']('Non-interactive\x20mode:\x20Installing\x20skills\x20at\x20project\x20level\x20('+_0x2c149b+')');}let _0x8ad176=0x0;const _0x357da6=getCurrentVersion();console[_0x51e3bf(0x6f)](_0x51e3bf(0x85));try{const _0x5ae422=await installSkill(_0x100f09['OaAOS'],{'cliVersion':_0x357da6,'level':_0x5d490d,'platform':_0x1514ba});_0x5ae422&&_0x8ad176++;}catch(_0x1462bb){console['warn']('\x20\x20Failed\x20to\x20install\x20ranger\x20skill:',_0x1462bb instanceof Error?_0x1462bb['message']:_0x1462bb);}if(_0x8ad176>0x0){const _0x18611a=_0x5d490d===_0x100f09['eHZzV']?_0x100f09[_0x51e3bf(0x75)]:_0x51e3bf(0x68);console['log'](_0x51e3bf(0x83)+_0x8ad176+'\x20'+_0x18611a+'\x20skill'+(_0x8ad176>0x1?'s':'')+_0x51e3bf(0x8a)),!_0x4e5b87['suppressUsage']&&(console['log'](_0x100f09['dtBoG']),_0x1514ba===_0x51e3bf(0x78)?console['log']('\x20\x20-\x20Start\x20OpenCode\x20and\x20run\x20the\x20`ranger_enable`\x20tool\x20to\x20enable\x20hooks.'):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[_0x51e3bf(0x6f)](_0x100f09['tGiNh']);}
@@ -1 +1 @@
1
- const _0x5cd83e=_0x1a39;(function(_0x19ea68,_0x138b39){const _0x4d0e05=_0x1a39,_0x45602b=_0x19ea68();while(!![]){try{const _0x151426=-parseInt(_0x4d0e05(0xf0))/0x1+-parseInt(_0x4d0e05(0x128))/0x2*(-parseInt(_0x4d0e05(0xff))/0x3)+parseInt(_0x4d0e05(0x105))/0x4+parseInt(_0x4d0e05(0xfc))/0x5*(parseInt(_0x4d0e05(0x110))/0x6)+parseInt(_0x4d0e05(0x12d))/0x7*(parseInt(_0x4d0e05(0xea))/0x8)+-parseInt(_0x4d0e05(0xec))/0x9+-parseInt(_0x4d0e05(0x151))/0xa*(parseInt(_0x4d0e05(0x129))/0xb);if(_0x151426===_0x138b39)break;else _0x45602b['push'](_0x45602b['shift']());}catch(_0x480557){_0x45602b['push'](_0x45602b['shift']());}}}(_0x390d,0x3c950));import{mkdir,writeFile}from'fs/promises';import{join,dirname}from'path';import{existsSync}from'fs';import{createRequire}from'module';import _0x2b1032 from'inquirer';import{getToken,storeToken}from'./utils/keychain.js';import{getCurrentUser}from'./utils/userApi.js';import{chromium}from'playwright';import{addEnv}from'./addEnv.js';import{getRangerHomeDir,findGitRoot}from'./utils/rangerRoot.js';function _0x1a39(_0x1bfef6,_0x22f879){_0x1bfef6=_0x1bfef6-0xe3;const _0x390d90=_0x390d();let _0x1a3958=_0x390d90[_0x1bfef6];return _0x1a3958;}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';import{spawn}from'child_process';const require=createRequire(import.meta.url);export const PLAYWRIGHT_CHROMIUM_INSTALL_FALLBACK_VERSION=_0x5cd83e(0x108);const bold=_0x18364a=>'\x1b[1m'+_0x18364a+_0x5cd83e(0x159);export function getPlaywrightVersion(){const _0xaf647c=_0x5cd83e;try{const _0x2027d3=require[_0xaf647c(0x134)](_0xaf647c(0x122)),_0x452fc1=require(_0x2027d3);return _0x452fc1['version'];}catch{return null;}}function resolveBundledPlaywrightCli(){const _0x2260de=_0x5cd83e,_0x4d37a0={'MXDew':_0x2260de(0x122),'yfLTH':'cli.js'};try{const _0x15197f=join(dirname(require['resolve'](_0x4d37a0['MXDew'])),_0x4d37a0[_0x2260de(0x13c)]);return existsSync(_0x15197f)?_0x15197f:null;}catch{return null;}}const CHROMIUM_INSTALL_TIMEOUT_MS=Number(process['env'][_0x5cd83e(0x154)])||0x927c0;class ChromiumInstallTimeoutError extends Error{}function _0x390d(){const _0x5ad975=['local','yCDAf','1.56.1','You\x20can\x20install\x20it\x20manually\x20by\x20running:','ngfyJ','organizationName','aYxAh','ignore','project-scope\x20setup\x20obsolete).\x20Drop\x20the\x20--scope\x20flag\x20or\x20pass\x20--scope=user.','xANhT','6coIKNe','✓\x20Stored\x20credentials\x20locally','SIGKILL','\x0averification\x20to\x20check\x20its\x20work\x20as\x20it\x20builds.','\x20\x20Chromium\x20install\x20attempt\x20','\x0aSkipping\x20profile\x20setup\x20(--skip-auth).\x20Run\x20`ranger\x20setup`\x20with\x20auth\x20to\x20add\x20a\x20profile\x20later.\x0a','/ranger:enable','...','\x20now?','jpKKq','LuhEa','PTtQI','exit','device_auth','SGIbv','\x0aTo\x20set\x20up\x20a\x20profile\x20for\x20your\x20app,\x20run:','WXIXu','✓\x20Authenticated\x20to\x20','playwright/package.json','oqeEL','✓\x20~/.ranger/\x20directory\x20already\x20exists','Ulcfs','SDeLy','vQRVD','2cjCkTY','5687902dPfLAm','profile','\x0a\x20\x20','EaXuN','1524761aCCuez','opencode','⚠\x20No\x20git\x20repository\x20found.\x20Re-run\x20with\x20`--scope\x20user`\x20to\x20store\x20the\x20profile\x20at\x20~/.ranger/.','\x0aNon-interactive\x20mode:\x20Auto-installing\x20Playwright\x20Chromium\x20','bqvrr','and\x20prompt\x20the\x20agent\x20like\x20usual.\x20Ranger\x20will\x20create\x20a\x20feature\x20review','Installation\x20failed\x20with\x20exit\x20code\x20','resolve','bvWBY','jKLdG','\x0a✓\x20Playwright\x20Chromium\x20installed\x20successfully','.\x20Please\x20check\x20your\x20API\x20token\x20and\x20try\x20again.','auth','install','log','yfLTH','EMkTk','\x0ascenarios\x20describing\x20what\x20to\x20verify\x20and\x20then\x20run\x20browser','✓\x20Exported\x20credentials\x20for\x20CI','skills','user','MGEto','✓\x20Playwright\x20Chromium\x20browser\x20found','NHnqB','vaoAC','ranger\x20profile\x20add\x20<name>','force','✓\x20Local\x20profile\x20already\x20exists','\x0aIn\x20OpenCode,\x20enable\x20Ranger\x20hooks\x20(run\x20the\x20`ranger_enable`\x20tool)','ranger','inherit','skipAuth','chromium','trackPhaseStart','\x0a❌\x20Failed\x20to\x20install\x20Chromium:','warn','10TNNJSX','ready','env','RANGER_CHROMIUM_INSTALL_TIMEOUT_MS','eVbGP','trackPhaseEnd','OLkQS','plugin','\x1b[0m','jImZG','JZMqt','EpwWR','existing_token','round','gXdXX','success','execPath','oVxYt','.\x20Please\x20check\x20your\x20network\x20connection\x20and\x20server\x20URL.','lzkWU','JFloW','kBWGv','16nNeGlx','win32','2355489lzODBJ','kill','skipChromium','\x20install\x20chromium','143976FOmuYW','hVrRa','skipped','lzwAZ','.gitignore','error','\x20failed\x20(','isTTY','url','platform','\x20\x20npx\x20playwright@','\x0a✅\x20Ranger\x20setup\x20complete!\x0a','1021690uGNQMi','Could\x20not\x20determine\x20local\x20Playwright\x20version.\x20Install\x20Playwright\x20Chromium\x20using\x20fallback\x20version\x20','Authentication\x20failed:\x20','663213ZbGaIP','scope','✓\x20Created\x20~/.ranger/\x20directory','executablePath','CEuhn','message','1239472iAVGIb'];_0x390d=function(){return _0x5ad975;};return _0x390d();}export async function installChromiumBinary(_0x1a58f4,_0x19e6ed=![]){const _0x345009=_0x5cd83e,_0x11a21a={'EMkTk':function(_0x512b88){return _0x512b88();},'WXIXu':_0x345009(0x13a),'EaXuN':'--with-deps','bvWBY':_0x345009(0x14d),'Ulcfs':function(_0x533f1d,_0x55b9ac){return _0x533f1d+_0x55b9ac;},'lzwAZ':function(_0x970525,_0x2431e3){return _0x970525(_0x2431e3);}},_0x20de7f=_0x11a21a[_0x345009(0x13d)](resolveBundledPlaywrightCli),_0x46178c=_0x20de7f?process[_0x345009(0xe4)]:'npx',_0x16d8fa=[_0x20de7f??'playwright@'+_0x1a58f4,_0x11a21a[_0x345009(0x120)],..._0x19e6ed?[_0x11a21a[_0x345009(0x12c)]]:[],_0x11a21a[_0x345009(0x135)]];let _0x4c98fc=![];for(let _0x188fb6=0x1;;_0x188fb6++){try{await runChromiumInstall(_0x46178c,_0x16d8fa);return;}catch(_0x578308){_0x578308 instanceof ChromiumInstallTimeoutError&&!_0x4c98fc&&(_0x4c98fc=!![],console['log'](_0x11a21a[_0x345009(0x125)]('\x0a\x20\x20Chromium\x20install\x20timed\x20out\x20(limit\x20'+Math[_0x345009(0x15e)](CHROMIUM_INSTALL_TIMEOUT_MS/0x3e8)+'s).\x20On\x20a\x20slow\x20or\x20proxied\x20connection,\x20raise\x20the\x20limit\x20and\x20retry,\x20e.g.:\x0a','\x20\x20\x20\x20RANGER_CHROMIUM_INSTALL_TIMEOUT_MS=1800000\x20ranger\x20setup\x20deps')));if(_0x188fb6>=0x3)throw _0x578308;const _0x458491=_0x578308 instanceof Error?_0x578308['message']:_0x11a21a[_0x345009(0xf3)](String,_0x578308);console['log'](_0x345009(0x114)+_0x188fb6+_0x345009(0xf6)+_0x458491+');\x20retrying...');}}}function runChromiumInstall(_0x5e6d29,_0x44e1bf){const _0x219898=_0x5cd83e,_0x570bd2={'yCDAf':function(_0x13185f,_0x2356d9){return _0x13185f(_0x2356d9);},'aYxAh':function(_0x10f9e9,_0x2978fb){return _0x10f9e9/_0x2978fb;},'PDIRC':function(_0x25b801,_0x578098){return _0x25b801(_0x578098);},'JfEBE':function(_0x49a103){return _0x49a103();},'BBDJS':function(_0x34ba22,_0x7c9d40){return _0x34ba22(_0x7c9d40);},'HLBdU':function(_0xf50981,_0x28aa4d,_0xe62c9d,_0x4799e6){return _0xf50981(_0x28aa4d,_0xe62c9d,_0x4799e6);},'vQRVD':_0x219898(0x14b),'CjGBR':_0x219898(0xeb),'oMfcO':function(_0x538a40,_0x1b21b4,_0x526575){return _0x538a40(_0x1b21b4,_0x526575);},'HCteA':'error'};return new Promise((_0x2aafd0,_0x11df00)=>{const _0x21d1d3=_0x219898,_0xebc7f0={'oVxYt':function(_0x1d88a2,_0x1c6931){return _0x1d88a2(_0x1c6931);}},_0x2b2af9=_0x570bd2['HLBdU'](spawn,_0x5e6d29,_0x44e1bf,{'stdio':[_0x21d1d3(0x10d),_0x21d1d3(0x14b),_0x570bd2[_0x21d1d3(0x127)]],'shell':process[_0x21d1d3(0xf9)]===_0x570bd2['CjGBR']}),_0xbb62ab=_0x570bd2['oMfcO'](setTimeout,()=>{const _0x2ff5f4=_0x21d1d3;_0x2b2af9[_0x2ff5f4(0xed)](_0x2ff5f4(0x112)),_0x570bd2[_0x2ff5f4(0x107)](_0x11df00,new ChromiumInstallTimeoutError('Chromium\x20install\x20timed\x20out\x20after\x20'+Math[_0x2ff5f4(0x15e)](_0x570bd2[_0x2ff5f4(0x10c)](CHROMIUM_INSTALL_TIMEOUT_MS,0x3e8))+'s'));},CHROMIUM_INSTALL_TIMEOUT_MS);_0x2b2af9['on']('close',_0x4425be=>{const _0x203f41=_0x21d1d3;_0x570bd2['PDIRC'](clearTimeout,_0xbb62ab);if(_0x4425be===0x0)_0x570bd2['JfEBE'](_0x2aafd0);else _0x570bd2['BBDJS'](_0x11df00,new Error(_0x203f41(0x133)+_0x4425be));}),_0x2b2af9['on'](_0x570bd2['HCteA'],_0x3987c7=>{const _0x5a1c59=_0x21d1d3;_0xebc7f0[_0x5a1c59(0xe5)](clearTimeout,_0xbb62ab),_0xebc7f0['oVxYt'](_0x11df00,_0x3987c7);});});}export async function authenticate(_0x4e2996){const _0x222039=_0x5cd83e,_0xc78658={'jKLdG':function(_0x349edb){return _0x349edb();},'dPInj':function(_0x9a5ab3,_0x1d0e32){return _0x9a5ab3(_0x1d0e32);},'kBWGv':function(_0xcf82f5,_0x3a2e58){return _0xcf82f5 instanceof _0x3a2e58;},'KhsZT':function(_0xee5679,_0x5bedf2){return _0xee5679(_0x5bedf2);},'eEccw':'Validating\x20API\x20token...','akGkB':_0x222039(0x111)};if(!_0x4e2996){const _0x2e2c73=await _0xc78658[_0x222039(0x136)](getToken);if(_0x2e2c73){const _0x504095=await _0xc78658['dPInj'](getCurrentUser,_0x2e2c73);if(_0x504095[_0x222039(0xe3)])return console[_0x222039(0x13b)]('✓\x20Already\x20authenticated\x20to\x20'+_0x504095[_0x222039(0x141)][_0x222039(0x10b)]),{'token':_0x2e2c73,'method':_0x222039(0x15d)};}try{_0x4e2996=await _0xc78658['jKLdG'](runDeviceAuthFlow);}catch(_0x49518b){throw new Error('Authentication\x20failed:\x20'+(_0xc78658[_0x222039(0xe9)](_0x49518b,Error)?_0x49518b[_0x222039(0x104)]:_0x49518b));}const _0x303577=await _0xc78658['KhsZT'](getCurrentUser,_0x4e2996);if(!_0x303577[_0x222039(0xe3)])throw new Error('Failed\x20to\x20validate\x20provisioned\x20API\x20key:\x20'+_0x303577['error']);return console['log'](_0x222039(0x121)+_0x303577['user']['organizationName']),{'token':_0x4e2996,'method':_0x222039(0x11d)};}console['log'](_0xc78658['eEccw']);const _0x4ae165=await getCurrentUser(_0x4e2996);if(!_0x4ae165[_0x222039(0xe3)]){if(_0x4ae165['status'])throw new Error(_0x222039(0xfe)+_0x4ae165['error']+_0x222039(0x138));else throw new Error('Failed\x20to\x20connect\x20to\x20MCP\x20server:\x20'+_0x4ae165[_0x222039(0xf5)]+_0x222039(0xe6));}return console['log'](_0x222039(0x121)+_0x4ae165[_0x222039(0x141)]['organizationName']),await storeToken(_0x4e2996),console['log'](process[_0x222039(0x153)]['GITHUB_ENV']?_0x222039(0x13f):_0xc78658['akGkB']),{'token':_0x4e2996,'method':'provided_token'};}export async function ensureRangerDir(_0x2399d3){const _0x3deb8a=_0x5cd83e,_0x7d9186={'UJduJ':function(_0x7bb930){return _0x7bb930();},'vaoAC':function(_0xb242ba,_0x52ec3d,_0x19745c){return _0xb242ba(_0x52ec3d,_0x19745c);},'MGEto':_0x3deb8a(0x101)};void _0x2399d3;const _0x268812=_0x7d9186['UJduJ'](getRangerHomeDir);return!existsSync(_0x268812)?(await _0x7d9186[_0x3deb8a(0x145)](mkdir,_0x268812,{'recursive':!![]}),console['log'](_0x7d9186[_0x3deb8a(0x142)]),{'path':_0x268812,'installed':!![]}):(console[_0x3deb8a(0x13b)](_0x3deb8a(0x124)),{'path':_0x268812,'installed':![]});}export async function ensureChromium(_0x34734f=![]){const _0x26e2a5=_0x5cd83e,_0x1134b0={'SGIbv':function(_0x235fa7,_0x2c83b6){return _0x235fa7(_0x2c83b6);},'eVbGP':'\x20(fallback\x20version)','bqvrr':'\x0aInstalling\x20Chromium\x20browser...\x0a','mlEVb':function(_0x57cd86,_0x2e737d,_0x2fd104){return _0x57cd86(_0x2e737d,_0x2fd104);},'SJfgs':_0x26e2a5(0x137),'sXnpZ':'You\x20will\x20need\x20to\x20install\x20it\x20before\x20using\x20Ranger:'};let _0x540fb3=![];try{const _0x184c4c=chromium[_0x26e2a5(0x102)]();_0x540fb3=_0x1134b0[_0x26e2a5(0x11e)](existsSync,_0x184c4c);}catch{_0x540fb3=![];}if(_0x540fb3)return console[_0x26e2a5(0x13b)](_0x26e2a5(0x143)),![];const _0x5ef6f0=getPlaywrightVersion(),_0x1ccbda=_0x5ef6f0??PLAYWRIGHT_CHROMIUM_INSTALL_FALLBACK_VERSION,_0x4f7f81=!_0x5ef6f0,_0x329b0f=process['stdin'][_0x26e2a5(0xf7)]&&process['stdout'][_0x26e2a5(0xf7)];let _0x38e2b8=!![];if(_0x329b0f){const {install:_0x4fdd79}=await _0x2b1032['prompt']([{'type':'confirm','name':'install','message':_0x4f7f81?_0x26e2a5(0xfd)+_0x1ccbda+_0x26e2a5(0x118):'The\x20required\x20version\x20('+_0x1ccbda+')\x20of\x20the\x20Playwright\x20Chromium\x20browser\x20is\x20not\x20installed.\x20Install\x20it\x20now?','default':!![]}]);_0x38e2b8=_0x4fdd79;}else console['log'](_0x26e2a5(0x130)+_0x1ccbda+(_0x4f7f81?_0x1134b0[_0x26e2a5(0x155)]:'')+_0x26e2a5(0x117));if(_0x38e2b8){console['log'](_0x1134b0[_0x26e2a5(0x131)]);try{await _0x1134b0['mlEVb'](installChromiumBinary,_0x1ccbda,_0x34734f),console['log'](_0x1134b0['SJfgs']);}catch(_0x2ac7ab){console['error'](_0x26e2a5(0x14f),_0x2ac7ab instanceof Error?_0x2ac7ab['message']:_0x2ac7ab),console['log'](_0x26e2a5(0x109)),console[_0x26e2a5(0x13b)](_0x26e2a5(0xfa)+_0x1ccbda+_0x26e2a5(0xef));}}else console[_0x26e2a5(0x13b)]('\x0a⚠\x20Skipping\x20Chromium\x20installation.'),console['log'](_0x1134b0['sXnpZ']),console[_0x26e2a5(0x13b)]('\x20\x20npx\x20playwright@'+_0x1ccbda+_0x26e2a5(0xef));return!![];}export async function writeRangerGitignore(_0x1d369d){const _0x591808=_0x5cd83e,_0x47b02b={'lzkWU':function(_0x380f6d,_0xd98064,_0x12b1a5){return _0x380f6d(_0xd98064,_0x12b1a5);}},_0x1c5abb=_0x47b02b[_0x591808(0xe7)](join,_0x1d369d,_0x591808(0xf4)),_0x5e34e0='\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 _0x47b02b['lzkWU'](writeFile,_0x1c5abb,_0x5e34e0),console[_0x591808(0x13b)]('✓\x20Created\x20.ranger/.gitignore');}export async function ensureLocalEnv(_0x199800,_0x31f89f){const _0x1383fe=_0x5cd83e,_0x3c755b={'OLkQS':function(_0x2cb43e,_0x2c2a7b){return _0x2cb43e!==_0x2c2a7b;},'TvSrj':_0x1383fe(0x12f),'fpFKz':function(_0x541b5e,_0x458fc3){return _0x541b5e===_0x458fc3;},'NJjXD':_0x1383fe(0x141),'gXdXX':function(_0x187501,_0x293671,_0x59d4e2){return _0x187501(_0x293671,_0x59d4e2);},'PTtQI':_0x1383fe(0x106),'JFloW':_0x1383fe(0x148),'zabaB':function(_0x21472e,_0x37ddfb,_0x38a1dc,_0x3ddbf1){return _0x21472e(_0x37ddfb,_0x38a1dc,_0x3ddbf1);},'nMSHM':'\x0a❌\x20Profile\x20setup\x20failed:'};if(!findGitRoot()&&_0x3c755b[_0x1383fe(0x157)](_0x199800?.[_0x1383fe(0x100)],_0x1383fe(0x141)))return console['log'](_0x3c755b['TvSrj']),{'ready':![],'skipped':!![]};const _0xa671dd=_0x3c755b['fpFKz'](_0x199800?.[_0x1383fe(0x100)],_0x3c755b['NJjXD'])?getRangerHomeDir():undefined;if(_0x3c755b[_0x1383fe(0x15f)](findExistingEnv,_0x3c755b[_0x1383fe(0x11b)],{'locations':['local'],'rangerDir':_0xa671dd}))return console['log'](_0x3c755b[_0x1383fe(0xe8)]),{'ready':!![],'skipped':![]};try{return await _0x3c755b['zabaB'](addEnv,_0x3c755b[_0x1383fe(0x11b)],{'url':_0x199800?.['url'],'force':_0x199800?.['force'],'allowInsecureLocalhost':_0x199800?.['allowInsecureLocalhost'],'scope':_0x199800?.[_0x1383fe(0x100)]},_0x31f89f),{'ready':!![],'skipped':![]};}catch(_0x24871a){return console[_0x1383fe(0xf5)](_0x3c755b['nMSHM'],_0x24871a instanceof Error?_0x24871a['message']:_0x24871a),{'ready':![],'skipped':![]};}}export async function start(_0xb8d7e9,_0x214481,_0x162c9b){const _0x29944b=_0x5cd83e,_0x25244f={'kpdlk':function(_0x2b2dcd,_0x39cf34){return _0x2b2dcd!==_0x39cf34;},'JZMqt':'user','oQGwf':function(_0x1abe82,_0x51211b){return _0x1abe82+_0x51211b;},'SDeLy':function(_0x1d9267,_0x182414){return _0x1d9267+_0x182414;},'NHnqB':function(_0x37ed4d){return _0x37ed4d();},'JdiJW':function(_0x3b9bc2,_0x5526a1){return _0x3b9bc2(_0x5526a1);},'StswP':'✓\x20Skipping\x20authentication\x20(--skip-auth)','CEuhn':_0x29944b(0xf2),'ZNSHv':_0x29944b(0x14d),'YLEAh':'✓\x20Skipping\x20Chromium\x20check\x20(--skip-chromium)','cSLFD':_0x29944b(0xfb),'LuhEa':'plugin','EtIMq':function(_0x4fffab,_0x588a2a){return _0x4fffab(_0x588a2a);},'EpwWR':_0x29944b(0x140),'jpKKq':function(_0xe6ee00){return _0xe6ee00();},'oqeEL':'\x20\x20Failed\x20to\x20install\x20OpenCode\x20skill:','ngfyJ':_0x29944b(0x115),'xANhT':_0x29944b(0x12a),'TYQVj':function(_0x40275d,_0x3e79bc,_0xc7ced7){return _0x40275d(_0x3e79bc,_0xc7ced7);},'TXUJe':function(_0x166268,_0x4f37aa){return _0x166268+_0x4f37aa;},'AscUn':_0x29944b(0x146),'EowvG':_0x29944b(0x149),'hVrRa':_0x29944b(0x132),'jImZG':'with\x20scenarios\x20describing\x20what\x20to\x20verify\x20and\x20then\x20run\x20browser','xDdWn':function(_0x1db95e,_0x48a05f){return _0x1db95e+_0x48a05f;},'eoXzL':function(_0x2a8ec2,_0x207a7c){return _0x2a8ec2+_0x207a7c;}};console[_0x29944b(0x13b)]('\x0a🚀\x20Ranger\x20Setup\x0a');_0x25244f['kpdlk'](_0x214481?.[_0x29944b(0x100)],undefined)&&_0x214481['scope']!==_0x25244f[_0x29944b(0x15b)]&&(console['error'](_0x25244f['oQGwf'](_0x25244f['SDeLy']('ranger\x20setup\x20--scope='+String(_0x214481['scope'])+'\x20is\x20no\x20longer\x20supported.\x20','Setup\x20always\x20installs\x20at\x20user\x20scope\x20now\x20(cloud\x20profiles\x20make\x20'),_0x29944b(0x10e))),process[_0x29944b(0x11c)](0x1));_0x214481={..._0x214481,'scope':'user'};const _0x3e1318=!existsSync(_0x25244f[_0x29944b(0x144)](getRangerHomeDir));await _0x25244f['JdiJW'](ensureRangerDir,_0x29944b(0x141));if(_0x214481?.[_0x29944b(0x14c)])console[_0x29944b(0x13b)](_0x25244f['StswP']),_0x162c9b?.['trackPhaseEnd']('auth',{'isFirstRun':_0x3e1318,'method':_0x25244f[_0x29944b(0x103)]});else{_0x162c9b?.['trackPhaseStart']('auth');const _0x3ccbb2=await _0x25244f['JdiJW'](authenticate,_0xb8d7e9);_0x162c9b?.['trackPhaseEnd'](_0x29944b(0x139),{'isFirstRun':_0x3e1318,'method':_0x3ccbb2['method']});}_0x162c9b?.[_0x29944b(0x14e)](_0x25244f['ZNSHv']);_0x214481?.[_0x29944b(0xee)]?console[_0x29944b(0x13b)](_0x25244f['YLEAh']):await ensureChromium(_0x214481?.['withDeps']);_0x162c9b?.[_0x29944b(0x156)](_0x25244f['ZNSHv'],{'isFirstRun':_0x3e1318,'skipped':!!_0x214481?.['skipChromium']}),console[_0x29944b(0x13b)](_0x25244f['cSLFD']);const _0x357477=_0x214481?.['scope'],_0x1e6d31=_0x214481?.['opencode']??![];let _0x4b4e8c=null;_0x1e6d31?(_0x162c9b?.[_0x29944b(0x14e)](_0x25244f[_0x29944b(0x11a)]),_0x4b4e8c=await _0x25244f['EtIMq'](ensureOpencodePluginConfig,_0x357477),_0x162c9b?.['trackPhaseEnd'](_0x29944b(0x158),{'isFirstRun':_0x3e1318,'opencode':!![]})):(_0x162c9b?.[_0x29944b(0x14e)](_0x29944b(0x158)),await ensureClaudePlugin(_0x357477),_0x162c9b?.['trackPhaseEnd'](_0x29944b(0x158),{'isFirstRun':_0x3e1318}));if(_0x1e6d31&&_0x4b4e8c){_0x162c9b?.[_0x29944b(0x14e)](_0x25244f[_0x29944b(0x15c)]);try{await installSkill(_0x29944b(0x14a),{'level':_0x4b4e8c['scope'],'cliVersion':_0x25244f[_0x29944b(0x119)](getCurrentVersion),'platform':_0x29944b(0x12e)}),_0x162c9b?.['trackPhaseEnd'](_0x25244f[_0x29944b(0x15c)],{'isFirstRun':_0x3e1318,'opencode':!![]});}catch(_0x3c6289){console[_0x29944b(0x150)](_0x25244f[_0x29944b(0x123)],_0x3c6289 instanceof Error?_0x3c6289[_0x29944b(0x104)]:_0x3c6289),_0x162c9b?.[_0x29944b(0x156)](_0x29944b(0x140),{'isFirstRun':_0x3e1318,'opencode':!![],'failed':!![]});}}else _0x162c9b?.[_0x29944b(0x14e)](_0x29944b(0x140)),await ensureClaudeSkills(_0x357477),_0x162c9b?.['trackPhaseEnd'](_0x25244f[_0x29944b(0x15c)],{'isFirstRun':_0x3e1318});if(_0x214481?.[_0x29944b(0x14c)])console[_0x29944b(0x13b)](_0x25244f[_0x29944b(0x10a)]);else{if(_0x214481?.[_0x29944b(0xf8)]){_0x162c9b?.[_0x29944b(0x14e)](_0x25244f[_0x29944b(0x10f)]);const _0x152bc0=await _0x25244f['TYQVj'](ensureLocalEnv,{'url':_0x214481[_0x29944b(0xf8)],'force':_0x214481?.[_0x29944b(0x147)],'allowInsecureLocalhost':_0x214481?.['allowInsecureLocalhost'],'scope':_0x25244f['JZMqt']},_0x162c9b);_0x162c9b?.['trackPhaseEnd'](_0x29944b(0x12a),{'isFirstRun':_0x3e1318,'profileReady':_0x152bc0[_0x29944b(0x152)],'userSkipped':_0x152bc0['skipped']});}else console[_0x29944b(0x13b)](_0x25244f['TXUJe'](_0x25244f[_0x29944b(0x126)](_0x25244f['oQGwf'](_0x29944b(0x11f),_0x29944b(0x12b)+bold(_0x25244f['AscUn'])),'\x0a\x20\x20(opens\x20a\x20browser\x20so\x20you\x20can\x20log\x20in\x20once)')+'\x0a\x0aFor\x20CI\x20/\x20background\x20agents\x20and\x20other\x20setup\x20options,\x20see:','\x0a\x20\x20https://docs.ranger.net/main/concepts/profiles'));}if(_0x1e6d31)console[_0x29944b(0x13b)](_0x25244f['EowvG']),console['log'](_0x25244f[_0x29944b(0xf1)]),console[_0x29944b(0x13b)](_0x25244f[_0x29944b(0x15a)]),console['log']('verification\x20to\x20check\x20its\x20work\x20as\x20it\x20builds.');else{const _0x5d4ed0=_0x25244f['EtIMq'](bold,_0x29944b(0x116));console[_0x29944b(0x13b)](_0x25244f['xDdWn'](_0x25244f['eoXzL']('\x0aIn\x20Claude\x20Code,\x20run\x20'+_0x5d4ed0+'\x20and\x20prompt\x20the\x20coding'+'\x0aagent\x20like\x20usual.\x20Claude\x20will\x20create\x20a\x20feature\x20review\x20with',_0x29944b(0x13e)),_0x29944b(0x113)));}}
1
+ function _0x14ea(_0x4b82d9,_0x4d46bc){_0x4b82d9=_0x4b82d9-0xe6;const _0xe3a176=_0xe3a1();let _0x14ea5d=_0xe3a176[_0x4b82d9];return _0x14ea5d;}const _0x19fd5a=_0x14ea;(function(_0x1f4a32,_0x1e9f83){const _0x4bdeae=_0x14ea,_0xc4a68f=_0x1f4a32();while(!![]){try{const _0x3dbde5=parseInt(_0x4bdeae(0x101))/0x1+-parseInt(_0x4bdeae(0x12a))/0x2*(parseInt(_0x4bdeae(0x120))/0x3)+parseInt(_0x4bdeae(0x127))/0x4*(-parseInt(_0x4bdeae(0xfc))/0x5)+-parseInt(_0x4bdeae(0xf0))/0x6*(parseInt(_0x4bdeae(0x118))/0x7)+-parseInt(_0x4bdeae(0xed))/0x8+-parseInt(_0x4bdeae(0xee))/0x9+-parseInt(_0x4bdeae(0xff))/0xa*(-parseInt(_0x4bdeae(0x135))/0xb);if(_0x3dbde5===_0x1e9f83)break;else _0xc4a68f['push'](_0xc4a68f['shift']());}catch(_0x5977b5){_0xc4a68f['push'](_0xc4a68f['shift']());}}}(_0xe3a1,0x3ac4f));import{mkdir,writeFile}from'fs/promises';import{join,dirname}from'path';import{existsSync}from'fs';import{createRequire}from'module';import _0x236b07 from'inquirer';import{getToken,storeToken}from'./utils/keychain.js';import{getCurrentUser}from'./utils/userApi.js';function _0xe3a1(){const _0x38ec3b=['lEWNP','verification\x20to\x20check\x20its\x20work\x20as\x20it\x20builds.','message','playwright@','\x0aNon-interactive\x20mode:\x20Auto-installing\x20Playwright\x20Chromium\x20','withDeps','stdin','OskOq','RANGER_CHROMIUM_INSTALL_TIMEOUT_MS','bThaO','\x0a\x20\x20Chromium\x20install\x20timed\x20out\x20(limit\x20','eAVQh','FgVTi','log','\x20\x20Failed\x20to\x20install\x20OpenCode\x20skill:','SdFfy','allowInsecureLocalhost','iImhr','Authentication\x20failed:\x20','status','NSrlo','plugin','ready','\x0a🚀\x20Ranger\x20Setup\x0a','JlGsT',');\x20retrying...','zSeCy','local','BjkuL','\x0averification\x20to\x20check\x20its\x20work\x20as\x20it\x20builds.','✓\x20Exported\x20credentials\x20for\x20CI','error','✓\x20Local\x20profile\x20already\x20exists','skipped','trackPhaseStart','2802736eLOZaJ','3192741HhkgUS','gdXVz','6YKuLcm','\x0a✓\x20Playwright\x20Chromium\x20installed\x20successfully','--with-deps','✓\x20Stored\x20credentials\x20locally','\x0aIn\x20Claude\x20Code,\x20run\x20','bEvHq','IRcTf','vTZnD','\x20\x20npx\x20playwright@','✓\x20Skipping\x20authentication\x20(--skip-auth)','ranger\x20setup\x20--scope=','/ranger:enable','100QMsEME','trackPhaseEnd','QwQkQ','8207890mlSQnS','wIHgZ','364669rHMywv','PpQeL','prompt','Failed\x20to\x20validate\x20provisioned\x20API\x20key:\x20','\x0aagent\x20like\x20usual.\x20Claude\x20will\x20create\x20a\x20feature\x20review\x20with','\x0a\x20\x20https://docs.ranger.net/main/concepts/profiles','inherit','uhNxi','ksBVe','force','profile','env','✓\x20Authenticated\x20to\x20','scope','url','resolve','GOAMf','platform','existing_token','skills','btNTq','oEuXV','skipChromium','950509abXupP','\x20(fallback\x20version)','qtsYu','✓\x20Skipping\x20Chromium\x20check\x20(--skip-chromium)','rakzI','You\x20will\x20need\x20to\x20install\x20it\x20before\x20using\x20Ranger:','.\x20Please\x20check\x20your\x20network\x20connection\x20and\x20server\x20URL.','VogbY','9DlgtEJ','cli.js','\x0a\x20\x20','GtVIJ','device_auth','\x1b[1m','oXfND','2348WjHIGt','auth','close','61414nWDIGe','success','skipAuth','\x20and\x20prompt\x20the\x20coding','GfCfS','xytnA','organizationName','stdout','tiGsH','method','.\x20Please\x20check\x20your\x20API\x20token\x20and\x20try\x20again.','11BfpzkC','user','npx','\x0aSkipping\x20profile\x20setup\x20(--skip-auth).\x20Run\x20`ranger\x20setup`\x20with\x20auth\x20to\x20add\x20a\x20profile\x20later.\x0a','tUVhd','win32','TrPUC','with\x20scenarios\x20describing\x20what\x20to\x20verify\x20and\x20then\x20run\x20browser','\x20\x20\x20\x20RANGER_CHROMIUM_INSTALL_TIMEOUT_MS=1800000\x20ranger\x20setup\x20deps','\x0aTo\x20set\x20up\x20a\x20profile\x20for\x20your\x20app,\x20run:','round','You\x20can\x20install\x20it\x20manually\x20by\x20running:','DrVmx','qMexZ','Setup\x20always\x20installs\x20at\x20user\x20scope\x20now\x20(cloud\x20profiles\x20make\x20'];_0xe3a1=function(){return _0x38ec3b;};return _0xe3a1();}import{chromium}from'playwright';import{addEnv}from'./addEnv.js';import{getRangerHomeDir,findGitRoot}from'./utils/rangerRoot.js';import{runDeviceAuthFlow}from'./utils/deviceAuth.js';import{findExistingEnv}from'./utils/settings.js';import{getCurrentVersion}from'./utils/version.js';import{ensureClaudePlugin,ensureClaudeSkills}from'./setup/claude.js';import{ensureOpencodePluginConfig}from'./setup/opencode.js';import{installSkill}from'./utils/skills.js';import{spawn}from'child_process';const require=createRequire(import.meta.url);export const PLAYWRIGHT_CHROMIUM_INSTALL_FALLBACK_VERSION='1.56.1';const bold=_0x2b3065=>_0x19fd5a(0x125)+_0x2b3065+'\x1b[0m';export function getPlaywrightVersion(){const _0x38b3ce=_0x19fd5a;try{const _0x14c286=require[_0x38b3ce(0x110)]('playwright/package.json'),_0x15b0e4=require(_0x14c286);return _0x15b0e4['version'];}catch{return null;}}function resolveBundledPlaywrightCli(){const _0x3150e4=_0x19fd5a,_0x58d639={'YGpcI':'playwright/package.json','XEFtH':_0x3150e4(0x121),'zlorI':function(_0x54a44c,_0x5a1a3e){return _0x54a44c(_0x5a1a3e);}};try{const _0x1eef8c=join(dirname(require[_0x3150e4(0x110)](_0x58d639['YGpcI'])),_0x58d639['XEFtH']);return _0x58d639['zlorI'](existsSync,_0x1eef8c)?_0x1eef8c:null;}catch{return null;}}const CHROMIUM_INSTALL_TIMEOUT_MS=Number(process['env'][_0x19fd5a(0x14c)])||0x927c0;class ChromiumInstallTimeoutError extends Error{}export async function installChromiumBinary(_0x3444da,_0x5eb2e0=![]){const _0x24874e=_0x19fd5a,_0x456ac4={'bEvHq':'install','QnoZc':_0x24874e(0xf2),'bNexv':'chromium','aJjPL':function(_0x5a0c31,_0x10a0e9,_0xf4a1ce){return _0x5a0c31(_0x10a0e9,_0xf4a1ce);},'oufpk':function(_0x382eaf,_0x4722ca){return _0x382eaf instanceof _0x4722ca;},'SynHd':function(_0xa83154,_0x246850){return _0xa83154+_0x246850;},'gLHIm':function(_0x111847,_0x56a869){return _0x111847/_0x56a869;},'tCASA':function(_0x44d739,_0x568291){return _0x44d739 instanceof _0x568291;},'iUpWH':function(_0x1c713c,_0x13a716){return _0x1c713c(_0x13a716);}},_0x33afb1=resolveBundledPlaywrightCli(),_0x35e38e=_0x33afb1?process['execPath']:_0x24874e(0x137),_0x55f04d=[_0x33afb1??_0x24874e(0x147)+_0x3444da,_0x456ac4[_0x24874e(0xf5)],..._0x5eb2e0?[_0x456ac4['QnoZc']]:[],_0x456ac4['bNexv']];let _0x5058c3=![];for(let _0x279ff0=0x1;;_0x279ff0++){try{await _0x456ac4['aJjPL'](runChromiumInstall,_0x35e38e,_0x55f04d);return;}catch(_0x4d6fd1){_0x456ac4['oufpk'](_0x4d6fd1,ChromiumInstallTimeoutError)&&!_0x5058c3&&(_0x5058c3=!![],console[_0x24874e(0x151)](_0x456ac4['SynHd'](_0x24874e(0x14e)+Math[_0x24874e(0x13f)](_0x456ac4['gLHIm'](CHROMIUM_INSTALL_TIMEOUT_MS,0x3e8))+'s).\x20On\x20a\x20slow\x20or\x20proxied\x20connection,\x20raise\x20the\x20limit\x20and\x20retry,\x20e.g.:\x0a',_0x24874e(0x13d))));if(_0x279ff0>=0x3)throw _0x4d6fd1;const _0x3eb881=_0x456ac4['tCASA'](_0x4d6fd1,Error)?_0x4d6fd1['message']:_0x456ac4['iUpWH'](String,_0x4d6fd1);console[_0x24874e(0x151)]('\x20\x20Chromium\x20install\x20attempt\x20'+_0x279ff0+'\x20failed\x20('+_0x3eb881+_0x24874e(0x15d));}}}function runChromiumInstall(_0x4c3a15,_0x359843){const _0x3c4ffb=_0x19fd5a,_0xe5393={'iDDWu':function(_0x23dc7e,_0x330817){return _0x23dc7e(_0x330817);},'OskOq':function(_0x4421ce,_0x556928){return _0x4421ce(_0x556928);},'PprMD':function(_0x45b519,_0x2160a4){return _0x45b519(_0x2160a4);},'LJrlU':function(_0x277206){return _0x277206();},'vXqcy':function(_0x28a2c9,_0x5ae20f,_0x57acb0,_0x5ad835){return _0x28a2c9(_0x5ae20f,_0x57acb0,_0x5ad835);},'uZJif':_0x3c4ffb(0xe9)};return new Promise((_0x101574,_0xe7dde9)=>{const _0x3e3f5e=_0x3c4ffb,_0x1938d8={'GfCfS':function(_0x40faa8,_0x1e9c27){const _0x171085=_0x14ea;return _0xe5393[_0x171085(0x14b)](_0x40faa8,_0x1e9c27);},'iImhr':function(_0x1affe0){return _0xe5393['LJrlU'](_0x1affe0);}},_0x2a21d7=_0xe5393['vXqcy'](spawn,_0x4c3a15,_0x359843,{'stdio':['ignore',_0x3e3f5e(0x107),_0x3e3f5e(0x107)],'shell':process[_0x3e3f5e(0x112)]===_0x3e3f5e(0x13a)}),_0x45573c=setTimeout(()=>{_0x2a21d7['kill']('SIGKILL'),_0xe5393['iDDWu'](_0xe7dde9,new ChromiumInstallTimeoutError('Chromium\x20install\x20timed\x20out\x20after\x20'+Math['round'](CHROMIUM_INSTALL_TIMEOUT_MS/0x3e8)+'s'));},CHROMIUM_INSTALL_TIMEOUT_MS);_0x2a21d7['on'](_0x3e3f5e(0x129),_0xded045=>{const _0x34cb08=_0x3e3f5e;_0x1938d8['GfCfS'](clearTimeout,_0x45573c);if(_0xded045===0x0)_0x1938d8[_0x34cb08(0x155)](_0x101574);else _0x1938d8[_0x34cb08(0x12e)](_0xe7dde9,new Error('Installation\x20failed\x20with\x20exit\x20code\x20'+_0xded045));}),_0x2a21d7['on'](_0xe5393['uZJif'],_0x190f8c=>{_0xe5393['OskOq'](clearTimeout,_0x45573c),_0xe5393['PprMD'](_0xe7dde9,_0x190f8c);});});}export async function authenticate(_0x359623){const _0xfb4fa3=_0x19fd5a,_0x50edef={'ksBVe':function(_0x4438b1){return _0x4438b1();},'btNTq':function(_0x7a8e07,_0x133b8a){return _0x7a8e07(_0x133b8a);},'PpQeL':_0xfb4fa3(0x113),'LodnW':'Validating\x20API\x20token...'};if(!_0x359623){const _0x2db722=await _0x50edef['ksBVe'](getToken);if(_0x2db722){const _0xd7c043=await _0x50edef[_0xfb4fa3(0x115)](getCurrentUser,_0x2db722);if(_0xd7c043[_0xfb4fa3(0x12b)])return console['log']('✓\x20Already\x20authenticated\x20to\x20'+_0xd7c043[_0xfb4fa3(0x136)][_0xfb4fa3(0x130)]),{'token':_0x2db722,'method':_0x50edef[_0xfb4fa3(0x102)]};}try{_0x359623=await _0x50edef[_0xfb4fa3(0x109)](runDeviceAuthFlow);}catch(_0x227d9b){throw new Error(_0xfb4fa3(0x156)+(_0x227d9b instanceof Error?_0x227d9b[_0xfb4fa3(0x146)]:_0x227d9b));}const _0x5bbbd4=await getCurrentUser(_0x359623);if(!_0x5bbbd4[_0xfb4fa3(0x12b)])throw new Error(_0xfb4fa3(0x104)+_0x5bbbd4['error']);return console['log'](_0xfb4fa3(0x10d)+_0x5bbbd4[_0xfb4fa3(0x136)][_0xfb4fa3(0x130)]),{'token':_0x359623,'method':_0xfb4fa3(0x124)};}console['log'](_0x50edef['LodnW']);const _0x2790f4=await getCurrentUser(_0x359623);if(!_0x2790f4['success']){if(_0x2790f4[_0xfb4fa3(0x157)])throw new Error('Authentication\x20failed:\x20'+_0x2790f4['error']+_0xfb4fa3(0x134));else throw new Error('Failed\x20to\x20connect\x20to\x20MCP\x20server:\x20'+_0x2790f4['error']+_0xfb4fa3(0x11e));}return console[_0xfb4fa3(0x151)](_0xfb4fa3(0x10d)+_0x2790f4['user']['organizationName']),await storeToken(_0x359623),console[_0xfb4fa3(0x151)](process[_0xfb4fa3(0x10c)]['GITHUB_ENV']?_0xfb4fa3(0xe8):_0xfb4fa3(0xf3)),{'token':_0x359623,'method':'provided_token'};}export async function ensureRangerDir(_0x38223e){const _0x29a512={'gatgB':function(_0x289e74){return _0x289e74();},'vmYSZ':function(_0x3a5f54,_0x9931c6){return _0x3a5f54(_0x9931c6);},'dpiNd':'✓\x20~/.ranger/\x20directory\x20already\x20exists'};void _0x38223e;const _0x4d11dd=_0x29a512['gatgB'](getRangerHomeDir);return!_0x29a512['vmYSZ'](existsSync,_0x4d11dd)?(await mkdir(_0x4d11dd,{'recursive':!![]}),console['log']('✓\x20Created\x20~/.ranger/\x20directory'),{'path':_0x4d11dd,'installed':!![]}):(console['log'](_0x29a512['dpiNd']),{'path':_0x4d11dd,'installed':![]});}export async function ensureChromium(_0x3d6351=![]){const _0x2301f4=_0x19fd5a,_0x3c9d85={'QZYph':function(_0x13f759,_0x2f2027){return _0x13f759(_0x2f2027);},'aqMjc':function(_0x25bce8,_0x4b7819){return _0x25bce8??_0x4b7819;},'VogbY':'confirm','KZdaz':'\x0aInstalling\x20Chromium\x20browser...\x0a','mBoOa':_0x2301f4(0xf1),'gdXVz':'\x0a❌\x20Failed\x20to\x20install\x20Chromium:'};let _0x41058d=![];try{const _0x3f3555=chromium['executablePath']();_0x41058d=_0x3c9d85['QZYph'](existsSync,_0x3f3555);}catch{_0x41058d=![];}if(_0x41058d)return console['log']('✓\x20Playwright\x20Chromium\x20browser\x20found'),![];const _0x55c349=getPlaywrightVersion(),_0x4b3d13=_0x3c9d85['aqMjc'](_0x55c349,PLAYWRIGHT_CHROMIUM_INSTALL_FALLBACK_VERSION),_0x48539a=!_0x55c349,_0x311e7b=process[_0x2301f4(0x14a)]['isTTY']&&process[_0x2301f4(0x131)]['isTTY'];let _0x18ac09=!![];if(_0x311e7b){const {install:_0x24ced9}=await _0x236b07[_0x2301f4(0x103)]([{'type':_0x3c9d85[_0x2301f4(0x11f)],'name':'install','message':_0x48539a?'Could\x20not\x20determine\x20local\x20Playwright\x20version.\x20Install\x20Playwright\x20Chromium\x20using\x20fallback\x20version\x20'+_0x4b3d13+'\x20now?':'The\x20required\x20version\x20('+_0x4b3d13+')\x20of\x20the\x20Playwright\x20Chromium\x20browser\x20is\x20not\x20installed.\x20Install\x20it\x20now?','default':!![]}]);_0x18ac09=_0x24ced9;}else console[_0x2301f4(0x151)](_0x2301f4(0x148)+_0x4b3d13+(_0x48539a?_0x2301f4(0x119):'')+'...');if(_0x18ac09){console['log'](_0x3c9d85['KZdaz']);try{await installChromiumBinary(_0x4b3d13,_0x3d6351),console[_0x2301f4(0x151)](_0x3c9d85['mBoOa']);}catch(_0x204816){console[_0x2301f4(0xe9)](_0x3c9d85[_0x2301f4(0xef)],_0x204816 instanceof Error?_0x204816[_0x2301f4(0x146)]:_0x204816),console[_0x2301f4(0x151)](_0x2301f4(0x140)),console[_0x2301f4(0x151)](_0x2301f4(0xf8)+_0x4b3d13+'\x20install\x20chromium');}}else console[_0x2301f4(0x151)]('\x0a⚠\x20Skipping\x20Chromium\x20installation.'),console[_0x2301f4(0x151)](_0x2301f4(0x11d)),console[_0x2301f4(0x151)](_0x2301f4(0xf8)+_0x4b3d13+'\x20install\x20chromium');return!![];}export async function writeRangerGitignore(_0x21b5c9){const _0x157a53=_0x19fd5a,_0x3fb861={'TREfz':function(_0x36c46f,_0x3bbb04,_0x519edf){return _0x36c46f(_0x3bbb04,_0x519edf);},'oEuXV':'✓\x20Created\x20.ranger/.gitignore'},_0x1e1dc4=_0x3fb861['TREfz'](join,_0x21b5c9,'.gitignore'),_0x24a52c='\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(_0x1e1dc4,_0x24a52c),console['log'](_0x3fb861[_0x157a53(0x116)]);}export async function ensureLocalEnv(_0x3ee304,_0x3c7333){const _0x538ce0=_0x19fd5a,_0xc17f64={'QwQkQ':function(_0xab50b6){return _0xab50b6();},'rakzI':function(_0x1020b3,_0x4b2c8f){return _0x1020b3!==_0x4b2c8f;},'TrPUC':_0x538ce0(0x136),'zSeCy':function(_0x3315c0,_0x3dbf9a){return _0x3315c0===_0x3dbf9a;},'KXYXO':function(_0x5c4fb2,_0xc39af1,_0x49833e){return _0x5c4fb2(_0xc39af1,_0x49833e);},'NSrlo':_0x538ce0(0x15f),'tiGsH':_0x538ce0(0xea),'bMjoE':function(_0x3e0937,_0x297ab5,_0x430f06,_0x23491c){return _0x3e0937(_0x297ab5,_0x430f06,_0x23491c);}};if(!_0xc17f64[_0x538ce0(0xfe)](findGitRoot)&&_0xc17f64[_0x538ce0(0x11c)](_0x3ee304?.[_0x538ce0(0x10e)],_0xc17f64[_0x538ce0(0x13b)]))return console['log']('⚠\x20No\x20git\x20repository\x20found.\x20Re-run\x20with\x20`--scope\x20user`\x20to\x20store\x20the\x20profile\x20at\x20~/.ranger/.'),{'ready':![],'skipped':!![]};const _0x34e355=_0xc17f64[_0x538ce0(0x15e)](_0x3ee304?.['scope'],_0xc17f64[_0x538ce0(0x13b)])?getRangerHomeDir():undefined;if(_0xc17f64['KXYXO'](findExistingEnv,_0xc17f64['NSrlo'],{'locations':[_0x538ce0(0x15f)],'rangerDir':_0x34e355}))return console['log'](_0xc17f64[_0x538ce0(0x132)]),{'ready':!![],'skipped':![]};try{return await _0xc17f64['bMjoE'](addEnv,_0xc17f64[_0x538ce0(0x158)],{'url':_0x3ee304?.[_0x538ce0(0x10f)],'force':_0x3ee304?.['force'],'allowInsecureLocalhost':_0x3ee304?.[_0x538ce0(0x154)],'scope':_0x3ee304?.['scope']},_0x3c7333),{'ready':!![],'skipped':![]};}catch(_0x45d6cb){return console['error']('\x0a❌\x20Profile\x20setup\x20failed:',_0x45d6cb instanceof Error?_0x45d6cb[_0x538ce0(0x146)]:_0x45d6cb),{'ready':![],'skipped':![]};}}export async function start(_0x403b01,_0x2df8dc,_0x4912d5){const _0x3513e3=_0x19fd5a,_0x5a74c4={'GtVIJ':function(_0x178254,_0x5356d9){return _0x178254!==_0x5356d9;},'oXfND':function(_0x1b2def,_0x1cb54c){return _0x1b2def!==_0x1cb54c;},'DrVmx':_0x3513e3(0x136),'SdFfy':function(_0x44bd5b,_0x144bac){return _0x44bd5b+_0x144bac;},'OIRWT':function(_0xfab5a1,_0x495f27){return _0xfab5a1(_0x495f27);},'uhNxi':function(_0xa0a2fa,_0x1309d7){return _0xa0a2fa(_0x1309d7);},'FgVTi':function(_0xbdd0c1){return _0xbdd0c1();},'JlGsT':'skipped','xytnA':_0x3513e3(0x128),'BjkuL':'\x0a✅\x20Ranger\x20setup\x20complete!\x0a','wIHgZ':_0x3513e3(0x159),'VTEFR':'skills','MOSxC':function(_0x452e47,_0x1f9f30,_0x2e67c6){return _0x452e47(_0x1f9f30,_0x2e67c6);},'qtsYu':'ranger','lEWNP':'opencode','zRSbr':_0x3513e3(0x138),'GOAMf':_0x3513e3(0x10b),'OakHP':function(_0x18f831,_0x5f30b5,_0x54a1b9){return _0x18f831(_0x5f30b5,_0x54a1b9);},'JMLvv':function(_0x16c3b8,_0x27b467){return _0x16c3b8+_0x27b467;},'tUVhd':function(_0x239233,_0x4c94bb){return _0x239233+_0x4c94bb;},'bThaO':function(_0x3ead56,_0x2f78aa){return _0x3ead56(_0x2f78aa);},'ztuJX':'ranger\x20profile\x20add\x20<name>','eAVQh':'\x0aIn\x20OpenCode,\x20enable\x20Ranger\x20hooks\x20(run\x20the\x20`ranger_enable`\x20tool)','qMexZ':_0x3513e3(0x145),'vTZnD':_0x3513e3(0xfb),'gjpbt':function(_0x1cf95d,_0x5a5364){return _0x1cf95d+_0x5a5364;},'IRcTf':function(_0x10c425,_0xd40197){return _0x10c425+_0xd40197;}};console['log'](_0x3513e3(0x15b));_0x5a74c4[_0x3513e3(0x123)](_0x2df8dc?.[_0x3513e3(0x10e)],undefined)&&_0x5a74c4[_0x3513e3(0x126)](_0x2df8dc['scope'],_0x5a74c4[_0x3513e3(0x141)])&&(console[_0x3513e3(0xe9)](_0x5a74c4[_0x3513e3(0x153)](_0x3513e3(0xfa)+_0x5a74c4['OIRWT'](String,_0x2df8dc[_0x3513e3(0x10e)])+'\x20is\x20no\x20longer\x20supported.\x20',_0x3513e3(0x143))+'project-scope\x20setup\x20obsolete).\x20Drop\x20the\x20--scope\x20flag\x20or\x20pass\x20--scope=user.'),process['exit'](0x1));_0x2df8dc={..._0x2df8dc,'scope':'user'};const _0x42b643=!_0x5a74c4['uhNxi'](existsSync,_0x5a74c4[_0x3513e3(0x150)](getRangerHomeDir));await _0x5a74c4[_0x3513e3(0x108)](ensureRangerDir,_0x3513e3(0x136));if(_0x2df8dc?.[_0x3513e3(0x12c)])console[_0x3513e3(0x151)](_0x3513e3(0xf9)),_0x4912d5?.[_0x3513e3(0xfd)](_0x3513e3(0x128),{'isFirstRun':_0x42b643,'method':_0x5a74c4[_0x3513e3(0x15c)]});else{_0x4912d5?.['trackPhaseStart'](_0x5a74c4['xytnA']);const _0x3dbe00=await _0x5a74c4['uhNxi'](authenticate,_0x403b01);_0x4912d5?.['trackPhaseEnd'](_0x5a74c4[_0x3513e3(0x12f)],{'isFirstRun':_0x42b643,'method':_0x3dbe00[_0x3513e3(0x133)]});}_0x4912d5?.[_0x3513e3(0xec)]('chromium');_0x2df8dc?.[_0x3513e3(0x117)]?console[_0x3513e3(0x151)](_0x3513e3(0x11b)):await ensureChromium(_0x2df8dc?.[_0x3513e3(0x149)]);_0x4912d5?.[_0x3513e3(0xfd)]('chromium',{'isFirstRun':_0x42b643,'skipped':!!_0x2df8dc?.[_0x3513e3(0x117)]}),console[_0x3513e3(0x151)](_0x5a74c4[_0x3513e3(0xe6)]);const _0x2ff6c0=_0x2df8dc?.[_0x3513e3(0x10e)],_0x9a4bc1=_0x2df8dc?.['opencode']??![];let _0x4b7adf=null;_0x9a4bc1?(_0x4912d5?.[_0x3513e3(0xec)](_0x3513e3(0x159)),_0x4b7adf=await ensureOpencodePluginConfig(_0x2ff6c0),_0x4912d5?.[_0x3513e3(0xfd)]('plugin',{'isFirstRun':_0x42b643,'opencode':!![]})):(_0x4912d5?.[_0x3513e3(0xec)](_0x5a74c4[_0x3513e3(0x100)]),await ensureClaudePlugin(_0x2ff6c0),_0x4912d5?.['trackPhaseEnd'](_0x5a74c4[_0x3513e3(0x100)],{'isFirstRun':_0x42b643}));if(_0x9a4bc1&&_0x4b7adf){_0x4912d5?.[_0x3513e3(0xec)](_0x5a74c4['VTEFR']);try{await _0x5a74c4['MOSxC'](installSkill,_0x5a74c4[_0x3513e3(0x11a)],{'level':_0x4b7adf[_0x3513e3(0x10e)],'cliVersion':_0x5a74c4['FgVTi'](getCurrentVersion),'platform':_0x5a74c4[_0x3513e3(0x144)]}),_0x4912d5?.['trackPhaseEnd'](_0x3513e3(0x114),{'isFirstRun':_0x42b643,'opencode':!![]});}catch(_0x32dddf){console['warn'](_0x3513e3(0x152),_0x32dddf instanceof Error?_0x32dddf['message']:_0x32dddf),_0x4912d5?.['trackPhaseEnd']('skills',{'isFirstRun':_0x42b643,'opencode':!![],'failed':!![]});}}else _0x4912d5?.[_0x3513e3(0xec)](_0x3513e3(0x114)),await _0x5a74c4['uhNxi'](ensureClaudeSkills,_0x2ff6c0),_0x4912d5?.[_0x3513e3(0xfd)](_0x5a74c4['VTEFR'],{'isFirstRun':_0x42b643});if(_0x2df8dc?.[_0x3513e3(0x12c)])console['log'](_0x5a74c4['zRSbr']);else{if(_0x2df8dc?.[_0x3513e3(0x10f)]){_0x4912d5?.[_0x3513e3(0xec)](_0x5a74c4[_0x3513e3(0x111)]);const _0x3f9670=await _0x5a74c4['OakHP'](ensureLocalEnv,{'url':_0x2df8dc[_0x3513e3(0x10f)],'force':_0x2df8dc?.[_0x3513e3(0x10a)],'allowInsecureLocalhost':_0x2df8dc?.['allowInsecureLocalhost'],'scope':_0x3513e3(0x136)},_0x4912d5);_0x4912d5?.['trackPhaseEnd'](_0x5a74c4['GOAMf'],{'isFirstRun':_0x42b643,'profileReady':_0x3f9670[_0x3513e3(0x15a)],'userSkipped':_0x3f9670[_0x3513e3(0xeb)]});}else console['log'](_0x5a74c4['JMLvv'](_0x5a74c4[_0x3513e3(0x139)](_0x3513e3(0x13e)+(_0x3513e3(0x122)+_0x5a74c4[_0x3513e3(0x14d)](bold,_0x5a74c4['ztuJX'])),'\x0a\x20\x20(opens\x20a\x20browser\x20so\x20you\x20can\x20log\x20in\x20once)'),'\x0a\x0aFor\x20CI\x20/\x20background\x20agents\x20and\x20other\x20setup\x20options,\x20see:')+_0x3513e3(0x106));}if(_0x9a4bc1)console['log'](_0x5a74c4[_0x3513e3(0x14f)]),console[_0x3513e3(0x151)]('and\x20prompt\x20the\x20agent\x20like\x20usual.\x20Ranger\x20will\x20create\x20a\x20feature\x20review'),console[_0x3513e3(0x151)](_0x3513e3(0x13c)),console['log'](_0x5a74c4[_0x3513e3(0x142)]);else{const _0xbf37d8=bold(_0x5a74c4[_0x3513e3(0xf7)]);console['log'](_0x5a74c4['gjpbt'](_0x5a74c4[_0x3513e3(0x153)](_0x5a74c4[_0x3513e3(0xf6)](_0x3513e3(0xf4)+_0xbf37d8+_0x3513e3(0x12d),_0x3513e3(0x105)),'\x0ascenarios\x20describing\x20what\x20to\x20verify\x20and\x20then\x20run\x20browser'),_0x3513e3(0xe7)));}}
@@ -1 +1 @@
1
- const _0x1faeae=_0x31f1;(function(_0x4c22da,_0x5d8f5f){const _0x231302=_0x31f1,_0x46a14a=_0x4c22da();while(!![]){try{const _0xcec824=-parseInt(_0x231302(0x1b5))/0x1+parseInt(_0x231302(0x215))/0x2+-parseInt(_0x231302(0x210))/0x3+-parseInt(_0x231302(0x21a))/0x4*(-parseInt(_0x231302(0x1d0))/0x5)+parseInt(_0x231302(0x219))/0x6*(-parseInt(_0x231302(0x1d5))/0x7)+-parseInt(_0x231302(0x1cc))/0x8*(parseInt(_0x231302(0x1df))/0x9)+parseInt(_0x231302(0x1e2))/0xa;if(_0xcec824===_0x5d8f5f)break;else _0x46a14a['push'](_0x46a14a['shift']());}catch(_0x3fb9fb){_0x46a14a['push'](_0x46a14a['shift']());}}}(_0x363f,0xd5f47));import{readFile,readdir}from'fs/promises';import{join,basename}from'path';import{existsSync}from'fs';import{getToken}from'./utils/keychain.js';import{getCurrentVersion,getLatestVersion}from'./utils/version.js';import{getApiBaseUrl,getCurrentEnvironment}from'./utils/environment.js';import{getProjectSkillsDir,getUserSkillsDir}from'./utils/claudeConfig.js';function _0x363f(){const _0x5b1da3=['\x20\x20OpenCode\x20not\x20installed\x20or\x20not\x20available','trim','hasPlaintextAuth','none','924375gzxGTF','Kjjoj','status','\x20(active)','join','370220jNYoho','\x20\x20Active:\x20','dyLvF','enabled','980898yMyXxh','6122252LJNXPq','opencode','\x1b[0m','uvLGC','isArray','API\x20Token:\x20✗\x20Not\x20found','includes','TzgLM','950945DHJylq','\x20\x20\x20\x20Auth:\x20','cQSkV','ftfie','zIKkA','NxZhC','\x20\x20Run:\x20ranger\x20setup\x20[token]\x0a','API\x20URL:\x20','configured','API\x20Environment:\x20','sXHzz','BFXRS','\x20profiles\x20configured\x20(','version','name','isActive','GFNMC','TBCAg','QtraE','length','user','\x0a\x20\x20No\x20active\x20profile\x20set',':\x20installed\x20(','8wZnsKp','config','\x20[cloud]','\x0a---\x20Profiles\x20---','5sKbkFC','Npxyd','Root:\x20','PZEJS','PlloC','35qDpszq','(not\x20found)','debug','jopVs','mpvWM','disabled','CZBHw','gicGQ','emURj','ZAmMq','13182138vlyAzS','details',':\x20configured','27018530IvGvsi','JHXaR','NaBlt','\x0a📊\x20Ranger\x20Status\x0a','success','LQfrn','no\x20session','displayName','\x20\x20User-level:','DvJjw','map','toString','JtscC','\x20\x20Not\x20configured','No\x20profiles\x20configured','\x1b[1m','wjWXE','nWdeD','auth.json','wwuMN','not_installed','gMVuB','filter','pipe','Version:\x20','has','zDzZB','\x20cloud','parse','project','log','match','ynUaD','NVJgB','opencode-plugin','plugin','uDrDH','cwd','\x20\x20Run:\x20ranger\x20skillup','dkfpJ','eDLwO','\x20\x20Not\x20installed'];_0x363f=function(){return _0x5b1da3;};return _0x363f();}function _0x31f1(_0x14c419,_0x5156ad){_0x14c419=_0x14c419-0x1b3;const _0x363f3b=_0x363f();let _0x31f1be=_0x363f3b[_0x14c419];return _0x31f1be;}import{getEnvNames}from'./env.js';import{getCurrentUser}from'./utils/userApi.js';import{getRangerDir}from'./utils/rangerRoot.js';import{getEnvDir}from'./utils/settings.js';import{listCloudProfiles}from'./utils/cloudProfile.js';import{getPluginInfo}from'./utils/claudePlugin.js';import{RANGER_MANAGED_SKILLS}from'./utils/skills.js';import{spawn}from'child_process';const bold=_0x24177a=>_0x1faeae(0x1f1)+_0x24177a+_0x1faeae(0x21c),link=(_0x531cce,_0x4149cc)=>'\x1b]8;;file://'+_0x531cce+'\x07'+(_0x4149cc||_0x531cce)+'\x1b]8;;\x07';async function getOpencodePluginStatus(){const _0x3557fe=_0x1faeae,_0x417a5e={'ydurP':_0x3557fe(0x1bd),'gMVuB':'not_configured','JHXaR':'data','ZAmMq':'close'};return new Promise(_0x26a75b=>{const _0x316535=_0x3557fe,_0x59a458={'QtraE':'string','dkfpJ':function(_0x5e02ff,_0x359d8d){return _0x5e02ff(_0x359d8d);},'NxZhC':_0x417a5e['ydurP'],'eDLwO':function(_0x15172e,_0x31fd2f){return _0x15172e>_0x31fd2f;},'VHgUO':_0x417a5e[_0x316535(0x1f7)]},_0x2e08e7=spawn(_0x316535(0x21b),[_0x316535(0x1d7),_0x316535(0x1cd)],{'stdio':['ignore',_0x316535(0x1f9),_0x316535(0x1f9)]});let _0x246e66='';_0x2e08e7['stdout']?.['on'](_0x417a5e[_0x316535(0x1e3)],_0x2b7fb9=>{const _0x3a5d62=_0x316535;_0x246e66+=_0x2b7fb9[_0x3a5d62(0x1ed)]();}),_0x2e08e7['stderr']?.['on'](_0x417a5e['JHXaR'],_0x131d19=>{const _0xc30dc1=_0x316535;_0x246e66+=_0x131d19[_0xc30dc1(0x1ed)]();}),_0x2e08e7['on']('error',()=>{const _0x25e0eb=_0x316535;_0x26a75b({'status':_0x25e0eb(0x1f6)});}),_0x2e08e7['on'](_0x417a5e[_0x316535(0x1de)],_0x32c219=>{const _0x505993=_0x316535,_0x546e21={'mpvWM':_0x59a458[_0x505993(0x1c7)],'NaBlt':_0x505993(0x204)};if(_0x32c219!==0x0){_0x59a458[_0x505993(0x209)](_0x26a75b,{'status':'not_installed'});return;}const _0x5cf651=_0x246e66[_0x505993(0x20d)]();let _0x35dd84=null;if(_0x5cf651)try{_0x35dd84=JSON[_0x505993(0x1fe)](_0x5cf651);}catch{const _0x10abc2=_0x5cf651[_0x505993(0x201)](/\{[\s\S]*\}$/);if(_0x10abc2)try{_0x35dd84=JSON['parse'](_0x10abc2[0x0]);}catch{_0x35dd84=null;}}const _0x590131=Array[_0x505993(0x21e)](_0x35dd84?.[_0x505993(0x205)])?_0x35dd84?.[_0x505993(0x205)]:[],_0x147a85=_0x590131['some'](_0x90343a=>{const _0x4cd6e7=_0x505993;if(typeof _0x90343a!==_0x546e21[_0x4cd6e7(0x1d9)])return![];return _0x90343a[_0x4cd6e7(0x1b3)]('@ranger-testing/opencode-plugin')||_0x90343a['includes'](_0x546e21[_0x4cd6e7(0x1e4)]);});if(_0x147a85){_0x26a75b({'status':_0x59a458[_0x505993(0x1ba)],'details':_0x59a458[_0x505993(0x20a)](_0x590131['length'],0x0)?_0x590131[_0x505993(0x1c8)]+'\x20plugin(s)\x20configured':undefined});return;}if(_0x590131['length']>0x0){_0x26a75b({'status':_0x59a458['VHgUO'],'details':_0x590131['length']+'\x20plugin(s)\x20configured'});return;}_0x26a75b({'status':_0x59a458['VHgUO']});});});}async function getSkillsFromDir(_0x27c7f9,_0x5a78b6){const _0x9acd0c=_0x1faeae,_0x58e994={'zDzZB':function(_0x52ce90,_0x1ee3eb){return _0x52ce90(_0x1ee3eb);},'LQfrn':function(_0x1b3376,_0x1dbf49,_0x9ba47d){return _0x1b3376(_0x1dbf49,_0x9ba47d);},'cQSkV':'utf-8'};if(!existsSync(_0x27c7f9))return[];const _0xf9aef=[];try{const _0x48d085=await readdir(_0x27c7f9,{'withFileTypes':!![]});for(const _0x58180 of _0x48d085){if(_0x58180['isDirectory']()){const _0xec9f27=join(_0x27c7f9,_0x58180['name'],'SKILL.md');if(_0x58e994[_0x9acd0c(0x1fc)](existsSync,_0xec9f27)){let _0x56771d=_0x58180[_0x9acd0c(0x1c3)];try{const _0x5751c4=await _0x58e994[_0x9acd0c(0x1e7)](readFile,_0xec9f27,_0x58e994[_0x9acd0c(0x1b7)]),_0x5374c5=_0x5751c4['match'](/name:\s*(.+)/);_0x5374c5&&(_0x56771d=_0x5374c5[0x1]['trim']());}catch{}_0xf9aef['push']({'name':_0x58180['name'],'displayName':_0x56771d,'path':_0xec9f27,'level':_0x5a78b6});}}}}catch{return[];}return _0xf9aef;}async function getInstalledSkills(){const _0x43e44f=_0x1faeae,_0x51346e={'Npxyd':_0x43e44f(0x1ff)},[_0x2acdc7,_0x58238f]=await Promise['all']([getSkillsFromDir(getProjectSkillsDir(),_0x51346e[_0x43e44f(0x1d1)]),getSkillsFromDir(getUserSkillsDir(),_0x43e44f(0x1c9))]);return{'project':_0x2acdc7,'user':_0x58238f};}async function getEnvironments(){const _0x553343={'ekDrO':function(_0x154fa7,_0x24d0ed){return _0x154fa7(_0x24d0ed);},'jtSaV':function(_0x34e95,_0xd58042,_0xe390ff){return _0x34e95(_0xd58042,_0xe390ff);},'rzqvY':function(_0x5b56e8){return _0x5b56e8();}},{envNames:_0x267372,activeEnv:_0x127da7}=await _0x553343['rzqvY'](getEnvNames),_0x38f47e=getRangerDir();if(!existsSync(_0x38f47e))return{'envs':[],'activeEnv':null};const _0x414558=_0x267372['map'](_0xfa241d=>{const _0x1a3ece=_0x31f1,_0x1e6b31=_0x553343['ekDrO'](getEnvDir,_0xfa241d),_0x38a5a5=join(_0x1e6b31,'settings.json'),_0x5b91fc=join(_0x1e6b31,_0x1a3ece(0x1f4)),_0x24b0d9=_0x553343['jtSaV'](join,_0x1e6b31,'auth.json.enc');return{'name':_0xfa241d,'settingsPath':existsSync(_0x38a5a5)?_0x38a5a5:'(not\x20found)','hasPlaintextAuth':_0x553343['ekDrO'](existsSync,_0x5b91fc),'hasEncryptedAuth':existsSync(_0x24b0d9),'isActive':_0xfa241d===_0x127da7};});return{'envs':_0x414558,'activeEnv':_0x127da7};}export async function status(){const _0x24ebce=_0x1faeae,_0x427e73={'PZEJS':_0x24ebce(0x1e5),'ynUaD':function(_0x4a0033){return _0x4a0033();},'PlloC':function(_0x12ce49,_0xf460b9){return _0x12ce49(_0xf460b9);},'TBCAg':function(_0x495843,_0x133bfd){return _0x495843(_0x133bfd);},'dyLvF':function(_0x5541bb){return _0x5541bb();},'wwuMN':function(_0x3b30f2){return _0x3b30f2();},'ftfie':function(_0x11e211){return _0x11e211();},'jopVs':function(_0x48f95e,_0x4506f6){return _0x48f95e(_0x4506f6);},'Mwfqu':'@ranger-testing/opencode-plugin','jwlnP':'not_configured','cynrM':'\x20\x20Run:\x20ranger\x20setup\x20--opencode','JtscC':_0x24ebce(0x20c),'gicGQ':'unknown','tVALQ':_0x24ebce(0x218),'hxOXI':_0x24ebce(0x1da),'DvJjw':'ranger@trailhead','zIKkA':'\x20\x20Run:\x20ranger\x20setup\x20[token]\x20\x20(includes\x20plugin\x20installation)','TzgLM':function(_0x24ba64,_0x4c280e){return _0x24ba64===_0x4c280e;},'GFNMC':'\x20\x20Project-level:','XSUSJ':function(_0x4cd49a,_0x3fc6c5,_0x5c915b){return _0x4cd49a(_0x3fc6c5,_0x5c915b);},'sXHzz':function(_0x29a32d,_0x38c796){return _0x29a32d>_0x38c796;},'yLtae':_0x24ebce(0x1ea),'uvLGC':_0x24ebce(0x1cf),'eaYek':function(_0x33ddbc){return _0x33ddbc();},'nWdeD':function(_0x3451b1){return _0x3451b1();},'KLtFC':function(_0x1293e1,_0x6ece89){return _0x1293e1+_0x6ece89;},'uDrDH':_0x24ebce(0x1f0),'CZBHw':function(_0x1e8e28,_0x6ac7eb){return _0x1e8e28>_0x6ac7eb;},'Kjjoj':_0x24ebce(0x213),'XZhWQ':'encrypted','BFXRS':'plaintext','FzPZz':_0x24ebce(0x20f),'emURj':function(_0x3e1856,_0x5c6fb9){return _0x3e1856!==_0x5c6fb9;},'wjWXE':function(_0x1bc092,_0x291a1d,_0x196645){return _0x1bc092(_0x291a1d,_0x196645);},'NVJgB':function(_0x1730c3,_0x576a94){return _0x1730c3(_0x576a94);}};console[_0x24ebce(0x200)](_0x427e73[_0x24ebce(0x1d3)]);const _0x27ea91=process[_0x24ebce(0x207)](),_0x19abd2=_0x427e73['ynUaD'](getRangerDir);if(!_0x427e73[_0x24ebce(0x1d4)](existsSync,_0x19abd2)){console[_0x24ebce(0x200)]('Root:\x20'+link(_0x27ea91,_0x427e73['TBCAg'](bold,basename(_0x27ea91)))),console[_0x24ebce(0x200)]('\x0aRanger\x20has\x20not\x20been\x20initialized\x20in\x20this\x20directory.'),console['log'](_0x24ebce(0x1bb));return;}console['log'](_0x24ebce(0x1d2)+link(_0x27ea91,_0x427e73[_0x24ebce(0x1d4)](bold,_0x427e73[_0x24ebce(0x1d4)](basename,_0x27ea91))));const _0x112d86=getCurrentVersion(),_0x15084b=_0x427e73[_0x24ebce(0x202)](getLatestVersion);if(_0x15084b[_0x24ebce(0x1c2)]&&_0x15084b[_0x24ebce(0x1c2)]!==_0x112d86)console['log'](_0x24ebce(0x1fa)+_0x112d86+'\x20(latest:\x20'+_0x15084b['version']+')'),console[_0x24ebce(0x200)]('\x20\x20Run:\x20ranger\x20update');else _0x15084b[_0x24ebce(0x1c2)]?console[_0x24ebce(0x200)]('Version:\x20'+_0x112d86+'\x20(up\x20to\x20date)'):console[_0x24ebce(0x200)]('Version:\x20'+_0x112d86);const _0x294edb=await _0x427e73[_0x24ebce(0x217)](getToken);if(_0x294edb){const _0x3839c3=await _0x427e73[_0x24ebce(0x1c6)](getCurrentUser,_0x294edb);_0x3839c3[_0x24ebce(0x1e6)]?console['log']('Organization:\x20'+_0x427e73[_0x24ebce(0x1c6)](bold,_0x3839c3[_0x24ebce(0x1c9)]['organizationName'])):(console[_0x24ebce(0x200)]('API\x20Token:\x20✓\x20Found\x20but\x20invalid\x20or\x20expired'),console['log']('\x20\x20Run:\x20ranger\x20setup\x20[token]'));}else console['log'](_0x24ebce(0x21f)),console[_0x24ebce(0x200)]('\x20\x20Run:\x20ranger\x20setup\x20[token]');process['env']['DEBUG']&&(console['log'](_0x24ebce(0x1be)+_0x427e73[_0x24ebce(0x1f5)](getCurrentEnvironment)),console['log'](_0x24ebce(0x1bc)+_0x427e73[_0x24ebce(0x1b8)](getApiBaseUrl)));console[_0x24ebce(0x200)]('\x0a---\x20OpenCode\x20Plugin\x20---');const _0x566c96=await getOpencodePluginStatus();if(_0x566c96[_0x24ebce(0x212)]==='configured')console['log']('\x20\x20'+_0x427e73[_0x24ebce(0x1d8)](bold,_0x427e73['Mwfqu'])+_0x24ebce(0x1e1)),_0x566c96[_0x24ebce(0x1e0)]&&console['log']('\x20\x20'+_0x566c96[_0x24ebce(0x1e0)]);else _0x566c96[_0x24ebce(0x212)]===_0x427e73['jwlnP']?(console['log'](_0x24ebce(0x1ef)),_0x566c96[_0x24ebce(0x1e0)]&&console['log']('\x20\x20'+_0x566c96[_0x24ebce(0x1e0)]),console['log'](_0x427e73['cynrM'])):console['log'](_0x427e73[_0x24ebce(0x1ee)]);console['log']('\x0a---\x20Claude\x20Code\x20Plugin\x20---');const _0x17b90e=await getPluginInfo('ranger@trailhead');if(_0x17b90e){const _0x10a813=_0x17b90e['scope']||_0x427e73[_0x24ebce(0x1dc)],_0x55a9c0=_0x17b90e[_0x24ebce(0x218)]?_0x427e73['tVALQ']:_0x427e73['hxOXI'];console['log']('\x20\x20'+_0x427e73[_0x24ebce(0x1d4)](bold,_0x427e73[_0x24ebce(0x1eb)])+_0x24ebce(0x1cb)+_0x10a813+',\x20'+_0x55a9c0+')');}else console['log'](_0x24ebce(0x20b)),console['log'](_0x427e73[_0x24ebce(0x1b9)]);console[_0x24ebce(0x200)]('\x0a---\x20Skills\x20---');const {project:_0x22cf77,user:_0x1a9bc4}=await getInstalledSkills(),_0x51bab1=_0x22cf77[_0x24ebce(0x1f8)](_0x2e4c11=>RANGER_MANAGED_SKILLS['includes'](_0x2e4c11['name'])),_0x445024=_0x1a9bc4[_0x24ebce(0x1f8)](_0x298e4d=>RANGER_MANAGED_SKILLS['includes'](_0x298e4d[_0x24ebce(0x1c3)])),_0x5a6870=_0x51bab1[_0x24ebce(0x1c8)]+_0x445024['length'];if(_0x427e73[_0x24ebce(0x1b4)](_0x5a6870,0x0))console['log']('No\x20skills\x20installed'),console[_0x24ebce(0x200)](_0x24ebce(0x208));else{if(_0x51bab1['length']>0x0){console[_0x24ebce(0x200)](_0x427e73[_0x24ebce(0x1c5)]);for(const _0x372a34 of _0x51bab1){console[_0x24ebce(0x200)]('\x20\x20\x20\x20'+bold(_0x372a34[_0x24ebce(0x1e9)])+':\x20'+_0x427e73['XSUSJ'](link,_0x372a34['path'],_0x427e73[_0x24ebce(0x1d4)](basename,_0x372a34['path'])));}}if(_0x427e73[_0x24ebce(0x1bf)](_0x445024['length'],0x0)){console['log'](_0x427e73['yLtae']);for(const _0x3aefcb of _0x445024){console['log']('\x20\x20\x20\x20'+bold(_0x3aefcb[_0x24ebce(0x1e9)])+':\x20'+link(_0x3aefcb['path'],basename(_0x3aefcb['path'])));}}}console[_0x24ebce(0x200)](_0x427e73[_0x24ebce(0x21d)]);const {envs:_0x26c276,activeEnv:_0x551ae3}=await _0x427e73['eaYek'](getEnvironments);let _0xace2b6=[];if(_0x294edb)try{_0xace2b6=await _0x427e73[_0x24ebce(0x1f3)](listCloudProfiles);}catch{}const _0x21fa95=_0x427e73['KLtFC'](_0x26c276[_0x24ebce(0x1c8)],_0xace2b6['length']);if(_0x427e73['TzgLM'](_0x21fa95,0x0))console['log'](_0x427e73[_0x24ebce(0x206)]),console['log']('\x20\x20Run:\x20ranger\x20profile\x20add\x20<profile-name>');else{if(_0x21fa95>0x5){const _0x4c0189=[];_0x427e73[_0x24ebce(0x1db)](_0xace2b6[_0x24ebce(0x1c8)],0x0)&&_0x4c0189['push'](_0xace2b6[_0x24ebce(0x1c8)]+_0x24ebce(0x1fd)),_0x427e73['CZBHw'](_0x26c276[_0x24ebce(0x1c8)],0x0)&&_0x4c0189['push'](_0x26c276['length']+'\x20local'),console[_0x24ebce(0x200)](_0x21fa95+_0x24ebce(0x1c1)+_0x4c0189[_0x24ebce(0x214)](',\x20')+')'),_0x551ae3&&console[_0x24ebce(0x200)](_0x24ebce(0x216)+bold(_0x551ae3)),console[_0x24ebce(0x200)]('\x20\x20Run:\x20ranger\x20profile\x20ls\x20\x20(list\x20all)');}else{for(const _0x13f550 of _0xace2b6){const _0x5161bf=_0x13f550['name']===_0x551ae3?_0x427e73[_0x24ebce(0x211)]:'';console[_0x24ebce(0x200)]('\x20\x20'+_0x427e73[_0x24ebce(0x1d8)](bold,_0x13f550[_0x24ebce(0x1c3)])+_0x24ebce(0x1ce)+_0x5161bf);const _0x38a7ee=_0x13f550['sessionUpdatedAt']?'cached\x20(updated\x20'+_0x13f550['sessionUpdatedAt']+')':_0x24ebce(0x1e8);console[_0x24ebce(0x200)]('\x20\x20\x20\x20Session:\x20'+_0x38a7ee);}const _0x181922=new Set(_0xace2b6[_0x24ebce(0x1ec)](_0x5626ce=>_0x5626ce[_0x24ebce(0x1c3)]));for(const _0xab8fd6 of _0x26c276){if(_0x181922[_0x24ebce(0x1fb)](_0xab8fd6[_0x24ebce(0x1c3)]))continue;const _0x5d49ba=_0xab8fd6[_0x24ebce(0x1c4)]?_0x427e73[_0x24ebce(0x211)]:'',_0x478f57=_0xab8fd6['hasEncryptedAuth']?_0x427e73['XZhWQ']:_0xab8fd6[_0x24ebce(0x20e)]?_0x427e73[_0x24ebce(0x1c0)]:_0x427e73['FzPZz'];console[_0x24ebce(0x200)]('\x20\x20'+_0x427e73[_0x24ebce(0x1c6)](bold,_0xab8fd6[_0x24ebce(0x1c3)])+'\x20[local]'+_0x5d49ba),console['log'](_0x24ebce(0x1b6)+_0x478f57),_0x427e73[_0x24ebce(0x1dd)](_0xab8fd6['settingsPath'],_0x24ebce(0x1d6))&&console['log']('\x20\x20\x20\x20Settings:\x20'+_0x427e73[_0x24ebce(0x1f2)](link,_0xab8fd6['settingsPath'],_0x427e73[_0x24ebce(0x203)](basename,_0xab8fd6['settingsPath'])));}if(!_0x551ae3){console[_0x24ebce(0x200)](_0x24ebce(0x1ca));const _0x4a316f=[..._0xace2b6[_0x24ebce(0x1ec)](_0x55b853=>_0x55b853[_0x24ebce(0x1c3)]),..._0x26c276[_0x24ebce(0x1f8)](_0x677969=>!_0x181922['has'](_0x677969[_0x24ebce(0x1c3)]))[_0x24ebce(0x1ec)](_0x5166f0=>_0x5166f0[_0x24ebce(0x1c3)])];console[_0x24ebce(0x200)]('\x20\x20Run:\x20ranger\x20profile\x20use\x20<profile-name>\x20\x20(available:\x20'+_0x4a316f['join'](',\x20')+')');}}}console[_0x24ebce(0x200)]('');}
1
+ const _0x567a95=_0x378b;(function(_0x12b3d0,_0xe1581){const _0x745626=_0x378b,_0x37da00=_0x12b3d0();while(!![]){try{const _0x885981=parseInt(_0x745626(0xe5))/0x1+parseInt(_0x745626(0x9c))/0x2*(-parseInt(_0x745626(0xb3))/0x3)+parseInt(_0x745626(0xc7))/0x4*(-parseInt(_0x745626(0xac))/0x5)+-parseInt(_0x745626(0xd0))/0x6*(-parseInt(_0x745626(0xad))/0x7)+parseInt(_0x745626(0xcc))/0x8+-parseInt(_0x745626(0x90))/0x9+-parseInt(_0x745626(0xa1))/0xa;if(_0x885981===_0xe1581)break;else _0x37da00['push'](_0x37da00['shift']());}catch(_0x5ced05){_0x37da00['push'](_0x37da00['shift']());}}}(_0x2a3d,0xc5eec));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 _0x378b(_0x2700f0,_0x371e33){_0x2700f0=_0x2700f0-0x84;const _0x2a3d50=_0x2a3d();let _0x378b46=_0x2a3d50[_0x2700f0];return _0x378b46;}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{listCloudProfiles}from'./utils/cloudProfile.js';import{getPluginInfo}from'./utils/claudePlugin.js';import{RANGER_MANAGED_SKILLS}from'./utils/skills.js';import{spawn}from'child_process';const bold=_0x17438b=>_0x567a95(0xec)+_0x17438b+_0x567a95(0xde),link=(_0x3332c0,_0x4b07d5)=>'\x1b]8;;file://'+_0x3332c0+'\x07'+(_0x4b07d5||_0x3332c0)+'\x1b]8;;\x07';async function getOpencodePluginStatus(){const _0x139364=_0x567a95,_0x51d6b7={'oGXdY':'string','eSGqJ':_0x139364(0xa9),'CXbdb':function(_0x58be1a,_0x3d0c86){return _0x58be1a(_0x3d0c86);},'xFlcw':function(_0x2ac35e,_0x1350f6,_0x52d541,_0x3bff82){return _0x2ac35e(_0x1350f6,_0x52d541,_0x3bff82);},'ZkAlS':_0x139364(0xc4),'NWHOt':'config','RtgFS':'ignore','gewdG':_0x139364(0xef),'WNloD':_0x139364(0x9f),'armYl':'error','Irerr':_0x139364(0xaf)};return new Promise(_0xb4d86c=>{const _0x1048d1=_0x139364,_0x117a8b={'eYiDl':_0x51d6b7['oGXdY'],'qQfPY':_0x51d6b7['eSGqJ'],'LYvmE':function(_0x158b5f,_0x395f7f){return _0x158b5f!==_0x395f7f;},'XaRhv':function(_0x1e3e20,_0xae3098){return _0x51d6b7['CXbdb'](_0x1e3e20,_0xae3098);},'GYwDH':_0x1048d1(0xe9),'solnD':function(_0x5d492d,_0xec47fa){return _0x5d492d(_0xec47fa);},'WuZtE':function(_0x48d624,_0x4762a4){return _0x48d624>_0x4762a4;}},_0x2184cd=_0x51d6b7['xFlcw'](spawn,_0x51d6b7['ZkAlS'],[_0x1048d1(0x8e),_0x51d6b7[_0x1048d1(0x87)]],{'stdio':[_0x51d6b7[_0x1048d1(0xb6)],_0x1048d1(0xef),_0x51d6b7['gewdG']]});let _0x496374='';_0x2184cd[_0x1048d1(0x8c)]?.['on'](_0x51d6b7['WNloD'],_0xdfeea4=>{_0x496374+=_0xdfeea4['toString']();}),_0x2184cd['stderr']?.['on'](_0x51d6b7['WNloD'],_0xd8e110=>{_0x496374+=_0xd8e110['toString']();}),_0x2184cd['on'](_0x51d6b7[_0x1048d1(0xe1)],()=>{_0xb4d86c({'status':'not_installed'});}),_0x2184cd['on'](_0x51d6b7['Irerr'],_0x5ab0e7=>{const _0x301b62=_0x1048d1;if(_0x117a8b[_0x301b62(0xa0)](_0x5ab0e7,0x0)){_0x117a8b['XaRhv'](_0xb4d86c,{'status':_0x117a8b['GYwDH']});return;}const _0x11ca5c=_0x496374[_0x301b62(0xd8)]();let _0x3f79e1=null;if(_0x11ca5c)try{_0x3f79e1=JSON[_0x301b62(0xe7)](_0x11ca5c);}catch{const _0x519dcf=_0x11ca5c['match'](/\{[\s\S]*\}$/);if(_0x519dcf)try{_0x3f79e1=JSON[_0x301b62(0xe7)](_0x519dcf[0x0]);}catch{_0x3f79e1=null;}}const _0x52802d=Array[_0x301b62(0x92)](_0x3f79e1?.[_0x301b62(0xdf)])?_0x3f79e1?.[_0x301b62(0xdf)]:[],_0x55610f=_0x52802d[_0x301b62(0xf2)](_0x883aa9=>{const _0x3ccc6e=_0x301b62;if(typeof _0x883aa9!==_0x117a8b['eYiDl'])return![];return _0x883aa9[_0x3ccc6e(0xd3)](_0x117a8b[_0x3ccc6e(0x99)])||_0x883aa9['includes'](_0x3ccc6e(0xdc));});if(_0x55610f){_0x117a8b['solnD'](_0xb4d86c,{'status':'configured','details':_0x52802d['length']>0x0?_0x52802d['length']+'\x20plugin(s)\x20configured':undefined});return;}if(_0x117a8b['WuZtE'](_0x52802d[_0x301b62(0xbe)],0x0)){_0xb4d86c({'status':'not_configured','details':_0x52802d['length']+_0x301b62(0xb1)});return;}_0xb4d86c({'status':_0x301b62(0x88)});});});}async function getSkillsFromDir(_0x42015b,_0x15844d){const _0x15adbc=_0x567a95,_0x43a858={'hGijo':function(_0x3fcc0b,_0x231074){return _0x3fcc0b(_0x231074);},'toECh':function(_0x5cd4af,_0x842cfb,_0x50c8a3){return _0x5cd4af(_0x842cfb,_0x50c8a3);},'joVAQ':function(_0x5b0d5c,_0x4833fb,_0xad6579,_0x5be728){return _0x5b0d5c(_0x4833fb,_0xad6579,_0x5be728);},'bHJPy':'SKILL.md'};if(!_0x43a858['hGijo'](existsSync,_0x42015b))return[];const _0x4df4bf=[];try{const _0x4d168d=await _0x43a858['toECh'](readdir,_0x42015b,{'withFileTypes':!![]});for(const _0x2369f0 of _0x4d168d){if(_0x2369f0['isDirectory']()){const _0x51af66=_0x43a858[_0x15adbc(0x91)](join,_0x42015b,_0x2369f0['name'],_0x43a858[_0x15adbc(0xe0)]);if(existsSync(_0x51af66)){let _0x30fdf7=_0x2369f0[_0x15adbc(0xc1)];try{const _0x37d2a0=await readFile(_0x51af66,_0x15adbc(0xcf)),_0x24475c=_0x37d2a0['match'](/name:\s*(.+)/);_0x24475c&&(_0x30fdf7=_0x24475c[0x1]['trim']());}catch{}_0x4df4bf[_0x15adbc(0xdb)]({'name':_0x2369f0[_0x15adbc(0xc1)],'displayName':_0x30fdf7,'path':_0x51af66,'level':_0x15844d});}}}}catch{return[];}return _0x4df4bf;}async function getInstalledSkills(){const _0xedf90a=_0x567a95,[_0x3bb3bf,_0x4d12b1]=await Promise['all']([getSkillsFromDir(getProjectSkillsDir(),_0xedf90a(0x97)),getSkillsFromDir(getUserSkillsDir(),'user')]);return{'project':_0x3bb3bf,'user':_0x4d12b1};}async function getEnvironments(){const _0x2a0940=_0x567a95,_0x1248a6={'wKVIW':function(_0x3647e3,_0x49ab1f){return _0x3647e3(_0x49ab1f);},'SNvcV':_0x2a0940(0xa2),'iWEQl':_0x2a0940(0xbb),'UTfnf':function(_0x392011,_0x52cda4,_0x5c11ad){return _0x392011(_0x52cda4,_0x5c11ad);},'TBOtQ':'auth.json.enc','ugsYL':function(_0x3d0874,_0x304bae){return _0x3d0874===_0x304bae;},'BkjkO':function(_0x555ab3){return _0x555ab3();},'nTgpT':function(_0x38427b,_0x471aa8){return _0x38427b(_0x471aa8);}},{envNames:_0xf69574,activeEnv:_0x335648}=await _0x1248a6[_0x2a0940(0xd9)](getEnvNames),_0x4b0fb2=getRangerDir();if(!_0x1248a6['nTgpT'](existsSync,_0x4b0fb2))return{'envs':[],'activeEnv':null};const _0x5c1f76=_0xf69574[_0x2a0940(0xb2)](_0x4e1593=>{const _0x3dd0a0=_0x2a0940,_0x4fbe3c=_0x1248a6['wKVIW'](getEnvDir,_0x4e1593),_0x3aa73b=join(_0x4fbe3c,_0x1248a6['SNvcV']),_0x3cf68e=join(_0x4fbe3c,_0x1248a6[_0x3dd0a0(0xee)]),_0x10b6ec=_0x1248a6['UTfnf'](join,_0x4fbe3c,_0x1248a6['TBOtQ']);return{'name':_0x4e1593,'settingsPath':_0x1248a6[_0x3dd0a0(0xcd)](existsSync,_0x3aa73b)?_0x3aa73b:'(not\x20found)','hasPlaintextAuth':existsSync(_0x3cf68e),'hasEncryptedAuth':_0x1248a6['wKVIW'](existsSync,_0x10b6ec),'isActive':_0x1248a6[_0x3dd0a0(0xce)](_0x4e1593,_0x335648)};});return{'envs':_0x5c1f76,'activeEnv':_0x335648};}function _0x2a3d(){const _0x1eec00=['plugin','bHJPy','armYl','displayName','\x20\x20\x20\x20Auth:\x20','\x20\x20Run:\x20ranger\x20update','1503270fEsPBd',':\x20configured','parse','\x20[cloud]','not_installed','API\x20Token:\x20✗\x20Not\x20found','pfeBj','\x1b[1m','\x20(up\x20to\x20date)','iWEQl','pipe','\x20\x20Run:\x20ranger\x20setup\x20[token]\x20\x20(includes\x20plugin\x20installation)','PrjRm','some','\x20cloud','\x20\x20Run:\x20ranger\x20profile\x20use\x20<profile-name>\x20\x20(available:\x20','join','log','NWHOt','not_configured','sessionUpdatedAt','has','\x0a---\x20Profiles\x20---','stdout','user','debug','Root:\x20','657000pKIIyN','joVAQ','isArray','(not\x20found)','\x20\x20User-level:','version','details','project','BvjNS','qQfPY','\x20\x20Run:\x20ranger\x20setup\x20[token]','\x0a📊\x20Ranger\x20Status\x0a','2ASwYNv','maNvQ','\x20(latest:\x20','data','LYvmE','4158330iszJWx','settings.json','Version:\x20','NOcgr','success','settingsPath','\x0aRanger\x20has\x20not\x20been\x20initialized\x20in\x20this\x20directory.','UzVrG','@ranger-testing/opencode-plugin','path','\x20\x20Active:\x20','357685vXUyyI','7tDOUMV','tqMQO','close','\x20\x20\x20\x20','\x20plugin(s)\x20configured','map','1397778tyHaFb','\x20\x20Run:\x20ranger\x20setup\x20--opencode','AyXiV','RtgFS','GkKzo','scope','filter','\x0a\x20\x20No\x20active\x20profile\x20set','auth.json','\x20\x20Project-level:','QHviK','length','mncrv','OaDnQ','name','enabled','\x20profiles\x20configured\x20(','opencode','ranger@trailhead','\x20\x20\x20\x20Session:\x20','76ylkdcr','bIzsp','no\x20session','\x0a---\x20Claude\x20Code\x20Plugin\x20---','disabled','6250088dIHTUW','wKVIW','ugsYL','utf-8','5040978QtYVHV','JOIrk','LaMFT','includes','hasPlaintextAuth','\x20\x20Not\x20installed','\x20[local]','UOMCd','trim','BkjkO','status','push','opencode-plugin','rpyAr','\x1b[0m'];_0x2a3d=function(){return _0x1eec00;};return _0x2a3d();}export async function status(){const _0x18d6bb=_0x567a95,_0x54395a={'BvjNS':function(_0x396e77){return _0x396e77();},'UOMCd':function(_0x536513,_0x4ba88e){return _0x536513(_0x4ba88e);},'LaMFT':function(_0x2f3cb3,_0x1fea72,_0x383d6f){return _0x2f3cb3(_0x1fea72,_0x383d6f);},'eHhRI':function(_0x3ef9fc,_0x4e0cff,_0x2d0f96){return _0x3ef9fc(_0x4e0cff,_0x2d0f96);},'pfeBj':function(_0x50d210,_0x4c25f0){return _0x50d210!==_0x4c25f0;},'PrjRm':'\x0a---\x20OpenCode\x20Plugin\x20---','yukCd':'configured','tqMQO':function(_0x2d29ed,_0xe732cb){return _0x2d29ed(_0xe732cb);},'GkKzo':function(_0x4f47f2,_0x33213d){return _0x4f47f2===_0x33213d;},'bIzsp':function(_0xf6dc90,_0x51a10d){return _0xf6dc90(_0x51a10d);},'mncrv':_0x18d6bb(0xc5),'cilHx':'unknown','QHviK':_0x18d6bb(0xcb),'aGGsf':_0x18d6bb(0xd5),'rpyAr':function(_0x3989d5,_0x11e17c){return _0x3989d5+_0x11e17c;},'JOIrk':function(_0x414309,_0x7320ea){return _0x414309===_0x7320ea;},'OaDnQ':'No\x20skills\x20installed','NOcgr':function(_0x136a97,_0x37f6e8){return _0x136a97>_0x37f6e8;},'nYaUd':_0x18d6bb(0x94),'wWhgs':function(_0x23c93b){return _0x23c93b();},'QXWFU':function(_0xd07c10,_0xb6c5b7){return _0xd07c10===_0xb6c5b7;},'UzVrG':'No\x20profiles\x20configured','FsYmK':function(_0x4c60ae,_0x3137a8){return _0x4c60ae>_0x3137a8;},'AyXiV':function(_0x203ad5,_0x3126e9){return _0x203ad5>_0x3126e9;},'maNvQ':function(_0x513a43,_0x54e77c){return _0x513a43===_0x54e77c;},'KrUwq':_0x18d6bb(0xc9),'mySaB':'encrypted','qjcwc':'plaintext','Bffxe':_0x18d6bb(0x93)};console[_0x18d6bb(0x86)](_0x18d6bb(0x9b));const _0x3d08f5=process['cwd'](),_0x5dc91d=_0x54395a['BvjNS'](getRangerDir);if(!_0x54395a['UOMCd'](existsSync,_0x5dc91d)){console[_0x18d6bb(0x86)](_0x18d6bb(0x8f)+_0x54395a[_0x18d6bb(0xd2)](link,_0x3d08f5,_0x54395a['UOMCd'](bold,basename(_0x3d08f5)))),console[_0x18d6bb(0x86)](_0x18d6bb(0xa7)),console['log']('\x20\x20Run:\x20ranger\x20setup\x20[token]\x0a');return;}console[_0x18d6bb(0x86)]('Root:\x20'+_0x54395a['eHhRI'](link,_0x3d08f5,_0x54395a['UOMCd'](bold,_0x54395a['UOMCd'](basename,_0x3d08f5))));const _0xac7e40=getCurrentVersion(),_0x122b91=getLatestVersion();if(_0x122b91[_0x18d6bb(0x95)]&&_0x54395a[_0x18d6bb(0xeb)](_0x122b91['version'],_0xac7e40))console[_0x18d6bb(0x86)]('Version:\x20'+_0xac7e40+_0x18d6bb(0x9e)+_0x122b91[_0x18d6bb(0x95)]+')'),console['log'](_0x18d6bb(0xe4));else _0x122b91[_0x18d6bb(0x95)]?console['log']('Version:\x20'+_0xac7e40+_0x18d6bb(0xed)):console['log'](_0x18d6bb(0xa3)+_0xac7e40);const _0x19630d=await _0x54395a[_0x18d6bb(0x98)](getToken);if(_0x19630d){const _0x2e3bf4=await _0x54395a[_0x18d6bb(0xd7)](getCurrentUser,_0x19630d);_0x2e3bf4[_0x18d6bb(0xa5)]?console[_0x18d6bb(0x86)]('Organization:\x20'+bold(_0x2e3bf4[_0x18d6bb(0x8d)]['organizationName'])):(console[_0x18d6bb(0x86)]('API\x20Token:\x20✓\x20Found\x20but\x20invalid\x20or\x20expired'),console[_0x18d6bb(0x86)](_0x18d6bb(0x9a)));}else console[_0x18d6bb(0x86)](_0x18d6bb(0xea)),console[_0x18d6bb(0x86)](_0x18d6bb(0x9a));process['env']['DEBUG']&&(console['log']('API\x20Environment:\x20'+getCurrentEnvironment()),console[_0x18d6bb(0x86)]('API\x20URL:\x20'+_0x54395a[_0x18d6bb(0x98)](getApiBaseUrl)));console['log'](_0x54395a[_0x18d6bb(0xf1)]);const _0x1a93fd=await getOpencodePluginStatus();if(_0x1a93fd[_0x18d6bb(0xda)]===_0x54395a['yukCd'])console['log']('\x20\x20'+_0x54395a[_0x18d6bb(0xae)](bold,_0x18d6bb(0xa9))+_0x18d6bb(0xe6)),_0x1a93fd['details']&&console[_0x18d6bb(0x86)]('\x20\x20'+_0x1a93fd[_0x18d6bb(0x96)]);else _0x54395a[_0x18d6bb(0xb7)](_0x1a93fd[_0x18d6bb(0xda)],_0x18d6bb(0x88))?(console[_0x18d6bb(0x86)]('\x20\x20Not\x20configured'),_0x1a93fd[_0x18d6bb(0x96)]&&console[_0x18d6bb(0x86)]('\x20\x20'+_0x1a93fd['details']),console['log'](_0x18d6bb(0xb4))):console['log']('\x20\x20OpenCode\x20not\x20installed\x20or\x20not\x20available');console['log'](_0x18d6bb(0xca));const _0x12ae3b=await _0x54395a['bIzsp'](getPluginInfo,_0x54395a['mncrv']);if(_0x12ae3b){const _0x320b15=_0x12ae3b[_0x18d6bb(0xb8)]||_0x54395a['cilHx'],_0x3ec793=_0x12ae3b[_0x18d6bb(0xc2)]?'enabled':_0x54395a[_0x18d6bb(0xbd)];console[_0x18d6bb(0x86)]('\x20\x20'+_0x54395a['UOMCd'](bold,_0x54395a[_0x18d6bb(0xbf)])+':\x20installed\x20('+_0x320b15+',\x20'+_0x3ec793+')');}else console[_0x18d6bb(0x86)](_0x54395a['aGGsf']),console['log'](_0x18d6bb(0xf0));console[_0x18d6bb(0x86)]('\x0a---\x20Skills\x20---');const {project:_0xb87f2f,user:_0x1ab29d}=await getInstalledSkills(),_0x4e4456=_0xb87f2f[_0x18d6bb(0xb9)](_0x2cb572=>RANGER_MANAGED_SKILLS[_0x18d6bb(0xd3)](_0x2cb572[_0x18d6bb(0xc1)])),_0x89b287=_0x1ab29d['filter'](_0x360cf0=>RANGER_MANAGED_SKILLS['includes'](_0x360cf0['name'])),_0x1131c7=_0x54395a['rpyAr'](_0x4e4456[_0x18d6bb(0xbe)],_0x89b287['length']);if(_0x54395a[_0x18d6bb(0xd1)](_0x1131c7,0x0))console[_0x18d6bb(0x86)](_0x54395a[_0x18d6bb(0xc0)]),console[_0x18d6bb(0x86)]('\x20\x20Run:\x20ranger\x20skillup');else{if(_0x54395a['NOcgr'](_0x4e4456[_0x18d6bb(0xbe)],0x0)){console[_0x18d6bb(0x86)](_0x18d6bb(0xbc));for(const _0x570486 of _0x4e4456){console[_0x18d6bb(0x86)]('\x20\x20\x20\x20'+_0x54395a[_0x18d6bb(0xae)](bold,_0x570486[_0x18d6bb(0xe2)])+':\x20'+link(_0x570486['path'],basename(_0x570486[_0x18d6bb(0xaa)])));}}if(_0x54395a[_0x18d6bb(0xa4)](_0x89b287['length'],0x0)){console['log'](_0x54395a['nYaUd']);for(const _0x3c6c32 of _0x89b287){console[_0x18d6bb(0x86)](_0x18d6bb(0xb0)+_0x54395a['bIzsp'](bold,_0x3c6c32['displayName'])+':\x20'+_0x54395a['LaMFT'](link,_0x3c6c32['path'],basename(_0x3c6c32[_0x18d6bb(0xaa)])));}}}console['log'](_0x18d6bb(0x8b));const {envs:_0x493f78,activeEnv:_0x4ab1fb}=await getEnvironments();let _0x40e7c9=[];if(_0x19630d)try{_0x40e7c9=await _0x54395a['wWhgs'](listCloudProfiles);}catch{}const _0x2194b3=_0x54395a[_0x18d6bb(0xdd)](_0x493f78['length'],_0x40e7c9[_0x18d6bb(0xbe)]);if(_0x54395a['QXWFU'](_0x2194b3,0x0))console[_0x18d6bb(0x86)](_0x54395a[_0x18d6bb(0xa8)]),console[_0x18d6bb(0x86)]('\x20\x20Run:\x20ranger\x20profile\x20add\x20<profile-name>');else{if(_0x54395a['FsYmK'](_0x2194b3,0x5)){const _0x26fa64=[];_0x54395a[_0x18d6bb(0xb5)](_0x40e7c9['length'],0x0)&&_0x26fa64[_0x18d6bb(0xdb)](_0x40e7c9[_0x18d6bb(0xbe)]+_0x18d6bb(0xf3)),_0x493f78['length']>0x0&&_0x26fa64[_0x18d6bb(0xdb)](_0x493f78[_0x18d6bb(0xbe)]+'\x20local'),console[_0x18d6bb(0x86)](_0x2194b3+_0x18d6bb(0xc3)+_0x26fa64[_0x18d6bb(0x85)](',\x20')+')'),_0x4ab1fb&&console[_0x18d6bb(0x86)](_0x18d6bb(0xab)+_0x54395a[_0x18d6bb(0xc8)](bold,_0x4ab1fb)),console['log']('\x20\x20Run:\x20ranger\x20profile\x20ls\x20\x20(list\x20all)');}else{for(const _0x140b39 of _0x40e7c9){const _0x3078f3=_0x54395a[_0x18d6bb(0x9d)](_0x140b39['name'],_0x4ab1fb)?'\x20(active)':'';console['log']('\x20\x20'+bold(_0x140b39['name'])+_0x18d6bb(0xe8)+_0x3078f3);const _0x4f40c6=_0x140b39['sessionUpdatedAt']?'cached\x20(updated\x20'+_0x140b39[_0x18d6bb(0x89)]+')':_0x54395a['KrUwq'];console['log'](_0x18d6bb(0xc6)+_0x4f40c6);}const _0x1282a0=new Set(_0x40e7c9[_0x18d6bb(0xb2)](_0x3cbd1d=>_0x3cbd1d[_0x18d6bb(0xc1)]));for(const _0x54ef5d of _0x493f78){if(_0x1282a0['has'](_0x54ef5d[_0x18d6bb(0xc1)]))continue;const _0x18f424=_0x54ef5d['isActive']?'\x20(active)':'',_0x55001a=_0x54ef5d['hasEncryptedAuth']?_0x54395a['mySaB']:_0x54ef5d[_0x18d6bb(0xd4)]?_0x54395a['qjcwc']:'none';console[_0x18d6bb(0x86)]('\x20\x20'+bold(_0x54ef5d[_0x18d6bb(0xc1)])+_0x18d6bb(0xd6)+_0x18f424),console[_0x18d6bb(0x86)](_0x18d6bb(0xe3)+_0x55001a),_0x54ef5d['settingsPath']!==_0x54395a['Bffxe']&&console[_0x18d6bb(0x86)]('\x20\x20\x20\x20Settings:\x20'+link(_0x54ef5d['settingsPath'],basename(_0x54ef5d[_0x18d6bb(0xa6)])));}if(!_0x4ab1fb){console[_0x18d6bb(0x86)](_0x18d6bb(0xba));const _0x52acd9=[..._0x40e7c9[_0x18d6bb(0xb2)](_0x1989ba=>_0x1989ba['name']),..._0x493f78[_0x18d6bb(0xb9)](_0x44c7fd=>!_0x1282a0[_0x18d6bb(0x8a)](_0x44c7fd['name']))['map'](_0x577893=>_0x577893[_0x18d6bb(0xc1)])];console[_0x18d6bb(0x86)](_0x18d6bb(0x84)+_0x52acd9[_0x18d6bb(0x85)](',\x20')+')');}}}console[_0x18d6bb(0x86)]('');}