@ranger-testing/ranger-cli 3.1.6-alpha.4de822b-51 → 3.1.6-alpha.cbf7608-55

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 (87) 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/build/skills/ranger/SKILL.md +1 -0
  87. package/package.json +14 -5
@@ -1 +1 @@
1
- (function(_0x2a2346,_0x1e9d24){const _0x2b7ad4=_0x19f3,_0x24a3db=_0x2a2346();while(!![]){try{const _0x4b9379=parseInt(_0x2b7ad4(0x1bf))/0x1+parseInt(_0x2b7ad4(0x1be))/0x2+-parseInt(_0x2b7ad4(0x1ca))/0x3+parseInt(_0x2b7ad4(0x1c6))/0x4+-parseInt(_0x2b7ad4(0x1cc))/0x5*(parseInt(_0x2b7ad4(0x1bd))/0x6)+parseInt(_0x2b7ad4(0x1c5))/0x7*(parseInt(_0x2b7ad4(0x1c3))/0x8)+-parseInt(_0x2b7ad4(0x1c2))/0x9;if(_0x4b9379===_0x1e9d24)break;else _0x24a3db['push'](_0x24a3db['shift']());}catch(_0x2281f9){_0x24a3db['push'](_0x24a3db['shift']());}}}(_0x3769,0xcb619));function _0x3769(){const _0x360a9b=['Login\x20requires\x20an\x20interactive\x20terminal.\x20In\x20CI,\x20use:\x20ranger\x20setup\x20[token]\x20or\x20set\x20RANGER_CLI_TOKEN.','Re-authenticating\x20via\x20MCP\x20bootstrap...','IqKQL','3606465HJvRiw','\x0a✅\x20Logged\x20in\x20to\x20','10bHikZh','YYnfR','NgRre','message','747420qzhDWp','942204sxbCiK','1018066OrCKvF','SJpyv','log','13182318khLKQI','16HWotnv','qUDpQ','5074454cZvnPU','3240136omLImA'];_0x3769=function(){return _0x360a9b;};return _0x3769();}import{runDeviceAuthFlow}from'./utils/deviceAuth.js';import{getCurrentUser}from'./utils/userApi.js';import{getMcpAuthOrigin,mcpBootstrap}from'./mcpBootstrap.js';function _0x19f3(_0x29c30f,_0x1cb23b){_0x29c30f=_0x29c30f-0x1bb;const _0x3769e4=_0x3769();let _0x19f3b1=_0x3769e4[_0x29c30f];return _0x19f3b1;}import{isInteractive}from'./utils/cloudProfileSession.js';export async function login(){const _0xe8b9ff=_0x19f3,_0x4afbff={'qUDpQ':function(_0x50cdb1){return _0x50cdb1();},'SDruq':_0xe8b9ff(0x1c8),'SJpyv':function(_0x5f2257){return _0x5f2257();},'YYnfR':function(_0x3cdb10){return _0x3cdb10();},'NgRre':function(_0x24d0db,_0x2c484c){return _0x24d0db(_0x2c484c);},'IqKQL':function(_0x3c0439,_0x553e0d){return _0x3c0439 instanceof _0x553e0d;}},_0x162cee=await _0x4afbff[_0xe8b9ff(0x1c4)](getMcpAuthOrigin);if(_0x162cee){console['log'](_0x4afbff['SDruq']),await _0x4afbff[_0xe8b9ff(0x1c0)](mcpBootstrap);return;}if(!_0x4afbff[_0xe8b9ff(0x1cd)](isInteractive))throw new Error(_0xe8b9ff(0x1c7));try{const _0x58f3b2=await _0x4afbff[_0xe8b9ff(0x1c4)](runDeviceAuthFlow),_0x1cf4f0=await _0x4afbff[_0xe8b9ff(0x1bb)](getCurrentUser,_0x58f3b2);_0x1cf4f0['success']?console['log'](_0xe8b9ff(0x1cb)+_0x1cf4f0['user']['organizationName']):console[_0xe8b9ff(0x1c1)]('\x0a✅\x20API\x20key\x20stored\x20successfully');}catch(_0x337d84){throw new Error('Login\x20failed:\x20'+(_0x4afbff[_0xe8b9ff(0x1c9)](_0x337d84,Error)?_0x337d84[_0xe8b9ff(0x1bc)]:_0x337d84));}}
1
+ (function(_0x5aa521,_0x406223){const _0x598f9b=_0x1b78,_0x568d80=_0x5aa521();while(!![]){try{const _0xa445b4=parseInt(_0x598f9b(0xcf))/0x1*(-parseInt(_0x598f9b(0xde))/0x2)+parseInt(_0x598f9b(0xd4))/0x3+-parseInt(_0x598f9b(0xd3))/0x4+-parseInt(_0x598f9b(0xd9))/0x5*(parseInt(_0x598f9b(0xdd))/0x6)+-parseInt(_0x598f9b(0xd0))/0x7*(-parseInt(_0x598f9b(0xdf))/0x8)+-parseInt(_0x598f9b(0xce))/0x9+parseInt(_0x598f9b(0xd7))/0xa;if(_0xa445b4===_0x406223)break;else _0x568d80['push'](_0x568d80['shift']());}catch(_0x348e36){_0x568d80['push'](_0x568d80['shift']());}}}(_0x5313,0x5c81e));function _0x1b78(_0x254af4,_0x353d53){_0x254af4=_0x254af4-0xce;const _0x5313ec=_0x5313();let _0x1b7892=_0x5313ec[_0x254af4];return _0x1b7892;}import{runDeviceAuthFlow}from'./utils/deviceAuth.js';import{getCurrentUser}from'./utils/userApi.js';import{getMcpAuthOrigin,mcpBootstrap}from'./mcpBootstrap.js';import{isInteractive}from'./utils/cloudProfileSession.js';export async function login(){const _0x517bca=_0x1b78,_0x19edf8={'gfxMr':_0x517bca(0xd6),'Vwgir':function(_0x2ccdb2,_0x137530){return _0x2ccdb2(_0x137530);}},_0x18064c=await getMcpAuthOrigin();if(_0x18064c){console[_0x517bca(0xd2)](_0x19edf8[_0x517bca(0xd1)]),await mcpBootstrap();return;}if(!isInteractive())throw new Error(_0x517bca(0xd8));try{const _0x6c5a3f=await runDeviceAuthFlow(),_0x526943=await _0x19edf8['Vwgir'](getCurrentUser,_0x6c5a3f);_0x526943['success']?console['log']('\x0a✅\x20Logged\x20in\x20to\x20'+_0x526943[_0x517bca(0xda)]['organizationName']):console[_0x517bca(0xd2)](_0x517bca(0xd5));}catch(_0x554f33){throw new Error(_0x517bca(0xdb)+(_0x554f33 instanceof Error?_0x554f33[_0x517bca(0xdc)]:_0x554f33));}}function _0x5313(){const _0x568075=['6695PQWJnF','user','Login\x20failed:\x20','message','456zQazuX','2rDeeLr','117016tNUswk','1548108fqXdSr','657774Sbchnz','7nDrRWg','gfxMr','log','2340764uzXfsf','1271865mLWsHJ','\x0a✅\x20API\x20key\x20stored\x20successfully','Re-authenticating\x20via\x20MCP\x20bootstrap...','14570690sIiufv','Login\x20requires\x20an\x20interactive\x20terminal.\x20In\x20CI,\x20use:\x20ranger\x20setup\x20[token]\x20or\x20set\x20RANGER_CLI_TOKEN.'];_0x5313=function(){return _0x568075;};return _0x5313();}
@@ -1 +1 @@
1
- (function(_0xdecdd0,_0x331c01){const _0x26abc1=_0x4e70,_0x183ef0=_0xdecdd0();while(!![]){try{const _0x1b3e17=parseInt(_0x26abc1(0x13e))/0x1+-parseInt(_0x26abc1(0x18d))/0x2+-parseInt(_0x26abc1(0x130))/0x3*(-parseInt(_0x26abc1(0x195))/0x4)+parseInt(_0x26abc1(0x139))/0x5+parseInt(_0x26abc1(0x17b))/0x6+parseInt(_0x26abc1(0x16a))/0x7+-parseInt(_0x26abc1(0x15f))/0x8;if(_0x1b3e17===_0x331c01)break;else _0x183ef0['push'](_0x183ef0['shift']());}catch(_0x1992af){_0x183ef0['push'](_0x183ef0['shift']());}}}(_0x27b5,0x8cb48));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(),'.ranger','mcp-oauth-tokens.json'),AUTH_ORIGIN_PATH=join(homedir(),'.ranger','auth-origin.txt');export async function getMcpAuthOrigin(){const _0x4c1b96=_0x4e70,_0x52e48e={'SdKUn':function(_0xe6c074,_0x3c31b0,_0x1c61f7){return _0xe6c074(_0x3c31b0,_0x1c61f7);},'kIZLk':function(_0x445f29,_0x44ecf4){return _0x445f29||_0x44ecf4;}};try{const _0x24b627=(await _0x52e48e[_0x4c1b96(0x16c)](readFile,AUTH_ORIGIN_PATH,'utf-8'))['trim']();return _0x52e48e['kIZLk'](_0x24b627,null);}catch{return null;}}export async function mcpBootstrap(){const _0x23bbfb=_0x4e70,_0x299ef6={'mjbJb':function(_0x26914d){return _0x26914d();},'WxJvM':function(_0x42a097,_0x1eb5c1){return _0x42a097(_0x1eb5c1);},'CvIPt':function(_0x5c465a,_0xa89f8b){return _0x5c465a+_0xa89f8b;}},_0x447437=_0x299ef6['mjbJb'](getMcpAuthUrl);currentOrigin=_0x447437;const _0x3a50c0=process['stdout'][_0x23bbfb(0x189)]??![];console['log'](_0x23bbfb(0x122)+_0x447437+'\x0a');const _0x35acb3=await _0x299ef6['WxJvM'](tryUnauthenticated,_0x447437);let _0x392836=null;if(_0x35acb3===_0x23bbfb(0x18c))_0x392836='';else{_0x392836=await loadCachedToken();if(!_0x392836){if(!_0x3a50c0)throw new Error(_0x299ef6['CvIPt']('MCP\x20server\x20requires\x20authentication\x20but\x20running\x20in\x20non-interactive\x20mode.\x0a',_0x23bbfb(0x141)));_0x392836=await oauthFlow(_0x447437);}}await callGetCliToken(_0x447437,_0x392836);}async function tryUnauthenticated(_0x349bbc){const _0x5dc26f=_0x4e70,_0x109619={'TAONm':function(_0x18afdf,_0x58799c,_0x594052){return _0x18afdf(_0x58799c,_0x594052);},'yYQXY':'POST','JwNUz':_0x5dc26f(0x150),'gjJnP':'2.0','tCcPv':_0x5dc26f(0x158),'YcAJh':function(_0x19197d,_0xc32c3){return _0x19197d===_0xc32c3;}},_0x1260db=await _0x109619['TAONm'](fetch,_0x349bbc,{'method':_0x109619[_0x5dc26f(0x198)],'headers':{'Content-Type':_0x5dc26f(0x159),'Accept':_0x109619['JwNUz']},'body':JSON[_0x5dc26f(0x14b)]({'jsonrpc':_0x109619[_0x5dc26f(0x12a)],'id':0x1,'method':_0x5dc26f(0x131),'params':{'protocolVersion':_0x109619[_0x5dc26f(0x17a)],'capabilities':{},'clientInfo':{'name':_0x5dc26f(0x134),'version':'1.0.0'}}})});if(_0x1260db['ok'])return await _0x1260db['text'](),'proxied';if(_0x109619[_0x5dc26f(0x129)](_0x1260db[_0x5dc26f(0x19d)],0x191))return await _0x1260db['text'](),_0x5dc26f(0x180);const _0x1a9080=await _0x1260db[_0x5dc26f(0x1a5)]();throw new Error('MCP\x20server\x20returned\x20HTTP\x20'+_0x1260db['status']+':\x20'+_0x1a9080);}class OAuthTimeoutError extends Error{constructor(_0x19caf6){const _0x166106=_0x4e70,_0x1a8c09={'HSgev':'OAuthTimeoutError'};super(_0x19caf6),this['name']=_0x1a8c09[_0x166106(0x15c)];}}async function oauthFlow(_0x3ce55b){const _0x52007a=_0x4e70,_0x59b478={'gPBGC':function(_0x16202d,_0x182158){return _0x16202d(_0x182158);},'auQWW':function(_0x55f90b,_0x5b9f5c){return _0x55f90b instanceof _0x5b9f5c;},'qwtDk':'\x0aCached\x20OAuth\x20client\x20may\x20be\x20stale\x20—\x20clearing\x20and\x20retrying...\x0a'};try{return await _0x59b478[_0x52007a(0x197)](oauthFlowAttempt,_0x3ce55b);}catch(_0x80ee4a){if(_0x59b478[_0x52007a(0x193)](_0x80ee4a,OAuthTimeoutError)&&await loadCachedClient())return console['log'](_0x59b478['qwtDk']),await clearCachedClient(),await oauthFlowAttempt(_0x3ce55b);throw _0x80ee4a;}}function _0x4e70(_0x419d9e,_0x24a32d){_0x419d9e=_0x419d9e-0x11e;const _0x27b5cd=_0x27b5();let _0x4e705a=_0x27b5cd[_0x419d9e];return _0x4e705a;}async function oauthFlowAttempt(_0x400349){const _0x6fb9bf=_0x4e70,_0x19b70e={'Luszy':'Discovering\x20authorization\x20server...','ceYgA':function(_0x365bb5){return _0x365bb5();},'yjQan':function(_0x79969b,_0x63b264,_0x42ed34){return _0x79969b(_0x63b264,_0x42ed34);},'hFCvB':'POST','LEGCZ':_0x6fb9bf(0x159),'qEeUU':'Ranger\x20CLI','xkmhI':_0x6fb9bf(0x165),'yGIUj':'code','eGBwr':'\x20done','QVLGX':function(_0x21841b,_0xb31d77){return _0x21841b(_0xb31d77);},'EeEFP':function(_0x2a2d1f,_0x28e8fc){return _0x2a2d1f(_0x28e8fc);},'qIsTT':_0x6fb9bf(0x145),'jDkhE':'redirect_uri','bYAaH':'code_challenge','JMkLK':'code_challenge_method','tFYDA':'resource','sfZXl':'\x0aOpening\x20browser\x20for\x20authentication...','bCpYO':function(_0x1255ef,_0x1d74db){return _0x1255ef(_0x1d74db);},'OmlxJ':'Exchanging\x20authorization\x20code...','OTUkT':'client_secret','poOpS':function(_0xe08133,_0x3eeed1,_0x2eb313){return _0xe08133(_0x3eeed1,_0x2eb313);},'qguuL':'application/x-www-form-urlencoded','poUCV':function(_0x6f64a1,_0xc2e68,_0x330778,_0x4fa812){return _0x6f64a1(_0xc2e68,_0x330778,_0x4fa812);}},_0x386498=_0x400349['replace'](/\/mcp$/,'');process[_0x6fb9bf(0x127)][_0x6fb9bf(0x187)](_0x19b70e['Luszy']);const _0x412fe4=await fetch(_0x386498+'/.well-known/oauth-protected-resource');if(!_0x412fe4['ok'])throw new Error('Could\x20not\x20fetch\x20protected\x20resource\x20metadata\x20from\x20MCP\x20server');const _0x4257b8=await _0x412fe4[_0x6fb9bf(0x135)](),_0x23fd03=_0x4257b8['authorization_servers']?.[0x0];if(!_0x23fd03)throw new Error('No\x20authorization_servers\x20in\x20protected\x20resource\x20metadata');console[_0x6fb9bf(0x160)]('\x20'+_0x23fd03);const _0x2d553c=await fetchAuthServerMetadata(_0x23fd03);let _0x427e8f,_0x34a286;const _0x419415=await _0x19b70e['ceYgA'](loadCachedClient);if(_0x419415)_0x427e8f=_0x419415['clientId'],_0x34a286=_0x419415['clientSecret'];else{if(_0x2d553c['registration_endpoint']){process[_0x6fb9bf(0x127)][_0x6fb9bf(0x187)](_0x6fb9bf(0x18b));const _0xcf87a1=await _0x19b70e[_0x6fb9bf(0x173)](fetch,_0x2d553c['registration_endpoint'],{'method':_0x19b70e['hFCvB'],'headers':{'Content-Type':_0x19b70e['LEGCZ']},'body':JSON['stringify']({'client_name':_0x19b70e['qEeUU'],'redirect_uris':[_0x6fb9bf(0x17d)+CALLBACK_PORT+_0x6fb9bf(0x147)],'grant_types':['authorization_code',_0x19b70e['xkmhI']],'response_types':[_0x19b70e[_0x6fb9bf(0x13c)]],'token_endpoint_auth_method':_0x6fb9bf(0x17c)})});if(!_0xcf87a1['ok']){const _0x2ceed9=await _0xcf87a1[_0x6fb9bf(0x1a5)]();throw new Error(_0x6fb9bf(0x144)+_0x2ceed9);}const _0x4b13a3=await _0xcf87a1['json']();_0x427e8f=_0x4b13a3['client_id'],_0x34a286=_0x4b13a3['client_secret'],await _0x19b70e['yjQan'](saveCachedClient,_0x427e8f,_0x34a286),console[_0x6fb9bf(0x160)](_0x19b70e[_0x6fb9bf(0x185)]);}else throw new Error(_0x6fb9bf(0x18f));}const _0x3b40ab=_0x19b70e[_0x6fb9bf(0x176)](randomBytes,0x20)['toString']('base64url'),_0x50690c=createHash(_0x6fb9bf(0x12d))[_0x6fb9bf(0x171)](_0x3b40ab)['digest'](_0x6fb9bf(0x137)),_0x22c027=_0x19b70e['EeEFP'](randomBytes,0x10)[_0x6fb9bf(0x1a4)](_0x6fb9bf(0x13b)),_0xbc8953=new URL(_0x2d553c[_0x6fb9bf(0x183)]);_0xbc8953[_0x6fb9bf(0x1a1)][_0x6fb9bf(0x163)]('response_type',_0x19b70e[_0x6fb9bf(0x13c)]),_0xbc8953['searchParams']['set'](_0x19b70e[_0x6fb9bf(0x172)],_0x427e8f),_0xbc8953[_0x6fb9bf(0x1a1)]['set'](_0x19b70e['jDkhE'],_0x6fb9bf(0x17d)+CALLBACK_PORT+_0x6fb9bf(0x147)),_0xbc8953[_0x6fb9bf(0x1a1)][_0x6fb9bf(0x163)](_0x19b70e[_0x6fb9bf(0x15b)],_0x50690c),_0xbc8953[_0x6fb9bf(0x1a1)][_0x6fb9bf(0x163)](_0x19b70e['JMkLK'],'S256'),_0xbc8953[_0x6fb9bf(0x1a1)]['set']('state',_0x22c027);_0x4257b8['resource']&&_0xbc8953['searchParams'][_0x6fb9bf(0x163)](_0x19b70e['tFYDA'],_0x4257b8[_0x6fb9bf(0x169)]);console['log'](_0x19b70e[_0x6fb9bf(0x13a)]),console['log'](_0x6fb9bf(0x154)+_0xbc8953['toString']()+'\x0a'),await _0x19b70e[_0x6fb9bf(0x14e)](openBrowser,_0xbc8953['toString']());const _0x46b1a0=await waitForCallback(_0x22c027);process[_0x6fb9bf(0x127)][_0x6fb9bf(0x187)](_0x19b70e['OmlxJ']);const _0x39b2d3=new URLSearchParams({'grant_type':_0x6fb9bf(0x136),'code':_0x46b1a0,'redirect_uri':_0x6fb9bf(0x17d)+CALLBACK_PORT+_0x6fb9bf(0x147),'client_id':_0x427e8f,'code_verifier':_0x3b40ab});_0x34a286&&_0x39b2d3['set'](_0x19b70e[_0x6fb9bf(0x16e)],_0x34a286);_0x4257b8['resource']&&_0x39b2d3['set'](_0x19b70e[_0x6fb9bf(0x186)],_0x4257b8['resource']);const _0x1c4277=await _0x19b70e[_0x6fb9bf(0x151)](fetch,_0x2d553c[_0x6fb9bf(0x174)],{'method':_0x19b70e['hFCvB'],'headers':{'Content-Type':_0x19b70e[_0x6fb9bf(0x166)]},'body':_0x39b2d3});if(!_0x1c4277['ok']){const _0x2b8a33=await _0x1c4277[_0x6fb9bf(0x1a5)]();throw new Error('Token\x20exchange\x20failed:\x20'+_0x2b8a33);}const _0x5b9e63=await _0x1c4277['json']();return console['log']('\x20done'),await _0x19b70e[_0x6fb9bf(0x17e)](saveCachedToken,_0x5b9e63['access_token'],_0x5b9e63[_0x6fb9bf(0x165)],_0x5b9e63[_0x6fb9bf(0x125)]),_0x5b9e63['access_token'];}async function callGetCliToken(_0x12ff21,_0x418184){const _0x14874a=_0x4e70,_0x1c8ac1={'wVhML':'2025-03-26','VxVYa':_0x14874a(0x196),'oOPOF':function(_0x55e7b7,_0x577810){return _0x55e7b7(_0x577810);},'rvCgb':'tools/call','mjQXS':_0x14874a(0x16f),'YGOBu':'Could\x20not\x20extract\x20token\x20from\x20MCP\x20response','LbGNL':function(_0x1529ac){return _0x1529ac();},'vkuAy':function(_0x5d3461,_0x31ec04,_0x147623){return _0x5d3461(_0x31ec04,_0x147623);},'KyRlL':'refresh.txt','lUyYD':function(_0x593dad,_0x1ad2a9,_0x172b0a,_0x341861){return _0x593dad(_0x1ad2a9,_0x172b0a,_0x341861);},'IiRnH':function(_0x6fefdf,_0x2aea7b,_0x183956,_0x1651bc){return _0x6fefdf(_0x2aea7b,_0x183956,_0x1651bc);},'haeIb':'auth-origin.txt'},_0x1e9261={'Content-Type':_0x14874a(0x159),'Accept':'application/json,\x20text/event-stream'};_0x418184&&(_0x1e9261[_0x14874a(0x155)]=_0x14874a(0x121)+_0x418184);const _0x334ab1=async _0x2c3499=>{const _0x5e5c05=_0x14874a,_0x3688bc=await fetch(_0x12ff21,{'method':_0x5e5c05(0x167),'headers':_0x1e9261,'body':JSON[_0x5e5c05(0x14b)](_0x2c3499)});if(!_0x3688bc['ok']){const _0x127718=await _0x3688bc['text']();throw new Error('HTTP\x20'+_0x3688bc[_0x5e5c05(0x19d)]+':\x20'+_0x127718);}return parseResponse(_0x3688bc);};process['stdout']['write'](_0x14874a(0x19f));const _0x55bf3f=await _0x334ab1({'jsonrpc':_0x14874a(0x168),'id':0x1,'method':'initialize','params':{'protocolVersion':_0x1c8ac1[_0x14874a(0x177)],'capabilities':{},'clientInfo':{'name':'ranger-cli','version':_0x1c8ac1[_0x14874a(0x181)]}}});if(_0x55bf3f['error'])throw new Error(_0x14874a(0x190)+(_0x55bf3f['error'][_0x14874a(0x182)]??JSON[_0x14874a(0x14b)](_0x55bf3f[_0x14874a(0x19b)])));console[_0x14874a(0x160)](_0x14874a(0x199)),await fetch(_0x12ff21,{'method':_0x14874a(0x167),'headers':_0x1e9261,'body':JSON['stringify']({'jsonrpc':_0x14874a(0x168),'method':'notifications/initialized'})})['then'](_0xa2d3bd=>_0xa2d3bd[_0x14874a(0x1a5)]()),process['stdout'][_0x14874a(0x187)]('Requesting\x20CLI\x20token...');const _0x344658=await _0x1c8ac1['oOPOF'](_0x334ab1,{'jsonrpc':'2.0','id':0x2,'method':_0x1c8ac1[_0x14874a(0x11f)],'params':{'name':'get_cli_token','arguments':{}}});if(_0x344658[_0x14874a(0x19b)])throw new Error('get_cli_token\x20failed:\x20'+(_0x344658[_0x14874a(0x19b)][_0x14874a(0x182)]??JSON['stringify'](_0x344658[_0x14874a(0x19b)])));console[_0x14874a(0x160)]('\x20done');const _0x865bc3=extractToken(_0x344658[_0x14874a(0x11e)]);if(!_0x865bc3){console[_0x14874a(0x19b)](_0x1c8ac1['mjQXS']),console[_0x14874a(0x19b)](JSON[_0x14874a(0x14b)](_0x344658[_0x14874a(0x11e)],null,0x2));throw new Error(_0x1c8ac1['YGOBu']);}const _0x1bb706=join(_0x1c8ac1['LbGNL'](homedir),'.ranger'),_0x2ebd20=_0x1c8ac1[_0x14874a(0x132)](join,_0x1bb706,_0x1c8ac1[_0x14874a(0x13d)]);await mkdir(_0x1bb706,{'recursive':!![]}),await _0x1c8ac1[_0x14874a(0x194)](writeFile,_0x2ebd20,_0x865bc3,{'mode':0x180}),await _0x1c8ac1[_0x14874a(0x1a2)](writeFile,join(_0x1bb706,_0x1c8ac1['haeIb']),_0x12ff21,{'mode':0x180}),console['log'](_0x14874a(0x123)+_0x2ebd20),console[_0x14874a(0x160)](_0x14874a(0x140));}async function fetchAuthServerMetadata(_0x2afb42){const _0x100afe=_0x4e70,_0x10e5a8=_0x2afb42+_0x100afe(0x184),_0xaebd7a=await fetch(_0x10e5a8);if(!_0xaebd7a['ok'])throw new Error('Could\x20not\x20fetch\x20auth\x20server\x20metadata\x20from\x20'+_0x10e5a8+':\x20'+_0xaebd7a[_0x100afe(0x19d)]);return _0xaebd7a['json']();}function waitForCallback(_0xa588aa){const _0x57c9a6=_0x4e70,_0x5b981e={'SdKOv':function(_0x23194c){return _0x23194c();},'gkSle':function(_0xf04c8,_0x30cca5){return _0xf04c8!==_0x30cca5;},'QZCbl':_0x57c9a6(0x147),'OCTFu':_0x57c9a6(0x161),'YbmwT':function(_0x354b14,_0x3e08f0){return _0x354b14(_0x3e08f0);},'pKLVG':function(_0x27af37){return _0x27af37();},'tYXIb':_0x57c9a6(0x191)};return new Promise((_0x1dd78d,_0x20264c)=>{const _0x20c345=()=>{const _0x43fd9c=_0x4e70;_0x37dbc6['closeAllConnections'](),_0x37dbc6[_0x43fd9c(0x179)]();},_0x4f6c06=setTimeout(()=>{const _0x45dfc4=_0x4e70;_0x5b981e[_0x45dfc4(0x153)](_0x20c345),_0x20264c(new OAuthTimeoutError(_0x45dfc4(0x16b)));},0x1d4c0),_0x37dbc6=createServer((_0x14cce4,_0x2cea69)=>{const _0x802ed9=_0x4e70,_0x5ceb99=new URL(_0x14cce4[_0x802ed9(0x1a3)]??'/',_0x802ed9(0x17d)+CALLBACK_PORT);if(_0x5b981e[_0x802ed9(0x13f)](_0x5ceb99[_0x802ed9(0x138)],_0x5b981e['QZCbl'])){_0x2cea69[_0x802ed9(0x19c)](0x194),_0x2cea69['end'](_0x802ed9(0x162));return;}const _0x4bbc6d=_0x5ceb99['searchParams']['get']('code'),_0x39a359=_0x5ceb99['searchParams'][_0x802ed9(0x146)]('state'),_0x3a79d7=_0x5ceb99['searchParams'][_0x802ed9(0x146)]('error');if(_0x3a79d7){const _0x8f9c81=_0x5ceb99[_0x802ed9(0x1a1)][_0x802ed9(0x146)]('error_description')??_0x3a79d7;_0x2cea69[_0x802ed9(0x19c)](0xc8,{'Content-Type':_0x5b981e['OCTFu']}),_0x2cea69[_0x802ed9(0x128)]('<html><body><h2>Authentication\x20failed</h2><p>'+_0x8f9c81+'</p><p>You\x20can\x20close\x20this\x20window.</p></body></html>'),clearTimeout(_0x4f6c06),_0x20c345(),_0x5b981e[_0x802ed9(0x188)](_0x20264c,new Error(_0x802ed9(0x152)+_0x8f9c81));return;}if(!_0x4bbc6d||_0x39a359!==_0xa588aa){_0x2cea69['writeHead'](0x190,{'Content-Type':_0x5b981e['OCTFu']}),_0x2cea69[_0x802ed9(0x128)]('<html><body><h2>Invalid\x20callback</h2><p>Missing\x20code\x20or\x20state\x20mismatch.</p></body></html>');return;}_0x2cea69[_0x802ed9(0x19c)](0xc8,{'Content-Type':_0x5b981e['OCTFu']}),_0x2cea69[_0x802ed9(0x128)](_0x802ed9(0x126)),clearTimeout(_0x4f6c06),_0x5b981e[_0x802ed9(0x19a)](_0x20c345),_0x1dd78d(_0x4bbc6d);});_0x37dbc6['listen'](CALLBACK_PORT,_0x5b981e['tYXIb']);});}async function openBrowser(_0x403a5c){const _0x48c621=_0x4e70,_0x235bac={'HnmCU':function(_0x5b22d5,_0x1034b9){return _0x5b22d5===_0x1034b9;},'oCUpC':_0x48c621(0x15a),'xFCVj':'start','MZTmm':'xdg-open'},_0x471205=_0x235bac[_0x48c621(0x157)](process['platform'],'darwin')?_0x235bac['oCUpC']:process[_0x48c621(0x133)]===_0x48c621(0x12e)?_0x235bac['xFCVj']:_0x235bac['MZTmm'];exec(_0x471205+'\x20\x22'+_0x403a5c+'\x22');}let currentOrigin='';async function loadCachedToken(){const _0x372f4b=_0x4e70,_0x2d8b10={'NSAEx':function(_0x56faf6,_0x3c239b){return _0x56faf6!==_0x3c239b;}};try{const _0x4a55e0=JSON['parse'](await readFile(TOKEN_CACHE_PATH,'utf-8'));if(_0x4a55e0['origin']&&_0x2d8b10['NSAEx'](_0x4a55e0['origin'],currentOrigin))return null;if(_0x4a55e0['expiresAt']&&Date[_0x372f4b(0x175)]()>_0x4a55e0[_0x372f4b(0x192)])return null;return _0x4a55e0[_0x372f4b(0x15d)]??null;}catch{return null;}}async function saveCachedToken(_0x700cce,_0xfeff36,_0x346250){const _0x2661e7=_0x4e70,_0x4d80e6={'HfRNN':function(_0x7514ba){return _0x7514ba();},'CJSVK':function(_0x44e779,_0x50cf24,_0x4142d8){return _0x44e779(_0x50cf24,_0x4142d8);},'qOMwF':'.ranger'},_0x5f113c=await _0x4d80e6['HfRNN'](loadCachedData),_0x27c5d6={..._0x5f113c,'origin':currentOrigin,'accessToken':_0x700cce,'refreshToken':_0xfeff36??_0x5f113c?.[_0x2661e7(0x124)],'expiresAt':_0x346250?Date[_0x2661e7(0x175)]()+_0x346250*0x3e8:undefined};await _0x4d80e6[_0x2661e7(0x14d)](mkdir,_0x4d80e6[_0x2661e7(0x14d)](join,homedir(),_0x4d80e6[_0x2661e7(0x120)]),{'recursive':!![]}),await writeFile(TOKEN_CACHE_PATH,JSON[_0x2661e7(0x14b)](_0x27c5d6),{'mode':0x180});}async function loadCachedClient(){const _0x31334f=_0x4e70,_0x5c8847={'tRIKI':function(_0x46d8a3,_0x247905){return _0x46d8a3!==_0x247905;}},_0x33fcd2=await loadCachedData();if(_0x33fcd2?.[_0x31334f(0x142)]&&_0x5c8847[_0x31334f(0x19e)](_0x33fcd2[_0x31334f(0x142)],currentOrigin))return null;return _0x33fcd2?.['clientId']?{'clientId':_0x33fcd2[_0x31334f(0x15e)],'clientSecret':_0x33fcd2[_0x31334f(0x18e)]}:null;}async function clearCachedClient(){const _0x2641a6=_0x4e70,_0x25a46a={'yLFPi':function(_0x4ad212){return _0x4ad212();},'GxVcU':function(_0x355475,_0x52764b,_0x3d4702,_0x1eebc1){return _0x355475(_0x52764b,_0x3d4702,_0x1eebc1);}},_0x3c6c1e=await _0x25a46a['yLFPi'](loadCachedData);if(!_0x3c6c1e)return;const {clientId:_0x582ca5,clientSecret:_0xc9fcee,..._0x3d7e0d}=_0x3c6c1e;await _0x25a46a[_0x2641a6(0x12c)](writeFile,TOKEN_CACHE_PATH,JSON[_0x2641a6(0x14b)](_0x3d7e0d),{'mode':0x180});}async function saveCachedClient(_0xf1bd5,_0x4974c8){const _0x31af98=_0x4e70,_0x5957bc={'NlpYe':function(_0x394cd5,_0x454955,_0x12d38b){return _0x394cd5(_0x454955,_0x12d38b);},'JvjXR':function(_0x38a48f){return _0x38a48f();}},_0x2c5d54=await loadCachedData(),_0x15c150={..._0x2c5d54,'origin':currentOrigin,'accessToken':_0x2c5d54?.[_0x31af98(0x15d)]??'','clientId':_0xf1bd5,'clientSecret':_0x4974c8};await _0x5957bc['NlpYe'](mkdir,join(_0x5957bc['JvjXR'](homedir),'.ranger'),{'recursive':!![]}),await writeFile(TOKEN_CACHE_PATH,JSON['stringify'](_0x15c150),{'mode':0x180});}async function loadCachedData(){const _0x2551f9=_0x4e70,_0xeb6a64={'gXNAk':function(_0x23c188,_0x2b0bf7,_0x178d70){return _0x23c188(_0x2b0bf7,_0x178d70);},'mbLxx':_0x2551f9(0x156)};try{return JSON['parse'](await _0xeb6a64['gXNAk'](readFile,TOKEN_CACHE_PATH,_0xeb6a64[_0x2551f9(0x143)]));}catch{return null;}}function _0x27b5(){const _0x368044=['gPBGC','yYQXY','\x20done','pKLVG','error','writeHead','status','tRIKI','Initializing\x20MCP\x20session...','RAOHZ','searchParams','IiRnH','url','toString','text','result','rvCgb','qOMwF','Bearer\x20','\x0aConnecting\x20to\x20MCP\x20auth\x20server:\x20','\x0aToken\x20written\x20to\x20','refreshToken','expires_in','<html><body><h2>Authenticated!</h2><p>You\x20can\x20close\x20this\x20window\x20and\x20return\x20to\x20the\x20terminal.</p></body></html>','stdout','end','YcAJh','gjJnP','Server\x20returned\x20error:\x20','GxVcU','sha256','win32','text/event-stream','669likHdH','initialize','vkuAy','platform','ranger-cli','json','authorization_code','base64url','pathname','977860XIXRvb','sfZXl','hex','yGIUj','KyRlL','152087fzUGkR','gkSle','Run\x20`ranger\x20status`\x20to\x20verify\x20authentication.\x0a','Run\x20`ranger\x20setup\x20--mcp-bootstrap`\x20interactively\x20first.','origin','mbLxx','Client\x20registration\x20failed:\x20','client_id','get','/callback','data:','Unknown\x20error','content','stringify','zDdAe','CJSVK','bCpYO','parse','application/json,\x20text/event-stream','poOpS','OAuth\x20error:\x20','SdKOv','If\x20the\x20browser\x20doesn\x27t\x20open,\x20visit:\x0a','Authorization','utf-8','HnmCU','2025-03-26','application/json','open','bYAaH','HSgev','accessToken','clientId','6418808MYZoUH','log','text/html','Not\x20found','set','startsWith','refresh_token','qguuL','POST','2.0','resource','7054572GBrNTf','OAuth\x20callback\x20timed\x20out\x20after\x202\x20minutes','SdKUn','content-type','OTUkT','\x0aUnexpected\x20response\x20structure:','aphxe','update','qIsTT','yjQan','token_endpoint','now','QVLGX','wVhML','string','close','tCcPv','4400718PbYOHO','none','http://localhost:','poUCV','token','needs-oauth','VxVYa','message','authorization_endpoint','/.well-known/oauth-authorization-server','eGBwr','tFYDA','write','YbmwT','isTTY','isError','Registering\x20OAuth\x20client...','proxied','1533296JUZgAj','clientSecret','Authorization\x20server\x20does\x20not\x20support\x20dynamic\x20client\x20registration\x20and\x20no\x20cached\x20client\x20found','MCP\x20initialize\x20failed:\x20','127.0.0.1','expiresAt','auQWW','lUyYD','1012wJApbm','1.0.0'];_0x27b5=function(){return _0x368044;};return _0x27b5();}async function parseResponse(_0x5e55a3){const _0x48b2c7=_0x4e70,_0x440c8c={'eyJep':'data:','gotSx':function(_0x35fca0,_0x3d27ed){return _0x35fca0!==_0x3d27ed;},'IauvW':'No\x20JSON-RPC\x20response\x20found\x20in\x20SSE\x20stream'},_0x54b8ae=_0x5e55a3['headers']['get'](_0x48b2c7(0x16d))??'';if(_0x54b8ae['includes'](_0x48b2c7(0x12f))){const _0xbc9631=await _0x5e55a3['text']();for(const _0x16e7d5 of _0xbc9631['split']('\x0a')){const _0x536897=_0x16e7d5['trim']();if(_0x536897[_0x48b2c7(0x164)](_0x440c8c['eyJep'])){const _0x3499a1=_0x536897['slice'](_0x48b2c7(0x148)['length'])['trim']();if(!_0x3499a1)continue;try{const _0x3c5748=JSON[_0x48b2c7(0x14f)](_0x3499a1);if(_0x440c8c['gotSx'](_0x3c5748['id'],undefined)||_0x3c5748[_0x48b2c7(0x19b)])return _0x3c5748;}catch{}}}throw new Error(_0x440c8c['IauvW']);}return _0x5e55a3['json']();}function extractToken(_0x388ccd){const _0x3f0905=_0x4e70,_0x5df135={'cVqpX':function(_0x4d431a,_0x345076){return _0x4d431a===_0x345076;},'zDdAe':_0x3f0905(0x149),'BWgWB':function(_0x49fa99,_0x2d2674){return _0x49fa99===_0x2d2674;},'aphxe':function(_0x53efb5,_0x13c2e2){return _0x53efb5===_0x13c2e2;},'RAOHZ':_0x3f0905(0x178)};if(!_0x388ccd)return null;const _0x5424ee=_0x388ccd['structuredContent'];if(_0x5424ee?.['token']&&_0x5df135['cVqpX'](typeof _0x5424ee['token'],_0x3f0905(0x178)))return _0x5424ee['token'];if(_0x388ccd[_0x3f0905(0x18a)]){const _0x4948c4=_0x388ccd['content'];throw new Error(_0x3f0905(0x12b)+(_0x4948c4?.[0x0]?.[_0x3f0905(0x1a5)]??_0x5df135[_0x3f0905(0x14c)]));}const _0x540560=_0x388ccd[_0x3f0905(0x14a)];if(_0x540560)for(const _0x5eec22 of _0x540560){if(_0x5df135['BWgWB'](_0x5eec22['type'],'text')&&_0x5eec22['text']){try{const _0x2f4492=JSON[_0x3f0905(0x14f)](_0x5eec22['text']);if(_0x5df135[_0x3f0905(0x170)](typeof _0x2f4492?.[_0x3f0905(0x17f)],_0x5df135[_0x3f0905(0x1a0)]))return _0x2f4492[_0x3f0905(0x17f)];}catch{}const _0x7b8f89=_0x5eec22[_0x3f0905(0x1a5)]['match'](/(rngr_[A-Za-z0-9_-]+)/);if(_0x7b8f89)return _0x7b8f89[0x1];}}return null;}
1
+ const _0x207f1f=_0x375a;(function(_0x2dc042,_0x3b902a){const _0x22e9e1=_0x375a,_0x20cdbc=_0x2dc042();while(!![]){try{const _0x2276c7=parseInt(_0x22e9e1(0x1c1))/0x1*(parseInt(_0x22e9e1(0x1b0))/0x2)+-parseInt(_0x22e9e1(0x1e7))/0x3+-parseInt(_0x22e9e1(0x210))/0x4*(-parseInt(_0x22e9e1(0x1b6))/0x5)+-parseInt(_0x22e9e1(0x1e1))/0x6*(parseInt(_0x22e9e1(0x1fb))/0x7)+parseInt(_0x22e9e1(0x213))/0x8*(parseInt(_0x22e9e1(0x1f1))/0x9)+-parseInt(_0x22e9e1(0x1ca))/0xa+parseInt(_0x22e9e1(0x198))/0xb;if(_0x2276c7===_0x3b902a)break;else _0x20cdbc['push'](_0x20cdbc['shift']());}catch(_0x45c8a3){_0x20cdbc['push'](_0x20cdbc['shift']());}}}(_0x24bb,0x5b026));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(),'.ranger',_0x207f1f(0x1f2)),AUTH_ORIGIN_PATH=join(homedir(),_0x207f1f(0x19a),'auth-origin.txt');export async function getMcpAuthOrigin(){const _0x198c10=_0x207f1f,_0x2b9c25={'XJLJt':function(_0x1e1efe,_0x1d44e8){return _0x1e1efe||_0x1d44e8;}};try{const _0x330c83=(await readFile(AUTH_ORIGIN_PATH,_0x198c10(0x19c)))['trim']();return _0x2b9c25['XJLJt'](_0x330c83,null);}catch{return null;}}export async function mcpBootstrap(){const _0x40eca7=_0x207f1f,_0x1659c9={'IwIgq':function(_0x514408,_0x478d9a){return _0x514408(_0x478d9a);},'Xhcao':function(_0x2f445d){return _0x2f445d();},'weOFu':function(_0x1652af,_0x4efad1){return _0x1652af+_0x4efad1;},'oYKvU':function(_0x1c258d,_0x564d7f){return _0x1c258d(_0x564d7f);},'NLorL':function(_0x4e88b1,_0x4068f,_0x162779){return _0x4e88b1(_0x4068f,_0x162779);}},_0x2df4c9=getMcpAuthUrl();currentOrigin=_0x2df4c9;const _0x59bf80=process['stdout'][_0x40eca7(0x1d5)]??![];console[_0x40eca7(0x1e9)]('\x0aConnecting\x20to\x20MCP\x20auth\x20server:\x20'+_0x2df4c9+'\x0a');const _0x350f45=await _0x1659c9[_0x40eca7(0x1c0)](tryUnauthenticated,_0x2df4c9);let _0x363d21=null;if(_0x350f45===_0x40eca7(0x1e0))_0x363d21='';else{_0x363d21=await _0x1659c9[_0x40eca7(0x1a4)](loadCachedToken);if(!_0x363d21){if(!_0x59bf80)throw new Error(_0x1659c9['weOFu']('MCP\x20server\x20requires\x20authentication\x20but\x20running\x20in\x20non-interactive\x20mode.\x0a',_0x40eca7(0x199)));_0x363d21=await _0x1659c9['oYKvU'](oauthFlow,_0x2df4c9);}}await _0x1659c9['NLorL'](callGetCliToken,_0x2df4c9,_0x363d21);}async function tryUnauthenticated(_0x512204){const _0x1e3377=_0x207f1f,_0x1175ef={'horsa':'application/json','vpIQB':'application/json,\x20text/event-stream','FtdKa':'initialize','aVDVn':_0x1e3377(0x1c6),'iVwQj':'ranger-cli','fTKDW':'1.0.0','sWKKv':_0x1e3377(0x1d4)},_0x552851=await fetch(_0x512204,{'method':_0x1e3377(0x204),'headers':{'Content-Type':_0x1175ef['horsa'],'Accept':_0x1175ef['vpIQB']},'body':JSON[_0x1e3377(0x1be)]({'jsonrpc':'2.0','id':0x1,'method':_0x1175ef[_0x1e3377(0x1d3)],'params':{'protocolVersion':_0x1175ef[_0x1e3377(0x1d7)],'capabilities':{},'clientInfo':{'name':_0x1175ef['iVwQj'],'version':_0x1175ef[_0x1e3377(0x1a5)]}}})});if(_0x552851['ok'])return await _0x552851['text'](),'proxied';if(_0x552851[_0x1e3377(0x1f8)]===0x191)return await _0x552851['text'](),_0x1175ef['sWKKv'];const _0x3d5b7e=await _0x552851[_0x1e3377(0x191)]();throw new Error(_0x1e3377(0x1d1)+_0x552851['status']+':\x20'+_0x3d5b7e);}function _0x375a(_0x3094e2,_0x17c70f){_0x3094e2=_0x3094e2-0x18e;const _0x24bbfb=_0x24bb();let _0x375ad1=_0x24bbfb[_0x3094e2];return _0x375ad1;}class OAuthTimeoutError extends Error{constructor(_0x4f1485){const _0x51b91b=_0x207f1f,_0x4968b7={'zTdfc':'OAuthTimeoutError'};super(_0x4f1485),this['name']=_0x4968b7[_0x51b91b(0x1f5)];}}function _0x24bb(){const _0x336615=['get_cli_token','QRTmL','resource','S256','\x0aOpening\x20browser\x20for\x20authentication...','MCP\x20initialize\x20failed:\x20','pathname','POST','<html><body><h2>Invalid\x20callback</h2><p>Missing\x20code\x20or\x20state\x20mismatch.</p></body></html>','none','auth-origin.txt','WZbMa','clientId','state','OAuth\x20callback\x20timed\x20out\x20after\x202\x20minutes','sFLjd','get_cli_token\x20failed:\x20','\x0aCached\x20OAuth\x20client\x20may\x20be\x20stale\x20—\x20clearing\x20and\x20retrying...\x0a','headers','11636VyMMCZ','SIFaP','DXFVj','3820952sZMQEb','darwin','base64url','GkYWA','IvNiT','2.0','Authorization\x20server\x20does\x20not\x20support\x20dynamic\x20client\x20registration\x20and\x20no\x20cached\x20client\x20found','includes','ejcuX','LNrPV','RoVHR','\x0aToken\x20written\x20to\x20','close','content-type','parse','Unknown\x20error','mBFbA','text','initialize','code','oWNGY','Discovering\x20authorization\x20server...','MYKbw','VxFwE','3404335zaHukn','Run\x20`ranger\x20setup\x20--mcp-bootstrap`\x20interactively\x20first.','.ranger','toString','utf-8','rTGNP','NPTTC','update','searchParams','fGFYE','data:','qfluA','Xhcao','fTKDW','aNWVd','application/json,\x20text/event-stream','content','OAuth\x20error:\x20','stdout','refreshToken','Could\x20not\x20extract\x20token\x20from\x20MCP\x20response','\x20done','now','writeHead','2YAgxbB','Initializing\x20MCP\x20session...','error','token','http://localhost:','string','155suSfcE','isError','WuGQL','get','qwYXl','cpHuA','wHbkL','rzXIk','stringify','tYaaR','IwIgq','548957wxBhfm','Could\x20not\x20fetch\x20protected\x20resource\x20metadata\x20from\x20MCP\x20server','uHTDg','client_id','json','2025-03-26','sICVi','set','authorization_endpoint','349670ejYIcN','peqwi','hvaHT','/callback','message','WWwio','write','MCP\x20server\x20returned\x20HTTP\x20','vgUiG','FtdKa','needs-oauth','isTTY','prYuB','aVDVn','<html><body><h2>Authentication\x20failed</h2><p>','dONqR','DZsAx','application/json','Jxcgq','clientSecret','code_challenge_method','1.0.0','proxied','126AcAXae','end','xdg-open','length','Token\x20exchange\x20failed:\x20','text/event-stream','1022361OGGKZY','trim','log','127.0.0.1','refresh.txt','grtII','If\x20the\x20browser\x20doesn\x27t\x20open,\x20visit:\x0a','platform','Exchanging\x20authorization\x20code...','WmIyZ','9mbrjuF','mcp-oauth-tokens.json','Jptdh','IgOAt','zTdfc','url','Ndwgt','status','split','refresh_token','225904UqwpkE','Server\x20returned\x20error:\x20'];_0x24bb=function(){return _0x336615;};return _0x24bb();}async function oauthFlow(_0x7d273d){const _0x25cfd7=_0x207f1f,_0x4b5488={'qfluA':function(_0x43fd87,_0x5c1ad1){return _0x43fd87(_0x5c1ad1);},'ahVEo':function(_0x5de7c1,_0x81f253){return _0x5de7c1 instanceof _0x81f253;},'yujxT':function(_0x494d7f){return _0x494d7f();}};try{return await _0x4b5488[_0x25cfd7(0x1a3)](oauthFlowAttempt,_0x7d273d);}catch(_0x5b5640){if(_0x4b5488['ahVEo'](_0x5b5640,OAuthTimeoutError)&&await _0x4b5488['yujxT'](loadCachedClient))return console['log'](_0x25cfd7(0x20e)),await clearCachedClient(),await oauthFlowAttempt(_0x7d273d);throw _0x5b5640;}}async function oauthFlowAttempt(_0x2d68c8){const _0xbb140f=_0x207f1f,_0x550f51={'KhSXk':_0xbb140f(0x195),'bIIeE':function(_0x2e3f86,_0x5b85e3,_0x58e18d){return _0x2e3f86(_0x5b85e3,_0x58e18d);},'sICVi':_0xbb140f(0x204),'fZnEh':'application/json','grtII':'Ranger\x20CLI','IVNea':_0xbb140f(0x1fa),'uHTDg':_0xbb140f(0x206),'IgOAt':_0xbb140f(0x219),'WZbMa':function(_0x27583d,_0x49c0c1){return _0x27583d(_0x49c0c1);},'GocLR':'sha256','nMmyu':'hex','lyaNI':'code_challenge','wHbkL':_0xbb140f(0x1de),'yUvJd':_0xbb140f(0x20a),'Ndwgt':'resource','LNrPV':_0xbb140f(0x201),'NTDhV':function(_0x58e0db,_0x3bf440){return _0x58e0db(_0x3bf440);},'qwYXl':_0xbb140f(0x1ad)},_0x51399a=_0x2d68c8['replace'](/\/mcp$/,'');process[_0xbb140f(0x1aa)]['write'](_0x550f51['KhSXk']);const _0x40c025=await fetch(_0x51399a+'/.well-known/oauth-protected-resource');if(!_0x40c025['ok'])throw new Error(_0xbb140f(0x1c2));const _0x591458=await _0x40c025[_0xbb140f(0x1c5)](),_0x17b786=_0x591458['authorization_servers']?.[0x0];if(!_0x17b786)throw new Error('No\x20authorization_servers\x20in\x20protected\x20resource\x20metadata');console[_0xbb140f(0x1e9)]('\x20'+_0x17b786);const _0x22835c=await fetchAuthServerMetadata(_0x17b786);let _0x5e649f,_0x42f315;const _0x50d369=await loadCachedClient();if(_0x50d369)_0x5e649f=_0x50d369['clientId'],_0x42f315=_0x50d369[_0xbb140f(0x1dd)];else{if(_0x22835c['registration_endpoint']){process[_0xbb140f(0x1aa)]['write']('Registering\x20OAuth\x20client...');const _0x5d9450=await _0x550f51['bIIeE'](fetch,_0x22835c['registration_endpoint'],{'method':_0x550f51[_0xbb140f(0x1c7)],'headers':{'Content-Type':_0x550f51['fZnEh']},'body':JSON['stringify']({'client_name':_0x550f51[_0xbb140f(0x1ec)],'redirect_uris':['http://localhost:'+CALLBACK_PORT+'/callback'],'grant_types':['authorization_code',_0x550f51['IVNea']],'response_types':[_0xbb140f(0x193)],'token_endpoint_auth_method':_0x550f51[_0xbb140f(0x1c3)]})});if(!_0x5d9450['ok']){const _0x4f9d03=await _0x5d9450['text']();throw new Error('Client\x20registration\x20failed:\x20'+_0x4f9d03);}const _0x75e0dd=await _0x5d9450[_0xbb140f(0x1c5)]();_0x5e649f=_0x75e0dd[_0xbb140f(0x1c4)],_0x42f315=_0x75e0dd['client_secret'],await saveCachedClient(_0x5e649f,_0x42f315),console[_0xbb140f(0x1e9)](_0xbb140f(0x1ad));}else throw new Error(_0x550f51[_0xbb140f(0x1f4)]);}const _0x1484f2=randomBytes(0x20)[_0xbb140f(0x19b)]('base64url'),_0x432b30=_0x550f51[_0xbb140f(0x208)](createHash,_0x550f51['GocLR'])[_0xbb140f(0x19f)](_0x1484f2)['digest'](_0xbb140f(0x215)),_0x3780ad=_0x550f51['WZbMa'](randomBytes,0x10)['toString'](_0x550f51['nMmyu']),_0x379b55=new URL(_0x22835c[_0xbb140f(0x1c9)]);_0x379b55['searchParams'][_0xbb140f(0x1c8)]('response_type','code'),_0x379b55[_0xbb140f(0x1a0)][_0xbb140f(0x1c8)](_0xbb140f(0x1c4),_0x5e649f),_0x379b55[_0xbb140f(0x1a0)][_0xbb140f(0x1c8)]('redirect_uri','http://localhost:'+CALLBACK_PORT+_0xbb140f(0x1cd)),_0x379b55['searchParams']['set'](_0x550f51['lyaNI'],_0x432b30),_0x379b55['searchParams'][_0xbb140f(0x1c8)](_0x550f51[_0xbb140f(0x1bc)],_0xbb140f(0x200)),_0x379b55[_0xbb140f(0x1a0)][_0xbb140f(0x1c8)](_0x550f51['yUvJd'],_0x3780ad);_0x591458['resource']&&_0x379b55['searchParams'][_0xbb140f(0x1c8)](_0x550f51[_0xbb140f(0x1f7)],_0x591458['resource']);console[_0xbb140f(0x1e9)](_0x550f51[_0xbb140f(0x21c)]),console['log'](_0xbb140f(0x1ed)+_0x379b55[_0xbb140f(0x19b)]()+'\x0a'),await openBrowser(_0x379b55['toString']());const _0x34f441=await _0x550f51['NTDhV'](waitForCallback,_0x3780ad);process['stdout']['write'](_0xbb140f(0x1ef));const _0x100634=new URLSearchParams({'grant_type':'authorization_code','code':_0x34f441,'redirect_uri':_0xbb140f(0x1b4)+CALLBACK_PORT+'/callback','client_id':_0x5e649f,'code_verifier':_0x1484f2});_0x42f315&&_0x100634['set']('client_secret',_0x42f315);_0x591458[_0xbb140f(0x1ff)]&&_0x100634['set'](_0xbb140f(0x1ff),_0x591458['resource']);const _0x261d6d=await _0x550f51['bIIeE'](fetch,_0x22835c['token_endpoint'],{'method':'POST','headers':{'Content-Type':'application/x-www-form-urlencoded'},'body':_0x100634});if(!_0x261d6d['ok']){const _0x2d5de9=await _0x261d6d[_0xbb140f(0x191)]();throw new Error(_0xbb140f(0x1e5)+_0x2d5de9);}const _0x45f431=await _0x261d6d[_0xbb140f(0x1c5)]();return console[_0xbb140f(0x1e9)](_0x550f51[_0xbb140f(0x1ba)]),await saveCachedToken(_0x45f431['access_token'],_0x45f431[_0xbb140f(0x1fa)],_0x45f431['expires_in']),_0x45f431['access_token'];}async function callGetCliToken(_0x55ed6e,_0x5efad2){const _0x354a37=_0x207f1f,_0x4eb835={'UwEVW':_0x354a37(0x1db),'Jxcgq':_0x354a37(0x1b1),'oWNGY':function(_0x1637dc,_0x4b9441){return _0x1637dc(_0x4b9441);},'ejcuX':'2.0','ZBloz':'2025-03-26','dqqxa':'ranger-cli','RWFVd':_0x354a37(0x1df),'ldvWJ':'\x20done','tYaaR':function(_0x3cf02f,_0x30bbe7,_0x4afed7){return _0x3cf02f(_0x30bbe7,_0x4afed7);},'hvaHT':_0x354a37(0x204),'Htczt':'notifications/initialized','prYuB':'Requesting\x20CLI\x20token...','VxFwE':function(_0x28065e,_0x90c385){return _0x28065e(_0x90c385);},'qUkWg':_0x354a37(0x1fd),'DZsAx':'\x0aUnexpected\x20response\x20structure:','mBFbA':_0x354a37(0x1ac),'WWwio':function(_0x425632){return _0x425632();},'yNPIY':'.ranger','rzXIk':_0x354a37(0x1eb),'DGiWJ':function(_0x24448c,_0x5d3349,_0x3edf55,_0x92dcc5){return _0x24448c(_0x5d3349,_0x3edf55,_0x92dcc5);},'QHEOn':function(_0x2598bf,_0x425651,_0x248a6b){return _0x2598bf(_0x425651,_0x248a6b);},'nEhym':_0x354a37(0x207),'MYKbw':'Run\x20`ranger\x20status`\x20to\x20verify\x20authentication.\x0a'},_0x286dba={'Content-Type':_0x4eb835['UwEVW'],'Accept':_0x354a37(0x1a7)};_0x5efad2&&(_0x286dba['Authorization']='Bearer\x20'+_0x5efad2);const _0x2ac9f2=async _0x49e075=>{const _0x5a62f2=_0x354a37,_0x3a23eb=await fetch(_0x55ed6e,{'method':'POST','headers':_0x286dba,'body':JSON['stringify'](_0x49e075)});if(!_0x3a23eb['ok']){const _0x2bab8c=await _0x3a23eb['text']();throw new Error('HTTP\x20'+_0x3a23eb[_0x5a62f2(0x1f8)]+':\x20'+_0x2bab8c);}return parseResponse(_0x3a23eb);};process['stdout'][_0x354a37(0x1d0)](_0x4eb835[_0x354a37(0x1dc)]);const _0x1037de=await _0x4eb835[_0x354a37(0x194)](_0x2ac9f2,{'jsonrpc':_0x4eb835['ejcuX'],'id':0x1,'method':_0x354a37(0x192),'params':{'protocolVersion':_0x4eb835['ZBloz'],'capabilities':{},'clientInfo':{'name':_0x4eb835['dqqxa'],'version':_0x4eb835['RWFVd']}}});if(_0x1037de['error'])throw new Error(_0x354a37(0x202)+(_0x1037de[_0x354a37(0x1b2)][_0x354a37(0x1ce)]??JSON['stringify'](_0x1037de['error'])));console[_0x354a37(0x1e9)](_0x4eb835['ldvWJ']),await _0x4eb835[_0x354a37(0x1bf)](fetch,_0x55ed6e,{'method':_0x4eb835[_0x354a37(0x1cc)],'headers':_0x286dba,'body':JSON[_0x354a37(0x1be)]({'jsonrpc':_0x4eb835[_0x354a37(0x21b)],'method':_0x4eb835['Htczt']})})['then'](_0x553e9a=>_0x553e9a[_0x354a37(0x191)]()),process[_0x354a37(0x1aa)][_0x354a37(0x1d0)](_0x4eb835[_0x354a37(0x1d6)]);const _0x1f2fe0=await _0x4eb835[_0x354a37(0x197)](_0x2ac9f2,{'jsonrpc':_0x354a37(0x218),'id':0x2,'method':'tools/call','params':{'name':_0x4eb835['qUkWg'],'arguments':{}}});if(_0x1f2fe0[_0x354a37(0x1b2)])throw new Error(_0x354a37(0x20d)+(_0x1f2fe0['error']['message']??JSON[_0x354a37(0x1be)](_0x1f2fe0['error'])));console[_0x354a37(0x1e9)]('\x20done');const _0x3515c7=_0x4eb835['oWNGY'](extractToken,_0x1f2fe0['result']);if(!_0x3515c7){console['error'](_0x4eb835[_0x354a37(0x1da)]),console['error'](JSON[_0x354a37(0x1be)](_0x1f2fe0['result'],null,0x2));throw new Error(_0x4eb835[_0x354a37(0x190)]);}const _0x38f9c7=_0x4eb835['tYaaR'](join,_0x4eb835[_0x354a37(0x1cf)](homedir),_0x4eb835['yNPIY']),_0x46e740=_0x4eb835['tYaaR'](join,_0x38f9c7,_0x4eb835[_0x354a37(0x1bd)]);await _0x4eb835['tYaaR'](mkdir,_0x38f9c7,{'recursive':!![]}),await _0x4eb835['DGiWJ'](writeFile,_0x46e740,_0x3515c7,{'mode':0x180}),await writeFile(_0x4eb835['QHEOn'](join,_0x38f9c7,_0x4eb835['nEhym']),_0x55ed6e,{'mode':0x180}),console[_0x354a37(0x1e9)](_0x354a37(0x21e)+_0x46e740),console[_0x354a37(0x1e9)](_0x4eb835[_0x354a37(0x196)]);}async function fetchAuthServerMetadata(_0x31a10d){const _0x2f3aab=_0x31a10d+'/.well-known/oauth-authorization-server',_0x5d6fb7=await fetch(_0x2f3aab);if(!_0x5d6fb7['ok'])throw new Error('Could\x20not\x20fetch\x20auth\x20server\x20metadata\x20from\x20'+_0x2f3aab+':\x20'+_0x5d6fb7['status']);return _0x5d6fb7['json']();}function waitForCallback(_0x11dca4){const _0x5041c7={'IeFtK':function(_0x103ebf){return _0x103ebf();},'WuGQL':function(_0x3ef00b,_0x4ee61d){return _0x3ef00b(_0x4ee61d);},'cpHuA':'text/html','KCLCg':function(_0x2e3b45,_0x5840a3){return _0x2e3b45!==_0x5840a3;}};return new Promise((_0x14dc3f,_0x2a41a2)=>{const _0x5c126f=_0x375a,_0x548982=()=>{const _0xb24a34=_0x375a;_0xbe600b['closeAllConnections'](),_0xbe600b[_0xb24a34(0x21f)]();},_0x591de7=setTimeout(()=>{const _0x54ad53=_0x375a;_0x5041c7['IeFtK'](_0x548982),_0x5041c7['WuGQL'](_0x2a41a2,new OAuthTimeoutError(_0x54ad53(0x20b)));},0x1d4c0),_0xbe600b=createServer((_0x48c381,_0x172e87)=>{const _0x5928dc=_0x375a,_0xb34b4b=new URL(_0x48c381[_0x5928dc(0x1f6)]??'/','http://localhost:'+CALLBACK_PORT);if(_0xb34b4b[_0x5928dc(0x203)]!==_0x5928dc(0x1cd)){_0x172e87[_0x5928dc(0x1af)](0x194),_0x172e87[_0x5928dc(0x1e2)]('Not\x20found');return;}const _0x21f812=_0xb34b4b['searchParams'][_0x5928dc(0x1b9)]('code'),_0x26399c=_0xb34b4b[_0x5928dc(0x1a0)][_0x5928dc(0x1b9)]('state'),_0xc21a08=_0xb34b4b['searchParams'][_0x5928dc(0x1b9)](_0x5928dc(0x1b2));if(_0xc21a08){const _0x293923=_0xb34b4b['searchParams'][_0x5928dc(0x1b9)]('error_description')??_0xc21a08;_0x172e87['writeHead'](0xc8,{'Content-Type':_0x5041c7[_0x5928dc(0x1bb)]}),_0x172e87['end'](_0x5928dc(0x1d8)+_0x293923+'</p><p>You\x20can\x20close\x20this\x20window.</p></body></html>'),_0x5041c7['WuGQL'](clearTimeout,_0x591de7),_0x5041c7['IeFtK'](_0x548982),_0x2a41a2(new Error(_0x5928dc(0x1a9)+_0x293923));return;}if(!_0x21f812||_0x5041c7['KCLCg'](_0x26399c,_0x11dca4)){_0x172e87['writeHead'](0x190,{'Content-Type':'text/html'}),_0x172e87[_0x5928dc(0x1e2)](_0x5928dc(0x205));return;}_0x172e87[_0x5928dc(0x1af)](0xc8,{'Content-Type':'text/html'}),_0x172e87['end']('<html><body><h2>Authenticated!</h2><p>You\x20can\x20close\x20this\x20window\x20and\x20return\x20to\x20the\x20terminal.</p></body></html>'),_0x5041c7[_0x5928dc(0x1b8)](clearTimeout,_0x591de7),_0x548982(),_0x14dc3f(_0x21f812);});_0xbe600b['listen'](CALLBACK_PORT,_0x5c126f(0x1ea));});}async function openBrowser(_0x2c756a){const _0x1163e5=_0x207f1f,_0x39d406={'Jptdh':function(_0x3db972,_0x2e4a26){return _0x3db972===_0x2e4a26;},'IvNiT':_0x1163e5(0x214),'cvGgY':'open','sFLjd':'win32','peqwi':function(_0x431716,_0x1288ac){return _0x431716(_0x1288ac);}},_0x35064f=_0x39d406[_0x1163e5(0x1f3)](process[_0x1163e5(0x1ee)],_0x39d406[_0x1163e5(0x217)])?_0x39d406['cvGgY']:process['platform']===_0x39d406[_0x1163e5(0x20c)]?'start':_0x1163e5(0x1e3);_0x39d406[_0x1163e5(0x1cb)](exec,_0x35064f+'\x20\x22'+_0x2c756a+'\x22');}let currentOrigin='';async function loadCachedToken(){const _0x3b46e1=_0x207f1f,_0x16bf3b={'fGFYE':_0x3b46e1(0x19c),'zBGKS':function(_0x96b666,_0x12c609){return _0x96b666!==_0x12c609;}};try{const _0x24d8a1=JSON[_0x3b46e1(0x18e)](await readFile(TOKEN_CACHE_PATH,_0x16bf3b[_0x3b46e1(0x1a1)]));if(_0x24d8a1['origin']&&_0x16bf3b['zBGKS'](_0x24d8a1['origin'],currentOrigin))return null;if(_0x24d8a1['expiresAt']&&Date[_0x3b46e1(0x1ae)]()>_0x24d8a1['expiresAt'])return null;return _0x24d8a1['accessToken']??null;}catch{return null;}}async function saveCachedToken(_0x64710a,_0x229fb5,_0x9ee55d){const _0x389af9=_0x207f1f,_0x349fbe={'QxvsV':function(_0x16ee80){return _0x16ee80();},'NPTTC':function(_0x3824a9,_0x4bc5b3){return _0x3824a9+_0x4bc5b3;},'GkYWA':function(_0x2ee375,_0x388457,_0x4445bf){return _0x2ee375(_0x388457,_0x4445bf);},'IAiAD':function(_0xb6e010){return _0xb6e010();},'DXFVj':function(_0x1e4019,_0x48aeee,_0x28fe9b,_0x122588){return _0x1e4019(_0x48aeee,_0x28fe9b,_0x122588);}},_0x396aa2=await _0x349fbe['QxvsV'](loadCachedData),_0x186dcd={..._0x396aa2,'origin':currentOrigin,'accessToken':_0x64710a,'refreshToken':_0x229fb5??_0x396aa2?.[_0x389af9(0x1ab)],'expiresAt':_0x9ee55d?_0x349fbe[_0x389af9(0x19e)](Date[_0x389af9(0x1ae)](),_0x9ee55d*0x3e8):undefined};await _0x349fbe[_0x389af9(0x216)](mkdir,join(_0x349fbe['IAiAD'](homedir),'.ranger'),{'recursive':!![]}),await _0x349fbe[_0x389af9(0x212)](writeFile,TOKEN_CACHE_PATH,JSON[_0x389af9(0x1be)](_0x186dcd),{'mode':0x180});}async function loadCachedClient(){const _0x350b8a=_0x207f1f,_0x119408={'yCani':function(_0x1f210c,_0x5a0dba){return _0x1f210c!==_0x5a0dba;}},_0x4e5ce1=await loadCachedData();if(_0x4e5ce1?.['origin']&&_0x119408['yCani'](_0x4e5ce1['origin'],currentOrigin))return null;return _0x4e5ce1?.[_0x350b8a(0x209)]?{'clientId':_0x4e5ce1[_0x350b8a(0x209)],'clientSecret':_0x4e5ce1['clientSecret']}:null;}async function clearCachedClient(){const _0x3282e7=_0x207f1f,_0x746d12={'WmIyZ':function(_0x32d657,_0x2dd4d3,_0x31be0c,_0xb0b45c){return _0x32d657(_0x2dd4d3,_0x31be0c,_0xb0b45c);}},_0xbd8247=await loadCachedData();if(!_0xbd8247)return;const {clientId:_0x11df10,clientSecret:_0x2ceabb,..._0x16cebe}=_0xbd8247;await _0x746d12[_0x3282e7(0x1f0)](writeFile,TOKEN_CACHE_PATH,JSON[_0x3282e7(0x1be)](_0x16cebe),{'mode':0x180});}async function saveCachedClient(_0x1f2c24,_0x516ac5){const _0x14d96d=_0x207f1f,_0x55a32f={'aNWVd':'.ranger'},_0x4cdf75=await loadCachedData(),_0x4f2554={..._0x4cdf75,'origin':currentOrigin,'accessToken':_0x4cdf75?.['accessToken']??'','clientId':_0x1f2c24,'clientSecret':_0x516ac5};await mkdir(join(homedir(),_0x55a32f[_0x14d96d(0x1a6)]),{'recursive':!![]}),await writeFile(TOKEN_CACHE_PATH,JSON[_0x14d96d(0x1be)](_0x4f2554),{'mode':0x180});}async function loadCachedData(){try{return JSON['parse'](await readFile(TOKEN_CACHE_PATH,'utf-8'));}catch{return null;}}async function parseResponse(_0x1b1b49){const _0x495c98=_0x207f1f,_0x588cb8={'mpREq':_0x495c98(0x220),'vgUiG':_0x495c98(0x1a2),'rTGNP':function(_0x32277b,_0x393eea){return _0x32277b!==_0x393eea;},'SIFaP':'No\x20JSON-RPC\x20response\x20found\x20in\x20SSE\x20stream'},_0x11b442=_0x1b1b49[_0x495c98(0x20f)]['get'](_0x588cb8['mpREq'])??'';if(_0x11b442[_0x495c98(0x21a)](_0x495c98(0x1e6))){const _0x3a413e=await _0x1b1b49[_0x495c98(0x191)]();for(const _0x115c2e of _0x3a413e[_0x495c98(0x1f9)]('\x0a')){const _0x12a989=_0x115c2e['trim']();if(_0x12a989['startsWith'](_0x588cb8[_0x495c98(0x1d2)])){const _0x413199=_0x12a989['slice'](_0x495c98(0x1a2)[_0x495c98(0x1e4)])[_0x495c98(0x1e8)]();if(!_0x413199)continue;try{const _0x5293b0=JSON[_0x495c98(0x18e)](_0x413199);if(_0x588cb8[_0x495c98(0x19d)](_0x5293b0['id'],undefined)||_0x5293b0['error'])return _0x5293b0;}catch{}}}throw new Error(_0x588cb8[_0x495c98(0x211)]);}return _0x1b1b49[_0x495c98(0x1c5)]();}function extractToken(_0x459d29){const _0x2545b3=_0x207f1f,_0x17c6cb={'dONqR':function(_0x275704,_0x5b3a93){return _0x275704===_0x5b3a93;},'QRTmL':'text','RoVHR':function(_0x1c1156,_0x36b507){return _0x1c1156===_0x36b507;}};if(!_0x459d29)return null;const _0x57bb28=_0x459d29['structuredContent'];if(_0x57bb28?.[_0x2545b3(0x1b3)]&&_0x17c6cb[_0x2545b3(0x1d9)](typeof _0x57bb28[_0x2545b3(0x1b3)],_0x2545b3(0x1b5)))return _0x57bb28[_0x2545b3(0x1b3)];if(_0x459d29[_0x2545b3(0x1b7)]){const _0x1e50c5=_0x459d29[_0x2545b3(0x1a8)];throw new Error(_0x2545b3(0x1fc)+(_0x1e50c5?.[0x0]?.['text']??_0x2545b3(0x18f)));}const _0x5cd4a4=_0x459d29[_0x2545b3(0x1a8)];if(_0x5cd4a4)for(const _0x6f23f2 of _0x5cd4a4){if(_0x6f23f2['type']===_0x17c6cb[_0x2545b3(0x1fe)]&&_0x6f23f2[_0x2545b3(0x191)]){try{const _0x4a3ebe=JSON['parse'](_0x6f23f2['text']);if(_0x17c6cb[_0x2545b3(0x21d)](typeof _0x4a3ebe?.['token'],'string'))return _0x4a3ebe['token'];}catch{}const _0x538c97=_0x6f23f2['text']['match'](/(rngr_[A-Za-z0-9_-]+)/);if(_0x538c97)return _0x538c97[0x1];}}return null;}
@@ -1 +1 @@
1
- (function(_0x4e2a80,_0x5e08e1){var _0x492407=_0x2e2e,_0x2987bf=_0x4e2a80();while(!![]){try{var _0x301e41=-parseInt(_0x492407(0x1cd))/0x1+parseInt(_0x492407(0x1bc))/0x2*(parseInt(_0x492407(0x1c9))/0x3)+-parseInt(_0x492407(0x1c0))/0x4*(-parseInt(_0x492407(0x1c8))/0x5)+parseInt(_0x492407(0x1c4))/0x6*(-parseInt(_0x492407(0x1c6))/0x7)+-parseInt(_0x492407(0x1c1))/0x8*(-parseInt(_0x492407(0x1bf))/0x9)+-parseInt(_0x492407(0x1c5))/0xa+-parseInt(_0x492407(0x1bb))/0xb;if(_0x301e41===_0x5e08e1)break;else _0x2987bf['push'](_0x2987bf['shift']());}catch(_0x3f9055){_0x2987bf['push'](_0x2987bf['shift']());}}}(_0x3248,0x889f7));function _0x2e2e(_0x5ccbd6,_0x58e939){_0x5ccbd6=_0x5ccbd6-0x1bb;var _0x3248e7=_0x3248();var _0x2e2ed3=_0x3248e7[_0x5ccbd6];return _0x2e2ed3;}export async function migrateProfile(_0xf174de,_0x319aa8){var _0x1e7ec2=_0x2e2e,_0x53683b={'mZGsM':function(_0x6beb72,_0x545d49){return _0x6beb72+_0x545d49;},'NdaFO':function(_0x39e188,_0x4a6391){return _0x39e188+_0x4a6391;},'SzSgI':'\x20\x20ranger\x20profile\x20add\x20<name>\x0a','JksFd':'\x20\x20https://docs.ranger.net/main/concepts/profiles\x0a','ftcOw':'Existing\x20sessions\x20in\x20your\x20old\x20<project>/.ranger/\x20dirs\x20still\x20work\x20as\x20a\x0a'};console[_0x1e7ec2(0x1c3)](_0x53683b[_0x1e7ec2(0x1c2)](_0x53683b[_0x1e7ec2(0x1bd)](_0x53683b['NdaFO'](_0x53683b['NdaFO']('ranger\x20profile\x20migrate\x20is\x20no\x20longer\x20supported.\x0a','\x0a')+_0x1e7ec2(0x1cc)+_0x53683b[_0x1e7ec2(0x1c7)],'\x0a')+_0x1e7ec2(0x1be)+_0x53683b['JksFd'],'\x0a')+_0x53683b[_0x1e7ec2(0x1cb)],'fallback;\x20you\x20can\x20delete\x20them\x20once\x20you\x20have\x20re-auth-ed.')),process[_0x1e7ec2(0x1ca)](0x1);}function _0x3248(){var _0x5802b9=['exit','ftcOw','To\x20set\x20up\x20a\x20fresh\x20profile,\x20run:\x0a','437699IZSCgj','7603508OzAehF','36906pJtnmX','NdaFO','For\x20CI\x20/\x20background\x20agents\x20and\x20other\x20setup\x20options,\x20see:\x0a','4828635Lriycq','8OUxFEy','8AImDTt','mZGsM','error','800616GtQHsK','2050500GuDRyC','21shOFoZ','SzSgI','1763890KcdhSc','171ejOUnX'];_0x3248=function(){return _0x5802b9;};return _0x3248();}
1
+ function _0x4331(_0x2b731c,_0x43f8b8){_0x2b731c=_0x2b731c-0x11b;var _0x5c8437=_0x5c84();var _0x433188=_0x5c8437[_0x2b731c];return _0x433188;}function _0x5c84(){var _0x4d5b29=['12119030uzHrSc','\x20\x20ranger\x20profile\x20add\x20<name>\x0a','1899725xrSdzr','vCrgs','60140qGgclS','ranger\x20profile\x20migrate\x20is\x20no\x20longer\x20supported.\x0a','91588rjqxjL','85815lRfxyL','error','81VdgfeZ','4793397AveZZd','vwZCc','88Dilovo','For\x20CI\x20/\x20background\x20agents\x20and\x20other\x20setup\x20options,\x20see:\x0a','2450104uKsHTG','AUYwe','12LDrclt'];_0x5c84=function(){return _0x4d5b29;};return _0x5c84();}(function(_0x28c583,_0x55b0b0){var _0x2ac845=_0x4331,_0xd124c8=_0x28c583();while(!![]){try{var _0x19b36f=-parseInt(_0x2ac845(0x11f))/0x1+parseInt(_0x2ac845(0x129))/0x2+parseInt(_0x2ac845(0x124))/0x3*(-parseInt(_0x2ac845(0x121))/0x4)+parseInt(_0x2ac845(0x11d))/0x5*(parseInt(_0x2ac845(0x12b))/0x6)+parseInt(_0x2ac845(0x125))/0x7+parseInt(_0x2ac845(0x127))/0x8*(parseInt(_0x2ac845(0x122))/0x9)+-parseInt(_0x2ac845(0x11b))/0xa;if(_0x19b36f===_0x55b0b0)break;else _0xd124c8['push'](_0xd124c8['shift']());}catch(_0x2931e6){_0xd124c8['push'](_0xd124c8['shift']());}}}(_0x5c84,0xd7e70));export async function migrateProfile(_0x4b5a8c,_0x2eb096){var _0x27d3e5=_0x4331,_0xf02faf={'ROYLO':function(_0x358317,_0x502dd8){return _0x358317+_0x502dd8;},'vwZCc':function(_0x587446,_0x3caec1){return _0x587446+_0x3caec1;},'vCrgs':function(_0x421d9c,_0x1bf5ea){return _0x421d9c+_0x1bf5ea;},'AUYwe':_0x27d3e5(0x11c),'vqAru':_0x27d3e5(0x128),'epbGZ':'Existing\x20sessions\x20in\x20your\x20old\x20<project>/.ranger/\x20dirs\x20still\x20work\x20as\x20a\x0a'};console[_0x27d3e5(0x123)](_0xf02faf['ROYLO'](_0xf02faf['vwZCc'](_0xf02faf[_0x27d3e5(0x126)](_0xf02faf['vwZCc'](_0xf02faf['vwZCc'](_0xf02faf[_0x27d3e5(0x11e)](_0x27d3e5(0x120)+'\x0a','To\x20set\x20up\x20a\x20fresh\x20profile,\x20run:\x0a'),_0xf02faf[_0x27d3e5(0x12a)]),'\x0a'),_0xf02faf['vqAru'])+'\x20\x20https://docs.ranger.net/main/concepts/profiles\x0a'+'\x0a',_0xf02faf['epbGZ']),'fallback;\x20you\x20can\x20delete\x20them\x20once\x20you\x20have\x20re-auth-ed.')),process['exit'](0x1);}
@@ -1 +1 @@
1
- (function(_0x4e3383,_0x58390f){const _0x2002ec=_0x3442,_0x5d61c7=_0x4e3383();while(!![]){try{const _0x1fc6a2=-parseInt(_0x2002ec(0x10b))/0x1+-parseInt(_0x2002ec(0xfb))/0x2+parseInt(_0x2002ec(0x11a))/0x3+-parseInt(_0x2002ec(0x10e))/0x4*(parseInt(_0x2002ec(0xf9))/0x5)+-parseInt(_0x2002ec(0x111))/0x6+parseInt(_0x2002ec(0xea))/0x7*(-parseInt(_0x2002ec(0x10a))/0x8)+-parseInt(_0x2002ec(0xf3))/0x9*(-parseInt(_0x2002ec(0xfe))/0xa);if(_0x1fc6a2===_0x58390f)break;else _0x5d61c7['push'](_0x5d61c7['shift']());}catch(_0x47f962){_0x5d61c7['push'](_0x5d61c7['shift']());}}}(_0x3db0,0x69be0));import{join}from'path';import{existsSync}from'fs';import _0x244a92 from'inquirer';import{skillup}from'../skillup.js';function _0x3db0(){const _0x2e2149=['\x20level)...\x0a','log','NUrtA','add','\x0aYou\x20can\x20install\x20manually\x20with:','IewYc','xwMlI','push','confirm','HBDsc','htquH','35Lpexpo','✓\x20Claude\x20Code\x20plugin\x20already\x20installed','GwXgX','✓\x20Claude\x20Code\x20plugin\x20enabled','\x0aInstalling\x20Claude\x20Code\x20plugin\x20(','NByle','\x20\x20claude\x20plugin\x20marketplace\x20add\x20ranger-testing/trailhead','\x20\x20claude\x20plugin\x20install\x20ranger@trailhead\x20--scope\x20','YeQsx','30141WWLytG','trailhead','xxXQf','Would\x20you\x20like\x20to\x20install\x20skills?','ranger-testing/trailhead','list','20egFTho','--scope','1245744dwFKax','user','hDePL','5950SZqizE','error','success','ZzrkH','FEzKm','prompt','fqWmq','CFpqA','fumtJ','install','includes','❌\x20Failed\x20to\x20add\x20marketplace:','464728jpQAIM','400042RCZHdi','wantsSkillup','cywYj','501320IZGiYd','ranger','nQYSZ','1596582cSNTtT','plugin','pluginScope','owGRj','.claude','❌\x20Failed\x20to\x20install\x20plugin:','ranger@trailhead','enable','WTHVt','1563753wPSWny'];_0x3db0=function(){return _0x2e2149;};return _0x3db0();}import{runClaudeCommand,isMarketplaceAdded,isPluginInstalled}from'../utils/claudePlugin.js';function _0x3442(_0x30e37d,_0x34702d){_0x30e37d=_0x30e37d-0xe2;const _0x3db0f8=_0x3db0();let _0x3442e6=_0x3db0f8[_0x30e37d];return _0x3442e6;}import{getProjectRoot,getSkillsDir}from'../utils/claudeConfig.js';export async function ensureClaudePlugin(_0x567515){const _0x1d7d0f=_0x3442,_0x3abba1={'IGyCV':_0x1d7d0f(0xeb),'hYwoW':function(_0x25d43a,_0x12f79f){return _0x25d43a(_0x12f79f);},'CFpqA':_0x1d7d0f(0x115),'svBLY':'project','xyfoI':'\x0a📦\x20Claude\x20Code\x20Plugin\x0a','owGRj':'pluginScope','nQYSZ':'User\x20(available\x20in\x20all\x20your\x20projects)','DdCOH':function(_0x51ab45,_0x27822e){return _0x51ab45(_0x27822e);},'XGRrD':'✓\x20Marketplace\x20already\x20added','MDRmV':_0x1d7d0f(0xe2),'ERUEC':_0x1d7d0f(0xe3),'sEncM':_0x1d7d0f(0xf0),'cywYj':function(_0x43eb53,_0x4fe10f,_0x35df1c){return _0x43eb53(_0x4fe10f,_0x35df1c);},'JFHHv':_0x1d7d0f(0x112),'GARUM':_0x1d7d0f(0x107),'fumtJ':_0x1d7d0f(0xfa),'YeQsx':function(_0x179802,_0x28fdfc){return _0x179802===_0x28fdfc;},'nvXWy':_0x1d7d0f(0x116),'VRWPL':'✓\x20Claude\x20Code\x20plugin\x20installed\x20successfully','xqDWF':_0x1d7d0f(0x118),'FEzKm':'ranger@trailhead','GwXgX':function(_0xebf9c4,_0x25efd8,_0x2bc2c4){return _0xebf9c4(_0x25efd8,_0x2bc2c4);},'xxXQf':function(_0x54d578,_0xd1b0e7){return _0x54d578===_0xd1b0e7;},'JXEJE':function(_0x2d21c7){return _0x2d21c7();},'NByle':'⚠\x20Failed\x20to\x20enable\x20plugin:','JmKtZ':_0x1d7d0f(0xed)},_0x35e3d6=await isPluginInstalled('ranger@trailhead');if(_0x35e3d6)return console[_0x1d7d0f(0x11c)](_0x3abba1['IGyCV']),![];const _0x5917ff=_0x3abba1['hYwoW'](existsSync,join(getProjectRoot(),_0x3abba1[_0x1d7d0f(0x105)]));let _0x1e1b47;if(_0x567515)_0x1e1b47=_0x567515;else{if(_0x5917ff)_0x1e1b47=_0x3abba1['svBLY'];else{console[_0x1d7d0f(0x11c)](_0x3abba1['xyfoI']);const _0x24aec3=await _0x244a92[_0x1d7d0f(0x103)]([{'type':_0x1d7d0f(0xf8),'name':_0x3abba1[_0x1d7d0f(0x114)],'message':'Where\x20should\x20the\x20plugin\x20be\x20installed?','choices':[{'name':_0x3abba1[_0x1d7d0f(0x110)],'value':'user'},{'name':'Project\x20(shared\x20with\x20team\x20via\x20git)','value':_0x3abba1['svBLY']}],'default':_0x1d7d0f(0xfc)}]);_0x1e1b47=_0x24aec3[_0x1d7d0f(0x113)];}}console['log'](_0x1d7d0f(0xee)+_0x1e1b47+_0x1d7d0f(0x11b));const _0x3e9a7a=await _0x3abba1['DdCOH'](isMarketplaceAdded,_0x1d7d0f(0xf4));let _0x1ec509=_0x3e9a7a;if(_0x3e9a7a)console['log'](_0x3abba1['XGRrD']);else{const _0xc79d55=await runClaudeCommand(['plugin','marketplace',_0x3abba1['MDRmV'],_0x1d7d0f(0xf7)]);!_0xc79d55[_0x1d7d0f(0x100)]?(console['error'](_0x1d7d0f(0x109),_0xc79d55[_0x1d7d0f(0xff)]),console[_0x1d7d0f(0x11c)](_0x3abba1['ERUEC']),console[_0x1d7d0f(0x11c)](_0x3abba1['sEncM']),console[_0x1d7d0f(0x11c)]('\x20\x20claude\x20plugin\x20install\x20ranger@trailhead\x20--scope\x20'+_0x1e1b47)):_0x1ec509=!![];}if(_0x1ec509){const _0x1d2c19=await _0x3abba1[_0x1d7d0f(0x10d)](runClaudeCommand,[_0x3abba1['JFHHv'],_0x3abba1['GARUM'],_0x1d7d0f(0x117),_0x3abba1[_0x1d7d0f(0x106)],_0x1e1b47],{'cwd':_0x3abba1[_0x1d7d0f(0xf2)](_0x1e1b47,'project')?getProjectRoot():undefined});if(!_0x1d2c19[_0x1d7d0f(0x100)])console[_0x1d7d0f(0xff)](_0x3abba1['nvXWy'],_0x1d2c19[_0x1d7d0f(0xff)]),console[_0x1d7d0f(0x11c)](_0x3abba1['ERUEC']),console[_0x1d7d0f(0x11c)](_0x1d7d0f(0xf1)+_0x1e1b47);else{console['log'](_0x3abba1['VRWPL']);const _0x21a06c=[_0x1d7d0f(0x112),_0x3abba1['xqDWF'],_0x3abba1[_0x1d7d0f(0x102)]];_0x3abba1[_0x1d7d0f(0xf2)](_0x1e1b47,'project')&&_0x21a06c[_0x1d7d0f(0xe6)](_0x1d7d0f(0xfa),_0x3abba1['svBLY']);const _0x111940=await _0x3abba1[_0x1d7d0f(0xec)](runClaudeCommand,_0x21a06c,{'captureOutput':!![],'cwd':_0x3abba1[_0x1d7d0f(0xf5)](_0x1e1b47,'project')?_0x3abba1['JXEJE'](getProjectRoot):undefined}),_0x2a0f24=_0x111940['output']?.[_0x1d7d0f(0x108)]('already\x20enabled');!_0x111940['success']&&!_0x2a0f24?console['error'](_0x3abba1[_0x1d7d0f(0xef)],_0x111940['error']):console['log'](_0x3abba1['JmKtZ']);}}return!![];}export async function ensureClaudeSkills(_0x535c15){const _0x1b5a46=_0x3442,_0x5afaf1={'HBDsc':function(_0x194395,_0x44c656,_0x20472b,_0x9f96ae){return _0x194395(_0x44c656,_0x20472b,_0x9f96ae);},'htquH':'user','fqWmq':function(_0x2800dd,_0x30ea39,_0x28e116,_0x26bc4e){return _0x2800dd(_0x30ea39,_0x28e116,_0x26bc4e);},'urVIY':'SKILL.md','ZDSjY':function(_0x1719eb,_0x4c6e8e){return _0x1719eb||_0x4c6e8e;},'NUrtA':'✓\x20Ranger\x20skills\x20already\x20installed','yxunK':function(_0x5c5a14,_0x1cf9db){return _0x5c5a14(_0x1cf9db);},'IewYc':function(_0x3657a8,_0x115da8,_0x188c1a){return _0x3657a8(_0x115da8,_0x188c1a);},'ZzrkH':function(_0x17c5f7){return _0x17c5f7();},'WTHVt':function(_0x4bfab5,_0x19b851){return _0x4bfab5(_0x19b851);},'hDePL':function(_0x146a70,_0xcd5592){return _0x146a70(_0xcd5592);},'fyMzn':'project','xwMlI':_0x1b5a46(0xf6)},_0x534a7a=existsSync(_0x5afaf1[_0x1b5a46(0xe8)](join,getSkillsDir(_0x5afaf1[_0x1b5a46(0xe9)]),'ranger','SKILL.md')),_0x5ea164=existsSync(_0x5afaf1[_0x1b5a46(0x104)](join,getSkillsDir('project'),_0x1b5a46(0x10f),_0x5afaf1['urVIY']));if(_0x5afaf1['ZDSjY'](_0x534a7a,_0x5ea164))return console[_0x1b5a46(0x11c)](_0x5afaf1[_0x1b5a46(0x11d)]),![];const _0x37e1e6=_0x5afaf1['yxunK'](existsSync,_0x5afaf1[_0x1b5a46(0xe4)](join,_0x5afaf1[_0x1b5a46(0x101)](getProjectRoot),_0x1b5a46(0x115)));let _0x291b8f=!![];if(_0x535c15)await _0x5afaf1[_0x1b5a46(0x119)](skillup,{'autoInstall':_0x535c15,'suppressUsage':!![]});else{if(_0x37e1e6)await _0x5afaf1[_0x1b5a46(0xfd)](skillup,{'autoInstall':_0x5afaf1['fyMzn'],'suppressUsage':!![]});else{const _0x245efc=await _0x244a92['prompt']([{'type':_0x1b5a46(0xe7),'name':_0x1b5a46(0x10c),'message':_0x5afaf1[_0x1b5a46(0xe5)],'default':!![]}]);_0x291b8f=_0x245efc[_0x1b5a46(0x10c)],_0x291b8f&&await skillup({'suppressUsage':!![]});}}return _0x291b8f;}
1
+ (function(_0x4cf266,_0x4712ea){const _0x46c98e=_0x1358,_0x2946a3=_0x4cf266();while(!![]){try{const _0x42ca63=-parseInt(_0x46c98e(0x128))/0x1*(-parseInt(_0x46c98e(0x10d))/0x2)+-parseInt(_0x46c98e(0x120))/0x3+-parseInt(_0x46c98e(0x11b))/0x4+parseInt(_0x46c98e(0x11e))/0x5*(-parseInt(_0x46c98e(0x10e))/0x6)+parseInt(_0x46c98e(0x13a))/0x7+parseInt(_0x46c98e(0x12e))/0x8*(-parseInt(_0x46c98e(0x12c))/0x9)+parseInt(_0x46c98e(0x125))/0xa*(parseInt(_0x46c98e(0x135))/0xb);if(_0x42ca63===_0x4712ea)break;else _0x2946a3['push'](_0x2946a3['shift']());}catch(_0x1ac07d){_0x2946a3['push'](_0x2946a3['shift']());}}}(_0x9cf1,0x69e1e));import{join}from'path';import{existsSync}from'fs';import _0x2ba6ee from'inquirer';import{skillup}from'../skillup.js';import{runClaudeCommand,isMarketplaceAdded,isPluginInstalled}from'../utils/claudePlugin.js';function _0x1358(_0x39d1c5,_0x2e081b){_0x39d1c5=_0x39d1c5-0x107;const _0x9cf162=_0x9cf1();let _0x135839=_0x9cf162[_0x39d1c5];return _0x135839;}import{getProjectRoot,getSkillsDir}from'../utils/claudeConfig.js';export async function ensureClaudePlugin(_0x432227){const _0x413164=_0x1358,_0x2a4b57={'FIjfl':_0x413164(0x11a),'LrWqk':_0x413164(0x108),'Hludo':function(_0x5566c7,_0x33fff0,_0xd7700e){return _0x5566c7(_0x33fff0,_0xd7700e);},'PxrsF':function(_0xd3d049){return _0xd3d049();},'mtzTW':_0x413164(0x143),'gyiZR':'\x0a📦\x20Claude\x20Code\x20Plugin\x0a','fnUQg':'pluginScope','OaFkx':'user','xDfdi':_0x413164(0x13d),'sUtJr':function(_0x1a25a5,_0x5f1e6b){return _0x1a25a5(_0x5f1e6b);},'Wsftx':_0x413164(0x133),'KUbOR':'✓\x20Marketplace\x20already\x20added','fchqy':'plugin','KIFrj':_0x413164(0x110),'qAbUY':_0x413164(0x107),'snwKJ':'ranger-testing/trailhead','JKqNC':_0x413164(0x13c),'UFUDB':function(_0x4ccdc9,_0x306c8f,_0x1c7acf){return _0x4ccdc9(_0x306c8f,_0x1c7acf);},'CkTDJ':'❌\x20Failed\x20to\x20install\x20plugin:','vmHYK':'--scope','uxSqw':function(_0x2f4f66,_0x4c5b4a){return _0x2f4f66===_0x4c5b4a;},'qVbAA':_0x413164(0x113),'PRdNI':_0x413164(0x12f)},_0x3c85d3=await isPluginInstalled(_0x2a4b57['FIjfl']);if(_0x3c85d3)return console['log'](_0x2a4b57['LrWqk']),![];const _0x1dea7f=existsSync(_0x2a4b57['Hludo'](join,_0x2a4b57['PxrsF'](getProjectRoot),_0x413164(0x11c)));let _0x27421e;if(_0x432227)_0x27421e=_0x432227;else{if(_0x1dea7f)_0x27421e=_0x2a4b57[_0x413164(0x11d)];else{console[_0x413164(0x116)](_0x2a4b57[_0x413164(0x111)]);const _0x32f166=await _0x2ba6ee['prompt']([{'type':_0x413164(0x139),'name':_0x2a4b57[_0x413164(0x123)],'message':'Where\x20should\x20the\x20plugin\x20be\x20installed?','choices':[{'name':'User\x20(available\x20in\x20all\x20your\x20projects)','value':_0x2a4b57['OaFkx']},{'name':_0x2a4b57['xDfdi'],'value':'project'}],'default':_0x2a4b57[_0x413164(0x141)]}]);_0x27421e=_0x32f166[_0x413164(0x109)];}}console['log'](_0x413164(0x131)+_0x27421e+'\x20level)...\x0a');const _0x4124df=await _0x2a4b57[_0x413164(0x118)](isMarketplaceAdded,_0x2a4b57['Wsftx']);let _0x394052=_0x4124df;if(_0x4124df)console[_0x413164(0x116)](_0x2a4b57['KUbOR']);else{const _0x193abd=await runClaudeCommand([_0x2a4b57['fchqy'],_0x2a4b57[_0x413164(0x127)],_0x2a4b57[_0x413164(0x122)],_0x2a4b57[_0x413164(0x13f)]]);!_0x193abd['success']?(console['error'](_0x413164(0x142),_0x193abd[_0x413164(0x12b)]),console['log'](_0x2a4b57[_0x413164(0x10b)]),console[_0x413164(0x116)]('\x20\x20claude\x20plugin\x20marketplace\x20add\x20ranger-testing/trailhead'),console['log'](_0x413164(0x137)+_0x27421e)):_0x394052=!![];}if(_0x394052){const _0x18ec33=await _0x2a4b57[_0x413164(0x12d)](runClaudeCommand,['plugin',_0x413164(0x134),_0x413164(0x11a),'--scope',_0x27421e],{'cwd':_0x27421e===_0x2a4b57['mtzTW']?_0x2a4b57[_0x413164(0x10c)](getProjectRoot):undefined});if(!_0x18ec33['success'])console['error'](_0x2a4b57['CkTDJ'],_0x18ec33['error']),console[_0x413164(0x116)](_0x2a4b57['JKqNC']),console['log'](_0x413164(0x137)+_0x27421e);else{console[_0x413164(0x116)]('✓\x20Claude\x20Code\x20plugin\x20installed\x20successfully');const _0x1139f5=[_0x413164(0x140),_0x413164(0x126),_0x413164(0x11a)];_0x27421e===_0x2a4b57['mtzTW']&&_0x1139f5['push'](_0x2a4b57[_0x413164(0x10f)],_0x2a4b57['mtzTW']);const _0x358aff=await runClaudeCommand(_0x1139f5,{'captureOutput':!![],'cwd':_0x2a4b57[_0x413164(0x117)](_0x27421e,_0x2a4b57['mtzTW'])?getProjectRoot():undefined}),_0x239759=_0x358aff['output']?.[_0x413164(0x11f)]('already\x20enabled');!_0x358aff[_0x413164(0x132)]&&!_0x239759?console['error'](_0x2a4b57['qVbAA'],_0x358aff['error']):console['log'](_0x2a4b57[_0x413164(0x124)]);}}return!![];}export async function ensureClaudeSkills(_0x59f9d2){const _0x5705d9=_0x1358,_0x4958e2={'mMZxQ':function(_0x225939,_0x18ea7b){return _0x225939(_0x18ea7b);},'Ezcme':function(_0x40298b,_0x110bd6,_0x137a09,_0x4b139a){return _0x40298b(_0x110bd6,_0x137a09,_0x4b139a);},'Cxotu':'ranger','Ligar':'project','BseOy':_0x5705d9(0x129),'HmBzu':function(_0x592162,_0x417af1){return _0x592162||_0x417af1;},'cyPbI':_0x5705d9(0x136),'bAyCl':function(_0x317cc0,_0x424929,_0x430ea0){return _0x317cc0(_0x424929,_0x430ea0);},'EJSNT':'.claude','rLDrQ':function(_0x55284c,_0x4f7686){return _0x55284c(_0x4f7686);}},_0xb0a179=_0x4958e2[_0x5705d9(0x114)](existsSync,_0x4958e2['Ezcme'](join,_0x4958e2[_0x5705d9(0x114)](getSkillsDir,_0x5705d9(0x10a)),_0x4958e2['Cxotu'],_0x5705d9(0x129))),_0x242817=existsSync(join(getSkillsDir(_0x4958e2['Ligar']),_0x5705d9(0x121),_0x4958e2[_0x5705d9(0x119)]));if(_0x4958e2[_0x5705d9(0x138)](_0xb0a179,_0x242817))return console['log'](_0x4958e2[_0x5705d9(0x130)]),![];const _0x454089=existsSync(_0x4958e2['bAyCl'](join,getProjectRoot(),_0x4958e2[_0x5705d9(0x115)]));let _0x1c1e07=!![];if(_0x59f9d2)await skillup({'autoInstall':_0x59f9d2,'suppressUsage':!![]});else{if(_0x454089)await skillup({'autoInstall':_0x4958e2['Ligar'],'suppressUsage':!![]});else{const _0x193d03=await _0x2ba6ee['prompt']([{'type':_0x5705d9(0x112),'name':_0x5705d9(0x13e),'message':_0x5705d9(0x13b),'default':!![]}]);_0x1c1e07=_0x193d03['wantsSkillup'],_0x1c1e07&&await _0x4958e2[_0x5705d9(0x12a)](skillup,{'suppressUsage':!![]});}}return _0x1c1e07;}function _0x9cf1(){const _0x43f3ef=['PxrsF','646adCFqW','6qkOSqj','vmHYK','marketplace','gyiZR','confirm','⚠\x20Failed\x20to\x20enable\x20plugin:','mMZxQ','EJSNT','log','uxSqw','sUtJr','BseOy','ranger@trailhead','3034676laLDzr','.claude','mtzTW','516855aJvtBw','includes','2096061WLUeAg','ranger','qAbUY','fnUQg','PRdNI','10oqsETt','enable','KIFrj','206CejyPS','SKILL.md','rLDrQ','error','309087oGqyur','UFUDB','56TZJWkb','✓\x20Claude\x20Code\x20plugin\x20enabled','cyPbI','\x0aInstalling\x20Claude\x20Code\x20plugin\x20(','success','trailhead','install','15332273TSyWbG','✓\x20Ranger\x20skills\x20already\x20installed','\x20\x20claude\x20plugin\x20install\x20ranger@trailhead\x20--scope\x20','HmBzu','list','5421087luSvDo','Would\x20you\x20like\x20to\x20install\x20skills?','\x0aYou\x20can\x20install\x20manually\x20with:','Project\x20(shared\x20with\x20team\x20via\x20git)','wantsSkillup','snwKJ','plugin','OaFkx','❌\x20Failed\x20to\x20add\x20marketplace:','project','add','✓\x20Claude\x20Code\x20plugin\x20already\x20installed','pluginScope','user','JKqNC'];_0x9cf1=function(){return _0x43f3ef;};return _0x9cf1();}
@@ -1 +1 @@
1
- function _0x5b6e(_0x2ca7a9,_0x7fcc79){_0x2ca7a9=_0x2ca7a9-0xfc;const _0x258850=_0x2588();let _0x5b6e77=_0x258850[_0x2ca7a9];return _0x5b6e77;}(function(_0x5380bb,_0xd1f26f){const _0x9d6bc9=_0x5b6e,_0x3eaa9e=_0x5380bb();while(!![]){try{const _0x4ea46b=-parseInt(_0x9d6bc9(0x105))/0x1+parseInt(_0x9d6bc9(0x10d))/0x2*(-parseInt(_0x9d6bc9(0x116))/0x3)+-parseInt(_0x9d6bc9(0x117))/0x4*(-parseInt(_0x9d6bc9(0x112))/0x5)+parseInt(_0x9d6bc9(0x109))/0x6+parseInt(_0x9d6bc9(0x103))/0x7*(parseInt(_0x9d6bc9(0xfd))/0x8)+-parseInt(_0x9d6bc9(0x104))/0x9+parseInt(_0x9d6bc9(0x100))/0xa;if(_0x4ea46b===_0xd1f26f)break;else _0x3eaa9e['push'](_0x3eaa9e['shift']());}catch(_0x47cece){_0x3eaa9e['push'](_0x3eaa9e['shift']());}}}(_0x2588,0xbc9d2));function _0x2588(){const _0x15bd24=['dApII','gCCOr','$schema','3zQWAft','109948brAXvq','log','VDDow','project','isArray','2584QGBuXj','⚠\x20Failed\x20to\x20read\x20opencode.json.\x20Please\x20add\x20the\x20plugin\x20manually.','✓\x20OpenCode\x20plugin\x20configured','12280640bWXBlJ','@ranger-testing/opencode-plugin','plugin','13405LaojSf','10838601bXPJOJ','492889uGWPNM','MyFnx','opencode.json','LLLIy','1184262qBWtSw','PhfYi','slLYK','\x0a📦\x20OpenCode\x20Plugin\x0a','1402426ZLVBqf','pluginScope','https://opencode.ai/config.json','utf-8','WNaxX','205DQZiok'];_0x2588=function(){return _0x15bd24;};return _0x2588();}import{join}from'path';import{existsSync}from'fs';import{mkdir,readFile,writeFile}from'fs/promises';import _0x52808a from'inquirer';import{getOpencodeConfigDir}from'../utils/opencodeConfig.js';export async function ensureOpencodePluginConfig(_0x473c73){const _0x1a2953=_0x5b6e,_0x5d4b40={'eyTeC':function(_0x2d2845,_0x4895a8,_0x29e893){return _0x2d2845(_0x4895a8,_0x29e893);},'MyFnx':_0x1a2953(0x10e),'aMDWo':'Where\x20should\x20the\x20plugin\x20be\x20installed?','GmLLO':'User\x20(available\x20in\x20all\x20your\x20projects)','VDDow':'user','gCCOr':_0x1a2953(0x11a),'LLLIy':_0x1a2953(0x107),'slLYK':_0x1a2953(0x101),'WNaxX':function(_0x5b55ed,_0x13a927,_0x429e5a){return _0x5b55ed(_0x13a927,_0x429e5a);},'JWymC':_0x1a2953(0x110),'mLXaK':_0x1a2953(0xfe),'dApII':'Failed\x20to\x20read\x20opencode.json','PhfYi':'✓\x20OpenCode\x20plugin\x20already\x20configured'},_0x297082=existsSync(_0x5d4b40['eyTeC'](join,getOpencodeConfigDir('project'),_0x1a2953(0x107)));let _0x2cda4b;if(_0x473c73)_0x2cda4b=_0x473c73;else{if(_0x297082)_0x2cda4b=_0x1a2953(0x11a);else{console[_0x1a2953(0x118)](_0x1a2953(0x10c));const _0x4ccd79=await _0x52808a['prompt']([{'type':'list','name':_0x5d4b40[_0x1a2953(0x106)],'message':_0x5d4b40['aMDWo'],'choices':[{'name':_0x5d4b40['GmLLO'],'value':_0x5d4b40[_0x1a2953(0x119)]},{'name':'Project\x20(shared\x20with\x20team\x20via\x20git)','value':_0x5d4b40[_0x1a2953(0x114)]}],'default':'user'}]);_0x2cda4b=_0x4ccd79[_0x1a2953(0x10e)];}}const _0x192c2f=join(getOpencodeConfigDir(_0x2cda4b),_0x5d4b40[_0x1a2953(0x108)]),_0x270071=_0x5d4b40[_0x1a2953(0x10b)],_0x554291=_0x1a2953(0x10f);let _0x3112d4={};if(existsSync(_0x192c2f))try{const _0x11fda3=await _0x5d4b40[_0x1a2953(0x111)](readFile,_0x192c2f,_0x5d4b40['JWymC']);_0x3112d4=JSON['parse'](_0x11fda3);}catch(_0x19deb7){return console['error'](_0x5d4b40['mLXaK']),{'configured':![],'scope':_0x2cda4b,'error':_0x5d4b40[_0x1a2953(0x113)],'details':_0x19deb7};}const _0x1be2be=Array[_0x1a2953(0xfc)](_0x3112d4[_0x1a2953(0x102)])?_0x3112d4['plugin']:[];if(_0x1be2be['includes'](_0x270071))return console['log'](_0x5d4b40[_0x1a2953(0x10a)]),{'configured':![],'scope':_0x2cda4b};return _0x3112d4[_0x1a2953(0x115)]=_0x3112d4[_0x1a2953(0x115)]||_0x554291,_0x3112d4['plugin']=[..._0x1be2be,_0x270071],await _0x5d4b40[_0x1a2953(0x111)](mkdir,getOpencodeConfigDir(_0x2cda4b),{'recursive':!![]}),await writeFile(_0x192c2f,JSON['stringify'](_0x3112d4,null,0x2)+'\x0a'),console[_0x1a2953(0x118)](_0x1a2953(0xff)),{'configured':!![],'scope':_0x2cda4b};}
1
+ (function(_0x4a381a,_0x1b5318){const _0x3e996a=_0x249e,_0x23b960=_0x4a381a();while(!![]){try{const _0x224ac8=parseInt(_0x3e996a(0xb3))/0x1+parseInt(_0x3e996a(0xa7))/0x2+parseInt(_0x3e996a(0xba))/0x3+-parseInt(_0x3e996a(0xb7))/0x4*(-parseInt(_0x3e996a(0xa8))/0x5)+parseInt(_0x3e996a(0xbe))/0x6*(parseInt(_0x3e996a(0xa3))/0x7)+parseInt(_0x3e996a(0xb2))/0x8*(parseInt(_0x3e996a(0xa6))/0x9)+-parseInt(_0x3e996a(0xa5))/0xa*(parseInt(_0x3e996a(0xaa))/0xb);if(_0x224ac8===_0x1b5318)break;else _0x23b960['push'](_0x23b960['shift']());}catch(_0x1ae91f){_0x23b960['push'](_0x23b960['shift']());}}}(_0xcb54,0xee223));import{join}from'path';function _0xcb54(){const _0x3fc2bc=['215316qLIQpu','365LVbxkR','User\x20(available\x20in\x20all\x20your\x20projects)','22067221upKvun','plugin','FLXeY','project','scOGN','parse','UkkSY','dkYSi','86512RuADRm','1488774YHleMX','log','opencode.json','MZWoX','80932FyaZwu','\x0a📦\x20OpenCode\x20Plugin\x0a','✓\x20OpenCode\x20plugin\x20configured','1565931eMGpGM','user','isArray','CtjYn','2027418EvJouM','YZlTC','error','pluginScope','list','21zLvqTT','Project\x20(shared\x20with\x20team\x20via\x20git)','20oSQzQM','315CcSeLT'];_0xcb54=function(){return _0x3fc2bc;};return _0xcb54();}import{existsSync}from'fs';import{mkdir,readFile,writeFile}from'fs/promises';function _0x249e(_0x5eb73d,_0x4f8a50){_0x5eb73d=_0x5eb73d-0x9f;const _0xcb549e=_0xcb54();let _0x249e27=_0xcb549e[_0x5eb73d];return _0x249e27;}import _0x376826 from'inquirer';import{getOpencodeConfigDir}from'../utils/opencodeConfig.js';export async function ensureOpencodePluginConfig(_0x55cd2a){const _0x4dd4f8=_0x249e,_0xcd85cb={'zrtuY':function(_0x32bd4e,_0x36cbd5){return _0x32bd4e(_0x36cbd5);},'MZWoX':function(_0x527e9d,_0x2d8e35,_0x48d881){return _0x527e9d(_0x2d8e35,_0x48d881);},'YZlTC':_0x4dd4f8(0xad),'KNOrA':_0x4dd4f8(0xa1),'dkYSi':_0x4dd4f8(0xa4),'scOGN':function(_0x381818,_0x3b5064){return _0x381818(_0x3b5064);},'tBquY':'https://opencode.ai/config.json','CtjYn':'⚠\x20Failed\x20to\x20read\x20opencode.json.\x20Please\x20add\x20the\x20plugin\x20manually.','UkkSY':'✓\x20OpenCode\x20plugin\x20already\x20configured','FLXeY':function(_0xd94f46,_0x47dfbb){return _0xd94f46(_0x47dfbb);}},_0x49f34a=_0xcd85cb['zrtuY'](existsSync,_0xcd85cb['MZWoX'](join,_0xcd85cb['zrtuY'](getOpencodeConfigDir,_0xcd85cb['YZlTC']),_0x4dd4f8(0xb5)));let _0x145f86;if(_0x55cd2a)_0x145f86=_0x55cd2a;else{if(_0x49f34a)_0x145f86=_0xcd85cb[_0x4dd4f8(0x9f)];else{console[_0x4dd4f8(0xb4)](_0x4dd4f8(0xb8));const _0x423566=await _0x376826['prompt']([{'type':_0x4dd4f8(0xa2),'name':_0xcd85cb['KNOrA'],'message':'Where\x20should\x20the\x20plugin\x20be\x20installed?','choices':[{'name':_0x4dd4f8(0xa9),'value':_0x4dd4f8(0xbb)},{'name':_0xcd85cb[_0x4dd4f8(0xb1)],'value':'project'}],'default':_0x4dd4f8(0xbb)}]);_0x145f86=_0x423566[_0x4dd4f8(0xa1)];}}const _0x43c6d0=join(_0xcd85cb[_0x4dd4f8(0xae)](getOpencodeConfigDir,_0x145f86),'opencode.json'),_0x3d40c3='@ranger-testing/opencode-plugin',_0x192a3b=_0xcd85cb['tBquY'];let _0x2f33a2={};if(_0xcd85cb['scOGN'](existsSync,_0x43c6d0))try{const _0x3a4322=await _0xcd85cb['MZWoX'](readFile,_0x43c6d0,'utf-8');_0x2f33a2=JSON[_0x4dd4f8(0xaf)](_0x3a4322);}catch(_0x2907a0){return console[_0x4dd4f8(0xa0)](_0xcd85cb[_0x4dd4f8(0xbd)]),{'configured':![],'scope':_0x145f86,'error':'Failed\x20to\x20read\x20opencode.json','details':_0x2907a0};}const _0x170f53=Array[_0x4dd4f8(0xbc)](_0x2f33a2[_0x4dd4f8(0xab)])?_0x2f33a2[_0x4dd4f8(0xab)]:[];if(_0x170f53['includes'](_0x3d40c3))return console[_0x4dd4f8(0xb4)](_0xcd85cb[_0x4dd4f8(0xb0)]),{'configured':![],'scope':_0x145f86};return _0x2f33a2['$schema']=_0x2f33a2['$schema']||_0x192a3b,_0x2f33a2['plugin']=[..._0x170f53,_0x3d40c3],await _0xcd85cb[_0x4dd4f8(0xb6)](mkdir,_0xcd85cb[_0x4dd4f8(0xac)](getOpencodeConfigDir,_0x145f86),{'recursive':!![]}),await writeFile(_0x43c6d0,JSON['stringify'](_0x2f33a2,null,0x2)+'\x0a'),console['log'](_0x4dd4f8(0xb9)),{'configured':!![],'scope':_0x145f86};}
@@ -1 +1 @@
1
- function _0x4b50(_0x4c654b,_0x1cc3aa){_0x4c654b=_0x4c654b-0xab;var _0x47afca=_0x47af();var _0x4b507e=_0x47afca[_0x4c654b];return _0x4b507e;}(function(_0xe6c894,_0x35de0b){var _0x4c6652=_0x4b50,_0x1a477d=_0xe6c894();while(!![]){try{var _0x27bf44=-parseInt(_0x4c6652(0xac))/0x1+-parseInt(_0x4c6652(0xb6))/0x2*(-parseInt(_0x4c6652(0xb3))/0x3)+parseInt(_0x4c6652(0xb9))/0x4*(-parseInt(_0x4c6652(0xb0))/0x5)+-parseInt(_0x4c6652(0xb5))/0x6*(-parseInt(_0x4c6652(0xb4))/0x7)+parseInt(_0x4c6652(0xae))/0x8+parseInt(_0x4c6652(0xad))/0x9+-parseInt(_0x4c6652(0xb1))/0xa;if(_0x27bf44===_0x35de0b)break;else _0x1a477d['push'](_0x1a477d['shift']());}catch(_0x4dc154){_0x1a477d['push'](_0x1a477d['shift']());}}}(_0x47af,0x85dd9));export async function setupCi(_0x121b33,_0x2a350d,_0x47cd08){var _0x151a23=_0x4b50,_0x6cbac8={'JeVMJ':function(_0x5e1b19,_0x16dc83){return _0x5e1b19+_0x16dc83;},'hXUBx':'ranger\x20setup\x20--ci\x20writes\x20to\x20the\x20legacy\x20.ranger/ci/\x20tree\x20which\x20is\x20no\x20longer\x20supported.\x0a','CSHYz':'To\x20set\x20up\x20a\x20fresh\x20profile,\x20run:\x0a'};console[_0x151a23(0xab)](_0x6cbac8['JeVMJ'](_0x6cbac8['JeVMJ'](_0x6cbac8[_0x151a23(0xb7)],'\x0a')+_0x6cbac8[_0x151a23(0xb8)],'\x20\x20ranger\x20profile\x20add\x20<name>\x0a')+'\x0a'+'For\x20CI\x20/\x20background\x20agents\x20and\x20other\x20setup\x20options,\x20see:\x0a'+_0x151a23(0xaf)),process[_0x151a23(0xb2)](0x1);}function _0x47af(){var _0x4233af=['5004zkpcKi','error','560884zsjXQB','2961648nhzUde','2258128LCwcFm','\x20\x20https://docs.ranger.net/main/concepts/profiles','3145LVEXQg','336520zMbxue','exit','3sDqqfz','7hqNHyh','6481182ZMipGf','476386RdPqeg','hXUBx','CSHYz'];_0x47af=function(){return _0x4233af;};return _0x47af();}
1
+ function _0x438f(){var _0x484284=['QtsXd','28674JZjKqJ','exit','veSOH','\x20\x20ranger\x20profile\x20add\x20<name>\x0a','To\x20set\x20up\x20a\x20fresh\x20profile,\x20run:\x0a','error','6164848NUlZcB','ranger\x20setup\x20--ci\x20writes\x20to\x20the\x20legacy\x20.ranger/ci/\x20tree\x20which\x20is\x20no\x20longer\x20supported.\x0a','4eFBRIp','15274350ERiSSt','27858nbRAOE','605XtiXHk','306584FGaLdc','18tzfFNR','11KJJwey','276OrrXNJ','5282724kIurHL','12805982Yteojs'];_0x438f=function(){return _0x484284;};return _0x438f();}function _0x2923(_0x322b4b,_0x3cd428){_0x322b4b=_0x322b4b-0x191;var _0x438fd3=_0x438f();var _0x29237c=_0x438fd3[_0x322b4b];return _0x29237c;}(function(_0x1218f9,_0x2f453a){var _0x3cb371=_0x2923,_0x3dea6f=_0x1218f9();while(!![]){try{var _0x14357d=parseInt(_0x3cb371(0x1a1))/0x1*(-parseInt(_0x3cb371(0x19d))/0x2)+-parseInt(_0x3cb371(0x195))/0x3*(parseInt(_0x3cb371(0x191))/0x4)+parseInt(_0x3cb371(0x1a0))/0x5*(parseInt(_0x3cb371(0x19f))/0x6)+-parseInt(_0x3cb371(0x193))/0x7+-parseInt(_0x3cb371(0x19b))/0x8*(-parseInt(_0x3cb371(0x1a2))/0x9)+parseInt(_0x3cb371(0x19e))/0xa+parseInt(_0x3cb371(0x1a3))/0xb*(parseInt(_0x3cb371(0x192))/0xc);if(_0x14357d===_0x2f453a)break;else _0x3dea6f['push'](_0x3dea6f['shift']());}catch(_0x2048f1){_0x3dea6f['push'](_0x3dea6f['shift']());}}}(_0x438f,0xec785));export async function setupCi(_0x594f54,_0x1526e5,_0x1493fe){var _0x2fa792=_0x2923,_0x282b27={'MkQVS':function(_0x273c29,_0x2854c5){return _0x273c29+_0x2854c5;},'QtsXd':function(_0x5ce568,_0x20fd0d){return _0x5ce568+_0x20fd0d;},'YgqCs':function(_0x24ba8b,_0xe83b7a){return _0x24ba8b+_0xe83b7a;},'rQzPn':function(_0x22fe61,_0x473443){return _0x22fe61+_0x473443;},'UEfKG':_0x2fa792(0x199),'veSOH':'\x20\x20https://docs.ranger.net/main/concepts/profiles'};console[_0x2fa792(0x19a)](_0x282b27['MkQVS'](_0x282b27[_0x2fa792(0x194)](_0x282b27['YgqCs'](_0x282b27['rQzPn'](_0x2fa792(0x19c),'\x0a')+_0x282b27['UEfKG'],_0x2fa792(0x198)),'\x0a')+'For\x20CI\x20/\x20background\x20agents\x20and\x20other\x20setup\x20options,\x20see:\x0a',_0x282b27[_0x2fa792(0x197)])),process[_0x2fa792(0x196)](0x1);}
@@ -1 +1 @@
1
- (function(_0x386bad,_0x3be2f7){const _0x3817f=_0x3a7a,_0x254abe=_0x386bad();while(!![]){try{const _0x44bc7c=-parseInt(_0x3817f(0x1dc))/0x1+-parseInt(_0x3817f(0x1e1))/0x2*(parseInt(_0x3817f(0x1d9))/0x3)+parseInt(_0x3817f(0x1de))/0x4*(parseInt(_0x3817f(0x1be))/0x5)+-parseInt(_0x3817f(0x1d2))/0x6*(-parseInt(_0x3817f(0x1c6))/0x7)+parseInt(_0x3817f(0x1d5))/0x8*(parseInt(_0x3817f(0x1c5))/0x9)+-parseInt(_0x3817f(0x1cb))/0xa*(parseInt(_0x3817f(0x1d0))/0xb)+-parseInt(_0x3817f(0x1db))/0xc*(-parseInt(_0x3817f(0x1e9))/0xd);if(_0x44bc7c===_0x3be2f7)break;else _0x254abe['push'](_0x254abe['shift']());}catch(_0x2676e2){_0x254abe['push'](_0x254abe['shift']());}}}(_0x4b65,0x3188a));import{basename}from'path';import _0x5081c7 from'inquirer';import{getToken}from'./utils/keychain.js';import{installSkill}from'./utils/skills.js';function _0x3a7a(_0x30a642,_0x1e5895){_0x30a642=_0x30a642-0x1be;const _0x4b65ae=_0x4b65();let _0x3a7a5b=_0x4b65ae[_0x30a642];return _0x3a7a5b;}import{getCurrentVersion}from'./utils/version.js';function _0x4b65(){const _0x1986d6=['HVoBX','platform','ahBVl','suppressUsage','\x20--opencode','FJMly','18gGoKaH','7cyYwxz','\x20\x203.\x20Run:\x20ranger\x20skillup','\x0a⚠️\x20\x20No\x20skills\x20were\x20installed.\x0a','tHdeb','❌\x20No\x20Ranger\x20API\x20token\x20found.\x0a','55790gNkXOs','\x20\x20Failed\x20to\x20install\x20ranger\x20skill:','\x20\x201.\x20Get\x20your\x20API\x20token\x20from\x20https://dashboard.ranger.net/cli','bKVEF','OIMFT','341zTVolE','project','432522iIfUiA','ranger','sdrkF','1110944JkaGLj','EuOms','opencode','KJYAl','3pbaqaO','prompt','6876ZEiFJy','166655xFSBhF','All\x20projects\x20(','16984jHERAS','To\x20use:','user-level','270370pIfSaJ','lLDgu','stdin','log','stdout','RfmaW','ggwlC','This\x20project\x20only\x20(','3874beJLUy','\x20skill','\x20\x20-\x20Start\x20OpenCode\x20and\x20run\x20the\x20`ranger_enable`\x20tool\x20to\x20enable\x20hooks.','185WMASmg'];_0x4b65=function(){return _0x1986d6;};return _0x4b65();}import{getClaudeConfigDir,getProjectRoot}from'./utils/claudeConfig.js';import{getOpencodeConfigDir}from'./utils/opencodeConfig.js';export async function skillup(_0x3bf465={}){const _0x52e892=_0x3a7a,_0x1286e4={'EuOms':'claude','RfmaW':function(_0x3a42f4){return _0x3a42f4();},'WBeEt':'\x20--opencode','IJBLa':_0x52e892(0x1ca),'aWMFX':'To\x20get\x20started:','KJYAl':function(_0x214653,_0x307c60){return _0x214653===_0x307c60;},'OIMFT':'✓\x20Found\x20API\x20token','lLDgu':function(_0x22155e,_0x2ca311){return _0x22155e(_0x2ca311);},'pQFOH':'user','bKVEF':function(_0x212733,_0x53927c){return _0x212733===_0x53927c;},'HVoBX':_0x52e892(0x1d7),'BpzSZ':_0x52e892(0x1d1),'ggwlC':function(_0x3cb081,_0x50a46d,_0x35a040){return _0x3cb081(_0x50a46d,_0x35a040);},'sdrkF':_0x52e892(0x1cc),'IEzHc':function(_0x42bfcb,_0x26b798){return _0x42bfcb instanceof _0x26b798;},'FJMly':'project-level','tHdeb':function(_0x1318cd,_0x5374ee){return _0x1318cd>_0x5374ee;},'hpPVI':_0x52e892(0x1df),'ahBVl':_0x52e892(0x1eb)};console[_0x52e892(0x1e4)]('\x0a🎯\x20Ranger\x20Skill\x20Setup\x0a');const _0x4e6333=_0x3bf465[_0x52e892(0x1c0)]??_0x1286e4[_0x52e892(0x1d6)],_0x272320=await _0x1286e4[_0x52e892(0x1e6)](getToken);if(!_0x272320){const _0x4bdcd4='2|4|1|5|0|3'['split']('|');let _0x2c3028=0x0;while(!![]){switch(_0x4bdcd4[_0x2c3028++]){case'0':console[_0x52e892(0x1e4)](_0x52e892(0x1c7)+(_0x4e6333==='opencode'?_0x1286e4['WBeEt']:'')+'\x0a');continue;case'1':console['log'](_0x52e892(0x1cd));continue;case'2':console['log'](_0x1286e4['IJBLa']);continue;case'3':return;case'4':console['log'](_0x1286e4['aWMFX']);continue;case'5':console['log']('\x20\x202.\x20Run:\x20ranger\x20setup'+(_0x1286e4['KJYAl'](_0x4e6333,'opencode')?_0x52e892(0x1c3):'')+'\x20<your-api-token>');continue;}break;}}console[_0x52e892(0x1e4)](_0x1286e4[_0x52e892(0x1cf)]);const _0x32093a=getProjectRoot(),_0x439e0a=_0x1286e4[_0x52e892(0x1e2)](basename,_0x32093a),_0x11f0b6=_0x1286e4[_0x52e892(0x1d8)](_0x4e6333,_0x52e892(0x1d7))?getOpencodeConfigDir(_0x1286e4['pQFOH'])+'/skills/':getClaudeConfigDir()+'/skills/',_0x3310d=_0x1286e4[_0x52e892(0x1ce)](_0x4e6333,_0x1286e4[_0x52e892(0x1bf)])?_0x32093a+'/.opencode/skills/':_0x32093a+'/.claude/skills/',_0x1cf240=process[_0x52e892(0x1e3)]['isTTY']&&process[_0x52e892(0x1e5)]['isTTY'];let _0x165c46;if(_0x3bf465['autoInstall'])_0x165c46=_0x3bf465['autoInstall'];else{if(_0x1cf240){const _0x378683=await _0x5081c7[_0x52e892(0x1da)]([{'type':'list','name':'installLevel','message':'Where\x20should\x20skills\x20be\x20installed?','choices':[{'name':_0x52e892(0x1dd)+_0x11f0b6+')','value':'user'},{'name':_0x52e892(0x1e8)+_0x3310d+')','value':_0x1286e4['BpzSZ']}]}]);_0x165c46=_0x378683['installLevel'];}else _0x165c46=_0x1286e4['BpzSZ'],console['log']('Non-interactive\x20mode:\x20Installing\x20skills\x20at\x20project\x20level\x20('+_0x3310d+')');}let _0x55099b=0x0;const _0x2f17bf=getCurrentVersion();console['log']('\x0a📦\x20Installing\x20skills...\x0a');try{const _0x27b1e8=await _0x1286e4[_0x52e892(0x1e7)](installSkill,_0x52e892(0x1d3),{'cliVersion':_0x2f17bf,'level':_0x165c46,'platform':_0x4e6333});_0x27b1e8&&_0x55099b++;}catch(_0x2ae4b3){console['warn'](_0x1286e4[_0x52e892(0x1d4)],_0x1286e4['IEzHc'](_0x2ae4b3,Error)?_0x2ae4b3['message']:_0x2ae4b3);}if(_0x55099b>0x0){const _0x3fb1fc=_0x165c46==='user'?_0x52e892(0x1e0):_0x1286e4[_0x52e892(0x1c4)];console[_0x52e892(0x1e4)]('\x0a✅\x20Installed\x20'+_0x55099b+'\x20'+_0x3fb1fc+_0x52e892(0x1ea)+(_0x1286e4[_0x52e892(0x1c9)](_0x55099b,0x1)?'s':'')+'\x20successfully!\x0a'),!_0x3bf465[_0x52e892(0x1c2)]&&(console[_0x52e892(0x1e4)](_0x1286e4['hpPVI']),_0x4e6333===_0x1286e4[_0x52e892(0x1bf)]?console['log'](_0x1286e4[_0x52e892(0x1c1)]):console['log']('\x20\x20-\x20Open\x20Claude\x20Code\x20in\x20plan\x20mode\x20and\x20run\x20/ranger:enable.\x20Plan\x20out\x20a\x20UI\x20feature\x20with\x20Ranger\x20and\x20watch\x20Ranger\x20test\x20it\x20for\x20you!'));}else console['log'](_0x52e892(0x1c8));}
1
+ (function(_0x70cd4f,_0x1ab0a8){const _0x13274a=_0x483b,_0x3b95b7=_0x70cd4f();while(!![]){try{const _0x4cc95f=-parseInt(_0x13274a(0x1e8))/0x1+-parseInt(_0x13274a(0x1c9))/0x2*(-parseInt(_0x13274a(0x1df))/0x3)+-parseInt(_0x13274a(0x1da))/0x4+parseInt(_0x13274a(0x1db))/0x5*(parseInt(_0x13274a(0x1e5))/0x6)+-parseInt(_0x13274a(0x1de))/0x7+-parseInt(_0x13274a(0x1f1))/0x8+parseInt(_0x13274a(0x1d5))/0x9*(parseInt(_0x13274a(0x1c8))/0xa);if(_0x4cc95f===_0x1ab0a8)break;else _0x3b95b7['push'](_0x3b95b7['shift']());}catch(_0x5ac868){_0x3b95b7['push'](_0x3b95b7['shift']());}}}(_0x38b7,0x9cbfe));import{basename}from'path';function _0x483b(_0x35cd19,_0x54a731){_0x35cd19=_0x35cd19-0x1c7;const _0x38b724=_0x38b7();let _0x483b78=_0x38b724[_0x35cd19];return _0x483b78;}import _0x3e0a27 from'inquirer';import{getToken}from'./utils/keychain.js';import{installSkill}from'./utils/skills.js';import{getCurrentVersion}from'./utils/version.js';import{getClaudeConfigDir,getProjectRoot}from'./utils/claudeConfig.js';import{getOpencodeConfigDir}from'./utils/opencodeConfig.js';export async function skillup(_0xd66cba={}){const _0x2dce42=_0x483b,_0x209210={'DPLtx':_0x2dce42(0x1e0),'jrKfD':function(_0x802a2a){return _0x802a2a();},'KTuyv':_0x2dce42(0x1f3),'bZQAR':function(_0x3fafa7,_0x1bd659){return _0x3fafa7===_0x1bd659;},'gcFIK':'opencode','EIlDO':_0x2dce42(0x1ec),'HuxVv':_0x2dce42(0x1d2),'spUmY':function(_0x139af9,_0x50aa8b){return _0x139af9(_0x50aa8b);},'heLzy':function(_0x400afc,_0x56cf2a){return _0x400afc===_0x56cf2a;},'lwVaZ':function(_0x63998,_0x5d95c6){return _0x63998(_0x5d95c6);},'qMTMG':_0x2dce42(0x1ca),'rQsOA':'installLevel','Mgyue':_0x2dce42(0x1d3),'ypwEn':_0x2dce42(0x1cd),'faNCZ':'\x0a📦\x20Installing\x20skills...\x0a','PnADh':_0x2dce42(0x1e1),'ppegY':'\x20\x20Failed\x20to\x20install\x20ranger\x20skill:','DFozL':_0x2dce42(0x1ea),'kdDlS':'project-level','YaCjg':'To\x20use:','YsHAj':_0x2dce42(0x1cf)};console[_0x2dce42(0x1e2)](_0x209210[_0x2dce42(0x1d0)]);const _0x4421c8=_0xd66cba['platform']??'claude',_0x2bba5e=await _0x209210[_0x2dce42(0x1d9)](getToken);if(!_0x2bba5e){console[_0x2dce42(0x1e2)]('❌\x20No\x20Ranger\x20API\x20token\x20found.\x0a'),console[_0x2dce42(0x1e2)](_0x209210[_0x2dce42(0x1f0)]),console[_0x2dce42(0x1e2)]('\x20\x201.\x20Get\x20your\x20API\x20token\x20from\x20https://dashboard.ranger.net/cli'),console[_0x2dce42(0x1e2)]('\x20\x202.\x20Run:\x20ranger\x20setup'+(_0x209210[_0x2dce42(0x1d6)](_0x4421c8,_0x209210[_0x2dce42(0x1dc)])?_0x209210[_0x2dce42(0x1ee)]:'')+'\x20<your-api-token>'),console['log']('\x20\x203.\x20Run:\x20ranger\x20skillup'+(_0x209210[_0x2dce42(0x1d6)](_0x4421c8,'opencode')?_0x209210['EIlDO']:'')+'\x0a');return;}console['log'](_0x209210['HuxVv']);const _0x5900c2=getProjectRoot(),_0x16fefa=_0x209210[_0x2dce42(0x1c7)](basename,_0x5900c2),_0xb0a289=_0x209210[_0x2dce42(0x1e9)](_0x4421c8,_0x209210['gcFIK'])?_0x209210['lwVaZ'](getOpencodeConfigDir,_0x2dce42(0x1d3))+_0x2dce42(0x1e7):getClaudeConfigDir()+_0x2dce42(0x1e7),_0x45c6ee=_0x209210['heLzy'](_0x4421c8,_0x2dce42(0x1d8))?_0x5900c2+'/.opencode/skills/':_0x5900c2+_0x2dce42(0x1cb),_0x26ecf7=process['stdin'][_0x2dce42(0x1cc)]&&process[_0x2dce42(0x1d7)]['isTTY'];let _0x3f01d9;if(_0xd66cba[_0x2dce42(0x1e3)])_0x3f01d9=_0xd66cba[_0x2dce42(0x1e3)];else{if(_0x26ecf7){const _0x48665e=await _0x3e0a27['prompt']([{'type':_0x209210['qMTMG'],'name':_0x209210['rQsOA'],'message':'Where\x20should\x20skills\x20be\x20installed?','choices':[{'name':'All\x20projects\x20('+_0xb0a289+')','value':_0x209210['Mgyue']},{'name':'This\x20project\x20only\x20('+_0x45c6ee+')','value':_0x2dce42(0x1cd)}]}]);_0x3f01d9=_0x48665e[_0x2dce42(0x1ed)];}else _0x3f01d9=_0x209210['ypwEn'],console['log'](_0x2dce42(0x1d4)+_0x45c6ee+')');}let _0x1766ff=0x0;const _0x4d2c60=getCurrentVersion();console[_0x2dce42(0x1e2)](_0x209210[_0x2dce42(0x1e6)]);try{const _0x46e90a=await installSkill(_0x209210[_0x2dce42(0x1dd)],{'cliVersion':_0x4d2c60,'level':_0x3f01d9,'platform':_0x4421c8});_0x46e90a&&_0x1766ff++;}catch(_0xe0dfa2){console['warn'](_0x209210[_0x2dce42(0x1e4)],_0xe0dfa2 instanceof Error?_0xe0dfa2[_0x2dce42(0x1ce)]:_0xe0dfa2);}if(_0x1766ff>0x0){const _0x2b4838=_0x3f01d9===_0x2dce42(0x1d3)?_0x209210['DFozL']:_0x209210[_0x2dce42(0x1d1)];console['log'](_0x2dce42(0x1f2)+_0x1766ff+'\x20'+_0x2b4838+'\x20skill'+(_0x1766ff>0x1?'s':'')+_0x2dce42(0x1ef)),!_0xd66cba['suppressUsage']&&(console['log'](_0x209210[_0x2dce42(0x1eb)]),_0x4421c8===_0x209210['gcFIK']?console['log']('\x20\x20-\x20Start\x20OpenCode\x20and\x20run\x20the\x20`ranger_enable`\x20tool\x20to\x20enable\x20hooks.'):console['log'](_0x209210['YsHAj']));}else console[_0x2dce42(0x1e2)]('\x0a⚠️\x20\x20No\x20skills\x20were\x20installed.\x0a');}function _0x38b7(){const _0x57a0ff=['1088866ioMOPS','heLzy','user-level','YaCjg','\x20--opencode','installLevel','EIlDO','\x20successfully!\x0a','KTuyv','1946264PsfgoR','\x0a✅\x20Installed\x20','To\x20get\x20started:','spUmY','3876310zUMJDi','2HLAxPB','list','/.claude/skills/','isTTY','project','message','\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!','DPLtx','kdDlS','✓\x20Found\x20API\x20token','user','Non-interactive\x20mode:\x20Installing\x20skills\x20at\x20project\x20level\x20(','9yMQLGe','bZQAR','stdout','opencode','jrKfD','369796JKjBKG','125lFlZYc','gcFIK','PnADh','1907913FdkiUz','3208641HtBqMt','\x0a🎯\x20Ranger\x20Skill\x20Setup\x0a','ranger','log','autoInstall','ppegY','211686sjJGgp','faNCZ','/skills/'];_0x38b7=function(){return _0x57a0ff;};return _0x38b7();}
@@ -1 +1 @@
1
- (function(_0xc448,_0x3ff65e){const _0x35142a=_0x3e54,_0x1be6a4=_0xc448();while(!![]){try{const _0x30052e=-parseInt(_0x35142a(0x1cc))/0x1*(-parseInt(_0x35142a(0x1c6))/0x2)+parseInt(_0x35142a(0x1df))/0x3+-parseInt(_0x35142a(0x1c1))/0x4+-parseInt(_0x35142a(0x1d9))/0x5+-parseInt(_0x35142a(0x220))/0x6*(parseInt(_0x35142a(0x211))/0x7)+parseInt(_0x35142a(0x1fd))/0x8*(-parseInt(_0x35142a(0x1b4))/0x9)+-parseInt(_0x35142a(0x1e7))/0xa*(-parseInt(_0x35142a(0x1bf))/0xb);if(_0x30052e===_0x3ff65e)break;else _0x1be6a4['push'](_0x1be6a4['shift']());}catch(_0x3c8d75){_0x1be6a4['push'](_0x1be6a4['shift']());}}}(_0x4522,0xa0d92));import{mkdir,writeFile}from'fs/promises';function _0x4522(){const _0x1a72bf=['\x0a✓\x20Playwright\x20Chromium\x20installed\x20successfully','\x20(fallback\x20version)','allowInsecureLocalhost','aICys','cslop','\x0a❌\x20Profile\x20setup\x20failed:','ApjSR','UCzdX','5965455NKPbpY','skipAuth','keRsq','Failed\x20to\x20connect\x20to\x20MCP\x20server:\x20','\x20\x20npx\x20playwright@','✓\x20Already\x20authenticated\x20to\x20','2185245mEDFXL','gMYHl','\x0aNon-interactive\x20mode:\x20Auto-installing\x20Playwright\x20Chromium\x20','stdout','ranger\x20profile\x20add\x20<name>','trackPhaseStart','playwright@','resolve','2357770jwKCiE','Could\x20not\x20determine\x20local\x20Playwright\x20version.\x20Install\x20Playwright\x20Chromium\x20using\x20fallback\x20version\x20','TOwYS','skills','DSfSE','GzAlD','plugin','✓\x20~/.ranger/\x20directory\x20already\x20exists','YkqER','exit','✓\x20Stored\x20credentials\x20locally','\x20is\x20no\x20longer\x20supported.\x20','skipChromium','eZpur','local','inherit','close','STIYh','prompt','opencode','ranger','qcIve','8UJkSBw','user','auth','pKUfb','log','mbjnO','BzzXf','scope','You\x20can\x20install\x20it\x20manually\x20by\x20running:','EcQPm','skipped','✓\x20Local\x20profile\x20already\x20exists','qXRdb','fwVxy','xgPsW','\x0a\x20\x20','esXvS','✓\x20Created\x20.ranger/.gitignore','method','✓\x20Skipping\x20authentication\x20(--skip-auth)','931AygLMI','\x0a\x20\x20https://docs.ranger.net/main/concepts/profiles','MxwLW','\x20install\x20chromium','playwright/package.json','✓\x20Playwright\x20Chromium\x20browser\x20found','success','GITHUB_ENV','error','url','kagUL','lTFDN','message','\x0aagent\x20like\x20usual.\x20Claude\x20will\x20create\x20a\x20feature\x20review\x20with','provided_token','25518uNFJgV','PYIoE','TiYuC','UfmAT','bWZhT','\x0aIn\x20OpenCode,\x20enable\x20Ranger\x20hooks\x20(run\x20the\x20`ranger_enable`\x20tool)','6170859mVCdzj','project-scope\x20setup\x20obsolete).\x20Drop\x20the\x20--scope\x20flag\x20or\x20pass\x20--scope=user.','install','EknFo','✓\x20Skipping\x20Chromium\x20check\x20(--skip-chromium)','and\x20prompt\x20the\x20agent\x20like\x20usual.\x20Ranger\x20will\x20create\x20a\x20feature\x20review','trackPhaseEnd','MmZZG','tpMbM','\x0a✅\x20Ranger\x20setup\x20complete!\x0a','...','99HVGBXB','tNxAJ','3352840ppjnAd','chromium','win32','\x0a❌\x20Failed\x20to\x20install\x20Chromium:','✓\x20Authenticated\x20to\x20','2bAfAOr','⚠\x20No\x20git\x20repository\x20found.\x20Re-run\x20with\x20`--scope\x20user`\x20to\x20store\x20the\x20profile\x20at\x20~/.ranger/.','isTTY','profile','Authentication\x20failed:\x20','organizationName','1091027ziqzlx','Validating\x20API\x20token...','nGnWf','vpdEs','QAjWA'];_0x4522=function(){return _0x1a72bf;};return _0x4522();}import{join}from'path';import{existsSync}from'fs';import{createRequire}from'module';import{spawn}from'child_process';import _0xe61e8b from'inquirer';import{getToken,storeToken}from'./utils/keychain.js';import{getCurrentUser}from'./utils/userApi.js';import{chromium}from'playwright';import{addEnv}from'./addEnv.js';import{getRangerHomeDir,findGitRoot}from'./utils/rangerRoot.js';import{runDeviceAuthFlow}from'./utils/deviceAuth.js';import{findExistingEnv}from'./utils/settings.js';import{getCurrentVersion}from'./utils/version.js';import{ensureClaudePlugin,ensureClaudeSkills}from'./setup/claude.js';import{ensureOpencodePluginConfig}from'./setup/opencode.js';import{installSkill}from'./utils/skills.js';const require=createRequire(import.meta.url);export const PLAYWRIGHT_CHROMIUM_INSTALL_FALLBACK_VERSION='1.58.2';const bold=_0x438738=>'\x1b[1m'+_0x438738+'\x1b[0m';export function getPlaywrightVersion(){const _0x453b93=_0x3e54,_0x1bbf82={'QAjWA':_0x453b93(0x215),'HlbGx':function(_0x5f21b9,_0x5f5687){return _0x5f21b9(_0x5f5687);}};try{const _0x58de17=require[_0x453b93(0x1e6)](_0x1bbf82[_0x453b93(0x1d0)]),_0xe6a4f8=_0x1bbf82['HlbGx'](require,_0x58de17);return _0xe6a4f8['version'];}catch{return null;}}export function installChromiumBinary(_0x314550,_0x2ebb41=![]){const _0x3628ab=_0x3e54,_0x10b61a={'EknFo':function(_0xdfbbc6){return _0xdfbbc6();},'bWZhT':'chromium','PYIoE':function(_0x23e10a,_0x273acc,_0x9ffe64,_0xad703a){return _0x23e10a(_0x273acc,_0x9ffe64,_0xad703a);},'erIzF':'ignore','VRWOJ':'inherit','ErtMV':_0x3628ab(0x1f7),'ApjSR':'error'};return new Promise((_0x4a4415,_0x274573)=>{const _0x5d1301=_0x3628ab,_0x2785f6=[_0x5d1301(0x1e5)+_0x314550,_0x5d1301(0x1b6),..._0x2ebb41?['--with-deps']:[],_0x10b61a[_0x5d1301(0x224)]],_0x374d9f=_0x10b61a[_0x5d1301(0x221)](spawn,'npx',_0x2785f6,{'stdio':[_0x10b61a['erIzF'],_0x10b61a['VRWOJ'],_0x5d1301(0x1f6)],'shell':process['platform']===_0x5d1301(0x1c3)});_0x374d9f['on'](_0x10b61a['ErtMV'],_0x45c6fd=>{const _0xc731c6=_0x5d1301;_0x45c6fd===0x0?_0x10b61a[_0xc731c6(0x1b7)](_0x4a4415):_0x274573(new Error('Installation\x20failed\x20with\x20exit\x20code\x20'+_0x45c6fd));}),_0x374d9f['on'](_0x10b61a[_0x5d1301(0x1d7)],_0x4f34d8=>{_0x274573(_0x4f34d8);});});}function _0x3e54(_0x48359b,_0x554f90){_0x48359b=_0x48359b-0x1b4;const _0x452208=_0x4522();let _0x3e5449=_0x452208[_0x48359b];return _0x3e5449;}export async function authenticate(_0x293798){const _0x459533=_0x3e54,_0x4ae3d5={'UCzdX':function(_0x1c9a4a,_0x91e62f){return _0x1c9a4a(_0x91e62f);},'YCdPU':'device_auth','aICys':_0x459533(0x1cd),'DSfSE':function(_0x368ad4,_0x99e3a3){return _0x368ad4(_0x99e3a3);},'STIYh':'✓\x20Exported\x20credentials\x20for\x20CI','esXvS':_0x459533(0x1f1),'OHJTR':_0x459533(0x21f)};if(!_0x293798){const _0x226f6b=await getToken();if(_0x226f6b){const _0x3790f0=await getCurrentUser(_0x226f6b);if(_0x3790f0['success'])return console[_0x459533(0x201)](_0x459533(0x1de)+_0x3790f0[_0x459533(0x1fe)][_0x459533(0x1cb)]),{'token':_0x226f6b,'method':'existing_token'};}try{_0x293798=await runDeviceAuthFlow();}catch(_0x286f03){throw new Error(_0x459533(0x1ca)+(_0x286f03 instanceof Error?_0x286f03[_0x459533(0x21d)]:_0x286f03));}const _0x405e2c=await _0x4ae3d5[_0x459533(0x1d8)](getCurrentUser,_0x293798);if(!_0x405e2c['success'])throw new Error('Failed\x20to\x20validate\x20provisioned\x20API\x20key:\x20'+_0x405e2c['error']);return console['log']('✓\x20Authenticated\x20to\x20'+_0x405e2c['user'][_0x459533(0x1cb)]),{'token':_0x293798,'method':_0x4ae3d5['YCdPU']};}console[_0x459533(0x201)](_0x4ae3d5[_0x459533(0x1d4)]);const _0x4f3160=await getCurrentUser(_0x293798);if(!_0x4f3160[_0x459533(0x217)]){if(_0x4f3160['status'])throw new Error(_0x459533(0x1ca)+_0x4f3160[_0x459533(0x219)]+'.\x20Please\x20check\x20your\x20API\x20token\x20and\x20try\x20again.');else throw new Error(_0x459533(0x1dc)+_0x4f3160['error']+'.\x20Please\x20check\x20your\x20network\x20connection\x20and\x20server\x20URL.');}return console['log'](_0x459533(0x1c5)+_0x4f3160[_0x459533(0x1fe)]['organizationName']),await _0x4ae3d5[_0x459533(0x1eb)](storeToken,_0x293798),console['log'](process['env'][_0x459533(0x218)]?_0x4ae3d5[_0x459533(0x1f8)]:_0x4ae3d5[_0x459533(0x20d)]),{'token':_0x293798,'method':_0x4ae3d5['OHJTR']};}export async function ensureRangerDir(_0x99cf0f){const _0x478a7d=_0x3e54,_0x6a2c1b={'MmZZG':function(_0x1bb5a1){return _0x1bb5a1();},'mfThx':'✓\x20Created\x20~/.ranger/\x20directory','MxwLW':_0x478a7d(0x1ee)};void _0x99cf0f;const _0x336499=_0x6a2c1b[_0x478a7d(0x1bb)](getRangerHomeDir);return!existsSync(_0x336499)?(await mkdir(_0x336499,{'recursive':!![]}),console[_0x478a7d(0x201)](_0x6a2c1b['mfThx']),{'path':_0x336499,'installed':!![]}):(console['log'](_0x6a2c1b[_0x478a7d(0x213)]),{'path':_0x336499,'installed':![]});}export async function ensureChromium(_0x4ff545=![]){const _0x17cfa2=_0x3e54,_0x1eeed3={'glirm':function(_0x1a28b3){return _0x1a28b3();},'keRsq':'confirm','qXRdb':_0x17cfa2(0x1b6),'GzAlD':function(_0x1645b4,_0x4b9ba7,_0x2ae7e4){return _0x1645b4(_0x4b9ba7,_0x2ae7e4);},'hPuLL':_0x17cfa2(0x1d1)};let _0x180548=![];try{const _0x15b4e2=chromium['executablePath']();_0x180548=existsSync(_0x15b4e2);}catch{_0x180548=![];}if(_0x180548)return console['log'](_0x17cfa2(0x216)),![];const _0x29872c=_0x1eeed3['glirm'](getPlaywrightVersion),_0x3a5229=_0x29872c??PLAYWRIGHT_CHROMIUM_INSTALL_FALLBACK_VERSION,_0x121aeb=!_0x29872c,_0x41fa09=process['stdin'][_0x17cfa2(0x1c8)]&&process[_0x17cfa2(0x1e2)]['isTTY'];let _0x253bcc=!![];if(_0x41fa09){const {install:_0x1d40e6}=await _0xe61e8b[_0x17cfa2(0x1f9)]([{'type':_0x1eeed3[_0x17cfa2(0x1db)],'name':_0x1eeed3[_0x17cfa2(0x209)],'message':_0x121aeb?_0x17cfa2(0x1e8)+_0x3a5229+'\x20now?':'The\x20required\x20version\x20('+_0x3a5229+')\x20of\x20the\x20Playwright\x20Chromium\x20browser\x20is\x20not\x20installed.\x20Install\x20it\x20now?','default':!![]}]);_0x253bcc=_0x1d40e6;}else console[_0x17cfa2(0x201)](_0x17cfa2(0x1e1)+_0x3a5229+(_0x121aeb?_0x17cfa2(0x1d2):'')+_0x17cfa2(0x1be));if(_0x253bcc){console[_0x17cfa2(0x201)]('\x0aInstalling\x20Chromium\x20browser...\x0a');try{await _0x1eeed3[_0x17cfa2(0x1ec)](installChromiumBinary,_0x3a5229,_0x4ff545),console['log'](_0x1eeed3['hPuLL']);}catch(_0x5b387f){console[_0x17cfa2(0x219)](_0x17cfa2(0x1c4),_0x5b387f instanceof Error?_0x5b387f['message']:_0x5b387f),console[_0x17cfa2(0x201)](_0x17cfa2(0x205)),console[_0x17cfa2(0x201)]('\x20\x20npx\x20playwright@'+_0x3a5229+_0x17cfa2(0x214));}}else console[_0x17cfa2(0x201)]('\x0a⚠\x20Skipping\x20Chromium\x20installation.'),console['log']('You\x20will\x20need\x20to\x20install\x20it\x20before\x20using\x20Ranger:'),console['log'](_0x17cfa2(0x1dd)+_0x3a5229+_0x17cfa2(0x214));return!![];}export async function writeRangerGitignore(_0x1fe1bc){const _0x1f663f=_0x3e54,_0x466ba1={'rSaJA':'.gitignore','kagUL':function(_0x3f5490,_0x51c809,_0x12ddcd){return _0x3f5490(_0x51c809,_0x12ddcd);},'fwVxy':_0x1f663f(0x20e)},_0x556067=join(_0x1fe1bc,_0x466ba1['rSaJA']),_0x1a03aa='\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 _0x466ba1[_0x1f663f(0x21b)](writeFile,_0x556067,_0x1a03aa),console[_0x1f663f(0x201)](_0x466ba1[_0x1f663f(0x20a)]);}export async function ensureLocalEnv(_0x1fc918,_0x27baf){const _0x540fa9=_0x3e54,_0x232d40={'TiYuC':function(_0x306ecd){return _0x306ecd();},'Qqkjl':_0x540fa9(0x1c7),'hIXts':function(_0x3b8c46,_0x18f856){return _0x3b8c46===_0x18f856;},'BzzXf':'user','mbjnO':function(_0x43b113,_0x3a05dd,_0x2b21e6){return _0x43b113(_0x3a05dd,_0x2b21e6);},'pKUfb':_0x540fa9(0x1f5),'DTTkw':_0x540fa9(0x208)};if(!_0x232d40[_0x540fa9(0x222)](findGitRoot)&&_0x1fc918?.['scope']!=='user')return console[_0x540fa9(0x201)](_0x232d40['Qqkjl']),{'ready':![],'skipped':!![]};const _0x198d62=_0x232d40['hIXts'](_0x1fc918?.['scope'],_0x232d40[_0x540fa9(0x203)])?getRangerHomeDir():undefined;if(_0x232d40[_0x540fa9(0x202)](findExistingEnv,'local',{'locations':[_0x232d40[_0x540fa9(0x200)]],'rangerDir':_0x198d62}))return console['log'](_0x232d40['DTTkw']),{'ready':!![],'skipped':![]};try{return await addEnv('local',{'url':_0x1fc918?.[_0x540fa9(0x21a)],'force':_0x1fc918?.['force'],'allowInsecureLocalhost':_0x1fc918?.[_0x540fa9(0x1d3)],'scope':_0x1fc918?.['scope']},_0x27baf),{'ready':!![],'skipped':![]};}catch(_0x5094f4){return console[_0x540fa9(0x219)](_0x540fa9(0x1d6),_0x5094f4 instanceof Error?_0x5094f4[_0x540fa9(0x21d)]:_0x5094f4),{'ready':![],'skipped':![]};}}export async function start(_0x4d38d8,_0x2d41b9,_0x2e9b57){const _0x28cca5=_0x3e54,_0x1b0227={'gqvFb':'\x0a🚀\x20Ranger\x20Setup\x0a','EcQPm':'user','qcIve':function(_0x476715,_0x4d0fa1){return _0x476715(_0x4d0fa1);},'lTFDN':_0x28cca5(0x210),'tpMbM':_0x28cca5(0x1ff),'ixnjN':_0x28cca5(0x1b8),'xgPsW':_0x28cca5(0x1c2),'nGnWf':function(_0x472cc6,_0x2f593d){return _0x472cc6(_0x2f593d);},'nxbrB':_0x28cca5(0x1ed),'YkqER':function(_0x2b145d,_0x151333){return _0x2b145d&&_0x151333;},'MeXVg':function(_0x2c6618,_0x113025,_0xdb8a18){return _0x2c6618(_0x113025,_0xdb8a18);},'rlDGm':_0x28cca5(0x1fb),'UOQGq':function(_0x5eea16){return _0x5eea16();},'cslop':_0x28cca5(0x1fa),'eZpur':function(_0x22bd4d,_0xe04802){return _0x22bd4d instanceof _0xe04802;},'TOwYS':'skills','kCxIM':'\x0aSkipping\x20profile\x20setup\x20(--skip-auth).\x20Run\x20`ranger\x20setup`\x20with\x20auth\x20to\x20add\x20a\x20profile\x20later.\x0a','vpdEs':_0x28cca5(0x1c9),'UfmAT':function(_0xb8961b,_0x4a3f0f){return _0xb8961b+_0x4a3f0f;},'FSfSw':_0x28cca5(0x1e3),'tNxAJ':_0x28cca5(0x1b9),'gMMlD':'with\x20scenarios\x20describing\x20what\x20to\x20verify\x20and\x20then\x20run\x20browser','gMYHl':function(_0x386966,_0x2ec8ed){return _0x386966(_0x2ec8ed);}};console[_0x28cca5(0x201)](_0x1b0227['gqvFb']);_0x2d41b9?.['scope']!==undefined&&_0x2d41b9[_0x28cca5(0x204)]!==_0x28cca5(0x1fe)&&(console[_0x28cca5(0x219)]('ranger\x20setup\x20--scope='+String(_0x2d41b9[_0x28cca5(0x204)])+_0x28cca5(0x1f2)+'Setup\x20always\x20installs\x20at\x20user\x20scope\x20now\x20(cloud\x20profiles\x20make\x20'+_0x28cca5(0x1b5)),process[_0x28cca5(0x1f0)](0x1));_0x2d41b9={..._0x2d41b9,'scope':_0x1b0227[_0x28cca5(0x206)]};const _0x211e19=!existsSync(getRangerHomeDir());await _0x1b0227[_0x28cca5(0x1fc)](ensureRangerDir,'user');if(_0x2d41b9?.[_0x28cca5(0x1da)])console['log'](_0x1b0227[_0x28cca5(0x21c)]),_0x2e9b57?.['trackPhaseEnd']('auth',{'isFirstRun':_0x211e19,'method':'skipped'});else{_0x2e9b57?.['trackPhaseStart'](_0x28cca5(0x1ff));const _0x31152b=await authenticate(_0x4d38d8);_0x2e9b57?.[_0x28cca5(0x1ba)](_0x1b0227[_0x28cca5(0x1bc)],{'isFirstRun':_0x211e19,'method':_0x31152b[_0x28cca5(0x20f)]});}_0x2e9b57?.[_0x28cca5(0x1e4)]('chromium');_0x2d41b9?.[_0x28cca5(0x1f3)]?console[_0x28cca5(0x201)](_0x1b0227['ixnjN']):await ensureChromium(_0x2d41b9?.['withDeps']);_0x2e9b57?.[_0x28cca5(0x1ba)](_0x1b0227[_0x28cca5(0x20b)],{'isFirstRun':_0x211e19,'skipped':!!_0x2d41b9?.[_0x28cca5(0x1f3)]}),console['log'](_0x28cca5(0x1bd));const _0x1a88b4=_0x2d41b9?.['scope'],_0x2be33b=_0x2d41b9?.['opencode']??![];let _0x51b99a=null;_0x2be33b?(_0x2e9b57?.['trackPhaseStart'](_0x28cca5(0x1ed)),_0x51b99a=await ensureOpencodePluginConfig(_0x1a88b4),_0x2e9b57?.['trackPhaseEnd'](_0x28cca5(0x1ed),{'isFirstRun':_0x211e19,'opencode':!![]})):(_0x2e9b57?.[_0x28cca5(0x1e4)]('plugin'),await _0x1b0227[_0x28cca5(0x1ce)](ensureClaudePlugin,_0x1a88b4),_0x2e9b57?.[_0x28cca5(0x1ba)](_0x1b0227['nxbrB'],{'isFirstRun':_0x211e19}));if(_0x1b0227[_0x28cca5(0x1ef)](_0x2be33b,_0x51b99a)){_0x2e9b57?.['trackPhaseStart'](_0x28cca5(0x1ea));try{await _0x1b0227['MeXVg'](installSkill,_0x1b0227['rlDGm'],{'level':_0x51b99a[_0x28cca5(0x204)],'cliVersion':_0x1b0227['UOQGq'](getCurrentVersion),'platform':_0x1b0227[_0x28cca5(0x1d5)]}),_0x2e9b57?.[_0x28cca5(0x1ba)](_0x28cca5(0x1ea),{'isFirstRun':_0x211e19,'opencode':!![]});}catch(_0x4d1333){console['warn']('\x20\x20Failed\x20to\x20install\x20OpenCode\x20skill:',_0x1b0227[_0x28cca5(0x1f4)](_0x4d1333,Error)?_0x4d1333['message']:_0x4d1333),_0x2e9b57?.[_0x28cca5(0x1ba)]('skills',{'isFirstRun':_0x211e19,'opencode':!![],'failed':!![]});}}else _0x2e9b57?.['trackPhaseStart'](_0x1b0227[_0x28cca5(0x1e9)]),await _0x1b0227['nGnWf'](ensureClaudeSkills,_0x1a88b4),_0x2e9b57?.['trackPhaseEnd'](_0x28cca5(0x1ea),{'isFirstRun':_0x211e19});if(_0x2d41b9?.[_0x28cca5(0x1da)])console['log'](_0x1b0227['kCxIM']);else{if(_0x2d41b9?.[_0x28cca5(0x21a)]){_0x2e9b57?.[_0x28cca5(0x1e4)](_0x1b0227[_0x28cca5(0x1cf)]);const _0x582bb1=await ensureLocalEnv({'url':_0x2d41b9[_0x28cca5(0x21a)],'force':_0x2d41b9?.['force'],'allowInsecureLocalhost':_0x2d41b9?.['allowInsecureLocalhost'],'scope':_0x1b0227[_0x28cca5(0x206)]},_0x2e9b57);_0x2e9b57?.[_0x28cca5(0x1ba)](_0x28cca5(0x1c9),{'isFirstRun':_0x211e19,'profileReady':_0x582bb1['ready'],'userSkipped':_0x582bb1[_0x28cca5(0x207)]});}else console['log'](_0x1b0227['UfmAT']('\x0aTo\x20set\x20up\x20a\x20profile\x20for\x20your\x20app,\x20run:'+(_0x28cca5(0x20c)+_0x1b0227['qcIve'](bold,_0x1b0227['FSfSw']))+'\x0a\x20\x20(opens\x20a\x20browser\x20so\x20you\x20can\x20log\x20in\x20once)','\x0a\x0aFor\x20CI\x20/\x20background\x20agents\x20and\x20other\x20setup\x20options,\x20see:')+_0x28cca5(0x212));}if(_0x2be33b)console[_0x28cca5(0x201)](_0x28cca5(0x225)),console['log'](_0x1b0227[_0x28cca5(0x1c0)]),console[_0x28cca5(0x201)](_0x1b0227['gMMlD']),console['log']('verification\x20to\x20check\x20its\x20work\x20as\x20it\x20builds.');else{const _0x5df863=_0x1b0227[_0x28cca5(0x1e0)](bold,'/ranger:enable');console[_0x28cca5(0x201)](_0x1b0227[_0x28cca5(0x223)]('\x0aIn\x20Claude\x20Code,\x20run\x20'+_0x5df863+'\x20and\x20prompt\x20the\x20coding'+_0x28cca5(0x21e),'\x0ascenarios\x20describing\x20what\x20to\x20verify\x20and\x20then\x20run\x20browser')+'\x0averification\x20to\x20check\x20its\x20work\x20as\x20it\x20builds.');}}
1
+ const _0x1b06fb=_0x4212;(function(_0x5053a3,_0x21f91a){const _0x412048=_0x4212,_0x4f572f=_0x5053a3();while(!![]){try{const _0x192a35=parseInt(_0x412048(0x152))/0x1*(-parseInt(_0x412048(0x18a))/0x2)+-parseInt(_0x412048(0x1a2))/0x3*(-parseInt(_0x412048(0x155))/0x4)+parseInt(_0x412048(0x158))/0x5*(-parseInt(_0x412048(0x175))/0x6)+parseInt(_0x412048(0x15d))/0x7+-parseInt(_0x412048(0x176))/0x8*(parseInt(_0x412048(0x18c))/0x9)+parseInt(_0x412048(0x1b0))/0xa+parseInt(_0x412048(0x14e))/0xb;if(_0x192a35===_0x21f91a)break;else _0x4f572f['push'](_0x4f572f['shift']());}catch(_0x5d48cf){_0x4f572f['push'](_0x4f572f['shift']());}}}(_0x31d2,0xdf0d4));import{mkdir,writeFile}from'fs/promises';import{join,dirname}from'path';import{existsSync}from'fs';import{createRequire}from'module';import _0x59d167 from'inquirer';function _0x4212(_0x567d33,_0x2f627f){_0x567d33=_0x567d33-0x149;const _0x31d2aa=_0x31d2();let _0x421204=_0x31d2aa[_0x567d33];return _0x421204;}import{getToken,storeToken}from'./utils/keychain.js';import{getCurrentUser}from'./utils/userApi.js';import{chromium}from'playwright';import{addEnv}from'./addEnv.js';import{getRangerHomeDir,findGitRoot}from'./utils/rangerRoot.js';import{runDeviceAuthFlow}from'./utils/deviceAuth.js';function _0x31d2(){const _0x4f3bd9=['\x0a❌\x20Profile\x20setup\x20failed:','39822992gOEXKR','LNKOA','success','\x1b[0m','4PCxRrI','ErzaX','scope','4FpZPbV','GsKdP','iuOGX','20PvxajL','\x20\x20Failed\x20to\x20install\x20OpenCode\x20skill:','\x0a\x0aFor\x20CI\x20/\x20background\x20agents\x20and\x20other\x20setup\x20options,\x20see:','vGUvp','Setup\x20always\x20installs\x20at\x20user\x20scope\x20now\x20(cloud\x20profiles\x20make\x20','3599806QxYUtt','Authentication\x20failed:\x20','CaBgH','bnQaG','\x0a❌\x20Failed\x20to\x20install\x20Chromium:','Failed\x20to\x20validate\x20provisioned\x20API\x20key:\x20','RfSnU','✓\x20~/.ranger/\x20directory\x20already\x20exists','trackPhaseEnd','\x0a✅\x20Ranger\x20setup\x20complete!\x0a','device_auth','\x0aNon-interactive\x20mode:\x20Auto-installing\x20Playwright\x20Chromium\x20','Installation\x20failed\x20with\x20exit\x20code\x20','✓\x20Skipping\x20Chromium\x20check\x20(--skip-chromium)','JPVoE','warn','erOYj','platform','round','jUSRM',');\x20retrying...','organizationName','QTRGp','win32','1998300CkSyPU','80kqzyvr',')\x20of\x20the\x20Playwright\x20Chromium\x20browser\x20is\x20not\x20installed.\x20Install\x20it\x20now?','kJZDq','moQeT','dGVKb','iokBA','\x20now?','local','xwHkU','You\x20can\x20install\x20it\x20manually\x20by\x20running:','\x0a✓\x20Playwright\x20Chromium\x20installed\x20successfully','ghMkG','GITHUB_ENV','execPath','UrIZg','ranger\x20profile\x20add\x20<name>','\x20and\x20prompt\x20the\x20coding','FFHfv','version','withDeps','719988tOrxMF','message','1147176OGyowC','allowInsecureLocalhost','\x20(fallback\x20version)','\x0a⚠\x20Skipping\x20Chromium\x20installation.','✓\x20Exported\x20credentials\x20for\x20CI','rCSza','ranger\x20setup\x20--scope=','tMKmG','cpMAC','KSGQN','error','ready','✓\x20Created\x20~/.ranger/\x20directory','profile','\x0averification\x20to\x20check\x20its\x20work\x20as\x20it\x20builds.','ziSrP','The\x20required\x20version\x20(','RANGER_CHROMIUM_INSTALL_TIMEOUT_MS','\x0aIn\x20Claude\x20Code,\x20run\x20','close','inherit','playwright/package.json','580323OWbsAy','\x0a\x20\x20Chromium\x20install\x20timed\x20out\x20(limit\x20','\x0aSkipping\x20profile\x20setup\x20(--skip-auth).\x20Run\x20`ranger\x20setup`\x20with\x20auth\x20to\x20add\x20a\x20profile\x20later.\x0a','swHrh','trackPhaseStart','force','.gitignore','user','kill','✓\x20Skipping\x20authentication\x20(--skip-auth)','LStwM','sepqx','isTTY','\x0aInstalling\x20Chromium\x20browser...\x0a','6324650gzpLhy','log','ignore','\x0a🚀\x20Ranger\x20Setup\x0a','skills','skipChromium','hIdXL','\x20\x20Chromium\x20install\x20attempt\x20','GAgtO','\x20\x20npx\x20playwright@'];_0x31d2=function(){return _0x4f3bd9;};return _0x31d2();}import{findExistingEnv}from'./utils/settings.js';import{getCurrentVersion}from'./utils/version.js';import{ensureClaudePlugin,ensureClaudeSkills}from'./setup/claude.js';import{ensureOpencodePluginConfig}from'./setup/opencode.js';import{installSkill}from'./utils/skills.js';import{spawn}from'child_process';const require=createRequire(import.meta.url);export const PLAYWRIGHT_CHROMIUM_INSTALL_FALLBACK_VERSION='1.60.0';const bold=_0x58f7f8=>'\x1b[1m'+_0x58f7f8+_0x1b06fb(0x151);export function getPlaywrightVersion(){const _0x165478=_0x1b06fb,_0xd8c439={'EbIzl':'playwright/package.json'};try{const _0x22bf6c=require['resolve'](_0xd8c439['EbIzl']),_0x15d9c1=require(_0x22bf6c);return _0x15d9c1[_0x165478(0x188)];}catch{return null;}}function resolveBundledPlaywrightCli(){const _0x6ac558=_0x1b06fb,_0xaeb585={'GsKdP':function(_0x3269c1,_0x32d07e){return _0x3269c1(_0x32d07e);}};try{const _0x3cef99=join(_0xaeb585[_0x6ac558(0x156)](dirname,require['resolve'](_0x6ac558(0x1a1))),'cli.js');return _0xaeb585['GsKdP'](existsSync,_0x3cef99)?_0x3cef99:null;}catch{return null;}}const CHROMIUM_INSTALL_TIMEOUT_MS=Number(process['env'][_0x1b06fb(0x19d)])||0x927c0;class ChromiumInstallTimeoutError extends Error{}export async function installChromiumBinary(_0x3702b6,_0x12cbae=![]){const _0x4ab97a=_0x1b06fb,_0x334145={'YweSd':'npx','ghMkG':'chromium','UrIZg':function(_0x339510,_0x5bc255){return _0x339510 instanceof _0x5bc255;},'moQeT':function(_0x5da843,_0x36881a){return _0x5da843+_0x36881a;},'QTRGp':function(_0x674734,_0x38857e){return _0x674734>=_0x38857e;},'pTyjx':function(_0x410c8d,_0x2fa981){return _0x410c8d instanceof _0x2fa981;}},_0x2d1b8c=resolveBundledPlaywrightCli(),_0x1e790f=_0x2d1b8c?process[_0x4ab97a(0x183)]:_0x334145['YweSd'],_0x461cfa=[_0x2d1b8c??'playwright@'+_0x3702b6,'install',..._0x12cbae?['--with-deps']:[],_0x334145[_0x4ab97a(0x181)]];let _0x289301=![];for(let _0x36d763=0x1;;_0x36d763++){try{await runChromiumInstall(_0x1e790f,_0x461cfa);return;}catch(_0x510cf0){_0x334145[_0x4ab97a(0x184)](_0x510cf0,ChromiumInstallTimeoutError)&&!_0x289301&&(_0x289301=!![],console[_0x4ab97a(0x1b1)](_0x334145[_0x4ab97a(0x179)](_0x4ab97a(0x1a3)+Math['round'](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(_0x334145[_0x4ab97a(0x173)](_0x36d763,0x3))throw _0x510cf0;const _0x21ee22=_0x334145['pTyjx'](_0x510cf0,Error)?_0x510cf0[_0x4ab97a(0x18b)]:String(_0x510cf0);console[_0x4ab97a(0x1b1)](_0x4ab97a(0x14a)+_0x36d763+'\x20failed\x20('+_0x21ee22+_0x4ab97a(0x171));}}}function runChromiumInstall(_0x55a52e,_0x1d22f3){const _0x1f57ca=_0x1b06fb,_0x5b688e={'LNKOA':function(_0x361bf8,_0x5a5373){return _0x361bf8(_0x5a5373);},'hEOrS':function(_0x48e6a0,_0x6ac22f){return _0x48e6a0===_0x6ac22f;},'cyTPo':function(_0x11ca4c){return _0x11ca4c();},'iokBA':function(_0x5f322d,_0x53e3c0,_0x100c13,_0x2c5413){return _0x5f322d(_0x53e3c0,_0x100c13,_0x2c5413);},'GAgtO':_0x1f57ca(0x1b2),'xwHkU':'inherit','swHrh':_0x1f57ca(0x19f)};return new Promise((_0x58b386,_0x32d7e4)=>{const _0x58703d=_0x1f57ca,_0x3c78a2={'vGUvp':function(_0x24848e,_0x5be2ab){return _0x24848e(_0x5be2ab);},'hIdXL':function(_0x75b56c,_0x25276b){return _0x5b688e['hEOrS'](_0x75b56c,_0x25276b);},'SKKRe':function(_0xf941d){return _0x5b688e['cyTPo'](_0xf941d);},'tpYQk':function(_0x17a467,_0x46aec0){const _0x1e75dd=_0x4212;return _0x5b688e[_0x1e75dd(0x14f)](_0x17a467,_0x46aec0);}},_0x5b15f3=_0x5b688e[_0x58703d(0x17b)](spawn,_0x55a52e,_0x1d22f3,{'stdio':[_0x5b688e[_0x58703d(0x14b)],_0x58703d(0x1a0),_0x5b688e[_0x58703d(0x17e)]],'shell':process[_0x58703d(0x16e)]===_0x58703d(0x174)}),_0x57f2e7=setTimeout(()=>{const _0x5f3b65=_0x58703d;_0x5b15f3[_0x5f3b65(0x1aa)]('SIGKILL'),_0x3c78a2[_0x5f3b65(0x15b)](_0x32d7e4,new ChromiumInstallTimeoutError('Chromium\x20install\x20timed\x20out\x20after\x20'+Math[_0x5f3b65(0x16f)](CHROMIUM_INSTALL_TIMEOUT_MS/0x3e8)+'s'));},CHROMIUM_INSTALL_TIMEOUT_MS);_0x5b15f3['on'](_0x5b688e[_0x58703d(0x1a5)],_0x1fb27f=>{const _0x3bed6a=_0x58703d;clearTimeout(_0x57f2e7);if(_0x3c78a2[_0x3bed6a(0x149)](_0x1fb27f,0x0))_0x3c78a2['SKKRe'](_0x58b386);else _0x3c78a2['tpYQk'](_0x32d7e4,new Error(_0x3bed6a(0x169)+_0x1fb27f));}),_0x5b15f3['on']('error',_0x5b6d56=>{const _0x323a27=_0x58703d;_0x5b688e[_0x323a27(0x14f)](clearTimeout,_0x57f2e7),_0x32d7e4(_0x5b6d56);});});}export async function authenticate(_0x145759){const _0x14c78b=_0x1b06fb,_0x35f00c={'DynJR':function(_0x54b886){return _0x54b886();},'kJZDq':function(_0x1f593e,_0x276e67){return _0x1f593e(_0x276e67);},'bnQaG':function(_0x1683c5,_0x53256c){return _0x1683c5 instanceof _0x53256c;},'FMYjE':'Validating\x20API\x20token...','EwQBU':function(_0x1a01b1,_0x34b166){return _0x1a01b1(_0x34b166);},'IvAcN':'✓\x20Stored\x20credentials\x20locally'};if(!_0x145759){const _0x4460a9=await _0x35f00c['DynJR'](getToken);if(_0x4460a9){const _0x4941ca=await _0x35f00c[_0x14c78b(0x178)](getCurrentUser,_0x4460a9);if(_0x4941ca[_0x14c78b(0x150)])return console[_0x14c78b(0x1b1)]('✓\x20Already\x20authenticated\x20to\x20'+_0x4941ca[_0x14c78b(0x1a9)]['organizationName']),{'token':_0x4460a9,'method':'existing_token'};}try{_0x145759=await _0x35f00c['DynJR'](runDeviceAuthFlow);}catch(_0x18d07b){throw new Error('Authentication\x20failed:\x20'+(_0x35f00c[_0x14c78b(0x160)](_0x18d07b,Error)?_0x18d07b['message']:_0x18d07b));}const _0x4ba7d5=await getCurrentUser(_0x145759);if(!_0x4ba7d5['success'])throw new Error(_0x14c78b(0x162)+_0x4ba7d5[_0x14c78b(0x196)]);return console['log']('✓\x20Authenticated\x20to\x20'+_0x4ba7d5[_0x14c78b(0x1a9)][_0x14c78b(0x172)]),{'token':_0x145759,'method':_0x14c78b(0x167)};}console[_0x14c78b(0x1b1)](_0x35f00c['FMYjE']);const _0x530935=await getCurrentUser(_0x145759);if(!_0x530935['success']){if(_0x530935['status'])throw new Error(_0x14c78b(0x15e)+_0x530935['error']+'.\x20Please\x20check\x20your\x20API\x20token\x20and\x20try\x20again.');else throw new Error('Failed\x20to\x20connect\x20to\x20MCP\x20server:\x20'+_0x530935['error']+'.\x20Please\x20check\x20your\x20network\x20connection\x20and\x20server\x20URL.');}return console['log']('✓\x20Authenticated\x20to\x20'+_0x530935[_0x14c78b(0x1a9)][_0x14c78b(0x172)]),await _0x35f00c['EwQBU'](storeToken,_0x145759),console[_0x14c78b(0x1b1)](process['env'][_0x14c78b(0x182)]?_0x14c78b(0x190):_0x35f00c['IvAcN']),{'token':_0x145759,'method':'provided_token'};}export async function ensureRangerDir(_0x4a2921){const _0x504147=_0x1b06fb,_0x88122f={'erOYj':function(_0x1930c7){return _0x1930c7();},'HurkH':_0x504147(0x198)};void _0x4a2921;const _0x21cdbb=_0x88122f[_0x504147(0x16d)](getRangerHomeDir);return!existsSync(_0x21cdbb)?(await mkdir(_0x21cdbb,{'recursive':!![]}),console[_0x504147(0x1b1)](_0x88122f['HurkH']),{'path':_0x21cdbb,'installed':!![]}):(console['log'](_0x504147(0x164)),{'path':_0x21cdbb,'installed':![]});}export async function ensureChromium(_0x5de134=![]){const _0x4ea76a=_0x1b06fb,_0x19dab7={'jGvxv':function(_0x5e8d08,_0x33eb64){return _0x5e8d08??_0x33eb64;},'JPVoE':_0x4ea76a(0x1af),'vXkNT':function(_0x56b5f2,_0x915360,_0x2ce58d){return _0x56b5f2(_0x915360,_0x2ce58d);},'ziSrP':_0x4ea76a(0x161),'AGnQV':function(_0x276191,_0x4bf69d){return _0x276191 instanceof _0x4bf69d;},'SWOxq':'You\x20will\x20need\x20to\x20install\x20it\x20before\x20using\x20Ranger:'};let _0x15b2a6=![];try{const _0x109d03=chromium['executablePath']();_0x15b2a6=existsSync(_0x109d03);}catch{_0x15b2a6=![];}if(_0x15b2a6)return console['log']('✓\x20Playwright\x20Chromium\x20browser\x20found'),![];const _0x1732b9=getPlaywrightVersion(),_0x2b9fe4=_0x19dab7['jGvxv'](_0x1732b9,PLAYWRIGHT_CHROMIUM_INSTALL_FALLBACK_VERSION),_0x427161=!_0x1732b9,_0x1f7248=process['stdin'][_0x4ea76a(0x1ae)]&&process['stdout']['isTTY'];let _0x2c0f42=!![];if(_0x1f7248){const {install:_0x3d60f8}=await _0x59d167['prompt']([{'type':'confirm','name':'install','message':_0x427161?'Could\x20not\x20determine\x20local\x20Playwright\x20version.\x20Install\x20Playwright\x20Chromium\x20using\x20fallback\x20version\x20'+_0x2b9fe4+_0x4ea76a(0x17c):_0x4ea76a(0x19c)+_0x2b9fe4+_0x4ea76a(0x177),'default':!![]}]);_0x2c0f42=_0x3d60f8;}else console['log'](_0x4ea76a(0x168)+_0x2b9fe4+(_0x427161?_0x4ea76a(0x18e):'')+'...');if(_0x2c0f42){console[_0x4ea76a(0x1b1)](_0x19dab7[_0x4ea76a(0x16b)]);try{await _0x19dab7['vXkNT'](installChromiumBinary,_0x2b9fe4,_0x5de134),console['log'](_0x4ea76a(0x180));}catch(_0x1463b3){console[_0x4ea76a(0x196)](_0x19dab7[_0x4ea76a(0x19b)],_0x19dab7['AGnQV'](_0x1463b3,Error)?_0x1463b3['message']:_0x1463b3),console['log'](_0x4ea76a(0x17f)),console['log'](_0x4ea76a(0x14c)+_0x2b9fe4+'\x20install\x20chromium');}}else console[_0x4ea76a(0x1b1)](_0x4ea76a(0x18f)),console['log'](_0x19dab7['SWOxq']),console['log']('\x20\x20npx\x20playwright@'+_0x2b9fe4+'\x20install\x20chromium');return!![];}export async function writeRangerGitignore(_0x4decdd){const _0x30cb44=_0x1b06fb,_0x2518e4={'zcnNJ':function(_0x4374b7,_0x22aeed,_0x1df572){return _0x4374b7(_0x22aeed,_0x1df572);},'rCSza':_0x30cb44(0x1a8)},_0x717538=_0x2518e4['zcnNJ'](join,_0x4decdd,_0x2518e4[_0x30cb44(0x191)]),_0x2c18f7='\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 _0x2518e4['zcnNJ'](writeFile,_0x717538,_0x2c18f7),console[_0x30cb44(0x1b1)]('✓\x20Created\x20.ranger/.gitignore');}export async function ensureLocalEnv(_0x241424,_0x7d3150){const _0x484669=_0x1b06fb,_0x411ce5={'RfSnU':function(_0x58874e){return _0x58874e();},'pWONh':'⚠\x20No\x20git\x20repository\x20found.\x20Re-run\x20with\x20`--scope\x20user`\x20to\x20store\x20the\x20profile\x20at\x20~/.ranger/.','dGVKb':_0x484669(0x17d)};if(!_0x411ce5[_0x484669(0x163)](findGitRoot)&&_0x241424?.[_0x484669(0x154)]!=='user')return console['log'](_0x411ce5['pWONh']),{'ready':![],'skipped':!![]};const _0x3b4222=_0x241424?.[_0x484669(0x154)]===_0x484669(0x1a9)?getRangerHomeDir():undefined;if(findExistingEnv(_0x411ce5[_0x484669(0x17a)],{'locations':[_0x411ce5[_0x484669(0x17a)]],'rangerDir':_0x3b4222}))return console[_0x484669(0x1b1)]('✓\x20Local\x20profile\x20already\x20exists'),{'ready':!![],'skipped':![]};try{return await addEnv(_0x411ce5[_0x484669(0x17a)],{'url':_0x241424?.['url'],'force':_0x241424?.[_0x484669(0x1a7)],'allowInsecureLocalhost':_0x241424?.[_0x484669(0x18d)],'scope':_0x241424?.[_0x484669(0x154)]},_0x7d3150),{'ready':!![],'skipped':![]};}catch(_0x416e84){return console['error'](_0x484669(0x14d),_0x416e84 instanceof Error?_0x416e84[_0x484669(0x18b)]:_0x416e84),{'ready':![],'skipped':![]};}}export async function start(_0x388878,_0x4bd764,_0x3b940b){const _0x9779c4=_0x1b06fb,_0x1ae09c={'wDbJZ':_0x9779c4(0x1b3),'tpqJn':function(_0x202857,_0x52aa59){return _0x202857!==_0x52aa59;},'LStwM':function(_0x5a2776,_0x1ef897){return _0x5a2776+_0x1ef897;},'tMKmG':function(_0x45ce9d,_0x197aaa){return _0x45ce9d(_0x197aaa);},'cpMAC':function(_0x2524cb){return _0x2524cb();},'sepqx':'auth','SLugW':'chromium','KSGQN':'plugin','CaBgH':function(_0x41537d,_0x172fbd){return _0x41537d(_0x172fbd);},'UeAOD':function(_0x42b802,_0x45c7f2){return _0x42b802&&_0x45c7f2;},'XOZVr':function(_0x32166e,_0x37e109,_0x3c01a0){return _0x32166e(_0x37e109,_0x3c01a0);},'FoKvs':'ranger','iuOGX':_0x9779c4(0x1b4),'nzNbW':_0x9779c4(0x1a4),'QXApC':'user','ErzaX':_0x9779c4(0x199),'FFHfv':function(_0x3b535a,_0x469d5f){return _0x3b535a+_0x469d5f;},'dYLOk':'with\x20scenarios\x20describing\x20what\x20to\x20verify\x20and\x20then\x20run\x20browser','KmWxU':'/ranger:enable','jUSRM':function(_0x96453f,_0x65590){return _0x96453f+_0x65590;}};console[_0x9779c4(0x1b1)](_0x1ae09c['wDbJZ']);_0x4bd764?.[_0x9779c4(0x154)]!==undefined&&_0x1ae09c['tpqJn'](_0x4bd764['scope'],_0x9779c4(0x1a9))&&(console[_0x9779c4(0x196)](_0x1ae09c[_0x9779c4(0x1ac)](_0x9779c4(0x192)+_0x1ae09c['tMKmG'](String,_0x4bd764[_0x9779c4(0x154)])+'\x20is\x20no\x20longer\x20supported.\x20'+_0x9779c4(0x15c),'project-scope\x20setup\x20obsolete).\x20Drop\x20the\x20--scope\x20flag\x20or\x20pass\x20--scope=user.')),process['exit'](0x1));_0x4bd764={..._0x4bd764,'scope':_0x9779c4(0x1a9)};const _0x9be3f9=!_0x1ae09c['tMKmG'](existsSync,_0x1ae09c[_0x9779c4(0x194)](getRangerHomeDir));await ensureRangerDir(_0x9779c4(0x1a9));if(_0x4bd764?.['skipAuth'])console['log'](_0x9779c4(0x1ab)),_0x3b940b?.['trackPhaseEnd'](_0x1ae09c['sepqx'],{'isFirstRun':_0x9be3f9,'method':'skipped'});else{_0x3b940b?.['trackPhaseStart'](_0x1ae09c['sepqx']);const _0x146236=await authenticate(_0x388878);_0x3b940b?.[_0x9779c4(0x165)](_0x1ae09c[_0x9779c4(0x1ad)],{'isFirstRun':_0x9be3f9,'method':_0x146236['method']});}_0x3b940b?.[_0x9779c4(0x1a6)](_0x1ae09c['SLugW']);_0x4bd764?.['skipChromium']?console[_0x9779c4(0x1b1)](_0x9779c4(0x16a)):await ensureChromium(_0x4bd764?.[_0x9779c4(0x189)]);_0x3b940b?.['trackPhaseEnd']('chromium',{'isFirstRun':_0x9be3f9,'skipped':!!_0x4bd764?.[_0x9779c4(0x1b5)]}),console[_0x9779c4(0x1b1)](_0x9779c4(0x166));const _0x2d5a3a=_0x4bd764?.[_0x9779c4(0x154)],_0x799ac5=_0x4bd764?.['opencode']??![];let _0x42baca=null;_0x799ac5?(_0x3b940b?.[_0x9779c4(0x1a6)](_0x1ae09c['KSGQN']),_0x42baca=await _0x1ae09c['CaBgH'](ensureOpencodePluginConfig,_0x2d5a3a),_0x3b940b?.['trackPhaseEnd'](_0x1ae09c['KSGQN'],{'isFirstRun':_0x9be3f9,'opencode':!![]})):(_0x3b940b?.[_0x9779c4(0x1a6)](_0x1ae09c[_0x9779c4(0x195)]),await _0x1ae09c[_0x9779c4(0x193)](ensureClaudePlugin,_0x2d5a3a),_0x3b940b?.['trackPhaseEnd'](_0x1ae09c['KSGQN'],{'isFirstRun':_0x9be3f9}));if(_0x1ae09c['UeAOD'](_0x799ac5,_0x42baca)){_0x3b940b?.['trackPhaseStart'](_0x9779c4(0x1b4));try{await _0x1ae09c['XOZVr'](installSkill,_0x1ae09c['FoKvs'],{'level':_0x42baca[_0x9779c4(0x154)],'cliVersion':_0x1ae09c[_0x9779c4(0x194)](getCurrentVersion),'platform':'opencode'}),_0x3b940b?.[_0x9779c4(0x165)](_0x1ae09c[_0x9779c4(0x157)],{'isFirstRun':_0x9be3f9,'opencode':!![]});}catch(_0x1b070f){console[_0x9779c4(0x16c)](_0x9779c4(0x159),_0x1b070f instanceof Error?_0x1b070f['message']:_0x1b070f),_0x3b940b?.[_0x9779c4(0x165)]('skills',{'isFirstRun':_0x9be3f9,'opencode':!![],'failed':!![]});}}else _0x3b940b?.['trackPhaseStart'](_0x9779c4(0x1b4)),await _0x1ae09c[_0x9779c4(0x15f)](ensureClaudeSkills,_0x2d5a3a),_0x3b940b?.[_0x9779c4(0x165)]('skills',{'isFirstRun':_0x9be3f9});if(_0x4bd764?.['skipAuth'])console['log'](_0x1ae09c['nzNbW']);else{if(_0x4bd764?.['url']){_0x3b940b?.['trackPhaseStart'](_0x9779c4(0x199));const _0x3fc188=await ensureLocalEnv({'url':_0x4bd764['url'],'force':_0x4bd764?.[_0x9779c4(0x1a7)],'allowInsecureLocalhost':_0x4bd764?.[_0x9779c4(0x18d)],'scope':_0x1ae09c['QXApC']},_0x3b940b);_0x3b940b?.[_0x9779c4(0x165)](_0x1ae09c[_0x9779c4(0x153)],{'isFirstRun':_0x9be3f9,'profileReady':_0x3fc188[_0x9779c4(0x197)],'userSkipped':_0x3fc188['skipped']});}else console[_0x9779c4(0x1b1)](_0x1ae09c['LStwM'](_0x1ae09c['LStwM'](_0x1ae09c[_0x9779c4(0x187)]('\x0aTo\x20set\x20up\x20a\x20profile\x20for\x20your\x20app,\x20run:','\x0a\x20\x20'+bold(_0x9779c4(0x185))),'\x0a\x20\x20(opens\x20a\x20browser\x20so\x20you\x20can\x20log\x20in\x20once)')+_0x9779c4(0x15a),'\x0a\x20\x20https://docs.ranger.net/main/concepts/profiles'));}if(_0x799ac5)console['log']('\x0aIn\x20OpenCode,\x20enable\x20Ranger\x20hooks\x20(run\x20the\x20`ranger_enable`\x20tool)'),console[_0x9779c4(0x1b1)]('and\x20prompt\x20the\x20agent\x20like\x20usual.\x20Ranger\x20will\x20create\x20a\x20feature\x20review'),console['log'](_0x1ae09c['dYLOk']),console['log']('verification\x20to\x20check\x20its\x20work\x20as\x20it\x20builds.');else{const _0x1cc7b9=_0x1ae09c['CaBgH'](bold,_0x1ae09c['KmWxU']);console['log'](_0x1ae09c[_0x9779c4(0x170)](_0x1ae09c[_0x9779c4(0x170)](_0x1ae09c['jUSRM'](_0x9779c4(0x19e)+_0x1cc7b9+_0x9779c4(0x186),'\x0aagent\x20like\x20usual.\x20Claude\x20will\x20create\x20a\x20feature\x20review\x20with'),'\x0ascenarios\x20describing\x20what\x20to\x20verify\x20and\x20then\x20run\x20browser'),_0x9779c4(0x19a)));}}
@@ -1 +1 @@
1
- const _0x587607=_0x141a;(function(_0x3231b9,_0x5211ee){const _0x4c9281=_0x141a,_0x104d5b=_0x3231b9();while(!![]){try{const _0x590a49=-parseInt(_0x4c9281(0x236))/0x1+parseInt(_0x4c9281(0x21e))/0x2*(parseInt(_0x4c9281(0x1dd))/0x3)+-parseInt(_0x4c9281(0x1e1))/0x4*(parseInt(_0x4c9281(0x1e3))/0x5)+-parseInt(_0x4c9281(0x21c))/0x6+-parseInt(_0x4c9281(0x1f9))/0x7*(parseInt(_0x4c9281(0x237))/0x8)+-parseInt(_0x4c9281(0x1d6))/0x9*(parseInt(_0x4c9281(0x21a))/0xa)+parseInt(_0x4c9281(0x217))/0xb*(parseInt(_0x4c9281(0x232))/0xc);if(_0x590a49===_0x5211ee)break;else _0x104d5b['push'](_0x104d5b['shift']());}catch(_0x33d91e){_0x104d5b['push'](_0x104d5b['shift']());}}}(_0x44ec,0x79a1d));import{readFile,readdir}from'fs/promises';import{join,basename}from'path';import{existsSync}from'fs';import{getToken}from'./utils/keychain.js';import{getCurrentVersion,getLatestVersion}from'./utils/version.js';function _0x44ec(){const _0x15c5cd=['opencode','version','fvYCy','(not\x20found)','path','THPIB','Organization:\x20','ignore','unknown','enabled','No\x20skills\x20installed','@ranger-testing/opencode-plugin','displayName','\x0a---\x20OpenCode\x20Plugin\x20---','36702012sAuYMA','isArray','RTALY','dXpht','45735DZcXyk','2415376nqVQbG','all','includes','config','push','trim','close','\x1b[0m','stdout','piCxR','KnwVo','sessionUpdatedAt','pvaDa','syUhQ','opencode-plugin','1271637euTHKj','has','auth.json','not_installed','krOMK','njOFX','gEaBU','68133tvoPiC','Root:\x20','qYxAp','\x20\x20Not\x20installed','2871316vSMNqe','utf-8','5AkdJYV','no\x20session','NxQuF','isActive','\x0a---\x20Skills\x20---','some','map','log','YRImi','\x1b]8;;\x07','toString','hasPlaintextAuth','crlNo','\x20\x20\x20\x20','\x20\x20Run:\x20ranger\x20setup\x20--opencode','stderr','isDirectory','\x20\x20Run:\x20ranger\x20profile\x20add\x20<profile-name>','\x0a\x20\x20No\x20active\x20profile\x20set','name','bihfk','API\x20URL:\x20','7iKEnlk','dTmZH','ghsMi','Version:\x20','aZgbB','\x0a---\x20Claude\x20Code\x20Plugin\x20---','debug','\x0a---\x20Profiles\x20---','\x1b[1m','ApLcM','mKLoe','LsriT','pipe','ONozk','\x20\x20Project-level:','match','\x20\x20\x20\x20Auth:\x20','qVHQF','\x20\x20Run:\x20ranger\x20setup\x20[token]','filter','\x20(up\x20to\x20date)','string','VWKIy','hYYdx','meuYM','organizationName','BGLfJ','length','KsoRZ','join','11OIJTmz','\x20(active)','BZGsQ','70AlyjFu','Syjbk','4124682cQWRny','status','16yvIJZA','API\x20Environment:\x20','not_configured','details','configured','whbbw'];_0x44ec=function(){return _0x15c5cd;};return _0x44ec();}import{getApiBaseUrl,getCurrentEnvironment}from'./utils/environment.js';import{getProjectSkillsDir,getUserSkillsDir}from'./utils/claudeConfig.js';function _0x141a(_0x12e25a,_0x2a89c0){_0x12e25a=_0x12e25a-0x1cb;const _0x44ec5f=_0x44ec();let _0x141aa1=_0x44ec5f[_0x12e25a];return _0x141aa1;}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=_0x343e4a=>_0x587607(0x201)+_0x343e4a+_0x587607(0x1ce),link=(_0x586e07,_0x5b897c)=>'\x1b]8;;file://'+_0x586e07+'\x07'+(_0x5b897c||_0x586e07)+_0x587607(0x1ec);async function getOpencodePluginStatus(){const _0x1c38c7=_0x587607,_0x69067c={'VWKIy':function(_0x384a8a,_0x53bee0){return _0x384a8a(_0x53bee0);},'YRImi':_0x1c38c7(0x220),'whbbw':_0x1c38c7(0x1ff),'wXEMX':_0x1c38c7(0x23a),'ONozk':_0x1c38c7(0x22b),'HqQle':_0x1c38c7(0x205),'qVHQF':'data','fvYCy':'error','EPdnA':_0x1c38c7(0x1cd)};return new Promise(_0xe13758=>{const _0x5e1d94=_0x1c38c7,_0x381fd4={'meuYM':function(_0xed18a8,_0x4ea720){return _0xed18a8!==_0x4ea720;},'hYYdx':function(_0x2fe260,_0x1cf195){return _0x2fe260>_0x1cf195;},'bihfk':function(_0x4148e4,_0x9e4a9c){return _0x4148e4(_0x9e4a9c);},'BZGsQ':_0x69067c[_0x5e1d94(0x1eb)]},_0x31eb7a=spawn(_0x5e1d94(0x224),[_0x69067c[_0x5e1d94(0x223)],_0x69067c['wXEMX']],{'stdio':[_0x69067c[_0x5e1d94(0x206)],_0x69067c['HqQle'],_0x69067c['HqQle']]});let _0x261094='';_0x31eb7a[_0x5e1d94(0x1cf)]?.['on'](_0x69067c[_0x5e1d94(0x20a)],_0x21dbaf=>{const _0x241140=_0x5e1d94;_0x261094+=_0x21dbaf[_0x241140(0x1ed)]();}),_0x31eb7a[_0x5e1d94(0x1f2)]?.['on'](_0x69067c[_0x5e1d94(0x20a)],_0x1463a8=>{_0x261094+=_0x1463a8['toString']();}),_0x31eb7a['on'](_0x69067c[_0x5e1d94(0x226)],()=>{const _0x8c45b5=_0x5e1d94;_0x69067c[_0x8c45b5(0x20f)](_0xe13758,{'status':_0x8c45b5(0x1d9)});}),_0x31eb7a['on'](_0x69067c['EPdnA'],_0x1a35e7=>{const _0x4f0278=_0x5e1d94;if(_0x1a35e7!==0x0){_0xe13758({'status':'not_installed'});return;}const _0x45d7a1=_0x261094[_0x4f0278(0x1cc)]();let _0x32128f=null;if(_0x45d7a1)try{_0x32128f=JSON['parse'](_0x45d7a1);}catch{const _0x16129b=_0x45d7a1['match'](/\{[\s\S]*\}$/);if(_0x16129b)try{_0x32128f=JSON['parse'](_0x16129b[0x0]);}catch{_0x32128f=null;}}const _0x44d360=Array[_0x4f0278(0x233)](_0x32128f?.['plugin'])?_0x32128f?.['plugin']:[],_0x4478ef=_0x44d360[_0x4f0278(0x1e8)](_0x221ad3=>{const _0x4210cb=_0x4f0278;if(_0x381fd4[_0x4210cb(0x211)](typeof _0x221ad3,_0x4210cb(0x20e)))return![];return _0x221ad3[_0x4210cb(0x239)](_0x4210cb(0x22f))||_0x221ad3['includes'](_0x4210cb(0x1d5));});if(_0x4478ef){_0xe13758({'status':_0x4f0278(0x222),'details':_0x381fd4[_0x4f0278(0x210)](_0x44d360[_0x4f0278(0x214)],0x0)?_0x44d360['length']+'\x20plugin(s)\x20configured':undefined});return;}if(_0x44d360[_0x4f0278(0x214)]>0x0){_0x381fd4[_0x4f0278(0x1f7)](_0xe13758,{'status':_0x381fd4[_0x4f0278(0x219)],'details':_0x44d360['length']+'\x20plugin(s)\x20configured'});return;}_0xe13758({'status':_0x4f0278(0x220)});});});}async function getSkillsFromDir(_0xb6244e,_0x2d35c8){const _0x214f77=_0x587607,_0x39f7b1={'njOFX':function(_0x365e89,_0x3aec94){return _0x365e89(_0x3aec94);},'krOMK':function(_0x3274b6,_0xd8407d,_0x394a80){return _0x3274b6(_0xd8407d,_0x394a80);},'rweBP':_0x214f77(0x1e2)};if(!_0x39f7b1[_0x214f77(0x1db)](existsSync,_0xb6244e))return[];const _0x34a019=[];try{const _0x114c85=await _0x39f7b1[_0x214f77(0x1da)](readdir,_0xb6244e,{'withFileTypes':!![]});for(const _0x5788c2 of _0x114c85){if(_0x5788c2[_0x214f77(0x1f3)]()){const _0x4cce79=join(_0xb6244e,_0x5788c2['name'],'SKILL.md');if(_0x39f7b1['njOFX'](existsSync,_0x4cce79)){let _0x4f384c=_0x5788c2['name'];try{const _0x580949=await _0x39f7b1[_0x214f77(0x1da)](readFile,_0x4cce79,_0x39f7b1['rweBP']),_0x2ef85e=_0x580949[_0x214f77(0x208)](/name:\s*(.+)/);_0x2ef85e&&(_0x4f384c=_0x2ef85e[0x1][_0x214f77(0x1cc)]());}catch{}_0x34a019['push']({'name':_0x5788c2['name'],'displayName':_0x4f384c,'path':_0x4cce79,'level':_0x2d35c8});}}}}catch{return[];}return _0x34a019;}async function getInstalledSkills(){const _0x2cb2cc=_0x587607,_0x4255e3={'syUhQ':function(_0x4262d5,_0xff90b,_0x3c2244){return _0x4262d5(_0xff90b,_0x3c2244);}},[_0x27925e,_0x3e681b]=await Promise[_0x2cb2cc(0x238)]([_0x4255e3[_0x2cb2cc(0x1d4)](getSkillsFromDir,getProjectSkillsDir(),'project'),getSkillsFromDir(getUserSkillsDir(),'user')]);return{'project':_0x27925e,'user':_0x3e681b};}async function getEnvironments(){const _0x24684f=_0x587607,_0x2b3db8={'gEaBU':function(_0xa29575,_0x1b6cac){return _0xa29575(_0x1b6cac);},'jxvWw':function(_0x1e9f8c,_0x48726d,_0x4ae771){return _0x1e9f8c(_0x48726d,_0x4ae771);},'IGPyb':function(_0x1ac4dc,_0x15618a,_0x4e5e7c){return _0x1ac4dc(_0x15618a,_0x4e5e7c);},'dXpht':_0x24684f(0x1d8),'BGLfJ':'auth.json.enc','zCFce':'(not\x20found)','qYxAp':function(_0x5af090,_0x51816a){return _0x5af090(_0x51816a);},'SlxQt':function(_0x37d9d4,_0x32ff58){return _0x37d9d4===_0x32ff58;}},{envNames:_0x4137b6,activeEnv:_0x3d0b57}=await getEnvNames(),_0xa11025=getRangerDir();if(!_0x2b3db8[_0x24684f(0x1dc)](existsSync,_0xa11025))return{'envs':[],'activeEnv':null};const _0x18e396=_0x4137b6[_0x24684f(0x1e9)](_0x2f1017=>{const _0x201644=_0x24684f,_0x3d0aad=_0x2b3db8['gEaBU'](getEnvDir,_0x2f1017),_0x27e44d=_0x2b3db8['jxvWw'](join,_0x3d0aad,'settings.json'),_0x10b017=_0x2b3db8['IGPyb'](join,_0x3d0aad,_0x2b3db8[_0x201644(0x235)]),_0x33e350=join(_0x3d0aad,_0x2b3db8[_0x201644(0x213)]);return{'name':_0x2f1017,'settingsPath':existsSync(_0x27e44d)?_0x27e44d:_0x2b3db8['zCFce'],'hasPlaintextAuth':_0x2b3db8[_0x201644(0x1df)](existsSync,_0x10b017),'hasEncryptedAuth':_0x2b3db8['qYxAp'](existsSync,_0x33e350),'isActive':_0x2b3db8['SlxQt'](_0x2f1017,_0x3d0b57)};});return{'envs':_0x18e396,'activeEnv':_0x3d0b57};}export async function status(){const _0x4cfc7b=_0x587607,_0x3fde73={'piCxR':function(_0x2f255e,_0x1df53f){return _0x2f255e(_0x1df53f);},'cgwoc':function(_0xb5dae0,_0x58ae76){return _0xb5dae0(_0x58ae76);},'patPq':function(_0x1243a6,_0x529ccf){return _0x1243a6(_0x529ccf);},'NxQuF':function(_0x4644f7){return _0x4644f7();},'OqZLx':function(_0x4f63b4,_0x1c828a){return _0x4f63b4===_0x1c828a;},'LsriT':'configured','ghsMi':'@ranger-testing/opencode-plugin','KsoRZ':'\x20\x20Not\x20configured','dTmZH':_0x4cfc7b(0x1f1),'okySy':'\x20\x20OpenCode\x20not\x20installed\x20or\x20not\x20available','crlNo':_0x4cfc7b(0x1fe),'KnwVo':'ranger@trailhead','uijti':'disabled','EPfRm':_0x4cfc7b(0x1e0),'KVQlH':_0x4cfc7b(0x1e7),'aZgbB':function(_0x4468a6,_0x355bc2){return _0x4468a6>_0x355bc2;},'Syjbk':function(_0x378c89,_0x486e6f){return _0x378c89(_0x486e6f);},'pvaDa':function(_0x5923a6,_0x101ac3){return _0x5923a6>_0x101ac3;},'mKLoe':function(_0x12c54d,_0x582495,_0xc345d6){return _0x12c54d(_0x582495,_0xc345d6);},'RTALY':_0x4cfc7b(0x200),'ApLcM':function(_0x230db1,_0x546873){return _0x230db1+_0x546873;},'PfpZw':_0x4cfc7b(0x218),'THPIB':'plaintext','WkUmz':function(_0x40216a,_0x19a01a){return _0x40216a!==_0x19a01a;},'RbmSH':function(_0x7f3606,_0x4566c9){return _0x7f3606(_0x4566c9);}};console['log']('\x0a📊\x20Ranger\x20Status\x0a');const _0xcfc25=process['cwd'](),_0x38b5a4=getRangerDir();if(!_0x3fde73[_0x4cfc7b(0x1d0)](existsSync,_0x38b5a4)){console[_0x4cfc7b(0x1ea)](_0x4cfc7b(0x1de)+link(_0xcfc25,_0x3fde73['cgwoc'](bold,basename(_0xcfc25)))),console[_0x4cfc7b(0x1ea)]('\x0aRanger\x20has\x20not\x20been\x20initialized\x20in\x20this\x20directory.'),console[_0x4cfc7b(0x1ea)]('\x20\x20Run:\x20ranger\x20setup\x20[token]\x0a');return;}console['log'](_0x4cfc7b(0x1de)+link(_0xcfc25,bold(basename(_0xcfc25))));const _0x238831=getCurrentVersion(),_0xafced4=getLatestVersion();if(_0xafced4['version']&&_0xafced4[_0x4cfc7b(0x225)]!==_0x238831)console[_0x4cfc7b(0x1ea)]('Version:\x20'+_0x238831+'\x20(latest:\x20'+_0xafced4[_0x4cfc7b(0x225)]+')'),console['log']('\x20\x20Run:\x20ranger\x20update');else _0xafced4['version']?console['log'](_0x4cfc7b(0x1fc)+_0x238831+_0x4cfc7b(0x20d)):console[_0x4cfc7b(0x1ea)](_0x4cfc7b(0x1fc)+_0x238831);const _0x416f83=await getToken();if(_0x416f83){const _0xcc61=await _0x3fde73['cgwoc'](getCurrentUser,_0x416f83);_0xcc61['success']?console['log'](_0x4cfc7b(0x22a)+_0x3fde73['patPq'](bold,_0xcc61['user'][_0x4cfc7b(0x212)])):(console[_0x4cfc7b(0x1ea)]('API\x20Token:\x20✓\x20Found\x20but\x20invalid\x20or\x20expired'),console[_0x4cfc7b(0x1ea)](_0x4cfc7b(0x20b)));}else console['log']('API\x20Token:\x20✗\x20Not\x20found'),console[_0x4cfc7b(0x1ea)]('\x20\x20Run:\x20ranger\x20setup\x20[token]');process['env']['DEBUG']&&(console[_0x4cfc7b(0x1ea)](_0x4cfc7b(0x21f)+_0x3fde73['NxQuF'](getCurrentEnvironment)),console['log'](_0x4cfc7b(0x1f8)+_0x3fde73['NxQuF'](getApiBaseUrl)));console[_0x4cfc7b(0x1ea)](_0x4cfc7b(0x231));const _0xfa4748=await getOpencodePluginStatus();if(_0x3fde73['OqZLx'](_0xfa4748[_0x4cfc7b(0x21d)],_0x3fde73[_0x4cfc7b(0x204)]))console[_0x4cfc7b(0x1ea)]('\x20\x20'+bold(_0x3fde73[_0x4cfc7b(0x1fb)])+':\x20configured'),_0xfa4748['details']&&console['log']('\x20\x20'+_0xfa4748[_0x4cfc7b(0x221)]);else _0xfa4748['status']===_0x4cfc7b(0x220)?(console[_0x4cfc7b(0x1ea)](_0x3fde73[_0x4cfc7b(0x215)]),_0xfa4748[_0x4cfc7b(0x221)]&&console[_0x4cfc7b(0x1ea)]('\x20\x20'+_0xfa4748[_0x4cfc7b(0x221)]),console[_0x4cfc7b(0x1ea)](_0x3fde73[_0x4cfc7b(0x1fa)])):console[_0x4cfc7b(0x1ea)](_0x3fde73['okySy']);console[_0x4cfc7b(0x1ea)](_0x3fde73[_0x4cfc7b(0x1ef)]);const _0x439657=await _0x3fde73['piCxR'](getPluginInfo,_0x3fde73['KnwVo']);if(_0x439657){const _0x530cb5=_0x439657['scope']||_0x4cfc7b(0x22c),_0x5b87bb=_0x439657['enabled']?_0x4cfc7b(0x22d):_0x3fde73['uijti'];console[_0x4cfc7b(0x1ea)]('\x20\x20'+bold(_0x3fde73[_0x4cfc7b(0x1d1)])+':\x20installed\x20('+_0x530cb5+',\x20'+_0x5b87bb+')');}else console[_0x4cfc7b(0x1ea)](_0x3fde73['EPfRm']),console['log']('\x20\x20Run:\x20ranger\x20setup\x20[token]\x20\x20(includes\x20plugin\x20installation)');console[_0x4cfc7b(0x1ea)](_0x3fde73['KVQlH']);const {project:_0x1fb90b,user:_0x3b444a}=await _0x3fde73[_0x4cfc7b(0x1e5)](getInstalledSkills),_0x216b8d=_0x1fb90b[_0x4cfc7b(0x20c)](_0x2c1f13=>RANGER_MANAGED_SKILLS[_0x4cfc7b(0x239)](_0x2c1f13[_0x4cfc7b(0x1f6)])),_0x2b56db=_0x3b444a['filter'](_0x4f3158=>RANGER_MANAGED_SKILLS[_0x4cfc7b(0x239)](_0x4f3158[_0x4cfc7b(0x1f6)])),_0xa1de1d=_0x216b8d['length']+_0x2b56db['length'];if(_0xa1de1d===0x0)console['log'](_0x4cfc7b(0x22e)),console['log']('\x20\x20Run:\x20ranger\x20skillup');else{if(_0x3fde73[_0x4cfc7b(0x1fd)](_0x216b8d[_0x4cfc7b(0x214)],0x0)){console[_0x4cfc7b(0x1ea)](_0x4cfc7b(0x207));for(const _0x4ca15d of _0x216b8d){console['log']('\x20\x20\x20\x20'+_0x3fde73[_0x4cfc7b(0x21b)](bold,_0x4ca15d[_0x4cfc7b(0x230)])+':\x20'+link(_0x4ca15d['path'],_0x3fde73['Syjbk'](basename,_0x4ca15d[_0x4cfc7b(0x228)])));}}if(_0x3fde73[_0x4cfc7b(0x1d3)](_0x2b56db[_0x4cfc7b(0x214)],0x0)){console[_0x4cfc7b(0x1ea)]('\x20\x20User-level:');for(const _0x1b2e3f of _0x2b56db){console['log'](_0x4cfc7b(0x1f0)+_0x3fde73['cgwoc'](bold,_0x1b2e3f[_0x4cfc7b(0x230)])+':\x20'+_0x3fde73['mKLoe'](link,_0x1b2e3f['path'],basename(_0x1b2e3f[_0x4cfc7b(0x228)])));}}}console[_0x4cfc7b(0x1ea)](_0x3fde73[_0x4cfc7b(0x234)]);const {envs:_0x4b8260,activeEnv:_0xcc9a36}=await getEnvironments();let _0x23981f=[];if(_0x416f83)try{_0x23981f=await _0x3fde73['NxQuF'](listCloudProfiles);}catch{}const _0x5cfe4d=_0x3fde73[_0x4cfc7b(0x202)](_0x4b8260[_0x4cfc7b(0x214)],_0x23981f['length']);if(_0x3fde73['OqZLx'](_0x5cfe4d,0x0))console[_0x4cfc7b(0x1ea)]('No\x20profiles\x20configured'),console['log'](_0x4cfc7b(0x1f4));else{if(_0x5cfe4d>0x5){const _0x41c7d0=[];_0x23981f[_0x4cfc7b(0x214)]>0x0&&_0x41c7d0[_0x4cfc7b(0x1cb)](_0x23981f[_0x4cfc7b(0x214)]+'\x20cloud'),_0x4b8260[_0x4cfc7b(0x214)]>0x0&&_0x41c7d0['push'](_0x4b8260['length']+'\x20local'),console[_0x4cfc7b(0x1ea)](_0x5cfe4d+'\x20profiles\x20configured\x20('+_0x41c7d0['join'](',\x20')+')'),_0xcc9a36&&console['log']('\x20\x20Active:\x20'+bold(_0xcc9a36)),console[_0x4cfc7b(0x1ea)]('\x20\x20Run:\x20ranger\x20profile\x20ls\x20\x20(list\x20all)');}else{for(const _0x1195fd of _0x23981f){const _0x410b4c=_0x1195fd['name']===_0xcc9a36?_0x3fde73['PfpZw']:'';console[_0x4cfc7b(0x1ea)]('\x20\x20'+bold(_0x1195fd['name'])+'\x20[cloud]'+_0x410b4c);const _0x2b068b=_0x1195fd['sessionUpdatedAt']?'cached\x20(updated\x20'+_0x1195fd[_0x4cfc7b(0x1d2)]+')':_0x4cfc7b(0x1e4);console[_0x4cfc7b(0x1ea)]('\x20\x20\x20\x20Session:\x20'+_0x2b068b);}const _0x4c9b77=new Set(_0x23981f[_0x4cfc7b(0x1e9)](_0x39e642=>_0x39e642['name']));for(const _0x987520 of _0x4b8260){if(_0x4c9b77[_0x4cfc7b(0x1d7)](_0x987520[_0x4cfc7b(0x1f6)]))continue;const _0x42da61=_0x987520[_0x4cfc7b(0x1e6)]?_0x3fde73['PfpZw']:'',_0x304d33=_0x987520['hasEncryptedAuth']?'encrypted':_0x987520[_0x4cfc7b(0x1ee)]?_0x3fde73[_0x4cfc7b(0x229)]:'none';console[_0x4cfc7b(0x1ea)]('\x20\x20'+_0x3fde73['Syjbk'](bold,_0x987520['name'])+'\x20[local]'+_0x42da61),console['log'](_0x4cfc7b(0x209)+_0x304d33),_0x3fde73['WkUmz'](_0x987520['settingsPath'],_0x4cfc7b(0x227))&&console['log']('\x20\x20\x20\x20Settings:\x20'+_0x3fde73[_0x4cfc7b(0x203)](link,_0x987520['settingsPath'],_0x3fde73['RbmSH'](basename,_0x987520['settingsPath'])));}if(!_0xcc9a36){console[_0x4cfc7b(0x1ea)](_0x4cfc7b(0x1f5));const _0x38e0b0=[..._0x23981f[_0x4cfc7b(0x1e9)](_0x192f06=>_0x192f06[_0x4cfc7b(0x1f6)]),..._0x4b8260['filter'](_0x1cc148=>!_0x4c9b77['has'](_0x1cc148['name']))['map'](_0x2ed57e=>_0x2ed57e['name'])];console['log']('\x20\x20Run:\x20ranger\x20profile\x20use\x20<profile-name>\x20\x20(available:\x20'+_0x38e0b0[_0x4cfc7b(0x216)](',\x20')+')');}}}console['log']('');}
1
+ const _0x109d16=_0x4bdc;(function(_0x5f3253,_0x3b67a4){const _0x47b43a=_0x4bdc,_0x132679=_0x5f3253();while(!![]){try{const _0x55af20=-parseInt(_0x47b43a(0x24c))/0x1+-parseInt(_0x47b43a(0x208))/0x2+-parseInt(_0x47b43a(0x252))/0x3+-parseInt(_0x47b43a(0x232))/0x4+-parseInt(_0x47b43a(0x259))/0x5*(-parseInt(_0x47b43a(0x20d))/0x6)+parseInt(_0x47b43a(0x20e))/0x7*(parseInt(_0x47b43a(0x1f5))/0x8)+parseInt(_0x47b43a(0x247))/0x9;if(_0x55af20===_0x3b67a4)break;else _0x132679['push'](_0x132679['shift']());}catch(_0xc394ad){_0x132679['push'](_0x132679['shift']());}}}(_0xd304,0xaeed0));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 _0x4bdc(_0x416c58,_0x4a79cd){_0x416c58=_0x416c58-0x1e7;const _0xd304fe=_0xd304();let _0x4bdc8c=_0xd304fe[_0x416c58];return _0x4bdc8c;}import{getEnvNames}from'./env.js';import{getCurrentUser}from'./utils/userApi.js';import{getRangerDir}from'./utils/rangerRoot.js';import{getEnvDir}from'./utils/settings.js';function _0xd304(){const _0x37c54d=['Unpfj','\x20\x20OpenCode\x20not\x20installed\x20or\x20not\x20available','3999420dewhIS','API\x20URL:\x20','\x1b[0m','auth.json.enc','\x0a---\x20OpenCode\x20Plugin\x20---','PNcov','hytuF','settingsPath','\x20\x20Run:\x20ranger\x20profile\x20add\x20<profile-name>','\x20\x20\x20\x20Session:\x20','\x20\x20Run:\x20ranger\x20update','API\x20Token:\x20✗\x20Not\x20found','log','ahLMW','map','data','\x20\x20Run:\x20ranger\x20setup\x20[token]','Version:\x20','sfoaf','Root:\x20','fjMmq','18882612UtqJFm','dMBJZ','none','\x20local','gpTGL','173254DlkVGk','name','isActive','wyxhx','string','\x20\x20Run:\x20ranger\x20setup\x20[token]\x20\x20(includes\x20plugin\x20installation)','3190779xyhQUJ','not_installed','QSJrb','\x1b[1m','trim','WiMwU','status','110SZWXbA','scope','gmuRj','DkFVw','filter','\x20\x20Run:\x20ranger\x20profile\x20ls\x20\x20(list\x20all)','\x1b]8;;file://','No\x20skills\x20installed','unknown','version','ignore','(not\x20found)','ysuAx','API\x20Environment:\x20','no\x20session','\x0a---\x20Profiles\x20---','pipe','sessionUpdatedAt','536DuFgVI','env','settings.json','Mwkvw','\x20\x20Run:\x20ranger\x20setup\x20--opencode','not_configured','traOP','displayName','FGXwR','FkbGF','\x20[cloud]','opencode-plugin','IRuxc','organizationName','\x20\x20Not\x20installed','FoONM','FrAQk','@ranger-testing/opencode-plugin','XEHfo','1904158DEmvhl','has','success','enabled',':\x20configured','237258Zwdcku','97923JCLtmY','stderr','RESQJ','SKILL.md','ranger@trailhead','FpoCo','close','ougpX','XpnZZ','toString','push','wyOGa','\x20\x20\x20\x20','cwd','rSORz','\x20(up\x20to\x20date)','length','path','user','eBrwP','gJUjG','\x0a\x20\x20No\x20active\x20profile\x20set','\x0a📊\x20Ranger\x20Status\x0a','details','\x20[local]','match','MLXEM','apiob','\x20plugin(s)\x20configured','OLVZQ','cTjlg','\x0aRanger\x20has\x20not\x20been\x20initialized\x20in\x20this\x20directory.','isArray','\x0a---\x20Claude\x20Code\x20Plugin\x20---'];_0xd304=function(){return _0x37c54d;};return _0xd304();}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=_0x3eeae3=>_0x109d16(0x255)+_0x3eeae3+_0x109d16(0x234),link=(_0x4d6e45,_0x3f58c6)=>_0x109d16(0x1e9)+_0x4d6e45+'\x07'+(_0x3f58c6||_0x4d6e45)+'\x1b]8;;\x07';async function getOpencodePluginStatus(){const _0x5b74d3=_0x109d16,_0x2a1fde={'fjMmq':function(_0x106517,_0xf5ef77){return _0x106517(_0xf5ef77);},'QSJrb':'configured','ysuAx':function(_0x17a6d1,_0x5754d0){return _0x17a6d1(_0x5754d0);},'ZIsgg':_0x5b74d3(0x1fa),'mksgT':function(_0x5ecd58,_0x4b1ac9){return _0x5ecd58(_0x4b1ac9);},'PNcov':'config','sfoaf':'data','RCYCF':'error'};return new Promise(_0x1a0c85=>{const _0x5d427e=_0x5b74d3,_0x660e07={'XEHfo':function(_0x462e17,_0x593720){return _0x2a1fde['mksgT'](_0x462e17,_0x593720);}},_0x40df5b=spawn('opencode',['debug',_0x2a1fde[_0x5d427e(0x237)]],{'stdio':[_0x5d427e(0x1ed),_0x5d427e(0x1f3),_0x5d427e(0x1f3)]});let _0x158ee0='';_0x40df5b['stdout']?.['on'](_0x2a1fde[_0x5d427e(0x244)],_0x3d6f99=>{const _0x989974=_0x5d427e;_0x158ee0+=_0x3d6f99[_0x989974(0x217)]();}),_0x40df5b[_0x5d427e(0x20f)]?.['on'](_0x5d427e(0x241),_0x41e34c=>{const _0x9e0154=_0x5d427e;_0x158ee0+=_0x41e34c[_0x9e0154(0x217)]();}),_0x40df5b['on'](_0x2a1fde['RCYCF'],()=>{const _0xe8f02b=_0x5d427e;_0x660e07[_0xe8f02b(0x207)](_0x1a0c85,{'status':_0xe8f02b(0x253)});}),_0x40df5b['on'](_0x5d427e(0x214),_0x22ff73=>{const _0x3504de=_0x5d427e,_0x3426a9={'yGRAR':_0x3504de(0x206),'hytuF':_0x3504de(0x200)};if(_0x22ff73!==0x0){_0x2a1fde['fjMmq'](_0x1a0c85,{'status':'not_installed'});return;}const _0x4e80ae=_0x158ee0[_0x3504de(0x256)]();let _0xe5e547=null;if(_0x4e80ae)try{_0xe5e547=JSON['parse'](_0x4e80ae);}catch{const _0xc437ec=_0x4e80ae[_0x3504de(0x227)](/\{[\s\S]*\}$/);if(_0xc437ec)try{_0xe5e547=JSON['parse'](_0xc437ec[0x0]);}catch{_0xe5e547=null;}}const _0x121442=Array[_0x3504de(0x22e)](_0xe5e547?.['plugin'])?_0xe5e547?.['plugin']:[],_0x37faf4=_0x121442['some'](_0x165ba6=>{const _0x2aee55=_0x3504de;if(typeof _0x165ba6!==_0x2aee55(0x250))return![];return _0x165ba6['includes'](_0x3426a9['yGRAR'])||_0x165ba6['includes'](_0x3426a9[_0x2aee55(0x238)]);});if(_0x37faf4){_0x2a1fde[_0x3504de(0x246)](_0x1a0c85,{'status':_0x2a1fde[_0x3504de(0x254)],'details':_0x121442[_0x3504de(0x21e)]>0x0?_0x121442['length']+_0x3504de(0x22a):undefined});return;}if(_0x121442['length']>0x0){_0x2a1fde[_0x3504de(0x1ef)](_0x1a0c85,{'status':_0x3504de(0x1fa),'details':_0x121442[_0x3504de(0x21e)]+'\x20plugin(s)\x20configured'});return;}_0x2a1fde[_0x3504de(0x1ef)](_0x1a0c85,{'status':_0x2a1fde['ZIsgg']});});});}async function getSkillsFromDir(_0x39b93e,_0x58d482){const _0x55b2fd=_0x109d16,_0x1ceee9={'ZvmDf':function(_0x52f241,_0x2afd38){return _0x52f241(_0x2afd38);},'wyxhx':function(_0x5b5012,_0x78df1b,_0x375bd7,_0x50fbce){return _0x5b5012(_0x78df1b,_0x375bd7,_0x50fbce);},'uEHnS':_0x55b2fd(0x211),'IRuxc':function(_0x1a4417,_0x507a34){return _0x1a4417(_0x507a34);}};if(!_0x1ceee9['ZvmDf'](existsSync,_0x39b93e))return[];const _0xc9eeac=[];try{const _0x348957=await readdir(_0x39b93e,{'withFileTypes':!![]});for(const _0x5e1e35 of _0x348957){if(_0x5e1e35['isDirectory']()){const _0x18d623=_0x1ceee9[_0x55b2fd(0x24f)](join,_0x39b93e,_0x5e1e35['name'],_0x1ceee9['uEHnS']);if(_0x1ceee9[_0x55b2fd(0x201)](existsSync,_0x18d623)){let _0x33898b=_0x5e1e35['name'];try{const _0x259559=await readFile(_0x18d623,'utf-8'),_0x220fa6=_0x259559[_0x55b2fd(0x227)](/name:\s*(.+)/);_0x220fa6&&(_0x33898b=_0x220fa6[0x1][_0x55b2fd(0x256)]());}catch{}_0xc9eeac[_0x55b2fd(0x218)]({'name':_0x5e1e35['name'],'displayName':_0x33898b,'path':_0x18d623,'level':_0x58d482});}}}}catch{return[];}return _0xc9eeac;}async function getInstalledSkills(){const _0x5d23e9=_0x109d16,_0x54a9f8={'fptyz':function(_0x1cb30b,_0x45da5c,_0x28f9fe){return _0x1cb30b(_0x45da5c,_0x28f9fe);},'RESQJ':'project','ahLMW':function(_0x165f82){return _0x165f82();},'lVuny':_0x5d23e9(0x220)},[_0x183688,_0x3a9607]=await Promise['all']([_0x54a9f8['fptyz'](getSkillsFromDir,getProjectSkillsDir(),_0x54a9f8[_0x5d23e9(0x210)]),getSkillsFromDir(_0x54a9f8[_0x5d23e9(0x23f)](getUserSkillsDir),_0x54a9f8['lVuny'])]);return{'project':_0x183688,'user':_0x3a9607};}async function getEnvironments(){const _0x457b29=_0x109d16,_0x22cba2={'KKrZv':function(_0x5ce422,_0x55656d){return _0x5ce422(_0x55656d);},'fxMrf':function(_0x72c7ca,_0x10063c,_0x368b8b){return _0x72c7ca(_0x10063c,_0x368b8b);},'OPpML':_0x457b29(0x1f7),'NESCX':_0x457b29(0x235),'gmuRj':function(_0x9f10d8){return _0x9f10d8();},'MLXEM':function(_0x48c315,_0x4f3415){return _0x48c315(_0x4f3415);}},{envNames:_0x54054b,activeEnv:_0x4ff0eb}=await getEnvNames(),_0x5e12b6=_0x22cba2[_0x457b29(0x25b)](getRangerDir);if(!_0x22cba2[_0x457b29(0x228)](existsSync,_0x5e12b6))return{'envs':[],'activeEnv':null};const _0x406c99=_0x54054b['map'](_0x272363=>{const _0x29f183=_0x457b29,_0x3813bd=_0x22cba2['KKrZv'](getEnvDir,_0x272363),_0xf75bfc=_0x22cba2['fxMrf'](join,_0x3813bd,_0x22cba2['OPpML']),_0x1b1852=join(_0x3813bd,'auth.json'),_0x52f9a6=join(_0x3813bd,_0x22cba2['NESCX']);return{'name':_0x272363,'settingsPath':_0x22cba2['KKrZv'](existsSync,_0xf75bfc)?_0xf75bfc:_0x29f183(0x1ee),'hasPlaintextAuth':existsSync(_0x1b1852),'hasEncryptedAuth':existsSync(_0x52f9a6),'isActive':_0x272363===_0x4ff0eb};});return{'envs':_0x406c99,'activeEnv':_0x4ff0eb};}export async function status(){const _0x573c28=_0x109d16,_0x370e24={'McaZd':_0x573c28(0x224),'FoONM':function(_0xf3ec63){return _0xf3ec63();},'XpnZZ':function(_0x200729,_0x247626,_0x1e03b7){return _0x200729(_0x247626,_0x1e03b7);},'cTjlg':function(_0xa7e3f9,_0xa02a5b){return _0xa7e3f9(_0xa02a5b);},'gJUjG':function(_0x18eb40,_0x597ab0){return _0x18eb40(_0x597ab0);},'rSORz':function(_0x11993e,_0x2a8b09){return _0x11993e(_0x2a8b09);},'Unpfj':function(_0x43debd,_0x1ae98f){return _0x43debd!==_0x1ae98f;},'WZYGs':function(_0x59ae67,_0x2b4ee1){return _0x59ae67(_0x2b4ee1);},'DkFVw':function(_0x334243,_0x275afd){return _0x334243(_0x275afd);},'aiomy':_0x573c28(0x236),'gpTGL':function(_0x346305,_0x2ab742){return _0x346305===_0x2ab742;},'apiob':'configured','yBnMO':_0x573c28(0x1fa),'eBrwP':_0x573c28(0x231),'Aieck':_0x573c28(0x22f),'FGXwR':'ranger@trailhead','FrAQk':_0x573c28(0x1eb),'ougpX':_0x573c28(0x20b),'WiMwU':_0x573c28(0x251),'pGYQx':'\x0a---\x20Skills\x20---','dMBJZ':function(_0xe01367,_0x1c6656){return _0xe01367+_0x1c6656;},'Mwkvw':function(_0x21f552,_0x50fc85){return _0x21f552===_0x50fc85;},'BQlbF':_0x573c28(0x1ea),'ouAsg':function(_0x12d653,_0x5accdf){return _0x12d653>_0x5accdf;},'traOP':'\x20\x20Project-level:','FkbGF':function(_0x4b53d5,_0x35c1da){return _0x4b53d5(_0x35c1da);},'qDyRB':'\x20\x20User-level:','OLVZQ':'\x20(active)','FpoCo':function(_0x13f006,_0x46f5e6){return _0x13f006(_0x46f5e6);},'wyOGa':'plaintext','LibuK':'(not\x20found)'};console[_0x573c28(0x23e)](_0x370e24['McaZd']);const _0x2332b3=process[_0x573c28(0x21b)](),_0x212370=_0x370e24['FoONM'](getRangerDir);if(!existsSync(_0x212370)){console['log'](_0x573c28(0x245)+_0x370e24['XpnZZ'](link,_0x2332b3,_0x370e24[_0x573c28(0x22c)](bold,basename(_0x2332b3)))),console[_0x573c28(0x23e)](_0x573c28(0x22d)),console[_0x573c28(0x23e)]('\x20\x20Run:\x20ranger\x20setup\x20[token]\x0a');return;}console['log'](_0x573c28(0x245)+link(_0x2332b3,_0x370e24[_0x573c28(0x222)](bold,_0x370e24[_0x573c28(0x21c)](basename,_0x2332b3))));const _0x174be7=getCurrentVersion(),_0x32d28b=_0x370e24['FoONM'](getLatestVersion);if(_0x32d28b[_0x573c28(0x1ec)]&&_0x370e24['Unpfj'](_0x32d28b['version'],_0x174be7))console[_0x573c28(0x23e)](_0x573c28(0x243)+_0x174be7+'\x20(latest:\x20'+_0x32d28b[_0x573c28(0x1ec)]+')'),console['log'](_0x573c28(0x23c));else _0x32d28b['version']?console[_0x573c28(0x23e)]('Version:\x20'+_0x174be7+_0x573c28(0x21d)):console['log']('Version:\x20'+_0x174be7);const _0x52148f=await getToken();if(_0x52148f){const _0x2d2901=await _0x370e24['WZYGs'](getCurrentUser,_0x52148f);_0x2d2901[_0x573c28(0x20a)]?console['log']('Organization:\x20'+_0x370e24[_0x573c28(0x25c)](bold,_0x2d2901['user'][_0x573c28(0x202)])):(console['log']('API\x20Token:\x20✓\x20Found\x20but\x20invalid\x20or\x20expired'),console['log']('\x20\x20Run:\x20ranger\x20setup\x20[token]'));}else console[_0x573c28(0x23e)](_0x573c28(0x23d)),console['log'](_0x573c28(0x242));process[_0x573c28(0x1f6)]['DEBUG']&&(console['log'](_0x573c28(0x1f0)+getCurrentEnvironment()),console[_0x573c28(0x23e)](_0x573c28(0x233)+_0x370e24[_0x573c28(0x204)](getApiBaseUrl)));console[_0x573c28(0x23e)](_0x370e24['aiomy']);const _0x4e1237=await getOpencodePluginStatus();if(_0x370e24[_0x573c28(0x24b)](_0x4e1237[_0x573c28(0x258)],_0x370e24[_0x573c28(0x229)]))console[_0x573c28(0x23e)]('\x20\x20'+_0x370e24['cTjlg'](bold,_0x573c28(0x206))+_0x573c28(0x20c)),_0x4e1237['details']&&console['log']('\x20\x20'+_0x4e1237['details']);else _0x370e24[_0x573c28(0x24b)](_0x4e1237[_0x573c28(0x258)],_0x370e24['yBnMO'])?(console[_0x573c28(0x23e)]('\x20\x20Not\x20configured'),_0x4e1237[_0x573c28(0x225)]&&console[_0x573c28(0x23e)]('\x20\x20'+_0x4e1237[_0x573c28(0x225)]),console['log'](_0x573c28(0x1f9))):console[_0x573c28(0x23e)](_0x370e24[_0x573c28(0x221)]);console[_0x573c28(0x23e)](_0x370e24['Aieck']);const _0xcf9f8c=await getPluginInfo(_0x370e24[_0x573c28(0x1fd)]);if(_0xcf9f8c){const _0x27d8e2=_0xcf9f8c[_0x573c28(0x25a)]||_0x370e24[_0x573c28(0x205)],_0x531b90=_0xcf9f8c['enabled']?_0x370e24[_0x573c28(0x215)]:'disabled';console[_0x573c28(0x23e)]('\x20\x20'+bold(_0x573c28(0x212))+':\x20installed\x20('+_0x27d8e2+',\x20'+_0x531b90+')');}else console[_0x573c28(0x23e)](_0x573c28(0x203)),console[_0x573c28(0x23e)](_0x370e24[_0x573c28(0x257)]);console['log'](_0x370e24['pGYQx']);const {project:_0x586908,user:_0x3044f0}=await getInstalledSkills(),_0x1e740c=_0x586908[_0x573c28(0x1e7)](_0x2420a4=>RANGER_MANAGED_SKILLS['includes'](_0x2420a4['name'])),_0x36b9c2=_0x3044f0['filter'](_0x13f4a4=>RANGER_MANAGED_SKILLS['includes'](_0x13f4a4['name'])),_0x229d8b=_0x370e24['dMBJZ'](_0x1e740c['length'],_0x36b9c2['length']);if(_0x370e24[_0x573c28(0x1f8)](_0x229d8b,0x0))console[_0x573c28(0x23e)](_0x370e24['BQlbF']),console['log']('\x20\x20Run:\x20ranger\x20skillup');else{if(_0x370e24['ouAsg'](_0x1e740c['length'],0x0)){console['log'](_0x370e24[_0x573c28(0x1fb)]);for(const _0x3c32d4 of _0x1e740c){console['log']('\x20\x20\x20\x20'+_0x370e24['gJUjG'](bold,_0x3c32d4[_0x573c28(0x1fc)])+':\x20'+link(_0x3c32d4['path'],_0x370e24[_0x573c28(0x1fe)](basename,_0x3c32d4['path'])));}}if(_0x36b9c2['length']>0x0){console[_0x573c28(0x23e)](_0x370e24['qDyRB']);for(const _0x499788 of _0x36b9c2){console['log'](_0x573c28(0x21a)+_0x370e24['DkFVw'](bold,_0x499788[_0x573c28(0x1fc)])+':\x20'+link(_0x499788['path'],_0x370e24[_0x573c28(0x1fe)](basename,_0x499788[_0x573c28(0x21f)])));}}}console['log'](_0x573c28(0x1f2));const {envs:_0x3717b9,activeEnv:_0x3c6b79}=await getEnvironments();let _0x4fcd44=[];if(_0x52148f)try{_0x4fcd44=await _0x370e24['FoONM'](listCloudProfiles);}catch{}const _0x6b135c=_0x370e24[_0x573c28(0x248)](_0x3717b9['length'],_0x4fcd44[_0x573c28(0x21e)]);if(_0x6b135c===0x0)console['log']('No\x20profiles\x20configured'),console[_0x573c28(0x23e)](_0x573c28(0x23a));else{if(_0x6b135c>0x5){const _0x5b0bf5=[];_0x4fcd44[_0x573c28(0x21e)]>0x0&&_0x5b0bf5['push'](_0x4fcd44['length']+'\x20cloud'),_0x370e24['ouAsg'](_0x3717b9['length'],0x0)&&_0x5b0bf5['push'](_0x3717b9['length']+_0x573c28(0x24a)),console['log'](_0x6b135c+'\x20profiles\x20configured\x20('+_0x5b0bf5['join'](',\x20')+')'),_0x3c6b79&&console['log']('\x20\x20Active:\x20'+_0x370e24['FkbGF'](bold,_0x3c6b79)),console[_0x573c28(0x23e)](_0x573c28(0x1e8));}else{for(const _0x31fe89 of _0x4fcd44){const _0x49e2d8=_0x370e24['Mwkvw'](_0x31fe89['name'],_0x3c6b79)?_0x370e24[_0x573c28(0x22b)]:'';console['log']('\x20\x20'+_0x370e24[_0x573c28(0x213)](bold,_0x31fe89[_0x573c28(0x24d)])+_0x573c28(0x1ff)+_0x49e2d8);const _0x45d05c=_0x31fe89[_0x573c28(0x1f4)]?'cached\x20(updated\x20'+_0x31fe89['sessionUpdatedAt']+')':_0x573c28(0x1f1);console[_0x573c28(0x23e)](_0x573c28(0x23b)+_0x45d05c);}const _0x4f1a08=new Set(_0x4fcd44[_0x573c28(0x240)](_0x344485=>_0x344485['name']));for(const _0x5608d1 of _0x3717b9){if(_0x4f1a08[_0x573c28(0x209)](_0x5608d1[_0x573c28(0x24d)]))continue;const _0x45bd37=_0x5608d1[_0x573c28(0x24e)]?'\x20(active)':'',_0x5ca76f=_0x5608d1['hasEncryptedAuth']?'encrypted':_0x5608d1['hasPlaintextAuth']?_0x370e24[_0x573c28(0x219)]:_0x573c28(0x249);console['log']('\x20\x20'+bold(_0x5608d1[_0x573c28(0x24d)])+_0x573c28(0x226)+_0x45bd37),console['log']('\x20\x20\x20\x20Auth:\x20'+_0x5ca76f),_0x370e24[_0x573c28(0x230)](_0x5608d1[_0x573c28(0x239)],_0x370e24['LibuK'])&&console['log']('\x20\x20\x20\x20Settings:\x20'+_0x370e24[_0x573c28(0x216)](link,_0x5608d1['settingsPath'],basename(_0x5608d1[_0x573c28(0x239)])));}if(!_0x3c6b79){console['log'](_0x573c28(0x223));const _0x17f434=[..._0x4fcd44[_0x573c28(0x240)](_0x4303e3=>_0x4303e3['name']),..._0x3717b9[_0x573c28(0x1e7)](_0xb902bb=>!_0x4f1a08['has'](_0xb902bb['name']))[_0x573c28(0x240)](_0x34e589=>_0x34e589['name'])];console[_0x573c28(0x23e)]('\x20\x20Run:\x20ranger\x20profile\x20use\x20<profile-name>\x20\x20(available:\x20'+_0x17f434['join'](',\x20')+')');}}}console['log']('');}