@ranger-testing/ranger-cli 3.1.6-alpha.aca5f9c-53 → 3.1.6-alpha.e1ccb01-57
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.
- package/build/cli.js +1 -1
- package/build/commands/addEnv.js +1 -1
- package/build/commands/authEncrypt.js +1 -1
- package/build/commands/clean.js +1 -1
- package/build/commands/config.js +1 -1
- package/build/commands/deleteProfile.js +1 -1
- package/build/commands/env.js +1 -1
- package/build/commands/feature.js +1 -1
- package/build/commands/hook.js +1 -1
- package/build/commands/hooks/autoPrompt.js +1 -1
- package/build/commands/hooks/disable.js +1 -1
- package/build/commands/hooks/enable.js +1 -1
- package/build/commands/hooks/exitPlanMode.js +1 -1
- package/build/commands/hooks/index.js +1 -1
- package/build/commands/hooks/output.js +1 -1
- package/build/commands/hooks/planReminder.js +1 -1
- package/build/commands/hooks/planStart.js +1 -1
- package/build/commands/hooks/postEdit.js +1 -1
- package/build/commands/hooks/preCompact.js +1 -1
- package/build/commands/hooks/sessionEnd.js +1 -1
- package/build/commands/hooks/sessionStart.js +1 -1
- package/build/commands/hooks/stopHook.js +1 -1
- package/build/commands/index.js +1 -1
- package/build/commands/login.js +1 -1
- package/build/commands/mcpBootstrap.js +1 -1
- package/build/commands/migrateProfile.js +1 -1
- package/build/commands/setup/claude.js +1 -1
- package/build/commands/setup/opencode.js +1 -1
- package/build/commands/setupCi.js +1 -1
- package/build/commands/skillup.js +1 -1
- package/build/commands/start.js +1 -1
- package/build/commands/status.js +1 -1
- package/build/commands/update.js +1 -1
- package/build/commands/updateEnv.js +1 -1
- package/build/commands/useEnv.js +1 -1
- package/build/commands/utils/activeProfile.js +1 -1
- package/build/commands/utils/agentEnv.js +1 -1
- package/build/commands/utils/browserSessionsApi.js +1 -1
- package/build/commands/utils/claudeConfig.js +1 -1
- package/build/commands/utils/claudeOverrideSettings.js +1 -1
- package/build/commands/utils/claudePlugin.js +1 -1
- package/build/commands/utils/cloudProfile.js +1 -1
- package/build/commands/utils/cloudProfileSession.js +1 -1
- package/build/commands/utils/crypto.js +1 -1
- package/build/commands/utils/desirePathLog.js +1 -1
- package/build/commands/utils/deviceAuth.js +1 -1
- package/build/commands/utils/environment.js +1 -1
- package/build/commands/utils/featureApi.js +1 -1
- package/build/commands/utils/fixWebmDuration.js +1 -1
- package/build/commands/utils/gitTracked.js +1 -1
- package/build/commands/utils/keychain.js +1 -1
- package/build/commands/utils/legacyWarning.js +1 -1
- package/build/commands/utils/localAgentInstallationsApi.js +1 -1
- package/build/commands/utils/matchAuthEnvironment.js +1 -1
- package/build/commands/utils/mcpImageBase64.js +1 -1
- package/build/commands/utils/model.js +1 -1
- package/build/commands/utils/novaActCli.js +1 -1
- package/build/commands/utils/opencodeConfig.js +1 -1
- package/build/commands/utils/organizationEnvApi.js +1 -1
- package/build/commands/utils/playwrightCli.js +1 -1
- package/build/commands/utils/profileMessages.js +1 -1
- package/build/commands/utils/profileSetupBanner.js +1 -1
- package/build/commands/utils/projectsConfig.js +1 -1
- package/build/commands/utils/rangerConfig.js +1 -1
- package/build/commands/utils/rangerRoot.js +1 -1
- package/build/commands/utils/rangerwrightCli.js +1 -1
- package/build/commands/utils/resolveProfileContext.js +1 -1
- package/build/commands/utils/resolveProfileUrl.js +1 -1
- package/build/commands/utils/retry.js +1 -1
- package/build/commands/utils/scenarioOriginCheck.js +1 -1
- package/build/commands/utils/sessionCache.js +1 -1
- package/build/commands/utils/settings.js +1 -1
- package/build/commands/utils/skillContent.js +1 -1
- package/build/commands/utils/skills.js +1 -1
- package/build/commands/utils/stitchWebmFiles.js +1 -1
- package/build/commands/utils/telemetry.js +1 -1
- package/build/commands/utils/tokenRefresh.js +1 -1
- package/build/commands/utils/traceSnapshotMapper.js +1 -1
- package/build/commands/utils/tunnelClient.js +1 -1
- package/build/commands/utils/userApi.js +1 -1
- package/build/commands/utils/version.js +1 -1
- package/build/commands/verifyFeature.js +1 -1
- package/build/commands/verifyFeatureCli.js +1 -1
- package/build/commands/verifyFeatureNovaCli.js +1 -1
- package/build/commands/verifyFeatureRangerwrightCli.js +1 -1
- package/package.json +14 -5
package/build/commands/login.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
(function(_0x2f55ee,_0x5d9566){const _0x1f09ab=_0x19c5,_0x1bc318=_0x2f55ee();while(!![]){try{const _0x3837d5=parseInt(_0x1f09ab(0x178))/0x1*(-parseInt(_0x1f09ab(0x177))/0x2)+-parseInt(_0x1f09ab(0x17d))/0x3*(parseInt(_0x1f09ab(0x17a))/0x4)+parseInt(_0x1f09ab(0x174))/0x5*(parseInt(_0x1f09ab(0x17b))/0x6)+parseInt(_0x1f09ab(0x17c))/0x7*(parseInt(_0x1f09ab(0x182))/0x8)+parseInt(_0x1f09ab(0x17f))/0x9*(parseInt(_0x1f09ab(0x171))/0xa)+parseInt(_0x1f09ab(0x180))/0xb+-parseInt(_0x1f09ab(0x179))/0xc*(-parseInt(_0x1f09ab(0x17e))/0xd);if(_0x3837d5===_0x5d9566)break;else _0x1bc318['push'](_0x1bc318['shift']());}catch(_0x4f2a6c){_0x1bc318['push'](_0x1bc318['shift']());}}}(_0x28b0,0xed348));import{runDeviceAuthFlow}from'./utils/deviceAuth.js';function _0x19c5(_0x57f2b4,_0x4a86ee){_0x57f2b4=_0x57f2b4-0x171;const _0x28b0d9=_0x28b0();let _0x19c574=_0x28b0d9[_0x57f2b4];return _0x19c574;}import{getCurrentUser}from'./utils/userApi.js';function _0x28b0(){const _0x591fd2=['80iUxxqL','IhCPW','message','321254hiTBZB','11jJjnUu','12xaGPAd','68ZYUuzi','110226ewAylL','119zXKevA','135357FiKZHh','24085451swFIsq','9mpsdzx','2180046fMsbdD','log','159304VwxMYU','success','8221420lOmmTl','Re-authenticating\x20via\x20MCP\x20bootstrap...','ITLVq'];_0x28b0=function(){return _0x591fd2;};return _0x28b0();}import{getMcpAuthOrigin,mcpBootstrap}from'./mcpBootstrap.js';import{isInteractive}from'./utils/cloudProfileSession.js';export async function login(){const _0x56703a=_0x19c5,_0x10cef7={'IhCPW':function(_0x17688e){return _0x17688e();},'SVnRp':'Login\x20requires\x20an\x20interactive\x20terminal.\x20In\x20CI,\x20use:\x20ranger\x20setup\x20[token]\x20or\x20set\x20RANGER_CLI_TOKEN.','ITLVq':function(_0x212194,_0x34f3e3){return _0x212194(_0x34f3e3);}},_0x5b46ba=await _0x10cef7[_0x56703a(0x175)](getMcpAuthOrigin);if(_0x5b46ba){console[_0x56703a(0x181)](_0x56703a(0x172)),await mcpBootstrap();return;}if(!isInteractive())throw new Error(_0x10cef7['SVnRp']);try{const _0x5bfa99=await _0x10cef7['IhCPW'](runDeviceAuthFlow),_0x5adfa4=await _0x10cef7[_0x56703a(0x173)](getCurrentUser,_0x5bfa99);_0x5adfa4[_0x56703a(0x183)]?console['log']('\x0a✅\x20Logged\x20in\x20to\x20'+_0x5adfa4['user']['organizationName']):console['log']('\x0a✅\x20API\x20key\x20stored\x20successfully');}catch(_0x4335ea){throw new Error('Login\x20failed:\x20'+(_0x4335ea instanceof Error?_0x4335ea[_0x56703a(0x176)]:_0x4335ea));}}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const _0x3371a5=_0x38b8;(function(_0x21f57a,_0x581c64){const _0x4824e4=_0x38b8,_0xbee225=_0x21f57a();while(!![]){try{const _0x45c55d=-parseInt(_0x4824e4(0x1b7))/0x1*(parseInt(_0x4824e4(0x21f))/0x2)+-parseInt(_0x4824e4(0x247))/0x3+-parseInt(_0x4824e4(0x1b9))/0x4*(parseInt(_0x4824e4(0x231))/0x5)+parseInt(_0x4824e4(0x1cb))/0x6+parseInt(_0x4824e4(0x1c8))/0x7*(parseInt(_0x4824e4(0x1e2))/0x8)+parseInt(_0x4824e4(0x1c7))/0x9*(parseInt(_0x4824e4(0x20d))/0xa)+-parseInt(_0x4824e4(0x1c1))/0xb;if(_0x45c55d===_0x581c64)break;else _0xbee225['push'](_0xbee225['shift']());}catch(_0x1df346){_0xbee225['push'](_0xbee225['shift']());}}}(_0x4a09,0xd3b92));import{mkdir,writeFile,readFile}from'fs/promises';import{join}from'path';function _0x4a09(){const _0x5d2ee7=['Registering\x20OAuth\x20client...','authorization_code','now','message','vNYOa','split','stringify','WPSQX','response_type','open','status','1.0.0','Run\x20`ranger\x20status`\x20to\x20verify\x20authentication.\x0a','hex','JkQyQ','token_endpoint','NShbf','gklMb','origin','utf-8','IZxdv','trim','log','code','Could\x20not\x20extract\x20token\x20from\x20MCP\x20response','write','nzfBv','application/json,\x20text/event-stream','Could\x20not\x20fetch\x20auth\x20server\x20metadata\x20from\x20','Bhcnc','tLZOJ','</p><p>You\x20can\x20close\x20this\x20window.</p></body></html>','http://localhost:','XiADS','HTTP\x20','Bearer\x20','YvnEs','MCP\x20server\x20requires\x20authentication\x20but\x20running\x20in\x20non-interactive\x20mode.\x0a','LaRPT','error_description','expiresAt','100ukzcOk','iPoGv','pNMQt','WCSBY','toString','refreshToken','type','JoTSz','get_cli_token','IeRFf','Authorization\x20server\x20does\x20not\x20support\x20dynamic\x20client\x20registration\x20and\x20no\x20cached\x20client\x20found','data:','CaYmb','iKlPG','WvJgj','darwin','OAuth\x20error:\x20','access_token','132094IYatuV','get','authorization_endpoint','ZzSQz','GdtUK','resource','tools/call','application/x-www-form-urlencoded','isTTY','content-type','text/html','Exchanging\x20authorization\x20code...','<html><body><h2>Authentication\x20failed</h2><p>','.ranger','result','auth-origin.txt','structuredContent','token','197445lfXksS','dJcjp','fgyUq','digest','uDAoA','includes','uFtZq','TcKPN','platform','content','tLwgP','slice','stdout','iabos','xdg-open','tcNGL','jYEPY','kfCSl','ranger-cli','client_id','pathname','ISyWS','1041357YIdfNZ','slMCk','LSzwG','\x20done','vVxBW','url','EMahp','WmOHF','GQFKF','set','authorization_servers','2025-03-26','notifications/initialized','1ttxenV','oScId','20XrLxYn','client_secret','QiVKz','uECTj','accessToken','lRmFs','2.0','proxied','8855033OdLbcA','No\x20authorization_servers\x20in\x20protected\x20resource\x20metadata','listen','VpaHY','S256','PLnYS','623961hnCDDj','14JlbjKZ','end','string','5490984nTCpUu','TDbOs','parse','json','ilkOM','clientSecret','ZQpIG','replace','puPMb','BIvYH','sha256','error','UAYfi','YspXz','XEpDS','Run\x20`ranger\x20setup\x20--mcp-bootstrap`\x20interactively\x20first.','closeAllConnections','ERRXX','text','uUiCo','code_challenge','uPjbp','searchParams','2697512mXIPkv','clientId'];_0x4a09=function(){return _0x5d2ee7;};return _0x4a09();}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',_0x3371a5(0x22e));export async function getMcpAuthOrigin(){const _0x2fd28e=_0x3371a5,_0x13e4e3={'WmOHF':function(_0x364311,_0x53489e,_0x3597f3){return _0x364311(_0x53489e,_0x3597f3);},'dmVme':'utf-8'};try{const _0x547b0c=(await _0x13e4e3[_0x2fd28e(0x24e)](readFile,AUTH_ORIGIN_PATH,_0x13e4e3['dmVme']))[_0x2fd28e(0x1f9)]();return _0x547b0c||null;}catch{return null;}}function _0x38b8(_0x128c69,_0x4d969e){_0x128c69=_0x128c69-0x1b5;const _0x4a0933=_0x4a09();let _0x38b819=_0x4a0933[_0x128c69];return _0x38b819;}export async function mcpBootstrap(){const _0x2640c6=_0x3371a5,_0x59bbf8={'ZYCWK':function(_0x332d5f,_0x39e19f){return _0x332d5f(_0x39e19f);},'GdtUK':function(_0x359249,_0x5a2760,_0x123280){return _0x359249(_0x5a2760,_0x123280);}},_0x36d254=getMcpAuthUrl();currentOrigin=_0x36d254;const _0x494dee=process[_0x2640c6(0x23d)][_0x2640c6(0x227)]??![];console[_0x2640c6(0x1fa)]('\x0aConnecting\x20to\x20MCP\x20auth\x20server:\x20'+_0x36d254+'\x0a');const _0x1befc0=await _0x59bbf8['ZYCWK'](tryUnauthenticated,_0x36d254);let _0x3e9dfd=null;if(_0x1befc0===_0x2640c6(0x1c0))_0x3e9dfd='';else{_0x3e9dfd=await loadCachedToken();if(!_0x3e9dfd){if(!_0x494dee)throw new Error(_0x2640c6(0x209)+_0x2640c6(0x1da));_0x3e9dfd=await _0x59bbf8['ZYCWK'](oauthFlow,_0x36d254);}}await _0x59bbf8[_0x2640c6(0x223)](callGetCliToken,_0x36d254,_0x3e9dfd);}async function tryUnauthenticated(_0x2a334f){const _0x1bb679=_0x3371a5,_0x158544={'ZNvcv':function(_0x2ba6db,_0x5b94f8,_0x1efc2c){return _0x2ba6db(_0x5b94f8,_0x1efc2c);},'VpaHY':'application/json','Bhcnc':_0x1bb679(0x1bf),'Urmwg':'initialize','kfCSl':'2025-03-26','ilkOM':'proxied','QiVKz':function(_0x36a691,_0x63d42c){return _0x36a691===_0x63d42c;}},_0x5a3806=await _0x158544['ZNvcv'](fetch,_0x2a334f,{'method':'POST','headers':{'Content-Type':_0x158544[_0x1bb679(0x1c4)],'Accept':'application/json,\x20text/event-stream'},'body':JSON[_0x1bb679(0x1ea)]({'jsonrpc':_0x158544[_0x1bb679(0x201)],'id':0x1,'method':_0x158544['Urmwg'],'params':{'protocolVersion':_0x158544[_0x1bb679(0x242)],'capabilities':{},'clientInfo':{'name':_0x1bb679(0x243),'version':_0x1bb679(0x1ef)}}})});if(_0x5a3806['ok'])return await _0x5a3806[_0x1bb679(0x1dd)](),_0x158544[_0x1bb679(0x1cf)];if(_0x158544[_0x1bb679(0x1bb)](_0x5a3806[_0x1bb679(0x1ee)],0x191))return await _0x5a3806[_0x1bb679(0x1dd)](),'needs-oauth';const _0x426592=await _0x5a3806['text']();throw new Error('MCP\x20server\x20returned\x20HTTP\x20'+_0x5a3806['status']+':\x20'+_0x426592);}class OAuthTimeoutError extends Error{constructor(_0x1bc8bc){const _0x3c66d4=_0x3371a5,_0x3094dd={'EMahp':'OAuthTimeoutError'};super(_0x1bc8bc),this['name']=_0x3094dd[_0x3c66d4(0x24d)];}}async function oauthFlow(_0x11a708){const _0x47fc28=_0x3371a5,_0x2a5c23={'dJcjp':function(_0x10dca8,_0x329286){return _0x10dca8(_0x329286);},'gklMb':'\x0aCached\x20OAuth\x20client\x20may\x20be\x20stale\x20—\x20clearing\x20and\x20retrying...\x0a','mouPZ':function(_0x4ebb34){return _0x4ebb34();}};try{return await _0x2a5c23[_0x47fc28(0x232)](oauthFlowAttempt,_0x11a708);}catch(_0x2586e0){if(_0x2586e0 instanceof OAuthTimeoutError&&await loadCachedClient())return console['log'](_0x2a5c23[_0x47fc28(0x1f5)]),await _0x2a5c23['mouPZ'](clearCachedClient),await oauthFlowAttempt(_0x11a708);throw _0x2586e0;}}async function oauthFlowAttempt(_0x2d3179){const _0x2a0311=_0x3371a5,_0xda4e46={'gIKwE':_0x2a0311(0x1e4),'vVxBW':function(_0x32817c,_0x4a318a,_0x166009){return _0x32817c(_0x4a318a,_0x166009);},'uUiCo':'POST','iuEbV':'application/json','nzfBv':'refresh_token','YspXz':'none','vNYOa':_0x2a0311(0x24a),'CaYmb':_0x2a0311(0x217),'pWnCM':function(_0x5a850f,_0x788619){return _0x5a850f(_0x788619);},'pNMQt':_0x2a0311(0x1f1),'PdxPA':_0x2a0311(0x1ec),'OyNhy':_0x2a0311(0x244),'oWXbj':_0x2a0311(0x1df),'fJKiJ':'code_challenge_method','OhKWn':'state','UAYfi':_0x2a0311(0x224),'QjZkU':'\x0aOpening\x20browser\x20for\x20authentication...','YvnEs':function(_0x316bca,_0x404fe5){return _0x316bca(_0x404fe5);},'uFtZq':_0x2a0311(0x22a),'RpoFJ':_0x2a0311(0x1e5),'GySEt':function(_0x323ef9,_0x5e38d1,_0x26f261){return _0x323ef9(_0x5e38d1,_0x26f261);},'BsoTC':_0x2a0311(0x226)},_0x522e31=_0x2d3179[_0x2a0311(0x1d2)](/\/mcp$/,'');process[_0x2a0311(0x23d)][_0x2a0311(0x1fd)]('Discovering\x20authorization\x20server...');const _0x499fe0=await fetch(_0x522e31+'/.well-known/oauth-protected-resource');if(!_0x499fe0['ok'])throw new Error('Could\x20not\x20fetch\x20protected\x20resource\x20metadata\x20from\x20MCP\x20server');const _0x2575b9=await _0x499fe0[_0x2a0311(0x1ce)](),_0x35b326=_0x2575b9[_0x2a0311(0x251)]?.[0x0];if(!_0x35b326)throw new Error(_0x2a0311(0x1c2));console['log']('\x20'+_0x35b326);const _0x257817=await fetchAuthServerMetadata(_0x35b326);let _0x149e21,_0xff0939;const _0x5b7b04=await loadCachedClient();if(_0x5b7b04)_0x149e21=_0x5b7b04[_0x2a0311(0x1e3)],_0xff0939=_0x5b7b04[_0x2a0311(0x1d0)];else{if(_0x257817['registration_endpoint']){process[_0x2a0311(0x23d)]['write'](_0xda4e46['gIKwE']);const _0x519243=await _0xda4e46[_0x2a0311(0x24b)](fetch,_0x257817['registration_endpoint'],{'method':_0xda4e46[_0x2a0311(0x1de)],'headers':{'Content-Type':_0xda4e46['iuEbV']},'body':JSON[_0x2a0311(0x1ea)]({'client_name':'Ranger\x20CLI','redirect_uris':[_0x2a0311(0x204)+CALLBACK_PORT+'/callback'],'grant_types':['authorization_code',_0xda4e46[_0x2a0311(0x1fe)]],'response_types':[_0x2a0311(0x1fb)],'token_endpoint_auth_method':_0xda4e46[_0x2a0311(0x1d8)]})});if(!_0x519243['ok']){const _0x36cafa=await _0x519243['text']();throw new Error('Client\x20registration\x20failed:\x20'+_0x36cafa);}const _0x3f0ae7=await _0x519243['json']();_0x149e21=_0x3f0ae7[_0x2a0311(0x244)],_0xff0939=_0x3f0ae7[_0x2a0311(0x1ba)],await saveCachedClient(_0x149e21,_0xff0939),console[_0x2a0311(0x1fa)](_0xda4e46[_0x2a0311(0x1e8)]);}else throw new Error(_0xda4e46[_0x2a0311(0x219)]);}const _0x2c5bdc=randomBytes(0x20)['toString']('base64url'),_0x3fd18b=createHash(_0x2a0311(0x1d5))['update'](_0x2c5bdc)[_0x2a0311(0x234)]('base64url'),_0x173625=_0xda4e46['pWnCM'](randomBytes,0x10)[_0x2a0311(0x211)](_0xda4e46[_0x2a0311(0x20f)]),_0x14b51e=new URL(_0x257817[_0x2a0311(0x221)]);_0x14b51e['searchParams']['set'](_0xda4e46['PdxPA'],_0x2a0311(0x1fb)),_0x14b51e[_0x2a0311(0x1e1)][_0x2a0311(0x250)](_0xda4e46['OyNhy'],_0x149e21),_0x14b51e['searchParams']['set']('redirect_uri',_0x2a0311(0x204)+CALLBACK_PORT+'/callback'),_0x14b51e['searchParams'][_0x2a0311(0x250)](_0xda4e46['oWXbj'],_0x3fd18b),_0x14b51e[_0x2a0311(0x1e1)]['set'](_0xda4e46['fJKiJ'],_0x2a0311(0x1c5)),_0x14b51e[_0x2a0311(0x1e1)][_0x2a0311(0x250)](_0xda4e46['OhKWn'],_0x173625);_0x2575b9['resource']&&_0x14b51e[_0x2a0311(0x1e1)][_0x2a0311(0x250)](_0xda4e46[_0x2a0311(0x1d7)],_0x2575b9['resource']);console[_0x2a0311(0x1fa)](_0xda4e46['QjZkU']),console[_0x2a0311(0x1fa)]('If\x20the\x20browser\x20doesn\x27t\x20open,\x20visit:\x0a'+_0x14b51e['toString']()+'\x0a'),await openBrowser(_0x14b51e['toString']());const _0x2dce98=await _0xda4e46[_0x2a0311(0x208)](waitForCallback,_0x173625);process['stdout'][_0x2a0311(0x1fd)](_0xda4e46[_0x2a0311(0x237)]);const _0x5ca2bf=new URLSearchParams({'grant_type':_0xda4e46['RpoFJ'],'code':_0x2dce98,'redirect_uri':'http://localhost:'+CALLBACK_PORT+'/callback','client_id':_0x149e21,'code_verifier':_0x2c5bdc});_0xff0939&&_0x5ca2bf['set'](_0x2a0311(0x1ba),_0xff0939);_0x2575b9['resource']&&_0x5ca2bf[_0x2a0311(0x250)](_0xda4e46['UAYfi'],_0x2575b9['resource']);const _0x453eef=await _0xda4e46['GySEt'](fetch,_0x257817[_0x2a0311(0x1f3)],{'method':_0xda4e46['uUiCo'],'headers':{'Content-Type':_0xda4e46['BsoTC']},'body':_0x5ca2bf});if(!_0x453eef['ok']){const _0x32d07f=await _0x453eef['text']();throw new Error('Token\x20exchange\x20failed:\x20'+_0x32d07f);}const _0xb59a2=await _0x453eef['json']();return console[_0x2a0311(0x1fa)](_0xda4e46['vNYOa']),await saveCachedToken(_0xb59a2[_0x2a0311(0x21e)],_0xb59a2['refresh_token'],_0xb59a2['expires_in']),_0xb59a2[_0x2a0311(0x21e)];}async function callGetCliToken(_0x3c37eb,_0x2b044a){const _0x4cb8dd=_0x3371a5,_0x179f5f={'iOTGQ':'POST','uDAoA':function(_0xc7f3b9,_0x205a83){return _0xc7f3b9(_0x205a83);},'oBkqz':'application/json','RgEmS':_0x4cb8dd(0x1ff),'ZQpIG':'2.0','IeRFf':'initialize','IZxdv':_0x4cb8dd(0x1ef),'cPXOP':'\x20done','mgFOJ':_0x4cb8dd(0x1b6),'tLZOJ':_0x4cb8dd(0x215),'NShbf':function(_0x39680e,_0x176adf){return _0x39680e(_0x176adf);},'TcKPN':'\x0aUnexpected\x20response\x20structure:','WPSQX':_0x4cb8dd(0x1fc),'cOuWE':function(_0x2eb96d){return _0x2eb96d();},'LSzwG':_0x4cb8dd(0x22c),'hiRZf':function(_0x14d7ac,_0x2ee2b6,_0x15d4ea,_0x30cfb3){return _0x14d7ac(_0x2ee2b6,_0x15d4ea,_0x30cfb3);},'abNmT':function(_0x4e2141,_0x5ee110,_0x3e4e52){return _0x4e2141(_0x5ee110,_0x3e4e52);},'eywAH':_0x4cb8dd(0x1f0)},_0x1e0a8d={'Content-Type':_0x179f5f['oBkqz'],'Accept':_0x179f5f['RgEmS']};_0x2b044a&&(_0x1e0a8d['Authorization']=_0x4cb8dd(0x207)+_0x2b044a);const _0x35e479=async _0x2f42f8=>{const _0x29a6dc=_0x4cb8dd,_0x5d3534=await fetch(_0x3c37eb,{'method':_0x179f5f['iOTGQ'],'headers':_0x1e0a8d,'body':JSON['stringify'](_0x2f42f8)});if(!_0x5d3534['ok']){const _0x34582d=await _0x5d3534['text']();throw new Error(_0x29a6dc(0x206)+_0x5d3534['status']+':\x20'+_0x34582d);}return _0x179f5f['uDAoA'](parseResponse,_0x5d3534);};process['stdout']['write']('Initializing\x20MCP\x20session...');const _0x4bf88b=await _0x35e479({'jsonrpc':_0x179f5f[_0x4cb8dd(0x1d1)],'id':0x1,'method':_0x179f5f[_0x4cb8dd(0x216)],'params':{'protocolVersion':_0x4cb8dd(0x1b5),'capabilities':{},'clientInfo':{'name':'ranger-cli','version':_0x179f5f[_0x4cb8dd(0x1f8)]}}});if(_0x4bf88b[_0x4cb8dd(0x1d6)])throw new Error('MCP\x20initialize\x20failed:\x20'+(_0x4bf88b[_0x4cb8dd(0x1d6)][_0x4cb8dd(0x1e7)]??JSON[_0x4cb8dd(0x1ea)](_0x4bf88b[_0x4cb8dd(0x1d6)])));console['log'](_0x179f5f['cPXOP']),await fetch(_0x3c37eb,{'method':'POST','headers':_0x1e0a8d,'body':JSON['stringify']({'jsonrpc':_0x179f5f[_0x4cb8dd(0x1d1)],'method':_0x179f5f['mgFOJ']})})['then'](_0x39f4cc=>_0x39f4cc[_0x4cb8dd(0x1dd)]()),process[_0x4cb8dd(0x23d)]['write']('Requesting\x20CLI\x20token...');const _0x5b1336=await _0x179f5f[_0x4cb8dd(0x235)](_0x35e479,{'jsonrpc':_0x4cb8dd(0x1bf),'id':0x2,'method':_0x4cb8dd(0x225),'params':{'name':_0x179f5f[_0x4cb8dd(0x202)],'arguments':{}}});if(_0x5b1336[_0x4cb8dd(0x1d6)])throw new Error('get_cli_token\x20failed:\x20'+(_0x5b1336['error'][_0x4cb8dd(0x1e7)]??JSON[_0x4cb8dd(0x1ea)](_0x5b1336['error'])));console[_0x4cb8dd(0x1fa)]('\x20done');const _0x57dff5=_0x179f5f[_0x4cb8dd(0x1f4)](extractToken,_0x5b1336[_0x4cb8dd(0x22d)]);if(!_0x57dff5){console['error'](_0x179f5f[_0x4cb8dd(0x238)]),console['error'](JSON[_0x4cb8dd(0x1ea)](_0x5b1336['result'],null,0x2));throw new Error(_0x179f5f[_0x4cb8dd(0x1eb)]);}const _0x341fb5=join(_0x179f5f['cOuWE'](homedir),_0x179f5f[_0x4cb8dd(0x249)]),_0x18725f=join(_0x341fb5,'refresh.txt');await mkdir(_0x341fb5,{'recursive':!![]}),await writeFile(_0x18725f,_0x57dff5,{'mode':0x180}),await _0x179f5f['hiRZf'](writeFile,_0x179f5f['abNmT'](join,_0x341fb5,_0x4cb8dd(0x22e)),_0x3c37eb,{'mode':0x180}),console['log']('\x0aToken\x20written\x20to\x20'+_0x18725f),console[_0x4cb8dd(0x1fa)](_0x179f5f['eywAH']);}async function fetchAuthServerMetadata(_0x2c5fb3){const _0xda6207=_0x3371a5,_0xfc30a4={'slMCk':function(_0x56b843,_0x3eb7a8){return _0x56b843(_0x3eb7a8);}},_0x44efe6=_0x2c5fb3+'/.well-known/oauth-authorization-server',_0x86f86d=await _0xfc30a4[_0xda6207(0x248)](fetch,_0x44efe6);if(!_0x86f86d['ok'])throw new Error(_0xda6207(0x200)+_0x44efe6+':\x20'+_0x86f86d['status']);return _0x86f86d['json']();}function waitForCallback(_0x31d1fb){const _0x5316b7={'FquVi':function(_0x52d1ba){return _0x52d1ba();},'WvJgj':function(_0x34df6a,_0x3357ba){return _0x34df6a(_0x3357ba);},'PLnYS':'OAuth\x20callback\x20timed\x20out\x20after\x202\x20minutes','vGuwC':'Not\x20found','GQFKF':'error','tLwgP':'<html><body><h2>Authenticated!</h2><p>You\x20can\x20close\x20this\x20window\x20and\x20return\x20to\x20the\x20terminal.</p></body></html>','iPoGv':function(_0x90bfb9,_0xe75332,_0x1e0759){return _0x90bfb9(_0xe75332,_0x1e0759);},'LaRPT':'127.0.0.1'};return new Promise((_0x4e59ac,_0x1926c6)=>{const _0x463924=_0x38b8,_0x24c1ec={'pZSXq':function(_0x2991c1){return _0x5316b7['FquVi'](_0x2991c1);},'WCSBY':function(_0x24116a,_0x5d46f9){const _0x8cccad=_0x38b8;return _0x5316b7[_0x8cccad(0x21b)](_0x24116a,_0x5d46f9);},'ZTGtw':_0x5316b7[_0x463924(0x1c6)],'TDbOs':function(_0x30c9e1,_0x35ec97){return _0x30c9e1!==_0x35ec97;},'JoTSz':_0x5316b7['vGuwC'],'XiADS':'state','xwYhn':_0x5316b7[_0x463924(0x24f)],'ISyWS':_0x463924(0x229),'MeKvm':_0x5316b7[_0x463924(0x23b)],'XEpDS':function(_0x4feed5,_0x2e2a26){const _0x3e2df6=_0x463924;return _0x5316b7[_0x3e2df6(0x21b)](_0x4feed5,_0x2e2a26);},'bQmUz':function(_0x547f76){return _0x5316b7['FquVi'](_0x547f76);}},_0x53254f=()=>{const _0x3c55e7=_0x463924;_0x4646d2[_0x3c55e7(0x1db)](),_0x4646d2['close']();},_0x577704=_0x5316b7[_0x463924(0x20e)](setTimeout,()=>{const _0x1346cc=_0x463924;_0x24c1ec['pZSXq'](_0x53254f),_0x24c1ec[_0x1346cc(0x210)](_0x1926c6,new OAuthTimeoutError(_0x24c1ec['ZTGtw']));},0x1d4c0),_0x4646d2=_0x5316b7[_0x463924(0x21b)](createServer,(_0x210a01,_0x3c74a2)=>{const _0x41c47d=_0x463924,_0x139863=new URL(_0x210a01[_0x41c47d(0x24c)]??'/',_0x41c47d(0x204)+CALLBACK_PORT);if(_0x24c1ec[_0x41c47d(0x1cc)](_0x139863[_0x41c47d(0x245)],'/callback')){_0x3c74a2['writeHead'](0x194),_0x3c74a2[_0x41c47d(0x1c9)](_0x24c1ec[_0x41c47d(0x214)]);return;}const _0x1f3add=_0x139863['searchParams'][_0x41c47d(0x220)]('code'),_0x2a08df=_0x139863[_0x41c47d(0x1e1)][_0x41c47d(0x220)](_0x24c1ec[_0x41c47d(0x205)]),_0x42536f=_0x139863[_0x41c47d(0x1e1)]['get'](_0x24c1ec['xwYhn']);if(_0x42536f){const _0x4aee70=_0x139863[_0x41c47d(0x1e1)][_0x41c47d(0x220)](_0x41c47d(0x20b))??_0x42536f;_0x3c74a2['writeHead'](0xc8,{'Content-Type':_0x24c1ec[_0x41c47d(0x246)]}),_0x3c74a2['end'](_0x41c47d(0x22b)+_0x4aee70+_0x41c47d(0x203)),clearTimeout(_0x577704),_0x53254f(),_0x24c1ec[_0x41c47d(0x210)](_0x1926c6,new Error(_0x41c47d(0x21d)+_0x4aee70));return;}if(!_0x1f3add||_0x2a08df!==_0x31d1fb){_0x3c74a2['writeHead'](0x190,{'Content-Type':_0x24c1ec['ISyWS']}),_0x3c74a2['end']('<html><body><h2>Invalid\x20callback</h2><p>Missing\x20code\x20or\x20state\x20mismatch.</p></body></html>');return;}_0x3c74a2['writeHead'](0xc8,{'Content-Type':_0x24c1ec[_0x41c47d(0x246)]}),_0x3c74a2['end'](_0x24c1ec['MeKvm']),_0x24c1ec[_0x41c47d(0x1d9)](clearTimeout,_0x577704),_0x24c1ec['bQmUz'](_0x53254f),_0x4e59ac(_0x1f3add);});_0x4646d2[_0x463924(0x1c3)](CALLBACK_PORT,_0x5316b7[_0x463924(0x20a)]);});}async function openBrowser(_0xe42778){const _0xca0dbe=_0x3371a5,_0x437283={'lRmFs':_0xca0dbe(0x1ed),'fgyUq':'win32','tcNGL':_0xca0dbe(0x23f)},_0x2e82b5=process[_0xca0dbe(0x239)]===_0xca0dbe(0x21c)?_0x437283[_0xca0dbe(0x1be)]:process['platform']===_0x437283[_0xca0dbe(0x233)]?'start':_0x437283[_0xca0dbe(0x240)];exec(_0x2e82b5+'\x20\x22'+_0xe42778+'\x22');}let currentOrigin='';async function loadCachedToken(){const _0x3a23ad=_0x3371a5,_0x393341={'ZzSQz':function(_0x2156c9,_0x152014,_0x25823a){return _0x2156c9(_0x152014,_0x25823a);},'iabos':'utf-8'};try{const _0x3e41e5=JSON['parse'](await _0x393341[_0x3a23ad(0x222)](readFile,TOKEN_CACHE_PATH,_0x393341[_0x3a23ad(0x23e)]));if(_0x3e41e5[_0x3a23ad(0x1f6)]&&_0x3e41e5['origin']!==currentOrigin)return null;if(_0x3e41e5[_0x3a23ad(0x20c)]&&Date['now']()>_0x3e41e5[_0x3a23ad(0x20c)])return null;return _0x3e41e5[_0x3a23ad(0x1bd)]??null;}catch{return null;}}async function saveCachedToken(_0x327086,_0x41658a,_0x3c37b7){const _0x2cdab6=_0x3371a5,_0xe7f85b={'iKlPG':function(_0x263de5,_0x34f20a){return _0x263de5+_0x34f20a;},'puPMb':function(_0x1a799e,_0x4c67e8){return _0x1a799e*_0x4c67e8;},'BIvYH':function(_0x276f4b,_0x38aeac,_0x42877c){return _0x276f4b(_0x38aeac,_0x42877c);},'uPjbp':_0x2cdab6(0x22c),'uECTj':function(_0x4a93aa,_0x210c51,_0x51c643,_0xf0902d){return _0x4a93aa(_0x210c51,_0x51c643,_0xf0902d);}},_0xd206a=await loadCachedData(),_0x328631={..._0xd206a,'origin':currentOrigin,'accessToken':_0x327086,'refreshToken':_0x41658a??_0xd206a?.[_0x2cdab6(0x212)],'expiresAt':_0x3c37b7?_0xe7f85b[_0x2cdab6(0x21a)](Date[_0x2cdab6(0x1e6)](),_0xe7f85b[_0x2cdab6(0x1d3)](_0x3c37b7,0x3e8)):undefined};await mkdir(_0xe7f85b[_0x2cdab6(0x1d4)](join,homedir(),_0xe7f85b[_0x2cdab6(0x1e0)]),{'recursive':!![]}),await _0xe7f85b[_0x2cdab6(0x1bc)](writeFile,TOKEN_CACHE_PATH,JSON[_0x2cdab6(0x1ea)](_0x328631),{'mode':0x180});}async function loadCachedClient(){const _0x41ca43=_0x3371a5,_0x46ca0e=await loadCachedData();if(_0x46ca0e?.['origin']&&_0x46ca0e[_0x41ca43(0x1f6)]!==currentOrigin)return null;return _0x46ca0e?.[_0x41ca43(0x1e3)]?{'clientId':_0x46ca0e[_0x41ca43(0x1e3)],'clientSecret':_0x46ca0e[_0x41ca43(0x1d0)]}:null;}async function clearCachedClient(){const _0x51c758=_0x3371a5,_0x481732={'nxRwg':function(_0x5af31f){return _0x5af31f();}},_0x5333aa=await _0x481732['nxRwg'](loadCachedData);if(!_0x5333aa)return;const {clientId:_0x355923,clientSecret:_0x4695d2,..._0xe70c88}=_0x5333aa;await writeFile(TOKEN_CACHE_PATH,JSON[_0x51c758(0x1ea)](_0xe70c88),{'mode':0x180});}async function saveCachedClient(_0x25cc5a,_0x2abb59){const _0x5ed4c8=_0x3371a5,_0x27ac1d={'ERRXX':function(_0xf136d1,_0xeead92,_0x4a270e){return _0xf136d1(_0xeead92,_0x4a270e);},'TSInl':function(_0x1100ee,_0x4894b1,_0x9610f4,_0x386d56){return _0x1100ee(_0x4894b1,_0x9610f4,_0x386d56);}},_0x38cd47=await loadCachedData(),_0x37230b={..._0x38cd47,'origin':currentOrigin,'accessToken':_0x38cd47?.[_0x5ed4c8(0x1bd)]??'','clientId':_0x25cc5a,'clientSecret':_0x2abb59};await _0x27ac1d[_0x5ed4c8(0x1dc)](mkdir,join(homedir(),'.ranger'),{'recursive':!![]}),await _0x27ac1d['TSInl'](writeFile,TOKEN_CACHE_PATH,JSON[_0x5ed4c8(0x1ea)](_0x37230b),{'mode':0x180});}async function loadCachedData(){const _0x3386b0=_0x3371a5,_0x4983a4={'TOMfS':function(_0x55fb0f,_0x19b1dd,_0x240dfc){return _0x55fb0f(_0x19b1dd,_0x240dfc);},'JkQyQ':_0x3386b0(0x1f7)};try{return JSON[_0x3386b0(0x1cd)](await _0x4983a4['TOMfS'](readFile,TOKEN_CACHE_PATH,_0x4983a4[_0x3386b0(0x1f2)]));}catch{return null;}}async function parseResponse(_0x2038fb){const _0x88096c=_0x3371a5,_0x35d06d={'HOSdX':_0x88096c(0x228),'jYEPY':_0x88096c(0x218)},_0x240c50=_0x2038fb['headers'][_0x88096c(0x220)](_0x35d06d['HOSdX'])??'';if(_0x240c50[_0x88096c(0x236)]('text/event-stream')){const _0x27a51c=await _0x2038fb['text']();for(const _0x5c2657 of _0x27a51c[_0x88096c(0x1e9)]('\x0a')){const _0xdf96f7=_0x5c2657[_0x88096c(0x1f9)]();if(_0xdf96f7['startsWith'](_0x88096c(0x218))){const _0x4946a8=_0xdf96f7[_0x88096c(0x23c)](_0x35d06d[_0x88096c(0x241)]['length'])[_0x88096c(0x1f9)]();if(!_0x4946a8)continue;try{const _0x2418ae=JSON['parse'](_0x4946a8);if(_0x2418ae['id']!==undefined||_0x2418ae[_0x88096c(0x1d6)])return _0x2418ae;}catch{}}}throw new Error('No\x20JSON-RPC\x20response\x20found\x20in\x20SSE\x20stream');}return _0x2038fb['json']();}function extractToken(_0x2bef7a){const _0x468c24=_0x3371a5,_0x7037a8={'oScId':function(_0x441c9a,_0x5d7d79){return _0x441c9a===_0x5d7d79;},'KTNCn':'Unknown\x20error','tkLTX':_0x468c24(0x1ca)};if(!_0x2bef7a)return null;const _0x50a1e7=_0x2bef7a[_0x468c24(0x22f)];if(_0x50a1e7?.['token']&&_0x7037a8[_0x468c24(0x1b8)](typeof _0x50a1e7['token'],'string'))return _0x50a1e7[_0x468c24(0x230)];if(_0x2bef7a['isError']){const _0x53ee05=_0x2bef7a[_0x468c24(0x23a)];throw new Error('Server\x20returned\x20error:\x20'+(_0x53ee05?.[0x0]?.['text']??_0x7037a8['KTNCn']));}const _0x51481b=_0x2bef7a['content'];if(_0x51481b)for(const _0x55e8dc of _0x51481b){if(_0x55e8dc[_0x468c24(0x213)]===_0x468c24(0x1dd)&&_0x55e8dc['text']){try{const _0x4d902b=JSON['parse'](_0x55e8dc[_0x468c24(0x1dd)]);if(_0x7037a8['oScId'](typeof _0x4d902b?.[_0x468c24(0x230)],_0x7037a8['tkLTX']))return _0x4d902b[_0x468c24(0x230)];}catch{}const _0xd19978=_0x55e8dc[_0x468c24(0x1dd)]['match'](/(rngr_[A-Za-z0-9_-]+)/);if(_0xd19978)return _0xd19978[0x1];}}return null;}
|
|
1
|
+
const _0x1a2588=_0x2420;(function(_0x90ff3b,_0x2db658){const _0x2670db=_0x2420,_0x34e9e0=_0x90ff3b();while(!![]){try{const _0x428a2c=-parseInt(_0x2670db(0x1d3))/0x1+parseInt(_0x2670db(0x1c8))/0x2+-parseInt(_0x2670db(0x194))/0x3+-parseInt(_0x2670db(0x1d1))/0x4*(parseInt(_0x2670db(0x1a3))/0x5)+-parseInt(_0x2670db(0x18e))/0x6+parseInt(_0x2670db(0x1c2))/0x7*(-parseInt(_0x2670db(0x1a2))/0x8)+-parseInt(_0x2670db(0x200))/0x9*(-parseInt(_0x2670db(0x1d5))/0xa);if(_0x428a2c===_0x2db658)break;else _0x34e9e0['push'](_0x34e9e0['shift']());}catch(_0x2d9de1){_0x34e9e0['push'](_0x34e9e0['shift']());}}}(_0x10d0,0xb0257));import{mkdir,writeFile,readFile}from'fs/promises';function _0x2420(_0xfe6e23,_0x460c55){_0xfe6e23=_0xfe6e23-0x181;const _0x10d0d7=_0x10d0();let _0x2420ad=_0x10d0d7[_0xfe6e23];return _0x2420ad;}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(),_0x1a2588(0x1bd),_0x1a2588(0x1f3)),AUTH_ORIGIN_PATH=join(homedir(),_0x1a2588(0x1bd),_0x1a2588(0x18d));function _0x10d0(){const _0x22b921=['client_id','expiresAt','Registering\x20OAuth\x20client...','clientId','darwin','writeHead','Run\x20`ranger\x20setup\x20--mcp-bootstrap`\x20interactively\x20first.','GDXLS','8QRvqXC','2157550yXEAWc','\x0aOpening\x20browser\x20for\x20authentication...','Requesting\x20CLI\x20token...','aQOca','sha256','OAuth\x20error:\x20','win32','SGhcK','sJbsb','set','content-type','GJZao','MCP\x20server\x20requires\x20authentication\x20but\x20running\x20in\x20non-interactive\x20mode.\x0a','resource','<html><body><h2>Authenticated!</h2><p>You\x20can\x20close\x20this\x20window\x20and\x20return\x20to\x20the\x20terminal.</p></body></html>','POST','ttbbt','OAuthTimeoutError','stringify','JYMCV','stdout','text','RtVBi','application/x-www-form-urlencoded','127.0.0.1','authorization_code','.ranger','base64url','\x0aCached\x20OAuth\x20client\x20may\x20be\x20stale\x20—\x20clearing\x20and\x20retrying...\x0a','trim','json','8317358RELTql','result','XflEV','error','ScLoy','log','2722566DZxXQc','Discovering\x20authorization\x20server...','close','utf-8','proxied','token','xpEWs','response_type','aeLgz','8zhWYcc','state','72878HHTVjI','Could\x20not\x20fetch\x20protected\x20resource\x20metadata\x20from\x20MCP\x20server','10ohPrXu','RYzek','iaMOL','end','yDMel','text/html','type','/callback','HmAEw','/.well-known/oauth-authorization-server','HHVbi','1.0.0','content','clientSecret','HWYTI','XYoed','needs-oauth','then','CZqCb','replace','TVjkb','nnlut','message','now','mALFy','RiUSq','OuJeV','data:','sUgrv','nKoVQ','mcp-oauth-tokens.json','oLjjt','origin','get_cli_token','SiGqn','tvwYz','jSnfm','structuredContent','zbQbq','split','wuMUw','Could\x20not\x20fetch\x20auth\x20server\x20metadata\x20from\x20','If\x20the\x20browser\x20doesn\x27t\x20open,\x20visit:\x0a','22246821BXUKfD','ePbwy','FsESs','ujMXB','UZwsp','write','isError','ZAfeb','ZaMzw','refresh_token','hex','searchParams','</p><p>You\x20can\x20close\x20this\x20window.</p></body></html>','get','MonRL','kOJks','ranger-cli','S256','\x0aConnecting\x20to\x20MCP\x20auth\x20server:\x20','Run\x20`ranger\x20status`\x20to\x20verify\x20authentication.\x0a','Mqbfm','match','Server\x20returned\x20error:\x20','YTZVs','mpGmA','Bearer\x20','status','aRGge','toString','YwXti','auth-origin.txt','5203182NTcOmh','authorization_endpoint','digest','closeAllConnections','qBrJo','/.well-known/oauth-protected-resource','361104UVIvSk','pathname','application/json','registration_endpoint','<html><body><h2>Invalid\x20callback</h2><p>Missing\x20code\x20or\x20state\x20mismatch.</p></body></html>','authorization_servers'];_0x10d0=function(){return _0x22b921;};return _0x10d0();}export async function getMcpAuthOrigin(){const _0x57a8a4=_0x1a2588;try{const _0x55c250=(await readFile(AUTH_ORIGIN_PATH,'utf-8'))[_0x57a8a4(0x1c0)]();return _0x55c250||null;}catch{return null;}}export async function mcpBootstrap(){const _0x490207=_0x1a2588,_0x24a36c={'qXQns':function(_0x1465c8){return _0x1465c8();},'xpEWs':function(_0xcc06f4,_0x3be89c){return _0xcc06f4===_0x3be89c;},'zShDO':_0x490207(0x1cc),'NmHuq':function(_0x471af5){return _0x471af5();},'Bvmni':function(_0x535fbf,_0x2d000b){return _0x535fbf+_0x2d000b;},'ScLoy':_0x490207(0x1a0),'mlUBR':function(_0x10af4d,_0x2185d7){return _0x10af4d(_0x2185d7);},'vTrKR':function(_0x2f0d28,_0x26820d,_0xd0cde5){return _0x2f0d28(_0x26820d,_0xd0cde5);}},_0x22c487=_0x24a36c['qXQns'](getMcpAuthUrl);currentOrigin=_0x22c487;const _0x14d79d=process['stdout']['isTTY']??![];console[_0x490207(0x1c7)](_0x490207(0x181)+_0x22c487+'\x0a');const _0x1855de=await tryUnauthenticated(_0x22c487);let _0x1eb700=null;if(_0x24a36c[_0x490207(0x1ce)](_0x1855de,_0x24a36c['zShDO']))_0x1eb700='';else{_0x1eb700=await _0x24a36c['NmHuq'](loadCachedToken);if(!_0x1eb700){if(!_0x14d79d)throw new Error(_0x24a36c['Bvmni'](_0x490207(0x1af),_0x24a36c[_0x490207(0x1c6)]));_0x1eb700=await _0x24a36c['mlUBR'](oauthFlow,_0x22c487);}}await _0x24a36c['vTrKR'](callGetCliToken,_0x22c487,_0x1eb700);}async function tryUnauthenticated(_0x461a33){const _0x589b9f=_0x1a2588,_0x58f4ac={'oLjjt':function(_0x4fbcd0,_0x231fd6,_0x52ecb8){return _0x4fbcd0(_0x231fd6,_0x52ecb8);},'TEJIW':'application/json','YwXti':'application/json,\x20text/event-stream','fdMCk':_0x589b9f(0x210),'aRGge':'proxied','HZQxS':function(_0x567684,_0x3e50e2){return _0x567684===_0x3e50e2;}},_0x1dcb9d=await _0x58f4ac[_0x589b9f(0x1f4)](fetch,_0x461a33,{'method':'POST','headers':{'Content-Type':_0x58f4ac['TEJIW'],'Accept':_0x58f4ac[_0x589b9f(0x18c)]},'body':JSON[_0x589b9f(0x1b5)]({'jsonrpc':'2.0','id':0x1,'method':'initialize','params':{'protocolVersion':'2025-03-26','capabilities':{},'clientInfo':{'name':_0x58f4ac['fdMCk'],'version':_0x589b9f(0x1e0)}}})});if(_0x1dcb9d['ok'])return await _0x1dcb9d['text'](),_0x58f4ac[_0x589b9f(0x18a)];if(_0x58f4ac['HZQxS'](_0x1dcb9d[_0x589b9f(0x189)],0x191))return await _0x1dcb9d['text'](),_0x589b9f(0x1e5);const _0x23e98e=await _0x1dcb9d[_0x589b9f(0x1b8)]();throw new Error('MCP\x20server\x20returned\x20HTTP\x20'+_0x1dcb9d['status']+':\x20'+_0x23e98e);}class OAuthTimeoutError extends Error{constructor(_0x17f770){const _0x14b643=_0x1a2588;super(_0x17f770),this['name']=_0x14b643(0x1b4);}}async function oauthFlow(_0x44b04d){const _0x5c7eee=_0x1a2588,_0x971249={'Mqbfm':function(_0x9d7755,_0x373c1c){return _0x9d7755 instanceof _0x373c1c;}};try{return await oauthFlowAttempt(_0x44b04d);}catch(_0x31371c){if(_0x971249[_0x5c7eee(0x183)](_0x31371c,OAuthTimeoutError)&&await loadCachedClient())return console['log'](_0x5c7eee(0x1bf)),await clearCachedClient(),await oauthFlowAttempt(_0x44b04d);throw _0x31371c;}}async function oauthFlowAttempt(_0x399db6){const _0x4f54bf=_0x1a2588,_0x4813db={'QTpIB':_0x4f54bf(0x1c9),'GJZao':function(_0x492e64,_0x46db8b){return _0x492e64(_0x46db8b);},'nnlut':_0x4f54bf(0x1d4),'CZqCb':function(_0x24cef1,_0x2be71f){return _0x24cef1(_0x2be71f);},'ttbbt':function(_0x397606){return _0x397606();},'zbQbq':'Ranger\x20CLI','hmtRR':'refresh_token','zCzsu':'code','iaMOL':'none','CNTyk':function(_0x3c756a,_0x835875,_0xf1e86b){return _0x3c756a(_0x835875,_0xf1e86b);},'qrncQ':'redirect_uri','UZwsp':'code_challenge','yYxZy':_0x4f54bf(0x211),'hxiuu':_0x4f54bf(0x1a4),'HHVbi':function(_0x3027b0,_0xe4835e){return _0x3027b0(_0xe4835e);},'oEooh':_0x4f54bf(0x1bc),'ePbwy':'client_secret','nKoVQ':'resource','XYoed':function(_0x57e152,_0x13d817,_0x1e8904){return _0x57e152(_0x13d817,_0x1e8904);},'rnJin':_0x4f54bf(0x1ba),'UAGll':'\x20done','uWQlt':function(_0x3c60e9,_0x19b37d,_0x4e3117,_0x27298d){return _0x3c60e9(_0x19b37d,_0x4e3117,_0x27298d);}},_0x967f55=_0x399db6[_0x4f54bf(0x1e8)](/\/mcp$/,'');process['stdout']['write'](_0x4813db['QTpIB']);const _0x33ac20=await _0x4813db[_0x4f54bf(0x1ae)](fetch,_0x967f55+_0x4f54bf(0x193));if(!_0x33ac20['ok'])throw new Error(_0x4813db[_0x4f54bf(0x1ea)]);const _0x1598a5=await _0x33ac20[_0x4f54bf(0x1c1)](),_0x17fd99=_0x1598a5[_0x4f54bf(0x199)]?.[0x0];if(!_0x17fd99)throw new Error('No\x20authorization_servers\x20in\x20protected\x20resource\x20metadata');console['log']('\x20'+_0x17fd99);const _0x1b9619=await _0x4813db[_0x4f54bf(0x1e7)](fetchAuthServerMetadata,_0x17fd99);let _0x61efdb,_0x590bbe;const _0x35ab41=await _0x4813db[_0x4f54bf(0x1b3)](loadCachedClient);if(_0x35ab41)_0x61efdb=_0x35ab41[_0x4f54bf(0x19d)],_0x590bbe=_0x35ab41[_0x4f54bf(0x1e2)];else{if(_0x1b9619[_0x4f54bf(0x197)]){process[_0x4f54bf(0x1b7)][_0x4f54bf(0x205)](_0x4f54bf(0x19c));const _0x62bc7e=await fetch(_0x1b9619['registration_endpoint'],{'method':_0x4f54bf(0x1b2),'headers':{'Content-Type':_0x4f54bf(0x196)},'body':JSON['stringify']({'client_name':_0x4813db[_0x4f54bf(0x1fb)],'redirect_uris':['http://localhost:'+CALLBACK_PORT+_0x4f54bf(0x1dc)],'grant_types':['authorization_code',_0x4813db['hmtRR']],'response_types':[_0x4813db['zCzsu']],'token_endpoint_auth_method':_0x4813db[_0x4f54bf(0x1d7)]})});if(!_0x62bc7e['ok']){const _0x3a6ace=await _0x62bc7e[_0x4f54bf(0x1b8)]();throw new Error('Client\x20registration\x20failed:\x20'+_0x3a6ace);}const _0x254df1=await _0x62bc7e['json']();_0x61efdb=_0x254df1[_0x4f54bf(0x19a)],_0x590bbe=_0x254df1['client_secret'],await _0x4813db['CNTyk'](saveCachedClient,_0x61efdb,_0x590bbe),console['log']('\x20done');}else throw new Error('Authorization\x20server\x20does\x20not\x20support\x20dynamic\x20client\x20registration\x20and\x20no\x20cached\x20client\x20found');}const _0x2ac469=randomBytes(0x20)['toString'](_0x4f54bf(0x1be)),_0x3b1832=createHash(_0x4f54bf(0x1a7))['update'](_0x2ac469)[_0x4f54bf(0x190)]('base64url'),_0x2251e7=_0x4813db[_0x4f54bf(0x1e7)](randomBytes,0x10)[_0x4f54bf(0x18b)](_0x4f54bf(0x20a)),_0x5eb2ce=new URL(_0x1b9619[_0x4f54bf(0x18f)]);_0x5eb2ce[_0x4f54bf(0x20b)][_0x4f54bf(0x1ac)](_0x4f54bf(0x1cf),_0x4813db['zCzsu']),_0x5eb2ce['searchParams'][_0x4f54bf(0x1ac)](_0x4f54bf(0x19a),_0x61efdb),_0x5eb2ce[_0x4f54bf(0x20b)]['set'](_0x4813db['qrncQ'],'http://localhost:'+CALLBACK_PORT+'/callback'),_0x5eb2ce['searchParams']['set'](_0x4813db[_0x4f54bf(0x204)],_0x3b1832),_0x5eb2ce['searchParams'][_0x4f54bf(0x1ac)]('code_challenge_method',_0x4813db['yYxZy']),_0x5eb2ce['searchParams'][_0x4f54bf(0x1ac)](_0x4f54bf(0x1d2),_0x2251e7);_0x1598a5[_0x4f54bf(0x1b0)]&&_0x5eb2ce['searchParams']['set'](_0x4f54bf(0x1b0),_0x1598a5['resource']);console['log'](_0x4813db['hxiuu']),console[_0x4f54bf(0x1c7)](_0x4f54bf(0x1ff)+_0x5eb2ce[_0x4f54bf(0x18b)]()+'\x0a'),await openBrowser(_0x5eb2ce[_0x4f54bf(0x18b)]());const _0x2e2778=await _0x4813db[_0x4f54bf(0x1df)](waitForCallback,_0x2251e7);process['stdout'][_0x4f54bf(0x205)]('Exchanging\x20authorization\x20code...');const _0x3b8cbe=new URLSearchParams({'grant_type':_0x4813db['oEooh'],'code':_0x2e2778,'redirect_uri':'http://localhost:'+CALLBACK_PORT+_0x4f54bf(0x1dc),'client_id':_0x61efdb,'code_verifier':_0x2ac469});_0x590bbe&&_0x3b8cbe[_0x4f54bf(0x1ac)](_0x4813db[_0x4f54bf(0x201)],_0x590bbe);_0x1598a5['resource']&&_0x3b8cbe['set'](_0x4813db[_0x4f54bf(0x1f2)],_0x1598a5[_0x4f54bf(0x1b0)]);const _0x43bc17=await _0x4813db[_0x4f54bf(0x1e4)](fetch,_0x1b9619['token_endpoint'],{'method':_0x4f54bf(0x1b2),'headers':{'Content-Type':_0x4813db['rnJin']},'body':_0x3b8cbe});if(!_0x43bc17['ok']){const _0x21b33e=await _0x43bc17['text']();throw new Error('Token\x20exchange\x20failed:\x20'+_0x21b33e);}const _0x839d29=await _0x43bc17['json']();return console['log'](_0x4813db['UAGll']),await _0x4813db['uWQlt'](saveCachedToken,_0x839d29['access_token'],_0x839d29[_0x4f54bf(0x209)],_0x839d29['expires_in']),_0x839d29['access_token'];}async function callGetCliToken(_0x841ffd,_0x35bfd5){const _0x1538ea=_0x1a2588,_0xf8b5a6={'aQOca':'POST','sJbsb':function(_0xc0394e,_0x3eb3fb){return _0xc0394e(_0x3eb3fb);},'VCUuD':'Authorization','CdZoZ':'Initializing\x20MCP\x20session...','wuMUw':'ranger-cli','ZaMzw':'\x20done','hHfqp':function(_0x5b8743,_0x8c4b59,_0x559aa5){return _0x5b8743(_0x8c4b59,_0x559aa5);},'RiUSq':'2.0','ujMXB':function(_0x4062ab,_0xfdfe56){return _0x4062ab(_0xfdfe56);},'FsESs':'tools/call','rictJ':'\x0aUnexpected\x20response\x20structure:','YTZVs':'Could\x20not\x20extract\x20token\x20from\x20MCP\x20response','JYMCV':function(_0x45f63f,_0x34ab27,_0x547639){return _0x45f63f(_0x34ab27,_0x547639);},'GgZZJ':function(_0x4e3417){return _0x4e3417();},'muTsk':function(_0x5cacaf,_0x253d77,_0x776796,_0x17fa39){return _0x5cacaf(_0x253d77,_0x776796,_0x17fa39);},'mpGmA':function(_0x10b822,_0x29b873,_0x5c60a3,_0x5775d7){return _0x10b822(_0x29b873,_0x5c60a3,_0x5775d7);},'tmemr':_0x1538ea(0x18d)},_0x2993de={'Content-Type':'application/json','Accept':'application/json,\x20text/event-stream'};_0x35bfd5&&(_0x2993de[_0xf8b5a6['VCUuD']]=_0x1538ea(0x188)+_0x35bfd5);const _0x52c053=async _0x2fdff8=>{const _0x304ca8=_0x1538ea,_0x34ea2f=await fetch(_0x841ffd,{'method':_0xf8b5a6[_0x304ca8(0x1a6)],'headers':_0x2993de,'body':JSON['stringify'](_0x2fdff8)});if(!_0x34ea2f['ok']){const _0x5b2bd5=await _0x34ea2f['text']();throw new Error('HTTP\x20'+_0x34ea2f[_0x304ca8(0x189)]+':\x20'+_0x5b2bd5);}return _0xf8b5a6[_0x304ca8(0x1ab)](parseResponse,_0x34ea2f);};process['stdout'][_0x1538ea(0x205)](_0xf8b5a6['CdZoZ']);const _0xfee0c8=await _0x52c053({'jsonrpc':'2.0','id':0x1,'method':'initialize','params':{'protocolVersion':'2025-03-26','capabilities':{},'clientInfo':{'name':_0xf8b5a6[_0x1538ea(0x1fd)],'version':_0x1538ea(0x1e0)}}});if(_0xfee0c8['error'])throw new Error('MCP\x20initialize\x20failed:\x20'+(_0xfee0c8['error'][_0x1538ea(0x1eb)]??JSON['stringify'](_0xfee0c8[_0x1538ea(0x1c5)])));console[_0x1538ea(0x1c7)](_0xf8b5a6['ZaMzw']),await _0xf8b5a6['hHfqp'](fetch,_0x841ffd,{'method':'POST','headers':_0x2993de,'body':JSON['stringify']({'jsonrpc':_0xf8b5a6[_0x1538ea(0x1ee)],'method':'notifications/initialized'})})[_0x1538ea(0x1e6)](_0x1c1714=>_0x1c1714[_0x1538ea(0x1b8)]()),process[_0x1538ea(0x1b7)][_0x1538ea(0x205)](_0x1538ea(0x1a5));const _0x8246b4=await _0xf8b5a6[_0x1538ea(0x203)](_0x52c053,{'jsonrpc':'2.0','id':0x2,'method':_0xf8b5a6[_0x1538ea(0x202)],'params':{'name':_0x1538ea(0x1f6),'arguments':{}}});if(_0x8246b4['error'])throw new Error('get_cli_token\x20failed:\x20'+(_0x8246b4[_0x1538ea(0x1c5)][_0x1538ea(0x1eb)]??JSON[_0x1538ea(0x1b5)](_0x8246b4[_0x1538ea(0x1c5)])));console['log'](_0xf8b5a6[_0x1538ea(0x208)]);const _0x51b649=extractToken(_0x8246b4['result']);if(!_0x51b649){console[_0x1538ea(0x1c5)](_0xf8b5a6['rictJ']),console[_0x1538ea(0x1c5)](JSON[_0x1538ea(0x1b5)](_0x8246b4[_0x1538ea(0x1c3)],null,0x2));throw new Error(_0xf8b5a6[_0x1538ea(0x186)]);}const _0x3e1f41=_0xf8b5a6[_0x1538ea(0x1b6)](join,_0xf8b5a6['GgZZJ'](homedir),_0x1538ea(0x1bd)),_0x255208=join(_0x3e1f41,'refresh.txt');await mkdir(_0x3e1f41,{'recursive':!![]}),await _0xf8b5a6['muTsk'](writeFile,_0x255208,_0x51b649,{'mode':0x180}),await _0xf8b5a6[_0x1538ea(0x187)](writeFile,_0xf8b5a6[_0x1538ea(0x1b6)](join,_0x3e1f41,_0xf8b5a6['tmemr']),_0x841ffd,{'mode':0x180}),console['log']('\x0aToken\x20written\x20to\x20'+_0x255208),console[_0x1538ea(0x1c7)](_0x1538ea(0x182));}async function fetchAuthServerMetadata(_0x225ab3){const _0x2cf38c=_0x1a2588,_0x34acb3={'KfGBA':function(_0xbb4a44,_0x1a447f){return _0xbb4a44(_0x1a447f);}},_0xb685bd=_0x225ab3+_0x2cf38c(0x1de),_0x553f07=await _0x34acb3['KfGBA'](fetch,_0xb685bd);if(!_0x553f07['ok'])throw new Error(_0x2cf38c(0x1fe)+_0xb685bd+':\x20'+_0x553f07[_0x2cf38c(0x189)]);return _0x553f07[_0x2cf38c(0x1c1)]();}function waitForCallback(_0x236fbb){const _0x2ac8d9=_0x1a2588,_0x1deecc={'GDXLS':'Not\x20found','SGhcK':_0x2ac8d9(0x1d2),'aoJdE':'error_description','MoxHd':function(_0x1b9464,_0x55a5e1){return _0x1b9464(_0x55a5e1);},'aeLgz':function(_0x4547c5){return _0x4547c5();},'OuJeV':_0x2ac8d9(0x198),'MUFOk':_0x2ac8d9(0x1b1),'yDMel':function(_0xe328ff,_0x30fe8e,_0x1c86eb){return _0xe328ff(_0x30fe8e,_0x1c86eb);},'qbxAW':_0x2ac8d9(0x1bb)};return new Promise((_0x480dab,_0x413467)=>{const _0x3f2c3a=_0x2ac8d9,_0x404c05={'mHxIC':_0x1deecc[_0x3f2c3a(0x1a1)],'ZAfeb':_0x1deecc[_0x3f2c3a(0x1aa)],'jSnfm':_0x1deecc['aoJdE'],'dnnsB':function(_0x1c5bbd,_0x3e1874){return _0x1deecc['MoxHd'](_0x1c5bbd,_0x3e1874);},'HWYTI':function(_0x61f66a){const _0x513d78=_0x3f2c3a;return _0x1deecc[_0x513d78(0x1d0)](_0x61f66a);},'Hrzhe':function(_0x944dc,_0x2f476e){return _0x944dc!==_0x2f476e;},'TVjkb':'text/html','kOJks':_0x1deecc[_0x3f2c3a(0x1ef)],'JEnov':_0x1deecc['MUFOk']},_0x10b4d5=()=>{const _0x5de927=_0x3f2c3a;_0x3e7c07[_0x5de927(0x191)](),_0x3e7c07[_0x5de927(0x1ca)]();},_0x35f4a5=_0x1deecc[_0x3f2c3a(0x1d9)](setTimeout,()=>{_0x10b4d5(),_0x413467(new OAuthTimeoutError('OAuth\x20callback\x20timed\x20out\x20after\x202\x20minutes'));},0x1d4c0),_0x3e7c07=createServer((_0x4701ef,_0x414bac)=>{const _0xf8bb24=_0x3f2c3a,_0xe3e6a8=new URL(_0x4701ef['url']??'/','http://localhost:'+CALLBACK_PORT);if(_0xe3e6a8[_0xf8bb24(0x195)]!==_0xf8bb24(0x1dc)){_0x414bac[_0xf8bb24(0x19f)](0x194),_0x414bac[_0xf8bb24(0x1d8)](_0x404c05['mHxIC']);return;}const _0xc09163=_0xe3e6a8['searchParams'][_0xf8bb24(0x20d)]('code'),_0x5b3505=_0xe3e6a8[_0xf8bb24(0x20b)]['get'](_0x404c05[_0xf8bb24(0x207)]),_0x18a316=_0xe3e6a8['searchParams'][_0xf8bb24(0x20d)](_0xf8bb24(0x1c5));if(_0x18a316){const _0x258068=_0xe3e6a8[_0xf8bb24(0x20b)]['get'](_0x404c05[_0xf8bb24(0x1f9)])??_0x18a316;_0x414bac['writeHead'](0xc8,{'Content-Type':_0xf8bb24(0x1da)}),_0x414bac['end']('<html><body><h2>Authentication\x20failed</h2><p>'+_0x258068+_0xf8bb24(0x20c)),_0x404c05['dnnsB'](clearTimeout,_0x35f4a5),_0x404c05[_0xf8bb24(0x1e3)](_0x10b4d5),_0x404c05['dnnsB'](_0x413467,new Error(_0xf8bb24(0x1a8)+_0x258068));return;}if(!_0xc09163||_0x404c05['Hrzhe'](_0x5b3505,_0x236fbb)){_0x414bac[_0xf8bb24(0x19f)](0x190,{'Content-Type':_0x404c05[_0xf8bb24(0x1e9)]}),_0x414bac['end'](_0x404c05[_0xf8bb24(0x20f)]);return;}_0x414bac[_0xf8bb24(0x19f)](0xc8,{'Content-Type':_0x404c05['TVjkb']}),_0x414bac[_0xf8bb24(0x1d8)](_0x404c05['JEnov']),clearTimeout(_0x35f4a5),_0x10b4d5(),_0x480dab(_0xc09163);});_0x3e7c07['listen'](CALLBACK_PORT,_0x1deecc['qbxAW']);});}async function openBrowser(_0x51b318){const _0x3a15a7=_0x1a2588,_0xc2a119={'qBrJo':function(_0x331e3c,_0x157163){return _0x331e3c===_0x157163;},'LBjFg':'open','MonRL':function(_0x5d208e,_0x349342){return _0x5d208e(_0x349342);}},_0x56f815=_0xc2a119[_0x3a15a7(0x192)](process['platform'],_0x3a15a7(0x19e))?_0xc2a119['LBjFg']:process['platform']===_0x3a15a7(0x1a9)?'start':'xdg-open';_0xc2a119[_0x3a15a7(0x20e)](exec,_0x56f815+'\x20\x22'+_0x51b318+'\x22');}let currentOrigin='';async function loadCachedToken(){const _0x4b4e2e=_0x1a2588,_0x58769f={'SiGqn':function(_0x4fad78,_0x245f0c,_0x3ee294){return _0x4fad78(_0x245f0c,_0x3ee294);},'karRB':function(_0x58045a,_0xcaa776){return _0x58045a!==_0xcaa776;}};try{const _0x1ea163=JSON['parse'](await _0x58769f[_0x4b4e2e(0x1f7)](readFile,TOKEN_CACHE_PATH,'utf-8'));if(_0x1ea163[_0x4b4e2e(0x1f5)]&&_0x58769f['karRB'](_0x1ea163['origin'],currentOrigin))return null;if(_0x1ea163[_0x4b4e2e(0x19b)]&&Date[_0x4b4e2e(0x1ec)]()>_0x1ea163[_0x4b4e2e(0x19b)])return null;return _0x1ea163['accessToken']??null;}catch{return null;}}async function saveCachedToken(_0x17258a,_0x29485b,_0x2c1a11){const _0x42bcb6=_0x1a2588,_0x289eb6={'HmAEw':function(_0x2de9d3){return _0x2de9d3();}},_0x136260=await _0x289eb6[_0x42bcb6(0x1dd)](loadCachedData),_0x132ff0={..._0x136260,'origin':currentOrigin,'accessToken':_0x17258a,'refreshToken':_0x29485b??_0x136260?.['refreshToken'],'expiresAt':_0x2c1a11?Date['now']()+_0x2c1a11*0x3e8:undefined};await mkdir(join(_0x289eb6['HmAEw'](homedir),'.ranger'),{'recursive':!![]}),await writeFile(TOKEN_CACHE_PATH,JSON['stringify'](_0x132ff0),{'mode':0x180});}async function loadCachedClient(){const _0x31b750=_0x1a2588,_0x162dbb={'sUgrv':function(_0x35a185){return _0x35a185();}},_0x220b6b=await _0x162dbb[_0x31b750(0x1f1)](loadCachedData);if(_0x220b6b?.[_0x31b750(0x1f5)]&&_0x220b6b['origin']!==currentOrigin)return null;return _0x220b6b?.[_0x31b750(0x19d)]?{'clientId':_0x220b6b['clientId'],'clientSecret':_0x220b6b['clientSecret']}:null;}async function clearCachedClient(){const _0x4e7c2a={'TxIMT':function(_0x2f08eb){return _0x2f08eb();}},_0x293c71=await _0x4e7c2a['TxIMT'](loadCachedData);if(!_0x293c71)return;const {clientId:_0x28c311,clientSecret:_0x16337d,..._0x3ca4b2}=_0x293c71;await writeFile(TOKEN_CACHE_PATH,JSON['stringify'](_0x3ca4b2),{'mode':0x180});}async function saveCachedClient(_0x568085,_0x13bf27){const _0x4b127d=_0x1a2588,_0x183918={'XflEV':function(_0x35633b,_0xf1db7e,_0x21473f){return _0x35633b(_0xf1db7e,_0x21473f);},'tvwYz':function(_0xba85d2,_0x2a62b6,_0x547105){return _0xba85d2(_0x2a62b6,_0x547105);},'mALFy':function(_0x5d08ab,_0x55780d,_0x2a45c8,_0xdb7f79){return _0x5d08ab(_0x55780d,_0x2a45c8,_0xdb7f79);}},_0x30cf4e=await loadCachedData(),_0x10b4f5={..._0x30cf4e,'origin':currentOrigin,'accessToken':_0x30cf4e?.['accessToken']??'','clientId':_0x568085,'clientSecret':_0x13bf27};await _0x183918[_0x4b127d(0x1c4)](mkdir,_0x183918[_0x4b127d(0x1f8)](join,homedir(),'.ranger'),{'recursive':!![]}),await _0x183918[_0x4b127d(0x1ed)](writeFile,TOKEN_CACHE_PATH,JSON[_0x4b127d(0x1b5)](_0x10b4f5),{'mode':0x180});}async function loadCachedData(){const _0x23574c=_0x1a2588;try{return JSON['parse'](await readFile(TOKEN_CACHE_PATH,_0x23574c(0x1cb)));}catch{return null;}}async function parseResponse(_0x3346d4){const _0xa5459b=_0x1a2588,_0x19e19f={'gIINV':_0xa5459b(0x1f0),'tRGsm':function(_0x50a797,_0x21914a){return _0x50a797!==_0x21914a;},'RYzek':'No\x20JSON-RPC\x20response\x20found\x20in\x20SSE\x20stream'},_0x16e2be=_0x3346d4['headers'][_0xa5459b(0x20d)](_0xa5459b(0x1ad))??'';if(_0x16e2be['includes']('text/event-stream')){const _0x21e8ef=await _0x3346d4['text']();for(const _0x30d972 of _0x21e8ef[_0xa5459b(0x1fc)]('\x0a')){const _0x9795f4=_0x30d972[_0xa5459b(0x1c0)]();if(_0x9795f4['startsWith'](_0xa5459b(0x1f0))){const _0x2868e8=_0x9795f4['slice'](_0x19e19f['gIINV']['length'])[_0xa5459b(0x1c0)]();if(!_0x2868e8)continue;try{const _0x29a3b5=JSON['parse'](_0x2868e8);if(_0x19e19f['tRGsm'](_0x29a3b5['id'],undefined)||_0x29a3b5[_0xa5459b(0x1c5)])return _0x29a3b5;}catch{}}}throw new Error(_0x19e19f[_0xa5459b(0x1d6)]);}return _0x3346d4[_0xa5459b(0x1c1)]();}function extractToken(_0x6926a9){const _0x5ef725=_0x1a2588,_0x1cea10={'RtVBi':'Unknown\x20error','uqkHH':'string'};if(!_0x6926a9)return null;const _0x49cc0b=_0x6926a9[_0x5ef725(0x1fa)];if(_0x49cc0b?.['token']&&typeof _0x49cc0b[_0x5ef725(0x1cd)]==='string')return _0x49cc0b[_0x5ef725(0x1cd)];if(_0x6926a9[_0x5ef725(0x206)]){const _0x5b8335=_0x6926a9['content'];throw new Error(_0x5ef725(0x185)+(_0x5b8335?.[0x0]?.[_0x5ef725(0x1b8)]??_0x1cea10[_0x5ef725(0x1b9)]));}const _0x180509=_0x6926a9[_0x5ef725(0x1e1)];if(_0x180509)for(const _0x219c9e of _0x180509){if(_0x219c9e[_0x5ef725(0x1db)]===_0x5ef725(0x1b8)&&_0x219c9e[_0x5ef725(0x1b8)]){try{const _0x4f1041=JSON['parse'](_0x219c9e['text']);if(typeof _0x4f1041?.[_0x5ef725(0x1cd)]===_0x1cea10['uqkHH'])return _0x4f1041['token'];}catch{}const _0x4bea00=_0x219c9e['text'][_0x5ef725(0x184)](/(rngr_[A-Za-z0-9_-]+)/);if(_0x4bea00)return _0x4bea00[0x1];}}return null;}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
function
|
|
1
|
+
function _0x3dd0(_0x3cde81,_0x468a54){_0x3cde81=_0x3cde81-0xe8;var _0x50af4b=_0x50af();var _0x3dd090=_0x50af4b[_0x3cde81];return _0x3dd090;}function _0x50af(){var _0x1b0e67=['For\x20CI\x20/\x20background\x20agents\x20and\x20other\x20setup\x20options,\x20see:\x0a','FmMkI','fallback;\x20you\x20can\x20delete\x20them\x20once\x20you\x20have\x20re-auth-ed.','4kDzZmY','7108630DUmaMX','1652844lWxAgX','13380497cnPvWy','ranger\x20profile\x20migrate\x20is\x20no\x20longer\x20supported.\x0a','exit','42982ksAoBy','10gIvMDA','To\x20set\x20up\x20a\x20fresh\x20profile,\x20run:\x0a','511VUdDvX','9SQeADw','73720KCFWRt','732611htsdeG','pXERC','5HHbwVz','2149317TEVKcN','132RpORKE','Existing\x20sessions\x20in\x20your\x20old\x20<project>/.ranger/\x20dirs\x20still\x20work\x20as\x20a\x0a'];_0x50af=function(){return _0x1b0e67;};return _0x50af();}(function(_0x522e5f,_0x5d0b90){var _0x21bbcc=_0x3dd0,_0x573706=_0x522e5f();while(!![]){try{var _0x1c3743=parseInt(_0x21bbcc(0xe8))/0x1*(-parseInt(_0x21bbcc(0xe9))/0x2)+-parseInt(_0x21bbcc(0xf1))/0x3*(-parseInt(_0x21bbcc(0xf7))/0x4)+-parseInt(_0x21bbcc(0xf0))/0x5*(-parseInt(_0x21bbcc(0xf9))/0x6)+parseInt(_0x21bbcc(0xeb))/0x7*(parseInt(_0x21bbcc(0xed))/0x8)+-parseInt(_0x21bbcc(0xec))/0x9*(parseInt(_0x21bbcc(0xf8))/0xa)+parseInt(_0x21bbcc(0xee))/0xb*(parseInt(_0x21bbcc(0xf2))/0xc)+-parseInt(_0x21bbcc(0xfa))/0xd;if(_0x1c3743===_0x5d0b90)break;else _0x573706['push'](_0x573706['shift']());}catch(_0x4a8be7){_0x573706['push'](_0x573706['shift']());}}}(_0x50af,0x6bf41));export async function migrateProfile(_0x2489eb,_0x119aac){var _0x25d364=_0x3dd0,_0x33864e={'FmMkI':function(_0x7090b9,_0x149a4e){return _0x7090b9+_0x149a4e;},'pXERC':function(_0x391b44,_0x59cb50){return _0x391b44+_0x59cb50;},'dKQuF':_0x25d364(0xfb)};console['error'](_0x33864e[_0x25d364(0xf5)](_0x33864e[_0x25d364(0xef)](_0x33864e['pXERC'](_0x33864e['pXERC'](_0x33864e['dKQuF']+'\x0a'+_0x25d364(0xea)+'\x20\x20ranger\x20profile\x20add\x20<name>\x0a'+'\x0a',_0x25d364(0xf4)),'\x20\x20https://docs.ranger.net/main/concepts/profiles\x0a'),'\x0a')+_0x25d364(0xf3),_0x25d364(0xf6))),process[_0x25d364(0xfc)](0x1);}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
function
|
|
1
|
+
(function(_0x667f48,_0xe2b80){const _0x34aafb=_0x12f6,_0x2c09f7=_0x667f48();while(!![]){try{const _0x23bd98=parseInt(_0x34aafb(0x117))/0x1+-parseInt(_0x34aafb(0x109))/0x2+-parseInt(_0x34aafb(0x13e))/0x3+parseInt(_0x34aafb(0x12a))/0x4*(parseInt(_0x34aafb(0x11b))/0x5)+parseInt(_0x34aafb(0x10f))/0x6*(-parseInt(_0x34aafb(0x10d))/0x7)+parseInt(_0x34aafb(0x140))/0x8+parseInt(_0x34aafb(0x119))/0x9;if(_0x23bd98===_0xe2b80)break;else _0x2c09f7['push'](_0x2c09f7['shift']());}catch(_0xe4e9e2){_0x2c09f7['push'](_0x2c09f7['shift']());}}}(_0x2e2e,0xf3658));function _0x2e2e(){const _0x5e9454=['295XJZBPO','GWEzl','already\x20enabled','\x20\x20claude\x20plugin\x20install\x20ranger@trailhead\x20--scope\x20','tqrtQ','rNxBL','qNPjT','add','MEybk','wantsSkillup','enable','project','success','includes','xMmSY','94196fsbsTK','eopCH','✓\x20Claude\x20Code\x20plugin\x20already\x20installed','EmYWR','ebOjF','ranger','ScRys','RBVtf','FgWcf','pluginScope','\x0aYou\x20can\x20install\x20manually\x20with:','FTYOe','vFkYq','Where\x20should\x20the\x20plugin\x20be\x20installed?','cWffv','\x0aInstalling\x20Claude\x20Code\x20plugin\x20(','krBef','AKfaT','--scope','push','5734500nRJAiB','✓\x20Claude\x20Code\x20plugin\x20enabled','12522216fRLHfv','✓\x20Marketplace\x20already\x20added','987338aIHrPQ','error','log','MFPRP','4690YJcUus','❌\x20Failed\x20to\x20add\x20marketplace:','12426PHwREB','user','marketplace','.claude','MRDwN','Project\x20(shared\x20with\x20team\x20via\x20git)','ranger-testing/trailhead','plugin','136046PlICPw','frQuJ','15290793IVsXjs','\x0a📦\x20Claude\x20Code\x20Plugin\x0a'];_0x2e2e=function(){return _0x5e9454;};return _0x2e2e();}import{join}from'path';import{existsSync}from'fs';import _0xa9439d from'inquirer';import{skillup}from'../skillup.js';import{runClaudeCommand,isMarketplaceAdded,isPluginInstalled}from'../utils/claudePlugin.js';import{getProjectRoot,getSkillsDir}from'../utils/claudeConfig.js';function _0x12f6(_0x44c1ce,_0x306fec){_0x44c1ce=_0x44c1ce-0x108;const _0x2e2eb4=_0x2e2e();let _0x12f6e4=_0x2e2eb4[_0x44c1ce];return _0x12f6e4;}export async function ensureClaudePlugin(_0x30007c){const _0xb7e0c=_0x12f6,_0x394887={'frQuJ':function(_0x4b5ec9,_0x3e9405){return _0x4b5ec9(_0x3e9405);},'MRDwN':'ranger@trailhead','triVT':_0xb7e0c(0x12c),'fqDjL':function(_0x3c2699){return _0x3c2699();},'qNPjT':'.claude','eRzZd':_0xb7e0c(0x11a),'MoUel':'list','mlgqk':_0xb7e0c(0x137),'kpjMU':'User\x20(available\x20in\x20all\x20your\x20projects)','tqrtQ':'user','GWEzl':_0xb7e0c(0x114),'ScRys':_0xb7e0c(0x111),'ibfxE':_0xb7e0c(0x122),'FgWcf':_0xb7e0c(0x115),'rNxBL':_0xb7e0c(0x10e),'sFKeh':'install','eopCH':_0xb7e0c(0x126),'WJTiw':'❌\x20Failed\x20to\x20install\x20plugin:','HXZEv':_0xb7e0c(0x134),'AKfaT':_0xb7e0c(0x13c),'PXKZx':function(_0x43d34e,_0x1ea5d6,_0x3fc70a){return _0x43d34e(_0x1ea5d6,_0x3fc70a);},'Yupmg':function(_0x207a59,_0x54e24c){return _0x207a59===_0x54e24c;},'FvoKt':function(_0x1fc181){return _0x1fc181();},'nQDAX':_0xb7e0c(0x11d),'MFPRP':'⚠\x20Failed\x20to\x20enable\x20plugin:','ebOjF':_0xb7e0c(0x13f)},_0xd91255=await _0x394887[_0xb7e0c(0x118)](isPluginInstalled,_0x394887[_0xb7e0c(0x113)]);if(_0xd91255)return console['log'](_0x394887['triVT']),![];const _0x386b34=existsSync(join(_0x394887['fqDjL'](getProjectRoot),_0x394887[_0xb7e0c(0x121)]));let _0x2eba2d;if(_0x30007c)_0x2eba2d=_0x30007c;else{if(_0x386b34)_0x2eba2d='project';else{console[_0xb7e0c(0x10b)](_0x394887['eRzZd']);const _0x3b9a1b=await _0xa9439d['prompt']([{'type':_0x394887['MoUel'],'name':_0xb7e0c(0x133),'message':_0x394887['mlgqk'],'choices':[{'name':_0x394887['kpjMU'],'value':_0x394887[_0xb7e0c(0x11f)]},{'name':_0x394887[_0xb7e0c(0x11c)],'value':_0xb7e0c(0x126)}],'default':_0x394887[_0xb7e0c(0x11f)]}]);_0x2eba2d=_0x3b9a1b['pluginScope'];}}console[_0xb7e0c(0x10b)](_0xb7e0c(0x139)+_0x2eba2d+'\x20level)...\x0a');const _0x148244=await _0x394887[_0xb7e0c(0x118)](isMarketplaceAdded,'trailhead');let _0x413624=_0x148244;if(_0x148244)console[_0xb7e0c(0x10b)](_0xb7e0c(0x108));else{const _0x3d0c46=await runClaudeCommand([_0xb7e0c(0x116),_0x394887[_0xb7e0c(0x130)],_0x394887['ibfxE'],_0x394887[_0xb7e0c(0x132)]]);!_0x3d0c46['success']?(console['error'](_0x394887[_0xb7e0c(0x120)],_0x3d0c46['error']),console[_0xb7e0c(0x10b)]('\x0aYou\x20can\x20install\x20manually\x20with:'),console[_0xb7e0c(0x10b)]('\x20\x20claude\x20plugin\x20marketplace\x20add\x20ranger-testing/trailhead'),console['log'](_0xb7e0c(0x11e)+_0x2eba2d)):_0x413624=!![];}if(_0x413624){const _0x58064c=await runClaudeCommand([_0xb7e0c(0x116),_0x394887['sFKeh'],_0x394887[_0xb7e0c(0x113)],'--scope',_0x2eba2d],{'cwd':_0x2eba2d===_0x394887[_0xb7e0c(0x12b)]?getProjectRoot():undefined});if(!_0x58064c[_0xb7e0c(0x127)])console['error'](_0x394887['WJTiw'],_0x58064c[_0xb7e0c(0x10a)]),console[_0xb7e0c(0x10b)](_0x394887['HXZEv']),console[_0xb7e0c(0x10b)](_0xb7e0c(0x11e)+_0x2eba2d);else{console[_0xb7e0c(0x10b)]('✓\x20Claude\x20Code\x20plugin\x20installed\x20successfully');const _0x5473b6=[_0xb7e0c(0x116),_0xb7e0c(0x125),_0x394887['MRDwN']];_0x2eba2d===_0x394887['eopCH']&&_0x5473b6[_0xb7e0c(0x13d)](_0x394887[_0xb7e0c(0x13b)],_0xb7e0c(0x126));const _0x5c265f=await _0x394887['PXKZx'](runClaudeCommand,_0x5473b6,{'captureOutput':!![],'cwd':_0x394887['Yupmg'](_0x2eba2d,_0x394887['eopCH'])?_0x394887['FvoKt'](getProjectRoot):undefined}),_0x44630f=_0x5c265f['output']?.[_0xb7e0c(0x128)](_0x394887['nQDAX']);!_0x5c265f['success']&&!_0x44630f?console['error'](_0x394887[_0xb7e0c(0x10c)],_0x5c265f[_0xb7e0c(0x10a)]):console[_0xb7e0c(0x10b)](_0x394887[_0xb7e0c(0x12e)]);}}return!![];}export async function ensureClaudeSkills(_0x2bd9cb){const _0x333397=_0x12f6,_0x27eea2={'krBef':function(_0x32f0ca,_0x360aeb,_0x3e30e0,_0x436b4e){return _0x32f0ca(_0x360aeb,_0x3e30e0,_0x436b4e);},'hXbvp':function(_0x408374,_0x2d4fdd){return _0x408374(_0x2d4fdd);},'xMmSY':_0x333397(0x110),'cWffv':'SKILL.md','vFkYq':'ranger','UHhJr':function(_0x459ca9,_0x9076dd){return _0x459ca9||_0x9076dd;},'MEybk':function(_0x593a5b,_0x20242f,_0x488336){return _0x593a5b(_0x20242f,_0x488336);},'FTYOe':function(_0x4c287d){return _0x4c287d();},'EmYWR':_0x333397(0x112),'RBVtf':function(_0x184185,_0x5a718d){return _0x184185(_0x5a718d);}},_0x27702d=existsSync(_0x27eea2[_0x333397(0x13a)](join,_0x27eea2['hXbvp'](getSkillsDir,_0x27eea2[_0x333397(0x129)]),_0x333397(0x12f),_0x27eea2['cWffv'])),_0x4d4ab9=_0x27eea2['hXbvp'](existsSync,join(getSkillsDir(_0x333397(0x126)),_0x27eea2[_0x333397(0x136)],_0x27eea2[_0x333397(0x138)]));if(_0x27eea2['UHhJr'](_0x27702d,_0x4d4ab9))return console[_0x333397(0x10b)]('✓\x20Ranger\x20skills\x20already\x20installed'),![];const _0x469fd3=existsSync(_0x27eea2[_0x333397(0x123)](join,_0x27eea2[_0x333397(0x135)](getProjectRoot),_0x27eea2[_0x333397(0x12d)]));let _0x4a75a3=!![];if(_0x2bd9cb)await _0x27eea2[_0x333397(0x131)](skillup,{'autoInstall':_0x2bd9cb,'suppressUsage':!![]});else{if(_0x469fd3)await skillup({'autoInstall':_0x333397(0x126),'suppressUsage':!![]});else{const _0x5bdabf=await _0xa9439d['prompt']([{'type':'confirm','name':'wantsSkillup','message':'Would\x20you\x20like\x20to\x20install\x20skills?','default':!![]}]);_0x4a75a3=_0x5bdabf[_0x333397(0x124)],_0x4a75a3&&await skillup({'suppressUsage':!![]});}}return _0x4a75a3;}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(
|
|
1
|
+
(function(_0x4beebe,_0x2bc87c){const _0x20d7c3=_0x5591,_0x3419c2=_0x4beebe();while(!![]){try{const _0x130d3b=parseInt(_0x20d7c3(0x1fb))/0x1+-parseInt(_0x20d7c3(0x1fe))/0x2*(-parseInt(_0x20d7c3(0x1f0))/0x3)+-parseInt(_0x20d7c3(0x1f6))/0x4+parseInt(_0x20d7c3(0x1ec))/0x5*(-parseInt(_0x20d7c3(0x1ee))/0x6)+parseInt(_0x20d7c3(0x207))/0x7*(parseInt(_0x20d7c3(0x1fc))/0x8)+-parseInt(_0x20d7c3(0x1ed))/0x9*(parseInt(_0x20d7c3(0x1ff))/0xa)+-parseInt(_0x20d7c3(0x1f2))/0xb;if(_0x130d3b===_0x2bc87c)break;else _0x3419c2['push'](_0x3419c2['shift']());}catch(_0x1b3eab){_0x3419c2['push'](_0x3419c2['shift']());}}}(_0x3e7f,0x279f3));import{join}from'path';import{existsSync}from'fs';function _0x3e7f(){const _0x498424=['255916LpipnY','879896tsIvsB','@ranger-testing/opencode-plugin','4LbezQJ','70VpFgOh','$schema','Failed\x20to\x20read\x20opencode.json','nQzRW','opencode.json','olaNJ','parse','Project\x20(shared\x20with\x20team\x20via\x20git)','7aMmbbw','isArray','WvJmv','31545sTfbVZ','214047vEGMIu','66FZguWC','User\x20(available\x20in\x20all\x20your\x20projects)','375006Gkcruw','dXZBG','321794cVxEPP','pluginScope','log','utf-8','753928fhCwIm','pWsqt','project','plugin','qxOZz'];_0x3e7f=function(){return _0x498424;};return _0x3e7f();}import{mkdir,readFile,writeFile}from'fs/promises';function _0x5591(_0x326fc1,_0x1ce9f9){_0x326fc1=_0x326fc1-0x1ec;const _0x3e7f78=_0x3e7f();let _0x559176=_0x3e7f78[_0x326fc1];return _0x559176;}import _0x11265b from'inquirer';import{getOpencodeConfigDir}from'../utils/opencodeConfig.js';export async function ensureOpencodePluginConfig(_0x5bb716){const _0x3c7d14=_0x5591,_0x17f063={'fiJnQ':function(_0x165aeb,_0x191dfe){return _0x165aeb(_0x191dfe);},'vtrPT':function(_0x58fdf3,_0x32e923,_0x25b551){return _0x58fdf3(_0x32e923,_0x25b551);},'vywJs':'project','olaNJ':_0x3c7d14(0x203),'rrgXi':_0x3c7d14(0x206),'WvJmv':'user','JdBYI':function(_0x5c4ba6,_0x530254,_0x7e25fa){return _0x5c4ba6(_0x530254,_0x7e25fa);},'tHwCT':function(_0x38d96a,_0x323fd8){return _0x38d96a(_0x323fd8);},'gJzPN':'https://opencode.ai/config.json','nQzRW':'⚠\x20Failed\x20to\x20read\x20opencode.json.\x20Please\x20add\x20the\x20plugin\x20manually.','iMwYA':_0x3c7d14(0x201),'dXZBG':'✓\x20OpenCode\x20plugin\x20already\x20configured','vUvDJ':function(_0x3b7bc4,_0x398b78,_0x21d33b){return _0x3b7bc4(_0x398b78,_0x21d33b);},'OIMJt':function(_0x3e212b,_0x268fa3){return _0x3e212b(_0x268fa3);},'pWsqt':function(_0x4c6477,_0x2cbd25,_0x109b3d){return _0x4c6477(_0x2cbd25,_0x109b3d);},'blmVU':function(_0x2f3f96,_0x3239d1){return _0x2f3f96+_0x3239d1;},'qxOZz':'✓\x20OpenCode\x20plugin\x20configured'},_0x3e7ed6=_0x17f063['fiJnQ'](existsSync,_0x17f063['vtrPT'](join,getOpencodeConfigDir(_0x17f063['vywJs']),_0x17f063[_0x3c7d14(0x204)]));let _0x1dd785;if(_0x5bb716)_0x1dd785=_0x5bb716;else{if(_0x3e7ed6)_0x1dd785=_0x3c7d14(0x1f8);else{console[_0x3c7d14(0x1f4)]('\x0a📦\x20OpenCode\x20Plugin\x0a');const _0x16e35f=await _0x11265b['prompt']([{'type':'list','name':_0x3c7d14(0x1f3),'message':'Where\x20should\x20the\x20plugin\x20be\x20installed?','choices':[{'name':_0x3c7d14(0x1ef),'value':'user'},{'name':_0x17f063['rrgXi'],'value':'project'}],'default':_0x17f063[_0x3c7d14(0x209)]}]);_0x1dd785=_0x16e35f['pluginScope'];}}const _0x1d4ee1=_0x17f063['JdBYI'](join,_0x17f063['tHwCT'](getOpencodeConfigDir,_0x1dd785),_0x17f063[_0x3c7d14(0x204)]),_0x35e707=_0x3c7d14(0x1fd),_0x3556a3=_0x17f063['gJzPN'];let _0x3d6fb2={};if(existsSync(_0x1d4ee1))try{const _0x5697c2=await readFile(_0x1d4ee1,_0x3c7d14(0x1f5));_0x3d6fb2=JSON[_0x3c7d14(0x205)](_0x5697c2);}catch(_0x49c715){return console['error'](_0x17f063[_0x3c7d14(0x202)]),{'configured':![],'scope':_0x1dd785,'error':_0x17f063['iMwYA'],'details':_0x49c715};}const _0x46a748=Array[_0x3c7d14(0x208)](_0x3d6fb2[_0x3c7d14(0x1f9)])?_0x3d6fb2[_0x3c7d14(0x1f9)]:[];if(_0x46a748['includes'](_0x35e707))return console['log'](_0x17f063[_0x3c7d14(0x1f1)]),{'configured':![],'scope':_0x1dd785};return _0x3d6fb2[_0x3c7d14(0x200)]=_0x3d6fb2['$schema']||_0x3556a3,_0x3d6fb2[_0x3c7d14(0x1f9)]=[..._0x46a748,_0x35e707],await _0x17f063['vUvDJ'](mkdir,_0x17f063['OIMJt'](getOpencodeConfigDir,_0x1dd785),{'recursive':!![]}),await _0x17f063[_0x3c7d14(0x1f7)](writeFile,_0x1d4ee1,_0x17f063['blmVU'](JSON['stringify'](_0x3d6fb2,null,0x2),'\x0a')),console[_0x3c7d14(0x1f4)](_0x17f063[_0x3c7d14(0x1fa)]),{'configured':!![],'scope':_0x1dd785};}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
function
|
|
1
|
+
function _0x35cb(_0x2e3d4e,_0x980eb5){_0x2e3d4e=_0x2e3d4e-0x135;var _0xb38b1d=_0xb38b();var _0x35cbd3=_0xb38b1d[_0x2e3d4e];return _0x35cbd3;}function _0xb38b(){var _0x3cecc9=['For\x20CI\x20/\x20background\x20agents\x20and\x20other\x20setup\x20options,\x20see:\x0a','RaoWv','error','58495dxOFuW','\x20\x20https://docs.ranger.net/main/concepts/profiles','To\x20set\x20up\x20a\x20fresh\x20profile,\x20run:\x0a','exit','760GRKqLN','\x20\x20ranger\x20profile\x20add\x20<name>\x0a','30mOzkiS','2335216oRnHrN','330056Kfhrok','ranger\x20setup\x20--ci\x20writes\x20to\x20the\x20legacy\x20.ranger/ci/\x20tree\x20which\x20is\x20no\x20longer\x20supported.\x0a','CtvZU','266402Cuggjj','122373hLHNtJ','84cRafTM','531573DzSuZn','133357kdTegr'];_0xb38b=function(){return _0x3cecc9;};return _0xb38b();}(function(_0x483d37,_0x4dc6b){var _0x3413fc=_0x35cb,_0x51c149=_0x483d37();while(!![]){try{var _0xa40a5b=-parseInt(_0x3413fc(0x140))/0x1+-parseInt(_0x3413fc(0x13d))/0x2+parseInt(_0x3413fc(0x143))/0x3+-parseInt(_0x3413fc(0x142))/0x4*(parseInt(_0x3413fc(0x135))/0x5)+parseInt(_0x3413fc(0x13b))/0x6*(-parseInt(_0x3413fc(0x144))/0x7)+-parseInt(_0x3413fc(0x13c))/0x8+parseInt(_0x3413fc(0x141))/0x9*(parseInt(_0x3413fc(0x139))/0xa);if(_0xa40a5b===_0x4dc6b)break;else _0x51c149['push'](_0x51c149['shift']());}catch(_0x2baea1){_0x51c149['push'](_0x51c149['shift']());}}}(_0xb38b,0x23b79));export async function setupCi(_0x5022b9,_0x575eb7,_0x26d25b){var _0x244935=_0x35cb,_0x4e008f={'CtvZU':function(_0x1c1f7c,_0x96fad2){return _0x1c1f7c+_0x96fad2;},'RaoWv':function(_0x10e425,_0x14aad5){return _0x10e425+_0x14aad5;},'zVohq':_0x244935(0x13a),'lqYGe':_0x244935(0x136)};console[_0x244935(0x147)](_0x4e008f[_0x244935(0x13f)](_0x4e008f[_0x244935(0x146)](_0x4e008f[_0x244935(0x13f)](_0x244935(0x13e),'\x0a')+_0x244935(0x137)+_0x4e008f['zVohq']+'\x0a',_0x244935(0x145)),_0x4e008f['lqYGe'])),process[_0x244935(0x138)](0x1);}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(
|
|
1
|
+
(function(_0x569aa7,_0xe2eb1d){const _0x253b07=_0x39ce,_0x52ae99=_0x569aa7();while(!![]){try{const _0x29097d=parseInt(_0x253b07(0x13e))/0x1*(parseInt(_0x253b07(0x144))/0x2)+-parseInt(_0x253b07(0x158))/0x3+-parseInt(_0x253b07(0x15e))/0x4*(-parseInt(_0x253b07(0x140))/0x5)+parseInt(_0x253b07(0x146))/0x6*(-parseInt(_0x253b07(0x15d))/0x7)+-parseInt(_0x253b07(0x13b))/0x8+-parseInt(_0x253b07(0x151))/0x9*(parseInt(_0x253b07(0x139))/0xa)+parseInt(_0x253b07(0x153))/0xb;if(_0x29097d===_0xe2eb1d)break;else _0x52ae99['push'](_0x52ae99['shift']());}catch(_0x3c3ef1){_0x52ae99['push'](_0x52ae99['shift']());}}}(_0x2229,0x9464a));import{basename}from'path';import _0x579f16 from'inquirer';function _0x2229(){const _0x562cf8=['CeYzF','stdout','1376937NMWudI','/skills/','12392325GLpeyF','❌\x20No\x20Ranger\x20API\x20token\x20found.\x0a','\x20<your-api-token>','Non-interactive\x20mode:\x20Installing\x20skills\x20at\x20project\x20level\x20(','platform','764982pJIAQH','✓\x20Found\x20API\x20token','To\x20use:','suppressUsage','\x20\x20Failed\x20to\x20install\x20ranger\x20skill:','7StYKRv','1703236SJfGmh','nPeqp','project-level','10jiZDFZ','\x0a✅\x20Installed\x20','4867640CqwCGB','\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!','list','9319ITDzPf','ETCgO','5APMqLP','All\x20projects\x20(','isTTY','heSSM','212HcOSiS','EEGzA','5495628DPVTHa','Weqnt','\x20\x201.\x20Get\x20your\x20API\x20token\x20from\x20https://dashboard.ranger.net/cli','user-level','This\x20project\x20only\x20(','LtWBv','\x20\x202.\x20Run:\x20ranger\x20setup','log','installLevel'];_0x2229=function(){return _0x562cf8;};return _0x2229();}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';function _0x39ce(_0x446251,_0x23ec19){_0x446251=_0x446251-0x139;const _0x222972=_0x2229();let _0x39cebb=_0x222972[_0x446251];return _0x39cebb;}import{getOpencodeConfigDir}from'./utils/opencodeConfig.js';export async function skillup(_0x47fcc9={}){const _0x53c75b=_0x39ce,_0x5d0b9e={'LtWBv':function(_0x3fb85a){return _0x3fb85a();},'LmwAD':_0x53c75b(0x148),'FUSdl':function(_0x31a1f5,_0x21e205){return _0x31a1f5===_0x21e205;},'ohdbE':_0x53c75b(0x159),'ETCgO':function(_0x4068e5,_0x294716){return _0x4068e5(_0x294716);},'bILdp':function(_0x42e8bf,_0x4e2335){return _0x42e8bf===_0x4e2335;},'rkBAr':'opencode','nPeqp':'user','ESFlJ':function(_0x8883f0){return _0x8883f0();},'EEGzA':'Where\x20should\x20skills\x20be\x20installed?','CeYzF':'project','heSSM':'\x0a📦\x20Installing\x20skills...\x0a','fagPs':_0x53c75b(0x149),'Weqnt':_0x53c75b(0x160),'AYxwd':function(_0x5d0c71,_0x3c21f9){return _0x5d0c71>_0x3c21f9;},'OQpYf':function(_0x5b9983,_0x4c4d0a){return _0x5b9983===_0x4c4d0a;},'iEEXN':'\x20\x20-\x20Start\x20OpenCode\x20and\x20run\x20the\x20`ranger_enable`\x20tool\x20to\x20enable\x20hooks.'};console[_0x53c75b(0x14d)]('\x0a🎯\x20Ranger\x20Skill\x20Setup\x0a');const _0x34f560=_0x47fcc9[_0x53c75b(0x157)]??'claude',_0x216b57=await _0x5d0b9e[_0x53c75b(0x14b)](getToken);if(!_0x216b57){console[_0x53c75b(0x14d)](_0x53c75b(0x154)),console[_0x53c75b(0x14d)]('To\x20get\x20started:'),console['log'](_0x5d0b9e['LmwAD']),console[_0x53c75b(0x14d)](_0x53c75b(0x14c)+(_0x5d0b9e['FUSdl'](_0x34f560,'opencode')?'\x20--opencode':'')+_0x53c75b(0x155)),console['log']('\x20\x203.\x20Run:\x20ranger\x20skillup'+(_0x34f560==='opencode'?'\x20--opencode':'')+'\x0a');return;}console[_0x53c75b(0x14d)](_0x5d0b9e['ohdbE']);const _0x5d6f7b=_0x5d0b9e['LtWBv'](getProjectRoot),_0x5680f7=_0x5d0b9e[_0x53c75b(0x13f)](basename,_0x5d6f7b),_0x5ba4d2=_0x5d0b9e['bILdp'](_0x34f560,_0x5d0b9e['rkBAr'])?_0x5d0b9e['ETCgO'](getOpencodeConfigDir,_0x5d0b9e[_0x53c75b(0x15f)])+_0x53c75b(0x152):_0x5d0b9e['ESFlJ'](getClaudeConfigDir)+'/skills/',_0x207f1b=_0x34f560==='opencode'?_0x5d6f7b+'/.opencode/skills/':_0x5d6f7b+'/.claude/skills/',_0x50b544=process['stdin'][_0x53c75b(0x142)]&&process[_0x53c75b(0x150)]['isTTY'];let _0x533dc8;if(_0x47fcc9['autoInstall'])_0x533dc8=_0x47fcc9['autoInstall'];else{if(_0x50b544){const _0x2ef59c=await _0x579f16['prompt']([{'type':_0x53c75b(0x13d),'name':'installLevel','message':_0x5d0b9e[_0x53c75b(0x145)],'choices':[{'name':_0x53c75b(0x141)+_0x5ba4d2+')','value':'user'},{'name':_0x53c75b(0x14a)+_0x207f1b+')','value':_0x5d0b9e[_0x53c75b(0x14f)]}]}]);_0x533dc8=_0x2ef59c[_0x53c75b(0x14e)];}else _0x533dc8=_0x5d0b9e['CeYzF'],console['log'](_0x53c75b(0x156)+_0x207f1b+')');}let _0x4d626d=0x0;const _0x100ff2=getCurrentVersion();console['log'](_0x5d0b9e[_0x53c75b(0x143)]);try{const _0x3b4e47=await installSkill('ranger',{'cliVersion':_0x100ff2,'level':_0x533dc8,'platform':_0x34f560});_0x3b4e47&&_0x4d626d++;}catch(_0x36df56){console['warn'](_0x53c75b(0x15c),_0x36df56 instanceof Error?_0x36df56['message']:_0x36df56);}if(_0x4d626d>0x0){const _0x4b51f1=_0x533dc8===_0x5d0b9e[_0x53c75b(0x15f)]?_0x5d0b9e['fagPs']:_0x5d0b9e[_0x53c75b(0x147)];console['log'](_0x53c75b(0x13a)+_0x4d626d+'\x20'+_0x4b51f1+'\x20skill'+(_0x5d0b9e['AYxwd'](_0x4d626d,0x1)?'s':'')+'\x20successfully!\x0a'),!_0x47fcc9[_0x53c75b(0x15b)]&&(console['log'](_0x53c75b(0x15a)),_0x5d0b9e['OQpYf'](_0x34f560,_0x5d0b9e['rkBAr'])?console[_0x53c75b(0x14d)](_0x5d0b9e['iEEXN']):console[_0x53c75b(0x14d)](_0x53c75b(0x13c)));}else console[_0x53c75b(0x14d)]('\x0a⚠️\x20\x20No\x20skills\x20were\x20installed.\x0a');}
|
package/build/commands/start.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
const _0x523964=_0xde58;(function(_0x2b53b8,_0x10240d){const _0x18ca27=_0xde58,_0x178879=_0x2b53b8();while(!![]){try{const _0x482e3a=parseInt(_0x18ca27(0x106))/0x1+parseInt(_0x18ca27(0xfe))/0x2*(parseInt(_0x18ca27(0x113))/0x3)+-parseInt(_0x18ca27(0xbb))/0x4+-parseInt(_0x18ca27(0xcb))/0x5+parseInt(_0x18ca27(0xd6))/0x6+parseInt(_0x18ca27(0xfd))/0x7*(-parseInt(_0x18ca27(0xf1))/0x8)+-parseInt(_0x18ca27(0x10f))/0x9;if(_0x482e3a===_0x10240d)break;else _0x178879['push'](_0x178879['shift']());}catch(_0x188f27){_0x178879['push'](_0x178879['shift']());}}}(_0x11d7,0x3f713));import{mkdir,writeFile}from'fs/promises';import{join,dirname}from'path';import{existsSync}from'fs';import{createRequire}from'module';import _0x3da524 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';function _0xde58(_0x123fe8,_0x1ae138){_0x123fe8=_0x123fe8-0xb1;const _0x11d74b=_0x11d7();let _0xde58bd=_0x11d74b[_0x123fe8];return _0xde58bd;}import{getCurrentVersion}from'./utils/version.js';import{ensureClaudePlugin,ensureClaudeSkills}from'./setup/claude.js';import{ensureOpencodePluginConfig}from'./setup/opencode.js';function _0x11d7(){const _0x4dc92f=['prompt','project-scope\x20setup\x20obsolete).\x20Drop\x20the\x20--scope\x20flag\x20or\x20pass\x20--scope=user.','VNKJU','129015INvdqe','Validating\x20API\x20token...','czphL','...','oAKBj','RUwbI','\x20\x20npx\x20playwright@','.gitignore','rYTOS','force','user','1898688DkGiKw','skipped','.\x20Please\x20check\x20your\x20API\x20token\x20and\x20try\x20again.','\x0a❌\x20Failed\x20to\x20install\x20Chromium:','log','Setup\x20always\x20installs\x20at\x20user\x20scope\x20now\x20(cloud\x20profiles\x20make\x20','UowdF','tCFdS','⚠\x20No\x20git\x20repository\x20found.\x20Re-run\x20with\x20`--scope\x20user`\x20to\x20store\x20the\x20profile\x20at\x20~/.ranger/.','s).\x20On\x20a\x20slow\x20or\x20proxied\x20connection,\x20raise\x20the\x20limit\x20and\x20retry,\x20e.g.:\x0a','isTTY','CHIjI','Installation\x20failed\x20with\x20exit\x20code\x20','--with-deps','npx','message','\x20install\x20chromium','execPath','allowInsecureLocalhost','success','Authentication\x20failed:\x20','ignore','You\x20can\x20install\x20it\x20manually\x20by\x20running:','iWeNZ','TLIdz','scope','\x20(fallback\x20version)','1152nrCXXc','url','skipAuth','device_auth','organizationName','opencode','skipChromium','bINvR','method','error','exit','executablePath','1708QQxxit','15722QQGlyX','\x20now?','zPiyD','IYXdJ','\x0ascenarios\x20describing\x20what\x20to\x20verify\x20and\x20then\x20run\x20browser','stdin','trackPhaseStart','and\x20prompt\x20the\x20agent\x20like\x20usual.\x20Ranger\x20will\x20create\x20a\x20feature\x20review','279970agWVAo','AZLBX','auth','install','local','wOKSj','skills',')\x20of\x20the\x20Playwright\x20Chromium\x20browser\x20is\x20not\x20installed.\x20Install\x20it\x20now?','rJewn','703611DqIkFh','\x0aInstalling\x20Chromium\x20browser...\x0a','profile','playwright/package.json','33nhmFSH','\x0a\x20\x20https://docs.ranger.net/main/concepts/profiles','1.56.1','inherit','NOQUu','\x0aSkipping\x20profile\x20setup\x20(--skip-auth).\x20Run\x20`ranger\x20setup`\x20with\x20auth\x20to\x20add\x20a\x20profile\x20later.\x0a','\x0a\x20\x20Chromium\x20install\x20timed\x20out\x20(limit\x20','MUdnz','chromium','.\x20Please\x20check\x20your\x20network\x20connection\x20and\x20server\x20URL.','ZKjMh','\x20\x20\x20\x20RANGER_CHROMIUM_INSTALL_TIMEOUT_MS=1800000\x20ranger\x20setup\x20deps','\x0a⚠\x20Skipping\x20Chromium\x20installation.','\x1b[0m','\x0aagent\x20like\x20usual.\x20Claude\x20will\x20create\x20a\x20feature\x20review\x20with','cGMha','TLDrY','\x0a🚀\x20Ranger\x20Setup\x0a','OOFcK','PaImm','✓\x20Authenticated\x20to\x20','You\x20will\x20need\x20to\x20install\x20it\x20before\x20using\x20Ranger:','Erfgy','1135648suqNhv','ranger\x20profile\x20add\x20<name>','plugin','LrxGV','SIGKILL','trackPhaseEnd','lmINM','warn','playwright@','YxZQC','\x0a\x20\x20','env','yelfF'];_0x11d7=function(){return _0x4dc92f;};return _0x11d7();}import{installSkill}from'./utils/skills.js';import{spawn}from'child_process';const require=createRequire(import.meta.url);export const PLAYWRIGHT_CHROMIUM_INSTALL_FALLBACK_VERSION=_0x523964(0x115);const bold=_0xd6f3fd=>'\x1b[1m'+_0xd6f3fd+_0x523964(0xb1);export function getPlaywrightVersion(){const _0x181e3e=_0x523964;try{const _0x6d5cc0=require['resolve'](_0x181e3e(0x112)),_0x3b27ad=require(_0x6d5cc0);return _0x3b27ad['version'];}catch{return null;}}function resolveBundledPlaywrightCli(){const _0x564ccf=_0x523964,_0x643568={'IYXdJ':function(_0x316701,_0x5b4fbd,_0x4a5028){return _0x316701(_0x5b4fbd,_0x4a5028);},'TLDrY':function(_0x16b1d9,_0x57feca){return _0x16b1d9(_0x57feca);}};try{const _0x594090=_0x643568[_0x564ccf(0x101)](join,_0x643568[_0x564ccf(0xb4)](dirname,require['resolve']('playwright/package.json')),'cli.js');return _0x643568[_0x564ccf(0xb4)](existsSync,_0x594090)?_0x594090:null;}catch{return null;}}const CHROMIUM_INSTALL_TIMEOUT_MS=Number(process[_0x523964(0xc6)]['RANGER_CHROMIUM_INSTALL_TIMEOUT_MS'])||0x927c0;class ChromiumInstallTimeoutError extends Error{}export async function installChromiumBinary(_0x3fc859,_0x4a74cf=![]){const _0x56acd7=_0x523964,_0x4279a3={'wOKSj':_0x56acd7(0xe4),'JzHnG':function(_0x2811b5,_0x2a3b49,_0x5d9429){return _0x2811b5(_0x2a3b49,_0x5d9429);},'cHTcg':function(_0x24dddb,_0x533b17){return _0x24dddb/_0x533b17;},'MUdnz':function(_0xd4ccae,_0x5bf863){return _0xd4ccae instanceof _0x5bf863;}},_0xcce954=resolveBundledPlaywrightCli(),_0x1c538f=_0xcce954?process[_0x56acd7(0xe7)]:_0x4279a3[_0x56acd7(0x10b)],_0x39cf88=[_0xcce954??_0x56acd7(0xc3)+_0x3fc859,'install',..._0x4a74cf?[_0x56acd7(0xe3)]:[],'chromium'];let _0x3b44a7=![];for(let _0x501a36=0x1;;_0x501a36++){try{await _0x4279a3['JzHnG'](runChromiumInstall,_0x1c538f,_0x39cf88);return;}catch(_0x152dfc){_0x152dfc instanceof ChromiumInstallTimeoutError&&!_0x3b44a7&&(_0x3b44a7=!![],console[_0x56acd7(0xda)](_0x56acd7(0x119)+Math['round'](_0x4279a3['cHTcg'](CHROMIUM_INSTALL_TIMEOUT_MS,0x3e8))+_0x56acd7(0xdf)+_0x56acd7(0x11e)));if(_0x501a36>=0x3)throw _0x152dfc;const _0x560eba=_0x4279a3[_0x56acd7(0x11a)](_0x152dfc,Error)?_0x152dfc[_0x56acd7(0xe5)]:String(_0x152dfc);console[_0x56acd7(0xda)]('\x20\x20Chromium\x20install\x20attempt\x20'+_0x501a36+'\x20failed\x20('+_0x560eba+');\x20retrying...');}}}function runChromiumInstall(_0x372b00,_0x57dd6b){const _0x4f5894=_0x523964,_0x2dfd56={'Erfgy':function(_0x4a2be0,_0x10dfa8){return _0x4a2be0(_0x10dfa8);},'gahsX':function(_0x566ef9){return _0x566ef9();},'lmINM':function(_0x99b5c2,_0x192e40,_0x65f3ce,_0x3706ee){return _0x99b5c2(_0x192e40,_0x65f3ce,_0x3706ee);},'shUIj':_0x4f5894(0x116),'zOIyS':'win32','rYTOS':function(_0x24f127,_0x1dc9cf,_0x13498a){return _0x24f127(_0x1dc9cf,_0x13498a);}};return new Promise((_0x129d64,_0x836009)=>{const _0x461987=_0x4f5894,_0x31d944={'vOfLu':function(_0x1da391,_0x11e66a){const _0x1b5c08=_0xde58;return _0x2dfd56[_0x1b5c08(0xba)](_0x1da391,_0x11e66a);},'UzPXF':function(_0xe77d2f,_0x584ee8){return _0xe77d2f(_0x584ee8);}},_0x5e4262=_0x2dfd56[_0x461987(0xc1)](spawn,_0x372b00,_0x57dd6b,{'stdio':[_0x461987(0xeb),_0x461987(0x116),_0x2dfd56['shUIj']],'shell':process['platform']===_0x2dfd56['zOIyS']}),_0x4f6d1c=_0x2dfd56[_0x461987(0xd3)](setTimeout,()=>{const _0x361eab=_0x461987;_0x5e4262['kill'](_0x361eab(0xbf)),_0x836009(new ChromiumInstallTimeoutError('Chromium\x20install\x20timed\x20out\x20after\x20'+Math['round'](CHROMIUM_INSTALL_TIMEOUT_MS/0x3e8)+'s'));},CHROMIUM_INSTALL_TIMEOUT_MS);_0x5e4262['on']('close',_0x1f2336=>{const _0x5612e1=_0x461987;_0x2dfd56['Erfgy'](clearTimeout,_0x4f6d1c);if(_0x1f2336===0x0)_0x2dfd56['gahsX'](_0x129d64);else _0x836009(new Error(_0x5612e1(0xe2)+_0x1f2336));}),_0x5e4262['on'](_0x461987(0xfa),_0x19d0aa=>{_0x31d944['vOfLu'](clearTimeout,_0x4f6d1c),_0x31d944['UzPXF'](_0x836009,_0x19d0aa);});});}export async function authenticate(_0x349e77){const _0x2accdd=_0x523964,_0x1c5ebe={'cGMha':function(_0x3b37d5){return _0x3b37d5();},'lneiP':function(_0x400f28,_0x5a266e){return _0x400f28 instanceof _0x5a266e;},'UCwKz':_0x2accdd(0xf4),'Isyqc':_0x2accdd(0xcc),'MMAMb':function(_0x4f827a,_0x2cf130){return _0x4f827a(_0x2cf130);},'jrrjA':'✓\x20Stored\x20credentials\x20locally','CHIjI':'provided_token'};if(!_0x349e77){const _0x2fec99=await _0x1c5ebe[_0x2accdd(0xb3)](getToken);if(_0x2fec99){const _0x435a33=await getCurrentUser(_0x2fec99);if(_0x435a33['success'])return console['log']('✓\x20Already\x20authenticated\x20to\x20'+_0x435a33[_0x2accdd(0xd5)]['organizationName']),{'token':_0x2fec99,'method':'existing_token'};}try{_0x349e77=await runDeviceAuthFlow();}catch(_0x459688){throw new Error(_0x2accdd(0xea)+(_0x1c5ebe['lneiP'](_0x459688,Error)?_0x459688['message']:_0x459688));}const _0x4ec0e4=await getCurrentUser(_0x349e77);if(!_0x4ec0e4[_0x2accdd(0xe9)])throw new Error('Failed\x20to\x20validate\x20provisioned\x20API\x20key:\x20'+_0x4ec0e4[_0x2accdd(0xfa)]);return console['log'](_0x2accdd(0xb8)+_0x4ec0e4['user'][_0x2accdd(0xf5)]),{'token':_0x349e77,'method':_0x1c5ebe['UCwKz']};}console['log'](_0x1c5ebe['Isyqc']);const _0x11b3b2=await getCurrentUser(_0x349e77);if(!_0x11b3b2[_0x2accdd(0xe9)]){if(_0x11b3b2['status'])throw new Error('Authentication\x20failed:\x20'+_0x11b3b2['error']+_0x2accdd(0xd8));else throw new Error('Failed\x20to\x20connect\x20to\x20MCP\x20server:\x20'+_0x11b3b2[_0x2accdd(0xfa)]+_0x2accdd(0x11c));}return console[_0x2accdd(0xda)](_0x2accdd(0xb8)+_0x11b3b2['user']['organizationName']),await _0x1c5ebe['MMAMb'](storeToken,_0x349e77),console['log'](process[_0x2accdd(0xc6)]['GITHUB_ENV']?'✓\x20Exported\x20credentials\x20for\x20CI':_0x1c5ebe['jrrjA']),{'token':_0x349e77,'method':_0x1c5ebe[_0x2accdd(0xe1)]};}export async function ensureRangerDir(_0x2faa0a){const _0x1ddd45=_0x523964,_0x48b4ff={'RUwbI':function(_0x19459b,_0x1df22f,_0x833659){return _0x19459b(_0x1df22f,_0x833659);}};void _0x2faa0a;const _0x3221c1=getRangerHomeDir();return!existsSync(_0x3221c1)?(await _0x48b4ff[_0x1ddd45(0xd0)](mkdir,_0x3221c1,{'recursive':!![]}),console['log']('✓\x20Created\x20~/.ranger/\x20directory'),{'path':_0x3221c1,'installed':!![]}):(console[_0x1ddd45(0xda)]('✓\x20~/.ranger/\x20directory\x20already\x20exists'),{'path':_0x3221c1,'installed':![]});}export async function ensureChromium(_0x458a91=![]){const _0x1d12e7=_0x523964,_0x4c04c0={'ZKjMh':function(_0x315499,_0x55cc7a){return _0x315499??_0x55cc7a;},'XgCWl':'\x0a✓\x20Playwright\x20Chromium\x20installed\x20successfully','oAKBj':_0x1d12e7(0xd9),'jWQeI':_0x1d12e7(0xec),'cdEWd':_0x1d12e7(0x11f)};let _0x5136a9=![];try{const _0x17de05=chromium[_0x1d12e7(0xfc)]();_0x5136a9=existsSync(_0x17de05);}catch{_0x5136a9=![];}if(_0x5136a9)return console['log']('✓\x20Playwright\x20Chromium\x20browser\x20found'),![];const _0x58df17=getPlaywrightVersion(),_0x35157d=_0x4c04c0[_0x1d12e7(0x11d)](_0x58df17,PLAYWRIGHT_CHROMIUM_INSTALL_FALLBACK_VERSION),_0x1f0d44=!_0x58df17,_0x417b84=process[_0x1d12e7(0x103)][_0x1d12e7(0xe0)]&&process['stdout'][_0x1d12e7(0xe0)];let _0x2443cd=!![];if(_0x417b84){const {install:_0x802b2f}=await _0x3da524[_0x1d12e7(0xc8)]([{'type':'confirm','name':_0x1d12e7(0x109),'message':_0x1f0d44?'Could\x20not\x20determine\x20local\x20Playwright\x20version.\x20Install\x20Playwright\x20Chromium\x20using\x20fallback\x20version\x20'+_0x35157d+_0x1d12e7(0xff):'The\x20required\x20version\x20('+_0x35157d+_0x1d12e7(0x10d),'default':!![]}]);_0x2443cd=_0x802b2f;}else console['log']('\x0aNon-interactive\x20mode:\x20Auto-installing\x20Playwright\x20Chromium\x20'+_0x35157d+(_0x1f0d44?_0x1d12e7(0xf0):'')+_0x1d12e7(0xce));if(_0x2443cd){console[_0x1d12e7(0xda)](_0x1d12e7(0x110));try{await installChromiumBinary(_0x35157d,_0x458a91),console['log'](_0x4c04c0['XgCWl']);}catch(_0x168908){console['error'](_0x4c04c0[_0x1d12e7(0xcf)],_0x168908 instanceof Error?_0x168908['message']:_0x168908),console[_0x1d12e7(0xda)](_0x4c04c0['jWQeI']),console[_0x1d12e7(0xda)](_0x1d12e7(0xd1)+_0x35157d+_0x1d12e7(0xe6));}}else console[_0x1d12e7(0xda)](_0x4c04c0['cdEWd']),console[_0x1d12e7(0xda)](_0x1d12e7(0xb9)),console[_0x1d12e7(0xda)](_0x1d12e7(0xd1)+_0x35157d+'\x20install\x20chromium');return!![];}export async function writeRangerGitignore(_0x2a5f93){const _0x14bc73=_0x523964,_0x4f70e8={'YxZQC':function(_0x55a04a,_0x382215,_0x59c744){return _0x55a04a(_0x382215,_0x59c744);},'etgWw':'✓\x20Created\x20.ranger/.gitignore'},_0x5cdabd=join(_0x2a5f93,_0x14bc73(0xd2)),_0x3a2cfd='\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 _0x4f70e8[_0x14bc73(0xc4)](writeFile,_0x5cdabd,_0x3a2cfd),console[_0x14bc73(0xda)](_0x4f70e8['etgWw']);}export async function ensureLocalEnv(_0xf85d76,_0x36963a){const _0x475c5f=_0x523964,_0x4ff05e={'bINvR':function(_0x4366fe){return _0x4366fe();},'VDfgM':_0x475c5f(0xd5),'wlImz':_0x475c5f(0xde),'rJewn':function(_0x522c97,_0x2da466){return _0x522c97===_0x2da466;},'AZLBX':function(_0x127ca4,_0x3be6fb,_0x8353c0,_0x10f287){return _0x127ca4(_0x3be6fb,_0x8353c0,_0x10f287);},'rpecM':'\x0a❌\x20Profile\x20setup\x20failed:','tCFdS':function(_0x5d4088,_0x4a5da1){return _0x5d4088 instanceof _0x4a5da1;}};if(!_0x4ff05e[_0x475c5f(0xf8)](findGitRoot)&&_0xf85d76?.['scope']!==_0x4ff05e['VDfgM'])return console[_0x475c5f(0xda)](_0x4ff05e['wlImz']),{'ready':![],'skipped':!![]};const _0x53bdea=_0x4ff05e[_0x475c5f(0x10e)](_0xf85d76?.['scope'],_0x475c5f(0xd5))?getRangerHomeDir():undefined;if(findExistingEnv('local',{'locations':[_0x475c5f(0x10a)],'rangerDir':_0x53bdea}))return console['log']('✓\x20Local\x20profile\x20already\x20exists'),{'ready':!![],'skipped':![]};try{return await _0x4ff05e[_0x475c5f(0x107)](addEnv,_0x475c5f(0x10a),{'url':_0xf85d76?.[_0x475c5f(0xf2)],'force':_0xf85d76?.['force'],'allowInsecureLocalhost':_0xf85d76?.['allowInsecureLocalhost'],'scope':_0xf85d76?.[_0x475c5f(0xef)]},_0x36963a),{'ready':!![],'skipped':![]};}catch(_0x417dbb){return console['error'](_0x4ff05e['rpecM'],_0x4ff05e[_0x475c5f(0xdd)](_0x417dbb,Error)?_0x417dbb[_0x475c5f(0xe5)]:_0x417dbb),{'ready':![],'skipped':![]};}}export async function start(_0x8508a9,_0x2ab04b,_0x5253bb){const _0x4b113d=_0x523964,_0x3fa563={'yelfF':function(_0x3c08f1,_0x536060){return _0x3c08f1+_0x536060;},'VNKJU':_0x4b113d(0xd5),'GtFiQ':'✓\x20Skipping\x20authentication\x20(--skip-auth)','ZyUaX':function(_0x15dea2,_0x5ecab9){return _0x15dea2(_0x5ecab9);},'OEbpx':'✓\x20Skipping\x20Chromium\x20check\x20(--skip-chromium)','czphL':_0x4b113d(0x11b),'iWeNZ':_0x4b113d(0xbd),'UjZYC':function(_0x559f2a,_0x2c8197){return _0x559f2a(_0x2c8197);},'OOFcK':'ranger','UowdF':'\x20\x20Failed\x20to\x20install\x20OpenCode\x20skill:','nLuvj':function(_0x23a551,_0x3b0b73){return _0x23a551 instanceof _0x3b0b73;},'LrxGV':'skills','PaImm':function(_0x4f3348,_0x46b28c,_0x5d7a1a){return _0x4f3348(_0x46b28c,_0x5d7a1a);},'zPiyD':_0x4b113d(0x111),'NOQUu':function(_0x5868ff,_0x18d2e0){return _0x5868ff+_0x18d2e0;},'XOzLL':function(_0x57a1e4,_0xe18285){return _0x57a1e4(_0xe18285);},'TLIdz':function(_0x2b0d03,_0x3a1adc){return _0x2b0d03+_0x3a1adc;}};console['log'](_0x4b113d(0xb5));_0x2ab04b?.[_0x4b113d(0xef)]!==undefined&&_0x2ab04b['scope']!==_0x4b113d(0xd5)&&(console[_0x4b113d(0xfa)](_0x3fa563[_0x4b113d(0xc7)]('ranger\x20setup\x20--scope='+String(_0x2ab04b[_0x4b113d(0xef)])+'\x20is\x20no\x20longer\x20supported.\x20',_0x4b113d(0xdb))+_0x4b113d(0xc9)),process[_0x4b113d(0xfb)](0x1));_0x2ab04b={..._0x2ab04b,'scope':_0x3fa563[_0x4b113d(0xca)]};const _0x8f6bf2=!existsSync(getRangerHomeDir());await ensureRangerDir(_0x3fa563[_0x4b113d(0xca)]);if(_0x2ab04b?.['skipAuth'])console[_0x4b113d(0xda)](_0x3fa563['GtFiQ']),_0x5253bb?.[_0x4b113d(0xc0)]('auth',{'isFirstRun':_0x8f6bf2,'method':_0x4b113d(0xd7)});else{_0x5253bb?.['trackPhaseStart'](_0x4b113d(0x108));const _0x3dc651=await _0x3fa563['ZyUaX'](authenticate,_0x8508a9);_0x5253bb?.[_0x4b113d(0xc0)]('auth',{'isFirstRun':_0x8f6bf2,'method':_0x3dc651[_0x4b113d(0xf9)]});}_0x5253bb?.['trackPhaseStart']('chromium');_0x2ab04b?.[_0x4b113d(0xf7)]?console['log'](_0x3fa563['OEbpx']):await _0x3fa563['ZyUaX'](ensureChromium,_0x2ab04b?.['withDeps']);_0x5253bb?.['trackPhaseEnd'](_0x3fa563[_0x4b113d(0xcd)],{'isFirstRun':_0x8f6bf2,'skipped':!!_0x2ab04b?.[_0x4b113d(0xf7)]}),console['log']('\x0a✅\x20Ranger\x20setup\x20complete!\x0a');const _0x5d2727=_0x2ab04b?.['scope'],_0x453f0c=_0x2ab04b?.[_0x4b113d(0xf6)]??![];let _0xfe3a6f=null;_0x453f0c?(_0x5253bb?.['trackPhaseStart'](_0x4b113d(0xbd)),_0xfe3a6f=await ensureOpencodePluginConfig(_0x5d2727),_0x5253bb?.[_0x4b113d(0xc0)](_0x3fa563[_0x4b113d(0xed)],{'isFirstRun':_0x8f6bf2,'opencode':!![]})):(_0x5253bb?.[_0x4b113d(0x104)](_0x3fa563['iWeNZ']),await _0x3fa563['UjZYC'](ensureClaudePlugin,_0x5d2727),_0x5253bb?.['trackPhaseEnd'](_0x3fa563[_0x4b113d(0xed)],{'isFirstRun':_0x8f6bf2}));if(_0x453f0c&&_0xfe3a6f){_0x5253bb?.[_0x4b113d(0x104)](_0x4b113d(0x10c));try{await installSkill(_0x3fa563[_0x4b113d(0xb6)],{'level':_0xfe3a6f['scope'],'cliVersion':getCurrentVersion(),'platform':'opencode'}),_0x5253bb?.['trackPhaseEnd']('skills',{'isFirstRun':_0x8f6bf2,'opencode':!![]});}catch(_0x14a53f){console[_0x4b113d(0xc2)](_0x3fa563[_0x4b113d(0xdc)],_0x3fa563['nLuvj'](_0x14a53f,Error)?_0x14a53f['message']:_0x14a53f),_0x5253bb?.['trackPhaseEnd'](_0x4b113d(0x10c),{'isFirstRun':_0x8f6bf2,'opencode':!![],'failed':!![]});}}else _0x5253bb?.[_0x4b113d(0x104)](_0x3fa563[_0x4b113d(0xbe)]),await ensureClaudeSkills(_0x5d2727),_0x5253bb?.[_0x4b113d(0xc0)](_0x4b113d(0x10c),{'isFirstRun':_0x8f6bf2});if(_0x2ab04b?.[_0x4b113d(0xf3)])console['log'](_0x4b113d(0x118));else{if(_0x2ab04b?.['url']){_0x5253bb?.['trackPhaseStart'](_0x4b113d(0x111));const _0x179b88=await _0x3fa563[_0x4b113d(0xb7)](ensureLocalEnv,{'url':_0x2ab04b['url'],'force':_0x2ab04b?.[_0x4b113d(0xd4)],'allowInsecureLocalhost':_0x2ab04b?.[_0x4b113d(0xe8)],'scope':_0x3fa563[_0x4b113d(0xca)]},_0x5253bb);_0x5253bb?.[_0x4b113d(0xc0)](_0x3fa563[_0x4b113d(0x100)],{'isFirstRun':_0x8f6bf2,'profileReady':_0x179b88['ready'],'userSkipped':_0x179b88[_0x4b113d(0xd7)]});}else console['log'](_0x3fa563['NOQUu'](_0x3fa563[_0x4b113d(0x117)]('\x0aTo\x20set\x20up\x20a\x20profile\x20for\x20your\x20app,\x20run:'+(_0x4b113d(0xc5)+bold(_0x4b113d(0xbc))),'\x0a\x20\x20(opens\x20a\x20browser\x20so\x20you\x20can\x20log\x20in\x20once)')+'\x0a\x0aFor\x20CI\x20/\x20background\x20agents\x20and\x20other\x20setup\x20options,\x20see:',_0x4b113d(0x114)));}if(_0x453f0c)console[_0x4b113d(0xda)]('\x0aIn\x20OpenCode,\x20enable\x20Ranger\x20hooks\x20(run\x20the\x20`ranger_enable`\x20tool)'),console['log'](_0x4b113d(0x105)),console['log']('with\x20scenarios\x20describing\x20what\x20to\x20verify\x20and\x20then\x20run\x20browser'),console['log']('verification\x20to\x20check\x20its\x20work\x20as\x20it\x20builds.');else{const _0x327aca=_0x3fa563['XOzLL'](bold,'/ranger:enable');console['log'](_0x3fa563['NOQUu'](_0x3fa563[_0x4b113d(0xee)]('\x0aIn\x20Claude\x20Code,\x20run\x20'+_0x327aca+'\x20and\x20prompt\x20the\x20coding',_0x4b113d(0xb2)),_0x4b113d(0x102))+'\x0averification\x20to\x20check\x20its\x20work\x20as\x20it\x20builds.');}}
|
|
1
|
+
const _0x5a86aa=_0x46ea;(function(_0x2efa7b,_0x1b5959){const _0x18fddb=_0x46ea,_0x207ae6=_0x2efa7b();while(!![]){try{const _0x25aea4=-parseInt(_0x18fddb(0x86))/0x1+parseInt(_0x18fddb(0x72))/0x2+parseInt(_0x18fddb(0xa5))/0x3*(-parseInt(_0x18fddb(0x69))/0x4)+-parseInt(_0x18fddb(0x84))/0x5*(-parseInt(_0x18fddb(0xbe))/0x6)+parseInt(_0x18fddb(0xd8))/0x7*(parseInt(_0x18fddb(0x6d))/0x8)+-parseInt(_0x18fddb(0xc1))/0x9+parseInt(_0x18fddb(0xab))/0xa;if(_0x25aea4===_0x1b5959)break;else _0x207ae6['push'](_0x207ae6['shift']());}catch(_0x363313){_0x207ae6['push'](_0x207ae6['shift']());}}}(_0x36a2,0x2c6a5));function _0x36a2(){const _0x4c6720=['pINhR','guNIi','url','RANGER_CHROMIUM_INSTALL_TIMEOUT_MS','log','ywYWt','plugin','trackPhaseStart','ycWPU','ELJxH','62671Ijfoan','NsJVp','WdNjf','Failed\x20to\x20connect\x20to\x20MCP\x20server:\x20','KipVn','tcmcf','198244OIYfhC','IGgoD','\x0a\x20\x20https://docs.ranger.net/main/concepts/profiles','AjwWF','104AbJMJl',');\x20retrying...','round','⚠\x20No\x20git\x20repository\x20found.\x20Re-run\x20with\x20`--scope\x20user`\x20to\x20store\x20the\x20profile\x20at\x20~/.ranger/.','rSsrB','407746VKjySK','aJYir','existing_token','✓\x20~/.ranger/\x20directory\x20already\x20exists','✓\x20Created\x20~/.ranger/\x20directory','playwright/package.json','\x0aagent\x20like\x20usual.\x20Claude\x20will\x20create\x20a\x20feature\x20review\x20with','profile','device_auth','\x20install\x20chromium','provided_token','mePdu','wFQpi','\x20\x20Chromium\x20install\x20attempt\x20','\x20failed\x20(','\x0a❌\x20Failed\x20to\x20install\x20Chromium:','\x0a❌\x20Profile\x20setup\x20failed:','close','275ECgcCF','/ranger:enable','16183mDsJnE','\x20\x20npx\x20playwright@','\x20\x20\x20\x20RANGER_CHROMIUM_INSTALL_TIMEOUT_MS=1800000\x20ranger\x20setup\x20deps','inherit','RvzwJ','resolve','auth','Zufov','You\x20will\x20need\x20to\x20install\x20it\x20before\x20using\x20Ranger:','ubXhI','win32','PStiQ','\x0a⚠\x20Skipping\x20Chromium\x20installation.','user','confirm','YCIPy','cli.js','scope','Validating\x20API\x20token...','ready','JGDOr','\x20\x20Failed\x20to\x20install\x20OpenCode\x20skill:','success','\x20and\x20prompt\x20the\x20coding','opencode','tAfIo','AutYF','\x0aIn\x20Claude\x20Code,\x20run\x20','withDeps','chromium','gPyPI','12uvMrwc','\x1b[1m','GITHUB_ENV','error','method','Failed\x20to\x20validate\x20provisioned\x20API\x20key:\x20','2971850snUhHi','✓\x20Exported\x20credentials\x20for\x20CI','project-scope\x20setup\x20obsolete).\x20Drop\x20the\x20--scope\x20flag\x20or\x20pass\x20--scope=user.','NEsGz','status',')\x20of\x20the\x20Playwright\x20Chromium\x20browser\x20is\x20not\x20installed.\x20Install\x20it\x20now?','...','BjNBI','skipAuth','version','organizationName','mMMAv','force','skills','SIGKILL','abFlF','\x0a\x0aFor\x20CI\x20/\x20background\x20agents\x20and\x20other\x20setup\x20options,\x20see:','\x20is\x20no\x20longer\x20supported.\x20','UPYsd','3054IxHGov','Installation\x20failed\x20with\x20exit\x20code\x20','s).\x20On\x20a\x20slow\x20or\x20proxied\x20connection,\x20raise\x20the\x20limit\x20and\x20retry,\x20e.g.:\x0a','2241810jJCKpZ','lThaT','npx','trackPhaseEnd','Txeyx','\x0ascenarios\x20describing\x20what\x20to\x20verify\x20and\x20then\x20run\x20browser','with\x20scenarios\x20describing\x20what\x20to\x20verify\x20and\x20then\x20run\x20browser','\x0aNon-interactive\x20mode:\x20Auto-installing\x20Playwright\x20Chromium\x20','DMqXT','message','\x0aIn\x20OpenCode,\x20enable\x20Ranger\x20hooks\x20(run\x20the\x20`ranger_enable`\x20tool)','vFGSM','✓\x20Skipping\x20authentication\x20(--skip-auth)'];_0x36a2=function(){return _0x4c6720;};return _0x36a2();}import{mkdir,writeFile}from'fs/promises';import{join,dirname}from'path';import{existsSync}from'fs';import{createRequire}from'module';import _0x5568cd 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';function _0x46ea(_0x39f0bd,_0x25667b){_0x39f0bd=_0x39f0bd-0x68;const _0x36a2af=_0x36a2();let _0x46ea66=_0x36a2af[_0x39f0bd];return _0x46ea66;}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=_0x1a628e=>_0x5a86aa(0xa6)+_0x1a628e+'\x1b[0m';export function getPlaywrightVersion(){const _0x5f5636=_0x5a86aa,_0x49c6a6={'fVqtP':function(_0x342ae4,_0x1144b4){return _0x342ae4(_0x1144b4);}};try{const _0x453d08=require['resolve']('playwright/package.json'),_0x4b3258=_0x49c6a6['fVqtP'](require,_0x453d08);return _0x4b3258[_0x5f5636(0xb4)];}catch{return null;}}function resolveBundledPlaywrightCli(){const _0x2baf6d=_0x5a86aa,_0x34642a={'IGgoD':_0x2baf6d(0x77),'tAfIo':function(_0x26d436,_0x309e0f){return _0x26d436(_0x309e0f);}};try{const _0x26ff4f=join(dirname(require[_0x2baf6d(0x8b)](_0x34642a[_0x2baf6d(0x6a)])),_0x2baf6d(0x96));return _0x34642a[_0x2baf6d(0x9f)](existsSync,_0x26ff4f)?_0x26ff4f:null;}catch{return null;}}const CHROMIUM_INSTALL_TIMEOUT_MS=Number(process['env'][_0x5a86aa(0xd1)])||0x927c0;class ChromiumInstallTimeoutError extends Error{}export async function installChromiumBinary(_0x32c4dd,_0x4935a5=![]){const _0x138b53=_0x5a86aa,_0x23f238={'AhgaH':'install','bhFbv':'--with-deps','JGDOr':function(_0x54ae82,_0x598438){return _0x54ae82+_0x598438;},'skFVK':function(_0xe6f755,_0x4fd979){return _0xe6f755>=_0x4fd979;},'NEsGz':function(_0x3c3f43,_0x42a7ae){return _0x3c3f43 instanceof _0x42a7ae;}},_0x9040cc=resolveBundledPlaywrightCli(),_0x3ba5b1=_0x9040cc?process['execPath']:_0x138b53(0xc3),_0x262ec0=[_0x9040cc??'playwright@'+_0x32c4dd,_0x23f238['AhgaH'],..._0x4935a5?[_0x23f238['bhFbv']]:[],_0x138b53(0xa3)];let _0x8dcb98=![];for(let _0x5c268e=0x1;;_0x5c268e++){try{await runChromiumInstall(_0x3ba5b1,_0x262ec0);return;}catch(_0x2666f9){_0x2666f9 instanceof ChromiumInstallTimeoutError&&!_0x8dcb98&&(_0x8dcb98=!![],console['log'](_0x23f238[_0x138b53(0x9a)]('\x0a\x20\x20Chromium\x20install\x20timed\x20out\x20(limit\x20'+Math['round'](CHROMIUM_INSTALL_TIMEOUT_MS/0x3e8)+_0x138b53(0xc0),_0x138b53(0x88))));if(_0x23f238['skFVK'](_0x5c268e,0x3))throw _0x2666f9;const _0x27c428=_0x23f238[_0x138b53(0xae)](_0x2666f9,Error)?_0x2666f9['message']:String(_0x2666f9);console['log'](_0x138b53(0x7f)+_0x5c268e+_0x138b53(0x80)+_0x27c428+_0x138b53(0x6e));}}}function runChromiumInstall(_0x4ee3cb,_0x4cb74e){const _0x244299=_0x5a86aa,_0x254be0={'eVjDR':function(_0x8b85e0,_0x2c578b){return _0x8b85e0(_0x2c578b);},'abFlF':function(_0x531e84,_0x27ac30){return _0x531e84/_0x27ac30;},'wFQpi':function(_0x1ca077,_0x36897d){return _0x1ca077===_0x36897d;},'iOFRh':'ignore','UPYsd':_0x244299(0x90),'KipVn':_0x244299(0x83),'JBnsb':_0x244299(0xa8)};return new Promise((_0x5414a7,_0x173409)=>{const _0x147df1=_0x244299,_0x13a209={'YCIPy':function(_0x62ef90,_0x105cc8){return _0x62ef90(_0x105cc8);},'gvjpN':function(_0x3b297e,_0x102eb8){const _0x210321=_0x46ea;return _0x254be0[_0x210321(0xba)](_0x3b297e,_0x102eb8);},'mePdu':function(_0x1dfe7a,_0x4a9e8d){const _0x344fe4=_0x46ea;return _0x254be0[_0x344fe4(0x7e)](_0x1dfe7a,_0x4a9e8d);}},_0x3ca97f=spawn(_0x4ee3cb,_0x4cb74e,{'stdio':[_0x254be0['iOFRh'],_0x147df1(0x89),_0x147df1(0x89)],'shell':process['platform']===_0x254be0[_0x147df1(0xbd)]}),_0x4b51a5=setTimeout(()=>{const _0x4a50d7=_0x147df1;_0x3ca97f['kill'](_0x4a50d7(0xb9)),_0x13a209['YCIPy'](_0x173409,new ChromiumInstallTimeoutError('Chromium\x20install\x20timed\x20out\x20after\x20'+Math[_0x4a50d7(0x6f)](_0x13a209['gvjpN'](CHROMIUM_INSTALL_TIMEOUT_MS,0x3e8))+'s'));},CHROMIUM_INSTALL_TIMEOUT_MS);_0x3ca97f['on'](_0x254be0[_0x147df1(0xdc)],_0x29b11e=>{const _0x32558e=_0x147df1;_0x13a209[_0x32558e(0x95)](clearTimeout,_0x4b51a5);if(_0x13a209[_0x32558e(0x7d)](_0x29b11e,0x0))_0x5414a7();else _0x173409(new Error(_0x32558e(0xbf)+_0x29b11e));}),_0x3ca97f['on'](_0x254be0['JBnsb'],_0x7a62be=>{_0x254be0['eVjDR'](clearTimeout,_0x4b51a5),_0x173409(_0x7a62be);});});}export async function authenticate(_0x3ed4b2){const _0xf6179=_0x5a86aa,_0x3b338a={'PoalY':function(_0x467dc6,_0x58c75a){return _0x467dc6(_0x58c75a);},'NsJVp':function(_0x5c6586,_0x6e09d8){return _0x5c6586 instanceof _0x6e09d8;},'DMqXT':function(_0x2b3033,_0x2ce61e){return _0x2b3033(_0x2ce61e);},'mMMAv':_0xf6179(0x7a),'zlhVK':function(_0x3d78c3,_0x8ba830){return _0x3d78c3(_0x8ba830);},'XQvij':function(_0x4394de,_0x16d280){return _0x4394de(_0x16d280);},'dyypY':_0xf6179(0x7c)};if(!_0x3ed4b2){const _0x436156=await getToken();if(_0x436156){const _0x3948d9=await _0x3b338a['PoalY'](getCurrentUser,_0x436156);if(_0x3948d9[_0xf6179(0x9c)])return console['log']('✓\x20Already\x20authenticated\x20to\x20'+_0x3948d9['user']['organizationName']),{'token':_0x436156,'method':_0xf6179(0x74)};}try{_0x3ed4b2=await runDeviceAuthFlow();}catch(_0x366b36){throw new Error('Authentication\x20failed:\x20'+(_0x3b338a[_0xf6179(0xd9)](_0x366b36,Error)?_0x366b36[_0xf6179(0xca)]:_0x366b36));}const _0x14545d=await _0x3b338a[_0xf6179(0xc9)](getCurrentUser,_0x3ed4b2);if(!_0x14545d[_0xf6179(0x9c)])throw new Error(_0xf6179(0xaa)+_0x14545d[_0xf6179(0xa8)]);return console['log']('✓\x20Authenticated\x20to\x20'+_0x14545d[_0xf6179(0x93)]['organizationName']),{'token':_0x3ed4b2,'method':_0x3b338a[_0xf6179(0xb6)]};}console[_0xf6179(0xd2)](_0xf6179(0x98));const _0x4de8d3=await _0x3b338a['zlhVK'](getCurrentUser,_0x3ed4b2);if(!_0x4de8d3[_0xf6179(0x9c)]){if(_0x4de8d3[_0xf6179(0xaf)])throw new Error('Authentication\x20failed:\x20'+_0x4de8d3['error']+'.\x20Please\x20check\x20your\x20API\x20token\x20and\x20try\x20again.');else throw new Error(_0xf6179(0xdb)+_0x4de8d3[_0xf6179(0xa8)]+'.\x20Please\x20check\x20your\x20network\x20connection\x20and\x20server\x20URL.');}return console[_0xf6179(0xd2)]('✓\x20Authenticated\x20to\x20'+_0x4de8d3['user'][_0xf6179(0xb5)]),await _0x3b338a['XQvij'](storeToken,_0x3ed4b2),console[_0xf6179(0xd2)](process['env'][_0xf6179(0xa7)]?_0xf6179(0xac):'✓\x20Stored\x20credentials\x20locally'),{'token':_0x3ed4b2,'method':_0x3b338a['dyypY']};}export async function ensureRangerDir(_0x2e4cc0){const _0x1673ba=_0x5a86aa,_0x97b1e5={'pINhR':function(_0x134a78,_0xf46055,_0x32af68){return _0x134a78(_0xf46055,_0x32af68);}};void _0x2e4cc0;const _0x1db21b=getRangerHomeDir();return!existsSync(_0x1db21b)?(await _0x97b1e5[_0x1673ba(0xce)](mkdir,_0x1db21b,{'recursive':!![]}),console['log'](_0x1673ba(0x76)),{'path':_0x1db21b,'installed':!![]}):(console[_0x1673ba(0xd2)](_0x1673ba(0x75)),{'path':_0x1db21b,'installed':![]});}export async function ensureChromium(_0x53df77=![]){const _0x55af4b=_0x5a86aa,_0x117876={'LnBEV':function(_0x2152c2,_0x40b21a){return _0x2152c2(_0x40b21a);},'lThaT':function(_0x3a4769,_0x37882b){return _0x3a4769??_0x37882b;},'efDjW':'install','UWIGy':'\x0aInstalling\x20Chromium\x20browser...\x0a','JkSzP':function(_0x46cdbe,_0x224203,_0x5afcd3){return _0x46cdbe(_0x224203,_0x5afcd3);},'wFZar':_0x55af4b(0x81),'RvzwJ':_0x55af4b(0x8e)};let _0xacb1a2=![];try{const _0x282281=chromium['executablePath']();_0xacb1a2=_0x117876['LnBEV'](existsSync,_0x282281);}catch{_0xacb1a2=![];}if(_0xacb1a2)return console[_0x55af4b(0xd2)]('✓\x20Playwright\x20Chromium\x20browser\x20found'),![];const _0x1df805=getPlaywrightVersion(),_0x5ffd5c=_0x117876[_0x55af4b(0xc2)](_0x1df805,PLAYWRIGHT_CHROMIUM_INSTALL_FALLBACK_VERSION),_0x42510f=!_0x1df805,_0x2ea083=process['stdin']['isTTY']&&process['stdout']['isTTY'];let _0x376a53=!![];if(_0x2ea083){const {install:_0x13d75c}=await _0x5568cd['prompt']([{'type':_0x55af4b(0x94),'name':_0x117876['efDjW'],'message':_0x42510f?'Could\x20not\x20determine\x20local\x20Playwright\x20version.\x20Install\x20Playwright\x20Chromium\x20using\x20fallback\x20version\x20'+_0x5ffd5c+'\x20now?':'The\x20required\x20version\x20('+_0x5ffd5c+_0x55af4b(0xb0),'default':!![]}]);_0x376a53=_0x13d75c;}else console['log'](_0x55af4b(0xc8)+_0x5ffd5c+(_0x42510f?'\x20(fallback\x20version)':'')+_0x55af4b(0xb1));if(_0x376a53){console['log'](_0x117876['UWIGy']);try{await _0x117876['JkSzP'](installChromiumBinary,_0x5ffd5c,_0x53df77),console['log']('\x0a✓\x20Playwright\x20Chromium\x20installed\x20successfully');}catch(_0x261cc2){console['error'](_0x117876['wFZar'],_0x261cc2 instanceof Error?_0x261cc2[_0x55af4b(0xca)]:_0x261cc2),console[_0x55af4b(0xd2)]('You\x20can\x20install\x20it\x20manually\x20by\x20running:'),console['log'](_0x55af4b(0x87)+_0x5ffd5c+'\x20install\x20chromium');}}else console['log'](_0x55af4b(0x92)),console['log'](_0x117876[_0x55af4b(0x8a)]),console[_0x55af4b(0xd2)]('\x20\x20npx\x20playwright@'+_0x5ffd5c+_0x55af4b(0x7b));return!![];}export async function writeRangerGitignore(_0x317320){const _0x553174=_0x5a86aa,_0x143086={'gPyPI':function(_0x21d5c9,_0x119128,_0x2bcdf5){return _0x21d5c9(_0x119128,_0x2bcdf5);},'ycWPU':function(_0x240b74,_0x5195b4,_0x570d36){return _0x240b74(_0x5195b4,_0x570d36);},'FHOpz':'✓\x20Created\x20.ranger/.gitignore'},_0x34bdf8=_0x143086[_0x553174(0xa4)](join,_0x317320,'.gitignore'),_0x2e3db5='\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 _0x143086[_0x553174(0xd6)](writeFile,_0x34bdf8,_0x2e3db5),console['log'](_0x143086['FHOpz']);}export async function ensureLocalEnv(_0x56d91b,_0x5438bb){const _0x302d17=_0x5a86aa,_0xcaf910={'BjNBI':function(_0x461295){return _0x461295();},'qYmYN':function(_0x93d890,_0x2e97a3){return _0x93d890!==_0x2e97a3;},'vFGSM':function(_0x47d985,_0x17ea8d,_0x401941){return _0x47d985(_0x17ea8d,_0x401941);},'ywYWt':'local','ELJxH':_0x302d17(0x82)};if(!_0xcaf910[_0x302d17(0xb2)](findGitRoot)&&_0xcaf910['qYmYN'](_0x56d91b?.['scope'],_0x302d17(0x93)))return console[_0x302d17(0xd2)](_0x302d17(0x70)),{'ready':![],'skipped':!![]};const _0x3e3ce4=_0x56d91b?.[_0x302d17(0x97)]===_0x302d17(0x93)?_0xcaf910['BjNBI'](getRangerHomeDir):undefined;if(_0xcaf910[_0x302d17(0xcc)](findExistingEnv,_0xcaf910[_0x302d17(0xd3)],{'locations':['local'],'rangerDir':_0x3e3ce4}))return console[_0x302d17(0xd2)]('✓\x20Local\x20profile\x20already\x20exists'),{'ready':!![],'skipped':![]};try{return await addEnv(_0xcaf910['ywYWt'],{'url':_0x56d91b?.[_0x302d17(0xd0)],'force':_0x56d91b?.['force'],'allowInsecureLocalhost':_0x56d91b?.['allowInsecureLocalhost'],'scope':_0x56d91b?.[_0x302d17(0x97)]},_0x5438bb),{'ready':!![],'skipped':![]};}catch(_0x24aff2){return console['error'](_0xcaf910[_0x302d17(0xd7)],_0x24aff2 instanceof Error?_0x24aff2[_0x302d17(0xca)]:_0x24aff2),{'ready':![],'skipped':![]};}}export async function start(_0x118155,_0x405a76,_0x13dd2f){const _0x1d5e86=_0x5a86aa,_0x4b4c46={'WdNjf':'\x0a🚀\x20Ranger\x20Setup\x0a','SiniD':function(_0x3f199c,_0x24817a){return _0x3f199c!==_0x24817a;},'aJYir':'user','Hqxqp':function(_0x69a498,_0x25c312){return _0x69a498+_0x25c312;},'guNIi':function(_0x4e8ff5,_0x19d002){return _0x4e8ff5(_0x19d002);},'PStiQ':function(_0x48a2d5){return _0x48a2d5();},'tcmcf':function(_0x4a4e3f,_0x502860){return _0x4a4e3f(_0x502860);},'ubXhI':_0x1d5e86(0xcd),'AjwWF':_0x1d5e86(0x8c),'vNrvK':'skipped','lLUHG':_0x1d5e86(0xa3),'YtcJr':'✓\x20Skipping\x20Chromium\x20check\x20(--skip-chromium)','lXzsC':function(_0x5927da,_0x19fbfb){return _0x5927da(_0x19fbfb);},'Txeyx':'\x0a✅\x20Ranger\x20setup\x20complete!\x0a','cojTq':_0x1d5e86(0xd4),'PczXa':function(_0x227d60,_0x5f5b9e){return _0x227d60(_0x5f5b9e);},'Zufov':_0x1d5e86(0xb8),'DMEdu':_0x1d5e86(0x9b),'Dkcno':function(_0x521082,_0x479d25){return _0x521082 instanceof _0x479d25;},'FaQKj':function(_0xc7a759,_0x4f03fc,_0x18a12d){return _0xc7a759(_0x4f03fc,_0x18a12d);},'vdNrh':function(_0x2a39f2,_0xd31827){return _0x2a39f2+_0xd31827;},'rSsrB':function(_0x1a94db,_0x20708d){return _0x1a94db+_0x20708d;},'TUVPa':'and\x20prompt\x20the\x20agent\x20like\x20usual.\x20Ranger\x20will\x20create\x20a\x20feature\x20review','wmzIV':_0x1d5e86(0xc7),'AutYF':function(_0x1b0528,_0x1a791c){return _0x1b0528+_0x1a791c;}};console['log'](_0x4b4c46[_0x1d5e86(0xda)]);_0x4b4c46['SiniD'](_0x405a76?.['scope'],undefined)&&_0x4b4c46['SiniD'](_0x405a76[_0x1d5e86(0x97)],_0x4b4c46[_0x1d5e86(0x73)])&&(console[_0x1d5e86(0xa8)](_0x4b4c46['Hqxqp']('ranger\x20setup\x20--scope='+_0x4b4c46[_0x1d5e86(0xcf)](String,_0x405a76[_0x1d5e86(0x97)])+_0x1d5e86(0xbc),'Setup\x20always\x20installs\x20at\x20user\x20scope\x20now\x20(cloud\x20profiles\x20make\x20')+_0x1d5e86(0xad)),process['exit'](0x1));_0x405a76={..._0x405a76,'scope':_0x1d5e86(0x93)};const _0x1b0b82=!existsSync(_0x4b4c46[_0x1d5e86(0x91)](getRangerHomeDir));await _0x4b4c46[_0x1d5e86(0x68)](ensureRangerDir,_0x4b4c46['aJYir']);if(_0x405a76?.['skipAuth'])console[_0x1d5e86(0xd2)](_0x4b4c46[_0x1d5e86(0x8f)]),_0x13dd2f?.[_0x1d5e86(0xc4)](_0x4b4c46[_0x1d5e86(0x6c)],{'isFirstRun':_0x1b0b82,'method':_0x4b4c46['vNrvK']});else{_0x13dd2f?.[_0x1d5e86(0xd5)](_0x4b4c46[_0x1d5e86(0x6c)]);const _0xfcd3c1=await authenticate(_0x118155);_0x13dd2f?.[_0x1d5e86(0xc4)](_0x4b4c46['AjwWF'],{'isFirstRun':_0x1b0b82,'method':_0xfcd3c1[_0x1d5e86(0xa9)]});}_0x13dd2f?.[_0x1d5e86(0xd5)](_0x4b4c46['lLUHG']);_0x405a76?.['skipChromium']?console['log'](_0x4b4c46['YtcJr']):await _0x4b4c46['lXzsC'](ensureChromium,_0x405a76?.[_0x1d5e86(0xa2)]);_0x13dd2f?.[_0x1d5e86(0xc4)](_0x4b4c46['lLUHG'],{'isFirstRun':_0x1b0b82,'skipped':!!_0x405a76?.['skipChromium']}),console['log'](_0x4b4c46[_0x1d5e86(0xc5)]);const _0x2e1eef=_0x405a76?.[_0x1d5e86(0x97)],_0x3c584d=_0x405a76?.[_0x1d5e86(0x9e)]??![];let _0xbe87d8=null;_0x3c584d?(_0x13dd2f?.[_0x1d5e86(0xd5)](_0x4b4c46['cojTq']),_0xbe87d8=await ensureOpencodePluginConfig(_0x2e1eef),_0x13dd2f?.[_0x1d5e86(0xc4)](_0x1d5e86(0xd4),{'isFirstRun':_0x1b0b82,'opencode':!![]})):(_0x13dd2f?.[_0x1d5e86(0xd5)]('plugin'),await _0x4b4c46['PczXa'](ensureClaudePlugin,_0x2e1eef),_0x13dd2f?.[_0x1d5e86(0xc4)]('plugin',{'isFirstRun':_0x1b0b82}));if(_0x3c584d&&_0xbe87d8){_0x13dd2f?.['trackPhaseStart'](_0x4b4c46[_0x1d5e86(0x8d)]);try{await installSkill('ranger',{'level':_0xbe87d8['scope'],'cliVersion':getCurrentVersion(),'platform':'opencode'}),_0x13dd2f?.[_0x1d5e86(0xc4)](_0x1d5e86(0xb8),{'isFirstRun':_0x1b0b82,'opencode':!![]});}catch(_0x4bae74){console['warn'](_0x4b4c46['DMEdu'],_0x4b4c46['Dkcno'](_0x4bae74,Error)?_0x4bae74['message']:_0x4bae74),_0x13dd2f?.[_0x1d5e86(0xc4)](_0x4b4c46['Zufov'],{'isFirstRun':_0x1b0b82,'opencode':!![],'failed':!![]});}}else _0x13dd2f?.[_0x1d5e86(0xd5)](_0x1d5e86(0xb8)),await ensureClaudeSkills(_0x2e1eef),_0x13dd2f?.[_0x1d5e86(0xc4)]('skills',{'isFirstRun':_0x1b0b82});if(_0x405a76?.[_0x1d5e86(0xb3)])console[_0x1d5e86(0xd2)]('\x0aSkipping\x20profile\x20setup\x20(--skip-auth).\x20Run\x20`ranger\x20setup`\x20with\x20auth\x20to\x20add\x20a\x20profile\x20later.\x0a');else{if(_0x405a76?.[_0x1d5e86(0xd0)]){_0x13dd2f?.['trackPhaseStart'](_0x1d5e86(0x79));const _0x3ba9bf=await _0x4b4c46['FaQKj'](ensureLocalEnv,{'url':_0x405a76['url'],'force':_0x405a76?.[_0x1d5e86(0xb7)],'allowInsecureLocalhost':_0x405a76?.['allowInsecureLocalhost'],'scope':'user'},_0x13dd2f);_0x13dd2f?.['trackPhaseEnd'](_0x1d5e86(0x79),{'isFirstRun':_0x1b0b82,'profileReady':_0x3ba9bf[_0x1d5e86(0x99)],'userSkipped':_0x3ba9bf['skipped']});}else console['log'](_0x4b4c46['vdNrh'](_0x4b4c46[_0x1d5e86(0x71)]('\x0aTo\x20set\x20up\x20a\x20profile\x20for\x20your\x20app,\x20run:'+('\x0a\x20\x20'+bold('ranger\x20profile\x20add\x20<name>'))+'\x0a\x20\x20(opens\x20a\x20browser\x20so\x20you\x20can\x20log\x20in\x20once)',_0x1d5e86(0xbb)),_0x1d5e86(0x6b)));}if(_0x3c584d)console[_0x1d5e86(0xd2)](_0x1d5e86(0xcb)),console['log'](_0x4b4c46['TUVPa']),console[_0x1d5e86(0xd2)](_0x4b4c46['wmzIV']),console['log']('verification\x20to\x20check\x20its\x20work\x20as\x20it\x20builds.');else{const _0x4401f9=bold(_0x1d5e86(0x85));console[_0x1d5e86(0xd2)](_0x4b4c46[_0x1d5e86(0xa0)](_0x1d5e86(0xa1)+_0x4401f9+_0x1d5e86(0x9d)+_0x1d5e86(0x78)+_0x1d5e86(0xc6),'\x0averification\x20to\x20check\x20its\x20work\x20as\x20it\x20builds.'));}}
|
package/build/commands/status.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
const _0x5ae4af=_0x3715;function _0x3715(_0x17621d,_0x5104ff){_0x17621d=_0x17621d-0x139;const _0xe7b90f=_0xe7b9();let _0x3715ad=_0xe7b90f[_0x17621d];return _0x3715ad;}(function(_0x4fbb38,_0x13f9de){const _0x170398=_0x3715,_0x1b9bca=_0x4fbb38();while(!![]){try{const _0x4b311a=parseInt(_0x170398(0x19d))/0x1+-parseInt(_0x170398(0x173))/0x2+parseInt(_0x170398(0x17b))/0x3*(parseInt(_0x170398(0x16e))/0x4)+-parseInt(_0x170398(0x185))/0x5*(-parseInt(_0x170398(0x149))/0x6)+-parseInt(_0x170398(0x179))/0x7*(-parseInt(_0x170398(0x1a6))/0x8)+parseInt(_0x170398(0x187))/0x9+parseInt(_0x170398(0x17f))/0xa*(-parseInt(_0x170398(0x18d))/0xb);if(_0x4b311a===_0x13f9de)break;else _0x1b9bca['push'](_0x1b9bca['shift']());}catch(_0xaf535c){_0x1b9bca['push'](_0x1b9bca['shift']());}}}(_0xe7b9,0x92bb2));import{readFile,readdir}from'fs/promises';function _0xe7b9(){const _0x3203fd=['not_installed','qHqxO','settingsPath','ranger@trailhead','1837BOsPlU','string','SKILL.md','join','xGRFY','\x20(up\x20to\x20date)','RPoFX','\x20cloud','USNwR','\x1b[1m','McBuc','unknown','\x0a---\x20Profiles\x20---','config','ignore','Organization:\x20','726543JIWNeF','toString','match','XDdME','PLGuN','ZwlRG','MhJLx','qERhm','WCMTW','1880SwkNWA','opencode','agrEj','debug','Bgdzn','no\x20session','has','sIvsZ','\x20(latest:\x20','UzKKy','log','\x20\x20Project-level:','\x1b[0m','\x0a---\x20Skills\x20---','auth.json','No\x20profiles\x20configured','FRfjN','\x20\x20OpenCode\x20not\x20installed\x20or\x20not\x20available','encrypted','6KpSgxe','SZHQQ',':\x20installed\x20(','CMxnF','\x1b]8;;\x07','project','iPzkW','\x1b]8;;file://','stdout','plaintext','disabled','hasEncryptedAuth','\x20\x20\x20\x20Settings:\x20','JlgZc','@ranger-testing/opencode-plugin','\x20\x20Run:\x20ranger\x20profile\x20ls\x20\x20(list\x20all)','scope','JKGaP','trim','Root:\x20','length','close','hTtCJ','API\x20Token:\x20✗\x20Not\x20found','Version:\x20','name','gSgEo','AYErv','plugin','eOhZb','push','version','\x20\x20\x20\x20','pkNhj','\x20(active)','dRDuN','enabled','2722696RLaipG','not_configured','\x20\x20\x20\x20Session:\x20','\x20plugin(s)\x20configured','includes','1729908cEzcyY','\x20\x20User-level:','details','QsYPY','qAcdc','\x20\x20Run:\x20ranger\x20profile\x20add\x20<profile-name>','21910MyrwDy','oCHDd','3NxsnUB','parse','status','map','65630qUOXQr','JWeqA','DASxl','\x20\x20Run:\x20ranger\x20skillup','dVpTC','XtDFc','1163265ZISUyT','user','1679085QgFpDW','filter'];_0xe7b9=function(){return _0x3203fd;};return _0xe7b9();}import{join,basename}from'path';import{existsSync}from'fs';import{getToken}from'./utils/keychain.js';import{getCurrentVersion,getLatestVersion}from'./utils/version.js';import{getApiBaseUrl,getCurrentEnvironment}from'./utils/environment.js';import{getProjectSkillsDir,getUserSkillsDir}from'./utils/claudeConfig.js';import{getEnvNames}from'./env.js';import{getCurrentUser}from'./utils/userApi.js';import{getRangerDir}from'./utils/rangerRoot.js';import{getEnvDir}from'./utils/settings.js';import{listCloudProfiles}from'./utils/cloudProfile.js';import{getPluginInfo}from'./utils/claudePlugin.js';import{RANGER_MANAGED_SKILLS}from'./utils/skills.js';import{spawn}from'child_process';const bold=_0x269043=>_0x5ae4af(0x196)+_0x269043+_0x5ae4af(0x142),link=(_0x2ba779,_0x13110a)=>_0x5ae4af(0x150)+_0x2ba779+'\x07'+(_0x13110a||_0x2ba779)+_0x5ae4af(0x14d);async function getOpencodePluginStatus(){const _0x26f7ac=_0x5ae4af,_0x5f3064={'qHqxO':function(_0x9998b5,_0x25658a){return _0x9998b5(_0x25658a);},'xfbFG':_0x26f7ac(0x189),'XDdME':'configured','oCHDd':function(_0x11da8d,_0x3d61b8){return _0x11da8d>_0x3d61b8;},'aakee':function(_0x314cbd,_0x34b9cd){return _0x314cbd>_0x34b9cd;},'QjKFq':_0x26f7ac(0x1a7),'USNwR':_0x26f7ac(0x139),'Gittp':'pipe','oXiGc':'data','EWoqA':'error','JWeqA':_0x26f7ac(0x15e)};return new Promise(_0x44b4ef=>{const _0x56fede=_0x26f7ac,_0x2c663b={'iPzkW':function(_0x5baef8,_0x55198c){return _0x5baef8(_0x55198c);},'JKmZC':'not_installed','espFs':function(_0x48347e,_0x989ac){return _0x48347e!==_0x989ac;}},_0x5ed282=spawn(_0x5f3064['QjKFq'],[_0x5f3064[_0x56fede(0x195)],_0x56fede(0x19a)],{'stdio':[_0x56fede(0x19b),_0x5f3064['Gittp'],_0x5f3064['Gittp']]});let _0x516b44='';_0x5ed282[_0x56fede(0x151)]?.['on'](_0x5f3064['oXiGc'],_0x3f8750=>{const _0x253cf2=_0x56fede;_0x516b44+=_0x3f8750[_0x253cf2(0x19e)]();}),_0x5ed282['stderr']?.['on'](_0x5f3064['oXiGc'],_0x4eb494=>{const _0x5aff97=_0x56fede;_0x516b44+=_0x4eb494[_0x5aff97(0x19e)]();}),_0x5ed282['on'](_0x5f3064['EWoqA'],()=>{const _0x451ae5=_0x56fede;_0x2c663b[_0x451ae5(0x14f)](_0x44b4ef,{'status':_0x2c663b['JKmZC']});}),_0x5ed282['on'](_0x5f3064[_0x56fede(0x180)],_0x3c4b42=>{const _0x37f104=_0x56fede;if(_0x3c4b42!==0x0){_0x5f3064[_0x37f104(0x18a)](_0x44b4ef,{'status':_0x5f3064['xfbFG']});return;}const _0x5c5705=_0x516b44[_0x37f104(0x15b)]();let _0x47ed82=null;if(_0x5c5705)try{_0x47ed82=JSON[_0x37f104(0x17c)](_0x5c5705);}catch{const _0x603a6a=_0x5c5705['match'](/\{[\s\S]*\}$/);if(_0x603a6a)try{_0x47ed82=JSON[_0x37f104(0x17c)](_0x603a6a[0x0]);}catch{_0x47ed82=null;}}const _0x4bb79b=Array['isArray'](_0x47ed82?.[_0x37f104(0x165)])?_0x47ed82?.[_0x37f104(0x165)]:[],_0x4ea171=_0x4bb79b['some'](_0x3dcc57=>{const _0x5a0195=_0x37f104;if(_0x2c663b['espFs'](typeof _0x3dcc57,_0x5a0195(0x18e)))return![];return _0x3dcc57['includes'](_0x5a0195(0x157))||_0x3dcc57['includes']('opencode-plugin');});if(_0x4ea171){_0x44b4ef({'status':_0x5f3064[_0x37f104(0x1a0)],'details':_0x5f3064[_0x37f104(0x17a)](_0x4bb79b[_0x37f104(0x15d)],0x0)?_0x4bb79b[_0x37f104(0x15d)]+_0x37f104(0x171):undefined});return;}if(_0x5f3064['aakee'](_0x4bb79b['length'],0x0)){_0x44b4ef({'status':_0x37f104(0x16f),'details':_0x4bb79b['length']+'\x20plugin(s)\x20configured'});return;}_0x44b4ef({'status':'not_configured'});});});}async function getSkillsFromDir(_0x472b55,_0x699081){const _0x8d06d3=_0x5ae4af,_0x2cfd67={'IZZbT':function(_0x2a5c8b,_0x264360,_0x3307b2){return _0x2a5c8b(_0x264360,_0x3307b2);},'WtZgf':function(_0x43af14,_0x481d90,_0x1ecdf6,_0x59b763){return _0x43af14(_0x481d90,_0x1ecdf6,_0x59b763);},'uzIyv':_0x8d06d3(0x18f),'IQrIk':function(_0x5f0076,_0x5295ad){return _0x5f0076(_0x5295ad);},'rStoW':function(_0x593e5b,_0x235c95,_0x159ab3){return _0x593e5b(_0x235c95,_0x159ab3);},'xiciC':'utf-8'};if(!existsSync(_0x472b55))return[];const _0x413ea6=[];try{const _0x6a3950=await _0x2cfd67['IZZbT'](readdir,_0x472b55,{'withFileTypes':!![]});for(const _0x39eef4 of _0x6a3950){if(_0x39eef4['isDirectory']()){const _0x21c038=_0x2cfd67['WtZgf'](join,_0x472b55,_0x39eef4[_0x8d06d3(0x162)],_0x2cfd67['uzIyv']);if(_0x2cfd67['IQrIk'](existsSync,_0x21c038)){let _0x3ef8bc=_0x39eef4['name'];try{const _0x55e178=await _0x2cfd67['rStoW'](readFile,_0x21c038,_0x2cfd67['xiciC']),_0x378381=_0x55e178[_0x8d06d3(0x19f)](/name:\s*(.+)/);_0x378381&&(_0x3ef8bc=_0x378381[0x1]['trim']());}catch{}_0x413ea6['push']({'name':_0x39eef4['name'],'displayName':_0x3ef8bc,'path':_0x21c038,'level':_0x699081});}}}}catch{return[];}return _0x413ea6;}async function getInstalledSkills(){const _0xc8f204=_0x5ae4af,_0x10056e={'ijpfX':function(_0x332388){return _0x332388();},'qERhm':_0xc8f204(0x14e),'eSEjV':function(_0x118b45,_0xdfc3,_0x43fe32){return _0x118b45(_0xdfc3,_0x43fe32);},'ZwlRG':function(_0x27aec0){return _0x27aec0();}},[_0x256155,_0x20b20a]=await Promise['all']([getSkillsFromDir(_0x10056e['ijpfX'](getProjectSkillsDir),_0x10056e[_0xc8f204(0x1a4)]),_0x10056e['eSEjV'](getSkillsFromDir,_0x10056e[_0xc8f204(0x1a2)](getUserSkillsDir),'user')]);return{'project':_0x256155,'user':_0x20b20a};}async function getEnvironments(){const _0x3ebe31=_0x5ae4af,_0x51fa2e={'gZFqC':function(_0x530a34,_0xec2b0e){return _0x530a34(_0xec2b0e);},'hTtCJ':function(_0x4d19b4,_0x3711c7,_0x4d5a18){return _0x4d19b4(_0x3711c7,_0x4d5a18);},'CMxnF':'settings.json','mSWbn':_0x3ebe31(0x144),'dRDuN':function(_0x4ac92c,_0x1647b1){return _0x4ac92c(_0x1647b1);},'Bgdzn':function(_0x1784d2,_0xf47f2c){return _0x1784d2(_0xf47f2c);},'PHwCH':function(_0x1c8ac7,_0x8c22f9){return _0x1c8ac7===_0x8c22f9;},'RPoFX':function(_0x57e1db){return _0x57e1db();}},{envNames:_0x44ca0c,activeEnv:_0x5cdcbc}=await _0x51fa2e[_0x3ebe31(0x193)](getEnvNames),_0x4caf8c=_0x51fa2e[_0x3ebe31(0x193)](getRangerDir);if(!existsSync(_0x4caf8c))return{'envs':[],'activeEnv':null};const _0x51fcc7=_0x44ca0c['map'](_0x5d600e=>{const _0x5b183a=_0x3ebe31,_0x49a8a5=_0x51fa2e['gZFqC'](getEnvDir,_0x5d600e),_0xa6983a=_0x51fa2e[_0x5b183a(0x15f)](join,_0x49a8a5,_0x51fa2e[_0x5b183a(0x14c)]),_0x9d0550=_0x51fa2e[_0x5b183a(0x15f)](join,_0x49a8a5,_0x51fa2e['mSWbn']),_0x645a9a=join(_0x49a8a5,'auth.json.enc');return{'name':_0x5d600e,'settingsPath':_0x51fa2e[_0x5b183a(0x16c)](existsSync,_0xa6983a)?_0xa6983a:'(not\x20found)','hasPlaintextAuth':_0x51fa2e[_0x5b183a(0x13a)](existsSync,_0x9d0550),'hasEncryptedAuth':_0x51fa2e['gZFqC'](existsSync,_0x645a9a),'isActive':_0x51fa2e['PHwCH'](_0x5d600e,_0x5cdcbc)};});return{'envs':_0x51fcc7,'activeEnv':_0x5cdcbc};}export async function status(){const _0x2f9662=_0x5ae4af,_0x25cb0d={'DASxl':'\x0a📊\x20Ranger\x20Status\x0a','McBuc':function(_0x338f44){return _0x338f44();},'BHosr':function(_0x2d2b3f,_0xea0e64){return _0x2d2b3f(_0xea0e64);},'FRfjN':function(_0x2f3cd5,_0x3ac9d1){return _0x2f3cd5(_0x3ac9d1);},'dVpTC':function(_0x3475a3,_0x5d1232,_0x463cd4){return _0x3475a3(_0x5d1232,_0x463cd4);},'jwSsG':function(_0x50fe1e,_0x83d45d){return _0x50fe1e(_0x83d45d);},'Tvzez':function(_0x1c4257){return _0x1c4257();},'OVPjo':function(_0x24065c,_0x376f06){return _0x24065c(_0x376f06);},'eOhZb':function(_0x347b7a){return _0x347b7a();},'xGRFY':function(_0x2ac4f8){return _0x2ac4f8();},'qAcdc':'\x0a---\x20OpenCode\x20Plugin\x20---','gSgEo':function(_0x219d8f){return _0x219d8f();},'SZHQQ':function(_0x220904,_0x518926){return _0x220904===_0x518926;},'AYErv':'configured','XtDFc':'@ranger-testing/opencode-plugin','NaMiC':'not_configured','MhJLx':'\x20\x20Not\x20configured','jEvOq':'\x20\x20Run:\x20ranger\x20setup\x20--opencode','agrEj':_0x2f9662(0x147),'YZXhl':function(_0xf5c908,_0x488042){return _0xf5c908(_0x488042);},'HUicT':_0x2f9662(0x198),'sIvsZ':_0x2f9662(0x18c),'QsYPY':'\x20\x20Run:\x20ranger\x20setup\x20[token]\x20\x20(includes\x20plugin\x20installation)','WCMTW':function(_0x3b2f9d){return _0x3b2f9d();},'hmPJl':function(_0x555a51,_0x26751d){return _0x555a51>_0x26751d;},'UzKKy':_0x2f9662(0x141),'JKGaP':function(_0x56d445,_0xcfca8,_0x3b85b8){return _0x56d445(_0xcfca8,_0x3b85b8);},'WmlgR':function(_0x283d7a,_0x5bec26){return _0x283d7a(_0x5bec26);},'PLGuN':function(_0x260a60,_0x1cee7a){return _0x260a60(_0x1cee7a);},'xNIzP':_0x2f9662(0x199),'JlgZc':function(_0x37b7b8){return _0x37b7b8();},'IqmEx':_0x2f9662(0x145),'RIKYI':function(_0x544b43,_0x3c6918){return _0x544b43>_0x3c6918;},'gpqjM':function(_0x70a69f,_0x43fbfe){return _0x70a69f===_0x43fbfe;},'SJdzn':_0x2f9662(0x16b),'JwSPE':_0x2f9662(0x13b),'WqeCa':_0x2f9662(0x148),'QFVCf':_0x2f9662(0x152),'pkNhj':function(_0x786cbe,_0x43a60a){return _0x786cbe!==_0x43a60a;},'BwtUH':'(not\x20found)','aajtE':function(_0x4a2089,_0x45dc98,_0x5488f8){return _0x4a2089(_0x45dc98,_0x5488f8);}};console['log'](_0x25cb0d[_0x2f9662(0x181)]);const _0x16b23d=process['cwd'](),_0x2b00b7=_0x25cb0d['McBuc'](getRangerDir);if(!_0x25cb0d['BHosr'](existsSync,_0x2b00b7)){console[_0x2f9662(0x140)](_0x2f9662(0x15c)+link(_0x16b23d,bold(_0x25cb0d['FRfjN'](basename,_0x16b23d)))),console[_0x2f9662(0x140)]('\x0aRanger\x20has\x20not\x20been\x20initialized\x20in\x20this\x20directory.'),console[_0x2f9662(0x140)]('\x20\x20Run:\x20ranger\x20setup\x20[token]\x0a');return;}console['log']('Root:\x20'+_0x25cb0d[_0x2f9662(0x183)](link,_0x16b23d,_0x25cb0d['jwSsG'](bold,basename(_0x16b23d))));const _0x54d6c9=_0x25cb0d[_0x2f9662(0x197)](getCurrentVersion),_0x21c334=getLatestVersion();if(_0x21c334[_0x2f9662(0x168)]&&_0x21c334['version']!==_0x54d6c9)console['log'](_0x2f9662(0x161)+_0x54d6c9+_0x2f9662(0x13e)+_0x21c334[_0x2f9662(0x168)]+')'),console['log']('\x20\x20Run:\x20ranger\x20update');else _0x21c334[_0x2f9662(0x168)]?console['log'](_0x2f9662(0x161)+_0x54d6c9+_0x2f9662(0x192)):console[_0x2f9662(0x140)](_0x2f9662(0x161)+_0x54d6c9);const _0x53c345=await _0x25cb0d['Tvzez'](getToken);if(_0x53c345){const _0x168479=await _0x25cb0d['BHosr'](getCurrentUser,_0x53c345);_0x168479['success']?console[_0x2f9662(0x140)](_0x2f9662(0x19c)+_0x25cb0d['OVPjo'](bold,_0x168479[_0x2f9662(0x186)]['organizationName'])):(console[_0x2f9662(0x140)]('API\x20Token:\x20✓\x20Found\x20but\x20invalid\x20or\x20expired'),console[_0x2f9662(0x140)]('\x20\x20Run:\x20ranger\x20setup\x20[token]'));}else console[_0x2f9662(0x140)](_0x2f9662(0x160)),console['log']('\x20\x20Run:\x20ranger\x20setup\x20[token]');process['env']['DEBUG']&&(console[_0x2f9662(0x140)]('API\x20Environment:\x20'+_0x25cb0d[_0x2f9662(0x166)](getCurrentEnvironment)),console[_0x2f9662(0x140)]('API\x20URL:\x20'+_0x25cb0d[_0x2f9662(0x191)](getApiBaseUrl)));console['log'](_0x25cb0d[_0x2f9662(0x177)]);const _0xb22be9=await _0x25cb0d[_0x2f9662(0x163)](getOpencodePluginStatus);if(_0x25cb0d['SZHQQ'](_0xb22be9[_0x2f9662(0x17d)],_0x25cb0d[_0x2f9662(0x164)]))console[_0x2f9662(0x140)]('\x20\x20'+bold(_0x25cb0d[_0x2f9662(0x184)])+':\x20configured'),_0xb22be9[_0x2f9662(0x175)]&&console['log']('\x20\x20'+_0xb22be9['details']);else _0xb22be9[_0x2f9662(0x17d)]===_0x25cb0d['NaMiC']?(console[_0x2f9662(0x140)](_0x25cb0d[_0x2f9662(0x1a3)]),_0xb22be9['details']&&console[_0x2f9662(0x140)]('\x20\x20'+_0xb22be9[_0x2f9662(0x175)]),console['log'](_0x25cb0d['jEvOq'])):console['log'](_0x25cb0d[_0x2f9662(0x1a8)]);console['log']('\x0a---\x20Claude\x20Code\x20Plugin\x20---');const _0x3a759e=await _0x25cb0d['YZXhl'](getPluginInfo,_0x2f9662(0x18c));if(_0x3a759e){const _0x1996b0=_0x3a759e[_0x2f9662(0x159)]||_0x25cb0d['HUicT'],_0x539575=_0x3a759e[_0x2f9662(0x16d)]?_0x2f9662(0x16d):_0x2f9662(0x153);console['log']('\x20\x20'+bold(_0x25cb0d[_0x2f9662(0x13d)])+_0x2f9662(0x14b)+_0x1996b0+',\x20'+_0x539575+')');}else console['log']('\x20\x20Not\x20installed'),console['log'](_0x25cb0d[_0x2f9662(0x176)]);console[_0x2f9662(0x140)](_0x2f9662(0x143));const {project:_0x5f5dae,user:_0x14eabc}=await _0x25cb0d[_0x2f9662(0x1a5)](getInstalledSkills),_0x482681=_0x5f5dae[_0x2f9662(0x188)](_0x4cb83d=>RANGER_MANAGED_SKILLS[_0x2f9662(0x172)](_0x4cb83d[_0x2f9662(0x162)])),_0xb6403b=_0x14eabc[_0x2f9662(0x188)](_0x484e29=>RANGER_MANAGED_SKILLS[_0x2f9662(0x172)](_0x484e29['name'])),_0x4f3122=_0x482681[_0x2f9662(0x15d)]+_0xb6403b['length'];if(_0x25cb0d[_0x2f9662(0x14a)](_0x4f3122,0x0))console['log']('No\x20skills\x20installed'),console[_0x2f9662(0x140)](_0x2f9662(0x182));else{if(_0x25cb0d['hmPJl'](_0x482681[_0x2f9662(0x15d)],0x0)){console['log'](_0x25cb0d[_0x2f9662(0x13f)]);for(const _0x401a54 of _0x482681){console['log'](_0x2f9662(0x169)+bold(_0x401a54['displayName'])+':\x20'+_0x25cb0d[_0x2f9662(0x15a)](link,_0x401a54['path'],basename(_0x401a54['path'])));}}if(_0xb6403b['length']>0x0){console['log'](_0x2f9662(0x174));for(const _0x3a9207 of _0xb6403b){console['log']('\x20\x20\x20\x20'+_0x25cb0d['WmlgR'](bold,_0x3a9207['displayName'])+':\x20'+link(_0x3a9207['path'],_0x25cb0d[_0x2f9662(0x1a1)](basename,_0x3a9207['path'])));}}}console[_0x2f9662(0x140)](_0x25cb0d['xNIzP']);const {envs:_0x581570,activeEnv:_0x5e792c}=await _0x25cb0d[_0x2f9662(0x156)](getEnvironments);let _0x42691a=[];if(_0x53c345)try{_0x42691a=await listCloudProfiles();}catch{}const _0x3accc0=_0x581570[_0x2f9662(0x15d)]+_0x42691a[_0x2f9662(0x15d)];if(_0x3accc0===0x0)console['log'](_0x25cb0d['IqmEx']),console[_0x2f9662(0x140)](_0x2f9662(0x178));else{if(_0x3accc0>0x5){const _0x1ba832=[];_0x42691a['length']>0x0&&_0x1ba832[_0x2f9662(0x167)](_0x42691a[_0x2f9662(0x15d)]+_0x2f9662(0x194)),_0x25cb0d['RIKYI'](_0x581570['length'],0x0)&&_0x1ba832[_0x2f9662(0x167)](_0x581570[_0x2f9662(0x15d)]+'\x20local'),console[_0x2f9662(0x140)](_0x3accc0+'\x20profiles\x20configured\x20('+_0x1ba832[_0x2f9662(0x190)](',\x20')+')'),_0x5e792c&&console['log']('\x20\x20Active:\x20'+_0x25cb0d[_0x2f9662(0x146)](bold,_0x5e792c)),console['log'](_0x2f9662(0x158));}else{for(const _0x524267 of _0x42691a){const _0x3f6eaa=_0x25cb0d['gpqjM'](_0x524267[_0x2f9662(0x162)],_0x5e792c)?_0x25cb0d['SJdzn']:'';console['log']('\x20\x20'+bold(_0x524267[_0x2f9662(0x162)])+'\x20[cloud]'+_0x3f6eaa);const _0x1ab428=_0x524267['sessionUpdatedAt']?'cached\x20(updated\x20'+_0x524267['sessionUpdatedAt']+')':_0x25cb0d['JwSPE'];console['log'](_0x2f9662(0x170)+_0x1ab428);}const _0xa6ae14=new Set(_0x42691a[_0x2f9662(0x17e)](_0x13abc6=>_0x13abc6['name']));for(const _0x63250e of _0x581570){if(_0xa6ae14['has'](_0x63250e['name']))continue;const _0x479539=_0x63250e['isActive']?_0x2f9662(0x16b):'',_0x276c7e=_0x63250e[_0x2f9662(0x154)]?_0x25cb0d['WqeCa']:_0x63250e['hasPlaintextAuth']?_0x25cb0d['QFVCf']:'none';console[_0x2f9662(0x140)]('\x20\x20'+bold(_0x63250e['name'])+'\x20[local]'+_0x479539),console[_0x2f9662(0x140)]('\x20\x20\x20\x20Auth:\x20'+_0x276c7e),_0x25cb0d[_0x2f9662(0x16a)](_0x63250e['settingsPath'],_0x25cb0d['BwtUH'])&&console['log'](_0x2f9662(0x155)+_0x25cb0d['aajtE'](link,_0x63250e[_0x2f9662(0x18b)],basename(_0x63250e['settingsPath'])));}if(!_0x5e792c){console['log']('\x0a\x20\x20No\x20active\x20profile\x20set');const _0x1ee038=[..._0x42691a['map'](_0x4aa9a3=>_0x4aa9a3['name']),..._0x581570[_0x2f9662(0x188)](_0xb3cd92=>!_0xa6ae14[_0x2f9662(0x13c)](_0xb3cd92['name']))['map'](_0x1a0804=>_0x1a0804['name'])];console[_0x2f9662(0x140)]('\x20\x20Run:\x20ranger\x20profile\x20use\x20<profile-name>\x20\x20(available:\x20'+_0x1ee038['join'](',\x20')+')');}}}console['log']('');}
|
|
1
|
+
const _0x28e1ee=_0x4349;(function(_0x36ca01,_0x1ef966){const _0x2b9f7d=_0x4349,_0x2f5ca4=_0x36ca01();while(!![]){try{const _0x422fe3=-parseInt(_0x2b9f7d(0x1c3))/0x1+parseInt(_0x2b9f7d(0x198))/0x2*(-parseInt(_0x2b9f7d(0x179))/0x3)+-parseInt(_0x2b9f7d(0x1ac))/0x4*(parseInt(_0x2b9f7d(0x175))/0x5)+-parseInt(_0x2b9f7d(0x169))/0x6+parseInt(_0x2b9f7d(0x1b5))/0x7*(parseInt(_0x2b9f7d(0x164))/0x8)+-parseInt(_0x2b9f7d(0x184))/0x9+parseInt(_0x2b9f7d(0x1c4))/0xa;if(_0x422fe3===_0x1ef966)break;else _0x2f5ca4['push'](_0x2f5ca4['shift']());}catch(_0xafb4a4){_0x2f5ca4['push'](_0x2f5ca4['shift']());}}}(_0x4cd2,0x7be24));function _0x4cd2(){const _0x467152=['\x20\x20Active:\x20','AJqfI','hasPlaintextAuth','6159897ONUmAc','filter','upfoO','BHeZS','aqmPG','ABPwZ','ZeMYv','WbQKM','\x20\x20\x20\x20','vBHJp','AphDQ','project','details','WwrZL','auth.json.enc','hasEncryptedAuth','xfNrK','cwd','includes','JlqYh','8dAVoEv','not_configured','auth.json','fGzfw','QrKFl','\x1b[0m','iLIBQ','\x1b[1m','cached\x20(updated\x20','\x20(latest:\x20','tpzDq','xzjUU','configured','log','encrypted','aFgnl','pAnFz','TyKMq','waBYR','plaintext','74908Xobfka','(not\x20found)','obreO',':\x20installed\x20(','scope','Version:\x20','push','version','isActive','720902MkVAWQ','EmvOr','\x20(active)','map','\x20\x20Run:\x20ranger\x20skillup','\x1b]8;;file://','QSZKg','\x20\x20Run:\x20ranger\x20setup\x20[token]\x0a','plugin','ayeBT','\x0a\x20\x20No\x20active\x20profile\x20set','\x20[cloud]','EkZdE','data','669097EKupqG','24149820iaIxQV','none','\x20plugin(s)\x20configured','oHtMk','env','isDirectory','smrDB','name','ranger@trailhead','ZIpbL','config','opencode','match','40gOpZlM','\x20\x20\x20\x20Auth:\x20','API\x20Environment:\x20','success','\x0a---\x20OpenCode\x20Plugin\x20---','1081602fgVQkY','Root:\x20','stdout',':\x20configured','cKyJe','unknown','\x20\x20User-level:','settingsPath','sessionUpdatedAt','API\x20URL:\x20','zzTxA','OMZqR','185RqVZoH','enabled','YmoLa','\x20\x20Run:\x20ranger\x20setup\x20[token]','146841pWfutF','\x0a---\x20Profiles\x20---','join','@ranger-testing/opencode-plugin','\x20\x20\x20\x20Session:\x20','path','length','\x20\x20Project-level:'];_0x4cd2=function(){return _0x467152;};return _0x4cd2();}function _0x4349(_0x44ee4a,_0xfa3778){_0x44ee4a=_0x44ee4a-0x164;const _0x4cd2f4=_0x4cd2();let _0x4349e6=_0x4cd2f4[_0x44ee4a];return _0x4349e6;}import{readFile,readdir}from'fs/promises';import{join,basename}from'path';import{existsSync}from'fs';import{getToken}from'./utils/keychain.js';import{getCurrentVersion,getLatestVersion}from'./utils/version.js';import{getApiBaseUrl,getCurrentEnvironment}from'./utils/environment.js';import{getProjectSkillsDir,getUserSkillsDir}from'./utils/claudeConfig.js';import{getEnvNames}from'./env.js';import{getCurrentUser}from'./utils/userApi.js';import{getRangerDir}from'./utils/rangerRoot.js';import{getEnvDir}from'./utils/settings.js';import{listCloudProfiles}from'./utils/cloudProfile.js';import{getPluginInfo}from'./utils/claudePlugin.js';import{RANGER_MANAGED_SKILLS}from'./utils/skills.js';import{spawn}from'child_process';const bold=_0x6b525e=>_0x28e1ee(0x19f)+_0x6b525e+_0x28e1ee(0x19d),link=(_0x28c28c,_0x5bc1d2)=>_0x28e1ee(0x1ba)+_0x28c28c+'\x07'+(_0x5bc1d2||_0x28c28c)+'\x1b]8;;\x07';async function getOpencodePluginStatus(){const _0x183884=_0x28e1ee,_0x59866a={'ojSlC':function(_0x2f0985,_0x3327d5){return _0x2f0985(_0x3327d5);},'NmQKC':function(_0x393f1a,_0x322266){return _0x393f1a>_0x322266;},'PyRbw':_0x183884(0x1cf),'zwFqU':_0x183884(0x1ce),'smrDB':'ignore','AAvTd':'pipe'};return new Promise(_0xdf0d8=>{const _0x4f919c=_0x183884,_0x530e73={'eGCdQ':function(_0x454ddd,_0x24f347){return _0x454ddd!==_0x24f347;},'xfNrK':function(_0x231c74,_0x1c5ca3){return _0x59866a['ojSlC'](_0x231c74,_0x1c5ca3);},'EkZdE':_0x4f919c(0x1a4),'WZvCe':function(_0x46095e,_0x12e52b){return _0x59866a['NmQKC'](_0x46095e,_0x12e52b);},'ZIpbL':_0x4f919c(0x199)},_0x40df69=spawn(_0x59866a['PyRbw'],['debug',_0x59866a['zwFqU']],{'stdio':[_0x59866a[_0x4f919c(0x1ca)],'pipe',_0x59866a['AAvTd']]});let _0x2bbf14='';_0x40df69[_0x4f919c(0x16b)]?.['on'](_0x4f919c(0x1c2),_0x566035=>{_0x2bbf14+=_0x566035['toString']();}),_0x40df69['stderr']?.['on']('data',_0x148cb3=>{_0x2bbf14+=_0x148cb3['toString']();}),_0x40df69['on']('error',()=>{_0xdf0d8({'status':'not_installed'});}),_0x40df69['on']('close',_0x264d44=>{const _0x2bb97f=_0x4f919c,_0x2ee90b={'vvuzv':function(_0x4e78cc,_0x2bb24c){return _0x530e73['eGCdQ'](_0x4e78cc,_0x2bb24c);},'BHeZS':'@ranger-testing/opencode-plugin'};if(_0x264d44!==0x0){_0xdf0d8({'status':'not_installed'});return;}const _0x9acf10=_0x2bbf14['trim']();let _0x34e452=null;if(_0x9acf10)try{_0x34e452=JSON['parse'](_0x9acf10);}catch{const _0x9d872f=_0x9acf10[_0x2bb97f(0x1d0)](/\{[\s\S]*\}$/);if(_0x9d872f)try{_0x34e452=JSON['parse'](_0x9d872f[0x0]);}catch{_0x34e452=null;}}const _0xe78474=Array['isArray'](_0x34e452?.['plugin'])?_0x34e452?.[_0x2bb97f(0x1bd)]:[],_0xa6cfdb=_0xe78474['some'](_0x192eba=>{const _0x46e78a=_0x2bb97f;if(_0x2ee90b['vvuzv'](typeof _0x192eba,'string'))return![];return _0x192eba[_0x46e78a(0x196)](_0x2ee90b[_0x46e78a(0x187)])||_0x192eba[_0x46e78a(0x196)]('opencode-plugin');});if(_0xa6cfdb){_0x530e73[_0x2bb97f(0x194)](_0xdf0d8,{'status':_0x530e73[_0x2bb97f(0x1c1)],'details':_0xe78474[_0x2bb97f(0x17f)]>0x0?_0xe78474['length']+'\x20plugin(s)\x20configured':undefined});return;}if(_0x530e73['WZvCe'](_0xe78474['length'],0x0)){_0xdf0d8({'status':_0x530e73['ZIpbL'],'details':_0xe78474['length']+_0x2bb97f(0x1c6)});return;}_0xdf0d8({'status':_0x530e73[_0x2bb97f(0x1cd)]});});});}async function getSkillsFromDir(_0x446d48,_0x545bfd){const _0x4c8abc=_0x28e1ee,_0x49ed84={'EatNA':function(_0x1ee918,_0x241378,_0x4635c3){return _0x1ee918(_0x241378,_0x4635c3);},'aqmPG':function(_0x533e52,_0x5210fd,_0x26e0a8,_0x2b4f26){return _0x533e52(_0x5210fd,_0x26e0a8,_0x2b4f26);},'oHtMk':'SKILL.md'};if(!existsSync(_0x446d48))return[];const _0x2e8c8e=[];try{const _0x4c013b=await _0x49ed84['EatNA'](readdir,_0x446d48,{'withFileTypes':!![]});for(const _0x38e759 of _0x4c013b){if(_0x38e759[_0x4c8abc(0x1c9)]()){const _0x3b5731=_0x49ed84[_0x4c8abc(0x188)](join,_0x446d48,_0x38e759['name'],_0x49ed84[_0x4c8abc(0x1c7)]);if(existsSync(_0x3b5731)){let _0x501b71=_0x38e759['name'];try{const _0x3bc0a7=await readFile(_0x3b5731,'utf-8'),_0x12e52c=_0x3bc0a7['match'](/name:\s*(.+)/);_0x12e52c&&(_0x501b71=_0x12e52c[0x1]['trim']());}catch{}_0x2e8c8e[_0x4c8abc(0x1b2)]({'name':_0x38e759[_0x4c8abc(0x1cb)],'displayName':_0x501b71,'path':_0x3b5731,'level':_0x545bfd});}}}}catch{return[];}return _0x2e8c8e;}async function getInstalledSkills(){const _0x44f21c=_0x28e1ee,_0xade099={'AqiJH':_0x44f21c(0x18f),'BJHrc':function(_0x170f57,_0x424af8,_0x16cf1e){return _0x170f57(_0x424af8,_0x16cf1e);}},[_0x2e199e,_0xd5e794]=await Promise['all']([getSkillsFromDir(getProjectSkillsDir(),_0xade099['AqiJH']),_0xade099['BJHrc'](getSkillsFromDir,getUserSkillsDir(),'user')]);return{'project':_0x2e199e,'user':_0xd5e794};}async function getEnvironments(){const _0x1219d0=_0x28e1ee,_0x418a08={'usSMU':function(_0x3ef61e,_0x18402d){return _0x3ef61e(_0x18402d);},'AJqfI':function(_0x4488c8,_0x863ff1,_0x1893b7){return _0x4488c8(_0x863ff1,_0x1893b7);},'ZeMYv':'settings.json','WbQKM':'(not\x20found)','xzjUU':function(_0x510419,_0x4e50df){return _0x510419(_0x4e50df);},'QSZKg':function(_0x3de7e6,_0x608629){return _0x3de7e6(_0x608629);},'ICCje':function(_0x2c73a4){return _0x2c73a4();},'WwrZL':function(_0xb23e2e,_0xbfe2a8){return _0xb23e2e(_0xbfe2a8);}},{envNames:_0x1f3cac,activeEnv:_0xb0d2b2}=await getEnvNames(),_0x368c84=_0x418a08['ICCje'](getRangerDir);if(!_0x418a08[_0x1219d0(0x191)](existsSync,_0x368c84))return{'envs':[],'activeEnv':null};const _0xf69674=_0x1f3cac['map'](_0x4b7417=>{const _0x22203a=_0x1219d0,_0x1a749b=_0x418a08['usSMU'](getEnvDir,_0x4b7417),_0x5f3167=_0x418a08[_0x22203a(0x182)](join,_0x1a749b,_0x418a08[_0x22203a(0x18a)]),_0x59f089=_0x418a08[_0x22203a(0x182)](join,_0x1a749b,_0x22203a(0x19a)),_0x27a0a1=join(_0x1a749b,_0x22203a(0x192));return{'name':_0x4b7417,'settingsPath':existsSync(_0x5f3167)?_0x5f3167:_0x418a08[_0x22203a(0x18b)],'hasPlaintextAuth':_0x418a08[_0x22203a(0x1a3)](existsSync,_0x59f089),'hasEncryptedAuth':_0x418a08[_0x22203a(0x1bb)](existsSync,_0x27a0a1),'isActive':_0x4b7417===_0xb0d2b2};});return{'envs':_0xf69674,'activeEnv':_0xb0d2b2};}export async function status(){const _0x195924=_0x28e1ee,_0x35c35e={'QrKFl':function(_0x5a9a9f,_0x2b3e3b){return _0x5a9a9f(_0x2b3e3b);},'TyKMq':function(_0x298921,_0x45de1b){return _0x298921(_0x45de1b);},'vBHJp':function(_0x573ee6,_0x3b8a8b){return _0x573ee6(_0x3b8a8b);},'iLIBQ':function(_0x9da420){return _0x9da420();},'NoBaK':function(_0x3a8580,_0x2c508b){return _0x3a8580!==_0x2c508b;},'wxKoN':function(_0x9f8a0f){return _0x9f8a0f();},'waBYR':function(_0x359196){return _0x359196();},'obreO':_0x195924(0x168),'LePVg':_0x195924(0x17c),'aFgnl':'not_configured','ayeBT':'\x20\x20Not\x20configured','fGzfw':'\x20\x20Run:\x20ranger\x20setup\x20--opencode','upfoO':'\x20\x20OpenCode\x20not\x20installed\x20or\x20not\x20available','zzTxA':_0x195924(0x1cc),'TsGLh':_0x195924(0x176),'NiVng':'\x20\x20Not\x20installed','ytmvO':'\x0a---\x20Skills\x20---','eUrrZ':'No\x20skills\x20installed','YmoLa':function(_0x27575c,_0x2c832d){return _0x27575c>_0x2c832d;},'fttzu':_0x195924(0x180),'LLRUv':function(_0x20ea21,_0x4a36c1){return _0x20ea21(_0x4a36c1);},'jUJOa':_0x195924(0x16f),'LObWg':_0x195924(0x17a),'GgrFR':function(_0x37a8c0){return _0x37a8c0();},'JlqYh':function(_0x12c0d1){return _0x12c0d1();},'ABPwZ':function(_0x3a1227,_0x75efb){return _0x3a1227+_0x75efb;},'FFaER':function(_0x118564,_0x56c100){return _0x118564===_0x56c100;},'pAnFz':function(_0x2fc839,_0x1faebd){return _0x2fc839>_0x1faebd;},'cKyJe':function(_0x38fb67,_0x5c674c){return _0x38fb67(_0x5c674c);},'vWHuI':function(_0x3b812a,_0x2d2ae1){return _0x3b812a(_0x2d2ae1);},'htSuR':_0x195924(0x1b7),'AphDQ':_0x195924(0x1a6),'OMZqR':_0x195924(0x1ab),'tpzDq':_0x195924(0x1c5),'EmvOr':function(_0x459565,_0x429cb0,_0x49833e){return _0x459565(_0x429cb0,_0x49833e);}};console['log']('\x0a📊\x20Ranger\x20Status\x0a');const _0x1da105=process[_0x195924(0x195)](),_0x1d27b4=getRangerDir();if(!_0x35c35e['QrKFl'](existsSync,_0x1d27b4)){console[_0x195924(0x1a5)](_0x195924(0x16a)+link(_0x1da105,_0x35c35e['TyKMq'](bold,_0x35c35e[_0x195924(0x1a9)](basename,_0x1da105)))),console['log']('\x0aRanger\x20has\x20not\x20been\x20initialized\x20in\x20this\x20directory.'),console['log'](_0x195924(0x1bc));return;}console['log'](_0x195924(0x16a)+link(_0x1da105,_0x35c35e[_0x195924(0x18d)](bold,_0x35c35e[_0x195924(0x1a9)](basename,_0x1da105))));const _0x51557a=_0x35c35e[_0x195924(0x19e)](getCurrentVersion),_0x4a3ff5=_0x35c35e[_0x195924(0x19e)](getLatestVersion);if(_0x4a3ff5[_0x195924(0x1b3)]&&_0x35c35e['NoBaK'](_0x4a3ff5['version'],_0x51557a))console[_0x195924(0x1a5)]('Version:\x20'+_0x51557a+_0x195924(0x1a1)+_0x4a3ff5['version']+')'),console['log']('\x20\x20Run:\x20ranger\x20update');else _0x4a3ff5['version']?console['log'](_0x195924(0x1b1)+_0x51557a+'\x20(up\x20to\x20date)'):console[_0x195924(0x1a5)](_0x195924(0x1b1)+_0x51557a);const _0x5191cc=await _0x35c35e[_0x195924(0x19e)](getToken);if(_0x5191cc){const _0x289832=await getCurrentUser(_0x5191cc);_0x289832[_0x195924(0x167)]?console['log']('Organization:\x20'+_0x35c35e['vBHJp'](bold,_0x289832['user']['organizationName'])):(console[_0x195924(0x1a5)]('API\x20Token:\x20✓\x20Found\x20but\x20invalid\x20or\x20expired'),console[_0x195924(0x1a5)](_0x195924(0x178)));}else console['log']('API\x20Token:\x20✗\x20Not\x20found'),console[_0x195924(0x1a5)](_0x195924(0x178));process[_0x195924(0x1c8)]['DEBUG']&&(console['log'](_0x195924(0x166)+_0x35c35e['wxKoN'](getCurrentEnvironment)),console['log'](_0x195924(0x172)+_0x35c35e[_0x195924(0x1aa)](getApiBaseUrl)));console['log'](_0x35c35e[_0x195924(0x1ae)]);const _0x3efd59=await _0x35c35e[_0x195924(0x19e)](getOpencodePluginStatus);if(_0x3efd59['status']===_0x195924(0x1a4))console['log']('\x20\x20'+bold(_0x35c35e['LePVg'])+_0x195924(0x16c)),_0x3efd59[_0x195924(0x190)]&&console['log']('\x20\x20'+_0x3efd59['details']);else _0x3efd59['status']===_0x35c35e[_0x195924(0x1a7)]?(console['log'](_0x35c35e[_0x195924(0x1be)]),_0x3efd59[_0x195924(0x190)]&&console[_0x195924(0x1a5)]('\x20\x20'+_0x3efd59['details']),console['log'](_0x35c35e[_0x195924(0x19b)])):console['log'](_0x35c35e[_0x195924(0x186)]);console['log']('\x0a---\x20Claude\x20Code\x20Plugin\x20---');const _0x2c3373=await _0x35c35e[_0x195924(0x19c)](getPluginInfo,_0x35c35e[_0x195924(0x173)]);if(_0x2c3373){const _0x4d7bfa=_0x2c3373[_0x195924(0x1b0)]||_0x195924(0x16e),_0x5c3ad2=_0x2c3373['enabled']?_0x35c35e['TsGLh']:'disabled';console[_0x195924(0x1a5)]('\x20\x20'+_0x35c35e['TyKMq'](bold,_0x195924(0x1cc))+_0x195924(0x1af)+_0x4d7bfa+',\x20'+_0x5c3ad2+')');}else console['log'](_0x35c35e['NiVng']),console['log']('\x20\x20Run:\x20ranger\x20setup\x20[token]\x20\x20(includes\x20plugin\x20installation)');console['log'](_0x35c35e['ytmvO']);const {project:_0x6c8a8d,user:_0x2e70d1}=await getInstalledSkills(),_0x3232f3=_0x6c8a8d[_0x195924(0x185)](_0x400af7=>RANGER_MANAGED_SKILLS['includes'](_0x400af7['name'])),_0x21f87d=_0x2e70d1[_0x195924(0x185)](_0x5ea5bc=>RANGER_MANAGED_SKILLS['includes'](_0x5ea5bc[_0x195924(0x1cb)])),_0x2d76a0=_0x3232f3[_0x195924(0x17f)]+_0x21f87d[_0x195924(0x17f)];if(_0x2d76a0===0x0)console['log'](_0x35c35e['eUrrZ']),console['log'](_0x195924(0x1b9));else{if(_0x35c35e[_0x195924(0x177)](_0x3232f3[_0x195924(0x17f)],0x0)){console[_0x195924(0x1a5)](_0x35c35e['fttzu']);for(const _0x35423f of _0x3232f3){console['log'](_0x195924(0x18c)+bold(_0x35423f['displayName'])+':\x20'+link(_0x35423f[_0x195924(0x17e)],_0x35c35e['LLRUv'](basename,_0x35423f['path'])));}}if(_0x21f87d[_0x195924(0x17f)]>0x0){console['log'](_0x35c35e['jUJOa']);for(const _0x1e3383 of _0x21f87d){console['log']('\x20\x20\x20\x20'+bold(_0x1e3383['displayName'])+':\x20'+link(_0x1e3383['path'],_0x35c35e['TyKMq'](basename,_0x1e3383['path'])));}}}console['log'](_0x35c35e['LObWg']);const {envs:_0x1fa89d,activeEnv:_0x40c0a3}=await _0x35c35e['GgrFR'](getEnvironments);let _0x242c2f=[];if(_0x5191cc)try{_0x242c2f=await _0x35c35e[_0x195924(0x197)](listCloudProfiles);}catch{}const _0x54e0a3=_0x35c35e[_0x195924(0x189)](_0x1fa89d['length'],_0x242c2f['length']);if(_0x35c35e['FFaER'](_0x54e0a3,0x0))console[_0x195924(0x1a5)]('No\x20profiles\x20configured'),console['log']('\x20\x20Run:\x20ranger\x20profile\x20add\x20<profile-name>');else{if(_0x54e0a3>0x5){const _0x314a9e=[];_0x35c35e['pAnFz'](_0x242c2f['length'],0x0)&&_0x314a9e['push'](_0x242c2f['length']+'\x20cloud'),_0x35c35e[_0x195924(0x1a8)](_0x1fa89d[_0x195924(0x17f)],0x0)&&_0x314a9e[_0x195924(0x1b2)](_0x1fa89d['length']+'\x20local'),console[_0x195924(0x1a5)](_0x54e0a3+'\x20profiles\x20configured\x20('+_0x314a9e[_0x195924(0x17b)](',\x20')+')'),_0x40c0a3&&console['log'](_0x195924(0x181)+_0x35c35e[_0x195924(0x16d)](bold,_0x40c0a3)),console[_0x195924(0x1a5)]('\x20\x20Run:\x20ranger\x20profile\x20ls\x20\x20(list\x20all)');}else{for(const _0x480183 of _0x242c2f){const _0x578197=_0x480183[_0x195924(0x1cb)]===_0x40c0a3?'\x20(active)':'';console[_0x195924(0x1a5)]('\x20\x20'+_0x35c35e['vWHuI'](bold,_0x480183[_0x195924(0x1cb)])+_0x195924(0x1c0)+_0x578197);const _0x5d024c=_0x480183[_0x195924(0x171)]?_0x195924(0x1a0)+_0x480183[_0x195924(0x171)]+')':'no\x20session';console[_0x195924(0x1a5)](_0x195924(0x17d)+_0x5d024c);}const _0x67d77=new Set(_0x242c2f['map'](_0x43ab52=>_0x43ab52['name']));for(const _0x38354f of _0x1fa89d){if(_0x67d77['has'](_0x38354f[_0x195924(0x1cb)]))continue;const _0x28dedd=_0x38354f[_0x195924(0x1b4)]?_0x35c35e['htSuR']:'',_0x5f34a0=_0x38354f[_0x195924(0x193)]?_0x35c35e[_0x195924(0x18e)]:_0x38354f[_0x195924(0x183)]?_0x35c35e[_0x195924(0x174)]:_0x35c35e[_0x195924(0x1a2)];console[_0x195924(0x1a5)]('\x20\x20'+_0x35c35e[_0x195924(0x18d)](bold,_0x38354f[_0x195924(0x1cb)])+'\x20[local]'+_0x28dedd),console[_0x195924(0x1a5)](_0x195924(0x165)+_0x5f34a0),_0x38354f[_0x195924(0x170)]!==_0x195924(0x1ad)&&console['log']('\x20\x20\x20\x20Settings:\x20'+_0x35c35e[_0x195924(0x1b6)](link,_0x38354f[_0x195924(0x170)],_0x35c35e[_0x195924(0x16d)](basename,_0x38354f[_0x195924(0x170)])));}if(!_0x40c0a3){console['log'](_0x195924(0x1bf));const _0x3a01fa=[..._0x242c2f[_0x195924(0x1b8)](_0x4031fe=>_0x4031fe['name']),..._0x1fa89d[_0x195924(0x185)](_0x24df84=>!_0x67d77['has'](_0x24df84['name']))['map'](_0x3f13f=>_0x3f13f[_0x195924(0x1cb)])];console[_0x195924(0x1a5)]('\x20\x20Run:\x20ranger\x20profile\x20use\x20<profile-name>\x20\x20(available:\x20'+_0x3a01fa[_0x195924(0x17b)](',\x20')+')');}}}console['log']('');}
|