@ranger-testing/ranger-cli 2.5.4-alpha.1f7a251-7 → 2.5.4-alpha.2709b75-22
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/README.md +36 -14
- 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 -0
- package/build/commands/env.js +1 -1
- package/build/commands/feature.js +1 -1
- package/build/commands/hook.js +1 -1
- package/build/commands/hooks/autoPrompt.js +1 -1
- package/build/commands/hooks/disable.js +1 -1
- package/build/commands/hooks/enable.js +1 -1
- package/build/commands/hooks/exitPlanMode.js +1 -1
- package/build/commands/hooks/index.js +1 -1
- package/build/commands/hooks/output.js +1 -1
- package/build/commands/hooks/planReminder.js +1 -1
- package/build/commands/hooks/planStart.js +1 -1
- package/build/commands/hooks/postEdit.js +1 -1
- package/build/commands/hooks/preCompact.js +1 -1
- package/build/commands/hooks/sessionEnd.js +1 -1
- package/build/commands/hooks/sessionStart.js +1 -1
- package/build/commands/hooks/stopHook.js +1 -1
- package/build/commands/index.js +1 -1
- package/build/commands/login.js +1 -1
- package/build/commands/mcpBootstrap.js +1 -1
- package/build/commands/migrateProfile.js +1 -1
- package/build/commands/setup/claude.js +1 -1
- package/build/commands/setup/opencode.js +1 -1
- package/build/commands/setupCi.js +1 -1
- package/build/commands/skillup.js +1 -1
- package/build/commands/start.js +1 -1
- package/build/commands/status.js +1 -1
- package/build/commands/update.js +1 -1
- package/build/commands/updateEnv.js +1 -1
- package/build/commands/useEnv.js +1 -1
- package/build/commands/utils/activeProfile.js +1 -1
- package/build/commands/utils/agentEnv.js +1 -1
- package/build/commands/utils/browserSessionsApi.js +1 -1
- package/build/commands/utils/claudeConfig.js +1 -1
- package/build/commands/utils/claudeOverrideSettings.js +1 -1
- package/build/commands/utils/claudePlugin.js +1 -1
- package/build/commands/utils/cloudProfile.js +1 -1
- package/build/commands/utils/cloudProfileSession.js +1 -1
- package/build/commands/utils/crypto.js +1 -1
- package/build/commands/utils/desirePathLog.js +1 -1
- package/build/commands/utils/deviceAuth.js +1 -1
- package/build/commands/utils/environment.js +1 -1
- package/build/commands/utils/featureApi.js +1 -1
- package/build/commands/utils/fixWebmDuration.js +1 -1
- package/build/commands/utils/gitTracked.js +1 -1
- package/build/commands/utils/keychain.js +1 -1
- package/build/commands/utils/legacyWarning.js +1 -0
- 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/opencodeConfig.js +1 -1
- package/build/commands/utils/playwrightCli.js +1 -1
- package/build/commands/utils/profileMessages.js +1 -1
- package/build/commands/utils/profileSetupBanner.js +1 -1
- package/build/commands/utils/projectsConfig.js +1 -1
- package/build/commands/utils/rangerConfig.js +1 -1
- package/build/commands/utils/rangerRoot.js +1 -1
- package/build/commands/utils/resolveProfileContext.js +1 -1
- package/build/commands/utils/resolveProfileUrl.js +1 -1
- package/build/commands/utils/retry.js +1 -1
- package/build/commands/utils/sessionCache.js +1 -1
- package/build/commands/utils/settings.js +1 -1
- package/build/commands/utils/skillContent.js +1 -1
- package/build/commands/utils/skills.js +1 -1
- package/build/commands/utils/stitchWebmFiles.js +1 -1
- package/build/commands/utils/telemetry.js +1 -1
- package/build/commands/utils/tokenRefresh.js +1 -1
- package/build/commands/utils/traceSnapshotMapper.js +1 -1
- package/build/commands/utils/userApi.js +1 -1
- package/build/commands/utils/version.js +1 -1
- package/build/commands/verifyFeature.js +1 -1
- package/build/commands/verifyFeatureCli.js +1 -1
- package/build/skills/ranger/SKILL.md +24 -8
- package/build/skills/ranger/create.md +16 -3
- package/build/skills/ranger/verify.md +37 -18
- package/package.json +3 -2
package/build/commands/login.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
(function(_0x49df54,_0x67005c){const _0x1633dc=_0x18de,_0x419827=_0x49df54();while(!![]){try{const _0x47869e=parseInt(_0x1633dc(0xfd))/0x1*(parseInt(_0x1633dc(0xf4))/0x2)+-parseInt(_0x1633dc(0xf3))/0x3+parseInt(_0x1633dc(0xff))/0x4+-parseInt(_0x1633dc(0x100))/0x5*(parseInt(_0x1633dc(0xfe))/0x6)+parseInt(_0x1633dc(0xef))/0x7*(parseInt(_0x1633dc(0xf7))/0x8)+parseInt(_0x1633dc(0xf1))/0x9*(-parseInt(_0x1633dc(0xfc))/0xa)+-parseInt(_0x1633dc(0xf6))/0xb;if(_0x47869e===_0x67005c)break;else _0x419827['push'](_0x419827['shift']());}catch(_0x320dc1){_0x419827['push'](_0x419827['shift']());}}}(_0x4a59,0x40357));import{runDeviceAuthFlow}from'./utils/deviceAuth.js';import{getCurrentUser}from'./utils/userApi.js';function _0x18de(_0x5c7887,_0x253252){_0x5c7887=_0x5c7887-0xed;const _0x4a5935=_0x4a59();let _0x18dee6=_0x4a5935[_0x5c7887];return _0x18dee6;}import{getMcpAuthOrigin,mcpBootstrap}from'./mcpBootstrap.js';function _0x4a59(){const _0x247297=['22UlenyP','hxubC','1141349RJCHNA','1544mhZrNp','\x0a✅\x20Logged\x20in\x20to\x20','success','log','Gopxy','90WzvTlq','46666ffvshH','12LlWMIZ','486848PlMaMh','371965HVxIrQ','\x0a✅\x20API\x20key\x20stored\x20successfully','user','stdout','16282oedADJ','isTTY','234585NnDpjt','message','1001481mEKuYL'];_0x4a59=function(){return _0x247297;};return _0x4a59();}export async function login(){const _0x1e286e=_0x18de,_0x3f42be={'Gopxy':function(_0x339e4e){return _0x339e4e();},'hxubC':function(_0x18e147,_0x11a931){return _0x18e147 instanceof _0x11a931;}},_0x5d88c0=await getMcpAuthOrigin();if(_0x5d88c0){console[_0x1e286e(0xfa)]('Re-authenticating\x20via\x20MCP\x20bootstrap...'),await _0x3f42be[_0x1e286e(0xfb)](mcpBootstrap);return;}const _0x54521e=process['stdin'][_0x1e286e(0xf0)]&&process[_0x1e286e(0xee)][_0x1e286e(0xf0)];if(!_0x54521e)throw new Error('Login\x20requires\x20an\x20interactive\x20terminal.\x20In\x20CI,\x20use:\x20ranger\x20setup\x20[token]\x20or\x20set\x20RANGER_CLI_TOKEN.');try{const _0x37f757=await _0x3f42be['Gopxy'](runDeviceAuthFlow),_0x5ee531=await getCurrentUser(_0x37f757);_0x5ee531[_0x1e286e(0xf9)]?console['log'](_0x1e286e(0xf8)+_0x5ee531[_0x1e286e(0xed)]['organizationName']):console[_0x1e286e(0xfa)](_0x1e286e(0x101));}catch(_0x589ced){throw new Error('Login\x20failed:\x20'+(_0x3f42be[_0x1e286e(0xf5)](_0x589ced,Error)?_0x589ced[_0x1e286e(0xf2)]:_0x589ced));}}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const _0x151ee3=_0x3bf6;(function(_0x38daf5,_0x4ee0b1){const _0x15be12=_0x3bf6,_0x24e3e3=_0x38daf5();while(!![]){try{const _0x48ba97=-parseInt(_0x15be12(0xf4))/0x1+-parseInt(_0x15be12(0xc0))/0x2+parseInt(_0x15be12(0xec))/0x3+parseInt(_0x15be12(0xcc))/0x4*(-parseInt(_0x15be12(0x8a))/0x5)+-parseInt(_0x15be12(0xab))/0x6*(parseInt(_0x15be12(0x81))/0x7)+parseInt(_0x15be12(0xd7))/0x8*(-parseInt(_0x15be12(0x9c))/0x9)+parseInt(_0x15be12(0xad))/0xa*(parseInt(_0x15be12(0x9b))/0xb);if(_0x48ba97===_0x4ee0b1)break;else _0x24e3e3['push'](_0x24e3e3['shift']());}catch(_0x32310b){_0x24e3e3['push'](_0x24e3e3['shift']());}}}(_0x4adb,0x1c96f));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{getMcpAuthUrl}from'./utils/environment.js';const CALLBACK_PORT=0x4d78,TOKEN_CACHE_PATH=join(homedir(),'.ranger',_0x151ee3(0x90)),AUTH_ORIGIN_PATH=join(homedir(),_0x151ee3(0x8d),_0x151ee3(0xbe));function _0x4adb(){const _0x5759a0=['506121kqGNYr','2025-03-26','CofnD','sha256','platform','application/json','refreshToken','Could\x20not\x20extract\x20token\x20from\x20MCP\x20response','165362detdvG','hex','startsWith','YvlSN','refresh_token','oweTe','proxied','token','win32','mgeBr','trim','utf-8','writeHead','message','stdout','text/html','listen','name','Server\x20returned\x20error:\x20','ranger-cli','mSrMe','\x0aToken\x20written\x20to\x20','Run\x20`ranger\x20setup\x20--mcp-bootstrap`\x20interactively\x20first.','lPcFg','YoXWN','registration_endpoint','searchParams','parse','12215yVXPZd','log','CZvLv','origin','initialize','toString','nOMPc','xdg-open','KCaAC','79865qSDwwr','POST','code_challenge_method','.ranger','/.well-known/oauth-authorization-server','\x20done','mcp-oauth-tokens.json','resource','Ydtiy','application/json,\x20text/event-stream','TLcYb','uiDgy','JeLdn','error','Requesting\x20CLI\x20token...','siMLN','accessToken','22OzzrPY','53910cFoivJ','AdtTZ','http://localhost:','JLnIp','update','uxGcM','MyDXA','get','status','gUUjU','includes','sMyXI','json','type','redirect_uri','366YgkVLt','application/x-www-form-urlencoded','3527290gzFzYp','Authorization\x20server\x20does\x20not\x20support\x20dynamic\x20client\x20registration\x20and\x20no\x20cached\x20client\x20found','Discovering\x20authorization\x20server...','/callback','NcsVq','close','length','open','UojMN','write','Ranger\x20CLI','end','zDJQh','QgqyV','2.0','isError','MCP\x20server\x20requires\x20authentication\x20but\x20running\x20in\x20non-interactive\x20mode.\x0a','auth-origin.txt','none','407456mAiYvX','Could\x20not\x20fetch\x20auth\x20server\x20metadata\x20from\x20','notifications/initialized','fsHeF','FxGQt','base64url','S256','twnre','EHrVe','vtqTJ','Registering\x20OAuth\x20client...','clientSecret','36agcfyb','split','kPNWX','TtsBe','slice','clientId','expiresAt','client_secret','ZMFwB','headers','\x0aOpening\x20browser\x20for\x20authentication...','184JbbFxD','text','OAuth\x20error:\x20','client_id','string','lXPDa','stringify','YzqaW','Not\x20found','tools/call','expires_in','BneUe','yLYdy','result','fPXcZ','UWpsU','set','zgkGT','cTFmx','code','HDBwT'];_0x4adb=function(){return _0x5759a0;};return _0x4adb();}export async function getMcpAuthOrigin(){const _0x53947a=_0x151ee3,_0x595f4c={'MyDXA':function(_0x56de22,_0x59f88a,_0xf9624a){return _0x56de22(_0x59f88a,_0xf9624a);},'GgDKe':'utf-8','zDJQh':function(_0x519dce,_0x400d56){return _0x519dce||_0x400d56;}};try{const _0x3bc64c=(await _0x595f4c[_0x53947a(0xa2)](readFile,AUTH_ORIGIN_PATH,_0x595f4c['GgDKe']))[_0x53947a(0xfe)]();return _0x595f4c[_0x53947a(0xb9)](_0x3bc64c,null);}catch{return null;}}export async function mcpBootstrap(){const _0x461aed=_0x151ee3,_0x27b469={'fPXcZ':function(_0x4ae61b){return _0x4ae61b();},'mgeBr':function(_0x65c00c,_0x2c357b){return _0x65c00c(_0x2c357b);},'TtwLA':'proxied','goNIH':function(_0x3a68ba,_0x5bac55){return _0x3a68ba+_0x5bac55;}},_0x1d88d2=_0x27b469[_0x461aed(0xe5)](getMcpAuthUrl);currentOrigin=_0x1d88d2;const _0xcefd6e=process[_0x461aed(0x102)]['isTTY']??![];console[_0x461aed(0x82)]('\x0aConnecting\x20to\x20MCP\x20auth\x20server:\x20'+_0x1d88d2+'\x0a');const _0x2940d3=await _0x27b469[_0x461aed(0xfd)](tryUnauthenticated,_0x1d88d2);let _0x492559=null;if(_0x2940d3===_0x27b469['TtwLA'])_0x492559='';else{_0x492559=await loadCachedToken();if(!_0x492559){if(!_0xcefd6e)throw new Error(_0x27b469['goNIH'](_0x461aed(0xbd),_0x461aed(0x7b)));_0x492559=await oauthFlow(_0x1d88d2);}}await callGetCliToken(_0x1d88d2,_0x492559);}async function tryUnauthenticated(_0x79fec3){const _0x1d0e7f=_0x151ee3,_0x30383c={'NqJYR':function(_0x2d76dc,_0x34cbeb,_0x18f32f){return _0x2d76dc(_0x34cbeb,_0x18f32f);},'YoXWN':_0x1d0e7f(0xf1),'fsHeF':'1.0.0','KCaAC':_0x1d0e7f(0xfa)},_0x148117=await _0x30383c['NqJYR'](fetch,_0x79fec3,{'method':'POST','headers':{'Content-Type':_0x30383c[_0x1d0e7f(0x7d)],'Accept':_0x1d0e7f(0x93)},'body':JSON['stringify']({'jsonrpc':_0x1d0e7f(0xbb),'id':0x1,'method':'initialize','params':{'protocolVersion':'2025-03-26','capabilities':{},'clientInfo':{'name':_0x1d0e7f(0x78),'version':_0x30383c[_0x1d0e7f(0xc3)]}}})});if(_0x148117['ok'])return await _0x148117['text'](),_0x30383c[_0x1d0e7f(0x89)];if(_0x148117['status']===0x191)return await _0x148117['text'](),'needs-oauth';const _0x6f1793=await _0x148117['text']();throw new Error('MCP\x20server\x20returned\x20HTTP\x20'+_0x148117[_0x1d0e7f(0xa4)]+':\x20'+_0x6f1793);}class OAuthTimeoutError extends Error{constructor(_0x5c7a33){const _0x5dd301=_0x151ee3;super(_0x5c7a33),this[_0x5dd301(0x105)]='OAuthTimeoutError';}}async function oauthFlow(_0x53f8eb){const _0x15caa8=_0x151ee3,_0x4ad5e5={'ZhUMa':function(_0x5e91f0,_0x5b83b5){return _0x5e91f0(_0x5b83b5);},'rigoT':function(_0x24795e){return _0x24795e();},'CofnD':'\x0aCached\x20OAuth\x20client\x20may\x20be\x20stale\x20—\x20clearing\x20and\x20retrying...\x0a'};try{return await _0x4ad5e5['ZhUMa'](oauthFlowAttempt,_0x53f8eb);}catch(_0x5b32dd){if(_0x5b32dd instanceof OAuthTimeoutError&&await _0x4ad5e5['rigoT'](loadCachedClient))return console[_0x15caa8(0x82)](_0x4ad5e5[_0x15caa8(0xee)]),await clearCachedClient(),await oauthFlowAttempt(_0x53f8eb);throw _0x5b32dd;}}async function oauthFlowAttempt(_0x4a443a){const _0x44ae60=_0x151ee3,_0x3442fa={'DqfcO':_0x44ae60(0xaf),'lPcFg':'Could\x20not\x20fetch\x20protected\x20resource\x20metadata\x20from\x20MCP\x20server','BneUe':'No\x20authorization_servers\x20in\x20protected\x20resource\x20metadata','TtsBe':_0x44ae60(0xca),'EHrVe':'authorization_code','UojMN':_0x44ae60(0xea),'nOMPc':_0x44ae60(0xbf),'BmIjz':_0x44ae60(0x8f),'EyYAh':function(_0x15db22,_0x40943d){return _0x15db22(_0x40943d);},'ifRPE':_0x44ae60(0xf5),'AdtTZ':_0x44ae60(0xda),'ZMFwB':'code_challenge','zgkGT':'state','jiuIw':'resource','gUUjU':_0x44ae60(0xd3),'yLYdy':_0x44ae60(0xac),'yJYaA':function(_0x2ab430,_0x39801a,_0x5dfc0d,_0x3d5387){return _0x2ab430(_0x39801a,_0x5dfc0d,_0x3d5387);}},_0x608054=_0x4a443a['replace'](/\/mcp$/,'');process['stdout']['write'](_0x3442fa['DqfcO']);const _0x1f2119=await fetch(_0x608054+'/.well-known/oauth-protected-resource');if(!_0x1f2119['ok'])throw new Error(_0x3442fa[_0x44ae60(0x7c)]);const _0x512687=await _0x1f2119[_0x44ae60(0xa8)](),_0x574b7e=_0x512687['authorization_servers']?.[0x0];if(!_0x574b7e)throw new Error(_0x3442fa[_0x44ae60(0xe2)]);console['log']('\x20'+_0x574b7e);const _0x551d79=await fetchAuthServerMetadata(_0x574b7e);let _0x12b00a,_0x4d1f91;const _0x5649c6=await loadCachedClient();if(_0x5649c6)_0x12b00a=_0x5649c6[_0x44ae60(0xd1)],_0x4d1f91=_0x5649c6['clientSecret'];else{if(_0x551d79[_0x44ae60(0x7e)]){process['stdout']['write'](_0x3442fa[_0x44ae60(0xcf)]);const _0x1c6355=await fetch(_0x551d79[_0x44ae60(0x7e)],{'method':'POST','headers':{'Content-Type':'application/json'},'body':JSON['stringify']({'client_name':_0x44ae60(0xb7),'redirect_uris':['http://localhost:'+CALLBACK_PORT+_0x44ae60(0xb0)],'grant_types':[_0x3442fa['EHrVe'],_0x44ae60(0xf8)],'response_types':[_0x3442fa[_0x44ae60(0xb5)]],'token_endpoint_auth_method':_0x3442fa[_0x44ae60(0x87)]})});if(!_0x1c6355['ok']){const _0x33f10d=await _0x1c6355['text']();throw new Error('Client\x20registration\x20failed:\x20'+_0x33f10d);}const _0x31b182=await _0x1c6355[_0x44ae60(0xa8)]();_0x12b00a=_0x31b182['client_id'],_0x4d1f91=_0x31b182[_0x44ae60(0xd3)],await saveCachedClient(_0x12b00a,_0x4d1f91),console['log'](_0x3442fa['BmIjz']);}else throw new Error(_0x44ae60(0xae));}const _0x2b1cff=randomBytes(0x20)['toString'](_0x44ae60(0xc5)),_0x3752a2=_0x3442fa['EyYAh'](createHash,_0x44ae60(0xef))[_0x44ae60(0xa0)](_0x2b1cff)['digest']('base64url'),_0x3aa11d=randomBytes(0x10)[_0x44ae60(0x86)](_0x3442fa['ifRPE']),_0xd6e8bd=new URL(_0x551d79['authorization_endpoint']);_0xd6e8bd['searchParams'][_0x44ae60(0xe7)]('response_type',_0x44ae60(0xea)),_0xd6e8bd['searchParams']['set'](_0x3442fa[_0x44ae60(0x9d)],_0x12b00a),_0xd6e8bd['searchParams'][_0x44ae60(0xe7)](_0x44ae60(0xaa),_0x44ae60(0x9e)+CALLBACK_PORT+'/callback'),_0xd6e8bd[_0x44ae60(0x7f)][_0x44ae60(0xe7)](_0x3442fa[_0x44ae60(0xd4)],_0x3752a2),_0xd6e8bd['searchParams']['set'](_0x44ae60(0x8c),_0x44ae60(0xc6)),_0xd6e8bd[_0x44ae60(0x7f)]['set'](_0x3442fa[_0x44ae60(0xe8)],_0x3aa11d);_0x512687[_0x44ae60(0x91)]&&_0xd6e8bd[_0x44ae60(0x7f)][_0x44ae60(0xe7)](_0x3442fa['jiuIw'],_0x512687['resource']);console['log'](_0x44ae60(0xd6)),console['log']('If\x20the\x20browser\x20doesn\x27t\x20open,\x20visit:\x0a'+_0xd6e8bd[_0x44ae60(0x86)]()+'\x0a'),await openBrowser(_0xd6e8bd[_0x44ae60(0x86)]());const _0x5712a4=await waitForCallback(_0x3aa11d);process['stdout'][_0x44ae60(0xb6)]('Exchanging\x20authorization\x20code...');const _0x230497=new URLSearchParams({'grant_type':_0x3442fa[_0x44ae60(0xc8)],'code':_0x5712a4,'redirect_uri':'http://localhost:'+CALLBACK_PORT+_0x44ae60(0xb0),'client_id':_0x12b00a,'code_verifier':_0x2b1cff});_0x4d1f91&&_0x230497[_0x44ae60(0xe7)](_0x3442fa[_0x44ae60(0xa5)],_0x4d1f91);_0x512687[_0x44ae60(0x91)]&&_0x230497['set']('resource',_0x512687[_0x44ae60(0x91)]);const _0xb9bb36=await fetch(_0x551d79['token_endpoint'],{'method':_0x44ae60(0x8b),'headers':{'Content-Type':_0x3442fa[_0x44ae60(0xe3)]},'body':_0x230497});if(!_0xb9bb36['ok']){const _0x2fbea0=await _0xb9bb36['text']();throw new Error('Token\x20exchange\x20failed:\x20'+_0x2fbea0);}const _0x18eb44=await _0xb9bb36[_0x44ae60(0xa8)]();return console['log'](_0x3442fa['BmIjz']),await _0x3442fa['yJYaA'](saveCachedToken,_0x18eb44['access_token'],_0x18eb44['refresh_token'],_0x18eb44[_0x44ae60(0xe1)]),_0x18eb44['access_token'];}async function callGetCliToken(_0x4f354f,_0xb5bb04){const _0x5db084=_0x151ee3,_0x38079c={'oweTe':function(_0x280698,_0x4ef678){return _0x280698(_0x4ef678);},'BFdcU':'Authorization','XTjKb':function(_0x3fc70e,_0x4bfe5f){return _0x3fc70e(_0x4bfe5f);},'ezgsI':_0x5db084(0x78),'oidOe':'1.0.0','QgqyV':'\x20done','sMyXI':_0x5db084(0xc2),'mSrMe':'2.0','HDBwT':'\x0aUnexpected\x20response\x20structure:','UALvi':'refresh.txt','ocvTu':function(_0x4dc32d,_0xe8e6eb,_0x127517,_0x40964c){return _0x4dc32d(_0xe8e6eb,_0x127517,_0x40964c);},'wzyWa':_0x5db084(0xbe)},_0x4c5ea0={'Content-Type':'application/json','Accept':_0x5db084(0x93)};_0xb5bb04&&(_0x4c5ea0[_0x38079c['BFdcU']]='Bearer\x20'+_0xb5bb04);const _0x56840a=async _0x3659c9=>{const _0x2c930e=_0x5db084,_0x21c759=await fetch(_0x4f354f,{'method':_0x2c930e(0x8b),'headers':_0x4c5ea0,'body':JSON[_0x2c930e(0xdd)](_0x3659c9)});if(!_0x21c759['ok']){const _0x20bf15=await _0x21c759['text']();throw new Error('HTTP\x20'+_0x21c759[_0x2c930e(0xa4)]+':\x20'+_0x20bf15);}return _0x38079c[_0x2c930e(0xf9)](parseResponse,_0x21c759);};process[_0x5db084(0x102)]['write']('Initializing\x20MCP\x20session...');const _0x1bcd71=await _0x38079c['XTjKb'](_0x56840a,{'jsonrpc':_0x5db084(0xbb),'id':0x1,'method':_0x5db084(0x85),'params':{'protocolVersion':_0x5db084(0xed),'capabilities':{},'clientInfo':{'name':_0x38079c['ezgsI'],'version':_0x38079c['oidOe']}}});if(_0x1bcd71['error'])throw new Error('MCP\x20initialize\x20failed:\x20'+(_0x1bcd71['error'][_0x5db084(0x101)]??JSON['stringify'](_0x1bcd71['error'])));console['log'](_0x38079c[_0x5db084(0xba)]),await fetch(_0x4f354f,{'method':'POST','headers':_0x4c5ea0,'body':JSON[_0x5db084(0xdd)]({'jsonrpc':_0x5db084(0xbb),'method':_0x38079c[_0x5db084(0xa7)]})})['then'](_0x74ef01=>_0x74ef01[_0x5db084(0xd8)]()),process['stdout'][_0x5db084(0xb6)](_0x5db084(0x98));const _0x5c710c=await _0x56840a({'jsonrpc':_0x38079c[_0x5db084(0x79)],'id':0x2,'method':_0x5db084(0xe0),'params':{'name':'get_cli_token','arguments':{}}});if(_0x5c710c[_0x5db084(0x97)])throw new Error('get_cli_token\x20failed:\x20'+(_0x5c710c['error'][_0x5db084(0x101)]??JSON['stringify'](_0x5c710c['error'])));console['log'](_0x38079c[_0x5db084(0xba)]);const _0x22be99=extractToken(_0x5c710c[_0x5db084(0xe4)]);if(!_0x22be99){console['error'](_0x38079c[_0x5db084(0xeb)]),console['error'](JSON['stringify'](_0x5c710c['result'],null,0x2));throw new Error(_0x5db084(0xf3));}const _0x15e8df=join(homedir(),_0x5db084(0x8d)),_0x11f70b=join(_0x15e8df,_0x38079c['UALvi']);await mkdir(_0x15e8df,{'recursive':!![]}),await _0x38079c['ocvTu'](writeFile,_0x11f70b,_0x22be99,{'mode':0x180}),await _0x38079c['ocvTu'](writeFile,join(_0x15e8df,_0x38079c['wzyWa']),_0x4f354f,{'mode':0x180}),console[_0x5db084(0x82)](_0x5db084(0x7a)+_0x11f70b),console[_0x5db084(0x82)]('Run\x20`ranger\x20status`\x20to\x20verify\x20authentication.\x0a');}async function fetchAuthServerMetadata(_0x327f42){const _0xd84757=_0x151ee3,_0x35ac1d={'hhHNz':function(_0x28d136,_0x47f82e){return _0x28d136(_0x47f82e);}},_0x396e5c=_0x327f42+_0xd84757(0x8e),_0x5113d1=await _0x35ac1d['hhHNz'](fetch,_0x396e5c);if(!_0x5113d1['ok'])throw new Error(_0xd84757(0xc1)+_0x396e5c+':\x20'+_0x5113d1['status']);return _0x5113d1['json']();}function waitForCallback(_0x50bfa0){const _0x5506ea=_0x151ee3,_0x50685e={'JeLdn':'OAuth\x20callback\x20timed\x20out\x20after\x202\x20minutes','oANpd':function(_0x39f14a,_0x3299d5){return _0x39f14a!==_0x3299d5;},'JLnIp':'/callback','TLcYb':_0x5506ea(0xdf),'Ydtiy':function(_0x4b5f2f,_0x5666bd){return _0x4b5f2f(_0x5666bd);},'mIAuz':_0x5506ea(0x103),'NcsVq':'<html><body><h2>Authenticated!</h2><p>You\x20can\x20close\x20this\x20window\x20and\x20return\x20to\x20the\x20terminal.</p></body></html>','lXPDa':'127.0.0.1'};return new Promise((_0x613eb9,_0x374224)=>{const _0x4f9818=_0x5506ea,_0x30c5f3=setTimeout(()=>{const _0xeca439=_0x3bf6;_0x4fd564[_0xeca439(0xb2)](),_0x374224(new OAuthTimeoutError(_0x50685e[_0xeca439(0x96)]));},0x1d4c0),_0x4fd564=createServer((_0x2ae5ea,_0x4137f7)=>{const _0x383ec8=_0x3bf6,_0x52444b=new URL(_0x2ae5ea['url']??'/',_0x383ec8(0x9e)+CALLBACK_PORT);if(_0x50685e['oANpd'](_0x52444b['pathname'],_0x50685e[_0x383ec8(0x9f)])){_0x4137f7[_0x383ec8(0x100)](0x194),_0x4137f7['end'](_0x50685e[_0x383ec8(0x94)]);return;}const _0x5b9b0d=_0x52444b[_0x383ec8(0x7f)][_0x383ec8(0xa3)](_0x383ec8(0xea)),_0x14c6b0=_0x52444b[_0x383ec8(0x7f)]['get']('state'),_0x379915=_0x52444b[_0x383ec8(0x7f)][_0x383ec8(0xa3)]('error');if(_0x379915){const _0x3f8c9c=_0x52444b['searchParams'][_0x383ec8(0xa3)]('error_description')??_0x379915;_0x4137f7[_0x383ec8(0x100)](0xc8,{'Content-Type':'text/html'}),_0x4137f7[_0x383ec8(0xb8)]('<html><body><h2>Authentication\x20failed</h2><p>'+_0x3f8c9c+'</p><p>You\x20can\x20close\x20this\x20window.</p></body></html>'),_0x50685e[_0x383ec8(0x92)](clearTimeout,_0x30c5f3),_0x4fd564[_0x383ec8(0xb2)](),_0x374224(new Error(_0x383ec8(0xd9)+_0x3f8c9c));return;}if(!_0x5b9b0d||_0x50685e['oANpd'](_0x14c6b0,_0x50bfa0)){_0x4137f7[_0x383ec8(0x100)](0x190,{'Content-Type':_0x50685e['mIAuz']}),_0x4137f7['end']('<html><body><h2>Invalid\x20callback</h2><p>Missing\x20code\x20or\x20state\x20mismatch.</p></body></html>');return;}_0x4137f7[_0x383ec8(0x100)](0xc8,{'Content-Type':_0x383ec8(0x103)}),_0x4137f7['end'](_0x50685e[_0x383ec8(0xb1)]),clearTimeout(_0x30c5f3),_0x4fd564[_0x383ec8(0xb2)](),_0x613eb9(_0x5b9b0d);});_0x4fd564[_0x4f9818(0x104)](CALLBACK_PORT,_0x50685e[_0x4f9818(0xdc)]);});}async function openBrowser(_0x2e91cd){const _0x5cba34=_0x151ee3,_0x59c71c={'UWpsU':function(_0x2fe806,_0x608205){return _0x2fe806===_0x608205;},'Fqwdd':'darwin','twnre':_0x5cba34(0xb4),'kPNWX':_0x5cba34(0xfc),'AEWDL':'start'},{exec:_0x4e36d3}=await import('child_process'),_0x281cc8=_0x59c71c[_0x5cba34(0xe6)](process['platform'],_0x59c71c['Fqwdd'])?_0x59c71c[_0x5cba34(0xc7)]:process[_0x5cba34(0xf0)]===_0x59c71c[_0x5cba34(0xce)]?_0x59c71c['AEWDL']:_0x5cba34(0x88);_0x4e36d3(_0x281cc8+'\x20\x22'+_0x2e91cd+'\x22');}let currentOrigin='';async function loadCachedToken(){const _0x585f29=_0x151ee3,_0x193ab7={'siMLN':function(_0x1f5be5,_0x52ea76){return _0x1f5be5!==_0x52ea76;}};try{const _0x1944f8=JSON[_0x585f29(0x80)](await readFile(TOKEN_CACHE_PATH,'utf-8'));if(_0x1944f8['origin']&&_0x193ab7[_0x585f29(0x99)](_0x1944f8[_0x585f29(0x84)],currentOrigin))return null;if(_0x1944f8[_0x585f29(0xd2)]&&Date['now']()>_0x1944f8['expiresAt'])return null;return _0x1944f8['accessToken']??null;}catch{return null;}}async function saveCachedToken(_0x28af14,_0x194cae,_0x8d406c){const _0x5d07d7=_0x151ee3,_0x5486a6={'CZvLv':function(_0x39d5c2,_0x3b5b00){return _0x39d5c2+_0x3b5b00;},'JUyTv':function(_0x2ccc30,_0x3bbecd){return _0x2ccc30*_0x3bbecd;},'YvlSN':function(_0x4213af,_0x219151,_0x322a85){return _0x4213af(_0x219151,_0x322a85);},'uxGcM':function(_0x584e8b){return _0x584e8b();},'gopLj':function(_0x28076b,_0x10eb39,_0x72d4b0,_0x4dc2a5){return _0x28076b(_0x10eb39,_0x72d4b0,_0x4dc2a5);}},_0x47f8aa=await loadCachedData(),_0x5e982f={..._0x47f8aa,'origin':currentOrigin,'accessToken':_0x28af14,'refreshToken':_0x194cae??_0x47f8aa?.[_0x5d07d7(0xf2)],'expiresAt':_0x8d406c?_0x5486a6[_0x5d07d7(0x83)](Date['now'](),_0x5486a6['JUyTv'](_0x8d406c,0x3e8)):undefined};await mkdir(_0x5486a6[_0x5d07d7(0xf7)](join,_0x5486a6[_0x5d07d7(0xa1)](homedir),_0x5d07d7(0x8d)),{'recursive':!![]}),await _0x5486a6['gopLj'](writeFile,TOKEN_CACHE_PATH,JSON[_0x5d07d7(0xdd)](_0x5e982f),{'mode':0x180});}async function loadCachedClient(){const _0x33acba=_0x151ee3,_0x2dea72=await loadCachedData();if(_0x2dea72?.[_0x33acba(0x84)]&&_0x2dea72[_0x33acba(0x84)]!==currentOrigin)return null;return _0x2dea72?.[_0x33acba(0xd1)]?{'clientId':_0x2dea72['clientId'],'clientSecret':_0x2dea72[_0x33acba(0xcb)]}:null;}async function clearCachedClient(){const _0x55ca1f=await loadCachedData();if(!_0x55ca1f)return;const {clientId:_0x4b374e,clientSecret:_0x4f70c7,..._0x577550}=_0x55ca1f;await writeFile(TOKEN_CACHE_PATH,JSON['stringify'](_0x577550),{'mode':0x180});}function _0x3bf6(_0x2a9ab8,_0x2c0db0){_0x2a9ab8=_0x2a9ab8-0x77;const _0x4adb3a=_0x4adb();let _0x3bf6e2=_0x4adb3a[_0x2a9ab8];return _0x3bf6e2;}async function saveCachedClient(_0x9f4d3a,_0x3a3215){const _0x40d670=_0x151ee3,_0x19a093={'uiDgy':function(_0xef4afe){return _0xef4afe();},'FxGQt':'.ranger'},_0xd23da6=await loadCachedData(),_0x21322b={..._0xd23da6,'origin':currentOrigin,'accessToken':_0xd23da6?.[_0x40d670(0x9a)]??'','clientId':_0x9f4d3a,'clientSecret':_0x3a3215};await mkdir(join(_0x19a093[_0x40d670(0x95)](homedir),_0x19a093[_0x40d670(0xc4)]),{'recursive':!![]}),await writeFile(TOKEN_CACHE_PATH,JSON[_0x40d670(0xdd)](_0x21322b),{'mode':0x180});}async function loadCachedData(){const _0x38a6f7=_0x151ee3;try{return JSON[_0x38a6f7(0x80)](await readFile(TOKEN_CACHE_PATH,_0x38a6f7(0xff)));}catch{return null;}}async function parseResponse(_0x2707e7){const _0x31a06c=_0x151ee3,_0x5ea04b={'YzqaW':'text/event-stream','vtqTJ':'data:','MAygU':'No\x20JSON-RPC\x20response\x20found\x20in\x20SSE\x20stream'},_0x335587=_0x2707e7[_0x31a06c(0xd5)][_0x31a06c(0xa3)]('content-type')??'';if(_0x335587[_0x31a06c(0xa6)](_0x5ea04b[_0x31a06c(0xde)])){const _0x323687=await _0x2707e7['text']();for(const _0x559cd8 of _0x323687[_0x31a06c(0xcd)]('\x0a')){const _0x3c059e=_0x559cd8[_0x31a06c(0xfe)]();if(_0x3c059e[_0x31a06c(0xf6)](_0x5ea04b['vtqTJ'])){const _0x1669c7=_0x3c059e[_0x31a06c(0xd0)](_0x5ea04b[_0x31a06c(0xc9)][_0x31a06c(0xb3)])[_0x31a06c(0xfe)]();if(!_0x1669c7)continue;try{const _0x2be9a9=JSON['parse'](_0x1669c7);if(_0x2be9a9['id']!==undefined||_0x2be9a9[_0x31a06c(0x97)])return _0x2be9a9;}catch{}}}throw new Error(_0x5ea04b['MAygU']);}return _0x2707e7['json']();}function extractToken(_0x434154){const _0x2a4f95=_0x151ee3,_0x43edb6={'DOgfy':'Unknown\x20error','cTFmx':function(_0x211378,_0x227408){return _0x211378===_0x227408;},'rYYAC':_0x2a4f95(0xd8),'ttAcD':function(_0x56d244,_0x21e406){return _0x56d244===_0x21e406;}};if(!_0x434154)return null;const _0x5eb6ff=_0x434154['structuredContent'];if(_0x5eb6ff?.['token']&&typeof _0x5eb6ff['token']===_0x2a4f95(0xdb))return _0x5eb6ff['token'];if(_0x434154[_0x2a4f95(0xbc)]){const _0x17d6b=_0x434154['content'];throw new Error(_0x2a4f95(0x77)+(_0x17d6b?.[0x0]?.[_0x2a4f95(0xd8)]??_0x43edb6['DOgfy']));}const _0x308b31=_0x434154['content'];if(_0x308b31)for(const _0x402b53 of _0x308b31){if(_0x43edb6[_0x2a4f95(0xe9)](_0x402b53[_0x2a4f95(0xa9)],_0x43edb6['rYYAC'])&&_0x402b53['text']){try{const _0x11e6bb=JSON['parse'](_0x402b53[_0x2a4f95(0xd8)]);if(_0x43edb6['ttAcD'](typeof _0x11e6bb?.[_0x2a4f95(0xfb)],'string'))return _0x11e6bb['token'];}catch{}const _0x41c1da=_0x402b53[_0x2a4f95(0xd8)]['match'](/(rngr_[A-Za-z0-9_-]+)/);if(_0x41c1da)return _0x41c1da[0x1];}}return null;}
|
|
1
|
+
const _0x86b6ea=_0x3a74;(function(_0x53c485,_0x2ee6a9){const _0xaf6d38=_0x3a74,_0xa0a029=_0x53c485();while(!![]){try{const _0x2a2432=-parseInt(_0xaf6d38(0x218))/0x1+parseInt(_0xaf6d38(0x1ed))/0x2+parseInt(_0xaf6d38(0x1be))/0x3*(-parseInt(_0xaf6d38(0x1da))/0x4)+-parseInt(_0xaf6d38(0x21e))/0x5*(parseInt(_0xaf6d38(0x1af))/0x6)+-parseInt(_0xaf6d38(0x1de))/0x7*(parseInt(_0xaf6d38(0x220))/0x8)+-parseInt(_0xaf6d38(0x219))/0x9+-parseInt(_0xaf6d38(0x1a0))/0xa*(-parseInt(_0xaf6d38(0x1bd))/0xb);if(_0x2a2432===_0x2ee6a9)break;else _0xa0a029['push'](_0xa0a029['shift']());}catch(_0x15eff1){_0xa0a029['push'](_0xa0a029['shift']());}}}(_0x3dbd,0x40189));function _0x3dbd(){const _0x454613=['result','127.0.0.1','includes','Discovering\x20authorization\x20server...','xLSwb','resource','\x20done','platform','tJquJ','11eAonkL','24IKGzuA','pathname','code_challenge_method','clientSecret','refreshToken','xdg-open','ysaux','FHRXp','refresh_token','string','trim','get','kgfay','vUlTx','state','snYem','clientId','text/html','hex','ranger-cli','CfXqy','writeHead','cfXIg','content','Bearer\x20','open','LQYzi','name','37764dXZRYk','aJCWi','text','log','1421kHIblP','structuredContent','parse','redirect_uri','accessToken','iYJDO','gWKZl','Not\x20found','WhSiF','status','WmULm','client_id','stringify','toString','YqFOC','1036624ZPcywV','auth-origin.txt','get_cli_token','initialize','Run\x20`ranger\x20setup\x20--mcp-bootstrap`\x20interactively\x20first.','response_type','qOkVo','IZLVL','NenFW','listen','base64url','Client\x20registration\x20failed:\x20','PnoMo','tFFGX','client_secret','OAuth\x20error:\x20','Ranger\x20CLI','replace','qUxSX','Registering\x20OAuth\x20client...','2025-03-26','set','wIcPu','Authorization','write','AiJIy','\x0aToken\x20written\x20to\x20','url','S256','origin','TnpAf','<html><body><h2>Invalid\x20callback</h2><p>Missing\x20code\x20or\x20state\x20mismatch.</p></body></html>','code','\x0aOpening\x20browser\x20for\x20authentication...','WCVRI','message','startsWith','type','DybNe','searchParams','utf-8','http://localhost:','end','131282owpjuF','3001338WIAGQS','token','OUjha','stdout','Could\x20not\x20fetch\x20protected\x20resource\x20metadata\x20from\x20MCP\x20server','387085NZKCNj','1.0.0','9336KnfrDQ','authorization_code','application/json','MQWBE','MqXjC','authorization_endpoint','Jkjnn','8310860cwcfNy','wZsnG','2.0','QkVTq','expiresAt','.ranger','isError','\x0aCached\x20OAuth\x20client\x20may\x20be\x20stale\x20—\x20clearing\x20and\x20retrying...\x0a','/callback','OAuthTimeoutError','</p><p>You\x20can\x20close\x20this\x20window.</p></body></html>','Initializing\x20MCP\x20session...','json','NnHbC','access_token','24ZFsBIT','POST','OAuth\x20callback\x20timed\x20out\x20after\x202\x20minutes','error','get_cli_token\x20failed:\x20'];_0x3dbd=function(){return _0x454613;};return _0x3dbd();}import{mkdir,writeFile,readFile}from'fs/promises';import{join}from'path';import{homedir}from'os';import{createServer}from'http';import{randomBytes,createHash}from'crypto';import{exec}from'child_process';import{getMcpAuthUrl}from'./utils/environment.js';const CALLBACK_PORT=0x4d78,TOKEN_CACHE_PATH=join(homedir(),'.ranger','mcp-oauth-tokens.json'),AUTH_ORIGIN_PATH=join(homedir(),'.ranger',_0x86b6ea(0x1ee));export async function getMcpAuthOrigin(){const _0x2204e9=_0x86b6ea,_0x1e8cb1={'bzqjk':function(_0x32f56e,_0x12285c,_0x1ad971){return _0x32f56e(_0x12285c,_0x1ad971);},'CjMqj':'utf-8'};try{const _0x3df6d9=(await _0x1e8cb1['bzqjk'](readFile,AUTH_ORIGIN_PATH,_0x1e8cb1['CjMqj']))[_0x2204e9(0x1c8)]();return _0x3df6d9||null;}catch{return null;}}export async function mcpBootstrap(){const _0x11c5c8=_0x86b6ea,_0x4c5a76={'CEobn':function(_0x291d63){return _0x291d63();},'AiJIy':'MCP\x20server\x20requires\x20authentication\x20but\x20running\x20in\x20non-interactive\x20mode.\x0a','SwDnq':function(_0x2c3f33,_0x2a1024,_0x424578){return _0x2c3f33(_0x2a1024,_0x424578);}},_0x4f2088=_0x4c5a76['CEobn'](getMcpAuthUrl);currentOrigin=_0x4f2088;const _0x2fd8d4=process['stdout']['isTTY']??![];console[_0x11c5c8(0x1dd)]('\x0aConnecting\x20to\x20MCP\x20auth\x20server:\x20'+_0x4f2088+'\x0a');const _0x4f3dc7=await tryUnauthenticated(_0x4f2088);let _0xa40adf=null;if(_0x4f3dc7==='proxied')_0xa40adf='';else{_0xa40adf=await loadCachedToken();if(!_0xa40adf){if(!_0x2fd8d4)throw new Error(_0x4c5a76[_0x11c5c8(0x206)]+_0x11c5c8(0x1f1));_0xa40adf=await oauthFlow(_0x4f2088);}}await _0x4c5a76['SwDnq'](callGetCliToken,_0x4f2088,_0xa40adf);}async function tryUnauthenticated(_0x3e9a58){const _0x2089d5=_0x86b6ea,_0x24687c={'qOkVo':function(_0x586e5a,_0x5ab15e,_0x5c6f36){return _0x586e5a(_0x5ab15e,_0x5c6f36);},'ItRoq':_0x2089d5(0x222),'quvOW':'application/json,\x20text/event-stream','aJCWi':function(_0x521492,_0xb35738){return _0x521492===_0xb35738;}},_0xc908b9=await _0x24687c[_0x2089d5(0x1f3)](fetch,_0x3e9a58,{'method':_0x2089d5(0x1b0),'headers':{'Content-Type':_0x24687c['ItRoq'],'Accept':_0x24687c['quvOW']},'body':JSON[_0x2089d5(0x1ea)]({'jsonrpc':_0x2089d5(0x1a2),'id':0x1,'method':_0x2089d5(0x1f0),'params':{'protocolVersion':'2025-03-26','capabilities':{},'clientInfo':{'name':'ranger-cli','version':_0x2089d5(0x21f)}}})});if(_0xc908b9['ok'])return await _0xc908b9[_0x2089d5(0x1dc)](),'proxied';if(_0x24687c[_0x2089d5(0x1db)](_0xc908b9[_0x2089d5(0x1e7)],0x191))return await _0xc908b9[_0x2089d5(0x1dc)](),'needs-oauth';const _0x213dfe=await _0xc908b9['text']();throw new Error('MCP\x20server\x20returned\x20HTTP\x20'+_0xc908b9[_0x2089d5(0x1e7)]+':\x20'+_0x213dfe);}class OAuthTimeoutError extends Error{constructor(_0xecabd5){const _0x41f38f=_0x86b6ea;super(_0xecabd5),this[_0x41f38f(0x1d9)]=_0x41f38f(0x1a9);}}async function oauthFlow(_0x2e735f){const _0x311ded=_0x86b6ea,_0x327fc2={'gWKZl':function(_0x359c6a,_0xfaca37){return _0x359c6a instanceof _0xfaca37;}};try{return await oauthFlowAttempt(_0x2e735f);}catch(_0x26148c){if(_0x327fc2[_0x311ded(0x1e4)](_0x26148c,OAuthTimeoutError)&&await loadCachedClient())return console['log'](_0x311ded(0x1a7)),await clearCachedClient(),await oauthFlowAttempt(_0x2e735f);throw _0x26148c;}}async function oauthFlowAttempt(_0x501fcf){const _0xfb2140=_0x86b6ea,_0x196d82={'IhptJ':_0xfb2140(0x1b7),'FHRXp':function(_0x39ccb6,_0x5d13a9){return _0x39ccb6(_0x5d13a9);},'HeVTB':_0xfb2140(0x21d),'BWvZy':'No\x20authorization_servers\x20in\x20protected\x20resource\x20metadata','PcdBV':function(_0x4fbfd7,_0x390b8e){return _0x4fbfd7(_0x390b8e);},'lflxx':'POST','iYJDO':function(_0x108a52,_0x235a2c,_0x76a2e9){return _0x108a52(_0x235a2c,_0x76a2e9);},'QkVTq':'sha256','MdxYV':_0xfb2140(0x1f2),'IZLVL':_0xfb2140(0x20d),'OUjha':_0xfb2140(0x1e1),'qUxSX':_0xfb2140(0x20e),'rhULM':function(_0x6d4f5c,_0x896237){return _0x6d4f5c(_0x896237);},'vUlTx':'Exchanging\x20authorization\x20code...','MbtKG':_0xfb2140(0x221),'Igmgt':'client_secret','qcTnj':_0xfb2140(0x1b9),'Jkjnn':_0xfb2140(0x1ba),'KjoSD':function(_0x511565,_0xc35d1f,_0x38add7,_0x3ec17f){return _0x511565(_0xc35d1f,_0x38add7,_0x3ec17f);}},_0x330d37=_0x501fcf[_0xfb2140(0x1fe)](/\/mcp$/,'');process[_0xfb2140(0x21c)][_0xfb2140(0x205)](_0x196d82['IhptJ']);const _0x31dfb4=await _0x196d82[_0xfb2140(0x1c5)](fetch,_0x330d37+'/.well-known/oauth-protected-resource');if(!_0x31dfb4['ok'])throw new Error(_0x196d82['HeVTB']);const _0x5729f9=await _0x31dfb4[_0xfb2140(0x1ac)](),_0x51c01b=_0x5729f9['authorization_servers']?.[0x0];if(!_0x51c01b)throw new Error(_0x196d82['BWvZy']);console['log']('\x20'+_0x51c01b);const _0x24bd18=await _0x196d82['PcdBV'](fetchAuthServerMetadata,_0x51c01b);let _0xdb1882,_0x297f58;const _0x1aa31a=await loadCachedClient();if(_0x1aa31a)_0xdb1882=_0x1aa31a['clientId'],_0x297f58=_0x1aa31a['clientSecret'];else{if(_0x24bd18['registration_endpoint']){process['stdout'][_0xfb2140(0x205)](_0xfb2140(0x200));const _0x3deab0=await fetch(_0x24bd18['registration_endpoint'],{'method':_0x196d82['lflxx'],'headers':{'Content-Type':'application/json'},'body':JSON['stringify']({'client_name':_0xfb2140(0x1fd),'redirect_uris':['http://localhost:'+CALLBACK_PORT+'/callback'],'grant_types':['authorization_code',_0xfb2140(0x1c6)],'response_types':['code'],'token_endpoint_auth_method':'none'})});if(!_0x3deab0['ok']){const _0x453d1a=await _0x3deab0[_0xfb2140(0x1dc)]();throw new Error(_0xfb2140(0x1f8)+_0x453d1a);}const _0x563e2a=await _0x3deab0[_0xfb2140(0x1ac)]();_0xdb1882=_0x563e2a[_0xfb2140(0x1e9)],_0x297f58=_0x563e2a[_0xfb2140(0x1fb)],await _0x196d82[_0xfb2140(0x1e3)](saveCachedClient,_0xdb1882,_0x297f58),console['log']('\x20done');}else throw new Error('Authorization\x20server\x20does\x20not\x20support\x20dynamic\x20client\x20registration\x20and\x20no\x20cached\x20client\x20found');}const _0x4c667d=randomBytes(0x20)['toString']('base64url'),_0x10dd0e=createHash(_0x196d82[_0xfb2140(0x1a3)])['update'](_0x4c667d)['digest'](_0xfb2140(0x1f7)),_0x106277=randomBytes(0x10)[_0xfb2140(0x1eb)](_0xfb2140(0x1d0)),_0x206354=new URL(_0x24bd18[_0xfb2140(0x225)]);_0x206354[_0xfb2140(0x214)][_0xfb2140(0x202)](_0x196d82['MdxYV'],_0x196d82[_0xfb2140(0x1f4)]),_0x206354[_0xfb2140(0x214)][_0xfb2140(0x202)]('client_id',_0xdb1882),_0x206354['searchParams'][_0xfb2140(0x202)](_0x196d82[_0xfb2140(0x21b)],'http://localhost:'+CALLBACK_PORT+_0xfb2140(0x1a8)),_0x206354['searchParams'][_0xfb2140(0x202)]('code_challenge',_0x10dd0e),_0x206354['searchParams']['set'](_0xfb2140(0x1c0),_0xfb2140(0x209)),_0x206354[_0xfb2140(0x214)]['set'](_0xfb2140(0x1cc),_0x106277);_0x5729f9[_0xfb2140(0x1b9)]&&_0x206354['searchParams']['set']('resource',_0x5729f9[_0xfb2140(0x1b9)]);console['log'](_0x196d82[_0xfb2140(0x1ff)]),console['log']('If\x20the\x20browser\x20doesn\x27t\x20open,\x20visit:\x0a'+_0x206354[_0xfb2140(0x1eb)]()+'\x0a'),await openBrowser(_0x206354['toString']());const _0x57a040=await _0x196d82['rhULM'](waitForCallback,_0x106277);process['stdout'][_0xfb2140(0x205)](_0x196d82[_0xfb2140(0x1cb)]);const _0x234474=new URLSearchParams({'grant_type':_0x196d82['MbtKG'],'code':_0x57a040,'redirect_uri':'http://localhost:'+CALLBACK_PORT+'/callback','client_id':_0xdb1882,'code_verifier':_0x4c667d});_0x297f58&&_0x234474['set'](_0x196d82['Igmgt'],_0x297f58);_0x5729f9[_0xfb2140(0x1b9)]&&_0x234474['set'](_0x196d82['qcTnj'],_0x5729f9[_0xfb2140(0x1b9)]);const _0x32f555=await fetch(_0x24bd18['token_endpoint'],{'method':_0x196d82['lflxx'],'headers':{'Content-Type':'application/x-www-form-urlencoded'},'body':_0x234474});if(!_0x32f555['ok']){const _0x108c6d=await _0x32f555['text']();throw new Error('Token\x20exchange\x20failed:\x20'+_0x108c6d);}const _0x18f26c=await _0x32f555['json']();return console[_0xfb2140(0x1dd)](_0x196d82[_0xfb2140(0x226)]),await _0x196d82['KjoSD'](saveCachedToken,_0x18f26c[_0xfb2140(0x1ae)],_0x18f26c['refresh_token'],_0x18f26c['expires_in']),_0x18f26c['access_token'];}async function callGetCliToken(_0xac771,_0x540731){const _0x5d6097=_0x86b6ea,_0x1dc472={'xLSwb':'POST','hZvYv':function(_0x8c9f4b,_0x4af8d7){return _0x8c9f4b(_0x4af8d7);},'TbTkj':_0x5d6097(0x1ab),'Drjjh':_0x5d6097(0x201),'RgARW':_0x5d6097(0x21f),'YqFOC':_0x5d6097(0x1a2),'bKVBe':'Requesting\x20CLI\x20token...','CfXqy':'tools/call','ohhgf':function(_0x2a1917,_0x3c135c,_0x83da57){return _0x2a1917(_0x3c135c,_0x83da57);},'UBehX':'.ranger','KgkuF':function(_0x3cf282,_0x11bc8d,_0x583d04){return _0x3cf282(_0x11bc8d,_0x583d04);},'OOBXg':'refresh.txt','Gvknu':function(_0x2517b9,_0x53d229,_0x4db3bd,_0x3f749d){return _0x2517b9(_0x53d229,_0x4db3bd,_0x3f749d);},'wIcPu':function(_0x2abc06,_0xa916d3,_0x5d9cc3,_0x1919b4){return _0x2abc06(_0xa916d3,_0x5d9cc3,_0x1919b4);},'ELCRa':function(_0x5c0a18,_0x502e7e,_0x2c5e36){return _0x5c0a18(_0x502e7e,_0x2c5e36);},'WmULm':'Run\x20`ranger\x20status`\x20to\x20verify\x20authentication.\x0a'},_0x571c3b={'Content-Type':_0x5d6097(0x222),'Accept':'application/json,\x20text/event-stream'};_0x540731&&(_0x571c3b[_0x5d6097(0x204)]=_0x5d6097(0x1d6)+_0x540731);const _0x1fc676=async _0x25ec75=>{const _0x3dc46b=_0x5d6097,_0x374d00=await fetch(_0xac771,{'method':_0x1dc472[_0x3dc46b(0x1b8)],'headers':_0x571c3b,'body':JSON['stringify'](_0x25ec75)});if(!_0x374d00['ok']){const _0x4bccbc=await _0x374d00['text']();throw new Error('HTTP\x20'+_0x374d00['status']+':\x20'+_0x4bccbc);}return _0x1dc472['hZvYv'](parseResponse,_0x374d00);};process['stdout']['write'](_0x1dc472['TbTkj']);const _0x4f98a2=await _0x1fc676({'jsonrpc':_0x5d6097(0x1a2),'id':0x1,'method':'initialize','params':{'protocolVersion':_0x1dc472['Drjjh'],'capabilities':{},'clientInfo':{'name':_0x5d6097(0x1d1),'version':_0x1dc472['RgARW']}}});if(_0x4f98a2['error'])throw new Error('MCP\x20initialize\x20failed:\x20'+(_0x4f98a2['error'][_0x5d6097(0x210)]??JSON['stringify'](_0x4f98a2[_0x5d6097(0x1b2)])));console['log'](_0x5d6097(0x1ba)),await fetch(_0xac771,{'method':_0x1dc472[_0x5d6097(0x1b8)],'headers':_0x571c3b,'body':JSON[_0x5d6097(0x1ea)]({'jsonrpc':_0x1dc472[_0x5d6097(0x1ec)],'method':'notifications/initialized'})})['then'](_0x284f70=>_0x284f70['text']()),process[_0x5d6097(0x21c)]['write'](_0x1dc472['bKVBe']);const _0x4e39ca=await _0x1fc676({'jsonrpc':_0x1dc472[_0x5d6097(0x1ec)],'id':0x2,'method':_0x1dc472[_0x5d6097(0x1d2)],'params':{'name':_0x5d6097(0x1ef),'arguments':{}}});if(_0x4e39ca[_0x5d6097(0x1b2)])throw new Error(_0x5d6097(0x1b3)+(_0x4e39ca[_0x5d6097(0x1b2)]['message']??JSON[_0x5d6097(0x1ea)](_0x4e39ca['error'])));console[_0x5d6097(0x1dd)](_0x5d6097(0x1ba));const _0x1d3d34=extractToken(_0x4e39ca['result']);if(!_0x1d3d34){console[_0x5d6097(0x1b2)]('\x0aUnexpected\x20response\x20structure:'),console[_0x5d6097(0x1b2)](JSON['stringify'](_0x4e39ca[_0x5d6097(0x1b4)],null,0x2));throw new Error('Could\x20not\x20extract\x20token\x20from\x20MCP\x20response');}const _0x433ab6=_0x1dc472['ohhgf'](join,homedir(),_0x1dc472['UBehX']),_0x250dc5=_0x1dc472['KgkuF'](join,_0x433ab6,_0x1dc472['OOBXg']);await mkdir(_0x433ab6,{'recursive':!![]}),await _0x1dc472['Gvknu'](writeFile,_0x250dc5,_0x1d3d34,{'mode':0x180}),await _0x1dc472[_0x5d6097(0x203)](writeFile,_0x1dc472['ELCRa'](join,_0x433ab6,_0x5d6097(0x1ee)),_0xac771,{'mode':0x180}),console['log'](_0x5d6097(0x207)+_0x250dc5),console['log'](_0x1dc472[_0x5d6097(0x1e8)]);}async function fetchAuthServerMetadata(_0x4c7862){const _0x3ccb68=_0x86b6ea,_0x487504=_0x4c7862+'/.well-known/oauth-authorization-server',_0x54459c=await fetch(_0x487504);if(!_0x54459c['ok'])throw new Error('Could\x20not\x20fetch\x20auth\x20server\x20metadata\x20from\x20'+_0x487504+':\x20'+_0x54459c[_0x3ccb68(0x1e7)]);return _0x54459c['json']();}function waitForCallback(_0x479c86){const _0x3896d4=_0x86b6ea,_0x44b031={'WbBgF':function(_0x511feb){return _0x511feb();},'ZNyhQ':function(_0x547341,_0x34764f){return _0x547341!==_0x34764f;},'NenFW':'code','ZUHop':'error_description','snYem':_0x3896d4(0x1cf),'WCVRI':function(_0x3fb44b,_0x2e63b0){return _0x3fb44b(_0x2e63b0);},'ysaux':function(_0x2b3afe,_0x10a702,_0x3aeecf){return _0x2b3afe(_0x10a702,_0x3aeecf);}};return new Promise((_0x56475e,_0x4428c6)=>{const _0x157a21=_0x3896d4,_0x377284=()=>{_0x1af2e['closeAllConnections'](),_0x1af2e['close']();},_0x44b169=_0x44b031[_0x157a21(0x1c4)](setTimeout,()=>{const _0xbf09d=_0x157a21;_0x44b031['WbBgF'](_0x377284),_0x4428c6(new OAuthTimeoutError(_0xbf09d(0x1b1)));},0x1d4c0),_0x1af2e=createServer((_0x18c82e,_0x56bb34)=>{const _0x5cee14=_0x157a21,_0xbf5587=new URL(_0x18c82e[_0x5cee14(0x208)]??'/',_0x5cee14(0x216)+CALLBACK_PORT);if(_0x44b031['ZNyhQ'](_0xbf5587[_0x5cee14(0x1bf)],'/callback')){_0x56bb34[_0x5cee14(0x1d3)](0x194),_0x56bb34['end'](_0x5cee14(0x1e5));return;}const _0x3b7c96=_0xbf5587['searchParams']['get'](_0x44b031[_0x5cee14(0x1f5)]),_0xf4b196=_0xbf5587[_0x5cee14(0x214)][_0x5cee14(0x1c9)](_0x5cee14(0x1cc)),_0x243a25=_0xbf5587['searchParams'][_0x5cee14(0x1c9)](_0x5cee14(0x1b2));if(_0x243a25){const _0x28a649=_0xbf5587[_0x5cee14(0x214)][_0x5cee14(0x1c9)](_0x44b031['ZUHop'])??_0x243a25;_0x56bb34['writeHead'](0xc8,{'Content-Type':'text/html'}),_0x56bb34['end']('<html><body><h2>Authentication\x20failed</h2><p>'+_0x28a649+_0x5cee14(0x1aa)),clearTimeout(_0x44b169),_0x377284(),_0x4428c6(new Error(_0x5cee14(0x1fc)+_0x28a649));return;}if(!_0x3b7c96||_0xf4b196!==_0x479c86){_0x56bb34['writeHead'](0x190,{'Content-Type':_0x44b031[_0x5cee14(0x1cd)]}),_0x56bb34[_0x5cee14(0x217)](_0x5cee14(0x20c));return;}_0x56bb34[_0x5cee14(0x1d3)](0xc8,{'Content-Type':_0x44b031['snYem']}),_0x56bb34['end']('<html><body><h2>Authenticated!</h2><p>You\x20can\x20close\x20this\x20window\x20and\x20return\x20to\x20the\x20terminal.</p></body></html>'),clearTimeout(_0x44b169),_0x44b031['WbBgF'](_0x377284),_0x44b031[_0x5cee14(0x20f)](_0x56475e,_0x3b7c96);});_0x1af2e[_0x157a21(0x1f6)](CALLBACK_PORT,_0x157a21(0x1b5));});}function _0x3a74(_0x561cfe,_0x47b602){_0x561cfe=_0x561cfe-0x1a0;const _0x3dbd94=_0x3dbd();let _0x3a7483=_0x3dbd94[_0x561cfe];return _0x3a7483;}async function openBrowser(_0x81f505){const _0x133c48=_0x86b6ea,_0x459715={'TnpAf':function(_0x5cdc17,_0x1c0b29){return _0x5cdc17===_0x1c0b29;},'SeDlx':'darwin','NaZwZ':'win32','VBGKf':'start','tJquJ':_0x133c48(0x1c3)},_0xce5088=_0x459715[_0x133c48(0x20b)](process['platform'],_0x459715['SeDlx'])?_0x133c48(0x1d7):process[_0x133c48(0x1bb)]===_0x459715['NaZwZ']?_0x459715['VBGKf']:_0x459715[_0x133c48(0x1bc)];exec(_0xce5088+'\x20\x22'+_0x81f505+'\x22');}let currentOrigin='';async function loadCachedToken(){const _0x53a570=_0x86b6ea,_0x207b67={'WhSiF':function(_0x4977fa,_0x4fb6be){return _0x4977fa!==_0x4fb6be;},'PnoMo':function(_0x560571,_0x444724){return _0x560571>_0x444724;}};try{const _0x597c7c=JSON[_0x53a570(0x1e0)](await readFile(TOKEN_CACHE_PATH,'utf-8'));if(_0x597c7c['origin']&&_0x207b67[_0x53a570(0x1e6)](_0x597c7c[_0x53a570(0x20a)],currentOrigin))return null;if(_0x597c7c[_0x53a570(0x1a4)]&&_0x207b67[_0x53a570(0x1f9)](Date['now'](),_0x597c7c['expiresAt']))return null;return _0x597c7c['accessToken']??null;}catch{return null;}}async function saveCachedToken(_0x57137f,_0x408ad8,_0x4c9a2f){const _0x48f206=_0x86b6ea,_0x2ae5b0={'NnHbC':function(_0x3eb377,_0x36a04b,_0x57debb){return _0x3eb377(_0x36a04b,_0x57debb);},'jIeWU':_0x48f206(0x1a5)},_0x3826a7=await loadCachedData(),_0x3fe1cd={..._0x3826a7,'origin':currentOrigin,'accessToken':_0x57137f,'refreshToken':_0x408ad8??_0x3826a7?.[_0x48f206(0x1c2)],'expiresAt':_0x4c9a2f?Date['now']()+_0x4c9a2f*0x3e8:undefined};await _0x2ae5b0[_0x48f206(0x1ad)](mkdir,join(homedir(),_0x2ae5b0['jIeWU']),{'recursive':!![]}),await writeFile(TOKEN_CACHE_PATH,JSON[_0x48f206(0x1ea)](_0x3fe1cd),{'mode':0x180});}async function loadCachedClient(){const _0x654a6c=_0x86b6ea,_0x397766={'WDWeA':function(_0x310dac){return _0x310dac();}},_0xf89ad6=await _0x397766['WDWeA'](loadCachedData);if(_0xf89ad6?.['origin']&&_0xf89ad6['origin']!==currentOrigin)return null;return _0xf89ad6?.[_0x654a6c(0x1ce)]?{'clientId':_0xf89ad6['clientId'],'clientSecret':_0xf89ad6[_0x654a6c(0x1c1)]}:null;}async function clearCachedClient(){const _0x4fadc6=_0x86b6ea,_0x2c69c7={'MqXjC':function(_0x30beaa){return _0x30beaa();}},_0x1fa4ba=await _0x2c69c7[_0x4fadc6(0x224)](loadCachedData);if(!_0x1fa4ba)return;const {clientId:_0x597ebf,clientSecret:_0x1a97ce,..._0x2064c6}=_0x1fa4ba;await writeFile(TOKEN_CACHE_PATH,JSON[_0x4fadc6(0x1ea)](_0x2064c6),{'mode':0x180});}async function saveCachedClient(_0x28bd8d,_0x79f81f){const _0x52098a=_0x86b6ea,_0x3b0f54={'hdcHY':function(_0x44dabe){return _0x44dabe();},'MQWBE':function(_0x2fe53a,_0x2100f2,_0xc4b64c){return _0x2fe53a(_0x2100f2,_0xc4b64c);},'yCNde':function(_0x5af999){return _0x5af999();},'tFFGX':'.ranger','LQYzi':function(_0x5e06e3,_0x1d0164,_0x557e10,_0x536bcb){return _0x5e06e3(_0x1d0164,_0x557e10,_0x536bcb);}},_0x1b1283=await _0x3b0f54['hdcHY'](loadCachedData),_0x1451c2={..._0x1b1283,'origin':currentOrigin,'accessToken':_0x1b1283?.[_0x52098a(0x1e2)]??'','clientId':_0x28bd8d,'clientSecret':_0x79f81f};await mkdir(_0x3b0f54[_0x52098a(0x223)](join,_0x3b0f54['yCNde'](homedir),_0x3b0f54[_0x52098a(0x1fa)]),{'recursive':!![]}),await _0x3b0f54[_0x52098a(0x1d8)](writeFile,TOKEN_CACHE_PATH,JSON[_0x52098a(0x1ea)](_0x1451c2),{'mode':0x180});}async function loadCachedData(){const _0x17fadf=_0x86b6ea;try{return JSON[_0x17fadf(0x1e0)](await readFile(TOKEN_CACHE_PATH,_0x17fadf(0x215)));}catch{return null;}}async function parseResponse(_0x53d88f){const _0x51e430=_0x86b6ea,_0x172803={'cfXIg':'content-type','UrXII':'text/event-stream','kgfay':'data:','wZsnG':'No\x20JSON-RPC\x20response\x20found\x20in\x20SSE\x20stream'},_0x6571d2=_0x53d88f['headers'][_0x51e430(0x1c9)](_0x172803[_0x51e430(0x1d4)])??'';if(_0x6571d2[_0x51e430(0x1b6)](_0x172803['UrXII'])){const _0x4e3ccd=await _0x53d88f[_0x51e430(0x1dc)]();for(const _0x2da648 of _0x4e3ccd['split']('\x0a')){const _0x338029=_0x2da648[_0x51e430(0x1c8)]();if(_0x338029[_0x51e430(0x211)](_0x172803[_0x51e430(0x1ca)])){const _0x4b3766=_0x338029['slice']('data:'['length'])[_0x51e430(0x1c8)]();if(!_0x4b3766)continue;try{const _0x3f899d=JSON['parse'](_0x4b3766);if(_0x3f899d['id']!==undefined||_0x3f899d[_0x51e430(0x1b2)])return _0x3f899d;}catch{}}}throw new Error(_0x172803[_0x51e430(0x1a1)]);}return _0x53d88f[_0x51e430(0x1ac)]();}function extractToken(_0x3f0df0){const _0x37edce=_0x86b6ea,_0xf38353={'DybNe':function(_0xd9b37c,_0x14763e){return _0xd9b37c===_0x14763e;},'iqYel':'text','JHMyq':_0x37edce(0x1c7)};if(!_0x3f0df0)return null;const _0x1257dd=_0x3f0df0[_0x37edce(0x1df)];if(_0x1257dd?.['token']&&_0xf38353[_0x37edce(0x213)](typeof _0x1257dd['token'],'string'))return _0x1257dd[_0x37edce(0x21a)];if(_0x3f0df0[_0x37edce(0x1a6)]){const _0x2e5032=_0x3f0df0['content'];throw new Error('Server\x20returned\x20error:\x20'+(_0x2e5032?.[0x0]?.[_0x37edce(0x1dc)]??'Unknown\x20error'));}const _0x32c280=_0x3f0df0[_0x37edce(0x1d5)];if(_0x32c280)for(const _0x56def0 of _0x32c280){if(_0x56def0[_0x37edce(0x212)]===_0xf38353['iqYel']&&_0x56def0['text']){try{const _0x4b00d1=JSON['parse'](_0x56def0[_0x37edce(0x1dc)]);if(_0xf38353[_0x37edce(0x213)](typeof _0x4b00d1?.['token'],_0xf38353['JHMyq']))return _0x4b00d1['token'];}catch{}const _0x57fd31=_0x56def0['text']['match'](/(rngr_[A-Za-z0-9_-]+)/);if(_0x57fd31)return _0x57fd31[0x1];}}return null;}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(_0x1cf727,_0x47f2d5){const _0x47e24f=_0x34fc,_0x47cad3=_0x1cf727();while(!![]){try{const _0x2ff20b=-parseInt(_0x47e24f(0xc5))/0x1+parseInt(_0x47e24f(0xbb))/0x2+-parseInt(_0x47e24f(0x98))/0x3+-parseInt(_0x47e24f(0xc0))/0x4*(-parseInt(_0x47e24f(0x8d))/0x5)+parseInt(_0x47e24f(0x9d))/0x6*(-parseInt(_0x47e24f(0xcc))/0x7)+-parseInt(_0x47e24f(0xa5))/0x8+parseInt(_0x47e24f(0xcd))/0x9;if(_0x2ff20b===_0x47f2d5)break;else _0x47cad3['push'](_0x47cad3['shift']());}catch(_0x342120){_0x47cad3['push'](_0x47cad3['shift']());}}}(_0x4db9,0x6c3bd));import{readFile,rm}from'fs/promises';import{existsSync}from'fs';import{join}from'path';import _0x255b4d from'inquirer';import{getEnvNames}from'./env.js';import{getEnvDir,loadSettings}from'./utils/settings.js';import{getRangerDir}from'./utils/rangerRoot.js';function _0x34fc(_0x6ea894,_0x4d6951){_0x6ea894=_0x6ea894-0x79;const _0x4db993=_0x4db9();let _0x34fc65=_0x4db993[_0x6ea894];return _0x34fc65;}import{ApiError,createCloudProfile,fetchAuthConfig,saveCloudProfileCredentials,uploadCloudProfileSession}from'./utils/cloudProfile.js';import{matchAuthEnvironment}from'./utils/matchAuthEnvironment.js';import{readProjectsConfig,setProfileOverride,writeProjectsConfig}from'./utils/projectsConfig.js';import{isPathGitTracked}from'./utils/gitTracked.js';function formatPlanLine(_0x272882){const _0x119356=_0x34fc;if(_0x272882[_0x119356(0xb6)]===_0x119356(0x9a))return'\x20\x20'+_0x272882[_0x119356(0xa3)]['padEnd'](0x1e)+_0x119356(0x9f)+_0x272882[_0x119356(0xa9)]+')';if(_0x272882['preserveBaseUrl']&&_0x272882['baseUrl'])return'\x20\x20'+_0x272882[_0x119356(0xa3)]['padEnd'](0x1e)+_0x119356(0x83)+_0x272882[_0x119356(0x84)]+_0x119356(0x7a)+_0x272882[_0x119356(0x7e)]+'\x20as\x20project\x20override)';if(_0x272882['baseUrl'])return'\x20\x20'+_0x272882[_0x119356(0xa3)][_0x119356(0xcb)](0x1e)+_0x119356(0x83)+_0x272882['envKey']+_0x119356(0xc9)+_0x272882[_0x119356(0x7e)]+')';return'\x20\x20'+_0x272882['profileName'][_0x119356(0xcb)](0x1e)+_0x119356(0x83)+_0x272882['envKey']+')';}function shouldWarnGitTrackedOnce(_0x5556f9){const _0x14b165=_0x34fc,_0xfe900c=readProjectsConfig(),_0x40e942=_0xfe900c['projects'][_0x5556f9]??={},_0x4b05e1=_0x40e942[_0x14b165(0xb9)]??={},_0x1cb55e=_0x4b05e1[_0x14b165(0x9b)],_0x14d75d=new Date(),_0x5d7371=_0x14d75d['toISOString']()[_0x14b165(0x91)](0x0,0xa);if(_0x1cb55e===_0x5d7371)return![];return _0x4b05e1['gitTrackedRanger']=_0x5d7371,writeProjectsConfig(_0xfe900c),!![];}export async function migrateProfile(_0x160685,_0x1b55d5){const _0x42b746=_0x34fc,_0x4b1f8d={'dcloS':function(_0x4481e6,_0x5a97af){return _0x4481e6===_0x5a97af;},'pyoiy':'No\x20cloud\x20profile\x20auth\x20config\x20found\x20for\x20this\x20org.\x20Migration\x20requires\x20at\x20least\x20one\x20configured\x20auth\x20environment.','YNYWt':function(_0x492d0e,_0x245ce8){return _0x492d0e(_0x245ce8);},'QESCZ':function(_0x26b884,_0x53cd59){return _0x26b884(_0x53cd59);},'JLlwE':'skip','VtfFs':_0x42b746(0xbe),'qwzgP':function(_0xb90923,_0x358342){return _0xb90923(_0x358342);},'gSvXW':_0x42b746(0x89),'vTEiL':function(_0x57e856,_0x396500,_0x4f9fd3){return _0x57e856(_0x396500,_0x4f9fd3);},'QKfrG':'baseUrl','isHfS':_0x42b746(0xc4),'aRvni':function(_0x33f3c6,_0x26cc2d){return _0x33f3c6&&_0x26cc2d;},'iaaRS':'confirm','fwZVP':'Aborted.','dgIXW':function(_0xc8bb73,_0x523a7b){return _0xc8bb73(_0x523a7b);},'ZwxuM':'4|1|3|2|0','KHksW':_0x42b746(0xb8),'iuFiK':function(_0x20aeb2,_0x3f8a58){return _0x20aeb2===_0x3f8a58;},'CzUDg':'name_conflict','ZJgLN':'utf-8','pUeqJ':function(_0x148973,_0x50ed5a,_0x4b7bbe,_0x5a0871,_0x12c97d){return _0x148973(_0x50ed5a,_0x4b7bbe,_0x5a0871,_0x12c97d);},'YsLRV':function(_0x55f910,_0x4eaf0c){return _0x55f910 instanceof _0x4eaf0c;},'aUbZh':function(_0x565ade,_0x5ba4a6){return _0x565ade(_0x5ba4a6);},'hJviC':function(_0x2ab436,_0x202b1e){return _0x2ab436 instanceof _0x202b1e;},'RkekT':function(_0x441b53,_0x3a0252){return _0x441b53(_0x3a0252);},'mkRAS':function(_0x15df4b,_0x382108){return _0x15df4b+_0x382108;}};if(!_0x160685['profileName']&&!_0x160685['all'])throw new Error('Provide\x20a\x20profile\x20name\x20or\x20--all.\x0a\x20\x20Example:\x20ranger\x20profile\x20migrate\x20--all\x20--dry-run');let _0x4dee4c;try{_0x4dee4c=await fetchAuthConfig();}catch(_0x5a379b){throw new Error('Could\x20not\x20fetch\x20auth\x20config\x20('+(_0x5a379b instanceof Error?_0x5a379b['message']:String(_0x5a379b))+').\x20Run:\x20ranger\x20setup');}if(!_0x4dee4c||!_0x4dee4c['environments']||_0x4b1f8d['dcloS'](Object['keys'](_0x4dee4c['environments'])[_0x42b746(0xaa)],0x0))throw new Error(_0x4b1f8d['pyoiy']);const _0x3dadd7=[];if(_0x160685['all']){const {envNames:_0x4b0b71,envTypes:_0x42c790}=await getEnvNames();for(const _0xc055b3 of _0x4b0b71){if(_0x42c790[_0xc055b3]==='ci')continue;_0x3dadd7['push'](_0xc055b3);}}else _0x160685['profileName']&&_0x3dadd7['push'](_0x160685['profileName']);if(_0x3dadd7['length']===0x0){console['log']('No\x20local\x20profiles\x20found\x20to\x20migrate.');return;}const _0x3ac51e=[];for(const _0x364e4a of _0x3dadd7){const _0x1b1163=_0x4b1f8d[_0x42b746(0xb5)](getEnvDir,_0x364e4a);if(!_0x4b1f8d['QESCZ'](existsSync,_0x1b1163)){_0x3ac51e['push']({'kind':_0x4b1f8d['JLlwE'],'profileName':_0x364e4a,'reason':_0x4b1f8d[_0x42b746(0x86)]});continue;}const _0x11b2cd=await _0x4b1f8d[_0x42b746(0x99)](loadSettings,_0x364e4a),_0x4470eb=_0x11b2cd[_0x42b746(0x7e)];if(!_0x4470eb){_0x3ac51e[_0x42b746(0xc3)]({'kind':_0x42b746(0x9a),'profileName':_0x364e4a,'reason':_0x4b1f8d[_0x42b746(0x82)]});continue;}const _0x7354fd=_0x4b1f8d[_0x42b746(0x85)](matchAuthEnvironment,_0x4470eb,_0x4dee4c);if(!_0x7354fd){_0x3ac51e[_0x42b746(0xc3)]({'kind':_0x4b1f8d['JLlwE'],'profileName':_0x364e4a,'reason':_0x42b746(0x79)});continue;}const _0x1d762d=_0x4dee4c[_0x42b746(0xb2)][_0x7354fd],_0x35ad25=_0x1d762d?.['domains']??[],_0x58a3a0=_0x35ad25[_0x42b746(0xca)](_0x1bb3c2=>{const _0x3d9ce1=_0x42b746;try{return new URL(_0x1bb3c2)['origin']===new URL(_0x4470eb)[_0x3d9ce1(0xba)];}catch{return![];}}),_0x596cf6={};for(const [_0x7b17fb,_0x30b85b]of Object[_0x42b746(0xaf)](_0x11b2cd)){if(_0x7b17fb===_0x4b1f8d['QKfrG'])continue;if(_0x30b85b===undefined)continue;_0x596cf6[_0x7b17fb]=_0x30b85b;}!_0x58a3a0&&(_0x596cf6['baseUrl']=_0x4470eb);const _0x336be5=join(_0x1b1163,_0x4b1f8d[_0x42b746(0xbf)]),_0x50d148=existsSync(_0x336be5);_0x3ac51e['push']({'kind':_0x42b746(0xa2),'profileName':_0x364e4a,'envKey':_0x7354fd,'baseUrl':_0x4470eb,'preserveBaseUrl':!_0x58a3a0,'settings':_0x596cf6,'authJsonPath':_0x50d148?_0x336be5:null});}console[_0x42b746(0x8f)](_0x42b746(0xb3));for(const _0x94721e of _0x3ac51e){console['log'](formatPlanLine(_0x94721e));}if(_0x160685[_0x42b746(0x96)]){console[_0x42b746(0x8f)]('Nothing\x20migrated.\x20Run\x20without\x20--dry-run\x20to\x20apply.');return;}const _0x5ad7c4=Boolean(process['stdin'][_0x42b746(0x92)]&&process[_0x42b746(0x7c)][_0x42b746(0x92)]),_0x458187=_0x3ac51e['some'](_0x3802ef=>_0x3802ef[_0x42b746(0xb6)]===_0x42b746(0xa2));if(_0x4b1f8d['aRvni'](_0x458187,_0x5ad7c4)&&!_0x160685[_0x42b746(0x94)]){const {proceed:_0x405935}=await _0x255b4d[_0x42b746(0xb7)]([{'type':_0x4b1f8d[_0x42b746(0x7b)],'name':'proceed','message':_0x42b746(0xab),'default':![]}]);if(!_0x405935){console[_0x42b746(0x8f)](_0x4b1f8d[_0x42b746(0xc2)]);return;}}const _0x2cc13a=getRangerDir();let _0x48c832=![];if(existsSync(_0x2cc13a))try{_0x48c832=await _0x4b1f8d['dgIXW'](isPathGitTracked,_0x2cc13a);}catch{_0x48c832=![];}if(_0x48c832&&_0x4b1f8d['QESCZ'](shouldWarnGitTrackedOnce,process[_0x42b746(0xc8)]())){const _0x5e220a=_0x4b1f8d[_0x42b746(0xc7)][_0x42b746(0x88)]('|');let _0x195a3b=0x0;while(!![]){switch(_0x5e220a[_0x195a3b++]){case'0':console[_0x42b746(0x8f)](_0x42b746(0xc1));continue;case'1':console[_0x42b746(0x8f)](_0x4b1f8d['KHksW']);continue;case'2':console['log'](_0x42b746(0x95));continue;case'3':console['log']('\x20\x20git\x20rm\x20-r\x20--cached\x20.ranger/');continue;case'4':console['log'](_0x42b746(0x90));continue;}break;}}let _0x593869=0x0,_0x47af63=0x0,_0x386fe3=0x0,_0x12cbf1=0x0;for(const _0x1614a8 of _0x3ac51e){if(_0x1614a8['kind']===_0x42b746(0x9a)){_0x12cbf1++,_0x1b55d5?.['trackPhaseEnd'](_0x42b746(0xbc),{'profileName':_0x1614a8['profileName'],'reason':_0x1614a8['reason']});continue;}_0x1b55d5?.['trackPhaseStart']('profile.migrate.started',{'profileName':_0x1614a8[_0x42b746(0xa3)],'envKey':_0x1614a8[_0x42b746(0x84)]});try{try{await createCloudProfile(_0x1614a8['profileName'],_0x1614a8[_0x42b746(0x84)],{'settings':_0x1614a8['settings']});}catch(_0x179d04){if(_0x179d04 instanceof ApiError&&_0x4b1f8d['iuFiK'](_0x179d04['status'],0x199)){console['log']('\x20\x20⚠\x20'+_0x1614a8[_0x42b746(0xa3)]+_0x42b746(0xd1)),_0x12cbf1++,_0x1b55d5?.[_0x42b746(0xb1)](_0x42b746(0xbc),{'profileName':_0x1614a8['profileName'],'reason':_0x4b1f8d[_0x42b746(0xbd)]});continue;}throw _0x179d04;}let _0x2ceeca=![],_0x346702=![];if(_0x1614a8['authJsonPath'])try{const _0x432f23=await readFile(_0x1614a8['authJsonPath'],_0x4b1f8d['ZJgLN']),_0x16cb22=JSON['parse'](_0x432f23);await _0x4b1f8d[_0x42b746(0x85)](uploadCloudProfileSession,_0x1614a8[_0x42b746(0xa3)],_0x16cb22),_0x2ceeca=!![];}catch(_0x46bd54){_0x346702=!![],console[_0x42b746(0x8f)]('\x20\x20⚠\x20'+_0x1614a8['profileName']+_0x42b746(0xa6)+(_0x46bd54 instanceof Error?_0x46bd54[_0x42b746(0x97)]:_0x4b1f8d['YNYWt'](String,_0x46bd54))+').\x20Cloud\x20profile\x20created;\x20local\x20auth.json\x20left\x20in\x20place.');}let _0x387165=![];if(_0x160685[_0x42b746(0x81)]){const _0x595e6d=process[_0x42b746(0xae)]['RANGER_TEST_USERNAME'],_0x34f1b0=process['env'][_0x42b746(0x9c)];if(_0x4b1f8d[_0x42b746(0xad)](_0x595e6d,_0x34f1b0))try{await saveCloudProfileCredentials(_0x1614a8[_0x42b746(0xa3)],_0x595e6d,_0x34f1b0),_0x387165=!![];}catch(_0x2b9b56){console['log']('\x20\x20⚠\x20'+_0x1614a8['profileName']+_0x42b746(0x8b)+(_0x2b9b56 instanceof Error?_0x2b9b56['message']:String(_0x2b9b56))+').');}else console[_0x42b746(0x8f)]('\x20\x20⚠\x20'+_0x1614a8[_0x42b746(0xa3)]+_0x42b746(0xac));}if(_0x1614a8['preserveBaseUrl']&&_0x1614a8['baseUrl'])try{_0x4b1f8d[_0x42b746(0x87)](setProfileOverride,process[_0x42b746(0xc8)](),_0x1614a8['profileName'],_0x42b746(0x7e),_0x1614a8[_0x42b746(0x7e)]);}catch(_0x5c5edc){console[_0x42b746(0x8f)]('\x20\x20⚠\x20'+_0x1614a8[_0x42b746(0xa3)]+_0x42b746(0xcf)+(_0x4b1f8d['YsLRV'](_0x5c5edc,Error)?_0x5c5edc[_0x42b746(0x97)]:_0x4b1f8d['YNYWt'](String,_0x5c5edc))+').');}const _0x3b46ad=_0x4b1f8d[_0x42b746(0x7d)](getEnvDir,_0x1614a8[_0x42b746(0xa3)]);if(!_0x346702&&_0x4b1f8d['aUbZh'](existsSync,_0x3b46ad))try{await rm(_0x3b46ad,{'recursive':!![],'force':!![]}),_0x47af63++;}catch(_0x25c8fc){console[_0x42b746(0x8f)]('\x20\x20⚠\x20'+_0x1614a8['profileName']+_0x42b746(0x8e)+_0x3b46ad+'\x20('+(_0x25c8fc instanceof Error?_0x25c8fc[_0x42b746(0x97)]:String(_0x25c8fc))+').');}_0x593869++,_0x1614a8[_0x42b746(0xce)]&&_0x1614a8['baseUrl']?console[_0x42b746(0x8f)]('\x20\x20✓\x20'+_0x1614a8['profileName']+'\x20migrated\x20to\x20cloud\x20(env:\x20'+_0x1614a8['envKey']+_0x42b746(0xa1)):console[_0x42b746(0x8f)](_0x42b746(0x7f)+_0x1614a8[_0x42b746(0xa3)]+_0x42b746(0x93)+_0x1614a8[_0x42b746(0x84)]+')'),_0x1b55d5?.['trackPhaseEnd']('profile.migrate.succeeded',{'profileName':_0x1614a8[_0x42b746(0xa3)],'envKey':_0x1614a8['envKey'],'wasGitTracked':_0x48c832,'hadSession':_0x2ceeca,'savedCreds':_0x387165});}catch(_0x18e07e){_0x386fe3++,console['log'](_0x42b746(0x8c)+_0x1614a8[_0x42b746(0xa3)]+'\x20failed:\x20'+(_0x4b1f8d[_0x42b746(0xc6)](_0x18e07e,Error)?_0x18e07e[_0x42b746(0x97)]:_0x4b1f8d[_0x42b746(0xa8)](String,_0x18e07e))),_0x1b55d5?.['trackPhaseEnd']('profile.migrate.failed',{'profileName':_0x1614a8['profileName'],'error':_0x4b1f8d['YsLRV'](_0x18e07e,Error)?_0x18e07e['message']:String(_0x18e07e)});}}const _0x1e43b9=[];if(_0x593869>0x0)_0x1e43b9['push'](_0x593869+_0x42b746(0xd0)+(_0x4b1f8d[_0x42b746(0x8a)](_0x593869,0x1)?'':'s')+_0x42b746(0xa4));if(_0x47af63>0x0)_0x1e43b9[_0x42b746(0xc3)](_0x42b746(0x9e)+_0x47af63+_0x42b746(0xa0)+(_0x4b1f8d['dcloS'](_0x47af63,0x1)?'y':'ies'));if(_0x12cbf1>0x0)_0x1e43b9[_0x42b746(0xc3)](_0x12cbf1+_0x42b746(0xb4));if(_0x386fe3>0x0)_0x1e43b9['push'](_0x386fe3+_0x42b746(0x80));if(_0x1e43b9['length']>0x0)console[_0x42b746(0x8f)](_0x4b1f8d[_0x42b746(0xb0)](_0x1e43b9[_0x42b746(0xa7)]('.\x20'),'.'));}function _0x4db9(){const _0x188075=['saveCreds','gSvXW','\x20→\x20cloud\x20(env:\x20','envKey','vTEiL','VtfFs','pUeqJ','split','no\x20baseUrl\x20in\x20settings.json','dcloS',':\x20failed\x20to\x20save\x20credentials\x20(','\x20\x20✗\x20','2249385kiQKEq',':\x20failed\x20to\x20delete\x20local\x20dir\x20','log','Warning:\x20.ranger/\x20is\x20tracked\x20in\x20this\x20git\x20repo.','slice','isTTY','\x20migrated\x20to\x20cloud\x20(env:\x20','yes','\x20\x20echo\x20\x27.ranger/\x27\x20>>\x20.gitignore','dryRun','message','13497RGWFzW','qwzgP','skip','gitTrackedRanger','RANGER_TEST_PASSWORD','30jKRXug','Deleted\x20','\x20→\x20skip\x20(','\x20local\x20director',',\x20baseUrl\x20override\x20→\x20projects.json)','migrate','profileName','\x20migrated','3476040siMhXg',':\x20session\x20upload\x20failed\x20(','join','RkekT','reason','length','Proceed?',':\x20--save-creds\x20requested,\x20but\x20RANGER_TEST_USERNAME/PASSWORD\x20not\x20set\x20in\x20env.','aRvni','env','entries','mkRAS','trackPhaseEnd','environments','Plan:','\x20skipped','YNYWt','kind','prompt','After\x20migration,\x20uncommit\x20it:','_warnings','origin','1379828KxzgZk','profile.migrate.skipped','CzUDg','local\x20profile\x20directory\x20not\x20found','isHfS','4PUUvXB','Continuing\x20with\x20migration...','fwZVP','push','auth.json','759170LTbICb','hJviC','ZwxuM','cwd',',\x20matches\x20','some','padEnd','779261VaNZgD','9524907zKECiN','preserveBaseUrl',':\x20failed\x20to\x20write\x20projects.json\x20override\x20(','\x20profile',':\x20cloud\x20profile\x20with\x20this\x20name\x20already\x20exists.\x20Skipping.','no\x20matching\x20auth\x20env',',\x20preserving\x20baseUrl\x20','iaaRS','stdout','dgIXW','baseUrl','\x20\x20✓\x20','\x20failed'];_0x4db9=function(){return _0x188075;};return _0x4db9();}
|
|
1
|
+
(function(_0x5847e6,_0x4aa74e){var _0x1b5793=_0x21a8,_0x21784a=_0x5847e6();while(!![]){try{var _0x49e52e=parseInt(_0x1b5793(0x1a1))/0x1*(parseInt(_0x1b5793(0x1a0))/0x2)+-parseInt(_0x1b5793(0x198))/0x3+-parseInt(_0x1b5793(0x19c))/0x4*(-parseInt(_0x1b5793(0x195))/0x5)+parseInt(_0x1b5793(0x197))/0x6+parseInt(_0x1b5793(0x19f))/0x7*(-parseInt(_0x1b5793(0x194))/0x8)+-parseInt(_0x1b5793(0x193))/0x9*(parseInt(_0x1b5793(0x1a3))/0xa)+-parseInt(_0x1b5793(0x1a4))/0xb*(parseInt(_0x1b5793(0x199))/0xc);if(_0x49e52e===_0x4aa74e)break;else _0x21784a['push'](_0x21784a['shift']());}catch(_0x7a646){_0x21784a['push'](_0x21784a['shift']());}}}(_0x2e6e,0x9ccd5));function _0x2e6e(){var _0x2f9e64=['11pvYfYg','117RUVmAJ','337992FPAJaM','8590lhtYFY','InAUz','6781494ifFVHR','2120937aAveyp','5906028TFpTjh','nVkyP','zjgwS','1876whfQUO','FJHBU','exit','28pRXcnN','1114ycjiIX','311XRMvCF','Existing\x20sessions\x20in\x20your\x20old\x20<project>/.ranger/\x20dirs\x20still\x20work\x20as\x20a\x0a','76010gFKKYV'];_0x2e6e=function(){return _0x2f9e64;};return _0x2e6e();}function _0x21a8(_0x549443,_0x11d373){_0x549443=_0x549443-0x193;var _0x2e6e26=_0x2e6e();var _0x21a8ab=_0x2e6e26[_0x549443];return _0x21a8ab;}export async function migrateProfile(_0x5e5b91,_0x594c88){var _0x1c89a8=_0x21a8,_0x28bb83={'nVkyP':function(_0x1e71ea,_0x2d8a34){return _0x1e71ea+_0x2d8a34;},'InAUz':function(_0x3979f1,_0x254090){return _0x3979f1+_0x254090;},'FJHBU':'ranger\x20profile\x20migrate\x20is\x20no\x20longer\x20supported.\x0a','zjgwS':'For\x20CI\x20/\x20background\x20agents\x20and\x20other\x20setup\x20options,\x20see:\x0a'};console['error'](_0x28bb83[_0x1c89a8(0x19a)](_0x28bb83[_0x1c89a8(0x196)](_0x28bb83['nVkyP'](_0x28bb83[_0x1c89a8(0x19d)]+'\x0a','To\x20set\x20up\x20a\x20fresh\x20profile,\x20run:\x0a')+'\x20\x20ranger\x20profile\x20add\x20<name>\x0a','\x0a')+_0x28bb83[_0x1c89a8(0x19b)]+'\x20\x20https://docs.ranger.net/main/concepts/profiles\x0a'+'\x0a',_0x1c89a8(0x1a2))+'fallback;\x20you\x20can\x20delete\x20them\x20once\x20you\x20have\x20re-auth-ed.'),process[_0x1c89a8(0x19e)](0x1);}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(
|
|
1
|
+
(function(_0x13d3e4,_0x4feb89){const _0x2782b1=_0x4550,_0x831800=_0x13d3e4();while(!![]){try{const _0x39d1c7=-parseInt(_0x2782b1(0x1d2))/0x1+parseInt(_0x2782b1(0x1cf))/0x2+parseInt(_0x2782b1(0x1dd))/0x3+-parseInt(_0x2782b1(0x1e4))/0x4*(parseInt(_0x2782b1(0x1e7))/0x5)+parseInt(_0x2782b1(0x1ec))/0x6+-parseInt(_0x2782b1(0x1e5))/0x7*(-parseInt(_0x2782b1(0x1ee))/0x8)+-parseInt(_0x2782b1(0x1c8))/0x9;if(_0x39d1c7===_0x4feb89)break;else _0x831800['push'](_0x831800['shift']());}catch(_0x5d3102){_0x831800['push'](_0x831800['shift']());}}}(_0x4d8f,0xd3ff5));function _0x4d8f(){const _0x5af831=['rxiFH','962305WDQCgw','FtRNY','\x0aInstalling\x20Claude\x20Code\x20plugin\x20(','add','project','✓\x20Claude\x20Code\x20plugin\x20already\x20installed','error','install','❌\x20Failed\x20to\x20install\x20plugin:','iLFQm','✓\x20Marketplace\x20already\x20added','1480125dVLlsN','NamBg','rGjjG','success','already\x20enabled','\x0a📦\x20Claude\x20Code\x20Plugin\x0a','output','392Zkanlz','5733609LnAWPR','user','55045cHNITY','✓\x20Claude\x20Code\x20plugin\x20installed\x20successfully','wantsSkillup','log','plugin','10041642DqDjLL','trailhead','8Ntiyhd','QjZeY','Bciah','ranger-testing/trailhead','⚠\x20Failed\x20to\x20enable\x20plugin:','\x20\x20claude\x20plugin\x20install\x20ranger@trailhead\x20--scope\x20','SKILL.md','LSXVC','Project\x20(shared\x20with\x20team\x20via\x20git)','ranger@trailhead','list','13041936CnDfac','.claude','--scope','Where\x20should\x20the\x20plugin\x20be\x20installed?','xcgbZ','NqzZj','szQRA','2745126OVzBXM','\x0aYou\x20can\x20install\x20manually\x20with:'];_0x4d8f=function(){return _0x5af831;};return _0x4d8f();}import{join}from'path';import{existsSync}from'fs';import _0x5083b9 from'inquirer';import{skillup}from'../skillup.js';import{runClaudeCommand,isMarketplaceAdded,isPluginInstalled}from'../utils/claudePlugin.js';import{getProjectRoot,getSkillsDir}from'../utils/claudeConfig.js';export async function ensureClaudePlugin(_0x138aa9){const _0x4aacaf=_0x4550,_0x3f9fa4={'LSXVC':function(_0x56b945,_0x5ea51a,_0x3f6dcc){return _0x56b945(_0x5ea51a,_0x3f6dcc);},'kxPYS':function(_0x30fe93){return _0x30fe93();},'Bciah':_0x4aacaf(0x1e2),'KMhJf':_0x4aacaf(0x1c7),'YNuqR':'User\x20(available\x20in\x20all\x20your\x20projects)','yJnqL':_0x4aacaf(0x1f6),'rGjjG':function(_0x15dd65,_0x1a0b64){return _0x15dd65(_0x1a0b64);},'pqNmX':function(_0x1f5397,_0x35064d){return _0x1f5397(_0x35064d);},'NqzZj':_0x4aacaf(0x1eb),'rxiFH':'❌\x20Failed\x20to\x20add\x20marketplace:','kgvZb':'--scope','NamBg':_0x4aacaf(0x1da),'spPJB':_0x4aacaf(0x1e8),'aNblV':'enable','ARjqX':'ranger@trailhead','xcgbZ':function(_0x2f8026,_0x3e48ff){return _0x2f8026===_0x3e48ff;},'iLFQm':'project','bUsUC':function(_0xefc59d){return _0xefc59d();},'PtSAt':_0x4aacaf(0x1f2),'FtRNY':'✓\x20Claude\x20Code\x20plugin\x20enabled'},_0xab8793=await isPluginInstalled(_0x4aacaf(0x1c6));if(_0xab8793)return console[_0x4aacaf(0x1ea)](_0x4aacaf(0x1d7)),![];const _0x391526=existsSync(_0x3f9fa4['LSXVC'](join,_0x3f9fa4['kxPYS'](getProjectRoot),_0x4aacaf(0x1c9)));let _0x18cecf;if(_0x138aa9)_0x18cecf=_0x138aa9;else{if(_0x391526)_0x18cecf=_0x4aacaf(0x1d6);else{console[_0x4aacaf(0x1ea)](_0x3f9fa4[_0x4aacaf(0x1f0)]);const _0x56aaed=await _0x5083b9['prompt']([{'type':_0x3f9fa4['KMhJf'],'name':'pluginScope','message':_0x4aacaf(0x1cb),'choices':[{'name':_0x3f9fa4['YNuqR'],'value':_0x4aacaf(0x1e6)},{'name':_0x3f9fa4['yJnqL'],'value':'project'}],'default':'user'}]);_0x18cecf=_0x56aaed['pluginScope'];}}console[_0x4aacaf(0x1ea)](_0x4aacaf(0x1d4)+_0x18cecf+'\x20level)...\x0a');const _0x495f9c=await _0x3f9fa4[_0x4aacaf(0x1df)](isMarketplaceAdded,_0x4aacaf(0x1ed));let _0x7b0ea=_0x495f9c;if(_0x495f9c)console[_0x4aacaf(0x1ea)](_0x4aacaf(0x1dc));else{const _0x6ca2ff=await _0x3f9fa4['pqNmX'](runClaudeCommand,[_0x3f9fa4[_0x4aacaf(0x1cd)],'marketplace',_0x4aacaf(0x1d5),_0x4aacaf(0x1f1)]);!_0x6ca2ff['success']?(console['error'](_0x3f9fa4[_0x4aacaf(0x1d1)],_0x6ca2ff[_0x4aacaf(0x1d8)]),console['log'](_0x4aacaf(0x1d0)),console['log']('\x20\x20claude\x20plugin\x20marketplace\x20add\x20ranger-testing/trailhead'),console[_0x4aacaf(0x1ea)]('\x20\x20claude\x20plugin\x20install\x20ranger@trailhead\x20--scope\x20'+_0x18cecf)):_0x7b0ea=!![];}if(_0x7b0ea){const _0x4f4b46=await runClaudeCommand([_0x3f9fa4['NqzZj'],_0x4aacaf(0x1d9),_0x4aacaf(0x1c6),_0x3f9fa4['kgvZb'],_0x18cecf],{'cwd':_0x18cecf===_0x4aacaf(0x1d6)?_0x3f9fa4['kxPYS'](getProjectRoot):undefined});if(!_0x4f4b46['success'])console['error'](_0x3f9fa4[_0x4aacaf(0x1de)],_0x4f4b46['error']),console[_0x4aacaf(0x1ea)](_0x4aacaf(0x1d0)),console[_0x4aacaf(0x1ea)](_0x4aacaf(0x1f3)+_0x18cecf);else{console['log'](_0x3f9fa4['spPJB']);const _0x35fae9=[_0x3f9fa4[_0x4aacaf(0x1cd)],_0x3f9fa4['aNblV'],_0x3f9fa4['ARjqX']];_0x3f9fa4[_0x4aacaf(0x1cc)](_0x18cecf,_0x3f9fa4[_0x4aacaf(0x1db)])&&_0x35fae9['push'](_0x4aacaf(0x1ca),_0x3f9fa4['iLFQm']);const _0x408f78=await _0x3f9fa4[_0x4aacaf(0x1f5)](runClaudeCommand,_0x35fae9,{'captureOutput':!![],'cwd':_0x18cecf===_0x3f9fa4[_0x4aacaf(0x1db)]?_0x3f9fa4['bUsUC'](getProjectRoot):undefined}),_0x5b61ec=_0x408f78[_0x4aacaf(0x1e3)]?.['includes'](_0x4aacaf(0x1e1));!_0x408f78[_0x4aacaf(0x1e0)]&&!_0x5b61ec?console[_0x4aacaf(0x1d8)](_0x3f9fa4['PtSAt'],_0x408f78[_0x4aacaf(0x1d8)]):console[_0x4aacaf(0x1ea)](_0x3f9fa4[_0x4aacaf(0x1d3)]);}}return!![];}function _0x4550(_0x1326e4,_0x2bcad6){_0x1326e4=_0x1326e4-0x1c6;const _0x4d8f27=_0x4d8f();let _0x455092=_0x4d8f27[_0x1326e4];return _0x455092;}export async function ensureClaudeSkills(_0x507ffd){const _0x23f599=_0x4550,_0x39d0ff={'fAweo':function(_0x41745f,_0x4ebb99){return _0x41745f(_0x4ebb99);},'dbLin':'user','QjZeY':'ranger','szQRA':_0x23f599(0x1f4),'dnbaB':function(_0x41dd1d,_0x54f561,_0x300ba9,_0x35c24c){return _0x41dd1d(_0x54f561,_0x300ba9,_0x35c24c);},'rLtfX':'✓\x20Ranger\x20skills\x20already\x20installed','yfmfI':'confirm'},_0x4cc1db=_0x39d0ff['fAweo'](existsSync,join(getSkillsDir(_0x39d0ff['dbLin']),_0x39d0ff['QjZeY'],_0x39d0ff[_0x23f599(0x1ce)])),_0x4b2ee0=existsSync(_0x39d0ff['dnbaB'](join,_0x39d0ff['fAweo'](getSkillsDir,_0x23f599(0x1d6)),_0x39d0ff[_0x23f599(0x1ef)],_0x23f599(0x1f4)));if(_0x4cc1db||_0x4b2ee0)return console['log'](_0x39d0ff['rLtfX']),![];const _0xaf9757=existsSync(join(getProjectRoot(),_0x23f599(0x1c9)));let _0x1fe3c6=!![];if(_0x507ffd)await _0x39d0ff['fAweo'](skillup,{'autoInstall':_0x507ffd,'suppressUsage':!![]});else{if(_0xaf9757)await skillup({'autoInstall':_0x23f599(0x1d6),'suppressUsage':!![]});else{const _0xfd878a=await _0x5083b9['prompt']([{'type':_0x39d0ff['yfmfI'],'name':_0x23f599(0x1e9),'message':'Would\x20you\x20like\x20to\x20install\x20skills?','default':!![]}]);_0x1fe3c6=_0xfd878a['wantsSkillup'],_0x1fe3c6&&await skillup({'suppressUsage':!![]});}}return _0x1fe3c6;}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(
|
|
1
|
+
(function(_0x68c175,_0x2b7d2d){const _0xadc167=_0x156f,_0x30e3c6=_0x68c175();while(!![]){try{const _0x5ceb21=-parseInt(_0xadc167(0x159))/0x1+-parseInt(_0xadc167(0x15a))/0x2+parseInt(_0xadc167(0x149))/0x3*(parseInt(_0xadc167(0x150))/0x4)+parseInt(_0xadc167(0x141))/0x5+-parseInt(_0xadc167(0x13f))/0x6*(parseInt(_0xadc167(0x142))/0x7)+parseInt(_0xadc167(0x145))/0x8+-parseInt(_0xadc167(0x15b))/0x9*(parseInt(_0xadc167(0x14e))/0xa);if(_0x5ceb21===_0x2b7d2d)break;else _0x30e3c6['push'](_0x30e3c6['shift']());}catch(_0x359669){_0x30e3c6['push'](_0x30e3c6['shift']());}}}(_0x3608,0xc15dc));function _0x156f(_0x474270,_0x2dd485){_0x474270=_0x474270-0x13e;const _0x36088a=_0x3608();let _0x156fda=_0x36088a[_0x474270];return _0x156fda;}import{join}from'path';import{existsSync}from'fs';function _0x3608(){const _0x436ced=['BEjof','https://opencode.ai/config.json','utf-8','user','1159270xoTJrP','project','11128ghOGuW','pluginScope','TNmDU','Project\x20(shared\x20with\x20team\x20via\x20git)','✓\x20OpenCode\x20plugin\x20configured','NUpiZ','Failed\x20to\x20read\x20opencode.json','GzkhW','opencode.json','418096EzJHJP','1197386pmRwHu','18AhROLK','list','2238GnzFVx','parse','1103725SZvKjq','6027SrnzUb','log','Where\x20should\x20the\x20plugin\x20be\x20installed?','7959160LbOiwY','plugin','$schema','BJOpW','1236yQGHqf'];_0x3608=function(){return _0x436ced;};return _0x3608();}import{mkdir,readFile,writeFile}from'fs/promises';import _0xece5cd from'inquirer';import{getOpencodeConfigDir}from'../utils/opencodeConfig.js';export async function ensureOpencodePluginConfig(_0x37d18c){const _0x446c6c=_0x156f,_0x2a90eb={'TNmDU':function(_0x106200,_0x1d774a){return _0x106200(_0x1d774a);},'haDAV':_0x446c6c(0x158),'PjtAI':_0x446c6c(0x13e),'PeuvU':_0x446c6c(0x151),'vQrSX':_0x446c6c(0x144),'BEjof':_0x446c6c(0x14d),'UVgCb':_0x446c6c(0x153),'BJOpW':function(_0x4be98f,_0x165e1b,_0x23f70c){return _0x4be98f(_0x165e1b,_0x23f70c);},'NUpiZ':_0x446c6c(0x156),'aXMrt':'✓\x20OpenCode\x20plugin\x20already\x20configured','GzkhW':function(_0x3886c6,_0x5f42f0,_0x3ca98){return _0x3886c6(_0x5f42f0,_0x3ca98);},'yuvaj':function(_0x133cc5,_0xe0fc62,_0x314014){return _0x133cc5(_0xe0fc62,_0x314014);},'kxTpw':_0x446c6c(0x154)},_0x479559=existsSync(join(_0x2a90eb['TNmDU'](getOpencodeConfigDir,_0x446c6c(0x14f)),_0x2a90eb['haDAV']));let _0x54464c;if(_0x37d18c)_0x54464c=_0x37d18c;else{if(_0x479559)_0x54464c=_0x446c6c(0x14f);else{console[_0x446c6c(0x143)]('\x0a📦\x20OpenCode\x20Plugin\x0a');const _0x25b162=await _0xece5cd['prompt']([{'type':_0x2a90eb['PjtAI'],'name':_0x2a90eb['PeuvU'],'message':_0x2a90eb['vQrSX'],'choices':[{'name':'User\x20(available\x20in\x20all\x20your\x20projects)','value':_0x2a90eb[_0x446c6c(0x14a)]},{'name':_0x2a90eb['UVgCb'],'value':'project'}],'default':_0x446c6c(0x14d)}]);_0x54464c=_0x25b162[_0x446c6c(0x151)];}}const _0x120b5f=_0x2a90eb[_0x446c6c(0x148)](join,_0x2a90eb[_0x446c6c(0x152)](getOpencodeConfigDir,_0x54464c),'opencode.json'),_0x3afe57='@ranger-testing/opencode-plugin',_0x3ae661=_0x446c6c(0x14b);let _0x575323={};if(existsSync(_0x120b5f))try{const _0x4a7f6a=await _0x2a90eb[_0x446c6c(0x148)](readFile,_0x120b5f,_0x446c6c(0x14c));_0x575323=JSON[_0x446c6c(0x140)](_0x4a7f6a);}catch(_0x9d0450){return console['error']('⚠\x20Failed\x20to\x20read\x20opencode.json.\x20Please\x20add\x20the\x20plugin\x20manually.'),{'configured':![],'scope':_0x54464c,'error':_0x2a90eb[_0x446c6c(0x155)],'details':_0x9d0450};}const _0x4d35fe=Array['isArray'](_0x575323[_0x446c6c(0x146)])?_0x575323[_0x446c6c(0x146)]:[];if(_0x4d35fe['includes'](_0x3afe57))return console['log'](_0x2a90eb['aXMrt']),{'configured':![],'scope':_0x54464c};return _0x575323[_0x446c6c(0x147)]=_0x575323['$schema']||_0x3ae661,_0x575323['plugin']=[..._0x4d35fe,_0x3afe57],await _0x2a90eb[_0x446c6c(0x157)](mkdir,_0x2a90eb[_0x446c6c(0x152)](getOpencodeConfigDir,_0x54464c),{'recursive':!![]}),await _0x2a90eb['yuvaj'](writeFile,_0x120b5f,JSON['stringify'](_0x575323,null,0x2)+'\x0a'),console[_0x446c6c(0x143)](_0x2a90eb['kxTpw']),{'configured':!![],'scope':_0x54464c};}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(
|
|
1
|
+
function _0x543e(_0x5287e1,_0x581354){_0x5287e1=_0x5287e1-0x13a;var _0x3ba926=_0x3ba9();var _0x543e6d=_0x3ba926[_0x5287e1];return _0x543e6d;}(function(_0x203935,_0x42f8ba){var _0x7e4d18=_0x543e,_0x4e0043=_0x203935();while(!![]){try{var _0x3d32ed=-parseInt(_0x7e4d18(0x13b))/0x1+-parseInt(_0x7e4d18(0x140))/0x2*(-parseInt(_0x7e4d18(0x13d))/0x3)+-parseInt(_0x7e4d18(0x13c))/0x4+parseInt(_0x7e4d18(0x143))/0x5+-parseInt(_0x7e4d18(0x13e))/0x6+parseInt(_0x7e4d18(0x142))/0x7+parseInt(_0x7e4d18(0x146))/0x8*(-parseInt(_0x7e4d18(0x144))/0x9);if(_0x3d32ed===_0x42f8ba)break;else _0x4e0043['push'](_0x4e0043['shift']());}catch(_0x697dd1){_0x4e0043['push'](_0x4e0043['shift']());}}}(_0x3ba9,0xbc82c));export async function setupCi(_0x210abb,_0x10457b,_0x320279){var _0x1348fc=_0x543e,_0x52b4d6={'XsUVK':function(_0x5a18db,_0x465060){return _0x5a18db+_0x465060;},'KxXDC':'To\x20set\x20up\x20a\x20fresh\x20profile,\x20run:\x0a','YoPqq':_0x1348fc(0x141)};console[_0x1348fc(0x145)](_0x52b4d6['XsUVK']('ranger\x20setup\x20--ci\x20writes\x20to\x20the\x20legacy\x20.ranger/ci/\x20tree\x20which\x20is\x20no\x20longer\x20supported.\x0a'+'\x0a'+_0x52b4d6[_0x1348fc(0x13a)]+'\x20\x20ranger\x20profile\x20add\x20<name>\x0a'+'\x0a',_0x52b4d6[_0x1348fc(0x13f)])+'\x20\x20https://docs.ranger.net/main/concepts/profiles'),process['exit'](0x1);}function _0x3ba9(){var _0x5ea099=['7483490eyzOlD','6680855nZithf','1575306tOYkMg','error','24OhdBeA','KxXDC','1255125KsPDOh','2131532ZSMQPy','30741YfNiQp','1391844HQAcaw','YoPqq','178QltPgA','For\x20CI\x20/\x20background\x20agents\x20and\x20other\x20setup\x20options,\x20see:\x0a'];_0x3ba9=function(){return _0x5ea099;};return _0x3ba9();}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(
|
|
1
|
+
function _0x9a51(_0x5c1015,_0x3c231a){_0x5c1015=_0x5c1015-0x17b;const _0x570367=_0x5703();let _0x9a515f=_0x570367[_0x5c1015];return _0x9a515f;}(function(_0x3b5370,_0x4d30b2){const _0x150ad1=_0x9a51,_0x50472d=_0x3b5370();while(!![]){try{const _0x24af16=parseInt(_0x150ad1(0x1a7))/0x1+-parseInt(_0x150ad1(0x197))/0x2+-parseInt(_0x150ad1(0x1a6))/0x3*(-parseInt(_0x150ad1(0x18b))/0x4)+-parseInt(_0x150ad1(0x195))/0x5+-parseInt(_0x150ad1(0x17d))/0x6*(-parseInt(_0x150ad1(0x191))/0x7)+parseInt(_0x150ad1(0x1a5))/0x8+-parseInt(_0x150ad1(0x18d))/0x9;if(_0x24af16===_0x4d30b2)break;else _0x50472d['push'](_0x50472d['shift']());}catch(_0x99b70e){_0x50472d['push'](_0x50472d['shift']());}}}(_0x5703,0x27f7c));import{basename}from'path';import _0x3abae1 from'inquirer';function _0x5703(){const _0x38e872=['165156pNPYMY','opencode','All\x20projects\x20(','This\x20project\x20only\x20(','user-level','KkMHO','iYkCK','IgdTk','/.opencode/skills/','/skills/','prompt','isTTY','uDWlN','\x20\x201.\x20Get\x20your\x20API\x20token\x20from\x20https://dashboard.ranger.net/cli','1664208qzgkMS','12lUFlDU','324405wjxGXo','To\x20use:','uEkmJ','Where\x20should\x20skills\x20be\x20installed?','614988SbQdOa','stdout','suppressUsage','autoInstall','\x20\x203.\x20Run:\x20ranger\x20skillup','installLevel','\x20\x202.\x20Run:\x20ranger\x20setup','XYbAe','\x20successfully!\x0a','\x20skill','\x20--opencode','claude','QIcuk','enyor','57532AZaGka','project-level','4915026MdULPV','log','pRBdv','YKmxK','14FBJtMX','user','ranger','ehxFU','12795JWznQK','Non-interactive\x20mode:\x20Installing\x20skills\x20at\x20project\x20level\x20('];_0x5703=function(){return _0x38e872;};return _0x5703();}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(_0x43695c={}){const _0x4852a2=_0x9a51,_0x1516bd={'tYNGP':'\x0a🎯\x20Ranger\x20Skill\x20Setup\x0a','FomOL':'5|4|2|3|1|0','ehxFU':'opencode','iYkCK':_0x4852a2(0x1a4),'XYbAe':_0x4852a2(0x187),'ycTtb':'❌\x20No\x20Ranger\x20API\x20token\x20found.\x0a','oTviX':function(_0xa3978e,_0x372a4b){return _0xa3978e===_0x372a4b;},'tjTaf':function(_0x41d9c3,_0x253b6c){return _0x41d9c3(_0x253b6c);},'YKmxK':'list','uDWlN':_0x4852a2(0x182),'yGglf':_0x4852a2(0x17c),'pRBdv':_0x4852a2(0x192),'uEkmJ':'project','uvJtJ':function(_0x258cf6){return _0x258cf6();},'TySKA':'\x0a📦\x20Installing\x20skills...\x0a','tvGFW':_0x4852a2(0x193),'enyor':'\x20\x20Failed\x20to\x20install\x20ranger\x20skill:','IgdTk':function(_0xcd7dd3,_0x3d678d){return _0xcd7dd3 instanceof _0x3d678d;},'fPpgg':function(_0xe4d7a,_0x22c22c){return _0xe4d7a>_0x22c22c;},'KkMHO':'\x20\x20-\x20Start\x20OpenCode\x20and\x20run\x20the\x20`ranger_enable`\x20tool\x20to\x20enable\x20hooks.','QIcuk':'\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!'};console[_0x4852a2(0x18e)](_0x1516bd['tYNGP']);const _0x43def8=_0x43695c['platform']??_0x4852a2(0x188),_0x64571c=await getToken();if(!_0x64571c){const _0x27f65a=_0x1516bd['FomOL']['split']('|');let _0x34faa7=0x0;while(!![]){switch(_0x27f65a[_0x34faa7++]){case'0':return;case'1':console[_0x4852a2(0x18e)](_0x4852a2(0x181)+(_0x43def8===_0x1516bd['ehxFU']?'\x20--opencode':'')+'\x0a');continue;case'2':console['log'](_0x1516bd[_0x4852a2(0x19d)]);continue;case'3':console['log'](_0x4852a2(0x183)+(_0x43def8===_0x4852a2(0x198)?_0x1516bd[_0x4852a2(0x184)]:'')+'\x20<your-api-token>');continue;case'4':console['log']('To\x20get\x20started:');continue;case'5':console[_0x4852a2(0x18e)](_0x1516bd['ycTtb']);continue;}break;}}console[_0x4852a2(0x18e)]('✓\x20Found\x20API\x20token');const _0x48decd=getProjectRoot(),_0x47e310=basename(_0x48decd),_0x49bb6f=_0x1516bd['oTviX'](_0x43def8,'opencode')?_0x1516bd['tjTaf'](getOpencodeConfigDir,'user')+_0x4852a2(0x1a0):getClaudeConfigDir()+'/skills/',_0x1831f6=_0x1516bd['oTviX'](_0x43def8,'opencode')?_0x48decd+_0x4852a2(0x19f):_0x48decd+'/.claude/skills/',_0x3e9848=process['stdin'][_0x4852a2(0x1a2)]&&process[_0x4852a2(0x17e)]['isTTY'];let _0x1e934c;if(_0x43695c[_0x4852a2(0x180)])_0x1e934c=_0x43695c['autoInstall'];else{if(_0x3e9848){const _0xb6074=await _0x3abae1[_0x4852a2(0x1a1)]([{'type':_0x1516bd[_0x4852a2(0x190)],'name':_0x1516bd[_0x4852a2(0x1a3)],'message':_0x1516bd['yGglf'],'choices':[{'name':_0x4852a2(0x199)+_0x49bb6f+')','value':_0x1516bd[_0x4852a2(0x18f)]},{'name':_0x4852a2(0x19a)+_0x1831f6+')','value':_0x1516bd['uEkmJ']}]}]);_0x1e934c=_0xb6074[_0x4852a2(0x182)];}else _0x1e934c=_0x1516bd[_0x4852a2(0x17b)],console['log'](_0x4852a2(0x196)+_0x1831f6+')');}let _0x22f09c=0x0;const _0x269ce1=_0x1516bd['uvJtJ'](getCurrentVersion);console['log'](_0x1516bd['TySKA']);try{const _0x14d7bc=await installSkill(_0x1516bd['tvGFW'],{'cliVersion':_0x269ce1,'level':_0x1e934c,'platform':_0x43def8});_0x14d7bc&&_0x22f09c++;}catch(_0x1000c0){console['warn'](_0x1516bd[_0x4852a2(0x18a)],_0x1516bd[_0x4852a2(0x19e)](_0x1000c0,Error)?_0x1000c0['message']:_0x1000c0);}if(_0x22f09c>0x0){const _0x215fad=_0x1e934c===_0x4852a2(0x192)?_0x4852a2(0x19b):_0x4852a2(0x18c);console['log']('\x0a✅\x20Installed\x20'+_0x22f09c+'\x20'+_0x215fad+_0x4852a2(0x186)+(_0x1516bd['fPpgg'](_0x22f09c,0x1)?'s':'')+_0x4852a2(0x185)),!_0x43695c[_0x4852a2(0x17f)]&&(console[_0x4852a2(0x18e)](_0x4852a2(0x1a8)),_0x43def8===_0x1516bd[_0x4852a2(0x194)]?console[_0x4852a2(0x18e)](_0x1516bd[_0x4852a2(0x19c)]):console['log'](_0x1516bd[_0x4852a2(0x189)]));}else console['log']('\x0a⚠️\x20\x20No\x20skills\x20were\x20installed.\x0a');}
|
package/build/commands/start.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
const _0x640448=_0x2773;(function(_0x4f4ee0,_0x324858){const _0x2aeb35=_0x2773,_0x1d08e4=_0x4f4ee0();while(!![]){try{const _0x14a066=parseInt(_0x2aeb35(0x17f))/0x1+-parseInt(_0x2aeb35(0x190))/0x2*(-parseInt(_0x2aeb35(0x162))/0x3)+-parseInt(_0x2aeb35(0x17c))/0x4+-parseInt(_0x2aeb35(0x19d))/0x5+-parseInt(_0x2aeb35(0x1aa))/0x6+parseInt(_0x2aeb35(0x181))/0x7+parseInt(_0x2aeb35(0x1b2))/0x8*(parseInt(_0x2aeb35(0x189))/0x9);if(_0x14a066===_0x324858)break;else _0x1d08e4['push'](_0x1d08e4['shift']());}catch(_0x3d0b52){_0x1d08e4['push'](_0x1d08e4['shift']());}}}(_0x21db,0x1c06c));import{mkdir,writeFile}from'fs/promises';function _0x2773(_0x395a92,_0x4c9459){_0x395a92=_0x395a92-0x14a;const _0x21db5b=_0x21db();let _0x2773c6=_0x21db5b[_0x395a92];return _0x2773c6;}import{join}from'path';import{existsSync}from'fs';import{createRequire}from'module';import{spawn}from'child_process';import _0x49e381 from'inquirer';import{getToken,storeToken}from'./utils/keychain.js';function _0x21db(){const _0x547098=['vbUyC','XfFYO','\x1b[0m','\x20(fallback\x20version)','XvShz','oASFQ','120CgPxmN','No\x20git\x20repository\x20found\x20for\x20--scope\x20project.\x20Re-run\x20without\x20`--scope\x20project`\x20to\x20install\x20at\x20user\x20scope.','\x0aIn\x20OpenCode,\x20enable\x20Ranger\x20hooks\x20(run\x20the\x20`ranger_enable`\x20tool)','message','✓\x20Created\x20','You\x20will\x20need\x20to\x20install\x20it\x20before\x20using\x20Ranger:','DPQUv','\x20and\x20prompt\x20the\x20coding','gHyRn','success','\x0aSkipping\x20profile\x20setup\x20(--skip-auth).\x20Run\x20`ranger\x20setup`\x20with\x20auth\x20to\x20add\x20a\x20profile\x20later.\x0a','allowInsecureLocalhost','✓\x20Exported\x20credentials\x20for\x20CI','auth','\x0aNon-interactive\x20mode:\x20Auto-installing\x20Playwright\x20Chromium\x20','\x20\x20(or\x20use\x20','skipped','ranger','confirm','error','with\x20scenarios\x20describing\x20what\x20to\x20verify\x20and\x20then\x20run\x20browser','Authentication\x20failed:\x20','\x20\x20Failed\x20to\x20install\x20OpenCode\x20skill:','⚠\x20No\x20git\x20repository\x20found.\x20Re-run\x20with\x20`--scope\x20user`\x20to\x20store\x20the\x20profile\x20at\x20~/.ranger/.','resolve','qgNvg',')\x20of\x20the\x20Playwright\x20Chromium\x20browser\x20is\x20not\x20installed.\x20Install\x20it\x20now?','\x20\x20npx\x20playwright@','close','chromium','platform','log','stdin','profile','84834ndDlxS','withDeps','.\x20Please\x20check\x20your\x20network\x20connection\x20and\x20server\x20URL.','koilT','coePI','/ranger:enable','QEjtB','GITHUB_ENV','DioGy','local','Ykpuc','ranger\x20profile\x20add','prompt','plugin','hlQya','skipChromium','1.58.2','url','organizationName','\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','DlKhs','scope','stdout','OkjSJ','playwright@','trackPhaseError','480324binNjY','trackPhaseEnd','qFPnJ','118897ypIAFq','executablePath','502299bkMhFA','\x1b[1m','skills','ready','Hjdfe','RANGER_TEST_USERNAME','.\x20Please\x20check\x20your\x20API\x20token\x20and\x20try\x20again.','DZrhO','81063gpwhkf','skipAuth','diaDD','trackPhaseStart','✓\x20Created\x20.ranger/.gitignore','.ranger/','user','14OtvETL','zbSME','.ranger','install','\x0a🚀\x20Ranger\x20Setup\x0a','LqTYB','Validating\x20API\x20token...','...','Failed\x20to\x20connect\x20to\x20MCP\x20server:\x20','.gitignore','✓\x20Authenticated\x20to\x20','\x20for\x20explicit\x20profile\x20management).','You\x20can\x20install\x20it\x20manually\x20by\x20running:','364695mDXtzR','verification\x20to\x20check\x20its\x20work\x20as\x20it\x20builds.','npx','git_check','PnXGy','FiScT','✓\x20Stored\x20credentials\x20locally','env','device_auth','win32','No\x20git\x20repository\x20found','\x0a⚠\x20Skipping\x20Chromium\x20installation.','nctOm','1295334sUnzUZ','force'];_0x21db=function(){return _0x547098;};return _0x21db();}import{getCurrentUser}from'./utils/userApi.js';import{chromium}from'playwright';import{addEnv}from'./addEnv.js';import{getRangerDir,getRangerHomeDir,findGitRoot}from'./utils/rangerRoot.js';import{runDeviceAuthFlow}from'./utils/deviceAuth.js';import{findExistingEnv}from'./utils/settings.js';import{getCurrentVersion}from'./utils/version.js';import{ensureClaudePlugin,ensureClaudeSkills}from'./setup/claude.js';import{ensureOpencodePluginConfig}from'./setup/opencode.js';import{installSkill}from'./utils/skills.js';const require=createRequire(import.meta.url);export const PLAYWRIGHT_CHROMIUM_INSTALL_FALLBACK_VERSION=_0x640448(0x172);const bold=_0x53dae0=>_0x640448(0x182)+_0x53dae0+_0x640448(0x1ae);export function getPlaywrightVersion(){const _0x46fd49=_0x640448;try{const _0x36089f=require[_0x46fd49(0x158)]('playwright/package.json'),_0x23df58=require(_0x36089f);return _0x23df58['version'];}catch{return null;}}export function installChromiumBinary(_0x2ed2e5,_0x18ecf3=![]){const _0x36a7ec=_0x640448,_0x1528f9={'UpVOx':function(_0xe38201,_0x314cf0){return _0xe38201(_0x314cf0);},'DEVog':_0x36a7ec(0x193),'tuADn':'ignore','Hjdfe':'inherit','ovWYW':_0x36a7ec(0x15c)};return new Promise((_0x117718,_0x5a452f)=>{const _0x15c92d=_0x36a7ec,_0x2cab9a={'DLgHK':function(_0x55f48e,_0x1a847d){return _0x1528f9['UpVOx'](_0x55f48e,_0x1a847d);}},_0xe24d40=[_0x15c92d(0x17a)+_0x2ed2e5,_0x1528f9['DEVog'],..._0x18ecf3?['--with-deps']:[],_0x15c92d(0x15d)],_0xd3aff8=spawn(_0x15c92d(0x19f),_0xe24d40,{'stdio':[_0x1528f9['tuADn'],_0x1528f9['Hjdfe'],_0x1528f9[_0x15c92d(0x185)]],'shell':process[_0x15c92d(0x15e)]===_0x15c92d(0x1a6)});_0xd3aff8['on'](_0x1528f9['ovWYW'],_0x5afa43=>{_0x5afa43===0x0?_0x117718():_0x2cab9a['DLgHK'](_0x5a452f,new Error('Installation\x20failed\x20with\x20exit\x20code\x20'+_0x5afa43));}),_0xd3aff8['on']('error',_0x3fea65=>{_0x5a452f(_0x3fea65);});});}export async function authenticate(_0x3c7525){const _0x3d60f4=_0x640448,_0x4c3fd7={'XfFYO':function(_0x5cce63){return _0x5cce63();},'qFPnJ':function(_0x31695c){return _0x31695c();},'PnXGy':function(_0x1650e1,_0x144eb6){return _0x1650e1 instanceof _0x144eb6;},'koilT':function(_0x40b6e4,_0x3a6ab7){return _0x40b6e4(_0x3a6ab7);},'XKUdT':_0x3d60f4(0x14c)};if(!_0x3c7525){const _0x112d61=await _0x4c3fd7[_0x3d60f4(0x1ad)](getToken);if(_0x112d61){const _0x5bcf92=await getCurrentUser(_0x112d61);if(_0x5bcf92[_0x3d60f4(0x1bb)])return console[_0x3d60f4(0x15f)]('✓\x20Already\x20authenticated\x20to\x20'+_0x5bcf92['user']['organizationName']),{'token':_0x112d61,'method':'existing_token'};}try{_0x3c7525=await _0x4c3fd7[_0x3d60f4(0x17e)](runDeviceAuthFlow);}catch(_0x176567){throw new Error(_0x3d60f4(0x155)+(_0x4c3fd7[_0x3d60f4(0x1a1)](_0x176567,Error)?_0x176567['message']:_0x176567));}const _0x5910df=await getCurrentUser(_0x3c7525);if(!_0x5910df[_0x3d60f4(0x1bb)])throw new Error('Failed\x20to\x20validate\x20provisioned\x20API\x20key:\x20'+_0x5910df[_0x3d60f4(0x153)]);return console[_0x3d60f4(0x15f)]('✓\x20Authenticated\x20to\x20'+_0x5910df['user'][_0x3d60f4(0x174)]),{'token':_0x3c7525,'method':_0x3d60f4(0x1a5)};}console[_0x3d60f4(0x15f)](_0x3d60f4(0x196));const _0x422c39=await getCurrentUser(_0x3c7525);if(!_0x422c39[_0x3d60f4(0x1bb)]){if(_0x422c39['status'])throw new Error(_0x3d60f4(0x155)+_0x422c39[_0x3d60f4(0x153)]+_0x3d60f4(0x187));else throw new Error(_0x3d60f4(0x198)+_0x422c39['error']+_0x3d60f4(0x164));}return console[_0x3d60f4(0x15f)](_0x3d60f4(0x19a)+_0x422c39['user'][_0x3d60f4(0x174)]),await _0x4c3fd7[_0x3d60f4(0x165)](storeToken,_0x3c7525),console['log'](process[_0x3d60f4(0x1a4)][_0x3d60f4(0x169)]?_0x4c3fd7['XKUdT']:_0x3d60f4(0x1a3)),{'token':_0x3c7525,'method':'provided_token'};}export async function ensureRangerDir(_0x29c8c1){const _0x4925e7=_0x640448,_0xbda11b={'WYwLf':function(_0x42df84,_0x5aa695){return _0x42df84===_0x5aa695;},'NSQWh':_0x4925e7(0x18e),'uUXwZ':_0x4925e7(0x18f),'tGyVZ':function(_0x38d654,_0x27e02b,_0x2df94b){return _0x38d654(_0x27e02b,_0x2df94b);}};let _0x44a53c;const _0x32e736=_0xbda11b['WYwLf'](_0x29c8c1,'user')?'~/.ranger/':_0xbda11b['NSQWh'];if(_0x29c8c1===_0xbda11b['uUXwZ'])_0x44a53c=getRangerHomeDir();else{const _0x10afa7=findGitRoot();_0x44a53c=_0x10afa7?_0xbda11b['tGyVZ'](join,_0x10afa7,_0x4925e7(0x192)):getRangerDir();}return!existsSync(_0x44a53c)?(await mkdir(_0x44a53c,{'recursive':!![]}),console['log'](_0x4925e7(0x1b6)+_0x32e736+'\x20directory'),{'path':_0x44a53c,'installed':!![]}):(console['log']('✓\x20'+_0x32e736+'\x20directory\x20already\x20exists'),{'path':_0x44a53c,'installed':![]});}export async function ensureChromium(_0x157e2e=![]){const _0x2a0efc=_0x640448,_0xc9a2b7={'xhSyJ':'✓\x20Playwright\x20Chromium\x20browser\x20found','gHyRn':function(_0x3cd4c6,_0x6d801a){return _0x3cd4c6??_0x6d801a;},'aSbzM':_0x2a0efc(0x1af),'McIxO':function(_0x1524ae,_0x146ee6,_0x51daeb){return _0x1524ae(_0x146ee6,_0x51daeb);}};let _0x489b02=![];try{const _0x5b7e26=chromium[_0x2a0efc(0x180)]();_0x489b02=existsSync(_0x5b7e26);}catch{_0x489b02=![];}if(_0x489b02)return console[_0x2a0efc(0x15f)](_0xc9a2b7['xhSyJ']),![];const _0x3f9f48=getPlaywrightVersion(),_0x525d16=_0xc9a2b7[_0x2a0efc(0x1ba)](_0x3f9f48,PLAYWRIGHT_CHROMIUM_INSTALL_FALLBACK_VERSION),_0x43e619=!_0x3f9f48,_0x47ef84=process[_0x2a0efc(0x160)]['isTTY']&&process[_0x2a0efc(0x178)]['isTTY'];let _0xd905e8=!![];if(_0x47ef84){const {install:_0x1783bb}=await _0x49e381[_0x2a0efc(0x16e)]([{'type':_0x2a0efc(0x152),'name':'install','message':_0x43e619?'Could\x20not\x20determine\x20local\x20Playwright\x20version.\x20Install\x20Playwright\x20Chromium\x20using\x20fallback\x20version\x20'+_0x525d16+'\x20now?':'The\x20required\x20version\x20('+_0x525d16+_0x2a0efc(0x15a),'default':!![]}]);_0xd905e8=_0x1783bb;}else console[_0x2a0efc(0x15f)](_0x2a0efc(0x14e)+_0x525d16+(_0x43e619?_0xc9a2b7['aSbzM']:'')+_0x2a0efc(0x197));if(_0xd905e8){console['log']('\x0aInstalling\x20Chromium\x20browser...\x0a');try{await _0xc9a2b7['McIxO'](installChromiumBinary,_0x525d16,_0x157e2e),console['log']('\x0a✓\x20Playwright\x20Chromium\x20installed\x20successfully');}catch(_0x41c6f1){console[_0x2a0efc(0x153)]('\x0a❌\x20Failed\x20to\x20install\x20Chromium:',_0x41c6f1 instanceof Error?_0x41c6f1[_0x2a0efc(0x1b5)]:_0x41c6f1),console[_0x2a0efc(0x15f)](_0x2a0efc(0x19c)),console['log']('\x20\x20npx\x20playwright@'+_0x525d16+'\x20install\x20chromium');}}else console[_0x2a0efc(0x15f)](_0x2a0efc(0x1a8)),console[_0x2a0efc(0x15f)](_0x2a0efc(0x1b7)),console['log'](_0x2a0efc(0x15b)+_0x525d16+'\x20install\x20chromium');return!![];}export async function writeRangerGitignore(_0x3853e3){const _0x4af62c=_0x640448,_0x44236e={'QsVwL':function(_0xa704a5,_0x2d08e3,_0x525ca0){return _0xa704a5(_0x2d08e3,_0x525ca0);}},_0x59501c=_0x44236e['QsVwL'](join,_0x3853e3,_0x4af62c(0x199)),_0x2734e9=_0x4af62c(0x175);await writeFile(_0x59501c,_0x2734e9),console['log'](_0x4af62c(0x18d));}export async function ensureLocalEnv(_0x579600,_0x4163f2){const _0x14e5e1=_0x640448,_0x579e2d={'eyzBi':function(_0x356603){return _0x356603();},'qkmur':function(_0x5de62c,_0x367902){return _0x5de62c!==_0x367902;},'QEjtB':'user','XvShz':_0x14e5e1(0x157),'DioGy':function(_0x258576,_0x4ec3d5){return _0x258576===_0x4ec3d5;},'vbUyC':_0x14e5e1(0x16b),'oPnOj':'✓\x20Local\x20profile\x20already\x20exists'};if(!_0x579e2d['eyzBi'](findGitRoot)&&_0x579e2d['qkmur'](_0x579600?.['scope'],_0x579e2d[_0x14e5e1(0x168)]))return console[_0x14e5e1(0x15f)](_0x579e2d[_0x14e5e1(0x1b0)]),{'ready':![],'skipped':!![]};const _0x425c36=_0x579e2d[_0x14e5e1(0x16a)](_0x579600?.['scope'],_0x579e2d['QEjtB'])?getRangerHomeDir():undefined;if(findExistingEnv(_0x579e2d[_0x14e5e1(0x1ac)],{'locations':[_0x579e2d['vbUyC']],'rangerDir':_0x425c36}))return console[_0x14e5e1(0x15f)](_0x579e2d['oPnOj']),{'ready':!![],'skipped':![]};try{return await addEnv('local',{'url':_0x579600?.[_0x14e5e1(0x173)],'force':_0x579600?.[_0x14e5e1(0x1ab)],'allowInsecureLocalhost':_0x579600?.['allowInsecureLocalhost'],'scope':_0x579600?.[_0x14e5e1(0x177)]},_0x4163f2),{'ready':!![],'skipped':![]};}catch(_0x1035cd){return console[_0x14e5e1(0x153)]('\x0a❌\x20Profile\x20setup\x20failed:',_0x1035cd instanceof Error?_0x1035cd['message']:_0x1035cd),{'ready':![],'skipped':![]};}}export async function start(_0x49dca3,_0x139fb9,_0x326e56){const _0x17330e=_0x640448,_0x21353a={'LqTYB':'user','nctOm':function(_0x5f43af){return _0x5f43af();},'qgNvg':_0x17330e(0x1a0),'xKPRC':_0x17330e(0x1a7),'FiScT':_0x17330e(0x1b3),'OkjSJ':function(_0x4f7ebc,_0x39db17){return _0x4f7ebc(_0x39db17);},'DlKhs':'✓\x20Skipping\x20authentication\x20(--skip-auth)','coePI':_0x17330e(0x14d),'oASFQ':'chromium','hlQya':'\x0a✅\x20Ranger\x20setup\x20complete!\x0a','zsXTF':_0x17330e(0x16f),'Ykpuc':_0x17330e(0x183),'HnBUW':function(_0x350f75,_0x5a99ab,_0x4c0482){return _0x350f75(_0x5a99ab,_0x4c0482);},'mjgpk':_0x17330e(0x151),'TOMVt':function(_0x2007b9){return _0x2007b9();},'jzAHS':function(_0x3d1f97,_0x9ba2ed){return _0x3d1f97 instanceof _0x9ba2ed;},'DZrhO':function(_0x2f7ff6,_0x1d6ac9){return _0x2f7ff6(_0x1d6ac9);},'zbSME':_0x17330e(0x186),'DPQUv':_0x17330e(0x1b4),'hWThB':function(_0x4cf20d,_0x3dc3b6){return _0x4cf20d(_0x3dc3b6);},'OFNhj':_0x17330e(0x167),'diaDD':function(_0x1d856c,_0x566fd1){return _0x1d856c+_0x566fd1;}};console['log'](_0x17330e(0x194));const _0x1ba01d=process['stdin']['isTTY']&&process['stdout']['isTTY'];!_0x139fb9?.['scope']&&(_0x139fb9={..._0x139fb9,'scope':_0x21353a[_0x17330e(0x195)]});const _0xa462c4=_0x139fb9?.['scope']==='user';_0x326e56?.['trackPhaseStart']('git_check');if(!_0xa462c4&&!_0x21353a[_0x17330e(0x1a9)](findGitRoot)){await _0x326e56?.[_0x17330e(0x17b)](_0x21353a['qgNvg'],new Error(_0x21353a['xKPRC']));throw new Error(_0x21353a[_0x17330e(0x1a2)]);}_0x326e56?.[_0x17330e(0x17d)](_0x21353a[_0x17330e(0x159)]);const _0x580854=_0xa462c4?!_0x21353a['OkjSJ'](existsSync,getRangerHomeDir()):!_0x21353a[_0x17330e(0x179)](existsSync,_0x21353a['nctOm'](getRangerDir)),{path:_0x21ec29}=await ensureRangerDir(_0xa462c4?_0x21353a[_0x17330e(0x195)]:undefined);if(_0x139fb9?.['skipAuth'])console[_0x17330e(0x15f)](_0x21353a[_0x17330e(0x176)]),_0x326e56?.[_0x17330e(0x17d)](_0x21353a[_0x17330e(0x166)],{'isFirstRun':_0x580854,'method':_0x17330e(0x150)});else{_0x326e56?.[_0x17330e(0x18c)](_0x17330e(0x14d));const _0x459cd9=await authenticate(_0x49dca3);_0x326e56?.[_0x17330e(0x17d)]('auth',{'isFirstRun':_0x580854,'method':_0x459cd9['method']});}_0x326e56?.[_0x17330e(0x18c)](_0x21353a[_0x17330e(0x1b1)]);_0x139fb9?.[_0x17330e(0x171)]?console[_0x17330e(0x15f)]('✓\x20Skipping\x20Chromium\x20check\x20(--skip-chromium)'):await _0x21353a[_0x17330e(0x179)](ensureChromium,_0x139fb9?.[_0x17330e(0x163)]);_0x326e56?.['trackPhaseEnd'](_0x21353a['oASFQ'],{'isFirstRun':_0x580854,'skipped':!!_0x139fb9?.[_0x17330e(0x171)]});!_0xa462c4&&await writeRangerGitignore(_0x21ec29);console[_0x17330e(0x15f)](_0x21353a[_0x17330e(0x170)]);const _0x4249b2=_0x139fb9?.['scope'],_0x18587b=_0x139fb9?.['opencode']??![];let _0x51cdba=null;_0x18587b?(_0x326e56?.['trackPhaseStart'](_0x21353a['zsXTF']),_0x51cdba=await ensureOpencodePluginConfig(_0x4249b2),_0x326e56?.[_0x17330e(0x17d)]('plugin',{'isFirstRun':_0x580854,'opencode':!![]})):(_0x326e56?.['trackPhaseStart'](_0x17330e(0x16f)),await ensureClaudePlugin(_0x4249b2),_0x326e56?.['trackPhaseEnd'](_0x17330e(0x16f),{'isFirstRun':_0x580854}));if(_0x18587b&&_0x51cdba){_0x326e56?.['trackPhaseStart'](_0x21353a['Ykpuc']);try{await _0x21353a['HnBUW'](installSkill,_0x21353a['mjgpk'],{'level':_0x51cdba[_0x17330e(0x177)],'cliVersion':_0x21353a['TOMVt'](getCurrentVersion),'platform':'opencode'}),_0x326e56?.[_0x17330e(0x17d)](_0x17330e(0x183),{'isFirstRun':_0x580854,'opencode':!![]});}catch(_0x45aac1){console['warn'](_0x17330e(0x156),_0x21353a['jzAHS'](_0x45aac1,Error)?_0x45aac1['message']:_0x45aac1),_0x326e56?.[_0x17330e(0x17d)](_0x17330e(0x183),{'isFirstRun':_0x580854,'opencode':!![],'failed':!![]});}}else _0x326e56?.[_0x17330e(0x18c)](_0x21353a['Ykpuc']),await ensureClaudeSkills(_0x4249b2),_0x326e56?.[_0x17330e(0x17d)](_0x21353a[_0x17330e(0x16c)],{'isFirstRun':_0x580854});if(_0x139fb9?.[_0x17330e(0x18a)])console[_0x17330e(0x15f)](_0x17330e(0x14a));else{if(_0x139fb9?.[_0x17330e(0x173)]){_0x326e56?.[_0x17330e(0x18c)](_0x17330e(0x161));const _0x543a2d=await ensureLocalEnv({'url':_0x139fb9[_0x17330e(0x173)],'force':_0x139fb9?.[_0x17330e(0x1ab)],'allowInsecureLocalhost':_0x139fb9?.[_0x17330e(0x14b)],'scope':_0x139fb9?.['scope']==='user'?_0x21353a['LqTYB']:undefined},_0x326e56);_0x326e56?.['trackPhaseEnd'](_0x17330e(0x161),{'isFirstRun':_0x580854,'profileReady':_0x543a2d[_0x17330e(0x184)],'userSkipped':_0x543a2d['skipped']});}else console[_0x17330e(0x15f)]('\x0aTo\x20verify\x20with\x20a\x20browser:\x20set\x20'+_0x21353a[_0x17330e(0x188)](bold,_0x21353a[_0x17330e(0x191)])+'\x20and\x20'+_0x21353a['OkjSJ'](bold,'RANGER_TEST_PASSWORD')),console[_0x17330e(0x15f)](_0x17330e(0x14f)+_0x21353a['OkjSJ'](bold,_0x17330e(0x16d))+_0x17330e(0x19b));}if(_0x18587b)console['log'](_0x21353a[_0x17330e(0x1b8)]),console[_0x17330e(0x15f)]('and\x20prompt\x20the\x20agent\x20like\x20usual.\x20Ranger\x20will\x20create\x20a\x20feature\x20review'),console['log'](_0x17330e(0x154)),console[_0x17330e(0x15f)](_0x17330e(0x19e));else{const _0x5616ab=_0x21353a['hWThB'](bold,_0x21353a['OFNhj']);console['log'](_0x21353a[_0x17330e(0x18b)](_0x21353a['diaDD']('\x0aIn\x20Claude\x20Code,\x20run\x20'+_0x5616ab+_0x17330e(0x1b9)+'\x0aagent\x20like\x20usual.\x20Claude\x20will\x20create\x20a\x20feature\x20review\x20with','\x0ascenarios\x20describing\x20what\x20to\x20verify\x20and\x20then\x20run\x20browser'),'\x0averification\x20to\x20check\x20its\x20work\x20as\x20it\x20builds.'));}}
|
|
1
|
+
const _0x335357=_0xeb41;(function(_0x41c8a5,_0x226fed){const _0x140423=_0xeb41,_0x2c2868=_0x41c8a5();while(!![]){try{const _0x318f5e=parseInt(_0x140423(0xe0))/0x1+-parseInt(_0x140423(0xdd))/0x2*(parseInt(_0x140423(0xe7))/0x3)+parseInt(_0x140423(0xdf))/0x4*(parseInt(_0x140423(0xea))/0x5)+parseInt(_0x140423(0xef))/0x6+-parseInt(_0x140423(0x103))/0x7+parseInt(_0x140423(0x119))/0x8*(parseInt(_0x140423(0x102))/0x9)+-parseInt(_0x140423(0xdb))/0xa*(parseInt(_0x140423(0xf1))/0xb);if(_0x318f5e===_0x226fed)break;else _0x2c2868['push'](_0x2c2868['shift']());}catch(_0x12f877){_0x2c2868['push'](_0x2c2868['shift']());}}}(_0x1f87,0xa0097));import{mkdir,writeFile}from'fs/promises';import{join}from'path';import{existsSync}from'fs';import{createRequire}from'module';import{spawn}from'child_process';import _0x263c17 from'inquirer';import{getToken,storeToken}from'./utils/keychain.js';import{getCurrentUser}from'./utils/userApi.js';import{chromium}from'playwright';import{addEnv}from'./addEnv.js';import{getRangerHomeDir,findGitRoot}from'./utils/rangerRoot.js';import{runDeviceAuthFlow}from'./utils/deviceAuth.js';import{findExistingEnv}from'./utils/settings.js';import{getCurrentVersion}from'./utils/version.js';import{ensureClaudePlugin,ensureClaudeSkills}from'./setup/claude.js';import{ensureOpencodePluginConfig}from'./setup/opencode.js';import{installSkill}from'./utils/skills.js';const require=createRequire(import.meta.url);function _0xeb41(_0x3f582a,_0x3347cd){_0x3f582a=_0x3f582a-0xc6;const _0x1f8717=_0x1f87();let _0xeb415d=_0x1f8717[_0x3f582a];return _0xeb415d;}export const PLAYWRIGHT_CHROMIUM_INSTALL_FALLBACK_VERSION=_0x335357(0x107);function _0x1f87(){const _0x3679cb=['platform','✓\x20Skipping\x20authentication\x20(--skip-auth)','device_auth','ignore','\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','✓\x20Created\x20.ranger/.gitignore','provided_token','NyLXg','trackPhaseEnd','trackPhaseStart','opencode',')\x20of\x20the\x20Playwright\x20Chromium\x20browser\x20is\x20not\x20installed.\x20Install\x20it\x20now?','RhkhC','error','log','user','/ranger:enable','jDAqS','.gitignore','uPEMa','\x0a\x0aFor\x20CI\x20/\x20background\x20agents\x20and\x20other\x20setup\x20options,\x20see:','dAUHH','bPTGF','\x1b[1m','xKDTL','xHZPk','close','skills','✓\x20Playwright\x20Chromium\x20browser\x20found','DYxSZ','chromium','6446460oJctoi','EArQt','148StfNPY','Failed\x20to\x20validate\x20provisioned\x20API\x20key:\x20','4605156yyEBRd','870066hMBnGN','✓\x20Skipping\x20Chromium\x20check\x20(--skip-chromium)','Validating\x20API\x20token...','\x1b[0m','exit','VmyNG','prompt','27552liSLtU','scope','\x0ascenarios\x20describing\x20what\x20to\x20verify\x20and\x20then\x20run\x20browser','5wQcFFE','stdin','.\x20Please\x20check\x20your\x20API\x20token\x20and\x20try\x20again.','force','ready','2434824yoNkgB','PAbNi','22owEXVd','Ftthw','zKcNz','\x20\x20Failed\x20to\x20install\x20OpenCode\x20skill:','Authentication\x20failed:\x20','Failed\x20to\x20connect\x20to\x20MCP\x20server:\x20','bnfGV','success','TMmPu','\x0aSkipping\x20profile\x20setup\x20(--skip-auth).\x20Run\x20`ranger\x20setup`\x20with\x20auth\x20to\x20add\x20a\x20profile\x20later.\x0a','BnYPI','nIkcx','\x20(fallback\x20version)','method','\x0a\x20\x20(opens\x20a\x20browser\x20so\x20you\x20can\x20log\x20in\x20once)','You\x20can\x20install\x20it\x20manually\x20by\x20running:','CZome','27oDCpao','6731984idggMU','ranger','EjiPS','\x0a✓\x20Playwright\x20Chromium\x20installed\x20successfully','1.58.2','MBxsi','confirm','isTTY','✓\x20~/.ranger/\x20directory\x20already\x20exists','ypxKs','playwright@','PUWBk','mvCIc','✓\x20Authenticated\x20to\x20','and\x20prompt\x20the\x20agent\x20like\x20usual.\x20Ranger\x20will\x20create\x20a\x20feature\x20review','npx','✓\x20Stored\x20credentials\x20locally','message','existing_token','...','\x20install\x20chromium','\x0aTo\x20set\x20up\x20a\x20profile\x20for\x20your\x20app,\x20run:','3090592zKtqMc','✓\x20Created\x20~/.ranger/\x20directory','\x0a⚠\x20Skipping\x20Chromium\x20installation.','profile','UymPk','LYPcT','install','ranger\x20profile\x20add\x20<name>','xkzwF','pzXnG','\x0a\x20\x20https://docs.ranger.net/main/concepts/profiles','inherit','✓\x20Already\x20authenticated\x20to\x20','version','url','ShPfu'];_0x1f87=function(){return _0x3679cb;};return _0x1f87();}const bold=_0x5d98e6=>_0x335357(0xd3)+_0x5d98e6+_0x335357(0xe3);export function getPlaywrightVersion(){const _0x4a3926=_0x335357,_0xe8a7ff={'SsyQL':'playwright/package.json'};try{const _0x3b5e34=require['resolve'](_0xe8a7ff['SsyQL']),_0x1b8c84=require(_0x3b5e34);return _0x1b8c84[_0x4a3926(0x126)];}catch{return null;}}export function installChromiumBinary(_0x17a4dd,_0x2b7e05=![]){const _0x409611=_0x335357,_0x208b0f={'xKDTL':function(_0x4a4d6c,_0x43a9ab){return _0x4a4d6c(_0x43a9ab);},'okAEI':'--with-deps','bPTGF':_0x409611(0xda),'uPEMa':function(_0x1f15a9,_0x38be44,_0x40cff4,_0x1bcebc){return _0x1f15a9(_0x38be44,_0x40cff4,_0x1bcebc);},'zKcNz':_0x409611(0x112),'nIkcx':'win32','jnEtA':_0x409611(0xd6),'bnfGV':_0x409611(0xc9)};return new Promise((_0x2704b7,_0x133cbc)=>{const _0x3992ca=_0x409611,_0x33951c={'LuNVc':function(_0x1d5471){return _0x1d5471();},'HUrEG':function(_0x2daf6d,_0x2de184){const _0xcb4a11=_0xeb41;return _0x208b0f[_0xcb4a11(0xd4)](_0x2daf6d,_0x2de184);}},_0xca1c31=[_0x3992ca(0x10d)+_0x17a4dd,'install',..._0x2b7e05?[_0x208b0f['okAEI']]:[],_0x208b0f[_0x3992ca(0xd2)]],_0x542e4f=_0x208b0f[_0x3992ca(0xcf)](spawn,_0x208b0f[_0x3992ca(0xf3)],_0xca1c31,{'stdio':[_0x3992ca(0x12c),_0x3992ca(0x124),_0x3992ca(0x124)],'shell':process[_0x3992ca(0x129)]===_0x208b0f[_0x3992ca(0xfc)]});_0x542e4f['on'](_0x208b0f['jnEtA'],_0x3c5f82=>{_0x3c5f82===0x0?_0x33951c['LuNVc'](_0x2704b7):_0x33951c['HUrEG'](_0x133cbc,new Error('Installation\x20failed\x20with\x20exit\x20code\x20'+_0x3c5f82));}),_0x542e4f['on'](_0x208b0f[_0x3992ca(0xf7)],_0x321379=>{_0x133cbc(_0x321379);});});}export async function authenticate(_0x17a15b){const _0x5823d3=_0x335357,_0x18370a={'UymPk':function(_0x533c89){return _0x533c89();},'CoiJD':function(_0x40b55f){return _0x40b55f();},'jDAqS':function(_0xaf1f04,_0x50007a){return _0xaf1f04(_0x50007a);},'DYxSZ':_0x5823d3(0xe2),'UYMMs':_0x5823d3(0x12f)};if(!_0x17a15b){const _0xdf79c5=await _0x18370a[_0x5823d3(0x11d)](getToken);if(_0xdf79c5){const _0x10257e=await getCurrentUser(_0xdf79c5);if(_0x10257e[_0x5823d3(0xf8)])return console[_0x5823d3(0xca)](_0x5823d3(0x125)+_0x10257e[_0x5823d3(0xcb)]['organizationName']),{'token':_0xdf79c5,'method':_0x5823d3(0x115)};}try{_0x17a15b=await _0x18370a['CoiJD'](runDeviceAuthFlow);}catch(_0x4ee67e){throw new Error(_0x5823d3(0xf5)+(_0x4ee67e instanceof Error?_0x4ee67e[_0x5823d3(0x114)]:_0x4ee67e));}const _0x286d37=await _0x18370a['jDAqS'](getCurrentUser,_0x17a15b);if(!_0x286d37[_0x5823d3(0xf8)])throw new Error(_0x5823d3(0xde)+_0x286d37['error']);return console[_0x5823d3(0xca)](_0x5823d3(0x110)+_0x286d37['user']['organizationName']),{'token':_0x17a15b,'method':_0x5823d3(0x12b)};}console[_0x5823d3(0xca)](_0x18370a[_0x5823d3(0xd9)]);const _0x87fba6=await _0x18370a[_0x5823d3(0xcd)](getCurrentUser,_0x17a15b);if(!_0x87fba6[_0x5823d3(0xf8)]){if(_0x87fba6['status'])throw new Error(_0x5823d3(0xf5)+_0x87fba6[_0x5823d3(0xc9)]+_0x5823d3(0xec));else throw new Error(_0x5823d3(0xf6)+_0x87fba6[_0x5823d3(0xc9)]+'.\x20Please\x20check\x20your\x20network\x20connection\x20and\x20server\x20URL.');}return console['log'](_0x5823d3(0x110)+_0x87fba6[_0x5823d3(0xcb)]['organizationName']),await storeToken(_0x17a15b),console['log'](process['env']['GITHUB_ENV']?'✓\x20Exported\x20credentials\x20for\x20CI':_0x5823d3(0x113)),{'token':_0x17a15b,'method':_0x18370a['UYMMs']};}export async function ensureRangerDir(_0x2e41ec){const _0x3e421b=_0x335357,_0x46a0cb={'jnNGu':function(_0x555d43){return _0x555d43();},'sScMU':function(_0x453080,_0x93d366){return _0x453080(_0x93d366);},'bLWCg':function(_0x31bb94,_0x2be370,_0x3f2c55){return _0x31bb94(_0x2be370,_0x3f2c55);},'Ftthw':_0x3e421b(0x11a)};void _0x2e41ec;const _0x48a544=_0x46a0cb['jnNGu'](getRangerHomeDir);return!_0x46a0cb['sScMU'](existsSync,_0x48a544)?(await _0x46a0cb['bLWCg'](mkdir,_0x48a544,{'recursive':!![]}),console[_0x3e421b(0xca)](_0x46a0cb[_0x3e421b(0xf2)]),{'path':_0x48a544,'installed':!![]}):(console[_0x3e421b(0xca)](_0x3e421b(0x10b)),{'path':_0x48a544,'installed':![]});}export async function ensureChromium(_0x181310=![]){const _0x33108c=_0x335357,_0x19cabf={'avdCs':function(_0x1fa150){return _0x1fa150();},'SxBpS':_0x33108c(0x11f),'zqDYA':'\x0a❌\x20Failed\x20to\x20install\x20Chromium:','RhkhC':function(_0x500f62,_0x2ec389){return _0x500f62 instanceof _0x2ec389;}};let _0x25f366=![];try{const _0x54e5fc=chromium['executablePath']();_0x25f366=existsSync(_0x54e5fc);}catch{_0x25f366=![];}if(_0x25f366)return console['log'](_0x33108c(0xd8)),![];const _0x3d9542=_0x19cabf['avdCs'](getPlaywrightVersion),_0x44bf34=_0x3d9542??PLAYWRIGHT_CHROMIUM_INSTALL_FALLBACK_VERSION,_0x1f9084=!_0x3d9542,_0xc89bea=process[_0x33108c(0xeb)][_0x33108c(0x10a)]&&process['stdout'][_0x33108c(0x10a)];let _0x5b9a51=!![];if(_0xc89bea){const {install:_0x3170ec}=await _0x263c17[_0x33108c(0xe6)]([{'type':_0x33108c(0x109),'name':_0x19cabf['SxBpS'],'message':_0x1f9084?'Could\x20not\x20determine\x20local\x20Playwright\x20version.\x20Install\x20Playwright\x20Chromium\x20using\x20fallback\x20version\x20'+_0x44bf34+'\x20now?':'The\x20required\x20version\x20('+_0x44bf34+_0x33108c(0xc7),'default':!![]}]);_0x5b9a51=_0x3170ec;}else console[_0x33108c(0xca)]('\x0aNon-interactive\x20mode:\x20Auto-installing\x20Playwright\x20Chromium\x20'+_0x44bf34+(_0x1f9084?_0x33108c(0xfd):'')+_0x33108c(0x116));if(_0x5b9a51){console['log']('\x0aInstalling\x20Chromium\x20browser...\x0a');try{await installChromiumBinary(_0x44bf34,_0x181310),console[_0x33108c(0xca)](_0x33108c(0x106));}catch(_0x3f1cda){console['error'](_0x19cabf['zqDYA'],_0x19cabf[_0x33108c(0xc8)](_0x3f1cda,Error)?_0x3f1cda['message']:_0x3f1cda),console[_0x33108c(0xca)](_0x33108c(0x100)),console['log']('\x20\x20npx\x20playwright@'+_0x44bf34+_0x33108c(0x117));}}else console['log'](_0x33108c(0x11b)),console['log']('You\x20will\x20need\x20to\x20install\x20it\x20before\x20using\x20Ranger:'),console['log']('\x20\x20npx\x20playwright@'+_0x44bf34+'\x20install\x20chromium');return!![];}export async function writeRangerGitignore(_0x264eeb){const _0x44369b=_0x335357,_0x46a8da={'MnHbv':_0x44369b(0xce)},_0x4c06be=join(_0x264eeb,_0x46a8da['MnHbv']),_0x283b8f=_0x44369b(0x12d);await writeFile(_0x4c06be,_0x283b8f),console['log'](_0x44369b(0x12e));}export async function ensureLocalEnv(_0x2e6e03,_0x46d1c2){const _0x573af4=_0x335357,_0x3c451b={'CZome':function(_0x10b989){return _0x10b989();},'WXIyC':'user','yTOqt':function(_0x2c9d04,_0x1b8d2d){return _0x2c9d04===_0x1b8d2d;},'NXXLR':function(_0x382b25,_0x2f8b3f,_0x3d74a2){return _0x382b25(_0x2f8b3f,_0x3d74a2);},'TMmPu':'local','gCdCR':function(_0x177b96,_0x10cb7c,_0x346390,_0x52b9e4){return _0x177b96(_0x10cb7c,_0x346390,_0x52b9e4);}};if(!_0x3c451b[_0x573af4(0x101)](findGitRoot)&&_0x2e6e03?.['scope']!==_0x3c451b['WXIyC'])return console['log']('⚠\x20No\x20git\x20repository\x20found.\x20Re-run\x20with\x20`--scope\x20user`\x20to\x20store\x20the\x20profile\x20at\x20~/.ranger/.'),{'ready':![],'skipped':!![]};const _0x5991a1=_0x3c451b['yTOqt'](_0x2e6e03?.[_0x573af4(0xe8)],_0x573af4(0xcb))?_0x3c451b['CZome'](getRangerHomeDir):undefined;if(_0x3c451b['NXXLR'](findExistingEnv,_0x3c451b[_0x573af4(0xf9)],{'locations':['local'],'rangerDir':_0x5991a1}))return console[_0x573af4(0xca)]('✓\x20Local\x20profile\x20already\x20exists'),{'ready':!![],'skipped':![]};try{return await _0x3c451b['gCdCR'](addEnv,_0x3c451b[_0x573af4(0xf9)],{'url':_0x2e6e03?.['url'],'force':_0x2e6e03?.['force'],'allowInsecureLocalhost':_0x2e6e03?.['allowInsecureLocalhost'],'scope':_0x2e6e03?.['scope']},_0x46d1c2),{'ready':!![],'skipped':![]};}catch(_0x54e0af){return console[_0x573af4(0xc9)]('\x0a❌\x20Profile\x20setup\x20failed:',_0x54e0af instanceof Error?_0x54e0af['message']:_0x54e0af),{'ready':![],'skipped':![]};}}export async function start(_0x21c747,_0x5d1767,_0x2448fc){const _0x361129=_0x335357,_0x1354b8={'EjiPS':'\x0a🚀\x20Ranger\x20Setup\x0a','LYPcT':function(_0x212079,_0x2d795b){return _0x212079!==_0x2d795b;},'NyLXg':_0x361129(0xcb),'MBxsi':function(_0x37f04f,_0x3cca7e){return _0x37f04f+_0x3cca7e;},'vugyK':function(_0x5038a1,_0x2015b4){return _0x5038a1+_0x2015b4;},'xHZPk':function(_0x196e3d,_0x89d7f6){return _0x196e3d(_0x89d7f6);},'PUWBk':_0x361129(0x12a),'PAbNi':'auth','BhSEQ':_0x361129(0xe1),'FBTlH':'chromium','ypxKs':'\x0a✅\x20Ranger\x20setup\x20complete!\x0a','BnYPI':'plugin','ONDen':function(_0x5a4997,_0x22f085){return _0x5a4997(_0x22f085);},'VmyNG':function(_0x2f0cd0){return _0x2f0cd0();},'ShPfu':'opencode','pzXnG':'skills','dAUHH':_0x361129(0xfa),'mvCIc':_0x361129(0x11c),'EArQt':'with\x20scenarios\x20describing\x20what\x20to\x20verify\x20and\x20then\x20run\x20browser','xkzwF':function(_0x3e1238,_0x1c96b2){return _0x3e1238+_0x1c96b2;}};console['log'](_0x1354b8[_0x361129(0x105)]);_0x1354b8[_0x361129(0x11e)](_0x5d1767?.[_0x361129(0xe8)],undefined)&&_0x5d1767['scope']!==_0x1354b8['NyLXg']&&(console['error'](_0x1354b8[_0x361129(0x108)](_0x1354b8['vugyK']('ranger\x20setup\x20--scope='+_0x1354b8['xHZPk'](String,_0x5d1767[_0x361129(0xe8)])+'\x20is\x20no\x20longer\x20supported.\x20','Setup\x20always\x20installs\x20at\x20user\x20scope\x20now\x20(cloud\x20profiles\x20make\x20'),'project-scope\x20setup\x20obsolete).\x20Drop\x20the\x20--scope\x20flag\x20or\x20pass\x20--scope=user.')),process[_0x361129(0xe4)](0x1));_0x5d1767={..._0x5d1767,'scope':_0x361129(0xcb)};const _0x44115b=!_0x1354b8[_0x361129(0xd5)](existsSync,getRangerHomeDir());await ensureRangerDir(_0x1354b8['NyLXg']);if(_0x5d1767?.['skipAuth'])console[_0x361129(0xca)](_0x1354b8[_0x361129(0x10e)]),_0x2448fc?.[_0x361129(0x131)](_0x1354b8['PAbNi'],{'isFirstRun':_0x44115b,'method':'skipped'});else{_0x2448fc?.[_0x361129(0x132)]('auth');const _0x545b70=await _0x1354b8[_0x361129(0xd5)](authenticate,_0x21c747);_0x2448fc?.[_0x361129(0x131)](_0x1354b8[_0x361129(0xf0)],{'isFirstRun':_0x44115b,'method':_0x545b70[_0x361129(0xfe)]});}_0x2448fc?.[_0x361129(0x132)](_0x361129(0xda));_0x5d1767?.['skipChromium']?console[_0x361129(0xca)](_0x1354b8['BhSEQ']):await ensureChromium(_0x5d1767?.['withDeps']);_0x2448fc?.['trackPhaseEnd'](_0x1354b8['FBTlH'],{'isFirstRun':_0x44115b,'skipped':!!_0x5d1767?.['skipChromium']}),console['log'](_0x1354b8[_0x361129(0x10c)]);const _0x73cf47=_0x5d1767?.['scope'],_0x2d406e=_0x5d1767?.[_0x361129(0xc6)]??![];let _0x505602=null;_0x2d406e?(_0x2448fc?.[_0x361129(0x132)]('plugin'),_0x505602=await ensureOpencodePluginConfig(_0x73cf47),_0x2448fc?.['trackPhaseEnd']('plugin',{'isFirstRun':_0x44115b,'opencode':!![]})):(_0x2448fc?.['trackPhaseStart'](_0x1354b8[_0x361129(0xfb)]),await _0x1354b8['ONDen'](ensureClaudePlugin,_0x73cf47),_0x2448fc?.['trackPhaseEnd']('plugin',{'isFirstRun':_0x44115b}));if(_0x2d406e&&_0x505602){_0x2448fc?.[_0x361129(0x132)](_0x361129(0xd7));try{await installSkill(_0x361129(0x104),{'level':_0x505602['scope'],'cliVersion':_0x1354b8[_0x361129(0xe5)](getCurrentVersion),'platform':_0x1354b8[_0x361129(0x128)]}),_0x2448fc?.['trackPhaseEnd'](_0x1354b8[_0x361129(0x122)],{'isFirstRun':_0x44115b,'opencode':!![]});}catch(_0x17034f){console['warn'](_0x361129(0xf4),_0x17034f instanceof Error?_0x17034f['message']:_0x17034f),_0x2448fc?.['trackPhaseEnd'](_0x361129(0xd7),{'isFirstRun':_0x44115b,'opencode':!![],'failed':!![]});}}else _0x2448fc?.[_0x361129(0x132)](_0x1354b8[_0x361129(0x122)]),await _0x1354b8['ONDen'](ensureClaudeSkills,_0x73cf47),_0x2448fc?.[_0x361129(0x131)](_0x1354b8[_0x361129(0x122)],{'isFirstRun':_0x44115b});if(_0x5d1767?.['skipAuth'])console['log'](_0x1354b8[_0x361129(0xd1)]);else{if(_0x5d1767?.[_0x361129(0x127)]){_0x2448fc?.[_0x361129(0x132)](_0x361129(0x11c));const _0x146f90=await ensureLocalEnv({'url':_0x5d1767['url'],'force':_0x5d1767?.[_0x361129(0xed)],'allowInsecureLocalhost':_0x5d1767?.['allowInsecureLocalhost'],'scope':_0x1354b8[_0x361129(0x130)]},_0x2448fc);_0x2448fc?.['trackPhaseEnd'](_0x1354b8[_0x361129(0x10f)],{'isFirstRun':_0x44115b,'profileReady':_0x146f90[_0x361129(0xee)],'userSkipped':_0x146f90['skipped']});}else console[_0x361129(0xca)](_0x1354b8[_0x361129(0x108)](_0x361129(0x118)+('\x0a\x20\x20'+bold(_0x361129(0x120))),_0x361129(0xff))+_0x361129(0xd0)+_0x361129(0x123));}if(_0x2d406e)console['log']('\x0aIn\x20OpenCode,\x20enable\x20Ranger\x20hooks\x20(run\x20the\x20`ranger_enable`\x20tool)'),console['log'](_0x361129(0x111)),console[_0x361129(0xca)](_0x1354b8[_0x361129(0xdc)]),console[_0x361129(0xca)]('verification\x20to\x20check\x20its\x20work\x20as\x20it\x20builds.');else{const _0xbb8e69=_0x1354b8['xHZPk'](bold,_0x361129(0xcc));console['log'](_0x1354b8['MBxsi'](_0x1354b8[_0x361129(0x121)]('\x0aIn\x20Claude\x20Code,\x20run\x20'+_0xbb8e69+'\x20and\x20prompt\x20the\x20coding','\x0aagent\x20like\x20usual.\x20Claude\x20will\x20create\x20a\x20feature\x20review\x20with'),_0x361129(0xe9))+'\x0averification\x20to\x20check\x20its\x20work\x20as\x20it\x20builds.');}}
|
package/build/commands/status.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
const _0x33d84d=_0x3d95;(function(_0x27f7af,_0x601ae1){const _0x4b9826=_0x3d95,_0x16a850=_0x27f7af();while(!![]){try{const _0x49455a=-parseInt(_0x4b9826(0x147))/0x1+parseInt(_0x4b9826(0x13c))/0x2+-parseInt(_0x4b9826(0x148))/0x3*(parseInt(_0x4b9826(0x189))/0x4)+-parseInt(_0x4b9826(0x181))/0x5*(parseInt(_0x4b9826(0x188))/0x6)+parseInt(_0x4b9826(0x167))/0x7*(-parseInt(_0x4b9826(0x18e))/0x8)+parseInt(_0x4b9826(0x169))/0x9*(parseInt(_0x4b9826(0x16c))/0xa)+parseInt(_0x4b9826(0x195))/0xb*(parseInt(_0x4b9826(0x15d))/0xc);if(_0x49455a===_0x601ae1)break;else _0x16a850['push'](_0x16a850['shift']());}catch(_0x861ece){_0x16a850['push'](_0x16a850['shift']());}}}(_0x1e15,0xbe53e));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';function _0x1e15(){const _0xeb4a10=['ptCZg','\x1b[0m','\x20\x20\x20\x20','358127QkLRUg','23883eKIOTo','VwXPk','\x0a---\x20Skills\x20---','vnmmL','all','includes','opencode-plugin','\x20(up\x20to\x20date)','GgxKj','length','DEBUG','data','Kbnod','Swaqy','status','pipe','parse','\x20\x20Project-level:','name','Root:\x20','jQlqe','36468lCYAXs','success','RWjtc','rSJvv','filter','\x0a---\x20Profiles\x20---','HHftL','ranger@trailhead','not_configured','details','1160999xsQpbh','vrIdy','1422JTpdrA','\x20\x20Run:\x20ranger\x20setup\x20--opencode','\x1b]8;;file://','98540UQlSeY','\x20\x20Run:\x20ranger\x20profile\x20use\x20<profile-name>\x20\x20(available:\x20','scope','isDirectory','auth.json.enc','config','stdout','\x20\x20Run:\x20ranger\x20setup\x20[token]\x0a','WCgrG','@ranger-testing/opencode-plugin','oeXhv','fiseJ','sOhoF','Fdgqe','vqBEs','FRrrE','yiXuf','Organization:\x20','Version:\x20','OVjZS','push','1859905FQGPKG','YiUXt','\x0a\x20\x20No\x20active\x20profile\x20set','Xoldy','version','LwEyo','none','6OCQWOn','524KpTaqh','API\x20Environment:\x20','ygHub','opencode','SjdVF','8fVszuw','\x20\x20Run:\x20ranger\x20setup\x20[token]','log',':\x20configured','settingsPath','organizationName','isArray','2354JcDHid','qcIeR','SKILL.md','JlNnQ','\x1b[1m','BtlAC','IFrst','encrypted','JXVgI','configured','acwUB','\x20plugin(s)\x20configured','displayName','bwpOC','KDTjX','1022320UwxfFl','settings.json','GrDzT','ignore','gzfwV','hasEncryptedAuth','toString','\x20(active)'];_0x1e15=function(){return _0xeb4a10;};return _0x1e15();}import{getEnvDir}from'./utils/settings.js';import{getPluginInfo}from'./utils/claudePlugin.js';import{RANGER_MANAGED_SKILLS}from'./utils/skills.js';function _0x3d95(_0x41ffbd,_0x29942b){_0x41ffbd=_0x41ffbd-0x13a;const _0x1e15fc=_0x1e15();let _0x3d95b3=_0x1e15fc[_0x41ffbd];return _0x3d95b3;}import{spawn}from'child_process';const bold=_0x42293c=>_0x33d84d(0x199)+_0x42293c+_0x33d84d(0x145),link=(_0x33b297,_0x223f43)=>_0x33d84d(0x16b)+_0x33b297+'\x07'+(_0x223f43||_0x33b297)+'\x1b]8;;\x07';async function getOpencodePluginStatus(){const _0x1f7a29=_0x33d84d,_0x2f2d87={'MxqJZ':'not_installed','ysRMq':'string','usVbD':'configured','EEOeM':_0x1f7a29(0x165),'VwXPk':function(_0x26321e,_0x1cea42){return _0x26321e(_0x1cea42);},'gzfwV':function(_0x179d99,_0x4ad013,_0x2580b4,_0x457e7d){return _0x179d99(_0x4ad013,_0x2580b4,_0x457e7d);},'BMxlU':_0x1f7a29(0x18c),'ptCZg':'debug','vnmmL':_0x1f7a29(0x157),'Xoldy':_0x1f7a29(0x153),'qcIeR':'close'};return new Promise(_0x2476de=>{const _0x4597e8=_0x1f7a29,_0x1586c1={'EspJP':_0x2f2d87['ysRMq'],'oeXhv':function(_0x2003e6,_0x4af4b6){return _0x2003e6!==_0x4af4b6;},'IgrSn':_0x2f2d87['usVbD'],'BtlAC':function(_0x14e596,_0x39bebc){return _0x14e596>_0x39bebc;},'huRsI':_0x2f2d87['EEOeM'],'OVjZS':function(_0xd31620,_0x3d19a6){const _0x19f653=_0x3d95;return _0x2f2d87[_0x19f653(0x149)](_0xd31620,_0x3d19a6);}},_0x2cd7ce=_0x2f2d87[_0x4597e8(0x140)](spawn,_0x2f2d87['BMxlU'],[_0x2f2d87[_0x4597e8(0x144)],_0x4597e8(0x171)],{'stdio':[_0x4597e8(0x13f),'pipe',_0x2f2d87[_0x4597e8(0x14b)]]});let _0x537d3c='';_0x2cd7ce[_0x4597e8(0x172)]?.['on'](_0x2f2d87[_0x4597e8(0x184)],_0x33966d=>{_0x537d3c+=_0x33966d['toString']();}),_0x2cd7ce['stderr']?.['on']('data',_0x157fca=>{const _0x4c6799=_0x4597e8;_0x537d3c+=_0x157fca[_0x4c6799(0x142)]();}),_0x2cd7ce['on']('error',()=>{_0x2476de({'status':_0x2f2d87['MxqJZ']});}),_0x2cd7ce['on'](_0x2f2d87[_0x4597e8(0x196)],_0x2b4327=>{const _0x558cc3=_0x4597e8,_0xb3c5fa={'sOhoF':function(_0x437598,_0x585c88){return _0x437598!==_0x585c88;},'XDUYq':_0x1586c1['EspJP'],'fiseJ':_0x558cc3(0x14e)};if(_0x1586c1[_0x558cc3(0x176)](_0x2b4327,0x0)){_0x2476de({'status':'not_installed'});return;}const _0x3034ee=_0x537d3c['trim']();let _0x27f9e4=null;if(_0x3034ee)try{_0x27f9e4=JSON['parse'](_0x3034ee);}catch{const _0x41033f=_0x3034ee['match'](/\{[\s\S]*\}$/);if(_0x41033f)try{_0x27f9e4=JSON[_0x558cc3(0x158)](_0x41033f[0x0]);}catch{_0x27f9e4=null;}}const _0x5a86ba=Array[_0x558cc3(0x194)](_0x27f9e4?.['plugin'])?_0x27f9e4?.['plugin']:[],_0xa780f0=_0x5a86ba['some'](_0x1278df=>{const _0x17b175=_0x558cc3;if(_0xb3c5fa[_0x17b175(0x178)](typeof _0x1278df,_0xb3c5fa['XDUYq']))return![];return _0x1278df[_0x17b175(0x14d)](_0x17b175(0x175))||_0x1278df[_0x17b175(0x14d)](_0xb3c5fa[_0x17b175(0x177)]);});if(_0xa780f0){_0x2476de({'status':_0x1586c1['IgrSn'],'details':_0x1586c1[_0x558cc3(0x19a)](_0x5a86ba[_0x558cc3(0x151)],0x0)?_0x5a86ba['length']+_0x558cc3(0x1a0):undefined});return;}if(_0x1586c1[_0x558cc3(0x19a)](_0x5a86ba[_0x558cc3(0x151)],0x0)){_0x2476de({'status':_0x1586c1['huRsI'],'details':_0x5a86ba['length']+'\x20plugin(s)\x20configured'});return;}_0x1586c1[_0x558cc3(0x17f)](_0x2476de,{'status':_0x558cc3(0x165)});});});}async function getSkillsFromDir(_0x2e0596,_0x2cd522){const _0x376ef4=_0x33d84d,_0x348eac={'ZLRZc':function(_0x197b86,_0x506e51,_0x3e2fcd){return _0x197b86(_0x506e51,_0x3e2fcd);},'RWjtc':function(_0x185a9f,_0x23f496){return _0x185a9f(_0x23f496);},'JXVgI':'utf-8'};if(!existsSync(_0x2e0596))return[];const _0x53ab6f=[];try{const _0x3b80f1=await _0x348eac['ZLRZc'](readdir,_0x2e0596,{'withFileTypes':!![]});for(const _0x4cddc7 of _0x3b80f1){if(_0x4cddc7[_0x376ef4(0x16f)]()){const _0x3623ac=join(_0x2e0596,_0x4cddc7[_0x376ef4(0x15a)],_0x376ef4(0x197));if(_0x348eac[_0x376ef4(0x15f)](existsSync,_0x3623ac)){let _0x191be0=_0x4cddc7[_0x376ef4(0x15a)];try{const _0x3a77b2=await _0x348eac['ZLRZc'](readFile,_0x3623ac,_0x348eac[_0x376ef4(0x19d)]),_0x138b4f=_0x3a77b2['match'](/name:\s*(.+)/);_0x138b4f&&(_0x191be0=_0x138b4f[0x1]['trim']());}catch{}_0x53ab6f[_0x376ef4(0x180)]({'name':_0x4cddc7[_0x376ef4(0x15a)],'displayName':_0x191be0,'path':_0x3623ac,'level':_0x2cd522});}}}}catch{return[];}return _0x53ab6f;}async function getInstalledSkills(){const _0x41fcc8=_0x33d84d,_0x18df35={'jqswH':function(_0x105004,_0x46dd3e,_0x22b891){return _0x105004(_0x46dd3e,_0x22b891);},'ugRYw':function(_0x305b42){return _0x305b42();},'gXoCx':'project'},[_0x311f86,_0x52d2ad]=await Promise[_0x41fcc8(0x14c)]([_0x18df35['jqswH'](getSkillsFromDir,_0x18df35['ugRYw'](getProjectSkillsDir),_0x18df35['gXoCx']),getSkillsFromDir(getUserSkillsDir(),'user')]);return{'project':_0x311f86,'user':_0x52d2ad};}async function getEnvironments(){const _0x4d8631={'Xeutq':function(_0x4770db,_0xff847,_0x335e07){return _0x4770db(_0xff847,_0x335e07);},'acwUB':function(_0x3df48b,_0x15bd2b){return _0x3df48b(_0x15bd2b);},'GgxKj':function(_0x4469d5,_0x1732ed){return _0x4469d5(_0x1732ed);},'EVKVX':function(_0x309d8c,_0x31439d){return _0x309d8c===_0x31439d;},'sXgYM':function(_0x5b2612){return _0x5b2612();}},{envNames:_0x4f1f2b,activeEnv:_0x2428d8}=await _0x4d8631['sXgYM'](getEnvNames),_0x26baf4=_0x4d8631['sXgYM'](getRangerDir);if(!existsSync(_0x26baf4))return{'envs':[],'activeEnv':null};const _0x33d747=_0x4f1f2b['map'](_0x4dcc0c=>{const _0x1706c7=_0x3d95,_0x322560=getEnvDir(_0x4dcc0c),_0x5767e2=_0x4d8631['Xeutq'](join,_0x322560,_0x1706c7(0x13d)),_0x49686d=join(_0x322560,'auth.json'),_0x10e69e=join(_0x322560,_0x1706c7(0x170));return{'name':_0x4dcc0c,'settingsPath':_0x4d8631[_0x1706c7(0x19f)](existsSync,_0x5767e2)?_0x5767e2:'(not\x20found)','hasPlaintextAuth':_0x4d8631[_0x1706c7(0x150)](existsSync,_0x49686d),'hasEncryptedAuth':existsSync(_0x10e69e),'isActive':_0x4d8631['EVKVX'](_0x4dcc0c,_0x2428d8)};});return{'envs':_0x33d747,'activeEnv':_0x2428d8};}export async function status(){const _0x3668f8=_0x33d84d,_0x30c4db={'KDTjX':function(_0x2376d4){return _0x2376d4();},'JlNnQ':function(_0x54a17d,_0x58e50b){return _0x54a17d(_0x58e50b);},'Kbnod':function(_0x32b421,_0x1861e6){return _0x32b421(_0x1861e6);},'vrIdy':'\x0a---\x20OpenCode\x20Plugin\x20---','SjdVF':function(_0x5900c7){return _0x5900c7();},'wYzaU':function(_0x2521fd,_0x60bf03){return _0x2521fd===_0x60bf03;},'HHftL':'not_configured','WCgrG':'\x20\x20Not\x20configured','bwpOC':_0x3668f8(0x16a),'ksbLi':'\x20\x20OpenCode\x20not\x20installed\x20or\x20not\x20available','QWHAU':'\x0a---\x20Claude\x20Code\x20Plugin\x20---','jQlqe':function(_0x3b8cf0,_0x199037){return _0x3b8cf0(_0x199037);},'pjyPt':'enabled','vqBEs':'disabled','Fdgqe':'ranger@trailhead','FRrrE':'\x20\x20Not\x20installed','YiUXt':'\x20\x20Run:\x20ranger\x20setup\x20[token]\x20\x20(includes\x20plugin\x20installation)','Cnvja':_0x3668f8(0x14a),'eBuTo':function(_0x2c82e1,_0x2c0406){return _0x2c82e1+_0x2c0406;},'ygHub':function(_0x1e46d0,_0x372c17){return _0x1e46d0>_0x372c17;},'EaQDk':function(_0xe14f37,_0x562845,_0x1b7fe3){return _0xe14f37(_0x562845,_0x1b7fe3);},'KPsfC':function(_0x1a55ac,_0x57d45e){return _0x1a55ac>_0x57d45e;},'GrDzT':'\x20\x20User-level:','IFrst':_0x3668f8(0x162),'WiJxQ':function(_0x1c0688){return _0x1c0688();},'LwEyo':'No\x20profiles\x20configured','rSJvv':_0x3668f8(0x19c),'yiXuf':_0x3668f8(0x187),'PzaKD':function(_0x459ca4,_0x34d2d0){return _0x459ca4!==_0x34d2d0;},'Swaqy':'(not\x20found)'};console[_0x3668f8(0x190)]('\x0a📊\x20Ranger\x20Status\x0a');const _0x2b8177=process['cwd'](),_0x3804c1=_0x30c4db[_0x3668f8(0x13b)](getRangerDir);if(!_0x30c4db[_0x3668f8(0x198)](existsSync,_0x3804c1)){console['log'](_0x3668f8(0x15b)+link(_0x2b8177,bold(_0x30c4db[_0x3668f8(0x154)](basename,_0x2b8177)))),console['log']('\x0aRanger\x20has\x20not\x20been\x20initialized\x20in\x20this\x20directory.'),console['log'](_0x3668f8(0x173));return;}console['log'](_0x3668f8(0x15b)+link(_0x2b8177,bold(_0x30c4db[_0x3668f8(0x198)](basename,_0x2b8177))));const _0x587b36=getCurrentVersion(),_0x1bcee7=getLatestVersion();if(_0x1bcee7[_0x3668f8(0x185)]&&_0x1bcee7[_0x3668f8(0x185)]!==_0x587b36)console['log']('Version:\x20'+_0x587b36+'\x20(latest:\x20'+_0x1bcee7[_0x3668f8(0x185)]+')'),console[_0x3668f8(0x190)]('\x20\x20Run:\x20ranger\x20update');else _0x1bcee7[_0x3668f8(0x185)]?console[_0x3668f8(0x190)]('Version:\x20'+_0x587b36+_0x3668f8(0x14f)):console[_0x3668f8(0x190)](_0x3668f8(0x17e)+_0x587b36);const _0x75d18e=await _0x30c4db[_0x3668f8(0x13b)](getToken);if(_0x75d18e){const _0x186495=await getCurrentUser(_0x75d18e);_0x186495[_0x3668f8(0x15e)]?console[_0x3668f8(0x190)](_0x3668f8(0x17d)+bold(_0x186495['user'][_0x3668f8(0x193)])):(console['log']('API\x20Token:\x20✓\x20Found\x20but\x20invalid\x20or\x20expired'),console['log'](_0x3668f8(0x18f)));}else console[_0x3668f8(0x190)]('API\x20Token:\x20✗\x20Not\x20found'),console[_0x3668f8(0x190)](_0x3668f8(0x18f));process['env'][_0x3668f8(0x152)]&&(console['log'](_0x3668f8(0x18a)+_0x30c4db[_0x3668f8(0x13b)](getCurrentEnvironment)),console['log']('API\x20URL:\x20'+_0x30c4db['KDTjX'](getApiBaseUrl)));console['log'](_0x30c4db[_0x3668f8(0x168)]);const _0x2b49b9=await _0x30c4db[_0x3668f8(0x18d)](getOpencodePluginStatus);if(_0x30c4db['wYzaU'](_0x2b49b9[_0x3668f8(0x156)],_0x3668f8(0x19e)))console['log']('\x20\x20'+_0x30c4db[_0x3668f8(0x154)](bold,_0x3668f8(0x175))+_0x3668f8(0x191)),_0x2b49b9['details']&&console[_0x3668f8(0x190)]('\x20\x20'+_0x2b49b9[_0x3668f8(0x166)]);else _0x2b49b9['status']===_0x30c4db[_0x3668f8(0x163)]?(console['log'](_0x30c4db[_0x3668f8(0x174)]),_0x2b49b9['details']&&console['log']('\x20\x20'+_0x2b49b9[_0x3668f8(0x166)]),console[_0x3668f8(0x190)](_0x30c4db[_0x3668f8(0x13a)])):console['log'](_0x30c4db['ksbLi']);console[_0x3668f8(0x190)](_0x30c4db['QWHAU']);const _0x4ff5b5=await _0x30c4db[_0x3668f8(0x15c)](getPluginInfo,_0x3668f8(0x164));if(_0x4ff5b5){const _0x52391b=_0x4ff5b5[_0x3668f8(0x16e)]||'unknown',_0x3445fc=_0x4ff5b5['enabled']?_0x30c4db['pjyPt']:_0x30c4db[_0x3668f8(0x17a)];console[_0x3668f8(0x190)]('\x20\x20'+_0x30c4db['jQlqe'](bold,_0x30c4db[_0x3668f8(0x179)])+':\x20installed\x20('+_0x52391b+',\x20'+_0x3445fc+')');}else console['log'](_0x30c4db[_0x3668f8(0x17b)]),console[_0x3668f8(0x190)](_0x30c4db[_0x3668f8(0x182)]);console[_0x3668f8(0x190)](_0x30c4db['Cnvja']);const {project:_0x35631b,user:_0x46f1a5}=await _0x30c4db['KDTjX'](getInstalledSkills),_0x2ec6f3=_0x35631b[_0x3668f8(0x161)](_0x8c7843=>RANGER_MANAGED_SKILLS[_0x3668f8(0x14d)](_0x8c7843['name'])),_0x200911=_0x46f1a5['filter'](_0xb62d6e=>RANGER_MANAGED_SKILLS['includes'](_0xb62d6e[_0x3668f8(0x15a)])),_0x33b7e9=_0x30c4db['eBuTo'](_0x2ec6f3['length'],_0x200911['length']);if(_0x33b7e9===0x0)console[_0x3668f8(0x190)]('No\x20skills\x20installed'),console[_0x3668f8(0x190)]('\x20\x20Run:\x20ranger\x20skillup');else{if(_0x30c4db[_0x3668f8(0x18b)](_0x2ec6f3['length'],0x0)){console['log'](_0x3668f8(0x159));for(const _0x4ff0b8 of _0x2ec6f3){console[_0x3668f8(0x190)]('\x20\x20\x20\x20'+bold(_0x4ff0b8[_0x3668f8(0x1a1)])+':\x20'+_0x30c4db['EaQDk'](link,_0x4ff0b8['path'],basename(_0x4ff0b8['path'])));}}if(_0x30c4db['KPsfC'](_0x200911[_0x3668f8(0x151)],0x0)){console['log'](_0x30c4db[_0x3668f8(0x13e)]);for(const _0x25e6cc of _0x200911){console['log'](_0x3668f8(0x146)+bold(_0x25e6cc[_0x3668f8(0x1a1)])+':\x20'+link(_0x25e6cc['path'],basename(_0x25e6cc['path'])));}}}console[_0x3668f8(0x190)](_0x30c4db[_0x3668f8(0x19b)]);const {envs:_0x3d1e6d,activeEnv:_0x478e23}=await _0x30c4db['WiJxQ'](getEnvironments);if(_0x3d1e6d[_0x3668f8(0x151)]===0x0)console[_0x3668f8(0x190)](_0x30c4db[_0x3668f8(0x186)]),console[_0x3668f8(0x190)]('\x20\x20Run:\x20ranger\x20profile\x20add\x20<profile-name>');else{for(const _0x34a35b of _0x3d1e6d){const _0x1e5368=_0x34a35b['isActive']?_0x3668f8(0x143):'',_0x49f808=_0x34a35b[_0x3668f8(0x141)]?_0x30c4db[_0x3668f8(0x160)]:_0x34a35b['hasPlaintextAuth']?'plaintext':_0x30c4db[_0x3668f8(0x17c)];console[_0x3668f8(0x190)]('\x20\x20'+_0x30c4db[_0x3668f8(0x15c)](bold,_0x34a35b[_0x3668f8(0x15a)])+_0x1e5368),console[_0x3668f8(0x190)]('\x20\x20\x20\x20Auth:\x20'+_0x49f808),_0x30c4db['PzaKD'](_0x34a35b['settingsPath'],_0x30c4db[_0x3668f8(0x155)])&&console['log']('\x20\x20\x20\x20Settings:\x20'+_0x30c4db['EaQDk'](link,_0x34a35b[_0x3668f8(0x192)],basename(_0x34a35b['settingsPath'])));}!_0x478e23&&(console['log'](_0x3668f8(0x183)),console[_0x3668f8(0x190)](_0x3668f8(0x16d)+_0x3d1e6d['map'](_0x4f63b2=>_0x4f63b2[_0x3668f8(0x15a)])['join'](',\x20')+')'));}console[_0x3668f8(0x190)]('');}
|
|
1
|
+
const _0x54e6da=_0x5617;(function(_0x48dd79,_0x36d183){const _0x2f33d9=_0x5617,_0x136228=_0x48dd79();while(!![]){try{const _0xcbb314=-parseInt(_0x2f33d9(0x151))/0x1+parseInt(_0x2f33d9(0x108))/0x2+parseInt(_0x2f33d9(0x124))/0x3+-parseInt(_0x2f33d9(0x117))/0x4+parseInt(_0x2f33d9(0xe9))/0x5*(parseInt(_0x2f33d9(0x12e))/0x6)+parseInt(_0x2f33d9(0xf2))/0x7+-parseInt(_0x2f33d9(0x13b))/0x8;if(_0xcbb314===_0x36d183)break;else _0x136228['push'](_0x136228['shift']());}catch(_0x43392f){_0x136228['push'](_0x136228['shift']());}}}(_0x3125,0x5f6d5));import{readFile,readdir}from'fs/promises';import{join,basename}from'path';import{existsSync}from'fs';function _0x3125(){const _0xe8d136=['isArray','RGtwW','nfuIv','No\x20skills\x20installed','PIxUQ','parse','debug','string','data','Root:\x20','AyLwy','Organization:\x20','eefhw','rTAJD','BPEzk','project','928894gLNgYk','RVtEn','includes','BwMUl','\x20(active)','API\x20Token:\x20✗\x20Not\x20found','UJygZ','SKILL.md','caGkf','qhyVa','jnCgK','toString','close','\x20\x20\x20\x20Auth:\x20','vnAjg','1275392lAjmhj','displayName','config','configured','user','\x0a---\x20Skills\x20---','vLpeL','DDimY','unknown','name','hFxRv','auth.json','disabled','2142567OEBFPZ','success','\x0a\x20\x20No\x20active\x20profile\x20set','VHguf','trim','\x1b[0m','\x20\x20Not\x20configured','status','map',':\x20installed\x20(','2494938fURJzB','match','IKuzq','\x20\x20Run:\x20ranger\x20update','not_installed','\x20\x20Project-level:','enabled','aZWfQ','encrypted','MMhYt','(not\x20found)','nuRyp','\x1b]8;;\x07','10181000cDLCWS','hasEncryptedAuth','GBhMf','\x20\x20Run:\x20ranger\x20setup\x20--opencode','\x20\x20\x20\x20Settings:\x20','\x20\x20OpenCode\x20not\x20installed\x20or\x20not\x20available','aVbhn','VsVdQ','hasPlaintextAuth','\x20\x20Run:\x20ranger\x20setup\x20[token]','length','rMQyB','not_configured','\x0a---\x20OpenCode\x20Plugin\x20---','API\x20Token:\x20✓\x20Found\x20but\x20invalid\x20or\x20expired','VBSTq','swcBu','version','\x20plugin(s)\x20configured','path','details','log','122dhuWPq','settingsPath','jVHpQ','opencode','\x1b]8;;file://','BxnOd','5upSZJt','ZuKaO','utf-8','RZAyY','filter','lTHok','\x20\x20Run:\x20ranger\x20setup\x20[token]\x20\x20(includes\x20plugin\x20installation)','\x1b[1m','API\x20URL:\x20','2716035AuglMF','ranger@trailhead','@ranger-testing/opencode-plugin','mlyXd','VefYm','plugin'];_0x3125=function(){return _0xe8d136;};return _0x3125();}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{getPluginInfo}from'./utils/claudePlugin.js';import{RANGER_MANAGED_SKILLS}from'./utils/skills.js';function _0x5617(_0x1c08bd,_0x89240c){_0x1c08bd=_0x1c08bd-0xe7;const _0x312580=_0x3125();let _0x561705=_0x312580[_0x1c08bd];return _0x561705;}import{spawn}from'child_process';const bold=_0x3e9683=>_0x54e6da(0xf0)+_0x3e9683+_0x54e6da(0x129),link=(_0x104932,_0x20d18e)=>_0x54e6da(0xe7)+_0x104932+'\x07'+(_0x20d18e||_0x104932)+_0x54e6da(0x13a);async function getOpencodePluginStatus(){const _0x4b7346=_0x54e6da,_0x4d4001={'iTGNz':function(_0x1b06ec,_0x12b563){return _0x1b06ec(_0x12b563);},'eODSS':_0x4b7346(0xff),'wHUFs':'opencode-plugin','SUgLu':function(_0x166086,_0x4967a0){return _0x166086>_0x4967a0;},'VBSTq':'not_configured','GBhMf':function(_0x5e966e,_0xc7905e){return _0x5e966e(_0xc7905e);},'vLpeL':_0x4b7346(0x154),'RVtEn':_0x4b7346(0xfe),'OHmdY':'pipe','lTHok':_0x4b7346(0x100),'QATbY':'error'};return new Promise(_0x15b178=>{const _0x310299=_0x4b7346,_0x513fc6={'aVbhn':function(_0x465172,_0x45a59){return _0x4d4001['iTGNz'](_0x465172,_0x45a59);},'ZuKaO':'not_installed','IIriA':_0x4d4001['eODSS'],'RWWxq':_0x4d4001['wHUFs'],'AJDhU':_0x310299(0x11a),'XJGKe':function(_0x127e21,_0x3c9590){return _0x4d4001['SUgLu'](_0x127e21,_0x3c9590);},'FFnSh':_0x4d4001[_0x310299(0x14a)],'nfuIv':function(_0x28b67f,_0x1f350){const _0x25f1a4=_0x310299;return _0x4d4001[_0x25f1a4(0x13d)](_0x28b67f,_0x1f350);}},_0x529a0c=spawn(_0x4d4001[_0x310299(0x11d)],[_0x4d4001[_0x310299(0x109)],_0x310299(0x119)],{'stdio':['ignore',_0x4d4001['OHmdY'],'pipe']});let _0xc2739c='';_0x529a0c['stdout']?.['on'](_0x4d4001['lTHok'],_0x2b27d5=>{_0xc2739c+=_0x2b27d5['toString']();}),_0x529a0c['stderr']?.['on'](_0x4d4001[_0x310299(0xee)],_0x502b63=>{const _0x349098=_0x310299;_0xc2739c+=_0x502b63[_0x349098(0x113)]();}),_0x529a0c['on'](_0x4d4001['QATbY'],()=>{const _0x39761d=_0x310299;_0x513fc6[_0x39761d(0x141)](_0x15b178,{'status':_0x513fc6[_0x39761d(0xea)]});}),_0x529a0c['on'](_0x310299(0x114),_0x322d23=>{const _0x4a4792=_0x310299,_0x5cbdfc={'jnCgK':_0x513fc6['IIriA'],'DDimY':_0x513fc6['RWWxq']};if(_0x322d23!==0x0){_0x513fc6[_0x4a4792(0x141)](_0x15b178,{'status':_0x4a4792(0x132)});return;}const _0x1f0771=_0xc2739c[_0x4a4792(0x128)]();let _0x507082=null;if(_0x1f0771)try{_0x507082=JSON[_0x4a4792(0xfd)](_0x1f0771);}catch{const _0x99cb1=_0x1f0771[_0x4a4792(0x12f)](/\{[\s\S]*\}$/);if(_0x99cb1)try{_0x507082=JSON[_0x4a4792(0xfd)](_0x99cb1[0x0]);}catch{_0x507082=null;}}const _0x335df5=Array[_0x4a4792(0xf8)](_0x507082?.[_0x4a4792(0xf7)])?_0x507082?.['plugin']:[],_0x3081d2=_0x335df5['some'](_0x2c8f10=>{const _0x27c57f=_0x4a4792;if(typeof _0x2c8f10!==_0x5cbdfc[_0x27c57f(0x112)])return![];return _0x2c8f10[_0x27c57f(0x10a)](_0x27c57f(0xf4))||_0x2c8f10[_0x27c57f(0x10a)](_0x5cbdfc[_0x27c57f(0x11e)]);});if(_0x3081d2){_0x15b178({'status':_0x513fc6['AJDhU'],'details':_0x335df5['length']>0x0?_0x335df5[_0x4a4792(0x145)]+_0x4a4792(0x14d):undefined});return;}if(_0x513fc6['XJGKe'](_0x335df5['length'],0x0)){_0x15b178({'status':_0x513fc6['FFnSh'],'details':_0x335df5[_0x4a4792(0x145)]+'\x20plugin(s)\x20configured'});return;}_0x513fc6[_0x4a4792(0xfa)](_0x15b178,{'status':_0x513fc6['FFnSh']});});});}async function getSkillsFromDir(_0x50466e,_0x119ddf){const _0x5aad21=_0x54e6da,_0x214450={'UJygZ':function(_0x3bb8a9,_0x510208){return _0x3bb8a9(_0x510208);},'hFxRv':function(_0x3d1205,_0x305850,_0x4bbc08){return _0x3d1205(_0x305850,_0x4bbc08);},'vnAjg':function(_0x38eca3,_0x348b57,_0x194f5c,_0x592816){return _0x38eca3(_0x348b57,_0x194f5c,_0x592816);},'BPEzk':function(_0x4c4cd9,_0x287d43,_0x4cc5ea){return _0x4c4cd9(_0x287d43,_0x4cc5ea);},'IKuzq':_0x5aad21(0xeb)};if(!_0x214450[_0x5aad21(0x10e)](existsSync,_0x50466e))return[];const _0x5a4e9e=[];try{const _0x103c50=await _0x214450[_0x5aad21(0x121)](readdir,_0x50466e,{'withFileTypes':!![]});for(const _0x26fd19 of _0x103c50){if(_0x26fd19['isDirectory']()){const _0x1d6cb4=_0x214450[_0x5aad21(0x116)](join,_0x50466e,_0x26fd19[_0x5aad21(0x120)],_0x5aad21(0x10f));if(_0x214450['UJygZ'](existsSync,_0x1d6cb4)){let _0x320766=_0x26fd19['name'];try{const _0x3b3baa=await _0x214450[_0x5aad21(0x106)](readFile,_0x1d6cb4,_0x214450[_0x5aad21(0x130)]),_0x324014=_0x3b3baa[_0x5aad21(0x12f)](/name:\s*(.+)/);_0x324014&&(_0x320766=_0x324014[0x1][_0x5aad21(0x128)]());}catch{}_0x5a4e9e['push']({'name':_0x26fd19[_0x5aad21(0x120)],'displayName':_0x320766,'path':_0x1d6cb4,'level':_0x119ddf});}}}}catch{return[];}return _0x5a4e9e;}async function getInstalledSkills(){const _0x55b2f3=_0x54e6da,_0x13d3d2={'nuRyp':function(_0x1349a6,_0x4aee4d,_0x397aa8){return _0x1349a6(_0x4aee4d,_0x397aa8);},'rTAJD':function(_0x23d9a8){return _0x23d9a8();},'YbAks':_0x55b2f3(0x107),'tlczR':_0x55b2f3(0x11b)},[_0x418627,_0x2711a0]=await Promise['all']([_0x13d3d2[_0x55b2f3(0x139)](getSkillsFromDir,_0x13d3d2[_0x55b2f3(0x105)](getProjectSkillsDir),_0x13d3d2['YbAks']),getSkillsFromDir(getUserSkillsDir(),_0x13d3d2['tlczR'])]);return{'project':_0x418627,'user':_0x2711a0};}async function getEnvironments(){const _0x45b5e4=_0x54e6da,_0x8af609={'PIxUQ':function(_0x213008,_0x50e45b){return _0x213008(_0x50e45b);},'AAVYA':function(_0x4971a9,_0x21c714,_0x59627c){return _0x4971a9(_0x21c714,_0x59627c);},'Smzdp':'settings.json','mivYE':_0x45b5e4(0x122),'rsOJK':_0x45b5e4(0x138),'aZWfQ':function(_0xd0210b,_0x1d97b8){return _0xd0210b===_0x1d97b8;},'VefYm':function(_0x521bcc){return _0x521bcc();}},{envNames:_0x3568e0,activeEnv:_0x1b0e56}=await _0x8af609[_0x45b5e4(0xf6)](getEnvNames),_0xcbeaca=_0x8af609[_0x45b5e4(0xf6)](getRangerDir);if(!existsSync(_0xcbeaca))return{'envs':[],'activeEnv':null};const _0x39900d=_0x3568e0[_0x45b5e4(0x12c)](_0x2f4663=>{const _0x307bb6=_0x45b5e4,_0x36866e=_0x8af609[_0x307bb6(0xfc)](getEnvDir,_0x2f4663),_0x16b811=_0x8af609['AAVYA'](join,_0x36866e,_0x8af609['Smzdp']),_0x3a7c54=join(_0x36866e,_0x8af609['mivYE']),_0xa11d2b=join(_0x36866e,'auth.json.enc');return{'name':_0x2f4663,'settingsPath':_0x8af609[_0x307bb6(0xfc)](existsSync,_0x16b811)?_0x16b811:_0x8af609['rsOJK'],'hasPlaintextAuth':existsSync(_0x3a7c54),'hasEncryptedAuth':_0x8af609['PIxUQ'](existsSync,_0xa11d2b),'isActive':_0x8af609[_0x307bb6(0x135)](_0x2f4663,_0x1b0e56)};});return{'envs':_0x39900d,'activeEnv':_0x1b0e56};}export async function status(){const _0x2d3bf1=_0x54e6da,_0x5211d6={'swcBu':'\x0a📊\x20Ranger\x20Status\x0a','xrqVk':function(_0x520c0c,_0x43c5bc,_0x254bab){return _0x520c0c(_0x43c5bc,_0x254bab);},'BxnOd':function(_0x48fa86,_0x1e44ee){return _0x48fa86(_0x1e44ee);},'PBvUK':function(_0x4b4e35){return _0x4b4e35();},'LHmKy':function(_0x3d34da){return _0x3d34da();},'VsVdQ':function(_0x37c25f,_0x306d2f){return _0x37c25f(_0x306d2f);},'RRgPa':function(_0x2cc14e){return _0x2cc14e();},'dLqzs':function(_0x205c47,_0x8b0f){return _0x205c47===_0x8b0f;},'KljBP':function(_0x123ed7,_0x52c754){return _0x123ed7===_0x52c754;},'ucWia':_0x2d3bf1(0x12a),'mlyXd':_0x2d3bf1(0x13e),'XBUMA':_0x2d3bf1(0x140),'jVHpQ':function(_0x2b2149,_0x2d5a64){return _0x2b2149(_0x2d5a64);},'PGJmN':_0x2d3bf1(0xf3),'RkPgA':_0x2d3bf1(0x11c),'VHguf':function(_0x38dec8,_0x522a50){return _0x38dec8+_0x522a50;},'AyLwy':function(_0x7b7929,_0x2d6a27){return _0x7b7929===_0x2d6a27;},'qhyVa':function(_0x40a970,_0x63137a){return _0x40a970>_0x63137a;},'LugWx':_0x2d3bf1(0x133),'watLA':function(_0x1662dc,_0x3ce58d){return _0x1662dc>_0x3ce58d;},'BwMUl':'\x20\x20User-level:','HSgYS':function(_0x106b7d,_0x3b5051){return _0x106b7d(_0x3b5051);},'MMhYt':function(_0xd9c244,_0x517787,_0x5916ec){return _0xd9c244(_0x517787,_0x5916ec);},'bDCni':'\x0a---\x20Profiles\x20---','eefhw':function(_0x577da9,_0x2b6a53){return _0x577da9===_0x2b6a53;},'RZAyY':_0x2d3bf1(0x10c),'caGkf':'plaintext','uwZnD':'none','RGtwW':'(not\x20found)','rMQyB':function(_0x204988,_0x13e5e6){return _0x204988(_0x13e5e6);}};console[_0x2d3bf1(0x150)](_0x5211d6[_0x2d3bf1(0x14b)]);const _0x13b826=process['cwd'](),_0x11c653=getRangerDir();if(!existsSync(_0x11c653)){console[_0x2d3bf1(0x150)](_0x2d3bf1(0x101)+_0x5211d6['xrqVk'](link,_0x13b826,_0x5211d6['BxnOd'](bold,basename(_0x13b826)))),console[_0x2d3bf1(0x150)]('\x0aRanger\x20has\x20not\x20been\x20initialized\x20in\x20this\x20directory.'),console['log']('\x20\x20Run:\x20ranger\x20setup\x20[token]\x0a');return;}console['log'](_0x2d3bf1(0x101)+link(_0x13b826,_0x5211d6['BxnOd'](bold,_0x5211d6['BxnOd'](basename,_0x13b826))));const _0x4bfe2=_0x5211d6['PBvUK'](getCurrentVersion),_0x2d8874=getLatestVersion();if(_0x2d8874['version']&&_0x2d8874[_0x2d3bf1(0x14c)]!==_0x4bfe2)console[_0x2d3bf1(0x150)]('Version:\x20'+_0x4bfe2+'\x20(latest:\x20'+_0x2d8874['version']+')'),console['log'](_0x2d3bf1(0x131));else _0x2d8874['version']?console['log']('Version:\x20'+_0x4bfe2+'\x20(up\x20to\x20date)'):console[_0x2d3bf1(0x150)]('Version:\x20'+_0x4bfe2);const _0x5c4240=await _0x5211d6['LHmKy'](getToken);if(_0x5c4240){const _0x4b8ce6=await _0x5211d6[_0x2d3bf1(0x142)](getCurrentUser,_0x5c4240);_0x4b8ce6[_0x2d3bf1(0x125)]?console['log'](_0x2d3bf1(0x103)+bold(_0x4b8ce6[_0x2d3bf1(0x11b)]['organizationName'])):(console['log'](_0x2d3bf1(0x149)),console['log'](_0x2d3bf1(0x144)));}else console['log'](_0x2d3bf1(0x10d)),console[_0x2d3bf1(0x150)](_0x2d3bf1(0x144));process['env']['DEBUG']&&(console['log']('API\x20Environment:\x20'+getCurrentEnvironment()),console['log'](_0x2d3bf1(0xf1)+getApiBaseUrl()));console[_0x2d3bf1(0x150)](_0x2d3bf1(0x148));const _0x560730=await _0x5211d6['RRgPa'](getOpencodePluginStatus);if(_0x5211d6['dLqzs'](_0x560730[_0x2d3bf1(0x12b)],'configured'))console[_0x2d3bf1(0x150)]('\x20\x20'+bold('@ranger-testing/opencode-plugin')+':\x20configured'),_0x560730['details']&&console[_0x2d3bf1(0x150)]('\x20\x20'+_0x560730['details']);else _0x5211d6['KljBP'](_0x560730['status'],_0x2d3bf1(0x147))?(console[_0x2d3bf1(0x150)](_0x5211d6['ucWia']),_0x560730[_0x2d3bf1(0x14f)]&&console[_0x2d3bf1(0x150)]('\x20\x20'+_0x560730[_0x2d3bf1(0x14f)]),console[_0x2d3bf1(0x150)](_0x5211d6[_0x2d3bf1(0xf5)])):console['log'](_0x5211d6['XBUMA']);console[_0x2d3bf1(0x150)]('\x0a---\x20Claude\x20Code\x20Plugin\x20---');const _0x1af38e=await getPluginInfo('ranger@trailhead');if(_0x1af38e){const _0x35735e=_0x1af38e['scope']||_0x2d3bf1(0x11f),_0x187f6d=_0x1af38e[_0x2d3bf1(0x134)]?'enabled':_0x2d3bf1(0x123);console[_0x2d3bf1(0x150)]('\x20\x20'+_0x5211d6[_0x2d3bf1(0x153)](bold,_0x5211d6['PGJmN'])+_0x2d3bf1(0x12d)+_0x35735e+',\x20'+_0x187f6d+')');}else console[_0x2d3bf1(0x150)]('\x20\x20Not\x20installed'),console['log'](_0x2d3bf1(0xef));console[_0x2d3bf1(0x150)](_0x5211d6['RkPgA']);const {project:_0x3724c6,user:_0x55b7af}=await getInstalledSkills(),_0x12260c=_0x3724c6[_0x2d3bf1(0xed)](_0x33e413=>RANGER_MANAGED_SKILLS[_0x2d3bf1(0x10a)](_0x33e413[_0x2d3bf1(0x120)])),_0x9899b5=_0x55b7af[_0x2d3bf1(0xed)](_0x38c119=>RANGER_MANAGED_SKILLS[_0x2d3bf1(0x10a)](_0x38c119['name'])),_0x5f6a9e=_0x5211d6[_0x2d3bf1(0x127)](_0x12260c[_0x2d3bf1(0x145)],_0x9899b5[_0x2d3bf1(0x145)]);if(_0x5211d6[_0x2d3bf1(0x102)](_0x5f6a9e,0x0))console['log'](_0x2d3bf1(0xfb)),console['log']('\x20\x20Run:\x20ranger\x20skillup');else{if(_0x5211d6[_0x2d3bf1(0x111)](_0x12260c['length'],0x0)){console['log'](_0x5211d6['LugWx']);for(const _0x34f9cb of _0x12260c){console[_0x2d3bf1(0x150)]('\x20\x20\x20\x20'+_0x5211d6[_0x2d3bf1(0xe8)](bold,_0x34f9cb[_0x2d3bf1(0x118)])+':\x20'+_0x5211d6['xrqVk'](link,_0x34f9cb[_0x2d3bf1(0x14e)],basename(_0x34f9cb['path'])));}}if(_0x5211d6['watLA'](_0x9899b5[_0x2d3bf1(0x145)],0x0)){console[_0x2d3bf1(0x150)](_0x5211d6[_0x2d3bf1(0x10b)]);for(const _0x460494 of _0x9899b5){console['log']('\x20\x20\x20\x20'+_0x5211d6['HSgYS'](bold,_0x460494['displayName'])+':\x20'+_0x5211d6[_0x2d3bf1(0x137)](link,_0x460494['path'],basename(_0x460494['path'])));}}}console['log'](_0x5211d6['bDCni']);const {envs:_0x451385,activeEnv:_0x481076}=await getEnvironments();if(_0x5211d6[_0x2d3bf1(0x104)](_0x451385[_0x2d3bf1(0x145)],0x0))console['log']('No\x20profiles\x20configured'),console[_0x2d3bf1(0x150)]('\x20\x20Run:\x20ranger\x20profile\x20add\x20<profile-name>');else{for(const _0x52f14f of _0x451385){const _0x50146f=_0x52f14f['isActive']?_0x5211d6[_0x2d3bf1(0xec)]:'',_0x13b290=_0x52f14f[_0x2d3bf1(0x13c)]?_0x2d3bf1(0x136):_0x52f14f[_0x2d3bf1(0x143)]?_0x5211d6[_0x2d3bf1(0x110)]:_0x5211d6['uwZnD'];console[_0x2d3bf1(0x150)]('\x20\x20'+bold(_0x52f14f['name'])+_0x50146f),console[_0x2d3bf1(0x150)](_0x2d3bf1(0x115)+_0x13b290),_0x52f14f['settingsPath']!==_0x5211d6[_0x2d3bf1(0xf9)]&&console['log'](_0x2d3bf1(0x13f)+link(_0x52f14f['settingsPath'],_0x5211d6[_0x2d3bf1(0x146)](basename,_0x52f14f[_0x2d3bf1(0x152)])));}!_0x481076&&(console[_0x2d3bf1(0x150)](_0x2d3bf1(0x126)),console['log']('\x20\x20Run:\x20ranger\x20profile\x20use\x20<profile-name>\x20\x20(available:\x20'+_0x451385[_0x2d3bf1(0x12c)](_0x126b9b=>_0x126b9b[_0x2d3bf1(0x120)])['join'](',\x20')+')'));}console[_0x2d3bf1(0x150)]('');}
|