@ranger-testing/ranger-cli 3.1.7-alpha.62f152a-54 → 3.1.7-alpha.9ed0a8d-59

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(_0x461178,_0x31d63a){const _0x1bab29=_0x523c,_0x4d5205=_0x461178();while(!![]){try{const _0x27105c=parseInt(_0x1bab29(0x153))/0x1+parseInt(_0x1bab29(0x154))/0x2+parseInt(_0x1bab29(0x158))/0x3+-parseInt(_0x1bab29(0x14c))/0x4+-parseInt(_0x1bab29(0x15b))/0x5*(-parseInt(_0x1bab29(0x152))/0x6)+parseInt(_0x1bab29(0x15c))/0x7*(-parseInt(_0x1bab29(0x156))/0x8)+-parseInt(_0x1bab29(0x151))/0x9;if(_0x27105c===_0x31d63a)break;else _0x4d5205['push'](_0x4d5205['shift']());}catch(_0x127f89){_0x4d5205['push'](_0x4d5205['shift']());}}}(_0x3b9e,0x6101b));function _0x523c(_0x4dce49,_0x5e62d4){_0x4dce49=_0x4dce49-0x14c;const _0x3b9e53=_0x3b9e();let _0x523c6a=_0x3b9e53[_0x4dce49];return _0x523c6a;}import{runDeviceAuthFlow}from'./utils/deviceAuth.js';import{getCurrentUser}from'./utils/userApi.js';function _0x3b9e(){const _0x181506=['Login\x20requires\x20an\x20interactive\x20terminal.\x20In\x20CI,\x20use:\x20ranger\x20setup\x20[token]\x20or\x20set\x20RANGER_CLI_TOKEN.','UaFfI','puChL','Login\x20failed:\x20','5181615ZtSIDv','17424KAtKQF','21497MjvFxl','1092758FqlrYh','message','1096bhSFiZ','user','1553760eGRQFC','log','organizationName','635QYGFTt','10185hbKMSd','1128780EFESWf'];_0x3b9e=function(){return _0x181506;};return _0x3b9e();}import{getMcpAuthOrigin,mcpBootstrap}from'./mcpBootstrap.js';import{isInteractive}from'./utils/cloudProfileSession.js';export async function login(){const _0x4eb8da=_0x523c,_0x25eff9={'UaFfI':'\x0a✅\x20API\x20key\x20stored\x20successfully','puChL':function(_0xcb571,_0x8a268b){return _0xcb571 instanceof _0x8a268b;}},_0x467f62=await getMcpAuthOrigin();if(_0x467f62){console['log']('Re-authenticating\x20via\x20MCP\x20bootstrap...'),await mcpBootstrap();return;}if(!isInteractive())throw new Error(_0x4eb8da(0x14d));try{const _0x5b7856=await runDeviceAuthFlow(),_0x2e1899=await getCurrentUser(_0x5b7856);_0x2e1899['success']?console[_0x4eb8da(0x159)]('\x0a✅\x20Logged\x20in\x20to\x20'+_0x2e1899[_0x4eb8da(0x157)][_0x4eb8da(0x15a)]):console[_0x4eb8da(0x159)](_0x25eff9[_0x4eb8da(0x14e)]);}catch(_0x456312){throw new Error(_0x4eb8da(0x150)+(_0x25eff9[_0x4eb8da(0x14f)](_0x456312,Error)?_0x456312[_0x4eb8da(0x155)]:_0x456312));}}
@@ -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 _0x291dcb=_0x4ce7;function _0x4ce7(_0x322dbb,_0x92173){_0x322dbb=_0x322dbb-0x11f;const _0x3dbddf=_0x3dbd();let _0x4ce73e=_0x3dbddf[_0x322dbb];return _0x4ce73e;}(function(_0x5865c5,_0x199a29){const _0x1584ec=_0x4ce7,_0xe1b987=_0x5865c5();while(!![]){try{const _0x5c9efc=-parseInt(_0x1584ec(0x142))/0x1*(-parseInt(_0x1584ec(0x177))/0x2)+-parseInt(_0x1584ec(0x187))/0x3*(parseInt(_0x1584ec(0x17a))/0x4)+-parseInt(_0x1584ec(0x154))/0x5+parseInt(_0x1584ec(0x134))/0x6*(parseInt(_0x1584ec(0x193))/0x7)+-parseInt(_0x1584ec(0x189))/0x8+-parseInt(_0x1584ec(0x12e))/0x9+-parseInt(_0x1584ec(0x19b))/0xa*(-parseInt(_0x1584ec(0x163))/0xb);if(_0x5c9efc===_0x199a29)break;else _0xe1b987['push'](_0xe1b987['shift']());}catch(_0x11f593){_0xe1b987['push'](_0xe1b987['shift']());}}}(_0x3dbd,0x87f74));import{mkdir,writeFile,readFile}from'fs/promises';import{join}from'path';import{homedir}from'os';import{createServer}from'http';function _0x3dbd(){const _0x27c715=['stringify','76yrbkio','127.0.0.1','Authorization','needs-oauth','Authorization\x20server\x20does\x20not\x20support\x20dynamic\x20client\x20registration\x20and\x20no\x20cached\x20client\x20found','isTTY','expiresAt','slice','TzFtI','/callback','end','tools/call','origin','95904mHOgsw','sWQnx','7455784GHoJqc','auth-origin.txt','FiVLH','accessToken','Exchanging\x20authorization\x20code...','QKgNf','Registering\x20OAuth\x20client...','code_challenge_method','startsWith','1.0.0','358981cudXBS','qdmlp','.ranger','Could\x20not\x20fetch\x20protected\x20resource\x20metadata\x20from\x20MCP\x20server','utf-8','2025-03-26','oRwfC','application/json','17103320pUOFqr','get_cli_token\x20failed:\x20','OZqbU','get','clientSecret','json','MUSqE','update','gVZjg','Ranger\x20CLI','ceOGK','LRwUS','closeAllConnections','fnmaQ','KMdsC','OAuthTimeoutError','yZrnK','If\x20the\x20browser\x20doesn\x27t\x20open,\x20visit:\x0a','trim','fOvLL','Oraxl','digest','http://localhost:','then','jPObe','stdout','registration_endpoint','bWrtf','2.0','2129148kMVixx','Token\x20exchange\x20failed:\x20','application/json,\x20text/event-stream','sKeKO','DTXcE','set','42AgggMU','write','lolvk','error_description','code','toString','includes','MxMtc','S256','WywIN','client_id','Not\x20found','platform','status','22eFHanI','POST','log','RatqX','xFZnr','error','initialize','MsBxM','\x0aToken\x20written\x20to\x20','text','parse','sha256','writeHead','client_secret','authorization_servers','clientId','ranger-cli','authorization_code','3996510pIXmuv','base64url','ZRoJB','Could\x20not\x20extract\x20token\x20from\x20MCP\x20response','name','MQOkS','length','\x20done','RKFLP','zKYfi','searchParams','url','uVkGk','uoBAK','xdg-open','11oXseLG','nzgdl','FMtgI','resource','result','string','eEtMF','text/html','WxZIj','UPaXc','Server\x20returned\x20error:\x20','headers','DnFGu','application/x-www-form-urlencoded','hex','gxFyW','Initializing\x20MCP\x20session...','start','close','XoPUv','96622cfarnX','hjpmP'];_0x3dbd=function(){return _0x27c715;};return _0x3dbd();}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(),'.ranger','mcp-oauth-tokens.json'),AUTH_ORIGIN_PATH=join(homedir(),_0x291dcb(0x195),_0x291dcb(0x18a));export async function getMcpAuthOrigin(){const _0x5c5fe5=_0x291dcb,_0x2f3431={'dqYHv':'utf-8'};try{const _0x826ec4=(await readFile(AUTH_ORIGIN_PATH,_0x2f3431['dqYHv']))[_0x5c5fe5(0x123)]();return _0x826ec4||null;}catch{return null;}}export async function mcpBootstrap(){const _0x1b1aed=_0x291dcb,_0x1adf0a={'wukxt':function(_0x4654a4){return _0x4654a4();},'ceOGK':'Run\x20`ranger\x20setup\x20--mcp-bootstrap`\x20interactively\x20first.','WLeKC':function(_0x3b11c6,_0x15c204){return _0x3b11c6(_0x15c204);}},_0x478344=getMcpAuthUrl();currentOrigin=_0x478344;const _0x5e74a2=process[_0x1b1aed(0x12a)][_0x1b1aed(0x17f)]??![];console[_0x1b1aed(0x144)]('\x0aConnecting\x20to\x20MCP\x20auth\x20server:\x20'+_0x478344+'\x0a');const _0x40943d=await tryUnauthenticated(_0x478344);let _0x54da7f=null;if(_0x40943d==='proxied')_0x54da7f='';else{_0x54da7f=await _0x1adf0a['wukxt'](loadCachedToken);if(!_0x54da7f){if(!_0x5e74a2)throw new Error('MCP\x20server\x20requires\x20authentication\x20but\x20running\x20in\x20non-interactive\x20mode.\x0a'+_0x1adf0a[_0x1b1aed(0x1a5)]);_0x54da7f=await _0x1adf0a['WLeKC'](oauthFlow,_0x478344);}}await callGetCliToken(_0x478344,_0x54da7f);}async function tryUnauthenticated(_0x3bd96b){const _0x47bf2b=_0x291dcb,_0x5689cf={'qdmlp':_0x47bf2b(0x19a),'LRwUS':_0x47bf2b(0x148),'zKYfi':'1.0.0','xTCFj':function(_0x28a5ea,_0x17b7a8){return _0x28a5ea===_0x17b7a8;},'rtHqe':_0x47bf2b(0x17d)},_0x30c17a=await fetch(_0x3bd96b,{'method':_0x47bf2b(0x143),'headers':{'Content-Type':_0x5689cf[_0x47bf2b(0x194)],'Accept':_0x47bf2b(0x130)},'body':JSON[_0x47bf2b(0x179)]({'jsonrpc':'2.0','id':0x1,'method':_0x5689cf[_0x47bf2b(0x1a6)],'params':{'protocolVersion':'2025-03-26','capabilities':{},'clientInfo':{'name':'ranger-cli','version':_0x5689cf[_0x47bf2b(0x15d)]}}})});if(_0x30c17a['ok'])return await _0x30c17a['text'](),'proxied';if(_0x5689cf['xTCFj'](_0x30c17a['status'],0x191))return await _0x30c17a['text'](),_0x5689cf['rtHqe'];const _0x40f414=await _0x30c17a['text']();throw new Error('MCP\x20server\x20returned\x20HTTP\x20'+_0x30c17a[_0x47bf2b(0x141)]+':\x20'+_0x40f414);}class OAuthTimeoutError extends Error{constructor(_0x443f19){const _0x4db285=_0x291dcb;super(_0x443f19),this[_0x4db285(0x158)]=_0x4db285(0x120);}}async function oauthFlow(_0x408f12){const _0x5c5468=_0x291dcb,_0x276295={'FiVLH':function(_0x38bea7,_0x271c61){return _0x38bea7 instanceof _0x271c61;},'fnmaQ':'\x0aCached\x20OAuth\x20client\x20may\x20be\x20stale\x20—\x20clearing\x20and\x20retrying...\x0a'};try{return await oauthFlowAttempt(_0x408f12);}catch(_0x26d8d7){if(_0x276295[_0x5c5468(0x18b)](_0x26d8d7,OAuthTimeoutError)&&await loadCachedClient())return console['log'](_0x276295[_0x5c5468(0x1a8)]),await clearCachedClient(),await oauthFlowAttempt(_0x408f12);throw _0x26d8d7;}}async function oauthFlowAttempt(_0x4345a8){const _0x481d3a=_0x291dcb,_0x3fd08b={'nnWFd':'Discovering\x20authorization\x20server...','HPRRE':_0x481d3a(0x196),'PHHxK':function(_0x5c1f9,_0x502a56){return _0x5c1f9(_0x502a56);},'mExWf':_0x481d3a(0x18f),'hjpmP':_0x481d3a(0x143),'axCnv':_0x481d3a(0x19a),'gdroG':'authorization_code','dXNZv':function(_0x43b0fa,_0x233bd1,_0x10ffd5){return _0x43b0fa(_0x233bd1,_0x10ffd5);},'XoPUv':_0x481d3a(0x155),'MQOkS':function(_0x4d7bf5,_0x5891a7){return _0x4d7bf5(_0x5891a7);},'INfOt':_0x481d3a(0x14d),'mowts':_0x481d3a(0x171),'zJgfH':'response_type','lolvk':'redirect_uri','zqjIz':'code_challenge','nzgdl':'state','opfSF':_0x481d3a(0x166),'OZqbU':function(_0x20e49d,_0x1b011d){return _0x20e49d(_0x1b011d);},'aTwhh':function(_0x290750,_0x132e3f){return _0x290750(_0x132e3f);},'CHBrk':_0x481d3a(0x18d),'TMlef':function(_0x2e25b6,_0x524483,_0x41c5f9){return _0x2e25b6(_0x524483,_0x41c5f9);},'jPObe':function(_0xf8ce19,_0x2db54,_0x50bf06,_0x5a8903){return _0xf8ce19(_0x2db54,_0x50bf06,_0x5a8903);}},_0x134dd7=_0x4345a8['replace'](/\/mcp$/,'');process['stdout']['write'](_0x3fd08b['nnWFd']);const _0x126198=await fetch(_0x134dd7+'/.well-known/oauth-protected-resource');if(!_0x126198['ok'])throw new Error(_0x3fd08b['HPRRE']);const _0x27a294=await _0x126198['json'](),_0x574543=_0x27a294[_0x481d3a(0x150)]?.[0x0];if(!_0x574543)throw new Error('No\x20authorization_servers\x20in\x20protected\x20resource\x20metadata');console['log']('\x20'+_0x574543);const _0x25ec43=await _0x3fd08b['PHHxK'](fetchAuthServerMetadata,_0x574543);let _0x1c671c,_0x2527bd;const _0x53bd89=await loadCachedClient();if(_0x53bd89)_0x1c671c=_0x53bd89[_0x481d3a(0x151)],_0x2527bd=_0x53bd89[_0x481d3a(0x19f)];else{if(_0x25ec43[_0x481d3a(0x12b)]){process[_0x481d3a(0x12a)][_0x481d3a(0x135)](_0x3fd08b['mExWf']);const _0x4f23c9=await fetch(_0x25ec43['registration_endpoint'],{'method':_0x3fd08b[_0x481d3a(0x178)],'headers':{'Content-Type':_0x3fd08b['axCnv']},'body':JSON['stringify']({'client_name':_0x481d3a(0x1a4),'redirect_uris':['http://localhost:'+CALLBACK_PORT+_0x481d3a(0x183)],'grant_types':[_0x3fd08b['gdroG'],'refresh_token'],'response_types':[_0x481d3a(0x138)],'token_endpoint_auth_method':'none'})});if(!_0x4f23c9['ok']){const _0x4b6d5e=await _0x4f23c9['text']();throw new Error('Client\x20registration\x20failed:\x20'+_0x4b6d5e);}const _0x54f5d2=await _0x4f23c9['json']();_0x1c671c=_0x54f5d2[_0x481d3a(0x13e)],_0x2527bd=_0x54f5d2[_0x481d3a(0x14f)],await _0x3fd08b['dXNZv'](saveCachedClient,_0x1c671c,_0x2527bd),console[_0x481d3a(0x144)]('\x20done');}else throw new Error(_0x481d3a(0x17e));}const _0x591149=randomBytes(0x20)['toString'](_0x3fd08b[_0x481d3a(0x176)]),_0x56e33a=_0x3fd08b[_0x481d3a(0x159)](createHash,_0x3fd08b['INfOt'])[_0x481d3a(0x1a2)](_0x591149)[_0x481d3a(0x126)]('base64url'),_0x3ce628=randomBytes(0x10)[_0x481d3a(0x139)](_0x3fd08b['mowts']),_0x3a77f4=new URL(_0x25ec43['authorization_endpoint']);_0x3a77f4['searchParams'][_0x481d3a(0x133)](_0x3fd08b['zJgfH'],'code'),_0x3a77f4['searchParams']['set'](_0x481d3a(0x13e),_0x1c671c),_0x3a77f4[_0x481d3a(0x15e)]['set'](_0x3fd08b[_0x481d3a(0x136)],_0x481d3a(0x127)+CALLBACK_PORT+_0x481d3a(0x183)),_0x3a77f4[_0x481d3a(0x15e)][_0x481d3a(0x133)](_0x3fd08b['zqjIz'],_0x56e33a),_0x3a77f4[_0x481d3a(0x15e)]['set'](_0x481d3a(0x190),_0x481d3a(0x13c)),_0x3a77f4['searchParams']['set'](_0x3fd08b[_0x481d3a(0x164)],_0x3ce628);_0x27a294[_0x481d3a(0x166)]&&_0x3a77f4[_0x481d3a(0x15e)]['set'](_0x3fd08b['opfSF'],_0x27a294[_0x481d3a(0x166)]);console['log']('\x0aOpening\x20browser\x20for\x20authentication...'),console['log'](_0x481d3a(0x122)+_0x3a77f4['toString']()+'\x0a'),await _0x3fd08b[_0x481d3a(0x19d)](openBrowser,_0x3a77f4['toString']());const _0x263d35=await _0x3fd08b['aTwhh'](waitForCallback,_0x3ce628);process[_0x481d3a(0x12a)][_0x481d3a(0x135)](_0x3fd08b['CHBrk']);const _0x28c44e=new URLSearchParams({'grant_type':_0x481d3a(0x153),'code':_0x263d35,'redirect_uri':'http://localhost:'+CALLBACK_PORT+'/callback','client_id':_0x1c671c,'code_verifier':_0x591149});_0x2527bd&&_0x28c44e['set']('client_secret',_0x2527bd);_0x27a294['resource']&&_0x28c44e[_0x481d3a(0x133)](_0x481d3a(0x166),_0x27a294[_0x481d3a(0x166)]);const _0x23a0bc=await _0x3fd08b['TMlef'](fetch,_0x25ec43['token_endpoint'],{'method':_0x481d3a(0x143),'headers':{'Content-Type':_0x481d3a(0x170)},'body':_0x28c44e});if(!_0x23a0bc['ok']){const _0x48880b=await _0x23a0bc['text']();throw new Error(_0x481d3a(0x12f)+_0x48880b);}const _0x4aebaa=await _0x23a0bc['json']();return console[_0x481d3a(0x144)]('\x20done'),await _0x3fd08b[_0x481d3a(0x129)](saveCachedToken,_0x4aebaa['access_token'],_0x4aebaa['refresh_token'],_0x4aebaa['expires_in']),_0x4aebaa['access_token'];}async function callGetCliToken(_0x2c0c64,_0x40842d){const _0xbd9ba2=_0x291dcb,_0x3229c7={'MUSqE':function(_0x44c5cc,_0xe2c8b7,_0x4fe5cb){return _0x44c5cc(_0xe2c8b7,_0x4fe5cb);},'sMDJz':'application/json','KMdsC':'application/json,\x20text/event-stream','qffTv':_0xbd9ba2(0x17c),'gxFyW':_0xbd9ba2(0x173),'FMtgI':_0xbd9ba2(0x12d),'xeYBw':_0xbd9ba2(0x198),'WxZIj':_0xbd9ba2(0x152),'EOnan':_0xbd9ba2(0x192),'sKeKO':_0xbd9ba2(0x15b),'RatqX':_0xbd9ba2(0x143),'FIifs':'Requesting\x20CLI\x20token...','VkDET':_0xbd9ba2(0x185),'DnFGu':'get_cli_token','MxMtc':'\x0aUnexpected\x20response\x20structure:','ABnpe':function(_0x5a7453){return _0x5a7453();},'nyEdQ':function(_0x48c30e,_0x1da854,_0x536c93,_0x1f6beb){return _0x48c30e(_0x1da854,_0x536c93,_0x1f6beb);}},_0x3826e0={'Content-Type':_0x3229c7['sMDJz'],'Accept':_0x3229c7[_0xbd9ba2(0x11f)]};_0x40842d&&(_0x3826e0[_0x3229c7['qffTv']]='Bearer\x20'+_0x40842d);const _0x362b57=async _0x4e4076=>{const _0xfe9960=_0xbd9ba2,_0x1d4758=await _0x3229c7[_0xfe9960(0x1a1)](fetch,_0x2c0c64,{'method':_0xfe9960(0x143),'headers':_0x3826e0,'body':JSON['stringify'](_0x4e4076)});if(!_0x1d4758['ok']){const _0x270414=await _0x1d4758['text']();throw new Error('HTTP\x20'+_0x1d4758['status']+':\x20'+_0x270414);}return parseResponse(_0x1d4758);};process['stdout']['write'](_0x3229c7[_0xbd9ba2(0x172)]);const _0x3138cd=await _0x362b57({'jsonrpc':_0x3229c7[_0xbd9ba2(0x165)],'id':0x1,'method':'initialize','params':{'protocolVersion':_0x3229c7['xeYBw'],'capabilities':{},'clientInfo':{'name':_0x3229c7[_0xbd9ba2(0x16b)],'version':_0x3229c7['EOnan']}}});if(_0x3138cd[_0xbd9ba2(0x147)])throw new Error('MCP\x20initialize\x20failed:\x20'+(_0x3138cd['error']['message']??JSON[_0xbd9ba2(0x179)](_0x3138cd['error'])));console[_0xbd9ba2(0x144)](_0x3229c7[_0xbd9ba2(0x131)]),await fetch(_0x2c0c64,{'method':_0x3229c7[_0xbd9ba2(0x145)],'headers':_0x3826e0,'body':JSON['stringify']({'jsonrpc':_0x3229c7[_0xbd9ba2(0x165)],'method':'notifications/initialized'})})[_0xbd9ba2(0x128)](_0x4e95ce=>_0x4e95ce['text']()),process[_0xbd9ba2(0x12a)]['write'](_0x3229c7['FIifs']);const _0x5917a7=await _0x362b57({'jsonrpc':'2.0','id':0x2,'method':_0x3229c7['VkDET'],'params':{'name':_0x3229c7[_0xbd9ba2(0x16f)],'arguments':{}}});if(_0x5917a7[_0xbd9ba2(0x147)])throw new Error(_0xbd9ba2(0x19c)+(_0x5917a7[_0xbd9ba2(0x147)]['message']??JSON[_0xbd9ba2(0x179)](_0x5917a7[_0xbd9ba2(0x147)])));console[_0xbd9ba2(0x144)](_0x3229c7[_0xbd9ba2(0x131)]);const _0x3a3eb6=extractToken(_0x5917a7[_0xbd9ba2(0x167)]);if(!_0x3a3eb6){console[_0xbd9ba2(0x147)](_0x3229c7[_0xbd9ba2(0x13b)]),console[_0xbd9ba2(0x147)](JSON['stringify'](_0x5917a7[_0xbd9ba2(0x167)],null,0x2));throw new Error(_0xbd9ba2(0x157));}const _0x2417ac=_0x3229c7['MUSqE'](join,_0x3229c7['ABnpe'](homedir),'.ranger'),_0x43cd3d=_0x3229c7['MUSqE'](join,_0x2417ac,'refresh.txt');await mkdir(_0x2417ac,{'recursive':!![]}),await writeFile(_0x43cd3d,_0x3a3eb6,{'mode':0x180}),await _0x3229c7['nyEdQ'](writeFile,join(_0x2417ac,_0xbd9ba2(0x18a)),_0x2c0c64,{'mode':0x180}),console[_0xbd9ba2(0x144)](_0xbd9ba2(0x14a)+_0x43cd3d),console['log']('Run\x20`ranger\x20status`\x20to\x20verify\x20authentication.\x0a');}async function fetchAuthServerMetadata(_0x32387d){const _0x35dcfd=_0x32387d+'/.well-known/oauth-authorization-server',_0xd1cf3b=await fetch(_0x35dcfd);if(!_0xd1cf3b['ok'])throw new Error('Could\x20not\x20fetch\x20auth\x20server\x20metadata\x20from\x20'+_0x35dcfd+':\x20'+_0xd1cf3b['status']);return _0xd1cf3b['json']();}function waitForCallback(_0x4294f7){const _0x4b614f=_0x291dcb,_0x5efce5={'QKgNf':function(_0x51c0db,_0xc913a8){return _0x51c0db(_0xc913a8);},'fOvLL':function(_0x4f3900,_0x21b8a0){return _0x4f3900!==_0x21b8a0;},'zzVsB':'/callback','zKVPW':_0x4b614f(0x138),'MWbzE':'error','SoyOh':'<html><body><h2>Authenticated!</h2><p>You\x20can\x20close\x20this\x20window\x20and\x20return\x20to\x20the\x20terminal.</p></body></html>','cEgAe':function(_0x3c4752,_0x20207c){return _0x3c4752(_0x20207c);},'yZrnK':_0x4b614f(0x17b)};return new Promise((_0x24cbca,_0x5cff50)=>{const _0x20f6b5=_0x4b614f,_0x526c01={'vXtwx':function(_0x55c77e,_0x20d19f){const _0x4a7492=_0x4ce7;return _0x5efce5[_0x4a7492(0x18e)](_0x55c77e,_0x20d19f);},'sWQnx':function(_0x16b046,_0x104c83){const _0x3cff91=_0x4ce7;return _0x5efce5[_0x3cff91(0x124)](_0x16b046,_0x104c83);},'UPaXc':_0x5efce5['zzVsB'],'AVCep':_0x20f6b5(0x13f),'uoBAK':_0x5efce5['zKVPW'],'wxXmQ':'state','MIKrk':_0x5efce5['MWbzE'],'oYiwO':function(_0x4a2732,_0xd4b1de){return _0x4a2732(_0xd4b1de);},'xFZnr':function(_0x2bc8b6){return _0x2bc8b6();},'DTXcE':function(_0x3bea28,_0x571407){return _0x5efce5['QKgNf'](_0x3bea28,_0x571407);},'elHBL':_0x20f6b5(0x16a),'xIpIX':_0x5efce5['SoyOh'],'gVZjg':function(_0x2a4e12,_0x5ef8b7){return _0x2a4e12(_0x5ef8b7);}},_0x478c6b=()=>{const _0x78d5d8=_0x20f6b5;_0x31a7dc[_0x78d5d8(0x1a7)](),_0x31a7dc[_0x78d5d8(0x175)]();},_0x24f57d=setTimeout(()=>{_0x478c6b(),_0x526c01['vXtwx'](_0x5cff50,new OAuthTimeoutError('OAuth\x20callback\x20timed\x20out\x20after\x202\x20minutes'));},0x1d4c0),_0x31a7dc=_0x5efce5['cEgAe'](createServer,(_0x1ab361,_0x34a07f)=>{const _0x286bad=_0x20f6b5,_0x3f5aa8=new URL(_0x1ab361[_0x286bad(0x15f)]??'/','http://localhost:'+CALLBACK_PORT);if(_0x526c01[_0x286bad(0x188)](_0x3f5aa8['pathname'],_0x526c01[_0x286bad(0x16c)])){_0x34a07f[_0x286bad(0x14e)](0x194),_0x34a07f[_0x286bad(0x184)](_0x526c01['AVCep']);return;}const _0x41c273=_0x3f5aa8['searchParams'][_0x286bad(0x19e)](_0x526c01[_0x286bad(0x161)]),_0x2482e0=_0x3f5aa8[_0x286bad(0x15e)]['get'](_0x526c01['wxXmQ']),_0x3fb5cf=_0x3f5aa8['searchParams']['get'](_0x526c01['MIKrk']);if(_0x3fb5cf){const _0x3938a1=_0x3f5aa8['searchParams']['get'](_0x286bad(0x137))??_0x3fb5cf;_0x34a07f[_0x286bad(0x14e)](0xc8,{'Content-Type':'text/html'}),_0x34a07f[_0x286bad(0x184)]('<html><body><h2>Authentication\x20failed</h2><p>'+_0x3938a1+'</p><p>You\x20can\x20close\x20this\x20window.</p></body></html>'),_0x526c01['oYiwO'](clearTimeout,_0x24f57d),_0x526c01[_0x286bad(0x146)](_0x478c6b),_0x526c01[_0x286bad(0x132)](_0x5cff50,new Error('OAuth\x20error:\x20'+_0x3938a1));return;}if(!_0x41c273||_0x2482e0!==_0x4294f7){_0x34a07f['writeHead'](0x190,{'Content-Type':_0x526c01['elHBL']}),_0x34a07f['end']('<html><body><h2>Invalid\x20callback</h2><p>Missing\x20code\x20or\x20state\x20mismatch.</p></body></html>');return;}_0x34a07f['writeHead'](0xc8,{'Content-Type':_0x286bad(0x16a)}),_0x34a07f['end'](_0x526c01['xIpIX']),clearTimeout(_0x24f57d),_0x478c6b(),_0x526c01[_0x286bad(0x1a3)](_0x24cbca,_0x41c273);});_0x31a7dc['listen'](CALLBACK_PORT,_0x5efce5[_0x20f6b5(0x121)]);});}async function openBrowser(_0x180c92){const _0x225947=_0x291dcb,_0x33e35e={'TXnuz':function(_0x3cc321,_0x55b00b){return _0x3cc321===_0x55b00b;},'RKFLP':_0x225947(0x174)},_0x38656f=process['platform']==='darwin'?'open':_0x33e35e['TXnuz'](process[_0x225947(0x140)],'win32')?_0x33e35e[_0x225947(0x15c)]:_0x225947(0x162);exec(_0x38656f+'\x20\x22'+_0x180c92+'\x22');}let currentOrigin='';async function loadCachedToken(){const _0x3dfd8b=_0x291dcb,_0x31b315={'bAtgo':function(_0x2120fd,_0x491921,_0x50bd24){return _0x2120fd(_0x491921,_0x50bd24);},'lrJQK':_0x3dfd8b(0x197),'udcrf':function(_0x2b0c82,_0x20ab48){return _0x2b0c82>_0x20ab48;}};try{const _0x994db5=JSON['parse'](await _0x31b315['bAtgo'](readFile,TOKEN_CACHE_PATH,_0x31b315['lrJQK']));if(_0x994db5['origin']&&_0x994db5['origin']!==currentOrigin)return null;if(_0x994db5[_0x3dfd8b(0x180)]&&_0x31b315['udcrf'](Date['now'](),_0x994db5[_0x3dfd8b(0x180)]))return null;return _0x994db5['accessToken']??null;}catch{return null;}}async function saveCachedToken(_0x3fc59f,_0x58a551,_0x194446){const _0x31440d=_0x291dcb,_0x3a2181={'JzVdO':function(_0x28b263){return _0x28b263();},'nhaLs':function(_0x2548e2,_0xe21a54){return _0x2548e2+_0xe21a54;},'pnWGB':function(_0x445fa8,_0x3b51ab){return _0x445fa8*_0x3b51ab;},'TzFtI':function(_0x158c5c,_0x26b7b7,_0x3f60f2){return _0x158c5c(_0x26b7b7,_0x3f60f2);},'ZlxxM':function(_0x94a3b9){return _0x94a3b9();},'ppwQd':'.ranger'},_0x7c533a=await _0x3a2181['JzVdO'](loadCachedData),_0x1dd403={..._0x7c533a,'origin':currentOrigin,'accessToken':_0x3fc59f,'refreshToken':_0x58a551??_0x7c533a?.['refreshToken'],'expiresAt':_0x194446?_0x3a2181['nhaLs'](Date['now'](),_0x3a2181['pnWGB'](_0x194446,0x3e8)):undefined};await mkdir(_0x3a2181[_0x31440d(0x182)](join,_0x3a2181['ZlxxM'](homedir),_0x3a2181['ppwQd']),{'recursive':!![]}),await writeFile(TOKEN_CACHE_PATH,JSON['stringify'](_0x1dd403),{'mode':0x180});}async function loadCachedClient(){const _0x2ba1e2=_0x291dcb,_0x556ea1=await loadCachedData();if(_0x556ea1?.['origin']&&_0x556ea1[_0x2ba1e2(0x186)]!==currentOrigin)return null;return _0x556ea1?.[_0x2ba1e2(0x151)]?{'clientId':_0x556ea1[_0x2ba1e2(0x151)],'clientSecret':_0x556ea1['clientSecret']}:null;}async function clearCachedClient(){const _0x572600={'RIzVe':function(_0x3c8eb2,_0x4d1a77,_0x276a31,_0x22f44e){return _0x3c8eb2(_0x4d1a77,_0x276a31,_0x22f44e);}},_0x42de8f=await loadCachedData();if(!_0x42de8f)return;const {clientId:_0x393c46,clientSecret:_0x29dbd8,..._0x3204b5}=_0x42de8f;await _0x572600['RIzVe'](writeFile,TOKEN_CACHE_PATH,JSON['stringify'](_0x3204b5),{'mode':0x180});}async function saveCachedClient(_0x491340,_0x14f9b6){const _0x2a409f=_0x291dcb,_0x1ab923={'oRwfC':function(_0x41bd80){return _0x41bd80();},'MsBxM':'.ranger','eEtMF':function(_0x4e38fb,_0x8a7d47,_0x4cca5c,_0x451433){return _0x4e38fb(_0x8a7d47,_0x4cca5c,_0x451433);}},_0x367ac2=await loadCachedData(),_0xe78391={..._0x367ac2,'origin':currentOrigin,'accessToken':_0x367ac2?.[_0x2a409f(0x18c)]??'','clientId':_0x491340,'clientSecret':_0x14f9b6};await mkdir(join(_0x1ab923[_0x2a409f(0x199)](homedir),_0x1ab923[_0x2a409f(0x149)]),{'recursive':!![]}),await _0x1ab923[_0x2a409f(0x169)](writeFile,TOKEN_CACHE_PATH,JSON[_0x2a409f(0x179)](_0xe78391),{'mode':0x180});}async function loadCachedData(){const _0x4f5577=_0x291dcb,_0x43de00={'bWrtf':'utf-8'};try{return JSON[_0x4f5577(0x14c)](await readFile(TOKEN_CACHE_PATH,_0x43de00[_0x4f5577(0x12c)]));}catch{return null;}}async function parseResponse(_0xc03f44){const _0x320863=_0x291dcb,_0x3123c2={'qKaVH':'content-type','VnNAF':'text/event-stream','Oraxl':'data:','WywIN':function(_0x5663e0,_0x4b7280){return _0x5663e0!==_0x4b7280;}},_0x4195a2=_0xc03f44[_0x320863(0x16e)][_0x320863(0x19e)](_0x3123c2['qKaVH'])??'';if(_0x4195a2[_0x320863(0x13a)](_0x3123c2['VnNAF'])){const _0x380637=await _0xc03f44['text']();for(const _0x27cad5 of _0x380637['split']('\x0a')){const _0x3069a9=_0x27cad5[_0x320863(0x123)]();if(_0x3069a9[_0x320863(0x191)](_0x3123c2[_0x320863(0x125)])){const _0x47039c=_0x3069a9[_0x320863(0x181)](_0x3123c2['Oraxl'][_0x320863(0x15a)])['trim']();if(!_0x47039c)continue;try{const _0xf73edc=JSON['parse'](_0x47039c);if(_0x3123c2[_0x320863(0x13d)](_0xf73edc['id'],undefined)||_0xf73edc['error'])return _0xf73edc;}catch{}}}throw new Error('No\x20JSON-RPC\x20response\x20found\x20in\x20SSE\x20stream');}return _0xc03f44[_0x320863(0x1a0)]();}function extractToken(_0x59fdb4){const _0x10aa9a=_0x291dcb,_0x58ad9c={'uVkGk':_0x10aa9a(0x168),'TtsNg':_0x10aa9a(0x14b),'ZRoJB':function(_0x14c26a,_0x5a8edb){return _0x14c26a===_0x5a8edb;}};if(!_0x59fdb4)return null;const _0x4d0569=_0x59fdb4['structuredContent'];if(_0x4d0569?.['token']&&typeof _0x4d0569['token']===_0x58ad9c[_0x10aa9a(0x160)])return _0x4d0569['token'];if(_0x59fdb4['isError']){const _0x1a6f04=_0x59fdb4['content'];throw new Error(_0x10aa9a(0x16d)+(_0x1a6f04?.[0x0]?.[_0x10aa9a(0x14b)]??'Unknown\x20error'));}const _0x4e216f=_0x59fdb4['content'];if(_0x4e216f)for(const _0xdff3af of _0x4e216f){if(_0xdff3af['type']===_0x58ad9c['TtsNg']&&_0xdff3af['text']){try{const _0x57bdbb=JSON[_0x10aa9a(0x14c)](_0xdff3af['text']);if(_0x58ad9c[_0x10aa9a(0x156)](typeof _0x57bdbb?.['token'],'string'))return _0x57bdbb['token'];}catch{}const _0x395e88=_0xdff3af[_0x10aa9a(0x14b)]['match'](/(rngr_[A-Za-z0-9_-]+)/);if(_0x395e88)return _0x395e88[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 _0x5d31(_0x61273d,_0x1d6ed0){_0x61273d=_0x61273d-0x1cc;var _0x2283cb=_0x2283();var _0x5d31aa=_0x2283cb[_0x61273d];return _0x5d31aa;}function _0x2283(){var _0x294a6d=['fallback;\x20you\x20can\x20delete\x20them\x20once\x20you\x20have\x20re-auth-ed.','88124gNaFMB','kgnXk','171Jqjozk','132wMJffL','924yShEal','120153KOwoBU','msfkM','\x20\x20ranger\x20profile\x20add\x20<name>\x0a','11661wqURWJ','115550EXfQJw','error','5OtGJJT','3UPxVav','4788HsBEag','92943hCvtZa','12366XXWpbb','yvhtV','ranger\x20profile\x20migrate\x20is\x20no\x20longer\x20supported.\x0a','Existing\x20sessions\x20in\x20your\x20old\x20<project>/.ranger/\x20dirs\x20still\x20work\x20as\x20a\x0a','20pzJeXI','18184FZelTK'];_0x2283=function(){return _0x294a6d;};return _0x2283();}(function(_0x38d740,_0x34bcb3){var _0x7d2f87=_0x5d31,_0x36fa03=_0x38d740();while(!![]){try{var _0x104f45=-parseInt(_0x7d2f87(0x1d1))/0x1*(-parseInt(_0x7d2f87(0x1db))/0x2)+parseInt(_0x7d2f87(0x1d3))/0x3*(parseInt(_0x7d2f87(0x1d8))/0x4)+-parseInt(_0x7d2f87(0x1d0))/0x5*(parseInt(_0x7d2f87(0x1d4))/0x6)+-parseInt(_0x7d2f87(0x1df))/0x7*(-parseInt(_0x7d2f87(0x1d9))/0x8)+-parseInt(_0x7d2f87(0x1dd))/0x9*(parseInt(_0x7d2f87(0x1ce))/0xa)+parseInt(_0x7d2f87(0x1e0))/0xb*(parseInt(_0x7d2f87(0x1de))/0xc)+parseInt(_0x7d2f87(0x1cd))/0xd*(-parseInt(_0x7d2f87(0x1d2))/0xe);if(_0x104f45===_0x34bcb3)break;else _0x36fa03['push'](_0x36fa03['shift']());}catch(_0x285624){_0x36fa03['push'](_0x36fa03['shift']());}}}(_0x2283,0x2bad4));export async function migrateProfile(_0x1e8af1,_0x270e2c){var _0x109b82=_0x5d31,_0x575855={'msfkM':function(_0xaa5da2,_0x884ccf){return _0xaa5da2+_0x884ccf;},'IXncP':function(_0x9a22b3,_0x4a4031){return _0x9a22b3+_0x4a4031;},'qaESW':_0x109b82(0x1cc),'kgnXk':'For\x20CI\x20/\x20background\x20agents\x20and\x20other\x20setup\x20options,\x20see:\x0a','yvhtV':_0x109b82(0x1d7)};console[_0x109b82(0x1cf)](_0x575855[_0x109b82(0x1e1)](_0x575855['IXncP'](_0x575855[_0x109b82(0x1e1)](_0x575855[_0x109b82(0x1e1)](_0x575855['msfkM'](_0x109b82(0x1d6)+'\x0a','To\x20set\x20up\x20a\x20fresh\x20profile,\x20run:\x0a'),_0x575855['qaESW']),'\x0a'),_0x575855[_0x109b82(0x1dc)]),'\x20\x20https://docs.ranger.net/main/concepts/profiles\x0a')+'\x0a'+_0x575855[_0x109b82(0x1d5)]+_0x109b82(0x1da)),process['exit'](0x1);}
@@ -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(_0x16b0ed,_0x14b547){const _0x2957af=_0x4627,_0x34d248=_0x16b0ed();while(!![]){try{const _0x3983b5=parseInt(_0x2957af(0x1ea))/0x1+-parseInt(_0x2957af(0x1cd))/0x2+parseInt(_0x2957af(0x1d5))/0x3*(-parseInt(_0x2957af(0x1ed))/0x4)+-parseInt(_0x2957af(0x1f2))/0x5+-parseInt(_0x2957af(0x1dd))/0x6*(parseInt(_0x2957af(0x1e7))/0x7)+-parseInt(_0x2957af(0x1c8))/0x8+parseInt(_0x2957af(0x1f1))/0x9;if(_0x3983b5===_0x14b547)break;else _0x34d248['push'](_0x34d248['shift']());}catch(_0x4e54f1){_0x34d248['push'](_0x34d248['shift']());}}}(_0x10cf,0xcd0a3));import{join}from'path';import{existsSync}from'fs';import _0x58dc1c from'inquirer';function _0x10cf(){const _0x18c573=['1601865DHexmT','plugin','cjDtB','4demImw','YFvHP','.claude','LmQPa','27837882DfPkGY','6817665OjGPVV','✓\x20Ranger\x20skills\x20already\x20installed','AbPvI','HqrwX','AZIYQ','User\x20(available\x20in\x20all\x20your\x20projects)','wantsSkillup','push','confirm','\x20\x20claude\x20plugin\x20install\x20ranger@trailhead\x20--scope\x20','1495432Bejnfb','error','trailhead','iIeWL','CMpFO','576032toXLMi','\x0aInstalling\x20Claude\x20Code\x20plugin\x20(','\x0aYou\x20can\x20install\x20manually\x20with:','ranger','--scope','OSYeV','pluginScope','\x20\x20claude\x20plugin\x20marketplace\x20add\x20ranger-testing/trailhead','2971086bnMfqw','log','BMIQw','wXwsn','success','NSJJH','yxEGv','project','1539420rrfMME','add','❌\x20Failed\x20to\x20install\x20plugin:','CDDAV','user','Would\x20you\x20like\x20to\x20install\x20skills?','zRnFF','ranger@trailhead','lAfaY','SKILL.md','28GlHONA','NJeOx','prompt'];_0x10cf=function(){return _0x18c573;};return _0x10cf();}import{skillup}from'../skillup.js';function _0x4627(_0xace26c,_0x11ead4){_0xace26c=_0xace26c-0x1c1;const _0x10cfb8=_0x10cf();let _0x46275e=_0x10cfb8[_0xace26c];return _0x46275e;}import{runClaudeCommand,isMarketplaceAdded,isPluginInstalled}from'../utils/claudePlugin.js';import{getProjectRoot,getSkillsDir}from'../utils/claudeConfig.js';export async function ensureClaudePlugin(_0x358d9a){const _0x4cdf5a=_0x4627,_0x2a1d2f={'Wwinp':function(_0x17b63f,_0x6c0717){return _0x17b63f(_0x6c0717);},'LmQPa':function(_0x120640,_0x57ab99,_0x256a10){return _0x120640(_0x57ab99,_0x256a10);},'CetHi':function(_0x1d720a){return _0x1d720a();},'HqrwX':'project','HPQnX':'list','NSJJH':'Project\x20(shared\x20with\x20team\x20via\x20git)','zvqwR':'✓\x20Marketplace\x20already\x20added','BMIQw':function(_0x3a9980,_0x48e9fc){return _0x3a9980(_0x48e9fc);},'AZIYQ':'plugin','OSYeV':'marketplace','pPxUo':_0x4cdf5a(0x1de),'lAfaY':'\x0aYou\x20can\x20install\x20manually\x20with:','cwRUr':_0x4cdf5a(0x1d4),'tmGzr':_0x4cdf5a(0x1d1),'CMpFO':'✓\x20Claude\x20Code\x20plugin\x20installed\x20successfully','dRazV':'enable','cjDtB':function(_0x2cf4b0,_0x357512){return _0x2cf4b0===_0x357512;},'NJeOx':function(_0x49b455,_0x53a642,_0x39b364){return _0x49b455(_0x53a642,_0x39b364);},'jswyO':'⚠\x20Failed\x20to\x20enable\x20plugin:','mwncH':'✓\x20Claude\x20Code\x20plugin\x20enabled'},_0x4708a2=await _0x2a1d2f['Wwinp'](isPluginInstalled,_0x4cdf5a(0x1e4));if(_0x4708a2)return console['log']('✓\x20Claude\x20Code\x20plugin\x20already\x20installed'),![];const _0x5215be=existsSync(_0x2a1d2f[_0x4cdf5a(0x1f0)](join,_0x2a1d2f['CetHi'](getProjectRoot),'.claude'));let _0x52b87b;if(_0x358d9a)_0x52b87b=_0x358d9a;else{if(_0x5215be)_0x52b87b=_0x2a1d2f[_0x4cdf5a(0x1c1)];else{console['log']('\x0a📦\x20Claude\x20Code\x20Plugin\x0a');const _0x3598ea=await _0x58dc1c[_0x4cdf5a(0x1e9)]([{'type':_0x2a1d2f['HPQnX'],'name':'pluginScope','message':'Where\x20should\x20the\x20plugin\x20be\x20installed?','choices':[{'name':_0x4cdf5a(0x1c3),'value':_0x4cdf5a(0x1e1)},{'name':_0x2a1d2f[_0x4cdf5a(0x1da)],'value':_0x2a1d2f[_0x4cdf5a(0x1c1)]}],'default':_0x4cdf5a(0x1e1)}]);_0x52b87b=_0x3598ea[_0x4cdf5a(0x1d3)];}}console['log'](_0x4cdf5a(0x1ce)+_0x52b87b+'\x20level)...\x0a');const _0x4d94ab=await isMarketplaceAdded(_0x4cdf5a(0x1ca));let _0xf9533d=_0x4d94ab;if(_0x4d94ab)console[_0x4cdf5a(0x1d6)](_0x2a1d2f['zvqwR']);else{const _0x196dfb=await _0x2a1d2f[_0x4cdf5a(0x1d7)](runClaudeCommand,[_0x2a1d2f[_0x4cdf5a(0x1c2)],_0x2a1d2f[_0x4cdf5a(0x1d2)],_0x2a1d2f['pPxUo'],'ranger-testing/trailhead']);!_0x196dfb['success']?(console[_0x4cdf5a(0x1c9)]('❌\x20Failed\x20to\x20add\x20marketplace:',_0x196dfb[_0x4cdf5a(0x1c9)]),console['log'](_0x2a1d2f[_0x4cdf5a(0x1e5)]),console[_0x4cdf5a(0x1d6)](_0x2a1d2f['cwRUr']),console[_0x4cdf5a(0x1d6)](_0x4cdf5a(0x1c7)+_0x52b87b)):_0xf9533d=!![];}if(_0xf9533d){const _0xde46a1=await runClaudeCommand(['plugin','install','ranger@trailhead',_0x2a1d2f['tmGzr'],_0x52b87b],{'cwd':_0x52b87b==='project'?getProjectRoot():undefined});if(!_0xde46a1[_0x4cdf5a(0x1d9)])console['error'](_0x4cdf5a(0x1df),_0xde46a1['error']),console['log'](_0x4cdf5a(0x1cf)),console[_0x4cdf5a(0x1d6)](_0x4cdf5a(0x1c7)+_0x52b87b);else{console[_0x4cdf5a(0x1d6)](_0x2a1d2f[_0x4cdf5a(0x1cc)]);const _0x36b39c=[_0x4cdf5a(0x1eb),_0x2a1d2f['dRazV'],_0x4cdf5a(0x1e4)];_0x2a1d2f[_0x4cdf5a(0x1ec)](_0x52b87b,_0x2a1d2f['HqrwX'])&&_0x36b39c[_0x4cdf5a(0x1c5)](_0x4cdf5a(0x1d1),_0x4cdf5a(0x1dc));const _0x5ef569=await _0x2a1d2f[_0x4cdf5a(0x1e8)](runClaudeCommand,_0x36b39c,{'captureOutput':!![],'cwd':_0x52b87b==='project'?_0x2a1d2f['CetHi'](getProjectRoot):undefined}),_0x34f480=_0x5ef569['output']?.['includes']('already\x20enabled');!_0x5ef569['success']&&!_0x34f480?console['error'](_0x2a1d2f['jswyO'],_0x5ef569[_0x4cdf5a(0x1c9)]):console['log'](_0x2a1d2f['mwncH']);}}return!![];}export async function ensureClaudeSkills(_0x408be3){const _0x1c9c1a=_0x4627,_0x3063e6={'AbPvI':function(_0x32b415,_0xfb2776){return _0x32b415(_0xfb2776);},'Giaye':function(_0x35ae65,_0x4b1c1d,_0x10d361,_0x5ab13f){return _0x35ae65(_0x4b1c1d,_0x10d361,_0x5ab13f);},'MRCeF':_0x1c9c1a(0x1d0),'wXwsn':function(_0x5b532f,_0x4fe985){return _0x5b532f(_0x4fe985);},'xFwjV':function(_0x9f394a,_0x579535,_0x4093c7,_0x4cfb74){return _0x9f394a(_0x579535,_0x4093c7,_0x4cfb74);},'iIeWL':function(_0x57d529,_0x8c91df){return _0x57d529(_0x8c91df);},'yxEGv':_0x1c9c1a(0x1dc),'zRnFF':'SKILL.md','CDDAV':function(_0x6b08cb,_0x3bfdcb){return _0x6b08cb||_0x3bfdcb;},'dUqUS':_0x1c9c1a(0x1f3),'YFvHP':function(_0x2b0f44,_0x56597e){return _0x2b0f44(_0x56597e);}},_0x1ca3f8=_0x3063e6[_0x1c9c1a(0x1f4)](existsSync,_0x3063e6['Giaye'](join,getSkillsDir('user'),_0x3063e6['MRCeF'],_0x1c9c1a(0x1e6))),_0x59574d=_0x3063e6[_0x1c9c1a(0x1d8)](existsSync,_0x3063e6['xFwjV'](join,_0x3063e6[_0x1c9c1a(0x1cb)](getSkillsDir,_0x3063e6[_0x1c9c1a(0x1db)]),_0x3063e6['MRCeF'],_0x3063e6[_0x1c9c1a(0x1e3)]));if(_0x3063e6[_0x1c9c1a(0x1e0)](_0x1ca3f8,_0x59574d))return console['log'](_0x3063e6['dUqUS']),![];const _0x3c02f7=existsSync(join(getProjectRoot(),_0x1c9c1a(0x1ef)));let _0x383c5e=!![];if(_0x408be3)await skillup({'autoInstall':_0x408be3,'suppressUsage':!![]});else{if(_0x3c02f7)await skillup({'autoInstall':'project','suppressUsage':!![]});else{const _0x23141b=await _0x58dc1c['prompt']([{'type':_0x1c9c1a(0x1c6),'name':'wantsSkillup','message':_0x1c9c1a(0x1e2),'default':!![]}]);_0x383c5e=_0x23141b[_0x1c9c1a(0x1c4)],_0x383c5e&&await _0x3063e6[_0x1c9c1a(0x1ee)](skillup,{'suppressUsage':!![]});}}return _0x383c5e;}
@@ -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(_0x5232a2,_0x213ccd){const _0x398e4f=_0x9cb5,_0x172cbd=_0x5232a2();while(!![]){try{const _0x402499=-parseInt(_0x398e4f(0xec))/0x1+-parseInt(_0x398e4f(0xdb))/0x2*(parseInt(_0x398e4f(0xf0))/0x3)+-parseInt(_0x398e4f(0xe5))/0x4+-parseInt(_0x398e4f(0xde))/0x5*(parseInt(_0x398e4f(0xeb))/0x6)+-parseInt(_0x398e4f(0xf1))/0x7*(parseInt(_0x398e4f(0xf2))/0x8)+-parseInt(_0x398e4f(0xdc))/0x9+parseInt(_0x398e4f(0xef))/0xa;if(_0x402499===_0x213ccd)break;else _0x172cbd['push'](_0x172cbd['shift']());}catch(_0x37d5f6){_0x172cbd['push'](_0x172cbd['shift']());}}}(_0x4474,0x9319e));function _0x4474(){const _0x14652d=['1338TLtMvJ','59728qHobzL','INWEG','list','44047890xcZSjH','21dgqfsQ','7bUGLbq','1947016VjHrCT','user','prompt','User\x20(available\x20in\x20all\x20your\x20projects)','pluginScope','TXhBu','plugin','isArray','Where\x20should\x20the\x20plugin\x20be\x20installed?','252854SZtUnj','10288728uezCxZ','EghBs','8595NaZOvH','log','MtwJp','DXwIl','project','error','nauIZ','4350560YGOkba','@ranger-testing/opencode-plugin','⚠\x20Failed\x20to\x20read\x20opencode.json.\x20Please\x20add\x20the\x20plugin\x20manually.','parse','$schema','opencode.json'];_0x4474=function(){return _0x14652d;};return _0x4474();}import{join}from'path';import{existsSync}from'fs';import{mkdir,readFile,writeFile}from'fs/promises';import _0x50874c from'inquirer';function _0x9cb5(_0x55e26c,_0x2f980f){_0x55e26c=_0x55e26c-0xd6;const _0x447481=_0x4474();let _0x9cb579=_0x447481[_0x55e26c];return _0x9cb579;}import{getOpencodeConfigDir}from'../utils/opencodeConfig.js';export async function ensureOpencodePluginConfig(_0x2084c3){const _0x2390d7=_0x9cb5,_0xfe61d8={'ACuyN':function(_0x36a5fd,_0x58eac6){return _0x36a5fd(_0x58eac6);},'INWEG':'\x0a📦\x20OpenCode\x20Plugin\x0a','EghBs':_0x2390d7(0xee),'ouLBh':'pluginScope','ofgGb':_0x2390d7(0xf5),'MdEUE':'Project\x20(shared\x20with\x20team\x20via\x20git)','TXhBu':_0x2390d7(0xe2),'GxfKw':'user','SkNbg':function(_0x5cad9d,_0x17bd0a){return _0x5cad9d(_0x17bd0a);},'jIajf':'opencode.json','nauIZ':_0x2390d7(0xe6),'YbmbC':function(_0x4f4c85,_0x329368){return _0x4f4c85(_0x329368);},'MtwJp':function(_0x21cbc6,_0x456933,_0x3e9208){return _0x21cbc6(_0x456933,_0x3e9208);},'HqYus':_0x2390d7(0xe7),'DXwIl':'✓\x20OpenCode\x20plugin\x20already\x20configured','ehREe':function(_0x3599c8,_0x186d09){return _0x3599c8(_0x186d09);},'BmiGL':'✓\x20OpenCode\x20plugin\x20configured'},_0x70bb18=existsSync(join(_0xfe61d8['ACuyN'](getOpencodeConfigDir,_0x2390d7(0xe2)),_0x2390d7(0xea)));let _0x1514ae;if(_0x2084c3)_0x1514ae=_0x2084c3;else{if(_0x70bb18)_0x1514ae=_0x2390d7(0xe2);else{console[_0x2390d7(0xdf)](_0xfe61d8[_0x2390d7(0xed)]);const _0x1516af=await _0x50874c[_0x2390d7(0xf4)]([{'type':_0xfe61d8[_0x2390d7(0xdd)],'name':_0xfe61d8['ouLBh'],'message':_0x2390d7(0xda),'choices':[{'name':_0xfe61d8['ofgGb'],'value':_0x2390d7(0xf3)},{'name':_0xfe61d8['MdEUE'],'value':_0xfe61d8[_0x2390d7(0xd7)]}],'default':_0xfe61d8['GxfKw']}]);_0x1514ae=_0x1516af[_0x2390d7(0xd6)];}}const _0x5a5aa3=join(_0xfe61d8['SkNbg'](getOpencodeConfigDir,_0x1514ae),_0xfe61d8['jIajf']),_0x50c903=_0xfe61d8[_0x2390d7(0xe4)],_0x37d2a4='https://opencode.ai/config.json';let _0x31d0eb={};if(_0xfe61d8['YbmbC'](existsSync,_0x5a5aa3))try{const _0x3d823d=await _0xfe61d8['MtwJp'](readFile,_0x5a5aa3,'utf-8');_0x31d0eb=JSON[_0x2390d7(0xe8)](_0x3d823d);}catch(_0x1c05d4){return console[_0x2390d7(0xe3)](_0xfe61d8['HqYus']),{'configured':![],'scope':_0x1514ae,'error':'Failed\x20to\x20read\x20opencode.json','details':_0x1c05d4};}const _0x55e7c9=Array[_0x2390d7(0xd9)](_0x31d0eb['plugin'])?_0x31d0eb[_0x2390d7(0xd8)]:[];if(_0x55e7c9['includes'](_0x50c903))return console[_0x2390d7(0xdf)](_0xfe61d8[_0x2390d7(0xe1)]),{'configured':![],'scope':_0x1514ae};return _0x31d0eb['$schema']=_0x31d0eb[_0x2390d7(0xe9)]||_0x37d2a4,_0x31d0eb[_0x2390d7(0xd8)]=[..._0x55e7c9,_0x50c903],await _0xfe61d8['MtwJp'](mkdir,_0xfe61d8['ehREe'](getOpencodeConfigDir,_0x1514ae),{'recursive':!![]}),await _0xfe61d8[_0x2390d7(0xe0)](writeFile,_0x5a5aa3,JSON['stringify'](_0x31d0eb,null,0x2)+'\x0a'),console[_0x2390d7(0xdf)](_0xfe61d8['BmiGL']),{'configured':!![],'scope':_0x1514ae};}
@@ -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 _0x4ddf(_0x3f665f,_0x30b09f){_0x3f665f=_0x3f665f-0x13a;var _0x1d00cf=_0x1d00();var _0x4ddf30=_0x1d00cf[_0x3f665f];return _0x4ddf30;}(function(_0x39a03b,_0x36e7d7){var _0x280316=_0x4ddf,_0x3cec92=_0x39a03b();while(!![]){try{var _0x334107=-parseInt(_0x280316(0x147))/0x1+-parseInt(_0x280316(0x13a))/0x2*(-parseInt(_0x280316(0x149))/0x3)+-parseInt(_0x280316(0x144))/0x4+parseInt(_0x280316(0x143))/0x5*(-parseInt(_0x280316(0x13d))/0x6)+-parseInt(_0x280316(0x13e))/0x7+parseInt(_0x280316(0x13b))/0x8*(parseInt(_0x280316(0x145))/0x9)+parseInt(_0x280316(0x142))/0xa*(parseInt(_0x280316(0x13f))/0xb);if(_0x334107===_0x36e7d7)break;else _0x3cec92['push'](_0x3cec92['shift']());}catch(_0x2e8cc0){_0x3cec92['push'](_0x3cec92['shift']());}}}(_0x1d00,0x921bb));export async function setupCi(_0x183827,_0x4afcfc,_0x459c25){var _0x5da399=_0x4ddf,_0x5504f1={'fhGDE':function(_0x1e42c0,_0x11751f){return _0x1e42c0+_0x11751f;},'HWhhz':'ranger\x20setup\x20--ci\x20writes\x20to\x20the\x20legacy\x20.ranger/ci/\x20tree\x20which\x20is\x20no\x20longer\x20supported.\x0a','QzpGI':'To\x20set\x20up\x20a\x20fresh\x20profile,\x20run:\x0a','slvIk':'\x20\x20https://docs.ranger.net/main/concepts/profiles'};console[_0x5da399(0x141)](_0x5504f1[_0x5da399(0x13c)](_0x5504f1['HWhhz']+'\x0a'+_0x5504f1['QzpGI'],_0x5da399(0x148))+'\x0a'+_0x5da399(0x140)+_0x5504f1[_0x5da399(0x14a)]),process[_0x5da399(0x146)](0x1);}function _0x1d00(){var _0x14cfa8=['3188944TSAVJB','For\x20CI\x20/\x20background\x20agents\x20and\x20other\x20setup\x20options,\x20see:\x0a','error','60BsdMoK','367145sHtpEQ','1968832dgKlUR','9441KGSftM','exit','544966oigPtT','\x20\x20ranger\x20profile\x20add\x20<name>\x0a','69RYQIBe','slvIk','29626bQLmUT','4568xyKurL','fhGDE','78vIuYmg','622244UmQCDn'];_0x1d00=function(){return _0x14cfa8;};return _0x1d00();}
@@ -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 _0x5e5d(){const _0x9bd111=['bmBiJ','QGNyJ','/skills/','CIjdp','1022468owNzEd','\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!','ZSxhG','qfJgA','3218757JEHkQT','platform','\x20successfully!\x0a','user','user-level','opencode','\x20--opencode','7326640CkDPOC','Ggvxg','ZMXTj','/.opencode/skills/','To\x20use:','❌\x20No\x20Ranger\x20API\x20token\x20found.\x0a','1yopdXd','message','Vhpqa','rPJmz','isTTY','3857PjhSqM','13069510WaxZZA','4396352qdRDUu','\x0a⚠️\x20\x20No\x20skills\x20were\x20installed.\x0a','1590BHtROi','autoInstall','warn','\x20\x201.\x20Get\x20your\x20API\x20token\x20from\x20https://dashboard.ranger.net/cli','stdin','11fdaslR','jwWqD','log','project','nsFJa','\x20<your-api-token>','5uVYDll','project-level','\x20\x202.\x20Run:\x20ranger\x20setup','9778437xNnFgW','installLevel'];_0x5e5d=function(){return _0x9bd111;};return _0x5e5d();}(function(_0x2c9491,_0x348f0f){const _0x513e63=_0x3674,_0x42d984=_0x2c9491();while(!![]){try{const _0x2db0f5=parseInt(_0x513e63(0xb2))/0x1*(-parseInt(_0x513e63(0xa1))/0x2)+parseInt(_0x513e63(0xa5))/0x3+parseInt(_0x513e63(0xb9))/0x4*(-parseInt(_0x513e63(0xc6))/0x5)+parseInt(_0x513e63(0xbb))/0x6*(parseInt(_0x513e63(0xb7))/0x7)+parseInt(_0x513e63(0xac))/0x8+-parseInt(_0x513e63(0xc9))/0x9+parseInt(_0x513e63(0xb8))/0xa*(parseInt(_0x513e63(0xc0))/0xb);if(_0x2db0f5===_0x348f0f)break;else _0x42d984['push'](_0x42d984['shift']());}catch(_0x71d06c){_0x42d984['push'](_0x42d984['shift']());}}}(_0x5e5d,0xb5dc4));import{basename}from'path';import _0x29f721 from'inquirer';import{getToken}from'./utils/keychain.js';function _0x3674(_0x3bfb22,_0x5b83bb){_0x3bfb22=_0x3bfb22-0x9d;const _0x5e5d11=_0x5e5d();let _0x36741f=_0x5e5d11[_0x3bfb22];return _0x36741f;}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(_0x57f1b3={}){const _0x2fbd77=_0x3674,_0x46eeb5={'bijtO':_0x2fbd77(0xb1),'nsFJa':_0x2fbd77(0xbe),'ZMXTj':_0x2fbd77(0xaa),'XqQot':function(_0xe7c985,_0x5c3978){return _0xe7c985===_0x5c3978;},'jwWqD':_0x2fbd77(0xab),'ZSxhG':function(_0x597d40){return _0x597d40();},'Ggvxg':function(_0x5cc548,_0x5a4df1){return _0x5cc548(_0x5a4df1);},'QGNyJ':_0x2fbd77(0xa8),'CIjdp':_0x2fbd77(0xca),'bmBiJ':'project','qfJgA':'\x0a📦\x20Installing\x20skills...\x0a','xtMPG':'ranger','rPJmz':function(_0x55ed38,_0x3c0b7d){return _0x55ed38 instanceof _0x3c0b7d;},'WjBtn':function(_0x2bf573,_0x34e64e){return _0x2bf573===_0x34e64e;},'Vhpqa':_0x2fbd77(0xa9),'JyyLV':'\x20\x20-\x20Start\x20OpenCode\x20and\x20run\x20the\x20`ranger_enable`\x20tool\x20to\x20enable\x20hooks.'};console[_0x2fbd77(0xc2)]('\x0a🎯\x20Ranger\x20Skill\x20Setup\x0a');const _0x180cd3=_0x57f1b3[_0x2fbd77(0xa6)]??'claude',_0x109570=await getToken();if(!_0x109570){console['log'](_0x46eeb5['bijtO']),console[_0x2fbd77(0xc2)]('To\x20get\x20started:'),console['log'](_0x46eeb5[_0x2fbd77(0xc4)]),console['log'](_0x2fbd77(0xc8)+(_0x180cd3===_0x46eeb5[_0x2fbd77(0xae)]?_0x2fbd77(0xab):'')+_0x2fbd77(0xc5)),console['log']('\x20\x203.\x20Run:\x20ranger\x20skillup'+(_0x46eeb5['XqQot'](_0x180cd3,_0x2fbd77(0xaa))?_0x46eeb5[_0x2fbd77(0xc1)]:'')+'\x0a');return;}console[_0x2fbd77(0xc2)]('✓\x20Found\x20API\x20token');const _0x463e48=_0x46eeb5['ZSxhG'](getProjectRoot),_0x27e5fd=_0x46eeb5[_0x2fbd77(0xad)](basename,_0x463e48),_0x4263e1=_0x180cd3==='opencode'?getOpencodeConfigDir(_0x46eeb5[_0x2fbd77(0x9e)])+_0x2fbd77(0x9f):getClaudeConfigDir()+'/skills/',_0x56b5e3=_0x180cd3===_0x46eeb5[_0x2fbd77(0xae)]?_0x463e48+_0x2fbd77(0xaf):_0x463e48+'/.claude/skills/',_0x5f1dc6=process[_0x2fbd77(0xbf)][_0x2fbd77(0xb6)]&&process['stdout']['isTTY'];let _0x59cf8b;if(_0x57f1b3[_0x2fbd77(0xbc)])_0x59cf8b=_0x57f1b3['autoInstall'];else{if(_0x5f1dc6){const _0x454a74=await _0x29f721['prompt']([{'type':'list','name':_0x46eeb5[_0x2fbd77(0xa0)],'message':'Where\x20should\x20skills\x20be\x20installed?','choices':[{'name':'All\x20projects\x20('+_0x4263e1+')','value':'user'},{'name':'This\x20project\x20only\x20('+_0x56b5e3+')','value':_0x46eeb5[_0x2fbd77(0x9d)]}]}]);_0x59cf8b=_0x454a74[_0x2fbd77(0xca)];}else _0x59cf8b=_0x2fbd77(0xc3),console[_0x2fbd77(0xc2)]('Non-interactive\x20mode:\x20Installing\x20skills\x20at\x20project\x20level\x20('+_0x56b5e3+')');}let _0x5641d3=0x0;const _0x331661=_0x46eeb5[_0x2fbd77(0xa3)](getCurrentVersion);console['log'](_0x46eeb5[_0x2fbd77(0xa4)]);try{const _0x2ac8c2=await installSkill(_0x46eeb5['xtMPG'],{'cliVersion':_0x331661,'level':_0x59cf8b,'platform':_0x180cd3});_0x2ac8c2&&_0x5641d3++;}catch(_0x5aaf1b){console[_0x2fbd77(0xbd)]('\x20\x20Failed\x20to\x20install\x20ranger\x20skill:',_0x46eeb5[_0x2fbd77(0xb5)](_0x5aaf1b,Error)?_0x5aaf1b[_0x2fbd77(0xb3)]:_0x5aaf1b);}if(_0x5641d3>0x0){const _0x45fd52=_0x46eeb5['WjBtn'](_0x59cf8b,_0x46eeb5[_0x2fbd77(0x9e)])?_0x46eeb5[_0x2fbd77(0xb4)]:_0x2fbd77(0xc7);console['log']('\x0a✅\x20Installed\x20'+_0x5641d3+'\x20'+_0x45fd52+'\x20skill'+(_0x5641d3>0x1?'s':'')+_0x2fbd77(0xa7)),!_0x57f1b3['suppressUsage']&&(console[_0x2fbd77(0xc2)](_0x2fbd77(0xb0)),_0x46eeb5['WjBtn'](_0x180cd3,'opencode')?console['log'](_0x46eeb5['JyyLV']):console[_0x2fbd77(0xc2)](_0x2fbd77(0xa2)));}else console['log'](_0x2fbd77(0xba));}
@@ -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
+ const _0x410d38=_0xcacf;(function(_0x35bb54,_0x2f6da9){const _0x53d3aa=_0xcacf,_0x1b211c=_0x35bb54();while(!![]){try{const _0x168a7d=-parseInt(_0x53d3aa(0xfc))/0x1*(-parseInt(_0x53d3aa(0xeb))/0x2)+parseInt(_0x53d3aa(0x14b))/0x3+-parseInt(_0x53d3aa(0x12b))/0x4+-parseInt(_0x53d3aa(0x119))/0x5*(parseInt(_0x53d3aa(0x111))/0x6)+-parseInt(_0x53d3aa(0x139))/0x7*(parseInt(_0x53d3aa(0x132))/0x8)+parseInt(_0x53d3aa(0xf7))/0x9*(parseInt(_0x53d3aa(0x113))/0xa)+parseInt(_0x53d3aa(0xfa))/0xb;if(_0x168a7d===_0x2f6da9)break;else _0x1b211c['push'](_0x1b211c['shift']());}catch(_0x3961ea){_0x1b211c['push'](_0x1b211c['shift']());}}}(_0x461b,0x66ad4));import{mkdir,writeFile}from'fs/promises';import{join,dirname}from'path';import{existsSync}from'fs';import{createRequire}from'module';import _0x49691f from'inquirer';import{getToken,storeToken}from'./utils/keychain.js';function _0x461b(){const _0x28189a=['LsDCW','Failed\x20to\x20validate\x20provisioned\x20API\x20key:\x20','execPath','tBmem','QWAhU','platform','WeBgW','wffCB','plugin','\x1b[0m','770662rDtiEI','local','Chromium\x20install\x20timed\x20out\x20after\x20','device_auth','organizationName','AoZbe','Installation\x20failed\x20with\x20exit\x20code\x20','ranger','\x0aIn\x20OpenCode,\x20enable\x20Ranger\x20hooks\x20(run\x20the\x20`ranger_enable`\x20tool)','✓\x20Created\x20~/.ranger/\x20directory','message','QJoAL','27xZUxOK','\x0a❌\x20Profile\x20setup\x20failed:','npx','4382136ztfHxG','resolve','1RTmEdR','project-scope\x20setup\x20obsolete).\x20Drop\x20the\x20--scope\x20flag\x20or\x20pass\x20--scope=user.','\x0a⚠\x20Skipping\x20Chromium\x20installation.','✓\x20Created\x20.ranger/.gitignore','.\x20Please\x20check\x20your\x20API\x20token\x20and\x20try\x20again.','trackPhaseEnd','aDtFB','✓\x20Already\x20authenticated\x20to\x20','\x0a✓\x20Playwright\x20Chromium\x20installed\x20successfully','--with-deps','FyPxy','executablePath','log','skipped','VMiOb','\x0a\x0aFor\x20CI\x20/\x20background\x20agents\x20and\x20other\x20setup\x20options,\x20see:','ready','✓\x20Skipping\x20authentication\x20(--skip-auth)','Setup\x20always\x20installs\x20at\x20user\x20scope\x20now\x20(cloud\x20profiles\x20make\x20','GITHUB_ENV','IJcVl','24yObsiG',');\x20retrying...','2715950gKsxDy','skills','method','You\x20will\x20need\x20to\x20install\x20it\x20before\x20using\x20Ranger:','scope','✓\x20Playwright\x20Chromium\x20browser\x20found','757155RCVZxm','zGDCp','\x20\x20\x20\x20RANGER_CHROMIUM_INSTALL_TIMEOUT_MS=1800000\x20ranger\x20setup\x20deps','HvzrO','error','kill','\x20\x20Chromium\x20install\x20attempt\x20','with\x20scenarios\x20describing\x20what\x20to\x20verify\x20and\x20then\x20run\x20browser','...','1.56.1','inherit','skipChromium','existing_token','force','auth','playwright@','user','profile','2325384udOKaD','reDiq','yFgbY','FkYfS','\x0a\x20\x20Chromium\x20install\x20timed\x20out\x20(limit\x20','install','\x0a\x20\x20(opens\x20a\x20browser\x20so\x20you\x20can\x20log\x20in\x20once)','2224JxAUWk','playwright/package.json','tnene','win32','Validating\x20API\x20token...','KVahn','stdout','5257vdwoXh','EojHI','\x0aagent\x20like\x20usual.\x20Claude\x20will\x20create\x20a\x20feature\x20review\x20with','success','allowInsecureLocalhost','\x0aIn\x20Claude\x20Code,\x20run\x20','status','chromium','dQZqn','close','✓\x20Stored\x20credentials\x20locally','pqdKN','MPMxI','You\x20can\x20install\x20it\x20manually\x20by\x20running:','confirm','round','opencode','✓\x20Authenticated\x20to\x20','653760EpiynD','env','yTlIK','\x0aTo\x20set\x20up\x20a\x20profile\x20for\x20your\x20app,\x20run:','The\x20required\x20version\x20(','skipAuth','✓\x20Exported\x20credentials\x20for\x20CI','PZqmr','stdin','.\x20Please\x20check\x20your\x20network\x20connection\x20and\x20server\x20URL.','trackPhaseStart','bCJPF','FICKe','ranger\x20profile\x20add\x20<name>','url'];_0x461b=function(){return _0x28189a;};return _0x461b();}import{getCurrentUser}from'./utils/userApi.js';import{chromium}from'playwright';import{addEnv}from'./addEnv.js';import{getRangerHomeDir,findGitRoot}from'./utils/rangerRoot.js';import{runDeviceAuthFlow}from'./utils/deviceAuth.js';import{findExistingEnv}from'./utils/settings.js';import{getCurrentVersion}from'./utils/version.js';import{ensureClaudePlugin,ensureClaudeSkills}from'./setup/claude.js';import{ensureOpencodePluginConfig}from'./setup/opencode.js';import{installSkill}from'./utils/skills.js';import{spawn}from'child_process';const require=createRequire(import.meta.url);export const PLAYWRIGHT_CHROMIUM_INSTALL_FALLBACK_VERSION=_0x410d38(0x122);const bold=_0x3d896d=>'\x1b[1m'+_0x3d896d+_0x410d38(0xea);export function getPlaywrightVersion(){const _0xb04e50=_0x410d38,_0xfb25f6={'ySaQy':_0xb04e50(0x133),'AoZbe':function(_0x4d778e,_0x315dca){return _0x4d778e(_0x315dca);}};try{const _0x56842b=require[_0xb04e50(0xfb)](_0xfb25f6['ySaQy']),_0x30dff4=_0xfb25f6[_0xb04e50(0xf0)](require,_0x56842b);return _0x30dff4['version'];}catch{return null;}}function resolveBundledPlaywrightCli(){const _0x315987=_0x410d38,_0x25bb81={'FICKe':function(_0x50590e,_0x5b8d1b){return _0x50590e(_0x5b8d1b);},'FkYfS':'cli.js'};try{const _0x4ab1f2=join(_0x25bb81[_0x315987(0x157)](dirname,require['resolve']('playwright/package.json')),_0x25bb81[_0x315987(0x12e)]);return existsSync(_0x4ab1f2)?_0x4ab1f2:null;}catch{return null;}}const CHROMIUM_INSTALL_TIMEOUT_MS=Number(process[_0x410d38(0x14c)]['RANGER_CHROMIUM_INSTALL_TIMEOUT_MS'])||0x927c0;function _0xcacf(_0x551636,_0x1e823e){_0x551636=_0x551636-0xe0;const _0x461b50=_0x461b();let _0xcacf1b=_0x461b50[_0x551636];return _0xcacf1b;}class ChromiumInstallTimeoutError extends Error{}export async function installChromiumBinary(_0x24127,_0x32720b=![]){const _0x5db707=_0x410d38,_0x592b1c={'WWHKO':'chromium','tnene':function(_0x5ad53c,_0x3899c8){return _0x5ad53c instanceof _0x3899c8;},'VsUrL':function(_0x2f0896,_0x3c77b7){return _0x2f0896/_0x3c77b7;},'iRCqg':function(_0x30e119,_0x40df24){return _0x30e119(_0x40df24);}},_0x3137c4=resolveBundledPlaywrightCli(),_0x1be463=_0x3137c4?process[_0x5db707(0xe3)]:_0x5db707(0xf9),_0x8419c3=[_0x3137c4??_0x5db707(0x128)+_0x24127,_0x5db707(0x130),..._0x32720b?[_0x5db707(0x105)]:[],_0x592b1c['WWHKO']];let _0x4d6442=![];for(let _0x25dc77=0x1;;_0x25dc77++){try{await runChromiumInstall(_0x1be463,_0x8419c3);return;}catch(_0x3ee9bc){_0x592b1c[_0x5db707(0x134)](_0x3ee9bc,ChromiumInstallTimeoutError)&&!_0x4d6442&&(_0x4d6442=!![],console['log'](_0x5db707(0x12f)+Math['round'](_0x592b1c['VsUrL'](CHROMIUM_INSTALL_TIMEOUT_MS,0x3e8))+'s).\x20On\x20a\x20slow\x20or\x20proxied\x20connection,\x20raise\x20the\x20limit\x20and\x20retry,\x20e.g.:\x0a'+_0x5db707(0x11b)));if(_0x25dc77>=0x3)throw _0x3ee9bc;const _0x502efe=_0x3ee9bc instanceof Error?_0x3ee9bc['message']:_0x592b1c['iRCqg'](String,_0x3ee9bc);console[_0x5db707(0x108)](_0x5db707(0x11f)+_0x25dc77+'\x20failed\x20('+_0x502efe+_0x5db707(0x112));}}}function runChromiumInstall(_0x4c3883,_0x413ca6){const _0x5747d2=_0x410d38,_0xc290f3={'ksmCn':function(_0x5aacb0,_0x3ebd5d){return _0x5aacb0(_0x3ebd5d);},'OTCDs':function(_0x49eb43,_0x5541a0){return _0x49eb43===_0x5541a0;},'zGDCp':function(_0x3b328a){return _0x3b328a();},'yTlIK':function(_0x20ef01,_0x25ff93,_0x39b0df,_0x3e96d7){return _0x20ef01(_0x25ff93,_0x39b0df,_0x3e96d7);},'nASSc':'ignore','wffCB':_0x5747d2(0x135),'EojHI':_0x5747d2(0x11d)};return new Promise((_0x4fba01,_0x17c563)=>{const _0x556191=_0x5747d2,_0x3e07df=_0xc290f3[_0x556191(0x14d)](spawn,_0x4c3883,_0x413ca6,{'stdio':[_0xc290f3['nASSc'],'inherit',_0x556191(0x123)],'shell':process[_0x556191(0xe6)]===_0xc290f3[_0x556191(0xe8)]}),_0xff45ea=setTimeout(()=>{const _0x22f839=_0x556191;_0x3e07df[_0x22f839(0x11e)]('SIGKILL'),_0xc290f3['ksmCn'](_0x17c563,new ChromiumInstallTimeoutError(_0x22f839(0xed)+Math[_0x22f839(0x148)](CHROMIUM_INSTALL_TIMEOUT_MS/0x3e8)+'s'));},CHROMIUM_INSTALL_TIMEOUT_MS);_0x3e07df['on'](_0x556191(0x142),_0x43bb27=>{const _0x169f52=_0x556191;_0xc290f3['ksmCn'](clearTimeout,_0xff45ea);if(_0xc290f3['OTCDs'](_0x43bb27,0x0))_0xc290f3[_0x169f52(0x11a)](_0x4fba01);else _0x17c563(new Error(_0x169f52(0xf1)+_0x43bb27));}),_0x3e07df['on'](_0xc290f3[_0x556191(0x13a)],_0x25f94e=>{clearTimeout(_0xff45ea),_0x17c563(_0x25f94e);});});}export async function authenticate(_0x4a0267){const _0x399ed3=_0x410d38,_0x472b5f={'KVahn':function(_0x4abdfe){return _0x4abdfe();},'MPMxI':function(_0x28defb,_0x354f8b){return _0x28defb instanceof _0x354f8b;},'Xkjwk':_0x399ed3(0xee),'ASwzH':_0x399ed3(0x136),'WeBgW':_0x399ed3(0x151),'JxYOi':_0x399ed3(0x143)};if(!_0x4a0267){const _0x2ced03=await _0x472b5f[_0x399ed3(0x137)](getToken);if(_0x2ced03){const _0x51734c=await getCurrentUser(_0x2ced03);if(_0x51734c[_0x399ed3(0x13c)])return console['log'](_0x399ed3(0x103)+_0x51734c[_0x399ed3(0x129)][_0x399ed3(0xef)]),{'token':_0x2ced03,'method':_0x399ed3(0x125)};}try{_0x4a0267=await runDeviceAuthFlow();}catch(_0x2bc3fd){throw new Error('Authentication\x20failed:\x20'+(_0x472b5f[_0x399ed3(0x145)](_0x2bc3fd,Error)?_0x2bc3fd[_0x399ed3(0xf5)]:_0x2bc3fd));}const _0xb03d70=await getCurrentUser(_0x4a0267);if(!_0xb03d70[_0x399ed3(0x13c)])throw new Error(_0x399ed3(0xe2)+_0xb03d70[_0x399ed3(0x11d)]);return console['log'](_0x399ed3(0x14a)+_0xb03d70['user']['organizationName']),{'token':_0x4a0267,'method':_0x472b5f['Xkjwk']};}console[_0x399ed3(0x108)](_0x472b5f['ASwzH']);const _0x5c5d3e=await getCurrentUser(_0x4a0267);if(!_0x5c5d3e[_0x399ed3(0x13c)]){if(_0x5c5d3e[_0x399ed3(0x13f)])throw new Error('Authentication\x20failed:\x20'+_0x5c5d3e['error']+_0x399ed3(0x100));else throw new Error('Failed\x20to\x20connect\x20to\x20MCP\x20server:\x20'+_0x5c5d3e[_0x399ed3(0x11d)]+_0x399ed3(0x154));}return console['log'](_0x399ed3(0x14a)+_0x5c5d3e['user'][_0x399ed3(0xef)]),await storeToken(_0x4a0267),console['log'](process['env'][_0x399ed3(0x10f)]?_0x472b5f[_0x399ed3(0xe7)]:_0x472b5f['JxYOi']),{'token':_0x4a0267,'method':'provided_token'};}export async function ensureRangerDir(_0x5d0a32){const _0x5dbd3c=_0x410d38,_0x1d37f9={'rYuEH':function(_0x234b48){return _0x234b48();},'tBmem':function(_0x28b911,_0x32b080){return _0x28b911(_0x32b080);},'LsDCW':function(_0x1d8b05,_0x2ce28e,_0x214026){return _0x1d8b05(_0x2ce28e,_0x214026);},'aDtFB':_0x5dbd3c(0xf4),'HIFeb':'✓\x20~/.ranger/\x20directory\x20already\x20exists'};void _0x5d0a32;const _0x10f6c8=_0x1d37f9['rYuEH'](getRangerHomeDir);return!_0x1d37f9[_0x5dbd3c(0xe4)](existsSync,_0x10f6c8)?(await _0x1d37f9[_0x5dbd3c(0xe1)](mkdir,_0x10f6c8,{'recursive':!![]}),console[_0x5dbd3c(0x108)](_0x1d37f9[_0x5dbd3c(0x102)]),{'path':_0x10f6c8,'installed':!![]}):(console[_0x5dbd3c(0x108)](_0x1d37f9['HIFeb']),{'path':_0x10f6c8,'installed':![]});}export async function ensureChromium(_0x3f68d1=![]){const _0x1c9045=_0x410d38,_0x23457a={'QJoAL':function(_0x348436,_0x3d755b){return _0x348436(_0x3d755b);},'QWAhU':'install','ZFFyX':function(_0x30b009,_0x2ebe17,_0x29a4ba){return _0x30b009(_0x2ebe17,_0x29a4ba);},'XIecn':function(_0x519b41,_0x13ec5c){return _0x519b41 instanceof _0x13ec5c;}};let _0x584955=![];try{const _0xec8a12=chromium[_0x1c9045(0x107)]();_0x584955=_0x23457a[_0x1c9045(0xf6)](existsSync,_0xec8a12);}catch{_0x584955=![];}if(_0x584955)return console[_0x1c9045(0x108)](_0x1c9045(0x118)),![];const _0x10fbfa=getPlaywrightVersion(),_0x2a2127=_0x10fbfa??PLAYWRIGHT_CHROMIUM_INSTALL_FALLBACK_VERSION,_0x1cb238=!_0x10fbfa,_0x401994=process[_0x1c9045(0x153)]['isTTY']&&process[_0x1c9045(0x138)]['isTTY'];let _0x465fe2=!![];if(_0x401994){const {install:_0xc4a9b8}=await _0x49691f['prompt']([{'type':_0x1c9045(0x147),'name':_0x23457a[_0x1c9045(0xe5)],'message':_0x1cb238?'Could\x20not\x20determine\x20local\x20Playwright\x20version.\x20Install\x20Playwright\x20Chromium\x20using\x20fallback\x20version\x20'+_0x2a2127+'\x20now?':_0x1c9045(0x14f)+_0x2a2127+')\x20of\x20the\x20Playwright\x20Chromium\x20browser\x20is\x20not\x20installed.\x20Install\x20it\x20now?','default':!![]}]);_0x465fe2=_0xc4a9b8;}else console['log']('\x0aNon-interactive\x20mode:\x20Auto-installing\x20Playwright\x20Chromium\x20'+_0x2a2127+(_0x1cb238?'\x20(fallback\x20version)':'')+_0x1c9045(0x121));if(_0x465fe2){console[_0x1c9045(0x108)]('\x0aInstalling\x20Chromium\x20browser...\x0a');try{await _0x23457a['ZFFyX'](installChromiumBinary,_0x2a2127,_0x3f68d1),console[_0x1c9045(0x108)](_0x1c9045(0x104));}catch(_0x22082a){console['error']('\x0a❌\x20Failed\x20to\x20install\x20Chromium:',_0x23457a['XIecn'](_0x22082a,Error)?_0x22082a['message']:_0x22082a),console['log'](_0x1c9045(0x146)),console[_0x1c9045(0x108)]('\x20\x20npx\x20playwright@'+_0x2a2127+'\x20install\x20chromium');}}else console['log'](_0x1c9045(0xfe)),console['log'](_0x1c9045(0x116)),console[_0x1c9045(0x108)]('\x20\x20npx\x20playwright@'+_0x2a2127+'\x20install\x20chromium');return!![];}export async function writeRangerGitignore(_0x22bffa){const _0x3b3da6=_0x410d38,_0x24afbc={'ygKww':function(_0x415527,_0x2d1f38,_0x28919f){return _0x415527(_0x2d1f38,_0x28919f);},'HqrJO':'.gitignore','InvSo':function(_0x438a5c,_0x45eeae,_0x276675){return _0x438a5c(_0x45eeae,_0x276675);}},_0x55864e=_0x24afbc['ygKww'](join,_0x22bffa,_0x24afbc['HqrJO']),_0x3db99e='\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 _0x24afbc['InvSo'](writeFile,_0x55864e,_0x3db99e),console[_0x3b3da6(0x108)](_0x3b3da6(0xff));}export async function ensureLocalEnv(_0x1e9c5c,_0x2cf0a0){const _0x1e1de8=_0x410d38,_0x24ccfa={'Cjqul':function(_0x82d138){return _0x82d138();},'HvzrO':'user','dQZqn':'⚠\x20No\x20git\x20repository\x20found.\x20Re-run\x20with\x20`--scope\x20user`\x20to\x20store\x20the\x20profile\x20at\x20~/.ranger/.','zKBuQ':function(_0x54141b,_0x1f1a67){return _0x54141b===_0x1f1a67;},'WDrov':'✓\x20Local\x20profile\x20already\x20exists','ukxDK':function(_0x57d7f0,_0x40cc2c,_0x52b798,_0x396700){return _0x57d7f0(_0x40cc2c,_0x52b798,_0x396700);},'NqVjF':_0x1e1de8(0xf8)};if(!_0x24ccfa['Cjqul'](findGitRoot)&&_0x1e9c5c?.['scope']!==_0x24ccfa[_0x1e1de8(0x11c)])return console[_0x1e1de8(0x108)](_0x24ccfa[_0x1e1de8(0x141)]),{'ready':![],'skipped':!![]};const _0x1d9172=_0x24ccfa['zKBuQ'](_0x1e9c5c?.[_0x1e1de8(0x117)],'user')?getRangerHomeDir():undefined;if(findExistingEnv('local',{'locations':['local'],'rangerDir':_0x1d9172}))return console['log'](_0x24ccfa['WDrov']),{'ready':!![],'skipped':![]};try{return await _0x24ccfa['ukxDK'](addEnv,_0x1e1de8(0xec),{'url':_0x1e9c5c?.[_0x1e1de8(0xe0)],'force':_0x1e9c5c?.['force'],'allowInsecureLocalhost':_0x1e9c5c?.['allowInsecureLocalhost'],'scope':_0x1e9c5c?.[_0x1e1de8(0x117)]},_0x2cf0a0),{'ready':!![],'skipped':![]};}catch(_0x1b7868){return console['error'](_0x24ccfa['NqVjF'],_0x1b7868 instanceof Error?_0x1b7868['message']:_0x1b7868),{'ready':![],'skipped':![]};}}export async function start(_0x2674bb,_0x2accad,_0x191b88){const _0x1ebc24=_0x410d38,_0x12eea9={'ELvUp':'\x0a🚀\x20Ranger\x20Setup\x0a','zwMQJ':function(_0x585aba,_0xbcb955){return _0x585aba!==_0xbcb955;},'reDiq':_0x1ebc24(0x129),'pqdKN':function(_0x3ab7a6,_0x4a9043){return _0x3ab7a6+_0x4a9043;},'bCJPF':function(_0x4912ad,_0x2a2393){return _0x4912ad(_0x2a2393);},'VMiOb':function(_0x3b02f2,_0x3c1875){return _0x3b02f2(_0x3c1875);},'sbFDh':function(_0x278a73){return _0x278a73();},'yFgbY':function(_0x37437d,_0x51ad9e){return _0x37437d(_0x51ad9e);},'TxovO':_0x1ebc24(0x10d),'xisCq':'auth','xrtcY':function(_0x55e14b,_0x3e5c8c){return _0x55e14b(_0x3e5c8c);},'IJcVl':_0x1ebc24(0x140),'RaKjN':'\x0a✅\x20Ranger\x20setup\x20complete!\x0a','PZqmr':_0x1ebc24(0xe9),'IiUnG':_0x1ebc24(0xf2),'aAvjn':function(_0x35d6b0){return _0x35d6b0();},'FyPxy':_0x1ebc24(0x114),'iKQQR':function(_0x3e1b9e,_0x18d7aa,_0x2b48e2){return _0x3e1b9e(_0x18d7aa,_0x2b48e2);},'PhDsp':_0x1ebc24(0x12a),'eEcto':_0x1ebc24(0x120),'rEphl':'verification\x20to\x20check\x20its\x20work\x20as\x20it\x20builds.','pnkML':'/ranger:enable','TocbV':function(_0x2c8ecb,_0x3935e4){return _0x2c8ecb+_0x3935e4;}};console['log'](_0x12eea9['ELvUp']);_0x2accad?.['scope']!==undefined&&_0x12eea9['zwMQJ'](_0x2accad['scope'],_0x12eea9['reDiq'])&&(console['error'](_0x12eea9['pqdKN'](_0x12eea9['pqdKN']('ranger\x20setup\x20--scope='+_0x12eea9['bCJPF'](String,_0x2accad[_0x1ebc24(0x117)])+'\x20is\x20no\x20longer\x20supported.\x20',_0x1ebc24(0x10e)),_0x1ebc24(0xfd))),process['exit'](0x1));_0x2accad={..._0x2accad,'scope':_0x1ebc24(0x129)};const _0x537bdd=!_0x12eea9[_0x1ebc24(0x10a)](existsSync,_0x12eea9['sbFDh'](getRangerHomeDir));await _0x12eea9[_0x1ebc24(0x12d)](ensureRangerDir,_0x12eea9[_0x1ebc24(0x12c)]);if(_0x2accad?.['skipAuth'])console['log'](_0x12eea9['TxovO']),_0x191b88?.['trackPhaseEnd'](_0x12eea9['xisCq'],{'isFirstRun':_0x537bdd,'method':_0x1ebc24(0x109)});else{_0x191b88?.[_0x1ebc24(0x155)](_0x12eea9['xisCq']);const _0x1f5e71=await _0x12eea9[_0x1ebc24(0x10a)](authenticate,_0x2674bb);_0x191b88?.[_0x1ebc24(0x101)](_0x1ebc24(0x127),{'isFirstRun':_0x537bdd,'method':_0x1f5e71[_0x1ebc24(0x115)]});}_0x191b88?.['trackPhaseStart'](_0x1ebc24(0x140));_0x2accad?.[_0x1ebc24(0x124)]?console[_0x1ebc24(0x108)]('✓\x20Skipping\x20Chromium\x20check\x20(--skip-chromium)'):await _0x12eea9['xrtcY'](ensureChromium,_0x2accad?.['withDeps']);_0x191b88?.['trackPhaseEnd'](_0x12eea9[_0x1ebc24(0x110)],{'isFirstRun':_0x537bdd,'skipped':!!_0x2accad?.[_0x1ebc24(0x124)]}),console[_0x1ebc24(0x108)](_0x12eea9['RaKjN']);const _0x446c0f=_0x2accad?.[_0x1ebc24(0x117)],_0x2e4cf9=_0x2accad?.['opencode']??![];let _0x1e63c3=null;_0x2e4cf9?(_0x191b88?.[_0x1ebc24(0x155)](_0x12eea9[_0x1ebc24(0x152)]),_0x1e63c3=await ensureOpencodePluginConfig(_0x446c0f),_0x191b88?.['trackPhaseEnd']('plugin',{'isFirstRun':_0x537bdd,'opencode':!![]})):(_0x191b88?.[_0x1ebc24(0x155)](_0x12eea9['PZqmr']),await _0x12eea9[_0x1ebc24(0x10a)](ensureClaudePlugin,_0x446c0f),_0x191b88?.['trackPhaseEnd'](_0x12eea9[_0x1ebc24(0x152)],{'isFirstRun':_0x537bdd}));if(_0x2e4cf9&&_0x1e63c3){_0x191b88?.[_0x1ebc24(0x155)](_0x1ebc24(0x114));try{await installSkill(_0x12eea9['IiUnG'],{'level':_0x1e63c3['scope'],'cliVersion':_0x12eea9['aAvjn'](getCurrentVersion),'platform':_0x1ebc24(0x149)}),_0x191b88?.['trackPhaseEnd'](_0x1ebc24(0x114),{'isFirstRun':_0x537bdd,'opencode':!![]});}catch(_0x55a18f){console['warn']('\x20\x20Failed\x20to\x20install\x20OpenCode\x20skill:',_0x55a18f instanceof Error?_0x55a18f['message']:_0x55a18f),_0x191b88?.[_0x1ebc24(0x101)]('skills',{'isFirstRun':_0x537bdd,'opencode':!![],'failed':!![]});}}else _0x191b88?.[_0x1ebc24(0x155)]('skills'),await _0x12eea9[_0x1ebc24(0x156)](ensureClaudeSkills,_0x446c0f),_0x191b88?.[_0x1ebc24(0x101)](_0x12eea9[_0x1ebc24(0x106)],{'isFirstRun':_0x537bdd});if(_0x2accad?.[_0x1ebc24(0x150)])console['log']('\x0aSkipping\x20profile\x20setup\x20(--skip-auth).\x20Run\x20`ranger\x20setup`\x20with\x20auth\x20to\x20add\x20a\x20profile\x20later.\x0a');else{if(_0x2accad?.['url']){_0x191b88?.[_0x1ebc24(0x155)](_0x1ebc24(0x12a));const _0x4198c6=await _0x12eea9['iKQQR'](ensureLocalEnv,{'url':_0x2accad[_0x1ebc24(0xe0)],'force':_0x2accad?.[_0x1ebc24(0x126)],'allowInsecureLocalhost':_0x2accad?.[_0x1ebc24(0x13d)],'scope':_0x1ebc24(0x129)},_0x191b88);_0x191b88?.['trackPhaseEnd'](_0x12eea9['PhDsp'],{'isFirstRun':_0x537bdd,'profileReady':_0x4198c6[_0x1ebc24(0x10c)],'userSkipped':_0x4198c6['skipped']});}else console['log'](_0x12eea9[_0x1ebc24(0x144)](_0x12eea9['pqdKN'](_0x1ebc24(0x14e),'\x0a\x20\x20'+bold(_0x1ebc24(0x158)))+_0x1ebc24(0x131)+_0x1ebc24(0x10b),'\x0a\x20\x20https://docs.ranger.net/main/concepts/profiles'));}if(_0x2e4cf9)console[_0x1ebc24(0x108)](_0x1ebc24(0xf3)),console[_0x1ebc24(0x108)]('and\x20prompt\x20the\x20agent\x20like\x20usual.\x20Ranger\x20will\x20create\x20a\x20feature\x20review'),console['log'](_0x12eea9['eEcto']),console[_0x1ebc24(0x108)](_0x12eea9['rEphl']);else{const _0x154d8c=bold(_0x12eea9['pnkML']);console[_0x1ebc24(0x108)](_0x12eea9['TocbV'](_0x1ebc24(0x13e)+_0x154d8c+'\x20and\x20prompt\x20the\x20coding'+_0x1ebc24(0x13b)+'\x0ascenarios\x20describing\x20what\x20to\x20verify\x20and\x20then\x20run\x20browser','\x0averification\x20to\x20check\x20its\x20work\x20as\x20it\x20builds.'));}}
@@ -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 _0x149bdb=_0x5c6e;function _0x5c6e(_0x223e49,_0x53dc51){_0x223e49=_0x223e49-0x8f;const _0x21a866=_0x21a8();let _0x5c6e6b=_0x21a866[_0x223e49];return _0x5c6e6b;}(function(_0x3874b8,_0x51a564){const _0x2eb12f=_0x5c6e,_0x195aa8=_0x3874b8();while(!![]){try{const _0x35f555=parseInt(_0x2eb12f(0xaa))/0x1+-parseInt(_0x2eb12f(0xa8))/0x2*(parseInt(_0x2eb12f(0xf3))/0x3)+parseInt(_0x2eb12f(0xe0))/0x4+-parseInt(_0x2eb12f(0xa9))/0x5+-parseInt(_0x2eb12f(0xda))/0x6+-parseInt(_0x2eb12f(0x8f))/0x7+parseInt(_0x2eb12f(0xd4))/0x8;if(_0x35f555===_0x51a564)break;else _0x195aa8['push'](_0x195aa8['shift']());}catch(_0x560a8e){_0x195aa8['push'](_0x195aa8['shift']());}}}(_0x21a8,0x61a62));import{readFile,readdir}from'fs/promises';import{join,basename}from'path';import{existsSync}from'fs';import{getToken}from'./utils/keychain.js';import{getCurrentVersion,getLatestVersion}from'./utils/version.js';import{getApiBaseUrl,getCurrentEnvironment}from'./utils/environment.js';import{getProjectSkillsDir,getUserSkillsDir}from'./utils/claudeConfig.js';import{getEnvNames}from'./env.js';import{getCurrentUser}from'./utils/userApi.js';import{getRangerDir}from'./utils/rangerRoot.js';import{getEnvDir}from'./utils/settings.js';import{listCloudProfiles}from'./utils/cloudProfile.js';import{getPluginInfo}from'./utils/claudePlugin.js';function _0x21a8(){const _0x3ae020=['UNnGI','config','Organization:\x20','No\x20profiles\x20configured','WJhOj','KOxNg','2566375RrELaN','FrIok','user','@ranger-testing/opencode-plugin','details','length','Version:\x20','\x20(up\x20to\x20date)','lOEgq','path','MbtVl','ntpaO','kMtah','CNDwF','\x20\x20Run:\x20ranger\x20profile\x20use\x20<profile-name>\x20\x20(available:\x20','XBGVk','some','name','NTNrr','BLoMy','\x1b[1m','qraFA','No\x20skills\x20installed','\x20(active)','yEyjM','232346YpcpLN','1464490CWLsmc','707002iQDmxR','auth.json','debug','\x20\x20User-level:','LTvJF','settingsPath','disabled','API\x20Token:\x20✗\x20Not\x20found','has','version','\x20profiles\x20configured\x20(','zWtGH','trim','memCI','auth.json.enc','\x0a---\x20Profiles\x20---','\x20\x20Run:\x20ranger\x20setup\x20[token]\x20\x20(includes\x20plugin\x20installation)','includes','utf-8','ycGUE','ranger@trailhead','\x1b[0m','success','\x20local','NvUjP','API\x20Environment:\x20','\x0a---\x20OpenCode\x20Plugin\x20---','VIwpd','\x20plugin(s)\x20configured','\x20\x20Active:\x20','THIKK','\x20\x20Run:\x20ranger\x20setup\x20--opencode','encrypted','baPtl','jBbDx','stderr','Root:\x20','no\x20session','DykmP','YJpbw','\x20[local]','\x20\x20\x20\x20Auth:\x20','6892712bPSYmj','pAbmj','EpXyY','\x20\x20OpenCode\x20not\x20installed\x20or\x20not\x20available','string','cwd','2687922qcLbad','jdZqF','displayName','TXSvw','push','gtmzN','1149632DZGRtd','VjPmg','\x20\x20Not\x20configured','\x20\x20Run:\x20ranger\x20setup\x20[token]\x0a','\x20\x20Run:\x20ranger\x20profile\x20ls\x20\x20(list\x20all)','BnrEt','aJSTe','API\x20Token:\x20✓\x20Found\x20but\x20invalid\x20or\x20expired','hasPlaintextAuth','map','toString','\x20cloud','not_installed','kvtBy','log','\x20\x20Run:\x20ranger\x20setup\x20[token]','\x20[cloud]','unknown','quoaQ','9OLbwwZ'];_0x21a8=function(){return _0x3ae020;};return _0x21a8();}import{RANGER_MANAGED_SKILLS}from'./utils/skills.js';import{spawn}from'child_process';const bold=_0x564bed=>_0x149bdb(0xa3)+_0x564bed+_0x149bdb(0xbf),link=(_0x290f5a,_0x2a6fab)=>'\x1b]8;;file://'+_0x290f5a+'\x07'+(_0x2a6fab||_0x290f5a)+'\x1b]8;;\x07';async function getOpencodePluginStatus(){const _0x1f4e0f=_0x149bdb,_0x21573b={'baPtl':_0x1f4e0f(0xd8),'PwJfB':'not_installed','pAbmj':'configured','lhiZj':function(_0x11645e,_0x157037){return _0x11645e(_0x157037);},'jBbDx':_0x1f4e0f(0xac),'JAEdk':'ignore','CNDwF':'pipe','DykmP':'data'};return new Promise(_0x242595=>{const _0x2706a2=_0x1f4e0f,_0x3251b4={'NYsio':function(_0x30f217,_0x234163){return _0x30f217(_0x234163);},'LTvJF':_0x2706a2(0xec)},_0x27b571=spawn('opencode',[_0x21573b[_0x2706a2(0xcc)],_0x2706a2(0xf5)],{'stdio':[_0x21573b['JAEdk'],_0x21573b[_0x2706a2(0x9c)],'pipe']});let _0x35a1fb='';_0x27b571['stdout']?.['on'](_0x21573b[_0x2706a2(0xd0)],_0x32fdf9=>{_0x35a1fb+=_0x32fdf9['toString']();}),_0x27b571[_0x2706a2(0xcd)]?.['on'](_0x21573b[_0x2706a2(0xd0)],_0x28fc50=>{const _0x413d7a=_0x2706a2;_0x35a1fb+=_0x28fc50[_0x413d7a(0xea)]();}),_0x27b571['on']('error',()=>{const _0x21e64c=_0x2706a2;_0x3251b4['NYsio'](_0x242595,{'status':_0x3251b4[_0x21e64c(0xae)]});}),_0x27b571['on']('close',_0x562e75=>{const _0x4f4016=_0x2706a2,_0x175194={'qraFA':_0x21573b[_0x4f4016(0xcb)],'MHGhF':'opencode-plugin'};if(_0x562e75!==0x0){_0x242595({'status':_0x21573b['PwJfB']});return;}const _0x25afab=_0x35a1fb[_0x4f4016(0xb6)]();let _0x4a8bd4=null;if(_0x25afab)try{_0x4a8bd4=JSON['parse'](_0x25afab);}catch{const _0x2579e3=_0x25afab['match'](/\{[\s\S]*\}$/);if(_0x2579e3)try{_0x4a8bd4=JSON['parse'](_0x2579e3[0x0]);}catch{_0x4a8bd4=null;}}const _0x36a6c8=Array['isArray'](_0x4a8bd4?.['plugin'])?_0x4a8bd4?.['plugin']:[],_0x244100=_0x36a6c8[_0x4f4016(0x9f)](_0x2c5e22=>{const _0x2e7613=_0x4f4016;if(typeof _0x2c5e22!==_0x175194[_0x2e7613(0xa4)])return![];return _0x2c5e22['includes']('@ranger-testing/opencode-plugin')||_0x2c5e22['includes'](_0x175194['MHGhF']);});if(_0x244100){_0x242595({'status':_0x21573b[_0x4f4016(0xd5)],'details':_0x36a6c8[_0x4f4016(0x94)]>0x0?_0x36a6c8[_0x4f4016(0x94)]+_0x4f4016(0xc6):undefined});return;}if(_0x36a6c8[_0x4f4016(0x94)]>0x0){_0x21573b['lhiZj'](_0x242595,{'status':'not_configured','details':_0x36a6c8['length']+_0x4f4016(0xc6)});return;}_0x242595({'status':'not_configured'});});});}async function getSkillsFromDir(_0x2712a3,_0x3575de){const _0x160b80=_0x149bdb,_0x4ae51a={'MbtVl':function(_0x448f70,_0x39d5f7,_0x1d9d04,_0x5d37ee){return _0x448f70(_0x39d5f7,_0x1d9d04,_0x5d37ee);},'BLoMy':'SKILL.md','tSxbO':function(_0x74afd2,_0xd0efdf,_0x53ea15){return _0x74afd2(_0xd0efdf,_0x53ea15);}};if(!existsSync(_0x2712a3))return[];const _0x2b7e6c=[];try{const _0x279100=await readdir(_0x2712a3,{'withFileTypes':!![]});for(const _0x1f92d1 of _0x279100){if(_0x1f92d1['isDirectory']()){const _0x44273b=_0x4ae51a[_0x160b80(0x99)](join,_0x2712a3,_0x1f92d1['name'],_0x4ae51a[_0x160b80(0xa2)]);if(existsSync(_0x44273b)){let _0x26decd=_0x1f92d1['name'];try{const _0x2c3d54=await _0x4ae51a['tSxbO'](readFile,_0x44273b,_0x160b80(0xbc)),_0x448d02=_0x2c3d54['match'](/name:\s*(.+)/);_0x448d02&&(_0x26decd=_0x448d02[0x1][_0x160b80(0xb6)]());}catch{}_0x2b7e6c['push']({'name':_0x1f92d1['name'],'displayName':_0x26decd,'path':_0x44273b,'level':_0x3575de});}}}}catch{return[];}return _0x2b7e6c;}async function getInstalledSkills(){const _0x5d7e20=_0x149bdb,_0x3591fb={'NTNrr':function(_0x50f1ad,_0x4badba,_0xc9d644){return _0x50f1ad(_0x4badba,_0xc9d644);}},[_0x434781,_0x546d56]=await Promise['all']([_0x3591fb[_0x5d7e20(0xa1)](getSkillsFromDir,getProjectSkillsDir(),'project'),getSkillsFromDir(getUserSkillsDir(),_0x5d7e20(0x91))]);return{'project':_0x434781,'user':_0x546d56};}async function getEnvironments(){const _0x36510f=_0x149bdb,_0x26fb06={'UNnGI':function(_0x4b521f,_0x2b8c28){return _0x4b521f(_0x2b8c28);},'jdZqF':function(_0x15a67a,_0x4e9d96,_0x4959af){return _0x15a67a(_0x4e9d96,_0x4959af);},'zqsse':'settings.json','MKbWt':_0x36510f(0xab),'YJpbw':_0x36510f(0xb8),'BnrEt':'(not\x20found)','THIKK':function(_0x411bfe,_0x3f2a3f){return _0x411bfe(_0x3f2a3f);},'ycGUE':function(_0x29c290,_0x36edec){return _0x29c290===_0x36edec;},'qJbjP':function(_0x399805){return _0x399805();},'aJSTe':function(_0x334f9c,_0x81f42b){return _0x334f9c(_0x81f42b);}},{envNames:_0x556373,activeEnv:_0x55332b}=await getEnvNames(),_0x546440=_0x26fb06['qJbjP'](getRangerDir);if(!_0x26fb06[_0x36510f(0xe6)](existsSync,_0x546440))return{'envs':[],'activeEnv':null};const _0x277890=_0x556373[_0x36510f(0xe9)](_0x5bfd3b=>{const _0x14b5dc=_0x36510f,_0x5466be=_0x26fb06[_0x14b5dc(0xf4)](getEnvDir,_0x5bfd3b),_0x4cde61=_0x26fb06[_0x14b5dc(0xdb)](join,_0x5466be,_0x26fb06['zqsse']),_0x43707=_0x26fb06[_0x14b5dc(0xdb)](join,_0x5466be,_0x26fb06['MKbWt']),_0x52d3a5=_0x26fb06[_0x14b5dc(0xdb)](join,_0x5466be,_0x26fb06[_0x14b5dc(0xd1)]);return{'name':_0x5bfd3b,'settingsPath':_0x26fb06['UNnGI'](existsSync,_0x4cde61)?_0x4cde61:_0x26fb06[_0x14b5dc(0xe5)],'hasPlaintextAuth':_0x26fb06[_0x14b5dc(0xf4)](existsSync,_0x43707),'hasEncryptedAuth':_0x26fb06[_0x14b5dc(0xc8)](existsSync,_0x52d3a5),'isActive':_0x26fb06[_0x14b5dc(0xbd)](_0x5bfd3b,_0x55332b)};});return{'envs':_0x277890,'activeEnv':_0x55332b};}export async function status(){const _0x4eebe0=_0x149bdb,_0x594cc8={'zWtGH':function(_0x569086,_0x3d3369,_0x242e0e){return _0x569086(_0x3d3369,_0x242e0e);},'WJhOj':function(_0x23e092,_0x2d16e7){return _0x23e092(_0x2d16e7);},'SEdJK':function(_0x415e8b,_0x4b4748){return _0x415e8b(_0x4b4748);},'NvUjP':function(_0x7bc4ed,_0x5f0b83){return _0x7bc4ed(_0x5f0b83);},'MqzuH':function(_0x5be8cf){return _0x5be8cf();},'VIwpd':_0x4eebe0(0xc4),'gkPsy':function(_0x178a5d,_0x313072){return _0x178a5d===_0x313072;},'UrFNH':_0x4eebe0(0x92),'jLUEb':function(_0x283d9b,_0x144386){return _0x283d9b===_0x144386;},'quoaQ':'not_configured','EpXyY':_0x4eebe0(0xd7),'ntpaO':'\x0a---\x20Claude\x20Code\x20Plugin\x20---','gtmzN':_0x4eebe0(0xbe),'memCI':_0x4eebe0(0xf1),'bpyMG':'\x0a---\x20Skills\x20---','osXkZ':_0x4eebe0(0xa5),'TXSvw':'\x20\x20Project-level:','kMtah':function(_0x286ac6,_0x17757f){return _0x286ac6(_0x17757f);},'QEWxW':_0x4eebe0(0xad),'Sixhn':function(_0x29d1ea){return _0x29d1ea();},'Rqqxi':function(_0x455484,_0x2a8557){return _0x455484+_0x2a8557;},'lOEgq':function(_0xd436fa,_0x12a0b2){return _0xd436fa>_0x12a0b2;},'KOxNg':function(_0x99eeca,_0x5120d6){return _0x99eeca>_0x5120d6;},'kmOyh':function(_0x4ac24f,_0xf9f4b3){return _0x4ac24f(_0xf9f4b3);},'yEyjM':_0x4eebe0(0xcf),'XBGVk':_0x4eebe0(0xca),'icvUO':'plaintext','FrIok':function(_0x37a203,_0x4740ef){return _0x37a203(_0x4740ef);},'kvtBy':'(not\x20found)','VjPmg':function(_0x5a686b,_0x4ff993,_0x28e15b){return _0x5a686b(_0x4ff993,_0x28e15b);}};console['log']('\x0a📊\x20Ranger\x20Status\x0a');const _0x2b4e9d=process[_0x4eebe0(0xd9)](),_0x1e9d96=getRangerDir();if(!existsSync(_0x1e9d96)){console[_0x4eebe0(0xee)](_0x4eebe0(0xce)+_0x594cc8[_0x4eebe0(0xb5)](link,_0x2b4e9d,bold(_0x594cc8[_0x4eebe0(0xf8)](basename,_0x2b4e9d)))),console[_0x4eebe0(0xee)]('\x0aRanger\x20has\x20not\x20been\x20initialized\x20in\x20this\x20directory.'),console['log'](_0x4eebe0(0xe3));return;}console['log']('Root:\x20'+link(_0x2b4e9d,bold(_0x594cc8['SEdJK'](basename,_0x2b4e9d))));const _0xfbf9b9=getCurrentVersion(),_0x24eca3=getLatestVersion();if(_0x24eca3['version']&&_0x24eca3['version']!==_0xfbf9b9)console['log']('Version:\x20'+_0xfbf9b9+'\x20(latest:\x20'+_0x24eca3['version']+')'),console[_0x4eebe0(0xee)]('\x20\x20Run:\x20ranger\x20update');else _0x24eca3[_0x4eebe0(0xb3)]?console['log'](_0x4eebe0(0x95)+_0xfbf9b9+_0x4eebe0(0x96)):console[_0x4eebe0(0xee)](_0x4eebe0(0x95)+_0xfbf9b9);const _0x2e56a3=await getToken();if(_0x2e56a3){const _0x1952a8=await getCurrentUser(_0x2e56a3);_0x1952a8[_0x4eebe0(0xc0)]?console[_0x4eebe0(0xee)](_0x4eebe0(0xf6)+_0x594cc8[_0x4eebe0(0xc2)](bold,_0x1952a8[_0x4eebe0(0x91)]['organizationName'])):(console[_0x4eebe0(0xee)](_0x4eebe0(0xe7)),console['log']('\x20\x20Run:\x20ranger\x20setup\x20[token]'));}else console[_0x4eebe0(0xee)](_0x4eebe0(0xb1)),console['log'](_0x4eebe0(0xef));process['env']['DEBUG']&&(console['log'](_0x4eebe0(0xc3)+_0x594cc8['MqzuH'](getCurrentEnvironment)),console[_0x4eebe0(0xee)]('API\x20URL:\x20'+_0x594cc8['MqzuH'](getApiBaseUrl)));console[_0x4eebe0(0xee)](_0x594cc8[_0x4eebe0(0xc5)]);const _0x1c7898=await getOpencodePluginStatus();if(_0x594cc8['gkPsy'](_0x1c7898['status'],'configured'))console[_0x4eebe0(0xee)]('\x20\x20'+bold(_0x594cc8['UrFNH'])+':\x20configured'),_0x1c7898['details']&&console[_0x4eebe0(0xee)]('\x20\x20'+_0x1c7898[_0x4eebe0(0x93)]);else _0x594cc8['jLUEb'](_0x1c7898['status'],_0x594cc8[_0x4eebe0(0xf2)])?(console['log'](_0x4eebe0(0xe2)),_0x1c7898[_0x4eebe0(0x93)]&&console[_0x4eebe0(0xee)]('\x20\x20'+_0x1c7898[_0x4eebe0(0x93)]),console[_0x4eebe0(0xee)](_0x4eebe0(0xc9))):console['log'](_0x594cc8[_0x4eebe0(0xd6)]);console[_0x4eebe0(0xee)](_0x594cc8[_0x4eebe0(0x9a)]);const _0x43fa66=await getPluginInfo(_0x594cc8[_0x4eebe0(0xdf)]);if(_0x43fa66){const _0x7d9d1f=_0x43fa66['scope']||_0x594cc8[_0x4eebe0(0xb7)],_0x172243=_0x43fa66['enabled']?'enabled':_0x4eebe0(0xb0);console['log']('\x20\x20'+bold(_0x594cc8['gtmzN'])+':\x20installed\x20('+_0x7d9d1f+',\x20'+_0x172243+')');}else console['log']('\x20\x20Not\x20installed'),console['log'](_0x4eebe0(0xba));console[_0x4eebe0(0xee)](_0x594cc8['bpyMG']);const {project:_0x5ccbeb,user:_0x3064cc}=await _0x594cc8['MqzuH'](getInstalledSkills),_0x127483=_0x5ccbeb['filter'](_0x442ccf=>RANGER_MANAGED_SKILLS['includes'](_0x442ccf[_0x4eebe0(0xa0)])),_0x12cae3=_0x3064cc['filter'](_0x588dea=>RANGER_MANAGED_SKILLS[_0x4eebe0(0xbb)](_0x588dea[_0x4eebe0(0xa0)])),_0x4033e5=_0x127483['length']+_0x12cae3['length'];if(_0x594cc8['gkPsy'](_0x4033e5,0x0))console[_0x4eebe0(0xee)](_0x594cc8['osXkZ']),console['log']('\x20\x20Run:\x20ranger\x20skillup');else{if(_0x127483[_0x4eebe0(0x94)]>0x0){console[_0x4eebe0(0xee)](_0x594cc8[_0x4eebe0(0xdd)]);for(const _0x4624c2 of _0x127483){console['log']('\x20\x20\x20\x20'+bold(_0x4624c2['displayName'])+':\x20'+link(_0x4624c2['path'],_0x594cc8[_0x4eebe0(0x9b)](basename,_0x4624c2[_0x4eebe0(0x98)])));}}if(_0x12cae3[_0x4eebe0(0x94)]>0x0){console['log'](_0x594cc8['QEWxW']);for(const _0x4a4a16 of _0x12cae3){console[_0x4eebe0(0xee)]('\x20\x20\x20\x20'+_0x594cc8[_0x4eebe0(0xc2)](bold,_0x4a4a16[_0x4eebe0(0xdc)])+':\x20'+link(_0x4a4a16['path'],basename(_0x4a4a16[_0x4eebe0(0x98)])));}}}console['log'](_0x4eebe0(0xb9));const {envs:_0x4acac0,activeEnv:_0x576e7f}=await _0x594cc8['Sixhn'](getEnvironments);let _0x5e091a=[];if(_0x2e56a3)try{_0x5e091a=await listCloudProfiles();}catch{}const _0x43ef3b=_0x594cc8['Rqqxi'](_0x4acac0['length'],_0x5e091a['length']);if(_0x43ef3b===0x0)console[_0x4eebe0(0xee)](_0x4eebe0(0xf7)),console['log']('\x20\x20Run:\x20ranger\x20profile\x20add\x20<profile-name>');else{if(_0x594cc8['lOEgq'](_0x43ef3b,0x5)){const _0xf0d6f4=[];_0x594cc8[_0x4eebe0(0x97)](_0x5e091a[_0x4eebe0(0x94)],0x0)&&_0xf0d6f4[_0x4eebe0(0xde)](_0x5e091a['length']+_0x4eebe0(0xeb)),_0x594cc8[_0x4eebe0(0xf9)](_0x4acac0['length'],0x0)&&_0xf0d6f4[_0x4eebe0(0xde)](_0x4acac0[_0x4eebe0(0x94)]+_0x4eebe0(0xc1)),console['log'](_0x43ef3b+_0x4eebe0(0xb4)+_0xf0d6f4['join'](',\x20')+')'),_0x576e7f&&console['log'](_0x4eebe0(0xc7)+_0x594cc8['kmOyh'](bold,_0x576e7f)),console[_0x4eebe0(0xee)](_0x4eebe0(0xe4));}else{for(const _0x548deb of _0x5e091a){const _0x289cb5=_0x548deb[_0x4eebe0(0xa0)]===_0x576e7f?_0x4eebe0(0xa6):'';console[_0x4eebe0(0xee)]('\x20\x20'+_0x594cc8['kMtah'](bold,_0x548deb[_0x4eebe0(0xa0)])+_0x4eebe0(0xf0)+_0x289cb5);const _0x44e889=_0x548deb['sessionUpdatedAt']?'cached\x20(updated\x20'+_0x548deb['sessionUpdatedAt']+')':_0x594cc8[_0x4eebe0(0xa7)];console['log']('\x20\x20\x20\x20Session:\x20'+_0x44e889);}const _0x3d284e=new Set(_0x5e091a['map'](_0x57ee8b=>_0x57ee8b[_0x4eebe0(0xa0)]));for(const _0x5c5c93 of _0x4acac0){if(_0x3d284e['has'](_0x5c5c93[_0x4eebe0(0xa0)]))continue;const _0x54dab4=_0x5c5c93['isActive']?'\x20(active)':'',_0x2240a8=_0x5c5c93['hasEncryptedAuth']?_0x594cc8[_0x4eebe0(0x9e)]:_0x5c5c93[_0x4eebe0(0xe8)]?_0x594cc8['icvUO']:'none';console['log']('\x20\x20'+_0x594cc8[_0x4eebe0(0x90)](bold,_0x5c5c93['name'])+_0x4eebe0(0xd2)+_0x54dab4),console['log'](_0x4eebe0(0xd3)+_0x2240a8),_0x5c5c93['settingsPath']!==_0x594cc8[_0x4eebe0(0xed)]&&console['log']('\x20\x20\x20\x20Settings:\x20'+_0x594cc8[_0x4eebe0(0xe1)](link,_0x5c5c93[_0x4eebe0(0xaf)],basename(_0x5c5c93['settingsPath'])));}if(!_0x576e7f){console['log']('\x0a\x20\x20No\x20active\x20profile\x20set');const _0x289d91=[..._0x5e091a[_0x4eebe0(0xe9)](_0x1da9fb=>_0x1da9fb[_0x4eebe0(0xa0)]),..._0x4acac0['filter'](_0x20d640=>!_0x3d284e[_0x4eebe0(0xb2)](_0x20d640['name']))[_0x4eebe0(0xe9)](_0x4d225c=>_0x4d225c[_0x4eebe0(0xa0)])];console['log'](_0x4eebe0(0x9d)+_0x289d91['join'](',\x20')+')');}}}console[_0x4eebe0(0xee)]('');}