@ranger-testing/ranger-cli 3.1.7-alpha.a5be4ca-60 → 3.1.7-alpha.e26cd28-63
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/actors.js +1 -0
- package/build/commands/utils/agentEnv.js +1 -1
- package/build/commands/utils/browserSessionsApi.js +1 -1
- package/build/commands/utils/claudeConfig.js +1 -1
- package/build/commands/utils/claudeOverrideSettings.js +1 -1
- package/build/commands/utils/claudePlugin.js +1 -1
- package/build/commands/utils/cloudProfile.js +1 -1
- package/build/commands/utils/cloudProfileSession.js +1 -1
- package/build/commands/utils/crypto.js +1 -1
- package/build/commands/utils/desirePathLog.js +1 -1
- package/build/commands/utils/deviceAuth.js +1 -1
- package/build/commands/utils/environment.js +1 -1
- package/build/commands/utils/featureApi.js +1 -1
- package/build/commands/utils/fixWebmDuration.js +1 -1
- package/build/commands/utils/gitTracked.js +1 -1
- package/build/commands/utils/keychain.js +1 -1
- package/build/commands/utils/legacyWarning.js +1 -1
- package/build/commands/utils/localAgentInstallationsApi.js +1 -1
- package/build/commands/utils/matchAuthEnvironment.js +1 -1
- package/build/commands/utils/mcpImageBase64.js +1 -1
- package/build/commands/utils/model.js +1 -1
- package/build/commands/utils/novaActCli.js +1 -1
- package/build/commands/utils/opencodeConfig.js +1 -1
- package/build/commands/utils/organizationEnvApi.js +1 -1
- package/build/commands/utils/playwrightCli.js +1 -1
- package/build/commands/utils/profileMessages.js +1 -1
- package/build/commands/utils/profileSetupBanner.js +1 -1
- package/build/commands/utils/projectsConfig.js +1 -1
- package/build/commands/utils/rangerConfig.js +1 -1
- package/build/commands/utils/rangerRoot.js +1 -1
- package/build/commands/utils/rangerwrightCli.js +1 -1
- package/build/commands/utils/resolveProfileContext.js +1 -1
- package/build/commands/utils/resolveProfileUrl.js +1 -1
- package/build/commands/utils/retry.js +1 -1
- package/build/commands/utils/scenarioOriginCheck.js +1 -1
- package/build/commands/utils/sessionCache.js +1 -1
- package/build/commands/utils/settings.js +1 -1
- package/build/commands/utils/skillContent.js +1 -1
- package/build/commands/utils/skills.js +1 -1
- package/build/commands/utils/stitchWebmFiles.js +1 -1
- package/build/commands/utils/telemetry.js +1 -1
- package/build/commands/utils/tokenRefresh.js +1 -1
- package/build/commands/utils/traceSnapshotMapper.js +1 -1
- package/build/commands/utils/tunnelClient.js +1 -1
- package/build/commands/utils/userApi.js +1 -1
- package/build/commands/utils/version.js +1 -1
- package/build/commands/verifyFeature.js +1 -1
- package/build/commands/verifyFeatureCli.js +1 -1
- package/build/commands/verifyFeatureNovaCli.js +1 -1
- package/build/commands/verifyFeatureRangerwrightCli.js +1 -1
- package/package.json +5 -14
package/build/commands/login.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(
|
|
1
|
+
function _0x2cd5(){const _0x3fea18=['8337NvyqHg','8sBMWHy','Login\x20failed:\x20','organizationName','9MJVUPS','4518uGInyT','11qPzJbA','nZduf','31593048IqUXvU','message','log','2323032EXqrLo','761115XhAVWa','6284552SetGVB','38IRnWPf','5751800XUmXzV','5332smJPXv'];_0x2cd5=function(){return _0x3fea18;};return _0x2cd5();}(function(_0x5e8978,_0x235e09){const _0x171c09=_0x4876,_0x4afc16=_0x5e8978();while(!![]){try{const _0x366dda=-parseInt(_0x171c09(0x7b))/0x1*(-parseInt(_0x171c09(0x79))/0x2)+-parseInt(_0x171c09(0x87))/0x3+-parseInt(_0x171c09(0x7d))/0x4*(parseInt(_0x171c09(0x88))/0x5)+parseInt(_0x171c09(0x81))/0x6*(-parseInt(_0x171c09(0x7c))/0x7)+-parseInt(_0x171c09(0x89))/0x8*(parseInt(_0x171c09(0x80))/0x9)+parseInt(_0x171c09(0x7a))/0xa+parseInt(_0x171c09(0x82))/0xb*(parseInt(_0x171c09(0x84))/0xc);if(_0x366dda===_0x235e09)break;else _0x4afc16['push'](_0x4afc16['shift']());}catch(_0x555622){_0x4afc16['push'](_0x4afc16['shift']());}}}(_0x2cd5,0x85cdc));import{runDeviceAuthFlow}from'./utils/deviceAuth.js';import{getCurrentUser}from'./utils/userApi.js';import{getMcpAuthOrigin,mcpBootstrap}from'./mcpBootstrap.js';import{isInteractive}from'./utils/cloudProfileSession.js';function _0x4876(_0x333f26,_0x198e0c){_0x333f26=_0x333f26-0x79;const _0x2cd589=_0x2cd5();let _0x4876db=_0x2cd589[_0x333f26];return _0x4876db;}export async function login(){const _0x1e2e55=_0x4876,_0x250cb7={'nZduf':function(_0x4a863a){return _0x4a863a();}},_0x41ab7=await getMcpAuthOrigin();if(_0x41ab7){console[_0x1e2e55(0x86)]('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 _0x10319e=await _0x250cb7[_0x1e2e55(0x83)](runDeviceAuthFlow),_0x4c2c9c=await getCurrentUser(_0x10319e);_0x4c2c9c['success']?console['log']('\x0a✅\x20Logged\x20in\x20to\x20'+_0x4c2c9c['user'][_0x1e2e55(0x7f)]):console[_0x1e2e55(0x86)]('\x0a✅\x20API\x20key\x20stored\x20successfully');}catch(_0x14c035){throw new Error(_0x1e2e55(0x7e)+(_0x14c035 instanceof Error?_0x14c035[_0x1e2e55(0x85)]:_0x14c035));}}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const _0x8f908f=_0xe2a9;(function(_0x25b098,_0x63d9d1){const _0x12787a=_0xe2a9,_0x120d8a=_0x25b098();while(!![]){try{const _0x5e7faf=-parseInt(_0x12787a(0x1b4))/0x1*(-parseInt(_0x12787a(0x18d))/0x2)+-parseInt(_0x12787a(0x1c6))/0x3+parseInt(_0x12787a(0x173))/0x4+parseInt(_0x12787a(0x16a))/0x5*(-parseInt(_0x12787a(0x199))/0x6)+parseInt(_0x12787a(0x1d2))/0x7+-parseInt(_0x12787a(0x196))/0x8+-parseInt(_0x12787a(0x192))/0x9;if(_0x5e7faf===_0x63d9d1)break;else _0x120d8a['push'](_0x120d8a['shift']());}catch(_0x2cab1b){_0x120d8a['push'](_0x120d8a['shift']());}}}(_0x2d0f,0x5c44a));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(),_0x8f908f(0x165),_0x8f908f(0x17c)),AUTH_ORIGIN_PATH=join(homedir(),_0x8f908f(0x165),_0x8f908f(0x195));export async function getMcpAuthOrigin(){const _0x2fed4f=_0x8f908f,_0x6364b4={'cvJkT':function(_0x3c9d90,_0x359790,_0x111a10){return _0x3c9d90(_0x359790,_0x111a10);},'dPGbN':function(_0x49936f,_0x98c553){return _0x49936f||_0x98c553;}};try{const _0x300fef=(await _0x6364b4[_0x2fed4f(0x185)](readFile,AUTH_ORIGIN_PATH,_0x2fed4f(0x19d)))[_0x2fed4f(0x1db)]();return _0x6364b4[_0x2fed4f(0x1a3)](_0x300fef,null);}catch{return null;}}export async function mcpBootstrap(){const _0x400247=_0x8f908f,_0x531756={'heKHZ':function(_0x5eeab3,_0x242902){return _0x5eeab3(_0x242902);},'qBORd':function(_0x573a2b,_0x5953b8){return _0x573a2b===_0x5953b8;},'xYDuf':'proxied','YtCWO':_0x400247(0x181),'ARAVl':function(_0x2c53de,_0x12355d){return _0x2c53de(_0x12355d);}},_0x3c465f=getMcpAuthUrl();currentOrigin=_0x3c465f;const _0x72b7d3=process['stdout'][_0x400247(0x1b2)]??![];console['log'](_0x400247(0x1e3)+_0x3c465f+'\x0a');const _0x298816=await _0x531756['heKHZ'](tryUnauthenticated,_0x3c465f);let _0x586f39=null;if(_0x531756['qBORd'](_0x298816,_0x531756['xYDuf']))_0x586f39='';else{_0x586f39=await loadCachedToken();if(!_0x586f39){if(!_0x72b7d3)throw new Error(_0x531756[_0x400247(0x1a1)]+'Run\x20`ranger\x20setup\x20--mcp-bootstrap`\x20interactively\x20first.');_0x586f39=await _0x531756['ARAVl'](oauthFlow,_0x3c465f);}}await callGetCliToken(_0x3c465f,_0x586f39);}async function tryUnauthenticated(_0x2ed40a){const _0x34ed00=_0x8f908f,_0x4a2799={'xPTlO':_0x34ed00(0x1cf),'XOcon':'initialize','bSuDq':'1.0.0','jsahF':'proxied','OLeKD':function(_0x5f044a,_0x2035af){return _0x5f044a===_0x2035af;}},_0x3ed9e0=await fetch(_0x2ed40a,{'method':'POST','headers':{'Content-Type':_0x4a2799[_0x34ed00(0x1ec)],'Accept':_0x34ed00(0x1d8)},'body':JSON['stringify']({'jsonrpc':'2.0','id':0x1,'method':_0x4a2799[_0x34ed00(0x166)],'params':{'protocolVersion':_0x34ed00(0x1ac),'capabilities':{},'clientInfo':{'name':'ranger-cli','version':_0x4a2799['bSuDq']}}})});if(_0x3ed9e0['ok'])return await _0x3ed9e0[_0x34ed00(0x16d)](),_0x4a2799[_0x34ed00(0x172)];if(_0x4a2799['OLeKD'](_0x3ed9e0['status'],0x191))return await _0x3ed9e0[_0x34ed00(0x16d)](),'needs-oauth';const _0x3a940e=await _0x3ed9e0[_0x34ed00(0x16d)]();throw new Error('MCP\x20server\x20returned\x20HTTP\x20'+_0x3ed9e0[_0x34ed00(0x1bd)]+':\x20'+_0x3a940e);}class OAuthTimeoutError extends Error{constructor(_0x109350){const _0x1fd6ee=_0x8f908f,_0xc65988={'UQVYs':'OAuthTimeoutError'};super(_0x109350),this[_0x1fd6ee(0x19c)]=_0xc65988['UQVYs'];}}async function oauthFlow(_0x4f0c26){const _0x33e67e={'aOBOM':'\x0aCached\x20OAuth\x20client\x20may\x20be\x20stale\x20—\x20clearing\x20and\x20retrying...\x0a'};try{return await oauthFlowAttempt(_0x4f0c26);}catch(_0x5bab92){if(_0x5bab92 instanceof OAuthTimeoutError&&await loadCachedClient())return console['log'](_0x33e67e['aOBOM']),await clearCachedClient(),await oauthFlowAttempt(_0x4f0c26);throw _0x5bab92;}}async function oauthFlowAttempt(_0x16e757){const _0x450431=_0x8f908f,_0x31c0a9={'FmvZK':_0x450431(0x18b),'MLpkK':function(_0x2bd944,_0x313135){return _0x2bd944(_0x313135);},'qPqUQ':_0x450431(0x1e6),'jdgfE':function(_0x57a25a,_0xcde350,_0x1dec90){return _0x57a25a(_0xcde350,_0x1dec90);},'kaHzM':_0x450431(0x1c2),'viOPG':'application/json','uLuBB':'authorization_code','boAUe':_0x450431(0x1f0),'gqRbx':_0x450431(0x1a2),'obWaE':_0x450431(0x1c1),'jUljE':'base64url','fRQrK':function(_0x585eaa,_0x50b997){return _0x585eaa(_0x50b997);},'tAVEY':_0x450431(0x1d0),'EOclo':_0x450431(0x171),'uwCUz':'resource','AaJBP':'Exchanging\x20authorization\x20code...','SCbcr':'application/x-www-form-urlencoded'},_0x36541d=_0x16e757[_0x450431(0x16b)](/\/mcp$/,'');process['stdout']['write']('Discovering\x20authorization\x20server...');const _0x49caee=await fetch(_0x36541d+'/.well-known/oauth-protected-resource');if(!_0x49caee['ok'])throw new Error('Could\x20not\x20fetch\x20protected\x20resource\x20metadata\x20from\x20MCP\x20server');const _0x42f225=await _0x49caee[_0x450431(0x1d9)](),_0x475d40=_0x42f225['authorization_servers']?.[0x0];if(!_0x475d40)throw new Error(_0x31c0a9['FmvZK']);console['log']('\x20'+_0x475d40);const _0x33384c=await _0x31c0a9['MLpkK'](fetchAuthServerMetadata,_0x475d40);let _0x240565,_0x445412;const _0x5c7e0e=await loadCachedClient();if(_0x5c7e0e)_0x240565=_0x5c7e0e['clientId'],_0x445412=_0x5c7e0e[_0x450431(0x1c4)];else{if(_0x33384c['registration_endpoint']){process['stdout']['write'](_0x31c0a9['qPqUQ']);const _0x43b6d4=await _0x31c0a9['jdgfE'](fetch,_0x33384c['registration_endpoint'],{'method':_0x31c0a9['kaHzM'],'headers':{'Content-Type':_0x31c0a9[_0x450431(0x1e9)]},'body':JSON[_0x450431(0x168)]({'client_name':'Ranger\x20CLI','redirect_uris':['http://localhost:'+CALLBACK_PORT+_0x450431(0x19f)],'grant_types':[_0x31c0a9['uLuBB'],'refresh_token'],'response_types':[_0x31c0a9[_0x450431(0x176)]],'token_endpoint_auth_method':_0x31c0a9[_0x450431(0x1b9)]})});if(!_0x43b6d4['ok']){const _0x2be979=await _0x43b6d4['text']();throw new Error('Client\x20registration\x20failed:\x20'+_0x2be979);}const _0x5bf598=await _0x43b6d4['json']();_0x240565=_0x5bf598[_0x450431(0x17a)],_0x445412=_0x5bf598['client_secret'],await saveCachedClient(_0x240565,_0x445412),console['log']('\x20done');}else throw new Error(_0x31c0a9[_0x450431(0x1b3)]);}const _0x30ed6b=randomBytes(0x20)['toString'](_0x31c0a9['jUljE']),_0x58c957=createHash(_0x450431(0x1d7))[_0x450431(0x179)](_0x30ed6b)[_0x450431(0x1ce)](_0x450431(0x1dc)),_0x2a52c7=_0x31c0a9['fRQrK'](randomBytes,0x10)[_0x450431(0x190)]('hex'),_0xead34=new URL(_0x33384c['authorization_endpoint']);_0xead34['searchParams']['set'](_0x31c0a9['tAVEY'],_0x450431(0x1f0)),_0xead34[_0x450431(0x187)][_0x450431(0x16f)](_0x450431(0x17a),_0x240565),_0xead34['searchParams'][_0x450431(0x16f)](_0x450431(0x1cc),_0x450431(0x175)+CALLBACK_PORT+_0x450431(0x19f)),_0xead34['searchParams'][_0x450431(0x16f)]('code_challenge',_0x58c957),_0xead34[_0x450431(0x187)]['set'](_0x31c0a9['EOclo'],_0x450431(0x1ba)),_0xead34['searchParams'][_0x450431(0x16f)]('state',_0x2a52c7);_0x42f225[_0x450431(0x1e8)]&&_0xead34[_0x450431(0x187)]['set'](_0x31c0a9[_0x450431(0x1bb)],_0x42f225[_0x450431(0x1e8)]);console['log']('\x0aOpening\x20browser\x20for\x20authentication...'),console[_0x450431(0x1ef)]('If\x20the\x20browser\x20doesn\x27t\x20open,\x20visit:\x0a'+_0xead34[_0x450431(0x190)]()+'\x0a'),await openBrowser(_0xead34['toString']());const _0xf39388=await _0x31c0a9['MLpkK'](waitForCallback,_0x2a52c7);process[_0x450431(0x16c)]['write'](_0x31c0a9[_0x450431(0x191)]);const _0x5d8126=new URLSearchParams({'grant_type':_0x450431(0x1ab),'code':_0xf39388,'redirect_uri':_0x450431(0x175)+CALLBACK_PORT+_0x450431(0x19f),'client_id':_0x240565,'code_verifier':_0x30ed6b});_0x445412&&_0x5d8126['set']('client_secret',_0x445412);_0x42f225['resource']&&_0x5d8126[_0x450431(0x16f)]('resource',_0x42f225[_0x450431(0x1e8)]);const _0xf543d6=await _0x31c0a9[_0x450431(0x1f2)](fetch,_0x33384c['token_endpoint'],{'method':_0x31c0a9['kaHzM'],'headers':{'Content-Type':_0x31c0a9[_0x450431(0x1d3)]},'body':_0x5d8126});if(!_0xf543d6['ok']){const _0x27d1d8=await _0xf543d6[_0x450431(0x16d)]();throw new Error('Token\x20exchange\x20failed:\x20'+_0x27d1d8);}const _0x2f06b8=await _0xf543d6['json']();return console['log']('\x20done'),await saveCachedToken(_0x2f06b8[_0x450431(0x1cd)],_0x2f06b8['refresh_token'],_0x2f06b8[_0x450431(0x1c5)]),_0x2f06b8[_0x450431(0x1cd)];}async function callGetCliToken(_0x38320f,_0x4263c4){const _0x70b135=_0x8f908f,_0x35c12a={'LMLLB':_0x70b135(0x1c2),'cLxlB':function(_0x37251d,_0x5a69d1){return _0x37251d(_0x5a69d1);},'OFnUA':'application/json','wdnvN':_0x70b135(0x1e5),'Ukvbd':function(_0x26e258,_0x243471){return _0x26e258(_0x243471);},'dnxrz':'initialize','qoqfm':'ranger-cli','zvEjk':_0x70b135(0x1ca),'mHdlK':_0x70b135(0x1b6),'kLDxg':_0x70b135(0x1e0),'pjrHR':function(_0x44bab7,_0x160771){return _0x44bab7(_0x160771);},'fYHzB':_0x70b135(0x18c),'tKrTc':function(_0x241b28){return _0x241b28();},'nqFRU':_0x70b135(0x165),'sASrw':function(_0x2dcce5,_0x1656ef,_0x218c97){return _0x2dcce5(_0x1656ef,_0x218c97);},'ROosc':function(_0x3ea921,_0xb39014,_0x4a29ca,_0x26bf9c){return _0x3ea921(_0xb39014,_0x4a29ca,_0x26bf9c);}},_0x1c4a80={'Content-Type':_0x35c12a['OFnUA'],'Accept':_0x70b135(0x1d8)};_0x4263c4&&(_0x1c4a80[_0x70b135(0x182)]='Bearer\x20'+_0x4263c4);const _0x512d89=async _0x1c3a9c=>{const _0x44d38f=_0x70b135,_0x4a9aa1=await fetch(_0x38320f,{'method':_0x35c12a['LMLLB'],'headers':_0x1c4a80,'body':JSON[_0x44d38f(0x168)](_0x1c3a9c)});if(!_0x4a9aa1['ok']){const _0x18454c=await _0x4a9aa1[_0x44d38f(0x16d)]();throw new Error(_0x44d38f(0x18e)+_0x4a9aa1[_0x44d38f(0x1bd)]+':\x20'+_0x18454c);}return _0x35c12a[_0x44d38f(0x1b5)](parseResponse,_0x4a9aa1);};process[_0x70b135(0x16c)]['write'](_0x35c12a[_0x70b135(0x1de)]);const _0xa2cf3a=await _0x35c12a[_0x70b135(0x1eb)](_0x512d89,{'jsonrpc':_0x70b135(0x1e0),'id':0x1,'method':_0x35c12a['dnxrz'],'params':{'protocolVersion':'2025-03-26','capabilities':{},'clientInfo':{'name':_0x35c12a['qoqfm'],'version':_0x35c12a[_0x70b135(0x18f)]}}});if(_0xa2cf3a['error'])throw new Error(_0x70b135(0x1d5)+(_0xa2cf3a[_0x70b135(0x1bf)][_0x70b135(0x1b8)]??JSON[_0x70b135(0x168)](_0xa2cf3a[_0x70b135(0x1bf)])));console['log'](_0x35c12a[_0x70b135(0x1a4)]),await fetch(_0x38320f,{'method':_0x35c12a[_0x70b135(0x19a)],'headers':_0x1c4a80,'body':JSON['stringify']({'jsonrpc':_0x35c12a['kLDxg'],'method':_0x70b135(0x177)})})[_0x70b135(0x16e)](_0x49d1e5=>_0x49d1e5[_0x70b135(0x16d)]()),process['stdout']['write']('Requesting\x20CLI\x20token...');const _0x589a3a=await _0x512d89({'jsonrpc':'2.0','id':0x2,'method':'tools/call','params':{'name':'get_cli_token','arguments':{}}});if(_0x589a3a[_0x70b135(0x1bf)])throw new Error('get_cli_token\x20failed:\x20'+(_0x589a3a['error'][_0x70b135(0x1b8)]??JSON[_0x70b135(0x168)](_0x589a3a['error'])));console[_0x70b135(0x1ef)](_0x35c12a[_0x70b135(0x1a4)]);const _0x875a8c=_0x35c12a['pjrHR'](extractToken,_0x589a3a[_0x70b135(0x1b1)]);if(!_0x875a8c){console[_0x70b135(0x1bf)](_0x35c12a['fYHzB']),console['error'](JSON['stringify'](_0x589a3a['result'],null,0x2));throw new Error(_0x70b135(0x186));}const _0x5f109f=join(_0x35c12a[_0x70b135(0x174)](homedir),_0x35c12a['nqFRU']),_0x1095d8=join(_0x5f109f,_0x70b135(0x17f));await _0x35c12a[_0x70b135(0x1c8)](mkdir,_0x5f109f,{'recursive':!![]}),await _0x35c12a['ROosc'](writeFile,_0x1095d8,_0x875a8c,{'mode':0x180}),await _0x35c12a['ROosc'](writeFile,join(_0x5f109f,'auth-origin.txt'),_0x38320f,{'mode':0x180}),console[_0x70b135(0x1ef)]('\x0aToken\x20written\x20to\x20'+_0x1095d8),console['log']('Run\x20`ranger\x20status`\x20to\x20verify\x20authentication.\x0a');}async function fetchAuthServerMetadata(_0x4fe75f){const _0x3d7fff=_0x8f908f,_0x58681b=_0x4fe75f+'/.well-known/oauth-authorization-server',_0x54c29b=await fetch(_0x58681b);if(!_0x54c29b['ok'])throw new Error(_0x3d7fff(0x1c9)+_0x58681b+':\x20'+_0x54c29b['status']);return _0x54c29b[_0x3d7fff(0x1d9)]();}function _0xe2a9(_0x200ecb,_0x370408){_0x200ecb=_0x200ecb-0x165;const _0x2d0f50=_0x2d0f();let _0xe2a994=_0x2d0f50[_0x200ecb];return _0xe2a994;}function waitForCallback(_0x316a47){const _0x2855c1=_0x8f908f,_0x5828be={'vmgZY':function(_0xa27ce8,_0x493a2c){return _0xa27ce8(_0x493a2c);},'MXeYe':'error','YNsHV':'error_description','EvYMc':function(_0xa330d5){return _0xa330d5();},'abSWj':function(_0x236a98,_0x551adf){return _0x236a98!==_0x551adf;},'rwAWb':'<html><body><h2>Invalid\x20callback</h2><p>Missing\x20code\x20or\x20state\x20mismatch.</p></body></html>','PoNDl':_0x2855c1(0x189),'StlQa':function(_0x20e46c,_0x2c8b30){return _0x20e46c(_0x2c8b30);},'OnmQE':function(_0x5d1aa8){return _0x5d1aa8();}};return new Promise((_0x1286ee,_0x2b0008)=>{const _0x19e14d=_0x2855c1,_0x4b90af=()=>{const _0x2ab27d=_0xe2a9;_0x5ef89f[_0x2ab27d(0x1ea)](),_0x5ef89f['close']();},_0x224bc5=setTimeout(()=>{const _0x3f9beb=_0xe2a9;_0x4b90af(),_0x5828be['vmgZY'](_0x2b0008,new OAuthTimeoutError(_0x3f9beb(0x1c3)));},0x1d4c0),_0x5ef89f=_0x5828be[_0x19e14d(0x1ae)](createServer,(_0x259fc4,_0x29a325)=>{const _0x2dcb74=_0x19e14d,_0x5a8641=new URL(_0x259fc4['url']??'/',_0x2dcb74(0x175)+CALLBACK_PORT);if(_0x5a8641[_0x2dcb74(0x1f1)]!=='/callback'){_0x29a325[_0x2dcb74(0x1da)](0x194),_0x29a325['end']('Not\x20found');return;}const _0x4c1d69=_0x5a8641['searchParams']['get'](_0x2dcb74(0x1f0)),_0x524264=_0x5a8641[_0x2dcb74(0x187)][_0x2dcb74(0x1af)](_0x2dcb74(0x193)),_0x5406e0=_0x5a8641[_0x2dcb74(0x187)][_0x2dcb74(0x1af)](_0x5828be[_0x2dcb74(0x1d4)]);if(_0x5406e0){const _0xd13bc=_0x5a8641['searchParams'][_0x2dcb74(0x1af)](_0x5828be['YNsHV'])??_0x5406e0;_0x29a325['writeHead'](0xc8,{'Content-Type':_0x2dcb74(0x194)}),_0x29a325[_0x2dcb74(0x1dd)](_0x2dcb74(0x1a5)+_0xd13bc+_0x2dcb74(0x1cb)),clearTimeout(_0x224bc5),_0x5828be[_0x2dcb74(0x188)](_0x4b90af),_0x2b0008(new Error('OAuth\x20error:\x20'+_0xd13bc));return;}if(!_0x4c1d69||_0x5828be[_0x2dcb74(0x169)](_0x524264,_0x316a47)){_0x29a325['writeHead'](0x190,{'Content-Type':_0x2dcb74(0x194)}),_0x29a325['end'](_0x5828be['rwAWb']);return;}_0x29a325['writeHead'](0xc8,{'Content-Type':_0x2dcb74(0x194)}),_0x29a325['end'](_0x5828be[_0x2dcb74(0x1a0)]),_0x5828be['StlQa'](clearTimeout,_0x224bc5),_0x5828be[_0x2dcb74(0x1ed)](_0x4b90af),_0x1286ee(_0x4c1d69);});_0x5ef89f[_0x19e14d(0x1e4)](CALLBACK_PORT,'127.0.0.1');});}async function openBrowser(_0xd455ee){const _0xda3d2=_0x8f908f,_0x599035={'xkwCz':'open','dXulO':_0xda3d2(0x180)},_0x1c76c8=process[_0xda3d2(0x1df)]===_0xda3d2(0x17e)?_0x599035[_0xda3d2(0x1e7)]:process['platform']===_0xda3d2(0x1c0)?_0xda3d2(0x183):_0x599035[_0xda3d2(0x1a9)];exec(_0x1c76c8+'\x20\x22'+_0xd455ee+'\x22');}let currentOrigin='';async function loadCachedToken(){const _0x4ba171=_0x8f908f,_0x115401={'fVNOZ':function(_0x8e0e0c,_0x1d09d1,_0x2cb903){return _0x8e0e0c(_0x1d09d1,_0x2cb903);},'PgTtq':'utf-8','rOCPH':function(_0x5ec7a8,_0x12ea9d){return _0x5ec7a8!==_0x12ea9d;}};try{const _0x4b6927=JSON['parse'](await _0x115401['fVNOZ'](readFile,TOKEN_CACHE_PATH,_0x115401['PgTtq']));if(_0x4b6927['origin']&&_0x115401['rOCPH'](_0x4b6927[_0x4ba171(0x170)],currentOrigin))return null;if(_0x4b6927['expiresAt']&&Date['now']()>_0x4b6927['expiresAt'])return null;return _0x4b6927['accessToken']??null;}catch{return null;}}async function saveCachedToken(_0x1a754e,_0x19f746,_0x1ae59d){const _0x20835b=_0x8f908f,_0x181279={'XfFoJ':function(_0x44166a,_0x41ec57){return _0x44166a*_0x41ec57;},'udYMS':function(_0x24c8fa,_0x17034e,_0x3dda0f){return _0x24c8fa(_0x17034e,_0x3dda0f);},'sErxf':function(_0x4f62e3,_0x5e0ef6,_0x47bffa,_0x3efacf){return _0x4f62e3(_0x5e0ef6,_0x47bffa,_0x3efacf);}},_0x47f2a9=await loadCachedData(),_0x15f526={..._0x47f2a9,'origin':currentOrigin,'accessToken':_0x1a754e,'refreshToken':_0x19f746??_0x47f2a9?.['refreshToken'],'expiresAt':_0x1ae59d?Date[_0x20835b(0x1b0)]()+_0x181279[_0x20835b(0x184)](_0x1ae59d,0x3e8):undefined};await mkdir(_0x181279[_0x20835b(0x1e2)](join,homedir(),_0x20835b(0x165)),{'recursive':!![]}),await _0x181279[_0x20835b(0x19b)](writeFile,TOKEN_CACHE_PATH,JSON['stringify'](_0x15f526),{'mode':0x180});}async function loadCachedClient(){const _0x5ef63c=_0x8f908f,_0x4c1348={'XLwdx':function(_0x46a921){return _0x46a921();},'vItLt':function(_0x53b2d0,_0x9863b2){return _0x53b2d0!==_0x9863b2;}},_0x17418e=await _0x4c1348[_0x5ef63c(0x198)](loadCachedData);if(_0x17418e?.[_0x5ef63c(0x170)]&&_0x4c1348['vItLt'](_0x17418e['origin'],currentOrigin))return null;return _0x17418e?.['clientId']?{'clientId':_0x17418e['clientId'],'clientSecret':_0x17418e[_0x5ef63c(0x1c4)]}:null;}async function clearCachedClient(){const _0x33d060=await loadCachedData();if(!_0x33d060)return;const {clientId:_0x19b939,clientSecret:_0x118c13,..._0xba3fc1}=_0x33d060;await writeFile(TOKEN_CACHE_PATH,JSON['stringify'](_0xba3fc1),{'mode':0x180});}async function saveCachedClient(_0x43e812,_0x3cb0d4){const _0x30ae78=_0x8f908f,_0xbaacd2={'LSXLI':function(_0x467c49){return _0x467c49();}},_0x4dcddd=await _0xbaacd2[_0x30ae78(0x1a6)](loadCachedData),_0x512873={..._0x4dcddd,'origin':currentOrigin,'accessToken':_0x4dcddd?.[_0x30ae78(0x178)]??'','clientId':_0x43e812,'clientSecret':_0x3cb0d4};await mkdir(join(_0xbaacd2['LSXLI'](homedir),'.ranger'),{'recursive':!![]}),await writeFile(TOKEN_CACHE_PATH,JSON['stringify'](_0x512873),{'mode':0x180});}async function loadCachedData(){const _0x2f0665=_0x8f908f,_0x381427={'pvkys':function(_0x19b222,_0x2ed0ed,_0x26965a){return _0x19b222(_0x2ed0ed,_0x26965a);},'Htfva':_0x2f0665(0x19d)};try{return JSON['parse'](await _0x381427[_0x2f0665(0x1ad)](readFile,TOKEN_CACHE_PATH,_0x381427[_0x2f0665(0x1a8)]));}catch{return null;}}async function parseResponse(_0x15003c){const _0xc571ab=_0x8f908f,_0x58a21f={'FVQpO':_0xc571ab(0x1be),'yzCkU':function(_0x588bb1,_0x26fe3d){return _0x588bb1!==_0x26fe3d;},'ZRGPa':_0xc571ab(0x1aa)},_0x6bc05=_0x15003c[_0xc571ab(0x1e1)][_0xc571ab(0x1af)](_0xc571ab(0x1bc))??'';if(_0x6bc05['includes'](_0x58a21f[_0xc571ab(0x1a7)])){const _0x36166=await _0x15003c['text']();for(const _0x1ba016 of _0x36166[_0xc571ab(0x1f3)]('\x0a')){const _0x243c4b=_0x1ba016['trim']();if(_0x243c4b['startsWith']('data:')){const _0x4a7a1d=_0x243c4b['slice']('data:'[_0xc571ab(0x1ee)])['trim']();if(!_0x4a7a1d)continue;try{const _0x597ce1=JSON[_0xc571ab(0x1d1)](_0x4a7a1d);if(_0x58a21f[_0xc571ab(0x18a)](_0x597ce1['id'],undefined)||_0x597ce1[_0xc571ab(0x1bf)])return _0x597ce1;}catch{}}}throw new Error(_0x58a21f['ZRGPa']);}return _0x15003c['json']();}function _0x2d0f(){const _0x3ba34e=['POST','OAuth\x20callback\x20timed\x20out\x20after\x202\x20minutes','clientSecret','expires_in','54999JtcToI','content','sASrw','Could\x20not\x20fetch\x20auth\x20server\x20metadata\x20from\x20','1.0.0','</p><p>You\x20can\x20close\x20this\x20window.</p></body></html>','redirect_uri','access_token','digest','application/json','response_type','parse','2649724AYBzsF','SCbcr','MXeYe','MCP\x20initialize\x20failed:\x20','type','sha256','application/json,\x20text/event-stream','json','writeHead','trim','base64url','end','wdnvN','platform','2.0','headers','udYMS','\x0aConnecting\x20to\x20MCP\x20auth\x20server:\x20','listen','Initializing\x20MCP\x20session...','Registering\x20OAuth\x20client...','xkwCz','resource','viOPG','closeAllConnections','Ukvbd','xPTlO','OnmQE','length','log','code','pathname','jdgfE','split','.ranger','XOcon','Unknown\x20error','stringify','abSWj','5GHVijs','replace','stdout','text','then','set','origin','code_challenge_method','jsahF','2266532ycqKUe','tKrTc','http://localhost:','boAUe','notifications/initialized','accessToken','update','client_id','token','mcp-oauth-tokens.json','string','darwin','refresh.txt','xdg-open','MCP\x20server\x20requires\x20authentication\x20but\x20running\x20in\x20non-interactive\x20mode.\x0a','Authorization','start','XfFoJ','cvJkT','Could\x20not\x20extract\x20token\x20from\x20MCP\x20response','searchParams','EvYMc','<html><body><h2>Authenticated!</h2><p>You\x20can\x20close\x20this\x20window\x20and\x20return\x20to\x20the\x20terminal.</p></body></html>','yzCkU','No\x20authorization_servers\x20in\x20protected\x20resource\x20metadata','\x0aUnexpected\x20response\x20structure:','25504VgZjQx','HTTP\x20','zvEjk','toString','AaJBP','1791153QmFLui','state','text/html','auth-origin.txt','2518344rhsUzt','ALUha','XLwdx','1205208rWJikQ','LMLLB','sErxf','name','utf-8','isError','/callback','PoNDl','YtCWO','none','dPGbN','mHdlK','<html><body><h2>Authentication\x20failed</h2><p>','LSXLI','FVQpO','Htfva','dXulO','No\x20JSON-RPC\x20response\x20found\x20in\x20SSE\x20stream','authorization_code','2025-03-26','pvkys','vmgZY','get','now','result','isTTY','obWaE','13osUaOs','cLxlB','\x20done','Server\x20returned\x20error:\x20','message','gqRbx','S256','uwCUz','content-type','status','text/event-stream','error','win32','Authorization\x20server\x20does\x20not\x20support\x20dynamic\x20client\x20registration\x20and\x20no\x20cached\x20client\x20found'];_0x2d0f=function(){return _0x3ba34e;};return _0x2d0f();}function extractToken(_0x2ab3dc){const _0x4e78b8=_0x8f908f,_0x1e5be0={'kulDH':function(_0x51b421,_0x5e3cd4){return _0x51b421===_0x5e3cd4;},'ALUha':'text','hBzfQ':function(_0x1cd911,_0x5ae5c9){return _0x1cd911===_0x5ae5c9;},'NjfGP':_0x4e78b8(0x17d)};if(!_0x2ab3dc)return null;const _0x1ea0bd=_0x2ab3dc['structuredContent'];if(_0x1ea0bd?.[_0x4e78b8(0x17b)]&&_0x1e5be0['kulDH'](typeof _0x1ea0bd[_0x4e78b8(0x17b)],'string'))return _0x1ea0bd[_0x4e78b8(0x17b)];if(_0x2ab3dc[_0x4e78b8(0x19e)]){const _0x40ab20=_0x2ab3dc[_0x4e78b8(0x1c7)];throw new Error(_0x4e78b8(0x1b7)+(_0x40ab20?.[0x0]?.[_0x4e78b8(0x16d)]??_0x4e78b8(0x167)));}const _0x1c0a4b=_0x2ab3dc[_0x4e78b8(0x1c7)];if(_0x1c0a4b)for(const _0x34d8e9 of _0x1c0a4b){if(_0x34d8e9[_0x4e78b8(0x1d6)]===_0x1e5be0[_0x4e78b8(0x197)]&&_0x34d8e9['text']){try{const _0x516009=JSON[_0x4e78b8(0x1d1)](_0x34d8e9[_0x4e78b8(0x16d)]);if(_0x1e5be0['hBzfQ'](typeof _0x516009?.[_0x4e78b8(0x17b)],_0x1e5be0['NjfGP']))return _0x516009['token'];}catch{}const _0x133e80=_0x34d8e9[_0x4e78b8(0x16d)]['match'](/(rngr_[A-Za-z0-9_-]+)/);if(_0x133e80)return _0x133e80[0x1];}}return null;}
|
|
1
|
+
const _0x354988=_0x1e0d;(function(_0x417cbf,_0x2e3064){const _0x4ad99b=_0x1e0d,_0x4878ce=_0x417cbf();while(!![]){try{const _0x755d19=-parseInt(_0x4ad99b(0x256))/0x1+-parseInt(_0x4ad99b(0x220))/0x2*(-parseInt(_0x4ad99b(0x20e))/0x3)+-parseInt(_0x4ad99b(0x241))/0x4*(-parseInt(_0x4ad99b(0x253))/0x5)+parseInt(_0x4ad99b(0x1e5))/0x6*(parseInt(_0x4ad99b(0x242))/0x7)+parseInt(_0x4ad99b(0x20a))/0x8+parseInt(_0x4ad99b(0x24d))/0x9*(parseInt(_0x4ad99b(0x1f7))/0xa)+-parseInt(_0x4ad99b(0x1d4))/0xb*(parseInt(_0x4ad99b(0x1ff))/0xc);if(_0x755d19===_0x2e3064)break;else _0x4878ce['push'](_0x4878ce['shift']());}catch(_0x124f66){_0x4878ce['push'](_0x4878ce['shift']());}}}(_0xe590,0x3b295));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(),_0x354988(0x209),'mcp-oauth-tokens.json'),AUTH_ORIGIN_PATH=join(homedir(),_0x354988(0x209),_0x354988(0x1c5));export async function getMcpAuthOrigin(){const _0x40e904=_0x354988,_0x560aed={'twQte':function(_0x29dcd9,_0x19e84a,_0x220ee7){return _0x29dcd9(_0x19e84a,_0x220ee7);},'ZWZhU':'utf-8'};try{const _0x8f5ce6=(await _0x560aed[_0x40e904(0x1cc)](readFile,AUTH_ORIGIN_PATH,_0x560aed['ZWZhU']))[_0x40e904(0x1f4)]();return _0x8f5ce6||null;}catch{return null;}}export async function mcpBootstrap(){const _0x8c07f7=_0x354988,_0x1d2ea6={'EChTC':function(_0xbd4122){return _0xbd4122();},'zMPrP':function(_0x2f6ed9,_0x25336f){return _0x2f6ed9===_0x25336f;},'XSJtf':_0x8c07f7(0x204),'vfigi':function(_0x14993b,_0x1a7425){return _0x14993b+_0x1a7425;},'frTSv':function(_0x1e503c,_0x42dcf2){return _0x1e503c(_0x42dcf2);}},_0x35e5fc=_0x1d2ea6[_0x8c07f7(0x221)](getMcpAuthUrl);currentOrigin=_0x35e5fc;const _0x3db93c=process[_0x8c07f7(0x1ce)][_0x8c07f7(0x1ea)]??![];console['log'](_0x8c07f7(0x20d)+_0x35e5fc+'\x0a');const _0x50f971=await tryUnauthenticated(_0x35e5fc);let _0x1d8bb3=null;if(_0x1d2ea6[_0x8c07f7(0x246)](_0x50f971,_0x1d2ea6['XSJtf']))_0x1d8bb3='';else{_0x1d8bb3=await loadCachedToken();if(!_0x1d8bb3){if(!_0x3db93c)throw new Error(_0x1d2ea6[_0x8c07f7(0x232)]('MCP\x20server\x20requires\x20authentication\x20but\x20running\x20in\x20non-interactive\x20mode.\x0a','Run\x20`ranger\x20setup\x20--mcp-bootstrap`\x20interactively\x20first.'));_0x1d8bb3=await _0x1d2ea6['frTSv'](oauthFlow,_0x35e5fc);}}await callGetCliToken(_0x35e5fc,_0x1d8bb3);}async function tryUnauthenticated(_0x2259c1){const _0x1aac7c=_0x354988,_0x42cfa2={'FLmze':'POST','QrUwz':_0x1aac7c(0x1d9),'zeaRt':'initialize','GosUc':'2025-03-26','nGUCQ':'1.0.0','AGAcr':'proxied'},_0x5caee1=await fetch(_0x2259c1,{'method':_0x42cfa2[_0x1aac7c(0x1ef)],'headers':{'Content-Type':'application/json','Accept':'application/json,\x20text/event-stream'},'body':JSON['stringify']({'jsonrpc':_0x42cfa2[_0x1aac7c(0x208)],'id':0x1,'method':_0x42cfa2[_0x1aac7c(0x216)],'params':{'protocolVersion':_0x42cfa2[_0x1aac7c(0x1fe)],'capabilities':{},'clientInfo':{'name':_0x1aac7c(0x24c),'version':_0x42cfa2[_0x1aac7c(0x1ca)]}}})});if(_0x5caee1['ok'])return await _0x5caee1['text'](),_0x42cfa2[_0x1aac7c(0x1d8)];if(_0x5caee1['status']===0x191)return await _0x5caee1['text'](),_0x1aac7c(0x1db);const _0x5bc5c0=await _0x5caee1[_0x1aac7c(0x1f6)]();throw new Error(_0x1aac7c(0x24a)+_0x5caee1['status']+':\x20'+_0x5bc5c0);}class OAuthTimeoutError extends Error{constructor(_0x32e94a){super(_0x32e94a),this['name']='OAuthTimeoutError';}}async function oauthFlow(_0x76eeb6){const _0x442d2c=_0x354988,_0x4f4d37={'bsbqn':function(_0x54f0b3){return _0x54f0b3();}};try{return await oauthFlowAttempt(_0x76eeb6);}catch(_0x155d5b){if(_0x155d5b instanceof OAuthTimeoutError&&await _0x4f4d37[_0x442d2c(0x22d)](loadCachedClient))return console[_0x442d2c(0x233)](_0x442d2c(0x250)),await clearCachedClient(),await oauthFlowAttempt(_0x76eeb6);throw _0x155d5b;}}async function oauthFlowAttempt(_0x56de21){const _0xb9a5d8=_0x354988,_0x2509f1={'gimHy':'Discovering\x20authorization\x20server...','fzWzT':function(_0x2b1e02,_0x20ca56){return _0x2b1e02(_0x20ca56);},'ZDPeb':_0xb9a5d8(0x210),'wCKmT':'refresh_token','SVNkd':_0xb9a5d8(0x225),'NkFBQ':_0xb9a5d8(0x24b),'THVPg':_0xb9a5d8(0x255),'IaGwx':_0xb9a5d8(0x254),'ikZnm':'redirect_uri','fDhcJ':_0xb9a5d8(0x1de),'rijgy':'S256','XbxLv':_0xb9a5d8(0x236),'CHZvw':_0xb9a5d8(0x234),'XbzOy':function(_0x4ca687,_0x11bdf1,_0x26718a){return _0x4ca687(_0x11bdf1,_0x26718a);},'wnRgC':_0xb9a5d8(0x227),'qjTLp':function(_0x5dd60c,_0x59956d,_0x3b51e7,_0x324eed){return _0x5dd60c(_0x59956d,_0x3b51e7,_0x324eed);}},_0x3d489b=_0x56de21[_0xb9a5d8(0x22e)](/\/mcp$/,'');process['stdout']['write'](_0x2509f1[_0xb9a5d8(0x1e2)]);const _0x205b1c=await _0x2509f1['fzWzT'](fetch,_0x3d489b+_0xb9a5d8(0x219));if(!_0x205b1c['ok'])throw new Error('Could\x20not\x20fetch\x20protected\x20resource\x20metadata\x20from\x20MCP\x20server');const _0x184acf=await _0x205b1c[_0xb9a5d8(0x243)](),_0x511d0e=_0x184acf['authorization_servers']?.[0x0];if(!_0x511d0e)throw new Error('No\x20authorization_servers\x20in\x20protected\x20resource\x20metadata');console['log']('\x20'+_0x511d0e);const _0x43ccc3=await _0x2509f1['fzWzT'](fetchAuthServerMetadata,_0x511d0e);let _0x33bcaa,_0x304d29;const _0x1ec161=await loadCachedClient();if(_0x1ec161)_0x33bcaa=_0x1ec161['clientId'],_0x304d29=_0x1ec161[_0xb9a5d8(0x1d0)];else{if(_0x43ccc3[_0xb9a5d8(0x1f8)]){process['stdout']['write']('Registering\x20OAuth\x20client...');const _0x1328b2=await fetch(_0x43ccc3[_0xb9a5d8(0x1f8)],{'method':_0xb9a5d8(0x227),'headers':{'Content-Type':'application/json'},'body':JSON[_0xb9a5d8(0x228)]({'client_name':_0xb9a5d8(0x218),'redirect_uris':[_0xb9a5d8(0x231)+CALLBACK_PORT+_0xb9a5d8(0x1ec)],'grant_types':[_0x2509f1[_0xb9a5d8(0x24f)],_0x2509f1['wCKmT']],'response_types':['code'],'token_endpoint_auth_method':'none'})});if(!_0x1328b2['ok']){const _0x4ee10b=await _0x1328b2[_0xb9a5d8(0x1f6)]();throw new Error('Client\x20registration\x20failed:\x20'+_0x4ee10b);}const _0x27a7e2=await _0x1328b2[_0xb9a5d8(0x243)]();_0x33bcaa=_0x27a7e2[_0xb9a5d8(0x23d)],_0x304d29=_0x27a7e2[_0xb9a5d8(0x21a)],await saveCachedClient(_0x33bcaa,_0x304d29),console[_0xb9a5d8(0x233)]('\x20done');}else throw new Error(_0x2509f1['SVNkd']);}const _0x251264=_0x2509f1['fzWzT'](randomBytes,0x20)['toString'](_0xb9a5d8(0x255)),_0x3d3533=_0x2509f1['fzWzT'](createHash,_0x2509f1[_0xb9a5d8(0x202)])[_0xb9a5d8(0x23c)](_0x251264)['digest'](_0x2509f1[_0xb9a5d8(0x21b)]),_0x522c5c=randomBytes(0x10)[_0xb9a5d8(0x1f2)](_0xb9a5d8(0x21d)),_0x1bbbe5=new URL(_0x43ccc3[_0xb9a5d8(0x1d5)]);_0x1bbbe5['searchParams']['set']('response_type',_0x2509f1[_0xb9a5d8(0x1f3)]),_0x1bbbe5[_0xb9a5d8(0x1fb)][_0xb9a5d8(0x238)]('client_id',_0x33bcaa),_0x1bbbe5[_0xb9a5d8(0x1fb)][_0xb9a5d8(0x238)](_0x2509f1[_0xb9a5d8(0x1dd)],'http://localhost:'+CALLBACK_PORT+_0xb9a5d8(0x1ec)),_0x1bbbe5[_0xb9a5d8(0x1fb)]['set']('code_challenge',_0x3d3533),_0x1bbbe5['searchParams']['set'](_0x2509f1[_0xb9a5d8(0x23a)],_0x2509f1['rijgy']),_0x1bbbe5[_0xb9a5d8(0x1fb)]['set']('state',_0x522c5c);_0x184acf['resource']&&_0x1bbbe5['searchParams']['set']('resource',_0x184acf[_0xb9a5d8(0x234)]);console['log'](_0xb9a5d8(0x237)),console[_0xb9a5d8(0x233)]('If\x20the\x20browser\x20doesn\x27t\x20open,\x20visit:\x0a'+_0x1bbbe5['toString']()+'\x0a'),await _0x2509f1['fzWzT'](openBrowser,_0x1bbbe5['toString']());const _0x17973b=await waitForCallback(_0x522c5c);process['stdout']['write'](_0x2509f1[_0xb9a5d8(0x22c)]);const _0x5f3d73=new URLSearchParams({'grant_type':_0xb9a5d8(0x210),'code':_0x17973b,'redirect_uri':_0xb9a5d8(0x231)+CALLBACK_PORT+_0xb9a5d8(0x1ec),'client_id':_0x33bcaa,'code_verifier':_0x251264});_0x304d29&&_0x5f3d73['set'](_0xb9a5d8(0x21a),_0x304d29);_0x184acf['resource']&&_0x5f3d73['set'](_0x2509f1['CHZvw'],_0x184acf[_0xb9a5d8(0x234)]);const _0x5da9a4=await _0x2509f1[_0xb9a5d8(0x1e8)](fetch,_0x43ccc3[_0xb9a5d8(0x212)],{'method':_0x2509f1['wnRgC'],'headers':{'Content-Type':_0xb9a5d8(0x22a)},'body':_0x5f3d73});if(!_0x5da9a4['ok']){const _0x19ea8a=await _0x5da9a4[_0xb9a5d8(0x1f6)]();throw new Error(_0xb9a5d8(0x1da)+_0x19ea8a);}const _0x33d7b8=await _0x5da9a4[_0xb9a5d8(0x243)]();return console[_0xb9a5d8(0x233)]('\x20done'),await _0x2509f1[_0xb9a5d8(0x20b)](saveCachedToken,_0x33d7b8[_0xb9a5d8(0x240)],_0x33d7b8[_0xb9a5d8(0x235)],_0x33d7b8['expires_in']),_0x33d7b8[_0xb9a5d8(0x240)];}async function callGetCliToken(_0x4930ea,_0x441643){const _0xe2f93d=_0x354988,_0x33bc50={'YqdME':function(_0xdb0fd8,_0x3e12c7,_0x2b1f47){return _0xdb0fd8(_0x3e12c7,_0x2b1f47);},'UGrSq':_0xe2f93d(0x227),'dgWTn':function(_0x5b9ea4,_0x1eee8f){return _0x5b9ea4(_0x1eee8f);},'ZWTOk':'application/json,\x20text/event-stream','ONIMt':_0xe2f93d(0x1d6),'aEXVp':function(_0x25547c,_0x91ba1){return _0x25547c(_0x91ba1);},'WTUUy':'initialize','OxcGs':_0xe2f93d(0x1fa),'HDONB':'2.0','stkfZ':'notifications/initialized','kRZOU':'tools/call','CQlue':function(_0x972703,_0x312c5a){return _0x972703(_0x312c5a);},'ACGsK':_0xe2f93d(0x21f),'aXoLT':'Could\x20not\x20extract\x20token\x20from\x20MCP\x20response','bvXVR':function(_0x2387f8,_0x13b5e9,_0x526baf){return _0x2387f8(_0x13b5e9,_0x526baf);},'FwiqA':function(_0x5b07f4){return _0x5b07f4();},'YebKr':function(_0x5721a4,_0x2bef95,_0x4ea92b){return _0x5721a4(_0x2bef95,_0x4ea92b);},'hOtqB':'auth-origin.txt'},_0x5694c3={'Content-Type':_0xe2f93d(0x23e),'Accept':_0x33bc50['ZWTOk']};_0x441643&&(_0x5694c3[_0x33bc50[_0xe2f93d(0x1e9)]]=_0xe2f93d(0x1e4)+_0x441643);const _0x53097b=async _0x4f63f5=>{const _0x18a735=_0xe2f93d,_0x26e5e0=await _0x33bc50['YqdME'](fetch,_0x4930ea,{'method':_0x33bc50[_0x18a735(0x23f)],'headers':_0x5694c3,'body':JSON['stringify'](_0x4f63f5)});if(!_0x26e5e0['ok']){const _0x3c56c7=await _0x26e5e0[_0x18a735(0x1f6)]();throw new Error(_0x18a735(0x22b)+_0x26e5e0[_0x18a735(0x248)]+':\x20'+_0x3c56c7);}return _0x33bc50['dgWTn'](parseResponse,_0x26e5e0);};process[_0xe2f93d(0x1ce)]['write']('Initializing\x20MCP\x20session...');const _0x2e2214=await _0x33bc50['aEXVp'](_0x53097b,{'jsonrpc':_0xe2f93d(0x1d9),'id':0x1,'method':_0x33bc50['WTUUy'],'params':{'protocolVersion':_0xe2f93d(0x1df),'capabilities':{},'clientInfo':{'name':_0xe2f93d(0x24c),'version':'1.0.0'}}});if(_0x2e2214[_0xe2f93d(0x203)])throw new Error('MCP\x20initialize\x20failed:\x20'+(_0x2e2214['error']['message']??JSON['stringify'](_0x2e2214[_0xe2f93d(0x203)])));console[_0xe2f93d(0x233)](_0x33bc50['OxcGs']),await fetch(_0x4930ea,{'method':'POST','headers':_0x5694c3,'body':JSON[_0xe2f93d(0x228)]({'jsonrpc':_0x33bc50[_0xe2f93d(0x21c)],'method':_0x33bc50['stkfZ']})})[_0xe2f93d(0x1f9)](_0x2e82d1=>_0x2e82d1[_0xe2f93d(0x1f6)]()),process['stdout'][_0xe2f93d(0x1ee)](_0xe2f93d(0x229));const _0x46035a=await _0x33bc50[_0xe2f93d(0x20f)](_0x53097b,{'jsonrpc':'2.0','id':0x2,'method':_0x33bc50[_0xe2f93d(0x20c)],'params':{'name':_0xe2f93d(0x224),'arguments':{}}});if(_0x46035a['error'])throw new Error(_0xe2f93d(0x214)+(_0x46035a['error'][_0xe2f93d(0x23b)]??JSON[_0xe2f93d(0x228)](_0x46035a['error'])));console[_0xe2f93d(0x233)](_0xe2f93d(0x1fa));const _0x2bd8ca=_0x33bc50['CQlue'](extractToken,_0x46035a['result']);if(!_0x2bd8ca){console[_0xe2f93d(0x203)](_0x33bc50['ACGsK']),console[_0xe2f93d(0x203)](JSON[_0xe2f93d(0x228)](_0x46035a['result'],null,0x2));throw new Error(_0x33bc50[_0xe2f93d(0x239)]);}const _0x59991e=_0x33bc50[_0xe2f93d(0x201)](join,_0x33bc50['FwiqA'](homedir),_0xe2f93d(0x209)),_0x35fc19=_0x33bc50['YebKr'](join,_0x59991e,_0xe2f93d(0x211));await mkdir(_0x59991e,{'recursive':!![]}),await writeFile(_0x35fc19,_0x2bd8ca,{'mode':0x180}),await writeFile(join(_0x59991e,_0x33bc50[_0xe2f93d(0x205)]),_0x4930ea,{'mode':0x180}),console['log']('\x0aToken\x20written\x20to\x20'+_0x35fc19),console[_0xe2f93d(0x233)]('Run\x20`ranger\x20status`\x20to\x20verify\x20authentication.\x0a');}function _0x1e0d(_0x3c9ddc,_0x4bc6dc){_0x3c9ddc=_0x3c9ddc-0x1c3;const _0xe59096=_0xe590();let _0x1e0d1f=_0xe59096[_0x3c9ddc];return _0x1e0d1f;}async function fetchAuthServerMetadata(_0x32cbe0){const _0x198b4d=_0x354988,_0x2b4149={'Etzdw':function(_0x24b69e,_0x12537e){return _0x24b69e(_0x12537e);}},_0x15904b=_0x32cbe0+_0x198b4d(0x21e),_0x46b9b3=await _0x2b4149['Etzdw'](fetch,_0x15904b);if(!_0x46b9b3['ok'])throw new Error('Could\x20not\x20fetch\x20auth\x20server\x20metadata\x20from\x20'+_0x15904b+':\x20'+_0x46b9b3[_0x198b4d(0x248)]);return _0x46b9b3['json']();}function waitForCallback(_0x23c9da){const _0x16f56c=_0x354988,_0x19bfa0={'tFixY':function(_0x25243a){return _0x25243a();},'DfgDc':'code','IRZOQ':_0x16f56c(0x1e1),'gamJu':'error','OuBgx':'error_description','ctcmW':_0x16f56c(0x1ed),'ndXJM':function(_0x5e040a,_0x530810){return _0x5e040a(_0x530810);},'tvvGr':function(_0x37c928,_0x2fb2d5){return _0x37c928!==_0x2fb2d5;},'DwbjH':'<html><body><h2>Invalid\x20callback</h2><p>Missing\x20code\x20or\x20state\x20mismatch.</p></body></html>','XPlxP':function(_0x209b17,_0x2cc2b7,_0x40eb42){return _0x209b17(_0x2cc2b7,_0x40eb42);}};return new Promise((_0xa84043,_0x32d41b)=>{const _0x59c081=_0x16f56c,_0x233ae9=()=>{const _0x45b0b2=_0x1e0d;_0x20200c['closeAllConnections'](),_0x20200c[_0x45b0b2(0x206)]();},_0x1d6ef4=_0x19bfa0['XPlxP'](setTimeout,()=>{const _0x419831=_0x1e0d;_0x19bfa0[_0x419831(0x1d3)](_0x233ae9),_0x32d41b(new OAuthTimeoutError(_0x419831(0x249)));},0x1d4c0),_0x20200c=createServer((_0x3a476f,_0x3c07c2)=>{const _0x597254=_0x1e0d,_0x2d8484=new URL(_0x3a476f[_0x597254(0x1e6)]??'/',_0x597254(0x231)+CALLBACK_PORT);if(_0x2d8484[_0x597254(0x222)]!==_0x597254(0x1ec)){_0x3c07c2['writeHead'](0x194),_0x3c07c2['end']('Not\x20found');return;}const _0xa939c3=_0x2d8484['searchParams']['get'](_0x19bfa0['DfgDc']),_0x1a940b=_0x2d8484[_0x597254(0x1fb)]['get'](_0x19bfa0['IRZOQ']),_0x4daff9=_0x2d8484[_0x597254(0x1fb)][_0x597254(0x24e)](_0x19bfa0[_0x597254(0x1f1)]);if(_0x4daff9){const _0x49e500=_0x2d8484[_0x597254(0x1fb)]['get'](_0x19bfa0[_0x597254(0x1d7)])??_0x4daff9;_0x3c07c2['writeHead'](0xc8,{'Content-Type':_0x19bfa0['ctcmW']}),_0x3c07c2['end']('<html><body><h2>Authentication\x20failed</h2><p>'+_0x49e500+'</p><p>You\x20can\x20close\x20this\x20window.</p></body></html>'),_0x19bfa0[_0x597254(0x1d2)](clearTimeout,_0x1d6ef4),_0x19bfa0['tFixY'](_0x233ae9),_0x19bfa0['ndXJM'](_0x32d41b,new Error('OAuth\x20error:\x20'+_0x49e500));return;}if(!_0xa939c3||_0x19bfa0['tvvGr'](_0x1a940b,_0x23c9da)){_0x3c07c2['writeHead'](0x190,{'Content-Type':_0x19bfa0[_0x597254(0x251)]}),_0x3c07c2[_0x597254(0x247)](_0x19bfa0['DwbjH']);return;}_0x3c07c2[_0x597254(0x1e7)](0xc8,{'Content-Type':_0x19bfa0['ctcmW']}),_0x3c07c2['end']('<html><body><h2>Authenticated!</h2><p>You\x20can\x20close\x20this\x20window\x20and\x20return\x20to\x20the\x20terminal.</p></body></html>'),clearTimeout(_0x1d6ef4),_0x233ae9(),_0xa84043(_0xa939c3);});_0x20200c[_0x59c081(0x1cf)](CALLBACK_PORT,_0x59c081(0x1c4));});}async function openBrowser(_0x1282f){const _0x11b674=_0x354988,_0x7b7f43={'IjxEl':function(_0x3da70a,_0x1cdeb1){return _0x3da70a===_0x1cdeb1;},'zGVnW':_0x11b674(0x1cd),'XlpXx':'start','XujNM':_0x11b674(0x257)},_0x3e655e=_0x7b7f43[_0x11b674(0x223)](process[_0x11b674(0x1c7)],_0x11b674(0x215))?_0x7b7f43['zGVnW']:_0x7b7f43['IjxEl'](process[_0x11b674(0x1c7)],_0x11b674(0x1f0))?_0x7b7f43[_0x11b674(0x258)]:_0x7b7f43[_0x11b674(0x1fc)];exec(_0x3e655e+'\x20\x22'+_0x1282f+'\x22');}let currentOrigin='';async function loadCachedToken(){const _0x51564e=_0x354988,_0x4b4b97={'bKGwW':function(_0x95774b,_0x3d795a,_0x3ded09){return _0x95774b(_0x3d795a,_0x3ded09);},'noMTV':function(_0x778f82,_0x84a01c){return _0x778f82!==_0x84a01c;}};try{const _0x1e5f40=JSON['parse'](await _0x4b4b97['bKGwW'](readFile,TOKEN_CACHE_PATH,_0x51564e(0x1fd)));if(_0x1e5f40[_0x51564e(0x1cb)]&&_0x4b4b97['noMTV'](_0x1e5f40[_0x51564e(0x1cb)],currentOrigin))return null;if(_0x1e5f40['expiresAt']&&Date['now']()>_0x1e5f40['expiresAt'])return null;return _0x1e5f40['accessToken']??null;}catch{return null;}}function _0xe590(){const _0x558113=['OuBgx','AGAcr','2.0','Token\x20exchange\x20failed:\x20','needs-oauth','SdOIx','ikZnm','code_challenge_method','2025-03-26','string','state','gimHy','DIwmz','Bearer\x20','6HQbguk','url','writeHead','XbzOy','ONIMt','isTTY','token','/callback','text/html','write','FLmze','win32','gamJu','toString','IaGwx','trim','HJxYa','text','20qXaJYd','registration_endpoint','then','\x20done','searchParams','XujNM','utf-8','GosUc','12VlwpNd','clientId','bvXVR','NkFBQ','error','proxied','hOtqB','close','data:','QrUwz','.ranger','1334512hTrebq','qjTLp','kRZOU','\x0aConnecting\x20to\x20MCP\x20auth\x20server:\x20','3unExwX','dgWTn','authorization_code','refresh.txt','token_endpoint','includes','get_cli_token\x20failed:\x20','darwin','zeaRt','accessToken','Ranger\x20CLI','/.well-known/oauth-protected-resource','client_secret','THVPg','HDONB','hex','/.well-known/oauth-authorization-server','\x0aUnexpected\x20response\x20structure:','473078IyGDjg','EChTC','pathname','IjxEl','get_cli_token','Authorization\x20server\x20does\x20not\x20support\x20dynamic\x20client\x20registration\x20and\x20no\x20cached\x20client\x20found','length','POST','stringify','Requesting\x20CLI\x20token...','application/x-www-form-urlencoded','HTTP\x20','XbxLv','bsbqn','replace','KoWJc','match','http://localhost:','vfigi','log','resource','refresh_token','Exchanging\x20authorization\x20code...','\x0aOpening\x20browser\x20for\x20authentication...','set','aXoLT','fDhcJ','message','update','client_id','application/json','UGrSq','access_token','216BzlZFU','1847468nrPrDR','json','now','rvluv','zMPrP','end','status','OAuth\x20callback\x20timed\x20out\x20after\x202\x20minutes','MCP\x20server\x20returned\x20HTTP\x20','sha256','ranger-cli','70677hXijDO','get','ZDPeb','\x0aCached\x20OAuth\x20client\x20may\x20be\x20stale\x20—\x20clearing\x20and\x20retrying...\x0a','ctcmW','lMeTQ','15025CjaTCm','code','base64url','129542oZDfXv','xdg-open','XlpXx','ofQvi','127.0.0.1','auth-origin.txt','pLVUQ','platform','slice','text/event-stream','nGUCQ','origin','twQte','open','stdout','listen','clientSecret','synkn','ndXJM','tFixY','5207246cpyeCe','authorization_endpoint','Authorization'];_0xe590=function(){return _0x558113;};return _0xe590();}async function saveCachedToken(_0x179ecc,_0x988cf1,_0x55c53a){const _0x1b8a45=_0x354988,_0x2e6182={'DIwmz':function(_0x49a3ae){return _0x49a3ae();},'SdOIx':function(_0x4988dd,_0x2d7db5){return _0x4988dd+_0x2d7db5;},'ofQvi':function(_0x1da051,_0x1a8fa4){return _0x1da051*_0x1a8fa4;},'LeCzm':function(_0x4c3e7e,_0x2f5dad,_0x43ec4d){return _0x4c3e7e(_0x2f5dad,_0x43ec4d);}},_0x5705cd=await _0x2e6182[_0x1b8a45(0x1e3)](loadCachedData),_0x538a9e={..._0x5705cd,'origin':currentOrigin,'accessToken':_0x179ecc,'refreshToken':_0x988cf1??_0x5705cd?.['refreshToken'],'expiresAt':_0x55c53a?_0x2e6182[_0x1b8a45(0x1dc)](Date[_0x1b8a45(0x244)](),_0x2e6182[_0x1b8a45(0x1c3)](_0x55c53a,0x3e8)):undefined};await _0x2e6182['LeCzm'](mkdir,join(homedir(),_0x1b8a45(0x209)),{'recursive':!![]}),await writeFile(TOKEN_CACHE_PATH,JSON['stringify'](_0x538a9e),{'mode':0x180});}async function loadCachedClient(){const _0x70329f=_0x354988,_0x45cb46={'JcLDe':function(_0x3c302a,_0x37b325){return _0x3c302a!==_0x37b325;}},_0x522ea2=await loadCachedData();if(_0x522ea2?.[_0x70329f(0x1cb)]&&_0x45cb46['JcLDe'](_0x522ea2['origin'],currentOrigin))return null;return _0x522ea2?.[_0x70329f(0x200)]?{'clientId':_0x522ea2['clientId'],'clientSecret':_0x522ea2['clientSecret']}:null;}async function clearCachedClient(){const _0x3b8525=_0x354988,_0x117132={'WcyRD':function(_0x38fde2){return _0x38fde2();}},_0x43e873=await _0x117132['WcyRD'](loadCachedData);if(!_0x43e873)return;const {clientId:_0x36b1bb,clientSecret:_0x35bb07,..._0x9467a}=_0x43e873;await writeFile(TOKEN_CACHE_PATH,JSON[_0x3b8525(0x228)](_0x9467a),{'mode':0x180});}async function saveCachedClient(_0x2ba5e3,_0x5d03ac){const _0x3a9961=_0x354988,_0x1e3ece={'KGVgP':function(_0xb9bda1){return _0xb9bda1();},'TUfBX':'.ranger'},_0x5c8290=await loadCachedData(),_0x4b2e90={..._0x5c8290,'origin':currentOrigin,'accessToken':_0x5c8290?.[_0x3a9961(0x217)]??'','clientId':_0x2ba5e3,'clientSecret':_0x5d03ac};await mkdir(join(_0x1e3ece['KGVgP'](homedir),_0x1e3ece['TUfBX']),{'recursive':!![]}),await writeFile(TOKEN_CACHE_PATH,JSON['stringify'](_0x4b2e90),{'mode':0x180});}async function loadCachedData(){const _0x44d8a0=_0x354988,_0x4dbfba={'OMlBp':_0x44d8a0(0x1fd)};try{return JSON['parse'](await readFile(TOKEN_CACHE_PATH,_0x4dbfba['OMlBp']));}catch{return null;}}async function parseResponse(_0x67d3d7){const _0x29ea2b=_0x354988,_0x5a1b62={'HJxYa':'content-type','rvluv':_0x29ea2b(0x207),'pLVUQ':function(_0x4d7fd3,_0x3bd0bd){return _0x4d7fd3!==_0x3bd0bd;}},_0x40fd48=_0x67d3d7['headers']['get'](_0x5a1b62[_0x29ea2b(0x1f5)])??'';if(_0x40fd48[_0x29ea2b(0x213)](_0x29ea2b(0x1c9))){const _0x4c80a9=await _0x67d3d7[_0x29ea2b(0x1f6)]();for(const _0x3fe101 of _0x4c80a9['split']('\x0a')){const _0x434f2a=_0x3fe101['trim']();if(_0x434f2a['startsWith'](_0x5a1b62[_0x29ea2b(0x245)])){const _0x53f636=_0x434f2a[_0x29ea2b(0x1c8)](_0x5a1b62[_0x29ea2b(0x245)][_0x29ea2b(0x226)])[_0x29ea2b(0x1f4)]();if(!_0x53f636)continue;try{const _0x3219fe=JSON['parse'](_0x53f636);if(_0x5a1b62[_0x29ea2b(0x1c6)](_0x3219fe['id'],undefined)||_0x3219fe['error'])return _0x3219fe;}catch{}}}throw new Error('No\x20JSON-RPC\x20response\x20found\x20in\x20SSE\x20stream');}return _0x67d3d7['json']();}function extractToken(_0x304adf){const _0xaefe07=_0x354988,_0x386ed4={'RBNAu':function(_0x4d0e98,_0xc9a3a7){return _0x4d0e98===_0xc9a3a7;},'synkn':'Unknown\x20error','lMeTQ':_0xaefe07(0x1f6),'KoWJc':'string'};if(!_0x304adf)return null;const _0x4a3430=_0x304adf['structuredContent'];if(_0x4a3430?.['token']&&_0x386ed4['RBNAu'](typeof _0x4a3430[_0xaefe07(0x1eb)],_0xaefe07(0x1e0)))return _0x4a3430[_0xaefe07(0x1eb)];if(_0x304adf['isError']){const _0x6fba15=_0x304adf['content'];throw new Error('Server\x20returned\x20error:\x20'+(_0x6fba15?.[0x0]?.[_0xaefe07(0x1f6)]??_0x386ed4[_0xaefe07(0x1d1)]));}const _0x34fb93=_0x304adf['content'];if(_0x34fb93)for(const _0x122429 of _0x34fb93){if(_0x122429['type']===_0x386ed4[_0xaefe07(0x252)]&&_0x122429[_0xaefe07(0x1f6)]){try{const _0x292c02=JSON['parse'](_0x122429[_0xaefe07(0x1f6)]);if(typeof _0x292c02?.['token']===_0x386ed4[_0xaefe07(0x22f)])return _0x292c02[_0xaefe07(0x1eb)];}catch{}const _0x5df291=_0x122429['text'][_0xaefe07(0x230)](/(rngr_[A-Za-z0-9_-]+)/);if(_0x5df291)return _0x5df291[0x1];}}return null;}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(
|
|
1
|
+
(function(_0x45187d,_0x367f36){var _0xe7161c=_0x5b54,_0x2ac235=_0x45187d();while(!![]){try{var _0x1b5298=parseInt(_0xe7161c(0x180))/0x1*(parseInt(_0xe7161c(0x173))/0x2)+parseInt(_0xe7161c(0x17d))/0x3*(parseInt(_0xe7161c(0x171))/0x4)+parseInt(_0xe7161c(0x178))/0x5+parseInt(_0xe7161c(0x184))/0x6+-parseInt(_0xe7161c(0x17f))/0x7+parseInt(_0xe7161c(0x175))/0x8*(-parseInt(_0xe7161c(0x17a))/0x9)+parseInt(_0xe7161c(0x177))/0xa*(-parseInt(_0xe7161c(0x17e))/0xb);if(_0x1b5298===_0x367f36)break;else _0x2ac235['push'](_0x2ac235['shift']());}catch(_0x2a75ce){_0x2ac235['push'](_0x2ac235['shift']());}}}(_0x2ac7,0xbb90c));function _0x5b54(_0x16d13f,_0x5dc7ee){_0x16d13f=_0x16d13f-0x171;var _0x2ac760=_0x2ac7();var _0x5b5472=_0x2ac760[_0x16d13f];return _0x5b5472;}export async function migrateProfile(_0x24b795,_0x3bb19e){var _0x430f03=_0x5b54,_0x3e9aea={'dHHMS':function(_0x2dccd4,_0x53a2ae){return _0x2dccd4+_0x53a2ae;},'XIWik':function(_0x2f0e23,_0x53b342){return _0x2f0e23+_0x53b342;},'RaXLg':'To\x20set\x20up\x20a\x20fresh\x20profile,\x20run:\x0a','OryKc':_0x430f03(0x172),'poQaS':_0x430f03(0x17c),'EcLxm':'Existing\x20sessions\x20in\x20your\x20old\x20<project>/.ranger/\x20dirs\x20still\x20work\x20as\x20a\x0a','PJYuJ':_0x430f03(0x174)};console[_0x430f03(0x17b)](_0x3e9aea['dHHMS'](_0x3e9aea['dHHMS'](_0x3e9aea[_0x430f03(0x179)](_0x3e9aea[_0x430f03(0x179)](_0x430f03(0x183)+'\x0a'+_0x3e9aea['RaXLg'],_0x3e9aea['OryKc']),'\x0a'),_0x3e9aea['poQaS'])+_0x430f03(0x181)+'\x0a',_0x3e9aea[_0x430f03(0x182)])+_0x3e9aea[_0x430f03(0x176)]),process['exit'](0x1);}function _0x2ac7(){var _0x501c24=['5830935WvZnZM','654171jMsCAx','1Ptmkqp','\x20\x20https://docs.ranger.net/main/concepts/profiles\x0a','EcLxm','ranger\x20profile\x20migrate\x20is\x20no\x20longer\x20supported.\x0a','2513394GNBwnJ','47492QnGbNU','\x20\x20ranger\x20profile\x20add\x20<name>\x0a','538310cLaqpW','fallback;\x20you\x20can\x20delete\x20them\x20once\x20you\x20have\x20re-auth-ed.','8jRkLLw','PJYuJ','30LbGmOs','4493580EYbdYT','XIWik','2364561vwZweI','error','For\x20CI\x20/\x20background\x20agents\x20and\x20other\x20setup\x20options,\x20see:\x0a','285OQiqZV'];_0x2ac7=function(){return _0x501c24;};return _0x2ac7();}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(
|
|
1
|
+
(function(_0x308fb8,_0x4f0dbf){const _0x33eca3=_0x1d7d,_0x1c011a=_0x308fb8();while(!![]){try{const _0x9ec95=-parseInt(_0x33eca3(0xa6))/0x1*(-parseInt(_0x33eca3(0xba))/0x2)+-parseInt(_0x33eca3(0xb5))/0x3+-parseInt(_0x33eca3(0xa4))/0x4+parseInt(_0x33eca3(0xac))/0x5+-parseInt(_0x33eca3(0xb1))/0x6+-parseInt(_0x33eca3(0xb7))/0x7+parseInt(_0x33eca3(0xa7))/0x8;if(_0x9ec95===_0x4f0dbf)break;else _0x1c011a['push'](_0x1c011a['shift']());}catch(_0x5bc3ad){_0x1c011a['push'](_0x1c011a['shift']());}}}(_0x535b,0xbefd9));import{join}from'path';import{existsSync}from'fs';function _0x535b(){const _0x19556c=['YaXmb','list','prompt','✓\x20Claude\x20Code\x20plugin\x20already\x20installed','150310oMpyFT','user','\x0aYou\x20can\x20install\x20manually\x20with:','pOGUH','wOxNk','5205720yEsoPe','Project\x20(shared\x20with\x20team\x20via\x20git)','marketplace','ARmVN','1772244hlkMZw','LFHrv','5878502gHYHVG','User\x20(available\x20in\x20all\x20your\x20projects)','trailhead','6414nOzenj','plugin','VmWSC','pluginScope','confirm','TYsfL','RMBFA','dHVLo','VpfbI','ujdkk','log','ranger@trailhead','project','✓\x20Ranger\x20skills\x20already\x20installed','.claude','✓\x20Claude\x20Code\x20plugin\x20enabled','Would\x20you\x20like\x20to\x20install\x20skills?','install','WrEqk','enable','lPHsW','error','LzlSE','✓\x20Claude\x20Code\x20plugin\x20installed\x20successfully','faGku','ujwuy','1715144mQTOkf','\x0aInstalling\x20Claude\x20Code\x20plugin\x20(','399UIjQNa','17596656gzUZAO'];_0x535b=function(){return _0x19556c;};return _0x535b();}import _0x49e465 from'inquirer';import{skillup}from'../skillup.js';import{runClaudeCommand,isMarketplaceAdded,isPluginInstalled}from'../utils/claudePlugin.js';import{getProjectRoot,getSkillsDir}from'../utils/claudeConfig.js';function _0x1d7d(_0x503912,_0x38d157){_0x503912=_0x503912-0xa3;const _0x535bd6=_0x535b();let _0x1d7dd3=_0x535bd6[_0x503912];return _0x1d7dd3;}export async function ensureClaudePlugin(_0x477c2f){const _0x213112=_0x1d7d,_0x38f6f3={'pOGUH':function(_0x25a209,_0x17922e){return _0x25a209(_0x17922e);},'xaYWV':'ranger@trailhead','QTUTJ':_0x213112(0xab),'faGku':'.claude','WrEqk':'project','ujdkk':'\x0a📦\x20Claude\x20Code\x20Plugin\x0a','gYwah':_0x213112(0xa9),'MaKbf':_0x213112(0xbd),'RDsMS':'Where\x20should\x20the\x20plugin\x20be\x20installed?','ujwuy':_0x213112(0xb8),'VmWSC':_0x213112(0xad),'JwkEs':_0x213112(0xb2),'TvEWR':'✓\x20Marketplace\x20already\x20added','TYsfL':function(_0x15f5ae,_0x323f5e){return _0x15f5ae(_0x323f5e);},'lPHsW':_0x213112(0xbb),'cogbS':'add','JoxfM':'ranger-testing/trailhead','VpfbI':function(_0x2e066b,_0xeb6c0f,_0xbdaa65){return _0x2e066b(_0xeb6c0f,_0xbdaa65);},'HlvVZ':_0x213112(0xcb),'LzlSE':function(_0x458bd5,_0x2d7af1){return _0x458bd5===_0x2d7af1;},'VIAuB':function(_0x1c71ed){return _0x1c71ed();},'YzCWN':'❌\x20Failed\x20to\x20install\x20plugin:','ErIpO':_0x213112(0xae),'sBpsA':function(_0x33de81,_0x55a4ff,_0x4de401){return _0x33de81(_0x55a4ff,_0x4de401);},'wYCko':_0x213112(0xc9)},_0x2714fb=await _0x38f6f3[_0x213112(0xaf)](isPluginInstalled,_0x38f6f3['xaYWV']);if(_0x2714fb)return console['log'](_0x38f6f3['QTUTJ']),![];const _0x5df12b=_0x38f6f3[_0x213112(0xaf)](existsSync,join(getProjectRoot(),_0x38f6f3[_0x213112(0xd2)]));let _0x2af3ee;if(_0x477c2f)_0x2af3ee=_0x477c2f;else{if(_0x5df12b)_0x2af3ee=_0x38f6f3[_0x213112(0xcc)];else{console['log'](_0x38f6f3[_0x213112(0xc3)]);const _0x378aef=await _0x49e465[_0x213112(0xaa)]([{'type':_0x38f6f3['gYwah'],'name':_0x38f6f3['MaKbf'],'message':_0x38f6f3['RDsMS'],'choices':[{'name':_0x38f6f3[_0x213112(0xa3)],'value':_0x38f6f3['VmWSC']},{'name':_0x38f6f3['JwkEs'],'value':_0x38f6f3[_0x213112(0xcc)]}],'default':_0x38f6f3[_0x213112(0xbc)]}]);_0x2af3ee=_0x378aef[_0x213112(0xbd)];}}console['log'](_0x213112(0xa5)+_0x2af3ee+'\x20level)...\x0a');const _0x3bd99d=await isMarketplaceAdded(_0x213112(0xb9));let _0x2c967d=_0x3bd99d;if(_0x3bd99d)console['log'](_0x38f6f3['TvEWR']);else{const _0x2a0bba=await _0x38f6f3[_0x213112(0xbf)](runClaudeCommand,[_0x38f6f3[_0x213112(0xce)],_0x213112(0xb3),_0x38f6f3['cogbS'],_0x38f6f3['JoxfM']]);!_0x2a0bba['success']?(console['error']('❌\x20Failed\x20to\x20add\x20marketplace:',_0x2a0bba['error']),console[_0x213112(0xc4)]('\x0aYou\x20can\x20install\x20manually\x20with:'),console['log']('\x20\x20claude\x20plugin\x20marketplace\x20add\x20ranger-testing/trailhead'),console['log']('\x20\x20claude\x20plugin\x20install\x20ranger@trailhead\x20--scope\x20'+_0x2af3ee)):_0x2c967d=!![];}if(_0x2c967d){const _0x5bd2b1=await _0x38f6f3[_0x213112(0xc2)](runClaudeCommand,[_0x213112(0xbb),_0x38f6f3['HlvVZ'],_0x213112(0xc5),'--scope',_0x2af3ee],{'cwd':_0x38f6f3[_0x213112(0xd0)](_0x2af3ee,'project')?_0x38f6f3['VIAuB'](getProjectRoot):undefined});if(!_0x5bd2b1['success'])console['error'](_0x38f6f3['YzCWN'],_0x5bd2b1[_0x213112(0xcf)]),console['log'](_0x38f6f3['ErIpO']),console['log']('\x20\x20claude\x20plugin\x20install\x20ranger@trailhead\x20--scope\x20'+_0x2af3ee);else{console['log'](_0x213112(0xd1));const _0x44c3b3=[_0x38f6f3[_0x213112(0xce)],_0x213112(0xcd),_0x38f6f3['xaYWV']];_0x2af3ee===_0x213112(0xc6)&&_0x44c3b3['push']('--scope','project');const _0x484d95=await _0x38f6f3['sBpsA'](runClaudeCommand,_0x44c3b3,{'captureOutput':!![],'cwd':_0x2af3ee===_0x213112(0xc6)?getProjectRoot():undefined}),_0x5e0746=_0x484d95['output']?.['includes']('already\x20enabled');!_0x484d95['success']&&!_0x5e0746?console['error']('⚠\x20Failed\x20to\x20enable\x20plugin:',_0x484d95['error']):console['log'](_0x38f6f3['wYCko']);}}return!![];}export async function ensureClaudeSkills(_0x5b2218){const _0x4ec070=_0x1d7d,_0x5eadfa={'nrYIV':function(_0x136f4d,_0x1f30df){return _0x136f4d(_0x1f30df);},'UkhCy':function(_0x45c64e,_0xf597dc,_0x145c5e,_0x745fe4){return _0x45c64e(_0xf597dc,_0x145c5e,_0x745fe4);},'LFHrv':'user','YaXmb':'ranger','wZvPd':'SKILL.md','mCgzb':_0x4ec070(0xc7),'wOxNk':function(_0x5a8b68){return _0x5a8b68();},'dHVLo':_0x4ec070(0xc8),'RMBFA':_0x4ec070(0xc6),'ARmVN':_0x4ec070(0xbe),'UVwhi':function(_0x278794,_0x27f4fc){return _0x278794(_0x27f4fc);}},_0x27dddc=_0x5eadfa['nrYIV'](existsSync,_0x5eadfa['UkhCy'](join,getSkillsDir(_0x5eadfa[_0x4ec070(0xb6)]),_0x5eadfa[_0x4ec070(0xa8)],_0x5eadfa['wZvPd'])),_0xfcca03=existsSync(join(getSkillsDir('project'),'ranger',_0x5eadfa['wZvPd']));if(_0x27dddc||_0xfcca03)return console['log'](_0x5eadfa['mCgzb']),![];const _0x4d4c9a=existsSync(join(_0x5eadfa[_0x4ec070(0xb0)](getProjectRoot),_0x5eadfa[_0x4ec070(0xc1)]));let _0x5d6825=!![];if(_0x5b2218)await skillup({'autoInstall':_0x5b2218,'suppressUsage':!![]});else{if(_0x4d4c9a)await skillup({'autoInstall':_0x5eadfa[_0x4ec070(0xc0)],'suppressUsage':!![]});else{const _0x3820f0=await _0x49e465[_0x4ec070(0xaa)]([{'type':_0x5eadfa[_0x4ec070(0xb4)],'name':'wantsSkillup','message':_0x4ec070(0xca),'default':!![]}]);_0x5d6825=_0x3820f0['wantsSkillup'],_0x5d6825&&await _0x5eadfa['UVwhi'](skillup,{'suppressUsage':!![]});}}return _0x5d6825;}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(
|
|
1
|
+
function _0x440e(){const _0x342ca4=['@ranger-testing/opencode-plugin','200ODZDYA','340qxLNgZ','project','\x0a📦\x20OpenCode\x20Plugin\x0a','isArray','1894556dXzkXK','pluginScope','GZOjf','nNZjj','User\x20(available\x20in\x20all\x20your\x20projects)','zZouS','Hjorh','list','MOVBQ','FJHIm','86dlbRgN','35rypThV','ZZfqE','log','fsAHI','104099AdZwhn','215545vkNjwD','732FIEBbI','✓\x20OpenCode\x20plugin\x20configured','utf-8','93294DfhIpH','71268KJkwXw','283208TMdaKr','aUWmQ','✓\x20OpenCode\x20plugin\x20already\x20configured','Where\x20should\x20the\x20plugin\x20be\x20installed?','plugin','35121stcmLC'];_0x440e=function(){return _0x342ca4;};return _0x440e();}(function(_0x313ef1,_0x29bcb7){const _0x5be223=_0x5841,_0x1a6fa5=_0x313ef1();while(!![]){try{const _0x22e644=parseInt(_0x5be223(0xb4))/0x1+parseInt(_0x5be223(0xaf))/0x2*(-parseInt(_0x5be223(0x9e))/0x3)+parseInt(_0x5be223(0xa5))/0x4+-parseInt(_0x5be223(0xa1))/0x5*(parseInt(_0x5be223(0xba))/0x6)+parseInt(_0x5be223(0xb0))/0x7*(parseInt(_0x5be223(0xbb))/0x8)+parseInt(_0x5be223(0xb9))/0x9*(-parseInt(_0x5be223(0xa0))/0xa)+-parseInt(_0x5be223(0xb5))/0xb*(-parseInt(_0x5be223(0xb6))/0xc);if(_0x22e644===_0x29bcb7)break;else _0x1a6fa5['push'](_0x1a6fa5['shift']());}catch(_0x31a36d){_0x1a6fa5['push'](_0x1a6fa5['shift']());}}}(_0x440e,0x695fd));import{join}from'path';import{existsSync}from'fs';import{mkdir,readFile,writeFile}from'fs/promises';function _0x5841(_0x198f26,_0x2e54f8){_0x198f26=_0x198f26-0x9a;const _0x440ebf=_0x440e();let _0x58413a=_0x440ebf[_0x198f26];return _0x58413a;}import _0x2ff462 from'inquirer';import{getOpencodeConfigDir}from'../utils/opencodeConfig.js';export async function ensureOpencodePluginConfig(_0x486dc9){const _0x1c34da=_0x5841,_0x20f9e3={'MOVBQ':function(_0x530021,_0x23572b){return _0x530021(_0x23572b);},'oUkAZ':_0x1c34da(0xa2),'nNZjj':'opencode.json','GZOjf':_0x1c34da(0xac),'FJHIm':_0x1c34da(0xa6),'zZouS':_0x1c34da(0xa9),'MjiGM':'user','Hjorh':function(_0x38aca9,_0x5f33de,_0x43bdda){return _0x38aca9(_0x5f33de,_0x43bdda);},'tVvcL':_0x1c34da(0x9f),'fsAHI':'⚠\x20Failed\x20to\x20read\x20opencode.json.\x20Please\x20add\x20the\x20plugin\x20manually.','kcDZQ':function(_0x5dcbc9,_0x3a783b,_0x353eae){return _0x5dcbc9(_0x3a783b,_0x353eae);},'ZZfqE':function(_0x3ee537,_0x49f096){return _0x3ee537+_0x49f096;},'aUWmQ':_0x1c34da(0xb7)},_0x2aabab=_0x20f9e3[_0x1c34da(0xad)](existsSync,join(getOpencodeConfigDir(_0x20f9e3['oUkAZ']),_0x20f9e3['nNZjj']));let _0x3d1a60;if(_0x486dc9)_0x3d1a60=_0x486dc9;else{if(_0x2aabab)_0x3d1a60='project';else{console[_0x1c34da(0xb2)](_0x1c34da(0xa3));const _0x1c42ac=await _0x2ff462['prompt']([{'type':_0x20f9e3[_0x1c34da(0xa7)],'name':_0x20f9e3[_0x1c34da(0xae)],'message':_0x1c34da(0x9c),'choices':[{'name':_0x20f9e3[_0x1c34da(0xaa)],'value':_0x20f9e3['MjiGM']},{'name':'Project\x20(shared\x20with\x20team\x20via\x20git)','value':_0x1c34da(0xa2)}],'default':'user'}]);_0x3d1a60=_0x1c42ac[_0x1c34da(0xa6)];}}const _0xe7bd7b=_0x20f9e3['Hjorh'](join,getOpencodeConfigDir(_0x3d1a60),_0x20f9e3[_0x1c34da(0xa8)]),_0x5f3d1a=_0x20f9e3['tVvcL'],_0x2eab13='https://opencode.ai/config.json';let _0x2b4cac={};if(_0x20f9e3[_0x1c34da(0xad)](existsSync,_0xe7bd7b))try{const _0x429bd7=await _0x20f9e3[_0x1c34da(0xab)](readFile,_0xe7bd7b,_0x1c34da(0xb8));_0x2b4cac=JSON['parse'](_0x429bd7);}catch(_0x3106ae){return console['error'](_0x20f9e3[_0x1c34da(0xb3)]),{'configured':![],'scope':_0x3d1a60,'error':'Failed\x20to\x20read\x20opencode.json','details':_0x3106ae};}const _0x2f511f=Array[_0x1c34da(0xa4)](_0x2b4cac[_0x1c34da(0x9d)])?_0x2b4cac[_0x1c34da(0x9d)]:[];if(_0x2f511f['includes'](_0x5f3d1a))return console[_0x1c34da(0xb2)](_0x1c34da(0x9b)),{'configured':![],'scope':_0x3d1a60};return _0x2b4cac['$schema']=_0x2b4cac['$schema']||_0x2eab13,_0x2b4cac['plugin']=[..._0x2f511f,_0x5f3d1a],await mkdir(getOpencodeConfigDir(_0x3d1a60),{'recursive':!![]}),await _0x20f9e3['kcDZQ'](writeFile,_0xe7bd7b,_0x20f9e3[_0x1c34da(0xb1)](JSON['stringify'](_0x2b4cac,null,0x2),'\x0a')),console['log'](_0x20f9e3[_0x1c34da(0x9a)]),{'configured':!![],'scope':_0x3d1a60};}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
function
|
|
1
|
+
function _0x971e(){var _0x4fb442=['96QTydPY','NaHAl','error','8754MLlYpL','3114656FeKdIq','XWVvZ','5WJWVoi','9128552MkyoZr','ZQgnf','WFyps','7pavsfm','exit','260TehPcQ','For\x20CI\x20/\x20background\x20agents\x20and\x20other\x20setup\x20options,\x20see:\x0a','1302763pCcvDK','2092236RaztRQ','2299248AbbGNd','2860398ZiEKvu'];_0x971e=function(){return _0x4fb442;};return _0x971e();}function _0x3877(_0x3deeff,_0x166f67){_0x3deeff=_0x3deeff-0x1de;var _0x971ee6=_0x971e();var _0x38770c=_0x971ee6[_0x3deeff];return _0x38770c;}(function(_0x80f97f,_0x1517ad){var _0x5eec64=_0x3877,_0x2cffa1=_0x80f97f();while(!![]){try{var _0x187f8a=parseInt(_0x5eec64(0x1e9))/0x1*(-parseInt(_0x5eec64(0x1e6))/0x2)+-parseInt(_0x5eec64(0x1e4))/0x3+-parseInt(_0x5eec64(0x1ea))/0x4+parseInt(_0x5eec64(0x1ec))/0x5*(parseInt(_0x5eec64(0x1e3))/0x6)+-parseInt(_0x5eec64(0x1de))/0x7*(parseInt(_0x5eec64(0x1ed))/0x8)+parseInt(_0x5eec64(0x1e5))/0x9+parseInt(_0x5eec64(0x1e0))/0xa*(parseInt(_0x5eec64(0x1e2))/0xb);if(_0x187f8a===_0x1517ad)break;else _0x2cffa1['push'](_0x2cffa1['shift']());}catch(_0x3b75db){_0x2cffa1['push'](_0x2cffa1['shift']());}}}(_0x971e,0x9c1d5));export async function setupCi(_0x2d091a,_0x2552cf,_0x109513){var _0x2c2b64=_0x3877,_0x1a6e82={'XWVvZ':function(_0x5012ad,_0x2c47b6){return _0x5012ad+_0x2c47b6;},'ZQgnf':'ranger\x20setup\x20--ci\x20writes\x20to\x20the\x20legacy\x20.ranger/ci/\x20tree\x20which\x20is\x20no\x20longer\x20supported.\x0a','NaHAl':'\x20\x20ranger\x20profile\x20add\x20<name>\x0a','WFyps':'\x20\x20https://docs.ranger.net/main/concepts/profiles'};console[_0x2c2b64(0x1e8)](_0x1a6e82[_0x2c2b64(0x1eb)](_0x1a6e82[_0x2c2b64(0x1ee)],'\x0a')+'To\x20set\x20up\x20a\x20fresh\x20profile,\x20run:\x0a'+_0x1a6e82[_0x2c2b64(0x1e7)]+'\x0a'+_0x2c2b64(0x1e1)+_0x1a6e82[_0x2c2b64(0x1ef)]),process[_0x2c2b64(0x1df)](0x1);}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(
|
|
1
|
+
function _0x4c76(_0x689dd5,_0x5611c0){_0x689dd5=_0x689dd5-0xe2;const _0x465032=_0x4650();let _0x4c76fe=_0x465032[_0x689dd5];return _0x4c76fe;}(function(_0x4b8c5e,_0xe62702){const _0x4b5800=_0x4c76,_0x433af6=_0x4b8c5e();while(!![]){try{const _0x427e4d=-parseInt(_0x4b5800(0xe9))/0x1+parseInt(_0x4b5800(0x100))/0x2+parseInt(_0x4b5800(0xf0))/0x3*(-parseInt(_0x4b5800(0xee))/0x4)+-parseInt(_0x4b5800(0xe6))/0x5+parseInt(_0x4b5800(0xfd))/0x6+parseInt(_0x4b5800(0x101))/0x7+parseInt(_0x4b5800(0x107))/0x8;if(_0x427e4d===_0xe62702)break;else _0x433af6['push'](_0x433af6['shift']());}catch(_0x219b84){_0x433af6['push'](_0x433af6['shift']());}}}(_0x4650,0xe2761));import{basename}from'path';import _0x140976 from'inquirer';import{getToken}from'./utils/keychain.js';import{installSkill}from'./utils/skills.js';import{getCurrentVersion}from'./utils/version.js';import{getClaudeConfigDir,getProjectRoot}from'./utils/claudeConfig.js';import{getOpencodeConfigDir}from'./utils/opencodeConfig.js';export async function skillup(_0x375f00={}){const _0x457368=_0x4c76,_0x22ee5c={'csmiw':'claude','dzGVq':'❌\x20No\x20Ranger\x20API\x20token\x20found.\x0a','PxPZz':'To\x20get\x20started:','DlDSk':_0x457368(0x106),'RghLC':function(_0x1b582e,_0x3e03f5){return _0x1b582e===_0x3e03f5;},'dARIb':_0x457368(0xfb),'crzQX':function(_0x229ea5,_0x4d64b8){return _0x229ea5===_0x4d64b8;},'jpXLW':function(_0x263a6a,_0x365d80){return _0x263a6a(_0x365d80);},'vikWu':'user','MUfMm':_0x457368(0xe3),'awXaC':_0x457368(0xeb),'MIfhk':function(_0x3ff230){return _0x3ff230();},'ilpqN':_0x457368(0x102),'wBonJ':function(_0x93781e,_0xd0166b){return _0x93781e instanceof _0xd0166b;},'FxiVM':function(_0x12e945,_0x3ef1c6){return _0x12e945>_0x3ef1c6;},'MQoaB':_0x457368(0x108),'pArGr':'project-level','AIjto':function(_0x545dc1,_0x34b817){return _0x545dc1>_0x34b817;},'PMJdT':'To\x20use:','HrOxD':'\x20\x20-\x20Start\x20OpenCode\x20and\x20run\x20the\x20`ranger_enable`\x20tool\x20to\x20enable\x20hooks.','jczhM':'\x0a⚠️\x20\x20No\x20skills\x20were\x20installed.\x0a'};console[_0x457368(0x105)]('\x0a🎯\x20Ranger\x20Skill\x20Setup\x0a');const _0x427c10=_0x375f00[_0x457368(0xef)]??_0x22ee5c[_0x457368(0x109)],_0x4377e8=await getToken();if(!_0x4377e8){console['log'](_0x22ee5c[_0x457368(0xfc)]),console['log'](_0x22ee5c[_0x457368(0xfa)]),console[_0x457368(0x105)](_0x22ee5c['DlDSk']),console['log']('\x20\x202.\x20Run:\x20ranger\x20setup'+(_0x22ee5c[_0x457368(0xf3)](_0x427c10,_0x22ee5c['dARIb'])?'\x20--opencode':'')+_0x457368(0xe8)),console[_0x457368(0x105)]('\x20\x203.\x20Run:\x20ranger\x20skillup'+(_0x22ee5c[_0x457368(0xe5)](_0x427c10,'opencode')?_0x457368(0x103):'')+'\x0a');return;}console['log']('✓\x20Found\x20API\x20token');const _0x9a5659=getProjectRoot(),_0x2d81f7=_0x22ee5c[_0x457368(0xed)](basename,_0x9a5659),_0x1d33c7=_0x22ee5c['RghLC'](_0x427c10,_0x457368(0xfb))?getOpencodeConfigDir(_0x22ee5c['vikWu'])+_0x457368(0xfe):getClaudeConfigDir()+'/skills/',_0x4569ed=_0x427c10===_0x457368(0xfb)?_0x9a5659+_0x457368(0xe4):_0x9a5659+'/.claude/skills/',_0x40ebc1=process['stdin']['isTTY']&&process['stdout'][_0x457368(0xf5)];let _0x197682;if(_0x375f00[_0x457368(0x104)])_0x197682=_0x375f00[_0x457368(0x104)];else{if(_0x40ebc1){const _0x490c6f=await _0x140976['prompt']([{'type':'list','name':_0x22ee5c['MUfMm'],'message':'Where\x20should\x20skills\x20be\x20installed?','choices':[{'name':_0x457368(0xf2)+_0x1d33c7+')','value':_0x22ee5c[_0x457368(0xff)]},{'name':'This\x20project\x20only\x20('+_0x4569ed+')','value':_0x457368(0xeb)}]}]);_0x197682=_0x490c6f[_0x457368(0xe3)];}else _0x197682=_0x22ee5c[_0x457368(0xf6)],console[_0x457368(0x105)](_0x457368(0xf1)+_0x4569ed+')');}let _0x28d095=0x0;const _0x157ff7=_0x22ee5c[_0x457368(0xf7)](getCurrentVersion);console[_0x457368(0x105)](_0x457368(0xf8));try{const _0x4457ad=await installSkill(_0x22ee5c['ilpqN'],{'cliVersion':_0x157ff7,'level':_0x197682,'platform':_0x427c10});_0x4457ad&&_0x28d095++;}catch(_0x358887){console['warn'](_0x457368(0xe2),_0x22ee5c['wBonJ'](_0x358887,Error)?_0x358887['message']:_0x358887);}if(_0x22ee5c['FxiVM'](_0x28d095,0x0)){const _0x53d414=_0x22ee5c[_0x457368(0xf3)](_0x197682,_0x457368(0xf4))?_0x22ee5c[_0x457368(0xe7)]:_0x22ee5c['pArGr'];console['log']('\x0a✅\x20Installed\x20'+_0x28d095+'\x20'+_0x53d414+_0x457368(0xec)+(_0x22ee5c[_0x457368(0xea)](_0x28d095,0x1)?'s':'')+_0x457368(0x10a)),!_0x375f00[_0x457368(0xf9)]&&(console[_0x457368(0x105)](_0x22ee5c['PMJdT']),_0x22ee5c[_0x457368(0xf3)](_0x427c10,_0x22ee5c['dARIb'])?console['log'](_0x22ee5c['HrOxD']):console['log']('\x20\x20-\x20Open\x20Claude\x20Code\x20in\x20plan\x20mode\x20and\x20run\x20/ranger:enable.\x20Plan\x20out\x20a\x20UI\x20feature\x20with\x20Ranger\x20and\x20watch\x20Ranger\x20test\x20it\x20for\x20you!'));}else console['log'](_0x22ee5c['jczhM']);}function _0x4650(){const _0x417f46=['\x0a📦\x20Installing\x20skills...\x0a','suppressUsage','PxPZz','opencode','dzGVq','82092holuDj','/skills/','vikWu','1596712svOaNF','10071642PTRXHa','ranger','\x20--opencode','autoInstall','log','\x20\x201.\x20Get\x20your\x20API\x20token\x20from\x20https://dashboard.ranger.net/cli','15952304xTwIEf','user-level','csmiw','\x20successfully!\x0a','\x20\x20Failed\x20to\x20install\x20ranger\x20skill:','installLevel','/.opencode/skills/','crzQX','5511140XgBiwM','MQoaB','\x20<your-api-token>','424958cLeSGm','AIjto','project','\x20skill','jpXLW','7160444uUkGbt','platform','3EiagDh','Non-interactive\x20mode:\x20Installing\x20skills\x20at\x20project\x20level\x20(','All\x20projects\x20(','RghLC','user','isTTY','awXaC','MIfhk'];_0x4650=function(){return _0x417f46;};return _0x4650();}
|
package/build/commands/start.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
const _0x4678f2=_0x3d09;(function(_0x4030e8,_0x5b9c97){const _0x23429b=_0x3d09,_0x529940=_0x4030e8();while(!![]){try{const _0x4d716d=-parseInt(_0x23429b(0x1e0))/0x1+parseInt(_0x23429b(0x1a6))/0x2*(-parseInt(_0x23429b(0x1c1))/0x3)+-parseInt(_0x23429b(0x192))/0x4+parseInt(_0x23429b(0x1ef))/0x5+parseInt(_0x23429b(0x1bb))/0x6+parseInt(_0x23429b(0x1da))/0x7+parseInt(_0x23429b(0x1d3))/0x8;if(_0x4d716d===_0x5b9c97)break;else _0x529940['push'](_0x529940['shift']());}catch(_0xff16f2){_0x529940['push'](_0x529940['shift']());}}}(_0x2adb,0x6606c));import{mkdir,writeFile}from'fs/promises';import{join,dirname}from'path';import{existsSync}from'fs';import{createRequire}from'module';import _0x2321e3 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';function _0x2adb(){const _0x15936f=['--with-deps','ynlzQ','force','\x20\x20\x20\x20RANGER_CHROMIUM_INSTALL_TIMEOUT_MS=1800000\x20ranger\x20setup\x20deps','scope','opencode','2947896GAoHEj','XRqDY','WAWJK',')\x20of\x20the\x20Playwright\x20Chromium\x20browser\x20is\x20not\x20installed.\x20Install\x20it\x20now?','skipAuth','puzkF','\x20install\x20chromium','FSdgZ','cli.js','trackPhaseEnd','FBsWe','dPgNb','with\x20scenarios\x20describing\x20what\x20to\x20verify\x20and\x20then\x20run\x20browser','NQDel','\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','skills','zBTak','plugin','trackPhaseStart','organizationName','228AxTSyL','provided_token','vHGws','auth','prompt','.\x20Please\x20check\x20your\x20API\x20token\x20and\x20try\x20again.','xLzYH','GITHUB_ENV','exit','YneCu','project-scope\x20setup\x20obsolete).\x20Drop\x20the\x20--scope\x20flag\x20or\x20pass\x20--scope=user.','ERTHr','WpqSB','✓\x20Skipping\x20authentication\x20(--skip-auth)','lMZZh','ranger\x20profile\x20add\x20<name>','\x1b[0m','SjqAw','.gitignore','install','mSNdP','2535330RInJbr','ranger\x20setup\x20--scope=','tZQlb','stdout','ignore','UVPnO','159vWCqKz','status','SgzlC','⚠\x20No\x20git\x20repository\x20found.\x20Re-run\x20with\x20`--scope\x20user`\x20to\x20store\x20the\x20profile\x20at\x20~/.ranger/.','ydPcO','log','SIGKILL','platform','\x1b[1m','\x0aagent\x20like\x20usual.\x20Claude\x20will\x20create\x20a\x20feature\x20review\x20with','Authentication\x20failed:\x20','gRPkS','execPath','\x20\x20Chromium\x20install\x20attempt\x20','UFAEN','eANjA','\x0aIn\x20OpenCode,\x20enable\x20Ranger\x20hooks\x20(run\x20the\x20`ranger_enable`\x20tool)','\x0aNon-interactive\x20mode:\x20Auto-installing\x20Playwright\x20Chromium\x20','6432336mUutEi','Failed\x20to\x20validate\x20provisioned\x20API\x20key:\x20','xOkxL','local','success','message','method','1809766SJSwhZ','✓\x20Created\x20~/.ranger/\x20directory','\x0a\x0aFor\x20CI\x20/\x20background\x20agents\x20and\x20other\x20setup\x20options,\x20see:','nCdCt','vgWcg','Chromium\x20install\x20timed\x20out\x20after\x20','739955pBBaDe','JgxzP','hWfdX','error','skipped','\x20\x20npx\x20playwright@','zEJnk','\x0aTo\x20set\x20up\x20a\x20profile\x20for\x20your\x20app,\x20run:','s).\x20On\x20a\x20slow\x20or\x20proxied\x20connection,\x20raise\x20the\x20limit\x20and\x20retry,\x20e.g.:\x0a','kFjPs','TjCZl','gMToO','\x20now?','playwright/package.json','...','2078680fBBlWS','url','executablePath','✓\x20Already\x20authenticated\x20to\x20','JhaDw','\x0aInstalling\x20Chromium\x20browser...\x0a','njWKA','kqzuX','\x20is\x20no\x20longer\x20supported.\x20','OFRbG','bzsCk','.\x20Please\x20check\x20your\x20network\x20connection\x20and\x20server\x20URL.','✓\x20Local\x20profile\x20already\x20exists','user','qnqza','\x0a\x20\x20https://docs.ranger.net/main/concepts/profiles','npx','niYXb','PfBRW','Could\x20not\x20determine\x20local\x20Playwright\x20version.\x20Install\x20Playwright\x20Chromium\x20using\x20fallback\x20version\x20','RguQE','vOWdu','env'];_0x2adb=function(){return _0x15936f;};return _0x2adb();}import{ensureOpencodePluginConfig}from'./setup/opencode.js';import{installSkill}from'./utils/skills.js';function _0x3d09(_0x33527e,_0x3974aa){_0x33527e=_0x33527e-0x189;const _0x2adbe1=_0x2adb();let _0x3d0943=_0x2adbe1[_0x33527e];return _0x3d0943;}import{spawn}from'child_process';const require=createRequire(import.meta.url);export const PLAYWRIGHT_CHROMIUM_INSTALL_FALLBACK_VERSION='1.60.0';const bold=_0x5e00f6=>_0x4678f2(0x1c9)+_0x5e00f6+_0x4678f2(0x1b6);export function getPlaywrightVersion(){const _0x5936c3=_0x4678f2,_0x307e9d={'xOkxL':function(_0x2918b3,_0x4c720f){return _0x2918b3(_0x4c720f);}};try{const _0x11da78=require['resolve'](_0x5936c3(0x1ed)),_0x1df43c=_0x307e9d[_0x5936c3(0x1d5)](require,_0x11da78);return _0x1df43c['version'];}catch{return null;}}function resolveBundledPlaywrightCli(){const _0x31611f=_0x4678f2,_0x546639={'ZFuAJ':function(_0x18b2bd,_0x47575e,_0x3ca62e){return _0x18b2bd(_0x47575e,_0x3ca62e);},'UFAEN':function(_0x47e9af,_0x1fb0ae){return _0x47e9af(_0x1fb0ae);},'CjVsy':_0x31611f(0x19a),'aTRhA':function(_0x2a4b28,_0x4f505f){return _0x2a4b28(_0x4f505f);}};try{const _0x227b41=_0x546639['ZFuAJ'](join,_0x546639[_0x31611f(0x1cf)](dirname,require['resolve']('playwright/package.json')),_0x546639['CjVsy']);return _0x546639['aTRhA'](existsSync,_0x227b41)?_0x227b41:null;}catch{return null;}}const CHROMIUM_INSTALL_TIMEOUT_MS=Number(process['env']['RANGER_CHROMIUM_INSTALL_TIMEOUT_MS'])||0x927c0;class ChromiumInstallTimeoutError extends Error{}export async function installChromiumBinary(_0x5b8b3a,_0x39041c=![]){const _0x23e43a=_0x4678f2,_0x55eb79={'zLaRi':function(_0xc5b782){return _0xc5b782();},'ydPcO':_0x23e43a(0x1ff),'Njtjg':_0x23e43a(0x18c),'SgzlC':function(_0x376ff7,_0x3bc84c,_0x4a8892){return _0x376ff7(_0x3bc84c,_0x4a8892);}},_0x35b316=_0x55eb79['zLaRi'](resolveBundledPlaywrightCli),_0xaf1668=_0x35b316?process[_0x23e43a(0x1cd)]:_0x55eb79[_0x23e43a(0x1c5)],_0x57992f=[_0x35b316??'playwright@'+_0x5b8b3a,_0x23e43a(0x1b9),..._0x39041c?[_0x55eb79['Njtjg']]:[],'chromium'];let _0x235744=![];for(let _0x9ffda2=0x1;;_0x9ffda2++){try{await _0x55eb79[_0x23e43a(0x1c3)](runChromiumInstall,_0xaf1668,_0x57992f);return;}catch(_0x254214){_0x254214 instanceof ChromiumInstallTimeoutError&&!_0x235744&&(_0x235744=!![],console['log']('\x0a\x20\x20Chromium\x20install\x20timed\x20out\x20(limit\x20'+Math['round'](CHROMIUM_INSTALL_TIMEOUT_MS/0x3e8)+_0x23e43a(0x1e8)+_0x23e43a(0x18f)));if(_0x9ffda2>=0x3)throw _0x254214;const _0x52c023=_0x254214 instanceof Error?_0x254214['message']:String(_0x254214);console[_0x23e43a(0x1c6)](_0x23e43a(0x1ce)+_0x9ffda2+'\x20failed\x20('+_0x52c023+');\x20retrying...');}}}function runChromiumInstall(_0xe8861c,_0xc2fa84){const _0x2fd828=_0x4678f2,_0x3c84b8={'ynlzQ':function(_0x5261e4,_0x425ffc){return _0x5261e4===_0x425ffc;},'QDsgP':function(_0x3bc68d,_0x27d963){return _0x3bc68d(_0x27d963);},'kelGQ':function(_0x53b845,_0x4b6026,_0x291565,_0x7c26e){return _0x53b845(_0x4b6026,_0x291565,_0x7c26e);},'kKQpY':_0x2fd828(0x1bf),'xLzYH':function(_0x4812c0,_0xea6158){return _0x4812c0===_0xea6158;},'eANjA':'win32','kqzuX':_0x2fd828(0x1e3)};return new Promise((_0x54be3c,_0x4c4fce)=>{const _0x517921=_0x2fd828,_0xd56ebe={'JgxzP':function(_0x3a2c68,_0xae86d1){return _0x3c84b8['QDsgP'](_0x3a2c68,_0xae86d1);}},_0x426e9b=_0x3c84b8['kelGQ'](spawn,_0xe8861c,_0xc2fa84,{'stdio':[_0x3c84b8['kKQpY'],'inherit','inherit'],'shell':_0x3c84b8[_0x517921(0x1ac)](process[_0x517921(0x1c8)],_0x3c84b8[_0x517921(0x1d0)])}),_0x4789dc=setTimeout(()=>{const _0x4c29ba=_0x517921;_0x426e9b['kill'](_0x4c29ba(0x1c7)),_0xd56ebe[_0x4c29ba(0x1e1)](_0x4c4fce,new ChromiumInstallTimeoutError(_0x4c29ba(0x1df)+Math['round'](CHROMIUM_INSTALL_TIMEOUT_MS/0x3e8)+'s'));},CHROMIUM_INSTALL_TIMEOUT_MS);_0x426e9b['on']('close',_0x4eb181=>{const _0x288e44=_0x517921;clearTimeout(_0x4789dc);if(_0x3c84b8[_0x288e44(0x18d)](_0x4eb181,0x0))_0x54be3c();else _0x4c4fce(new Error('Installation\x20failed\x20with\x20exit\x20code\x20'+_0x4eb181));}),_0x426e9b['on'](_0x3c84b8[_0x517921(0x1f6)],_0x494dc8=>{clearTimeout(_0x4789dc),_0x4c4fce(_0x494dc8);});});}export async function authenticate(_0x3d3be3){const _0x1d6426=_0x4678f2,_0x1d6194={'puzkF':function(_0x2c4ba7){return _0x2c4ba7();},'zEJnk':function(_0x5125b9,_0x480498){return _0x5125b9(_0x480498);},'niYXb':function(_0x11d3fe){return _0x11d3fe();},'hkPaY':function(_0x5e9f28,_0x486579){return _0x5e9f28 instanceof _0x486579;},'tZQlb':function(_0x371d80,_0x3113dc){return _0x371d80(_0x3113dc);},'dBXun':'✓\x20Exported\x20credentials\x20for\x20CI','vHGws':_0x1d6426(0x1a7)};if(!_0x3d3be3){const _0x763e44=await _0x1d6194[_0x1d6426(0x197)](getToken);if(_0x763e44){const _0x250377=await _0x1d6194[_0x1d6426(0x1e6)](getCurrentUser,_0x763e44);if(_0x250377['success'])return console['log'](_0x1d6426(0x1f2)+_0x250377['user'][_0x1d6426(0x1a5)]),{'token':_0x763e44,'method':'existing_token'};}try{_0x3d3be3=await _0x1d6194[_0x1d6426(0x200)](runDeviceAuthFlow);}catch(_0x250e70){throw new Error('Authentication\x20failed:\x20'+(_0x1d6194['hkPaY'](_0x250e70,Error)?_0x250e70['message']:_0x250e70));}const _0x4f86f4=await getCurrentUser(_0x3d3be3);if(!_0x4f86f4[_0x1d6426(0x1d7)])throw new Error(_0x1d6426(0x1d4)+_0x4f86f4['error']);return console[_0x1d6426(0x1c6)]('✓\x20Authenticated\x20to\x20'+_0x4f86f4['user'][_0x1d6426(0x1a5)]),{'token':_0x3d3be3,'method':'device_auth'};}console[_0x1d6426(0x1c6)]('Validating\x20API\x20token...');const _0x5212e1=await _0x1d6194[_0x1d6426(0x1bd)](getCurrentUser,_0x3d3be3);if(!_0x5212e1[_0x1d6426(0x1d7)]){if(_0x5212e1[_0x1d6426(0x1c2)])throw new Error(_0x1d6426(0x1cb)+_0x5212e1['error']+_0x1d6426(0x1ab));else throw new Error('Failed\x20to\x20connect\x20to\x20MCP\x20server:\x20'+_0x5212e1['error']+_0x1d6426(0x1fa));}return console['log']('✓\x20Authenticated\x20to\x20'+_0x5212e1[_0x1d6426(0x1fc)][_0x1d6426(0x1a5)]),await _0x1d6194['tZQlb'](storeToken,_0x3d3be3),console[_0x1d6426(0x1c6)](process[_0x1d6426(0x18b)][_0x1d6426(0x1ad)]?_0x1d6194['dBXun']:'✓\x20Stored\x20credentials\x20locally'),{'token':_0x3d3be3,'method':_0x1d6194[_0x1d6426(0x1a8)]};}export async function ensureRangerDir(_0x3133ba){const _0xfab363=_0x4678f2,_0x2de163={'VvCfA':function(_0x46cf60,_0x24866b){return _0x46cf60(_0x24866b);},'gRPkS':_0xfab363(0x1db)};void _0x3133ba;const _0x75df78=getRangerHomeDir();return!_0x2de163['VvCfA'](existsSync,_0x75df78)?(await mkdir(_0x75df78,{'recursive':!![]}),console[_0xfab363(0x1c6)](_0x2de163[_0xfab363(0x1cc)]),{'path':_0x75df78,'installed':!![]}):(console[_0xfab363(0x1c6)]('✓\x20~/.ranger/\x20directory\x20already\x20exists'),{'path':_0x75df78,'installed':![]});}export async function ensureChromium(_0x3d1f0b=![]){const _0x103d37=_0x4678f2,_0x230b27={'AhuUl':function(_0x2b4d7e,_0x384701){return _0x2b4d7e(_0x384701);},'gMToO':'✓\x20Playwright\x20Chromium\x20browser\x20found','TCkaE':function(_0xc3bea5,_0x3ff4cc){return _0xc3bea5??_0x3ff4cc;},'FBsWe':'confirm','zBTak':'\x20(fallback\x20version)','vgWcg':'\x0a⚠\x20Skipping\x20Chromium\x20installation.'};let _0x23895e=![];try{const _0x522229=chromium[_0x103d37(0x1f1)]();_0x23895e=_0x230b27['AhuUl'](existsSync,_0x522229);}catch{_0x23895e=![];}if(_0x23895e)return console[_0x103d37(0x1c6)](_0x230b27[_0x103d37(0x1eb)]),![];const _0x4b04f2=getPlaywrightVersion(),_0x4c70fc=_0x230b27['TCkaE'](_0x4b04f2,PLAYWRIGHT_CHROMIUM_INSTALL_FALLBACK_VERSION),_0x4921e5=!_0x4b04f2,_0x469ef3=process['stdin']['isTTY']&&process[_0x103d37(0x1be)]['isTTY'];let _0x621a2d=!![];if(_0x469ef3){const {install:_0x581183}=await _0x2321e3[_0x103d37(0x1aa)]([{'type':_0x230b27[_0x103d37(0x19c)],'name':_0x103d37(0x1b9),'message':_0x4921e5?_0x103d37(0x202)+_0x4c70fc+_0x103d37(0x1ec):'The\x20required\x20version\x20('+_0x4c70fc+_0x103d37(0x195),'default':!![]}]);_0x621a2d=_0x581183;}else console['log'](_0x103d37(0x1d2)+_0x4c70fc+(_0x4921e5?_0x230b27[_0x103d37(0x1a2)]:'')+_0x103d37(0x1ee));if(_0x621a2d){console['log'](_0x103d37(0x1f4));try{await installChromiumBinary(_0x4c70fc,_0x3d1f0b),console['log']('\x0a✓\x20Playwright\x20Chromium\x20installed\x20successfully');}catch(_0x538fac){console['error']('\x0a❌\x20Failed\x20to\x20install\x20Chromium:',_0x538fac instanceof Error?_0x538fac['message']:_0x538fac),console['log']('You\x20can\x20install\x20it\x20manually\x20by\x20running:'),console[_0x103d37(0x1c6)](_0x103d37(0x1e5)+_0x4c70fc+'\x20install\x20chromium');}}else console[_0x103d37(0x1c6)](_0x230b27[_0x103d37(0x1de)]),console[_0x103d37(0x1c6)]('You\x20will\x20need\x20to\x20install\x20it\x20before\x20using\x20Ranger:'),console[_0x103d37(0x1c6)]('\x20\x20npx\x20playwright@'+_0x4c70fc+_0x103d37(0x198));return!![];}export async function writeRangerGitignore(_0x2ed1e1){const _0x11d107=_0x4678f2,_0x31c544={'UVPnO':function(_0x129ab1,_0x31a077,_0x5d2e18){return _0x129ab1(_0x31a077,_0x5d2e18);},'ZRmfn':function(_0x1f00cc,_0x574771,_0x3b500b){return _0x1f00cc(_0x574771,_0x3b500b);}},_0x3c0888=_0x31c544[_0x11d107(0x1c0)](join,_0x2ed1e1,_0x11d107(0x1b8)),_0x4bf712=_0x11d107(0x1a0);await _0x31c544['ZRmfn'](writeFile,_0x3c0888,_0x4bf712),console['log']('✓\x20Created\x20.ranger/.gitignore');}export async function ensureLocalEnv(_0x1fbbc1,_0x3a5f79){const _0x2b1040=_0x4678f2,_0x3b8f93={'TjCZl':function(_0x57c944,_0x11ffa3){return _0x57c944!==_0x11ffa3;},'vOWdu':_0x2b1040(0x1fc),'qnqza':function(_0x34a90e){return _0x34a90e();},'nCdCt':'local','WAWJK':function(_0x44fcd8,_0x1b8ade,_0x5756cb,_0x2cf4f6){return _0x44fcd8(_0x1b8ade,_0x5756cb,_0x2cf4f6);},'rIPII':function(_0x2f83ca,_0x41fe71){return _0x2f83ca instanceof _0x41fe71;}};if(!findGitRoot()&&_0x3b8f93[_0x2b1040(0x1ea)](_0x1fbbc1?.[_0x2b1040(0x190)],_0x3b8f93['vOWdu']))return console[_0x2b1040(0x1c6)](_0x2b1040(0x1c4)),{'ready':![],'skipped':!![]};const _0x5ce4be=_0x1fbbc1?.[_0x2b1040(0x190)]===_0x3b8f93[_0x2b1040(0x18a)]?_0x3b8f93[_0x2b1040(0x1fd)](getRangerHomeDir):undefined;if(findExistingEnv(_0x3b8f93['nCdCt'],{'locations':[_0x3b8f93[_0x2b1040(0x1dd)]],'rangerDir':_0x5ce4be}))return console['log'](_0x2b1040(0x1fb)),{'ready':!![],'skipped':![]};try{return await _0x3b8f93[_0x2b1040(0x194)](addEnv,_0x2b1040(0x1d6),{'url':_0x1fbbc1?.[_0x2b1040(0x1f0)],'force':_0x1fbbc1?.['force'],'allowInsecureLocalhost':_0x1fbbc1?.['allowInsecureLocalhost'],'scope':_0x1fbbc1?.[_0x2b1040(0x190)]},_0x3a5f79),{'ready':!![],'skipped':![]};}catch(_0x3f52d8){return console[_0x2b1040(0x1e3)]('\x0a❌\x20Profile\x20setup\x20failed:',_0x3b8f93['rIPII'](_0x3f52d8,Error)?_0x3f52d8[_0x2b1040(0x1d8)]:_0x3f52d8),{'ready':![],'skipped':![]};}}export async function start(_0xb93d2c,_0x4d1975,_0x347d7e){const _0x24b398=_0x4678f2,_0x1ff1d0={'lMZZh':'\x0a🚀\x20Ranger\x20Setup\x0a','kFjPs':_0x24b398(0x1fc),'mSNdP':function(_0x28f48d,_0x14ef66){return _0x28f48d+_0x14ef66;},'bzsCk':function(_0x4bf8ad,_0x468c99){return _0x4bf8ad(_0x468c99);},'upQEl':function(_0x11f008){return _0x11f008();},'XRqDY':function(_0x40ea72,_0x2be9c6){return _0x40ea72(_0x2be9c6);},'JhaDw':_0x24b398(0x1b3),'ZJTXw':'auth','ERTHr':_0x24b398(0x1e4),'oXClF':'chromium','DKGEx':'✓\x20Skipping\x20Chromium\x20check\x20(--skip-chromium)','NQDel':function(_0x2f10f7,_0x82e808){return _0x2f10f7(_0x82e808);},'RguQE':'plugin','vbSQi':function(_0x34fc6e,_0x3d9107){return _0x34fc6e(_0x3d9107);},'YneCu':_0x24b398(0x1a1),'awhSx':function(_0x49f1bd,_0x57a6ae,_0x2dd7c3){return _0x49f1bd(_0x57a6ae,_0x2dd7c3);},'PfBRW':'ranger','vbtfJ':function(_0x4d5c16){return _0x4d5c16();},'uLnvS':'\x20\x20Failed\x20to\x20install\x20OpenCode\x20skill:','OFRbG':function(_0x57afbf,_0x290bba){return _0x57afbf instanceof _0x290bba;},'njWKA':'\x0aSkipping\x20profile\x20setup\x20(--skip-auth).\x20Run\x20`ranger\x20setup`\x20with\x20auth\x20to\x20add\x20a\x20profile\x20later.\x0a','SjqAw':'profile','hWfdX':function(_0xf21dae,_0x32a847){return _0xf21dae+_0x32a847;},'WpqSB':function(_0x3da192,_0x5a3ff6){return _0x3da192+_0x5a3ff6;},'thbLN':function(_0x2b8178,_0x9ac4ea){return _0x2b8178+_0x9ac4ea;},'dPgNb':_0x24b398(0x1d1),'MnfBL':'verification\x20to\x20check\x20its\x20work\x20as\x20it\x20builds.','FSdgZ':function(_0x4e76b7,_0x462d5d){return _0x4e76b7+_0x462d5d;}};console['log'](_0x1ff1d0[_0x24b398(0x1b4)]);_0x4d1975?.[_0x24b398(0x190)]!==undefined&&_0x4d1975['scope']!==_0x1ff1d0['kFjPs']&&(console[_0x24b398(0x1e3)](_0x1ff1d0['mSNdP'](_0x24b398(0x1bc)+_0x1ff1d0[_0x24b398(0x1f9)](String,_0x4d1975['scope'])+_0x24b398(0x1f7)+'Setup\x20always\x20installs\x20at\x20user\x20scope\x20now\x20(cloud\x20profiles\x20make\x20',_0x24b398(0x1b0))),process[_0x24b398(0x1ae)](0x1));_0x4d1975={..._0x4d1975,'scope':_0x1ff1d0[_0x24b398(0x1e9)]};const _0xcab9aa=!existsSync(_0x1ff1d0['upQEl'](getRangerHomeDir));await _0x1ff1d0[_0x24b398(0x193)](ensureRangerDir,_0x1ff1d0['kFjPs']);if(_0x4d1975?.['skipAuth'])console['log'](_0x1ff1d0[_0x24b398(0x1f3)]),_0x347d7e?.[_0x24b398(0x19b)](_0x1ff1d0['ZJTXw'],{'isFirstRun':_0xcab9aa,'method':_0x1ff1d0[_0x24b398(0x1b1)]});else{_0x347d7e?.['trackPhaseStart'](_0x24b398(0x1a9));const _0x5192ff=await authenticate(_0xb93d2c);_0x347d7e?.['trackPhaseEnd'](_0x24b398(0x1a9),{'isFirstRun':_0xcab9aa,'method':_0x5192ff[_0x24b398(0x1d9)]});}_0x347d7e?.[_0x24b398(0x1a4)](_0x1ff1d0['oXClF']);_0x4d1975?.['skipChromium']?console['log'](_0x1ff1d0['DKGEx']):await _0x1ff1d0[_0x24b398(0x19f)](ensureChromium,_0x4d1975?.['withDeps']);_0x347d7e?.['trackPhaseEnd']('chromium',{'isFirstRun':_0xcab9aa,'skipped':!!_0x4d1975?.['skipChromium']}),console['log']('\x0a✅\x20Ranger\x20setup\x20complete!\x0a');const _0x3a6b44=_0x4d1975?.[_0x24b398(0x190)],_0x272e3f=_0x4d1975?.[_0x24b398(0x191)]??![];let _0x39d3e9=null;_0x272e3f?(_0x347d7e?.[_0x24b398(0x1a4)](_0x1ff1d0[_0x24b398(0x189)]),_0x39d3e9=await _0x1ff1d0[_0x24b398(0x193)](ensureOpencodePluginConfig,_0x3a6b44),_0x347d7e?.['trackPhaseEnd'](_0x1ff1d0['RguQE'],{'isFirstRun':_0xcab9aa,'opencode':!![]})):(_0x347d7e?.['trackPhaseStart'](_0x24b398(0x1a3)),await _0x1ff1d0['vbSQi'](ensureClaudePlugin,_0x3a6b44),_0x347d7e?.[_0x24b398(0x19b)](_0x24b398(0x1a3),{'isFirstRun':_0xcab9aa}));if(_0x272e3f&&_0x39d3e9){_0x347d7e?.[_0x24b398(0x1a4)](_0x1ff1d0[_0x24b398(0x1af)]);try{await _0x1ff1d0['awhSx'](installSkill,_0x1ff1d0[_0x24b398(0x201)],{'level':_0x39d3e9[_0x24b398(0x190)],'cliVersion':_0x1ff1d0['vbtfJ'](getCurrentVersion),'platform':_0x24b398(0x191)}),_0x347d7e?.[_0x24b398(0x19b)](_0x1ff1d0[_0x24b398(0x1af)],{'isFirstRun':_0xcab9aa,'opencode':!![]});}catch(_0x25eb35){console['warn'](_0x1ff1d0['uLnvS'],_0x1ff1d0[_0x24b398(0x1f8)](_0x25eb35,Error)?_0x25eb35[_0x24b398(0x1d8)]:_0x25eb35),_0x347d7e?.[_0x24b398(0x19b)](_0x1ff1d0['YneCu'],{'isFirstRun':_0xcab9aa,'opencode':!![],'failed':!![]});}}else _0x347d7e?.['trackPhaseStart'](_0x24b398(0x1a1)),await ensureClaudeSkills(_0x3a6b44),_0x347d7e?.[_0x24b398(0x19b)](_0x24b398(0x1a1),{'isFirstRun':_0xcab9aa});if(_0x4d1975?.[_0x24b398(0x196)])console['log'](_0x1ff1d0[_0x24b398(0x1f5)]);else{if(_0x4d1975?.[_0x24b398(0x1f0)]){_0x347d7e?.[_0x24b398(0x1a4)](_0x1ff1d0[_0x24b398(0x1b7)]);const _0x3f782b=await ensureLocalEnv({'url':_0x4d1975['url'],'force':_0x4d1975?.[_0x24b398(0x18e)],'allowInsecureLocalhost':_0x4d1975?.['allowInsecureLocalhost'],'scope':_0x1ff1d0['kFjPs']},_0x347d7e);_0x347d7e?.[_0x24b398(0x19b)](_0x1ff1d0[_0x24b398(0x1b7)],{'isFirstRun':_0xcab9aa,'profileReady':_0x3f782b['ready'],'userSkipped':_0x3f782b['skipped']});}else console[_0x24b398(0x1c6)](_0x1ff1d0[_0x24b398(0x1e2)](_0x1ff1d0['WpqSB'](_0x1ff1d0[_0x24b398(0x1b2)](_0x1ff1d0['thbLN'](_0x24b398(0x1e7),'\x0a\x20\x20'+bold(_0x24b398(0x1b5))),'\x0a\x20\x20(opens\x20a\x20browser\x20so\x20you\x20can\x20log\x20in\x20once)'),_0x24b398(0x1dc)),_0x24b398(0x1fe)));}if(_0x272e3f)console['log'](_0x1ff1d0[_0x24b398(0x19d)]),console[_0x24b398(0x1c6)]('and\x20prompt\x20the\x20agent\x20like\x20usual.\x20Ranger\x20will\x20create\x20a\x20feature\x20review'),console[_0x24b398(0x1c6)](_0x24b398(0x19e)),console[_0x24b398(0x1c6)](_0x1ff1d0['MnfBL']);else{const _0x145736=bold('/ranger:enable');console['log'](_0x1ff1d0[_0x24b398(0x199)](_0x1ff1d0[_0x24b398(0x1ba)]('\x0aIn\x20Claude\x20Code,\x20run\x20'+_0x145736+'\x20and\x20prompt\x20the\x20coding',_0x24b398(0x1ca))+'\x0ascenarios\x20describing\x20what\x20to\x20verify\x20and\x20then\x20run\x20browser','\x0averification\x20to\x20check\x20its\x20work\x20as\x20it\x20builds.'));}}
|
|
1
|
+
const _0x5a44f3=_0x1b83;(function(_0x889f91,_0x47a982){const _0x5ba1a7=_0x1b83,_0x5ae8f4=_0x889f91();while(!![]){try{const _0x45a841=parseInt(_0x5ba1a7(0x1ac))/0x1+parseInt(_0x5ba1a7(0x1b6))/0x2*(-parseInt(_0x5ba1a7(0x1c1))/0x3)+-parseInt(_0x5ba1a7(0x1db))/0x4+-parseInt(_0x5ba1a7(0x199))/0x5+-parseInt(_0x5ba1a7(0x1d6))/0x6*(-parseInt(_0x5ba1a7(0x1d8))/0x7)+parseInt(_0x5ba1a7(0x1e8))/0x8*(-parseInt(_0x5ba1a7(0x1ff))/0x9)+parseInt(_0x5ba1a7(0x204))/0xa*(parseInt(_0x5ba1a7(0x1a7))/0xb);if(_0x45a841===_0x47a982)break;else _0x5ae8f4['push'](_0x5ae8f4['shift']());}catch(_0x505c23){_0x5ae8f4['push'](_0x5ae8f4['shift']());}}}(_0x4c1e,0x657e0));import{mkdir,writeFile}from'fs/promises';import{join,dirname}from'path';import{existsSync}from'fs';function _0x1b83(_0x97ecfc,_0x59bd05){_0x97ecfc=_0x97ecfc-0x194;const _0x4c1e95=_0x4c1e();let _0x1b8390=_0x4c1e95[_0x97ecfc];return _0x1b8390;}import{createRequire}from'module';import _0x302115 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';import{spawn}from'child_process';const require=createRequire(import.meta.url);export const PLAYWRIGHT_CHROMIUM_INSTALL_FALLBACK_VERSION=_0x5a44f3(0x1f1);const bold=_0x4b7823=>_0x5a44f3(0x1ed)+_0x4b7823+'\x1b[0m';function _0x4c1e(){const _0x1670b5=['url','poxSG','jHLFX','jMnBm','RANGER_CHROMIUM_INSTALL_TIMEOUT_MS','ignore','ylZDK','\x0a❌\x20Profile\x20setup\x20failed:','message','\x0ascenarios\x20describing\x20what\x20to\x20verify\x20and\x20then\x20run\x20browser','\x0a🚀\x20Ranger\x20Setup\x0a','3121390uivLnZ','\x0aIn\x20Claude\x20Code,\x20run\x20','\x20failed\x20(','--with-deps','GOvLu','fKzlw',')\x20of\x20the\x20Playwright\x20Chromium\x20browser\x20is\x20not\x20installed.\x20Install\x20it\x20now?','env','wXGyJ','OAhTl','chromium','✓\x20Stored\x20credentials\x20locally','playwright/package.json','prompt','11lUnZzk','error','pLkgk','tRXgc','\x0a✓\x20Playwright\x20Chromium\x20installed\x20successfully','192150yFNJOz','/ranger:enable','plugin','Could\x20not\x20determine\x20local\x20Playwright\x20version.\x20Install\x20Playwright\x20Chromium\x20using\x20fallback\x20version\x20','bFsNG','\x0aSkipping\x20profile\x20setup\x20(--skip-auth).\x20Run\x20`ranger\x20setup`\x20with\x20auth\x20to\x20add\x20a\x20profile\x20later.\x0a','JinHk','organizationName','Installation\x20failed\x20with\x20exit\x20code\x20','⚠\x20No\x20git\x20repository\x20found.\x20Re-run\x20with\x20`--scope\x20user`\x20to\x20store\x20the\x20profile\x20at\x20~/.ranger/.','187336zHLiRb','user','win32','with\x20scenarios\x20describing\x20what\x20to\x20verify\x20and\x20then\x20run\x20browser','\x0aTo\x20set\x20up\x20a\x20profile\x20for\x20your\x20app,\x20run:','OqLGe','\x0a\x20\x20https://docs.ranger.net/main/concepts/profiles','ouaBL','HjKCa','\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','hAANK','6PeQwhC','ranger\x20setup\x20--scope=','ioFGB','LEYOE','skills','\x0averification\x20to\x20check\x20its\x20work\x20as\x20it\x20builds.','install','...','stdin','znXUN','.gitignore','uQolV','inherit','✓\x20Skipping\x20authentication\x20(--skip-auth)','yKvzd','\x0a✅\x20Ranger\x20setup\x20complete!\x0a','resolve','allowInsecureLocalhost','ttETv','mXOqh','GITHUB_ENV','132144JRHJti','iGHFv','217wpaxSK','\x0a\x20\x20','provided_token','784516qffNpX','Authentication\x20failed:\x20','.\x20Please\x20check\x20your\x20API\x20token\x20and\x20try\x20again.','\x0aagent\x20like\x20usual.\x20Claude\x20will\x20create\x20a\x20feature\x20review\x20with','ATaxN','vdhsn','skipAuth','✓\x20Skipping\x20Chromium\x20check\x20(--skip-chromium)','ZbZvy','status','✓\x20Playwright\x20Chromium\x20browser\x20found','platform','✓\x20Authenticated\x20to\x20','1530240xCcPHk','trackPhaseStart','KOxjA','executablePath','s).\x20On\x20a\x20slow\x20or\x20proxied\x20connection,\x20raise\x20the\x20limit\x20and\x20retry,\x20e.g.:\x0a','\x1b[1m','Validating\x20API\x20token...','auth',');\x20retrying...','1.56.1','and\x20prompt\x20the\x20agent\x20like\x20usual.\x20Ranger\x20will\x20create\x20a\x20feature\x20review','lcVRE','EYkeb','rYwzN','ClphL','HHJhq','local','skipped','\x20and\x20prompt\x20the\x20coding','stdout','cli.js','scope','ready','36XcqNrI','✓\x20Already\x20authenticated\x20to\x20','CfMQZ','success','force','13136810ZJXVlZ','\x20is\x20no\x20longer\x20supported.\x20','\x20install\x20chromium','ISWKc','log','✓\x20Exported\x20credentials\x20for\x20CI','trackPhaseEnd','XeOsp','skipChromium','\x20\x20npx\x20playwright@','AjUPX'];_0x4c1e=function(){return _0x1670b5;};return _0x4c1e();}export function getPlaywrightVersion(){const _0x5907bb=_0x5a44f3,_0x1c5f34={'XLlqz':_0x5907bb(0x1a5),'cDNIs':function(_0x58be2e,_0x4a0f03){return _0x58be2e(_0x4a0f03);}};try{const _0x3ca295=require['resolve'](_0x1c5f34['XLlqz']),_0x2c74fe=_0x1c5f34['cDNIs'](require,_0x3ca295);return _0x2c74fe['version'];}catch{return null;}}function resolveBundledPlaywrightCli(){const _0xfe555a=_0x5a44f3,_0x4c717f={'HxhCe':function(_0x50d5e4,_0x11cc48,_0x1f5e44){return _0x50d5e4(_0x11cc48,_0x1f5e44);},'uQolV':'playwright/package.json'};try{const _0x5b7813=_0x4c717f['HxhCe'](join,dirname(require[_0xfe555a(0x1d1)](_0x4c717f[_0xfe555a(0x1cc)])),_0xfe555a(0x1fc));return existsSync(_0x5b7813)?_0x5b7813:null;}catch{return null;}}const CHROMIUM_INSTALL_TIMEOUT_MS=Number(process['env'][_0x5a44f3(0x213)])||0x927c0;class ChromiumInstallTimeoutError extends Error{}export async function installChromiumBinary(_0x57b324,_0x514e3e=![]){const _0x289c71=_0x5a44f3,_0x2ddbcb={'AjUPX':function(_0x42b0bc){return _0x42b0bc();},'vIMwP':_0x289c71(0x1c7),'jMnBm':_0x289c71(0x1a3),'RWVkG':function(_0x4d2f1c,_0x5f4643){return _0x4d2f1c+_0x5f4643;},'qALtk':function(_0x554b49,_0x1147e3){return _0x554b49(_0x1147e3);}},_0xf714c9=_0x2ddbcb[_0x289c71(0x20e)](resolveBundledPlaywrightCli),_0x20f9ad=_0xf714c9?process['execPath']:'npx',_0x442257=[_0xf714c9??'playwright@'+_0x57b324,_0x2ddbcb['vIMwP'],..._0x514e3e?[_0x289c71(0x19c)]:[],_0x2ddbcb[_0x289c71(0x212)]];let _0x4ee8c4=![];for(let _0xdff05d=0x1;;_0xdff05d++){try{await runChromiumInstall(_0x20f9ad,_0x442257);return;}catch(_0xf12d35){_0xf12d35 instanceof ChromiumInstallTimeoutError&&!_0x4ee8c4&&(_0x4ee8c4=!![],console['log'](_0x2ddbcb['RWVkG']('\x0a\x20\x20Chromium\x20install\x20timed\x20out\x20(limit\x20'+Math['round'](CHROMIUM_INSTALL_TIMEOUT_MS/0x3e8)+_0x289c71(0x1ec),'\x20\x20\x20\x20RANGER_CHROMIUM_INSTALL_TIMEOUT_MS=1800000\x20ranger\x20setup\x20deps')));if(_0xdff05d>=0x3)throw _0xf12d35;const _0x57511b=_0xf12d35 instanceof Error?_0xf12d35['message']:_0x2ddbcb['qALtk'](String,_0xf12d35);console[_0x289c71(0x208)]('\x20\x20Chromium\x20install\x20attempt\x20'+_0xdff05d+_0x289c71(0x19b)+_0x57511b+_0x289c71(0x1f0));}}}function runChromiumInstall(_0x4c9d84,_0x30b640){const _0x726b64=_0x5a44f3,_0x2e32af={'PLhsk':function(_0x4b2c42,_0x5897b9){return _0x4b2c42(_0x5897b9);},'HUnWN':function(_0x2af85f){return _0x2af85f();},'KOxjA':function(_0x482f02,_0xca48fe,_0x4bdfe9,_0x415cff){return _0x482f02(_0xca48fe,_0x4bdfe9,_0x415cff);},'aXCqO':_0x726b64(0x214),'CfMQZ':function(_0x1541ae,_0x573555){return _0x1541ae===_0x573555;},'OqLGe':_0x726b64(0x1b8),'YsJsl':function(_0x409b0a,_0x2a5c04,_0x3168a8){return _0x409b0a(_0x2a5c04,_0x3168a8);},'QLIsj':_0x726b64(0x1a8)};return new Promise((_0x49feea,_0x5028d5)=>{const _0x5c2483=_0x726b64,_0x251df0={'JHxRr':'SIGKILL','rYwzN':function(_0x46e661,_0x38b662){return _0x46e661(_0x38b662);}},_0x1852b8=_0x2e32af[_0x5c2483(0x1ea)](spawn,_0x4c9d84,_0x30b640,{'stdio':[_0x2e32af['aXCqO'],_0x5c2483(0x1cd),_0x5c2483(0x1cd)],'shell':_0x2e32af[_0x5c2483(0x201)](process[_0x5c2483(0x1e6)],_0x2e32af[_0x5c2483(0x1bb)])}),_0x3a7938=_0x2e32af['YsJsl'](setTimeout,()=>{const _0x59f465=_0x5c2483;_0x1852b8['kill'](_0x251df0['JHxRr']),_0x251df0[_0x59f465(0x1f5)](_0x5028d5,new ChromiumInstallTimeoutError('Chromium\x20install\x20timed\x20out\x20after\x20'+Math['round'](CHROMIUM_INSTALL_TIMEOUT_MS/0x3e8)+'s'));},CHROMIUM_INSTALL_TIMEOUT_MS);_0x1852b8['on']('close',_0x5486bf=>{const _0x5c7add=_0x5c2483;_0x2e32af['PLhsk'](clearTimeout,_0x3a7938);if(_0x5486bf===0x0)_0x2e32af['HUnWN'](_0x49feea);else _0x5028d5(new Error(_0x5c7add(0x1b4)+_0x5486bf));}),_0x1852b8['on'](_0x2e32af['QLIsj'],_0x73e0c6=>{clearTimeout(_0x3a7938),_0x5028d5(_0x73e0c6);});});}export async function authenticate(_0x1597d4){const _0x51bc74=_0x5a44f3,_0x5b2c1a={'krtew':function(_0x5921b4){return _0x5921b4();},'ZbZvy':'existing_token','wozSZ':function(_0x4c8446){return _0x4c8446();},'hAANK':function(_0x12a8a8,_0x458a7d){return _0x12a8a8 instanceof _0x458a7d;},'fRRUs':function(_0x1312cb,_0x4787a7){return _0x1312cb(_0x4787a7);},'UehGG':'device_auth','fKzlw':function(_0x12ba08,_0x158e2c){return _0x12ba08(_0x158e2c);},'csErz':_0x51bc74(0x1da)};if(!_0x1597d4){const _0x3ee235=await _0x5b2c1a['krtew'](getToken);if(_0x3ee235){const _0x24579e=await getCurrentUser(_0x3ee235);if(_0x24579e['success'])return console[_0x51bc74(0x208)](_0x51bc74(0x200)+_0x24579e['user'][_0x51bc74(0x1b3)]),{'token':_0x3ee235,'method':_0x5b2c1a[_0x51bc74(0x1e3)]};}try{_0x1597d4=await _0x5b2c1a['wozSZ'](runDeviceAuthFlow);}catch(_0x4a6f8e){throw new Error(_0x51bc74(0x1dc)+(_0x5b2c1a[_0x51bc74(0x1c0)](_0x4a6f8e,Error)?_0x4a6f8e['message']:_0x4a6f8e));}const _0x20ad4b=await _0x5b2c1a['fRRUs'](getCurrentUser,_0x1597d4);if(!_0x20ad4b['success'])throw new Error('Failed\x20to\x20validate\x20provisioned\x20API\x20key:\x20'+_0x20ad4b['error']);return console[_0x51bc74(0x208)](_0x51bc74(0x1e7)+_0x20ad4b['user'][_0x51bc74(0x1b3)]),{'token':_0x1597d4,'method':_0x5b2c1a['UehGG']};}console['log'](_0x51bc74(0x1ee));const _0x4a6d3b=await _0x5b2c1a[_0x51bc74(0x19e)](getCurrentUser,_0x1597d4);if(!_0x4a6d3b[_0x51bc74(0x202)]){if(_0x4a6d3b[_0x51bc74(0x1e4)])throw new Error(_0x51bc74(0x1dc)+_0x4a6d3b['error']+_0x51bc74(0x1dd));else throw new Error('Failed\x20to\x20connect\x20to\x20MCP\x20server:\x20'+_0x4a6d3b['error']+'.\x20Please\x20check\x20your\x20network\x20connection\x20and\x20server\x20URL.');}return console['log'](_0x51bc74(0x1e7)+_0x4a6d3b[_0x51bc74(0x1b7)][_0x51bc74(0x1b3)]),await _0x5b2c1a['fRRUs'](storeToken,_0x1597d4),console[_0x51bc74(0x208)](process[_0x51bc74(0x1a0)][_0x51bc74(0x1d5)]?_0x51bc74(0x209):_0x51bc74(0x1a4)),{'token':_0x1597d4,'method':_0x5b2c1a['csErz']};}export async function ensureRangerDir(_0x47dfb2){const _0x2978af=_0x5a44f3,_0x350ccb={'TQRvK':function(_0x31aa9e){return _0x31aa9e();},'ClphL':function(_0x4b6fa5,_0x63ca8c){return _0x4b6fa5(_0x63ca8c);},'ioFGB':'✓\x20~/.ranger/\x20directory\x20already\x20exists'};void _0x47dfb2;const _0x496bec=_0x350ccb['TQRvK'](getRangerHomeDir);return!_0x350ccb[_0x2978af(0x1f6)](existsSync,_0x496bec)?(await mkdir(_0x496bec,{'recursive':!![]}),console['log']('✓\x20Created\x20~/.ranger/\x20directory'),{'path':_0x496bec,'installed':!![]}):(console[_0x2978af(0x208)](_0x350ccb[_0x2978af(0x1c3)]),{'path':_0x496bec,'installed':![]});}export async function ensureChromium(_0x2cd0bb=![]){const _0x4feb25=_0x5a44f3,_0x38e178={'zgmPj':function(_0x13f00d,_0x451d72){return _0x13f00d(_0x451d72);},'iGHFv':_0x4feb25(0x1e5),'lcVRE':'\x0aInstalling\x20Chromium\x20browser...\x0a','hGoRg':_0x4feb25(0x1ab),'XeOsp':function(_0x26ab70,_0x2d0fb3){return _0x26ab70 instanceof _0x2d0fb3;}};let _0x13cacd=![];try{const _0x1d7900=chromium[_0x4feb25(0x1eb)]();_0x13cacd=_0x38e178['zgmPj'](existsSync,_0x1d7900);}catch{_0x13cacd=![];}if(_0x13cacd)return console[_0x4feb25(0x208)](_0x38e178[_0x4feb25(0x1d7)]),![];const _0x3a93e1=getPlaywrightVersion(),_0x6cdf37=_0x3a93e1??PLAYWRIGHT_CHROMIUM_INSTALL_FALLBACK_VERSION,_0x29b3b0=!_0x3a93e1,_0x503beb=process[_0x4feb25(0x1c9)]['isTTY']&&process[_0x4feb25(0x1fb)]['isTTY'];let _0xb327ec=!![];if(_0x503beb){const {install:_0x95bf60}=await _0x302115[_0x4feb25(0x1a6)]([{'type':'confirm','name':'install','message':_0x29b3b0?_0x4feb25(0x1af)+_0x6cdf37+'\x20now?':'The\x20required\x20version\x20('+_0x6cdf37+_0x4feb25(0x19f),'default':!![]}]);_0xb327ec=_0x95bf60;}else console['log']('\x0aNon-interactive\x20mode:\x20Auto-installing\x20Playwright\x20Chromium\x20'+_0x6cdf37+(_0x29b3b0?'\x20(fallback\x20version)':'')+_0x4feb25(0x1c8));if(_0xb327ec){console['log'](_0x38e178[_0x4feb25(0x1f3)]);try{await installChromiumBinary(_0x6cdf37,_0x2cd0bb),console[_0x4feb25(0x208)](_0x38e178['hGoRg']);}catch(_0x145bb0){console[_0x4feb25(0x1a8)]('\x0a❌\x20Failed\x20to\x20install\x20Chromium:',_0x38e178[_0x4feb25(0x20b)](_0x145bb0,Error)?_0x145bb0['message']:_0x145bb0),console[_0x4feb25(0x208)]('You\x20can\x20install\x20it\x20manually\x20by\x20running:'),console['log'](_0x4feb25(0x20d)+_0x6cdf37+_0x4feb25(0x206));}}else console['log']('\x0a⚠\x20Skipping\x20Chromium\x20installation.'),console['log']('You\x20will\x20need\x20to\x20install\x20it\x20before\x20using\x20Ranger:'),console['log']('\x20\x20npx\x20playwright@'+_0x6cdf37+'\x20install\x20chromium');return!![];}export async function writeRangerGitignore(_0x500026){const _0x4d7feb=_0x5a44f3,_0x3f2745={'bFsNG':_0x4d7feb(0x1cb),'OAhTl':function(_0x4d75bf,_0x235ea0,_0x5d9021){return _0x4d75bf(_0x235ea0,_0x5d9021);}},_0x10dc46=join(_0x500026,_0x3f2745[_0x4d7feb(0x1b0)]),_0x2bace4=_0x4d7feb(0x1bf);await _0x3f2745[_0x4d7feb(0x1a2)](writeFile,_0x10dc46,_0x2bace4),console[_0x4d7feb(0x208)]('✓\x20Created\x20.ranger/.gitignore');}export async function ensureLocalEnv(_0x3d8828,_0x5c32d2){const _0xf59fc4=_0x5a44f3,_0x2ffb1c={'pLkgk':function(_0x523b14,_0x39995e){return _0x523b14!==_0x39995e;},'jHLFX':function(_0x5ee413,_0x3eb043){return _0x5ee413===_0x3eb043;},'Xmtpw':'user','PtrYn':function(_0x31110e){return _0x31110e();},'GOvLu':_0xf59fc4(0x1f8),'ylZDK':'✓\x20Local\x20profile\x20already\x20exists','JinHk':function(_0x2db4ec,_0x4cc7b0,_0x2f0109,_0x310287){return _0x2db4ec(_0x4cc7b0,_0x2f0109,_0x310287);},'iPeEx':_0xf59fc4(0x195),'RxmWM':function(_0xb7e275,_0x39d0f1){return _0xb7e275 instanceof _0x39d0f1;}};if(!findGitRoot()&&_0x2ffb1c[_0xf59fc4(0x1a9)](_0x3d8828?.[_0xf59fc4(0x1fd)],_0xf59fc4(0x1b7)))return console['log'](_0xf59fc4(0x1b5)),{'ready':![],'skipped':!![]};const _0x1f2e25=_0x2ffb1c[_0xf59fc4(0x211)](_0x3d8828?.['scope'],_0x2ffb1c['Xmtpw'])?_0x2ffb1c['PtrYn'](getRangerHomeDir):undefined;if(findExistingEnv('local',{'locations':[_0x2ffb1c[_0xf59fc4(0x19d)]],'rangerDir':_0x1f2e25}))return console['log'](_0x2ffb1c[_0xf59fc4(0x194)]),{'ready':!![],'skipped':![]};try{return await _0x2ffb1c[_0xf59fc4(0x1b2)](addEnv,_0xf59fc4(0x1f8),{'url':_0x3d8828?.[_0xf59fc4(0x20f)],'force':_0x3d8828?.['force'],'allowInsecureLocalhost':_0x3d8828?.['allowInsecureLocalhost'],'scope':_0x3d8828?.[_0xf59fc4(0x1fd)]},_0x5c32d2),{'ready':!![],'skipped':![]};}catch(_0x4325c4){return console['error'](_0x2ffb1c['iPeEx'],_0x2ffb1c['RxmWM'](_0x4325c4,Error)?_0x4325c4[_0xf59fc4(0x196)]:_0x4325c4),{'ready':![],'skipped':![]};}}export async function start(_0x5de9bf,_0xa7ded2,_0x24d33d){const _0x1e5835=_0x5a44f3,_0x225fd4={'yXFMe':_0x1e5835(0x198),'ATaxN':function(_0x182b40,_0x74cb6d){return _0x182b40!==_0x74cb6d;},'EYkeb':function(_0x5310f7,_0x3bb485){return _0x5310f7+_0x3bb485;},'yKvzd':_0x1e5835(0x1b7),'ywVSw':function(_0x52bb94,_0x182cfb){return _0x52bb94(_0x182cfb);},'ISWKc':_0x1e5835(0x1ce),'YMBCk':_0x1e5835(0x1ef),'HjKCa':_0x1e5835(0x1a3),'wXGyJ':_0x1e5835(0x1e2),'mXOqh':_0x1e5835(0x1d0),'HHJhq':'plugin','bIyby':function(_0x355939,_0x1162ea){return _0x355939&&_0x1162ea;},'znXUN':_0x1e5835(0x1c5),'CQyAj':'opencode','NoavU':'profile','ttETv':function(_0x55c8e8,_0x1cc143,_0x1a835c){return _0x55c8e8(_0x1cc143,_0x1a835c);},'tRXgc':function(_0x26306a,_0x3c383b){return _0x26306a+_0x3c383b;},'unxMS':function(_0x558273,_0x44c445){return _0x558273+_0x44c445;},'ouaBL':function(_0x565e8b,_0x2352f1){return _0x565e8b+_0x2352f1;},'poxSG':'ranger\x20profile\x20add\x20<name>','jWrmN':'verification\x20to\x20check\x20its\x20work\x20as\x20it\x20builds.','vdhsn':function(_0x3a1c75,_0x2d622e){return _0x3a1c75(_0x2d622e);},'KvkAP':_0x1e5835(0x1ad),'LEYOE':function(_0x3180e3,_0x497590){return _0x3180e3+_0x497590;}};console[_0x1e5835(0x208)](_0x225fd4['yXFMe']);_0x225fd4[_0x1e5835(0x1df)](_0xa7ded2?.[_0x1e5835(0x1fd)],undefined)&&_0xa7ded2['scope']!=='user'&&(console[_0x1e5835(0x1a8)](_0x225fd4['EYkeb'](_0x1e5835(0x1c2)+String(_0xa7ded2['scope'])+_0x1e5835(0x205),'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));_0xa7ded2={..._0xa7ded2,'scope':_0x225fd4[_0x1e5835(0x1cf)]};const _0x139ff7=!_0x225fd4['ywVSw'](existsSync,getRangerHomeDir());await ensureRangerDir('user');if(_0xa7ded2?.['skipAuth'])console[_0x1e5835(0x208)](_0x225fd4[_0x1e5835(0x207)]),_0x24d33d?.[_0x1e5835(0x20a)](_0x225fd4['YMBCk'],{'isFirstRun':_0x139ff7,'method':_0x1e5835(0x1f9)});else{_0x24d33d?.['trackPhaseStart']('auth');const _0x234690=await authenticate(_0x5de9bf);_0x24d33d?.['trackPhaseEnd']('auth',{'isFirstRun':_0x139ff7,'method':_0x234690['method']});}_0x24d33d?.['trackPhaseStart'](_0x225fd4[_0x1e5835(0x1be)]);_0xa7ded2?.['skipChromium']?console[_0x1e5835(0x208)](_0x225fd4[_0x1e5835(0x1a1)]):await ensureChromium(_0xa7ded2?.['withDeps']);_0x24d33d?.['trackPhaseEnd'](_0x1e5835(0x1a3),{'isFirstRun':_0x139ff7,'skipped':!!_0xa7ded2?.[_0x1e5835(0x20c)]}),console['log'](_0x225fd4[_0x1e5835(0x1d4)]);const _0x256c7=_0xa7ded2?.['scope'],_0x6ddeeb=_0xa7ded2?.['opencode']??![];let _0x1a1e91=null;_0x6ddeeb?(_0x24d33d?.['trackPhaseStart'](_0x1e5835(0x1ae)),_0x1a1e91=await ensureOpencodePluginConfig(_0x256c7),_0x24d33d?.[_0x1e5835(0x20a)](_0x225fd4[_0x1e5835(0x1f7)],{'isFirstRun':_0x139ff7,'opencode':!![]})):(_0x24d33d?.['trackPhaseStart'](_0x225fd4[_0x1e5835(0x1f7)]),await ensureClaudePlugin(_0x256c7),_0x24d33d?.[_0x1e5835(0x20a)](_0x225fd4['HHJhq'],{'isFirstRun':_0x139ff7}));if(_0x225fd4['bIyby'](_0x6ddeeb,_0x1a1e91)){_0x24d33d?.['trackPhaseStart'](_0x225fd4['znXUN']);try{await installSkill('ranger',{'level':_0x1a1e91['scope'],'cliVersion':getCurrentVersion(),'platform':_0x225fd4['CQyAj']}),_0x24d33d?.[_0x1e5835(0x20a)](_0x225fd4[_0x1e5835(0x1ca)],{'isFirstRun':_0x139ff7,'opencode':!![]});}catch(_0x17d8b9){console['warn']('\x20\x20Failed\x20to\x20install\x20OpenCode\x20skill:',_0x17d8b9 instanceof Error?_0x17d8b9['message']:_0x17d8b9),_0x24d33d?.['trackPhaseEnd'](_0x225fd4['znXUN'],{'isFirstRun':_0x139ff7,'opencode':!![],'failed':!![]});}}else _0x24d33d?.[_0x1e5835(0x1e9)]('skills'),await ensureClaudeSkills(_0x256c7),_0x24d33d?.[_0x1e5835(0x20a)](_0x1e5835(0x1c5),{'isFirstRun':_0x139ff7});if(_0xa7ded2?.[_0x1e5835(0x1e1)])console['log'](_0x1e5835(0x1b1));else{if(_0xa7ded2?.[_0x1e5835(0x20f)]){_0x24d33d?.['trackPhaseStart'](_0x225fd4['NoavU']);const _0x249d0c=await _0x225fd4[_0x1e5835(0x1d3)](ensureLocalEnv,{'url':_0xa7ded2['url'],'force':_0xa7ded2?.[_0x1e5835(0x203)],'allowInsecureLocalhost':_0xa7ded2?.[_0x1e5835(0x1d2)],'scope':_0x1e5835(0x1b7)},_0x24d33d);_0x24d33d?.[_0x1e5835(0x20a)]('profile',{'isFirstRun':_0x139ff7,'profileReady':_0x249d0c[_0x1e5835(0x1fe)],'userSkipped':_0x249d0c[_0x1e5835(0x1f9)]});}else console[_0x1e5835(0x208)](_0x225fd4[_0x1e5835(0x1aa)](_0x225fd4['unxMS'](_0x225fd4[_0x1e5835(0x1bd)](_0x1e5835(0x1ba),_0x1e5835(0x1d9)+_0x225fd4['ywVSw'](bold,_0x225fd4[_0x1e5835(0x210)]))+'\x0a\x20\x20(opens\x20a\x20browser\x20so\x20you\x20can\x20log\x20in\x20once)','\x0a\x0aFor\x20CI\x20/\x20background\x20agents\x20and\x20other\x20setup\x20options,\x20see:'),_0x1e5835(0x1bc)));}if(_0x6ddeeb)console[_0x1e5835(0x208)]('\x0aIn\x20OpenCode,\x20enable\x20Ranger\x20hooks\x20(run\x20the\x20`ranger_enable`\x20tool)'),console['log'](_0x1e5835(0x1f2)),console[_0x1e5835(0x208)](_0x1e5835(0x1b9)),console['log'](_0x225fd4['jWrmN']);else{const _0x4f92c1=_0x225fd4[_0x1e5835(0x1e0)](bold,_0x225fd4['KvkAP']);console[_0x1e5835(0x208)](_0x225fd4[_0x1e5835(0x1f4)](_0x225fd4[_0x1e5835(0x1c4)](_0x1e5835(0x19a)+_0x4f92c1+_0x1e5835(0x1fa),_0x1e5835(0x1de)),_0x1e5835(0x197))+_0x1e5835(0x1c6));}}
|
package/build/commands/status.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
function _0x4304(_0xcafff2,_0x5d8e1b){_0xcafff2=_0xcafff2-0x132;const _0x129839=_0x1298();let _0x43042d=_0x129839[_0xcafff2];return _0x43042d;}const _0xc41c0=_0x4304;(function(_0x47bce4,_0x2f8146){const _0x335b44=_0x4304,_0xda0d72=_0x47bce4();while(!![]){try{const _0x2170db=parseInt(_0x335b44(0x150))/0x1*(-parseInt(_0x335b44(0x19e))/0x2)+parseInt(_0x335b44(0x176))/0x3*(-parseInt(_0x335b44(0x199))/0x4)+parseInt(_0x335b44(0x1a0))/0x5+-parseInt(_0x335b44(0x140))/0x6+parseInt(_0x335b44(0x182))/0x7+-parseInt(_0x335b44(0x172))/0x8+parseInt(_0x335b44(0x17f))/0x9;if(_0x2170db===_0x2f8146)break;else _0xda0d72['push'](_0xda0d72['shift']());}catch(_0x158dc2){_0xda0d72['push'](_0xda0d72['shift']());}}}(_0x1298,0xef523));import{readFile,readdir}from'fs/promises';import{join,basename}from'path';import{existsSync}from'fs';import{getToken}from'./utils/keychain.js';import{getCurrentVersion,getLatestVersion}from'./utils/version.js';import{getApiBaseUrl,getCurrentEnvironment}from'./utils/environment.js';import{getProjectSkillsDir,getUserSkillsDir}from'./utils/claudeConfig.js';import{getEnvNames}from'./env.js';import{getCurrentUser}from'./utils/userApi.js';import{getRangerDir}from'./utils/rangerRoot.js';import{getEnvDir}from'./utils/settings.js';import{listCloudProfiles}from'./utils/cloudProfile.js';import{getPluginInfo}from'./utils/claudePlugin.js';import{RANGER_MANAGED_SKILLS}from'./utils/skills.js';import{spawn}from'child_process';function _0x1298(){const _0x2c5a7f=['\x1b[1m','fcfYu','status','eqMFM','enabled','4742qpWIGl','plugin','stdout','API\x20Token:\x20✗\x20Not\x20found','plaintext','ztddo',':\x20configured','\x20(active)','brDmH','length','EWFGW','ZFtTY','tmgOI','name','no\x20session','sessionUpdatedAt','oLDVQ','unknown','No\x20profiles\x20configured','API\x20URL:\x20','dxvAm','isActive','\x20\x20\x20\x20Settings:\x20','(not\x20found)','\x20\x20Run:\x20ranger\x20setup\x20[token]','\x20\x20Active:\x20','log','XCGkc','HnSJL','includes','\x20profiles\x20configured\x20(','parse','trim','ignore','12126904ODQKqr','string','path','API\x20Token:\x20✓\x20Found\x20but\x20invalid\x20or\x20expired','2498280AQSPBn','data','details','auth.json','MuPja','\x20\x20User-level:','hasPlaintextAuth','\x20\x20Run:\x20ranger\x20profile\x20add\x20<profile-name>','\x20(up\x20to\x20date)','18347166ISUsao','\x20\x20\x20\x20','isDirectory','5227852vjGZBL','WfVxU','\x20\x20Run:\x20ranger\x20skillup','ZMuso','configured','\x20\x20Run:\x20ranger\x20setup\x20[token]\x20\x20(includes\x20plugin\x20installation)','some','map','stderr','not_installed','\x20plugin(s)\x20configured','Yulfo','\x20\x20Run:\x20ranger\x20setup\x20--opencode','\x0a---\x20Claude\x20Code\x20Plugin\x20---','rFyzK','cached\x20(updated\x20','toString','RMvhD','version','ilmcd','has','vhYHg','gIYNo','4fCLRJG','kdGlO','OweNw','No\x20skills\x20installed','ESKZn','254tLqVAH','organizationName','7418345NWYtuq','settingsPath','\x20\x20Project-level:','\x20(latest:\x20','success','join','jRzfT','\x20\x20Not\x20configured','settings.json','hCIUy','fmdwY','auth.json.enc','DEBUG','\x20\x20\x20\x20Auth:\x20','Srldm','2027778ZUjUdH','user','SFBCv','match','AQNtJ','pipe','\x20\x20Run:\x20ranger\x20profile\x20use\x20<profile-name>\x20\x20(available:\x20','push','fOwKF','Root:\x20','opencode-plugin'];_0x1298=function(){return _0x2c5a7f;};return _0x1298();}const bold=_0xe09a8e=>_0xc41c0(0x14b)+_0xe09a8e+'\x1b[0m',link=(_0x4b03ac,_0xabdad8)=>'\x1b]8;;file://'+_0x4b03ac+'\x07'+(_0xabdad8||_0x4b03ac)+'\x1b]8;;\x07';async function getOpencodePluginStatus(){const _0x5ebb0e=_0xc41c0,_0x342f08={'akbXI':function(_0xddab06,_0x134a3b){return _0xddab06(_0x134a3b);},'bsToI':_0x5ebb0e(0x186),'ZFtTY':function(_0x271497,_0x126175){return _0x271497(_0x126175);},'FYSDz':function(_0x5478ac,_0x523bab,_0xdada2c,_0x3e957c){return _0x5478ac(_0x523bab,_0xdada2c,_0x3e957c);},'pkmaI':'debug','hCIUy':'pipe','ClSiG':_0x5ebb0e(0x177),'fcfYu':'close'};return new Promise(_0x196082=>{const _0x572e29=_0x5ebb0e,_0x94ffe9={'ESKZn':_0x572e29(0x18b),'EWFGW':function(_0x349fb9,_0x2e732b){return _0x349fb9!==_0x2e732b;},'oLDVQ':function(_0x398765,_0x42f390){return _0x342f08['akbXI'](_0x398765,_0x42f390);},'dxvAm':_0x342f08['bsToI'],'AQNtJ':function(_0x4d1a81,_0x5808a4){return _0x4d1a81>_0x5808a4;},'sExLQ':function(_0x3ac7a3,_0x28d9f4){const _0x42273c=_0x572e29;return _0x342f08[_0x42273c(0x15b)](_0x3ac7a3,_0x28d9f4);}},_0x569f00=_0x342f08['FYSDz'](spawn,'opencode',[_0x342f08['pkmaI'],'config'],{'stdio':[_0x572e29(0x171),_0x342f08[_0x572e29(0x13a)],_0x572e29(0x145)]});let _0x5d4ed1='';_0x569f00[_0x572e29(0x152)]?.['on'](_0x342f08['ClSiG'],_0x2b5d2d=>{_0x5d4ed1+=_0x2b5d2d['toString']();}),_0x569f00[_0x572e29(0x18a)]?.['on'](_0x572e29(0x177),_0x24a1b1=>{const _0x1790c7=_0x572e29;_0x5d4ed1+=_0x24a1b1[_0x1790c7(0x192)]();}),_0x569f00['on']('error',()=>{const _0x125328=_0x572e29;_0x196082({'status':_0x94ffe9[_0x125328(0x19d)]});}),_0x569f00['on'](_0x342f08[_0x572e29(0x14c)],_0x25404a=>{const _0x35b447=_0x572e29;if(_0x94ffe9[_0x35b447(0x15a)](_0x25404a,0x0)){_0x94ffe9[_0x35b447(0x160)](_0x196082,{'status':_0x94ffe9[_0x35b447(0x19d)]});return;}const _0x30a48d=_0x5d4ed1['trim']();let _0x1f7692=null;if(_0x30a48d)try{_0x1f7692=JSON[_0x35b447(0x16f)](_0x30a48d);}catch{const _0x2fac9a=_0x30a48d['match'](/\{[\s\S]*\}$/);if(_0x2fac9a)try{_0x1f7692=JSON['parse'](_0x2fac9a[0x0]);}catch{_0x1f7692=null;}}const _0x5aff46=Array['isArray'](_0x1f7692?.['plugin'])?_0x1f7692?.[_0x35b447(0x151)]:[],_0xd2de04=_0x5aff46[_0x35b447(0x188)](_0x33bc5c=>{const _0x34d0d5=_0x35b447;if(typeof _0x33bc5c!==_0x34d0d5(0x173))return![];return _0x33bc5c['includes']('@ranger-testing/opencode-plugin')||_0x33bc5c[_0x34d0d5(0x16d)](_0x34d0d5(0x14a));});if(_0xd2de04){_0x196082({'status':_0x94ffe9[_0x35b447(0x164)],'details':_0x5aff46[_0x35b447(0x159)]>0x0?_0x5aff46['length']+_0x35b447(0x18c):undefined});return;}if(_0x94ffe9[_0x35b447(0x144)](_0x5aff46['length'],0x0)){_0x94ffe9['sExLQ'](_0x196082,{'status':'not_configured','details':_0x5aff46[_0x35b447(0x159)]+_0x35b447(0x18c)});return;}_0x196082({'status':'not_configured'});});});}async function getSkillsFromDir(_0x5900a8,_0x49a95e){const _0x1921d6=_0xc41c0,_0x3fb09f={'WTRSy':function(_0x5f540c,_0x4e2e77){return _0x5f540c(_0x4e2e77);},'KOaDu':function(_0x16c538,_0x1c815b,_0xbfa5ce,_0x504344){return _0x16c538(_0x1c815b,_0xbfa5ce,_0x504344);},'VHibt':function(_0x11a47a,_0x13c4f9,_0xbf8be9){return _0x11a47a(_0x13c4f9,_0xbf8be9);},'OweNw':'utf-8'};if(!_0x3fb09f['WTRSy'](existsSync,_0x5900a8))return[];const _0x8443b7=[];try{const _0x1b3b58=await readdir(_0x5900a8,{'withFileTypes':!![]});for(const _0x3dd47d of _0x1b3b58){if(_0x3dd47d[_0x1921d6(0x181)]()){const _0x276a6a=_0x3fb09f['KOaDu'](join,_0x5900a8,_0x3dd47d[_0x1921d6(0x15d)],'SKILL.md');if(existsSync(_0x276a6a)){let _0x201597=_0x3dd47d['name'];try{const _0x83c7c6=await _0x3fb09f['VHibt'](readFile,_0x276a6a,_0x3fb09f[_0x1921d6(0x19b)]),_0x349544=_0x83c7c6[_0x1921d6(0x143)](/name:\s*(.+)/);_0x349544&&(_0x201597=_0x349544[0x1][_0x1921d6(0x170)]());}catch{}_0x8443b7[_0x1921d6(0x147)]({'name':_0x3dd47d[_0x1921d6(0x15d)],'displayName':_0x201597,'path':_0x276a6a,'level':_0x49a95e});}}}}catch{return[];}return _0x8443b7;}async function getInstalledSkills(){const _0x63d103=_0xc41c0,_0x36b5e3={'gIYNo':'project'},[_0x572e8a,_0x5c6fc4]=await Promise['all']([getSkillsFromDir(getProjectSkillsDir(),_0x36b5e3[_0x63d103(0x198)]),getSkillsFromDir(getUserSkillsDir(),_0x63d103(0x141))]);return{'project':_0x572e8a,'user':_0x5c6fc4};}async function getEnvironments(){const _0x243cb7=_0xc41c0,_0x334e30={'lihKW':_0x243cb7(0x139),'ztddo':function(_0x1a0b4b,_0x2d0057,_0x574102){return _0x1a0b4b(_0x2d0057,_0x574102);},'jRzfT':function(_0x5ece43,_0x5606b2){return _0x5ece43(_0x5606b2);},'Srldm':'(not\x20found)','eqMFM':function(_0x9f7fcc,_0x11f3b2){return _0x9f7fcc(_0x11f3b2);}},{envNames:_0x5dfe46,activeEnv:_0x3ccf54}=await getEnvNames(),_0x19b4c3=getRangerDir();if(!_0x334e30[_0x243cb7(0x14e)](existsSync,_0x19b4c3))return{'envs':[],'activeEnv':null};const _0x1660ef=_0x5dfe46['map'](_0x43e6fb=>{const _0x134d7d=_0x243cb7,_0x5f21da=getEnvDir(_0x43e6fb),_0x5ef797=join(_0x5f21da,_0x334e30['lihKW']),_0xff2afc=join(_0x5f21da,_0x134d7d(0x179)),_0x33f650=_0x334e30[_0x134d7d(0x155)](join,_0x5f21da,_0x134d7d(0x13c));return{'name':_0x43e6fb,'settingsPath':_0x334e30[_0x134d7d(0x137)](existsSync,_0x5ef797)?_0x5ef797:_0x334e30[_0x134d7d(0x13f)],'hasPlaintextAuth':existsSync(_0xff2afc),'hasEncryptedAuth':existsSync(_0x33f650),'isActive':_0x43e6fb===_0x3ccf54};});return{'envs':_0x1660ef,'activeEnv':_0x3ccf54};}export async function status(){const _0xd12cb5=_0xc41c0,_0x8646ab={'QrrcI':'\x0a📊\x20Ranger\x20Status\x0a','tmgOI':function(_0x3623e3){return _0x3623e3();},'EFfMh':function(_0x1a99a1,_0x334dad){return _0x1a99a1(_0x334dad);},'PjliJ':function(_0x57fd91,_0x289072){return _0x57fd91(_0x289072);},'Yulfo':function(_0xa2408f){return _0xa2408f();},'rFyzK':function(_0x3583a5){return _0x3583a5();},'fOwKF':function(_0x3b4a19,_0x57a53b){return _0x3b4a19(_0x57a53b);},'UDQHk':function(_0x1db805){return _0x1db805();},'yOlqd':'\x0a---\x20OpenCode\x20Plugin\x20---','XCGkc':function(_0x233ff5,_0xf8cafc){return _0x233ff5(_0xf8cafc);},'brDmH':function(_0x2c3198,_0x26bfcf){return _0x2c3198===_0x26bfcf;},'PSNot':_0xd12cb5(0x138),'ilmcd':_0xd12cb5(0x18e),'kdGlO':_0xd12cb5(0x18f),'MuPja':'ranger@trailhead','jjaTW':_0xd12cb5(0x161),'PtTil':'disabled','fmdwY':function(_0x5af2b5,_0x1415a6){return _0x5af2b5+_0x1415a6;},'MicIz':_0xd12cb5(0x19c),'QZxkX':_0xd12cb5(0x133),'PGwxb':function(_0x3b1a5f,_0x39c48e,_0x3f9b8e){return _0x3b1a5f(_0x39c48e,_0x3f9b8e);},'uExJs':function(_0x3ddcc4,_0x30637a){return _0x3ddcc4(_0x30637a);},'ZMuso':function(_0xc67c2b,_0x1e18fe){return _0xc67c2b>_0x1e18fe;},'kywBf':function(_0x138c7e,_0x3be351){return _0x138c7e(_0x3be351);},'IMBvy':function(_0x36bce0){return _0x36bce0();},'SFBCv':function(_0x42e901,_0x2a1e2a){return _0x42e901+_0x2a1e2a;},'RVajP':function(_0xb35f5c,_0x939117){return _0xb35f5c(_0x939117);},'WfVxU':function(_0x5990f8,_0x19be7f){return _0x5990f8===_0x19be7f;},'vhYHg':_0xd12cb5(0x157),'RMvhD':'none','OGccY':function(_0x58638e,_0x309195){return _0x58638e!==_0x309195;},'HnSJL':_0xd12cb5(0x167),'JoPPU':function(_0x48835e,_0x3a0cf5){return _0x48835e(_0x3a0cf5);}};console['log'](_0x8646ab['QrrcI']);const _0x3dc3b2=process['cwd'](),_0x3b6cc1=_0x8646ab[_0xd12cb5(0x15c)](getRangerDir);if(!existsSync(_0x3b6cc1)){console['log'](_0xd12cb5(0x149)+link(_0x3dc3b2,bold(basename(_0x3dc3b2)))),console[_0xd12cb5(0x16a)]('\x0aRanger\x20has\x20not\x20been\x20initialized\x20in\x20this\x20directory.'),console['log']('\x20\x20Run:\x20ranger\x20setup\x20[token]\x0a');return;}console[_0xd12cb5(0x16a)](_0xd12cb5(0x149)+link(_0x3dc3b2,_0x8646ab['EFfMh'](bold,_0x8646ab['PjliJ'](basename,_0x3dc3b2))));const _0x39fcea=_0x8646ab[_0xd12cb5(0x18d)](getCurrentVersion),_0x197c6a=getLatestVersion();if(_0x197c6a[_0xd12cb5(0x194)]&&_0x197c6a['version']!==_0x39fcea)console['log']('Version:\x20'+_0x39fcea+_0xd12cb5(0x134)+_0x197c6a[_0xd12cb5(0x194)]+')'),console['log']('\x20\x20Run:\x20ranger\x20update');else _0x197c6a[_0xd12cb5(0x194)]?console['log']('Version:\x20'+_0x39fcea+_0xd12cb5(0x17e)):console[_0xd12cb5(0x16a)]('Version:\x20'+_0x39fcea);const _0x1b8433=await _0x8646ab[_0xd12cb5(0x190)](getToken);if(_0x1b8433){const _0x313612=await _0x8646ab[_0xd12cb5(0x148)](getCurrentUser,_0x1b8433);_0x313612[_0xd12cb5(0x135)]?console['log']('Organization:\x20'+bold(_0x313612[_0xd12cb5(0x141)][_0xd12cb5(0x19f)])):(console[_0xd12cb5(0x16a)](_0xd12cb5(0x175)),console[_0xd12cb5(0x16a)](_0xd12cb5(0x168)));}else console['log'](_0xd12cb5(0x153)),console['log'](_0xd12cb5(0x168));process['env'][_0xd12cb5(0x13d)]&&(console[_0xd12cb5(0x16a)]('API\x20Environment:\x20'+_0x8646ab['UDQHk'](getCurrentEnvironment)),console[_0xd12cb5(0x16a)](_0xd12cb5(0x163)+_0x8646ab['rFyzK'](getApiBaseUrl)));console['log'](_0x8646ab['yOlqd']);const _0x1d3671=await _0x8646ab[_0xd12cb5(0x18d)](getOpencodePluginStatus);if(_0x1d3671[_0xd12cb5(0x14d)]===_0xd12cb5(0x186))console[_0xd12cb5(0x16a)]('\x20\x20'+_0x8646ab[_0xd12cb5(0x16b)](bold,'@ranger-testing/opencode-plugin')+_0xd12cb5(0x156)),_0x1d3671['details']&&console[_0xd12cb5(0x16a)]('\x20\x20'+_0x1d3671[_0xd12cb5(0x178)]);else _0x8646ab['brDmH'](_0x1d3671['status'],'not_configured')?(console['log'](_0x8646ab['PSNot']),_0x1d3671['details']&&console[_0xd12cb5(0x16a)]('\x20\x20'+_0x1d3671[_0xd12cb5(0x178)]),console[_0xd12cb5(0x16a)](_0x8646ab[_0xd12cb5(0x195)])):console['log']('\x20\x20OpenCode\x20not\x20installed\x20or\x20not\x20available');console['log'](_0x8646ab[_0xd12cb5(0x19a)]);const _0x3f7c41=await _0x8646ab['EFfMh'](getPluginInfo,_0x8646ab[_0xd12cb5(0x17a)]);if(_0x3f7c41){const _0x4d5118=_0x3f7c41['scope']||_0x8646ab['jjaTW'],_0x2e9ac9=_0x3f7c41[_0xd12cb5(0x14f)]?_0xd12cb5(0x14f):_0x8646ab['PtTil'];console['log']('\x20\x20'+bold(_0x8646ab['MuPja'])+':\x20installed\x20('+_0x4d5118+',\x20'+_0x2e9ac9+')');}else console[_0xd12cb5(0x16a)]('\x20\x20Not\x20installed'),console[_0xd12cb5(0x16a)](_0xd12cb5(0x187));console['log']('\x0a---\x20Skills\x20---');const {project:_0x5edb1b,user:_0x137866}=await getInstalledSkills(),_0xcd6985=_0x5edb1b['filter'](_0x5f4015=>RANGER_MANAGED_SKILLS['includes'](_0x5f4015[_0xd12cb5(0x15d)])),_0x4bc395=_0x137866['filter'](_0x5918b1=>RANGER_MANAGED_SKILLS[_0xd12cb5(0x16d)](_0x5918b1['name'])),_0x369442=_0x8646ab[_0xd12cb5(0x13b)](_0xcd6985[_0xd12cb5(0x159)],_0x4bc395['length']);if(_0x8646ab['brDmH'](_0x369442,0x0))console[_0xd12cb5(0x16a)](_0x8646ab['MicIz']),console['log'](_0xd12cb5(0x184));else{if(_0xcd6985['length']>0x0){console[_0xd12cb5(0x16a)](_0x8646ab['QZxkX']);for(const _0x3c04e5 of _0xcd6985){console[_0xd12cb5(0x16a)]('\x20\x20\x20\x20'+bold(_0x3c04e5['displayName'])+':\x20'+_0x8646ab['PGwxb'](link,_0x3c04e5[_0xd12cb5(0x174)],_0x8646ab['uExJs'](basename,_0x3c04e5['path'])));}}if(_0x8646ab[_0xd12cb5(0x185)](_0x4bc395[_0xd12cb5(0x159)],0x0)){console[_0xd12cb5(0x16a)](_0xd12cb5(0x17b));for(const _0x4963f0 of _0x4bc395){console['log'](_0xd12cb5(0x180)+_0x8646ab['kywBf'](bold,_0x4963f0['displayName'])+':\x20'+link(_0x4963f0[_0xd12cb5(0x174)],basename(_0x4963f0['path'])));}}}console[_0xd12cb5(0x16a)]('\x0a---\x20Profiles\x20---');const {envs:_0x455c03,activeEnv:_0x41960b}=await _0x8646ab['IMBvy'](getEnvironments);let _0x28e267=[];if(_0x1b8433)try{_0x28e267=await listCloudProfiles();}catch{}const _0xece26b=_0x8646ab[_0xd12cb5(0x142)](_0x455c03[_0xd12cb5(0x159)],_0x28e267[_0xd12cb5(0x159)]);if(_0x8646ab[_0xd12cb5(0x158)](_0xece26b,0x0))console[_0xd12cb5(0x16a)](_0xd12cb5(0x162)),console[_0xd12cb5(0x16a)](_0xd12cb5(0x17d));else{if(_0xece26b>0x5){const _0x2cc6cd=[];_0x8646ab[_0xd12cb5(0x185)](_0x28e267['length'],0x0)&&_0x2cc6cd['push'](_0x28e267['length']+'\x20cloud'),_0x8646ab[_0xd12cb5(0x185)](_0x455c03[_0xd12cb5(0x159)],0x0)&&_0x2cc6cd[_0xd12cb5(0x147)](_0x455c03[_0xd12cb5(0x159)]+'\x20local'),console['log'](_0xece26b+_0xd12cb5(0x16e)+_0x2cc6cd[_0xd12cb5(0x136)](',\x20')+')'),_0x41960b&&console['log'](_0xd12cb5(0x169)+_0x8646ab['RVajP'](bold,_0x41960b)),console[_0xd12cb5(0x16a)]('\x20\x20Run:\x20ranger\x20profile\x20ls\x20\x20(list\x20all)');}else{for(const _0x43de5a of _0x28e267){const _0x20037e=_0x8646ab[_0xd12cb5(0x183)](_0x43de5a[_0xd12cb5(0x15d)],_0x41960b)?_0x8646ab[_0xd12cb5(0x197)]:'';console['log']('\x20\x20'+bold(_0x43de5a[_0xd12cb5(0x15d)])+'\x20[cloud]'+_0x20037e);const _0x17d1bb=_0x43de5a[_0xd12cb5(0x15f)]?_0xd12cb5(0x191)+_0x43de5a['sessionUpdatedAt']+')':_0xd12cb5(0x15e);console[_0xd12cb5(0x16a)]('\x20\x20\x20\x20Session:\x20'+_0x17d1bb);}const _0x7f6a2e=new Set(_0x28e267['map'](_0x26531c=>_0x26531c[_0xd12cb5(0x15d)]));for(const _0x2a27ee of _0x455c03){if(_0x7f6a2e['has'](_0x2a27ee['name']))continue;const _0x4a7bc4=_0x2a27ee[_0xd12cb5(0x165)]?_0xd12cb5(0x157):'',_0x2af7a9=_0x2a27ee['hasEncryptedAuth']?'encrypted':_0x2a27ee[_0xd12cb5(0x17c)]?_0xd12cb5(0x154):_0x8646ab[_0xd12cb5(0x193)];console[_0xd12cb5(0x16a)]('\x20\x20'+bold(_0x2a27ee[_0xd12cb5(0x15d)])+'\x20[local]'+_0x4a7bc4),console['log'](_0xd12cb5(0x13e)+_0x2af7a9),_0x8646ab['OGccY'](_0x2a27ee['settingsPath'],_0x8646ab[_0xd12cb5(0x16c)])&&console[_0xd12cb5(0x16a)](_0xd12cb5(0x166)+link(_0x2a27ee[_0xd12cb5(0x132)],_0x8646ab['JoPPU'](basename,_0x2a27ee['settingsPath'])));}if(!_0x41960b){console[_0xd12cb5(0x16a)]('\x0a\x20\x20No\x20active\x20profile\x20set');const _0x29b18d=[..._0x28e267[_0xd12cb5(0x189)](_0x1aca85=>_0x1aca85['name']),..._0x455c03['filter'](_0x4c986e=>!_0x7f6a2e[_0xd12cb5(0x196)](_0x4c986e[_0xd12cb5(0x15d)]))['map'](_0x3296c5=>_0x3296c5['name'])];console[_0xd12cb5(0x16a)](_0xd12cb5(0x146)+_0x29b18d['join'](',\x20')+')');}}}console[_0xd12cb5(0x16a)]('');}
|
|
1
|
+
const _0x5a07d7=_0x8c6c;function _0x8c6c(_0x22f4a9,_0x23212e){_0x22f4a9=_0x22f4a9-0x123;const _0x58972b=_0x5897();let _0x8c6c6c=_0x58972b[_0x22f4a9];return _0x8c6c6c;}(function(_0x4c0542,_0x254a5f){const _0x3a06a9=_0x8c6c,_0x5aa455=_0x4c0542();while(!![]){try{const _0x34e823=-parseInt(_0x3a06a9(0x149))/0x1*(parseInt(_0x3a06a9(0x17c))/0x2)+parseInt(_0x3a06a9(0x18f))/0x3+parseInt(_0x3a06a9(0x147))/0x4+-parseInt(_0x3a06a9(0x153))/0x5*(-parseInt(_0x3a06a9(0x13b))/0x6)+-parseInt(_0x3a06a9(0x13f))/0x7*(parseInt(_0x3a06a9(0x145))/0x8)+parseInt(_0x3a06a9(0x143))/0x9+-parseInt(_0x3a06a9(0x126))/0xa*(parseInt(_0x3a06a9(0x13d))/0xb);if(_0x34e823===_0x254a5f)break;else _0x5aa455['push'](_0x5aa455['shift']());}catch(_0x13f084){_0x5aa455['push'](_0x5aa455['shift']());}}}(_0x5897,0x8f7c0));import{readFile,readdir}from'fs/promises';import{join,basename}from'path';function _0x5897(){const _0x13c075=['pipe','match','trim','unknown','env','project','\x0a---\x20Profiles\x20---','toString','55bkInUA',':\x20configured','LuNqf','QVMcX','data','\x20\x20Run:\x20ranger\x20profile\x20add\x20<profile-name>','BYLAt','YoDVW','\x20[cloud]','\x20\x20Run:\x20ranger\x20setup\x20[token]','cwd','debug','map','obyzw','QZhRV','\x0a---\x20Skills\x20---','\x20\x20Not\x20installed','PgJmq','\x20local','\x1b]8;;file://','\x0a\x20\x20No\x20active\x20profile\x20set','hasEncryptedAuth','vjBtj','encrypted','displayName','nGBtM','gbnEc','NULAX','filter','details','parse','No\x20skills\x20installed','opencode','settingsPath','dhMUI','has','path','disabled','\x20\x20Project-level:','success','ioDCp','754SfEePk','bzose','log','aZVNE','gmeZJ','API\x20Environment:\x20','\x1b]8;;\x07','\x20\x20Run:\x20ranger\x20skillup','ToCWy','\x20\x20\x20\x20','version','no\x20session','hIVxQ','\x20(up\x20to\x20date)','length','scope','\x20\x20\x20\x20Auth:\x20','\x20\x20OpenCode\x20not\x20installed\x20or\x20not\x20available','uhapu','1444248iQWLFD','name','Version:\x20','API\x20Token:\x20✓\x20Found\x20but\x20invalid\x20or\x20expired','close','MCvVg','EcBdO','\x20cloud','settings.json','310TtHutg','status','API\x20URL:\x20','ijZOi','TpyqJ','cached\x20(updated\x20','PmsWu','LJjjy','(not\x20found)','plaintext','EogiV','Organization:\x20','PbLYW','\x20plugin(s)\x20configured','\x0a---\x20OpenCode\x20Plugin\x20---','push','plugin','\x20(latest:\x20','MqxDK','includes','Root:\x20','242862sLDNPd','gvPxt','409046IZxcMM','join','277333fiWMPp','hasPlaintextAuth','not_installed','SKILL.md','3457080bJCqFg','@ranger-testing/opencode-plugin','48zstvka','not_configured','2749560fJxqfD','stdout','53hpdmGP','ulVrC'];_0x5897=function(){return _0x13c075;};return _0x5897();}import{existsSync}from'fs';import{getToken}from'./utils/keychain.js';import{getCurrentVersion,getLatestVersion}from'./utils/version.js';import{getApiBaseUrl,getCurrentEnvironment}from'./utils/environment.js';import{getProjectSkillsDir,getUserSkillsDir}from'./utils/claudeConfig.js';import{getEnvNames}from'./env.js';import{getCurrentUser}from'./utils/userApi.js';import{getRangerDir}from'./utils/rangerRoot.js';import{getEnvDir}from'./utils/settings.js';import{listCloudProfiles}from'./utils/cloudProfile.js';import{getPluginInfo}from'./utils/claudePlugin.js';import{RANGER_MANAGED_SKILLS}from'./utils/skills.js';import{spawn}from'child_process';const bold=_0x1242d4=>'\x1b[1m'+_0x1242d4+'\x1b[0m',link=(_0x44be20,_0x5cdf6c)=>_0x5a07d7(0x166)+_0x44be20+'\x07'+(_0x5cdf6c||_0x44be20)+_0x5a07d7(0x182);async function getOpencodePluginStatus(){const _0x40c206=_0x5a07d7,_0x3f1a8e={'YsFVh':function(_0x5f4631,_0x4843ea){return _0x5f4631!==_0x4843ea;},'xPWki':'not_installed','kpSSj':function(_0x2c1620,_0x274d60){return _0x2c1620(_0x274d60);},'VxRzD':function(_0x179cc5,_0x272a10){return _0x179cc5>_0x272a10;},'LuNqf':_0x40c206(0x173),'RsOLP':_0x40c206(0x15e),'NNYgO':'config','YUaQx':_0x40c206(0x157),'MCqsH':'error'};return new Promise(_0x291d7d=>{const _0x4f59b5=_0x40c206,_0xd8b8ec={'TpyqJ':function(_0x31f47f,_0x5dbe97){return _0x31f47f(_0x5dbe97);},'XnQDV':function(_0x3db415,_0x21ded3){return _0x3f1a8e['YsFVh'](_0x3db415,_0x21ded3);},'nGBtM':_0x3f1a8e['xPWki'],'JoqRg':function(_0x20c6a7,_0x3ae5c6){return _0x3f1a8e['kpSSj'](_0x20c6a7,_0x3ae5c6);},'bzose':function(_0x6b5aac,_0xd7007a){return _0x3f1a8e['VxRzD'](_0x6b5aac,_0xd7007a);},'fATQM':function(_0xdba42c,_0x333d5a){return _0xdba42c(_0x333d5a);},'obyzw':_0x4f59b5(0x146)},_0x193360=spawn(_0x3f1a8e[_0x4f59b5(0x155)],[_0x3f1a8e['RsOLP'],_0x3f1a8e['NNYgO']],{'stdio':['ignore',_0x4f59b5(0x14b),_0x4f59b5(0x14b)]});let _0x3f6874='';_0x193360[_0x4f59b5(0x148)]?.['on'](_0x3f1a8e['YUaQx'],_0x31a4db=>{const _0x21f3f0=_0x4f59b5;_0x3f6874+=_0x31a4db[_0x21f3f0(0x152)]();}),_0x193360['stderr']?.['on'](_0x3f1a8e['YUaQx'],_0x2cbcca=>{_0x3f6874+=_0x2cbcca['toString']();}),_0x193360['on'](_0x3f1a8e['MCqsH'],()=>{const _0x23c0c6=_0x4f59b5;_0xd8b8ec[_0x23c0c6(0x12a)](_0x291d7d,{'status':_0x23c0c6(0x141)});}),_0x193360['on'](_0x4f59b5(0x193),_0x5dd3df=>{const _0x4a6198=_0x4f59b5,_0x22a726={'qtbkT':function(_0x2deb83,_0x49cb75){return _0xd8b8ec['XnQDV'](_0x2deb83,_0x49cb75);},'gmeZJ':'@ranger-testing/opencode-plugin'};if(_0x5dd3df!==0x0){_0x291d7d({'status':_0xd8b8ec[_0x4a6198(0x16c)]});return;}const _0x3ec26f=_0x3f6874[_0x4a6198(0x14d)]();let _0xea489c=null;if(_0x3ec26f)try{_0xea489c=JSON[_0x4a6198(0x171)](_0x3ec26f);}catch{const _0x37463f=_0x3ec26f[_0x4a6198(0x14c)](/\{[\s\S]*\}$/);if(_0x37463f)try{_0xea489c=JSON[_0x4a6198(0x171)](_0x37463f[0x0]);}catch{_0xea489c=null;}}const _0x172747=Array['isArray'](_0xea489c?.[_0x4a6198(0x136)])?_0xea489c?.['plugin']:[],_0x428739=_0x172747['some'](_0x269bf7=>{const _0x3f2f4d=_0x4a6198;if(_0x22a726['qtbkT'](typeof _0x269bf7,'string'))return![];return _0x269bf7[_0x3f2f4d(0x139)](_0x22a726[_0x3f2f4d(0x180)])||_0x269bf7['includes']('opencode-plugin');});if(_0x428739){_0xd8b8ec['JoqRg'](_0x291d7d,{'status':'configured','details':_0x172747['length']>0x0?_0x172747['length']+'\x20plugin(s)\x20configured':undefined});return;}if(_0xd8b8ec[_0x4a6198(0x17d)](_0x172747['length'],0x0)){_0xd8b8ec['fATQM'](_0x291d7d,{'status':_0xd8b8ec[_0x4a6198(0x160)],'details':_0x172747[_0x4a6198(0x18a)]+_0x4a6198(0x133)});return;}_0x291d7d({'status':'not_configured'});});});}async function getSkillsFromDir(_0x4973da,_0x712bc){const _0x154110=_0x5a07d7,_0x14c7d3={'bhrsv':function(_0x346c6b,_0x206ed5){return _0x346c6b(_0x206ed5);},'MqxDK':function(_0x3e788b,_0x2f054a,_0x539bcb){return _0x3e788b(_0x2f054a,_0x539bcb);},'ulVrC':function(_0x342602,_0x5c16a7,_0x1773ab,_0xd6a3a9){return _0x342602(_0x5c16a7,_0x1773ab,_0xd6a3a9);},'Ruutq':function(_0x27c590,_0x14b199){return _0x27c590(_0x14b199);}};if(!_0x14c7d3['bhrsv'](existsSync,_0x4973da))return[];const _0x1fe7c1=[];try{const _0x1a72cf=await _0x14c7d3[_0x154110(0x138)](readdir,_0x4973da,{'withFileTypes':!![]});for(const _0x56a4db of _0x1a72cf){if(_0x56a4db['isDirectory']()){const _0x202d07=_0x14c7d3[_0x154110(0x14a)](join,_0x4973da,_0x56a4db['name'],_0x154110(0x142));if(_0x14c7d3['Ruutq'](existsSync,_0x202d07)){let _0x182b69=_0x56a4db['name'];try{const _0x5ebc30=await readFile(_0x202d07,'utf-8'),_0x553fdc=_0x5ebc30[_0x154110(0x14c)](/name:\s*(.+)/);_0x553fdc&&(_0x182b69=_0x553fdc[0x1][_0x154110(0x14d)]());}catch{}_0x1fe7c1['push']({'name':_0x56a4db['name'],'displayName':_0x182b69,'path':_0x202d07,'level':_0x712bc});}}}}catch{return[];}return _0x1fe7c1;}async function getInstalledSkills(){const _0x1a5475=_0x5a07d7,_0x573cd7={'uhapu':function(_0x4cb869,_0x83a6b3,_0x3b0542){return _0x4cb869(_0x83a6b3,_0x3b0542);},'EcBdO':function(_0x324430){return _0x324430();}},[_0x2c863c,_0x1e652c]=await Promise['all']([_0x573cd7['uhapu'](getSkillsFromDir,_0x573cd7[_0x1a5475(0x123)](getProjectSkillsDir),_0x1a5475(0x150)),_0x573cd7[_0x1a5475(0x18e)](getSkillsFromDir,getUserSkillsDir(),'user')]);return{'project':_0x2c863c,'user':_0x1e652c};}async function getEnvironments(){const _0x25b8e1=_0x5a07d7,_0x3f72d6={'ijZOi':function(_0x5ec7c7,_0x2fc138){return _0x5ec7c7(_0x2fc138);},'QZhRV':function(_0x4b1765,_0x4a422b,_0x59a1d1){return _0x4b1765(_0x4a422b,_0x59a1d1);},'LJjjy':'auth.json','roXWb':'auth.json.enc','ToCWy':function(_0x8be8d8,_0x57423a){return _0x8be8d8(_0x57423a);},'xyIFs':function(_0x407f93,_0x4db1df){return _0x407f93===_0x4db1df;},'TUKBx':function(_0x470c6a){return _0x470c6a();}},{envNames:_0x818ba,activeEnv:_0x333746}=await _0x3f72d6['TUKBx'](getEnvNames),_0x383ee4=getRangerDir();if(!_0x3f72d6[_0x25b8e1(0x129)](existsSync,_0x383ee4))return{'envs':[],'activeEnv':null};const _0x19ac92=_0x818ba[_0x25b8e1(0x15f)](_0x549824=>{const _0x5b2596=_0x25b8e1,_0x49bb1e=_0x3f72d6[_0x5b2596(0x129)](getEnvDir,_0x549824),_0x1404c6=_0x3f72d6['QZhRV'](join,_0x49bb1e,_0x5b2596(0x125)),_0x33a7f4=_0x3f72d6[_0x5b2596(0x161)](join,_0x49bb1e,_0x3f72d6[_0x5b2596(0x12d)]),_0x51b07b=join(_0x49bb1e,_0x3f72d6['roXWb']);return{'name':_0x549824,'settingsPath':_0x3f72d6[_0x5b2596(0x184)](existsSync,_0x1404c6)?_0x1404c6:_0x5b2596(0x12e),'hasPlaintextAuth':existsSync(_0x33a7f4),'hasEncryptedAuth':existsSync(_0x51b07b),'isActive':_0x3f72d6['xyIFs'](_0x549824,_0x333746)};});return{'envs':_0x19ac92,'activeEnv':_0x333746};}export async function status(){const _0x182270=_0x5a07d7,_0x34cd9={'BYLAt':function(_0x8c2ca,_0x44c966){return _0x8c2ca(_0x44c966);},'vjBtj':function(_0x1802c6,_0x14259c,_0xcd2ad6){return _0x1802c6(_0x14259c,_0xcd2ad6);},'KyRRo':function(_0x1a3770){return _0x1a3770();},'YoDVW':_0x182270(0x134),'EogiV':function(_0x4ba3d9,_0x191276){return _0x4ba3d9===_0x191276;},'aZVNE':function(_0x44ea5,_0x83be70){return _0x44ea5(_0x83be70);},'PmsWu':'not_configured','ZWAxv':'\x20\x20Not\x20configured','PgJmq':'\x0a---\x20Claude\x20Code\x20Plugin\x20---','ySzgA':'ranger@trailhead','vzxpv':'enabled','ebUtF':function(_0x3df733,_0x442d1a){return _0x3df733(_0x442d1a);},'gvPxt':_0x182270(0x163),'MCvVg':_0x182270(0x162),'axcZu':_0x182270(0x179),'NULAX':function(_0x1ef8f9,_0xc7c3f7){return _0x1ef8f9>_0xc7c3f7;},'hIVxQ':function(_0x3b11c3,_0x11877f){return _0x3b11c3(_0x11877f);},'PbLYW':function(_0x55a879){return _0x55a879();},'ioDCp':function(_0x4d392e,_0x5e4788){return _0x4d392e>_0x5e4788;},'QVMcX':'\x20(active)','gbnEc':_0x182270(0x12f),'dhMUI':function(_0x7caa71,_0xbfacbd){return _0x7caa71!==_0xbfacbd;},'bynhI':function(_0x4c587e,_0x4ce5b4,_0x1c81b0){return _0x4c587e(_0x4ce5b4,_0x1c81b0);}};console[_0x182270(0x17e)]('\x0a📊\x20Ranger\x20Status\x0a');const _0x5b8df9=process[_0x182270(0x15d)](),_0x44bf93=getRangerDir();if(!_0x34cd9['BYLAt'](existsSync,_0x44bf93)){console[_0x182270(0x17e)](_0x182270(0x13a)+link(_0x5b8df9,bold(basename(_0x5b8df9)))),console['log']('\x0aRanger\x20has\x20not\x20been\x20initialized\x20in\x20this\x20directory.'),console['log']('\x20\x20Run:\x20ranger\x20setup\x20[token]\x0a');return;}console[_0x182270(0x17e)](_0x182270(0x13a)+_0x34cd9[_0x182270(0x169)](link,_0x5b8df9,_0x34cd9[_0x182270(0x159)](bold,_0x34cd9[_0x182270(0x159)](basename,_0x5b8df9))));const _0x468d61=getCurrentVersion(),_0x1036c5=_0x34cd9['KyRRo'](getLatestVersion);if(_0x1036c5['version']&&_0x1036c5['version']!==_0x468d61)console['log']('Version:\x20'+_0x468d61+_0x182270(0x137)+_0x1036c5['version']+')'),console['log']('\x20\x20Run:\x20ranger\x20update');else _0x1036c5[_0x182270(0x186)]?console[_0x182270(0x17e)]('Version:\x20'+_0x468d61+_0x182270(0x189)):console['log'](_0x182270(0x191)+_0x468d61);const _0x3a0bd6=await getToken();if(_0x3a0bd6){const _0x51bac2=await getCurrentUser(_0x3a0bd6);_0x51bac2[_0x182270(0x17a)]?console['log'](_0x182270(0x131)+bold(_0x51bac2['user']['organizationName'])):(console['log'](_0x182270(0x192)),console['log'](_0x182270(0x15c)));}else console['log']('API\x20Token:\x20✗\x20Not\x20found'),console['log']('\x20\x20Run:\x20ranger\x20setup\x20[token]');process[_0x182270(0x14f)]['DEBUG']&&(console[_0x182270(0x17e)](_0x182270(0x181)+_0x34cd9['KyRRo'](getCurrentEnvironment)),console[_0x182270(0x17e)](_0x182270(0x128)+getApiBaseUrl()));console['log'](_0x34cd9[_0x182270(0x15a)]);const _0xf49ee3=await getOpencodePluginStatus();if(_0x34cd9[_0x182270(0x130)](_0xf49ee3[_0x182270(0x127)],'configured'))console[_0x182270(0x17e)]('\x20\x20'+_0x34cd9[_0x182270(0x17f)](bold,_0x182270(0x144))+_0x182270(0x154)),_0xf49ee3[_0x182270(0x170)]&&console['log']('\x20\x20'+_0xf49ee3['details']);else _0x34cd9[_0x182270(0x130)](_0xf49ee3['status'],_0x34cd9[_0x182270(0x12c)])?(console[_0x182270(0x17e)](_0x34cd9['ZWAxv']),_0xf49ee3['details']&&console[_0x182270(0x17e)]('\x20\x20'+_0xf49ee3['details']),console['log']('\x20\x20Run:\x20ranger\x20setup\x20--opencode')):console[_0x182270(0x17e)](_0x182270(0x18d));console[_0x182270(0x17e)](_0x34cd9[_0x182270(0x164)]);const _0xb6da93=await getPluginInfo(_0x34cd9['ySzgA']);if(_0xb6da93){const _0x3b8c33=_0xb6da93[_0x182270(0x18b)]||_0x182270(0x14e),_0x55f798=_0xb6da93['enabled']?_0x34cd9['vzxpv']:_0x182270(0x178);console[_0x182270(0x17e)]('\x20\x20'+_0x34cd9['ebUtF'](bold,'ranger@trailhead')+':\x20installed\x20('+_0x3b8c33+',\x20'+_0x55f798+')');}else console['log'](_0x34cd9[_0x182270(0x13c)]),console[_0x182270(0x17e)]('\x20\x20Run:\x20ranger\x20setup\x20[token]\x20\x20(includes\x20plugin\x20installation)');console['log'](_0x34cd9[_0x182270(0x194)]);const {project:_0x4169c8,user:_0x1b80dc}=await getInstalledSkills(),_0x252aef=_0x4169c8[_0x182270(0x16f)](_0x27cb4f=>RANGER_MANAGED_SKILLS[_0x182270(0x139)](_0x27cb4f['name'])),_0x2aaa16=_0x1b80dc[_0x182270(0x16f)](_0x146876=>RANGER_MANAGED_SKILLS[_0x182270(0x139)](_0x146876['name'])),_0x43f91e=_0x252aef['length']+_0x2aaa16['length'];if(_0x34cd9['EogiV'](_0x43f91e,0x0))console[_0x182270(0x17e)](_0x182270(0x172)),console[_0x182270(0x17e)](_0x182270(0x183));else{if(_0x252aef[_0x182270(0x18a)]>0x0){console['log'](_0x34cd9['axcZu']);for(const _0xd7c80c of _0x252aef){console['log'](_0x182270(0x185)+bold(_0xd7c80c['displayName'])+':\x20'+link(_0xd7c80c['path'],_0x34cd9[_0x182270(0x159)](basename,_0xd7c80c[_0x182270(0x177)])));}}if(_0x34cd9[_0x182270(0x16e)](_0x2aaa16['length'],0x0)){console[_0x182270(0x17e)]('\x20\x20User-level:');for(const _0x51591c of _0x2aaa16){console[_0x182270(0x17e)](_0x182270(0x185)+_0x34cd9[_0x182270(0x188)](bold,_0x51591c[_0x182270(0x16b)])+':\x20'+link(_0x51591c[_0x182270(0x177)],basename(_0x51591c[_0x182270(0x177)])));}}}console[_0x182270(0x17e)](_0x182270(0x151));const {envs:_0x297ad2,activeEnv:_0x29ef31}=await _0x34cd9[_0x182270(0x132)](getEnvironments);let _0x17d341=[];if(_0x3a0bd6)try{_0x17d341=await _0x34cd9['KyRRo'](listCloudProfiles);}catch{}const _0x5be7c6=_0x297ad2[_0x182270(0x18a)]+_0x17d341['length'];if(_0x5be7c6===0x0)console['log']('No\x20profiles\x20configured'),console['log'](_0x182270(0x158));else{if(_0x5be7c6>0x5){const _0x39a10a=[];_0x17d341[_0x182270(0x18a)]>0x0&&_0x39a10a[_0x182270(0x135)](_0x17d341['length']+_0x182270(0x124)),_0x34cd9[_0x182270(0x17b)](_0x297ad2[_0x182270(0x18a)],0x0)&&_0x39a10a[_0x182270(0x135)](_0x297ad2['length']+_0x182270(0x165)),console[_0x182270(0x17e)](_0x5be7c6+'\x20profiles\x20configured\x20('+_0x39a10a[_0x182270(0x13e)](',\x20')+')'),_0x29ef31&&console[_0x182270(0x17e)]('\x20\x20Active:\x20'+_0x34cd9[_0x182270(0x159)](bold,_0x29ef31)),console[_0x182270(0x17e)]('\x20\x20Run:\x20ranger\x20profile\x20ls\x20\x20(list\x20all)');}else{for(const _0x49ad2e of _0x17d341){const _0x4fe378=_0x34cd9[_0x182270(0x130)](_0x49ad2e['name'],_0x29ef31)?'\x20(active)':'';console[_0x182270(0x17e)]('\x20\x20'+_0x34cd9[_0x182270(0x159)](bold,_0x49ad2e[_0x182270(0x190)])+_0x182270(0x15b)+_0x4fe378);const _0x28825f=_0x49ad2e['sessionUpdatedAt']?_0x182270(0x12b)+_0x49ad2e['sessionUpdatedAt']+')':_0x182270(0x187);console[_0x182270(0x17e)]('\x20\x20\x20\x20Session:\x20'+_0x28825f);}const _0x399eee=new Set(_0x17d341[_0x182270(0x15f)](_0x11177d=>_0x11177d[_0x182270(0x190)]));for(const _0x25d876 of _0x297ad2){if(_0x399eee['has'](_0x25d876[_0x182270(0x190)]))continue;const _0x57610a=_0x25d876['isActive']?_0x34cd9[_0x182270(0x156)]:'',_0x3496fb=_0x25d876[_0x182270(0x168)]?_0x182270(0x16a):_0x25d876[_0x182270(0x140)]?_0x34cd9[_0x182270(0x16d)]:'none';console[_0x182270(0x17e)]('\x20\x20'+_0x34cd9['ebUtF'](bold,_0x25d876[_0x182270(0x190)])+'\x20[local]'+_0x57610a),console[_0x182270(0x17e)](_0x182270(0x18c)+_0x3496fb),_0x34cd9[_0x182270(0x175)](_0x25d876[_0x182270(0x174)],'(not\x20found)')&&console['log']('\x20\x20\x20\x20Settings:\x20'+_0x34cd9['bynhI'](link,_0x25d876[_0x182270(0x174)],basename(_0x25d876['settingsPath'])));}if(!_0x29ef31){console['log'](_0x182270(0x167));const _0x37c038=[..._0x17d341[_0x182270(0x15f)](_0xb2db54=>_0xb2db54[_0x182270(0x190)]),..._0x297ad2[_0x182270(0x16f)](_0x50c1e8=>!_0x399eee[_0x182270(0x176)](_0x50c1e8['name']))['map'](_0x59db6b=>_0x59db6b[_0x182270(0x190)])];console['log']('\x20\x20Run:\x20ranger\x20profile\x20use\x20<profile-name>\x20\x20(available:\x20'+_0x37c038['join'](',\x20')+')');}}}console[_0x182270(0x17e)]('');}
|