@ranger-testing/ranger-cli 3.0.1-alpha.aab0a1c-26 → 3.0.1-alpha.ffffb5b-28
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/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/resolveProfileContext.js +1 -1
- package/build/commands/utils/resolveProfileUrl.js +1 -1
- package/build/commands/utils/retry.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/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/package.json +2 -2
package/build/commands/login.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
(function(_0x5a7edc,_0x16dcdb){const _0x442d50=_0xb4e6,_0x52d138=_0x5a7edc();while(!![]){try{const _0x54c05b=-parseInt(_0x442d50(0x1a9))/0x1*(parseInt(_0x442d50(0x1ab))/0x2)+parseInt(_0x442d50(0x1ac))/0x3+-parseInt(_0x442d50(0x1a6))/0x4*(parseInt(_0x442d50(0x1a7))/0x5)+parseInt(_0x442d50(0x1a8))/0x6+-parseInt(_0x442d50(0x1ae))/0x7+-parseInt(_0x442d50(0x1a5))/0x8+parseInt(_0x442d50(0x1a1))/0x9;if(_0x54c05b===_0x16dcdb)break;else _0x52d138['push'](_0x52d138['shift']());}catch(_0x5207ff){_0x52d138['push'](_0x52d138['shift']());}}}(_0x5d05,0x1c6f3));function _0x5d05(){const _0x2f7df7=['log','1567048hImKiR','580OkjMJK','1870rqEHJR','1037028sCtgcw','20chYqeE','Xmzpv','1146fkAPsp','6471IDzayr','\x0a✅\x20API\x20key\x20stored\x20successfully','595812hpZWOL','organizationName','MgASk','2593431ArYTUY','ysEJD','message'];_0x5d05=function(){return _0x2f7df7;};return _0x5d05();}import{runDeviceAuthFlow}from'./utils/deviceAuth.js';import{getCurrentUser}from'./utils/userApi.js';import{getMcpAuthOrigin,mcpBootstrap}from'./mcpBootstrap.js';import{isInteractive}from'./utils/cloudProfileSession.js';function _0xb4e6(_0x507982,_0x15547d){_0x507982=_0x507982-0x1a0;const _0x5d05c5=_0x5d05();let _0xb4e6c6=_0x5d05c5[_0x507982];return _0xb4e6c6;}export async function login(){const _0x82fc2f=_0xb4e6,_0x32000b={'Xmzpv':function(_0x4ed462){return _0x4ed462();},'ysEJD':function(_0x46bef2,_0x36735d){return _0x46bef2(_0x36735d);},'MgASk':function(_0x1fbfe7,_0xf69e60){return _0x1fbfe7 instanceof _0xf69e60;}},_0x576889=await _0x32000b[_0x82fc2f(0x1aa)](getMcpAuthOrigin);if(_0x576889){console['log']('Re-authenticating\x20via\x20MCP\x20bootstrap...'),await mcpBootstrap();return;}if(!_0x32000b[_0x82fc2f(0x1aa)](isInteractive))throw new Error('Login\x20requires\x20an\x20interactive\x20terminal.\x20In\x20CI,\x20use:\x20ranger\x20setup\x20[token]\x20or\x20set\x20RANGER_CLI_TOKEN.');try{const _0x194ad4=await runDeviceAuthFlow(),_0x3e1690=await _0x32000b[_0x82fc2f(0x1a2)](getCurrentUser,_0x194ad4);_0x3e1690['success']?console['log']('\x0a✅\x20Logged\x20in\x20to\x20'+_0x3e1690['user'][_0x82fc2f(0x1af)]):console[_0x82fc2f(0x1a4)](_0x82fc2f(0x1ad));}catch(_0x5df24f){throw new Error('Login\x20failed:\x20'+(_0x32000b[_0x82fc2f(0x1a0)](_0x5df24f,Error)?_0x5df24f[_0x82fc2f(0x1a3)]:_0x5df24f));}}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const _0x419226=_0x5ecb;(function(_0x539b40,_0x40f1f0){const _0x5bd845=_0x5ecb,_0xda3602=_0x539b40();while(!![]){try{const _0x47f1d2=parseInt(_0x5bd845(0x148))/0x1+parseInt(_0x5bd845(0x10f))/0x2*(-parseInt(_0x5bd845(0x146))/0x3)+-parseInt(_0x5bd845(0x11a))/0x4*(-parseInt(_0x5bd845(0xbb))/0x5)+parseInt(_0x5bd845(0x10a))/0x6+-parseInt(_0x5bd845(0x133))/0x7+parseInt(_0x5bd845(0x150))/0x8*(parseInt(_0x5bd845(0x111))/0x9)+-parseInt(_0x5bd845(0x10e))/0xa*(-parseInt(_0x5bd845(0xe4))/0xb);if(_0x47f1d2===_0x40f1f0)break;else _0xda3602['push'](_0xda3602['shift']());}catch(_0x179560){_0xda3602['push'](_0xda3602['shift']());}}}(_0x1596,0xb2940));import{mkdir,writeFile,readFile}from'fs/promises';import{join}from'path';import{homedir}from'os';import{createServer}from'http';import{randomBytes,createHash}from'crypto';import{exec}from'child_process';import{getMcpAuthUrl}from'./utils/environment.js';const CALLBACK_PORT=0x4d78,TOKEN_CACHE_PATH=join(homedir(),'.ranger',_0x419226(0x12d)),AUTH_ORIGIN_PATH=join(homedir(),_0x419226(0xd3),_0x419226(0x102));export async function getMcpAuthOrigin(){const _0xfc1d31=_0x419226;try{const _0x316c5e=(await readFile(AUTH_ORIGIN_PATH,'utf-8'))[_0xfc1d31(0x127)]();return _0x316c5e||null;}catch{return null;}}export async function mcpBootstrap(){const _0x2ecbc4=_0x419226,_0x407733={'kxCvF':function(_0x48dc62,_0x8eae1d){return _0x48dc62(_0x8eae1d);},'pgVry':_0x2ecbc4(0xc7),'sBIus':function(_0x20a8a4,_0x12d6ef){return _0x20a8a4(_0x12d6ef);}},_0x514931=getMcpAuthUrl();currentOrigin=_0x514931;const _0x22cc9b=process['stdout'][_0x2ecbc4(0xd4)]??![];console['log']('\x0aConnecting\x20to\x20MCP\x20auth\x20server:\x20'+_0x514931+'\x0a');const _0x4b4ba8=await _0x407733['kxCvF'](tryUnauthenticated,_0x514931);let _0x3b5ab8=null;if(_0x4b4ba8===_0x2ecbc4(0x131))_0x3b5ab8='';else{_0x3b5ab8=await loadCachedToken();if(!_0x3b5ab8){if(!_0x22cc9b)throw new Error(_0x407733[_0x2ecbc4(0xd8)]+'Run\x20`ranger\x20setup\x20--mcp-bootstrap`\x20interactively\x20first.');_0x3b5ab8=await _0x407733['sBIus'](oauthFlow,_0x514931);}}await callGetCliToken(_0x514931,_0x3b5ab8);}async function tryUnauthenticated(_0x3aa773){const _0x35b0b3=_0x419226,_0x4decd6={'DWifG':_0x35b0b3(0x106),'yhajD':'application/json','xDElL':_0x35b0b3(0xea),'qBDwj':_0x35b0b3(0xdb),'WOOvI':_0x35b0b3(0x114),'aBmbF':'ranger-cli','cWsWN':_0x35b0b3(0xfd),'JRHIz':_0x35b0b3(0x131)},_0x78b92e=await fetch(_0x3aa773,{'method':_0x4decd6[_0x35b0b3(0x147)],'headers':{'Content-Type':_0x4decd6['yhajD'],'Accept':_0x4decd6[_0x35b0b3(0xe0)]},'body':JSON[_0x35b0b3(0x101)]({'jsonrpc':_0x4decd6['qBDwj'],'id':0x1,'method':_0x4decd6[_0x35b0b3(0xc4)],'params':{'protocolVersion':'2025-03-26','capabilities':{},'clientInfo':{'name':_0x4decd6['aBmbF'],'version':_0x4decd6['cWsWN']}}})});if(_0x78b92e['ok'])return await _0x78b92e[_0x35b0b3(0xeb)](),_0x4decd6['JRHIz'];if(_0x78b92e['status']===0x191)return await _0x78b92e[_0x35b0b3(0xeb)](),'needs-oauth';const _0x5b3cef=await _0x78b92e[_0x35b0b3(0xeb)]();throw new Error(_0x35b0b3(0x112)+_0x78b92e[_0x35b0b3(0x140)]+':\x20'+_0x5b3cef);}function _0x1596(){const _0x256285=['utf-8','split','eCYtL','token','.ranger','isTTY','<html><body><h2>Authentication\x20failed</h2><p>','none','nnFcz','pgVry','now','HTTP\x20','2.0','replace','client_secret','client_id','sqUJO','xDElL','HMNOM','Ranger\x20CLI','write','33mWFwfi','platform','expiresAt','searchParams','If\x20the\x20browser\x20doesn\x27t\x20open,\x20visit:\x0a','FwlZs','application/json,\x20text/event-stream','text','type','rKJod','MCP\x20initialize\x20failed:\x20','SWnjR','application/x-www-form-urlencoded','WPTQE','bDhMH','open','sBEnw','\x0aUnexpected\x20response\x20structure:','content','content-type','then','oYoHR','<html><body><h2>Authenticated!</h2><p>You\x20can\x20close\x20this\x20window\x20and\x20return\x20to\x20the\x20terminal.</p></body></html>','opnzg','match','1.0.0','string','access_token','code','stringify','auth-origin.txt','OaGlp','tools/call','Discovering\x20authorization\x20server...','POST','xVirB','\x0aOpening\x20browser\x20for\x20authentication...','VkXzp','2726790ntRnmk','Initializing\x20MCP\x20session...','MptHM','kSaLs','1956330hNyzzc','2vRfjkd','bGgVQ','522BOwHrA','MCP\x20server\x20returned\x20HTTP\x20','qIVYK','initialize','accessToken','OAuth\x20error:\x20','slice','clientId','<html><body><h2>Invalid\x20callback</h2><p>Missing\x20code\x20or\x20state\x20mismatch.</p></body></html>','884616LypmUt','text/html','parse','url','CNSgQ','VJkLk','/callback','KBFLI','refresh_token','start','igxsf','writeHead','Requesting\x20CLI\x20token...','trim','omGyz','XHjfD','Tqcwi','RugcX','\x20done','mcp-oauth-tokens.json','origin','expires_in','resource','proxied','toString','9695476YwNsMc','data:','sha256','JqLQm','http://localhost:','application/json','S256','set','get_cli_token\x20failed:\x20','AFARq','NrZcL','stdout','error','status','</p><p>You\x20can\x20close\x20this\x20window.</p></body></html>','Authorization','PzooR','result','nbnYC','3398757SHExuZ','DWifG','626825uwplFN','127.0.0.1','Could\x20not\x20extract\x20token\x20from\x20MCP\x20response','code_challenge','Token\x20exchange\x20failed:\x20','clientSecret','qeXgN','digest','157096YRdvJV','WzPUy','OhDzR','sOqsm','10wcFndr','log','qLuMP','dfhYS','error_description','kTuoS','bUXgw','sfrqr','get','WOOvI','end','authorization_servers','MCP\x20server\x20requires\x20authentication\x20but\x20running\x20in\x20non-interactive\x20mode.\x0a','state','code_challenge_method','mVGst','length','text/event-stream','\x0aToken\x20written\x20to\x20','Authorization\x20server\x20does\x20not\x20support\x20dynamic\x20client\x20registration\x20and\x20no\x20cached\x20client\x20found'];_0x1596=function(){return _0x256285;};return _0x1596();}class OAuthTimeoutError extends Error{constructor(_0x43fcb3){const _0x1b6a1d=_0x419226,_0x36b176={'MptHM':'OAuthTimeoutError'};super(_0x43fcb3),this['name']=_0x36b176[_0x1b6a1d(0x10c)];}}async function oauthFlow(_0xa17684){const _0x2e4fd8={'meCNz':function(_0xdc3606){return _0xdc3606();},'rbYbD':function(_0x1c0b67){return _0x1c0b67();}};try{return await oauthFlowAttempt(_0xa17684);}catch(_0x2385a0){if(_0x2385a0 instanceof OAuthTimeoutError&&await _0x2e4fd8['meCNz'](loadCachedClient))return console['log']('\x0aCached\x20OAuth\x20client\x20may\x20be\x20stale\x20—\x20clearing\x20and\x20retrying...\x0a'),await _0x2e4fd8['rbYbD'](clearCachedClient),await oauthFlowAttempt(_0xa17684);throw _0x2385a0;}}async function oauthFlowAttempt(_0x2cbbc){const _0x13d536=_0x419226,_0x428edd={'VkXzp':function(_0x18a0a5,_0xcf4e5e){return _0x18a0a5(_0xcf4e5e);},'RugcX':'Could\x20not\x20fetch\x20protected\x20resource\x20metadata\x20from\x20MCP\x20server','igxsf':'POST','bGgVQ':_0x13d536(0x138),'MnbHZ':_0x13d536(0xe2),'faXzD':_0x13d536(0xd6),'WPTQE':_0x13d536(0xce),'AFARq':'base64url','oPNdp':'client_id','oYoHR':'redirect_uri','kTuoS':_0x13d536(0xc9),'gTBhS':_0x13d536(0x130),'rvgOz':function(_0x145916,_0x466bc0){return _0x145916(_0x466bc0);},'Tqcwi':'Exchanging\x20authorization\x20code...','GPIeC':'authorization_code','WzPUy':function(_0x4ba49b,_0x3768cb,_0x5a5b65){return _0x4ba49b(_0x3768cb,_0x5a5b65);},'XIdTG':_0x13d536(0xf0),'sfrqr':function(_0x127d7f,_0x2e4f79,_0x3ba3ac,_0x16ce71){return _0x127d7f(_0x2e4f79,_0x3ba3ac,_0x16ce71);}},_0x487511=_0x2cbbc[_0x13d536(0xdc)](/\/mcp$/,'');process[_0x13d536(0x13e)]['write'](_0x13d536(0x105));const _0x35eaf1=await _0x428edd['VkXzp'](fetch,_0x487511+'/.well-known/oauth-protected-resource');if(!_0x35eaf1['ok'])throw new Error(_0x428edd[_0x13d536(0x12b)]);const _0x2010c5=await _0x35eaf1['json'](),_0x29a08c=_0x2010c5[_0x13d536(0xc6)]?.[0x0];if(!_0x29a08c)throw new Error('No\x20authorization_servers\x20in\x20protected\x20resource\x20metadata');console['log']('\x20'+_0x29a08c);const _0x502b13=await _0x428edd[_0x13d536(0x109)](fetchAuthServerMetadata,_0x29a08c);let _0x249c92,_0x489945;const _0x3b5236=await loadCachedClient();if(_0x3b5236)_0x249c92=_0x3b5236[_0x13d536(0x118)],_0x489945=_0x3b5236[_0x13d536(0x14d)];else{if(_0x502b13['registration_endpoint']){process[_0x13d536(0x13e)]['write']('Registering\x20OAuth\x20client...');const _0x5c3c83=await fetch(_0x502b13['registration_endpoint'],{'method':_0x428edd[_0x13d536(0x124)],'headers':{'Content-Type':_0x428edd[_0x13d536(0x110)]},'body':JSON['stringify']({'client_name':_0x428edd['MnbHZ'],'redirect_uris':['http://localhost:'+CALLBACK_PORT+_0x13d536(0x120)],'grant_types':['authorization_code',_0x13d536(0x122)],'response_types':[_0x13d536(0x100)],'token_endpoint_auth_method':_0x428edd['faXzD']})});if(!_0x5c3c83['ok']){const _0x4516d4=await _0x5c3c83['text']();throw new Error('Client\x20registration\x20failed:\x20'+_0x4516d4);}const _0x1d8e9b=await _0x5c3c83['json']();_0x249c92=_0x1d8e9b[_0x13d536(0xde)],_0x489945=_0x1d8e9b['client_secret'],await saveCachedClient(_0x249c92,_0x489945),console[_0x13d536(0xbc)](_0x13d536(0x12c));}else throw new Error(_0x428edd[_0x13d536(0xf1)]);}const _0x1eedb1=randomBytes(0x20)['toString'](_0x428edd[_0x13d536(0x13c)]),_0x4fa6b4=createHash(_0x13d536(0x135))['update'](_0x1eedb1)[_0x13d536(0x14f)]('base64url'),_0x416285=randomBytes(0x10)[_0x13d536(0x132)]('hex'),_0x19af95=new URL(_0x502b13['authorization_endpoint']);_0x19af95[_0x13d536(0xe7)]['set']('response_type',_0x13d536(0x100)),_0x19af95[_0x13d536(0xe7)]['set'](_0x428edd['oPNdp'],_0x249c92),_0x19af95['searchParams']['set'](_0x428edd[_0x13d536(0xf9)],'http://localhost:'+CALLBACK_PORT+_0x13d536(0x120)),_0x19af95[_0x13d536(0xe7)]['set'](_0x13d536(0x14b),_0x4fa6b4),_0x19af95[_0x13d536(0xe7)][_0x13d536(0x13a)](_0x428edd[_0x13d536(0xc0)],_0x13d536(0x139)),_0x19af95[_0x13d536(0xe7)]['set'](_0x13d536(0xc8),_0x416285);_0x2010c5['resource']&&_0x19af95['searchParams']['set'](_0x428edd['gTBhS'],_0x2010c5['resource']);console[_0x13d536(0xbc)](_0x13d536(0x108)),console['log'](_0x13d536(0xe8)+_0x19af95[_0x13d536(0x132)]()+'\x0a'),await _0x428edd['rvgOz'](openBrowser,_0x19af95['toString']());const _0x453349=await _0x428edd[_0x13d536(0x109)](waitForCallback,_0x416285);process[_0x13d536(0x13e)][_0x13d536(0xe3)](_0x428edd[_0x13d536(0x12a)]);const _0x11a78d=new URLSearchParams({'grant_type':_0x428edd['GPIeC'],'code':_0x453349,'redirect_uri':_0x13d536(0x137)+CALLBACK_PORT+'/callback','client_id':_0x249c92,'code_verifier':_0x1eedb1});_0x489945&&_0x11a78d[_0x13d536(0x13a)](_0x13d536(0xdd),_0x489945);_0x2010c5[_0x13d536(0x130)]&&_0x11a78d['set'](_0x13d536(0x130),_0x2010c5[_0x13d536(0x130)]);const _0x5bf7f2=await _0x428edd[_0x13d536(0xb8)](fetch,_0x502b13['token_endpoint'],{'method':_0x428edd['igxsf'],'headers':{'Content-Type':_0x428edd['XIdTG']},'body':_0x11a78d});if(!_0x5bf7f2['ok']){const _0x4a5a55=await _0x5bf7f2['text']();throw new Error(_0x13d536(0x14c)+_0x4a5a55);}const _0x109a1f=await _0x5bf7f2['json']();return console[_0x13d536(0xbc)](_0x13d536(0x12c)),await _0x428edd[_0x13d536(0xc2)](saveCachedToken,_0x109a1f[_0x13d536(0xff)],_0x109a1f['refresh_token'],_0x109a1f[_0x13d536(0x12f)]),_0x109a1f['access_token'];}async function callGetCliToken(_0x2df49e,_0x31c25d){const _0x109e60=_0x419226,_0x4c6fbb={'OaGlp':function(_0x3c1635,_0x425ed2){return _0x3c1635(_0x425ed2);},'FwlZs':_0x109e60(0x138),'zUTrv':_0x109e60(0x10b),'nbnYC':_0x109e60(0xdb),'xLkDp':'2025-03-26','SWnjR':'\x20done','Yraec':function(_0x3d45ef,_0x430ce3,_0x31c380){return _0x3d45ef(_0x430ce3,_0x31c380);},'CNSgQ':_0x109e60(0x106),'pCXFN':'notifications/initialized','xwVxv':_0x109e60(0x126),'omGyz':_0x109e60(0x104),'pfOhz':'get_cli_token','NrZcL':_0x109e60(0x14a),'sYBuV':'.ranger','sOqsm':function(_0x16edff,_0x41fd13,_0x1c11f8){return _0x16edff(_0x41fd13,_0x1c11f8);},'mVGst':function(_0x105ed2,_0x3d8082,_0x589c1d,_0x5964a4){return _0x105ed2(_0x3d8082,_0x589c1d,_0x5964a4);}},_0x135900={'Content-Type':_0x4c6fbb[_0x109e60(0xe9)],'Accept':'application/json,\x20text/event-stream'};_0x31c25d&&(_0x135900[_0x109e60(0x142)]='Bearer\x20'+_0x31c25d);const _0x28be52=async _0x528d71=>{const _0x737dab=_0x109e60,_0x52bfb4=await fetch(_0x2df49e,{'method':_0x737dab(0x106),'headers':_0x135900,'body':JSON[_0x737dab(0x101)](_0x528d71)});if(!_0x52bfb4['ok']){const _0x7ff4cf=await _0x52bfb4[_0x737dab(0xeb)]();throw new Error(_0x737dab(0xda)+_0x52bfb4[_0x737dab(0x140)]+':\x20'+_0x7ff4cf);}return _0x4c6fbb['OaGlp'](parseResponse,_0x52bfb4);};process['stdout']['write'](_0x4c6fbb['zUTrv']);const _0x2701e8=await _0x4c6fbb[_0x109e60(0x103)](_0x28be52,{'jsonrpc':_0x4c6fbb['nbnYC'],'id':0x1,'method':_0x109e60(0x114),'params':{'protocolVersion':_0x4c6fbb['xLkDp'],'capabilities':{},'clientInfo':{'name':'ranger-cli','version':_0x109e60(0xfd)}}});if(_0x2701e8['error'])throw new Error(_0x109e60(0xee)+(_0x2701e8[_0x109e60(0x13f)]['message']??JSON['stringify'](_0x2701e8[_0x109e60(0x13f)])));console[_0x109e60(0xbc)](_0x4c6fbb[_0x109e60(0xef)]),await _0x4c6fbb['Yraec'](fetch,_0x2df49e,{'method':_0x4c6fbb[_0x109e60(0x11e)],'headers':_0x135900,'body':JSON['stringify']({'jsonrpc':_0x4c6fbb[_0x109e60(0x145)],'method':_0x4c6fbb['pCXFN']})})[_0x109e60(0xf8)](_0x10db3a=>_0x10db3a[_0x109e60(0xeb)]()),process[_0x109e60(0x13e)]['write'](_0x4c6fbb['xwVxv']);const _0x34213a=await _0x28be52({'jsonrpc':_0x4c6fbb[_0x109e60(0x145)],'id':0x2,'method':_0x4c6fbb[_0x109e60(0x128)],'params':{'name':_0x4c6fbb['pfOhz'],'arguments':{}}});if(_0x34213a[_0x109e60(0x13f)])throw new Error(_0x109e60(0x13b)+(_0x34213a['error']['message']??JSON['stringify'](_0x34213a[_0x109e60(0x13f)])));console[_0x109e60(0xbc)](_0x4c6fbb['SWnjR']);const _0x25c418=_0x4c6fbb['OaGlp'](extractToken,_0x34213a[_0x109e60(0x144)]);if(!_0x25c418){console[_0x109e60(0x13f)](_0x109e60(0xf5)),console['error'](JSON['stringify'](_0x34213a[_0x109e60(0x144)],null,0x2));throw new Error(_0x4c6fbb[_0x109e60(0x13d)]);}const _0x3f67c2=join(homedir(),_0x4c6fbb['sYBuV']),_0x387fa5=_0x4c6fbb[_0x109e60(0xba)](join,_0x3f67c2,'refresh.txt');await _0x4c6fbb['Yraec'](mkdir,_0x3f67c2,{'recursive':!![]}),await _0x4c6fbb[_0x109e60(0xca)](writeFile,_0x387fa5,_0x25c418,{'mode':0x180}),await _0x4c6fbb['mVGst'](writeFile,join(_0x3f67c2,_0x109e60(0x102)),_0x2df49e,{'mode':0x180}),console['log'](_0x109e60(0xcd)+_0x387fa5),console[_0x109e60(0xbc)]('Run\x20`ranger\x20status`\x20to\x20verify\x20authentication.\x0a');}async function fetchAuthServerMetadata(_0x1225d5){const _0x3a86f5=_0x419226,_0x3ad2d1={'PzooR':function(_0x3afdad,_0x2ef28a){return _0x3afdad(_0x2ef28a);}},_0x156c64=_0x1225d5+'/.well-known/oauth-authorization-server',_0x27cfb2=await _0x3ad2d1[_0x3a86f5(0x143)](fetch,_0x156c64);if(!_0x27cfb2['ok'])throw new Error('Could\x20not\x20fetch\x20auth\x20server\x20metadata\x20from\x20'+_0x156c64+':\x20'+_0x27cfb2[_0x3a86f5(0x140)]);return _0x27cfb2['json']();}function waitForCallback(_0x26d86b){const _0x5b4ba3=_0x419226,_0x439ba1={'sqUJO':function(_0x10ce80,_0x564f55){return _0x10ce80(_0x564f55);},'TFHvZ':'code','qIVYK':'state','rKJod':_0x5b4ba3(0x13f),'JqLQm':function(_0xb10b55){return _0xb10b55();},'XHjfD':function(_0x26831c,_0x3ef3e2){return _0x26831c!==_0x3ef3e2;},'xVirB':'text/html','OhDzR':_0x5b4ba3(0x119),'kSaLs':_0x5b4ba3(0xfa),'eCYtL':function(_0x3e256f,_0x186202){return _0x3e256f(_0x186202);},'krrfi':_0x5b4ba3(0x149)};return new Promise((_0x1ba979,_0xdc7bfd)=>{const _0x3fa886=()=>{_0x56cf4f['closeAllConnections'](),_0x56cf4f['close']();},_0x2adab1=setTimeout(()=>{_0x3fa886(),_0x439ba1['sqUJO'](_0xdc7bfd,new OAuthTimeoutError('OAuth\x20callback\x20timed\x20out\x20after\x202\x20minutes'));},0x1d4c0),_0x56cf4f=_0x439ba1['eCYtL'](createServer,(_0x499843,_0x52977d)=>{const _0x1c2f3f=_0x5ecb,_0x4fb961=new URL(_0x499843[_0x1c2f3f(0x11d)]??'/',_0x1c2f3f(0x137)+CALLBACK_PORT);if(_0x4fb961['pathname']!==_0x1c2f3f(0x120)){_0x52977d['writeHead'](0x194),_0x52977d['end']('Not\x20found');return;}const _0x1bbb97=_0x4fb961[_0x1c2f3f(0xe7)][_0x1c2f3f(0xc3)](_0x439ba1['TFHvZ']),_0x2132c9=_0x4fb961['searchParams'][_0x1c2f3f(0xc3)](_0x439ba1[_0x1c2f3f(0x113)]),_0xad35c6=_0x4fb961['searchParams']['get'](_0x439ba1[_0x1c2f3f(0xed)]);if(_0xad35c6){const _0x34ffc9=_0x4fb961['searchParams'][_0x1c2f3f(0xc3)](_0x1c2f3f(0xbf))??_0xad35c6;_0x52977d[_0x1c2f3f(0x125)](0xc8,{'Content-Type':_0x1c2f3f(0x11b)}),_0x52977d['end'](_0x1c2f3f(0xd5)+_0x34ffc9+_0x1c2f3f(0x141)),clearTimeout(_0x2adab1),_0x439ba1['JqLQm'](_0x3fa886),_0xdc7bfd(new Error(_0x1c2f3f(0x116)+_0x34ffc9));return;}if(!_0x1bbb97||_0x439ba1[_0x1c2f3f(0x129)](_0x2132c9,_0x26d86b)){_0x52977d[_0x1c2f3f(0x125)](0x190,{'Content-Type':_0x439ba1[_0x1c2f3f(0x107)]}),_0x52977d['end'](_0x439ba1[_0x1c2f3f(0xb9)]);return;}_0x52977d['writeHead'](0xc8,{'Content-Type':'text/html'}),_0x52977d[_0x1c2f3f(0xc5)](_0x439ba1[_0x1c2f3f(0x10d)]),_0x439ba1[_0x1c2f3f(0xd1)](clearTimeout,_0x2adab1),_0x439ba1[_0x1c2f3f(0x136)](_0x3fa886),_0x439ba1[_0x1c2f3f(0xdf)](_0x1ba979,_0x1bbb97);});_0x56cf4f['listen'](CALLBACK_PORT,_0x439ba1['krrfi']);});}async function openBrowser(_0x317f9f){const _0x47a63d=_0x419226,_0x404ffb={'xmtDZ':function(_0x3e5f04,_0x207b87){return _0x3e5f04===_0x207b87;},'HMNOM':_0x47a63d(0xf3),'VJkLk':function(_0x298099,_0x122a1d){return _0x298099===_0x122a1d;},'iWAgF':'win32','pQeUA':function(_0x26b849,_0x24427d){return _0x26b849(_0x24427d);}},_0x27ac39=_0x404ffb['xmtDZ'](process['platform'],'darwin')?_0x404ffb[_0x47a63d(0xe1)]:_0x404ffb[_0x47a63d(0x11f)](process[_0x47a63d(0xe5)],_0x404ffb['iWAgF'])?_0x47a63d(0x123):'xdg-open';_0x404ffb['pQeUA'](exec,_0x27ac39+'\x20\x22'+_0x317f9f+'\x22');}let currentOrigin='';async function loadCachedToken(){const _0x219d92=_0x419226;try{const _0x4bef85=JSON['parse'](await readFile(TOKEN_CACHE_PATH,_0x219d92(0xcf)));if(_0x4bef85['origin']&&_0x4bef85['origin']!==currentOrigin)return null;if(_0x4bef85[_0x219d92(0xe6)]&&Date['now']()>_0x4bef85['expiresAt'])return null;return _0x4bef85['accessToken']??null;}catch{return null;}}function _0x5ecb(_0x5eb244,_0x4dce5b){_0x5eb244=_0x5eb244-0xb8;const _0x1596e0=_0x1596();let _0x5ecb89=_0x1596e0[_0x5eb244];return _0x5ecb89;}async function saveCachedToken(_0x5b9ec8,_0x145c9a,_0x405de1){const _0x19a184=_0x419226,_0x56f443={'VkoKB':function(_0x39afff){return _0x39afff();},'JqxZw':function(_0x2e83d1,_0x475b59){return _0x2e83d1+_0x475b59;},'opnzg':function(_0x48e363,_0x4bb431,_0x4df4ca){return _0x48e363(_0x4bb431,_0x4df4ca);},'bUXgw':function(_0x5b63ca,_0x47be41,_0x71f73b){return _0x5b63ca(_0x47be41,_0x71f73b);}},_0x39c1cc=await _0x56f443['VkoKB'](loadCachedData),_0x34385a={..._0x39c1cc,'origin':currentOrigin,'accessToken':_0x5b9ec8,'refreshToken':_0x145c9a??_0x39c1cc?.['refreshToken'],'expiresAt':_0x405de1?_0x56f443['JqxZw'](Date[_0x19a184(0xd9)](),_0x405de1*0x3e8):undefined};await _0x56f443[_0x19a184(0xfb)](mkdir,_0x56f443[_0x19a184(0xc1)](join,homedir(),'.ranger'),{'recursive':!![]}),await writeFile(TOKEN_CACHE_PATH,JSON['stringify'](_0x34385a),{'mode':0x180});}async function loadCachedClient(){const _0x3bd032=_0x419226,_0x402e22={'zDLbf':function(_0x3b2928,_0x19bda8){return _0x3b2928!==_0x19bda8;}},_0x3591f0=await loadCachedData();if(_0x3591f0?.[_0x3bd032(0x12e)]&&_0x402e22['zDLbf'](_0x3591f0[_0x3bd032(0x12e)],currentOrigin))return null;return _0x3591f0?.[_0x3bd032(0x118)]?{'clientId':_0x3591f0[_0x3bd032(0x118)],'clientSecret':_0x3591f0['clientSecret']}:null;}async function clearCachedClient(){const _0x5ea2da=_0x419226,_0xd5d20={'KBFLI':function(_0x5acfa1){return _0x5acfa1();},'sBEnw':function(_0x1a1fd1,_0x3af8dd,_0xc307df,_0x5697e0){return _0x1a1fd1(_0x3af8dd,_0xc307df,_0x5697e0);}},_0x81871d=await _0xd5d20[_0x5ea2da(0x121)](loadCachedData);if(!_0x81871d)return;const {clientId:_0xf76226,clientSecret:_0x553b03,..._0x37bc81}=_0x81871d;await _0xd5d20[_0x5ea2da(0xf4)](writeFile,TOKEN_CACHE_PATH,JSON['stringify'](_0x37bc81),{'mode':0x180});}async function saveCachedClient(_0x37a205,_0x14f156){const _0x95087a=_0x419226,_0x297667={'nnFcz':function(_0x4ea97f,_0x7fb692,_0x2adbd1){return _0x4ea97f(_0x7fb692,_0x2adbd1);},'APIvl':function(_0x4563be,_0x456778,_0x2e7466,_0xa65035){return _0x4563be(_0x456778,_0x2e7466,_0xa65035);}},_0x2ab262=await loadCachedData(),_0x3f0048={..._0x2ab262,'origin':currentOrigin,'accessToken':_0x2ab262?.[_0x95087a(0x115)]??'','clientId':_0x37a205,'clientSecret':_0x14f156};await _0x297667[_0x95087a(0xd7)](mkdir,_0x297667['nnFcz'](join,homedir(),_0x95087a(0xd3)),{'recursive':!![]}),await _0x297667['APIvl'](writeFile,TOKEN_CACHE_PATH,JSON[_0x95087a(0x101)](_0x3f0048),{'mode':0x180});}async function loadCachedData(){const _0x200f66=_0x419226,_0x5129b4={'bDhMH':function(_0x12d437,_0x19c88e,_0x216c65){return _0x12d437(_0x19c88e,_0x216c65);}};try{return JSON[_0x200f66(0x11c)](await _0x5129b4[_0x200f66(0xf2)](readFile,TOKEN_CACHE_PATH,'utf-8'));}catch{return null;}}async function parseResponse(_0x3cc469){const _0x2da24d=_0x419226,_0x599d50={'qLuMP':_0x2da24d(0xf7),'JVDgT':'data:','LKySh':function(_0x4566e2,_0x3346c1){return _0x4566e2!==_0x3346c1;},'dfhYS':'No\x20JSON-RPC\x20response\x20found\x20in\x20SSE\x20stream'},_0x4e1b02=_0x3cc469['headers'][_0x2da24d(0xc3)](_0x599d50[_0x2da24d(0xbd)])??'';if(_0x4e1b02['includes'](_0x2da24d(0xcc))){const _0x46cf0c=await _0x3cc469['text']();for(const _0x3601b7 of _0x46cf0c[_0x2da24d(0xd0)]('\x0a')){const _0xb65e1a=_0x3601b7[_0x2da24d(0x127)]();if(_0xb65e1a['startsWith'](_0x2da24d(0x134))){const _0x490dee=_0xb65e1a[_0x2da24d(0x117)](_0x599d50['JVDgT'][_0x2da24d(0xcb)])[_0x2da24d(0x127)]();if(!_0x490dee)continue;try{const _0x23d50a=JSON[_0x2da24d(0x11c)](_0x490dee);if(_0x599d50['LKySh'](_0x23d50a['id'],undefined)||_0x23d50a[_0x2da24d(0x13f)])return _0x23d50a;}catch{}}}throw new Error(_0x599d50[_0x2da24d(0xbe)]);}return _0x3cc469['json']();}function extractToken(_0x1dac99){const _0x2001f6=_0x419226,_0x48fa4c={'qeXgN':'Unknown\x20error','LVrwS':function(_0x3f95a9,_0x59060c){return _0x3f95a9===_0x59060c;},'IiEZQ':_0x2001f6(0xfe)};if(!_0x1dac99)return null;const _0x4ea8db=_0x1dac99['structuredContent'];if(_0x4ea8db?.['token']&&typeof _0x4ea8db[_0x2001f6(0xd2)]==='string')return _0x4ea8db['token'];if(_0x1dac99['isError']){const _0x5ee303=_0x1dac99[_0x2001f6(0xf6)];throw new Error('Server\x20returned\x20error:\x20'+(_0x5ee303?.[0x0]?.[_0x2001f6(0xeb)]??_0x48fa4c[_0x2001f6(0x14e)]));}const _0x24b598=_0x1dac99['content'];if(_0x24b598)for(const _0x4b8bd8 of _0x24b598){if(_0x48fa4c['LVrwS'](_0x4b8bd8[_0x2001f6(0xec)],_0x2001f6(0xeb))&&_0x4b8bd8['text']){try{const _0x1ac476=JSON['parse'](_0x4b8bd8['text']);if(typeof _0x1ac476?.[_0x2001f6(0xd2)]===_0x48fa4c['IiEZQ'])return _0x1ac476['token'];}catch{}const _0x107277=_0x4b8bd8['text'][_0x2001f6(0xfc)](/(rngr_[A-Za-z0-9_-]+)/);if(_0x107277)return _0x107277[0x1];}}return null;}
|
|
1
|
+
const _0x530b10=_0x5dc1;(function(_0x270c26,_0x2482f3){const _0x4c7ce6=_0x5dc1,_0x2df368=_0x270c26();while(!![]){try{const _0x225079=-parseInt(_0x4c7ce6(0x122))/0x1*(-parseInt(_0x4c7ce6(0xd6))/0x2)+parseInt(_0x4c7ce6(0x12a))/0x3+-parseInt(_0x4c7ce6(0x110))/0x4*(-parseInt(_0x4c7ce6(0x125))/0x5)+-parseInt(_0x4c7ce6(0xeb))/0x6+parseInt(_0x4c7ce6(0xfd))/0x7*(parseInt(_0x4c7ce6(0xb0))/0x8)+-parseInt(_0x4c7ce6(0x118))/0x9+parseInt(_0x4c7ce6(0x11c))/0xa*(-parseInt(_0x4c7ce6(0xfa))/0xb);if(_0x225079===_0x2482f3)break;else _0x2df368['push'](_0x2df368['shift']());}catch(_0x53df1b){_0x2df368['push'](_0x2df368['shift']());}}}(_0x2e1b,0x755e0));import{mkdir,writeFile,readFile}from'fs/promises';import{join}from'path';import{homedir}from'os';import{createServer}from'http';import{randomBytes,createHash}from'crypto';import{exec}from'child_process';import{getMcpAuthUrl}from'./utils/environment.js';const CALLBACK_PORT=0x4d78,TOKEN_CACHE_PATH=join(homedir(),_0x530b10(0x114),'mcp-oauth-tokens.json'),AUTH_ORIGIN_PATH=join(homedir(),'.ranger','auth-origin.txt');export async function getMcpAuthOrigin(){const _0x47f09d=_0x530b10,_0x427d41={'YYazz':'utf-8','tuaZl':function(_0x5bac57,_0x2693b5){return _0x5bac57||_0x2693b5;}};try{const _0x6802ea=(await readFile(AUTH_ORIGIN_PATH,_0x427d41['YYazz']))[_0x47f09d(0xa3)]();return _0x427d41['tuaZl'](_0x6802ea,null);}catch{return null;}}export async function mcpBootstrap(){const _0xe1ae0c=_0x530b10,_0x42bf20={'yajPw':function(_0x558593,_0x340ee0){return _0x558593(_0x340ee0);},'iKAHl':function(_0x2c675e){return _0x2c675e();},'NQCAM':function(_0xe637a7,_0x59b868){return _0xe637a7+_0x59b868;},'fmrXN':'MCP\x20server\x20requires\x20authentication\x20but\x20running\x20in\x20non-interactive\x20mode.\x0a','CYxNU':function(_0x29388a,_0x2d3de3,_0x200cc3){return _0x29388a(_0x2d3de3,_0x200cc3);}},_0x1e4941=getMcpAuthUrl();currentOrigin=_0x1e4941;const _0x49839a=process['stdout']['isTTY']??![];console['log'](_0xe1ae0c(0xed)+_0x1e4941+'\x0a');const _0x52aef8=await _0x42bf20['yajPw'](tryUnauthenticated,_0x1e4941);let _0x176769=null;if(_0x52aef8===_0xe1ae0c(0x121))_0x176769='';else{_0x176769=await _0x42bf20['iKAHl'](loadCachedToken);if(!_0x176769){if(!_0x49839a)throw new Error(_0x42bf20['NQCAM'](_0x42bf20[_0xe1ae0c(0x10c)],_0xe1ae0c(0x107)));_0x176769=await _0x42bf20[_0xe1ae0c(0xe3)](oauthFlow,_0x1e4941);}}await _0x42bf20[_0xe1ae0c(0x9f)](callGetCliToken,_0x1e4941,_0x176769);}function _0x2e1b(){const _0x4f4a81=['/.well-known/oauth-protected-resource','url','close','client_id','If\x20the\x20browser\x20doesn\x27t\x20open,\x20visit:\x0a','yajPw','state','base64url','error','UhLjW','get','sytvs','cUACs','893820wnLZUJ','isError','\x0aConnecting\x20to\x20MCP\x20auth\x20server:\x20','Initializing\x20MCP\x20session...','startsWith','OIJmw','log','origin','UuHGR','status','pathname','refresh_token','Token\x20exchange\x20failed:\x20','iwMJX','Exchanging\x20authorization\x20code...','12860441ALMfcz','application/json,\x20text/event-stream','mZLon','604170RrFgZq','get_cli_token\x20failed:\x20','OGedG','DPGDS','BQVms','2.0','aOddD','ydnCA','end','MCP\x20initialize\x20failed:\x20','Run\x20`ranger\x20setup\x20--mcp-bootstrap`\x20interactively\x20first.','expires_in','token','ZPMNx','gpMad','fmrXN','qpzwQ','flqRP','Yoojg','1268876rvJMho','registration_endpoint','\x20done','FgWgd','.ranger','code','headers','yxzSj','4423959VVKhqO','CWjIH','zOFoh','uvuvt','10wiaIGd','Registering\x20OAuth\x20client...','2025-03-26','string','aVLax','proxied','411RfBONH','UPnOH','needs-oauth','10UdzApF','POST','xdg-open','toString','structuredContent','1003755NvUSYR','utf-8','length','listen','RwivN','\x0aOpening\x20browser\x20for\x20authentication...','VjwaW','access_token','\x0aToken\x20written\x20to\x20','CYxNU','update','Requesting\x20CLI\x20token...','NeDQW','trim','HTTP\x20','text','write','/callback','vKBlj','xJlNS','clientId','now','json','match','1.0.0','expiresAt','88qNwElw','slice','writeHead','text/html','CYHbr','data:','authorization_servers','Qmptu','127.0.0.1','clientSecret','content','includes','redirect_uri','notifications/initialized','resource','parse','token_endpoint','searchParams','CdVZi','Authorization\x20server\x20does\x20not\x20support\x20dynamic\x20client\x20registration\x20and\x20no\x20cached\x20client\x20found','replace','initialize','darwin','stdout','stringify','VCBUn','none','message','ranger-cli','\x0aUnexpected\x20response\x20structure:','authorization_code','name','http://localhost:','set','faOpt','Qfbcu','digest','code_challenge_method','1810kCXEjN','text/event-stream','uxhWC','uYCdo','kGQfH','Could\x20not\x20fetch\x20auth\x20server\x20metadata\x20from\x20','sha256','No\x20authorization_servers\x20in\x20protected\x20resource\x20metadata'];_0x2e1b=function(){return _0x4f4a81;};return _0x2e1b();}function _0x5dc1(_0x43ae25,_0x247cf8){_0x43ae25=_0x43ae25-0x9b;const _0x2e1bf2=_0x2e1b();let _0x5dc12b=_0x2e1bf2[_0x43ae25];return _0x5dc12b;}async function tryUnauthenticated(_0x19a120){const _0x277099=_0x530b10,_0x44396b={'gpncf':'POST','pMkcS':_0x277099(0xfb),'ydnCA':_0x277099(0x11e),'Dhjna':function(_0x3839dd,_0x4a29a6){return _0x3839dd===_0x4a29a6;},'NeDQW':_0x277099(0x124)},_0xaedeae=await fetch(_0x19a120,{'method':_0x44396b['gpncf'],'headers':{'Content-Type':'application/json','Accept':_0x44396b['pMkcS']},'body':JSON['stringify']({'jsonrpc':'2.0','id':0x1,'method':'initialize','params':{'protocolVersion':_0x44396b[_0x277099(0x104)],'capabilities':{},'clientInfo':{'name':_0x277099(0xcc),'version':_0x277099(0xae)}}})});if(_0xaedeae['ok'])return await _0xaedeae[_0x277099(0xa5)](),'proxied';if(_0x44396b['Dhjna'](_0xaedeae[_0x277099(0xf4)],0x191))return await _0xaedeae['text'](),_0x44396b[_0x277099(0xa2)];const _0x42498f=await _0xaedeae['text']();throw new Error('MCP\x20server\x20returned\x20HTTP\x20'+_0xaedeae[_0x277099(0xf4)]+':\x20'+_0x42498f);}class OAuthTimeoutError extends Error{constructor(_0x4700e7){const _0x16062f=_0x530b10;super(_0x4700e7),this[_0x16062f(0xcf)]='OAuthTimeoutError';}}async function oauthFlow(_0x54e94e){const _0x3dac65=_0x530b10,_0x4872a0={'Qmptu':'\x0aCached\x20OAuth\x20client\x20may\x20be\x20stale\x20—\x20clearing\x20and\x20retrying...\x0a'};try{return await oauthFlowAttempt(_0x54e94e);}catch(_0x5b7474){if(_0x5b7474 instanceof OAuthTimeoutError&&await loadCachedClient())return console['log'](_0x4872a0[_0x3dac65(0xb7)]),await clearCachedClient(),await oauthFlowAttempt(_0x54e94e);throw _0x5b7474;}}async function oauthFlowAttempt(_0x40eb47){const _0x4096ce=_0x530b10,_0x5d453d={'VnAJl':function(_0x1812dd){return _0x1812dd();},'CYHbr':function(_0x1d7165,_0x5f33c5,_0xcd1148){return _0x1d7165(_0x5f33c5,_0xcd1148);},'yVgMK':'POST','NCmvg':'application/json','RwivN':_0x4096ce(0xce),'uvuvt':'refresh_token','kGQfH':_0x4096ce(0xe5),'UuHGR':_0x4096ce(0xd5),'aVLax':'S256','DPGDS':_0x4096ce(0xe4),'YRGAL':_0x4096ce(0xbe),'DPJqo':function(_0x25fb94,_0x4d3188){return _0x25fb94(_0x4d3188);},'rsgcT':function(_0x53d877,_0x5dac4f){return _0x53d877(_0x5dac4f);},'CWjIH':_0x4096ce(0xf9),'uxhWC':'client_secret','Qfbcu':'application/x-www-form-urlencoded','faOpt':'\x20done','qtGTK':function(_0x240d0f,_0xd73cf0,_0x3b51cd,_0x5248b4){return _0x240d0f(_0xd73cf0,_0x3b51cd,_0x5248b4);}},_0x4afd56=_0x40eb47[_0x4096ce(0xc4)](/\/mcp$/,'');process['stdout']['write']('Discovering\x20authorization\x20server...');const _0x51318b=await fetch(_0x4afd56+_0x4096ce(0xde));if(!_0x51318b['ok'])throw new Error('Could\x20not\x20fetch\x20protected\x20resource\x20metadata\x20from\x20MCP\x20server');const _0x459143=await _0x51318b['json'](),_0x3efa65=_0x459143[_0x4096ce(0xb6)]?.[0x0];if(!_0x3efa65)throw new Error(_0x4096ce(0xdd));console['log']('\x20'+_0x3efa65);const _0x47afea=await fetchAuthServerMetadata(_0x3efa65);let _0x5d8cc7,_0x2d8dd4;const _0x45d6e4=await _0x5d453d['VnAJl'](loadCachedClient);if(_0x45d6e4)_0x5d8cc7=_0x45d6e4['clientId'],_0x2d8dd4=_0x45d6e4[_0x4096ce(0xb9)];else{if(_0x47afea['registration_endpoint']){process[_0x4096ce(0xc7)][_0x4096ce(0xa6)](_0x4096ce(0x11d));const _0x5d3116=await _0x5d453d[_0x4096ce(0xb4)](fetch,_0x47afea[_0x4096ce(0x111)],{'method':_0x5d453d['yVgMK'],'headers':{'Content-Type':_0x5d453d['NCmvg']},'body':JSON['stringify']({'client_name':'Ranger\x20CLI','redirect_uris':[_0x4096ce(0xd0)+CALLBACK_PORT+_0x4096ce(0xa7)],'grant_types':[_0x5d453d['RwivN'],_0x5d453d[_0x4096ce(0x11b)]],'response_types':[_0x4096ce(0x115)],'token_endpoint_auth_method':_0x4096ce(0xca)})});if(!_0x5d3116['ok']){const _0x583f92=await _0x5d3116['text']();throw new Error('Client\x20registration\x20failed:\x20'+_0x583f92);}const _0x329fc1=await _0x5d3116[_0x4096ce(0xac)]();_0x5d8cc7=_0x329fc1[_0x4096ce(0xe1)],_0x2d8dd4=_0x329fc1['client_secret'],await saveCachedClient(_0x5d8cc7,_0x2d8dd4),console[_0x4096ce(0xf1)](_0x4096ce(0x112));}else throw new Error(_0x4096ce(0xc3));}const _0x12868d=randomBytes(0x20)['toString']('base64url'),_0x5b440e=createHash(_0x4096ce(0xdc))[_0x4096ce(0xa0)](_0x12868d)[_0x4096ce(0xd4)](_0x5d453d[_0x4096ce(0xda)]),_0x27afa4=randomBytes(0x10)[_0x4096ce(0x128)]('hex'),_0x1b9ffe=new URL(_0x47afea['authorization_endpoint']);_0x1b9ffe['searchParams']['set']('response_type','code'),_0x1b9ffe[_0x4096ce(0xc1)]['set'](_0x4096ce(0xe1),_0x5d8cc7),_0x1b9ffe['searchParams'][_0x4096ce(0xd1)](_0x4096ce(0xbc),'http://localhost:'+CALLBACK_PORT+'/callback'),_0x1b9ffe['searchParams'][_0x4096ce(0xd1)]('code_challenge',_0x5b440e),_0x1b9ffe[_0x4096ce(0xc1)]['set'](_0x5d453d[_0x4096ce(0xf3)],_0x5d453d[_0x4096ce(0x120)]),_0x1b9ffe[_0x4096ce(0xc1)][_0x4096ce(0xd1)](_0x5d453d[_0x4096ce(0x100)],_0x27afa4);_0x459143[_0x4096ce(0xbe)]&&_0x1b9ffe[_0x4096ce(0xc1)]['set'](_0x5d453d['YRGAL'],_0x459143['resource']);console[_0x4096ce(0xf1)](_0x4096ce(0x9b)),console['log'](_0x4096ce(0xe2)+_0x1b9ffe[_0x4096ce(0x128)]()+'\x0a'),await _0x5d453d['DPJqo'](openBrowser,_0x1b9ffe['toString']());const _0x34533b=await _0x5d453d['rsgcT'](waitForCallback,_0x27afa4);process['stdout'][_0x4096ce(0xa6)](_0x5d453d[_0x4096ce(0x119)]);const _0x421a93=new URLSearchParams({'grant_type':_0x5d453d[_0x4096ce(0x12e)],'code':_0x34533b,'redirect_uri':'http://localhost:'+CALLBACK_PORT+'/callback','client_id':_0x5d8cc7,'code_verifier':_0x12868d});_0x2d8dd4&&_0x421a93['set'](_0x5d453d[_0x4096ce(0xd8)],_0x2d8dd4);_0x459143[_0x4096ce(0xbe)]&&_0x421a93[_0x4096ce(0xd1)]('resource',_0x459143[_0x4096ce(0xbe)]);const _0xa35a49=await _0x5d453d['CYHbr'](fetch,_0x47afea[_0x4096ce(0xc0)],{'method':'POST','headers':{'Content-Type':_0x5d453d[_0x4096ce(0xd3)]},'body':_0x421a93});if(!_0xa35a49['ok']){const _0x102276=await _0xa35a49['text']();throw new Error(_0x4096ce(0xf7)+_0x102276);}const _0x5b013b=await _0xa35a49[_0x4096ce(0xac)]();return console['log'](_0x5d453d[_0x4096ce(0xd2)]),await _0x5d453d['qtGTK'](saveCachedToken,_0x5b013b[_0x4096ce(0x9d)],_0x5b013b[_0x4096ce(0xf6)],_0x5b013b[_0x4096ce(0x108)]),_0x5b013b[_0x4096ce(0x9d)];}async function callGetCliToken(_0x2f3783,_0x214404){const _0x163056=_0x530b10,_0x1d7aba={'zOFoh':function(_0x3c79fb,_0x31c0ab){return _0x3c79fb(_0x31c0ab);},'StFFk':'application/json','sytvs':'application/json,\x20text/event-stream','UhLjW':'Authorization','mETke':_0x163056(0xee),'MdBLh':_0x163056(0x102),'xJlNS':_0x163056(0xc5),'vSVRW':_0x163056(0xae),'igbVU':_0x163056(0x112),'iwMJX':function(_0x12533c,_0x613d56,_0x5029a2){return _0x12533c(_0x613d56,_0x5029a2);},'QfIMV':_0x163056(0x126),'cUACs':_0x163056(0xa1),'kOvWb':'tools/call','gpMad':function(_0x7ff7be,_0x47d5f5){return _0x7ff7be(_0x47d5f5);},'IubIf':'Could\x20not\x20extract\x20token\x20from\x20MCP\x20response','tkFuu':function(_0x594931){return _0x594931();},'flqRP':function(_0x47c0c9,_0x24f78c,_0x190b81,_0x45854e){return _0x47c0c9(_0x24f78c,_0x190b81,_0x45854e);},'IFUen':'Run\x20`ranger\x20status`\x20to\x20verify\x20authentication.\x0a'},_0x5671d2={'Content-Type':_0x1d7aba['StFFk'],'Accept':_0x1d7aba[_0x163056(0xe9)]};_0x214404&&(_0x5671d2[_0x1d7aba[_0x163056(0xe7)]]='Bearer\x20'+_0x214404);const _0x1f575b=async _0x4512b2=>{const _0x5c1a5d=_0x163056,_0x5e38df=await fetch(_0x2f3783,{'method':_0x5c1a5d(0x126),'headers':_0x5671d2,'body':JSON[_0x5c1a5d(0xc8)](_0x4512b2)});if(!_0x5e38df['ok']){const _0x2deeb3=await _0x5e38df[_0x5c1a5d(0xa5)]();throw new Error(_0x5c1a5d(0xa4)+_0x5e38df[_0x5c1a5d(0xf4)]+':\x20'+_0x2deeb3);}return _0x1d7aba[_0x5c1a5d(0x11a)](parseResponse,_0x5e38df);};process[_0x163056(0xc7)]['write'](_0x1d7aba['mETke']);const _0x40c278=await _0x1f575b({'jsonrpc':_0x1d7aba['MdBLh'],'id':0x1,'method':_0x1d7aba[_0x163056(0xa9)],'params':{'protocolVersion':'2025-03-26','capabilities':{},'clientInfo':{'name':_0x163056(0xcc),'version':_0x1d7aba['vSVRW']}}});if(_0x40c278['error'])throw new Error(_0x163056(0x106)+(_0x40c278[_0x163056(0xe6)][_0x163056(0xcb)]??JSON[_0x163056(0xc8)](_0x40c278[_0x163056(0xe6)])));console['log'](_0x1d7aba['igbVU']),await _0x1d7aba[_0x163056(0xf8)](fetch,_0x2f3783,{'method':_0x1d7aba['QfIMV'],'headers':_0x5671d2,'body':JSON[_0x163056(0xc8)]({'jsonrpc':'2.0','method':_0x163056(0xbd)})})['then'](_0xd2728b=>_0xd2728b[_0x163056(0xa5)]()),process['stdout'][_0x163056(0xa6)](_0x1d7aba[_0x163056(0xea)]);const _0x303447=await _0x1f575b({'jsonrpc':_0x163056(0x102),'id':0x2,'method':_0x1d7aba['kOvWb'],'params':{'name':'get_cli_token','arguments':{}}});if(_0x303447[_0x163056(0xe6)])throw new Error(_0x163056(0xfe)+(_0x303447['error'][_0x163056(0xcb)]??JSON['stringify'](_0x303447['error'])));console[_0x163056(0xf1)](_0x1d7aba['igbVU']);const _0x48cc8e=_0x1d7aba[_0x163056(0x10b)](extractToken,_0x303447['result']);if(!_0x48cc8e){console[_0x163056(0xe6)](_0x163056(0xcd)),console[_0x163056(0xe6)](JSON['stringify'](_0x303447['result'],null,0x2));throw new Error(_0x1d7aba['IubIf']);}const _0xd9ae96=join(_0x1d7aba['tkFuu'](homedir),_0x163056(0x114)),_0x1639ef=_0x1d7aba['iwMJX'](join,_0xd9ae96,'refresh.txt');await mkdir(_0xd9ae96,{'recursive':!![]}),await _0x1d7aba['flqRP'](writeFile,_0x1639ef,_0x48cc8e,{'mode':0x180}),await _0x1d7aba[_0x163056(0x10e)](writeFile,join(_0xd9ae96,'auth-origin.txt'),_0x2f3783,{'mode':0x180}),console[_0x163056(0xf1)](_0x163056(0x9e)+_0x1639ef),console['log'](_0x1d7aba['IFUen']);}async function fetchAuthServerMetadata(_0x3ad8a8){const _0x4ca1c7=_0x530b10,_0x3479aa=_0x3ad8a8+'/.well-known/oauth-authorization-server',_0x175134=await fetch(_0x3479aa);if(!_0x175134['ok'])throw new Error(_0x4ca1c7(0xdb)+_0x3479aa+':\x20'+_0x175134[_0x4ca1c7(0xf4)]);return _0x175134[_0x4ca1c7(0xac)]();}function waitForCallback(_0x506077){const _0x3d2584=_0x530b10,_0xbbf426={'DAQRh':function(_0x180aff){return _0x180aff();},'ftKEJ':_0x3d2584(0xa7),'zLwaa':'error','BQVms':function(_0x3502e2,_0x157b19){return _0x3502e2(_0x157b19);},'zpFRO':'text/html','FgWgd':'<html><body><h2>Authenticated!</h2><p>You\x20can\x20close\x20this\x20window\x20and\x20return\x20to\x20the\x20terminal.</p></body></html>','VsWmz':_0x3d2584(0xb8)};return new Promise((_0x4e212a,_0x2c7152)=>{const _0x4faec5=_0x3d2584,_0x28ad13={'KttTl':function(_0x5801cd){return _0xbbf426['DAQRh'](_0x5801cd);},'qpzwQ':function(_0x5a10d9,_0x3cb7fd){return _0x5a10d9!==_0x3cb7fd;},'VjwaW':_0xbbf426['ftKEJ'],'bOIdp':'Not\x20found','ZPMNx':_0xbbf426['zLwaa'],'TmLQr':function(_0x1829b0,_0x3b6896){const _0x24b569=_0x5dc1;return _0xbbf426[_0x24b569(0x101)](_0x1829b0,_0x3b6896);},'VXHUb':function(_0x458a69){return _0x458a69();},'vKBlj':_0xbbf426['zpFRO'],'yxzSj':_0xbbf426[_0x4faec5(0x113)],'rZFlC':function(_0x1c8dfa,_0x5785c0){return _0x1c8dfa(_0x5785c0);}},_0x4ad5f8=()=>{const _0x5ad6f0=_0x4faec5;_0x54a58c['closeAllConnections'](),_0x54a58c[_0x5ad6f0(0xe0)]();},_0x39b4b8=setTimeout(()=>{_0x28ad13['KttTl'](_0x4ad5f8),_0x2c7152(new OAuthTimeoutError('OAuth\x20callback\x20timed\x20out\x20after\x202\x20minutes'));},0x1d4c0),_0x54a58c=_0xbbf426['BQVms'](createServer,(_0x131cbe,_0x2a340d)=>{const _0x76d9c1=_0x4faec5,_0x5b95e2=new URL(_0x131cbe[_0x76d9c1(0xdf)]??'/','http://localhost:'+CALLBACK_PORT);if(_0x28ad13[_0x76d9c1(0x10d)](_0x5b95e2[_0x76d9c1(0xf5)],_0x28ad13[_0x76d9c1(0x9c)])){_0x2a340d[_0x76d9c1(0xb2)](0x194),_0x2a340d[_0x76d9c1(0x105)](_0x28ad13['bOIdp']);return;}const _0xfc928b=_0x5b95e2[_0x76d9c1(0xc1)][_0x76d9c1(0xe8)]('code'),_0x115e36=_0x5b95e2['searchParams']['get'](_0x76d9c1(0xe4)),_0xaa3f04=_0x5b95e2['searchParams']['get'](_0x28ad13[_0x76d9c1(0x10a)]);if(_0xaa3f04){const _0x25ba43=_0x5b95e2['searchParams'][_0x76d9c1(0xe8)]('error_description')??_0xaa3f04;_0x2a340d['writeHead'](0xc8,{'Content-Type':_0x76d9c1(0xb3)}),_0x2a340d[_0x76d9c1(0x105)]('<html><body><h2>Authentication\x20failed</h2><p>'+_0x25ba43+'</p><p>You\x20can\x20close\x20this\x20window.</p></body></html>'),_0x28ad13['TmLQr'](clearTimeout,_0x39b4b8),_0x28ad13['VXHUb'](_0x4ad5f8),_0x2c7152(new Error('OAuth\x20error:\x20'+_0x25ba43));return;}if(!_0xfc928b||_0x28ad13[_0x76d9c1(0x10d)](_0x115e36,_0x506077)){_0x2a340d['writeHead'](0x190,{'Content-Type':_0x28ad13[_0x76d9c1(0xa8)]}),_0x2a340d[_0x76d9c1(0x105)]('<html><body><h2>Invalid\x20callback</h2><p>Missing\x20code\x20or\x20state\x20mismatch.</p></body></html>');return;}_0x2a340d['writeHead'](0xc8,{'Content-Type':_0x28ad13['vKBlj']}),_0x2a340d[_0x76d9c1(0x105)](_0x28ad13[_0x76d9c1(0x117)]),_0x28ad13['rZFlC'](clearTimeout,_0x39b4b8),_0x4ad5f8(),_0x4e212a(_0xfc928b);});_0x54a58c[_0x4faec5(0x12d)](CALLBACK_PORT,_0xbbf426['VsWmz']);});}async function openBrowser(_0x56d8c2){const _0x36332d=_0x530b10,_0x453c48={'vafYl':'win32'},_0x19c18c=process['platform']===_0x36332d(0xc6)?'open':process['platform']===_0x453c48['vafYl']?'start':_0x36332d(0x127);exec(_0x19c18c+'\x20\x22'+_0x56d8c2+'\x22');}let currentOrigin='';async function loadCachedToken(){const _0x50661c=_0x530b10,_0x332210={'CdVZi':function(_0x23ac4e,_0x15272c,_0xd5c003){return _0x23ac4e(_0x15272c,_0xd5c003);},'naCPg':'utf-8'};try{const _0x59020c=JSON[_0x50661c(0xbf)](await _0x332210[_0x50661c(0xc2)](readFile,TOKEN_CACHE_PATH,_0x332210['naCPg']));if(_0x59020c['origin']&&_0x59020c['origin']!==currentOrigin)return null;if(_0x59020c['expiresAt']&&Date[_0x50661c(0xab)]()>_0x59020c[_0x50661c(0xaf)])return null;return _0x59020c['accessToken']??null;}catch{return null;}}async function saveCachedToken(_0x488e65,_0x2b014d,_0xe3f1c6){const _0x46acd6=_0x530b10,_0x3106b1={'OIJmw':function(_0x5906fe){return _0x5906fe();}},_0x4d19a1=await _0x3106b1[_0x46acd6(0xf0)](loadCachedData),_0x4e481e={..._0x4d19a1,'origin':currentOrigin,'accessToken':_0x488e65,'refreshToken':_0x2b014d??_0x4d19a1?.['refreshToken'],'expiresAt':_0xe3f1c6?Date['now']()+_0xe3f1c6*0x3e8:undefined};await mkdir(join(homedir(),_0x46acd6(0x114)),{'recursive':!![]}),await writeFile(TOKEN_CACHE_PATH,JSON['stringify'](_0x4e481e),{'mode':0x180});}async function loadCachedClient(){const _0x3705b0=_0x530b10,_0xaa275b={'UQoxD':function(_0x5647b3){return _0x5647b3();},'aOddD':function(_0x36f8ef,_0x171837){return _0x36f8ef!==_0x171837;}},_0x4f9df7=await _0xaa275b['UQoxD'](loadCachedData);if(_0x4f9df7?.[_0x3705b0(0xf2)]&&_0xaa275b[_0x3705b0(0x103)](_0x4f9df7['origin'],currentOrigin))return null;return _0x4f9df7?.[_0x3705b0(0xaa)]?{'clientId':_0x4f9df7['clientId'],'clientSecret':_0x4f9df7['clientSecret']}:null;}async function clearCachedClient(){const _0x51c97d=_0x530b10,_0x2a7ce6={'Mrvsi':function(_0x38d2db){return _0x38d2db();}},_0x3a48e9=await _0x2a7ce6['Mrvsi'](loadCachedData);if(!_0x3a48e9)return;const {clientId:_0x2760d7,clientSecret:_0x5eb1ea,..._0x483d8b}=_0x3a48e9;await writeFile(TOKEN_CACHE_PATH,JSON[_0x51c97d(0xc8)](_0x483d8b),{'mode':0x180});}async function saveCachedClient(_0x7f266,_0x1b2c01){const _0x47c235=_0x530b10,_0x1ed429={'IEnol':function(_0xd80f6c){return _0xd80f6c();},'UPnOH':function(_0x1d39df,_0x243c0e,_0x1912fe){return _0x1d39df(_0x243c0e,_0x1912fe);},'bdGgn':function(_0x33cebf,_0x2d80cc,_0x3bf408){return _0x33cebf(_0x2d80cc,_0x3bf408);},'VCBUn':function(_0x3df4aa){return _0x3df4aa();},'mZLon':'.ranger'},_0x19d126=await _0x1ed429['IEnol'](loadCachedData),_0x580575={..._0x19d126,'origin':currentOrigin,'accessToken':_0x19d126?.['accessToken']??'','clientId':_0x7f266,'clientSecret':_0x1b2c01};await _0x1ed429[_0x47c235(0x123)](mkdir,_0x1ed429['bdGgn'](join,_0x1ed429[_0x47c235(0xc9)](homedir),_0x1ed429[_0x47c235(0xfc)]),{'recursive':!![]}),await writeFile(TOKEN_CACHE_PATH,JSON[_0x47c235(0xc8)](_0x580575),{'mode':0x180});}async function loadCachedData(){const _0x3c1978=_0x530b10,_0x132bda={'uYCdo':function(_0x355964,_0x4a68d5,_0x22d1af){return _0x355964(_0x4a68d5,_0x22d1af);}};try{return JSON['parse'](await _0x132bda[_0x3c1978(0xd9)](readFile,TOKEN_CACHE_PATH,_0x3c1978(0x12b)));}catch{return null;}}async function parseResponse(_0x180647){const _0x2f4568=_0x530b10,_0x20f215={'oKwbN':_0x2f4568(0xd7),'isBDD':_0x2f4568(0xb5),'OGedG':function(_0x2e82a8,_0x54a8e7){return _0x2e82a8!==_0x54a8e7;}},_0xa879ab=_0x180647[_0x2f4568(0x116)][_0x2f4568(0xe8)]('content-type')??'';if(_0xa879ab[_0x2f4568(0xbb)](_0x20f215['oKwbN'])){const _0xc1e20d=await _0x180647[_0x2f4568(0xa5)]();for(const _0x37319b of _0xc1e20d['split']('\x0a')){const _0xb3be2b=_0x37319b['trim']();if(_0xb3be2b[_0x2f4568(0xef)](_0x20f215['isBDD'])){const _0x49c404=_0xb3be2b[_0x2f4568(0xb1)]('data:'[_0x2f4568(0x12c)])['trim']();if(!_0x49c404)continue;try{const _0x13e5c9=JSON['parse'](_0x49c404);if(_0x20f215[_0x2f4568(0xff)](_0x13e5c9['id'],undefined)||_0x13e5c9[_0x2f4568(0xe6)])return _0x13e5c9;}catch{}}}throw new Error('No\x20JSON-RPC\x20response\x20found\x20in\x20SSE\x20stream');}return _0x180647[_0x2f4568(0xac)]();}function extractToken(_0x557c5c){const _0x5d3e90=_0x530b10,_0x8fbd3c={'bjrGQ':'Unknown\x20error','Yoojg':function(_0xd218ad,_0x34cf78){return _0xd218ad===_0x34cf78;},'Svmkw':_0x5d3e90(0x11f)};if(!_0x557c5c)return null;const _0x6ec253=_0x557c5c[_0x5d3e90(0x129)];if(_0x6ec253?.['token']&&typeof _0x6ec253[_0x5d3e90(0x109)]===_0x5d3e90(0x11f))return _0x6ec253['token'];if(_0x557c5c[_0x5d3e90(0xec)]){const _0x332c75=_0x557c5c['content'];throw new Error('Server\x20returned\x20error:\x20'+(_0x332c75?.[0x0]?.['text']??_0x8fbd3c['bjrGQ']));}const _0xad464f=_0x557c5c[_0x5d3e90(0xba)];if(_0xad464f)for(const _0x4b7646 of _0xad464f){if(_0x8fbd3c[_0x5d3e90(0x10f)](_0x4b7646['type'],'text')&&_0x4b7646[_0x5d3e90(0xa5)]){try{const _0x4e062c=JSON['parse'](_0x4b7646[_0x5d3e90(0xa5)]);if(typeof _0x4e062c?.['token']===_0x8fbd3c['Svmkw'])return _0x4e062c['token'];}catch{}const _0xd0d45d=_0x4b7646[_0x5d3e90(0xa5)][_0x5d3e90(0xad)](/(rngr_[A-Za-z0-9_-]+)/);if(_0xd0d45d)return _0xd0d45d[0x1];}}return null;}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
function
|
|
1
|
+
function _0x3913(_0x36d0fe,_0x19d9f1){_0x36d0fe=_0x36d0fe-0x90;var _0x1fa9b5=_0x1fa9();var _0x39133c=_0x1fa9b5[_0x36d0fe];return _0x39133c;}(function(_0x21a80a,_0x2fa89e){var _0x4b36c9=_0x3913,_0x3751fc=_0x21a80a();while(!![]){try{var _0x551699=-parseInt(_0x4b36c9(0x9f))/0x1+parseInt(_0x4b36c9(0x96))/0x2+parseInt(_0x4b36c9(0x95))/0x3*(-parseInt(_0x4b36c9(0x99))/0x4)+parseInt(_0x4b36c9(0x9a))/0x5+parseInt(_0x4b36c9(0x94))/0x6+parseInt(_0x4b36c9(0x9e))/0x7*(parseInt(_0x4b36c9(0x9b))/0x8)+-parseInt(_0x4b36c9(0x91))/0x9;if(_0x551699===_0x2fa89e)break;else _0x3751fc['push'](_0x3751fc['shift']());}catch(_0x29f064){_0x3751fc['push'](_0x3751fc['shift']());}}}(_0x1fa9,0xbb965));function _0x1fa9(){var _0x1eec33=['\x20\x20https://docs.ranger.net/main/concepts/profiles\x0a','error','673169vXCSaJ','455815iBdEcS','fallback;\x20you\x20can\x20delete\x20them\x20once\x20you\x20have\x20re-auth-ed.','21088287TbALeM','ifnQx','eZnws','8379978rfPaHx','51CwVEAH','2930208SUGraC','exit','\x20\x20ranger\x20profile\x20add\x20<name>\x0a','222532XFAJXL','3929030DdVqfL','72ifTPhI'];_0x1fa9=function(){return _0x1eec33;};return _0x1fa9();}export async function migrateProfile(_0x5b68ec,_0x347344){var _0x47a160=_0x3913,_0x50068b={'vaZsB':function(_0xce8f6b,_0x4fa634){return _0xce8f6b+_0x4fa634;},'yGkro':function(_0x5791a3,_0x1843cf){return _0x5791a3+_0x1843cf;},'ifnQx':function(_0x3cd550,_0x7396ac){return _0x3cd550+_0x7396ac;},'zjuWP':function(_0x18dbbb,_0x50d46e){return _0x18dbbb+_0x50d46e;},'eZnws':'ranger\x20profile\x20migrate\x20is\x20no\x20longer\x20supported.\x0a','ZCcUA':'To\x20set\x20up\x20a\x20fresh\x20profile,\x20run:\x0a'};console[_0x47a160(0x9d)](_0x50068b['vaZsB'](_0x50068b['yGkro'](_0x50068b['ifnQx'](_0x50068b['zjuWP'](_0x50068b[_0x47a160(0x92)](_0x50068b[_0x47a160(0x93)],'\x0a')+_0x50068b['ZCcUA'],_0x47a160(0x98))+'\x0a','For\x20CI\x20/\x20background\x20agents\x20and\x20other\x20setup\x20options,\x20see:\x0a')+_0x47a160(0x9c),'\x0a')+'Existing\x20sessions\x20in\x20your\x20old\x20<project>/.ranger/\x20dirs\x20still\x20work\x20as\x20a\x0a',_0x47a160(0x90))),process[_0x47a160(0x97)](0x1);}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(
|
|
1
|
+
(function(_0x43d541,_0x39be3f){const _0x9ed88f=_0x2b22,_0xfb3a0a=_0x43d541();while(!![]){try{const _0x55d5d7=parseInt(_0x9ed88f(0xd6))/0x1+parseInt(_0x9ed88f(0xbc))/0x2+-parseInt(_0x9ed88f(0xe5))/0x3*(parseInt(_0x9ed88f(0xd9))/0x4)+-parseInt(_0x9ed88f(0xd7))/0x5+-parseInt(_0x9ed88f(0xc3))/0x6+parseInt(_0x9ed88f(0xbe))/0x7*(parseInt(_0x9ed88f(0xed))/0x8)+parseInt(_0x9ed88f(0xda))/0x9*(parseInt(_0x9ed88f(0xf2))/0xa);if(_0x55d5d7===_0x39be3f)break;else _0xfb3a0a['push'](_0xfb3a0a['shift']());}catch(_0x552393){_0xfb3a0a['push'](_0xfb3a0a['shift']());}}}(_0x11ef,0xe6838));function _0x2b22(_0x3f9a90,_0x2bac72){_0x3f9a90=_0x3f9a90-0xbc;const _0x11ef46=_0x11ef();let _0x2b2207=_0x11ef46[_0x3f9a90];return _0x2b2207;}function _0x11ef(){const _0x25a82a=['enable','SKILL.md','pluginScope','FVaoN','output','error','uqPJX','ranger@trailhead','579197VbxQws','2226465XnjzQM','list','8412ptTmEn','940986kfgPjX','QvKwX','wantsSkillup','Project\x20(shared\x20with\x20team\x20via\x20git)','✓\x20Ranger\x20skills\x20already\x20installed','plugin','kaPal','Where\x20should\x20the\x20plugin\x20be\x20installed?','add','ilcdh','IxFHD','2331wdVboq','YsdmS','\x0a📦\x20Claude\x20Code\x20Plugin\x0a','ialoy','❌\x20Failed\x20to\x20add\x20marketplace:','project','\x0aYou\x20can\x20install\x20manually\x20with:','✓\x20Claude\x20Code\x20plugin\x20already\x20installed','12527008BTmlty','bMkiL','VkQgM','✓\x20Claude\x20Code\x20plugin\x20installed\x20successfully','success','130EwFgZt','2011100TFQcpY','ranger','7TJFShe','JNXfc','log','Vejlu','LwmyI','8917902ldXhrf','HgWDI','\x20\x20claude\x20plugin\x20marketplace\x20add\x20ranger-testing/trailhead','Would\x20you\x20like\x20to\x20install\x20skills?','prompt','✓\x20Marketplace\x20already\x20added','YGfNH','--scope','user','qQpsP','OtRsL'];_0x11ef=function(){return _0x25a82a;};return _0x11ef();}import{join}from'path';import{existsSync}from'fs';import _0x128821 from'inquirer';import{skillup}from'../skillup.js';import{runClaudeCommand,isMarketplaceAdded,isPluginInstalled}from'../utils/claudePlugin.js';import{getProjectRoot,getSkillsDir}from'../utils/claudeConfig.js';export async function ensureClaudePlugin(_0x5c66f2){const _0x1398b0=_0x2b22,_0x1e4efb={'kaPal':function(_0x169f8f,_0x33a235){return _0x169f8f(_0x33a235);},'IxFHD':_0x1398b0(0xd5),'ZJETK':_0x1398b0(0xec),'YGfNH':function(_0x5a05cb){return _0x5a05cb();},'LwmyI':_0x1398b0(0xea),'VkQgM':_0x1398b0(0xe7),'iGJsz':_0x1398b0(0xd8),'FVaoN':_0x1398b0(0xd0),'VwzBX':_0x1398b0(0xe1),'Vejlu':'User\x20(available\x20in\x20all\x20your\x20projects)','YsdmS':'trailhead','ilcdh':'marketplace','zMKUo':_0x1398b0(0xe2),'OKOFQ':_0x1398b0(0xeb),'UPbdK':_0x1398b0(0xc5),'HgWDI':'install','qQpsP':_0x1398b0(0xca),'ztGrF':function(_0x28754b,_0x4ff989){return _0x28754b===_0x4ff989;},'ePJtB':_0x1398b0(0xf0),'obfjI':'plugin','MIxJi':_0x1398b0(0xce),'uqPJX':'already\x20enabled','mnJVd':'⚠\x20Failed\x20to\x20enable\x20plugin:'},_0xd92ce1=await _0x1e4efb[_0x1398b0(0xe0)](isPluginInstalled,_0x1e4efb['IxFHD']);if(_0xd92ce1)return console[_0x1398b0(0xc0)](_0x1e4efb['ZJETK']),![];const _0x56212c=existsSync(join(_0x1e4efb[_0x1398b0(0xc9)](getProjectRoot),'.claude'));let _0x295cca;if(_0x5c66f2)_0x295cca=_0x5c66f2;else{if(_0x56212c)_0x295cca=_0x1e4efb[_0x1398b0(0xc2)];else{console[_0x1398b0(0xc0)](_0x1e4efb[_0x1398b0(0xef)]);const _0x3e7c0b=await _0x128821[_0x1398b0(0xc7)]([{'type':_0x1e4efb['iGJsz'],'name':_0x1e4efb[_0x1398b0(0xd1)],'message':_0x1e4efb['VwzBX'],'choices':[{'name':_0x1e4efb[_0x1398b0(0xc1)],'value':_0x1398b0(0xcb)},{'name':_0x1398b0(0xdd),'value':'project'}],'default':'user'}]);_0x295cca=_0x3e7c0b['pluginScope'];}}console[_0x1398b0(0xc0)]('\x0aInstalling\x20Claude\x20Code\x20plugin\x20('+_0x295cca+'\x20level)...\x0a');const _0x17a0bb=await _0x1e4efb[_0x1398b0(0xe0)](isMarketplaceAdded,_0x1e4efb[_0x1398b0(0xe6)]);let _0x24d812=_0x17a0bb;if(_0x17a0bb)console['log'](_0x1398b0(0xc8));else{const _0x2d1444=await runClaudeCommand(['plugin',_0x1e4efb[_0x1398b0(0xe3)],_0x1e4efb['zMKUo'],'ranger-testing/trailhead']);!_0x2d1444['success']?(console[_0x1398b0(0xd3)](_0x1398b0(0xe9),_0x2d1444[_0x1398b0(0xd3)]),console[_0x1398b0(0xc0)](_0x1e4efb['OKOFQ']),console[_0x1398b0(0xc0)](_0x1e4efb['UPbdK']),console[_0x1398b0(0xc0)]('\x20\x20claude\x20plugin\x20install\x20ranger@trailhead\x20--scope\x20'+_0x295cca)):_0x24d812=!![];}if(_0x24d812){const _0x23ba9b=await runClaudeCommand([_0x1398b0(0xdf),_0x1e4efb[_0x1398b0(0xc4)],'ranger@trailhead',_0x1e4efb[_0x1398b0(0xcc)],_0x295cca],{'cwd':_0x1e4efb['ztGrF'](_0x295cca,_0x1398b0(0xea))?getProjectRoot():undefined});if(!_0x23ba9b[_0x1398b0(0xf1)])console[_0x1398b0(0xd3)]('❌\x20Failed\x20to\x20install\x20plugin:',_0x23ba9b[_0x1398b0(0xd3)]),console[_0x1398b0(0xc0)]('\x0aYou\x20can\x20install\x20manually\x20with:'),console[_0x1398b0(0xc0)]('\x20\x20claude\x20plugin\x20install\x20ranger@trailhead\x20--scope\x20'+_0x295cca);else{console['log'](_0x1e4efb['ePJtB']);const _0xe0cde8=[_0x1e4efb['obfjI'],_0x1e4efb['MIxJi'],_0x1e4efb[_0x1398b0(0xe4)]];_0x295cca===_0x1e4efb[_0x1398b0(0xc2)]&&_0xe0cde8['push']('--scope',_0x1e4efb['LwmyI']);const _0x4154ee=await runClaudeCommand(_0xe0cde8,{'captureOutput':!![],'cwd':_0x1e4efb['ztGrF'](_0x295cca,_0x1398b0(0xea))?_0x1e4efb[_0x1398b0(0xc9)](getProjectRoot):undefined}),_0x5ed5a6=_0x4154ee[_0x1398b0(0xd2)]?.['includes'](_0x1e4efb[_0x1398b0(0xd4)]);!_0x4154ee[_0x1398b0(0xf1)]&&!_0x5ed5a6?console['error'](_0x1e4efb['mnJVd'],_0x4154ee[_0x1398b0(0xd3)]):console['log']('✓\x20Claude\x20Code\x20plugin\x20enabled');}}return!![];}export async function ensureClaudeSkills(_0x2fabd2){const _0x45db90=_0x2b22,_0x1f21f7={'ialoy':function(_0x5d2f8b,_0x4bd963){return _0x5d2f8b(_0x4bd963);},'QvKwX':function(_0x272372,_0x300317,_0x497069,_0x48aa6a){return _0x272372(_0x300317,_0x497069,_0x48aa6a);},'JNXfc':'user','bMkiL':_0x45db90(0xbd),'oAnJI':_0x45db90(0xde),'OtRsL':function(_0x539584,_0x4f6fce,_0x969569){return _0x539584(_0x4f6fce,_0x969569);}},_0x11cfc2=_0x1f21f7['ialoy'](existsSync,_0x1f21f7[_0x45db90(0xdb)](join,_0x1f21f7[_0x45db90(0xe8)](getSkillsDir,_0x1f21f7[_0x45db90(0xbf)]),_0x45db90(0xbd),_0x45db90(0xcf))),_0xf887e9=_0x1f21f7['ialoy'](existsSync,_0x1f21f7[_0x45db90(0xdb)](join,_0x1f21f7['ialoy'](getSkillsDir,_0x45db90(0xea)),_0x1f21f7[_0x45db90(0xee)],'SKILL.md'));if(_0x11cfc2||_0xf887e9)return console['log'](_0x1f21f7['oAnJI']),![];const _0xc02183=_0x1f21f7['ialoy'](existsSync,_0x1f21f7[_0x45db90(0xcd)](join,getProjectRoot(),'.claude'));let _0x2fe3e4=!![];if(_0x2fabd2)await _0x1f21f7['ialoy'](skillup,{'autoInstall':_0x2fabd2,'suppressUsage':!![]});else{if(_0xc02183)await _0x1f21f7['ialoy'](skillup,{'autoInstall':_0x45db90(0xea),'suppressUsage':!![]});else{const _0x13d202=await _0x128821[_0x45db90(0xc7)]([{'type':'confirm','name':_0x45db90(0xdc),'message':_0x45db90(0xc6),'default':!![]}]);_0x2fe3e4=_0x13d202[_0x45db90(0xdc)],_0x2fe3e4&&await _0x1f21f7['ialoy'](skillup,{'suppressUsage':!![]});}}return _0x2fe3e4;}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
function _0x322e(){const _0x3b24fa=['63hAAtZY','\x0a📦\x20OpenCode\x20Plugin\x0a','7602oTNSUK','User\x20(available\x20in\x20all\x20your\x20projects)','2028rIGWeL','prompt','42zGgaNn','Project\x20(shared\x20with\x20team\x20via\x20git)','✓\x20OpenCode\x20plugin\x20configured','Failed\x20to\x20read\x20opencode.json','@ranger-testing/opencode-plugin','user','577256XQDaZZ','5269oXMAlb','plugin','opencode.json','pluginScope','XgHsq','75140bDumnk','pUjcM','parse','project','utf-8','27845gvdAYx','12420SjKOCw','680MUPQWK','1446bjIfoL','TcyqW','includes','13165MrRgHz','384912EyfOmF','$schema','Where\x20should\x20the\x20plugin\x20be\x20installed?','log'];_0x322e=function(){return _0x3b24fa;};return _0x322e();}(function(_0x3d80e3,_0x53b50f){const _0x5071f2=_0x46f1,_0x557e51=_0x3d80e3();while(!![]){try{const _0x2b07c0=-parseInt(_0x5071f2(0x1af))/0x1*(parseInt(_0x5071f2(0x1c0))/0x2)+-parseInt(_0x5071f2(0x1b6))/0x3+parseInt(_0x5071f2(0x1b1))/0x4*(parseInt(_0x5071f2(0x1b5))/0x5)+parseInt(_0x5071f2(0x1b2))/0x6*(-parseInt(_0x5071f2(0x1bc))/0x7)+-parseInt(_0x5071f2(0x1a4))/0x8*(-parseInt(_0x5071f2(0x1ba))/0x9)+-parseInt(_0x5071f2(0x1b0))/0xa*(parseInt(_0x5071f2(0x1a5))/0xb)+-parseInt(_0x5071f2(0x1be))/0xc*(-parseInt(_0x5071f2(0x1aa))/0xd);if(_0x2b07c0===_0x53b50f)break;else _0x557e51['push'](_0x557e51['shift']());}catch(_0x235453){_0x557e51['push'](_0x557e51['shift']());}}}(_0x322e,0x57d9c));import{join}from'path';function _0x46f1(_0x494566,_0x37e6d5){_0x494566=_0x494566-0x19f;const _0x322e4b=_0x322e();let _0x46f167=_0x322e4b[_0x494566];return _0x46f167;}import{existsSync}from'fs';import{mkdir,readFile,writeFile}from'fs/promises';import _0x2ed354 from'inquirer';import{getOpencodeConfigDir}from'../utils/opencodeConfig.js';export async function ensureOpencodePluginConfig(_0x15d76e){const _0x151c3e=_0x46f1,_0x1029a8={'dwQWd':function(_0xf56e19,_0x41c561){return _0xf56e19(_0x41c561);},'XgHsq':_0x151c3e(0x1bb),'lmNxg':'pluginScope','pUjcM':_0x151c3e(0x1b8),'zNQiz':_0x151c3e(0x1bd),'bikTD':_0x151c3e(0x19f),'JtnuT':function(_0x4fe248,_0x596bae){return _0x4fe248(_0x596bae);},'negpd':'https://opencode.ai/config.json','TcyqW':_0x151c3e(0x1ae),'lWweY':'⚠\x20Failed\x20to\x20read\x20opencode.json.\x20Please\x20add\x20the\x20plugin\x20manually.','yBMCu':_0x151c3e(0x1a1),'OiMEw':function(_0x5d58b9,_0x1a1413,_0xffd11a){return _0x5d58b9(_0x1a1413,_0xffd11a);},'KwJCc':function(_0x5a0da6,_0x48590a){return _0x5a0da6(_0x48590a);},'SwKXe':_0x151c3e(0x1a0)},_0xe113a8=_0x1029a8['dwQWd'](existsSync,join(getOpencodeConfigDir('project'),_0x151c3e(0x1a7)));let _0x17a74d;if(_0x15d76e)_0x17a74d=_0x15d76e;else{if(_0xe113a8)_0x17a74d='project';else{console['log'](_0x1029a8[_0x151c3e(0x1a9)]);const _0x2bb8ee=await _0x2ed354[_0x151c3e(0x1bf)]([{'type':'list','name':_0x1029a8['lmNxg'],'message':_0x1029a8[_0x151c3e(0x1ab)],'choices':[{'name':_0x1029a8['zNQiz'],'value':'user'},{'name':_0x1029a8['bikTD'],'value':_0x151c3e(0x1ad)}],'default':_0x151c3e(0x1a3)}]);_0x17a74d=_0x2bb8ee[_0x151c3e(0x1a8)];}}const _0x6d6409=join(_0x1029a8['JtnuT'](getOpencodeConfigDir,_0x17a74d),'opencode.json'),_0x25be4d=_0x151c3e(0x1a2),_0x44e3dc=_0x1029a8['negpd'];let _0x1ebf2b={};if(existsSync(_0x6d6409))try{const _0x5163d5=await readFile(_0x6d6409,_0x1029a8[_0x151c3e(0x1b3)]);_0x1ebf2b=JSON[_0x151c3e(0x1ac)](_0x5163d5);}catch(_0x49e5d7){return console['error'](_0x1029a8['lWweY']),{'configured':![],'scope':_0x17a74d,'error':_0x1029a8['yBMCu'],'details':_0x49e5d7};}const _0x2e8396=Array['isArray'](_0x1ebf2b['plugin'])?_0x1ebf2b[_0x151c3e(0x1a6)]:[];if(_0x2e8396[_0x151c3e(0x1b4)](_0x25be4d))return console['log']('✓\x20OpenCode\x20plugin\x20already\x20configured'),{'configured':![],'scope':_0x17a74d};return _0x1ebf2b[_0x151c3e(0x1b7)]=_0x1ebf2b[_0x151c3e(0x1b7)]||_0x44e3dc,_0x1ebf2b[_0x151c3e(0x1a6)]=[..._0x2e8396,_0x25be4d],await _0x1029a8['OiMEw'](mkdir,_0x1029a8['KwJCc'](getOpencodeConfigDir,_0x17a74d),{'recursive':!![]}),await writeFile(_0x6d6409,JSON['stringify'](_0x1ebf2b,null,0x2)+'\x0a'),console[_0x151c3e(0x1b9)](_0x1029a8['SwKXe']),{'configured':!![],'scope':_0x17a74d};}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
function
|
|
1
|
+
function _0x1def(_0x101f91,_0xee37){_0x101f91=_0x101f91-0x159;var _0xe03d98=_0xe03d();var _0x1def60=_0xe03d98[_0x101f91];return _0x1def60;}(function(_0xed2c77,_0x30d800){var _0x262057=_0x1def,_0x74396b=_0xed2c77();while(!![]){try{var _0x122b2e=-parseInt(_0x262057(0x15d))/0x1+-parseInt(_0x262057(0x160))/0x2*(-parseInt(_0x262057(0x15a))/0x3)+parseInt(_0x262057(0x15b))/0x4+-parseInt(_0x262057(0x15f))/0x5+parseInt(_0x262057(0x15c))/0x6*(parseInt(_0x262057(0x159))/0x7)+parseInt(_0x262057(0x167))/0x8*(-parseInt(_0x262057(0x161))/0x9)+-parseInt(_0x262057(0x166))/0xa*(-parseInt(_0x262057(0x165))/0xb);if(_0x122b2e===_0x30d800)break;else _0x74396b['push'](_0x74396b['shift']());}catch(_0x336b62){_0x74396b['push'](_0x74396b['shift']());}}}(_0xe03d,0xaddc8));export async function setupCi(_0x1e253b,_0x2494ac,_0x10d007){var _0x139b0f=_0x1def,_0x375fc4={'JFmSe':function(_0x5965f1,_0x2bb1b1){return _0x5965f1+_0x2bb1b1;},'hUrJi':'ranger\x20setup\x20--ci\x20writes\x20to\x20the\x20legacy\x20.ranger/ci/\x20tree\x20which\x20is\x20no\x20longer\x20supported.\x0a','EKqnA':_0x139b0f(0x162)};console['error'](_0x375fc4[_0x139b0f(0x163)](_0x375fc4['JFmSe'](_0x375fc4['hUrJi']+'\x0a'+'To\x20set\x20up\x20a\x20fresh\x20profile,\x20run:\x0a',_0x375fc4['EKqnA'])+'\x0a','For\x20CI\x20/\x20background\x20agents\x20and\x20other\x20setup\x20options,\x20see:\x0a')+_0x139b0f(0x164)),process[_0x139b0f(0x15e)](0x1);}function _0xe03d(){var _0x177702=['\x20\x20ranger\x20profile\x20add\x20<name>\x0a','JFmSe','\x20\x20https://docs.ranger.net/main/concepts/profiles','1892ixPaLG','2670rvpPLH','1888JzKokN','77oonurN','341595siEXji','4413032kgAZvQ','355692NcksqE','557637WJWnWa','exit','2318845saGSBg','4jaqMnk','11268yQwLDP'];_0xe03d=function(){return _0x177702;};return _0xe03d();}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(
|
|
1
|
+
(function(_0x5cebb4,_0x5040d8){const _0x2c364d=_0x1400,_0x484eb2=_0x5cebb4();while(!![]){try{const _0x5dbdd8=-parseInt(_0x2c364d(0xc4))/0x1+-parseInt(_0x2c364d(0xc0))/0x2+-parseInt(_0x2c364d(0xdc))/0x3*(-parseInt(_0x2c364d(0xbf))/0x4)+-parseInt(_0x2c364d(0xe8))/0x5*(parseInt(_0x2c364d(0xc7))/0x6)+parseInt(_0x2c364d(0xbb))/0x7*(-parseInt(_0x2c364d(0xbc))/0x8)+parseInt(_0x2c364d(0xca))/0x9*(-parseInt(_0x2c364d(0xe5))/0xa)+parseInt(_0x2c364d(0xe0))/0xb*(parseInt(_0x2c364d(0xdb))/0xc);if(_0x5dbdd8===_0x5040d8)break;else _0x484eb2['push'](_0x484eb2['shift']());}catch(_0x988f1a){_0x484eb2['push'](_0x484eb2['shift']());}}}(_0x24c2,0x2065a));function _0x1400(_0x22455a,_0x326843){_0x22455a=_0x22455a-0xbb;const _0x24c2d7=_0x24c2();let _0x14002f=_0x24c2d7[_0x22455a];return _0x14002f;}import{basename}from'path';import _0x4ccc69 from'inquirer';function _0x24c2(){const _0x11997c=['150ilgxjs','aiIdY','Non-interactive\x20mode:\x20Installing\x20skills\x20at\x20project\x20level\x20(','556848GTIoVh','user-level','\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!','project-level','Bzbwa','warn','prompt','installLevel','opencode','project','guFtw','\x20successfully!\x0a','message','3|4|0|1|2|5','JVBwn','ranger','\x20--opencode','48XbvktW','471avkDuq','\x20skill','\x0a✅\x20Installed\x20','log','2129083alEoiW','rRQMU','/skills/','/.claude/skills/','✓\x20Found\x20API\x20token','20rIHZFZ','user','\x20<your-api-token>','47375HPWAiG','\x0a📦\x20Installing\x20skills...\x0a','RKlgY','list','28iIiORB','234448zMHCts','This\x20project\x20only\x20(','GdMaF','4252IkOpKN','195684UhEoln','\x20\x203.\x20Run:\x20ranger\x20skillup','dMvWX','suppressUsage','232720kfVhCf','autoInstall','To\x20use:'];_0x24c2=function(){return _0x11997c;};return _0x24c2();}import{getToken}from'./utils/keychain.js';import{installSkill}from'./utils/skills.js';import{getCurrentVersion}from'./utils/version.js';import{getClaudeConfigDir,getProjectRoot}from'./utils/claudeConfig.js';import{getOpencodeConfigDir}from'./utils/opencodeConfig.js';export async function skillup(_0x5df915={}){const _0xa51fa8=_0x1400,_0x2580a2={'RKlgY':'claude','dMvWX':function(_0x5df9f9){return _0x5df9f9();},'HDmgm':'\x20\x201.\x20Get\x20your\x20API\x20token\x20from\x20https://dashboard.ranger.net/cli','CFrzv':function(_0x62361,_0x140229){return _0x62361===_0x140229;},'rRQMU':'opencode','aiIdY':_0xa51fa8(0xda),'aUtPu':'❌\x20No\x20Ranger\x20API\x20token\x20found.\x0a','JVBwn':'user','Bzbwa':_0xa51fa8(0xd1),'DRdhP':_0xa51fa8(0xd3),'GdMaF':_0xa51fa8(0xe9),'guFtw':'\x20\x20Failed\x20to\x20install\x20ranger\x20skill:','uXioR':_0xa51fa8(0xcc)};console[_0xa51fa8(0xdf)]('\x0a🎯\x20Ranger\x20Skill\x20Setup\x0a');const _0x22947a=_0x5df915['platform']??_0x2580a2[_0xa51fa8(0xea)],_0x4051cd=await _0x2580a2[_0xa51fa8(0xc2)](getToken);if(!_0x4051cd){const _0x360c97=_0xa51fa8(0xd7)['split']('|');let _0x2653ec=0x0;while(!![]){switch(_0x360c97[_0x2653ec++]){case'0':console[_0xa51fa8(0xdf)](_0x2580a2['HDmgm']);continue;case'1':console[_0xa51fa8(0xdf)]('\x20\x202.\x20Run:\x20ranger\x20setup'+(_0x2580a2['CFrzv'](_0x22947a,_0x2580a2[_0xa51fa8(0xe1)])?_0x2580a2[_0xa51fa8(0xc8)]:'')+_0xa51fa8(0xe7));continue;case'2':console[_0xa51fa8(0xdf)](_0xa51fa8(0xc1)+(_0x22947a===_0xa51fa8(0xd2)?'\x20--opencode':'')+'\x0a');continue;case'3':console[_0xa51fa8(0xdf)](_0x2580a2['aUtPu']);continue;case'4':console['log']('To\x20get\x20started:');continue;case'5':return;}break;}}console[_0xa51fa8(0xdf)](_0xa51fa8(0xe4));const _0x2ed0b7=_0x2580a2[_0xa51fa8(0xc2)](getProjectRoot),_0x3346be=basename(_0x2ed0b7),_0x425bc0=_0x22947a===_0x2580a2['rRQMU']?getOpencodeConfigDir(_0x2580a2[_0xa51fa8(0xd8)])+'/skills/':getClaudeConfigDir()+_0xa51fa8(0xe2),_0xbf653b=_0x2580a2['CFrzv'](_0x22947a,_0x2580a2[_0xa51fa8(0xe1)])?_0x2ed0b7+'/.opencode/skills/':_0x2ed0b7+_0xa51fa8(0xe3),_0x5b16a5=process['stdin']['isTTY']&&process['stdout']['isTTY'];let _0xbe2d1;if(_0x5df915[_0xa51fa8(0xc5)])_0xbe2d1=_0x5df915[_0xa51fa8(0xc5)];else{if(_0x5b16a5){const _0x586755=await _0x4ccc69[_0xa51fa8(0xd0)]([{'type':_0xa51fa8(0xeb),'name':_0x2580a2[_0xa51fa8(0xce)],'message':'Where\x20should\x20skills\x20be\x20installed?','choices':[{'name':'All\x20projects\x20('+_0x425bc0+')','value':'user'},{'name':_0xa51fa8(0xbd)+_0xbf653b+')','value':_0x2580a2['DRdhP']}]}]);_0xbe2d1=_0x586755[_0xa51fa8(0xd1)];}else _0xbe2d1=_0x2580a2['DRdhP'],console['log'](_0xa51fa8(0xc9)+_0xbf653b+')');}let _0xb999b2=0x0;const _0x386a01=_0x2580a2['dMvWX'](getCurrentVersion);console['log'](_0x2580a2[_0xa51fa8(0xbe)]);try{const _0x322cc7=await installSkill(_0xa51fa8(0xd9),{'cliVersion':_0x386a01,'level':_0xbe2d1,'platform':_0x22947a});_0x322cc7&&_0xb999b2++;}catch(_0x1feb43){console[_0xa51fa8(0xcf)](_0x2580a2[_0xa51fa8(0xd4)],_0x1feb43 instanceof Error?_0x1feb43[_0xa51fa8(0xd6)]:_0x1feb43);}if(_0xb999b2>0x0){const _0x4a5cb2=_0xbe2d1===_0xa51fa8(0xe6)?_0xa51fa8(0xcb):_0xa51fa8(0xcd);console[_0xa51fa8(0xdf)](_0xa51fa8(0xde)+_0xb999b2+'\x20'+_0x4a5cb2+_0xa51fa8(0xdd)+(_0xb999b2>0x1?'s':'')+_0xa51fa8(0xd5)),!_0x5df915[_0xa51fa8(0xc3)]&&(console[_0xa51fa8(0xdf)](_0xa51fa8(0xc6)),_0x22947a===_0xa51fa8(0xd2)?console[_0xa51fa8(0xdf)]('\x20\x20-\x20Start\x20OpenCode\x20and\x20run\x20the\x20`ranger_enable`\x20tool\x20to\x20enable\x20hooks.'):console[_0xa51fa8(0xdf)](_0x2580a2['uXioR']));}else console['log']('\x0a⚠️\x20\x20No\x20skills\x20were\x20installed.\x0a');}
|
package/build/commands/start.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
const _0xe9931d=_0x5adf;(function(_0x115024,_0x1a2f10){const _0x2f2f8a=_0x5adf,_0x410b6d=_0x115024();while(!![]){try{const _0x2878ff=parseInt(_0x2f2f8a(0x1c8))/0x1*(-parseInt(_0x2f2f8a(0x19e))/0x2)+parseInt(_0x2f2f8a(0x194))/0x3*(parseInt(_0x2f2f8a(0x16b))/0x4)+-parseInt(_0x2f2f8a(0x172))/0x5+-parseInt(_0x2f2f8a(0x173))/0x6+parseInt(_0x2f2f8a(0x17b))/0x7*(parseInt(_0x2f2f8a(0x178))/0x8)+parseInt(_0x2f2f8a(0x1c9))/0x9+parseInt(_0x2f2f8a(0x197))/0xa*(parseInt(_0x2f2f8a(0x1a3))/0xb);if(_0x2878ff===_0x1a2f10)break;else _0x410b6d['push'](_0x410b6d['shift']());}catch(_0x67abc6){_0x410b6d['push'](_0x410b6d['shift']());}}}(_0xaae9,0x6e663));import{mkdir,writeFile}from'fs/promises';import{join}from'path';import{existsSync}from'fs';import{createRequire}from'module';import{spawn}from'child_process';import _0x4ca0b8 from'inquirer';function _0x5adf(_0x27ca92,_0x33171c){_0x27ca92=_0x27ca92-0x169;const _0xaae9f8=_0xaae9();let _0x5adfac=_0xaae9f8[_0x27ca92];return _0x5adfac;}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 _0xaae9(){const _0x429c40=['TPjbV','\x20install\x20chromium','✓\x20Local\x20profile\x20already\x20exists','url','1ryHYhN','6363045hiCniy','UefQH','local','success','4JIYrpZ','auth','iwuCq','\x0a\x20\x20(opens\x20a\x20browser\x20so\x20you\x20can\x20log\x20in\x20once)','1.58.2','iUcHz','\x0a⚠\x20Skipping\x20Chromium\x20installation.','1370845kSBUGD','4671222NnABOe','inherit','\x0aagent\x20like\x20usual.\x20Claude\x20will\x20create\x20a\x20feature\x20review\x20with','\x0averification\x20to\x20check\x20its\x20work\x20as\x20it\x20builds.','PaGaV','557616GzBWkp','provided_token','\x20\x20Failed\x20to\x20install\x20OpenCode\x20skill:','21sPXmdK','force','playwright@','eLnQn','prompt','status','trackPhaseStart','\x0a❌\x20Profile\x20setup\x20failed:','\x0a✅\x20Ranger\x20setup\x20complete!\x0a','--with-deps','Sspbk','You\x20will\x20need\x20to\x20install\x20it\x20before\x20using\x20Ranger:','The\x20required\x20version\x20(','\x1b[0m','GITHUB_ENV','TIHmt','verification\x20to\x20check\x20its\x20work\x20as\x20it\x20builds.','organizationName','skipAuth','error','chromium','Authentication\x20failed:\x20','brAgC','ready','GEFvd','734259OKWKBI','JCUYQ','trackPhaseEnd','15910dcFQNg','\x0a✓\x20Playwright\x20Chromium\x20installed\x20successfully','.gitignore','rELvb','lkpMi','allowInsecureLocalhost','skipChromium','231524VJbtOI','Failed\x20to\x20validate\x20provisioned\x20API\x20key:\x20','.\x20Please\x20check\x20your\x20network\x20connection\x20and\x20server\x20URL.','TdQLF','XxRqY','3179ppfDma','taRcT','KulIr','withDeps','scope','user','platform','✓\x20Skipping\x20Chromium\x20check\x20(--skip-chromium)','message','You\x20can\x20install\x20it\x20manually\x20by\x20running:','log','Could\x20not\x20determine\x20local\x20Playwright\x20version.\x20Install\x20Playwright\x20Chromium\x20using\x20fallback\x20version\x20','fdlBN','\x20now?','\x20and\x20prompt\x20the\x20coding','Validating\x20API\x20token...','✓\x20Authenticated\x20to\x20','xyKPe','FpzdQ','install','GEWeA','plugin','ignore','PQRNj','\x0a\x20\x20https://docs.ranger.net/main/concepts/profiles','ranger','szcQm','Failed\x20to\x20connect\x20to\x20MCP\x20server:\x20','\x1b[1m','\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','project-scope\x20setup\x20obsolete).\x20Drop\x20the\x20--scope\x20flag\x20or\x20pass\x20--scope=user.','version','profile'];_0xaae9=function(){return _0x429c40;};return _0xaae9();}import{getCurrentVersion}from'./utils/version.js';import{ensureClaudePlugin,ensureClaudeSkills}from'./setup/claude.js';import{ensureOpencodePluginConfig}from'./setup/opencode.js';import{installSkill}from'./utils/skills.js';const require=createRequire(import.meta.url);export const PLAYWRIGHT_CHROMIUM_INSTALL_FALLBACK_VERSION=_0xe9931d(0x16f);const bold=_0x5b3bf3=>_0xe9931d(0x1bf)+_0x5b3bf3+_0xe9931d(0x188);export function getPlaywrightVersion(){const _0x3d0136=_0xe9931d;try{const _0x13c5bc=require['resolve']('playwright/package.json'),_0x2142e7=require(_0x13c5bc);return _0x2142e7[_0x3d0136(0x1c2)];}catch{return null;}}export function installChromiumBinary(_0x8e02b9,_0x14d6ce=![]){const _0x41e31d=_0xe9931d,_0x39c8ce={'desaT':_0x41e31d(0x1b6),'tChFM':_0x41e31d(0x184),'xMxvW':function(_0x1425d3,_0x3b6e52,_0x51230f,_0x7f1331){return _0x1425d3(_0x3b6e52,_0x51230f,_0x7f1331);},'GEFvd':'npx','iUcHz':_0x41e31d(0x1b9),'aMBMH':function(_0x1336f3,_0x343cd5){return _0x1336f3===_0x343cd5;},'lkpMi':_0x41e31d(0x18e)};return new Promise((_0x49e726,_0x592b69)=>{const _0xe891a4=_0x41e31d,_0x37608e=[_0xe891a4(0x17d)+_0x8e02b9,_0x39c8ce['desaT'],..._0x14d6ce?[_0x39c8ce['tChFM']]:[],'chromium'],_0xd27c4d=_0x39c8ce['xMxvW'](spawn,_0x39c8ce[_0xe891a4(0x193)],_0x37608e,{'stdio':[_0x39c8ce[_0xe891a4(0x170)],'inherit',_0xe891a4(0x174)],'shell':_0x39c8ce['aMBMH'](process[_0xe891a4(0x1a9)],'win32')});_0xd27c4d['on']('close',_0xf99c8c=>{_0xf99c8c===0x0?_0x49e726():_0x592b69(new Error('Installation\x20failed\x20with\x20exit\x20code\x20'+_0xf99c8c));}),_0xd27c4d['on'](_0x39c8ce[_0xe891a4(0x19b)],_0x58ac38=>{_0x592b69(_0x58ac38);});});}export async function authenticate(_0x34ac96){const _0x16644f=_0xe9931d,_0x193e3f={'ZNtYr':function(_0x213cf1){return _0x213cf1();},'RybGi':'existing_token','UfcAf':function(_0x213594,_0x33f69d){return _0x213594 instanceof _0x33f69d;},'awhlC':_0x16644f(0x1b2),'fZLNE':function(_0x4caf66,_0x17312e){return _0x4caf66(_0x17312e);},'zXvFC':'✓\x20Exported\x20credentials\x20for\x20CI','PaGaV':'✓\x20Stored\x20credentials\x20locally'};if(!_0x34ac96){const _0x52ab47=await _0x193e3f['ZNtYr'](getToken);if(_0x52ab47){const _0x3e4eaa=await getCurrentUser(_0x52ab47);if(_0x3e4eaa['success'])return console[_0x16644f(0x1ad)]('✓\x20Already\x20authenticated\x20to\x20'+_0x3e4eaa['user']['organizationName']),{'token':_0x52ab47,'method':_0x193e3f['RybGi']};}try{_0x34ac96=await runDeviceAuthFlow();}catch(_0x489c78){throw new Error(_0x16644f(0x190)+(_0x193e3f['UfcAf'](_0x489c78,Error)?_0x489c78[_0x16644f(0x1ab)]:_0x489c78));}const _0x1c5180=await getCurrentUser(_0x34ac96);if(!_0x1c5180[_0x16644f(0x16a)])throw new Error(_0x16644f(0x19f)+_0x1c5180['error']);return console[_0x16644f(0x1ad)]('✓\x20Authenticated\x20to\x20'+_0x1c5180['user'][_0x16644f(0x18c)]),{'token':_0x34ac96,'method':'device_auth'};}console['log'](_0x193e3f['awhlC']);const _0x4f6aa6=await getCurrentUser(_0x34ac96);if(!_0x4f6aa6[_0x16644f(0x16a)]){if(_0x4f6aa6[_0x16644f(0x180)])throw new Error(_0x16644f(0x190)+_0x4f6aa6['error']+'.\x20Please\x20check\x20your\x20API\x20token\x20and\x20try\x20again.');else throw new Error(_0x16644f(0x1be)+_0x4f6aa6[_0x16644f(0x18e)]+_0x16644f(0x1a0));}return console[_0x16644f(0x1ad)](_0x16644f(0x1b3)+_0x4f6aa6[_0x16644f(0x1a8)][_0x16644f(0x18c)]),await _0x193e3f['fZLNE'](storeToken,_0x34ac96),console[_0x16644f(0x1ad)](process['env'][_0x16644f(0x189)]?_0x193e3f['zXvFC']:_0x193e3f[_0x16644f(0x177)]),{'token':_0x34ac96,'method':_0x16644f(0x179)};}export async function ensureRangerDir(_0x1200dd){const _0x5aa2f2=_0xe9931d,_0x34e63f={'EcVxW':'✓\x20Created\x20~/.ranger/\x20directory'};void _0x1200dd;const _0x402a94=getRangerHomeDir();return!existsSync(_0x402a94)?(await mkdir(_0x402a94,{'recursive':!![]}),console[_0x5aa2f2(0x1ad)](_0x34e63f['EcVxW']),{'path':_0x402a94,'installed':!![]}):(console['log']('✓\x20~/.ranger/\x20directory\x20already\x20exists'),{'path':_0x402a94,'installed':![]});}export async function ensureChromium(_0x54860b=![]){const _0x529ea0=_0xe9931d,_0x37c39e={'jqNLx':function(_0x37eb37,_0xae1ef7){return _0x37eb37??_0xae1ef7;},'pHQex':'confirm','bnNPJ':'install','gdKDJ':'\x20(fallback\x20version)','Sspbk':_0x529ea0(0x198),'MsKFQ':'\x0a❌\x20Failed\x20to\x20install\x20Chromium:','xMrSv':function(_0x2bc99f,_0x17f89){return _0x2bc99f instanceof _0x17f89;}};let _0x5cb9f9=![];try{const _0x3d3a8b=chromium['executablePath']();_0x5cb9f9=existsSync(_0x3d3a8b);}catch{_0x5cb9f9=![];}if(_0x5cb9f9)return console['log']('✓\x20Playwright\x20Chromium\x20browser\x20found'),![];const _0x59d9bd=getPlaywrightVersion(),_0x5e5021=_0x37c39e['jqNLx'](_0x59d9bd,PLAYWRIGHT_CHROMIUM_INSTALL_FALLBACK_VERSION),_0xbabbc9=!_0x59d9bd,_0x3f4ca9=process['stdin']['isTTY']&&process['stdout']['isTTY'];let _0x383a73=!![];if(_0x3f4ca9){const {install:_0x4678cf}=await _0x4ca0b8[_0x529ea0(0x17f)]([{'type':_0x37c39e['pHQex'],'name':_0x37c39e['bnNPJ'],'message':_0xbabbc9?_0x529ea0(0x1ae)+_0x5e5021+_0x529ea0(0x1b0):_0x529ea0(0x187)+_0x5e5021+')\x20of\x20the\x20Playwright\x20Chromium\x20browser\x20is\x20not\x20installed.\x20Install\x20it\x20now?','default':!![]}]);_0x383a73=_0x4678cf;}else console[_0x529ea0(0x1ad)]('\x0aNon-interactive\x20mode:\x20Auto-installing\x20Playwright\x20Chromium\x20'+_0x5e5021+(_0xbabbc9?_0x37c39e['gdKDJ']:'')+'...');if(_0x383a73){console[_0x529ea0(0x1ad)]('\x0aInstalling\x20Chromium\x20browser...\x0a');try{await installChromiumBinary(_0x5e5021,_0x54860b),console[_0x529ea0(0x1ad)](_0x37c39e[_0x529ea0(0x185)]);}catch(_0x1ba8a6){console['error'](_0x37c39e['MsKFQ'],_0x37c39e['xMrSv'](_0x1ba8a6,Error)?_0x1ba8a6[_0x529ea0(0x1ab)]:_0x1ba8a6),console[_0x529ea0(0x1ad)](_0x529ea0(0x1ac)),console['log']('\x20\x20npx\x20playwright@'+_0x5e5021+_0x529ea0(0x1c5));}}else console['log'](_0x529ea0(0x171)),console[_0x529ea0(0x1ad)](_0x529ea0(0x186)),console['log']('\x20\x20npx\x20playwright@'+_0x5e5021+_0x529ea0(0x1c5));return!![];}export async function writeRangerGitignore(_0x3f1111){const _0x48cfae=_0xe9931d,_0x8b9d57={'PQRNj':'✓\x20Created\x20.ranger/.gitignore'},_0x34df31=join(_0x3f1111,_0x48cfae(0x199)),_0x4090b5=_0x48cfae(0x1c0);await writeFile(_0x34df31,_0x4090b5),console[_0x48cfae(0x1ad)](_0x8b9d57[_0x48cfae(0x1ba)]);}export async function ensureLocalEnv(_0x43e13a,_0x5d735c){const _0x5015f2=_0xe9931d,_0x4f6163={'KulIr':function(_0x573915){return _0x573915();},'XxRqY':function(_0x2326a9,_0x357349){return _0x2326a9!==_0x357349;},'TIHmt':'user','opUTL':function(_0x43329f,_0x3daf81){return _0x43329f===_0x3daf81;},'rbOXI':function(_0x43d5c3,_0x263224,_0x2d5354,_0x5e7d13){return _0x43d5c3(_0x263224,_0x2d5354,_0x5e7d13);},'wuZOy':_0x5015f2(0x169)};if(!_0x4f6163[_0x5015f2(0x1a5)](findGitRoot)&&_0x4f6163[_0x5015f2(0x1a2)](_0x43e13a?.['scope'],_0x4f6163[_0x5015f2(0x18a)]))return console['log']('⚠\x20No\x20git\x20repository\x20found.\x20Re-run\x20with\x20`--scope\x20user`\x20to\x20store\x20the\x20profile\x20at\x20~/.ranger/.'),{'ready':![],'skipped':!![]};const _0x42bbd1=_0x4f6163['opUTL'](_0x43e13a?.[_0x5015f2(0x1a7)],_0x5015f2(0x1a8))?getRangerHomeDir():undefined;if(findExistingEnv('local',{'locations':['local'],'rangerDir':_0x42bbd1}))return console['log'](_0x5015f2(0x1c6)),{'ready':!![],'skipped':![]};try{return await _0x4f6163['rbOXI'](addEnv,_0x4f6163['wuZOy'],{'url':_0x43e13a?.[_0x5015f2(0x1c7)],'force':_0x43e13a?.[_0x5015f2(0x17c)],'allowInsecureLocalhost':_0x43e13a?.[_0x5015f2(0x19c)],'scope':_0x43e13a?.[_0x5015f2(0x1a7)]},_0x5d735c),{'ready':!![],'skipped':![]};}catch(_0x3adeae){return console['error'](_0x5015f2(0x182),_0x3adeae instanceof Error?_0x3adeae['message']:_0x3adeae),{'ready':![],'skipped':![]};}}export async function start(_0x4677aa,_0x229652,_0x31dfe3){const _0x7a9910=_0xe9931d,_0x49f58e={'taRcT':function(_0x2fcdca,_0x5109ec){return _0x2fcdca+_0x5109ec;},'GEWeA':function(_0x218a14,_0x4e11b8){return _0x218a14(_0x4e11b8);},'JCUYQ':_0x7a9910(0x1a8),'Lhxcf':function(_0x294a12){return _0x294a12();},'iwuCq':'✓\x20Skipping\x20authentication\x20(--skip-auth)','xyKPe':'skipped','fdlBN':'auth','SuYVO':_0x7a9910(0x1aa),'eLnQn':'chromium','TPjbV':_0x7a9910(0x183),'TdQLF':'plugin','FpzdQ':'skills','brAgC':function(_0x3797c3,_0x2b5d99,_0x4af167){return _0x3797c3(_0x2b5d99,_0x4af167);},'iXHXI':function(_0x12b9bf){return _0x12b9bf();},'rELvb':_0x7a9910(0x17a),'szcQm':function(_0x80609a,_0x7007b1){return _0x80609a+_0x7007b1;},'IvWfq':function(_0x188b40,_0x5499c5){return _0x188b40+_0x5499c5;},'UefQH':function(_0x575b82,_0x3f4642){return _0x575b82(_0x3f4642);},'UODzf':function(_0x3eb838,_0x37ff4b){return _0x3eb838+_0x37ff4b;}};console[_0x7a9910(0x1ad)]('\x0a🚀\x20Ranger\x20Setup\x0a');_0x229652?.[_0x7a9910(0x1a7)]!==undefined&&_0x229652['scope']!=='user'&&(console['error'](_0x49f58e[_0x7a9910(0x1a4)]('ranger\x20setup\x20--scope='+_0x49f58e['GEWeA'](String,_0x229652['scope'])+'\x20is\x20no\x20longer\x20supported.\x20'+'Setup\x20always\x20installs\x20at\x20user\x20scope\x20now\x20(cloud\x20profiles\x20make\x20',_0x7a9910(0x1c1))),process['exit'](0x1));_0x229652={..._0x229652,'scope':_0x49f58e[_0x7a9910(0x195)]};const _0xadd1d4=!_0x49f58e['GEWeA'](existsSync,_0x49f58e['Lhxcf'](getRangerHomeDir));await _0x49f58e['GEWeA'](ensureRangerDir,_0x49f58e[_0x7a9910(0x195)]);if(_0x229652?.['skipAuth'])console[_0x7a9910(0x1ad)](_0x49f58e[_0x7a9910(0x16d)]),_0x31dfe3?.['trackPhaseEnd'](_0x7a9910(0x16c),{'isFirstRun':_0xadd1d4,'method':_0x49f58e[_0x7a9910(0x1b4)]});else{_0x31dfe3?.['trackPhaseStart'](_0x49f58e[_0x7a9910(0x1af)]);const _0x11caa7=await authenticate(_0x4677aa);_0x31dfe3?.['trackPhaseEnd'](_0x7a9910(0x16c),{'isFirstRun':_0xadd1d4,'method':_0x11caa7['method']});}_0x31dfe3?.['trackPhaseStart'](_0x7a9910(0x18f));_0x229652?.[_0x7a9910(0x19d)]?console[_0x7a9910(0x1ad)](_0x49f58e['SuYVO']):await _0x49f58e[_0x7a9910(0x1b7)](ensureChromium,_0x229652?.[_0x7a9910(0x1a6)]);_0x31dfe3?.[_0x7a9910(0x196)](_0x49f58e[_0x7a9910(0x17e)],{'isFirstRun':_0xadd1d4,'skipped':!!_0x229652?.[_0x7a9910(0x19d)]}),console[_0x7a9910(0x1ad)](_0x49f58e[_0x7a9910(0x1c4)]);const _0x14b8ed=_0x229652?.[_0x7a9910(0x1a7)],_0x493358=_0x229652?.['opencode']??![];let _0x3dc8f6=null;_0x493358?(_0x31dfe3?.[_0x7a9910(0x181)]('plugin'),_0x3dc8f6=await _0x49f58e['GEWeA'](ensureOpencodePluginConfig,_0x14b8ed),_0x31dfe3?.['trackPhaseEnd'](_0x49f58e['TdQLF'],{'isFirstRun':_0xadd1d4,'opencode':!![]})):(_0x31dfe3?.['trackPhaseStart'](_0x7a9910(0x1b8)),await ensureClaudePlugin(_0x14b8ed),_0x31dfe3?.['trackPhaseEnd'](_0x49f58e[_0x7a9910(0x1a1)],{'isFirstRun':_0xadd1d4}));if(_0x493358&&_0x3dc8f6){_0x31dfe3?.[_0x7a9910(0x181)](_0x49f58e['FpzdQ']);try{await _0x49f58e[_0x7a9910(0x191)](installSkill,_0x7a9910(0x1bc),{'level':_0x3dc8f6['scope'],'cliVersion':_0x49f58e['iXHXI'](getCurrentVersion),'platform':'opencode'}),_0x31dfe3?.['trackPhaseEnd'](_0x49f58e['FpzdQ'],{'isFirstRun':_0xadd1d4,'opencode':!![]});}catch(_0xd96454){console['warn'](_0x49f58e[_0x7a9910(0x19a)],_0xd96454 instanceof Error?_0xd96454[_0x7a9910(0x1ab)]:_0xd96454),_0x31dfe3?.['trackPhaseEnd'](_0x49f58e['FpzdQ'],{'isFirstRun':_0xadd1d4,'opencode':!![],'failed':!![]});}}else _0x31dfe3?.[_0x7a9910(0x181)](_0x49f58e[_0x7a9910(0x1b5)]),await _0x49f58e[_0x7a9910(0x1b7)](ensureClaudeSkills,_0x14b8ed),_0x31dfe3?.['trackPhaseEnd']('skills',{'isFirstRun':_0xadd1d4});if(_0x229652?.[_0x7a9910(0x18d)])console[_0x7a9910(0x1ad)]('\x0aSkipping\x20profile\x20setup\x20(--skip-auth).\x20Run\x20`ranger\x20setup`\x20with\x20auth\x20to\x20add\x20a\x20profile\x20later.\x0a');else{if(_0x229652?.[_0x7a9910(0x1c7)]){_0x31dfe3?.[_0x7a9910(0x181)](_0x7a9910(0x1c3));const _0x52103f=await ensureLocalEnv({'url':_0x229652['url'],'force':_0x229652?.[_0x7a9910(0x17c)],'allowInsecureLocalhost':_0x229652?.[_0x7a9910(0x19c)],'scope':'user'},_0x31dfe3);_0x31dfe3?.[_0x7a9910(0x196)]('profile',{'isFirstRun':_0xadd1d4,'profileReady':_0x52103f[_0x7a9910(0x192)],'userSkipped':_0x52103f['skipped']});}else console[_0x7a9910(0x1ad)](_0x49f58e[_0x7a9910(0x1bd)](_0x49f58e['IvWfq']('\x0aTo\x20set\x20up\x20a\x20profile\x20for\x20your\x20app,\x20run:'+('\x0a\x20\x20'+_0x49f58e[_0x7a9910(0x1ca)](bold,'ranger\x20profile\x20add\x20<name>'))+_0x7a9910(0x16e),'\x0a\x0aFor\x20CI\x20/\x20background\x20agents\x20and\x20other\x20setup\x20options,\x20see:'),_0x7a9910(0x1bb)));}if(_0x493358)console['log']('\x0aIn\x20OpenCode,\x20enable\x20Ranger\x20hooks\x20(run\x20the\x20`ranger_enable`\x20tool)'),console[_0x7a9910(0x1ad)]('and\x20prompt\x20the\x20agent\x20like\x20usual.\x20Ranger\x20will\x20create\x20a\x20feature\x20review'),console[_0x7a9910(0x1ad)]('with\x20scenarios\x20describing\x20what\x20to\x20verify\x20and\x20then\x20run\x20browser'),console[_0x7a9910(0x1ad)](_0x7a9910(0x18b));else{const _0x2083dd=bold('/ranger:enable');console[_0x7a9910(0x1ad)](_0x49f58e['UODzf']('\x0aIn\x20Claude\x20Code,\x20run\x20'+_0x2083dd+_0x7a9910(0x1b1)+_0x7a9910(0x175)+'\x0ascenarios\x20describing\x20what\x20to\x20verify\x20and\x20then\x20run\x20browser',_0x7a9910(0x176)));}}
|
|
1
|
+
const _0x5071b4=_0xa611;(function(_0x481740,_0x2269b7){const _0x89418=_0xa611,_0x182230=_0x481740();while(!![]){try{const _0x396d11=parseInt(_0x89418(0xc2))/0x1*(parseInt(_0x89418(0xaf))/0x2)+-parseInt(_0x89418(0xe1))/0x3+-parseInt(_0x89418(0xda))/0x4*(-parseInt(_0x89418(0xe2))/0x5)+-parseInt(_0x89418(0xb0))/0x6*(-parseInt(_0x89418(0xa8))/0x7)+parseInt(_0x89418(0xf9))/0x8*(parseInt(_0x89418(0xe0))/0x9)+parseInt(_0x89418(0xbd))/0xa*(parseInt(_0x89418(0xb4))/0xb)+parseInt(_0x89418(0xe9))/0xc*(-parseInt(_0x89418(0xf2))/0xd);if(_0x396d11===_0x2269b7)break;else _0x182230['push'](_0x182230['shift']());}catch(_0x23bd5a){_0x182230['push'](_0x182230['shift']());}}}(_0xea47,0x56cf9));function _0xa611(_0x2b0afe,_0x5b400d){_0x2b0afe=_0x2b0afe-0x98;const _0xea47fc=_0xea47();let _0xa61153=_0xea47fc[_0x2b0afe];return _0xa61153;}import{mkdir,writeFile}from'fs/promises';import{join}from'path';import{existsSync}from'fs';import{createRequire}from'module';import{spawn}from'child_process';import _0x43049a from'inquirer';import{getToken,storeToken}from'./utils/keychain.js';import{getCurrentUser}from'./utils/userApi.js';import{chromium}from'playwright';import{addEnv}from'./addEnv.js';import{getRangerHomeDir,findGitRoot}from'./utils/rangerRoot.js';import{runDeviceAuthFlow}from'./utils/deviceAuth.js';import{findExistingEnv}from'./utils/settings.js';import{getCurrentVersion}from'./utils/version.js';import{ensureClaudePlugin,ensureClaudeSkills}from'./setup/claude.js';import{ensureOpencodePluginConfig}from'./setup/opencode.js';import{installSkill}from'./utils/skills.js';const require=createRequire(import.meta.url);export const PLAYWRIGHT_CHROMIUM_INSTALL_FALLBACK_VERSION=_0x5071b4(0xf6);function _0xea47(){const _0x42f9ae=['You\x20can\x20install\x20it\x20manually\x20by\x20running:','Authentication\x20failed:\x20','GITHUB_ENV','and\x20prompt\x20the\x20agent\x20like\x20usual.\x20Ranger\x20will\x20create\x20a\x20feature\x20review','68agyVxJ','knxHp','scope','Setup\x20always\x20installs\x20at\x20user\x20scope\x20now\x20(cloud\x20profiles\x20make\x20','ranger\x20profile\x20add\x20<name>','oAZhu','UEdit','NwUiA','npx','success','slopL','chromium','version','\x0a❌\x20Profile\x20setup\x20failed:','allowInsecureLocalhost','yMJMQ','bBeQr','✓\x20Playwright\x20Chromium\x20browser\x20found','inherit','FmlcH','skipped','QKGIC','vtlOh','\x20is\x20no\x20longer\x20supported.\x20','20paSrti','skipChromium','error','trackPhaseStart','user','\x20\x20Failed\x20to\x20install\x20OpenCode\x20skill:','126HfjlZs','243249TMYodR','566025KtBimk','\x0a\x20\x20https://docs.ranger.net/main/concepts/profiles','SjFTn','auth','platform','verification\x20to\x20check\x20its\x20work\x20as\x20it\x20builds.','\x0a\x20\x20','1291692jlSLzs','kUDzj','CfZEL','✓\x20Created\x20.ranger/.gitignore','\x20install\x20chromium','install','✓\x20Created\x20~/.ranger/\x20directory','trackPhaseEnd','HqZxD','208ygWmCz','AgJEo','naVBn','message','1.58.2','\x0averification\x20to\x20check\x20its\x20work\x20as\x20it\x20builds.','cQQqe','218096DiXzlq','\x0aIn\x20OpenCode,\x20enable\x20Ranger\x20hooks\x20(run\x20the\x20`ranger_enable`\x20tool)','The\x20required\x20version\x20(','opencode','exit','PgtdA','close','aqvvA','nBycZ','ranger','status','warn','/ranger:enable','oRKpd','resolve','log','playwright/package.json','CQPsA','url','VDkpv','\x0ascenarios\x20describing\x20what\x20to\x20verify\x20and\x20then\x20run\x20browser','\x0aSkipping\x20profile\x20setup\x20(--skip-auth).\x20Run\x20`ranger\x20setup`\x20with\x20auth\x20to\x20add\x20a\x20profile\x20later.\x0a','organizationName','\x0a❌\x20Failed\x20to\x20install\x20Chromium:','✓\x20Exported\x20credentials\x20for\x20CI','2254nhiPDv','joiio','\x0a🚀\x20Ranger\x20Setup\x0a',')\x20of\x20the\x20Playwright\x20Chromium\x20browser\x20is\x20not\x20installed.\x20Install\x20it\x20now?','.gitignore','\x0aIn\x20Claude\x20Code,\x20run\x20','isTTY','6158EXQkRP','8106GmxFSM','✓\x20~/.ranger/\x20directory\x20already\x20exists','ignore','cipvg','11cSmQRo','✓\x20Authenticated\x20to\x20','.\x20Please\x20check\x20your\x20network\x20connection\x20and\x20server\x20URL.','\x0a⚠\x20Skipping\x20Chromium\x20installation.','project-scope\x20setup\x20obsolete).\x20Drop\x20the\x20--scope\x20flag\x20or\x20pass\x20--scope=user.','plugin','zFRtL','provided_token','prompt','5668290ycyDDi'];_0xea47=function(){return _0x42f9ae;};return _0xea47();}const bold=_0x113809=>'\x1b[1m'+_0x113809+'\x1b[0m';export function getPlaywrightVersion(){const _0x4e5837=_0x5071b4,_0x4f2d70={'AgJEo':_0x4e5837(0x9f),'aqvvA':function(_0x3327bf,_0x4444b9){return _0x3327bf(_0x4444b9);}};try{const _0x3421c9=require[_0x4e5837(0x9d)](_0x4f2d70[_0x4e5837(0xf3)]),_0x48f374=_0x4f2d70[_0x4e5837(0x100)](require,_0x3421c9);return _0x48f374[_0x4e5837(0xce)];}catch{return null;}}export function installChromiumBinary(_0x1aaa73,_0x3e5832=![]){const _0x4ffbbd=_0x5071b4,_0x35c3a9={'joiio':function(_0x3c286e,_0x39bd45){return _0x3c286e(_0x39bd45);},'VabGo':_0x4ffbbd(0xee),'slopL':_0x4ffbbd(0xcd),'yVALp':function(_0x4b0c2d,_0x59454d,_0x5b3ade,_0x2015bb){return _0x4b0c2d(_0x59454d,_0x5b3ade,_0x2015bb);},'qfqKr':_0x4ffbbd(0xb2),'FmlcH':_0x4ffbbd(0xd4),'guwcN':'win32','SjFTn':_0x4ffbbd(0xff),'YcaRO':'error'};return new Promise((_0x35d6c5,_0xe47e9d)=>{const _0xe49cfd=_0x4ffbbd,_0x33f688=['playwright@'+_0x1aaa73,_0x35c3a9['VabGo'],..._0x3e5832?['--with-deps']:[],_0x35c3a9[_0xe49cfd(0xcc)]],_0x140478=_0x35c3a9['yVALp'](spawn,_0xe49cfd(0xca),_0x33f688,{'stdio':[_0x35c3a9['qfqKr'],_0x35c3a9[_0xe49cfd(0xd5)],_0x35c3a9['FmlcH']],'shell':process[_0xe49cfd(0xe6)]===_0x35c3a9['guwcN']});_0x140478['on'](_0x35c3a9[_0xe49cfd(0xe4)],_0x3d68f5=>{const _0x372b27=_0xe49cfd;_0x3d68f5===0x0?_0x35d6c5():_0x35c3a9[_0x372b27(0xa9)](_0xe47e9d,new Error('Installation\x20failed\x20with\x20exit\x20code\x20'+_0x3d68f5));}),_0x140478['on'](_0x35c3a9['YcaRO'],_0x50ba48=>{_0xe47e9d(_0x50ba48);});});}export async function authenticate(_0x3c3559){const _0x154730=_0x5071b4,_0x382005={'JWffR':function(_0x5b7873){return _0x5b7873();},'zFRtL':'device_auth','xTlIn':'Validating\x20API\x20token...','EzCvD':'✓\x20Stored\x20credentials\x20locally'};if(!_0x3c3559){const _0x25e074=await _0x382005['JWffR'](getToken);if(_0x25e074){const _0x34ff74=await getCurrentUser(_0x25e074);if(_0x34ff74['success'])return console[_0x154730(0x9e)]('✓\x20Already\x20authenticated\x20to\x20'+_0x34ff74[_0x154730(0xde)][_0x154730(0xa5)]),{'token':_0x25e074,'method':'existing_token'};}try{_0x3c3559=await runDeviceAuthFlow();}catch(_0x1f4c97){throw new Error(_0x154730(0xbf)+(_0x1f4c97 instanceof Error?_0x1f4c97['message']:_0x1f4c97));}const _0x26d99e=await getCurrentUser(_0x3c3559);if(!_0x26d99e[_0x154730(0xcb)])throw new Error('Failed\x20to\x20validate\x20provisioned\x20API\x20key:\x20'+_0x26d99e['error']);return console['log']('✓\x20Authenticated\x20to\x20'+_0x26d99e[_0x154730(0xde)]['organizationName']),{'token':_0x3c3559,'method':_0x382005[_0x154730(0xba)]};}console['log'](_0x382005['xTlIn']);const _0xe32222=await getCurrentUser(_0x3c3559);if(!_0xe32222[_0x154730(0xcb)]){if(_0xe32222[_0x154730(0x99)])throw new Error(_0x154730(0xbf)+_0xe32222['error']+'.\x20Please\x20check\x20your\x20API\x20token\x20and\x20try\x20again.');else throw new Error('Failed\x20to\x20connect\x20to\x20MCP\x20server:\x20'+_0xe32222['error']+_0x154730(0xb6));}return console['log'](_0x154730(0xb5)+_0xe32222[_0x154730(0xde)][_0x154730(0xa5)]),await storeToken(_0x3c3559),console['log'](process['env'][_0x154730(0xc0)]?_0x154730(0xa7):_0x382005['EzCvD']),{'token':_0x3c3559,'method':_0x154730(0xbb)};}export async function ensureRangerDir(_0x1282b8){const _0x36cbba=_0x5071b4,_0x2e7cc3={'KrVOR':function(_0x5bb5bf){return _0x5bb5bf();},'qBGDb':_0x36cbba(0xb1)};void _0x1282b8;const _0x2ddcf6=_0x2e7cc3['KrVOR'](getRangerHomeDir);return!existsSync(_0x2ddcf6)?(await mkdir(_0x2ddcf6,{'recursive':!![]}),console[_0x36cbba(0x9e)](_0x36cbba(0xef)),{'path':_0x2ddcf6,'installed':!![]}):(console['log'](_0x2e7cc3['qBGDb']),{'path':_0x2ddcf6,'installed':![]});}export async function ensureChromium(_0xd49fe8=![]){const _0x14d772=_0x5071b4,_0x2e4207={'yMJMQ':'\x20(fallback\x20version)','UEdit':'\x0aInstalling\x20Chromium\x20browser...\x0a','knxHp':_0x14d772(0xa6),'PuZEr':function(_0x33f637,_0x16c6dc){return _0x33f637 instanceof _0x16c6dc;},'nBycZ':_0x14d772(0xbe),'oAZhu':_0x14d772(0xb7),'bBeQr':'You\x20will\x20need\x20to\x20install\x20it\x20before\x20using\x20Ranger:'};let _0x1db60d=![];try{const _0x4fc80d=chromium['executablePath']();_0x1db60d=existsSync(_0x4fc80d);}catch{_0x1db60d=![];}if(_0x1db60d)return console['log'](_0x14d772(0xd3)),![];const _0x142927=getPlaywrightVersion(),_0xa20970=_0x142927??PLAYWRIGHT_CHROMIUM_INSTALL_FALLBACK_VERSION,_0x1bcbdb=!_0x142927,_0x135424=process['stdin'][_0x14d772(0xae)]&&process['stdout']['isTTY'];let _0x3581b9=!![];if(_0x135424){const {install:_0x49ee6a}=await _0x43049a[_0x14d772(0xbc)]([{'type':'confirm','name':_0x14d772(0xee),'message':_0x1bcbdb?'Could\x20not\x20determine\x20local\x20Playwright\x20version.\x20Install\x20Playwright\x20Chromium\x20using\x20fallback\x20version\x20'+_0xa20970+'\x20now?':_0x14d772(0xfb)+_0xa20970+_0x14d772(0xab),'default':!![]}]);_0x3581b9=_0x49ee6a;}else console[_0x14d772(0x9e)]('\x0aNon-interactive\x20mode:\x20Auto-installing\x20Playwright\x20Chromium\x20'+_0xa20970+(_0x1bcbdb?_0x2e4207[_0x14d772(0xd1)]:'')+'...');if(_0x3581b9){console['log'](_0x2e4207[_0x14d772(0xc8)]);try{await installChromiumBinary(_0xa20970,_0xd49fe8),console[_0x14d772(0x9e)]('\x0a✓\x20Playwright\x20Chromium\x20installed\x20successfully');}catch(_0x411962){console[_0x14d772(0xdc)](_0x2e4207[_0x14d772(0xc3)],_0x2e4207['PuZEr'](_0x411962,Error)?_0x411962[_0x14d772(0xf5)]:_0x411962),console['log'](_0x2e4207[_0x14d772(0x101)]),console[_0x14d772(0x9e)]('\x20\x20npx\x20playwright@'+_0xa20970+_0x14d772(0xed));}}else console['log'](_0x2e4207[_0x14d772(0xc7)]),console['log'](_0x2e4207[_0x14d772(0xd2)]),console[_0x14d772(0x9e)]('\x20\x20npx\x20playwright@'+_0xa20970+_0x14d772(0xed));return!![];}export async function writeRangerGitignore(_0x25f82e){const _0x57efa9=_0x5071b4,_0x353a59={'naVBn':_0x57efa9(0xec)},_0x5cfc48=join(_0x25f82e,_0x57efa9(0xac)),_0x52f151='\x0a\x0a#\x20Ignore\x20local-only\x20directories\x0alocal/\x0asessions/\x0abug-bashes/\x0areports/\x0afeedback-images/\x0a\x0aactive-profile.txt\x0aactive-feature.txt\x0a.gitignore\x0a\x0a#\x20Ignore\x20plaintext\x20auth\x20files\x20(encrypted\x20.enc\x20files\x20are\x20safe\x20to\x20commit)\x0a**/auth.json\x0a';await writeFile(_0x5cfc48,_0x52f151),console[_0x57efa9(0x9e)](_0x353a59[_0x57efa9(0xf4)]);}export async function ensureLocalEnv(_0x217f87,_0x38dbd4){const _0x45181f=_0x5071b4,_0x1847d7={'MDUYk':function(_0x59f2f7){return _0x59f2f7();},'HkZSG':function(_0x3471a0,_0x55dfb0){return _0x3471a0!==_0x55dfb0;},'qOtiC':_0x45181f(0xde),'zsppW':'⚠\x20No\x20git\x20repository\x20found.\x20Re-run\x20with\x20`--scope\x20user`\x20to\x20store\x20the\x20profile\x20at\x20~/.ranger/.','rJipg':function(_0x25db7f){return _0x25db7f();},'vtlOh':'local','jOJTI':function(_0x2b7b89,_0x115a80,_0x9fb389,_0xbe72d8){return _0x2b7b89(_0x115a80,_0x9fb389,_0xbe72d8);},'jksyd':_0x45181f(0xcf),'TcqLQ':function(_0xebee52,_0x4b1d4a){return _0xebee52 instanceof _0x4b1d4a;}};if(!_0x1847d7['MDUYk'](findGitRoot)&&_0x1847d7['HkZSG'](_0x217f87?.['scope'],_0x1847d7['qOtiC']))return console['log'](_0x1847d7['zsppW']),{'ready':![],'skipped':!![]};const _0x41eeae=_0x217f87?.['scope']===_0x45181f(0xde)?_0x1847d7['rJipg'](getRangerHomeDir):undefined;if(findExistingEnv(_0x1847d7[_0x45181f(0xd8)],{'locations':[_0x1847d7[_0x45181f(0xd8)]],'rangerDir':_0x41eeae}))return console['log']('✓\x20Local\x20profile\x20already\x20exists'),{'ready':!![],'skipped':![]};try{return await _0x1847d7['jOJTI'](addEnv,'local',{'url':_0x217f87?.[_0x45181f(0xa1)],'force':_0x217f87?.['force'],'allowInsecureLocalhost':_0x217f87?.[_0x45181f(0xd0)],'scope':_0x217f87?.['scope']},_0x38dbd4),{'ready':!![],'skipped':![]};}catch(_0x38d814){return console[_0x45181f(0xdc)](_0x1847d7['jksyd'],_0x1847d7['TcqLQ'](_0x38d814,Error)?_0x38d814[_0x45181f(0xf5)]:_0x38d814),{'ready':![],'skipped':![]};}}export async function start(_0x44f8e0,_0xe22092,_0x5a1ef9){const _0x1168ef=_0x5071b4,_0x5764b7={'QxCpq':'user','PgtdA':function(_0x118c1b,_0x364eaf){return _0x118c1b(_0x364eaf);},'cipvg':function(_0x333a50){return _0x333a50();},'CfZEL':_0x1168ef(0xd6),'SzAzr':_0x1168ef(0xe5),'oRKpd':function(_0x5d9449,_0x4984dd){return _0x5d9449(_0x4984dd);},'Jntlh':'✓\x20Skipping\x20Chromium\x20check\x20(--skip-chromium)','vyjse':'chromium','IdPEo':'\x0a✅\x20Ranger\x20setup\x20complete!\x0a','NwUiA':_0x1168ef(0xb9),'HqZxD':function(_0x43012d,_0x5a9429){return _0x43012d(_0x5a9429);},'cQQqe':function(_0x378339,_0x445a12){return _0x378339&&_0x445a12;},'CQPsA':'skills','QKGIC':function(_0x147c55,_0x14ec06,_0x4e2dad){return _0x147c55(_0x14ec06,_0x4e2dad);},'Dyjpl':_0x1168ef(0x98),'PVVaw':_0x1168ef(0xfc),'sSfgC':function(_0x46d90c,_0x330524){return _0x46d90c instanceof _0x330524;},'kUDzj':function(_0x3be144,_0x4c4e94){return _0x3be144(_0x4c4e94);},'TZpET':_0x1168ef(0xa4),'UlGEN':function(_0x5a0704,_0x3c203d,_0x2ae8ea){return _0x5a0704(_0x3c203d,_0x2ae8ea);},'VDkpv':'profile','FeKAB':_0x1168ef(0xc6),'gsylj':_0x1168ef(0xfa),'fXgbY':'with\x20scenarios\x20describing\x20what\x20to\x20verify\x20and\x20then\x20run\x20browser','OdvpU':_0x1168ef(0xe7),'oBgEc':function(_0x8bd2eb,_0x490721){return _0x8bd2eb+_0x490721;}};console[_0x1168ef(0x9e)](_0x1168ef(0xaa));_0xe22092?.['scope']!==undefined&&_0xe22092['scope']!==_0x5764b7['QxCpq']&&(console[_0x1168ef(0xdc)]('ranger\x20setup\x20--scope='+String(_0xe22092['scope'])+_0x1168ef(0xd9)+_0x1168ef(0xc5)+_0x1168ef(0xb8)),process[_0x1168ef(0xfd)](0x1));_0xe22092={..._0xe22092,'scope':_0x1168ef(0xde)};const _0x4ab3f4=!_0x5764b7[_0x1168ef(0xfe)](existsSync,_0x5764b7[_0x1168ef(0xb3)](getRangerHomeDir));await ensureRangerDir(_0x1168ef(0xde));if(_0xe22092?.['skipAuth'])console['log']('✓\x20Skipping\x20authentication\x20(--skip-auth)'),_0x5a1ef9?.['trackPhaseEnd'](_0x1168ef(0xe5),{'isFirstRun':_0x4ab3f4,'method':_0x5764b7[_0x1168ef(0xeb)]});else{_0x5a1ef9?.[_0x1168ef(0xdd)](_0x5764b7['SzAzr']);const _0x427694=await _0x5764b7[_0x1168ef(0x9c)](authenticate,_0x44f8e0);_0x5a1ef9?.['trackPhaseEnd'](_0x5764b7['SzAzr'],{'isFirstRun':_0x4ab3f4,'method':_0x427694['method']});}_0x5a1ef9?.[_0x1168ef(0xdd)](_0x1168ef(0xcd));_0xe22092?.['skipChromium']?console['log'](_0x5764b7['Jntlh']):await _0x5764b7['PgtdA'](ensureChromium,_0xe22092?.['withDeps']);_0x5a1ef9?.['trackPhaseEnd'](_0x5764b7['vyjse'],{'isFirstRun':_0x4ab3f4,'skipped':!!_0xe22092?.[_0x1168ef(0xdb)]}),console['log'](_0x5764b7['IdPEo']);const _0x3b113d=_0xe22092?.['scope'],_0x4510d4=_0xe22092?.[_0x1168ef(0xfc)]??![];let _0x5b5fc8=null;_0x4510d4?(_0x5a1ef9?.['trackPhaseStart'](_0x5764b7['NwUiA']),_0x5b5fc8=await ensureOpencodePluginConfig(_0x3b113d),_0x5a1ef9?.[_0x1168ef(0xf0)](_0x5764b7[_0x1168ef(0xc9)],{'isFirstRun':_0x4ab3f4,'opencode':!![]})):(_0x5a1ef9?.['trackPhaseStart'](_0x1168ef(0xb9)),await _0x5764b7[_0x1168ef(0xf1)](ensureClaudePlugin,_0x3b113d),_0x5a1ef9?.[_0x1168ef(0xf0)]('plugin',{'isFirstRun':_0x4ab3f4}));if(_0x5764b7[_0x1168ef(0xf8)](_0x4510d4,_0x5b5fc8)){_0x5a1ef9?.['trackPhaseStart'](_0x5764b7['CQPsA']);try{await _0x5764b7[_0x1168ef(0xd7)](installSkill,_0x5764b7['Dyjpl'],{'level':_0x5b5fc8[_0x1168ef(0xc4)],'cliVersion':getCurrentVersion(),'platform':_0x5764b7['PVVaw']}),_0x5a1ef9?.[_0x1168ef(0xf0)](_0x5764b7[_0x1168ef(0xa0)],{'isFirstRun':_0x4ab3f4,'opencode':!![]});}catch(_0x1cff47){console[_0x1168ef(0x9a)](_0x1168ef(0xdf),_0x5764b7['sSfgC'](_0x1cff47,Error)?_0x1cff47[_0x1168ef(0xf5)]:_0x1cff47),_0x5a1ef9?.[_0x1168ef(0xf0)](_0x5764b7['CQPsA'],{'isFirstRun':_0x4ab3f4,'opencode':!![],'failed':!![]});}}else _0x5a1ef9?.['trackPhaseStart']('skills'),await _0x5764b7[_0x1168ef(0xea)](ensureClaudeSkills,_0x3b113d),_0x5a1ef9?.[_0x1168ef(0xf0)](_0x5764b7['CQPsA'],{'isFirstRun':_0x4ab3f4});if(_0xe22092?.['skipAuth'])console['log'](_0x5764b7['TZpET']);else{if(_0xe22092?.[_0x1168ef(0xa1)]){_0x5a1ef9?.[_0x1168ef(0xdd)]('profile');const _0x27d255=await _0x5764b7['UlGEN'](ensureLocalEnv,{'url':_0xe22092[_0x1168ef(0xa1)],'force':_0xe22092?.['force'],'allowInsecureLocalhost':_0xe22092?.[_0x1168ef(0xd0)],'scope':_0x5764b7['QxCpq']},_0x5a1ef9);_0x5a1ef9?.[_0x1168ef(0xf0)](_0x5764b7[_0x1168ef(0xa2)],{'isFirstRun':_0x4ab3f4,'profileReady':_0x27d255['ready'],'userSkipped':_0x27d255[_0x1168ef(0xd6)]});}else console[_0x1168ef(0x9e)]('\x0aTo\x20set\x20up\x20a\x20profile\x20for\x20your\x20app,\x20run:'+(_0x1168ef(0xe8)+_0x5764b7[_0x1168ef(0xfe)](bold,_0x5764b7['FeKAB']))+'\x0a\x20\x20(opens\x20a\x20browser\x20so\x20you\x20can\x20log\x20in\x20once)'+'\x0a\x0aFor\x20CI\x20/\x20background\x20agents\x20and\x20other\x20setup\x20options,\x20see:'+_0x1168ef(0xe3));}if(_0x4510d4)console[_0x1168ef(0x9e)](_0x5764b7['gsylj']),console['log'](_0x1168ef(0xc1)),console[_0x1168ef(0x9e)](_0x5764b7['fXgbY']),console['log'](_0x5764b7['OdvpU']);else{const _0x2075c1=bold(_0x1168ef(0x9b));console['log'](_0x5764b7['oBgEc'](_0x5764b7['oBgEc'](_0x1168ef(0xad)+_0x2075c1+'\x20and\x20prompt\x20the\x20coding','\x0aagent\x20like\x20usual.\x20Claude\x20will\x20create\x20a\x20feature\x20review\x20with'),_0x1168ef(0xa3))+_0x1168ef(0xf7));}}
|
package/build/commands/status.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
const _0x3dbb79=_0x2935;(function(_0x368026,_0x467622){const _0x259429=_0x2935,_0x3858e1=_0x368026();while(!![]){try{const _0xc29d98=-parseInt(_0x259429(0x21a))/0x1+parseInt(_0x259429(0x237))/0x2+-parseInt(_0x259429(0x236))/0x3*(parseInt(_0x259429(0x211))/0x4)+parseInt(_0x259429(0x20f))/0x5*(parseInt(_0x259429(0x1dd))/0x6)+-parseInt(_0x259429(0x1fb))/0x7+-parseInt(_0x259429(0x223))/0x8*(parseInt(_0x259429(0x22f))/0x9)+parseInt(_0x259429(0x201))/0xa*(parseInt(_0x259429(0x1f6))/0xb);if(_0xc29d98===_0x467622)break;else _0x3858e1['push'](_0x3858e1['shift']());}catch(_0x3c86a2){_0x3858e1['push'](_0x3858e1['shift']());}}}(_0xf656,0x28767));import{readFile,readdir}from'fs/promises';import{join,basename}from'path';import{existsSync}from'fs';import{getToken}from'./utils/keychain.js';import{getCurrentVersion,getLatestVersion}from'./utils/version.js';import{getApiBaseUrl,getCurrentEnvironment}from'./utils/environment.js';import{getProjectSkillsDir,getUserSkillsDir}from'./utils/claudeConfig.js';function _0x2935(_0x43357b,_0x34f1a5){_0x43357b=_0x43357b-0x1da;const _0xf6567=_0xf656();let _0x293547=_0xf6567[_0x43357b];return _0x293547;}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=_0x5e49b3=>_0x3dbb79(0x214)+_0x5e49b3+_0x3dbb79(0x1ed),link=(_0x10b0aa,_0x48076d)=>'\x1b]8;;file://'+_0x10b0aa+'\x07'+(_0x48076d||_0x10b0aa)+'\x1b]8;;\x07';async function getOpencodePluginStatus(){const _0x1a346c=_0x3dbb79,_0x2f40eb={'Bfufa':function(_0x499ad4,_0x3b4173){return _0x499ad4(_0x3b4173);},'rboGv':_0x1a346c(0x225),'RNumb':_0x1a346c(0x20d),'YkEFs':_0x1a346c(0x1e7),'Exmsq':function(_0x501f24,_0x2ac04b){return _0x501f24!==_0x2ac04b;},'nMphg':function(_0xdd6d6f,_0x50c3b7){return _0xdd6d6f(_0x50c3b7);},'CCyGC':_0x1a346c(0x1e3),'lBjTK':_0x1a346c(0x212),'RUOKw':'debug','NFbfH':_0x1a346c(0x1fc),'beGge':'ignore','zLJXc':'pipe','WozzB':'data'};return new Promise(_0x472b46=>{const _0x33a6bb=_0x1a346c,_0x8d31d7=spawn(_0x2f40eb['lBjTK'],[_0x2f40eb[_0x33a6bb(0x213)],_0x2f40eb[_0x33a6bb(0x1f4)]],{'stdio':[_0x2f40eb['beGge'],_0x2f40eb[_0x33a6bb(0x241)],'pipe']});let _0xbc8df2='';_0x8d31d7['stdout']?.['on'](_0x2f40eb['WozzB'],_0x112bfd=>{_0xbc8df2+=_0x112bfd['toString']();}),_0x8d31d7['stderr']?.['on'](_0x2f40eb[_0x33a6bb(0x234)],_0x5312a5=>{_0xbc8df2+=_0x5312a5['toString']();}),_0x8d31d7['on'](_0x33a6bb(0x1ef),()=>{const _0x29e0fd=_0x33a6bb;_0x2f40eb['Bfufa'](_0x472b46,{'status':_0x2f40eb[_0x29e0fd(0x243)]});}),_0x8d31d7['on'](_0x33a6bb(0x229),_0x51c8c5=>{const _0x17a8c3=_0x33a6bb,_0x2b10fc={'wjYFj':function(_0x45cb75,_0x220c5b){return _0x45cb75!==_0x220c5b;},'cXVeh':_0x2f40eb['RNumb'],'PfnbF':_0x17a8c3(0x210),'BGwla':_0x2f40eb[_0x17a8c3(0x21e)]};if(_0x2f40eb[_0x17a8c3(0x249)](_0x51c8c5,0x0)){_0x472b46({'status':_0x2f40eb['rboGv']});return;}const _0xef5ac8=_0xbc8df2[_0x17a8c3(0x206)]();let _0x323db7=null;if(_0xef5ac8)try{_0x323db7=JSON['parse'](_0xef5ac8);}catch{const _0x4407f8=_0xef5ac8['match'](/\{[\s\S]*\}$/);if(_0x4407f8)try{_0x323db7=JSON['parse'](_0x4407f8[0x0]);}catch{_0x323db7=null;}}const _0x19e83d=Array[_0x17a8c3(0x24e)](_0x323db7?.['plugin'])?_0x323db7?.[_0x17a8c3(0x20c)]:[],_0x2ed9f4=_0x19e83d[_0x17a8c3(0x226)](_0x278cc6=>{const _0x379cd8=_0x17a8c3;if(_0x2b10fc['wjYFj'](typeof _0x278cc6,_0x2b10fc[_0x379cd8(0x22e)]))return![];return _0x278cc6[_0x379cd8(0x1fa)](_0x2b10fc[_0x379cd8(0x205)])||_0x278cc6[_0x379cd8(0x1fa)](_0x2b10fc['BGwla']);});if(_0x2ed9f4){_0x2f40eb[_0x17a8c3(0x22b)](_0x472b46,{'status':_0x17a8c3(0x21f),'details':_0x19e83d['length']>0x0?_0x19e83d['length']+_0x17a8c3(0x1e8):undefined});return;}if(_0x19e83d['length']>0x0){_0x2f40eb['nMphg'](_0x472b46,{'status':_0x2f40eb[_0x17a8c3(0x23d)],'details':_0x19e83d['length']+'\x20plugin(s)\x20configured'});return;}_0x472b46({'status':'not_configured'});});});}async function getSkillsFromDir(_0x3fc56e,_0x33ed71){const _0xf2d75c=_0x3dbb79,_0x5b3d18={'lnyon':function(_0x4763fc,_0x2c9b8a){return _0x4763fc(_0x2c9b8a);},'FkdxK':function(_0x3d7305,_0x22d394,_0x74bb9f){return _0x3d7305(_0x22d394,_0x74bb9f);},'rKgwL':'SKILL.md'};if(!_0x5b3d18[_0xf2d75c(0x21b)](existsSync,_0x3fc56e))return[];const _0x2e187e=[];try{const _0x36ec40=await _0x5b3d18['FkdxK'](readdir,_0x3fc56e,{'withFileTypes':!![]});for(const _0x428338 of _0x36ec40){if(_0x428338['isDirectory']()){const _0x1391f2=join(_0x3fc56e,_0x428338['name'],_0x5b3d18[_0xf2d75c(0x1dc)]);if(_0x5b3d18[_0xf2d75c(0x21b)](existsSync,_0x1391f2)){let _0x392783=_0x428338[_0xf2d75c(0x235)];try{const _0x32c3df=await readFile(_0x1391f2,_0xf2d75c(0x231)),_0x3b134d=_0x32c3df['match'](/name:\s*(.+)/);_0x3b134d&&(_0x392783=_0x3b134d[0x1]['trim']());}catch{}_0x2e187e[_0xf2d75c(0x1ea)]({'name':_0x428338['name'],'displayName':_0x392783,'path':_0x1391f2,'level':_0x33ed71});}}}}catch{return[];}return _0x2e187e;}async function getInstalledSkills(){const _0x418a60=_0x3dbb79,_0x456afc={'XlBKt':function(_0x40a143,_0x42d012,_0x28050c){return _0x40a143(_0x42d012,_0x28050c);},'uGSqD':function(_0x67c26c){return _0x67c26c();},'VUXSB':_0x418a60(0x200),'UZyqQ':'user'},[_0x2fad6f,_0x455c7e]=await Promise['all']([_0x456afc[_0x418a60(0x24f)](getSkillsFromDir,_0x456afc['uGSqD'](getProjectSkillsDir),_0x456afc['VUXSB']),getSkillsFromDir(getUserSkillsDir(),_0x456afc[_0x418a60(0x221)])]);return{'project':_0x2fad6f,'user':_0x455c7e};}async function getEnvironments(){const _0x54e237=_0x3dbb79,_0x109d66={'WgQHq':function(_0x3ced36,_0x35ed02){return _0x3ced36(_0x35ed02);},'ydHTw':function(_0x5176ec,_0x3896c9,_0x37e07a){return _0x5176ec(_0x3896c9,_0x37e07a);},'OmwAa':function(_0x37ebcf,_0x27b4ae){return _0x37ebcf(_0x27b4ae);},'clnAN':function(_0x160efe){return _0x160efe();},'RBKFV':function(_0x666018,_0x3848f7){return _0x666018(_0x3848f7);}},{envNames:_0xd094ca,activeEnv:_0x485235}=await getEnvNames(),_0x1a7bc6=_0x109d66[_0x54e237(0x1fd)](getRangerDir);if(!_0x109d66[_0x54e237(0x1fe)](existsSync,_0x1a7bc6))return{'envs':[],'activeEnv':null};const _0x5744af=_0xd094ca[_0x54e237(0x22d)](_0x4702f2=>{const _0xd68b08=_0x54e237,_0x439f3d=_0x109d66[_0xd68b08(0x215)](getEnvDir,_0x4702f2),_0x1987e0=_0x109d66[_0xd68b08(0x1ee)](join,_0x439f3d,_0xd68b08(0x239)),_0xd04975=join(_0x439f3d,_0xd68b08(0x227)),_0x40d288=join(_0x439f3d,'auth.json.enc');return{'name':_0x4702f2,'settingsPath':_0x109d66[_0xd68b08(0x222)](existsSync,_0x1987e0)?_0x1987e0:'(not\x20found)','hasPlaintextAuth':existsSync(_0xd04975),'hasEncryptedAuth':_0x109d66['WgQHq'](existsSync,_0x40d288),'isActive':_0x4702f2===_0x485235};});return{'envs':_0x5744af,'activeEnv':_0x485235};}function _0xf656(){const _0xd83904=['includes','1476965yXLQxR','config','clnAN','RBKFV','log','project','44910ulRCgP','roXob','bwyip','\x20profiles\x20configured\x20(','PfnbF','trim','BFzRq','xUumR','\x20\x20\x20\x20','\x20cloud','\x20\x20\x20\x20Auth:\x20','plugin','string','XUcfZ','20FwEMtX','@ranger-testing/opencode-plugin','4ggxPNz','opencode','RUOKw','\x1b[1m','WgQHq','Root:\x20','\x20\x20Active:\x20','path','enabled','241132iGldlw','lnyon','\x20[cloud]','\x0a\x20\x20No\x20active\x20profile\x20set','YkEFs','configured','\x20\x20Run:\x20ranger\x20setup\x20[token]\x20\x20(includes\x20plugin\x20installation)','UZyqQ','OmwAa','3376pPxtij','\x20\x20Run:\x20ranger\x20setup\x20[token]\x0a','not_installed','some','auth.json','hasPlaintextAuth','close','join','Bfufa','VxVdJ','map','cXVeh','1467hokApd','fkTah','utf-8','success','\x0a📊\x20Ranger\x20Status\x0a','WozzB','name','264141ZFWUaQ','143796WYHycO','cached\x20(updated\x20','settings.json','Bddau','has','API\x20Token:\x20✓\x20Found\x20but\x20invalid\x20or\x20expired','CCyGC','version','slGKD','SqGAK','zLJXc','isActive','rboGv','plaintext','vRPGY','env','API\x20Environment:\x20','none','Exmsq','\x20\x20\x20\x20Session:\x20','ranger@trailhead','details','qDCkL','isArray','XlBKt','\x20\x20User-level:','TCiYN','rKgwL','360336rtaqLa','\x20\x20Not\x20installed','cwd','displayName','rfwHO','length','not_configured','\x20\x20Run:\x20ranger\x20profile\x20use\x20<profile-name>\x20\x20(available:\x20','HrHTu','kQBwF','opencode-plugin','\x20plugin(s)\x20configured','\x20\x20Run:\x20ranger\x20skillup','push','dwhuo','hasEncryptedAuth','\x1b[0m','ydHTw','error','Version:\x20','no\x20session','\x20\x20Run:\x20ranger\x20setup\x20--opencode','\x20\x20Run:\x20ranger\x20profile\x20ls\x20\x20(list\x20all)','NFbfH','No\x20skills\x20installed','1133UOAfuA','API\x20URL:\x20','BlMkM','\x20\x20Run:\x20ranger\x20setup\x20[token]'];_0xf656=function(){return _0xd83904;};return _0xf656();}export async function status(){const _0x292582=_0x3dbb79,_0x440016={'rfwHO':function(_0x2f1198){return _0x2f1198();},'roXob':function(_0x51acce,_0x159999){return _0x51acce!==_0x159999;},'WYtra':function(_0x36d52f,_0x2b99d6){return _0x36d52f(_0x2b99d6);},'SqGAK':function(_0x29ae7f,_0x2dc9b4){return _0x29ae7f===_0x2dc9b4;},'BlMkM':_0x292582(0x21f),'VxVdJ':'\x20\x20Not\x20configured','VTKTe':_0x292582(0x1f2),'dwhuo':'\x20\x20OpenCode\x20not\x20installed\x20or\x20not\x20available','bwyip':'\x0a---\x20Claude\x20Code\x20Plugin\x20---','triNK':function(_0x1ddf68,_0x242fa5){return _0x1ddf68(_0x242fa5);},'BFzRq':'unknown','lEbGC':_0x292582(0x219),'fkTah':'disabled','slGKD':function(_0x452b77,_0x4c4e9b){return _0x452b77(_0x4c4e9b);},'XUcfZ':_0x292582(0x1f5),'Bddau':function(_0x386bdf,_0x26ad7d){return _0x386bdf(_0x26ad7d);},'HrHTu':function(_0x2633ba,_0x4bc8e8){return _0x2633ba>_0x4bc8e8;},'TCiYN':function(_0x2fd43d,_0x1fe444,_0x32f850){return _0x2fd43d(_0x1fe444,_0x32f850);},'pFWTI':'\x0a---\x20Profiles\x20---','Opjes':function(_0x21fcb5){return _0x21fcb5();},'XacWU':function(_0x3d1e95,_0x16a08a){return _0x3d1e95+_0x16a08a;},'btDSw':'No\x20profiles\x20configured','vRPGY':function(_0x33c7df,_0x159e31){return _0x33c7df>_0x159e31;},'kQBwF':'\x20(active)','xUumR':_0x292582(0x1f1),'qDCkL':'encrypted','BuYfm':_0x292582(0x244)};console[_0x292582(0x1ff)](_0x292582(0x233));const _0x16b3bf=process[_0x292582(0x1df)](),_0x5703a2=getRangerDir();if(!existsSync(_0x5703a2)){console['log'](_0x292582(0x216)+link(_0x16b3bf,bold(basename(_0x16b3bf)))),console['log']('\x0aRanger\x20has\x20not\x20been\x20initialized\x20in\x20this\x20directory.'),console[_0x292582(0x1ff)](_0x292582(0x224));return;}console[_0x292582(0x1ff)]('Root:\x20'+link(_0x16b3bf,bold(basename(_0x16b3bf))));const _0xab9074=_0x440016[_0x292582(0x1e1)](getCurrentVersion),_0x4bcee2=getLatestVersion();if(_0x4bcee2[_0x292582(0x23e)]&&_0x440016[_0x292582(0x202)](_0x4bcee2['version'],_0xab9074))console[_0x292582(0x1ff)]('Version:\x20'+_0xab9074+'\x20(latest:\x20'+_0x4bcee2['version']+')'),console[_0x292582(0x1ff)]('\x20\x20Run:\x20ranger\x20update');else _0x4bcee2['version']?console[_0x292582(0x1ff)](_0x292582(0x1f0)+_0xab9074+'\x20(up\x20to\x20date)'):console[_0x292582(0x1ff)]('Version:\x20'+_0xab9074);const _0x37ed3e=await getToken();if(_0x37ed3e){const _0x330ed8=await getCurrentUser(_0x37ed3e);_0x330ed8[_0x292582(0x232)]?console[_0x292582(0x1ff)]('Organization:\x20'+_0x440016['WYtra'](bold,_0x330ed8['user']['organizationName'])):(console['log'](_0x292582(0x23c)),console['log']('\x20\x20Run:\x20ranger\x20setup\x20[token]'));}else console[_0x292582(0x1ff)]('API\x20Token:\x20✗\x20Not\x20found'),console['log'](_0x292582(0x1f9));process[_0x292582(0x246)]['DEBUG']&&(console[_0x292582(0x1ff)](_0x292582(0x247)+getCurrentEnvironment()),console[_0x292582(0x1ff)](_0x292582(0x1f7)+getApiBaseUrl()));console[_0x292582(0x1ff)]('\x0a---\x20OpenCode\x20Plugin\x20---');const _0x5a4217=await getOpencodePluginStatus();if(_0x440016[_0x292582(0x240)](_0x5a4217['status'],_0x440016[_0x292582(0x1f8)]))console[_0x292582(0x1ff)]('\x20\x20'+bold(_0x292582(0x210))+':\x20configured'),_0x5a4217['details']&&console['log']('\x20\x20'+_0x5a4217['details']);else _0x5a4217['status']===_0x292582(0x1e3)?(console[_0x292582(0x1ff)](_0x440016[_0x292582(0x22c)]),_0x5a4217[_0x292582(0x24c)]&&console['log']('\x20\x20'+_0x5a4217[_0x292582(0x24c)]),console[_0x292582(0x1ff)](_0x440016['VTKTe'])):console[_0x292582(0x1ff)](_0x440016[_0x292582(0x1eb)]);console['log'](_0x440016[_0x292582(0x203)]);const _0x24b98c=await _0x440016['triNK'](getPluginInfo,_0x292582(0x24b));if(_0x24b98c){const _0x4d7db4=_0x24b98c['scope']||_0x440016[_0x292582(0x207)],_0x9aa320=_0x24b98c[_0x292582(0x219)]?_0x440016['lEbGC']:_0x440016[_0x292582(0x230)];console[_0x292582(0x1ff)]('\x20\x20'+_0x440016['slGKD'](bold,'ranger@trailhead')+':\x20installed\x20('+_0x4d7db4+',\x20'+_0x9aa320+')');}else console[_0x292582(0x1ff)](_0x292582(0x1de)),console[_0x292582(0x1ff)](_0x292582(0x220));console[_0x292582(0x1ff)]('\x0a---\x20Skills\x20---');const {project:_0x8cb6b0,user:_0x3874e6}=await _0x440016[_0x292582(0x1e1)](getInstalledSkills),_0xa23d54=_0x8cb6b0['filter'](_0x5107da=>RANGER_MANAGED_SKILLS[_0x292582(0x1fa)](_0x5107da['name'])),_0x31c0dd=_0x3874e6['filter'](_0x56aef7=>RANGER_MANAGED_SKILLS['includes'](_0x56aef7[_0x292582(0x235)])),_0x42f703=_0xa23d54[_0x292582(0x1e2)]+_0x31c0dd[_0x292582(0x1e2)];if(_0x440016['SqGAK'](_0x42f703,0x0))console[_0x292582(0x1ff)](_0x440016[_0x292582(0x20e)]),console['log'](_0x292582(0x1e9));else{if(_0xa23d54['length']>0x0){console['log']('\x20\x20Project-level:');for(const _0x2a90e3 of _0xa23d54){console[_0x292582(0x1ff)]('\x20\x20\x20\x20'+bold(_0x2a90e3[_0x292582(0x1e0)])+':\x20'+link(_0x2a90e3[_0x292582(0x218)],_0x440016[_0x292582(0x23a)](basename,_0x2a90e3['path'])));}}if(_0x440016[_0x292582(0x1e5)](_0x31c0dd[_0x292582(0x1e2)],0x0)){console[_0x292582(0x1ff)](_0x292582(0x1da));for(const _0x294932 of _0x31c0dd){console[_0x292582(0x1ff)](_0x292582(0x209)+bold(_0x294932['displayName'])+':\x20'+_0x440016[_0x292582(0x1db)](link,_0x294932[_0x292582(0x218)],basename(_0x294932[_0x292582(0x218)])));}}}console[_0x292582(0x1ff)](_0x440016['pFWTI']);const {envs:_0x1563e7,activeEnv:_0x391aa8}=await _0x440016['Opjes'](getEnvironments);let _0x20885d=[];if(_0x37ed3e)try{_0x20885d=await listCloudProfiles();}catch{}const _0x217c56=_0x440016['XacWU'](_0x1563e7[_0x292582(0x1e2)],_0x20885d[_0x292582(0x1e2)]);if(_0x217c56===0x0)console[_0x292582(0x1ff)](_0x440016['btDSw']),console[_0x292582(0x1ff)]('\x20\x20Run:\x20ranger\x20profile\x20add\x20<profile-name>');else{if(_0x440016[_0x292582(0x245)](_0x217c56,0x5)){const _0x14aad8=[];_0x20885d['length']>0x0&&_0x14aad8['push'](_0x20885d['length']+_0x292582(0x20a)),_0x1563e7['length']>0x0&&_0x14aad8['push'](_0x1563e7[_0x292582(0x1e2)]+'\x20local'),console['log'](_0x217c56+_0x292582(0x204)+_0x14aad8[_0x292582(0x22a)](',\x20')+')'),_0x391aa8&&console[_0x292582(0x1ff)](_0x292582(0x217)+bold(_0x391aa8)),console[_0x292582(0x1ff)](_0x292582(0x1f3));}else{for(const _0x1ff3af of _0x20885d){const _0x15aa13=_0x1ff3af['name']===_0x391aa8?_0x440016['kQBwF']:'';console['log']('\x20\x20'+bold(_0x1ff3af[_0x292582(0x235)])+_0x292582(0x21c)+_0x15aa13);const _0x20859b=_0x1ff3af['sessionUpdatedAt']?_0x292582(0x238)+_0x1ff3af['sessionUpdatedAt']+')':_0x440016[_0x292582(0x208)];console['log'](_0x292582(0x24a)+_0x20859b);}const _0x3b51d4=new Set(_0x20885d['map'](_0x3b27c1=>_0x3b27c1[_0x292582(0x235)]));for(const _0x34d269 of _0x1563e7){if(_0x3b51d4[_0x292582(0x23b)](_0x34d269['name']))continue;const _0x20b0c5=_0x34d269[_0x292582(0x242)]?_0x440016[_0x292582(0x1e6)]:'',_0x5e6a49=_0x34d269[_0x292582(0x1ec)]?_0x440016[_0x292582(0x24d)]:_0x34d269[_0x292582(0x228)]?_0x440016['BuYfm']:_0x292582(0x248);console['log']('\x20\x20'+_0x440016[_0x292582(0x23f)](bold,_0x34d269['name'])+'\x20[local]'+_0x20b0c5),console['log'](_0x292582(0x20b)+_0x5e6a49),_0x34d269['settingsPath']!=='(not\x20found)'&&console[_0x292582(0x1ff)]('\x20\x20\x20\x20Settings:\x20'+link(_0x34d269['settingsPath'],basename(_0x34d269['settingsPath'])));}if(!_0x391aa8){console['log'](_0x292582(0x21d));const _0x55e03d=[..._0x20885d[_0x292582(0x22d)](_0x818daf=>_0x818daf['name']),..._0x1563e7['filter'](_0x5886a3=>!_0x3b51d4['has'](_0x5886a3['name']))[_0x292582(0x22d)](_0x3e3f5d=>_0x3e3f5d['name'])];console['log'](_0x292582(0x1e4)+_0x55e03d[_0x292582(0x22a)](',\x20')+')');}}}console['log']('');}
|
|
1
|
+
const _0x50e73a=_0x17d5;(function(_0x50bac9,_0x31a000){const _0x36dd0e=_0x17d5,_0xe4db85=_0x50bac9();while(!![]){try{const _0xa3e6d6=parseInt(_0x36dd0e(0xef))/0x1*(parseInt(_0x36dd0e(0xcf))/0x2)+parseInt(_0x36dd0e(0xbb))/0x3+-parseInt(_0x36dd0e(0xec))/0x4+-parseInt(_0x36dd0e(0xa9))/0x5+-parseInt(_0x36dd0e(0xdf))/0x6+parseInt(_0x36dd0e(0x9e))/0x7+-parseInt(_0x36dd0e(0xe9))/0x8*(-parseInt(_0x36dd0e(0xb6))/0x9);if(_0xa3e6d6===_0x31a000)break;else _0xe4db85['push'](_0xe4db85['shift']());}catch(_0x224d0e){_0xe4db85['push'](_0xe4db85['shift']());}}}(_0x5988,0x19e5f));import{readFile,readdir}from'fs/promises';import{join,basename}from'path';import{existsSync}from'fs';function _0x5988(){const _0x4c70e7=['\x20\x20\x20\x20Auth:\x20','settings.json','API\x20Token:\x20✓\x20Found\x20but\x20invalid\x20or\x20expired','\x0aRanger\x20has\x20not\x20been\x20initialized\x20in\x20this\x20directory.','VGsez','\x0a---\x20Claude\x20Code\x20Plugin\x20---','DEBUG','QEnCx','isDirectory','GYPWl','BrmTw','\x20\x20Run:\x20ranger\x20setup\x20[token]\x0a','hasPlaintextAuth','\x20\x20Run:\x20ranger\x20profile\x20ls\x20\x20(list\x20all)','trim','nAGhI','toString','krfDh','1094XLUVFm','\x20\x20Not\x20configured','ranger@trailhead','muywj','env','\x0a\x20\x20No\x20active\x20profile\x20set','API\x20Token:\x20✗\x20Not\x20found','pipe','\x20[local]','plugin','\x20(latest:\x20','scope','MEKTY','\x20\x20User-level:','\x20local','LyZSQ','608190xETKZk','UYmXS','tBvoR','hasEncryptedAuth','vTJMa','no\x20session','ulrze','\x20\x20Project-level:','log','\x1b[0m','32720vQnzAx','cached\x20(updated\x20','filter','618396sIfeKh','\x20(up\x20to\x20date)','not_configured','31nKNSzX','AihiS','\x20\x20Run:\x20ranger\x20update','Tyxlj','user','ZXLhd',':\x20installed\x20(','includes','\x0a---\x20Profiles\x20---','data','\x20\x20Run:\x20ranger\x20setup\x20--opencode','length','SKILL.md','mxwTJ','\x20\x20Run:\x20ranger\x20setup\x20[token]','cwd','\x0a---\x20OpenCode\x20Plugin\x20---','AxiMm','\x20plugin(s)\x20configured','opencode','organizationName','Organization:\x20','path','displayName','(not\x20found)','AuPQa','match','Version:\x20','LzSmF','close','1271907fXQrtV','parse','iDCIk','vhOtl','ABcKp','map','sessionUpdatedAt','\x20[cloud]','\x20cloud','Groro','enabled','323685SnNLaP','configured','has','GjcpK','vnRRk','debug','push','version','\x20\x20Not\x20installed','\x20profiles\x20configured\x20(','oIxjz','uLLMi','fnQQZ','450mACmKg','UgXaS','name','API\x20Environment:\x20','\x20\x20Active:\x20','70866aUahkq','status'];_0x5988=function(){return _0x4c70e7;};return _0x5988();}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';function _0x17d5(_0x2fddc6,_0x157cf8){_0x2fddc6=_0x2fddc6-0x95;const _0x598886=_0x5988();let _0x17d537=_0x598886[_0x2fddc6];return _0x17d537;}const bold=_0x4e2489=>'\x1b[1m'+_0x4e2489+_0x50e73a(0xe8),link=(_0x1fdf95,_0x243c40)=>'\x1b]8;;file://'+_0x1fdf95+'\x07'+(_0x243c40||_0x1fdf95)+'\x1b]8;;\x07';async function getOpencodePluginStatus(){const _0x517c55=_0x50e73a,_0x5d469b={'LzSmF':'not_installed','mxwTJ':function(_0x4328b9,_0x6707f){return _0x4328b9(_0x6707f);},'pDFhe':function(_0x3be071,_0x145d5b){return _0x3be071>_0x145d5b;},'DiYSt':function(_0x308fec,_0x4f160e){return _0x308fec(_0x4f160e);},'poeSV':'string','GjcpK':_0x517c55(0xae),'vTJMa':'config','Tyxlj':'ignore','UgXaS':_0x517c55(0xd6),'GYPWl':_0x517c55(0xf8),'AihiS':_0x517c55(0x9d)};return new Promise(_0x3e15f9=>{const _0x3b4a6d=_0x517c55,_0xa06055={'rlNDG':function(_0x30819f,_0x5e47a7){return _0x30819f(_0x5e47a7);},'FNAff':_0x5d469b[_0x3b4a6d(0x9c)],'weXso':_0x5d469b['poeSV']},_0x3c874a=spawn(_0x3b4a6d(0x102),[_0x5d469b[_0x3b4a6d(0xac)],_0x5d469b[_0x3b4a6d(0xe3)]],{'stdio':[_0x5d469b[_0x3b4a6d(0xf2)],_0x5d469b[_0x3b4a6d(0xb7)],_0x5d469b[_0x3b4a6d(0xb7)]]});let _0x9915d1='';_0x3c874a['stdout']?.['on'](_0x5d469b[_0x3b4a6d(0xc6)],_0x2b0225=>{_0x9915d1+=_0x2b0225['toString']();}),_0x3c874a['stderr']?.['on'](_0x5d469b[_0x3b4a6d(0xc6)],_0x392ac6=>{const _0x548d46=_0x3b4a6d;_0x9915d1+=_0x392ac6[_0x548d46(0xcd)]();}),_0x3c874a['on']('error',()=>{_0xa06055['rlNDG'](_0x3e15f9,{'status':_0xa06055['FNAff']});}),_0x3c874a['on'](_0x5d469b[_0x3b4a6d(0xf0)],_0x188ded=>{const _0x1de884=_0x3b4a6d;if(_0x188ded!==0x0){_0x3e15f9({'status':_0x5d469b['LzSmF']});return;}const _0x431a9d=_0x9915d1[_0x1de884(0xcb)]();let _0x2195cf=null;if(_0x431a9d)try{_0x2195cf=JSON[_0x1de884(0x9f)](_0x431a9d);}catch{const _0x41d74c=_0x431a9d[_0x1de884(0x9a)](/\{[\s\S]*\}$/);if(_0x41d74c)try{_0x2195cf=JSON['parse'](_0x41d74c[0x0]);}catch{_0x2195cf=null;}}const _0x4a572b=Array['isArray'](_0x2195cf?.[_0x1de884(0xd8)])?_0x2195cf?.[_0x1de884(0xd8)]:[],_0x4f690a=_0x4a572b['some'](_0x1ea02d=>{const _0x21248c=_0x1de884;if(typeof _0x1ea02d!==_0xa06055['weXso'])return![];return _0x1ea02d[_0x21248c(0xf6)]('@ranger-testing/opencode-plugin')||_0x1ea02d['includes']('opencode-plugin');});if(_0x4f690a){_0x5d469b[_0x1de884(0xfc)](_0x3e15f9,{'status':_0x1de884(0xaa),'details':_0x5d469b['pDFhe'](_0x4a572b[_0x1de884(0xfa)],0x0)?_0x4a572b['length']+_0x1de884(0x101):undefined});return;}if(_0x5d469b['pDFhe'](_0x4a572b[_0x1de884(0xfa)],0x0)){_0x5d469b['DiYSt'](_0x3e15f9,{'status':_0x1de884(0xee),'details':_0x4a572b['length']+_0x1de884(0x101)});return;}_0x3e15f9({'status':_0x1de884(0xee)});});});}async function getSkillsFromDir(_0x5c039a,_0x2a82a1){const _0x10b153=_0x50e73a,_0x6abe21={'tBvoR':function(_0x1aa745,_0x5136ae){return _0x1aa745(_0x5136ae);},'oIxjz':function(_0x2c8b8f,_0x1b07d9,_0x319bbe){return _0x2c8b8f(_0x1b07d9,_0x319bbe);},'BrmTw':_0x10b153(0xfb),'tlFoS':'utf-8'};if(!_0x6abe21[_0x10b153(0xe1)](existsSync,_0x5c039a))return[];const _0x3e0877=[];try{const _0x1b2edd=await _0x6abe21[_0x10b153(0xb3)](readdir,_0x5c039a,{'withFileTypes':!![]});for(const _0x55044e of _0x1b2edd){if(_0x55044e[_0x10b153(0xc5)]()){const _0x3a9d00=join(_0x5c039a,_0x55044e['name'],_0x6abe21[_0x10b153(0xc7)]);if(existsSync(_0x3a9d00)){let _0x3397e0=_0x55044e['name'];try{const _0x89d04f=await readFile(_0x3a9d00,_0x6abe21['tlFoS']),_0x5c7789=_0x89d04f['match'](/name:\s*(.+)/);_0x5c7789&&(_0x3397e0=_0x5c7789[0x1]['trim']());}catch{}_0x3e0877['push']({'name':_0x55044e[_0x10b153(0xb8)],'displayName':_0x3397e0,'path':_0x3a9d00,'level':_0x2a82a1});}}}}catch{return[];}return _0x3e0877;}async function getInstalledSkills(){const _0x26ed98={'xvqZj':'project','rKtcw':function(_0x95fca8,_0x2e39df,_0x1f42b2){return _0x95fca8(_0x2e39df,_0x1f42b2);},'Fdqft':function(_0x10db7a){return _0x10db7a();}},[_0x37b261,_0x42a65b]=await Promise['all']([getSkillsFromDir(getProjectSkillsDir(),_0x26ed98['xvqZj']),_0x26ed98['rKtcw'](getSkillsFromDir,_0x26ed98['Fdqft'](getUserSkillsDir),'user')]);return{'project':_0x37b261,'user':_0x42a65b};}async function getEnvironments(){const _0x5f0c01=_0x50e73a,_0x578fbf={'vhOtl':function(_0x4c7b70,_0x2d29f3){return _0x4c7b70(_0x2d29f3);},'nAGhI':function(_0x22fcea,_0xadf5ef,_0x7ed983){return _0x22fcea(_0xadf5ef,_0x7ed983);},'nZxhj':_0x5f0c01(0xbe),'IOzZC':function(_0x20412f,_0x4c2da7){return _0x20412f(_0x4c2da7);},'VGsez':function(_0x4e1ac2){return _0x4e1ac2();}},{envNames:_0x1bfe23,activeEnv:_0x3727e3}=await _0x578fbf[_0x5f0c01(0xc1)](getEnvNames),_0x4627db=getRangerDir();if(!existsSync(_0x4627db))return{'envs':[],'activeEnv':null};const _0x2d0113=_0x1bfe23[_0x5f0c01(0xa3)](_0x51d9fa=>{const _0x4bc166=_0x5f0c01,_0x1f0005=_0x578fbf[_0x4bc166(0xa1)](getEnvDir,_0x51d9fa),_0x2fabc6=_0x578fbf[_0x4bc166(0xcc)](join,_0x1f0005,_0x578fbf['nZxhj']),_0x1dac73=join(_0x1f0005,'auth.json'),_0x2b2eca=_0x578fbf['nAGhI'](join,_0x1f0005,'auth.json.enc');return{'name':_0x51d9fa,'settingsPath':_0x578fbf['vhOtl'](existsSync,_0x2fabc6)?_0x2fabc6:_0x4bc166(0x98),'hasPlaintextAuth':existsSync(_0x1dac73),'hasEncryptedAuth':_0x578fbf['IOzZC'](existsSync,_0x2b2eca),'isActive':_0x51d9fa===_0x3727e3};});return{'envs':_0x2d0113,'activeEnv':_0x3727e3};}export async function status(){const _0x4a75e0=_0x50e73a,_0x32d95f={'QEnCx':'\x0a📊\x20Ranger\x20Status\x0a','muywj':function(_0x25da02,_0x245da8){return _0x25da02(_0x245da8);},'Groro':function(_0x283dfe,_0x275196,_0x513080){return _0x283dfe(_0x275196,_0x513080);},'ZXLhd':function(_0x44f627,_0x3945f9){return _0x44f627(_0x3945f9);},'AuPQa':function(_0x56bc5b){return _0x56bc5b();},'ulrze':function(_0x992db0,_0x490216){return _0x992db0!==_0x490216;},'gDUsT':function(_0x345972){return _0x345972();},'SwGtP':_0x4a75e0(0xaa),'AxiMm':function(_0x5cd06a,_0x14edbf){return _0x5cd06a===_0x14edbf;},'hrtBM':_0x4a75e0(0xee),'YgdjW':_0x4a75e0(0xd0),'krfDh':function(_0x42fd5c,_0x428a92){return _0x42fd5c(_0x428a92);},'UYmXS':_0x4a75e0(0xd1),'vnRRk':'unknown','SUrQf':'disabled','zIMXl':'\x20\x20Run:\x20ranger\x20setup\x20[token]\x20\x20(includes\x20plugin\x20installation)','iDCIk':'\x0a---\x20Skills\x20---','etNCj':function(_0x1dd5e4,_0x2b03a7){return _0x1dd5e4>_0x2b03a7;},'QQPYC':_0x4a75e0(0xdc),'fnQQZ':_0x4a75e0(0xf7),'MEKTY':function(_0x5f18eb){return _0x5f18eb();},'uLLMi':function(_0x28cd4f,_0x322230){return _0x28cd4f+_0x322230;},'ABcKp':'No\x20profiles\x20configured','ILksC':function(_0x193d56,_0x360f66){return _0x193d56>_0x360f66;},'CUdOS':'\x20(active)','LyZSQ':function(_0x192ae8,_0x397bd3){return _0x192ae8(_0x397bd3);},'NTVpE':_0x4a75e0(0xe4),'bmNaQ':'encrypted','cTpsc':'(not\x20found)'};console['log'](_0x32d95f[_0x4a75e0(0xc4)]);const _0x5f4591=process[_0x4a75e0(0xfe)](),_0x1231c2=getRangerDir();if(!_0x32d95f['muywj'](existsSync,_0x1231c2)){console['log']('Root:\x20'+_0x32d95f[_0x4a75e0(0xa7)](link,_0x5f4591,_0x32d95f[_0x4a75e0(0xd2)](bold,basename(_0x5f4591)))),console['log'](_0x4a75e0(0xc0)),console[_0x4a75e0(0xe7)](_0x4a75e0(0xc8));return;}console[_0x4a75e0(0xe7)]('Root:\x20'+link(_0x5f4591,_0x32d95f['ZXLhd'](bold,_0x32d95f['ZXLhd'](basename,_0x5f4591))));const _0x419951=_0x32d95f[_0x4a75e0(0x99)](getCurrentVersion),_0x5e1f49=getLatestVersion();if(_0x5e1f49['version']&&_0x32d95f[_0x4a75e0(0xe5)](_0x5e1f49[_0x4a75e0(0xb0)],_0x419951))console[_0x4a75e0(0xe7)](_0x4a75e0(0x9b)+_0x419951+_0x4a75e0(0xd9)+_0x5e1f49['version']+')'),console[_0x4a75e0(0xe7)](_0x4a75e0(0xf1));else _0x5e1f49['version']?console['log']('Version:\x20'+_0x419951+_0x4a75e0(0xed)):console['log'](_0x4a75e0(0x9b)+_0x419951);const _0x4a2822=await getToken();if(_0x4a2822){const _0x90059b=await _0x32d95f[_0x4a75e0(0xd2)](getCurrentUser,_0x4a2822);_0x90059b['success']?console[_0x4a75e0(0xe7)](_0x4a75e0(0x95)+_0x32d95f[_0x4a75e0(0xf4)](bold,_0x90059b[_0x4a75e0(0xf3)][_0x4a75e0(0x103)])):(console['log'](_0x4a75e0(0xbf)),console[_0x4a75e0(0xe7)](_0x4a75e0(0xfd)));}else console['log'](_0x4a75e0(0xd5)),console['log']('\x20\x20Run:\x20ranger\x20setup\x20[token]');process[_0x4a75e0(0xd3)][_0x4a75e0(0xc3)]&&(console[_0x4a75e0(0xe7)](_0x4a75e0(0xb9)+_0x32d95f['AuPQa'](getCurrentEnvironment)),console['log']('API\x20URL:\x20'+getApiBaseUrl()));console['log'](_0x4a75e0(0xff));const _0x216350=await _0x32d95f['gDUsT'](getOpencodePluginStatus);if(_0x216350['status']===_0x32d95f['SwGtP'])console['log']('\x20\x20'+bold('@ranger-testing/opencode-plugin')+':\x20configured'),_0x216350['details']&&console['log']('\x20\x20'+_0x216350['details']);else _0x32d95f[_0x4a75e0(0x100)](_0x216350[_0x4a75e0(0xbc)],_0x32d95f['hrtBM'])?(console['log'](_0x32d95f['YgdjW']),_0x216350['details']&&console[_0x4a75e0(0xe7)]('\x20\x20'+_0x216350['details']),console[_0x4a75e0(0xe7)](_0x4a75e0(0xf9))):console[_0x4a75e0(0xe7)]('\x20\x20OpenCode\x20not\x20installed\x20or\x20not\x20available');console['log'](_0x4a75e0(0xc2));const _0x55579f=await _0x32d95f[_0x4a75e0(0xce)](getPluginInfo,_0x32d95f[_0x4a75e0(0xe0)]);if(_0x55579f){const _0x338a90=_0x55579f[_0x4a75e0(0xda)]||_0x32d95f[_0x4a75e0(0xad)],_0x5e98bd=_0x55579f[_0x4a75e0(0xa8)]?'enabled':_0x32d95f['SUrQf'];console[_0x4a75e0(0xe7)]('\x20\x20'+_0x32d95f['krfDh'](bold,_0x4a75e0(0xd1))+_0x4a75e0(0xf5)+_0x338a90+',\x20'+_0x5e98bd+')');}else console['log'](_0x4a75e0(0xb1)),console['log'](_0x32d95f['zIMXl']);console['log'](_0x32d95f[_0x4a75e0(0xa0)]);const {project:_0x22b6ae,user:_0xf0c510}=await _0x32d95f[_0x4a75e0(0x99)](getInstalledSkills),_0x30a236=_0x22b6ae[_0x4a75e0(0xeb)](_0x276e38=>RANGER_MANAGED_SKILLS[_0x4a75e0(0xf6)](_0x276e38['name'])),_0x3bad95=_0xf0c510['filter'](_0x1a8389=>RANGER_MANAGED_SKILLS[_0x4a75e0(0xf6)](_0x1a8389[_0x4a75e0(0xb8)])),_0x320287=_0x30a236['length']+_0x3bad95[_0x4a75e0(0xfa)];if(_0x32d95f['AxiMm'](_0x320287,0x0))console['log']('No\x20skills\x20installed'),console[_0x4a75e0(0xe7)]('\x20\x20Run:\x20ranger\x20skillup');else{if(_0x32d95f['etNCj'](_0x30a236['length'],0x0)){console['log'](_0x4a75e0(0xe6));for(const _0x275e17 of _0x30a236){console['log']('\x20\x20\x20\x20'+bold(_0x275e17['displayName'])+':\x20'+_0x32d95f[_0x4a75e0(0xa7)](link,_0x275e17['path'],_0x32d95f[_0x4a75e0(0xce)](basename,_0x275e17[_0x4a75e0(0x96)])));}}if(_0x3bad95[_0x4a75e0(0xfa)]>0x0){console['log'](_0x32d95f['QQPYC']);for(const _0x441c2a of _0x3bad95){console[_0x4a75e0(0xe7)]('\x20\x20\x20\x20'+bold(_0x441c2a[_0x4a75e0(0x97)])+':\x20'+_0x32d95f[_0x4a75e0(0xa7)](link,_0x441c2a['path'],_0x32d95f['krfDh'](basename,_0x441c2a['path'])));}}}console['log'](_0x32d95f[_0x4a75e0(0xb5)]);const {envs:_0x500df7,activeEnv:_0x369aae}=await getEnvironments();let _0xa41ca2=[];if(_0x4a2822)try{_0xa41ca2=await _0x32d95f[_0x4a75e0(0xdb)](listCloudProfiles);}catch{}const _0xf33bd2=_0x32d95f[_0x4a75e0(0xb4)](_0x500df7['length'],_0xa41ca2['length']);if(_0x32d95f[_0x4a75e0(0x100)](_0xf33bd2,0x0))console[_0x4a75e0(0xe7)](_0x32d95f[_0x4a75e0(0xa2)]),console[_0x4a75e0(0xe7)]('\x20\x20Run:\x20ranger\x20profile\x20add\x20<profile-name>');else{if(_0x32d95f['etNCj'](_0xf33bd2,0x5)){const _0x3a6220=[];_0x32d95f['etNCj'](_0xa41ca2['length'],0x0)&&_0x3a6220['push'](_0xa41ca2[_0x4a75e0(0xfa)]+_0x4a75e0(0xa6)),_0x32d95f['ILksC'](_0x500df7[_0x4a75e0(0xfa)],0x0)&&_0x3a6220[_0x4a75e0(0xaf)](_0x500df7[_0x4a75e0(0xfa)]+_0x4a75e0(0xdd)),console['log'](_0xf33bd2+_0x4a75e0(0xb2)+_0x3a6220['join'](',\x20')+')'),_0x369aae&&console['log'](_0x4a75e0(0xba)+bold(_0x369aae)),console[_0x4a75e0(0xe7)](_0x4a75e0(0xca));}else{for(const _0x51cc8a of _0xa41ca2){const _0xe3bc35=_0x32d95f[_0x4a75e0(0x100)](_0x51cc8a['name'],_0x369aae)?_0x32d95f['CUdOS']:'';console[_0x4a75e0(0xe7)]('\x20\x20'+_0x32d95f[_0x4a75e0(0xde)](bold,_0x51cc8a[_0x4a75e0(0xb8)])+_0x4a75e0(0xa5)+_0xe3bc35);const _0xe4ad7b=_0x51cc8a[_0x4a75e0(0xa4)]?_0x4a75e0(0xea)+_0x51cc8a['sessionUpdatedAt']+')':_0x32d95f['NTVpE'];console[_0x4a75e0(0xe7)]('\x20\x20\x20\x20Session:\x20'+_0xe4ad7b);}const _0x109a81=new Set(_0xa41ca2[_0x4a75e0(0xa3)](_0x4cc34a=>_0x4cc34a['name']));for(const _0x19d2b0 of _0x500df7){if(_0x109a81['has'](_0x19d2b0[_0x4a75e0(0xb8)]))continue;const _0x19956b=_0x19d2b0['isActive']?_0x32d95f['CUdOS']:'',_0x1bdaab=_0x19d2b0[_0x4a75e0(0xe2)]?_0x32d95f['bmNaQ']:_0x19d2b0[_0x4a75e0(0xc9)]?'plaintext':'none';console[_0x4a75e0(0xe7)]('\x20\x20'+_0x32d95f['ZXLhd'](bold,_0x19d2b0[_0x4a75e0(0xb8)])+_0x4a75e0(0xd7)+_0x19956b),console['log'](_0x4a75e0(0xbd)+_0x1bdaab),_0x19d2b0['settingsPath']!==_0x32d95f['cTpsc']&&console['log']('\x20\x20\x20\x20Settings:\x20'+_0x32d95f[_0x4a75e0(0xa7)](link,_0x19d2b0['settingsPath'],basename(_0x19d2b0['settingsPath'])));}if(!_0x369aae){console[_0x4a75e0(0xe7)](_0x4a75e0(0xd4));const _0xb832d=[..._0xa41ca2[_0x4a75e0(0xa3)](_0x5787bf=>_0x5787bf['name']),..._0x500df7['filter'](_0x508a4e=>!_0x109a81[_0x4a75e0(0xab)](_0x508a4e['name']))['map'](_0x26cd40=>_0x26cd40[_0x4a75e0(0xb8)])];console['log']('\x20\x20Run:\x20ranger\x20profile\x20use\x20<profile-name>\x20\x20(available:\x20'+_0xb832d['join'](',\x20')+')');}}}console['log']('');}
|