@ranger-testing/ranger-cli 3.0.1-alpha.aab0a1c-26 → 3.0.1-alpha.bb18058-34
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/build/cli.js +1 -1
- package/build/commands/addEnv.js +1 -1
- package/build/commands/authEncrypt.js +1 -1
- package/build/commands/clean.js +1 -1
- package/build/commands/config.js +1 -1
- package/build/commands/deleteProfile.js +1 -1
- package/build/commands/env.js +1 -1
- package/build/commands/feature.js +1 -1
- package/build/commands/hook.js +1 -1
- package/build/commands/hooks/autoPrompt.js +1 -1
- package/build/commands/hooks/disable.js +1 -1
- package/build/commands/hooks/enable.js +1 -1
- package/build/commands/hooks/exitPlanMode.js +1 -1
- package/build/commands/hooks/index.js +1 -1
- package/build/commands/hooks/output.js +1 -1
- package/build/commands/hooks/planReminder.js +1 -1
- package/build/commands/hooks/planStart.js +1 -1
- package/build/commands/hooks/postEdit.js +1 -1
- package/build/commands/hooks/preCompact.js +1 -1
- package/build/commands/hooks/sessionEnd.js +1 -1
- package/build/commands/hooks/sessionStart.js +1 -1
- package/build/commands/hooks/stopHook.js +1 -1
- package/build/commands/index.js +1 -1
- package/build/commands/login.js +1 -1
- package/build/commands/mcpBootstrap.js +1 -1
- package/build/commands/migrateProfile.js +1 -1
- package/build/commands/setup/claude.js +1 -1
- package/build/commands/setup/opencode.js +1 -1
- package/build/commands/setupCi.js +1 -1
- package/build/commands/skillup.js +1 -1
- package/build/commands/start.js +1 -1
- package/build/commands/status.js +1 -1
- package/build/commands/update.js +1 -1
- package/build/commands/updateEnv.js +1 -1
- package/build/commands/useEnv.js +1 -1
- package/build/commands/utils/activeProfile.js +1 -1
- package/build/commands/utils/agentEnv.js +1 -1
- package/build/commands/utils/browserSessionsApi.js +1 -1
- package/build/commands/utils/claudeConfig.js +1 -1
- package/build/commands/utils/claudeOverrideSettings.js +1 -1
- package/build/commands/utils/claudePlugin.js +1 -1
- package/build/commands/utils/cloudProfile.js +1 -1
- package/build/commands/utils/cloudProfileSession.js +1 -1
- package/build/commands/utils/crypto.js +1 -1
- package/build/commands/utils/desirePathLog.js +1 -1
- package/build/commands/utils/deviceAuth.js +1 -1
- package/build/commands/utils/environment.js +1 -1
- package/build/commands/utils/featureApi.js +1 -1
- package/build/commands/utils/fixWebmDuration.js +1 -1
- package/build/commands/utils/gitTracked.js +1 -1
- package/build/commands/utils/keychain.js +1 -1
- package/build/commands/utils/legacyWarning.js +1 -1
- package/build/commands/utils/localAgentInstallationsApi.js +1 -1
- package/build/commands/utils/matchAuthEnvironment.js +1 -1
- package/build/commands/utils/mcpImageBase64.js +1 -1
- package/build/commands/utils/model.js +1 -1
- package/build/commands/utils/novaActCli.js +1 -1
- package/build/commands/utils/opencodeConfig.js +1 -1
- package/build/commands/utils/organizationEnvApi.js +1 -0
- package/build/commands/utils/playwrightCli.js +1 -1
- package/build/commands/utils/profileMessages.js +1 -1
- package/build/commands/utils/profileSetupBanner.js +1 -1
- package/build/commands/utils/projectsConfig.js +1 -1
- package/build/commands/utils/rangerConfig.js +1 -1
- package/build/commands/utils/rangerRoot.js +1 -1
- package/build/commands/utils/rangerwrightCli.js +1 -0
- 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/build/commands/verifyFeatureRangerwrightCli.js +1 -0
- package/package.json +3 -2
package/build/commands/login.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
function
|
|
1
|
+
function _0x1982(_0x51daaa,_0x5c036a){_0x51daaa=_0x51daaa-0x8c;const _0xf3b93=_0xf3b9();let _0x198212=_0xf3b93[_0x51daaa];return _0x198212;}function _0xf3b9(){const _0x288663=['6oFcyJa','2149088hEjFRw','1971075YqDzms','user','21345312QDSPzf','\x0a✅\x20API\x20key\x20stored\x20successfully','log','639026tneOCu','message','1408653jNzEkE','1863848svlBUA','pwcUW','96888PlvcFN'];_0xf3b9=function(){return _0x288663;};return _0xf3b9();}(function(_0x4b3bcf,_0x5b2993){const _0x29ca01=_0x1982,_0x13f869=_0x4b3bcf();while(!![]){try{const _0x4df9f9=-parseInt(_0x29ca01(0x95))/0x1+-parseInt(_0x29ca01(0x90))/0x2+-parseInt(_0x29ca01(0x92))/0x3+-parseInt(_0x29ca01(0x97))/0x4+parseInt(_0x29ca01(0x98))/0x5*(-parseInt(_0x29ca01(0x96))/0x6)+-parseInt(_0x29ca01(0x93))/0x7+parseInt(_0x29ca01(0x8d))/0x8;if(_0x4df9f9===_0x5b2993)break;else _0x13f869['push'](_0x13f869['shift']());}catch(_0x451b81){_0x13f869['push'](_0x13f869['shift']());}}}(_0xf3b9,0x8eb0d));import{runDeviceAuthFlow}from'./utils/deviceAuth.js';import{getCurrentUser}from'./utils/userApi.js';import{getMcpAuthOrigin,mcpBootstrap}from'./mcpBootstrap.js';import{isInteractive}from'./utils/cloudProfileSession.js';export async function login(){const _0x13d0df=_0x1982,_0x3a0b55={'pwcUW':'Re-authenticating\x20via\x20MCP\x20bootstrap...','GAtnt':function(_0x3cb7a8){return _0x3cb7a8();},'iAkLs':'Login\x20requires\x20an\x20interactive\x20terminal.\x20In\x20CI,\x20use:\x20ranger\x20setup\x20[token]\x20or\x20set\x20RANGER_CLI_TOKEN.'},_0xee6060=await getMcpAuthOrigin();if(_0xee6060){console[_0x13d0df(0x8f)](_0x3a0b55[_0x13d0df(0x94)]),await mcpBootstrap();return;}if(!_0x3a0b55['GAtnt'](isInteractive))throw new Error(_0x3a0b55['iAkLs']);try{const _0xf96c9d=await _0x3a0b55['GAtnt'](runDeviceAuthFlow),_0x1f30db=await getCurrentUser(_0xf96c9d);_0x1f30db['success']?console[_0x13d0df(0x8f)]('\x0a✅\x20Logged\x20in\x20to\x20'+_0x1f30db[_0x13d0df(0x8c)]['organizationName']):console['log'](_0x13d0df(0x8e));}catch(_0xb12935){throw new Error('Login\x20failed:\x20'+(_0xb12935 instanceof Error?_0xb12935[_0x13d0df(0x91)]:_0xb12935));}}
|
|
@@ -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 _0x5d485c=_0x5d3d;(function(_0x525054,_0x485541){const _0xecf433=_0x5d3d,_0xa6d24c=_0x525054();while(!![]){try{const _0x5e201e=parseInt(_0xecf433(0x163))/0x1*(-parseInt(_0xecf433(0x14d))/0x2)+parseInt(_0xecf433(0x197))/0x3+-parseInt(_0xecf433(0x15d))/0x4*(parseInt(_0xecf433(0x138))/0x5)+parseInt(_0xecf433(0x18f))/0x6+parseInt(_0xecf433(0x116))/0x7*(-parseInt(_0xecf433(0x15b))/0x8)+parseInt(_0xecf433(0x136))/0x9+parseInt(_0xecf433(0x107))/0xa;if(_0x5e201e===_0x485541)break;else _0xa6d24c['push'](_0xa6d24c['shift']());}catch(_0x585bf7){_0xa6d24c['push'](_0xa6d24c['shift']());}}}(_0x1f41,0x55fcd));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',_0x5d485c(0x159)),AUTH_ORIGIN_PATH=join(homedir(),_0x5d485c(0x135),'auth-origin.txt');function _0x1f41(){const _0x529971=['RDwqk','</p><p>You\x20can\x20close\x20this\x20window.</p></body></html>','slice','match','OAuth\x20callback\x20timed\x20out\x20after\x202\x20minutes','proxied','ArvRS','42BCyvJL','includes','/callback','platform','darwin','log','hex','Run\x20`ranger\x20setup\x20--mcp-bootstrap`\x20interactively\x20first.','2025-03-26','replace','pOlge','\x0aCached\x20OAuth\x20client\x20may\x20be\x20stale\x20—\x20clearing\x20and\x20retrying...\x0a','QhWJD','ywcxe','\x20done','IISDY','fiEOh','clientId','Could\x20not\x20fetch\x20auth\x20server\x20metadata\x20from\x20','oJKZx','state','BDWHH','parse','Run\x20`ranger\x20status`\x20to\x20verify\x20authentication.\x0a','application/json','end','searchParams','writeHead','data:','WPkVE','name','.ranger','101088JhfBcq','json','35msTUVj','RryHt','QuvnO','application/x-www-form-urlencoded','access_token','ranger-cli','anaiW','EiAaL','authorization_endpoint','IiJLF','initialize','\x0aToken\x20written\x20to\x20','/.well-known/oauth-protected-resource','utf-8','code_challenge','refresh_token','client_id','content-type','client_secret','QCFeU','token','2674JSRUGQ','content','Server\x20returned\x20error:\x20','Ranger\x20CLI','clientSecret','No\x20JSON-RPC\x20response\x20found\x20in\x20SSE\x20stream','start','accessToken','pVrrV','uZgmf','status','OAuthTimeoutError','mcp-oauth-tokens.json','JImys','698536PemgMJ','toString','310028EHFkOe','POST','base64url','LIISb','HgMZm','error','334bqNcNH','S256','SrqLy','127.0.0.1','digest','startsWith','response_type','<html><body><h2>Authentication\x20failed</h2><p>','expiresAt','registration_endpoint','stringify','jypmp','closeAllConnections','idokG','split','Exchanging\x20authorization\x20code...','text','Not\x20found','resource','get_cli_token','OXvjl','RgLha','<html><body><h2>Invalid\x20callback</h2><p>Missing\x20code\x20or\x20state\x20mismatch.</p></body></html>','1.0.0','now','error_description','get_cli_token\x20failed:\x20','Initializing\x20MCP\x20session...','AYrDx','kheSB','origin','MLslO','jievB','refresh.txt','nkmfg','Bearer\x20','write','2.0','IWAam','hmldo','headers','veTgm','isError','TzBfP','3617160UUupMq','pjbax','stdout','XoBLs','string','code_challenge_method','IDLcT','Authorization\x20server\x20does\x20not\x20support\x20dynamic\x20client\x20registration\x20and\x20no\x20cached\x20client\x20found','303891SJPhmZ','LMBub','sIaHg','11498250RGfltl','ZXtDb','If\x20the\x20browser\x20doesn\x27t\x20open,\x20visit:\x0a','MCP\x20server\x20requires\x20authentication\x20but\x20running\x20in\x20non-interactive\x20mode.\x0a','SARpL','get','<html><body><h2>Authenticated!</h2><p>You\x20can\x20close\x20this\x20window\x20and\x20return\x20to\x20the\x20terminal.</p></body></html>','set'];_0x1f41=function(){return _0x529971;};return _0x1f41();}export async function getMcpAuthOrigin(){const _0x37a2a1=_0x5d485c,_0x25c0c9={'WtZnp':function(_0x2ca0f6,_0x4e30ee,_0x52465b){return _0x2ca0f6(_0x4e30ee,_0x52465b);},'ZfPxo':function(_0x5ed6c9,_0x9d64f5){return _0x5ed6c9||_0x9d64f5;}};try{const _0xb1f2c1=(await _0x25c0c9['WtZnp'](readFile,AUTH_ORIGIN_PATH,_0x37a2a1(0x145)))['trim']();return _0x25c0c9['ZfPxo'](_0xb1f2c1,null);}catch{return null;}}export async function mcpBootstrap(){const _0x193191=_0x5d485c,_0x35255e={'LIISb':function(_0x5308e1){return _0x5308e1();},'veTgm':function(_0x48c64e,_0x40def1){return _0x48c64e(_0x40def1);},'UUuxM':'proxied','IusvW':function(_0x155b8e,_0x222c36){return _0x155b8e+_0x222c36;},'WPkVE':_0x193191(0x10a)},_0x8d9080=_0x35255e[_0x193191(0x160)](getMcpAuthUrl);currentOrigin=_0x8d9080;const _0x128f5d=process['stdout']['isTTY']??![];console[_0x193191(0x11b)]('\x0aConnecting\x20to\x20MCP\x20auth\x20server:\x20'+_0x8d9080+'\x0a');const _0x11f314=await _0x35255e['veTgm'](tryUnauthenticated,_0x8d9080);let _0x2a0ece=null;if(_0x11f314===_0x35255e['UUuxM'])_0x2a0ece='';else{_0x2a0ece=await loadCachedToken();if(!_0x2a0ece){if(!_0x128f5d)throw new Error(_0x35255e['IusvW'](_0x35255e[_0x193191(0x133)],_0x193191(0x11d)));_0x2a0ece=await _0x35255e[_0x193191(0x18c)](oauthFlow,_0x8d9080);}}await callGetCliToken(_0x8d9080,_0x2a0ece);}async function tryUnauthenticated(_0x1a5101){const _0x2eebf8=_0x5d485c,_0x431c54={'pjbax':'POST','aBavP':_0x2eebf8(0x11e),'pOlge':_0x2eebf8(0x17a),'idokG':function(_0x37a51a,_0x2d8600){return _0x37a51a===_0x2d8600;},'EiAaL':'needs-oauth'},_0x1849a1=await fetch(_0x1a5101,{'method':_0x431c54[_0x2eebf8(0x190)],'headers':{'Content-Type':_0x2eebf8(0x12e),'Accept':'application/json,\x20text/event-stream'},'body':JSON[_0x2eebf8(0x16d)]({'jsonrpc':_0x2eebf8(0x188),'id':0x1,'method':_0x2eebf8(0x142),'params':{'protocolVersion':_0x431c54['aBavP'],'capabilities':{},'clientInfo':{'name':'ranger-cli','version':_0x431c54[_0x2eebf8(0x120)]}}})});if(_0x1849a1['ok'])return await _0x1849a1['text'](),_0x2eebf8(0x114);if(_0x431c54[_0x2eebf8(0x170)](_0x1849a1['status'],0x191))return await _0x1849a1['text'](),_0x431c54[_0x2eebf8(0x13f)];const _0x224a30=await _0x1849a1['text']();throw new Error('MCP\x20server\x20returned\x20HTTP\x20'+_0x1849a1[_0x2eebf8(0x157)]+':\x20'+_0x224a30);}class OAuthTimeoutError extends Error{constructor(_0x549cad){const _0x387870=_0x5d485c,_0x5221a7={'zsnqL':_0x387870(0x158)};super(_0x549cad),this[_0x387870(0x134)]=_0x5221a7['zsnqL'];}}async function oauthFlow(_0x3ab406){const _0x4c967e=_0x5d485c,_0x5b1af7={'BDWHH':function(_0x4c1da1,_0x519ed9){return _0x4c1da1(_0x519ed9);},'anaiW':function(_0x5c8d67){return _0x5c8d67();},'zLaWK':_0x4c967e(0x121)};try{return await _0x5b1af7[_0x4c967e(0x12b)](oauthFlowAttempt,_0x3ab406);}catch(_0x571cbb){if(_0x571cbb instanceof OAuthTimeoutError&&await _0x5b1af7[_0x4c967e(0x13e)](loadCachedClient))return console['log'](_0x5b1af7['zLaWK']),await clearCachedClient(),await _0x5b1af7['BDWHH'](oauthFlowAttempt,_0x3ab406);throw _0x571cbb;}}async function oauthFlowAttempt(_0x5c59ec){const _0x2a9638=_0x5d485c,_0x1b542f={'IDLcT':'Could\x20not\x20fetch\x20protected\x20resource\x20metadata\x20from\x20MCP\x20server','IiJLF':function(_0x2455a0){return _0x2455a0();},'SboJY':'Registering\x20OAuth\x20client...','kheSB':'authorization_code','LMBub':'refresh_token','OQcLd':'code','hmldo':'none','RgLha':_0x2a9638(0x124),'nkmfg':function(_0x34efa2,_0x559b13){return _0x34efa2(_0x559b13);},'MsIEX':_0x2a9638(0x15f),'ywcxe':_0x2a9638(0x169),'CQYoB':_0x2a9638(0x148),'OXvjl':'redirect_uri','rsKRM':_0x2a9638(0x146),'AYrDx':_0x2a9638(0x194),'zBdKb':_0x2a9638(0x12a),'UrfhI':'client_secret','fiEOh':_0x2a9638(0x13b),'Webvb':function(_0x1c606a,_0x268983,_0x3bb230,_0x5d3b33){return _0x1c606a(_0x268983,_0x3bb230,_0x5d3b33);}},_0x191895=_0x5c59ec[_0x2a9638(0x11f)](/\/mcp$/,'');process['stdout']['write']('Discovering\x20authorization\x20server...');const _0x5664c7=await fetch(_0x191895+_0x2a9638(0x144));if(!_0x5664c7['ok'])throw new Error(_0x1b542f[_0x2a9638(0x195)]);const _0x179e8f=await _0x5664c7['json'](),_0x476b1b=_0x179e8f['authorization_servers']?.[0x0];if(!_0x476b1b)throw new Error('No\x20authorization_servers\x20in\x20protected\x20resource\x20metadata');console[_0x2a9638(0x11b)]('\x20'+_0x476b1b);const _0x8497a0=await fetchAuthServerMetadata(_0x476b1b);let _0x17b5b5,_0x4213b5;const _0xc38af=await _0x1b542f[_0x2a9638(0x141)](loadCachedClient);if(_0xc38af)_0x17b5b5=_0xc38af[_0x2a9638(0x127)],_0x4213b5=_0xc38af[_0x2a9638(0x151)];else{if(_0x8497a0['registration_endpoint']){process[_0x2a9638(0x191)]['write'](_0x1b542f['SboJY']);const _0x5dd718=await fetch(_0x8497a0[_0x2a9638(0x16c)],{'method':_0x2a9638(0x15e),'headers':{'Content-Type':_0x2a9638(0x12e)},'body':JSON[_0x2a9638(0x16d)]({'client_name':_0x2a9638(0x150),'redirect_uris':['http://localhost:'+CALLBACK_PORT+_0x2a9638(0x118)],'grant_types':[_0x1b542f[_0x2a9638(0x180)],_0x1b542f[_0x2a9638(0x105)]],'response_types':[_0x1b542f['OQcLd']],'token_endpoint_auth_method':_0x1b542f[_0x2a9638(0x18a)]})});if(!_0x5dd718['ok']){const _0x434d79=await _0x5dd718['text']();throw new Error('Client\x20registration\x20failed:\x20'+_0x434d79);}const _0x46e195=await _0x5dd718['json']();_0x17b5b5=_0x46e195['client_id'],_0x4213b5=_0x46e195[_0x2a9638(0x14a)],await saveCachedClient(_0x17b5b5,_0x4213b5),console[_0x2a9638(0x11b)](_0x1b542f[_0x2a9638(0x178)]);}else throw new Error(_0x2a9638(0x196));}const _0x5d06c3=_0x1b542f[_0x2a9638(0x185)](randomBytes,0x20)[_0x2a9638(0x15c)](_0x1b542f['MsIEX']),_0x15d0b4=createHash('sha256')['update'](_0x5d06c3)[_0x2a9638(0x167)](_0x1b542f['MsIEX']),_0x3706e8=randomBytes(0x10)['toString'](_0x2a9638(0x11c)),_0x52a27e=new URL(_0x8497a0[_0x2a9638(0x140)]);_0x52a27e[_0x2a9638(0x130)][_0x2a9638(0x10e)](_0x1b542f[_0x2a9638(0x123)],_0x1b542f['OQcLd']),_0x52a27e['searchParams']['set'](_0x1b542f['CQYoB'],_0x17b5b5),_0x52a27e[_0x2a9638(0x130)][_0x2a9638(0x10e)](_0x1b542f[_0x2a9638(0x177)],'http://localhost:'+CALLBACK_PORT+_0x2a9638(0x118)),_0x52a27e[_0x2a9638(0x130)]['set'](_0x1b542f['rsKRM'],_0x15d0b4),_0x52a27e['searchParams'][_0x2a9638(0x10e)](_0x1b542f[_0x2a9638(0x17f)],_0x2a9638(0x164)),_0x52a27e['searchParams']['set'](_0x1b542f['zBdKb'],_0x3706e8);_0x179e8f['resource']&&_0x52a27e[_0x2a9638(0x130)][_0x2a9638(0x10e)](_0x2a9638(0x175),_0x179e8f[_0x2a9638(0x175)]);console['log']('\x0aOpening\x20browser\x20for\x20authentication...'),console['log'](_0x2a9638(0x109)+_0x52a27e[_0x2a9638(0x15c)]()+'\x0a'),await openBrowser(_0x52a27e['toString']());const _0x5d0d6c=await waitForCallback(_0x3706e8);process['stdout'][_0x2a9638(0x187)](_0x2a9638(0x172));const _0x100d2c=new URLSearchParams({'grant_type':_0x1b542f[_0x2a9638(0x180)],'code':_0x5d0d6c,'redirect_uri':'http://localhost:'+CALLBACK_PORT+_0x2a9638(0x118),'client_id':_0x17b5b5,'code_verifier':_0x5d06c3});_0x4213b5&&_0x100d2c['set'](_0x1b542f['UrfhI'],_0x4213b5);_0x179e8f[_0x2a9638(0x175)]&&_0x100d2c[_0x2a9638(0x10e)]('resource',_0x179e8f['resource']);const _0x120a27=await fetch(_0x8497a0['token_endpoint'],{'method':_0x2a9638(0x15e),'headers':{'Content-Type':_0x1b542f[_0x2a9638(0x126)]},'body':_0x100d2c});if(!_0x120a27['ok']){const _0x2542f3=await _0x120a27['text']();throw new Error('Token\x20exchange\x20failed:\x20'+_0x2542f3);}const _0x22aa40=await _0x120a27[_0x2a9638(0x137)]();return console['log'](_0x1b542f['RgLha']),await _0x1b542f['Webvb'](saveCachedToken,_0x22aa40[_0x2a9638(0x13c)],_0x22aa40[_0x2a9638(0x147)],_0x22aa40['expires_in']),_0x22aa40['access_token'];}async function callGetCliToken(_0x49add4,_0x2afc43){const _0x21f364=_0x5d485c,_0x3f4d46={'PQsLk':function(_0x449286,_0x205f70,_0x20e762){return _0x449286(_0x205f70,_0x20e762);},'vNElj':_0x21f364(0x15e),'krDMh':'application/json','pVrrV':'application/json,\x20text/event-stream','bQCkz':_0x21f364(0x17e),'jypmp':_0x21f364(0x188),'ZXtDb':_0x21f364(0x142),'GIKzF':_0x21f364(0x11e),'RDwqk':'1.0.0','YOqOu':_0x21f364(0x124),'uzctg':'notifications/initialized','GaqXt':'Requesting\x20CLI\x20token...','iNrCO':'tools/call','abace':function(_0x2f168b,_0x2551e8){return _0x2f168b(_0x2551e8);},'XdYOS':'\x0aUnexpected\x20response\x20structure:','SARpL':'Could\x20not\x20extract\x20token\x20from\x20MCP\x20response','oJKZx':function(_0x296893,_0x18e92f,_0x425615){return _0x296893(_0x18e92f,_0x425615);},'CMMin':function(_0x53010d,_0x14aac1,_0x4992df,_0x254a3e){return _0x53010d(_0x14aac1,_0x4992df,_0x254a3e);},'QCFeU':_0x21f364(0x12d)},_0x17aaa0={'Content-Type':_0x3f4d46['krDMh'],'Accept':_0x3f4d46[_0x21f364(0x155)]};_0x2afc43&&(_0x17aaa0['Authorization']=_0x21f364(0x186)+_0x2afc43);const _0x5cd024=async _0x52e90a=>{const _0x3f6205=_0x21f364,_0x1b3c00=await _0x3f4d46['PQsLk'](fetch,_0x49add4,{'method':_0x3f4d46['vNElj'],'headers':_0x17aaa0,'body':JSON['stringify'](_0x52e90a)});if(!_0x1b3c00['ok']){const _0x287de3=await _0x1b3c00['text']();throw new Error('HTTP\x20'+_0x1b3c00[_0x3f6205(0x157)]+':\x20'+_0x287de3);}return parseResponse(_0x1b3c00);};process[_0x21f364(0x191)][_0x21f364(0x187)](_0x3f4d46['bQCkz']);const _0xbefd6a=await _0x5cd024({'jsonrpc':_0x3f4d46['jypmp'],'id':0x1,'method':_0x3f4d46[_0x21f364(0x108)],'params':{'protocolVersion':_0x3f4d46['GIKzF'],'capabilities':{},'clientInfo':{'name':_0x21f364(0x13d),'version':_0x3f4d46[_0x21f364(0x10f)]}}});if(_0xbefd6a[_0x21f364(0x162)])throw new Error('MCP\x20initialize\x20failed:\x20'+(_0xbefd6a['error']['message']??JSON[_0x21f364(0x16d)](_0xbefd6a[_0x21f364(0x162)])));console[_0x21f364(0x11b)](_0x3f4d46['YOqOu']),await _0x3f4d46['PQsLk'](fetch,_0x49add4,{'method':_0x21f364(0x15e),'headers':_0x17aaa0,'body':JSON[_0x21f364(0x16d)]({'jsonrpc':_0x3f4d46[_0x21f364(0x16e)],'method':_0x3f4d46['uzctg']})})['then'](_0x1e9feb=>_0x1e9feb['text']()),process['stdout']['write'](_0x3f4d46['GaqXt']);const _0x29d4d2=await _0x5cd024({'jsonrpc':_0x3f4d46['jypmp'],'id':0x2,'method':_0x3f4d46['iNrCO'],'params':{'name':_0x21f364(0x176),'arguments':{}}});if(_0x29d4d2[_0x21f364(0x162)])throw new Error(_0x21f364(0x17d)+(_0x29d4d2['error']['message']??JSON[_0x21f364(0x16d)](_0x29d4d2['error'])));console['log'](_0x3f4d46['YOqOu']);const _0x571be7=_0x3f4d46['abace'](extractToken,_0x29d4d2['result']);if(!_0x571be7){console['error'](_0x3f4d46['XdYOS']),console['error'](JSON['stringify'](_0x29d4d2['result'],null,0x2));throw new Error(_0x3f4d46[_0x21f364(0x10b)]);}const _0x5308b9=join(homedir(),'.ranger'),_0x5128a4=_0x3f4d46['oJKZx'](join,_0x5308b9,_0x21f364(0x184));await _0x3f4d46[_0x21f364(0x129)](mkdir,_0x5308b9,{'recursive':!![]}),await _0x3f4d46['CMMin'](writeFile,_0x5128a4,_0x571be7,{'mode':0x180}),await writeFile(join(_0x5308b9,'auth-origin.txt'),_0x49add4,{'mode':0x180}),console[_0x21f364(0x11b)](_0x21f364(0x143)+_0x5128a4),console[_0x21f364(0x11b)](_0x3f4d46[_0x21f364(0x14b)]);}async function fetchAuthServerMetadata(_0x19135c){const _0x54e90b=_0x5d485c,_0x55ae95=_0x19135c+'/.well-known/oauth-authorization-server',_0x488750=await fetch(_0x55ae95);if(!_0x488750['ok'])throw new Error(_0x54e90b(0x128)+_0x55ae95+':\x20'+_0x488750[_0x54e90b(0x157)]);return _0x488750[_0x54e90b(0x137)]();}function waitForCallback(_0x3334d3){const _0x2e945c=_0x5d485c,_0x325aee={'ZbfnN':function(_0x53cbf5){return _0x53cbf5();},'WRLyN':_0x2e945c(0x113),'TzBfP':function(_0xc666fd,_0x40420b){return _0xc666fd!==_0x40420b;},'yIFjM':_0x2e945c(0x174),'jievB':'code','MLslO':_0x2e945c(0x162),'sIaHg':'text/html','NPsQt':function(_0x1cc7fa,_0x32e291){return _0x1cc7fa(_0x32e291);},'orXTC':function(_0x32dba5,_0x11bb3b){return _0x32dba5(_0x11bb3b);},'WDmNO':function(_0x49cea7,_0x3b544f){return _0x49cea7!==_0x3b544f;},'XtISs':function(_0x334024,_0x3e01ab,_0x300007){return _0x334024(_0x3e01ab,_0x300007);},'JImys':function(_0x5ca3e,_0x5d8202){return _0x5ca3e(_0x5d8202);}};return new Promise((_0x52f55e,_0x38b514)=>{const _0x5a3463=_0x2e945c,_0xdf9348=()=>{const _0x1ff25f=_0x5d3d;_0x4785c3[_0x1ff25f(0x16f)](),_0x4785c3['close']();},_0x54ecbf=_0x325aee['XtISs'](setTimeout,()=>{_0x325aee['ZbfnN'](_0xdf9348),_0x38b514(new OAuthTimeoutError(_0x325aee['WRLyN']));},0x1d4c0),_0x4785c3=_0x325aee[_0x5a3463(0x15a)](createServer,(_0x20abb5,_0xffeb7d)=>{const _0x50cd33=_0x5a3463,_0x6b91ee=new URL(_0x20abb5['url']??'/','http://localhost:'+CALLBACK_PORT);if(_0x325aee[_0x50cd33(0x18e)](_0x6b91ee['pathname'],'/callback')){_0xffeb7d['writeHead'](0x194),_0xffeb7d['end'](_0x325aee['yIFjM']);return;}const _0x2bee65=_0x6b91ee[_0x50cd33(0x130)]['get'](_0x325aee[_0x50cd33(0x183)]),_0x53bdbd=_0x6b91ee[_0x50cd33(0x130)][_0x50cd33(0x10c)](_0x50cd33(0x12a)),_0x17a231=_0x6b91ee['searchParams']['get'](_0x325aee[_0x50cd33(0x182)]);if(_0x17a231){const _0x36383e=_0x6b91ee[_0x50cd33(0x130)]['get'](_0x50cd33(0x17c))??_0x17a231;_0xffeb7d[_0x50cd33(0x131)](0xc8,{'Content-Type':_0x325aee['sIaHg']}),_0xffeb7d['end'](_0x50cd33(0x16a)+_0x36383e+_0x50cd33(0x110)),_0x325aee['NPsQt'](clearTimeout,_0x54ecbf),_0xdf9348(),_0x325aee['orXTC'](_0x38b514,new Error('OAuth\x20error:\x20'+_0x36383e));return;}if(!_0x2bee65||_0x325aee['WDmNO'](_0x53bdbd,_0x3334d3)){_0xffeb7d['writeHead'](0x190,{'Content-Type':_0x325aee['sIaHg']}),_0xffeb7d[_0x50cd33(0x12f)](_0x50cd33(0x179));return;}_0xffeb7d['writeHead'](0xc8,{'Content-Type':_0x325aee[_0x50cd33(0x106)]}),_0xffeb7d[_0x50cd33(0x12f)](_0x50cd33(0x10d)),clearTimeout(_0x54ecbf),_0x325aee['ZbfnN'](_0xdf9348),_0x52f55e(_0x2bee65);});_0x4785c3['listen'](CALLBACK_PORT,_0x5a3463(0x166));});}async function openBrowser(_0x1b59b3){const _0x290a47=_0x5d485c,_0x75778d={'uZgmf':function(_0x115649,_0xc76f8){return _0x115649===_0xc76f8;},'SrqLy':'win32','eqwHB':function(_0x16c2e5,_0x18a368){return _0x16c2e5(_0x18a368);}},_0x4891d3=process[_0x290a47(0x119)]===_0x290a47(0x11a)?'open':_0x75778d[_0x290a47(0x156)](process[_0x290a47(0x119)],_0x75778d[_0x290a47(0x165)])?_0x290a47(0x153):'xdg-open';_0x75778d['eqwHB'](exec,_0x4891d3+'\x20\x22'+_0x1b59b3+'\x22');}let currentOrigin='';async function loadCachedToken(){const _0x24febf=_0x5d485c,_0x581833={'ozxsc':function(_0x1a84cb,_0x4aef65,_0x14bf96){return _0x1a84cb(_0x4aef65,_0x14bf96);},'KPylB':_0x24febf(0x145),'QhWJD':function(_0x203000,_0xeafaa9){return _0x203000>_0xeafaa9;}};try{const _0x12bd9a=JSON['parse'](await _0x581833['ozxsc'](readFile,TOKEN_CACHE_PATH,_0x581833['KPylB']));if(_0x12bd9a['origin']&&_0x12bd9a['origin']!==currentOrigin)return null;if(_0x12bd9a[_0x24febf(0x16b)]&&_0x581833[_0x24febf(0x122)](Date[_0x24febf(0x17b)](),_0x12bd9a['expiresAt']))return null;return _0x12bd9a[_0x24febf(0x154)]??null;}catch{return null;}}async function saveCachedToken(_0x510c46,_0x1da7bd,_0x146453){const _0x3c364e=_0x5d485c,_0x57a746={'MWfdr':function(_0x59fc7e){return _0x59fc7e();},'IISDY':function(_0x13d7ae,_0x344b84,_0x5d228){return _0x13d7ae(_0x344b84,_0x5d228);},'RryHt':function(_0x24d220){return _0x24d220();},'Alzar':function(_0x3cf6b7,_0x34173a,_0x2f6253,_0x1983a1){return _0x3cf6b7(_0x34173a,_0x2f6253,_0x1983a1);}},_0x10b66d=await _0x57a746['MWfdr'](loadCachedData),_0x27e3db={..._0x10b66d,'origin':currentOrigin,'accessToken':_0x510c46,'refreshToken':_0x1da7bd??_0x10b66d?.['refreshToken'],'expiresAt':_0x146453?Date['now']()+_0x146453*0x3e8:undefined};await _0x57a746[_0x3c364e(0x125)](mkdir,join(_0x57a746[_0x3c364e(0x139)](homedir),'.ranger'),{'recursive':!![]}),await _0x57a746['Alzar'](writeFile,TOKEN_CACHE_PATH,JSON[_0x3c364e(0x16d)](_0x27e3db),{'mode':0x180});}function _0x5d3d(_0x20d6d5,_0x3fb80e){_0x20d6d5=_0x20d6d5-0x105;const _0x1f41dd=_0x1f41();let _0x5d3d9e=_0x1f41dd[_0x20d6d5];return _0x5d3d9e;}async function loadCachedClient(){const _0x1d6fd4=_0x5d485c,_0x2c6e3f={'McVSO':function(_0x29b8c7){return _0x29b8c7();},'aqJrP':function(_0x6cda3f,_0x7fb3b3){return _0x6cda3f!==_0x7fb3b3;}},_0x3ae480=await _0x2c6e3f['McVSO'](loadCachedData);if(_0x3ae480?.[_0x1d6fd4(0x181)]&&_0x2c6e3f['aqJrP'](_0x3ae480['origin'],currentOrigin))return null;return _0x3ae480?.[_0x1d6fd4(0x127)]?{'clientId':_0x3ae480[_0x1d6fd4(0x127)],'clientSecret':_0x3ae480[_0x1d6fd4(0x151)]}:null;}async function clearCachedClient(){const _0x9ca094=_0x5d485c,_0x2cf3e2={'QuvnO':function(_0x346a75){return _0x346a75();},'LmBdA':function(_0x592e0a,_0x4948c8,_0x57dfda,_0x4ed37e){return _0x592e0a(_0x4948c8,_0x57dfda,_0x4ed37e);}},_0x3c780c=await _0x2cf3e2[_0x9ca094(0x13a)](loadCachedData);if(!_0x3c780c)return;const {clientId:_0x2888e1,clientSecret:_0x1f3c4b,..._0x18c07e}=_0x3c780c;await _0x2cf3e2['LmBdA'](writeFile,TOKEN_CACHE_PATH,JSON['stringify'](_0x18c07e),{'mode':0x180});}async function saveCachedClient(_0x5179e3,_0x4f58e0){const _0x195bd3=_0x5d485c,_0x6c43e5={'IWAam':function(_0xe2ea8){return _0xe2ea8();}},_0x3dc3b4=await _0x6c43e5['IWAam'](loadCachedData),_0x457c95={..._0x3dc3b4,'origin':currentOrigin,'accessToken':_0x3dc3b4?.['accessToken']??'','clientId':_0x5179e3,'clientSecret':_0x4f58e0};await mkdir(join(_0x6c43e5[_0x195bd3(0x189)](homedir),_0x195bd3(0x135)),{'recursive':!![]}),await writeFile(TOKEN_CACHE_PATH,JSON[_0x195bd3(0x16d)](_0x457c95),{'mode':0x180});}async function loadCachedData(){const _0x13ce47=_0x5d485c,_0x2f0160={'YvhQO':function(_0x3ecc5b,_0x440129,_0x35baa3){return _0x3ecc5b(_0x440129,_0x35baa3);}};try{return JSON['parse'](await _0x2f0160['YvhQO'](readFile,TOKEN_CACHE_PATH,_0x13ce47(0x145)));}catch{return null;}}async function parseResponse(_0x221ffa){const _0x6cb6d=_0x5d485c,_0x597daa={'KXwwC':_0x6cb6d(0x149),'ArvRS':'data:','twPGX':_0x6cb6d(0x152)},_0x2932e5=_0x221ffa[_0x6cb6d(0x18b)][_0x6cb6d(0x10c)](_0x597daa['KXwwC'])??'';if(_0x2932e5[_0x6cb6d(0x117)]('text/event-stream')){const _0x3c2baa=await _0x221ffa['text']();for(const _0x277fdd of _0x3c2baa[_0x6cb6d(0x171)]('\x0a')){const _0x2713a5=_0x277fdd['trim']();if(_0x2713a5[_0x6cb6d(0x168)](_0x597daa[_0x6cb6d(0x115)])){const _0x1df05c=_0x2713a5[_0x6cb6d(0x111)](_0x6cb6d(0x132)['length'])['trim']();if(!_0x1df05c)continue;try{const _0x4e01ff=JSON[_0x6cb6d(0x12c)](_0x1df05c);if(_0x4e01ff['id']!==undefined||_0x4e01ff[_0x6cb6d(0x162)])return _0x4e01ff;}catch{}}}throw new Error(_0x597daa['twPGX']);}return _0x221ffa[_0x6cb6d(0x137)]();}function extractToken(_0x35a61d){const _0x1e032f=_0x5d485c,_0x3500f1={'HgMZm':function(_0x199cef,_0x38af6a){return _0x199cef===_0x38af6a;},'nzTvW':'Unknown\x20error','XoBLs':_0x1e032f(0x173),'ncPTw':_0x1e032f(0x193)};if(!_0x35a61d)return null;const _0x291a1a=_0x35a61d['structuredContent'];if(_0x291a1a?.[_0x1e032f(0x14c)]&&_0x3500f1[_0x1e032f(0x161)](typeof _0x291a1a[_0x1e032f(0x14c)],'string'))return _0x291a1a[_0x1e032f(0x14c)];if(_0x35a61d[_0x1e032f(0x18d)]){const _0x3a8136=_0x35a61d[_0x1e032f(0x14e)];throw new Error(_0x1e032f(0x14f)+(_0x3a8136?.[0x0]?.[_0x1e032f(0x173)]??_0x3500f1['nzTvW']));}const _0x4e9991=_0x35a61d[_0x1e032f(0x14e)];if(_0x4e9991)for(const _0xb7764c of _0x4e9991){if(_0xb7764c['type']===_0x3500f1[_0x1e032f(0x192)]&&_0xb7764c['text']){try{const _0x3e3beb=JSON['parse'](_0xb7764c['text']);if(_0x3500f1[_0x1e032f(0x161)](typeof _0x3e3beb?.[_0x1e032f(0x14c)],_0x3500f1['ncPTw']))return _0x3e3beb['token'];}catch{}const _0x3cb23f=_0xb7764c['text'][_0x1e032f(0x112)](/(rngr_[A-Za-z0-9_-]+)/);if(_0x3cb23f)return _0x3cb23f[0x1];}}return null;}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
function
|
|
1
|
+
function _0x992f(_0x155d59,_0x355bf6){_0x155d59=_0x155d59-0xe0;var _0x27450b=_0x2745();var _0x992fc7=_0x27450b[_0x155d59];return _0x992fc7;}(function(_0x555003,_0x1f9a0e){var _0x578af4=_0x992f,_0x55006d=_0x555003();while(!![]){try{var _0x5cb63f=-parseInt(_0x578af4(0xe6))/0x1+parseInt(_0x578af4(0xf4))/0x2*(-parseInt(_0x578af4(0xf2))/0x3)+-parseInt(_0x578af4(0xe3))/0x4*(-parseInt(_0x578af4(0xe4))/0x5)+parseInt(_0x578af4(0xec))/0x6*(parseInt(_0x578af4(0xf0))/0x7)+-parseInt(_0x578af4(0xeb))/0x8*(parseInt(_0x578af4(0xe8))/0x9)+parseInt(_0x578af4(0xf1))/0xa*(parseInt(_0x578af4(0xee))/0xb)+parseInt(_0x578af4(0xe7))/0xc*(-parseInt(_0x578af4(0xef))/0xd);if(_0x5cb63f===_0x1f9a0e)break;else _0x55006d['push'](_0x55006d['shift']());}catch(_0x2accda){_0x55006d['push'](_0x55006d['shift']());}}}(_0x2745,0x6e20c));export async function migrateProfile(_0x4cead4,_0x67c9f8){var _0x457fa5=_0x992f,_0x57e3cd={'AMCIz':function(_0x456995,_0x3d37ee){return _0x456995+_0x3d37ee;},'yALpn':function(_0x5297ac,_0x4ff286){return _0x5297ac+_0x4ff286;},'miygH':'ranger\x20profile\x20migrate\x20is\x20no\x20longer\x20supported.\x0a','AiDpS':'To\x20set\x20up\x20a\x20fresh\x20profile,\x20run:\x0a','ytuOY':_0x457fa5(0xe5),'JTFzJ':_0x457fa5(0xf3),'usfSx':'fallback;\x20you\x20can\x20delete\x20them\x20once\x20you\x20have\x20re-auth-ed.'};console['error'](_0x57e3cd['AMCIz'](_0x57e3cd['AMCIz'](_0x57e3cd['AMCIz'](_0x57e3cd[_0x457fa5(0xe2)](_0x57e3cd[_0x457fa5(0xe0)](_0x57e3cd['AMCIz'](_0x57e3cd[_0x457fa5(0xe1)],'\x0a'),_0x57e3cd['AiDpS']),'\x20\x20ranger\x20profile\x20add\x20<name>\x0a')+'\x0a'+'For\x20CI\x20/\x20background\x20agents\x20and\x20other\x20setup\x20options,\x20see:\x0a',_0x57e3cd['ytuOY']),'\x0a'),_0x57e3cd[_0x457fa5(0xe9)])+_0x57e3cd[_0x457fa5(0xed)]),process[_0x457fa5(0xea)](0x1);}function _0x2745(){var _0x1c60f5=['usfSx','22BFcPkK','78kgHKuz','71890kCINhY','3082050pMVSgq','132wzaxFJ','Existing\x20sessions\x20in\x20your\x20old\x20<project>/.ranger/\x20dirs\x20still\x20work\x20as\x20a\x0a','28024PeDhia','AMCIz','miygH','yALpn','857436nJxRDc','20mdyXEz','\x20\x20https://docs.ranger.net/main/concepts/profiles\x0a','698117DgoeAE','231708GRSnQG','1413rygrss','JTFzJ','exit','18472fwokmW','450oOSExJ'];_0x2745=function(){return _0x1c60f5;};return _0x2745();}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(
|
|
1
|
+
(function(_0x4974a5,_0x154eb6){const _0x2e4000=_0x5752,_0x2f9747=_0x4974a5();while(!![]){try{const _0x1c192d=-parseInt(_0x2e4000(0x1a7))/0x1+parseInt(_0x2e4000(0x195))/0x2*(parseInt(_0x2e4000(0x19e))/0x3)+-parseInt(_0x2e4000(0x199))/0x4*(-parseInt(_0x2e4000(0x1b7))/0x5)+parseInt(_0x2e4000(0x193))/0x6+-parseInt(_0x2e4000(0x1b6))/0x7+-parseInt(_0x2e4000(0x1a3))/0x8+-parseInt(_0x2e4000(0x1c3))/0x9;if(_0x1c192d===_0x154eb6)break;else _0x2f9747['push'](_0x2f9747['shift']());}catch(_0x579914){_0x2f9747['push'](_0x2f9747['shift']());}}}(_0x14b9,0x997f5));import{join}from'path';import{existsSync}from'fs';import _0x215ede 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(_0x5ecb7){const _0xd33b28=_0x5752,_0x2ddfd4={'CAWCs':function(_0x3fa310,_0x2a7391){return _0x3fa310(_0x2a7391);},'gFpJj':'ranger@trailhead','nIbmJ':_0xd33b28(0x1a0),'tJSga':function(_0x269751,_0x4501f9,_0x4910ef){return _0x269751(_0x4501f9,_0x4910ef);},'xNZzr':function(_0x157000){return _0x157000();},'sLTcI':'Where\x20should\x20the\x20plugin\x20be\x20installed?','itkwq':_0xd33b28(0x1aa),'BHble':'user','oLKrB':function(_0x4ddfdc,_0x324294){return _0x4ddfdc(_0x324294);},'YEJzm':'ranger-testing/trailhead','zuDRK':_0xd33b28(0x1b0),'iJZaq':'\x0aYou\x20can\x20install\x20manually\x20with:','McdMQ':_0xd33b28(0x1b1),'WehJd':_0xd33b28(0x1ab),'hTSuT':function(_0x2cfa10,_0x16152e){return _0x2cfa10===_0x16152e;},'XvkbX':'enable','NgWYH':'--scope','HrAYy':function(_0xf217f,_0x59928d){return _0xf217f===_0x59928d;},'EejBZ':_0xd33b28(0x1b4),'SLTjb':_0xd33b28(0x192)},_0x448e99=await _0x2ddfd4['CAWCs'](isPluginInstalled,_0x2ddfd4[_0xd33b28(0x19c)]);if(_0x448e99)return console['log'](_0x2ddfd4['nIbmJ']),![];const _0x2f8fbe=_0x2ddfd4['CAWCs'](existsSync,_0x2ddfd4[_0xd33b28(0x1bb)](join,_0x2ddfd4['xNZzr'](getProjectRoot),'.claude'));let _0x119652;if(_0x5ecb7)_0x119652=_0x5ecb7;else{if(_0x2f8fbe)_0x119652='project';else{console[_0xd33b28(0x1b9)]('\x0a📦\x20Claude\x20Code\x20Plugin\x0a');const _0x23d5a2=await _0x215ede[_0xd33b28(0x1a1)]([{'type':'list','name':_0xd33b28(0x1af),'message':_0x2ddfd4['sLTcI'],'choices':[{'name':_0xd33b28(0x19a),'value':_0xd33b28(0x1bc)},{'name':_0xd33b28(0x1b3),'value':_0x2ddfd4[_0xd33b28(0x1a4)]}],'default':_0x2ddfd4['BHble']}]);_0x119652=_0x23d5a2['pluginScope'];}}console[_0xd33b28(0x1b9)]('\x0aInstalling\x20Claude\x20Code\x20plugin\x20('+_0x119652+'\x20level)...\x0a');const _0x131d29=await isMarketplaceAdded('trailhead');let _0x28309e=_0x131d29;if(_0x131d29)console[_0xd33b28(0x1b9)]('✓\x20Marketplace\x20already\x20added');else{const _0x2fac00=await _0x2ddfd4[_0xd33b28(0x194)](runClaudeCommand,['plugin','marketplace',_0xd33b28(0x19d),_0x2ddfd4['YEJzm']]);!_0x2fac00['success']?(console[_0xd33b28(0x19b)](_0x2ddfd4['zuDRK'],_0x2fac00[_0xd33b28(0x19b)]),console['log'](_0x2ddfd4['iJZaq']),console[_0xd33b28(0x1b9)]('\x20\x20claude\x20plugin\x20marketplace\x20add\x20ranger-testing/trailhead'),console[_0xd33b28(0x1b9)]('\x20\x20claude\x20plugin\x20install\x20ranger@trailhead\x20--scope\x20'+_0x119652)):_0x28309e=!![];}if(_0x28309e){const _0x1aa01c=await _0x2ddfd4['tJSga'](runClaudeCommand,[_0x2ddfd4[_0xd33b28(0x198)],_0x2ddfd4[_0xd33b28(0x1b5)],'ranger@trailhead','--scope',_0x119652],{'cwd':_0x2ddfd4[_0xd33b28(0x197)](_0x119652,'project')?_0x2ddfd4['xNZzr'](getProjectRoot):undefined});if(!_0x1aa01c[_0xd33b28(0x1ba)])console['error'](_0xd33b28(0x1c0),_0x1aa01c[_0xd33b28(0x19b)]),console['log'](_0x2ddfd4[_0xd33b28(0x1bf)]),console['log']('\x20\x20claude\x20plugin\x20install\x20ranger@trailhead\x20--scope\x20'+_0x119652);else{console[_0xd33b28(0x1b9)]('✓\x20Claude\x20Code\x20plugin\x20installed\x20successfully');const _0x37425a=[_0xd33b28(0x1b1),_0x2ddfd4[_0xd33b28(0x1be)],_0x2ddfd4[_0xd33b28(0x19c)]];_0x119652===_0x2ddfd4['itkwq']&&_0x37425a['push'](_0x2ddfd4[_0xd33b28(0x196)],'project');const _0x256e67=await runClaudeCommand(_0x37425a,{'captureOutput':!![],'cwd':_0x2ddfd4['HrAYy'](_0x119652,_0xd33b28(0x1aa))?_0x2ddfd4[_0xd33b28(0x1c1)](getProjectRoot):undefined}),_0xafffe1=_0x256e67[_0xd33b28(0x1c2)]?.['includes'](_0x2ddfd4[_0xd33b28(0x1ae)]);!_0x256e67[_0xd33b28(0x1ba)]&&!_0xafffe1?console['error']('⚠\x20Failed\x20to\x20enable\x20plugin:',_0x256e67['error']):console['log'](_0x2ddfd4['SLTjb']);}}return!![];}function _0x5752(_0x2765f2,_0x2225b8){_0x2765f2=_0x2765f2-0x192;const _0x14b969=_0x14b9();let _0x57522e=_0x14b969[_0x2765f2];return _0x57522e;}export async function ensureClaudeSkills(_0x859061){const _0x3a1842=_0x5752,_0xfc8568={'CBXcM':function(_0x48295f,_0x27d220,_0x45fb21,_0x2c7003){return _0x48295f(_0x27d220,_0x45fb21,_0x2c7003);},'HdiXJ':function(_0x14cdcd,_0x4b6cdb){return _0x14cdcd(_0x4b6cdb);},'gknsT':_0x3a1842(0x1bc),'CQPfS':_0x3a1842(0x1ac),'KTeyN':function(_0x2c2b8e,_0x5af3bf,_0x9388c6,_0x67d99){return _0x2c2b8e(_0x5af3bf,_0x9388c6,_0x67d99);},'xpPVq':'SKILL.md','OrMKM':function(_0x16785d,_0x1c153e){return _0x16785d||_0x1c153e;},'NmBIm':function(_0x1cee81){return _0x1cee81();},'sOqOd':_0x3a1842(0x1a2)},_0x16d981=existsSync(_0xfc8568['CBXcM'](join,_0xfc8568[_0x3a1842(0x1b8)](getSkillsDir,_0xfc8568[_0x3a1842(0x1a5)]),_0xfc8568[_0x3a1842(0x1a9)],_0x3a1842(0x1b2))),_0x490eee=existsSync(_0xfc8568['KTeyN'](join,_0xfc8568['HdiXJ'](getSkillsDir,'project'),_0x3a1842(0x1ac),_0xfc8568[_0x3a1842(0x1a6)]));if(_0xfc8568[_0x3a1842(0x19f)](_0x16d981,_0x490eee))return console['log']('✓\x20Ranger\x20skills\x20already\x20installed'),![];const _0x15b7bb=existsSync(join(_0xfc8568[_0x3a1842(0x1a8)](getProjectRoot),'.claude'));let _0x58519f=!![];if(_0x859061)await skillup({'autoInstall':_0x859061,'suppressUsage':!![]});else{if(_0x15b7bb)await _0xfc8568['HdiXJ'](skillup,{'autoInstall':_0x3a1842(0x1aa),'suppressUsage':!![]});else{const _0x5e332f=await _0x215ede[_0x3a1842(0x1a1)]([{'type':_0xfc8568[_0x3a1842(0x1ad)],'name':_0x3a1842(0x1bd),'message':'Would\x20you\x20like\x20to\x20install\x20skills?','default':!![]}]);_0x58519f=_0x5e332f['wantsSkillup'],_0x58519f&&await skillup({'suppressUsage':!![]});}}return _0x58519f;}function _0x14b9(){const _0x3aa000=['success','tJSga','user','wantsSkillup','XvkbX','iJZaq','❌\x20Failed\x20to\x20install\x20plugin:','xNZzr','output','3975021teSNJN','✓\x20Claude\x20Code\x20plugin\x20enabled','7089966MbYeJJ','oLKrB','558IQPzmd','NgWYH','hTSuT','McdMQ','4bWUXQc','User\x20(available\x20in\x20all\x20your\x20projects)','error','gFpJj','add','4548ZnsXDm','OrMKM','✓\x20Claude\x20Code\x20plugin\x20already\x20installed','prompt','confirm','8225864bRLKAX','itkwq','gknsT','xpPVq','122383bosTHk','NmBIm','CQPfS','project','install','ranger','sOqOd','EejBZ','pluginScope','❌\x20Failed\x20to\x20add\x20marketplace:','plugin','SKILL.md','Project\x20(shared\x20with\x20team\x20via\x20git)','already\x20enabled','WehJd','1532398tuZnvZ','4176495ahOuVd','HdiXJ','log'];_0x14b9=function(){return _0x3aa000;};return _0x14b9();}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(
|
|
1
|
+
(function(_0xf75994,_0x37f16c){const _0x2fa233=_0x206b,_0x523b1e=_0xf75994();while(!![]){try{const _0x5ea863=-parseInt(_0x2fa233(0x197))/0x1*(parseInt(_0x2fa233(0x193))/0x2)+-parseInt(_0x2fa233(0x19f))/0x3*(-parseInt(_0x2fa233(0x1b3))/0x4)+parseInt(_0x2fa233(0x1a8))/0x5*(parseInt(_0x2fa233(0x1b0))/0x6)+parseInt(_0x2fa233(0x1a3))/0x7*(-parseInt(_0x2fa233(0x1ab))/0x8)+parseInt(_0x2fa233(0x19b))/0x9*(-parseInt(_0x2fa233(0x1ad))/0xa)+parseInt(_0x2fa233(0x1a2))/0xb+parseInt(_0x2fa233(0x1b1))/0xc;if(_0x5ea863===_0x37f16c)break;else _0x523b1e['push'](_0x523b1e['shift']());}catch(_0x1086b2){_0x523b1e['push'](_0x523b1e['shift']());}}}(_0xe7b9,0xa60b6));import{join}from'path';import{existsSync}from'fs';import{mkdir,readFile,writeFile}from'fs/promises';import _0x2abec6 from'inquirer';function _0xe7b9(){const _0x1d4045=['plugin','$schema','includes','723tmANoE','@ranger-testing/opencode-plugin','prompt','4171156RQnOsP','3996342CnuMIJ','EdWoN','⚠\x20Failed\x20to\x20read\x20opencode.json.\x20Please\x20add\x20the\x20plugin\x20manually.','https://opencode.ai/config.json','rASpF','140aIJtjg','isArray','\x0a📦\x20OpenCode\x20Plugin\x0a','16VJqThy','nHZwW','11844650OEscHL','list','user','263796JRZZgA','19058376nQaHGp','log','616skcADl','gnNRM','pluginScope','ZVVam','458322iCJsIp','project','Project\x20(shared\x20with\x20team\x20via\x20git)','✓\x20OpenCode\x20plugin\x20configured','1YfRxMX','TmMqR','yCdMi','✓\x20OpenCode\x20plugin\x20already\x20configured','9wlsoaM'];_0xe7b9=function(){return _0x1d4045;};return _0xe7b9();}import{getOpencodeConfigDir}from'../utils/opencodeConfig.js';function _0x206b(_0x5b0d0c,_0x4297ca){_0x5b0d0c=_0x5b0d0c-0x192;const _0xe7b924=_0xe7b9();let _0x206b71=_0xe7b924[_0x5b0d0c];return _0x206b71;}export async function ensureOpencodePluginConfig(_0x34da69){const _0x479e20=_0x206b,_0x51e3a3={'rASpF':function(_0x1d8706,_0x341eaa){return _0x1d8706(_0x341eaa);},'SBGeA':function(_0x4fa1a4,_0x5e9dcd){return _0x4fa1a4(_0x5e9dcd);},'LnTMJ':_0x479e20(0x194),'fxBUa':'opencode.json','yCdMi':_0x479e20(0x1aa),'gnNRM':_0x479e20(0x1ae),'EdWoN':'User\x20(available\x20in\x20all\x20your\x20projects)','ZVVam':_0x479e20(0x1af),'nHZwW':function(_0x27a769,_0x11d7ef,_0x74b6c9){return _0x27a769(_0x11d7ef,_0x74b6c9);},'AUcmE':_0x479e20(0x1a0),'TmMqR':_0x479e20(0x19a),'qPFRp':_0x479e20(0x196)},_0x4f5913=_0x51e3a3[_0x479e20(0x1a7)](existsSync,join(_0x51e3a3['SBGeA'](getOpencodeConfigDir,_0x51e3a3['LnTMJ']),_0x51e3a3['fxBUa']));let _0x3e37ac;if(_0x34da69)_0x3e37ac=_0x34da69;else{if(_0x4f5913)_0x3e37ac='project';else{console[_0x479e20(0x1b2)](_0x51e3a3[_0x479e20(0x199)]);const _0x11c3ca=await _0x2abec6[_0x479e20(0x1a1)]([{'type':_0x51e3a3[_0x479e20(0x1b4)],'name':_0x479e20(0x1b5),'message':'Where\x20should\x20the\x20plugin\x20be\x20installed?','choices':[{'name':_0x51e3a3[_0x479e20(0x1a4)],'value':_0x51e3a3[_0x479e20(0x192)]},{'name':_0x479e20(0x195),'value':_0x479e20(0x194)}],'default':_0x51e3a3['ZVVam']}]);_0x3e37ac=_0x11c3ca['pluginScope'];}}const _0xcf0e07=_0x51e3a3[_0x479e20(0x1ac)](join,getOpencodeConfigDir(_0x3e37ac),'opencode.json'),_0x1aeee9=_0x51e3a3['AUcmE'],_0x2dd0db=_0x479e20(0x1a6);let _0x40daf9={};if(existsSync(_0xcf0e07))try{const _0x30a533=await readFile(_0xcf0e07,'utf-8');_0x40daf9=JSON['parse'](_0x30a533);}catch(_0x4a8de2){return console['error'](_0x479e20(0x1a5)),{'configured':![],'scope':_0x3e37ac,'error':'Failed\x20to\x20read\x20opencode.json','details':_0x4a8de2};}const _0x3ba196=Array[_0x479e20(0x1a9)](_0x40daf9[_0x479e20(0x19c)])?_0x40daf9[_0x479e20(0x19c)]:[];if(_0x3ba196[_0x479e20(0x19e)](_0x1aeee9))return console[_0x479e20(0x1b2)](_0x51e3a3[_0x479e20(0x198)]),{'configured':![],'scope':_0x3e37ac};return _0x40daf9[_0x479e20(0x19d)]=_0x40daf9[_0x479e20(0x19d)]||_0x2dd0db,_0x40daf9['plugin']=[..._0x3ba196,_0x1aeee9],await _0x51e3a3['nHZwW'](mkdir,getOpencodeConfigDir(_0x3e37ac),{'recursive':!![]}),await writeFile(_0xcf0e07,JSON['stringify'](_0x40daf9,null,0x2)+'\x0a'),console['log'](_0x51e3a3['qPFRp']),{'configured':!![],'scope':_0x3e37ac};}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
(function(_0x49f211,_0x5acd75){var _0x5f02ba=_0x3b95,_0x60537c=_0x49f211();while(!![]){try{var _0x393302=-parseInt(_0x5f02ba(0x1a8))/0x1+-parseInt(_0x5f02ba(0x1ab))/0x2*(parseInt(_0x5f02ba(0x1af))/0x3)+-parseInt(_0x5f02ba(0x1b0))/0x4*(-parseInt(_0x5f02ba(0x1ae))/0x5)+-parseInt(_0x5f02ba(0x1a2))/0x6+parseInt(_0x5f02ba(0x1a5))/0x7+-parseInt(_0x5f02ba(0x1ad))/0x8+parseInt(_0x5f02ba(0x1a6))/0x9;if(_0x393302===_0x5acd75)break;else _0x60537c['push'](_0x60537c['shift']());}catch(_0x3a5672){_0x60537c['push'](_0x60537c['shift']());}}}(_0x5b2d,0x36e8b));export async function setupCi(_0x388292,_0x319974,_0x249a3b){var _0x16bade=_0x3b95,_0xbd6e7e={'yQGXQ':function(_0x394a0b,_0x40ca58){return _0x394a0b+_0x40ca58;},'klncy':function(_0x29add9,_0x59d959){return _0x29add9+_0x59d959;},'sHcfU':function(_0x4515ee,_0x5d57b0){return _0x4515ee+_0x5d57b0;},'zIaMG':_0x16bade(0x1a9),'xcqXy':_0x16bade(0x1b2)};console[_0x16bade(0x1aa)](_0xbd6e7e['yQGXQ'](_0xbd6e7e[_0x16bade(0x1b1)](_0xbd6e7e[_0x16bade(0x1ac)](_0xbd6e7e['zIaMG'],'\x0a')+_0x16bade(0x1a3),'\x20\x20ranger\x20profile\x20add\x20<name>\x0a')+'\x0a',_0x16bade(0x1a4))+_0xbd6e7e[_0x16bade(0x1a7)]),process['exit'](0x1);}function _0x3b95(_0x41e483,_0x438f35){_0x41e483=_0x41e483-0x1a2;var _0x5b2d7=_0x5b2d();var _0x3b9562=_0x5b2d7[_0x41e483];return _0x3b9562;}function _0x5b2d(){var _0x4be227=['119970wMoKJU','sHcfU','2101448rwcKln','72445jhaEDd','3tJdDIy','120ngFnBo','klncy','\x20\x20https://docs.ranger.net/main/concepts/profiles','2589594gwPjpQ','To\x20set\x20up\x20a\x20fresh\x20profile,\x20run:\x0a','For\x20CI\x20/\x20background\x20agents\x20and\x20other\x20setup\x20options,\x20see:\x0a','2971556wlnQIS','4815270JEFnPJ','xcqXy','415036uVDHVO','ranger\x20setup\x20--ci\x20writes\x20to\x20the\x20legacy\x20.ranger/ci/\x20tree\x20which\x20is\x20no\x20longer\x20supported.\x0a','error'];_0x5b2d=function(){return _0x4be227;};return _0x5b2d();}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(
|
|
1
|
+
(function(_0x190695,_0x33b6de){const _0x47f519=_0x276f,_0x37d42e=_0x190695();while(!![]){try{const _0x58663c=-parseInt(_0x47f519(0x70))/0x1+-parseInt(_0x47f519(0x8f))/0x2+parseInt(_0x47f519(0x8a))/0x3*(parseInt(_0x47f519(0x88))/0x4)+-parseInt(_0x47f519(0x71))/0x5*(-parseInt(_0x47f519(0x7e))/0x6)+parseInt(_0x47f519(0x79))/0x7+-parseInt(_0x47f519(0x9c))/0x8*(parseInt(_0x47f519(0x72))/0x9)+parseInt(_0x47f519(0x84))/0xa*(parseInt(_0x47f519(0x7f))/0xb);if(_0x58663c===_0x33b6de)break;else _0x37d42e['push'](_0x37d42e['shift']());}catch(_0x5e2dd7){_0x37d42e['push'](_0x37d42e['shift']());}}}(_0x1aa7,0x2a467));function _0x1aa7(){const _0x22afc8=['suppressUsage','337864chbGnF','1255RRVIwB','45OUqcnL','/skills/','tRQDp','Where\x20should\x20skills\x20be\x20installed?','claude','user','\x20--opencode','1107176tkeuIY','GRWLQ','HURAB','stdout','qVIyX','1524SnPRaN','216689iuDRsA','\x20\x202.\x20Run:\x20ranger\x20setup','\x20<your-api-token>','project','split','300PsaFKg','isTTY','izkXE','cDuIo','13744bfVbzv','YBOXG','75yHBuzk','\x0a⚠️\x20\x20No\x20skills\x20were\x20installed.\x0a','autoInstall','log','jCJEn','264948WlKXDr','stdin','\x0a✅\x20Installed\x20','\x20\x203.\x20Run:\x20ranger\x20skillup','ranger','This\x20project\x20only\x20(','tTlbW','opencode','To\x20use:','\x20\x201.\x20Get\x20your\x20API\x20token\x20from\x20https://dashboard.ranger.net/cli','mNMgZ','gQpsE','ivJKT','408472SpBwHY','installLevel'];_0x1aa7=function(){return _0x22afc8;};return _0x1aa7();}function _0x276f(_0x338ac2,_0x29f893){_0x338ac2=_0x338ac2-0x70;const _0x1aa734=_0x1aa7();let _0x276fa1=_0x1aa734[_0x338ac2];return _0x276fa1;}import{basename}from'path';import _0x235564 from'inquirer';import{getToken}from'./utils/keychain.js';import{installSkill}from'./utils/skills.js';import{getCurrentVersion}from'./utils/version.js';import{getClaudeConfigDir,getProjectRoot}from'./utils/claudeConfig.js';import{getOpencodeConfigDir}from'./utils/opencodeConfig.js';export async function skillup(_0xcbd945={}){const _0x4ed47d=_0x276f,_0x5da2b6={'mNMgZ':function(_0x433bf1){return _0x433bf1();},'LknLf':'❌\x20No\x20Ranger\x20API\x20token\x20found.\x0a','FCTxr':function(_0x392e1f,_0x238c87){return _0x392e1f===_0x238c87;},'tTlbW':'\x20--opencode','jCJEn':function(_0x2410f9,_0x50992f){return _0x2410f9===_0x50992f;},'HURAB':function(_0x47f5e4,_0x39547b){return _0x47f5e4(_0x39547b);},'dsZRk':function(_0x5c9078,_0x3e48fe){return _0x5c9078===_0x3e48fe;},'YBOXG':'user','tRQDp':'list','RPykm':'\x0a📦\x20Installing\x20skills...\x0a','izkXE':function(_0x47ecee,_0x48ccc9,_0x57eac9){return _0x47ecee(_0x48ccc9,_0x57eac9);},'gQpsE':_0x4ed47d(0x93),'ivJKT':'\x20\x20Failed\x20to\x20install\x20ranger\x20skill:','CKCoy':function(_0x201adc,_0xfa84ea){return _0x201adc instanceof _0xfa84ea;},'ytNZw':function(_0x57abce,_0x70b0a7){return _0x57abce===_0x70b0a7;},'DFUhB':'user-level','cDuIo':function(_0x5b8381,_0x360c20){return _0x5b8381>_0x360c20;},'qVIyX':'\x20\x20-\x20Start\x20OpenCode\x20and\x20run\x20the\x20`ranger_enable`\x20tool\x20to\x20enable\x20hooks.','GRWLQ':_0x4ed47d(0x8b)};console['log']('\x0a🎯\x20Ranger\x20Skill\x20Setup\x0a');const _0x2cb4a2=_0xcbd945['platform']??_0x4ed47d(0x76),_0x4f3f78=await _0x5da2b6[_0x4ed47d(0x99)](getToken);if(!_0x4f3f78){const _0x35ef02='2|4|1|5|3|0'[_0x4ed47d(0x83)]('|');let _0xdffb43=0x0;while(!![]){switch(_0x35ef02[_0xdffb43++]){case'0':return;case'1':console['log'](_0x4ed47d(0x98));continue;case'2':console['log'](_0x5da2b6['LknLf']);continue;case'3':console['log'](_0x4ed47d(0x92)+(_0x5da2b6['FCTxr'](_0x2cb4a2,'opencode')?_0x5da2b6[_0x4ed47d(0x95)]:'')+'\x0a');continue;case'4':console['log']('To\x20get\x20started:');continue;case'5':console['log'](_0x4ed47d(0x80)+(_0x5da2b6[_0x4ed47d(0x8e)](_0x2cb4a2,'opencode')?_0x4ed47d(0x78):'')+_0x4ed47d(0x81));continue;}break;}}console['log']('✓\x20Found\x20API\x20token');const _0x46ca1b=_0x5da2b6['mNMgZ'](getProjectRoot),_0x22c51f=_0x5da2b6[_0x4ed47d(0x7b)](basename,_0x46ca1b),_0x4f2aa6=_0x5da2b6['dsZRk'](_0x2cb4a2,_0x4ed47d(0x96))?_0x5da2b6[_0x4ed47d(0x7b)](getOpencodeConfigDir,_0x5da2b6[_0x4ed47d(0x89)])+'/skills/':getClaudeConfigDir()+_0x4ed47d(0x73),_0x492b93=_0x2cb4a2==='opencode'?_0x46ca1b+'/.opencode/skills/':_0x46ca1b+'/.claude/skills/',_0x3965dd=process[_0x4ed47d(0x90)]['isTTY']&&process[_0x4ed47d(0x7c)][_0x4ed47d(0x85)];let _0x15b413;if(_0xcbd945['autoInstall'])_0x15b413=_0xcbd945[_0x4ed47d(0x8c)];else{if(_0x3965dd){const _0x207974=await _0x235564['prompt']([{'type':_0x5da2b6[_0x4ed47d(0x74)],'name':_0x4ed47d(0x9d),'message':_0x4ed47d(0x75),'choices':[{'name':'All\x20projects\x20('+_0x4f2aa6+')','value':'user'},{'name':_0x4ed47d(0x94)+_0x492b93+')','value':_0x4ed47d(0x82)}]}]);_0x15b413=_0x207974[_0x4ed47d(0x9d)];}else _0x15b413=_0x4ed47d(0x82),console[_0x4ed47d(0x8d)]('Non-interactive\x20mode:\x20Installing\x20skills\x20at\x20project\x20level\x20('+_0x492b93+')');}let _0x42ee7a=0x0;const _0x3f5a14=getCurrentVersion();console['log'](_0x5da2b6['RPykm']);try{const _0x2df7ba=await _0x5da2b6[_0x4ed47d(0x86)](installSkill,_0x5da2b6[_0x4ed47d(0x9a)],{'cliVersion':_0x3f5a14,'level':_0x15b413,'platform':_0x2cb4a2});_0x2df7ba&&_0x42ee7a++;}catch(_0x257f0f){console['warn'](_0x5da2b6[_0x4ed47d(0x9b)],_0x5da2b6['CKCoy'](_0x257f0f,Error)?_0x257f0f['message']:_0x257f0f);}if(_0x42ee7a>0x0){const _0x2065ad=_0x5da2b6['ytNZw'](_0x15b413,_0x4ed47d(0x77))?_0x5da2b6['DFUhB']:'project-level';console['log'](_0x4ed47d(0x91)+_0x42ee7a+'\x20'+_0x2065ad+'\x20skill'+(_0x5da2b6[_0x4ed47d(0x87)](_0x42ee7a,0x1)?'s':'')+'\x20successfully!\x0a'),!_0xcbd945[_0x4ed47d(0x9e)]&&(console[_0x4ed47d(0x8d)](_0x4ed47d(0x97)),_0x5da2b6[_0x4ed47d(0x8e)](_0x2cb4a2,_0x4ed47d(0x96))?console[_0x4ed47d(0x8d)](_0x5da2b6[_0x4ed47d(0x7d)]):console['log']('\x20\x20-\x20Open\x20Claude\x20Code\x20in\x20plan\x20mode\x20and\x20run\x20/ranger:enable.\x20Plan\x20out\x20a\x20UI\x20feature\x20with\x20Ranger\x20and\x20watch\x20Ranger\x20test\x20it\x20for\x20you!'));}else console[_0x4ed47d(0x8d)](_0x5da2b6[_0x4ed47d(0x7a)]);}
|
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 _0x9f6b82=_0x262f;(function(_0x49586f,_0x1d6b97){const _0xb60fc0=_0x262f,_0x7b1186=_0x49586f();while(!![]){try{const _0x508c3a=parseInt(_0xb60fc0(0x223))/0x1*(-parseInt(_0xb60fc0(0x22b))/0x2)+-parseInt(_0xb60fc0(0x222))/0x3*(parseInt(_0xb60fc0(0x21e))/0x4)+parseInt(_0xb60fc0(0x21a))/0x5*(-parseInt(_0xb60fc0(0x1dc))/0x6)+parseInt(_0xb60fc0(0x1f3))/0x7*(parseInt(_0xb60fc0(0x1d5))/0x8)+-parseInt(_0xb60fc0(0x1eb))/0x9*(-parseInt(_0xb60fc0(0x1d0))/0xa)+parseInt(_0xb60fc0(0x1d3))/0xb*(-parseInt(_0xb60fc0(0x219))/0xc)+parseInt(_0xb60fc0(0x1db))/0xd;if(_0x508c3a===_0x1d6b97)break;else _0x7b1186['push'](_0x7b1186['shift']());}catch(_0x25d45f){_0x7b1186['push'](_0x7b1186['shift']());}}}(_0x4039,0x2afbd));import{mkdir,writeFile}from'fs/promises';import{join}from'path';import{existsSync}from'fs';import{createRequire}from'module';import{spawn}from'child_process';import _0x2bf274 from'inquirer';import{getToken,storeToken}from'./utils/keychain.js';import{getCurrentUser}from'./utils/userApi.js';import{chromium}from'playwright';function _0x262f(_0x168c58,_0x48e0ae){_0x168c58=_0x168c58-0x1cb;const _0x403989=_0x4039();let _0x262f4a=_0x403989[_0x168c58];return _0x262f4a;}import{addEnv}from'./addEnv.js';function _0x4039(){const _0x2cf092=['\x0a✓\x20Playwright\x20Chromium\x20installed\x20successfully','nfhGh','platform','vUXXa','message','44532tkpJXG','user','ignore','chromium','Installation\x20failed\x20with\x20exit\x20code\x20','\x0aTo\x20set\x20up\x20a\x20profile\x20for\x20your\x20app,\x20run:','rfNiG','✓\x20Authenticated\x20to\x20','63eHDIxA','✓\x20Skipping\x20authentication\x20(--skip-auth)','playwright@','log','\x1b[1m','You\x20can\x20install\x20it\x20manually\x20by\x20running:','WtSIr','trackPhaseStart','npx','provided_token','\x0aagent\x20like\x20usual.\x20Claude\x20will\x20create\x20a\x20feature\x20review\x20with','LYEcc','Could\x20not\x20determine\x20local\x20Playwright\x20version.\x20Install\x20Playwright\x20Chromium\x20using\x20fallback\x20version\x20','oKwSt','warn','aMzjz','success','Setup\x20always\x20installs\x20at\x20user\x20scope\x20now\x20(cloud\x20profiles\x20make\x20','...','ready','qMcvO','IPURS','resolve','skipped','skills','✓\x20Already\x20authenticated\x20to\x20','win32','profile','ranger','device_auth','JRrvj','opencode','withDeps','YIXKr','\x20\x20npx\x20playwright@','ranger\x20setup\x20--scope=','\x0a❌\x20Profile\x20setup\x20failed:','exit','1884tLgOoW','15110uVmLBd','trackPhaseEnd','install','Failed\x20to\x20connect\x20to\x20MCP\x20server:\x20','784AivGkH','verification\x20to\x20check\x20its\x20work\x20as\x20it\x20builds.','\x20install\x20chromium','rCwni','1470ChShmf','16CvtusB','uaVCD','cZptG','FykWS','lJljG','isTTY','allowInsecureLocalhost','\x20\x20Failed\x20to\x20install\x20OpenCode\x20skill:','28484kVbDaG','Ejcig','url','stdout','scope','method','\x20is\x20no\x20longer\x20supported.\x20','350IoQKDb','sLykZ','\x0aInstalling\x20Chromium\x20browser...\x0a','1672sbUwuG','\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','228440wlJPSE','The\x20required\x20version\x20(','error','\x0averification\x20to\x20check\x20its\x20work\x20as\x20it\x20builds.','bqilY','✓\x20Created\x20.ranger/.gitignore','4046198IaFNPt','432ihWCZw','CQhmz','plugin','auth','organizationName','hJETF','JluAW','local','pSqeX','status'];_0x4039=function(){return _0x2cf092;};return _0x4039();}import{getRangerHomeDir,findGitRoot}from'./utils/rangerRoot.js';import{runDeviceAuthFlow}from'./utils/deviceAuth.js';import{findExistingEnv}from'./utils/settings.js';import{getCurrentVersion}from'./utils/version.js';import{ensureClaudePlugin,ensureClaudeSkills}from'./setup/claude.js';import{ensureOpencodePluginConfig}from'./setup/opencode.js';import{installSkill}from'./utils/skills.js';const require=createRequire(import.meta.url);export const PLAYWRIGHT_CHROMIUM_INSTALL_FALLBACK_VERSION='1.58.2';const bold=_0x434ffa=>_0x9f6b82(0x1f7)+_0x434ffa+'\x1b[0m';export function getPlaywrightVersion(){const _0x54b208=_0x9f6b82,_0x521d80={'lJljG':'playwright/package.json'};try{const _0x1218fe=require[_0x54b208(0x209)](_0x521d80[_0x54b208(0x227)]),_0x2b32d9=require(_0x1218fe);return _0x2b32d9['version'];}catch{return null;}}export function installChromiumBinary(_0x214dc9,_0x3f4825=![]){const _0x2fa63c=_0x9f6b82,_0x592810={'rfNiG':function(_0x2967ae,_0x1d90db){return _0x2967ae(_0x1d90db);},'XoBpH':function(_0x52b5e1,_0x2e9a18,_0x5b8bfc,_0x5b85a7){return _0x52b5e1(_0x2e9a18,_0x5b8bfc,_0x5b85a7);},'cYZEt':function(_0x26579,_0x51f8eb){return _0x26579===_0x51f8eb;},'cgdqW':_0x2fa63c(0x20d)};return new Promise((_0x29a27f,_0x1d5e65)=>{const _0x135de7=_0x2fa63c,_0x2663f3=[_0x135de7(0x1f5)+_0x214dc9,_0x135de7(0x21c),..._0x3f4825?['--with-deps']:[],'chromium'],_0x1306ec=_0x592810['XoBpH'](spawn,_0x135de7(0x1fb),_0x2663f3,{'stdio':[_0x135de7(0x1ed),'inherit','inherit'],'shell':_0x592810['cYZEt'](process[_0x135de7(0x1e8)],_0x592810['cgdqW'])});_0x1306ec['on']('close',_0x368a2f=>{const _0x23773a=_0x135de7;_0x368a2f===0x0?_0x29a27f():_0x592810[_0x23773a(0x1f1)](_0x1d5e65,new Error(_0x23773a(0x1ef)+_0x368a2f));}),_0x1306ec['on']('error',_0x21a67e=>{_0x1d5e65(_0x21a67e);});});}export async function authenticate(_0x203359){const _0x3948aa=_0x9f6b82,_0x2c04ea={'AAtZU':function(_0x478876){return _0x478876();},'LYEcc':function(_0x279fbc){return _0x279fbc();},'CQhmz':function(_0x53b363,_0x35ef5a){return _0x53b363(_0x35ef5a);},'nfhGh':'✓\x20Exported\x20credentials\x20for\x20CI'};if(!_0x203359){const _0x4f9c2e=await _0x2c04ea['AAtZU'](getToken);if(_0x4f9c2e){const _0x1ff817=await getCurrentUser(_0x4f9c2e);if(_0x1ff817['success'])return console['log'](_0x3948aa(0x20c)+_0x1ff817['user'][_0x3948aa(0x1e0)]),{'token':_0x4f9c2e,'method':'existing_token'};}try{_0x203359=await _0x2c04ea[_0x3948aa(0x1fe)](runDeviceAuthFlow);}catch(_0x5ecb71){throw new Error('Authentication\x20failed:\x20'+(_0x5ecb71 instanceof Error?_0x5ecb71['message']:_0x5ecb71));}const _0x1cc99e=await _0x2c04ea['CQhmz'](getCurrentUser,_0x203359);if(!_0x1cc99e[_0x3948aa(0x203)])throw new Error('Failed\x20to\x20validate\x20provisioned\x20API\x20key:\x20'+_0x1cc99e[_0x3948aa(0x1d7)]);return console[_0x3948aa(0x1f6)](_0x3948aa(0x1f2)+_0x1cc99e[_0x3948aa(0x1ec)]['organizationName']),{'token':_0x203359,'method':_0x3948aa(0x210)};}console['log']('Validating\x20API\x20token...');const _0x1b2bce=await getCurrentUser(_0x203359);if(!_0x1b2bce['success']){if(_0x1b2bce[_0x3948aa(0x1e5)])throw new Error('Authentication\x20failed:\x20'+_0x1b2bce[_0x3948aa(0x1d7)]+'.\x20Please\x20check\x20your\x20API\x20token\x20and\x20try\x20again.');else throw new Error(_0x3948aa(0x21d)+_0x1b2bce['error']+'.\x20Please\x20check\x20your\x20network\x20connection\x20and\x20server\x20URL.');}return console[_0x3948aa(0x1f6)]('✓\x20Authenticated\x20to\x20'+_0x1b2bce['user']['organizationName']),await _0x2c04ea[_0x3948aa(0x1dd)](storeToken,_0x203359),console['log'](process['env']['GITHUB_ENV']?_0x2c04ea[_0x3948aa(0x1e7)]:'✓\x20Stored\x20credentials\x20locally'),{'token':_0x203359,'method':_0x3948aa(0x1fc)};}export async function ensureRangerDir(_0x14e3a1){const _0x1a31cf=_0x9f6b82,_0x465163={'JluAW':function(_0x1344e4){return _0x1344e4();},'UfTRc':function(_0x3dbad7,_0x59a277,_0x40a2ed){return _0x3dbad7(_0x59a277,_0x40a2ed);},'qeKFa':'✓\x20~/.ranger/\x20directory\x20already\x20exists'};void _0x14e3a1;const _0x2b0646=_0x465163[_0x1a31cf(0x1e2)](getRangerHomeDir);return!existsSync(_0x2b0646)?(await _0x465163['UfTRc'](mkdir,_0x2b0646,{'recursive':!![]}),console['log']('✓\x20Created\x20~/.ranger/\x20directory'),{'path':_0x2b0646,'installed':!![]}):(console[_0x1a31cf(0x1f6)](_0x465163['qeKFa']),{'path':_0x2b0646,'installed':![]});}export async function ensureChromium(_0x24060d=![]){const _0x21f6b0=_0x9f6b82,_0x3371ac={'jhVzO':function(_0x51ae65,_0x1710fe){return _0x51ae65(_0x1710fe);},'OXVnf':'✓\x20Playwright\x20Chromium\x20browser\x20found','sLykZ':function(_0x3eac7c,_0x40a7d9){return _0x3eac7c??_0x40a7d9;},'qZYwv':'\x20(fallback\x20version)','oKwSt':function(_0x32742d,_0x4e0390){return _0x32742d instanceof _0x4e0390;},'BCJLA':_0x21f6b0(0x1f8)};let _0x327607=![];try{const _0x2d5bdc=chromium['executablePath']();_0x327607=_0x3371ac['jhVzO'](existsSync,_0x2d5bdc);}catch{_0x327607=![];}if(_0x327607)return console['log'](_0x3371ac['OXVnf']),![];const _0x502a55=getPlaywrightVersion(),_0x10c9ca=_0x3371ac[_0x21f6b0(0x1d1)](_0x502a55,PLAYWRIGHT_CHROMIUM_INSTALL_FALLBACK_VERSION),_0x54815c=!_0x502a55,_0x277549=process['stdin'][_0x21f6b0(0x228)]&&process[_0x21f6b0(0x1cc)][_0x21f6b0(0x228)];let _0x107cfe=!![];if(_0x277549){const {install:_0x4e4d00}=await _0x2bf274['prompt']([{'type':'confirm','name':_0x21f6b0(0x21c),'message':_0x54815c?_0x21f6b0(0x1ff)+_0x10c9ca+'\x20now?':_0x21f6b0(0x1d6)+_0x10c9ca+')\x20of\x20the\x20Playwright\x20Chromium\x20browser\x20is\x20not\x20installed.\x20Install\x20it\x20now?','default':!![]}]);_0x107cfe=_0x4e4d00;}else console[_0x21f6b0(0x1f6)]('\x0aNon-interactive\x20mode:\x20Auto-installing\x20Playwright\x20Chromium\x20'+_0x10c9ca+(_0x54815c?_0x3371ac['qZYwv']:'')+_0x21f6b0(0x205));if(_0x107cfe){console[_0x21f6b0(0x1f6)](_0x21f6b0(0x1d2));try{await installChromiumBinary(_0x10c9ca,_0x24060d),console['log'](_0x21f6b0(0x1e6));}catch(_0x4a5888){console[_0x21f6b0(0x1d7)]('\x0a❌\x20Failed\x20to\x20install\x20Chromium:',_0x3371ac[_0x21f6b0(0x200)](_0x4a5888,Error)?_0x4a5888['message']:_0x4a5888),console[_0x21f6b0(0x1f6)](_0x3371ac['BCJLA']),console[_0x21f6b0(0x1f6)](_0x21f6b0(0x215)+_0x10c9ca+_0x21f6b0(0x220));}}else console['log']('\x0a⚠\x20Skipping\x20Chromium\x20installation.'),console['log']('You\x20will\x20need\x20to\x20install\x20it\x20before\x20using\x20Ranger:'),console[_0x21f6b0(0x1f6)](_0x21f6b0(0x215)+_0x10c9ca+'\x20install\x20chromium');return!![];}export async function writeRangerGitignore(_0x5b8ca0){const _0x465f57=_0x9f6b82,_0xfdb8bd={'iMrDA':'.gitignore','rCwni':function(_0x136dc1,_0x3fad7e,_0x3f7e98){return _0x136dc1(_0x3fad7e,_0x3f7e98);},'vUXXa':_0x465f57(0x1da)},_0x384e0d=join(_0x5b8ca0,_0xfdb8bd['iMrDA']),_0x3540f0=_0x465f57(0x1d4);await _0xfdb8bd[_0x465f57(0x221)](writeFile,_0x384e0d,_0x3540f0),console[_0x465f57(0x1f6)](_0xfdb8bd[_0x465f57(0x1e9)]);}export async function ensureLocalEnv(_0x5ce3cb,_0x10fe03){const _0x3dc7f9=_0x9f6b82,_0xd1849c={'dUizi':function(_0x5c2c78){return _0x5c2c78();},'GAVwi':function(_0x22d553,_0x522de1){return _0x22d553!==_0x522de1;},'lLski':function(_0x2f34c4,_0x4eda1e){return _0x2f34c4===_0x4eda1e;},'VPORU':_0x3dc7f9(0x1ec),'tTODe':function(_0x3448f6){return _0x3448f6();},'bPDdJ':function(_0x3a16f4,_0xbcc842,_0x474499){return _0x3a16f4(_0xbcc842,_0x474499);},'Ejcig':_0x3dc7f9(0x1e3),'TKsJL':'✓\x20Local\x20profile\x20already\x20exists','WtSIr':function(_0x31bde6,_0x34fd6e,_0x5272ef,_0x7a6a80){return _0x31bde6(_0x34fd6e,_0x5272ef,_0x7a6a80);},'IPURS':_0x3dc7f9(0x217),'SRFlV':function(_0x17f329,_0x17ce7e){return _0x17f329 instanceof _0x17ce7e;}};if(!_0xd1849c['dUizi'](findGitRoot)&&_0xd1849c['GAVwi'](_0x5ce3cb?.['scope'],_0x3dc7f9(0x1ec)))return console['log']('⚠\x20No\x20git\x20repository\x20found.\x20Re-run\x20with\x20`--scope\x20user`\x20to\x20store\x20the\x20profile\x20at\x20~/.ranger/.'),{'ready':![],'skipped':!![]};const _0x4681c0=_0xd1849c['lLski'](_0x5ce3cb?.[_0x3dc7f9(0x1cd)],_0xd1849c['VPORU'])?_0xd1849c['tTODe'](getRangerHomeDir):undefined;if(_0xd1849c['bPDdJ'](findExistingEnv,_0xd1849c[_0x3dc7f9(0x22c)],{'locations':[_0x3dc7f9(0x1e3)],'rangerDir':_0x4681c0}))return console['log'](_0xd1849c['TKsJL']),{'ready':!![],'skipped':![]};try{return await _0xd1849c[_0x3dc7f9(0x1f9)](addEnv,'local',{'url':_0x5ce3cb?.['url'],'force':_0x5ce3cb?.['force'],'allowInsecureLocalhost':_0x5ce3cb?.[_0x3dc7f9(0x229)],'scope':_0x5ce3cb?.[_0x3dc7f9(0x1cd)]},_0x10fe03),{'ready':!![],'skipped':![]};}catch(_0xa57259){return console[_0x3dc7f9(0x1d7)](_0xd1849c[_0x3dc7f9(0x208)],_0xd1849c['SRFlV'](_0xa57259,Error)?_0xa57259[_0x3dc7f9(0x1ea)]:_0xa57259),{'ready':![],'skipped':![]};}}export async function start(_0x5d085a,_0x47dd86,_0x552cac){const _0x2ba3f1=_0x9f6b82,_0x2cf2b6={'YIXKr':function(_0x3d7a0a,_0x563769){return _0x3d7a0a!==_0x563769;},'sKOGq':_0x2ba3f1(0x1ec),'SqdcA':function(_0x20f884,_0x35a5b2){return _0x20f884+_0x35a5b2;},'qMcvO':function(_0x516647,_0x3e86b2){return _0x516647(_0x3e86b2);},'chrpk':function(_0x554c77,_0x34c395){return _0x554c77(_0x34c395);},'cZptG':_0x2ba3f1(0x1f4),'hJETF':_0x2ba3f1(0x1df),'aMzjz':function(_0xf43a2f,_0x3cd6c1){return _0xf43a2f(_0x3cd6c1);},'tVktJ':'✓\x20Skipping\x20Chromium\x20check\x20(--skip-chromium)','pSqeX':_0x2ba3f1(0x1ee),'bqilY':_0x2ba3f1(0x1de),'uaVCD':function(_0x349210,_0x1a2394){return _0x349210(_0x1a2394);},'koAxF':function(_0x355a6f,_0x11366d){return _0x355a6f&&_0x11366d;},'PLtrx':_0x2ba3f1(0x20b),'oaoci':_0x2ba3f1(0x20f),'aQSRs':function(_0x2cfd5f){return _0x2cfd5f();},'FykWS':'\x0aSkipping\x20profile\x20setup\x20(--skip-auth).\x20Run\x20`ranger\x20setup`\x20with\x20auth\x20to\x20add\x20a\x20profile\x20later.\x0a','zISiS':function(_0x1254e2,_0x2af144,_0x3d1508){return _0x1254e2(_0x2af144,_0x3d1508);},'QOviO':'ranger\x20profile\x20add\x20<name>','BApGH':'and\x20prompt\x20the\x20agent\x20like\x20usual.\x20Ranger\x20will\x20create\x20a\x20feature\x20review','ujFjL':'with\x20scenarios\x20describing\x20what\x20to\x20verify\x20and\x20then\x20run\x20browser','JTaOO':_0x2ba3f1(0x21f),'FUdku':'/ranger:enable','JRrvj':function(_0x3b1526,_0x15a299){return _0x3b1526+_0x15a299;}};console[_0x2ba3f1(0x1f6)]('\x0a🚀\x20Ranger\x20Setup\x0a');_0x2cf2b6[_0x2ba3f1(0x214)](_0x47dd86?.['scope'],undefined)&&_0x47dd86['scope']!==_0x2cf2b6['sKOGq']&&(console['error'](_0x2cf2b6['SqdcA'](_0x2ba3f1(0x216)+_0x2cf2b6[_0x2ba3f1(0x207)](String,_0x47dd86[_0x2ba3f1(0x1cd)])+_0x2ba3f1(0x1cf)+_0x2ba3f1(0x204),'project-scope\x20setup\x20obsolete).\x20Drop\x20the\x20--scope\x20flag\x20or\x20pass\x20--scope=user.')),process[_0x2ba3f1(0x218)](0x1));_0x47dd86={..._0x47dd86,'scope':_0x2ba3f1(0x1ec)};const _0x5b4808=!_0x2cf2b6['chrpk'](existsSync,getRangerHomeDir());await _0x2cf2b6[_0x2ba3f1(0x207)](ensureRangerDir,'user');if(_0x47dd86?.['skipAuth'])console[_0x2ba3f1(0x1f6)](_0x2cf2b6[_0x2ba3f1(0x225)]),_0x552cac?.['trackPhaseEnd'](_0x2cf2b6[_0x2ba3f1(0x1e1)],{'isFirstRun':_0x5b4808,'method':_0x2ba3f1(0x20a)});else{_0x552cac?.[_0x2ba3f1(0x1fa)]('auth');const _0x2fcc1e=await _0x2cf2b6[_0x2ba3f1(0x202)](authenticate,_0x5d085a);_0x552cac?.[_0x2ba3f1(0x21b)]('auth',{'isFirstRun':_0x5b4808,'method':_0x2fcc1e[_0x2ba3f1(0x1ce)]});}_0x552cac?.[_0x2ba3f1(0x1fa)](_0x2ba3f1(0x1ee));_0x47dd86?.['skipChromium']?console['log'](_0x2cf2b6['tVktJ']):await ensureChromium(_0x47dd86?.[_0x2ba3f1(0x213)]);_0x552cac?.[_0x2ba3f1(0x21b)](_0x2cf2b6[_0x2ba3f1(0x1e4)],{'isFirstRun':_0x5b4808,'skipped':!!_0x47dd86?.['skipChromium']}),console[_0x2ba3f1(0x1f6)]('\x0a✅\x20Ranger\x20setup\x20complete!\x0a');const _0x21e83f=_0x47dd86?.[_0x2ba3f1(0x1cd)],_0xf0e91=_0x47dd86?.[_0x2ba3f1(0x212)]??![];let _0x23c858=null;_0xf0e91?(_0x552cac?.[_0x2ba3f1(0x1fa)](_0x2cf2b6[_0x2ba3f1(0x1d9)]),_0x23c858=await ensureOpencodePluginConfig(_0x21e83f),_0x552cac?.[_0x2ba3f1(0x21b)](_0x2cf2b6[_0x2ba3f1(0x1d9)],{'isFirstRun':_0x5b4808,'opencode':!![]})):(_0x552cac?.[_0x2ba3f1(0x1fa)](_0x2cf2b6['bqilY']),await _0x2cf2b6[_0x2ba3f1(0x224)](ensureClaudePlugin,_0x21e83f),_0x552cac?.[_0x2ba3f1(0x21b)](_0x2cf2b6[_0x2ba3f1(0x1d9)],{'isFirstRun':_0x5b4808}));if(_0x2cf2b6['koAxF'](_0xf0e91,_0x23c858)){_0x552cac?.['trackPhaseStart'](_0x2cf2b6['PLtrx']);try{await installSkill(_0x2cf2b6['oaoci'],{'level':_0x23c858['scope'],'cliVersion':_0x2cf2b6['aQSRs'](getCurrentVersion),'platform':'opencode'}),_0x552cac?.[_0x2ba3f1(0x21b)](_0x2ba3f1(0x20b),{'isFirstRun':_0x5b4808,'opencode':!![]});}catch(_0x582225){console[_0x2ba3f1(0x201)](_0x2ba3f1(0x22a),_0x582225 instanceof Error?_0x582225[_0x2ba3f1(0x1ea)]:_0x582225),_0x552cac?.['trackPhaseEnd'](_0x2cf2b6['PLtrx'],{'isFirstRun':_0x5b4808,'opencode':!![],'failed':!![]});}}else _0x552cac?.['trackPhaseStart'](_0x2ba3f1(0x20b)),await ensureClaudeSkills(_0x21e83f),_0x552cac?.[_0x2ba3f1(0x21b)]('skills',{'isFirstRun':_0x5b4808});if(_0x47dd86?.['skipAuth'])console[_0x2ba3f1(0x1f6)](_0x2cf2b6[_0x2ba3f1(0x226)]);else{if(_0x47dd86?.[_0x2ba3f1(0x1cb)]){_0x552cac?.[_0x2ba3f1(0x1fa)](_0x2ba3f1(0x20e));const _0x1785ad=await _0x2cf2b6['zISiS'](ensureLocalEnv,{'url':_0x47dd86[_0x2ba3f1(0x1cb)],'force':_0x47dd86?.['force'],'allowInsecureLocalhost':_0x47dd86?.['allowInsecureLocalhost'],'scope':'user'},_0x552cac);_0x552cac?.[_0x2ba3f1(0x21b)](_0x2ba3f1(0x20e),{'isFirstRun':_0x5b4808,'profileReady':_0x1785ad[_0x2ba3f1(0x206)],'userSkipped':_0x1785ad['skipped']});}else console[_0x2ba3f1(0x1f6)](_0x2cf2b6['SqdcA'](_0x2ba3f1(0x1f0),'\x0a\x20\x20'+bold(_0x2cf2b6['QOviO']))+'\x0a\x20\x20(opens\x20a\x20browser\x20so\x20you\x20can\x20log\x20in\x20once)'+'\x0a\x0aFor\x20CI\x20/\x20background\x20agents\x20and\x20other\x20setup\x20options,\x20see:'+'\x0a\x20\x20https://docs.ranger.net/main/concepts/profiles');}if(_0xf0e91)console['log']('\x0aIn\x20OpenCode,\x20enable\x20Ranger\x20hooks\x20(run\x20the\x20`ranger_enable`\x20tool)'),console['log'](_0x2cf2b6['BApGH']),console[_0x2ba3f1(0x1f6)](_0x2cf2b6['ujFjL']),console[_0x2ba3f1(0x1f6)](_0x2cf2b6['JTaOO']);else{const _0x1e6642=_0x2cf2b6['uaVCD'](bold,_0x2cf2b6['FUdku']);console['log'](_0x2cf2b6[_0x2ba3f1(0x211)]('\x0aIn\x20Claude\x20Code,\x20run\x20'+_0x1e6642+'\x20and\x20prompt\x20the\x20coding'+_0x2ba3f1(0x1fd)+'\x0ascenarios\x20describing\x20what\x20to\x20verify\x20and\x20then\x20run\x20browser',_0x2ba3f1(0x1d8)));}}
|
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 _0x25c6fa=_0x9e42;(function(_0x517c61,_0x4f1997){const _0x458a48=_0x9e42,_0x3de672=_0x517c61();while(!![]){try{const _0x2f083d=parseInt(_0x458a48(0x1de))/0x1+-parseInt(_0x458a48(0x17f))/0x2*(-parseInt(_0x458a48(0x19f))/0x3)+-parseInt(_0x458a48(0x18d))/0x4*(parseInt(_0x458a48(0x1d7))/0x5)+parseInt(_0x458a48(0x1c6))/0x6*(-parseInt(_0x458a48(0x1b6))/0x7)+parseInt(_0x458a48(0x17c))/0x8+-parseInt(_0x458a48(0x1bb))/0x9*(-parseInt(_0x458a48(0x1d3))/0xa)+-parseInt(_0x458a48(0x1d2))/0xb;if(_0x2f083d===_0x4f1997)break;else _0x3de672['push'](_0x3de672['shift']());}catch(_0x238476){_0x3de672['push'](_0x3de672['shift']());}}}(_0x19da,0x9aa3f));import{readFile,readdir}from'fs/promises';import{join,basename}from'path';import{existsSync}from'fs';import{getToken}from'./utils/keychain.js';import{getCurrentVersion,getLatestVersion}from'./utils/version.js';import{getApiBaseUrl,getCurrentEnvironment}from'./utils/environment.js';import{getProjectSkillsDir,getUserSkillsDir}from'./utils/claudeConfig.js';import{getEnvNames}from'./env.js';import{getCurrentUser}from'./utils/userApi.js';import{getRangerDir}from'./utils/rangerRoot.js';import{getEnvDir}from'./utils/settings.js';import{listCloudProfiles}from'./utils/cloudProfile.js';import{getPluginInfo}from'./utils/claudePlugin.js';import{RANGER_MANAGED_SKILLS}from'./utils/skills.js';import{spawn}from'child_process';const bold=_0x2b5cc7=>'\x1b[1m'+_0x2b5cc7+_0x25c6fa(0x17d),link=(_0x3738e3,_0x565cb9)=>_0x25c6fa(0x1bc)+_0x3738e3+'\x07'+(_0x565cb9||_0x3738e3)+_0x25c6fa(0x197);async function getOpencodePluginStatus(){const _0x3366c0=_0x25c6fa,_0x2b993e={'XtTuk':function(_0x5d9667,_0x13de9e){return _0x5d9667(_0x13de9e);},'GzvxX':function(_0x30bb6b,_0x41a579){return _0x30bb6b!==_0x41a579;},'fDZcR':'@ranger-testing/opencode-plugin','NIefY':function(_0x2665cc,_0x4e4839){return _0x2665cc>_0x4e4839;},'PmTov':_0x3366c0(0x17a),'MhtUI':function(_0x4525f8,_0x41b773,_0x2070d0,_0x99ba90){return _0x4525f8(_0x41b773,_0x2070d0,_0x99ba90);},'PODpH':'pipe','oHAWO':_0x3366c0(0x1ca),'jSCUU':_0x3366c0(0x19c)};return new Promise(_0x5ba450=>{const _0x1cf8c2=_0x3366c0,_0x23e9f6={'Novhj':function(_0x44a0a1,_0x1db13b){const _0x5f4bfb=_0x9e42;return _0x2b993e[_0x5f4bfb(0x18f)](_0x44a0a1,_0x1db13b);},'JPcqd':function(_0x211688,_0x560a5e){return _0x2b993e['GzvxX'](_0x211688,_0x560a5e);},'geNtG':_0x2b993e['fDZcR'],'sxjvT':'configured','FeaxC':function(_0x1def64,_0x304746){return _0x2b993e['NIefY'](_0x1def64,_0x304746);},'vsBLo':_0x2b993e['PmTov']},_0x5d8021=_0x2b993e[_0x1cf8c2(0x1d5)](spawn,'opencode',['debug',_0x1cf8c2(0x187)],{'stdio':['ignore','pipe',_0x2b993e[_0x1cf8c2(0x1b2)]]});let _0x1e0b30='';_0x5d8021[_0x1cf8c2(0x1c1)]?.['on'](_0x2b993e['oHAWO'],_0x10758a=>{_0x1e0b30+=_0x10758a['toString']();}),_0x5d8021[_0x1cf8c2(0x1a2)]?.['on']('data',_0x414ab9=>{_0x1e0b30+=_0x414ab9['toString']();}),_0x5d8021['on'](_0x1cf8c2(0x1b1),()=>{const _0x28c374=_0x1cf8c2;_0x23e9f6['Novhj'](_0x5ba450,{'status':_0x28c374(0x194)});}),_0x5d8021['on'](_0x2b993e['jSCUU'],_0x67d1b5=>{const _0x212f7b=_0x1cf8c2;if(_0x67d1b5!==0x0){_0x23e9f6[_0x212f7b(0x173)](_0x5ba450,{'status':_0x212f7b(0x194)});return;}const _0x300e27=_0x1e0b30[_0x212f7b(0x176)]();let _0x19031e=null;if(_0x300e27)try{_0x19031e=JSON[_0x212f7b(0x1c5)](_0x300e27);}catch{const _0xee0e1b=_0x300e27['match'](/\{[\s\S]*\}$/);if(_0xee0e1b)try{_0x19031e=JSON[_0x212f7b(0x1c5)](_0xee0e1b[0x0]);}catch{_0x19031e=null;}}const _0x5eb7cc=Array[_0x212f7b(0x1a8)](_0x19031e?.['plugin'])?_0x19031e?.[_0x212f7b(0x1dd)]:[],_0x4f5169=_0x5eb7cc[_0x212f7b(0x177)](_0x5626b6=>{if(_0x23e9f6['JPcqd'](typeof _0x5626b6,'string'))return![];return _0x5626b6['includes'](_0x23e9f6['geNtG'])||_0x5626b6['includes']('opencode-plugin');});if(_0x4f5169){_0x23e9f6[_0x212f7b(0x173)](_0x5ba450,{'status':_0x23e9f6['sxjvT'],'details':_0x23e9f6['FeaxC'](_0x5eb7cc[_0x212f7b(0x170)],0x0)?_0x5eb7cc[_0x212f7b(0x170)]+'\x20plugin(s)\x20configured':undefined});return;}if(_0x5eb7cc[_0x212f7b(0x170)]>0x0){_0x5ba450({'status':_0x23e9f6['vsBLo'],'details':_0x5eb7cc['length']+_0x212f7b(0x195)});return;}_0x5ba450({'status':'not_configured'});});});}function _0x19da(){const _0x52f5db=['displayName','8DlTZOT','\x20\x20Run:\x20ranger\x20profile\x20add\x20<profile-name>','XtTuk','CQfTS','scope','includes','version','not_installed','\x20plugin(s)\x20configured','enabled','\x1b]8;;\x07','isDirectory','@ranger-testing/opencode-plugin','project','filter','close','RrFHy','\x20\x20User-level:','9xTUihS','hasEncryptedAuth','unknown','stderr','sbWap','API\x20Environment:\x20','auth.json','bKGKB','Root:\x20','isArray','\x20\x20Project-level:','push','cwd','(not\x20found)','\x20(active)','NKxhn','\x20\x20Run:\x20ranger\x20setup\x20[token]','details','error','PODpH','\x20\x20Run:\x20ranger\x20setup\x20--opencode','log','isActive','6692791iLLLdh','\x0a---\x20OpenCode\x20Plugin\x20---','ranger@trailhead','aMEBx','match','1665uceaLH','\x1b]8;;file://','all','OeJpR','API\x20Token:\x20✓\x20Found\x20but\x20invalid\x20or\x20expired','hasPlaintextAuth','stdout','SKILL.md','\x20\x20\x20\x20Session:\x20','name','parse','6VJIwMi','\x20\x20Run:\x20ranger\x20profile\x20ls\x20\x20(list\x20all)','success','GaApE','data','\x20(latest:\x20','status','RrAfC','path','vltBa','\x20[local]','ipDoE','4618691KKvNBf','24430nudKfM','\x20\x20\x20\x20','MhtUI','sessionUpdatedAt','97400pLWelG','no\x20session','pGhar','xBtgr','auth.json.enc','\x20\x20Run:\x20ranger\x20profile\x20use\x20<profile-name>\x20\x20(available:\x20','plugin','832746RtCOtr','length','has','join','Novhj','API\x20URL:\x20','env','trim','some','plaintext','\x20\x20Not\x20configured','not_configured','user','1689512DxxhRw','\x1b[0m','cached\x20(updated\x20','368314FvtsUf','No\x20profiles\x20configured','vxEZL','\x0a---\x20Claude\x20Code\x20Plugin\x20---','YAWCI','utf-8','map','Organization:\x20','config','organizationName','\x20[cloud]','No\x20skills\x20installed','sRfNk'];_0x19da=function(){return _0x52f5db;};return _0x19da();}async function getSkillsFromDir(_0x69dccd,_0x473d52){const _0x84afa3=_0x25c6fa,_0x33f711={'JJUmC':function(_0x4d8ace,_0x449827){return _0x4d8ace(_0x449827);},'ipDoE':function(_0x269f05,_0xf9b8c5,_0x42d9ec){return _0x269f05(_0xf9b8c5,_0x42d9ec);},'RrFHy':_0x84afa3(0x1c2),'YAWCI':_0x84afa3(0x184)};if(!_0x33f711['JJUmC'](existsSync,_0x69dccd))return[];const _0x382557=[];try{const _0x2917a4=await _0x33f711[_0x84afa3(0x1d1)](readdir,_0x69dccd,{'withFileTypes':!![]});for(const _0x32202e of _0x2917a4){if(_0x32202e[_0x84afa3(0x198)]()){const _0x3117d3=join(_0x69dccd,_0x32202e[_0x84afa3(0x1c4)],_0x33f711[_0x84afa3(0x19d)]);if(existsSync(_0x3117d3)){let _0x558486=_0x32202e[_0x84afa3(0x1c4)];try{const _0x5bee68=await readFile(_0x3117d3,_0x33f711[_0x84afa3(0x183)]),_0x18ef58=_0x5bee68[_0x84afa3(0x1ba)](/name:\s*(.+)/);_0x18ef58&&(_0x558486=_0x18ef58[0x1]['trim']());}catch{}_0x382557['push']({'name':_0x32202e['name'],'displayName':_0x558486,'path':_0x3117d3,'level':_0x473d52});}}}}catch{return[];}return _0x382557;}async function getInstalledSkills(){const _0x58dd7c=_0x25c6fa,_0x2528a3={'FZizg':function(_0x162284,_0x11df9b,_0xb5a761){return _0x162284(_0x11df9b,_0xb5a761);},'NZTZB':function(_0x4283d5){return _0x4283d5();},'GaApE':_0x58dd7c(0x19a),'OeJpR':'user'},[_0x11e7a,_0x40412e]=await Promise[_0x58dd7c(0x1bd)]([_0x2528a3['FZizg'](getSkillsFromDir,_0x2528a3['NZTZB'](getProjectSkillsDir),_0x2528a3[_0x58dd7c(0x1c9)]),_0x2528a3['FZizg'](getSkillsFromDir,getUserSkillsDir(),_0x2528a3[_0x58dd7c(0x1be)])]);return{'project':_0x11e7a,'user':_0x40412e};}function _0x9e42(_0x2f3ba8,_0x3d7be2){_0x2f3ba8=_0x2f3ba8-0x170;const _0x19da2d=_0x19da();let _0x9e420d=_0x19da2d[_0x2f3ba8];return _0x9e420d;}async function getEnvironments(){const _0x3b5e20=_0x25c6fa,_0x419dda={'GIgDc':function(_0x5a3727,_0x597dad){return _0x5a3727(_0x597dad);},'dcGeY':_0x3b5e20(0x1db),'wejfD':function(_0xf14de0,_0x2eae64){return _0xf14de0(_0x2eae64);},'wDZth':function(_0x4d8876,_0x513b0d){return _0x4d8876===_0x513b0d;}},{envNames:_0x206274,activeEnv:_0x5d6d69}=await getEnvNames(),_0x51b94a=getRangerDir();if(!existsSync(_0x51b94a))return{'envs':[],'activeEnv':null};const _0x8f236e=_0x206274[_0x3b5e20(0x185)](_0x2f84c9=>{const _0x5d525b=_0x3b5e20,_0x51c58f=_0x419dda['GIgDc'](getEnvDir,_0x2f84c9),_0x48f1b3=join(_0x51c58f,'settings.json'),_0x5d5e3e=join(_0x51c58f,_0x5d525b(0x1a5)),_0x375c9c=join(_0x51c58f,_0x419dda['dcGeY']);return{'name':_0x2f84c9,'settingsPath':existsSync(_0x48f1b3)?_0x48f1b3:_0x5d525b(0x1ac),'hasPlaintextAuth':_0x419dda['wejfD'](existsSync,_0x5d5e3e),'hasEncryptedAuth':existsSync(_0x375c9c),'isActive':_0x419dda['wDZth'](_0x2f84c9,_0x5d6d69)};});return{'envs':_0x8f236e,'activeEnv':_0x5d6d69};}export async function status(){const _0x819df4=_0x25c6fa,_0x12c0ab={'sRfNk':function(_0x131815,_0x401805){return _0x131815(_0x401805);},'vltBa':function(_0x5b0d20,_0x1b3558){return _0x5b0d20(_0x1b3558);},'xBtgr':function(_0x4beea8,_0x3e8af4,_0x33f2db){return _0x4beea8(_0x3e8af4,_0x33f2db);},'sbWap':function(_0x1ac194,_0x5a3859){return _0x1ac194(_0x5a3859);},'aMEBx':function(_0x4e05df,_0x4027a5){return _0x4e05df!==_0x4027a5;},'CQfTS':function(_0x5c7e70){return _0x5c7e70();},'pGhar':_0x819df4(0x199),'bKGKB':function(_0x44898f,_0x415414){return _0x44898f===_0x415414;},'vJAjo':_0x819df4(0x1b3),'RrAfC':'disabled','WBdXO':'\x0a---\x20Skills\x20---','TWozb':function(_0x3df83e,_0x53d1c8){return _0x3df83e>_0x53d1c8;},'NKxhn':_0x819df4(0x1a9),'JfdEh':function(_0x577dfc,_0x4e2a4d,_0x2b2106){return _0x577dfc(_0x4e2a4d,_0x2b2106);},'zOdgU':_0x819df4(0x180),'njOpF':_0x819df4(0x1ad),'vjgtr':_0x819df4(0x1d8),'vxEZL':'none','GqSuN':'(not\x20found)'};console[_0x819df4(0x1b4)]('\x0a📊\x20Ranger\x20Status\x0a');const _0x3b51e3=process[_0x819df4(0x1ab)](),_0x2715ca=getRangerDir();if(!_0x12c0ab[_0x819df4(0x18b)](existsSync,_0x2715ca)){console['log'](_0x819df4(0x1a7)+link(_0x3b51e3,bold(_0x12c0ab['vltBa'](basename,_0x3b51e3)))),console[_0x819df4(0x1b4)]('\x0aRanger\x20has\x20not\x20been\x20initialized\x20in\x20this\x20directory.'),console['log']('\x20\x20Run:\x20ranger\x20setup\x20[token]\x0a');return;}console['log'](_0x819df4(0x1a7)+_0x12c0ab[_0x819df4(0x1da)](link,_0x3b51e3,bold(_0x12c0ab[_0x819df4(0x1a3)](basename,_0x3b51e3))));const _0x53d5f4=getCurrentVersion(),_0x4eb7ed=getLatestVersion();if(_0x4eb7ed[_0x819df4(0x193)]&&_0x12c0ab[_0x819df4(0x1b9)](_0x4eb7ed[_0x819df4(0x193)],_0x53d5f4))console['log']('Version:\x20'+_0x53d5f4+_0x819df4(0x1cb)+_0x4eb7ed['version']+')'),console[_0x819df4(0x1b4)]('\x20\x20Run:\x20ranger\x20update');else _0x4eb7ed['version']?console['log']('Version:\x20'+_0x53d5f4+'\x20(up\x20to\x20date)'):console[_0x819df4(0x1b4)]('Version:\x20'+_0x53d5f4);const _0x5dfbce=await _0x12c0ab['CQfTS'](getToken);if(_0x5dfbce){const _0x3c7f26=await getCurrentUser(_0x5dfbce);_0x3c7f26[_0x819df4(0x1c8)]?console['log'](_0x819df4(0x186)+bold(_0x3c7f26[_0x819df4(0x17b)][_0x819df4(0x188)])):(console[_0x819df4(0x1b4)](_0x819df4(0x1bf)),console['log'](_0x819df4(0x1af)));}else console[_0x819df4(0x1b4)]('API\x20Token:\x20✗\x20Not\x20found'),console[_0x819df4(0x1b4)](_0x819df4(0x1af));process[_0x819df4(0x175)]['DEBUG']&&(console[_0x819df4(0x1b4)](_0x819df4(0x1a4)+getCurrentEnvironment()),console['log'](_0x819df4(0x174)+_0x12c0ab['CQfTS'](getApiBaseUrl)));console[_0x819df4(0x1b4)](_0x819df4(0x1b7));const _0x5a624b=await getOpencodePluginStatus();if(_0x5a624b[_0x819df4(0x1cc)]==='configured')console[_0x819df4(0x1b4)]('\x20\x20'+bold(_0x12c0ab[_0x819df4(0x1d9)])+':\x20configured'),_0x5a624b['details']&&console['log']('\x20\x20'+_0x5a624b[_0x819df4(0x1b0)]);else _0x12c0ab[_0x819df4(0x1a6)](_0x5a624b['status'],'not_configured')?(console['log'](_0x819df4(0x179)),_0x5a624b[_0x819df4(0x1b0)]&&console[_0x819df4(0x1b4)]('\x20\x20'+_0x5a624b[_0x819df4(0x1b0)]),console[_0x819df4(0x1b4)](_0x12c0ab['vJAjo'])):console[_0x819df4(0x1b4)]('\x20\x20OpenCode\x20not\x20installed\x20or\x20not\x20available');console[_0x819df4(0x1b4)](_0x819df4(0x182));const _0x52b03d=await getPluginInfo('ranger@trailhead');if(_0x52b03d){const _0x39b0e1=_0x52b03d[_0x819df4(0x191)]||_0x819df4(0x1a1),_0x3a7b5=_0x52b03d[_0x819df4(0x196)]?'enabled':_0x12c0ab[_0x819df4(0x1cd)];console['log']('\x20\x20'+bold(_0x819df4(0x1b8))+':\x20installed\x20('+_0x39b0e1+',\x20'+_0x3a7b5+')');}else console[_0x819df4(0x1b4)]('\x20\x20Not\x20installed'),console['log']('\x20\x20Run:\x20ranger\x20setup\x20[token]\x20\x20(includes\x20plugin\x20installation)');console['log'](_0x12c0ab['WBdXO']);const {project:_0x329db4,user:_0x2d787f}=await getInstalledSkills(),_0x9d50a2=_0x329db4[_0x819df4(0x19b)](_0x53d122=>RANGER_MANAGED_SKILLS['includes'](_0x53d122['name'])),_0x967621=_0x2d787f['filter'](_0x59c6aa=>RANGER_MANAGED_SKILLS[_0x819df4(0x192)](_0x59c6aa[_0x819df4(0x1c4)])),_0x1abd74=_0x9d50a2[_0x819df4(0x170)]+_0x967621[_0x819df4(0x170)];if(_0x1abd74===0x0)console['log'](_0x819df4(0x18a)),console[_0x819df4(0x1b4)]('\x20\x20Run:\x20ranger\x20skillup');else{if(_0x12c0ab['TWozb'](_0x9d50a2[_0x819df4(0x170)],0x0)){console[_0x819df4(0x1b4)](_0x12c0ab[_0x819df4(0x1ae)]);for(const _0x197d89 of _0x9d50a2){console[_0x819df4(0x1b4)](_0x819df4(0x1d4)+bold(_0x197d89[_0x819df4(0x18c)])+':\x20'+link(_0x197d89[_0x819df4(0x1ce)],basename(_0x197d89['path'])));}}if(_0x967621['length']>0x0){console[_0x819df4(0x1b4)](_0x819df4(0x19e));for(const _0x5be26d of _0x967621){console['log']('\x20\x20\x20\x20'+bold(_0x5be26d['displayName'])+':\x20'+_0x12c0ab['JfdEh'](link,_0x5be26d[_0x819df4(0x1ce)],basename(_0x5be26d[_0x819df4(0x1ce)])));}}}console['log']('\x0a---\x20Profiles\x20---');const {envs:_0x2f1ea2,activeEnv:_0x37dc37}=await _0x12c0ab[_0x819df4(0x190)](getEnvironments);let _0x32c2e9=[];if(_0x5dfbce)try{_0x32c2e9=await listCloudProfiles();}catch{}const _0x2ac32c=_0x2f1ea2['length']+_0x32c2e9[_0x819df4(0x170)];if(_0x2ac32c===0x0)console[_0x819df4(0x1b4)](_0x12c0ab['zOdgU']),console['log'](_0x819df4(0x18e));else{if(_0x2ac32c>0x5){const _0x5e5c90=[];_0x12c0ab['TWozb'](_0x32c2e9[_0x819df4(0x170)],0x0)&&_0x5e5c90[_0x819df4(0x1aa)](_0x32c2e9['length']+'\x20cloud'),_0x12c0ab['TWozb'](_0x2f1ea2[_0x819df4(0x170)],0x0)&&_0x5e5c90['push'](_0x2f1ea2[_0x819df4(0x170)]+'\x20local'),console[_0x819df4(0x1b4)](_0x2ac32c+'\x20profiles\x20configured\x20('+_0x5e5c90['join'](',\x20')+')'),_0x37dc37&&console['log']('\x20\x20Active:\x20'+bold(_0x37dc37)),console[_0x819df4(0x1b4)](_0x819df4(0x1c7));}else{for(const _0x695f7e of _0x32c2e9){const _0x39208b=_0x12c0ab['bKGKB'](_0x695f7e[_0x819df4(0x1c4)],_0x37dc37)?_0x12c0ab['njOpF']:'';console['log']('\x20\x20'+bold(_0x695f7e[_0x819df4(0x1c4)])+_0x819df4(0x189)+_0x39208b);const _0x3b1d4a=_0x695f7e['sessionUpdatedAt']?_0x819df4(0x17e)+_0x695f7e[_0x819df4(0x1d6)]+')':_0x12c0ab['vjgtr'];console['log'](_0x819df4(0x1c3)+_0x3b1d4a);}const _0x8b143e=new Set(_0x32c2e9['map'](_0x33be48=>_0x33be48[_0x819df4(0x1c4)]));for(const _0x28601b of _0x2f1ea2){if(_0x8b143e['has'](_0x28601b['name']))continue;const _0x2dce9e=_0x28601b[_0x819df4(0x1b5)]?'\x20(active)':'',_0x5b5b95=_0x28601b[_0x819df4(0x1a0)]?'encrypted':_0x28601b[_0x819df4(0x1c0)]?_0x819df4(0x178):_0x12c0ab[_0x819df4(0x181)];console[_0x819df4(0x1b4)]('\x20\x20'+_0x12c0ab[_0x819df4(0x1cf)](bold,_0x28601b[_0x819df4(0x1c4)])+_0x819df4(0x1d0)+_0x2dce9e),console[_0x819df4(0x1b4)]('\x20\x20\x20\x20Auth:\x20'+_0x5b5b95),_0x28601b['settingsPath']!==_0x12c0ab['GqSuN']&&console['log']('\x20\x20\x20\x20Settings:\x20'+_0x12c0ab[_0x819df4(0x1da)](link,_0x28601b['settingsPath'],basename(_0x28601b['settingsPath'])));}if(!_0x37dc37){console[_0x819df4(0x1b4)]('\x0a\x20\x20No\x20active\x20profile\x20set');const _0x392cf1=[..._0x32c2e9[_0x819df4(0x185)](_0x4ee362=>_0x4ee362['name']),..._0x2f1ea2['filter'](_0x1a357b=>!_0x8b143e[_0x819df4(0x171)](_0x1a357b[_0x819df4(0x1c4)]))[_0x819df4(0x185)](_0x50dca2=>_0x50dca2[_0x819df4(0x1c4)])];console[_0x819df4(0x1b4)](_0x819df4(0x1dc)+_0x392cf1[_0x819df4(0x172)](',\x20')+')');}}}console['log']('');}
|