@ranger-testing/ranger-cli 2.5.4-alpha.feb9faf-20 → 3.0.0

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 (82) 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 -0
  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 -0
  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 -0
  81. package/build/skills/ranger/SKILL.md +1 -1
  82. package/package.json +1 -1
@@ -1 +1 @@
1
- (function(_0x178175,_0x210e76){const _0x41c450=_0x14da,_0x4fa62b=_0x178175();while(!![]){try{const _0x25732d=-parseInt(_0x41c450(0xee))/0x1+parseInt(_0x41c450(0xf3))/0x2*(-parseInt(_0x41c450(0xf2))/0x3)+-parseInt(_0x41c450(0xfc))/0x4*(parseInt(_0x41c450(0xef))/0x5)+parseInt(_0x41c450(0xf7))/0x6*(-parseInt(_0x41c450(0xfb))/0x7)+-parseInt(_0x41c450(0xfa))/0x8*(parseInt(_0x41c450(0xec))/0x9)+-parseInt(_0x41c450(0xfd))/0xa*(-parseInt(_0x41c450(0xf1))/0xb)+parseInt(_0x41c450(0xed))/0xc;if(_0x25732d===_0x210e76)break;else _0x4fa62b['push'](_0x4fa62b['shift']());}catch(_0x3ef524){_0x4fa62b['push'](_0x4fa62b['shift']());}}}(_0x1491,0xa04b2));import{runDeviceAuthFlow}from'./utils/deviceAuth.js';import{getCurrentUser}from'./utils/userApi.js';import{getMcpAuthOrigin,mcpBootstrap}from'./mcpBootstrap.js';function _0x14da(_0x3bf934,_0x5dff5e){_0x3bf934=_0x3bf934-0xec;const _0x14917f=_0x1491();let _0x14da26=_0x14917f[_0x3bf934];return _0x14da26;}export async function login(){const _0xb042e2=_0x14da,_0x158021={'aBzgK':function(_0x1c4ce4){return _0x1c4ce4();},'mGUlT':'Re-authenticating\x20via\x20MCP\x20bootstrap...','DITPK':function(_0x4da965){return _0x4da965();},'fowgx':_0xb042e2(0xf4),'HrHDD':_0xb042e2(0xff)},_0x1d85d1=await _0x158021[_0xb042e2(0xf0)](getMcpAuthOrigin);if(_0x1d85d1){console[_0xb042e2(0xf5)](_0x158021['mGUlT']),await _0x158021[_0xb042e2(0xf8)](mcpBootstrap);return;}const _0x2b3daa=process['stdin']['isTTY']&&process[_0xb042e2(0xfe)]['isTTY'];if(!_0x2b3daa)throw new Error(_0x158021['fowgx']);try{const _0x118437=await runDeviceAuthFlow(),_0x75a917=await getCurrentUser(_0x118437);_0x75a917['success']?console[_0xb042e2(0xf5)](_0xb042e2(0xf9)+_0x75a917['user']['organizationName']):console[_0xb042e2(0xf5)](_0x158021['HrHDD']);}catch(_0x4e1a2e){throw new Error(_0xb042e2(0xf6)+(_0x4e1a2e instanceof Error?_0x4e1a2e['message']:_0x4e1a2e));}}function _0x1491(){const _0x2ed117=['82GgQuWV','Login\x20requires\x20an\x20interactive\x20terminal.\x20In\x20CI,\x20use:\x20ranger\x20setup\x20[token]\x20or\x20set\x20RANGER_CLI_TOKEN.','log','Login\x20failed:\x20','6978HmhSAZ','DITPK','\x0a✅\x20Logged\x20in\x20to\x20','297384cTYLJk','1659utlVZs','232kupPKg','570NkIFpo','stdout','\x0a✅\x20API\x20key\x20stored\x20successfully','297GoLXoC','37235064DZdQbC','271796skbDdm','91135PtZcOR','aBzgK','237193bLFmAV','61767rMKjuj'];_0x1491=function(){return _0x2ed117;};return _0x1491();}
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 +1 @@
1
- const _0xa3d572=_0x55ea;(function(_0x5a57f5,_0x509733){const _0x534bbf=_0x55ea,_0x24ca99=_0x5a57f5();while(!![]){try{const _0x53c42e=parseInt(_0x534bbf(0xf1))/0x1*(parseInt(_0x534bbf(0x11b))/0x2)+-parseInt(_0x534bbf(0xef))/0x3+-parseInt(_0x534bbf(0x11a))/0x4+-parseInt(_0x534bbf(0xe5))/0x5+-parseInt(_0x534bbf(0xe7))/0x6*(parseInt(_0x534bbf(0x120))/0x7)+-parseInt(_0x534bbf(0x137))/0x8*(parseInt(_0x534bbf(0xe3))/0x9)+parseInt(_0x534bbf(0x113))/0xa;if(_0x53c42e===_0x509733)break;else _0x24ca99['push'](_0x24ca99['shift']());}catch(_0x229f83){_0x24ca99['push'](_0x24ca99['shift']());}}}(_0x426e,0xc66cc));import{mkdir,writeFile,readFile}from'fs/promises';function _0x426e(){const _0x37858e=['client_id','registration_endpoint','json','content-type','</p><p>You\x20can\x20close\x20this\x20window.</p></body></html>','40441610zrwHJV','WdDbA','end','\x0aUnexpected\x20response\x20structure:','No\x20JSON-RPC\x20response\x20found\x20in\x20SSE\x20stream','replace','now','468432OxdRja','4990GFckEk','searchParams','name','base64url','text/html','308623FQequw','yYOzF','uNZVg','aNLbo','Requesting\x20CLI\x20token...','slice','BXjvA','uzYdm','error','Initializing\x20MCP\x20session...','Unknown\x20error','MByjT','/.well-known/oauth-authorization-server','If\x20the\x20browser\x20doesn\x27t\x20open,\x20visit:\x0a','TkIyN','ogIVC','get_cli_token\x20failed:\x20','digest','OAuth\x20error:\x20','get','authorization_code','token','expires_in','7116456UNXmqN','hPxSA','origin','error_description','kByRv','ScPpF','resource','OAuthTimeoutError','content','write','MCP\x20server\x20returned\x20HTTP\x20','Could\x20not\x20fetch\x20protected\x20resource\x20metadata\x20from\x20MCP\x20server','Ranger\x20CLI','Not\x20found','PJbiu','text','state','listen','dKmbw','<html><body><h2>Authentication\x20failed</h2><p>','Authorization\x20server\x20does\x20not\x20support\x20dynamic\x20client\x20registration\x20and\x20no\x20cached\x20client\x20found','status','\x20done','Run\x20`ranger\x20setup\x20--mcp-bootstrap`\x20interactively\x20first.','\x0aOpening\x20browser\x20for\x20authentication...','krUts','Could\x20not\x20fetch\x20auth\x20server\x20metadata\x20from\x20','rpcKy','authorization_endpoint','ranger-cli','utf-8','cZgPI','aSbBu','Server\x20returned\x20error:\x20','message','darwin','xFtDG','stdout','stringify','open','close','notifications/initialized','code','set','imHPX','includes','url','clientId','XufDw','result','No\x20authorization_servers\x20in\x20protected\x20resource\x20metadata','auth-origin.txt','Exchanging\x20authorization\x20code...','gNdJK','client_secret','trim','tRciU','update','tUnUq','vRTGA','toString','POST','authorization_servers','KKBfz','isError','UuWDf','StEMe','writeHead','9MzAjnb','mRuEa','7657830NnEIlW','code_challenge_method','156BSkrMb','split','Authorization','redirect_uri','expiresAt','application/json','access_token','UMFTu','249879GlcNiO','/callback','215YVJNAI','initialize','DLCXV','http://localhost:','ajjQa','GugFN','cyysz','1.0.0','accessToken','RoVqT','clientSecret','qJErM','zhUHr','application/json,\x20text/event-stream','TbYBj','closeAllConnections','hex','ARVJS','127.0.0.1','2.0','startsWith','log','Registering\x20OAuth\x20client...','then','rzzSd','lmRjT','eqtTG','CMUYc','.ranger'];_0x426e=function(){return _0x37858e;};return _0x426e();}import{join}from'path';function _0x55ea(_0x35ee12,_0xef6851){_0x35ee12=_0x35ee12-0xc1;const _0x426e1c=_0x426e();let _0x55eaca=_0x426e1c[_0x35ee12];return _0x55eaca;}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(),_0xa3d572(0x10d),'mcp-oauth-tokens.json'),AUTH_ORIGIN_PATH=join(homedir(),_0xa3d572(0x10d),_0xa3d572(0xd2));export async function getMcpAuthOrigin(){const _0xcc5dd7=_0xa3d572;try{const _0xd9535f=(await readFile(AUTH_ORIGIN_PATH,'utf-8'))[_0xcc5dd7(0xd6)]();return _0xd9535f||null;}catch{return null;}}export async function mcpBootstrap(){const _0x348c0e=_0xa3d572,_0x5cbb29={'ELlKL':function(_0xbedba2){return _0xbedba2();},'OHYnj':function(_0x5c92f3,_0x54396f){return _0x5c92f3(_0x54396f);},'KLCyl':'proxied','tRciU':function(_0x24c811,_0x35abee){return _0x24c811+_0x35abee;},'ogIVC':_0x348c0e(0x14e),'xrgVg':function(_0x13d7d3,_0x1034a3,_0x27a9da){return _0x13d7d3(_0x1034a3,_0x27a9da);}},_0x586818=_0x5cbb29['ELlKL'](getMcpAuthUrl);currentOrigin=_0x586818;const _0x273061=process[_0x348c0e(0xc4)]['isTTY']??![];console['log']('\x0aConnecting\x20to\x20MCP\x20auth\x20server:\x20'+_0x586818+'\x0a');const _0x16a813=await _0x5cbb29['OHYnj'](tryUnauthenticated,_0x586818);let _0x175308=null;if(_0x16a813===_0x5cbb29['KLCyl'])_0x175308='';else{_0x175308=await loadCachedToken();if(!_0x175308){if(!_0x273061)throw new Error(_0x5cbb29[_0x348c0e(0xd7)]('MCP\x20server\x20requires\x20authentication\x20but\x20running\x20in\x20non-interactive\x20mode.\x0a',_0x5cbb29[_0x348c0e(0x12f)]));_0x175308=await _0x5cbb29['OHYnj'](oauthFlow,_0x586818);}}await _0x5cbb29['xrgVg'](callGetCliToken,_0x586818,_0x175308);}async function tryUnauthenticated(_0x1b9e26){const _0x5885c2=_0xa3d572,_0x18dce1={'LoEUP':'application/json','vRTGA':_0x5885c2(0xf2),'sdENZ':'2025-03-26','TkIyN':'ranger-cli','RoVqT':_0x5885c2(0xf8),'cLDYF':function(_0x1be7d1,_0x4035eb){return _0x1be7d1===_0x4035eb;}},_0x133bf7=await fetch(_0x1b9e26,{'method':'POST','headers':{'Content-Type':_0x18dce1['LoEUP'],'Accept':_0x5885c2(0xfe)},'body':JSON['stringify']({'jsonrpc':_0x5885c2(0x104),'id':0x1,'method':_0x18dce1[_0x5885c2(0xda)],'params':{'protocolVersion':_0x18dce1['sdENZ'],'capabilities':{},'clientInfo':{'name':_0x18dce1[_0x5885c2(0x12e)],'version':_0x18dce1[_0x5885c2(0xfa)]}}})});if(_0x133bf7['ok'])return await _0x133bf7[_0x5885c2(0x146)](),'proxied';if(_0x18dce1['cLDYF'](_0x133bf7[_0x5885c2(0x14c)],0x191))return await _0x133bf7[_0x5885c2(0x146)](),'needs-oauth';const _0x4b1924=await _0x133bf7[_0x5885c2(0x146)]();throw new Error(_0x5885c2(0x141)+_0x133bf7[_0x5885c2(0x14c)]+':\x20'+_0x4b1924);}class OAuthTimeoutError extends Error{constructor(_0x10e934){const _0x2ac381=_0xa3d572,_0x32ee8b={'cZgPI':_0x2ac381(0x13e)};super(_0x10e934),this[_0x2ac381(0x11d)]=_0x32ee8b[_0x2ac381(0x156)];}}async function oauthFlow(_0xba29eb){const _0x326057=_0xa3d572,_0x4898f1={'kZVEY':function(_0x1a03f2,_0x5063ab){return _0x1a03f2(_0x5063ab);},'iWkII':function(_0x4a340b,_0x205597){return _0x4a340b instanceof _0x205597;},'GhPOB':function(_0x1982f9){return _0x1982f9();},'PJbiu':'\x0aCached\x20OAuth\x20client\x20may\x20be\x20stale\x20—\x20clearing\x20and\x20retrying...\x0a','uNnMc':function(_0x2622c3){return _0x2622c3();},'zCsuU':function(_0x97aa87,_0x19e685){return _0x97aa87(_0x19e685);}};try{return await _0x4898f1['kZVEY'](oauthFlowAttempt,_0xba29eb);}catch(_0x4edfe3){if(_0x4898f1['iWkII'](_0x4edfe3,OAuthTimeoutError)&&await _0x4898f1['GhPOB'](loadCachedClient))return console[_0x326057(0x106)](_0x4898f1[_0x326057(0x145)]),await _0x4898f1['uNnMc'](clearCachedClient),await _0x4898f1['zCsuU'](oauthFlowAttempt,_0xba29eb);throw _0x4edfe3;}}async function oauthFlowAttempt(_0x11f9d6){const _0x5460aa=_0xa3d572,_0x1175e9={'aSbBu':function(_0x467445,_0x11406f){return _0x467445(_0x11406f);},'tUnUq':function(_0x52f004,_0x1cf6f6){return _0x52f004(_0x1cf6f6);},'PLcqM':'application/json','isYKP':_0x5460aa(0x134),'hPxSA':'none','lmRjT':_0x5460aa(0x14d),'DTgAe':'sha256','rzzSd':_0x5460aa(0xc9),'mRuEa':_0x5460aa(0xea),'ZDSDe':'S256','qJErM':'state','GugFN':_0x5460aa(0xd3),'zjdxY':_0x5460aa(0x13d),'zhUHr':function(_0x3ec995,_0x40b833,_0x4f6acd){return _0x3ec995(_0x40b833,_0x4f6acd);},'tPUIy':_0x5460aa(0xdc)},_0x7002c0=_0x11f9d6[_0x5460aa(0x118)](/\/mcp$/,'');process[_0x5460aa(0xc4)]['write']('Discovering\x20authorization\x20server...');const _0x5a1ce8=await _0x1175e9[_0x5460aa(0x157)](fetch,_0x7002c0+'/.well-known/oauth-protected-resource');if(!_0x5a1ce8['ok'])throw new Error(_0x5460aa(0x142));const _0x4dd2bb=await _0x5a1ce8['json'](),_0xec982b=_0x4dd2bb[_0x5460aa(0xdd)]?.[0x0];if(!_0xec982b)throw new Error(_0x5460aa(0xd1));console[_0x5460aa(0x106)]('\x20'+_0xec982b);const _0x377cb=await _0x1175e9[_0x5460aa(0xd9)](fetchAuthServerMetadata,_0xec982b);let _0x462db9,_0x29a5d8;const _0x386829=await loadCachedClient();if(_0x386829)_0x462db9=_0x386829['clientId'],_0x29a5d8=_0x386829[_0x5460aa(0xfb)];else{if(_0x377cb['registration_endpoint']){process['stdout']['write'](_0x5460aa(0x107));const _0x2c8b06=await fetch(_0x377cb[_0x5460aa(0x10f)],{'method':'POST','headers':{'Content-Type':_0x1175e9['PLcqM']},'body':JSON[_0x5460aa(0xc5)]({'client_name':_0x5460aa(0x143),'redirect_uris':[_0x5460aa(0xf4)+CALLBACK_PORT+'/callback'],'grant_types':[_0x1175e9['isYKP'],'refresh_token'],'response_types':[_0x5460aa(0xc9)],'token_endpoint_auth_method':_0x1175e9[_0x5460aa(0x138)]})});if(!_0x2c8b06['ok']){const _0xafc7c4=await _0x2c8b06['text']();throw new Error('Client\x20registration\x20failed:\x20'+_0xafc7c4);}const _0x2222da=await _0x2c8b06['json']();_0x462db9=_0x2222da[_0x5460aa(0x10e)],_0x29a5d8=_0x2222da['client_secret'],await saveCachedClient(_0x462db9,_0x29a5d8),console['log'](_0x1175e9['lmRjT']);}else throw new Error(_0x5460aa(0x14b));}const _0x5c9d77=_0x1175e9['tUnUq'](randomBytes,0x20)[_0x5460aa(0xdb)](_0x5460aa(0x11e)),_0x538938=createHash(_0x1175e9['DTgAe'])[_0x5460aa(0xd8)](_0x5c9d77)[_0x5460aa(0x131)](_0x5460aa(0x11e)),_0x5010fe=_0x1175e9['aSbBu'](randomBytes,0x10)['toString'](_0x5460aa(0x101)),_0x1c5a5a=new URL(_0x377cb[_0x5460aa(0x153)]);_0x1c5a5a[_0x5460aa(0x11c)][_0x5460aa(0xca)]('response_type',_0x1175e9[_0x5460aa(0x109)]),_0x1c5a5a['searchParams'][_0x5460aa(0xca)](_0x5460aa(0x10e),_0x462db9),_0x1c5a5a['searchParams'][_0x5460aa(0xca)](_0x1175e9[_0x5460aa(0xe4)],'http://localhost:'+CALLBACK_PORT+'/callback'),_0x1c5a5a[_0x5460aa(0x11c)][_0x5460aa(0xca)]('code_challenge',_0x538938),_0x1c5a5a['searchParams']['set'](_0x5460aa(0xe6),_0x1175e9['ZDSDe']),_0x1c5a5a['searchParams'][_0x5460aa(0xca)](_0x1175e9[_0x5460aa(0xfc)],_0x5010fe);_0x4dd2bb[_0x5460aa(0x13d)]&&_0x1c5a5a['searchParams'][_0x5460aa(0xca)]('resource',_0x4dd2bb[_0x5460aa(0x13d)]);console[_0x5460aa(0x106)](_0x5460aa(0x14f)),console[_0x5460aa(0x106)](_0x5460aa(0x12d)+_0x1c5a5a[_0x5460aa(0xdb)]()+'\x0a'),await openBrowser(_0x1c5a5a[_0x5460aa(0xdb)]());const _0x3f89be=await waitForCallback(_0x5010fe);process[_0x5460aa(0xc4)]['write'](_0x1175e9[_0x5460aa(0xf6)]);const _0x4c3eab=new URLSearchParams({'grant_type':_0x5460aa(0x134),'code':_0x3f89be,'redirect_uri':_0x5460aa(0xf4)+CALLBACK_PORT+_0x5460aa(0xf0),'client_id':_0x462db9,'code_verifier':_0x5c9d77});_0x29a5d8&&_0x4c3eab['set'](_0x5460aa(0xd5),_0x29a5d8);_0x4dd2bb['resource']&&_0x4c3eab[_0x5460aa(0xca)](_0x1175e9['zjdxY'],_0x4dd2bb['resource']);const _0x3d8511=await _0x1175e9[_0x5460aa(0xfd)](fetch,_0x377cb['token_endpoint'],{'method':_0x1175e9['tPUIy'],'headers':{'Content-Type':'application/x-www-form-urlencoded'},'body':_0x4c3eab});if(!_0x3d8511['ok']){const _0x4e4845=await _0x3d8511[_0x5460aa(0x146)]();throw new Error('Token\x20exchange\x20failed:\x20'+_0x4e4845);}const _0x56e853=await _0x3d8511[_0x5460aa(0x110)]();return console['log'](_0x1175e9[_0x5460aa(0x10a)]),await saveCachedToken(_0x56e853[_0x5460aa(0xed)],_0x56e853['refresh_token'],_0x56e853[_0x5460aa(0x136)]),_0x56e853[_0x5460aa(0xed)];}async function callGetCliToken(_0x3f8145,_0x4e9c7f){const _0x5de3fe=_0xa3d572,_0x38a9d8={'dKmbw':function(_0x250b31,_0x53e62b,_0x36f9b7){return _0x250b31(_0x53e62b,_0x36f9b7);},'OfUEW':'application/json,\x20text/event-stream','cyysz':_0x5de3fe(0xe9),'qtZWH':function(_0x28f432,_0x14df6a){return _0x28f432(_0x14df6a);},'FKINP':'initialize','UMFTu':'2025-03-26','bFMsb':_0x5de3fe(0x154),'uNZVg':'\x20done','bnCfN':_0x5de3fe(0x104),'crWKE':_0x5de3fe(0xc8),'gNdJK':'get_cli_token','MByjT':function(_0x950a44,_0x3e7a4a){return _0x950a44(_0x3e7a4a);},'XtxJX':'refresh.txt','FmmRy':function(_0x3d5325,_0x1fe051,_0x51008a){return _0x3d5325(_0x1fe051,_0x51008a);},'krUts':_0x5de3fe(0xd2),'CMUYc':'Run\x20`ranger\x20status`\x20to\x20verify\x20authentication.\x0a'},_0x4b6863={'Content-Type':_0x5de3fe(0xec),'Accept':_0x38a9d8['OfUEW']};_0x4e9c7f&&(_0x4b6863[_0x38a9d8[_0x5de3fe(0xf7)]]='Bearer\x20'+_0x4e9c7f);const _0x340356=async _0x3a2685=>{const _0x185510=await _0x38a9d8['dKmbw'](fetch,_0x3f8145,{'method':'POST','headers':_0x4b6863,'body':JSON['stringify'](_0x3a2685)});if(!_0x185510['ok']){const _0x491b7e=await _0x185510['text']();throw new Error('HTTP\x20'+_0x185510['status']+':\x20'+_0x491b7e);}return parseResponse(_0x185510);};process[_0x5de3fe(0xc4)]['write'](_0x5de3fe(0x129));const _0x5b4b2e=await _0x38a9d8['qtZWH'](_0x340356,{'jsonrpc':'2.0','id':0x1,'method':_0x38a9d8['FKINP'],'params':{'protocolVersion':_0x38a9d8[_0x5de3fe(0xee)],'capabilities':{},'clientInfo':{'name':_0x38a9d8['bFMsb'],'version':'1.0.0'}}});if(_0x5b4b2e['error'])throw new Error('MCP\x20initialize\x20failed:\x20'+(_0x5b4b2e['error'][_0x5de3fe(0xc1)]??JSON['stringify'](_0x5b4b2e[_0x5de3fe(0x128)])));console[_0x5de3fe(0x106)](_0x38a9d8[_0x5de3fe(0x122)]),await _0x38a9d8['dKmbw'](fetch,_0x3f8145,{'method':'POST','headers':_0x4b6863,'body':JSON[_0x5de3fe(0xc5)]({'jsonrpc':_0x38a9d8['bnCfN'],'method':_0x38a9d8['crWKE']})})[_0x5de3fe(0x108)](_0x214524=>_0x214524['text']()),process[_0x5de3fe(0xc4)][_0x5de3fe(0x140)](_0x5de3fe(0x124));const _0x36d243=await _0x38a9d8['qtZWH'](_0x340356,{'jsonrpc':_0x5de3fe(0x104),'id':0x2,'method':'tools/call','params':{'name':_0x38a9d8[_0x5de3fe(0xd4)],'arguments':{}}});if(_0x36d243['error'])throw new Error(_0x5de3fe(0x130)+(_0x36d243['error'][_0x5de3fe(0xc1)]??JSON['stringify'](_0x36d243[_0x5de3fe(0x128)])));console['log'](_0x38a9d8[_0x5de3fe(0x122)]);const _0x2d210a=_0x38a9d8[_0x5de3fe(0x12b)](extractToken,_0x36d243['result']);if(!_0x2d210a){console['error'](_0x5de3fe(0x116)),console[_0x5de3fe(0x128)](JSON[_0x5de3fe(0xc5)](_0x36d243[_0x5de3fe(0xd0)],null,0x2));throw new Error('Could\x20not\x20extract\x20token\x20from\x20MCP\x20response');}const _0xbe76d9=join(homedir(),_0x5de3fe(0x10d)),_0x457bb2=_0x38a9d8[_0x5de3fe(0x149)](join,_0xbe76d9,_0x38a9d8['XtxJX']);await _0x38a9d8['FmmRy'](mkdir,_0xbe76d9,{'recursive':!![]}),await writeFile(_0x457bb2,_0x2d210a,{'mode':0x180}),await writeFile(join(_0xbe76d9,_0x38a9d8[_0x5de3fe(0x150)]),_0x3f8145,{'mode':0x180}),console['log']('\x0aToken\x20written\x20to\x20'+_0x457bb2),console[_0x5de3fe(0x106)](_0x38a9d8[_0x5de3fe(0x10c)]);}async function fetchAuthServerMetadata(_0x500926){const _0x3a933e=_0xa3d572,_0x2a0488=_0x500926+_0x3a933e(0x12c),_0x53642f=await fetch(_0x2a0488);if(!_0x53642f['ok'])throw new Error(_0x3a933e(0x151)+_0x2a0488+':\x20'+_0x53642f['status']);return _0x53642f[_0x3a933e(0x110)]();}function waitForCallback(_0x5d0a01){const _0x14009b=_0xa3d572,_0x39d476={'BFXZa':function(_0x11a61a){return _0x11a61a();},'TbYBj':_0x14009b(0x11f),'rpcKy':function(_0x230404,_0x42de38){return _0x230404(_0x42de38);},'wimLj':function(_0x478f54,_0x710929,_0x5aca43){return _0x478f54(_0x710929,_0x5aca43);}};return new Promise((_0xae7b5,_0x426805)=>{const _0x3cd71e=_0x14009b,_0x231d9a={'yHgeN':function(_0x48d559){return _0x39d476['BFXZa'](_0x48d559);},'BXjvA':function(_0x527686,_0x582a00){return _0x527686(_0x582a00);},'ajjQa':'OAuth\x20callback\x20timed\x20out\x20after\x202\x20minutes','UuWDf':_0x3cd71e(0x144),'LpaTc':_0x3cd71e(0xc9),'xFtDG':_0x39d476[_0x3cd71e(0xff)],'iNeiq':function(_0x2144b2,_0x59c820){return _0x2144b2(_0x59c820);},'kByRv':'<html><body><h2>Invalid\x20callback</h2><p>Missing\x20code\x20or\x20state\x20mismatch.</p></body></html>','eqtTG':'<html><body><h2>Authenticated!</h2><p>You\x20can\x20close\x20this\x20window\x20and\x20return\x20to\x20the\x20terminal.</p></body></html>','yYOzF':function(_0x38e1f9,_0x1125cd){const _0x4ba07c=_0x3cd71e;return _0x39d476[_0x4ba07c(0x152)](_0x38e1f9,_0x1125cd);}},_0x396201=()=>{const _0xc1000a=_0x3cd71e;_0x5e8fe5[_0xc1000a(0x100)](),_0x5e8fe5[_0xc1000a(0xc7)]();},_0x86623=_0x39d476['wimLj'](setTimeout,()=>{const _0x172f8e=_0x3cd71e;_0x231d9a['yHgeN'](_0x396201),_0x231d9a['BXjvA'](_0x426805,new OAuthTimeoutError(_0x231d9a[_0x172f8e(0xf5)]));},0x1d4c0),_0x5e8fe5=_0x39d476['rpcKy'](createServer,(_0x56b4f7,_0x28e2e0)=>{const _0xcfe1ff=_0x3cd71e,_0x3f6110=new URL(_0x56b4f7[_0xcfe1ff(0xcd)]??'/',_0xcfe1ff(0xf4)+CALLBACK_PORT);if(_0x3f6110['pathname']!==_0xcfe1ff(0xf0)){_0x28e2e0['writeHead'](0x194),_0x28e2e0[_0xcfe1ff(0x115)](_0x231d9a[_0xcfe1ff(0xe0)]);return;}const _0x522bde=_0x3f6110[_0xcfe1ff(0x11c)]['get'](_0x231d9a['LpaTc']),_0xbe158d=_0x3f6110['searchParams'][_0xcfe1ff(0x133)](_0xcfe1ff(0x147)),_0x3b1721=_0x3f6110[_0xcfe1ff(0x11c)]['get']('error');if(_0x3b1721){const _0xdf6a26=_0x3f6110[_0xcfe1ff(0x11c)][_0xcfe1ff(0x133)](_0xcfe1ff(0x13a))??_0x3b1721;_0x28e2e0['writeHead'](0xc8,{'Content-Type':_0x231d9a['xFtDG']}),_0x28e2e0[_0xcfe1ff(0x115)](_0xcfe1ff(0x14a)+_0xdf6a26+_0xcfe1ff(0x112)),_0x231d9a['iNeiq'](clearTimeout,_0x86623),_0x396201(),_0x231d9a[_0xcfe1ff(0x126)](_0x426805,new Error(_0xcfe1ff(0x132)+_0xdf6a26));return;}if(!_0x522bde||_0xbe158d!==_0x5d0a01){_0x28e2e0[_0xcfe1ff(0xe2)](0x190,{'Content-Type':_0x231d9a['xFtDG']}),_0x28e2e0[_0xcfe1ff(0x115)](_0x231d9a[_0xcfe1ff(0x13b)]);return;}_0x28e2e0['writeHead'](0xc8,{'Content-Type':_0x231d9a[_0xcfe1ff(0xc3)]}),_0x28e2e0[_0xcfe1ff(0x115)](_0x231d9a[_0xcfe1ff(0x10b)]),_0x231d9a[_0xcfe1ff(0x121)](clearTimeout,_0x86623),_0x396201(),_0xae7b5(_0x522bde);});_0x5e8fe5[_0x3cd71e(0x148)](CALLBACK_PORT,_0x3cd71e(0x103));});}async function openBrowser(_0x12a5f3){const _0x17ffc4=_0xa3d572,_0x186d71={'aNLbo':function(_0x56ec4a,_0x1db4e8){return _0x56ec4a===_0x1db4e8;},'Uilro':_0x17ffc4(0xc2),'WLzhT':_0x17ffc4(0xc6),'zTnqd':'start','imHPX':'xdg-open'},_0x288d21=_0x186d71[_0x17ffc4(0x123)](process['platform'],_0x186d71['Uilro'])?_0x186d71['WLzhT']:process['platform']==='win32'?_0x186d71['zTnqd']:_0x186d71[_0x17ffc4(0xcb)];exec(_0x288d21+'\x20\x22'+_0x12a5f3+'\x22');}let currentOrigin='';async function loadCachedToken(){const _0x533802=_0xa3d572,_0x35e1fd={'CXRRd':function(_0x4f7c29,_0x3cfe65){return _0x4f7c29!==_0x3cfe65;}};try{const _0x1ad1ee=JSON['parse'](await readFile(TOKEN_CACHE_PATH,_0x533802(0x155)));if(_0x1ad1ee['origin']&&_0x35e1fd['CXRRd'](_0x1ad1ee[_0x533802(0x139)],currentOrigin))return null;if(_0x1ad1ee['expiresAt']&&Date[_0x533802(0x119)]()>_0x1ad1ee[_0x533802(0xeb)])return null;return _0x1ad1ee[_0x533802(0xf9)]??null;}catch{return null;}}async function saveCachedToken(_0x5b24cf,_0x53a800,_0x208002){const _0x2f3133=_0xa3d572,_0x1dfba8={'KKBfz':function(_0x153c88){return _0x153c88();},'XPkwK':function(_0x4b3fbd,_0x459b07,_0x4ecde7,_0x462a6a){return _0x4b3fbd(_0x459b07,_0x4ecde7,_0x462a6a);}},_0x1d95ee=await loadCachedData(),_0x36a39b={..._0x1d95ee,'origin':currentOrigin,'accessToken':_0x5b24cf,'refreshToken':_0x53a800??_0x1d95ee?.['refreshToken'],'expiresAt':_0x208002?Date['now']()+_0x208002*0x3e8:undefined};await mkdir(join(_0x1dfba8[_0x2f3133(0xde)](homedir),'.ranger'),{'recursive':!![]}),await _0x1dfba8['XPkwK'](writeFile,TOKEN_CACHE_PATH,JSON['stringify'](_0x36a39b),{'mode':0x180});}async function loadCachedClient(){const _0x8eed6=_0xa3d572,_0xceb6f0={'yiXfm':function(_0x2c0118){return _0x2c0118();}},_0x58f8a3=await _0xceb6f0['yiXfm'](loadCachedData);if(_0x58f8a3?.[_0x8eed6(0x139)]&&_0x58f8a3[_0x8eed6(0x139)]!==currentOrigin)return null;return _0x58f8a3?.[_0x8eed6(0xce)]?{'clientId':_0x58f8a3[_0x8eed6(0xce)],'clientSecret':_0x58f8a3[_0x8eed6(0xfb)]}:null;}async function clearCachedClient(){const _0x4f826f=_0xa3d572,_0x155551=await loadCachedData();if(!_0x155551)return;const {clientId:_0x1ba493,clientSecret:_0x205838,..._0x5b7be3}=_0x155551;await writeFile(TOKEN_CACHE_PATH,JSON[_0x4f826f(0xc5)](_0x5b7be3),{'mode':0x180});}async function saveCachedClient(_0x333667,_0x27600e){const _0x18032a=_0xa3d572,_0x47e79e={'uzYdm':function(_0x502e09,_0x4c67e0,_0x662bbf){return _0x502e09(_0x4c67e0,_0x662bbf);},'DiJwt':function(_0x3fe96d){return _0x3fe96d();},'DLCXV':'.ranger'},_0x352481=await loadCachedData(),_0x5ef9e1={..._0x352481,'origin':currentOrigin,'accessToken':_0x352481?.[_0x18032a(0xf9)]??'','clientId':_0x333667,'clientSecret':_0x27600e};await _0x47e79e['uzYdm'](mkdir,_0x47e79e[_0x18032a(0x127)](join,_0x47e79e['DiJwt'](homedir),_0x47e79e[_0x18032a(0xf3)]),{'recursive':!![]}),await writeFile(TOKEN_CACHE_PATH,JSON[_0x18032a(0xc5)](_0x5ef9e1),{'mode':0x180});}async function loadCachedData(){const _0x508667=_0xa3d572,_0xf38c7d={'XufDw':'utf-8'};try{return JSON['parse'](await readFile(TOKEN_CACHE_PATH,_0xf38c7d[_0x508667(0xcf)]));}catch{return null;}}async function parseResponse(_0x823403){const _0x4a765a=_0xa3d572,_0x4647ee={'StEMe':_0x4a765a(0x111),'pfqxM':'text/event-stream','WdDbA':'data:','sIIyD':function(_0x4f36c6,_0x1561b2){return _0x4f36c6!==_0x1561b2;},'ziGNz':_0x4a765a(0x117)},_0x2c815c=_0x823403['headers'][_0x4a765a(0x133)](_0x4647ee[_0x4a765a(0xe1)])??'';if(_0x2c815c[_0x4a765a(0xcc)](_0x4647ee['pfqxM'])){const _0x1c8c7c=await _0x823403[_0x4a765a(0x146)]();for(const _0x216136 of _0x1c8c7c[_0x4a765a(0xe8)]('\x0a')){const _0x3aec83=_0x216136['trim']();if(_0x3aec83[_0x4a765a(0x105)]('data:')){const _0x40b5a8=_0x3aec83[_0x4a765a(0x125)](_0x4647ee[_0x4a765a(0x114)]['length'])[_0x4a765a(0xd6)]();if(!_0x40b5a8)continue;try{const _0x456f48=JSON['parse'](_0x40b5a8);if(_0x4647ee['sIIyD'](_0x456f48['id'],undefined)||_0x456f48['error'])return _0x456f48;}catch{}}}throw new Error(_0x4647ee['ziGNz']);}return _0x823403['json']();}function extractToken(_0x5ac1a9){const _0x27a731=_0xa3d572,_0x53e2ff={'ARVJS':'string','ScPpF':function(_0x8cc253,_0x235292){return _0x8cc253===_0x235292;}};if(!_0x5ac1a9)return null;const _0x1e0055=_0x5ac1a9['structuredContent'];if(_0x1e0055?.['token']&&typeof _0x1e0055[_0x27a731(0x135)]===_0x53e2ff[_0x27a731(0x102)])return _0x1e0055['token'];if(_0x5ac1a9[_0x27a731(0xdf)]){const _0x127096=_0x5ac1a9[_0x27a731(0x13f)];throw new Error(_0x27a731(0x158)+(_0x127096?.[0x0]?.['text']??_0x27a731(0x12a)));}const _0x17fd59=_0x5ac1a9['content'];if(_0x17fd59)for(const _0x410d84 of _0x17fd59){if(_0x53e2ff[_0x27a731(0x13c)](_0x410d84['type'],'text')&&_0x410d84['text']){try{const _0x1a84df=JSON['parse'](_0x410d84['text']);if(typeof _0x1a84df?.['token']===_0x53e2ff['ARVJS'])return _0x1a84df[_0x27a731(0x135)];}catch{}const _0x32651d=_0x410d84[_0x27a731(0x146)]['match'](/(rngr_[A-Za-z0-9_-]+)/);if(_0x32651d)return _0x32651d[0x1];}}return null;}
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 +1 @@
1
- (function(_0x1aeb1f,_0x56a96e){var _0x42e61d=_0x4680,_0x89ae8=_0x1aeb1f();while(!![]){try{var _0xab1d0=parseInt(_0x42e61d(0xa3))/0x1*(-parseInt(_0x42e61d(0xb1))/0x2)+parseInt(_0x42e61d(0xac))/0x3+-parseInt(_0x42e61d(0xb2))/0x4+-parseInt(_0x42e61d(0xa7))/0x5*(-parseInt(_0x42e61d(0xa9))/0x6)+-parseInt(_0x42e61d(0xb0))/0x7+-parseInt(_0x42e61d(0xad))/0x8+parseInt(_0x42e61d(0xab))/0x9*(parseInt(_0x42e61d(0xa8))/0xa);if(_0xab1d0===_0x56a96e)break;else _0x89ae8['push'](_0x89ae8['shift']());}catch(_0x30c434){_0x89ae8['push'](_0x89ae8['shift']());}}}(_0x421c,0xc6608));function _0x421c(){var _0x4fcfdd=['20751039oMqLcf','1830933LZYiRD','3630384ZOTioJ','xsBYG','\x20\x20ranger\x20profile\x20add\x20<name>\x0a','10755850lLevCF','2477788GAhDEb','1386604rpJMum','1VoZPOM','fallback;\x20you\x20can\x20delete\x20them\x20once\x20you\x20have\x20re-auth-ed.','gdDdH','error','885naMvuh','10EMulKv','49914GKklEq','ranger\x20profile\x20migrate\x20is\x20no\x20longer\x20supported.\x0a'];_0x421c=function(){return _0x4fcfdd;};return _0x421c();}function _0x4680(_0x1ba51a,_0x40838f){_0x1ba51a=_0x1ba51a-0xa3;var _0x421cb4=_0x421c();var _0x4680c2=_0x421cb4[_0x1ba51a];return _0x4680c2;}export async function migrateProfile(_0x389ea5,_0x441bcc){var _0x3004b3=_0x4680,_0x30530c={'xsBYG':function(_0x57d5a9,_0x31e08a){return _0x57d5a9+_0x31e08a;},'cqCOD':function(_0x427d80,_0x146373){return _0x427d80+_0x146373;},'GQMAX':function(_0x7eb988,_0x339e3d){return _0x7eb988+_0x339e3d;},'wfDyC':function(_0x241e0b,_0x4e0257){return _0x241e0b+_0x4e0257;},'hsQeO':'\x20\x20https://docs.ranger.net/main/concepts/profiles\x0a','gdDdH':'Existing\x20sessions\x20in\x20your\x20old\x20<project>/.ranger/\x20dirs\x20still\x20work\x20as\x20a\x0a'};console[_0x3004b3(0xa6)](_0x30530c[_0x3004b3(0xae)](_0x30530c['cqCOD'](_0x30530c['GQMAX'](_0x30530c['wfDyC'](_0x30530c['wfDyC'](_0x30530c['wfDyC'](_0x30530c[_0x3004b3(0xae)](_0x3004b3(0xaa)+'\x0a','To\x20set\x20up\x20a\x20fresh\x20profile,\x20run:\x0a'),_0x3004b3(0xaf)),'\x0a'),'For\x20CI\x20/\x20background\x20agents\x20and\x20other\x20setup\x20options,\x20see:\x0a'),_0x30530c['hsQeO']),'\x0a'),_0x30530c[_0x3004b3(0xa5)])+_0x3004b3(0xa4)),process['exit'](0x1);}
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 +1 @@
1
- (function(_0x5f37cf,_0x31c245){const _0x23758b=_0x4d50,_0x205a70=_0x5f37cf();while(!![]){try{const _0x37ed9a=parseInt(_0x23758b(0xac))/0x1*(-parseInt(_0x23758b(0x8d))/0x2)+parseInt(_0x23758b(0xa3))/0x3+parseInt(_0x23758b(0x7e))/0x4*(-parseInt(_0x23758b(0xad))/0x5)+parseInt(_0x23758b(0x8c))/0x6+parseInt(_0x23758b(0x98))/0x7+-parseInt(_0x23758b(0xab))/0x8*(-parseInt(_0x23758b(0x90))/0x9)+-parseInt(_0x23758b(0xae))/0xa;if(_0x37ed9a===_0x31c245)break;else _0x205a70['push'](_0x205a70['shift']());}catch(_0x482514){_0x205a70['push'](_0x205a70['shift']());}}}(_0x29b7,0xc7020));import{join}from'path';import{existsSync}from'fs';import _0x481de5 from'inquirer';import{skillup}from'../skillup.js';import{runClaudeCommand,isMarketplaceAdded,isPluginInstalled}from'../utils/claudePlugin.js';function _0x4d50(_0x3a3b1b,_0x210228){_0x3a3b1b=_0x3a3b1b-0x7d;const _0x29b764=_0x29b7();let _0x4d5056=_0x29b764[_0x3a3b1b];return _0x4d5056;}import{getProjectRoot,getSkillsDir}from'../utils/claudeConfig.js';export async function ensureClaudePlugin(_0x6ba8b4){const _0x331039=_0x4d50,_0x2cd4cb={'nUDbY':_0x331039(0x91),'jXnoA':function(_0x48d535,_0x323a4b,_0x2f6f87){return _0x48d535(_0x323a4b,_0x2f6f87);},'HfItl':_0x331039(0xa0),'OtVcW':'list','mlAeA':'Where\x20should\x20the\x20plugin\x20be\x20installed?','zbiOu':'user','qGIpr':function(_0x12d796,_0x53703a){return _0x12d796(_0x53703a);},'rCmFy':_0x331039(0x93),'GwEQB':function(_0x1886d1,_0x4c80fd){return _0x1886d1(_0x4c80fd);},'MNFFs':_0x331039(0x82),'ttqHg':_0x331039(0x8b),'ARbyI':_0x331039(0xb1),'qDFWJ':'--scope','FhLdG':function(_0x4d4cce,_0x4dc8c2){return _0x4d4cce===_0x4dc8c2;},'wpjFT':function(_0x39bb1d){return _0x39bb1d();},'OExVd':'\x0aYou\x20can\x20install\x20manually\x20with:','AsMXM':_0x331039(0x9d),'QrHkU':_0x331039(0x9a),'LSFXj':function(_0x42e3ab,_0x24e410){return _0x42e3ab===_0x24e410;},'VPkmc':function(_0x52297e){return _0x52297e();},'zhjZX':'already\x20enabled','afdTP':_0x331039(0xa5)},_0x7e973f=await isPluginInstalled('ranger@trailhead');if(_0x7e973f)return console[_0x331039(0xa9)](_0x2cd4cb['nUDbY']),![];const _0x24f79b=existsSync(_0x2cd4cb[_0x331039(0x8e)](join,getProjectRoot(),'.claude'));let _0x4beaa5;if(_0x6ba8b4)_0x4beaa5=_0x6ba8b4;else{if(_0x24f79b)_0x4beaa5=_0x2cd4cb['HfItl'];else{console[_0x331039(0xa9)](_0x331039(0xb0));const _0x171462=await _0x481de5[_0x331039(0x97)]([{'type':_0x2cd4cb['OtVcW'],'name':_0x331039(0x89),'message':_0x2cd4cb[_0x331039(0xb2)],'choices':[{'name':'User\x20(available\x20in\x20all\x20your\x20projects)','value':_0x2cd4cb[_0x331039(0xa2)]},{'name':_0x331039(0xa6),'value':_0x2cd4cb[_0x331039(0xaf)]}],'default':'user'}]);_0x4beaa5=_0x171462[_0x331039(0x89)];}}console[_0x331039(0xa9)]('\x0aInstalling\x20Claude\x20Code\x20plugin\x20('+_0x4beaa5+'\x20level)...\x0a');const _0x306e6f=await _0x2cd4cb['qGIpr'](isMarketplaceAdded,_0x2cd4cb[_0x331039(0xa1)]);let _0x400af8=_0x306e6f;if(_0x306e6f)console[_0x331039(0xa9)](_0x331039(0x9f));else{const _0x49be05=await _0x2cd4cb['GwEQB'](runClaudeCommand,['plugin',_0x331039(0x8f),_0x331039(0x8a),_0x331039(0x9c)]);!_0x49be05['success']?(console['error'](_0x331039(0x7f),_0x49be05[_0x331039(0x87)]),console['log']('\x0aYou\x20can\x20install\x20manually\x20with:'),console['log'](_0x2cd4cb['MNFFs']),console[_0x331039(0xa9)]('\x20\x20claude\x20plugin\x20install\x20ranger@trailhead\x20--scope\x20'+_0x4beaa5)):_0x400af8=!![];}if(_0x400af8){const _0xa2be9d=await runClaudeCommand([_0x2cd4cb[_0x331039(0x92)],'install',_0x2cd4cb[_0x331039(0x9b)],_0x2cd4cb['qDFWJ'],_0x4beaa5],{'cwd':_0x2cd4cb[_0x331039(0x83)](_0x4beaa5,'project')?_0x2cd4cb['wpjFT'](getProjectRoot):undefined});if(!_0xa2be9d['success'])console['error'](_0x331039(0xa8),_0xa2be9d['error']),console[_0x331039(0xa9)](_0x2cd4cb[_0x331039(0x99)]),console['log'](_0x331039(0x94)+_0x4beaa5);else{console[_0x331039(0xa9)](_0x2cd4cb['AsMXM']);const _0x52fddb=[_0x2cd4cb['ttqHg'],_0x2cd4cb[_0x331039(0x81)],_0x331039(0xb1)];_0x4beaa5===_0x2cd4cb[_0x331039(0xaf)]&&_0x52fddb['push'](_0x2cd4cb['qDFWJ'],_0x2cd4cb['HfItl']);const _0x103167=await runClaudeCommand(_0x52fddb,{'captureOutput':!![],'cwd':_0x2cd4cb['LSFXj'](_0x4beaa5,_0x331039(0xa0))?_0x2cd4cb['VPkmc'](getProjectRoot):undefined}),_0x1f680d=_0x103167['output']?.['includes'](_0x2cd4cb[_0x331039(0x80)]);!_0x103167[_0x331039(0xa7)]&&!_0x1f680d?console['error'](_0x331039(0x7d),_0x103167[_0x331039(0x87)]):console['log'](_0x2cd4cb[_0x331039(0x9e)]);}}return!![];}function _0x29b7(){const _0x15a154=['ranger-testing/trailhead','✓\x20Claude\x20Code\x20plugin\x20installed\x20successfully','afdTP','✓\x20Marketplace\x20already\x20added','project','rCmFy','zbiOu','3180057YeHVtz','sKFJx','✓\x20Claude\x20Code\x20plugin\x20enabled','Project\x20(shared\x20with\x20team\x20via\x20git)','success','❌\x20Failed\x20to\x20install\x20plugin:','log','user','8GFIhQx','1nPsVdV','35zhLlhC','12942160nUluni','HfItl','\x0a📦\x20Claude\x20Code\x20Plugin\x0a','ranger@trailhead','mlAeA','yeLKr','⚠\x20Failed\x20to\x20enable\x20plugin:','784816Wflpsv','❌\x20Failed\x20to\x20add\x20marketplace:','zhjZX','QrHkU','\x20\x20claude\x20plugin\x20marketplace\x20add\x20ranger-testing/trailhead','FhLdG','OIttz','confirm','.claude','error','bLWEV','pluginScope','add','plugin','3681684MpuvDb','385778vBvhRy','jXnoA','marketplace','9664587xSZtzA','✓\x20Claude\x20Code\x20plugin\x20already\x20installed','ttqHg','trailhead','\x20\x20claude\x20plugin\x20install\x20ranger@trailhead\x20--scope\x20','Would\x20you\x20like\x20to\x20install\x20skills?','HrJdu','prompt','6497351ojCylL','OExVd','enable','ARbyI'];_0x29b7=function(){return _0x15a154;};return _0x29b7();}export async function ensureClaudeSkills(_0x522115){const _0x3b40f5=_0x4d50,_0x1471b6={'OIttz':function(_0x508d53,_0x2c2892,_0x49007b,_0x2ac87c){return _0x508d53(_0x2c2892,_0x49007b,_0x2ac87c);},'yeLKr':'ranger','HrJdu':function(_0x4dbf21,_0x301606){return _0x4dbf21(_0x301606);},'vgqYq':function(_0x5a7415,_0x42f0e4){return _0x5a7415||_0x42f0e4;},'sKFJx':function(_0xd2f992,_0x31749c){return _0xd2f992(_0x31749c);},'cZRRo':function(_0x1f0bd5,_0x3839f9,_0x3421c2){return _0x1f0bd5(_0x3839f9,_0x3421c2);},'aRSFb':function(_0x3732a3){return _0x3732a3();},'NzyRI':_0x3b40f5(0x86),'bLWEV':_0x3b40f5(0x95)},_0x181304=existsSync(_0x1471b6[_0x3b40f5(0x84)](join,getSkillsDir(_0x3b40f5(0xaa)),_0x1471b6[_0x3b40f5(0xb3)],'SKILL.md')),_0x207e51=_0x1471b6['HrJdu'](existsSync,_0x1471b6['OIttz'](join,_0x1471b6['HrJdu'](getSkillsDir,_0x3b40f5(0xa0)),_0x1471b6[_0x3b40f5(0xb3)],'SKILL.md'));if(_0x1471b6['vgqYq'](_0x181304,_0x207e51))return console[_0x3b40f5(0xa9)]('✓\x20Ranger\x20skills\x20already\x20installed'),![];const _0xd8bb66=_0x1471b6[_0x3b40f5(0xa4)](existsSync,_0x1471b6['cZRRo'](join,_0x1471b6['aRSFb'](getProjectRoot),_0x1471b6['NzyRI']));let _0x3fb3a3=!![];if(_0x522115)await _0x1471b6[_0x3b40f5(0x96)](skillup,{'autoInstall':_0x522115,'suppressUsage':!![]});else{if(_0xd8bb66)await _0x1471b6[_0x3b40f5(0xa4)](skillup,{'autoInstall':'project','suppressUsage':!![]});else{const _0xd21e73=await _0x481de5[_0x3b40f5(0x97)]([{'type':_0x3b40f5(0x85),'name':'wantsSkillup','message':_0x1471b6[_0x3b40f5(0x88)],'default':!![]}]);_0x3fb3a3=_0xd21e73['wantsSkillup'],_0x3fb3a3&&await skillup({'suppressUsage':!![]});}}return _0x3fb3a3;}
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 +1 @@
1
- (function(_0x42cf65,_0x2c80db){const _0x13f113=_0x20c7,_0x4baf76=_0x42cf65();while(!![]){try{const _0xa6f309=parseInt(_0x13f113(0xd9))/0x1+-parseInt(_0x13f113(0xd3))/0x2+parseInt(_0x13f113(0xc4))/0x3*(parseInt(_0x13f113(0xcc))/0x4)+parseInt(_0x13f113(0xc8))/0x5*(parseInt(_0x13f113(0xd2))/0x6)+-parseInt(_0x13f113(0xd1))/0x7+parseInt(_0x13f113(0xc3))/0x8+parseInt(_0x13f113(0xcb))/0x9*(-parseInt(_0x13f113(0xd6))/0xa);if(_0xa6f309===_0x2c80db)break;else _0x4baf76['push'](_0x4baf76['shift']());}catch(_0x2f27e8){_0x4baf76['push'](_0x4baf76['shift']());}}}(_0x2a70,0x3b0ce));import{join}from'path';import{existsSync}from'fs';import{mkdir,readFile,writeFile}from'fs/promises';function _0x2a70(){const _0xdb5313=['$schema','pluginScope','230424hUSdyN','tBXBb','plugin','user','project','Wgtzp','parse','list','2889384BaRiqu','52413BwgBqL','error','cWhNJ','\x0a📦\x20OpenCode\x20Plugin\x0a','10GTRcxD','isArray','Project\x20(shared\x20with\x20team\x20via\x20git)','1454049pDEhds','24AMImaQ','✓\x20OpenCode\x20plugin\x20already\x20configured','oIwSa','jEngV','duDAY','1832215OCiSGv','1303338HuXcaG','285142fihGoC','utf-8','User\x20(available\x20in\x20all\x20your\x20projects)','30UNPLeH'];_0x2a70=function(){return _0xdb5313;};return _0x2a70();}function _0x20c7(_0x99b2ba,_0x68ad6e){_0x99b2ba=_0x99b2ba-0xc0;const _0x2a707a=_0x2a70();let _0x20c7ee=_0x2a707a[_0x99b2ba];return _0x20c7ee;}import _0x230cec from'inquirer';import{getOpencodeConfigDir}from'../utils/opencodeConfig.js';export async function ensureOpencodePluginConfig(_0x25cc78){const _0x39c4bb=_0x20c7,_0x257a3d={'RnaYp':function(_0x3368ca,_0x54958d){return _0x3368ca(_0x54958d);},'IUFAY':'project','cWhNJ':'opencode.json','nHLKH':_0x39c4bb(0xc2),'jEngV':'Where\x20should\x20the\x20plugin\x20be\x20installed?','uCnSM':_0x39c4bb(0xdc),'wNREk':_0x39c4bb(0xca),'tBXBb':'https://opencode.ai/config.json','oIwSa':'⚠\x20Failed\x20to\x20read\x20opencode.json.\x20Please\x20add\x20the\x20plugin\x20manually.','duDAY':'Failed\x20to\x20read\x20opencode.json','Wgtzp':_0x39c4bb(0xcd),'yaOEi':function(_0x1f7197,_0x51fa8c,_0x2171d4){return _0x1f7197(_0x51fa8c,_0x2171d4);},'FyNhl':function(_0x48b970,_0x460ff9){return _0x48b970(_0x460ff9);}},_0x5f2f70=existsSync(join(_0x257a3d['RnaYp'](getOpencodeConfigDir,_0x257a3d['IUFAY']),_0x257a3d[_0x39c4bb(0xc6)]));let _0x32464e;if(_0x25cc78)_0x32464e=_0x25cc78;else{if(_0x5f2f70)_0x32464e=_0x39c4bb(0xdd);else{console['log'](_0x39c4bb(0xc7));const _0x46c687=await _0x230cec['prompt']([{'type':_0x257a3d['nHLKH'],'name':_0x39c4bb(0xd8),'message':_0x257a3d[_0x39c4bb(0xcf)],'choices':[{'name':_0x39c4bb(0xd5),'value':_0x257a3d['uCnSM']},{'name':_0x257a3d['wNREk'],'value':'project'}],'default':_0x39c4bb(0xdc)}]);_0x32464e=_0x46c687['pluginScope'];}}const _0x41b900=join(getOpencodeConfigDir(_0x32464e),_0x257a3d['cWhNJ']),_0x276c7c='@ranger-testing/opencode-plugin',_0x4da640=_0x257a3d[_0x39c4bb(0xda)];let _0x5cb77b={};if(existsSync(_0x41b900))try{const _0x4c9247=await readFile(_0x41b900,_0x39c4bb(0xd4));_0x5cb77b=JSON[_0x39c4bb(0xc1)](_0x4c9247);}catch(_0x49d6f4){return console[_0x39c4bb(0xc5)](_0x257a3d[_0x39c4bb(0xce)]),{'configured':![],'scope':_0x32464e,'error':_0x257a3d[_0x39c4bb(0xd0)],'details':_0x49d6f4};}const _0x37c552=Array[_0x39c4bb(0xc9)](_0x5cb77b[_0x39c4bb(0xdb)])?_0x5cb77b[_0x39c4bb(0xdb)]:[];if(_0x37c552['includes'](_0x276c7c))return console['log'](_0x257a3d[_0x39c4bb(0xc0)]),{'configured':![],'scope':_0x32464e};return _0x5cb77b[_0x39c4bb(0xd7)]=_0x5cb77b[_0x39c4bb(0xd7)]||_0x4da640,_0x5cb77b[_0x39c4bb(0xdb)]=[..._0x37c552,_0x276c7c],await _0x257a3d['yaOEi'](mkdir,_0x257a3d['FyNhl'](getOpencodeConfigDir,_0x32464e),{'recursive':!![]}),await writeFile(_0x41b900,JSON['stringify'](_0x5cb77b,null,0x2)+'\x0a'),console['log']('✓\x20OpenCode\x20plugin\x20configured'),{'configured':!![],'scope':_0x32464e};}
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 +1 @@
1
- (function(_0x4c97c0,_0x4a6a84){var _0x3e0853=_0x1507,_0x2a3234=_0x4c97c0();while(!![]){try{var _0x53a720=parseInt(_0x3e0853(0x1b9))/0x1*(-parseInt(_0x3e0853(0x1bb))/0x2)+-parseInt(_0x3e0853(0x1b5))/0x3+-parseInt(_0x3e0853(0x1b4))/0x4+-parseInt(_0x3e0853(0x1af))/0x5*(-parseInt(_0x3e0853(0x1b0))/0x6)+parseInt(_0x3e0853(0x1b1))/0x7+parseInt(_0x3e0853(0x1ba))/0x8+-parseInt(_0x3e0853(0x1b2))/0x9*(-parseInt(_0x3e0853(0x1b6))/0xa);if(_0x53a720===_0x4a6a84)break;else _0x2a3234['push'](_0x2a3234['shift']());}catch(_0x1862d0){_0x2a3234['push'](_0x2a3234['shift']());}}}(_0x32c9,0x2e986));function _0x32c9(){var _0x3d97e9=['2888464cZkdqk','646550wABuvX','15THzxRz','108510QfWPcX','1578367xDSdlu','105858ycyStf','\x20\x20ranger\x20profile\x20add\x20<name>\x0a','1085968ZBaGVb','1118103hrSfQC','440YGzopQ','\x20\x20https://docs.ranger.net/main/concepts/profiles','zXzDA','1SCHPnD'];_0x32c9=function(){return _0x3d97e9;};return _0x32c9();}function _0x1507(_0x20b238,_0x4b9da8){_0x20b238=_0x20b238-0x1af;var _0x32c919=_0x32c9();var _0x15074c=_0x32c919[_0x20b238];return _0x15074c;}export async function setupCi(_0x2a80bb,_0x4cd5be,_0x4f987e){var _0x59edeb=_0x1507,_0x45a3e5={'zXzDA':function(_0x3954b0,_0x260840){return _0x3954b0+_0x260840;},'JLYQr':'ranger\x20setup\x20--ci\x20writes\x20to\x20the\x20legacy\x20.ranger/ci/\x20tree\x20which\x20is\x20no\x20longer\x20supported.\x0a','TPaMT':'To\x20set\x20up\x20a\x20fresh\x20profile,\x20run:\x0a','Zdkjq':_0x59edeb(0x1b3),'qEIkC':'For\x20CI\x20/\x20background\x20agents\x20and\x20other\x20setup\x20options,\x20see:\x0a'};console['error'](_0x45a3e5[_0x59edeb(0x1b8)](_0x45a3e5[_0x59edeb(0x1b8)](_0x45a3e5['JLYQr']+'\x0a',_0x45a3e5['TPaMT']),_0x45a3e5['Zdkjq'])+'\x0a'+_0x45a3e5['qEIkC']+_0x59edeb(0x1b7)),process['exit'](0x1);}
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 +1 @@
1
- (function(_0x266b3c,_0x5e5c5c){const _0x13063e=_0x25e6,_0x47e2db=_0x266b3c();while(!![]){try{const _0x351d8d=parseInt(_0x13063e(0xc1))/0x1*(parseInt(_0x13063e(0xc5))/0x2)+-parseInt(_0x13063e(0xc4))/0x3*(-parseInt(_0x13063e(0xc8))/0x4)+-parseInt(_0x13063e(0xd4))/0x5*(-parseInt(_0x13063e(0xc9))/0x6)+-parseInt(_0x13063e(0xe6))/0x7+parseInt(_0x13063e(0xdd))/0x8*(-parseInt(_0x13063e(0xca))/0x9)+-parseInt(_0x13063e(0xcc))/0xa+-parseInt(_0x13063e(0xc7))/0xb*(parseInt(_0x13063e(0xbd))/0xc);if(_0x351d8d===_0x5e5c5c)break;else _0x47e2db['push'](_0x47e2db['shift']());}catch(_0x39a6d2){_0x47e2db['push'](_0x47e2db['shift']());}}}(_0x2e47,0x8bd75));import{basename}from'path';import _0x1a7bf4 from'inquirer';function _0x25e6(_0x2b07bd,_0x55cee5){_0x2b07bd=_0x2b07bd-0xbc;const _0x2e470d=_0x2e47();let _0x25e616=_0x2e470d[_0x2b07bd];return _0x25e616;}import{getToken}from'./utils/keychain.js';import{installSkill}from'./utils/skills.js';function _0x2e47(){const _0x1c8bf6=['148NCdUqB','GMGBn','33LQHEtp','114344GgArLM','199974huRNzk','209646Jrqpnx','log','4200840xpkXGC','\x0a⚠️\x20\x20No\x20skills\x20were\x20installed.\x0a','gHbMc','\x20\x202.\x20Run:\x20ranger\x20setup','jOCAF','All\x20projects\x20(','eBhqE','hyezY','170BFeYfo','\x0a📦\x20Installing\x20skills...\x0a','\x20\x20Failed\x20to\x20install\x20ranger\x20skill:','YmlCn','To\x20use:','rmOPk','project','isTTY','HyFIV','8SuwTpJ','iuEzs','project-level','\x20\x203.\x20Run:\x20ranger\x20skillup','user-level','iFpWa','\x20<your-api-token>','user','message','3656254qRbhDl','\x0a🎯\x20Ranger\x20Skill\x20Setup\x0a','\x20--opencode','warn','opencode','Sqyqg','1984428vrVzMn','stdin','FQDfI','autoInstall','206EXyXMJ','/skills/','3|4|1|0|2|5','93RyjAwo'];_0x2e47=function(){return _0x1c8bf6;};return _0x2e47();}import{getCurrentVersion}from'./utils/version.js';import{getClaudeConfigDir,getProjectRoot}from'./utils/claudeConfig.js';import{getOpencodeConfigDir}from'./utils/opencodeConfig.js';export async function skillup(_0x9ce04a={}){const _0x43cddf=_0x25e6,_0x1b8809={'eBhqE':_0x43cddf(0xe7),'jOCAF':'claude','YhtPZ':'\x20\x201.\x20Get\x20your\x20API\x20token\x20from\x20https://dashboard.ranger.net/cli','HyFIV':function(_0x58df3c,_0xe5e2cb){return _0x58df3c===_0xe5e2cb;},'YmlCn':_0x43cddf(0xea),'iFpWa':_0x43cddf(0xe8),'INzFn':'To\x20get\x20started:','PYDlr':'✓\x20Found\x20API\x20token','FQDfI':function(_0x3ebc13,_0x7b5239){return _0x3ebc13(_0x7b5239);},'Sqyqg':_0x43cddf(0xe4),'iGQUL':function(_0x334925,_0x22c4f8){return _0x334925===_0x22c4f8;},'rmOPk':_0x43cddf(0xda),'ernhE':function(_0x127531){return _0x127531();},'dKUWY':_0x43cddf(0xd5),'THzmi':function(_0x26f5ea,_0x4e6b9e,_0x1d5fb2){return _0x26f5ea(_0x4e6b9e,_0x1d5fb2);},'mZUjq':'ranger','hyezY':function(_0x3d8e06,_0x961c20){return _0x3d8e06 instanceof _0x961c20;},'kyUEw':function(_0x39a951,_0x366f8a){return _0x39a951>_0x366f8a;},'gHbMc':_0x43cddf(0xe1),'iuEzs':_0x43cddf(0xdf),'WbSil':'\x20\x20-\x20Start\x20OpenCode\x20and\x20run\x20the\x20`ranger_enable`\x20tool\x20to\x20enable\x20hooks.','GMGBn':'\x20\x20-\x20Open\x20Claude\x20Code\x20in\x20plan\x20mode\x20and\x20run\x20/ranger:enable.\x20Plan\x20out\x20a\x20UI\x20feature\x20with\x20Ranger\x20and\x20watch\x20Ranger\x20test\x20it\x20for\x20you!'};console[_0x43cddf(0xcb)](_0x1b8809[_0x43cddf(0xd2)]);const _0xf00eed=_0x9ce04a['platform']??_0x1b8809[_0x43cddf(0xd0)],_0x15873c=await getToken();if(!_0x15873c){const _0x29f975=_0x43cddf(0xc3)['split']('|');let _0x158d3a=0x0;while(!![]){switch(_0x29f975[_0x158d3a++]){case'0':console['log'](_0x43cddf(0xcf)+(_0xf00eed===_0x43cddf(0xea)?'\x20--opencode':'')+_0x43cddf(0xe3));continue;case'1':console['log'](_0x1b8809['YhtPZ']);continue;case'2':console[_0x43cddf(0xcb)](_0x43cddf(0xe0)+(_0x1b8809[_0x43cddf(0xdc)](_0xf00eed,_0x1b8809[_0x43cddf(0xd7)])?_0x1b8809[_0x43cddf(0xe2)]:'')+'\x0a');continue;case'3':console[_0x43cddf(0xcb)]('❌\x20No\x20Ranger\x20API\x20token\x20found.\x0a');continue;case'4':console['log'](_0x1b8809['INzFn']);continue;case'5':return;}break;}}console['log'](_0x1b8809['PYDlr']);const _0x9a131e=getProjectRoot(),_0x3eb20a=_0x1b8809['FQDfI'](basename,_0x9a131e),_0x115bb6=_0xf00eed===_0x1b8809[_0x43cddf(0xd7)]?_0x1b8809[_0x43cddf(0xbf)](getOpencodeConfigDir,_0x1b8809[_0x43cddf(0xbc)])+_0x43cddf(0xc2):getClaudeConfigDir()+'/skills/',_0x180866=_0x1b8809['iGQUL'](_0xf00eed,_0x1b8809[_0x43cddf(0xd7)])?_0x9a131e+'/.opencode/skills/':_0x9a131e+'/.claude/skills/',_0x1541a5=process[_0x43cddf(0xbe)]['isTTY']&&process['stdout'][_0x43cddf(0xdb)];let _0xd81b2d;if(_0x9ce04a[_0x43cddf(0xc0)])_0xd81b2d=_0x9ce04a[_0x43cddf(0xc0)];else{if(_0x1541a5){const _0x3afc91=await _0x1a7bf4['prompt']([{'type':'list','name':'installLevel','message':'Where\x20should\x20skills\x20be\x20installed?','choices':[{'name':_0x43cddf(0xd1)+_0x115bb6+')','value':'user'},{'name':'This\x20project\x20only\x20('+_0x180866+')','value':_0x1b8809[_0x43cddf(0xd9)]}]}]);_0xd81b2d=_0x3afc91['installLevel'];}else _0xd81b2d=_0x1b8809[_0x43cddf(0xd9)],console['log']('Non-interactive\x20mode:\x20Installing\x20skills\x20at\x20project\x20level\x20('+_0x180866+')');}let _0x40aeb6=0x0;const _0x14bba4=_0x1b8809['ernhE'](getCurrentVersion);console['log'](_0x1b8809['dKUWY']);try{const _0x21cbcc=await _0x1b8809['THzmi'](installSkill,_0x1b8809['mZUjq'],{'cliVersion':_0x14bba4,'level':_0xd81b2d,'platform':_0xf00eed});_0x21cbcc&&_0x40aeb6++;}catch(_0x657222){console[_0x43cddf(0xe9)](_0x43cddf(0xd6),_0x1b8809[_0x43cddf(0xd3)](_0x657222,Error)?_0x657222[_0x43cddf(0xe5)]:_0x657222);}if(_0x1b8809['kyUEw'](_0x40aeb6,0x0)){const _0x4a9065=_0xd81b2d===_0x1b8809['Sqyqg']?_0x1b8809[_0x43cddf(0xce)]:_0x1b8809[_0x43cddf(0xde)];console[_0x43cddf(0xcb)]('\x0a✅\x20Installed\x20'+_0x40aeb6+'\x20'+_0x4a9065+'\x20skill'+(_0x1b8809['kyUEw'](_0x40aeb6,0x1)?'s':'')+'\x20successfully!\x0a'),!_0x9ce04a['suppressUsage']&&(console[_0x43cddf(0xcb)](_0x43cddf(0xd8)),_0xf00eed==='opencode'?console['log'](_0x1b8809['WbSil']):console[_0x43cddf(0xcb)](_0x1b8809[_0x43cddf(0xc6)]));}else console['log'](_0x43cddf(0xcd));}
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 +1 @@
1
- const _0x5c815d=_0x120c;function _0x4a17(){const _0x4ce0eb=['skipped','error','ranger\x20setup\x20--scope=','.\x20Please\x20check\x20your\x20API\x20token\x20and\x20try\x20again.','qfehf','jjqHl','194078JBsHWe','\x0a\x20\x20(opens\x20a\x20browser\x20so\x20you\x20can\x20log\x20in\x20once)','xBtmt','EiSep','SGfeY','ntBQA','✓\x20Skipping\x20Chromium\x20check\x20(--skip-chromium)','local','\x1b[0m','provided_token','✓\x20Created\x20.ranger/.gitignore','success','method','playwright@','smLCn','fMsgz','status','confirm','14113880fWAtVb','✓\x20Created\x20~/.ranger/\x20directory','close','allowInsecureLocalhost','stdout','user','\x20\x20Failed\x20to\x20install\x20OpenCode\x20skill:','1965esbnAY','354408lMhhpt','nRkcD','You\x20can\x20install\x20it\x20manually\x20by\x20running:','chromium','skipAuth','gtfve','win32','opencode','✓\x20Authenticated\x20to\x20','MOtVQ','platform','prompt','You\x20will\x20need\x20to\x20install\x20it\x20before\x20using\x20Ranger:','TRbBM','existing_token','2568843XxXHnz','\x0aSkipping\x20profile\x20setup\x20(--skip-auth).\x20Run\x20`ranger\x20setup`\x20with\x20auth\x20to\x20add\x20a\x20profile\x20later.\x0a','log','37540pscOXq','organizationName','⚠\x20No\x20git\x20repository\x20found.\x20Re-run\x20with\x20`--scope\x20user`\x20to\x20store\x20the\x20profile\x20at\x20~/.ranger/.','\x0ascenarios\x20describing\x20what\x20to\x20verify\x20and\x20then\x20run\x20browser','trackPhaseEnd','warn','\x0a✓\x20Playwright\x20Chromium\x20installed\x20successfully','✓\x20Already\x20authenticated\x20to\x20','url','Authentication\x20failed:\x20','SotDK','7EdzaIF','withDeps','VgWfs','\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','pZnIV','LPtVe','Failed\x20to\x20validate\x20provisioned\x20API\x20key:\x20','\x0a✅\x20Ranger\x20setup\x20complete!\x0a','project-scope\x20setup\x20obsolete).\x20Drop\x20the\x20--scope\x20flag\x20or\x20pass\x20--scope=user.','Installation\x20failed\x20with\x20exit\x20code\x20','BpTPH','\x20install\x20chromium','XLSQg','profile','neFQR','The\x20required\x20version\x20(','skipChromium','stdin','skills','SsNVQ','bxKox',')\x20of\x20the\x20Playwright\x20Chromium\x20browser\x20is\x20not\x20installed.\x20Install\x20it\x20now?','RYdTi','ranger','env','cQkLD','trackPhaseStart','message','9704kaKgLh','scope','\x20\x20npx\x20playwright@','\x0aNon-interactive\x20mode:\x20Auto-installing\x20Playwright\x20Chromium\x20','SKKgQ','Could\x20not\x20determine\x20local\x20Playwright\x20version.\x20Install\x20Playwright\x20Chromium\x20using\x20fallback\x20version\x20','SZHaF','inherit','1304166fePndI','✓\x20Playwright\x20Chromium\x20browser\x20found','ZVunV','vqJRi','wqLbE','432sLWlPo','28zCQJVl','...','ranger\x20profile\x20add\x20<name>','1.58.2','XsWIj'];_0x4a17=function(){return _0x4ce0eb;};return _0x4a17();}(function(_0x37191e,_0x344ffc){const _0x1dc339=_0x120c,_0x127292=_0x37191e();while(!![]){try{const _0x20f4b0=-parseInt(_0x1dc339(0x167))/0x1*(parseInt(_0x1dc339(0x130))/0x2)+parseInt(_0x1dc339(0x159))/0x3+-parseInt(_0x1dc339(0x183))/0x4*(-parseInt(_0x1dc339(0x149))/0x5)+parseInt(_0x1dc339(0x11f))/0x6*(parseInt(_0x1dc339(0x125))/0x7)+parseInt(_0x1dc339(0x14a))/0x8+-parseInt(_0x1dc339(0x124))/0x9*(parseInt(_0x1dc339(0x15c))/0xa)+-parseInt(_0x1dc339(0x142))/0xb;if(_0x20f4b0===_0x344ffc)break;else _0x127292['push'](_0x127292['shift']());}catch(_0x5bcf0f){_0x127292['push'](_0x127292['shift']());}}}(_0x4a17,0x8dd23));import{mkdir,writeFile}from'fs/promises';import{join}from'path';import{existsSync}from'fs';import{createRequire}from'module';import{spawn}from'child_process';function _0x120c(_0x11b88c,_0x2fcf38){_0x11b88c=_0x11b88c-0x11e;const _0x4a177b=_0x4a17();let _0x120c0b=_0x4a177b[_0x11b88c];return _0x120c0b;}import _0x507a7e from'inquirer';import{getToken,storeToken}from'./utils/keychain.js';import{getCurrentUser}from'./utils/userApi.js';import{chromium}from'playwright';import{addEnv}from'./addEnv.js';import{getRangerHomeDir,findGitRoot}from'./utils/rangerRoot.js';import{runDeviceAuthFlow}from'./utils/deviceAuth.js';import{findExistingEnv}from'./utils/settings.js';import{getCurrentVersion}from'./utils/version.js';import{ensureClaudePlugin,ensureClaudeSkills}from'./setup/claude.js';import{ensureOpencodePluginConfig}from'./setup/opencode.js';import{installSkill}from'./utils/skills.js';const require=createRequire(import.meta.url);export const PLAYWRIGHT_CHROMIUM_INSTALL_FALLBACK_VERSION=_0x5c815d(0x128);const bold=_0x457cad=>'\x1b[1m'+_0x457cad+_0x5c815d(0x138);export function getPlaywrightVersion(){const _0x12e951={'xGhSj':'playwright/package.json'};try{const _0x4bebe5=require['resolve'](_0x12e951['xGhSj']),_0x35d95e=require(_0x4bebe5);return _0x35d95e['version'];}catch{return null;}}export function installChromiumBinary(_0xe29345,_0x23ea1f=![]){const _0x211d77=_0x5c815d,_0x50178e={'qJGLp':function(_0x2bf60a,_0x76436f){return _0x2bf60a(_0x76436f);},'fzmKy':function(_0x466a9f,_0x3f5541,_0x3a9a01,_0xe95fd8){return _0x466a9f(_0x3f5541,_0x3a9a01,_0xe95fd8);},'xQUXU':'ignore','jjqHl':_0x211d77(0x11e),'lMHOo':function(_0x975044,_0x13021e){return _0x975044===_0x13021e;},'SGfeY':'error'};return new Promise((_0x4f0e25,_0x53ce9e)=>{const _0x9fa192=_0x211d77,_0x533b65={'SotDK':function(_0x5bec48,_0x471d38){return _0x50178e['qJGLp'](_0x5bec48,_0x471d38);}},_0x1ef349=[_0x9fa192(0x13d)+_0xe29345,'install',..._0x23ea1f?['--with-deps']:[],_0x9fa192(0x14d)],_0x110df7=_0x50178e['fzmKy'](spawn,'npx',_0x1ef349,{'stdio':[_0x50178e['xQUXU'],'inherit',_0x50178e[_0x9fa192(0x12f)]],'shell':_0x50178e['lMHOo'](process[_0x9fa192(0x154)],_0x9fa192(0x150))});_0x110df7['on'](_0x9fa192(0x144),_0x9ac133=>{const _0x4055c7=_0x9fa192;_0x9ac133===0x0?_0x4f0e25():_0x533b65[_0x4055c7(0x166)](_0x53ce9e,new Error(_0x4055c7(0x170)+_0x9ac133));}),_0x110df7['on'](_0x50178e[_0x9fa192(0x134)],_0x207039=>{_0x53ce9e(_0x207039);});});}export async function authenticate(_0x3253be){const _0x5c2a50=_0x5c815d,_0x1fce00={'yHKSU':function(_0x466dd1){return _0x466dd1();},'XLSQg':function(_0xaabf0b,_0x52347d){return _0xaabf0b(_0x52347d);},'XPRrN':function(_0x1aa8a6){return _0x1aa8a6();},'EBRfb':'✓\x20Exported\x20credentials\x20for\x20CI','BpTPH':'✓\x20Stored\x20credentials\x20locally','MOtVQ':_0x5c2a50(0x139)};if(!_0x3253be){const _0x18297a=await _0x1fce00['yHKSU'](getToken);if(_0x18297a){const _0x1bd2bf=await _0x1fce00[_0x5c2a50(0x173)](getCurrentUser,_0x18297a);if(_0x1bd2bf[_0x5c2a50(0x13b)])return console[_0x5c2a50(0x15b)](_0x5c2a50(0x163)+_0x1bd2bf[_0x5c2a50(0x147)][_0x5c2a50(0x15d)]),{'token':_0x18297a,'method':_0x5c2a50(0x158)};}try{_0x3253be=await _0x1fce00['XPRrN'](runDeviceAuthFlow);}catch(_0x3790bb){throw new Error('Authentication\x20failed:\x20'+(_0x3790bb instanceof Error?_0x3790bb['message']:_0x3790bb));}const _0x41c356=await getCurrentUser(_0x3253be);if(!_0x41c356[_0x5c2a50(0x13b)])throw new Error(_0x5c2a50(0x16d)+_0x41c356['error']);return console['log'](_0x5c2a50(0x152)+_0x41c356['user'][_0x5c2a50(0x15d)]),{'token':_0x3253be,'method':'device_auth'};}console[_0x5c2a50(0x15b)]('Validating\x20API\x20token...');const _0x117158=await getCurrentUser(_0x3253be);if(!_0x117158[_0x5c2a50(0x13b)]){if(_0x117158[_0x5c2a50(0x140)])throw new Error(_0x5c2a50(0x165)+_0x117158['error']+_0x5c2a50(0x12d));else throw new Error('Failed\x20to\x20connect\x20to\x20MCP\x20server:\x20'+_0x117158[_0x5c2a50(0x12b)]+'.\x20Please\x20check\x20your\x20network\x20connection\x20and\x20server\x20URL.');}return console['log'](_0x5c2a50(0x152)+_0x117158['user']['organizationName']),await storeToken(_0x3253be),console['log'](process[_0x5c2a50(0x17f)]['GITHUB_ENV']?_0x1fce00['EBRfb']:_0x1fce00[_0x5c2a50(0x171)]),{'token':_0x3253be,'method':_0x1fce00[_0x5c2a50(0x153)]};}export async function ensureRangerDir(_0x5c66f8){const _0x3c8a48=_0x5c815d,_0x144504={'xqGde':function(_0x232493,_0x572fc1){return _0x232493(_0x572fc1);},'SsNVQ':_0x3c8a48(0x143),'pZnIV':'✓\x20~/.ranger/\x20directory\x20already\x20exists'};void _0x5c66f8;const _0x55b8c9=getRangerHomeDir();return!_0x144504['xqGde'](existsSync,_0x55b8c9)?(await mkdir(_0x55b8c9,{'recursive':!![]}),console['log'](_0x144504[_0x3c8a48(0x17a)]),{'path':_0x55b8c9,'installed':!![]}):(console[_0x3c8a48(0x15b)](_0x144504[_0x3c8a48(0x16b)]),{'path':_0x55b8c9,'installed':![]});}export async function ensureChromium(_0x2464d2=![]){const _0xe17d50=_0x5c815d,_0x2f78ab={'EEvtp':function(_0x4c35cf,_0x5e0001){return _0x4c35cf(_0x5e0001);},'XsWIj':'install','bxKox':'\x0a❌\x20Failed\x20to\x20install\x20Chromium:','nRkcD':function(_0x1449cd,_0x539b0e){return _0x1449cd instanceof _0x539b0e;}};let _0x20d281=![];try{const _0xa01c04=chromium['executablePath']();_0x20d281=_0x2f78ab['EEvtp'](existsSync,_0xa01c04);}catch{_0x20d281=![];}if(_0x20d281)return console[_0xe17d50(0x15b)](_0xe17d50(0x120)),![];const _0x1644b6=getPlaywrightVersion(),_0x30a2a7=_0x1644b6??PLAYWRIGHT_CHROMIUM_INSTALL_FALLBACK_VERSION,_0x26d4de=!_0x1644b6,_0x102623=process[_0xe17d50(0x178)]['isTTY']&&process[_0xe17d50(0x146)]['isTTY'];let _0x4539f3=!![];if(_0x102623){const {install:_0x1e1cc8}=await _0x507a7e[_0xe17d50(0x155)]([{'type':_0xe17d50(0x141),'name':_0x2f78ab[_0xe17d50(0x129)],'message':_0x26d4de?_0xe17d50(0x188)+_0x30a2a7+'\x20now?':_0xe17d50(0x176)+_0x30a2a7+_0xe17d50(0x17c),'default':!![]}]);_0x4539f3=_0x1e1cc8;}else console['log'](_0xe17d50(0x186)+_0x30a2a7+(_0x26d4de?'\x20(fallback\x20version)':'')+_0xe17d50(0x126));if(_0x4539f3){console['log']('\x0aInstalling\x20Chromium\x20browser...\x0a');try{await installChromiumBinary(_0x30a2a7,_0x2464d2),console['log'](_0xe17d50(0x162));}catch(_0x293193){console['error'](_0x2f78ab[_0xe17d50(0x17b)],_0x2f78ab[_0xe17d50(0x14b)](_0x293193,Error)?_0x293193[_0xe17d50(0x182)]:_0x293193),console[_0xe17d50(0x15b)](_0xe17d50(0x14c)),console[_0xe17d50(0x15b)](_0xe17d50(0x185)+_0x30a2a7+_0xe17d50(0x172));}}else console[_0xe17d50(0x15b)]('\x0a⚠\x20Skipping\x20Chromium\x20installation.'),console[_0xe17d50(0x15b)](_0xe17d50(0x156)),console[_0xe17d50(0x15b)](_0xe17d50(0x185)+_0x30a2a7+'\x20install\x20chromium');return!![];}export async function writeRangerGitignore(_0x3e9cb9){const _0x18a362=_0x5c815d,_0x5ac570={'sURgV':_0x18a362(0x13a)},_0x778407=join(_0x3e9cb9,'.gitignore'),_0x2565a8=_0x18a362(0x16a);await writeFile(_0x778407,_0x2565a8),console['log'](_0x5ac570['sURgV']);}export async function ensureLocalEnv(_0x107166,_0x14b47d){const _0x153d5d=_0x5c815d,_0x32eacf={'ntBQA':function(_0x699f51){return _0x699f51();},'cQkLD':_0x153d5d(0x147),'RYdTi':_0x153d5d(0x137),'ADfjE':'✓\x20Local\x20profile\x20already\x20exists','LPtVe':function(_0x14a3f3,_0x1ef60c,_0x582335,_0x7486f1){return _0x14a3f3(_0x1ef60c,_0x582335,_0x7486f1);},'hqgrR':'\x0a❌\x20Profile\x20setup\x20failed:','vstxf':function(_0x25e2fd,_0x53dbd9){return _0x25e2fd instanceof _0x53dbd9;}};if(!_0x32eacf[_0x153d5d(0x135)](findGitRoot)&&_0x107166?.['scope']!==_0x32eacf[_0x153d5d(0x180)])return console[_0x153d5d(0x15b)](_0x153d5d(0x15e)),{'ready':![],'skipped':!![]};const _0x5c30dc=_0x107166?.[_0x153d5d(0x184)]===_0x32eacf['cQkLD']?getRangerHomeDir():undefined;if(findExistingEnv('local',{'locations':[_0x32eacf[_0x153d5d(0x17d)]],'rangerDir':_0x5c30dc}))return console[_0x153d5d(0x15b)](_0x32eacf['ADfjE']),{'ready':!![],'skipped':![]};try{return await _0x32eacf[_0x153d5d(0x16c)](addEnv,_0x153d5d(0x137),{'url':_0x107166?.[_0x153d5d(0x164)],'force':_0x107166?.['force'],'allowInsecureLocalhost':_0x107166?.['allowInsecureLocalhost'],'scope':_0x107166?.['scope']},_0x14b47d),{'ready':!![],'skipped':![]};}catch(_0xfd2a17){return console['error'](_0x32eacf['hqgrR'],_0x32eacf['vstxf'](_0xfd2a17,Error)?_0xfd2a17['message']:_0xfd2a17),{'ready':![],'skipped':![]};}}export async function start(_0x4a550d,_0x2d000b,_0x490d17){const _0x85c81f=_0x5c815d,_0x56f4eb={'ZEWVt':function(_0x50729e,_0x1d0b53){return _0x50729e!==_0x1d0b53;},'vqJRi':function(_0x590eee,_0x1e7e63){return _0x590eee+_0x1e7e63;},'smLCn':function(_0x2b4421,_0x23af12){return _0x2b4421(_0x23af12);},'fMsgz':function(_0x42df65){return _0x42df65();},'gtfve':'auth','WdVRs':_0x85c81f(0x12a),'qfehf':_0x85c81f(0x14d),'kxJsr':_0x85c81f(0x136),'neFQR':'plugin','SKKgQ':function(_0x2803b5,_0x593785){return _0x2803b5&&_0x593785;},'mikla':_0x85c81f(0x179),'SZHaF':function(_0x458613){return _0x458613();},'ICsct':_0x85c81f(0x151),'JifGp':function(_0x3b7b12,_0x122cb2){return _0x3b7b12(_0x122cb2);},'fjhli':_0x85c81f(0x174),'VgWfs':function(_0x3d2e07,_0x5b84d2,_0x518c46){return _0x3d2e07(_0x5b84d2,_0x518c46);},'wqLbE':_0x85c81f(0x147),'EiSep':function(_0x32c69a,_0x40f9f0){return _0x32c69a+_0x40f9f0;},'ZVunV':function(_0x8f26be,_0x2b508f){return _0x8f26be(_0x2b508f);},'YnTqM':_0x85c81f(0x127),'TRbBM':'\x0aIn\x20OpenCode,\x20enable\x20Ranger\x20hooks\x20(run\x20the\x20`ranger_enable`\x20tool)','gOiBS':'with\x20scenarios\x20describing\x20what\x20to\x20verify\x20and\x20then\x20run\x20browser','xBtmt':function(_0x42873f,_0x517c4a){return _0x42873f+_0x517c4a;}};console[_0x85c81f(0x15b)]('\x0a🚀\x20Ranger\x20Setup\x0a');_0x2d000b?.['scope']!==undefined&&_0x56f4eb['ZEWVt'](_0x2d000b['scope'],'user')&&(console[_0x85c81f(0x12b)](_0x56f4eb['vqJRi'](_0x85c81f(0x12c)+_0x56f4eb[_0x85c81f(0x13e)](String,_0x2d000b['scope'])+'\x20is\x20no\x20longer\x20supported.\x20','Setup\x20always\x20installs\x20at\x20user\x20scope\x20now\x20(cloud\x20profiles\x20make\x20')+_0x85c81f(0x16f)),process['exit'](0x1));_0x2d000b={..._0x2d000b,'scope':'user'};const _0x4379b5=!_0x56f4eb[_0x85c81f(0x13e)](existsSync,_0x56f4eb[_0x85c81f(0x13f)](getRangerHomeDir));await ensureRangerDir(_0x85c81f(0x147));if(_0x2d000b?.[_0x85c81f(0x14e)])console[_0x85c81f(0x15b)]('✓\x20Skipping\x20authentication\x20(--skip-auth)'),_0x490d17?.[_0x85c81f(0x160)](_0x56f4eb['gtfve'],{'isFirstRun':_0x4379b5,'method':_0x56f4eb['WdVRs']});else{_0x490d17?.[_0x85c81f(0x181)](_0x56f4eb[_0x85c81f(0x14f)]);const _0x51ca30=await authenticate(_0x4a550d);_0x490d17?.['trackPhaseEnd']('auth',{'isFirstRun':_0x4379b5,'method':_0x51ca30[_0x85c81f(0x13c)]});}_0x490d17?.[_0x85c81f(0x181)](_0x56f4eb[_0x85c81f(0x12e)]);_0x2d000b?.[_0x85c81f(0x177)]?console['log'](_0x56f4eb['kxJsr']):await ensureChromium(_0x2d000b?.[_0x85c81f(0x168)]);_0x490d17?.['trackPhaseEnd'](_0x56f4eb['qfehf'],{'isFirstRun':_0x4379b5,'skipped':!!_0x2d000b?.['skipChromium']}),console[_0x85c81f(0x15b)](_0x85c81f(0x16e));const _0x5e0bf0=_0x2d000b?.[_0x85c81f(0x184)],_0x2119d1=_0x2d000b?.[_0x85c81f(0x151)]??![];let _0x26df8b=null;_0x2119d1?(_0x490d17?.['trackPhaseStart'](_0x56f4eb[_0x85c81f(0x175)]),_0x26df8b=await _0x56f4eb[_0x85c81f(0x13e)](ensureOpencodePluginConfig,_0x5e0bf0),_0x490d17?.['trackPhaseEnd'](_0x56f4eb['neFQR'],{'isFirstRun':_0x4379b5,'opencode':!![]})):(_0x490d17?.[_0x85c81f(0x181)]('plugin'),await ensureClaudePlugin(_0x5e0bf0),_0x490d17?.['trackPhaseEnd']('plugin',{'isFirstRun':_0x4379b5}));if(_0x56f4eb[_0x85c81f(0x187)](_0x2119d1,_0x26df8b)){_0x490d17?.['trackPhaseStart'](_0x56f4eb['mikla']);try{await installSkill(_0x85c81f(0x17e),{'level':_0x26df8b[_0x85c81f(0x184)],'cliVersion':_0x56f4eb[_0x85c81f(0x189)](getCurrentVersion),'platform':_0x56f4eb['ICsct']}),_0x490d17?.['trackPhaseEnd'](_0x56f4eb['mikla'],{'isFirstRun':_0x4379b5,'opencode':!![]});}catch(_0x69e5e2){console[_0x85c81f(0x161)](_0x85c81f(0x148),_0x69e5e2 instanceof Error?_0x69e5e2[_0x85c81f(0x182)]:_0x69e5e2),_0x490d17?.['trackPhaseEnd'](_0x85c81f(0x179),{'isFirstRun':_0x4379b5,'opencode':!![],'failed':!![]});}}else _0x490d17?.[_0x85c81f(0x181)]('skills'),await _0x56f4eb['JifGp'](ensureClaudeSkills,_0x5e0bf0),_0x490d17?.['trackPhaseEnd']('skills',{'isFirstRun':_0x4379b5});if(_0x2d000b?.['skipAuth'])console[_0x85c81f(0x15b)](_0x85c81f(0x15a));else{if(_0x2d000b?.[_0x85c81f(0x164)]){_0x490d17?.[_0x85c81f(0x181)](_0x56f4eb['fjhli']);const _0x179dbc=await _0x56f4eb[_0x85c81f(0x169)](ensureLocalEnv,{'url':_0x2d000b['url'],'force':_0x2d000b?.['force'],'allowInsecureLocalhost':_0x2d000b?.[_0x85c81f(0x145)],'scope':_0x56f4eb[_0x85c81f(0x123)]},_0x490d17);_0x490d17?.[_0x85c81f(0x160)](_0x85c81f(0x174),{'isFirstRun':_0x4379b5,'profileReady':_0x179dbc['ready'],'userSkipped':_0x179dbc[_0x85c81f(0x12a)]});}else console['log'](_0x56f4eb['vqJRi'](_0x56f4eb[_0x85c81f(0x133)]('\x0aTo\x20set\x20up\x20a\x20profile\x20for\x20your\x20app,\x20run:'+('\x0a\x20\x20'+_0x56f4eb[_0x85c81f(0x121)](bold,_0x56f4eb['YnTqM'])),_0x85c81f(0x131))+'\x0a\x0aFor\x20CI\x20/\x20background\x20agents\x20and\x20other\x20setup\x20options,\x20see:','\x0a\x20\x20https://docs.ranger.net/main/concepts/profiles'));}if(_0x2119d1)console[_0x85c81f(0x15b)](_0x56f4eb[_0x85c81f(0x157)]),console['log']('and\x20prompt\x20the\x20agent\x20like\x20usual.\x20Ranger\x20will\x20create\x20a\x20feature\x20review'),console['log'](_0x56f4eb['gOiBS']),console[_0x85c81f(0x15b)]('verification\x20to\x20check\x20its\x20work\x20as\x20it\x20builds.');else{const _0x25f150=_0x56f4eb['ZVunV'](bold,'/ranger:enable');console[_0x85c81f(0x15b)](_0x56f4eb[_0x85c81f(0x122)](_0x56f4eb[_0x85c81f(0x132)]('\x0aIn\x20Claude\x20Code,\x20run\x20'+_0x25f150+'\x20and\x20prompt\x20the\x20coding','\x0aagent\x20like\x20usual.\x20Claude\x20will\x20create\x20a\x20feature\x20review\x20with'),_0x85c81f(0x15f))+'\x0averification\x20to\x20check\x20its\x20work\x20as\x20it\x20builds.');}}
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 +1 @@
1
- const _0x387bd9=_0x4f62;(function(_0x249072,_0x5fb1a8){const _0x3558c0=_0x4f62,_0x248b7f=_0x249072();while(!![]){try{const _0x457d10=parseInt(_0x3558c0(0x12b))/0x1*(parseInt(_0x3558c0(0x15d))/0x2)+-parseInt(_0x3558c0(0x127))/0x3+parseInt(_0x3558c0(0xfd))/0x4*(-parseInt(_0x3558c0(0x13c))/0x5)+-parseInt(_0x3558c0(0x112))/0x6*(parseInt(_0x3558c0(0x10d))/0x7)+parseInt(_0x3558c0(0x102))/0x8*(parseInt(_0x3558c0(0x105))/0x9)+-parseInt(_0x3558c0(0x12a))/0xa+parseInt(_0x3558c0(0x14f))/0xb;if(_0x457d10===_0x5fb1a8)break;else _0x248b7f['push'](_0x248b7f['shift']());}catch(_0x3f7f49){_0x248b7f['push'](_0x248b7f['shift']());}}}(_0x89cc,0x34b5a));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{getPluginInfo}from'./utils/claudePlugin.js';import{RANGER_MANAGED_SKILLS}from'./utils/skills.js';function _0x4f62(_0xf34354,_0x268e47){_0xf34354=_0xf34354-0xf7;const _0x89cc0=_0x89cc();let _0x4f622f=_0x89cc0[_0xf34354];return _0x4f622f;}import{spawn}from'child_process';function _0x89cc(){const _0x3624cc=['1087242uRGPhb','mpMYx','scope','2447540SEUnWP','1184KyecjG','\x20plugin(s)\x20configured','cwd','BTXCT','none','sznOS','fDiph','\x1b[0m','Version:\x20','SmYDX','isArray','hasEncryptedAuth','auth.json','length','all','not_configured','tXCXl','5myYeRp','ignore','details','\x1b[1m','push','xICDg','log','ranger@trailhead','displayName','ANweg','iaqTz','jOuoE','opencode-plugin','isActive','aHYlQ','KGrCO','disabled','stdout','version','6359859eJlJAQ','NMmgZ','opencode','env','includes','JjnCt','hasPlaintextAuth','@ranger-testing/opencode-plugin','(not\x20found)','\x1b]8;;\x07','encrypted','zoroi','enabled','eVYsM','292RVqJXw','string','coJVW','isDirectory','\x20\x20Run:\x20ranger\x20setup\x20[token]\x0a','\x20\x20Run:\x20ranger\x20update','AJxAT','KyGza','plugin','filter','119772vdvZeV','Organization:\x20','LcCSn','stderr','TeVkX','312160tvYhZp','pipe','join','45BOlkhX','settings.json','\x20\x20Run:\x20ranger\x20profile\x20use\x20<profile-name>\x20\x20(available:\x20','lFYeD','\x0a---\x20Skills\x20---','name','eWQfJ','trim','14qDzRPW','IcSwa','parse','\x20(latest:\x20','TjaGo','279372plfUqM','settingsPath','VBqJU','gMcai','some','configured','\x20\x20Run:\x20ranger\x20setup\x20[token]','toString','map','KYrGq','Root:\x20','\x0a\x20\x20No\x20active\x20profile\x20set','\x20\x20Run:\x20ranger\x20setup\x20[token]\x20\x20(includes\x20plugin\x20installation)','\x20\x20User-level:','MHMOu','\x20\x20OpenCode\x20not\x20installed\x20or\x20not\x20available','MblLT','\x20\x20Run:\x20ranger\x20setup\x20--opencode','rhjsJ','status','path'];_0x89cc=function(){return _0x3624cc;};return _0x89cc();}const bold=_0x395132=>_0x387bd9(0x13f)+_0x395132+_0x387bd9(0x132),link=(_0x5671e0,_0x21f53b)=>'\x1b]8;;file://'+_0x5671e0+'\x07'+(_0x21f53b||_0x5671e0)+_0x387bd9(0x158);async function getOpencodePluginStatus(){const _0x2770cf=_0x387bd9,_0x2a8287={'SmYDX':_0x2770cf(0x148),'VmidK':'not_installed','XUTZv':function(_0x4e581b,_0x2a063f){return _0x4e581b(_0x2a063f);},'EZfBY':_0x2770cf(0x151),'eVYsM':'debug','evZXF':'config','IzmSL':_0x2770cf(0x13d),'iaqTz':'close'};return new Promise(_0x28e666=>{const _0x52e150=_0x2770cf,_0x474d0b={'IcSwa':function(_0x5ce7f4,_0x47505b){return _0x5ce7f4!==_0x47505b;},'rhjsJ':_0x2a8287[_0x52e150(0x134)],'Tlheo':_0x2a8287['VmidK'],'KYrGq':function(_0x24b6df,_0x501005){return _0x2a8287['XUTZv'](_0x24b6df,_0x501005);},'aPhcf':'configured','eWQfJ':function(_0x27eab7,_0x2de142){return _0x27eab7>_0x2de142;},'ofAfw':_0x52e150(0x13a)},_0x1c9cda=spawn(_0x2a8287['EZfBY'],[_0x2a8287[_0x52e150(0x15c)],_0x2a8287['evZXF']],{'stdio':[_0x2a8287['IzmSL'],'pipe',_0x52e150(0x103)]});let _0xd1a7cb='';_0x1c9cda[_0x52e150(0x14d)]?.['on']('data',_0x309ca9=>{const _0x344d74=_0x52e150;_0xd1a7cb+=_0x309ca9[_0x344d74(0x119)]();}),_0x1c9cda[_0x52e150(0x100)]?.['on']('data',_0x480d06=>{const _0x2746e4=_0x52e150;_0xd1a7cb+=_0x480d06[_0x2746e4(0x119)]();}),_0x1c9cda['on']('error',()=>{_0x28e666({'status':'not_installed'});}),_0x1c9cda['on'](_0x2a8287[_0x52e150(0x146)],_0x431311=>{const _0x558a83=_0x52e150,_0x8de87b={'aHYlQ':function(_0x1636d7,_0x5e2e2d){return _0x474d0b['IcSwa'](_0x1636d7,_0x5e2e2d);},'zoroi':_0x558a83(0x15e),'fDiph':_0x474d0b[_0x558a83(0x124)]};if(_0x474d0b[_0x558a83(0x10e)](_0x431311,0x0)){_0x28e666({'status':_0x474d0b['Tlheo']});return;}const _0x2c1974=_0xd1a7cb[_0x558a83(0x10c)]();let _0x575312=null;if(_0x2c1974)try{_0x575312=JSON[_0x558a83(0x10f)](_0x2c1974);}catch{const _0x3f66d7=_0x2c1974['match'](/\{[\s\S]*\}$/);if(_0x3f66d7)try{_0x575312=JSON[_0x558a83(0x10f)](_0x3f66d7[0x0]);}catch{_0x575312=null;}}const _0x33a77d=Array[_0x558a83(0x135)](_0x575312?.[_0x558a83(0xfb)])?_0x575312?.[_0x558a83(0xfb)]:[],_0x1db986=_0x33a77d[_0x558a83(0x116)](_0x4c9fec=>{const _0x69b02c=_0x558a83;if(_0x8de87b[_0x69b02c(0x14a)](typeof _0x4c9fec,_0x8de87b[_0x69b02c(0x15a)]))return![];return _0x4c9fec['includes'](_0x69b02c(0x156))||_0x4c9fec['includes'](_0x8de87b[_0x69b02c(0x131)]);});if(_0x1db986){_0x474d0b[_0x558a83(0x11b)](_0x28e666,{'status':_0x474d0b['aPhcf'],'details':_0x33a77d['length']>0x0?_0x33a77d['length']+_0x558a83(0x12c):undefined});return;}if(_0x474d0b[_0x558a83(0x10b)](_0x33a77d['length'],0x0)){_0x474d0b['KYrGq'](_0x28e666,{'status':_0x474d0b['ofAfw'],'details':_0x33a77d['length']+_0x558a83(0x12c)});return;}_0x28e666({'status':'not_configured'});});});}async function getSkillsFromDir(_0x432ca4,_0x10f48b){const _0x39a2d2=_0x387bd9,_0xfba391={'JldsP':function(_0x3d1ebe,_0x50ec5f,_0x43d2ae,_0x532c90){return _0x3d1ebe(_0x50ec5f,_0x43d2ae,_0x532c90);},'JpHen':'SKILL.md','FgRsx':function(_0x4ead1e,_0x10984e){return _0x4ead1e(_0x10984e);},'jOuoE':function(_0x2e558e,_0x3fffb0,_0x1822b8){return _0x2e558e(_0x3fffb0,_0x1822b8);},'veolc':'utf-8'};if(!existsSync(_0x432ca4))return[];const _0x307080=[];try{const _0x2af523=await readdir(_0x432ca4,{'withFileTypes':!![]});for(const _0x381108 of _0x2af523){if(_0x381108[_0x39a2d2(0x160)]()){const _0x5c3f79=_0xfba391['JldsP'](join,_0x432ca4,_0x381108[_0x39a2d2(0x10a)],_0xfba391['JpHen']);if(_0xfba391['FgRsx'](existsSync,_0x5c3f79)){let _0x2a01db=_0x381108[_0x39a2d2(0x10a)];try{const _0x45d065=await _0xfba391[_0x39a2d2(0x147)](readFile,_0x5c3f79,_0xfba391['veolc']),_0x94f6a4=_0x45d065['match'](/name:\s*(.+)/);_0x94f6a4&&(_0x2a01db=_0x94f6a4[0x1]['trim']());}catch{}_0x307080[_0x39a2d2(0x140)]({'name':_0x381108[_0x39a2d2(0x10a)],'displayName':_0x2a01db,'path':_0x5c3f79,'level':_0x10f48b});}}}}catch{return[];}return _0x307080;}async function getInstalledSkills(){const _0xb035bb=_0x387bd9,_0x123427={'mpMYx':function(_0x4c3341){return _0x4c3341();},'KYHcX':function(_0x18f9c7,_0x5e82d3,_0x4e3ccb){return _0x18f9c7(_0x5e82d3,_0x4e3ccb);}},[_0x1ed950,_0x195e84]=await Promise[_0xb035bb(0x139)]([getSkillsFromDir(_0x123427[_0xb035bb(0x128)](getProjectSkillsDir),'project'),_0x123427['KYHcX'](getSkillsFromDir,_0x123427[_0xb035bb(0x128)](getUserSkillsDir),'user')]);return{'project':_0x1ed950,'user':_0x195e84};}async function getEnvironments(){const _0x2f613d=_0x387bd9,_0x5cf32f={'HDKkD':function(_0x491ba8,_0x59323e,_0x147605){return _0x491ba8(_0x59323e,_0x147605);},'KGrCO':_0x2f613d(0x106),'xICDg':function(_0x2dc347,_0x18726f,_0x57583f){return _0x2dc347(_0x18726f,_0x57583f);},'brogS':_0x2f613d(0x137),'AJxAT':function(_0x5bed85,_0x10b0fd){return _0x5bed85(_0x10b0fd);},'UKIYO':_0x2f613d(0x157),'VDnWW':function(_0x3dea56,_0xece807){return _0x3dea56(_0xece807);}},{envNames:_0x2cd8c9,activeEnv:_0xc0428d}=await getEnvNames(),_0x40a700=getRangerDir();if(!_0x5cf32f[_0x2f613d(0xf9)](existsSync,_0x40a700))return{'envs':[],'activeEnv':null};const _0x24942c=_0x2cd8c9[_0x2f613d(0x11a)](_0x4be668=>{const _0x4c12d0=_0x2f613d,_0x53347a=getEnvDir(_0x4be668),_0x54e211=_0x5cf32f['HDKkD'](join,_0x53347a,_0x5cf32f[_0x4c12d0(0x14b)]),_0x551d06=_0x5cf32f[_0x4c12d0(0x141)](join,_0x53347a,_0x5cf32f['brogS']),_0x123dff=_0x5cf32f[_0x4c12d0(0x141)](join,_0x53347a,'auth.json.enc');return{'name':_0x4be668,'settingsPath':_0x5cf32f['AJxAT'](existsSync,_0x54e211)?_0x54e211:_0x5cf32f['UKIYO'],'hasPlaintextAuth':_0x5cf32f['VDnWW'](existsSync,_0x551d06),'hasEncryptedAuth':_0x5cf32f[_0x4c12d0(0xf9)](existsSync,_0x123dff),'isActive':_0x4be668===_0xc0428d};});return{'envs':_0x24942c,'activeEnv':_0xc0428d};}export async function status(){const _0x3c05b5=_0x387bd9,_0x49125a={'DkfSw':'\x0a📊\x20Ranger\x20Status\x0a','BTXCT':function(_0x5cfd6f,_0x1337ea){return _0x5cfd6f(_0x1337ea);},'coJVW':function(_0x4ebc5f,_0x4d121d,_0x92d2d5){return _0x4ebc5f(_0x4d121d,_0x92d2d5);},'lFYeD':function(_0x1aee5e){return _0x1aee5e();},'MHMOu':function(_0x24e0cc,_0x2fb9a5){return _0x24e0cc(_0x2fb9a5);},'wItzK':function(_0x2502f8){return _0x2502f8();},'WuGnb':_0x3c05b5(0x13a),'WFGiZ':'\x20\x20Not\x20configured','haiPW':_0x3c05b5(0x121),'zVIYi':'\x0a---\x20Claude\x20Code\x20Plugin\x20---','TeVkX':_0x3c05b5(0x143),'KyGza':'unknown','LcCSn':function(_0x5250cd,_0x8cf14d){return _0x5250cd(_0x8cf14d);},'ANweg':'\x20\x20Not\x20installed','TjaGo':_0x3c05b5(0x11e),'NMmgZ':function(_0x3d4a92){return _0x3d4a92();},'tXCXl':function(_0x39d902,_0x24325b){return _0x39d902===_0x24325b;},'VBqJU':'No\x20skills\x20installed','oJLPu':function(_0x575b60,_0x445a52){return _0x575b60>_0x445a52;},'iEXZm':'\x20\x20Project-level:','Npsaa':function(_0x330baa,_0x3390be){return _0x330baa>_0x3390be;},'gMcai':_0x3c05b5(0x11f),'JjnCt':'\x20(active)','sznOS':'plaintext','EBgTA':_0x3c05b5(0x12f),'MblLT':function(_0x53983c,_0x3c7645){return _0x53983c(_0x3c7645);},'SYCEK':function(_0x48f7da,_0x3ee392,_0x344526){return _0x48f7da(_0x3ee392,_0x344526);}};console[_0x3c05b5(0x142)](_0x49125a['DkfSw']);const _0x39a2f4=process[_0x3c05b5(0x12d)](),_0x24e62f=getRangerDir();if(!_0x49125a[_0x3c05b5(0x12e)](existsSync,_0x24e62f)){console['log'](_0x3c05b5(0x11c)+_0x49125a[_0x3c05b5(0x15f)](link,_0x39a2f4,bold(basename(_0x39a2f4)))),console[_0x3c05b5(0x142)]('\x0aRanger\x20has\x20not\x20been\x20initialized\x20in\x20this\x20directory.'),console[_0x3c05b5(0x142)](_0x3c05b5(0xf7));return;}console['log'](_0x3c05b5(0x11c)+link(_0x39a2f4,bold(basename(_0x39a2f4))));const _0x206c2c=getCurrentVersion(),_0x442bb7=getLatestVersion();if(_0x442bb7[_0x3c05b5(0x14e)]&&_0x442bb7[_0x3c05b5(0x14e)]!==_0x206c2c)console[_0x3c05b5(0x142)](_0x3c05b5(0x133)+_0x206c2c+_0x3c05b5(0x110)+_0x442bb7['version']+')'),console['log'](_0x3c05b5(0xf8));else _0x442bb7[_0x3c05b5(0x14e)]?console['log']('Version:\x20'+_0x206c2c+'\x20(up\x20to\x20date)'):console[_0x3c05b5(0x142)](_0x3c05b5(0x133)+_0x206c2c);const _0x4157e7=await _0x49125a[_0x3c05b5(0x108)](getToken);if(_0x4157e7){const _0x57fa3f=await _0x49125a[_0x3c05b5(0x120)](getCurrentUser,_0x4157e7);_0x57fa3f['success']?console['log'](_0x3c05b5(0xfe)+bold(_0x57fa3f['user']['organizationName'])):(console['log']('API\x20Token:\x20✓\x20Found\x20but\x20invalid\x20or\x20expired'),console['log'](_0x3c05b5(0x118)));}else console['log']('API\x20Token:\x20✗\x20Not\x20found'),console[_0x3c05b5(0x142)]('\x20\x20Run:\x20ranger\x20setup\x20[token]');process[_0x3c05b5(0x152)]['DEBUG']&&(console[_0x3c05b5(0x142)]('API\x20Environment:\x20'+_0x49125a[_0x3c05b5(0x108)](getCurrentEnvironment)),console[_0x3c05b5(0x142)]('API\x20URL:\x20'+getApiBaseUrl()));console['log']('\x0a---\x20OpenCode\x20Plugin\x20---');const _0x5dd494=await _0x49125a['wItzK'](getOpencodePluginStatus);if(_0x5dd494['status']===_0x3c05b5(0x117))console['log']('\x20\x20'+bold('@ranger-testing/opencode-plugin')+':\x20configured'),_0x5dd494[_0x3c05b5(0x13e)]&&console[_0x3c05b5(0x142)]('\x20\x20'+_0x5dd494[_0x3c05b5(0x13e)]);else _0x5dd494[_0x3c05b5(0x125)]===_0x49125a['WuGnb']?(console[_0x3c05b5(0x142)](_0x49125a['WFGiZ']),_0x5dd494['details']&&console['log']('\x20\x20'+_0x5dd494['details']),console[_0x3c05b5(0x142)](_0x3c05b5(0x123))):console['log'](_0x49125a['haiPW']);console[_0x3c05b5(0x142)](_0x49125a['zVIYi']);const _0x326dbf=await _0x49125a['MHMOu'](getPluginInfo,_0x49125a['TeVkX']);if(_0x326dbf){const _0x31af04=_0x326dbf[_0x3c05b5(0x129)]||_0x49125a[_0x3c05b5(0xfa)],_0x2d2fb1=_0x326dbf['enabled']?_0x3c05b5(0x15b):_0x3c05b5(0x14c);console[_0x3c05b5(0x142)]('\x20\x20'+_0x49125a[_0x3c05b5(0xff)](bold,_0x49125a[_0x3c05b5(0x101)])+':\x20installed\x20('+_0x31af04+',\x20'+_0x2d2fb1+')');}else console['log'](_0x49125a[_0x3c05b5(0x145)]),console['log'](_0x49125a[_0x3c05b5(0x111)]);console['log'](_0x3c05b5(0x109));const {project:_0x421e04,user:_0x1e5415}=await _0x49125a['NMmgZ'](getInstalledSkills),_0x50db30=_0x421e04['filter'](_0x1273c4=>RANGER_MANAGED_SKILLS[_0x3c05b5(0x153)](_0x1273c4['name'])),_0x123df8=_0x1e5415[_0x3c05b5(0xfc)](_0x52563e=>RANGER_MANAGED_SKILLS['includes'](_0x52563e[_0x3c05b5(0x10a)])),_0x1f0a33=_0x50db30[_0x3c05b5(0x138)]+_0x123df8['length'];if(_0x49125a[_0x3c05b5(0x13b)](_0x1f0a33,0x0))console['log'](_0x49125a[_0x3c05b5(0x114)]),console[_0x3c05b5(0x142)]('\x20\x20Run:\x20ranger\x20skillup');else{if(_0x49125a['oJLPu'](_0x50db30[_0x3c05b5(0x138)],0x0)){console['log'](_0x49125a['iEXZm']);for(const _0x477289 of _0x50db30){console[_0x3c05b5(0x142)]('\x20\x20\x20\x20'+_0x49125a['BTXCT'](bold,_0x477289[_0x3c05b5(0x144)])+':\x20'+link(_0x477289[_0x3c05b5(0x126)],basename(_0x477289['path'])));}}if(_0x49125a['Npsaa'](_0x123df8[_0x3c05b5(0x138)],0x0)){console['log'](_0x49125a[_0x3c05b5(0x115)]);for(const _0x41f112 of _0x123df8){console['log']('\x20\x20\x20\x20'+bold(_0x41f112['displayName'])+':\x20'+link(_0x41f112[_0x3c05b5(0x126)],basename(_0x41f112['path'])));}}}console['log']('\x0a---\x20Profiles\x20---');const {envs:_0x423be6,activeEnv:_0x376478}=await _0x49125a[_0x3c05b5(0x150)](getEnvironments);if(_0x49125a[_0x3c05b5(0x13b)](_0x423be6['length'],0x0))console['log']('No\x20profiles\x20configured'),console[_0x3c05b5(0x142)]('\x20\x20Run:\x20ranger\x20profile\x20add\x20<profile-name>');else{for(const _0x31ae9c of _0x423be6){const _0x354ce1=_0x31ae9c[_0x3c05b5(0x149)]?_0x49125a[_0x3c05b5(0x154)]:'',_0x42dd09=_0x31ae9c[_0x3c05b5(0x136)]?_0x3c05b5(0x159):_0x31ae9c[_0x3c05b5(0x155)]?_0x49125a[_0x3c05b5(0x130)]:_0x49125a['EBgTA'];console['log']('\x20\x20'+_0x49125a[_0x3c05b5(0x122)](bold,_0x31ae9c[_0x3c05b5(0x10a)])+_0x354ce1),console['log']('\x20\x20\x20\x20Auth:\x20'+_0x42dd09),_0x31ae9c['settingsPath']!=='(not\x20found)'&&console['log']('\x20\x20\x20\x20Settings:\x20'+_0x49125a['SYCEK'](link,_0x31ae9c['settingsPath'],basename(_0x31ae9c[_0x3c05b5(0x113)])));}!_0x376478&&(console['log'](_0x3c05b5(0x11d)),console[_0x3c05b5(0x142)](_0x3c05b5(0x107)+_0x423be6[_0x3c05b5(0x11a)](_0x29c561=>_0x29c561[_0x3c05b5(0x10a)])[_0x3c05b5(0x104)](',\x20')+')'));}console[_0x3c05b5(0x142)]('');}
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)]('');}