@ranger-testing/ranger-cli 3.1.4-alpha.ffeeafe-46 → 3.1.5-alpha.0c090c6-50

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 (86) hide show
  1. package/build/cli.js +1 -1
  2. package/build/commands/addEnv.js +1 -1
  3. package/build/commands/authEncrypt.js +1 -1
  4. package/build/commands/clean.js +1 -1
  5. package/build/commands/config.js +1 -1
  6. package/build/commands/deleteProfile.js +1 -1
  7. package/build/commands/env.js +1 -1
  8. package/build/commands/feature.js +1 -1
  9. package/build/commands/hook.js +1 -1
  10. package/build/commands/hooks/autoPrompt.js +1 -1
  11. package/build/commands/hooks/disable.js +1 -1
  12. package/build/commands/hooks/enable.js +1 -1
  13. package/build/commands/hooks/exitPlanMode.js +1 -1
  14. package/build/commands/hooks/index.js +1 -1
  15. package/build/commands/hooks/output.js +1 -1
  16. package/build/commands/hooks/planReminder.js +1 -1
  17. package/build/commands/hooks/planStart.js +1 -1
  18. package/build/commands/hooks/postEdit.js +1 -1
  19. package/build/commands/hooks/preCompact.js +1 -1
  20. package/build/commands/hooks/sessionEnd.js +1 -1
  21. package/build/commands/hooks/sessionStart.js +1 -1
  22. package/build/commands/hooks/stopHook.js +1 -1
  23. package/build/commands/index.js +1 -1
  24. package/build/commands/login.js +1 -1
  25. package/build/commands/mcpBootstrap.js +1 -1
  26. package/build/commands/migrateProfile.js +1 -1
  27. package/build/commands/setup/claude.js +1 -1
  28. package/build/commands/setup/opencode.js +1 -1
  29. package/build/commands/setupCi.js +1 -1
  30. package/build/commands/skillup.js +1 -1
  31. package/build/commands/start.js +1 -1
  32. package/build/commands/status.js +1 -1
  33. package/build/commands/update.js +1 -1
  34. package/build/commands/updateEnv.js +1 -1
  35. package/build/commands/useEnv.js +1 -1
  36. package/build/commands/utils/activeProfile.js +1 -1
  37. package/build/commands/utils/agentEnv.js +1 -1
  38. package/build/commands/utils/browserSessionsApi.js +1 -1
  39. package/build/commands/utils/claudeConfig.js +1 -1
  40. package/build/commands/utils/claudeOverrideSettings.js +1 -1
  41. package/build/commands/utils/claudePlugin.js +1 -1
  42. package/build/commands/utils/cloudProfile.js +1 -1
  43. package/build/commands/utils/cloudProfileSession.js +1 -1
  44. package/build/commands/utils/crypto.js +1 -1
  45. package/build/commands/utils/desirePathLog.js +1 -1
  46. package/build/commands/utils/deviceAuth.js +1 -1
  47. package/build/commands/utils/environment.js +1 -1
  48. package/build/commands/utils/featureApi.js +1 -1
  49. package/build/commands/utils/fixWebmDuration.js +1 -1
  50. package/build/commands/utils/gitTracked.js +1 -1
  51. package/build/commands/utils/keychain.js +1 -1
  52. package/build/commands/utils/legacyWarning.js +1 -1
  53. package/build/commands/utils/localAgentInstallationsApi.js +1 -1
  54. package/build/commands/utils/matchAuthEnvironment.js +1 -1
  55. package/build/commands/utils/mcpImageBase64.js +1 -1
  56. package/build/commands/utils/model.js +1 -1
  57. package/build/commands/utils/novaActCli.js +1 -1
  58. package/build/commands/utils/opencodeConfig.js +1 -1
  59. package/build/commands/utils/organizationEnvApi.js +1 -1
  60. package/build/commands/utils/playwrightCli.js +1 -1
  61. package/build/commands/utils/profileMessages.js +1 -1
  62. package/build/commands/utils/profileSetupBanner.js +1 -1
  63. package/build/commands/utils/projectsConfig.js +1 -1
  64. package/build/commands/utils/rangerConfig.js +1 -1
  65. package/build/commands/utils/rangerRoot.js +1 -1
  66. package/build/commands/utils/rangerwrightCli.js +1 -1
  67. package/build/commands/utils/resolveProfileContext.js +1 -1
  68. package/build/commands/utils/resolveProfileUrl.js +1 -1
  69. package/build/commands/utils/retry.js +1 -1
  70. package/build/commands/utils/scenarioOriginCheck.js +1 -1
  71. package/build/commands/utils/sessionCache.js +1 -1
  72. package/build/commands/utils/settings.js +1 -1
  73. package/build/commands/utils/skillContent.js +1 -1
  74. package/build/commands/utils/skills.js +1 -1
  75. package/build/commands/utils/stitchWebmFiles.js +1 -1
  76. package/build/commands/utils/telemetry.js +1 -1
  77. package/build/commands/utils/tokenRefresh.js +1 -1
  78. package/build/commands/utils/traceSnapshotMapper.js +1 -1
  79. package/build/commands/utils/tunnelClient.js +1 -1
  80. package/build/commands/utils/userApi.js +1 -1
  81. package/build/commands/utils/version.js +1 -1
  82. package/build/commands/verifyFeature.js +1 -1
  83. package/build/commands/verifyFeatureCli.js +1 -1
  84. package/build/commands/verifyFeatureNovaCli.js +1 -1
  85. package/build/commands/verifyFeatureRangerwrightCli.js +1 -1
  86. package/package.json +6 -3
@@ -1 +1 @@
1
- (function(_0x1b3b89,_0x57fd4b){const _0x2872a1=_0x3cca,_0x583344=_0x1b3b89();while(!![]){try{const _0x41c3a7=parseInt(_0x2872a1(0x187))/0x1+parseInt(_0x2872a1(0x178))/0x2+parseInt(_0x2872a1(0x175))/0x3*(parseInt(_0x2872a1(0x181))/0x4)+-parseInt(_0x2872a1(0x17c))/0x5*(parseInt(_0x2872a1(0x17b))/0x6)+-parseInt(_0x2872a1(0x186))/0x7+-parseInt(_0x2872a1(0x176))/0x8*(parseInt(_0x2872a1(0x182))/0x9)+parseInt(_0x2872a1(0x179))/0xa;if(_0x41c3a7===_0x57fd4b)break;else _0x583344['push'](_0x583344['shift']());}catch(_0x585ec3){_0x583344['push'](_0x583344['shift']());}}}(_0x34db,0x26c8b));import{runDeviceAuthFlow}from'./utils/deviceAuth.js';import{getCurrentUser}from'./utils/userApi.js';function _0x3cca(_0x383527,_0x41a4a0){_0x383527=_0x383527-0x175;const _0x34db4b=_0x34db();let _0x3cca21=_0x34db4b[_0x383527];return _0x3cca21;}import{getMcpAuthOrigin,mcpBootstrap}from'./mcpBootstrap.js';import{isInteractive}from'./utils/cloudProfileSession.js';function _0x34db(){const _0x2c0666=['601604ORCPYs','3265820qHiTPl','Re-authenticating\x20via\x20MCP\x20bootstrap...','1887258nneBBx','5fzsykB','Znsnr','success','message','log','4bkLPxz','297QrpgYd','\x0a✅\x20API\x20key\x20stored\x20successfully','user','ZNSDm','782684UNPngk','174050YJpgzb','226203oczWZO','70696DIQHdM','Login\x20failed:\x20'];_0x34db=function(){return _0x2c0666;};return _0x34db();}export async function login(){const _0x3765e3=_0x3cca,_0x195e72={'Znsnr':_0x3765e3(0x17a),'ZNSDm':function(_0x42e2cc,_0x2ad8ed){return _0x42e2cc(_0x2ad8ed);},'LjLiO':function(_0x21dda9,_0x4479e5){return _0x21dda9 instanceof _0x4479e5;}},_0x10793e=await getMcpAuthOrigin();if(_0x10793e){console['log'](_0x195e72[_0x3765e3(0x17d)]),await mcpBootstrap();return;}if(!isInteractive())throw new Error('Login\x20requires\x20an\x20interactive\x20terminal.\x20In\x20CI,\x20use:\x20ranger\x20setup\x20[token]\x20or\x20set\x20RANGER_CLI_TOKEN.');try{const _0x33d3b6=await runDeviceAuthFlow(),_0x312e16=await _0x195e72[_0x3765e3(0x185)](getCurrentUser,_0x33d3b6);_0x312e16[_0x3765e3(0x17e)]?console['log']('\x0a✅\x20Logged\x20in\x20to\x20'+_0x312e16[_0x3765e3(0x184)]['organizationName']):console[_0x3765e3(0x180)](_0x3765e3(0x183));}catch(_0x5a8037){throw new Error(_0x3765e3(0x177)+(_0x195e72['LjLiO'](_0x5a8037,Error)?_0x5a8037[_0x3765e3(0x17f)]:_0x5a8037));}}
1
+ (function(_0x50ebf6,_0x544bf1){const _0x8027a1=_0x269c,_0x418845=_0x50ebf6();while(!![]){try{const _0x5142be=-parseInt(_0x8027a1(0xb2))/0x1*(-parseInt(_0x8027a1(0xaa))/0x2)+-parseInt(_0x8027a1(0xaf))/0x3+parseInt(_0x8027a1(0xb1))/0x4+parseInt(_0x8027a1(0xb8))/0x5*(-parseInt(_0x8027a1(0xae))/0x6)+parseInt(_0x8027a1(0xb0))/0x7+-parseInt(_0x8027a1(0xb4))/0x8*(-parseInt(_0x8027a1(0xb5))/0x9)+-parseInt(_0x8027a1(0xb3))/0xa;if(_0x5142be===_0x544bf1)break;else _0x418845['push'](_0x418845['shift']());}catch(_0x2802eb){_0x418845['push'](_0x418845['shift']());}}}(_0x3794,0xd2321));import{runDeviceAuthFlow}from'./utils/deviceAuth.js';import{getCurrentUser}from'./utils/userApi.js';function _0x3794(){const _0xf8939=['57318oalkrH','1268974hiqnTu','6606296ncTdME','23foCBhl','5606980ddXZYT','1158608EDKYQU','9YVrZfe','log','lpnmo','195785gRmPCi','organizationName','Re-authenticating\x20via\x20MCP\x20bootstrap...','75890yoFdBn','VyRGn','Login\x20requires\x20an\x20interactive\x20terminal.\x20In\x20CI,\x20use:\x20ranger\x20setup\x20[token]\x20or\x20set\x20RANGER_CLI_TOKEN.','\x0a✅\x20API\x20key\x20stored\x20successfully','216NXFPbK'];_0x3794=function(){return _0xf8939;};return _0x3794();}import{getMcpAuthOrigin,mcpBootstrap}from'./mcpBootstrap.js';import{isInteractive}from'./utils/cloudProfileSession.js';function _0x269c(_0x3fc8bf,_0x24209a){_0x3fc8bf=_0x3fc8bf-0xaa;const _0x3794a2=_0x3794();let _0x269c2d=_0x3794a2[_0x3fc8bf];return _0x269c2d;}export async function login(){const _0x233b66=_0x269c,_0x218f36={'lpnmo':function(_0x2be686){return _0x2be686();},'tIify':_0x233b66(0xac),'YGESP':function(_0x372a62){return _0x372a62();},'VyRGn':function(_0x141637,_0x227931){return _0x141637(_0x227931);}},_0x2e3038=await _0x218f36[_0x233b66(0xb7)](getMcpAuthOrigin);if(_0x2e3038){console['log'](_0x233b66(0xba)),await mcpBootstrap();return;}if(!isInteractive())throw new Error(_0x218f36['tIify']);try{const _0x36bf7a=await _0x218f36['YGESP'](runDeviceAuthFlow),_0x560cce=await _0x218f36[_0x233b66(0xab)](getCurrentUser,_0x36bf7a);_0x560cce['success']?console['log']('\x0a✅\x20Logged\x20in\x20to\x20'+_0x560cce['user'][_0x233b66(0xb9)]):console[_0x233b66(0xb6)](_0x233b66(0xad));}catch(_0x275b4d){throw new Error('Login\x20failed:\x20'+(_0x275b4d instanceof Error?_0x275b4d['message']:_0x275b4d));}}
@@ -1 +1 @@
1
- const _0x1cacfd=_0x158d;(function(_0x5a97c1,_0x2e5aff){const _0xd8d291=_0x158d,_0x12b277=_0x5a97c1();while(!![]){try{const _0x194391=-parseInt(_0xd8d291(0x1ea))/0x1*(parseInt(_0xd8d291(0x220))/0x2)+parseInt(_0xd8d291(0x215))/0x3*(parseInt(_0xd8d291(0x1dc))/0x4)+parseInt(_0xd8d291(0x20c))/0x5*(parseInt(_0xd8d291(0x1c4))/0x6)+parseInt(_0xd8d291(0x1d2))/0x7+parseInt(_0xd8d291(0x21d))/0x8*(-parseInt(_0xd8d291(0x20f))/0x9)+-parseInt(_0xd8d291(0x1ee))/0xa*(-parseInt(_0xd8d291(0x1f0))/0xb)+-parseInt(_0xd8d291(0x23d))/0xc*(-parseInt(_0xd8d291(0x1bb))/0xd);if(_0x194391===_0x2e5aff)break;else _0x12b277['push'](_0x12b277['shift']());}catch(_0x40253b){_0x12b277['push'](_0x12b277['shift']());}}}(_0x5cd5,0x25537));import{mkdir,writeFile,readFile}from'fs/promises';import{join}from'path';import{homedir}from'os';import{createServer}from'http';import{randomBytes,createHash}from'crypto';import{exec}from'child_process';import{getMcpAuthUrl}from'./utils/environment.js';const CALLBACK_PORT=0x4d78,TOKEN_CACHE_PATH=join(homedir(),'.ranger',_0x1cacfd(0x1b6)),AUTH_ORIGIN_PATH=join(homedir(),'.ranger','auth-origin.txt');function _0x5cd5(){const _0x15180c=['stdout','lPiHL','533uDIxZE','S256','GLTnP','Discovering\x20authorization\x20server...','utf-8','VgJbH','tkQCQ','DJhdl','startsWith','6iGGjZU','NrcGB','listen','No\x20authorization_servers\x20in\x20protected\x20resource\x20metadata','initialize','ranger-cli','MCP\x20server\x20returned\x20HTTP\x20','client_secret','writeHead','text/event-stream','CBadz','close','fNpiR','Unknown\x20error','1034859uVXNfk','string','UHlai','wMjvG','127.0.0.1','\x20done','refresh.txt','ybZXx','error','result','23524Oozkjy','client_id','state','yjcix','Bearer\x20','bZxWE','mhAaY','end','expiresAt','hGfTw','clientId','GRPLm','origin','amDRa','7YRsUUY','hex','get_cli_token','Authorization\x20server\x20does\x20not\x20support\x20dynamic\x20client\x20registration\x20and\x20no\x20cached\x20client\x20found','20EwqNfv','\x0aOpening\x20browser\x20for\x20authentication...','1464782mIHEFW','write','\x0aUnexpected\x20response\x20structure:','Dlhkx','Exchanging\x20authorization\x20code...','get','tylkh','vzhYg','2025-03-26','base64url','baFav','aIHQC','update','Initializing\x20MCP\x20session...','json','win32','AZabT','Could\x20not\x20extract\x20token\x20from\x20MCP\x20response','pjjCZ','replace','2.0','refresh_token','YIJQC','text','Run\x20`ranger\x20setup\x20--mcp-bootstrap`\x20interactively\x20first.','now','http://localhost:','Client\x20registration\x20failed:\x20','153445NZkHiH','qqhUd','HTTP\x20','72tySude','EzbqN','searchParams','resource','code_challenge','<html><body><h2>Authenticated!</h2><p>You\x20can\x20close\x20this\x20window\x20and\x20return\x20to\x20the\x20terminal.</p></body></html>','21dfwvKX','yVyKX','cwGVj','YWaGt','status','toString','access_token','rDRiX','241504oMNqsW','name','platform','84598aPWBmR','set','content','rUGxf','1.0.0','/callback','tools/call','open','url','refreshToken','Run\x20`ranger\x20status`\x20to\x20verify\x20authentication.\x0a','POST','start','noOie','<html><body><h2>Invalid\x20callback</h2><p>Missing\x20code\x20or\x20state\x20mismatch.</p></body></html>','HJcfH','udcHV','registration_endpoint','MCP\x20server\x20requires\x20authentication\x20but\x20running\x20in\x20non-interactive\x20mode.\x0a','slice','pathname','NxfLM','application/json,\x20text/event-stream','Token\x20exchange\x20failed:\x20','token','.ranger','trim','AXeWa','clientSecret','59844yUTOvA','stringify','tnwWg','VKKqn','/.well-known/oauth-authorization-server','Authorization','ucCgj','sbeQT','text/html','auth-origin.txt','SLrnn','parse','HgMkO','application/json','JvfFj','mcp-oauth-tokens.json','\x0aToken\x20written\x20to\x20','log'];_0x5cd5=function(){return _0x15180c;};return _0x5cd5();}export async function getMcpAuthOrigin(){const _0x3caa59=_0x1cacfd,_0x13f617={'tylkh':function(_0x234c0e,_0x4392f5,_0x5dd23d){return _0x234c0e(_0x4392f5,_0x5dd23d);},'sbeQT':function(_0x9e361d,_0x2b8556){return _0x9e361d||_0x2b8556;}};try{const _0x63eb08=(await _0x13f617[_0x3caa59(0x1f6)](readFile,AUTH_ORIGIN_PATH,_0x3caa59(0x1bf)))[_0x3caa59(0x23a)]();return _0x13f617[_0x3caa59(0x244)](_0x63eb08,null);}catch{return null;}}export async function mcpBootstrap(){const _0x9d1092=_0x1cacfd,_0x43d59b={'DJhdl':function(_0x309463){return _0x309463();},'udcHV':function(_0x3c79e3,_0x415720){return _0x3c79e3===_0x415720;},'ueafp':function(_0x159bb2,_0x42fa5e){return _0x159bb2+_0x42fa5e;},'lPiHL':_0x9d1092(0x232),'VgJbH':_0x9d1092(0x208)},_0x3f1136=_0x43d59b[_0x9d1092(0x1c2)](getMcpAuthUrl);currentOrigin=_0x3f1136;const _0x487c02=process[_0x9d1092(0x1b9)]['isTTY']??![];console['log']('\x0aConnecting\x20to\x20MCP\x20auth\x20server:\x20'+_0x3f1136+'\x0a');const _0xac420f=await tryUnauthenticated(_0x3f1136);let _0x4a5fec=null;if(_0x43d59b[_0x9d1092(0x230)](_0xac420f,'proxied'))_0x4a5fec='';else{_0x4a5fec=await loadCachedToken();if(!_0x4a5fec){if(!_0x487c02)throw new Error(_0x43d59b['ueafp'](_0x43d59b[_0x9d1092(0x1ba)],_0x43d59b[_0x9d1092(0x1c0)]));_0x4a5fec=await oauthFlow(_0x3f1136);}}await callGetCliToken(_0x3f1136,_0x4a5fec);}async function tryUnauthenticated(_0xd99a9){const _0x1f3e6c=_0x1cacfd,_0x1eb159={'jCxkH':function(_0x3bd8d7,_0x399391,_0x26599b){return _0x3bd8d7(_0x399391,_0x26599b);},'KWyzw':_0x1f3e6c(0x22b),'eDyAu':_0x1f3e6c(0x1f8),'VJMxt':_0x1f3e6c(0x224)},_0x545d4c=await _0x1eb159['jCxkH'](fetch,_0xd99a9,{'method':_0x1eb159['KWyzw'],'headers':{'Content-Type':'application/json','Accept':_0x1f3e6c(0x236)},'body':JSON[_0x1f3e6c(0x23e)]({'jsonrpc':'2.0','id':0x1,'method':'initialize','params':{'protocolVersion':_0x1eb159['eDyAu'],'capabilities':{},'clientInfo':{'name':_0x1f3e6c(0x1c9),'version':_0x1eb159['VJMxt']}}})});if(_0x545d4c['ok'])return await _0x545d4c[_0x1f3e6c(0x207)](),'proxied';if(_0x545d4c['status']===0x191)return await _0x545d4c['text'](),'needs-oauth';const _0x777786=await _0x545d4c['text']();throw new Error(_0x1f3e6c(0x1ca)+_0x545d4c[_0x1f3e6c(0x219)]+':\x20'+_0x777786);}class OAuthTimeoutError extends Error{constructor(_0x34537f){const _0x14ef1a=_0x1cacfd,_0x1b25d1={'baFav':'OAuthTimeoutError'};super(_0x34537f),this[_0x14ef1a(0x21e)]=_0x1b25d1[_0x14ef1a(0x1fa)];}}async function oauthFlow(_0x3c4ad0){const _0x4cda5d=_0x1cacfd,_0x4350ea={'cwGVj':function(_0xe741cc,_0x5894f5){return _0xe741cc(_0x5894f5);},'cArHe':function(_0x27a260,_0x36f963){return _0x27a260 instanceof _0x36f963;},'ytghF':function(_0x115eb3){return _0x115eb3();}};try{return await _0x4350ea[_0x4cda5d(0x217)](oauthFlowAttempt,_0x3c4ad0);}catch(_0x226ebd){if(_0x4350ea['cArHe'](_0x226ebd,OAuthTimeoutError)&&await loadCachedClient())return console['log']('\x0aCached\x20OAuth\x20client\x20may\x20be\x20stale\x20—\x20clearing\x20and\x20retrying...\x0a'),await _0x4350ea['ytghF'](clearCachedClient),await oauthFlowAttempt(_0x3c4ad0);throw _0x226ebd;}}async function oauthFlowAttempt(_0x31afaf){const _0x480fd4=_0x1cacfd,_0x5de2dc={'AZabT':_0x480fd4(0x1be),'yVyKX':function(_0x523066,_0x4b54de){return _0x523066(_0x4b54de);},'mhAaY':'Could\x20not\x20fetch\x20protected\x20resource\x20metadata\x20from\x20MCP\x20server','EzbqN':function(_0x36bbdf){return _0x36bbdf();},'CBadz':'Registering\x20OAuth\x20client...','hGfTw':function(_0xd1c97f,_0x25c840,_0xfbd63d){return _0xd1c97f(_0x25c840,_0xfbd63d);},'cutqa':_0x480fd4(0x1b4),'uqAER':'refresh_token','JvfFj':'none','ucCgj':_0x480fd4(0x1d7),'krRtU':_0x480fd4(0x1eb),'UEinN':_0x480fd4(0x1dd),'eGBzn':'redirect_uri','NxfLM':_0x480fd4(0x213),'bZxWE':_0x480fd4(0x1bc),'aMJbs':_0x480fd4(0x1de),'SXluv':_0x480fd4(0x1ef),'GRPLm':function(_0x26c1d3,_0x4044e7){return _0x26c1d3(_0x4044e7);},'pjjCZ':function(_0x3742f8,_0x10e226){return _0x3742f8(_0x10e226);},'WrwOJ':_0x480fd4(0x212),'QQhvn':_0x480fd4(0x22b)},_0x36de2a=_0x31afaf[_0x480fd4(0x203)](/\/mcp$/,'');process['stdout'][_0x480fd4(0x1f1)](_0x5de2dc[_0x480fd4(0x200)]);const _0x3e1a24=await _0x5de2dc[_0x480fd4(0x216)](fetch,_0x36de2a+'/.well-known/oauth-protected-resource');if(!_0x3e1a24['ok'])throw new Error(_0x5de2dc[_0x480fd4(0x1e2)]);const _0x112d17=await _0x3e1a24[_0x480fd4(0x1fe)](),_0x2951bf=_0x112d17['authorization_servers']?.[0x0];if(!_0x2951bf)throw new Error(_0x480fd4(0x1c7));console[_0x480fd4(0x1b8)]('\x20'+_0x2951bf);const _0x416503=await fetchAuthServerMetadata(_0x2951bf);let _0x482426,_0x5568ea;const _0x489023=await _0x5de2dc[_0x480fd4(0x210)](loadCachedClient);if(_0x489023)_0x482426=_0x489023['clientId'],_0x5568ea=_0x489023['clientSecret'];else{if(_0x416503[_0x480fd4(0x231)]){process[_0x480fd4(0x1b9)][_0x480fd4(0x1f1)](_0x5de2dc[_0x480fd4(0x1ce)]);const _0x15dda6=await _0x5de2dc[_0x480fd4(0x1e5)](fetch,_0x416503['registration_endpoint'],{'method':'POST','headers':{'Content-Type':_0x5de2dc['cutqa']},'body':JSON[_0x480fd4(0x23e)]({'client_name':'Ranger\x20CLI','redirect_uris':[_0x480fd4(0x20a)+CALLBACK_PORT+_0x480fd4(0x225)],'grant_types':['authorization_code',_0x5de2dc['uqAER']],'response_types':['code'],'token_endpoint_auth_method':_0x5de2dc[_0x480fd4(0x1b5)]})});if(!_0x15dda6['ok']){const _0x4d5955=await _0x15dda6['text']();throw new Error(_0x480fd4(0x20b)+_0x4d5955);}const _0x5ebc48=await _0x15dda6[_0x480fd4(0x1fe)]();_0x482426=_0x5ebc48['client_id'],_0x5568ea=_0x5ebc48[_0x480fd4(0x1cb)],await saveCachedClient(_0x482426,_0x5568ea),console['log'](_0x5de2dc[_0x480fd4(0x243)]);}else throw new Error(_0x480fd4(0x1ed));}const _0x2937ba=randomBytes(0x20)['toString']('base64url'),_0x6eb2ec=_0x5de2dc['yVyKX'](createHash,'sha256')[_0x480fd4(0x1fc)](_0x2937ba)['digest'](_0x480fd4(0x1f9)),_0x4ea979=_0x5de2dc['yVyKX'](randomBytes,0x10)[_0x480fd4(0x21a)](_0x5de2dc['krRtU']),_0x54829=new URL(_0x416503['authorization_endpoint']);_0x54829[_0x480fd4(0x211)]['set']('response_type','code'),_0x54829[_0x480fd4(0x211)]['set'](_0x5de2dc['UEinN'],_0x482426),_0x54829[_0x480fd4(0x211)][_0x480fd4(0x221)](_0x5de2dc['eGBzn'],'http://localhost:'+CALLBACK_PORT+'/callback'),_0x54829['searchParams']['set'](_0x5de2dc[_0x480fd4(0x235)],_0x6eb2ec),_0x54829['searchParams'][_0x480fd4(0x221)]('code_challenge_method',_0x5de2dc[_0x480fd4(0x1e1)]),_0x54829[_0x480fd4(0x211)][_0x480fd4(0x221)](_0x5de2dc['aMJbs'],_0x4ea979);_0x112d17[_0x480fd4(0x212)]&&_0x54829[_0x480fd4(0x211)][_0x480fd4(0x221)](_0x480fd4(0x212),_0x112d17['resource']);console[_0x480fd4(0x1b8)](_0x5de2dc['SXluv']),console[_0x480fd4(0x1b8)]('If\x20the\x20browser\x20doesn\x27t\x20open,\x20visit:\x0a'+_0x54829['toString']()+'\x0a'),await _0x5de2dc[_0x480fd4(0x1e7)](openBrowser,_0x54829[_0x480fd4(0x21a)]());const _0x4219db=await _0x5de2dc[_0x480fd4(0x202)](waitForCallback,_0x4ea979);process[_0x480fd4(0x1b9)]['write'](_0x480fd4(0x1f4));const _0x42a8c3=new URLSearchParams({'grant_type':'authorization_code','code':_0x4219db,'redirect_uri':'http://localhost:'+CALLBACK_PORT+'/callback','client_id':_0x482426,'code_verifier':_0x2937ba});_0x5568ea&&_0x42a8c3['set']('client_secret',_0x5568ea);_0x112d17[_0x480fd4(0x212)]&&_0x42a8c3[_0x480fd4(0x221)](_0x5de2dc['WrwOJ'],_0x112d17['resource']);const _0x240156=await fetch(_0x416503['token_endpoint'],{'method':_0x5de2dc['QQhvn'],'headers':{'Content-Type':'application/x-www-form-urlencoded'},'body':_0x42a8c3});if(!_0x240156['ok']){const _0x5ae612=await _0x240156['text']();throw new Error(_0x480fd4(0x237)+_0x5ae612);}const _0x42e3dc=await _0x240156['json']();return console['log']('\x20done'),await saveCachedToken(_0x42e3dc[_0x480fd4(0x21b)],_0x42e3dc[_0x480fd4(0x205)],_0x42e3dc['expires_in']),_0x42e3dc['access_token'];}async function callGetCliToken(_0x7cae5b,_0x2d2d4a){const _0x13e5bf=_0x1cacfd,_0x2510c1={'yjcix':function(_0x190bee,_0x58064b,_0x4b8053){return _0x190bee(_0x58064b,_0x4b8053);},'HJcfH':_0x13e5bf(0x22b),'pLANh':_0x13e5bf(0x1b4),'KzGQQ':'application/json,\x20text/event-stream','EznRC':_0x13e5bf(0x1fd),'WlnZK':'2025-03-26','HgMkO':_0x13e5bf(0x1c9),'YIJQC':_0x13e5bf(0x224),'tnwWg':_0x13e5bf(0x1d7),'rUGxf':'notifications/initialized','fNpiR':function(_0x2cf90b,_0x1e2261){return _0x2cf90b(_0x1e2261);},'cuaDV':'2.0','aIHQC':_0x13e5bf(0x226),'vzhYg':_0x13e5bf(0x1f2),'XowqU':_0x13e5bf(0x201),'ybZXx':_0x13e5bf(0x1d8),'YTWbN':_0x13e5bf(0x22a)},_0x2d2cf7={'Content-Type':_0x2510c1['pLANh'],'Accept':_0x2510c1['KzGQQ']};_0x2d2d4a&&(_0x2d2cf7[_0x13e5bf(0x242)]=_0x13e5bf(0x1e0)+_0x2d2d4a);const _0x3e9772=async _0x212f3c=>{const _0x8e1d9d=_0x13e5bf,_0x1e0509=await _0x2510c1['yjcix'](fetch,_0x7cae5b,{'method':_0x2510c1[_0x8e1d9d(0x22f)],'headers':_0x2d2cf7,'body':JSON['stringify'](_0x212f3c)});if(!_0x1e0509['ok']){const _0x39e90e=await _0x1e0509[_0x8e1d9d(0x207)]();throw new Error(_0x8e1d9d(0x20e)+_0x1e0509[_0x8e1d9d(0x219)]+':\x20'+_0x39e90e);}return parseResponse(_0x1e0509);};process['stdout']['write'](_0x2510c1['EznRC']);const _0x2af21e=await _0x3e9772({'jsonrpc':_0x13e5bf(0x204),'id':0x1,'method':_0x13e5bf(0x1c8),'params':{'protocolVersion':_0x2510c1['WlnZK'],'capabilities':{},'clientInfo':{'name':_0x2510c1[_0x13e5bf(0x1b3)],'version':_0x2510c1[_0x13e5bf(0x206)]}}});if(_0x2af21e['error'])throw new Error('MCP\x20initialize\x20failed:\x20'+(_0x2af21e['error']['message']??JSON[_0x13e5bf(0x23e)](_0x2af21e[_0x13e5bf(0x1da)])));console['log'](_0x2510c1[_0x13e5bf(0x23f)]),await fetch(_0x7cae5b,{'method':_0x13e5bf(0x22b),'headers':_0x2d2cf7,'body':JSON[_0x13e5bf(0x23e)]({'jsonrpc':'2.0','method':_0x2510c1[_0x13e5bf(0x223)]})})['then'](_0x36e0f8=>_0x36e0f8[_0x13e5bf(0x207)]()),process[_0x13e5bf(0x1b9)][_0x13e5bf(0x1f1)]('Requesting\x20CLI\x20token...');const _0x10a9b0=await _0x2510c1[_0x13e5bf(0x1d0)](_0x3e9772,{'jsonrpc':_0x2510c1['cuaDV'],'id':0x2,'method':_0x2510c1[_0x13e5bf(0x1fb)],'params':{'name':_0x13e5bf(0x1ec),'arguments':{}}});if(_0x10a9b0['error'])throw new Error('get_cli_token\x20failed:\x20'+(_0x10a9b0['error']['message']??JSON['stringify'](_0x10a9b0['error'])));console[_0x13e5bf(0x1b8)]('\x20done');const _0x1e5324=extractToken(_0x10a9b0[_0x13e5bf(0x1db)]);if(!_0x1e5324){console['error'](_0x2510c1[_0x13e5bf(0x1f7)]),console['error'](JSON[_0x13e5bf(0x23e)](_0x10a9b0[_0x13e5bf(0x1db)],null,0x2));throw new Error(_0x2510c1['XowqU']);}const _0x32d172=_0x2510c1[_0x13e5bf(0x1df)](join,homedir(),_0x13e5bf(0x239)),_0x29c909=join(_0x32d172,_0x2510c1[_0x13e5bf(0x1d9)]);await mkdir(_0x32d172,{'recursive':!![]}),await writeFile(_0x29c909,_0x1e5324,{'mode':0x180}),await writeFile(join(_0x32d172,_0x13e5bf(0x246)),_0x7cae5b,{'mode':0x180}),console['log'](_0x13e5bf(0x1b7)+_0x29c909),console['log'](_0x2510c1['YTWbN']);}async function fetchAuthServerMetadata(_0x18bb68){const _0x4df135=_0x1cacfd,_0x594baa=_0x18bb68+_0x4df135(0x241),_0x12d9df=await fetch(_0x594baa);if(!_0x12d9df['ok'])throw new Error('Could\x20not\x20fetch\x20auth\x20server\x20metadata\x20from\x20'+_0x594baa+':\x20'+_0x12d9df[_0x4df135(0x219)]);return _0x12d9df['json']();}function waitForCallback(_0x4cdbe0){const _0x1c0070=_0x1cacfd,_0x433c26={'bobjG':'OAuth\x20callback\x20timed\x20out\x20after\x202\x20minutes','SLrnn':'/callback','YDsbC':'Not\x20found','tkQCQ':_0x1c0070(0x1de),'zcpDJ':'error_description','GLTnP':function(_0x389735,_0xad5a49){return _0x389735(_0xad5a49);},'VKKqn':_0x1c0070(0x245),'YWaGt':_0x1c0070(0x214),'wMjvG':function(_0x4cdf91,_0x122935,_0x530d18){return _0x4cdf91(_0x122935,_0x530d18);},'dYKFp':_0x1c0070(0x1d6)};return new Promise((_0x337bcf,_0x27aad9)=>{const _0x3a4111=_0x1c0070,_0x2de7eb=()=>{const _0xa28a36=_0x158d;_0x48da6c['closeAllConnections'](),_0x48da6c[_0xa28a36(0x1cf)]();},_0x5d554c=_0x433c26[_0x3a4111(0x1d5)](setTimeout,()=>{_0x2de7eb(),_0x27aad9(new OAuthTimeoutError(_0x433c26['bobjG']));},0x1d4c0),_0x48da6c=_0x433c26[_0x3a4111(0x1bd)](createServer,(_0x272135,_0xcb8506)=>{const _0x58a6a2=_0x3a4111,_0x3c37f8=new URL(_0x272135[_0x58a6a2(0x228)]??'/',_0x58a6a2(0x20a)+CALLBACK_PORT);if(_0x3c37f8[_0x58a6a2(0x234)]!==_0x433c26[_0x58a6a2(0x247)]){_0xcb8506['writeHead'](0x194),_0xcb8506['end'](_0x433c26['YDsbC']);return;}const _0x62f854=_0x3c37f8['searchParams'][_0x58a6a2(0x1f5)]('code'),_0x45a1a5=_0x3c37f8['searchParams']['get'](_0x433c26[_0x58a6a2(0x1c1)]),_0x36d8ed=_0x3c37f8['searchParams'][_0x58a6a2(0x1f5)](_0x58a6a2(0x1da));if(_0x36d8ed){const _0x3635e5=_0x3c37f8[_0x58a6a2(0x211)]['get'](_0x433c26['zcpDJ'])??_0x36d8ed;_0xcb8506['writeHead'](0xc8,{'Content-Type':_0x58a6a2(0x245)}),_0xcb8506['end']('<html><body><h2>Authentication\x20failed</h2><p>'+_0x3635e5+'</p><p>You\x20can\x20close\x20this\x20window.</p></body></html>'),_0x433c26[_0x58a6a2(0x1bd)](clearTimeout,_0x5d554c),_0x2de7eb(),_0x27aad9(new Error('OAuth\x20error:\x20'+_0x3635e5));return;}if(!_0x62f854||_0x45a1a5!==_0x4cdbe0){_0xcb8506[_0x58a6a2(0x1cc)](0x190,{'Content-Type':_0x58a6a2(0x245)}),_0xcb8506[_0x58a6a2(0x1e3)](_0x58a6a2(0x22e));return;}_0xcb8506['writeHead'](0xc8,{'Content-Type':_0x433c26[_0x58a6a2(0x240)]}),_0xcb8506['end'](_0x433c26[_0x58a6a2(0x218)]),_0x433c26['GLTnP'](clearTimeout,_0x5d554c),_0x2de7eb(),_0x433c26['GLTnP'](_0x337bcf,_0x62f854);});_0x48da6c[_0x3a4111(0x1c6)](CALLBACK_PORT,_0x433c26['dYKFp']);});}async function openBrowser(_0x4afc25){const _0xcfbb62=_0x1cacfd,_0x10ef19={'Dlhkx':'darwin','qqhUd':function(_0x7dc487,_0x247b2f){return _0x7dc487===_0x247b2f;},'cGiBy':function(_0x3c8241,_0x2cd9db){return _0x3c8241(_0x2cd9db);}},_0x333c72=process['platform']===_0x10ef19[_0xcfbb62(0x1f3)]?_0xcfbb62(0x227):_0x10ef19[_0xcfbb62(0x20d)](process[_0xcfbb62(0x21f)],_0xcfbb62(0x1ff))?_0xcfbb62(0x22c):'xdg-open';_0x10ef19['cGiBy'](exec,_0x333c72+'\x20\x22'+_0x4afc25+'\x22');}let currentOrigin='';async function loadCachedToken(){const _0x80091e=_0x1cacfd,_0x15be03={'YkzFV':function(_0xd354e,_0x4a7f20){return _0xd354e!==_0x4a7f20;},'ZSGVo':function(_0x52078e,_0x1be7f2){return _0x52078e>_0x1be7f2;}};try{const _0x780f62=JSON[_0x80091e(0x1b2)](await readFile(TOKEN_CACHE_PATH,'utf-8'));if(_0x780f62['origin']&&_0x15be03['YkzFV'](_0x780f62[_0x80091e(0x1e8)],currentOrigin))return null;if(_0x780f62[_0x80091e(0x1e4)]&&_0x15be03['ZSGVo'](Date['now'](),_0x780f62[_0x80091e(0x1e4)]))return null;return _0x780f62['accessToken']??null;}catch{return null;}}async function saveCachedToken(_0xb9e81c,_0x371c73,_0x11a0b4){const _0x946c6e=_0x1cacfd,_0xb47ab3={'AXeWa':function(_0x1f5e06,_0x4df92e){return _0x1f5e06+_0x4df92e;},'qkhuY':function(_0x3aa29b,_0x54d3bb,_0x5d26de){return _0x3aa29b(_0x54d3bb,_0x5d26de);},'rjjvE':function(_0x5f0149){return _0x5f0149();}},_0x286bad=await loadCachedData(),_0x285dcb={..._0x286bad,'origin':currentOrigin,'accessToken':_0xb9e81c,'refreshToken':_0x371c73??_0x286bad?.[_0x946c6e(0x229)],'expiresAt':_0x11a0b4?_0xb47ab3[_0x946c6e(0x23b)](Date[_0x946c6e(0x209)](),_0x11a0b4*0x3e8):undefined};await _0xb47ab3['qkhuY'](mkdir,join(_0xb47ab3['rjjvE'](homedir),'.ranger'),{'recursive':!![]}),await writeFile(TOKEN_CACHE_PATH,JSON[_0x946c6e(0x23e)](_0x285dcb),{'mode':0x180});}function _0x158d(_0x13cf0c,_0x3afbe4){_0x13cf0c=_0x13cf0c-0x1b2;const _0x5cd5e3=_0x5cd5();let _0x158dd0=_0x5cd5e3[_0x13cf0c];return _0x158dd0;}async function loadCachedClient(){const _0x32aad2=_0x1cacfd,_0x3227a1={'amDRa':function(_0x133b0,_0xad0372){return _0x133b0!==_0xad0372;}},_0x48d687=await loadCachedData();if(_0x48d687?.['origin']&&_0x3227a1[_0x32aad2(0x1e9)](_0x48d687['origin'],currentOrigin))return null;return _0x48d687?.['clientId']?{'clientId':_0x48d687[_0x32aad2(0x1e6)],'clientSecret':_0x48d687[_0x32aad2(0x23c)]}:null;}async function clearCachedClient(){const _0x4eead9=_0x1cacfd,_0x19df4e=await loadCachedData();if(!_0x19df4e)return;const {clientId:_0x334703,clientSecret:_0x118ba8,..._0x2082fb}=_0x19df4e;await writeFile(TOKEN_CACHE_PATH,JSON[_0x4eead9(0x23e)](_0x2082fb),{'mode':0x180});}async function saveCachedClient(_0x195e4d,_0x2e1145){const _0x55bcf6=_0x1cacfd,_0x29a8ce={'ptSIp':function(_0x39edf1,_0x5ade8b,_0x1935a3){return _0x39edf1(_0x5ade8b,_0x1935a3);},'noOie':'.ranger'},_0x55b783=await loadCachedData(),_0x2c3662={..._0x55b783,'origin':currentOrigin,'accessToken':_0x55b783?.['accessToken']??'','clientId':_0x195e4d,'clientSecret':_0x2e1145};await mkdir(_0x29a8ce['ptSIp'](join,homedir(),_0x29a8ce[_0x55bcf6(0x22d)]),{'recursive':!![]}),await writeFile(TOKEN_CACHE_PATH,JSON['stringify'](_0x2c3662),{'mode':0x180});}async function loadCachedData(){const _0x55cdbf=_0x1cacfd,_0x3031ac={'MsEJh':'utf-8'};try{return JSON[_0x55cdbf(0x1b2)](await readFile(TOKEN_CACHE_PATH,_0x3031ac['MsEJh']));}catch{return null;}}async function parseResponse(_0x418395){const _0x52aaf9=_0x1cacfd,_0x264955=_0x418395['headers']['get']('content-type')??'';if(_0x264955['includes'](_0x52aaf9(0x1cd))){const _0x2b7720=await _0x418395['text']();for(const _0x394b12 of _0x2b7720['split']('\x0a')){const _0x38fd52=_0x394b12[_0x52aaf9(0x23a)]();if(_0x38fd52[_0x52aaf9(0x1c3)]('data:')){const _0x27fc22=_0x38fd52[_0x52aaf9(0x233)]('data:'['length'])[_0x52aaf9(0x23a)]();if(!_0x27fc22)continue;try{const _0x49c06b=JSON[_0x52aaf9(0x1b2)](_0x27fc22);if(_0x49c06b['id']!==undefined||_0x49c06b[_0x52aaf9(0x1da)])return _0x49c06b;}catch{}}}throw new Error('No\x20JSON-RPC\x20response\x20found\x20in\x20SSE\x20stream');}return _0x418395['json']();}function extractToken(_0x11d98a){const _0x4039c2=_0x1cacfd,_0x26b440={'NrcGB':'string','HtaqD':_0x4039c2(0x1d1),'rDRiX':function(_0x22a71f,_0x479769){return _0x22a71f===_0x479769;},'UHlai':'text'};if(!_0x11d98a)return null;const _0x4c778f=_0x11d98a['structuredContent'];if(_0x4c778f?.['token']&&typeof _0x4c778f[_0x4039c2(0x238)]===_0x26b440[_0x4039c2(0x1c5)])return _0x4c778f['token'];if(_0x11d98a['isError']){const _0x9609c6=_0x11d98a[_0x4039c2(0x222)];throw new Error('Server\x20returned\x20error:\x20'+(_0x9609c6?.[0x0]?.[_0x4039c2(0x207)]??_0x26b440['HtaqD']));}const _0x1b366a=_0x11d98a['content'];if(_0x1b366a)for(const _0x4e9d61 of _0x1b366a){if(_0x26b440[_0x4039c2(0x21c)](_0x4e9d61['type'],_0x26b440[_0x4039c2(0x1d4)])&&_0x4e9d61['text']){try{const _0xf7c4d=JSON['parse'](_0x4e9d61['text']);if(typeof _0xf7c4d?.[_0x4039c2(0x238)]===_0x4039c2(0x1d3))return _0xf7c4d['token'];}catch{}const _0x5c6746=_0x4e9d61['text']['match'](/(rngr_[A-Za-z0-9_-]+)/);if(_0x5c6746)return _0x5c6746[0x1];}}return null;}
1
+ const _0x423240=_0x4872;(function(_0x5b0be6,_0x2bf68d){const _0x5b6096=_0x4872,_0x3f402d=_0x5b0be6();while(!![]){try{const _0x5256ae=parseInt(_0x5b6096(0x15c))/0x1+-parseInt(_0x5b6096(0x178))/0x2+-parseInt(_0x5b6096(0x13c))/0x3+-parseInt(_0x5b6096(0x17d))/0x4+parseInt(_0x5b6096(0x141))/0x5+parseInt(_0x5b6096(0x119))/0x6+parseInt(_0x5b6096(0x115))/0x7;if(_0x5256ae===_0x2bf68d)break;else _0x3f402d['push'](_0x3f402d['shift']());}catch(_0x56eeb3){_0x3f402d['push'](_0x3f402d['shift']());}}}(_0x8b19,0x76e97));function _0x4872(_0x4658ca,_0x1a9bda){_0x4658ca=_0x4658ca-0xfe;const _0x8b196d=_0x8b19();let _0x4872c3=_0x8b196d[_0x4658ca];return _0x4872c3;}import{mkdir,writeFile,readFile}from'fs/promises';function _0x8b19(){const _0x1f45bc=['mcp-oauth-tokens.json','EsCIK','token','1216432FwvEyE','YDKxM','aYISU','tCJHp','json','log','content-type','VtvQK','error','iqPSt','expiresAt','/callback','code_challenge','BjqFV','searchParams','nOTgo','OAuth\x20error:\x20','oXNCY','refresh_token','\x0aCached\x20OAuth\x20client\x20may\x20be\x20stale\x20—\x20clearing\x20and\x20retrying...\x0a','length','vUxQA','text/event-stream','MwKgF','FmmGR','data:','fvzaL','replace','closeAllConnections','\x0aUnexpected\x20response\x20structure:','http://localhost:','FCARj','\x20done','PdvuV','Ranger\x20CLI','refreshToken','Uopjz','Unknown\x20error','write','type','ReuBa','lEDUR','isError','get_cli_token\x20failed:\x20','text/html','GNNkG','bsLrl','WWeeA','hex','</p><p>You\x20can\x20close\x20this\x20window.</p></body></html>','stringify','/.well-known/oauth-authorization-server','.ranger','none','result','cRMRs','2400167ZgPuAX','RdCry','POST','ICVGA','222696DqqDDr','OAuth\x20callback\x20timed\x20out\x20after\x202\x20minutes','origin','FJLXx','end','name','xMJsk','OfMyi','aAZan','trim','code','Discovering\x20authorization\x20server...','utf-8','OhjSo','initialize','Run\x20`ranger\x20setup\x20--mcp-bootstrap`\x20interactively\x20first.','Not\x20found','notifications/initialized','client_id','127.0.0.1','OAuthTimeoutError','status','YKyGG','VCPZz','get','now','Could\x20not\x20extract\x20token\x20from\x20MCP\x20response','ZGFyi','headers','Could\x20not\x20fetch\x20auth\x20server\x20metadata\x20from\x20','authorization_code','meqve','code_challenge_method','listen','VDbwN','755064LttGnw','update','darwin','open','2025-03-26','1602230vweqCg','xdg-open','XjmmU','rRqiG','GLDPX','WFkIO','If\x20the\x20browser\x20doesn\x27t\x20open,\x20visit:\x0a','/.well-known/oauth-protected-resource','parse','hwGtG','text','win32','ECigq','RUbEb','WGZDB','writeHead','fVpme','then','fvSHO','authorization_endpoint','mVDhu','set','xdEZq','DxZlm','toString','Requesting\x20CLI\x20token...','state','841064gXZPmK','No\x20authorization_servers\x20in\x20protected\x20resource\x20metadata','1.0.0','Initializing\x20MCP\x20session...','ocfOe','aBAyX','base64url','vjnsi','match','accessToken','stdout','<html><body><h2>Authenticated!</h2><p>You\x20can\x20close\x20this\x20window\x20and\x20return\x20to\x20the\x20terminal.</p></body></html>','tools/call','PxTsB','MCP\x20server\x20returned\x20HTTP\x20','puqdW','clientSecret','pkbyz','Server\x20returned\x20error:\x20','UKzsF','Registering\x20OAuth\x20client...','string','proxied','MVDXN','response_type','registration_endpoint','clientId','application/json','997296SWdLAq','2.0'];_0x8b19=function(){return _0x1f45bc;};return _0x8b19();}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(),_0x423240(0x111),_0x423240(0x17a)),AUTH_ORIGIN_PATH=join(homedir(),'.ranger','auth-origin.txt');export async function getMcpAuthOrigin(){const _0x5e2af8=_0x423240,_0x4bbc75={'VtvQK':function(_0x108585,_0x1f2af5,_0xa85032){return _0x108585(_0x1f2af5,_0xa85032);},'zNfkb':function(_0x58aad6,_0xd1fd98){return _0x58aad6||_0xd1fd98;}};try{const _0x42d677=(await _0x4bbc75[_0x5e2af8(0x184)](readFile,AUTH_ORIGIN_PATH,'utf-8'))['trim']();return _0x4bbc75['zNfkb'](_0x42d677,null);}catch{return null;}}export async function mcpBootstrap(){const _0x3d09ff=_0x423240,_0x3e8661={'cIrvM':function(_0x5f54b6,_0xf7712){return _0x5f54b6(_0xf7712);},'puYuA':function(_0x2af431,_0x4e93ca){return _0x2af431===_0x4e93ca;},'KMRVt':_0x3d09ff(0x172),'nOTgo':function(_0x5215fe){return _0x5215fe();},'pDVlJ':'MCP\x20server\x20requires\x20authentication\x20but\x20running\x20in\x20non-interactive\x20mode.\x0a','KlJru':_0x3d09ff(0x128),'EsCIK':function(_0xd88b5b,_0x5a75f2){return _0xd88b5b(_0x5a75f2);},'fVpme':function(_0xa6d31,_0x23141f,_0xf5c951){return _0xa6d31(_0x23141f,_0xf5c951);}},_0x12f438=getMcpAuthUrl();currentOrigin=_0x12f438;const _0x476329=process[_0x3d09ff(0x166)]['isTTY']??![];console['log']('\x0aConnecting\x20to\x20MCP\x20auth\x20server:\x20'+_0x12f438+'\x0a');const _0x1afa12=await _0x3e8661['cIrvM'](tryUnauthenticated,_0x12f438);let _0xa07db5=null;if(_0x3e8661['puYuA'](_0x1afa12,_0x3e8661['KMRVt']))_0xa07db5='';else{_0xa07db5=await _0x3e8661[_0x3d09ff(0x18c)](loadCachedToken);if(!_0xa07db5){if(!_0x476329)throw new Error(_0x3e8661['pDVlJ']+_0x3e8661['KlJru']);_0xa07db5=await _0x3e8661[_0x3d09ff(0x17b)](oauthFlow,_0x12f438);}}await _0x3e8661[_0x3d09ff(0x151)](callGetCliToken,_0x12f438,_0xa07db5);}async function tryUnauthenticated(_0x3e40d4){const _0x3f9c1b=_0x423240,_0x34a44e={'NZHZx':function(_0x858df7,_0x1d163d,_0x31bc31){return _0x858df7(_0x1d163d,_0x31bc31);},'fvzaL':_0x3f9c1b(0x177),'BOsVv':'2.0','FJLXx':_0x3f9c1b(0x127),'BjqFV':function(_0x31df87,_0x35d8b6){return _0x31df87===_0x35d8b6;}},_0x100635=await _0x34a44e['NZHZx'](fetch,_0x3e40d4,{'method':_0x3f9c1b(0x117),'headers':{'Content-Type':_0x34a44e[_0x3f9c1b(0x197)],'Accept':'application/json,\x20text/event-stream'},'body':JSON[_0x3f9c1b(0x10f)]({'jsonrpc':_0x34a44e['BOsVv'],'id':0x1,'method':_0x34a44e[_0x3f9c1b(0x11c)],'params':{'protocolVersion':_0x3f9c1b(0x140),'capabilities':{},'clientInfo':{'name':'ranger-cli','version':'1.0.0'}}})});if(_0x100635['ok'])return await _0x100635[_0x3f9c1b(0x14b)](),_0x3f9c1b(0x172);if(_0x34a44e[_0x3f9c1b(0x18a)](_0x100635['status'],0x191))return await _0x100635[_0x3f9c1b(0x14b)](),'needs-oauth';const _0x4eac68=await _0x100635[_0x3f9c1b(0x14b)]();throw new Error(_0x3f9c1b(0x16a)+_0x100635['status']+':\x20'+_0x4eac68);}class OAuthTimeoutError extends Error{constructor(_0x5a941f){const _0x21b889=_0x423240;super(_0x5a941f),this[_0x21b889(0x11e)]=_0x21b889(0x12d);}}async function oauthFlow(_0x459166){const _0x399bdb=_0x423240,_0x1969ac={'jIJzG':function(_0x200afd){return _0x200afd();},'flFxU':function(_0x32005c){return _0x32005c();},'WWeeA':function(_0x3e43cb,_0x245310){return _0x3e43cb(_0x245310);}};try{return await oauthFlowAttempt(_0x459166);}catch(_0x3aebb6){if(_0x3aebb6 instanceof OAuthTimeoutError&&await _0x1969ac['jIJzG'](loadCachedClient))return console['log'](_0x399bdb(0x190)),await _0x1969ac['flFxU'](clearCachedClient),await _0x1969ac[_0x399bdb(0x10c)](oauthFlowAttempt,_0x459166);throw _0x3aebb6;}}async function oauthFlowAttempt(_0x4fd145){const _0x274f56=_0x423240,_0x30c38a={'PdvuV':_0x274f56(0x124),'ZCQBV':'Could\x20not\x20fetch\x20protected\x20resource\x20metadata\x20from\x20MCP\x20server','xdEZq':_0x274f56(0x15d),'GNNkG':function(_0x7b4624,_0x1f7f1d){return _0x7b4624(_0x1f7f1d);},'MVDXN':_0x274f56(0x170),'NrOwH':function(_0x1d48b0,_0x129359,_0x2ae8b4){return _0x1d48b0(_0x129359,_0x2ae8b4);},'ChmgH':'POST','ixSMd':'application/json','GLDPX':_0x274f56(0xff),'FSARU':_0x274f56(0x137),'ukfnz':'refresh_token','ECigq':_0x274f56(0x123),'RUbEb':_0x274f56(0x112),'puqdW':_0x274f56(0x19d),'iqPSt':function(_0x2cc06f,_0xcd5dad){return _0x2cc06f(_0xcd5dad);},'xMJsk':_0x274f56(0x10d),'aAZan':_0x274f56(0x174),'rRqiG':_0x274f56(0x12b),'ReuBa':'redirect_uri','TsZQi':_0x274f56(0x15b),'XjmmU':'resource','LDkKm':function(_0x38d9db,_0x24e43d){return _0x38d9db(_0x24e43d);},'YDKxM':'application/x-www-form-urlencoded','BCfFm':function(_0x18a26e,_0x540c36,_0x91509f,_0x3f2678){return _0x18a26e(_0x540c36,_0x91509f,_0x3f2678);}},_0x207205=_0x4fd145[_0x274f56(0x198)](/\/mcp$/,'');process[_0x274f56(0x166)][_0x274f56(0x103)](_0x30c38a[_0x274f56(0xfe)]);const _0x5df33c=await fetch(_0x207205+_0x274f56(0x148));if(!_0x5df33c['ok'])throw new Error(_0x30c38a['ZCQBV']);const _0x403a7c=await _0x5df33c[_0x274f56(0x181)](),_0x210bd6=_0x403a7c['authorization_servers']?.[0x0];if(!_0x210bd6)throw new Error(_0x30c38a[_0x274f56(0x157)]);console['log']('\x20'+_0x210bd6);const _0x54fe85=await _0x30c38a[_0x274f56(0x10a)](fetchAuthServerMetadata,_0x210bd6);let _0x487efb,_0x52725b;const _0x4657ef=await loadCachedClient();if(_0x4657ef)_0x487efb=_0x4657ef[_0x274f56(0x176)],_0x52725b=_0x4657ef[_0x274f56(0x16c)];else{if(_0x54fe85[_0x274f56(0x175)]){process[_0x274f56(0x166)]['write'](_0x30c38a[_0x274f56(0x173)]);const _0xa3eb13=await _0x30c38a['NrOwH'](fetch,_0x54fe85['registration_endpoint'],{'method':_0x30c38a['ChmgH'],'headers':{'Content-Type':_0x30c38a['ixSMd']},'body':JSON['stringify']({'client_name':_0x30c38a[_0x274f56(0x145)],'redirect_uris':['http://localhost:'+CALLBACK_PORT+_0x274f56(0x188)],'grant_types':[_0x30c38a['FSARU'],_0x30c38a['ukfnz']],'response_types':[_0x30c38a[_0x274f56(0x14d)]],'token_endpoint_auth_method':_0x30c38a[_0x274f56(0x14e)]})});if(!_0xa3eb13['ok']){const _0x32f1cf=await _0xa3eb13[_0x274f56(0x14b)]();throw new Error('Client\x20registration\x20failed:\x20'+_0x32f1cf);}const _0xd2480c=await _0xa3eb13['json']();_0x487efb=_0xd2480c[_0x274f56(0x12b)],_0x52725b=_0xd2480c['client_secret'],await saveCachedClient(_0x487efb,_0x52725b),console[_0x274f56(0x182)](_0x30c38a[_0x274f56(0x16b)]);}else throw new Error('Authorization\x20server\x20does\x20not\x20support\x20dynamic\x20client\x20registration\x20and\x20no\x20cached\x20client\x20found');}const _0x39febd=_0x30c38a[_0x274f56(0x186)](randomBytes,0x20)['toString'](_0x274f56(0x162)),_0x5707cb=createHash('sha256')[_0x274f56(0x13d)](_0x39febd)['digest'](_0x274f56(0x162)),_0x2b45de=randomBytes(0x10)['toString'](_0x30c38a[_0x274f56(0x11f)]),_0x4d6ab0=new URL(_0x54fe85[_0x274f56(0x154)]);_0x4d6ab0[_0x274f56(0x18b)]['set'](_0x30c38a[_0x274f56(0x121)],_0x30c38a[_0x274f56(0x14d)]),_0x4d6ab0['searchParams'][_0x274f56(0x156)](_0x30c38a[_0x274f56(0x144)],_0x487efb),_0x4d6ab0['searchParams']['set'](_0x30c38a[_0x274f56(0x105)],'http://localhost:'+CALLBACK_PORT+_0x274f56(0x188)),_0x4d6ab0[_0x274f56(0x18b)][_0x274f56(0x156)](_0x274f56(0x189),_0x5707cb),_0x4d6ab0[_0x274f56(0x18b)][_0x274f56(0x156)](_0x274f56(0x139),'S256'),_0x4d6ab0['searchParams']['set'](_0x30c38a['TsZQi'],_0x2b45de);_0x403a7c['resource']&&_0x4d6ab0['searchParams'][_0x274f56(0x156)](_0x30c38a[_0x274f56(0x143)],_0x403a7c['resource']);console[_0x274f56(0x182)]('\x0aOpening\x20browser\x20for\x20authentication...'),console['log'](_0x274f56(0x147)+_0x4d6ab0['toString']()+'\x0a'),await _0x30c38a[_0x274f56(0x10a)](openBrowser,_0x4d6ab0[_0x274f56(0x159)]());const _0x4cc6e9=await _0x30c38a['LDkKm'](waitForCallback,_0x2b45de);process['stdout'][_0x274f56(0x103)]('Exchanging\x20authorization\x20code...');const _0x30b7cf=new URLSearchParams({'grant_type':_0x274f56(0x137),'code':_0x4cc6e9,'redirect_uri':_0x274f56(0x19b)+CALLBACK_PORT+'/callback','client_id':_0x487efb,'code_verifier':_0x39febd});_0x52725b&&_0x30b7cf['set']('client_secret',_0x52725b);_0x403a7c['resource']&&_0x30b7cf[_0x274f56(0x156)]('resource',_0x403a7c['resource']);const _0x132c32=await fetch(_0x54fe85['token_endpoint'],{'method':_0x30c38a['ChmgH'],'headers':{'Content-Type':_0x30c38a[_0x274f56(0x17e)]},'body':_0x30b7cf});if(!_0x132c32['ok']){const _0x3788dc=await _0x132c32[_0x274f56(0x14b)]();throw new Error('Token\x20exchange\x20failed:\x20'+_0x3788dc);}const _0x2b4d9a=await _0x132c32[_0x274f56(0x181)]();return console[_0x274f56(0x182)](_0x30c38a['puqdW']),await _0x30c38a['BCfFm'](saveCachedToken,_0x2b4d9a['access_token'],_0x2b4d9a[_0x274f56(0x18f)],_0x2b4d9a['expires_in']),_0x2b4d9a['access_token'];}async function callGetCliToken(_0x577ab0,_0x59157a){const _0x27cc3a=_0x423240,_0x2f7d0d={'ZGFyi':function(_0x23a42c,_0x11a37a,_0x2891d8){return _0x23a42c(_0x11a37a,_0x2891d8);},'Uopjz':_0x27cc3a(0x117),'Lskgm':'Authorization','hwGtG':_0x27cc3a(0x15f),'NDEpJ':function(_0x4c6130,_0x2f4776){return _0x4c6130(_0x2f4776);},'bsLrl':_0x27cc3a(0x127),'giOmG':'ranger-cli','uTWfz':_0x27cc3a(0x15e),'UKzsF':_0x27cc3a(0x179),'mVDhu':_0x27cc3a(0x15a),'gbEpM':_0x27cc3a(0x168),'ijTjB':'get_cli_token','pxxLz':function(_0x129287,_0x19bbc6){return _0x129287(_0x19bbc6);},'RdCry':_0x27cc3a(0x133),'YKyGG':'.ranger','uoDfy':'refresh.txt','AtIKx':function(_0x4ab15b,_0x1a56ff,_0x18edcc,_0x33071f){return _0x4ab15b(_0x1a56ff,_0x18edcc,_0x33071f);},'pkbyz':'auth-origin.txt'},_0x32ecae={'Content-Type':'application/json','Accept':'application/json,\x20text/event-stream'};_0x59157a&&(_0x32ecae[_0x2f7d0d['Lskgm']]='Bearer\x20'+_0x59157a);const _0x4475c1=async _0x30ada3=>{const _0x12717a=_0x27cc3a,_0x2a0c73=await _0x2f7d0d['ZGFyi'](fetch,_0x577ab0,{'method':_0x2f7d0d[_0x12717a(0x101)],'headers':_0x32ecae,'body':JSON['stringify'](_0x30ada3)});if(!_0x2a0c73['ok']){const _0xfd143e=await _0x2a0c73['text']();throw new Error('HTTP\x20'+_0x2a0c73[_0x12717a(0x12e)]+':\x20'+_0xfd143e);}return parseResponse(_0x2a0c73);};process[_0x27cc3a(0x166)][_0x27cc3a(0x103)](_0x2f7d0d[_0x27cc3a(0x14a)]);const _0x234ec0=await _0x2f7d0d['NDEpJ'](_0x4475c1,{'jsonrpc':_0x27cc3a(0x179),'id':0x1,'method':_0x2f7d0d[_0x27cc3a(0x10b)],'params':{'protocolVersion':_0x27cc3a(0x140),'capabilities':{},'clientInfo':{'name':_0x2f7d0d['giOmG'],'version':_0x2f7d0d['uTWfz']}}});if(_0x234ec0[_0x27cc3a(0x185)])throw new Error('MCP\x20initialize\x20failed:\x20'+(_0x234ec0['error']['message']??JSON[_0x27cc3a(0x10f)](_0x234ec0['error'])));console['log'](_0x27cc3a(0x19d)),await fetch(_0x577ab0,{'method':_0x2f7d0d['Uopjz'],'headers':_0x32ecae,'body':JSON['stringify']({'jsonrpc':_0x2f7d0d[_0x27cc3a(0x16f)],'method':_0x27cc3a(0x12a)})})[_0x27cc3a(0x152)](_0x247f29=>_0x247f29[_0x27cc3a(0x14b)]()),process[_0x27cc3a(0x166)][_0x27cc3a(0x103)](_0x2f7d0d[_0x27cc3a(0x155)]);const _0x78b9d7=await _0x4475c1({'jsonrpc':'2.0','id':0x2,'method':_0x2f7d0d['gbEpM'],'params':{'name':_0x2f7d0d['ijTjB'],'arguments':{}}});if(_0x78b9d7['error'])throw new Error(_0x27cc3a(0x108)+(_0x78b9d7[_0x27cc3a(0x185)]['message']??JSON['stringify'](_0x78b9d7['error'])));console['log']('\x20done');const _0x2f9cf8=_0x2f7d0d['pxxLz'](extractToken,_0x78b9d7[_0x27cc3a(0x113)]);if(!_0x2f9cf8){console[_0x27cc3a(0x185)](_0x27cc3a(0x19a)),console[_0x27cc3a(0x185)](JSON[_0x27cc3a(0x10f)](_0x78b9d7['result'],null,0x2));throw new Error(_0x2f7d0d[_0x27cc3a(0x116)]);}const _0x4d5f10=join(homedir(),_0x2f7d0d[_0x27cc3a(0x12f)]),_0x2d8a5e=join(_0x4d5f10,_0x2f7d0d['uoDfy']);await _0x2f7d0d['ZGFyi'](mkdir,_0x4d5f10,{'recursive':!![]}),await writeFile(_0x2d8a5e,_0x2f9cf8,{'mode':0x180}),await _0x2f7d0d['AtIKx'](writeFile,_0x2f7d0d[_0x27cc3a(0x134)](join,_0x4d5f10,_0x2f7d0d[_0x27cc3a(0x16d)]),_0x577ab0,{'mode':0x180}),console[_0x27cc3a(0x182)]('\x0aToken\x20written\x20to\x20'+_0x2d8a5e),console['log']('Run\x20`ranger\x20status`\x20to\x20verify\x20authentication.\x0a');}async function fetchAuthServerMetadata(_0x21117a){const _0x5e6c7b=_0x423240,_0x3dff86={'uIKPY':function(_0x39f3fa,_0x76cdfe){return _0x39f3fa(_0x76cdfe);}},_0x47c186=_0x21117a+_0x5e6c7b(0x110),_0x48a1fa=await _0x3dff86['uIKPY'](fetch,_0x47c186);if(!_0x48a1fa['ok'])throw new Error(_0x5e6c7b(0x136)+_0x47c186+':\x20'+_0x48a1fa[_0x5e6c7b(0x12e)]);return _0x48a1fa['json']();}function waitForCallback(_0x40c27d){const _0x3264c6=_0x423240,_0x5cb150={'IafGp':_0x3264c6(0x188),'JtjlJ':_0x3264c6(0x129),'lEDUR':'error_description','jCxuE':_0x3264c6(0x109),'vUxQA':function(_0x4ce0bc,_0x5807b1){return _0x4ce0bc(_0x5807b1);},'PxTsB':function(_0x196e6e){return _0x196e6e();},'cRMRs':function(_0x4d2289,_0x5b2e3c){return _0x4d2289(_0x5b2e3c);},'tCJHp':'<html><body><h2>Invalid\x20callback</h2><p>Missing\x20code\x20or\x20state\x20mismatch.</p></body></html>','ocfOe':_0x3264c6(0x167),'FCARj':_0x3264c6(0x11a),'ICVGA':function(_0x55696a,_0x2230e3,_0x2f98fe){return _0x55696a(_0x2230e3,_0x2f98fe);}};return new Promise((_0x4da02f,_0x4117cb)=>{const _0x7fc880=_0x3264c6,_0x278f90={'OfMyi':function(_0x431499){const _0x2da4ee=_0x4872;return _0x5cb150[_0x2da4ee(0x169)](_0x431499);},'WNspr':_0x5cb150[_0x7fc880(0x19c)]},_0x1aed11=()=>{const _0x8c80fc=_0x7fc880;_0x82f6de[_0x8c80fc(0x199)](),_0x82f6de['close']();},_0x3ee323=_0x5cb150[_0x7fc880(0x118)](setTimeout,()=>{const _0x5a74f3=_0x7fc880;_0x278f90[_0x5a74f3(0x120)](_0x1aed11),_0x4117cb(new OAuthTimeoutError(_0x278f90['WNspr']));},0x1d4c0),_0x82f6de=_0x5cb150['cRMRs'](createServer,(_0x1ee3e0,_0x2add39)=>{const _0x2206ef=_0x7fc880,_0x3c4526=new URL(_0x1ee3e0['url']??'/','http://localhost:'+CALLBACK_PORT);if(_0x3c4526['pathname']!==_0x5cb150['IafGp']){_0x2add39['writeHead'](0x194),_0x2add39[_0x2206ef(0x11d)](_0x5cb150['JtjlJ']);return;}const _0x13245f=_0x3c4526['searchParams']['get']('code'),_0x155d66=_0x3c4526['searchParams']['get']('state'),_0x15b5f0=_0x3c4526[_0x2206ef(0x18b)][_0x2206ef(0x131)]('error');if(_0x15b5f0){const _0x3fb7ca=_0x3c4526[_0x2206ef(0x18b)]['get'](_0x5cb150[_0x2206ef(0x106)])??_0x15b5f0;_0x2add39[_0x2206ef(0x150)](0xc8,{'Content-Type':_0x5cb150['jCxuE']}),_0x2add39[_0x2206ef(0x11d)]('<html><body><h2>Authentication\x20failed</h2><p>'+_0x3fb7ca+_0x2206ef(0x10e)),_0x5cb150[_0x2206ef(0x192)](clearTimeout,_0x3ee323),_0x5cb150['PxTsB'](_0x1aed11),_0x5cb150[_0x2206ef(0x114)](_0x4117cb,new Error(_0x2206ef(0x18d)+_0x3fb7ca));return;}if(!_0x13245f||_0x155d66!==_0x40c27d){_0x2add39[_0x2206ef(0x150)](0x190,{'Content-Type':_0x5cb150['jCxuE']}),_0x2add39['end'](_0x5cb150[_0x2206ef(0x180)]);return;}_0x2add39['writeHead'](0xc8,{'Content-Type':_0x2206ef(0x109)}),_0x2add39['end'](_0x5cb150[_0x2206ef(0x160)]),clearTimeout(_0x3ee323),_0x1aed11(),_0x4da02f(_0x13245f);});_0x82f6de[_0x7fc880(0x13a)](CALLBACK_PORT,_0x7fc880(0x12c));});}async function openBrowser(_0x198c46){const _0x235308=_0x423240,_0x222d61={'MwKgF':_0x235308(0x13e),'OYBFw':_0x235308(0x13f),'DpOxw':function(_0x23741,_0x4e2b1d){return _0x23741===_0x4e2b1d;},'LjbUp':_0x235308(0x14c),'utyun':_0x235308(0x142),'VDbwN':function(_0x238097,_0x168290){return _0x238097(_0x168290);}},_0x4494d1=process['platform']===_0x222d61[_0x235308(0x194)]?_0x222d61['OYBFw']:_0x222d61['DpOxw'](process['platform'],_0x222d61['LjbUp'])?'start':_0x222d61['utyun'];_0x222d61[_0x235308(0x13b)](exec,_0x4494d1+'\x20\x22'+_0x198c46+'\x22');}let currentOrigin='';async function loadCachedToken(){const _0x7d4c95=_0x423240,_0x258905={'fvSHO':function(_0xa12226,_0x494403,_0x305103){return _0xa12226(_0x494403,_0x305103);},'dAULj':'utf-8','ryhKa':function(_0x29d1c3,_0x1bb6df){return _0x29d1c3!==_0x1bb6df;}};try{const _0x4619d4=JSON[_0x7d4c95(0x149)](await _0x258905[_0x7d4c95(0x153)](readFile,TOKEN_CACHE_PATH,_0x258905['dAULj']));if(_0x4619d4['origin']&&_0x258905['ryhKa'](_0x4619d4[_0x7d4c95(0x11b)],currentOrigin))return null;if(_0x4619d4[_0x7d4c95(0x187)]&&Date['now']()>_0x4619d4['expiresAt'])return null;return _0x4619d4[_0x7d4c95(0x165)]??null;}catch{return null;}}async function saveCachedToken(_0x2cc1b5,_0x31fe6f,_0x33e850){const _0x390df4=_0x423240,_0x248723={'DxZlm':function(_0x1d9d30,_0x54044d){return _0x1d9d30*_0x54044d;},'OhjSo':function(_0x37fba8,_0x2a668b,_0x2a8cc0){return _0x37fba8(_0x2a668b,_0x2a8cc0);},'iJQND':_0x390df4(0x111),'vjnsi':function(_0x4eae73,_0x31dcac,_0x583cd2,_0x2ed19e){return _0x4eae73(_0x31dcac,_0x583cd2,_0x2ed19e);}},_0x2ed98f=await loadCachedData(),_0x4e5b99={..._0x2ed98f,'origin':currentOrigin,'accessToken':_0x2cc1b5,'refreshToken':_0x31fe6f??_0x2ed98f?.[_0x390df4(0x100)],'expiresAt':_0x33e850?Date[_0x390df4(0x132)]()+_0x248723[_0x390df4(0x158)](_0x33e850,0x3e8):undefined};await _0x248723[_0x390df4(0x126)](mkdir,join(homedir(),_0x248723['iJQND']),{'recursive':!![]}),await _0x248723[_0x390df4(0x163)](writeFile,TOKEN_CACHE_PATH,JSON[_0x390df4(0x10f)](_0x4e5b99),{'mode':0x180});}async function loadCachedClient(){const _0x39677c=_0x423240,_0x3ee8ee={'meqve':function(_0x4fff0b){return _0x4fff0b();}},_0x27b2bd=await _0x3ee8ee[_0x39677c(0x138)](loadCachedData);if(_0x27b2bd?.[_0x39677c(0x11b)]&&_0x27b2bd[_0x39677c(0x11b)]!==currentOrigin)return null;return _0x27b2bd?.['clientId']?{'clientId':_0x27b2bd[_0x39677c(0x176)],'clientSecret':_0x27b2bd['clientSecret']}:null;}async function clearCachedClient(){const _0x27b9dd=await loadCachedData();if(!_0x27b9dd)return;const {clientId:_0x18560f,clientSecret:_0x3fe5d2,..._0x2b76f1}=_0x27b9dd;await writeFile(TOKEN_CACHE_PATH,JSON['stringify'](_0x2b76f1),{'mode':0x180});}async function saveCachedClient(_0x58649f,_0x1fe4fd){const _0x54dbd=_0x423240,_0x1ab7bc={'iBSil':function(_0x570e0d){return _0x570e0d();},'VCPZz':'.ranger'},_0x3f2bbc=await _0x1ab7bc['iBSil'](loadCachedData),_0x3181ed={..._0x3f2bbc,'origin':currentOrigin,'accessToken':_0x3f2bbc?.['accessToken']??'','clientId':_0x58649f,'clientSecret':_0x1fe4fd};await mkdir(join(homedir(),_0x1ab7bc[_0x54dbd(0x130)]),{'recursive':!![]}),await writeFile(TOKEN_CACHE_PATH,JSON['stringify'](_0x3181ed),{'mode':0x180});}async function loadCachedData(){const _0x36b21b=_0x423240,_0x272839={'aBAyX':_0x36b21b(0x125)};try{return JSON[_0x36b21b(0x149)](await readFile(TOKEN_CACHE_PATH,_0x272839[_0x36b21b(0x161)]));}catch{return null;}}async function parseResponse(_0x507c33){const _0x2c3bf7=_0x423240,_0x38b67b={'oXNCY':_0x2c3bf7(0x183),'qfqgi':_0x2c3bf7(0x193),'FmmGR':'data:','WGZDB':function(_0x2f39e1,_0x31f4d4){return _0x2f39e1!==_0x31f4d4;},'aYISU':'No\x20JSON-RPC\x20response\x20found\x20in\x20SSE\x20stream'},_0x47552a=_0x507c33[_0x2c3bf7(0x135)][_0x2c3bf7(0x131)](_0x38b67b[_0x2c3bf7(0x18e)])??'';if(_0x47552a['includes'](_0x38b67b['qfqgi'])){const _0x10af55=await _0x507c33['text']();for(const _0x307258 of _0x10af55['split']('\x0a')){const _0x554112=_0x307258['trim']();if(_0x554112['startsWith'](_0x2c3bf7(0x196))){const _0x1af8fa=_0x554112['slice'](_0x38b67b[_0x2c3bf7(0x195)][_0x2c3bf7(0x191)])[_0x2c3bf7(0x122)]();if(!_0x1af8fa)continue;try{const _0x51a2c4=JSON['parse'](_0x1af8fa);if(_0x38b67b[_0x2c3bf7(0x14f)](_0x51a2c4['id'],undefined)||_0x51a2c4[_0x2c3bf7(0x185)])return _0x51a2c4;}catch{}}}throw new Error(_0x38b67b[_0x2c3bf7(0x17f)]);}return _0x507c33['json']();}function extractToken(_0x151ac0){const _0x24e568=_0x423240,_0x3da9ce={'wyWtq':function(_0x445dcf,_0x2e775f){return _0x445dcf===_0x2e775f;},'WFkIO':'text','BoMIg':function(_0x37aa26,_0x157aba){return _0x37aa26===_0x157aba;}};if(!_0x151ac0)return null;const _0x11da1a=_0x151ac0['structuredContent'];if(_0x11da1a?.[_0x24e568(0x17c)]&&typeof _0x11da1a['token']===_0x24e568(0x171))return _0x11da1a[_0x24e568(0x17c)];if(_0x151ac0[_0x24e568(0x107)]){const _0x35ef04=_0x151ac0['content'];throw new Error(_0x24e568(0x16e)+(_0x35ef04?.[0x0]?.[_0x24e568(0x14b)]??_0x24e568(0x102)));}const _0x1ed19a=_0x151ac0['content'];if(_0x1ed19a)for(const _0xde5d86 of _0x1ed19a){if(_0x3da9ce['wyWtq'](_0xde5d86[_0x24e568(0x104)],_0x3da9ce[_0x24e568(0x146)])&&_0xde5d86[_0x24e568(0x14b)]){try{const _0x114494=JSON[_0x24e568(0x149)](_0xde5d86[_0x24e568(0x14b)]);if(_0x3da9ce['BoMIg'](typeof _0x114494?.['token'],_0x24e568(0x171)))return _0x114494[_0x24e568(0x17c)];}catch{}const _0x41980f=_0xde5d86[_0x24e568(0x14b)][_0x24e568(0x164)](/(rngr_[A-Za-z0-9_-]+)/);if(_0x41980f)return _0x41980f[0x1];}}return null;}
@@ -1 +1 @@
1
- (function(_0x1d403a,_0x297dc2){var _0x472cc0=_0xb586,_0x1e15fb=_0x1d403a();while(!![]){try{var _0x492a95=-parseInt(_0x472cc0(0x103))/0x1+parseInt(_0x472cc0(0x10c))/0x2+-parseInt(_0x472cc0(0x109))/0x3+-parseInt(_0x472cc0(0x107))/0x4*(-parseInt(_0x472cc0(0x10e))/0x5)+-parseInt(_0x472cc0(0x10f))/0x6*(parseInt(_0x472cc0(0x10b))/0x7)+-parseInt(_0x472cc0(0x106))/0x8+-parseInt(_0x472cc0(0x102))/0x9*(-parseInt(_0x472cc0(0x110))/0xa);if(_0x492a95===_0x297dc2)break;else _0x1e15fb['push'](_0x1e15fb['shift']());}catch(_0x38fd09){_0x1e15fb['push'](_0x1e15fb['shift']());}}}(_0x26ac,0x4e3e7));export async function migrateProfile(_0x457613,_0x3b1878){var _0x555b09=_0xb586,_0x23d913={'HOQwE':function(_0x4dc48e,_0x3937b1){return _0x4dc48e+_0x3937b1;},'eLKpw':function(_0x38ab92,_0x11f80f){return _0x38ab92+_0x11f80f;},'OpYAz':function(_0x346460,_0x580f1b){return _0x346460+_0x580f1b;},'rBQCf':function(_0x39ffba,_0x2d46ef){return _0x39ffba+_0x2d46ef;},'fICnF':'For\x20CI\x20/\x20background\x20agents\x20and\x20other\x20setup\x20options,\x20see:\x0a','pMbHn':_0x555b09(0x112),'GbkvZ':'fallback;\x20you\x20can\x20delete\x20them\x20once\x20you\x20have\x20re-auth-ed.'};console[_0x555b09(0x101)](_0x23d913[_0x555b09(0x105)](_0x23d913[_0x555b09(0x105)](_0x23d913[_0x555b09(0x105)](_0x23d913['eLKpw'](_0x23d913['OpYAz'](_0x23d913[_0x555b09(0x111)](_0x555b09(0x113)+'\x0a','To\x20set\x20up\x20a\x20fresh\x20profile,\x20run:\x0a'),'\x20\x20ranger\x20profile\x20add\x20<name>\x0a')+'\x0a'+_0x23d913[_0x555b09(0x10a)],_0x23d913[_0x555b09(0x108)]),'\x0a'),_0x555b09(0x10d)),_0x23d913[_0x555b09(0x104)])),process['exit'](0x1);}function _0xb586(_0x4d6484,_0x29fe64){_0x4d6484=_0x4d6484-0x101;var _0x26ac5d=_0x26ac();var _0xb5868f=_0x26ac5d[_0x4d6484];return _0xb5868f;}function _0x26ac(){var _0x4c8048=['24pXqpWY','10HXexEr','rBQCf','\x20\x20https://docs.ranger.net/main/concepts/profiles\x0a','ranger\x20profile\x20migrate\x20is\x20no\x20longer\x20supported.\x0a','error','11830113uraBLU','591451ePbHsK','GbkvZ','HOQwE','3226672BSywGP','4AxCXDx','pMbHn','550524qRGasa','fICnF','373639ckbore','430572UUUzZl','Existing\x20sessions\x20in\x20your\x20old\x20<project>/.ranger/\x20dirs\x20still\x20work\x20as\x20a\x0a','912725bXbgYb'];_0x26ac=function(){return _0x4c8048;};return _0x26ac();}
1
+ function _0x1d48(){var _0x389b1d=['uUWkR','91662RfcuTl','10JWIdiC','873132YGobwD','fallback;\x20you\x20can\x20delete\x20them\x20once\x20you\x20have\x20re-auth-ed.','To\x20set\x20up\x20a\x20fresh\x20profile,\x20run:\x0a','ranger\x20profile\x20migrate\x20is\x20no\x20longer\x20supported.\x0a','880UdrQPO','1206744dCtvgT','22014EgMloz','BiTUN','exit','296015ubploP','KaDOe','228084YVhdUi','8PBrrue','zbJRy','33242fgpIrM','jpCrG','18HwDNlL','\x20\x20https://docs.ranger.net/main/concepts/profiles\x0a'];_0x1d48=function(){return _0x389b1d;};return _0x1d48();}function _0x438a(_0x3d2185,_0x46fd6b){_0x3d2185=_0x3d2185-0x1da;var _0x1d4852=_0x1d48();var _0x438a34=_0x1d4852[_0x3d2185];return _0x438a34;}(function(_0x1c8249,_0x8733d2){var _0x4fdc72=_0x438a,_0x54fe81=_0x1c8249();while(!![]){try{var _0x21ac96=-parseInt(_0x4fdc72(0x1ee))/0x1*(-parseInt(_0x4fdc72(0x1e7))/0x2)+-parseInt(_0x4fdc72(0x1db))/0x3+parseInt(_0x4fdc72(0x1e6))/0x4+-parseInt(_0x4fdc72(0x1e4))/0x5*(-parseInt(_0x4fdc72(0x1eb))/0x6)+-parseInt(_0x4fdc72(0x1e0))/0x7+parseInt(_0x4fdc72(0x1df))/0x8*(parseInt(_0x4fdc72(0x1e1))/0x9)+-parseInt(_0x4fdc72(0x1da))/0xa*(-parseInt(_0x4fdc72(0x1e9))/0xb);if(_0x21ac96===_0x8733d2)break;else _0x54fe81['push'](_0x54fe81['shift']());}catch(_0x2a8d15){_0x54fe81['push'](_0x54fe81['shift']());}}}(_0x1d48,0x64144));export async function migrateProfile(_0x104c81,_0x158d6b){var _0x2eddf4=_0x438a,_0x1e913d={'zbJRy':function(_0x185235,_0x53ad97){return _0x185235+_0x53ad97;},'uUWkR':function(_0x228c30,_0xc4030e){return _0x228c30+_0xc4030e;},'BiTUN':function(_0xd0a182,_0x30e5a1){return _0xd0a182+_0x30e5a1;},'KaDOe':function(_0x51f21c,_0x365c91){return _0x51f21c+_0x365c91;},'xLhtR':_0x2eddf4(0x1dd),'LgnuD':'\x20\x20ranger\x20profile\x20add\x20<name>\x0a','jpCrG':'For\x20CI\x20/\x20background\x20agents\x20and\x20other\x20setup\x20options,\x20see:\x0a'};console['error'](_0x1e913d[_0x2eddf4(0x1e8)](_0x1e913d['uUWkR'](_0x1e913d[_0x2eddf4(0x1ed)](_0x1e913d['uUWkR'](_0x1e913d[_0x2eddf4(0x1e2)](_0x1e913d[_0x2eddf4(0x1e5)](_0x2eddf4(0x1de),'\x0a'),_0x1e913d['xLhtR']),_0x1e913d['LgnuD'])+'\x0a'+_0x1e913d[_0x2eddf4(0x1ea)]+_0x2eddf4(0x1ec),'\x0a'),'Existing\x20sessions\x20in\x20your\x20old\x20<project>/.ranger/\x20dirs\x20still\x20work\x20as\x20a\x0a'),_0x2eddf4(0x1dc))),process[_0x2eddf4(0x1e3)](0x1);}
@@ -1 +1 @@
1
- (function(_0x3832d1,_0x337c12){const _0x51cb66=_0x58af,_0x138db6=_0x3832d1();while(!![]){try{const _0x1ad68a=parseInt(_0x51cb66(0xe7))/0x1*(-parseInt(_0x51cb66(0x101))/0x2)+parseInt(_0x51cb66(0x10d))/0x3+-parseInt(_0x51cb66(0x11b))/0x4*(-parseInt(_0x51cb66(0xfc))/0x5)+parseInt(_0x51cb66(0xff))/0x6*(-parseInt(_0x51cb66(0x109))/0x7)+-parseInt(_0x51cb66(0xfa))/0x8+parseInt(_0x51cb66(0xeb))/0x9*(-parseInt(_0x51cb66(0xf2))/0xa)+parseInt(_0x51cb66(0x11d))/0xb;if(_0x1ad68a===_0x337c12)break;else _0x138db6['push'](_0x138db6['shift']());}catch(_0x54a20b){_0x138db6['push'](_0x138db6['shift']());}}}(_0x4151,0xe4fa8));import{join}from'path';function _0x58af(_0x40cc05,_0x49f2e2){_0x40cc05=_0x40cc05-0xe5;const _0x41511d=_0x4151();let _0x58af90=_0x41511d[_0x40cc05];return _0x58af90;}import{existsSync}from'fs';import _0x48edff from'inquirer';import{skillup}from'../skillup.js';import{runClaudeCommand,isMarketplaceAdded,isPluginInstalled}from'../utils/claudePlugin.js';import{getProjectRoot,getSkillsDir}from'../utils/claudeConfig.js';export async function ensureClaudePlugin(_0x4ac700){const _0x2870ef=_0x58af,_0x22570e={'JSQhb':_0x2870ef(0x104),'fSCUP':_0x2870ef(0x100),'QLpYB':function(_0x2d6145,_0x2dc116){return _0x2d6145(_0x2dc116);},'FedCf':function(_0x40698a,_0x35fc32,_0x2b7893){return _0x40698a(_0x35fc32,_0x2b7893);},'nueop':function(_0x3896b2){return _0x3896b2();},'jBkDN':_0x2870ef(0xf4),'sdQuk':_0x2870ef(0xea),'UPkZA':'User\x20(available\x20in\x20all\x20your\x20projects)','RwQSc':_0x2870ef(0x10b),'QBgQT':_0x2870ef(0x113),'nssIX':function(_0x3331c5,_0x29b3ef){return _0x3331c5(_0x29b3ef);},'XAjeI':_0x2870ef(0x116),'kvEFG':_0x2870ef(0x114),'afdKC':'plugin','ucEFY':_0x2870ef(0x10c),'ZhCdt':'\x20\x20claude\x20plugin\x20marketplace\x20add\x20ranger-testing/trailhead','ywzrB':_0x2870ef(0x115),'LIwrj':'✓\x20Claude\x20Code\x20plugin\x20installed\x20successfully','pUgXT':_0x2870ef(0x10f),'EeJsJ':function(_0x555c00,_0x2076c0){return _0x555c00===_0x2076c0;},'qgzeU':_0x2870ef(0x106)},_0xaab723=await isPluginInstalled(_0x22570e[_0x2870ef(0x120)]);if(_0xaab723)return console[_0x2870ef(0xfb)](_0x22570e['fSCUP']),![];const _0x6357b1=_0x22570e[_0x2870ef(0xf7)](existsSync,_0x22570e[_0x2870ef(0xee)](join,_0x22570e[_0x2870ef(0x108)](getProjectRoot),_0x22570e[_0x2870ef(0xe9)]));let _0x4c129f;if(_0x4ac700)_0x4c129f=_0x4ac700;else{if(_0x6357b1)_0x4c129f=_0x2870ef(0x113);else{console['log'](_0x2870ef(0x107));const _0x5706f1=await _0x48edff['prompt']([{'type':_0x2870ef(0xef),'name':_0x2870ef(0xed),'message':_0x22570e['sdQuk'],'choices':[{'name':_0x22570e['UPkZA'],'value':_0x2870ef(0x10a)},{'name':_0x22570e[_0x2870ef(0xec)],'value':_0x22570e['QBgQT']}],'default':_0x2870ef(0x10a)}]);_0x4c129f=_0x5706f1[_0x2870ef(0xed)];}}console[_0x2870ef(0xfb)](_0x2870ef(0x103)+_0x4c129f+'\x20level)...\x0a');const _0x522eab=await _0x22570e[_0x2870ef(0xe8)](isMarketplaceAdded,_0x22570e['XAjeI']);let _0x4c3b14=_0x522eab;if(_0x522eab)console[_0x2870ef(0xfb)](_0x22570e['kvEFG']);else{const _0x6935da=await _0x22570e[_0x2870ef(0xe8)](runClaudeCommand,[_0x22570e[_0x2870ef(0x111)],'marketplace',_0x22570e[_0x2870ef(0xe6)],_0x2870ef(0xfe)]);!_0x6935da['success']?(console[_0x2870ef(0xf1)](_0x2870ef(0x10e),_0x6935da[_0x2870ef(0xf1)]),console['log'](_0x2870ef(0xf8)),console['log'](_0x22570e['ZhCdt']),console[_0x2870ef(0xfb)]('\x20\x20claude\x20plugin\x20install\x20ranger@trailhead\x20--scope\x20'+_0x4c129f)):_0x4c3b14=!![];}if(_0x4c3b14){const _0x57fd13=await _0x22570e[_0x2870ef(0xee)](runClaudeCommand,[_0x22570e['afdKC'],_0x2870ef(0x110),_0x22570e[_0x2870ef(0x120)],_0x2870ef(0x10f),_0x4c129f],{'cwd':_0x4c129f===_0x22570e['QBgQT']?_0x22570e['nueop'](getProjectRoot):undefined});if(!_0x57fd13[_0x2870ef(0xf9)])console['error'](_0x22570e['ywzrB'],_0x57fd13['error']),console['log']('\x0aYou\x20can\x20install\x20manually\x20with:'),console['log']('\x20\x20claude\x20plugin\x20install\x20ranger@trailhead\x20--scope\x20'+_0x4c129f);else{console[_0x2870ef(0xfb)](_0x22570e[_0x2870ef(0xf0)]);const _0x312d63=[_0x2870ef(0xf3),'enable',_0x22570e[_0x2870ef(0x120)]];_0x4c129f===_0x22570e[_0x2870ef(0x118)]&&_0x312d63['push'](_0x22570e[_0x2870ef(0x119)],_0x2870ef(0x113));const _0x175dfa=await runClaudeCommand(_0x312d63,{'captureOutput':!![],'cwd':_0x22570e['EeJsJ'](_0x4c129f,_0x22570e[_0x2870ef(0x118)])?getProjectRoot():undefined}),_0x124966=_0x175dfa[_0x2870ef(0x102)]?.['includes']('already\x20enabled');!_0x175dfa[_0x2870ef(0xf9)]&&!_0x124966?console[_0x2870ef(0xf1)]('⚠\x20Failed\x20to\x20enable\x20plugin:',_0x175dfa['error']):console[_0x2870ef(0xfb)](_0x22570e['qgzeU']);}}return!![];}export async function ensureClaudeSkills(_0x46c3db){const _0x43908b=_0x58af,_0x17a39f={'vcCbv':function(_0x43315e,_0x168b8e){return _0x43315e(_0x168b8e);},'vaGjc':function(_0x226287,_0x51784d,_0x3cabd9,_0x5e1fc7){return _0x226287(_0x51784d,_0x3cabd9,_0x5e1fc7);},'uABsB':'ranger','bQzuJ':'SKILL.md','pauUL':function(_0x1647f6,_0x3f39e9,_0x515ae6,_0x30e21b){return _0x1647f6(_0x3f39e9,_0x515ae6,_0x30e21b);},'ymDjD':'project','aETNb':'✓\x20Ranger\x20skills\x20already\x20installed','MQuIm':function(_0x4e1dfd,_0x3e476d,_0x152f5f){return _0x4e1dfd(_0x3e476d,_0x152f5f);},'WNcrg':function(_0x2580e1){return _0x2580e1();},'TjQwM':_0x43908b(0xe5)},_0x41cfee=_0x17a39f['vcCbv'](existsSync,_0x17a39f['vaGjc'](join,_0x17a39f['vcCbv'](getSkillsDir,_0x43908b(0x10a)),_0x17a39f[_0x43908b(0x11f)],_0x17a39f[_0x43908b(0xf6)])),_0x2b1c6c=_0x17a39f['vcCbv'](existsSync,_0x17a39f[_0x43908b(0x11a)](join,getSkillsDir(_0x17a39f[_0x43908b(0x112)]),'ranger',_0x17a39f['bQzuJ']));if(_0x41cfee||_0x2b1c6c)return console['log'](_0x17a39f[_0x43908b(0xfd)]),![];const _0x3e8b47=_0x17a39f['vcCbv'](existsSync,_0x17a39f[_0x43908b(0x105)](join,_0x17a39f['WNcrg'](getProjectRoot),'.claude'));let _0x3e4ccb=!![];if(_0x46c3db)await _0x17a39f[_0x43908b(0x117)](skillup,{'autoInstall':_0x46c3db,'suppressUsage':!![]});else{if(_0x3e8b47)await skillup({'autoInstall':_0x17a39f['ymDjD'],'suppressUsage':!![]});else{const _0x5ee9b4=await _0x48edff[_0x43908b(0x11e)]([{'type':'confirm','name':_0x17a39f[_0x43908b(0x11c)],'message':_0x43908b(0xf5),'default':!![]}]);_0x3e4ccb=_0x5ee9b4['wantsSkillup'],_0x3e4ccb&&await skillup({'suppressUsage':!![]});}}return _0x3e4ccb;}function _0x4151(){const _0x451d81=['QLpYB','\x0aYou\x20can\x20install\x20manually\x20with:','success','8720536NccXFN','log','510PrhXtR','aETNb','ranger-testing/trailhead','12YbaFig','✓\x20Claude\x20Code\x20plugin\x20already\x20installed','1205642JoqUIT','output','\x0aInstalling\x20Claude\x20Code\x20plugin\x20(','ranger@trailhead','MQuIm','✓\x20Claude\x20Code\x20plugin\x20enabled','\x0a📦\x20Claude\x20Code\x20Plugin\x0a','nueop','4990391BRbqxO','user','Project\x20(shared\x20with\x20team\x20via\x20git)','add','1368456UveTVX','❌\x20Failed\x20to\x20add\x20marketplace:','--scope','install','afdKC','ymDjD','project','✓\x20Marketplace\x20already\x20added','❌\x20Failed\x20to\x20install\x20plugin:','trailhead','vcCbv','QBgQT','pUgXT','pauUL','67812hPZcBP','TjQwM','38841286UnamXN','prompt','uABsB','JSQhb','wantsSkillup','ucEFY','1tykiJq','nssIX','jBkDN','Where\x20should\x20the\x20plugin\x20be\x20installed?','7468983qqnadF','RwQSc','pluginScope','FedCf','list','LIwrj','error','20NvOsDH','plugin','.claude','Would\x20you\x20like\x20to\x20install\x20skills?','bQzuJ'];_0x4151=function(){return _0x451d81;};return _0x4151();}
1
+ (function(_0x340040,_0x3a1756){const _0xf1186=_0x2292,_0x153edb=_0x340040();while(!![]){try{const _0x19ee06=-parseInt(_0xf1186(0x98))/0x1+parseInt(_0xf1186(0xba))/0x2*(-parseInt(_0xf1186(0x8d))/0x3)+parseInt(_0xf1186(0xac))/0x4+parseInt(_0xf1186(0xc1))/0x5*(-parseInt(_0xf1186(0xae))/0x6)+parseInt(_0xf1186(0xa8))/0x7*(-parseInt(_0xf1186(0x8f))/0x8)+parseInt(_0xf1186(0x91))/0x9+-parseInt(_0xf1186(0xa4))/0xa*(-parseInt(_0xf1186(0xa3))/0xb);if(_0x19ee06===_0x3a1756)break;else _0x153edb['push'](_0x153edb['shift']());}catch(_0x1bc931){_0x153edb['push'](_0x153edb['shift']());}}}(_0x5374,0xada90));import{join}from'path';import{existsSync}from'fs';import _0x535ca3 from'inquirer';import{skillup}from'../skillup.js';import{runClaudeCommand,isMarketplaceAdded,isPluginInstalled}from'../utils/claudePlugin.js';import{getProjectRoot,getSkillsDir}from'../utils/claudeConfig.js';function _0x5374(){const _0x270b03=['.claude','ranger','vbovq','136995VMwUJk','ODNoe','\x0aYou\x20can\x20install\x20manually\x20with:','VRXSg','ADZHB','35988HejIoH','❌\x20Failed\x20to\x20install\x20plugin:','660568YhEJNr','project','8172477qAKhtp','--scope','UwGRA','user','CeHuc','xnacF','hrHcU','1101223wUujmZ','lFbGu','zTYFq','error','marketplace','\x0a📦\x20Claude\x20Code\x20Plugin\x0a','User\x20(available\x20in\x20all\x20your\x20projects)','✓\x20Claude\x20Code\x20plugin\x20already\x20installed','\x20\x20claude\x20plugin\x20install\x20ranger@trailhead\x20--scope\x20','DLCtZ','VicLE','65362uUhoyA','240LuexWm','agEcm','pluginScope','⚠\x20Failed\x20to\x20enable\x20plugin:','7iZDzxI','Bsjfp','prompt','list','4638992rBQjSG','✓\x20Ranger\x20skills\x20already\x20installed','6zgyIZW','✓\x20Marketplace\x20already\x20added','XZqhV','success','confirm','gTRtF','Project\x20(shared\x20with\x20team\x20via\x20git)','log','wantsSkillup','✓\x20Claude\x20Code\x20plugin\x20enabled','ranger@trailhead','plugin','48gdvXjM','✓\x20Claude\x20Code\x20plugin\x20installed\x20successfully','SVNwV','output'];_0x5374=function(){return _0x270b03;};return _0x5374();}export async function ensureClaudePlugin(_0x922993){const _0x4db991=_0x2292,_0x3ac510={'sbEpz':function(_0x4cfccf,_0x9f675e){return _0x4cfccf(_0x9f675e);},'SVNwV':'ranger@trailhead','cFRKl':_0x4db991(0x9f),'XZqhV':'project','KsBIX':_0x4db991(0x9d),'hrHcU':_0x4db991(0xab),'vbovq':_0x4db991(0x94),'QuFdB':_0x4db991(0xaf),'VicLE':_0x4db991(0x9c),'ODNoe':'❌\x20Failed\x20to\x20add\x20marketplace:','agEcm':function(_0x6a316c,_0xc5de0b,_0xa0f6bd){return _0x6a316c(_0xc5de0b,_0xa0f6bd);},'UwGRA':'plugin','lFbGu':_0x4db991(0x92),'xnacF':function(_0x4ead1b,_0x3d4f87){return _0x4ead1b===_0x3d4f87;},'czIXS':function(_0x58e2fc){return _0x58e2fc();},'aVnoi':'enable','GdHeu':function(_0x56755a,_0x70ab67,_0xf5cf8e){return _0x56755a(_0x70ab67,_0xf5cf8e);},'zTYFq':function(_0x3f0ca0,_0x5b80a0){return _0x3f0ca0===_0x5b80a0;},'bszoA':_0x4db991(0xa7)},_0x21df3f=await _0x3ac510['sbEpz'](isPluginInstalled,_0x3ac510['SVNwV']);if(_0x21df3f)return console[_0x4db991(0xb5)](_0x3ac510['cFRKl']),![];const _0x587a38=existsSync(join(getProjectRoot(),_0x4db991(0xbe)));let _0x384a7a;if(_0x922993)_0x384a7a=_0x922993;else{if(_0x587a38)_0x384a7a=_0x3ac510['XZqhV'];else{console[_0x4db991(0xb5)](_0x3ac510['KsBIX']);const _0x535aef=await _0x535ca3[_0x4db991(0xaa)]([{'type':_0x3ac510[_0x4db991(0x97)],'name':_0x4db991(0xa6),'message':'Where\x20should\x20the\x20plugin\x20be\x20installed?','choices':[{'name':_0x4db991(0x9e),'value':_0x3ac510[_0x4db991(0xc0)]},{'name':_0x4db991(0xb4),'value':_0x3ac510['XZqhV']}],'default':_0x4db991(0x94)}]);_0x384a7a=_0x535aef['pluginScope'];}}console[_0x4db991(0xb5)]('\x0aInstalling\x20Claude\x20Code\x20plugin\x20('+_0x384a7a+'\x20level)...\x0a');const _0x10cfe3=await _0x3ac510['sbEpz'](isMarketplaceAdded,'trailhead');let _0x3ceb1e=_0x10cfe3;if(_0x10cfe3)console[_0x4db991(0xb5)](_0x3ac510['QuFdB']);else{const _0x5e1975=await runClaudeCommand([_0x4db991(0xb9),_0x3ac510[_0x4db991(0xa2)],'add','ranger-testing/trailhead']);!_0x5e1975['success']?(console[_0x4db991(0x9b)](_0x3ac510[_0x4db991(0xc2)],_0x5e1975[_0x4db991(0x9b)]),console['log']('\x0aYou\x20can\x20install\x20manually\x20with:'),console['log']('\x20\x20claude\x20plugin\x20marketplace\x20add\x20ranger-testing/trailhead'),console[_0x4db991(0xb5)](_0x4db991(0xa0)+_0x384a7a)):_0x3ceb1e=!![];}if(_0x3ceb1e){const _0x494b6b=await _0x3ac510[_0x4db991(0xa5)](runClaudeCommand,[_0x3ac510[_0x4db991(0x93)],'install',_0x4db991(0xb8),_0x3ac510[_0x4db991(0x99)],_0x384a7a],{'cwd':_0x3ac510[_0x4db991(0x96)](_0x384a7a,'project')?_0x3ac510['czIXS'](getProjectRoot):undefined});if(!_0x494b6b[_0x4db991(0xb1)])console['error'](_0x4db991(0x8e),_0x494b6b['error']),console['log'](_0x4db991(0xc3)),console['log']('\x20\x20claude\x20plugin\x20install\x20ranger@trailhead\x20--scope\x20'+_0x384a7a);else{console['log'](_0x4db991(0xbb));const _0x58b0f7=[_0x3ac510['UwGRA'],_0x3ac510['aVnoi'],_0x3ac510[_0x4db991(0xbc)]];_0x384a7a===_0x3ac510[_0x4db991(0xb0)]&&_0x58b0f7['push'](_0x3ac510['lFbGu'],_0x4db991(0x90));const _0x334e0f=await _0x3ac510['GdHeu'](runClaudeCommand,_0x58b0f7,{'captureOutput':!![],'cwd':_0x3ac510[_0x4db991(0x9a)](_0x384a7a,_0x4db991(0x90))?getProjectRoot():undefined}),_0x30d317=_0x334e0f[_0x4db991(0xbd)]?.['includes']('already\x20enabled');!_0x334e0f[_0x4db991(0xb1)]&&!_0x30d317?console['error'](_0x3ac510['bszoA'],_0x334e0f[_0x4db991(0x9b)]):console[_0x4db991(0xb5)](_0x4db991(0xb7));}}return!![];}function _0x2292(_0x53c2f7,_0x42d4af){_0x53c2f7=_0x53c2f7-0x8b;const _0x53744b=_0x5374();let _0x2292b2=_0x53744b[_0x53c2f7];return _0x2292b2;}export async function ensureClaudeSkills(_0x7006de){const _0x54ece8=_0x2292,_0x3e784b={'MNRXS':function(_0x17b875,_0x1b207e,_0x3af1e3,_0x36631b){return _0x17b875(_0x1b207e,_0x3af1e3,_0x36631b);},'CeHuc':_0x54ece8(0x94),'VRXSg':'ranger','Bsjfp':function(_0x12820d,_0x39b2d8){return _0x12820d(_0x39b2d8);},'aHOCK':function(_0x4aaad6,_0x408a3f,_0x3ce111){return _0x4aaad6(_0x408a3f,_0x3ce111);},'DLCtZ':_0x54ece8(0xbe),'gTRtF':function(_0x40fc4e,_0x5c4a88){return _0x40fc4e(_0x5c4a88);},'aiNdT':'project','ADZHB':_0x54ece8(0xb6)},_0x5c1bf0=existsSync(_0x3e784b['MNRXS'](join,getSkillsDir(_0x3e784b[_0x54ece8(0x95)]),_0x3e784b[_0x54ece8(0x8b)],'SKILL.md')),_0x2f1f7d=existsSync(join(_0x3e784b['Bsjfp'](getSkillsDir,_0x54ece8(0x90)),_0x54ece8(0xbf),'SKILL.md'));if(_0x5c1bf0||_0x2f1f7d)return console[_0x54ece8(0xb5)](_0x54ece8(0xad)),![];const _0x4aeec8=_0x3e784b[_0x54ece8(0xa9)](existsSync,_0x3e784b['aHOCK'](join,getProjectRoot(),_0x3e784b[_0x54ece8(0xa1)]));let _0x4dddfa=!![];if(_0x7006de)await _0x3e784b['gTRtF'](skillup,{'autoInstall':_0x7006de,'suppressUsage':!![]});else{if(_0x4aeec8)await _0x3e784b[_0x54ece8(0xb3)](skillup,{'autoInstall':_0x3e784b['aiNdT'],'suppressUsage':!![]});else{const _0x6550ba=await _0x535ca3[_0x54ece8(0xaa)]([{'type':_0x54ece8(0xb2),'name':_0x3e784b[_0x54ece8(0x8c)],'message':'Would\x20you\x20like\x20to\x20install\x20skills?','default':!![]}]);_0x4dddfa=_0x6550ba['wantsSkillup'],_0x4dddfa&&await skillup({'suppressUsage':!![]});}}return _0x4dddfa;}
@@ -1 +1 @@
1
- (function(_0xb39008,_0x38bf94){const _0x25ff6f=_0x2a3e,_0x15b8ae=_0xb39008();while(!![]){try{const _0x1ebcc0=parseInt(_0x25ff6f(0x19b))/0x1+-parseInt(_0x25ff6f(0x1a7))/0x2*(-parseInt(_0x25ff6f(0x1a3))/0x3)+-parseInt(_0x25ff6f(0x195))/0x4+parseInt(_0x25ff6f(0x193))/0x5+-parseInt(_0x25ff6f(0x1a1))/0x6*(parseInt(_0x25ff6f(0x1a4))/0x7)+parseInt(_0x25ff6f(0x18e))/0x8+parseInt(_0x25ff6f(0x194))/0x9*(-parseInt(_0x25ff6f(0x19e))/0xa);if(_0x1ebcc0===_0x38bf94)break;else _0x15b8ae['push'](_0x15b8ae['shift']());}catch(_0x576e22){_0x15b8ae['push'](_0x15b8ae['shift']());}}}(_0x2ac5,0x690ce));import{join}from'path';function _0x2ac5(){const _0x2e5727=['10QOPmkL','YUfxZ','RtxPV','utf-8','✓\x20OpenCode\x20plugin\x20already\x20configured','IPXBz','\x0a📦\x20OpenCode\x20Plugin\x0a','faDpl','includes','3086824kYUVfE','uAAQX','log','$schema','eETCn','921465FTJXhx','4608qMkNFj','691052koLjnd','Project\x20(shared\x20with\x20team\x20via\x20git)','GauNG','prompt','project','pluginScope','710536rYvAdJ','stringify','https://opencode.ai/config.json','20330AHaXSS','lqvNR','plugin','12XMohem','dCrfk','353859YcgbsH','792757atjjot','⚠\x20Failed\x20to\x20read\x20opencode.json.\x20Please\x20add\x20the\x20plugin\x20manually.','list'];_0x2ac5=function(){return _0x2e5727;};return _0x2ac5();}function _0x2a3e(_0x43da2e,_0x18010f){_0x43da2e=_0x43da2e-0x18d;const _0x2ac531=_0x2ac5();let _0x2a3e11=_0x2ac531[_0x43da2e];return _0x2a3e11;}import{existsSync}from'fs';import{mkdir,readFile,writeFile}from'fs/promises';import _0x20cd63 from'inquirer';import{getOpencodeConfigDir}from'../utils/opencodeConfig.js';export async function ensureOpencodePluginConfig(_0x30efcc){const _0x41c8d4=_0x2a3e,_0x45b85f={'GauNG':function(_0x192747,_0x216e78){return _0x192747(_0x216e78);},'uAAQX':'project','faDpl':'opencode.json','eSgZB':_0x41c8d4(0x1ad),'rElhB':'pluginScope','UQLvF':'Where\x20should\x20the\x20plugin\x20be\x20installed?','RtxPV':_0x41c8d4(0x196),'GsvKm':'user','lqvNR':function(_0x949f4f,_0x150b7e,_0x23e299){return _0x949f4f(_0x150b7e,_0x23e299);},'dCrfk':function(_0x51a372,_0x18534e){return _0x51a372(_0x18534e);},'eETCn':_0x41c8d4(0x19d),'YUfxZ':function(_0x25f348,_0x9d521f,_0x932bb1){return _0x25f348(_0x9d521f,_0x932bb1);},'ZOHXv':_0x41c8d4(0x1aa),'mZDAs':_0x41c8d4(0x1a5),'IPXBz':'✓\x20OpenCode\x20plugin\x20configured'},_0x23f92f=_0x45b85f['GauNG'](existsSync,join(_0x45b85f[_0x41c8d4(0x197)](getOpencodeConfigDir,_0x45b85f[_0x41c8d4(0x18f)]),_0x45b85f[_0x41c8d4(0x1ae)]));let _0x13ed60;if(_0x30efcc)_0x13ed60=_0x30efcc;else{if(_0x23f92f)_0x13ed60='project';else{console[_0x41c8d4(0x190)](_0x45b85f['eSgZB']);const _0xdeb8d5=await _0x20cd63[_0x41c8d4(0x198)]([{'type':_0x41c8d4(0x1a6),'name':_0x45b85f['rElhB'],'message':_0x45b85f['UQLvF'],'choices':[{'name':'User\x20(available\x20in\x20all\x20your\x20projects)','value':'user'},{'name':_0x45b85f[_0x41c8d4(0x1a9)],'value':_0x41c8d4(0x199)}],'default':_0x45b85f['GsvKm']}]);_0x13ed60=_0xdeb8d5[_0x41c8d4(0x19a)];}}const _0x9acd48=_0x45b85f['lqvNR'](join,_0x45b85f[_0x41c8d4(0x1a2)](getOpencodeConfigDir,_0x13ed60),'opencode.json'),_0x37e50d='@ranger-testing/opencode-plugin',_0xf62c77=_0x45b85f[_0x41c8d4(0x192)];let _0x53b79d={};if(existsSync(_0x9acd48))try{const _0x25b034=await _0x45b85f[_0x41c8d4(0x1a8)](readFile,_0x9acd48,_0x45b85f['ZOHXv']);_0x53b79d=JSON['parse'](_0x25b034);}catch(_0x21eb1a){return console['error'](_0x45b85f['mZDAs']),{'configured':![],'scope':_0x13ed60,'error':'Failed\x20to\x20read\x20opencode.json','details':_0x21eb1a};}const _0x1b7380=Array['isArray'](_0x53b79d[_0x41c8d4(0x1a0)])?_0x53b79d[_0x41c8d4(0x1a0)]:[];if(_0x1b7380[_0x41c8d4(0x18d)](_0x37e50d))return console[_0x41c8d4(0x190)](_0x41c8d4(0x1ab)),{'configured':![],'scope':_0x13ed60};return _0x53b79d[_0x41c8d4(0x191)]=_0x53b79d['$schema']||_0xf62c77,_0x53b79d['plugin']=[..._0x1b7380,_0x37e50d],await mkdir(_0x45b85f['dCrfk'](getOpencodeConfigDir,_0x13ed60),{'recursive':!![]}),await _0x45b85f[_0x41c8d4(0x19f)](writeFile,_0x9acd48,JSON[_0x41c8d4(0x19c)](_0x53b79d,null,0x2)+'\x0a'),console[_0x41c8d4(0x190)](_0x45b85f[_0x41c8d4(0x1ac)]),{'configured':!![],'scope':_0x13ed60};}
1
+ (function(_0x596de5,_0x3983e0){const _0x3c6cbf=_0x29cb,_0x570cfa=_0x596de5();while(!![]){try{const _0x2d80b0=parseInt(_0x3c6cbf(0x146))/0x1*(parseInt(_0x3c6cbf(0x151))/0x2)+parseInt(_0x3c6cbf(0x14f))/0x3*(-parseInt(_0x3c6cbf(0x143))/0x4)+-parseInt(_0x3c6cbf(0x157))/0x5+parseInt(_0x3c6cbf(0x148))/0x6*(-parseInt(_0x3c6cbf(0x155))/0x7)+parseInt(_0x3c6cbf(0x14e))/0x8+-parseInt(_0x3c6cbf(0x158))/0x9*(parseInt(_0x3c6cbf(0x152))/0xa)+parseInt(_0x3c6cbf(0x14d))/0xb;if(_0x2d80b0===_0x3983e0)break;else _0x570cfa['push'](_0x570cfa['shift']());}catch(_0x34659c){_0x570cfa['push'](_0x570cfa['shift']());}}}(_0x20ff,0x7a9d2));import{join}from'path';import{existsSync}from'fs';import{mkdir,readFile,writeFile}from'fs/promises';import _0x5b97d3 from'inquirer';import{getOpencodeConfigDir}from'../utils/opencodeConfig.js';export async function ensureOpencodePluginConfig(_0x23b0dc){const _0xd5a2a4=_0x29cb,_0x10aa04={'Nryaj':function(_0x27c204,_0x153e11){return _0x27c204(_0x153e11);},'sOvbc':_0xd5a2a4(0x13c),'byEcA':_0xd5a2a4(0x13f),'qwZAF':_0xd5a2a4(0x154),'EviCe':'Where\x20should\x20the\x20plugin\x20be\x20installed?','xiyTz':'User\x20(available\x20in\x20all\x20your\x20projects)','IGpms':'user','ZSscg':'opencode.json','CrVGf':function(_0xfaa03a,_0x23be1d,_0x21cd68){return _0xfaa03a(_0x23be1d,_0x21cd68);},'FpDQz':_0xd5a2a4(0x149),'jILcO':'✓\x20OpenCode\x20plugin\x20already\x20configured'},_0x575d73=existsSync(join(_0x10aa04['Nryaj'](getOpencodeConfigDir,_0x10aa04[_0xd5a2a4(0x142)]),'opencode.json'));let _0x1cead3;if(_0x23b0dc)_0x1cead3=_0x23b0dc;else{if(_0x575d73)_0x1cead3=_0x10aa04[_0xd5a2a4(0x142)];else{console[_0xd5a2a4(0x144)](_0x10aa04[_0xd5a2a4(0x147)]);const _0x390fe8=await _0x5b97d3['prompt']([{'type':_0xd5a2a4(0x159),'name':_0x10aa04['qwZAF'],'message':_0x10aa04[_0xd5a2a4(0x153)],'choices':[{'name':_0x10aa04['xiyTz'],'value':_0x10aa04[_0xd5a2a4(0x14c)]},{'name':'Project\x20(shared\x20with\x20team\x20via\x20git)','value':'project'}],'default':'user'}]);_0x1cead3=_0x390fe8[_0xd5a2a4(0x154)];}}const _0x1ded25=join(getOpencodeConfigDir(_0x1cead3),_0x10aa04['ZSscg']),_0x5975de=_0xd5a2a4(0x13e),_0xcfc6f4=_0xd5a2a4(0x140);let _0xd5ec03={};if(_0x10aa04['Nryaj'](existsSync,_0x1ded25))try{const _0x8eada6=await _0x10aa04[_0xd5a2a4(0x156)](readFile,_0x1ded25,_0xd5a2a4(0x141));_0xd5ec03=JSON['parse'](_0x8eada6);}catch(_0x44de07){return console[_0xd5a2a4(0x13d)]('⚠\x20Failed\x20to\x20read\x20opencode.json.\x20Please\x20add\x20the\x20plugin\x20manually.'),{'configured':![],'scope':_0x1cead3,'error':_0x10aa04[_0xd5a2a4(0x150)],'details':_0x44de07};}const _0x172595=Array[_0xd5a2a4(0x14b)](_0xd5ec03['plugin'])?_0xd5ec03[_0xd5a2a4(0x145)]:[];if(_0x172595['includes'](_0x5975de))return console['log'](_0x10aa04['jILcO']),{'configured':![],'scope':_0x1cead3};return _0xd5ec03[_0xd5a2a4(0x14a)]=_0xd5ec03['$schema']||_0xcfc6f4,_0xd5ec03['plugin']=[..._0x172595,_0x5975de],await mkdir(getOpencodeConfigDir(_0x1cead3),{'recursive':!![]}),await _0x10aa04['CrVGf'](writeFile,_0x1ded25,JSON['stringify'](_0xd5ec03,null,0x2)+'\x0a'),console[_0xd5a2a4(0x144)]('✓\x20OpenCode\x20plugin\x20configured'),{'configured':!![],'scope':_0x1cead3};}function _0x29cb(_0x2a41c3,_0x17fde8){_0x2a41c3=_0x2a41c3-0x13c;const _0x20ff5e=_0x20ff();let _0x29cb92=_0x20ff5e[_0x2a41c3];return _0x29cb92;}function _0x20ff(){const _0x4dbe9b=['FpDQz','2326zQuRDY','150560QhiHGr','EviCe','pluginScope','7231PnKCBi','CrVGf','1269365afRimA','63UsgABH','list','project','error','@ranger-testing/opencode-plugin','\x0a📦\x20OpenCode\x20Plugin\x0a','https://opencode.ai/config.json','utf-8','sOvbc','948932mYSnjC','log','plugin','58gvztow','byEcA','3378RUXGyY','Failed\x20to\x20read\x20opencode.json','$schema','isArray','IGpms','14978161SIJkRM','5805312xdmOPq','9vqAiOc'];_0x20ff=function(){return _0x4dbe9b;};return _0x20ff();}
@@ -1 +1 @@
1
- (function(_0x4c5e8c,_0x4be2c4){var _0x897578=_0x15ba,_0x12dbdb=_0x4c5e8c();while(!![]){try{var _0x39e7cb=parseInt(_0x897578(0x1c7))/0x1*(parseInt(_0x897578(0x1cd))/0x2)+-parseInt(_0x897578(0x1d2))/0x3*(parseInt(_0x897578(0x1d3))/0x4)+-parseInt(_0x897578(0x1c2))/0x5*(parseInt(_0x897578(0x1c5))/0x6)+parseInt(_0x897578(0x1c4))/0x7*(-parseInt(_0x897578(0x1d4))/0x8)+-parseInt(_0x897578(0x1c8))/0x9+parseInt(_0x897578(0x1d0))/0xa+parseInt(_0x897578(0x1d1))/0xb;if(_0x39e7cb===_0x4be2c4)break;else _0x12dbdb['push'](_0x12dbdb['shift']());}catch(_0x5b24e1){_0x12dbdb['push'](_0x12dbdb['shift']());}}}(_0x306a,0xedea1));function _0x15ba(_0xc9d50,_0x204ba5){_0xc9d50=_0xc9d50-0x1c2;var _0x306a31=_0x306a();var _0x15ba58=_0x306a31[_0xc9d50];return _0x15ba58;}export async function setupCi(_0x56bf7d,_0x2f22ca,_0x32e63c){var _0x3ca150=_0x15ba,_0x45a230={'JTtzL':function(_0x796590,_0x29162f){return _0x796590+_0x29162f;},'owrfp':function(_0x2f3fbc,_0x1e907b){return _0x2f3fbc+_0x1e907b;},'HKMsO':function(_0x2f22c6,_0x10d60d){return _0x2f22c6+_0x10d60d;},'gxzal':function(_0x37418f,_0x158376){return _0x37418f+_0x158376;},'tFeer':_0x3ca150(0x1c9),'eAeeL':'For\x20CI\x20/\x20background\x20agents\x20and\x20other\x20setup\x20options,\x20see:\x0a','wRJTM':_0x3ca150(0x1c3)};console['error'](_0x45a230['JTtzL'](_0x45a230['owrfp'](_0x45a230['HKMsO'](_0x45a230[_0x3ca150(0x1ca)](_0x3ca150(0x1cc),'\x0a'),_0x3ca150(0x1cf)),_0x45a230[_0x3ca150(0x1ce)])+'\x0a'+_0x45a230['eAeeL'],_0x45a230[_0x3ca150(0x1c6)])),process[_0x3ca150(0x1cb)](0x1);}function _0x306a(){var _0x4b7bab=['To\x20set\x20up\x20a\x20fresh\x20profile,\x20run:\x0a','16538980UnCNOr','24968438uelrvc','1417407dVTqjo','8OZiMvC','9148504xBxTpP','851180dhCSxV','\x20\x20https://docs.ranger.net/main/concepts/profiles','7FmoCUX','42Qeppxq','wRJTM','528397JQRcEg','1777527fsJCYk','\x20\x20ranger\x20profile\x20add\x20<name>\x0a','gxzal','exit','ranger\x20setup\x20--ci\x20writes\x20to\x20the\x20legacy\x20.ranger/ci/\x20tree\x20which\x20is\x20no\x20longer\x20supported.\x0a','2otimTV','tFeer'];_0x306a=function(){return _0x4b7bab;};return _0x306a();}
1
+ (function(_0x3307ec,_0x36a85b){var _0x55a2a7=_0x4fa3,_0x2a66d4=_0x3307ec();while(!![]){try{var _0x2b73a7=-parseInt(_0x55a2a7(0x7c))/0x1*(parseInt(_0x55a2a7(0x89))/0x2)+-parseInt(_0x55a2a7(0x84))/0x3+parseInt(_0x55a2a7(0x85))/0x4+-parseInt(_0x55a2a7(0x7a))/0x5*(-parseInt(_0x55a2a7(0x7d))/0x6)+parseInt(_0x55a2a7(0x83))/0x7+parseInt(_0x55a2a7(0x7e))/0x8+-parseInt(_0x55a2a7(0x82))/0x9;if(_0x2b73a7===_0x36a85b)break;else _0x2a66d4['push'](_0x2a66d4['shift']());}catch(_0x525930){_0x2a66d4['push'](_0x2a66d4['shift']());}}}(_0x2deb,0xc77ab));function _0x2deb(){var _0x1349a4=['qJTpz','CIvdY','DscOX','4yHvMTy','365TaxVLT','exit','53402cYjaZq','126306dAoqaS','7823904WJVEYP','eBxxz','For\x20CI\x20/\x20background\x20agents\x20and\x20other\x20setup\x20options,\x20see:\x0a','\x20\x20https://docs.ranger.net/main/concepts/profiles','31029093dBvDyg','5933872suGIyo','668667jAgjhT','4928120iHEdkV'];_0x2deb=function(){return _0x1349a4;};return _0x2deb();}function _0x4fa3(_0x1fe346,_0x7c9dc){_0x1fe346=_0x1fe346-0x7a;var _0x2deb59=_0x2deb();var _0x4fa38f=_0x2deb59[_0x1fe346];return _0x4fa38f;}export async function setupCi(_0x2a6196,_0x428b81,_0x4f6da1){var _0x5a3c2d=_0x4fa3,_0x3727da={'qJTpz':function(_0x362a06,_0x3b5065){return _0x362a06+_0x3b5065;},'eBxxz':'To\x20set\x20up\x20a\x20fresh\x20profile,\x20run:\x0a','CIvdY':'\x20\x20ranger\x20profile\x20add\x20<name>\x0a','DscOX':_0x5a3c2d(0x80)};console['error'](_0x3727da[_0x5a3c2d(0x86)](_0x3727da[_0x5a3c2d(0x86)]('ranger\x20setup\x20--ci\x20writes\x20to\x20the\x20legacy\x20.ranger/ci/\x20tree\x20which\x20is\x20no\x20longer\x20supported.\x0a'+'\x0a'+_0x3727da[_0x5a3c2d(0x7f)]+_0x3727da[_0x5a3c2d(0x87)],'\x0a')+_0x3727da[_0x5a3c2d(0x88)],_0x5a3c2d(0x81))),process[_0x5a3c2d(0x7b)](0x1);}
@@ -1 +1 @@
1
- (function(_0x5e9923,_0x218301){const _0x22b743=_0x2bdc,_0x510ef8=_0x5e9923();while(!![]){try{const _0x376552=-parseInt(_0x22b743(0x1cd))/0x1+parseInt(_0x22b743(0x1cb))/0x2*(-parseInt(_0x22b743(0x1ea))/0x3)+-parseInt(_0x22b743(0x1e7))/0x4*(-parseInt(_0x22b743(0x1ed))/0x5)+parseInt(_0x22b743(0x1dd))/0x6+-parseInt(_0x22b743(0x1d9))/0x7+-parseInt(_0x22b743(0x1e4))/0x8+-parseInt(_0x22b743(0x1e5))/0x9*(-parseInt(_0x22b743(0x1db))/0xa);if(_0x376552===_0x218301)break;else _0x510ef8['push'](_0x510ef8['shift']());}catch(_0x5f1a19){_0x510ef8['push'](_0x510ef8['shift']());}}}(_0x5e24,0x3c8b0));import{basename}from'path';import _0x36fb9a from'inquirer';import{getToken}from'./utils/keychain.js';function _0x2bdc(_0x480e06,_0x4d9250){_0x480e06=_0x480e06-0x1c9;const _0x5e24d3=_0x5e24();let _0x2bdcd9=_0x5e24d3[_0x480e06];return _0x2bdcd9;}function _0x5e24(){const _0x3e1dd6=['\x20skill','To\x20use:','❌\x20No\x20Ranger\x20API\x20token\x20found.\x0a','installLevel','wtGrI','log','opencode','/.claude/skills/','1986124DbcjVQ','\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!','1031140yCyiAf','qYdIw','2754654mUJXNJ','\x0a📦\x20Installing\x20skills...\x0a','Non-interactive\x20mode:\x20Installing\x20skills\x20at\x20project\x20level\x20(','\x0a🎯\x20Ranger\x20Skill\x20Setup\x0a','ljIxP','LwfaI','AtyrT','3725992YpvJop','90TEsIQp','\x20\x202.\x20Run:\x20ranger\x20setup','127084liZfvF','/skills/','Zxpoy','177RYpwDe','stdout','platform','10jBoHlh','autoInstall','\x0a✅\x20Installed\x20','user-level','user','bxxEt','message','prompt','\x20\x20Failed\x20to\x20install\x20ranger\x20skill:','\x20\x20-\x20Start\x20OpenCode\x20and\x20run\x20the\x20`ranger_enable`\x20tool\x20to\x20enable\x20hooks.','/.opencode/skills/','suppressUsage','6892ssrOKN','\x20successfully!\x0a','353012GZQitZ','bjFaA','zAZnB','stdin'];_0x5e24=function(){return _0x3e1dd6;};return _0x5e24();}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(_0x56aea5={}){const _0x5039b1=_0x2bdc,_0x462603={'qYdIw':_0x5039b1(0x1e0),'AtyrT':_0x5039b1(0x1d3),'bxxEt':'\x20\x201.\x20Get\x20your\x20API\x20token\x20from\x20https://dashboard.ranger.net/cli','wtGrI':'opencode','LwfaI':function(_0x569bba,_0x33bc2e){return _0x569bba===_0x33bc2e;},'fvqBO':'✓\x20Found\x20API\x20token','viSwk':function(_0x504254,_0x268b47){return _0x504254(_0x268b47);},'UZxlq':function(_0xc02e5){return _0xc02e5();},'GnDMR':'list','zAZnB':_0x5039b1(0x1d4),'Zxpoy':'project','hoAAy':_0x5039b1(0x1de),'ljIxP':_0x5039b1(0x1f1),'bjFaA':_0x5039b1(0x1f0),'vgjvf':_0x5039b1(0x1da)};console[_0x5039b1(0x1d6)](_0x462603[_0x5039b1(0x1dc)]);const _0x539125=_0x56aea5[_0x5039b1(0x1ec)]??'claude',_0x234618=await getToken();if(!_0x234618){console[_0x5039b1(0x1d6)](_0x462603[_0x5039b1(0x1e3)]),console['log']('To\x20get\x20started:'),console[_0x5039b1(0x1d6)](_0x462603[_0x5039b1(0x1f2)]),console['log'](_0x5039b1(0x1e6)+(_0x539125===_0x462603['wtGrI']?'\x20--opencode':'')+'\x20<your-api-token>'),console[_0x5039b1(0x1d6)]('\x20\x203.\x20Run:\x20ranger\x20skillup'+(_0x462603[_0x5039b1(0x1e2)](_0x539125,_0x462603[_0x5039b1(0x1d5)])?'\x20--opencode':'')+'\x0a');return;}console['log'](_0x462603['fvqBO']);const _0x16068b=getProjectRoot(),_0x3f1993=basename(_0x16068b),_0x439800=_0x462603[_0x5039b1(0x1e2)](_0x539125,_0x462603['wtGrI'])?_0x462603['viSwk'](getOpencodeConfigDir,'user')+_0x5039b1(0x1e8):_0x462603['UZxlq'](getClaudeConfigDir)+_0x5039b1(0x1e8),_0x5d39e0=_0x462603['LwfaI'](_0x539125,_0x5039b1(0x1d7))?_0x16068b+_0x5039b1(0x1c9):_0x16068b+_0x5039b1(0x1d8),_0x30788f=process[_0x5039b1(0x1d0)]['isTTY']&&process[_0x5039b1(0x1eb)]['isTTY'];let _0x3ea8f1;if(_0x56aea5[_0x5039b1(0x1ee)])_0x3ea8f1=_0x56aea5[_0x5039b1(0x1ee)];else{if(_0x30788f){const _0x28c7b5=await _0x36fb9a[_0x5039b1(0x1f4)]([{'type':_0x462603['GnDMR'],'name':_0x462603[_0x5039b1(0x1cf)],'message':'Where\x20should\x20skills\x20be\x20installed?','choices':[{'name':'All\x20projects\x20('+_0x439800+')','value':_0x5039b1(0x1f1)},{'name':'This\x20project\x20only\x20('+_0x5d39e0+')','value':_0x462603[_0x5039b1(0x1e9)]}]}]);_0x3ea8f1=_0x28c7b5[_0x5039b1(0x1d4)];}else _0x3ea8f1=_0x462603[_0x5039b1(0x1e9)],console[_0x5039b1(0x1d6)](_0x5039b1(0x1df)+_0x5d39e0+')');}let _0x3c4d63=0x0;const _0x466977=getCurrentVersion();console[_0x5039b1(0x1d6)](_0x462603['hoAAy']);try{const _0x4c40fa=await installSkill('ranger',{'cliVersion':_0x466977,'level':_0x3ea8f1,'platform':_0x539125});_0x4c40fa&&_0x3c4d63++;}catch(_0x1305fe){console['warn'](_0x5039b1(0x1f5),_0x1305fe instanceof Error?_0x1305fe[_0x5039b1(0x1f3)]:_0x1305fe);}if(_0x3c4d63>0x0){const _0x4a42dd=_0x3ea8f1===_0x462603[_0x5039b1(0x1e1)]?_0x462603[_0x5039b1(0x1ce)]:'project-level';console['log'](_0x5039b1(0x1ef)+_0x3c4d63+'\x20'+_0x4a42dd+_0x5039b1(0x1d1)+(_0x3c4d63>0x1?'s':'')+_0x5039b1(0x1cc)),!_0x56aea5[_0x5039b1(0x1ca)]&&(console[_0x5039b1(0x1d6)](_0x5039b1(0x1d2)),_0x462603['LwfaI'](_0x539125,_0x5039b1(0x1d7))?console['log'](_0x5039b1(0x1f6)):console[_0x5039b1(0x1d6)](_0x462603['vgjvf']));}else console['log']('\x0a⚠️\x20\x20No\x20skills\x20were\x20installed.\x0a');}
1
+ (function(_0x31e6c8,_0x1554fc){const _0x3258fe=_0x1469,_0x4eb316=_0x31e6c8();while(!![]){try{const _0x58db55=parseInt(_0x3258fe(0x1d9))/0x1+-parseInt(_0x3258fe(0x1cc))/0x2+parseInt(_0x3258fe(0x1eb))/0x3+-parseInt(_0x3258fe(0x1f3))/0x4+-parseInt(_0x3258fe(0x1ca))/0x5*(-parseInt(_0x3258fe(0x1d3))/0x6)+parseInt(_0x3258fe(0x1dc))/0x7+parseInt(_0x3258fe(0x1e3))/0x8*(-parseInt(_0x3258fe(0x1da))/0x9);if(_0x58db55===_0x1554fc)break;else _0x4eb316['push'](_0x4eb316['shift']());}catch(_0x5ec685){_0x4eb316['push'](_0x4eb316['shift']());}}}(_0x242d,0x380c3));import{basename}from'path';import _0x49de50 from'inquirer';import{getToken}from'./utils/keychain.js';function _0x1469(_0x5d5f7a,_0x167693){_0x5d5f7a=_0x5d5f7a-0x1c7;const _0x242d73=_0x242d();let _0x1469c2=_0x242d73[_0x5d5f7a];return _0x1469c2;}import{installSkill}from'./utils/skills.js';import{getCurrentVersion}from'./utils/version.js';function _0x242d(){const _0x154fa9=['\x20\x201.\x20Get\x20your\x20API\x20token\x20from\x20https://dashboard.ranger.net/cli','352826GyzPaT','18xZhCBF','\x20\x203.\x20Run:\x20ranger\x20skillup','3194527YzRjTx','fnCTK','cqcKB','user','OdKPk','vxBoG','\x20successfully!\x0a','3687752KCjgYV','xkPCj','message','opencode','\x0a🎯\x20Ranger\x20Skill\x20Setup\x0a','NvaVP','log','\x0a📦\x20Installing\x20skills...\x0a','1028550Zfbqhb','rjttd','\x20\x20Failed\x20to\x20install\x20ranger\x20skill:','gRPXH','list','❌\x20No\x20Ranger\x20API\x20token\x20found.\x0a','suppressUsage','snqyB','96432KVRAkD','This\x20project\x20only\x20(','SEyLI','user-level','✓\x20Found\x20API\x20token','claude','IBlNq','CYKbf','rrnAl','\x0a⚠️\x20\x20No\x20skills\x20were\x20installed.\x0a','stdout','All\x20projects\x20(','338290dcZpmN','tXmex','629420uVseNH','/skills/','5|3|2|0|4|1','To\x20get\x20started:','\x0a✅\x20Installed\x20','errxG','platform','30lujYQr','installLevel','stdin','mnRNi','autoInstall'];_0x242d=function(){return _0x154fa9;};return _0x242d();}import{getClaudeConfigDir,getProjectRoot}from'./utils/claudeConfig.js';import{getOpencodeConfigDir}from'./utils/opencodeConfig.js';export async function skillup(_0x275a5d={}){const _0x27e85e=_0x1469,_0x5bf93b={'rjttd':_0x27e85e(0x1e7),'RknAg':_0x27e85e(0x1f8),'snqyB':function(_0x449ceb,_0x986f80){return _0x449ceb===_0x986f80;},'rcGvs':_0x27e85e(0x1e6),'SEyLI':function(_0x17b9b3,_0x4e221f){return _0x17b9b3===_0x4e221f;},'dWFsC':'\x20--opencode','rrnAl':_0x27e85e(0x1f7),'CYKbf':function(_0x256786,_0xfc8e1c){return _0x256786(_0xfc8e1c);},'cqcKB':function(_0x1ebbe6,_0x22b48a){return _0x1ebbe6(_0x22b48a);},'tXmex':function(_0x4e9c78){return _0x4e9c78();},'oHKmC':function(_0x1e216e,_0x29ed76){return _0x1e216e===_0x29ed76;},'fnCTK':_0x27e85e(0x1ef),'xkPCj':'installLevel','uragy':'project','vxBoG':function(_0x2e55bb,_0x171166,_0x5074ac){return _0x2e55bb(_0x171166,_0x5074ac);},'mnRNi':_0x27e85e(0x1ed),'ATlmC':function(_0x485570,_0x3d22a3){return _0x485570 instanceof _0x3d22a3;},'errxG':_0x27e85e(0x1f6),'gRPXH':'project-level','NvaVP':function(_0x124091,_0x22a780){return _0x124091>_0x22a780;},'OdKPk':function(_0x44d880,_0x1994a2){return _0x44d880===_0x1994a2;},'IBlNq':'\x20\x20-\x20Start\x20OpenCode\x20and\x20run\x20the\x20`ranger_enable`\x20tool\x20to\x20enable\x20hooks.'};console[_0x27e85e(0x1e9)](_0x5bf93b[_0x27e85e(0x1ec)]);const _0x4a002e=_0x275a5d[_0x27e85e(0x1d2)]??_0x5bf93b['RknAg'],_0x1479d2=await getToken();if(!_0x1479d2){const _0x4cb06f=_0x27e85e(0x1ce)['split']('|');let _0x49b8f5=0x0;while(!![]){switch(_0x4cb06f[_0x49b8f5++]){case'0':console[_0x27e85e(0x1e9)]('\x20\x202.\x20Run:\x20ranger\x20setup'+(_0x5bf93b[_0x27e85e(0x1f2)](_0x4a002e,_0x5bf93b['rcGvs'])?'\x20--opencode':'')+'\x20<your-api-token>');continue;case'1':return;case'2':console[_0x27e85e(0x1e9)](_0x27e85e(0x1d8));continue;case'3':console['log'](_0x27e85e(0x1cf));continue;case'4':console['log'](_0x27e85e(0x1db)+(_0x5bf93b[_0x27e85e(0x1f5)](_0x4a002e,'opencode')?_0x5bf93b['dWFsC']:'')+'\x0a');continue;case'5':console[_0x27e85e(0x1e9)](_0x27e85e(0x1f0));continue;}break;}}console[_0x27e85e(0x1e9)](_0x5bf93b[_0x27e85e(0x1fb)]);const _0x9a9975=getProjectRoot(),_0x2a5fb6=_0x5bf93b[_0x27e85e(0x1fa)](basename,_0x9a9975),_0x197ff2=_0x4a002e===_0x27e85e(0x1e6)?_0x5bf93b[_0x27e85e(0x1de)](getOpencodeConfigDir,'user')+'/skills/':_0x5bf93b[_0x27e85e(0x1cb)](getClaudeConfigDir)+_0x27e85e(0x1cd),_0x15f1f1=_0x5bf93b['oHKmC'](_0x4a002e,_0x27e85e(0x1e6))?_0x9a9975+'/.opencode/skills/':_0x9a9975+'/.claude/skills/',_0x472202=process[_0x27e85e(0x1d5)]['isTTY']&&process[_0x27e85e(0x1c8)]['isTTY'];let _0xfa9e76;if(_0x275a5d[_0x27e85e(0x1d7)])_0xfa9e76=_0x275a5d[_0x27e85e(0x1d7)];else{if(_0x472202){const _0x154302=await _0x49de50['prompt']([{'type':_0x5bf93b[_0x27e85e(0x1dd)],'name':_0x5bf93b[_0x27e85e(0x1e4)],'message':'Where\x20should\x20skills\x20be\x20installed?','choices':[{'name':_0x27e85e(0x1c9)+_0x197ff2+')','value':_0x27e85e(0x1df)},{'name':_0x27e85e(0x1f4)+_0x15f1f1+')','value':_0x5bf93b['uragy']}]}]);_0xfa9e76=_0x154302[_0x27e85e(0x1d4)];}else _0xfa9e76='project',console['log']('Non-interactive\x20mode:\x20Installing\x20skills\x20at\x20project\x20level\x20('+_0x15f1f1+')');}let _0x3ab596=0x0;const _0x244eb9=_0x5bf93b['tXmex'](getCurrentVersion);console[_0x27e85e(0x1e9)](_0x27e85e(0x1ea));try{const _0xc460a2=await _0x5bf93b[_0x27e85e(0x1e1)](installSkill,'ranger',{'cliVersion':_0x244eb9,'level':_0xfa9e76,'platform':_0x4a002e});_0xc460a2&&_0x3ab596++;}catch(_0xec8257){console['warn'](_0x5bf93b[_0x27e85e(0x1d6)],_0x5bf93b['ATlmC'](_0xec8257,Error)?_0xec8257[_0x27e85e(0x1e5)]:_0xec8257);}if(_0x3ab596>0x0){const _0x4a0329=_0xfa9e76===_0x27e85e(0x1df)?_0x5bf93b[_0x27e85e(0x1d1)]:_0x5bf93b[_0x27e85e(0x1ee)];console['log'](_0x27e85e(0x1d0)+_0x3ab596+'\x20'+_0x4a0329+'\x20skill'+(_0x5bf93b[_0x27e85e(0x1e8)](_0x3ab596,0x1)?'s':'')+_0x27e85e(0x1e2)),!_0x275a5d[_0x27e85e(0x1f1)]&&(console['log']('To\x20use:'),_0x5bf93b[_0x27e85e(0x1e0)](_0x4a002e,_0x5bf93b['rcGvs'])?console[_0x27e85e(0x1e9)](_0x5bf93b[_0x27e85e(0x1f9)]):console['log']('\x20\x20-\x20Open\x20Claude\x20Code\x20in\x20plan\x20mode\x20and\x20run\x20/ranger:enable.\x20Plan\x20out\x20a\x20UI\x20feature\x20with\x20Ranger\x20and\x20watch\x20Ranger\x20test\x20it\x20for\x20you!'));}else console['log'](_0x27e85e(0x1c7));}
@@ -1 +1 @@
1
- (function(_0x1dbe0e,_0x195d6c){const _0x402f6b=_0x3fa4,_0x304a15=_0x1dbe0e();while(!![]){try{const _0x564edb=-parseInt(_0x402f6b(0x1d8))/0x1*(parseInt(_0x402f6b(0x1ff))/0x2)+parseInt(_0x402f6b(0x1e3))/0x3*(-parseInt(_0x402f6b(0x1aa))/0x4)+-parseInt(_0x402f6b(0x1ad))/0x5*(parseInt(_0x402f6b(0x1db))/0x6)+parseInt(_0x402f6b(0x1ba))/0x7*(-parseInt(_0x402f6b(0x1f0))/0x8)+parseInt(_0x402f6b(0x1ca))/0x9*(-parseInt(_0x402f6b(0x1d4))/0xa)+parseInt(_0x402f6b(0x20b))/0xb*(-parseInt(_0x402f6b(0x19e))/0xc)+parseInt(_0x402f6b(0x204))/0xd;if(_0x564edb===_0x195d6c)break;else _0x304a15['push'](_0x304a15['shift']());}catch(_0x28b57f){_0x304a15['push'](_0x304a15['shift']());}}}(_0x3960,0x82a9e));import{mkdir,writeFile}from'fs/promises';import{join}from'path';import{existsSync}from'fs';import{createRequire}from'module';import{spawn}from'child_process';import _0xbb28f0 from'inquirer';function _0x3960(){const _0x50848d=['withDeps','\x0aagent\x20like\x20usual.\x20Claude\x20will\x20create\x20a\x20feature\x20review\x20with','1024UjjvSi','npx','COFDw','\x0a\x20\x20','url','57924165cXkQKe','The\x20required\x20version\x20(','\x0aSkipping\x20profile\x20setup\x20(--skip-auth).\x20Run\x20`ranger\x20setup`\x20with\x20auth\x20to\x20add\x20a\x20profile\x20later.\x0a','ranger\x20profile\x20add\x20<name>','✓\x20Authenticated\x20to\x20','vVwHs','project-scope\x20setup\x20obsolete).\x20Drop\x20the\x20--scope\x20flag\x20or\x20pass\x20--scope=user.','7205sscEwd','\x0a\x20\x20(opens\x20a\x20browser\x20so\x20you\x20can\x20log\x20in\x20once)','LrqAH','vWNeL','skipAuth','17916HWZVPF','BONLm','✓\x20Local\x20profile\x20already\x20exists','OTZBQ','✓\x20Exported\x20credentials\x20for\x20CI','QTxPn','scope','ranger','Could\x20not\x20determine\x20local\x20Playwright\x20version.\x20Install\x20Playwright\x20Chromium\x20using\x20fallback\x20version\x20','Failed\x20to\x20validate\x20provisioned\x20API\x20key:\x20','install','bfGHo','4280520uMzaAB','chromium','auth','145rGSLBj','user','ahRLs','plugin','\x0a\x20\x20https://docs.ranger.net/main/concepts/profiles','\x0a❌\x20Failed\x20to\x20install\x20Chromium:','ranger\x20setup\x20--scope=','.\x20Please\x20check\x20your\x20API\x20token\x20and\x20try\x20again.','skills','\x20and\x20prompt\x20the\x20coding','bjhsi','confirm','platform','1484966AFLRoE','existing_token','WMEvE','SbZss','tMMic','ZfNoN','You\x20can\x20install\x20it\x20manually\x20by\x20running:','zqbsZ','Authentication\x20failed:\x20','hrzHZ','\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','fPhTL','\x0a✓\x20Playwright\x20Chromium\x20installed\x20successfully','skipped','DaptC','log','63POspQu','success','lOeYv','✓\x20Created\x20~/.ranger/\x20directory','GtgDT','GFPBF','\x0a⚠\x20Skipping\x20Chromium\x20installation.','\x0aIn\x20OpenCode,\x20enable\x20Ranger\x20hooks\x20(run\x20the\x20`ranger_enable`\x20tool)','RZGKg','gOpEz','501010KwRsLN','\x20\x20Failed\x20to\x20install\x20OpenCode\x20skill:','trackPhaseEnd','executablePath','163wNIWjU','playwright@','\x0a\x0aFor\x20CI\x20/\x20background\x20agents\x20and\x20other\x20setup\x20options,\x20see:','78126RqwVna','\x0aTo\x20set\x20up\x20a\x20profile\x20for\x20your\x20app,\x20run:','error','\x0a✅\x20Ranger\x20setup\x20complete!\x0a','tCIli','isTTY','prompt','JjixM','3MVuoKb','Failed\x20to\x20connect\x20to\x20MCP\x20server:\x20','URiFH','PFxjx','ivwtK','method','playwright/package.json','organizationName','\x0averification\x20to\x20check\x20its\x20work\x20as\x20it\x20builds.','Necsz','DAuGh','local','/ranger:enable','40cCjVdx','nOuSl','allowInsecureLocalhost','You\x20will\x20need\x20to\x20install\x20it\x20before\x20using\x20Ranger:','\x0a🚀\x20Ranger\x20Setup\x0a','\x20now?','\x20is\x20no\x20longer\x20supported.\x20','message','trackPhaseStart','✓\x20Already\x20authenticated\x20to\x20','NnlKd','YzKXw','uLrvo'];_0x3960=function(){return _0x50848d;};return _0x3960();}import{getToken,storeToken}from'./utils/keychain.js';function _0x3fa4(_0x1c66fc,_0x54bdb8){_0x1c66fc=_0x1c66fc-0x19c;const _0x39602c=_0x3960();let _0x3fa4db=_0x39602c[_0x1c66fc];return _0x3fa4db;}import{getCurrentUser}from'./utils/userApi.js';import{chromium}from'playwright';import{addEnv}from'./addEnv.js';import{getRangerHomeDir,findGitRoot}from'./utils/rangerRoot.js';import{runDeviceAuthFlow}from'./utils/deviceAuth.js';import{findExistingEnv}from'./utils/settings.js';import{getCurrentVersion}from'./utils/version.js';import{ensureClaudePlugin,ensureClaudeSkills}from'./setup/claude.js';import{ensureOpencodePluginConfig}from'./setup/opencode.js';import{installSkill}from'./utils/skills.js';const require=createRequire(import.meta.url);export const PLAYWRIGHT_CHROMIUM_INSTALL_FALLBACK_VERSION='1.58.2';const bold=_0x15a7f9=>'\x1b[1m'+_0x15a7f9+'\x1b[0m';export function getPlaywrightVersion(){const _0x279910=_0x3fa4,_0x14f363={'ZfNoN':_0x279910(0x1e9)};try{const _0x108450=require['resolve'](_0x14f363[_0x279910(0x1bf)]),_0x593649=require(_0x108450);return _0x593649['version'];}catch{return null;}}export function installChromiumBinary(_0x39c347,_0x3e0586=![]){const _0x14f1c4=_0x3fa4,_0x1d6640={'byBsB':_0x14f1c4(0x1a8),'CZiFs':_0x14f1c4(0x1ab),'Mdetq':function(_0x5dc903,_0x569ccc,_0x52c55c,_0x26024c){return _0x5dc903(_0x569ccc,_0x52c55c,_0x26024c);},'SbZss':_0x14f1c4(0x200),'QTxPn':'inherit','MOPiC':'close'};return new Promise((_0x2767c7,_0x3443e0)=>{const _0x294ca0=_0x14f1c4,_0x1eb6b4={'WMEvE':function(_0x4e4277,_0x248a96){return _0x4e4277(_0x248a96);}},_0x1ce9d3=[_0x294ca0(0x1d9)+_0x39c347,_0x1d6640['byBsB'],..._0x3e0586?['--with-deps']:[],_0x1d6640['CZiFs']],_0x2cb353=_0x1d6640['Mdetq'](spawn,_0x1d6640[_0x294ca0(0x1bd)],_0x1ce9d3,{'stdio':['ignore',_0x1d6640[_0x294ca0(0x1a3)],'inherit'],'shell':process[_0x294ca0(0x1b9)]==='win32'});_0x2cb353['on'](_0x1d6640['MOPiC'],_0x4dbeae=>{_0x4dbeae===0x0?_0x2767c7():_0x3443e0(new Error('Installation\x20failed\x20with\x20exit\x20code\x20'+_0x4dbeae));}),_0x2cb353['on']('error',_0x486b88=>{const _0x5bca15=_0x294ca0;_0x1eb6b4[_0x5bca15(0x1bc)](_0x3443e0,_0x486b88);});});}export async function authenticate(_0x2a986b){const _0x47be38=_0x3fa4,_0x516840={'RngKa':function(_0x689cc5){return _0x689cc5();},'DaptC':function(_0xbc84c2,_0x50f044){return _0xbc84c2(_0x50f044);},'tCIli':'✓\x20Stored\x20credentials\x20locally'};if(!_0x2a986b){const _0x58a8ca=await _0x516840['RngKa'](getToken);if(_0x58a8ca){const _0x3f3cc7=await _0x516840['DaptC'](getCurrentUser,_0x58a8ca);if(_0x3f3cc7['success'])return console[_0x47be38(0x1c9)](_0x47be38(0x1f9)+_0x3f3cc7[_0x47be38(0x1ae)][_0x47be38(0x1ea)]),{'token':_0x58a8ca,'method':_0x47be38(0x1bb)};}try{_0x2a986b=await runDeviceAuthFlow();}catch(_0x43fe9d){throw new Error('Authentication\x20failed:\x20'+(_0x43fe9d instanceof Error?_0x43fe9d['message']:_0x43fe9d));}const _0x4f0b7f=await _0x516840[_0x47be38(0x1c8)](getCurrentUser,_0x2a986b);if(!_0x4f0b7f[_0x47be38(0x1cb)])throw new Error(_0x47be38(0x1a7)+_0x4f0b7f['error']);return console[_0x47be38(0x1c9)](_0x47be38(0x208)+_0x4f0b7f[_0x47be38(0x1ae)]['organizationName']),{'token':_0x2a986b,'method':'device_auth'};}console[_0x47be38(0x1c9)]('Validating\x20API\x20token...');const _0x31fe95=await getCurrentUser(_0x2a986b);if(!_0x31fe95['success']){if(_0x31fe95['status'])throw new Error(_0x47be38(0x1c2)+_0x31fe95[_0x47be38(0x1dd)]+_0x47be38(0x1b4));else throw new Error(_0x47be38(0x1e4)+_0x31fe95['error']+'.\x20Please\x20check\x20your\x20network\x20connection\x20and\x20server\x20URL.');}return console['log']('✓\x20Authenticated\x20to\x20'+_0x31fe95[_0x47be38(0x1ae)]['organizationName']),await storeToken(_0x2a986b),console[_0x47be38(0x1c9)](process['env']['GITHUB_ENV']?_0x47be38(0x1a2):_0x516840[_0x47be38(0x1df)]),{'token':_0x2a986b,'method':'provided_token'};}export async function ensureRangerDir(_0x3ab3fc){const _0x48cf4b=_0x3fa4,_0x3d5470={'SVJHK':function(_0x230a35){return _0x230a35();},'vVwHs':function(_0x59675d,_0xcb03ce){return _0x59675d(_0xcb03ce);},'YzKXw':function(_0x1a29b7,_0x3b0bf1,_0x3c58d6){return _0x1a29b7(_0x3b0bf1,_0x3c58d6);},'juWks':_0x48cf4b(0x1cd),'URiFH':'✓\x20~/.ranger/\x20directory\x20already\x20exists'};void _0x3ab3fc;const _0x463454=_0x3d5470['SVJHK'](getRangerHomeDir);return!_0x3d5470[_0x48cf4b(0x209)](existsSync,_0x463454)?(await _0x3d5470[_0x48cf4b(0x1fb)](mkdir,_0x463454,{'recursive':!![]}),console[_0x48cf4b(0x1c9)](_0x3d5470['juWks']),{'path':_0x463454,'installed':!![]}):(console['log'](_0x3d5470[_0x48cf4b(0x1e5)]),{'path':_0x463454,'installed':![]});}export async function ensureChromium(_0x2bc5c3=![]){const _0xadce33=_0x3fa4,_0xdb45e0={'RZGKg':function(_0x12964d,_0x15566f){return _0x12964d??_0x15566f;},'wQGfx':_0xadce33(0x1b8),'PFxjx':function(_0x4ed591,_0x284cc7,_0xea8535){return _0x4ed591(_0x284cc7,_0xea8535);},'nOuSl':_0xadce33(0x1c6),'TtLAH':_0xadce33(0x1f3)};let _0x442d0e=![];try{const _0x26380a=chromium[_0xadce33(0x1d7)]();_0x442d0e=existsSync(_0x26380a);}catch{_0x442d0e=![];}if(_0x442d0e)return console['log']('✓\x20Playwright\x20Chromium\x20browser\x20found'),![];const _0x2d9794=getPlaywrightVersion(),_0x4edda3=_0xdb45e0[_0xadce33(0x1d2)](_0x2d9794,PLAYWRIGHT_CHROMIUM_INSTALL_FALLBACK_VERSION),_0x49f27d=!_0x2d9794,_0x14dd4b=process['stdin'][_0xadce33(0x1e0)]&&process['stdout'][_0xadce33(0x1e0)];let _0x3bd057=!![];if(_0x14dd4b){const {install:_0x2d6710}=await _0xbb28f0[_0xadce33(0x1e1)]([{'type':_0xdb45e0['wQGfx'],'name':'install','message':_0x49f27d?_0xadce33(0x1a6)+_0x4edda3+_0xadce33(0x1f5):_0xadce33(0x205)+_0x4edda3+')\x20of\x20the\x20Playwright\x20Chromium\x20browser\x20is\x20not\x20installed.\x20Install\x20it\x20now?','default':!![]}]);_0x3bd057=_0x2d6710;}else console['log']('\x0aNon-interactive\x20mode:\x20Auto-installing\x20Playwright\x20Chromium\x20'+_0x4edda3+(_0x49f27d?'\x20(fallback\x20version)':'')+'...');if(_0x3bd057){console[_0xadce33(0x1c9)]('\x0aInstalling\x20Chromium\x20browser...\x0a');try{await _0xdb45e0[_0xadce33(0x1e6)](installChromiumBinary,_0x4edda3,_0x2bc5c3),console[_0xadce33(0x1c9)](_0xdb45e0[_0xadce33(0x1f1)]);}catch(_0x5667dd){console[_0xadce33(0x1dd)](_0xadce33(0x1b2),_0x5667dd instanceof Error?_0x5667dd[_0xadce33(0x1f7)]:_0x5667dd),console['log'](_0xadce33(0x1c0)),console[_0xadce33(0x1c9)]('\x20\x20npx\x20playwright@'+_0x4edda3+'\x20install\x20chromium');}}else console[_0xadce33(0x1c9)](_0xadce33(0x1d0)),console['log'](_0xdb45e0['TtLAH']),console['log']('\x20\x20npx\x20playwright@'+_0x4edda3+'\x20install\x20chromium');return!![];}export async function writeRangerGitignore(_0x2f2270){const _0x219a5c=_0x3fa4,_0x114dde={'Necsz':function(_0xe9f142,_0x66ea7c,_0x4cf36f){return _0xe9f142(_0x66ea7c,_0x4cf36f);},'TqsDw':'.gitignore','vWNeL':function(_0x483895,_0x1adca2,_0x17ae4f){return _0x483895(_0x1adca2,_0x17ae4f);}},_0xb51de3=_0x114dde[_0x219a5c(0x1ec)](join,_0x2f2270,_0x114dde['TqsDw']),_0x32f047=_0x219a5c(0x1c4);await _0x114dde[_0x219a5c(0x19c)](writeFile,_0xb51de3,_0x32f047),console['log']('✓\x20Created\x20.ranger/.gitignore');}export async function ensureLocalEnv(_0x4b79aa,_0x23afa0){const _0x1db21f=_0x3fa4,_0x12c7f={'GFPBF':function(_0x1fe615){return _0x1fe615();},'swfGi':function(_0x3e66ca,_0x18ae55){return _0x3e66ca!==_0x18ae55;},'EeoZN':'user','VTHpS':function(_0x2f90c0,_0x121f82){return _0x2f90c0===_0x121f82;},'GtgDT':_0x1db21f(0x1ee),'OTZBQ':function(_0x27b58d,_0x93ea4,_0x2d0351,_0x2f8fd4){return _0x27b58d(_0x93ea4,_0x2d0351,_0x2f8fd4);},'tMMic':'\x0a❌\x20Profile\x20setup\x20failed:','fPhTL':function(_0x1e33cc,_0x3e8bcf){return _0x1e33cc instanceof _0x3e8bcf;}};if(!_0x12c7f[_0x1db21f(0x1cf)](findGitRoot)&&_0x12c7f['swfGi'](_0x4b79aa?.[_0x1db21f(0x1a4)],_0x12c7f['EeoZN']))return console['log']('⚠\x20No\x20git\x20repository\x20found.\x20Re-run\x20with\x20`--scope\x20user`\x20to\x20store\x20the\x20profile\x20at\x20~/.ranger/.'),{'ready':![],'skipped':!![]};const _0x192f6c=_0x12c7f['VTHpS'](_0x4b79aa?.['scope'],_0x12c7f['EeoZN'])?getRangerHomeDir():undefined;if(findExistingEnv(_0x1db21f(0x1ee),{'locations':[_0x12c7f[_0x1db21f(0x1ce)]],'rangerDir':_0x192f6c}))return console['log'](_0x1db21f(0x1a0)),{'ready':!![],'skipped':![]};try{return await _0x12c7f[_0x1db21f(0x1a1)](addEnv,_0x12c7f['GtgDT'],{'url':_0x4b79aa?.['url'],'force':_0x4b79aa?.['force'],'allowInsecureLocalhost':_0x4b79aa?.['allowInsecureLocalhost'],'scope':_0x4b79aa?.['scope']},_0x23afa0),{'ready':!![],'skipped':![]};}catch(_0x1a842c){return console[_0x1db21f(0x1dd)](_0x12c7f[_0x1db21f(0x1be)],_0x12c7f[_0x1db21f(0x1c5)](_0x1a842c,Error)?_0x1a842c[_0x1db21f(0x1f7)]:_0x1a842c),{'ready':![],'skipped':![]};}}export async function start(_0x1db340,_0x5a02fa,_0x1a62e1){const _0x353de9=_0x3fa4,_0x481f95={'hrzHZ':function(_0x2e1e49,_0xea51f1){return _0x2e1e49!==_0xea51f1;},'ivwtK':function(_0x55732d,_0x1c7942){return _0x55732d+_0x1c7942;},'zqbsZ':'user','HoWdf':function(_0x16a359,_0x4f866c){return _0x16a359(_0x4f866c);},'LrqAH':'✓\x20Skipping\x20authentication\x20(--skip-auth)','ahnsY':'auth','bjhsi':function(_0x1dea0f,_0x4420d6){return _0x1dea0f(_0x4420d6);},'uLrvo':'chromium','ybNJM':'✓\x20Skipping\x20Chromium\x20check\x20(--skip-chromium)','JjixM':function(_0x56506d,_0x3ab3d9){return _0x56506d(_0x3ab3d9);},'tkPoZ':function(_0x1c1a96,_0x29686c){return _0x1c1a96(_0x29686c);},'gfYND':function(_0x1a1e12,_0x2d6469){return _0x1a1e12&&_0x2d6469;},'COFDw':_0x353de9(0x1b5),'ahRLs':function(_0x55b760,_0x52d96e,_0x3f9feb){return _0x55b760(_0x52d96e,_0x3f9feb);},'BONLm':function(_0x29cc41){return _0x29cc41();},'qIbvs':_0x353de9(0x1d5),'bfGHo':function(_0x47714e,_0x350b75,_0x198e15){return _0x47714e(_0x350b75,_0x198e15);},'TYseM':'profile','XEkrW':function(_0x245995,_0x1540f8){return _0x245995+_0x1540f8;},'gOpEz':function(_0x2f74d5,_0x397096){return _0x2f74d5+_0x397096;},'xaiHP':function(_0x421e59,_0x4844fc){return _0x421e59(_0x4844fc);},'pTjPU':_0x353de9(0x207),'DAuGh':_0x353de9(0x1d1),'NnlKd':'with\x20scenarios\x20describing\x20what\x20to\x20verify\x20and\x20then\x20run\x20browser','JLYWW':function(_0x209fef,_0x1bc223){return _0x209fef(_0x1bc223);},'lOeYv':_0x353de9(0x1ef)};console['log'](_0x353de9(0x1f4));_0x481f95[_0x353de9(0x1c3)](_0x5a02fa?.[_0x353de9(0x1a4)],undefined)&&_0x481f95['hrzHZ'](_0x5a02fa['scope'],_0x353de9(0x1ae))&&(console['error'](_0x481f95['ivwtK'](_0x481f95[_0x353de9(0x1e7)](_0x353de9(0x1b3)+String(_0x5a02fa['scope'])+_0x353de9(0x1f6),'Setup\x20always\x20installs\x20at\x20user\x20scope\x20now\x20(cloud\x20profiles\x20make\x20'),_0x353de9(0x20a))),process['exit'](0x1));_0x5a02fa={..._0x5a02fa,'scope':_0x481f95[_0x353de9(0x1c1)]};const _0x240126=!existsSync(getRangerHomeDir());await _0x481f95['HoWdf'](ensureRangerDir,_0x481f95[_0x353de9(0x1c1)]);if(_0x5a02fa?.['skipAuth'])console['log'](_0x481f95[_0x353de9(0x20d)]),_0x1a62e1?.[_0x353de9(0x1d6)](_0x481f95['ahnsY'],{'isFirstRun':_0x240126,'method':_0x353de9(0x1c7)});else{_0x1a62e1?.[_0x353de9(0x1f8)]('auth');const _0x206e54=await _0x481f95[_0x353de9(0x1b7)](authenticate,_0x1db340);_0x1a62e1?.[_0x353de9(0x1d6)](_0x353de9(0x1ac),{'isFirstRun':_0x240126,'method':_0x206e54[_0x353de9(0x1e8)]});}_0x1a62e1?.[_0x353de9(0x1f8)](_0x481f95[_0x353de9(0x1fc)]);_0x5a02fa?.['skipChromium']?console['log'](_0x481f95['ybNJM']):await _0x481f95[_0x353de9(0x1e2)](ensureChromium,_0x5a02fa?.[_0x353de9(0x1fd)]);_0x1a62e1?.['trackPhaseEnd'](_0x481f95['uLrvo'],{'isFirstRun':_0x240126,'skipped':!!_0x5a02fa?.['skipChromium']}),console[_0x353de9(0x1c9)](_0x353de9(0x1de));const _0x1e2fa4=_0x5a02fa?.['scope'],_0x43434d=_0x5a02fa?.['opencode']??![];let _0x5f0d5f=null;_0x43434d?(_0x1a62e1?.[_0x353de9(0x1f8)]('plugin'),_0x5f0d5f=await _0x481f95['tkPoZ'](ensureOpencodePluginConfig,_0x1e2fa4),_0x1a62e1?.[_0x353de9(0x1d6)]('plugin',{'isFirstRun':_0x240126,'opencode':!![]})):(_0x1a62e1?.[_0x353de9(0x1f8)](_0x353de9(0x1b0)),await ensureClaudePlugin(_0x1e2fa4),_0x1a62e1?.['trackPhaseEnd'](_0x353de9(0x1b0),{'isFirstRun':_0x240126}));if(_0x481f95['gfYND'](_0x43434d,_0x5f0d5f)){_0x1a62e1?.['trackPhaseStart'](_0x481f95['COFDw']);try{await _0x481f95[_0x353de9(0x1af)](installSkill,_0x353de9(0x1a5),{'level':_0x5f0d5f['scope'],'cliVersion':_0x481f95[_0x353de9(0x19f)](getCurrentVersion),'platform':'opencode'}),_0x1a62e1?.['trackPhaseEnd'](_0x481f95[_0x353de9(0x201)],{'isFirstRun':_0x240126,'opencode':!![]});}catch(_0x4aa3c0){console['warn'](_0x481f95['qIbvs'],_0x4aa3c0 instanceof Error?_0x4aa3c0[_0x353de9(0x1f7)]:_0x4aa3c0),_0x1a62e1?.[_0x353de9(0x1d6)](_0x353de9(0x1b5),{'isFirstRun':_0x240126,'opencode':!![],'failed':!![]});}}else _0x1a62e1?.[_0x353de9(0x1f8)](_0x353de9(0x1b5)),await _0x481f95['JjixM'](ensureClaudeSkills,_0x1e2fa4),_0x1a62e1?.[_0x353de9(0x1d6)](_0x353de9(0x1b5),{'isFirstRun':_0x240126});if(_0x5a02fa?.[_0x353de9(0x19d)])console[_0x353de9(0x1c9)](_0x353de9(0x206));else{if(_0x5a02fa?.['url']){_0x1a62e1?.['trackPhaseStart']('profile');const _0x178ce7=await _0x481f95[_0x353de9(0x1a9)](ensureLocalEnv,{'url':_0x5a02fa[_0x353de9(0x203)],'force':_0x5a02fa?.['force'],'allowInsecureLocalhost':_0x5a02fa?.[_0x353de9(0x1f2)],'scope':_0x481f95['zqbsZ']},_0x1a62e1);_0x1a62e1?.[_0x353de9(0x1d6)](_0x481f95['TYseM'],{'isFirstRun':_0x240126,'profileReady':_0x178ce7['ready'],'userSkipped':_0x178ce7['skipped']});}else console['log'](_0x481f95['ivwtK'](_0x481f95['XEkrW'](_0x481f95[_0x353de9(0x1d3)](_0x353de9(0x1dc),_0x353de9(0x202)+_0x481f95['xaiHP'](bold,_0x481f95['pTjPU'])),_0x353de9(0x20c)),_0x353de9(0x1da))+_0x353de9(0x1b1));}if(_0x43434d)console[_0x353de9(0x1c9)](_0x481f95[_0x353de9(0x1ed)]),console[_0x353de9(0x1c9)]('and\x20prompt\x20the\x20agent\x20like\x20usual.\x20Ranger\x20will\x20create\x20a\x20feature\x20review'),console[_0x353de9(0x1c9)](_0x481f95[_0x353de9(0x1fa)]),console[_0x353de9(0x1c9)]('verification\x20to\x20check\x20its\x20work\x20as\x20it\x20builds.');else{const _0x2d5331=_0x481f95['JLYWW'](bold,_0x481f95[_0x353de9(0x1cc)]);console['log'](_0x481f95[_0x353de9(0x1d3)]('\x0aIn\x20Claude\x20Code,\x20run\x20'+_0x2d5331+_0x353de9(0x1b6),_0x353de9(0x1fe))+'\x0ascenarios\x20describing\x20what\x20to\x20verify\x20and\x20then\x20run\x20browser'+_0x353de9(0x1eb));}}
1
+ const _0x59cf8b=_0x3769;(function(_0x66964e,_0x49611b){const _0x182c88=_0x3769,_0x52b565=_0x66964e();while(!![]){try{const _0x564bed=-parseInt(_0x182c88(0x18b))/0x1+parseInt(_0x182c88(0x1ed))/0x2+parseInt(_0x182c88(0x1e7))/0x3+parseInt(_0x182c88(0x19d))/0x4+parseInt(_0x182c88(0x1b5))/0x5+-parseInt(_0x182c88(0x1c0))/0x6*(-parseInt(_0x182c88(0x1dc))/0x7)+-parseInt(_0x182c88(0x1ee))/0x8;if(_0x564bed===_0x49611b)break;else _0x52b565['push'](_0x52b565['shift']());}catch(_0x36af7e){_0x52b565['push'](_0x52b565['shift']());}}}(_0xce36,0x77ac1));import{mkdir,writeFile}from'fs/promises';import{join}from'path';import{existsSync}from'fs';import{createRequire}from'module';import{spawn}from'child_process';import _0x3f3bf0 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';function _0xce36(){const _0x1693a9=['executablePath','\x0aIn\x20OpenCode,\x20enable\x20Ranger\x20hooks\x20(run\x20the\x20`ranger_enable`\x20tool)','\x0a✅\x20Ranger\x20setup\x20complete!\x0a','npx','AexSL','\x0a❌\x20Profile\x20setup\x20failed:','vgqVU','device_auth','existing_token','fBtMF','isTTY','4030975tbQits','Failed\x20to\x20connect\x20to\x20MCP\x20server:\x20','/ranger:enable','verification\x20to\x20check\x20its\x20work\x20as\x20it\x20builds.','\x0a\x20\x20','You\x20can\x20install\x20it\x20manually\x20by\x20running:','playwright@','trackPhaseStart','\x1b[0m','message','✓\x20Already\x20authenticated\x20to\x20','89094cDjlVg','yxMMt','GITHUB_ENV','success','TadOC','\x0averification\x20to\x20check\x20its\x20work\x20as\x20it\x20builds.','local','auth','Authentication\x20failed:\x20','.\x20Please\x20check\x20your\x20network\x20connection\x20and\x20server\x20URL.','warn','HCKUs','\x0aagent\x20like\x20usual.\x20Claude\x20will\x20create\x20a\x20feature\x20review\x20with','provided_token','VuWXL','sxoMd','\x0a⚠\x20Skipping\x20Chromium\x20installation.','✓\x20Created\x20~/.ranger/\x20directory','jEJyg','\x0a\x20\x20(opens\x20a\x20browser\x20so\x20you\x20can\x20log\x20in\x20once)','ZshSr','KMyVi','\x0a❌\x20Failed\x20to\x20install\x20Chromium:','env','url','\x20is\x20no\x20longer\x20supported.\x20','The\x20required\x20version\x20(','skipped','259LcIDCa','plugin','organizationName','skipAuth','\x0aNon-interactive\x20mode:\x20Auto-installing\x20Playwright\x20Chromium\x20','AwTbO','and\x20prompt\x20the\x20agent\x20like\x20usual.\x20Ranger\x20will\x20create\x20a\x20feature\x20review','stdout','error','Validating\x20API\x20token...','skills','2315589VbtciM','close','scope','MSBNf','hMToz','opencode','1772098kRUblZ','21278232QbfXSr','install','✓\x20Exported\x20credentials\x20for\x20CI','584084dxpjSZ','\x0aInstalling\x20Chromium\x20browser...\x0a','exit','trackPhaseEnd','Setup\x20always\x20installs\x20at\x20user\x20scope\x20now\x20(cloud\x20profiles\x20make\x20','resolve','with\x20scenarios\x20describing\x20what\x20to\x20verify\x20and\x20then\x20run\x20browser','user','IRwrZ','xTWjL','skipChromium','Failed\x20to\x20validate\x20provisioned\x20API\x20key:\x20','ranger\x20profile\x20add\x20<name>','\x20\x20npx\x20playwright@','version','bXlwe','project-scope\x20setup\x20obsolete).\x20Drop\x20the\x20--scope\x20flag\x20or\x20pass\x20--scope=user.','method','2882080DzBggw','1.58.2','\x0a🚀\x20Ranger\x20Setup\x0a','txaLT','\x20now?','prompt','log','GFRZD','\x20install\x20chromium','allowInsecureLocalhost','gDbGz','pAZzm','amQSh'];_0xce36=function(){return _0x1693a9;};return _0xce36();}import{findExistingEnv}from'./utils/settings.js';import{getCurrentVersion}from'./utils/version.js';import{ensureClaudePlugin,ensureClaudeSkills}from'./setup/claude.js';import{ensureOpencodePluginConfig}from'./setup/opencode.js';import{installSkill}from'./utils/skills.js';const require=createRequire(import.meta.url);function _0x3769(_0x53ab96,_0x484211){_0x53ab96=_0x53ab96-0x189;const _0xce36a3=_0xce36();let _0x3769e2=_0xce36a3[_0x53ab96];return _0x3769e2;}export const PLAYWRIGHT_CHROMIUM_INSTALL_FALLBACK_VERSION=_0x59cf8b(0x19e);const bold=_0x1654d7=>'\x1b[1m'+_0x1654d7+_0x59cf8b(0x1bd);export function getPlaywrightVersion(){const _0x95fba2=_0x59cf8b,_0x1e2fdf={'ngvtC':'playwright/package.json','qTexx':function(_0x4d3330,_0x5b6dcb){return _0x4d3330(_0x5b6dcb);}};try{const _0x6a5c63=require[_0x95fba2(0x190)](_0x1e2fdf['ngvtC']),_0xe8600=_0x1e2fdf['qTexx'](require,_0x6a5c63);return _0xe8600[_0x95fba2(0x199)];}catch{return null;}}export function installChromiumBinary(_0x4b20e9,_0x2f1e9c=![]){const _0x40396e=_0x59cf8b,_0x47b92b={'KMyVi':function(_0x52a25b,_0x2772f7){return _0x52a25b(_0x2772f7);},'EbroR':'--with-deps','ynZJT':'inherit','tCqqQ':function(_0x4c324f,_0x3b49e3){return _0x4c324f===_0x3b49e3;},'KolGu':_0x40396e(0x1e8),'DCXdy':'error'};return new Promise((_0x208e69,_0xd11d7c)=>{const _0x597991=_0x40396e,_0x464b36=[_0x597991(0x1bb)+_0x4b20e9,_0x597991(0x189),..._0x2f1e9c?[_0x47b92b['EbroR']]:[],'chromium'],_0x1a79f7=spawn(_0x597991(0x1ad),_0x464b36,{'stdio':['ignore','inherit',_0x47b92b['ynZJT']],'shell':_0x47b92b['tCqqQ'](process['platform'],'win32')});_0x1a79f7['on'](_0x47b92b['KolGu'],_0x13f339=>{const _0x111d5e=_0x597991;_0x13f339===0x0?_0x208e69():_0x47b92b[_0x111d5e(0x1d5)](_0xd11d7c,new Error('Installation\x20failed\x20with\x20exit\x20code\x20'+_0x13f339));}),_0x1a79f7['on'](_0x47b92b['DCXdy'],_0x4a703f=>{_0xd11d7c(_0x4a703f);});});}export async function authenticate(_0x4bba46){const _0xceda5d=_0x59cf8b,_0xed120a={'OmRyT':function(_0x3c2796){return _0x3c2796();},'tkgkd':function(_0x336b73,_0xad876a){return _0x336b73(_0xad876a);},'AexSL':_0xceda5d(0x1e5),'vgqVU':function(_0x276e22,_0x2e99a5){return _0x276e22(_0x2e99a5);},'fBtMF':'✓\x20Stored\x20credentials\x20locally'};if(!_0x4bba46){const _0x2abe5f=await _0xed120a['OmRyT'](getToken);if(_0x2abe5f){const _0x58721f=await _0xed120a['tkgkd'](getCurrentUser,_0x2abe5f);if(_0x58721f['success'])return console[_0xceda5d(0x1a3)](_0xceda5d(0x1bf)+_0x58721f[_0xceda5d(0x192)][_0xceda5d(0x1de)]),{'token':_0x2abe5f,'method':_0xceda5d(0x1b2)};}try{_0x4bba46=await runDeviceAuthFlow();}catch(_0x48e997){throw new Error(_0xceda5d(0x1c8)+(_0x48e997 instanceof Error?_0x48e997['message']:_0x48e997));}const _0x268af5=await getCurrentUser(_0x4bba46);if(!_0x268af5[_0xceda5d(0x1c3)])throw new Error(_0xceda5d(0x196)+_0x268af5[_0xceda5d(0x1e4)]);return console['log']('✓\x20Authenticated\x20to\x20'+_0x268af5['user']['organizationName']),{'token':_0x4bba46,'method':_0xceda5d(0x1b1)};}console[_0xceda5d(0x1a3)](_0xed120a[_0xceda5d(0x1ae)]);const _0x1ab06=await _0xed120a['vgqVU'](getCurrentUser,_0x4bba46);if(!_0x1ab06[_0xceda5d(0x1c3)]){if(_0x1ab06['status'])throw new Error('Authentication\x20failed:\x20'+_0x1ab06['error']+'.\x20Please\x20check\x20your\x20API\x20token\x20and\x20try\x20again.');else throw new Error(_0xceda5d(0x1b6)+_0x1ab06['error']+_0xceda5d(0x1c9));}return console['log']('✓\x20Authenticated\x20to\x20'+_0x1ab06[_0xceda5d(0x192)]['organizationName']),await _0xed120a[_0xceda5d(0x1b0)](storeToken,_0x4bba46),console[_0xceda5d(0x1a3)](process[_0xceda5d(0x1d7)][_0xceda5d(0x1c2)]?_0xceda5d(0x18a):_0xed120a[_0xceda5d(0x1b3)]),{'token':_0x4bba46,'method':_0xceda5d(0x1cd)};}export async function ensureRangerDir(_0x1918e5){const _0x5c838e=_0x59cf8b,_0x47c3c6={'ykjXm':function(_0x2336fb){return _0x2336fb();},'SMBYU':'✓\x20~/.ranger/\x20directory\x20already\x20exists'};void _0x1918e5;const _0x3ed70c=_0x47c3c6['ykjXm'](getRangerHomeDir);return!existsSync(_0x3ed70c)?(await mkdir(_0x3ed70c,{'recursive':!![]}),console[_0x5c838e(0x1a3)](_0x5c838e(0x1d1)),{'path':_0x3ed70c,'installed':!![]}):(console[_0x5c838e(0x1a3)](_0x47c3c6['SMBYU']),{'path':_0x3ed70c,'installed':![]});}export async function ensureChromium(_0x4b0ac9=![]){const _0x363c15=_0x59cf8b,_0x693d35={'HCKUs':function(_0xae32eb,_0x28b174){return _0xae32eb(_0x28b174);},'VuWXL':'✓\x20Playwright\x20Chromium\x20browser\x20found','HqzMO':function(_0x4dbf6c){return _0x4dbf6c();},'bvRgq':'confirm','gDbGz':_0x363c15(0x189),'kZnyG':'\x20(fallback\x20version)','ZshSr':_0x363c15(0x18c),'MSBNf':function(_0x35a7cd,_0x26b944,_0x1b307a){return _0x35a7cd(_0x26b944,_0x1b307a);},'txaLT':_0x363c15(0x1d6),'FWHmu':_0x363c15(0x1ba),'IMmgS':_0x363c15(0x1d0),'siwmb':'You\x20will\x20need\x20to\x20install\x20it\x20before\x20using\x20Ranger:'};let _0x39050c=![];try{const _0x2b332e=chromium[_0x363c15(0x1aa)]();_0x39050c=_0x693d35[_0x363c15(0x1cb)](existsSync,_0x2b332e);}catch{_0x39050c=![];}if(_0x39050c)return console['log'](_0x693d35[_0x363c15(0x1ce)]),![];const _0x50326a=_0x693d35['HqzMO'](getPlaywrightVersion),_0x5e1457=_0x50326a??PLAYWRIGHT_CHROMIUM_INSTALL_FALLBACK_VERSION,_0x2d1808=!_0x50326a,_0x35b365=process['stdin'][_0x363c15(0x1b4)]&&process[_0x363c15(0x1e3)]['isTTY'];let _0x502170=!![];if(_0x35b365){const {install:_0x145903}=await _0x3f3bf0[_0x363c15(0x1a2)]([{'type':_0x693d35['bvRgq'],'name':_0x693d35[_0x363c15(0x1a7)],'message':_0x2d1808?'Could\x20not\x20determine\x20local\x20Playwright\x20version.\x20Install\x20Playwright\x20Chromium\x20using\x20fallback\x20version\x20'+_0x5e1457+_0x363c15(0x1a1):_0x363c15(0x1da)+_0x5e1457+')\x20of\x20the\x20Playwright\x20Chromium\x20browser\x20is\x20not\x20installed.\x20Install\x20it\x20now?','default':!![]}]);_0x502170=_0x145903;}else console['log'](_0x363c15(0x1e0)+_0x5e1457+(_0x2d1808?_0x693d35['kZnyG']:'')+'...');if(_0x502170){console['log'](_0x693d35[_0x363c15(0x1d4)]);try{await _0x693d35[_0x363c15(0x1ea)](installChromiumBinary,_0x5e1457,_0x4b0ac9),console['log']('\x0a✓\x20Playwright\x20Chromium\x20installed\x20successfully');}catch(_0x19628b){console[_0x363c15(0x1e4)](_0x693d35[_0x363c15(0x1a0)],_0x19628b instanceof Error?_0x19628b[_0x363c15(0x1be)]:_0x19628b),console['log'](_0x693d35['FWHmu']),console[_0x363c15(0x1a3)](_0x363c15(0x198)+_0x5e1457+_0x363c15(0x1a5));}}else console[_0x363c15(0x1a3)](_0x693d35['IMmgS']),console['log'](_0x693d35['siwmb']),console['log']('\x20\x20npx\x20playwright@'+_0x5e1457+'\x20install\x20chromium');return!![];}export async function writeRangerGitignore(_0x181bbc){const _0x1bc0b1=_0x59cf8b,_0x48af73=join(_0x181bbc,'.gitignore'),_0x403f9b='\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(_0x48af73,_0x403f9b),console[_0x1bc0b1(0x1a3)]('✓\x20Created\x20.ranger/.gitignore');}export async function ensureLocalEnv(_0xfd30eb,_0x5dbdfd){const _0x43a0fa=_0x59cf8b,_0xfe5a6e={'ctVHV':function(_0x3de39f){return _0x3de39f();},'TadOC':_0x43a0fa(0x192),'FvWLJ':'⚠\x20No\x20git\x20repository\x20found.\x20Re-run\x20with\x20`--scope\x20user`\x20to\x20store\x20the\x20profile\x20at\x20~/.ranger/.','amQSh':'✓\x20Local\x20profile\x20already\x20exists','FglpV':_0x43a0fa(0x1c6)};if(!_0xfe5a6e['ctVHV'](findGitRoot)&&_0xfd30eb?.[_0x43a0fa(0x1e9)]!==_0xfe5a6e[_0x43a0fa(0x1c4)])return console['log'](_0xfe5a6e['FvWLJ']),{'ready':![],'skipped':!![]};const _0xac69c8=_0xfd30eb?.[_0x43a0fa(0x1e9)]===_0xfe5a6e[_0x43a0fa(0x1c4)]?getRangerHomeDir():undefined;if(findExistingEnv(_0x43a0fa(0x1c6),{'locations':[_0x43a0fa(0x1c6)],'rangerDir':_0xac69c8}))return console[_0x43a0fa(0x1a3)](_0xfe5a6e[_0x43a0fa(0x1a9)]),{'ready':!![],'skipped':![]};try{return await addEnv(_0xfe5a6e['FglpV'],{'url':_0xfd30eb?.[_0x43a0fa(0x1d8)],'force':_0xfd30eb?.['force'],'allowInsecureLocalhost':_0xfd30eb?.[_0x43a0fa(0x1a6)],'scope':_0xfd30eb?.['scope']},_0x5dbdfd),{'ready':!![],'skipped':![]};}catch(_0x4aa790){return console[_0x43a0fa(0x1e4)](_0x43a0fa(0x1af),_0x4aa790 instanceof Error?_0x4aa790[_0x43a0fa(0x1be)]:_0x4aa790),{'ready':![],'skipped':![]};}}export async function start(_0x5dcb2e,_0x4f8223,_0x5b10fc){const _0x5ac945=_0x59cf8b,_0x24c0c5={'snpht':function(_0x301c0b,_0x1971c7){return _0x301c0b!==_0x1971c7;},'ygAHg':function(_0x4a6830,_0x5257d7){return _0x4a6830!==_0x5257d7;},'HOSfk':_0x5ac945(0x192),'xTWjL':function(_0x5a665b,_0x1a42e9){return _0x5a665b+_0x1a42e9;},'yxMMt':function(_0x16d1aa,_0x27b658){return _0x16d1aa(_0x27b658);},'WBrby':function(_0x3c4043){return _0x3c4043();},'AwTbO':_0x5ac945(0x1c7),'GQdRs':_0x5ac945(0x1db),'foRwQ':'✓\x20Skipping\x20Chromium\x20check\x20(--skip-chromium)','gcDGl':function(_0x1ddccf,_0x2f8048){return _0x1ddccf(_0x2f8048);},'hMToz':'chromium','BKXpb':_0x5ac945(0x1ac),'MuJwu':'plugin','jEJyg':function(_0x38d33b,_0x5cb6f6){return _0x38d33b&&_0x5cb6f6;},'mMGSK':function(_0x4ec56c,_0x5f2c54,_0x485b28){return _0x4ec56c(_0x5f2c54,_0x485b28);},'BIDFI':_0x5ac945(0x1ec),'sxoMd':'\x20\x20Failed\x20to\x20install\x20OpenCode\x20skill:','lBGue':'skills','RGsaI':'\x0aSkipping\x20profile\x20setup\x20(--skip-auth).\x20Run\x20`ranger\x20setup`\x20with\x20auth\x20to\x20add\x20a\x20profile\x20later.\x0a','FpxMd':'profile','IRwrZ':function(_0x363560,_0xc79f){return _0x363560+_0xc79f;},'bXlwe':function(_0x5e0c76,_0x598f2e){return _0x5e0c76+_0x598f2e;},'GFRZD':_0x5ac945(0x197),'pAZzm':_0x5ac945(0x1ab),'zvzqZ':_0x5ac945(0x1b8)};console['log'](_0x5ac945(0x19f));_0x24c0c5['snpht'](_0x4f8223?.['scope'],undefined)&&_0x24c0c5['ygAHg'](_0x4f8223['scope'],_0x24c0c5['HOSfk'])&&(console[_0x5ac945(0x1e4)](_0x24c0c5[_0x5ac945(0x194)](_0x24c0c5['xTWjL']('ranger\x20setup\x20--scope='+String(_0x4f8223['scope'])+_0x5ac945(0x1d9),_0x5ac945(0x18f)),_0x5ac945(0x19b))),process[_0x5ac945(0x18d)](0x1));_0x4f8223={..._0x4f8223,'scope':_0x24c0c5['HOSfk']};const _0x53b58c=!_0x24c0c5[_0x5ac945(0x1c1)](existsSync,_0x24c0c5['WBrby'](getRangerHomeDir));await ensureRangerDir(_0x5ac945(0x192));if(_0x4f8223?.[_0x5ac945(0x1df)])console['log']('✓\x20Skipping\x20authentication\x20(--skip-auth)'),_0x5b10fc?.['trackPhaseEnd'](_0x24c0c5['AwTbO'],{'isFirstRun':_0x53b58c,'method':_0x24c0c5['GQdRs']});else{_0x5b10fc?.['trackPhaseStart']('auth');const _0x161f04=await _0x24c0c5[_0x5ac945(0x1c1)](authenticate,_0x5dcb2e);_0x5b10fc?.['trackPhaseEnd'](_0x24c0c5[_0x5ac945(0x1e1)],{'isFirstRun':_0x53b58c,'method':_0x161f04[_0x5ac945(0x19c)]});}_0x5b10fc?.['trackPhaseStart']('chromium');_0x4f8223?.[_0x5ac945(0x195)]?console['log'](_0x24c0c5['foRwQ']):await _0x24c0c5['gcDGl'](ensureChromium,_0x4f8223?.['withDeps']);_0x5b10fc?.[_0x5ac945(0x18e)](_0x24c0c5[_0x5ac945(0x1eb)],{'isFirstRun':_0x53b58c,'skipped':!!_0x4f8223?.['skipChromium']}),console['log'](_0x24c0c5['BKXpb']);const _0x2e2219=_0x4f8223?.['scope'],_0x3d37a4=_0x4f8223?.[_0x5ac945(0x1ec)]??![];let _0x55f93b=null;_0x3d37a4?(_0x5b10fc?.['trackPhaseStart'](_0x5ac945(0x1dd)),_0x55f93b=await ensureOpencodePluginConfig(_0x2e2219),_0x5b10fc?.[_0x5ac945(0x18e)](_0x5ac945(0x1dd),{'isFirstRun':_0x53b58c,'opencode':!![]})):(_0x5b10fc?.['trackPhaseStart'](_0x24c0c5['MuJwu']),await _0x24c0c5[_0x5ac945(0x1c1)](ensureClaudePlugin,_0x2e2219),_0x5b10fc?.['trackPhaseEnd'](_0x5ac945(0x1dd),{'isFirstRun':_0x53b58c}));if(_0x24c0c5[_0x5ac945(0x1d2)](_0x3d37a4,_0x55f93b)){_0x5b10fc?.[_0x5ac945(0x1bc)](_0x5ac945(0x1e6));try{await _0x24c0c5['mMGSK'](installSkill,'ranger',{'level':_0x55f93b[_0x5ac945(0x1e9)],'cliVersion':_0x24c0c5['WBrby'](getCurrentVersion),'platform':_0x24c0c5['BIDFI']}),_0x5b10fc?.[_0x5ac945(0x18e)](_0x5ac945(0x1e6),{'isFirstRun':_0x53b58c,'opencode':!![]});}catch(_0x40a26c){console[_0x5ac945(0x1ca)](_0x24c0c5[_0x5ac945(0x1cf)],_0x40a26c instanceof Error?_0x40a26c[_0x5ac945(0x1be)]:_0x40a26c),_0x5b10fc?.[_0x5ac945(0x18e)](_0x24c0c5['lBGue'],{'isFirstRun':_0x53b58c,'opencode':!![],'failed':!![]});}}else _0x5b10fc?.['trackPhaseStart'](_0x5ac945(0x1e6)),await ensureClaudeSkills(_0x2e2219),_0x5b10fc?.[_0x5ac945(0x18e)]('skills',{'isFirstRun':_0x53b58c});if(_0x4f8223?.[_0x5ac945(0x1df)])console[_0x5ac945(0x1a3)](_0x24c0c5['RGsaI']);else{if(_0x4f8223?.['url']){_0x5b10fc?.[_0x5ac945(0x1bc)](_0x24c0c5['FpxMd']);const _0x268b2c=await ensureLocalEnv({'url':_0x4f8223['url'],'force':_0x4f8223?.['force'],'allowInsecureLocalhost':_0x4f8223?.['allowInsecureLocalhost'],'scope':'user'},_0x5b10fc);_0x5b10fc?.['trackPhaseEnd']('profile',{'isFirstRun':_0x53b58c,'profileReady':_0x268b2c['ready'],'userSkipped':_0x268b2c['skipped']});}else console[_0x5ac945(0x1a3)](_0x24c0c5[_0x5ac945(0x193)](_0x24c0c5[_0x5ac945(0x19a)]('\x0aTo\x20set\x20up\x20a\x20profile\x20for\x20your\x20app,\x20run:',_0x5ac945(0x1b9)+bold(_0x24c0c5[_0x5ac945(0x1a4)])),_0x5ac945(0x1d3))+'\x0a\x0aFor\x20CI\x20/\x20background\x20agents\x20and\x20other\x20setup\x20options,\x20see:'+'\x0a\x20\x20https://docs.ranger.net/main/concepts/profiles');}if(_0x3d37a4)console[_0x5ac945(0x1a3)](_0x24c0c5[_0x5ac945(0x1a8)]),console[_0x5ac945(0x1a3)](_0x5ac945(0x1e2)),console['log'](_0x5ac945(0x191)),console['log'](_0x24c0c5['zvzqZ']);else{const _0x352ec2=bold(_0x5ac945(0x1b7));console['log'](_0x24c0c5[_0x5ac945(0x193)](_0x24c0c5['bXlwe']('\x0aIn\x20Claude\x20Code,\x20run\x20'+_0x352ec2+'\x20and\x20prompt\x20the\x20coding',_0x5ac945(0x1cc)),'\x0ascenarios\x20describing\x20what\x20to\x20verify\x20and\x20then\x20run\x20browser')+_0x5ac945(0x1c5));}}
@@ -1 +1 @@
1
- (function(_0x167bee,_0x87f885){const _0x4e3bea=_0x30eb,_0x463ff6=_0x167bee();while(!![]){try{const _0x73b7b4=-parseInt(_0x4e3bea(0x14d))/0x1+parseInt(_0x4e3bea(0x123))/0x2+parseInt(_0x4e3bea(0x11e))/0x3+-parseInt(_0x4e3bea(0x17b))/0x4*(parseInt(_0x4e3bea(0x167))/0x5)+-parseInt(_0x4e3bea(0x16b))/0x6+parseInt(_0x4e3bea(0x14c))/0x7*(parseInt(_0x4e3bea(0x171))/0x8)+parseInt(_0x4e3bea(0x136))/0x9*(parseInt(_0x4e3bea(0x134))/0xa);if(_0x73b7b4===_0x87f885)break;else _0x463ff6['push'](_0x463ff6['shift']());}catch(_0x92dd8f){_0x463ff6['push'](_0x463ff6['shift']());}}}(_0x1aa2,0x63811));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';function _0x30eb(_0x1f5c5a,_0x4a094e){_0x1f5c5a=_0x1f5c5a-0x11d;const _0x1aa217=_0x1aa2();let _0x30eb91=_0x1aa217[_0x1f5c5a];return _0x30eb91;}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 _0x1aa2(){const _0x446a0=['sessionUpdatedAt','ducmx','\x20\x20Not\x20configured','fwnRm','API\x20Environment:\x20','KiuIw','string','8PHIlUp','map','success','isArray','tYphw','YgDVl','\x20\x20Run:\x20ranger\x20setup\x20[token]\x20\x20(includes\x20plugin\x20installation)','wqQBE','1312044gOdMjN','no\x20session','\x20(up\x20to\x20date)','name','hasPlaintextAuth','422932KPjcES','Root:\x20','ggtMn','soimq','not_configured','ohKYS','DcGOB','user',':\x20configured','BdeYd','lMcDA','TgCJT','GNAqE','\x20\x20\x20\x20Session:\x20','pipe','log','UGIXa','10gTFoZr','includes','11623230fJwecV','VXlbg','cwd','join','match','\x20\x20User-level:','LgIjO','Version:\x20','some','not_installed','kfIaa','configured','mFNXz','filter','dDJNX','\x20\x20Project-level:','API\x20URL:\x20','\x20\x20\x20\x20Auth:\x20','\x20\x20Run:\x20ranger\x20setup\x20--opencode','\x20\x20OpenCode\x20not\x20installed\x20or\x20not\x20available','\x20(active)','\x20\x20Run:\x20ranger\x20setup\x20[token]\x0a','790111bSNfnz','743307nVVEBu','SLMIz','WTrAI','details','path','plaintext','OBocA','has','stderr','parse','GlYar','organizationName','@ranger-testing/opencode-plugin','No\x20profiles\x20configured','\x20cloud','close','\x20[cloud]','none','sCXcv','OZagm','HxZIm','encrypted','\x20\x20Run:\x20ranger\x20skillup','gObcm','settingsPath','opencode-plugin','1860370TxUtXQ','push','EYPAc','rmyro','1626036WwoQHH','fNaJa','\x0a---\x20Claude\x20Code\x20Plugin\x20---','data','length','auth.json','16ncTehc','opencode','API\x20Token:\x20✗\x20Not\x20found'];_0x1aa2=function(){return _0x446a0;};return _0x1aa2();}import{RANGER_MANAGED_SKILLS}from'./utils/skills.js';import{spawn}from'child_process';const bold=_0x3fc81d=>'\x1b[1m'+_0x3fc81d+'\x1b[0m',link=(_0x1028f6,_0x56c89b)=>'\x1b]8;;file://'+_0x1028f6+'\x07'+(_0x56c89b||_0x1028f6)+'\x1b]8;;\x07';async function getOpencodePluginStatus(){const _0x4bc808=_0x30eb,_0x4c86b1={'wqQBE':function(_0x252964,_0x2d398a){return _0x252964(_0x2d398a);},'fNaJa':_0x4bc808(0x13f),'KiuIw':function(_0x22cd97,_0xcfef6f){return _0x22cd97>_0xcfef6f;},'GNAqE':function(_0x58ed2d,_0x5b961e){return _0x58ed2d(_0x5b961e);},'RauQC':'not_configured','GlYar':_0x4bc808(0x166),'tYphw':function(_0x7f0301,_0x117ba9,_0x580fdc,_0x338311){return _0x7f0301(_0x117ba9,_0x580fdc,_0x338311);},'ggtMn':'config','YNena':'ignore','ducmx':_0x4bc808(0x131),'TgCJT':_0x4bc808(0x15c)};return new Promise(_0x29bb26=>{const _0x1689f8=_0x4bc808,_0x45bc9e={'UGIXa':function(_0x9ada4c,_0x5a9596){const _0x1fb4d1=_0x30eb;return _0x4c86b1[_0x1fb4d1(0x12f)](_0x9ada4c,_0x5a9596);},'WTrAI':_0x4c86b1['fNaJa'],'omUHT':function(_0x38c3b2,_0x9b5750){return _0x38c3b2!==_0x9b5750;},'ohKYS':_0x4c86b1[_0x1689f8(0x157)]},_0x3b91a2=_0x4c86b1[_0x1689f8(0x17f)](spawn,_0x1689f8(0x172),['debug',_0x4c86b1[_0x1689f8(0x125)]],{'stdio':[_0x4c86b1['YNena'],_0x1689f8(0x131),_0x4c86b1[_0x1689f8(0x175)]]});let _0x2975f2='';_0x3b91a2['stdout']?.['on'](_0x1689f8(0x16e),_0x67cf52=>{_0x2975f2+=_0x67cf52['toString']();}),_0x3b91a2[_0x1689f8(0x155)]?.['on'](_0x1689f8(0x16e),_0x21a836=>{_0x2975f2+=_0x21a836['toString']();}),_0x3b91a2['on']('error',()=>{const _0x3e49f6=_0x1689f8;_0x45bc9e[_0x3e49f6(0x133)](_0x29bb26,{'status':_0x45bc9e[_0x3e49f6(0x14f)]});}),_0x3b91a2['on'](_0x4c86b1[_0x1689f8(0x12e)],_0x5c7540=>{const _0x4a08bf=_0x1689f8;if(_0x5c7540!==0x0){_0x4c86b1[_0x4a08bf(0x11d)](_0x29bb26,{'status':_0x4c86b1[_0x4a08bf(0x16c)]});return;}const _0x6a22db=_0x2975f2['trim']();let _0x45f2be=null;if(_0x6a22db)try{_0x45f2be=JSON[_0x4a08bf(0x156)](_0x6a22db);}catch{const _0xd40c98=_0x6a22db[_0x4a08bf(0x13a)](/\{[\s\S]*\}$/);if(_0xd40c98)try{_0x45f2be=JSON['parse'](_0xd40c98[0x0]);}catch{_0x45f2be=null;}}const _0x3c6b70=Array[_0x4a08bf(0x17e)](_0x45f2be?.['plugin'])?_0x45f2be?.['plugin']:[],_0x4c117a=_0x3c6b70[_0x4a08bf(0x13e)](_0x41a8f7=>{const _0x377c13=_0x4a08bf;if(_0x45bc9e['omUHT'](typeof _0x41a8f7,_0x377c13(0x17a)))return![];return _0x41a8f7['includes'](_0x377c13(0x159))||_0x41a8f7[_0x377c13(0x135)](_0x45bc9e[_0x377c13(0x128)]);});if(_0x4c117a){_0x29bb26({'status':_0x4a08bf(0x141),'details':_0x4c86b1[_0x4a08bf(0x179)](_0x3c6b70['length'],0x0)?_0x3c6b70[_0x4a08bf(0x16f)]+'\x20plugin(s)\x20configured':undefined});return;}if(_0x3c6b70['length']>0x0){_0x4c86b1[_0x4a08bf(0x12f)](_0x29bb26,{'status':_0x4c86b1['RauQC'],'details':_0x3c6b70['length']+'\x20plugin(s)\x20configured'});return;}_0x29bb26({'status':_0x4a08bf(0x127)});});});}async function getSkillsFromDir(_0x5d15c0,_0x156925){const _0x2e8955=_0x30eb,_0x1afd10={'lDvDD':function(_0xc9021a,_0x302f05){return _0xc9021a(_0x302f05);},'mFNXz':'SKILL.md','HxZIm':function(_0x37aaa5,_0x11c0be){return _0x37aaa5(_0x11c0be);},'wmZCr':'utf-8'};if(!_0x1afd10['lDvDD'](existsSync,_0x5d15c0))return[];const _0x447570=[];try{const _0x105729=await readdir(_0x5d15c0,{'withFileTypes':!![]});for(const _0x3864a5 of _0x105729){if(_0x3864a5['isDirectory']()){const _0x3602b7=join(_0x5d15c0,_0x3864a5[_0x2e8955(0x121)],_0x1afd10[_0x2e8955(0x142)]);if(_0x1afd10[_0x2e8955(0x161)](existsSync,_0x3602b7)){let _0x550277=_0x3864a5['name'];try{const _0x39b26f=await readFile(_0x3602b7,_0x1afd10['wmZCr']),_0x226849=_0x39b26f['match'](/name:\s*(.+)/);_0x226849&&(_0x550277=_0x226849[0x1]['trim']());}catch{}_0x447570[_0x2e8955(0x168)]({'name':_0x3864a5['name'],'displayName':_0x550277,'path':_0x3602b7,'level':_0x156925});}}}}catch{return[];}return _0x447570;}async function getInstalledSkills(){const _0x2253a7=_0x30eb,_0x50d36e={'rcNDJ':function(_0x485f79){return _0x485f79();},'jCJDl':'project','fcImU':function(_0x410e1f,_0x5caea9,_0x2e4813){return _0x410e1f(_0x5caea9,_0x2e4813);},'rmyro':'user'},[_0x13d2e0,_0x4f548b]=await Promise['all']([getSkillsFromDir(_0x50d36e['rcNDJ'](getProjectSkillsDir),_0x50d36e['jCJDl']),_0x50d36e['fcImU'](getSkillsFromDir,getUserSkillsDir(),_0x50d36e[_0x2253a7(0x16a)])]);return{'project':_0x13d2e0,'user':_0x4f548b};}async function getEnvironments(){const _0xe55a5a=_0x30eb,_0x176b35={'dDJNX':function(_0x222b04,_0x918ff6){return _0x222b04(_0x918ff6);},'bzZkK':function(_0x3c5964,_0x3cb910,_0x135e02){return _0x3c5964(_0x3cb910,_0x135e02);},'adUaM':'settings.json','RzqEN':_0xe55a5a(0x170),'MeALX':function(_0x239b7d,_0x32467e){return _0x239b7d(_0x32467e);},'soimq':function(_0x5d0944){return _0x5d0944();},'YgDVl':function(_0x4042ed){return _0x4042ed();}},{envNames:_0x465844,activeEnv:_0x1bbbbe}=await _0x176b35[_0xe55a5a(0x126)](getEnvNames),_0x1913f7=_0x176b35[_0xe55a5a(0x180)](getRangerDir);if(!_0x176b35[_0xe55a5a(0x144)](existsSync,_0x1913f7))return{'envs':[],'activeEnv':null};const _0x18f7ab=_0x465844['map'](_0x4f93fe=>{const _0x30fcb0=_0xe55a5a,_0x4d85bf=_0x176b35[_0x30fcb0(0x144)](getEnvDir,_0x4f93fe),_0x4e1ea2=_0x176b35['bzZkK'](join,_0x4d85bf,_0x176b35['adUaM']),_0x1163c6=_0x176b35['bzZkK'](join,_0x4d85bf,_0x176b35['RzqEN']),_0x109167=join(_0x4d85bf,'auth.json.enc');return{'name':_0x4f93fe,'settingsPath':existsSync(_0x4e1ea2)?_0x4e1ea2:'(not\x20found)','hasPlaintextAuth':existsSync(_0x1163c6),'hasEncryptedAuth':_0x176b35['MeALX'](existsSync,_0x109167),'isActive':_0x4f93fe===_0x1bbbbe};});return{'envs':_0x18f7ab,'activeEnv':_0x1bbbbe};}export async function status(){const _0x328ed0=_0x30eb,_0x1a27bc={'lMcDA':'\x0a📊\x20Ranger\x20Status\x0a','EYPAc':function(_0x2bc4f9){return _0x2bc4f9();},'BdeYd':function(_0x259dba,_0xc5e819){return _0x259dba(_0xc5e819);},'OZagm':function(_0x4efa42,_0x36ccb3,_0x304b54){return _0x4efa42(_0x36ccb3,_0x304b54);},'uxNYW':function(_0x17ed30){return _0x17ed30();},'kfIaa':'not_configured','vkfBX':_0x328ed0(0x149),'MssJE':_0x328ed0(0x16d),'gObcm':'ranger@trailhead','VXlbg':'\x20\x20Not\x20installed','LgIjO':_0x328ed0(0x181),'fIevs':'\x0a---\x20Skills\x20---','DcGOB':function(_0x1709d3,_0x38e753){return _0x1709d3+_0x38e753;},'ZtQZZ':function(_0x2f8552,_0x2a6578){return _0x2f8552>_0x2a6578;},'OBocA':function(_0x486df2,_0xcb039d,_0x7dcdb9){return _0x486df2(_0xcb039d,_0x7dcdb9);},'xYbep':function(_0x441f1b,_0x106939){return _0x441f1b(_0x106939);},'sCXcv':function(_0x44dc47,_0x429aac){return _0x44dc47(_0x429aac);},'CswYg':function(_0x1375b7){return _0x1375b7();},'SLMIz':function(_0x5ab2b4,_0x9002db){return _0x5ab2b4>_0x9002db;},'fwnRm':function(_0x51c377,_0x4a977c){return _0x51c377===_0x4a977c;},'VGQaj':_0x328ed0(0x14a),'qHyfl':_0x328ed0(0x11f),'djGxo':_0x328ed0(0x15e),'BrhZf':function(_0x5818f5,_0x60bf1e){return _0x5818f5!==_0x60bf1e;},'TAVyj':'(not\x20found)'};console[_0x328ed0(0x132)](_0x1a27bc[_0x328ed0(0x12d)]);const _0x1d889a=process[_0x328ed0(0x138)](),_0x405c24=_0x1a27bc[_0x328ed0(0x169)](getRangerDir);if(!_0x1a27bc[_0x328ed0(0x12c)](existsSync,_0x405c24)){console[_0x328ed0(0x132)]('Root:\x20'+link(_0x1d889a,_0x1a27bc[_0x328ed0(0x12c)](bold,basename(_0x1d889a)))),console[_0x328ed0(0x132)]('\x0aRanger\x20has\x20not\x20been\x20initialized\x20in\x20this\x20directory.'),console['log'](_0x328ed0(0x14b));return;}console[_0x328ed0(0x132)](_0x328ed0(0x124)+_0x1a27bc['OZagm'](link,_0x1d889a,_0x1a27bc[_0x328ed0(0x12c)](bold,_0x1a27bc[_0x328ed0(0x12c)](basename,_0x1d889a))));const _0x4bf0=getCurrentVersion(),_0x486732=_0x1a27bc['uxNYW'](getLatestVersion);if(_0x486732['version']&&_0x486732['version']!==_0x4bf0)console['log']('Version:\x20'+_0x4bf0+'\x20(latest:\x20'+_0x486732['version']+')'),console[_0x328ed0(0x132)]('\x20\x20Run:\x20ranger\x20update');else _0x486732['version']?console[_0x328ed0(0x132)](_0x328ed0(0x13d)+_0x4bf0+_0x328ed0(0x120)):console[_0x328ed0(0x132)]('Version:\x20'+_0x4bf0);const _0x31083d=await getToken();if(_0x31083d){const _0x53a282=await getCurrentUser(_0x31083d);_0x53a282[_0x328ed0(0x17d)]?console[_0x328ed0(0x132)]('Organization:\x20'+bold(_0x53a282[_0x328ed0(0x12a)][_0x328ed0(0x158)])):(console[_0x328ed0(0x132)]('API\x20Token:\x20✓\x20Found\x20but\x20invalid\x20or\x20expired'),console['log']('\x20\x20Run:\x20ranger\x20setup\x20[token]'));}else console[_0x328ed0(0x132)](_0x328ed0(0x173)),console[_0x328ed0(0x132)]('\x20\x20Run:\x20ranger\x20setup\x20[token]');process['env']['DEBUG']&&(console[_0x328ed0(0x132)](_0x328ed0(0x178)+_0x1a27bc['uxNYW'](getCurrentEnvironment)),console[_0x328ed0(0x132)](_0x328ed0(0x146)+getApiBaseUrl()));console['log']('\x0a---\x20OpenCode\x20Plugin\x20---');const _0x3e6f2f=await getOpencodePluginStatus();if(_0x3e6f2f['status']==='configured')console[_0x328ed0(0x132)]('\x20\x20'+bold(_0x328ed0(0x159))+_0x328ed0(0x12b)),_0x3e6f2f[_0x328ed0(0x150)]&&console['log']('\x20\x20'+_0x3e6f2f['details']);else _0x3e6f2f['status']===_0x1a27bc[_0x328ed0(0x140)]?(console[_0x328ed0(0x132)](_0x328ed0(0x176)),_0x3e6f2f[_0x328ed0(0x150)]&&console['log']('\x20\x20'+_0x3e6f2f['details']),console[_0x328ed0(0x132)](_0x328ed0(0x148))):console[_0x328ed0(0x132)](_0x1a27bc['vkfBX']);console[_0x328ed0(0x132)](_0x1a27bc['MssJE']);const _0x3b46fe=await getPluginInfo('ranger@trailhead');if(_0x3b46fe){const _0x5307d3=_0x3b46fe['scope']||'unknown',_0x263af7=_0x3b46fe['enabled']?'enabled':'disabled';console[_0x328ed0(0x132)]('\x20\x20'+bold(_0x1a27bc[_0x328ed0(0x164)])+':\x20installed\x20('+_0x5307d3+',\x20'+_0x263af7+')');}else console['log'](_0x1a27bc[_0x328ed0(0x137)]),console['log'](_0x1a27bc[_0x328ed0(0x13c)]);console['log'](_0x1a27bc['fIevs']);const {project:_0x3f1fce,user:_0x46d2f4}=await getInstalledSkills(),_0x1814b2=_0x3f1fce['filter'](_0x4b3a76=>RANGER_MANAGED_SKILLS['includes'](_0x4b3a76['name'])),_0x3292a0=_0x46d2f4[_0x328ed0(0x143)](_0xd9557a=>RANGER_MANAGED_SKILLS[_0x328ed0(0x135)](_0xd9557a['name'])),_0x471c80=_0x1a27bc['DcGOB'](_0x1814b2['length'],_0x3292a0['length']);if(_0x471c80===0x0)console['log']('No\x20skills\x20installed'),console[_0x328ed0(0x132)](_0x328ed0(0x163));else{if(_0x1a27bc['ZtQZZ'](_0x1814b2['length'],0x0)){console['log'](_0x328ed0(0x145));for(const _0x5c98a3 of _0x1814b2){console['log']('\x20\x20\x20\x20'+bold(_0x5c98a3['displayName'])+':\x20'+_0x1a27bc[_0x328ed0(0x153)](link,_0x5c98a3['path'],_0x1a27bc['xYbep'](basename,_0x5c98a3['path'])));}}if(_0x3292a0[_0x328ed0(0x16f)]>0x0){console[_0x328ed0(0x132)](_0x328ed0(0x13b));for(const _0x12d006 of _0x3292a0){console['log']('\x20\x20\x20\x20'+_0x1a27bc[_0x328ed0(0x15f)](bold,_0x12d006['displayName'])+':\x20'+link(_0x12d006[_0x328ed0(0x151)],basename(_0x12d006[_0x328ed0(0x151)])));}}}console['log']('\x0a---\x20Profiles\x20---');const {envs:_0x1e1f6d,activeEnv:_0x3b96ca}=await _0x1a27bc['CswYg'](getEnvironments);let _0x463210=[];if(_0x31083d)try{_0x463210=await _0x1a27bc['uxNYW'](listCloudProfiles);}catch{}const _0x2a2442=_0x1a27bc[_0x328ed0(0x129)](_0x1e1f6d['length'],_0x463210[_0x328ed0(0x16f)]);if(_0x2a2442===0x0)console[_0x328ed0(0x132)](_0x328ed0(0x15a)),console['log']('\x20\x20Run:\x20ranger\x20profile\x20add\x20<profile-name>');else{if(_0x1a27bc[_0x328ed0(0x14e)](_0x2a2442,0x5)){const _0x3cb062=[];_0x463210[_0x328ed0(0x16f)]>0x0&&_0x3cb062['push'](_0x463210['length']+_0x328ed0(0x15b)),_0x1e1f6d[_0x328ed0(0x16f)]>0x0&&_0x3cb062['push'](_0x1e1f6d['length']+'\x20local'),console['log'](_0x2a2442+'\x20profiles\x20configured\x20('+_0x3cb062[_0x328ed0(0x139)](',\x20')+')'),_0x3b96ca&&console[_0x328ed0(0x132)]('\x20\x20Active:\x20'+bold(_0x3b96ca)),console['log']('\x20\x20Run:\x20ranger\x20profile\x20ls\x20\x20(list\x20all)');}else{for(const _0x2a3c74 of _0x463210){const _0x1cfb2f=_0x1a27bc[_0x328ed0(0x177)](_0x2a3c74[_0x328ed0(0x121)],_0x3b96ca)?_0x1a27bc['VGQaj']:'';console['log']('\x20\x20'+bold(_0x2a3c74['name'])+_0x328ed0(0x15d)+_0x1cfb2f);const _0x305fbf=_0x2a3c74[_0x328ed0(0x174)]?'cached\x20(updated\x20'+_0x2a3c74[_0x328ed0(0x174)]+')':_0x1a27bc['qHyfl'];console['log'](_0x328ed0(0x130)+_0x305fbf);}const _0x4d6a22=new Set(_0x463210[_0x328ed0(0x17c)](_0x555261=>_0x555261[_0x328ed0(0x121)]));for(const _0x27f99b of _0x1e1f6d){if(_0x4d6a22['has'](_0x27f99b['name']))continue;const _0x3940a0=_0x27f99b['isActive']?_0x328ed0(0x14a):'',_0x26b2a2=_0x27f99b['hasEncryptedAuth']?_0x328ed0(0x162):_0x27f99b[_0x328ed0(0x122)]?_0x328ed0(0x152):_0x1a27bc['djGxo'];console['log']('\x20\x20'+bold(_0x27f99b[_0x328ed0(0x121)])+'\x20[local]'+_0x3940a0),console['log'](_0x328ed0(0x147)+_0x26b2a2),_0x1a27bc['BrhZf'](_0x27f99b[_0x328ed0(0x165)],_0x1a27bc['TAVyj'])&&console['log']('\x20\x20\x20\x20Settings:\x20'+_0x1a27bc[_0x328ed0(0x160)](link,_0x27f99b['settingsPath'],basename(_0x27f99b['settingsPath'])));}if(!_0x3b96ca){console[_0x328ed0(0x132)]('\x0a\x20\x20No\x20active\x20profile\x20set');const _0x101719=[..._0x463210[_0x328ed0(0x17c)](_0x3c9045=>_0x3c9045[_0x328ed0(0x121)]),..._0x1e1f6d['filter'](_0x413c9f=>!_0x4d6a22[_0x328ed0(0x154)](_0x413c9f['name']))[_0x328ed0(0x17c)](_0x5efff6=>_0x5efff6[_0x328ed0(0x121)])];console[_0x328ed0(0x132)]('\x20\x20Run:\x20ranger\x20profile\x20use\x20<profile-name>\x20\x20(available:\x20'+_0x101719[_0x328ed0(0x139)](',\x20')+')');}}}console[_0x328ed0(0x132)]('');}
1
+ const _0x10e3ba=_0x4a51;(function(_0x7332d7,_0x10a9a1){const _0x3b4769=_0x4a51,_0x9d5cbe=_0x7332d7();while(!![]){try{const _0x56a574=-parseInt(_0x3b4769(0x10e))/0x1*(parseInt(_0x3b4769(0x131))/0x2)+parseInt(_0x3b4769(0xe3))/0x3*(parseInt(_0x3b4769(0xdf))/0x4)+-parseInt(_0x3b4769(0xeb))/0x5*(parseInt(_0x3b4769(0xec))/0x6)+-parseInt(_0x3b4769(0xfe))/0x7+-parseInt(_0x3b4769(0x10f))/0x8*(-parseInt(_0x3b4769(0xfd))/0x9)+parseInt(_0x3b4769(0xdc))/0xa+-parseInt(_0x3b4769(0x102))/0xb;if(_0x56a574===_0x10a9a1)break;else _0x9d5cbe['push'](_0x9d5cbe['shift']());}catch(_0x45234c){_0x9d5cbe['push'](_0x9d5cbe['shift']());}}}(_0x3dfd,0x52c64));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 _0x4a51(_0xeb2baa,_0x34252c){_0xeb2baa=_0xeb2baa-0xd4;const _0x3dfdce=_0x3dfd();let _0x4a51b5=_0x3dfdce[_0xeb2baa];return _0x4a51b5;}import{RANGER_MANAGED_SKILLS}from'./utils/skills.js';function _0x3dfd(){const _0x3bcad2=['805NGHTsH','2472nHDpYq','settingsPath','VZrLA','\x20(latest:\x20','opencode-plugin','tJEob','nJrKd','API\x20Environment:\x20','prkxk','has','close','qmRWC','opencode','stderr','\x20(up\x20to\x20date)','DVNSb','status','HpuHj','LWVIP','\x20\x20User-level:','\x20[local]','success','\x1b]8;;file://','EMFzT','\x20\x20Run:\x20ranger\x20setup\x20--opencode','Flklk','\x20[cloud]','lBdPY','parse','trim','version',':\x20installed\x20(','Version:\x20','\x0aRanger\x20has\x20not\x20been\x20initialized\x20in\x20this\x20directory.','268ZjWBwD','No\x20profiles\x20configured','log','\x0a📊\x20Ranger\x20Status\x0a','bxzZu','name','\x1b[0m','obnCM','YIAfS','5554570ncjgIh','join','FreXN','872XViUmr','\x20\x20\x20\x20','TmXnI','user','5853TGXmcI','jlQZd','plugin','\x20plugin(s)\x20configured','map','all','length','\x20(active)','15nLOThj','587532IfakCZ','not_installed','isDirectory','\x20cloud','No\x20skills\x20installed','isArray','includes','config','\x20\x20Run:\x20ranger\x20setup\x20[token]','configured','\x20\x20Run:\x20ranger\x20update','path','Root:\x20','EUIWK','displayName','pipe',':\x20configured','702fOJtOC','1664831LOIfXy','fkFeP','enabled','nywOB','290004oQkKPM','\x20\x20Run:\x20ranger\x20profile\x20use\x20<profile-name>\x20\x20(available:\x20','disabled','push','filter','eirWb','\x20\x20Run:\x20ranger\x20skillup','\x20\x20\x20\x20Session:\x20','not_configured','@ranger-testing/opencode-plugin','dNuyT','IcAdY'];_0x3dfd=function(){return _0x3bcad2;};return _0x3dfd();}import{spawn}from'child_process';const bold=_0x418e41=>'\x1b[1m'+_0x418e41+_0x10e3ba(0xd9),link=(_0x3eb5c0,_0x4dfd37)=>_0x10e3ba(0x125)+_0x3eb5c0+'\x07'+(_0x4dfd37||_0x3eb5c0)+'\x1b]8;;\x07';async function getOpencodePluginStatus(){const _0x274d04=_0x10e3ba,_0x5a854d={'LmwvD':_0x274d04(0xed),'qmRWC':'string','obnCM':function(_0x4d167d,_0x5e86df){return _0x4d167d(_0x5e86df);},'Flklk':function(_0x36a290,_0x2717e7){return _0x36a290>_0x2717e7;},'hFOhe':function(_0x306cb1,_0x5ce3a7,_0x13fcce,_0x56ab93){return _0x306cb1(_0x5ce3a7,_0x13fcce,_0x56ab93);},'VZrLA':'debug','LrPDL':'data','DaUrp':'error','YUZkp':_0x274d04(0x119)};return new Promise(_0x335448=>{const _0xb873ab=_0x274d04,_0x4b6518={'YIAfS':_0x5a854d['LmwvD'],'lBdPY':_0x5a854d[_0xb873ab(0x11a)],'IbXDv':_0xb873ab(0x113),'GFkzX':function(_0x2605d3,_0x511121){return _0x5a854d['obnCM'](_0x2605d3,_0x511121);},'nJBEM':'configured','RyExL':function(_0x1b956a,_0x2e114b){const _0x263ea1=_0xb873ab;return _0x5a854d[_0x263ea1(0x128)](_0x1b956a,_0x2e114b);},'GElHs':function(_0x5d7f6c,_0x47b462){const _0xab2aab=_0xb873ab;return _0x5a854d[_0xab2aab(0xda)](_0x5d7f6c,_0x47b462);}},_0x123b68=_0x5a854d['hFOhe'](spawn,_0xb873ab(0x11b),[_0x5a854d[_0xb873ab(0x111)],_0xb873ab(0xf3)],{'stdio':['ignore',_0xb873ab(0xfb),'pipe']});let _0x42245d='';_0x123b68['stdout']?.['on'](_0x5a854d['LrPDL'],_0x25a7d9=>{_0x42245d+=_0x25a7d9['toString']();}),_0x123b68[_0xb873ab(0x11c)]?.['on']('data',_0x10adac=>{_0x42245d+=_0x10adac['toString']();}),_0x123b68['on'](_0x5a854d['DaUrp'],()=>{_0x335448({'status':_0x4b6518['YIAfS']});}),_0x123b68['on'](_0x5a854d['YUZkp'],_0x47dff2=>{const _0x425a13=_0xb873ab;if(_0x47dff2!==0x0){_0x335448({'status':_0x4b6518[_0x425a13(0xdb)]});return;}const _0x1a8ada=_0x42245d[_0x425a13(0x12c)]();let _0x213fad=null;if(_0x1a8ada)try{_0x213fad=JSON[_0x425a13(0x12b)](_0x1a8ada);}catch{const _0x2833d5=_0x1a8ada['match'](/\{[\s\S]*\}$/);if(_0x2833d5)try{_0x213fad=JSON[_0x425a13(0x12b)](_0x2833d5[0x0]);}catch{_0x213fad=null;}}const _0x4c53fc=Array[_0x425a13(0xf1)](_0x213fad?.['plugin'])?_0x213fad?.[_0x425a13(0xe5)]:[],_0x34596c=_0x4c53fc['some'](_0x3b9728=>{const _0x40ef91=_0x425a13;if(typeof _0x3b9728!==_0x4b6518[_0x40ef91(0x12a)])return![];return _0x3b9728[_0x40ef91(0xf2)]('@ranger-testing/opencode-plugin')||_0x3b9728['includes'](_0x4b6518['IbXDv']);});if(_0x34596c){_0x4b6518['GFkzX'](_0x335448,{'status':_0x4b6518['nJBEM'],'details':_0x4b6518['RyExL'](_0x4c53fc[_0x425a13(0xe9)],0x0)?_0x4c53fc['length']+_0x425a13(0xe6):undefined});return;}if(_0x4c53fc[_0x425a13(0xe9)]>0x0){_0x4b6518['GElHs'](_0x335448,{'status':_0x425a13(0x10a),'details':_0x4c53fc[_0x425a13(0xe9)]+'\x20plugin(s)\x20configured'});return;}_0x335448({'status':_0x425a13(0x10a)});});});}async function getSkillsFromDir(_0x3bcd0e,_0x57c809){const _0x42e444=_0x10e3ba,_0x80fed6={'dgIlF':function(_0x31470b,_0x152c71){return _0x31470b(_0x152c71);}};if(!_0x80fed6['dgIlF'](existsSync,_0x3bcd0e))return[];const _0x381007=[];try{const _0xe5ba0f=await readdir(_0x3bcd0e,{'withFileTypes':!![]});for(const _0x146f1b of _0xe5ba0f){if(_0x146f1b[_0x42e444(0xee)]()){const _0x5b8382=join(_0x3bcd0e,_0x146f1b[_0x42e444(0xd8)],'SKILL.md');if(existsSync(_0x5b8382)){let _0x1430c5=_0x146f1b['name'];try{const _0x32ba8c=await readFile(_0x5b8382,'utf-8'),_0x3fbe3b=_0x32ba8c['match'](/name:\s*(.+)/);_0x3fbe3b&&(_0x1430c5=_0x3fbe3b[0x1]['trim']());}catch{}_0x381007[_0x42e444(0x105)]({'name':_0x146f1b['name'],'displayName':_0x1430c5,'path':_0x5b8382,'level':_0x57c809});}}}}catch{return[];}return _0x381007;}async function getInstalledSkills(){const _0x271d11=_0x10e3ba,_0x2c3ff3={'IcAdY':function(_0x240c45,_0x162bbd,_0x34d0fe){return _0x240c45(_0x162bbd,_0x34d0fe);}},[_0x1fc540,_0x256d87]=await Promise[_0x271d11(0xe8)]([_0x2c3ff3[_0x271d11(0x10d)](getSkillsFromDir,getProjectSkillsDir(),'project'),getSkillsFromDir(getUserSkillsDir(),_0x271d11(0xe2))]);return{'project':_0x1fc540,'user':_0x256d87};}async function getEnvironments(){const _0x48a2ce=_0x10e3ba,_0x223d96={'vnAfd':'auth.json','VEdMI':function(_0x27f5cc,_0x27eac7,_0x3c1f23){return _0x27f5cc(_0x27eac7,_0x3c1f23);},'vQTij':'auth.json.enc','prkxk':function(_0x4fa42c,_0xe8555c){return _0x4fa42c(_0xe8555c);},'Foshs':'(not\x20found)','iIOtp':function(_0x444fc4){return _0x444fc4();},'fkFeP':function(_0x3a8d3a,_0x4c7fb4){return _0x3a8d3a(_0x4c7fb4);}},{envNames:_0x4c61b9,activeEnv:_0x270f58}=await getEnvNames(),_0x2c7f04=_0x223d96['iIOtp'](getRangerDir);if(!_0x223d96[_0x48a2ce(0xff)](existsSync,_0x2c7f04))return{'envs':[],'activeEnv':null};const _0xbe8674=_0x4c61b9[_0x48a2ce(0xe7)](_0x3ccf23=>{const _0x45d84a=_0x48a2ce,_0x59bb62=getEnvDir(_0x3ccf23),_0x45926b=join(_0x59bb62,'settings.json'),_0x507ea9=join(_0x59bb62,_0x223d96['vnAfd']),_0x56d10a=_0x223d96['VEdMI'](join,_0x59bb62,_0x223d96['vQTij']);return{'name':_0x3ccf23,'settingsPath':_0x223d96[_0x45d84a(0x117)](existsSync,_0x45926b)?_0x45926b:_0x223d96['Foshs'],'hasPlaintextAuth':existsSync(_0x507ea9),'hasEncryptedAuth':existsSync(_0x56d10a),'isActive':_0x3ccf23===_0x270f58};});return{'envs':_0xbe8674,'activeEnv':_0x270f58};}export async function status(){const _0x2d1021=_0x10e3ba,_0x11b441={'EMFzT':_0x2d1021(0xd6),'bxzZu':function(_0x14d901,_0x3675c0){return _0x14d901(_0x3675c0);},'waOjP':function(_0x5d1ac6,_0x1e5559,_0x2f773b){return _0x5d1ac6(_0x1e5559,_0x2f773b);},'TmXnI':function(_0x3fa84b,_0xace922){return _0x3fa84b(_0xace922);},'LWVIP':function(_0xa3d40e){return _0xa3d40e();},'WlxGE':function(_0x482d5b,_0x11d05c){return _0x482d5b!==_0x11d05c;},'dNuyT':function(_0x55f6c4){return _0x55f6c4();},'eirWb':function(_0x211009){return _0x211009();},'nKVyo':function(_0x2220f4,_0x91fad2){return _0x2220f4===_0x91fad2;},'kTARz':_0x2d1021(0x10b),'nJrKd':function(_0x902376,_0x2fc4eb){return _0x902376===_0x2fc4eb;},'mSBQU':_0x2d1021(0x10a),'DVNSb':'\x20\x20Not\x20configured','TZwNb':'\x20\x20OpenCode\x20not\x20installed\x20or\x20not\x20available','tJEob':'unknown','jlQZd':_0x2d1021(0x100),'Qbudg':function(_0x51b402,_0x1b1aff){return _0x51b402(_0x1b1aff);},'EUIWK':'\x20\x20Run:\x20ranger\x20setup\x20[token]\x20\x20(includes\x20plugin\x20installation)','HoHhp':'\x0a---\x20Skills\x20---','GaepK':_0x2d1021(0x122),'nywOB':function(_0x1326b9,_0x4cc7af){return _0x1326b9(_0x4cc7af);},'qFtsN':function(_0xfa28c5,_0x5beca8){return _0xfa28c5===_0x5beca8;},'fdZiJ':function(_0xdeebc5,_0x3a1132){return _0xdeebc5>_0x3a1132;},'mDxsh':function(_0x96aa61,_0x46abf5){return _0x96aa61>_0x46abf5;},'FreXN':_0x2d1021(0xea),'HpuHj':'none','lKwWS':function(_0x5be0a3,_0x2f0a48){return _0x5be0a3(_0x2f0a48);}};console['log'](_0x11b441[_0x2d1021(0x126)]);const _0x2bc0c9=process['cwd'](),_0x451f12=getRangerDir();if(!_0x11b441[_0x2d1021(0xd7)](existsSync,_0x451f12)){console['log'](_0x2d1021(0xf8)+_0x11b441['waOjP'](link,_0x2bc0c9,bold(basename(_0x2bc0c9)))),console['log'](_0x2d1021(0x130)),console[_0x2d1021(0xd5)]('\x20\x20Run:\x20ranger\x20setup\x20[token]\x0a');return;}console[_0x2d1021(0xd5)](_0x2d1021(0xf8)+link(_0x2bc0c9,bold(_0x11b441[_0x2d1021(0xe1)](basename,_0x2bc0c9))));const _0x15f1cd=_0x11b441['LWVIP'](getCurrentVersion),_0x5d0818=getLatestVersion();if(_0x5d0818['version']&&_0x11b441['WlxGE'](_0x5d0818[_0x2d1021(0x12d)],_0x15f1cd))console['log']('Version:\x20'+_0x15f1cd+_0x2d1021(0x112)+_0x5d0818['version']+')'),console[_0x2d1021(0xd5)](_0x2d1021(0xf6));else _0x5d0818[_0x2d1021(0x12d)]?console[_0x2d1021(0xd5)](_0x2d1021(0x12f)+_0x15f1cd+_0x2d1021(0x11d)):console['log'](_0x2d1021(0x12f)+_0x15f1cd);const _0x5e3161=await _0x11b441['dNuyT'](getToken);if(_0x5e3161){const _0x12b4c0=await getCurrentUser(_0x5e3161);_0x12b4c0[_0x2d1021(0x124)]?console[_0x2d1021(0xd5)]('Organization:\x20'+bold(_0x12b4c0[_0x2d1021(0xe2)]['organizationName'])):(console[_0x2d1021(0xd5)]('API\x20Token:\x20✓\x20Found\x20but\x20invalid\x20or\x20expired'),console[_0x2d1021(0xd5)]('\x20\x20Run:\x20ranger\x20setup\x20[token]'));}else console[_0x2d1021(0xd5)]('API\x20Token:\x20✗\x20Not\x20found'),console[_0x2d1021(0xd5)](_0x2d1021(0xf4));process['env']['DEBUG']&&(console[_0x2d1021(0xd5)](_0x2d1021(0x116)+getCurrentEnvironment()),console[_0x2d1021(0xd5)]('API\x20URL:\x20'+_0x11b441[_0x2d1021(0x107)](getApiBaseUrl)));console['log']('\x0a---\x20OpenCode\x20Plugin\x20---');const _0x2d7183=await _0x11b441[_0x2d1021(0x10c)](getOpencodePluginStatus);if(_0x11b441['nKVyo'](_0x2d7183['status'],_0x2d1021(0xf5)))console['log']('\x20\x20'+_0x11b441[_0x2d1021(0xd7)](bold,_0x11b441['kTARz'])+_0x2d1021(0xfc)),_0x2d7183['details']&&console['log']('\x20\x20'+_0x2d7183['details']);else _0x11b441[_0x2d1021(0x115)](_0x2d7183[_0x2d1021(0x11f)],_0x11b441['mSBQU'])?(console[_0x2d1021(0xd5)](_0x11b441[_0x2d1021(0x11e)]),_0x2d7183['details']&&console[_0x2d1021(0xd5)]('\x20\x20'+_0x2d7183['details']),console[_0x2d1021(0xd5)](_0x2d1021(0x127))):console[_0x2d1021(0xd5)](_0x11b441['TZwNb']);console['log']('\x0a---\x20Claude\x20Code\x20Plugin\x20---');const _0x5ae57f=await _0x11b441[_0x2d1021(0xe1)](getPluginInfo,'ranger@trailhead');if(_0x5ae57f){const _0x4dd44f=_0x5ae57f['scope']||_0x11b441[_0x2d1021(0x114)],_0x3185d5=_0x5ae57f[_0x2d1021(0x100)]?_0x11b441[_0x2d1021(0xe4)]:_0x2d1021(0x104);console['log']('\x20\x20'+_0x11b441['Qbudg'](bold,'ranger@trailhead')+_0x2d1021(0x12e)+_0x4dd44f+',\x20'+_0x3185d5+')');}else console['log']('\x20\x20Not\x20installed'),console[_0x2d1021(0xd5)](_0x11b441[_0x2d1021(0xf9)]);console[_0x2d1021(0xd5)](_0x11b441['HoHhp']);const {project:_0x4619f2,user:_0x2a3efd}=await _0x11b441[_0x2d1021(0x121)](getInstalledSkills),_0x1603cb=_0x4619f2[_0x2d1021(0x106)](_0x41c409=>RANGER_MANAGED_SKILLS['includes'](_0x41c409[_0x2d1021(0xd8)])),_0x291d67=_0x2a3efd['filter'](_0xd456f8=>RANGER_MANAGED_SKILLS['includes'](_0xd456f8['name'])),_0x14460a=_0x1603cb['length']+_0x291d67['length'];if(_0x14460a===0x0)console['log'](_0x2d1021(0xf0)),console[_0x2d1021(0xd5)](_0x2d1021(0x108));else{if(_0x1603cb['length']>0x0){console['log']('\x20\x20Project-level:');for(const _0x3d5f3f of _0x1603cb){console['log'](_0x2d1021(0xe0)+bold(_0x3d5f3f[_0x2d1021(0xfa)])+':\x20'+link(_0x3d5f3f['path'],basename(_0x3d5f3f['path'])));}}if(_0x291d67[_0x2d1021(0xe9)]>0x0){console['log'](_0x11b441['GaepK']);for(const _0x5845db of _0x291d67){console['log'](_0x2d1021(0xe0)+bold(_0x5845db[_0x2d1021(0xfa)])+':\x20'+link(_0x5845db[_0x2d1021(0xf7)],_0x11b441[_0x2d1021(0x101)](basename,_0x5845db['path'])));}}}console[_0x2d1021(0xd5)]('\x0a---\x20Profiles\x20---');const {envs:_0xdfa1a0,activeEnv:_0x58fbd3}=await getEnvironments();let _0x117e77=[];if(_0x5e3161)try{_0x117e77=await _0x11b441['LWVIP'](listCloudProfiles);}catch{}const _0x5b4e3e=_0xdfa1a0['length']+_0x117e77['length'];if(_0x11b441['qFtsN'](_0x5b4e3e,0x0))console[_0x2d1021(0xd5)](_0x2d1021(0xd4)),console[_0x2d1021(0xd5)]('\x20\x20Run:\x20ranger\x20profile\x20add\x20<profile-name>');else{if(_0x11b441['fdZiJ'](_0x5b4e3e,0x5)){const _0x5668ea=[];_0x117e77[_0x2d1021(0xe9)]>0x0&&_0x5668ea['push'](_0x117e77['length']+_0x2d1021(0xef)),_0x11b441['mDxsh'](_0xdfa1a0['length'],0x0)&&_0x5668ea[_0x2d1021(0x105)](_0xdfa1a0['length']+'\x20local'),console['log'](_0x5b4e3e+'\x20profiles\x20configured\x20('+_0x5668ea[_0x2d1021(0xdd)](',\x20')+')'),_0x58fbd3&&console[_0x2d1021(0xd5)]('\x20\x20Active:\x20'+bold(_0x58fbd3)),console['log']('\x20\x20Run:\x20ranger\x20profile\x20ls\x20\x20(list\x20all)');}else{for(const _0x1f3f73 of _0x117e77){const _0x1593df=_0x1f3f73[_0x2d1021(0xd8)]===_0x58fbd3?_0x11b441[_0x2d1021(0xde)]:'';console['log']('\x20\x20'+bold(_0x1f3f73[_0x2d1021(0xd8)])+_0x2d1021(0x129)+_0x1593df);const _0xb9fb54=_0x1f3f73['sessionUpdatedAt']?'cached\x20(updated\x20'+_0x1f3f73['sessionUpdatedAt']+')':'no\x20session';console['log'](_0x2d1021(0x109)+_0xb9fb54);}const _0x42b344=new Set(_0x117e77['map'](_0x1e7e35=>_0x1e7e35['name']));for(const _0x340eeb of _0xdfa1a0){if(_0x42b344[_0x2d1021(0x118)](_0x340eeb['name']))continue;const _0xdcc0ab=_0x340eeb['isActive']?_0x11b441[_0x2d1021(0xde)]:'',_0x2f63a6=_0x340eeb['hasEncryptedAuth']?'encrypted':_0x340eeb['hasPlaintextAuth']?'plaintext':_0x11b441[_0x2d1021(0x120)];console[_0x2d1021(0xd5)]('\x20\x20'+bold(_0x340eeb['name'])+_0x2d1021(0x123)+_0xdcc0ab),console['log']('\x20\x20\x20\x20Auth:\x20'+_0x2f63a6),_0x340eeb[_0x2d1021(0x110)]!=='(not\x20found)'&&console['log']('\x20\x20\x20\x20Settings:\x20'+link(_0x340eeb[_0x2d1021(0x110)],_0x11b441['lKwWS'](basename,_0x340eeb[_0x2d1021(0x110)])));}if(!_0x58fbd3){console['log']('\x0a\x20\x20No\x20active\x20profile\x20set');const _0x4d40bb=[..._0x117e77[_0x2d1021(0xe7)](_0x157787=>_0x157787['name']),..._0xdfa1a0['filter'](_0x2fddbf=>!_0x42b344[_0x2d1021(0x118)](_0x2fddbf[_0x2d1021(0xd8)]))['map'](_0x1d4333=>_0x1d4333['name'])];console['log'](_0x2d1021(0x103)+_0x4d40bb[_0x2d1021(0xdd)](',\x20')+')');}}}console['log']('');}