@ranger-testing/ranger-cli 2.5.4-alpha.0e8b82c-9 → 2.5.4-alpha.27e3ee8-11
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(_0x19e025,_0x5be9ed){const _0x2e7767=_0x4c59,_0x4205c2=_0x19e025();while(!![]){try{const _0x2009a5=parseInt(_0x2e7767(0xab))/0x1*(-parseInt(_0x2e7767(0xac))/0x2)+-parseInt(_0x2e7767(0xa2))/0x3*(parseInt(_0x2e7767(0xb2))/0x4)+parseInt(_0x2e7767(0xb0))/0x5+-parseInt(_0x2e7767(0xa8))/0x6*(-parseInt(_0x2e7767(0xad))/0x7)+parseInt(_0x2e7767(0xa7))/0x8+parseInt(_0x2e7767(0xa4))/0x9*(-parseInt(_0x2e7767(0xa3))/0xa)+parseInt(_0x2e7767(0xa6))/0xb;if(_0x2009a5===_0x5be9ed)break;else _0x4205c2['push'](_0x4205c2['shift']());}catch(_0x274b5d){_0x4205c2['push'](_0x4205c2['shift']());}}}(_0x46c0,0x91620));import{runDeviceAuthFlow}from'./utils/deviceAuth.js';function _0x46c0(){const _0x31703f=['7932AgpsIN','157490ySuXvn','342qfudCb','isTTY','1606396dlluyY','7012152YKhgOE','6haWxMb','user','VsErQ','47459RTaeLI','22HDrbUL','7041811EznGqu','log','Login\x20failed:\x20','3500615ROxPrW','stdout','1532RGKkXp','organizationName','nYYMv'];_0x46c0=function(){return _0x31703f;};return _0x46c0();}import{getCurrentUser}from'./utils/userApi.js';function _0x4c59(_0x5d7637,_0x73143a){_0x5d7637=_0x5d7637-0xa0;const _0x46c076=_0x46c0();let _0x4c5973=_0x46c076[_0x5d7637];return _0x4c5973;}import{getMcpAuthOrigin,mcpBootstrap}from'./mcpBootstrap.js';export async function login(){const _0x1644e0=_0x4c59,_0xc0e7c1={'nYYMv':function(_0x441b0c){return _0x441b0c();},'VsErQ':function(_0x237da5,_0x142373){return _0x237da5(_0x142373);},'bSvtR':'\x0a✅\x20API\x20key\x20stored\x20successfully'},_0x27f1fe=await getMcpAuthOrigin();if(_0x27f1fe){console[_0x1644e0(0xae)]('Re-authenticating\x20via\x20MCP\x20bootstrap...'),await mcpBootstrap();return;}const _0x590fce=process['stdin'][_0x1644e0(0xa5)]&&process[_0x1644e0(0xb1)][_0x1644e0(0xa5)];if(!_0x590fce)throw new Error('Login\x20requires\x20an\x20interactive\x20terminal.\x20In\x20CI,\x20use:\x20ranger\x20setup\x20[token]\x20or\x20set\x20RANGER_CLI_TOKEN.');try{const _0x5e2622=await _0xc0e7c1[_0x1644e0(0xa1)](runDeviceAuthFlow),_0x2c3930=await _0xc0e7c1[_0x1644e0(0xaa)](getCurrentUser,_0x5e2622);_0x2c3930['success']?console['log']('\x0a✅\x20Logged\x20in\x20to\x20'+_0x2c3930[_0x1644e0(0xa9)][_0x1644e0(0xa0)]):console[_0x1644e0(0xae)](_0xc0e7c1['bSvtR']);}catch(_0x2a7cff){throw new Error(_0x1644e0(0xaf)+(_0x2a7cff instanceof Error?_0x2a7cff['message']:_0x2a7cff));}}
|
|
@@ -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 _0x1c9213=_0xbb61;(function(_0x1a1873,_0xd8a8f5){const _0x4b75ab=_0xbb61,_0x32659d=_0x1a1873();while(!![]){try{const _0x323e94=-parseInt(_0x4b75ab(0x9c))/0x1*(-parseInt(_0x4b75ab(0x85))/0x2)+parseInt(_0x4b75ab(0xcb))/0x3+-parseInt(_0x4b75ab(0x88))/0x4*(parseInt(_0x4b75ab(0xbd))/0x5)+parseInt(_0x4b75ab(0x8b))/0x6+-parseInt(_0x4b75ab(0x72))/0x7+parseInt(_0x4b75ab(0x73))/0x8+-parseInt(_0x4b75ab(0xc2))/0x9*(-parseInt(_0x4b75ab(0xd3))/0xa);if(_0x323e94===_0xd8a8f5)break;else _0x32659d['push'](_0x32659d['shift']());}catch(_0x13d0fa){_0x32659d['push'](_0x32659d['shift']());}}}(_0x4aec,0xae68d));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',_0x1c9213(0xa3));export async function getMcpAuthOrigin(){const _0x1b38ed=_0x1c9213,_0x2165eb={'dGOda':function(_0x46247d,_0x2366db,_0x21be4a){return _0x46247d(_0x2366db,_0x21be4a);}};try{const _0x41ccfa=(await _0x2165eb['dGOda'](readFile,AUTH_ORIGIN_PATH,_0x1b38ed(0x89)))['trim']();return _0x41ccfa||null;}catch{return null;}}export async function mcpBootstrap(){const _0x2a68ba=_0x1c9213,_0x4b77f6={'LMhaN':function(_0x347fad,_0x2ebe8a){return _0x347fad===_0x2ebe8a;},'AYjZY':_0x2a68ba(0xce),'zoAbk':function(_0xbd970d){return _0xbd970d();},'pRtxR':function(_0x170e46,_0x433c6b){return _0x170e46+_0x433c6b;},'XTrWn':'MCP\x20server\x20requires\x20authentication\x20but\x20running\x20in\x20non-interactive\x20mode.\x0a','tIuaX':function(_0x8fac56,_0x4b0ce5){return _0x8fac56(_0x4b0ce5);},'xjWbg':function(_0x41aba7,_0x3e31a5,_0x543c9d){return _0x41aba7(_0x3e31a5,_0x543c9d);}},_0x3e00b2=getMcpAuthUrl();currentOrigin=_0x3e00b2;const _0x5a12ac=process['stdout'][_0x2a68ba(0xb0)]??![];console[_0x2a68ba(0xe8)](_0x2a68ba(0xde)+_0x3e00b2+'\x0a');const _0x3c6619=await tryUnauthenticated(_0x3e00b2);let _0x54584e=null;if(_0x4b77f6[_0x2a68ba(0xd6)](_0x3c6619,_0x4b77f6['AYjZY']))_0x54584e='';else{_0x54584e=await _0x4b77f6['zoAbk'](loadCachedToken);if(!_0x54584e){if(!_0x5a12ac)throw new Error(_0x4b77f6['pRtxR'](_0x4b77f6['XTrWn'],'Run\x20`ranger\x20setup\x20--mcp-bootstrap`\x20interactively\x20first.'));_0x54584e=await _0x4b77f6['tIuaX'](oauthFlow,_0x3e00b2);}}await _0x4b77f6[_0x2a68ba(0xaa)](callGetCliToken,_0x3e00b2,_0x54584e);}async function tryUnauthenticated(_0x5aa428){const _0x645a2e=_0x1c9213,_0x2ed02a={'SrniP':_0x645a2e(0xd5),'IdUDm':_0x645a2e(0xee),'CSKFj':'application/json,\x20text/event-stream','kgmhA':'2.0','WIwnv':_0x645a2e(0xab),'vgwcS':'2025-03-26','CiYiy':'ranger-cli','gDpUd':function(_0x1134e5,_0x2343fb){return _0x1134e5===_0x2343fb;},'ruKKU':_0x645a2e(0xd0)},_0x431f3e=await fetch(_0x5aa428,{'method':_0x2ed02a['SrniP'],'headers':{'Content-Type':_0x2ed02a[_0x645a2e(0xbe)],'Accept':_0x2ed02a['CSKFj']},'body':JSON[_0x645a2e(0x9e)]({'jsonrpc':_0x2ed02a[_0x645a2e(0x78)],'id':0x1,'method':_0x2ed02a['WIwnv'],'params':{'protocolVersion':_0x2ed02a['vgwcS'],'capabilities':{},'clientInfo':{'name':_0x2ed02a['CiYiy'],'version':'1.0.0'}}})});if(_0x431f3e['ok'])return await _0x431f3e['text'](),_0x645a2e(0xce);if(_0x2ed02a['gDpUd'](_0x431f3e['status'],0x191))return await _0x431f3e[_0x645a2e(0x96)](),_0x2ed02a[_0x645a2e(0xe5)];const _0x3edcfa=await _0x431f3e[_0x645a2e(0x96)]();throw new Error(_0x645a2e(0x80)+_0x431f3e[_0x645a2e(0xbc)]+':\x20'+_0x3edcfa);}class OAuthTimeoutError extends Error{constructor(_0x312fd4){const _0x1f0542=_0x1c9213,_0x1d75b0={'XIftN':_0x1f0542(0xba)};super(_0x312fd4),this['name']=_0x1d75b0['XIftN'];}}async function oauthFlow(_0x1a9bd7){const _0x2f7480=_0x1c9213,_0x45f026={'fOCgg':function(_0x771eec,_0x60610e){return _0x771eec(_0x60610e);},'PJceA':function(_0x34ac67){return _0x34ac67();},'XBmGO':'\x0aCached\x20OAuth\x20client\x20may\x20be\x20stale\x20—\x20clearing\x20and\x20retrying...\x0a'};try{return await _0x45f026['fOCgg'](oauthFlowAttempt,_0x1a9bd7);}catch(_0x5ceec2){if(_0x5ceec2 instanceof OAuthTimeoutError&&await _0x45f026[_0x2f7480(0xa9)](loadCachedClient))return console[_0x2f7480(0xe8)](_0x45f026[_0x2f7480(0xc3)]),await clearCachedClient(),await oauthFlowAttempt(_0x1a9bd7);throw _0x5ceec2;}}async function oauthFlowAttempt(_0x4c5203){const _0x1f3a43=_0x1c9213,_0x5e16e2={'LivIW':function(_0x380b4a,_0x1d41bd){return _0x380b4a(_0x1d41bd);},'NwscY':function(_0x59251f,_0x2a4f16){return _0x59251f(_0x2a4f16);},'nxCRs':_0x1f3a43(0xb1),'miAJx':'application/json','UYcEs':'refresh_token','xGPkd':'code','KUIgc':function(_0x26dc0b,_0x5472f9,_0x22b1b4){return _0x26dc0b(_0x5472f9,_0x22b1b4);},'CNHqH':_0x1f3a43(0xb4),'YlwWB':_0x1f3a43(0xcf),'hjHYM':function(_0x31a8de,_0x9743cf){return _0x31a8de(_0x9743cf);},'DMakZ':'base64url','wIWwU':'response_type','wqObm':'code_challenge_method','nAXIx':_0x1f3a43(0x90),'vWvnO':'resource','ZNdBf':_0x1f3a43(0x99),'wJVAY':_0x1f3a43(0x71),'vQjoR':'client_secret','pGsef':function(_0x30338d,_0x4de567,_0x2c4c6d){return _0x30338d(_0x4de567,_0x2c4c6d);},'Gvxyv':_0x1f3a43(0xad),'uqdtD':function(_0x194b3c,_0x514816,_0x44293f,_0x5efae7){return _0x194b3c(_0x514816,_0x44293f,_0x5efae7);}},_0x5ede23=_0x4c5203[_0x1f3a43(0xec)](/\/mcp$/,'');process['stdout'][_0x1f3a43(0x9f)](_0x1f3a43(0xa1));const _0x3b2248=await _0x5e16e2[_0x1f3a43(0xd7)](fetch,_0x5ede23+'/.well-known/oauth-protected-resource');if(!_0x3b2248['ok'])throw new Error(_0x1f3a43(0xc6));const _0x20f192=await _0x3b2248['json'](),_0x3e7094=_0x20f192[_0x1f3a43(0xf2)]?.[0x0];if(!_0x3e7094)throw new Error(_0x1f3a43(0xb9));console[_0x1f3a43(0xe8)]('\x20'+_0x3e7094);const _0x5b685a=await _0x5e16e2[_0x1f3a43(0xdd)](fetchAuthServerMetadata,_0x3e7094);let _0x231ee5,_0x1e6a24;const _0x282c3d=await loadCachedClient();if(_0x282c3d)_0x231ee5=_0x282c3d[_0x1f3a43(0x69)],_0x1e6a24=_0x282c3d['clientSecret'];else{if(_0x5b685a[_0x1f3a43(0xdb)]){process['stdout']['write'](_0x5e16e2['nxCRs']);const _0x17aa54=await fetch(_0x5b685a['registration_endpoint'],{'method':'POST','headers':{'Content-Type':_0x5e16e2[_0x1f3a43(0x94)]},'body':JSON[_0x1f3a43(0x9e)]({'client_name':'Ranger\x20CLI','redirect_uris':['http://localhost:'+CALLBACK_PORT+_0x1f3a43(0x8a)],'grant_types':[_0x1f3a43(0x71),_0x5e16e2[_0x1f3a43(0xac)]],'response_types':[_0x5e16e2[_0x1f3a43(0x7a)]],'token_endpoint_auth_method':_0x1f3a43(0x91)})});if(!_0x17aa54['ok']){const _0x26c499=await _0x17aa54[_0x1f3a43(0x96)]();throw new Error('Client\x20registration\x20failed:\x20'+_0x26c499);}const _0x3e1b00=await _0x17aa54['json']();_0x231ee5=_0x3e1b00['client_id'],_0x1e6a24=_0x3e1b00[_0x1f3a43(0xa0)],await _0x5e16e2[_0x1f3a43(0x87)](saveCachedClient,_0x231ee5,_0x1e6a24),console['log'](_0x5e16e2['CNHqH']);}else throw new Error(_0x5e16e2['YlwWB']);}const _0x4cc579=_0x5e16e2['hjHYM'](randomBytes,0x20)[_0x1f3a43(0x9a)]('base64url'),_0x7a765b=createHash(_0x1f3a43(0xf0))['update'](_0x4cc579)['digest'](_0x5e16e2['DMakZ']),_0x1286bf=_0x5e16e2['hjHYM'](randomBytes,0x10)[_0x1f3a43(0x9a)](_0x1f3a43(0xb8)),_0x471ee0=new URL(_0x5b685a['authorization_endpoint']);_0x471ee0['searchParams'][_0x1f3a43(0xcc)](_0x5e16e2['wIWwU'],_0x5e16e2['xGPkd']),_0x471ee0[_0x1f3a43(0xaf)][_0x1f3a43(0xcc)]('client_id',_0x231ee5),_0x471ee0['searchParams']['set']('redirect_uri','http://localhost:'+CALLBACK_PORT+_0x1f3a43(0x8a)),_0x471ee0['searchParams'][_0x1f3a43(0xcc)]('code_challenge',_0x7a765b),_0x471ee0['searchParams']['set'](_0x5e16e2[_0x1f3a43(0x70)],_0x5e16e2['nAXIx']),_0x471ee0['searchParams'][_0x1f3a43(0xcc)](_0x1f3a43(0xbb),_0x1286bf);_0x20f192[_0x1f3a43(0x8d)]&&_0x471ee0['searchParams'][_0x1f3a43(0xcc)](_0x5e16e2[_0x1f3a43(0xdf)],_0x20f192['resource']);console['log']('\x0aOpening\x20browser\x20for\x20authentication...'),console[_0x1f3a43(0xe8)](_0x1f3a43(0xa2)+_0x471ee0[_0x1f3a43(0x9a)]()+'\x0a'),await openBrowser(_0x471ee0[_0x1f3a43(0x9a)]());const _0x5a3db2=await waitForCallback(_0x1286bf);process[_0x1f3a43(0xf4)]['write'](_0x5e16e2[_0x1f3a43(0xc4)]);const _0x2aac6e=new URLSearchParams({'grant_type':_0x5e16e2['wJVAY'],'code':_0x5a3db2,'redirect_uri':_0x1f3a43(0x86)+CALLBACK_PORT+'/callback','client_id':_0x231ee5,'code_verifier':_0x4cc579});_0x1e6a24&&_0x2aac6e['set'](_0x5e16e2['vQjoR'],_0x1e6a24);_0x20f192[_0x1f3a43(0x8d)]&&_0x2aac6e['set']('resource',_0x20f192['resource']);const _0x45ec28=await _0x5e16e2[_0x1f3a43(0x7f)](fetch,_0x5b685a[_0x1f3a43(0xa8)],{'method':_0x1f3a43(0xd5),'headers':{'Content-Type':_0x5e16e2['Gvxyv']},'body':_0x2aac6e});if(!_0x45ec28['ok']){const _0x4e85c9=await _0x45ec28[_0x1f3a43(0x96)]();throw new Error('Token\x20exchange\x20failed:\x20'+_0x4e85c9);}const _0x446a02=await _0x45ec28['json']();return console['log']('\x20done'),await _0x5e16e2[_0x1f3a43(0xe1)](saveCachedToken,_0x446a02[_0x1f3a43(0x7d)],_0x446a02['refresh_token'],_0x446a02['expires_in']),_0x446a02['access_token'];}async function callGetCliToken(_0x1ab83f,_0x4213d4){const _0x3ba3e4=_0x1c9213,_0x359221={'QpWSz':function(_0x48e915,_0x165fa2,_0x22ca8d){return _0x48e915(_0x165fa2,_0x22ca8d);},'skwgL':function(_0x3a9d29,_0xb6fdb1){return _0x3a9d29(_0xb6fdb1);},'zUnNk':_0x3ba3e4(0xea),'DNxSg':_0x3ba3e4(0xf3),'udyDR':_0x3ba3e4(0xab),'FCsMa':_0x3ba3e4(0xb4),'uCORV':_0x3ba3e4(0xd5),'GUuPA':_0x3ba3e4(0x74),'SWvAw':'notifications/initialized','eNuyb':_0x3ba3e4(0xd9),'RxHSe':_0x3ba3e4(0x82),'gesRp':function(_0x758203){return _0x758203();},'NPJMm':function(_0x137edc,_0x554633,_0x1e618e){return _0x137edc(_0x554633,_0x1e618e);},'aIvVB':function(_0x4875ea,_0x4da8fd,_0x1b9a2d,_0x452f72){return _0x4875ea(_0x4da8fd,_0x1b9a2d,_0x452f72);}},_0x42e9ee={'Content-Type':_0x3ba3e4(0xee),'Accept':_0x359221['zUnNk']};_0x4213d4&&(_0x42e9ee[_0x3ba3e4(0xb3)]=_0x3ba3e4(0x93)+_0x4213d4);const _0x5aa627=async _0x413abb=>{const _0x51cc36=_0x3ba3e4,_0x39ec4d=await _0x359221[_0x51cc36(0xef)](fetch,_0x1ab83f,{'method':'POST','headers':_0x42e9ee,'body':JSON['stringify'](_0x413abb)});if(!_0x39ec4d['ok']){const _0xfb842c=await _0x39ec4d['text']();throw new Error(_0x51cc36(0x6a)+_0x39ec4d[_0x51cc36(0xbc)]+':\x20'+_0xfb842c);}return _0x359221[_0x51cc36(0xca)](parseResponse,_0x39ec4d);};process['stdout']['write'](_0x359221[_0x3ba3e4(0x6f)]);const _0x2c9e86=await _0x359221['skwgL'](_0x5aa627,{'jsonrpc':_0x3ba3e4(0x74),'id':0x1,'method':_0x359221['udyDR'],'params':{'protocolVersion':'2025-03-26','capabilities':{},'clientInfo':{'name':'ranger-cli','version':_0x3ba3e4(0x7b)}}});if(_0x2c9e86[_0x3ba3e4(0xc8)])throw new Error('MCP\x20initialize\x20failed:\x20'+(_0x2c9e86[_0x3ba3e4(0xc8)]['message']??JSON['stringify'](_0x2c9e86['error'])));console[_0x3ba3e4(0xe8)](_0x359221[_0x3ba3e4(0xe2)]),await fetch(_0x1ab83f,{'method':_0x359221['uCORV'],'headers':_0x42e9ee,'body':JSON['stringify']({'jsonrpc':_0x359221['GUuPA'],'method':_0x359221[_0x3ba3e4(0xc7)]})})['then'](_0x16dc4b=>_0x16dc4b['text']()),process['stdout']['write'](_0x359221[_0x3ba3e4(0x83)]);const _0x12d1dd=await _0x5aa627({'jsonrpc':_0x359221['GUuPA'],'id':0x2,'method':_0x359221[_0x3ba3e4(0x9d)],'params':{'name':'get_cli_token','arguments':{}}});if(_0x12d1dd['error'])throw new Error(_0x3ba3e4(0xa6)+(_0x12d1dd['error'][_0x3ba3e4(0x75)]??JSON[_0x3ba3e4(0x9e)](_0x12d1dd[_0x3ba3e4(0xc8)])));console['log'](_0x359221['FCsMa']);const _0x3eb4d6=extractToken(_0x12d1dd['result']);if(!_0x3eb4d6){console['error'](_0x3ba3e4(0xe4)),console[_0x3ba3e4(0xc8)](JSON['stringify'](_0x12d1dd[_0x3ba3e4(0x95)],null,0x2));throw new Error('Could\x20not\x20extract\x20token\x20from\x20MCP\x20response');}const _0x5e7bc4=_0x359221['QpWSz'](join,_0x359221['gesRp'](homedir),'.ranger'),_0x41dfa3=join(_0x5e7bc4,'refresh.txt');await _0x359221['NPJMm'](mkdir,_0x5e7bc4,{'recursive':!![]}),await _0x359221[_0x3ba3e4(0x84)](writeFile,_0x41dfa3,_0x3eb4d6,{'mode':0x180}),await writeFile(join(_0x5e7bc4,'auth-origin.txt'),_0x1ab83f,{'mode':0x180}),console[_0x3ba3e4(0xe8)]('\x0aToken\x20written\x20to\x20'+_0x41dfa3),console['log'](_0x3ba3e4(0xbf));}async function fetchAuthServerMetadata(_0x216528){const _0xcfb901=_0x1c9213,_0x573b19=_0x216528+'/.well-known/oauth-authorization-server',_0x5025f2=await fetch(_0x573b19);if(!_0x5025f2['ok'])throw new Error('Could\x20not\x20fetch\x20auth\x20server\x20metadata\x20from\x20'+_0x573b19+':\x20'+_0x5025f2['status']);return _0x5025f2[_0xcfb901(0xdc)]();}function waitForCallback(_0x3883eb){const _0x17b3c6=_0x1c9213,_0x1cf1e3={'YmRFi':_0x17b3c6(0xc8),'bWAof':'error_description','LbdbB':'text/html','vWIeB':function(_0x5e0999,_0x3d3872){return _0x5e0999!==_0x3d3872;},'mZJDl':_0x17b3c6(0x7c),'OPHAx':_0x17b3c6(0x6d),'peiGZ':function(_0x74960f,_0x290eee){return _0x74960f(_0x290eee);},'BJwNE':_0x17b3c6(0xcd)};return new Promise((_0x387a2f,_0x21340c)=>{const _0x494902=_0x17b3c6,_0x2a9d0d=setTimeout(()=>{const _0x31c6aa=_0xbb61;_0x1ee9b1['close'](),_0x21340c(new OAuthTimeoutError(_0x31c6aa(0xeb)));},0x1d4c0),_0x1ee9b1=_0x1cf1e3[_0x494902(0x8f)](createServer,(_0x52addc,_0x52bf82)=>{const _0x4a1461=_0x494902,_0x38dfce=new URL(_0x52addc[_0x4a1461(0xa7)]??'/',_0x4a1461(0x86)+CALLBACK_PORT);if(_0x38dfce['pathname']!=='/callback'){_0x52bf82['writeHead'](0x194),_0x52bf82[_0x4a1461(0xa4)](_0x4a1461(0xc5));return;}const _0x2bcf21=_0x38dfce[_0x4a1461(0xaf)]['get']('code'),_0x53a5a4=_0x38dfce['searchParams'][_0x4a1461(0xe0)](_0x4a1461(0xbb)),_0xa8c752=_0x38dfce['searchParams']['get'](_0x1cf1e3['YmRFi']);if(_0xa8c752){const _0x5df54b=_0x38dfce[_0x4a1461(0xaf)]['get'](_0x1cf1e3['bWAof'])??_0xa8c752;_0x52bf82[_0x4a1461(0xd2)](0xc8,{'Content-Type':_0x1cf1e3[_0x4a1461(0x66)]}),_0x52bf82[_0x4a1461(0xa4)]('<html><body><h2>Authentication\x20failed</h2><p>'+_0x5df54b+'</p><p>You\x20can\x20close\x20this\x20window.</p></body></html>'),clearTimeout(_0x2a9d0d),_0x1ee9b1['close'](),_0x21340c(new Error(_0x4a1461(0xae)+_0x5df54b));return;}if(!_0x2bcf21||_0x1cf1e3['vWIeB'](_0x53a5a4,_0x3883eb)){_0x52bf82[_0x4a1461(0xd2)](0x190,{'Content-Type':_0x1cf1e3[_0x4a1461(0x66)]}),_0x52bf82[_0x4a1461(0xa4)](_0x1cf1e3['mZJDl']);return;}_0x52bf82['writeHead'](0xc8,{'Content-Type':_0x4a1461(0x65)}),_0x52bf82['end'](_0x1cf1e3['OPHAx']),clearTimeout(_0x2a9d0d),_0x1ee9b1['close'](),_0x387a2f(_0x2bcf21);});_0x1ee9b1['listen'](CALLBACK_PORT,_0x1cf1e3[_0x494902(0xed)]);});}async function openBrowser(_0x591b21){const _0x6c2145=_0x1c9213,_0x1f9cb1={'jRPCb':function(_0x3b24f6,_0xec87e2){return _0x3b24f6===_0xec87e2;},'WKoNC':_0x6c2145(0x97),'ECKlF':_0x6c2145(0xe7),'jFwhm':_0x6c2145(0xc0),'suATu':function(_0x339c3e,_0x21239b){return _0x339c3e(_0x21239b);}},{exec:_0x813bbb}=await import('child_process'),_0x2e3c5e=_0x1f9cb1[_0x6c2145(0x8e)](process[_0x6c2145(0x79)],_0x1f9cb1['WKoNC'])?_0x1f9cb1[_0x6c2145(0xd4)]:process['platform']==='win32'?_0x6c2145(0xb6):_0x1f9cb1['jFwhm'];_0x1f9cb1['suATu'](_0x813bbb,_0x2e3c5e+'\x20\x22'+_0x591b21+'\x22');}let currentOrigin='';async function loadCachedToken(){const _0x3122f=_0x1c9213,_0x4b6cfc={'qgxao':function(_0x13f751,_0x117c45){return _0x13f751!==_0x117c45;},'BUVgm':function(_0x304a42,_0x1047b2){return _0x304a42>_0x1047b2;}};try{const _0x19acc1=JSON[_0x3122f(0xda)](await readFile(TOKEN_CACHE_PATH,'utf-8'));if(_0x19acc1[_0x3122f(0x67)]&&_0x4b6cfc[_0x3122f(0x9b)](_0x19acc1['origin'],currentOrigin))return null;if(_0x19acc1[_0x3122f(0x7e)]&&_0x4b6cfc['BUVgm'](Date['now'](),_0x19acc1[_0x3122f(0x7e)]))return null;return _0x19acc1['accessToken']??null;}catch{return null;}}async function saveCachedToken(_0x215c1d,_0x242581,_0x3f0e05){const _0x32b82b=_0x1c9213,_0x569373={'WCaOZ':function(_0x56b362){return _0x56b362();},'UPPuP':function(_0x4979d2,_0x3101a9){return _0x4979d2+_0x3101a9;}},_0x2ae3db=await _0x569373['WCaOZ'](loadCachedData),_0x4b7a5c={..._0x2ae3db,'origin':currentOrigin,'accessToken':_0x215c1d,'refreshToken':_0x242581??_0x2ae3db?.[_0x32b82b(0x6e)],'expiresAt':_0x3f0e05?_0x569373[_0x32b82b(0x77)](Date['now'](),_0x3f0e05*0x3e8):undefined};await mkdir(join(homedir(),_0x32b82b(0x6b)),{'recursive':!![]}),await writeFile(TOKEN_CACHE_PATH,JSON['stringify'](_0x4b7a5c),{'mode':0x180});}async function loadCachedClient(){const _0x37dc80=_0x1c9213,_0x21b210={'OmJAP':function(_0x3730c8){return _0x3730c8();}},_0x1c9bcb=await _0x21b210['OmJAP'](loadCachedData);if(_0x1c9bcb?.['origin']&&_0x1c9bcb[_0x37dc80(0x67)]!==currentOrigin)return null;return _0x1c9bcb?.[_0x37dc80(0x69)]?{'clientId':_0x1c9bcb[_0x37dc80(0x69)],'clientSecret':_0x1c9bcb[_0x37dc80(0x98)]}:null;}async function clearCachedClient(){const _0x3413c5=_0x1c9213,_0x21a000=await loadCachedData();if(!_0x21a000)return;const {clientId:_0x4b744c,clientSecret:_0x2c3673,..._0x36db63}=_0x21a000;await writeFile(TOKEN_CACHE_PATH,JSON[_0x3413c5(0x9e)](_0x36db63),{'mode':0x180});}async function saveCachedClient(_0x3f2566,_0x33b16f){const _0x586d52=_0x1c9213,_0x37255b={'LvuBI':function(_0x3838bf){return _0x3838bf();},'uKzzV':function(_0x161108,_0x2ccf8e,_0x12f5a4){return _0x161108(_0x2ccf8e,_0x12f5a4);},'vfsjj':function(_0x131f55){return _0x131f55();}},_0x717506=await _0x37255b[_0x586d52(0xe9)](loadCachedData),_0x971103={..._0x717506,'origin':currentOrigin,'accessToken':_0x717506?.[_0x586d52(0x8c)]??'','clientId':_0x3f2566,'clientSecret':_0x33b16f};await mkdir(_0x37255b['uKzzV'](join,_0x37255b['vfsjj'](homedir),_0x586d52(0x6b)),{'recursive':!![]}),await writeFile(TOKEN_CACHE_PATH,JSON[_0x586d52(0x9e)](_0x971103),{'mode':0x180});}function _0xbb61(_0x17a324,_0x5a7f89){_0x17a324=_0x17a324-0x65;const _0x4aecbb=_0x4aec();let _0xbb610a=_0x4aecbb[_0x17a324];return _0xbb610a;}function _0x4aec(){const _0x19107c=['http://localhost:','KUIgc','16DJLroa','utf-8','/callback','2818728eEmmcx','accessToken','resource','jRPCb','peiGZ','S256','none','string','Bearer\x20','miAJx','result','text','darwin','clientSecret','Exchanging\x20authorization\x20code...','toString','qgxao','1243ncTjaj','RxHSe','stringify','write','client_secret','Discovering\x20authorization\x20server...','If\x20the\x20browser\x20doesn\x27t\x20open,\x20visit:\x0a','auth-origin.txt','end','startsWith','get_cli_token\x20failed:\x20','url','token_endpoint','PJceA','xjWbg','initialize','UYcEs','application/x-www-form-urlencoded','OAuth\x20error:\x20','searchParams','isTTY','Registering\x20OAuth\x20client...','WZZSK','Authorization','\x20done','length','start','VrveD','hex','No\x20authorization_servers\x20in\x20protected\x20resource\x20metadata','OAuthTimeoutError','state','status','636465lNOWlN','IdUDm','Run\x20`ranger\x20status`\x20to\x20verify\x20authentication.\x0a','xdg-open','text/event-stream','576XXMOpM','XBmGO','ZNdBf','Not\x20found','Could\x20not\x20fetch\x20protected\x20resource\x20metadata\x20from\x20MCP\x20server','SWvAw','error','token','skwgL','1229343oWmRKU','set','127.0.0.1','proxied','Authorization\x20server\x20does\x20not\x20support\x20dynamic\x20client\x20registration\x20and\x20no\x20cached\x20client\x20found','needs-oauth','slice','writeHead','44130TGOHIB','ECKlF','POST','LMhaN','LivIW','NqZsg','Requesting\x20CLI\x20token...','parse','registration_endpoint','json','NwscY','\x0aConnecting\x20to\x20MCP\x20auth\x20server:\x20','vWvnO','get','uqdtD','FCsMa','includes','\x0aUnexpected\x20response\x20structure:','ruKKU','content-type','open','log','LvuBI','application/json,\x20text/event-stream','OAuth\x20callback\x20timed\x20out\x20after\x202\x20minutes','replace','BJwNE','application/json','QpWSz','sha256','headers','authorization_servers','Initializing\x20MCP\x20session...','stdout','text/html','LbdbB','origin','trim','clientId','HTTP\x20','.ranger','qbxQj','<html><body><h2>Authenticated!</h2><p>You\x20can\x20close\x20this\x20window\x20and\x20return\x20to\x20the\x20terminal.</p></body></html>','refreshToken','DNxSg','wqObm','authorization_code','5151972esFTOK','5962736BTEpeG','2.0','message','isError','UPPuP','kgmhA','platform','xGPkd','1.0.0','<html><body><h2>Invalid\x20callback</h2><p>Missing\x20code\x20or\x20state\x20mismatch.</p></body></html>','access_token','expiresAt','pGsef','MCP\x20server\x20returned\x20HTTP\x20','data:','tools/call','eNuyb','aIvVB','84AbhySZ'];_0x4aec=function(){return _0x19107c;};return _0x4aec();}async function loadCachedData(){const _0xa9b96=_0x1c9213,_0x1fe818={'WZZSK':_0xa9b96(0x89)};try{return JSON['parse'](await readFile(TOKEN_CACHE_PATH,_0x1fe818[_0xa9b96(0xb2)]));}catch{return null;}}async function parseResponse(_0x2da509){const _0xaf5631=_0x1c9213,_0x2c207f={'fbaqT':_0xaf5631(0xe6),'VrveD':_0xaf5631(0x81)},_0xacdd33=_0x2da509[_0xaf5631(0xf1)]['get'](_0x2c207f['fbaqT'])??'';if(_0xacdd33[_0xaf5631(0xe3)](_0xaf5631(0xc1))){const _0x27fbb7=await _0x2da509[_0xaf5631(0x96)]();for(const _0x568218 of _0x27fbb7['split']('\x0a')){const _0x42713f=_0x568218[_0xaf5631(0x68)]();if(_0x42713f[_0xaf5631(0xa5)]('data:')){const _0x4683b1=_0x42713f[_0xaf5631(0xd1)](_0x2c207f[_0xaf5631(0xb7)][_0xaf5631(0xb5)])['trim']();if(!_0x4683b1)continue;try{const _0x566c2f=JSON['parse'](_0x4683b1);if(_0x566c2f['id']!==undefined||_0x566c2f['error'])return _0x566c2f;}catch{}}}throw new Error('No\x20JSON-RPC\x20response\x20found\x20in\x20SSE\x20stream');}return _0x2da509['json']();}function extractToken(_0x529de4){const _0x50d942=_0x1c9213,_0x27675d={'jdhiN':function(_0x205ac6,_0x44ba6a){return _0x205ac6===_0x44ba6a;},'NqZsg':function(_0x4e839a,_0x380daf){return _0x4e839a===_0x380daf;},'Tukgt':_0x50d942(0x96),'qbxQj':_0x50d942(0x92)};if(!_0x529de4)return null;const _0x937c14=_0x529de4['structuredContent'];if(_0x937c14?.[_0x50d942(0xc9)]&&_0x27675d['jdhiN'](typeof _0x937c14[_0x50d942(0xc9)],'string'))return _0x937c14['token'];if(_0x529de4[_0x50d942(0x76)]){const _0x55fa04=_0x529de4['content'];throw new Error('Server\x20returned\x20error:\x20'+(_0x55fa04?.[0x0]?.[_0x50d942(0x96)]??'Unknown\x20error'));}const _0x1509db=_0x529de4['content'];if(_0x1509db)for(const _0x410fef of _0x1509db){if(_0x27675d['NqZsg'](_0x410fef['type'],_0x27675d['Tukgt'])&&_0x410fef['text']){try{const _0x59cc1a=JSON[_0x50d942(0xda)](_0x410fef[_0x50d942(0x96)]);if(_0x27675d[_0x50d942(0xd8)](typeof _0x59cc1a?.[_0x50d942(0xc9)],_0x27675d[_0x50d942(0x6c)]))return _0x59cc1a[_0x50d942(0xc9)];}catch{}const _0x2d9a82=_0x410fef[_0x50d942(0x96)]['match'](/(rngr_[A-Za-z0-9_-]+)/);if(_0x2d9a82)return _0x2d9a82[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 _0x7cb8(){const _0x4b538d=[':\x20session\x20upload\x20failed\x20(','length','\x20failed:\x20','373136ZGCAcn','2428528BcpdXb','message','\x20\x20✓\x20','no\x20matching\x20auth\x20env','XywFZ','domains','preserveBaseUrl',',\x20baseUrl\x20override\x20→\x20projects.json)','log',':\x20cloud\x20profile\x20with\x20this\x20name\x20already\x20exists.\x20Skipping.','15kFeFwH','BckSv','environments','BZlay','dztjo','baseUrl','projects',':\x20failed\x20to\x20write\x20projects.json\x20override\x20(','\x20\x20⚠\x20','aNPrw','4632144OHAHJs','2fBRaPc','GrlDr','After\x20migration,\x20uncommit\x20it:','trackPhaseEnd',',\x20matches\x20','sqjKk','push','ksCDZ','183726ivKfRd','proceed','\x20\x20git\x20rm\x20-r\x20--cached\x20.ranger/','\x20migrated\x20to\x20cloud\x20(env:\x20','SKFCR','some','NOqkC','240pxUpeQ','lALIA','profileName','YeVAn','61384XKTaUH','Proceed?','Deleted\x20','slice','Yoisg','Plan:','\x20skipped','authJsonPath','584664CkXHeF','entries','3uLUpxg','jQyDN','\x20→\x20cloud\x20(env:\x20','isTTY','env','581RNHZmG','No\x20cloud\x20profile\x20auth\x20config\x20found\x20for\x20this\x20org.\x20Migration\x20requires\x20at\x20least\x20one\x20configured\x20auth\x20environment.','LNViU','skip','cCAQV','hfZYB','tEkoL','EAkaR','Aborted.','oKjZe','envKey',':\x20--save-creds\x20requested,\x20but\x20RANGER_TEST_USERNAME/PASSWORD\x20not\x20set\x20in\x20env.','UTixt',',\x20preserving\x20baseUrl\x20','join','\x20migrated','\x20→\x20skip\x20(','VsQSS','gitTrackedRanger','24362442kPJjPR','profile.migrate.skipped','confirm','\x20\x20✗\x20','12SrRoEE'];_0x7cb8=function(){return _0x4b538d;};return _0x7cb8();}(function(_0x5a82f9,_0x48a041){const _0x324874=_0x38ff,_0x1b2a87=_0x5a82f9();while(!![]){try{const _0x53b47d=-parseInt(_0x324874(0xfc))/0x1*(parseInt(_0x324874(0x139))/0x2)+-parseInt(_0x324874(0x119))/0x3*(parseInt(_0x324874(0x13a))/0x4)+-parseInt(_0x324874(0xf1))/0x5*(parseInt(_0x324874(0x117))/0x6)+-parseInt(_0x324874(0x11e))/0x7*(-parseInt(_0x324874(0x10f))/0x8)+-parseInt(_0x324874(0x104))/0x9*(parseInt(_0x324874(0x10b))/0xa)+-parseInt(_0x324874(0xfb))/0xb+parseInt(_0x324874(0x135))/0xc*(parseInt(_0x324874(0x131))/0xd);if(_0x53b47d===_0x48a041)break;else _0x1b2a87['push'](_0x1b2a87['shift']());}catch(_0xc776d8){_0x1b2a87['push'](_0x1b2a87['shift']());}}}(_0x7cb8,0x4fe55));import{readFile,rm}from'fs/promises';import{existsSync}from'fs';import{join}from'path';import _0x5ce11d 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';function _0x38ff(_0x31d151,_0x4cfd2f){_0x31d151=_0x31d151-0xed;const _0x7cb8a0=_0x7cb8();let _0x38ff04=_0x7cb8a0[_0x31d151];return _0x38ff04;}import{matchAuthEnvironment}from'./utils/matchAuthEnvironment.js';import{readProjectsConfig,setProfileOverride,writeProjectsConfig}from'./utils/projectsConfig.js';import{isPathGitTracked}from'./utils/gitTracked.js';function formatPlanLine(_0x3d1ea1){const _0x3d2e20=_0x38ff,_0x3eee06={'SKFCR':function(_0x259a52,_0x1492c7){return _0x259a52===_0x1492c7;},'cCAQV':'skip'};if(_0x3eee06[_0x3d2e20(0x108)](_0x3d1ea1['kind'],_0x3eee06[_0x3d2e20(0x122)]))return'\x20\x20'+_0x3d1ea1[_0x3d2e20(0x10d)]['padEnd'](0x1e)+_0x3d2e20(0x12e)+_0x3d1ea1['reason']+')';if(_0x3d1ea1['preserveBaseUrl']&&_0x3d1ea1['baseUrl'])return'\x20\x20'+_0x3d1ea1[_0x3d2e20(0x10d)]['padEnd'](0x1e)+_0x3d2e20(0x11b)+_0x3d1ea1[_0x3d2e20(0x128)]+_0x3d2e20(0x12b)+_0x3d1ea1[_0x3d2e20(0xf6)]+'\x20as\x20project\x20override)';if(_0x3d1ea1[_0x3d2e20(0xf6)])return'\x20\x20'+_0x3d1ea1['profileName']['padEnd'](0x1e)+'\x20→\x20cloud\x20(env:\x20'+_0x3d1ea1['envKey']+_0x3d2e20(0x100)+_0x3d1ea1[_0x3d2e20(0xf6)]+')';return'\x20\x20'+_0x3d1ea1[_0x3d2e20(0x10d)]['padEnd'](0x1e)+'\x20→\x20cloud\x20(env:\x20'+_0x3d1ea1[_0x3d2e20(0x128)]+')';}function shouldWarnGitTrackedOnce(_0x3725be){const _0x2266d7=_0x38ff,_0x185217={'gEQTQ':function(_0x34a10d,_0x18c076){return _0x34a10d===_0x18c076;},'NOqkC':function(_0x5c72f5,_0x5d6db1){return _0x5c72f5(_0x5d6db1);}},_0x1d5d54=readProjectsConfig(),_0x40c782=_0x1d5d54[_0x2266d7(0xf7)][_0x3725be]??={},_0x45e55a=_0x40c782['_warnings']??={},_0xb915be=_0x45e55a[_0x2266d7(0x130)],_0x348b5c=new Date(),_0x33de72=_0x348b5c['toISOString']()[_0x2266d7(0x112)](0x0,0xa);if(_0x185217['gEQTQ'](_0xb915be,_0x33de72))return![];return _0x45e55a[_0x2266d7(0x130)]=_0x33de72,_0x185217[_0x2266d7(0x10a)](writeProjectsConfig,_0x1d5d54),!![];}export async function migrateProfile(_0x255429,_0x436e7e){const _0x471567=_0x38ff,_0x4faa54={'tEkoL':function(_0x31e5a2,_0x7e78c7){return _0x31e5a2===_0x7e78c7;},'BckSv':function(_0x30a99a){return _0x30a99a();},'GrlDr':function(_0x572680,_0x556fcd){return _0x572680(_0x556fcd);},'EAkaR':function(_0x49365a,_0x2ddf2b){return _0x49365a===_0x2ddf2b;},'axDII':function(_0x285127,_0x39e563){return _0x285127===_0x39e563;},'pJKrD':'No\x20local\x20profiles\x20found\x20to\x20migrate.','UTixt':_0x471567(0x121),'tPffI':'local\x20profile\x20directory\x20not\x20found','kIDve':'no\x20baseUrl\x20in\x20settings.json','XywFZ':function(_0x34c632,_0x2ce4ae,_0x60132d){return _0x34c632(_0x2ce4ae,_0x60132d);},'YeVAn':'baseUrl','sqjKk':'auth.json','VsQSS':_0x471567(0x114),'hfZYB':'Nothing\x20migrated.\x20Run\x20without\x20--dry-run\x20to\x20apply.','BZlay':function(_0x39d3c9,_0x59a358){return _0x39d3c9&&_0x59a358;},'PZNEE':_0x471567(0x133),'LNViU':_0x471567(0x105),'jbWON':function(_0x222ec5){return _0x222ec5();},'lALIA':function(_0x2c9c40,_0x4892f4){return _0x2c9c40(_0x4892f4);},'Yoisg':_0x471567(0xfe),'FgJWy':_0x471567(0x106),'jQyDN':'profile.migrate.started','eIIUu':function(_0x58c24a,_0x35a38e,_0x190ce4,_0x3b60b5){return _0x58c24a(_0x35a38e,_0x190ce4,_0x3b60b5);},'dztjo':function(_0x46afa2,_0x25b00a,_0xf04c74){return _0x46afa2(_0x25b00a,_0xf04c74);},'aNPrw':function(_0x115772,_0x28346d){return _0x115772 instanceof _0x28346d;},'oKjZe':function(_0x13e774,_0x2cffcf){return _0x13e774(_0x2cffcf);},'twRXF':function(_0x7a1b07,_0x7d468c){return _0x7a1b07&&_0x7d468c;},'ZIxOZ':function(_0x18f4be,_0x4634ae){return _0x18f4be instanceof _0x4634ae;},'ksCDZ':function(_0x304a4f,_0x44adf3){return _0x304a4f===_0x44adf3;},'mzBPW':'ies'};if(!_0x255429[_0x471567(0x10d)]&&!_0x255429['all'])throw new Error('Provide\x20a\x20profile\x20name\x20or\x20--all.\x0a\x20\x20Example:\x20ranger\x20profile\x20migrate\x20--all\x20--dry-run');let _0x25e67a;try{_0x25e67a=await _0x4faa54[_0x471567(0xf2)](fetchAuthConfig);}catch(_0x1c36f9){throw new Error('Could\x20not\x20fetch\x20auth\x20config\x20('+(_0x1c36f9 instanceof Error?_0x1c36f9[_0x471567(0x13b)]:_0x4faa54['GrlDr'](String,_0x1c36f9))+').\x20Run:\x20ranger\x20setup');}if(!_0x25e67a||!_0x25e67a['environments']||_0x4faa54[_0x471567(0x125)](Object['keys'](_0x25e67a[_0x471567(0xf3)])['length'],0x0))throw new Error(_0x471567(0x11f));const _0x54d2f7=[];if(_0x255429['all']){const {envNames:_0x193f57,envTypes:_0x25d274}=await _0x4faa54['BckSv'](getEnvNames);for(const _0x5b225d of _0x193f57){if(_0x4faa54['axDII'](_0x25d274[_0x5b225d],'ci'))continue;_0x54d2f7[_0x471567(0x102)](_0x5b225d);}}else _0x255429[_0x471567(0x10d)]&&_0x54d2f7[_0x471567(0x102)](_0x255429[_0x471567(0x10d)]);if(_0x54d2f7['length']===0x0){console['log'](_0x4faa54['pJKrD']);return;}const _0x23a616=[];for(const _0x42753c of _0x54d2f7){const _0x525844=_0x4faa54[_0x471567(0xfd)](getEnvDir,_0x42753c);if(!existsSync(_0x525844)){_0x23a616['push']({'kind':_0x4faa54[_0x471567(0x12a)],'profileName':_0x42753c,'reason':_0x4faa54['tPffI']});continue;}const _0x3ed130=await loadSettings(_0x42753c),_0x23c62f=_0x3ed130[_0x471567(0xf6)];if(!_0x23c62f){_0x23a616[_0x471567(0x102)]({'kind':_0x4faa54[_0x471567(0x12a)],'profileName':_0x42753c,'reason':_0x4faa54['kIDve']});continue;}const _0x28b80f=_0x4faa54[_0x471567(0x13e)](matchAuthEnvironment,_0x23c62f,_0x25e67a);if(!_0x28b80f){_0x23a616['push']({'kind':_0x4faa54['UTixt'],'profileName':_0x42753c,'reason':_0x471567(0x13d)});continue;}const _0x4feb9e=_0x25e67a[_0x471567(0xf3)][_0x28b80f],_0x4d26e0=_0x4feb9e?.[_0x471567(0x13f)]??[],_0x293fb1=_0x4d26e0[_0x471567(0x109)](_0xdf5030=>{const _0x4dc981=_0x471567;try{return _0x4faa54[_0x4dc981(0x124)](new URL(_0xdf5030)['origin'],new URL(_0x23c62f)['origin']);}catch{return![];}}),_0x215ced={};for(const [_0x22a86b,_0x2416ec]of Object[_0x471567(0x118)](_0x3ed130)){if(_0x22a86b===_0x4faa54[_0x471567(0x10e)])continue;if(_0x2416ec===undefined)continue;_0x215ced[_0x22a86b]=_0x2416ec;}!_0x293fb1&&(_0x215ced['baseUrl']=_0x23c62f);const _0x52f019=join(_0x525844,_0x4faa54[_0x471567(0x101)]),_0x565a66=existsSync(_0x52f019);_0x23a616[_0x471567(0x102)]({'kind':'migrate','profileName':_0x42753c,'envKey':_0x28b80f,'baseUrl':_0x23c62f,'preserveBaseUrl':!_0x293fb1,'settings':_0x215ced,'authJsonPath':_0x565a66?_0x52f019:null});}console[_0x471567(0xef)](_0x4faa54[_0x471567(0x12f)]);for(const _0x463b26 of _0x23a616){console[_0x471567(0xef)](formatPlanLine(_0x463b26));}if(_0x255429['dryRun']){console[_0x471567(0xef)](_0x4faa54[_0x471567(0x123)]);return;}const _0x4a7b64=_0x4faa54['GrlDr'](Boolean,process['stdin'][_0x471567(0x11c)]&&process['stdout'][_0x471567(0x11c)]),_0x6bc1fa=_0x23a616[_0x471567(0x109)](_0x278e02=>_0x278e02['kind']==='migrate');if(_0x4faa54[_0x471567(0xf4)](_0x6bc1fa,_0x4a7b64)&&!_0x255429['yes']){const {proceed:_0xe014ee}=await _0x5ce11d['prompt']([{'type':_0x4faa54['PZNEE'],'name':_0x4faa54[_0x471567(0x120)],'message':_0x471567(0x110),'default':![]}]);if(!_0xe014ee){console[_0x471567(0xef)](_0x471567(0x126));return;}}const _0x464baa=_0x4faa54['jbWON'](getRangerDir);let _0x7b90eb=![];if(existsSync(_0x464baa))try{_0x7b90eb=await _0x4faa54['GrlDr'](isPathGitTracked,_0x464baa);}catch{_0x7b90eb=![];}_0x7b90eb&&_0x4faa54[_0x471567(0x10c)](shouldWarnGitTrackedOnce,process['cwd']())&&(console['log']('Warning:\x20.ranger/\x20is\x20tracked\x20in\x20this\x20git\x20repo.'),console[_0x471567(0xef)](_0x4faa54[_0x471567(0x113)]),console['log'](_0x4faa54['FgJWy']),console['log']('\x20\x20echo\x20\x27.ranger/\x27\x20>>\x20.gitignore'),console['log']('Continuing\x20with\x20migration...'));let _0x589963=0x0,_0x5d08d2=0x0,_0x502b2d=0x0,_0x1015a8=0x0;for(const _0x234836 of _0x23a616){if(_0x234836['kind']==='skip'){_0x1015a8++,_0x436e7e?.[_0x471567(0xff)](_0x471567(0x132),{'profileName':_0x234836['profileName'],'reason':_0x234836['reason']});continue;}_0x436e7e?.['trackPhaseStart'](_0x4faa54[_0x471567(0x11a)],{'profileName':_0x234836['profileName'],'envKey':_0x234836['envKey']});try{try{await _0x4faa54['eIIUu'](createCloudProfile,_0x234836[_0x471567(0x10d)],_0x234836['envKey'],{'settings':_0x234836['settings']});}catch(_0x243606){if(_0x243606 instanceof ApiError&&_0x243606['status']===0x199){console[_0x471567(0xef)]('\x20\x20⚠\x20'+_0x234836[_0x471567(0x10d)]+_0x471567(0xf0)),_0x1015a8++,_0x436e7e?.['trackPhaseEnd']('profile.migrate.skipped',{'profileName':_0x234836[_0x471567(0x10d)],'reason':'name_conflict'});continue;}throw _0x243606;}let _0x1d2362=![],_0x31c2c6=![];if(_0x234836[_0x471567(0x116)])try{const _0x30dcd2=await _0x4faa54['XywFZ'](readFile,_0x234836['authJsonPath'],'utf-8'),_0x13ee0c=JSON['parse'](_0x30dcd2);await _0x4faa54[_0x471567(0xf5)](uploadCloudProfileSession,_0x234836['profileName'],_0x13ee0c),_0x1d2362=!![];}catch(_0x5b1f2a){_0x31c2c6=!![],console['log']('\x20\x20⚠\x20'+_0x234836[_0x471567(0x10d)]+_0x471567(0x136)+(_0x4faa54[_0x471567(0xfa)](_0x5b1f2a,Error)?_0x5b1f2a['message']:_0x4faa54[_0x471567(0x127)](String,_0x5b1f2a))+').\x20Cloud\x20profile\x20created;\x20local\x20auth.json\x20left\x20in\x20place.');}let _0x121271=![];if(_0x255429['saveCreds']){const _0x15b1bd=process['env']['RANGER_TEST_USERNAME'],_0x524df9=process[_0x471567(0x11d)]['RANGER_TEST_PASSWORD'];if(_0x4faa54['twRXF'](_0x15b1bd,_0x524df9))try{await saveCloudProfileCredentials(_0x234836[_0x471567(0x10d)],_0x15b1bd,_0x524df9),_0x121271=!![];}catch(_0x4a4181){console['log']('\x20\x20⚠\x20'+_0x234836[_0x471567(0x10d)]+':\x20failed\x20to\x20save\x20credentials\x20('+(_0x4faa54['ZIxOZ'](_0x4a4181,Error)?_0x4a4181[_0x471567(0x13b)]:_0x4faa54[_0x471567(0xfd)](String,_0x4a4181))+').');}else console['log'](_0x471567(0xf9)+_0x234836[_0x471567(0x10d)]+_0x471567(0x129));}if(_0x234836[_0x471567(0xed)]&&_0x234836[_0x471567(0xf6)])try{setProfileOverride(process['cwd'](),_0x234836[_0x471567(0x10d)],_0x4faa54['YeVAn'],_0x234836[_0x471567(0xf6)]);}catch(_0x3ac74b){console[_0x471567(0xef)]('\x20\x20⚠\x20'+_0x234836['profileName']+_0x471567(0xf8)+(_0x3ac74b instanceof Error?_0x3ac74b[_0x471567(0x13b)]:_0x4faa54['GrlDr'](String,_0x3ac74b))+').');}const _0x21c4a3=getEnvDir(_0x234836['profileName']);if(!_0x31c2c6&&existsSync(_0x21c4a3))try{await rm(_0x21c4a3,{'recursive':!![],'force':!![]}),_0x5d08d2++;}catch(_0x3ae029){console[_0x471567(0xef)](_0x471567(0xf9)+_0x234836['profileName']+':\x20failed\x20to\x20delete\x20local\x20dir\x20'+_0x21c4a3+'\x20('+(_0x3ae029 instanceof Error?_0x3ae029[_0x471567(0x13b)]:String(_0x3ae029))+').');}_0x589963++,_0x234836['preserveBaseUrl']&&_0x234836['baseUrl']?console[_0x471567(0xef)]('\x20\x20✓\x20'+_0x234836[_0x471567(0x10d)]+'\x20migrated\x20to\x20cloud\x20(env:\x20'+_0x234836['envKey']+_0x471567(0xee)):console['log'](_0x471567(0x13c)+_0x234836['profileName']+_0x471567(0x107)+_0x234836[_0x471567(0x128)]+')'),_0x436e7e?.[_0x471567(0xff)]('profile.migrate.succeeded',{'profileName':_0x234836['profileName'],'envKey':_0x234836['envKey'],'wasGitTracked':_0x7b90eb,'hadSession':_0x1d2362,'savedCreds':_0x121271});}catch(_0x3eb36c){_0x502b2d++,console['log'](_0x471567(0x134)+_0x234836[_0x471567(0x10d)]+_0x471567(0x138)+(_0x3eb36c instanceof Error?_0x3eb36c[_0x471567(0x13b)]:String(_0x3eb36c))),_0x436e7e?.[_0x471567(0xff)]('profile.migrate.failed',{'profileName':_0x234836['profileName'],'error':_0x4faa54['ZIxOZ'](_0x3eb36c,Error)?_0x3eb36c[_0x471567(0x13b)]:String(_0x3eb36c)});}}const _0x38565c=[];if(_0x589963>0x0)_0x38565c['push'](_0x589963+'\x20profile'+(_0x589963===0x1?'':'s')+_0x471567(0x12d));if(_0x5d08d2>0x0)_0x38565c['push'](_0x471567(0x111)+_0x5d08d2+'\x20local\x20director'+(_0x4faa54[_0x471567(0x103)](_0x5d08d2,0x1)?'y':_0x4faa54['mzBPW']));if(_0x1015a8>0x0)_0x38565c['push'](_0x1015a8+_0x471567(0x115));if(_0x502b2d>0x0)_0x38565c[_0x471567(0x102)](_0x502b2d+'\x20failed');if(_0x38565c[_0x471567(0x137)]>0x0)console['log'](_0x38565c[_0x471567(0x12c)]('.\x20')+'.');}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
(function(_0x39f8e0,_0x5ef4cb){const _0x4e472b=_0x1525,_0x30e79c=_0x39f8e0();while(!![]){try{const _0x120d09=-parseInt(_0x4e472b(0x17d))/0x1+-parseInt(_0x4e472b(0x165))/0x2*(parseInt(_0x4e472b(0x158))/0x3)+parseInt(_0x4e472b(0x17e))/0x4*(parseInt(_0x4e472b(0x159))/0x5)+parseInt(_0x4e472b(0x168))/0x6+-parseInt(_0x4e472b(0x185))/0x7+parseInt(_0x4e472b(0x15c))/0x8*(parseInt(_0x4e472b(0x164))/0x9)+-parseInt(_0x4e472b(0x178))/0xa*(parseInt(_0x4e472b(0x166))/0xb);if(_0x120d09===_0x5ef4cb)break;else _0x30e79c['push'](_0x30e79c['shift']());}catch(_0x28f1bf){_0x30e79c['push'](_0x30e79c['shift']());}}}(_0x43c2,0xe932f));function _0x1525(_0x56e72e,_0x5dd9b3){_0x56e72e=_0x56e72e-0x154;const _0x43c2bc=_0x43c2();let _0x15254e=_0x43c2bc[_0x56e72e];return _0x15254e;}import{join}from'path';import{existsSync}from'fs';import _0x3b1c2e 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(_0x205440){const _0x17ca41=_0x1525,_0x25276d={'qxDwA':'ranger@trailhead','zoDpH':_0x17ca41(0x176),'GIJTA':function(_0x1e0563){return _0x1e0563();},'PBAiG':'.claude','qHslE':_0x17ca41(0x15f),'dauDU':'User\x20(available\x20in\x20all\x20your\x20projects)','TBCQd':'user','kMyHI':_0x17ca41(0x16e),'HWiFP':'add','oQAwL':_0x17ca41(0x177),'MbrEu':'\x20\x20claude\x20plugin\x20marketplace\x20add\x20ranger-testing/trailhead','cPcUC':function(_0x91c4b9,_0xacbee5,_0x29a4fd){return _0x91c4b9(_0xacbee5,_0x29a4fd);},'RQZVv':'plugin','IFqau':_0x17ca41(0x180),'yKAzV':'\x0aYou\x20can\x20install\x20manually\x20with:','STMpP':function(_0x835347,_0x54be08){return _0x835347===_0x54be08;},'RUqfP':function(_0xfe6533,_0x1901ae,_0x4f7b8a){return _0xfe6533(_0x1901ae,_0x4f7b8a);},'bHuhz':function(_0x2b2471){return _0x2b2471();},'OETxL':'✓\x20Claude\x20Code\x20plugin\x20enabled'},_0x5beb6f=await isPluginInstalled(_0x25276d['qxDwA']);if(_0x5beb6f)return console['log'](_0x25276d[_0x17ca41(0x169)]),![];const _0x208178=existsSync(join(_0x25276d['GIJTA'](getProjectRoot),_0x25276d['PBAiG']));let _0x3157be;if(_0x205440)_0x3157be=_0x205440;else{if(_0x208178)_0x3157be=_0x25276d['qHslE'];else{console[_0x17ca41(0x17c)](_0x17ca41(0x163));const _0x30d272=await _0x3b1c2e[_0x17ca41(0x182)]([{'type':'list','name':_0x17ca41(0x170),'message':_0x17ca41(0x183),'choices':[{'name':_0x25276d['dauDU'],'value':_0x25276d[_0x17ca41(0x171)]},{'name':'Project\x20(shared\x20with\x20team\x20via\x20git)','value':_0x25276d['qHslE']}],'default':_0x25276d[_0x17ca41(0x171)]}]);_0x3157be=_0x30d272['pluginScope'];}}console['log'](_0x17ca41(0x174)+_0x3157be+'\x20level)...\x0a');const _0x5f405e=await isMarketplaceAdded(_0x25276d['kMyHI']);let _0x6384d6=_0x5f405e;if(_0x5f405e)console[_0x17ca41(0x17c)]('✓\x20Marketplace\x20already\x20added');else{const _0xc4a6ae=await runClaudeCommand(['plugin','marketplace',_0x25276d[_0x17ca41(0x156)],'ranger-testing/trailhead']);!_0xc4a6ae[_0x17ca41(0x17b)]?(console[_0x17ca41(0x17a)](_0x25276d[_0x17ca41(0x16b)],_0xc4a6ae['error']),console['log'](_0x17ca41(0x15a)),console[_0x17ca41(0x17c)](_0x25276d['MbrEu']),console[_0x17ca41(0x17c)](_0x17ca41(0x172)+_0x3157be)):_0x6384d6=!![];}if(_0x6384d6){const _0x2410b7=await _0x25276d['cPcUC'](runClaudeCommand,[_0x25276d['RQZVv'],'install','ranger@trailhead',_0x17ca41(0x160),_0x3157be],{'cwd':_0x3157be==='project'?getProjectRoot():undefined});if(!_0x2410b7['success'])console['error'](_0x25276d[_0x17ca41(0x16a)],_0x2410b7[_0x17ca41(0x17a)]),console['log'](_0x25276d[_0x17ca41(0x15b)]),console[_0x17ca41(0x17c)]('\x20\x20claude\x20plugin\x20install\x20ranger@trailhead\x20--scope\x20'+_0x3157be);else{console[_0x17ca41(0x17c)]('✓\x20Claude\x20Code\x20plugin\x20installed\x20successfully');const _0x237f3f=[_0x25276d[_0x17ca41(0x161)],'enable',_0x25276d[_0x17ca41(0x179)]];_0x25276d[_0x17ca41(0x162)](_0x3157be,_0x25276d[_0x17ca41(0x186)])&&_0x237f3f[_0x17ca41(0x15d)]('--scope','project');const _0x43abc9=await _0x25276d[_0x17ca41(0x17f)](runClaudeCommand,_0x237f3f,{'captureOutput':!![],'cwd':_0x25276d[_0x17ca41(0x162)](_0x3157be,_0x25276d[_0x17ca41(0x186)])?_0x25276d[_0x17ca41(0x173)](getProjectRoot):undefined}),_0x441209=_0x43abc9[_0x17ca41(0x16f)]?.[_0x17ca41(0x175)](_0x17ca41(0x16c));!_0x43abc9['success']&&!_0x441209?console['error'](_0x17ca41(0x155),_0x43abc9['error']):console['log'](_0x25276d[_0x17ca41(0x16d)]);}}return!![];}function _0x43c2(){const _0x1a726b=['uEqCi','84261seNhbw','5thcpBs','\x0aYou\x20can\x20install\x20manually\x20with:','yKAzV','464riXkGL','push','user','project','--scope','RQZVv','STMpP','\x0a📦\x20Claude\x20Code\x20Plugin\x0a','116775RgugeY','26KXWKkJ','1056HKzcCr','wantsSkillup','6100182zHWlkK','zoDpH','IFqau','oQAwL','already\x20enabled','OETxL','trailhead','output','pluginScope','TBCQd','\x20\x20claude\x20plugin\x20install\x20ranger@trailhead\x20--scope\x20','bHuhz','\x0aInstalling\x20Claude\x20Code\x20plugin\x20(','includes','✓\x20Claude\x20Code\x20plugin\x20already\x20installed','❌\x20Failed\x20to\x20add\x20marketplace:','71670PxxUMV','qxDwA','error','success','log','24001WYGpFX','4680108mXrUKL','RUqfP','❌\x20Failed\x20to\x20install\x20plugin:','iGijw','prompt','Where\x20should\x20the\x20plugin\x20be\x20installed?','VZBTI','6348489aVgnGY','qHslE','GIdHm','⚠\x20Failed\x20to\x20enable\x20plugin:','HWiFP'];_0x43c2=function(){return _0x1a726b;};return _0x43c2();}export async function ensureClaudeSkills(_0x3373d6){const _0x551500=_0x1525,_0x358d14={'VZBTI':function(_0x342795,_0x1312a5){return _0x342795(_0x1312a5);},'cLDJh':'ranger','GIdHm':'SKILL.md','uCOQH':function(_0x2df5c2,_0x56f305){return _0x2df5c2(_0x56f305);},'njjQC':function(_0xf41efe,_0x1d06fb){return _0xf41efe||_0x1d06fb;},'uSniS':'✓\x20Ranger\x20skills\x20already\x20installed','yWJyW':function(_0x533c21,_0x4794a5,_0x89ad1a){return _0x533c21(_0x4794a5,_0x89ad1a);},'suMUH':function(_0x538c7d,_0x24dcd6){return _0x538c7d(_0x24dcd6);},'uEqCi':'project','yGNJK':_0x551500(0x167),'iGijw':'Would\x20you\x20like\x20to\x20install\x20skills?'},_0x37f118=existsSync(join(_0x358d14[_0x551500(0x184)](getSkillsDir,_0x551500(0x15e)),_0x358d14['cLDJh'],_0x358d14[_0x551500(0x154)])),_0x5bcdb5=existsSync(join(_0x358d14['uCOQH'](getSkillsDir,_0x551500(0x15f)),'ranger','SKILL.md'));if(_0x358d14['njjQC'](_0x37f118,_0x5bcdb5))return console['log'](_0x358d14['uSniS']),![];const _0x15e077=existsSync(_0x358d14['yWJyW'](join,getProjectRoot(),'.claude'));let _0x381d05=!![];if(_0x3373d6)await _0x358d14[_0x551500(0x184)](skillup,{'autoInstall':_0x3373d6,'suppressUsage':!![]});else{if(_0x15e077)await _0x358d14['suMUH'](skillup,{'autoInstall':_0x358d14[_0x551500(0x157)],'suppressUsage':!![]});else{const _0xf099f7=await _0x3b1c2e['prompt']([{'type':'confirm','name':_0x358d14['yGNJK'],'message':_0x358d14[_0x551500(0x181)],'default':!![]}]);_0x381d05=_0xf099f7['wantsSkillup'],_0x381d05&&await skillup({'suppressUsage':!![]});}}return _0x381d05;}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(
|
|
1
|
+
(function(_0x20c779,_0x50cf56){const _0x4f6858=_0x4870,_0x3c794f=_0x20c779();while(!![]){try{const _0xb4603b=parseInt(_0x4f6858(0x1ff))/0x1+-parseInt(_0x4f6858(0x1f2))/0x2*(parseInt(_0x4f6858(0x207))/0x3)+parseInt(_0x4f6858(0x1ed))/0x4+parseInt(_0x4f6858(0x202))/0x5+-parseInt(_0x4f6858(0x1ef))/0x6+parseInt(_0x4f6858(0x203))/0x7+parseInt(_0x4f6858(0x1fa))/0x8;if(_0xb4603b===_0x50cf56)break;else _0x3c794f['push'](_0x3c794f['shift']());}catch(_0x1be4d0){_0x3c794f['push'](_0x3c794f['shift']());}}}(_0x304e,0x80891));import{join}from'path';import{existsSync}from'fs';import{mkdir,readFile,writeFile}from'fs/promises';import _0x3f24a5 from'inquirer';function _0x4870(_0x4086ff,_0x27b116){_0x4086ff=_0x4086ff-0x1ec;const _0x304e86=_0x304e();let _0x487002=_0x304e86[_0x4086ff];return _0x487002;}function _0x304e(){const _0x412fa5=['plugin','parse','error','5583032ENuKCZ','list','iJzdy','PapGy','utf-8','51614GIHAYR','Project\x20(shared\x20with\x20team\x20via\x20git)','Failed\x20to\x20read\x20opencode.json','2401875WsOXUp','4044537pvzyTK','project','⚠\x20Failed\x20to\x20read\x20opencode.json.\x20Please\x20add\x20the\x20plugin\x20manually.','pluginScope','3mqEaaQ','isArray','1301936EuxfRg','cvubE','4798614ZWAWTN','KqtnW','\x0a📦\x20OpenCode\x20Plugin\x0a','1613786hKCJnl','RXTMg','fCvPQ','https://opencode.ai/config.json','log'];_0x304e=function(){return _0x412fa5;};return _0x304e();}import{getOpencodeConfigDir}from'../utils/opencodeConfig.js';export async function ensureOpencodePluginConfig(_0x5c77ab){const _0x53f84a=_0x4870,_0x1cf2bd={'RXTMg':function(_0x518513,_0x5ec461,_0x1667a1){return _0x518513(_0x5ec461,_0x1667a1);},'iJzdy':'project','cvubE':'opencode.json','KqtnW':'user','UbDys':_0x53f84a(0x200),'PapGy':function(_0x433d42,_0x1ccece){return _0x433d42(_0x1ccece);},'JYPFm':function(_0x5c026c,_0x1bee03){return _0x5c026c(_0x1bee03);},'eodGB':_0x53f84a(0x201),'gmErI':function(_0x3f3d80,_0x4a6244){return _0x3f3d80(_0x4a6244);},'fCvPQ':function(_0x453721,_0x3dd6b2){return _0x453721+_0x3dd6b2;}},_0x50c3d5=existsSync(_0x1cf2bd[_0x53f84a(0x1f3)](join,getOpencodeConfigDir(_0x1cf2bd[_0x53f84a(0x1fc)]),_0x1cf2bd[_0x53f84a(0x1ee)]));let _0x313f6c;if(_0x5c77ab)_0x313f6c=_0x5c77ab;else{if(_0x50c3d5)_0x313f6c='project';else{console[_0x53f84a(0x1f6)](_0x53f84a(0x1f1));const _0x6c386=await _0x3f24a5['prompt']([{'type':_0x53f84a(0x1fb),'name':_0x53f84a(0x206),'message':'Where\x20should\x20the\x20plugin\x20be\x20installed?','choices':[{'name':'User\x20(available\x20in\x20all\x20your\x20projects)','value':_0x1cf2bd[_0x53f84a(0x1f0)]},{'name':_0x1cf2bd['UbDys'],'value':_0x53f84a(0x204)}],'default':_0x1cf2bd['KqtnW']}]);_0x313f6c=_0x6c386[_0x53f84a(0x206)];}}const _0x15200b=_0x1cf2bd[_0x53f84a(0x1f3)](join,_0x1cf2bd[_0x53f84a(0x1fd)](getOpencodeConfigDir,_0x313f6c),_0x1cf2bd['cvubE']),_0x104b55='@ranger-testing/opencode-plugin',_0x5d2976=_0x53f84a(0x1f5);let _0x5cc05c={};if(_0x1cf2bd['JYPFm'](existsSync,_0x15200b))try{const _0x31d48c=await _0x1cf2bd['RXTMg'](readFile,_0x15200b,_0x53f84a(0x1fe));_0x5cc05c=JSON[_0x53f84a(0x1f8)](_0x31d48c);}catch(_0x3ac7f3){return console[_0x53f84a(0x1f9)](_0x53f84a(0x205)),{'configured':![],'scope':_0x313f6c,'error':_0x1cf2bd['eodGB'],'details':_0x3ac7f3};}const _0x2850fe=Array[_0x53f84a(0x1ec)](_0x5cc05c[_0x53f84a(0x1f7)])?_0x5cc05c[_0x53f84a(0x1f7)]:[];if(_0x2850fe['includes'](_0x104b55))return console[_0x53f84a(0x1f6)]('✓\x20OpenCode\x20plugin\x20already\x20configured'),{'configured':![],'scope':_0x313f6c};return _0x5cc05c['$schema']=_0x5cc05c['$schema']||_0x5d2976,_0x5cc05c[_0x53f84a(0x1f7)]=[..._0x2850fe,_0x104b55],await mkdir(_0x1cf2bd['gmErI'](getOpencodeConfigDir,_0x313f6c),{'recursive':!![]}),await _0x1cf2bd[_0x53f84a(0x1f3)](writeFile,_0x15200b,_0x1cf2bd[_0x53f84a(0x1f4)](JSON['stringify'](_0x5cc05c,null,0x2),'\x0a')),console['log']('✓\x20OpenCode\x20plugin\x20configured'),{'configured':!![],'scope':_0x313f6c};}
|
|
@@ -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(_0x1effe6,_0x4f8cc4){const _0x280a36=_0x16bc,_0x38c651=_0x1effe6();while(!![]){try{const _0x2667cb=parseInt(_0x280a36(0x8d))/0x1*(-parseInt(_0x280a36(0xa8))/0x2)+-parseInt(_0x280a36(0x79))/0x3+parseInt(_0x280a36(0x90))/0x4+parseInt(_0x280a36(0xab))/0x5+parseInt(_0x280a36(0x8b))/0x6+-parseInt(_0x280a36(0x75))/0x7+-parseInt(_0x280a36(0x71))/0x8*(-parseInt(_0x280a36(0x7d))/0x9);if(_0x2667cb===_0x4f8cc4)break;else _0x38c651['push'](_0x38c651['shift']());}catch(_0x989511){_0x38c651['push'](_0x38c651['shift']());}}}(_0x342d,0x28aa7));import{mkdir,readFile,readdir}from'fs/promises';import{join}from'path';function _0x16bc(_0x5f4aa6,_0x3deeac){_0x5f4aa6=_0x5f4aa6-0x6b;const _0x342de9=_0x342d();let _0x16bc1b=_0x342de9[_0x5f4aa6];return _0x16bc1b;}import{existsSync}from'fs';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';function _0x342d(){const _0x53c5ef=['LZdSP','243EpGAUA','ijNJx','--scope','807128fMvNRE','filter','\x0a✅\x20Ranger\x20CI\x20setup\x20complete!\x0a','UCSZu','auth.json','ThZRP','rLQtU','Zzpmx','Failed\x20to\x20verify\x20encrypted\x20auth\x20for\x20profile\x20\x22','profile','cFNoL','You\x20can\x20install\x20manually:\x20claude\x20plugin\x20marketplace\x20add\x20ranger-testing/trailhead','log','ranger@trailhead','✓\x20Claude\x20Code\x20plugin\x20installed','mZAoX','isDirectory','kxUAP','length','marketplace','CI\x20profile\x20\x22','aiuKR','Failed\x20to\x20install\x20plugin:','name','50tnnOCi','GEZuq','QUklO','1634565GmEZfG','AQJqL','MYejQ','skills','oElso','Installing\x20Claude\x20Code\x20plugin\x20(project\x20level)...','chromium','plugin','project','Or\x20specify\x20a\x20profile\x20name\x20with\x20--profile\x20and\x20--base-url\x20to\x20create\x20one.','fBvXo','error','388376JEqyFl','\x22:\x20','dmblr','✓\x20Encrypted\x20auth\x20verified\x20(will\x20decrypt\x20at\x20runtime)','1134497QahnKJ','KeACK','dir_setup','aKajr','961512UeoFgj','success','Auto-detected\x20CI\x20profile:\x20','PbQIi','9lEyckD','auth','✓\x20Marketplace\x20already\x20added','trackPhaseEnd','No\x20CI\x20profiles\x20found\x20in\x20.ranger/ci/.\x20Create\x20one\x20first\x20with:\x20ranger\x20profile\x20add\x20<name>\x20--ci\x0a','OuNTC','trackPhaseStart','No\x20API\x20token\x20available\x20for\x20decryption','No\x20CI\x20profiles\x20found.\x20Create\x20one\x20first\x20with:\x20ranger\x20profile\x20add\x20<name>\x20--ci\x0a','Ytomk','message','lVAzx','ZuGMj','.\x20Use\x20--profile\x20to\x20specify\x20which\x20one.','467850PuGLkG'];_0x342d=function(){return _0x53c5ef;};return _0x342d();}import{runClaudeCommand,isMarketplaceAdded,isPluginInstalled}from'./utils/claudePlugin.js';import{getProjectRoot}from'./utils/claudeConfig.js';async function findCiProfile(_0x20f30a){const _0x14e90e=_0x16bc,_0xde3fbc={'cFNoL':function(_0x5973de){return _0x5973de();},'ZliJe':function(_0xcfd092,_0x46a896,_0x4ee8a3){return _0xcfd092(_0x46a896,_0x4ee8a3);},'LZdSP':function(_0x17f27c,_0x487f7d){return _0x17f27c(_0x487f7d);},'QUklO':_0x14e90e(0x85),'lHdFi':_0x14e90e(0x6e),'PbQIi':function(_0x40b025,_0x3dd1d7,_0x4214b7){return _0x40b025(_0x3dd1d7,_0x4214b7);},'ijNJx':function(_0x4aecb9,_0x26392f){return _0x4aecb9===_0x26392f;}},_0x3406c3=_0xde3fbc[_0x14e90e(0x9a)](getRangerDir),_0x493e6c=_0xde3fbc['ZliJe'](join,_0x3406c3,'ci');if(_0x20f30a){const _0x597ccc=join(_0x493e6c,_0x20f30a);return{'name':_0x20f30a,'path':_0x597ccc};}if(!_0xde3fbc[_0x14e90e(0x8c)](existsSync,_0x493e6c))throw new Error(_0xde3fbc[_0x14e90e(0xaa)]+_0xde3fbc['lHdFi']);const _0x23642d=await _0xde3fbc[_0x14e90e(0x7c)](readdir,_0x493e6c,{'withFileTypes':!![]}),_0xf0cf90=_0x23642d[_0x14e90e(0x91)](_0x3515b6=>_0x3515b6[_0x14e90e(0xa0)]())['map'](_0x238206=>_0x238206['name']);if(_0xde3fbc[_0x14e90e(0x8e)](_0xf0cf90['length'],0x0))throw new Error(_0x14e90e(0x81)+_0xde3fbc['lHdFi']);if(_0xf0cf90[_0x14e90e(0xa2)]===0x1){const _0x389f59=_0xf0cf90[0x0];return console[_0x14e90e(0x9c)](_0x14e90e(0x7b)+_0x389f59),{'name':_0x389f59,'path':join(_0x493e6c,_0x389f59)};}throw new Error('Multiple\x20CI\x20profiles\x20found:\x20'+_0xf0cf90['join'](',\x20')+_0x14e90e(0x8a));}async function installPluginNonInteractive(){const _0xdf4b36=_0x16bc,_0x5b84e7={'MYejQ':function(_0x2d7507,_0x3a4e0e){return _0x2d7507(_0x3a4e0e);},'rLQtU':_0xdf4b36(0x9d),'mPxdd':'✓\x20Claude\x20Code\x20plugin\x20already\x20installed','fBvXo':_0xdf4b36(0xb0),'GEZuq':'trailhead','QwasI':'add','Zzpmx':'Failed\x20to\x20add\x20marketplace:','Nlbrx':_0xdf4b36(0x9b),'gmJpQ':function(_0x104bbf,_0x24a48f,_0x468645){return _0x104bbf(_0x24a48f,_0x468645);},'oElso':'plugin','nmNeL':_0xdf4b36(0x8f),'OuNTC':'project','ZZFon':function(_0x54b4a9){return _0x54b4a9();},'TUDmC':_0xdf4b36(0x9e)},_0x1b6b08=await _0x5b84e7['MYejQ'](isPluginInstalled,_0x5b84e7[_0xdf4b36(0x96)]);if(_0x1b6b08)return console['log'](_0x5b84e7['mPxdd']),![];console['log'](_0x5b84e7[_0xdf4b36(0x6f)]);const _0x3b724c=await isMarketplaceAdded(_0x5b84e7[_0xdf4b36(0xa9)]);let _0x5f95f6=_0x3b724c;if(_0x3b724c)console['log'](_0xdf4b36(0x7f));else{const _0x50938e=await _0x5b84e7[_0xdf4b36(0xad)](runClaudeCommand,[_0xdf4b36(0x6c),_0xdf4b36(0xa3),_0x5b84e7['QwasI'],'ranger-testing/trailhead']);!_0x50938e['success']?(console['error'](_0x5b84e7[_0xdf4b36(0x97)],_0x50938e['error']),console['log'](_0x5b84e7['Nlbrx'])):_0x5f95f6=!![];}if(_0x5f95f6){const _0x36157b=await _0x5b84e7['gmJpQ'](runClaudeCommand,[_0x5b84e7[_0xdf4b36(0xaf)],'install',_0x5b84e7[_0xdf4b36(0x96)],_0x5b84e7['nmNeL'],_0x5b84e7[_0xdf4b36(0x82)]],{'cwd':_0x5b84e7['ZZFon'](getProjectRoot)});!_0x36157b[_0xdf4b36(0x7a)]?(console[_0xdf4b36(0x70)](_0xdf4b36(0xa6),_0x36157b['error']),console['log']('You\x20can\x20install\x20manually:\x20claude\x20plugin\x20install\x20ranger@trailhead\x20--scope\x20project')):console['log'](_0x5b84e7['TUDmC']);}return!![];}export async function setupCi(_0x56b0ae,_0x5ee549,_0x3b21e2){const _0x5d6b2b=_0x16bc,_0x445ab0={'WBtrC':_0x5d6b2b(0x7e),'hrjnH':_0x5d6b2b(0x77),'KeACK':function(_0xe550db){return _0xe550db();},'UCSZu':'sessions','Ytomk':function(_0x4715a1,_0x2b2a1c){return _0x4715a1(_0x2b2a1c);},'AQJqL':function(_0x27c896,_0x593650,_0x347427){return _0x27c896(_0x593650,_0x347427);},'ThZRP':'✓\x20Skipping\x20Chromium\x20check\x20(--skip-chromium)','mZAoX':_0x5d6b2b(0x6b),'dmblr':function(_0x22a977,_0x27a640){return _0x22a977(_0x27a640);},'uWGin':'settings.json','CdFpl':_0x5d6b2b(0x94),'ZuGMj':'auth.json.enc','aiuKR':function(_0x51a49c,_0x34094d){return _0x51a49c(_0x34094d);},'kxUAP':_0x5d6b2b(0x84),'PGtrw':'\x20\x20No\x20auth\x20state\x20found\x20(app\x20may\x20not\x20require\x20authentication)','aKajr':_0x5d6b2b(0x6c),'lVAzx':_0x5d6b2b(0xae)};console['log']('\x0a🔧\x20Ranger\x20CI\x20Setup\x0a'),_0x3b21e2?.['trackPhaseStart'](_0x445ab0['WBtrC']),await authenticate(_0x56b0ae),_0x3b21e2?.[_0x5d6b2b(0x80)]('auth'),_0x3b21e2?.[_0x5d6b2b(0x83)](_0x445ab0['hrjnH']);const {path:_0x1fea0d,installed:_0x5add9a}=await _0x445ab0[_0x5d6b2b(0x76)](ensureRangerDir);await writeRangerGitignore(_0x1fea0d);const _0x12885f=join(_0x1fea0d,_0x445ab0[_0x5d6b2b(0x93)]);!_0x445ab0[_0x5d6b2b(0x86)](existsSync,_0x12885f)&&await _0x445ab0[_0x5d6b2b(0xac)](mkdir,_0x12885f,{'recursive':!![]});_0x3b21e2?.[_0x5d6b2b(0x80)](_0x445ab0['hrjnH'],{'installed':_0x5add9a}),_0x3b21e2?.[_0x5d6b2b(0x83)](_0x5d6b2b(0x6b));let _0x51cb47=![];_0x5ee549?.['skipChromium']?console['log'](_0x445ab0[_0x5d6b2b(0x95)]):_0x51cb47=await ensureChromium();_0x3b21e2?.[_0x5d6b2b(0x80)](_0x445ab0[_0x5d6b2b(0x9f)],{'installed':_0x51cb47,'skipped':!!_0x5ee549?.['skipChromium']}),_0x3b21e2?.['trackPhaseStart']('profile_activate');const _0x3a9a4b=await _0x445ab0[_0x5d6b2b(0x73)](findCiProfile,_0x5ee549?.[_0x5d6b2b(0x99)]);let _0x2ce20d=![];_0x5ee549?.['baseUrl']&&(await mkdir(_0x3a9a4b['path'],{'recursive':!![]}),await _0x445ab0['AQJqL'](saveSettings,_0x3a9a4b[_0x5d6b2b(0xa7)],{'baseUrl':_0x5ee549['baseUrl'],'headless':!![]}),console[_0x5d6b2b(0x9c)]('✓\x20Created\x20profile\x20settings:\x20baseUrl='+_0x5ee549['baseUrl']),_0x2ce20d=!![]);const _0x59a334=join(_0x3a9a4b['path'],_0x445ab0['uWGin']);if(!existsSync(_0x59a334)&&!_0x2ce20d)throw new Error(_0x5d6b2b(0xa4)+_0x3a9a4b['name']+'\x22\x20has\x20no\x20settings.json.\x20Use\x20--base-url\x20to\x20configure\x20it.');const _0x17d60a=join(_0x3a9a4b['path'],_0x445ab0['CdFpl']),_0x31a9e1=_0x445ab0['AQJqL'](join,_0x3a9a4b['path'],_0x445ab0[_0x5d6b2b(0x89)]),_0x37977d=existsSync(_0x17d60a),_0x561b72=_0x445ab0[_0x5d6b2b(0xa5)](existsSync,_0x31a9e1);if(_0x561b72)try{const _0x1af316=await getToken();if(!_0x1af316)throw new Error(_0x445ab0[_0x5d6b2b(0xa1)]);const _0x1796ff=await _0x445ab0[_0x5d6b2b(0xa5)](readFile,_0x31a9e1);decrypt(_0x1796ff,_0x1af316),console[_0x5d6b2b(0x9c)](_0x5d6b2b(0x74));}catch(_0x38c8af){const _0x19b316=_0x38c8af instanceof Error?_0x38c8af[_0x5d6b2b(0x87)]:String(_0x38c8af);throw new Error(_0x5d6b2b(0x98)+_0x3a9a4b['name']+_0x5d6b2b(0x72)+_0x19b316);}else _0x37977d?console['log']('✓\x20Auth\x20state\x20found'):console['log'](_0x445ab0['PGtrw']);await writeActiveProfileName(_0x3a9a4b[_0x5d6b2b(0xa7)]),console['log']('✓\x20Active\x20profile:\x20'+_0x3a9a4b[_0x5d6b2b(0xa7)]),_0x3b21e2?.['trackPhaseEnd']('profile_activate',{'profileName':_0x3a9a4b['name'],'hasAuth':_0x37977d,'hasEncryptedAuth':_0x561b72,'createdSettings':_0x2ce20d}),_0x3b21e2?.['trackPhaseStart'](_0x445ab0['aKajr']);const _0x5e5d80=await _0x445ab0['KeACK'](installPluginNonInteractive);_0x3b21e2?.['trackPhaseEnd'](_0x445ab0[_0x5d6b2b(0x78)],{'installed':_0x5e5d80}),_0x3b21e2?.['trackPhaseStart']('skills'),await skillup({'autoInstall':_0x5d6b2b(0x6d)}),_0x3b21e2?.['trackPhaseEnd'](_0x445ab0[_0x5d6b2b(0x88)]),console['log'](_0x5d6b2b(0x92));}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(
|
|
1
|
+
(function(_0x151603,_0x1f6abc){const _0x461927=_0x5827,_0x180f8c=_0x151603();while(!![]){try{const _0x30a26b=-parseInt(_0x461927(0x1d2))/0x1+-parseInt(_0x461927(0x1b1))/0x2*(parseInt(_0x461927(0x1d3))/0x3)+-parseInt(_0x461927(0x1c7))/0x4*(-parseInt(_0x461927(0x1c6))/0x5)+parseInt(_0x461927(0x1a3))/0x6*(parseInt(_0x461927(0x1a1))/0x7)+-parseInt(_0x461927(0x1af))/0x8*(parseInt(_0x461927(0x1b9))/0x9)+-parseInt(_0x461927(0x1b5))/0xa+parseInt(_0x461927(0x1cd))/0xb*(parseInt(_0x461927(0x1b4))/0xc);if(_0x30a26b===_0x1f6abc)break;else _0x180f8c['push'](_0x180f8c['shift']());}catch(_0x1b5455){_0x180f8c['push'](_0x180f8c['shift']());}}}(_0x2124,0x9904f));import{basename}from'path';import _0x22af05 from'inquirer';function _0x5827(_0x19a94b,_0x1b167f){_0x19a94b=_0x19a94b-0x1a1;const _0x212480=_0x2124();let _0x582724=_0x212480[_0x19a94b];return _0x582724;}function _0x2124(){const _0x271d60=['❌\x20No\x20Ranger\x20API\x20token\x20found.\x0a','\x0a📦\x20Installing\x20skills...\x0a','installLevel','\x20\x203.\x20Run:\x20ranger\x20skillup','662660FPETYW','3LOTDyl','\x20\x20Failed\x20to\x20install\x20ranger\x20skill:','917WbWryl','Where\x20should\x20skills\x20be\x20installed?','23790rgDnwA','\x20successfully!\x0a','autoInstall','\x0a⚠️\x20\x20No\x20skills\x20were\x20installed.\x0a','ranger','Zhjoj','eiBrr','xhpcw','\x20\x202.\x20Run:\x20ranger\x20setup','suppressUsage','log','/skills/','770104nnpoxD','sGRoQ','1239736mApaiq','✓\x20Found\x20API\x20token','project-level','12fWadBm','7944210wlCJoI','This\x20project\x20only\x20(','\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!','0|1|5|3|2|4','63CcmAgY','nTcCQ','\x20--opencode','rreKX','platform','message','To\x20use:','PWSqY','qEEDo','soExa','\x20<your-api-token>','cYjwx','All\x20projects\x20(','5nGNsWY','1382764ZUdvMV','hUrBv','isTTY','opencode','Non-interactive\x20mode:\x20Installing\x20skills\x20at\x20project\x20level\x20(','project','27636961BxPEqr'];_0x2124=function(){return _0x271d60;};return _0x2124();}import{getToken}from'./utils/keychain.js';import{installSkill}from'./utils/skills.js';import{getCurrentVersion}from'./utils/version.js';import{getClaudeConfigDir,getProjectRoot}from'./utils/claudeConfig.js';import{getOpencodeConfigDir}from'./utils/opencodeConfig.js';export async function skillup(_0x20e2a3={}){const _0x3d1365=_0x5827,_0x2a5d4d={'KbIkY':'\x0a🎯\x20Ranger\x20Skill\x20Setup\x0a','FNOOn':_0x3d1365(0x1b8),'CPXpO':'To\x20get\x20started:','soExa':function(_0x254bd0,_0x2ab42c){return _0x254bd0===_0x2ab42c;},'WIrGJ':function(_0x462965){return _0x462965();},'cYjwx':function(_0x1d9711,_0x3a771a){return _0x1d9711(_0x3a771a);},'nTcCQ':_0x3d1365(0x1ca),'Zhjoj':'user','eiBrr':'list','hUrBv':_0x3d1365(0x1d0),'dndzD':_0x3d1365(0x1a2),'sGRoQ':'project','fQUbg':function(_0x1a40f7,_0x4620d9,_0x5b5c74){return _0x1a40f7(_0x4620d9,_0x5b5c74);},'qlJtL':_0x3d1365(0x1a7),'qEEDo':function(_0x2ceb57,_0x1e4dab){return _0x2ceb57 instanceof _0x1e4dab;},'ooPaO':'user-level','PWSqY':function(_0x3716ae,_0x57faa9){return _0x3716ae>_0x57faa9;},'xhpcw':_0x3d1365(0x1bf),'rreKX':_0x3d1365(0x1a6)};console['log'](_0x2a5d4d['KbIkY']);const _0x4741f2=_0x20e2a3[_0x3d1365(0x1bd)]??'claude',_0x599488=await getToken();if(!_0x599488){const _0x4250a2=_0x2a5d4d['FNOOn']['split']('|');let _0x3fc6d4=0x0;while(!![]){switch(_0x4250a2[_0x3fc6d4++]){case'0':console[_0x3d1365(0x1ad)](_0x3d1365(0x1ce));continue;case'1':console[_0x3d1365(0x1ad)](_0x2a5d4d['CPXpO']);continue;case'2':console[_0x3d1365(0x1ad)](_0x3d1365(0x1d1)+(_0x4741f2==='opencode'?_0x3d1365(0x1bb):'')+'\x0a');continue;case'3':console['log'](_0x3d1365(0x1ab)+(_0x2a5d4d[_0x3d1365(0x1c2)](_0x4741f2,_0x3d1365(0x1ca))?_0x3d1365(0x1bb):'')+_0x3d1365(0x1c3));continue;case'4':return;case'5':console['log']('\x20\x201.\x20Get\x20your\x20API\x20token\x20from\x20https://dashboard.ranger.net/cli');continue;}break;}}console['log'](_0x3d1365(0x1b2));const _0x1d0213=_0x2a5d4d['WIrGJ'](getProjectRoot),_0x413e7b=_0x2a5d4d[_0x3d1365(0x1c4)](basename,_0x1d0213),_0x517b5f=_0x4741f2===_0x2a5d4d[_0x3d1365(0x1ba)]?_0x2a5d4d[_0x3d1365(0x1c4)](getOpencodeConfigDir,_0x2a5d4d[_0x3d1365(0x1a8)])+_0x3d1365(0x1ae):getClaudeConfigDir()+_0x3d1365(0x1ae),_0x582aef=_0x2a5d4d['soExa'](_0x4741f2,_0x2a5d4d[_0x3d1365(0x1ba)])?_0x1d0213+'/.opencode/skills/':_0x1d0213+'/.claude/skills/',_0x58f5d0=process['stdin'][_0x3d1365(0x1c9)]&&process['stdout']['isTTY'];let _0x84b29a;if(_0x20e2a3[_0x3d1365(0x1a5)])_0x84b29a=_0x20e2a3[_0x3d1365(0x1a5)];else{if(_0x58f5d0){const _0x54d6a4=await _0x22af05['prompt']([{'type':_0x2a5d4d[_0x3d1365(0x1a9)],'name':_0x2a5d4d[_0x3d1365(0x1c8)],'message':_0x2a5d4d['dndzD'],'choices':[{'name':_0x3d1365(0x1c5)+_0x517b5f+')','value':_0x2a5d4d[_0x3d1365(0x1a8)]},{'name':_0x3d1365(0x1b6)+_0x582aef+')','value':_0x2a5d4d[_0x3d1365(0x1b0)]}]}]);_0x84b29a=_0x54d6a4['installLevel'];}else _0x84b29a=_0x3d1365(0x1cc),console['log'](_0x3d1365(0x1cb)+_0x582aef+')');}let _0x5afddf=0x0;const _0xa1bd44=getCurrentVersion();console[_0x3d1365(0x1ad)](_0x3d1365(0x1cf));try{const _0x1ef94d=await _0x2a5d4d['fQUbg'](installSkill,_0x2a5d4d['qlJtL'],{'cliVersion':_0xa1bd44,'level':_0x84b29a,'platform':_0x4741f2});_0x1ef94d&&_0x5afddf++;}catch(_0x1ac01b){console['warn'](_0x3d1365(0x1d4),_0x2a5d4d[_0x3d1365(0x1c1)](_0x1ac01b,Error)?_0x1ac01b[_0x3d1365(0x1be)]:_0x1ac01b);}if(_0x5afddf>0x0){const _0x2c5777=_0x84b29a===_0x2a5d4d[_0x3d1365(0x1a8)]?_0x2a5d4d['ooPaO']:_0x3d1365(0x1b3);console['log']('\x0a✅\x20Installed\x20'+_0x5afddf+'\x20'+_0x2c5777+'\x20skill'+(_0x2a5d4d[_0x3d1365(0x1c0)](_0x5afddf,0x1)?'s':'')+_0x3d1365(0x1a4)),!_0x20e2a3[_0x3d1365(0x1ac)]&&(console['log'](_0x2a5d4d[_0x3d1365(0x1aa)]),_0x4741f2==='opencode'?console['log']('\x20\x20-\x20Start\x20OpenCode\x20and\x20run\x20the\x20`ranger_enable`\x20tool\x20to\x20enable\x20hooks.'):console['log'](_0x3d1365(0x1b7)));}else console[_0x3d1365(0x1ad)](_0x2a5d4d[_0x3d1365(0x1bc)]);}
|
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
|
+
function _0x4e3f(){const _0x4ed56f=['\x0ascenarios\x20describing\x20what\x20to\x20verify\x20and\x20then\x20run\x20browser','isTTY','\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','NHnKC','log','You\x20will\x20need\x20to\x20install\x20it\x20before\x20using\x20Ranger:','YsXpC','1.58.2','2148951McmXAi','Ecncy','QcBjb','rRQIT','\x0aTo\x20verify\x20with\x20a\x20browser,\x20set\x20','skipAuth','/ranger:enable','\x0a\x20\x20config\x20uses\x20username+password).\x20Orgs\x20on\x20SSO/SAML/OAuth','with\x20scenarios\x20describing\x20what\x20to\x20verify\x20and\x20then\x20run\x20browser','stdin','660078ROmlAf','opencode','VkIkm','✓\x20Authenticated\x20to\x20','Installation\x20failed\x20with\x20exit\x20code\x20','user','\x20install\x20chromium','env','225pHkcjw','install','and\x20prompt\x20the\x20agent\x20like\x20usual.\x20Ranger\x20will\x20create\x20a\x20feature\x20review','1337280wCydsn','\x20now?','194256OBhJiu','6756DYRHeG','platform','ZHFVK','rUlcT','stdout','trackPhaseStart','192092vVBLBf','status','noIYV','\x0aNon-interactive\x20mode:\x20Auto-installing\x20Playwright\x20Chromium\x20','local','SEpzC','\x20when\x20the\x20org\x27s\x20login','Could\x20not\x20determine\x20local\x20Playwright\x20version.\x20Install\x20Playwright\x20Chromium\x20using\x20fallback\x20version\x20','✓\x20Local\x20profile\x20already\x20exists','RANGER_TEST_PASSWORD',')\x20of\x20the\x20Playwright\x20Chromium\x20browser\x20is\x20not\x20installed.\x20Install\x20it\x20now?','63379rwYrlx','skills','WXOHu','lykJH','auth','eJhwN','message','device_auth','\x20and\x20prompt\x20the\x20coding','url','24IolsCF','trackPhaseEnd','RwQmC','✓\x20Skipping\x20Chromium\x20check\x20(--skip-chromium)','zUbTU','NyeLt','YACxv','\x20for\x20explicit\x20profile\x20management).','skipChromium','\x0a✅\x20Ranger\x20setup\x20complete!\x0a','method','Authentication\x20failed:\x20','provided_token','\x0a🚀\x20Ranger\x20Setup\x0a','Failed\x20to\x20validate\x20provisioned\x20API\x20key:\x20','✓\x20Exported\x20credentials\x20for\x20CI','\x0aagent\x20like\x20usual.\x20Claude\x20will\x20create\x20a\x20feature\x20review\x20with','organizationName','\x0a❌\x20Failed\x20to\x20install\x20Chromium:','.gitignore','playwright@','✓\x20Skipping\x20authentication\x20(--skip-auth)','ranger','kHHsH','xJsIM','\x0aInstalling\x20Chromium\x20browser...\x0a','success','DxUpz','mhiea','rnxSI','\x1b[1m','QbeZv','\x0aIn\x20OpenCode,\x20enable\x20Ranger\x20hooks\x20(run\x20the\x20`ranger_enable`\x20tool)','scope','skipped','plugin','RANGER_TEST_USERNAME','✓\x20Already\x20authenticated\x20to\x20','UEjXE','error','profile','EXHBQ','kkwAC','confirm','wgksS'];_0x4e3f=function(){return _0x4ed56f;};return _0x4e3f();}const _0x247e97=_0x5490;(function(_0x5df38c,_0x9d36cb){const _0x3c6269=_0x5490,_0x2d6157=_0x5df38c();while(!![]){try{const _0x4a6936=parseInt(_0x3c6269(0x14b))/0x1+parseInt(_0x3c6269(0x140))/0x2+parseInt(_0x3c6269(0x134))/0x3*(-parseInt(_0x3c6269(0x13a))/0x4)+parseInt(_0x3c6269(0x137))/0x5+-parseInt(_0x3c6269(0x139))/0x6+-parseInt(_0x3c6269(0x122))/0x7+parseInt(_0x3c6269(0x155))/0x8*(parseInt(_0x3c6269(0x12c))/0x9);if(_0x4a6936===_0x9d36cb)break;else _0x2d6157['push'](_0x2d6157['shift']());}catch(_0x309597){_0x2d6157['push'](_0x2d6157['shift']());}}}(_0x4e3f,0x2c27f));import{mkdir,writeFile}from'fs/promises';import{join}from'path';import{existsSync}from'fs';import{createRequire}from'module';import{spawn}from'child_process';import _0x7f59bd from'inquirer';function _0x5490(_0x47dd6b,_0x2605a5){_0x47dd6b=_0x47dd6b-0x11f;const _0x4e3f3a=_0x4e3f();let _0x54907a=_0x4e3f3a[_0x47dd6b];return _0x54907a;}import{getToken,storeToken}from'./utils/keychain.js';import{getCurrentUser}from'./utils/userApi.js';import{chromium}from'playwright';import{addEnv}from'./addEnv.js';import{getRangerHomeDir,findGitRoot}from'./utils/rangerRoot.js';import{runDeviceAuthFlow}from'./utils/deviceAuth.js';import{findExistingEnv}from'./utils/settings.js';import{getCurrentVersion}from'./utils/version.js';import{ensureClaudePlugin,ensureClaudeSkills}from'./setup/claude.js';import{ensureOpencodePluginConfig}from'./setup/opencode.js';import{installSkill}from'./utils/skills.js';const require=createRequire(import.meta.url);export const PLAYWRIGHT_CHROMIUM_INSTALL_FALLBACK_VERSION=_0x247e97(0x121);const bold=_0x587ff9=>_0x247e97(0x173)+_0x587ff9+'\x1b[0m';export function getPlaywrightVersion(){const _0x3bac06=_0x247e97,_0x48e684={'ZHFVK':'playwright/package.json'};try{const _0x27b8ff=require['resolve'](_0x48e684[_0x3bac06(0x13c)]),_0xbfb1ce=require(_0x27b8ff);return _0xbfb1ce['version'];}catch{return null;}}export function installChromiumBinary(_0x499dbd,_0x352f42=![]){const _0x252102=_0x247e97,_0x408675={'ITNdJ':function(_0x55efcc,_0x32d384){return _0x55efcc===_0x32d384;},'HdXZZ':_0x252102(0x135),'gmOxn':'chromium','kHHsH':function(_0x290931,_0x186e91,_0x38d8fe,_0x1c1edd){return _0x290931(_0x186e91,_0x38d8fe,_0x1c1edd);},'ueVcz':'ignore','eJhwN':function(_0x4f8e30,_0xd7efcc){return _0x4f8e30===_0xd7efcc;},'PDgIy':'error'};return new Promise((_0x547abb,_0x425f94)=>{const _0x29c33c=_0x252102,_0x5549d8=[_0x29c33c(0x169)+_0x499dbd,_0x408675['HdXZZ'],..._0x352f42?['--with-deps']:[],_0x408675['gmOxn']],_0x3d9e66=_0x408675[_0x29c33c(0x16c)](spawn,'npx',_0x5549d8,{'stdio':[_0x408675['ueVcz'],'inherit','inherit'],'shell':_0x408675[_0x29c33c(0x150)](process[_0x29c33c(0x13b)],'win32')});_0x3d9e66['on']('close',_0x47f646=>{const _0x5acaed=_0x29c33c;_0x408675['ITNdJ'](_0x47f646,0x0)?_0x547abb():_0x425f94(new Error(_0x5acaed(0x130)+_0x47f646));}),_0x3d9e66['on'](_0x408675['PDgIy'],_0x154580=>{_0x425f94(_0x154580);});});}export async function authenticate(_0x2c6f25){const _0x34b0ab=_0x247e97,_0x458925={'VkIkm':function(_0x5e11b9,_0x19ef5e){return _0x5e11b9 instanceof _0x19ef5e;},'SeglX':'Validating\x20API\x20token...','wgksS':function(_0x482f9e,_0xd6bdeb){return _0x482f9e(_0xd6bdeb);},'NyeLt':_0x34b0ab(0x164),'rUlcT':_0x34b0ab(0x161)};if(!_0x2c6f25){const _0x51d72f=await getToken();if(_0x51d72f){const _0x236daa=await getCurrentUser(_0x51d72f);if(_0x236daa[_0x34b0ab(0x16f)])return console['log'](_0x34b0ab(0x17a)+_0x236daa[_0x34b0ab(0x131)][_0x34b0ab(0x166)]),{'token':_0x51d72f,'method':'existing_token'};}try{_0x2c6f25=await runDeviceAuthFlow();}catch(_0x31d9a5){throw new Error(_0x34b0ab(0x160)+(_0x458925[_0x34b0ab(0x12e)](_0x31d9a5,Error)?_0x31d9a5[_0x34b0ab(0x151)]:_0x31d9a5));}const _0x367c74=await getCurrentUser(_0x2c6f25);if(!_0x367c74['success'])throw new Error(_0x34b0ab(0x163)+_0x367c74[_0x34b0ab(0x17c)]);return console['log'](_0x34b0ab(0x12f)+_0x367c74[_0x34b0ab(0x131)][_0x34b0ab(0x166)]),{'token':_0x2c6f25,'method':_0x34b0ab(0x152)};}console['log'](_0x458925['SeglX']);const _0x362ab8=await _0x458925[_0x34b0ab(0x181)](getCurrentUser,_0x2c6f25);if(!_0x362ab8[_0x34b0ab(0x16f)]){if(_0x362ab8[_0x34b0ab(0x141)])throw new Error(_0x34b0ab(0x160)+_0x362ab8['error']+'.\x20Please\x20check\x20your\x20API\x20token\x20and\x20try\x20again.');else throw new Error('Failed\x20to\x20connect\x20to\x20MCP\x20server:\x20'+_0x362ab8['error']+'.\x20Please\x20check\x20your\x20network\x20connection\x20and\x20server\x20URL.');}return console['log'](_0x34b0ab(0x12f)+_0x362ab8['user']['organizationName']),await storeToken(_0x2c6f25),console[_0x34b0ab(0x186)](process[_0x34b0ab(0x133)]['GITHUB_ENV']?_0x458925[_0x34b0ab(0x15a)]:'✓\x20Stored\x20credentials\x20locally'),{'token':_0x2c6f25,'method':_0x458925[_0x34b0ab(0x13d)]};}export async function ensureRangerDir(_0x59114e){const _0x4c1ff4=_0x247e97,_0x1ffdd0={'MaakV':function(_0x1877d8,_0x17fe95){return _0x1877d8(_0x17fe95);},'XXDvQ':'✓\x20~/.ranger/\x20directory\x20already\x20exists'};void _0x59114e;const _0x1a31bb=getRangerHomeDir();return!_0x1ffdd0['MaakV'](existsSync,_0x1a31bb)?(await mkdir(_0x1a31bb,{'recursive':!![]}),console[_0x4c1ff4(0x186)]('✓\x20Created\x20~/.ranger/\x20directory'),{'path':_0x1a31bb,'installed':!![]}):(console[_0x4c1ff4(0x186)](_0x1ffdd0['XXDvQ']),{'path':_0x1a31bb,'installed':![]});}export async function ensureChromium(_0x4e0f87=![]){const _0x5c96b0=_0x247e97,_0x3053cb={'rRQIT':function(_0x2da40d,_0x574288){return _0x2da40d(_0x574288);},'lpIls':function(_0x34b914,_0x5ba43b){return _0x34b914??_0x5ba43b;},'sNUoS':_0x5c96b0(0x135),'zUbTU':_0x5c96b0(0x16e),'eiiNp':function(_0x4b77a5,_0x4871f,_0xf819ac){return _0x4b77a5(_0x4871f,_0xf819ac);},'SEpzC':'\x0a✓\x20Playwright\x20Chromium\x20installed\x20successfully','DxUpz':_0x5c96b0(0x167),'Bzxlk':function(_0x125dee,_0x3a8ca8){return _0x125dee instanceof _0x3a8ca8;},'VCqlx':'You\x20can\x20install\x20it\x20manually\x20by\x20running:','QbeZv':'\x0a⚠\x20Skipping\x20Chromium\x20installation.'};let _0x491dfc=![];try{const _0xcbb870=chromium['executablePath']();_0x491dfc=_0x3053cb[_0x5c96b0(0x125)](existsSync,_0xcbb870);}catch{_0x491dfc=![];}if(_0x491dfc)return console['log']('✓\x20Playwright\x20Chromium\x20browser\x20found'),![];const _0x36640f=getPlaywrightVersion(),_0x52eee3=_0x3053cb['lpIls'](_0x36640f,PLAYWRIGHT_CHROMIUM_INSTALL_FALLBACK_VERSION),_0x1bb52f=!_0x36640f,_0xb56a24=process[_0x5c96b0(0x12b)][_0x5c96b0(0x183)]&&process[_0x5c96b0(0x13e)][_0x5c96b0(0x183)];let _0x2193e5=!![];if(_0xb56a24){const {install:_0x46d3b9}=await _0x7f59bd['prompt']([{'type':_0x5c96b0(0x180),'name':_0x3053cb['sNUoS'],'message':_0x1bb52f?_0x5c96b0(0x147)+_0x52eee3+_0x5c96b0(0x138):'The\x20required\x20version\x20('+_0x52eee3+_0x5c96b0(0x14a),'default':!![]}]);_0x2193e5=_0x46d3b9;}else console['log'](_0x5c96b0(0x143)+_0x52eee3+(_0x1bb52f?'\x20(fallback\x20version)':'')+'...');if(_0x2193e5){console['log'](_0x3053cb[_0x5c96b0(0x159)]);try{await _0x3053cb['eiiNp'](installChromiumBinary,_0x52eee3,_0x4e0f87),console[_0x5c96b0(0x186)](_0x3053cb[_0x5c96b0(0x145)]);}catch(_0x429929){console[_0x5c96b0(0x17c)](_0x3053cb[_0x5c96b0(0x170)],_0x3053cb['Bzxlk'](_0x429929,Error)?_0x429929[_0x5c96b0(0x151)]:_0x429929),console['log'](_0x3053cb['VCqlx']),console[_0x5c96b0(0x186)]('\x20\x20npx\x20playwright@'+_0x52eee3+_0x5c96b0(0x132));}}else console['log'](_0x3053cb[_0x5c96b0(0x174)]),console[_0x5c96b0(0x186)](_0x5c96b0(0x11f)),console[_0x5c96b0(0x186)]('\x20\x20npx\x20playwright@'+_0x52eee3+'\x20install\x20chromium');return!![];}export async function writeRangerGitignore(_0x545e68){const _0x3e0235=_0x247e97,_0x11493d=join(_0x545e68,_0x3e0235(0x168)),_0x172fd2=_0x3e0235(0x184);await writeFile(_0x11493d,_0x172fd2),console[_0x3e0235(0x186)]('✓\x20Created\x20.ranger/.gitignore');}export async function ensureLocalEnv(_0x474afa,_0x3a8f28){const _0x3e6b8a=_0x247e97,_0x3a1775={'mJfku':_0x3e6b8a(0x131),'noIYV':'⚠\x20No\x20git\x20repository\x20found.\x20Re-run\x20with\x20`--scope\x20user`\x20to\x20store\x20the\x20profile\x20at\x20~/.ranger/.','xJsIM':function(_0x3b10af,_0x683bfb,_0x3f48f5){return _0x3b10af(_0x683bfb,_0x3f48f5);},'FEdpE':'local','EXHBQ':_0x3e6b8a(0x148),'wzfiD':function(_0x23ac1d,_0x57b13d,_0x9957c8,_0x5aa39b){return _0x23ac1d(_0x57b13d,_0x9957c8,_0x5aa39b);},'KVych':function(_0x3fffa6,_0x1d9d30){return _0x3fffa6 instanceof _0x1d9d30;}};if(!findGitRoot()&&_0x474afa?.['scope']!==_0x3a1775['mJfku'])return console[_0x3e6b8a(0x186)](_0x3a1775[_0x3e6b8a(0x142)]),{'ready':![],'skipped':!![]};const _0x2e1680=_0x474afa?.['scope']==='user'?getRangerHomeDir():undefined;if(_0x3a1775[_0x3e6b8a(0x16d)](findExistingEnv,_0x3e6b8a(0x144),{'locations':[_0x3a1775['FEdpE']],'rangerDir':_0x2e1680}))return console['log'](_0x3a1775[_0x3e6b8a(0x17e)]),{'ready':!![],'skipped':![]};try{return await _0x3a1775['wzfiD'](addEnv,'local',{'url':_0x474afa?.['url'],'force':_0x474afa?.['force'],'allowInsecureLocalhost':_0x474afa?.['allowInsecureLocalhost'],'scope':_0x474afa?.['scope']},_0x3a8f28),{'ready':!![],'skipped':![]};}catch(_0x1888e6){return console[_0x3e6b8a(0x17c)]('\x0a❌\x20Profile\x20setup\x20failed:',_0x3a1775['KVych'](_0x1888e6,Error)?_0x1888e6['message']:_0x1888e6),{'ready':![],'skipped':![]};}}export async function start(_0x1a24c8,_0x109d2f,_0x374f54){const _0x4bbfa2=_0x247e97,_0x19641f={'QigZa':_0x4bbfa2(0x131),'lykJH':function(_0x37d603,_0x4694f7){return _0x37d603(_0x4694f7);},'rnxSI':_0x4bbfa2(0x16a),'eAgxC':_0x4bbfa2(0x177),'tEpJp':_0x4bbfa2(0x14f),'RwQmC':'chromium','YACxv':function(_0x352809,_0x24fe6a){return _0x352809(_0x24fe6a);},'NHnKC':'plugin','mhiea':'\x20\x20Failed\x20to\x20install\x20OpenCode\x20skill:','WXOHu':_0x4bbfa2(0x14c),'GCmNg':function(_0xcd4ff4,_0x47b99d,_0x898f3a){return _0xcd4ff4(_0x47b99d,_0x898f3a);},'QcBjb':'profile','APGmz':function(_0x5e2c82,_0x4eb5f6){return _0x5e2c82+_0x4eb5f6;},'kgpjS':function(_0x2f41aa,_0x65ffbc){return _0x2f41aa+_0x65ffbc;},'kkwAC':_0x4bbfa2(0x179),'mhXjd':function(_0x51f48a,_0x198974){return _0x51f48a(_0x198974);},'UEjXE':'ranger\x20profile\x20add','Ecncy':_0x4bbfa2(0x175),'YsXpC':'verification\x20to\x20check\x20its\x20work\x20as\x20it\x20builds.','JmiHa':function(_0x55e425,_0x1baef9){return _0x55e425+_0x1baef9;}};console['log'](_0x4bbfa2(0x162)),_0x109d2f={..._0x109d2f,'scope':_0x19641f['QigZa']};const _0xe57d26=!_0x19641f['lykJH'](existsSync,getRangerHomeDir());await ensureRangerDir(_0x4bbfa2(0x131));if(_0x109d2f?.['skipAuth'])console[_0x4bbfa2(0x186)](_0x19641f[_0x4bbfa2(0x172)]),_0x374f54?.['trackPhaseEnd']('auth',{'isFirstRun':_0xe57d26,'method':_0x19641f['eAgxC']});else{_0x374f54?.['trackPhaseStart'](_0x4bbfa2(0x14f));const _0x652f48=await authenticate(_0x1a24c8);_0x374f54?.[_0x4bbfa2(0x156)](_0x19641f['tEpJp'],{'isFirstRun':_0xe57d26,'method':_0x652f48[_0x4bbfa2(0x15f)]});}_0x374f54?.['trackPhaseStart'](_0x19641f['RwQmC']);_0x109d2f?.[_0x4bbfa2(0x15d)]?console['log'](_0x4bbfa2(0x158)):await ensureChromium(_0x109d2f?.['withDeps']);_0x374f54?.[_0x4bbfa2(0x156)](_0x19641f[_0x4bbfa2(0x157)],{'isFirstRun':_0xe57d26,'skipped':!!_0x109d2f?.[_0x4bbfa2(0x15d)]}),console['log'](_0x4bbfa2(0x15e));const _0x9bf6aa=_0x109d2f?.[_0x4bbfa2(0x176)],_0x507f5f=_0x109d2f?.[_0x4bbfa2(0x12d)]??![];let _0x31f562=null;_0x507f5f?(_0x374f54?.['trackPhaseStart'](_0x4bbfa2(0x178)),_0x31f562=await _0x19641f[_0x4bbfa2(0x15b)](ensureOpencodePluginConfig,_0x9bf6aa),_0x374f54?.['trackPhaseEnd']('plugin',{'isFirstRun':_0xe57d26,'opencode':!![]})):(_0x374f54?.[_0x4bbfa2(0x13f)](_0x19641f[_0x4bbfa2(0x185)]),await ensureClaudePlugin(_0x9bf6aa),_0x374f54?.[_0x4bbfa2(0x156)](_0x4bbfa2(0x178),{'isFirstRun':_0xe57d26}));if(_0x507f5f&&_0x31f562){_0x374f54?.['trackPhaseStart'](_0x4bbfa2(0x14c));try{await installSkill(_0x4bbfa2(0x16b),{'level':_0x31f562[_0x4bbfa2(0x176)],'cliVersion':getCurrentVersion(),'platform':'opencode'}),_0x374f54?.[_0x4bbfa2(0x156)](_0x4bbfa2(0x14c),{'isFirstRun':_0xe57d26,'opencode':!![]});}catch(_0x2dd33a){console['warn'](_0x19641f[_0x4bbfa2(0x171)],_0x2dd33a instanceof Error?_0x2dd33a[_0x4bbfa2(0x151)]:_0x2dd33a),_0x374f54?.[_0x4bbfa2(0x156)](_0x4bbfa2(0x14c),{'isFirstRun':_0xe57d26,'opencode':!![],'failed':!![]});}}else _0x374f54?.['trackPhaseStart'](_0x19641f[_0x4bbfa2(0x14d)]),await ensureClaudeSkills(_0x9bf6aa),_0x374f54?.[_0x4bbfa2(0x156)](_0x19641f[_0x4bbfa2(0x14d)],{'isFirstRun':_0xe57d26});if(_0x109d2f?.[_0x4bbfa2(0x127)])console[_0x4bbfa2(0x186)]('\x0aSkipping\x20profile\x20setup\x20(--skip-auth).\x20Run\x20`ranger\x20setup`\x20with\x20auth\x20to\x20add\x20a\x20profile\x20later.\x0a');else{if(_0x109d2f?.[_0x4bbfa2(0x154)]){_0x374f54?.[_0x4bbfa2(0x13f)](_0x4bbfa2(0x17d));const _0x664a81=await _0x19641f['GCmNg'](ensureLocalEnv,{'url':_0x109d2f[_0x4bbfa2(0x154)],'force':_0x109d2f?.['force'],'allowInsecureLocalhost':_0x109d2f?.['allowInsecureLocalhost'],'scope':'user'},_0x374f54);_0x374f54?.['trackPhaseEnd'](_0x19641f[_0x4bbfa2(0x124)],{'isFirstRun':_0xe57d26,'profileReady':_0x664a81['ready'],'userSkipped':_0x664a81[_0x4bbfa2(0x177)]});}else console['log'](_0x19641f['APGmz'](_0x19641f['kgpjS'](_0x4bbfa2(0x126)+_0x19641f[_0x4bbfa2(0x14e)](bold,_0x19641f[_0x4bbfa2(0x17f)])+'\x20'+('(and\x20'+_0x19641f['YACxv'](bold,_0x4bbfa2(0x149))+_0x4bbfa2(0x146))+_0x4bbfa2(0x129),'\x20may\x20need\x20a\x20one-time\x20headed\x20login\x20instead\x20—'),'\x0a\x20\x20your\x20org\x27s\x20auth\x20config\x20drives\x20which\x20flow\x20runs.')),console[_0x4bbfa2(0x186)]('\x20\x20(or\x20use\x20'+_0x19641f['mhXjd'](bold,_0x19641f[_0x4bbfa2(0x17b)])+_0x4bbfa2(0x15c));}if(_0x507f5f)console[_0x4bbfa2(0x186)](_0x19641f[_0x4bbfa2(0x123)]),console['log'](_0x4bbfa2(0x136)),console[_0x4bbfa2(0x186)](_0x4bbfa2(0x12a)),console[_0x4bbfa2(0x186)](_0x19641f[_0x4bbfa2(0x120)]);else{const _0x5bf96c=bold(_0x4bbfa2(0x128));console[_0x4bbfa2(0x186)](_0x19641f['JmiHa']('\x0aIn\x20Claude\x20Code,\x20run\x20'+_0x5bf96c+_0x4bbfa2(0x153),_0x4bbfa2(0x165))+_0x4bbfa2(0x182)+'\x0averification\x20to\x20check\x20its\x20work\x20as\x20it\x20builds.');}}
|