@ranger-testing/ranger-cli 2.5.4-alpha.0e8b82c-9 → 2.5.4-alpha.1b80607-25
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +36 -14
- package/build/cli.js +1 -1
- package/build/commands/addEnv.js +1 -1
- package/build/commands/authEncrypt.js +1 -1
- package/build/commands/clean.js +1 -1
- package/build/commands/config.js +1 -1
- package/build/commands/deleteProfile.js +1 -0
- package/build/commands/env.js +1 -1
- package/build/commands/feature.js +1 -1
- package/build/commands/hook.js +1 -1
- package/build/commands/hooks/autoPrompt.js +1 -1
- package/build/commands/hooks/disable.js +1 -1
- package/build/commands/hooks/enable.js +1 -1
- package/build/commands/hooks/exitPlanMode.js +1 -1
- package/build/commands/hooks/index.js +1 -1
- package/build/commands/hooks/output.js +1 -1
- package/build/commands/hooks/planReminder.js +1 -1
- package/build/commands/hooks/planStart.js +1 -1
- package/build/commands/hooks/postEdit.js +1 -1
- package/build/commands/hooks/preCompact.js +1 -1
- package/build/commands/hooks/sessionEnd.js +1 -1
- package/build/commands/hooks/sessionStart.js +1 -1
- package/build/commands/hooks/stopHook.js +1 -1
- package/build/commands/index.js +1 -1
- package/build/commands/login.js +1 -1
- package/build/commands/mcpBootstrap.js +1 -1
- package/build/commands/migrateProfile.js +1 -1
- package/build/commands/setup/claude.js +1 -1
- package/build/commands/setup/opencode.js +1 -1
- package/build/commands/setupCi.js +1 -1
- package/build/commands/skillup.js +1 -1
- package/build/commands/start.js +1 -1
- package/build/commands/status.js +1 -1
- package/build/commands/update.js +1 -1
- package/build/commands/updateEnv.js +1 -1
- package/build/commands/useEnv.js +1 -1
- package/build/commands/utils/activeProfile.js +1 -1
- package/build/commands/utils/agentEnv.js +1 -1
- package/build/commands/utils/browserSessionsApi.js +1 -1
- package/build/commands/utils/claudeConfig.js +1 -1
- package/build/commands/utils/claudeOverrideSettings.js +1 -1
- package/build/commands/utils/claudePlugin.js +1 -1
- package/build/commands/utils/cloudProfile.js +1 -1
- package/build/commands/utils/cloudProfileSession.js +1 -1
- package/build/commands/utils/crypto.js +1 -1
- package/build/commands/utils/desirePathLog.js +1 -1
- package/build/commands/utils/deviceAuth.js +1 -1
- package/build/commands/utils/environment.js +1 -1
- package/build/commands/utils/featureApi.js +1 -1
- package/build/commands/utils/fixWebmDuration.js +1 -1
- package/build/commands/utils/gitTracked.js +1 -1
- package/build/commands/utils/keychain.js +1 -1
- package/build/commands/utils/legacyWarning.js +1 -0
- package/build/commands/utils/localAgentInstallationsApi.js +1 -1
- package/build/commands/utils/matchAuthEnvironment.js +1 -1
- package/build/commands/utils/mcpImageBase64.js +1 -1
- package/build/commands/utils/model.js +1 -1
- package/build/commands/utils/novaActCli.js +1 -0
- package/build/commands/utils/opencodeConfig.js +1 -1
- package/build/commands/utils/playwrightCli.js +1 -1
- package/build/commands/utils/profileMessages.js +1 -1
- package/build/commands/utils/profileSetupBanner.js +1 -1
- package/build/commands/utils/projectsConfig.js +1 -1
- package/build/commands/utils/rangerConfig.js +1 -1
- package/build/commands/utils/rangerRoot.js +1 -1
- package/build/commands/utils/resolveProfileContext.js +1 -1
- package/build/commands/utils/resolveProfileUrl.js +1 -1
- package/build/commands/utils/retry.js +1 -1
- package/build/commands/utils/sessionCache.js +1 -1
- package/build/commands/utils/settings.js +1 -1
- package/build/commands/utils/skillContent.js +1 -1
- package/build/commands/utils/skills.js +1 -1
- package/build/commands/utils/stitchWebmFiles.js +1 -1
- package/build/commands/utils/telemetry.js +1 -1
- package/build/commands/utils/tokenRefresh.js +1 -1
- package/build/commands/utils/traceSnapshotMapper.js +1 -1
- package/build/commands/utils/userApi.js +1 -1
- package/build/commands/utils/version.js +1 -1
- package/build/commands/verifyFeature.js +1 -1
- package/build/commands/verifyFeatureCli.js +1 -1
- package/build/commands/verifyFeatureNovaCli.js +1 -0
- package/build/skills/ranger/SKILL.md +24 -8
- package/build/skills/ranger/create.md +16 -3
- package/build/skills/ranger/verify.md +35 -10
- package/package.json +3 -2
package/build/commands/login.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
(function(_0x9abdcc,_0xa2e479){const _0x135855=_0x1032,_0x4fd46e=_0x9abdcc();while(!![]){try{const _0x4f4be5=-parseInt(_0x135855(0x1a1))/0x1+-parseInt(_0x135855(0x1aa))/0x2+-parseInt(_0x135855(0x1a3))/0x3*(parseInt(_0x135855(0x1ae))/0x4)+-parseInt(_0x135855(0x1a7))/0x5+parseInt(_0x135855(0x1ab))/0x6*(parseInt(_0x135855(0x1b0))/0x7)+-parseInt(_0x135855(0x1ac))/0x8+parseInt(_0x135855(0x1b1))/0x9;if(_0x4f4be5===_0xa2e479)break;else _0x4fd46e['push'](_0x4fd46e['shift']());}catch(_0x10eae7){_0x4fd46e['push'](_0x4fd46e['shift']());}}}(_0x274d,0x34435));import{runDeviceAuthFlow}from'./utils/deviceAuth.js';import{getCurrentUser}from'./utils/userApi.js';import{getMcpAuthOrigin,mcpBootstrap}from'./mcpBootstrap.js';function _0x274d(){const _0x3df43e=['4AxwCHo','ZAXRJ','7UNCAKk','8914392alZmoE','message','Login\x20failed:\x20','HkuFb','179445FiVYTA','user','1000920HCWUtK','success','Login\x20requires\x20an\x20interactive\x20terminal.\x20In\x20CI,\x20use:\x20ranger\x20setup\x20[token]\x20or\x20set\x20RANGER_CLI_TOKEN.','\x0a✅\x20Logged\x20in\x20to\x20','905655LtmNYm','Re-authenticating\x20via\x20MCP\x20bootstrap...','log','599894WihRUO','1575426SWHDuV','358616TKukzK','JyrAR'];_0x274d=function(){return _0x3df43e;};return _0x274d();}import{isInteractive}from'./utils/cloudProfileSession.js';function _0x1032(_0x101a47,_0x5959bf){_0x101a47=_0x101a47-0x1a0;const _0x274d11=_0x274d();let _0x103255=_0x274d11[_0x101a47];return _0x103255;}export async function login(){const _0x1b4b15=_0x1032,_0x31ec44={'HkuFb':function(_0x14f4dc){return _0x14f4dc();},'JyrAR':function(_0x58adbb,_0x4a68aa){return _0x58adbb(_0x4a68aa);},'Rfkik':'\x0a✅\x20API\x20key\x20stored\x20successfully','ZAXRJ':function(_0x95e8a2,_0x3e6c80){return _0x95e8a2 instanceof _0x3e6c80;}},_0x15287e=await getMcpAuthOrigin();if(_0x15287e){console[_0x1b4b15(0x1a9)](_0x1b4b15(0x1a8)),await _0x31ec44[_0x1b4b15(0x1a0)](mcpBootstrap);return;}if(!isInteractive())throw new Error(_0x1b4b15(0x1a5));try{const _0x54da1c=await runDeviceAuthFlow(),_0x1d5229=await _0x31ec44[_0x1b4b15(0x1ad)](getCurrentUser,_0x54da1c);_0x1d5229[_0x1b4b15(0x1a4)]?console['log'](_0x1b4b15(0x1a6)+_0x1d5229[_0x1b4b15(0x1a2)]['organizationName']):console['log'](_0x31ec44['Rfkik']);}catch(_0x161e95){throw new Error(_0x1b4b15(0x1b3)+(_0x31ec44[_0x1b4b15(0x1af)](_0x161e95,Error)?_0x161e95[_0x1b4b15(0x1b2)]:_0x161e95));}}
|
|
@@ -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 _0x3bd94e=_0x73f1;(function(_0x153b71,_0x475614){const _0x5e789f=_0x73f1,_0x2f258a=_0x153b71();while(!![]){try{const _0x2f3916=parseInt(_0x5e789f(0x22c))/0x1+parseInt(_0x5e789f(0x241))/0x2+parseInt(_0x5e789f(0x206))/0x3*(parseInt(_0x5e789f(0x1b5))/0x4)+-parseInt(_0x5e789f(0x21f))/0x5+-parseInt(_0x5e789f(0x208))/0x6*(-parseInt(_0x5e789f(0x229))/0x7)+-parseInt(_0x5e789f(0x1d7))/0x8*(-parseInt(_0x5e789f(0x22f))/0x9)+-parseInt(_0x5e789f(0x1c2))/0xa;if(_0x2f3916===_0x475614)break;else _0x2f258a['push'](_0x2f258a['shift']());}catch(_0x318341){_0x2f258a['push'](_0x2f258a['shift']());}}}(_0x26e0,0x1fb0a));import{mkdir,writeFile,readFile}from'fs/promises';import{join}from'path';import{homedir}from'os';import{createServer}from'http';import{randomBytes,createHash}from'crypto';import{exec}from'child_process';import{getMcpAuthUrl}from'./utils/environment.js';const CALLBACK_PORT=0x4d78,TOKEN_CACHE_PATH=join(homedir(),'.ranger',_0x3bd94e(0x1e6)),AUTH_ORIGIN_PATH=join(homedir(),'.ranger',_0x3bd94e(0x212));export async function getMcpAuthOrigin(){const _0x283746=_0x3bd94e,_0x192e18={'Dghgm':'utf-8'};try{const _0x2153db=(await readFile(AUTH_ORIGIN_PATH,_0x192e18[_0x283746(0x20a)]))[_0x283746(0x218)]();return _0x2153db||null;}catch{return null;}}export async function mcpBootstrap(){const _0x3405c8=_0x3bd94e,_0x578276={'wTaHR':function(_0x29d3df){return _0x29d3df();},'yyAld':function(_0x56843a,_0x40601e){return _0x56843a(_0x40601e);},'Ltbox':function(_0x1973b4,_0x420784){return _0x1973b4===_0x420784;},'Gqkbk':_0x3405c8(0x23d),'KspyX':function(_0x198799){return _0x198799();},'qeaPa':_0x3405c8(0x1e5)},_0xf986ec=_0x578276['wTaHR'](getMcpAuthUrl);currentOrigin=_0xf986ec;const _0x26f3ba=process[_0x3405c8(0x1bc)][_0x3405c8(0x1f3)]??![];console['log']('\x0aConnecting\x20to\x20MCP\x20auth\x20server:\x20'+_0xf986ec+'\x0a');const _0x20ed0d=await _0x578276['yyAld'](tryUnauthenticated,_0xf986ec);let _0x3a0fbc=null;if(_0x578276['Ltbox'](_0x20ed0d,_0x578276['Gqkbk']))_0x3a0fbc='';else{_0x3a0fbc=await _0x578276['KspyX'](loadCachedToken);if(!_0x3a0fbc){if(!_0x26f3ba)throw new Error(_0x3405c8(0x21c)+_0x578276[_0x3405c8(0x1df)]);_0x3a0fbc=await oauthFlow(_0xf986ec);}}await callGetCliToken(_0xf986ec,_0x3a0fbc);}async function tryUnauthenticated(_0x438df8){const _0x30166a=_0x3bd94e,_0x579c7f={'CXPlH':_0x30166a(0x1ec),'MTKWN':'2.0','WtHJc':_0x30166a(0x1b7),'RBPDk':_0x30166a(0x226),'dbVxj':'needs-oauth'},_0x4e58af=await fetch(_0x438df8,{'method':_0x30166a(0x237),'headers':{'Content-Type':_0x30166a(0x20c),'Accept':_0x579c7f[_0x30166a(0x220)]},'body':JSON['stringify']({'jsonrpc':_0x579c7f['MTKWN'],'id':0x1,'method':_0x579c7f[_0x30166a(0x215)],'params':{'protocolVersion':'2025-03-26','capabilities':{},'clientInfo':{'name':'ranger-cli','version':_0x579c7f[_0x30166a(0x1cb)]}}})});if(_0x4e58af['ok'])return await _0x4e58af[_0x30166a(0x1e4)](),'proxied';if(_0x4e58af['status']===0x191)return await _0x4e58af['text'](),_0x579c7f[_0x30166a(0x1de)];const _0x19ac27=await _0x4e58af['text']();throw new Error(_0x30166a(0x22a)+_0x4e58af[_0x30166a(0x1c5)]+':\x20'+_0x19ac27);}class OAuthTimeoutError extends Error{constructor(_0x42fa33){const _0x21bc29=_0x3bd94e,_0x536162={'cbBTJ':_0x21bc29(0x1ca)};super(_0x42fa33),this['name']=_0x536162['cbBTJ'];}}async function oauthFlow(_0x19ba15){const _0x5ea207=_0x3bd94e,_0x157622={'EcvMv':function(_0x280797,_0x1d75c9){return _0x280797(_0x1d75c9);},'PhJeV':function(_0x472d19){return _0x472d19();},'lOjxn':'\x0aCached\x20OAuth\x20client\x20may\x20be\x20stale\x20—\x20clearing\x20and\x20retrying...\x0a','RvTEG':function(_0x33837f,_0x1c9acb){return _0x33837f(_0x1c9acb);}};try{return await _0x157622['EcvMv'](oauthFlowAttempt,_0x19ba15);}catch(_0x2af267){if(_0x2af267 instanceof OAuthTimeoutError&&await _0x157622['PhJeV'](loadCachedClient))return console['log'](_0x157622[_0x5ea207(0x239)]),await _0x157622['PhJeV'](clearCachedClient),await _0x157622['RvTEG'](oauthFlowAttempt,_0x19ba15);throw _0x2af267;}}async function oauthFlowAttempt(_0x3fe284){const _0x1a1b67=_0x3bd94e,_0x425143={'FiDom':function(_0x39771a){return _0x39771a();},'xaErv':'Registering\x20OAuth\x20client...','SlthC':function(_0x1e1ace,_0x22d629,_0x3bf6c8){return _0x1e1ace(_0x22d629,_0x3bf6c8);},'bsAQf':_0x1a1b67(0x237),'LQvNH':_0x1a1b67(0x20c),'kfInO':_0x1a1b67(0x1ef),'iQoUi':'\x20done','RpEPX':function(_0x34e0ed,_0x265097){return _0x34e0ed(_0x265097);},'SGqUK':_0x1a1b67(0x207),'vsJfK':'response_type','SOdDh':'code','yNpZA':'redirect_uri','wYxan':_0x1a1b67(0x221),'UpJGF':_0x1a1b67(0x23b),'gBoga':_0x1a1b67(0x1f0),'OEExU':'client_secret','yEPQH':'application/x-www-form-urlencoded','HRuAa':function(_0x3260da,_0x4cea8f,_0x880b6f,_0x538887){return _0x3260da(_0x4cea8f,_0x880b6f,_0x538887);}},_0x2db3cd=_0x3fe284['replace'](/\/mcp$/,'');process[_0x1a1b67(0x1bc)][_0x1a1b67(0x20e)](_0x1a1b67(0x1ce));const _0x553e4b=await fetch(_0x2db3cd+_0x1a1b67(0x227));if(!_0x553e4b['ok'])throw new Error(_0x1a1b67(0x1c7));const _0x1f525a=await _0x553e4b[_0x1a1b67(0x20b)](),_0x4b8ed2=_0x1f525a[_0x1a1b67(0x22e)]?.[0x0];if(!_0x4b8ed2)throw new Error('No\x20authorization_servers\x20in\x20protected\x20resource\x20metadata');console[_0x1a1b67(0x1f2)]('\x20'+_0x4b8ed2);const _0x41e312=await fetchAuthServerMetadata(_0x4b8ed2);let _0x271597,_0x557a51;const _0x2c904d=await _0x425143['FiDom'](loadCachedClient);if(_0x2c904d)_0x271597=_0x2c904d['clientId'],_0x557a51=_0x2c904d['clientSecret'];else{if(_0x41e312[_0x1a1b67(0x219)]){process['stdout']['write'](_0x425143['xaErv']);const _0x67275c=await _0x425143[_0x1a1b67(0x1c8)](fetch,_0x41e312[_0x1a1b67(0x219)],{'method':_0x425143['bsAQf'],'headers':{'Content-Type':_0x425143['LQvNH']},'body':JSON[_0x1a1b67(0x22b)]({'client_name':_0x1a1b67(0x230),'redirect_uris':['http://localhost:'+CALLBACK_PORT+'/callback'],'grant_types':[_0x425143['kfInO'],_0x1a1b67(0x1dc)],'response_types':[_0x1a1b67(0x1dd)],'token_endpoint_auth_method':_0x1a1b67(0x20f)})});if(!_0x67275c['ok']){const _0x380ced=await _0x67275c[_0x1a1b67(0x1e4)]();throw new Error('Client\x20registration\x20failed:\x20'+_0x380ced);}const _0x5cab8f=await _0x67275c[_0x1a1b67(0x20b)]();_0x271597=_0x5cab8f[_0x1a1b67(0x1ea)],_0x557a51=_0x5cab8f['client_secret'],await _0x425143['SlthC'](saveCachedClient,_0x271597,_0x557a51),console['log'](_0x425143[_0x1a1b67(0x210)]);}else throw new Error(_0x1a1b67(0x1e0));}const _0x3fd533=_0x425143['RpEPX'](randomBytes,0x20)[_0x1a1b67(0x1e1)](_0x425143['SGqUK']),_0x4d8e95=_0x425143['RpEPX'](createHash,_0x1a1b67(0x1fb))[_0x1a1b67(0x232)](_0x3fd533)['digest']('base64url'),_0x1a75ff=_0x425143['RpEPX'](randomBytes,0x10)['toString']('hex'),_0x439a9c=new URL(_0x41e312[_0x1a1b67(0x23f)]);_0x439a9c[_0x1a1b67(0x201)][_0x1a1b67(0x234)](_0x425143['vsJfK'],_0x425143['SOdDh']),_0x439a9c['searchParams']['set']('client_id',_0x271597),_0x439a9c['searchParams'][_0x1a1b67(0x234)](_0x425143[_0x1a1b67(0x1d1)],'http://localhost:'+CALLBACK_PORT+_0x1a1b67(0x236)),_0x439a9c['searchParams'][_0x1a1b67(0x234)](_0x1a1b67(0x1d9),_0x4d8e95),_0x439a9c['searchParams'][_0x1a1b67(0x234)](_0x1a1b67(0x214),_0x425143['wYxan']),_0x439a9c['searchParams'][_0x1a1b67(0x234)](_0x425143['UpJGF'],_0x1a75ff);_0x1f525a['resource']&&_0x439a9c[_0x1a1b67(0x201)]['set'](_0x1a1b67(0x22d),_0x1f525a['resource']);console['log'](_0x425143[_0x1a1b67(0x213)]),console[_0x1a1b67(0x1f2)]('If\x20the\x20browser\x20doesn\x27t\x20open,\x20visit:\x0a'+_0x439a9c['toString']()+'\x0a'),await openBrowser(_0x439a9c['toString']());const _0x3ca4e8=await _0x425143['RpEPX'](waitForCallback,_0x1a75ff);process['stdout']['write']('Exchanging\x20authorization\x20code...');const _0x35ff06=new URLSearchParams({'grant_type':_0x425143[_0x1a1b67(0x222)],'code':_0x3ca4e8,'redirect_uri':_0x1a1b67(0x1c3)+CALLBACK_PORT+'/callback','client_id':_0x271597,'code_verifier':_0x3fd533});_0x557a51&&_0x35ff06[_0x1a1b67(0x234)](_0x425143[_0x1a1b67(0x21a)],_0x557a51);_0x1f525a['resource']&&_0x35ff06['set']('resource',_0x1f525a['resource']);const _0x44f457=await fetch(_0x41e312[_0x1a1b67(0x1cf)],{'method':_0x425143[_0x1a1b67(0x1ff)],'headers':{'Content-Type':_0x425143[_0x1a1b67(0x211)]},'body':_0x35ff06});if(!_0x44f457['ok']){const _0x9b07f3=await _0x44f457[_0x1a1b67(0x1e4)]();throw new Error(_0x1a1b67(0x224)+_0x9b07f3);}const _0x2972cb=await _0x44f457['json']();return console['log'](_0x425143[_0x1a1b67(0x210)]),await _0x425143[_0x1a1b67(0x1f9)](saveCachedToken,_0x2972cb['access_token'],_0x2972cb[_0x1a1b67(0x1dc)],_0x2972cb['expires_in']),_0x2972cb['access_token'];}async function callGetCliToken(_0x444de2,_0x2f3d9c){const _0x52bc3a=_0x3bd94e,_0x1684e1={'WHpla':_0x52bc3a(0x20c),'DBXKr':'application/json,\x20text/event-stream','ySnJJ':_0x52bc3a(0x231),'oPvvr':function(_0x5b3ded,_0x5e32e6){return _0x5b3ded(_0x5e32e6);},'DivPP':'2.0','YSEhn':'initialize','KROJL':'1.0.0','kmWZs':_0x52bc3a(0x1f8),'pmRuD':function(_0x5c1021,_0x4937ca,_0x4bb6e9){return _0x5c1021(_0x4937ca,_0x4bb6e9);},'whSzk':'POST','RQMya':'get_cli_token','efaJv':_0x52bc3a(0x1bf),'OeBYk':function(_0xf28bc){return _0xf28bc();},'Onvit':function(_0x257f68,_0x433334,_0x34fde2){return _0x257f68(_0x433334,_0x34fde2);},'MLmhc':function(_0x3226e6,_0x36c723,_0x3c2356,_0x5c2a72){return _0x3226e6(_0x36c723,_0x3c2356,_0x5c2a72);},'Tamcx':function(_0xd5da1d,_0x2b5b33,_0x5b3351){return _0xd5da1d(_0x2b5b33,_0x5b3351);},'qYjJr':_0x52bc3a(0x212)},_0x23f836={'Content-Type':_0x1684e1[_0x52bc3a(0x1b9)],'Accept':_0x1684e1['DBXKr']};_0x2f3d9c&&(_0x23f836[_0x1684e1[_0x52bc3a(0x1e3)]]='Bearer\x20'+_0x2f3d9c);const _0x5ae2de=async _0x2ac0f7=>{const _0x14ba16=_0x52bc3a,_0x49cd60=await fetch(_0x444de2,{'method':_0x14ba16(0x237),'headers':_0x23f836,'body':JSON['stringify'](_0x2ac0f7)});if(!_0x49cd60['ok']){const _0x16d143=await _0x49cd60['text']();throw new Error(_0x14ba16(0x1cd)+_0x49cd60['status']+':\x20'+_0x16d143);}return parseResponse(_0x49cd60);};process[_0x52bc3a(0x1bc)][_0x52bc3a(0x20e)](_0x52bc3a(0x1d4));const _0x4d9be7=await _0x1684e1['oPvvr'](_0x5ae2de,{'jsonrpc':_0x1684e1[_0x52bc3a(0x1bd)],'id':0x1,'method':_0x1684e1[_0x52bc3a(0x21b)],'params':{'protocolVersion':_0x52bc3a(0x1b6),'capabilities':{},'clientInfo':{'name':'ranger-cli','version':_0x1684e1[_0x52bc3a(0x209)]}}});if(_0x4d9be7['error'])throw new Error('MCP\x20initialize\x20failed:\x20'+(_0x4d9be7['error']['message']??JSON[_0x52bc3a(0x22b)](_0x4d9be7[_0x52bc3a(0x225)])));console[_0x52bc3a(0x1f2)](_0x1684e1[_0x52bc3a(0x20d)]),await _0x1684e1[_0x52bc3a(0x1f7)](fetch,_0x444de2,{'method':_0x1684e1[_0x52bc3a(0x1d3)],'headers':_0x23f836,'body':JSON[_0x52bc3a(0x22b)]({'jsonrpc':_0x1684e1['DivPP'],'method':'notifications/initialized'})})['then'](_0x4f1c15=>_0x4f1c15['text']()),process['stdout']['write']('Requesting\x20CLI\x20token...');const _0x56ccc9=await _0x5ae2de({'jsonrpc':_0x52bc3a(0x1d2),'id':0x2,'method':'tools/call','params':{'name':_0x1684e1['RQMya'],'arguments':{}}});if(_0x56ccc9[_0x52bc3a(0x225)])throw new Error('get_cli_token\x20failed:\x20'+(_0x56ccc9[_0x52bc3a(0x225)]['message']??JSON[_0x52bc3a(0x22b)](_0x56ccc9['error'])));console['log'](_0x52bc3a(0x1f8));const _0x32c5b2=extractToken(_0x56ccc9[_0x52bc3a(0x1e8)]);if(!_0x32c5b2){console['error']('\x0aUnexpected\x20response\x20structure:'),console[_0x52bc3a(0x225)](JSON['stringify'](_0x56ccc9['result'],null,0x2));throw new Error(_0x1684e1[_0x52bc3a(0x238)]);}const _0x721213=_0x1684e1['pmRuD'](join,_0x1684e1[_0x52bc3a(0x205)](homedir),_0x52bc3a(0x216)),_0x165098=_0x1684e1['Onvit'](join,_0x721213,'refresh.txt');await mkdir(_0x721213,{'recursive':!![]}),await _0x1684e1['MLmhc'](writeFile,_0x165098,_0x32c5b2,{'mode':0x180}),await _0x1684e1[_0x52bc3a(0x235)](writeFile,_0x1684e1[_0x52bc3a(0x1be)](join,_0x721213,_0x1684e1['qYjJr']),_0x444de2,{'mode':0x180}),console[_0x52bc3a(0x1f2)]('\x0aToken\x20written\x20to\x20'+_0x165098),console[_0x52bc3a(0x1f2)](_0x52bc3a(0x1e7));}async function fetchAuthServerMetadata(_0x150fee){const _0x35635d=_0x3bd94e,_0x2eaa5b={'ktSWD':function(_0x4d9f3f,_0x55cc36){return _0x4d9f3f(_0x55cc36);}},_0x1b261a=_0x150fee+_0x35635d(0x242),_0x35844=await _0x2eaa5b[_0x35635d(0x223)](fetch,_0x1b261a);if(!_0x35844['ok'])throw new Error('Could\x20not\x20fetch\x20auth\x20server\x20metadata\x20from\x20'+_0x1b261a+':\x20'+_0x35844['status']);return _0x35844['json']();}function waitForCallback(_0xd4b828){const _0x571b04=_0x3bd94e,_0x1a9742={'ABYwN':function(_0x3075e1){return _0x3075e1();},'eNPsJ':'OAuth\x20callback\x20timed\x20out\x20after\x202\x20minutes','hmhIA':_0x571b04(0x236),'NvImp':'error','eGkwg':function(_0x383664,_0x8bf758){return _0x383664(_0x8bf758);},'zIQLC':function(_0x384334,_0x2239ef){return _0x384334(_0x2239ef);}};return new Promise((_0x31e8bb,_0x21d7a5)=>{const _0x1cc929=_0x571b04,_0x23f98f={'NgKvV':_0x1a9742['hmhIA'],'TqvPD':_0x1cc929(0x1c1),'xhDPL':_0x1a9742[_0x1cc929(0x1fe)],'LWdGt':'error_description','KYpEA':'text/html','bTNaW':function(_0x3ec97f,_0xf6d761){const _0x2708c4=_0x1cc929;return _0x1a9742[_0x2708c4(0x1c4)](_0x3ec97f,_0xf6d761);},'rvItf':function(_0x261ef5){const _0x469b14=_0x1cc929;return _0x1a9742[_0x469b14(0x228)](_0x261ef5);},'TeMTW':function(_0x16a6f2,_0xc8c448){return _0x16a6f2(_0xc8c448);}},_0x26c1c0=()=>{const _0x20e46a=_0x1cc929;_0x29709b[_0x20e46a(0x1da)](),_0x29709b['close']();},_0x5a443a=setTimeout(()=>{const _0x2b02df=_0x1cc929;_0x1a9742['ABYwN'](_0x26c1c0),_0x21d7a5(new OAuthTimeoutError(_0x1a9742[_0x2b02df(0x1fd)]));},0x1d4c0),_0x29709b=_0x1a9742['zIQLC'](createServer,(_0x35d887,_0x41d181)=>{const _0x405e78=_0x1cc929,_0x3fd351=new URL(_0x35d887[_0x405e78(0x1db)]??'/','http://localhost:'+CALLBACK_PORT);if(_0x3fd351[_0x405e78(0x244)]!==_0x23f98f['NgKvV']){_0x41d181[_0x405e78(0x240)](0x194),_0x41d181['end'](_0x23f98f['TqvPD']);return;}const _0x1510d4=_0x3fd351[_0x405e78(0x201)][_0x405e78(0x1c6)](_0x405e78(0x1dd)),_0x26023e=_0x3fd351[_0x405e78(0x201)]['get'](_0x405e78(0x23b)),_0x217d28=_0x3fd351['searchParams'][_0x405e78(0x1c6)](_0x23f98f['xhDPL']);if(_0x217d28){const _0x509b54=_0x3fd351[_0x405e78(0x201)][_0x405e78(0x1c6)](_0x23f98f['LWdGt'])??_0x217d28;_0x41d181['writeHead'](0xc8,{'Content-Type':_0x23f98f['KYpEA']}),_0x41d181[_0x405e78(0x23a)]('<html><body><h2>Authentication\x20failed</h2><p>'+_0x509b54+'</p><p>You\x20can\x20close\x20this\x20window.</p></body></html>'),_0x23f98f[_0x405e78(0x1fa)](clearTimeout,_0x5a443a),_0x23f98f[_0x405e78(0x1e9)](_0x26c1c0),_0x23f98f['TeMTW'](_0x21d7a5,new Error('OAuth\x20error:\x20'+_0x509b54));return;}if(!_0x1510d4||_0x26023e!==_0xd4b828){_0x41d181[_0x405e78(0x240)](0x190,{'Content-Type':'text/html'}),_0x41d181[_0x405e78(0x23a)]('<html><body><h2>Invalid\x20callback</h2><p>Missing\x20code\x20or\x20state\x20mismatch.</p></body></html>');return;}_0x41d181['writeHead'](0xc8,{'Content-Type':'text/html'}),_0x41d181[_0x405e78(0x23a)]('<html><body><h2>Authenticated!</h2><p>You\x20can\x20close\x20this\x20window\x20and\x20return\x20to\x20the\x20terminal.</p></body></html>'),_0x23f98f['bTNaW'](clearTimeout,_0x5a443a),_0x26c1c0(),_0x31e8bb(_0x1510d4);});_0x29709b['listen'](CALLBACK_PORT,'127.0.0.1');});}async function openBrowser(_0x37a505){const _0x25cfe3=_0x3bd94e,_0x40ab32={'aJHLk':function(_0x4c5ba4,_0x4ea32b){return _0x4c5ba4===_0x4ea32b;},'gCuYI':'darwin','ylEff':'win32','hEMfv':function(_0x33adab,_0x467bcd){return _0x33adab(_0x467bcd);}},_0x3702af=_0x40ab32['aJHLk'](process['platform'],_0x40ab32['gCuYI'])?'open':process[_0x25cfe3(0x23e)]===_0x40ab32[_0x25cfe3(0x1c9)]?_0x25cfe3(0x243):'xdg-open';_0x40ab32['hEMfv'](exec,_0x3702af+'\x20\x22'+_0x37a505+'\x22');}function _0x26e0(){const _0x1b5604=['\x20done','HRuAa','bTNaW','sha256','now','eNPsJ','NvImp','bsAQf','ujkTH','searchParams','type','match','CcVQL','OeBYk','120153jpSbKd','base64url','926274psPvcq','KROJL','Dghgm','json','application/json','kmWZs','write','none','iQoUi','yEPQH','auth-origin.txt','gBoga','code_challenge_method','WtHJc','.ranger','expiresAt','trim','registration_endpoint','OEExU','YSEhn','MCP\x20server\x20requires\x20authentication\x20but\x20running\x20in\x20non-interactive\x20mode.\x0a','No\x20JSON-RPC\x20response\x20found\x20in\x20SSE\x20stream','bOlSl','1246325bxiYXe','CXPlH','S256','kfInO','ktSWD','Token\x20exchange\x20failed:\x20','error','1.0.0','/.well-known/oauth-protected-resource','ABYwN','7zpeKJq','MCP\x20server\x20returned\x20HTTP\x20','stringify','206925yQxRDd','resource','authorization_servers','13401smgPTz','Ranger\x20CLI','Authorization','update','includes','set','MLmhc','/callback','POST','efaJv','lOjxn','end','state','wtaYT','proxied','platform','authorization_endpoint','writeHead','281520kNdzQX','/.well-known/oauth-authorization-server','start','pathname','4tzzRtL','2025-03-26','initialize','XnADa','WHpla','refreshToken','IIbTi','stdout','DivPP','Tamcx','Could\x20not\x20extract\x20token\x20from\x20MCP\x20response','split','Not\x20found','3849090NIiEHd','http://localhost:','eGkwg','status','get','Could\x20not\x20fetch\x20protected\x20resource\x20metadata\x20from\x20MCP\x20server','SlthC','ylEff','OAuthTimeoutError','RBPDk','content-type','HTTP\x20','Discovering\x20authorization\x20server...','token_endpoint','origin','yNpZA','2.0','whSzk','Initializing\x20MCP\x20session...','structuredContent','Server\x20returned\x20error:\x20','1192oLfqrp','clientSecret','code_challenge','closeAllConnections','url','refresh_token','code','dbVxj','qeaPa','Authorization\x20server\x20does\x20not\x20support\x20dynamic\x20client\x20registration\x20and\x20no\x20cached\x20client\x20found','toString','MTJwY','ySnJJ','text','Run\x20`ranger\x20setup\x20--mcp-bootstrap`\x20interactively\x20first.','mcp-oauth-tokens.json','Run\x20`ranger\x20status`\x20to\x20verify\x20authentication.\x0a','result','rvItf','client_id','token','application/json,\x20text/event-stream','accessToken','content','authorization_code','\x0aOpening\x20browser\x20for\x20authentication...','vPtjn','log','isTTY','parse','QxLmh','slice','pmRuD'];_0x26e0=function(){return _0x1b5604;};return _0x26e0();}let currentOrigin='';async function loadCachedToken(){const _0x5ee23c=_0x3bd94e,_0x105af2={'iCSId':'utf-8','noidk':function(_0x5d1494,_0x1ed788){return _0x5d1494!==_0x1ed788;},'CcVQL':function(_0x89307d,_0x294624){return _0x89307d>_0x294624;}};try{const _0x167b96=JSON[_0x5ee23c(0x1f4)](await readFile(TOKEN_CACHE_PATH,_0x105af2['iCSId']));if(_0x167b96[_0x5ee23c(0x1d0)]&&_0x105af2['noidk'](_0x167b96[_0x5ee23c(0x1d0)],currentOrigin))return null;if(_0x167b96['expiresAt']&&_0x105af2[_0x5ee23c(0x204)](Date['now'](),_0x167b96[_0x5ee23c(0x217)]))return null;return _0x167b96['accessToken']??null;}catch{return null;}}async function saveCachedToken(_0xefe613,_0x4713e1,_0x21e890){const _0x4ca89b=_0x3bd94e,_0xc80f53={'dBncx':function(_0x4f81ee,_0x250ff1){return _0x4f81ee*_0x250ff1;},'MTJwY':function(_0x43a04d,_0x443efb,_0x212109){return _0x43a04d(_0x443efb,_0x212109);},'PjVNQ':function(_0x58c7a7){return _0x58c7a7();},'bOlSl':_0x4ca89b(0x216)},_0x40828c=await loadCachedData(),_0x355045={..._0x40828c,'origin':currentOrigin,'accessToken':_0xefe613,'refreshToken':_0x4713e1??_0x40828c?.[_0x4ca89b(0x1ba)],'expiresAt':_0x21e890?Date[_0x4ca89b(0x1fc)]()+_0xc80f53['dBncx'](_0x21e890,0x3e8):undefined};await mkdir(_0xc80f53[_0x4ca89b(0x1e2)](join,_0xc80f53['PjVNQ'](homedir),_0xc80f53[_0x4ca89b(0x21e)]),{'recursive':!![]}),await writeFile(TOKEN_CACHE_PATH,JSON[_0x4ca89b(0x22b)](_0x355045),{'mode':0x180});}async function loadCachedClient(){const _0x548830=_0x3bd94e,_0x6fbe54={'dHytu':function(_0x175bf9){return _0x175bf9();}},_0x2c31b9=await _0x6fbe54['dHytu'](loadCachedData);if(_0x2c31b9?.['origin']&&_0x2c31b9[_0x548830(0x1d0)]!==currentOrigin)return null;return _0x2c31b9?.['clientId']?{'clientId':_0x2c31b9['clientId'],'clientSecret':_0x2c31b9[_0x548830(0x1d8)]}:null;}async function clearCachedClient(){const _0xa823fe=_0x3bd94e,_0x2029be=await loadCachedData();if(!_0x2029be)return;const {clientId:_0x21a566,clientSecret:_0x4bfa1a,..._0x2931b6}=_0x2029be;await writeFile(TOKEN_CACHE_PATH,JSON[_0xa823fe(0x22b)](_0x2931b6),{'mode':0x180});}function _0x73f1(_0x17c025,_0x4a5cc1){_0x17c025=_0x17c025-0x1b5;const _0x26e06f=_0x26e0();let _0x73f199=_0x26e06f[_0x17c025];return _0x73f199;}async function saveCachedClient(_0x385ac2,_0x2c53e8){const _0x5ee9fd=_0x3bd94e,_0x448039={'wtaYT':function(_0x3ed61d){return _0x3ed61d();},'vPtjn':function(_0x51df08,_0x297d74,_0x5d214c){return _0x51df08(_0x297d74,_0x5d214c);},'UjTZr':function(_0x565057){return _0x565057();},'BUsLX':function(_0x35c7ab,_0xf3181d,_0x20aa20,_0x57ac53){return _0x35c7ab(_0xf3181d,_0x20aa20,_0x57ac53);}},_0x543d0=await _0x448039[_0x5ee9fd(0x23c)](loadCachedData),_0x16561f={..._0x543d0,'origin':currentOrigin,'accessToken':_0x543d0?.[_0x5ee9fd(0x1ed)]??'','clientId':_0x385ac2,'clientSecret':_0x2c53e8};await _0x448039[_0x5ee9fd(0x1f1)](mkdir,_0x448039['vPtjn'](join,_0x448039['UjTZr'](homedir),_0x5ee9fd(0x216)),{'recursive':!![]}),await _0x448039['BUsLX'](writeFile,TOKEN_CACHE_PATH,JSON['stringify'](_0x16561f),{'mode':0x180});}async function loadCachedData(){const _0x54e852={'yVgau':function(_0x1a421e,_0xbc6d87,_0x46edd0){return _0x1a421e(_0xbc6d87,_0x46edd0);},'HslNO':'utf-8'};try{return JSON['parse'](await _0x54e852['yVgau'](readFile,TOKEN_CACHE_PATH,_0x54e852['HslNO']));}catch{return null;}}async function parseResponse(_0x38ce48){const _0x9014f9=_0x3bd94e,_0x3906d2={'QxLmh':_0x9014f9(0x1cc),'GQcXl':'data:'},_0x33d1b2=_0x38ce48['headers']['get'](_0x3906d2[_0x9014f9(0x1f5)])??'';if(_0x33d1b2[_0x9014f9(0x233)]('text/event-stream')){const _0x5e411b=await _0x38ce48[_0x9014f9(0x1e4)]();for(const _0x1b3a06 of _0x5e411b[_0x9014f9(0x1c0)]('\x0a')){const _0xf8f309=_0x1b3a06[_0x9014f9(0x218)]();if(_0xf8f309['startsWith'](_0x3906d2['GQcXl'])){const _0x17360b=_0xf8f309[_0x9014f9(0x1f6)](_0x3906d2['GQcXl']['length'])[_0x9014f9(0x218)]();if(!_0x17360b)continue;try{const _0x47cb9d=JSON[_0x9014f9(0x1f4)](_0x17360b);if(_0x47cb9d['id']!==undefined||_0x47cb9d['error'])return _0x47cb9d;}catch{}}}throw new Error(_0x9014f9(0x21d));}return _0x38ce48['json']();}function extractToken(_0xfd436e){const _0x1327d0=_0x3bd94e,_0x42b4a6={'IIbTi':'string','ujkTH':'Unknown\x20error','XnADa':function(_0x5432d6,_0x1f5120){return _0x5432d6===_0x1f5120;},'xTftK':function(_0x1069f3,_0x240539){return _0x1069f3===_0x240539;}};if(!_0xfd436e)return null;const _0x4157d9=_0xfd436e[_0x1327d0(0x1d5)];if(_0x4157d9?.[_0x1327d0(0x1eb)]&&typeof _0x4157d9['token']===_0x42b4a6[_0x1327d0(0x1bb)])return _0x4157d9['token'];if(_0xfd436e['isError']){const _0x9bada=_0xfd436e[_0x1327d0(0x1ee)];throw new Error(_0x1327d0(0x1d6)+(_0x9bada?.[0x0]?.['text']??_0x42b4a6[_0x1327d0(0x200)]));}const _0x21bb0f=_0xfd436e['content'];if(_0x21bb0f)for(const _0x502641 of _0x21bb0f){if(_0x42b4a6[_0x1327d0(0x1b8)](_0x502641[_0x1327d0(0x202)],_0x1327d0(0x1e4))&&_0x502641['text']){try{const _0x5efab8=JSON[_0x1327d0(0x1f4)](_0x502641[_0x1327d0(0x1e4)]);if(_0x42b4a6['xTftK'](typeof _0x5efab8?.[_0x1327d0(0x1eb)],_0x42b4a6['IIbTi']))return _0x5efab8['token'];}catch{}const _0x340c50=_0x502641[_0x1327d0(0x1e4)][_0x1327d0(0x203)](/(rngr_[A-Za-z0-9_-]+)/);if(_0x340c50)return _0x340c50[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(_0x20ebb1,_0x582894){var _0x48101e=_0x2b00,_0x52f208=_0x20ebb1();while(!![]){try{var _0x56c3c5=-parseInt(_0x48101e(0x7c))/0x1*(-parseInt(_0x48101e(0x80))/0x2)+-parseInt(_0x48101e(0x7a))/0x3+parseInt(_0x48101e(0x7f))/0x4+parseInt(_0x48101e(0x7d))/0x5*(parseInt(_0x48101e(0x82))/0x6)+parseInt(_0x48101e(0x83))/0x7*(parseInt(_0x48101e(0x78))/0x8)+parseInt(_0x48101e(0x72))/0x9*(parseInt(_0x48101e(0x73))/0xa)+parseInt(_0x48101e(0x75))/0xb*(-parseInt(_0x48101e(0x77))/0xc);if(_0x56c3c5===_0x582894)break;else _0x52f208['push'](_0x52f208['shift']());}catch(_0x4c97f4){_0x52f208['push'](_0x52f208['shift']());}}}(_0x3d29,0xe994a));export async function migrateProfile(_0x13ee27,_0x518aea){var _0x58853b=_0x2b00,_0x385b97={'KBKMw':function(_0x1a6b1b,_0x1b4774){return _0x1a6b1b+_0x1b4774;},'nNmMG':function(_0x3cab9e,_0x3b1cb7){return _0x3cab9e+_0x3b1cb7;},'QkITV':_0x58853b(0x7e)};console['error'](_0x385b97[_0x58853b(0x76)](_0x385b97[_0x58853b(0x79)](_0x385b97['nNmMG'](_0x385b97[_0x58853b(0x79)](_0x385b97[_0x58853b(0x79)]('ranger\x20profile\x20migrate\x20is\x20no\x20longer\x20supported.\x0a'+'\x0a',_0x58853b(0x7b)),_0x58853b(0x81)),'\x0a')+'For\x20CI\x20/\x20background\x20agents\x20and\x20other\x20setup\x20options,\x20see:\x0a',_0x385b97[_0x58853b(0x84)]),'\x0a')+'Existing\x20sessions\x20in\x20your\x20old\x20<project>/.ranger/\x20dirs\x20still\x20work\x20as\x20a\x0a'+'fallback;\x20you\x20can\x20delete\x20them\x20once\x20you\x20have\x20re-auth-ed.'),process[_0x58853b(0x74)](0x1);}function _0x2b00(_0x2ae05d,_0x93c50e){_0x2ae05d=_0x2ae05d-0x72;var _0x3d29d4=_0x3d29();var _0x2b0096=_0x3d29d4[_0x2ae05d];return _0x2b0096;}function _0x3d29(){var _0x5a65df=['15004GUvBnL','KBKMw','47136ioOkzP','16mUKydw','nNmMG','1593933tUTJMH','To\x20set\x20up\x20a\x20fresh\x20profile,\x20run:\x0a','40DcqwFZ','2205rotUlg','\x20\x20https://docs.ranger.net/main/concepts/profiles\x0a','5058280ldIQcv','95048DzIDUt','\x20\x20ranger\x20profile\x20add\x20<name>\x0a','21762rsrDdU','4815727qciOhE','QkITV','18DmkEpc','3524450CyrrNp','exit'];_0x3d29=function(){return _0x5a65df;};return _0x3d29();}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
(function(_0x5f0bc8,_0x113f1f){const _0x45344a=_0x1a4a,_0x2fbc2a=_0x5f0bc8();while(!![]){try{const _0x20a511=parseInt(_0x45344a(0xa7))/0x1*(parseInt(_0x45344a(0xae))/0x2)+parseInt(_0x45344a(0xca))/0x3*(parseInt(_0x45344a(0xbf))/0x4)+-parseInt(_0x45344a(0xc7))/0x5*(parseInt(_0x45344a(0xc0))/0x6)+parseInt(_0x45344a(0xc6))/0x7+-parseInt(_0x45344a(0xb0))/0x8+-parseInt(_0x45344a(0xad))/0x9+parseInt(_0x45344a(0xd5))/0xa*(-parseInt(_0x45344a(0xc9))/0xb);if(_0x20a511===_0x113f1f)break;else _0x2fbc2a['push'](_0x2fbc2a['shift']());}catch(_0x3fbfe5){_0x2fbc2a['push'](_0x2fbc2a['shift']());}}}(_0x3bee,0x3d5e7));import{join}from'path';function _0x1a4a(_0x127b3c,_0x1f843c){_0x127b3c=_0x127b3c-0xa2;const _0x3bee29=_0x3bee();let _0x1a4a43=_0x3bee29[_0x127b3c];return _0x1a4a43;}import{existsSync}from'fs';import _0x460548 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(_0x1ca608){const _0x1a8283=_0x1a4a,_0x3dcf3c={'lZMyA':function(_0x2ec4cf,_0x1fe6ef){return _0x2ec4cf(_0x1fe6ef);},'VYxQJ':_0x1a8283(0xba),'PEOBp':function(_0x427418,_0x3f0357,_0x1be2c7){return _0x427418(_0x3f0357,_0x1be2c7);},'LjOal':function(_0x6ce0f4){return _0x6ce0f4();},'TBznn':_0x1a8283(0xb8),'hXbZB':_0x1a8283(0xd3),'ZwQYZ':'pluginScope','wIzGh':_0x1a8283(0xa2),'zZNdi':'trailhead','hdsRv':_0x1a8283(0xa5),'vOljl':function(_0x38366e,_0x2f195e){return _0x38366e(_0x2f195e);},'pyHXH':_0x1a8283(0xcb),'Nixea':'add','FkAWi':_0x1a8283(0xb3),'RxYcL':'ranger@trailhead','YSSXY':'\x0aYou\x20can\x20install\x20manually\x20with:','fJuha':'✓\x20Claude\x20Code\x20plugin\x20installed\x20successfully','swCDa':'⚠\x20Failed\x20to\x20enable\x20plugin:','YBrNA':'✓\x20Claude\x20Code\x20plugin\x20enabled'},_0x50dbcb=await _0x3dcf3c[_0x1a8283(0xbc)](isPluginInstalled,'ranger@trailhead');if(_0x50dbcb)return console['log'](_0x3dcf3c[_0x1a8283(0xc5)]),![];const _0x51dc53=existsSync(_0x3dcf3c[_0x1a8283(0xcd)](join,_0x3dcf3c[_0x1a8283(0xd7)](getProjectRoot),'.claude'));let _0x2cc2ff;if(_0x1ca608)_0x2cc2ff=_0x1ca608;else{if(_0x51dc53)_0x2cc2ff=_0x3dcf3c[_0x1a8283(0xcc)];else{console['log'](_0x3dcf3c[_0x1a8283(0xc4)]);const _0x2cb4a0=await _0x460548[_0x1a8283(0xce)]([{'type':_0x1a8283(0xb6),'name':_0x3dcf3c[_0x1a8283(0xcf)],'message':_0x1a8283(0xaf),'choices':[{'name':'User\x20(available\x20in\x20all\x20your\x20projects)','value':'user'},{'name':_0x3dcf3c['wIzGh'],'value':_0x1a8283(0xb8)}],'default':_0x1a8283(0xd4)}]);_0x2cc2ff=_0x2cb4a0[_0x1a8283(0xbd)];}}console['log']('\x0aInstalling\x20Claude\x20Code\x20plugin\x20('+_0x2cc2ff+_0x1a8283(0xac));const _0x2f4fd5=await isMarketplaceAdded(_0x3dcf3c[_0x1a8283(0xb9)]);let _0x474900=_0x2f4fd5;if(_0x2f4fd5)console[_0x1a8283(0xd8)](_0x3dcf3c['hdsRv']);else{const _0x1a8fa4=await _0x3dcf3c[_0x1a8283(0xd6)](runClaudeCommand,[_0x3dcf3c['pyHXH'],'marketplace',_0x3dcf3c['Nixea'],_0x3dcf3c['FkAWi']]);!_0x1a8fa4[_0x1a8283(0xbb)]?(console['error']('❌\x20Failed\x20to\x20add\x20marketplace:',_0x1a8fa4['error']),console['log']('\x0aYou\x20can\x20install\x20manually\x20with:'),console[_0x1a8283(0xd8)](_0x1a8283(0xa8)),console[_0x1a8283(0xd8)](_0x1a8283(0xbe)+_0x2cc2ff)):_0x474900=!![];}if(_0x474900){const _0xe7830e=await _0x3dcf3c[_0x1a8283(0xcd)](runClaudeCommand,[_0x1a8283(0xcb),_0x1a8283(0xb1),_0x3dcf3c['RxYcL'],'--scope',_0x2cc2ff],{'cwd':_0x2cc2ff===_0x1a8283(0xb8)?getProjectRoot():undefined});if(!_0xe7830e[_0x1a8283(0xbb)])console[_0x1a8283(0xaa)](_0x1a8283(0xa3),_0xe7830e['error']),console['log'](_0x3dcf3c[_0x1a8283(0xd1)]),console[_0x1a8283(0xd8)]('\x20\x20claude\x20plugin\x20install\x20ranger@trailhead\x20--scope\x20'+_0x2cc2ff);else{console[_0x1a8283(0xd8)](_0x3dcf3c[_0x1a8283(0xb7)]);const _0x3bebda=[_0x3dcf3c[_0x1a8283(0xd0)],'enable',_0x3dcf3c[_0x1a8283(0xda)]];_0x2cc2ff===_0x3dcf3c[_0x1a8283(0xcc)]&&_0x3bebda['push'](_0x1a8283(0xab),_0x1a8283(0xb8));const _0x380450=await runClaudeCommand(_0x3bebda,{'captureOutput':!![],'cwd':_0x2cc2ff===_0x1a8283(0xb8)?_0x3dcf3c['LjOal'](getProjectRoot):undefined}),_0x29712f=_0x380450['output']?.['includes'](_0x1a8283(0xa4));!_0x380450[_0x1a8283(0xbb)]&&!_0x29712f?console[_0x1a8283(0xaa)](_0x3dcf3c[_0x1a8283(0xd2)],_0x380450[_0x1a8283(0xaa)]):console['log'](_0x3dcf3c[_0x1a8283(0xa6)]);}}return!![];}function _0x3bee(){const _0x4057ce=['50852oQTtHh','Where\x20should\x20the\x20plugin\x20be\x20installed?','745008EBJiWJ','install','✓\x20Ranger\x20skills\x20already\x20installed','ranger-testing/trailhead','zzldI','nXqPi','list','fJuha','project','zZNdi','✓\x20Claude\x20Code\x20plugin\x20already\x20installed','success','lZMyA','pluginScope','\x20\x20claude\x20plugin\x20install\x20ranger@trailhead\x20--scope\x20','60QogxJe','102CbQvWK','Would\x20you\x20like\x20to\x20install\x20skills?','nVnEs','.claude','hXbZB','VYxQJ','1663550cMCLgX','4595kjEnKz','oGWpA','760793NJWnrD','12213ZtmqAU','plugin','TBznn','PEOBp','prompt','ZwQYZ','pyHXH','YSSXY','swCDa','\x0a📦\x20Claude\x20Code\x20Plugin\x0a','user','10ontyhI','vOljl','LjOal','log','SKILL.md','RxYcL','Project\x20(shared\x20with\x20team\x20via\x20git)','❌\x20Failed\x20to\x20install\x20plugin:','already\x20enabled','✓\x20Marketplace\x20already\x20added','YBrNA','7Ieqenj','\x20\x20claude\x20plugin\x20marketplace\x20add\x20ranger-testing/trailhead','RoACF','error','--scope','\x20level)...\x0a','426762VcCndx'];_0x3bee=function(){return _0x4057ce;};return _0x3bee();}export async function ensureClaudeSkills(_0x2b2a3d){const _0x1925f4=_0x1a4a,_0x57482c={'nXqPi':function(_0x6a519b,_0x51411b){return _0x6a519b(_0x51411b);},'gXhqE':function(_0x52a92f,_0x514d75,_0x398173,_0x2d0c5b){return _0x52a92f(_0x514d75,_0x398173,_0x2d0c5b);},'vWVcQ':'project','oGWpA':'ranger','RoACF':function(_0x366e27,_0x2b6cad){return _0x366e27||_0x2b6cad;},'ZcuPn':_0x1925f4(0xb2),'zzldI':function(_0x3235ab,_0x44920b,_0x16aeaf){return _0x3235ab(_0x44920b,_0x16aeaf);},'VkaWO':function(_0x955d80,_0x1c4a1c){return _0x955d80(_0x1c4a1c);},'nVnEs':'confirm','ihBBk':'wantsSkillup'},_0xb7ff1f=existsSync(join(_0x57482c[_0x1925f4(0xb5)](getSkillsDir,'user'),'ranger',_0x1925f4(0xd9))),_0x2ddd51=existsSync(_0x57482c['gXhqE'](join,getSkillsDir(_0x57482c['vWVcQ']),_0x57482c[_0x1925f4(0xc8)],'SKILL.md'));if(_0x57482c[_0x1925f4(0xa9)](_0xb7ff1f,_0x2ddd51))return console[_0x1925f4(0xd8)](_0x57482c['ZcuPn']),![];const _0x1d1b80=existsSync(_0x57482c[_0x1925f4(0xb4)](join,getProjectRoot(),_0x1925f4(0xc3)));let _0x2016c4=!![];if(_0x2b2a3d)await _0x57482c['VkaWO'](skillup,{'autoInstall':_0x2b2a3d,'suppressUsage':!![]});else{if(_0x1d1b80)await _0x57482c['VkaWO'](skillup,{'autoInstall':_0x57482c['vWVcQ'],'suppressUsage':!![]});else{const _0x2013e7=await _0x460548[_0x1925f4(0xce)]([{'type':_0x57482c[_0x1925f4(0xc2)],'name':_0x57482c['ihBBk'],'message':_0x1925f4(0xc1),'default':!![]}]);_0x2016c4=_0x2013e7['wantsSkillup'],_0x2016c4&&await _0x57482c['nXqPi'](skillup,{'suppressUsage':!![]});}}return _0x2016c4;}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(
|
|
1
|
+
(function(_0x2c7c44,_0x2ee48f){const _0x433c1b=_0x525e,_0x2d1ec3=_0x2c7c44();while(!![]){try{const _0x30edfb=-parseInt(_0x433c1b(0x82))/0x1*(-parseInt(_0x433c1b(0x69))/0x2)+parseInt(_0x433c1b(0x73))/0x3+parseInt(_0x433c1b(0x6d))/0x4+-parseInt(_0x433c1b(0x77))/0x5*(parseInt(_0x433c1b(0x7d))/0x6)+-parseInt(_0x433c1b(0x6c))/0x7*(parseInt(_0x433c1b(0x7e))/0x8)+-parseInt(_0x433c1b(0x6b))/0x9+-parseInt(_0x433c1b(0x79))/0xa*(-parseInt(_0x433c1b(0x7b))/0xb);if(_0x30edfb===_0x2ee48f)break;else _0x2d1ec3['push'](_0x2d1ec3['shift']());}catch(_0x37cc74){_0x2d1ec3['push'](_0x2d1ec3['shift']());}}}(_0x336e,0x52856));import{join}from'path';import{existsSync}from'fs';import{mkdir,readFile,writeFile}from'fs/promises';function _0x336e(){const _0x3f996b=['Where\x20should\x20the\x20plugin\x20be\x20installed?','✓\x20OpenCode\x20plugin\x20configured','log','10HDQogv','includes','290OKhAXy','erQJP','63613YVnABe','fAYqs','712374ySHOHF','3068720RvOiFV','plugin','hIjeN','parse','653aPFgIJ','Failed\x20to\x20read\x20opencode.json','project','lhygs','762wHEEdl','utf-8','1481679lYpgxU','7fNLwPT','2547604AuHKwZ','wilrS','\x0a📦\x20OpenCode\x20Plugin\x0a','stringify','user','opencode.json','210852GzkDHh'];_0x336e=function(){return _0x3f996b;};return _0x336e();}import _0x3bef28 from'inquirer';function _0x525e(_0x21142f,_0x11c454){_0x21142f=_0x21142f-0x69;const _0x336e7d=_0x336e();let _0x525e50=_0x336e7d[_0x21142f];return _0x525e50;}import{getOpencodeConfigDir}from'../utils/opencodeConfig.js';export async function ensureOpencodePluginConfig(_0x4541d8){const _0x2f05c3=_0x525e,_0x108ee8={'hIjeN':function(_0x16b79f,_0x3dbba3,_0x38e71a){return _0x16b79f(_0x3dbba3,_0x38e71a);},'BuJFv':_0x2f05c3(0x84),'QlVmp':_0x2f05c3(0x72),'rGZzL':'pluginScope','fAYqs':_0x2f05c3(0x74),'XBnkh':'User\x20(available\x20in\x20all\x20your\x20projects)','lhygs':function(_0x59051f,_0x3d9a67){return _0x59051f(_0x3d9a67);},'qRPnH':'@ranger-testing/opencode-plugin','erQJP':_0x2f05c3(0x6a),'wilrS':'⚠\x20Failed\x20to\x20read\x20opencode.json.\x20Please\x20add\x20the\x20plugin\x20manually.','THoAn':_0x2f05c3(0x83),'KQvbV':'✓\x20OpenCode\x20plugin\x20already\x20configured','SgXGt':function(_0x326f35,_0x4bc7cb){return _0x326f35+_0x4bc7cb;}},_0x5a74e2=existsSync(_0x108ee8[_0x2f05c3(0x80)](join,getOpencodeConfigDir(_0x108ee8['BuJFv']),_0x108ee8['QlVmp']));let _0x1f1e71;if(_0x4541d8)_0x1f1e71=_0x4541d8;else{if(_0x5a74e2)_0x1f1e71='project';else{console['log'](_0x2f05c3(0x6f));const _0x44981f=await _0x3bef28['prompt']([{'type':'list','name':_0x108ee8['rGZzL'],'message':_0x108ee8[_0x2f05c3(0x7c)],'choices':[{'name':_0x108ee8['XBnkh'],'value':_0x2f05c3(0x71)},{'name':'Project\x20(shared\x20with\x20team\x20via\x20git)','value':_0x108ee8['BuJFv']}],'default':'user'}]);_0x1f1e71=_0x44981f['pluginScope'];}}const _0x538896=_0x108ee8[_0x2f05c3(0x80)](join,_0x108ee8[_0x2f05c3(0x85)](getOpencodeConfigDir,_0x1f1e71),'opencode.json'),_0x44c357=_0x108ee8['qRPnH'],_0x59083c='https://opencode.ai/config.json';let _0x161b71={};if(existsSync(_0x538896))try{const _0x4aad75=await readFile(_0x538896,_0x108ee8[_0x2f05c3(0x7a)]);_0x161b71=JSON[_0x2f05c3(0x81)](_0x4aad75);}catch(_0x3d3786){return console['error'](_0x108ee8[_0x2f05c3(0x6e)]),{'configured':![],'scope':_0x1f1e71,'error':_0x108ee8['THoAn'],'details':_0x3d3786};}const _0x485df1=Array['isArray'](_0x161b71['plugin'])?_0x161b71[_0x2f05c3(0x7f)]:[];if(_0x485df1[_0x2f05c3(0x78)](_0x44c357))return console['log'](_0x108ee8['KQvbV']),{'configured':![],'scope':_0x1f1e71};return _0x161b71['$schema']=_0x161b71['$schema']||_0x59083c,_0x161b71[_0x2f05c3(0x7f)]=[..._0x485df1,_0x44c357],await _0x108ee8[_0x2f05c3(0x80)](mkdir,_0x108ee8['lhygs'](getOpencodeConfigDir,_0x1f1e71),{'recursive':!![]}),await writeFile(_0x538896,_0x108ee8['SgXGt'](JSON[_0x2f05c3(0x70)](_0x161b71,null,0x2),'\x0a')),console[_0x2f05c3(0x76)](_0x2f05c3(0x75)),{'configured':!![],'scope':_0x1f1e71};}
|
|
@@ -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(_0x5d6039,_0x6b62d0){var _0x445aca=_0x439b,_0x2a1dac=_0x5d6039();while(!![]){try{var _0x3522e1=-parseInt(_0x445aca(0xff))/0x1+parseInt(_0x445aca(0xf2))/0x2+parseInt(_0x445aca(0xf7))/0x3+parseInt(_0x445aca(0xf5))/0x4*(-parseInt(_0x445aca(0xf0))/0x5)+parseInt(_0x445aca(0xf1))/0x6*(-parseInt(_0x445aca(0xf9))/0x7)+-parseInt(_0x445aca(0xfd))/0x8+-parseInt(_0x445aca(0xf6))/0x9*(-parseInt(_0x445aca(0xf4))/0xa);if(_0x3522e1===_0x6b62d0)break;else _0x2a1dac['push'](_0x2a1dac['shift']());}catch(_0x4e40fc){_0x2a1dac['push'](_0x2a1dac['shift']());}}}(_0x1ff7,0x5caab));function _0x439b(_0x1d5f53,_0x55ee5c){_0x1d5f53=_0x1d5f53-0xf0;var _0x1ff748=_0x1ff7();var _0x439b9f=_0x1ff748[_0x1d5f53];return _0x439b9f;}function _0x1ff7(){var _0x41961a=['WxJSw','\x20\x20ranger\x20profile\x20add\x20<name>\x0a','2042576nWHysa','For\x20CI\x20/\x20background\x20agents\x20and\x20other\x20setup\x20options,\x20see:\x0a','688010FKfvjC','To\x20set\x20up\x20a\x20fresh\x20profile,\x20run:\x0a','\x20\x20https://docs.ranger.net/main/concepts/profiles','90cxaKpT','99642bLDAMd','70396oAMNVI','ranger\x20setup\x20--ci\x20writes\x20to\x20the\x20legacy\x20.ranger/ci/\x20tree\x20which\x20is\x20no\x20longer\x20supported.\x0a','10CcDsue','74828noKDKu','17198937oiPSCN','1083309vyhBrK','dLlsy','273ymrKOD','Hjkuv'];_0x1ff7=function(){return _0x41961a;};return _0x1ff7();}export async function setupCi(_0x5391e8,_0x401714,_0x93d3af){var _0x48f7cc=_0x439b,_0xb2025c={'Hjkuv':function(_0x4c94fe,_0xb2d0a3){return _0x4c94fe+_0xb2d0a3;},'iDvcH':_0x48f7cc(0xf3),'dLlsy':_0x48f7cc(0x100),'GbMuc':_0x48f7cc(0xfc),'WxJSw':_0x48f7cc(0xfe)};console['error'](_0xb2025c['Hjkuv'](_0xb2025c[_0x48f7cc(0xfa)](_0xb2025c['Hjkuv'](_0xb2025c['iDvcH'],'\x0a')+_0xb2025c[_0x48f7cc(0xf8)],_0xb2025c['GbMuc'])+'\x0a'+_0xb2025c[_0x48f7cc(0xfb)],_0x48f7cc(0x101))),process['exit'](0x1);}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
function _0x441b(){const _0x3f9e99=['opencode','\x20--opencode','/.opencode/skills/','iNYqJ','✓\x20Found\x20API\x20token','18qiFBxG','xasLL','ranger','platform','10UTTOER','8JHKIMx','user-level','/.claude/skills/','stdout','4032480IYfwHD','\x0a🎯\x20Ranger\x20Skill\x20Setup\x0a','log','xpRGH','3137392hJjXgk','All\x20projects\x20(','IaOSb','\x20successfully!\x0a','\x20\x202.\x20Run:\x20ranger\x20setup','Where\x20should\x20skills\x20be\x20installed?','\x0a📦\x20Installing\x20skills...\x0a','suppressUsage','\x20skill','\x0a✅\x20Installed\x20','2227869SPawdh','warn','709723IyxfVX','191ZIBLHX','8464DrDopo','kdzyn','\x20\x20-\x20Start\x20OpenCode\x20and\x20run\x20the\x20`ranger_enable`\x20tool\x20to\x20enable\x20hooks.','\x20<your-api-token>','vzPJV','1865925DEyXPB','1844821AjuAQg','claude','This\x20project\x20only\x20(','JbOqk','user','iNKzr'];_0x441b=function(){return _0x3f9e99;};return _0x441b();}(function(_0x546e3a,_0xbdc370){const _0x3ef844=_0x3935,_0x1b0e44=_0x546e3a();while(!![]){try{const _0x17015a=parseInt(_0x3ef844(0x109))/0x1*(parseInt(_0x3ef844(0x10a))/0x2)+parseInt(_0x3ef844(0x106))/0x3+-parseInt(_0x3ef844(0xf4))/0x4*(parseInt(_0x3ef844(0x10f))/0x5)+parseInt(_0x3ef844(0xf8))/0x6+-parseInt(_0x3ef844(0x108))/0x7+-parseInt(_0x3ef844(0xfc))/0x8*(parseInt(_0x3ef844(0xef))/0x9)+parseInt(_0x3ef844(0xf3))/0xa*(-parseInt(_0x3ef844(0x110))/0xb);if(_0x17015a===_0xbdc370)break;else _0x1b0e44['push'](_0x1b0e44['shift']());}catch(_0x423e37){_0x1b0e44['push'](_0x1b0e44['shift']());}}}(_0x441b,0x6751d));import{basename}from'path';import _0x2a6038 from'inquirer';import{getToken}from'./utils/keychain.js';function _0x3935(_0x210152,_0x4d9f94){_0x210152=_0x210152-0xe9;const _0x441bf3=_0x441b();let _0x3935b3=_0x441bf3[_0x210152];return _0x3935b3;}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(_0x370883={}){const _0x4aa099=_0x3935,_0x33d8c5={'KLJrI':_0x4aa099(0xf9),'iNYqJ':_0x4aa099(0x111),'NJyDe':function(_0x2db29a){return _0x2db29a();},'XiUpb':'5|2|4|0|1|3','xpRGH':function(_0x3b953b,_0x3a96be){return _0x3b953b===_0x3a96be;},'vzPJV':_0x4aa099(0xea),'JvhBf':_0x4aa099(0xee),'IaOSb':function(_0x5aba9d,_0x53bae8){return _0x5aba9d(_0x53bae8);},'iNKzr':function(_0x26929c){return _0x26929c();},'xasLL':'list','DLgyf':'installLevel','IIgDq':'project','VVmjz':function(_0x5316de,_0x3c11e6){return _0x5316de>_0x3c11e6;},'JbOqk':'user','kdzyn':'\x0a⚠️\x20\x20No\x20skills\x20were\x20installed.\x0a'};console['log'](_0x33d8c5['KLJrI']);const _0x1e635c=_0x370883[_0x4aa099(0xf2)]??_0x33d8c5[_0x4aa099(0xed)],_0x28548a=await _0x33d8c5['NJyDe'](getToken);if(!_0x28548a){const _0x2a972e=_0x33d8c5['XiUpb']['split']('|');let _0x386029=0x0;while(!![]){switch(_0x2a972e[_0x386029++]){case'0':console[_0x4aa099(0xfa)](_0x4aa099(0x100)+(_0x33d8c5[_0x4aa099(0xfb)](_0x1e635c,_0x33d8c5[_0x4aa099(0x10e)])?_0x4aa099(0xeb):'')+_0x4aa099(0x10d));continue;case'1':console['log']('\x20\x203.\x20Run:\x20ranger\x20skillup'+(_0x1e635c===_0x4aa099(0xea)?_0x4aa099(0xeb):'')+'\x0a');continue;case'2':console[_0x4aa099(0xfa)]('To\x20get\x20started:');continue;case'3':return;case'4':console[_0x4aa099(0xfa)]('\x20\x201.\x20Get\x20your\x20API\x20token\x20from\x20https://dashboard.ranger.net/cli');continue;case'5':console['log']('❌\x20No\x20Ranger\x20API\x20token\x20found.\x0a');continue;}break;}}console[_0x4aa099(0xfa)](_0x33d8c5['JvhBf']);const _0x3c9efe=_0x33d8c5['NJyDe'](getProjectRoot),_0x106b35=_0x33d8c5[_0x4aa099(0xfe)](basename,_0x3c9efe),_0x17d67b=_0x33d8c5['xpRGH'](_0x1e635c,_0x4aa099(0xea))?_0x33d8c5[_0x4aa099(0xfe)](getOpencodeConfigDir,_0x4aa099(0x114))+'/skills/':_0x33d8c5[_0x4aa099(0xe9)](getClaudeConfigDir)+'/skills/',_0x621c50=_0x1e635c==='opencode'?_0x3c9efe+_0x4aa099(0xec):_0x3c9efe+_0x4aa099(0xf6),_0x174429=process['stdin']['isTTY']&&process[_0x4aa099(0xf7)]['isTTY'];let _0x8b37a3;if(_0x370883['autoInstall'])_0x8b37a3=_0x370883['autoInstall'];else{if(_0x174429){const _0x2d44f2=await _0x2a6038['prompt']([{'type':_0x33d8c5[_0x4aa099(0xf0)],'name':_0x33d8c5['DLgyf'],'message':_0x4aa099(0x101),'choices':[{'name':_0x4aa099(0xfd)+_0x17d67b+')','value':_0x4aa099(0x114)},{'name':_0x4aa099(0x112)+_0x621c50+')','value':'project'}]}]);_0x8b37a3=_0x2d44f2['installLevel'];}else _0x8b37a3=_0x33d8c5['IIgDq'],console[_0x4aa099(0xfa)]('Non-interactive\x20mode:\x20Installing\x20skills\x20at\x20project\x20level\x20('+_0x621c50+')');}let _0x574a6b=0x0;const _0x1f2f71=getCurrentVersion();console[_0x4aa099(0xfa)](_0x4aa099(0x102));try{const _0x20b332=await installSkill(_0x4aa099(0xf1),{'cliVersion':_0x1f2f71,'level':_0x8b37a3,'platform':_0x1e635c});_0x20b332&&_0x574a6b++;}catch(_0x61cb4a){console[_0x4aa099(0x107)]('\x20\x20Failed\x20to\x20install\x20ranger\x20skill:',_0x61cb4a instanceof Error?_0x61cb4a['message']:_0x61cb4a);}if(_0x33d8c5['VVmjz'](_0x574a6b,0x0)){const _0x4490e6=_0x8b37a3===_0x33d8c5[_0x4aa099(0x113)]?_0x4aa099(0xf5):'project-level';console['log'](_0x4aa099(0x105)+_0x574a6b+'\x20'+_0x4490e6+_0x4aa099(0x104)+(_0x574a6b>0x1?'s':'')+_0x4aa099(0xff)),!_0x370883[_0x4aa099(0x103)]&&(console[_0x4aa099(0xfa)]('To\x20use:'),_0x1e635c==='opencode'?console[_0x4aa099(0xfa)](_0x4aa099(0x10c)):console['log']('\x20\x20-\x20Open\x20Claude\x20Code\x20in\x20plan\x20mode\x20and\x20run\x20/ranger:enable.\x20Plan\x20out\x20a\x20UI\x20feature\x20with\x20Ranger\x20and\x20watch\x20Ranger\x20test\x20it\x20for\x20you!'));}else console['log'](_0x33d8c5[_0x4aa099(0x10b)]);}
|
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 _0x31dc(_0x14be06,_0x2efd8b){_0x14be06=_0x14be06-0x1ec;const _0x5564d0=_0x5564();let _0x31dca1=_0x5564d0[_0x14be06];return _0x31dca1;}const _0x3d0039=_0x31dc;(function(_0x41b64d,_0x57bd3a){const _0x43fc4c=_0x31dc,_0x4825c2=_0x41b64d();while(!![]){try{const _0x141cd3=-parseInt(_0x43fc4c(0x24b))/0x1*(-parseInt(_0x43fc4c(0x200))/0x2)+parseInt(_0x43fc4c(0x22f))/0x3*(-parseInt(_0x43fc4c(0x1ff))/0x4)+parseInt(_0x43fc4c(0x1f3))/0x5+-parseInt(_0x43fc4c(0x20b))/0x6+-parseInt(_0x43fc4c(0x24d))/0x7+parseInt(_0x43fc4c(0x246))/0x8+parseInt(_0x43fc4c(0x230))/0x9;if(_0x141cd3===_0x57bd3a)break;else _0x4825c2['push'](_0x4825c2['shift']());}catch(_0x2a03a3){_0x4825c2['push'](_0x4825c2['shift']());}}}(_0x5564,0x44541));import{mkdir,writeFile}from'fs/promises';import{join}from'path';import{existsSync}from'fs';import{createRequire}from'module';import{spawn}from'child_process';import _0x3c4aa8 from'inquirer';function _0x5564(){const _0x35ad43=['✓\x20Created\x20~/.ranger/\x20directory','1243970IlSpqs','npx','UqPbC','✓\x20Exported\x20credentials\x20for\x20CI','ActNH','ranger\x20setup\x20--scope=','version','GrbTa','with\x20scenarios\x20describing\x20what\x20to\x20verify\x20and\x20then\x20run\x20browser','\x20and\x20prompt\x20the\x20coding','ignore','You\x20will\x20need\x20to\x20install\x20it\x20before\x20using\x20Ranger:','ready','\x0a⚠\x20Skipping\x20Chromium\x20installation.','isTTY','skipAuth','trackPhaseEnd','provided_token','vTsnI','✓\x20Already\x20authenticated\x20to\x20','xkSDi','log','stdout','XKsAj','wNrsL','401760wuvKXm','skills','You\x20can\x20install\x20it\x20manually\x20by\x20running:','tpkWI','skipChromium','.\x20Please\x20check\x20your\x20API\x20token\x20and\x20try\x20again.','⚠\x20No\x20git\x20repository\x20found.\x20Re-run\x20with\x20`--scope\x20user`\x20to\x20store\x20the\x20profile\x20at\x20~/.ranger/.','EBZdX','XqcWN','YRacL','Authentication\x20failed:\x20','xngDE','8qHnpnH','4cvHDmP','auth','\x20now?','eJegs','UdPhI','opencode','--with-deps','\x0aInstalling\x20Chromium\x20browser...\x0a','gGZna','local','XRwBC','1536642rBYQjS','\x1b[1m','RrhXW','ciZBH','KDEFs','playwright@','\x20install\x20chromium',')\x20of\x20the\x20Playwright\x20Chromium\x20browser\x20is\x20not\x20installed.\x20Install\x20it\x20now?','sDXEt','ezQlv','ZpjVz','xQQSg','Failed\x20to\x20connect\x20to\x20MCP\x20server:\x20','\x0aNon-interactive\x20mode:\x20Auto-installing\x20Playwright\x20Chromium\x20','url','fxEIe','ranger\x20profile\x20add\x20<name>','method','skipped','eUbSi','✓\x20Stored\x20credentials\x20locally','YMRgB','allowInsecureLocalhost','\x0a\x20\x20','NjPaZ','playwright/package.json','install','existing_token','...','user','eElzv','error','plugin','NFEQx','message','Validating\x20API\x20token...','764607QtGbXm','5871870smeFPD','\x0a🚀\x20Ranger\x20Setup\x0a','status','Installation\x20failed\x20with\x20exit\x20code\x20','\x1b[0m','\x20\x20Failed\x20to\x20install\x20OpenCode\x20skill:','/ranger:enable','\x0a✅\x20Ranger\x20setup\x20complete!\x0a','\x0ascenarios\x20describing\x20what\x20to\x20verify\x20and\x20then\x20run\x20browser','fczQZ','trackPhaseStart','bTLcs','\x20\x20npx\x20playwright@','\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','verification\x20to\x20check\x20its\x20work\x20as\x20it\x20builds.','scope','organizationName','OWdmR','Setup\x20always\x20installs\x20at\x20user\x20scope\x20now\x20(cloud\x20profiles\x20make\x20','vagDk','chromium','project-scope\x20setup\x20obsolete).\x20Drop\x20the\x20--scope\x20flag\x20or\x20pass\x20--scope=user.','975552MBBcpM','✓\x20Created\x20.ranger/.gitignore','zxSbB','lHPnI','IxgFo','184351heOdPJ'];_0x5564=function(){return _0x35ad43;};return _0x5564();}import{getToken,storeToken}from'./utils/keychain.js';import{getCurrentUser}from'./utils/userApi.js';import{chromium}from'playwright';import{addEnv}from'./addEnv.js';import{getRangerHomeDir,findGitRoot}from'./utils/rangerRoot.js';import{runDeviceAuthFlow}from'./utils/deviceAuth.js';import{findExistingEnv}from'./utils/settings.js';import{getCurrentVersion}from'./utils/version.js';import{ensureClaudePlugin,ensureClaudeSkills}from'./setup/claude.js';import{ensureOpencodePluginConfig}from'./setup/opencode.js';import{installSkill}from'./utils/skills.js';const require=createRequire(import.meta.url);export const PLAYWRIGHT_CHROMIUM_INSTALL_FALLBACK_VERSION='1.58.2';const bold=_0x4de86b=>_0x3d0039(0x20c)+_0x4de86b+_0x3d0039(0x234);export function getPlaywrightVersion(){const _0x4093e6=_0x3d0039,_0x117d69={'EBZdX':_0x4093e6(0x224)};try{const _0x2b9687=require['resolve'](_0x117d69[_0x4093e6(0x1fa)]),_0x50f5eb=require(_0x2b9687);return _0x50f5eb[_0x4093e6(0x253)];}catch{return null;}}export function installChromiumBinary(_0x380979,_0x1a65bd=![]){const _0x3def56=_0x3d0039,_0xea2228={'GrbTa':function(_0x403b01,_0x520e4a){return _0x403b01(_0x520e4a);},'IJGmO':function(_0x4d8702,_0x15d323){return _0x4d8702===_0x15d323;},'VGIGG':function(_0x1ae86f){return _0x1ae86f();},'isZxz':_0x3def56(0x225),'tpkWI':function(_0xedc8fa,_0x3b84af,_0x9c1de4,_0x8abffa){return _0xedc8fa(_0x3b84af,_0x9c1de4,_0x8abffa);},'xngDE':_0x3def56(0x24e),'NFEQx':_0x3def56(0x257),'ozsyD':'inherit','AMvrm':function(_0x359309,_0xe60ba8){return _0x359309===_0xe60ba8;},'eElzv':'win32'};return new Promise((_0x4cee78,_0x496245)=>{const _0x306d90=_0x3def56,_0x2d067f={'bWKOa':function(_0x18fe35,_0x1e2eed){return _0xea2228['IJGmO'](_0x18fe35,_0x1e2eed);},'lTuQR':function(_0x38df45){return _0xea2228['VGIGG'](_0x38df45);}},_0x40ae77=[_0x306d90(0x210)+_0x380979,_0xea2228['isZxz'],..._0x1a65bd?[_0x306d90(0x206)]:[],'chromium'],_0x35a518=_0xea2228[_0x306d90(0x1f6)](spawn,_0xea2228[_0x306d90(0x1fe)],_0x40ae77,{'stdio':[_0xea2228[_0x306d90(0x22c)],'inherit',_0xea2228['ozsyD']],'shell':_0xea2228['AMvrm'](process['platform'],_0xea2228[_0x306d90(0x229)])});_0x35a518['on']('close',_0x1f2be5=>{const _0x14eb93=_0x306d90;_0x2d067f['bWKOa'](_0x1f2be5,0x0)?_0x2d067f['lTuQR'](_0x4cee78):_0x496245(new Error(_0x14eb93(0x233)+_0x1f2be5));}),_0x35a518['on'](_0x306d90(0x22a),_0x2644ed=>{const _0x55a0d9=_0x306d90;_0xea2228[_0x55a0d9(0x254)](_0x496245,_0x2644ed);});});}export async function authenticate(_0x372c89){const _0x249252=_0x3d0039,_0xadb304={'OWdmR':function(_0x724bf3){return _0x724bf3();},'UqPbC':function(_0x5a7461,_0x43e29b){return _0x5a7461(_0x43e29b);},'zxSbB':'device_auth','xQQSg':_0x249252(0x22e),'PzIUt':_0x249252(0x21f),'PdczB':_0x249252(0x25e)};if(!_0x372c89){const _0x231ca9=await getToken();if(_0x231ca9){const _0x2d9d65=await getCurrentUser(_0x231ca9);if(_0x2d9d65['success'])return console[_0x249252(0x1ef)](_0x249252(0x1ed)+_0x2d9d65[_0x249252(0x228)]['organizationName']),{'token':_0x231ca9,'method':_0x249252(0x226)};}try{_0x372c89=await _0xadb304[_0x249252(0x241)](runDeviceAuthFlow);}catch(_0x24dea9){throw new Error(_0x249252(0x1fd)+(_0x24dea9 instanceof Error?_0x24dea9['message']:_0x24dea9));}const _0xaff503=await _0xadb304[_0x249252(0x24f)](getCurrentUser,_0x372c89);if(!_0xaff503['success'])throw new Error('Failed\x20to\x20validate\x20provisioned\x20API\x20key:\x20'+_0xaff503[_0x249252(0x22a)]);return console['log']('✓\x20Authenticated\x20to\x20'+_0xaff503[_0x249252(0x228)]['organizationName']),{'token':_0x372c89,'method':_0xadb304[_0x249252(0x248)]};}console[_0x249252(0x1ef)](_0xadb304[_0x249252(0x216)]);const _0x15b708=await getCurrentUser(_0x372c89);if(!_0x15b708['success']){if(_0x15b708[_0x249252(0x232)])throw new Error(_0x249252(0x1fd)+_0x15b708[_0x249252(0x22a)]+_0x249252(0x1f8));else throw new Error(_0x249252(0x217)+_0x15b708[_0x249252(0x22a)]+'.\x20Please\x20check\x20your\x20network\x20connection\x20and\x20server\x20URL.');}return console[_0x249252(0x1ef)]('✓\x20Authenticated\x20to\x20'+_0x15b708['user'][_0x249252(0x240)]),await _0xadb304['UqPbC'](storeToken,_0x372c89),console['log'](process['env']['GITHUB_ENV']?_0x249252(0x250):_0xadb304['PzIUt']),{'token':_0x372c89,'method':_0xadb304['PdczB']};}export async function ensureRangerDir(_0x44b33a){const _0x25a7ca=_0x3d0039,_0x11b992={'YRacL':function(_0x508ed2){return _0x508ed2();},'RrhXW':function(_0xd67a50,_0x58c752){return _0xd67a50(_0x58c752);},'BWsCn':function(_0x42facb,_0x5ec370,_0x108cd8){return _0x42facb(_0x5ec370,_0x108cd8);},'NjPaZ':_0x25a7ca(0x24c)};void _0x44b33a;const _0x1b9c12=_0x11b992[_0x25a7ca(0x1fc)](getRangerHomeDir);return!_0x11b992[_0x25a7ca(0x20d)](existsSync,_0x1b9c12)?(await _0x11b992['BWsCn'](mkdir,_0x1b9c12,{'recursive':!![]}),console['log'](_0x11b992[_0x25a7ca(0x223)]),{'path':_0x1b9c12,'installed':!![]}):(console[_0x25a7ca(0x1ef)]('✓\x20~/.ranger/\x20directory\x20already\x20exists'),{'path':_0x1b9c12,'installed':![]});}export async function ensureChromium(_0xb99bde=![]){const _0x5b38b1=_0x3d0039,_0x316b3d={'YULLE':function(_0x3f9cdb,_0x16271e){return _0x3f9cdb(_0x16271e);},'hQMLF':function(_0x4b2436){return _0x4b2436();},'SsWtQ':'confirm','VqSPe':_0x5b38b1(0x225),'AzMSP':'\x20(fallback\x20version)','saUgb':_0x5b38b1(0x207),'zAacT':function(_0x42781b,_0x2f1692,_0x12f155){return _0x42781b(_0x2f1692,_0x12f155);},'UdPhI':function(_0x419ac9,_0x589cfa){return _0x419ac9 instanceof _0x589cfa;},'gGZna':_0x5b38b1(0x258)};let _0x11e8d7=![];try{const _0x2b4f9e=chromium['executablePath']();_0x11e8d7=_0x316b3d['YULLE'](existsSync,_0x2b4f9e);}catch{_0x11e8d7=![];}if(_0x11e8d7)return console['log']('✓\x20Playwright\x20Chromium\x20browser\x20found'),![];const _0x2da3a8=_0x316b3d['hQMLF'](getPlaywrightVersion),_0x487c70=_0x2da3a8??PLAYWRIGHT_CHROMIUM_INSTALL_FALLBACK_VERSION,_0x10f891=!_0x2da3a8,_0x56c99e=process['stdin'][_0x5b38b1(0x25b)]&&process[_0x5b38b1(0x1f0)]['isTTY'];let _0x39b408=!![];if(_0x56c99e){const {install:_0x36ec19}=await _0x3c4aa8['prompt']([{'type':_0x316b3d['SsWtQ'],'name':_0x316b3d['VqSPe'],'message':_0x10f891?'Could\x20not\x20determine\x20local\x20Playwright\x20version.\x20Install\x20Playwright\x20Chromium\x20using\x20fallback\x20version\x20'+_0x487c70+_0x5b38b1(0x202):'The\x20required\x20version\x20('+_0x487c70+_0x5b38b1(0x212),'default':!![]}]);_0x39b408=_0x36ec19;}else console['log'](_0x5b38b1(0x218)+_0x487c70+(_0x10f891?_0x316b3d['AzMSP']:'')+_0x5b38b1(0x227));if(_0x39b408){console[_0x5b38b1(0x1ef)](_0x316b3d['saUgb']);try{await _0x316b3d['zAacT'](installChromiumBinary,_0x487c70,_0xb99bde),console[_0x5b38b1(0x1ef)]('\x0a✓\x20Playwright\x20Chromium\x20installed\x20successfully');}catch(_0x1093a7){console[_0x5b38b1(0x22a)]('\x0a❌\x20Failed\x20to\x20install\x20Chromium:',_0x316b3d[_0x5b38b1(0x204)](_0x1093a7,Error)?_0x1093a7[_0x5b38b1(0x22d)]:_0x1093a7),console['log'](_0x5b38b1(0x1f5)),console['log'](_0x5b38b1(0x23c)+_0x487c70+_0x5b38b1(0x211));}}else console['log'](_0x5b38b1(0x25a)),console[_0x5b38b1(0x1ef)](_0x316b3d[_0x5b38b1(0x208)]),console[_0x5b38b1(0x1ef)](_0x5b38b1(0x23c)+_0x487c70+'\x20install\x20chromium');return!![];}export async function writeRangerGitignore(_0x9e2a22){const _0x84b1c5=_0x3d0039,_0x48cf52={'nWOxT':'.gitignore','IxgFo':function(_0x1b7e60,_0x5a6080,_0x35b6d8){return _0x1b7e60(_0x5a6080,_0x35b6d8);},'fczQZ':_0x84b1c5(0x247)},_0x3b47a5=join(_0x9e2a22,_0x48cf52['nWOxT']),_0x22e19c=_0x84b1c5(0x23d);await _0x48cf52[_0x84b1c5(0x24a)](writeFile,_0x3b47a5,_0x22e19c),console[_0x84b1c5(0x1ef)](_0x48cf52[_0x84b1c5(0x239)]);}export async function ensureLocalEnv(_0x32e8e9,_0x4c3291){const _0x179893=_0x3d0039,_0x59a8f1={'lHPnI':function(_0x329b86,_0x3b7db4){return _0x329b86!==_0x3b7db4;},'BGUSJ':_0x179893(0x228),'eJegs':function(_0x2afb15){return _0x2afb15();},'vTsnI':function(_0x3a08d2,_0x2a76c9,_0x4b5d73){return _0x3a08d2(_0x2a76c9,_0x4b5d73);},'eUbSi':_0x179893(0x209)};if(!findGitRoot()&&_0x59a8f1[_0x179893(0x249)](_0x32e8e9?.[_0x179893(0x23f)],_0x59a8f1['BGUSJ']))return console['log'](_0x179893(0x1f9)),{'ready':![],'skipped':!![]};const _0x5a13ee=_0x32e8e9?.[_0x179893(0x23f)]===_0x59a8f1['BGUSJ']?_0x59a8f1[_0x179893(0x203)](getRangerHomeDir):undefined;if(_0x59a8f1[_0x179893(0x1ec)](findExistingEnv,_0x59a8f1[_0x179893(0x21e)],{'locations':[_0x179893(0x209)],'rangerDir':_0x5a13ee}))return console['log']('✓\x20Local\x20profile\x20already\x20exists'),{'ready':!![],'skipped':![]};try{return await addEnv(_0x59a8f1['eUbSi'],{'url':_0x32e8e9?.[_0x179893(0x219)],'force':_0x32e8e9?.['force'],'allowInsecureLocalhost':_0x32e8e9?.['allowInsecureLocalhost'],'scope':_0x32e8e9?.['scope']},_0x4c3291),{'ready':!![],'skipped':![]};}catch(_0x12cc15){return console[_0x179893(0x22a)]('\x0a❌\x20Profile\x20setup\x20failed:',_0x12cc15 instanceof Error?_0x12cc15[_0x179893(0x22d)]:_0x12cc15),{'ready':![],'skipped':![]};}}export async function start(_0x59e377,_0x3159f6,_0x52c20f){const _0x28b695=_0x3d0039,_0x3ebecb={'vagDk':function(_0x46e3e0,_0x142e9c){return _0x46e3e0!==_0x142e9c;},'OBDiu':'user','bTLcs':function(_0x71b77b,_0x8efe63){return _0x71b77b+_0x8efe63;},'pbHCF':'✓\x20Skipping\x20authentication\x20(--skip-auth)','ciZBH':_0x28b695(0x21d),'sfGco':'auth','xkSDi':function(_0x22a5a2,_0x2132bc){return _0x22a5a2(_0x2132bc);},'ezQlv':_0x28b695(0x22b),'ckNSl':function(_0x21d8c4,_0x28ea9e){return _0x21d8c4(_0x28ea9e);},'fxEIe':function(_0x3415d9,_0x506f27){return _0x3415d9(_0x506f27);},'twEzg':'ranger','XqcWN':_0x28b695(0x205),'ActNH':_0x28b695(0x1f4),'sDXEt':_0x28b695(0x235),'wNrsL':function(_0x4386a5,_0x57360f){return _0x4386a5 instanceof _0x57360f;},'XKsAj':function(_0x1e214d,_0x1afa0e,_0x25101d){return _0x1e214d(_0x1afa0e,_0x25101d);},'ZpjVz':function(_0x4d55bc,_0x5f33e8){return _0x4d55bc(_0x5f33e8);},'YMRgB':'\x0aIn\x20OpenCode,\x20enable\x20Ranger\x20hooks\x20(run\x20the\x20`ranger_enable`\x20tool)','aWJeO':'and\x20prompt\x20the\x20agent\x20like\x20usual.\x20Ranger\x20will\x20create\x20a\x20feature\x20review','GTDvo':_0x28b695(0x23e),'KDEFs':function(_0x3a30be,_0x2bbe11){return _0x3a30be(_0x2bbe11);},'XRwBC':function(_0x28bb7e,_0x47036f){return _0x28bb7e+_0x47036f;}};console[_0x28b695(0x1ef)](_0x28b695(0x231));_0x3159f6?.[_0x28b695(0x23f)]!==undefined&&_0x3ebecb[_0x28b695(0x243)](_0x3159f6[_0x28b695(0x23f)],_0x3ebecb['OBDiu'])&&(console['error'](_0x3ebecb['bTLcs'](_0x28b695(0x252)+String(_0x3159f6['scope'])+'\x20is\x20no\x20longer\x20supported.\x20'+_0x28b695(0x242),_0x28b695(0x245))),process['exit'](0x1));_0x3159f6={..._0x3159f6,'scope':'user'};const _0x208b0e=!existsSync(getRangerHomeDir());await ensureRangerDir(_0x28b695(0x228));if(_0x3159f6?.[_0x28b695(0x25c)])console['log'](_0x3ebecb['pbHCF']),_0x52c20f?.[_0x28b695(0x25d)]('auth',{'isFirstRun':_0x208b0e,'method':_0x3ebecb[_0x28b695(0x20e)]});else{_0x52c20f?.['trackPhaseStart'](_0x28b695(0x201));const _0x40ed9b=await authenticate(_0x59e377);_0x52c20f?.[_0x28b695(0x25d)](_0x3ebecb['sfGco'],{'isFirstRun':_0x208b0e,'method':_0x40ed9b[_0x28b695(0x21c)]});}_0x52c20f?.['trackPhaseStart']('chromium');_0x3159f6?.['skipChromium']?console['log']('✓\x20Skipping\x20Chromium\x20check\x20(--skip-chromium)'):await _0x3ebecb[_0x28b695(0x1ee)](ensureChromium,_0x3159f6?.['withDeps']);_0x52c20f?.['trackPhaseEnd'](_0x28b695(0x244),{'isFirstRun':_0x208b0e,'skipped':!!_0x3159f6?.[_0x28b695(0x1f7)]}),console['log'](_0x28b695(0x237));const _0x530419=_0x3159f6?.['scope'],_0x1afa06=_0x3159f6?.['opencode']??![];let _0x53d7d9=null;_0x1afa06?(_0x52c20f?.[_0x28b695(0x23a)](_0x3ebecb[_0x28b695(0x214)]),_0x53d7d9=await _0x3ebecb['ckNSl'](ensureOpencodePluginConfig,_0x530419),_0x52c20f?.['trackPhaseEnd']('plugin',{'isFirstRun':_0x208b0e,'opencode':!![]})):(_0x52c20f?.['trackPhaseStart'](_0x3ebecb[_0x28b695(0x214)]),await _0x3ebecb[_0x28b695(0x21a)](ensureClaudePlugin,_0x530419),_0x52c20f?.[_0x28b695(0x25d)]('plugin',{'isFirstRun':_0x208b0e}));if(_0x1afa06&&_0x53d7d9){_0x52c20f?.['trackPhaseStart']('skills');try{await installSkill(_0x3ebecb['twEzg'],{'level':_0x53d7d9[_0x28b695(0x23f)],'cliVersion':getCurrentVersion(),'platform':_0x3ebecb[_0x28b695(0x1fb)]}),_0x52c20f?.[_0x28b695(0x25d)](_0x3ebecb[_0x28b695(0x251)],{'isFirstRun':_0x208b0e,'opencode':!![]});}catch(_0x2a8f40){console['warn'](_0x3ebecb[_0x28b695(0x213)],_0x3ebecb[_0x28b695(0x1f2)](_0x2a8f40,Error)?_0x2a8f40['message']:_0x2a8f40),_0x52c20f?.['trackPhaseEnd'](_0x3ebecb[_0x28b695(0x251)],{'isFirstRun':_0x208b0e,'opencode':!![],'failed':!![]});}}else _0x52c20f?.[_0x28b695(0x23a)]('skills'),await ensureClaudeSkills(_0x530419),_0x52c20f?.['trackPhaseEnd'](_0x28b695(0x1f4),{'isFirstRun':_0x208b0e});if(_0x3159f6?.[_0x28b695(0x25c)])console['log']('\x0aSkipping\x20profile\x20setup\x20(--skip-auth).\x20Run\x20`ranger\x20setup`\x20with\x20auth\x20to\x20add\x20a\x20profile\x20later.\x0a');else{if(_0x3159f6?.[_0x28b695(0x219)]){_0x52c20f?.['trackPhaseStart']('profile');const _0x5ebfc3=await _0x3ebecb[_0x28b695(0x1f1)](ensureLocalEnv,{'url':_0x3159f6[_0x28b695(0x219)],'force':_0x3159f6?.['force'],'allowInsecureLocalhost':_0x3159f6?.[_0x28b695(0x221)],'scope':_0x3ebecb['OBDiu']},_0x52c20f);_0x52c20f?.[_0x28b695(0x25d)]('profile',{'isFirstRun':_0x208b0e,'profileReady':_0x5ebfc3[_0x28b695(0x259)],'userSkipped':_0x5ebfc3[_0x28b695(0x21d)]});}else console[_0x28b695(0x1ef)]('\x0aTo\x20set\x20up\x20a\x20profile\x20for\x20your\x20app,\x20run:'+(_0x28b695(0x222)+_0x3ebecb[_0x28b695(0x215)](bold,_0x28b695(0x21b)))+'\x0a\x20\x20(opens\x20a\x20browser\x20so\x20you\x20can\x20log\x20in\x20once)'+'\x0a\x0aFor\x20CI\x20/\x20background\x20agents\x20and\x20other\x20setup\x20options,\x20see:'+'\x0a\x20\x20https://docs.ranger.net/main/concepts/profiles');}if(_0x1afa06)console[_0x28b695(0x1ef)](_0x3ebecb[_0x28b695(0x220)]),console[_0x28b695(0x1ef)](_0x3ebecb['aWJeO']),console['log'](_0x28b695(0x255)),console[_0x28b695(0x1ef)](_0x3ebecb['GTDvo']);else{const _0x124981=_0x3ebecb[_0x28b695(0x20f)](bold,_0x28b695(0x236));console[_0x28b695(0x1ef)](_0x3ebecb[_0x28b695(0x23b)](_0x3ebecb['bTLcs'](_0x3ebecb[_0x28b695(0x20a)]('\x0aIn\x20Claude\x20Code,\x20run\x20'+_0x124981+_0x28b695(0x256),'\x0aagent\x20like\x20usual.\x20Claude\x20will\x20create\x20a\x20feature\x20review\x20with'),_0x28b695(0x238)),'\x0averification\x20to\x20check\x20its\x20work\x20as\x20it\x20builds.'));}}
|
package/build/commands/status.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
const _0x3021aa=_0x44be;(function(_0x20c21b,_0x4b8698){const _0x2cc1dc=_0x44be,_0x17709f=_0x20c21b();while(!![]){try{const _0x151515=parseInt(_0x2cc1dc(0x1a9))/0x1+parseInt(_0x2cc1dc(0x1c0))/0x2+parseInt(_0x2cc1dc(0x1c7))/0x3*(parseInt(_0x2cc1dc(0x1e7))/0x4)+-parseInt(_0x2cc1dc(0x1a6))/0x5*(parseInt(_0x2cc1dc(0x1d5))/0x6)+parseInt(_0x2cc1dc(0x1b2))/0x7+parseInt(_0x2cc1dc(0x1bd))/0x8+-parseInt(_0x2cc1dc(0x1b6))/0x9;if(_0x151515===_0x4b8698)break;else _0x17709f['push'](_0x17709f['shift']());}catch(_0x13aa4d){_0x17709f['push'](_0x17709f['shift']());}}}(_0x38bc,0xa0f74));import{readFile,readdir}from'fs/promises';import{join,basename}from'path';import{existsSync}from'fs';import{getToken}from'./utils/keychain.js';function _0x44be(_0x1f3d08,_0xee701e){_0x1f3d08=_0x1f3d08-0x199;const _0x38bcaf=_0x38bc();let _0x44be6d=_0x38bcaf[_0x1f3d08];return _0x44be6d;}import{getCurrentVersion,getLatestVersion}from'./utils/version.js';function _0x38bc(){const _0x33f9fe=['dFvrZ','FxpxL','cKvqn','665166jVxEpS','\x20(up\x20to\x20date)','displayName','all','ranger@trailhead','\x20\x20Not\x20configured','kvbfh','project','HyFqT','No\x20profiles\x20configured','DEBUG','bjync','utf-8','QgJKA','431388eLhitA','not_configured','HpxNd','Msyyf','success','name','details','\x1b]8;;file://','xdUYs','\x20\x20\x20\x20','map','WAWwS','\x20\x20Run:\x20ranger\x20profile\x20add\x20<profile-name>','zDbPG','\x1b[1m','BcnUj','Root:\x20','GoFHq','12dcsiMI','\x20\x20Run:\x20ranger\x20setup\x20[token]','settingsPath','log','No\x20skills\x20installed','@ranger-testing/opencode-plugin','parse','\x20\x20\x20\x20Settings:\x20','wYXce','unknown','Version:\x20','opencode','includes','version','plaintext','toString',':\x20configured','debug','DKEDh','length','15eLoLfx','data','Organization:\x20','566406fxLiBS','trim','MyaFz','cwd','GOuWs','RgFyv','stderr','MVWfj','\x20\x20\x20\x20Auth:\x20','4893448BIhlcF','API\x20URL:\x20','\x0a\x20\x20No\x20active\x20profile\x20set','disabled','21028590JJbZbD','path','Zybrc','vxTBk','join','jJLFe','status','2889744VAfdWH','close','\x20\x20User-level:','1839332LztFTy','string','VfEYR','IdElQ'];_0x38bc=function(){return _0x33f9fe;};return _0x38bc();}import{getApiBaseUrl,getCurrentEnvironment}from'./utils/environment.js';import{getProjectSkillsDir,getUserSkillsDir}from'./utils/claudeConfig.js';import{getEnvNames}from'./env.js';import{getCurrentUser}from'./utils/userApi.js';import{getRangerDir}from'./utils/rangerRoot.js';import{getEnvDir}from'./utils/settings.js';import{getPluginInfo}from'./utils/claudePlugin.js';import{RANGER_MANAGED_SKILLS}from'./utils/skills.js';import{spawn}from'child_process';const bold=_0x1555b3=>_0x3021aa(0x1e3)+_0x1555b3+'\x1b[0m',link=(_0x5eaf8f,_0x5b342b)=>_0x3021aa(0x1dc)+_0x5eaf8f+'\x07'+(_0x5b342b||_0x5eaf8f)+'\x1b]8;;\x07';async function getOpencodePluginStatus(){const _0x524fcc=_0x3021aa,_0x1cfe10={'PrdSa':_0x524fcc(0x1c1),'HpxNd':function(_0x76c640,_0x4d3d08){return _0x76c640(_0x4d3d08);},'tGBCt':'configured','Msyyf':'not_configured','DDVsL':function(_0x3eef10,_0x440d2f){return _0x3eef10(_0x440d2f);},'RgFyv':function(_0x384ce3,_0x3d9a81,_0x10a0cb,_0x57e1b3){return _0x384ce3(_0x3d9a81,_0x10a0cb,_0x57e1b3);},'QFoHq':_0x524fcc(0x19d),'IdElQ':_0x524fcc(0x1a3),'zDasH':'config','kvbfh':'pipe','yRpum':_0x524fcc(0x1a7)};return new Promise(_0x5e82eb=>{const _0x29c92a=_0x524fcc,_0x16aef0={'vxTBk':function(_0x18aa03,_0x350ce9){return _0x18aa03(_0x350ce9);}},_0x40d945=_0x1cfe10[_0x29c92a(0x1ae)](spawn,_0x1cfe10['QFoHq'],[_0x1cfe10[_0x29c92a(0x1c3)],_0x1cfe10['zDasH']],{'stdio':['ignore',_0x1cfe10['kvbfh'],_0x1cfe10[_0x29c92a(0x1cd)]]});let _0x1fe32c='';_0x40d945['stdout']?.['on']('data',_0x592004=>{const _0x115386=_0x29c92a;_0x1fe32c+=_0x592004[_0x115386(0x1a1)]();}),_0x40d945[_0x29c92a(0x1af)]?.['on'](_0x1cfe10['yRpum'],_0x5b7770=>{const _0x2b7519=_0x29c92a;_0x1fe32c+=_0x5b7770[_0x2b7519(0x1a1)]();}),_0x40d945['on']('error',()=>{const _0x3a5868=_0x29c92a;_0x16aef0[_0x3a5868(0x1b9)](_0x5e82eb,{'status':'not_installed'});}),_0x40d945['on'](_0x29c92a(0x1be),_0x5ed908=>{const _0x3f155a=_0x29c92a,_0x238769={'MyaFz':function(_0x23f336,_0x442c29){return _0x23f336!==_0x442c29;},'HKqZL':_0x1cfe10['PrdSa'],'BcnUj':'opencode-plugin'};if(_0x5ed908!==0x0){_0x1cfe10[_0x3f155a(0x1d7)](_0x5e82eb,{'status':'not_installed'});return;}const _0x1f59b=_0x1fe32c['trim']();let _0x47a09c=null;if(_0x1f59b)try{_0x47a09c=JSON[_0x3f155a(0x1ed)](_0x1f59b);}catch{const _0x52cbd8=_0x1f59b['match'](/\{[\s\S]*\}$/);if(_0x52cbd8)try{_0x47a09c=JSON[_0x3f155a(0x1ed)](_0x52cbd8[0x0]);}catch{_0x47a09c=null;}}const _0x49321e=Array['isArray'](_0x47a09c?.['plugin'])?_0x47a09c?.['plugin']:[],_0x1cfa30=_0x49321e['some'](_0x3f1b60=>{const _0x472859=_0x3f155a;if(_0x238769[_0x472859(0x1ab)](typeof _0x3f1b60,_0x238769['HKqZL']))return![];return _0x3f1b60[_0x472859(0x19e)](_0x472859(0x1ec))||_0x3f1b60[_0x472859(0x19e)](_0x238769[_0x472859(0x1e4)]);});if(_0x1cfa30){_0x1cfe10['HpxNd'](_0x5e82eb,{'status':_0x1cfe10['tGBCt'],'details':_0x49321e[_0x3f155a(0x1a5)]>0x0?_0x49321e['length']+'\x20plugin(s)\x20configured':undefined});return;}if(_0x49321e[_0x3f155a(0x1a5)]>0x0){_0x5e82eb({'status':_0x1cfe10[_0x3f155a(0x1d8)],'details':_0x49321e[_0x3f155a(0x1a5)]+'\x20plugin(s)\x20configured'});return;}_0x1cfe10['DDVsL'](_0x5e82eb,{'status':_0x3f155a(0x1d6)});});});}async function getSkillsFromDir(_0x42451c,_0x4675d6){const _0x4ba88a=_0x3021aa,_0x2dfc0c={'uHSsy':function(_0xbfc886,_0x5bc5fd){return _0xbfc886(_0x5bc5fd);},'ADhLd':function(_0x4cb176,_0x4721d5,_0x2314cb){return _0x4cb176(_0x4721d5,_0x2314cb);},'WAWwS':function(_0x2bbf11,_0x465048,_0x378811,_0xe66ff6){return _0x2bbf11(_0x465048,_0x378811,_0xe66ff6);},'jJLFe':'SKILL.md','dYuyq':function(_0x264233,_0x14c160,_0x2f9d20){return _0x264233(_0x14c160,_0x2f9d20);}};if(!_0x2dfc0c['uHSsy'](existsSync,_0x42451c))return[];const _0x154946=[];try{const _0x2823fe=await _0x2dfc0c['ADhLd'](readdir,_0x42451c,{'withFileTypes':!![]});for(const _0x15df44 of _0x2823fe){if(_0x15df44['isDirectory']()){const _0x37844e=_0x2dfc0c[_0x4ba88a(0x1e0)](join,_0x42451c,_0x15df44['name'],_0x2dfc0c[_0x4ba88a(0x1bb)]);if(existsSync(_0x37844e)){let _0x5c0056=_0x15df44[_0x4ba88a(0x1da)];try{const _0x3fbc03=await _0x2dfc0c['dYuyq'](readFile,_0x37844e,_0x4ba88a(0x1d3)),_0xd73e42=_0x3fbc03['match'](/name:\s*(.+)/);_0xd73e42&&(_0x5c0056=_0xd73e42[0x1][_0x4ba88a(0x1aa)]());}catch{}_0x154946['push']({'name':_0x15df44['name'],'displayName':_0x5c0056,'path':_0x37844e,'level':_0x4675d6});}}}}catch{return[];}return _0x154946;}async function getInstalledSkills(){const _0x5414c6=_0x3021aa,_0x419e66={'kEXAX':function(_0x403515){return _0x403515();},'ohoeq':_0x5414c6(0x1ce)},[_0x4d147d,_0x48b622]=await Promise[_0x5414c6(0x1ca)]([getSkillsFromDir(_0x419e66['kEXAX'](getProjectSkillsDir),_0x419e66['ohoeq']),getSkillsFromDir(_0x419e66['kEXAX'](getUserSkillsDir),'user')]);return{'project':_0x4d147d,'user':_0x48b622};}async function getEnvironments(){const _0x24e3ed={'Cebla':'settings.json','QhdBq':function(_0x126fde,_0x10af95,_0x828419){return _0x126fde(_0x10af95,_0x828419);},'IrSHU':function(_0x5a2f0b,_0x25546f,_0x373384){return _0x5a2f0b(_0x25546f,_0x373384);},'GOuWs':'auth.json.enc','ucCwX':function(_0x2ca94d,_0x28a55b){return _0x2ca94d(_0x28a55b);},'tYOsm':function(_0x4785ea){return _0x4785ea();}},{envNames:_0x39ad7c,activeEnv:_0x15c1b9}=await _0x24e3ed['tYOsm'](getEnvNames),_0x57508c=getRangerDir();if(!existsSync(_0x57508c))return{'envs':[],'activeEnv':null};const _0x3da93f=_0x39ad7c['map'](_0x1f1c77=>{const _0x5c445b=_0x44be,_0x4dbf6c=getEnvDir(_0x1f1c77),_0x1a1c7c=join(_0x4dbf6c,_0x24e3ed['Cebla']),_0x25e4e0=_0x24e3ed['QhdBq'](join,_0x4dbf6c,'auth.json'),_0x1707e9=_0x24e3ed['IrSHU'](join,_0x4dbf6c,_0x24e3ed[_0x5c445b(0x1ad)]);return{'name':_0x1f1c77,'settingsPath':_0x24e3ed['ucCwX'](existsSync,_0x1a1c7c)?_0x1a1c7c:'(not\x20found)','hasPlaintextAuth':existsSync(_0x25e4e0),'hasEncryptedAuth':existsSync(_0x1707e9),'isActive':_0x1f1c77===_0x15c1b9};});return{'envs':_0x3da93f,'activeEnv':_0x15c1b9};}export async function status(){const _0x6831e3=_0x3021aa,_0x2953c5={'zDbPG':function(_0x266608){return _0x266608();},'xdUYs':function(_0x55ee21,_0x11ff78,_0x5aada3){return _0x55ee21(_0x11ff78,_0x5aada3);},'uZxaV':function(_0x21a4b6,_0x5b86f1){return _0x21a4b6(_0x5b86f1);},'dFvrZ':function(_0x1139bd,_0x4cb70d){return _0x1139bd(_0x4cb70d);},'QgJKA':function(_0x30d202,_0x31725c){return _0x30d202!==_0x31725c;},'RcIRK':function(_0x41db13,_0x267292){return _0x41db13(_0x267292);},'DKEDh':function(_0x386036){return _0x386036();},'Zybrc':function(_0xb7db6){return _0xb7db6();},'ZlXXB':function(_0x1d42bb,_0x3f0020){return _0x1d42bb===_0x3f0020;},'XOGJI':'configured','HyFqT':_0x6831e3(0x1ec),'FxpxL':_0x6831e3(0x1d6),'ieRBI':_0x6831e3(0x1cb),'hJCJi':'enabled','cKvqn':'\x20\x20Not\x20installed','VfEYR':'\x20\x20Run:\x20ranger\x20setup\x20[token]\x20\x20(includes\x20plugin\x20installation)','GoFHq':'\x0a---\x20Skills\x20---','mahDu':function(_0x151ce2){return _0x151ce2();},'VyExP':_0x6831e3(0x1eb),'Ydmpa':function(_0x296228,_0x2c503f){return _0x296228(_0x2c503f);},'VDCNW':function(_0x579e38,_0x1e89ef){return _0x579e38>_0x1e89ef;},'MZkxC':_0x6831e3(0x1bf),'vROmj':function(_0x3baced){return _0x3baced();},'bjync':_0x6831e3(0x1d0),'wYXce':'\x20(active)','aoCNI':'encrypted','MVWfj':function(_0x553f2b,_0x3cce0b){return _0x553f2b!==_0x3cce0b;},'vlFCc':'(not\x20found)'};console[_0x6831e3(0x1ea)]('\x0a📊\x20Ranger\x20Status\x0a');const _0x479413=process[_0x6831e3(0x1ac)](),_0x3040e9=_0x2953c5[_0x6831e3(0x1e2)](getRangerDir);if(!existsSync(_0x3040e9)){console['log']('Root:\x20'+_0x2953c5[_0x6831e3(0x1dd)](link,_0x479413,bold(_0x2953c5['uZxaV'](basename,_0x479413)))),console['log']('\x0aRanger\x20has\x20not\x20been\x20initialized\x20in\x20this\x20directory.'),console[_0x6831e3(0x1ea)]('\x20\x20Run:\x20ranger\x20setup\x20[token]\x0a');return;}console[_0x6831e3(0x1ea)](_0x6831e3(0x1e5)+_0x2953c5[_0x6831e3(0x1dd)](link,_0x479413,_0x2953c5[_0x6831e3(0x1c4)](bold,basename(_0x479413))));const _0x38f7e5=getCurrentVersion(),_0xf1814c=getLatestVersion();if(_0xf1814c[_0x6831e3(0x19f)]&&_0x2953c5[_0x6831e3(0x1d4)](_0xf1814c[_0x6831e3(0x19f)],_0x38f7e5))console[_0x6831e3(0x1ea)](_0x6831e3(0x19c)+_0x38f7e5+'\x20(latest:\x20'+_0xf1814c['version']+')'),console[_0x6831e3(0x1ea)]('\x20\x20Run:\x20ranger\x20update');else _0xf1814c['version']?console[_0x6831e3(0x1ea)](_0x6831e3(0x19c)+_0x38f7e5+_0x6831e3(0x1c8)):console[_0x6831e3(0x1ea)]('Version:\x20'+_0x38f7e5);const _0x3e69ea=await _0x2953c5['zDbPG'](getToken);if(_0x3e69ea){const _0xa76103=await getCurrentUser(_0x3e69ea);_0xa76103[_0x6831e3(0x1d9)]?console['log'](_0x6831e3(0x1a8)+_0x2953c5['RcIRK'](bold,_0xa76103['user']['organizationName'])):(console['log']('API\x20Token:\x20✓\x20Found\x20but\x20invalid\x20or\x20expired'),console['log'](_0x6831e3(0x1e8)));}else console['log']('API\x20Token:\x20✗\x20Not\x20found'),console['log']('\x20\x20Run:\x20ranger\x20setup\x20[token]');process['env'][_0x6831e3(0x1d1)]&&(console['log']('API\x20Environment:\x20'+getCurrentEnvironment()),console['log'](_0x6831e3(0x1b3)+_0x2953c5[_0x6831e3(0x1a4)](getApiBaseUrl)));console['log']('\x0a---\x20OpenCode\x20Plugin\x20---');const _0x5beb77=await _0x2953c5[_0x6831e3(0x1b8)](getOpencodePluginStatus);if(_0x2953c5['ZlXXB'](_0x5beb77[_0x6831e3(0x1bc)],_0x2953c5['XOGJI']))console[_0x6831e3(0x1ea)]('\x20\x20'+bold(_0x2953c5[_0x6831e3(0x1cf)])+_0x6831e3(0x1a2)),_0x5beb77[_0x6831e3(0x1db)]&&console[_0x6831e3(0x1ea)]('\x20\x20'+_0x5beb77[_0x6831e3(0x1db)]);else _0x2953c5['ZlXXB'](_0x5beb77['status'],_0x2953c5[_0x6831e3(0x1c5)])?(console['log'](_0x6831e3(0x1cc)),_0x5beb77[_0x6831e3(0x1db)]&&console['log']('\x20\x20'+_0x5beb77[_0x6831e3(0x1db)]),console[_0x6831e3(0x1ea)]('\x20\x20Run:\x20ranger\x20setup\x20--opencode')):console['log']('\x20\x20OpenCode\x20not\x20installed\x20or\x20not\x20available');console[_0x6831e3(0x1ea)]('\x0a---\x20Claude\x20Code\x20Plugin\x20---');const _0x1b1d74=await getPluginInfo(_0x2953c5['ieRBI']);if(_0x1b1d74){const _0x33d0b8=_0x1b1d74['scope']||_0x6831e3(0x19b),_0x46a6c5=_0x1b1d74['enabled']?_0x2953c5['hJCJi']:_0x6831e3(0x1b5);console['log']('\x20\x20'+bold('ranger@trailhead')+':\x20installed\x20('+_0x33d0b8+',\x20'+_0x46a6c5+')');}else console['log'](_0x2953c5[_0x6831e3(0x1c6)]),console[_0x6831e3(0x1ea)](_0x2953c5[_0x6831e3(0x1c2)]);console['log'](_0x2953c5[_0x6831e3(0x1e6)]);const {project:_0x22a5f1,user:_0x48de94}=await _0x2953c5['mahDu'](getInstalledSkills),_0x55fdc3=_0x22a5f1['filter'](_0x2cc690=>RANGER_MANAGED_SKILLS['includes'](_0x2cc690[_0x6831e3(0x1da)])),_0x2a6762=_0x48de94['filter'](_0x4c62b4=>RANGER_MANAGED_SKILLS['includes'](_0x4c62b4[_0x6831e3(0x1da)])),_0x43a244=_0x55fdc3['length']+_0x2a6762[_0x6831e3(0x1a5)];if(_0x43a244===0x0)console['log'](_0x2953c5['VyExP']),console['log']('\x20\x20Run:\x20ranger\x20skillup');else{if(_0x55fdc3['length']>0x0){console[_0x6831e3(0x1ea)]('\x20\x20Project-level:');for(const _0x43b5ee of _0x55fdc3){console[_0x6831e3(0x1ea)](_0x6831e3(0x1de)+_0x2953c5[_0x6831e3(0x1c4)](bold,_0x43b5ee['displayName'])+':\x20'+link(_0x43b5ee[_0x6831e3(0x1b7)],_0x2953c5['Ydmpa'](basename,_0x43b5ee[_0x6831e3(0x1b7)])));}}if(_0x2953c5['VDCNW'](_0x2a6762[_0x6831e3(0x1a5)],0x0)){console[_0x6831e3(0x1ea)](_0x2953c5['MZkxC']);for(const _0x1d6af3 of _0x2a6762){console[_0x6831e3(0x1ea)]('\x20\x20\x20\x20'+_0x2953c5[_0x6831e3(0x1c4)](bold,_0x1d6af3[_0x6831e3(0x1c9)])+':\x20'+link(_0x1d6af3[_0x6831e3(0x1b7)],basename(_0x1d6af3[_0x6831e3(0x1b7)])));}}}console[_0x6831e3(0x1ea)]('\x0a---\x20Profiles\x20---');const {envs:_0x19562a,activeEnv:_0x37fa55}=await _0x2953c5['vROmj'](getEnvironments);if(_0x2953c5['ZlXXB'](_0x19562a[_0x6831e3(0x1a5)],0x0))console[_0x6831e3(0x1ea)](_0x2953c5[_0x6831e3(0x1d2)]),console[_0x6831e3(0x1ea)](_0x6831e3(0x1e1));else{for(const _0x3b61c1 of _0x19562a){const _0x1bcbd5=_0x3b61c1['isActive']?_0x2953c5[_0x6831e3(0x19a)]:'',_0x1a6004=_0x3b61c1['hasEncryptedAuth']?_0x2953c5['aoCNI']:_0x3b61c1['hasPlaintextAuth']?_0x6831e3(0x1a0):'none';console['log']('\x20\x20'+bold(_0x3b61c1[_0x6831e3(0x1da)])+_0x1bcbd5),console['log'](_0x6831e3(0x1b1)+_0x1a6004),_0x2953c5[_0x6831e3(0x1b0)](_0x3b61c1[_0x6831e3(0x1e9)],_0x2953c5['vlFCc'])&&console[_0x6831e3(0x1ea)](_0x6831e3(0x199)+link(_0x3b61c1[_0x6831e3(0x1e9)],basename(_0x3b61c1[_0x6831e3(0x1e9)])));}!_0x37fa55&&(console['log'](_0x6831e3(0x1b4)),console['log']('\x20\x20Run:\x20ranger\x20profile\x20use\x20<profile-name>\x20\x20(available:\x20'+_0x19562a[_0x6831e3(0x1df)](_0x3d5e6b=>_0x3d5e6b[_0x6831e3(0x1da)])[_0x6831e3(0x1ba)](',\x20')+')'));}console[_0x6831e3(0x1ea)]('');}
|
|
1
|
+
const _0x43016d=_0x52fd;(function(_0x27d8a8,_0x186e86){const _0x4ef167=_0x52fd,_0x2f59e0=_0x27d8a8();while(!![]){try{const _0x356e10=parseInt(_0x4ef167(0xdd))/0x1*(-parseInt(_0x4ef167(0xcb))/0x2)+-parseInt(_0x4ef167(0xc9))/0x3*(parseInt(_0x4ef167(0x12e))/0x4)+parseInt(_0x4ef167(0x106))/0x5+-parseInt(_0x4ef167(0xf4))/0x6+-parseInt(_0x4ef167(0xf2))/0x7*(parseInt(_0x4ef167(0x107))/0x8)+-parseInt(_0x4ef167(0x10f))/0x9+parseInt(_0x4ef167(0x130))/0xa*(parseInt(_0x4ef167(0xec))/0xb);if(_0x356e10===_0x186e86)break;else _0x2f59e0['push'](_0x2f59e0['shift']());}catch(_0xbe9990){_0x2f59e0['push'](_0x2f59e0['shift']());}}}(_0x142c,0x920c6));import{readFile,readdir}from'fs/promises';import{join,basename}from'path';import{existsSync}from'fs';import{getToken}from'./utils/keychain.js';import{getCurrentVersion,getLatestVersion}from'./utils/version.js';import{getApiBaseUrl,getCurrentEnvironment}from'./utils/environment.js';import{getProjectSkillsDir,getUserSkillsDir}from'./utils/claudeConfig.js';import{getEnvNames}from'./env.js';import{getCurrentUser}from'./utils/userApi.js';import{getRangerDir}from'./utils/rangerRoot.js';import{getEnvDir}from'./utils/settings.js';function _0x142c(){const _0x22b29e=['none','Version:\x20','yVIsP','API\x20Token:\x20✗\x20Not\x20found','opencode-plugin','3058870FnQXKf','1169144SGEdPx','filter',':\x20installed\x20(','join','includes','path','@ranger-testing/opencode-plugin','\x0a---\x20Claude\x20Code\x20Plugin\x20---','2178324ZYcZil','scope','sessionUpdatedAt','not_configured','FnObB','FhSaj','status','pipe','oUvwg','cached\x20(updated\x20','\x1b]8;;file://','stdout','trim','\x20\x20Run:\x20ranger\x20setup\x20[token]\x20\x20(includes\x20plugin\x20installation)','API\x20Token:\x20✓\x20Found\x20but\x20invalid\x20or\x20expired','cxgEn','displayName','DEBUG','\x20plugin(s)\x20configured','hAvMA','env','utf-8','\x20\x20Run:\x20ranger\x20profile\x20ls\x20\x20(list\x20all)','No\x20skills\x20installed','API\x20Environment:\x20','\x1b[1m','\x20(up\x20to\x20date)','\x0aRanger\x20has\x20not\x20been\x20initialized\x20in\x20this\x20directory.','settingsPath','log','OXfTB','80muHlRM','FXrAo','70dSFIqt','hasEncryptedAuth','lkzYw','string','\x20\x20\x20\x20','\x0a---\x20Profiles\x20---','map','56466mplKFR','plaintext','5622SibCji','Fujod','\x20\x20\x20\x20Settings:\x20','\x20\x20Run:\x20ranger\x20setup\x20[token]','\x1b]8;;\x07','\x20\x20Not\x20installed','auth.json.enc','(not\x20found)','wbdpJ','WBWUP','not_installed','length','parse','kiIHs','disabled','CsgzQ','sdUXI','rjHrh','389dXmspN','mbCsR','name','isDirectory','some','xgAyC','push','\x20profiles\x20configured\x20(','zUGKq','jLDKd','config','\x20\x20Run:\x20ranger\x20setup\x20[token]\x0a','auth.json','unknown','\x0a---\x20Skills\x20---','5012711aungsn','\x20\x20Project-level:','version','wpgeo','DIAIf','\x20\x20Run:\x20ranger\x20setup\x20--opencode','49ukvBQk','\x20[local]','2811066XAeapq','\x20\x20\x20\x20Auth:\x20','plugin','pXYtI','Root:\x20','jlnPU','API\x20URL:\x20','has','ranger@trailhead','\x20local','kysqR','\x20\x20User-level:','\x20(active)'];_0x142c=function(){return _0x22b29e;};return _0x142c();}import{listCloudProfiles}from'./utils/cloudProfile.js';import{getPluginInfo}from'./utils/claudePlugin.js';import{RANGER_MANAGED_SKILLS}from'./utils/skills.js';import{spawn}from'child_process';const bold=_0x5d1267=>_0x43016d(0x128)+_0x5d1267+'\x1b[0m',link=(_0x3f58f4,_0x1f74e1)=>_0x43016d(0x119)+_0x3f58f4+'\x07'+(_0x1f74e1||_0x3f58f4)+_0x43016d(0xcf);async function getOpencodePluginStatus(){const _0x4cecf8=_0x43016d,_0x3dd391={'mbCsR':_0x4cecf8(0xd5),'SvIOC':'@ranger-testing/opencode-plugin','hAvMA':function(_0x302789,_0x534c27){return _0x302789!==_0x534c27;},'WBWUP':function(_0x4d50c3,_0x5be904){return _0x4d50c3>_0x5be904;},'yVIsP':function(_0x269ac9,_0x6e93af){return _0x269ac9>_0x6e93af;},'Tejsc':function(_0x98b1c,_0x2734f3){return _0x98b1c(_0x2734f3);},'qzGih':_0x4cecf8(0x112),'sdUXI':'debug','zUGKq':_0x4cecf8(0xe7),'AlTnJ':'pipe','FhSaj':'data'};return new Promise(_0xf07fd3=>{const _0xb03391=_0x4cecf8,_0x437dca=spawn('opencode',[_0x3dd391[_0xb03391(0xdb)],_0x3dd391[_0xb03391(0xe5)]],{'stdio':['ignore',_0xb03391(0x116),_0x3dd391['AlTnJ']]});let _0x3d0216='';_0x437dca[_0xb03391(0x11a)]?.['on'](_0x3dd391[_0xb03391(0x114)],_0x33ae2f=>{_0x3d0216+=_0x33ae2f['toString']();}),_0x437dca['stderr']?.['on']('data',_0x5c7538=>{_0x3d0216+=_0x5c7538['toString']();}),_0x437dca['on']('error',()=>{const _0x51a5e7=_0xb03391;_0xf07fd3({'status':_0x3dd391[_0x51a5e7(0xde)]});}),_0x437dca['on']('close',_0x2288e7=>{const _0x535d69=_0xb03391,_0x127b02={'LIkJw':_0x3dd391['SvIOC'],'CsgzQ':_0x535d69(0x105)};if(_0x3dd391[_0x535d69(0x122)](_0x2288e7,0x0)){_0xf07fd3({'status':_0x3dd391[_0x535d69(0xde)]});return;}const _0x93851c=_0x3d0216[_0x535d69(0x11b)]();let _0x24080e=null;if(_0x93851c)try{_0x24080e=JSON[_0x535d69(0xd7)](_0x93851c);}catch{const _0x339b8a=_0x93851c['match'](/\{[\s\S]*\}$/);if(_0x339b8a)try{_0x24080e=JSON['parse'](_0x339b8a[0x0]);}catch{_0x24080e=null;}}const _0x240386=Array['isArray'](_0x24080e?.[_0x535d69(0xf6)])?_0x24080e?.[_0x535d69(0xf6)]:[],_0x4c7bb0=_0x240386[_0x535d69(0xe1)](_0x17cadd=>{const _0x2d4091=_0x535d69;if(typeof _0x17cadd!==_0x2d4091(0x133))return![];return _0x17cadd['includes'](_0x127b02['LIkJw'])||_0x17cadd[_0x2d4091(0x10b)](_0x127b02[_0x2d4091(0xda)]);});if(_0x4c7bb0){_0xf07fd3({'status':'configured','details':_0x3dd391[_0x535d69(0xd4)](_0x240386[_0x535d69(0xd6)],0x0)?_0x240386[_0x535d69(0xd6)]+'\x20plugin(s)\x20configured':undefined});return;}if(_0x3dd391[_0x535d69(0x103)](_0x240386['length'],0x0)){_0x3dd391['Tejsc'](_0xf07fd3,{'status':_0x3dd391['qzGih'],'details':_0x240386[_0x535d69(0xd6)]+_0x535d69(0x121)});return;}_0xf07fd3({'status':'not_configured'});});});}async function getSkillsFromDir(_0x54c2f8,_0x3c6810){const _0x5af8a1=_0x43016d,_0x312721={'QybpJ':function(_0x1825e1,_0x3d0b40){return _0x1825e1(_0x3d0b40);},'fVmWN':function(_0x58e722,_0x4207d8,_0x3c2445){return _0x58e722(_0x4207d8,_0x3c2445);},'cIqZt':'SKILL.md','cWmgD':function(_0x9b94d3,_0x2d4e58){return _0x9b94d3(_0x2d4e58);}};if(!_0x312721['QybpJ'](existsSync,_0x54c2f8))return[];const _0x223c51=[];try{const _0x189f22=await _0x312721['fVmWN'](readdir,_0x54c2f8,{'withFileTypes':!![]});for(const _0x5d8ec1 of _0x189f22){if(_0x5d8ec1[_0x5af8a1(0xe0)]()){const _0x1dd1b0=join(_0x54c2f8,_0x5d8ec1['name'],_0x312721['cIqZt']);if(_0x312721['cWmgD'](existsSync,_0x1dd1b0)){let _0x4d30ba=_0x5d8ec1['name'];try{const _0x5bf7ec=await readFile(_0x1dd1b0,_0x5af8a1(0x124)),_0x5d1eed=_0x5bf7ec['match'](/name:\s*(.+)/);_0x5d1eed&&(_0x4d30ba=_0x5d1eed[0x1]['trim']());}catch{}_0x223c51[_0x5af8a1(0xe3)]({'name':_0x5d8ec1['name'],'displayName':_0x4d30ba,'path':_0x1dd1b0,'level':_0x3c6810});}}}}catch{return[];}return _0x223c51;}async function getInstalledSkills(){const _0x44d3ad=_0x43016d,_0x3813c0={'lutBy':function(_0x4e129f){return _0x4e129f();},'xgAyC':'project','wpgeo':function(_0x15c0d1,_0x4b9505,_0x3492b1){return _0x15c0d1(_0x4b9505,_0x3492b1);},'LuCwE':function(_0x4eec4a){return _0x4eec4a();},'kysqR':'user'},[_0x233f1b,_0x26591e]=await Promise['all']([getSkillsFromDir(_0x3813c0['lutBy'](getProjectSkillsDir),_0x3813c0[_0x44d3ad(0xe2)]),_0x3813c0[_0x44d3ad(0xef)](getSkillsFromDir,_0x3813c0['LuCwE'](getUserSkillsDir),_0x3813c0[_0x44d3ad(0xfe)])]);return{'project':_0x233f1b,'user':_0x26591e};}function _0x52fd(_0x1e21a6,_0x310fea){_0x1e21a6=_0x1e21a6-0xc6;const _0x142c7f=_0x142c();let _0x52fd2d=_0x142c7f[_0x1e21a6];return _0x52fd2d;}async function getEnvironments(){const _0x5e8614=_0x43016d,_0x2ea0b5={'CcesX':function(_0x3dd021,_0x4dde71){return _0x3dd021(_0x4dde71);},'FXrAo':'settings.json','PoGYH':function(_0x2105d2,_0xd15412,_0x32603f){return _0x2105d2(_0xd15412,_0x32603f);},'jLDKd':function(_0x3a6ae8,_0x3ce8fe){return _0x3a6ae8(_0x3ce8fe);},'wbdpJ':function(_0x5dc2ee){return _0x5dc2ee();}},{envNames:_0x51849c,activeEnv:_0xce3273}=await getEnvNames(),_0x185609=_0x2ea0b5[_0x5e8614(0xd3)](getRangerDir);if(!existsSync(_0x185609))return{'envs':[],'activeEnv':null};const _0x3ea289=_0x51849c['map'](_0x29b44e=>{const _0x392bb7=_0x5e8614,_0x4ec03b=_0x2ea0b5['CcesX'](getEnvDir,_0x29b44e),_0x34e1ac=join(_0x4ec03b,_0x2ea0b5[_0x392bb7(0x12f)]),_0x3c0666=join(_0x4ec03b,_0x392bb7(0xe9)),_0x3975b5=_0x2ea0b5['PoGYH'](join,_0x4ec03b,_0x392bb7(0xd1));return{'name':_0x29b44e,'settingsPath':existsSync(_0x34e1ac)?_0x34e1ac:'(not\x20found)','hasPlaintextAuth':_0x2ea0b5[_0x392bb7(0xe6)](existsSync,_0x3c0666),'hasEncryptedAuth':existsSync(_0x3975b5),'isActive':_0x29b44e===_0xce3273};});return{'envs':_0x3ea289,'activeEnv':_0xce3273};}export async function status(){const _0x1230bb=_0x43016d,_0x2d016c={'oUvwg':function(_0x3b6d08,_0xbfca01){return _0x3b6d08(_0xbfca01);},'jlnPU':function(_0x5ef753){return _0x5ef753();},'XGWBs':function(_0x528bbd){return _0x528bbd();},'Cmrvg':'\x0a---\x20OpenCode\x20Plugin\x20---','cxgEn':function(_0x7b82d7,_0x35ffe9){return _0x7b82d7===_0x35ffe9;},'lkzYw':_0x1230bb(0x10d),'XRUgq':_0x1230bb(0x112),'swhgR':'\x20\x20OpenCode\x20not\x20installed\x20or\x20not\x20available','pXYtI':_0x1230bb(0xea),'FnObB':'enabled','kiIHs':_0x1230bb(0xd9),'KauHE':'ranger@trailhead','weMyc':_0x1230bb(0xd0),'HdPMN':_0x1230bb(0x126),'lwhbP':_0x1230bb(0xed),'tqZHF':function(_0x234c22,_0x315f5a){return _0x234c22(_0x315f5a);},'rjHrh':function(_0x252ec9,_0x5b68f0){return _0x252ec9>_0x5b68f0;},'DIAIf':function(_0x4d4f6d,_0x52a71e){return _0x4d4f6d(_0x52a71e);},'OXfTB':'No\x20profiles\x20configured','RGFJT':function(_0x6116f5,_0x44fff7){return _0x6116f5>_0x44fff7;},'wDEDD':function(_0x20dba7,_0x2775e3){return _0x20dba7===_0x2775e3;},'TNmeZ':'no\x20session','DKLLQ':_0x1230bb(0x101),'Fujod':function(_0x53481c,_0x4fba00,_0x2a78fc){return _0x53481c(_0x4fba00,_0x2a78fc);}};console['log']('\x0a📊\x20Ranger\x20Status\x0a');const _0x23a0e3=process['cwd'](),_0x16e435=getRangerDir();if(!existsSync(_0x16e435)){console['log'](_0x1230bb(0xf8)+link(_0x23a0e3,bold(basename(_0x23a0e3)))),console['log'](_0x1230bb(0x12a)),console['log'](_0x1230bb(0xe8));return;}console[_0x1230bb(0x12c)]('Root:\x20'+link(_0x23a0e3,_0x2d016c['oUvwg'](bold,basename(_0x23a0e3))));const _0x135091=getCurrentVersion(),_0x2f9cf6=_0x2d016c[_0x1230bb(0xf9)](getLatestVersion);if(_0x2f9cf6[_0x1230bb(0xee)]&&_0x2f9cf6['version']!==_0x135091)console[_0x1230bb(0x12c)](_0x1230bb(0x102)+_0x135091+'\x20(latest:\x20'+_0x2f9cf6['version']+')'),console[_0x1230bb(0x12c)]('\x20\x20Run:\x20ranger\x20update');else _0x2f9cf6['version']?console['log']('Version:\x20'+_0x135091+_0x1230bb(0x129)):console['log']('Version:\x20'+_0x135091);const _0x260155=await _0x2d016c['jlnPU'](getToken);if(_0x260155){const _0x369d9e=await getCurrentUser(_0x260155);_0x369d9e['success']?console[_0x1230bb(0x12c)]('Organization:\x20'+bold(_0x369d9e['user']['organizationName'])):(console['log'](_0x1230bb(0x11d)),console['log'](_0x1230bb(0xce)));}else console[_0x1230bb(0x12c)](_0x1230bb(0x104)),console[_0x1230bb(0x12c)]('\x20\x20Run:\x20ranger\x20setup\x20[token]');process[_0x1230bb(0x123)][_0x1230bb(0x120)]&&(console[_0x1230bb(0x12c)](_0x1230bb(0x127)+_0x2d016c['XGWBs'](getCurrentEnvironment)),console['log'](_0x1230bb(0xfa)+getApiBaseUrl()));console['log'](_0x2d016c['Cmrvg']);const _0x49ed77=await _0x2d016c['XGWBs'](getOpencodePluginStatus);if(_0x2d016c[_0x1230bb(0x11e)](_0x49ed77['status'],'configured'))console[_0x1230bb(0x12c)]('\x20\x20'+bold(_0x2d016c[_0x1230bb(0x132)])+':\x20configured'),_0x49ed77['details']&&console['log']('\x20\x20'+_0x49ed77['details']);else _0x49ed77[_0x1230bb(0x115)]===_0x2d016c['XRUgq']?(console['log']('\x20\x20Not\x20configured'),_0x49ed77['details']&&console[_0x1230bb(0x12c)]('\x20\x20'+_0x49ed77['details']),console[_0x1230bb(0x12c)](_0x1230bb(0xf1))):console['log'](_0x2d016c['swhgR']);console['log'](_0x1230bb(0x10e));const _0x8e6e73=await getPluginInfo(_0x1230bb(0xfc));if(_0x8e6e73){const _0x8ef719=_0x8e6e73[_0x1230bb(0x110)]||_0x2d016c[_0x1230bb(0xf7)],_0x360189=_0x8e6e73['enabled']?_0x2d016c[_0x1230bb(0x113)]:_0x2d016c[_0x1230bb(0xd8)];console['log']('\x20\x20'+_0x2d016c[_0x1230bb(0x117)](bold,_0x2d016c['KauHE'])+_0x1230bb(0x109)+_0x8ef719+',\x20'+_0x360189+')');}else console['log'](_0x2d016c['weMyc']),console[_0x1230bb(0x12c)](_0x1230bb(0x11c));console['log'](_0x1230bb(0xeb));const {project:_0x37a220,user:_0x3629d3}=await getInstalledSkills(),_0x138ffb=_0x37a220['filter'](_0x1ca775=>RANGER_MANAGED_SKILLS['includes'](_0x1ca775['name'])),_0x1ea0d4=_0x3629d3[_0x1230bb(0x108)](_0x15711a=>RANGER_MANAGED_SKILLS['includes'](_0x15711a['name'])),_0x569651=_0x138ffb['length']+_0x1ea0d4[_0x1230bb(0xd6)];if(_0x569651===0x0)console[_0x1230bb(0x12c)](_0x2d016c['HdPMN']),console['log']('\x20\x20Run:\x20ranger\x20skillup');else{if(_0x138ffb[_0x1230bb(0xd6)]>0x0){console[_0x1230bb(0x12c)](_0x2d016c['lwhbP']);for(const _0x38257e of _0x138ffb){console[_0x1230bb(0x12c)]('\x20\x20\x20\x20'+bold(_0x38257e['displayName'])+':\x20'+link(_0x38257e['path'],_0x2d016c['tqZHF'](basename,_0x38257e[_0x1230bb(0x10c)])));}}if(_0x2d016c[_0x1230bb(0xdc)](_0x1ea0d4[_0x1230bb(0xd6)],0x0)){console[_0x1230bb(0x12c)](_0x1230bb(0xff));for(const _0x4533e5 of _0x1ea0d4){console[_0x1230bb(0x12c)](_0x1230bb(0xc6)+bold(_0x4533e5[_0x1230bb(0x11f)])+':\x20'+link(_0x4533e5['path'],_0x2d016c[_0x1230bb(0xf0)](basename,_0x4533e5[_0x1230bb(0x10c)])));}}}console[_0x1230bb(0x12c)](_0x1230bb(0xc7));const {envs:_0x442bb8,activeEnv:_0x327a6f}=await getEnvironments();let _0x47cc0e=[];if(_0x260155)try{_0x47cc0e=await listCloudProfiles();}catch{}const _0x318526=_0x442bb8['length']+_0x47cc0e[_0x1230bb(0xd6)];if(_0x318526===0x0)console['log'](_0x2d016c[_0x1230bb(0x12d)]),console[_0x1230bb(0x12c)]('\x20\x20Run:\x20ranger\x20profile\x20add\x20<profile-name>');else{if(_0x318526>0x5){const _0x31102d=[];_0x2d016c[_0x1230bb(0xdc)](_0x47cc0e['length'],0x0)&&_0x31102d[_0x1230bb(0xe3)](_0x47cc0e[_0x1230bb(0xd6)]+'\x20cloud'),_0x2d016c['RGFJT'](_0x442bb8['length'],0x0)&&_0x31102d['push'](_0x442bb8[_0x1230bb(0xd6)]+_0x1230bb(0xfd)),console[_0x1230bb(0x12c)](_0x318526+_0x1230bb(0xe4)+_0x31102d[_0x1230bb(0x10a)](',\x20')+')'),_0x327a6f&&console[_0x1230bb(0x12c)]('\x20\x20Active:\x20'+bold(_0x327a6f)),console['log'](_0x1230bb(0x125));}else{for(const _0xe1b45f of _0x47cc0e){const _0x279869=_0x2d016c['wDEDD'](_0xe1b45f[_0x1230bb(0xdf)],_0x327a6f)?_0x1230bb(0x100):'';console[_0x1230bb(0x12c)]('\x20\x20'+_0x2d016c[_0x1230bb(0xf0)](bold,_0xe1b45f['name'])+'\x20[cloud]'+_0x279869);const _0x5e4226=_0xe1b45f['sessionUpdatedAt']?_0x1230bb(0x118)+_0xe1b45f[_0x1230bb(0x111)]+')':_0x2d016c['TNmeZ'];console[_0x1230bb(0x12c)]('\x20\x20\x20\x20Session:\x20'+_0x5e4226);}const _0x1e1fa2=new Set(_0x47cc0e[_0x1230bb(0xc8)](_0x1ce78c=>_0x1ce78c[_0x1230bb(0xdf)]));for(const _0x2d06be of _0x442bb8){if(_0x1e1fa2[_0x1230bb(0xfb)](_0x2d06be['name']))continue;const _0x9a76d2=_0x2d06be['isActive']?_0x1230bb(0x100):'',_0x311934=_0x2d06be[_0x1230bb(0x131)]?'encrypted':_0x2d06be['hasPlaintextAuth']?_0x1230bb(0xca):_0x2d016c['DKLLQ'];console['log']('\x20\x20'+bold(_0x2d06be['name'])+_0x1230bb(0xf3)+_0x9a76d2),console[_0x1230bb(0x12c)](_0x1230bb(0xf5)+_0x311934),_0x2d06be[_0x1230bb(0x12b)]!==_0x1230bb(0xd2)&&console[_0x1230bb(0x12c)](_0x1230bb(0xcd)+_0x2d016c[_0x1230bb(0xcc)](link,_0x2d06be[_0x1230bb(0x12b)],_0x2d016c[_0x1230bb(0x117)](basename,_0x2d06be['settingsPath'])));}if(!_0x327a6f){console['log']('\x0a\x20\x20No\x20active\x20profile\x20set');const _0x1a99d2=[..._0x47cc0e[_0x1230bb(0xc8)](_0x152d2d=>_0x152d2d['name']),..._0x442bb8[_0x1230bb(0x108)](_0x25a988=>!_0x1e1fa2[_0x1230bb(0xfb)](_0x25a988['name']))[_0x1230bb(0xc8)](_0x4b6acc=>_0x4b6acc['name'])];console['log']('\x20\x20Run:\x20ranger\x20profile\x20use\x20<profile-name>\x20\x20(available:\x20'+_0x1a99d2['join'](',\x20')+')');}}}console['log']('');}
|