@ranger-testing/ranger-cli 3.0.0 → 3.0.1-alpha.aab0a1c-26

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.
Files changed (81) hide show
  1. package/build/cli.js +1 -1
  2. package/build/commands/addEnv.js +1 -1
  3. package/build/commands/authEncrypt.js +1 -1
  4. package/build/commands/clean.js +1 -1
  5. package/build/commands/config.js +1 -1
  6. package/build/commands/deleteProfile.js +1 -1
  7. package/build/commands/env.js +1 -1
  8. package/build/commands/feature.js +1 -1
  9. package/build/commands/hook.js +1 -1
  10. package/build/commands/hooks/autoPrompt.js +1 -1
  11. package/build/commands/hooks/disable.js +1 -1
  12. package/build/commands/hooks/enable.js +1 -1
  13. package/build/commands/hooks/exitPlanMode.js +1 -1
  14. package/build/commands/hooks/index.js +1 -1
  15. package/build/commands/hooks/output.js +1 -1
  16. package/build/commands/hooks/planReminder.js +1 -1
  17. package/build/commands/hooks/planStart.js +1 -1
  18. package/build/commands/hooks/postEdit.js +1 -1
  19. package/build/commands/hooks/preCompact.js +1 -1
  20. package/build/commands/hooks/sessionEnd.js +1 -1
  21. package/build/commands/hooks/sessionStart.js +1 -1
  22. package/build/commands/hooks/stopHook.js +1 -1
  23. package/build/commands/index.js +1 -1
  24. package/build/commands/login.js +1 -1
  25. package/build/commands/mcpBootstrap.js +1 -1
  26. package/build/commands/migrateProfile.js +1 -1
  27. package/build/commands/setup/claude.js +1 -1
  28. package/build/commands/setup/opencode.js +1 -1
  29. package/build/commands/setupCi.js +1 -1
  30. package/build/commands/skillup.js +1 -1
  31. package/build/commands/start.js +1 -1
  32. package/build/commands/status.js +1 -1
  33. package/build/commands/update.js +1 -1
  34. package/build/commands/updateEnv.js +1 -1
  35. package/build/commands/useEnv.js +1 -1
  36. package/build/commands/utils/activeProfile.js +1 -1
  37. package/build/commands/utils/agentEnv.js +1 -1
  38. package/build/commands/utils/browserSessionsApi.js +1 -1
  39. package/build/commands/utils/claudeConfig.js +1 -1
  40. package/build/commands/utils/claudeOverrideSettings.js +1 -1
  41. package/build/commands/utils/claudePlugin.js +1 -1
  42. package/build/commands/utils/cloudProfile.js +1 -1
  43. package/build/commands/utils/cloudProfileSession.js +1 -1
  44. package/build/commands/utils/crypto.js +1 -1
  45. package/build/commands/utils/desirePathLog.js +1 -1
  46. package/build/commands/utils/deviceAuth.js +1 -1
  47. package/build/commands/utils/environment.js +1 -1
  48. package/build/commands/utils/featureApi.js +1 -1
  49. package/build/commands/utils/fixWebmDuration.js +1 -1
  50. package/build/commands/utils/gitTracked.js +1 -1
  51. package/build/commands/utils/keychain.js +1 -1
  52. package/build/commands/utils/legacyWarning.js +1 -1
  53. package/build/commands/utils/localAgentInstallationsApi.js +1 -1
  54. package/build/commands/utils/matchAuthEnvironment.js +1 -1
  55. package/build/commands/utils/mcpImageBase64.js +1 -1
  56. package/build/commands/utils/model.js +1 -1
  57. package/build/commands/utils/novaActCli.js +1 -1
  58. package/build/commands/utils/opencodeConfig.js +1 -1
  59. package/build/commands/utils/playwrightCli.js +1 -1
  60. package/build/commands/utils/profileMessages.js +1 -1
  61. package/build/commands/utils/profileSetupBanner.js +1 -1
  62. package/build/commands/utils/projectsConfig.js +1 -1
  63. package/build/commands/utils/rangerConfig.js +1 -1
  64. package/build/commands/utils/rangerRoot.js +1 -1
  65. package/build/commands/utils/resolveProfileContext.js +1 -1
  66. package/build/commands/utils/resolveProfileUrl.js +1 -1
  67. package/build/commands/utils/retry.js +1 -1
  68. package/build/commands/utils/sessionCache.js +1 -1
  69. package/build/commands/utils/settings.js +1 -1
  70. package/build/commands/utils/skillContent.js +1 -1
  71. package/build/commands/utils/skills.js +1 -1
  72. package/build/commands/utils/stitchWebmFiles.js +1 -1
  73. package/build/commands/utils/telemetry.js +1 -1
  74. package/build/commands/utils/tokenRefresh.js +1 -1
  75. package/build/commands/utils/traceSnapshotMapper.js +1 -1
  76. package/build/commands/utils/userApi.js +1 -1
  77. package/build/commands/utils/version.js +1 -1
  78. package/build/commands/verifyFeature.js +1 -1
  79. package/build/commands/verifyFeatureCli.js +1 -1
  80. package/build/commands/verifyFeatureNovaCli.js +1 -1
  81. package/package.json +1 -1
@@ -1 +1 @@
1
- (function(_0x97e857,_0x1e0a26){const _0x553e6c=_0x16f9,_0x18393a=_0x97e857();while(!![]){try{const _0x371baa=parseInt(_0x553e6c(0x143))/0x1+parseInt(_0x553e6c(0x138))/0x2*(parseInt(_0x553e6c(0x136))/0x3)+-parseInt(_0x553e6c(0x145))/0x4+parseInt(_0x553e6c(0x141))/0x5*(parseInt(_0x553e6c(0x147))/0x6)+-parseInt(_0x553e6c(0x142))/0x7*(-parseInt(_0x553e6c(0x13d))/0x8)+-parseInt(_0x553e6c(0x146))/0x9+-parseInt(_0x553e6c(0x148))/0xa;if(_0x371baa===_0x1e0a26)break;else _0x18393a['push'](_0x18393a['shift']());}catch(_0x2688d7){_0x18393a['push'](_0x18393a['shift']());}}}(_0x251b,0x70703));import{runDeviceAuthFlow}from'./utils/deviceAuth.js';import{getCurrentUser}from'./utils/userApi.js';import{getMcpAuthOrigin,mcpBootstrap}from'./mcpBootstrap.js';import{isInteractive}from'./utils/cloudProfileSession.js';export async function login(){const _0xc73b99=_0x16f9,_0x21e1f4={'yxGTo':function(_0x3fa7df){return _0x3fa7df();},'qnBGf':_0xc73b99(0x137),'RBQyr':function(_0x294f88){return _0x294f88();},'qQQrA':function(_0x5dd825,_0x30c448){return _0x5dd825(_0x30c448);}},_0x495c78=await _0x21e1f4[_0xc73b99(0x13a)](getMcpAuthOrigin);if(_0x495c78){console[_0xc73b99(0x139)](_0x21e1f4[_0xc73b99(0x13e)]),await mcpBootstrap();return;}if(!_0x21e1f4[_0xc73b99(0x135)](isInteractive))throw new Error(_0xc73b99(0x13f));try{const _0x4a3f80=await runDeviceAuthFlow(),_0x31d7bd=await _0x21e1f4['qQQrA'](getCurrentUser,_0x4a3f80);_0x31d7bd[_0xc73b99(0x140)]?console['log']('\x0a✅\x20Logged\x20in\x20to\x20'+_0x31d7bd[_0xc73b99(0x144)][_0xc73b99(0x149)]):console[_0xc73b99(0x139)](_0xc73b99(0x13c));}catch(_0x2aad47){throw new Error(_0xc73b99(0x13b)+(_0x2aad47 instanceof Error?_0x2aad47['message']:_0x2aad47));}}function _0x16f9(_0x2dcb27,_0x4c424c){_0x2dcb27=_0x2dcb27-0x135;const _0x251b5e=_0x251b();let _0x16f91a=_0x251b5e[_0x2dcb27];return _0x16f91a;}function _0x251b(){const _0x133a5d=['499729vDxOfD','user','442088fqLwfm','5905944TAKMtK','108156ukbeeu','7182290PEZmqn','organizationName','RBQyr','57NXtTSI','Re-authenticating\x20via\x20MCP\x20bootstrap...','60886fOSBge','log','yxGTo','Login\x20failed:\x20','\x0a✅\x20API\x20key\x20stored\x20successfully','3333744qaRBML','qnBGf','Login\x20requires\x20an\x20interactive\x20terminal.\x20In\x20CI,\x20use:\x20ranger\x20setup\x20[token]\x20or\x20set\x20RANGER_CLI_TOKEN.','success','125sTeYlC','7kmyJCl'];_0x251b=function(){return _0x133a5d;};return _0x251b();}
1
+ function _0x35c2(_0xbf9b3b,_0x1705f6){_0xbf9b3b=_0xbf9b3b-0x1cf;const _0x2527fd=_0x2527();let _0x35c22a=_0x2527fd[_0xbf9b3b];return _0x35c22a;}(function(_0x5b4770,_0x318645){const _0x1c7dcc=_0x35c2,_0x2ca36d=_0x5b4770();while(!![]){try{const _0x56fd50=-parseInt(_0x1c7dcc(0x1d1))/0x1+parseInt(_0x1c7dcc(0x1d3))/0x2*(parseInt(_0x1c7dcc(0x1d9))/0x3)+-parseInt(_0x1c7dcc(0x1d0))/0x4+-parseInt(_0x1c7dcc(0x1d4))/0x5+parseInt(_0x1c7dcc(0x1dd))/0x6*(parseInt(_0x1c7dcc(0x1de))/0x7)+parseInt(_0x1c7dcc(0x1d5))/0x8*(-parseInt(_0x1c7dcc(0x1d8))/0x9)+-parseInt(_0x1c7dcc(0x1df))/0xa*(-parseInt(_0x1c7dcc(0x1d2))/0xb);if(_0x56fd50===_0x318645)break;else _0x2ca36d['push'](_0x2ca36d['shift']());}catch(_0x61720c){_0x2ca36d['push'](_0x2ca36d['shift']());}}}(_0x2527,0xde6c4));import{runDeviceAuthFlow}from'./utils/deviceAuth.js';import{getCurrentUser}from'./utils/userApi.js';import{getMcpAuthOrigin,mcpBootstrap}from'./mcpBootstrap.js';import{isInteractive}from'./utils/cloudProfileSession.js';function _0x2527(){const _0x568a38=['6016328VdljZE','log','Login\x20failed:\x20','9IPPBNM','155667aKHxLk','Re-authenticating\x20via\x20MCP\x20bootstrap...','ffjZd','\x0a✅\x20Logged\x20in\x20to\x20','30KMYnxP','2300186ZrGHBW','8570GgYVMs','organizationName','success','6705480YEFgzn','935206qclgLT','35563DgRfak','16Gsxehq','2770610fnGwZG'];_0x2527=function(){return _0x568a38;};return _0x2527();}export async function login(){const _0x37c8af=_0x35c2,_0x4c32e5={'ffjZd':_0x37c8af(0x1da),'melut':function(_0x45b256){return _0x45b256();},'jYopU':'Login\x20requires\x20an\x20interactive\x20terminal.\x20In\x20CI,\x20use:\x20ranger\x20setup\x20[token]\x20or\x20set\x20RANGER_CLI_TOKEN.','bXJfK':'\x0a✅\x20API\x20key\x20stored\x20successfully'},_0x166909=await getMcpAuthOrigin();if(_0x166909){console[_0x37c8af(0x1d6)](_0x4c32e5[_0x37c8af(0x1db)]),await mcpBootstrap();return;}if(!_0x4c32e5['melut'](isInteractive))throw new Error(_0x4c32e5['jYopU']);try{const _0x2b64d0=await _0x4c32e5['melut'](runDeviceAuthFlow),_0x4fb8ed=await getCurrentUser(_0x2b64d0);_0x4fb8ed[_0x37c8af(0x1cf)]?console['log'](_0x37c8af(0x1dc)+_0x4fb8ed['user'][_0x37c8af(0x1e0)]):console['log'](_0x4c32e5['bXJfK']);}catch(_0x306620){throw new Error(_0x37c8af(0x1d7)+(_0x306620 instanceof Error?_0x306620['message']:_0x306620));}}
@@ -1 +1 @@
1
- const _0x51ab1e=_0x169f;function _0x169f(_0x250ef7,_0x4a1191){_0x250ef7=_0x250ef7-0x144;const _0x335a58=_0x335a();let _0x169f29=_0x335a58[_0x250ef7];return _0x169f29;}function _0x335a(){const _0x3fc26b=['NsBKc','refreshToken','yGlKo','bPeQU','<html><body><h2>Authenticated!</h2><p>You\x20can\x20close\x20this\x20window\x20and\x20return\x20to\x20the\x20terminal.</p></body></html>','77ggiWNh','jmlKx','authorization_servers','\x0aOpening\x20browser\x20for\x20authentication...','hex','toString','aZsKw','text/html','origin','get','slice','http://localhost:','2.0','RSiaH','authorization_code','dnbfw','OAuth\x20callback\x20timed\x20out\x20after\x202\x20minutes','clientId','qZxzN','qpMai','write','1095984WcGfVp','mcp-oauth-tokens.json','message','replace','auth-origin.txt','nsxld','response_type','ppnqC','/.well-known/oauth-authorization-server','Authorization','TMqrr','get_cli_token\x20failed:\x20','BDXPs','lbSXG','LqSaW','utf-8','\x0aUnexpected\x20response\x20structure:','isError','writeHead','Token\x20exchange\x20failed:\x20','accessToken','1924480pOZtSw','registration_endpoint','error','application/json','text','text/event-stream','PGhaQ','code','headers','error_description','Could\x20not\x20extract\x20token\x20from\x20MCP\x20response','parse','data:','Ranger\x20CLI','Discovering\x20authorization\x20server...','vExwN','OAuthTimeoutError','bVtgj','searchParams','/.well-known/oauth-protected-resource','token','close','CWQpb','stringify','AObse','1412832AfnUUf','trim','191892ayzuRR','Requesting\x20CLI\x20token...','code_challenge','SpAcX','expiresAt','stdout','DDHoK','refresh_token','.ranger','Initializing\x20MCP\x20session...','315208yuCfNH','ShgRM','get_cli_token','1.0.0','win32','redirect_uri','ifrSJ','tools/call','client_id','log','9794088YczFJx','JiqiZ','state','hSJGv','fYPcq','maBqd','<html><body><h2>Invalid\x20callback</h2><p>Missing\x20code\x20or\x20state\x20mismatch.</p></body></html>','2025-03-26','zwtdY','CTtOM','VMiAS','xtkbM','ZsQxW','initialize','resource','dSaqS','isTTY','Authorization\x20server\x20does\x20not\x20support\x20dynamic\x20client\x20registration\x20and\x20no\x20cached\x20client\x20found','json','set','2XZLPmo','127.0.0.1','POST','JCLmM','split','structuredContent','XammJ','KHvPo','3613630DaCrmo','/callback','lSylx','QgPLD','LLuhh','end','proxied','status','now'];_0x335a=function(){return _0x3fc26b;};return _0x335a();}(function(_0x3ee9db,_0x264bb1){const _0x592560=_0x169f,_0x65c5de=_0x3ee9db();while(!![]){try{const _0x2fce73=-parseInt(_0x592560(0x161))/0x1*(-parseInt(_0x592560(0x189))/0x2)+parseInt(_0x592560(0x1b4))/0x3+-parseInt(_0x592560(0x146))/0x4+parseInt(_0x592560(0x191))/0x5+parseInt(_0x592560(0x15f))/0x6+parseInt(_0x592560(0x19f))/0x7*(parseInt(_0x592560(0x16b))/0x8)+-parseInt(_0x592560(0x175))/0x9;if(_0x2fce73===_0x264bb1)break;else _0x65c5de['push'](_0x65c5de['shift']());}catch(_0x51df8a){_0x65c5de['push'](_0x65c5de['shift']());}}}(_0x335a,0x5ca55));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(),_0x51ab1e(0x169),_0x51ab1e(0x1b5)),AUTH_ORIGIN_PATH=join(homedir(),_0x51ab1e(0x169),_0x51ab1e(0x1b8));export async function getMcpAuthOrigin(){const _0x1e2255=_0x51ab1e,_0x37c6f3={'ShgRM':function(_0x33ac12,_0x405f91,_0x1b546e){return _0x33ac12(_0x405f91,_0x1b546e);},'JCLmM':_0x1e2255(0x1c3)};try{const _0x5cfcfd=(await _0x37c6f3[_0x1e2255(0x16c)](readFile,AUTH_ORIGIN_PATH,_0x37c6f3[_0x1e2255(0x18c)]))['trim']();return _0x5cfcfd||null;}catch{return null;}}export async function mcpBootstrap(){const _0x4788c7=_0x51ab1e,_0x593839={'PGhaQ':function(_0x1dcecf,_0x145ea8){return _0x1dcecf(_0x145ea8);},'ppnqC':function(_0x21cd2f,_0x24344e){return _0x21cd2f===_0x24344e;},'fRlum':_0x4788c7(0x197),'gcxoJ':function(_0x278c51){return _0x278c51();},'jmlKx':function(_0x1a27ed,_0x5d31e7){return _0x1a27ed+_0x5d31e7;},'vExwN':'MCP\x20server\x20requires\x20authentication\x20but\x20running\x20in\x20non-interactive\x20mode.\x0a'},_0x3c5133=getMcpAuthUrl();currentOrigin=_0x3c5133;const _0x4d2d62=process[_0x4788c7(0x166)][_0x4788c7(0x185)]??![];console['log']('\x0aConnecting\x20to\x20MCP\x20auth\x20server:\x20'+_0x3c5133+'\x0a');const _0x26dbb1=await _0x593839[_0x4788c7(0x14c)](tryUnauthenticated,_0x3c5133);let _0x407993=null;if(_0x593839[_0x4788c7(0x1bb)](_0x26dbb1,_0x593839['fRlum']))_0x407993='';else{_0x407993=await _0x593839['gcxoJ'](loadCachedToken);if(!_0x407993){if(!_0x4d2d62)throw new Error(_0x593839[_0x4788c7(0x1a0)](_0x593839[_0x4788c7(0x155)],'Run\x20`ranger\x20setup\x20--mcp-bootstrap`\x20interactively\x20first.'));_0x407993=await oauthFlow(_0x3c5133);}}await callGetCliToken(_0x3c5133,_0x407993);}async function tryUnauthenticated(_0x56be17){const _0x4d66cc=_0x51ab1e,_0x36b439={'QgPLD':function(_0x5377ef,_0x473618,_0x249d21){return _0x5377ef(_0x473618,_0x249d21);},'XXZZo':_0x4d66cc(0x18b),'USAJF':'application/json','lSylx':'application/json,\x20text/event-stream','IxkQM':_0x4d66cc(0x1ab),'bVtgj':_0x4d66cc(0x182),'zwtdY':_0x4d66cc(0x16e),'fWijl':_0x4d66cc(0x197)},_0x447449=await _0x36b439[_0x4d66cc(0x194)](fetch,_0x56be17,{'method':_0x36b439['XXZZo'],'headers':{'Content-Type':_0x36b439['USAJF'],'Accept':_0x36b439[_0x4d66cc(0x193)]},'body':JSON[_0x4d66cc(0x15d)]({'jsonrpc':_0x36b439['IxkQM'],'id':0x1,'method':_0x36b439[_0x4d66cc(0x157)],'params':{'protocolVersion':_0x4d66cc(0x17c),'capabilities':{},'clientInfo':{'name':'ranger-cli','version':_0x36b439[_0x4d66cc(0x17d)]}}})});if(_0x447449['ok'])return await _0x447449['text'](),_0x36b439['fWijl'];if(_0x447449[_0x4d66cc(0x198)]===0x191)return await _0x447449['text'](),'needs-oauth';const _0x584779=await _0x447449[_0x4d66cc(0x14a)]();throw new Error('MCP\x20server\x20returned\x20HTTP\x20'+_0x447449['status']+':\x20'+_0x584779);}class OAuthTimeoutError extends Error{constructor(_0x8f9389){const _0xd0e039=_0x51ab1e,_0x59a5d9={'RLjlb':_0xd0e039(0x156)};super(_0x8f9389),this['name']=_0x59a5d9['RLjlb'];}}async function oauthFlow(_0x30d093){const _0x2c1246=_0x51ab1e,_0x43ddb9={'oShFH':function(_0x3a9233){return _0x3a9233();},'CTtOM':function(_0x4b9c8e,_0x54d254){return _0x4b9c8e(_0x54d254);}};try{return await oauthFlowAttempt(_0x30d093);}catch(_0x3e0667){if(_0x3e0667 instanceof OAuthTimeoutError&&await loadCachedClient())return console[_0x2c1246(0x174)]('\x0aCached\x20OAuth\x20client\x20may\x20be\x20stale\x20—\x20clearing\x20and\x20retrying...\x0a'),await _0x43ddb9['oShFH'](clearCachedClient),await _0x43ddb9[_0x2c1246(0x17e)](oauthFlowAttempt,_0x30d093);throw _0x3e0667;}}async function oauthFlowAttempt(_0x3cf36d){const _0x239200=_0x51ab1e,_0x4a53ce={'GfwPw':_0x239200(0x154),'vysHU':'Could\x20not\x20fetch\x20protected\x20resource\x20metadata\x20from\x20MCP\x20server','UPnwX':'No\x20authorization_servers\x20in\x20protected\x20resource\x20metadata','mxqsq':function(_0x52c186,_0xa1953b){return _0x52c186(_0xa1953b);},'qUisR':_0x239200(0x153),'qZxzN':_0x239200(0x1ad),'VMiAS':'refresh_token','TZrpC':'\x20done','qpMai':_0x239200(0x186),'JiqiZ':function(_0x2d5558,_0x554d49){return _0x2d5558(_0x554d49);},'nsxld':'base64url','gaHhz':function(_0x411c8b,_0x447cf0){return _0x411c8b(_0x447cf0);},'AObse':'sha256','lbSXG':_0x239200(0x1a3),'KIfkt':_0x239200(0x1ba),'eIwlE':_0x239200(0x170),'RuLAN':_0x239200(0x163),'xtkbM':'code_challenge_method','rmGXN':'resource','REEqV':_0x239200(0x1a2),'Pslbr':function(_0x5838a1,_0x57d066){return _0x5838a1(_0x57d066);},'CgiSZ':'Exchanging\x20authorization\x20code...','VrHOh':'client_secret','yLwUN':function(_0x1b2bbe,_0x516f11,_0x416092){return _0x1b2bbe(_0x516f11,_0x416092);},'KHvPo':'application/x-www-form-urlencoded'},_0x5b7b5a=_0x3cf36d[_0x239200(0x1b7)](/\/mcp$/,'');process[_0x239200(0x166)]['write'](_0x4a53ce['GfwPw']);const _0x2a4e31=await fetch(_0x5b7b5a+_0x239200(0x159));if(!_0x2a4e31['ok'])throw new Error(_0x4a53ce['vysHU']);const _0x33aff0=await _0x2a4e31['json'](),_0x3bd0fe=_0x33aff0[_0x239200(0x1a1)]?.[0x0];if(!_0x3bd0fe)throw new Error(_0x4a53ce['UPnwX']);console[_0x239200(0x174)]('\x20'+_0x3bd0fe);const _0x4c819c=await _0x4a53ce['mxqsq'](fetchAuthServerMetadata,_0x3bd0fe);let _0x5eea4f,_0x5808e4;const _0x18d40d=await loadCachedClient();if(_0x18d40d)_0x5eea4f=_0x18d40d['clientId'],_0x5808e4=_0x18d40d['clientSecret'];else{if(_0x4c819c['registration_endpoint']){process['stdout'][_0x239200(0x1b3)]('Registering\x20OAuth\x20client...');const _0x572de2=await fetch(_0x4c819c[_0x239200(0x147)],{'method':'POST','headers':{'Content-Type':'application/json'},'body':JSON['stringify']({'client_name':_0x4a53ce['qUisR'],'redirect_uris':[_0x239200(0x1aa)+CALLBACK_PORT+'/callback'],'grant_types':[_0x4a53ce[_0x239200(0x1b1)],_0x4a53ce[_0x239200(0x17f)]],'response_types':['code'],'token_endpoint_auth_method':'none'})});if(!_0x572de2['ok']){const _0x27a376=await _0x572de2[_0x239200(0x14a)]();throw new Error('Client\x20registration\x20failed:\x20'+_0x27a376);}const _0x2de5dc=await _0x572de2[_0x239200(0x187)]();_0x5eea4f=_0x2de5dc[_0x239200(0x173)],_0x5808e4=_0x2de5dc['client_secret'],await saveCachedClient(_0x5eea4f,_0x5808e4),console[_0x239200(0x174)](_0x4a53ce['TZrpC']);}else throw new Error(_0x4a53ce[_0x239200(0x1b2)]);}const _0x26d080=_0x4a53ce[_0x239200(0x176)](randomBytes,0x20)['toString'](_0x4a53ce[_0x239200(0x1b9)]),_0x294d30=_0x4a53ce['gaHhz'](createHash,_0x4a53ce[_0x239200(0x15e)])['update'](_0x26d080)['digest'](_0x4a53ce[_0x239200(0x1b9)]),_0x48eaa1=_0x4a53ce['gaHhz'](randomBytes,0x10)[_0x239200(0x1a4)](_0x4a53ce[_0x239200(0x1c1)]),_0x55a200=new URL(_0x4c819c['authorization_endpoint']);_0x55a200['searchParams']['set'](_0x4a53ce['KIfkt'],_0x239200(0x14d)),_0x55a200['searchParams'][_0x239200(0x188)](_0x239200(0x173),_0x5eea4f),_0x55a200['searchParams'][_0x239200(0x188)](_0x4a53ce['eIwlE'],_0x239200(0x1aa)+CALLBACK_PORT+'/callback'),_0x55a200[_0x239200(0x158)][_0x239200(0x188)](_0x4a53ce['RuLAN'],_0x294d30),_0x55a200[_0x239200(0x158)][_0x239200(0x188)](_0x4a53ce[_0x239200(0x180)],'S256'),_0x55a200[_0x239200(0x158)]['set']('state',_0x48eaa1);_0x33aff0[_0x239200(0x183)]&&_0x55a200['searchParams'][_0x239200(0x188)](_0x4a53ce['rmGXN'],_0x33aff0['resource']);console[_0x239200(0x174)](_0x4a53ce['REEqV']),console['log']('If\x20the\x20browser\x20doesn\x27t\x20open,\x20visit:\x0a'+_0x55a200[_0x239200(0x1a4)]()+'\x0a'),await openBrowser(_0x55a200['toString']());const _0x34ec32=await _0x4a53ce['Pslbr'](waitForCallback,_0x48eaa1);process[_0x239200(0x166)][_0x239200(0x1b3)](_0x4a53ce['CgiSZ']);const _0x1d157c=new URLSearchParams({'grant_type':'authorization_code','code':_0x34ec32,'redirect_uri':'http://localhost:'+CALLBACK_PORT+'/callback','client_id':_0x5eea4f,'code_verifier':_0x26d080});_0x5808e4&&_0x1d157c[_0x239200(0x188)](_0x4a53ce['VrHOh'],_0x5808e4);_0x33aff0['resource']&&_0x1d157c[_0x239200(0x188)](_0x239200(0x183),_0x33aff0['resource']);const _0x377061=await _0x4a53ce['yLwUN'](fetch,_0x4c819c['token_endpoint'],{'method':'POST','headers':{'Content-Type':_0x4a53ce[_0x239200(0x190)]},'body':_0x1d157c});if(!_0x377061['ok']){const _0x310b99=await _0x377061['text']();throw new Error(_0x239200(0x144)+_0x310b99);}const _0x444d97=await _0x377061[_0x239200(0x187)]();return console['log']('\x20done'),await saveCachedToken(_0x444d97['access_token'],_0x444d97[_0x239200(0x168)],_0x444d97['expires_in']),_0x444d97['access_token'];}async function callGetCliToken(_0x4b50e1,_0x447bc0){const _0xd99194=_0x51ab1e,_0xd2b839={'bPeQU':_0xd99194(0x149),'wOEJQ':function(_0x3cf645,_0x5ee155){return _0x3cf645(_0x5ee155);},'DDHoK':'2025-03-26','Uqaef':'\x20done','aTdiI':function(_0x20b288,_0x5d4587,_0x4fbc15){return _0x20b288(_0x5d4587,_0x4fbc15);},'EBpZa':_0xd99194(0x18b),'yGlKo':'notifications/initialized','xunHG':_0xd99194(0x1c4),'waESQ':function(_0x44907e,_0x311bf9,_0x12db5b){return _0x44907e(_0x311bf9,_0x12db5b);},'fYPcq':function(_0xe4d316){return _0xe4d316();},'uomlz':'.ranger','maBqd':'auth-origin.txt'},_0xc5f668={'Content-Type':_0xd2b839[_0xd99194(0x19d)],'Accept':'application/json,\x20text/event-stream'};_0x447bc0&&(_0xc5f668[_0xd99194(0x1bd)]='Bearer\x20'+_0x447bc0);const _0x103914=async _0x1fd746=>{const _0x13a4d8=_0xd99194,_0xa6d39=await fetch(_0x4b50e1,{'method':_0x13a4d8(0x18b),'headers':_0xc5f668,'body':JSON[_0x13a4d8(0x15d)](_0x1fd746)});if(!_0xa6d39['ok']){const _0x1e73d7=await _0xa6d39['text']();throw new Error('HTTP\x20'+_0xa6d39[_0x13a4d8(0x198)]+':\x20'+_0x1e73d7);}return parseResponse(_0xa6d39);};process[_0xd99194(0x166)][_0xd99194(0x1b3)](_0xd99194(0x16a));const _0x1b81d8=await _0xd2b839['wOEJQ'](_0x103914,{'jsonrpc':'2.0','id':0x1,'method':'initialize','params':{'protocolVersion':_0xd2b839[_0xd99194(0x167)],'capabilities':{},'clientInfo':{'name':'ranger-cli','version':_0xd99194(0x16e)}}});if(_0x1b81d8['error'])throw new Error('MCP\x20initialize\x20failed:\x20'+(_0x1b81d8[_0xd99194(0x148)][_0xd99194(0x1b6)]??JSON[_0xd99194(0x15d)](_0x1b81d8[_0xd99194(0x148)])));console['log'](_0xd2b839['Uqaef']),await _0xd2b839['aTdiI'](fetch,_0x4b50e1,{'method':_0xd2b839['EBpZa'],'headers':_0xc5f668,'body':JSON[_0xd99194(0x15d)]({'jsonrpc':'2.0','method':_0xd2b839[_0xd99194(0x19c)]})})['then'](_0x2e1c7c=>_0x2e1c7c[_0xd99194(0x14a)]()),process['stdout']['write'](_0xd99194(0x162));const _0x25ef0d=await _0x103914({'jsonrpc':'2.0','id':0x2,'method':_0xd99194(0x172),'params':{'name':_0xd99194(0x16d),'arguments':{}}});if(_0x25ef0d['error'])throw new Error(_0xd99194(0x1bf)+(_0x25ef0d['error'][_0xd99194(0x1b6)]??JSON['stringify'](_0x25ef0d[_0xd99194(0x148)])));console[_0xd99194(0x174)](_0xd2b839['Uqaef']);const _0x251f89=extractToken(_0x25ef0d['result']);if(!_0x251f89){console[_0xd99194(0x148)](_0xd2b839['xunHG']),console[_0xd99194(0x148)](JSON['stringify'](_0x25ef0d['result'],null,0x2));throw new Error(_0xd99194(0x150));}const _0x5c0ee0=_0xd2b839['waESQ'](join,_0xd2b839[_0xd99194(0x179)](homedir),_0xd2b839['uomlz']),_0x50b2c4=join(_0x5c0ee0,'refresh.txt');await mkdir(_0x5c0ee0,{'recursive':!![]}),await writeFile(_0x50b2c4,_0x251f89,{'mode':0x180}),await writeFile(join(_0x5c0ee0,_0xd2b839[_0xd99194(0x17a)]),_0x4b50e1,{'mode':0x180}),console['log']('\x0aToken\x20written\x20to\x20'+_0x50b2c4),console[_0xd99194(0x174)]('Run\x20`ranger\x20status`\x20to\x20verify\x20authentication.\x0a');}async function fetchAuthServerMetadata(_0x5ef744){const _0x5cb45a=_0x51ab1e,_0x370ff0={'aZsKw':function(_0x1a8c2b,_0x7eb08a){return _0x1a8c2b(_0x7eb08a);}},_0xa3cb7a=_0x5ef744+_0x5cb45a(0x1bc),_0x52aa4f=await _0x370ff0[_0x5cb45a(0x1a5)](fetch,_0xa3cb7a);if(!_0x52aa4f['ok'])throw new Error('Could\x20not\x20fetch\x20auth\x20server\x20metadata\x20from\x20'+_0xa3cb7a+':\x20'+_0x52aa4f[_0x5cb45a(0x198)]);return _0x52aa4f['json']();}function waitForCallback(_0x4a062a){const _0x47704a=_0x51ab1e,_0x347812={'ifrSJ':_0x47704a(0x1af),'SpAcX':'code','JslLw':_0x47704a(0x17b),'dSaqS':_0x47704a(0x19e)};return new Promise((_0xdcbe73,_0x1d10d0)=>{const _0x5a9753=_0x47704a,_0x4505bf={'xCjBv':_0x347812[_0x5a9753(0x171)],'DposO':function(_0x1170f2,_0x4d68bb){return _0x1170f2!==_0x4d68bb;},'DnPpi':_0x5a9753(0x192),'XammJ':_0x347812[_0x5a9753(0x164)],'BDXPs':_0x5a9753(0x1a6),'TMqrr':_0x347812['JslLw'],'pxoUp':_0x347812[_0x5a9753(0x184)],'LqSaW':function(_0x3be062,_0x2bc30b){return _0x3be062(_0x2bc30b);}},_0x17efba=()=>{const _0x37eb3c=_0x5a9753;_0x33d35c['closeAllConnections'](),_0x33d35c[_0x37eb3c(0x15b)]();},_0x36b1cd=setTimeout(()=>{_0x17efba(),_0x1d10d0(new OAuthTimeoutError(_0x4505bf['xCjBv']));},0x1d4c0),_0x33d35c=createServer((_0x4260e2,_0x284ef1)=>{const _0x2bf8e5=_0x5a9753,_0x418f2c=new URL(_0x4260e2['url']??'/',_0x2bf8e5(0x1aa)+CALLBACK_PORT);if(_0x4505bf['DposO'](_0x418f2c['pathname'],_0x4505bf['DnPpi'])){_0x284ef1[_0x2bf8e5(0x1c6)](0x194),_0x284ef1[_0x2bf8e5(0x196)]('Not\x20found');return;}const _0x57f0cf=_0x418f2c['searchParams']['get'](_0x4505bf[_0x2bf8e5(0x18f)]),_0x4d3c42=_0x418f2c['searchParams']['get'](_0x2bf8e5(0x177)),_0x2e047d=_0x418f2c[_0x2bf8e5(0x158)][_0x2bf8e5(0x1a8)]('error');if(_0x2e047d){const _0x4d2620=_0x418f2c['searchParams']['get'](_0x2bf8e5(0x14f))??_0x2e047d;_0x284ef1['writeHead'](0xc8,{'Content-Type':_0x4505bf[_0x2bf8e5(0x1c0)]}),_0x284ef1['end']('<html><body><h2>Authentication\x20failed</h2><p>'+_0x4d2620+'</p><p>You\x20can\x20close\x20this\x20window.</p></body></html>'),clearTimeout(_0x36b1cd),_0x17efba(),_0x1d10d0(new Error('OAuth\x20error:\x20'+_0x4d2620));return;}if(!_0x57f0cf||_0x4d3c42!==_0x4a062a){_0x284ef1['writeHead'](0x190,{'Content-Type':_0x2bf8e5(0x1a6)}),_0x284ef1['end'](_0x4505bf[_0x2bf8e5(0x1be)]);return;}_0x284ef1[_0x2bf8e5(0x1c6)](0xc8,{'Content-Type':_0x4505bf['BDXPs']}),_0x284ef1[_0x2bf8e5(0x196)](_0x4505bf['pxoUp']),clearTimeout(_0x36b1cd),_0x17efba(),_0x4505bf[_0x2bf8e5(0x1c2)](_0xdcbe73,_0x57f0cf);});_0x33d35c['listen'](CALLBACK_PORT,_0x5a9753(0x18a));});}async function openBrowser(_0x5b1435){const _0x4d8bb6=_0x51ab1e,_0xfaf3ed={'sHLjt':function(_0x50edc8,_0x1b3aba){return _0x50edc8===_0x1b3aba;},'Vtezo':'darwin'},_0x47395d=_0xfaf3ed['sHLjt'](process['platform'],_0xfaf3ed['Vtezo'])?'open':process['platform']===_0x4d8bb6(0x16f)?'start':'xdg-open';exec(_0x47395d+'\x20\x22'+_0x5b1435+'\x22');}let currentOrigin='';async function loadCachedToken(){const _0x22460b=_0x51ab1e,_0xd1b6cf={'ZsQxW':function(_0x511678,_0xbc0ad){return _0x511678>_0xbc0ad;}};try{const _0x38200d=JSON['parse'](await readFile(TOKEN_CACHE_PATH,'utf-8'));if(_0x38200d[_0x22460b(0x1a7)]&&_0x38200d[_0x22460b(0x1a7)]!==currentOrigin)return null;if(_0x38200d[_0x22460b(0x165)]&&_0xd1b6cf[_0x22460b(0x181)](Date[_0x22460b(0x199)](),_0x38200d[_0x22460b(0x165)]))return null;return _0x38200d[_0x22460b(0x145)]??null;}catch{return null;}}async function saveCachedToken(_0x324d6b,_0x268955,_0x570f7c){const _0x3cad33=_0x51ab1e,_0x16db59={'dnbfw':function(_0x522a72){return _0x522a72();},'sQiPs':function(_0x1d81a5,_0x6a1c05){return _0x1d81a5*_0x6a1c05;},'YyvlL':function(_0x4ae8f0,_0x2a65a3,_0x2a2276){return _0x4ae8f0(_0x2a65a3,_0x2a2276);},'hSJGv':function(_0x1ab699,_0x295730,_0x4a6b9e,_0x351254){return _0x1ab699(_0x295730,_0x4a6b9e,_0x351254);}},_0x300c0f=await _0x16db59[_0x3cad33(0x1ae)](loadCachedData),_0x258f0a={..._0x300c0f,'origin':currentOrigin,'accessToken':_0x324d6b,'refreshToken':_0x268955??_0x300c0f?.[_0x3cad33(0x19b)],'expiresAt':_0x570f7c?Date['now']()+_0x16db59['sQiPs'](_0x570f7c,0x3e8):undefined};await _0x16db59['YyvlL'](mkdir,join(_0x16db59[_0x3cad33(0x1ae)](homedir),_0x3cad33(0x169)),{'recursive':!![]}),await _0x16db59[_0x3cad33(0x178)](writeFile,TOKEN_CACHE_PATH,JSON['stringify'](_0x258f0a),{'mode':0x180});}async function loadCachedClient(){const _0x2bf35b=_0x51ab1e,_0x1cb52d={'owSjD':function(_0x344929,_0x1dbde5){return _0x344929!==_0x1dbde5;}},_0x15cfec=await loadCachedData();if(_0x15cfec?.[_0x2bf35b(0x1a7)]&&_0x1cb52d['owSjD'](_0x15cfec[_0x2bf35b(0x1a7)],currentOrigin))return null;return _0x15cfec?.[_0x2bf35b(0x1b0)]?{'clientId':_0x15cfec[_0x2bf35b(0x1b0)],'clientSecret':_0x15cfec['clientSecret']}:null;}async function clearCachedClient(){const _0x93ed7e=_0x51ab1e,_0x1ba3e0={'LLuhh':function(_0xa01af2){return _0xa01af2();}},_0x3ecac6=await _0x1ba3e0[_0x93ed7e(0x195)](loadCachedData);if(!_0x3ecac6)return;const {clientId:_0x1d2c46,clientSecret:_0x5a7e4a,..._0xa24778}=_0x3ecac6;await writeFile(TOKEN_CACHE_PATH,JSON[_0x93ed7e(0x15d)](_0xa24778),{'mode':0x180});}async function saveCachedClient(_0x5d619b,_0x19294c){const _0x13c435=_0x51ab1e,_0x2632ac={'HuPDL':function(_0x10e37a){return _0x10e37a();},'AUoQv':function(_0xa2a339,_0x362ba9,_0x331ed9){return _0xa2a339(_0x362ba9,_0x331ed9);},'Ffvym':function(_0x205cf5,_0x3241ae,_0x3d66f7){return _0x205cf5(_0x3241ae,_0x3d66f7);},'liabH':'.ranger'},_0x76482e=await _0x2632ac['HuPDL'](loadCachedData),_0x41c9a9={..._0x76482e,'origin':currentOrigin,'accessToken':_0x76482e?.['accessToken']??'','clientId':_0x5d619b,'clientSecret':_0x19294c};await _0x2632ac['AUoQv'](mkdir,_0x2632ac['Ffvym'](join,_0x2632ac['HuPDL'](homedir),_0x2632ac['liabH']),{'recursive':!![]}),await writeFile(TOKEN_CACHE_PATH,JSON[_0x13c435(0x15d)](_0x41c9a9),{'mode':0x180});}async function loadCachedData(){const _0x263e42=_0x51ab1e;try{return JSON[_0x263e42(0x151)](await readFile(TOKEN_CACHE_PATH,_0x263e42(0x1c3)));}catch{return null;}}async function parseResponse(_0x46c3c4){const _0x30721c=_0x51ab1e,_0x3c8aed={'vIUek':'content-type','CWQpb':_0x30721c(0x14b),'VhGes':function(_0x5daba1,_0x21b798){return _0x5daba1!==_0x21b798;}},_0x4054b3=_0x46c3c4[_0x30721c(0x14e)]['get'](_0x3c8aed['vIUek'])??'';if(_0x4054b3['includes'](_0x3c8aed[_0x30721c(0x15c)])){const _0x365118=await _0x46c3c4[_0x30721c(0x14a)]();for(const _0x20b011 of _0x365118[_0x30721c(0x18d)]('\x0a')){const _0x2b1615=_0x20b011[_0x30721c(0x160)]();if(_0x2b1615['startsWith'](_0x30721c(0x152))){const _0x3cd936=_0x2b1615[_0x30721c(0x1a9)](_0x30721c(0x152)['length'])['trim']();if(!_0x3cd936)continue;try{const _0x1589ec=JSON['parse'](_0x3cd936);if(_0x3c8aed['VhGes'](_0x1589ec['id'],undefined)||_0x1589ec['error'])return _0x1589ec;}catch{}}}throw new Error('No\x20JSON-RPC\x20response\x20found\x20in\x20SSE\x20stream');}return _0x46c3c4['json']();}function extractToken(_0x27e93e){const _0x2d8f2f=_0x51ab1e,_0x47e574={'NsBKc':'string','hpQrX':'Unknown\x20error','RSiaH':_0x2d8f2f(0x14a)};if(!_0x27e93e)return null;const _0x40edbb=_0x27e93e[_0x2d8f2f(0x18e)];if(_0x40edbb?.['token']&&typeof _0x40edbb[_0x2d8f2f(0x15a)]===_0x47e574[_0x2d8f2f(0x19a)])return _0x40edbb['token'];if(_0x27e93e[_0x2d8f2f(0x1c5)]){const _0x30efcc=_0x27e93e['content'];throw new Error('Server\x20returned\x20error:\x20'+(_0x30efcc?.[0x0]?.['text']??_0x47e574['hpQrX']));}const _0x4cb2da=_0x27e93e['content'];if(_0x4cb2da)for(const _0x23487a of _0x4cb2da){if(_0x23487a['type']===_0x47e574[_0x2d8f2f(0x1ac)]&&_0x23487a[_0x2d8f2f(0x14a)]){try{const _0x5e987b=JSON[_0x2d8f2f(0x151)](_0x23487a['text']);if(typeof _0x5e987b?.[_0x2d8f2f(0x15a)]===_0x47e574['NsBKc'])return _0x5e987b['token'];}catch{}const _0x512ade=_0x23487a['text']['match'](/(rngr_[A-Za-z0-9_-]+)/);if(_0x512ade)return _0x512ade[0x1];}}return null;}
1
+ const _0x419226=_0x5ecb;(function(_0x539b40,_0x40f1f0){const _0x5bd845=_0x5ecb,_0xda3602=_0x539b40();while(!![]){try{const _0x47f1d2=parseInt(_0x5bd845(0x148))/0x1+parseInt(_0x5bd845(0x10f))/0x2*(-parseInt(_0x5bd845(0x146))/0x3)+-parseInt(_0x5bd845(0x11a))/0x4*(-parseInt(_0x5bd845(0xbb))/0x5)+parseInt(_0x5bd845(0x10a))/0x6+-parseInt(_0x5bd845(0x133))/0x7+parseInt(_0x5bd845(0x150))/0x8*(parseInt(_0x5bd845(0x111))/0x9)+-parseInt(_0x5bd845(0x10e))/0xa*(-parseInt(_0x5bd845(0xe4))/0xb);if(_0x47f1d2===_0x40f1f0)break;else _0xda3602['push'](_0xda3602['shift']());}catch(_0x179560){_0xda3602['push'](_0xda3602['shift']());}}}(_0x1596,0xb2940));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',_0x419226(0x12d)),AUTH_ORIGIN_PATH=join(homedir(),_0x419226(0xd3),_0x419226(0x102));export async function getMcpAuthOrigin(){const _0xfc1d31=_0x419226;try{const _0x316c5e=(await readFile(AUTH_ORIGIN_PATH,'utf-8'))[_0xfc1d31(0x127)]();return _0x316c5e||null;}catch{return null;}}export async function mcpBootstrap(){const _0x2ecbc4=_0x419226,_0x407733={'kxCvF':function(_0x48dc62,_0x8eae1d){return _0x48dc62(_0x8eae1d);},'pgVry':_0x2ecbc4(0xc7),'sBIus':function(_0x20a8a4,_0x12d6ef){return _0x20a8a4(_0x12d6ef);}},_0x514931=getMcpAuthUrl();currentOrigin=_0x514931;const _0x22cc9b=process['stdout'][_0x2ecbc4(0xd4)]??![];console['log']('\x0aConnecting\x20to\x20MCP\x20auth\x20server:\x20'+_0x514931+'\x0a');const _0x4b4ba8=await _0x407733['kxCvF'](tryUnauthenticated,_0x514931);let _0x3b5ab8=null;if(_0x4b4ba8===_0x2ecbc4(0x131))_0x3b5ab8='';else{_0x3b5ab8=await loadCachedToken();if(!_0x3b5ab8){if(!_0x22cc9b)throw new Error(_0x407733[_0x2ecbc4(0xd8)]+'Run\x20`ranger\x20setup\x20--mcp-bootstrap`\x20interactively\x20first.');_0x3b5ab8=await _0x407733['sBIus'](oauthFlow,_0x514931);}}await callGetCliToken(_0x514931,_0x3b5ab8);}async function tryUnauthenticated(_0x3aa773){const _0x35b0b3=_0x419226,_0x4decd6={'DWifG':_0x35b0b3(0x106),'yhajD':'application/json','xDElL':_0x35b0b3(0xea),'qBDwj':_0x35b0b3(0xdb),'WOOvI':_0x35b0b3(0x114),'aBmbF':'ranger-cli','cWsWN':_0x35b0b3(0xfd),'JRHIz':_0x35b0b3(0x131)},_0x78b92e=await fetch(_0x3aa773,{'method':_0x4decd6[_0x35b0b3(0x147)],'headers':{'Content-Type':_0x4decd6['yhajD'],'Accept':_0x4decd6[_0x35b0b3(0xe0)]},'body':JSON[_0x35b0b3(0x101)]({'jsonrpc':_0x4decd6['qBDwj'],'id':0x1,'method':_0x4decd6[_0x35b0b3(0xc4)],'params':{'protocolVersion':'2025-03-26','capabilities':{},'clientInfo':{'name':_0x4decd6['aBmbF'],'version':_0x4decd6['cWsWN']}}})});if(_0x78b92e['ok'])return await _0x78b92e[_0x35b0b3(0xeb)](),_0x4decd6['JRHIz'];if(_0x78b92e['status']===0x191)return await _0x78b92e[_0x35b0b3(0xeb)](),'needs-oauth';const _0x5b3cef=await _0x78b92e[_0x35b0b3(0xeb)]();throw new Error(_0x35b0b3(0x112)+_0x78b92e[_0x35b0b3(0x140)]+':\x20'+_0x5b3cef);}function _0x1596(){const _0x256285=['utf-8','split','eCYtL','token','.ranger','isTTY','<html><body><h2>Authentication\x20failed</h2><p>','none','nnFcz','pgVry','now','HTTP\x20','2.0','replace','client_secret','client_id','sqUJO','xDElL','HMNOM','Ranger\x20CLI','write','33mWFwfi','platform','expiresAt','searchParams','If\x20the\x20browser\x20doesn\x27t\x20open,\x20visit:\x0a','FwlZs','application/json,\x20text/event-stream','text','type','rKJod','MCP\x20initialize\x20failed:\x20','SWnjR','application/x-www-form-urlencoded','WPTQE','bDhMH','open','sBEnw','\x0aUnexpected\x20response\x20structure:','content','content-type','then','oYoHR','<html><body><h2>Authenticated!</h2><p>You\x20can\x20close\x20this\x20window\x20and\x20return\x20to\x20the\x20terminal.</p></body></html>','opnzg','match','1.0.0','string','access_token','code','stringify','auth-origin.txt','OaGlp','tools/call','Discovering\x20authorization\x20server...','POST','xVirB','\x0aOpening\x20browser\x20for\x20authentication...','VkXzp','2726790ntRnmk','Initializing\x20MCP\x20session...','MptHM','kSaLs','1956330hNyzzc','2vRfjkd','bGgVQ','522BOwHrA','MCP\x20server\x20returned\x20HTTP\x20','qIVYK','initialize','accessToken','OAuth\x20error:\x20','slice','clientId','<html><body><h2>Invalid\x20callback</h2><p>Missing\x20code\x20or\x20state\x20mismatch.</p></body></html>','884616LypmUt','text/html','parse','url','CNSgQ','VJkLk','/callback','KBFLI','refresh_token','start','igxsf','writeHead','Requesting\x20CLI\x20token...','trim','omGyz','XHjfD','Tqcwi','RugcX','\x20done','mcp-oauth-tokens.json','origin','expires_in','resource','proxied','toString','9695476YwNsMc','data:','sha256','JqLQm','http://localhost:','application/json','S256','set','get_cli_token\x20failed:\x20','AFARq','NrZcL','stdout','error','status','</p><p>You\x20can\x20close\x20this\x20window.</p></body></html>','Authorization','PzooR','result','nbnYC','3398757SHExuZ','DWifG','626825uwplFN','127.0.0.1','Could\x20not\x20extract\x20token\x20from\x20MCP\x20response','code_challenge','Token\x20exchange\x20failed:\x20','clientSecret','qeXgN','digest','157096YRdvJV','WzPUy','OhDzR','sOqsm','10wcFndr','log','qLuMP','dfhYS','error_description','kTuoS','bUXgw','sfrqr','get','WOOvI','end','authorization_servers','MCP\x20server\x20requires\x20authentication\x20but\x20running\x20in\x20non-interactive\x20mode.\x0a','state','code_challenge_method','mVGst','length','text/event-stream','\x0aToken\x20written\x20to\x20','Authorization\x20server\x20does\x20not\x20support\x20dynamic\x20client\x20registration\x20and\x20no\x20cached\x20client\x20found'];_0x1596=function(){return _0x256285;};return _0x1596();}class OAuthTimeoutError extends Error{constructor(_0x43fcb3){const _0x1b6a1d=_0x419226,_0x36b176={'MptHM':'OAuthTimeoutError'};super(_0x43fcb3),this['name']=_0x36b176[_0x1b6a1d(0x10c)];}}async function oauthFlow(_0xa17684){const _0x2e4fd8={'meCNz':function(_0xdc3606){return _0xdc3606();},'rbYbD':function(_0x1c0b67){return _0x1c0b67();}};try{return await oauthFlowAttempt(_0xa17684);}catch(_0x2385a0){if(_0x2385a0 instanceof OAuthTimeoutError&&await _0x2e4fd8['meCNz'](loadCachedClient))return console['log']('\x0aCached\x20OAuth\x20client\x20may\x20be\x20stale\x20—\x20clearing\x20and\x20retrying...\x0a'),await _0x2e4fd8['rbYbD'](clearCachedClient),await oauthFlowAttempt(_0xa17684);throw _0x2385a0;}}async function oauthFlowAttempt(_0x2cbbc){const _0x13d536=_0x419226,_0x428edd={'VkXzp':function(_0x18a0a5,_0xcf4e5e){return _0x18a0a5(_0xcf4e5e);},'RugcX':'Could\x20not\x20fetch\x20protected\x20resource\x20metadata\x20from\x20MCP\x20server','igxsf':'POST','bGgVQ':_0x13d536(0x138),'MnbHZ':_0x13d536(0xe2),'faXzD':_0x13d536(0xd6),'WPTQE':_0x13d536(0xce),'AFARq':'base64url','oPNdp':'client_id','oYoHR':'redirect_uri','kTuoS':_0x13d536(0xc9),'gTBhS':_0x13d536(0x130),'rvgOz':function(_0x145916,_0x466bc0){return _0x145916(_0x466bc0);},'Tqcwi':'Exchanging\x20authorization\x20code...','GPIeC':'authorization_code','WzPUy':function(_0x4ba49b,_0x3768cb,_0x5a5b65){return _0x4ba49b(_0x3768cb,_0x5a5b65);},'XIdTG':_0x13d536(0xf0),'sfrqr':function(_0x127d7f,_0x2e4f79,_0x3ba3ac,_0x16ce71){return _0x127d7f(_0x2e4f79,_0x3ba3ac,_0x16ce71);}},_0x487511=_0x2cbbc[_0x13d536(0xdc)](/\/mcp$/,'');process[_0x13d536(0x13e)]['write'](_0x13d536(0x105));const _0x35eaf1=await _0x428edd['VkXzp'](fetch,_0x487511+'/.well-known/oauth-protected-resource');if(!_0x35eaf1['ok'])throw new Error(_0x428edd[_0x13d536(0x12b)]);const _0x2010c5=await _0x35eaf1['json'](),_0x29a08c=_0x2010c5[_0x13d536(0xc6)]?.[0x0];if(!_0x29a08c)throw new Error('No\x20authorization_servers\x20in\x20protected\x20resource\x20metadata');console['log']('\x20'+_0x29a08c);const _0x502b13=await _0x428edd[_0x13d536(0x109)](fetchAuthServerMetadata,_0x29a08c);let _0x249c92,_0x489945;const _0x3b5236=await loadCachedClient();if(_0x3b5236)_0x249c92=_0x3b5236[_0x13d536(0x118)],_0x489945=_0x3b5236[_0x13d536(0x14d)];else{if(_0x502b13['registration_endpoint']){process[_0x13d536(0x13e)]['write']('Registering\x20OAuth\x20client...');const _0x5c3c83=await fetch(_0x502b13['registration_endpoint'],{'method':_0x428edd[_0x13d536(0x124)],'headers':{'Content-Type':_0x428edd[_0x13d536(0x110)]},'body':JSON['stringify']({'client_name':_0x428edd['MnbHZ'],'redirect_uris':['http://localhost:'+CALLBACK_PORT+_0x13d536(0x120)],'grant_types':['authorization_code',_0x13d536(0x122)],'response_types':[_0x13d536(0x100)],'token_endpoint_auth_method':_0x428edd['faXzD']})});if(!_0x5c3c83['ok']){const _0x4516d4=await _0x5c3c83['text']();throw new Error('Client\x20registration\x20failed:\x20'+_0x4516d4);}const _0x1d8e9b=await _0x5c3c83['json']();_0x249c92=_0x1d8e9b[_0x13d536(0xde)],_0x489945=_0x1d8e9b['client_secret'],await saveCachedClient(_0x249c92,_0x489945),console[_0x13d536(0xbc)](_0x13d536(0x12c));}else throw new Error(_0x428edd[_0x13d536(0xf1)]);}const _0x1eedb1=randomBytes(0x20)['toString'](_0x428edd[_0x13d536(0x13c)]),_0x4fa6b4=createHash(_0x13d536(0x135))['update'](_0x1eedb1)[_0x13d536(0x14f)]('base64url'),_0x416285=randomBytes(0x10)[_0x13d536(0x132)]('hex'),_0x19af95=new URL(_0x502b13['authorization_endpoint']);_0x19af95[_0x13d536(0xe7)]['set']('response_type',_0x13d536(0x100)),_0x19af95[_0x13d536(0xe7)]['set'](_0x428edd['oPNdp'],_0x249c92),_0x19af95['searchParams']['set'](_0x428edd[_0x13d536(0xf9)],'http://localhost:'+CALLBACK_PORT+_0x13d536(0x120)),_0x19af95[_0x13d536(0xe7)]['set'](_0x13d536(0x14b),_0x4fa6b4),_0x19af95[_0x13d536(0xe7)][_0x13d536(0x13a)](_0x428edd[_0x13d536(0xc0)],_0x13d536(0x139)),_0x19af95[_0x13d536(0xe7)]['set'](_0x13d536(0xc8),_0x416285);_0x2010c5['resource']&&_0x19af95['searchParams']['set'](_0x428edd['gTBhS'],_0x2010c5['resource']);console[_0x13d536(0xbc)](_0x13d536(0x108)),console['log'](_0x13d536(0xe8)+_0x19af95[_0x13d536(0x132)]()+'\x0a'),await _0x428edd['rvgOz'](openBrowser,_0x19af95['toString']());const _0x453349=await _0x428edd[_0x13d536(0x109)](waitForCallback,_0x416285);process[_0x13d536(0x13e)][_0x13d536(0xe3)](_0x428edd[_0x13d536(0x12a)]);const _0x11a78d=new URLSearchParams({'grant_type':_0x428edd['GPIeC'],'code':_0x453349,'redirect_uri':_0x13d536(0x137)+CALLBACK_PORT+'/callback','client_id':_0x249c92,'code_verifier':_0x1eedb1});_0x489945&&_0x11a78d[_0x13d536(0x13a)](_0x13d536(0xdd),_0x489945);_0x2010c5[_0x13d536(0x130)]&&_0x11a78d['set'](_0x13d536(0x130),_0x2010c5[_0x13d536(0x130)]);const _0x5bf7f2=await _0x428edd[_0x13d536(0xb8)](fetch,_0x502b13['token_endpoint'],{'method':_0x428edd['igxsf'],'headers':{'Content-Type':_0x428edd['XIdTG']},'body':_0x11a78d});if(!_0x5bf7f2['ok']){const _0x4a5a55=await _0x5bf7f2['text']();throw new Error(_0x13d536(0x14c)+_0x4a5a55);}const _0x109a1f=await _0x5bf7f2['json']();return console[_0x13d536(0xbc)](_0x13d536(0x12c)),await _0x428edd[_0x13d536(0xc2)](saveCachedToken,_0x109a1f[_0x13d536(0xff)],_0x109a1f['refresh_token'],_0x109a1f[_0x13d536(0x12f)]),_0x109a1f['access_token'];}async function callGetCliToken(_0x2df49e,_0x31c25d){const _0x109e60=_0x419226,_0x4c6fbb={'OaGlp':function(_0x3c1635,_0x425ed2){return _0x3c1635(_0x425ed2);},'FwlZs':_0x109e60(0x138),'zUTrv':_0x109e60(0x10b),'nbnYC':_0x109e60(0xdb),'xLkDp':'2025-03-26','SWnjR':'\x20done','Yraec':function(_0x3d45ef,_0x430ce3,_0x31c380){return _0x3d45ef(_0x430ce3,_0x31c380);},'CNSgQ':_0x109e60(0x106),'pCXFN':'notifications/initialized','xwVxv':_0x109e60(0x126),'omGyz':_0x109e60(0x104),'pfOhz':'get_cli_token','NrZcL':_0x109e60(0x14a),'sYBuV':'.ranger','sOqsm':function(_0x16edff,_0x41fd13,_0x1c11f8){return _0x16edff(_0x41fd13,_0x1c11f8);},'mVGst':function(_0x105ed2,_0x3d8082,_0x589c1d,_0x5964a4){return _0x105ed2(_0x3d8082,_0x589c1d,_0x5964a4);}},_0x135900={'Content-Type':_0x4c6fbb[_0x109e60(0xe9)],'Accept':'application/json,\x20text/event-stream'};_0x31c25d&&(_0x135900[_0x109e60(0x142)]='Bearer\x20'+_0x31c25d);const _0x28be52=async _0x528d71=>{const _0x737dab=_0x109e60,_0x52bfb4=await fetch(_0x2df49e,{'method':_0x737dab(0x106),'headers':_0x135900,'body':JSON[_0x737dab(0x101)](_0x528d71)});if(!_0x52bfb4['ok']){const _0x7ff4cf=await _0x52bfb4[_0x737dab(0xeb)]();throw new Error(_0x737dab(0xda)+_0x52bfb4[_0x737dab(0x140)]+':\x20'+_0x7ff4cf);}return _0x4c6fbb['OaGlp'](parseResponse,_0x52bfb4);};process['stdout']['write'](_0x4c6fbb['zUTrv']);const _0x2701e8=await _0x4c6fbb[_0x109e60(0x103)](_0x28be52,{'jsonrpc':_0x4c6fbb['nbnYC'],'id':0x1,'method':_0x109e60(0x114),'params':{'protocolVersion':_0x4c6fbb['xLkDp'],'capabilities':{},'clientInfo':{'name':'ranger-cli','version':_0x109e60(0xfd)}}});if(_0x2701e8['error'])throw new Error(_0x109e60(0xee)+(_0x2701e8[_0x109e60(0x13f)]['message']??JSON['stringify'](_0x2701e8[_0x109e60(0x13f)])));console[_0x109e60(0xbc)](_0x4c6fbb[_0x109e60(0xef)]),await _0x4c6fbb['Yraec'](fetch,_0x2df49e,{'method':_0x4c6fbb[_0x109e60(0x11e)],'headers':_0x135900,'body':JSON['stringify']({'jsonrpc':_0x4c6fbb[_0x109e60(0x145)],'method':_0x4c6fbb['pCXFN']})})[_0x109e60(0xf8)](_0x10db3a=>_0x10db3a[_0x109e60(0xeb)]()),process[_0x109e60(0x13e)]['write'](_0x4c6fbb['xwVxv']);const _0x34213a=await _0x28be52({'jsonrpc':_0x4c6fbb[_0x109e60(0x145)],'id':0x2,'method':_0x4c6fbb[_0x109e60(0x128)],'params':{'name':_0x4c6fbb['pfOhz'],'arguments':{}}});if(_0x34213a[_0x109e60(0x13f)])throw new Error(_0x109e60(0x13b)+(_0x34213a['error']['message']??JSON['stringify'](_0x34213a[_0x109e60(0x13f)])));console[_0x109e60(0xbc)](_0x4c6fbb['SWnjR']);const _0x25c418=_0x4c6fbb['OaGlp'](extractToken,_0x34213a[_0x109e60(0x144)]);if(!_0x25c418){console[_0x109e60(0x13f)](_0x109e60(0xf5)),console['error'](JSON['stringify'](_0x34213a[_0x109e60(0x144)],null,0x2));throw new Error(_0x4c6fbb[_0x109e60(0x13d)]);}const _0x3f67c2=join(homedir(),_0x4c6fbb['sYBuV']),_0x387fa5=_0x4c6fbb[_0x109e60(0xba)](join,_0x3f67c2,'refresh.txt');await _0x4c6fbb['Yraec'](mkdir,_0x3f67c2,{'recursive':!![]}),await _0x4c6fbb[_0x109e60(0xca)](writeFile,_0x387fa5,_0x25c418,{'mode':0x180}),await _0x4c6fbb['mVGst'](writeFile,join(_0x3f67c2,_0x109e60(0x102)),_0x2df49e,{'mode':0x180}),console['log'](_0x109e60(0xcd)+_0x387fa5),console[_0x109e60(0xbc)]('Run\x20`ranger\x20status`\x20to\x20verify\x20authentication.\x0a');}async function fetchAuthServerMetadata(_0x1225d5){const _0x3a86f5=_0x419226,_0x3ad2d1={'PzooR':function(_0x3afdad,_0x2ef28a){return _0x3afdad(_0x2ef28a);}},_0x156c64=_0x1225d5+'/.well-known/oauth-authorization-server',_0x27cfb2=await _0x3ad2d1[_0x3a86f5(0x143)](fetch,_0x156c64);if(!_0x27cfb2['ok'])throw new Error('Could\x20not\x20fetch\x20auth\x20server\x20metadata\x20from\x20'+_0x156c64+':\x20'+_0x27cfb2[_0x3a86f5(0x140)]);return _0x27cfb2['json']();}function waitForCallback(_0x26d86b){const _0x5b4ba3=_0x419226,_0x439ba1={'sqUJO':function(_0x10ce80,_0x564f55){return _0x10ce80(_0x564f55);},'TFHvZ':'code','qIVYK':'state','rKJod':_0x5b4ba3(0x13f),'JqLQm':function(_0xb10b55){return _0xb10b55();},'XHjfD':function(_0x26831c,_0x3ef3e2){return _0x26831c!==_0x3ef3e2;},'xVirB':'text/html','OhDzR':_0x5b4ba3(0x119),'kSaLs':_0x5b4ba3(0xfa),'eCYtL':function(_0x3e256f,_0x186202){return _0x3e256f(_0x186202);},'krrfi':_0x5b4ba3(0x149)};return new Promise((_0x1ba979,_0xdc7bfd)=>{const _0x3fa886=()=>{_0x56cf4f['closeAllConnections'](),_0x56cf4f['close']();},_0x2adab1=setTimeout(()=>{_0x3fa886(),_0x439ba1['sqUJO'](_0xdc7bfd,new OAuthTimeoutError('OAuth\x20callback\x20timed\x20out\x20after\x202\x20minutes'));},0x1d4c0),_0x56cf4f=_0x439ba1['eCYtL'](createServer,(_0x499843,_0x52977d)=>{const _0x1c2f3f=_0x5ecb,_0x4fb961=new URL(_0x499843[_0x1c2f3f(0x11d)]??'/',_0x1c2f3f(0x137)+CALLBACK_PORT);if(_0x4fb961['pathname']!==_0x1c2f3f(0x120)){_0x52977d['writeHead'](0x194),_0x52977d['end']('Not\x20found');return;}const _0x1bbb97=_0x4fb961[_0x1c2f3f(0xe7)][_0x1c2f3f(0xc3)](_0x439ba1['TFHvZ']),_0x2132c9=_0x4fb961['searchParams'][_0x1c2f3f(0xc3)](_0x439ba1[_0x1c2f3f(0x113)]),_0xad35c6=_0x4fb961['searchParams']['get'](_0x439ba1[_0x1c2f3f(0xed)]);if(_0xad35c6){const _0x34ffc9=_0x4fb961['searchParams'][_0x1c2f3f(0xc3)](_0x1c2f3f(0xbf))??_0xad35c6;_0x52977d[_0x1c2f3f(0x125)](0xc8,{'Content-Type':_0x1c2f3f(0x11b)}),_0x52977d['end'](_0x1c2f3f(0xd5)+_0x34ffc9+_0x1c2f3f(0x141)),clearTimeout(_0x2adab1),_0x439ba1['JqLQm'](_0x3fa886),_0xdc7bfd(new Error(_0x1c2f3f(0x116)+_0x34ffc9));return;}if(!_0x1bbb97||_0x439ba1[_0x1c2f3f(0x129)](_0x2132c9,_0x26d86b)){_0x52977d[_0x1c2f3f(0x125)](0x190,{'Content-Type':_0x439ba1[_0x1c2f3f(0x107)]}),_0x52977d['end'](_0x439ba1[_0x1c2f3f(0xb9)]);return;}_0x52977d['writeHead'](0xc8,{'Content-Type':'text/html'}),_0x52977d[_0x1c2f3f(0xc5)](_0x439ba1[_0x1c2f3f(0x10d)]),_0x439ba1[_0x1c2f3f(0xd1)](clearTimeout,_0x2adab1),_0x439ba1[_0x1c2f3f(0x136)](_0x3fa886),_0x439ba1[_0x1c2f3f(0xdf)](_0x1ba979,_0x1bbb97);});_0x56cf4f['listen'](CALLBACK_PORT,_0x439ba1['krrfi']);});}async function openBrowser(_0x317f9f){const _0x47a63d=_0x419226,_0x404ffb={'xmtDZ':function(_0x3e5f04,_0x207b87){return _0x3e5f04===_0x207b87;},'HMNOM':_0x47a63d(0xf3),'VJkLk':function(_0x298099,_0x122a1d){return _0x298099===_0x122a1d;},'iWAgF':'win32','pQeUA':function(_0x26b849,_0x24427d){return _0x26b849(_0x24427d);}},_0x27ac39=_0x404ffb['xmtDZ'](process['platform'],'darwin')?_0x404ffb[_0x47a63d(0xe1)]:_0x404ffb[_0x47a63d(0x11f)](process[_0x47a63d(0xe5)],_0x404ffb['iWAgF'])?_0x47a63d(0x123):'xdg-open';_0x404ffb['pQeUA'](exec,_0x27ac39+'\x20\x22'+_0x317f9f+'\x22');}let currentOrigin='';async function loadCachedToken(){const _0x219d92=_0x419226;try{const _0x4bef85=JSON['parse'](await readFile(TOKEN_CACHE_PATH,_0x219d92(0xcf)));if(_0x4bef85['origin']&&_0x4bef85['origin']!==currentOrigin)return null;if(_0x4bef85[_0x219d92(0xe6)]&&Date['now']()>_0x4bef85['expiresAt'])return null;return _0x4bef85['accessToken']??null;}catch{return null;}}function _0x5ecb(_0x5eb244,_0x4dce5b){_0x5eb244=_0x5eb244-0xb8;const _0x1596e0=_0x1596();let _0x5ecb89=_0x1596e0[_0x5eb244];return _0x5ecb89;}async function saveCachedToken(_0x5b9ec8,_0x145c9a,_0x405de1){const _0x19a184=_0x419226,_0x56f443={'VkoKB':function(_0x39afff){return _0x39afff();},'JqxZw':function(_0x2e83d1,_0x475b59){return _0x2e83d1+_0x475b59;},'opnzg':function(_0x48e363,_0x4bb431,_0x4df4ca){return _0x48e363(_0x4bb431,_0x4df4ca);},'bUXgw':function(_0x5b63ca,_0x47be41,_0x71f73b){return _0x5b63ca(_0x47be41,_0x71f73b);}},_0x39c1cc=await _0x56f443['VkoKB'](loadCachedData),_0x34385a={..._0x39c1cc,'origin':currentOrigin,'accessToken':_0x5b9ec8,'refreshToken':_0x145c9a??_0x39c1cc?.['refreshToken'],'expiresAt':_0x405de1?_0x56f443['JqxZw'](Date[_0x19a184(0xd9)](),_0x405de1*0x3e8):undefined};await _0x56f443[_0x19a184(0xfb)](mkdir,_0x56f443[_0x19a184(0xc1)](join,homedir(),'.ranger'),{'recursive':!![]}),await writeFile(TOKEN_CACHE_PATH,JSON['stringify'](_0x34385a),{'mode':0x180});}async function loadCachedClient(){const _0x3bd032=_0x419226,_0x402e22={'zDLbf':function(_0x3b2928,_0x19bda8){return _0x3b2928!==_0x19bda8;}},_0x3591f0=await loadCachedData();if(_0x3591f0?.[_0x3bd032(0x12e)]&&_0x402e22['zDLbf'](_0x3591f0[_0x3bd032(0x12e)],currentOrigin))return null;return _0x3591f0?.[_0x3bd032(0x118)]?{'clientId':_0x3591f0[_0x3bd032(0x118)],'clientSecret':_0x3591f0['clientSecret']}:null;}async function clearCachedClient(){const _0x5ea2da=_0x419226,_0xd5d20={'KBFLI':function(_0x5acfa1){return _0x5acfa1();},'sBEnw':function(_0x1a1fd1,_0x3af8dd,_0xc307df,_0x5697e0){return _0x1a1fd1(_0x3af8dd,_0xc307df,_0x5697e0);}},_0x81871d=await _0xd5d20[_0x5ea2da(0x121)](loadCachedData);if(!_0x81871d)return;const {clientId:_0xf76226,clientSecret:_0x553b03,..._0x37bc81}=_0x81871d;await _0xd5d20[_0x5ea2da(0xf4)](writeFile,TOKEN_CACHE_PATH,JSON['stringify'](_0x37bc81),{'mode':0x180});}async function saveCachedClient(_0x37a205,_0x14f156){const _0x95087a=_0x419226,_0x297667={'nnFcz':function(_0x4ea97f,_0x7fb692,_0x2adbd1){return _0x4ea97f(_0x7fb692,_0x2adbd1);},'APIvl':function(_0x4563be,_0x456778,_0x2e7466,_0xa65035){return _0x4563be(_0x456778,_0x2e7466,_0xa65035);}},_0x2ab262=await loadCachedData(),_0x3f0048={..._0x2ab262,'origin':currentOrigin,'accessToken':_0x2ab262?.[_0x95087a(0x115)]??'','clientId':_0x37a205,'clientSecret':_0x14f156};await _0x297667[_0x95087a(0xd7)](mkdir,_0x297667['nnFcz'](join,homedir(),_0x95087a(0xd3)),{'recursive':!![]}),await _0x297667['APIvl'](writeFile,TOKEN_CACHE_PATH,JSON[_0x95087a(0x101)](_0x3f0048),{'mode':0x180});}async function loadCachedData(){const _0x200f66=_0x419226,_0x5129b4={'bDhMH':function(_0x12d437,_0x19c88e,_0x216c65){return _0x12d437(_0x19c88e,_0x216c65);}};try{return JSON[_0x200f66(0x11c)](await _0x5129b4[_0x200f66(0xf2)](readFile,TOKEN_CACHE_PATH,'utf-8'));}catch{return null;}}async function parseResponse(_0x3cc469){const _0x2da24d=_0x419226,_0x599d50={'qLuMP':_0x2da24d(0xf7),'JVDgT':'data:','LKySh':function(_0x4566e2,_0x3346c1){return _0x4566e2!==_0x3346c1;},'dfhYS':'No\x20JSON-RPC\x20response\x20found\x20in\x20SSE\x20stream'},_0x4e1b02=_0x3cc469['headers'][_0x2da24d(0xc3)](_0x599d50[_0x2da24d(0xbd)])??'';if(_0x4e1b02['includes'](_0x2da24d(0xcc))){const _0x46cf0c=await _0x3cc469['text']();for(const _0x3601b7 of _0x46cf0c[_0x2da24d(0xd0)]('\x0a')){const _0xb65e1a=_0x3601b7[_0x2da24d(0x127)]();if(_0xb65e1a['startsWith'](_0x2da24d(0x134))){const _0x490dee=_0xb65e1a[_0x2da24d(0x117)](_0x599d50['JVDgT'][_0x2da24d(0xcb)])[_0x2da24d(0x127)]();if(!_0x490dee)continue;try{const _0x23d50a=JSON[_0x2da24d(0x11c)](_0x490dee);if(_0x599d50['LKySh'](_0x23d50a['id'],undefined)||_0x23d50a[_0x2da24d(0x13f)])return _0x23d50a;}catch{}}}throw new Error(_0x599d50[_0x2da24d(0xbe)]);}return _0x3cc469['json']();}function extractToken(_0x1dac99){const _0x2001f6=_0x419226,_0x48fa4c={'qeXgN':'Unknown\x20error','LVrwS':function(_0x3f95a9,_0x59060c){return _0x3f95a9===_0x59060c;},'IiEZQ':_0x2001f6(0xfe)};if(!_0x1dac99)return null;const _0x4ea8db=_0x1dac99['structuredContent'];if(_0x4ea8db?.['token']&&typeof _0x4ea8db[_0x2001f6(0xd2)]==='string')return _0x4ea8db['token'];if(_0x1dac99['isError']){const _0x5ee303=_0x1dac99[_0x2001f6(0xf6)];throw new Error('Server\x20returned\x20error:\x20'+(_0x5ee303?.[0x0]?.[_0x2001f6(0xeb)]??_0x48fa4c[_0x2001f6(0x14e)]));}const _0x24b598=_0x1dac99['content'];if(_0x24b598)for(const _0x4b8bd8 of _0x24b598){if(_0x48fa4c['LVrwS'](_0x4b8bd8[_0x2001f6(0xec)],_0x2001f6(0xeb))&&_0x4b8bd8['text']){try{const _0x1ac476=JSON['parse'](_0x4b8bd8['text']);if(typeof _0x1ac476?.[_0x2001f6(0xd2)]===_0x48fa4c['IiEZQ'])return _0x1ac476['token'];}catch{}const _0x107277=_0x4b8bd8['text'][_0x2001f6(0xfc)](/(rngr_[A-Za-z0-9_-]+)/);if(_0x107277)return _0x107277[0x1];}}return null;}
@@ -1 +1 @@
1
- function _0x7bea(){var _0x4d6c3b=['BNnxE','To\x20set\x20up\x20a\x20fresh\x20profile,\x20run:\x0a','exit','fallback;\x20you\x20can\x20delete\x20them\x20once\x20you\x20have\x20re-auth-ed.','10424GYpkJR','5873252RYyaLJ','For\x20CI\x20/\x20background\x20agents\x20and\x20other\x20setup\x20options,\x20see:\x0a','6jIcSQr','5898455GaUagQ','RWsuV','4735791VeWgfU','3512108fxLASl','109VuHObC','3147793WtQUZS','10BCEghx','24cHbtKB','2418774dLPUKn'];_0x7bea=function(){return _0x4d6c3b;};return _0x7bea();}(function(_0x5b30b3,_0x5106bb){var _0x2d7065=_0x3212,_0x34de2b=_0x5b30b3();while(!![]){try{var _0xdcb603=-parseInt(_0x2d7065(0x1a7))/0x1*(parseInt(_0x2d7065(0x19f))/0x2)+parseInt(_0x2d7065(0x1ab))/0x3+-parseInt(_0x2d7065(0x1a6))/0x4+-parseInt(_0x2d7065(0x1a3))/0x5+parseInt(_0x2d7065(0x1a2))/0x6*(parseInt(_0x2d7065(0x1a0))/0x7)+-parseInt(_0x2d7065(0x1aa))/0x8*(-parseInt(_0x2d7065(0x1a5))/0x9)+-parseInt(_0x2d7065(0x1a9))/0xa*(-parseInt(_0x2d7065(0x1a8))/0xb);if(_0xdcb603===_0x5106bb)break;else _0x34de2b['push'](_0x34de2b['shift']());}catch(_0x5b25fa){_0x34de2b['push'](_0x34de2b['shift']());}}}(_0x7bea,0xd7e04));function _0x3212(_0x2ffdee,_0x5a927d){_0x2ffdee=_0x2ffdee-0x19f;var _0x7beaad=_0x7bea();var _0x321264=_0x7beaad[_0x2ffdee];return _0x321264;}export async function migrateProfile(_0x5d5970,_0x1ebc9f){var _0x48620c=_0x3212,_0x4c198b={'BNnxE':function(_0x293b6b,_0x4e7c2d){return _0x293b6b+_0x4e7c2d;},'itvAb':function(_0x3ced5e,_0x5e9d70){return _0x3ced5e+_0x5e9d70;},'IzfVK':function(_0x23a493,_0x2f09e7){return _0x23a493+_0x2f09e7;},'VaamY':'\x20\x20ranger\x20profile\x20add\x20<name>\x0a','RWsuV':_0x48620c(0x1a1)};console['error'](_0x4c198b[_0x48620c(0x1ac)](_0x4c198b['itvAb'](_0x4c198b['IzfVK'](_0x4c198b['IzfVK']('ranger\x20profile\x20migrate\x20is\x20no\x20longer\x20supported.\x0a'+'\x0a'+_0x48620c(0x1ad)+_0x4c198b['VaamY'],'\x0a'),_0x4c198b[_0x48620c(0x1a4)]),'\x20\x20https://docs.ranger.net/main/concepts/profiles\x0a')+'\x0a','Existing\x20sessions\x20in\x20your\x20old\x20<project>/.ranger/\x20dirs\x20still\x20work\x20as\x20a\x0a')+_0x48620c(0x1af)),process[_0x48620c(0x1ae)](0x1);}
1
+ function _0x4c72(){var _0x2d0d89=['error','1617936LNhLoh','4061900rgdnXf','2208783FItmyU','exit','3390630mlKare','2aAimpf','FoqKs','\x20\x20ranger\x20profile\x20add\x20<name>\x0a','FDhgR','668617amcqDr','12781071XshYOP','4359570OmobyT','rZgGm','7wdUzzw','To\x20set\x20up\x20a\x20fresh\x20profile,\x20run:\x0a','GpAIG'];_0x4c72=function(){return _0x2d0d89;};return _0x4c72();}function _0x3517(_0x129d19,_0x46fbf8){_0x129d19=_0x129d19-0x79;var _0x4c7242=_0x4c72();var _0x35173a=_0x4c7242[_0x129d19];return _0x35173a;}(function(_0x264a8e,_0x34181e){var _0x27f0c5=_0x3517,_0x306e2e=_0x264a8e();while(!![]){try{var _0x30510a=-parseInt(_0x27f0c5(0x84))/0x1*(-parseInt(_0x27f0c5(0x80))/0x2)+parseInt(_0x27f0c5(0x7d))/0x3+-parseInt(_0x27f0c5(0x7c))/0x4+-parseInt(_0x27f0c5(0x86))/0x5+-parseInt(_0x27f0c5(0x7f))/0x6+-parseInt(_0x27f0c5(0x88))/0x7*(-parseInt(_0x27f0c5(0x7b))/0x8)+parseInt(_0x27f0c5(0x85))/0x9;if(_0x30510a===_0x34181e)break;else _0x306e2e['push'](_0x306e2e['shift']());}catch(_0x27cd6b){_0x306e2e['push'](_0x306e2e['shift']());}}}(_0x4c72,0x8c519));export async function migrateProfile(_0xbbda99,_0x544984){var _0x565de4=_0x3517,_0x1324cc={'FoqKs':function(_0x201a14,_0x5a26eb){return _0x201a14+_0x5a26eb;},'rZgGm':function(_0x3b916e,_0x188155){return _0x3b916e+_0x188155;},'cVsIK':function(_0x2c0dff,_0x41ffb0){return _0x2c0dff+_0x41ffb0;},'GpAIG':function(_0x1c577a,_0x493347){return _0x1c577a+_0x493347;},'QJjre':function(_0x573445,_0x3d74ec){return _0x573445+_0x3d74ec;},'FDhgR':'\x20\x20https://docs.ranger.net/main/concepts/profiles\x0a','nMCUH':'Existing\x20sessions\x20in\x20your\x20old\x20<project>/.ranger/\x20dirs\x20still\x20work\x20as\x20a\x0a'};console[_0x565de4(0x7a)](_0x1324cc[_0x565de4(0x81)](_0x1324cc[_0x565de4(0x87)](_0x1324cc['cVsIK'](_0x1324cc[_0x565de4(0x79)](_0x1324cc['rZgGm'](_0x1324cc['QJjre']('ranger\x20profile\x20migrate\x20is\x20no\x20longer\x20supported.\x0a','\x0a'),_0x565de4(0x89)),_0x565de4(0x82)),'\x0a')+'For\x20CI\x20/\x20background\x20agents\x20and\x20other\x20setup\x20options,\x20see:\x0a'+_0x1324cc[_0x565de4(0x83)],'\x0a'),_0x1324cc['nMCUH'])+'fallback;\x20you\x20can\x20delete\x20them\x20once\x20you\x20have\x20re-auth-ed.'),process[_0x565de4(0x7e)](0x1);}
@@ -1 +1 @@
1
- (function(_0x49d510,_0x143429){const _0x439838=_0x3e24,_0x1f7d26=_0x49d510();while(!![]){try{const _0x3e7da9=-parseInt(_0x439838(0x97))/0x1+-parseInt(_0x439838(0xab))/0x2+-parseInt(_0x439838(0xb4))/0x3+parseInt(_0x439838(0x8d))/0x4+-parseInt(_0x439838(0xb2))/0x5*(-parseInt(_0x439838(0x9b))/0x6)+-parseInt(_0x439838(0x9e))/0x7*(-parseInt(_0x439838(0xbf))/0x8)+-parseInt(_0x439838(0xbe))/0x9*(-parseInt(_0x439838(0xbd))/0xa);if(_0x3e7da9===_0x143429)break;else _0x1f7d26['push'](_0x1f7d26['shift']());}catch(_0x48a73a){_0x1f7d26['push'](_0x1f7d26['shift']());}}}(_0x599e,0xefa34));import{join}from'path';import{existsSync}from'fs';import _0x3a1e02 from'inquirer';import{skillup}from'../skillup.js';function _0x599e(){const _0x513426=['ReUgm','.claude','enable','2993984lFguAF','zovFO','error','output','pluginScope','marketplace','\x20\x20claude\x20plugin\x20install\x20ranger@trailhead\x20--scope\x20','470QHbbqQ','fhKxM','4925979niPmdd','ycCUZ','ranger','PyemM','\x20level)...\x0a','ranger-testing/trailhead','BHZIS','ranger@trailhead','Dezze','20YIzeth','15291999vapeAo','248uhCHnH','❌\x20Failed\x20to\x20add\x20marketplace:','uqaiq','yTxhu','768992dabxSS','trailhead','includes','✓\x20Ranger\x20skills\x20already\x20installed','❌\x20Failed\x20to\x20install\x20plugin:','SKILL.md','RBdVs','UdDJp','project','wantsSkillup','1509826DJvTmS','success','GksOn','\x0aYou\x20can\x20install\x20manually\x20with:','49686xRNKsZ','prompt','\x0aInstalling\x20Claude\x20Code\x20plugin\x20(','284851MdgBPN','✓\x20Claude\x20Code\x20plugin\x20enabled','already\x20enabled','aMqhF','GTHbv','MlqtI','arzJm','log','user','TMZiV'];_0x599e=function(){return _0x513426;};return _0x599e();}function _0x3e24(_0x2e95d2,_0x1a72f1){_0x2e95d2=_0x2e95d2-0x8b;const _0x599ec1=_0x599e();let _0x3e24df=_0x599ec1[_0x2e95d2];return _0x3e24df;}import{runClaudeCommand,isMarketplaceAdded,isPluginInstalled}from'../utils/claudePlugin.js';import{getProjectRoot,getSkillsDir}from'../utils/claudeConfig.js';export async function ensureClaudePlugin(_0x20b8d5){const _0x3eeb17=_0x3e24,_0x4f8735={'zovFO':_0x3eeb17(0xbb),'aRFCy':function(_0x2fa965,_0x4e9112){return _0x2fa965(_0x4e9112);},'yTxhu':function(_0x63c15b,_0x2f71fe,_0x1a31ae){return _0x63c15b(_0x2f71fe,_0x1a31ae);},'RBdVs':'.claude','fhKxM':_0x3eeb17(0x95),'arzJm':'\x0a📦\x20Claude\x20Code\x20Plugin\x0a','ReUgm':_0x3eeb17(0xaf),'mvfPr':'Where\x20should\x20the\x20plugin\x20be\x20installed?','CkIiQ':'User\x20(available\x20in\x20all\x20your\x20projects)','Dezze':_0x3eeb17(0xa6),'MlqtI':function(_0x5598ff,_0x29c014){return _0x5598ff(_0x29c014);},'uzJBI':'plugin','OSWsM':'--scope','vFefw':function(_0x2a8a0a,_0x2dc5e5){return _0x2a8a0a===_0x2dc5e5;},'GksOn':_0x3eeb17(0x91),'uqaiq':function(_0x27f885,_0x3efcb7){return _0x27f885===_0x3efcb7;},'GTHbv':function(_0x552a7b,_0x52a88d,_0x55786b){return _0x552a7b(_0x52a88d,_0x55786b);},'aMqhF':_0x3eeb17(0x9f)},_0x9c3a6f=await isPluginInstalled(_0x4f8735['zovFO']);if(_0x9c3a6f)return console['log']('✓\x20Claude\x20Code\x20plugin\x20already\x20installed'),![];const _0x5d0ef5=_0x4f8735['aRFCy'](existsSync,_0x4f8735[_0x3eeb17(0x8c)](join,getProjectRoot(),_0x4f8735[_0x3eeb17(0x93)]));let _0x1e8b75;if(_0x20b8d5)_0x1e8b75=_0x20b8d5;else{if(_0x5d0ef5)_0x1e8b75=_0x4f8735['fhKxM'];else{console[_0x3eeb17(0xa5)](_0x4f8735[_0x3eeb17(0xa4)]);const _0x4f8492=await _0x3a1e02[_0x3eeb17(0x9c)]([{'type':'list','name':_0x4f8735[_0x3eeb17(0xa8)],'message':_0x4f8735['mvfPr'],'choices':[{'name':_0x4f8735['CkIiQ'],'value':_0x4f8735['Dezze']},{'name':'Project\x20(shared\x20with\x20team\x20via\x20git)','value':_0x4f8735['fhKxM']}],'default':_0x4f8735[_0x3eeb17(0xbc)]}]);_0x1e8b75=_0x4f8492['pluginScope'];}}console['log'](_0x3eeb17(0x9d)+_0x1e8b75+_0x3eeb17(0xb8));const _0x14fc65=await isMarketplaceAdded(_0x3eeb17(0x8e));let _0x229dc5=_0x14fc65;if(_0x14fc65)console['log']('✓\x20Marketplace\x20already\x20added');else{const _0x542413=await _0x4f8735[_0x3eeb17(0xa3)](runClaudeCommand,['plugin',_0x3eeb17(0xb0),'add',_0x3eeb17(0xb9)]);!_0x542413['success']?(console['error'](_0x3eeb17(0xc0),_0x542413['error']),console[_0x3eeb17(0xa5)](_0x3eeb17(0x9a)),console[_0x3eeb17(0xa5)]('\x20\x20claude\x20plugin\x20marketplace\x20add\x20ranger-testing/trailhead'),console[_0x3eeb17(0xa5)](_0x3eeb17(0xb1)+_0x1e8b75)):_0x229dc5=!![];}if(_0x229dc5){const _0x295931=await runClaudeCommand([_0x4f8735['uzJBI'],'install',_0x4f8735[_0x3eeb17(0xac)],_0x4f8735['OSWsM'],_0x1e8b75],{'cwd':_0x4f8735['vFefw'](_0x1e8b75,'project')?getProjectRoot():undefined});if(!_0x295931[_0x3eeb17(0x98)])console[_0x3eeb17(0xad)](_0x4f8735[_0x3eeb17(0x99)],_0x295931[_0x3eeb17(0xad)]),console['log']('\x0aYou\x20can\x20install\x20manually\x20with:'),console['log']('\x20\x20claude\x20plugin\x20install\x20ranger@trailhead\x20--scope\x20'+_0x1e8b75);else{console[_0x3eeb17(0xa5)]('✓\x20Claude\x20Code\x20plugin\x20installed\x20successfully');const _0x42a5ff=[_0x4f8735['uzJBI'],_0x3eeb17(0xaa),_0x4f8735[_0x3eeb17(0xac)]];_0x4f8735[_0x3eeb17(0x8b)](_0x1e8b75,'project')&&_0x42a5ff['push']('--scope',_0x3eeb17(0x95));const _0x12f796=await _0x4f8735[_0x3eeb17(0xa2)](runClaudeCommand,_0x42a5ff,{'captureOutput':!![],'cwd':_0x1e8b75===_0x4f8735[_0x3eeb17(0xb3)]?getProjectRoot():undefined}),_0xc60130=_0x12f796[_0x3eeb17(0xae)]?.[_0x3eeb17(0x8f)](_0x3eeb17(0xa0));!_0x12f796[_0x3eeb17(0x98)]&&!_0xc60130?console['error']('⚠\x20Failed\x20to\x20enable\x20plugin:',_0x12f796[_0x3eeb17(0xad)]):console[_0x3eeb17(0xa5)](_0x4f8735[_0x3eeb17(0xa1)]);}}return!![];}export async function ensureClaudeSkills(_0x53cafb){const _0x513033=_0x3e24,_0x498236={'dzmbM':function(_0x270d0d,_0x292115,_0x5cb25a,_0x533b00){return _0x270d0d(_0x292115,_0x5cb25a,_0x533b00);},'ycCUZ':function(_0x2fb46d,_0x273cab){return _0x2fb46d(_0x273cab);},'UdDJp':'user','TMZiV':function(_0x499269,_0x6783ed,_0xda97f6,_0x4d939e){return _0x499269(_0x6783ed,_0xda97f6,_0x4d939e);},'eDdsH':'ranger','RXttS':function(_0x1f679a,_0x328c9a){return _0x1f679a(_0x328c9a);},'BHZIS':function(_0x282622,_0x4197e9,_0x744fb1){return _0x282622(_0x4197e9,_0x744fb1);},'uCuBX':function(_0x401ae7){return _0x401ae7();},'PyemM':_0x513033(0xa9),'MmMUY':_0x513033(0x96),'mIkFi':'Would\x20you\x20like\x20to\x20install\x20skills?','xXdME':function(_0x47323d,_0x6281cc){return _0x47323d(_0x6281cc);}},_0x1824f6=existsSync(_0x498236['dzmbM'](join,_0x498236['ycCUZ'](getSkillsDir,_0x498236[_0x513033(0x94)]),_0x513033(0xb6),_0x513033(0x92))),_0x55ed66=existsSync(_0x498236[_0x513033(0xa7)](join,getSkillsDir('project'),_0x498236['eDdsH'],_0x513033(0x92)));if(_0x1824f6||_0x55ed66)return console[_0x513033(0xa5)](_0x513033(0x90)),![];const _0x3e3bd8=_0x498236['RXttS'](existsSync,_0x498236[_0x513033(0xba)](join,_0x498236['uCuBX'](getProjectRoot),_0x498236[_0x513033(0xb7)]));let _0x19db91=!![];if(_0x53cafb)await _0x498236['ycCUZ'](skillup,{'autoInstall':_0x53cafb,'suppressUsage':!![]});else{if(_0x3e3bd8)await _0x498236[_0x513033(0xb5)](skillup,{'autoInstall':'project','suppressUsage':!![]});else{const _0xdfe203=await _0x3a1e02['prompt']([{'type':'confirm','name':_0x498236['MmMUY'],'message':_0x498236['mIkFi'],'default':!![]}]);_0x19db91=_0xdfe203['wantsSkillup'],_0x19db91&&await _0x498236['xXdME'](skillup,{'suppressUsage':!![]});}}return _0x19db91;}
1
+ (function(_0x23d56b,_0x56b725){const _0x1216ce=_0x2d31,_0x222e9f=_0x23d56b();while(!![]){try{const _0x3ab72d=-parseInt(_0x1216ce(0x8d))/0x1*(-parseInt(_0x1216ce(0x9c))/0x2)+-parseInt(_0x1216ce(0xaa))/0x3+-parseInt(_0x1216ce(0x92))/0x4+parseInt(_0x1216ce(0x95))/0x5+-parseInt(_0x1216ce(0x9b))/0x6+-parseInt(_0x1216ce(0x8c))/0x7*(-parseInt(_0x1216ce(0x88))/0x8)+parseInt(_0x1216ce(0x9d))/0x9;if(_0x3ab72d===_0x56b725)break;else _0x222e9f['push'](_0x222e9f['shift']());}catch(_0x3cc7de){_0x222e9f['push'](_0x222e9f['shift']());}}}(_0x2241,0x7244b));import{join}from'path';import{existsSync}from'fs';import _0x57368e from'inquirer';import{skillup}from'../skillup.js';function _0x2d31(_0x599ed8,_0x5d23ba){_0x599ed8=_0x599ed8-0x7f;const _0x224121=_0x2241();let _0x2d31e0=_0x224121[_0x599ed8];return _0x2d31e0;}import{runClaudeCommand,isMarketplaceAdded,isPluginInstalled}from'../utils/claudePlugin.js';import{getProjectRoot,getSkillsDir}from'../utils/claudeConfig.js';function _0x2241(){const _0x969b94=['project','XdtoV','FbpPR','390480qRlBgH','26212fhDhYc','7930008eyAJBL','XEkBp','confirm','❌\x20Failed\x20to\x20add\x20marketplace:','VPcYz','ranger','ranger@trailhead','install','mpymr','TVinj','QIIDF','\x0aYou\x20can\x20install\x20manually\x20with:','mwZmk','1291332vzpmMp','PshJV','bPTIB','fZpza','plugin','Would\x20you\x20like\x20to\x20install\x20skills?','enable','kyXrM','LUeoP','xhJBc','list','user','SNBeS','.claude','\x20\x20claude\x20plugin\x20install\x20ranger@trailhead\x20--scope\x20','push','ranger-testing/trailhead','FHigG','4885288fjmuoW','already\x20enabled','tiDPp','error','7IOIIBX','4zEESyl','✓\x20Claude\x20Code\x20plugin\x20installed\x20successfully','prompt','marketplace','output','3286860FhnBpR','log','xlxdi','1205425FXeKNj','success','zcXcy'];_0x2241=function(){return _0x969b94;};return _0x2241();}export async function ensureClaudePlugin(_0x5466d1){const _0x158436=_0x2d31,_0x3c76fa={'bwDYf':function(_0x17f695,_0x40bc27){return _0x17f695(_0x40bc27);},'TVinj':'✓\x20Claude\x20Code\x20plugin\x20already\x20installed','tiDPp':function(_0x912bdd){return _0x912bdd();},'FbpPR':'.claude','mpymr':_0x158436(0x98),'XEkBp':'\x0a📦\x20Claude\x20Code\x20Plugin\x0a','fZpza':'pluginScope','xlxdi':'User\x20(available\x20in\x20all\x20your\x20projects)','FHigG':_0x158436(0x81),'bPTIB':function(_0x22a513,_0x4264be){return _0x22a513(_0x4264be);},'XdtoV':'trailhead','mwZmk':'plugin','zcXcy':'add','kyXrM':'\x20\x20claude\x20plugin\x20marketplace\x20add\x20ranger-testing/trailhead','QIIDF':'ranger@trailhead','VqHgJ':function(_0x3aa4c6){return _0x3aa4c6();},'FkrKe':function(_0x5b735d,_0xfc6379){return _0x5b735d===_0xfc6379;},'iWdpg':'--scope','WDmyD':_0x158436(0x89)},_0x5940e=await _0x3c76fa['bwDYf'](isPluginInstalled,_0x158436(0xa3));if(_0x5940e)return console[_0x158436(0x93)](_0x3c76fa[_0x158436(0xa6)]),![];const _0x276fe5=existsSync(join(_0x3c76fa[_0x158436(0x8a)](getProjectRoot),_0x3c76fa[_0x158436(0x9a)]));let _0x1138d9;if(_0x5466d1)_0x1138d9=_0x5466d1;else{if(_0x276fe5)_0x1138d9=_0x3c76fa[_0x158436(0xa5)];else{console['log'](_0x3c76fa[_0x158436(0x9e)]);const _0x4e4d20=await _0x57368e[_0x158436(0x8f)]([{'type':_0x158436(0x80),'name':_0x3c76fa[_0x158436(0xad)],'message':'Where\x20should\x20the\x20plugin\x20be\x20installed?','choices':[{'name':_0x3c76fa[_0x158436(0x94)],'value':_0x158436(0x81)},{'name':'Project\x20(shared\x20with\x20team\x20via\x20git)','value':'project'}],'default':_0x3c76fa[_0x158436(0x87)]}]);_0x1138d9=_0x4e4d20['pluginScope'];}}console['log']('\x0aInstalling\x20Claude\x20Code\x20plugin\x20('+_0x1138d9+'\x20level)...\x0a');const _0x43fe24=await _0x3c76fa[_0x158436(0xac)](isMarketplaceAdded,_0x3c76fa[_0x158436(0x99)]);let _0x28a2b3=_0x43fe24;if(_0x43fe24)console[_0x158436(0x93)]('✓\x20Marketplace\x20already\x20added');else{const _0x56cece=await runClaudeCommand([_0x3c76fa[_0x158436(0xa9)],_0x158436(0x90),_0x3c76fa[_0x158436(0x97)],_0x158436(0x86)]);!_0x56cece['success']?(console[_0x158436(0x8b)](_0x158436(0xa0),_0x56cece['error']),console[_0x158436(0x93)](_0x158436(0xa8)),console[_0x158436(0x93)](_0x3c76fa[_0x158436(0xb1)]),console[_0x158436(0x93)](_0x158436(0x84)+_0x1138d9)):_0x28a2b3=!![];}if(_0x28a2b3){const _0x3743ae=await runClaudeCommand([_0x3c76fa['mwZmk'],_0x158436(0xa4),_0x3c76fa[_0x158436(0xa7)],'--scope',_0x1138d9],{'cwd':_0x1138d9===_0x3c76fa['mpymr']?_0x3c76fa['VqHgJ'](getProjectRoot):undefined});if(!_0x3743ae[_0x158436(0x96)])console[_0x158436(0x8b)]('❌\x20Failed\x20to\x20install\x20plugin:',_0x3743ae[_0x158436(0x8b)]),console['log'](_0x158436(0xa8)),console['log'](_0x158436(0x84)+_0x1138d9);else{console[_0x158436(0x93)](_0x158436(0x8e));const _0x17a798=[_0x158436(0xae),_0x158436(0xb0),'ranger@trailhead'];_0x3c76fa['FkrKe'](_0x1138d9,_0x3c76fa[_0x158436(0xa5)])&&_0x17a798[_0x158436(0x85)](_0x3c76fa['iWdpg'],'project');const _0x35dc6a=await runClaudeCommand(_0x17a798,{'captureOutput':!![],'cwd':_0x1138d9===_0x3c76fa[_0x158436(0xa5)]?getProjectRoot():undefined}),_0x1eb8ef=_0x35dc6a[_0x158436(0x91)]?.['includes'](_0x3c76fa['WDmyD']);!_0x35dc6a[_0x158436(0x96)]&&!_0x1eb8ef?console[_0x158436(0x8b)]('⚠\x20Failed\x20to\x20enable\x20plugin:',_0x35dc6a['error']):console['log']('✓\x20Claude\x20Code\x20plugin\x20enabled');}}return!![];}export async function ensureClaudeSkills(_0xba14f){const _0x424ef2=_0x2d31,_0x370886={'LUeoP':function(_0x456f15,_0x5bcb34){return _0x456f15(_0x5bcb34);},'SNBeS':function(_0x2b4d57,_0x286a2d){return _0x2b4d57(_0x286a2d);},'vVbIa':'user','Wfmwl':_0x424ef2(0xa2),'vruxa':'SKILL.md','ykMXs':function(_0xa5d222,_0x582756,_0x14b84c,_0x532153){return _0xa5d222(_0x582756,_0x14b84c,_0x532153);},'DgFdW':function(_0x2e1196,_0x31f985){return _0x2e1196(_0x31f985);},'xhJBc':'project','PshJV':function(_0x11f1fa,_0x572382){return _0x11f1fa||_0x572382;},'LRmes':function(_0x45bb0c,_0x4284da,_0x18b043){return _0x45bb0c(_0x4284da,_0x18b043);},'UpqpW':function(_0x379b90){return _0x379b90();},'WBmfu':_0x424ef2(0x83),'mzJNe':'wantsSkillup','VPcYz':function(_0x56db1d,_0x10c9e9){return _0x56db1d(_0x10c9e9);}},_0x42091d=_0x370886[_0x424ef2(0xb2)](existsSync,join(_0x370886['SNBeS'](getSkillsDir,_0x370886['vVbIa']),_0x370886['Wfmwl'],_0x370886['vruxa'])),_0x598e00=existsSync(_0x370886['ykMXs'](join,_0x370886['DgFdW'](getSkillsDir,_0x370886['xhJBc']),_0x370886['Wfmwl'],_0x370886['vruxa']));if(_0x370886[_0x424ef2(0xab)](_0x42091d,_0x598e00))return console[_0x424ef2(0x93)]('✓\x20Ranger\x20skills\x20already\x20installed'),![];const _0x3c985e=existsSync(_0x370886['LRmes'](join,_0x370886['UpqpW'](getProjectRoot),_0x370886['WBmfu']));let _0x5402f7=!![];if(_0xba14f)await skillup({'autoInstall':_0xba14f,'suppressUsage':!![]});else{if(_0x3c985e)await _0x370886[_0x424ef2(0x82)](skillup,{'autoInstall':_0x370886[_0x424ef2(0x7f)],'suppressUsage':!![]});else{const _0x21fcad=await _0x57368e['prompt']([{'type':_0x424ef2(0x9f),'name':_0x370886['mzJNe'],'message':_0x424ef2(0xaf),'default':!![]}]);_0x5402f7=_0x21fcad['wantsSkillup'],_0x5402f7&&await _0x370886[_0x424ef2(0xa1)](skillup,{'suppressUsage':!![]});}}return _0x5402f7;}
@@ -1 +1 @@
1
- function _0x2cd6(_0x356f95,_0x187478){_0x356f95=_0x356f95-0x1bf;const _0x2ac078=_0x2ac0();let _0x2cd695=_0x2ac078[_0x356f95];return _0x2cd695;}(function(_0x549665,_0x2d67b5){const _0x55a33c=_0x2cd6,_0xc9b8a3=_0x549665();while(!![]){try{const _0x447b4a=parseInt(_0x55a33c(0x1c1))/0x1*(parseInt(_0x55a33c(0x1c9))/0x2)+-parseInt(_0x55a33c(0x1c3))/0x3*(-parseInt(_0x55a33c(0x1d5))/0x4)+parseInt(_0x55a33c(0x1d9))/0x5+parseInt(_0x55a33c(0x1d4))/0x6+-parseInt(_0x55a33c(0x1c0))/0x7+parseInt(_0x55a33c(0x1ca))/0x8+-parseInt(_0x55a33c(0x1c5))/0x9*(parseInt(_0x55a33c(0x1cc))/0xa);if(_0x447b4a===_0x2d67b5)break;else _0xc9b8a3['push'](_0xc9b8a3['shift']());}catch(_0x422815){_0xc9b8a3['push'](_0xc9b8a3['shift']());}}}(_0x2ac0,0xa75e4));import{join}from'path';import{existsSync}from'fs';import{mkdir,readFile,writeFile}from'fs/promises';import _0x4d7a24 from'inquirer';import{getOpencodeConfigDir}from'../utils/opencodeConfig.js';function _0x2ac0(){const _0x79d3de=['YHWOr','JVMOm','@ranger-testing/opencode-plugin','plugin','mirVp','Failed\x20to\x20read\x20opencode.json','pluginScope','project','9569693uunQij','1XPePyT','prompt','15261CBKxzw','mrtAq','11736WAZpmJ','stringify','\x0a📦\x20OpenCode\x20Plugin\x0a','PHokh','1251322rBAkOl','9541464TVJZem','WRqxi','13670rwBfGR','BVetg','wiVkf','parse','LfzhO','✓\x20OpenCode\x20plugin\x20already\x20configured','log','opencode.json','2286354lsmoPF','736kDILcW','user','fqVFg','mjCEY','3498980OxYtix','utf-8'];_0x2ac0=function(){return _0x79d3de;};return _0x2ac0();}export async function ensureOpencodePluginConfig(_0x3f89a6){const _0x415382=_0x2cd6,_0x215f8d={'LfzhO':function(_0x3ce3a7,_0x3727cf){return _0x3ce3a7(_0x3727cf);},'rAyZU':function(_0xe17e01,_0x319402,_0x5409b9){return _0xe17e01(_0x319402,_0x5409b9);},'CHABT':function(_0x584b67,_0x5cd474){return _0x584b67(_0x5cd474);},'YHWOr':_0x415382(0x1d3),'PHokh':'project','wiVkf':_0x415382(0x1c7),'uFcYk':'Where\x20should\x20the\x20plugin\x20be\x20installed?','jIHnT':'User\x20(available\x20in\x20all\x20your\x20projects)','WRqxi':_0x415382(0x1d6),'mjCEY':function(_0x1c70b8,_0x173987,_0x2389d9){return _0x1c70b8(_0x173987,_0x2389d9);},'BVetg':_0x415382(0x1dd),'mrtAq':'https://opencode.ai/config.json','mSkvl':'⚠\x20Failed\x20to\x20read\x20opencode.json.\x20Please\x20add\x20the\x20plugin\x20manually.','wYJWJ':_0x415382(0x1e0),'fqVFg':function(_0x5ce1fb,_0xddbc10){return _0x5ce1fb(_0xddbc10);},'JVMOm':function(_0x460358,_0x24af4a){return _0x460358+_0x24af4a;},'mirVp':'✓\x20OpenCode\x20plugin\x20configured'},_0x337e8c=_0x215f8d[_0x415382(0x1d0)](existsSync,_0x215f8d['rAyZU'](join,_0x215f8d['CHABT'](getOpencodeConfigDir,_0x415382(0x1bf)),_0x215f8d['YHWOr']));let _0x537da4;if(_0x3f89a6)_0x537da4=_0x3f89a6;else{if(_0x337e8c)_0x537da4=_0x215f8d['PHokh'];else{console[_0x415382(0x1d2)](_0x215f8d[_0x415382(0x1ce)]);const _0x4072d6=await _0x4d7a24[_0x415382(0x1c2)]([{'type':'list','name':'pluginScope','message':_0x215f8d['uFcYk'],'choices':[{'name':_0x215f8d['jIHnT'],'value':_0x215f8d[_0x415382(0x1cb)]},{'name':'Project\x20(shared\x20with\x20team\x20via\x20git)','value':_0x215f8d[_0x415382(0x1c8)]}],'default':'user'}]);_0x537da4=_0x4072d6[_0x415382(0x1e1)];}}const _0x3175f0=_0x215f8d[_0x415382(0x1d8)](join,_0x215f8d['LfzhO'](getOpencodeConfigDir,_0x537da4),_0x215f8d[_0x415382(0x1db)]),_0x59e77c=_0x215f8d[_0x415382(0x1cd)],_0x327812=_0x215f8d[_0x415382(0x1c4)];let _0x130d16={};if(_0x215f8d['LfzhO'](existsSync,_0x3175f0))try{const _0x493370=await _0x215f8d[_0x415382(0x1d8)](readFile,_0x3175f0,_0x415382(0x1da));_0x130d16=JSON[_0x415382(0x1cf)](_0x493370);}catch(_0x568746){return console['error'](_0x215f8d['mSkvl']),{'configured':![],'scope':_0x537da4,'error':_0x215f8d['wYJWJ'],'details':_0x568746};}const _0x1c59a7=Array['isArray'](_0x130d16['plugin'])?_0x130d16[_0x415382(0x1de)]:[];if(_0x1c59a7['includes'](_0x59e77c))return console[_0x415382(0x1d2)](_0x415382(0x1d1)),{'configured':![],'scope':_0x537da4};return _0x130d16['$schema']=_0x130d16['$schema']||_0x327812,_0x130d16[_0x415382(0x1de)]=[..._0x1c59a7,_0x59e77c],await mkdir(_0x215f8d[_0x415382(0x1d7)](getOpencodeConfigDir,_0x537da4),{'recursive':!![]}),await writeFile(_0x3175f0,_0x215f8d[_0x415382(0x1dc)](JSON[_0x415382(0x1c6)](_0x130d16,null,0x2),'\x0a')),console[_0x415382(0x1d2)](_0x215f8d[_0x415382(0x1df)]),{'configured':!![],'scope':_0x537da4};}
1
+ (function(_0x5c5908,_0xc9f181){const _0x6fd4ae=_0x5967,_0x34efb4=_0x5c5908();while(!![]){try{const _0x35bfc6=-parseInt(_0x6fd4ae(0x1b2))/0x1+-parseInt(_0x6fd4ae(0x1ad))/0x2*(-parseInt(_0x6fd4ae(0x1a9))/0x3)+-parseInt(_0x6fd4ae(0x1b9))/0x4+parseInt(_0x6fd4ae(0x1ab))/0x5+-parseInt(_0x6fd4ae(0x1b3))/0x6+parseInt(_0x6fd4ae(0x1a3))/0x7+parseInt(_0x6fd4ae(0x1b6))/0x8;if(_0x35bfc6===_0xc9f181)break;else _0x34efb4['push'](_0x34efb4['shift']());}catch(_0x330a8b){_0x34efb4['push'](_0x34efb4['shift']());}}}(_0x3b89,0x8748a));import{join}from'path';import{existsSync}from'fs';import{mkdir,readFile,writeFile}from'fs/promises';function _0x3b89(){const _0x8d46ef=['3523200pKczMJ','nuvpo','Failed\x20to\x20read\x20opencode.json','8025608KqQmLI','stringify','@ranger-testing/opencode-plugin','2172664ahsNbS','plugin','syEKh','FSzZZ','jKtie','Where\x20should\x20the\x20plugin\x20be\x20installed?','isArray','$schema','2068409jXWBAK','https://opencode.ai/config.json','log','pluginScope','uWVoE','GuNwY','291552SlrhDJ','rNvwg','3145285xlnfnX','includes','12aELcOA','list','User\x20(available\x20in\x20all\x20your\x20projects)','VBSqD','VobYO','826361lEcMFr'];_0x3b89=function(){return _0x8d46ef;};return _0x3b89();}import _0x2f09e7 from'inquirer';function _0x5967(_0x4387cb,_0x27203b){_0x4387cb=_0x4387cb-0x1a3;const _0x3b8904=_0x3b89();let _0x59676a=_0x3b8904[_0x4387cb];return _0x59676a;}import{getOpencodeConfigDir}from'../utils/opencodeConfig.js';export async function ensureOpencodePluginConfig(_0x5023e7){const _0x9910f0=_0x5967,_0x1b4780={'rNvwg':function(_0x3d361b,_0x2afb80,_0x990acf){return _0x3d361b(_0x2afb80,_0x990acf);},'uWVoE':'opencode.json','VBSqD':_0x9910f0(0x1ae),'nuvpo':_0x9910f0(0x1af),'jeitW':'user','qTkdL':_0x9910f0(0x1a4),'FSzZZ':function(_0x5f56ff,_0xc93b38){return _0x5f56ff(_0xc93b38);},'PIlEW':'utf-8','jKtie':'⚠\x20Failed\x20to\x20read\x20opencode.json.\x20Please\x20add\x20the\x20plugin\x20manually.','syEKh':_0x9910f0(0x1b5),'VobYO':function(_0x566fc6,_0x466861){return _0x566fc6(_0x466861);},'GuNwY':function(_0x51abe5,_0x2276f3){return _0x51abe5+_0x2276f3;}},_0x1a1196=existsSync(_0x1b4780['rNvwg'](join,getOpencodeConfigDir('project'),_0x1b4780[_0x9910f0(0x1a7)]));let _0x22ba7e;if(_0x5023e7)_0x22ba7e=_0x5023e7;else{if(_0x1a1196)_0x22ba7e='project';else{console['log']('\x0a📦\x20OpenCode\x20Plugin\x0a');const _0x3a793c=await _0x2f09e7['prompt']([{'type':_0x1b4780[_0x9910f0(0x1b0)],'name':_0x9910f0(0x1a6),'message':_0x9910f0(0x1be),'choices':[{'name':_0x1b4780[_0x9910f0(0x1b4)],'value':_0x1b4780['jeitW']},{'name':'Project\x20(shared\x20with\x20team\x20via\x20git)','value':'project'}],'default':_0x1b4780['jeitW']}]);_0x22ba7e=_0x3a793c['pluginScope'];}}const _0x46b6c3=_0x1b4780['rNvwg'](join,getOpencodeConfigDir(_0x22ba7e),_0x1b4780['uWVoE']),_0x2debcd=_0x9910f0(0x1b8),_0x48a840=_0x1b4780['qTkdL'];let _0xffc50f={};if(_0x1b4780[_0x9910f0(0x1bc)](existsSync,_0x46b6c3))try{const _0x55d2be=await _0x1b4780['rNvwg'](readFile,_0x46b6c3,_0x1b4780['PIlEW']);_0xffc50f=JSON['parse'](_0x55d2be);}catch(_0xb7fd18){return console['error'](_0x1b4780[_0x9910f0(0x1bd)]),{'configured':![],'scope':_0x22ba7e,'error':_0x1b4780[_0x9910f0(0x1bb)],'details':_0xb7fd18};}const _0x579de1=Array[_0x9910f0(0x1bf)](_0xffc50f[_0x9910f0(0x1ba)])?_0xffc50f[_0x9910f0(0x1ba)]:[];if(_0x579de1[_0x9910f0(0x1ac)](_0x2debcd))return console[_0x9910f0(0x1a5)]('✓\x20OpenCode\x20plugin\x20already\x20configured'),{'configured':![],'scope':_0x22ba7e};return _0xffc50f[_0x9910f0(0x1c0)]=_0xffc50f[_0x9910f0(0x1c0)]||_0x48a840,_0xffc50f['plugin']=[..._0x579de1,_0x2debcd],await mkdir(_0x1b4780[_0x9910f0(0x1b1)](getOpencodeConfigDir,_0x22ba7e),{'recursive':!![]}),await _0x1b4780[_0x9910f0(0x1aa)](writeFile,_0x46b6c3,_0x1b4780[_0x9910f0(0x1a8)](JSON[_0x9910f0(0x1b7)](_0xffc50f,null,0x2),'\x0a')),console['log']('✓\x20OpenCode\x20plugin\x20configured'),{'configured':!![],'scope':_0x22ba7e};}
@@ -1 +1 @@
1
- function _0x6e6b(){var _0x475f87=['6365936LpivVQ','262HqOasa','HkTxJ','YNewi','5745wROOXW','1380936YWZlTy','18cnJYBf','\x20\x20ranger\x20profile\x20add\x20<name>\x0a','1400730QBfgNX','NZakv','108rrSlRI','349525LBAvPy','968190GpGXhP','68887DsLmhD'];_0x6e6b=function(){return _0x475f87;};return _0x6e6b();}function _0xfdac(_0x4c0944,_0xd7d9e5){_0x4c0944=_0x4c0944-0x1b1;var _0xfdac51=_0x6e6b();var _0x23916=_0xfdac51[_0x4c0944];return _0x23916;}(function(_0x4282a2,_0x34e41e){var _0x1c2d50=_0xfdac,_0x45584f=_0x4282a2();while(!![]){try{var _0x1d49d3=parseInt(_0x1c2d50(0x1b7))/0x1+-parseInt(_0x1c2d50(0x1ba))/0x2*(-parseInt(_0x1c2d50(0x1bd))/0x3)+parseInt(_0x1c2d50(0x1be))/0x4+-parseInt(_0x1c2d50(0x1b6))/0x5+-parseInt(_0x1c2d50(0x1b1))/0x6*(parseInt(_0x1c2d50(0x1b8))/0x7)+parseInt(_0x1c2d50(0x1b9))/0x8+parseInt(_0x1c2d50(0x1b5))/0x9*(-parseInt(_0x1c2d50(0x1b3))/0xa);if(_0x1d49d3===_0x34e41e)break;else _0x45584f['push'](_0x45584f['shift']());}catch(_0x3562fd){_0x45584f['push'](_0x45584f['shift']());}}}(_0x6e6b,0x8d88f));export async function setupCi(_0x55036d,_0xbf3261,_0x106c5e){var _0x55199e=_0xfdac,_0x475a37={'NZakv':function(_0x12591d,_0x20396b){return _0x12591d+_0x20396b;},'VKNjY':function(_0x32442b,_0xdb6141){return _0x32442b+_0xdb6141;},'HkTxJ':_0x55199e(0x1b2),'Dzdcw':'For\x20CI\x20/\x20background\x20agents\x20and\x20other\x20setup\x20options,\x20see:\x0a','YNewi':'\x20\x20https://docs.ranger.net/main/concepts/profiles'};console['error'](_0x475a37[_0x55199e(0x1b4)](_0x475a37['NZakv'](_0x475a37['VKNjY']('ranger\x20setup\x20--ci\x20writes\x20to\x20the\x20legacy\x20.ranger/ci/\x20tree\x20which\x20is\x20no\x20longer\x20supported.\x0a'+'\x0a','To\x20set\x20up\x20a\x20fresh\x20profile,\x20run:\x0a')+_0x475a37[_0x55199e(0x1bb)],'\x0a'),_0x475a37['Dzdcw'])+_0x475a37[_0x55199e(0x1bc)]),process['exit'](0x1);}
1
+ function _0x5a1a(_0x32c1dc,_0x3c02db){_0x32c1dc=_0x32c1dc-0x1c9;var _0x5c6bbd=_0x5c6b();var _0x5a1a25=_0x5c6bbd[_0x32c1dc];return _0x5a1a25;}(function(_0x40ab8c,_0x364fef){var _0x9933e=_0x5a1a,_0x4c2c9f=_0x40ab8c();while(!![]){try{var _0x2cd9c7=parseInt(_0x9933e(0x1cb))/0x1+parseInt(_0x9933e(0x1ce))/0x2*(parseInt(_0x9933e(0x1d2))/0x3)+-parseInt(_0x9933e(0x1d4))/0x4*(parseInt(_0x9933e(0x1d7))/0x5)+parseInt(_0x9933e(0x1ca))/0x6+-parseInt(_0x9933e(0x1cc))/0x7+parseInt(_0x9933e(0x1d1))/0x8*(-parseInt(_0x9933e(0x1c9))/0x9)+parseInt(_0x9933e(0x1d6))/0xa;if(_0x2cd9c7===_0x364fef)break;else _0x4c2c9f['push'](_0x4c2c9f['shift']());}catch(_0x978269){_0x4c2c9f['push'](_0x4c2c9f['shift']());}}}(_0x5c6b,0xe0770));export async function setupCi(_0x2bb866,_0x4b190a,_0xb566f5){var _0xeb3887=_0x5a1a,_0x4514e6={'NABEa':function(_0xe679e,_0x568235){return _0xe679e+_0x568235;},'dQVjt':function(_0x36e512,_0x514fd7){return _0x36e512+_0x514fd7;},'HFmfa':_0xeb3887(0x1cf),'XohFR':'For\x20CI\x20/\x20background\x20agents\x20and\x20other\x20setup\x20options,\x20see:\x0a'};console[_0xeb3887(0x1d3)](_0x4514e6[_0xeb3887(0x1d5)](_0x4514e6['dQVjt'](_0x4514e6['dQVjt'](_0x4514e6['dQVjt'](_0xeb3887(0x1d0)+'\x0a'+_0x4514e6['HFmfa'],'\x20\x20ranger\x20profile\x20add\x20<name>\x0a'),'\x0a'),_0x4514e6[_0xeb3887(0x1cd)]),'\x20\x20https://docs.ranger.net/main/concepts/profiles')),process['exit'](0x1);}function _0x5c6b(){var _0x302ff6=['901375WGSpRF','7857304hjcpxl','XohFR','4ThlKfJ','To\x20set\x20up\x20a\x20fresh\x20profile,\x20run:\x0a','ranger\x20setup\x20--ci\x20writes\x20to\x20the\x20legacy\x20.ranger/ci/\x20tree\x20which\x20is\x20no\x20longer\x20supported.\x0a','8ytqjic','1473837LqaOQF','error','9236qlYTqs','NABEa','5200910NXgVLf','2005XrjKTF','2937429hFsxUr','5340876ImkyvU'];_0x5c6b=function(){return _0x302ff6;};return _0x5c6b();}
@@ -1 +1 @@
1
- (function(_0x45811e,_0x150dd5){const _0x52942b=_0x1f1c,_0x35d32a=_0x45811e();while(!![]){try{const _0x2e7305=parseInt(_0x52942b(0x1f3))/0x1+parseInt(_0x52942b(0x1d7))/0x2*(-parseInt(_0x52942b(0x1de))/0x3)+parseInt(_0x52942b(0x1ef))/0x4*(parseInt(_0x52942b(0x1d3))/0x5)+-parseInt(_0x52942b(0x1ea))/0x6*(-parseInt(_0x52942b(0x1fc))/0x7)+parseInt(_0x52942b(0x1dc))/0x8*(parseInt(_0x52942b(0x1e5))/0x9)+parseInt(_0x52942b(0x1fb))/0xa+-parseInt(_0x52942b(0x1f8))/0xb;if(_0x2e7305===_0x150dd5)break;else _0x35d32a['push'](_0x35d32a['shift']());}catch(_0x687ed4){_0x35d32a['push'](_0x35d32a['shift']());}}}(_0x1b3b,0x83da9));import{basename}from'path';import _0x4b01f9 from'inquirer';import{getToken}from'./utils/keychain.js';function _0x1f1c(_0x681ec,_0x527081){_0x681ec=_0x681ec-0x1d2;const _0x1b3b70=_0x1b3b();let _0x1f1c4a=_0x1b3b70[_0x681ec];return _0x1f1c4a;}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(_0x4fb019={}){const _0x24035f=_0x1f1c,_0x603c66={'IHCni':'\x0a🎯\x20Ranger\x20Skill\x20Setup\x0a','MUYgI':_0x24035f(0x1ee),'goHLE':function(_0x2f03db){return _0x2f03db();},'mUFVX':'❌\x20No\x20Ranger\x20API\x20token\x20found.\x0a','SEQtm':'To\x20get\x20started:','qTNCE':_0x24035f(0x1e1),'ipKar':function(_0x362b33,_0x5ecc28){return _0x362b33===_0x5ecc28;},'eYcHR':function(_0x2064ae,_0x527014){return _0x2064ae===_0x527014;},'yuLHc':_0x24035f(0x1e3),'ZTRDx':'✓\x20Found\x20API\x20token','LHMNK':function(_0x235896,_0x1d6bd6){return _0x235896(_0x1d6bd6);},'kXrJO':'opencode','hUoEW':_0x24035f(0x1da),'izLPY':_0x24035f(0x1e0),'yzQGy':_0x24035f(0x1e9),'KKfgm':'\x0a📦\x20Installing\x20skills...\x0a','PfMTo':function(_0x2306eb,_0x4a67c0,_0x59ed0e){return _0x2306eb(_0x4a67c0,_0x59ed0e);},'FBDKs':_0x24035f(0x1dd),'wgDGb':function(_0x58aa5f,_0x5dae97){return _0x58aa5f>_0x5dae97;},'ukOjy':function(_0x571e2e,_0x983a15){return _0x571e2e===_0x983a15;},'MmEXp':'user-level','Atrgx':_0x24035f(0x1df),'UntaH':function(_0x21ab09,_0x57a455){return _0x21ab09===_0x57a455;}};console['log'](_0x603c66[_0x24035f(0x1f0)]);const _0x483f47=_0x4fb019['platform']??_0x603c66[_0x24035f(0x1e6)],_0x322ed9=await _0x603c66[_0x24035f(0x1d5)](getToken);if(!_0x322ed9){console['log'](_0x603c66[_0x24035f(0x1f9)]),console['log'](_0x603c66['SEQtm']),console[_0x24035f(0x1fe)](_0x603c66['qTNCE']),console[_0x24035f(0x1fe)]('\x20\x202.\x20Run:\x20ranger\x20setup'+(_0x603c66[_0x24035f(0x1e7)](_0x483f47,_0x24035f(0x1f6))?'\x20--opencode':'')+_0x24035f(0x1db)),console[_0x24035f(0x1fe)]('\x20\x203.\x20Run:\x20ranger\x20skillup'+(_0x603c66['eYcHR'](_0x483f47,'opencode')?_0x603c66['yuLHc']:'')+'\x0a');return;}console[_0x24035f(0x1fe)](_0x603c66['ZTRDx']);const _0x2984bf=getProjectRoot(),_0x5a1067=_0x603c66['LHMNK'](basename,_0x2984bf),_0x2379d2=_0x603c66['eYcHR'](_0x483f47,'opencode')?_0x603c66[_0x24035f(0x1f5)](getOpencodeConfigDir,_0x24035f(0x1e0))+'/skills/':_0x603c66['goHLE'](getClaudeConfigDir)+'/skills/',_0x3d5e19=_0x483f47===_0x603c66[_0x24035f(0x1e8)]?_0x2984bf+'/.opencode/skills/':_0x2984bf+_0x24035f(0x1f7),_0x3ebb3f=process['stdin'][_0x24035f(0x1f2)]&&process['stdout']['isTTY'];let _0x1d5512;if(_0x4fb019['autoInstall'])_0x1d5512=_0x4fb019[_0x24035f(0x1d2)];else{if(_0x3ebb3f){const _0x128cbd=await _0x4b01f9[_0x24035f(0x1fd)]([{'type':'list','name':'installLevel','message':_0x603c66[_0x24035f(0x1fa)],'choices':[{'name':_0x24035f(0x1eb)+_0x2379d2+')','value':_0x603c66[_0x24035f(0x1ec)]},{'name':_0x24035f(0x1d8)+_0x3d5e19+')','value':_0x603c66['yzQGy']}]}]);_0x1d5512=_0x128cbd[_0x24035f(0x1e2)];}else _0x1d5512=_0x603c66[_0x24035f(0x1d6)],console[_0x24035f(0x1fe)]('Non-interactive\x20mode:\x20Installing\x20skills\x20at\x20project\x20level\x20('+_0x3d5e19+')');}let _0x442994=0x0;const _0x1a5ae9=getCurrentVersion();console['log'](_0x603c66['KKfgm']);try{const _0x50de79=await _0x603c66['PfMTo'](installSkill,'ranger',{'cliVersion':_0x1a5ae9,'level':_0x1d5512,'platform':_0x483f47});_0x50de79&&_0x442994++;}catch(_0x39bcb5){console['warn'](_0x603c66[_0x24035f(0x1f1)],_0x39bcb5 instanceof Error?_0x39bcb5['message']:_0x39bcb5);}if(_0x603c66['wgDGb'](_0x442994,0x0)){const _0x5dc58f=_0x603c66['ukOjy'](_0x1d5512,_0x603c66[_0x24035f(0x1ec)])?_0x603c66['MmEXp']:_0x603c66[_0x24035f(0x1d4)];console['log'](_0x24035f(0x1d9)+_0x442994+'\x20'+_0x5dc58f+_0x24035f(0x1f4)+(_0x442994>0x1?'s':'')+'\x20successfully!\x0a'),!_0x4fb019[_0x24035f(0x1ed)]&&(console[_0x24035f(0x1fe)]('To\x20use:'),_0x603c66[_0x24035f(0x1e4)](_0x483f47,_0x603c66['kXrJO'])?console['log']('\x20\x20-\x20Start\x20OpenCode\x20and\x20run\x20the\x20`ranger_enable`\x20tool\x20to\x20enable\x20hooks.'):console[_0x24035f(0x1fe)]('\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[_0x24035f(0x1fe)]('\x0a⚠️\x20\x20No\x20skills\x20were\x20installed.\x0a');}function _0x1b3b(){const _0x3e5064=['isTTY','977911Rwbves','\x20skill','LHMNK','opencode','/.claude/skills/','26522155vKnpCb','mUFVX','hUoEW','7005500ZvwKQO','7fAMyQq','prompt','log','autoInstall','235ZDwduT','Atrgx','goHLE','yzQGy','57100QDbxUZ','This\x20project\x20only\x20(','\x0a✅\x20Installed\x20','Where\x20should\x20skills\x20be\x20installed?','\x20<your-api-token>','136oMukZV','\x20\x20Failed\x20to\x20install\x20ranger\x20skill:','57FYYueG','project-level','user','\x20\x201.\x20Get\x20your\x20API\x20token\x20from\x20https://dashboard.ranger.net/cli','installLevel','\x20--opencode','UntaH','85518uRwyHF','MUYgI','ipKar','kXrJO','project','5463096FNgYUT','All\x20projects\x20(','izLPY','suppressUsage','claude','63244HxFeBJ','IHCni','FBDKs'];_0x1b3b=function(){return _0x3e5064;};return _0x1b3b();}
1
+ (function(_0x5254c8,_0x7b1eda){const _0x15a220=_0x4f32,_0x987136=_0x5254c8();while(!![]){try{const _0x11112f=parseInt(_0x15a220(0x173))/0x1+parseInt(_0x15a220(0x191))/0x2+parseInt(_0x15a220(0x192))/0x3+parseInt(_0x15a220(0x198))/0x4*(-parseInt(_0x15a220(0x18c))/0x5)+parseInt(_0x15a220(0x178))/0x6*(-parseInt(_0x15a220(0x17f))/0x7)+parseInt(_0x15a220(0x179))/0x8*(-parseInt(_0x15a220(0x174))/0x9)+-parseInt(_0x15a220(0x18a))/0xa;if(_0x11112f===_0x7b1eda)break;else _0x987136['push'](_0x987136['shift']());}catch(_0x3a7581){_0x987136['push'](_0x987136['shift']());}}}(_0x1daf,0x47200));import{basename}from'path';import _0x15b700 from'inquirer';function _0x4f32(_0x196f05,_0x1bfe9f){_0x196f05=_0x196f05-0x16c;const _0x1dafe0=_0x1daf();let _0x4f32df=_0x1dafe0[_0x196f05];return _0x4f32df;}import{getToken}from'./utils/keychain.js';import{installSkill}from'./utils/skills.js';import{getCurrentVersion}from'./utils/version.js';import{getClaudeConfigDir,getProjectRoot}from'./utils/claudeConfig.js';import{getOpencodeConfigDir}from'./utils/opencodeConfig.js';export async function skillup(_0x3df439={}){const _0x53b0d8=_0x4f32,_0x32711b={'CaOop':_0x53b0d8(0x18e),'kmfKL':'To\x20get\x20started:','TZZUo':_0x53b0d8(0x187),'MdHZK':function(_0x5133c4,_0x50ff41){return _0x5133c4===_0x50ff41;},'tiBzk':_0x53b0d8(0x193),'PDSyy':'✓\x20Found\x20API\x20token','FLzQH':function(_0x541a30){return _0x541a30();},'czqXE':function(_0x23064a,_0x477563){return _0x23064a(_0x477563);},'ptNvg':function(_0x4eba6f,_0x323aa8){return _0x4eba6f===_0x323aa8;},'TvdUI':_0x53b0d8(0x176),'udvUc':function(_0x1fd7c6){return _0x1fd7c6();},'pcbHs':_0x53b0d8(0x16c),'uDQls':_0x53b0d8(0x18b),'lQYsh':_0x53b0d8(0x180),'xMxRS':function(_0x48452a,_0x3d8a8e){return _0x48452a instanceof _0x3d8a8e;},'ckfjz':_0x53b0d8(0x17a),'wiKvo':function(_0x2023d5,_0x500923){return _0x2023d5>_0x500923;},'EZmMn':_0x53b0d8(0x184)};console[_0x53b0d8(0x175)](_0x53b0d8(0x186));const _0x46a157=_0x3df439['platform']??_0x53b0d8(0x185),_0x5084cd=await getToken();if(!_0x5084cd){console['log'](_0x32711b['CaOop']),console['log'](_0x32711b[_0x53b0d8(0x17e)]),console[_0x53b0d8(0x175)]('\x20\x201.\x20Get\x20your\x20API\x20token\x20from\x20https://dashboard.ranger.net/cli'),console['log'](_0x53b0d8(0x16f)+(_0x46a157===_0x32711b[_0x53b0d8(0x17d)]?_0x53b0d8(0x193):'')+'\x20<your-api-token>'),console[_0x53b0d8(0x175)](_0x53b0d8(0x197)+(_0x32711b['MdHZK'](_0x46a157,'opencode')?_0x32711b[_0x53b0d8(0x195)]:'')+'\x0a');return;}console[_0x53b0d8(0x175)](_0x32711b[_0x53b0d8(0x190)]);const _0x42eb49=_0x32711b['FLzQH'](getProjectRoot),_0x46d0ec=_0x32711b[_0x53b0d8(0x16e)](basename,_0x42eb49),_0x277e3a=_0x32711b[_0x53b0d8(0x182)](_0x46a157,'opencode')?getOpencodeConfigDir(_0x32711b['TvdUI'])+'/skills/':_0x32711b[_0x53b0d8(0x181)](getClaudeConfigDir)+'/skills/',_0x45a9ca=_0x32711b[_0x53b0d8(0x182)](_0x46a157,_0x32711b[_0x53b0d8(0x17d)])?_0x42eb49+_0x53b0d8(0x172):_0x42eb49+_0x53b0d8(0x188),_0x54afb8=process[_0x53b0d8(0x170)]['isTTY']&&process['stdout']['isTTY'];let _0x533a8d;if(_0x3df439['autoInstall'])_0x533a8d=_0x3df439['autoInstall'];else{if(_0x54afb8){const _0x5e68ce=await _0x15b700[_0x53b0d8(0x16d)]([{'type':'list','name':_0x32711b['pcbHs'],'message':'Where\x20should\x20skills\x20be\x20installed?','choices':[{'name':'All\x20projects\x20('+_0x277e3a+')','value':_0x32711b[_0x53b0d8(0x17b)]},{'name':_0x53b0d8(0x196)+_0x45a9ca+')','value':_0x32711b['uDQls']}]}]);_0x533a8d=_0x5e68ce['installLevel'];}else _0x533a8d=_0x32711b['uDQls'],console['log']('Non-interactive\x20mode:\x20Installing\x20skills\x20at\x20project\x20level\x20('+_0x45a9ca+')');}let _0x5dba65=0x0;const _0x246c61=getCurrentVersion();console['log'](_0x32711b['lQYsh']);try{const _0x505028=await installSkill(_0x53b0d8(0x189),{'cliVersion':_0x246c61,'level':_0x533a8d,'platform':_0x46a157});_0x505028&&_0x5dba65++;}catch(_0x14c0a3){console[_0x53b0d8(0x171)]('\x20\x20Failed\x20to\x20install\x20ranger\x20skill:',_0x32711b[_0x53b0d8(0x18d)](_0x14c0a3,Error)?_0x14c0a3['message']:_0x14c0a3);}if(_0x5dba65>0x0){const _0x4ae1d6=_0x533a8d===_0x53b0d8(0x176)?_0x32711b['ckfjz']:_0x53b0d8(0x183);console[_0x53b0d8(0x175)](_0x53b0d8(0x194)+_0x5dba65+'\x20'+_0x4ae1d6+'\x20skill'+(_0x32711b['wiKvo'](_0x5dba65,0x1)?'s':'')+'\x20successfully!\x0a'),!_0x3df439['suppressUsage']&&(console['log'](_0x53b0d8(0x177)),_0x46a157===_0x53b0d8(0x187)?console['log'](_0x32711b['EZmMn']):console['log'](_0x53b0d8(0x18f)));}else console[_0x53b0d8(0x175)](_0x53b0d8(0x17c));}function _0x1daf(){const _0x3eacb7=['ptNvg','project-level','\x20\x20-\x20Start\x20OpenCode\x20and\x20run\x20the\x20`ranger_enable`\x20tool\x20to\x20enable\x20hooks.','claude','\x0a🎯\x20Ranger\x20Skill\x20Setup\x0a','opencode','/.claude/skills/','ranger','1308710zjAjTp','project','1260eJwnOn','xMxRS','❌\x20No\x20Ranger\x20API\x20token\x20found.\x0a','\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!','PDSyy','1097478LMLywM','167595phFPRg','\x20--opencode','\x0a✅\x20Installed\x20','tiBzk','This\x20project\x20only\x20(','\x20\x203.\x20Run:\x20ranger\x20skillup','2224kSMYNE','installLevel','prompt','czqXE','\x20\x202.\x20Run:\x20ranger\x20setup','stdin','warn','/.opencode/skills/','245095UGJnNn','120735KfdUhG','log','user','To\x20use:','12354YVFALY','40DagScH','user-level','TvdUI','\x0a⚠️\x20\x20No\x20skills\x20were\x20installed.\x0a','TZZUo','kmfKL','749tSvGSf','\x0a📦\x20Installing\x20skills...\x0a','udvUc'];_0x1daf=function(){return _0x3eacb7;};return _0x1daf();}
@@ -1 +1 @@
1
- (function(_0x386fcf,_0x49f121){const _0x3546af=_0x52ae,_0xab571=_0x386fcf();while(!![]){try{const _0x2b2d18=-parseInt(_0x3546af(0x1fd))/0x1+parseInt(_0x3546af(0x20b))/0x2+-parseInt(_0x3546af(0x1f2))/0x3*(-parseInt(_0x3546af(0x239))/0x4)+parseInt(_0x3546af(0x226))/0x5*(-parseInt(_0x3546af(0x224))/0x6)+-parseInt(_0x3546af(0x218))/0x7*(parseInt(_0x3546af(0x22c))/0x8)+-parseInt(_0x3546af(0x228))/0x9+parseInt(_0x3546af(0x241))/0xa;if(_0x2b2d18===_0x49f121)break;else _0xab571['push'](_0xab571['shift']());}catch(_0x30d558){_0xab571['push'](_0xab571['shift']());}}}(_0x1922,0xd90d7));function _0x52ae(_0x5d52a8,_0x3d7ebc){_0x5d52a8=_0x5d52a8-0x1e9;const _0x19222c=_0x1922();let _0x52aebd=_0x19222c[_0x5d52a8];return _0x52aebd;}import{mkdir,writeFile}from'fs/promises';import{join}from'path';import{existsSync}from'fs';import{createRequire}from'module';import{spawn}from'child_process';import _0x3cf803 from'inquirer';import{getToken,storeToken}from'./utils/keychain.js';import{getCurrentUser}from'./utils/userApi.js';import{chromium}from'playwright';import{addEnv}from'./addEnv.js';function _0x1922(){const _0x1baa1b=['4FnWsZC','ignore','Failed\x20to\x20validate\x20provisioned\x20API\x20key:\x20','\x0averification\x20to\x20check\x20its\x20work\x20as\x20it\x20builds.','success','\x0aNon-interactive\x20mode:\x20Auto-installing\x20Playwright\x20Chromium\x20','✓\x20Exported\x20credentials\x20for\x20CI','user','39035840QWwfwN','bJULT','plugin','trackPhaseStart','url','...','hdtlU','SgdVE','stdin','install','platform','✓\x20Playwright\x20Chromium\x20browser\x20found','jupxC','\x0a⚠\x20Skipping\x20Chromium\x20installation.','force','skipChromium','qyGFJ','\x20(fallback\x20version)','318495iOthFb','✓\x20Stored\x20credentials\x20locally','trackPhaseEnd','--with-deps','JllgR','nhgFT','skills','rjjli','GITHUB_ENV','HBvAk','JmeHI','299911rqrSPh','withDeps','ttgQQ','device_auth','\x0a\x0aFor\x20CI\x20/\x20background\x20agents\x20and\x20other\x20setup\x20options,\x20see:','.\x20Please\x20check\x20your\x20network\x20connection\x20and\x20server\x20URL.','.gitignore','CvaPN','\x0aInstalling\x20Chromium\x20browser...\x0a','prompt','profile','npx','XDSKD','\x0aTo\x20set\x20up\x20a\x20profile\x20for\x20your\x20app,\x20run:','49992ofmfdn','\x20install\x20chromium','provided_token','log','\x0aIn\x20Claude\x20Code,\x20run\x20','chromium','\x0aSkipping\x20profile\x20setup\x20(--skip-auth).\x20Run\x20`ranger\x20setup`\x20with\x20auth\x20to\x20add\x20a\x20profile\x20later.\x0a','\x20is\x20no\x20longer\x20supported.\x20','\x0a✅\x20Ranger\x20setup\x20complete!\x0a','⚠\x20No\x20git\x20repository\x20found.\x20Re-run\x20with\x20`--scope\x20user`\x20to\x20store\x20the\x20profile\x20at\x20~/.ranger/.','skipped','✓\x20Local\x20profile\x20already\x20exists','NLCBV','175MrHFnV','Validating\x20API\x20token...','\x0ascenarios\x20describing\x20what\x20to\x20verify\x20and\x20then\x20run\x20browser','sgSgn','playwright@','existing_token','auth','✓\x20Already\x20authenticated\x20to\x20','Installation\x20failed\x20with\x20exit\x20code\x20','error','message','inherit','438jVedzk','SYxEt','82555lRdCKi','\x0aIn\x20OpenCode,\x20enable\x20Ranger\x20hooks\x20(run\x20the\x20`ranger_enable`\x20tool)','4468806JvPdhW','eaASL','\x20\x20Failed\x20to\x20install\x20OpenCode\x20skill:','dGaFo','366064JUqfyZ','✓\x20Authenticated\x20to\x20','✓\x20~/.ranger/\x20directory\x20already\x20exists','wiIQA','Authentication\x20failed:\x20','SJEVy','allowInsecureLocalhost','scope','bPPYw','organizationName','rBRUX','project-scope\x20setup\x20obsolete).\x20Drop\x20the\x20--scope\x20flag\x20or\x20pass\x20--scope=user.','playwright/package.json'];_0x1922=function(){return _0x1baa1b;};return _0x1922();}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=_0x484b70=>'\x1b[1m'+_0x484b70+'\x1b[0m';export function getPlaywrightVersion(){const _0x4709e6=_0x52ae;try{const _0x7ba15f=require['resolve'](_0x4709e6(0x238)),_0x5497c1=require(_0x7ba15f);return _0x5497c1['version'];}catch{return null;}}export function installChromiumBinary(_0x3badf5,_0x2cbd9a=![]){const _0x5659b6=_0x52ae,_0x1b3665={'lFguW':function(_0x2025bc,_0x4eaca5){return _0x2025bc(_0x4eaca5);},'OntZs':'chromium','zyRcd':function(_0x1f0839,_0x5917b0,_0x16200d,_0x30dd22){return _0x1f0839(_0x5917b0,_0x16200d,_0x30dd22);},'SJEVy':_0x5659b6(0x208)};return new Promise((_0x524451,_0x1b84e5)=>{const _0xb35000=_0x5659b6,_0x394b57={'GQziK':function(_0xa83af4,_0x54cff6){return _0xa83af4===_0x54cff6;},'ttgQQ':function(_0x3b77c1,_0x192be0){return _0x1b3665['lFguW'](_0x3b77c1,_0x192be0);}},_0x170ee3=[_0xb35000(0x21c)+_0x3badf5,'install',..._0x2cbd9a?[_0xb35000(0x1f5)]:[],_0x1b3665['OntZs']],_0x38c2e6=_0x1b3665['zyRcd'](spawn,_0x1b3665[_0xb35000(0x231)],_0x170ee3,{'stdio':[_0xb35000(0x23a),_0xb35000(0x223),_0xb35000(0x223)],'shell':process[_0xb35000(0x1ea)]==='win32'});_0x38c2e6['on']('close',_0x23c21c=>{const _0x2d30d9=_0xb35000;_0x394b57['GQziK'](_0x23c21c,0x0)?_0x524451():_0x1b84e5(new Error(_0x2d30d9(0x220)+_0x23c21c));}),_0x38c2e6['on'](_0xb35000(0x221),_0x44b8ef=>{const _0x57ddc6=_0xb35000;_0x394b57[_0x57ddc6(0x1ff)](_0x1b84e5,_0x44b8ef);});});}export async function authenticate(_0x4f69be){const _0x4f0525=_0x52ae,_0x45191a={'OdeCw':function(_0x26c84c,_0x4be85b){return _0x26c84c(_0x4be85b);},'RjXIn':_0x4f0525(0x21d),'DSaem':_0x4f0525(0x200),'rBRUX':_0x4f0525(0x23f)};if(!_0x4f69be){const _0x28140c=await getToken();if(_0x28140c){const _0x271b4c=await _0x45191a['OdeCw'](getCurrentUser,_0x28140c);if(_0x271b4c['success'])return console['log'](_0x4f0525(0x21f)+_0x271b4c['user']['organizationName']),{'token':_0x28140c,'method':_0x45191a['RjXIn']};}try{_0x4f69be=await runDeviceAuthFlow();}catch(_0x5776a5){throw new Error('Authentication\x20failed:\x20'+(_0x5776a5 instanceof Error?_0x5776a5[_0x4f0525(0x222)]:_0x5776a5));}const _0x44e3dd=await getCurrentUser(_0x4f69be);if(!_0x44e3dd[_0x4f0525(0x23d)])throw new Error(_0x4f0525(0x23b)+_0x44e3dd[_0x4f0525(0x221)]);return console[_0x4f0525(0x20e)](_0x4f0525(0x22d)+_0x44e3dd['user']['organizationName']),{'token':_0x4f69be,'method':_0x45191a['DSaem']};}console[_0x4f0525(0x20e)](_0x4f0525(0x219));const _0xaa58b3=await getCurrentUser(_0x4f69be);if(!_0xaa58b3[_0x4f0525(0x23d)]){if(_0xaa58b3['status'])throw new Error(_0x4f0525(0x230)+_0xaa58b3[_0x4f0525(0x221)]+'.\x20Please\x20check\x20your\x20API\x20token\x20and\x20try\x20again.');else throw new Error('Failed\x20to\x20connect\x20to\x20MCP\x20server:\x20'+_0xaa58b3[_0x4f0525(0x221)]+_0x4f0525(0x202));}return console[_0x4f0525(0x20e)](_0x4f0525(0x22d)+_0xaa58b3[_0x4f0525(0x240)][_0x4f0525(0x235)]),await storeToken(_0x4f69be),console[_0x4f0525(0x20e)](process['env'][_0x4f0525(0x1fa)]?_0x45191a[_0x4f0525(0x236)]:_0x4f0525(0x1f3)),{'token':_0x4f69be,'method':_0x4f0525(0x20d)};}export async function ensureRangerDir(_0x2b8d54){const _0x30e7cd=_0x52ae,_0x2ee54c={'cRPeA':function(_0x3a62c5){return _0x3a62c5();},'oULmb':function(_0x205307,_0xa132ef){return _0x205307(_0xa132ef);},'NTjUm':'✓\x20Created\x20~/.ranger/\x20directory','yULUX':_0x30e7cd(0x22e)};void _0x2b8d54;const _0x30bba9=_0x2ee54c['cRPeA'](getRangerHomeDir);return!_0x2ee54c['oULmb'](existsSync,_0x30bba9)?(await mkdir(_0x30bba9,{'recursive':!![]}),console['log'](_0x2ee54c['NTjUm']),{'path':_0x30bba9,'installed':!![]}):(console[_0x30e7cd(0x20e)](_0x2ee54c['yULUX']),{'path':_0x30bba9,'installed':![]});}export async function ensureChromium(_0x559740=![]){const _0x3ad034=_0x52ae,_0x2407e6={'KPIAZ':function(_0x39cef6,_0x278b31){return _0x39cef6(_0x278b31);},'sgSgn':_0x3ad034(0x1eb),'rulBF':function(_0xdf995e,_0x4c3d8a){return _0xdf995e??_0x4c3d8a;},'Bacgd':'confirm','rjjli':_0x3ad034(0x1f1),'jupxC':_0x3ad034(0x205),'zStOT':function(_0x278809,_0x58fc54){return _0x278809 instanceof _0x58fc54;}};let _0xc1fab8=![];try{const _0x2854c7=chromium['executablePath']();_0xc1fab8=_0x2407e6['KPIAZ'](existsSync,_0x2854c7);}catch{_0xc1fab8=![];}if(_0xc1fab8)return console[_0x3ad034(0x20e)](_0x2407e6[_0x3ad034(0x21b)]),![];const _0x51a6d5=getPlaywrightVersion(),_0x252040=_0x2407e6['rulBF'](_0x51a6d5,PLAYWRIGHT_CHROMIUM_INSTALL_FALLBACK_VERSION),_0x1ff5e4=!_0x51a6d5,_0x43c7a2=process[_0x3ad034(0x249)]['isTTY']&&process['stdout']['isTTY'];let _0x275239=!![];if(_0x43c7a2){const {install:_0x6600c}=await _0x3cf803[_0x3ad034(0x206)]([{'type':_0x2407e6['Bacgd'],'name':_0x3ad034(0x1e9),'message':_0x1ff5e4?'Could\x20not\x20determine\x20local\x20Playwright\x20version.\x20Install\x20Playwright\x20Chromium\x20using\x20fallback\x20version\x20'+_0x252040+'\x20now?':'The\x20required\x20version\x20('+_0x252040+')\x20of\x20the\x20Playwright\x20Chromium\x20browser\x20is\x20not\x20installed.\x20Install\x20it\x20now?','default':!![]}]);_0x275239=_0x6600c;}else console['log'](_0x3ad034(0x23e)+_0x252040+(_0x1ff5e4?_0x2407e6[_0x3ad034(0x1f9)]:'')+_0x3ad034(0x246));if(_0x275239){console['log'](_0x2407e6[_0x3ad034(0x1ec)]);try{await installChromiumBinary(_0x252040,_0x559740),console['log']('\x0a✓\x20Playwright\x20Chromium\x20installed\x20successfully');}catch(_0x4b1de0){console[_0x3ad034(0x221)]('\x0a❌\x20Failed\x20to\x20install\x20Chromium:',_0x2407e6['zStOT'](_0x4b1de0,Error)?_0x4b1de0[_0x3ad034(0x222)]:_0x4b1de0),console['log']('You\x20can\x20install\x20it\x20manually\x20by\x20running:'),console[_0x3ad034(0x20e)]('\x20\x20npx\x20playwright@'+_0x252040+_0x3ad034(0x20c));}}else console[_0x3ad034(0x20e)](_0x3ad034(0x1ed)),console[_0x3ad034(0x20e)]('You\x20will\x20need\x20to\x20install\x20it\x20before\x20using\x20Ranger:'),console['log']('\x20\x20npx\x20playwright@'+_0x252040+_0x3ad034(0x20c));return!![];}export async function writeRangerGitignore(_0x4c28bc){const _0x4bdbc5=_0x52ae,_0x5e5188={'JmeHI':_0x4bdbc5(0x203)},_0x3dde04=join(_0x4c28bc,_0x5e5188[_0x4bdbc5(0x1fc)]),_0x4eee2a='\x0a\x0a#\x20Ignore\x20local-only\x20directories\x0alocal/\x0asessions/\x0abug-bashes/\x0areports/\x0afeedback-images/\x0a\x0aactive-profile.txt\x0aactive-feature.txt\x0a.gitignore\x0a\x0a#\x20Ignore\x20plaintext\x20auth\x20files\x20(encrypted\x20.enc\x20files\x20are\x20safe\x20to\x20commit)\x0a**/auth.json\x0a';await writeFile(_0x3dde04,_0x4eee2a),console['log']('✓\x20Created\x20.ranger/.gitignore');}export async function ensureLocalEnv(_0x23ceaa,_0x2397eb){const _0x5a6f5f=_0x52ae,_0x317835={'Ohzjn':_0x5a6f5f(0x240),'yyQIk':_0x5a6f5f(0x214),'QqybU':function(_0x369639,_0x3416a4){return _0x369639===_0x3416a4;},'BWFXQ':function(_0x32217b,_0x4337b7,_0x324618){return _0x32217b(_0x4337b7,_0x324618);},'xoLRE':'local','dUhJg':_0x5a6f5f(0x216),'dlIdL':'\x0a❌\x20Profile\x20setup\x20failed:','JllgR':function(_0x413bf,_0x310054){return _0x413bf instanceof _0x310054;}};if(!findGitRoot()&&_0x23ceaa?.['scope']!==_0x317835['Ohzjn'])return console[_0x5a6f5f(0x20e)](_0x317835['yyQIk']),{'ready':![],'skipped':!![]};const _0x7f0b2f=_0x317835['QqybU'](_0x23ceaa?.['scope'],_0x5a6f5f(0x240))?getRangerHomeDir():undefined;if(_0x317835['BWFXQ'](findExistingEnv,'local',{'locations':[_0x317835['xoLRE']],'rangerDir':_0x7f0b2f}))return console['log'](_0x317835['dUhJg']),{'ready':!![],'skipped':![]};try{return await addEnv(_0x317835['xoLRE'],{'url':_0x23ceaa?.[_0x5a6f5f(0x245)],'force':_0x23ceaa?.[_0x5a6f5f(0x1ee)],'allowInsecureLocalhost':_0x23ceaa?.['allowInsecureLocalhost'],'scope':_0x23ceaa?.['scope']},_0x2397eb),{'ready':!![],'skipped':![]};}catch(_0x116f25){return console['error'](_0x317835['dlIdL'],_0x317835[_0x5a6f5f(0x1f6)](_0x116f25,Error)?_0x116f25['message']:_0x116f25),{'ready':![],'skipped':![]};}}export async function start(_0xc8be1f,_0x18d355,_0x2f946b){const _0x1399e5=_0x52ae,_0x437273={'XDSKD':function(_0x20d5cf,_0x426689){return _0x20d5cf!==_0x426689;},'NLCBV':_0x1399e5(0x240),'uGRqO':function(_0x3c6da1,_0x50358a){return _0x3c6da1+_0x50358a;},'mpjrm':function(_0x273454,_0x3e55ca){return _0x273454(_0x3e55ca);},'bQCXo':function(_0x43ea2a){return _0x43ea2a();},'eaASL':function(_0x42d353,_0x4d6252){return _0x42d353(_0x4d6252);},'MXYGz':'✓\x20Skipping\x20authentication\x20(--skip-auth)','nhgFT':_0x1399e5(0x21e),'dGaFo':function(_0x685258,_0x188b84){return _0x685258(_0x188b84);},'hdtlU':'chromium','SYxEt':_0x1399e5(0x213),'cjCCJ':_0x1399e5(0x243),'bPPYw':_0x1399e5(0x1f8),'HBvAk':function(_0x2af99c,_0x3b9f65,_0x3d3ba3){return _0x2af99c(_0x3b9f65,_0x3d3ba3);},'qyGFJ':'opencode','CvaPN':function(_0x41ce08,_0x351dd3){return _0x41ce08(_0x351dd3);},'SgdVE':function(_0x4fd6dc,_0x268714){return _0x4fd6dc+_0x268714;},'bJULT':'ranger\x20profile\x20add\x20<name>','wiIQA':'with\x20scenarios\x20describing\x20what\x20to\x20verify\x20and\x20then\x20run\x20browser'};console[_0x1399e5(0x20e)]('\x0a🚀\x20Ranger\x20Setup\x0a');_0x18d355?.['scope']!==undefined&&_0x437273[_0x1399e5(0x209)](_0x18d355[_0x1399e5(0x233)],_0x437273[_0x1399e5(0x217)])&&(console[_0x1399e5(0x221)](_0x437273['uGRqO']('ranger\x20setup\x20--scope='+_0x437273['mpjrm'](String,_0x18d355['scope'])+_0x1399e5(0x212)+'Setup\x20always\x20installs\x20at\x20user\x20scope\x20now\x20(cloud\x20profiles\x20make\x20',_0x1399e5(0x237))),process['exit'](0x1));_0x18d355={..._0x18d355,'scope':_0x437273[_0x1399e5(0x217)]};const _0x2b6bd5=!existsSync(_0x437273['bQCXo'](getRangerHomeDir));await _0x437273[_0x1399e5(0x229)](ensureRangerDir,_0x437273[_0x1399e5(0x217)]);if(_0x18d355?.['skipAuth'])console['log'](_0x437273['MXYGz']),_0x2f946b?.[_0x1399e5(0x1f4)](_0x437273[_0x1399e5(0x1f7)],{'isFirstRun':_0x2b6bd5,'method':'skipped'});else{_0x2f946b?.['trackPhaseStart'](_0x437273['nhgFT']);const _0x25f074=await authenticate(_0xc8be1f);_0x2f946b?.[_0x1399e5(0x1f4)]('auth',{'isFirstRun':_0x2b6bd5,'method':_0x25f074['method']});}_0x2f946b?.[_0x1399e5(0x244)](_0x1399e5(0x210));_0x18d355?.[_0x1399e5(0x1ef)]?console[_0x1399e5(0x20e)]('✓\x20Skipping\x20Chromium\x20check\x20(--skip-chromium)'):await _0x437273[_0x1399e5(0x22b)](ensureChromium,_0x18d355?.[_0x1399e5(0x1fe)]);_0x2f946b?.['trackPhaseEnd'](_0x437273[_0x1399e5(0x247)],{'isFirstRun':_0x2b6bd5,'skipped':!!_0x18d355?.[_0x1399e5(0x1ef)]}),console['log'](_0x437273[_0x1399e5(0x225)]);const _0x5cd509=_0x18d355?.[_0x1399e5(0x233)],_0x4299f1=_0x18d355?.['opencode']??![];let _0x4dc786=null;_0x4299f1?(_0x2f946b?.[_0x1399e5(0x244)](_0x437273['cjCCJ']),_0x4dc786=await _0x437273['eaASL'](ensureOpencodePluginConfig,_0x5cd509),_0x2f946b?.['trackPhaseEnd'](_0x437273['cjCCJ'],{'isFirstRun':_0x2b6bd5,'opencode':!![]})):(_0x2f946b?.[_0x1399e5(0x244)]('plugin'),await ensureClaudePlugin(_0x5cd509),_0x2f946b?.['trackPhaseEnd']('plugin',{'isFirstRun':_0x2b6bd5}));if(_0x4299f1&&_0x4dc786){_0x2f946b?.['trackPhaseStart'](_0x437273['bPPYw']);try{await _0x437273[_0x1399e5(0x1fb)](installSkill,'ranger',{'level':_0x4dc786['scope'],'cliVersion':getCurrentVersion(),'platform':_0x437273[_0x1399e5(0x1f0)]}),_0x2f946b?.['trackPhaseEnd'](_0x437273[_0x1399e5(0x234)],{'isFirstRun':_0x2b6bd5,'opencode':!![]});}catch(_0x3f5fff){console['warn'](_0x1399e5(0x22a),_0x3f5fff instanceof Error?_0x3f5fff[_0x1399e5(0x222)]:_0x3f5fff),_0x2f946b?.['trackPhaseEnd'](_0x1399e5(0x1f8),{'isFirstRun':_0x2b6bd5,'opencode':!![],'failed':!![]});}}else _0x2f946b?.[_0x1399e5(0x244)](_0x437273[_0x1399e5(0x234)]),await _0x437273[_0x1399e5(0x204)](ensureClaudeSkills,_0x5cd509),_0x2f946b?.[_0x1399e5(0x1f4)]('skills',{'isFirstRun':_0x2b6bd5});if(_0x18d355?.['skipAuth'])console[_0x1399e5(0x20e)](_0x1399e5(0x211));else{if(_0x18d355?.[_0x1399e5(0x245)]){_0x2f946b?.[_0x1399e5(0x244)](_0x1399e5(0x207));const _0x18b69a=await _0x437273[_0x1399e5(0x1fb)](ensureLocalEnv,{'url':_0x18d355[_0x1399e5(0x245)],'force':_0x18d355?.['force'],'allowInsecureLocalhost':_0x18d355?.[_0x1399e5(0x232)],'scope':'user'},_0x2f946b);_0x2f946b?.['trackPhaseEnd'](_0x1399e5(0x207),{'isFirstRun':_0x2b6bd5,'profileReady':_0x18b69a['ready'],'userSkipped':_0x18b69a[_0x1399e5(0x215)]});}else console['log'](_0x437273[_0x1399e5(0x248)](_0x437273[_0x1399e5(0x248)](_0x1399e5(0x20a)+('\x0a\x20\x20'+bold(_0x437273[_0x1399e5(0x242)]))+'\x0a\x20\x20(opens\x20a\x20browser\x20so\x20you\x20can\x20log\x20in\x20once)',_0x1399e5(0x201)),'\x0a\x20\x20https://docs.ranger.net/main/concepts/profiles'));}if(_0x4299f1)console['log'](_0x1399e5(0x227)),console[_0x1399e5(0x20e)]('and\x20prompt\x20the\x20agent\x20like\x20usual.\x20Ranger\x20will\x20create\x20a\x20feature\x20review'),console['log'](_0x437273[_0x1399e5(0x22f)]),console[_0x1399e5(0x20e)]('verification\x20to\x20check\x20its\x20work\x20as\x20it\x20builds.');else{const _0x3eb060=bold('/ranger:enable');console[_0x1399e5(0x20e)](_0x437273['uGRqO'](_0x1399e5(0x20f)+_0x3eb060+'\x20and\x20prompt\x20the\x20coding'+'\x0aagent\x20like\x20usual.\x20Claude\x20will\x20create\x20a\x20feature\x20review\x20with',_0x1399e5(0x21a))+_0x1399e5(0x23c));}}
1
+ const _0xe9931d=_0x5adf;(function(_0x115024,_0x1a2f10){const _0x2f2f8a=_0x5adf,_0x410b6d=_0x115024();while(!![]){try{const _0x2878ff=parseInt(_0x2f2f8a(0x1c8))/0x1*(-parseInt(_0x2f2f8a(0x19e))/0x2)+parseInt(_0x2f2f8a(0x194))/0x3*(parseInt(_0x2f2f8a(0x16b))/0x4)+-parseInt(_0x2f2f8a(0x172))/0x5+-parseInt(_0x2f2f8a(0x173))/0x6+parseInt(_0x2f2f8a(0x17b))/0x7*(parseInt(_0x2f2f8a(0x178))/0x8)+parseInt(_0x2f2f8a(0x1c9))/0x9+parseInt(_0x2f2f8a(0x197))/0xa*(parseInt(_0x2f2f8a(0x1a3))/0xb);if(_0x2878ff===_0x1a2f10)break;else _0x410b6d['push'](_0x410b6d['shift']());}catch(_0x67abc6){_0x410b6d['push'](_0x410b6d['shift']());}}}(_0xaae9,0x6e663));import{mkdir,writeFile}from'fs/promises';import{join}from'path';import{existsSync}from'fs';import{createRequire}from'module';import{spawn}from'child_process';import _0x4ca0b8 from'inquirer';function _0x5adf(_0x27ca92,_0x33171c){_0x27ca92=_0x27ca92-0x169;const _0xaae9f8=_0xaae9();let _0x5adfac=_0xaae9f8[_0x27ca92];return _0x5adfac;}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';function _0xaae9(){const _0x429c40=['TPjbV','\x20install\x20chromium','✓\x20Local\x20profile\x20already\x20exists','url','1ryHYhN','6363045hiCniy','UefQH','local','success','4JIYrpZ','auth','iwuCq','\x0a\x20\x20(opens\x20a\x20browser\x20so\x20you\x20can\x20log\x20in\x20once)','1.58.2','iUcHz','\x0a⚠\x20Skipping\x20Chromium\x20installation.','1370845kSBUGD','4671222NnABOe','inherit','\x0aagent\x20like\x20usual.\x20Claude\x20will\x20create\x20a\x20feature\x20review\x20with','\x0averification\x20to\x20check\x20its\x20work\x20as\x20it\x20builds.','PaGaV','557616GzBWkp','provided_token','\x20\x20Failed\x20to\x20install\x20OpenCode\x20skill:','21sPXmdK','force','playwright@','eLnQn','prompt','status','trackPhaseStart','\x0a❌\x20Profile\x20setup\x20failed:','\x0a✅\x20Ranger\x20setup\x20complete!\x0a','--with-deps','Sspbk','You\x20will\x20need\x20to\x20install\x20it\x20before\x20using\x20Ranger:','The\x20required\x20version\x20(','\x1b[0m','GITHUB_ENV','TIHmt','verification\x20to\x20check\x20its\x20work\x20as\x20it\x20builds.','organizationName','skipAuth','error','chromium','Authentication\x20failed:\x20','brAgC','ready','GEFvd','734259OKWKBI','JCUYQ','trackPhaseEnd','15910dcFQNg','\x0a✓\x20Playwright\x20Chromium\x20installed\x20successfully','.gitignore','rELvb','lkpMi','allowInsecureLocalhost','skipChromium','231524VJbtOI','Failed\x20to\x20validate\x20provisioned\x20API\x20key:\x20','.\x20Please\x20check\x20your\x20network\x20connection\x20and\x20server\x20URL.','TdQLF','XxRqY','3179ppfDma','taRcT','KulIr','withDeps','scope','user','platform','✓\x20Skipping\x20Chromium\x20check\x20(--skip-chromium)','message','You\x20can\x20install\x20it\x20manually\x20by\x20running:','log','Could\x20not\x20determine\x20local\x20Playwright\x20version.\x20Install\x20Playwright\x20Chromium\x20using\x20fallback\x20version\x20','fdlBN','\x20now?','\x20and\x20prompt\x20the\x20coding','Validating\x20API\x20token...','✓\x20Authenticated\x20to\x20','xyKPe','FpzdQ','install','GEWeA','plugin','ignore','PQRNj','\x0a\x20\x20https://docs.ranger.net/main/concepts/profiles','ranger','szcQm','Failed\x20to\x20connect\x20to\x20MCP\x20server:\x20','\x1b[1m','\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','project-scope\x20setup\x20obsolete).\x20Drop\x20the\x20--scope\x20flag\x20or\x20pass\x20--scope=user.','version','profile'];_0xaae9=function(){return _0x429c40;};return _0xaae9();}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=_0xe9931d(0x16f);const bold=_0x5b3bf3=>_0xe9931d(0x1bf)+_0x5b3bf3+_0xe9931d(0x188);export function getPlaywrightVersion(){const _0x3d0136=_0xe9931d;try{const _0x13c5bc=require['resolve']('playwright/package.json'),_0x2142e7=require(_0x13c5bc);return _0x2142e7[_0x3d0136(0x1c2)];}catch{return null;}}export function installChromiumBinary(_0x8e02b9,_0x14d6ce=![]){const _0x41e31d=_0xe9931d,_0x39c8ce={'desaT':_0x41e31d(0x1b6),'tChFM':_0x41e31d(0x184),'xMxvW':function(_0x1425d3,_0x3b6e52,_0x51230f,_0x7f1331){return _0x1425d3(_0x3b6e52,_0x51230f,_0x7f1331);},'GEFvd':'npx','iUcHz':_0x41e31d(0x1b9),'aMBMH':function(_0x1336f3,_0x343cd5){return _0x1336f3===_0x343cd5;},'lkpMi':_0x41e31d(0x18e)};return new Promise((_0x49e726,_0x592b69)=>{const _0xe891a4=_0x41e31d,_0x37608e=[_0xe891a4(0x17d)+_0x8e02b9,_0x39c8ce['desaT'],..._0x14d6ce?[_0x39c8ce['tChFM']]:[],'chromium'],_0xd27c4d=_0x39c8ce['xMxvW'](spawn,_0x39c8ce[_0xe891a4(0x193)],_0x37608e,{'stdio':[_0x39c8ce[_0xe891a4(0x170)],'inherit',_0xe891a4(0x174)],'shell':_0x39c8ce['aMBMH'](process[_0xe891a4(0x1a9)],'win32')});_0xd27c4d['on']('close',_0xf99c8c=>{_0xf99c8c===0x0?_0x49e726():_0x592b69(new Error('Installation\x20failed\x20with\x20exit\x20code\x20'+_0xf99c8c));}),_0xd27c4d['on'](_0x39c8ce[_0xe891a4(0x19b)],_0x58ac38=>{_0x592b69(_0x58ac38);});});}export async function authenticate(_0x34ac96){const _0x16644f=_0xe9931d,_0x193e3f={'ZNtYr':function(_0x213cf1){return _0x213cf1();},'RybGi':'existing_token','UfcAf':function(_0x213594,_0x33f69d){return _0x213594 instanceof _0x33f69d;},'awhlC':_0x16644f(0x1b2),'fZLNE':function(_0x4caf66,_0x17312e){return _0x4caf66(_0x17312e);},'zXvFC':'✓\x20Exported\x20credentials\x20for\x20CI','PaGaV':'✓\x20Stored\x20credentials\x20locally'};if(!_0x34ac96){const _0x52ab47=await _0x193e3f['ZNtYr'](getToken);if(_0x52ab47){const _0x3e4eaa=await getCurrentUser(_0x52ab47);if(_0x3e4eaa['success'])return console[_0x16644f(0x1ad)]('✓\x20Already\x20authenticated\x20to\x20'+_0x3e4eaa['user']['organizationName']),{'token':_0x52ab47,'method':_0x193e3f['RybGi']};}try{_0x34ac96=await runDeviceAuthFlow();}catch(_0x489c78){throw new Error(_0x16644f(0x190)+(_0x193e3f['UfcAf'](_0x489c78,Error)?_0x489c78[_0x16644f(0x1ab)]:_0x489c78));}const _0x1c5180=await getCurrentUser(_0x34ac96);if(!_0x1c5180[_0x16644f(0x16a)])throw new Error(_0x16644f(0x19f)+_0x1c5180['error']);return console[_0x16644f(0x1ad)]('✓\x20Authenticated\x20to\x20'+_0x1c5180['user'][_0x16644f(0x18c)]),{'token':_0x34ac96,'method':'device_auth'};}console['log'](_0x193e3f['awhlC']);const _0x4f6aa6=await getCurrentUser(_0x34ac96);if(!_0x4f6aa6[_0x16644f(0x16a)]){if(_0x4f6aa6[_0x16644f(0x180)])throw new Error(_0x16644f(0x190)+_0x4f6aa6['error']+'.\x20Please\x20check\x20your\x20API\x20token\x20and\x20try\x20again.');else throw new Error(_0x16644f(0x1be)+_0x4f6aa6[_0x16644f(0x18e)]+_0x16644f(0x1a0));}return console[_0x16644f(0x1ad)](_0x16644f(0x1b3)+_0x4f6aa6[_0x16644f(0x1a8)][_0x16644f(0x18c)]),await _0x193e3f['fZLNE'](storeToken,_0x34ac96),console[_0x16644f(0x1ad)](process['env'][_0x16644f(0x189)]?_0x193e3f['zXvFC']:_0x193e3f[_0x16644f(0x177)]),{'token':_0x34ac96,'method':_0x16644f(0x179)};}export async function ensureRangerDir(_0x1200dd){const _0x5aa2f2=_0xe9931d,_0x34e63f={'EcVxW':'✓\x20Created\x20~/.ranger/\x20directory'};void _0x1200dd;const _0x402a94=getRangerHomeDir();return!existsSync(_0x402a94)?(await mkdir(_0x402a94,{'recursive':!![]}),console[_0x5aa2f2(0x1ad)](_0x34e63f['EcVxW']),{'path':_0x402a94,'installed':!![]}):(console['log']('✓\x20~/.ranger/\x20directory\x20already\x20exists'),{'path':_0x402a94,'installed':![]});}export async function ensureChromium(_0x54860b=![]){const _0x529ea0=_0xe9931d,_0x37c39e={'jqNLx':function(_0x37eb37,_0xae1ef7){return _0x37eb37??_0xae1ef7;},'pHQex':'confirm','bnNPJ':'install','gdKDJ':'\x20(fallback\x20version)','Sspbk':_0x529ea0(0x198),'MsKFQ':'\x0a❌\x20Failed\x20to\x20install\x20Chromium:','xMrSv':function(_0x2bc99f,_0x17f89){return _0x2bc99f instanceof _0x17f89;}};let _0x5cb9f9=![];try{const _0x3d3a8b=chromium['executablePath']();_0x5cb9f9=existsSync(_0x3d3a8b);}catch{_0x5cb9f9=![];}if(_0x5cb9f9)return console['log']('✓\x20Playwright\x20Chromium\x20browser\x20found'),![];const _0x59d9bd=getPlaywrightVersion(),_0x5e5021=_0x37c39e['jqNLx'](_0x59d9bd,PLAYWRIGHT_CHROMIUM_INSTALL_FALLBACK_VERSION),_0xbabbc9=!_0x59d9bd,_0x3f4ca9=process['stdin']['isTTY']&&process['stdout']['isTTY'];let _0x383a73=!![];if(_0x3f4ca9){const {install:_0x4678cf}=await _0x4ca0b8[_0x529ea0(0x17f)]([{'type':_0x37c39e['pHQex'],'name':_0x37c39e['bnNPJ'],'message':_0xbabbc9?_0x529ea0(0x1ae)+_0x5e5021+_0x529ea0(0x1b0):_0x529ea0(0x187)+_0x5e5021+')\x20of\x20the\x20Playwright\x20Chromium\x20browser\x20is\x20not\x20installed.\x20Install\x20it\x20now?','default':!![]}]);_0x383a73=_0x4678cf;}else console[_0x529ea0(0x1ad)]('\x0aNon-interactive\x20mode:\x20Auto-installing\x20Playwright\x20Chromium\x20'+_0x5e5021+(_0xbabbc9?_0x37c39e['gdKDJ']:'')+'...');if(_0x383a73){console[_0x529ea0(0x1ad)]('\x0aInstalling\x20Chromium\x20browser...\x0a');try{await installChromiumBinary(_0x5e5021,_0x54860b),console[_0x529ea0(0x1ad)](_0x37c39e[_0x529ea0(0x185)]);}catch(_0x1ba8a6){console['error'](_0x37c39e['MsKFQ'],_0x37c39e['xMrSv'](_0x1ba8a6,Error)?_0x1ba8a6[_0x529ea0(0x1ab)]:_0x1ba8a6),console[_0x529ea0(0x1ad)](_0x529ea0(0x1ac)),console['log']('\x20\x20npx\x20playwright@'+_0x5e5021+_0x529ea0(0x1c5));}}else console['log'](_0x529ea0(0x171)),console[_0x529ea0(0x1ad)](_0x529ea0(0x186)),console['log']('\x20\x20npx\x20playwright@'+_0x5e5021+_0x529ea0(0x1c5));return!![];}export async function writeRangerGitignore(_0x3f1111){const _0x48cfae=_0xe9931d,_0x8b9d57={'PQRNj':'✓\x20Created\x20.ranger/.gitignore'},_0x34df31=join(_0x3f1111,_0x48cfae(0x199)),_0x4090b5=_0x48cfae(0x1c0);await writeFile(_0x34df31,_0x4090b5),console[_0x48cfae(0x1ad)](_0x8b9d57[_0x48cfae(0x1ba)]);}export async function ensureLocalEnv(_0x43e13a,_0x5d735c){const _0x5015f2=_0xe9931d,_0x4f6163={'KulIr':function(_0x573915){return _0x573915();},'XxRqY':function(_0x2326a9,_0x357349){return _0x2326a9!==_0x357349;},'TIHmt':'user','opUTL':function(_0x43329f,_0x3daf81){return _0x43329f===_0x3daf81;},'rbOXI':function(_0x43d5c3,_0x263224,_0x2d5354,_0x5e7d13){return _0x43d5c3(_0x263224,_0x2d5354,_0x5e7d13);},'wuZOy':_0x5015f2(0x169)};if(!_0x4f6163[_0x5015f2(0x1a5)](findGitRoot)&&_0x4f6163[_0x5015f2(0x1a2)](_0x43e13a?.['scope'],_0x4f6163[_0x5015f2(0x18a)]))return console['log']('⚠\x20No\x20git\x20repository\x20found.\x20Re-run\x20with\x20`--scope\x20user`\x20to\x20store\x20the\x20profile\x20at\x20~/.ranger/.'),{'ready':![],'skipped':!![]};const _0x42bbd1=_0x4f6163['opUTL'](_0x43e13a?.[_0x5015f2(0x1a7)],_0x5015f2(0x1a8))?getRangerHomeDir():undefined;if(findExistingEnv('local',{'locations':['local'],'rangerDir':_0x42bbd1}))return console['log'](_0x5015f2(0x1c6)),{'ready':!![],'skipped':![]};try{return await _0x4f6163['rbOXI'](addEnv,_0x4f6163['wuZOy'],{'url':_0x43e13a?.[_0x5015f2(0x1c7)],'force':_0x43e13a?.[_0x5015f2(0x17c)],'allowInsecureLocalhost':_0x43e13a?.[_0x5015f2(0x19c)],'scope':_0x43e13a?.[_0x5015f2(0x1a7)]},_0x5d735c),{'ready':!![],'skipped':![]};}catch(_0x3adeae){return console['error'](_0x5015f2(0x182),_0x3adeae instanceof Error?_0x3adeae['message']:_0x3adeae),{'ready':![],'skipped':![]};}}export async function start(_0x4677aa,_0x229652,_0x31dfe3){const _0x7a9910=_0xe9931d,_0x49f58e={'taRcT':function(_0x2fcdca,_0x5109ec){return _0x2fcdca+_0x5109ec;},'GEWeA':function(_0x218a14,_0x4e11b8){return _0x218a14(_0x4e11b8);},'JCUYQ':_0x7a9910(0x1a8),'Lhxcf':function(_0x294a12){return _0x294a12();},'iwuCq':'✓\x20Skipping\x20authentication\x20(--skip-auth)','xyKPe':'skipped','fdlBN':'auth','SuYVO':_0x7a9910(0x1aa),'eLnQn':'chromium','TPjbV':_0x7a9910(0x183),'TdQLF':'plugin','FpzdQ':'skills','brAgC':function(_0x3797c3,_0x2b5d99,_0x4af167){return _0x3797c3(_0x2b5d99,_0x4af167);},'iXHXI':function(_0x12b9bf){return _0x12b9bf();},'rELvb':_0x7a9910(0x17a),'szcQm':function(_0x80609a,_0x7007b1){return _0x80609a+_0x7007b1;},'IvWfq':function(_0x188b40,_0x5499c5){return _0x188b40+_0x5499c5;},'UefQH':function(_0x575b82,_0x3f4642){return _0x575b82(_0x3f4642);},'UODzf':function(_0x3eb838,_0x37ff4b){return _0x3eb838+_0x37ff4b;}};console[_0x7a9910(0x1ad)]('\x0a🚀\x20Ranger\x20Setup\x0a');_0x229652?.[_0x7a9910(0x1a7)]!==undefined&&_0x229652['scope']!=='user'&&(console['error'](_0x49f58e[_0x7a9910(0x1a4)]('ranger\x20setup\x20--scope='+_0x49f58e['GEWeA'](String,_0x229652['scope'])+'\x20is\x20no\x20longer\x20supported.\x20'+'Setup\x20always\x20installs\x20at\x20user\x20scope\x20now\x20(cloud\x20profiles\x20make\x20',_0x7a9910(0x1c1))),process['exit'](0x1));_0x229652={..._0x229652,'scope':_0x49f58e[_0x7a9910(0x195)]};const _0xadd1d4=!_0x49f58e['GEWeA'](existsSync,_0x49f58e['Lhxcf'](getRangerHomeDir));await _0x49f58e['GEWeA'](ensureRangerDir,_0x49f58e[_0x7a9910(0x195)]);if(_0x229652?.['skipAuth'])console[_0x7a9910(0x1ad)](_0x49f58e[_0x7a9910(0x16d)]),_0x31dfe3?.['trackPhaseEnd'](_0x7a9910(0x16c),{'isFirstRun':_0xadd1d4,'method':_0x49f58e[_0x7a9910(0x1b4)]});else{_0x31dfe3?.['trackPhaseStart'](_0x49f58e[_0x7a9910(0x1af)]);const _0x11caa7=await authenticate(_0x4677aa);_0x31dfe3?.['trackPhaseEnd'](_0x7a9910(0x16c),{'isFirstRun':_0xadd1d4,'method':_0x11caa7['method']});}_0x31dfe3?.['trackPhaseStart'](_0x7a9910(0x18f));_0x229652?.[_0x7a9910(0x19d)]?console[_0x7a9910(0x1ad)](_0x49f58e['SuYVO']):await _0x49f58e[_0x7a9910(0x1b7)](ensureChromium,_0x229652?.[_0x7a9910(0x1a6)]);_0x31dfe3?.[_0x7a9910(0x196)](_0x49f58e[_0x7a9910(0x17e)],{'isFirstRun':_0xadd1d4,'skipped':!!_0x229652?.[_0x7a9910(0x19d)]}),console[_0x7a9910(0x1ad)](_0x49f58e[_0x7a9910(0x1c4)]);const _0x14b8ed=_0x229652?.[_0x7a9910(0x1a7)],_0x493358=_0x229652?.['opencode']??![];let _0x3dc8f6=null;_0x493358?(_0x31dfe3?.[_0x7a9910(0x181)]('plugin'),_0x3dc8f6=await _0x49f58e['GEWeA'](ensureOpencodePluginConfig,_0x14b8ed),_0x31dfe3?.['trackPhaseEnd'](_0x49f58e['TdQLF'],{'isFirstRun':_0xadd1d4,'opencode':!![]})):(_0x31dfe3?.['trackPhaseStart'](_0x7a9910(0x1b8)),await ensureClaudePlugin(_0x14b8ed),_0x31dfe3?.['trackPhaseEnd'](_0x49f58e[_0x7a9910(0x1a1)],{'isFirstRun':_0xadd1d4}));if(_0x493358&&_0x3dc8f6){_0x31dfe3?.[_0x7a9910(0x181)](_0x49f58e['FpzdQ']);try{await _0x49f58e[_0x7a9910(0x191)](installSkill,_0x7a9910(0x1bc),{'level':_0x3dc8f6['scope'],'cliVersion':_0x49f58e['iXHXI'](getCurrentVersion),'platform':'opencode'}),_0x31dfe3?.['trackPhaseEnd'](_0x49f58e['FpzdQ'],{'isFirstRun':_0xadd1d4,'opencode':!![]});}catch(_0xd96454){console['warn'](_0x49f58e[_0x7a9910(0x19a)],_0xd96454 instanceof Error?_0xd96454[_0x7a9910(0x1ab)]:_0xd96454),_0x31dfe3?.['trackPhaseEnd'](_0x49f58e['FpzdQ'],{'isFirstRun':_0xadd1d4,'opencode':!![],'failed':!![]});}}else _0x31dfe3?.[_0x7a9910(0x181)](_0x49f58e[_0x7a9910(0x1b5)]),await _0x49f58e[_0x7a9910(0x1b7)](ensureClaudeSkills,_0x14b8ed),_0x31dfe3?.['trackPhaseEnd']('skills',{'isFirstRun':_0xadd1d4});if(_0x229652?.[_0x7a9910(0x18d)])console[_0x7a9910(0x1ad)]('\x0aSkipping\x20profile\x20setup\x20(--skip-auth).\x20Run\x20`ranger\x20setup`\x20with\x20auth\x20to\x20add\x20a\x20profile\x20later.\x0a');else{if(_0x229652?.[_0x7a9910(0x1c7)]){_0x31dfe3?.[_0x7a9910(0x181)](_0x7a9910(0x1c3));const _0x52103f=await ensureLocalEnv({'url':_0x229652['url'],'force':_0x229652?.[_0x7a9910(0x17c)],'allowInsecureLocalhost':_0x229652?.[_0x7a9910(0x19c)],'scope':'user'},_0x31dfe3);_0x31dfe3?.[_0x7a9910(0x196)]('profile',{'isFirstRun':_0xadd1d4,'profileReady':_0x52103f[_0x7a9910(0x192)],'userSkipped':_0x52103f['skipped']});}else console[_0x7a9910(0x1ad)](_0x49f58e[_0x7a9910(0x1bd)](_0x49f58e['IvWfq']('\x0aTo\x20set\x20up\x20a\x20profile\x20for\x20your\x20app,\x20run:'+('\x0a\x20\x20'+_0x49f58e[_0x7a9910(0x1ca)](bold,'ranger\x20profile\x20add\x20<name>'))+_0x7a9910(0x16e),'\x0a\x0aFor\x20CI\x20/\x20background\x20agents\x20and\x20other\x20setup\x20options,\x20see:'),_0x7a9910(0x1bb)));}if(_0x493358)console['log']('\x0aIn\x20OpenCode,\x20enable\x20Ranger\x20hooks\x20(run\x20the\x20`ranger_enable`\x20tool)'),console[_0x7a9910(0x1ad)]('and\x20prompt\x20the\x20agent\x20like\x20usual.\x20Ranger\x20will\x20create\x20a\x20feature\x20review'),console[_0x7a9910(0x1ad)]('with\x20scenarios\x20describing\x20what\x20to\x20verify\x20and\x20then\x20run\x20browser'),console[_0x7a9910(0x1ad)](_0x7a9910(0x18b));else{const _0x2083dd=bold('/ranger:enable');console[_0x7a9910(0x1ad)](_0x49f58e['UODzf']('\x0aIn\x20Claude\x20Code,\x20run\x20'+_0x2083dd+_0x7a9910(0x1b1)+_0x7a9910(0x175)+'\x0ascenarios\x20describing\x20what\x20to\x20verify\x20and\x20then\x20run\x20browser',_0x7a9910(0x176)));}}
@@ -1 +1 @@
1
- const _0x22c896=_0x5ae1;(function(_0x1991cc,_0x3b201d){const _0x1c30c9=_0x5ae1,_0x236654=_0x1991cc();while(!![]){try{const _0x2d062c=parseInt(_0x1c30c9(0x1d1))/0x1*(parseInt(_0x1c30c9(0x1fc))/0x2)+-parseInt(_0x1c30c9(0x1d3))/0x3+parseInt(_0x1c30c9(0x1ed))/0x4+-parseInt(_0x1c30c9(0x1ea))/0x5*(parseInt(_0x1c30c9(0x1c9))/0x6)+-parseInt(_0x1c30c9(0x1da))/0x7+parseInt(_0x1c30c9(0x1f8))/0x8*(parseInt(_0x1c30c9(0x1df))/0x9)+parseInt(_0x1c30c9(0x213))/0xa*(parseInt(_0x1c30c9(0x20f))/0xb);if(_0x2d062c===_0x3b201d)break;else _0x236654['push'](_0x236654['shift']());}catch(_0x1e0b8f){_0x236654['push'](_0x236654['shift']());}}}(_0x55a9,0x9699e));import{readFile,readdir}from'fs/promises';import{join,basename}from'path';import{existsSync}from'fs';import{getToken}from'./utils/keychain.js';import{getCurrentVersion,getLatestVersion}from'./utils/version.js';import{getApiBaseUrl,getCurrentEnvironment}from'./utils/environment.js';import{getProjectSkillsDir,getUserSkillsDir}from'./utils/claudeConfig.js';import{getEnvNames}from'./env.js';import{getCurrentUser}from'./utils/userApi.js';import{getRangerDir}from'./utils/rangerRoot.js';import{getEnvDir}from'./utils/settings.js';import{listCloudProfiles}from'./utils/cloudProfile.js';import{getPluginInfo}from'./utils/claudePlugin.js';function _0x55a9(){const _0x148261=['\x0a---\x20Claude\x20Code\x20Plugin\x20---','\x20\x20\x20\x20Auth:\x20','1989204omjmkG','Root:\x20','KpLmb','env','\x20\x20OpenCode\x20not\x20installed\x20or\x20not\x20available','\x0a---\x20Profiles\x20---','not_installed','\x1b[0m','opencode','isActive','dQITu','568wYnmVs','settingsPath','TpaGM','all','676HkLEDG','\x20\x20Project-level:','ranger@trailhead','utf-8','zEBqA','BddMO','HHdzm','auth.json','aiCBD','\x20\x20Run:\x20ranger\x20setup\x20[token]\x0a','configured','isArray','IYKYc','jKNJp','TFMEz','sessionUpdatedAt','stdout','user',':\x20installed\x20(','814qwTNqv','plaintext','\x20\x20Run:\x20ranger\x20update','API\x20Environment:\x20','193580ffyaFx','\x20\x20Not\x20configured','@ranger-testing/opencode-plugin','\x1b[1m','iGWcT','log','uQhEM','zBvmT','\x20\x20Run:\x20ranger\x20skillup','map','success','not_configured','stderr','VKAew','cwd','\x20\x20Run:\x20ranger\x20setup\x20[token]','includes','\x0a---\x20OpenCode\x20Plugin\x20---','path','filter','plugin',':\x20configured','XMZrI','details','string','\x20(active)','\x0a---\x20Skills\x20---','53166koMWMY','has','\x1b]8;;\x07','\x20\x20\x20\x20Session:\x20','displayName','length','PNAeT','ppTez','1106EvYcUE','DEBUG','2677209upVBMt','DSoYt','\x20local','\x20\x20\x20\x20','\x20(up\x20to\x20date)','\x20\x20Run:\x20ranger\x20setup\x20--opencode','FmtHG','5647845guiSaW','enabled','\x20\x20\x20\x20Settings:\x20','API\x20Token:\x20✗\x20Not\x20found','\x20[local]','17307ufwKNU','name','bjAGv','ATzuv','Version:\x20','No\x20skills\x20installed','oUusb','RUaic','(not\x20found)','status','opencode-plugin','70lARCkd'];_0x55a9=function(){return _0x148261;};return _0x55a9();}import{RANGER_MANAGED_SKILLS}from'./utils/skills.js';import{spawn}from'child_process';const bold=_0x4b1001=>_0x22c896(0x216)+_0x4b1001+_0x22c896(0x1f4),link=(_0x4b90cb,_0xac0c2a)=>'\x1b]8;;file://'+_0x4b90cb+'\x07'+(_0xac0c2a||_0x4b90cb)+_0x22c896(0x1cb);async function getOpencodePluginStatus(){const _0x495190=_0x22c896,_0x1893b4={'BddMO':function(_0x229c47,_0x264bfd){return _0x229c47(_0x264bfd);},'dQITu':'configured','zBvmT':function(_0x27e28e,_0x3b837f){return _0x27e28e>_0x3b837f;},'XMZrI':_0x495190(0x22b),'cUeZo':_0x495190(0x215),'UJpek':'debug','LBEff':'config','TpaGM':'ignore','aiCBD':'pipe','QwPSf':'data','jKNJp':'close'};return new Promise(_0x1f61c5=>{const _0x56d5ff=_0x495190,_0x483cda={'bjAGv':_0x1893b4[_0x56d5ff(0x229)],'dOcPZ':_0x1893b4['cUeZo']},_0x1d55c2=spawn(_0x56d5ff(0x1f5),[_0x1893b4['UJpek'],_0x1893b4['LBEff']],{'stdio':[_0x1893b4[_0x56d5ff(0x1fa)],_0x1893b4[_0x56d5ff(0x204)],_0x1893b4['aiCBD']]});let _0x47e359='';_0x1d55c2[_0x56d5ff(0x20c)]?.['on'](_0x1893b4['QwPSf'],_0x558bb5=>{_0x47e359+=_0x558bb5['toString']();}),_0x1d55c2[_0x56d5ff(0x21f)]?.['on'](_0x1893b4['QwPSf'],_0x38a0d5=>{_0x47e359+=_0x38a0d5['toString']();}),_0x1d55c2['on']('error',()=>{const _0x470d34=_0x56d5ff;_0x1f61c5({'status':_0x470d34(0x1f3)});}),_0x1d55c2['on'](_0x1893b4[_0x56d5ff(0x209)],_0x5b6d19=>{const _0x45ecd4=_0x56d5ff;if(_0x5b6d19!==0x0){_0x1893b4[_0x45ecd4(0x201)](_0x1f61c5,{'status':_0x45ecd4(0x1f3)});return;}const _0x9af332=_0x47e359['trim']();let _0xc2663a=null;if(_0x9af332)try{_0xc2663a=JSON['parse'](_0x9af332);}catch{const _0x3b05cc=_0x9af332['match'](/\{[\s\S]*\}$/);if(_0x3b05cc)try{_0xc2663a=JSON['parse'](_0x3b05cc[0x0]);}catch{_0xc2663a=null;}}const _0x72ebcc=Array[_0x45ecd4(0x207)](_0xc2663a?.['plugin'])?_0xc2663a?.[_0x45ecd4(0x227)]:[],_0x32ac4c=_0x72ebcc['some'](_0x922f78=>{const _0x5c7bd2=_0x45ecd4;if(typeof _0x922f78!==_0x483cda[_0x5c7bd2(0x1e1)])return![];return _0x922f78[_0x5c7bd2(0x223)](_0x483cda['dOcPZ'])||_0x922f78['includes'](_0x5c7bd2(0x1e9));});if(_0x32ac4c){_0x1f61c5({'status':_0x1893b4[_0x45ecd4(0x1f7)],'details':_0x72ebcc[_0x45ecd4(0x1ce)]>0x0?_0x72ebcc[_0x45ecd4(0x1ce)]+'\x20plugin(s)\x20configured':undefined});return;}if(_0x1893b4[_0x45ecd4(0x21a)](_0x72ebcc[_0x45ecd4(0x1ce)],0x0)){_0x1f61c5({'status':_0x45ecd4(0x21e),'details':_0x72ebcc[_0x45ecd4(0x1ce)]+'\x20plugin(s)\x20configured'});return;}_0x1f61c5({'status':'not_configured'});});});}async function getSkillsFromDir(_0x55dc7e,_0x359032){const _0x97c20f=_0x22c896,_0x2e8343={'uQhEM':function(_0x1e93b8,_0xafb512){return _0x1e93b8(_0xafb512);},'FmtHG':function(_0x3ee7ab,_0x3b4e47,_0xc7154e,_0x305315){return _0x3ee7ab(_0x3b4e47,_0xc7154e,_0x305315);},'ATzuv':'SKILL.md','rlSyg':function(_0x4aeea2,_0x4c0cb8,_0x271a0c){return _0x4aeea2(_0x4c0cb8,_0x271a0c);}};if(!_0x2e8343[_0x97c20f(0x219)](existsSync,_0x55dc7e))return[];const _0x143130=[];try{const _0xa00f6e=await readdir(_0x55dc7e,{'withFileTypes':!![]});for(const _0x43211a of _0xa00f6e){if(_0x43211a['isDirectory']()){const _0x4d0657=_0x2e8343[_0x97c20f(0x1d9)](join,_0x55dc7e,_0x43211a['name'],_0x2e8343[_0x97c20f(0x1e2)]);if(_0x2e8343['uQhEM'](existsSync,_0x4d0657)){let _0x12f01a=_0x43211a[_0x97c20f(0x1e0)];try{const _0x3d95bb=await _0x2e8343['rlSyg'](readFile,_0x4d0657,_0x97c20f(0x1ff)),_0x89adbc=_0x3d95bb['match'](/name:\s*(.+)/);_0x89adbc&&(_0x12f01a=_0x89adbc[0x1]['trim']());}catch{}_0x143130['push']({'name':_0x43211a[_0x97c20f(0x1e0)],'displayName':_0x12f01a,'path':_0x4d0657,'level':_0x359032});}}}}catch{return[];}return _0x143130;}async function getInstalledSkills(){const _0xbae091=_0x22c896,[_0x5d2353,_0x49ba3a]=await Promise[_0xbae091(0x1fb)]([getSkillsFromDir(getProjectSkillsDir(),'project'),getSkillsFromDir(getUserSkillsDir(),_0xbae091(0x20d))]);return{'project':_0x5d2353,'user':_0x49ba3a};}async function getEnvironments(){const _0x17ac22=_0x22c896,_0x303309={'BDzhn':function(_0x4728fb,_0x72fd63,_0x4d0bd6){return _0x4728fb(_0x72fd63,_0x4d0bd6);},'viiGj':_0x17ac22(0x203),'mJBJm':function(_0x1fd0f9,_0x507dde,_0xaf28c2){return _0x1fd0f9(_0x507dde,_0xaf28c2);},'zYtpv':'auth.json.enc','KpLmb':function(_0x879e86,_0x1deb52){return _0x879e86===_0x1deb52;},'KaNtD':function(_0x2ae701){return _0x2ae701();}},{envNames:_0x513d03,activeEnv:_0x110eea}=await _0x303309['KaNtD'](getEnvNames),_0x4f6c19=getRangerDir();if(!existsSync(_0x4f6c19))return{'envs':[],'activeEnv':null};const _0x2f02c2=_0x513d03[_0x17ac22(0x21c)](_0x286ea6=>{const _0x21f478=_0x17ac22,_0x2b57b9=getEnvDir(_0x286ea6),_0x5775d5=_0x303309['BDzhn'](join,_0x2b57b9,'settings.json'),_0x2944a9=_0x303309['BDzhn'](join,_0x2b57b9,_0x303309['viiGj']),_0x5058fa=_0x303309['mJBJm'](join,_0x2b57b9,_0x303309['zYtpv']);return{'name':_0x286ea6,'settingsPath':existsSync(_0x5775d5)?_0x5775d5:_0x21f478(0x1e7),'hasPlaintextAuth':existsSync(_0x2944a9),'hasEncryptedAuth':existsSync(_0x5058fa),'isActive':_0x303309[_0x21f478(0x1ef)](_0x286ea6,_0x110eea)};});return{'envs':_0x2f02c2,'activeEnv':_0x110eea};}function _0x5ae1(_0xabb67c,_0x534fc3){_0xabb67c=_0xabb67c-0x1c8;const _0x55a9e1=_0x55a9();let _0x5ae1d9=_0x55a9e1[_0xabb67c];return _0x5ae1d9;}export async function status(){const _0xd57bae=_0x22c896,_0xfbb3f9={'zEBqA':function(_0x6ffe15,_0x42ff89,_0x5c22f5){return _0x6ffe15(_0x42ff89,_0x5c22f5);},'ppTez':function(_0x59d203,_0x1fda2d){return _0x59d203(_0x1fda2d);},'DSoYt':function(_0x2fa9fc){return _0x2fa9fc();},'VKAew':function(_0x33c960){return _0x33c960();},'PNAeT':function(_0x56c6b0,_0x28df6a){return _0x56c6b0===_0x28df6a;},'TDrnU':'not_configured','ECHKE':function(_0x1608d6,_0x578977){return _0x1608d6(_0x578977);},'PNUrm':_0xd57bae(0x1db),'gERIN':function(_0x35ddae,_0x3b7e63){return _0x35ddae(_0x3b7e63);},'uGmWQ':function(_0x29350c,_0x368fd1){return _0x29350c+_0x368fd1;},'RUaic':_0xd57bae(0x1e4),'cHLlj':function(_0xc763c1,_0x6008ca){return _0xc763c1(_0x6008ca);},'FzAmQ':function(_0x32cbc7,_0x453307,_0x23ae32){return _0x32cbc7(_0x453307,_0x23ae32);},'HHdzm':function(_0x3fd41b,_0x2d4e90){return _0x3fd41b===_0x2d4e90;},'WzlTu':'No\x20profiles\x20configured','IYKYc':function(_0x54a16f,_0x4305df){return _0x54a16f>_0x4305df;},'oUusb':function(_0x3e06be,_0x38c4e5){return _0x3e06be(_0x38c4e5);},'TFMEz':'no\x20session','NLQsp':'none','grYmo':function(_0x168ae6,_0x37a914){return _0x168ae6(_0x37a914);},'hlpJa':function(_0x4f3e29,_0x243409){return _0x4f3e29!==_0x243409;},'iGWcT':_0xd57bae(0x1e7),'QCLnZ':function(_0x506777,_0x50e71e,_0x12fb0e){return _0x506777(_0x50e71e,_0x12fb0e);}};console[_0xd57bae(0x218)]('\x0a📊\x20Ranger\x20Status\x0a');const _0x4d3fed=process[_0xd57bae(0x221)](),_0x287bfd=getRangerDir();if(!existsSync(_0x287bfd)){console[_0xd57bae(0x218)](_0xd57bae(0x1ee)+_0xfbb3f9[_0xd57bae(0x200)](link,_0x4d3fed,_0xfbb3f9['ppTez'](bold,_0xfbb3f9[_0xd57bae(0x1d0)](basename,_0x4d3fed)))),console[_0xd57bae(0x218)]('\x0aRanger\x20has\x20not\x20been\x20initialized\x20in\x20this\x20directory.'),console['log'](_0xd57bae(0x205));return;}console[_0xd57bae(0x218)](_0xd57bae(0x1ee)+link(_0x4d3fed,bold(basename(_0x4d3fed))));const _0x56b43a=_0xfbb3f9['DSoYt'](getCurrentVersion),_0xe6b411=_0xfbb3f9[_0xd57bae(0x220)](getLatestVersion);if(_0xe6b411['version']&&_0xe6b411['version']!==_0x56b43a)console['log']('Version:\x20'+_0x56b43a+'\x20(latest:\x20'+_0xe6b411['version']+')'),console[_0xd57bae(0x218)](_0xd57bae(0x211));else _0xe6b411['version']?console[_0xd57bae(0x218)](_0xd57bae(0x1e3)+_0x56b43a+_0xd57bae(0x1d7)):console[_0xd57bae(0x218)](_0xd57bae(0x1e3)+_0x56b43a);const _0x144b83=await getToken();if(_0x144b83){const _0x5b6fa6=await _0xfbb3f9[_0xd57bae(0x1d0)](getCurrentUser,_0x144b83);_0x5b6fa6[_0xd57bae(0x21d)]?console['log']('Organization:\x20'+_0xfbb3f9[_0xd57bae(0x1d0)](bold,_0x5b6fa6['user']['organizationName'])):(console[_0xd57bae(0x218)]('API\x20Token:\x20✓\x20Found\x20but\x20invalid\x20or\x20expired'),console[_0xd57bae(0x218)](_0xd57bae(0x222)));}else console[_0xd57bae(0x218)](_0xd57bae(0x1dd)),console[_0xd57bae(0x218)]('\x20\x20Run:\x20ranger\x20setup\x20[token]');process[_0xd57bae(0x1f0)][_0xd57bae(0x1d2)]&&(console['log'](_0xd57bae(0x212)+getCurrentEnvironment()),console[_0xd57bae(0x218)]('API\x20URL:\x20'+getApiBaseUrl()));console['log'](_0xd57bae(0x224));const _0x144168=await getOpencodePluginStatus();if(_0x144168[_0xd57bae(0x1e8)]===_0xd57bae(0x206))console['log']('\x20\x20'+_0xfbb3f9[_0xd57bae(0x1d0)](bold,_0xd57bae(0x215))+_0xd57bae(0x228)),_0x144168['details']&&console[_0xd57bae(0x218)]('\x20\x20'+_0x144168[_0xd57bae(0x22a)]);else _0xfbb3f9[_0xd57bae(0x1cf)](_0x144168['status'],_0xfbb3f9['TDrnU'])?(console['log'](_0xd57bae(0x214)),_0x144168['details']&&console['log']('\x20\x20'+_0x144168[_0xd57bae(0x22a)]),console['log'](_0xd57bae(0x1d8))):console[_0xd57bae(0x218)](_0xd57bae(0x1f1));console['log'](_0xd57bae(0x1eb));const _0x476c89=await _0xfbb3f9['ECHKE'](getPluginInfo,_0xd57bae(0x1fe));if(_0x476c89){const _0x2afc6b=_0x476c89['scope']||'unknown',_0x1cde91=_0x476c89[_0xd57bae(0x1db)]?_0xfbb3f9['PNUrm']:'disabled';console[_0xd57bae(0x218)]('\x20\x20'+_0xfbb3f9['gERIN'](bold,'ranger@trailhead')+_0xd57bae(0x20e)+_0x2afc6b+',\x20'+_0x1cde91+')');}else console['log']('\x20\x20Not\x20installed'),console[_0xd57bae(0x218)]('\x20\x20Run:\x20ranger\x20setup\x20[token]\x20\x20(includes\x20plugin\x20installation)');console[_0xd57bae(0x218)](_0xd57bae(0x1c8));const {project:_0x87eb58,user:_0x58e8b1}=await getInstalledSkills(),_0x1be2c0=_0x87eb58['filter'](_0x5accbf=>RANGER_MANAGED_SKILLS['includes'](_0x5accbf[_0xd57bae(0x1e0)])),_0x561ec3=_0x58e8b1[_0xd57bae(0x226)](_0x13fdd1=>RANGER_MANAGED_SKILLS['includes'](_0x13fdd1['name'])),_0x57853d=_0xfbb3f9['uGmWQ'](_0x1be2c0['length'],_0x561ec3[_0xd57bae(0x1ce)]);if(_0x57853d===0x0)console['log'](_0xfbb3f9[_0xd57bae(0x1e6)]),console['log'](_0xd57bae(0x21b));else{if(_0x1be2c0['length']>0x0){console['log'](_0xd57bae(0x1fd));for(const _0x2923e8 of _0x1be2c0){console[_0xd57bae(0x218)](_0xd57bae(0x1d6)+_0xfbb3f9['cHLlj'](bold,_0x2923e8[_0xd57bae(0x1cd)])+':\x20'+link(_0x2923e8['path'],basename(_0x2923e8[_0xd57bae(0x225)])));}}if(_0x561ec3[_0xd57bae(0x1ce)]>0x0){console[_0xd57bae(0x218)]('\x20\x20User-level:');for(const _0x23a100 of _0x561ec3){console[_0xd57bae(0x218)]('\x20\x20\x20\x20'+bold(_0x23a100['displayName'])+':\x20'+_0xfbb3f9['FzAmQ'](link,_0x23a100['path'],_0xfbb3f9['cHLlj'](basename,_0x23a100['path'])));}}}console['log'](_0xd57bae(0x1f2));const {envs:_0xd0fd82,activeEnv:_0x320ffe}=await _0xfbb3f9[_0xd57bae(0x1d4)](getEnvironments);let _0xac0b21=[];if(_0x144b83)try{_0xac0b21=await listCloudProfiles();}catch{}const _0x39cff2=_0xd0fd82['length']+_0xac0b21[_0xd57bae(0x1ce)];if(_0xfbb3f9[_0xd57bae(0x202)](_0x39cff2,0x0))console['log'](_0xfbb3f9['WzlTu']),console[_0xd57bae(0x218)]('\x20\x20Run:\x20ranger\x20profile\x20add\x20<profile-name>');else{if(_0xfbb3f9[_0xd57bae(0x208)](_0x39cff2,0x5)){const _0x461f7b=[];_0xac0b21[_0xd57bae(0x1ce)]>0x0&&_0x461f7b['push'](_0xac0b21['length']+'\x20cloud'),_0xd0fd82[_0xd57bae(0x1ce)]>0x0&&_0x461f7b['push'](_0xd0fd82[_0xd57bae(0x1ce)]+_0xd57bae(0x1d5)),console['log'](_0x39cff2+'\x20profiles\x20configured\x20('+_0x461f7b['join'](',\x20')+')'),_0x320ffe&&console['log']('\x20\x20Active:\x20'+_0xfbb3f9[_0xd57bae(0x1e5)](bold,_0x320ffe)),console[_0xd57bae(0x218)]('\x20\x20Run:\x20ranger\x20profile\x20ls\x20\x20(list\x20all)');}else{for(const _0x21c80b of _0xac0b21){const _0x3a53f1=_0xfbb3f9[_0xd57bae(0x1cf)](_0x21c80b['name'],_0x320ffe)?'\x20(active)':'';console[_0xd57bae(0x218)]('\x20\x20'+bold(_0x21c80b[_0xd57bae(0x1e0)])+'\x20[cloud]'+_0x3a53f1);const _0x25fc7a=_0x21c80b[_0xd57bae(0x20b)]?'cached\x20(updated\x20'+_0x21c80b[_0xd57bae(0x20b)]+')':_0xfbb3f9[_0xd57bae(0x20a)];console[_0xd57bae(0x218)](_0xd57bae(0x1cc)+_0x25fc7a);}const _0x596d34=new Set(_0xac0b21['map'](_0x335053=>_0x335053['name']));for(const _0x3ae49d of _0xd0fd82){if(_0x596d34[_0xd57bae(0x1ca)](_0x3ae49d['name']))continue;const _0x42e6df=_0x3ae49d[_0xd57bae(0x1f6)]?_0xd57bae(0x22c):'',_0x3ab753=_0x3ae49d['hasEncryptedAuth']?'encrypted':_0x3ae49d['hasPlaintextAuth']?_0xd57bae(0x210):_0xfbb3f9['NLQsp'];console[_0xd57bae(0x218)]('\x20\x20'+_0xfbb3f9['grYmo'](bold,_0x3ae49d['name'])+_0xd57bae(0x1de)+_0x42e6df),console['log'](_0xd57bae(0x1ec)+_0x3ab753),_0xfbb3f9['hlpJa'](_0x3ae49d[_0xd57bae(0x1f9)],_0xfbb3f9[_0xd57bae(0x217)])&&console[_0xd57bae(0x218)](_0xd57bae(0x1dc)+_0xfbb3f9['QCLnZ'](link,_0x3ae49d['settingsPath'],basename(_0x3ae49d['settingsPath'])));}if(!_0x320ffe){console['log']('\x0a\x20\x20No\x20active\x20profile\x20set');const _0x2a0200=[..._0xac0b21[_0xd57bae(0x21c)](_0x4ebc4a=>_0x4ebc4a['name']),..._0xd0fd82[_0xd57bae(0x226)](_0x574140=>!_0x596d34[_0xd57bae(0x1ca)](_0x574140[_0xd57bae(0x1e0)]))['map'](_0x5d91f8=>_0x5d91f8['name'])];console[_0xd57bae(0x218)]('\x20\x20Run:\x20ranger\x20profile\x20use\x20<profile-name>\x20\x20(available:\x20'+_0x2a0200['join'](',\x20')+')');}}}console[_0xd57bae(0x218)]('');}
1
+ const _0x3dbb79=_0x2935;(function(_0x368026,_0x467622){const _0x259429=_0x2935,_0x3858e1=_0x368026();while(!![]){try{const _0xc29d98=-parseInt(_0x259429(0x21a))/0x1+parseInt(_0x259429(0x237))/0x2+-parseInt(_0x259429(0x236))/0x3*(parseInt(_0x259429(0x211))/0x4)+parseInt(_0x259429(0x20f))/0x5*(parseInt(_0x259429(0x1dd))/0x6)+-parseInt(_0x259429(0x1fb))/0x7+-parseInt(_0x259429(0x223))/0x8*(parseInt(_0x259429(0x22f))/0x9)+parseInt(_0x259429(0x201))/0xa*(parseInt(_0x259429(0x1f6))/0xb);if(_0xc29d98===_0x467622)break;else _0x3858e1['push'](_0x3858e1['shift']());}catch(_0x3c86a2){_0x3858e1['push'](_0x3858e1['shift']());}}}(_0xf656,0x28767));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';function _0x2935(_0x43357b,_0x34f1a5){_0x43357b=_0x43357b-0x1da;const _0xf6567=_0xf656();let _0x293547=_0xf6567[_0x43357b];return _0x293547;}import{getEnvNames}from'./env.js';import{getCurrentUser}from'./utils/userApi.js';import{getRangerDir}from'./utils/rangerRoot.js';import{getEnvDir}from'./utils/settings.js';import{listCloudProfiles}from'./utils/cloudProfile.js';import{getPluginInfo}from'./utils/claudePlugin.js';import{RANGER_MANAGED_SKILLS}from'./utils/skills.js';import{spawn}from'child_process';const bold=_0x5e49b3=>_0x3dbb79(0x214)+_0x5e49b3+_0x3dbb79(0x1ed),link=(_0x10b0aa,_0x48076d)=>'\x1b]8;;file://'+_0x10b0aa+'\x07'+(_0x48076d||_0x10b0aa)+'\x1b]8;;\x07';async function getOpencodePluginStatus(){const _0x1a346c=_0x3dbb79,_0x2f40eb={'Bfufa':function(_0x499ad4,_0x3b4173){return _0x499ad4(_0x3b4173);},'rboGv':_0x1a346c(0x225),'RNumb':_0x1a346c(0x20d),'YkEFs':_0x1a346c(0x1e7),'Exmsq':function(_0x501f24,_0x2ac04b){return _0x501f24!==_0x2ac04b;},'nMphg':function(_0xdd6d6f,_0x50c3b7){return _0xdd6d6f(_0x50c3b7);},'CCyGC':_0x1a346c(0x1e3),'lBjTK':_0x1a346c(0x212),'RUOKw':'debug','NFbfH':_0x1a346c(0x1fc),'beGge':'ignore','zLJXc':'pipe','WozzB':'data'};return new Promise(_0x472b46=>{const _0x33a6bb=_0x1a346c,_0x8d31d7=spawn(_0x2f40eb['lBjTK'],[_0x2f40eb[_0x33a6bb(0x213)],_0x2f40eb[_0x33a6bb(0x1f4)]],{'stdio':[_0x2f40eb['beGge'],_0x2f40eb[_0x33a6bb(0x241)],'pipe']});let _0xbc8df2='';_0x8d31d7['stdout']?.['on'](_0x2f40eb['WozzB'],_0x112bfd=>{_0xbc8df2+=_0x112bfd['toString']();}),_0x8d31d7['stderr']?.['on'](_0x2f40eb[_0x33a6bb(0x234)],_0x5312a5=>{_0xbc8df2+=_0x5312a5['toString']();}),_0x8d31d7['on'](_0x33a6bb(0x1ef),()=>{const _0x29e0fd=_0x33a6bb;_0x2f40eb['Bfufa'](_0x472b46,{'status':_0x2f40eb[_0x29e0fd(0x243)]});}),_0x8d31d7['on'](_0x33a6bb(0x229),_0x51c8c5=>{const _0x17a8c3=_0x33a6bb,_0x2b10fc={'wjYFj':function(_0x45cb75,_0x220c5b){return _0x45cb75!==_0x220c5b;},'cXVeh':_0x2f40eb['RNumb'],'PfnbF':_0x17a8c3(0x210),'BGwla':_0x2f40eb[_0x17a8c3(0x21e)]};if(_0x2f40eb[_0x17a8c3(0x249)](_0x51c8c5,0x0)){_0x472b46({'status':_0x2f40eb['rboGv']});return;}const _0xef5ac8=_0xbc8df2[_0x17a8c3(0x206)]();let _0x323db7=null;if(_0xef5ac8)try{_0x323db7=JSON['parse'](_0xef5ac8);}catch{const _0x4407f8=_0xef5ac8['match'](/\{[\s\S]*\}$/);if(_0x4407f8)try{_0x323db7=JSON['parse'](_0x4407f8[0x0]);}catch{_0x323db7=null;}}const _0x19e83d=Array[_0x17a8c3(0x24e)](_0x323db7?.['plugin'])?_0x323db7?.[_0x17a8c3(0x20c)]:[],_0x2ed9f4=_0x19e83d[_0x17a8c3(0x226)](_0x278cc6=>{const _0x379cd8=_0x17a8c3;if(_0x2b10fc['wjYFj'](typeof _0x278cc6,_0x2b10fc[_0x379cd8(0x22e)]))return![];return _0x278cc6[_0x379cd8(0x1fa)](_0x2b10fc[_0x379cd8(0x205)])||_0x278cc6[_0x379cd8(0x1fa)](_0x2b10fc['BGwla']);});if(_0x2ed9f4){_0x2f40eb[_0x17a8c3(0x22b)](_0x472b46,{'status':_0x17a8c3(0x21f),'details':_0x19e83d['length']>0x0?_0x19e83d['length']+_0x17a8c3(0x1e8):undefined});return;}if(_0x19e83d['length']>0x0){_0x2f40eb['nMphg'](_0x472b46,{'status':_0x2f40eb[_0x17a8c3(0x23d)],'details':_0x19e83d['length']+'\x20plugin(s)\x20configured'});return;}_0x472b46({'status':'not_configured'});});});}async function getSkillsFromDir(_0x3fc56e,_0x33ed71){const _0xf2d75c=_0x3dbb79,_0x5b3d18={'lnyon':function(_0x4763fc,_0x2c9b8a){return _0x4763fc(_0x2c9b8a);},'FkdxK':function(_0x3d7305,_0x22d394,_0x74bb9f){return _0x3d7305(_0x22d394,_0x74bb9f);},'rKgwL':'SKILL.md'};if(!_0x5b3d18[_0xf2d75c(0x21b)](existsSync,_0x3fc56e))return[];const _0x2e187e=[];try{const _0x36ec40=await _0x5b3d18['FkdxK'](readdir,_0x3fc56e,{'withFileTypes':!![]});for(const _0x428338 of _0x36ec40){if(_0x428338['isDirectory']()){const _0x1391f2=join(_0x3fc56e,_0x428338['name'],_0x5b3d18[_0xf2d75c(0x1dc)]);if(_0x5b3d18[_0xf2d75c(0x21b)](existsSync,_0x1391f2)){let _0x392783=_0x428338[_0xf2d75c(0x235)];try{const _0x32c3df=await readFile(_0x1391f2,_0xf2d75c(0x231)),_0x3b134d=_0x32c3df['match'](/name:\s*(.+)/);_0x3b134d&&(_0x392783=_0x3b134d[0x1]['trim']());}catch{}_0x2e187e[_0xf2d75c(0x1ea)]({'name':_0x428338['name'],'displayName':_0x392783,'path':_0x1391f2,'level':_0x33ed71});}}}}catch{return[];}return _0x2e187e;}async function getInstalledSkills(){const _0x418a60=_0x3dbb79,_0x456afc={'XlBKt':function(_0x40a143,_0x42d012,_0x28050c){return _0x40a143(_0x42d012,_0x28050c);},'uGSqD':function(_0x67c26c){return _0x67c26c();},'VUXSB':_0x418a60(0x200),'UZyqQ':'user'},[_0x2fad6f,_0x455c7e]=await Promise['all']([_0x456afc[_0x418a60(0x24f)](getSkillsFromDir,_0x456afc['uGSqD'](getProjectSkillsDir),_0x456afc['VUXSB']),getSkillsFromDir(getUserSkillsDir(),_0x456afc[_0x418a60(0x221)])]);return{'project':_0x2fad6f,'user':_0x455c7e};}async function getEnvironments(){const _0x54e237=_0x3dbb79,_0x109d66={'WgQHq':function(_0x3ced36,_0x35ed02){return _0x3ced36(_0x35ed02);},'ydHTw':function(_0x5176ec,_0x3896c9,_0x37e07a){return _0x5176ec(_0x3896c9,_0x37e07a);},'OmwAa':function(_0x37ebcf,_0x27b4ae){return _0x37ebcf(_0x27b4ae);},'clnAN':function(_0x160efe){return _0x160efe();},'RBKFV':function(_0x666018,_0x3848f7){return _0x666018(_0x3848f7);}},{envNames:_0xd094ca,activeEnv:_0x485235}=await getEnvNames(),_0x1a7bc6=_0x109d66[_0x54e237(0x1fd)](getRangerDir);if(!_0x109d66[_0x54e237(0x1fe)](existsSync,_0x1a7bc6))return{'envs':[],'activeEnv':null};const _0x5744af=_0xd094ca[_0x54e237(0x22d)](_0x4702f2=>{const _0xd68b08=_0x54e237,_0x439f3d=_0x109d66[_0xd68b08(0x215)](getEnvDir,_0x4702f2),_0x1987e0=_0x109d66[_0xd68b08(0x1ee)](join,_0x439f3d,_0xd68b08(0x239)),_0xd04975=join(_0x439f3d,_0xd68b08(0x227)),_0x40d288=join(_0x439f3d,'auth.json.enc');return{'name':_0x4702f2,'settingsPath':_0x109d66[_0xd68b08(0x222)](existsSync,_0x1987e0)?_0x1987e0:'(not\x20found)','hasPlaintextAuth':existsSync(_0xd04975),'hasEncryptedAuth':_0x109d66['WgQHq'](existsSync,_0x40d288),'isActive':_0x4702f2===_0x485235};});return{'envs':_0x5744af,'activeEnv':_0x485235};}function _0xf656(){const _0xd83904=['includes','1476965yXLQxR','config','clnAN','RBKFV','log','project','44910ulRCgP','roXob','bwyip','\x20profiles\x20configured\x20(','PfnbF','trim','BFzRq','xUumR','\x20\x20\x20\x20','\x20cloud','\x20\x20\x20\x20Auth:\x20','plugin','string','XUcfZ','20FwEMtX','@ranger-testing/opencode-plugin','4ggxPNz','opencode','RUOKw','\x1b[1m','WgQHq','Root:\x20','\x20\x20Active:\x20','path','enabled','241132iGldlw','lnyon','\x20[cloud]','\x0a\x20\x20No\x20active\x20profile\x20set','YkEFs','configured','\x20\x20Run:\x20ranger\x20setup\x20[token]\x20\x20(includes\x20plugin\x20installation)','UZyqQ','OmwAa','3376pPxtij','\x20\x20Run:\x20ranger\x20setup\x20[token]\x0a','not_installed','some','auth.json','hasPlaintextAuth','close','join','Bfufa','VxVdJ','map','cXVeh','1467hokApd','fkTah','utf-8','success','\x0a📊\x20Ranger\x20Status\x0a','WozzB','name','264141ZFWUaQ','143796WYHycO','cached\x20(updated\x20','settings.json','Bddau','has','API\x20Token:\x20✓\x20Found\x20but\x20invalid\x20or\x20expired','CCyGC','version','slGKD','SqGAK','zLJXc','isActive','rboGv','plaintext','vRPGY','env','API\x20Environment:\x20','none','Exmsq','\x20\x20\x20\x20Session:\x20','ranger@trailhead','details','qDCkL','isArray','XlBKt','\x20\x20User-level:','TCiYN','rKgwL','360336rtaqLa','\x20\x20Not\x20installed','cwd','displayName','rfwHO','length','not_configured','\x20\x20Run:\x20ranger\x20profile\x20use\x20<profile-name>\x20\x20(available:\x20','HrHTu','kQBwF','opencode-plugin','\x20plugin(s)\x20configured','\x20\x20Run:\x20ranger\x20skillup','push','dwhuo','hasEncryptedAuth','\x1b[0m','ydHTw','error','Version:\x20','no\x20session','\x20\x20Run:\x20ranger\x20setup\x20--opencode','\x20\x20Run:\x20ranger\x20profile\x20ls\x20\x20(list\x20all)','NFbfH','No\x20skills\x20installed','1133UOAfuA','API\x20URL:\x20','BlMkM','\x20\x20Run:\x20ranger\x20setup\x20[token]'];_0xf656=function(){return _0xd83904;};return _0xf656();}export async function status(){const _0x292582=_0x3dbb79,_0x440016={'rfwHO':function(_0x2f1198){return _0x2f1198();},'roXob':function(_0x51acce,_0x159999){return _0x51acce!==_0x159999;},'WYtra':function(_0x36d52f,_0x2b99d6){return _0x36d52f(_0x2b99d6);},'SqGAK':function(_0x29ae7f,_0x2dc9b4){return _0x29ae7f===_0x2dc9b4;},'BlMkM':_0x292582(0x21f),'VxVdJ':'\x20\x20Not\x20configured','VTKTe':_0x292582(0x1f2),'dwhuo':'\x20\x20OpenCode\x20not\x20installed\x20or\x20not\x20available','bwyip':'\x0a---\x20Claude\x20Code\x20Plugin\x20---','triNK':function(_0x1ddf68,_0x242fa5){return _0x1ddf68(_0x242fa5);},'BFzRq':'unknown','lEbGC':_0x292582(0x219),'fkTah':'disabled','slGKD':function(_0x452b77,_0x4c4e9b){return _0x452b77(_0x4c4e9b);},'XUcfZ':_0x292582(0x1f5),'Bddau':function(_0x386bdf,_0x26ad7d){return _0x386bdf(_0x26ad7d);},'HrHTu':function(_0x2633ba,_0x4bc8e8){return _0x2633ba>_0x4bc8e8;},'TCiYN':function(_0x2fd43d,_0x1fe444,_0x32f850){return _0x2fd43d(_0x1fe444,_0x32f850);},'pFWTI':'\x0a---\x20Profiles\x20---','Opjes':function(_0x21fcb5){return _0x21fcb5();},'XacWU':function(_0x3d1e95,_0x16a08a){return _0x3d1e95+_0x16a08a;},'btDSw':'No\x20profiles\x20configured','vRPGY':function(_0x33c7df,_0x159e31){return _0x33c7df>_0x159e31;},'kQBwF':'\x20(active)','xUumR':_0x292582(0x1f1),'qDCkL':'encrypted','BuYfm':_0x292582(0x244)};console[_0x292582(0x1ff)](_0x292582(0x233));const _0x16b3bf=process[_0x292582(0x1df)](),_0x5703a2=getRangerDir();if(!existsSync(_0x5703a2)){console['log'](_0x292582(0x216)+link(_0x16b3bf,bold(basename(_0x16b3bf)))),console['log']('\x0aRanger\x20has\x20not\x20been\x20initialized\x20in\x20this\x20directory.'),console[_0x292582(0x1ff)](_0x292582(0x224));return;}console[_0x292582(0x1ff)]('Root:\x20'+link(_0x16b3bf,bold(basename(_0x16b3bf))));const _0xab9074=_0x440016[_0x292582(0x1e1)](getCurrentVersion),_0x4bcee2=getLatestVersion();if(_0x4bcee2[_0x292582(0x23e)]&&_0x440016[_0x292582(0x202)](_0x4bcee2['version'],_0xab9074))console[_0x292582(0x1ff)]('Version:\x20'+_0xab9074+'\x20(latest:\x20'+_0x4bcee2['version']+')'),console[_0x292582(0x1ff)]('\x20\x20Run:\x20ranger\x20update');else _0x4bcee2['version']?console[_0x292582(0x1ff)](_0x292582(0x1f0)+_0xab9074+'\x20(up\x20to\x20date)'):console[_0x292582(0x1ff)]('Version:\x20'+_0xab9074);const _0x37ed3e=await getToken();if(_0x37ed3e){const _0x330ed8=await getCurrentUser(_0x37ed3e);_0x330ed8[_0x292582(0x232)]?console[_0x292582(0x1ff)]('Organization:\x20'+_0x440016['WYtra'](bold,_0x330ed8['user']['organizationName'])):(console['log'](_0x292582(0x23c)),console['log']('\x20\x20Run:\x20ranger\x20setup\x20[token]'));}else console[_0x292582(0x1ff)]('API\x20Token:\x20✗\x20Not\x20found'),console['log'](_0x292582(0x1f9));process[_0x292582(0x246)]['DEBUG']&&(console[_0x292582(0x1ff)](_0x292582(0x247)+getCurrentEnvironment()),console[_0x292582(0x1ff)](_0x292582(0x1f7)+getApiBaseUrl()));console[_0x292582(0x1ff)]('\x0a---\x20OpenCode\x20Plugin\x20---');const _0x5a4217=await getOpencodePluginStatus();if(_0x440016[_0x292582(0x240)](_0x5a4217['status'],_0x440016[_0x292582(0x1f8)]))console[_0x292582(0x1ff)]('\x20\x20'+bold(_0x292582(0x210))+':\x20configured'),_0x5a4217['details']&&console['log']('\x20\x20'+_0x5a4217['details']);else _0x5a4217['status']===_0x292582(0x1e3)?(console[_0x292582(0x1ff)](_0x440016[_0x292582(0x22c)]),_0x5a4217[_0x292582(0x24c)]&&console['log']('\x20\x20'+_0x5a4217[_0x292582(0x24c)]),console[_0x292582(0x1ff)](_0x440016['VTKTe'])):console[_0x292582(0x1ff)](_0x440016[_0x292582(0x1eb)]);console['log'](_0x440016[_0x292582(0x203)]);const _0x24b98c=await _0x440016['triNK'](getPluginInfo,_0x292582(0x24b));if(_0x24b98c){const _0x4d7db4=_0x24b98c['scope']||_0x440016[_0x292582(0x207)],_0x9aa320=_0x24b98c[_0x292582(0x219)]?_0x440016['lEbGC']:_0x440016[_0x292582(0x230)];console[_0x292582(0x1ff)]('\x20\x20'+_0x440016['slGKD'](bold,'ranger@trailhead')+':\x20installed\x20('+_0x4d7db4+',\x20'+_0x9aa320+')');}else console[_0x292582(0x1ff)](_0x292582(0x1de)),console[_0x292582(0x1ff)](_0x292582(0x220));console[_0x292582(0x1ff)]('\x0a---\x20Skills\x20---');const {project:_0x8cb6b0,user:_0x3874e6}=await _0x440016[_0x292582(0x1e1)](getInstalledSkills),_0xa23d54=_0x8cb6b0['filter'](_0x5107da=>RANGER_MANAGED_SKILLS[_0x292582(0x1fa)](_0x5107da['name'])),_0x31c0dd=_0x3874e6['filter'](_0x56aef7=>RANGER_MANAGED_SKILLS['includes'](_0x56aef7[_0x292582(0x235)])),_0x42f703=_0xa23d54[_0x292582(0x1e2)]+_0x31c0dd[_0x292582(0x1e2)];if(_0x440016['SqGAK'](_0x42f703,0x0))console[_0x292582(0x1ff)](_0x440016[_0x292582(0x20e)]),console['log'](_0x292582(0x1e9));else{if(_0xa23d54['length']>0x0){console['log']('\x20\x20Project-level:');for(const _0x2a90e3 of _0xa23d54){console[_0x292582(0x1ff)]('\x20\x20\x20\x20'+bold(_0x2a90e3[_0x292582(0x1e0)])+':\x20'+link(_0x2a90e3[_0x292582(0x218)],_0x440016[_0x292582(0x23a)](basename,_0x2a90e3['path'])));}}if(_0x440016[_0x292582(0x1e5)](_0x31c0dd[_0x292582(0x1e2)],0x0)){console[_0x292582(0x1ff)](_0x292582(0x1da));for(const _0x294932 of _0x31c0dd){console[_0x292582(0x1ff)](_0x292582(0x209)+bold(_0x294932['displayName'])+':\x20'+_0x440016[_0x292582(0x1db)](link,_0x294932[_0x292582(0x218)],basename(_0x294932[_0x292582(0x218)])));}}}console[_0x292582(0x1ff)](_0x440016['pFWTI']);const {envs:_0x1563e7,activeEnv:_0x391aa8}=await _0x440016['Opjes'](getEnvironments);let _0x20885d=[];if(_0x37ed3e)try{_0x20885d=await listCloudProfiles();}catch{}const _0x217c56=_0x440016['XacWU'](_0x1563e7[_0x292582(0x1e2)],_0x20885d[_0x292582(0x1e2)]);if(_0x217c56===0x0)console[_0x292582(0x1ff)](_0x440016['btDSw']),console[_0x292582(0x1ff)]('\x20\x20Run:\x20ranger\x20profile\x20add\x20<profile-name>');else{if(_0x440016[_0x292582(0x245)](_0x217c56,0x5)){const _0x14aad8=[];_0x20885d['length']>0x0&&_0x14aad8['push'](_0x20885d['length']+_0x292582(0x20a)),_0x1563e7['length']>0x0&&_0x14aad8['push'](_0x1563e7[_0x292582(0x1e2)]+'\x20local'),console['log'](_0x217c56+_0x292582(0x204)+_0x14aad8[_0x292582(0x22a)](',\x20')+')'),_0x391aa8&&console[_0x292582(0x1ff)](_0x292582(0x217)+bold(_0x391aa8)),console[_0x292582(0x1ff)](_0x292582(0x1f3));}else{for(const _0x1ff3af of _0x20885d){const _0x15aa13=_0x1ff3af['name']===_0x391aa8?_0x440016['kQBwF']:'';console['log']('\x20\x20'+bold(_0x1ff3af[_0x292582(0x235)])+_0x292582(0x21c)+_0x15aa13);const _0x20859b=_0x1ff3af['sessionUpdatedAt']?_0x292582(0x238)+_0x1ff3af['sessionUpdatedAt']+')':_0x440016[_0x292582(0x208)];console['log'](_0x292582(0x24a)+_0x20859b);}const _0x3b51d4=new Set(_0x20885d['map'](_0x3b27c1=>_0x3b27c1[_0x292582(0x235)]));for(const _0x34d269 of _0x1563e7){if(_0x3b51d4[_0x292582(0x23b)](_0x34d269['name']))continue;const _0x20b0c5=_0x34d269[_0x292582(0x242)]?_0x440016[_0x292582(0x1e6)]:'',_0x5e6a49=_0x34d269[_0x292582(0x1ec)]?_0x440016[_0x292582(0x24d)]:_0x34d269[_0x292582(0x228)]?_0x440016['BuYfm']:_0x292582(0x248);console['log']('\x20\x20'+_0x440016[_0x292582(0x23f)](bold,_0x34d269['name'])+'\x20[local]'+_0x20b0c5),console['log'](_0x292582(0x20b)+_0x5e6a49),_0x34d269['settingsPath']!=='(not\x20found)'&&console[_0x292582(0x1ff)]('\x20\x20\x20\x20Settings:\x20'+link(_0x34d269['settingsPath'],basename(_0x34d269['settingsPath'])));}if(!_0x391aa8){console['log'](_0x292582(0x21d));const _0x55e03d=[..._0x20885d[_0x292582(0x22d)](_0x818daf=>_0x818daf['name']),..._0x1563e7['filter'](_0x5886a3=>!_0x3b51d4['has'](_0x5886a3['name']))[_0x292582(0x22d)](_0x3e3f5d=>_0x3e3f5d['name'])];console['log'](_0x292582(0x1e4)+_0x55e03d[_0x292582(0x22a)](',\x20')+')');}}}console['log']('');}