@ranger-testing/ranger-cli 2.5.4-alpha.0e8b82c-9 → 2.5.4-alpha.36a12ca-10
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/build/cli.js +1 -1
- package/build/commands/addEnv.js +1 -1
- package/build/commands/authEncrypt.js +1 -1
- package/build/commands/clean.js +1 -1
- package/build/commands/config.js +1 -1
- package/build/commands/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/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/package.json +1 -1
package/build/commands/login.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
(function(_0x527938,_0x5a70c2){const _0x1ae79f=_0x7fa9,_0xe1f8e=_0x527938();while(!![]){try{const _0x46ced0=parseInt(_0x1ae79f(0x15e))/0x1+parseInt(_0x1ae79f(0x15d))/0x2*(parseInt(_0x1ae79f(0x163))/0x3)+-parseInt(_0x1ae79f(0x15c))/0x4*(parseInt(_0x1ae79f(0x159))/0x5)+parseInt(_0x1ae79f(0x165))/0x6*(parseInt(_0x1ae79f(0x156))/0x7)+parseInt(_0x1ae79f(0x160))/0x8*(parseInt(_0x1ae79f(0x158))/0x9)+parseInt(_0x1ae79f(0x168))/0xa+-parseInt(_0x1ae79f(0x157))/0xb*(parseInt(_0x1ae79f(0x15f))/0xc);if(_0x46ced0===_0x5a70c2)break;else _0xe1f8e['push'](_0xe1f8e['shift']());}catch(_0x7974a6){_0xe1f8e['push'](_0xe1f8e['shift']());}}}(_0x5b0a,0xa0ce9));function _0x5b0a(){const _0x235ee4=['5403432CFLfyF','isTTY','stdin','96GfVPJq','success','6eEifxn','Re-authenticating\x20via\x20MCP\x20bootstrap...','BqMnZ','6327130ViZuIs','stdout','dltfX','4773979AshWXV','44lVqjQW','9MawCNc','25OTOLRL','log','Login\x20failed:\x20','687716pFkCbW','78286kklvAr','1125207esGqTc','8548836oIfiqZ'];_0x5b0a=function(){return _0x235ee4;};return _0x5b0a();}import{runDeviceAuthFlow}from'./utils/deviceAuth.js';import{getCurrentUser}from'./utils/userApi.js';function _0x7fa9(_0x2d6bf0,_0x3cfcf9){_0x2d6bf0=_0x2d6bf0-0x156;const _0x5b0aec=_0x5b0a();let _0x7fa93c=_0x5b0aec[_0x2d6bf0];return _0x7fa93c;}import{getMcpAuthOrigin,mcpBootstrap}from'./mcpBootstrap.js';export async function login(){const _0x3f75db=_0x7fa9,_0x19d6da={'BqMnZ':_0x3f75db(0x166),'wzDur':function(_0x247fc3){return _0x247fc3();},'dltfX':'Login\x20requires\x20an\x20interactive\x20terminal.\x20In\x20CI,\x20use:\x20ranger\x20setup\x20[token]\x20or\x20set\x20RANGER_CLI_TOKEN.','QeMVk':'\x0a✅\x20API\x20key\x20stored\x20successfully'},_0x24b963=await getMcpAuthOrigin();if(_0x24b963){console['log'](_0x19d6da[_0x3f75db(0x167)]),await _0x19d6da['wzDur'](mcpBootstrap);return;}const _0x246a5a=process[_0x3f75db(0x162)][_0x3f75db(0x161)]&&process[_0x3f75db(0x169)]['isTTY'];if(!_0x246a5a)throw new Error(_0x19d6da[_0x3f75db(0x16a)]);try{const _0xbcdb5=await runDeviceAuthFlow(),_0x3b1afb=await getCurrentUser(_0xbcdb5);_0x3b1afb[_0x3f75db(0x164)]?console[_0x3f75db(0x15a)]('\x0a✅\x20Logged\x20in\x20to\x20'+_0x3b1afb['user']['organizationName']):console[_0x3f75db(0x15a)](_0x19d6da['QeMVk']);}catch(_0x1adca0){throw new Error(_0x3f75db(0x15b)+(_0x1adca0 instanceof Error?_0x1adca0['message']:_0x1adca0));}}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
function _0x84d7(_0x4d3b1f,_0x36044c){_0x4d3b1f=_0x4d3b1f-0x1cf;const _0x7a23d5=_0x7a23();let _0x84d7e3=_0x7a23d5[_0x4d3b1f];return _0x84d7e3;}const _0x30785e=_0x84d7;function _0x7a23(){const _0x3a8f42=['Authorization\x20server\x20does\x20not\x20support\x20dynamic\x20client\x20registration\x20and\x20no\x20cached\x20client\x20found','ovZgQ','\x20done','OxaVY','CbBfA','.ranger','MapMx','HTTP\x20','XBFYk','Initializing\x20MCP\x20session...','OtCIc','aQMPl','initialize','refresh_token','Run\x20`ranger\x20setup\x20--mcp-bootstrap`\x20interactively\x20first.','client_secret','log','mhUdm','iAMND','child_process','toString','NfXwq','ranger-cli','LohGH','isError','\x0aUnexpected\x20response\x20structure:','NQATg','If\x20the\x20browser\x20doesn\x27t\x20open,\x20visit:\x0a','error_description','get_cli_token','text/event-stream','now','MCP\x20initialize\x20failed:\x20','ssLKR','tKerN','2.0','144392wtvKTE','expires_in','win32','2025-03-26','6751107lJDcFn','Not\x20found','error','VCbrs','writeHead','NEaap','eEZPy','dXXlI','Token\x20exchange\x20failed:\x20','auth-origin.txt','kIiUB','iTEAe','application/json','/callback','\x0aCached\x20OAuth\x20client\x20may\x20be\x20stale\x20—\x20clearing\x20and\x20retrying...\x0a','\x0aToken\x20written\x20to\x20','1660NuLRYH','stdout','swyPI','Discovering\x20authorization\x20server...','resource','authorization_endpoint','platform','dYJtR','redirect_uri','Authorization','type','refreshToken','get','code','QHNxI','NcbcX','KOTFi','evfUi','Could\x20not\x20fetch\x20auth\x20server\x20metadata\x20from\x20','text/html','XpGtg','then','status','1.0.0','trim','access_token','text','aAEeF','tkEma','update','url','IKGKX','BBIru','utf-8','proxied','wAiay','includes','jrpGC','nizey','9155tmlVPK','/.well-known/oauth-authorization-server','nNAoe','stringify','start','authorization_code','GIFId','pAOWh','1439310CLiEVs','write','faEqM','replace','base64url','http://localhost:','Nxamk','origin','pathname','vwbWa','client_id','response_type','authorization_servers','listen','ZqUtA','fxZoi','application/x-www-form-urlencoded','POST','token','clientId','message','clientSecret','</p><p>You\x20can\x20close\x20this\x20window.</p></body></html>','aNHbp','token_endpoint','searchParams','data:','469lsIchr','25980410LnEZMv','state','TVRTf','accessToken','Ranger\x20CLI','754452ByJMnh','json','lHKBO','expiresAt','62BFEhpD','Irlsl','lBwqw','length','close','application/json,\x20text/event-stream','dZlps','oxUQL','HmhLx','slice','registration_endpoint','GzwGj','Client\x20registration\x20failed:\x20','20521VHtgJQ','set'];_0x7a23=function(){return _0x3a8f42;};return _0x7a23();}(function(_0x2dc62d,_0x540877){const _0x1df598=_0x84d7,_0x32223f=_0x2dc62d();while(!![]){try{const _0x33a55d=-parseInt(_0x1df598(0x1e1))/0x1*(-parseInt(_0x1df598(0x1d4))/0x2)+parseInt(_0x1df598(0x1d0))/0x3+-parseInt(_0x1df598(0x21b))/0x4*(-parseInt(_0x1df598(0x242))/0x5)+-parseInt(_0x1df598(0x24a))/0x6+-parseInt(_0x1df598(0x265))/0x7*(-parseInt(_0x1df598(0x207))/0x8)+parseInt(_0x1df598(0x20b))/0x9+-parseInt(_0x1df598(0x266))/0xa;if(_0x33a55d===_0x540877)break;else _0x32223f['push'](_0x32223f['shift']());}catch(_0x1efc75){_0x32223f['push'](_0x32223f['shift']());}}}(_0x7a23,0xbbbd4));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','mcp-oauth-tokens.json'),AUTH_ORIGIN_PATH=join(homedir(),'.ranger',_0x30785e(0x214));export async function getMcpAuthOrigin(){const _0x1b68a9=_0x30785e,_0x38cdbd={'YJUQu':function(_0x17b9cf,_0x21c812,_0x54d592){return _0x17b9cf(_0x21c812,_0x54d592);}};try{const _0x20ac34=(await _0x38cdbd['YJUQu'](readFile,AUTH_ORIGIN_PATH,_0x1b68a9(0x23c)))['trim']();return _0x20ac34||null;}catch{return null;}}export async function mcpBootstrap(){const _0x5a3e14=_0x30785e,_0x2db4fb={'XXtMZ':function(_0xd7f66c){return _0xd7f66c();},'aQMPl':function(_0x574b36,_0x436020){return _0x574b36===_0x436020;}},_0x3fd8b8=_0x2db4fb['XXtMZ'](getMcpAuthUrl);currentOrigin=_0x3fd8b8;const _0x222b24=process[_0x5a3e14(0x21c)]['isTTY']??![];console[_0x5a3e14(0x1f3)]('\x0aConnecting\x20to\x20MCP\x20auth\x20server:\x20'+_0x3fd8b8+'\x0a');const _0x51202c=await tryUnauthenticated(_0x3fd8b8);let _0x497106=null;if(_0x2db4fb[_0x5a3e14(0x1ee)](_0x51202c,_0x5a3e14(0x23d)))_0x497106='';else{_0x497106=await _0x2db4fb['XXtMZ'](loadCachedToken);if(!_0x497106){if(!_0x222b24)throw new Error('MCP\x20server\x20requires\x20authentication\x20but\x20running\x20in\x20non-interactive\x20mode.\x0a'+_0x5a3e14(0x1f1));_0x497106=await oauthFlow(_0x3fd8b8);}}await callGetCliToken(_0x3fd8b8,_0x497106);}async function tryUnauthenticated(_0x3aa063){const _0x29a213=_0x30785e,_0x113aca={'EdBFQ':'POST','sBLnL':'application/json','QHNxI':_0x29a213(0x1d9),'OxaVY':_0x29a213(0x20a),'OtCIc':_0x29a213(0x1f9),'vwbWa':'proxied','SniDd':function(_0x139e25,_0x278abb){return _0x139e25===_0x278abb;},'wxRYQ':'needs-oauth'},_0x2a19de=await fetch(_0x3aa063,{'method':_0x113aca['EdBFQ'],'headers':{'Content-Type':_0x113aca['sBLnL'],'Accept':_0x113aca[_0x29a213(0x229)]},'body':JSON['stringify']({'jsonrpc':'2.0','id':0x1,'method':'initialize','params':{'protocolVersion':_0x113aca[_0x29a213(0x1e6)],'capabilities':{},'clientInfo':{'name':_0x113aca[_0x29a213(0x1ed)],'version':_0x29a213(0x232)}}})});if(_0x2a19de['ok'])return await _0x2a19de[_0x29a213(0x235)](),_0x113aca[_0x29a213(0x253)];if(_0x113aca['SniDd'](_0x2a19de['status'],0x191))return await _0x2a19de[_0x29a213(0x235)](),_0x113aca['wxRYQ'];const _0xa8a275=await _0x2a19de['text']();throw new Error('MCP\x20server\x20returned\x20HTTP\x20'+_0x2a19de[_0x29a213(0x231)]+':\x20'+_0xa8a275);}class OAuthTimeoutError extends Error{constructor(_0x429cde){super(_0x429cde),this['name']='OAuthTimeoutError';}}async function oauthFlow(_0x33c5bb){const _0x204abe=_0x30785e,_0x16211f={'JcKbr':function(_0x99fd2c,_0xae2ac4){return _0x99fd2c(_0xae2ac4);},'KOTFi':function(_0x2e9d9c){return _0x2e9d9c();},'lHKBO':function(_0x3fb054,_0x28fafe){return _0x3fb054(_0x28fafe);}};try{return await _0x16211f['JcKbr'](oauthFlowAttempt,_0x33c5bb);}catch(_0x4770f9){if(_0x4770f9 instanceof OAuthTimeoutError&&await _0x16211f[_0x204abe(0x22b)](loadCachedClient))return console['log'](_0x204abe(0x219)),await clearCachedClient(),await _0x16211f[_0x204abe(0x1d2)](oauthFlowAttempt,_0x33c5bb);throw _0x4770f9;}}async function oauthFlowAttempt(_0x33772e){const _0x12d0cc=_0x30785e,_0x38ee59={'mhUdm':_0x12d0cc(0x21e),'aAEeF':'Could\x20not\x20fetch\x20protected\x20resource\x20metadata\x20from\x20MCP\x20server','UZzAa':'No\x20authorization_servers\x20in\x20protected\x20resource\x20metadata','FClVm':'Registering\x20OAuth\x20client...','uuEON':'POST','BqnkU':_0x12d0cc(0x217),'GIFId':_0x12d0cc(0x247),'aNHbp':'none','etsgo':_0x12d0cc(0x24e),'vPquK':'sha256','MapMx':function(_0x2c0bef,_0x7aac45){return _0x2c0bef(_0x7aac45);},'XCOWE':'hex','NQATg':_0x12d0cc(0x228),'UuODv':'code_challenge','IKGKX':'code_challenge_method','tKerN':function(_0x2bdb39,_0x3a0e48){return _0x2bdb39(_0x3a0e48);},'eEZPy':'Exchanging\x20authorization\x20code...','fxZoi':'resource','XpGtg':_0x12d0cc(0x1e5)},_0x4a8adf=_0x33772e[_0x12d0cc(0x24d)](/\/mcp$/,'');process['stdout']['write'](_0x38ee59[_0x12d0cc(0x1f4)]);const _0x233584=await fetch(_0x4a8adf+'/.well-known/oauth-protected-resource');if(!_0x233584['ok'])throw new Error(_0x38ee59[_0x12d0cc(0x236)]);const _0x221436=await _0x233584['json'](),_0x5bdcb0=_0x221436[_0x12d0cc(0x256)]?.[0x0];if(!_0x5bdcb0)throw new Error(_0x38ee59['UZzAa']);console[_0x12d0cc(0x1f3)]('\x20'+_0x5bdcb0);const _0x4084eb=await fetchAuthServerMetadata(_0x5bdcb0);let _0x2ae56b,_0x1684f5;const _0x5cd95a=await loadCachedClient();if(_0x5cd95a)_0x2ae56b=_0x5cd95a['clientId'],_0x1684f5=_0x5cd95a['clientSecret'];else{if(_0x4084eb[_0x12d0cc(0x1de)]){process[_0x12d0cc(0x21c)][_0x12d0cc(0x24b)](_0x38ee59['FClVm']);const _0x33b810=await fetch(_0x4084eb['registration_endpoint'],{'method':_0x38ee59['uuEON'],'headers':{'Content-Type':_0x38ee59['BqnkU']},'body':JSON['stringify']({'client_name':_0x12d0cc(0x1cf),'redirect_uris':['http://localhost:'+CALLBACK_PORT+_0x12d0cc(0x218)],'grant_types':[_0x38ee59['GIFId'],_0x12d0cc(0x1f0)],'response_types':['code'],'token_endpoint_auth_method':_0x38ee59[_0x12d0cc(0x261)]})});if(!_0x33b810['ok']){const _0x545b28=await _0x33b810[_0x12d0cc(0x235)]();throw new Error(_0x12d0cc(0x1e0)+_0x545b28);}const _0x343ad1=await _0x33b810[_0x12d0cc(0x1d1)]();_0x2ae56b=_0x343ad1[_0x12d0cc(0x254)],_0x1684f5=_0x343ad1[_0x12d0cc(0x1f2)],await saveCachedClient(_0x2ae56b,_0x1684f5),console[_0x12d0cc(0x1f3)]('\x20done');}else throw new Error(_0x12d0cc(0x1e3));}const _0x43cf99=randomBytes(0x20)[_0x12d0cc(0x1f7)](_0x38ee59['etsgo']),_0x39da41=createHash(_0x38ee59['vPquK'])[_0x12d0cc(0x238)](_0x43cf99)['digest'](_0x12d0cc(0x24e)),_0x373f5c=_0x38ee59[_0x12d0cc(0x1e9)](randomBytes,0x10)[_0x12d0cc(0x1f7)](_0x38ee59['XCOWE']),_0xd25062=new URL(_0x4084eb[_0x12d0cc(0x220)]);_0xd25062[_0x12d0cc(0x263)][_0x12d0cc(0x1e2)](_0x12d0cc(0x255),_0x38ee59[_0x12d0cc(0x1fd)]),_0xd25062['searchParams'][_0x12d0cc(0x1e2)]('client_id',_0x2ae56b),_0xd25062[_0x12d0cc(0x263)][_0x12d0cc(0x1e2)](_0x12d0cc(0x223),'http://localhost:'+CALLBACK_PORT+_0x12d0cc(0x218)),_0xd25062[_0x12d0cc(0x263)]['set'](_0x38ee59['UuODv'],_0x39da41),_0xd25062['searchParams'][_0x12d0cc(0x1e2)](_0x38ee59[_0x12d0cc(0x23a)],'S256'),_0xd25062['searchParams'][_0x12d0cc(0x1e2)]('state',_0x373f5c);_0x221436[_0x12d0cc(0x21f)]&&_0xd25062['searchParams']['set'](_0x12d0cc(0x21f),_0x221436['resource']);console[_0x12d0cc(0x1f3)]('\x0aOpening\x20browser\x20for\x20authentication...'),console['log'](_0x12d0cc(0x1fe)+_0xd25062[_0x12d0cc(0x1f7)]()+'\x0a'),await _0x38ee59[_0x12d0cc(0x1e9)](openBrowser,_0xd25062[_0x12d0cc(0x1f7)]());const _0x8c6da1=await _0x38ee59[_0x12d0cc(0x205)](waitForCallback,_0x373f5c);process['stdout'][_0x12d0cc(0x24b)](_0x38ee59[_0x12d0cc(0x211)]);const _0x4ebc9a=new URLSearchParams({'grant_type':_0x38ee59[_0x12d0cc(0x248)],'code':_0x8c6da1,'redirect_uri':'http://localhost:'+CALLBACK_PORT+_0x12d0cc(0x218),'client_id':_0x2ae56b,'code_verifier':_0x43cf99});_0x1684f5&&_0x4ebc9a[_0x12d0cc(0x1e2)](_0x12d0cc(0x1f2),_0x1684f5);_0x221436[_0x12d0cc(0x21f)]&&_0x4ebc9a['set'](_0x38ee59[_0x12d0cc(0x259)],_0x221436['resource']);const _0x21844e=await fetch(_0x4084eb[_0x12d0cc(0x262)],{'method':'POST','headers':{'Content-Type':_0x12d0cc(0x25a)},'body':_0x4ebc9a});if(!_0x21844e['ok']){const _0x3d6b5b=await _0x21844e[_0x12d0cc(0x235)]();throw new Error(_0x12d0cc(0x213)+_0x3d6b5b);}const _0x5159a1=await _0x21844e[_0x12d0cc(0x1d1)]();return console[_0x12d0cc(0x1f3)](_0x38ee59[_0x12d0cc(0x22f)]),await saveCachedToken(_0x5159a1[_0x12d0cc(0x234)],_0x5159a1['refresh_token'],_0x5159a1[_0x12d0cc(0x208)]),_0x5159a1[_0x12d0cc(0x234)];}async function callGetCliToken(_0x273307,_0x23fd3d){const _0x2a787c=_0x30785e,_0x4e2886={'Nxamk':function(_0x21e879,_0x220f83,_0x1ac2d1){return _0x21e879(_0x220f83,_0x1ac2d1);},'jXoOr':function(_0x5d8952,_0x4959c5){return _0x5d8952(_0x4959c5);},'HmhLx':'application/json','pAOWh':_0x2a787c(0x1ec),'nizey':_0x2a787c(0x206),'NfXwq':'2025-03-26','ZqUtA':'ranger-cli','LMlQE':_0x2a787c(0x232),'aRJvu':'\x20done','tkEma':_0x2a787c(0x25b),'aKIIG':'notifications/initialized','WRlFV':'tools/call','kIiUB':_0x2a787c(0x200),'ssLKR':'Could\x20not\x20extract\x20token\x20from\x20MCP\x20response','Yazvr':function(_0x1a60a9){return _0x1a60a9();},'nNAoe':function(_0x9b473e,_0xedf57c,_0x4a0ea4){return _0x9b473e(_0xedf57c,_0x4a0ea4);},'Irlsl':function(_0x441492,_0x2d376b,_0x49fd06,_0x5f0e2b){return _0x441492(_0x2d376b,_0x49fd06,_0x5f0e2b);}},_0x48e661={'Content-Type':_0x4e2886[_0x2a787c(0x1dc)],'Accept':_0x2a787c(0x1d9)};_0x23fd3d&&(_0x48e661[_0x2a787c(0x224)]='Bearer\x20'+_0x23fd3d);const _0x295464=async _0x190870=>{const _0x209060=_0x2a787c,_0xc8678a=await _0x4e2886[_0x209060(0x250)](fetch,_0x273307,{'method':_0x209060(0x25b),'headers':_0x48e661,'body':JSON['stringify'](_0x190870)});if(!_0xc8678a['ok']){const _0x206594=await _0xc8678a['text']();throw new Error(_0x209060(0x1ea)+_0xc8678a['status']+':\x20'+_0x206594);}return _0x4e2886['jXoOr'](parseResponse,_0xc8678a);};process[_0x2a787c(0x21c)]['write'](_0x4e2886[_0x2a787c(0x249)]);const _0x197afb=await _0x4e2886['jXoOr'](_0x295464,{'jsonrpc':_0x4e2886[_0x2a787c(0x241)],'id':0x1,'method':_0x2a787c(0x1ef),'params':{'protocolVersion':_0x4e2886[_0x2a787c(0x1f8)],'capabilities':{},'clientInfo':{'name':_0x4e2886[_0x2a787c(0x258)],'version':_0x4e2886['LMlQE']}}});if(_0x197afb[_0x2a787c(0x20d)])throw new Error(_0x2a787c(0x203)+(_0x197afb[_0x2a787c(0x20d)]['message']??JSON['stringify'](_0x197afb[_0x2a787c(0x20d)])));console[_0x2a787c(0x1f3)](_0x4e2886['aRJvu']),await _0x4e2886['Nxamk'](fetch,_0x273307,{'method':_0x4e2886[_0x2a787c(0x237)],'headers':_0x48e661,'body':JSON[_0x2a787c(0x245)]({'jsonrpc':_0x4e2886[_0x2a787c(0x241)],'method':_0x4e2886['aKIIG']})})[_0x2a787c(0x230)](_0x4a623e=>_0x4a623e[_0x2a787c(0x235)]()),process['stdout'][_0x2a787c(0x24b)]('Requesting\x20CLI\x20token...');const _0x12d14f=await _0x295464({'jsonrpc':_0x4e2886['nizey'],'id':0x2,'method':_0x4e2886['WRlFV'],'params':{'name':_0x4e2886[_0x2a787c(0x215)],'arguments':{}}});if(_0x12d14f[_0x2a787c(0x20d)])throw new Error('get_cli_token\x20failed:\x20'+(_0x12d14f[_0x2a787c(0x20d)][_0x2a787c(0x25e)]??JSON['stringify'](_0x12d14f[_0x2a787c(0x20d)])));console['log']('\x20done');const _0x1b6fa1=extractToken(_0x12d14f['result']);if(!_0x1b6fa1){console[_0x2a787c(0x20d)](_0x2a787c(0x1fc)),console[_0x2a787c(0x20d)](JSON['stringify'](_0x12d14f['result'],null,0x2));throw new Error(_0x4e2886[_0x2a787c(0x204)]);}const _0x47f64b=join(_0x4e2886['Yazvr'](homedir),'.ranger'),_0x32b6b4=_0x4e2886[_0x2a787c(0x244)](join,_0x47f64b,'refresh.txt');await mkdir(_0x47f64b,{'recursive':!![]}),await _0x4e2886[_0x2a787c(0x1d5)](writeFile,_0x32b6b4,_0x1b6fa1,{'mode':0x180}),await writeFile(_0x4e2886[_0x2a787c(0x244)](join,_0x47f64b,_0x2a787c(0x214)),_0x273307,{'mode':0x180}),console[_0x2a787c(0x1f3)](_0x2a787c(0x21a)+_0x32b6b4),console[_0x2a787c(0x1f3)]('Run\x20`ranger\x20status`\x20to\x20verify\x20authentication.\x0a');}async function fetchAuthServerMetadata(_0x2c3ed2){const _0x1b285f=_0x30785e,_0x5da648=_0x2c3ed2+_0x1b285f(0x243),_0x1d1b5c=await fetch(_0x5da648);if(!_0x1d1b5c['ok'])throw new Error(_0x1b285f(0x22d)+_0x5da648+':\x20'+_0x1d1b5c['status']);return _0x1d1b5c[_0x1b285f(0x1d1)]();}function waitForCallback(_0x4a1dc6){const _0x3f1a32=_0x30785e,_0x55a031={'RKXAJ':'OAuth\x20callback\x20timed\x20out\x20after\x202\x20minutes','oxUQL':function(_0x4e2dd3,_0x16c358){return _0x4e2dd3!==_0x16c358;},'hMYVv':_0x3f1a32(0x20c),'iAMND':_0x3f1a32(0x1ff),'PNYLw':_0x3f1a32(0x22e),'kVFbP':function(_0x537b2a,_0x3cacbd){return _0x537b2a(_0x3cacbd);},'jFdHQ':'<html><body><h2>Invalid\x20callback</h2><p>Missing\x20code\x20or\x20state\x20mismatch.</p></body></html>','tXIri':function(_0x319b2d,_0x48e3dc,_0x2ea0c3){return _0x319b2d(_0x48e3dc,_0x2ea0c3);}};return new Promise((_0x5b5076,_0x2303af)=>{const _0x350c8a=_0x3f1a32,_0x491d71={'iTEAe':function(_0x14e5a1,_0x1dec66){return _0x14e5a1(_0x1dec66);},'AuUlE':_0x55a031['RKXAJ'],'GKQHY':function(_0xe1ab32,_0x4e30d2){const _0x25b9ea=_0x84d7;return _0x55a031[_0x25b9ea(0x1db)](_0xe1ab32,_0x4e30d2);},'YuvRF':_0x55a031['hMYVv'],'dYJtR':_0x350c8a(0x228),'kBRtZ':_0x350c8a(0x267),'WMNsN':_0x55a031[_0x350c8a(0x1f5)],'TVRTf':_0x55a031['PNYLw'],'NEaap':function(_0x2da7c2,_0x32d069){return _0x55a031['kVFbP'](_0x2da7c2,_0x32d069);},'ahbLm':function(_0xeaf045,_0x59730b){return _0xeaf045!==_0x59730b;},'lyHVO':_0x55a031['jFdHQ'],'CbBfA':'<html><body><h2>Authenticated!</h2><p>You\x20can\x20close\x20this\x20window\x20and\x20return\x20to\x20the\x20terminal.</p></body></html>','BBIru':function(_0x3b270f,_0xd72f95){return _0x3b270f(_0xd72f95);}},_0x2bac98=_0x55a031['tXIri'](setTimeout,()=>{const _0xde0d6f=_0x350c8a;_0x1d8133[_0xde0d6f(0x1d8)](),_0x491d71[_0xde0d6f(0x216)](_0x2303af,new OAuthTimeoutError(_0x491d71['AuUlE']));},0x1d4c0),_0x1d8133=createServer((_0x615bb2,_0x591ef1)=>{const _0x433f92=_0x350c8a,_0x5c7770=new URL(_0x615bb2[_0x433f92(0x239)]??'/',_0x433f92(0x24f)+CALLBACK_PORT);if(_0x491d71['GKQHY'](_0x5c7770[_0x433f92(0x252)],'/callback')){_0x591ef1[_0x433f92(0x20f)](0x194),_0x591ef1['end'](_0x491d71['YuvRF']);return;}const _0x1a8f8d=_0x5c7770['searchParams'][_0x433f92(0x227)](_0x491d71[_0x433f92(0x222)]),_0x5bdd4f=_0x5c7770[_0x433f92(0x263)]['get'](_0x491d71['kBRtZ']),_0x3dd75f=_0x5c7770[_0x433f92(0x263)]['get'](_0x433f92(0x20d));if(_0x3dd75f){const _0x3fd270=_0x5c7770[_0x433f92(0x263)]['get'](_0x491d71['WMNsN'])??_0x3dd75f;_0x591ef1[_0x433f92(0x20f)](0xc8,{'Content-Type':_0x491d71[_0x433f92(0x268)]}),_0x591ef1['end']('<html><body><h2>Authentication\x20failed</h2><p>'+_0x3fd270+_0x433f92(0x260)),_0x491d71[_0x433f92(0x210)](clearTimeout,_0x2bac98),_0x1d8133['close'](),_0x491d71['iTEAe'](_0x2303af,new Error('OAuth\x20error:\x20'+_0x3fd270));return;}if(!_0x1a8f8d||_0x491d71['ahbLm'](_0x5bdd4f,_0x4a1dc6)){_0x591ef1[_0x433f92(0x20f)](0x190,{'Content-Type':_0x433f92(0x22e)}),_0x591ef1['end'](_0x491d71['lyHVO']);return;}_0x591ef1[_0x433f92(0x20f)](0xc8,{'Content-Type':_0x433f92(0x22e)}),_0x591ef1['end'](_0x491d71[_0x433f92(0x1e7)]),clearTimeout(_0x2bac98),_0x1d8133['close'](),_0x491d71[_0x433f92(0x23b)](_0x5b5076,_0x1a8f8d);});_0x1d8133[_0x350c8a(0x257)](CALLBACK_PORT,'127.0.0.1');});}async function openBrowser(_0xdca1d7){const _0x4fe33d=_0x30785e,_0x5edb61={'wAiay':function(_0x6c7013,_0x2728f2){return _0x6c7013===_0x2728f2;},'LohGH':'darwin','ovZgQ':'xdg-open','faEqM':function(_0x4e0c12,_0x13c08e){return _0x4e0c12(_0x13c08e);}},{exec:_0x21b2f8}=await import(_0x4fe33d(0x1f6)),_0x2440c2=_0x5edb61[_0x4fe33d(0x23e)](process[_0x4fe33d(0x221)],_0x5edb61[_0x4fe33d(0x1fa)])?'open':process[_0x4fe33d(0x221)]===_0x4fe33d(0x209)?_0x4fe33d(0x246):_0x5edb61[_0x4fe33d(0x1e4)];_0x5edb61[_0x4fe33d(0x24c)](_0x21b2f8,_0x2440c2+'\x20\x22'+_0xdca1d7+'\x22');}let currentOrigin='';async function loadCachedToken(){const _0x3e0f74=_0x30785e,_0x161781={'lgcIY':_0x3e0f74(0x23c),'evfUi':function(_0x193681,_0x5e9294){return _0x193681!==_0x5e9294;},'VCbrs':function(_0x1165aa,_0x56e11a){return _0x1165aa>_0x56e11a;}};try{const _0x284e23=JSON['parse'](await readFile(TOKEN_CACHE_PATH,_0x161781['lgcIY']));if(_0x284e23['origin']&&_0x161781[_0x3e0f74(0x22c)](_0x284e23['origin'],currentOrigin))return null;if(_0x284e23['expiresAt']&&_0x161781[_0x3e0f74(0x20e)](Date[_0x3e0f74(0x202)](),_0x284e23[_0x3e0f74(0x1d3)]))return null;return _0x284e23[_0x3e0f74(0x269)]??null;}catch{return null;}}async function saveCachedToken(_0x45e2d0,_0x4c8394,_0x44078d){const _0x48bb23=_0x30785e,_0x117bfe={'JTAME':function(_0x463ae0){return _0x463ae0();},'swyPI':function(_0x482419,_0x40097d,_0x206127){return _0x482419(_0x40097d,_0x206127);},'GzwGj':function(_0x5f3dde){return _0x5f3dde();}},_0x2a222d=await _0x117bfe['JTAME'](loadCachedData),_0x2ca542={..._0x2a222d,'origin':currentOrigin,'accessToken':_0x45e2d0,'refreshToken':_0x4c8394??_0x2a222d?.[_0x48bb23(0x226)],'expiresAt':_0x44078d?Date['now']()+_0x44078d*0x3e8:undefined};await _0x117bfe[_0x48bb23(0x21d)](mkdir,_0x117bfe[_0x48bb23(0x21d)](join,_0x117bfe[_0x48bb23(0x1df)](homedir),'.ranger'),{'recursive':!![]}),await writeFile(TOKEN_CACHE_PATH,JSON['stringify'](_0x2ca542),{'mode':0x180});}async function loadCachedClient(){const _0x2dbe99=_0x30785e,_0xbc85d9={'dXXlI':function(_0x1ca918){return _0x1ca918();}},_0x420d73=await _0xbc85d9[_0x2dbe99(0x212)](loadCachedData);if(_0x420d73?.[_0x2dbe99(0x251)]&&_0x420d73['origin']!==currentOrigin)return null;return _0x420d73?.[_0x2dbe99(0x25d)]?{'clientId':_0x420d73[_0x2dbe99(0x25d)],'clientSecret':_0x420d73[_0x2dbe99(0x25f)]}:null;}async function clearCachedClient(){const _0x2b5fe0=_0x30785e,_0x4b8700={'NcbcX':function(_0x584200,_0x2a5ec9,_0x5cb219,_0x28bff4){return _0x584200(_0x2a5ec9,_0x5cb219,_0x28bff4);}},_0x2f2fc5=await loadCachedData();if(!_0x2f2fc5)return;const {clientId:_0x3239a0,clientSecret:_0x2f1a05,..._0x548400}=_0x2f2fc5;await _0x4b8700[_0x2b5fe0(0x22a)](writeFile,TOKEN_CACHE_PATH,JSON['stringify'](_0x548400),{'mode':0x180});}async function saveCachedClient(_0x18988f,_0x426f05){const _0x1daaaf=_0x30785e,_0x73cf0d={'lBwqw':function(_0x2cc09){return _0x2cc09();},'ZmJuL':function(_0x33b2c9,_0x4a88ea,_0x6337ba){return _0x33b2c9(_0x4a88ea,_0x6337ba);}},_0x55b3ba=await _0x73cf0d[_0x1daaaf(0x1d6)](loadCachedData),_0x199712={..._0x55b3ba,'origin':currentOrigin,'accessToken':_0x55b3ba?.[_0x1daaaf(0x269)]??'','clientId':_0x18988f,'clientSecret':_0x426f05};await _0x73cf0d['ZmJuL'](mkdir,join(_0x73cf0d['lBwqw'](homedir),_0x1daaaf(0x1e8)),{'recursive':!![]}),await writeFile(TOKEN_CACHE_PATH,JSON['stringify'](_0x199712),{'mode':0x180});}async function loadCachedData(){const _0x3f37bd=_0x30785e,_0x44bbfc={'jrpGC':function(_0x313060,_0x29828e,_0x15692c){return _0x313060(_0x29828e,_0x15692c);},'dZlps':_0x3f37bd(0x23c)};try{return JSON['parse'](await _0x44bbfc[_0x3f37bd(0x240)](readFile,TOKEN_CACHE_PATH,_0x44bbfc[_0x3f37bd(0x1da)]));}catch{return null;}}async function parseResponse(_0x5ac972){const _0x287613=_0x30785e,_0x306fcf={'Xkrnp':'data:'},_0x2022ee=_0x5ac972['headers'][_0x287613(0x227)]('content-type')??'';if(_0x2022ee[_0x287613(0x23f)](_0x287613(0x201))){const _0x3c228f=await _0x5ac972['text']();for(const _0x17f059 of _0x3c228f['split']('\x0a')){const _0x2e0164=_0x17f059[_0x287613(0x233)]();if(_0x2e0164['startsWith'](_0x287613(0x264))){const _0x1054aa=_0x2e0164[_0x287613(0x1dd)](_0x306fcf['Xkrnp'][_0x287613(0x1d7)])['trim']();if(!_0x1054aa)continue;try{const _0x1d447d=JSON['parse'](_0x1054aa);if(_0x1d447d['id']!==undefined||_0x1d447d[_0x287613(0x20d)])return _0x1d447d;}catch{}}}throw new Error('No\x20JSON-RPC\x20response\x20found\x20in\x20SSE\x20stream');}return _0x5ac972[_0x287613(0x1d1)]();}function extractToken(_0x85f594){const _0x1036d2=_0x30785e,_0x5258ed={'XBFYk':'string','QaxaO':_0x1036d2(0x235)};if(!_0x85f594)return null;const _0x24e9ee=_0x85f594['structuredContent'];if(_0x24e9ee?.[_0x1036d2(0x25c)]&&typeof _0x24e9ee[_0x1036d2(0x25c)]===_0x5258ed[_0x1036d2(0x1eb)])return _0x24e9ee['token'];if(_0x85f594[_0x1036d2(0x1fb)]){const _0x553312=_0x85f594['content'];throw new Error('Server\x20returned\x20error:\x20'+(_0x553312?.[0x0]?.['text']??'Unknown\x20error'));}const _0x1f9964=_0x85f594['content'];if(_0x1f9964)for(const _0x4ca356 of _0x1f9964){if(_0x4ca356[_0x1036d2(0x225)]===_0x5258ed['QaxaO']&&_0x4ca356[_0x1036d2(0x235)]){try{const _0x5889bd=JSON['parse'](_0x4ca356['text']);if(typeof _0x5889bd?.['token']==='string')return _0x5889bd[_0x1036d2(0x25c)];}catch{}const _0x49f48d=_0x4ca356['text']['match'](/(rngr_[A-Za-z0-9_-]+)/);if(_0x49f48d)return _0x49f48d[0x1];}}return null;}
|
|
1
|
+
const _0xc9d8f1=_0x11c1;(function(_0x5af041,_0x406458){const _0x25b4ec=_0x11c1,_0x11cc8b=_0x5af041();while(!![]){try{const _0x42b8bb=-parseInt(_0x25b4ec(0x11f))/0x1+parseInt(_0x25b4ec(0xb8))/0x2+-parseInt(_0x25b4ec(0xc1))/0x3+-parseInt(_0x25b4ec(0xd0))/0x4*(-parseInt(_0x25b4ec(0x111))/0x5)+-parseInt(_0x25b4ec(0xd5))/0x6+parseInt(_0x25b4ec(0x11b))/0x7*(-parseInt(_0x25b4ec(0x9c))/0x8)+parseInt(_0x25b4ec(0xed))/0x9*(parseInt(_0x25b4ec(0xe5))/0xa);if(_0x42b8bb===_0x406458)break;else _0x11cc8b['push'](_0x11cc8b['shift']());}catch(_0x5d6018){_0x11cc8b['push'](_0x11cc8b['shift']());}}}(_0x7598,0x80059));import{mkdir,writeFile,readFile}from'fs/promises';import{join}from'path';import{homedir}from'os';function _0x7598(){const _0x19a1c9=['redirect_uri','\x20done','Bearer\x20','registration_endpoint','4197972xsvxSD','\x0aToken\x20written\x20to\x20','client_secret','ksYcO','LWNnb','result','YTtNe','No\x20authorization_servers\x20in\x20protected\x20resource\x20metadata','darwin','<html><body><h2>Authenticated!</h2><p>You\x20can\x20close\x20this\x20window\x20and\x20return\x20to\x20the\x20terminal.</p></body></html>','sLSwv','origin','refresh.txt','SFEwz','WjTVO','aAaKW','13260470ZOZIyd','If\x20the\x20browser\x20doesn\x27t\x20open,\x20visit:\x0a','application/json,\x20text/event-stream','accessToken','FoSJJ','HTTP\x20','jBycq','glVWv','9PQlied','StSCA','then','APZdC','WdNmY','Could\x20not\x20extract\x20token\x20from\x20MCP\x20response','nKNSJ','Initializing\x20MCP\x20session...','response_type','code','\x0aConnecting\x20to\x20MCP\x20auth\x20server:\x20','string','platform','parse','end','initialize','uyPEg','smkLn','<html><body><h2>Invalid\x20callback</h2><p>Missing\x20code\x20or\x20state\x20mismatch.</p></body></html>','VBnBO','searchParams','No\x20JSON-RPC\x20response\x20found\x20in\x20SSE\x20stream','http://localhost:','2.0','utf-8','Dlwqj','writeHead','write','jVTXA','access_token','Ranger\x20CLI','bBoeE','undqQ','AGuIm','stringify','</p><p>You\x20can\x20close\x20this\x20window.</p></body></html>','2511285NumkhQ','\x0aOpening\x20browser\x20for\x20authentication...','match','vpJgj','structuredContent','content','SJwNb','authorization_endpoint','expiresAt','status','56FqYSqr','Requesting\x20CLI\x20token...','coPAa','content-type','122177tOUKFO','SpKXs','text/event-stream','start','name','WRYSh','clientId','HXhPj','error','clientSecret','ocPuH','jnpWs','Kxleb','Hyfur','application/json','text','type','tDqZt','split','code_challenge_method','tools/call','client_id','get_cli_token\x20failed:\x20','2025-03-26','stdout','log','601712hoMjuM','pRlxa','Exchanging\x20authorization\x20code...','text/html','cyBDZ','set','authorization_code','base64url','kfTxL','application/x-www-form-urlencoded','token','GVrAe','MCP\x20initialize\x20failed:\x20','JcOgB','authorization_servers','sha256','PiDCw','vaLMP','QyCHY','POST','cpBFA','ItRgP','YgZAB','/.well-known/oauth-protected-resource','slice','rtdWL','aejfY','resource','887166bEWMjO','zdKGH','sqlZK','/callback','Authorization\x20server\x20does\x20not\x20support\x20dynamic\x20client\x20registration\x20and\x20no\x20cached\x20client\x20found','Authorization','Unknown\x20error','state','get','2478648NSpdBH','json','MCP\x20server\x20requires\x20authentication\x20but\x20running\x20in\x20non-interactive\x20mode.\x0a','refresh_token','.ranger','zFErV','close','needs-oauth','update','1.0.0','message','/.well-known/oauth-authorization-server','UcDWF','win32','XXTsv','8vxuQoX'];_0x7598=function(){return _0x19a1c9;};return _0x7598();}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','mcp-oauth-tokens.json'),AUTH_ORIGIN_PATH=join(homedir(),_0xc9d8f1(0xc5),'auth-origin.txt');export async function getMcpAuthOrigin(){const _0x12cb3b=_0xc9d8f1,_0x5a90ec={'bDago':_0x12cb3b(0x105)};try{const _0x4438f7=(await readFile(AUTH_ORIGIN_PATH,_0x5a90ec['bDago']))['trim']();return _0x4438f7||null;}catch{return null;}}export async function mcpBootstrap(){const _0x2ea947=_0xc9d8f1,_0x42b429={'ZQthr':function(_0x4fee91){return _0x4fee91();},'HXhPj':function(_0x4463fc,_0x2088f0){return _0x4463fc(_0x2088f0);},'JcOgB':_0x2ea947(0xc3),'ocPuH':'Run\x20`ranger\x20setup\x20--mcp-bootstrap`\x20interactively\x20first.'},_0x9381b8=_0x42b429['ZQthr'](getMcpAuthUrl);currentOrigin=_0x9381b8;const _0x133e4c=process[_0x2ea947(0x9a)]['isTTY']??![];console['log'](_0x2ea947(0xf7)+_0x9381b8+'\x0a');const _0x1be46d=await _0x42b429[_0x2ea947(0x126)](tryUnauthenticated,_0x9381b8);let _0x12bae2=null;if(_0x1be46d==='proxied')_0x12bae2='';else{_0x12bae2=await loadCachedToken();if(!_0x12bae2){if(!_0x133e4c)throw new Error(_0x42b429[_0x2ea947(0xa9)]+_0x42b429[_0x2ea947(0x129)]);_0x12bae2=await _0x42b429['HXhPj'](oauthFlow,_0x9381b8);}}await callGetCliToken(_0x9381b8,_0x12bae2);}async function tryUnauthenticated(_0x508d6){const _0x293699=_0xc9d8f1,_0x107580={'PtdSe':'application/json,\x20text/event-stream','XXTsv':'2.0','smkLn':_0x293699(0xfc),'vaLMP':_0x293699(0xca)},_0x169896=await fetch(_0x508d6,{'method':_0x293699(0xaf),'headers':{'Content-Type':'application/json','Accept':_0x107580['PtdSe']},'body':JSON[_0x293699(0x10f)]({'jsonrpc':_0x107580[_0x293699(0xcf)],'id':0x1,'method':_0x107580[_0x293699(0xfe)],'params':{'protocolVersion':_0x293699(0x99),'capabilities':{},'clientInfo':{'name':'ranger-cli','version':_0x107580[_0x293699(0xad)]}}})});if(_0x169896['ok'])return await _0x169896[_0x293699(0x91)](),'proxied';if(_0x169896[_0x293699(0x11a)]===0x191)return await _0x169896['text'](),_0x293699(0xc8);const _0x393a56=await _0x169896[_0x293699(0x91)]();throw new Error('MCP\x20server\x20returned\x20HTTP\x20'+_0x169896['status']+':\x20'+_0x393a56);}class OAuthTimeoutError extends Error{constructor(_0x34a9a3){const _0x1ba92a=_0xc9d8f1;super(_0x34a9a3),this[_0x1ba92a(0x123)]='OAuthTimeoutError';}}function _0x11c1(_0x530cef,_0x359032){_0x530cef=_0x530cef-0x8d;const _0x7598d2=_0x7598();let _0x11c128=_0x7598d2[_0x530cef];return _0x11c128;}async function oauthFlow(_0x4e0e0b){const _0x5ec0b1=_0xc9d8f1,_0x352788={'SFEwz':function(_0x19350f,_0x2b0981){return _0x19350f(_0x2b0981);},'PiDCw':function(_0x5ae3b0,_0x56d22e){return _0x5ae3b0 instanceof _0x56d22e;}};try{return await _0x352788[_0x5ec0b1(0xe2)](oauthFlowAttempt,_0x4e0e0b);}catch(_0x3e7088){if(_0x352788[_0x5ec0b1(0xac)](_0x3e7088,OAuthTimeoutError)&&await loadCachedClient())return console['log']('\x0aCached\x20OAuth\x20client\x20may\x20be\x20stale\x20—\x20clearing\x20and\x20retrying...\x0a'),await clearCachedClient(),await oauthFlowAttempt(_0x4e0e0b);throw _0x3e7088;}}async function oauthFlowAttempt(_0x28ad06){const _0x143047=_0xc9d8f1,_0x351c26={'cpBFA':'Discovering\x20authorization\x20server...','Ezjax':function(_0x481497,_0x5e8d09){return _0x481497(_0x5e8d09);},'yAlZy':'Could\x20not\x20fetch\x20protected\x20resource\x20metadata\x20from\x20MCP\x20server','YeTEF':_0x143047(0xdc),'nsqBp':function(_0x255aa1){return _0x255aa1();},'yasFP':function(_0x4fe51d,_0xdfb0f,_0x450107){return _0x4fe51d(_0xdfb0f,_0x450107);},'LSnmB':_0x143047(0xaf),'WnbvG':_0x143047(0x90),'YgZAB':_0x143047(0x10b),'APZdC':_0x143047(0xa2),'FeCNS':'refresh_token','Dlwqj':'\x20done','rtdWL':'base64url','YTtNe':function(_0x2c79a8,_0x3ecb2b){return _0x2c79a8(_0x3ecb2b);},'FoSJJ':'hex','YniNl':_0x143047(0xf5),'cyBDZ':'code','uyPEg':'S256','sqlZK':'resource'},_0x509923=_0x28ad06['replace'](/\/mcp$/,'');process['stdout']['write'](_0x351c26[_0x143047(0xb0)]);const _0x26b739=await _0x351c26['Ezjax'](fetch,_0x509923+_0x143047(0xb3));if(!_0x26b739['ok'])throw new Error(_0x351c26['yAlZy']);const _0x402cf4=await _0x26b739['json'](),_0x1da09d=_0x402cf4[_0x143047(0xaa)]?.[0x0];if(!_0x1da09d)throw new Error(_0x351c26['YeTEF']);console[_0x143047(0x9b)]('\x20'+_0x1da09d);const _0x3220eb=await fetchAuthServerMetadata(_0x1da09d);let _0x592625,_0x297318;const _0x34f156=await _0x351c26['nsqBp'](loadCachedClient);if(_0x34f156)_0x592625=_0x34f156[_0x143047(0x125)],_0x297318=_0x34f156[_0x143047(0x128)];else{if(_0x3220eb[_0x143047(0xd4)]){process['stdout'][_0x143047(0x108)]('Registering\x20OAuth\x20client...');const _0x564c8e=await _0x351c26['yasFP'](fetch,_0x3220eb[_0x143047(0xd4)],{'method':_0x351c26['LSnmB'],'headers':{'Content-Type':_0x351c26['WnbvG']},'body':JSON['stringify']({'client_name':_0x351c26[_0x143047(0xb2)],'redirect_uris':[_0x143047(0x103)+CALLBACK_PORT+_0x143047(0xbb)],'grant_types':[_0x351c26[_0x143047(0xf0)],_0x351c26['FeCNS']],'response_types':[_0x143047(0xf6)],'token_endpoint_auth_method':'none'})});if(!_0x564c8e['ok']){const _0x26cd60=await _0x564c8e[_0x143047(0x91)]();throw new Error('Client\x20registration\x20failed:\x20'+_0x26cd60);}const _0x25410d=await _0x564c8e[_0x143047(0xc2)]();_0x592625=_0x25410d[_0x143047(0x97)],_0x297318=_0x25410d['client_secret'],await saveCachedClient(_0x592625,_0x297318),console[_0x143047(0x9b)](_0x351c26[_0x143047(0x106)]);}else throw new Error(_0x143047(0xbc));}const _0x5bf08c=randomBytes(0x20)['toString'](_0x143047(0xa3)),_0x22fedb=createHash(_0x143047(0xab))[_0x143047(0xc9)](_0x5bf08c)['digest'](_0x351c26[_0x143047(0xb5)]),_0x42f82e=_0x351c26[_0x143047(0xdb)](randomBytes,0x10)['toString'](_0x351c26[_0x143047(0xe9)]),_0x59d8c0=new URL(_0x3220eb[_0x143047(0x118)]);_0x59d8c0['searchParams'][_0x143047(0xa1)](_0x351c26['YniNl'],_0x351c26[_0x143047(0xa0)]),_0x59d8c0['searchParams']['set'](_0x143047(0x97),_0x592625),_0x59d8c0[_0x143047(0x101)]['set'](_0x143047(0xd1),_0x143047(0x103)+CALLBACK_PORT+_0x143047(0xbb)),_0x59d8c0[_0x143047(0x101)][_0x143047(0xa1)]('code_challenge',_0x22fedb),_0x59d8c0['searchParams'][_0x143047(0xa1)](_0x143047(0x95),_0x351c26[_0x143047(0xfd)]),_0x59d8c0[_0x143047(0x101)]['set'](_0x143047(0xbf),_0x42f82e);_0x402cf4['resource']&&_0x59d8c0['searchParams'][_0x143047(0xa1)](_0x351c26['sqlZK'],_0x402cf4[_0x143047(0xb7)]);console[_0x143047(0x9b)](_0x143047(0x112)),console['log'](_0x143047(0xe6)+_0x59d8c0['toString']()+'\x0a'),await openBrowser(_0x59d8c0['toString']());const _0x120719=await _0x351c26['YTtNe'](waitForCallback,_0x42f82e);process['stdout']['write'](_0x143047(0x9e));const _0x4b2ce6=new URLSearchParams({'grant_type':'authorization_code','code':_0x120719,'redirect_uri':'http://localhost:'+CALLBACK_PORT+'/callback','client_id':_0x592625,'code_verifier':_0x5bf08c});_0x297318&&_0x4b2ce6['set'](_0x143047(0xd7),_0x297318);_0x402cf4[_0x143047(0xb7)]&&_0x4b2ce6['set'](_0x351c26[_0x143047(0xba)],_0x402cf4['resource']);const _0x5ea6f7=await fetch(_0x3220eb['token_endpoint'],{'method':_0x351c26['LSnmB'],'headers':{'Content-Type':_0x143047(0xa5)},'body':_0x4b2ce6});if(!_0x5ea6f7['ok']){const _0xae28ce=await _0x5ea6f7['text']();throw new Error('Token\x20exchange\x20failed:\x20'+_0xae28ce);}const _0x36f069=await _0x5ea6f7['json']();return console[_0x143047(0x9b)](_0x351c26[_0x143047(0x106)]),await saveCachedToken(_0x36f069[_0x143047(0x10a)],_0x36f069[_0x143047(0xc4)],_0x36f069['expires_in']),_0x36f069[_0x143047(0x10a)];}async function callGetCliToken(_0x2ec370,_0x152358){const _0x312aab=_0xc9d8f1,_0x5490ff={'glVWv':'application/json','jBycq':_0x312aab(0xbd),'JSCEW':function(_0x50f1dd,_0x5dfd3c){return _0x50f1dd(_0x5dfd3c);},'Kxleb':_0x312aab(0x104),'dPZRr':'initialize','jnpWs':_0x312aab(0x99),'UfghE':_0x312aab(0xca),'AGuIm':'\x20done','UcDWF':function(_0x53db54,_0x307b40,_0xda3b62){return _0x53db54(_0x307b40,_0xda3b62);},'ksYcO':'POST','sLSwv':_0x312aab(0x11c),'UZUsu':function(_0x48787c,_0x38c7a3){return _0x48787c(_0x38c7a3);},'whbDl':_0x312aab(0x96),'nKNSJ':'get_cli_token','zFErV':'\x0aUnexpected\x20response\x20structure:','WCEXq':function(_0x342f02){return _0x342f02();},'WRYSh':_0x312aab(0xe1),'LRlcO':function(_0x538dc2,_0x9cfce4,_0x4b65ee){return _0x538dc2(_0x9cfce4,_0x4b65ee);},'nQskX':function(_0x1ea759,_0x204f8d,_0x64749,_0x2907c0){return _0x1ea759(_0x204f8d,_0x64749,_0x2907c0);},'SpKXs':'auth-origin.txt'},_0x448b90={'Content-Type':_0x5490ff[_0x312aab(0xec)],'Accept':_0x312aab(0xe7)};_0x152358&&(_0x448b90[_0x5490ff[_0x312aab(0xeb)]]=_0x312aab(0xd3)+_0x152358);const _0x5bbe96=async _0x3acc50=>{const _0x133564=_0x312aab,_0x16bd3d=await fetch(_0x2ec370,{'method':'POST','headers':_0x448b90,'body':JSON['stringify'](_0x3acc50)});if(!_0x16bd3d['ok']){const _0x48f874=await _0x16bd3d[_0x133564(0x91)]();throw new Error(_0x133564(0xea)+_0x16bd3d[_0x133564(0x11a)]+':\x20'+_0x48f874);}return parseResponse(_0x16bd3d);};process['stdout']['write'](_0x312aab(0xf4));const _0x61e397=await _0x5490ff['JSCEW'](_0x5bbe96,{'jsonrpc':_0x5490ff['Kxleb'],'id':0x1,'method':_0x5490ff['dPZRr'],'params':{'protocolVersion':_0x5490ff[_0x312aab(0x8d)],'capabilities':{},'clientInfo':{'name':'ranger-cli','version':_0x5490ff['UfghE']}}});if(_0x61e397[_0x312aab(0x127)])throw new Error(_0x312aab(0xa8)+(_0x61e397[_0x312aab(0x127)][_0x312aab(0xcb)]??JSON[_0x312aab(0x10f)](_0x61e397['error'])));console[_0x312aab(0x9b)](_0x5490ff[_0x312aab(0x10e)]),await _0x5490ff['UcDWF'](fetch,_0x2ec370,{'method':_0x5490ff[_0x312aab(0xd8)],'headers':_0x448b90,'body':JSON[_0x312aab(0x10f)]({'jsonrpc':_0x5490ff[_0x312aab(0x8e)],'method':'notifications/initialized'})})[_0x312aab(0xef)](_0x46a9c6=>_0x46a9c6[_0x312aab(0x91)]()),process['stdout'][_0x312aab(0x108)](_0x5490ff[_0x312aab(0xdf)]);const _0x42476d=await _0x5490ff['UZUsu'](_0x5bbe96,{'jsonrpc':_0x5490ff[_0x312aab(0x8e)],'id':0x2,'method':_0x5490ff['whbDl'],'params':{'name':_0x5490ff[_0x312aab(0xf3)],'arguments':{}}});if(_0x42476d[_0x312aab(0x127)])throw new Error(_0x312aab(0x98)+(_0x42476d[_0x312aab(0x127)]['message']??JSON['stringify'](_0x42476d[_0x312aab(0x127)])));console['log'](_0x312aab(0xd2));const _0x3169ff=extractToken(_0x42476d['result']);if(!_0x3169ff){console[_0x312aab(0x127)](_0x5490ff[_0x312aab(0xc6)]),console[_0x312aab(0x127)](JSON['stringify'](_0x42476d[_0x312aab(0xda)],null,0x2));throw new Error(_0x312aab(0xf2));}const _0x15cdad=_0x5490ff['UcDWF'](join,_0x5490ff['WCEXq'](homedir),'.ranger'),_0x2402e3=_0x5490ff[_0x312aab(0xcd)](join,_0x15cdad,_0x5490ff[_0x312aab(0x124)]);await _0x5490ff['LRlcO'](mkdir,_0x15cdad,{'recursive':!![]}),await _0x5490ff['nQskX'](writeFile,_0x2402e3,_0x3169ff,{'mode':0x180}),await writeFile(join(_0x15cdad,_0x5490ff[_0x312aab(0x120)]),_0x2ec370,{'mode':0x180}),console[_0x312aab(0x9b)](_0x312aab(0xd6)+_0x2402e3),console['log']('Run\x20`ranger\x20status`\x20to\x20verify\x20authentication.\x0a');}async function fetchAuthServerMetadata(_0x3743b6){const _0x305863=_0xc9d8f1,_0x4506c4=_0x3743b6+_0x305863(0xcc),_0xe00ffe=await fetch(_0x4506c4);if(!_0xe00ffe['ok'])throw new Error('Could\x20not\x20fetch\x20auth\x20server\x20metadata\x20from\x20'+_0x4506c4+':\x20'+_0xe00ffe['status']);return _0xe00ffe[_0x305863(0xc2)]();}function waitForCallback(_0x4a310e){const _0x23a6bc=_0xc9d8f1,_0x5ab5d0={'iBiCq':function(_0x1de444,_0x107852){return _0x1de444!==_0x107852;},'aAaKW':_0x23a6bc(0xf6),'coPAa':_0x23a6bc(0xbf),'avGzg':_0x23a6bc(0xff),'WjTVO':'text/html','GBKvs':_0x23a6bc(0xde),'tiNQr':function(_0x525586,_0x1f93af,_0x282352){return _0x525586(_0x1f93af,_0x282352);},'EMmkG':function(_0x3f3d22,_0x2a4703){return _0x3f3d22(_0x2a4703);},'hOJZo':'127.0.0.1'};return new Promise((_0x1c3c82,_0x5208d5)=>{const _0x38d58f=_0x23a6bc,_0x1f97e6={'WJgdb':function(_0xc6b4ff,_0x5048e9){return _0x5ab5d0['iBiCq'](_0xc6b4ff,_0x5048e9);},'UxeqG':_0x5ab5d0[_0x38d58f(0xe4)],'aejfY':_0x5ab5d0[_0x38d58f(0x11d)],'ItRgP':'error','bBoeE':'error_description','pRlxa':_0x5ab5d0['avGzg'],'SJwNb':_0x5ab5d0[_0x38d58f(0xe3)],'StSCA':_0x5ab5d0['GBKvs'],'tDqZt':function(_0x21659e,_0x5c99ba){return _0x21659e(_0x5c99ba);}},_0x5db271=_0x5ab5d0['tiNQr'](setTimeout,()=>{const _0x5e4ba3=_0x38d58f;_0x108eec[_0x5e4ba3(0xc7)](),_0x5208d5(new OAuthTimeoutError('OAuth\x20callback\x20timed\x20out\x20after\x202\x20minutes'));},0x1d4c0),_0x108eec=_0x5ab5d0['EMmkG'](createServer,(_0x1e8cdf,_0x1fd188)=>{const _0x209f4a=_0x38d58f,_0x2f96e2=new URL(_0x1e8cdf['url']??'/',_0x209f4a(0x103)+CALLBACK_PORT);if(_0x1f97e6['WJgdb'](_0x2f96e2['pathname'],_0x209f4a(0xbb))){_0x1fd188['writeHead'](0x194),_0x1fd188[_0x209f4a(0xfb)]('Not\x20found');return;}const _0x3a57a3=_0x2f96e2['searchParams'][_0x209f4a(0xc0)](_0x1f97e6['UxeqG']),_0x2cacfa=_0x2f96e2[_0x209f4a(0x101)]['get'](_0x1f97e6[_0x209f4a(0xb6)]),_0x1353d6=_0x2f96e2[_0x209f4a(0x101)]['get'](_0x1f97e6[_0x209f4a(0xb1)]);if(_0x1353d6){const _0x144f07=_0x2f96e2['searchParams']['get'](_0x1f97e6[_0x209f4a(0x10c)])??_0x1353d6;_0x1fd188['writeHead'](0xc8,{'Content-Type':_0x209f4a(0x9f)}),_0x1fd188[_0x209f4a(0xfb)]('<html><body><h2>Authentication\x20failed</h2><p>'+_0x144f07+_0x209f4a(0x110)),clearTimeout(_0x5db271),_0x108eec[_0x209f4a(0xc7)](),_0x5208d5(new Error('OAuth\x20error:\x20'+_0x144f07));return;}if(!_0x3a57a3||_0x2cacfa!==_0x4a310e){_0x1fd188[_0x209f4a(0x107)](0x190,{'Content-Type':_0x209f4a(0x9f)}),_0x1fd188[_0x209f4a(0xfb)](_0x1f97e6[_0x209f4a(0x9d)]);return;}_0x1fd188['writeHead'](0xc8,{'Content-Type':_0x1f97e6[_0x209f4a(0x117)]}),_0x1fd188['end'](_0x1f97e6[_0x209f4a(0xee)]),clearTimeout(_0x5db271),_0x108eec[_0x209f4a(0xc7)](),_0x1f97e6[_0x209f4a(0x93)](_0x1c3c82,_0x3a57a3);});_0x108eec['listen'](CALLBACK_PORT,_0x5ab5d0['hOJZo']);});}async function openBrowser(_0x2bfef4){const _0x34164b=_0xc9d8f1,_0x322a34={'kfTxL':function(_0x449b7c,_0x55f654){return _0x449b7c===_0x55f654;},'VBnBO':_0x34164b(0xce),'ZLOIG':_0x34164b(0x122),'undqQ':function(_0x5e50d7,_0x17900e){return _0x5e50d7(_0x17900e);}},{exec:_0x54b444}=await import('child_process'),_0x5a93f3=process['platform']===_0x34164b(0xdd)?'open':_0x322a34[_0x34164b(0xa4)](process[_0x34164b(0xf9)],_0x322a34[_0x34164b(0x100)])?_0x322a34['ZLOIG']:'xdg-open';_0x322a34[_0x34164b(0x10d)](_0x54b444,_0x5a93f3+'\x20\x22'+_0x2bfef4+'\x22');}let currentOrigin='';async function loadCachedToken(){const _0x5c4a2b=_0xc9d8f1,_0x1f6746={'LWNnb':'utf-8','QyCHY':function(_0x345628,_0x162edb){return _0x345628!==_0x162edb;}};try{const _0x4b1566=JSON[_0x5c4a2b(0xfa)](await readFile(TOKEN_CACHE_PATH,_0x1f6746[_0x5c4a2b(0xd9)]));if(_0x4b1566[_0x5c4a2b(0xe0)]&&_0x1f6746[_0x5c4a2b(0xae)](_0x4b1566[_0x5c4a2b(0xe0)],currentOrigin))return null;if(_0x4b1566[_0x5c4a2b(0x119)]&&Date['now']()>_0x4b1566['expiresAt'])return null;return _0x4b1566['accessToken']??null;}catch{return null;}}async function saveCachedToken(_0x24df88,_0x555d49,_0x249ffd){const _0x5a8d03=_0xc9d8f1,_0x4ec214={'JBVlM':function(_0x4dd153,_0x331a60){return _0x4dd153+_0x331a60;},'bVraq':function(_0x372a8b,_0x21b872,_0x4e801d){return _0x372a8b(_0x21b872,_0x4e801d);}},_0x59c617=await loadCachedData(),_0x254ee5={..._0x59c617,'origin':currentOrigin,'accessToken':_0x24df88,'refreshToken':_0x555d49??_0x59c617?.['refreshToken'],'expiresAt':_0x249ffd?_0x4ec214['JBVlM'](Date['now'](),_0x249ffd*0x3e8):undefined};await mkdir(_0x4ec214['bVraq'](join,homedir(),'.ranger'),{'recursive':!![]}),await writeFile(TOKEN_CACHE_PATH,JSON[_0x5a8d03(0x10f)](_0x254ee5),{'mode':0x180});}async function loadCachedClient(){const _0x22c714=_0xc9d8f1,_0x481ce0={'csWAu':function(_0x36a6e3){return _0x36a6e3();}},_0x7aef1d=await _0x481ce0['csWAu'](loadCachedData);if(_0x7aef1d?.['origin']&&_0x7aef1d['origin']!==currentOrigin)return null;return _0x7aef1d?.[_0x22c714(0x125)]?{'clientId':_0x7aef1d[_0x22c714(0x125)],'clientSecret':_0x7aef1d['clientSecret']}:null;}async function clearCachedClient(){const _0x3e3a03=_0xc9d8f1,_0x2cc70c={'zdKGH':function(_0x1c986c,_0x5144e2,_0x3b26f7,_0x5bf84f){return _0x1c986c(_0x5144e2,_0x3b26f7,_0x5bf84f);}},_0x8469d6=await loadCachedData();if(!_0x8469d6)return;const {clientId:_0x3e18a9,clientSecret:_0x6b1eb9,..._0x57d19f}=_0x8469d6;await _0x2cc70c[_0x3e3a03(0xb9)](writeFile,TOKEN_CACHE_PATH,JSON[_0x3e3a03(0x10f)](_0x57d19f),{'mode':0x180});}async function saveCachedClient(_0x367d3a,_0x527940){const _0x5346e=_0xc9d8f1,_0x579c39={'GVrAe':function(_0x40b18f){return _0x40b18f();},'rNiEX':function(_0x55a648){return _0x55a648();},'jVTXA':_0x5346e(0xc5),'nLinv':function(_0x440415,_0x40bd68,_0x4c2344,_0x45d07b){return _0x440415(_0x40bd68,_0x4c2344,_0x45d07b);}},_0x1d546f=await _0x579c39[_0x5346e(0xa7)](loadCachedData),_0x4a448a={..._0x1d546f,'origin':currentOrigin,'accessToken':_0x1d546f?.[_0x5346e(0xe8)]??'','clientId':_0x367d3a,'clientSecret':_0x527940};await mkdir(join(_0x579c39['rNiEX'](homedir),_0x579c39[_0x5346e(0x109)]),{'recursive':!![]}),await _0x579c39['nLinv'](writeFile,TOKEN_CACHE_PATH,JSON[_0x5346e(0x10f)](_0x4a448a),{'mode':0x180});}async function loadCachedData(){const _0x1eebf1=_0xc9d8f1;try{return JSON['parse'](await readFile(TOKEN_CACHE_PATH,_0x1eebf1(0x105)));}catch{return null;}}async function parseResponse(_0x4d3ed3){const _0x5f588c=_0xc9d8f1,_0x5b5ea7={'CWMwV':_0x5f588c(0x11e),'Hyfur':'data:','WdNmY':_0x5f588c(0x102)},_0xe6bc4f=_0x4d3ed3['headers']['get'](_0x5b5ea7['CWMwV'])??'';if(_0xe6bc4f['includes'](_0x5f588c(0x121))){const _0x3f1463=await _0x4d3ed3[_0x5f588c(0x91)]();for(const _0x470c0c of _0x3f1463[_0x5f588c(0x94)]('\x0a')){const _0x4e3f77=_0x470c0c['trim']();if(_0x4e3f77['startsWith'](_0x5b5ea7['Hyfur'])){const _0x483ec6=_0x4e3f77[_0x5f588c(0xb4)](_0x5b5ea7[_0x5f588c(0x8f)]['length'])['trim']();if(!_0x483ec6)continue;try{const _0x1a6cdd=JSON['parse'](_0x483ec6);if(_0x1a6cdd['id']!==undefined||_0x1a6cdd[_0x5f588c(0x127)])return _0x1a6cdd;}catch{}}}throw new Error(_0x5b5ea7[_0x5f588c(0xf1)]);}return _0x4d3ed3['json']();}function extractToken(_0x593008){const _0x4b5d91=_0xc9d8f1,_0x5beafe={'mdiHU':function(_0x244016,_0x33da44){return _0x244016===_0x33da44;},'SXUzd':'string','vpJgj':function(_0xa6651c,_0x3c260f){return _0xa6651c===_0x3c260f;}};if(!_0x593008)return null;const _0x40c606=_0x593008[_0x4b5d91(0x115)];if(_0x40c606?.[_0x4b5d91(0xa6)]&&_0x5beafe['mdiHU'](typeof _0x40c606['token'],_0x5beafe['SXUzd']))return _0x40c606['token'];if(_0x593008['isError']){const _0x413b97=_0x593008[_0x4b5d91(0x116)];throw new Error('Server\x20returned\x20error:\x20'+(_0x413b97?.[0x0]?.[_0x4b5d91(0x91)]??_0x4b5d91(0xbe)));}const _0x51b1a3=_0x593008[_0x4b5d91(0x116)];if(_0x51b1a3)for(const _0x4e799f of _0x51b1a3){if(_0x5beafe[_0x4b5d91(0x114)](_0x4e799f[_0x4b5d91(0x92)],_0x4b5d91(0x91))&&_0x4e799f['text']){try{const _0x4cdd77=JSON[_0x4b5d91(0xfa)](_0x4e799f['text']);if(typeof _0x4cdd77?.[_0x4b5d91(0xa6)]===_0x4b5d91(0xf8))return _0x4cdd77['token'];}catch{}const _0x12692e=_0x4e799f['text'][_0x4b5d91(0x113)](/(rngr_[A-Za-z0-9_-]+)/);if(_0x12692e)return _0x12692e[0x1];}}return null;}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(_0x20ee61,_0x5d2ac6){const _0x2820e5=_0x3267,_0x49c71a=_0x20ee61();while(!![]){try{const _0x2ae43e=-parseInt(_0x2820e5(0x21f))/0x1*(-parseInt(_0x2820e5(0x1fa))/0x2)+-parseInt(_0x2820e5(0x21a))/0x3*(-parseInt(_0x2820e5(0x1f5))/0x4)+-parseInt(_0x2820e5(0x232))/0x5*(parseInt(_0x2820e5(0x20e))/0x6)+-parseInt(_0x2820e5(0x231))/0x7*(-parseInt(_0x2820e5(0x215))/0x8)+parseInt(_0x2820e5(0x22a))/0x9+-parseInt(_0x2820e5(0x23e))/0xa*(parseInt(_0x2820e5(0x212))/0xb)+-parseInt(_0x2820e5(0x219))/0xc*(parseInt(_0x2820e5(0x227))/0xd);if(_0x2ae43e===_0x5d2ac6)break;else _0x49c71a['push'](_0x49c71a['shift']());}catch(_0x14f7b7){_0x49c71a['push'](_0x49c71a['shift']());}}}(_0x1e06,0x4e565));import{readFile,rm}from'fs/promises';import{existsSync}from'fs';import{join}from'path';function _0x1e06(){const _0x2357f2=['185861djRPwZ','\x20\x20⚠\x20','tEDyP',',\x20baseUrl\x20override\x20→\x20projects.json)','RANGER_TEST_PASSWORD','length','ZvAuQ','env','3586791weyFoV',':\x20failed\x20to\x20delete\x20local\x20dir\x20','fKGBp','3728691RCTmLr','ovLkf','Aborted.','migrate','zsdcd','authJsonPath','profile.migrate.started','119pUYEvC','22965geaBCk','SvdEk','trackPhaseStart','AXaUu','HDJJo','BFAJD','trackPhaseEnd','kind','AfmiI','environments','log','preserveBaseUrl','50KdynuK','\x20migrated\x20to\x20cloud\x20(env:\x20','idJpj','yHTvY','KQZXT','some','sdbxO','profile.migrate.succeeded','saveCreds','profileName',':\x20--save-creds\x20requested,\x20but\x20RANGER_TEST_USERNAME/PASSWORD\x20not\x20set\x20in\x20env.','OmPkg','\x20profile','htXCk','yTQvX','name_conflict','\x20\x20✓\x20',',\x20matches\x20','25436dhjVqj','rsGAu','No\x20cloud\x20profile\x20auth\x20config\x20found\x20for\x20this\x20org.\x20Migration\x20requires\x20at\x20least\x20one\x20configured\x20auth\x20environment.','settings','join','4jwvJBN','ZXgot','reason','AsRiS','baseUrl','\x20migrated','NCtyF','skip','keys','\x20skipped','message','no\x20baseUrl\x20in\x20settings.json','RNFyP','After\x20migration,\x20uncommit\x20it:','dryRun','\x20→\x20skip\x20(',':\x20session\x20upload\x20failed\x20(','Continuing\x20with\x20migration...','push','cwd','708cVLACf','Warning:\x20.ranger/\x20is\x20tracked\x20in\x20this\x20git\x20repo.','\x20\x20✗\x20','envKey','1262547HGexuM','padEnd','lCphO','145784YxHsax','yWrXR','\x20→\x20cloud\x20(env:\x20','Nhfdb','12AVIrrx','291MEsBPj','ies','entries','isTTY','ZReUW'];_0x1e06=function(){return _0x2357f2;};return _0x1e06();}import _0x28ea0f from'inquirer';import{getEnvNames}from'./env.js';import{getEnvDir,loadSettings}from'./utils/settings.js';import{getRangerDir}from'./utils/rangerRoot.js';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 _0x3267(_0x2ad2e1,_0x24a2ee){_0x2ad2e1=_0x2ad2e1-0x1f3;const _0x1e0617=_0x1e06();let _0x3267fb=_0x1e0617[_0x2ad2e1];return _0x3267fb;}function formatPlanLine(_0x232c34){const _0x5f31fd=_0x3267;if(_0x232c34[_0x5f31fd(0x239)]===_0x5f31fd(0x201))return'\x20\x20'+_0x232c34[_0x5f31fd(0x247)][_0x5f31fd(0x213)](0x1e)+_0x5f31fd(0x209)+_0x232c34[_0x5f31fd(0x1fc)]+')';if(_0x232c34[_0x5f31fd(0x23d)]&&_0x232c34['baseUrl'])return'\x20\x20'+_0x232c34['profileName']['padEnd'](0x1e)+'\x20→\x20cloud\x20(env:\x20'+_0x232c34[_0x5f31fd(0x211)]+',\x20preserving\x20baseUrl\x20'+_0x232c34[_0x5f31fd(0x1fe)]+'\x20as\x20project\x20override)';if(_0x232c34[_0x5f31fd(0x1fe)])return'\x20\x20'+_0x232c34['profileName'][_0x5f31fd(0x213)](0x1e)+'\x20→\x20cloud\x20(env:\x20'+_0x232c34[_0x5f31fd(0x211)]+_0x5f31fd(0x1f4)+_0x232c34['baseUrl']+')';return'\x20\x20'+_0x232c34['profileName']['padEnd'](0x1e)+_0x5f31fd(0x217)+_0x232c34[_0x5f31fd(0x211)]+')';}function shouldWarnGitTrackedOnce(_0xf229ec){const _0x210606=_0x3267,_0x339b04={'sdbxO':function(_0x287e57){return _0x287e57();},'htXCk':function(_0x207b50,_0x9a9943){return _0x207b50===_0x9a9943;},'dDsDH':function(_0x46092e,_0x26cfee){return _0x46092e(_0x26cfee);}},_0x2d2506=_0x339b04[_0x210606(0x244)](readProjectsConfig),_0x5d9ae5=_0x2d2506['projects'][_0xf229ec]??={},_0x58ee0f=_0x5d9ae5['_warnings']??={},_0x535ba7=_0x58ee0f['gitTrackedRanger'],_0x20f248=new Date(),_0xb5f363=_0x20f248['toISOString']()['slice'](0x0,0xa);if(_0x339b04[_0x210606(0x24b)](_0x535ba7,_0xb5f363))return![];return _0x58ee0f['gitTrackedRanger']=_0xb5f363,_0x339b04['dDsDH'](writeProjectsConfig,_0x2d2506),!![];}export async function migrateProfile(_0x3d3ab7,_0x125ba3){const _0x4dfbe8=_0x3267,_0x48b329={'AzkeC':function(_0x816468,_0x27afaa){return _0x816468===_0x27afaa;},'tRkqi':'Provide\x20a\x20profile\x20name\x20or\x20--all.\x0a\x20\x20Example:\x20ranger\x20profile\x20migrate\x20--all\x20--dry-run','ZXgot':function(_0x23f58a,_0xcf7471){return _0x23f58a===_0xcf7471;},'HXjSd':'No\x20local\x20profiles\x20found\x20to\x20migrate.','OmPkg':function(_0x4add4e,_0x2515fd){return _0x4add4e(_0x2515fd);},'BFAJD':'local\x20profile\x20directory\x20not\x20found','yHTvY':function(_0x325de9,_0x333362){return _0x325de9(_0x333362);},'idJpj':'skip','nyVGa':'no\x20matching\x20auth\x20env','Huvsq':function(_0x57dda5,_0x3fbc07){return _0x57dda5===_0x3fbc07;},'uXWnU':function(_0x32c45d,_0x2f3ae8){return _0x32c45d===_0x2f3ae8;},'fKGBp':function(_0x43a26d,_0x5d9670,_0x51cb12){return _0x43a26d(_0x5d9670,_0x51cb12);},'SvdEk':'auth.json','RNFyP':_0x4dfbe8(0x22d),'qMGCd':'Nothing\x20migrated.\x20Run\x20without\x20--dry-run\x20to\x20apply.','AfmiI':function(_0x226503,_0x29bf23){return _0x226503&&_0x29bf23;},'OqFzC':'confirm','rsGAu':'proceed','lCphO':function(_0x25186b){return _0x25186b();},'AsRiS':function(_0x65954c,_0x312de0){return _0x65954c(_0x312de0);},'tEDyP':'\x20\x20git\x20rm\x20-r\x20--cached\x20.ranger/','zsdcd':'\x20\x20echo\x20\x27.ranger/\x27\x20>>\x20.gitignore','QqUBy':_0x4dfbe8(0x20b),'AXaUu':'profile.migrate.skipped','ovLkf':function(_0x4eda77,_0x26d53d,_0x683d9,_0x38e80b){return _0x4eda77(_0x26d53d,_0x683d9,_0x38e80b);},'ZvAuQ':function(_0x3f2fec,_0x252082){return _0x3f2fec instanceof _0x252082;},'NCtyF':_0x4dfbe8(0x24d),'KQZXT':'utf-8','KXstR':function(_0x3fe4a7,_0x488e2d,_0x4bda1c){return _0x3fe4a7(_0x488e2d,_0x4bda1c);},'yTQvX':function(_0x4863a8,_0x3d1258){return _0x4863a8 instanceof _0x3d1258;},'yWrXR':function(_0x1a82b3,_0x985ecc,_0x3d6f7a){return _0x1a82b3(_0x985ecc,_0x3d6f7a);},'ZReUW':function(_0x177779,_0x369712){return _0x177779(_0x369712);},'Nhfdb':function(_0xbae068,_0x44f8b6){return _0xbae068>_0x44f8b6;},'oeNyv':function(_0x1d782c,_0x818984){return _0x1d782c===_0x818984;},'HDJJo':_0x4dfbe8(0x21b)};if(!_0x3d3ab7[_0x4dfbe8(0x247)]&&!_0x3d3ab7['all'])throw new Error(_0x48b329['tRkqi']);let _0x4ef71e;try{_0x4ef71e=await fetchAuthConfig();}catch(_0x40c63a){throw new Error('Could\x20not\x20fetch\x20auth\x20config\x20('+(_0x40c63a instanceof Error?_0x40c63a[_0x4dfbe8(0x204)]:String(_0x40c63a))+').\x20Run:\x20ranger\x20setup');}if(!_0x4ef71e||!_0x4ef71e['environments']||_0x48b329['ZXgot'](Object[_0x4dfbe8(0x202)](_0x4ef71e[_0x4dfbe8(0x23b)])['length'],0x0))throw new Error(_0x4dfbe8(0x1f7));const _0x1f6e91=[];if(_0x3d3ab7['all']){const {envNames:_0x36326e,envTypes:_0x5614b7}=await getEnvNames();for(const _0x2c4565 of _0x36326e){if(_0x5614b7[_0x2c4565]==='ci')continue;_0x1f6e91['push'](_0x2c4565);}}else _0x3d3ab7[_0x4dfbe8(0x247)]&&_0x1f6e91[_0x4dfbe8(0x20c)](_0x3d3ab7[_0x4dfbe8(0x247)]);if(_0x1f6e91[_0x4dfbe8(0x224)]===0x0){console['log'](_0x48b329['HXjSd']);return;}const _0x322ad0=[];for(const _0x3e13dd of _0x1f6e91){const _0x406eac=_0x48b329[_0x4dfbe8(0x249)](getEnvDir,_0x3e13dd);if(!_0x48b329['OmPkg'](existsSync,_0x406eac)){_0x322ad0['push']({'kind':_0x4dfbe8(0x201),'profileName':_0x3e13dd,'reason':_0x48b329[_0x4dfbe8(0x237)]});continue;}const _0x5ea7f6=await _0x48b329[_0x4dfbe8(0x241)](loadSettings,_0x3e13dd),_0x50c42f=_0x5ea7f6[_0x4dfbe8(0x1fe)];if(!_0x50c42f){_0x322ad0[_0x4dfbe8(0x20c)]({'kind':_0x48b329['idJpj'],'profileName':_0x3e13dd,'reason':_0x4dfbe8(0x205)});continue;}const _0x3c9643=matchAuthEnvironment(_0x50c42f,_0x4ef71e);if(!_0x3c9643){_0x322ad0['push']({'kind':_0x48b329[_0x4dfbe8(0x240)],'profileName':_0x3e13dd,'reason':_0x48b329['nyVGa']});continue;}const _0x104fa6=_0x4ef71e['environments'][_0x3c9643],_0x389341=_0x104fa6?.['domains']??[],_0x10a992=_0x389341[_0x4dfbe8(0x243)](_0x53782a=>{try{return _0x48b329['AzkeC'](new URL(_0x53782a)['origin'],new URL(_0x50c42f)['origin']);}catch{return![];}}),_0x346954={};for(const [_0x185a89,_0x224af9]of Object[_0x4dfbe8(0x21c)](_0x5ea7f6)){if(_0x48b329['Huvsq'](_0x185a89,'baseUrl'))continue;if(_0x48b329['uXWnU'](_0x224af9,undefined))continue;_0x346954[_0x185a89]=_0x224af9;}!_0x10a992&&(_0x346954[_0x4dfbe8(0x1fe)]=_0x50c42f);const _0x294acc=_0x48b329[_0x4dfbe8(0x229)](join,_0x406eac,_0x48b329[_0x4dfbe8(0x233)]),_0x4c8a1f=existsSync(_0x294acc);_0x322ad0[_0x4dfbe8(0x20c)]({'kind':_0x48b329[_0x4dfbe8(0x206)],'profileName':_0x3e13dd,'envKey':_0x3c9643,'baseUrl':_0x50c42f,'preserveBaseUrl':!_0x10a992,'settings':_0x346954,'authJsonPath':_0x4c8a1f?_0x294acc:null});}console[_0x4dfbe8(0x23c)]('Plan:');for(const _0x1dce6a of _0x322ad0){console['log'](formatPlanLine(_0x1dce6a));}if(_0x3d3ab7[_0x4dfbe8(0x208)]){console[_0x4dfbe8(0x23c)](_0x48b329['qMGCd']);return;}const _0x310cfc=Boolean(process['stdin']['isTTY']&&process['stdout'][_0x4dfbe8(0x21d)]),_0x3bb00a=_0x322ad0['some'](_0x4565d4=>_0x4565d4[_0x4dfbe8(0x239)]===_0x4dfbe8(0x22d));if(_0x48b329[_0x4dfbe8(0x23a)](_0x3bb00a,_0x310cfc)&&!_0x3d3ab7['yes']){const {proceed:_0x3f0a7b}=await _0x28ea0f['prompt']([{'type':_0x48b329['OqFzC'],'name':_0x48b329[_0x4dfbe8(0x1f6)],'message':'Proceed?','default':![]}]);if(!_0x3f0a7b){console['log'](_0x4dfbe8(0x22c));return;}}const _0x10b475=_0x48b329[_0x4dfbe8(0x214)](getRangerDir);let _0x895d3a=![];if(existsSync(_0x10b475))try{_0x895d3a=await isPathGitTracked(_0x10b475);}catch{_0x895d3a=![];}_0x895d3a&&_0x48b329[_0x4dfbe8(0x1fd)](shouldWarnGitTrackedOnce,process[_0x4dfbe8(0x20d)]())&&(console[_0x4dfbe8(0x23c)](_0x4dfbe8(0x20f)),console['log'](_0x4dfbe8(0x207)),console['log'](_0x48b329[_0x4dfbe8(0x221)]),console[_0x4dfbe8(0x23c)](_0x48b329[_0x4dfbe8(0x22e)]),console[_0x4dfbe8(0x23c)](_0x48b329['QqUBy']));let _0x232834=0x0,_0x56ff4e=0x0,_0x386083=0x0,_0x4bb560=0x0;for(const _0x8e7e97 of _0x322ad0){if(_0x48b329[_0x4dfbe8(0x1fb)](_0x8e7e97[_0x4dfbe8(0x239)],_0x48b329[_0x4dfbe8(0x240)])){_0x4bb560++,_0x125ba3?.[_0x4dfbe8(0x238)](_0x48b329['AXaUu'],{'profileName':_0x8e7e97['profileName'],'reason':_0x8e7e97['reason']});continue;}_0x125ba3?.[_0x4dfbe8(0x234)](_0x4dfbe8(0x230),{'profileName':_0x8e7e97[_0x4dfbe8(0x247)],'envKey':_0x8e7e97[_0x4dfbe8(0x211)]});try{try{await _0x48b329[_0x4dfbe8(0x22b)](createCloudProfile,_0x8e7e97[_0x4dfbe8(0x247)],_0x8e7e97['envKey'],{'settings':_0x8e7e97[_0x4dfbe8(0x1f8)]});}catch(_0x82bd29){if(_0x48b329[_0x4dfbe8(0x225)](_0x82bd29,ApiError)&&_0x82bd29['status']===0x199){console[_0x4dfbe8(0x23c)](_0x4dfbe8(0x220)+_0x8e7e97['profileName']+':\x20cloud\x20profile\x20with\x20this\x20name\x20already\x20exists.\x20Skipping.'),_0x4bb560++,_0x125ba3?.['trackPhaseEnd'](_0x48b329[_0x4dfbe8(0x235)],{'profileName':_0x8e7e97['profileName'],'reason':_0x48b329[_0x4dfbe8(0x200)]});continue;}throw _0x82bd29;}let _0x2ed994=![],_0x22d741=![];if(_0x8e7e97['authJsonPath'])try{const _0x697bbd=await readFile(_0x8e7e97[_0x4dfbe8(0x22f)],_0x48b329[_0x4dfbe8(0x242)]),_0x3a95a=JSON['parse'](_0x697bbd);await _0x48b329['KXstR'](uploadCloudProfileSession,_0x8e7e97[_0x4dfbe8(0x247)],_0x3a95a),_0x2ed994=!![];}catch(_0x1c58a4){_0x22d741=!![],console['log'](_0x4dfbe8(0x220)+_0x8e7e97['profileName']+_0x4dfbe8(0x20a)+(_0x48b329['yTQvX'](_0x1c58a4,Error)?_0x1c58a4['message']:String(_0x1c58a4))+').\x20Cloud\x20profile\x20created;\x20local\x20auth.json\x20left\x20in\x20place.');}let _0x452ca1=![];if(_0x3d3ab7[_0x4dfbe8(0x246)]){const _0x32ae64=process[_0x4dfbe8(0x226)]['RANGER_TEST_USERNAME'],_0x488de6=process[_0x4dfbe8(0x226)][_0x4dfbe8(0x223)];if(_0x32ae64&&_0x488de6)try{await _0x48b329[_0x4dfbe8(0x22b)](saveCloudProfileCredentials,_0x8e7e97['profileName'],_0x32ae64,_0x488de6),_0x452ca1=!![];}catch(_0x28563f){console[_0x4dfbe8(0x23c)]('\x20\x20⚠\x20'+_0x8e7e97[_0x4dfbe8(0x247)]+':\x20failed\x20to\x20save\x20credentials\x20('+(_0x28563f instanceof Error?_0x28563f['message']:String(_0x28563f))+').');}else console[_0x4dfbe8(0x23c)]('\x20\x20⚠\x20'+_0x8e7e97[_0x4dfbe8(0x247)]+_0x4dfbe8(0x248));}if(_0x8e7e97[_0x4dfbe8(0x23d)]&&_0x8e7e97[_0x4dfbe8(0x1fe)])try{setProfileOverride(process['cwd'](),_0x8e7e97['profileName'],_0x4dfbe8(0x1fe),_0x8e7e97[_0x4dfbe8(0x1fe)]);}catch(_0x5c1621){console[_0x4dfbe8(0x23c)]('\x20\x20⚠\x20'+_0x8e7e97[_0x4dfbe8(0x247)]+':\x20failed\x20to\x20write\x20projects.json\x20override\x20('+(_0x48b329[_0x4dfbe8(0x24c)](_0x5c1621,Error)?_0x5c1621[_0x4dfbe8(0x204)]:_0x48b329['OmPkg'](String,_0x5c1621))+').');}const _0x16933c=getEnvDir(_0x8e7e97['profileName']);if(!_0x22d741&&existsSync(_0x16933c))try{await _0x48b329[_0x4dfbe8(0x216)](rm,_0x16933c,{'recursive':!![],'force':!![]}),_0x56ff4e++;}catch(_0xda0d99){console['log'](_0x4dfbe8(0x220)+_0x8e7e97[_0x4dfbe8(0x247)]+_0x4dfbe8(0x228)+_0x16933c+'\x20('+(_0x48b329[_0x4dfbe8(0x225)](_0xda0d99,Error)?_0xda0d99[_0x4dfbe8(0x204)]:String(_0xda0d99))+').');}_0x232834++,_0x8e7e97[_0x4dfbe8(0x23d)]&&_0x8e7e97[_0x4dfbe8(0x1fe)]?console[_0x4dfbe8(0x23c)]('\x20\x20✓\x20'+_0x8e7e97[_0x4dfbe8(0x247)]+_0x4dfbe8(0x23f)+_0x8e7e97[_0x4dfbe8(0x211)]+_0x4dfbe8(0x222)):console['log'](_0x4dfbe8(0x1f3)+_0x8e7e97[_0x4dfbe8(0x247)]+_0x4dfbe8(0x23f)+_0x8e7e97['envKey']+')'),_0x125ba3?.['trackPhaseEnd'](_0x4dfbe8(0x245),{'profileName':_0x8e7e97[_0x4dfbe8(0x247)],'envKey':_0x8e7e97['envKey'],'wasGitTracked':_0x895d3a,'hadSession':_0x2ed994,'savedCreds':_0x452ca1});}catch(_0x195ff2){_0x386083++,console['log'](_0x4dfbe8(0x210)+_0x8e7e97[_0x4dfbe8(0x247)]+'\x20failed:\x20'+(_0x48b329['yTQvX'](_0x195ff2,Error)?_0x195ff2['message']:String(_0x195ff2))),_0x125ba3?.['trackPhaseEnd']('profile.migrate.failed',{'profileName':_0x8e7e97['profileName'],'error':_0x195ff2 instanceof Error?_0x195ff2['message']:_0x48b329[_0x4dfbe8(0x21e)](String,_0x195ff2)});}}const _0x3706a7=[];if(_0x48b329[_0x4dfbe8(0x218)](_0x232834,0x0))_0x3706a7['push'](_0x232834+_0x4dfbe8(0x24a)+(_0x48b329['oeNyv'](_0x232834,0x1)?'':'s')+_0x4dfbe8(0x1ff));if(_0x48b329['Nhfdb'](_0x56ff4e,0x0))_0x3706a7[_0x4dfbe8(0x20c)]('Deleted\x20'+_0x56ff4e+'\x20local\x20director'+(_0x56ff4e===0x1?'y':_0x48b329[_0x4dfbe8(0x236)]));if(_0x4bb560>0x0)_0x3706a7[_0x4dfbe8(0x20c)](_0x4bb560+_0x4dfbe8(0x203));if(_0x48b329['Nhfdb'](_0x386083,0x0))_0x3706a7[_0x4dfbe8(0x20c)](_0x386083+'\x20failed');if(_0x3706a7['length']>0x0)console[_0x4dfbe8(0x23c)](_0x3706a7[_0x4dfbe8(0x1f9)]('.\x20')+'.');}
|
|
1
|
+
(function(_0x2f429b,_0x134b10){const _0x448cc7=_0x3581,_0x418eab=_0x2f429b();while(!![]){try{const _0x206b72=parseInt(_0x448cc7(0xe7))/0x1+parseInt(_0x448cc7(0xd7))/0x2*(parseInt(_0x448cc7(0x10c))/0x3)+-parseInt(_0x448cc7(0xe9))/0x4*(parseInt(_0x448cc7(0x101))/0x5)+parseInt(_0x448cc7(0xff))/0x6*(-parseInt(_0x448cc7(0xec))/0x7)+-parseInt(_0x448cc7(0xd8))/0x8*(parseInt(_0x448cc7(0xbb))/0x9)+-parseInt(_0x448cc7(0xf3))/0xa*(-parseInt(_0x448cc7(0xde))/0xb)+-parseInt(_0x448cc7(0x105))/0xc;if(_0x206b72===_0x134b10)break;else _0x418eab['push'](_0x418eab['shift']());}catch(_0x35abe3){_0x418eab['push'](_0x418eab['shift']());}}}(_0x1f61,0x225dc));import{readFile,rm}from'fs/promises';import{existsSync}from'fs';import{join}from'path';import _0x2c77f1 from'inquirer';import{getEnvNames}from'./env.js';import{getEnvDir,loadSettings}from'./utils/settings.js';function _0x3581(_0x2cc7e2,_0x4258ec){_0x2cc7e2=_0x2cc7e2-0xbb;const _0x1f61dd=_0x1f61();let _0x3581bc=_0x1f61dd[_0x2cc7e2];return _0x3581bc;}import{getRangerDir}from'./utils/rangerRoot.js';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(_0x2ba3a6){const _0x755914=_0x3581;if(_0x2ba3a6[_0x755914(0xcc)]==='skip')return'\x20\x20'+_0x2ba3a6[_0x755914(0xdc)]['padEnd'](0x1e)+'\x20→\x20skip\x20('+_0x2ba3a6[_0x755914(0xf5)]+')';if(_0x2ba3a6[_0x755914(0xcb)]&&_0x2ba3a6['baseUrl'])return'\x20\x20'+_0x2ba3a6['profileName'][_0x755914(0xed)](0x1e)+_0x755914(0xca)+_0x2ba3a6[_0x755914(0xc7)]+_0x755914(0xe1)+_0x2ba3a6[_0x755914(0xdd)]+_0x755914(0xe5);if(_0x2ba3a6['baseUrl'])return'\x20\x20'+_0x2ba3a6[_0x755914(0xdc)]['padEnd'](0x1e)+_0x755914(0xca)+_0x2ba3a6['envKey']+_0x755914(0xd9)+_0x2ba3a6[_0x755914(0xdd)]+')';return'\x20\x20'+_0x2ba3a6['profileName'][_0x755914(0xed)](0x1e)+'\x20→\x20cloud\x20(env:\x20'+_0x2ba3a6['envKey']+')';}function shouldWarnGitTrackedOnce(_0x3656a5){const _0x26e892=_0x3581,_0x24952f={'pgykA':function(_0x29a70b){return _0x29a70b();},'ULPAi':function(_0x3b17ab,_0x434afc){return _0x3b17ab(_0x434afc);}},_0x17da6f=_0x24952f['pgykA'](readProjectsConfig),_0x272982=_0x17da6f[_0x26e892(0xd6)][_0x3656a5]??={},_0x4943c6=_0x272982['_warnings']??={},_0x41886e=_0x4943c6[_0x26e892(0xd3)],_0x1a7eef=new Date(),_0x23e766=_0x1a7eef[_0x26e892(0xc1)]()[_0x26e892(0x107)](0x0,0xa);if(_0x41886e===_0x23e766)return![];return _0x4943c6['gitTrackedRanger']=_0x23e766,_0x24952f['ULPAi'](writeProjectsConfig,_0x17da6f),!![];}export async function migrateProfile(_0x405c37,_0x5f59be){const _0x52650e=_0x3581,_0x31350f={'VTtft':function(_0x4e8b9a,_0x4b6f88){return _0x4e8b9a===_0x4b6f88;},'kMSUo':function(_0x1d09d6){return _0x1d09d6();},'OAPyJ':function(_0x57cdb1,_0x58e4a6){return _0x57cdb1 instanceof _0x58e4a6;},'uPlYZ':function(_0x3f2d9a,_0x106757){return _0x3f2d9a(_0x106757);},'DqJBj':_0x52650e(0xc2),'nVPAL':function(_0x2abb79){return _0x2abb79();},'dOpQF':function(_0x30dd9b,_0x5708e6){return _0x30dd9b(_0x5708e6);},'yWhan':_0x52650e(0xeb),'hAUAn':'skip','fhqSQ':_0x52650e(0xbf),'DVTBz':function(_0x15d769,_0x23fa83,_0x1bf3e6){return _0x15d769(_0x23fa83,_0x1bf3e6);},'xOsol':function(_0x2372ff,_0x20cc17){return _0x2372ff===_0x20cc17;},'svgFq':_0x52650e(0xe6),'AXYoi':function(_0x1b02e1,_0x2e2e08){return _0x1b02e1&&_0x2e2e08;},'KPVzb':'Proceed?','svoAY':'Aborted.','YKyrZ':function(_0x28a7ea){return _0x28a7ea();},'WPtPI':'Warning:\x20.ranger/\x20is\x20tracked\x20in\x20this\x20git\x20repo.','mcQwM':_0x52650e(0x10a),'qYbKj':'Continuing\x20with\x20migration...','WoYVR':_0x52650e(0xf8),'hCvVr':function(_0x2a562e,_0xc8358b,_0x27668d,_0x1cff77){return _0x2a562e(_0xc8358b,_0x27668d,_0x1cff77);},'kBGBh':_0x52650e(0xd4),'gpczO':function(_0x2fce0d,_0x4158eb,_0x430ef4,_0x4f697d,_0x23f84e){return _0x2fce0d(_0x4158eb,_0x430ef4,_0x4f697d,_0x23f84e);},'hPxvL':_0x52650e(0xdd),'azADC':function(_0x1b3223,_0x283403){return _0x1b3223 instanceof _0x283403;},'ItGyZ':function(_0x546f13,_0x17014f){return _0x546f13>_0x17014f;},'QhpPS':function(_0x231885,_0x3182df){return _0x231885>_0x3182df;}};if(!_0x405c37['profileName']&&!_0x405c37[_0x52650e(0x102)])throw new Error(_0x52650e(0xe8));let _0x49b23d;try{_0x49b23d=await _0x31350f['kMSUo'](fetchAuthConfig);}catch(_0x4cfd06){throw new Error('Could\x20not\x20fetch\x20auth\x20config\x20('+(_0x31350f['OAPyJ'](_0x4cfd06,Error)?_0x4cfd06[_0x52650e(0xd0)]:_0x31350f['uPlYZ'](String,_0x4cfd06))+_0x52650e(0xda));}if(!_0x49b23d||!_0x49b23d[_0x52650e(0xf7)]||Object['keys'](_0x49b23d[_0x52650e(0xf7)])['length']===0x0)throw new Error(_0x31350f['DqJBj']);const _0x4e0342=[];if(_0x405c37['all']){const {envNames:_0x5ba593,envTypes:_0x4bf787}=await _0x31350f['nVPAL'](getEnvNames);for(const _0x17b333 of _0x5ba593){if(_0x31350f[_0x52650e(0xe3)](_0x4bf787[_0x17b333],'ci'))continue;_0x4e0342['push'](_0x17b333);}}else _0x405c37['profileName']&&_0x4e0342['push'](_0x405c37[_0x52650e(0xdc)]);if(_0x31350f['VTtft'](_0x4e0342[_0x52650e(0xc9)],0x0)){console['log'](_0x52650e(0xee));return;}const _0x289ddd=[];for(const _0x15b1f5 of _0x4e0342){const _0x390561=_0x31350f['uPlYZ'](getEnvDir,_0x15b1f5);if(!_0x31350f['dOpQF'](existsSync,_0x390561)){_0x289ddd[_0x52650e(0x104)]({'kind':'skip','profileName':_0x15b1f5,'reason':_0x31350f[_0x52650e(0xf0)]});continue;}const _0x4d4d95=await loadSettings(_0x15b1f5),_0x10f344=_0x4d4d95['baseUrl'];if(!_0x10f344){_0x289ddd['push']({'kind':_0x31350f['hAUAn'],'profileName':_0x15b1f5,'reason':_0x31350f['fhqSQ']});continue;}const _0x1b7634=_0x31350f[_0x52650e(0xc4)](matchAuthEnvironment,_0x10f344,_0x49b23d);if(!_0x1b7634){_0x289ddd[_0x52650e(0x104)]({'kind':'skip','profileName':_0x15b1f5,'reason':_0x52650e(0xbe)});continue;}const _0x42df44=_0x49b23d['environments'][_0x1b7634],_0x467d24=_0x42df44?.['domains']??[],_0x584832=_0x467d24[_0x52650e(0x100)](_0x1fb05a=>{const _0x2a8971=_0x52650e;try{return _0x31350f['VTtft'](new URL(_0x1fb05a)[_0x2a8971(0xc8)],new URL(_0x10f344)[_0x2a8971(0xc8)]);}catch{return![];}}),_0x1f6330={};for(const [_0x5b3ddd,_0x5a5686]of Object[_0x52650e(0xc6)](_0x4d4d95)){if(_0x5b3ddd==='baseUrl')continue;if(_0x31350f[_0x52650e(0xfe)](_0x5a5686,undefined))continue;_0x1f6330[_0x5b3ddd]=_0x5a5686;}!_0x584832&&(_0x1f6330[_0x52650e(0xdd)]=_0x10f344);const _0x39af06=join(_0x390561,'auth.json'),_0x2dad2a=existsSync(_0x39af06);_0x289ddd['push']({'kind':_0x52650e(0xf6),'profileName':_0x15b1f5,'envKey':_0x1b7634,'baseUrl':_0x10f344,'preserveBaseUrl':!_0x584832,'settings':_0x1f6330,'authJsonPath':_0x2dad2a?_0x39af06:null});}console[_0x52650e(0xe0)](_0x31350f[_0x52650e(0xf2)]);for(const _0x5a67eb of _0x289ddd){console['log'](_0x31350f[_0x52650e(0xcd)](formatPlanLine,_0x5a67eb));}if(_0x405c37[_0x52650e(0xfa)]){console[_0x52650e(0xe0)]('Nothing\x20migrated.\x20Run\x20without\x20--dry-run\x20to\x20apply.');return;}const _0x5d1aa2=Boolean(process['stdin']['isTTY']&&process['stdout'][_0x52650e(0xbd)]),_0x9e77d3=_0x289ddd[_0x52650e(0x100)](_0x475f8a=>_0x475f8a['kind']==='migrate');if(_0x31350f['AXYoi'](_0x9e77d3,_0x5d1aa2)&&!_0x405c37['yes']){const {proceed:_0x59ea36}=await _0x2c77f1['prompt']([{'type':'confirm','name':'proceed','message':_0x31350f['KPVzb'],'default':![]}]);if(!_0x59ea36){console['log'](_0x31350f[_0x52650e(0xdb)]);return;}}const _0x360280=_0x31350f[_0x52650e(0xd5)](getRangerDir);let _0x524a1f=![];if(existsSync(_0x360280))try{_0x524a1f=await isPathGitTracked(_0x360280);}catch{_0x524a1f=![];}_0x524a1f&&shouldWarnGitTrackedOnce(process[_0x52650e(0xc0)]())&&(console['log'](_0x31350f['WPtPI']),console['log']('After\x20migration,\x20uncommit\x20it:'),console['log'](_0x52650e(0xd2)),console['log'](_0x31350f['mcQwM']),console[_0x52650e(0xe0)](_0x31350f['qYbKj']));let _0x15ca46=0x0,_0x210972=0x0,_0x1b7ff2=0x0,_0x36fd90=0x0;for(const _0x2a91a5 of _0x289ddd){if(_0x31350f[_0x52650e(0xfe)](_0x2a91a5[_0x52650e(0xcc)],_0x52650e(0xfc))){_0x36fd90++,_0x5f59be?.['trackPhaseEnd'](_0x31350f['WoYVR'],{'profileName':_0x2a91a5['profileName'],'reason':_0x2a91a5['reason']});continue;}_0x5f59be?.['trackPhaseStart']('profile.migrate.started',{'profileName':_0x2a91a5['profileName'],'envKey':_0x2a91a5['envKey']});try{try{await _0x31350f['hCvVr'](createCloudProfile,_0x2a91a5[_0x52650e(0xdc)],_0x2a91a5[_0x52650e(0xc7)],{'settings':_0x2a91a5[_0x52650e(0xc3)]});}catch(_0x3a5d6b){if(_0x3a5d6b instanceof ApiError&&_0x31350f['VTtft'](_0x3a5d6b[_0x52650e(0x109)],0x199)){console[_0x52650e(0xe0)]('\x20\x20⚠\x20'+_0x2a91a5['profileName']+_0x52650e(0xce)),_0x36fd90++,_0x5f59be?.['trackPhaseEnd'](_0x31350f['WoYVR'],{'profileName':_0x2a91a5[_0x52650e(0xdc)],'reason':_0x31350f['kBGBh']});continue;}throw _0x3a5d6b;}let _0x600a78=![],_0x426d7f=![];if(_0x2a91a5[_0x52650e(0xf4)])try{const _0x5353e1=await _0x31350f['DVTBz'](readFile,_0x2a91a5['authJsonPath'],_0x52650e(0xdf)),_0x252037=JSON[_0x52650e(0xfd)](_0x5353e1);await uploadCloudProfileSession(_0x2a91a5['profileName'],_0x252037),_0x600a78=!![];}catch(_0x37b07a){_0x426d7f=!![],console['log'](_0x52650e(0x10d)+_0x2a91a5[_0x52650e(0xdc)]+':\x20session\x20upload\x20failed\x20('+(_0x31350f[_0x52650e(0xf1)](_0x37b07a,Error)?_0x37b07a[_0x52650e(0xd0)]:String(_0x37b07a))+').\x20Cloud\x20profile\x20created;\x20local\x20auth.json\x20left\x20in\x20place.');}let _0x2e0b16=![];if(_0x405c37[_0x52650e(0xe2)]){const _0x5326c1=process['env'][_0x52650e(0x103)],_0x3d5ef1=process[_0x52650e(0xf9)]['RANGER_TEST_PASSWORD'];if(_0x5326c1&&_0x3d5ef1)try{await saveCloudProfileCredentials(_0x2a91a5[_0x52650e(0xdc)],_0x5326c1,_0x3d5ef1),_0x2e0b16=!![];}catch(_0x4a855b){console['log'](_0x52650e(0x10d)+_0x2a91a5[_0x52650e(0xdc)]+':\x20failed\x20to\x20save\x20credentials\x20('+(_0x4a855b instanceof Error?_0x4a855b[_0x52650e(0xd0)]:_0x31350f[_0x52650e(0xcd)](String,_0x4a855b))+').');}else console[_0x52650e(0xe0)]('\x20\x20⚠\x20'+_0x2a91a5[_0x52650e(0xdc)]+':\x20--save-creds\x20requested,\x20but\x20RANGER_TEST_USERNAME/PASSWORD\x20not\x20set\x20in\x20env.');}if(_0x2a91a5['preserveBaseUrl']&&_0x2a91a5['baseUrl'])try{_0x31350f['gpczO'](setProfileOverride,process['cwd'](),_0x2a91a5[_0x52650e(0xdc)],_0x31350f[_0x52650e(0x106)],_0x2a91a5[_0x52650e(0xdd)]);}catch(_0x2a6e0a){console['log']('\x20\x20⚠\x20'+_0x2a91a5['profileName']+':\x20failed\x20to\x20write\x20projects.json\x20override\x20('+(_0x31350f['OAPyJ'](_0x2a6e0a,Error)?_0x2a6e0a[_0x52650e(0xd0)]:String(_0x2a6e0a))+').');}const _0x4c29ea=getEnvDir(_0x2a91a5[_0x52650e(0xdc)]);if(!_0x426d7f&&existsSync(_0x4c29ea))try{await _0x31350f['DVTBz'](rm,_0x4c29ea,{'recursive':!![],'force':!![]}),_0x210972++;}catch(_0x22008){console[_0x52650e(0xe0)](_0x52650e(0x10d)+_0x2a91a5[_0x52650e(0xdc)]+':\x20failed\x20to\x20delete\x20local\x20dir\x20'+_0x4c29ea+'\x20('+(_0x22008 instanceof Error?_0x22008[_0x52650e(0xd0)]:String(_0x22008))+').');}_0x15ca46++,_0x2a91a5['preserveBaseUrl']&&_0x2a91a5['baseUrl']?console['log']('\x20\x20✓\x20'+_0x2a91a5[_0x52650e(0xdc)]+_0x52650e(0xc5)+_0x2a91a5['envKey']+',\x20baseUrl\x20override\x20→\x20projects.json)'):console['log'](_0x52650e(0xd1)+_0x2a91a5[_0x52650e(0xdc)]+_0x52650e(0xc5)+_0x2a91a5[_0x52650e(0xc7)]+')'),_0x5f59be?.['trackPhaseEnd'](_0x52650e(0xea),{'profileName':_0x2a91a5['profileName'],'envKey':_0x2a91a5[_0x52650e(0xc7)],'wasGitTracked':_0x524a1f,'hadSession':_0x600a78,'savedCreds':_0x2e0b16});}catch(_0x102e79){_0x1b7ff2++,console[_0x52650e(0xe0)](_0x52650e(0xcf)+_0x2a91a5['profileName']+_0x52650e(0xef)+(_0x102e79 instanceof Error?_0x102e79[_0x52650e(0xd0)]:String(_0x102e79))),_0x5f59be?.['trackPhaseEnd'](_0x52650e(0xfb),{'profileName':_0x2a91a5[_0x52650e(0xdc)],'error':_0x31350f[_0x52650e(0x10b)](_0x102e79,Error)?_0x102e79['message']:_0x31350f[_0x52650e(0xcd)](String,_0x102e79)});}}const _0x410085=[];if(_0x15ca46>0x0)_0x410085['push'](_0x15ca46+'\x20profile'+(_0x15ca46===0x1?'':'s')+'\x20migrated');if(_0x210972>0x0)_0x410085[_0x52650e(0x104)]('Deleted\x20'+_0x210972+_0x52650e(0x108)+(_0x210972===0x1?'y':'ies'));if(_0x31350f[_0x52650e(0xe4)](_0x36fd90,0x0))_0x410085[_0x52650e(0x104)](_0x36fd90+'\x20skipped');if(_0x31350f[_0x52650e(0xe4)](_0x1b7ff2,0x0))_0x410085[_0x52650e(0x104)](_0x1b7ff2+_0x52650e(0xbc));if(_0x31350f['QhpPS'](_0x410085[_0x52650e(0xc9)],0x0))console['log'](_0x410085['join']('.\x20')+'.');}function _0x1f61(){const _0x54a5d6=['\x20\x20✓\x20','\x20\x20git\x20rm\x20-r\x20--cached\x20.ranger/','gitTrackedRanger','name_conflict','YKyrZ','projects','2XCaWUf','8KaUODj',',\x20matches\x20',').\x20Run:\x20ranger\x20setup','svoAY','profileName','baseUrl','2546621xbRpSV','utf-8','log',',\x20preserving\x20baseUrl\x20','saveCreds','VTtft','ItGyZ','\x20as\x20project\x20override)','Plan:','143167BNgOIo','Provide\x20a\x20profile\x20name\x20or\x20--all.\x0a\x20\x20Example:\x20ranger\x20profile\x20migrate\x20--all\x20--dry-run','38284cUSvee','profile.migrate.succeeded','local\x20profile\x20directory\x20not\x20found','102739wumuXs','padEnd','No\x20local\x20profiles\x20found\x20to\x20migrate.','\x20failed:\x20','yWhan','OAPyJ','svgFq','10DExATQ','authJsonPath','reason','migrate','environments','profile.migrate.skipped','env','dryRun','profile.migrate.failed','skip','parse','xOsol','60xRqFPs','some','10ZwMEpb','all','RANGER_TEST_USERNAME','push','2281740mlTHhx','hPxvL','slice','\x20local\x20director','status','\x20\x20echo\x20\x27.ranger/\x27\x20>>\x20.gitignore','azADC','511569HLgewg','\x20\x20⚠\x20','435420kbNXdZ','\x20failed','isTTY','no\x20matching\x20auth\x20env','no\x20baseUrl\x20in\x20settings.json','cwd','toISOString','No\x20cloud\x20profile\x20auth\x20config\x20found\x20for\x20this\x20org.\x20Migration\x20requires\x20at\x20least\x20one\x20configured\x20auth\x20environment.','settings','DVTBz','\x20migrated\x20to\x20cloud\x20(env:\x20','entries','envKey','origin','length','\x20→\x20cloud\x20(env:\x20','preserveBaseUrl','kind','dOpQF',':\x20cloud\x20profile\x20with\x20this\x20name\x20already\x20exists.\x20Skipping.','\x20\x20✗\x20','message'];_0x1f61=function(){return _0x54a5d6;};return _0x1f61();}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
(function(_0x47f338,_0xe907a7){const _0x2b4963=_0x5331,_0x523a66=_0x47f338();while(!![]){try{const _0x145c45=-parseInt(_0x2b4963(0x112))/0x1+-parseInt(_0x2b4963(0x110))/0x2*(parseInt(_0x2b4963(0x10a))/0x3)+parseInt(_0x2b4963(0x104))/0x4+parseInt(_0x2b4963(0x118))/0x5+-parseInt(_0x2b4963(0x120))/0x6+parseInt(_0x2b4963(0x106))/0x7+-parseInt(_0x2b4963(0x129))/0x8;if(_0x145c45===_0xe907a7)break;else _0x523a66['push'](_0x523a66['shift']());}catch(_0x5c21bb){_0x523a66['push'](_0x523a66['shift']());}}}(_0x4af0,0x3d139));import{join}from'path';import{existsSync}from'fs';import _0x3d94e9 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(_0x15758c){const _0x1493fb=_0x5331,_0x4e528f={'QrscW':function(_0x2ba49e,_0x40b05a){return _0x2ba49e(_0x40b05a);},'yMdaZ':'ranger@trailhead','bKLWp':_0x1493fb(0x11b),'aXgAB':_0x1493fb(0x128),'TaXOc':'pluginScope','zrKwP':_0x1493fb(0x103),'cWjIu':_0x1493fb(0x100),'WSkuJ':_0x1493fb(0x10e),'xMxOZ':'trailhead','eCMJB':_0x1493fb(0x116),'LkhsR':_0x1493fb(0x108),'tAxRU':'\x20\x20claude\x20plugin\x20marketplace\x20add\x20ranger-testing/trailhead','ycYOj':'install','yoGWa':_0x1493fb(0x127),'noHwF':'❌\x20Failed\x20to\x20install\x20plugin:','BfCqB':_0x1493fb(0x114),'ANWsI':'✓\x20Claude\x20Code\x20plugin\x20installed\x20successfully','VDgUQ':function(_0x315e44,_0x3b36e5){return _0x315e44===_0x3b36e5;},'HPtHY':_0x1493fb(0x10f)},_0x43e3a8=await _0x4e528f[_0x1493fb(0x12d)](isPluginInstalled,_0x4e528f[_0x1493fb(0x12b)]);if(_0x43e3a8)return console['log'](_0x4e528f[_0x1493fb(0x130)]),![];const _0x37c609=_0x4e528f['QrscW'](existsSync,join(getProjectRoot(),_0x1493fb(0x12a)));let _0x2232ba;if(_0x15758c)_0x2232ba=_0x15758c;else{if(_0x37c609)_0x2232ba=_0x4e528f[_0x1493fb(0x119)];else{console[_0x1493fb(0x126)]('\x0a📦\x20Claude\x20Code\x20Plugin\x0a');const _0xce160f=await _0x3d94e9['prompt']([{'type':_0x1493fb(0x11e),'name':_0x4e528f['TaXOc'],'message':'Where\x20should\x20the\x20plugin\x20be\x20installed?','choices':[{'name':_0x4e528f['zrKwP'],'value':_0x4e528f['cWjIu']},{'name':_0x4e528f[_0x1493fb(0x101)],'value':_0x1493fb(0x128)}],'default':_0x4e528f[_0x1493fb(0x123)]}]);_0x2232ba=_0xce160f['pluginScope'];}}console['log'](_0x1493fb(0x107)+_0x2232ba+_0x1493fb(0x105));const _0x530473=await isMarketplaceAdded(_0x4e528f[_0x1493fb(0x12c)]);let _0x55b42c=_0x530473;if(_0x530473)console['log']('✓\x20Marketplace\x20already\x20added');else{const _0x462517=await _0x4e528f['QrscW'](runClaudeCommand,[_0x4e528f['eCMJB'],'marketplace','add',_0x1493fb(0x10d)]);!_0x462517[_0x1493fb(0x10b)]?(console['error'](_0x4e528f[_0x1493fb(0x117)],_0x462517['error']),console['log'](_0x1493fb(0x114)),console[_0x1493fb(0x126)](_0x4e528f['tAxRU']),console[_0x1493fb(0x126)]('\x20\x20claude\x20plugin\x20install\x20ranger@trailhead\x20--scope\x20'+_0x2232ba)):_0x55b42c=!![];}if(_0x55b42c){const _0x8238db=await runClaudeCommand([_0x1493fb(0x116),_0x4e528f['ycYOj'],_0x4e528f[_0x1493fb(0x12b)],_0x4e528f['yoGWa'],_0x2232ba]);if(!_0x8238db['success'])console[_0x1493fb(0x11d)](_0x4e528f['noHwF'],_0x8238db[_0x1493fb(0x11d)]),console[_0x1493fb(0x126)](_0x4e528f[_0x1493fb(0x111)]),console['log'](_0x1493fb(0x11c)+_0x2232ba);else{console['log'](_0x4e528f['ANWsI']);const _0x45fb2f=['plugin',_0x1493fb(0x115),_0x1493fb(0x121)];_0x4e528f['VDgUQ'](_0x2232ba,_0x4e528f[_0x1493fb(0x119)])&&_0x45fb2f[_0x1493fb(0x11f)](_0x1493fb(0x127),_0x4e528f[_0x1493fb(0x119)]);const _0x4cfd1f=await runClaudeCommand(_0x45fb2f,{'captureOutput':!![]}),_0x4be3dd=_0x4cfd1f['output']?.[_0x1493fb(0x113)](_0x1493fb(0x124));!_0x4cfd1f['success']&&!_0x4be3dd?console[_0x1493fb(0x11d)](_0x4e528f['HPtHY'],_0x4cfd1f[_0x1493fb(0x11d)]):console['log'](_0x1493fb(0x10c));}}return!![];}function _0x5331(_0x84c6f3,_0x31a312){_0x84c6f3=_0x84c6f3-0x100;const _0x4af00f=_0x4af0();let _0x5331e8=_0x4af00f[_0x84c6f3];return _0x5331e8;}export async function ensureClaudeSkills(_0x1e4fb6){const _0x9a8b70=_0x5331,_0x2e7084={'fTuDS':function(_0x54140b,_0x4a6812){return _0x54140b(_0x4a6812);},'jXSjz':'project','VKBZU':function(_0x26d279,_0x48a603){return _0x26d279||_0x48a603;},'nCIzL':function(_0x2a3dc7){return _0x2a3dc7();},'KLnkP':'confirm','oADwF':'Would\x20you\x20like\x20to\x20install\x20skills?'},_0xf9a543=existsSync(join(getSkillsDir(_0x9a8b70(0x100)),_0x9a8b70(0x109),_0x9a8b70(0x125))),_0x121349=_0x2e7084[_0x9a8b70(0x122)](existsSync,join(getSkillsDir(_0x2e7084['jXSjz']),'ranger',_0x9a8b70(0x125)));if(_0x2e7084[_0x9a8b70(0x12f)](_0xf9a543,_0x121349))return console[_0x9a8b70(0x126)]('✓\x20Ranger\x20skills\x20already\x20installed'),![];const _0x1c9d3d=existsSync(join(_0x2e7084['nCIzL'](getProjectRoot),_0x9a8b70(0x12a)));let _0x3329c3=!![];if(_0x1e4fb6)await _0x2e7084[_0x9a8b70(0x122)](skillup,{'autoInstall':_0x1e4fb6,'suppressUsage':!![]});else{if(_0x1c9d3d)await skillup({'autoInstall':_0x9a8b70(0x128),'suppressUsage':!![]});else{const _0x2093ff=await _0x3d94e9[_0x9a8b70(0x12e)]([{'type':_0x2e7084['KLnkP'],'name':'wantsSkillup','message':_0x2e7084[_0x9a8b70(0x11a)],'default':!![]}]);_0x3329c3=_0x2093ff[_0x9a8b70(0x102)],_0x3329c3&&await skillup({'suppressUsage':!![]});}}return _0x3329c3;}function _0x4af0(){const _0x24e662=['✓\x20Claude\x20Code\x20plugin\x20enabled','ranger-testing/trailhead','Project\x20(shared\x20with\x20team\x20via\x20git)','⚠\x20Failed\x20to\x20enable\x20plugin:','47704PQtDoO','BfCqB','165787xZdvRC','includes','\x0aYou\x20can\x20install\x20manually\x20with:','enable','plugin','LkhsR','2006120MfiVQi','aXgAB','oADwF','✓\x20Claude\x20Code\x20plugin\x20already\x20installed','\x20\x20claude\x20plugin\x20install\x20ranger@trailhead\x20--scope\x20','error','list','push','892392MPcUIf','ranger@trailhead','fTuDS','cWjIu','already\x20enabled','SKILL.md','log','--scope','project','1560912XWKVao','.claude','yMdaZ','xMxOZ','QrscW','prompt','VKBZU','bKLWp','user','WSkuJ','wantsSkillup','User\x20(available\x20in\x20all\x20your\x20projects)','1783880ecIlqV','\x20level)...\x0a','723968QYYVbE','\x0aInstalling\x20Claude\x20Code\x20plugin\x20(','❌\x20Failed\x20to\x20add\x20marketplace:','ranger','24WQqFSS','success'];_0x4af0=function(){return _0x24e662;};return _0x4af0();}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(
|
|
1
|
+
(function(_0x1513cc,_0x5e3763){const _0x454440=_0x3830,_0x27b2b9=_0x1513cc();while(!![]){try{const _0x4f3807=-parseInt(_0x454440(0xb5))/0x1*(parseInt(_0x454440(0xaf))/0x2)+parseInt(_0x454440(0xb2))/0x3+parseInt(_0x454440(0xb3))/0x4+parseInt(_0x454440(0xc5))/0x5*(-parseInt(_0x454440(0xbf))/0x6)+parseInt(_0x454440(0xcb))/0x7+-parseInt(_0x454440(0xcc))/0x8*(-parseInt(_0x454440(0xb4))/0x9)+-parseInt(_0x454440(0xb0))/0xa;if(_0x4f3807===_0x5e3763)break;else _0x27b2b9['push'](_0x27b2b9['shift']());}catch(_0x1ad08b){_0x27b2b9['push'](_0x27b2b9['shift']());}}}(_0x1cd6,0xb34e6));function _0x3830(_0x58778f,_0x50daa4){_0x58778f=_0x58778f-0xaf;const _0x1cd6b7=_0x1cd6();let _0x3830fb=_0x1cd6b7[_0x58778f];return _0x3830fb;}import{join}from'path';import{existsSync}from'fs';import{mkdir,readFile,writeFile}from'fs/promises';import _0x4c7318 from'inquirer';import{getOpencodeConfigDir}from'../utils/opencodeConfig.js';export async function ensureOpencodePluginConfig(_0x2faca1){const _0x49e9aa=_0x3830,_0x3cf416={'BXaMo':function(_0x3a1032,_0x1eb954){return _0x3a1032(_0x1eb954);},'MIfGX':'project','ohCGn':'opencode.json','qgzZK':'\x0a📦\x20OpenCode\x20Plugin\x0a','vPJsy':_0x49e9aa(0xb8),'WuBlc':'user','MCdBY':function(_0x25c38c,_0x1872ab,_0x385290){return _0x25c38c(_0x1872ab,_0x385290);},'lpaTr':_0x49e9aa(0xb6),'fHSJG':function(_0x2c8f0d,_0x3d8b0a){return _0x2c8f0d(_0x3d8b0a);},'toUFF':function(_0x34f245,_0x428fcd,_0x426a1f){return _0x34f245(_0x428fcd,_0x426a1f);},'SjMAs':function(_0x2bf446,_0x413b7a){return _0x2bf446+_0x413b7a;},'lAksp':'✓\x20OpenCode\x20plugin\x20configured'},_0x12982f=existsSync(join(_0x3cf416[_0x49e9aa(0xca)](getOpencodeConfigDir,_0x3cf416[_0x49e9aa(0xc0)]),_0x3cf416[_0x49e9aa(0xb7)]));let _0x36efae;if(_0x2faca1)_0x36efae=_0x2faca1;else{if(_0x12982f)_0x36efae=_0x49e9aa(0xc6);else{console['log'](_0x3cf416['qgzZK']);const _0x3e7ca4=await _0x4c7318['prompt']([{'type':_0x49e9aa(0xc9),'name':_0x3cf416['vPJsy'],'message':'Where\x20should\x20the\x20plugin\x20be\x20installed?','choices':[{'name':_0x49e9aa(0xbd),'value':_0x3cf416[_0x49e9aa(0xc2)]},{'name':'Project\x20(shared\x20with\x20team\x20via\x20git)','value':_0x3cf416[_0x49e9aa(0xc0)]}],'default':_0x49e9aa(0xc8)}]);_0x36efae=_0x3e7ca4[_0x49e9aa(0xb8)];}}const _0xbc7509=_0x3cf416[_0x49e9aa(0xc3)](join,_0x3cf416[_0x49e9aa(0xca)](getOpencodeConfigDir,_0x36efae),'opencode.json'),_0x249db7='@ranger-testing/opencode-plugin',_0x1d81df=_0x3cf416[_0x49e9aa(0xc7)];let _0x209504={};if(existsSync(_0xbc7509))try{const _0x5e5630=await readFile(_0xbc7509,'utf-8');_0x209504=JSON['parse'](_0x5e5630);}catch(_0x15a32c){return console[_0x49e9aa(0xbb)](_0x49e9aa(0xb1)),{'configured':![],'scope':_0x36efae,'error':_0x49e9aa(0xbc),'details':_0x15a32c};}const _0x3360d2=Array['isArray'](_0x209504[_0x49e9aa(0xba)])?_0x209504['plugin']:[];if(_0x3360d2['includes'](_0x249db7))return console['log']('✓\x20OpenCode\x20plugin\x20already\x20configured'),{'configured':![],'scope':_0x36efae};return _0x209504['$schema']=_0x209504['$schema']||_0x1d81df,_0x209504[_0x49e9aa(0xba)]=[..._0x3360d2,_0x249db7],await _0x3cf416[_0x49e9aa(0xc3)](mkdir,_0x3cf416[_0x49e9aa(0xc4)](getOpencodeConfigDir,_0x36efae),{'recursive':!![]}),await _0x3cf416[_0x49e9aa(0xbe)](writeFile,_0xbc7509,_0x3cf416['SjMAs'](JSON[_0x49e9aa(0xb9)](_0x209504,null,0x2),'\x0a')),console['log'](_0x3cf416[_0x49e9aa(0xc1)]),{'configured':!![],'scope':_0x36efae};}function _0x1cd6(){const _0x254229=['MCdBY','fHSJG','133660XoJyrl','project','lpaTr','user','list','BXaMo','916685ClUlts','8QUeOUh','2IOUtZm','4139050vTwacZ','⚠\x20Failed\x20to\x20read\x20opencode.json.\x20Please\x20add\x20the\x20plugin\x20manually.','1520400pwlxsi','3244404NmKXqN','8108622fNRGiT','1094543IAaJXv','https://opencode.ai/config.json','ohCGn','pluginScope','stringify','plugin','error','Failed\x20to\x20read\x20opencode.json','User\x20(available\x20in\x20all\x20your\x20projects)','toUFF','24wrtaSE','MIfGX','lAksp','WuBlc'];_0x1cd6=function(){return _0x254229;};return _0x1cd6();}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(_0x140f0a,_0xd7ff77){const _0x2a4083=_0x290b,_0x122af1=_0x140f0a();while(!![]){try{const _0x58abc7=-parseInt(_0x2a4083(0x227))/0x1*(parseInt(_0x2a4083(0x1f5))/0x2)+-parseInt(_0x2a4083(0x214))/0x3*(-parseInt(_0x2a4083(0x202))/0x4)+-parseInt(_0x2a4083(0x224))/0x5+-parseInt(_0x2a4083(0x1fa))/0x6*(-parseInt(_0x2a4083(0x22e))/0x7)+parseInt(_0x2a4083(0x20e))/0x8+parseInt(_0x2a4083(0x221))/0x9+parseInt(_0x2a4083(0x21b))/0xa;if(_0x58abc7===_0xd7ff77)break;else _0x122af1['push'](_0x122af1['shift']());}catch(_0x3ca121){_0x122af1['push'](_0x122af1['shift']());}}}(_0x1eee,0xcffab));import{mkdir,readFile,readdir}from'fs/promises';import{join}from'path';import{existsSync}from'fs';function _0x1eee(){const _0x3e4556=['bGFVH','4543820htHfVj','Or\x20specify\x20a\x20profile\x20name\x20with\x20--profile\x20and\x20--base-url\x20to\x20create\x20one.','LIuzH','marketplace','nBLVw','OVkbV','1551960LvDbiQ','\x22\x20has\x20no\x20settings.json.\x20Use\x20--base-url\x20to\x20configure\x20it.','log','6181975TvIkbx','message','ranger@trailhead','9754qJwmEZ','profile','HnQJM','Uldkg','RwnrP','WXQVa','plugin','1981fahXMk','vTWxu','map','cRImN','SVowi','dir_setup','EaTji','filter','profile_activate','16bqjAjo','skipChromium','✓\x20Active\x20profile:\x20','trailhead','auth.json.enc','2982odlqEx','MyoRj','trackPhaseStart','NSfta','isDirectory','keYNb','FZojo','CI\x20profile\x20\x22','12eGItVt','error','ffqCM','success','USepq','trackPhaseEnd','lMxsh','sessions','baseUrl','xMqhU','ToCOd','\x20\x20No\x20auth\x20state\x20found\x20(app\x20may\x20not\x20require\x20authentication)','5835072QPKham','RDmEk','length','path','tpapH','name','669453nFWJqC','add','eJPgp','ranger-testing/trailhead','No\x20API\x20token\x20available\x20for\x20decryption','No\x20CI\x20profiles\x20found\x20in\x20.ranger/ci/.\x20Create\x20one\x20first\x20with:\x20ranger\x20profile\x20add\x20<name>\x20--ci\x0a'];_0x1eee=function(){return _0x3e4556;};return _0x1eee();}import{authenticate,ensureRangerDir,ensureChromium,writeRangerGitignore}from'./start.js';import{skillup}from'./skillup.js';import{getRangerDir}from'./utils/rangerRoot.js';import{writeActiveProfileName}from'./utils/activeProfile.js';import{saveSettings}from'./utils/settings.js';import{decrypt}from'./utils/crypto.js';import{getToken}from'./utils/keychain.js';import{runClaudeCommand,isMarketplaceAdded,isPluginInstalled}from'./utils/claudePlugin.js';function _0x290b(_0xf4a8d0,_0x494036){_0xf4a8d0=_0xf4a8d0-0x1f4;const _0x1eee07=_0x1eee();let _0x290b30=_0x1eee07[_0xf4a8d0];return _0x290b30;}async function findCiProfile(_0x598683){const _0x57c937=_0x290b,_0x551121={'wjMfb':function(_0x56c2aa,_0x150a15,_0x2c7554){return _0x56c2aa(_0x150a15,_0x2c7554);},'WCnnM':function(_0x1d96f4,_0x189fb7,_0x7fd202){return _0x1d96f4(_0x189fb7,_0x7fd202);},'jLZwr':function(_0x3f8cf5,_0x147d29){return _0x3f8cf5(_0x147d29);},'dyiTZ':'No\x20CI\x20profiles\x20found.\x20Create\x20one\x20first\x20with:\x20ranger\x20profile\x20add\x20<name>\x20--ci\x0a','ToCOd':_0x57c937(0x21c),'RwnrP':function(_0x98a612,_0x367597,_0x5040d2){return _0x98a612(_0x367597,_0x5040d2);},'USepq':function(_0x5496d1,_0x40e702){return _0x5496d1===_0x40e702;},'orwbt':function(_0x4356fd,_0xc6055){return _0x4356fd===_0xc6055;}},_0x485e63=getRangerDir(),_0x1e1ae5=_0x551121['wjMfb'](join,_0x485e63,'ci');if(_0x598683){const _0x3cb93c=_0x551121['WCnnM'](join,_0x1e1ae5,_0x598683);return{'name':_0x598683,'path':_0x3cb93c};}if(!_0x551121['jLZwr'](existsSync,_0x1e1ae5))throw new Error(_0x551121['dyiTZ']+_0x551121[_0x57c937(0x20c)]);const _0x28e913=await _0x551121[_0x57c937(0x22b)](readdir,_0x1e1ae5,{'withFileTypes':!![]}),_0x307f4=_0x28e913[_0x57c937(0x235)](_0x2e24df=>_0x2e24df[_0x57c937(0x1fe)]())[_0x57c937(0x230)](_0x23666d=>_0x23666d[_0x57c937(0x213)]);if(_0x551121[_0x57c937(0x206)](_0x307f4[_0x57c937(0x210)],0x0))throw new Error(_0x57c937(0x219)+_0x551121['ToCOd']);if(_0x551121['orwbt'](_0x307f4[_0x57c937(0x210)],0x1)){const _0x128438=_0x307f4[0x0];return console['log']('Auto-detected\x20CI\x20profile:\x20'+_0x128438),{'name':_0x128438,'path':join(_0x1e1ae5,_0x128438)};}throw new Error('Multiple\x20CI\x20profiles\x20found:\x20'+_0x307f4['join'](',\x20')+'.\x20Use\x20--profile\x20to\x20specify\x20which\x20one.');}async function installPluginNonInteractive(){const _0x4e54e2=_0x290b,_0x66ce29={'cRImN':function(_0x28bdba,_0x36b26e){return _0x28bdba(_0x36b26e);},'MyoRj':_0x4e54e2(0x1f8),'kfUzD':_0x4e54e2(0x217),'FZojo':'Failed\x20to\x20add\x20marketplace:','LIuzH':_0x4e54e2(0x226),'ffqCM':'--scope','keYNb':'project','zoNcC':'✓\x20Claude\x20Code\x20plugin\x20installed'},_0x26b7d4=await isPluginInstalled('ranger@trailhead');if(_0x26b7d4)return console[_0x4e54e2(0x223)]('✓\x20Claude\x20Code\x20plugin\x20already\x20installed'),![];console[_0x4e54e2(0x223)]('Installing\x20Claude\x20Code\x20plugin\x20(project\x20level)...');const _0x122382=await _0x66ce29[_0x4e54e2(0x231)](isMarketplaceAdded,_0x66ce29[_0x4e54e2(0x1fb)]);let _0x1fba21=_0x122382;if(_0x122382)console[_0x4e54e2(0x223)]('✓\x20Marketplace\x20already\x20added');else{const _0x1c8bed=await runClaudeCommand(['plugin',_0x4e54e2(0x21e),_0x4e54e2(0x215),_0x66ce29['kfUzD']]);!_0x1c8bed[_0x4e54e2(0x205)]?(console['error'](_0x66ce29[_0x4e54e2(0x200)],_0x1c8bed['error']),console[_0x4e54e2(0x223)]('You\x20can\x20install\x20manually:\x20claude\x20plugin\x20marketplace\x20add\x20ranger-testing/trailhead')):_0x1fba21=!![];}if(_0x1fba21){const _0x112d3d=await runClaudeCommand(['plugin','install',_0x66ce29[_0x4e54e2(0x21d)],_0x66ce29[_0x4e54e2(0x204)],_0x66ce29[_0x4e54e2(0x1ff)]]);!_0x112d3d[_0x4e54e2(0x205)]?(console['error']('Failed\x20to\x20install\x20plugin:',_0x112d3d[_0x4e54e2(0x203)]),console[_0x4e54e2(0x223)]('You\x20can\x20install\x20manually:\x20claude\x20plugin\x20install\x20ranger@trailhead\x20--scope\x20project')):console[_0x4e54e2(0x223)](_0x66ce29['zoNcC']);}return!![];}export async function setupCi(_0x166bc3,_0x3f4cde,_0x12facc){const _0x232e07=_0x290b,_0x1d97f8={'HnQJM':'\x0a🔧\x20Ranger\x20CI\x20Setup\x0a','RDmEk':'auth','jPdHh':_0x232e07(0x233),'NSfta':function(_0x50b903,_0x3f3f42){return _0x50b903(_0x3f3f42);},'SVowi':function(_0x2c1dd5,_0x2deced,_0x27a6ad){return _0x2c1dd5(_0x2deced,_0x27a6ad);},'WDScY':_0x232e07(0x209),'EaTji':function(_0x15ad09,_0xa2643a){return _0x15ad09(_0xa2643a);},'yLAVH':function(_0x41dd61,_0x268d6c,_0x412b13){return _0x41dd61(_0x268d6c,_0x412b13);},'vTWxu':'✓\x20Skipping\x20Chromium\x20check\x20(--skip-chromium)','WXQVa':function(_0x215145){return _0x215145();},'eJPgp':'chromium','tpapH':function(_0x3b4993,_0x13cae0,_0x222b99){return _0x3b4993(_0x13cae0,_0x222b99);},'xMqhU':'auth.json','axGuP':_0x232e07(0x1f9),'Uldkg':function(_0x193565,_0x1da69b){return _0x193565(_0x1da69b);},'bGFVH':function(_0xccbd33,_0x8175d5){return _0xccbd33(_0x8175d5);},'lMxsh':function(_0x1f1f81,_0x77aef3,_0x268135){return _0x1f1f81(_0x77aef3,_0x268135);},'ZNcRD':'✓\x20Auth\x20state\x20found','OVkbV':_0x232e07(0x20d),'rFMzF':'skills','nBLVw':'project'};console['log'](_0x1d97f8[_0x232e07(0x229)]),_0x12facc?.[_0x232e07(0x1fc)](_0x1d97f8[_0x232e07(0x20f)]),await authenticate(_0x166bc3),_0x12facc?.[_0x232e07(0x207)](_0x1d97f8['RDmEk']),_0x12facc?.[_0x232e07(0x1fc)](_0x1d97f8['jPdHh']);const {path:_0xfafbd3,installed:_0x45aaa0}=await ensureRangerDir();await _0x1d97f8[_0x232e07(0x1fd)](writeRangerGitignore,_0xfafbd3);const _0x55ade6=_0x1d97f8[_0x232e07(0x232)](join,_0xfafbd3,_0x1d97f8['WDScY']);!_0x1d97f8[_0x232e07(0x234)](existsSync,_0x55ade6)&&await _0x1d97f8['yLAVH'](mkdir,_0x55ade6,{'recursive':!![]});_0x12facc?.[_0x232e07(0x207)](_0x232e07(0x233),{'installed':_0x45aaa0}),_0x12facc?.[_0x232e07(0x1fc)]('chromium');let _0x404216=![];_0x3f4cde?.[_0x232e07(0x1f6)]?console['log'](_0x1d97f8[_0x232e07(0x22f)]):_0x404216=await _0x1d97f8[_0x232e07(0x22c)](ensureChromium);_0x12facc?.['trackPhaseEnd'](_0x1d97f8[_0x232e07(0x216)],{'installed':_0x404216,'skipped':!!_0x3f4cde?.[_0x232e07(0x1f6)]}),_0x12facc?.['trackPhaseStart']('profile_activate');const _0x51cb85=await _0x1d97f8[_0x232e07(0x1fd)](findCiProfile,_0x3f4cde?.[_0x232e07(0x228)]);let _0x1c8f32=![];_0x3f4cde?.['baseUrl']&&(await mkdir(_0x51cb85[_0x232e07(0x211)],{'recursive':!![]}),await _0x1d97f8[_0x232e07(0x212)](saveSettings,_0x51cb85[_0x232e07(0x213)],{'baseUrl':_0x3f4cde[_0x232e07(0x20a)],'headless':!![]}),console['log']('✓\x20Created\x20profile\x20settings:\x20baseUrl='+_0x3f4cde[_0x232e07(0x20a)]),_0x1c8f32=!![]);const _0x26333d=_0x1d97f8[_0x232e07(0x212)](join,_0x51cb85['path'],'settings.json');if(!existsSync(_0x26333d)&&!_0x1c8f32)throw new Error(_0x232e07(0x201)+_0x51cb85['name']+_0x232e07(0x222));const _0x15e2d7=join(_0x51cb85[_0x232e07(0x211)],_0x1d97f8[_0x232e07(0x20b)]),_0x19c5af=_0x1d97f8['SVowi'](join,_0x51cb85['path'],_0x1d97f8['axGuP']),_0x2bedc4=_0x1d97f8[_0x232e07(0x22a)](existsSync,_0x15e2d7),_0x4b9a61=_0x1d97f8[_0x232e07(0x21a)](existsSync,_0x19c5af);if(_0x4b9a61)try{const _0x18aebb=await getToken();if(!_0x18aebb)throw new Error(_0x232e07(0x218));const _0x101d47=await readFile(_0x19c5af);_0x1d97f8[_0x232e07(0x208)](decrypt,_0x101d47,_0x18aebb),console[_0x232e07(0x223)]('✓\x20Encrypted\x20auth\x20verified\x20(will\x20decrypt\x20at\x20runtime)');}catch(_0x14b041){const _0x26d92d=_0x14b041 instanceof Error?_0x14b041[_0x232e07(0x225)]:String(_0x14b041);throw new Error('Failed\x20to\x20verify\x20encrypted\x20auth\x20for\x20profile\x20\x22'+_0x51cb85['name']+'\x22:\x20'+_0x26d92d);}else _0x2bedc4?console['log'](_0x1d97f8['ZNcRD']):console['log'](_0x1d97f8[_0x232e07(0x220)]);await writeActiveProfileName(_0x51cb85['name']),console[_0x232e07(0x223)](_0x232e07(0x1f7)+_0x51cb85[_0x232e07(0x213)]),_0x12facc?.[_0x232e07(0x207)](_0x232e07(0x1f4),{'profileName':_0x51cb85[_0x232e07(0x213)],'hasAuth':_0x2bedc4,'hasEncryptedAuth':_0x4b9a61,'createdSettings':_0x1c8f32}),_0x12facc?.['trackPhaseStart'](_0x232e07(0x22d));const _0x29fc77=await installPluginNonInteractive();_0x12facc?.['trackPhaseEnd'](_0x232e07(0x22d),{'installed':_0x29fc77}),_0x12facc?.[_0x232e07(0x1fc)](_0x1d97f8['rFMzF']),await skillup({'autoInstall':_0x1d97f8[_0x232e07(0x21f)]}),_0x12facc?.[_0x232e07(0x207)]('skills'),console['log']('\x0a✅\x20Ranger\x20CI\x20setup\x20complete!\x0a');}
|
|
1
|
+
(function(_0x4efd13,_0x1333ea){const _0x133552=_0x1c16,_0x3da377=_0x4efd13();while(!![]){try{const _0x55b750=-parseInt(_0x133552(0x12a))/0x1+parseInt(_0x133552(0x118))/0x2+-parseInt(_0x133552(0x12f))/0x3*(parseInt(_0x133552(0x129))/0x4)+parseInt(_0x133552(0x105))/0x5*(parseInt(_0x133552(0x127))/0x6)+parseInt(_0x133552(0x11d))/0x7+-parseInt(_0x133552(0x101))/0x8+-parseInt(_0x133552(0x10f))/0x9;if(_0x55b750===_0x1333ea)break;else _0x3da377['push'](_0x3da377['shift']());}catch(_0x21aa16){_0x3da377['push'](_0x3da377['shift']());}}}(_0x22cc,0xb2596));import{mkdir,readFile,readdir}from'fs/promises';import{join}from'path';import{existsSync}from'fs';import{authenticate,ensureRangerDir,ensureChromium,writeRangerGitignore}from'./start.js';function _0x22cc(){const _0x580a42=['filter','14310vQIlPe','plugin','install','No\x20API\x20token\x20available\x20for\x20decryption','ktmGt','SwnyJ','✓\x20Encrypted\x20auth\x20verified\x20(will\x20decrypt\x20at\x20runtime)','Failed\x20to\x20add\x20marketplace:','BLlOJ','path','4347135CnLhou','Or\x20specify\x20a\x20profile\x20name\x20with\x20--profile\x20and\x20--base-url\x20to\x20create\x20one.','length','\x0a✅\x20Ranger\x20CI\x20setup\x20complete!\x0a','trackPhaseStart','No\x20CI\x20profiles\x20found.\x20Create\x20one\x20first\x20with:\x20ranger\x20profile\x20add\x20<name>\x20--ci\x0a','flCje','No\x20CI\x20profiles\x20found\x20in\x20.ranger/ci/.\x20Create\x20one\x20first\x20with:\x20ranger\x20profile\x20add\x20<name>\x20--ci\x0a','error','1947206tgxxRc','vZZHF','You\x20can\x20install\x20manually:\x20claude\x20plugin\x20install\x20ranger@trailhead\x20--scope\x20project','oTPUj','\x22\x20has\x20no\x20settings.json.\x20Use\x20--base-url\x20to\x20configure\x20it.','8107078SSbSQG','wlkOL','ZCOTV','\x22:\x20','dir_setup','sessions','log','AiiPP','skipChromium','.\x20Use\x20--profile\x20to\x20specify\x20which\x20one.','2520dxcNgn','GXTxR','643172CBpBRs','125107VkKYuY','ZMkAS','✓\x20Marketplace\x20already\x20added','project','rJIaY','15SGmEhx','join','baseUrl','wilrR','Multiple\x20CI\x20profiles\x20found:\x20','✓\x20Claude\x20Code\x20plugin\x20already\x20installed','add','You\x20can\x20install\x20manually:\x20claude\x20plugin\x20marketplace\x20add\x20ranger-testing/trailhead','skills','isDirectory','faORS','trackPhaseEnd','noOtp','name','Failed\x20to\x20verify\x20encrypted\x20auth\x20for\x20profile\x20\x22','fRYSe','Installing\x20Claude\x20Code\x20plugin\x20(project\x20level)...','CI\x20profile\x20\x22','HoFKm','9529536iKYjwV','Auto-detected\x20CI\x20profile:\x20','chromium'];_0x22cc=function(){return _0x580a42;};return _0x22cc();}import{skillup}from'./skillup.js';import{getRangerDir}from'./utils/rangerRoot.js';import{writeActiveProfileName}from'./utils/activeProfile.js';import{saveSettings}from'./utils/settings.js';import{decrypt}from'./utils/crypto.js';import{getToken}from'./utils/keychain.js';import{runClaudeCommand,isMarketplaceAdded,isPluginInstalled}from'./utils/claudePlugin.js';async function findCiProfile(_0x2e7d20){const _0x5a6986=_0x1c16,_0x11a86f={'FGvzz':function(_0x38da0e){return _0x38da0e();},'gJksD':function(_0x1ebd56,_0x176cfb,_0x1be13e){return _0x1ebd56(_0x176cfb,_0x1be13e);},'wilrR':function(_0x26b56b,_0x17001a){return _0x26b56b(_0x17001a);},'noOtp':_0x5a6986(0x114)},_0x369d9b=_0x11a86f['FGvzz'](getRangerDir),_0x4a7aad=_0x11a86f['gJksD'](join,_0x369d9b,'ci');if(_0x2e7d20){const _0x3c8ab2=join(_0x4a7aad,_0x2e7d20);return{'name':_0x2e7d20,'path':_0x3c8ab2};}if(!_0x11a86f[_0x5a6986(0x132)](existsSync,_0x4a7aad))throw new Error(_0x11a86f[_0x5a6986(0xfa)]+'Or\x20specify\x20a\x20profile\x20name\x20with\x20--profile\x20and\x20--base-url\x20to\x20create\x20one.');const _0x4cf075=await readdir(_0x4a7aad,{'withFileTypes':!![]}),_0x1e3930=_0x4cf075[_0x5a6986(0x104)](_0x18d8eb=>_0x18d8eb[_0x5a6986(0xf7)]())['map'](_0x1fc710=>_0x1fc710[_0x5a6986(0xfb)]);if(_0x1e3930[_0x5a6986(0x111)]===0x0)throw new Error(_0x5a6986(0x116)+_0x5a6986(0x110));if(_0x1e3930['length']===0x1){const _0x4b56c4=_0x1e3930[0x0];return console[_0x5a6986(0x123)](_0x5a6986(0x102)+_0x4b56c4),{'name':_0x4b56c4,'path':_0x11a86f['gJksD'](join,_0x4a7aad,_0x4b56c4)};}throw new Error(_0x5a6986(0x133)+_0x1e3930[_0x5a6986(0x130)](',\x20')+_0x5a6986(0x126));}function _0x1c16(_0xbb27f8,_0xc46af7){_0xbb27f8=_0xbb27f8-0xf7;const _0x22cc98=_0x22cc();let _0x1c1665=_0x22cc98[_0xbb27f8];return _0x1c1665;}async function installPluginNonInteractive(){const _0x301713=_0x1c16,_0x3266e4={'GXTxR':function(_0x2c5218,_0x53ff47){return _0x2c5218(_0x53ff47);},'BkAxz':function(_0x143aa6,_0x3403b4){return _0x143aa6(_0x3403b4);},'NGnwt':_0x301713(0x12c),'NIAki':'ranger-testing/trailhead','ZCOTV':_0x301713(0x136),'faORS':_0x301713(0x107),'JhCPD':'--scope','fRYSe':_0x301713(0x12d),'yVwKa':_0x301713(0x11a),'wlkOL':'✓\x20Claude\x20Code\x20plugin\x20installed'},_0x3a56d5=await _0x3266e4['GXTxR'](isPluginInstalled,'ranger@trailhead');if(_0x3a56d5)return console['log'](_0x301713(0x134)),![];console['log'](_0x301713(0xfe));const _0x3b58b0=await _0x3266e4['BkAxz'](isMarketplaceAdded,'trailhead');let _0x54a7f5=_0x3b58b0;if(_0x3b58b0)console['log'](_0x3266e4['NGnwt']);else{const _0x569b5b=await _0x3266e4[_0x301713(0x128)](runClaudeCommand,['plugin','marketplace',_0x301713(0x135),_0x3266e4['NIAki']]);!_0x569b5b['success']?(console['error'](_0x301713(0x10c),_0x569b5b[_0x301713(0x117)]),console['log'](_0x3266e4[_0x301713(0x11f)])):_0x54a7f5=!![];}if(_0x54a7f5){const _0x484f70=await runClaudeCommand(['plugin',_0x3266e4[_0x301713(0xf8)],'ranger@trailhead',_0x3266e4['JhCPD'],_0x3266e4[_0x301713(0xfd)]]);!_0x484f70['success']?(console[_0x301713(0x117)]('Failed\x20to\x20install\x20plugin:',_0x484f70['error']),console['log'](_0x3266e4['yVwKa'])):console[_0x301713(0x123)](_0x3266e4[_0x301713(0x11e)]);}return!![];}export async function setupCi(_0x19fec1,_0x192c71,_0xa795b0){const _0xecb60d=_0x1c16,_0x132717={'flCje':'auth','AiiPP':function(_0x93168d,_0x21d028,_0x258662){return _0x93168d(_0x21d028,_0x258662);},'rJIaY':_0xecb60d(0x122),'LDqxv':function(_0x2f69d4,_0x4af0f7,_0x5621fe){return _0x2f69d4(_0x4af0f7,_0x5621fe);},'ZMkAS':_0xecb60d(0x103),'KeBAn':'✓\x20Skipping\x20Chromium\x20check\x20(--skip-chromium)','biunz':function(_0x17fac9){return _0x17fac9();},'GxHmi':'settings.json','ktmGt':function(_0x5a9886,_0xef7316,_0x4a4ff5){return _0x5a9886(_0xef7316,_0x4a4ff5);},'vxaak':'auth.json','ZKZQi':function(_0x258694,_0x46860f,_0x28f2b9){return _0x258694(_0x46860f,_0x28f2b9);},'SwnyJ':'auth.json.enc','BLlOJ':function(_0x332e40,_0x3ca99b){return _0x332e40(_0x3ca99b);},'HoFKm':function(_0x40b9e5,_0x5484a8){return _0x40b9e5 instanceof _0x5484a8;},'dPjUr':'✓\x20Auth\x20state\x20found','rQJQf':'\x20\x20No\x20auth\x20state\x20found\x20(app\x20may\x20not\x20require\x20authentication)','HnsLn':function(_0x54b669,_0xfc130e){return _0x54b669(_0xfc130e);},'fOfgu':'profile_activate','mVAAQ':_0xecb60d(0x106),'tCFgq':'skills','oTPUj':function(_0x3332eb,_0x3b42f0){return _0x3332eb(_0x3b42f0);},'vZZHF':_0xecb60d(0x12d)};console['log']('\x0a🔧\x20Ranger\x20CI\x20Setup\x0a'),_0xa795b0?.[_0xecb60d(0x113)](_0x132717[_0xecb60d(0x115)]),await authenticate(_0x19fec1),_0xa795b0?.[_0xecb60d(0xf9)]('auth'),_0xa795b0?.[_0xecb60d(0x113)](_0xecb60d(0x121));const {path:_0x4f38b5,installed:_0x4f1479}=await ensureRangerDir();await writeRangerGitignore(_0x4f38b5);const _0x2ba13e=_0x132717['AiiPP'](join,_0x4f38b5,_0x132717[_0xecb60d(0x12e)]);!existsSync(_0x2ba13e)&&await _0x132717['LDqxv'](mkdir,_0x2ba13e,{'recursive':!![]});_0xa795b0?.['trackPhaseEnd']('dir_setup',{'installed':_0x4f1479}),_0xa795b0?.[_0xecb60d(0x113)](_0x132717[_0xecb60d(0x12b)]);let _0x4b3371=![];_0x192c71?.[_0xecb60d(0x125)]?console[_0xecb60d(0x123)](_0x132717['KeBAn']):_0x4b3371=await _0x132717['biunz'](ensureChromium);_0xa795b0?.[_0xecb60d(0xf9)](_0x132717['ZMkAS'],{'installed':_0x4b3371,'skipped':!!_0x192c71?.['skipChromium']}),_0xa795b0?.[_0xecb60d(0x113)]('profile_activate');const _0x335e80=await findCiProfile(_0x192c71?.['profile']);let _0x2327b7=![];_0x192c71?.[_0xecb60d(0x131)]&&(await mkdir(_0x335e80['path'],{'recursive':!![]}),await saveSettings(_0x335e80[_0xecb60d(0xfb)],{'baseUrl':_0x192c71[_0xecb60d(0x131)],'headless':!![]}),console['log']('✓\x20Created\x20profile\x20settings:\x20baseUrl='+_0x192c71[_0xecb60d(0x131)]),_0x2327b7=!![]);const _0x3aa928=_0x132717[_0xecb60d(0x124)](join,_0x335e80[_0xecb60d(0x10e)],_0x132717['GxHmi']);if(!existsSync(_0x3aa928)&&!_0x2327b7)throw new Error(_0xecb60d(0xff)+_0x335e80[_0xecb60d(0xfb)]+_0xecb60d(0x11c));const _0x3ab628=_0x132717[_0xecb60d(0x109)](join,_0x335e80['path'],_0x132717['vxaak']),_0x30b889=_0x132717['ZKZQi'](join,_0x335e80['path'],_0x132717[_0xecb60d(0x10a)]),_0x478539=_0x132717[_0xecb60d(0x10d)](existsSync,_0x3ab628),_0x2f6943=_0x132717[_0xecb60d(0x10d)](existsSync,_0x30b889);if(_0x2f6943)try{const _0x45efa0=await _0x132717['biunz'](getToken);if(!_0x45efa0)throw new Error(_0xecb60d(0x108));const _0xbf55d3=await _0x132717[_0xecb60d(0x10d)](readFile,_0x30b889);decrypt(_0xbf55d3,_0x45efa0),console[_0xecb60d(0x123)](_0xecb60d(0x10b));}catch(_0x1fe2d9){const _0x176918=_0x132717[_0xecb60d(0x100)](_0x1fe2d9,Error)?_0x1fe2d9['message']:_0x132717['BLlOJ'](String,_0x1fe2d9);throw new Error(_0xecb60d(0xfc)+_0x335e80[_0xecb60d(0xfb)]+_0xecb60d(0x120)+_0x176918);}else _0x478539?console['log'](_0x132717['dPjUr']):console['log'](_0x132717['rQJQf']);await _0x132717['HnsLn'](writeActiveProfileName,_0x335e80[_0xecb60d(0xfb)]),console[_0xecb60d(0x123)]('✓\x20Active\x20profile:\x20'+_0x335e80[_0xecb60d(0xfb)]),_0xa795b0?.['trackPhaseEnd'](_0x132717['fOfgu'],{'profileName':_0x335e80[_0xecb60d(0xfb)],'hasAuth':_0x478539,'hasEncryptedAuth':_0x2f6943,'createdSettings':_0x2327b7}),_0xa795b0?.[_0xecb60d(0x113)](_0x132717['mVAAQ']);const _0x58ff06=await _0x132717['biunz'](installPluginNonInteractive);_0xa795b0?.[_0xecb60d(0xf9)]('plugin',{'installed':_0x58ff06}),_0xa795b0?.[_0xecb60d(0x113)](_0x132717['tCFgq']),await _0x132717[_0xecb60d(0x11b)](skillup,{'autoInstall':_0x132717[_0xecb60d(0x119)]}),_0xa795b0?.[_0xecb60d(0xf9)](_0xecb60d(0x137)),console['log'](_0xecb60d(0x112));}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(
|
|
1
|
+
(function(_0x4106b6,_0x12779b){const _0x2abbd2=_0x368f,_0x2d0e62=_0x4106b6();while(!![]){try{const _0x2c776c=-parseInt(_0x2abbd2(0x207))/0x1+-parseInt(_0x2abbd2(0x1fb))/0x2+parseInt(_0x2abbd2(0x219))/0x3*(parseInt(_0x2abbd2(0x1fc))/0x4)+-parseInt(_0x2abbd2(0x1f4))/0x5+-parseInt(_0x2abbd2(0x203))/0x6+-parseInt(_0x2abbd2(0x20f))/0x7+parseInt(_0x2abbd2(0x208))/0x8;if(_0x2c776c===_0x12779b)break;else _0x2d0e62['push'](_0x2d0e62['shift']());}catch(_0x1236ae){_0x2d0e62['push'](_0x2d0e62['shift']());}}}(_0x4a56,0xf0bbb));import{basename}from'path';import _0x377e28 from'inquirer';import{getToken}from'./utils/keychain.js';import{installSkill}from'./utils/skills.js';import{getCurrentVersion}from'./utils/version.js';function _0x4a56(){const _0x3e7d21=['2453472fkgPZt','\x20\x202.\x20Run:\x20ranger\x20setup','list','/.opencode/skills/','723923mhufLl','43550240BPNucr','\x0a⚠️\x20\x20No\x20skills\x20were\x20installed.\x0a','\x20\x20Failed\x20to\x20install\x20ranger\x20skill:','\x20\x203.\x20Run:\x20ranger\x20skillup','To\x20get\x20started:','project','log','9065035dBnZfY','\x20<your-api-token>','ranger','✓\x20Found\x20API\x20token','project-level','rEesH','installLevel','❌\x20No\x20Ranger\x20API\x20token\x20found.\x0a','JTHJL','VTsRs','24771zNMidS','HwkAx','GGqXL','\x20skill','This\x20project\x20only\x20(','\x20\x20-\x20Start\x20OpenCode\x20and\x20run\x20the\x20`ranger_enable`\x20tool\x20to\x20enable\x20hooks.','\x20successfully!\x0a','uAiyY','5|0|2|1|3|4','8177600SNwTBf','KsFRW','/skills/','faeAZ','eFRbY','split','user','805268nocjdE','4CwygZJ','kIpsI','jzURm','\x20--opencode','\x0a✅\x20Installed\x20','claude','opencode'];_0x4a56=function(){return _0x3e7d21;};return _0x4a56();}import{getClaudeConfigDir,getProjectRoot}from'./utils/claudeConfig.js';import{getOpencodeConfigDir}from'./utils/opencodeConfig.js';function _0x368f(_0x1310f5,_0x3e10ce){_0x1310f5=_0x1310f5-0x1f0;const _0x4a5647=_0x4a56();let _0x368fb7=_0x4a5647[_0x1310f5];return _0x368fb7;}export async function skillup(_0x44c8b2={}){const _0x226c46=_0x368f,_0x5eae8f={'dZubF':'\x0a🎯\x20Ranger\x20Skill\x20Setup\x0a','eFRbY':function(_0x52047d){return _0x52047d();},'hUjUS':_0x226c46(0x1f3),'WTLia':_0x226c46(0x212),'GGqXL':function(_0x3d4244,_0x59bd28){return _0x3d4244(_0x59bd28);},'Pexcv':function(_0x4c6f36,_0x5cd975){return _0x4c6f36(_0x5cd975);},'DsSdR':_0x226c46(0x1fa),'uAiyY':function(_0x563315){return _0x563315();},'HwkAx':_0x226c46(0x202),'VTsRs':_0x226c46(0x205),'kIpsI':_0x226c46(0x215),'jzURm':'Where\x20should\x20skills\x20be\x20installed?','JTHJL':_0x226c46(0x20d),'qnDQR':function(_0x1608f3){return _0x1608f3();},'KsFRW':'\x0a📦\x20Installing\x20skills...\x0a','faeAZ':function(_0x39b106,_0x501ff4){return _0x39b106===_0x501ff4;},'rEesH':'user-level','cCnWB':_0x226c46(0x213)};console['log'](_0x5eae8f['dZubF']);const _0x52877d=_0x44c8b2['platform']??_0x226c46(0x201),_0x24b43e=await _0x5eae8f['eFRbY'](getToken);if(!_0x24b43e){const _0x5c11f8=_0x5eae8f['hUjUS'][_0x226c46(0x1f9)]('|');let _0x1641c9=0x0;while(!![]){switch(_0x5c11f8[_0x1641c9++]){case'0':console[_0x226c46(0x20e)](_0x226c46(0x20c));continue;case'1':console['log'](_0x226c46(0x204)+(_0x52877d===_0x226c46(0x202)?_0x226c46(0x1ff):'')+_0x226c46(0x210));continue;case'2':console['log']('\x20\x201.\x20Get\x20your\x20API\x20token\x20from\x20https://dashboard.ranger.net/cli');continue;case'3':console[_0x226c46(0x20e)](_0x226c46(0x20b)+(_0x52877d==='opencode'?'\x20--opencode':'')+'\x0a');continue;case'4':return;case'5':console[_0x226c46(0x20e)](_0x226c46(0x216));continue;}break;}}console[_0x226c46(0x20e)](_0x5eae8f['WTLia']);const _0x559444=_0x5eae8f[_0x226c46(0x1f8)](getProjectRoot),_0x191192=_0x5eae8f[_0x226c46(0x21b)](basename,_0x559444),_0x2db6f2=_0x52877d===_0x226c46(0x202)?_0x5eae8f['Pexcv'](getOpencodeConfigDir,_0x5eae8f['DsSdR'])+_0x226c46(0x1f6):_0x5eae8f[_0x226c46(0x1f2)](getClaudeConfigDir)+'/skills/',_0x2a03c2=_0x52877d===_0x5eae8f[_0x226c46(0x21a)]?_0x559444+_0x226c46(0x206):_0x559444+'/.claude/skills/',_0x49a11f=process['stdin']['isTTY']&&process['stdout']['isTTY'];let _0xdfe20f;if(_0x44c8b2['autoInstall'])_0xdfe20f=_0x44c8b2['autoInstall'];else{if(_0x49a11f){const _0x52ad97=await _0x377e28['prompt']([{'type':_0x5eae8f[_0x226c46(0x218)],'name':_0x5eae8f[_0x226c46(0x1fd)],'message':_0x5eae8f[_0x226c46(0x1fe)],'choices':[{'name':'All\x20projects\x20('+_0x2db6f2+')','value':_0x226c46(0x1fa)},{'name':_0x226c46(0x21d)+_0x2a03c2+')','value':_0x226c46(0x20d)}]}]);_0xdfe20f=_0x52ad97['installLevel'];}else _0xdfe20f=_0x5eae8f[_0x226c46(0x217)],console[_0x226c46(0x20e)]('Non-interactive\x20mode:\x20Installing\x20skills\x20at\x20project\x20level\x20('+_0x2a03c2+')');}let _0x2fcf35=0x0;const _0x295783=_0x5eae8f['qnDQR'](getCurrentVersion);console['log'](_0x5eae8f[_0x226c46(0x1f5)]);try{const _0x4f575d=await installSkill(_0x226c46(0x211),{'cliVersion':_0x295783,'level':_0xdfe20f,'platform':_0x52877d});_0x4f575d&&_0x2fcf35++;}catch(_0xb2dce3){console['warn'](_0x226c46(0x20a),_0xb2dce3 instanceof Error?_0xb2dce3['message']:_0xb2dce3);}if(_0x2fcf35>0x0){const _0x54ebd3=_0x5eae8f[_0x226c46(0x1f7)](_0xdfe20f,_0x226c46(0x1fa))?_0x5eae8f[_0x226c46(0x214)]:_0x5eae8f['cCnWB'];console['log'](_0x226c46(0x200)+_0x2fcf35+'\x20'+_0x54ebd3+_0x226c46(0x21c)+(_0x2fcf35>0x1?'s':'')+_0x226c46(0x1f1)),!_0x44c8b2['suppressUsage']&&(console['log']('To\x20use:'),_0x52877d===_0x226c46(0x202)?console[_0x226c46(0x20e)](_0x226c46(0x1f0)):console['log']('\x20\x20-\x20Open\x20Claude\x20Code\x20in\x20plan\x20mode\x20and\x20run\x20/ranger:enable.\x20Plan\x20out\x20a\x20UI\x20feature\x20with\x20Ranger\x20and\x20watch\x20Ranger\x20test\x20it\x20for\x20you!'));}else console['log'](_0x226c46(0x209));}
|
package/build/commands/start.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
const _0x3ea4f4=_0x3261;(function(_0x157bb2,_0x149e1d){const _0x3a0ef0=_0x3261,_0x234101=_0x157bb2();while(!![]){try{const _0x5d9459=-parseInt(_0x3a0ef0(0x156))/0x1*(parseInt(_0x3a0ef0(0x145))/0x2)+parseInt(_0x3a0ef0(0x101))/0x3*(-parseInt(_0x3a0ef0(0x14f))/0x4)+-parseInt(_0x3a0ef0(0xf7))/0x5+parseInt(_0x3a0ef0(0x116))/0x6*(-parseInt(_0x3a0ef0(0x143))/0x7)+parseInt(_0x3a0ef0(0x155))/0x8*(-parseInt(_0x3a0ef0(0x13d))/0x9)+parseInt(_0x3a0ef0(0xee))/0xa*(parseInt(_0x3a0ef0(0x147))/0xb)+parseInt(_0x3a0ef0(0xef))/0xc*(parseInt(_0x3a0ef0(0x130))/0xd);if(_0x5d9459===_0x149e1d)break;else _0x234101['push'](_0x234101['shift']());}catch(_0x5dbe12){_0x234101['push'](_0x234101['shift']());}}}(_0x4ff5,0x21f83));import{mkdir,writeFile}from'fs/promises';function _0x4ff5(){const _0x310c9d=['3434mZLyHL','scope','2620222Vmxblr','with\x20scenarios\x20describing\x20what\x20to\x20verify\x20and\x20then\x20run\x20browser','✓\x20Skipping\x20authentication\x20(--skip-auth)','skipped','UszOj','Validating\x20API\x20token...','\x0aTo\x20verify\x20with\x20a\x20browser,\x20set\x20','iAySA','8ZMiAxR','success','\x20for\x20explicit\x20profile\x20management).','skipChromium','install','...','8DVsEYP','157dDSZGf','Failed\x20to\x20connect\x20to\x20MCP\x20server:\x20','\x0a✓\x20Playwright\x20Chromium\x20installed\x20successfully','allowInsecureLocalhost','ignore','skipAuth','TZeIH','You\x20will\x20need\x20to\x20install\x20it\x20before\x20using\x20Ranger:','gjYHz','\x20when\x20the\x20org\x27s\x20login','skills','IHcSx','BsZIG','OXvJa','bCYOw','10idQGEP','2835132cURzGR','executablePath','env','edSIh','DCADY','\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','\x0aNon-interactive\x20mode:\x20Auto-installing\x20Playwright\x20Chromium\x20','✓\x20Authenticated\x20to\x20','1157785oKoNvM','stdout','zWhdO','\x20(fallback\x20version)','(and\x20','dSHDG','Could\x20not\x20determine\x20local\x20Playwright\x20version.\x20Install\x20Playwright\x20Chromium\x20using\x20fallback\x20version\x20','lqDNM','message','--with-deps','130671RNwOcA','XPQrt','/ranger:enable','mxgxC','npx','existing_token','version','plugin','local','DMPGc','win32','✓\x20Created\x20.ranger/.gitignore','status','OYYxY','prompt','\x0aIn\x20Claude\x20Code,\x20run\x20','\x0a\x20\x20config\x20uses\x20username+password).\x20Orgs\x20on\x20SSO/SAML/OAuth','\x0aagent\x20like\x20usual.\x20Claude\x20will\x20create\x20a\x20feature\x20review\x20with','playwright/package.json','✓\x20Exported\x20credentials\x20for\x20CI','RANGER_TEST_USERNAME','78RXolYP','\x0a❌\x20Profile\x20setup\x20failed:','log','inherit','PuUqc','rSlbU','error','✓\x20Playwright\x20Chromium\x20browser\x20found','user','✓\x20Created\x20~/.ranger/\x20directory','zGajF','\x0aInstalling\x20Chromium\x20browser...\x0a','method','close','⚠\x20No\x20git\x20repository\x20found.\x20Re-run\x20with\x20`--scope\x20user`\x20to\x20store\x20the\x20profile\x20at\x20~/.ranger/.','uzsYz','ranger\x20profile\x20add','\x0averification\x20to\x20check\x20its\x20work\x20as\x20it\x20builds.','fKaXQ','warn','trackPhaseStart','resolve','Authentication\x20failed:\x20','bwayW','ranger','platform','39JuqIyC',')\x20of\x20the\x20Playwright\x20Chromium\x20browser\x20is\x20not\x20installed.\x20Install\x20it\x20now?','haYUj','uOkPp','opencode','auth','trackPhaseEnd','chromium','verification\x20to\x20check\x20its\x20work\x20as\x20it\x20builds.','playwright@','You\x20can\x20install\x20it\x20manually\x20by\x20running:','url','\x20\x20npx\x20playwright@','1187874PbnTkg','BncsG','\x1b[0m','provided_token','GoFbM','nyiXl','47180wYuxAB','oYtHj'];_0x4ff5=function(){return _0x310c9d;};return _0x4ff5();}import{join}from'path';import{existsSync}from'fs';import{createRequire}from'module';import{spawn}from'child_process';import _0x3e7fb1 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';function _0x3261(_0x486c45,_0xb20c4c){_0x486c45=_0x486c45-0xe2;const _0x4ff577=_0x4ff5();let _0x32613b=_0x4ff577[_0x486c45];return _0x32613b;}import{ensureClaudePlugin,ensureClaudeSkills}from'./setup/claude.js';import{ensureOpencodePluginConfig}from'./setup/opencode.js';import{installSkill}from'./utils/skills.js';const require=createRequire(import.meta.url);export const PLAYWRIGHT_CHROMIUM_INSTALL_FALLBACK_VERSION='1.58.2';const bold=_0x3c92ca=>'\x1b[1m'+_0x3c92ca+_0x3ea4f4(0x13f);export function getPlaywrightVersion(){const _0x550fd6=_0x3ea4f4;try{const _0x23e827=require[_0x550fd6(0x12b)](_0x550fd6(0x113)),_0x3ef905=require(_0x23e827);return _0x3ef905[_0x550fd6(0x107)];}catch{return null;}}export function installChromiumBinary(_0x2d3bd1,_0x827917=![]){const _0x41fe4f=_0x3ea4f4,_0x423535={'shAUi':_0x41fe4f(0x153),'tXdFX':'chromium','iAySA':_0x41fe4f(0x119),'KwMDV':_0x41fe4f(0x11c)};return new Promise((_0x4b9c83,_0xc7e75f)=>{const _0x183de=_0x41fe4f,_0x34e5de={'UszOj':function(_0x2c9934){return _0x2c9934();},'bUeLo':function(_0x550016,_0xe33811){return _0x550016(_0xe33811);}},_0x5609b9=[_0x183de(0x139)+_0x2d3bd1,_0x423535['shAUi'],..._0x827917?[_0x183de(0x100)]:[],_0x423535['tXdFX']],_0x512311=spawn(_0x183de(0x105),_0x5609b9,{'stdio':[_0x183de(0xe3),_0x423535[_0x183de(0x14e)],_0x423535[_0x183de(0x14e)]],'shell':process[_0x183de(0x12f)]===_0x183de(0x10b)});_0x512311['on'](_0x183de(0x123),_0x13a5b6=>{const _0x5d4d7c=_0x183de;_0x13a5b6===0x0?_0x34e5de[_0x5d4d7c(0x14b)](_0x4b9c83):_0xc7e75f(new Error('Installation\x20failed\x20with\x20exit\x20code\x20'+_0x13a5b6));}),_0x512311['on'](_0x423535['KwMDV'],_0x556891=>{_0x34e5de['bUeLo'](_0xc7e75f,_0x556891);});});}export async function authenticate(_0x7e552e){const _0x41ab4b=_0x3ea4f4,_0x40c2ba={'BsZIG':_0x41ab4b(0x106),'jLHpm':function(_0x3c3703){return _0x3c3703();},'IHcSx':function(_0x2c95d4,_0x128245){return _0x2c95d4 instanceof _0x128245;}};if(!_0x7e552e){const _0x2cd25e=await getToken();if(_0x2cd25e){const _0x374812=await getCurrentUser(_0x2cd25e);if(_0x374812[_0x41ab4b(0x150)])return console[_0x41ab4b(0x118)]('✓\x20Already\x20authenticated\x20to\x20'+_0x374812[_0x41ab4b(0x11e)]['organizationName']),{'token':_0x2cd25e,'method':_0x40c2ba[_0x41ab4b(0xeb)]};}try{_0x7e552e=await _0x40c2ba['jLHpm'](runDeviceAuthFlow);}catch(_0x2f4149){throw new Error(_0x41ab4b(0x12c)+(_0x40c2ba[_0x41ab4b(0xea)](_0x2f4149,Error)?_0x2f4149['message']:_0x2f4149));}const _0x423fbf=await getCurrentUser(_0x7e552e);if(!_0x423fbf['success'])throw new Error('Failed\x20to\x20validate\x20provisioned\x20API\x20key:\x20'+_0x423fbf['error']);return console['log'](_0x41ab4b(0xf6)+_0x423fbf['user']['organizationName']),{'token':_0x7e552e,'method':'device_auth'};}console['log'](_0x41ab4b(0x14c));const _0x46a98a=await getCurrentUser(_0x7e552e);if(!_0x46a98a[_0x41ab4b(0x150)]){if(_0x46a98a[_0x41ab4b(0x10d)])throw new Error('Authentication\x20failed:\x20'+_0x46a98a['error']+'.\x20Please\x20check\x20your\x20API\x20token\x20and\x20try\x20again.');else throw new Error(_0x41ab4b(0x157)+_0x46a98a[_0x41ab4b(0x11c)]+'.\x20Please\x20check\x20your\x20network\x20connection\x20and\x20server\x20URL.');}return console['log'](_0x41ab4b(0xf6)+_0x46a98a['user']['organizationName']),await storeToken(_0x7e552e),console[_0x41ab4b(0x118)](process[_0x41ab4b(0xf1)]['GITHUB_ENV']?_0x41ab4b(0x114):'✓\x20Stored\x20credentials\x20locally'),{'token':_0x7e552e,'method':_0x41ab4b(0x140)};}export async function ensureRangerDir(_0x37c4a6){const _0x26a46c=_0x3ea4f4,_0x4d5a6f={'YxdAQ':'✓\x20~/.ranger/\x20directory\x20already\x20exists'};void _0x37c4a6;const _0x39bde5=getRangerHomeDir();return!existsSync(_0x39bde5)?(await mkdir(_0x39bde5,{'recursive':!![]}),console[_0x26a46c(0x118)](_0x26a46c(0x11f)),{'path':_0x39bde5,'installed':!![]}):(console['log'](_0x4d5a6f['YxdAQ']),{'path':_0x39bde5,'installed':![]});}export async function ensureChromium(_0x5bbbfd=![]){const _0x3a5843=_0x3ea4f4,_0x3339bb={'OXvJa':function(_0x2f4ce3,_0xd20ad6){return _0x2f4ce3(_0xd20ad6);},'gjYHz':function(_0x27b2a5,_0x5c3cf7){return _0x27b2a5??_0x5c3cf7;},'mxgxC':'confirm','zGajF':_0x3a5843(0xfa),'NVpRL':function(_0xe3e093,_0x6b4345,_0x169591){return _0xe3e093(_0x6b4345,_0x169591);},'TZeIH':_0x3a5843(0x158),'GoFbM':function(_0x3500e9,_0x51457c){return _0x3500e9 instanceof _0x51457c;},'fKaXQ':'\x0a⚠\x20Skipping\x20Chromium\x20installation.'};let _0x3e04e8=![];try{const _0x13f3f1=chromium[_0x3a5843(0xf0)]();_0x3e04e8=_0x3339bb[_0x3a5843(0xec)](existsSync,_0x13f3f1);}catch{_0x3e04e8=![];}if(_0x3e04e8)return console['log'](_0x3a5843(0x11d)),![];const _0x50bc93=getPlaywrightVersion(),_0xbfe409=_0x3339bb[_0x3a5843(0xe7)](_0x50bc93,PLAYWRIGHT_CHROMIUM_INSTALL_FALLBACK_VERSION),_0x3b0959=!_0x50bc93,_0x1fb20f=process['stdin']['isTTY']&&process[_0x3a5843(0xf8)]['isTTY'];let _0x12280e=!![];if(_0x1fb20f){const {install:_0x29c75e}=await _0x3e7fb1[_0x3a5843(0x10f)]([{'type':_0x3339bb[_0x3a5843(0x104)],'name':_0x3a5843(0x153),'message':_0x3b0959?_0x3a5843(0xfd)+_0xbfe409+'\x20now?':'The\x20required\x20version\x20('+_0xbfe409+_0x3a5843(0x131),'default':!![]}]);_0x12280e=_0x29c75e;}else console['log'](_0x3a5843(0xf5)+_0xbfe409+(_0x3b0959?_0x3339bb[_0x3a5843(0x120)]:'')+_0x3a5843(0x154));if(_0x12280e){console['log'](_0x3a5843(0x121));try{await _0x3339bb['NVpRL'](installChromiumBinary,_0xbfe409,_0x5bbbfd),console[_0x3a5843(0x118)](_0x3339bb[_0x3a5843(0xe5)]);}catch(_0x5393e3){console['error']('\x0a❌\x20Failed\x20to\x20install\x20Chromium:',_0x3339bb[_0x3a5843(0x141)](_0x5393e3,Error)?_0x5393e3['message']:_0x5393e3),console[_0x3a5843(0x118)](_0x3a5843(0x13a)),console[_0x3a5843(0x118)](_0x3a5843(0x13c)+_0xbfe409+'\x20install\x20chromium');}}else console[_0x3a5843(0x118)](_0x3339bb[_0x3a5843(0x128)]),console['log'](_0x3a5843(0xe6)),console['log'](_0x3a5843(0x13c)+_0xbfe409+'\x20install\x20chromium');return!![];}export async function writeRangerGitignore(_0x35a461){const _0x3d282c=_0x3ea4f4,_0xae0e81={'avOEe':function(_0x2cfc7c,_0x74b70,_0x58dcd0){return _0x2cfc7c(_0x74b70,_0x58dcd0);},'sNEju':'.gitignore','hYjbu':_0x3d282c(0x10c)},_0x51bf0a=_0xae0e81['avOEe'](join,_0x35a461,_0xae0e81['sNEju']),_0x471c10=_0x3d282c(0xf4);await _0xae0e81['avOEe'](writeFile,_0x51bf0a,_0x471c10),console[_0x3d282c(0x118)](_0xae0e81['hYjbu']);}export async function ensureLocalEnv(_0xdd1910,_0x3a456e){const _0x526833=_0x3ea4f4,_0x33c352={'xpfNa':function(_0x21d520){return _0x21d520();},'DKQiX':function(_0x24d837,_0x4151f3){return _0x24d837!==_0x4151f3;},'DCADY':_0x526833(0x11e),'dSHDG':_0x526833(0x124),'zWhdO':_0x526833(0x109),'ThakB':function(_0x235eff,_0x3006c0,_0x2767b,_0x20d170){return _0x235eff(_0x3006c0,_0x2767b,_0x20d170);},'pQBfS':function(_0x24535a,_0x53c314){return _0x24535a instanceof _0x53c314;}};if(!_0x33c352['xpfNa'](findGitRoot)&&_0x33c352['DKQiX'](_0xdd1910?.[_0x526833(0x146)],_0x33c352['DCADY']))return console['log'](_0x33c352[_0x526833(0xfc)]),{'ready':![],'skipped':!![]};const _0x4e3bde=_0xdd1910?.[_0x526833(0x146)]===_0x33c352[_0x526833(0xf3)]?_0x33c352['xpfNa'](getRangerHomeDir):undefined;if(findExistingEnv(_0x33c352[_0x526833(0xf9)],{'locations':[_0x526833(0x109)],'rangerDir':_0x4e3bde}))return console['log']('✓\x20Local\x20profile\x20already\x20exists'),{'ready':!![],'skipped':![]};try{return await _0x33c352['ThakB'](addEnv,_0x526833(0x109),{'url':_0xdd1910?.[_0x526833(0x13b)],'force':_0xdd1910?.['force'],'allowInsecureLocalhost':_0xdd1910?.[_0x526833(0xe2)],'scope':_0xdd1910?.[_0x526833(0x146)]},_0x3a456e),{'ready':!![],'skipped':![]};}catch(_0x311ef9){return console[_0x526833(0x11c)](_0x526833(0x117),_0x33c352['pQBfS'](_0x311ef9,Error)?_0x311ef9[_0x526833(0xff)]:_0x311ef9),{'ready':![],'skipped':![]};}}export async function start(_0x3d2892,_0x302cac,_0x76c357){const _0x420f30=_0x3ea4f4,_0x4180b1={'XPQrt':'\x0a🚀\x20Ranger\x20Setup\x0a','BncsG':function(_0x1f286e){return _0x1f286e();},'uzsYz':'user','irOXO':_0x420f30(0x149),'bwayW':'auth','DMPGc':function(_0x43912e,_0x39b33a){return _0x43912e(_0x39b33a);},'UwIwK':'chromium','mEoqU':'\x0a✅\x20Ranger\x20setup\x20complete!\x0a','lqDNM':'plugin','haYUj':_0x420f30(0xe9),'nyiXl':_0x420f30(0x134),'bCYOw':'\x0aSkipping\x20profile\x20setup\x20(--skip-auth).\x20Run\x20`ranger\x20setup`\x20with\x20auth\x20to\x20add\x20a\x20profile\x20later.\x0a','uOkPp':'profile','PuUqc':function(_0x2ecc6e,_0x395c86){return _0x2ecc6e+_0x395c86;},'rSlbU':function(_0x5323d2,_0x2b877d){return _0x5323d2+_0x2b877d;},'EikKO':_0x420f30(0x115),'OYYxY':function(_0x56c179,_0x501e5c){return _0x56c179(_0x501e5c);},'oYtHj':'\x0aIn\x20OpenCode,\x20enable\x20Ranger\x20hooks\x20(run\x20the\x20`ranger_enable`\x20tool)','GHesk':_0x420f30(0x148),'edSIh':_0x420f30(0x103),'buXJb':function(_0x1cc4ae,_0x4e8691){return _0x1cc4ae+_0x4e8691;}};console['log'](_0x4180b1[_0x420f30(0x102)]),_0x302cac={..._0x302cac,'scope':'user'};const _0x26cc49=!existsSync(_0x4180b1['BncsG'](getRangerHomeDir));await ensureRangerDir(_0x4180b1[_0x420f30(0x125)]);if(_0x302cac?.[_0x420f30(0xe4)])console['log'](_0x4180b1['irOXO']),_0x76c357?.['trackPhaseEnd'](_0x4180b1[_0x420f30(0x12d)],{'isFirstRun':_0x26cc49,'method':_0x420f30(0x14a)});else{_0x76c357?.[_0x420f30(0x12a)](_0x420f30(0x135));const _0x577e8a=await _0x4180b1[_0x420f30(0x10a)](authenticate,_0x3d2892);_0x76c357?.['trackPhaseEnd'](_0x4180b1['bwayW'],{'isFirstRun':_0x26cc49,'method':_0x577e8a[_0x420f30(0x122)]});}_0x76c357?.[_0x420f30(0x12a)](_0x420f30(0x137));_0x302cac?.[_0x420f30(0x152)]?console[_0x420f30(0x118)]('✓\x20Skipping\x20Chromium\x20check\x20(--skip-chromium)'):await _0x4180b1[_0x420f30(0x10a)](ensureChromium,_0x302cac?.['withDeps']);_0x76c357?.['trackPhaseEnd'](_0x4180b1['UwIwK'],{'isFirstRun':_0x26cc49,'skipped':!!_0x302cac?.['skipChromium']}),console['log'](_0x4180b1['mEoqU']);const _0x28317c=_0x302cac?.[_0x420f30(0x146)],_0x3b8785=_0x302cac?.[_0x420f30(0x134)]??![];let _0x592658=null;_0x3b8785?(_0x76c357?.['trackPhaseStart'](_0x420f30(0x108)),_0x592658=await _0x4180b1['DMPGc'](ensureOpencodePluginConfig,_0x28317c),_0x76c357?.[_0x420f30(0x136)](_0x4180b1[_0x420f30(0xfe)],{'isFirstRun':_0x26cc49,'opencode':!![]})):(_0x76c357?.[_0x420f30(0x12a)](_0x4180b1[_0x420f30(0xfe)]),await _0x4180b1['DMPGc'](ensureClaudePlugin,_0x28317c),_0x76c357?.[_0x420f30(0x136)](_0x4180b1[_0x420f30(0xfe)],{'isFirstRun':_0x26cc49}));if(_0x3b8785&&_0x592658){_0x76c357?.['trackPhaseStart'](_0x4180b1[_0x420f30(0x132)]);try{await installSkill(_0x420f30(0x12e),{'level':_0x592658['scope'],'cliVersion':_0x4180b1[_0x420f30(0x13e)](getCurrentVersion),'platform':_0x4180b1[_0x420f30(0x142)]}),_0x76c357?.['trackPhaseEnd']('skills',{'isFirstRun':_0x26cc49,'opencode':!![]});}catch(_0x3e07e3){console[_0x420f30(0x129)]('\x20\x20Failed\x20to\x20install\x20OpenCode\x20skill:',_0x3e07e3 instanceof Error?_0x3e07e3['message']:_0x3e07e3),_0x76c357?.[_0x420f30(0x136)](_0x4180b1[_0x420f30(0x132)],{'isFirstRun':_0x26cc49,'opencode':!![],'failed':!![]});}}else _0x76c357?.[_0x420f30(0x12a)]('skills'),await ensureClaudeSkills(_0x28317c),_0x76c357?.[_0x420f30(0x136)]('skills',{'isFirstRun':_0x26cc49});if(_0x302cac?.[_0x420f30(0xe4)])console[_0x420f30(0x118)](_0x4180b1[_0x420f30(0xed)]);else{if(_0x302cac?.[_0x420f30(0x13b)]){_0x76c357?.[_0x420f30(0x12a)](_0x4180b1[_0x420f30(0x133)]);const _0x3505d0=await ensureLocalEnv({'url':_0x302cac['url'],'force':_0x302cac?.['force'],'allowInsecureLocalhost':_0x302cac?.[_0x420f30(0xe2)],'scope':_0x4180b1['uzsYz']},_0x76c357);_0x76c357?.['trackPhaseEnd'](_0x4180b1[_0x420f30(0x133)],{'isFirstRun':_0x26cc49,'profileReady':_0x3505d0['ready'],'userSkipped':_0x3505d0['skipped']});}else console['log'](_0x4180b1[_0x420f30(0x11a)](_0x4180b1[_0x420f30(0x11b)](_0x420f30(0x14d)+_0x4180b1['DMPGc'](bold,_0x4180b1['EikKO'])+'\x20',_0x420f30(0xfb)+_0x4180b1[_0x420f30(0x10e)](bold,'RANGER_TEST_PASSWORD')+_0x420f30(0xe8))+_0x420f30(0x111),'\x20may\x20need\x20a\x20one-time\x20headed\x20login\x20instead\x20—')+'\x0a\x20\x20your\x20org\x27s\x20auth\x20config\x20drives\x20which\x20flow\x20runs.'),console[_0x420f30(0x118)]('\x20\x20(or\x20use\x20'+bold(_0x420f30(0x126))+_0x420f30(0x151));}if(_0x3b8785)console['log'](_0x4180b1[_0x420f30(0x144)]),console[_0x420f30(0x118)]('and\x20prompt\x20the\x20agent\x20like\x20usual.\x20Ranger\x20will\x20create\x20a\x20feature\x20review'),console['log'](_0x4180b1['GHesk']),console[_0x420f30(0x118)](_0x420f30(0x138));else{const _0x3f1e9f=_0x4180b1[_0x420f30(0x10e)](bold,_0x4180b1[_0x420f30(0xf2)]);console[_0x420f30(0x118)](_0x4180b1['buXJb'](_0x420f30(0x110)+_0x3f1e9f+'\x20and\x20prompt\x20the\x20coding',_0x420f30(0x112))+'\x0ascenarios\x20describing\x20what\x20to\x20verify\x20and\x20then\x20run\x20browser'+_0x420f30(0x127));}}
|
|
1
|
+
const _0x409d75=_0x3d13;(function(_0x54025f,_0x50d2a0){const _0x4a8a75=_0x3d13,_0x117fb9=_0x54025f();while(!![]){try{const _0x5711f5=-parseInt(_0x4a8a75(0xd1))/0x1*(-parseInt(_0x4a8a75(0x10c))/0x2)+parseInt(_0x4a8a75(0xf5))/0x3+-parseInt(_0x4a8a75(0xa2))/0x4*(parseInt(_0x4a8a75(0xc4))/0x5)+-parseInt(_0x4a8a75(0xc3))/0x6+parseInt(_0x4a8a75(0xc6))/0x7*(-parseInt(_0x4a8a75(0xbe))/0x8)+parseInt(_0x4a8a75(0xde))/0x9+parseInt(_0x4a8a75(0x109))/0xa*(parseInt(_0x4a8a75(0xad))/0xb);if(_0x5711f5===_0x50d2a0)break;else _0x117fb9['push'](_0x117fb9['shift']());}catch(_0x39260a){_0x117fb9['push'](_0x117fb9['shift']());}}}(_0x1009,0xcfb0a));import{mkdir,writeFile}from'fs/promises';import{join}from'path';import{existsSync}from'fs';import{createRequire}from'module';import{spawn}from'child_process';import _0x469b3a 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 _0x3d13(_0x159cdc,_0xf88f8d){_0x159cdc=_0x159cdc-0xa2;const _0x1009b9=_0x1009();let _0x3d1398=_0x1009b9[_0x159cdc];return _0x3d1398;}export const PLAYWRIGHT_CHROMIUM_INSTALL_FALLBACK_VERSION='1.58.2';const bold=_0x1f6574=>_0x409d75(0xf4)+_0x1f6574+_0x409d75(0xf9);function _0x1009(){const _0x496985=['kVUDh','90WqSSvi','force','allowInsecureLocalhost','2154SkAjbP','jZcOB','2698584OPnuCz','\x20now?','✓\x20Skipping\x20authentication\x20(--skip-auth)','✓\x20Authenticated\x20to\x20','vGtpY','TEiJM','\x20may\x20need\x20a\x20one-time\x20headed\x20login\x20instead\x20—',')\x20of\x20the\x20Playwright\x20Chromium\x20browser\x20is\x20not\x20installed.\x20Install\x20it\x20now?','✓\x20~/.ranger/\x20directory\x20already\x20exists','✓\x20Exported\x20credentials\x20for\x20CI','mXxkz','339482RDibix','prompt','You\x20will\x20need\x20to\x20install\x20it\x20before\x20using\x20Ranger:','opencode','scope','\x0aIn\x20OpenCode,\x20enable\x20Ranger\x20hooks\x20(run\x20the\x20`ranger_enable`\x20tool)','\x20\x20npx\x20playwright@','status','chromium','message','\x0a🚀\x20Ranger\x20Setup\x0a','provided_token','✓\x20Playwright\x20Chromium\x20browser\x20found','You\x20can\x20install\x20it\x20manually\x20by\x20running:','RANGER_TEST_USERNAME','warn','QiCjN','45984uTKJxb','npx','keVTK','AcxqW','wSKSf','8333088NlSHcm','5QalAsH','SUPix','721jlpWuz','user','success','\x0aTo\x20verify\x20with\x20a\x20browser,\x20set\x20','kTWee','The\x20required\x20version\x20(','\x0aInstalling\x20Chromium\x20browser...\x0a','XjhQh','with\x20scenarios\x20describing\x20what\x20to\x20verify\x20and\x20then\x20run\x20browser','trackPhaseStart','\x0aNon-interactive\x20mode:\x20Auto-installing\x20Playwright\x20Chromium\x20','502WPgcpG','ignore','withDeps','\x0a⚠\x20Skipping\x20Chromium\x20installation.','--with-deps','\x0a✅\x20Ranger\x20setup\x20complete!\x0a','local','/ranger:enable','device_auth','RbxEn','organizationName','\x0aagent\x20like\x20usual.\x20Claude\x20will\x20create\x20a\x20feature\x20review\x20with','\x0a\x20\x20your\x20org\x27s\x20auth\x20config\x20drives\x20which\x20flow\x20runs.','11417967tOTRFh','\x20(fallback\x20version)','YHYFx','skipAuth','ZqadV','plugin','\x20install\x20chromium','\x0ascenarios\x20describing\x20what\x20to\x20verify\x20and\x20then\x20run\x20browser','\x20for\x20explicit\x20profile\x20management).','ffcHi','nIayw','trackPhaseEnd','KKvWS','ready','Authentication\x20failed:\x20','\x0aSkipping\x20profile\x20setup\x20(--skip-auth).\x20Run\x20`ranger\x20setup`\x20with\x20auth\x20to\x20add\x20a\x20profile\x20later.\x0a','Yzdsp','platform','isTTY','✓\x20Created\x20.ranger/.gitignore','VAHdj','✓\x20Local\x20profile\x20already\x20exists','\x1b[1m','4257483vmBAod','\x20\x20Failed\x20to\x20install\x20OpenCode\x20skill:','lfeJn','\x0a❌\x20Failed\x20to\x20install\x20Chromium:','\x1b[0m','resolve','skipped','\x20and\x20prompt\x20the\x20coding','QuLXb','XOkID','stdout','error','aVwNL','btJpd','jqfXF','cDUtX','and\x20prompt\x20the\x20agent\x20like\x20usual.\x20Ranger\x20will\x20create\x20a\x20feature\x20review','existing_token','log'];_0x1009=function(){return _0x496985;};return _0x1009();}export function getPlaywrightVersion(){const _0x4c6cf2=_0x409d75,_0xea7100={'ZqadV':'playwright/package.json'};try{const _0x36c2c7=require[_0x4c6cf2(0xfa)](_0xea7100[_0x4c6cf2(0xe2)]),_0x358051=require(_0x36c2c7);return _0x358051['version'];}catch{return null;}}export function installChromiumBinary(_0x2bed3b,_0x5bc291=![]){const _0x5e00c7=_0x409d75,_0x4571b8={'BjtuK':_0x5e00c7(0xd5),'wSKSf':_0x5e00c7(0xd2),'imAqv':function(_0x34f9ca,_0x3cfa8d){return _0x34f9ca===_0x3cfa8d;},'wUGhM':'error'};return new Promise((_0x15d3cc,_0x11bfb9)=>{const _0x1346da=_0x5e00c7,_0x54d166={'SUPix':function(_0x4c9f27,_0x1564e9){return _0x4c9f27===_0x1564e9;},'fKdlG':function(_0x52546f){return _0x52546f();}},_0x41de42=['playwright@'+_0x2bed3b,'install',..._0x5bc291?[_0x4571b8['BjtuK']]:[],_0x1346da(0xb5)],_0x2effe4=spawn(_0x1346da(0xbf),_0x41de42,{'stdio':[_0x4571b8[_0x1346da(0xc2)],'inherit','inherit'],'shell':_0x4571b8['imAqv'](process[_0x1346da(0xef)],'win32')});_0x2effe4['on']('close',_0x1eb962=>{const _0x221c8b=_0x1346da;_0x54d166[_0x221c8b(0xc5)](_0x1eb962,0x0)?_0x54d166['fKdlG'](_0x15d3cc):_0x11bfb9(new Error('Installation\x20failed\x20with\x20exit\x20code\x20'+_0x1eb962));}),_0x2effe4['on'](_0x4571b8['wUGhM'],_0x39b9a6=>{_0x11bfb9(_0x39b9a6);});});}export async function authenticate(_0x5be8e6){const _0x207b04=_0x409d75,_0x501e58={'jTIVe':_0x207b04(0x106),'YHYFx':function(_0x3d7933,_0x352c69){return _0x3d7933 instanceof _0x352c69;},'KZBXY':function(_0x3194e3,_0x31e27e){return _0x3194e3(_0x31e27e);},'QiCjN':_0x207b04(0xd9),'ffcHi':'Validating\x20API\x20token...','XOkID':'✓\x20Stored\x20credentials\x20locally','QPDoO':_0x207b04(0xb8)};if(!_0x5be8e6){const _0x377b39=await getToken();if(_0x377b39){const _0x1c5d0d=await getCurrentUser(_0x377b39);if(_0x1c5d0d['success'])return console[_0x207b04(0x107)]('✓\x20Already\x20authenticated\x20to\x20'+_0x1c5d0d[_0x207b04(0xc7)]['organizationName']),{'token':_0x377b39,'method':_0x501e58['jTIVe']};}try{_0x5be8e6=await runDeviceAuthFlow();}catch(_0x447182){throw new Error('Authentication\x20failed:\x20'+(_0x501e58[_0x207b04(0xe0)](_0x447182,Error)?_0x447182['message']:_0x447182));}const _0x3fd7e6=await _0x501e58['KZBXY'](getCurrentUser,_0x5be8e6);if(!_0x3fd7e6['success'])throw new Error('Failed\x20to\x20validate\x20provisioned\x20API\x20key:\x20'+_0x3fd7e6[_0x207b04(0x100)]);return console['log'](_0x207b04(0xa5)+_0x3fd7e6[_0x207b04(0xc7)][_0x207b04(0xdb)]),{'token':_0x5be8e6,'method':_0x501e58[_0x207b04(0xbd)]};}console['log'](_0x501e58[_0x207b04(0xe7)]);const _0x3dafb0=await _0x501e58['KZBXY'](getCurrentUser,_0x5be8e6);if(!_0x3dafb0[_0x207b04(0xc8)]){if(_0x3dafb0[_0x207b04(0xb4)])throw new Error(_0x207b04(0xec)+_0x3dafb0[_0x207b04(0x100)]+'.\x20Please\x20check\x20your\x20API\x20token\x20and\x20try\x20again.');else throw new Error('Failed\x20to\x20connect\x20to\x20MCP\x20server:\x20'+_0x3dafb0['error']+'.\x20Please\x20check\x20your\x20network\x20connection\x20and\x20server\x20URL.');}return console[_0x207b04(0x107)]('✓\x20Authenticated\x20to\x20'+_0x3dafb0[_0x207b04(0xc7)]['organizationName']),await _0x501e58['KZBXY'](storeToken,_0x5be8e6),console[_0x207b04(0x107)](process['env']['GITHUB_ENV']?_0x207b04(0xab):_0x501e58[_0x207b04(0xfe)]),{'token':_0x5be8e6,'method':_0x501e58['QPDoO']};}export async function ensureRangerDir(_0x2950ba){const _0x1bb19f=_0x409d75,_0x2f2de1={'mlMaV':function(_0xad10b4,_0x2cdce8){return _0xad10b4(_0x2cdce8);},'ebgDY':function(_0x358ac2,_0x510b82,_0x395fc3){return _0x358ac2(_0x510b82,_0x395fc3);},'FPJWY':'✓\x20Created\x20~/.ranger/\x20directory','fcXBx':_0x1bb19f(0xaa)};void _0x2950ba;const _0x2b8ce4=getRangerHomeDir();return!_0x2f2de1['mlMaV'](existsSync,_0x2b8ce4)?(await _0x2f2de1['ebgDY'](mkdir,_0x2b8ce4,{'recursive':!![]}),console['log'](_0x2f2de1['FPJWY']),{'path':_0x2b8ce4,'installed':!![]}):(console['log'](_0x2f2de1['fcXBx']),{'path':_0x2b8ce4,'installed':![]});}export async function ensureChromium(_0x4473c3=![]){const _0x5c8311=_0x409d75,_0x50d87f={'NbLwu':_0x5c8311(0xb9),'jreeH':function(_0x52e464){return _0x52e464();},'lgabD':function(_0x3d19c9,_0x30e09){return _0x3d19c9??_0x30e09;},'GVaER':_0x5c8311(0xdf),'kTWee':_0x5c8311(0xaf)};let _0x1f9f54=![];try{const _0x598370=chromium['executablePath']();_0x1f9f54=existsSync(_0x598370);}catch{_0x1f9f54=![];}if(_0x1f9f54)return console['log'](_0x50d87f['NbLwu']),![];const _0x4ee2e9=_0x50d87f['jreeH'](getPlaywrightVersion),_0x347335=_0x50d87f['lgabD'](_0x4ee2e9,PLAYWRIGHT_CHROMIUM_INSTALL_FALLBACK_VERSION),_0x434ef6=!_0x4ee2e9,_0x5d00eb=process['stdin'][_0x5c8311(0xf0)]&&process[_0x5c8311(0xff)][_0x5c8311(0xf0)];let _0x8705c6=!![];if(_0x5d00eb){const {install:_0x274337}=await _0x469b3a[_0x5c8311(0xae)]([{'type':'confirm','name':'install','message':_0x434ef6?'Could\x20not\x20determine\x20local\x20Playwright\x20version.\x20Install\x20Playwright\x20Chromium\x20using\x20fallback\x20version\x20'+_0x347335+_0x5c8311(0xa3):_0x5c8311(0xcb)+_0x347335+_0x5c8311(0xa9),'default':!![]}]);_0x8705c6=_0x274337;}else console['log'](_0x5c8311(0xd0)+_0x347335+(_0x434ef6?_0x50d87f['GVaER']:'')+'...');if(_0x8705c6){console[_0x5c8311(0x107)](_0x5c8311(0xcc));try{await installChromiumBinary(_0x347335,_0x4473c3),console[_0x5c8311(0x107)]('\x0a✓\x20Playwright\x20Chromium\x20installed\x20successfully');}catch(_0x181e52){console[_0x5c8311(0x100)](_0x5c8311(0xf8),_0x181e52 instanceof Error?_0x181e52[_0x5c8311(0xb6)]:_0x181e52),console['log'](_0x5c8311(0xba)),console[_0x5c8311(0x107)](_0x5c8311(0xb3)+_0x347335+'\x20install\x20chromium');}}else console[_0x5c8311(0x107)](_0x5c8311(0xd4)),console['log'](_0x50d87f[_0x5c8311(0xca)]),console[_0x5c8311(0x107)](_0x5c8311(0xb3)+_0x347335+_0x5c8311(0xe4));return!![];}export async function writeRangerGitignore(_0x4872eb){const _0x90f860=_0x409d75,_0x4ff283=join(_0x4872eb,'.gitignore'),_0x108d4f='\x0a\x0a#\x20Ignore\x20local-only\x20directories\x0alocal/\x0asessions/\x0abug-bashes/\x0areports/\x0afeedback-images/\x0a\x0aactive-profile.txt\x0aactive-feature.txt\x0a.gitignore\x0a\x0a#\x20Ignore\x20plaintext\x20auth\x20files\x20(encrypted\x20.enc\x20files\x20are\x20safe\x20to\x20commit)\x0a**/auth.json\x0a';await writeFile(_0x4ff283,_0x108d4f),console[_0x90f860(0x107)](_0x90f860(0xf1));}export async function ensureLocalEnv(_0xadce61,_0x412fa7){const _0xa0f57d=_0x409d75,_0xb88090={'jJZgD':function(_0x43594a){return _0x43594a();},'trYgS':_0xa0f57d(0xc7),'vGtpY':_0xa0f57d(0xd7),'kVUDh':_0xa0f57d(0xf3),'AcxqW':function(_0x3a6a34,_0x4efdcd,_0xe5c6ed,_0x31efbd){return _0x3a6a34(_0x4efdcd,_0xe5c6ed,_0x31efbd);},'btJpd':function(_0xd03324,_0x4a57c3){return _0xd03324 instanceof _0x4a57c3;}};if(!_0xb88090['jJZgD'](findGitRoot)&&_0xadce61?.['scope']!==_0xb88090['trYgS'])return console['log']('⚠\x20No\x20git\x20repository\x20found.\x20Re-run\x20with\x20`--scope\x20user`\x20to\x20store\x20the\x20profile\x20at\x20~/.ranger/.'),{'ready':![],'skipped':!![]};const _0x16a579=_0xadce61?.[_0xa0f57d(0xb1)]==='user'?getRangerHomeDir():undefined;if(findExistingEnv(_0xb88090[_0xa0f57d(0xa6)],{'locations':[_0xa0f57d(0xd7)],'rangerDir':_0x16a579}))return console['log'](_0xb88090[_0xa0f57d(0x108)]),{'ready':!![],'skipped':![]};try{return await _0xb88090[_0xa0f57d(0xc1)](addEnv,_0xb88090[_0xa0f57d(0xa6)],{'url':_0xadce61?.['url'],'force':_0xadce61?.['force'],'allowInsecureLocalhost':_0xadce61?.['allowInsecureLocalhost'],'scope':_0xadce61?.[_0xa0f57d(0xb1)]},_0x412fa7),{'ready':!![],'skipped':![]};}catch(_0x4f74ac){return console[_0xa0f57d(0x100)]('\x0a❌\x20Profile\x20setup\x20failed:',_0xb88090[_0xa0f57d(0x102)](_0x4f74ac,Error)?_0x4f74ac['message']:_0x4f74ac),{'ready':![],'skipped':![]};}}export async function start(_0x1fa4bb,_0x5b5b35,_0x1f517d){const _0x409b17=_0x409d75,_0x57ac63={'Yzdsp':'user','lfeJn':function(_0x569300,_0x36d820){return _0x569300(_0x36d820);},'cDUtX':function(_0x51bd65){return _0x51bd65();},'KKvWS':'auth','JRVGM':_0x409b17(0xfb),'KCoOA':function(_0x2210ce,_0x4ad418){return _0x2210ce(_0x4ad418);},'HFkbz':_0x409b17(0xb5),'PkPTi':'plugin','UuXzA':function(_0x2aaa18,_0x34e3b8){return _0x2aaa18&&_0x34e3b8;},'keVTK':'skills','LpElM':function(_0x2ed3c9,_0x49662e,_0x20aeb0){return _0x2ed3c9(_0x49662e,_0x20aeb0);},'XjhQh':_0x409b17(0xf6),'pBnpE':function(_0x18507b,_0x4c5d83){return _0x18507b instanceof _0x4c5d83;},'jqfXF':'profile','egpJn':function(_0x212682,_0x5632fc){return _0x212682+_0x5632fc;},'mmdZK':_0x409b17(0xbb),'TEiJM':'RANGER_TEST_PASSWORD','nIayw':'ranger\x20profile\x20add','VAHdj':_0x409b17(0xb2),'QuLXb':_0x409b17(0xce),'aVwNL':'verification\x20to\x20check\x20its\x20work\x20as\x20it\x20builds.','jZcOB':function(_0x2b009d,_0x205c2d){return _0x2b009d(_0x205c2d);},'qtgZt':_0x409b17(0xd8),'RbxEn':function(_0x5d3ae3,_0x24deff){return _0x5d3ae3+_0x24deff;},'mXxkz':function(_0xb66b81,_0x23d6bd){return _0xb66b81+_0x23d6bd;}};console[_0x409b17(0x107)](_0x409b17(0xb7)),_0x5b5b35={..._0x5b5b35,'scope':_0x57ac63[_0x409b17(0xee)]};const _0x1d578a=!_0x57ac63['lfeJn'](existsSync,_0x57ac63[_0x409b17(0x104)](getRangerHomeDir));await _0x57ac63['lfeJn'](ensureRangerDir,_0x57ac63[_0x409b17(0xee)]);if(_0x5b5b35?.[_0x409b17(0xe1)])console['log'](_0x409b17(0xa4)),_0x1f517d?.['trackPhaseEnd'](_0x57ac63[_0x409b17(0xea)],{'isFirstRun':_0x1d578a,'method':_0x57ac63['JRVGM']});else{_0x1f517d?.['trackPhaseStart'](_0x57ac63[_0x409b17(0xea)]);const _0x3596ce=await _0x57ac63['KCoOA'](authenticate,_0x1fa4bb);_0x1f517d?.['trackPhaseEnd']('auth',{'isFirstRun':_0x1d578a,'method':_0x3596ce['method']});}_0x1f517d?.['trackPhaseStart'](_0x409b17(0xb5));_0x5b5b35?.['skipChromium']?console[_0x409b17(0x107)]('✓\x20Skipping\x20Chromium\x20check\x20(--skip-chromium)'):await ensureChromium(_0x5b5b35?.[_0x409b17(0xd3)]);_0x1f517d?.[_0x409b17(0xe9)](_0x57ac63['HFkbz'],{'isFirstRun':_0x1d578a,'skipped':!!_0x5b5b35?.['skipChromium']}),console[_0x409b17(0x107)](_0x409b17(0xd6));const _0x85fbb5=_0x5b5b35?.[_0x409b17(0xb1)],_0x2b9c66=_0x5b5b35?.[_0x409b17(0xb0)]??![];let _0x2a6924=null;_0x2b9c66?(_0x1f517d?.[_0x409b17(0xcf)](_0x409b17(0xe3)),_0x2a6924=await ensureOpencodePluginConfig(_0x85fbb5),_0x1f517d?.['trackPhaseEnd'](_0x57ac63['PkPTi'],{'isFirstRun':_0x1d578a,'opencode':!![]})):(_0x1f517d?.['trackPhaseStart'](_0x409b17(0xe3)),await ensureClaudePlugin(_0x85fbb5),_0x1f517d?.[_0x409b17(0xe9)]('plugin',{'isFirstRun':_0x1d578a}));if(_0x57ac63['UuXzA'](_0x2b9c66,_0x2a6924)){_0x1f517d?.[_0x409b17(0xcf)](_0x57ac63[_0x409b17(0xc0)]);try{await _0x57ac63['LpElM'](installSkill,'ranger',{'level':_0x2a6924['scope'],'cliVersion':_0x57ac63[_0x409b17(0x104)](getCurrentVersion),'platform':_0x409b17(0xb0)}),_0x1f517d?.[_0x409b17(0xe9)](_0x57ac63[_0x409b17(0xc0)],{'isFirstRun':_0x1d578a,'opencode':!![]});}catch(_0x1c110d){console[_0x409b17(0xbc)](_0x57ac63[_0x409b17(0xcd)],_0x57ac63['pBnpE'](_0x1c110d,Error)?_0x1c110d['message']:_0x1c110d),_0x1f517d?.[_0x409b17(0xe9)]('skills',{'isFirstRun':_0x1d578a,'opencode':!![],'failed':!![]});}}else _0x1f517d?.[_0x409b17(0xcf)]('skills'),await ensureClaudeSkills(_0x85fbb5),_0x1f517d?.['trackPhaseEnd'](_0x57ac63['keVTK'],{'isFirstRun':_0x1d578a});if(_0x5b5b35?.[_0x409b17(0xe1)])console[_0x409b17(0x107)](_0x409b17(0xed));else{if(_0x5b5b35?.['url']){_0x1f517d?.['trackPhaseStart'](_0x57ac63['jqfXF']);const _0x453232=await ensureLocalEnv({'url':_0x5b5b35['url'],'force':_0x5b5b35?.[_0x409b17(0x10a)],'allowInsecureLocalhost':_0x5b5b35?.[_0x409b17(0x10b)],'scope':'user'},_0x1f517d);_0x1f517d?.[_0x409b17(0xe9)](_0x57ac63[_0x409b17(0x103)],{'isFirstRun':_0x1d578a,'profileReady':_0x453232[_0x409b17(0xeb)],'userSkipped':_0x453232[_0x409b17(0xfb)]});}else console['log'](_0x57ac63['egpJn'](_0x409b17(0xc9)+_0x57ac63['KCoOA'](bold,_0x57ac63['mmdZK'])+'\x20'+('(and\x20'+_0x57ac63['KCoOA'](bold,_0x57ac63[_0x409b17(0xa7)])+'\x20when\x20the\x20org\x27s\x20login')+'\x0a\x20\x20config\x20uses\x20username+password).\x20Orgs\x20on\x20SSO/SAML/OAuth',_0x409b17(0xa8))+_0x409b17(0xdd)),console['log']('\x20\x20(or\x20use\x20'+_0x57ac63[_0x409b17(0xf7)](bold,_0x57ac63[_0x409b17(0xe8)])+_0x409b17(0xe6));}if(_0x2b9c66)console[_0x409b17(0x107)](_0x57ac63[_0x409b17(0xf2)]),console['log'](_0x409b17(0x105)),console[_0x409b17(0x107)](_0x57ac63[_0x409b17(0xfd)]),console['log'](_0x57ac63[_0x409b17(0x101)]);else{const _0x24275b=_0x57ac63[_0x409b17(0x10d)](bold,_0x57ac63['qtgZt']);console['log'](_0x57ac63[_0x409b17(0xda)](_0x57ac63[_0x409b17(0xac)]('\x0aIn\x20Claude\x20Code,\x20run\x20'+_0x24275b+_0x409b17(0xfc)+_0x409b17(0xdc),_0x409b17(0xe5)),'\x0averification\x20to\x20check\x20its\x20work\x20as\x20it\x20builds.'));}}
|