@ranger-testing/ranger-cli 3.1.7-alpha.387730d-58 → 3.1.7-alpha.44736ee-66

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 (88) 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/actors.js +1 -0
  38. package/build/commands/utils/agentEnv.js +1 -1
  39. package/build/commands/utils/browserSessionsApi.js +1 -1
  40. package/build/commands/utils/claudeConfig.js +1 -1
  41. package/build/commands/utils/claudeOverrideSettings.js +1 -1
  42. package/build/commands/utils/claudePlugin.js +1 -1
  43. package/build/commands/utils/cloudProfile.js +1 -1
  44. package/build/commands/utils/cloudProfileSession.js +1 -1
  45. package/build/commands/utils/crypto.js +1 -1
  46. package/build/commands/utils/desirePathLog.js +1 -1
  47. package/build/commands/utils/deviceAuth.js +1 -1
  48. package/build/commands/utils/environment.js +1 -1
  49. package/build/commands/utils/featureApi.js +1 -1
  50. package/build/commands/utils/fixWebmDuration.js +1 -1
  51. package/build/commands/utils/gitTracked.js +1 -1
  52. package/build/commands/utils/keychain.js +1 -1
  53. package/build/commands/utils/legacyWarning.js +1 -1
  54. package/build/commands/utils/localAgentInstallationsApi.js +1 -1
  55. package/build/commands/utils/matchAuthEnvironment.js +1 -1
  56. package/build/commands/utils/mcpImageBase64.js +1 -1
  57. package/build/commands/utils/model.js +1 -1
  58. package/build/commands/utils/novaActCli.js +1 -1
  59. package/build/commands/utils/opencodeConfig.js +1 -1
  60. package/build/commands/utils/organizationEnvApi.js +1 -1
  61. package/build/commands/utils/playwrightCli.js +1 -1
  62. package/build/commands/utils/profileMessages.js +1 -1
  63. package/build/commands/utils/profileSetupBanner.js +1 -1
  64. package/build/commands/utils/projectsConfig.js +1 -1
  65. package/build/commands/utils/rangerConfig.js +1 -1
  66. package/build/commands/utils/rangerRoot.js +1 -1
  67. package/build/commands/utils/rangerwrightCli.js +1 -1
  68. package/build/commands/utils/resolveProfileContext.js +1 -1
  69. package/build/commands/utils/resolveProfileUrl.js +1 -1
  70. package/build/commands/utils/retry.js +1 -1
  71. package/build/commands/utils/scenarioOriginCheck.js +1 -1
  72. package/build/commands/utils/sessionCache.js +1 -1
  73. package/build/commands/utils/settings.js +1 -1
  74. package/build/commands/utils/skillContent.js +1 -1
  75. package/build/commands/utils/skills.js +1 -1
  76. package/build/commands/utils/stitchWebmFiles.js +1 -1
  77. package/build/commands/utils/telemetry.js +1 -1
  78. package/build/commands/utils/tokenRefresh.js +1 -1
  79. package/build/commands/utils/traceSnapshotMapper.js +1 -1
  80. package/build/commands/utils/tunnelClient.js +1 -1
  81. package/build/commands/utils/userApi.js +1 -1
  82. package/build/commands/utils/version.js +1 -1
  83. package/build/commands/verifyFeature.js +1 -1
  84. package/build/commands/verifyFeatureCli.js +1 -1
  85. package/build/commands/verifyFeatureNovaCli.js +1 -1
  86. package/build/commands/verifyFeatureRangerwrightCli.js +1 -1
  87. package/build/skills/ranger/SKILL.md +8 -0
  88. package/package.json +1 -1
@@ -1 +1 @@
1
- (function(_0x5d3e80,_0x2df184){const _0x3e771a=_0x2900,_0x26ed67=_0x5d3e80();while(!![]){try{const _0xe72d82=parseInt(_0x3e771a(0x16d))/0x1+-parseInt(_0x3e771a(0x17b))/0x2*(-parseInt(_0x3e771a(0x171))/0x3)+-parseInt(_0x3e771a(0x170))/0x4*(parseInt(_0x3e771a(0x16f))/0x5)+parseInt(_0x3e771a(0x178))/0x6+parseInt(_0x3e771a(0x172))/0x7+parseInt(_0x3e771a(0x17a))/0x8+parseInt(_0x3e771a(0x16b))/0x9*(-parseInt(_0x3e771a(0x177))/0xa);if(_0xe72d82===_0x2df184)break;else _0x26ed67['push'](_0x26ed67['shift']());}catch(_0x51a1dc){_0x26ed67['push'](_0x26ed67['shift']());}}}(_0x2acb,0xd0ebf));import{runDeviceAuthFlow}from'./utils/deviceAuth.js';import{getCurrentUser}from'./utils/userApi.js';import{getMcpAuthOrigin,mcpBootstrap}from'./mcpBootstrap.js';function _0x2acb(){const _0x494096=['GwcOw','Login\x20requires\x20an\x20interactive\x20terminal.\x20In\x20CI,\x20use:\x20ranger\x20setup\x20[token]\x20or\x20set\x20RANGER_CLI_TOKEN.','2054550GdjzQW','300294ephVQR','Re-authenticating\x20via\x20MCP\x20bootstrap...','7451456EqUlbP','11668JVbseT','81XPENII','\x0a✅\x20Logged\x20in\x20to\x20','971918SiuIRV','message','685340trujYR','20ntrIMG','69jkqkoU','9118179WJkUpx','log','\x0a✅\x20API\x20key\x20stored\x20successfully'];_0x2acb=function(){return _0x494096;};return _0x2acb();}function _0x2900(_0x4a664f,_0x38c24c){_0x4a664f=_0x4a664f-0x16b;const _0x2acb5e=_0x2acb();let _0x29004a=_0x2acb5e[_0x4a664f];return _0x29004a;}import{isInteractive}from'./utils/cloudProfileSession.js';export async function login(){const _0x4c6eb0=_0x2900,_0x74adf9={'GwcOw':function(_0x164e01){return _0x164e01();},'QgODj':_0x4c6eb0(0x176),'BhoTo':function(_0xf5a7b5,_0x79c472){return _0xf5a7b5 instanceof _0x79c472;}},_0x422aa2=await _0x74adf9[_0x4c6eb0(0x175)](getMcpAuthOrigin);if(_0x422aa2){console[_0x4c6eb0(0x173)](_0x4c6eb0(0x179)),await _0x74adf9[_0x4c6eb0(0x175)](mcpBootstrap);return;}if(!_0x74adf9['GwcOw'](isInteractive))throw new Error(_0x74adf9['QgODj']);try{const _0x39d88d=await _0x74adf9[_0x4c6eb0(0x175)](runDeviceAuthFlow),_0x46e98b=await getCurrentUser(_0x39d88d);_0x46e98b['success']?console['log'](_0x4c6eb0(0x16c)+_0x46e98b['user']['organizationName']):console[_0x4c6eb0(0x173)](_0x4c6eb0(0x174));}catch(_0x159c17){throw new Error('Login\x20failed:\x20'+(_0x74adf9['BhoTo'](_0x159c17,Error)?_0x159c17[_0x4c6eb0(0x16e)]:_0x159c17));}}
1
+ function _0x4694(_0x2e0414,_0x19caec){_0x2e0414=_0x2e0414-0x72;const _0x11ffe7=_0x11ff();let _0x46943b=_0x11ffe7[_0x2e0414];return _0x46943b;}(function(_0x31cf46,_0x21d071){const _0x2be1fc=_0x4694,_0x2e3328=_0x31cf46();while(!![]){try{const _0x3aa81=-parseInt(_0x2be1fc(0x7e))/0x1+parseInt(_0x2be1fc(0x76))/0x2*(-parseInt(_0x2be1fc(0x7d))/0x3)+-parseInt(_0x2be1fc(0x77))/0x4+-parseInt(_0x2be1fc(0x82))/0x5+parseInt(_0x2be1fc(0x81))/0x6*(parseInt(_0x2be1fc(0x7b))/0x7)+parseInt(_0x2be1fc(0x74))/0x8*(-parseInt(_0x2be1fc(0x73))/0x9)+parseInt(_0x2be1fc(0x7f))/0xa*(parseInt(_0x2be1fc(0x78))/0xb);if(_0x3aa81===_0x21d071)break;else _0x2e3328['push'](_0x2e3328['shift']());}catch(_0x25eab1){_0x2e3328['push'](_0x2e3328['shift']());}}}(_0x11ff,0xa74bb));import{runDeviceAuthFlow}from'./utils/deviceAuth.js';function _0x11ff(){const _0x52d84e=['Login\x20requires\x20an\x20interactive\x20terminal.\x20In\x20CI,\x20use:\x20ranger\x20setup\x20[token]\x20or\x20set\x20RANGER_CLI_TOKEN.','249390ThzetC','180862mNLfyx','3530ScwLat','Login\x20failed:\x20','318LhDEzi','2254360nojWRU','SePHN','7244298WbUEXj','8riIZDZ','success','12qKVOzK','3542876PlaonS','98318JXYnnN','log','\x0a✅\x20API\x20key\x20stored\x20successfully','46396skIJNS'];_0x11ff=function(){return _0x52d84e;};return _0x11ff();}import{getCurrentUser}from'./utils/userApi.js';import{getMcpAuthOrigin,mcpBootstrap}from'./mcpBootstrap.js';import{isInteractive}from'./utils/cloudProfileSession.js';export async function login(){const _0x3b1bcd=_0x4694,_0x334045={'FQWvL':'Re-authenticating\x20via\x20MCP\x20bootstrap...','SePHN':function(_0x272fd5){return _0x272fd5();}},_0x2302f7=await getMcpAuthOrigin();if(_0x2302f7){console[_0x3b1bcd(0x79)](_0x334045['FQWvL']),await mcpBootstrap();return;}if(!_0x334045[_0x3b1bcd(0x72)](isInteractive))throw new Error(_0x3b1bcd(0x7c));try{const _0x3e8258=await runDeviceAuthFlow(),_0x5bacd5=await getCurrentUser(_0x3e8258);_0x5bacd5[_0x3b1bcd(0x75)]?console[_0x3b1bcd(0x79)]('\x0a✅\x20Logged\x20in\x20to\x20'+_0x5bacd5['user']['organizationName']):console[_0x3b1bcd(0x79)](_0x3b1bcd(0x7a));}catch(_0x10857c){throw new Error(_0x3b1bcd(0x80)+(_0x10857c instanceof Error?_0x10857c['message']:_0x10857c));}}
@@ -1 +1 @@
1
- const _0x5f5b8c=_0x4775;(function(_0x2971dc,_0x3725e6){const _0x12fd94=_0x4775,_0x338c97=_0x2971dc();while(!![]){try{const _0x449bd4=-parseInt(_0x12fd94(0x11d))/0x1+-parseInt(_0x12fd94(0xa5))/0x2+parseInt(_0x12fd94(0xb8))/0x3*(-parseInt(_0x12fd94(0xb4))/0x4)+parseInt(_0x12fd94(0xde))/0x5*(parseInt(_0x12fd94(0xd9))/0x6)+parseInt(_0x12fd94(0xd1))/0x7+-parseInt(_0x12fd94(0xaf))/0x8*(-parseInt(_0x12fd94(0xb7))/0x9)+parseInt(_0x12fd94(0xa3))/0xa;if(_0x449bd4===_0x3725e6)break;else _0x338c97['push'](_0x338c97['shift']());}catch(_0x7483e){_0x338c97['push'](_0x338c97['shift']());}}}(_0x3a9a,0x78f87));import{mkdir,writeFile,readFile}from'fs/promises';import{join}from'path';import{homedir}from'os';function _0x3a9a(){const _0x1b962d=['hlQzD','result','message','gTknD','Qrjqv','<html><body><h2>Invalid\x20callback</h2><p>Missing\x20code\x20or\x20state\x20mismatch.</p></body></html>','client_id','/callback','GOLra','882455nKNEjR','now','then','get','json','get_cli_token\x20failed:\x20','auth-origin.txt','string','OAuth\x20error:\x20','POST','ARpbq','ODyvF','lRFkG','S256','startsWith','includes','8437300ffynnn','write','150244GCpqCT','If\x20the\x20browser\x20doesn\x27t\x20open,\x20visit:\x0a','.ranger','JWQNe','application/json,\x20text/event-stream','cVGOf','status','stdout','aeWan','sha256','856CwKerx','qpOKU','FCMos','zicoI','initialize','4BfaIEO','application/x-www-form-urlencoded','stringify','19386mKdOlN','2713137NWUCBE','Ranger\x20CLI','\x20done','Bearer\x20','expiresAt','VQhUB','uyUGt','text/html','refresh_token','application/json','Requesting\x20CLI\x20token...','fVcTp','Could\x20not\x20fetch\x20auth\x20server\x20metadata\x20from\x20','2025-03-26','SOFZJ','parse','length','authorization_endpoint','Run\x20`ranger\x20status`\x20to\x20verify\x20authentication.\x0a','text','nxnCg','none','set','Sdtcs','headers','4223380AcAFtp','jNgOg','accessToken','Exchanging\x20authorization\x20code...','EOaNJ','authorization_code','content','KZrLl','4326LTLDSL','oBGjP','response_type','start','CHaOk','4715vxtfVA','AWIcc','log','ranger-cli','</p><p>You\x20can\x20close\x20this\x20window.</p></body></html>','QKrVx','access_token','WzRIR','NrzLs','isTTY','\x0aCached\x20OAuth\x20client\x20may\x20be\x20stale\x20—\x20clearing\x20and\x20retrying...\x0a','error','url','utf-8','searchParams','GYOPk','isError','oIxfZ','clientId','Discovering\x20authorization\x20server...','Registering\x20OAuth\x20client...','ZMWcK','vtOpx','token_endpoint','end','OAuthTimeoutError','state','replace','2.0','PdXLb','sHpWa','<html><body><h2>Authenticated!</h2><p>You\x20can\x20close\x20this\x20window\x20and\x20return\x20to\x20the\x20terminal.</p></body></html>','http://localhost:','xdg-open','error_description','refreshToken','digest','\x0aOpening\x20browser\x20for\x20authentication...','toString','LhcIW','resource','bQnJT','writeHead','redirect_uri','FYkOc','NZjOk','data:','token','vTrnz','LjMHu','text/event-stream','origin','notifications/initialized','Server\x20returned\x20error:\x20'];_0x3a9a=function(){return _0x1b962d;};return _0x3a9a();}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','mcp-oauth-tokens.json'),AUTH_ORIGIN_PATH=join(homedir(),_0x5f5b8c(0xa7),_0x5f5b8c(0x99));export async function getMcpAuthOrigin(){const _0x58ab9d={'cyTVY':function(_0x33db80,_0x117e1b){return _0x33db80||_0x117e1b;}};try{const _0x131988=(await readFile(AUTH_ORIGIN_PATH,'utf-8'))['trim']();return _0x58ab9d['cyTVY'](_0x131988,null);}catch{return null;}}export async function mcpBootstrap(){const _0x277ebf=_0x5f5b8c,_0x245e31={'EOaNJ':function(_0x234c6d){return _0x234c6d();},'LjMHu':function(_0x282b17,_0xb24d68){return _0x282b17(_0xb24d68);},'SAnck':'MCP\x20server\x20requires\x20authentication\x20but\x20running\x20in\x20non-interactive\x20mode.\x0a','oIxfZ':'Run\x20`ranger\x20setup\x20--mcp-bootstrap`\x20interactively\x20first.','wNCDE':function(_0x5db2e0,_0x168b6f,_0x1a446c){return _0x5db2e0(_0x168b6f,_0x1a446c);}},_0x18b400=_0x245e31[_0x277ebf(0xd5)](getMcpAuthUrl);currentOrigin=_0x18b400;const _0x3f65fb=process['stdout'][_0x277ebf(0xe7)]??![];console['log']('\x0aConnecting\x20to\x20MCP\x20auth\x20server:\x20'+_0x18b400+'\x0a');const _0x41374a=await _0x245e31[_0x277ebf(0x10f)](tryUnauthenticated,_0x18b400);let _0x6b299a=null;if(_0x41374a==='proxied')_0x6b299a='';else{_0x6b299a=await _0x245e31['EOaNJ'](loadCachedToken);if(!_0x6b299a){if(!_0x3f65fb)throw new Error(_0x245e31['SAnck']+_0x245e31[_0x277ebf(0xef)]);_0x6b299a=await _0x245e31[_0x277ebf(0x10f)](oauthFlow,_0x18b400);}}await _0x245e31['wNCDE'](callGetCliToken,_0x18b400,_0x6b299a);}async function tryUnauthenticated(_0x1da91a){const _0xca8378=_0x5f5b8c,_0x822648={'EPPLN':_0xca8378(0x9c),'cVGOf':_0xca8378(0xc1),'fVcTp':_0xca8378(0xfa),'CHaOk':'2025-03-26','qpOKU':_0xca8378(0xe1),'nGAMw':'1.0.0','pKloU':'needs-oauth'},_0x109bde=await fetch(_0x1da91a,{'method':_0x822648['EPPLN'],'headers':{'Content-Type':_0x822648[_0xca8378(0xaa)],'Accept':_0xca8378(0xa9)},'body':JSON[_0xca8378(0xb6)]({'jsonrpc':_0x822648[_0xca8378(0xc3)],'id':0x1,'method':_0xca8378(0xb3),'params':{'protocolVersion':_0x822648[_0xca8378(0xdd)],'capabilities':{},'clientInfo':{'name':_0x822648[_0xca8378(0xb0)],'version':_0x822648['nGAMw']}}})});if(_0x109bde['ok'])return await _0x109bde['text'](),'proxied';if(_0x109bde[_0xca8378(0xab)]===0x191)return await _0x109bde['text'](),_0x822648['pKloU'];const _0x44bd5c=await _0x109bde[_0xca8378(0xcb)]();throw new Error('MCP\x20server\x20returned\x20HTTP\x20'+_0x109bde['status']+':\x20'+_0x44bd5c);}class OAuthTimeoutError extends Error{constructor(_0x598906){const _0x57bdd0=_0x5f5b8c,_0x2d16fd={'txXXO':_0x57bdd0(0xf7)};super(_0x598906),this['name']=_0x2d16fd['txXXO'];}}async function oauthFlow(_0x3b7a9d){const _0x5e951a=_0x5f5b8c,_0x3a8969={'zZynX':function(_0x2031e8,_0xb7a755){return _0x2031e8(_0xb7a755);},'aeWan':function(_0x15c941){return _0x15c941();},'nilpO':_0x5e951a(0xe8)};try{return await _0x3a8969['zZynX'](oauthFlowAttempt,_0x3b7a9d);}catch(_0x37afa3){if(_0x37afa3 instanceof OAuthTimeoutError&&await _0x3a8969[_0x5e951a(0xad)](loadCachedClient))return console[_0x5e951a(0xe0)](_0x3a8969['nilpO']),await clearCachedClient(),await oauthFlowAttempt(_0x3b7a9d);throw _0x37afa3;}}async function oauthFlowAttempt(_0x5f590e){const _0x4407d9=_0x5f5b8c,_0x2628f4={'Qrjqv':function(_0x2eca44,_0x4102f8){return _0x2eca44(_0x4102f8);},'PdXLb':'No\x20authorization_servers\x20in\x20protected\x20resource\x20metadata','Uaomn':function(_0x48de06){return _0x48de06();},'ZjbDR':_0x4407d9(0xf2),'vTrnz':function(_0x5a1d71,_0x7c332b,_0x3a01c6){return _0x5a1d71(_0x7c332b,_0x3a01c6);},'gTknD':'POST','VQhUB':_0x4407d9(0xc1),'ARpbq':_0x4407d9(0xba),'uyUGt':'Authorization\x20server\x20does\x20not\x20support\x20dynamic\x20client\x20registration\x20and\x20no\x20cached\x20client\x20found','sHpWa':'base64url','HoWMe':_0x4407d9(0xae),'HpqGi':'code','vcQCo':_0x4407d9(0x11a),'Sdtcs':'code_challenge','WkzRm':'code_challenge_method','QZofq':_0x4407d9(0xa0),'NrzLs':_0x4407d9(0xf8),'AWIcc':_0x4407d9(0xd4),'FHUeH':function(_0x490226,_0x467350,_0x421889,_0x2c6536){return _0x490226(_0x467350,_0x421889,_0x2c6536);}},_0x4c6ead=_0x5f590e[_0x4407d9(0xf9)](/\/mcp$/,'');process['stdout']['write'](_0x4407d9(0xf1));const _0x204ee8=await _0x2628f4[_0x4407d9(0x118)](fetch,_0x4c6ead+'/.well-known/oauth-protected-resource');if(!_0x204ee8['ok'])throw new Error('Could\x20not\x20fetch\x20protected\x20resource\x20metadata\x20from\x20MCP\x20server');const _0x31cd08=await _0x204ee8['json'](),_0x3fe525=_0x31cd08['authorization_servers']?.[0x0];if(!_0x3fe525)throw new Error(_0x2628f4[_0x4407d9(0xfb)]);console['log']('\x20'+_0x3fe525);const _0x28eb9f=await fetchAuthServerMetadata(_0x3fe525);let _0x346d42,_0x155864;const _0x19f894=await _0x2628f4['Uaomn'](loadCachedClient);if(_0x19f894)_0x346d42=_0x19f894[_0x4407d9(0xf0)],_0x155864=_0x19f894['clientSecret'];else{if(_0x28eb9f['registration_endpoint']){process['stdout'][_0x4407d9(0xa4)](_0x2628f4['ZjbDR']);const _0x2f9902=await _0x2628f4[_0x4407d9(0x10e)](fetch,_0x28eb9f['registration_endpoint'],{'method':_0x2628f4[_0x4407d9(0x117)],'headers':{'Content-Type':_0x2628f4[_0x4407d9(0xbd)]},'body':JSON[_0x4407d9(0xb6)]({'client_name':_0x4407d9(0xb9),'redirect_uris':[_0x4407d9(0xfe)+CALLBACK_PORT+_0x4407d9(0x11b)],'grant_types':['authorization_code',_0x4407d9(0xc0)],'response_types':['code'],'token_endpoint_auth_method':_0x4407d9(0xcd)})});if(!_0x2f9902['ok']){const _0x589aa0=await _0x2f9902[_0x4407d9(0xcb)]();throw new Error('Client\x20registration\x20failed:\x20'+_0x589aa0);}const _0x39cbc0=await _0x2f9902['json']();_0x346d42=_0x39cbc0[_0x4407d9(0x11a)],_0x155864=_0x39cbc0['client_secret'],await _0x2628f4[_0x4407d9(0x10e)](saveCachedClient,_0x346d42,_0x155864),console['log'](_0x2628f4[_0x4407d9(0x9d)]);}else throw new Error(_0x2628f4[_0x4407d9(0xbe)]);}const _0x5e36c6=_0x2628f4['Qrjqv'](randomBytes,0x20)['toString'](_0x2628f4[_0x4407d9(0xfc)]),_0x23f11b=createHash(_0x2628f4['HoWMe'])['update'](_0x5e36c6)[_0x4407d9(0x102)](_0x2628f4['sHpWa']),_0x5cce4f=randomBytes(0x10)[_0x4407d9(0x104)]('hex'),_0x5ee982=new URL(_0x28eb9f[_0x4407d9(0xc9)]);_0x5ee982['searchParams'][_0x4407d9(0xce)](_0x4407d9(0xdb),_0x2628f4['HpqGi']),_0x5ee982['searchParams'][_0x4407d9(0xce)](_0x2628f4['vcQCo'],_0x346d42),_0x5ee982[_0x4407d9(0xec)]['set'](_0x4407d9(0x109),_0x4407d9(0xfe)+CALLBACK_PORT+_0x4407d9(0x11b)),_0x5ee982[_0x4407d9(0xec)]['set'](_0x2628f4[_0x4407d9(0xcf)],_0x23f11b),_0x5ee982[_0x4407d9(0xec)][_0x4407d9(0xce)](_0x2628f4['WkzRm'],_0x2628f4['QZofq']),_0x5ee982['searchParams'][_0x4407d9(0xce)](_0x2628f4[_0x4407d9(0xe6)],_0x5cce4f);_0x31cd08[_0x4407d9(0x106)]&&_0x5ee982['searchParams'][_0x4407d9(0xce)]('resource',_0x31cd08[_0x4407d9(0x106)]);console[_0x4407d9(0xe0)](_0x4407d9(0x103)),console[_0x4407d9(0xe0)](_0x4407d9(0xa6)+_0x5ee982['toString']()+'\x0a'),await openBrowser(_0x5ee982['toString']());const _0x40a7ae=await waitForCallback(_0x5cce4f);process[_0x4407d9(0xac)]['write'](_0x2628f4[_0x4407d9(0xdf)]);const _0x380da1=new URLSearchParams({'grant_type':_0x4407d9(0xd6),'code':_0x40a7ae,'redirect_uri':_0x4407d9(0xfe)+CALLBACK_PORT+'/callback','client_id':_0x346d42,'code_verifier':_0x5e36c6});_0x155864&&_0x380da1[_0x4407d9(0xce)]('client_secret',_0x155864);_0x31cd08[_0x4407d9(0x106)]&&_0x380da1[_0x4407d9(0xce)](_0x4407d9(0x106),_0x31cd08[_0x4407d9(0x106)]);const _0x272038=await fetch(_0x28eb9f[_0x4407d9(0xf5)],{'method':_0x2628f4[_0x4407d9(0x117)],'headers':{'Content-Type':_0x4407d9(0xb5)},'body':_0x380da1});if(!_0x272038['ok']){const _0x879529=await _0x272038['text']();throw new Error('Token\x20exchange\x20failed:\x20'+_0x879529);}const _0x53bb2c=await _0x272038['json']();return console[_0x4407d9(0xe0)](_0x2628f4['ARpbq']),await _0x2628f4['FHUeH'](saveCachedToken,_0x53bb2c[_0x4407d9(0xe4)],_0x53bb2c[_0x4407d9(0xc0)],_0x53bb2c['expires_in']),_0x53bb2c['access_token'];}async function callGetCliToken(_0x888433,_0x1a93cd){const _0x3904de=_0x5f5b8c,_0xd7d7de={'KZrLl':function(_0x5b2eed,_0x42d7bf){return _0x5b2eed(_0x42d7bf);},'qsXLV':_0x3904de(0xc1),'GOLra':'Authorization','lRFkG':'Initializing\x20MCP\x20session...','vwFBI':'1.0.0','ILHtp':'\x20done','XsxiN':'POST','KIKQa':_0x3904de(0xc2),'vtOpx':_0x3904de(0xfa),'zLgUv':'tools/call','napFq':_0x3904de(0xa7),'zicoI':function(_0x19413d,_0x1d2625,_0x288516){return _0x19413d(_0x1d2625,_0x288516);},'ODyvF':function(_0x132052,_0x202baf,_0x420731){return _0x132052(_0x202baf,_0x420731);},'uHpnj':function(_0x484846,_0x1918b9,_0x5a0279,_0x49a473){return _0x484846(_0x1918b9,_0x5a0279,_0x49a473);},'esCbr':'auth-origin.txt','WzRIR':_0x3904de(0xca)},_0x547216={'Content-Type':_0xd7d7de['qsXLV'],'Accept':_0x3904de(0xa9)};_0x1a93cd&&(_0x547216[_0xd7d7de[_0x3904de(0x11c)]]=_0x3904de(0xbb)+_0x1a93cd);const _0x575eac=async _0x3cd60d=>{const _0x437b75=_0x3904de,_0x3389f3=await fetch(_0x888433,{'method':'POST','headers':_0x547216,'body':JSON['stringify'](_0x3cd60d)});if(!_0x3389f3['ok']){const _0x29bc22=await _0x3389f3['text']();throw new Error('HTTP\x20'+_0x3389f3['status']+':\x20'+_0x29bc22);}return _0xd7d7de[_0x437b75(0xd8)](parseResponse,_0x3389f3);};process[_0x3904de(0xac)][_0x3904de(0xa4)](_0xd7d7de[_0x3904de(0x9f)]);const _0x54d3cf=await _0xd7d7de[_0x3904de(0xd8)](_0x575eac,{'jsonrpc':'2.0','id':0x1,'method':'initialize','params':{'protocolVersion':_0x3904de(0xc5),'capabilities':{},'clientInfo':{'name':'ranger-cli','version':_0xd7d7de['vwFBI']}}});if(_0x54d3cf[_0x3904de(0xe9)])throw new Error('MCP\x20initialize\x20failed:\x20'+(_0x54d3cf[_0x3904de(0xe9)][_0x3904de(0x116)]??JSON[_0x3904de(0xb6)](_0x54d3cf[_0x3904de(0xe9)])));console['log'](_0xd7d7de['ILHtp']),await fetch(_0x888433,{'method':_0xd7d7de['XsxiN'],'headers':_0x547216,'body':JSON[_0x3904de(0xb6)]({'jsonrpc':_0x3904de(0xfa),'method':_0x3904de(0x112)})})[_0x3904de(0x11f)](_0x354660=>_0x354660[_0x3904de(0xcb)]()),process['stdout'][_0x3904de(0xa4)](_0xd7d7de['KIKQa']);const _0x31cc22=await _0xd7d7de[_0x3904de(0xd8)](_0x575eac,{'jsonrpc':_0xd7d7de[_0x3904de(0xf4)],'id':0x2,'method':_0xd7d7de['zLgUv'],'params':{'name':'get_cli_token','arguments':{}}});if(_0x31cc22[_0x3904de(0xe9)])throw new Error(_0x3904de(0x98)+(_0x31cc22['error']['message']??JSON['stringify'](_0x31cc22[_0x3904de(0xe9)])));console['log'](_0x3904de(0xba));const _0x586911=_0xd7d7de[_0x3904de(0xd8)](extractToken,_0x31cc22['result']);if(!_0x586911){console[_0x3904de(0xe9)]('\x0aUnexpected\x20response\x20structure:'),console['error'](JSON[_0x3904de(0xb6)](_0x31cc22[_0x3904de(0x115)],null,0x2));throw new Error('Could\x20not\x20extract\x20token\x20from\x20MCP\x20response');}const _0x1cb186=join(homedir(),_0xd7d7de['napFq']),_0x1f7bf3=_0xd7d7de[_0x3904de(0xb2)](join,_0x1cb186,'refresh.txt');await _0xd7d7de[_0x3904de(0x9e)](mkdir,_0x1cb186,{'recursive':!![]}),await _0xd7d7de['uHpnj'](writeFile,_0x1f7bf3,_0x586911,{'mode':0x180}),await writeFile(join(_0x1cb186,_0xd7d7de['esCbr']),_0x888433,{'mode':0x180}),console[_0x3904de(0xe0)]('\x0aToken\x20written\x20to\x20'+_0x1f7bf3),console[_0x3904de(0xe0)](_0xd7d7de[_0x3904de(0xe5)]);}async function fetchAuthServerMetadata(_0x2c9b80){const _0x5b1495=_0x5f5b8c,_0x1ea4f8={'LhcIW':function(_0x4d75db,_0x5cae17){return _0x4d75db(_0x5cae17);}},_0x2071fb=_0x2c9b80+'/.well-known/oauth-authorization-server',_0x9aac55=await _0x1ea4f8[_0x5b1495(0x105)](fetch,_0x2071fb);if(!_0x9aac55['ok'])throw new Error(_0x5b1495(0xc4)+_0x2071fb+':\x20'+_0x9aac55[_0x5b1495(0xab)]);return _0x9aac55[_0x5b1495(0x97)]();}function waitForCallback(_0x1b9a58){const _0xe298bd=_0x5f5b8c,_0x5778ea={'NZjOk':_0xe298bd(0x11b),'SOFZJ':'Not\x20found','JWQNe':'code','jNgOg':_0xe298bd(0xf8),'BeOZh':_0xe298bd(0x100),'VUGZd':_0xe298bd(0xbf),'FCMos':function(_0x2a88e9,_0x40b0f5){return _0x2a88e9(_0x40b0f5);},'oBGjP':function(_0x4e0ab5){return _0x4e0ab5();},'nxnCg':'127.0.0.1'};return new Promise((_0x146f3a,_0x5a0f53)=>{const _0x50398b=_0xe298bd,_0x495166={'GYOPk':function(_0x1833bd,_0x4d1477){return _0x5778ea['FCMos'](_0x1833bd,_0x4d1477);}},_0x53321b=()=>{_0x58cfd9['closeAllConnections'](),_0x58cfd9['close']();},_0x1e6d83=setTimeout(()=>{const _0x168004=_0x4775;_0x53321b(),_0x495166[_0x168004(0xed)](_0x5a0f53,new OAuthTimeoutError('OAuth\x20callback\x20timed\x20out\x20after\x202\x20minutes'));},0x1d4c0),_0x58cfd9=_0x5778ea['FCMos'](createServer,(_0x2916df,_0x5e69af)=>{const _0x4c66a8=_0x4775,_0xd9d7cf=new URL(_0x2916df[_0x4c66a8(0xea)]??'/',_0x4c66a8(0xfe)+CALLBACK_PORT);if(_0xd9d7cf['pathname']!==_0x5778ea[_0x4c66a8(0x10b)]){_0x5e69af[_0x4c66a8(0x108)](0x194),_0x5e69af['end'](_0x5778ea[_0x4c66a8(0xc6)]);return;}const _0x58f136=_0xd9d7cf['searchParams']['get'](_0x5778ea[_0x4c66a8(0xa8)]),_0x233125=_0xd9d7cf['searchParams']['get'](_0x5778ea[_0x4c66a8(0xd2)]),_0x23e575=_0xd9d7cf[_0x4c66a8(0xec)]['get'](_0x4c66a8(0xe9));if(_0x23e575){const _0x26ca54=_0xd9d7cf[_0x4c66a8(0xec)][_0x4c66a8(0x120)](_0x5778ea['BeOZh'])??_0x23e575;_0x5e69af[_0x4c66a8(0x108)](0xc8,{'Content-Type':_0x5778ea['VUGZd']}),_0x5e69af['end']('<html><body><h2>Authentication\x20failed</h2><p>'+_0x26ca54+_0x4c66a8(0xe2)),_0x5778ea['FCMos'](clearTimeout,_0x1e6d83),_0x5778ea[_0x4c66a8(0xda)](_0x53321b),_0x5778ea[_0x4c66a8(0xb1)](_0x5a0f53,new Error(_0x4c66a8(0x9b)+_0x26ca54));return;}if(!_0x58f136||_0x233125!==_0x1b9a58){_0x5e69af['writeHead'](0x190,{'Content-Type':'text/html'}),_0x5e69af[_0x4c66a8(0xf6)](_0x4c66a8(0x119));return;}_0x5e69af[_0x4c66a8(0x108)](0xc8,{'Content-Type':_0x5778ea['VUGZd']}),_0x5e69af['end'](_0x4c66a8(0xfd)),_0x5778ea['FCMos'](clearTimeout,_0x1e6d83),_0x5778ea['oBGjP'](_0x53321b),_0x146f3a(_0x58f136);});_0x58cfd9['listen'](CALLBACK_PORT,_0x5778ea[_0x50398b(0xcc)]);});}async function openBrowser(_0x31e1ae){const _0x493009=_0x5f5b8c,_0x4f4e31={'IqXTn':function(_0x4081fd,_0x33b63b){return _0x4081fd===_0x33b63b;},'vDVZZ':'darwin','ewOkO':'win32'},_0x3a5df6=_0x4f4e31['IqXTn'](process['platform'],_0x4f4e31['vDVZZ'])?'open':_0x4f4e31['IqXTn'](process['platform'],_0x4f4e31['ewOkO'])?_0x493009(0xdc):_0x493009(0xff);exec(_0x3a5df6+'\x20\x22'+_0x31e1ae+'\x22');}let currentOrigin='';async function loadCachedToken(){const _0x2cb0b3=_0x5f5b8c,_0x2132d3={'fPuaF':function(_0x568a70,_0x1beac9,_0x5e7a0f){return _0x568a70(_0x1beac9,_0x5e7a0f);}};try{const _0x2c6253=JSON[_0x2cb0b3(0xc7)](await _0x2132d3['fPuaF'](readFile,TOKEN_CACHE_PATH,_0x2cb0b3(0xeb)));if(_0x2c6253['origin']&&_0x2c6253[_0x2cb0b3(0x111)]!==currentOrigin)return null;if(_0x2c6253[_0x2cb0b3(0xbc)]&&Date[_0x2cb0b3(0x11e)]()>_0x2c6253['expiresAt'])return null;return _0x2c6253[_0x2cb0b3(0xd3)]??null;}catch{return null;}}async function saveCachedToken(_0x20de9e,_0xf3ee4,_0x523ae4){const _0x278a8b=_0x5f5b8c,_0xd06e3b={'zhkmN':function(_0xcc5e09){return _0xcc5e09();},'TdJvb':_0x278a8b(0xa7)},_0x37d0ab=await _0xd06e3b['zhkmN'](loadCachedData),_0x11ca9b={..._0x37d0ab,'origin':currentOrigin,'accessToken':_0x20de9e,'refreshToken':_0xf3ee4??_0x37d0ab?.[_0x278a8b(0x101)],'expiresAt':_0x523ae4?Date['now']()+_0x523ae4*0x3e8:undefined};await mkdir(join(_0xd06e3b['zhkmN'](homedir),_0xd06e3b['TdJvb']),{'recursive':!![]}),await writeFile(TOKEN_CACHE_PATH,JSON[_0x278a8b(0xb6)](_0x11ca9b),{'mode':0x180});}async function loadCachedClient(){const _0x14af02=_0x5f5b8c,_0xaf1801=await loadCachedData();if(_0xaf1801?.[_0x14af02(0x111)]&&_0xaf1801['origin']!==currentOrigin)return null;return _0xaf1801?.[_0x14af02(0xf0)]?{'clientId':_0xaf1801['clientId'],'clientSecret':_0xaf1801['clientSecret']}:null;}async function clearCachedClient(){const _0x14305d=_0x5f5b8c,_0x264e93={'QKrVx':function(_0xa9f249){return _0xa9f249();}},_0x1edea9=await _0x264e93[_0x14305d(0xe3)](loadCachedData);if(!_0x1edea9)return;const {clientId:_0xd3c59c,clientSecret:_0x1bf396,..._0x3349c6}=_0x1edea9;await writeFile(TOKEN_CACHE_PATH,JSON['stringify'](_0x3349c6),{'mode':0x180});}function _0x4775(_0xd258d1,_0x42de1c){_0xd258d1=_0xd258d1-0x97;const _0x3a9a57=_0x3a9a();let _0x4775ab=_0x3a9a57[_0xd258d1];return _0x4775ab;}async function saveCachedClient(_0x2fee0d,_0x2ab5c9){const _0x5548a8=_0x5f5b8c,_0xd3a141={'ZMWcK':function(_0x133077,_0x2c5ea3,_0xfc4af2){return _0x133077(_0x2c5ea3,_0xfc4af2);},'FYkOc':function(_0x3537d2){return _0x3537d2();},'qMWKO':'.ranger','npkyV':function(_0x52dd7d,_0x51f426,_0x2f5a7d,_0x5bf5bf){return _0x52dd7d(_0x51f426,_0x2f5a7d,_0x5bf5bf);}},_0x15479b=await loadCachedData(),_0x4ba1ed={..._0x15479b,'origin':currentOrigin,'accessToken':_0x15479b?.['accessToken']??'','clientId':_0x2fee0d,'clientSecret':_0x2ab5c9};await _0xd3a141[_0x5548a8(0xf3)](mkdir,join(_0xd3a141[_0x5548a8(0x10a)](homedir),_0xd3a141['qMWKO']),{'recursive':!![]}),await _0xd3a141['npkyV'](writeFile,TOKEN_CACHE_PATH,JSON['stringify'](_0x4ba1ed),{'mode':0x180});}async function loadCachedData(){const _0x117064=_0x5f5b8c,_0x19c3a9={'Dwzul':function(_0x301110,_0x4a9537,_0xf9d0e9){return _0x301110(_0x4a9537,_0xf9d0e9);}};try{return JSON[_0x117064(0xc7)](await _0x19c3a9['Dwzul'](readFile,TOKEN_CACHE_PATH,_0x117064(0xeb)));}catch{return null;}}async function parseResponse(_0x53cc15){const _0xb5ac6d=_0x5f5b8c,_0x3d14a8={'cKlWW':'No\x20JSON-RPC\x20response\x20found\x20in\x20SSE\x20stream'},_0x3740dd=_0x53cc15[_0xb5ac6d(0xd0)][_0xb5ac6d(0x120)]('content-type')??'';if(_0x3740dd[_0xb5ac6d(0xa2)](_0xb5ac6d(0x110))){const _0x2a6bad=await _0x53cc15[_0xb5ac6d(0xcb)]();for(const _0x3ebb37 of _0x2a6bad['split']('\x0a')){const _0x2d9b56=_0x3ebb37['trim']();if(_0x2d9b56[_0xb5ac6d(0xa1)]('data:')){const _0xe4332c=_0x2d9b56['slice'](_0xb5ac6d(0x10c)[_0xb5ac6d(0xc8)])['trim']();if(!_0xe4332c)continue;try{const _0x3c9892=JSON['parse'](_0xe4332c);if(_0x3c9892['id']!==undefined||_0x3c9892['error'])return _0x3c9892;}catch{}}}throw new Error(_0x3d14a8['cKlWW']);}return _0x53cc15[_0xb5ac6d(0x97)]();}function extractToken(_0x13f88d){const _0x1f5771=_0x5f5b8c,_0x595ac5={'hlQzD':function(_0x3138cf,_0x49f89a){return _0x3138cf===_0x49f89a;},'bQnJT':'text'};if(!_0x13f88d)return null;const _0x341ff9=_0x13f88d['structuredContent'];if(_0x341ff9?.['token']&&typeof _0x341ff9[_0x1f5771(0x10d)]===_0x1f5771(0x9a))return _0x341ff9[_0x1f5771(0x10d)];if(_0x13f88d[_0x1f5771(0xee)]){const _0x3b84e2=_0x13f88d['content'];throw new Error(_0x1f5771(0x113)+(_0x3b84e2?.[0x0]?.['text']??'Unknown\x20error'));}const _0xddce60=_0x13f88d[_0x1f5771(0xd7)];if(_0xddce60)for(const _0x9a2eac of _0xddce60){if(_0x595ac5[_0x1f5771(0x114)](_0x9a2eac['type'],_0x595ac5[_0x1f5771(0x107)])&&_0x9a2eac['text']){try{const _0x4ba092=JSON['parse'](_0x9a2eac[_0x1f5771(0xcb)]);if(typeof _0x4ba092?.[_0x1f5771(0x10d)]==='string')return _0x4ba092['token'];}catch{}const _0x55650c=_0x9a2eac[_0x1f5771(0xcb)]['match'](/(rngr_[A-Za-z0-9_-]+)/);if(_0x55650c)return _0x55650c[0x1];}}return null;}
1
+ const _0x167d0e=_0x590a;(function(_0x42f04b,_0x445788){const _0x138435=_0x590a,_0x388f18=_0x42f04b();while(!![]){try{const _0x12c084=-parseInt(_0x138435(0xe2))/0x1+-parseInt(_0x138435(0xda))/0x2*(parseInt(_0x138435(0xc6))/0x3)+parseInt(_0x138435(0x117))/0x4*(parseInt(_0x138435(0x147))/0x5)+-parseInt(_0x138435(0xe0))/0x6+parseInt(_0x138435(0xdd))/0x7+parseInt(_0x138435(0x140))/0x8+parseInt(_0x138435(0x121))/0x9;if(_0x12c084===_0x445788)break;else _0x388f18['push'](_0x388f18['shift']());}catch(_0x45deb9){_0x388f18['push'](_0x388f18['shift']());}}}(_0x265f,0x928fa));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',_0x167d0e(0x13c)),AUTH_ORIGIN_PATH=join(homedir(),_0x167d0e(0xc3),_0x167d0e(0xcd));export async function getMcpAuthOrigin(){const _0x349ae7=_0x167d0e,_0x49ce02={'ejanp':function(_0x4dd926,_0x3046f9,_0x5de3d9){return _0x4dd926(_0x3046f9,_0x5de3d9);},'vxwfb':function(_0x3deede,_0x5144ea){return _0x3deede||_0x5144ea;}};try{const _0x4da360=(await _0x49ce02['ejanp'](readFile,AUTH_ORIGIN_PATH,_0x349ae7(0x14d)))['trim']();return _0x49ce02[_0x349ae7(0x116)](_0x4da360,null);}catch{return null;}}export async function mcpBootstrap(){const _0x5d5415=_0x167d0e,_0x407cd9={'FicNw':function(_0x2e81ae,_0x3df5a4){return _0x2e81ae(_0x3df5a4);},'kfiHJ':function(_0x2a7223,_0x2466c2){return _0x2a7223===_0x2466c2;},'Igmkx':function(_0x5601dc,_0x20e445){return _0x5601dc+_0x20e445;},'WnAmj':'MCP\x20server\x20requires\x20authentication\x20but\x20running\x20in\x20non-interactive\x20mode.\x0a','QArXc':'Run\x20`ranger\x20setup\x20--mcp-bootstrap`\x20interactively\x20first.','qTDbF':function(_0x5007d9,_0x3885e3,_0x3be99d){return _0x5007d9(_0x3885e3,_0x3be99d);}},_0x27dc2b=getMcpAuthUrl();currentOrigin=_0x27dc2b;const _0x36b15e=process[_0x5d5415(0x14b)][_0x5d5415(0x107)]??![];console[_0x5d5415(0xcf)](_0x5d5415(0xca)+_0x27dc2b+'\x0a');const _0x2bca0e=await _0x407cd9['FicNw'](tryUnauthenticated,_0x27dc2b);let _0x5a6382=null;if(_0x407cd9[_0x5d5415(0xe7)](_0x2bca0e,_0x5d5415(0xde)))_0x5a6382='';else{_0x5a6382=await loadCachedToken();if(!_0x5a6382){if(!_0x36b15e)throw new Error(_0x407cd9[_0x5d5415(0xe1)](_0x407cd9['WnAmj'],_0x407cd9['QArXc']));_0x5a6382=await _0x407cd9[_0x5d5415(0x13e)](oauthFlow,_0x27dc2b);}}await _0x407cd9[_0x5d5415(0x13d)](callGetCliToken,_0x27dc2b,_0x5a6382);}async function tryUnauthenticated(_0x2293ad){const _0x46eb3f=_0x167d0e,_0x26bec8={'Lhwfj':function(_0x1a41f8,_0x4bdebe,_0x461a75){return _0x1a41f8(_0x4bdebe,_0x461a75);},'QlPqO':'2.0','UnVma':'2025-03-26','kjcbA':'ranger-cli','sijah':_0x46eb3f(0xc2),'vxSPB':function(_0x41a998,_0x2698d4){return _0x41a998===_0x2698d4;}},_0x270e59=await _0x26bec8['Lhwfj'](fetch,_0x2293ad,{'method':'POST','headers':{'Content-Type':'application/json','Accept':_0x46eb3f(0x144)},'body':JSON['stringify']({'jsonrpc':_0x26bec8[_0x46eb3f(0x12d)],'id':0x1,'method':_0x46eb3f(0xcc),'params':{'protocolVersion':_0x26bec8[_0x46eb3f(0x129)],'capabilities':{},'clientInfo':{'name':_0x26bec8['kjcbA'],'version':_0x26bec8[_0x46eb3f(0x145)]}}})});if(_0x270e59['ok'])return await _0x270e59['text'](),_0x46eb3f(0xde);if(_0x26bec8['vxSPB'](_0x270e59['status'],0x191))return await _0x270e59[_0x46eb3f(0x131)](),'needs-oauth';const _0x212068=await _0x270e59['text']();throw new Error('MCP\x20server\x20returned\x20HTTP\x20'+_0x270e59[_0x46eb3f(0x112)]+':\x20'+_0x212068);}class OAuthTimeoutError extends Error{constructor(_0x2e9011){const _0x10860b={'ZTcYj':'OAuthTimeoutError'};super(_0x2e9011),this['name']=_0x10860b['ZTcYj'];}}async function oauthFlow(_0x2aee50){const _0x2d4d06=_0x167d0e,_0x3a4d8b={'skFkf':function(_0x2154f3,_0x15dc94){return _0x2154f3 instanceof _0x15dc94;},'ZwMAb':_0x2d4d06(0x113),'gRyws':function(_0x612579){return _0x612579();}};try{return await oauthFlowAttempt(_0x2aee50);}catch(_0x506aa2){if(_0x3a4d8b[_0x2d4d06(0x104)](_0x506aa2,OAuthTimeoutError)&&await loadCachedClient())return console['log'](_0x3a4d8b[_0x2d4d06(0x134)]),await _0x3a4d8b['gRyws'](clearCachedClient),await oauthFlowAttempt(_0x2aee50);throw _0x506aa2;}}async function oauthFlowAttempt(_0x59f31d){const _0x3048d3=_0x167d0e,_0x17d9eb={'vWgqF':'Discovering\x20authorization\x20server...','ZFpFm':'No\x20authorization_servers\x20in\x20protected\x20resource\x20metadata','GzDse':'application/json','ikWkt':function(_0x7ed4c7,_0x530225){return _0x7ed4c7(_0x530225);},'SkNXZ':_0x3048d3(0x124),'BlgZM':function(_0x53d324,_0x2a9372){return _0x53d324(_0x2a9372);},'wvHPs':'hex','ljwfm':'client_id','zKMUk':_0x3048d3(0xbc),'TVtCl':_0x3048d3(0xc0),'mmcuz':_0x3048d3(0xed),'SzRwR':_0x3048d3(0x11b),'eyrCH':_0x3048d3(0x149),'fmyBb':'POST','Odqci':_0x3048d3(0xe4)},_0x562bd0=_0x59f31d[_0x3048d3(0xf1)](/\/mcp$/,'');process[_0x3048d3(0x14b)][_0x3048d3(0x118)](_0x17d9eb['vWgqF']);const _0x391927=await fetch(_0x562bd0+_0x3048d3(0xe5));if(!_0x391927['ok'])throw new Error('Could\x20not\x20fetch\x20protected\x20resource\x20metadata\x20from\x20MCP\x20server');const _0x7d7113=await _0x391927[_0x3048d3(0x130)](),_0x53f534=_0x7d7113[_0x3048d3(0x10d)]?.[0x0];if(!_0x53f534)throw new Error(_0x17d9eb['ZFpFm']);console[_0x3048d3(0xcf)]('\x20'+_0x53f534);const _0x81e881=await fetchAuthServerMetadata(_0x53f534);let _0x2c72d8,_0x32f2b2;const _0x5eb2fc=await loadCachedClient();if(_0x5eb2fc)_0x2c72d8=_0x5eb2fc['clientId'],_0x32f2b2=_0x5eb2fc[_0x3048d3(0x105)];else{if(_0x81e881[_0x3048d3(0x10a)]){process['stdout']['write'](_0x3048d3(0x111));const _0x448d00=await fetch(_0x81e881['registration_endpoint'],{'method':_0x3048d3(0x14a),'headers':{'Content-Type':_0x17d9eb['GzDse']},'body':JSON['stringify']({'client_name':'Ranger\x20CLI','redirect_uris':[_0x3048d3(0xfe)+CALLBACK_PORT+'/callback'],'grant_types':['authorization_code',_0x3048d3(0xc8)],'response_types':['code'],'token_endpoint_auth_method':'none'})});if(!_0x448d00['ok']){const _0x57f1f3=await _0x448d00['text']();throw new Error('Client\x20registration\x20failed:\x20'+_0x57f1f3);}const _0x1066d6=await _0x448d00['json']();_0x2c72d8=_0x1066d6['client_id'],_0x32f2b2=_0x1066d6['client_secret'],await saveCachedClient(_0x2c72d8,_0x32f2b2),console[_0x3048d3(0xcf)](_0x3048d3(0x108));}else throw new Error(_0x3048d3(0xb9));}const _0x59d16a=_0x17d9eb[_0x3048d3(0x136)](randomBytes,0x20)[_0x3048d3(0xfa)](_0x17d9eb['SkNXZ']),_0x24814c=_0x17d9eb['BlgZM'](createHash,_0x3048d3(0xe9))['update'](_0x59d16a)['digest'](_0x17d9eb[_0x3048d3(0xff)]),_0x392e4b=randomBytes(0x10)[_0x3048d3(0xfa)](_0x17d9eb['wvHPs']),_0x5676f8=new URL(_0x81e881['authorization_endpoint']);_0x5676f8[_0x3048d3(0xc4)]['set']('response_type','code'),_0x5676f8[_0x3048d3(0xc4)]['set'](_0x17d9eb[_0x3048d3(0xf9)],_0x2c72d8),_0x5676f8[_0x3048d3(0xc4)]['set'](_0x3048d3(0xea),_0x3048d3(0xfe)+CALLBACK_PORT+_0x3048d3(0x12f)),_0x5676f8[_0x3048d3(0xc4)][_0x3048d3(0xd0)](_0x17d9eb[_0x3048d3(0x109)],_0x24814c),_0x5676f8['searchParams']['set'](_0x3048d3(0x115),_0x17d9eb[_0x3048d3(0xb8)]),_0x5676f8['searchParams']['set']('state',_0x392e4b);_0x7d7113[_0x3048d3(0xed)]&&_0x5676f8['searchParams']['set'](_0x17d9eb[_0x3048d3(0x13a)],_0x7d7113[_0x3048d3(0xed)]);console['log'](_0x3048d3(0x100)),console[_0x3048d3(0xcf)]('If\x20the\x20browser\x20doesn\x27t\x20open,\x20visit:\x0a'+_0x5676f8['toString']()+'\x0a'),await _0x17d9eb['ikWkt'](openBrowser,_0x5676f8[_0x3048d3(0xfa)]());const _0x1f0699=await waitForCallback(_0x392e4b);process[_0x3048d3(0x14b)]['write'](_0x17d9eb[_0x3048d3(0xd1)]);const _0x4c6ce7=new URLSearchParams({'grant_type':_0x17d9eb[_0x3048d3(0x141)],'code':_0x1f0699,'redirect_uri':'http://localhost:'+CALLBACK_PORT+_0x3048d3(0x12f),'client_id':_0x2c72d8,'code_verifier':_0x59d16a});_0x32f2b2&&_0x4c6ce7['set']('client_secret',_0x32f2b2);_0x7d7113['resource']&&_0x4c6ce7['set']('resource',_0x7d7113['resource']);const _0x21eb77=await fetch(_0x81e881['token_endpoint'],{'method':_0x17d9eb[_0x3048d3(0xfc)],'headers':{'Content-Type':_0x17d9eb[_0x3048d3(0x12a)]},'body':_0x4c6ce7});if(!_0x21eb77['ok']){const _0x231505=await _0x21eb77[_0x3048d3(0x131)]();throw new Error(_0x3048d3(0x137)+_0x231505);}const _0x2f0156=await _0x21eb77['json']();return console[_0x3048d3(0xcf)](_0x3048d3(0x108)),await saveCachedToken(_0x2f0156['access_token'],_0x2f0156[_0x3048d3(0xc8)],_0x2f0156['expires_in']),_0x2f0156['access_token'];}async function callGetCliToken(_0x1db705,_0x2e65bc){const _0x2c3494=_0x167d0e,_0xa45b21={'AMRzt':'POST','jNKfe':'application/json,\x20text/event-stream','ntDXK':_0x2c3494(0xe6),'sKtfr':_0x2c3494(0xbf),'CYWvN':'2.0','sBLhA':'\x20done','kfoKV':'tools/call','nLYqM':'get_cli_token','OCrsQ':function(_0xe33ece,_0x4622eb,_0x2ed8bb){return _0xe33ece(_0x4622eb,_0x2ed8bb);},'QLqFG':_0x2c3494(0xc3),'zkagL':function(_0x21a5c5,_0x139232,_0x4f947c){return _0x21a5c5(_0x139232,_0x4f947c);},'mjPuo':function(_0x105da4,_0x5cd7f0,_0x35d910,_0xb6b565){return _0x105da4(_0x5cd7f0,_0x35d910,_0xb6b565);}},_0x5d1d1e={'Content-Type':_0x2c3494(0x11d),'Accept':_0xa45b21[_0x2c3494(0xd9)]};_0x2e65bc&&(_0x5d1d1e[_0xa45b21['ntDXK']]='Bearer\x20'+_0x2e65bc);const _0x375c3c=async _0x3a63fc=>{const _0x22f3fa=_0x2c3494,_0x2e0c37=await fetch(_0x1db705,{'method':_0xa45b21[_0x22f3fa(0xec)],'headers':_0x5d1d1e,'body':JSON[_0x22f3fa(0xf4)](_0x3a63fc)});if(!_0x2e0c37['ok']){const _0x5a85cd=await _0x2e0c37['text']();throw new Error('HTTP\x20'+_0x2e0c37['status']+':\x20'+_0x5a85cd);}return parseResponse(_0x2e0c37);};process[_0x2c3494(0x14b)][_0x2c3494(0x118)](_0xa45b21[_0x2c3494(0xc7)]);const _0x4fdf25=await _0x375c3c({'jsonrpc':_0xa45b21[_0x2c3494(0x126)],'id':0x1,'method':'initialize','params':{'protocolVersion':_0x2c3494(0xd3),'capabilities':{},'clientInfo':{'name':'ranger-cli','version':_0x2c3494(0xc2)}}});if(_0x4fdf25['error'])throw new Error(_0x2c3494(0x12b)+(_0x4fdf25['error'][_0x2c3494(0xf8)]??JSON[_0x2c3494(0xf4)](_0x4fdf25['error'])));console[_0x2c3494(0xcf)](_0xa45b21[_0x2c3494(0xeb)]),await fetch(_0x1db705,{'method':'POST','headers':_0x5d1d1e,'body':JSON['stringify']({'jsonrpc':_0x2c3494(0x120),'method':_0x2c3494(0xe3)})})[_0x2c3494(0x12c)](_0x5bb1e4=>_0x5bb1e4[_0x2c3494(0x131)]()),process['stdout']['write']('Requesting\x20CLI\x20token...');const _0x1506be=await _0x375c3c({'jsonrpc':_0x2c3494(0x120),'id':0x2,'method':_0xa45b21[_0x2c3494(0x12e)],'params':{'name':_0xa45b21['nLYqM'],'arguments':{}}});if(_0x1506be['error'])throw new Error(_0x2c3494(0x132)+(_0x1506be[_0x2c3494(0x133)][_0x2c3494(0xf8)]??JSON['stringify'](_0x1506be[_0x2c3494(0x133)])));console[_0x2c3494(0xcf)]('\x20done');const _0x43eba2=extractToken(_0x1506be[_0x2c3494(0xd7)]);if(!_0x43eba2){console[_0x2c3494(0x133)](_0x2c3494(0xee)),console[_0x2c3494(0x133)](JSON[_0x2c3494(0xf4)](_0x1506be[_0x2c3494(0xd7)],null,0x2));throw new Error(_0x2c3494(0x13f));}const _0x387b7a=_0xa45b21['OCrsQ'](join,homedir(),_0xa45b21['QLqFG']),_0x4ba3a5=_0xa45b21[_0x2c3494(0xf7)](join,_0x387b7a,'refresh.txt');await mkdir(_0x387b7a,{'recursive':!![]}),await writeFile(_0x4ba3a5,_0x43eba2,{'mode':0x180}),await _0xa45b21[_0x2c3494(0xba)](writeFile,join(_0x387b7a,_0x2c3494(0xcd)),_0x1db705,{'mode':0x180}),console['log']('\x0aToken\x20written\x20to\x20'+_0x4ba3a5),console[_0x2c3494(0xcf)]('Run\x20`ranger\x20status`\x20to\x20verify\x20authentication.\x0a');}async function fetchAuthServerMetadata(_0xccf5d0){const _0x2aec8b=_0x167d0e,_0x227409={'LyMYM':function(_0x29f678,_0x6cb09c){return _0x29f678(_0x6cb09c);}},_0x20b2a9=_0xccf5d0+_0x2aec8b(0x10b),_0x355456=await _0x227409['LyMYM'](fetch,_0x20b2a9);if(!_0x355456['ok'])throw new Error('Could\x20not\x20fetch\x20auth\x20server\x20metadata\x20from\x20'+_0x20b2a9+':\x20'+_0x355456['status']);return _0x355456[_0x2aec8b(0x130)]();}function waitForCallback(_0x452e68){const _0x1d5b72=_0x167d0e,_0x1c903d={'YQfhn':_0x1d5b72(0x138),'sHnQX':_0x1d5b72(0xf6),'fLPTv':'error','RVfjF':'error_description','YuiXJ':function(_0x221eb4,_0x55fafd){return _0x221eb4(_0x55fafd);},'pmTMV':function(_0x45b522){return _0x45b522();},'ulMLI':function(_0x4dded2,_0x39911a){return _0x4dded2!==_0x39911a;},'kKUHm':_0x1d5b72(0xd2),'rMibA':'<html><body><h2>Invalid\x20callback</h2><p>Missing\x20code\x20or\x20state\x20mismatch.</p></body></html>','svAVP':'<html><body><h2>Authenticated!</h2><p>You\x20can\x20close\x20this\x20window\x20and\x20return\x20to\x20the\x20terminal.</p></body></html>','qLqIL':function(_0x4be25f){return _0x4be25f();},'qbgIx':function(_0x4fb188,_0x1ed32d,_0x82c983){return _0x4fb188(_0x1ed32d,_0x82c983);},'lfOIE':'127.0.0.1'};return new Promise((_0x2b96be,_0x498768)=>{const _0xd8ac7a=_0x1d5b72,_0x2bf2e6={'qkMYG':function(_0x28fdbb){return _0x1c903d['qLqIL'](_0x28fdbb);}},_0x566d42=()=>{const _0xb3ee87=_0x590a;_0x384c15[_0xb3ee87(0xbe)](),_0x384c15['close']();},_0x4159f9=_0x1c903d[_0xd8ac7a(0x10f)](setTimeout,()=>{const _0x27eae6=_0xd8ac7a;_0x2bf2e6[_0x27eae6(0xf3)](_0x566d42),_0x498768(new OAuthTimeoutError('OAuth\x20callback\x20timed\x20out\x20after\x202\x20minutes'));},0x1d4c0),_0x384c15=_0x1c903d[_0xd8ac7a(0x11e)](createServer,(_0x461b27,_0x1f1b25)=>{const _0xe03c83=_0xd8ac7a,_0xc9fa3b=new URL(_0x461b27[_0xe03c83(0x11a)]??'/',_0xe03c83(0xfe)+CALLBACK_PORT);if(_0xc9fa3b['pathname']!=='/callback'){_0x1f1b25['writeHead'](0x194),_0x1f1b25['end'](_0x1c903d['YQfhn']);return;}const _0x3da2d8=_0xc9fa3b[_0xe03c83(0xc4)][_0xe03c83(0xfb)](_0x1c903d['sHnQX']),_0x2d5843=_0xc9fa3b['searchParams']['get'](_0xe03c83(0x114)),_0x1f8849=_0xc9fa3b['searchParams'][_0xe03c83(0xfb)](_0x1c903d[_0xe03c83(0x146)]);if(_0x1f8849){const _0x83dfca=_0xc9fa3b[_0xe03c83(0xc4)]['get'](_0x1c903d[_0xe03c83(0xd5)])??_0x1f8849;_0x1f1b25[_0xe03c83(0x101)](0xc8,{'Content-Type':'text/html'}),_0x1f1b25['end']('<html><body><h2>Authentication\x20failed</h2><p>'+_0x83dfca+_0xe03c83(0xce)),_0x1c903d[_0xe03c83(0x11e)](clearTimeout,_0x4159f9),_0x1c903d[_0xe03c83(0x122)](_0x566d42),_0x498768(new Error(_0xe03c83(0x110)+_0x83dfca));return;}if(!_0x3da2d8||_0x1c903d['ulMLI'](_0x2d5843,_0x452e68)){_0x1f1b25['writeHead'](0x190,{'Content-Type':_0x1c903d[_0xe03c83(0x123)]}),_0x1f1b25[_0xe03c83(0x14e)](_0x1c903d['rMibA']);return;}_0x1f1b25['writeHead'](0xc8,{'Content-Type':_0x1c903d['kKUHm']}),_0x1f1b25[_0xe03c83(0x14e)](_0x1c903d['svAVP']),_0x1c903d[_0xe03c83(0x11e)](clearTimeout,_0x4159f9),_0x1c903d['qLqIL'](_0x566d42),_0x2b96be(_0x3da2d8);});_0x384c15['listen'](CALLBACK_PORT,_0x1c903d[_0xd8ac7a(0xe8)]);});}async function openBrowser(_0x436945){const _0x26f925=_0x167d0e,_0xd4253={'XKHhv':function(_0x420fbc,_0x2b186f){return _0x420fbc===_0x2b186f;},'XQyoN':'open','BlWDd':_0x26f925(0x143),'qMTvD':_0x26f925(0x148),'HQcOh':function(_0x5d6574,_0x10f8fb){return _0x5d6574(_0x10f8fb);}},_0x2ddd6c=_0xd4253['XKHhv'](process[_0x26f925(0xf2)],_0x26f925(0xfd))?_0xd4253[_0x26f925(0x102)]:process[_0x26f925(0xf2)]===_0xd4253[_0x26f925(0xbb)]?'start':_0xd4253[_0x26f925(0xd6)];_0xd4253[_0x26f925(0x139)](exec,_0x2ddd6c+'\x20\x22'+_0x436945+'\x22');}let currentOrigin='';async function loadCachedToken(){const _0xbe3899=_0x167d0e;try{const _0x247650=JSON['parse'](await readFile(TOKEN_CACHE_PATH,'utf-8'));if(_0x247650[_0xbe3899(0xf0)]&&_0x247650['origin']!==currentOrigin)return null;if(_0x247650['expiresAt']&&Date[_0xbe3899(0xc9)]()>_0x247650[_0xbe3899(0x11c)])return null;return _0x247650[_0xbe3899(0xd4)]??null;}catch{return null;}}async function saveCachedToken(_0x500986,_0x38ec66,_0x3b5a26){const _0x284556=_0x167d0e,_0x434e8a={'bflVN':function(_0x4b6925){return _0x4b6925();},'kNqds':function(_0x3da21c,_0x12aefd){return _0x3da21c+_0x12aefd;},'vtXCz':function(_0x241105,_0x64fa4,_0x5198d5){return _0x241105(_0x64fa4,_0x5198d5);},'JchoX':function(_0x3515dd){return _0x3515dd();},'OopwK':'.ranger'},_0x336b30=await _0x434e8a[_0x284556(0x106)](loadCachedData),_0x20c88f={..._0x336b30,'origin':currentOrigin,'accessToken':_0x500986,'refreshToken':_0x38ec66??_0x336b30?.[_0x284556(0x103)],'expiresAt':_0x3b5a26?_0x434e8a['kNqds'](Date['now'](),_0x3b5a26*0x3e8):undefined};await _0x434e8a[_0x284556(0xdb)](mkdir,join(_0x434e8a[_0x284556(0x14c)](homedir),_0x434e8a[_0x284556(0x119)]),{'recursive':!![]}),await writeFile(TOKEN_CACHE_PATH,JSON['stringify'](_0x20c88f),{'mode':0x180});}async function loadCachedClient(){const _0x38359c=_0x167d0e,_0x4097e8={'adUrf':function(_0x200986){return _0x200986();},'PqQet':function(_0x87ce1d,_0x14e931){return _0x87ce1d!==_0x14e931;}},_0x4655af=await _0x4097e8[_0x38359c(0x10e)](loadCachedData);if(_0x4655af?.['origin']&&_0x4097e8[_0x38359c(0xdc)](_0x4655af[_0x38359c(0xf0)],currentOrigin))return null;return _0x4655af?.['clientId']?{'clientId':_0x4655af[_0x38359c(0x135)],'clientSecret':_0x4655af['clientSecret']}:null;}function _0x265f(){const _0x4447f7=['error','ZwMAb','clientId','ikWkt','Token\x20exchange\x20failed:\x20','Not\x20found','HQcOh','mmcuz','EptYt','mcp-oauth-tokens.json','qTDbF','FicNw','Could\x20not\x20extract\x20token\x20from\x20MCP\x20response','5279688CBLxyP','eyrCH','qSLdC','win32','application/json,\x20text/event-stream','sijah','fLPTv','3230CDdSZa','xdg-open','authorization_code','POST','stdout','JchoX','utf-8','end','TVtCl','Authorization\x20server\x20does\x20not\x20support\x20dynamic\x20client\x20registration\x20and\x20no\x20cached\x20client\x20found','mjPuo','BlWDd','code_challenge','split','closeAllConnections','Initializing\x20MCP\x20session...','S256','NoHbx','1.0.0','.ranger','searchParams','No\x20JSON-RPC\x20response\x20found\x20in\x20SSE\x20stream','3473679ebwSiI','sKtfr','refresh_token','now','\x0aConnecting\x20to\x20MCP\x20auth\x20server:\x20','slice','initialize','auth-origin.txt','</p><p>You\x20can\x20close\x20this\x20window.</p></body></html>','log','set','SzRwR','text/html','2025-03-26','accessToken','RVfjF','qMTvD','result','TnPYN','jNKfe','2sfFkWf','vtXCz','PqQet','6152076gYTBQR','proxied','text/event-stream','4568520tcCwXe','Igmkx','379412oXgefa','notifications/initialized','application/x-www-form-urlencoded','/.well-known/oauth-protected-resource','Authorization','kfiHJ','lfOIE','sha256','redirect_uri','sBLhA','AMRzt','resource','\x0aUnexpected\x20response\x20structure:','Server\x20returned\x20error:\x20','origin','replace','platform','qkMYG','stringify','token','code','zkagL','message','ljwfm','toString','get','fmyBb','darwin','http://localhost:','SkNXZ','\x0aOpening\x20browser\x20for\x20authentication...','writeHead','XQyoN','refreshToken','skFkf','clientSecret','bflVN','isTTY','\x20done','zKMUk','registration_endpoint','/.well-known/oauth-authorization-server','isError','authorization_servers','adUrf','qbgIx','OAuth\x20error:\x20','Registering\x20OAuth\x20client...','status','\x0aCached\x20OAuth\x20client\x20may\x20be\x20stale\x20—\x20clearing\x20and\x20retrying...\x0a','state','code_challenge_method','vxwfb','468UhgdBZ','write','OopwK','url','Exchanging\x20authorization\x20code...','expiresAt','application/json','YuiXJ','UBDKn','2.0','11561652VKxhRw','pmTMV','kKUHm','base64url','startsWith','CYWvN','parse','content','UnVma','Odqci','MCP\x20initialize\x20failed:\x20','then','QlPqO','kfoKV','/callback','json','text','get_cli_token\x20failed:\x20'];_0x265f=function(){return _0x4447f7;};return _0x265f();}async function clearCachedClient(){const _0x593c32=_0x167d0e,_0x99a4e9={'fltnc':function(_0x1280b0){return _0x1280b0();}},_0x5251d9=await _0x99a4e9['fltnc'](loadCachedData);if(!_0x5251d9)return;const {clientId:_0x46c892,clientSecret:_0x17aa67,..._0x50a7ba}=_0x5251d9;await writeFile(TOKEN_CACHE_PATH,JSON[_0x593c32(0xf4)](_0x50a7ba),{'mode':0x180});}function _0x590a(_0xdda0dc,_0x3cf717){_0xdda0dc=_0xdda0dc-0xb8;const _0x265fa1=_0x265f();let _0x590a06=_0x265fa1[_0xdda0dc];return _0x590a06;}async function saveCachedClient(_0x4a5b43,_0x3d407a){const _0x165a53=_0x167d0e,_0x25bb3f={'TnPYN':function(_0x2259f8,_0x5a77c2,_0x542f00,_0x5a39a1){return _0x2259f8(_0x5a77c2,_0x542f00,_0x5a39a1);}},_0x44b8cc=await loadCachedData(),_0xdfdc3c={..._0x44b8cc,'origin':currentOrigin,'accessToken':_0x44b8cc?.[_0x165a53(0xd4)]??'','clientId':_0x4a5b43,'clientSecret':_0x3d407a};await mkdir(join(homedir(),_0x165a53(0xc3)),{'recursive':!![]}),await _0x25bb3f[_0x165a53(0xd8)](writeFile,TOKEN_CACHE_PATH,JSON['stringify'](_0xdfdc3c),{'mode':0x180});}async function loadCachedData(){const _0x3d4943=_0x167d0e;try{return JSON['parse'](await readFile(TOKEN_CACHE_PATH,_0x3d4943(0x14d)));}catch{return null;}}async function parseResponse(_0x3bdc0e){const _0x1f6edf=_0x167d0e,_0x26b08e={'EptYt':_0x1f6edf(0xdf),'NoHbx':'data:'},_0x1023c4=_0x3bdc0e['headers'][_0x1f6edf(0xfb)]('content-type')??'';if(_0x1023c4['includes'](_0x26b08e[_0x1f6edf(0x13b)])){const _0x11a3fb=await _0x3bdc0e[_0x1f6edf(0x131)]();for(const _0x24a1b2 of _0x11a3fb[_0x1f6edf(0xbd)]('\x0a')){const _0x3e4fd5=_0x24a1b2['trim']();if(_0x3e4fd5[_0x1f6edf(0x125)](_0x26b08e['NoHbx'])){const _0x4bfd19=_0x3e4fd5[_0x1f6edf(0xcb)](_0x26b08e[_0x1f6edf(0xc1)]['length'])['trim']();if(!_0x4bfd19)continue;try{const _0x298772=JSON['parse'](_0x4bfd19);if(_0x298772['id']!==undefined||_0x298772[_0x1f6edf(0x133)])return _0x298772;}catch{}}}throw new Error(_0x1f6edf(0xc5));}return _0x3bdc0e['json']();}function extractToken(_0x12da51){const _0x217de1=_0x167d0e,_0x5a3761={'UBDKn':function(_0xd3aac2,_0x56f8cf){return _0xd3aac2===_0x56f8cf;},'qSLdC':'string','WxHLv':'text'};if(!_0x12da51)return null;const _0x2cb22b=_0x12da51['structuredContent'];if(_0x2cb22b?.['token']&&_0x5a3761[_0x217de1(0x11f)](typeof _0x2cb22b[_0x217de1(0xf5)],_0x5a3761[_0x217de1(0x142)]))return _0x2cb22b[_0x217de1(0xf5)];if(_0x12da51[_0x217de1(0x10c)]){const _0x258942=_0x12da51[_0x217de1(0x128)];throw new Error(_0x217de1(0xef)+(_0x258942?.[0x0]?.['text']??'Unknown\x20error'));}const _0x4a2808=_0x12da51['content'];if(_0x4a2808)for(const _0x447491 of _0x4a2808){if(_0x5a3761[_0x217de1(0x11f)](_0x447491['type'],_0x5a3761['WxHLv'])&&_0x447491[_0x217de1(0x131)]){try{const _0x5db8c1=JSON[_0x217de1(0x127)](_0x447491['text']);if(typeof _0x5db8c1?.[_0x217de1(0xf5)]===_0x5a3761[_0x217de1(0x142)])return _0x5db8c1['token'];}catch{}const _0xc2f426=_0x447491[_0x217de1(0x131)]['match'](/(rngr_[A-Za-z0-9_-]+)/);if(_0xc2f426)return _0xc2f426[0x1];}}return null;}
@@ -1 +1 @@
1
- (function(_0x4f67ec,_0x583d99){var _0x4fe790=_0x4e83,_0x54ae62=_0x4f67ec();while(!![]){try{var _0xfddf1d=parseInt(_0x4fe790(0x144))/0x1*(-parseInt(_0x4fe790(0x153))/0x2)+-parseInt(_0x4fe790(0x147))/0x3+-parseInt(_0x4fe790(0x14c))/0x4+-parseInt(_0x4fe790(0x14e))/0x5+parseInt(_0x4fe790(0x152))/0x6*(parseInt(_0x4fe790(0x14b))/0x7)+parseInt(_0x4fe790(0x150))/0x8+parseInt(_0x4fe790(0x14a))/0x9;if(_0xfddf1d===_0x583d99)break;else _0x54ae62['push'](_0x54ae62['shift']());}catch(_0x28e168){_0x54ae62['push'](_0x54ae62['shift']());}}}(_0x392e,0x3bba7));function _0x392e(){var _0x13fd4f=['1355128NosGLH','TTkvd','502625BhfbBw','ranger\x20profile\x20migrate\x20is\x20no\x20longer\x20supported.\x0a','889416moLDCt','\x20\x20https://docs.ranger.net/main/concepts/profiles\x0a','2742acgnHs','2TWWggB','19113xaMBdf','To\x20set\x20up\x20a\x20fresh\x20profile,\x20run:\x0a','For\x20CI\x20/\x20background\x20agents\x20and\x20other\x20setup\x20options,\x20see:\x0a','1445196pTmyeR','Existing\x20sessions\x20in\x20your\x20old\x20<project>/.ranger/\x20dirs\x20still\x20work\x20as\x20a\x0a','mArBn','7433352TplLst','3794zeOXxL'];_0x392e=function(){return _0x13fd4f;};return _0x392e();}function _0x4e83(_0x3dc8de,_0x59e88b){_0x3dc8de=_0x3dc8de-0x144;var _0x392ee9=_0x392e();var _0x4e833d=_0x392ee9[_0x3dc8de];return _0x4e833d;}export async function migrateProfile(_0x30b350,_0x157be1){var _0x34a5e5=_0x4e83,_0x44fce1={'TTkvd':function(_0x2d0caf,_0x3d7d31){return _0x2d0caf+_0x3d7d31;},'QlkkJ':function(_0x41b25d,_0x18527d){return _0x41b25d+_0x18527d;},'dEluT':_0x34a5e5(0x145),'Ggklv':_0x34a5e5(0x151),'SzTUP':_0x34a5e5(0x148),'mArBn':'fallback;\x20you\x20can\x20delete\x20them\x20once\x20you\x20have\x20re-auth-ed.'};console['error'](_0x44fce1[_0x34a5e5(0x14d)](_0x44fce1['QlkkJ'](_0x44fce1['TTkvd'](_0x44fce1[_0x34a5e5(0x14d)](_0x44fce1['QlkkJ'](_0x34a5e5(0x14f),'\x0a'),_0x44fce1['dEluT'])+'\x20\x20ranger\x20profile\x20add\x20<name>\x0a','\x0a')+_0x34a5e5(0x146)+_0x44fce1['Ggklv'],'\x0a'),_0x44fce1['SzTUP'])+_0x44fce1[_0x34a5e5(0x149)]),process['exit'](0x1);}
1
+ (function(_0x385e3a,_0x234ad5){var _0xb3ac0e=_0x5b4c,_0x466fd7=_0x385e3a();while(!![]){try{var _0x510d2d=parseInt(_0xb3ac0e(0x11c))/0x1+-parseInt(_0xb3ac0e(0x117))/0x2+-parseInt(_0xb3ac0e(0x116))/0x3+-parseInt(_0xb3ac0e(0x122))/0x4*(-parseInt(_0xb3ac0e(0x11d))/0x5)+parseInt(_0xb3ac0e(0x11f))/0x6+parseInt(_0xb3ac0e(0x11a))/0x7+-parseInt(_0xb3ac0e(0x118))/0x8*(parseInt(_0xb3ac0e(0x11e))/0x9);if(_0x510d2d===_0x234ad5)break;else _0x466fd7['push'](_0x466fd7['shift']());}catch(_0x25f7a6){_0x466fd7['push'](_0x466fd7['shift']());}}}(_0x333e,0x2fcc9));function _0x5b4c(_0x3b2a19,_0x1b0005){_0x3b2a19=_0x3b2a19-0x115;var _0x333e55=_0x333e();var _0x5b4cdf=_0x333e55[_0x3b2a19];return _0x5b4cdf;}function _0x333e(){var _0x2adb85=['zDLnF','KlNjH','8qQFpkV','cAXFY','1143864AqcpaQ','58784tIbuFP','181336GjRWJs','vcmNl','2510305DaOzOY','To\x20set\x20up\x20a\x20fresh\x20profile,\x20run:\x0a','366945zPikDX','91955alTTmJ','117zFtUni','832764sURujI'];_0x333e=function(){return _0x2adb85;};return _0x333e();}export async function migrateProfile(_0x20c43d,_0x2db926){var _0x28263c=_0x5b4c,_0x24d80f={'vcmNl':function(_0x331232,_0x313a77){return _0x331232+_0x313a77;},'zDLnF':function(_0x3a39e0,_0x46c739){return _0x3a39e0+_0x46c739;},'cAXFY':function(_0x718726,_0x3732a4){return _0x718726+_0x3732a4;},'LvANP':'ranger\x20profile\x20migrate\x20is\x20no\x20longer\x20supported.\x0a','KlNjH':'Existing\x20sessions\x20in\x20your\x20old\x20<project>/.ranger/\x20dirs\x20still\x20work\x20as\x20a\x0a'};console['error'](_0x24d80f[_0x28263c(0x119)](_0x24d80f['vcmNl'](_0x24d80f[_0x28263c(0x120)](_0x24d80f[_0x28263c(0x115)](_0x24d80f['cAXFY'](_0x24d80f['cAXFY'](_0x24d80f['LvANP'],'\x0a')+_0x28263c(0x11b),'\x20\x20ranger\x20profile\x20add\x20<name>\x0a')+'\x0a','For\x20CI\x20/\x20background\x20agents\x20and\x20other\x20setup\x20options,\x20see:\x0a'),'\x20\x20https://docs.ranger.net/main/concepts/profiles\x0a')+'\x0a',_0x24d80f[_0x28263c(0x121)]),'fallback;\x20you\x20can\x20delete\x20them\x20once\x20you\x20have\x20re-auth-ed.')),process['exit'](0x1);}
@@ -1 +1 @@
1
- (function(_0x33d59b,_0x31ecda){const _0x55d4e6=_0x3048,_0x4e0fc9=_0x33d59b();while(!![]){try{const _0x24cc36=parseInt(_0x55d4e6(0xed))/0x1+-parseInt(_0x55d4e6(0xc6))/0x2+-parseInt(_0x55d4e6(0xd9))/0x3*(parseInt(_0x55d4e6(0xbf))/0x4)+parseInt(_0x55d4e6(0xc9))/0x5*(parseInt(_0x55d4e6(0xdf))/0x6)+parseInt(_0x55d4e6(0xd2))/0x7+-parseInt(_0x55d4e6(0xbc))/0x8*(parseInt(_0x55d4e6(0xe5))/0x9)+-parseInt(_0x55d4e6(0xcd))/0xa;if(_0x24cc36===_0x31ecda)break;else _0x4e0fc9['push'](_0x4e0fc9['shift']());}catch(_0xa7a95b){_0x4e0fc9['push'](_0x4e0fc9['shift']());}}}(_0x1a34,0xb4045));import{join}from'path';import{existsSync}from'fs';import _0x3ce0f4 from'inquirer';import{skillup}from'../skillup.js';import{runClaudeCommand,isMarketplaceAdded,isPluginInstalled}from'../utils/claudePlugin.js';function _0x1a34(){const _0x5d1b0c=['✓\x20Claude\x20Code\x20plugin\x20already\x20installed','User\x20(available\x20in\x20all\x20your\x20projects)','CxQMi','SAeac','1281RbgWpm','WIhPm','ranger@trailhead','confirm','fNxbX','user','564hQNfyt','✓\x20Claude\x20Code\x20plugin\x20enabled','UXSIg','\x0aInstalling\x20Claude\x20Code\x20plugin\x20(','jLsMO','MVwJT','2979qRrcwe','FTVzJ','add','QQfBp','plugin','list','Where\x20should\x20the\x20plugin\x20be\x20installed?','qQWkx','408381vsQCeO','iKcDA','ONPXr','ZwpKB','✓\x20Claude\x20Code\x20plugin\x20installed\x20successfully','saPxs','output','LTFOb','4560iwZPLp','error','\x0aYou\x20can\x20install\x20manually\x20with:','148XahNVY','WlooR','prompt','✓\x20Marketplace\x20already\x20added','log','ipctl','project','2737524rwawJY','ranger','SKILL.md','44355JkLBau','Would\x20you\x20like\x20to\x20install\x20skills?','INegS','marketplace','712430PZBegt','\x20\x20claude\x20plugin\x20marketplace\x20add\x20ranger-testing/trailhead','pluginScope','yQPjr','ranger-testing/trailhead','7976976TfWalL','QWPYv','\x20\x20claude\x20plugin\x20install\x20ranger@trailhead\x20--scope\x20'];_0x1a34=function(){return _0x5d1b0c;};return _0x1a34();}function _0x3048(_0x53fb46,_0x2ee7da){_0x53fb46=_0x53fb46-0xb8;const _0x1a3478=_0x1a34();let _0x30481c=_0x1a3478[_0x53fb46];return _0x30481c;}import{getProjectRoot,getSkillsDir}from'../utils/claudeConfig.js';export async function ensureClaudePlugin(_0x10b6d3){const _0x2b9447=_0x3048,_0x33a9c0={'ipctl':function(_0x1bd968,_0x162b5f){return _0x1bd968(_0x162b5f);},'reAdo':_0x2b9447(0xd5),'jLsMO':function(_0x7fa92f,_0x363a51,_0x57f7e4){return _0x7fa92f(_0x363a51,_0x57f7e4);},'JsUfZ':'.claude','YnZpB':'\x0a📦\x20Claude\x20Code\x20Plugin\x0a','lGfjQ':_0x2b9447(0xea),'IEeZA':_0x2b9447(0xeb),'aQNwB':_0x2b9447(0xd6),'vazgu':_0x2b9447(0xc2),'INegS':function(_0x590372,_0x1e0b61){return _0x590372(_0x1e0b61);},'ZwpKB':_0x2b9447(0xe9),'CxQMi':_0x2b9447(0xe7),'SAeac':function(_0x4ef8b0,_0x5724ee,_0xdd7271){return _0x4ef8b0(_0x5724ee,_0xdd7271);},'yQPjr':'install','ONPXr':function(_0x2666bb,_0x58c50a){return _0x2666bb===_0x58c50a;},'QWPYv':'project','MVwJT':function(_0x46a1c5){return _0x46a1c5();},'QQfBp':_0x2b9447(0xbe),'LqJah':function(_0x9f02d7,_0x2ef3af){return _0x9f02d7===_0x2ef3af;},'iKcDA':function(_0x5492ab,_0x387ac9,_0x4f2155){return _0x5492ab(_0x387ac9,_0x4f2155);}},_0x47597f=await _0x33a9c0['ipctl'](isPluginInstalled,'ranger@trailhead');if(_0x47597f)return console[_0x2b9447(0xc3)](_0x33a9c0['reAdo']),![];const _0x3bfd45=_0x33a9c0[_0x2b9447(0xc4)](existsSync,_0x33a9c0[_0x2b9447(0xe3)](join,getProjectRoot(),_0x33a9c0['JsUfZ']));let _0x2bbe69;if(_0x10b6d3)_0x2bbe69=_0x10b6d3;else{if(_0x3bfd45)_0x2bbe69='project';else{console[_0x2b9447(0xc3)](_0x33a9c0['YnZpB']);const _0x42d067=await _0x3ce0f4[_0x2b9447(0xc1)]([{'type':_0x33a9c0['lGfjQ'],'name':_0x2b9447(0xcf),'message':_0x33a9c0['IEeZA'],'choices':[{'name':_0x33a9c0['aQNwB'],'value':'user'},{'name':'Project\x20(shared\x20with\x20team\x20via\x20git)','value':'project'}],'default':'user'}]);_0x2bbe69=_0x42d067['pluginScope'];}}console[_0x2b9447(0xc3)](_0x2b9447(0xe2)+_0x2bbe69+'\x20level)...\x0a');const _0x3927bc=await isMarketplaceAdded('trailhead');let _0x10b2be=_0x3927bc;if(_0x3927bc)console['log'](_0x33a9c0['vazgu']);else{const _0x1b2cea=await _0x33a9c0[_0x2b9447(0xcb)](runClaudeCommand,[_0x33a9c0[_0x2b9447(0xf0)],_0x2b9447(0xcc),_0x33a9c0[_0x2b9447(0xd7)],_0x2b9447(0xd1)]);!_0x1b2cea['success']?(console['error']('❌\x20Failed\x20to\x20add\x20marketplace:',_0x1b2cea[_0x2b9447(0xbd)]),console['log'](_0x2b9447(0xbe)),console['log'](_0x2b9447(0xce)),console[_0x2b9447(0xc3)](_0x2b9447(0xd4)+_0x2bbe69)):_0x10b2be=!![];}if(_0x10b2be){const _0x5e98de=await _0x33a9c0[_0x2b9447(0xd8)](runClaudeCommand,['plugin',_0x33a9c0[_0x2b9447(0xd0)],_0x2b9447(0xdb),'--scope',_0x2bbe69],{'cwd':_0x33a9c0[_0x2b9447(0xef)](_0x2bbe69,_0x33a9c0[_0x2b9447(0xd3)])?_0x33a9c0[_0x2b9447(0xe4)](getProjectRoot):undefined});if(!_0x5e98de['success'])console[_0x2b9447(0xbd)]('❌\x20Failed\x20to\x20install\x20plugin:',_0x5e98de['error']),console['log'](_0x33a9c0[_0x2b9447(0xe8)]),console[_0x2b9447(0xc3)]('\x20\x20claude\x20plugin\x20install\x20ranger@trailhead\x20--scope\x20'+_0x2bbe69);else{console[_0x2b9447(0xc3)](_0x2b9447(0xb8));const _0x282f70=['plugin','enable',_0x2b9447(0xdb)];_0x33a9c0['LqJah'](_0x2bbe69,_0x33a9c0['QWPYv'])&&_0x282f70['push']('--scope',_0x2b9447(0xc5));const _0x1f7648=await _0x33a9c0[_0x2b9447(0xee)](runClaudeCommand,_0x282f70,{'captureOutput':!![],'cwd':_0x2bbe69===_0x33a9c0[_0x2b9447(0xd3)]?_0x33a9c0[_0x2b9447(0xe4)](getProjectRoot):undefined}),_0x2f3181=_0x1f7648[_0x2b9447(0xba)]?.['includes']('already\x20enabled');!_0x1f7648['success']&&!_0x2f3181?console[_0x2b9447(0xbd)]('⚠\x20Failed\x20to\x20enable\x20plugin:',_0x1f7648['error']):console['log'](_0x2b9447(0xe0));}}return!![];}export async function ensureClaudeSkills(_0x13f0ea){const _0x55dac1=_0x3048,_0x3ef2a7={'WlooR':function(_0x4fe444,_0x44e2aa){return _0x4fe444(_0x44e2aa);},'CHoOO':function(_0x4e641f,_0x1d8624){return _0x4e641f(_0x1d8624);},'LTFOb':_0x55dac1(0xde),'FTVzJ':'SKILL.md','saPxs':function(_0x3c1d7d,_0x36be1c,_0x2f143f,_0x5248f3){return _0x3c1d7d(_0x36be1c,_0x2f143f,_0x5248f3);},'WIhPm':function(_0x1c8961,_0x34ec22){return _0x1c8961||_0x34ec22;},'fNxbX':function(_0x16c597){return _0x16c597();},'qQWkx':'.claude','bCNxS':function(_0x3e64ad,_0x173cc1){return _0x3e64ad(_0x173cc1);},'UXSIg':_0x55dac1(0xc5),'sxLUa':'wantsSkillup'},_0xc41706=_0x3ef2a7[_0x55dac1(0xc0)](existsSync,join(_0x3ef2a7['CHoOO'](getSkillsDir,_0x3ef2a7[_0x55dac1(0xbb)]),'ranger',_0x3ef2a7[_0x55dac1(0xe6)])),_0x4aaef9=existsSync(_0x3ef2a7[_0x55dac1(0xb9)](join,getSkillsDir(_0x55dac1(0xc5)),_0x55dac1(0xc7),_0x55dac1(0xc8)));if(_0x3ef2a7[_0x55dac1(0xda)](_0xc41706,_0x4aaef9))return console['log']('✓\x20Ranger\x20skills\x20already\x20installed'),![];const _0x568e67=existsSync(join(_0x3ef2a7[_0x55dac1(0xdd)](getProjectRoot),_0x3ef2a7[_0x55dac1(0xec)]));let _0x160c25=!![];if(_0x13f0ea)await skillup({'autoInstall':_0x13f0ea,'suppressUsage':!![]});else{if(_0x568e67)await _0x3ef2a7['bCNxS'](skillup,{'autoInstall':_0x3ef2a7[_0x55dac1(0xe1)],'suppressUsage':!![]});else{const _0x365efe=await _0x3ce0f4[_0x55dac1(0xc1)]([{'type':_0x55dac1(0xdc),'name':_0x3ef2a7['sxLUa'],'message':_0x55dac1(0xca),'default':!![]}]);_0x160c25=_0x365efe['wantsSkillup'],_0x160c25&&await _0x3ef2a7[_0x55dac1(0xc0)](skillup,{'suppressUsage':!![]});}}return _0x160c25;}
1
+ (function(_0x34e1b0,_0x7cdde6){const _0x158759=_0x2af1,_0x55719c=_0x34e1b0();while(!![]){try{const _0x2ca25b=-parseInt(_0x158759(0x135))/0x1*(parseInt(_0x158759(0x130))/0x2)+parseInt(_0x158759(0x12e))/0x3+-parseInt(_0x158759(0x121))/0x4*(-parseInt(_0x158759(0x13e))/0x5)+parseInt(_0x158759(0x144))/0x6*(-parseInt(_0x158759(0x137))/0x7)+-parseInt(_0x158759(0x131))/0x8+parseInt(_0x158759(0x151))/0x9+parseInt(_0x158759(0x134))/0xa*(parseInt(_0x158759(0x12b))/0xb);if(_0x2ca25b===_0x7cdde6)break;else _0x55719c['push'](_0x55719c['shift']());}catch(_0x50001e){_0x55719c['push'](_0x55719c['shift']());}}}(_0x2a0b,0x7bdb4));function _0x2a0b(){const _0x5ecb95=['XiONC','xvqxB','WumoG','SlqTn','plugin','output','14549007Sklznm','UgUlJ','oSzuo','1020888yOdwkX','Would\x20you\x20like\x20to\x20install\x20skills?','58grBdtm','7044600BlZfkH','❌\x20Failed\x20to\x20add\x20marketplace:','marketplace','10PBrLnn','31922xvfcDL','pluginScope','14xfZLQf','.claude','✓\x20Ranger\x20skills\x20already\x20installed','Project\x20(shared\x20with\x20team\x20via\x20git)','jaEOK','SKILL.md','already\x20enabled','5jSMYPl','kkbbf','confirm','ranger@trailhead','BzfVJ','qLmBn','1459506UvWYmo','prompt','GQuGz','--scope','⚠\x20Failed\x20to\x20enable\x20plugin:','push','AvpZM','BsXWL','TbtGu','\x0a📦\x20Claude\x20Code\x20Plugin\x0a','Where\x20should\x20the\x20plugin\x20be\x20installed?','user','\x20\x20claude\x20plugin\x20install\x20ranger@trailhead\x20--scope\x20','1902897tVLmEI','success','jyAnC','gzUkX','error','wantsSkillup','\x0aInstalling\x20Claude\x20Code\x20plugin\x20(','✓\x20Claude\x20Code\x20plugin\x20installed\x20successfully','ranger','3703060OYTviS','User\x20(available\x20in\x20all\x20your\x20projects)','project','log'];_0x2a0b=function(){return _0x5ecb95;};return _0x2a0b();}import{join}from'path';import{existsSync}from'fs';import _0x1ae7f9 from'inquirer';import{skillup}from'../skillup.js';function _0x2af1(_0x40b835,_0x184422){_0x40b835=_0x40b835-0x11c;const _0x2a0bca=_0x2a0b();let _0x2af1bb=_0x2a0bca[_0x40b835];return _0x2af1bb;}import{runClaudeCommand,isMarketplaceAdded,isPluginInstalled}from'../utils/claudePlugin.js';import{getProjectRoot,getSkillsDir}from'../utils/claudeConfig.js';export async function ensureClaudePlugin(_0xa44395){const _0x4ad165=_0x2af1,_0x3bc3d2={'OxjEh':_0x4ad165(0x141),'dZICF':_0x4ad165(0x14d),'BsXWL':_0x4ad165(0x136),'WumoG':_0x4ad165(0x122),'niZzj':function(_0x5bb05f,_0x309216){return _0x5bb05f(_0x309216);},'SqCcF':function(_0x100ede,_0x3e43cb){return _0x100ede(_0x3e43cb);},'qLmBn':'plugin','ASoBC':'add','gzUkX':_0x4ad165(0x132),'GQuGz':'\x0aYou\x20can\x20install\x20manually\x20with:','jyAnC':_0x4ad165(0x147),'AOGCf':function(_0x56c83a){return _0x56c83a();},'kkbbf':'❌\x20Failed\x20to\x20install\x20plugin:','oSzuo':_0x4ad165(0x11f),'xvqxB':function(_0x452778,_0x283574){return _0x452778===_0x283574;},'TbtGu':'project','AvpZM':function(_0x2bf23d,_0x254769,_0x41b04d){return _0x2bf23d(_0x254769,_0x41b04d);},'dwogi':function(_0x2428ae){return _0x2428ae();},'vjbiq':_0x4ad165(0x13d),'jaEOK':_0x4ad165(0x148)},_0x1009ea=await isPluginInstalled(_0x3bc3d2['OxjEh']);if(_0x1009ea)return console[_0x4ad165(0x124)]('✓\x20Claude\x20Code\x20plugin\x20already\x20installed'),![];const _0xdc3166=existsSync(join(getProjectRoot(),_0x4ad165(0x138)));let _0x122451;if(_0xa44395)_0x122451=_0xa44395;else{if(_0xdc3166)_0x122451='project';else{console[_0x4ad165(0x124)](_0x3bc3d2['dZICF']);const _0x49b10f=await _0x1ae7f9[_0x4ad165(0x145)]([{'type':'list','name':_0x3bc3d2[_0x4ad165(0x14b)],'message':_0x4ad165(0x14e),'choices':[{'name':_0x3bc3d2[_0x4ad165(0x127)],'value':_0x4ad165(0x14f)},{'name':_0x4ad165(0x13a),'value':_0x4ad165(0x123)}],'default':'user'}]);_0x122451=_0x49b10f[_0x4ad165(0x136)];}}console['log'](_0x4ad165(0x11e)+_0x122451+'\x20level)...\x0a');const _0x160c1d=await _0x3bc3d2['niZzj'](isMarketplaceAdded,'trailhead');let _0x11d09e=_0x160c1d;if(_0x160c1d)console['log']('✓\x20Marketplace\x20already\x20added');else{const _0x427632=await _0x3bc3d2['SqCcF'](runClaudeCommand,[_0x3bc3d2[_0x4ad165(0x143)],_0x4ad165(0x133),_0x3bc3d2['ASoBC'],'ranger-testing/trailhead']);!_0x427632['success']?(console[_0x4ad165(0x11c)](_0x3bc3d2[_0x4ad165(0x154)],_0x427632['error']),console['log'](_0x3bc3d2[_0x4ad165(0x146)]),console['log']('\x20\x20claude\x20plugin\x20marketplace\x20add\x20ranger-testing/trailhead'),console[_0x4ad165(0x124)](_0x4ad165(0x150)+_0x122451)):_0x11d09e=!![];}if(_0x11d09e){const _0x33c7b7=await runClaudeCommand([_0x3bc3d2['qLmBn'],'install','ranger@trailhead',_0x3bc3d2[_0x4ad165(0x153)],_0x122451],{'cwd':_0x122451===_0x4ad165(0x123)?_0x3bc3d2['AOGCf'](getProjectRoot):undefined});if(!_0x33c7b7['success'])console[_0x4ad165(0x11c)](_0x3bc3d2[_0x4ad165(0x13f)],_0x33c7b7['error']),console['log'](_0x3bc3d2[_0x4ad165(0x146)]),console[_0x4ad165(0x124)]('\x20\x20claude\x20plugin\x20install\x20ranger@trailhead\x20--scope\x20'+_0x122451);else{console[_0x4ad165(0x124)](_0x3bc3d2[_0x4ad165(0x12d)]);const _0x2af590=[_0x4ad165(0x129),'enable','ranger@trailhead'];_0x3bc3d2[_0x4ad165(0x126)](_0x122451,_0x3bc3d2[_0x4ad165(0x14c)])&&_0x2af590[_0x4ad165(0x149)]('--scope',_0x4ad165(0x123));const _0x3ed66c=await _0x3bc3d2[_0x4ad165(0x14a)](runClaudeCommand,_0x2af590,{'captureOutput':!![],'cwd':_0x122451==='project'?_0x3bc3d2['dwogi'](getProjectRoot):undefined}),_0x11732c=_0x3ed66c[_0x4ad165(0x12a)]?.['includes'](_0x3bc3d2['vjbiq']);!_0x3ed66c[_0x4ad165(0x152)]&&!_0x11732c?console['error'](_0x3bc3d2[_0x4ad165(0x13b)],_0x3ed66c['error']):console[_0x4ad165(0x124)]('✓\x20Claude\x20Code\x20plugin\x20enabled');}}return!![];}export async function ensureClaudeSkills(_0x5cabd1){const _0x282239=_0x2af1,_0x3d1602={'UgUlJ':function(_0x5b4c90,_0x246d66){return _0x5b4c90(_0x246d66);},'LHwlt':'user','BzfVJ':'ranger','OFOBD':function(_0x32a555,_0x4feffe,_0x2fc620,_0xb9ad7d){return _0x32a555(_0x4feffe,_0x2fc620,_0xb9ad7d);},'SlqTn':_0x282239(0x123),'iaEnm':'SKILL.md','XiONC':function(_0x369f3f,_0x438423){return _0x369f3f||_0x438423;}},_0xfefadc=existsSync(join(_0x3d1602['UgUlJ'](getSkillsDir,_0x3d1602['LHwlt']),_0x3d1602[_0x282239(0x142)],_0x282239(0x13c))),_0x372c0d=_0x3d1602[_0x282239(0x12c)](existsSync,_0x3d1602['OFOBD'](join,_0x3d1602[_0x282239(0x12c)](getSkillsDir,_0x3d1602[_0x282239(0x128)]),_0x282239(0x120),_0x3d1602['iaEnm']));if(_0x3d1602[_0x282239(0x125)](_0xfefadc,_0x372c0d))return console[_0x282239(0x124)](_0x282239(0x139)),![];const _0x34b73c=existsSync(join(getProjectRoot(),'.claude'));let _0x35c0b2=!![];if(_0x5cabd1)await _0x3d1602['UgUlJ'](skillup,{'autoInstall':_0x5cabd1,'suppressUsage':!![]});else{if(_0x34b73c)await _0x3d1602[_0x282239(0x12c)](skillup,{'autoInstall':_0x3d1602['SlqTn'],'suppressUsage':!![]});else{const _0x592145=await _0x1ae7f9['prompt']([{'type':_0x282239(0x140),'name':'wantsSkillup','message':_0x282239(0x12f),'default':!![]}]);_0x35c0b2=_0x592145[_0x282239(0x11d)],_0x35c0b2&&await _0x3d1602[_0x282239(0x12c)](skillup,{'suppressUsage':!![]});}}return _0x35c0b2;}
@@ -1 +1 @@
1
- (function(_0x13875d,_0x99e454){const _0x154ad8=_0x1bfd,_0x13df7a=_0x13875d();while(!![]){try{const _0x4a2918=parseInt(_0x154ad8(0x1c5))/0x1+-parseInt(_0x154ad8(0x1c3))/0x2+parseInt(_0x154ad8(0x1c4))/0x3+-parseInt(_0x154ad8(0x1ce))/0x4*(parseInt(_0x154ad8(0x1d2))/0x5)+parseInt(_0x154ad8(0x1bb))/0x6+parseInt(_0x154ad8(0x1d6))/0x7+-parseInt(_0x154ad8(0x1c0))/0x8*(parseInt(_0x154ad8(0x1cf))/0x9);if(_0x4a2918===_0x99e454)break;else _0x13df7a['push'](_0x13df7a['shift']());}catch(_0x4b240e){_0x13df7a['push'](_0x13df7a['shift']());}}}(_0x258e,0x4f09b));function _0x1bfd(_0xbb4fb2,_0x51f2ac){_0xbb4fb2=_0xbb4fb2-0x1ba;const _0x258e6a=_0x258e();let _0x1bfdae=_0x258e6a[_0xbb4fb2];return _0x1bfdae;}import{join}from'path';import{existsSync}from'fs';function _0x258e(){const _0x5adcfa=['parse','PjoQL','837590eNSavF','UrLxY','@ranger-testing/opencode-plugin','lMSgW','3222660DxlHru','project','2931756eBcgHZ','IwqsX','Project\x20(shared\x20with\x20team\x20via\x20git)','prompt','$schema','789328jYjZNY','utf-8','list','662286VGXaNP','504555Gvnszo','267391HtrmOE','user','plugin','✓\x20OpenCode\x20plugin\x20configured','log','https://opencode.ai/config.json','error','isArray','opencode.json','8pHqntP','36QuIvur'];_0x258e=function(){return _0x5adcfa;};return _0x258e();}import{mkdir,readFile,writeFile}from'fs/promises';import _0x1b02f7 from'inquirer';import{getOpencodeConfigDir}from'../utils/opencodeConfig.js';export async function ensureOpencodePluginConfig(_0x549b66){const _0x56e538=_0x1bfd,_0x102f0e={'IwqsX':function(_0x13093c,_0x16772a){return _0x13093c(_0x16772a);},'nRGCH':_0x56e538(0x1cd),'PjoQL':'project','TIEDG':_0x56e538(0x1c2),'lMSgW':'User\x20(available\x20in\x20all\x20your\x20projects)','ggxyQ':_0x56e538(0x1c1),'UrLxY':'Failed\x20to\x20read\x20opencode.json','PDSka':'✓\x20OpenCode\x20plugin\x20already\x20configured'},_0x25f461=existsSync(join(_0x102f0e[_0x56e538(0x1bc)](getOpencodeConfigDir,_0x56e538(0x1ba)),_0x102f0e['nRGCH']));let _0x1faa0e;if(_0x549b66)_0x1faa0e=_0x549b66;else{if(_0x25f461)_0x1faa0e=_0x102f0e[_0x56e538(0x1d1)];else{console['log']('\x0a📦\x20OpenCode\x20Plugin\x0a');const _0x21e9ab=await _0x1b02f7[_0x56e538(0x1be)]([{'type':_0x102f0e['TIEDG'],'name':'pluginScope','message':'Where\x20should\x20the\x20plugin\x20be\x20installed?','choices':[{'name':_0x102f0e[_0x56e538(0x1d5)],'value':'user'},{'name':_0x56e538(0x1bd),'value':_0x56e538(0x1ba)}],'default':_0x56e538(0x1c6)}]);_0x1faa0e=_0x21e9ab['pluginScope'];}}const _0x44ec74=join(_0x102f0e[_0x56e538(0x1bc)](getOpencodeConfigDir,_0x1faa0e),'opencode.json'),_0x2ec300=_0x56e538(0x1d4),_0x19883c=_0x56e538(0x1ca);let _0x8b0eb1={};if(existsSync(_0x44ec74))try{const _0x1a7c0b=await readFile(_0x44ec74,_0x102f0e['ggxyQ']);_0x8b0eb1=JSON[_0x56e538(0x1d0)](_0x1a7c0b);}catch(_0x8f9c85){return console[_0x56e538(0x1cb)]('⚠\x20Failed\x20to\x20read\x20opencode.json.\x20Please\x20add\x20the\x20plugin\x20manually.'),{'configured':![],'scope':_0x1faa0e,'error':_0x102f0e[_0x56e538(0x1d3)],'details':_0x8f9c85};}const _0x4b8f85=Array[_0x56e538(0x1cc)](_0x8b0eb1[_0x56e538(0x1c7)])?_0x8b0eb1['plugin']:[];if(_0x4b8f85['includes'](_0x2ec300))return console[_0x56e538(0x1c9)](_0x102f0e['PDSka']),{'configured':![],'scope':_0x1faa0e};return _0x8b0eb1[_0x56e538(0x1bf)]=_0x8b0eb1['$schema']||_0x19883c,_0x8b0eb1[_0x56e538(0x1c7)]=[..._0x4b8f85,_0x2ec300],await mkdir(_0x102f0e['IwqsX'](getOpencodeConfigDir,_0x1faa0e),{'recursive':!![]}),await writeFile(_0x44ec74,JSON['stringify'](_0x8b0eb1,null,0x2)+'\x0a'),console[_0x56e538(0x1c9)](_0x56e538(0x1c8)),{'configured':!![],'scope':_0x1faa0e};}
1
+ (function(_0x3f93c2,_0x15e5a5){const _0x22d9af=_0x4ac1,_0x410883=_0x3f93c2();while(!![]){try{const _0x12ce4f=-parseInt(_0x22d9af(0x19d))/0x1*(parseInt(_0x22d9af(0x195))/0x2)+parseInt(_0x22d9af(0x194))/0x3+parseInt(_0x22d9af(0x1a7))/0x4+parseInt(_0x22d9af(0x199))/0x5+-parseInt(_0x22d9af(0x19f))/0x6+-parseInt(_0x22d9af(0x197))/0x7*(parseInt(_0x22d9af(0x1a1))/0x8)+parseInt(_0x22d9af(0x193))/0x9;if(_0x12ce4f===_0x15e5a5)break;else _0x410883['push'](_0x410883['shift']());}catch(_0x4c198d){_0x410883['push'](_0x410883['shift']());}}}(_0x2d34,0xcaffa));import{join}from'path';import{existsSync}from'fs';import{mkdir,readFile,writeFile}from'fs/promises';import _0x31e100 from'inquirer';import{getOpencodeConfigDir}from'../utils/opencodeConfig.js';function _0x2d34(){const _0x364cbc=['Tuzby','pluginScope','plugin','user','19147869frBMDn','223494wVhnIG','2DBEarc','hrxsz','14854avdJTT','ZlZFa','3170125PuMlDs','iALNM','Project\x20(shared\x20with\x20team\x20via\x20git)','error','1472399TuahZQ','@ranger-testing/opencode-plugin','648048NqOhTH','PNMHo','1904sKMfwg','✓\x20OpenCode\x20plugin\x20already\x20configured','parse','project','isArray','\x0a📦\x20OpenCode\x20Plugin\x0a','323444BwRzAO','stringify','$schema','opencode.json','list'];_0x2d34=function(){return _0x364cbc;};return _0x2d34();}function _0x4ac1(_0x3f2747,_0x37f66c){_0x3f2747=_0x3f2747-0x192;const _0x2d3431=_0x2d34();let _0x4ac166=_0x2d3431[_0x3f2747];return _0x4ac166;}export async function ensureOpencodePluginConfig(_0x56114c){const _0x53a898=_0x4ac1,_0x39703d={'Dthxb':function(_0x2723ac,_0x462db3,_0x46eb5f){return _0x2723ac(_0x462db3,_0x46eb5f);},'PNMHo':_0x53a898(0x1a4),'syige':_0x53a898(0x1a6),'ZlZFa':_0x53a898(0x1ab),'Tuzby':'Where\x20should\x20the\x20plugin\x20be\x20installed?','iALNM':'User\x20(available\x20in\x20all\x20your\x20projects)','nrugr':function(_0x764f3,_0x6170){return _0x764f3(_0x6170);},'zgDsH':_0x53a898(0x1aa),'ctRMN':'https://opencode.ai/config.json','hrxsz':'utf-8','FdDXL':'⚠\x20Failed\x20to\x20read\x20opencode.json.\x20Please\x20add\x20the\x20plugin\x20manually.','dtgTU':'✓\x20OpenCode\x20plugin\x20configured'},_0x1961b0=existsSync(_0x39703d['Dthxb'](join,getOpencodeConfigDir(_0x53a898(0x1a4)),_0x53a898(0x1aa)));let _0x158486;if(_0x56114c)_0x158486=_0x56114c;else{if(_0x1961b0)_0x158486=_0x39703d[_0x53a898(0x1a0)];else{console['log'](_0x39703d['syige']);const _0x532470=await _0x31e100['prompt']([{'type':_0x39703d[_0x53a898(0x198)],'name':_0x53a898(0x1ad),'message':_0x39703d[_0x53a898(0x1ac)],'choices':[{'name':_0x39703d[_0x53a898(0x19a)],'value':'user'},{'name':_0x53a898(0x19b),'value':_0x53a898(0x1a4)}],'default':_0x53a898(0x192)}]);_0x158486=_0x532470[_0x53a898(0x1ad)];}}const _0x29aa4b=join(_0x39703d['nrugr'](getOpencodeConfigDir,_0x158486),_0x39703d['zgDsH']),_0x49326c=_0x53a898(0x19e),_0x52650b=_0x39703d['ctRMN'];let _0x24b3d2={};if(existsSync(_0x29aa4b))try{const _0x265ef7=await readFile(_0x29aa4b,_0x39703d[_0x53a898(0x196)]);_0x24b3d2=JSON[_0x53a898(0x1a3)](_0x265ef7);}catch(_0x497051){return console[_0x53a898(0x19c)](_0x39703d['FdDXL']),{'configured':![],'scope':_0x158486,'error':'Failed\x20to\x20read\x20opencode.json','details':_0x497051};}const _0x416b7d=Array[_0x53a898(0x1a5)](_0x24b3d2[_0x53a898(0x1ae)])?_0x24b3d2['plugin']:[];if(_0x416b7d['includes'](_0x49326c))return console['log'](_0x53a898(0x1a2)),{'configured':![],'scope':_0x158486};return _0x24b3d2[_0x53a898(0x1a9)]=_0x24b3d2['$schema']||_0x52650b,_0x24b3d2['plugin']=[..._0x416b7d,_0x49326c],await _0x39703d['Dthxb'](mkdir,getOpencodeConfigDir(_0x158486),{'recursive':!![]}),await writeFile(_0x29aa4b,JSON[_0x53a898(0x1a8)](_0x24b3d2,null,0x2)+'\x0a'),console['log'](_0x39703d['dtgTU']),{'configured':!![],'scope':_0x158486};}
@@ -1 +1 @@
1
- function _0xf65b(_0x1913b8,_0x4e96d3){_0x1913b8=_0x1913b8-0x12d;var _0x4fb333=_0x4fb3();var _0xf65b5d=_0x4fb333[_0x1913b8];return _0xf65b5d;}(function(_0x1de2cd,_0x9c6734){var _0xaf143b=_0xf65b,_0x50d897=_0x1de2cd();while(!![]){try{var _0x57ea9e=-parseInt(_0xaf143b(0x132))/0x1+parseInt(_0xaf143b(0x133))/0x2+-parseInt(_0xaf143b(0x131))/0x3+parseInt(_0xaf143b(0x135))/0x4+-parseInt(_0xaf143b(0x130))/0x5+parseInt(_0xaf143b(0x134))/0x6*(parseInt(_0xaf143b(0x12d))/0x7)+parseInt(_0xaf143b(0x12e))/0x8;if(_0x57ea9e===_0x9c6734)break;else _0x50d897['push'](_0x50d897['shift']());}catch(_0x45592d){_0x50d897['push'](_0x50d897['shift']());}}}(_0x4fb3,0x38d60));function _0x4fb3(){var _0x4a5bb5=['4559560fPMLDh','\x20\x20ranger\x20profile\x20add\x20<name>\x0a','2111510zpBVrJ','972159GzzbSz','212869jSAUpI','405932sjEghz','12eMCCqC','32276yJYssW','To\x20set\x20up\x20a\x20fresh\x20profile,\x20run:\x0a','exit','For\x20CI\x20/\x20background\x20agents\x20and\x20other\x20setup\x20options,\x20see:\x0a','1438654CObAFR'];_0x4fb3=function(){return _0x4a5bb5;};return _0x4fb3();}export async function setupCi(_0x483cff,_0x2c2e18,_0x1446e9){var _0x1f0204=_0xf65b,_0x5dc5db={'XqMzl':function(_0xd0f9ae,_0x8582ff){return _0xd0f9ae+_0x8582ff;},'PYvUo':_0x1f0204(0x136),'KLnuH':'\x20\x20https://docs.ranger.net/main/concepts/profiles'};console['error'](_0x5dc5db['XqMzl']('ranger\x20setup\x20--ci\x20writes\x20to\x20the\x20legacy\x20.ranger/ci/\x20tree\x20which\x20is\x20no\x20longer\x20supported.\x0a'+'\x0a',_0x5dc5db['PYvUo'])+_0x1f0204(0x12f)+'\x0a'+_0x1f0204(0x138)+_0x5dc5db['KLnuH']),process[_0x1f0204(0x137)](0x1);}
1
+ function _0x460e(){var _0x1ac68e=['375415itenka','2226235kpRYjE','For\x20CI\x20/\x20background\x20agents\x20and\x20other\x20setup\x20options,\x20see:\x0a','DSjYN','PHRWw','POjAs','70LQNaaJ','890091VJNyRG','ahpIk','3wOwVKm','5624116HJiRSu','3080592ItpLSq','3765952xibVhA','12TVCGfr','6650518LMkfMj','error'];_0x460e=function(){return _0x1ac68e;};return _0x460e();}function _0x565b(_0x58f015,_0x2dc9fb){_0x58f015=_0x58f015-0x153;var _0x460eeb=_0x460e();var _0x565b9e=_0x460eeb[_0x58f015];return _0x565b9e;}(function(_0x235022,_0x57ef91){var _0x353e4e=_0x565b,_0x4909dd=_0x235022();while(!![]){try{var _0x4dd447=-parseInt(_0x353e4e(0x153))/0x1+parseInt(_0x353e4e(0x15e))/0x2+-parseInt(_0x353e4e(0x15c))/0x3*(parseInt(_0x353e4e(0x15d))/0x4)+-parseInt(_0x353e4e(0x154))/0x5+parseInt(_0x353e4e(0x160))/0x6*(parseInt(_0x353e4e(0x161))/0x7)+parseInt(_0x353e4e(0x15f))/0x8+parseInt(_0x353e4e(0x15a))/0x9*(-parseInt(_0x353e4e(0x159))/0xa);if(_0x4dd447===_0x57ef91)break;else _0x4909dd['push'](_0x4909dd['shift']());}catch(_0x410d54){_0x4909dd['push'](_0x4909dd['shift']());}}}(_0x460e,0xf23cc));export async function setupCi(_0x4d4ac5,_0x4a473d,_0x24e64c){var _0x564461=_0x565b,_0x8faacc={'DSjYN':function(_0x1af3f3,_0x55f1e9){return _0x1af3f3+_0x55f1e9;},'POjAs':function(_0x136005,_0x20088b){return _0x136005+_0x20088b;},'KDPrn':function(_0x1356a7,_0x3e49fd){return _0x1356a7+_0x3e49fd;},'ahpIk':function(_0x5a706b,_0x5973ed){return _0x5a706b+_0x5973ed;},'PHRWw':'ranger\x20setup\x20--ci\x20writes\x20to\x20the\x20legacy\x20.ranger/ci/\x20tree\x20which\x20is\x20no\x20longer\x20supported.\x0a','pjTxR':'To\x20set\x20up\x20a\x20fresh\x20profile,\x20run:\x0a'};console[_0x564461(0x162)](_0x8faacc[_0x564461(0x156)](_0x8faacc[_0x564461(0x158)](_0x8faacc['KDPrn'](_0x8faacc[_0x564461(0x15b)](_0x8faacc[_0x564461(0x156)](_0x8faacc[_0x564461(0x157)],'\x0a')+_0x8faacc['pjTxR'],'\x20\x20ranger\x20profile\x20add\x20<name>\x0a'),'\x0a'),_0x564461(0x155)),'\x20\x20https://docs.ranger.net/main/concepts/profiles')),process['exit'](0x1);}
@@ -1 +1 @@
1
- (function(_0x22cf23,_0x521de2){const _0x13b67a=_0x1bb8,_0x1153dc=_0x22cf23();while(!![]){try{const _0x5ed6d6=parseInt(_0x13b67a(0x169))/0x1+parseInt(_0x13b67a(0x163))/0x2*(parseInt(_0x13b67a(0x162))/0x3)+-parseInt(_0x13b67a(0x173))/0x4*(-parseInt(_0x13b67a(0x168))/0x5)+-parseInt(_0x13b67a(0x159))/0x6+parseInt(_0x13b67a(0x15e))/0x7*(parseInt(_0x13b67a(0x157))/0x8)+parseInt(_0x13b67a(0x179))/0x9+-parseInt(_0x13b67a(0x164))/0xa;if(_0x5ed6d6===_0x521de2)break;else _0x1153dc['push'](_0x1153dc['shift']());}catch(_0x5bb008){_0x1153dc['push'](_0x1153dc['shift']());}}}(_0x171a,0x9aba4));import{basename}from'path';import _0x1235c1 from'inquirer';import{getToken}from'./utils/keychain.js';import{installSkill}from'./utils/skills.js';import{getCurrentVersion}from'./utils/version.js';import{getClaudeConfigDir,getProjectRoot}from'./utils/claudeConfig.js';import{getOpencodeConfigDir}from'./utils/opencodeConfig.js';function _0x1bb8(_0x4b3484,_0x2290d1){_0x4b3484=_0x4b3484-0x156;const _0x171ab5=_0x171a();let _0x1bb884=_0x171ab5[_0x4b3484];return _0x1bb884;}function _0x171a(){const _0x35a924=['autoInstall','rqtBe','4628132JoChtA','KOxkG','\x20successfully!\x0a','opencode','claude','\x0a🎯\x20Ranger\x20Skill\x20Setup\x0a','6200217CeCyXB','All\x20projects\x20(','wnfsq','\x0a✅\x20Installed\x20','message','Where\x20should\x20skills\x20be\x20installed?','SkZfW','user','\x0a⚠️\x20\x20No\x20skills\x20were\x20installed.\x0a','511264yGZPQN','qfFya','4576122bKnVbp','\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!','log','/.opencode/skills/','user-level','63RojOxp','isTTY','\x20\x203.\x20Run:\x20ranger\x20skillup','To\x20use:','3027RfnFXi','2336sFdjtf','25834120LMMDgk','project','warn','installLevel','5QfoWBi','380233WCabSQ','/skills/','project-level','DHrmP','❌\x20No\x20Ranger\x20API\x20token\x20found.\x0a','MKBSO','To\x20get\x20started:','\x20<your-api-token>'];_0x171a=function(){return _0x35a924;};return _0x171a();}export async function skillup(_0x24598c={}){const _0x2e99a8=_0x1bb8,_0xbbbc15={'zmhKD':function(_0x5b0930){return _0x5b0930();},'KeDVM':_0x2e99a8(0x16d),'rqtBe':_0x2e99a8(0x16f),'MKBSO':_0x2e99a8(0x176),'qfFya':'✓\x20Found\x20API\x20token','wnfsq':function(_0x2156bb,_0x4b1867){return _0x2156bb===_0x4b1867;},'XZxuD':function(_0x3a203b){return _0x3a203b();},'saIeL':_0x2e99a8(0x17e),'HwYJi':_0x2e99a8(0x180),'OjVrr':function(_0x15800c,_0x2aca67,_0x4ccc23){return _0x15800c(_0x2aca67,_0x4ccc23);},'ytxaC':'ranger','KOxkG':function(_0x56af8b,_0x4ed60f){return _0x56af8b instanceof _0x4ed60f;},'JtlHM':function(_0x33fb93,_0x2bb434){return _0x33fb93>_0x2bb434;},'HdvBo':function(_0x2d2ac6,_0x2647b6){return _0x2d2ac6===_0x2647b6;},'DHrmP':_0x2e99a8(0x16b),'aflPn':'\x20\x20-\x20Start\x20OpenCode\x20and\x20run\x20the\x20`ranger_enable`\x20tool\x20to\x20enable\x20hooks.','SkZfW':_0x2e99a8(0x156)};console['log'](_0x2e99a8(0x178));const _0x529ee2=_0x24598c['platform']??_0x2e99a8(0x177),_0xdd10d1=await _0xbbbc15['zmhKD'](getToken);if(!_0xdd10d1){console['log'](_0xbbbc15['KeDVM']),console['log'](_0xbbbc15[_0x2e99a8(0x172)]),console[_0x2e99a8(0x15b)]('\x20\x201.\x20Get\x20your\x20API\x20token\x20from\x20https://dashboard.ranger.net/cli'),console[_0x2e99a8(0x15b)]('\x20\x202.\x20Run:\x20ranger\x20setup'+(_0x529ee2===_0xbbbc15['MKBSO']?'\x20--opencode':'')+_0x2e99a8(0x170)),console[_0x2e99a8(0x15b)](_0x2e99a8(0x160)+(_0x529ee2===_0x2e99a8(0x176)?'\x20--opencode':'')+'\x0a');return;}console[_0x2e99a8(0x15b)](_0xbbbc15[_0x2e99a8(0x158)]);const _0x4246cf=getProjectRoot(),_0x184654=basename(_0x4246cf),_0x46c926=_0xbbbc15[_0x2e99a8(0x17b)](_0x529ee2,_0xbbbc15['MKBSO'])?getOpencodeConfigDir(_0x2e99a8(0x180))+_0x2e99a8(0x16a):_0xbbbc15['XZxuD'](getClaudeConfigDir)+'/skills/',_0x54970e=_0xbbbc15['wnfsq'](_0x529ee2,_0xbbbc15[_0x2e99a8(0x16e)])?_0x4246cf+_0x2e99a8(0x15c):_0x4246cf+'/.claude/skills/',_0x194a5d=process['stdin']['isTTY']&&process['stdout'][_0x2e99a8(0x15f)];let _0xc4b988;if(_0x24598c[_0x2e99a8(0x171)])_0xc4b988=_0x24598c[_0x2e99a8(0x171)];else{if(_0x194a5d){const _0x454b27=await _0x1235c1['prompt']([{'type':'list','name':_0x2e99a8(0x167),'message':_0xbbbc15['saIeL'],'choices':[{'name':_0x2e99a8(0x17a)+_0x46c926+')','value':_0xbbbc15['HwYJi']},{'name':'This\x20project\x20only\x20('+_0x54970e+')','value':_0x2e99a8(0x165)}]}]);_0xc4b988=_0x454b27['installLevel'];}else _0xc4b988=_0x2e99a8(0x165),console['log']('Non-interactive\x20mode:\x20Installing\x20skills\x20at\x20project\x20level\x20('+_0x54970e+')');}let _0x3c9e86=0x0;const _0xedd6e=_0xbbbc15['zmhKD'](getCurrentVersion);console[_0x2e99a8(0x15b)]('\x0a📦\x20Installing\x20skills...\x0a');try{const _0x53ecb0=await _0xbbbc15['OjVrr'](installSkill,_0xbbbc15['ytxaC'],{'cliVersion':_0xedd6e,'level':_0xc4b988,'platform':_0x529ee2});_0x53ecb0&&_0x3c9e86++;}catch(_0x1daa8d){console[_0x2e99a8(0x166)]('\x20\x20Failed\x20to\x20install\x20ranger\x20skill:',_0xbbbc15[_0x2e99a8(0x174)](_0x1daa8d,Error)?_0x1daa8d[_0x2e99a8(0x17d)]:_0x1daa8d);}if(_0xbbbc15['JtlHM'](_0x3c9e86,0x0)){const _0xc6e71f=_0xbbbc15['HdvBo'](_0xc4b988,'user')?_0x2e99a8(0x15d):_0xbbbc15[_0x2e99a8(0x16c)];console[_0x2e99a8(0x15b)](_0x2e99a8(0x17c)+_0x3c9e86+'\x20'+_0xc6e71f+'\x20skill'+(_0x3c9e86>0x1?'s':'')+_0x2e99a8(0x175)),!_0x24598c['suppressUsage']&&(console[_0x2e99a8(0x15b)](_0x2e99a8(0x161)),_0x529ee2===_0x2e99a8(0x176)?console['log'](_0xbbbc15['aflPn']):console[_0x2e99a8(0x15b)](_0x2e99a8(0x15a)));}else console[_0x2e99a8(0x15b)](_0xbbbc15[_0x2e99a8(0x17f)]);}
1
+ function _0x7afe(){const _0x3742b0=['VWCKM','mZUHQ','3205645IDtpzL','12NyGuZQ','cpdYv','\x0a🎯\x20Ranger\x20Skill\x20Setup\x0a','8992090HOJkNV','Where\x20should\x20skills\x20be\x20installed?','isTTY','iKVYw','1830376sXQlvy','oIQLI','user-level','56527dYeEDX','project','\x20\x20Failed\x20to\x20install\x20ranger\x20skill:','\x20<your-api-token>','list','GaZEb','18juCndF','warn','Non-interactive\x20mode:\x20Installing\x20skills\x20at\x20project\x20level\x20(','/.opencode/skills/','\x20\x201.\x20Get\x20your\x20API\x20token\x20from\x20https://dashboard.ranger.net/cli','autoInstall','installLevel','message','HKLCC','RsywF','4328856RvWRuf','\x20\x202.\x20Run:\x20ranger\x20setup','\x20\x20-\x20Start\x20OpenCode\x20and\x20run\x20the\x20`ranger_enable`\x20tool\x20to\x20enable\x20hooks.','stdin','\x20--opencode','/skills/','UCkyq','claude','rLrFp','QDNFg','cCjqV','log','30ElakNH','\x0a⚠️\x20\x20No\x20skills\x20were\x20installed.\x0a','6065148XUTPak','CGcnr','4573980VTICWP','user','To\x20get\x20started:'];_0x7afe=function(){return _0x3742b0;};return _0x7afe();}(function(_0x1c7b1f,_0x47b1f2){const _0x597a76=_0x2c41,_0x5f49d1=_0x1c7b1f();while(!![]){try{const _0x3f8994=parseInt(_0x597a76(0x15d))/0x1*(-parseInt(_0x597a76(0x149))/0x2)+parseInt(_0x597a76(0x14d))/0x3+parseInt(_0x597a76(0x14b))/0x4+-parseInt(_0x597a76(0x152))/0x5*(-parseInt(_0x597a76(0x153))/0x6)+-parseInt(_0x597a76(0x13d))/0x7+-parseInt(_0x597a76(0x15a))/0x8+-parseInt(_0x597a76(0x133))/0x9*(parseInt(_0x597a76(0x156))/0xa);if(_0x3f8994===_0x47b1f2)break;else _0x5f49d1['push'](_0x5f49d1['shift']());}catch(_0xb4be97){_0x5f49d1['push'](_0x5f49d1['shift']());}}}(_0x7afe,0xca8ed));import{basename}from'path';import _0xc68913 from'inquirer';import{getToken}from'./utils/keychain.js';import{installSkill}from'./utils/skills.js';import{getCurrentVersion}from'./utils/version.js';import{getClaudeConfigDir,getProjectRoot}from'./utils/claudeConfig.js';function _0x2c41(_0x9ae6a2,_0x3890fc){_0x9ae6a2=_0x9ae6a2-0x12f;const _0x7afe10=_0x7afe();let _0x2c41e9=_0x7afe10[_0x9ae6a2];return _0x2c41e9;}import{getOpencodeConfigDir}from'./utils/opencodeConfig.js';export async function skillup(_0x21e9c6={}){const _0x426e90=_0x2c41,_0x58d64c={'fuAnt':_0x426e90(0x155),'RsywF':'❌\x20No\x20Ranger\x20API\x20token\x20found.\x0a','NdNwZ':_0x426e90(0x14f),'cpdYv':_0x426e90(0x137),'GaZEb':'opencode','rLrFp':function(_0x3b83bf,_0x3ec91b){return _0x3b83bf===_0x3ec91b;},'iKVYw':function(_0x1857be){return _0x1857be();},'HKLCC':function(_0x3ffbaa,_0x4145d7){return _0x3ffbaa(_0x4145d7);},'CGcnr':_0x426e90(0x131),'WjCpf':_0x426e90(0x139),'QDNFg':'user','cCjqV':_0x426e90(0x15e),'VWCKM':function(_0x1ad6fb){return _0x1ad6fb();},'wZnoJ':'\x0a📦\x20Installing\x20skills...\x0a','YaQFD':function(_0x10a636,_0x20f1be,_0x4d59eb){return _0x10a636(_0x20f1be,_0x4d59eb);},'UCkyq':'ranger','qJzFj':_0x426e90(0x12f),'mZUHQ':_0x426e90(0x15c),'BoRyR':'project-level','tSnDP':function(_0x4c59cb,_0x5d2ff5){return _0x4c59cb>_0x5d2ff5;},'oIQLI':function(_0x21c457,_0x472934){return _0x21c457===_0x472934;}};console['log'](_0x58d64c['fuAnt']);const _0x33caf5=_0x21e9c6['platform']??_0x426e90(0x144),_0x10553d=await getToken();if(!_0x10553d){console[_0x426e90(0x148)](_0x58d64c[_0x426e90(0x13c)]),console['log'](_0x58d64c['NdNwZ']),console['log'](_0x58d64c[_0x426e90(0x154)]),console[_0x426e90(0x148)](_0x426e90(0x13e)+(_0x33caf5===_0x58d64c[_0x426e90(0x132)]?_0x426e90(0x141):'')+_0x426e90(0x130)),console[_0x426e90(0x148)]('\x20\x203.\x20Run:\x20ranger\x20skillup'+(_0x58d64c[_0x426e90(0x145)](_0x33caf5,_0x58d64c['GaZEb'])?'\x20--opencode':'')+'\x0a');return;}console['log']('✓\x20Found\x20API\x20token');const _0x5744c1=_0x58d64c[_0x426e90(0x159)](getProjectRoot),_0x15050d=_0x58d64c[_0x426e90(0x13b)](basename,_0x5744c1),_0x1fdaa1=_0x33caf5==='opencode'?getOpencodeConfigDir(_0x426e90(0x14e))+'/skills/':getClaudeConfigDir()+_0x426e90(0x142),_0x25035e=_0x33caf5===_0x58d64c[_0x426e90(0x132)]?_0x5744c1+_0x426e90(0x136):_0x5744c1+'/.claude/skills/',_0x2c5999=process[_0x426e90(0x140)][_0x426e90(0x158)]&&process['stdout'][_0x426e90(0x158)];let _0x19ea10;if(_0x21e9c6[_0x426e90(0x138)])_0x19ea10=_0x21e9c6['autoInstall'];else{if(_0x2c5999){const _0x13ff8a=await _0xc68913['prompt']([{'type':_0x58d64c[_0x426e90(0x14c)],'name':_0x58d64c['WjCpf'],'message':_0x426e90(0x157),'choices':[{'name':'All\x20projects\x20('+_0x1fdaa1+')','value':_0x58d64c[_0x426e90(0x146)]},{'name':'This\x20project\x20only\x20('+_0x25035e+')','value':_0x58d64c[_0x426e90(0x147)]}]}]);_0x19ea10=_0x13ff8a['installLevel'];}else _0x19ea10=_0x58d64c['cCjqV'],console['log'](_0x426e90(0x135)+_0x25035e+')');}let _0x5830c7=0x0;const _0x4f4d7a=_0x58d64c[_0x426e90(0x150)](getCurrentVersion);console[_0x426e90(0x148)](_0x58d64c['wZnoJ']);try{const _0x428da6=await _0x58d64c['YaQFD'](installSkill,_0x58d64c[_0x426e90(0x143)],{'cliVersion':_0x4f4d7a,'level':_0x19ea10,'platform':_0x33caf5});_0x428da6&&_0x5830c7++;}catch(_0x3ea946){console[_0x426e90(0x134)](_0x58d64c['qJzFj'],_0x3ea946 instanceof Error?_0x3ea946[_0x426e90(0x13a)]:_0x3ea946);}if(_0x5830c7>0x0){const _0x273c5d=_0x58d64c['rLrFp'](_0x19ea10,_0x426e90(0x14e))?_0x58d64c[_0x426e90(0x151)]:_0x58d64c['BoRyR'];console[_0x426e90(0x148)]('\x0a✅\x20Installed\x20'+_0x5830c7+'\x20'+_0x273c5d+'\x20skill'+(_0x58d64c['tSnDP'](_0x5830c7,0x1)?'s':'')+'\x20successfully!\x0a'),!_0x21e9c6['suppressUsage']&&(console[_0x426e90(0x148)]('To\x20use:'),_0x58d64c[_0x426e90(0x15b)](_0x33caf5,'opencode')?console[_0x426e90(0x148)](_0x426e90(0x13f)):console[_0x426e90(0x148)]('\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[_0x426e90(0x148)](_0x426e90(0x14a));}
@@ -1 +1 @@
1
- const _0x4f7b4=_0x410f;function _0x53da(){const _0x11e864=['LrMTx','\x0aagent\x20like\x20usual.\x20Claude\x20will\x20create\x20a\x20feature\x20review\x20with','yGNjD','XOhRT','cli.js','\x0aSkipping\x20profile\x20setup\x20(--skip-auth).\x20Run\x20`ranger\x20setup`\x20with\x20auth\x20to\x20add\x20a\x20profile\x20later.\x0a',')\x20of\x20the\x20Playwright\x20Chromium\x20browser\x20is\x20not\x20installed.\x20Install\x20it\x20now?','DWaIz','env','npx','\x0ascenarios\x20describing\x20what\x20to\x20verify\x20and\x20then\x20run\x20browser','✓\x20Authenticated\x20to\x20','plugin','Authentication\x20failed:\x20','\x1b[1m','jjkxg','.\x20Please\x20check\x20your\x20network\x20connection\x20and\x20server\x20URL.','grgAe','aaqhj','\x0averification\x20to\x20check\x20its\x20work\x20as\x20it\x20builds.','\x20and\x20prompt\x20the\x20coding','skills','rhqCi','playwright/package.json','force','\x20is\x20no\x20longer\x20supported.\x20','✓\x20Already\x20authenticated\x20to\x20','message','The\x20required\x20version\x20(','SOHKi','247129mnCGUg','\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','playwright@','error','\x0a✅\x20Ranger\x20setup\x20complete!\x0a','\x20\x20npx\x20playwright@','20ZxmxLK','ready','fhFQg','LoutQ','\x0aNon-interactive\x20mode:\x20Auto-installing\x20Playwright\x20Chromium\x20','✓\x20~/.ranger/\x20directory\x20already\x20exists','\x20\x20Chromium\x20install\x20attempt\x20','\x0a\x20\x20https://docs.ranger.net/main/concepts/profiles','1079487AYvCTw','580952BjhaBi','user','sQqoz','pTjko','dTFRj','log','JbWxP','SIGKILL','url','chromium','10652257IMlUsQ','mdtAX','\x20install\x20chromium','skipAuth','win32','1.56.1','nyscC','YHbwZ','\x0aInstalling\x20Chromium\x20browser...\x0a','skipped','Failed\x20to\x20connect\x20to\x20MCP\x20server:\x20','auth','warn','1364980dvIyOp','2WNGlhP','version','withDeps','60VpgLZI','close','verification\x20to\x20check\x20its\x20work\x20as\x20it\x20builds.','resolve','✓\x20Skipping\x20Chromium\x20check\x20(--skip-chromium)','trackPhaseEnd','oIiCC','54jBqUMm','success','GUOIq','YvGRv','\x0a❌\x20Failed\x20to\x20install\x20Chromium:','scope','and\x20prompt\x20the\x20agent\x20like\x20usual.\x20Ranger\x20will\x20create\x20a\x20feature\x20review','GITHUB_ENV','UORpI','isTTY','YCoYa','152173pCxPfU','FhcME','ranger','existing_token','Failed\x20to\x20validate\x20provisioned\x20API\x20key:\x20','QvhRe','inherit','vnHZo','\x20\x20\x20\x20RANGER_CHROMIUM_INSTALL_TIMEOUT_MS=1800000\x20ranger\x20setup\x20deps','opencode','Could\x20not\x20determine\x20local\x20Playwright\x20version.\x20Install\x20Playwright\x20Chromium\x20using\x20fallback\x20version\x20','qabxg','JmPCG','project-scope\x20setup\x20obsolete).\x20Drop\x20the\x20--scope\x20flag\x20or\x20pass\x20--scope=user.','kill','trackPhaseStart','nrlaD','skipChromium','aHSPO','\x20(fallback\x20version)','rAXuI','cyloz','method','tPglW','lByln','profile','kFQiO','SeaGa','device_auth','40206sDQvaa','\x20now?','xeWLz'];_0x53da=function(){return _0x11e864;};return _0x53da();}(function(_0x4b2bbe,_0x16629a){const _0x25b23d=_0x410f,_0x64ed64=_0x4b2bbe();while(!![]){try{const _0x4dca27=-parseInt(_0x25b23d(0x145))/0x1*(parseInt(_0x25b23d(0x16c))/0x2)+parseInt(_0x25b23d(0x124))/0x3*(parseInt(_0x25b23d(0x16f))/0x4)+-parseInt(_0x25b23d(0x16b))/0x5+parseInt(_0x25b23d(0x176))/0x6*(-parseInt(_0x25b23d(0x181))/0x7)+-parseInt(_0x25b23d(0x154))/0x8+-parseInt(_0x25b23d(0x153))/0x9*(parseInt(_0x25b23d(0x14b))/0xa)+parseInt(_0x25b23d(0x15e))/0xb;if(_0x4dca27===_0x16629a)break;else _0x64ed64['push'](_0x64ed64['shift']());}catch(_0x570e9f){_0x64ed64['push'](_0x64ed64['shift']());}}}(_0x53da,0x22750));import{mkdir,writeFile}from'fs/promises';import{join,dirname}from'path';import{existsSync}from'fs';import{createRequire}from'module';import _0x3dfe89 from'inquirer';import{getToken,storeToken}from'./utils/keychain.js';import{getCurrentUser}from'./utils/userApi.js';import{chromium}from'playwright';import{addEnv}from'./addEnv.js';import{getRangerHomeDir,findGitRoot}from'./utils/rangerRoot.js';import{runDeviceAuthFlow}from'./utils/deviceAuth.js';import{findExistingEnv}from'./utils/settings.js';import{getCurrentVersion}from'./utils/version.js';import{ensureClaudePlugin,ensureClaudeSkills}from'./setup/claude.js';import{ensureOpencodePluginConfig}from'./setup/opencode.js';import{installSkill}from'./utils/skills.js';function _0x410f(_0x321f70,_0x217a57){_0x321f70=_0x321f70-0x122;const _0x53da24=_0x53da();let _0x410f0a=_0x53da24[_0x321f70];return _0x410f0a;}import{spawn}from'child_process';const require=createRequire(import.meta.url);export const PLAYWRIGHT_CHROMIUM_INSTALL_FALLBACK_VERSION=_0x4f7b4(0x163);const bold=_0x2941a7=>_0x4f7b4(0x135)+_0x2941a7+'\x1b[0m';export function getPlaywrightVersion(){const _0x5c3eba=_0x4f7b4,_0x4b89aa={'EJfDT':_0x5c3eba(0x13e),'TpAdB':function(_0x3b8766,_0x1be2aa){return _0x3b8766(_0x1be2aa);}};try{const _0x1c131e=require['resolve'](_0x4b89aa['EJfDT']),_0x27ac41=_0x4b89aa['TpAdB'](require,_0x1c131e);return _0x27ac41[_0x5c3eba(0x16d)];}catch{return null;}}function resolveBundledPlaywrightCli(){const _0x80065f=_0x4f7b4,_0x55e39d={'rAXuI':_0x80065f(0x12b),'rhqCi':function(_0x4e7ca6,_0x270d48){return _0x4e7ca6(_0x270d48);}};try{const _0x4e10bb=join(dirname(require[_0x80065f(0x172)]('playwright/package.json')),_0x55e39d[_0x80065f(0x195)]);return _0x55e39d[_0x80065f(0x13d)](existsSync,_0x4e10bb)?_0x4e10bb:null;}catch{return null;}}const CHROMIUM_INSTALL_TIMEOUT_MS=Number(process[_0x4f7b4(0x12f)]['RANGER_CHROMIUM_INSTALL_TIMEOUT_MS'])||0x927c0;class ChromiumInstallTimeoutError extends Error{}export async function installChromiumBinary(_0x4093c5,_0x17e4c1=![]){const _0x76c847=_0x4f7b4,_0x3ae105={'HeMvz':function(_0x58156a){return _0x58156a();},'dNXdK':'install','vbhSw':function(_0xfbae0b,_0xf3b749,_0x43d20a){return _0xfbae0b(_0xf3b749,_0x43d20a);},'nyscC':function(_0x45732e,_0x2a0788){return _0x45732e+_0x2a0788;},'TautD':function(_0x3fc041,_0x4fcc59){return _0x3fc041/_0x4fcc59;},'nrlaD':function(_0x21acd7,_0x56340b){return _0x21acd7 instanceof _0x56340b;}},_0x4ce04c=_0x3ae105['HeMvz'](resolveBundledPlaywrightCli),_0x5d8978=_0x4ce04c?process['execPath']:_0x76c847(0x130),_0xa40b43=[_0x4ce04c??_0x76c847(0x147)+_0x4093c5,_0x3ae105['dNXdK'],..._0x17e4c1?['--with-deps']:[],'chromium'];let _0x189ff1=![];for(let _0x4adcb4=0x1;;_0x4adcb4++){try{await _0x3ae105['vbhSw'](runChromiumInstall,_0x5d8978,_0xa40b43);return;}catch(_0x458b5f){_0x458b5f instanceof ChromiumInstallTimeoutError&&!_0x189ff1&&(_0x189ff1=!![],console[_0x76c847(0x159)](_0x3ae105[_0x76c847(0x164)]('\x0a\x20\x20Chromium\x20install\x20timed\x20out\x20(limit\x20'+Math['round'](_0x3ae105['TautD'](CHROMIUM_INSTALL_TIMEOUT_MS,0x3e8))+'s).\x20On\x20a\x20slow\x20or\x20proxied\x20connection,\x20raise\x20the\x20limit\x20and\x20retry,\x20e.g.:\x0a',_0x76c847(0x189))));if(_0x4adcb4>=0x3)throw _0x458b5f;const _0xc25d19=_0x3ae105[_0x76c847(0x191)](_0x458b5f,Error)?_0x458b5f[_0x76c847(0x142)]:String(_0x458b5f);console['log'](_0x76c847(0x151)+_0x4adcb4+'\x20failed\x20('+_0xc25d19+');\x20retrying...');}}}function runChromiumInstall(_0x447239,_0x4fbd2f){const _0x2794be={'VOjAE':function(_0x47a63a,_0x188c40){return _0x47a63a(_0x188c40);},'GUOIq':function(_0x3f6f83,_0x2619c6){return _0x3f6f83/_0x2619c6;},'LbZeJ':function(_0x3964cc,_0x828a74){return _0x3964cc===_0x828a74;},'xeWLz':function(_0x58a0a8){return _0x58a0a8();},'YCoYa':function(_0x572b78,_0x568da3){return _0x572b78(_0x568da3);},'qNhDu':'ignore','KFfFR':function(_0x1a2582,_0x1b6255){return _0x1a2582===_0x1b6255;},'JbWxP':'error'};return new Promise((_0x287191,_0x16eec6)=>{const _0x15afa5=_0x410f,_0x41a2fc=spawn(_0x447239,_0x4fbd2f,{'stdio':[_0x2794be['qNhDu'],_0x15afa5(0x187),'inherit'],'shell':_0x2794be['KFfFR'](process['platform'],_0x15afa5(0x162))}),_0x4ef4b5=setTimeout(()=>{const _0x4498d5=_0x15afa5;_0x41a2fc[_0x4498d5(0x18f)](_0x4498d5(0x15b)),_0x2794be['VOjAE'](_0x16eec6,new ChromiumInstallTimeoutError('Chromium\x20install\x20timed\x20out\x20after\x20'+Math['round'](_0x2794be[_0x4498d5(0x178)](CHROMIUM_INSTALL_TIMEOUT_MS,0x3e8))+'s'));},CHROMIUM_INSTALL_TIMEOUT_MS);_0x41a2fc['on'](_0x15afa5(0x170),_0x7c049a=>{const _0x226052=_0x15afa5;clearTimeout(_0x4ef4b5);if(_0x2794be['LbZeJ'](_0x7c049a,0x0))_0x2794be[_0x226052(0x126)](_0x287191);else _0x2794be[_0x226052(0x180)](_0x16eec6,new Error('Installation\x20failed\x20with\x20exit\x20code\x20'+_0x7c049a));}),_0x41a2fc['on'](_0x2794be[_0x15afa5(0x15a)],_0x2e41b0=>{clearTimeout(_0x4ef4b5),_0x16eec6(_0x2e41b0);});});}export async function authenticate(_0x24ddb9){const _0x2d13a1=_0x4f7b4,_0x54ba2a={'FnVoC':function(_0x39d9ee){return _0x39d9ee();},'zcGIC':function(_0x4524a1,_0xe1abba){return _0x4524a1(_0xe1abba);},'DWaIz':function(_0x23e13f){return _0x23e13f();},'oIiCC':function(_0xde2c44,_0x3efbdb){return _0xde2c44 instanceof _0x3efbdb;},'GSmpt':function(_0x3aecde,_0x49cb9f){return _0x3aecde(_0x49cb9f);},'XOhRT':function(_0x2032a2,_0x3ac251){return _0x2032a2(_0x3ac251);},'Wqthb':'✓\x20Exported\x20credentials\x20for\x20CI','dTFRj':'✓\x20Stored\x20credentials\x20locally'};if(!_0x24ddb9){const _0x4c79a3=await _0x54ba2a['FnVoC'](getToken);if(_0x4c79a3){const _0x228c75=await _0x54ba2a['zcGIC'](getCurrentUser,_0x4c79a3);if(_0x228c75['success'])return console[_0x2d13a1(0x159)](_0x2d13a1(0x141)+_0x228c75['user']['organizationName']),{'token':_0x4c79a3,'method':_0x2d13a1(0x184)};}try{_0x24ddb9=await _0x54ba2a[_0x2d13a1(0x12e)](runDeviceAuthFlow);}catch(_0x40727f){throw new Error(_0x2d13a1(0x134)+(_0x54ba2a[_0x2d13a1(0x175)](_0x40727f,Error)?_0x40727f['message']:_0x40727f));}const _0x2c9734=await _0x54ba2a['GSmpt'](getCurrentUser,_0x24ddb9);if(!_0x2c9734[_0x2d13a1(0x177)])throw new Error(_0x2d13a1(0x185)+_0x2c9734[_0x2d13a1(0x148)]);return console['log'](_0x2d13a1(0x132)+_0x2c9734['user']['organizationName']),{'token':_0x24ddb9,'method':_0x2d13a1(0x123)};}console['log']('Validating\x20API\x20token...');const _0x11798a=await getCurrentUser(_0x24ddb9);if(!_0x11798a[_0x2d13a1(0x177)]){if(_0x11798a['status'])throw new Error(_0x2d13a1(0x134)+_0x11798a[_0x2d13a1(0x148)]+'.\x20Please\x20check\x20your\x20API\x20token\x20and\x20try\x20again.');else throw new Error(_0x2d13a1(0x168)+_0x11798a['error']+_0x2d13a1(0x137));}return console['log']('✓\x20Authenticated\x20to\x20'+_0x11798a['user']['organizationName']),await _0x54ba2a[_0x2d13a1(0x12a)](storeToken,_0x24ddb9),console[_0x2d13a1(0x159)](process[_0x2d13a1(0x12f)][_0x2d13a1(0x17d)]?_0x54ba2a['Wqthb']:_0x54ba2a[_0x2d13a1(0x158)]),{'token':_0x24ddb9,'method':'provided_token'};}export async function ensureRangerDir(_0x469416){const _0x4c49fd=_0x4f7b4,_0x29f8b1={'GzmJa':function(_0x33ba23,_0x4b8950){return _0x33ba23(_0x4b8950);}};void _0x469416;const _0xd0552d=getRangerHomeDir();return!_0x29f8b1['GzmJa'](existsSync,_0xd0552d)?(await mkdir(_0xd0552d,{'recursive':!![]}),console[_0x4c49fd(0x159)]('✓\x20Created\x20~/.ranger/\x20directory'),{'path':_0xd0552d,'installed':!![]}):(console['log'](_0x4c49fd(0x150)),{'path':_0xd0552d,'installed':![]});}export async function ensureChromium(_0x13f303=![]){const _0x574b60=_0x4f7b4,_0x136c0f={'YHbwZ':'✓\x20Playwright\x20Chromium\x20browser\x20found','XvoIu':function(_0x33dceb,_0x5b73a1){return _0x33dceb??_0x5b73a1;},'LrMTx':'install','FhcME':_0x574b60(0x194),'nCNjx':_0x574b60(0x17a),'SOHKi':function(_0x107d4f,_0x509f37){return _0x107d4f instanceof _0x509f37;},'QvhRe':'You\x20will\x20need\x20to\x20install\x20it\x20before\x20using\x20Ranger:'};let _0x2b064f=![];try{const _0x582957=chromium['executablePath']();_0x2b064f=existsSync(_0x582957);}catch{_0x2b064f=![];}if(_0x2b064f)return console[_0x574b60(0x159)](_0x136c0f[_0x574b60(0x165)]),![];const _0x10ffee=getPlaywrightVersion(),_0x577f34=_0x136c0f['XvoIu'](_0x10ffee,PLAYWRIGHT_CHROMIUM_INSTALL_FALLBACK_VERSION),_0x1edc44=!_0x10ffee,_0x56166c=process['stdin'][_0x574b60(0x17f)]&&process['stdout']['isTTY'];let _0x4e292a=!![];if(_0x56166c){const {install:_0x266c79}=await _0x3dfe89['prompt']([{'type':'confirm','name':_0x136c0f[_0x574b60(0x127)],'message':_0x1edc44?_0x574b60(0x18b)+_0x577f34+_0x574b60(0x125):_0x574b60(0x143)+_0x577f34+_0x574b60(0x12d),'default':!![]}]);_0x4e292a=_0x266c79;}else console[_0x574b60(0x159)](_0x574b60(0x14f)+_0x577f34+(_0x1edc44?_0x136c0f[_0x574b60(0x182)]:'')+'...');if(_0x4e292a){console['log'](_0x574b60(0x166));try{await installChromiumBinary(_0x577f34,_0x13f303),console['log']('\x0a✓\x20Playwright\x20Chromium\x20installed\x20successfully');}catch(_0x2fb830){console[_0x574b60(0x148)](_0x136c0f['nCNjx'],_0x136c0f[_0x574b60(0x144)](_0x2fb830,Error)?_0x2fb830[_0x574b60(0x142)]:_0x2fb830),console['log']('You\x20can\x20install\x20it\x20manually\x20by\x20running:'),console[_0x574b60(0x159)]('\x20\x20npx\x20playwright@'+_0x577f34+_0x574b60(0x160));}}else console['log']('\x0a⚠\x20Skipping\x20Chromium\x20installation.'),console[_0x574b60(0x159)](_0x136c0f[_0x574b60(0x186)]),console[_0x574b60(0x159)](_0x574b60(0x14a)+_0x577f34+_0x574b60(0x160));return!![];}export async function writeRangerGitignore(_0x17b01b){const _0x482c42=_0x4f7b4,_0x590341={'aaqhj':function(_0x770937,_0x84112d,_0x43262f){return _0x770937(_0x84112d,_0x43262f);},'JmPCG':'.gitignore','SeaGa':'✓\x20Created\x20.ranger/.gitignore'},_0x36c92c=_0x590341[_0x482c42(0x139)](join,_0x17b01b,_0x590341[_0x482c42(0x18d)]),_0x96ce0b=_0x482c42(0x146);await writeFile(_0x36c92c,_0x96ce0b),console['log'](_0x590341[_0x482c42(0x122)]);}export async function ensureLocalEnv(_0x415296,_0x1314a3){const _0xa10e46=_0x4f7b4,_0xde9b3e={'lByln':function(_0x316779,_0x2d3eb3){return _0x316779!==_0x2d3eb3;},'jjkxg':'user','pTjko':'⚠\x20No\x20git\x20repository\x20found.\x20Re-run\x20with\x20`--scope\x20user`\x20to\x20store\x20the\x20profile\x20at\x20~/.ranger/.','lGXFk':function(_0x1389a7,_0x2cbb20){return _0x1389a7===_0x2cbb20;},'qabxg':function(_0x13872f){return _0x13872f();},'mdtAX':'local','hUWDz':'✓\x20Local\x20profile\x20already\x20exists','WepVE':'\x0a❌\x20Profile\x20setup\x20failed:','tPglW':function(_0x47fe6f,_0x18a253){return _0x47fe6f instanceof _0x18a253;}};if(!findGitRoot()&&_0xde9b3e[_0xa10e46(0x199)](_0x415296?.[_0xa10e46(0x17b)],_0xde9b3e['jjkxg']))return console['log'](_0xde9b3e[_0xa10e46(0x157)]),{'ready':![],'skipped':!![]};const _0x327195=_0xde9b3e['lGXFk'](_0x415296?.[_0xa10e46(0x17b)],_0xde9b3e[_0xa10e46(0x136)])?_0xde9b3e[_0xa10e46(0x18c)](getRangerHomeDir):undefined;if(findExistingEnv(_0xde9b3e[_0xa10e46(0x15f)],{'locations':[_0xde9b3e[_0xa10e46(0x15f)]],'rangerDir':_0x327195}))return console[_0xa10e46(0x159)](_0xde9b3e['hUWDz']),{'ready':!![],'skipped':![]};try{return await addEnv(_0xde9b3e['mdtAX'],{'url':_0x415296?.['url'],'force':_0x415296?.[_0xa10e46(0x13f)],'allowInsecureLocalhost':_0x415296?.['allowInsecureLocalhost'],'scope':_0x415296?.['scope']},_0x1314a3),{'ready':!![],'skipped':![]};}catch(_0x3a7d5a){return console['error'](_0xde9b3e['WepVE'],_0xde9b3e[_0xa10e46(0x198)](_0x3a7d5a,Error)?_0x3a7d5a['message']:_0x3a7d5a),{'ready':![],'skipped':![]};}}export async function start(_0x46d10b,_0x134ee4,_0x32022e){const _0x183c78=_0x4f7b4,_0x9dc630={'tkgkK':'\x0a🚀\x20Ranger\x20Setup\x0a','PXPMc':function(_0x21638a,_0x4e1a2e){return _0x21638a!==_0x4e1a2e;},'fhFQg':function(_0x4b7182,_0x542aba){return _0x4b7182!==_0x542aba;},'UORpI':_0x183c78(0x155),'ByEvp':function(_0x513d42,_0x3d183a){return _0x513d42(_0x3d183a);},'aFeNv':function(_0x51c2c7,_0x481501){return _0x51c2c7(_0x481501);},'aHSPO':_0x183c78(0x169),'vnHZo':_0x183c78(0x173),'MGGHS':_0x183c78(0x149),'CWYcr':function(_0x383732,_0x694036){return _0x383732(_0x694036);},'uJQFs':_0x183c78(0x133),'YvGRv':function(_0x2093e2,_0x123c23){return _0x2093e2&&_0x123c23;},'LoutQ':_0x183c78(0x13c),'yGNjD':_0x183c78(0x183),'xKmFZ':function(_0x2ef58a){return _0x2ef58a();},'grgAe':'\x20\x20Failed\x20to\x20install\x20OpenCode\x20skill:','FKxNn':_0x183c78(0x19a),'kFQiO':function(_0x19fcf6,_0x2a92d9){return _0x19fcf6+_0x2a92d9;},'cyloz':function(_0x180a92,_0x3d0270){return _0x180a92(_0x3d0270);},'sQqoz':'\x0aIn\x20OpenCode,\x20enable\x20Ranger\x20hooks\x20(run\x20the\x20`ranger_enable`\x20tool)','DRGyq':_0x183c78(0x17c),'gtCFH':_0x183c78(0x171)};console['log'](_0x9dc630['tkgkK']);_0x9dc630['PXPMc'](_0x134ee4?.[_0x183c78(0x17b)],undefined)&&_0x9dc630[_0x183c78(0x14d)](_0x134ee4[_0x183c78(0x17b)],_0x9dc630[_0x183c78(0x17e)])&&(console['error']('ranger\x20setup\x20--scope='+_0x9dc630['ByEvp'](String,_0x134ee4['scope'])+_0x183c78(0x140)+'Setup\x20always\x20installs\x20at\x20user\x20scope\x20now\x20(cloud\x20profiles\x20make\x20'+_0x183c78(0x18e)),process['exit'](0x1));_0x134ee4={..._0x134ee4,'scope':_0x9dc630[_0x183c78(0x17e)]};const _0x2839d1=!_0x9dc630['aFeNv'](existsSync,getRangerHomeDir());await ensureRangerDir(_0x183c78(0x155));if(_0x134ee4?.[_0x183c78(0x161)])console['log']('✓\x20Skipping\x20authentication\x20(--skip-auth)'),_0x32022e?.[_0x183c78(0x174)]('auth',{'isFirstRun':_0x2839d1,'method':_0x183c78(0x167)});else{_0x32022e?.['trackPhaseStart'](_0x9dc630[_0x183c78(0x193)]);const _0x12a5b2=await authenticate(_0x46d10b);_0x32022e?.['trackPhaseEnd'](_0x9dc630['aHSPO'],{'isFirstRun':_0x2839d1,'method':_0x12a5b2[_0x183c78(0x197)]});}_0x32022e?.[_0x183c78(0x190)](_0x183c78(0x15d));_0x134ee4?.[_0x183c78(0x192)]?console['log'](_0x9dc630[_0x183c78(0x188)]):await _0x9dc630['ByEvp'](ensureChromium,_0x134ee4?.[_0x183c78(0x16e)]);_0x32022e?.['trackPhaseEnd'](_0x183c78(0x15d),{'isFirstRun':_0x2839d1,'skipped':!!_0x134ee4?.['skipChromium']}),console[_0x183c78(0x159)](_0x9dc630['MGGHS']);const _0x556182=_0x134ee4?.['scope'],_0x1d2012=_0x134ee4?.[_0x183c78(0x18a)]??![];let _0x217b2b=null;_0x1d2012?(_0x32022e?.[_0x183c78(0x190)]('plugin'),_0x217b2b=await _0x9dc630['CWYcr'](ensureOpencodePluginConfig,_0x556182),_0x32022e?.[_0x183c78(0x174)](_0x9dc630['uJQFs'],{'isFirstRun':_0x2839d1,'opencode':!![]})):(_0x32022e?.['trackPhaseStart'](_0x9dc630['uJQFs']),await ensureClaudePlugin(_0x556182),_0x32022e?.['trackPhaseEnd']('plugin',{'isFirstRun':_0x2839d1}));if(_0x9dc630[_0x183c78(0x179)](_0x1d2012,_0x217b2b)){_0x32022e?.[_0x183c78(0x190)](_0x9dc630[_0x183c78(0x14e)]);try{await installSkill(_0x9dc630[_0x183c78(0x129)],{'level':_0x217b2b['scope'],'cliVersion':_0x9dc630['xKmFZ'](getCurrentVersion),'platform':'opencode'}),_0x32022e?.['trackPhaseEnd'](_0x9dc630['LoutQ'],{'isFirstRun':_0x2839d1,'opencode':!![]});}catch(_0x51b2ea){console[_0x183c78(0x16a)](_0x9dc630[_0x183c78(0x138)],_0x51b2ea instanceof Error?_0x51b2ea['message']:_0x51b2ea),_0x32022e?.['trackPhaseEnd'](_0x9dc630[_0x183c78(0x14e)],{'isFirstRun':_0x2839d1,'opencode':!![],'failed':!![]});}}else _0x32022e?.['trackPhaseStart'](_0x9dc630['LoutQ']),await _0x9dc630['ByEvp'](ensureClaudeSkills,_0x556182),_0x32022e?.[_0x183c78(0x174)](_0x9dc630[_0x183c78(0x14e)],{'isFirstRun':_0x2839d1});if(_0x134ee4?.['skipAuth'])console[_0x183c78(0x159)](_0x183c78(0x12c));else{if(_0x134ee4?.[_0x183c78(0x15c)]){_0x32022e?.[_0x183c78(0x190)](_0x183c78(0x19a));const _0x44e07b=await ensureLocalEnv({'url':_0x134ee4['url'],'force':_0x134ee4?.['force'],'allowInsecureLocalhost':_0x134ee4?.['allowInsecureLocalhost'],'scope':_0x183c78(0x155)},_0x32022e);_0x32022e?.['trackPhaseEnd'](_0x9dc630['FKxNn'],{'isFirstRun':_0x2839d1,'profileReady':_0x44e07b[_0x183c78(0x14c)],'userSkipped':_0x44e07b[_0x183c78(0x167)]});}else console[_0x183c78(0x159)](_0x9dc630['kFQiO'](_0x9dc630[_0x183c78(0x19b)]('\x0aTo\x20set\x20up\x20a\x20profile\x20for\x20your\x20app,\x20run:'+('\x0a\x20\x20'+_0x9dc630[_0x183c78(0x196)](bold,'ranger\x20profile\x20add\x20<name>')),'\x0a\x20\x20(opens\x20a\x20browser\x20so\x20you\x20can\x20log\x20in\x20once)'),'\x0a\x0aFor\x20CI\x20/\x20background\x20agents\x20and\x20other\x20setup\x20options,\x20see:')+_0x183c78(0x152));}if(_0x1d2012)console[_0x183c78(0x159)](_0x9dc630[_0x183c78(0x156)]),console['log'](_0x9dc630['DRGyq']),console[_0x183c78(0x159)]('with\x20scenarios\x20describing\x20what\x20to\x20verify\x20and\x20then\x20run\x20browser'),console[_0x183c78(0x159)](_0x9dc630['gtCFH']);else{const _0x3af7b5=bold('/ranger:enable');console[_0x183c78(0x159)](_0x9dc630[_0x183c78(0x19b)]('\x0aIn\x20Claude\x20Code,\x20run\x20'+_0x3af7b5+_0x183c78(0x13b)+_0x183c78(0x128),_0x183c78(0x131))+_0x183c78(0x13a));}}
1
+ const _0x7ab54d=_0x5177;(function(_0xd9e5a3,_0x1b1ea7){const _0x7c0b89=_0x5177,_0x5104f1=_0xd9e5a3();while(!![]){try{const _0x5172f8=-parseInt(_0x7c0b89(0x150))/0x1+-parseInt(_0x7c0b89(0x18d))/0x2*(-parseInt(_0x7c0b89(0x1b6))/0x3)+parseInt(_0x7c0b89(0x166))/0x4*(-parseInt(_0x7c0b89(0x1bb))/0x5)+-parseInt(_0x7c0b89(0x176))/0x6+parseInt(_0x7c0b89(0x1bd))/0x7+parseInt(_0x7c0b89(0x162))/0x8*(parseInt(_0x7c0b89(0x155))/0x9)+parseInt(_0x7c0b89(0x161))/0xa;if(_0x5172f8===_0x1b1ea7)break;else _0x5104f1['push'](_0x5104f1['shift']());}catch(_0x48ae35){_0x5104f1['push'](_0x5104f1['shift']());}}}(_0x4109,0x3d79d));import{mkdir,writeFile}from'fs/promises';import{join,dirname}from'path';import{existsSync}from'fs';import{createRequire}from'module';import _0x3015e0 from'inquirer';import{getToken,storeToken}from'./utils/keychain.js';import{getCurrentUser}from'./utils/userApi.js';import{chromium}from'playwright';import{addEnv}from'./addEnv.js';function _0x5177(_0x47819e,_0x5d46e4){_0x47819e=_0x47819e-0x14a;const _0x4109d5=_0x4109();let _0x517760=_0x4109d5[_0x47819e];return _0x517760;}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';import{spawn}from'child_process';const require=createRequire(import.meta.url);export const PLAYWRIGHT_CHROMIUM_INSTALL_FALLBACK_VERSION=_0x7ab54d(0x15d);const bold=_0x4137a8=>'\x1b[1m'+_0x4137a8+'\x1b[0m';export function getPlaywrightVersion(){const _0x21caee=_0x7ab54d;try{const _0x10213=require['resolve']('playwright/package.json'),_0x3a035f=require(_0x10213);return _0x3a035f[_0x21caee(0x17f)];}catch{return null;}}function resolveBundledPlaywrightCli(){const _0x2113e4=_0x7ab54d,_0x5c8729={'VJbiJ':function(_0x1b6c92,_0xb0a39a){return _0x1b6c92(_0xb0a39a);}};try{const _0x5f4be5=join(dirname(require[_0x2113e4(0x18c)]('playwright/package.json')),'cli.js');return _0x5c8729['VJbiJ'](existsSync,_0x5f4be5)?_0x5f4be5:null;}catch{return null;}}const CHROMIUM_INSTALL_TIMEOUT_MS=Number(process[_0x7ab54d(0x17e)][_0x7ab54d(0x1a5)])||0x927c0;class ChromiumInstallTimeoutError extends Error{}export async function installChromiumBinary(_0x34e174,_0x2f8632=![]){const _0x289876=_0x7ab54d,_0xb744c3={'wyCwg':'--with-deps','DNlHA':'chromium','KlnZS':function(_0x7d5115,_0x2187ce,_0x104984){return _0x7d5115(_0x2187ce,_0x104984);},'CDDgc':function(_0xcfa639,_0xc67e08){return _0xcfa639 instanceof _0xc67e08;},'yhtWx':function(_0xe6d463,_0x4be51a){return _0xe6d463+_0x4be51a;}},_0x5cbfb3=resolveBundledPlaywrightCli(),_0x2e1982=_0x5cbfb3?process[_0x289876(0x153)]:'npx',_0x313cd8=[_0x5cbfb3??'playwright@'+_0x34e174,_0x289876(0x14a),..._0x2f8632?[_0xb744c3[_0x289876(0x17a)]]:[],_0xb744c3['DNlHA']];let _0x5d8b7c=![];for(let _0x39819=0x1;;_0x39819++){try{await _0xb744c3[_0x289876(0x18f)](runChromiumInstall,_0x2e1982,_0x313cd8);return;}catch(_0x3e5ee6){_0xb744c3['CDDgc'](_0x3e5ee6,ChromiumInstallTimeoutError)&&!_0x5d8b7c&&(_0x5d8b7c=!![],console['log'](_0xb744c3[_0x289876(0x194)]('\x0a\x20\x20Chromium\x20install\x20timed\x20out\x20(limit\x20'+Math[_0x289876(0x174)](CHROMIUM_INSTALL_TIMEOUT_MS/0x3e8)+_0x289876(0x177),'\x20\x20\x20\x20RANGER_CHROMIUM_INSTALL_TIMEOUT_MS=1800000\x20ranger\x20setup\x20deps')));if(_0x39819>=0x3)throw _0x3e5ee6;const _0x204d0d=_0x3e5ee6 instanceof Error?_0x3e5ee6['message']:String(_0x3e5ee6);console['log'](_0x289876(0x15e)+_0x39819+_0x289876(0x197)+_0x204d0d+_0x289876(0x1b7));}}}function _0x4109(){const _0x19a398=['resolve','22fsgibX','eiJlZ','KlnZS','ivwCJ','mrPAj','You\x20can\x20install\x20it\x20manually\x20by\x20running:','You\x20will\x20need\x20to\x20install\x20it\x20before\x20using\x20Ranger:','yhtWx','ROkeD','ISehH','\x20failed\x20(','/ranger:enable','✓\x20Local\x20profile\x20already\x20exists','✓\x20~/.ranger/\x20directory\x20already\x20exists','\x0a✓\x20Playwright\x20Chromium\x20installed\x20successfully','AFwfQ','opencode','trackPhaseEnd','UHxsV','url','iRfRr','.gitignore','ihUgm','force','RANGER_CHROMIUM_INSTALL_TIMEOUT_MS','✓\x20Skipping\x20authentication\x20(--skip-auth)','...','platform','profile','IKKeL','upoUM','ccoXn','EVGLq','\x0ascenarios\x20describing\x20what\x20to\x20verify\x20and\x20then\x20run\x20browser','KTIsC','nyuOt','✓\x20Already\x20authenticated\x20to\x20','stdout','auth','with\x20scenarios\x20describing\x20what\x20to\x20verify\x20and\x20then\x20run\x20browser','\x20(fallback\x20version)','57207cnxuCj',');\x20retrying...','\x0aTo\x20set\x20up\x20a\x20profile\x20for\x20your\x20app,\x20run:','ready','message','872975LRWLxG','plugin','196413DVNosb','UlCHn','ranger\x20profile\x20add\x20<name>','install','Authentication\x20failed:\x20','RvSML','URmuq','GITHUB_ENV','\x20install\x20chromium','329681ZzFyTQ','close','\x0aNon-interactive\x20mode:\x20Auto-installing\x20Playwright\x20Chromium\x20','execPath','\x0a✅\x20Ranger\x20setup\x20complete!\x0a','342810qjvKeU','✓\x20Authenticated\x20to\x20','skipAuth','trackPhaseStart','\x0a\x20\x20https://docs.ranger.net/main/concepts/profiles','TAfza','ZymSh','Validating\x20API\x20token...','1.56.1','\x20\x20Chromium\x20install\x20attempt\x20','skipped','yUJhU','5720990EuHWJd','24wOHUhd','skills','withDeps','fNtzN','4RdRdkG','skipChromium','\x0a\x20\x20(opens\x20a\x20browser\x20so\x20you\x20can\x20log\x20in\x20once)','XPJRM','qlynj','warn','rjKKl','log','scope','SKQoq','\x0a\x0aFor\x20CI\x20/\x20background\x20agents\x20and\x20other\x20setup\x20options,\x20see:','status','RgdCJ','ljWmQ','round','local','1008636DsHECX','s).\x20On\x20a\x20slow\x20or\x20proxied\x20connection,\x20raise\x20the\x20limit\x20and\x20retry,\x20e.g.:\x0a','error','\x0aIn\x20Claude\x20Code,\x20run\x20','wyCwg','lUhcq','DtZLK','executablePath','env','version','success','confirm','dWWfn','\x0aIn\x20OpenCode,\x20enable\x20Ranger\x20hooks\x20(run\x20the\x20`ranger_enable`\x20tool)','existing_token','.\x20Please\x20check\x20your\x20API\x20token\x20and\x20try\x20again.','\x0averification\x20to\x20check\x20its\x20work\x20as\x20it\x20builds.','device_auth','\x20\x20Failed\x20to\x20install\x20OpenCode\x20skill:','user','\x20\x20npx\x20playwright@','BonEW'];_0x4109=function(){return _0x19a398;};return _0x4109();}function runChromiumInstall(_0x3bafc0,_0x46777a){const _0x5a2043=_0x7ab54d,_0x485755={'yUJhU':function(_0x71f01a,_0x5ea65d){return _0x71f01a(_0x5ea65d);},'BonEW':function(_0x4a355f){return _0x4a355f();},'Qhkkz':function(_0x40f68c,_0x4d8f1f){return _0x40f68c(_0x4d8f1f);},'WHIlT':'inherit','UHxsV':'win32','sTKHr':function(_0x33d3ac,_0x1fb379,_0x34a05b){return _0x33d3ac(_0x1fb379,_0x34a05b);},'AFwfQ':_0x5a2043(0x151)};return new Promise((_0x376d88,_0x20ecaa)=>{const _0x3dbaa7=_0x5a2043,_0x1bbc8e={'OnGTw':'SIGKILL','dWWfn':function(_0x4fdfc6,_0x1ba68d){return _0x485755['Qhkkz'](_0x4fdfc6,_0x1ba68d);}},_0x15a555=spawn(_0x3bafc0,_0x46777a,{'stdio':['ignore','inherit',_0x485755['WHIlT']],'shell':process[_0x3dbaa7(0x1a8)]===_0x485755[_0x3dbaa7(0x19f)]}),_0x44afad=_0x485755['sTKHr'](setTimeout,()=>{const _0x4d27f8=_0x3dbaa7;_0x15a555['kill'](_0x1bbc8e['OnGTw']),_0x1bbc8e[_0x4d27f8(0x182)](_0x20ecaa,new ChromiumInstallTimeoutError('Chromium\x20install\x20timed\x20out\x20after\x20'+Math['round'](CHROMIUM_INSTALL_TIMEOUT_MS/0x3e8)+'s'));},CHROMIUM_INSTALL_TIMEOUT_MS);_0x15a555['on'](_0x485755[_0x3dbaa7(0x19c)],_0xe021cb=>{const _0x2db4d0=_0x3dbaa7;_0x485755[_0x2db4d0(0x160)](clearTimeout,_0x44afad);if(_0xe021cb===0x0)_0x485755[_0x2db4d0(0x18b)](_0x376d88);else _0x20ecaa(new Error('Installation\x20failed\x20with\x20exit\x20code\x20'+_0xe021cb));}),_0x15a555['on']('error',_0x4e9229=>{clearTimeout(_0x44afad),_0x485755['yUJhU'](_0x20ecaa,_0x4e9229);});});}export async function authenticate(_0x5f14c9){const _0x4375f2=_0x7ab54d,_0x421f17={'xsayu':function(_0x5a0f99){return _0x5a0f99();},'lWGss':function(_0x5a2883,_0x15bb1f){return _0x5a2883(_0x15bb1f);},'VvelB':function(_0x59ce30,_0x3d15cf){return _0x59ce30(_0x3d15cf);},'FOdnA':'✓\x20Stored\x20credentials\x20locally','fNtzN':'provided_token'};if(!_0x5f14c9){const _0x25a622=await getToken();if(_0x25a622){const _0x18f356=await getCurrentUser(_0x25a622);if(_0x18f356[_0x4375f2(0x180)])return console['log'](_0x4375f2(0x1b1)+_0x18f356[_0x4375f2(0x189)]['organizationName']),{'token':_0x25a622,'method':_0x4375f2(0x184)};}try{_0x5f14c9=await _0x421f17['xsayu'](runDeviceAuthFlow);}catch(_0x379cb7){throw new Error(_0x4375f2(0x14b)+(_0x379cb7 instanceof Error?_0x379cb7['message']:_0x379cb7));}const _0x27e9be=await _0x421f17['lWGss'](getCurrentUser,_0x5f14c9);if(!_0x27e9be['success'])throw new Error('Failed\x20to\x20validate\x20provisioned\x20API\x20key:\x20'+_0x27e9be[_0x4375f2(0x178)]);return console['log']('✓\x20Authenticated\x20to\x20'+_0x27e9be[_0x4375f2(0x189)]['organizationName']),{'token':_0x5f14c9,'method':_0x4375f2(0x187)};}console['log'](_0x4375f2(0x15c));const _0x549f12=await getCurrentUser(_0x5f14c9);if(!_0x549f12['success']){if(_0x549f12[_0x4375f2(0x171)])throw new Error('Authentication\x20failed:\x20'+_0x549f12['error']+_0x4375f2(0x185));else throw new Error('Failed\x20to\x20connect\x20to\x20MCP\x20server:\x20'+_0x549f12[_0x4375f2(0x178)]+'.\x20Please\x20check\x20your\x20network\x20connection\x20and\x20server\x20URL.');}return console[_0x4375f2(0x16d)](_0x4375f2(0x156)+_0x549f12['user']['organizationName']),await _0x421f17['VvelB'](storeToken,_0x5f14c9),console[_0x4375f2(0x16d)](process[_0x4375f2(0x17e)][_0x4375f2(0x14e)]?'✓\x20Exported\x20credentials\x20for\x20CI':_0x421f17['FOdnA']),{'token':_0x5f14c9,'method':_0x421f17[_0x4375f2(0x165)]};}export async function ensureRangerDir(_0x70835c){const _0x547658=_0x7ab54d,_0x2e22d3={'ivwCJ':function(_0x77eb3d,_0x16bb5a){return _0x77eb3d(_0x16bb5a);},'RvSML':function(_0x3729ae,_0x32b7df,_0x513bfb){return _0x3729ae(_0x32b7df,_0x513bfb);},'opLPC':_0x547658(0x19a)};void _0x70835c;const _0x3b2972=getRangerHomeDir();return!_0x2e22d3[_0x547658(0x190)](existsSync,_0x3b2972)?(await _0x2e22d3[_0x547658(0x14c)](mkdir,_0x3b2972,{'recursive':!![]}),console['log']('✓\x20Created\x20~/.ranger/\x20directory'),{'path':_0x3b2972,'installed':!![]}):(console[_0x547658(0x16d)](_0x2e22d3['opLPC']),{'path':_0x3b2972,'installed':![]});}export async function ensureChromium(_0x2f237f=![]){const _0x5748bb=_0x7ab54d,_0x54eeac={'qlynj':function(_0x4e2151,_0x29c8fe){return _0x4e2151(_0x29c8fe);},'IOkdA':'✓\x20Playwright\x20Chromium\x20browser\x20found','TAfza':function(_0x7ca29,_0xe55a75){return _0x7ca29??_0xe55a75;},'SKQoq':_0x5748bb(0x181),'vEnPY':_0x5748bb(0x1b5),'KTIsC':'\x0aInstalling\x20Chromium\x20browser...\x0a','EVGLq':_0x5748bb(0x19b),'IKKeL':'\x0a❌\x20Failed\x20to\x20install\x20Chromium:','XPJRM':_0x5748bb(0x192),'UlCHn':'\x0a⚠\x20Skipping\x20Chromium\x20installation.'};let _0x201264=![];try{const _0x450bcc=chromium[_0x5748bb(0x17d)]();_0x201264=_0x54eeac[_0x5748bb(0x16a)](existsSync,_0x450bcc);}catch{_0x201264=![];}if(_0x201264)return console[_0x5748bb(0x16d)](_0x54eeac['IOkdA']),![];const _0x1f94ae=getPlaywrightVersion(),_0xdb5213=_0x54eeac[_0x5748bb(0x15a)](_0x1f94ae,PLAYWRIGHT_CHROMIUM_INSTALL_FALLBACK_VERSION),_0x10c9a6=!_0x1f94ae,_0x441259=process['stdin']['isTTY']&&process[_0x5748bb(0x1b2)]['isTTY'];let _0x51735e=!![];if(_0x441259){const {install:_0xde849c}=await _0x3015e0['prompt']([{'type':_0x54eeac[_0x5748bb(0x16f)],'name':_0x5748bb(0x14a),'message':_0x10c9a6?'Could\x20not\x20determine\x20local\x20Playwright\x20version.\x20Install\x20Playwright\x20Chromium\x20using\x20fallback\x20version\x20'+_0xdb5213+'\x20now?':'The\x20required\x20version\x20('+_0xdb5213+')\x20of\x20the\x20Playwright\x20Chromium\x20browser\x20is\x20not\x20installed.\x20Install\x20it\x20now?','default':!![]}]);_0x51735e=_0xde849c;}else console[_0x5748bb(0x16d)](_0x5748bb(0x152)+_0xdb5213+(_0x10c9a6?_0x54eeac['vEnPY']:'')+_0x5748bb(0x1a7));if(_0x51735e){console[_0x5748bb(0x16d)](_0x54eeac[_0x5748bb(0x1af)]);try{await installChromiumBinary(_0xdb5213,_0x2f237f),console[_0x5748bb(0x16d)](_0x54eeac[_0x5748bb(0x1ad)]);}catch(_0x374798){console['error'](_0x54eeac[_0x5748bb(0x1aa)],_0x374798 instanceof Error?_0x374798[_0x5748bb(0x1ba)]:_0x374798),console[_0x5748bb(0x16d)](_0x54eeac[_0x5748bb(0x169)]),console[_0x5748bb(0x16d)](_0x5748bb(0x18a)+_0xdb5213+'\x20install\x20chromium');}}else console['log'](_0x54eeac[_0x5748bb(0x1be)]),console[_0x5748bb(0x16d)](_0x5748bb(0x193)),console[_0x5748bb(0x16d)](_0x5748bb(0x18a)+_0xdb5213+_0x5748bb(0x14f));return!![];}export async function writeRangerGitignore(_0x266745){const _0x1cdf62=_0x7ab54d,_0x5b4231={'DtZLK':function(_0x281aa,_0x25a959,_0x3eb049){return _0x281aa(_0x25a959,_0x3eb049);}},_0x22894a=_0x5b4231[_0x1cdf62(0x17c)](join,_0x266745,_0x1cdf62(0x1a2)),_0x27c30e='\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 _0x5b4231[_0x1cdf62(0x17c)](writeFile,_0x22894a,_0x27c30e),console['log']('✓\x20Created\x20.ranger/.gitignore');}export async function ensureLocalEnv(_0x1f57bc,_0x231259){const _0x2813c1=_0x7ab54d,_0x49dc0e={'URmuq':function(_0x457218){return _0x457218();},'HZqqa':function(_0x58f74f,_0x366650){return _0x58f74f!==_0x366650;},'eiJlZ':function(_0x497d98,_0x442da2,_0x11b3de){return _0x497d98(_0x442da2,_0x11b3de);},'ljWmQ':_0x2813c1(0x175),'WSSRN':_0x2813c1(0x199),'aNuQM':function(_0x2ce56b,_0x4d50c1){return _0x2ce56b instanceof _0x4d50c1;}};if(!_0x49dc0e[_0x2813c1(0x14d)](findGitRoot)&&_0x49dc0e['HZqqa'](_0x1f57bc?.['scope'],'user'))return console['log']('⚠\x20No\x20git\x20repository\x20found.\x20Re-run\x20with\x20`--scope\x20user`\x20to\x20store\x20the\x20profile\x20at\x20~/.ranger/.'),{'ready':![],'skipped':!![]};const _0x4062aa=_0x1f57bc?.[_0x2813c1(0x16e)]==='user'?getRangerHomeDir():undefined;if(_0x49dc0e[_0x2813c1(0x18e)](findExistingEnv,_0x49dc0e[_0x2813c1(0x173)],{'locations':['local'],'rangerDir':_0x4062aa}))return console[_0x2813c1(0x16d)](_0x49dc0e['WSSRN']),{'ready':!![],'skipped':![]};try{return await addEnv('local',{'url':_0x1f57bc?.['url'],'force':_0x1f57bc?.['force'],'allowInsecureLocalhost':_0x1f57bc?.['allowInsecureLocalhost'],'scope':_0x1f57bc?.[_0x2813c1(0x16e)]},_0x231259),{'ready':!![],'skipped':![]};}catch(_0x174a3e){return console['error']('\x0a❌\x20Profile\x20setup\x20failed:',_0x49dc0e['aNuQM'](_0x174a3e,Error)?_0x174a3e['message']:_0x174a3e),{'ready':![],'skipped':![]};}}export async function start(_0x71f1cd,_0x5e617e,_0x3f7571){const _0xbde622=_0x7ab54d,_0x111234={'lUhcq':'\x0a🚀\x20Ranger\x20Setup\x0a','MrihC':function(_0x355156,_0x423c8d){return _0x355156!==_0x423c8d;},'lfNSS':function(_0x8f8f1e,_0x467fa9){return _0x8f8f1e!==_0x467fa9;},'zFVba':function(_0x33a0c8,_0x398b90){return _0x33a0c8+_0x398b90;},'NQnsF':function(_0x2ed64e,_0x67156f){return _0x2ed64e(_0x67156f);},'wrQMg':function(_0x1ff136){return _0x1ff136();},'ehuTK':_0xbde622(0x1a6),'ROkeD':'auth','upoUM':'✓\x20Skipping\x20Chromium\x20check\x20(--skip-chromium)','oGjRR':function(_0x3e8fb4,_0x1dd4c1){return _0x3e8fb4(_0x1dd4c1);},'ZPBCS':_0xbde622(0x154),'gGmzX':_0xbde622(0x1bc),'nyuOt':function(_0x13420a,_0x525675){return _0x13420a&&_0x525675;},'RgdCJ':'skills','ZQRNg':'ranger','dQemq':'opencode','GMvtW':_0xbde622(0x188),'iRfRr':function(_0x1aa9ae,_0x41499b){return _0x1aa9ae+_0x41499b;},'ihUgm':function(_0x52aa28,_0x433877){return _0x52aa28+_0x433877;},'fzigw':function(_0x5d80a3,_0x3512e4){return _0x5d80a3(_0x3512e4);},'ccoXn':_0xbde622(0x1bf),'ISehH':_0xbde622(0x183),'mrPAj':'and\x20prompt\x20the\x20agent\x20like\x20usual.\x20Ranger\x20will\x20create\x20a\x20feature\x20review','oDqoj':'verification\x20to\x20check\x20its\x20work\x20as\x20it\x20builds.','rjKKl':function(_0x5362f7,_0x19c362){return _0x5362f7(_0x19c362);},'ZymSh':_0xbde622(0x198)};console[_0xbde622(0x16d)](_0x111234[_0xbde622(0x17b)]);_0x111234['MrihC'](_0x5e617e?.[_0xbde622(0x16e)],undefined)&&_0x111234['lfNSS'](_0x5e617e[_0xbde622(0x16e)],_0xbde622(0x189))&&(console['error'](_0x111234['zFVba']('ranger\x20setup\x20--scope='+String(_0x5e617e['scope'])+'\x20is\x20no\x20longer\x20supported.\x20','Setup\x20always\x20installs\x20at\x20user\x20scope\x20now\x20(cloud\x20profiles\x20make\x20')+'project-scope\x20setup\x20obsolete).\x20Drop\x20the\x20--scope\x20flag\x20or\x20pass\x20--scope=user.'),process['exit'](0x1));_0x5e617e={..._0x5e617e,'scope':_0xbde622(0x189)};const _0x51762d=!_0x111234['NQnsF'](existsSync,_0x111234['wrQMg'](getRangerHomeDir));await ensureRangerDir('user');if(_0x5e617e?.['skipAuth'])console[_0xbde622(0x16d)](_0x111234['ehuTK']),_0x3f7571?.[_0xbde622(0x19e)](_0x111234['ROkeD'],{'isFirstRun':_0x51762d,'method':_0xbde622(0x15f)});else{_0x3f7571?.['trackPhaseStart'](_0xbde622(0x1b3));const _0xad1ae5=await authenticate(_0x71f1cd);_0x3f7571?.['trackPhaseEnd'](_0x111234[_0xbde622(0x195)],{'isFirstRun':_0x51762d,'method':_0xad1ae5['method']});}_0x3f7571?.[_0xbde622(0x158)]('chromium');_0x5e617e?.['skipChromium']?console['log'](_0x111234[_0xbde622(0x1ab)]):await _0x111234['oGjRR'](ensureChromium,_0x5e617e?.[_0xbde622(0x164)]);_0x3f7571?.['trackPhaseEnd']('chromium',{'isFirstRun':_0x51762d,'skipped':!!_0x5e617e?.[_0xbde622(0x167)]}),console['log'](_0x111234['ZPBCS']);const _0x4ed577=_0x5e617e?.[_0xbde622(0x16e)],_0x2ef655=_0x5e617e?.[_0xbde622(0x19d)]??![];let _0x3f93ad=null;_0x2ef655?(_0x3f7571?.['trackPhaseStart'](_0x111234['gGmzX']),_0x3f93ad=await ensureOpencodePluginConfig(_0x4ed577),_0x3f7571?.['trackPhaseEnd']('plugin',{'isFirstRun':_0x51762d,'opencode':!![]})):(_0x3f7571?.[_0xbde622(0x158)]('plugin'),await ensureClaudePlugin(_0x4ed577),_0x3f7571?.['trackPhaseEnd'](_0xbde622(0x1bc),{'isFirstRun':_0x51762d}));if(_0x111234[_0xbde622(0x1b0)](_0x2ef655,_0x3f93ad)){_0x3f7571?.[_0xbde622(0x158)](_0x111234[_0xbde622(0x172)]);try{await installSkill(_0x111234['ZQRNg'],{'level':_0x3f93ad['scope'],'cliVersion':_0x111234['wrQMg'](getCurrentVersion),'platform':_0x111234['dQemq']}),_0x3f7571?.['trackPhaseEnd'](_0x111234['RgdCJ'],{'isFirstRun':_0x51762d,'opencode':!![]});}catch(_0x43c0a3){console[_0xbde622(0x16b)](_0x111234['GMvtW'],_0x43c0a3 instanceof Error?_0x43c0a3['message']:_0x43c0a3),_0x3f7571?.[_0xbde622(0x19e)]('skills',{'isFirstRun':_0x51762d,'opencode':!![],'failed':!![]});}}else _0x3f7571?.[_0xbde622(0x158)](_0xbde622(0x163)),await ensureClaudeSkills(_0x4ed577),_0x3f7571?.[_0xbde622(0x19e)](_0x111234['RgdCJ'],{'isFirstRun':_0x51762d});if(_0x5e617e?.[_0xbde622(0x157)])console['log']('\x0aSkipping\x20profile\x20setup\x20(--skip-auth).\x20Run\x20`ranger\x20setup`\x20with\x20auth\x20to\x20add\x20a\x20profile\x20later.\x0a');else{if(_0x5e617e?.['url']){_0x3f7571?.['trackPhaseStart'](_0xbde622(0x1a9));const _0x1e6390=await ensureLocalEnv({'url':_0x5e617e[_0xbde622(0x1a0)],'force':_0x5e617e?.[_0xbde622(0x1a4)],'allowInsecureLocalhost':_0x5e617e?.['allowInsecureLocalhost'],'scope':_0xbde622(0x189)},_0x3f7571);_0x3f7571?.[_0xbde622(0x19e)]('profile',{'isFirstRun':_0x51762d,'profileReady':_0x1e6390[_0xbde622(0x1b9)],'userSkipped':_0x1e6390['skipped']});}else console['log'](_0x111234[_0xbde622(0x1a1)](_0x111234[_0xbde622(0x1a3)](_0xbde622(0x1b8)+('\x0a\x20\x20'+_0x111234['fzigw'](bold,_0x111234[_0xbde622(0x1ac)]))+_0xbde622(0x168),_0xbde622(0x170)),_0xbde622(0x159)));}if(_0x2ef655)console[_0xbde622(0x16d)](_0x111234[_0xbde622(0x196)]),console['log'](_0x111234[_0xbde622(0x191)]),console['log'](_0xbde622(0x1b4)),console['log'](_0x111234['oDqoj']);else{const _0x3c2e7c=_0x111234[_0xbde622(0x16c)](bold,_0x111234[_0xbde622(0x15b)]);console['log'](_0x111234['ihUgm'](_0x111234['zFVba'](_0xbde622(0x179)+_0x3c2e7c+'\x20and\x20prompt\x20the\x20coding'+'\x0aagent\x20like\x20usual.\x20Claude\x20will\x20create\x20a\x20feature\x20review\x20with',_0xbde622(0x1ae)),_0xbde622(0x186)));}}
@@ -1 +1 @@
1
- const _0x524bc4=_0xb715;(function(_0x17cb00,_0x282fb2){const _0x2213e4=_0xb715,_0x204856=_0x17cb00();while(!![]){try{const _0x27a216=-parseInt(_0x2213e4(0x1bd))/0x1+-parseInt(_0x2213e4(0x1ec))/0x2*(-parseInt(_0x2213e4(0x1af))/0x3)+-parseInt(_0x2213e4(0x1d1))/0x4+-parseInt(_0x2213e4(0x1f6))/0x5*(-parseInt(_0x2213e4(0x1ef))/0x6)+parseInt(_0x2213e4(0x1a5))/0x7+parseInt(_0x2213e4(0x1e3))/0x8+parseInt(_0x2213e4(0x1d0))/0x9*(parseInt(_0x2213e4(0x18f))/0xa);if(_0x27a216===_0x282fb2)break;else _0x204856['push'](_0x204856['shift']());}catch(_0x28961a){_0x204856['push'](_0x204856['shift']());}}}(_0x3340,0x8653f));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 _0xb715(_0x395b77,_0x346c3d){_0x395b77=_0x395b77-0x18f;const _0x33400f=_0x3340();let _0xb71558=_0x33400f[_0x395b77];return _0xb71558;}import{getRangerDir}from'./utils/rangerRoot.js';import{getEnvDir}from'./utils/settings.js';import{listCloudProfiles}from'./utils/cloudProfile.js';import{getPluginInfo}from'./utils/claudePlugin.js';import{RANGER_MANAGED_SKILLS}from'./utils/skills.js';import{spawn}from'child_process';const bold=_0x4a683d=>'\x1b[1m'+_0x4a683d+'\x1b[0m',link=(_0x3fc319,_0x59f0a2)=>_0x524bc4(0x195)+_0x3fc319+'\x07'+(_0x59f0a2||_0x3fc319)+'\x1b]8;;\x07';async function getOpencodePluginStatus(){const _0x2bfd6d=_0x524bc4,_0x443de4={'ZDmwV':function(_0x2cb362,_0x3e9373){return _0x2cb362!==_0x3e9373;},'SQSjv':function(_0xf669de,_0x17a9a1){return _0xf669de(_0x17a9a1);},'NeKjU':_0x2bfd6d(0x1b1),'OwqmV':'configured','zopOf':function(_0x11523e,_0x30af91){return _0x11523e>_0x30af91;},'GQjIf':function(_0xbd12ad,_0x45a30b){return _0xbd12ad>_0x45a30b;},'LPhCa':_0x2bfd6d(0x191),'FVRcZ':function(_0x178225,_0x37df23){return _0x178225(_0x37df23);},'KKIaw':'string','wyNlN':function(_0x1f088a,_0x478c3f,_0x4df383,_0x3fa7aa){return _0x1f088a(_0x478c3f,_0x4df383,_0x3fa7aa);},'LqlIq':'debug','WfjVP':_0x2bfd6d(0x1b9),'Nywam':'close'};return new Promise(_0x450590=>{const _0x59cb43=_0x2bfd6d,_0x1274e9={'IfAPO':function(_0x4b497e,_0x527bd9){return _0x443de4['FVRcZ'](_0x4b497e,_0x527bd9);},'dCyYz':_0x443de4['NeKjU'],'YIvDO':function(_0x546036,_0x2c2ffa){return _0x546036!==_0x2c2ffa;},'brYDz':_0x443de4[_0x59cb43(0x1b7)],'BJsHS':'opencode-plugin'},_0x353826=_0x443de4[_0x59cb43(0x1a1)](spawn,'opencode',[_0x443de4['LqlIq'],_0x59cb43(0x198)],{'stdio':['ignore','pipe','pipe']});let _0x1d00c3='';_0x353826['stdout']?.['on'](_0x443de4[_0x59cb43(0x19f)],_0x54c05d=>{_0x1d00c3+=_0x54c05d['toString']();}),_0x353826[_0x59cb43(0x19d)]?.['on'](_0x443de4['WfjVP'],_0x13d8cc=>{const _0xa964b=_0x59cb43;_0x1d00c3+=_0x13d8cc[_0xa964b(0x193)]();}),_0x353826['on'](_0x59cb43(0x1a0),()=>{const _0x1a43df=_0x59cb43;_0x1274e9['IfAPO'](_0x450590,{'status':_0x1274e9[_0x1a43df(0x1d3)]});}),_0x353826['on'](_0x443de4['Nywam'],_0x417bea=>{const _0x8367d6=_0x59cb43;if(_0x443de4['ZDmwV'](_0x417bea,0x0)){_0x443de4['SQSjv'](_0x450590,{'status':_0x443de4['NeKjU']});return;}const _0x3776ea=_0x1d00c3[_0x8367d6(0x1db)]();let _0x452eaa=null;if(_0x3776ea)try{_0x452eaa=JSON['parse'](_0x3776ea);}catch{const _0x4e9eb3=_0x3776ea['match'](/\{[\s\S]*\}$/);if(_0x4e9eb3)try{_0x452eaa=JSON['parse'](_0x4e9eb3[0x0]);}catch{_0x452eaa=null;}}const _0x553c40=Array['isArray'](_0x452eaa?.[_0x8367d6(0x1da)])?_0x452eaa?.['plugin']:[],_0x49dd6f=_0x553c40[_0x8367d6(0x1e1)](_0x23f4de=>{const _0x53906e=_0x8367d6;if(_0x1274e9['YIvDO'](typeof _0x23f4de,_0x1274e9[_0x53906e(0x1e0)]))return![];return _0x23f4de['includes'](_0x53906e(0x1a4))||_0x23f4de['includes'](_0x1274e9[_0x53906e(0x1e4)]);});if(_0x49dd6f){_0x443de4['SQSjv'](_0x450590,{'status':_0x443de4['OwqmV'],'details':_0x443de4[_0x8367d6(0x1f0)](_0x553c40[_0x8367d6(0x1f5)],0x0)?_0x553c40[_0x8367d6(0x1f5)]+'\x20plugin(s)\x20configured':undefined});return;}if(_0x443de4[_0x8367d6(0x1c8)](_0x553c40[_0x8367d6(0x1f5)],0x0)){_0x450590({'status':_0x443de4['LPhCa'],'details':_0x553c40[_0x8367d6(0x1f5)]+'\x20plugin(s)\x20configured'});return;}_0x450590({'status':_0x443de4['LPhCa']});});});}async function getSkillsFromDir(_0x5a0176,_0x1d217b){const _0x2676df=_0x524bc4,_0x114de1={'PlLjt':function(_0x54fb65,_0x4f760b){return _0x54fb65(_0x4f760b);},'GDAtu':_0x2676df(0x1a7)};if(!_0x114de1[_0x2676df(0x1ae)](existsSync,_0x5a0176))return[];const _0x3a927d=[];try{const _0x505c84=await readdir(_0x5a0176,{'withFileTypes':!![]});for(const _0x17359a of _0x505c84){if(_0x17359a['isDirectory']()){const _0x266ec5=join(_0x5a0176,_0x17359a['name'],'SKILL.md');if(existsSync(_0x266ec5)){let _0xdec34d=_0x17359a['name'];try{const _0x278041=await readFile(_0x266ec5,_0x114de1['GDAtu']),_0x4e4db9=_0x278041[_0x2676df(0x1d5)](/name:\s*(.+)/);_0x4e4db9&&(_0xdec34d=_0x4e4db9[0x1][_0x2676df(0x1db)]());}catch{}_0x3a927d['push']({'name':_0x17359a[_0x2676df(0x1e2)],'displayName':_0xdec34d,'path':_0x266ec5,'level':_0x1d217b});}}}}catch{return[];}return _0x3a927d;}async function getInstalledSkills(){const _0x45cc90=_0x524bc4,_0x53f54e={'afzXm':function(_0xe387a1,_0x533abc,_0x53fabb){return _0xe387a1(_0x533abc,_0x53fabb);},'nheuQ':function(_0x4f6092){return _0x4f6092();}},[_0x418cb1,_0x283949]=await Promise['all']([_0x53f54e[_0x45cc90(0x1de)](getSkillsFromDir,_0x53f54e[_0x45cc90(0x1dd)](getProjectSkillsDir),'project'),getSkillsFromDir(getUserSkillsDir(),_0x45cc90(0x1cc))]);return{'project':_0x418cb1,'user':_0x283949};}async function getEnvironments(){const _0x413436=_0x524bc4,_0x3dba93={'QiFTH':function(_0x53efdb,_0xec1d3b){return _0x53efdb(_0xec1d3b);},'Ogmjh':function(_0x2a9b7c,_0x3712cd,_0x10f325){return _0x2a9b7c(_0x3712cd,_0x10f325);},'lfbxa':function(_0x4c137e){return _0x4c137e();},'ZvrTK':function(_0x2b455e,_0x4c121b){return _0x2b455e(_0x4c121b);}},{envNames:_0x369797,activeEnv:_0x3a0b3f}=await _0x3dba93[_0x413436(0x1ce)](getEnvNames),_0x550c33=getRangerDir();if(!_0x3dba93['ZvrTK'](existsSync,_0x550c33))return{'envs':[],'activeEnv':null};const _0x1f8c68=_0x369797[_0x413436(0x1c4)](_0x16d5a7=>{const _0x277d45=_0x413436,_0x2932a6=_0x3dba93[_0x277d45(0x1ab)](getEnvDir,_0x16d5a7),_0x49a9a4=_0x3dba93['Ogmjh'](join,_0x2932a6,_0x277d45(0x1a3)),_0x13b9f3=join(_0x2932a6,'auth.json'),_0x265c4b=join(_0x2932a6,'auth.json.enc');return{'name':_0x16d5a7,'settingsPath':existsSync(_0x49a9a4)?_0x49a9a4:_0x277d45(0x1c9),'hasPlaintextAuth':existsSync(_0x13b9f3),'hasEncryptedAuth':existsSync(_0x265c4b),'isActive':_0x16d5a7===_0x3a0b3f};});return{'envs':_0x1f8c68,'activeEnv':_0x3a0b3f};}export async function status(){const _0x571f8a=_0x524bc4,_0x2f813b={'vrleW':function(_0xc1ac57){return _0xc1ac57();},'RtjnZ':function(_0x2314a7,_0x321c37){return _0x2314a7(_0x321c37);},'xAFFz':function(_0x275acf,_0x342f18){return _0x275acf(_0x342f18);},'IsOME':function(_0x56b9cf,_0x5ad4e7){return _0x56b9cf!==_0x5ad4e7;},'Pcqdx':'\x0a---\x20OpenCode\x20Plugin\x20---','UnbrS':function(_0x582104){return _0x582104();},'MavNu':function(_0x55429e,_0x2f4a16){return _0x55429e===_0x2f4a16;},'OTJcs':'not_configured','sPSGO':'\x20\x20OpenCode\x20not\x20installed\x20or\x20not\x20available','MyCgK':_0x571f8a(0x190),'FwiYT':'ranger@trailhead','KNyiu':'\x20\x20Not\x20installed','SQSky':'\x0a---\x20Skills\x20---','WOiof':_0x571f8a(0x1b6),'kkIzh':function(_0x33a118,_0x1cc6f7){return _0x33a118>_0x1cc6f7;},'UjGOs':'\x20\x20User-level:','PjxbM':function(_0x561581,_0x12aa02,_0x3f211f){return _0x561581(_0x12aa02,_0x3f211f);},'nLEIL':function(_0x45e214){return _0x45e214();},'rqquV':function(_0xc0f030,_0x2ac6b9){return _0xc0f030+_0x2ac6b9;},'iheIo':'No\x20profiles\x20configured','SEUYX':function(_0x160dd7,_0x47b8e3){return _0x160dd7(_0x47b8e3);},'AjWMg':_0x571f8a(0x1f2),'MQUIX':_0x571f8a(0x1d8),'JRPxU':_0x571f8a(0x1c6),'JEcHT':_0x571f8a(0x1a6),'UZSDa':_0x571f8a(0x1c9)};console[_0x571f8a(0x1ca)]('\x0a📊\x20Ranger\x20Status\x0a');const _0x1292c7=process[_0x571f8a(0x1eb)](),_0x5166f6=_0x2f813b['vrleW'](getRangerDir);if(!existsSync(_0x5166f6)){console['log']('Root:\x20'+link(_0x1292c7,_0x2f813b[_0x571f8a(0x1cb)](bold,_0x2f813b[_0x571f8a(0x1cb)](basename,_0x1292c7)))),console[_0x571f8a(0x1ca)](_0x571f8a(0x19b)),console['log']('\x20\x20Run:\x20ranger\x20setup\x20[token]\x0a');return;}console['log']('Root:\x20'+link(_0x1292c7,bold(_0x2f813b['xAFFz'](basename,_0x1292c7))));const _0x416e4e=_0x2f813b[_0x571f8a(0x19e)](getCurrentVersion),_0x1250cc=getLatestVersion();if(_0x1250cc[_0x571f8a(0x199)]&&_0x2f813b[_0x571f8a(0x1ac)](_0x1250cc['version'],_0x416e4e))console['log'](_0x571f8a(0x1e6)+_0x416e4e+'\x20(latest:\x20'+_0x1250cc[_0x571f8a(0x199)]+')'),console['log']('\x20\x20Run:\x20ranger\x20update');else _0x1250cc['version']?console['log']('Version:\x20'+_0x416e4e+_0x571f8a(0x194)):console[_0x571f8a(0x1ca)](_0x571f8a(0x1e6)+_0x416e4e);const _0x49e364=await getToken();if(_0x49e364){const _0x4f9566=await getCurrentUser(_0x49e364);_0x4f9566[_0x571f8a(0x1aa)]?console['log'](_0x571f8a(0x1b2)+_0x2f813b['xAFFz'](bold,_0x4f9566[_0x571f8a(0x1cc)][_0x571f8a(0x1b5)])):(console['log']('API\x20Token:\x20✓\x20Found\x20but\x20invalid\x20or\x20expired'),console['log']('\x20\x20Run:\x20ranger\x20setup\x20[token]'));}else console['log'](_0x571f8a(0x19c)),console['log']('\x20\x20Run:\x20ranger\x20setup\x20[token]');process[_0x571f8a(0x1f1)][_0x571f8a(0x1b0)]&&(console['log']('API\x20Environment:\x20'+_0x2f813b['vrleW'](getCurrentEnvironment)),console[_0x571f8a(0x1ca)]('API\x20URL:\x20'+getApiBaseUrl()));console['log'](_0x2f813b['Pcqdx']);const _0x1da32f=await _0x2f813b[_0x571f8a(0x1b4)](getOpencodePluginStatus);if(_0x2f813b[_0x571f8a(0x1d4)](_0x1da32f[_0x571f8a(0x197)],_0x571f8a(0x1e5)))console[_0x571f8a(0x1ca)]('\x20\x20'+bold(_0x571f8a(0x1a4))+_0x571f8a(0x1f4)),_0x1da32f[_0x571f8a(0x1d2)]&&console['log']('\x20\x20'+_0x1da32f['details']);else _0x1da32f['status']===_0x2f813b[_0x571f8a(0x1bc)]?(console['log'](_0x571f8a(0x1a2)),_0x1da32f[_0x571f8a(0x1d2)]&&console['log']('\x20\x20'+_0x1da32f['details']),console['log'](_0x571f8a(0x1d6))):console['log'](_0x2f813b[_0x571f8a(0x192)]);console['log'](_0x2f813b[_0x571f8a(0x1cd)]);const _0x326953=await _0x2f813b['xAFFz'](getPluginInfo,_0x2f813b[_0x571f8a(0x1c2)]);if(_0x326953){const _0x2d88c1=_0x326953[_0x571f8a(0x1df)]||_0x571f8a(0x1be),_0x3f6862=_0x326953['enabled']?_0x571f8a(0x1bf):_0x571f8a(0x1b8);console[_0x571f8a(0x1ca)]('\x20\x20'+bold(_0x2f813b['FwiYT'])+':\x20installed\x20('+_0x2d88c1+',\x20'+_0x3f6862+')');}else console['log'](_0x2f813b['KNyiu']),console[_0x571f8a(0x1ca)]('\x20\x20Run:\x20ranger\x20setup\x20[token]\x20\x20(includes\x20plugin\x20installation)');console['log'](_0x2f813b['SQSky']);const {project:_0x2774bb,user:_0xa0f692}=await getInstalledSkills(),_0x11bda5=_0x2774bb['filter'](_0x310027=>RANGER_MANAGED_SKILLS['includes'](_0x310027[_0x571f8a(0x1e2)])),_0x5d0685=_0xa0f692['filter'](_0x207f7a=>RANGER_MANAGED_SKILLS['includes'](_0x207f7a['name'])),_0x28dee7=_0x11bda5[_0x571f8a(0x1f5)]+_0x5d0685['length'];if(_0x28dee7===0x0)console[_0x571f8a(0x1ca)](_0x571f8a(0x1ed)),console['log']('\x20\x20Run:\x20ranger\x20skillup');else{if(_0x11bda5[_0x571f8a(0x1f5)]>0x0){console['log'](_0x2f813b[_0x571f8a(0x19a)]);for(const _0x41ed96 of _0x11bda5){console[_0x571f8a(0x1ca)](_0x571f8a(0x1bb)+_0x2f813b[_0x571f8a(0x1cb)](bold,_0x41ed96['displayName'])+':\x20'+link(_0x41ed96[_0x571f8a(0x1e9)],basename(_0x41ed96[_0x571f8a(0x1e9)])));}}if(_0x2f813b['kkIzh'](_0x5d0685[_0x571f8a(0x1f5)],0x0)){console[_0x571f8a(0x1ca)](_0x2f813b[_0x571f8a(0x1ea)]);for(const _0x4b0a61 of _0x5d0685){console['log']('\x20\x20\x20\x20'+_0x2f813b['RtjnZ'](bold,_0x4b0a61['displayName'])+':\x20'+_0x2f813b[_0x571f8a(0x1c7)](link,_0x4b0a61['path'],basename(_0x4b0a61[_0x571f8a(0x1e9)])));}}}console['log']('\x0a---\x20Profiles\x20---');const {envs:_0x1eff58,activeEnv:_0x3ed58c}=await _0x2f813b['nLEIL'](getEnvironments);let _0x480630=[];if(_0x49e364)try{_0x480630=await listCloudProfiles();}catch{}const _0x23d809=_0x2f813b[_0x571f8a(0x1cf)](_0x1eff58['length'],_0x480630['length']);if(_0x23d809===0x0)console['log'](_0x2f813b[_0x571f8a(0x1ad)]),console['log']('\x20\x20Run:\x20ranger\x20profile\x20add\x20<profile-name>');else{if(_0x2f813b[_0x571f8a(0x1a8)](_0x23d809,0x5)){const _0x469893=[];_0x480630[_0x571f8a(0x1f5)]>0x0&&_0x469893[_0x571f8a(0x1c5)](_0x480630['length']+'\x20cloud'),_0x1eff58['length']>0x0&&_0x469893['push'](_0x1eff58['length']+'\x20local'),console[_0x571f8a(0x1ca)](_0x23d809+'\x20profiles\x20configured\x20('+_0x469893[_0x571f8a(0x1f3)](',\x20')+')'),_0x3ed58c&&console[_0x571f8a(0x1ca)]('\x20\x20Active:\x20'+bold(_0x3ed58c)),console[_0x571f8a(0x1ca)]('\x20\x20Run:\x20ranger\x20profile\x20ls\x20\x20(list\x20all)');}else{for(const _0x329962 of _0x480630){const _0x1b7bc1=_0x329962['name']===_0x3ed58c?'\x20(active)':'';console[_0x571f8a(0x1ca)]('\x20\x20'+_0x2f813b['SEUYX'](bold,_0x329962['name'])+'\x20[cloud]'+_0x1b7bc1);const _0x4c4bfb=_0x329962[_0x571f8a(0x196)]?_0x571f8a(0x1c0)+_0x329962[_0x571f8a(0x196)]+')':_0x571f8a(0x1d9);console['log']('\x20\x20\x20\x20Session:\x20'+_0x4c4bfb);}const _0x579fe9=new Set(_0x480630['map'](_0x36295c=>_0x36295c['name']));for(const _0x40fd64 of _0x1eff58){if(_0x579fe9['has'](_0x40fd64[_0x571f8a(0x1e2)]))continue;const _0x4f7853=_0x40fd64['isActive']?_0x2f813b['AjWMg']:'',_0x9d72c6=_0x40fd64[_0x571f8a(0x1ee)]?_0x2f813b[_0x571f8a(0x1ba)]:_0x40fd64[_0x571f8a(0x1e7)]?_0x2f813b['JRPxU']:_0x2f813b[_0x571f8a(0x1d7)];console[_0x571f8a(0x1ca)]('\x20\x20'+bold(_0x40fd64[_0x571f8a(0x1e2)])+_0x571f8a(0x1c1)+_0x4f7853),console['log']('\x20\x20\x20\x20Auth:\x20'+_0x9d72c6),_0x2f813b[_0x571f8a(0x1ac)](_0x40fd64[_0x571f8a(0x1e8)],_0x2f813b['UZSDa'])&&console[_0x571f8a(0x1ca)](_0x571f8a(0x1dc)+_0x2f813b[_0x571f8a(0x1c7)](link,_0x40fd64['settingsPath'],basename(_0x40fd64['settingsPath'])));}if(!_0x3ed58c){console[_0x571f8a(0x1ca)](_0x571f8a(0x1b3));const _0x94a619=[..._0x480630[_0x571f8a(0x1c4)](_0x4d20f6=>_0x4d20f6['name']),..._0x1eff58[_0x571f8a(0x1c3)](_0x32bb8c=>!_0x579fe9['has'](_0x32bb8c[_0x571f8a(0x1e2)]))['map'](_0x2ba15d=>_0x2ba15d['name'])];console[_0x571f8a(0x1ca)](_0x571f8a(0x1a9)+_0x94a619['join'](',\x20')+')');}}}console[_0x571f8a(0x1ca)]('');}function _0x3340(){const _0x42dc24=['\x20\x20\x20\x20Settings:\x20','nheuQ','afzXm','scope','brYDz','some','name','4921248JmoCqD','BJsHS','configured','Version:\x20','hasPlaintextAuth','settingsPath','path','UjGOs','cwd','2011314ovYUSv','No\x20skills\x20installed','hasEncryptedAuth','6rEFuCH','zopOf','env','\x20(active)','join',':\x20configured','length','17665TRgxbp','510EXfRaV','\x0a---\x20Claude\x20Code\x20Plugin\x20---','not_configured','sPSGO','toString','\x20(up\x20to\x20date)','\x1b]8;;file://','sessionUpdatedAt','status','config','version','WOiof','\x0aRanger\x20has\x20not\x20been\x20initialized\x20in\x20this\x20directory.','API\x20Token:\x20✗\x20Not\x20found','stderr','vrleW','WfjVP','error','wyNlN','\x20\x20Not\x20configured','settings.json','@ranger-testing/opencode-plugin','2598043KKopSI','none','utf-8','kkIzh','\x20\x20Run:\x20ranger\x20profile\x20use\x20<profile-name>\x20\x20(available:\x20','success','QiFTH','IsOME','iheIo','PlLjt','3KAIQuh','DEBUG','not_installed','Organization:\x20','\x0a\x20\x20No\x20active\x20profile\x20set','UnbrS','organizationName','\x20\x20Project-level:','KKIaw','disabled','data','MQUIX','\x20\x20\x20\x20','OTJcs','1080511ubozTL','unknown','enabled','cached\x20(updated\x20','\x20[local]','FwiYT','filter','map','push','plaintext','PjxbM','GQjIf','(not\x20found)','log','RtjnZ','user','MyCgK','lfbxa','rqquV','32328sgLQdz','2191876wfsZvt','details','dCyYz','MavNu','match','\x20\x20Run:\x20ranger\x20setup\x20--opencode','JEcHT','encrypted','no\x20session','plugin','trim'];_0x3340=function(){return _0x42dc24;};return _0x3340();}
1
+ const _0x59cd0c=_0x9fe0;(function(_0x4e3336,_0x51b35b){const _0x3b63ac=_0x9fe0,_0x4baf48=_0x4e3336();while(!![]){try{const _0x62dd30=-parseInt(_0x3b63ac(0x197))/0x1*(parseInt(_0x3b63ac(0x17c))/0x2)+-parseInt(_0x3b63ac(0x185))/0x3+parseInt(_0x3b63ac(0x190))/0x4+-parseInt(_0x3b63ac(0x198))/0x5+-parseInt(_0x3b63ac(0x16e))/0x6+parseInt(_0x3b63ac(0x167))/0x7+parseInt(_0x3b63ac(0x145))/0x8*(parseInt(_0x3b63ac(0x14c))/0x9);if(_0x62dd30===_0x51b35b)break;else _0x4baf48['push'](_0x4baf48['shift']());}catch(_0x21791d){_0x4baf48['push'](_0x4baf48['shift']());}}}(_0x23a1,0xcccdc));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';function _0x23a1(){const _0x1a07b8=['auth.json','\x20\x20OpenCode\x20not\x20installed\x20or\x20not\x20available',':\x20installed\x20(','tiXRN','opencode-plugin','8611379ReXuMI','plugin','\x20\x20User-level:','status','match','API\x20Token:\x20✗\x20Not\x20found','iDOck','766506wjqfWU','\x20plugin(s)\x20configured','\x1b]8;;\x07','toString','\x20(up\x20to\x20date)','ignore','MuVGF','settings.json','unknown','name','@ranger-testing/opencode-plugin','\x20local','EeTee','\x0a📊\x20Ranger\x20Status\x0a','41656Vyxyqc','vVoNi','pCXZh','\x20\x20\x20\x20Auth:\x20','(not\x20found)','ranger@trailhead','SGksW','\x20\x20Run:\x20ranger\x20setup\x20[token]\x20\x20(includes\x20plugin\x20installation)','success','145887saqPIQ','details','\x20\x20Not\x20configured','Version:\x20','not_configured','mOjBr','length','DEBUG','push','yhAHT','map','695356ZvaBJr','parse','\x0a---\x20Profiles\x20---','\x20cloud','\x20\x20Run:\x20ranger\x20skillup','AxAPr','some','56aBpOzr','2907875AIqZwB','bhWRP','sessionUpdatedAt','\x20\x20Run:\x20ranger\x20profile\x20add\x20<profile-name>','settingsPath','\x0a\x20\x20No\x20active\x20profile\x20set','SKILL.md','none','auth.json.enc','fosfv','encrypted','pAjHi','\x20\x20Run:\x20ranger\x20setup\x20[token]\x0a','yXsUO','\x1b]8;;file://','not_installed','836408KBALDC','\x20\x20Run:\x20ranger\x20setup\x20[token]','rzTMw','data','iGyZR','No\x20skills\x20installed','log','117UcVdcx','xYSmn','cJmwg','RpfqI','trim','configured','has','CRzRN','hasEncryptedAuth','EMmFK','ZzDJA','DIyWA','filter','YegQw','join','Root:\x20','includes','YfDqU','version','API\x20Environment:\x20','cwd','displayName'];_0x23a1=function(){return _0x1a07b8;};return _0x23a1();}import{getEnvDir}from'./utils/settings.js';import{listCloudProfiles}from'./utils/cloudProfile.js';import{getPluginInfo}from'./utils/claudePlugin.js';function _0x9fe0(_0x126316,_0x55d0c1){_0x126316=_0x126316-0x13a;const _0x23a1ba=_0x23a1();let _0x9fe021=_0x23a1ba[_0x126316];return _0x9fe021;}import{RANGER_MANAGED_SKILLS}from'./utils/skills.js';import{spawn}from'child_process';const bold=_0x1d870d=>'\x1b[1m'+_0x1d870d+'\x1b[0m',link=(_0x399b64,_0x27a64a)=>_0x59cd0c(0x143)+_0x399b64+'\x07'+(_0x27a64a||_0x399b64)+_0x59cd0c(0x170);async function getOpencodePluginStatus(){const _0x5858a3=_0x59cd0c,_0x2b8df5={'EeTee':function(_0x3597f6,_0x413ad0){return _0x3597f6!==_0x413ad0;},'EMmFK':function(_0x5de81b,_0x5af777){return _0x5de81b!==_0x5af777;},'IVooJ':function(_0x2478cb,_0x3f5331){return _0x2478cb(_0x3f5331);},'CRzRN':_0x5858a3(0x151),'rzTMw':function(_0x530094,_0x1dba18){return _0x530094>_0x1dba18;},'XfIWR':function(_0x251a7c,_0x3fb321){return _0x251a7c(_0x3fb321);},'tiXRN':function(_0x1ea4bb,_0x52229e,_0x247f2d,_0x377155){return _0x1ea4bb(_0x52229e,_0x247f2d,_0x377155);},'bVEmL':'opencode','ZQaaj':'pipe','dUJKg':'error'};return new Promise(_0x413596=>{const _0x4ec2cc=_0x5858a3,_0x49d4bb={'Rgixm':function(_0x36cff3,_0x14d7ca){return _0x2b8df5['XfIWR'](_0x36cff3,_0x14d7ca);},'xJrRF':_0x4ec2cc(0x144)},_0x432bbc=_0x2b8df5[_0x4ec2cc(0x165)](spawn,_0x2b8df5['bVEmL'],['debug','config'],{'stdio':[_0x4ec2cc(0x173),_0x2b8df5['ZQaaj'],_0x2b8df5['ZQaaj']]});let _0x2dfbb7='';_0x432bbc['stdout']?.['on'](_0x4ec2cc(0x148),_0x49e3df=>{const _0x5e9a5b=_0x4ec2cc;_0x2dfbb7+=_0x49e3df[_0x5e9a5b(0x171)]();}),_0x432bbc['stderr']?.['on']('data',_0x285295=>{const _0x240be5=_0x4ec2cc;_0x2dfbb7+=_0x285295[_0x240be5(0x171)]();}),_0x432bbc['on'](_0x2b8df5['dUJKg'],()=>{_0x49d4bb['Rgixm'](_0x413596,{'status':_0x49d4bb['xJrRF']});}),_0x432bbc['on']('close',_0x19687d=>{const _0x56551c=_0x4ec2cc,_0x25faba={'paNGW':function(_0x36bdea,_0x89aabb){const _0x5c6672=_0x9fe0;return _0x2b8df5[_0x5c6672(0x17a)](_0x36bdea,_0x89aabb);}};if(_0x2b8df5[_0x56551c(0x155)](_0x19687d,0x0)){_0x413596({'status':_0x56551c(0x144)});return;}const _0x659f0a=_0x2dfbb7[_0x56551c(0x150)]();let _0x58d490=null;if(_0x659f0a)try{_0x58d490=JSON['parse'](_0x659f0a);}catch{const _0x18494c=_0x659f0a[_0x56551c(0x16b)](/\{[\s\S]*\}$/);if(_0x18494c)try{_0x58d490=JSON[_0x56551c(0x191)](_0x18494c[0x0]);}catch{_0x58d490=null;}}const _0x1d4056=Array['isArray'](_0x58d490?.[_0x56551c(0x168)])?_0x58d490?.[_0x56551c(0x168)]:[],_0xf4a79d=_0x1d4056[_0x56551c(0x196)](_0x42ccaf=>{const _0x369192=_0x56551c;if(_0x25faba['paNGW'](typeof _0x42ccaf,'string'))return![];return _0x42ccaf['includes'](_0x369192(0x178))||_0x42ccaf['includes'](_0x369192(0x166));});if(_0xf4a79d){_0x2b8df5['IVooJ'](_0x413596,{'status':_0x2b8df5[_0x56551c(0x153)],'details':_0x1d4056[_0x56551c(0x18b)]>0x0?_0x1d4056[_0x56551c(0x18b)]+'\x20plugin(s)\x20configured':undefined});return;}if(_0x2b8df5[_0x56551c(0x147)](_0x1d4056[_0x56551c(0x18b)],0x0)){_0x413596({'status':'not_configured','details':_0x1d4056['length']+_0x56551c(0x16f)});return;}_0x2b8df5['IVooJ'](_0x413596,{'status':_0x56551c(0x189)});});});}async function getSkillsFromDir(_0x24c236,_0x19f141){const _0x436eec=_0x59cd0c,_0x206bf0={'yXsUO':function(_0x3b71c1,_0x1d4358){return _0x3b71c1(_0x1d4358);},'bhWRP':function(_0x5c8a21,_0x5cf2ab,_0x3e9897,_0x44d889){return _0x5c8a21(_0x5cf2ab,_0x3e9897,_0x44d889);},'fosfv':'utf-8'};if(!_0x206bf0[_0x436eec(0x142)](existsSync,_0x24c236))return[];const _0x2012b4=[];try{const _0x577795=await readdir(_0x24c236,{'withFileTypes':!![]});for(const _0x4f3cb7 of _0x577795){if(_0x4f3cb7['isDirectory']()){const _0x45f9ba=_0x206bf0[_0x436eec(0x199)](join,_0x24c236,_0x4f3cb7['name'],_0x436eec(0x13b));if(existsSync(_0x45f9ba)){let _0x564414=_0x4f3cb7[_0x436eec(0x177)];try{const _0x2023ef=await readFile(_0x45f9ba,_0x206bf0[_0x436eec(0x13e)]),_0x196712=_0x2023ef['match'](/name:\s*(.+)/);_0x196712&&(_0x564414=_0x196712[0x1][_0x436eec(0x150)]());}catch{}_0x2012b4[_0x436eec(0x18d)]({'name':_0x4f3cb7[_0x436eec(0x177)],'displayName':_0x564414,'path':_0x45f9ba,'level':_0x19f141});}}}}catch{return[];}return _0x2012b4;}async function getInstalledSkills(){const _0x50dd7f={'wEoRH':'user'},[_0x2d463e,_0x23ff22]=await Promise['all']([getSkillsFromDir(getProjectSkillsDir(),'project'),getSkillsFromDir(getUserSkillsDir(),_0x50dd7f['wEoRH'])]);return{'project':_0x2d463e,'user':_0x23ff22};}async function getEnvironments(){const _0x1ebfc5=_0x59cd0c,_0x80804b={'YfDqU':function(_0x1a6d18,_0x2145b9){return _0x1a6d18(_0x2145b9);},'FflOh':function(_0x20ab5b,_0x511ee0,_0x2e20a4){return _0x20ab5b(_0x511ee0,_0x2e20a4);},'DIyWA':function(_0x2692f4,_0x55e2e9,_0x3736a5){return _0x2692f4(_0x55e2e9,_0x3736a5);},'vVoNi':function(_0x2993e6,_0x31f23e){return _0x2993e6(_0x31f23e);},'iGyZR':function(_0x1d9a6f,_0x3f3448){return _0x1d9a6f===_0x3f3448;}},{envNames:_0x408638,activeEnv:_0x542695}=await getEnvNames(),_0x10e919=getRangerDir();if(!existsSync(_0x10e919))return{'envs':[],'activeEnv':null};const _0x3baeb9=_0x408638[_0x1ebfc5(0x18f)](_0x3c9d7c=>{const _0x158705=_0x1ebfc5,_0xea0b55=_0x80804b['YfDqU'](getEnvDir,_0x3c9d7c),_0x48d7c4=_0x80804b['FflOh'](join,_0xea0b55,_0x158705(0x175)),_0x541f35=_0x80804b[_0x158705(0x157)](join,_0xea0b55,_0x158705(0x162)),_0x1cf3fd=join(_0xea0b55,_0x158705(0x13d));return{'name':_0x3c9d7c,'settingsPath':_0x80804b[_0x158705(0x15d)](existsSync,_0x48d7c4)?_0x48d7c4:_0x158705(0x180),'hasPlaintextAuth':_0x80804b[_0x158705(0x15d)](existsSync,_0x541f35),'hasEncryptedAuth':_0x80804b[_0x158705(0x17d)](existsSync,_0x1cf3fd),'isActive':_0x80804b[_0x158705(0x149)](_0x3c9d7c,_0x542695)};});return{'envs':_0x3baeb9,'activeEnv':_0x542695};}export async function status(){const _0x1803bb=_0x59cd0c,_0x5d2104={'mOjBr':function(_0x64d096,_0x531c13){return _0x64d096(_0x531c13);},'MuVGF':function(_0x42cbff,_0x285cb0){return _0x42cbff(_0x285cb0);},'RpfqI':function(_0x22e456,_0x2579b7,_0x55e346){return _0x22e456(_0x2579b7,_0x55e346);},'NRAbF':function(_0x44fb6c){return _0x44fb6c();},'SGksW':function(_0x32c5e9,_0x308006){return _0x32c5e9!==_0x308006;},'LjaSg':'\x0a---\x20OpenCode\x20Plugin\x20---','pCXZh':function(_0x436b93,_0x5994d3){return _0x436b93===_0x5994d3;},'cCfdo':'configured','YegQw':function(_0x1befbf,_0x176da6){return _0x1befbf(_0x176da6);},'pMzRT':_0x1803bb(0x189),'dTlSu':'\x20\x20Run:\x20ranger\x20setup\x20--opencode','xYSmn':'\x0a---\x20Claude\x20Code\x20Plugin\x20---','pYUsR':_0x1803bb(0x181),'AxAPr':_0x1803bb(0x183),'mWBjG':'\x0a---\x20Skills\x20---','ocVjb':function(_0xf3f46f,_0x2d12fb){return _0xf3f46f+_0x2d12fb;},'pAjHi':function(_0x20997d,_0x42aa96){return _0x20997d>_0x42aa96;},'CPclb':function(_0x2db62d,_0x5ae109){return _0x2db62d>_0x5ae109;},'SYdVl':_0x1803bb(0x169),'QzJfJ':function(_0x2058ee,_0x259a4b){return _0x2058ee(_0x259a4b);},'cJmwg':_0x1803bb(0x192),'yhAHT':function(_0x4100e9){return _0x4100e9();},'GjyJp':'No\x20profiles\x20configured','vuJMd':function(_0x50842d,_0x5df0ae){return _0x50842d>_0x5df0ae;},'iDOck':'no\x20session','XtzqN':function(_0x3b87f2,_0x539c3b){return _0x3b87f2!==_0x539c3b;},'ZzDJA':'(not\x20found)','qtgOr':function(_0xeec791,_0x561771,_0x36e547){return _0xeec791(_0x561771,_0x36e547);}};console['log'](_0x1803bb(0x17b));const _0x54a905=process[_0x1803bb(0x160)](),_0x3e3cdd=getRangerDir();if(!_0x5d2104['mOjBr'](existsSync,_0x3e3cdd)){console['log']('Root:\x20'+link(_0x54a905,bold(_0x5d2104[_0x1803bb(0x174)](basename,_0x54a905)))),console['log']('\x0aRanger\x20has\x20not\x20been\x20initialized\x20in\x20this\x20directory.'),console[_0x1803bb(0x14b)](_0x1803bb(0x141));return;}console['log'](_0x1803bb(0x15b)+_0x5d2104[_0x1803bb(0x14f)](link,_0x54a905,_0x5d2104['mOjBr'](bold,_0x5d2104[_0x1803bb(0x18a)](basename,_0x54a905))));const _0x54d498=_0x5d2104['NRAbF'](getCurrentVersion),_0x139b9f=getLatestVersion();if(_0x139b9f[_0x1803bb(0x15e)]&&_0x5d2104[_0x1803bb(0x182)](_0x139b9f['version'],_0x54d498))console[_0x1803bb(0x14b)](_0x1803bb(0x188)+_0x54d498+'\x20(latest:\x20'+_0x139b9f[_0x1803bb(0x15e)]+')'),console[_0x1803bb(0x14b)]('\x20\x20Run:\x20ranger\x20update');else _0x139b9f[_0x1803bb(0x15e)]?console[_0x1803bb(0x14b)]('Version:\x20'+_0x54d498+_0x1803bb(0x172)):console['log'](_0x1803bb(0x188)+_0x54d498);const _0x1bc441=await getToken();if(_0x1bc441){const _0x2c5ac6=await getCurrentUser(_0x1bc441);_0x2c5ac6[_0x1803bb(0x184)]?console['log']('Organization:\x20'+_0x5d2104[_0x1803bb(0x18a)](bold,_0x2c5ac6['user']['organizationName'])):(console['log']('API\x20Token:\x20✓\x20Found\x20but\x20invalid\x20or\x20expired'),console[_0x1803bb(0x14b)](_0x1803bb(0x146)));}else console[_0x1803bb(0x14b)](_0x1803bb(0x16c)),console[_0x1803bb(0x14b)](_0x1803bb(0x146));process['env'][_0x1803bb(0x18c)]&&(console[_0x1803bb(0x14b)](_0x1803bb(0x15f)+getCurrentEnvironment()),console[_0x1803bb(0x14b)]('API\x20URL:\x20'+getApiBaseUrl()));console['log'](_0x5d2104['LjaSg']);const _0x2972bb=await getOpencodePluginStatus();if(_0x5d2104[_0x1803bb(0x17e)](_0x2972bb[_0x1803bb(0x16a)],_0x5d2104['cCfdo']))console['log']('\x20\x20'+_0x5d2104['YegQw'](bold,'@ranger-testing/opencode-plugin')+':\x20configured'),_0x2972bb[_0x1803bb(0x186)]&&console[_0x1803bb(0x14b)]('\x20\x20'+_0x2972bb[_0x1803bb(0x186)]);else _0x2972bb['status']===_0x5d2104['pMzRT']?(console['log'](_0x1803bb(0x187)),_0x2972bb[_0x1803bb(0x186)]&&console['log']('\x20\x20'+_0x2972bb['details']),console['log'](_0x5d2104['dTlSu'])):console[_0x1803bb(0x14b)](_0x1803bb(0x163));console['log'](_0x5d2104[_0x1803bb(0x14d)]);const _0x4454f4=await getPluginInfo(_0x5d2104['pYUsR']);if(_0x4454f4){const _0x83042b=_0x4454f4['scope']||_0x1803bb(0x176),_0x52a1d1=_0x4454f4['enabled']?'enabled':'disabled';console[_0x1803bb(0x14b)]('\x20\x20'+bold(_0x1803bb(0x181))+_0x1803bb(0x164)+_0x83042b+',\x20'+_0x52a1d1+')');}else console[_0x1803bb(0x14b)]('\x20\x20Not\x20installed'),console[_0x1803bb(0x14b)](_0x5d2104[_0x1803bb(0x195)]);console['log'](_0x5d2104['mWBjG']);const {project:_0x31ad8b,user:_0x23be5e}=await getInstalledSkills(),_0x521956=_0x31ad8b['filter'](_0x153b15=>RANGER_MANAGED_SKILLS['includes'](_0x153b15[_0x1803bb(0x177)])),_0x7a80ef=_0x23be5e[_0x1803bb(0x158)](_0xe543f8=>RANGER_MANAGED_SKILLS[_0x1803bb(0x15c)](_0xe543f8['name'])),_0x2f559b=_0x5d2104['ocVjb'](_0x521956[_0x1803bb(0x18b)],_0x7a80ef[_0x1803bb(0x18b)]);if(_0x2f559b===0x0)console[_0x1803bb(0x14b)](_0x1803bb(0x14a)),console[_0x1803bb(0x14b)](_0x1803bb(0x194));else{if(_0x5d2104[_0x1803bb(0x140)](_0x521956[_0x1803bb(0x18b)],0x0)){console['log']('\x20\x20Project-level:');for(const _0xe03a08 of _0x521956){console[_0x1803bb(0x14b)]('\x20\x20\x20\x20'+bold(_0xe03a08[_0x1803bb(0x161)])+':\x20'+_0x5d2104['RpfqI'](link,_0xe03a08['path'],basename(_0xe03a08['path'])));}}if(_0x5d2104['CPclb'](_0x7a80ef['length'],0x0)){console['log'](_0x5d2104['SYdVl']);for(const _0x2f7f6f of _0x7a80ef){console[_0x1803bb(0x14b)]('\x20\x20\x20\x20'+_0x5d2104['YegQw'](bold,_0x2f7f6f['displayName'])+':\x20'+link(_0x2f7f6f['path'],_0x5d2104['QzJfJ'](basename,_0x2f7f6f['path'])));}}}console['log'](_0x5d2104[_0x1803bb(0x14e)]);const {envs:_0x3efecc,activeEnv:_0x574f81}=await getEnvironments();let _0x1a194c=[];if(_0x1bc441)try{_0x1a194c=await _0x5d2104[_0x1803bb(0x18e)](listCloudProfiles);}catch{}const _0x1a98be=_0x3efecc[_0x1803bb(0x18b)]+_0x1a194c[_0x1803bb(0x18b)];if(_0x1a98be===0x0)console[_0x1803bb(0x14b)](_0x5d2104['GjyJp']),console[_0x1803bb(0x14b)](_0x1803bb(0x19b));else{if(_0x5d2104['CPclb'](_0x1a98be,0x5)){const _0x3718ff=[];_0x1a194c[_0x1803bb(0x18b)]>0x0&&_0x3718ff['push'](_0x1a194c[_0x1803bb(0x18b)]+_0x1803bb(0x193)),_0x5d2104['vuJMd'](_0x3efecc[_0x1803bb(0x18b)],0x0)&&_0x3718ff[_0x1803bb(0x18d)](_0x3efecc[_0x1803bb(0x18b)]+_0x1803bb(0x179)),console['log'](_0x1a98be+'\x20profiles\x20configured\x20('+_0x3718ff['join'](',\x20')+')'),_0x574f81&&console['log']('\x20\x20Active:\x20'+_0x5d2104['mOjBr'](bold,_0x574f81)),console[_0x1803bb(0x14b)]('\x20\x20Run:\x20ranger\x20profile\x20ls\x20\x20(list\x20all)');}else{for(const _0x33047f of _0x1a194c){const _0x1be2e0=_0x5d2104['pCXZh'](_0x33047f[_0x1803bb(0x177)],_0x574f81)?'\x20(active)':'';console['log']('\x20\x20'+bold(_0x33047f[_0x1803bb(0x177)])+'\x20[cloud]'+_0x1be2e0);const _0xa30b10=_0x33047f['sessionUpdatedAt']?'cached\x20(updated\x20'+_0x33047f[_0x1803bb(0x19a)]+')':_0x5d2104[_0x1803bb(0x16d)];console[_0x1803bb(0x14b)]('\x20\x20\x20\x20Session:\x20'+_0xa30b10);}const _0x55d520=new Set(_0x1a194c['map'](_0x5f1fd1=>_0x5f1fd1['name']));for(const _0x1fc13c of _0x3efecc){if(_0x55d520['has'](_0x1fc13c['name']))continue;const _0x4f92a9=_0x1fc13c['isActive']?'\x20(active)':'',_0x21d9c3=_0x1fc13c[_0x1803bb(0x154)]?_0x1803bb(0x13f):_0x1fc13c['hasPlaintextAuth']?'plaintext':_0x1803bb(0x13c);console['log']('\x20\x20'+bold(_0x1fc13c['name'])+'\x20[local]'+_0x4f92a9),console['log'](_0x1803bb(0x17f)+_0x21d9c3),_0x5d2104['XtzqN'](_0x1fc13c['settingsPath'],_0x5d2104[_0x1803bb(0x156)])&&console[_0x1803bb(0x14b)]('\x20\x20\x20\x20Settings:\x20'+_0x5d2104['qtgOr'](link,_0x1fc13c[_0x1803bb(0x19c)],_0x5d2104[_0x1803bb(0x159)](basename,_0x1fc13c[_0x1803bb(0x19c)])));}if(!_0x574f81){console['log'](_0x1803bb(0x13a));const _0x2009e2=[..._0x1a194c[_0x1803bb(0x18f)](_0x375ee4=>_0x375ee4[_0x1803bb(0x177)]),..._0x3efecc['filter'](_0x5c6bff=>!_0x55d520[_0x1803bb(0x152)](_0x5c6bff[_0x1803bb(0x177)]))[_0x1803bb(0x18f)](_0x2ce676=>_0x2ce676[_0x1803bb(0x177)])];console[_0x1803bb(0x14b)]('\x20\x20Run:\x20ranger\x20profile\x20use\x20<profile-name>\x20\x20(available:\x20'+_0x2009e2[_0x1803bb(0x15a)](',\x20')+')');}}}console[_0x1803bb(0x14b)]('');}