@ranger-testing/ranger-cli 3.0.1-alpha.c0b290b-36 → 3.0.1-alpha.d8f00ab-37
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/build/cli.js +1 -1
- package/build/commands/addEnv.js +1 -1
- package/build/commands/authEncrypt.js +1 -1
- package/build/commands/clean.js +1 -1
- package/build/commands/config.js +1 -1
- package/build/commands/deleteProfile.js +1 -1
- package/build/commands/env.js +1 -1
- package/build/commands/feature.js +1 -1
- package/build/commands/hook.js +1 -1
- package/build/commands/hooks/autoPrompt.js +1 -1
- package/build/commands/hooks/disable.js +1 -1
- package/build/commands/hooks/enable.js +1 -1
- package/build/commands/hooks/exitPlanMode.js +1 -1
- package/build/commands/hooks/index.js +1 -1
- package/build/commands/hooks/output.js +1 -1
- package/build/commands/hooks/planReminder.js +1 -1
- package/build/commands/hooks/planStart.js +1 -1
- package/build/commands/hooks/postEdit.js +1 -1
- package/build/commands/hooks/preCompact.js +1 -1
- package/build/commands/hooks/sessionEnd.js +1 -1
- package/build/commands/hooks/sessionStart.js +1 -1
- package/build/commands/hooks/stopHook.js +1 -1
- package/build/commands/index.js +1 -1
- package/build/commands/login.js +1 -1
- package/build/commands/mcpBootstrap.js +1 -1
- package/build/commands/migrateProfile.js +1 -1
- package/build/commands/setup/claude.js +1 -1
- package/build/commands/setup/opencode.js +1 -1
- package/build/commands/setupCi.js +1 -1
- package/build/commands/skillup.js +1 -1
- package/build/commands/start.js +1 -1
- package/build/commands/status.js +1 -1
- package/build/commands/update.js +1 -1
- package/build/commands/updateEnv.js +1 -1
- package/build/commands/useEnv.js +1 -1
- package/build/commands/utils/activeProfile.js +1 -1
- package/build/commands/utils/agentEnv.js +1 -1
- package/build/commands/utils/browserSessionsApi.js +1 -1
- package/build/commands/utils/claudeConfig.js +1 -1
- package/build/commands/utils/claudeOverrideSettings.js +1 -1
- package/build/commands/utils/claudePlugin.js +1 -1
- package/build/commands/utils/cloudProfile.js +1 -1
- package/build/commands/utils/cloudProfileSession.js +1 -1
- package/build/commands/utils/crypto.js +1 -1
- package/build/commands/utils/desirePathLog.js +1 -1
- package/build/commands/utils/deviceAuth.js +1 -1
- package/build/commands/utils/environment.js +1 -1
- package/build/commands/utils/featureApi.js +1 -1
- package/build/commands/utils/fixWebmDuration.js +1 -1
- package/build/commands/utils/gitTracked.js +1 -1
- package/build/commands/utils/keychain.js +1 -1
- package/build/commands/utils/legacyWarning.js +1 -1
- package/build/commands/utils/localAgentInstallationsApi.js +1 -1
- package/build/commands/utils/matchAuthEnvironment.js +1 -1
- package/build/commands/utils/mcpImageBase64.js +1 -1
- package/build/commands/utils/model.js +1 -1
- package/build/commands/utils/novaActCli.js +1 -1
- package/build/commands/utils/opencodeConfig.js +1 -1
- package/build/commands/utils/organizationEnvApi.js +1 -1
- package/build/commands/utils/playwrightCli.js +1 -1
- package/build/commands/utils/profileMessages.js +1 -1
- package/build/commands/utils/profileSetupBanner.js +1 -1
- package/build/commands/utils/projectsConfig.js +1 -1
- package/build/commands/utils/rangerConfig.js +1 -1
- package/build/commands/utils/rangerRoot.js +1 -1
- package/build/commands/utils/rangerwrightCli.js +1 -1
- package/build/commands/utils/resolveProfileContext.js +1 -1
- package/build/commands/utils/resolveProfileUrl.js +1 -1
- package/build/commands/utils/retry.js +1 -1
- package/build/commands/utils/sessionCache.js +1 -1
- package/build/commands/utils/settings.js +1 -1
- package/build/commands/utils/skillContent.js +1 -1
- package/build/commands/utils/skills.js +1 -1
- package/build/commands/utils/stitchWebmFiles.js +1 -1
- package/build/commands/utils/telemetry.js +1 -1
- package/build/commands/utils/tokenRefresh.js +1 -1
- package/build/commands/utils/traceSnapshotMapper.js +1 -1
- package/build/commands/utils/tunnelClient.js +1 -1
- package/build/commands/utils/userApi.js +1 -1
- package/build/commands/utils/version.js +1 -1
- package/build/commands/verifyFeature.js +1 -1
- package/build/commands/verifyFeatureCli.js +1 -1
- package/build/commands/verifyFeatureNovaCli.js +1 -1
- package/build/commands/verifyFeatureRangerwrightCli.js +1 -1
- package/package.json +1 -1
package/build/commands/login.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(
|
|
1
|
+
function _0x17fe(){const _0x4cbae6=['\x0a✅\x20API\x20key\x20stored\x20successfully','user','209VvSRBk','success','666280rnYPNt','661471iXJhrT','43048EOvZUy','2MQsnIj','4698576AAnErO','2087085EMtXen','7RavMpg','log','965649JycmKO','1004034OkcKIq','4PQHgFA'];_0x17fe=function(){return _0x4cbae6;};return _0x17fe();}(function(_0x2bbde1,_0x2498c7){const _0x17eb80=_0x3c8b,_0x29a06d=_0x2bbde1();while(!![]){try{const _0x2bc44e=-parseInt(_0x17eb80(0x1ab))/0x1+-parseInt(_0x17eb80(0x1ad))/0x2*(parseInt(_0x17eb80(0x1a3))/0x3)+-parseInt(_0x17eb80(0x1a5))/0x4*(-parseInt(_0x17eb80(0x1af))/0x5)+-parseInt(_0x17eb80(0x1a4))/0x6*(-parseInt(_0x17eb80(0x1b0))/0x7)+parseInt(_0x17eb80(0x1ac))/0x8+-parseInt(_0x17eb80(0x1ae))/0x9+-parseInt(_0x17eb80(0x1aa))/0xa*(-parseInt(_0x17eb80(0x1a8))/0xb);if(_0x2bc44e===_0x2498c7)break;else _0x29a06d['push'](_0x29a06d['shift']());}catch(_0x139a7c){_0x29a06d['push'](_0x29a06d['shift']());}}}(_0x17fe,0x559bb));import{runDeviceAuthFlow}from'./utils/deviceAuth.js';import{getCurrentUser}from'./utils/userApi.js';function _0x3c8b(_0x4d1b1b,_0xca8e57){_0x4d1b1b=_0x4d1b1b-0x1a2;const _0x17fe67=_0x17fe();let _0x3c8bc9=_0x17fe67[_0x4d1b1b];return _0x3c8bc9;}import{getMcpAuthOrigin,mcpBootstrap}from'./mcpBootstrap.js';import{isInteractive}from'./utils/cloudProfileSession.js';export async function login(){const _0x267326=_0x3c8b,_0x396a3d={'iqlzA':function(_0x37b4d4){return _0x37b4d4();},'ZINDZ':_0x267326(0x1a6),'dLKfB':function(_0x10aba2,_0xbedcf9){return _0x10aba2 instanceof _0xbedcf9;}},_0x1ae08e=await getMcpAuthOrigin();if(_0x1ae08e){console[_0x267326(0x1a2)]('Re-authenticating\x20via\x20MCP\x20bootstrap...'),await mcpBootstrap();return;}if(!isInteractive())throw new Error('Login\x20requires\x20an\x20interactive\x20terminal.\x20In\x20CI,\x20use:\x20ranger\x20setup\x20[token]\x20or\x20set\x20RANGER_CLI_TOKEN.');try{const _0x18b77e=await _0x396a3d['iqlzA'](runDeviceAuthFlow),_0x1d111b=await getCurrentUser(_0x18b77e);_0x1d111b[_0x267326(0x1a9)]?console[_0x267326(0x1a2)]('\x0a✅\x20Logged\x20in\x20to\x20'+_0x1d111b[_0x267326(0x1a7)]['organizationName']):console[_0x267326(0x1a2)](_0x396a3d['ZINDZ']);}catch(_0xee6bd){throw new Error('Login\x20failed:\x20'+(_0x396a3d['dLKfB'](_0xee6bd,Error)?_0xee6bd['message']:_0xee6bd));}}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const _0x130e48=_0x37c6;(function(_0x4c0314,_0xf37bb5){const _0x47c2f7=_0x37c6,_0x508769=_0x4c0314();while(!![]){try{const _0xe119de=parseInt(_0x47c2f7(0xda))/0x1*(parseInt(_0x47c2f7(0x107))/0x2)+-parseInt(_0x47c2f7(0xd1))/0x3*(-parseInt(_0x47c2f7(0xde))/0x4)+parseInt(_0x47c2f7(0xdb))/0x5*(-parseInt(_0x47c2f7(0xdc))/0x6)+-parseInt(_0x47c2f7(0xbb))/0x7+-parseInt(_0x47c2f7(0xb7))/0x8*(parseInt(_0x47c2f7(0x11e))/0x9)+-parseInt(_0x47c2f7(0xf5))/0xa+parseInt(_0x47c2f7(0x9f))/0xb*(parseInt(_0x47c2f7(0xf3))/0xc);if(_0xe119de===_0xf37bb5)break;else _0x508769['push'](_0x508769['shift']());}catch(_0x441422){_0x508769['push'](_0x508769['shift']());}}}(_0x15c0,0xa0aa3));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';function _0x15c0(){const _0xa89671=['proxied','expires_in','trim','gCDUV','POST','GlLBy','code','string','XfQNU','application/json,\x20text/event-stream','237992ShNbuW','\x0aConnecting\x20to\x20MCP\x20auth\x20server:\x20','1.0.0','set','7791007NoXOWS','ymQAf','token','type','gQHda','Authorization','stdout','ODTIy','BLtdl','iwvvJ','client_id','resource','MCP\x20server\x20returned\x20HTTP\x20','authorization_code','result','base64url','refresh_token','expiresAt','parse','text','tools/call','/.well-known/oauth-protected-resource','9niUHVx','state','token_endpoint','auQOs','SUjPq','notifications/initialized','Not\x20found','qrJFB','headers','34231CCPoTK','170WxxfHp','57648MrgQaN','127.0.0.1','1377536BFSqBO','get','rFgIq','error_description','qbDxp','HGoNO','writeHead','refreshToken','rQyuy','Exchanging\x20authorization\x20code...','platform','origin','stringify','log','none','sha256','data:','application/json','listen','.ranger','message','1836FgYfnn','oEijt','12089520UQTlGY','clientSecret','bqWyG','access_token','LBxuj','Qwvnb','\x20done','searchParams','MCP\x20server\x20requires\x20authentication\x20but\x20running\x20in\x20non-interactive\x20mode.\x0a','write','now','auth-origin.txt','\x0aOpening\x20browser\x20for\x20authentication...','win32','<html><body><h2>Authenticated!</h2><p>You\x20can\x20close\x20this\x20window\x20and\x20return\x20to\x20the\x20terminal.</p></body></html>','wCMVy','match','thuAw','66aslOzp','json','2.0','dzbal','text/html','YvRyj','error','/callback','code_challenge','clientId','MuQGU','toString','znbPj','AlBuH','No\x20JSON-RPC\x20response\x20found\x20in\x20SSE\x20stream','registration_endpoint','HrHtX','Initializing\x20MCP\x20session...','qOlol','UmDTG','isTTY','OAuth\x20callback\x20timed\x20out\x20after\x202\x20minutes','HTTP\x20','27AWQuDB','Ranger\x20CLI','get_cli_token','lUyEp','client_secret','YqBpv','\x0aToken\x20written\x20to\x20','Run\x20`ranger\x20setup\x20--mcp-bootstrap`\x20interactively\x20first.','pathname','name','Registering\x20OAuth\x20client...','TWFxA','oCVJy','includes','bfiui','\x0aUnexpected\x20response\x20structure:','isError','MCP\x20initialize\x20failed:\x20','end','fYFNR','http://localhost:','88660biSXKE','utf-8','ucgLN','status','KDSdm','jHWgA','NBNJM','Requesting\x20CLI\x20token...','wywTn','authorization_servers','response_type','slice','<html><body><h2>Authentication\x20failed</h2><p>','lwkzC'];_0x15c0=function(){return _0xa89671;};return _0x15c0();}const CALLBACK_PORT=0x4d78,TOKEN_CACHE_PATH=join(homedir(),'.ranger','mcp-oauth-tokens.json'),AUTH_ORIGIN_PATH=join(homedir(),_0x130e48(0xf1),'auth-origin.txt');export async function getMcpAuthOrigin(){const _0x3012d2=_0x130e48,_0xaec417={'pXdcF':function(_0x2ed65d,_0x4f58bb){return _0x2ed65d||_0x4f58bb;}};try{const _0x55cdf8=(await readFile(AUTH_ORIGIN_PATH,'utf-8'))[_0x3012d2(0xaf)]();return _0xaec417['pXdcF'](_0x55cdf8,null);}catch{return null;}}export async function mcpBootstrap(){const _0x2494e6=_0x130e48,_0x31dd1c={'dlMPs':function(_0x19b93e){return _0x19b93e();},'cebnw':function(_0x528b96,_0x39bba9){return _0x528b96===_0x39bba9;},'qrJFB':'proxied','wCMVy':function(_0x2f3cf0){return _0x2f3cf0();},'OTPOw':function(_0x540e92,_0x4e8a3d){return _0x540e92+_0x4e8a3d;},'iVkVe':_0x2494e6(0x91),'lNkCc':function(_0x1650f1,_0x25e8a2,_0x1e7ba6){return _0x1650f1(_0x25e8a2,_0x1e7ba6);}},_0x49f22a=_0x31dd1c['dlMPs'](getMcpAuthUrl);currentOrigin=_0x49f22a;const _0x35eec8=process[_0x2494e6(0xc1)][_0x2494e6(0x11b)]??![];console[_0x2494e6(0xeb)](_0x2494e6(0xb8)+_0x49f22a+'\x0a');const _0x3c87b2=await tryUnauthenticated(_0x49f22a);let _0x388b72=null;if(_0x31dd1c['cebnw'](_0x3c87b2,_0x31dd1c[_0x2494e6(0xd8)]))_0x388b72='';else{_0x388b72=await _0x31dd1c[_0x2494e6(0x104)](loadCachedToken);if(!_0x388b72){if(!_0x35eec8)throw new Error(_0x31dd1c['OTPOw'](_0x2494e6(0xfd),_0x31dd1c['iVkVe']));_0x388b72=await oauthFlow(_0x49f22a);}}await _0x31dd1c['lNkCc'](callGetCliToken,_0x49f22a,_0x388b72);}async function tryUnauthenticated(_0x41a056){const _0x23656b=_0x130e48,_0x14972e={'YdpHc':'POST','jMNoD':_0x23656b(0x109),'NBNJM':'initialize','VEGEq':'ranger-cli','qOlol':function(_0x360010,_0x314d5e){return _0x360010===_0x314d5e;}},_0xe45e46=await fetch(_0x41a056,{'method':_0x14972e['YdpHc'],'headers':{'Content-Type':_0x23656b(0xef),'Accept':'application/json,\x20text/event-stream'},'body':JSON['stringify']({'jsonrpc':_0x14972e['jMNoD'],'id':0x1,'method':_0x14972e[_0x23656b(0xa5)],'params':{'protocolVersion':'2025-03-26','capabilities':{},'clientInfo':{'name':_0x14972e['VEGEq'],'version':'1.0.0'}}})});if(_0xe45e46['ok'])return await _0xe45e46[_0x23656b(0xce)](),_0x23656b(0xad);if(_0x14972e[_0x23656b(0x119)](_0xe45e46['status'],0x191))return await _0xe45e46['text'](),'needs-oauth';const _0x105da9=await _0xe45e46[_0x23656b(0xce)]();throw new Error(_0x23656b(0xc7)+_0xe45e46['status']+':\x20'+_0x105da9);}class OAuthTimeoutError extends Error{constructor(_0xcdcc86){const _0x146bfe=_0x130e48,_0x48c7a8={'thuAw':'OAuthTimeoutError'};super(_0xcdcc86),this[_0x146bfe(0x93)]=_0x48c7a8[_0x146bfe(0x106)];}}async function oauthFlow(_0x318cb8){const _0x30b60b={'cKtov':'\x0aCached\x20OAuth\x20client\x20may\x20be\x20stale\x20—\x20clearing\x20and\x20retrying...\x0a'};try{return await oauthFlowAttempt(_0x318cb8);}catch(_0x439905){if(_0x439905 instanceof OAuthTimeoutError&&await loadCachedClient())return console['log'](_0x30b60b['cKtov']),await clearCachedClient(),await oauthFlowAttempt(_0x318cb8);throw _0x439905;}}async function oauthFlowAttempt(_0xa4afd7){const _0x2b8241=_0x130e48,_0x53461a={'nSccq':'Could\x20not\x20fetch\x20protected\x20resource\x20metadata\x20from\x20MCP\x20server','ZPykV':'No\x20authorization_servers\x20in\x20protected\x20resource\x20metadata','lwkzC':function(_0x2d3517,_0x599c2e){return _0x2d3517(_0x599c2e);},'SUjPq':function(_0x3e7ee3){return _0x3e7ee3();},'fYFNR':_0x2b8241(0x94),'GlLBy':_0x2b8241(0xcb),'wywTn':'code','qVJQj':function(_0x3ce60e,_0x2364ab,_0x5cd100){return _0x3ce60e(_0x2364ab,_0x5cd100);},'ucgLN':'\x20done','TWFxA':'Authorization\x20server\x20does\x20not\x20support\x20dynamic\x20client\x20registration\x20and\x20no\x20cached\x20client\x20found','thUBT':'base64url','bFmmH':function(_0x3622c6,_0x4cff23){return _0x3622c6(_0x4cff23);},'aqZDt':_0x2b8241(0xed),'HGoNO':function(_0x1e9185,_0x2f04c8){return _0x1e9185(_0x2f04c8);},'gqRsF':_0x2b8241(0xa9),'cegUc':'redirect_uri','iKggt':_0x2b8241(0xd2),'dadMj':function(_0x47143c,_0x4e3787){return _0x47143c(_0x4e3787);},'lUyEp':_0x2b8241(0xc8),'rJDYM':'resource','dzbal':_0x2b8241(0xb1),'bfiui':'application/x-www-form-urlencoded'},_0x12b532=_0xa4afd7['replace'](/\/mcp$/,'');process[_0x2b8241(0xc1)][_0x2b8241(0xfe)]('Discovering\x20authorization\x20server...');const _0x5c5e14=await fetch(_0x12b532+_0x2b8241(0xd0));if(!_0x5c5e14['ok'])throw new Error(_0x53461a['nSccq']);const _0x2e56f3=await _0x5c5e14[_0x2b8241(0x108)](),_0x56bd37=_0x2e56f3[_0x2b8241(0xa8)]?.[0x0];if(!_0x56bd37)throw new Error(_0x53461a['ZPykV']);console['log']('\x20'+_0x56bd37);const _0x231dc3=await _0x53461a[_0x2b8241(0xac)](fetchAuthServerMetadata,_0x56bd37);let _0xeba8ad,_0x2a3b57;const _0x1e362a=await _0x53461a[_0x2b8241(0xd5)](loadCachedClient);if(_0x1e362a)_0xeba8ad=_0x1e362a[_0x2b8241(0x110)],_0x2a3b57=_0x1e362a['clientSecret'];else{if(_0x231dc3['registration_endpoint']){process['stdout']['write'](_0x53461a[_0x2b8241(0x9d)]);const _0x480b32=await fetch(_0x231dc3[_0x2b8241(0x116)],{'method':'POST','headers':{'Content-Type':_0x2b8241(0xef)},'body':JSON[_0x2b8241(0xea)]({'client_name':_0x2b8241(0x11f),'redirect_uris':[_0x2b8241(0x9e)+CALLBACK_PORT+'/callback'],'grant_types':[_0x2b8241(0xc8),_0x53461a[_0x2b8241(0xb2)]],'response_types':[_0x53461a[_0x2b8241(0xa7)]],'token_endpoint_auth_method':_0x2b8241(0xec)})});if(!_0x480b32['ok']){const _0x3cdb40=await _0x480b32[_0x2b8241(0xce)]();throw new Error('Client\x20registration\x20failed:\x20'+_0x3cdb40);}const _0x15b840=await _0x480b32['json']();_0xeba8ad=_0x15b840[_0x2b8241(0xc5)],_0x2a3b57=_0x15b840[_0x2b8241(0x122)],await _0x53461a['qVJQj'](saveCachedClient,_0xeba8ad,_0x2a3b57),console[_0x2b8241(0xeb)](_0x53461a[_0x2b8241(0xa1)]);}else throw new Error(_0x53461a[_0x2b8241(0x95)]);}const _0x4cb6a9=_0x53461a['lwkzC'](randomBytes,0x20)[_0x2b8241(0x112)](_0x53461a['thUBT']),_0x4ff2d1=_0x53461a['bFmmH'](createHash,_0x53461a['aqZDt'])['update'](_0x4cb6a9)['digest'](_0x2b8241(0xca)),_0x4140bb=_0x53461a['HGoNO'](randomBytes,0x10)['toString']('hex'),_0x1f6374=new URL(_0x231dc3['authorization_endpoint']);_0x1f6374['searchParams']['set'](_0x53461a['gqRsF'],_0x2b8241(0xb3)),_0x1f6374[_0x2b8241(0xfc)][_0x2b8241(0xba)]('client_id',_0xeba8ad),_0x1f6374['searchParams']['set'](_0x53461a['cegUc'],'http://localhost:'+CALLBACK_PORT+'/callback'),_0x1f6374[_0x2b8241(0xfc)][_0x2b8241(0xba)](_0x2b8241(0x10f),_0x4ff2d1),_0x1f6374[_0x2b8241(0xfc)]['set']('code_challenge_method','S256'),_0x1f6374['searchParams']['set'](_0x53461a['iKggt'],_0x4140bb);_0x2e56f3['resource']&&_0x1f6374['searchParams']['set'](_0x2b8241(0xc6),_0x2e56f3[_0x2b8241(0xc6)]);console[_0x2b8241(0xeb)](_0x2b8241(0x101)),console['log']('If\x20the\x20browser\x20doesn\x27t\x20open,\x20visit:\x0a'+_0x1f6374['toString']()+'\x0a'),await _0x53461a[_0x2b8241(0xe3)](openBrowser,_0x1f6374[_0x2b8241(0x112)]());const _0x397184=await _0x53461a['dadMj'](waitForCallback,_0x4140bb);process['stdout']['write'](_0x2b8241(0xe7));const _0x203d2e=new URLSearchParams({'grant_type':_0x53461a[_0x2b8241(0x121)],'code':_0x397184,'redirect_uri':'http://localhost:'+CALLBACK_PORT+'/callback','client_id':_0xeba8ad,'code_verifier':_0x4cb6a9});_0x2a3b57&&_0x203d2e[_0x2b8241(0xba)](_0x2b8241(0x122),_0x2a3b57);_0x2e56f3['resource']&&_0x203d2e['set'](_0x53461a['rJDYM'],_0x2e56f3['resource']);const _0x1f6e0b=await fetch(_0x231dc3[_0x2b8241(0xd3)],{'method':_0x53461a[_0x2b8241(0x10a)],'headers':{'Content-Type':_0x53461a[_0x2b8241(0x98)]},'body':_0x203d2e});if(!_0x1f6e0b['ok']){const _0x4e9f0d=await _0x1f6e0b['text']();throw new Error('Token\x20exchange\x20failed:\x20'+_0x4e9f0d);}const _0x6e231b=await _0x1f6e0b[_0x2b8241(0x108)]();return console[_0x2b8241(0xeb)](_0x2b8241(0xfb)),await saveCachedToken(_0x6e231b['access_token'],_0x6e231b['refresh_token'],_0x6e231b[_0x2b8241(0xae)]),_0x6e231b[_0x2b8241(0xf8)];}async function callGetCliToken(_0x24124e,_0x551189){const _0x235ceb=_0x130e48,_0x19b534={'GoIox':function(_0x5beada,_0xf622b5,_0x47c365){return _0x5beada(_0xf622b5,_0x47c365);},'jHWgA':'application/json','iwvvJ':function(_0x5cf5c7,_0x5a1671){return _0x5cf5c7(_0x5a1671);},'rFgIq':_0x235ceb(0x109),'zjblg':'2025-03-26','KDSdm':'ranger-cli','znbPj':_0x235ceb(0xb9),'HrHtX':_0x235ceb(0xb1),'xCVDF':_0x235ceb(0xd6),'bppDd':_0x235ceb(0xa6),'rCtom':_0x235ceb(0xcf),'nxoWW':_0x235ceb(0x120),'JRJxH':_0x235ceb(0x99),'DNYOl':'Could\x20not\x20extract\x20token\x20from\x20MCP\x20response','MuQGU':function(_0x2e809c){return _0x2e809c();},'ttDyj':function(_0x325b02,_0x501241,_0x2bd54b){return _0x325b02(_0x501241,_0x2bd54b);},'YvRyj':'refresh.txt','UmDTG':function(_0x2c5b53,_0x1f4626,_0x358ce4){return _0x2c5b53(_0x1f4626,_0x358ce4);},'ODTIy':function(_0x410514,_0x49ca01,_0x5e7cfc,_0x388adb){return _0x410514(_0x49ca01,_0x5e7cfc,_0x388adb);},'pBjMx':'Run\x20`ranger\x20status`\x20to\x20verify\x20authentication.\x0a'},_0x31e93c={'Content-Type':_0x19b534[_0x235ceb(0xa4)],'Accept':_0x235ceb(0xb6)};_0x551189&&(_0x31e93c[_0x235ceb(0xc0)]='Bearer\x20'+_0x551189);const _0x4656fe=async _0x4ec375=>{const _0x445725=_0x235ceb,_0x3e8682=await _0x19b534['GoIox'](fetch,_0x24124e,{'method':'POST','headers':_0x31e93c,'body':JSON['stringify'](_0x4ec375)});if(!_0x3e8682['ok']){const _0x2d9543=await _0x3e8682[_0x445725(0xce)]();throw new Error(_0x445725(0x11d)+_0x3e8682[_0x445725(0xa2)]+':\x20'+_0x2d9543);}return parseResponse(_0x3e8682);};process[_0x235ceb(0xc1)]['write'](_0x235ceb(0x118));const _0x21e6ba=await _0x19b534[_0x235ceb(0xc4)](_0x4656fe,{'jsonrpc':_0x19b534[_0x235ceb(0xe0)],'id':0x1,'method':'initialize','params':{'protocolVersion':_0x19b534['zjblg'],'capabilities':{},'clientInfo':{'name':_0x19b534[_0x235ceb(0xa3)],'version':_0x19b534[_0x235ceb(0x113)]}}});if(_0x21e6ba['error'])throw new Error(_0x235ceb(0x9b)+(_0x21e6ba['error'][_0x235ceb(0xf2)]??JSON['stringify'](_0x21e6ba['error'])));console['log'](_0x235ceb(0xfb)),await fetch(_0x24124e,{'method':_0x19b534[_0x235ceb(0x117)],'headers':_0x31e93c,'body':JSON['stringify']({'jsonrpc':_0x19b534[_0x235ceb(0xe0)],'method':_0x19b534['xCVDF']})})['then'](_0xf433b5=>_0xf433b5['text']()),process[_0x235ceb(0xc1)][_0x235ceb(0xfe)](_0x19b534['bppDd']);const _0x35e9bb=await _0x4656fe({'jsonrpc':'2.0','id':0x2,'method':_0x19b534['rCtom'],'params':{'name':_0x19b534['nxoWW'],'arguments':{}}});if(_0x35e9bb['error'])throw new Error('get_cli_token\x20failed:\x20'+(_0x35e9bb['error'][_0x235ceb(0xf2)]??JSON[_0x235ceb(0xea)](_0x35e9bb['error'])));console['log']('\x20done');const _0x1049c9=_0x19b534['iwvvJ'](extractToken,_0x35e9bb[_0x235ceb(0xc9)]);if(!_0x1049c9){console[_0x235ceb(0x10d)](_0x19b534['JRJxH']),console['error'](JSON[_0x235ceb(0xea)](_0x35e9bb['result'],null,0x2));throw new Error(_0x19b534['DNYOl']);}const _0x4fdd13=join(_0x19b534[_0x235ceb(0x111)](homedir),'.ranger'),_0x502e26=_0x19b534['ttDyj'](join,_0x4fdd13,_0x19b534[_0x235ceb(0x10c)]);await _0x19b534[_0x235ceb(0x11a)](mkdir,_0x4fdd13,{'recursive':!![]}),await _0x19b534[_0x235ceb(0xc2)](writeFile,_0x502e26,_0x1049c9,{'mode':0x180}),await writeFile(join(_0x4fdd13,_0x235ceb(0x100)),_0x24124e,{'mode':0x180}),console[_0x235ceb(0xeb)](_0x235ceb(0x90)+_0x502e26),console[_0x235ceb(0xeb)](_0x19b534['pBjMx']);}async function fetchAuthServerMetadata(_0x333bc7){const _0x29780b=_0x333bc7+'/.well-known/oauth-authorization-server',_0x41c148=await fetch(_0x29780b);if(!_0x41c148['ok'])throw new Error('Could\x20not\x20fetch\x20auth\x20server\x20metadata\x20from\x20'+_0x29780b+':\x20'+_0x41c148['status']);return _0x41c148['json']();}function waitForCallback(_0x12fed5){const _0x3868ef=_0x130e48,_0x363278={'uznjd':function(_0x35aeb9,_0x5bf73b){return _0x35aeb9(_0x5bf73b);},'tieAi':function(_0x2fe3d8,_0xbfccba){return _0x2fe3d8!==_0xbfccba;},'ZtgzN':_0x3868ef(0xd7),'auQOs':_0x3868ef(0xb3),'bqWyG':_0x3868ef(0x10d),'wAJLq':function(_0x339508,_0x442d88){return _0x339508(_0x442d88);},'Bhqsb':function(_0x29c53b){return _0x29c53b();},'KHQed':function(_0x5ee3aa,_0xa12faf){return _0x5ee3aa(_0xa12faf);},'MbwKi':function(_0x1f2133,_0x55b9c6){return _0x1f2133!==_0x55b9c6;},'Qwvnb':_0x3868ef(0x10b),'aipRR':'<html><body><h2>Invalid\x20callback</h2><p>Missing\x20code\x20or\x20state\x20mismatch.</p></body></html>','NDgGW':function(_0x3bcd78){return _0x3bcd78();},'oCVJy':function(_0x2efaba,_0x270bb1){return _0x2efaba(_0x270bb1);}};return new Promise((_0x177a70,_0x1eff4f)=>{const _0x1e9ac0=_0x3868ef,_0x287ca4=()=>{_0xca202d['closeAllConnections'](),_0xca202d['close']();},_0x1cb0f8=setTimeout(()=>{const _0x4b1fee=_0x37c6;_0x287ca4(),_0x363278['uznjd'](_0x1eff4f,new OAuthTimeoutError(_0x4b1fee(0x11c)));},0x1d4c0),_0xca202d=_0x363278[_0x1e9ac0(0x96)](createServer,(_0x1502a7,_0x29055b)=>{const _0x428c18=_0x1e9ac0,_0x491330=new URL(_0x1502a7['url']??'/',_0x428c18(0x9e)+CALLBACK_PORT);if(_0x363278['tieAi'](_0x491330[_0x428c18(0x92)],_0x428c18(0x10e))){_0x29055b[_0x428c18(0xe4)](0x194),_0x29055b['end'](_0x363278['ZtgzN']);return;}const _0xb5f67c=_0x491330[_0x428c18(0xfc)]['get'](_0x363278[_0x428c18(0xd4)]),_0xb133bb=_0x491330['searchParams'][_0x428c18(0xdf)](_0x428c18(0xd2)),_0xcb59e9=_0x491330['searchParams']['get'](_0x363278[_0x428c18(0xf7)]);if(_0xcb59e9){const _0x51ccf9=_0x491330['searchParams'][_0x428c18(0xdf)](_0x428c18(0xe1))??_0xcb59e9;_0x29055b['writeHead'](0xc8,{'Content-Type':'text/html'}),_0x29055b[_0x428c18(0x9c)](_0x428c18(0xab)+_0x51ccf9+'</p><p>You\x20can\x20close\x20this\x20window.</p></body></html>'),_0x363278['wAJLq'](clearTimeout,_0x1cb0f8),_0x363278['Bhqsb'](_0x287ca4),_0x363278['KHQed'](_0x1eff4f,new Error('OAuth\x20error:\x20'+_0x51ccf9));return;}if(!_0xb5f67c||_0x363278['MbwKi'](_0xb133bb,_0x12fed5)){_0x29055b['writeHead'](0x190,{'Content-Type':_0x363278[_0x428c18(0xfa)]}),_0x29055b[_0x428c18(0x9c)](_0x363278['aipRR']);return;}_0x29055b['writeHead'](0xc8,{'Content-Type':_0x428c18(0x10b)}),_0x29055b[_0x428c18(0x9c)](_0x428c18(0x103)),clearTimeout(_0x1cb0f8),_0x363278['NDgGW'](_0x287ca4),_0x177a70(_0xb5f67c);});_0xca202d[_0x1e9ac0(0xf0)](CALLBACK_PORT,_0x1e9ac0(0xdd));});}async function openBrowser(_0x3dee48){const _0x16c2c6=_0x130e48,_0x426eb5={'BLtdl':'darwin','dxGLU':'open','gCDUV':_0x16c2c6(0x102),'KaWfL':'start','gQHda':'xdg-open'},_0x3c8bee=process[_0x16c2c6(0xe8)]===_0x426eb5[_0x16c2c6(0xc3)]?_0x426eb5['dxGLU']:process[_0x16c2c6(0xe8)]===_0x426eb5[_0x16c2c6(0xb0)]?_0x426eb5['KaWfL']:_0x426eb5[_0x16c2c6(0xbf)];exec(_0x3c8bee+'\x20\x22'+_0x3dee48+'\x22');}let currentOrigin='';async function loadCachedToken(){const _0x5ab17c=_0x130e48,_0x5f01bf={'pHgWM':function(_0x25a9cf,_0x485023,_0x1a9fc8){return _0x25a9cf(_0x485023,_0x1a9fc8);},'cosdS':function(_0x51e082,_0x34ff7d){return _0x51e082!==_0x34ff7d;},'LBxuj':function(_0x4e5c41,_0x30f800){return _0x4e5c41>_0x30f800;}};try{const _0x275c88=JSON[_0x5ab17c(0xcd)](await _0x5f01bf['pHgWM'](readFile,TOKEN_CACHE_PATH,_0x5ab17c(0xa0)));if(_0x275c88[_0x5ab17c(0xe9)]&&_0x5f01bf['cosdS'](_0x275c88[_0x5ab17c(0xe9)],currentOrigin))return null;if(_0x275c88[_0x5ab17c(0xcc)]&&_0x5f01bf[_0x5ab17c(0xf9)](Date[_0x5ab17c(0xff)](),_0x275c88['expiresAt']))return null;return _0x275c88['accessToken']??null;}catch{return null;}}async function saveCachedToken(_0x306374,_0x4f1fc2,_0x353f38){const _0x320203=_0x130e48,_0x333079={'ymQAf':function(_0x42675a,_0x1938bd){return _0x42675a*_0x1938bd;},'AlBuH':function(_0x579b0a,_0x1f696c,_0x2e896c){return _0x579b0a(_0x1f696c,_0x2e896c);}},_0x819a53=await loadCachedData(),_0x527ec7={..._0x819a53,'origin':currentOrigin,'accessToken':_0x306374,'refreshToken':_0x4f1fc2??_0x819a53?.[_0x320203(0xe5)],'expiresAt':_0x353f38?Date[_0x320203(0xff)]()+_0x333079[_0x320203(0xbc)](_0x353f38,0x3e8):undefined};await _0x333079['AlBuH'](mkdir,_0x333079[_0x320203(0x114)](join,homedir(),'.ranger'),{'recursive':!![]}),await writeFile(TOKEN_CACHE_PATH,JSON[_0x320203(0xea)](_0x527ec7),{'mode':0x180});}async function loadCachedClient(){const _0x4d714d=_0x130e48,_0x2aa672=await loadCachedData();if(_0x2aa672?.['origin']&&_0x2aa672['origin']!==currentOrigin)return null;return _0x2aa672?.[_0x4d714d(0x110)]?{'clientId':_0x2aa672['clientId'],'clientSecret':_0x2aa672[_0x4d714d(0xf6)]}:null;}async function clearCachedClient(){const _0x5d2a3d=_0x130e48,_0x1569aa={'YqBpv':function(_0x164be1){return _0x164be1();}},_0x56a829=await _0x1569aa[_0x5d2a3d(0x8f)](loadCachedData);if(!_0x56a829)return;const {clientId:_0x5740ac,clientSecret:_0x574656,..._0x1a9736}=_0x56a829;await writeFile(TOKEN_CACHE_PATH,JSON['stringify'](_0x1a9736),{'mode':0x180});}async function saveCachedClient(_0x128d83,_0x1f2542){const _0x4c280b=_0x130e48,_0x2becaa={'oEijt':function(_0xe16279){return _0xe16279();},'IDkNc':function(_0x1f74e0,_0x5274ba,_0x3c60a3){return _0x1f74e0(_0x5274ba,_0x3c60a3);},'gpPpj':'.ranger'},_0x2ffd27=await _0x2becaa[_0x4c280b(0xf4)](loadCachedData),_0x330abc={..._0x2ffd27,'origin':currentOrigin,'accessToken':_0x2ffd27?.['accessToken']??'','clientId':_0x128d83,'clientSecret':_0x1f2542};await _0x2becaa['IDkNc'](mkdir,join(homedir(),_0x2becaa['gpPpj']),{'recursive':!![]}),await writeFile(TOKEN_CACHE_PATH,JSON[_0x4c280b(0xea)](_0x330abc),{'mode':0x180});}function _0x37c6(_0x402886,_0x178b1f){_0x402886=_0x402886-0x8f;const _0x15c075=_0x15c0();let _0x37c64e=_0x15c075[_0x402886];return _0x37c64e;}async function loadCachedData(){const _0x1ed408=_0x130e48;try{return JSON[_0x1ed408(0xcd)](await readFile(TOKEN_CACHE_PATH,'utf-8'));}catch{return null;}}async function parseResponse(_0x164325){const _0x20948d=_0x130e48,_0xa02264=_0x164325[_0x20948d(0xd9)]['get']('content-type')??'';if(_0xa02264[_0x20948d(0x97)]('text/event-stream')){const _0xa39f13=await _0x164325[_0x20948d(0xce)]();for(const _0x58d1d9 of _0xa39f13['split']('\x0a')){const _0x43bcc5=_0x58d1d9['trim']();if(_0x43bcc5['startsWith'](_0x20948d(0xee))){const _0x220da1=_0x43bcc5[_0x20948d(0xaa)](_0x20948d(0xee)['length'])['trim']();if(!_0x220da1)continue;try{const _0x2172d5=JSON['parse'](_0x220da1);if(_0x2172d5['id']!==undefined||_0x2172d5[_0x20948d(0x10d)])return _0x2172d5;}catch{}}}throw new Error(_0x20948d(0x115));}return _0x164325[_0x20948d(0x108)]();}function extractToken(_0x4b348b){const _0x31dca6=_0x130e48,_0x1c7b83={'RpMJI':function(_0x212992,_0x2734d1){return _0x212992===_0x2734d1;},'XfQNU':function(_0x5db410,_0x2f371f){return _0x5db410===_0x2f371f;},'qbDxp':_0x31dca6(0xce),'rQyuy':'string'};if(!_0x4b348b)return null;const _0x587372=_0x4b348b['structuredContent'];if(_0x587372?.[_0x31dca6(0xbd)]&&_0x1c7b83['RpMJI'](typeof _0x587372['token'],_0x31dca6(0xb4)))return _0x587372[_0x31dca6(0xbd)];if(_0x4b348b[_0x31dca6(0x9a)]){const _0x45cc3d=_0x4b348b['content'];throw new Error('Server\x20returned\x20error:\x20'+(_0x45cc3d?.[0x0]?.['text']??'Unknown\x20error'));}const _0x23b1e7=_0x4b348b['content'];if(_0x23b1e7)for(const _0x153544 of _0x23b1e7){if(_0x1c7b83[_0x31dca6(0xb5)](_0x153544[_0x31dca6(0xbe)],_0x1c7b83[_0x31dca6(0xe2)])&&_0x153544[_0x31dca6(0xce)]){try{const _0x141903=JSON['parse'](_0x153544['text']);if(typeof _0x141903?.['token']===_0x1c7b83[_0x31dca6(0xe6)])return _0x141903['token'];}catch{}const _0x2089f7=_0x153544[_0x31dca6(0xce)][_0x31dca6(0x105)](/(rngr_[A-Za-z0-9_-]+)/);if(_0x2089f7)return _0x2089f7[0x1];}}return null;}
|
|
1
|
+
const _0x3bf1e4=_0x230d;(function(_0x46ed27,_0x59439a){const _0x5c02dd=_0x230d,_0x488be0=_0x46ed27();while(!![]){try{const _0xf5224f=-parseInt(_0x5c02dd(0x1f3))/0x1+-parseInt(_0x5c02dd(0x1dd))/0x2*(parseInt(_0x5c02dd(0x226))/0x3)+-parseInt(_0x5c02dd(0x1c2))/0x4*(parseInt(_0x5c02dd(0x21f))/0x5)+parseInt(_0x5c02dd(0x1f0))/0x6+parseInt(_0x5c02dd(0x1cf))/0x7*(-parseInt(_0x5c02dd(0x1c3))/0x8)+parseInt(_0x5c02dd(0x1e3))/0x9+parseInt(_0x5c02dd(0x1d9))/0xa;if(_0xf5224f===_0x59439a)break;else _0x488be0['push'](_0x488be0['shift']());}catch(_0x46f6d6){_0x488be0['push'](_0x488be0['shift']());}}}(_0xa81e,0x529df));import{mkdir,writeFile,readFile}from'fs/promises';import{join}from'path';import{homedir}from'os';import{createServer}from'http';import{randomBytes,createHash}from'crypto';import{exec}from'child_process';import{getMcpAuthUrl}from'./utils/environment.js';const CALLBACK_PORT=0x4d78,TOKEN_CACHE_PATH=join(homedir(),'.ranger','mcp-oauth-tokens.json'),AUTH_ORIGIN_PATH=join(homedir(),_0x3bf1e4(0x1d4),'auth-origin.txt');export async function getMcpAuthOrigin(){const _0x388fde=_0x3bf1e4,_0x3669ff={'gGLJw':function(_0x55945f,_0x5a25a3,_0x5307d0){return _0x55945f(_0x5a25a3,_0x5307d0);},'eeBPT':function(_0x312061,_0x3e3a7d){return _0x312061||_0x3e3a7d;}};try{const _0x458742=(await _0x3669ff['gGLJw'](readFile,AUTH_ORIGIN_PATH,_0x388fde(0x1fe)))['trim']();return _0x3669ff[_0x388fde(0x222)](_0x458742,null);}catch{return null;}}export async function mcpBootstrap(){const _0x317fb8=_0x3bf1e4,_0x472fd7={'pikEc':function(_0x4deaf7){return _0x4deaf7();},'UOgTX':function(_0x20b28b,_0x443616){return _0x20b28b===_0x443616;},'PjqnM':function(_0x86c2ab){return _0x86c2ab();},'oEmCI':function(_0x22a15a,_0x5407df){return _0x22a15a+_0x5407df;},'cfquB':'MCP\x20server\x20requires\x20authentication\x20but\x20running\x20in\x20non-interactive\x20mode.\x0a','NsRld':'Run\x20`ranger\x20setup\x20--mcp-bootstrap`\x20interactively\x20first.','NIqau':function(_0x13e059,_0xfec1fc,_0x204930){return _0x13e059(_0xfec1fc,_0x204930);}},_0x5d616f=_0x472fd7['pikEc'](getMcpAuthUrl);currentOrigin=_0x5d616f;const _0x41f30a=process['stdout'][_0x317fb8(0x24a)]??![];console[_0x317fb8(0x212)]('\x0aConnecting\x20to\x20MCP\x20auth\x20server:\x20'+_0x5d616f+'\x0a');const _0x5cc501=await tryUnauthenticated(_0x5d616f);let _0x596863=null;if(_0x472fd7['UOgTX'](_0x5cc501,'proxied'))_0x596863='';else{_0x596863=await _0x472fd7[_0x317fb8(0x244)](loadCachedToken);if(!_0x596863){if(!_0x41f30a)throw new Error(_0x472fd7[_0x317fb8(0x22b)](_0x472fd7['cfquB'],_0x472fd7[_0x317fb8(0x1d0)]));_0x596863=await oauthFlow(_0x5d616f);}}await _0x472fd7['NIqau'](callGetCliToken,_0x5d616f,_0x596863);}async function tryUnauthenticated(_0x5b1be2){const _0x58389a=_0x3bf1e4,_0x4422c4={'jmfFs':function(_0x26cc17,_0x404e4d,_0xa82926){return _0x26cc17(_0x404e4d,_0xa82926);},'YGYuq':'application/json,\x20text/event-stream','lqjXz':'initialize','lKFZz':_0x58389a(0x1e6),'JkkFf':function(_0x3b3c50,_0x197577){return _0x3b3c50===_0x197577;}},_0x319b39=await _0x4422c4[_0x58389a(0x1ec)](fetch,_0x5b1be2,{'method':_0x58389a(0x221),'headers':{'Content-Type':_0x58389a(0x242),'Accept':_0x4422c4[_0x58389a(0x243)]},'body':JSON['stringify']({'jsonrpc':'2.0','id':0x1,'method':_0x4422c4[_0x58389a(0x1e2)],'params':{'protocolVersion':_0x58389a(0x236),'capabilities':{},'clientInfo':{'name':'ranger-cli','version':_0x58389a(0x1c5)}}})});if(_0x319b39['ok'])return await _0x319b39['text'](),_0x4422c4['lKFZz'];if(_0x4422c4[_0x58389a(0x1f5)](_0x319b39['status'],0x191))return await _0x319b39[_0x58389a(0x235)](),_0x58389a(0x233);const _0xbe983a=await _0x319b39['text']();throw new Error('MCP\x20server\x20returned\x20HTTP\x20'+_0x319b39[_0x58389a(0x1ef)]+':\x20'+_0xbe983a);}class OAuthTimeoutError extends Error{constructor(_0x11d3d5){const _0x4f3ffe=_0x3bf1e4;super(_0x11d3d5),this[_0x4f3ffe(0x23e)]='OAuthTimeoutError';}}async function oauthFlow(_0x153ec3){const _0xe9e757=_0x3bf1e4,_0x1adc3a={'uwqMj':function(_0x18b406,_0x9b406a){return _0x18b406(_0x9b406a);},'iQJFX':_0xe9e757(0x237),'tdNjU':function(_0x5558e4,_0xc7f2bf){return _0x5558e4(_0xc7f2bf);}};try{return await _0x1adc3a['uwqMj'](oauthFlowAttempt,_0x153ec3);}catch(_0x45477c){if(_0x45477c instanceof OAuthTimeoutError&&await loadCachedClient())return console[_0xe9e757(0x212)](_0x1adc3a['iQJFX']),await clearCachedClient(),await _0x1adc3a['tdNjU'](oauthFlowAttempt,_0x153ec3);throw _0x45477c;}}async function oauthFlowAttempt(_0xf6723e){const _0x5ca391=_0x3bf1e4,_0x2e0501={'fTRDl':_0x5ca391(0x20f),'lmaYh':function(_0x518dfe,_0x171bfb){return _0x518dfe(_0x171bfb);},'eOidR':function(_0x88abaf){return _0x88abaf();},'yYBJm':function(_0x39abd1,_0x25320d,_0x12a118){return _0x39abd1(_0x25320d,_0x12a118);},'NWAMK':'refresh_token','FozWK':_0x5ca391(0x23f),'yvvjL':_0x5ca391(0x1de),'gjhOV':function(_0x23d023,_0x5ae576){return _0x23d023(_0x5ae576);},'xMDiY':'sha256','fVFyL':_0x5ca391(0x23b),'GNhCk':_0x5ca391(0x241),'WSIhC':'client_id','VEvnH':'code_challenge','DZyzZ':'code_challenge_method','khuZv':'state','UCfJb':_0x5ca391(0x229),'EBHyI':'POST','lHJwy':_0x5ca391(0x1cd),'BnDzp':function(_0x1a7323,_0x218a0e,_0x4f603f,_0xe8b394){return _0x1a7323(_0x218a0e,_0x4f603f,_0xe8b394);}},_0x3b3ccb=_0xf6723e['replace'](/\/mcp$/,'');process[_0x5ca391(0x1d2)]['write'](_0x2e0501['fTRDl']);const _0x41c451=await fetch(_0x3b3ccb+_0x5ca391(0x1c9));if(!_0x41c451['ok'])throw new Error(_0x5ca391(0x1d3));const _0x68cf22=await _0x41c451['json'](),_0x2f2016=_0x68cf22[_0x5ca391(0x1dc)]?.[0x0];if(!_0x2f2016)throw new Error('No\x20authorization_servers\x20in\x20protected\x20resource\x20metadata');console['log']('\x20'+_0x2f2016);const _0x553acd=await _0x2e0501['lmaYh'](fetchAuthServerMetadata,_0x2f2016);let _0x5a40ff,_0xf92be5;const _0x53dd68=await _0x2e0501[_0x5ca391(0x225)](loadCachedClient);if(_0x53dd68)_0x5a40ff=_0x53dd68['clientId'],_0xf92be5=_0x53dd68['clientSecret'];else{if(_0x553acd['registration_endpoint']){process[_0x5ca391(0x1d2)][_0x5ca391(0x1ff)](_0x5ca391(0x220));const _0x3ef9f5=await _0x2e0501[_0x5ca391(0x1e5)](fetch,_0x553acd[_0x5ca391(0x20e)],{'method':_0x5ca391(0x221),'headers':{'Content-Type':_0x5ca391(0x242)},'body':JSON['stringify']({'client_name':'Ranger\x20CLI','redirect_uris':[_0x5ca391(0x20c)+CALLBACK_PORT+'/callback'],'grant_types':['authorization_code',_0x2e0501['NWAMK']],'response_types':[_0x2e0501[_0x5ca391(0x1e8)]],'token_endpoint_auth_method':'none'})});if(!_0x3ef9f5['ok']){const _0x27dfb8=await _0x3ef9f5['text']();throw new Error('Client\x20registration\x20failed:\x20'+_0x27dfb8);}const _0x5c5fcf=await _0x3ef9f5[_0x5ca391(0x21c)]();_0x5a40ff=_0x5c5fcf[_0x5ca391(0x1c6)],_0xf92be5=_0x5c5fcf['client_secret'],await _0x2e0501['yYBJm'](saveCachedClient,_0x5a40ff,_0xf92be5),console[_0x5ca391(0x212)](_0x2e0501[_0x5ca391(0x1fb)]);}else throw new Error('Authorization\x20server\x20does\x20not\x20support\x20dynamic\x20client\x20registration\x20and\x20no\x20cached\x20client\x20found');}const _0x4ad49d=_0x2e0501[_0x5ca391(0x1e1)](randomBytes,0x20)['toString'](_0x5ca391(0x23b)),_0x291a8c=createHash(_0x2e0501['xMDiY'])['update'](_0x4ad49d)[_0x5ca391(0x21a)](_0x2e0501[_0x5ca391(0x1c8)]),_0xf3fba3=randomBytes(0x10)[_0x5ca391(0x1eb)]('hex'),_0x5762d1=new URL(_0x553acd[_0x5ca391(0x1c1)]);_0x5762d1[_0x5ca391(0x24b)]['set'](_0x2e0501['GNhCk'],_0x2e0501[_0x5ca391(0x1e8)]),_0x5762d1[_0x5ca391(0x24b)]['set'](_0x2e0501[_0x5ca391(0x22d)],_0x5a40ff),_0x5762d1[_0x5ca391(0x24b)]['set']('redirect_uri','http://localhost:'+CALLBACK_PORT+'/callback'),_0x5762d1['searchParams']['set'](_0x2e0501['VEvnH'],_0x291a8c),_0x5762d1[_0x5ca391(0x24b)][_0x5ca391(0x200)](_0x2e0501['DZyzZ'],'S256'),_0x5762d1['searchParams'][_0x5ca391(0x200)](_0x2e0501[_0x5ca391(0x23d)],_0xf3fba3);_0x68cf22[_0x5ca391(0x229)]&&_0x5762d1['searchParams'][_0x5ca391(0x200)](_0x2e0501['UCfJb'],_0x68cf22[_0x5ca391(0x229)]);console['log'](_0x5ca391(0x1d1)),console['log'](_0x5ca391(0x1fc)+_0x5762d1[_0x5ca391(0x1eb)]()+'\x0a'),await _0x2e0501[_0x5ca391(0x208)](openBrowser,_0x5762d1['toString']());const _0x159e96=await _0x2e0501[_0x5ca391(0x208)](waitForCallback,_0xf3fba3);process[_0x5ca391(0x1d2)][_0x5ca391(0x1ff)]('Exchanging\x20authorization\x20code...');const _0x3f6f24=new URLSearchParams({'grant_type':_0x5ca391(0x232),'code':_0x159e96,'redirect_uri':_0x5ca391(0x20c)+CALLBACK_PORT+'/callback','client_id':_0x5a40ff,'code_verifier':_0x4ad49d});_0xf92be5&&_0x3f6f24['set']('client_secret',_0xf92be5);_0x68cf22['resource']&&_0x3f6f24['set'](_0x5ca391(0x229),_0x68cf22[_0x5ca391(0x229)]);const _0x20e911=await fetch(_0x553acd[_0x5ca391(0x1c4)],{'method':_0x2e0501['EBHyI'],'headers':{'Content-Type':_0x2e0501['lHJwy']},'body':_0x3f6f24});if(!_0x20e911['ok']){const _0x405dd4=await _0x20e911[_0x5ca391(0x235)]();throw new Error('Token\x20exchange\x20failed:\x20'+_0x405dd4);}const _0x32bac6=await _0x20e911[_0x5ca391(0x21c)]();return console[_0x5ca391(0x212)](_0x2e0501[_0x5ca391(0x1fb)]),await _0x2e0501[_0x5ca391(0x1f1)](saveCachedToken,_0x32bac6[_0x5ca391(0x21b)],_0x32bac6['refresh_token'],_0x32bac6[_0x5ca391(0x234)]),_0x32bac6[_0x5ca391(0x21b)];}async function callGetCliToken(_0x3b911b,_0x43f58e){const _0x83b1c5=_0x3bf1e4,_0x5b76da={'MFvtY':_0x83b1c5(0x242),'jSdOQ':_0x83b1c5(0x1ee),'PPTzT':function(_0x5bb396,_0x33af14){return _0x5bb396(_0x33af14);},'VIKtA':_0x83b1c5(0x236),'OkVjB':_0x83b1c5(0x1c5),'lKqxA':'\x20done','xUeJY':_0x83b1c5(0x221),'tSJBS':_0x83b1c5(0x1fd),'QdbUI':_0x83b1c5(0x22e),'OZJNa':'Requesting\x20CLI\x20token...','qOuEw':_0x83b1c5(0x1e7),'emuUP':_0x83b1c5(0x1fa),'NTMHP':function(_0x34038c){return _0x34038c();},'WLDts':_0x83b1c5(0x1d4),'tHEwO':'refresh.txt','ZZesF':function(_0x26d2fc,_0x195b63,_0x1f9bf7){return _0x26d2fc(_0x195b63,_0x1f9bf7);},'kxByz':function(_0x7d6859,_0x197200,_0x1443c5,_0xeafdc1){return _0x7d6859(_0x197200,_0x1443c5,_0xeafdc1);},'VKhNl':function(_0x472276,_0x8835dc,_0x5754df){return _0x472276(_0x8835dc,_0x5754df);},'Ysksv':_0x83b1c5(0x1e0),'clzLv':'Run\x20`ranger\x20status`\x20to\x20verify\x20authentication.\x0a'},_0x14b5ce={'Content-Type':_0x5b76da['MFvtY'],'Accept':_0x5b76da['jSdOQ']};_0x43f58e&&(_0x14b5ce['Authorization']=_0x83b1c5(0x249)+_0x43f58e);const _0x47bb4b=async _0x2d14ec=>{const _0x576346=_0x83b1c5,_0x3d7d1d=await fetch(_0x3b911b,{'method':_0x576346(0x221),'headers':_0x14b5ce,'body':JSON['stringify'](_0x2d14ec)});if(!_0x3d7d1d['ok']){const _0x5a4f8c=await _0x3d7d1d[_0x576346(0x235)]();throw new Error(_0x576346(0x227)+_0x3d7d1d['status']+':\x20'+_0x5a4f8c);}return parseResponse(_0x3d7d1d);};process[_0x83b1c5(0x1d2)]['write']('Initializing\x20MCP\x20session...');const _0x43fa94=await _0x5b76da['PPTzT'](_0x47bb4b,{'jsonrpc':'2.0','id':0x1,'method':'initialize','params':{'protocolVersion':_0x5b76da['VIKtA'],'capabilities':{},'clientInfo':{'name':'ranger-cli','version':_0x5b76da['OkVjB']}}});if(_0x43fa94[_0x83b1c5(0x206)])throw new Error('MCP\x20initialize\x20failed:\x20'+(_0x43fa94[_0x83b1c5(0x206)][_0x83b1c5(0x218)]??JSON[_0x83b1c5(0x201)](_0x43fa94['error'])));console['log'](_0x5b76da[_0x83b1c5(0x209)]),await fetch(_0x3b911b,{'method':_0x5b76da[_0x83b1c5(0x224)],'headers':_0x14b5ce,'body':JSON['stringify']({'jsonrpc':_0x5b76da[_0x83b1c5(0x22a)],'method':_0x5b76da[_0x83b1c5(0x22f)]})})[_0x83b1c5(0x207)](_0x1a2a78=>_0x1a2a78['text']()),process[_0x83b1c5(0x1d2)][_0x83b1c5(0x1ff)](_0x5b76da[_0x83b1c5(0x1d6)]);const _0x38f813=await _0x5b76da['PPTzT'](_0x47bb4b,{'jsonrpc':_0x83b1c5(0x1fd),'id':0x2,'method':_0x5b76da['qOuEw'],'params':{'name':_0x5b76da['emuUP'],'arguments':{}}});if(_0x38f813['error'])throw new Error(_0x83b1c5(0x1d5)+(_0x38f813[_0x83b1c5(0x206)][_0x83b1c5(0x218)]??JSON[_0x83b1c5(0x201)](_0x38f813['error'])));console[_0x83b1c5(0x212)]('\x20done');const _0x8357f9=extractToken(_0x38f813[_0x83b1c5(0x203)]);if(!_0x8357f9){console['error']('\x0aUnexpected\x20response\x20structure:'),console[_0x83b1c5(0x206)](JSON[_0x83b1c5(0x201)](_0x38f813['result'],null,0x2));throw new Error(_0x83b1c5(0x1da));}const _0x51d162=join(_0x5b76da[_0x83b1c5(0x247)](homedir),_0x5b76da[_0x83b1c5(0x22c)]),_0x4f5b66=join(_0x51d162,_0x5b76da['tHEwO']);await _0x5b76da[_0x83b1c5(0x210)](mkdir,_0x51d162,{'recursive':!![]}),await _0x5b76da['kxByz'](writeFile,_0x4f5b66,_0x8357f9,{'mode':0x180}),await _0x5b76da[_0x83b1c5(0x248)](writeFile,_0x5b76da['VKhNl'](join,_0x51d162,_0x5b76da['Ysksv']),_0x3b911b,{'mode':0x180}),console['log']('\x0aToken\x20written\x20to\x20'+_0x4f5b66),console['log'](_0x5b76da['clzLv']);}async function fetchAuthServerMetadata(_0x53d1fd){const _0xcc7479=_0x3bf1e4,_0x183e65=_0x53d1fd+'/.well-known/oauth-authorization-server',_0x4dfaf0=await fetch(_0x183e65);if(!_0x4dfaf0['ok'])throw new Error('Could\x20not\x20fetch\x20auth\x20server\x20metadata\x20from\x20'+_0x183e65+':\x20'+_0x4dfaf0[_0xcc7479(0x1ef)]);return _0x4dfaf0[_0xcc7479(0x21c)]();}function _0x230d(_0x566b57,_0x499869){_0x566b57=_0x566b57-0x1c1;const _0xa81ea0=_0xa81e();let _0x230d08=_0xa81ea0[_0x566b57];return _0x230d08;}function waitForCallback(_0x18cef1){const _0x25882e=_0x3bf1e4,_0x80bdb5={'RJELZ':function(_0x22676f){return _0x22676f();},'qcNsS':_0x25882e(0x204),'zgPft':'state','djzML':'error','hmrAL':function(_0x355a97,_0x89bf16){return _0x355a97!==_0x89bf16;},'pxtFl':'text/html','hyRvo':function(_0x3ef678,_0x69cc0c){return _0x3ef678(_0x69cc0c);}};return new Promise((_0x4745c6,_0x2d858a)=>{const _0x2a6384=_0x25882e,_0x3838bf=()=>{_0x2482ff['closeAllConnections'](),_0x2482ff['close']();},_0x4335b2=setTimeout(()=>{const _0x108e6a=_0x230d;_0x80bdb5[_0x108e6a(0x239)](_0x3838bf),_0x2d858a(new OAuthTimeoutError('OAuth\x20callback\x20timed\x20out\x20after\x202\x20minutes'));},0x1d4c0),_0x2482ff=createServer((_0x47277b,_0x4979ba)=>{const _0x4a5273=_0x230d,_0x2a0685=new URL(_0x47277b['url']??'/','http://localhost:'+CALLBACK_PORT);if(_0x2a0685['pathname']!=='/callback'){_0x4979ba[_0x4a5273(0x1cc)](0x194),_0x4979ba['end'](_0x80bdb5[_0x4a5273(0x223)]);return;}const _0xae5428=_0x2a0685[_0x4a5273(0x24b)]['get'](_0x4a5273(0x23f)),_0x1b2fbe=_0x2a0685[_0x4a5273(0x24b)]['get'](_0x80bdb5['zgPft']),_0x433511=_0x2a0685[_0x4a5273(0x24b)]['get'](_0x80bdb5[_0x4a5273(0x219)]);if(_0x433511){const _0x367652=_0x2a0685['searchParams']['get']('error_description')??_0x433511;_0x4979ba['writeHead'](0xc8,{'Content-Type':'text/html'}),_0x4979ba['end'](_0x4a5273(0x1f7)+_0x367652+_0x4a5273(0x1cb)),clearTimeout(_0x4335b2),_0x3838bf(),_0x2d858a(new Error('OAuth\x20error:\x20'+_0x367652));return;}if(!_0xae5428||_0x80bdb5[_0x4a5273(0x20d)](_0x1b2fbe,_0x18cef1)){_0x4979ba[_0x4a5273(0x1cc)](0x190,{'Content-Type':_0x80bdb5[_0x4a5273(0x1f2)]}),_0x4979ba[_0x4a5273(0x205)]('<html><body><h2>Invalid\x20callback</h2><p>Missing\x20code\x20or\x20state\x20mismatch.</p></body></html>');return;}_0x4979ba[_0x4a5273(0x1cc)](0xc8,{'Content-Type':_0x80bdb5[_0x4a5273(0x1f2)]}),_0x4979ba[_0x4a5273(0x205)](_0x4a5273(0x1f6)),clearTimeout(_0x4335b2),_0x3838bf(),_0x80bdb5[_0x4a5273(0x245)](_0x4745c6,_0xae5428);});_0x2482ff[_0x2a6384(0x21d)](CALLBACK_PORT,'127.0.0.1');});}async function openBrowser(_0x32f29a){const _0x433de2=_0x3bf1e4,_0x473d02={'xOihO':'open','rolgA':'xdg-open','SuNIY':function(_0x2c1bab,_0x161427){return _0x2c1bab(_0x161427);}},_0x435077=process[_0x433de2(0x213)]===_0x433de2(0x240)?_0x473d02['xOihO']:process[_0x433de2(0x213)]===_0x433de2(0x1ed)?_0x433de2(0x1ca):_0x473d02[_0x433de2(0x217)];_0x473d02[_0x433de2(0x216)](exec,_0x435077+'\x20\x22'+_0x32f29a+'\x22');}let currentOrigin='';async function loadCachedToken(){const _0x19fa37=_0x3bf1e4,_0x243df5={'JGmLs':_0x19fa37(0x1fe),'EtSnr':function(_0x46fa0c,_0x4f24a9){return _0x46fa0c!==_0x4f24a9;},'BYADD':function(_0x81c6f8,_0x3f9427){return _0x81c6f8>_0x3f9427;}};try{const _0x4e05d2=JSON['parse'](await readFile(TOKEN_CACHE_PATH,_0x243df5['JGmLs']));if(_0x4e05d2['origin']&&_0x243df5['EtSnr'](_0x4e05d2[_0x19fa37(0x231)],currentOrigin))return null;if(_0x4e05d2['expiresAt']&&_0x243df5[_0x19fa37(0x23c)](Date['now'](),_0x4e05d2[_0x19fa37(0x211)]))return null;return _0x4e05d2['accessToken']??null;}catch{return null;}}async function saveCachedToken(_0x103ada,_0x2cabef,_0x4f953d){const _0x533fce=_0x3bf1e4,_0x160bb9={'eAypt':function(_0x4bd944){return _0x4bd944();},'xrlok':function(_0x45da5d){return _0x45da5d();},'leUJm':function(_0x4b7da9,_0x2b4d2d,_0x55b54d,_0x1536f0){return _0x4b7da9(_0x2b4d2d,_0x55b54d,_0x1536f0);}},_0x54b6c3=await _0x160bb9[_0x533fce(0x23a)](loadCachedData),_0x2df9b0={..._0x54b6c3,'origin':currentOrigin,'accessToken':_0x103ada,'refreshToken':_0x2cabef??_0x54b6c3?.[_0x533fce(0x238)],'expiresAt':_0x4f953d?Date['now']()+_0x4f953d*0x3e8:undefined};await mkdir(join(_0x160bb9['xrlok'](homedir),_0x533fce(0x1d4)),{'recursive':!![]}),await _0x160bb9[_0x533fce(0x1df)](writeFile,TOKEN_CACHE_PATH,JSON['stringify'](_0x2df9b0),{'mode':0x180});}async function loadCachedClient(){const _0x45334d=_0x3bf1e4,_0x29355c=await loadCachedData();if(_0x29355c?.['origin']&&_0x29355c['origin']!==currentOrigin)return null;return _0x29355c?.[_0x45334d(0x1f4)]?{'clientId':_0x29355c[_0x45334d(0x1f4)],'clientSecret':_0x29355c['clientSecret']}:null;}async function clearCachedClient(){const _0x37d81a=_0x3bf1e4,_0x497de8={'InpUj':function(_0x14ea78){return _0x14ea78();}},_0xba4bec=await _0x497de8[_0x37d81a(0x1e9)](loadCachedData);if(!_0xba4bec)return;const {clientId:_0x2c06f2,clientSecret:_0x854876,..._0x5a3e12}=_0xba4bec;await writeFile(TOKEN_CACHE_PATH,JSON[_0x37d81a(0x201)](_0x5a3e12),{'mode':0x180});}function _0xa81e(){const _0x172b2b=['code','darwin','response_type','application/json','YGYuq','PjqnM','hyRvo','CoTMH','NTMHP','kxByz','Bearer\x20','isTTY','searchParams','authorization_endpoint','541164BYXHkM','8vPMplA','token_endpoint','1.0.0','client_id','headers','fVFyL','/.well-known/oauth-protected-resource','start','</p><p>You\x20can\x20close\x20this\x20window.</p></body></html>','writeHead','application/x-www-form-urlencoded','gtDWv','261786orSOuR','NsRld','\x0aOpening\x20browser\x20for\x20authentication...','stdout','Could\x20not\x20fetch\x20protected\x20resource\x20metadata\x20from\x20MCP\x20server','.ranger','get_cli_token\x20failed:\x20','OZJNa','HOAuq','content','4370280sObLoy','Could\x20not\x20extract\x20token\x20from\x20MCP\x20response','data:','authorization_servers','208076LkbpVz','\x20done','leUJm','auth-origin.txt','gjhOV','lqjXz','4373415rSFVFR','includes','yYBJm','proxied','tools/call','FozWK','InpUj','DUXmg','toString','jmfFs','win32','application/json,\x20text/event-stream','status','476124zdReTC','BnDzp','pxtFl','116609kKHdoW','clientId','JkkFf','<html><body><h2>Authenticated!</h2><p>You\x20can\x20close\x20this\x20window\x20and\x20return\x20to\x20the\x20terminal.</p></body></html>','<html><body><h2>Authentication\x20failed</h2><p>','get','token','get_cli_token','yvvjL','If\x20the\x20browser\x20doesn\x27t\x20open,\x20visit:\x0a','2.0','utf-8','write','set','stringify','structuredContent','result','Not\x20found','end','error','then','lmaYh','lKqxA','gpPrp','content-type','http://localhost:','hmrAL','registration_endpoint','Discovering\x20authorization\x20server...','ZZesF','expiresAt','log','platform','slice','startsWith','SuNIY','rolgA','message','djzML','digest','access_token','json','listen','parse','15QyuSAg','Registering\x20OAuth\x20client...','POST','eeBPT','qcNsS','xUeJY','eOidR','3zhYUFO','HTTP\x20','pOBDI','resource','tSJBS','oEmCI','WLDts','WSIhC','notifications/initialized','QdbUI','Server\x20returned\x20error:\x20','origin','authorization_code','needs-oauth','expires_in','text','2025-03-26','\x0aCached\x20OAuth\x20client\x20may\x20be\x20stale\x20—\x20clearing\x20and\x20retrying...\x0a','refreshToken','RJELZ','eAypt','base64url','BYADD','khuZv','name'];_0xa81e=function(){return _0x172b2b;};return _0xa81e();}async function saveCachedClient(_0x266199,_0x5bfd75){const _0x5285cf=_0x3bf1e4,_0x18c90b={'CoTMH':function(_0x514820){return _0x514820();},'Vzrkz':function(_0x49836d,_0xd05fb3,_0x342193){return _0x49836d(_0xd05fb3,_0x342193);},'aWmMh':_0x5285cf(0x1d4)},_0x2b42ba=await _0x18c90b['CoTMH'](loadCachedData),_0x4a5668={..._0x2b42ba,'origin':currentOrigin,'accessToken':_0x2b42ba?.['accessToken']??'','clientId':_0x266199,'clientSecret':_0x5bfd75};await mkdir(_0x18c90b['Vzrkz'](join,_0x18c90b[_0x5285cf(0x246)](homedir),_0x18c90b['aWmMh']),{'recursive':!![]}),await writeFile(TOKEN_CACHE_PATH,JSON[_0x5285cf(0x201)](_0x4a5668),{'mode':0x180});}async function loadCachedData(){const _0x7f8201=_0x3bf1e4,_0x531095={'pOBDI':'utf-8'};try{return JSON['parse'](await readFile(TOKEN_CACHE_PATH,_0x531095[_0x7f8201(0x228)]));}catch{return null;}}async function parseResponse(_0x2a6f62){const _0x3d8994=_0x3bf1e4,_0x3f4f36={'gpPrp':_0x3d8994(0x1db),'OypHk':function(_0x3a3791,_0x5601f4){return _0x3a3791!==_0x5601f4;},'HOAuq':'No\x20JSON-RPC\x20response\x20found\x20in\x20SSE\x20stream'},_0x1f7232=_0x2a6f62[_0x3d8994(0x1c7)][_0x3d8994(0x1f8)](_0x3d8994(0x20b))??'';if(_0x1f7232[_0x3d8994(0x1e4)]('text/event-stream')){const _0x93bc0a=await _0x2a6f62['text']();for(const _0x1cee58 of _0x93bc0a['split']('\x0a')){const _0x5cde07=_0x1cee58['trim']();if(_0x5cde07[_0x3d8994(0x215)](_0x3f4f36[_0x3d8994(0x20a)])){const _0x33c750=_0x5cde07[_0x3d8994(0x214)](_0x3d8994(0x1db)['length'])['trim']();if(!_0x33c750)continue;try{const _0x45533a=JSON['parse'](_0x33c750);if(_0x3f4f36['OypHk'](_0x45533a['id'],undefined)||_0x45533a['error'])return _0x45533a;}catch{}}}throw new Error(_0x3f4f36[_0x3d8994(0x1d7)]);}return _0x2a6f62[_0x3d8994(0x21c)]();}function extractToken(_0x1c7ad7){const _0x4e725a=_0x3bf1e4,_0x21ad2b={'gtDWv':function(_0x3e022c,_0x35ee83){return _0x3e022c===_0x35ee83;},'RdaHc':_0x4e725a(0x235),'DUXmg':function(_0x45a65e,_0x4e9f4d){return _0x45a65e===_0x4e9f4d;},'WSHQq':'string'};if(!_0x1c7ad7)return null;const _0x186bb3=_0x1c7ad7[_0x4e725a(0x202)];if(_0x186bb3?.[_0x4e725a(0x1f9)]&&_0x21ad2b[_0x4e725a(0x1ce)](typeof _0x186bb3[_0x4e725a(0x1f9)],'string'))return _0x186bb3[_0x4e725a(0x1f9)];if(_0x1c7ad7['isError']){const _0x194081=_0x1c7ad7[_0x4e725a(0x1d8)];throw new Error(_0x4e725a(0x230)+(_0x194081?.[0x0]?.['text']??'Unknown\x20error'));}const _0x1e2536=_0x1c7ad7[_0x4e725a(0x1d8)];if(_0x1e2536)for(const _0x357794 of _0x1e2536){if(_0x357794['type']===_0x21ad2b['RdaHc']&&_0x357794[_0x4e725a(0x235)]){try{const _0x372794=JSON[_0x4e725a(0x21e)](_0x357794[_0x4e725a(0x235)]);if(_0x21ad2b[_0x4e725a(0x1ea)](typeof _0x372794?.['token'],_0x21ad2b['WSHQq']))return _0x372794['token'];}catch{}const _0x4424c3=_0x357794[_0x4e725a(0x235)]['match'](/(rngr_[A-Za-z0-9_-]+)/);if(_0x4424c3)return _0x4424c3[0x1];}}return null;}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(
|
|
1
|
+
function _0x9428(_0x123f19,_0x449fad){_0x123f19=_0x123f19-0x96;var _0x2af8bd=_0x2af8();var _0x9428ce=_0x2af8bd[_0x123f19];return _0x9428ce;}function _0x2af8(){var _0x1a61a5=['22627990lGnPpz','error','exit','495588PrEFGx','704865mNgvvX','499714FELkDp','kJhQW','ranger\x20profile\x20migrate\x20is\x20no\x20longer\x20supported.\x0a','Existing\x20sessions\x20in\x20your\x20old\x20<project>/.ranger/\x20dirs\x20still\x20work\x20as\x20a\x0a','3438FuKaBE','APvJH','9168fWZkfj','4vvivlm','3068940dDCZXb','6RJWLqR','5197549qNGAYt','HSFxq'];_0x2af8=function(){return _0x1a61a5;};return _0x2af8();}(function(_0x24e9f0,_0x4f2326){var _0x1b7c97=_0x9428,_0x8077ce=_0x24e9f0();while(!![]){try{var _0x4b761b=-parseInt(_0x1b7c97(0x9c))/0x1+parseInt(_0x1b7c97(0x9e))/0x2+parseInt(_0x1b7c97(0x9d))/0x3+-parseInt(_0x1b7c97(0xa5))/0x4*(parseInt(_0x1b7c97(0xa6))/0x5)+-parseInt(_0x1b7c97(0x96))/0x6*(parseInt(_0x1b7c97(0x97))/0x7)+parseInt(_0x1b7c97(0xa4))/0x8*(-parseInt(_0x1b7c97(0xa2))/0x9)+parseInt(_0x1b7c97(0x99))/0xa;if(_0x4b761b===_0x4f2326)break;else _0x8077ce['push'](_0x8077ce['shift']());}catch(_0x473024){_0x8077ce['push'](_0x8077ce['shift']());}}}(_0x2af8,0x6fce4));export async function migrateProfile(_0x901ff1,_0x2754d1){var _0x39debc=_0x9428,_0x402f70={'HSFxq':function(_0x376349,_0x588da1){return _0x376349+_0x588da1;},'ssjXw':function(_0x2a90d5,_0x152327){return _0x2a90d5+_0x152327;},'kJhQW':'To\x20set\x20up\x20a\x20fresh\x20profile,\x20run:\x0a','APvJH':'\x20\x20ranger\x20profile\x20add\x20<name>\x0a','EzHOJ':'For\x20CI\x20/\x20background\x20agents\x20and\x20other\x20setup\x20options,\x20see:\x0a'};console[_0x39debc(0x9a)](_0x402f70[_0x39debc(0x98)](_0x402f70[_0x39debc(0x98)](_0x402f70['ssjXw'](_0x39debc(0xa0)+'\x0a',_0x402f70[_0x39debc(0x9f)])+_0x402f70[_0x39debc(0xa3)],'\x0a')+_0x402f70['EzHOJ']+'\x20\x20https://docs.ranger.net/main/concepts/profiles\x0a','\x0a')+_0x39debc(0xa1)+'fallback;\x20you\x20can\x20delete\x20them\x20once\x20you\x20have\x20re-auth-ed.'),process[_0x39debc(0x9b)](0x1);}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(
|
|
1
|
+
(function(_0x91d189,_0x4d8c1d){const _0x4ca1df=_0x2ea0,_0x3fc67b=_0x91d189();while(!![]){try{const _0x130c7b=-parseInt(_0x4ca1df(0x8f))/0x1+parseInt(_0x4ca1df(0x7b))/0x2+-parseInt(_0x4ca1df(0x8d))/0x3*(-parseInt(_0x4ca1df(0x79))/0x4)+-parseInt(_0x4ca1df(0xa0))/0x5*(-parseInt(_0x4ca1df(0x9f))/0x6)+parseInt(_0x4ca1df(0x8e))/0x7*(parseInt(_0x4ca1df(0x81))/0x8)+-parseInt(_0x4ca1df(0xa2))/0x9+-parseInt(_0x4ca1df(0x96))/0xa;if(_0x130c7b===_0x4d8c1d)break;else _0x3fc67b['push'](_0x3fc67b['shift']());}catch(_0x445a19){_0x3fc67b['push'](_0x3fc67b['shift']());}}}(_0x113e,0x50fc8));import{join}from'path';function _0x2ea0(_0x10e415,_0x2d8bbe){_0x10e415=_0x10e415-0x79;const _0x113e8b=_0x113e();let _0x2ea010=_0x113e8b[_0x10e415];return _0x2ea010;}import{existsSync}from'fs';import _0x2e954d from'inquirer';import{skillup}from'../skillup.js';function _0x113e(){const _0x4adc0c=['.claude','3250485fLSwcB','IsoJm','\x0aInstalling\x20Claude\x20Code\x20plugin\x20(','install','yuHcr','QJbeg','user','qGWdy','--scope','log','push','User\x20(available\x20in\x20all\x20your\x20projects)','project','519884DkOeux','BJcKG','1188816NhbOQq','ACbMW','✓\x20Marketplace\x20already\x20added','SKILL.md','YroTJ','error','7432xDxsZi','LCMzy','wantsSkillup','enable','plugin','output','✓\x20Claude\x20Code\x20plugin\x20already\x20installed','bAsFw','ranger-testing/trailhead','uldHc','ranger','marketplace','15tKHyKr','4207YVXAlN','472530nlKVog','mbQHy','\x20level)...\x0a','\x20\x20claude\x20plugin\x20install\x20ranger@trailhead\x20--scope\x20','SzPML','❌\x20Failed\x20to\x20install\x20plugin:','Bheav','6815960jkEsus','✓\x20Claude\x20Code\x20plugin\x20installed\x20successfully','prompt','xPYzD','pluginScope','\x20\x20claude\x20plugin\x20marketplace\x20add\x20ranger-testing/trailhead','DbnFb','rOxuy','\x0aYou\x20can\x20install\x20manually\x20with:','6dopLUS','222095adnfBj'];_0x113e=function(){return _0x4adc0c;};return _0x113e();}import{runClaudeCommand,isMarketplaceAdded,isPluginInstalled}from'../utils/claudePlugin.js';import{getProjectRoot,getSkillsDir}from'../utils/claudeConfig.js';export async function ensureClaudePlugin(_0x27a9be){const _0x2e754b=_0x2ea0,_0x15adbb={'qGWdy':function(_0xd74f52,_0x4c0594){return _0xd74f52(_0x4c0594);},'uldHc':'ranger@trailhead','bAsFw':_0x2e754b(0x87),'PyHlI':_0x2e754b(0xae),'ACbMW':_0x2e754b(0x9a),'WcOlW':'Where\x20should\x20the\x20plugin\x20be\x20installed?','IsoJm':'user','Bheav':function(_0xd7086d,_0x42a5c8){return _0xd7086d(_0x42a5c8);},'LdORd':function(_0x109de6,_0x8bbb47){return _0x109de6(_0x8bbb47);},'qssAJ':_0x2e754b(0x89),'eqhFl':'❌\x20Failed\x20to\x20add\x20marketplace:','hXnBT':_0x2e754b(0x9b),'YfiNe':function(_0x1809b2,_0x47830f,_0x332696){return _0x1809b2(_0x47830f,_0x332696);},'yuHcr':'plugin','PeSTV':_0x2e754b(0xa5),'cjPhN':function(_0x58d2ef,_0x18a412){return _0x58d2ef===_0x18a412;},'mbQHy':_0x2e754b(0x94),'yqYLs':_0x2e754b(0x84),'QJbeg':_0x2e754b(0xaa),'rOxuy':'⚠\x20Failed\x20to\x20enable\x20plugin:','pMQyI':'✓\x20Claude\x20Code\x20plugin\x20enabled'},_0x3600b9=await _0x15adbb[_0x2e754b(0xa9)](isPluginInstalled,_0x15adbb[_0x2e754b(0x8a)]);if(_0x3600b9)return console[_0x2e754b(0xab)](_0x15adbb[_0x2e754b(0x88)]),![];const _0x3cb226=existsSync(join(getProjectRoot(),_0x2e754b(0xa1)));let _0x3b8f24;if(_0x27a9be)_0x3b8f24=_0x27a9be;else{if(_0x3cb226)_0x3b8f24=_0x15adbb['PyHlI'];else{console['log']('\x0a📦\x20Claude\x20Code\x20Plugin\x0a');const _0x5a0a09=await _0x2e954d[_0x2e754b(0x98)]([{'type':'list','name':_0x15adbb[_0x2e754b(0x7c)],'message':_0x15adbb['WcOlW'],'choices':[{'name':_0x2e754b(0xad),'value':_0x2e754b(0xa8)},{'name':'Project\x20(shared\x20with\x20team\x20via\x20git)','value':_0x15adbb['PyHlI']}],'default':_0x15adbb[_0x2e754b(0xa3)]}]);_0x3b8f24=_0x5a0a09['pluginScope'];}}console[_0x2e754b(0xab)](_0x2e754b(0xa4)+_0x3b8f24+_0x2e754b(0x91));const _0x5b76e7=await _0x15adbb[_0x2e754b(0x95)](isMarketplaceAdded,'trailhead');let _0x47cc82=_0x5b76e7;if(_0x5b76e7)console[_0x2e754b(0xab)](_0x2e754b(0x7d));else{const _0x58b4b4=await _0x15adbb['LdORd'](runClaudeCommand,[_0x2e754b(0x85),_0x2e754b(0x8c),'add',_0x15adbb['qssAJ']]);!_0x58b4b4['success']?(console[_0x2e754b(0x80)](_0x15adbb['eqhFl'],_0x58b4b4['error']),console[_0x2e754b(0xab)](_0x2e754b(0x9e)),console[_0x2e754b(0xab)](_0x15adbb['hXnBT']),console['log'](_0x2e754b(0x92)+_0x3b8f24)):_0x47cc82=!![];}if(_0x47cc82){const _0x124c96=await _0x15adbb['YfiNe'](runClaudeCommand,[_0x15adbb['yuHcr'],_0x15adbb['PeSTV'],_0x15adbb[_0x2e754b(0x8a)],_0x2e754b(0xaa),_0x3b8f24],{'cwd':_0x15adbb['cjPhN'](_0x3b8f24,_0x15adbb['PyHlI'])?getProjectRoot():undefined});if(!_0x124c96['success'])console['error'](_0x15adbb[_0x2e754b(0x90)],_0x124c96['error']),console[_0x2e754b(0xab)]('\x0aYou\x20can\x20install\x20manually\x20with:'),console[_0x2e754b(0xab)](_0x2e754b(0x92)+_0x3b8f24);else{console[_0x2e754b(0xab)](_0x2e754b(0x97));const _0x49390a=[_0x15adbb[_0x2e754b(0xa6)],_0x15adbb['yqYLs'],_0x15adbb[_0x2e754b(0x8a)]];_0x3b8f24===_0x15adbb['PyHlI']&&_0x49390a[_0x2e754b(0xac)](_0x15adbb[_0x2e754b(0xa7)],_0x2e754b(0xae));const _0x49dfdd=await runClaudeCommand(_0x49390a,{'captureOutput':!![],'cwd':_0x3b8f24==='project'?getProjectRoot():undefined}),_0x17eda3=_0x49dfdd[_0x2e754b(0x86)]?.['includes']('already\x20enabled');!_0x49dfdd['success']&&!_0x17eda3?console[_0x2e754b(0x80)](_0x15adbb[_0x2e754b(0x9d)],_0x49dfdd['error']):console['log'](_0x15adbb['pMQyI']);}}return!![];}export async function ensureClaudeSkills(_0x3ebc88){const _0x323a6a=_0x2ea0,_0x2490da={'DbnFb':function(_0x58d730,_0x24b449){return _0x58d730(_0x24b449);},'xKnCj':function(_0x4a0e49,_0x2cd3c2){return _0x4a0e49(_0x2cd3c2);},'SzPML':_0x323a6a(0x8b),'qzLmL':function(_0x42b7d1,_0x224065,_0x2871c2,_0x2930dc){return _0x42b7d1(_0x224065,_0x2871c2,_0x2930dc);},'OJHnu':function(_0x4faff6,_0x5de8fa){return _0x4faff6(_0x5de8fa);},'YroTJ':_0x323a6a(0xae),'BJcKG':function(_0x5ccb95){return _0x5ccb95();},'xPYzD':'.claude','JYvXk':function(_0x549ee5,_0xab9aa2){return _0x549ee5(_0xab9aa2);},'LCMzy':'confirm'},_0x503fb8=_0x2490da[_0x323a6a(0x9c)](existsSync,join(_0x2490da['xKnCj'](getSkillsDir,_0x323a6a(0xa8)),_0x2490da[_0x323a6a(0x93)],_0x323a6a(0x7e))),_0x5716be=_0x2490da['xKnCj'](existsSync,_0x2490da['qzLmL'](join,_0x2490da['OJHnu'](getSkillsDir,_0x2490da[_0x323a6a(0x7f)]),_0x2490da[_0x323a6a(0x93)],_0x323a6a(0x7e)));if(_0x503fb8||_0x5716be)return console['log']('✓\x20Ranger\x20skills\x20already\x20installed'),![];const _0x24d723=_0x2490da['OJHnu'](existsSync,join(_0x2490da[_0x323a6a(0x7a)](getProjectRoot),_0x2490da[_0x323a6a(0x99)]));let _0x5dd32b=!![];if(_0x3ebc88)await _0x2490da['JYvXk'](skillup,{'autoInstall':_0x3ebc88,'suppressUsage':!![]});else{if(_0x24d723)await skillup({'autoInstall':_0x2490da[_0x323a6a(0x7f)],'suppressUsage':!![]});else{const _0x44c464=await _0x2e954d['prompt']([{'type':_0x2490da[_0x323a6a(0x82)],'name':'wantsSkillup','message':'Would\x20you\x20like\x20to\x20install\x20skills?','default':!![]}]);_0x5dd32b=_0x44c464[_0x323a6a(0x83)],_0x5dd32b&&await skillup({'suppressUsage':!![]});}}return _0x5dd32b;}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(
|
|
1
|
+
(function(_0xd5af24,_0x4c02c8){const _0x3f3875=_0x5aeb,_0x3c52fa=_0xd5af24();while(!![]){try{const _0x3867e0=parseInt(_0x3f3875(0x1cc))/0x1*(-parseInt(_0x3f3875(0x1da))/0x2)+-parseInt(_0x3f3875(0x1cb))/0x3*(parseInt(_0x3f3875(0x1db))/0x4)+parseInt(_0x3f3875(0x1d0))/0x5+-parseInt(_0x3f3875(0x1d4))/0x6+-parseInt(_0x3f3875(0x1d8))/0x7+-parseInt(_0x3f3875(0x1d1))/0x8+parseInt(_0x3f3875(0x1c7))/0x9;if(_0x3867e0===_0x4c02c8)break;else _0x3c52fa['push'](_0x3c52fa['shift']());}catch(_0x33061c){_0x3c52fa['push'](_0x3c52fa['shift']());}}}(_0x267a,0x5612a));function _0x5aeb(_0x3c6a46,_0x5b34ba){_0x3c6a46=_0x3c6a46-0x1c7;const _0x267a1e=_0x267a();let _0x5aeb89=_0x267a1e[_0x3c6a46];return _0x5aeb89;}import{join}from'path';import{existsSync}from'fs';import{mkdir,readFile,writeFile}from'fs/promises';import _0x32d964 from'inquirer';import{getOpencodeConfigDir}from'../utils/opencodeConfig.js';export async function ensureOpencodePluginConfig(_0x48fd03){const _0x1eabe7=_0x5aeb,_0x4de366={'KUkWN':function(_0x424a93,_0x40def1){return _0x424a93(_0x40def1);},'FUFLu':function(_0xf01d6d,_0x36d7c5,_0x17d11f){return _0xf01d6d(_0x36d7c5,_0x17d11f);},'tsgQC':_0x1eabe7(0x1c9),'uxamG':'\x0a📦\x20OpenCode\x20Plugin\x0a','DUchZ':'Where\x20should\x20the\x20plugin\x20be\x20installed?','uMuAM':_0x1eabe7(0x1d7),'ahDVu':_0x1eabe7(0x1ce),'BDLgE':_0x1eabe7(0x1ca),'tviqo':'✓\x20OpenCode\x20plugin\x20already\x20configured'},_0x2a46b2=_0x4de366[_0x1eabe7(0x1d5)](existsSync,_0x4de366['FUFLu'](join,getOpencodeConfigDir('project'),_0x4de366[_0x1eabe7(0x1d3)]));let _0x1ffd8f;if(_0x48fd03)_0x1ffd8f=_0x48fd03;else{if(_0x2a46b2)_0x1ffd8f='project';else{console['log'](_0x4de366['uxamG']);const _0x590d0c=await _0x32d964['prompt']([{'type':_0x1eabe7(0x1d9),'name':_0x1eabe7(0x1dd),'message':_0x4de366['DUchZ'],'choices':[{'name':_0x4de366['uMuAM'],'value':_0x4de366['ahDVu']},{'name':'Project\x20(shared\x20with\x20team\x20via\x20git)','value':_0x1eabe7(0x1c8)}],'default':_0x4de366['ahDVu']}]);_0x1ffd8f=_0x590d0c[_0x1eabe7(0x1dd)];}}const _0x222677=join(getOpencodeConfigDir(_0x1ffd8f),'opencode.json'),_0x5071af='@ranger-testing/opencode-plugin',_0x4a1079='https://opencode.ai/config.json';let _0x5955f1={};if(existsSync(_0x222677))try{const _0x6f4463=await _0x4de366['FUFLu'](readFile,_0x222677,'utf-8');_0x5955f1=JSON['parse'](_0x6f4463);}catch(_0x440d32){return console['error'](_0x4de366[_0x1eabe7(0x1de)]),{'configured':![],'scope':_0x1ffd8f,'error':_0x1eabe7(0x1cf),'details':_0x440d32};}const _0x225e2c=Array['isArray'](_0x5955f1[_0x1eabe7(0x1d2)])?_0x5955f1['plugin']:[];if(_0x225e2c['includes'](_0x5071af))return console[_0x1eabe7(0x1d6)](_0x4de366[_0x1eabe7(0x1cd)]),{'configured':![],'scope':_0x1ffd8f};return _0x5955f1[_0x1eabe7(0x1df)]=_0x5955f1['$schema']||_0x4a1079,_0x5955f1[_0x1eabe7(0x1d2)]=[..._0x225e2c,_0x5071af],await _0x4de366[_0x1eabe7(0x1dc)](mkdir,getOpencodeConfigDir(_0x1ffd8f),{'recursive':!![]}),await writeFile(_0x222677,JSON['stringify'](_0x5955f1,null,0x2)+'\x0a'),console['log']('✓\x20OpenCode\x20plugin\x20configured'),{'configured':!![],'scope':_0x1ffd8f};}function _0x267a(){const _0x1781cd=['tviqo','user','Failed\x20to\x20read\x20opencode.json','3420530EpYlWg','5267960UGJIjs','plugin','tsgQC','3324276HTOzjo','KUkWN','log','User\x20(available\x20in\x20all\x20your\x20projects)','2849896Plqybr','list','860542eiJlWN','33244wbwzCj','FUFLu','pluginScope','BDLgE','$schema','20028231FtbVZL','project','opencode.json','⚠\x20Failed\x20to\x20read\x20opencode.json.\x20Please\x20add\x20the\x20plugin\x20manually.','183GwEqiS','1RPZSMv'];_0x267a=function(){return _0x1781cd;};return _0x267a();}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
(function(_0x56f7ac,_0x373506){var _0x1a8de5=_0x45b8,_0xe788e5=_0x56f7ac();while(!![]){try{var _0x4b5296=-parseInt(_0x1a8de5(0xbf))/0x1*(parseInt(_0x1a8de5(0xc3))/0x2)+parseInt(_0x1a8de5(0xbb))/0x3+parseInt(_0x1a8de5(0xc4))/0x4+-parseInt(_0x1a8de5(0xba))/0x5+-parseInt(_0x1a8de5(0xc0))/0x6+parseInt(_0x1a8de5(0xbe))/0x7+parseInt(_0x1a8de5(0xc2))/0x8*(-parseInt(_0x1a8de5(0xc8))/0x9);if(_0x4b5296===_0x373506)break;else _0xe788e5['push'](_0xe788e5['shift']());}catch(_0x39f576){_0xe788e5['push'](_0xe788e5['shift']());}}}(_0x3fc2,0x2e428));function _0x3fc2(){var _0x156205=['To\x20set\x20up\x20a\x20fresh\x20profile,\x20run:\x0a','nerLF','exrCA','166941jiRXKV','1379595VBHxjc','186456PmTzWz','error','\x20\x20https://docs.ranger.net/main/concepts/profiles','1981168JdCUEg','1LxrDGw','365310nbqqGz','NmbvG','24fAzVXD','85396FqumoH','1117812yLInUG'];_0x3fc2=function(){return _0x156205;};return _0x3fc2();}function _0x45b8(_0x22f79d,_0x5d1b53){_0x22f79d=_0x22f79d-0xba;var _0x3fc266=_0x3fc2();var _0x45b8ae=_0x3fc266[_0x22f79d];return _0x45b8ae;}export async function setupCi(_0x39231c,_0x4a30d2,_0xd57923){var _0x5d11c3=_0x45b8,_0x1f9992={'NmbvG':function(_0xc97693,_0x2a3887){return _0xc97693+_0x2a3887;},'vErOT':'ranger\x20setup\x20--ci\x20writes\x20to\x20the\x20legacy\x20.ranger/ci/\x20tree\x20which\x20is\x20no\x20longer\x20supported.\x0a','kKIqF':_0x5d11c3(0xc5),'nerLF':'\x20\x20ranger\x20profile\x20add\x20<name>\x0a','exrCA':'For\x20CI\x20/\x20background\x20agents\x20and\x20other\x20setup\x20options,\x20see:\x0a','mhRxy':_0x5d11c3(0xbd)};console[_0x5d11c3(0xbc)](_0x1f9992[_0x5d11c3(0xc1)](_0x1f9992[_0x5d11c3(0xc1)](_0x1f9992['vErOT'],'\x0a'),_0x1f9992['kKIqF'])+_0x1f9992[_0x5d11c3(0xc6)]+'\x0a'+_0x1f9992[_0x5d11c3(0xc7)]+_0x1f9992['mhRxy']),process['exit'](0x1);}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(
|
|
1
|
+
(function(_0x3a4424,_0x1af2fe){const _0x297c86=_0x46af,_0x53f826=_0x3a4424();while(!![]){try{const _0x57043f=parseInt(_0x297c86(0x7f))/0x1*(-parseInt(_0x297c86(0x95))/0x2)+parseInt(_0x297c86(0x83))/0x3+-parseInt(_0x297c86(0x8e))/0x4*(-parseInt(_0x297c86(0x89))/0x5)+parseInt(_0x297c86(0xa2))/0x6+parseInt(_0x297c86(0x7a))/0x7*(-parseInt(_0x297c86(0x9f))/0x8)+-parseInt(_0x297c86(0x84))/0x9*(parseInt(_0x297c86(0x86))/0xa)+parseInt(_0x297c86(0x78))/0xb;if(_0x57043f===_0x1af2fe)break;else _0x53f826['push'](_0x53f826['shift']());}catch(_0x433636){_0x53f826['push'](_0x53f826['shift']());}}}(_0x520b,0xd9a3f));function _0x520b(){const _0x3a95a5=['project','16fWUjVR','❌\x20No\x20Ranger\x20API\x20token\x20found.\x0a','KwfWQ','6940692bKWxbi','16816283MNckjX','wMLOp','5619761DbspFc','/.claude/skills/','opencode','suppressUsage','/skills/','1503902hKECUz','log','\x0a⚠️\x20\x20No\x20skills\x20were\x20installed.\x0a','rwRkf','3305241MzdABi','198VEaDaa','autoInstall','53700lhPDax','cQGSh','\x20--opencode','1659305iDGrky','\x20\x20Failed\x20to\x20install\x20ranger\x20skill:','/.opencode/skills/','prompt','\x0a🎯\x20Ranger\x20Skill\x20Setup\x0a','4QjTfTU','installLevel','GddjC','wIeaX','stdin','All\x20projects\x20(','Where\x20should\x20skills\x20be\x20installed?','2jSxxet','Tzbsy','user','claude','To\x20get\x20started:','2|5|0|1|4|3','\x20<your-api-token>','xtqQP','\x20\x201.\x20Get\x20your\x20API\x20token\x20from\x20https://dashboard.ranger.net/cli'];_0x520b=function(){return _0x3a95a5;};return _0x520b();}import{basename}from'path';import _0x2150ac from'inquirer';function _0x46af(_0x422313,_0x1096ef){_0x422313=_0x422313-0x78;const _0x520b3c=_0x520b();let _0x46af37=_0x520b3c[_0x422313];return _0x46af37;}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(_0x53d68f={}){const _0xa7e06=_0x46af,_0x42fa44={'wMLOp':_0xa7e06(0x8d),'zhVCp':_0xa7e06(0x98),'FRTFy':_0xa7e06(0x9d),'wIeaX':function(_0x3109ad,_0x363c82){return _0x3109ad===_0x363c82;},'KwfWQ':function(_0x18a73d,_0x5aec07){return _0x18a73d(_0x5aec07);},'VGjYZ':_0xa7e06(0x8f),'YpMuO':_0xa7e06(0x94),'Ddnou':_0xa7e06(0x97),'cquEs':_0xa7e06(0x9e),'jRfnM':function(_0x4ad3bf){return _0x4ad3bf();},'Tzbsy':function(_0x37984f,_0x1c64be,_0x355436){return _0x37984f(_0x1c64be,_0x355436);},'xtqQP':function(_0x5bfa0d,_0x3680eb){return _0x5bfa0d===_0x3680eb;},'IYush':function(_0x4a87de,_0x4607ec){return _0x4a87de>_0x4607ec;},'rwRkf':'To\x20use:','KUdPi':function(_0x55eccb,_0x232f11){return _0x55eccb===_0x232f11;},'GddjC':'opencode','cQGSh':'\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!','QJeQA':_0xa7e06(0x81)};console['log'](_0x42fa44[_0xa7e06(0x79)]);const _0x4dd0e2=_0x53d68f['platform']??_0x42fa44['zhVCp'],_0x1f9192=await getToken();if(!_0x1f9192){const _0x3ef96b=_0xa7e06(0x9a)['split']('|');let _0x1bcab7=0x0;while(!![]){switch(_0x3ef96b[_0x1bcab7++]){case'0':console[_0xa7e06(0x80)](_0x42fa44['FRTFy']);continue;case'1':console[_0xa7e06(0x80)]('\x20\x202.\x20Run:\x20ranger\x20setup'+(_0x42fa44[_0xa7e06(0x91)](_0x4dd0e2,_0xa7e06(0x7c))?'\x20--opencode':'')+_0xa7e06(0x9b));continue;case'2':console['log'](_0xa7e06(0xa0));continue;case'3':return;case'4':console['log']('\x20\x203.\x20Run:\x20ranger\x20skillup'+(_0x42fa44[_0xa7e06(0x91)](_0x4dd0e2,_0xa7e06(0x7c))?_0xa7e06(0x88):'')+'\x0a');continue;case'5':console['log'](_0xa7e06(0x99));continue;}break;}}console[_0xa7e06(0x80)]('✓\x20Found\x20API\x20token');const _0x110ce9=getProjectRoot(),_0x884450=_0x42fa44[_0xa7e06(0xa1)](basename,_0x110ce9),_0x278470=_0x4dd0e2===_0xa7e06(0x7c)?_0x42fa44['KwfWQ'](getOpencodeConfigDir,'user')+'/skills/':getClaudeConfigDir()+_0xa7e06(0x7e),_0x276466=_0x4dd0e2==='opencode'?_0x110ce9+_0xa7e06(0x8b):_0x110ce9+_0xa7e06(0x7b),_0x15a1e0=process[_0xa7e06(0x92)]['isTTY']&&process['stdout']['isTTY'];let _0x356351;if(_0x53d68f[_0xa7e06(0x85)])_0x356351=_0x53d68f['autoInstall'];else{if(_0x15a1e0){const _0x4ba51f=await _0x2150ac[_0xa7e06(0x8c)]([{'type':'list','name':_0x42fa44['VGjYZ'],'message':_0x42fa44['YpMuO'],'choices':[{'name':_0xa7e06(0x93)+_0x278470+')','value':_0x42fa44['Ddnou']},{'name':'This\x20project\x20only\x20('+_0x276466+')','value':_0x42fa44['cquEs']}]}]);_0x356351=_0x4ba51f[_0xa7e06(0x8f)];}else _0x356351='project',console['log']('Non-interactive\x20mode:\x20Installing\x20skills\x20at\x20project\x20level\x20('+_0x276466+')');}let _0x422fa0=0x0;const _0x53cd91=_0x42fa44['jRfnM'](getCurrentVersion);console['log']('\x0a📦\x20Installing\x20skills...\x0a');try{const _0x5b3429=await _0x42fa44[_0xa7e06(0x96)](installSkill,'ranger',{'cliVersion':_0x53cd91,'level':_0x356351,'platform':_0x4dd0e2});_0x5b3429&&_0x422fa0++;}catch(_0x525cb4){console['warn'](_0xa7e06(0x8a),_0x525cb4 instanceof Error?_0x525cb4['message']:_0x525cb4);}if(_0x422fa0>0x0){const _0x35c484=_0x42fa44[_0xa7e06(0x9c)](_0x356351,'user')?'user-level':'project-level';console[_0xa7e06(0x80)]('\x0a✅\x20Installed\x20'+_0x422fa0+'\x20'+_0x35c484+'\x20skill'+(_0x42fa44['IYush'](_0x422fa0,0x1)?'s':'')+'\x20successfully!\x0a'),!_0x53d68f[_0xa7e06(0x7d)]&&(console[_0xa7e06(0x80)](_0x42fa44[_0xa7e06(0x82)]),_0x42fa44['KUdPi'](_0x4dd0e2,_0x42fa44[_0xa7e06(0x90)])?console['log']('\x20\x20-\x20Start\x20OpenCode\x20and\x20run\x20the\x20`ranger_enable`\x20tool\x20to\x20enable\x20hooks.'):console['log'](_0x42fa44[_0xa7e06(0x87)]));}else console[_0xa7e06(0x80)](_0x42fa44['QJeQA']);}
|
package/build/commands/start.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(_0x2a448f,_0x2051cd){const _0x291b28=_0x12ba,_0x5c4609=_0x2a448f();while(!![]){try{const _0x48be58=parseInt(_0x291b28(0x1cf))/0x1*(parseInt(_0x291b28(0x1a4))/0x2)+parseInt(_0x291b28(0x1a2))/0x3*(parseInt(_0x291b28(0x1d1))/0x4)+-parseInt(_0x291b28(0x1d6))/0x5*(parseInt(_0x291b28(0x1bc))/0x6)+parseInt(_0x291b28(0x1bf))/0x7*(parseInt(_0x291b28(0x1b1))/0x8)+parseInt(_0x291b28(0x1e9))/0x9+-parseInt(_0x291b28(0x1ff))/0xa*(-parseInt(_0x291b28(0x1c0))/0xb)+-parseInt(_0x291b28(0x1fc))/0xc;if(_0x48be58===_0x2051cd)break;else _0x5c4609['push'](_0x5c4609['shift']());}catch(_0x512093){_0x5c4609['push'](_0x5c4609['shift']());}}}(_0xa85a,0x26a8f));import{mkdir,writeFile}from'fs/promises';import{join}from'path';import{existsSync}from'fs';import{createRequire}from'module';import{spawn}from'child_process';import _0x4c2724 from'inquirer';import{getToken,storeToken}from'./utils/keychain.js';import{getCurrentUser}from'./utils/userApi.js';import{chromium}from'playwright';import{addEnv}from'./addEnv.js';import{getRangerHomeDir,findGitRoot}from'./utils/rangerRoot.js';import{runDeviceAuthFlow}from'./utils/deviceAuth.js';import{findExistingEnv}from'./utils/settings.js';import{getCurrentVersion}from'./utils/version.js';import{ensureClaudePlugin,ensureClaudeSkills}from'./setup/claude.js';import{ensureOpencodePluginConfig}from'./setup/opencode.js';import{installSkill}from'./utils/skills.js';const require=createRequire(import.meta.url);export const PLAYWRIGHT_CHROMIUM_INSTALL_FALLBACK_VERSION='1.58.2';const bold=_0x54695c=>'\x1b[1m'+_0x54695c+'\x1b[0m';export function getPlaywrightVersion(){try{const _0x589e13=require['resolve']('playwright/package.json'),_0xee4670=require(_0x589e13);return _0xee4670['version'];}catch{return null;}}export function installChromiumBinary(_0x1ed062,_0x34e810=![]){const _0x1962b7={'VwsiW':function(_0x2bebf4,_0xaecbb9){return _0x2bebf4(_0xaecbb9);},'zAEAx':function(_0x59a156,_0x2817c9){return _0x59a156(_0x2817c9);},'WJRnW':'--with-deps','FRGLO':function(_0xee57c6,_0x140fb5,_0x5000b8,_0x28a3cf){return _0xee57c6(_0x140fb5,_0x5000b8,_0x28a3cf);},'DoVmQ':'ignore','MYJAq':'inherit','ebqxS':function(_0x15b610,_0x46dd06){return _0x15b610===_0x46dd06;}};return new Promise((_0x1f9529,_0x4cd275)=>{const _0x30859d=_0x12ba,_0x4feff5=[_0x30859d(0x1d5)+_0x1ed062,'install',..._0x34e810?[_0x1962b7['WJRnW']]:[],'chromium'],_0x197c5d=_0x1962b7['FRGLO'](spawn,'npx',_0x4feff5,{'stdio':[_0x1962b7['DoVmQ'],_0x1962b7['MYJAq'],_0x30859d(0x1b4)],'shell':_0x1962b7['ebqxS'](process[_0x30859d(0x1e8)],'win32')});_0x197c5d['on']('close',_0x29a6ff=>{const _0x178985=_0x30859d;_0x29a6ff===0x0?_0x1f9529():_0x1962b7[_0x178985(0x1b0)](_0x4cd275,new Error(_0x178985(0x1f0)+_0x29a6ff));}),_0x197c5d['on'](_0x30859d(0x1c5),_0x2aca6d=>{const _0x2a35b4=_0x30859d;_0x1962b7[_0x2a35b4(0x1c4)](_0x4cd275,_0x2aca6d);});});}export async function authenticate(_0x24b236){const _0x31feaf=_0x12ba,_0x1f784b={'YarAj':function(_0xbe3e83){return _0xbe3e83();},'vzvLF':function(_0x2f1b9c,_0x2ba19b){return _0x2f1b9c instanceof _0x2ba19b;},'JlVMg':_0x31feaf(0x19b),'AugpI':function(_0x59b35c,_0x528cf5){return _0x59b35c(_0x528cf5);},'LbnyB':function(_0x3428b9,_0x1913c1){return _0x3428b9(_0x1913c1);},'btihF':'✓\x20Exported\x20credentials\x20for\x20CI','iQjnV':'✓\x20Stored\x20credentials\x20locally'};if(!_0x24b236){const _0x4885a2=await getToken();if(_0x4885a2){const _0x5519e7=await getCurrentUser(_0x4885a2);if(_0x5519e7['success'])return console['log'](_0x31feaf(0x1e2)+_0x5519e7['user']['organizationName']),{'token':_0x4885a2,'method':'existing_token'};}try{_0x24b236=await _0x1f784b['YarAj'](runDeviceAuthFlow);}catch(_0x4a3454){throw new Error(_0x31feaf(0x1e7)+(_0x1f784b[_0x31feaf(0x1ce)](_0x4a3454,Error)?_0x4a3454[_0x31feaf(0x1a9)]:_0x4a3454));}const _0x453a45=await getCurrentUser(_0x24b236);if(!_0x453a45['success'])throw new Error(_0x31feaf(0x1f2)+_0x453a45[_0x31feaf(0x1c5)]);return console['log'](_0x31feaf(0x1eb)+_0x453a45['user']['organizationName']),{'token':_0x24b236,'method':_0x31feaf(0x1d9)};}console[_0x31feaf(0x1e1)](_0x1f784b[_0x31feaf(0x1f3)]);const _0x5166d5=await _0x1f784b[_0x31feaf(0x1ee)](getCurrentUser,_0x24b236);if(!_0x5166d5[_0x31feaf(0x1ab)]){if(_0x5166d5['status'])throw new Error('Authentication\x20failed:\x20'+_0x5166d5['error']+_0x31feaf(0x1ed));else throw new Error('Failed\x20to\x20connect\x20to\x20MCP\x20server:\x20'+_0x5166d5['error']+'.\x20Please\x20check\x20your\x20network\x20connection\x20and\x20server\x20URL.');}return console['log'](_0x31feaf(0x1eb)+_0x5166d5['user'][_0x31feaf(0x1fe)]),await _0x1f784b[_0x31feaf(0x199)](storeToken,_0x24b236),console['log'](process[_0x31feaf(0x1d7)]['GITHUB_ENV']?_0x1f784b['btihF']:_0x1f784b['iQjnV']),{'token':_0x24b236,'method':'provided_token'};}function _0xa85a(){const _0x25168f=['✓\x20Authenticated\x20to\x20','⚠\x20No\x20git\x20repository\x20found.\x20Re-run\x20with\x20`--scope\x20user`\x20to\x20store\x20the\x20profile\x20at\x20~/.ranger/.','.\x20Please\x20check\x20your\x20API\x20token\x20and\x20try\x20again.','AugpI','HSgbs','Installation\x20failed\x20with\x20exit\x20code\x20','\x0a\x20\x20https://docs.ranger.net/main/concepts/profiles','Failed\x20to\x20validate\x20provisioned\x20API\x20key:\x20','JlVMg','install','withDeps','qECXP','UiVVB','fJJyv','DUAxn','✓\x20Created\x20~/.ranger/\x20directory','\x0a\x0aFor\x20CI\x20/\x20background\x20agents\x20and\x20other\x20setup\x20options,\x20see:','10338492BlRzAZ','Could\x20not\x20determine\x20local\x20Playwright\x20version.\x20Install\x20Playwright\x20Chromium\x20using\x20fallback\x20version\x20','organizationName','10YONLiq','\x0a\x20\x20(opens\x20a\x20browser\x20so\x20you\x20can\x20log\x20in\x20once)','user','cFqMN','LbnyB','method','Validating\x20API\x20token...','CXfle','plugin','kznyj','trackPhaseEnd','chromium','PEojV','3Upxyck','sJKDC','2hpsAtg','✓\x20Playwright\x20Chromium\x20browser\x20found','scope','\x20install\x20chromium','profile','message','rWfgu','success','oDgiq','DjNwT','Kalig','MPhbT','VwsiW','96440JrMcwn','exit','✓\x20Skipping\x20Chromium\x20check\x20(--skip-chromium)','inherit','✓\x20~/.ranger/\x20directory\x20already\x20exists','skipAuth','\x20\x20npx\x20playwright@','with\x20scenarios\x20describing\x20what\x20to\x20verify\x20and\x20then\x20run\x20browser','.gitignore','GBBEz','skills','348dsJxpC','ranger\x20profile\x20add\x20<name>','oxCIW','133GJPoxm','2165977odfEZE','The\x20required\x20version\x20(','ilobe','verification\x20to\x20check\x20its\x20work\x20as\x20it\x20builds.','zAEAx','error','ready','force','\x0aNon-interactive\x20mode:\x20Auto-installing\x20Playwright\x20Chromium\x20','mxINu','eljJY','\x0a⚠\x20Skipping\x20Chromium\x20installation.','auth','trackPhaseStart','vzvLF','90801FvWkIq','allowInsecureLocalhost','1025476JlMcFc','oahsh','skipChromium','...','playwright@','1195NWapcv','env','klgzX','device_auth','opencode','skipped','\x20and\x20prompt\x20the\x20coding','\x20\x20Failed\x20to\x20install\x20OpenCode\x20skill:','QHQRx','You\x20can\x20install\x20it\x20manually\x20by\x20running:','\x0a🚀\x20Ranger\x20Setup\x0a','log','✓\x20Already\x20authenticated\x20to\x20','\x0aagent\x20like\x20usual.\x20Claude\x20will\x20create\x20a\x20feature\x20review\x20with','GGPRw','You\x20will\x20need\x20to\x20install\x20it\x20before\x20using\x20Ranger:','\x0aIn\x20OpenCode,\x20enable\x20Ranger\x20hooks\x20(run\x20the\x20`ranger_enable`\x20tool)','Authentication\x20failed:\x20','platform','2345688vJsokw','\x0averification\x20to\x20check\x20its\x20work\x20as\x20it\x20builds.'];_0xa85a=function(){return _0x25168f;};return _0xa85a();}function _0x12ba(_0xd9a340,_0x2e3851){_0xd9a340=_0xd9a340-0x199;const _0xa85a69=_0xa85a();let _0x12baa0=_0xa85a69[_0xd9a340];return _0x12baa0;}export async function ensureRangerDir(_0x544878){const _0x5bcb99=_0x12ba,_0x440e95={'kznyj':_0x5bcb99(0x1fa)};void _0x544878;const _0x3de11b=getRangerHomeDir();return!existsSync(_0x3de11b)?(await mkdir(_0x3de11b,{'recursive':!![]}),console[_0x5bcb99(0x1e1)](_0x440e95[_0x5bcb99(0x19e)]),{'path':_0x3de11b,'installed':!![]}):(console['log'](_0x5bcb99(0x1b5)),{'path':_0x3de11b,'installed':![]});}export async function ensureChromium(_0x180f9c=![]){const _0x12f677=_0x12ba,_0x996f87={'yddUx':function(_0x575367,_0x307490){return _0x575367(_0x307490);},'Nwelb':_0x12f677(0x1a5),'WOiSW':function(_0x3b02a2){return _0x3b02a2();},'jRfca':function(_0x2f8b6c,_0x4c257c){return _0x2f8b6c??_0x4c257c;},'cFqMN':'confirm','DUAxn':'\x20(fallback\x20version)','awiVQ':'\x0aInstalling\x20Chromium\x20browser...\x0a','FEcUs':function(_0x28819f,_0x37290f,_0x1dc9f){return _0x28819f(_0x37290f,_0x1dc9f);},'oDgiq':'\x0a✓\x20Playwright\x20Chromium\x20installed\x20successfully','oahsh':'\x0a❌\x20Failed\x20to\x20install\x20Chromium:','DjNwT':function(_0x16b3a7,_0x40a6db){return _0x16b3a7 instanceof _0x40a6db;},'hqHxr':_0x12f677(0x1df),'GBBEz':_0x12f677(0x1e5)};let _0x28d960=![];try{const _0x2aebc0=chromium['executablePath']();_0x28d960=_0x996f87['yddUx'](existsSync,_0x2aebc0);}catch{_0x28d960=![];}if(_0x28d960)return console['log'](_0x996f87['Nwelb']),![];const _0x54aed3=_0x996f87['WOiSW'](getPlaywrightVersion),_0x592f29=_0x996f87['jRfca'](_0x54aed3,PLAYWRIGHT_CHROMIUM_INSTALL_FALLBACK_VERSION),_0x3b4d5d=!_0x54aed3,_0x1153ae=process['stdin']['isTTY']&&process['stdout']['isTTY'];let _0x36b858=!![];if(_0x1153ae){const {install:_0x1af919}=await _0x4c2724['prompt']([{'type':_0x996f87[_0x12f677(0x202)],'name':_0x12f677(0x1f4),'message':_0x3b4d5d?_0x12f677(0x1fd)+_0x592f29+'\x20now?':_0x12f677(0x1c1)+_0x592f29+')\x20of\x20the\x20Playwright\x20Chromium\x20browser\x20is\x20not\x20installed.\x20Install\x20it\x20now?','default':!![]}]);_0x36b858=_0x1af919;}else console[_0x12f677(0x1e1)](_0x12f677(0x1c8)+_0x592f29+(_0x3b4d5d?_0x996f87[_0x12f677(0x1f9)]:'')+_0x12f677(0x1d4));if(_0x36b858){console['log'](_0x996f87['awiVQ']);try{await _0x996f87['FEcUs'](installChromiumBinary,_0x592f29,_0x180f9c),console[_0x12f677(0x1e1)](_0x996f87[_0x12f677(0x1ac)]);}catch(_0x53d257){console[_0x12f677(0x1c5)](_0x996f87[_0x12f677(0x1d2)],_0x996f87[_0x12f677(0x1ad)](_0x53d257,Error)?_0x53d257[_0x12f677(0x1a9)]:_0x53d257),console['log'](_0x996f87['hqHxr']),console[_0x12f677(0x1e1)](_0x12f677(0x1b7)+_0x592f29+_0x12f677(0x1a7));}}else console[_0x12f677(0x1e1)](_0x12f677(0x1cb)),console['log'](_0x996f87[_0x12f677(0x1ba)]),console[_0x12f677(0x1e1)](_0x12f677(0x1b7)+_0x592f29+_0x12f677(0x1a7));return!![];}export async function writeRangerGitignore(_0x432a63){const _0xf8b95b=_0x12ba,_0x2dfc81={'SMGZe':_0xf8b95b(0x1b9),'UiVVB':function(_0x465af5,_0x1836bf,_0x2f71ac){return _0x465af5(_0x1836bf,_0x2f71ac);},'klgzX':'✓\x20Created\x20.ranger/.gitignore'},_0x4eb6ea=join(_0x432a63,_0x2dfc81['SMGZe']),_0x469c25='\x0a\x0a#\x20Ignore\x20local-only\x20directories\x0alocal/\x0asessions/\x0abug-bashes/\x0areports/\x0afeedback-images/\x0a\x0aactive-profile.txt\x0aactive-feature.txt\x0a.gitignore\x0a\x0a#\x20Ignore\x20plaintext\x20auth\x20files\x20(encrypted\x20.enc\x20files\x20are\x20safe\x20to\x20commit)\x0a**/auth.json\x0a';await _0x2dfc81[_0xf8b95b(0x1f7)](writeFile,_0x4eb6ea,_0x469c25),console['log'](_0x2dfc81[_0xf8b95b(0x1d8)]);}export async function ensureLocalEnv(_0x536d5e,_0x14bd16){const _0x2583e=_0x12ba,_0x1607dd={'QHQRx':function(_0x4f9918){return _0x4f9918();},'mqVkW':function(_0x27dbc0,_0x131b8f){return _0x27dbc0!==_0x131b8f;},'PEojV':_0x2583e(0x201),'Kalig':'local','TsCGZ':'✓\x20Local\x20profile\x20already\x20exists','cIlMP':function(_0x5b4758,_0x34f5ec,_0x47edcf,_0x3c0617){return _0x5b4758(_0x34f5ec,_0x47edcf,_0x3c0617);}};if(!_0x1607dd[_0x2583e(0x1de)](findGitRoot)&&_0x1607dd['mqVkW'](_0x536d5e?.['scope'],_0x1607dd[_0x2583e(0x1a1)]))return console['log'](_0x2583e(0x1ec)),{'ready':![],'skipped':!![]};const _0x2acbf6=_0x536d5e?.['scope']==='user'?getRangerHomeDir():undefined;if(findExistingEnv('local',{'locations':[_0x1607dd[_0x2583e(0x1ae)]],'rangerDir':_0x2acbf6}))return console['log'](_0x1607dd['TsCGZ']),{'ready':!![],'skipped':![]};try{return await _0x1607dd['cIlMP'](addEnv,'local',{'url':_0x536d5e?.['url'],'force':_0x536d5e?.[_0x2583e(0x1c7)],'allowInsecureLocalhost':_0x536d5e?.[_0x2583e(0x1d0)],'scope':_0x536d5e?.[_0x2583e(0x1a6)]},_0x14bd16),{'ready':!![],'skipped':![]};}catch(_0x32fe9c){return console['error']('\x0a❌\x20Profile\x20setup\x20failed:',_0x32fe9c instanceof Error?_0x32fe9c[_0x2583e(0x1a9)]:_0x32fe9c),{'ready':![],'skipped':![]};}}export async function start(_0x4681dd,_0xc91495,_0x3e62bd){const _0x19d97d=_0x12ba,_0x55d538={'JdLjf':function(_0x3bdfff,_0x1811bb){return _0x3bdfff!==_0x1811bb;},'dSQVj':function(_0x47d3ae,_0x2dc240){return _0x47d3ae+_0x2dc240;},'OjKfG':function(_0x180e47,_0x27b9b2){return _0x180e47+_0x27b9b2;},'rWfgu':function(_0x3a866c,_0x311af2){return _0x3a866c(_0x311af2);},'HSgbs':'user','oxCIW':function(_0x562830){return _0x562830();},'nAfdU':_0x19d97d(0x1cc),'CXfle':_0x19d97d(0x1db),'zDVmR':'chromium','sJKDC':_0x19d97d(0x1b3),'GGPRw':function(_0x3fd5c5,_0x251f33){return _0x3fd5c5(_0x251f33);},'mxINu':'\x0a✅\x20Ranger\x20setup\x20complete!\x0a','MPhbT':_0x19d97d(0x19d),'MRXAL':function(_0xd80e92,_0x3d93b7,_0x2d0c83){return _0xd80e92(_0x3d93b7,_0x2d0c83);},'qECXP':'ranger','WkQrv':_0x19d97d(0x1dd),'eljJY':'skills','fJJyv':'\x0aSkipping\x20profile\x20setup\x20(--skip-auth).\x20Run\x20`ranger\x20setup`\x20with\x20auth\x20to\x20add\x20a\x20profile\x20later.\x0a','ilobe':function(_0x5de278,_0x1499e0){return _0x5de278+_0x1499e0;},'fGZXQ':_0x19d97d(0x1bd),'tsGPP':_0x19d97d(0x1c3),'PtBBw':function(_0xb0f437,_0x4167da){return _0xb0f437+_0x4167da;}};console[_0x19d97d(0x1e1)](_0x19d97d(0x1e0));_0x55d538['JdLjf'](_0xc91495?.[_0x19d97d(0x1a6)],undefined)&&_0xc91495['scope']!=='user'&&(console[_0x19d97d(0x1c5)](_0x55d538['dSQVj'](_0x55d538['OjKfG']('ranger\x20setup\x20--scope='+_0x55d538[_0x19d97d(0x1aa)](String,_0xc91495['scope'])+'\x20is\x20no\x20longer\x20supported.\x20','Setup\x20always\x20installs\x20at\x20user\x20scope\x20now\x20(cloud\x20profiles\x20make\x20'),'project-scope\x20setup\x20obsolete).\x20Drop\x20the\x20--scope\x20flag\x20or\x20pass\x20--scope=user.')),process[_0x19d97d(0x1b2)](0x1));_0xc91495={..._0xc91495,'scope':_0x55d538[_0x19d97d(0x1ef)]};const _0xc8cc2d=!_0x55d538[_0x19d97d(0x1aa)](existsSync,_0x55d538[_0x19d97d(0x1be)](getRangerHomeDir));await ensureRangerDir(_0x19d97d(0x201));if(_0xc91495?.[_0x19d97d(0x1b6)])console['log']('✓\x20Skipping\x20authentication\x20(--skip-auth)'),_0x3e62bd?.[_0x19d97d(0x19f)](_0x55d538['nAfdU'],{'isFirstRun':_0xc8cc2d,'method':_0x55d538[_0x19d97d(0x19c)]});else{_0x3e62bd?.[_0x19d97d(0x1cd)](_0x19d97d(0x1cc));const _0x38b8a9=await authenticate(_0x4681dd);_0x3e62bd?.['trackPhaseEnd'](_0x19d97d(0x1cc),{'isFirstRun':_0xc8cc2d,'method':_0x38b8a9[_0x19d97d(0x19a)]});}_0x3e62bd?.[_0x19d97d(0x1cd)](_0x55d538['zDVmR']);_0xc91495?.['skipChromium']?console[_0x19d97d(0x1e1)](_0x55d538[_0x19d97d(0x1a3)]):await _0x55d538[_0x19d97d(0x1e4)](ensureChromium,_0xc91495?.[_0x19d97d(0x1f5)]);_0x3e62bd?.['trackPhaseEnd'](_0x19d97d(0x1a0),{'isFirstRun':_0xc8cc2d,'skipped':!!_0xc91495?.[_0x19d97d(0x1d3)]}),console[_0x19d97d(0x1e1)](_0x55d538[_0x19d97d(0x1c9)]);const _0x29e2fd=_0xc91495?.[_0x19d97d(0x1a6)],_0x1504f7=_0xc91495?.[_0x19d97d(0x1da)]??![];let _0xc880b5=null;_0x1504f7?(_0x3e62bd?.['trackPhaseStart']('plugin'),_0xc880b5=await ensureOpencodePluginConfig(_0x29e2fd),_0x3e62bd?.['trackPhaseEnd'](_0x55d538['MPhbT'],{'isFirstRun':_0xc8cc2d,'opencode':!![]})):(_0x3e62bd?.[_0x19d97d(0x1cd)]('plugin'),await ensureClaudePlugin(_0x29e2fd),_0x3e62bd?.[_0x19d97d(0x19f)](_0x55d538[_0x19d97d(0x1af)],{'isFirstRun':_0xc8cc2d}));if(_0x1504f7&&_0xc880b5){_0x3e62bd?.[_0x19d97d(0x1cd)](_0x19d97d(0x1bb));try{await _0x55d538['MRXAL'](installSkill,_0x55d538[_0x19d97d(0x1f6)],{'level':_0xc880b5['scope'],'cliVersion':getCurrentVersion(),'platform':'opencode'}),_0x3e62bd?.['trackPhaseEnd'](_0x19d97d(0x1bb),{'isFirstRun':_0xc8cc2d,'opencode':!![]});}catch(_0x51d9f2){console['warn'](_0x55d538['WkQrv'],_0x51d9f2 instanceof Error?_0x51d9f2['message']:_0x51d9f2),_0x3e62bd?.[_0x19d97d(0x19f)](_0x55d538['eljJY'],{'isFirstRun':_0xc8cc2d,'opencode':!![],'failed':!![]});}}else _0x3e62bd?.['trackPhaseStart'](_0x19d97d(0x1bb)),await _0x55d538[_0x19d97d(0x1aa)](ensureClaudeSkills,_0x29e2fd),_0x3e62bd?.['trackPhaseEnd'](_0x55d538[_0x19d97d(0x1ca)],{'isFirstRun':_0xc8cc2d});if(_0xc91495?.['skipAuth'])console[_0x19d97d(0x1e1)](_0x55d538[_0x19d97d(0x1f8)]);else{if(_0xc91495?.['url']){_0x3e62bd?.[_0x19d97d(0x1cd)](_0x19d97d(0x1a8));const _0x15b54e=await ensureLocalEnv({'url':_0xc91495['url'],'force':_0xc91495?.[_0x19d97d(0x1c7)],'allowInsecureLocalhost':_0xc91495?.['allowInsecureLocalhost'],'scope':'user'},_0x3e62bd);_0x3e62bd?.['trackPhaseEnd']('profile',{'isFirstRun':_0xc8cc2d,'profileReady':_0x15b54e[_0x19d97d(0x1c6)],'userSkipped':_0x15b54e[_0x19d97d(0x1db)]});}else console[_0x19d97d(0x1e1)](_0x55d538['ilobe'](_0x55d538['dSQVj'](_0x55d538[_0x19d97d(0x1c2)]('\x0aTo\x20set\x20up\x20a\x20profile\x20for\x20your\x20app,\x20run:','\x0a\x20\x20'+bold(_0x55d538['fGZXQ'])),_0x19d97d(0x200))+_0x19d97d(0x1fb),_0x19d97d(0x1f1)));}if(_0x1504f7)console[_0x19d97d(0x1e1)](_0x19d97d(0x1e6)),console[_0x19d97d(0x1e1)]('and\x20prompt\x20the\x20agent\x20like\x20usual.\x20Ranger\x20will\x20create\x20a\x20feature\x20review'),console['log'](_0x19d97d(0x1b8)),console['log'](_0x55d538['tsGPP']);else{const _0x586c49=bold('/ranger:enable');console['log'](_0x55d538['PtBBw']('\x0aIn\x20Claude\x20Code,\x20run\x20'+_0x586c49+_0x19d97d(0x1dc)+_0x19d97d(0x1e3),'\x0ascenarios\x20describing\x20what\x20to\x20verify\x20and\x20then\x20run\x20browser')+_0x19d97d(0x1ea));}}
|
|
1
|
+
const _0x2da74d=_0x2e05;(function(_0x1a3234,_0x4425c6){const _0x5d9c57=_0x2e05,_0x4cdeaa=_0x1a3234();while(!![]){try{const _0x454b9f=-parseInt(_0x5d9c57(0x19c))/0x1+-parseInt(_0x5d9c57(0x1e0))/0x2*(-parseInt(_0x5d9c57(0x1b9))/0x3)+parseInt(_0x5d9c57(0x1d4))/0x4*(parseInt(_0x5d9c57(0x1d5))/0x5)+-parseInt(_0x5d9c57(0x192))/0x6+parseInt(_0x5d9c57(0x1ad))/0x7+-parseInt(_0x5d9c57(0x19a))/0x8+-parseInt(_0x5d9c57(0x1e5))/0x9;if(_0x454b9f===_0x4425c6)break;else _0x4cdeaa['push'](_0x4cdeaa['shift']());}catch(_0x5a6d97){_0x4cdeaa['push'](_0x4cdeaa['shift']());}}}(_0x442d,0xaaee7));import{mkdir,writeFile}from'fs/promises';import{join}from'path';import{existsSync}from'fs';import{createRequire}from'module';import{spawn}from'child_process';import _0x1ff6e6 from'inquirer';import{getToken,storeToken}from'./utils/keychain.js';import{getCurrentUser}from'./utils/userApi.js';import{chromium}from'playwright';function _0x442d(){const _0x4b2558=['naxXt','ehuCs','XrolK','version','4036041UVoWMq','\x0a\x20\x20https://docs.ranger.net/main/concepts/profiles','xbjZe','skipped','Installation\x20failed\x20with\x20exit\x20code\x20','provided_token','✓\x20~/.ranger/\x20directory\x20already\x20exists','You\x20can\x20install\x20it\x20manually\x20by\x20running:','\x0a\x20\x20','Xdnzk','\x0a🚀\x20Ranger\x20Setup\x0a','ignore','\x20(fallback\x20version)','vfmBs','Failed\x20to\x20validate\x20provisioned\x20API\x20key:\x20','local','The\x20required\x20version\x20(','--with-deps','vmayY','\x0aIn\x20Claude\x20Code,\x20run\x20','FKagr','pBSYW','existing_token','nbSsq','skipAuth','warn','ranger\x20setup\x20--scope=','.\x20Please\x20check\x20your\x20network\x20connection\x20and\x20server\x20URL.','isTTY','3509622hJiarp','inherit','\x0a❌\x20Failed\x20to\x20install\x20Chromium:','\x20now?','prompt','✓\x20Stored\x20credentials\x20locally','status','resolve','152232EkBSWI','verification\x20to\x20check\x20its\x20work\x20as\x20it\x20builds.','717569DXvkyj','error','RxefR','plugin','RJLEh','✓\x20Playwright\x20Chromium\x20browser\x20found','and\x20prompt\x20the\x20agent\x20like\x20usual.\x20Ranger\x20will\x20create\x20a\x20feature\x20review','trackPhaseStart','chromium','kGqDB','AuUDJ','jvhpy','user','install',')\x20of\x20the\x20Playwright\x20Chromium\x20browser\x20is\x20not\x20installed.\x20Install\x20it\x20now?','trackPhaseEnd','\x1b[0m','4839898yNDVak','DzuWd','executablePath','✓\x20Exported\x20credentials\x20for\x20CI','\x0aSkipping\x20profile\x20setup\x20(--skip-auth).\x20Run\x20`ranger\x20setup`\x20with\x20auth\x20to\x20add\x20a\x20profile\x20later.\x0a','skills','\x20\x20Failed\x20to\x20install\x20OpenCode\x20skill:','method','platform','npx','LoGAz','\x20\x20npx\x20playwright@','105tLLgUi','GITHUB_ENV','blyTX','ready','scope','\x0a\x0aFor\x20CI\x20/\x20background\x20agents\x20and\x20other\x20setup\x20options,\x20see:','skipChromium','\x20and\x20prompt\x20the\x20coding','\x0a✓\x20Playwright\x20Chromium\x20installed\x20successfully','stdout','opencode','rGocU','BLOPg','pMUGy','GIXeg','JtOzt','message','LxWFM','WtBWX','rZVBs','tQNDs','✓\x20Created\x20.ranger/.gitignore','YKHrp','ranger','force','auth','\x0ascenarios\x20describing\x20what\x20to\x20verify\x20and\x20then\x20run\x20browser','1942300TgHhfM','10BFireu','log','gNAlV','Could\x20not\x20determine\x20local\x20Playwright\x20version.\x20Install\x20Playwright\x20Chromium\x20using\x20fallback\x20version\x20','playwright@','spNog','profile','✓\x20Skipping\x20authentication\x20(--skip-auth)','\x20is\x20no\x20longer\x20supported.\x20','success','\x0a\x20\x20(opens\x20a\x20browser\x20so\x20you\x20can\x20log\x20in\x20once)','46146xqhXhn'];_0x442d=function(){return _0x4b2558;};return _0x442d();}import{addEnv}from'./addEnv.js';import{getRangerHomeDir,findGitRoot}from'./utils/rangerRoot.js';import{runDeviceAuthFlow}from'./utils/deviceAuth.js';import{findExistingEnv}from'./utils/settings.js';import{getCurrentVersion}from'./utils/version.js';import{ensureClaudePlugin,ensureClaudeSkills}from'./setup/claude.js';import{ensureOpencodePluginConfig}from'./setup/opencode.js';import{installSkill}from'./utils/skills.js';const require=createRequire(import.meta.url);export const PLAYWRIGHT_CHROMIUM_INSTALL_FALLBACK_VERSION='1.58.2';const bold=_0x397582=>'\x1b[1m'+_0x397582+_0x2da74d(0x1ac);export function getPlaywrightVersion(){const _0x4dbaa4=_0x2da74d,_0x506eb0={'Tnilg':'playwright/package.json','RJLEh':function(_0x5808fd,_0x4b506f){return _0x5808fd(_0x4b506f);}};try{const _0x29b1cf=require[_0x4dbaa4(0x199)](_0x506eb0['Tnilg']),_0x3de07d=_0x506eb0[_0x4dbaa4(0x1a0)](require,_0x29b1cf);return _0x3de07d[_0x4dbaa4(0x1e4)];}catch{return null;}}export function installChromiumBinary(_0x4aa4d3,_0x48184c=![]){const _0x103c07=_0x2da74d,_0x454794={'pMUGy':_0x103c07(0x1f6),'naxXt':function(_0x42384d,_0x4361df,_0x854870,_0x1c3415){return _0x42384d(_0x4361df,_0x854870,_0x1c3415);},'GIXeg':_0x103c07(0x1f0),'FzZDQ':function(_0x1e869a,_0x123f06){return _0x1e869a===_0x123f06;},'XVXMo':'close','XrolK':'error'};return new Promise((_0x11b34f,_0x2f2ad8)=>{const _0x541d59=_0x103c07,_0x3395b8={'ehuCs':function(_0x169418,_0x42b23e){return _0x169418(_0x42b23e);}},_0x369913=[_0x541d59(0x1d9)+_0x4aa4d3,'install',..._0x48184c?[_0x454794[_0x541d59(0x1c6)]]:[],'chromium'],_0xbb58d9=_0x454794[_0x541d59(0x1e1)](spawn,_0x541d59(0x1b6),_0x369913,{'stdio':[_0x454794[_0x541d59(0x1c7)],'inherit',_0x541d59(0x193)],'shell':_0x454794['FzZDQ'](process[_0x541d59(0x1b5)],'win32')});_0xbb58d9['on'](_0x454794['XVXMo'],_0x492b47=>{const _0x119026=_0x541d59;_0x492b47===0x0?_0x11b34f():_0x2f2ad8(new Error(_0x119026(0x1e9)+_0x492b47));}),_0xbb58d9['on'](_0x454794[_0x541d59(0x1e3)],_0x44ffe8=>{const _0x527ba2=_0x541d59;_0x3395b8[_0x527ba2(0x1e2)](_0x2f2ad8,_0x44ffe8);});});}export async function authenticate(_0x1489da){const _0x44ce35=_0x2da74d,_0x47883e={'kGqDB':function(_0x3f6384){return _0x3f6384();},'pBSYW':function(_0x17552e,_0x591350){return _0x17552e(_0x591350);},'AYjqm':_0x44ce35(0x18b),'OAexl':function(_0x1f88a8,_0x2fe1d7){return _0x1f88a8 instanceof _0x2fe1d7;},'FKagr':'device_auth','zOUnh':'Validating\x20API\x20token...','vfmBs':function(_0x2bc706,_0x4ca268){return _0x2bc706(_0x4ca268);},'xbjZe':_0x44ce35(0x197)};if(!_0x1489da){const _0x21c116=await _0x47883e[_0x44ce35(0x1a5)](getToken);if(_0x21c116){const _0x2986c0=await _0x47883e[_0x44ce35(0x18a)](getCurrentUser,_0x21c116);if(_0x2986c0[_0x44ce35(0x1de)])return console[_0x44ce35(0x1d6)]('✓\x20Already\x20authenticated\x20to\x20'+_0x2986c0['user']['organizationName']),{'token':_0x21c116,'method':_0x47883e['AYjqm']};}try{_0x1489da=await runDeviceAuthFlow();}catch(_0x38a95c){throw new Error('Authentication\x20failed:\x20'+(_0x47883e['OAexl'](_0x38a95c,Error)?_0x38a95c[_0x44ce35(0x1c9)]:_0x38a95c));}const _0x2e2e3f=await getCurrentUser(_0x1489da);if(!_0x2e2e3f['success'])throw new Error(_0x44ce35(0x1f3)+_0x2e2e3f[_0x44ce35(0x19d)]);return console['log']('✓\x20Authenticated\x20to\x20'+_0x2e2e3f[_0x44ce35(0x1a8)]['organizationName']),{'token':_0x1489da,'method':_0x47883e[_0x44ce35(0x1f9)]};}console[_0x44ce35(0x1d6)](_0x47883e['zOUnh']);const _0x353d4f=await _0x47883e[_0x44ce35(0x1f2)](getCurrentUser,_0x1489da);if(!_0x353d4f['success']){if(_0x353d4f[_0x44ce35(0x198)])throw new Error('Authentication\x20failed:\x20'+_0x353d4f[_0x44ce35(0x19d)]+'.\x20Please\x20check\x20your\x20API\x20token\x20and\x20try\x20again.');else throw new Error('Failed\x20to\x20connect\x20to\x20MCP\x20server:\x20'+_0x353d4f['error']+_0x44ce35(0x190));}return console['log']('✓\x20Authenticated\x20to\x20'+_0x353d4f['user']['organizationName']),await storeToken(_0x1489da),console[_0x44ce35(0x1d6)](process['env'][_0x44ce35(0x1ba)]?_0x44ce35(0x1b0):_0x47883e[_0x44ce35(0x1e7)]),{'token':_0x1489da,'method':_0x44ce35(0x1ea)};}export async function ensureRangerDir(_0xe6322c){const _0x328a65=_0x2da74d,_0x190b30={'vmayY':function(_0x239b48,_0x2b6ee6){return _0x239b48(_0x2b6ee6);},'RxefR':function(_0x8fb60f,_0x4f2584,_0x289d5d){return _0x8fb60f(_0x4f2584,_0x289d5d);},'nbSsq':_0x328a65(0x1eb)};void _0xe6322c;const _0x3c8e22=getRangerHomeDir();return!_0x190b30[_0x328a65(0x1f7)](existsSync,_0x3c8e22)?(await _0x190b30[_0x328a65(0x19e)](mkdir,_0x3c8e22,{'recursive':!![]}),console[_0x328a65(0x1d6)]('✓\x20Created\x20~/.ranger/\x20directory'),{'path':_0x3c8e22,'installed':!![]}):(console['log'](_0x190b30[_0x328a65(0x18c)]),{'path':_0x3c8e22,'installed':![]});}export async function ensureChromium(_0x578e26=![]){const _0x3417c9=_0x2da74d,_0x353662={'nluwV':function(_0x380b25,_0x42490e){return _0x380b25(_0x42490e);},'hEqWM':function(_0x54eb6f){return _0x54eb6f();},'rZVBs':function(_0x3ecd70,_0x1458f6){return _0x3ecd70??_0x1458f6;},'rGocU':'confirm','jFBcj':_0x3417c9(0x1f1)};let _0x1cf61f=![];try{const _0x9c25aa=chromium[_0x3417c9(0x1af)]();_0x1cf61f=_0x353662['nluwV'](existsSync,_0x9c25aa);}catch{_0x1cf61f=![];}if(_0x1cf61f)return console[_0x3417c9(0x1d6)](_0x3417c9(0x1a1)),![];const _0x5d56af=_0x353662['hEqWM'](getPlaywrightVersion),_0x3379f9=_0x353662[_0x3417c9(0x1cc)](_0x5d56af,PLAYWRIGHT_CHROMIUM_INSTALL_FALLBACK_VERSION),_0x5b685a=!_0x5d56af,_0x50d6bb=process['stdin']['isTTY']&&process[_0x3417c9(0x1c2)][_0x3417c9(0x191)];let _0x107e4a=!![];if(_0x50d6bb){const {install:_0x599f6d}=await _0x1ff6e6[_0x3417c9(0x196)]([{'type':_0x353662[_0x3417c9(0x1c4)],'name':_0x3417c9(0x1a9),'message':_0x5b685a?_0x3417c9(0x1d8)+_0x3379f9+_0x3417c9(0x195):_0x3417c9(0x1f5)+_0x3379f9+_0x3417c9(0x1aa),'default':!![]}]);_0x107e4a=_0x599f6d;}else console[_0x3417c9(0x1d6)]('\x0aNon-interactive\x20mode:\x20Auto-installing\x20Playwright\x20Chromium\x20'+_0x3379f9+(_0x5b685a?_0x353662['jFBcj']:'')+'...');if(_0x107e4a){console['log']('\x0aInstalling\x20Chromium\x20browser...\x0a');try{await installChromiumBinary(_0x3379f9,_0x578e26),console['log'](_0x3417c9(0x1c1));}catch(_0x2d04c4){console[_0x3417c9(0x19d)](_0x3417c9(0x194),_0x2d04c4 instanceof Error?_0x2d04c4['message']:_0x2d04c4),console['log'](_0x3417c9(0x1ec)),console[_0x3417c9(0x1d6)](_0x3417c9(0x1b8)+_0x3379f9+'\x20install\x20chromium');}}else console['log']('\x0a⚠\x20Skipping\x20Chromium\x20installation.'),console[_0x3417c9(0x1d6)]('You\x20will\x20need\x20to\x20install\x20it\x20before\x20using\x20Ranger:'),console['log'](_0x3417c9(0x1b8)+_0x3379f9+'\x20install\x20chromium');return!![];}export async function writeRangerGitignore(_0x155b5c){const _0x575eb6=_0x2da74d,_0x155d7a={'YECfz':function(_0x3b26f4,_0x27dfd8,_0x1f4706){return _0x3b26f4(_0x27dfd8,_0x1f4706);}},_0x46eea1=_0x155d7a['YECfz'](join,_0x155b5c,'.gitignore'),_0x3d060d='\x0a\x0a#\x20Ignore\x20local-only\x20directories\x0alocal/\x0asessions/\x0abug-bashes/\x0areports/\x0afeedback-images/\x0a\x0aactive-profile.txt\x0aactive-feature.txt\x0a.gitignore\x0a\x0a#\x20Ignore\x20plaintext\x20auth\x20files\x20(encrypted\x20.enc\x20files\x20are\x20safe\x20to\x20commit)\x0a**/auth.json\x0a';await writeFile(_0x46eea1,_0x3d060d),console['log'](_0x575eb6(0x1ce));}function _0x2e05(_0xdddbcc,_0x3881d2){_0xdddbcc=_0xdddbcc-0x18a;const _0x442d2e=_0x442d();let _0x2e057f=_0x442d2e[_0xdddbcc];return _0x2e057f;}export async function ensureLocalEnv(_0xeaba35,_0xb1eed){const _0x6b1cb7=_0x2da74d,_0x360e21={'cESBj':function(_0x94537){return _0x94537();},'JtOzt':'⚠\x20No\x20git\x20repository\x20found.\x20Re-run\x20with\x20`--scope\x20user`\x20to\x20store\x20the\x20profile\x20at\x20~/.ranger/.','Iwzkc':'local','Xdnzk':function(_0x427f6b,_0x5531fe,_0xc6fbaf,_0x4e35b4){return _0x427f6b(_0x5531fe,_0xc6fbaf,_0x4e35b4);},'blyTX':'\x0a❌\x20Profile\x20setup\x20failed:','YKHrp':function(_0x44551c,_0x18d222){return _0x44551c instanceof _0x18d222;}};if(!_0x360e21['cESBj'](findGitRoot)&&_0xeaba35?.[_0x6b1cb7(0x1bd)]!=='user')return console[_0x6b1cb7(0x1d6)](_0x360e21[_0x6b1cb7(0x1c8)]),{'ready':![],'skipped':!![]};const _0x2f27ca=_0xeaba35?.[_0x6b1cb7(0x1bd)]==='user'?getRangerHomeDir():undefined;if(findExistingEnv(_0x360e21['Iwzkc'],{'locations':[_0x6b1cb7(0x1f4)],'rangerDir':_0x2f27ca}))return console['log']('✓\x20Local\x20profile\x20already\x20exists'),{'ready':!![],'skipped':![]};try{return await _0x360e21[_0x6b1cb7(0x1ee)](addEnv,_0x360e21['Iwzkc'],{'url':_0xeaba35?.['url'],'force':_0xeaba35?.[_0x6b1cb7(0x1d1)],'allowInsecureLocalhost':_0xeaba35?.['allowInsecureLocalhost'],'scope':_0xeaba35?.['scope']},_0xb1eed),{'ready':!![],'skipped':![]};}catch(_0x48785f){return console[_0x6b1cb7(0x19d)](_0x360e21[_0x6b1cb7(0x1bb)],_0x360e21[_0x6b1cb7(0x1cf)](_0x48785f,Error)?_0x48785f[_0x6b1cb7(0x1c9)]:_0x48785f),{'ready':![],'skipped':![]};}}export async function start(_0x5a2647,_0x304970,_0x203715){const _0x2c22ed=_0x2da74d,_0x1415a3={'XnEdk':_0x2c22ed(0x1ef),'BLOPg':function(_0x20b960,_0xf48499){return _0x20b960!==_0xf48499;},'jvhpy':function(_0x25fd8a,_0x4f7db1){return _0x25fd8a+_0x4f7db1;},'AuUDJ':_0x2c22ed(0x1a8),'ixFzC':function(_0xf246a8,_0x4478b3){return _0xf246a8(_0x4478b3);},'foAYr':function(_0x2a8b86){return _0x2a8b86();},'enMgh':_0x2c22ed(0x1dc),'FDGeX':'auth','WtBWX':_0x2c22ed(0x1a4),'hInWv':_0x2c22ed(0x19f),'CfFTr':_0x2c22ed(0x1d0),'McSJc':_0x2c22ed(0x1b2),'ZNxpn':_0x2c22ed(0x1b3),'spNog':function(_0xf79b8f,_0x597d52){return _0xf79b8f(_0x597d52);},'DzuWd':_0x2c22ed(0x1b1),'LoGAz':_0x2c22ed(0x1db),'gNAlV':function(_0x4ac50a,_0x47f8c4){return _0x4ac50a+_0x47f8c4;},'rPKMz':function(_0x417ef1,_0x583285){return _0x417ef1+_0x583285;},'LxWFM':function(_0x46ce8a,_0x1d2430){return _0x46ce8a+_0x1d2430;},'zCIMq':'\x0aIn\x20OpenCode,\x20enable\x20Ranger\x20hooks\x20(run\x20the\x20`ranger_enable`\x20tool)','tQNDs':_0x2c22ed(0x1a2),'AiMOd':'/ranger:enable'};console[_0x2c22ed(0x1d6)](_0x1415a3['XnEdk']);_0x1415a3[_0x2c22ed(0x1c5)](_0x304970?.[_0x2c22ed(0x1bd)],undefined)&&_0x304970[_0x2c22ed(0x1bd)]!==_0x2c22ed(0x1a8)&&(console[_0x2c22ed(0x19d)](_0x1415a3[_0x2c22ed(0x1a7)](_0x2c22ed(0x18f)+String(_0x304970['scope'])+_0x2c22ed(0x1dd),'Setup\x20always\x20installs\x20at\x20user\x20scope\x20now\x20(cloud\x20profiles\x20make\x20')+'project-scope\x20setup\x20obsolete).\x20Drop\x20the\x20--scope\x20flag\x20or\x20pass\x20--scope=user.'),process['exit'](0x1));_0x304970={..._0x304970,'scope':_0x1415a3[_0x2c22ed(0x1a6)]};const _0x4f7060=!_0x1415a3['ixFzC'](existsSync,_0x1415a3['foAYr'](getRangerHomeDir));await ensureRangerDir(_0x1415a3['AuUDJ']);if(_0x304970?.[_0x2c22ed(0x18d)])console[_0x2c22ed(0x1d6)](_0x1415a3['enMgh']),_0x203715?.['trackPhaseEnd'](_0x2c22ed(0x1d2),{'isFirstRun':_0x4f7060,'method':'skipped'});else{_0x203715?.['trackPhaseStart'](_0x1415a3['FDGeX']);const _0x4f4b5d=await _0x1415a3['ixFzC'](authenticate,_0x5a2647);_0x203715?.['trackPhaseEnd'](_0x1415a3['FDGeX'],{'isFirstRun':_0x4f7060,'method':_0x4f4b5d[_0x2c22ed(0x1b4)]});}_0x203715?.[_0x2c22ed(0x1a3)](_0x1415a3[_0x2c22ed(0x1cb)]);_0x304970?.[_0x2c22ed(0x1bf)]?console['log']('✓\x20Skipping\x20Chromium\x20check\x20(--skip-chromium)'):await ensureChromium(_0x304970?.['withDeps']);_0x203715?.['trackPhaseEnd']('chromium',{'isFirstRun':_0x4f7060,'skipped':!!_0x304970?.[_0x2c22ed(0x1bf)]}),console[_0x2c22ed(0x1d6)]('\x0a✅\x20Ranger\x20setup\x20complete!\x0a');const _0x2240e3=_0x304970?.['scope'],_0x40511f=_0x304970?.[_0x2c22ed(0x1c3)]??![];let _0x5d2788=null;_0x40511f?(_0x203715?.[_0x2c22ed(0x1a3)]('plugin'),_0x5d2788=await ensureOpencodePluginConfig(_0x2240e3),_0x203715?.['trackPhaseEnd']('plugin',{'isFirstRun':_0x4f7060,'opencode':!![]})):(_0x203715?.['trackPhaseStart'](_0x1415a3['hInWv']),await ensureClaudePlugin(_0x2240e3),_0x203715?.[_0x2c22ed(0x1ab)](_0x1415a3['hInWv'],{'isFirstRun':_0x4f7060}));if(_0x40511f&&_0x5d2788){_0x203715?.['trackPhaseStart']('skills');try{await installSkill(_0x1415a3['CfFTr'],{'level':_0x5d2788[_0x2c22ed(0x1bd)],'cliVersion':getCurrentVersion(),'platform':'opencode'}),_0x203715?.['trackPhaseEnd'](_0x1415a3['McSJc'],{'isFirstRun':_0x4f7060,'opencode':!![]});}catch(_0x1112cb){console[_0x2c22ed(0x18e)](_0x1415a3['ZNxpn'],_0x1112cb instanceof Error?_0x1112cb['message']:_0x1112cb),_0x203715?.[_0x2c22ed(0x1ab)]('skills',{'isFirstRun':_0x4f7060,'opencode':!![],'failed':!![]});}}else _0x203715?.[_0x2c22ed(0x1a3)](_0x1415a3['McSJc']),await _0x1415a3['spNog'](ensureClaudeSkills,_0x2240e3),_0x203715?.[_0x2c22ed(0x1ab)](_0x1415a3['McSJc'],{'isFirstRun':_0x4f7060});if(_0x304970?.['skipAuth'])console['log'](_0x1415a3[_0x2c22ed(0x1ae)]);else{if(_0x304970?.['url']){_0x203715?.['trackPhaseStart'](_0x1415a3[_0x2c22ed(0x1b7)]);const _0x4d56e1=await ensureLocalEnv({'url':_0x304970['url'],'force':_0x304970?.['force'],'allowInsecureLocalhost':_0x304970?.['allowInsecureLocalhost'],'scope':'user'},_0x203715);_0x203715?.[_0x2c22ed(0x1ab)](_0x1415a3['LoGAz'],{'isFirstRun':_0x4f7060,'profileReady':_0x4d56e1[_0x2c22ed(0x1bc)],'userSkipped':_0x4d56e1[_0x2c22ed(0x1e8)]});}else console[_0x2c22ed(0x1d6)](_0x1415a3[_0x2c22ed(0x1d7)](_0x1415a3['rPKMz'](_0x1415a3[_0x2c22ed(0x1ca)]('\x0aTo\x20set\x20up\x20a\x20profile\x20for\x20your\x20app,\x20run:'+(_0x2c22ed(0x1ed)+bold('ranger\x20profile\x20add\x20<name>')),_0x2c22ed(0x1df)),_0x2c22ed(0x1be)),_0x2c22ed(0x1e6)));}if(_0x40511f)console[_0x2c22ed(0x1d6)](_0x1415a3['zCIMq']),console[_0x2c22ed(0x1d6)](_0x1415a3[_0x2c22ed(0x1cd)]),console['log']('with\x20scenarios\x20describing\x20what\x20to\x20verify\x20and\x20then\x20run\x20browser'),console['log'](_0x2c22ed(0x19b));else{const _0x5c14ae=_0x1415a3[_0x2c22ed(0x1da)](bold,_0x1415a3['AiMOd']);console['log'](_0x2c22ed(0x1f8)+_0x5c14ae+_0x2c22ed(0x1c0)+'\x0aagent\x20like\x20usual.\x20Claude\x20will\x20create\x20a\x20feature\x20review\x20with'+_0x2c22ed(0x1d3)+'\x0averification\x20to\x20check\x20its\x20work\x20as\x20it\x20builds.');}}
|
package/build/commands/status.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
const _0x5eef89=_0x1876;(function(_0x70a5e0,_0x351e6a){const _0x50774e=_0x1876,_0x540809=_0x70a5e0();while(!![]){try{const _0x231a95=parseInt(_0x50774e(0x221))/0x1*(-parseInt(_0x50774e(0x20a))/0x2)+parseInt(_0x50774e(0x1f7))/0x3+parseInt(_0x50774e(0x1d7))/0x4+parseInt(_0x50774e(0x215))/0x5*(parseInt(_0x50774e(0x1ba))/0x6)+parseInt(_0x50774e(0x1ef))/0x7*(-parseInt(_0x50774e(0x1c0))/0x8)+parseInt(_0x50774e(0x1c4))/0x9*(-parseInt(_0x50774e(0x1f5))/0xa)+parseInt(_0x50774e(0x1f4))/0xb;if(_0x231a95===_0x351e6a)break;else _0x540809['push'](_0x540809['shift']());}catch(_0x4b04c6){_0x540809['push'](_0x540809['shift']());}}}(_0x4e45,0xf3e1f));import{readFile,readdir}from'fs/promises';import{join,basename}from'path';import{existsSync}from'fs';import{getToken}from'./utils/keychain.js';import{getCurrentVersion,getLatestVersion}from'./utils/version.js';function _0x4e45(){const _0x2a0325=['TvVQK','3923980JMwmYu','some','\x1b]8;;\x07','isDirectory','API\x20Token:\x20✗\x20Not\x20found','scope','yUqTF','\x20\x20Active:\x20','(not\x20found)','\x20\x20Run:\x20ranger\x20setup\x20[token]','\x20\x20Run:\x20ranger\x20setup\x20--opencode','trim','log','EahJd','sessionUpdatedAt','Version:\x20','\x20\x20Run:\x20ranger\x20profile\x20use\x20<profile-name>\x20\x20(available:\x20','qHOHw','name','fAXzc','encrypted','\x20\x20Project-level:','match','toString','2898SQpdkO','\x0a📊\x20Ranger\x20Status\x0a','settingsPath','isActive','nYHNg','23437359SFcWCG','220QPpTSt','@ranger-testing/opencode-plugin','4637121ZBPcJd','\x20plugin(s)\x20configured','version','stdout','eBZIO','PWPDd','data','filter','LwKEz','DEBUG','\x20profiles\x20configured\x20(','cmvyU','lvdPK','has','length','\x20[local]','opencode-plugin','\x20\x20\x20\x20','includes','10FvSTeN','NBKzB','status','path',':\x20configured','\x1b[1m','No\x20profiles\x20configured','JuWii','\x20\x20\x20\x20Settings:\x20','details','\x20(latest:\x20','6245GvcyrD',':\x20installed\x20(','settings.json','configured','project','kXEpC','glAcb','gOKou','\x20\x20Run:\x20ranger\x20profile\x20ls\x20\x20(list\x20all)','YiVeQ','\x20\x20OpenCode\x20not\x20installed\x20or\x20not\x20available','\x0aRanger\x20has\x20not\x20been\x20initialized\x20in\x20this\x20directory.','133127oRVbFb','iljEz','not_installed','TVVqh','iJZkn','ZNlyL','618pUFTrw','\x20\x20Run:\x20ranger\x20setup\x20[token]\x20\x20(includes\x20plugin\x20installation)','organizationName','unknown','EeyHl','displayName','31168uBAYTR','\x0a\x20\x20No\x20active\x20profile\x20set','auth.json','\x20[cloud]','617112sdLckV','user','AFCfH','vgCQn','merlh','API\x20Token:\x20✓\x20Found\x20but\x20invalid\x20or\x20expired','GwASg','opencode','\x20\x20Not\x20installed','iRQRt','map','API\x20URL:\x20','plaintext','cached\x20(updated\x20','Root:\x20','API\x20Environment:\x20','eGxKV','\x20\x20User-level:'];_0x4e45=function(){return _0x2a0325;};return _0x4e45();}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=_0x136466=>_0x5eef89(0x20f)+_0x136466+'\x1b[0m',link=(_0x1fd636,_0xbe65c8)=>'\x1b]8;;file://'+_0x1fd636+'\x07'+(_0xbe65c8||_0x1fd636)+_0x5eef89(0x1d9);function _0x1876(_0x4e33bc,_0x64e9ba){_0x4e33bc=_0x4e33bc-0x1b9;const _0x4e455a=_0x4e45();let _0x1876b9=_0x4e455a[_0x4e33bc];return _0x1876b9;}async function getOpencodePluginStatus(){const _0x3de4ad=_0x5eef89,_0x16fba0={'eBZIO':_0x3de4ad(0x207),'glAcb':_0x3de4ad(0x223),'HKXIZ':function(_0x25fdb5,_0x55a7e4){return _0x25fdb5(_0x55a7e4);},'IvNkA':function(_0x416456,_0x2e51e9){return _0x416456>_0x2e51e9;},'TvVQK':'not_configured','JuWii':function(_0xaeacac,_0xb6ac07,_0x1ac92c,_0x16febd){return _0xaeacac(_0xb6ac07,_0x1ac92c,_0x16febd);},'EeyHl':'config','lvdPK':_0x3de4ad(0x1fd),'YiVeQ':'close'};return new Promise(_0x112ed1=>{const _0x36354f=_0x3de4ad,_0x26b8f4={'mdGez':_0x16fba0[_0x36354f(0x21b)]},_0x41e89c=_0x16fba0[_0x36354f(0x211)](spawn,_0x36354f(0x1cb),['debug',_0x16fba0[_0x36354f(0x1be)]],{'stdio':['ignore','pipe','pipe']});let _0x3a290b='';_0x41e89c[_0x36354f(0x1fa)]?.['on'](_0x16fba0['lvdPK'],_0x5bb722=>{_0x3a290b+=_0x5bb722['toString']();}),_0x41e89c['stderr']?.['on'](_0x16fba0[_0x36354f(0x203)],_0x340352=>{const _0x142ddc=_0x36354f;_0x3a290b+=_0x340352[_0x142ddc(0x1ee)]();}),_0x41e89c['on']('error',()=>{_0x112ed1({'status':_0x26b8f4['mdGez']});}),_0x41e89c['on'](_0x16fba0[_0x36354f(0x21e)],_0x24b99c=>{const _0x266463=_0x36354f,_0x15c3bf={'nYHNg':function(_0x3b2300,_0x5d3ee9){return _0x3b2300!==_0x5d3ee9;},'iljEz':_0x16fba0[_0x266463(0x1fb)]};if(_0x24b99c!==0x0){_0x112ed1({'status':_0x16fba0[_0x266463(0x21b)]});return;}const _0x7d938=_0x3a290b['trim']();let _0x124c4f=null;if(_0x7d938)try{_0x124c4f=JSON['parse'](_0x7d938);}catch{const _0x1002c7=_0x7d938[_0x266463(0x1ed)](/\{[\s\S]*\}$/);if(_0x1002c7)try{_0x124c4f=JSON['parse'](_0x1002c7[0x0]);}catch{_0x124c4f=null;}}const _0x25f678=Array['isArray'](_0x124c4f?.['plugin'])?_0x124c4f?.['plugin']:[],_0x54f4c5=_0x25f678[_0x266463(0x1d8)](_0x278b27=>{const _0x362812=_0x266463;if(_0x15c3bf[_0x362812(0x1f3)](typeof _0x278b27,'string'))return![];return _0x278b27[_0x362812(0x209)](_0x362812(0x1f6))||_0x278b27['includes'](_0x15c3bf[_0x362812(0x222)]);});if(_0x54f4c5){_0x16fba0['HKXIZ'](_0x112ed1,{'status':_0x266463(0x218),'details':_0x25f678[_0x266463(0x205)]>0x0?_0x25f678[_0x266463(0x205)]+'\x20plugin(s)\x20configured':undefined});return;}if(_0x16fba0['IvNkA'](_0x25f678[_0x266463(0x205)],0x0)){_0x112ed1({'status':_0x16fba0[_0x266463(0x1d6)],'details':_0x25f678['length']+_0x266463(0x1f8)});return;}_0x112ed1({'status':_0x16fba0[_0x266463(0x1d6)]});});});}async function getSkillsFromDir(_0x256c50,_0x39b6e0){const _0x3aa096=_0x5eef89,_0x10e404={'PWPDd':function(_0x45ac91,_0x265894){return _0x45ac91(_0x265894);},'esgPs':function(_0x4c03fc,_0x5f50a7,_0x124971){return _0x4c03fc(_0x5f50a7,_0x124971);},'LwKEz':'SKILL.md','cmvyU':function(_0x811ddd,_0x166d0b){return _0x811ddd(_0x166d0b);}};if(!_0x10e404[_0x3aa096(0x1fc)](existsSync,_0x256c50))return[];const _0x594d11=[];try{const _0x5c6de6=await _0x10e404['esgPs'](readdir,_0x256c50,{'withFileTypes':!![]});for(const _0x2d95b8 of _0x5c6de6){if(_0x2d95b8[_0x3aa096(0x1da)]()){const _0x46c354=join(_0x256c50,_0x2d95b8[_0x3aa096(0x1e9)],_0x10e404[_0x3aa096(0x1ff)]);if(_0x10e404[_0x3aa096(0x202)](existsSync,_0x46c354)){let _0x33498c=_0x2d95b8['name'];try{const _0x33c24f=await readFile(_0x46c354,'utf-8'),_0x5ef705=_0x33c24f[_0x3aa096(0x1ed)](/name:\s*(.+)/);_0x5ef705&&(_0x33498c=_0x5ef705[0x1][_0x3aa096(0x1e2)]());}catch{}_0x594d11['push']({'name':_0x2d95b8[_0x3aa096(0x1e9)],'displayName':_0x33498c,'path':_0x46c354,'level':_0x39b6e0});}}}}catch{return[];}return _0x594d11;}async function getInstalledSkills(){const _0x37c64d=_0x5eef89,_0x43ce51={'hojNz':function(_0x31141e,_0x412574,_0x363286){return _0x31141e(_0x412574,_0x363286);},'TVVqh':function(_0x56aef1){return _0x56aef1();},'iQBGU':'user'},[_0x2b943d,_0x3fc39d]=await Promise['all']([getSkillsFromDir(getProjectSkillsDir(),_0x37c64d(0x219)),_0x43ce51['hojNz'](getSkillsFromDir,_0x43ce51[_0x37c64d(0x224)](getUserSkillsDir),_0x43ce51['iQBGU'])]);return{'project':_0x2b943d,'user':_0x3fc39d};}async function getEnvironments(){const _0xeecf5d=_0x5eef89,_0x3981cf={'iJZkn':function(_0x432d3e,_0x51b22a){return _0x432d3e(_0x51b22a);},'ZNlyL':function(_0x376511,_0xe5b72a,_0x7dab73){return _0x376511(_0xe5b72a,_0x7dab73);},'qHOHw':function(_0x55eafa){return _0x55eafa();},'fAXzc':function(_0xa31fe){return _0xa31fe();}},{envNames:_0x42a5d1,activeEnv:_0x42714d}=await _0x3981cf[_0xeecf5d(0x1e8)](getEnvNames),_0x47bb0c=_0x3981cf[_0xeecf5d(0x1ea)](getRangerDir);if(!_0x3981cf['iJZkn'](existsSync,_0x47bb0c))return{'envs':[],'activeEnv':null};const _0x45706a=_0x42a5d1[_0xeecf5d(0x1ce)](_0x4fdf0c=>{const _0x3c4c6c=_0xeecf5d,_0x56bb70=_0x3981cf[_0x3c4c6c(0x225)](getEnvDir,_0x4fdf0c),_0x30cb31=_0x3981cf[_0x3c4c6c(0x1b9)](join,_0x56bb70,_0x3c4c6c(0x217)),_0x5c91cc=join(_0x56bb70,_0x3c4c6c(0x1c2)),_0x1df43d=_0x3981cf[_0x3c4c6c(0x1b9)](join,_0x56bb70,'auth.json.enc');return{'name':_0x4fdf0c,'settingsPath':_0x3981cf[_0x3c4c6c(0x225)](existsSync,_0x30cb31)?_0x30cb31:_0x3c4c6c(0x1df),'hasPlaintextAuth':_0x3981cf[_0x3c4c6c(0x225)](existsSync,_0x5c91cc),'hasEncryptedAuth':_0x3981cf[_0x3c4c6c(0x225)](existsSync,_0x1df43d),'isActive':_0x4fdf0c===_0x42714d};});return{'envs':_0x45706a,'activeEnv':_0x42714d};}export async function status(){const _0x74912=_0x5eef89,_0xe6627e={'TUSIW':function(_0x1e8b51){return _0x1e8b51();},'vgCQn':function(_0x1a6ad6,_0x3b1a65){return _0x1a6ad6(_0x3b1a65);},'fDKrq':function(_0x4864f4,_0x26e915){return _0x4864f4(_0x26e915);},'Xhsiz':function(_0x14e6e1,_0x2bb096){return _0x14e6e1(_0x2bb096);},'ftuRi':function(_0x39eeb8,_0x414a30){return _0x39eeb8(_0x414a30);},'bpsKo':function(_0x1ce96e){return _0x1ce96e();},'NaWyW':function(_0x238dda){return _0x238dda();},'VZQJe':function(_0x21d46f,_0x4d9787){return _0x21d46f(_0x4d9787);},'Ctnwc':'\x0a---\x20OpenCode\x20Plugin\x20---','yUqTF':function(_0x562b5a,_0x32e418){return _0x562b5a===_0x32e418;},'Vfmcg':function(_0x1ef0ca,_0x4e9891){return _0x1ef0ca(_0x4e9891);},'mAaBp':_0x74912(0x1f6),'AFCfH':'not_configured','XMEXZ':_0x74912(0x1e1),'daDgh':_0x74912(0x21f),'kXEpC':'\x0a---\x20Claude\x20Code\x20Plugin\x20---','merlh':'ranger@trailhead','iRQRt':_0x74912(0x1cc),'NBKzB':_0x74912(0x1bb),'WmyRo':'\x0a---\x20Skills\x20---','wqhbN':function(_0x5ecb6f){return _0x5ecb6f();},'GwASg':function(_0x39b7a6,_0x54170a){return _0x39b7a6+_0x54170a;},'EahJd':function(_0x2f8648,_0x22e3f4){return _0x2f8648>_0x22e3f4;},'gOKou':_0x74912(0x1ec),'JwEaX':_0x74912(0x1d5),'VetBF':'\x0a---\x20Profiles\x20---','TQrJQ':function(_0x30f8be){return _0x30f8be();},'MFdOD':_0x74912(0x210),'SOMxZ':'no\x20session','eGxKV':'\x20(active)','tqICb':'(not\x20found)'};console[_0x74912(0x1e3)](_0x74912(0x1f0));const _0x14284b=process['cwd'](),_0x5b6d39=_0xe6627e['TUSIW'](getRangerDir);if(!_0xe6627e[_0x74912(0x1c7)](existsSync,_0x5b6d39)){console[_0x74912(0x1e3)](_0x74912(0x1d2)+link(_0x14284b,bold(_0xe6627e['fDKrq'](basename,_0x14284b)))),console['log'](_0x74912(0x220)),console['log']('\x20\x20Run:\x20ranger\x20setup\x20[token]\x0a');return;}console['log'](_0x74912(0x1d2)+link(_0x14284b,_0xe6627e['Xhsiz'](bold,_0xe6627e['ftuRi'](basename,_0x14284b))));const _0x56984f=_0xe6627e['bpsKo'](getCurrentVersion),_0x282f9b=_0xe6627e['NaWyW'](getLatestVersion);if(_0x282f9b[_0x74912(0x1f9)]&&_0x282f9b['version']!==_0x56984f)console['log'](_0x74912(0x1e6)+_0x56984f+_0x74912(0x214)+_0x282f9b['version']+')'),console[_0x74912(0x1e3)]('\x20\x20Run:\x20ranger\x20update');else _0x282f9b[_0x74912(0x1f9)]?console[_0x74912(0x1e3)]('Version:\x20'+_0x56984f+'\x20(up\x20to\x20date)'):console[_0x74912(0x1e3)]('Version:\x20'+_0x56984f);const _0x718982=await getToken();if(_0x718982){const _0x5be1f0=await getCurrentUser(_0x718982);_0x5be1f0['success']?console['log']('Organization:\x20'+_0xe6627e['VZQJe'](bold,_0x5be1f0[_0x74912(0x1c5)][_0x74912(0x1bc)])):(console['log'](_0x74912(0x1c9)),console[_0x74912(0x1e3)](_0x74912(0x1e0)));}else console['log'](_0x74912(0x1db)),console[_0x74912(0x1e3)]('\x20\x20Run:\x20ranger\x20setup\x20[token]');process['env'][_0x74912(0x200)]&&(console[_0x74912(0x1e3)](_0x74912(0x1d3)+getCurrentEnvironment()),console['log'](_0x74912(0x1cf)+_0xe6627e['NaWyW'](getApiBaseUrl)));console[_0x74912(0x1e3)](_0xe6627e['Ctnwc']);const _0x5d4ed1=await getOpencodePluginStatus();if(_0xe6627e[_0x74912(0x1dd)](_0x5d4ed1[_0x74912(0x20c)],_0x74912(0x218)))console[_0x74912(0x1e3)]('\x20\x20'+_0xe6627e['Vfmcg'](bold,_0xe6627e['mAaBp'])+_0x74912(0x20e)),_0x5d4ed1['details']&&console[_0x74912(0x1e3)]('\x20\x20'+_0x5d4ed1[_0x74912(0x213)]);else _0xe6627e['yUqTF'](_0x5d4ed1['status'],_0xe6627e[_0x74912(0x1c6)])?(console['log']('\x20\x20Not\x20configured'),_0x5d4ed1[_0x74912(0x213)]&&console['log']('\x20\x20'+_0x5d4ed1['details']),console['log'](_0xe6627e['XMEXZ'])):console[_0x74912(0x1e3)](_0xe6627e['daDgh']);console[_0x74912(0x1e3)](_0xe6627e[_0x74912(0x21a)]);const _0x53a810=await getPluginInfo(_0xe6627e[_0x74912(0x1c8)]);if(_0x53a810){const _0x611d2d=_0x53a810[_0x74912(0x1dc)]||_0x74912(0x1bd),_0x101c47=_0x53a810['enabled']?'enabled':'disabled';console[_0x74912(0x1e3)]('\x20\x20'+bold('ranger@trailhead')+_0x74912(0x216)+_0x611d2d+',\x20'+_0x101c47+')');}else console[_0x74912(0x1e3)](_0xe6627e[_0x74912(0x1cd)]),console[_0x74912(0x1e3)](_0xe6627e[_0x74912(0x20b)]);console[_0x74912(0x1e3)](_0xe6627e['WmyRo']);const {project:_0x4f6f8c,user:_0x4bc40c}=await _0xe6627e['wqhbN'](getInstalledSkills),_0x2d4651=_0x4f6f8c[_0x74912(0x1fe)](_0x1bec69=>RANGER_MANAGED_SKILLS['includes'](_0x1bec69['name'])),_0x9e049f=_0x4bc40c[_0x74912(0x1fe)](_0x54996=>RANGER_MANAGED_SKILLS[_0x74912(0x209)](_0x54996[_0x74912(0x1e9)])),_0x5c46d9=_0xe6627e[_0x74912(0x1ca)](_0x2d4651[_0x74912(0x205)],_0x9e049f['length']);if(_0x5c46d9===0x0)console['log']('No\x20skills\x20installed'),console[_0x74912(0x1e3)]('\x20\x20Run:\x20ranger\x20skillup');else{if(_0xe6627e['EahJd'](_0x2d4651['length'],0x0)){console['log'](_0xe6627e[_0x74912(0x21c)]);for(const _0x1039b0 of _0x2d4651){console['log'](_0x74912(0x208)+_0xe6627e['Xhsiz'](bold,_0x1039b0[_0x74912(0x1bf)])+':\x20'+link(_0x1039b0['path'],basename(_0x1039b0['path'])));}}if(_0x9e049f['length']>0x0){console[_0x74912(0x1e3)](_0xe6627e['JwEaX']);for(const _0x5e442d of _0x9e049f){console['log']('\x20\x20\x20\x20'+bold(_0x5e442d['displayName'])+':\x20'+link(_0x5e442d[_0x74912(0x20d)],_0xe6627e['fDKrq'](basename,_0x5e442d[_0x74912(0x20d)])));}}}console['log'](_0xe6627e['VetBF']);const {envs:_0x4e3f40,activeEnv:_0x1960ea}=await getEnvironments();let _0x362e01=[];if(_0x718982)try{_0x362e01=await _0xe6627e['TQrJQ'](listCloudProfiles);}catch{}const _0x339135=_0xe6627e['GwASg'](_0x4e3f40[_0x74912(0x205)],_0x362e01['length']);if(_0x339135===0x0)console['log'](_0xe6627e['MFdOD']),console['log']('\x20\x20Run:\x20ranger\x20profile\x20add\x20<profile-name>');else{if(_0xe6627e[_0x74912(0x1e4)](_0x339135,0x5)){const _0x2515cf=[];_0x362e01[_0x74912(0x205)]>0x0&&_0x2515cf['push'](_0x362e01[_0x74912(0x205)]+'\x20cloud'),_0x4e3f40['length']>0x0&&_0x2515cf['push'](_0x4e3f40['length']+'\x20local'),console['log'](_0x339135+_0x74912(0x201)+_0x2515cf['join'](',\x20')+')'),_0x1960ea&&console['log'](_0x74912(0x1de)+_0xe6627e['Vfmcg'](bold,_0x1960ea)),console['log'](_0x74912(0x21d));}else{for(const _0x1896ef of _0x362e01){const _0x1dbdfb=_0x1896ef[_0x74912(0x1e9)]===_0x1960ea?'\x20(active)':'';console[_0x74912(0x1e3)]('\x20\x20'+bold(_0x1896ef['name'])+_0x74912(0x1c3)+_0x1dbdfb);const _0xd23674=_0x1896ef[_0x74912(0x1e5)]?_0x74912(0x1d1)+_0x1896ef['sessionUpdatedAt']+')':_0xe6627e['SOMxZ'];console['log']('\x20\x20\x20\x20Session:\x20'+_0xd23674);}const _0x3d6f38=new Set(_0x362e01[_0x74912(0x1ce)](_0x2f6316=>_0x2f6316['name']));for(const _0x32541f of _0x4e3f40){if(_0x3d6f38[_0x74912(0x204)](_0x32541f['name']))continue;const _0x5c97f6=_0x32541f[_0x74912(0x1f2)]?_0xe6627e[_0x74912(0x1d4)]:'',_0x32ac1c=_0x32541f['hasEncryptedAuth']?_0x74912(0x1eb):_0x32541f['hasPlaintextAuth']?_0x74912(0x1d0):'none';console[_0x74912(0x1e3)]('\x20\x20'+bold(_0x32541f[_0x74912(0x1e9)])+_0x74912(0x206)+_0x5c97f6),console['log']('\x20\x20\x20\x20Auth:\x20'+_0x32ac1c),_0x32541f['settingsPath']!==_0xe6627e['tqICb']&&console['log'](_0x74912(0x212)+link(_0x32541f[_0x74912(0x1f1)],basename(_0x32541f['settingsPath'])));}if(!_0x1960ea){console['log'](_0x74912(0x1c1));const _0x2217ed=[..._0x362e01['map'](_0x462aa7=>_0x462aa7['name']),..._0x4e3f40[_0x74912(0x1fe)](_0x1894c3=>!_0x3d6f38[_0x74912(0x204)](_0x1894c3[_0x74912(0x1e9)]))['map'](_0x18b9a4=>_0x18b9a4['name'])];console['log'](_0x74912(0x1e7)+_0x2217ed['join'](',\x20')+')');}}}console[_0x74912(0x1e3)]('');}
|
|
1
|
+
const _0x4c82ba=_0x12af;(function(_0xe4bb85,_0x30ea4c){const _0x39d4d5=_0x12af,_0x5e8797=_0xe4bb85();while(!![]){try{const _0x24cb8e=-parseInt(_0x39d4d5(0x16d))/0x1*(parseInt(_0x39d4d5(0x15a))/0x2)+parseInt(_0x39d4d5(0x1a8))/0x3*(-parseInt(_0x39d4d5(0x180))/0x4)+parseInt(_0x39d4d5(0x1c7))/0x5*(-parseInt(_0x39d4d5(0x15e))/0x6)+parseInt(_0x39d4d5(0x1a3))/0x7*(-parseInt(_0x39d4d5(0x1a1))/0x8)+-parseInt(_0x39d4d5(0x1c9))/0x9*(-parseInt(_0x39d4d5(0x1b5))/0xa)+-parseInt(_0x39d4d5(0x1bd))/0xb+parseInt(_0x39d4d5(0x1cf))/0xc;if(_0x24cb8e===_0x30ea4c)break;else _0x5e8797['push'](_0x5e8797['shift']());}catch(_0x57042d){_0x5e8797['push'](_0x5e8797['shift']());}}}(_0x10f1,0xb3109));import{readFile,readdir}from'fs/promises';function _0x12af(_0x32635f,_0x34924a){_0x32635f=_0x32635f-0x159;const _0x10f140=_0x10f1();let _0x12af86=_0x10f140[_0x32635f];return _0x12af86;}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';function _0x10f1(){const _0x3ba266=['IRRgF','trim','\x0a---\x20Claude\x20Code\x20Plugin\x20---','No\x20profiles\x20configured','\x20\x20Run:\x20ranger\x20skillup','uMyjp','length','\x20\x20Run:\x20ranger\x20setup\x20[token]','parse','20XnpWcm','includes','2897793qQSeGu','unknown','rzUlj','scope','DCjtr','isArray','42210420eJuaFG','join','\x20\x20Run:\x20ranger\x20profile\x20add\x20<profile-name>','2qpbXDR','VosMA','kKXEX','map','1690608cJMtFH','\x0a\x20\x20No\x20active\x20profile\x20set','VAtko','GvDBA','some','debug','Root:\x20','ygLLl','@ranger-testing/opencode-plugin','mjvAa','\x1b[1m','\x20\x20Run:\x20ranger\x20setup\x20[token]\x20\x20(includes\x20plugin\x20installation)','displayName','string','\x1b]8;;file://','417705vVnlSo','sessionUpdatedAt','gqLJX','name','QqRoL','wjZcu','details','\x1b[0m','aAgaj','SKILL.md','stderr','has','ettKr','\x20(up\x20to\x20date)','VMkqh','\x20\x20\x20\x20Session:\x20','\x1b]8;;\x07','OjPyW','\x20[local]','277532xXqIfb','no\x20session','NNMDx','settings.json','close','\x20\x20Run:\x20ranger\x20setup\x20[token]\x0a','HrJqS','user','\x20\x20User-level:','\x20(active)','log','ZbJaX','Sfomy','\x20\x20Not\x20installed','Version:\x20','\x20\x20Run:\x20ranger\x20setup\x20--opencode','\x20\x20Not\x20configured','path','status','jEPqD','SoRJi','toString','not_configured','enabled','filter','(not\x20found)','API\x20Token:\x20✗\x20Not\x20found','configured','\x20\x20OpenCode\x20not\x20installed\x20or\x20not\x20available','WYtOB','\x20\x20\x20\x20Auth:\x20','\x20cloud','yKWGU','57736RWFQHk','cached\x20(updated\x20','14YrgYvp','AKYoX','erqAM','\x0a---\x20OpenCode\x20Plugin\x20---','NsoVO','12LghLrG','hQbSV','\x20\x20Project-level:','none','API\x20Environment:\x20','all','version','push','\x0a📊\x20Ranger\x20Status\x0a','\x20local','mNIGS','cryoN','\x20plugin(s)\x20configured','10yFmKof','ysIRK','oxZeb',':\x20installed\x20(','auth.json.enc','pipe','oROFb','not_installed','13962520ZOJWgc'];_0x10f1=function(){return _0x3ba266;};return _0x10f1();}import{getPluginInfo}from'./utils/claudePlugin.js';import{RANGER_MANAGED_SKILLS}from'./utils/skills.js';import{spawn}from'child_process';const bold=_0xee3f0=>_0x4c82ba(0x168)+_0xee3f0+_0x4c82ba(0x174),link=(_0x1deaa7,_0x2b78ef)=>_0x4c82ba(0x16c)+_0x1deaa7+'\x07'+(_0x2b78ef||_0x1deaa7)+_0x4c82ba(0x17d);async function getOpencodePluginStatus(){const _0x1c27ed=_0x4c82ba,_0x19292e={'GvDBA':function(_0xb850ec,_0x3e5cbe){return _0xb850ec(_0x3e5cbe);},'DCjtr':_0x1c27ed(0x1bc),'pqGOI':_0x1c27ed(0x166),'Jiqhi':function(_0x5f4154,_0x447762){return _0x5f4154!==_0x447762;},'ysIRK':function(_0x230a4a,_0x2f7dfc){return _0x230a4a>_0x2f7dfc;},'VebcZ':'config','QqRoL':'data'};return new Promise(_0x381541=>{const _0x4e2f49=_0x1c27ed,_0x2a6caa={'OjPyW':_0x19292e['pqGOI'],'nKPfe':function(_0x104868,_0x145e12){return _0x19292e['Jiqhi'](_0x104868,_0x145e12);},'jEPqD':function(_0x1c21a5,_0x53c964){return _0x1c21a5(_0x53c964);},'ZbJaX':function(_0x5a77f1,_0x9c743a){const _0x40f308=_0x12af;return _0x19292e[_0x40f308(0x1b6)](_0x5a77f1,_0x9c743a);}},_0x2c3d09=spawn('opencode',[_0x4e2f49(0x163),_0x19292e['VebcZ']],{'stdio':['ignore','pipe',_0x4e2f49(0x1ba)]});let _0x46df61='';_0x2c3d09['stdout']?.['on'](_0x19292e[_0x4e2f49(0x171)],_0x219640=>{const _0xecc37e=_0x4e2f49;_0x46df61+=_0x219640[_0xecc37e(0x195)]();}),_0x2c3d09[_0x4e2f49(0x177)]?.['on'](_0x19292e[_0x4e2f49(0x171)],_0xe7b53b=>{const _0x40fed1=_0x4e2f49;_0x46df61+=_0xe7b53b[_0x40fed1(0x195)]();}),_0x2c3d09['on']('error',()=>{const _0x4d8877=_0x4e2f49;_0x19292e[_0x4d8877(0x161)](_0x381541,{'status':_0x19292e[_0x4d8877(0x1cd)]});}),_0x2c3d09['on'](_0x4e2f49(0x184),_0x5dce03=>{const _0x447eb6=_0x4e2f49,_0x4485f1={'ztuOs':_0x2a6caa[_0x447eb6(0x17e)],'McSPc':'opencode-plugin'};if(_0x2a6caa['nKPfe'](_0x5dce03,0x0)){_0x381541({'status':_0x447eb6(0x1bc)});return;}const _0x48d90c=_0x46df61['trim']();let _0xa434c1=null;if(_0x48d90c)try{_0xa434c1=JSON[_0x447eb6(0x1c6)](_0x48d90c);}catch{const _0x41db38=_0x48d90c['match'](/\{[\s\S]*\}$/);if(_0x41db38)try{_0xa434c1=JSON[_0x447eb6(0x1c6)](_0x41db38[0x0]);}catch{_0xa434c1=null;}}const _0x24fc9a=Array[_0x447eb6(0x1ce)](_0xa434c1?.['plugin'])?_0xa434c1?.['plugin']:[],_0x133391=_0x24fc9a[_0x447eb6(0x162)](_0x23a3fb=>{const _0x27195f=_0x447eb6;if(typeof _0x23a3fb!==_0x27195f(0x16b))return![];return _0x23a3fb[_0x27195f(0x1c8)](_0x4485f1['ztuOs'])||_0x23a3fb[_0x27195f(0x1c8)](_0x4485f1['McSPc']);});if(_0x133391){_0x2a6caa[_0x447eb6(0x193)](_0x381541,{'status':_0x447eb6(0x19b),'details':_0x2a6caa[_0x447eb6(0x18b)](_0x24fc9a[_0x447eb6(0x1c4)],0x0)?_0x24fc9a[_0x447eb6(0x1c4)]+'\x20plugin(s)\x20configured':undefined});return;}if(_0x24fc9a['length']>0x0){_0x381541({'status':_0x447eb6(0x196),'details':_0x24fc9a['length']+_0x447eb6(0x1b4)});return;}_0x2a6caa[_0x447eb6(0x193)](_0x381541,{'status':_0x447eb6(0x196)});});});}async function getSkillsFromDir(_0x31b4b1,_0x56f071){const _0x544875=_0x4c82ba,_0xfcfcfc={'SoRJi':function(_0x40ec9e,_0x312898){return _0x40ec9e(_0x312898);},'HrJqS':function(_0x29489c,_0x6a232e,_0x37d8fc){return _0x29489c(_0x6a232e,_0x37d8fc);},'oROFb':function(_0x485df0,_0x173e8f,_0x581732,_0x5186ab){return _0x485df0(_0x173e8f,_0x581732,_0x5186ab);},'aAgaj':function(_0x5554d0,_0xfae63e){return _0x5554d0(_0xfae63e);},'IRRgF':function(_0x5b41d5,_0x5d65f1,_0x5c3895){return _0x5b41d5(_0x5d65f1,_0x5c3895);}};if(!_0xfcfcfc[_0x544875(0x194)](existsSync,_0x31b4b1))return[];const _0x39d44a=[];try{const _0xd52cff=await _0xfcfcfc[_0x544875(0x186)](readdir,_0x31b4b1,{'withFileTypes':!![]});for(const _0x2f00b7 of _0xd52cff){if(_0x2f00b7['isDirectory']()){const _0x2afdc6=_0xfcfcfc[_0x544875(0x1bb)](join,_0x31b4b1,_0x2f00b7['name'],_0x544875(0x176));if(_0xfcfcfc[_0x544875(0x175)](existsSync,_0x2afdc6)){let _0x3b17b9=_0x2f00b7[_0x544875(0x170)];try{const _0x17e8f8=await _0xfcfcfc[_0x544875(0x1be)](readFile,_0x2afdc6,'utf-8'),_0x1c7f8a=_0x17e8f8['match'](/name:\s*(.+)/);_0x1c7f8a&&(_0x3b17b9=_0x1c7f8a[0x1][_0x544875(0x1bf)]());}catch{}_0x39d44a['push']({'name':_0x2f00b7[_0x544875(0x170)],'displayName':_0x3b17b9,'path':_0x2afdc6,'level':_0x56f071});}}}}catch{return[];}return _0x39d44a;}async function getInstalledSkills(){const _0x306bce=_0x4c82ba,_0x222e21={'mjvAa':function(_0x2974ae){return _0x2974ae();}},[_0x1677ed,_0xf0ec8e]=await Promise[_0x306bce(0x1ad)]([getSkillsFromDir(_0x222e21['mjvAa'](getProjectSkillsDir),'project'),getSkillsFromDir(_0x222e21[_0x306bce(0x167)](getUserSkillsDir),_0x306bce(0x187))]);return{'project':_0x1677ed,'user':_0xf0ec8e};}async function getEnvironments(){const _0x34756e=_0x4c82ba,_0x435f3e={'ttcXg':_0x34756e(0x183),'ettKr':'auth.json','mNIGS':function(_0x557f5c,_0x4983fa,_0x3a76ba){return _0x557f5c(_0x4983fa,_0x3a76ba);},'AbVEC':_0x34756e(0x1b9),'lIohd':_0x34756e(0x199),'erqAM':function(_0xd63e69,_0x4b1000){return _0xd63e69(_0x4b1000);},'NsoVO':function(_0x506b6f,_0x4ee36f){return _0x506b6f(_0x4ee36f);},'JxcRN':function(_0x4ef6a2){return _0x4ef6a2();},'KGyyE':function(_0x40ed5b,_0x3f7b88){return _0x40ed5b(_0x3f7b88);}},{envNames:_0x22cf58,activeEnv:_0x32d0ec}=await getEnvNames(),_0x1e91fb=_0x435f3e['JxcRN'](getRangerDir);if(!_0x435f3e['KGyyE'](existsSync,_0x1e91fb))return{'envs':[],'activeEnv':null};const _0x17178d=_0x22cf58['map'](_0x40c0ac=>{const _0x17dd53=_0x34756e,_0x28cc5e=getEnvDir(_0x40c0ac),_0x5c9db8=join(_0x28cc5e,_0x435f3e['ttcXg']),_0x4b2f29=join(_0x28cc5e,_0x435f3e[_0x17dd53(0x179)]),_0xc64ff6=_0x435f3e[_0x17dd53(0x1b2)](join,_0x28cc5e,_0x435f3e['AbVEC']);return{'name':_0x40c0ac,'settingsPath':existsSync(_0x5c9db8)?_0x5c9db8:_0x435f3e['lIohd'],'hasPlaintextAuth':_0x435f3e[_0x17dd53(0x1a5)](existsSync,_0x4b2f29),'hasEncryptedAuth':_0x435f3e[_0x17dd53(0x1a7)](existsSync,_0xc64ff6),'isActive':_0x40c0ac===_0x32d0ec};});return{'envs':_0x17178d,'activeEnv':_0x32d0ec};}export async function status(){const _0x11fd93=_0x4c82ba,_0x3be2a8={'VMkqh':function(_0x51a861,_0x342e31){return _0x51a861(_0x342e31);},'wjZcu':function(_0xf3f6ff,_0x5abb69,_0x234500){return _0xf3f6ff(_0x5abb69,_0x234500);},'AKYoX':function(_0x301292,_0x58f586){return _0x301292(_0x58f586);},'Sfomy':function(_0x5795d9){return _0x5795d9();},'WYtOB':function(_0x356b5c){return _0x356b5c();},'VosMA':function(_0x27d89d){return _0x27d89d();},'rzUlj':function(_0x50654f){return _0x50654f();},'cryoN':function(_0x302c87,_0xb7b24d){return _0x302c87(_0xb7b24d);},'zDhmg':_0x11fd93(0x166),'NNMDx':_0x11fd93(0x190),'bxlIw':_0x11fd93(0x18f),'yfBqr':_0x11fd93(0x1c0),'DEPFg':'ranger@trailhead','oxZeb':'\x0a---\x20Skills\x20---','gWVwL':function(_0x16b9a5){return _0x16b9a5();},'uqQMA':function(_0x416b2f,_0x401f44){return _0x416b2f+_0x401f44;},'uMyjp':function(_0x264959,_0x34899a){return _0x264959>_0x34899a;},'yKWGU':function(_0x1502b0,_0x596c31,_0x247c10){return _0x1502b0(_0x596c31,_0x247c10);},'ygLLl':function(_0x50f33f){return _0x50f33f();},'JqJen':function(_0x344623,_0x257e09){return _0x344623+_0x257e09;},'byggm':function(_0x5a7ec9,_0x28e425){return _0x5a7ec9>_0x28e425;},'gRzhm':function(_0x7ffcad,_0x231411){return _0x7ffcad(_0x231411);},'kKXEX':_0x11fd93(0x181),'DWVpT':'encrypted','VAtko':_0x11fd93(0x1ab),'lKXtL':function(_0x1ba425,_0x3fd170){return _0x1ba425(_0x3fd170);},'hQbSV':function(_0x343544,_0x806d59){return _0x343544!==_0x806d59;},'gqLJX':'(not\x20found)'};console[_0x11fd93(0x18a)](_0x11fd93(0x1b0));const _0x408cce=process['cwd'](),_0xc255cb=getRangerDir();if(!_0x3be2a8[_0x11fd93(0x17b)](existsSync,_0xc255cb)){console['log'](_0x11fd93(0x164)+_0x3be2a8[_0x11fd93(0x172)](link,_0x408cce,_0x3be2a8['AKYoX'](bold,_0x3be2a8[_0x11fd93(0x1a4)](basename,_0x408cce)))),console['log']('\x0aRanger\x20has\x20not\x20been\x20initialized\x20in\x20this\x20directory.'),console['log'](_0x11fd93(0x185));return;}console[_0x11fd93(0x18a)](_0x11fd93(0x164)+link(_0x408cce,_0x3be2a8['VMkqh'](bold,_0x3be2a8['AKYoX'](basename,_0x408cce))));const _0x39878b=getCurrentVersion(),_0x368c59=_0x3be2a8[_0x11fd93(0x18c)](getLatestVersion);if(_0x368c59[_0x11fd93(0x1ae)]&&_0x368c59[_0x11fd93(0x1ae)]!==_0x39878b)console['log']('Version:\x20'+_0x39878b+'\x20(latest:\x20'+_0x368c59[_0x11fd93(0x1ae)]+')'),console['log']('\x20\x20Run:\x20ranger\x20update');else _0x368c59[_0x11fd93(0x1ae)]?console[_0x11fd93(0x18a)](_0x11fd93(0x18e)+_0x39878b+_0x11fd93(0x17a)):console[_0x11fd93(0x18a)]('Version:\x20'+_0x39878b);const _0x5adbab=await _0x3be2a8[_0x11fd93(0x19d)](getToken);if(_0x5adbab){const _0xf572ca=await getCurrentUser(_0x5adbab);_0xf572ca['success']?console[_0x11fd93(0x18a)]('Organization:\x20'+_0x3be2a8[_0x11fd93(0x1a4)](bold,_0xf572ca[_0x11fd93(0x187)]['organizationName'])):(console['log']('API\x20Token:\x20✓\x20Found\x20but\x20invalid\x20or\x20expired'),console['log']('\x20\x20Run:\x20ranger\x20setup\x20[token]'));}else console['log'](_0x11fd93(0x19a)),console['log'](_0x11fd93(0x1c5));process['env']['DEBUG']&&(console['log'](_0x11fd93(0x1ac)+_0x3be2a8[_0x11fd93(0x15b)](getCurrentEnvironment)),console[_0x11fd93(0x18a)]('API\x20URL:\x20'+_0x3be2a8[_0x11fd93(0x1cb)](getApiBaseUrl)));console[_0x11fd93(0x18a)](_0x11fd93(0x1a6));const _0x53a2fd=await getOpencodePluginStatus();if(_0x53a2fd[_0x11fd93(0x192)]===_0x11fd93(0x19b))console['log']('\x20\x20'+_0x3be2a8[_0x11fd93(0x1b3)](bold,_0x3be2a8['zDhmg'])+':\x20configured'),_0x53a2fd['details']&&console[_0x11fd93(0x18a)]('\x20\x20'+_0x53a2fd[_0x11fd93(0x173)]);else _0x53a2fd[_0x11fd93(0x192)]==='not_configured'?(console[_0x11fd93(0x18a)](_0x3be2a8[_0x11fd93(0x182)]),_0x53a2fd['details']&&console['log']('\x20\x20'+_0x53a2fd[_0x11fd93(0x173)]),console[_0x11fd93(0x18a)](_0x3be2a8['bxlIw'])):console['log'](_0x11fd93(0x19c));console[_0x11fd93(0x18a)](_0x3be2a8['yfBqr']);const _0x467dce=await getPluginInfo('ranger@trailhead');if(_0x467dce){const _0x24317e=_0x467dce[_0x11fd93(0x1cc)]||_0x11fd93(0x1ca),_0x29961a=_0x467dce['enabled']?_0x11fd93(0x197):'disabled';console['log']('\x20\x20'+_0x3be2a8[_0x11fd93(0x1a4)](bold,_0x3be2a8['DEPFg'])+_0x11fd93(0x1b8)+_0x24317e+',\x20'+_0x29961a+')');}else console[_0x11fd93(0x18a)](_0x11fd93(0x18d)),console['log'](_0x11fd93(0x169));console[_0x11fd93(0x18a)](_0x3be2a8[_0x11fd93(0x1b7)]);const {project:_0x26a5e3,user:_0x367520}=await _0x3be2a8['gWVwL'](getInstalledSkills),_0x39a432=_0x26a5e3[_0x11fd93(0x198)](_0x309ea4=>RANGER_MANAGED_SKILLS['includes'](_0x309ea4[_0x11fd93(0x170)])),_0x56bafc=_0x367520[_0x11fd93(0x198)](_0x146a3a=>RANGER_MANAGED_SKILLS['includes'](_0x146a3a[_0x11fd93(0x170)])),_0x37158e=_0x3be2a8['uqQMA'](_0x39a432['length'],_0x56bafc['length']);if(_0x37158e===0x0)console[_0x11fd93(0x18a)]('No\x20skills\x20installed'),console['log'](_0x11fd93(0x1c2));else{if(_0x39a432[_0x11fd93(0x1c4)]>0x0){console[_0x11fd93(0x18a)](_0x11fd93(0x1aa));for(const _0x4cccf5 of _0x39a432){console['log']('\x20\x20\x20\x20'+bold(_0x4cccf5['displayName'])+':\x20'+link(_0x4cccf5[_0x11fd93(0x191)],basename(_0x4cccf5[_0x11fd93(0x191)])));}}if(_0x3be2a8[_0x11fd93(0x1c3)](_0x56bafc['length'],0x0)){console['log'](_0x11fd93(0x188));for(const _0x2fb782 of _0x56bafc){console['log']('\x20\x20\x20\x20'+bold(_0x2fb782[_0x11fd93(0x16a)])+':\x20'+_0x3be2a8[_0x11fd93(0x1a0)](link,_0x2fb782[_0x11fd93(0x191)],basename(_0x2fb782['path'])));}}}console['log']('\x0a---\x20Profiles\x20---');const {envs:_0x17aa6e,activeEnv:_0x5c9658}=await _0x3be2a8[_0x11fd93(0x165)](getEnvironments);let _0x21259c=[];if(_0x5adbab)try{_0x21259c=await listCloudProfiles();}catch{}const _0x405519=_0x3be2a8['JqJen'](_0x17aa6e['length'],_0x21259c[_0x11fd93(0x1c4)]);if(_0x405519===0x0)console['log'](_0x11fd93(0x1c1)),console[_0x11fd93(0x18a)](_0x11fd93(0x159));else{if(_0x405519>0x5){const _0x17ace2=[];_0x3be2a8['byggm'](_0x21259c[_0x11fd93(0x1c4)],0x0)&&_0x17ace2['push'](_0x21259c[_0x11fd93(0x1c4)]+_0x11fd93(0x19f)),_0x17aa6e[_0x11fd93(0x1c4)]>0x0&&_0x17ace2[_0x11fd93(0x1af)](_0x17aa6e[_0x11fd93(0x1c4)]+_0x11fd93(0x1b1)),console[_0x11fd93(0x18a)](_0x405519+'\x20profiles\x20configured\x20('+_0x17ace2['join'](',\x20')+')'),_0x5c9658&&console['log']('\x20\x20Active:\x20'+_0x3be2a8['gRzhm'](bold,_0x5c9658)),console[_0x11fd93(0x18a)]('\x20\x20Run:\x20ranger\x20profile\x20ls\x20\x20(list\x20all)');}else{for(const _0x429a91 of _0x21259c){const _0x1e791b=_0x429a91[_0x11fd93(0x170)]===_0x5c9658?_0x11fd93(0x189):'';console[_0x11fd93(0x18a)]('\x20\x20'+bold(_0x429a91['name'])+'\x20[cloud]'+_0x1e791b);const _0x51f253=_0x429a91['sessionUpdatedAt']?_0x11fd93(0x1a2)+_0x429a91[_0x11fd93(0x16e)]+')':_0x3be2a8[_0x11fd93(0x15c)];console[_0x11fd93(0x18a)](_0x11fd93(0x17c)+_0x51f253);}const _0x306fe8=new Set(_0x21259c[_0x11fd93(0x15d)](_0x34906b=>_0x34906b[_0x11fd93(0x170)]));for(const _0x56cb52 of _0x17aa6e){if(_0x306fe8[_0x11fd93(0x178)](_0x56cb52[_0x11fd93(0x170)]))continue;const _0x3d4b39=_0x56cb52['isActive']?_0x11fd93(0x189):'',_0x12d100=_0x56cb52['hasEncryptedAuth']?_0x3be2a8['DWVpT']:_0x56cb52['hasPlaintextAuth']?'plaintext':_0x3be2a8[_0x11fd93(0x160)];console[_0x11fd93(0x18a)]('\x20\x20'+_0x3be2a8['lKXtL'](bold,_0x56cb52['name'])+_0x11fd93(0x17f)+_0x3d4b39),console[_0x11fd93(0x18a)](_0x11fd93(0x19e)+_0x12d100),_0x3be2a8[_0x11fd93(0x1a9)](_0x56cb52['settingsPath'],_0x3be2a8[_0x11fd93(0x16f)])&&console[_0x11fd93(0x18a)]('\x20\x20\x20\x20Settings:\x20'+link(_0x56cb52['settingsPath'],basename(_0x56cb52['settingsPath'])));}if(!_0x5c9658){console[_0x11fd93(0x18a)](_0x11fd93(0x15f));const _0x55f96d=[..._0x21259c[_0x11fd93(0x15d)](_0x2836b1=>_0x2836b1['name']),..._0x17aa6e[_0x11fd93(0x198)](_0x320fee=>!_0x306fe8['has'](_0x320fee[_0x11fd93(0x170)]))[_0x11fd93(0x15d)](_0x341bf7=>_0x341bf7['name'])];console['log']('\x20\x20Run:\x20ranger\x20profile\x20use\x20<profile-name>\x20\x20(available:\x20'+_0x55f96d[_0x11fd93(0x1d0)](',\x20')+')');}}}console[_0x11fd93(0x18a)]('');}
|