@ranger-testing/ranger-cli 3.1.6-alpha.4287155-52 → 3.1.6-alpha.4de822b-51

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (86) hide show
  1. package/build/cli.js +1 -1
  2. package/build/commands/addEnv.js +1 -1
  3. package/build/commands/authEncrypt.js +1 -1
  4. package/build/commands/clean.js +1 -1
  5. package/build/commands/config.js +1 -1
  6. package/build/commands/deleteProfile.js +1 -1
  7. package/build/commands/env.js +1 -1
  8. package/build/commands/feature.js +1 -1
  9. package/build/commands/hook.js +1 -1
  10. package/build/commands/hooks/autoPrompt.js +1 -1
  11. package/build/commands/hooks/disable.js +1 -1
  12. package/build/commands/hooks/enable.js +1 -1
  13. package/build/commands/hooks/exitPlanMode.js +1 -1
  14. package/build/commands/hooks/index.js +1 -1
  15. package/build/commands/hooks/output.js +1 -1
  16. package/build/commands/hooks/planReminder.js +1 -1
  17. package/build/commands/hooks/planStart.js +1 -1
  18. package/build/commands/hooks/postEdit.js +1 -1
  19. package/build/commands/hooks/preCompact.js +1 -1
  20. package/build/commands/hooks/sessionEnd.js +1 -1
  21. package/build/commands/hooks/sessionStart.js +1 -1
  22. package/build/commands/hooks/stopHook.js +1 -1
  23. package/build/commands/index.js +1 -1
  24. package/build/commands/login.js +1 -1
  25. package/build/commands/mcpBootstrap.js +1 -1
  26. package/build/commands/migrateProfile.js +1 -1
  27. package/build/commands/setup/claude.js +1 -1
  28. package/build/commands/setup/opencode.js +1 -1
  29. package/build/commands/setupCi.js +1 -1
  30. package/build/commands/skillup.js +1 -1
  31. package/build/commands/start.js +1 -1
  32. package/build/commands/status.js +1 -1
  33. package/build/commands/update.js +1 -1
  34. package/build/commands/updateEnv.js +1 -1
  35. package/build/commands/useEnv.js +1 -1
  36. package/build/commands/utils/activeProfile.js +1 -1
  37. package/build/commands/utils/agentEnv.js +1 -1
  38. package/build/commands/utils/browserSessionsApi.js +1 -1
  39. package/build/commands/utils/claudeConfig.js +1 -1
  40. package/build/commands/utils/claudeOverrideSettings.js +1 -1
  41. package/build/commands/utils/claudePlugin.js +1 -1
  42. package/build/commands/utils/cloudProfile.js +1 -1
  43. package/build/commands/utils/cloudProfileSession.js +1 -1
  44. package/build/commands/utils/crypto.js +1 -1
  45. package/build/commands/utils/desirePathLog.js +1 -1
  46. package/build/commands/utils/deviceAuth.js +1 -1
  47. package/build/commands/utils/environment.js +1 -1
  48. package/build/commands/utils/featureApi.js +1 -1
  49. package/build/commands/utils/fixWebmDuration.js +1 -1
  50. package/build/commands/utils/gitTracked.js +1 -1
  51. package/build/commands/utils/keychain.js +1 -1
  52. package/build/commands/utils/legacyWarning.js +1 -1
  53. package/build/commands/utils/localAgentInstallationsApi.js +1 -1
  54. package/build/commands/utils/matchAuthEnvironment.js +1 -1
  55. package/build/commands/utils/mcpImageBase64.js +1 -1
  56. package/build/commands/utils/model.js +1 -1
  57. package/build/commands/utils/novaActCli.js +1 -1
  58. package/build/commands/utils/opencodeConfig.js +1 -1
  59. package/build/commands/utils/organizationEnvApi.js +1 -1
  60. package/build/commands/utils/playwrightCli.js +1 -1
  61. package/build/commands/utils/profileMessages.js +1 -1
  62. package/build/commands/utils/profileSetupBanner.js +1 -1
  63. package/build/commands/utils/projectsConfig.js +1 -1
  64. package/build/commands/utils/rangerConfig.js +1 -1
  65. package/build/commands/utils/rangerRoot.js +1 -1
  66. package/build/commands/utils/rangerwrightCli.js +1 -1
  67. package/build/commands/utils/resolveProfileContext.js +1 -1
  68. package/build/commands/utils/resolveProfileUrl.js +1 -1
  69. package/build/commands/utils/retry.js +1 -1
  70. package/build/commands/utils/scenarioOriginCheck.js +1 -1
  71. package/build/commands/utils/sessionCache.js +1 -1
  72. package/build/commands/utils/settings.js +1 -1
  73. package/build/commands/utils/skillContent.js +1 -1
  74. package/build/commands/utils/skills.js +1 -1
  75. package/build/commands/utils/stitchWebmFiles.js +1 -1
  76. package/build/commands/utils/telemetry.js +1 -1
  77. package/build/commands/utils/tokenRefresh.js +1 -1
  78. package/build/commands/utils/traceSnapshotMapper.js +1 -1
  79. package/build/commands/utils/tunnelClient.js +1 -1
  80. package/build/commands/utils/userApi.js +1 -1
  81. package/build/commands/utils/version.js +1 -1
  82. package/build/commands/verifyFeature.js +1 -1
  83. package/build/commands/verifyFeatureCli.js +1 -1
  84. package/build/commands/verifyFeatureNovaCli.js +1 -1
  85. package/build/commands/verifyFeatureRangerwrightCli.js +1 -1
  86. package/package.json +1 -1
@@ -1 +1 @@
1
- function _0x2be1(){const _0x1fb4bd=['user','5258112bcSdPm','Re-authenticating\x20via\x20MCP\x20bootstrap...','995ZJBihT','71902AhtuUp','17XSprxU','log','9076gJeocz','22GcXngb','11525200ifmLLK','cgMut','1008SDbCDI','Login\x20requires\x20an\x20interactive\x20terminal.\x20In\x20CI,\x20use:\x20ranger\x20setup\x20[token]\x20or\x20set\x20RANGER_CLI_TOKEN.','organizationName','message','30592sPzTEI','3225177JjuCXY','3138107SIqFNl','\x0a✅\x20Logged\x20in\x20to\x20','Login\x20failed:\x20'];_0x2be1=function(){return _0x1fb4bd;};return _0x2be1();}(function(_0x3273bd,_0x2e2604){const _0x577b70=_0x378e,_0x5bb4de=_0x3273bd();while(!![]){try{const _0x24bd82=-parseInt(_0x577b70(0x136))/0x1*(-parseInt(_0x577b70(0x135))/0x2)+-parseInt(_0x577b70(0x12d))/0x3+parseInt(_0x577b70(0x138))/0x4*(parseInt(_0x577b70(0x134))/0x5)+-parseInt(_0x577b70(0x132))/0x6+-parseInt(_0x577b70(0x12e))/0x7+parseInt(_0x577b70(0x12c))/0x8*(-parseInt(_0x577b70(0x128))/0x9)+-parseInt(_0x577b70(0x13a))/0xa*(-parseInt(_0x577b70(0x139))/0xb);if(_0x24bd82===_0x2e2604)break;else _0x5bb4de['push'](_0x5bb4de['shift']());}catch(_0x35816a){_0x5bb4de['push'](_0x5bb4de['shift']());}}}(_0x2be1,0x83c5a));import{runDeviceAuthFlow}from'./utils/deviceAuth.js';import{getCurrentUser}from'./utils/userApi.js';import{getMcpAuthOrigin,mcpBootstrap}from'./mcpBootstrap.js';import{isInteractive}from'./utils/cloudProfileSession.js';function _0x378e(_0x5ead5e,_0x347511){_0x5ead5e=_0x5ead5e-0x128;const _0x2be193=_0x2be1();let _0x378eb3=_0x2be193[_0x5ead5e];return _0x378eb3;}export async function login(){const _0x4e5756=_0x378e,_0x528347={'ySwbC':_0x4e5756(0x133),'HKwcn':function(_0x4a85f5){return _0x4a85f5();},'cgMut':_0x4e5756(0x129),'KWyqq':function(_0x1ccad3,_0x2e941b){return _0x1ccad3(_0x2e941b);},'ibnbh':'\x0a✅\x20API\x20key\x20stored\x20successfully'},_0x45ff8b=await getMcpAuthOrigin();if(_0x45ff8b){console[_0x4e5756(0x137)](_0x528347['ySwbC']),await mcpBootstrap();return;}if(!_0x528347['HKwcn'](isInteractive))throw new Error(_0x528347[_0x4e5756(0x13b)]);try{const _0x4acebd=await runDeviceAuthFlow(),_0x2cef33=await _0x528347['KWyqq'](getCurrentUser,_0x4acebd);_0x2cef33['success']?console[_0x4e5756(0x137)](_0x4e5756(0x12f)+_0x2cef33[_0x4e5756(0x131)][_0x4e5756(0x12a)]):console['log'](_0x528347['ibnbh']);}catch(_0x4b97ec){throw new Error(_0x4e5756(0x130)+(_0x4b97ec instanceof Error?_0x4b97ec[_0x4e5756(0x12b)]:_0x4b97ec));}}
1
+ (function(_0x2a2346,_0x1e9d24){const _0x2b7ad4=_0x19f3,_0x24a3db=_0x2a2346();while(!![]){try{const _0x4b9379=parseInt(_0x2b7ad4(0x1bf))/0x1+parseInt(_0x2b7ad4(0x1be))/0x2+-parseInt(_0x2b7ad4(0x1ca))/0x3+parseInt(_0x2b7ad4(0x1c6))/0x4+-parseInt(_0x2b7ad4(0x1cc))/0x5*(parseInt(_0x2b7ad4(0x1bd))/0x6)+parseInt(_0x2b7ad4(0x1c5))/0x7*(parseInt(_0x2b7ad4(0x1c3))/0x8)+-parseInt(_0x2b7ad4(0x1c2))/0x9;if(_0x4b9379===_0x1e9d24)break;else _0x24a3db['push'](_0x24a3db['shift']());}catch(_0x2281f9){_0x24a3db['push'](_0x24a3db['shift']());}}}(_0x3769,0xcb619));function _0x3769(){const _0x360a9b=['Login\x20requires\x20an\x20interactive\x20terminal.\x20In\x20CI,\x20use:\x20ranger\x20setup\x20[token]\x20or\x20set\x20RANGER_CLI_TOKEN.','Re-authenticating\x20via\x20MCP\x20bootstrap...','IqKQL','3606465HJvRiw','\x0a✅\x20Logged\x20in\x20to\x20','10bHikZh','YYnfR','NgRre','message','747420qzhDWp','942204sxbCiK','1018066OrCKvF','SJpyv','log','13182318khLKQI','16HWotnv','qUDpQ','5074454cZvnPU','3240136omLImA'];_0x3769=function(){return _0x360a9b;};return _0x3769();}import{runDeviceAuthFlow}from'./utils/deviceAuth.js';import{getCurrentUser}from'./utils/userApi.js';import{getMcpAuthOrigin,mcpBootstrap}from'./mcpBootstrap.js';function _0x19f3(_0x29c30f,_0x1cb23b){_0x29c30f=_0x29c30f-0x1bb;const _0x3769e4=_0x3769();let _0x19f3b1=_0x3769e4[_0x29c30f];return _0x19f3b1;}import{isInteractive}from'./utils/cloudProfileSession.js';export async function login(){const _0xe8b9ff=_0x19f3,_0x4afbff={'qUDpQ':function(_0x50cdb1){return _0x50cdb1();},'SDruq':_0xe8b9ff(0x1c8),'SJpyv':function(_0x5f2257){return _0x5f2257();},'YYnfR':function(_0x3cdb10){return _0x3cdb10();},'NgRre':function(_0x24d0db,_0x2c484c){return _0x24d0db(_0x2c484c);},'IqKQL':function(_0x3c0439,_0x553e0d){return _0x3c0439 instanceof _0x553e0d;}},_0x162cee=await _0x4afbff[_0xe8b9ff(0x1c4)](getMcpAuthOrigin);if(_0x162cee){console['log'](_0x4afbff['SDruq']),await _0x4afbff[_0xe8b9ff(0x1c0)](mcpBootstrap);return;}if(!_0x4afbff[_0xe8b9ff(0x1cd)](isInteractive))throw new Error(_0xe8b9ff(0x1c7));try{const _0x58f3b2=await _0x4afbff[_0xe8b9ff(0x1c4)](runDeviceAuthFlow),_0x1cf4f0=await _0x4afbff[_0xe8b9ff(0x1bb)](getCurrentUser,_0x58f3b2);_0x1cf4f0['success']?console['log'](_0xe8b9ff(0x1cb)+_0x1cf4f0['user']['organizationName']):console[_0xe8b9ff(0x1c1)]('\x0a✅\x20API\x20key\x20stored\x20successfully');}catch(_0x337d84){throw new Error('Login\x20failed:\x20'+(_0x4afbff[_0xe8b9ff(0x1c9)](_0x337d84,Error)?_0x337d84[_0xe8b9ff(0x1bc)]:_0x337d84));}}
@@ -1 +1 @@
1
- (function(_0x39b0ef,_0x3438d9){const _0x145488=_0x404f,_0x291be4=_0x39b0ef();while(!![]){try{const _0x4d3ae1=parseInt(_0x145488(0x164))/0x1+-parseInt(_0x145488(0x117))/0x2*(parseInt(_0x145488(0x137))/0x3)+-parseInt(_0x145488(0x101))/0x4+parseInt(_0x145488(0x138))/0x5+parseInt(_0x145488(0x12c))/0x6+-parseInt(_0x145488(0x135))/0x7*(parseInt(_0x145488(0xd2))/0x8)+parseInt(_0x145488(0xd7))/0x9;if(_0x4d3ae1===_0x3438d9)break;else _0x291be4['push'](_0x291be4['shift']());}catch(_0x358a07){_0x291be4['push'](_0x291be4['shift']());}}}(_0x1d6e,0x2995f));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','mcp-oauth-tokens.json'),AUTH_ORIGIN_PATH=join(homedir(),'.ranger','auth-origin.txt');export async function getMcpAuthOrigin(){const _0x39e500=_0x404f,_0x3049a4={'AGwcU':_0x39e500(0x14b)};try{const _0x39cb18=(await readFile(AUTH_ORIGIN_PATH,_0x3049a4['AGwcU']))[_0x39e500(0xfc)]();return _0x39cb18||null;}catch{return null;}}function _0x404f(_0x4342e0,_0xbf7a8a){_0x4342e0=_0x4342e0-0xd0;const _0x1d6e23=_0x1d6e();let _0x404f2a=_0x1d6e23[_0x4342e0];return _0x404f2a;}export async function mcpBootstrap(){const _0x20f80c=_0x404f,_0x2f250f={'vnmLW':function(_0x3859b6){return _0x3859b6();},'ALTnc':function(_0x46de64,_0x23e7b6){return _0x46de64(_0x23e7b6);},'rduBf':'proxied','AwkgQ':_0x20f80c(0xe8),'QLrbu':_0x20f80c(0xe2),'IYEbP':function(_0x55b7a2,_0x43f939,_0x4460de){return _0x55b7a2(_0x43f939,_0x4460de);}},_0x171971=_0x2f250f['vnmLW'](getMcpAuthUrl);currentOrigin=_0x171971;const _0x30d076=process[_0x20f80c(0x15d)]['isTTY']??![];console['log']('\x0aConnecting\x20to\x20MCP\x20auth\x20server:\x20'+_0x171971+'\x0a');const _0x2cf514=await _0x2f250f['ALTnc'](tryUnauthenticated,_0x171971);let _0x2fc4e5=null;if(_0x2cf514===_0x2f250f['rduBf'])_0x2fc4e5='';else{_0x2fc4e5=await loadCachedToken();if(!_0x2fc4e5){if(!_0x30d076)throw new Error(_0x2f250f[_0x20f80c(0xf8)]+_0x2f250f[_0x20f80c(0x102)]);_0x2fc4e5=await oauthFlow(_0x171971);}}await _0x2f250f[_0x20f80c(0xf9)](callGetCliToken,_0x171971,_0x2fc4e5);}async function tryUnauthenticated(_0x2d32d6){const _0x498b8f=_0x404f,_0x143117={'GSDqX':'POST','sRDRj':_0x498b8f(0xec),'KnmBX':_0x498b8f(0xdc),'AmsNZ':'2025-03-26','SiYsD':_0x498b8f(0xde),'qPDcX':function(_0x9db65e,_0xe8d3cf){return _0x9db65e===_0xe8d3cf;}},_0x5351fa=await fetch(_0x2d32d6,{'method':_0x143117['GSDqX'],'headers':{'Content-Type':_0x143117[_0x498b8f(0x118)],'Accept':_0x143117['KnmBX']},'body':JSON[_0x498b8f(0x111)]({'jsonrpc':_0x498b8f(0x13b),'id':0x1,'method':_0x498b8f(0x130),'params':{'protocolVersion':_0x143117[_0x498b8f(0x122)],'capabilities':{},'clientInfo':{'name':'ranger-cli','version':_0x143117['SiYsD']}}})});if(_0x5351fa['ok'])return await _0x5351fa['text'](),'proxied';if(_0x143117[_0x498b8f(0xe6)](_0x5351fa[_0x498b8f(0x108)],0x191))return await _0x5351fa[_0x498b8f(0x12f)](),'needs-oauth';const _0x4b2935=await _0x5351fa['text']();throw new Error(_0x498b8f(0xf4)+_0x5351fa['status']+':\x20'+_0x4b2935);}class OAuthTimeoutError extends Error{constructor(_0x2bdc29){const _0x1fadb8=_0x404f;super(_0x2bdc29),this['name']=_0x1fadb8(0x155);}}async function oauthFlow(_0xde1927){const _0x5a0fe6=_0x404f,_0x46b105={'GhWYB':function(_0x2bd603){return _0x2bd603();},'whbcj':_0x5a0fe6(0x121),'CUsiG':function(_0x5cae55,_0x1d37da){return _0x5cae55(_0x1d37da);}};try{return await oauthFlowAttempt(_0xde1927);}catch(_0x593540){if(_0x593540 instanceof OAuthTimeoutError&&await _0x46b105[_0x5a0fe6(0x113)](loadCachedClient))return console['log'](_0x46b105[_0x5a0fe6(0x150)]),await clearCachedClient(),await _0x46b105[_0x5a0fe6(0xea)](oauthFlowAttempt,_0xde1927);throw _0x593540;}}async function oauthFlowAttempt(_0x4992bd){const _0x275697=_0x404f,_0x1ed3b4={'QOGid':'Discovering\x20authorization\x20server...','FYdZg':_0x275697(0xf1),'YdvcL':_0x275697(0x125),'bbOOG':function(_0x89cad7,_0x195474){return _0x89cad7(_0x195474);},'TAkHc':function(_0x39da07){return _0x39da07();},'cLQbf':function(_0xf9964a,_0x4b75f8,_0x3fc169){return _0xf9964a(_0x4b75f8,_0x3fc169);},'cDODZ':_0x275697(0xfe),'tVHNa':_0x275697(0x120),'oEkba':'authorization_code','fqkyk':function(_0xeadcd0,_0x580d4f,_0x1a0b2d){return _0xeadcd0(_0x580d4f,_0x1a0b2d);},'eBgWz':_0x275697(0x129),'LQfuT':'base64url','PTjrg':_0x275697(0x11d),'OduLd':function(_0x271e74,_0x286372){return _0x271e74(_0x286372);},'UcVqb':'hex','axURZ':'redirect_uri','MjCUt':_0x275697(0x126),'ubLAj':_0x275697(0x124),'SbBoS':_0x275697(0x15f),'Kvqll':_0x275697(0xfd),'VptlC':function(_0x16b19c,_0x88318d){return _0x16b19c(_0x88318d);},'ksicI':_0x275697(0x133),'bIwWJ':'client_secret','HzRQv':'resource','ZBCXH':'application/x-www-form-urlencoded'},_0x78ec6c=_0x4992bd[_0x275697(0xe0)](/\/mcp$/,'');process['stdout']['write'](_0x1ed3b4['QOGid']);const _0x2349f4=await fetch(_0x78ec6c+'/.well-known/oauth-protected-resource');if(!_0x2349f4['ok'])throw new Error(_0x1ed3b4['FYdZg']);const _0xecc848=await _0x2349f4[_0x275697(0x114)](),_0x2ad9bf=_0xecc848[_0x275697(0x149)]?.[0x0];if(!_0x2ad9bf)throw new Error(_0x1ed3b4[_0x275697(0x15b)]);console[_0x275697(0x10a)]('\x20'+_0x2ad9bf);const _0x4995e2=await _0x1ed3b4[_0x275697(0x161)](fetchAuthServerMetadata,_0x2ad9bf);let _0x2bcc00,_0x33223c;const _0x56e9d5=await _0x1ed3b4['TAkHc'](loadCachedClient);if(_0x56e9d5)_0x2bcc00=_0x56e9d5['clientId'],_0x33223c=_0x56e9d5[_0x275697(0xe5)];else{if(_0x4995e2[_0x275697(0x142)]){process['stdout']['write']('Registering\x20OAuth\x20client...');const _0x2243fd=await _0x1ed3b4[_0x275697(0x157)](fetch,_0x4995e2['registration_endpoint'],{'method':_0x1ed3b4[_0x275697(0xf2)],'headers':{'Content-Type':'application/json'},'body':JSON[_0x275697(0x111)]({'client_name':_0x1ed3b4['tVHNa'],'redirect_uris':['http://localhost:'+CALLBACK_PORT+_0x275697(0xd1)],'grant_types':[_0x1ed3b4[_0x275697(0x13c)],'refresh_token'],'response_types':[_0x275697(0x110)],'token_endpoint_auth_method':_0x275697(0x128)})});if(!_0x2243fd['ok']){const _0x36c6ac=await _0x2243fd[_0x275697(0x12f)]();throw new Error(_0x275697(0xdf)+_0x36c6ac);}const _0x566d88=await _0x2243fd[_0x275697(0x114)]();_0x2bcc00=_0x566d88[_0x275697(0x153)],_0x33223c=_0x566d88['client_secret'],await _0x1ed3b4['fqkyk'](saveCachedClient,_0x2bcc00,_0x33223c),console[_0x275697(0x10a)]('\x20done');}else throw new Error(_0x1ed3b4['eBgWz']);}const _0x5a189d=randomBytes(0x20)['toString'](_0x1ed3b4[_0x275697(0xf6)]),_0x1f2a95=createHash(_0x1ed3b4['PTjrg'])['update'](_0x5a189d)['digest']('base64url'),_0x318ae0=_0x1ed3b4['OduLd'](randomBytes,0x10)[_0x275697(0x13f)](_0x1ed3b4['UcVqb']),_0x11443a=new URL(_0x4995e2['authorization_endpoint']);_0x11443a['searchParams'][_0x275697(0xf3)](_0x275697(0x14d),'code'),_0x11443a[_0x275697(0xe3)]['set'](_0x275697(0x153),_0x2bcc00),_0x11443a[_0x275697(0xe3)]['set'](_0x1ed3b4[_0x275697(0x132)],'http://localhost:'+CALLBACK_PORT+_0x275697(0xd1)),_0x11443a['searchParams']['set'](_0x1ed3b4[_0x275697(0x123)],_0x1f2a95),_0x11443a['searchParams']['set'](_0x1ed3b4['ubLAj'],_0x1ed3b4['SbBoS']),_0x11443a['searchParams']['set'](_0x1ed3b4['Kvqll'],_0x318ae0);_0xecc848['resource']&&_0x11443a[_0x275697(0xe3)]['set'](_0x275697(0xd9),_0xecc848['resource']);console[_0x275697(0x10a)]('\x0aOpening\x20browser\x20for\x20authentication...'),console[_0x275697(0x10a)]('If\x20the\x20browser\x20doesn\x27t\x20open,\x20visit:\x0a'+_0x11443a['toString']()+'\x0a'),await _0x1ed3b4[_0x275697(0x163)](openBrowser,_0x11443a['toString']());const _0xdc621e=await waitForCallback(_0x318ae0);process['stdout']['write'](_0x1ed3b4['ksicI']);const _0x134c70=new URLSearchParams({'grant_type':_0x1ed3b4[_0x275697(0x13c)],'code':_0xdc621e,'redirect_uri':_0x275697(0x15a)+CALLBACK_PORT+'/callback','client_id':_0x2bcc00,'code_verifier':_0x5a189d});_0x33223c&&_0x134c70['set'](_0x1ed3b4['bIwWJ'],_0x33223c);_0xecc848['resource']&&_0x134c70[_0x275697(0xf3)](_0x1ed3b4[_0x275697(0x112)],_0xecc848['resource']);const _0x19e01f=await _0x1ed3b4[_0x275697(0x157)](fetch,_0x4995e2['token_endpoint'],{'method':'POST','headers':{'Content-Type':_0x1ed3b4['ZBCXH']},'body':_0x134c70});if(!_0x19e01f['ok']){const _0x395702=await _0x19e01f[_0x275697(0x12f)]();throw new Error(_0x275697(0x10e)+_0x395702);}const _0x244808=await _0x19e01f[_0x275697(0x114)]();return console[_0x275697(0x10a)]('\x20done'),await saveCachedToken(_0x244808['access_token'],_0x244808[_0x275697(0x158)],_0x244808[_0x275697(0x11b)]),_0x244808['access_token'];}async function callGetCliToken(_0x17d9dc,_0x40b8bc){const _0x192842=_0x404f,_0x71a303={'eToLJ':function(_0x15191e,_0x2609bb,_0x30347a){return _0x15191e(_0x2609bb,_0x30347a);},'iACgU':function(_0x506064,_0x55c042){return _0x506064(_0x55c042);},'gQrGd':_0x192842(0x13b),'MtbOq':_0x192842(0x10d),'SWKWz':'1.0.0','wFFLK':'\x20done','mrJiC':_0x192842(0xed),'zLEBa':_0x192842(0xd4),'UsdbF':_0x192842(0xe7),'EsTwE':function(_0x19f81f,_0x2f4c01){return _0x19f81f(_0x2f4c01);},'NDyCu':'Could\x20not\x20extract\x20token\x20from\x20MCP\x20response','updrE':function(_0x230960,_0x3b9b4f,_0x121d11){return _0x230960(_0x3b9b4f,_0x121d11);},'uZrCh':_0x192842(0xdd),'RHJOX':'refresh.txt','TAmKs':function(_0x5afd2b,_0x43c2c8,_0x5b2d2c){return _0x5afd2b(_0x43c2c8,_0x5b2d2c);}},_0x4a38de={'Content-Type':'application/json','Accept':'application/json,\x20text/event-stream'};_0x40b8bc&&(_0x4a38de[_0x192842(0xf5)]=_0x192842(0xd8)+_0x40b8bc);const _0x151663=async _0x53cb5a=>{const _0x3dcf7c=_0x192842,_0x9abf5c=await _0x71a303[_0x3dcf7c(0x12e)](fetch,_0x17d9dc,{'method':'POST','headers':_0x4a38de,'body':JSON[_0x3dcf7c(0x111)](_0x53cb5a)});if(!_0x9abf5c['ok']){const _0x9eef9d=await _0x9abf5c['text']();throw new Error(_0x3dcf7c(0x11f)+_0x9abf5c[_0x3dcf7c(0x108)]+':\x20'+_0x9eef9d);}return _0x71a303['iACgU'](parseResponse,_0x9abf5c);};process[_0x192842(0x15d)][_0x192842(0x136)](_0x192842(0x10f));const _0x235eaa=await _0x71a303['iACgU'](_0x151663,{'jsonrpc':_0x71a303['gQrGd'],'id':0x1,'method':_0x192842(0x130),'params':{'protocolVersion':_0x71a303[_0x192842(0x105)],'capabilities':{},'clientInfo':{'name':'ranger-cli','version':_0x71a303['SWKWz']}}});if(_0x235eaa[_0x192842(0xeb)])throw new Error(_0x192842(0x151)+(_0x235eaa[_0x192842(0xeb)][_0x192842(0x10b)]??JSON['stringify'](_0x235eaa['error'])));console['log'](_0x71a303['wFFLK']),await fetch(_0x17d9dc,{'method':_0x192842(0xfe),'headers':_0x4a38de,'body':JSON[_0x192842(0x111)]({'jsonrpc':'2.0','method':_0x192842(0xff)})})[_0x192842(0x13d)](_0x41eeaf=>_0x41eeaf[_0x192842(0x12f)]()),process[_0x192842(0x15d)]['write'](_0x71a303[_0x192842(0xef)]);const _0x8d4e7c=await _0x151663({'jsonrpc':_0x71a303[_0x192842(0x131)],'id':0x2,'method':_0x71a303['zLEBa'],'params':{'name':_0x71a303['UsdbF'],'arguments':{}}});if(_0x8d4e7c[_0x192842(0xeb)])throw new Error('get_cli_token\x20failed:\x20'+(_0x8d4e7c[_0x192842(0xeb)][_0x192842(0x10b)]??JSON[_0x192842(0x111)](_0x8d4e7c['error'])));console['log'](_0x192842(0x152));const _0x265c99=_0x71a303[_0x192842(0xda)](extractToken,_0x8d4e7c[_0x192842(0x14a)]);if(!_0x265c99){console['error']('\x0aUnexpected\x20response\x20structure:'),console['error'](JSON['stringify'](_0x8d4e7c[_0x192842(0x14a)],null,0x2));throw new Error(_0x71a303['NDyCu']);}const _0x4d1258=_0x71a303[_0x192842(0x116)](join,homedir(),_0x71a303[_0x192842(0x109)]),_0x1a3557=join(_0x4d1258,_0x71a303['RHJOX']);await _0x71a303[_0x192842(0x106)](mkdir,_0x4d1258,{'recursive':!![]}),await writeFile(_0x1a3557,_0x265c99,{'mode':0x180}),await writeFile(join(_0x4d1258,_0x192842(0x141)),_0x17d9dc,{'mode':0x180}),console['log']('\x0aToken\x20written\x20to\x20'+_0x1a3557),console[_0x192842(0x10a)](_0x192842(0x11e));}async function fetchAuthServerMetadata(_0xc0bba7){const _0x1ac1ac={'UcZSX':function(_0x575036,_0x3b562c){return _0x575036(_0x3b562c);}},_0x5779b0=_0xc0bba7+'/.well-known/oauth-authorization-server',_0xbed0b7=await _0x1ac1ac['UcZSX'](fetch,_0x5779b0);if(!_0xbed0b7['ok'])throw new Error('Could\x20not\x20fetch\x20auth\x20server\x20metadata\x20from\x20'+_0x5779b0+':\x20'+_0xbed0b7['status']);return _0xbed0b7['json']();}function waitForCallback(_0x5a1621){const _0x5c5559=_0x404f,_0x26033b={'uEvcW':function(_0x48e6b0){return _0x48e6b0();},'bOCss':function(_0x348869,_0x44e929){return _0x348869(_0x44e929);},'LqpoB':'OAuth\x20callback\x20timed\x20out\x20after\x202\x20minutes','lSCkW':_0x5c5559(0x13e),'RBoSd':function(_0x4d6e7c,_0x3cbef3){return _0x4d6e7c(_0x3cbef3);},'vcdAs':function(_0x406914){return _0x406914();},'jzztC':'<html><body><h2>Invalid\x20callback</h2><p>Missing\x20code\x20or\x20state\x20mismatch.</p></body></html>','HhOkU':function(_0x33afb3){return _0x33afb3();},'HNmBa':function(_0x45e995,_0xdb00a7,_0x18ed9f){return _0x45e995(_0xdb00a7,_0x18ed9f);},'udbxS':function(_0x1e348a,_0x5e5dbd){return _0x1e348a(_0x5e5dbd);},'iePuE':'127.0.0.1'};return new Promise((_0x840707,_0x5e5e81)=>{const _0x2f09b6=_0x5c5559,_0x35c9e7=()=>{_0x426c75['closeAllConnections'](),_0x426c75['close']();},_0x54ffcb=_0x26033b['HNmBa'](setTimeout,()=>{const _0x5a33a2=_0x404f;_0x26033b[_0x5a33a2(0x127)](_0x35c9e7),_0x26033b[_0x5a33a2(0x134)](_0x5e5e81,new OAuthTimeoutError(_0x26033b['LqpoB']));},0x1d4c0),_0x426c75=_0x26033b['udbxS'](createServer,(_0x397b98,_0x176179)=>{const _0x28827b=_0x404f,_0x273a52=new URL(_0x397b98['url']??'/',_0x28827b(0x15a)+CALLBACK_PORT);if(_0x273a52['pathname']!==_0x28827b(0xd1)){_0x176179['writeHead'](0x194),_0x176179['end']('Not\x20found');return;}const _0x28f744=_0x273a52['searchParams'][_0x28827b(0x15c)]('code'),_0x1da4bf=_0x273a52['searchParams']['get']('state'),_0x7bd307=_0x273a52['searchParams'][_0x28827b(0x15c)]('error');if(_0x7bd307){const _0x148aab=_0x273a52['searchParams']['get'](_0x28827b(0x140))??_0x7bd307;_0x176179[_0x28827b(0xee)](0xc8,{'Content-Type':_0x26033b['lSCkW']}),_0x176179['end'](_0x28827b(0x156)+_0x148aab+'</p><p>You\x20can\x20close\x20this\x20window.</p></body></html>'),_0x26033b[_0x28827b(0x145)](clearTimeout,_0x54ffcb),_0x26033b[_0x28827b(0x107)](_0x35c9e7),_0x5e5e81(new Error(_0x28827b(0x139)+_0x148aab));return;}if(!_0x28f744||_0x1da4bf!==_0x5a1621){_0x176179[_0x28827b(0xee)](0x190,{'Content-Type':_0x26033b[_0x28827b(0xd6)]}),_0x176179['end'](_0x26033b['jzztC']);return;}_0x176179[_0x28827b(0xee)](0xc8,{'Content-Type':'text/html'}),_0x176179[_0x28827b(0x14c)](_0x28827b(0x11c)),clearTimeout(_0x54ffcb),_0x26033b['HhOkU'](_0x35c9e7),_0x26033b['bOCss'](_0x840707,_0x28f744);});_0x426c75[_0x2f09b6(0x165)](CALLBACK_PORT,_0x26033b[_0x2f09b6(0x154)]);});}async function openBrowser(_0x323e8b){const _0x550a89=_0x404f,_0x346eab={'PAzvm':function(_0x277dbe,_0x4622fb){return _0x277dbe===_0x4622fb;},'uBvhY':_0x550a89(0xd3),'qcchj':_0x550a89(0x103),'eoAkr':function(_0x288a2b,_0xe7d224){return _0x288a2b===_0xe7d224;},'NrVCT':'win32','Tyyvn':'start','nIdvP':function(_0x546493,_0x54de25){return _0x546493(_0x54de25);}},_0xe34594=_0x346eab[_0x550a89(0x15e)](process[_0x550a89(0x162)],_0x346eab['uBvhY'])?_0x346eab[_0x550a89(0x148)]:_0x346eab[_0x550a89(0x143)](process['platform'],_0x346eab['NrVCT'])?_0x346eab['Tyyvn']:_0x550a89(0xf0);_0x346eab['nIdvP'](exec,_0xe34594+'\x20\x22'+_0x323e8b+'\x22');}let currentOrigin='';async function loadCachedToken(){const _0x54414a=_0x404f,_0x23f099={'xqfad':function(_0x16e95f,_0x4f8a09,_0xacd204){return _0x16e95f(_0x4f8a09,_0xacd204);},'xQBmV':function(_0x5c836a,_0x48c062){return _0x5c836a!==_0x48c062;},'deOJQ':function(_0x5bf910,_0x5cd541){return _0x5bf910>_0x5cd541;}};try{const _0x4fbbc0=JSON[_0x54414a(0x14f)](await _0x23f099[_0x54414a(0x104)](readFile,TOKEN_CACHE_PATH,'utf-8'));if(_0x4fbbc0[_0x54414a(0x100)]&&_0x23f099['xQBmV'](_0x4fbbc0[_0x54414a(0x100)],currentOrigin))return null;if(_0x4fbbc0['expiresAt']&&_0x23f099[_0x54414a(0xd5)](Date['now'](),_0x4fbbc0['expiresAt']))return null;return _0x4fbbc0['accessToken']??null;}catch{return null;}}async function saveCachedToken(_0xb3e04,_0x5a5720,_0x2a0ed6){const _0x50d280=_0x404f,_0x4800a7={'isEif':function(_0x1604dd,_0x5c68c8,_0x2113d2){return _0x1604dd(_0x5c68c8,_0x2113d2);},'YFNTF':function(_0x26a643,_0x211d2a,_0x485ebd){return _0x26a643(_0x211d2a,_0x485ebd);},'nEsOR':function(_0x270f1c){return _0x270f1c();},'ClnKe':function(_0x19b856,_0x556d6d,_0x1f33a7,_0x9aff17){return _0x19b856(_0x556d6d,_0x1f33a7,_0x9aff17);}},_0xdb7b4=await loadCachedData(),_0x4d420f={..._0xdb7b4,'origin':currentOrigin,'accessToken':_0xb3e04,'refreshToken':_0x5a5720??_0xdb7b4?.['refreshToken'],'expiresAt':_0x2a0ed6?Date[_0x50d280(0xdb)]()+_0x2a0ed6*0x3e8:undefined};await _0x4800a7['isEif'](mkdir,_0x4800a7['YFNTF'](join,_0x4800a7['nEsOR'](homedir),'.ranger'),{'recursive':!![]}),await _0x4800a7[_0x50d280(0x160)](writeFile,TOKEN_CACHE_PATH,JSON[_0x50d280(0x111)](_0x4d420f),{'mode':0x180});}async function loadCachedClient(){const _0x27a41d=_0x404f,_0x2065cd={'pFhYZ':function(_0x23fb9c){return _0x23fb9c();}},_0x239a7c=await _0x2065cd['pFhYZ'](loadCachedData);if(_0x239a7c?.[_0x27a41d(0x100)]&&_0x239a7c[_0x27a41d(0x100)]!==currentOrigin)return null;return _0x239a7c?.[_0x27a41d(0xe1)]?{'clientId':_0x239a7c['clientId'],'clientSecret':_0x239a7c[_0x27a41d(0xe5)]}:null;}function _0x1d6e(){const _0x280eee=['PAzvm','S256','ClnKe','bbOOG','platform','VptlC','300755dggiXT','listen','match','/callback','16VNAqRb','darwin','tools/call','deOJQ','lSCkW','1427220YtdtMl','Bearer\x20','resource','EsTwE','now','application/json,\x20text/event-stream','.ranger','1.0.0','Client\x20registration\x20failed:\x20','replace','clientId','Run\x20`ranger\x20setup\x20--mcp-bootstrap`\x20interactively\x20first.','searchParams','rHJuL','clientSecret','qPDcX','get_cli_token','MCP\x20server\x20requires\x20authentication\x20but\x20running\x20in\x20non-interactive\x20mode.\x0a','wjXoL','CUsiG','error','application/json','Requesting\x20CLI\x20token...','writeHead','mrJiC','xdg-open','Could\x20not\x20fetch\x20protected\x20resource\x20metadata\x20from\x20MCP\x20server','cDODZ','set','MCP\x20server\x20returned\x20HTTP\x20','Authorization','LQfuT','jlysD','AwkgQ','IYEbP','data:','djwyL','trim','state','POST','notifications/initialized','origin','730860XUfdcw','QLrbu','open','xqfad','MtbOq','TAmKs','vcdAs','status','uZrCh','log','message','content-type','2025-03-26','Token\x20exchange\x20failed:\x20','Initializing\x20MCP\x20session...','code','stringify','HzRQv','GhWYB','json','type','updrE','2lTAehT','sRDRj','YbRrd','OVtdf','expires_in','<html><body><h2>Authenticated!</h2><p>You\x20can\x20close\x20this\x20window\x20and\x20return\x20to\x20the\x20terminal.</p></body></html>','sha256','Run\x20`ranger\x20status`\x20to\x20verify\x20authentication.\x0a','HTTP\x20','Ranger\x20CLI','\x0aCached\x20OAuth\x20client\x20may\x20be\x20stale\x20—\x20clearing\x20and\x20retrying...\x0a','AmsNZ','MjCUt','code_challenge_method','No\x20authorization_servers\x20in\x20protected\x20resource\x20metadata','code_challenge','uEvcW','none','Authorization\x20server\x20does\x20not\x20support\x20dynamic\x20client\x20registration\x20and\x20no\x20cached\x20client\x20found','includes','text/event-stream','396534ZKEoWa','xNUlB','eToLJ','text','initialize','gQrGd','axURZ','Exchanging\x20authorization\x20code...','bOCss','763511lMqmrY','write','731919ajBbAF','1448725Njurgj','OAuth\x20error:\x20','content','2.0','oEkba','then','text/html','toString','error_description','auth-origin.txt','registration_endpoint','eoAkr','split','RBoSd','Server\x20returned\x20error:\x20','No\x20JSON-RPC\x20response\x20found\x20in\x20SSE\x20stream','qcchj','authorization_servers','result','utf-8','end','response_type','isError','parse','whbcj','MCP\x20initialize\x20failed:\x20','\x20done','client_id','iePuE','OAuthTimeoutError','<html><body><h2>Authentication\x20failed</h2><p>','cLQbf','refresh_token','string','http://localhost:','YdvcL','get','stdout'];_0x1d6e=function(){return _0x280eee;};return _0x1d6e();}async function clearCachedClient(){const _0x52bcc1=_0x404f,_0x126448={'wjXoL':function(_0x3ea7b8){return _0x3ea7b8();}},_0x56fa5d=await _0x126448[_0x52bcc1(0xe9)](loadCachedData);if(!_0x56fa5d)return;const {clientId:_0x178adb,clientSecret:_0x10e6af,..._0x31206d}=_0x56fa5d;await writeFile(TOKEN_CACHE_PATH,JSON[_0x52bcc1(0x111)](_0x31206d),{'mode':0x180});}async function saveCachedClient(_0x5024d7,_0x1658bc){const _0x485770=_0x404f,_0x3b3ea6={'jlysD':function(_0x47a0a2){return _0x47a0a2();},'WfViH':function(_0x53617e,_0x4bef98,_0xa73b4d){return _0x53617e(_0x4bef98,_0xa73b4d);},'ZPptY':_0x485770(0xdd),'btFNf':function(_0x4e6df1,_0x28ddc7,_0x2dfc19,_0x40f3ca){return _0x4e6df1(_0x28ddc7,_0x2dfc19,_0x40f3ca);}},_0x247948=await _0x3b3ea6['jlysD'](loadCachedData),_0x3a50da={..._0x247948,'origin':currentOrigin,'accessToken':_0x247948?.['accessToken']??'','clientId':_0x5024d7,'clientSecret':_0x1658bc};await _0x3b3ea6['WfViH'](mkdir,join(_0x3b3ea6[_0x485770(0xf7)](homedir),_0x3b3ea6['ZPptY']),{'recursive':!![]}),await _0x3b3ea6['btFNf'](writeFile,TOKEN_CACHE_PATH,JSON[_0x485770(0x111)](_0x3a50da),{'mode':0x180});}async function loadCachedData(){const _0x1c47bc=_0x404f,_0x1d3801={'YbRrd':_0x1c47bc(0x14b)};try{return JSON[_0x1c47bc(0x14f)](await readFile(TOKEN_CACHE_PATH,_0x1d3801[_0x1c47bc(0x119)]));}catch{return null;}}async function parseResponse(_0x55c6fb){const _0x5a4ce5=_0x404f,_0x20b47b={'OUmBJ':_0x5a4ce5(0x10c),'sCwCl':_0x5a4ce5(0x12b),'xNUlB':_0x5a4ce5(0xfa),'rHJuL':function(_0x12e59,_0x26d25a){return _0x12e59!==_0x26d25a;}},_0x168f56=_0x55c6fb['headers']['get'](_0x20b47b['OUmBJ'])??'';if(_0x168f56[_0x5a4ce5(0x12a)](_0x20b47b['sCwCl'])){const _0x4d5655=await _0x55c6fb['text']();for(const _0x2c0ef9 of _0x4d5655[_0x5a4ce5(0x144)]('\x0a')){const _0x3d5023=_0x2c0ef9['trim']();if(_0x3d5023['startsWith'](_0x5a4ce5(0xfa))){const _0x44bcdc=_0x3d5023['slice'](_0x20b47b[_0x5a4ce5(0x12d)]['length'])['trim']();if(!_0x44bcdc)continue;try{const _0xf8aa2=JSON[_0x5a4ce5(0x14f)](_0x44bcdc);if(_0x20b47b[_0x5a4ce5(0xe4)](_0xf8aa2['id'],undefined)||_0xf8aa2['error'])return _0xf8aa2;}catch{}}}throw new Error(_0x5a4ce5(0x147));}return _0x55c6fb['json']();}function extractToken(_0x1ba04f){const _0x42aed4=_0x404f,_0x5e1483={'OVtdf':function(_0x294290,_0x293bf1){return _0x294290===_0x293bf1;},'djwyL':'Unknown\x20error'};if(!_0x1ba04f)return null;const _0x101839=_0x1ba04f['structuredContent'];if(_0x101839?.['token']&&_0x5e1483['OVtdf'](typeof _0x101839['token'],'string'))return _0x101839['token'];if(_0x1ba04f[_0x42aed4(0x14e)]){const _0x4feced=_0x1ba04f['content'];throw new Error(_0x42aed4(0x146)+(_0x4feced?.[0x0]?.['text']??_0x5e1483[_0x42aed4(0xfb)]));}const _0x4afa2d=_0x1ba04f[_0x42aed4(0x13a)];if(_0x4afa2d)for(const _0x4e7f38 of _0x4afa2d){if(_0x5e1483[_0x42aed4(0x11a)](_0x4e7f38[_0x42aed4(0x115)],_0x42aed4(0x12f))&&_0x4e7f38[_0x42aed4(0x12f)]){try{const _0x37cd99=JSON['parse'](_0x4e7f38['text']);if(typeof _0x37cd99?.['token']===_0x42aed4(0x159))return _0x37cd99['token'];}catch{}const _0x466c18=_0x4e7f38['text'][_0x42aed4(0xd0)](/(rngr_[A-Za-z0-9_-]+)/);if(_0x466c18)return _0x466c18[0x1];}}return null;}
1
+ (function(_0xdecdd0,_0x331c01){const _0x26abc1=_0x4e70,_0x183ef0=_0xdecdd0();while(!![]){try{const _0x1b3e17=parseInt(_0x26abc1(0x13e))/0x1+-parseInt(_0x26abc1(0x18d))/0x2+-parseInt(_0x26abc1(0x130))/0x3*(-parseInt(_0x26abc1(0x195))/0x4)+parseInt(_0x26abc1(0x139))/0x5+parseInt(_0x26abc1(0x17b))/0x6+parseInt(_0x26abc1(0x16a))/0x7+-parseInt(_0x26abc1(0x15f))/0x8;if(_0x1b3e17===_0x331c01)break;else _0x183ef0['push'](_0x183ef0['shift']());}catch(_0x1992af){_0x183ef0['push'](_0x183ef0['shift']());}}}(_0x27b5,0x8cb48));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','mcp-oauth-tokens.json'),AUTH_ORIGIN_PATH=join(homedir(),'.ranger','auth-origin.txt');export async function getMcpAuthOrigin(){const _0x4c1b96=_0x4e70,_0x52e48e={'SdKUn':function(_0xe6c074,_0x3c31b0,_0x1c61f7){return _0xe6c074(_0x3c31b0,_0x1c61f7);},'kIZLk':function(_0x445f29,_0x44ecf4){return _0x445f29||_0x44ecf4;}};try{const _0x24b627=(await _0x52e48e[_0x4c1b96(0x16c)](readFile,AUTH_ORIGIN_PATH,'utf-8'))['trim']();return _0x52e48e['kIZLk'](_0x24b627,null);}catch{return null;}}export async function mcpBootstrap(){const _0x23bbfb=_0x4e70,_0x299ef6={'mjbJb':function(_0x26914d){return _0x26914d();},'WxJvM':function(_0x42a097,_0x1eb5c1){return _0x42a097(_0x1eb5c1);},'CvIPt':function(_0x5c465a,_0xa89f8b){return _0x5c465a+_0xa89f8b;}},_0x447437=_0x299ef6['mjbJb'](getMcpAuthUrl);currentOrigin=_0x447437;const _0x3a50c0=process['stdout'][_0x23bbfb(0x189)]??![];console['log'](_0x23bbfb(0x122)+_0x447437+'\x0a');const _0x35acb3=await _0x299ef6['WxJvM'](tryUnauthenticated,_0x447437);let _0x392836=null;if(_0x35acb3===_0x23bbfb(0x18c))_0x392836='';else{_0x392836=await loadCachedToken();if(!_0x392836){if(!_0x3a50c0)throw new Error(_0x299ef6['CvIPt']('MCP\x20server\x20requires\x20authentication\x20but\x20running\x20in\x20non-interactive\x20mode.\x0a',_0x23bbfb(0x141)));_0x392836=await oauthFlow(_0x447437);}}await callGetCliToken(_0x447437,_0x392836);}async function tryUnauthenticated(_0x349bbc){const _0x5dc26f=_0x4e70,_0x109619={'TAONm':function(_0x18afdf,_0x58799c,_0x594052){return _0x18afdf(_0x58799c,_0x594052);},'yYQXY':'POST','JwNUz':_0x5dc26f(0x150),'gjJnP':'2.0','tCcPv':_0x5dc26f(0x158),'YcAJh':function(_0x19197d,_0xc32c3){return _0x19197d===_0xc32c3;}},_0x1260db=await _0x109619['TAONm'](fetch,_0x349bbc,{'method':_0x109619[_0x5dc26f(0x198)],'headers':{'Content-Type':_0x5dc26f(0x159),'Accept':_0x109619['JwNUz']},'body':JSON[_0x5dc26f(0x14b)]({'jsonrpc':_0x109619[_0x5dc26f(0x12a)],'id':0x1,'method':_0x5dc26f(0x131),'params':{'protocolVersion':_0x109619[_0x5dc26f(0x17a)],'capabilities':{},'clientInfo':{'name':_0x5dc26f(0x134),'version':'1.0.0'}}})});if(_0x1260db['ok'])return await _0x1260db['text'](),'proxied';if(_0x109619[_0x5dc26f(0x129)](_0x1260db[_0x5dc26f(0x19d)],0x191))return await _0x1260db['text'](),_0x5dc26f(0x180);const _0x1a9080=await _0x1260db[_0x5dc26f(0x1a5)]();throw new Error('MCP\x20server\x20returned\x20HTTP\x20'+_0x1260db['status']+':\x20'+_0x1a9080);}class OAuthTimeoutError extends Error{constructor(_0x19caf6){const _0x166106=_0x4e70,_0x1a8c09={'HSgev':'OAuthTimeoutError'};super(_0x19caf6),this['name']=_0x1a8c09[_0x166106(0x15c)];}}async function oauthFlow(_0x3ce55b){const _0x52007a=_0x4e70,_0x59b478={'gPBGC':function(_0x16202d,_0x182158){return _0x16202d(_0x182158);},'auQWW':function(_0x55f90b,_0x5b9f5c){return _0x55f90b instanceof _0x5b9f5c;},'qwtDk':'\x0aCached\x20OAuth\x20client\x20may\x20be\x20stale\x20—\x20clearing\x20and\x20retrying...\x0a'};try{return await _0x59b478[_0x52007a(0x197)](oauthFlowAttempt,_0x3ce55b);}catch(_0x80ee4a){if(_0x59b478[_0x52007a(0x193)](_0x80ee4a,OAuthTimeoutError)&&await loadCachedClient())return console['log'](_0x59b478['qwtDk']),await clearCachedClient(),await oauthFlowAttempt(_0x3ce55b);throw _0x80ee4a;}}function _0x4e70(_0x419d9e,_0x24a32d){_0x419d9e=_0x419d9e-0x11e;const _0x27b5cd=_0x27b5();let _0x4e705a=_0x27b5cd[_0x419d9e];return _0x4e705a;}async function oauthFlowAttempt(_0x400349){const _0x6fb9bf=_0x4e70,_0x19b70e={'Luszy':'Discovering\x20authorization\x20server...','ceYgA':function(_0x365bb5){return _0x365bb5();},'yjQan':function(_0x79969b,_0x63b264,_0x42ed34){return _0x79969b(_0x63b264,_0x42ed34);},'hFCvB':'POST','LEGCZ':_0x6fb9bf(0x159),'qEeUU':'Ranger\x20CLI','xkmhI':_0x6fb9bf(0x165),'yGIUj':'code','eGBwr':'\x20done','QVLGX':function(_0x21841b,_0xb31d77){return _0x21841b(_0xb31d77);},'EeEFP':function(_0x2a2d1f,_0x28e8fc){return _0x2a2d1f(_0x28e8fc);},'qIsTT':_0x6fb9bf(0x145),'jDkhE':'redirect_uri','bYAaH':'code_challenge','JMkLK':'code_challenge_method','tFYDA':'resource','sfZXl':'\x0aOpening\x20browser\x20for\x20authentication...','bCpYO':function(_0x1255ef,_0x1d74db){return _0x1255ef(_0x1d74db);},'OmlxJ':'Exchanging\x20authorization\x20code...','OTUkT':'client_secret','poOpS':function(_0xe08133,_0x3eeed1,_0x2eb313){return _0xe08133(_0x3eeed1,_0x2eb313);},'qguuL':'application/x-www-form-urlencoded','poUCV':function(_0x6f64a1,_0xc2e68,_0x330778,_0x4fa812){return _0x6f64a1(_0xc2e68,_0x330778,_0x4fa812);}},_0x386498=_0x400349['replace'](/\/mcp$/,'');process[_0x6fb9bf(0x127)][_0x6fb9bf(0x187)](_0x19b70e['Luszy']);const _0x412fe4=await fetch(_0x386498+'/.well-known/oauth-protected-resource');if(!_0x412fe4['ok'])throw new Error('Could\x20not\x20fetch\x20protected\x20resource\x20metadata\x20from\x20MCP\x20server');const _0x4257b8=await _0x412fe4[_0x6fb9bf(0x135)](),_0x23fd03=_0x4257b8['authorization_servers']?.[0x0];if(!_0x23fd03)throw new Error('No\x20authorization_servers\x20in\x20protected\x20resource\x20metadata');console[_0x6fb9bf(0x160)]('\x20'+_0x23fd03);const _0x2d553c=await fetchAuthServerMetadata(_0x23fd03);let _0x427e8f,_0x34a286;const _0x419415=await _0x19b70e['ceYgA'](loadCachedClient);if(_0x419415)_0x427e8f=_0x419415['clientId'],_0x34a286=_0x419415['clientSecret'];else{if(_0x2d553c['registration_endpoint']){process[_0x6fb9bf(0x127)][_0x6fb9bf(0x187)](_0x6fb9bf(0x18b));const _0xcf87a1=await _0x19b70e[_0x6fb9bf(0x173)](fetch,_0x2d553c['registration_endpoint'],{'method':_0x19b70e['hFCvB'],'headers':{'Content-Type':_0x19b70e['LEGCZ']},'body':JSON['stringify']({'client_name':_0x19b70e['qEeUU'],'redirect_uris':[_0x6fb9bf(0x17d)+CALLBACK_PORT+_0x6fb9bf(0x147)],'grant_types':['authorization_code',_0x19b70e['xkmhI']],'response_types':[_0x19b70e[_0x6fb9bf(0x13c)]],'token_endpoint_auth_method':_0x6fb9bf(0x17c)})});if(!_0xcf87a1['ok']){const _0x2ceed9=await _0xcf87a1[_0x6fb9bf(0x1a5)]();throw new Error(_0x6fb9bf(0x144)+_0x2ceed9);}const _0x4b13a3=await _0xcf87a1['json']();_0x427e8f=_0x4b13a3['client_id'],_0x34a286=_0x4b13a3['client_secret'],await _0x19b70e['yjQan'](saveCachedClient,_0x427e8f,_0x34a286),console[_0x6fb9bf(0x160)](_0x19b70e[_0x6fb9bf(0x185)]);}else throw new Error(_0x6fb9bf(0x18f));}const _0x3b40ab=_0x19b70e[_0x6fb9bf(0x176)](randomBytes,0x20)['toString']('base64url'),_0x50690c=createHash(_0x6fb9bf(0x12d))[_0x6fb9bf(0x171)](_0x3b40ab)['digest'](_0x6fb9bf(0x137)),_0x22c027=_0x19b70e['EeEFP'](randomBytes,0x10)[_0x6fb9bf(0x1a4)](_0x6fb9bf(0x13b)),_0xbc8953=new URL(_0x2d553c[_0x6fb9bf(0x183)]);_0xbc8953[_0x6fb9bf(0x1a1)][_0x6fb9bf(0x163)]('response_type',_0x19b70e[_0x6fb9bf(0x13c)]),_0xbc8953['searchParams']['set'](_0x19b70e[_0x6fb9bf(0x172)],_0x427e8f),_0xbc8953[_0x6fb9bf(0x1a1)]['set'](_0x19b70e['jDkhE'],_0x6fb9bf(0x17d)+CALLBACK_PORT+_0x6fb9bf(0x147)),_0xbc8953[_0x6fb9bf(0x1a1)][_0x6fb9bf(0x163)](_0x19b70e[_0x6fb9bf(0x15b)],_0x50690c),_0xbc8953[_0x6fb9bf(0x1a1)][_0x6fb9bf(0x163)](_0x19b70e['JMkLK'],'S256'),_0xbc8953[_0x6fb9bf(0x1a1)]['set']('state',_0x22c027);_0x4257b8['resource']&&_0xbc8953['searchParams'][_0x6fb9bf(0x163)](_0x19b70e['tFYDA'],_0x4257b8[_0x6fb9bf(0x169)]);console['log'](_0x19b70e[_0x6fb9bf(0x13a)]),console['log'](_0x6fb9bf(0x154)+_0xbc8953['toString']()+'\x0a'),await _0x19b70e[_0x6fb9bf(0x14e)](openBrowser,_0xbc8953['toString']());const _0x46b1a0=await waitForCallback(_0x22c027);process[_0x6fb9bf(0x127)][_0x6fb9bf(0x187)](_0x19b70e['OmlxJ']);const _0x39b2d3=new URLSearchParams({'grant_type':_0x6fb9bf(0x136),'code':_0x46b1a0,'redirect_uri':_0x6fb9bf(0x17d)+CALLBACK_PORT+_0x6fb9bf(0x147),'client_id':_0x427e8f,'code_verifier':_0x3b40ab});_0x34a286&&_0x39b2d3['set'](_0x19b70e[_0x6fb9bf(0x16e)],_0x34a286);_0x4257b8['resource']&&_0x39b2d3['set'](_0x19b70e[_0x6fb9bf(0x186)],_0x4257b8['resource']);const _0x1c4277=await _0x19b70e[_0x6fb9bf(0x151)](fetch,_0x2d553c[_0x6fb9bf(0x174)],{'method':_0x19b70e['hFCvB'],'headers':{'Content-Type':_0x19b70e[_0x6fb9bf(0x166)]},'body':_0x39b2d3});if(!_0x1c4277['ok']){const _0x2b8a33=await _0x1c4277[_0x6fb9bf(0x1a5)]();throw new Error('Token\x20exchange\x20failed:\x20'+_0x2b8a33);}const _0x5b9e63=await _0x1c4277['json']();return console['log']('\x20done'),await _0x19b70e[_0x6fb9bf(0x17e)](saveCachedToken,_0x5b9e63['access_token'],_0x5b9e63[_0x6fb9bf(0x165)],_0x5b9e63[_0x6fb9bf(0x125)]),_0x5b9e63['access_token'];}async function callGetCliToken(_0x12ff21,_0x418184){const _0x14874a=_0x4e70,_0x1c8ac1={'wVhML':'2025-03-26','VxVYa':_0x14874a(0x196),'oOPOF':function(_0x55e7b7,_0x577810){return _0x55e7b7(_0x577810);},'rvCgb':'tools/call','mjQXS':_0x14874a(0x16f),'YGOBu':'Could\x20not\x20extract\x20token\x20from\x20MCP\x20response','LbGNL':function(_0x1529ac){return _0x1529ac();},'vkuAy':function(_0x5d3461,_0x31ec04,_0x147623){return _0x5d3461(_0x31ec04,_0x147623);},'KyRlL':'refresh.txt','lUyYD':function(_0x593dad,_0x1ad2a9,_0x172b0a,_0x341861){return _0x593dad(_0x1ad2a9,_0x172b0a,_0x341861);},'IiRnH':function(_0x6fefdf,_0x2aea7b,_0x183956,_0x1651bc){return _0x6fefdf(_0x2aea7b,_0x183956,_0x1651bc);},'haeIb':'auth-origin.txt'},_0x1e9261={'Content-Type':_0x14874a(0x159),'Accept':'application/json,\x20text/event-stream'};_0x418184&&(_0x1e9261[_0x14874a(0x155)]=_0x14874a(0x121)+_0x418184);const _0x334ab1=async _0x2c3499=>{const _0x5e5c05=_0x14874a,_0x3688bc=await fetch(_0x12ff21,{'method':_0x5e5c05(0x167),'headers':_0x1e9261,'body':JSON[_0x5e5c05(0x14b)](_0x2c3499)});if(!_0x3688bc['ok']){const _0x127718=await _0x3688bc['text']();throw new Error('HTTP\x20'+_0x3688bc[_0x5e5c05(0x19d)]+':\x20'+_0x127718);}return parseResponse(_0x3688bc);};process['stdout']['write'](_0x14874a(0x19f));const _0x55bf3f=await _0x334ab1({'jsonrpc':_0x14874a(0x168),'id':0x1,'method':'initialize','params':{'protocolVersion':_0x1c8ac1[_0x14874a(0x177)],'capabilities':{},'clientInfo':{'name':'ranger-cli','version':_0x1c8ac1[_0x14874a(0x181)]}}});if(_0x55bf3f['error'])throw new Error(_0x14874a(0x190)+(_0x55bf3f['error'][_0x14874a(0x182)]??JSON[_0x14874a(0x14b)](_0x55bf3f[_0x14874a(0x19b)])));console[_0x14874a(0x160)](_0x14874a(0x199)),await fetch(_0x12ff21,{'method':_0x14874a(0x167),'headers':_0x1e9261,'body':JSON['stringify']({'jsonrpc':_0x14874a(0x168),'method':'notifications/initialized'})})['then'](_0xa2d3bd=>_0xa2d3bd[_0x14874a(0x1a5)]()),process['stdout'][_0x14874a(0x187)]('Requesting\x20CLI\x20token...');const _0x344658=await _0x1c8ac1['oOPOF'](_0x334ab1,{'jsonrpc':'2.0','id':0x2,'method':_0x1c8ac1[_0x14874a(0x11f)],'params':{'name':'get_cli_token','arguments':{}}});if(_0x344658[_0x14874a(0x19b)])throw new Error('get_cli_token\x20failed:\x20'+(_0x344658[_0x14874a(0x19b)][_0x14874a(0x182)]??JSON['stringify'](_0x344658[_0x14874a(0x19b)])));console[_0x14874a(0x160)]('\x20done');const _0x865bc3=extractToken(_0x344658[_0x14874a(0x11e)]);if(!_0x865bc3){console[_0x14874a(0x19b)](_0x1c8ac1['mjQXS']),console[_0x14874a(0x19b)](JSON[_0x14874a(0x14b)](_0x344658[_0x14874a(0x11e)],null,0x2));throw new Error(_0x1c8ac1['YGOBu']);}const _0x1bb706=join(_0x1c8ac1['LbGNL'](homedir),'.ranger'),_0x2ebd20=_0x1c8ac1[_0x14874a(0x132)](join,_0x1bb706,_0x1c8ac1[_0x14874a(0x13d)]);await mkdir(_0x1bb706,{'recursive':!![]}),await _0x1c8ac1[_0x14874a(0x194)](writeFile,_0x2ebd20,_0x865bc3,{'mode':0x180}),await _0x1c8ac1[_0x14874a(0x1a2)](writeFile,join(_0x1bb706,_0x1c8ac1['haeIb']),_0x12ff21,{'mode':0x180}),console['log'](_0x14874a(0x123)+_0x2ebd20),console[_0x14874a(0x160)](_0x14874a(0x140));}async function fetchAuthServerMetadata(_0x2afb42){const _0x100afe=_0x4e70,_0x10e5a8=_0x2afb42+_0x100afe(0x184),_0xaebd7a=await fetch(_0x10e5a8);if(!_0xaebd7a['ok'])throw new Error('Could\x20not\x20fetch\x20auth\x20server\x20metadata\x20from\x20'+_0x10e5a8+':\x20'+_0xaebd7a[_0x100afe(0x19d)]);return _0xaebd7a['json']();}function waitForCallback(_0xa588aa){const _0x57c9a6=_0x4e70,_0x5b981e={'SdKOv':function(_0x23194c){return _0x23194c();},'gkSle':function(_0xf04c8,_0x30cca5){return _0xf04c8!==_0x30cca5;},'QZCbl':_0x57c9a6(0x147),'OCTFu':_0x57c9a6(0x161),'YbmwT':function(_0x354b14,_0x3e08f0){return _0x354b14(_0x3e08f0);},'pKLVG':function(_0x27af37){return _0x27af37();},'tYXIb':_0x57c9a6(0x191)};return new Promise((_0x1dd78d,_0x20264c)=>{const _0x20c345=()=>{const _0x43fd9c=_0x4e70;_0x37dbc6['closeAllConnections'](),_0x37dbc6[_0x43fd9c(0x179)]();},_0x4f6c06=setTimeout(()=>{const _0x45dfc4=_0x4e70;_0x5b981e[_0x45dfc4(0x153)](_0x20c345),_0x20264c(new OAuthTimeoutError(_0x45dfc4(0x16b)));},0x1d4c0),_0x37dbc6=createServer((_0x14cce4,_0x2cea69)=>{const _0x802ed9=_0x4e70,_0x5ceb99=new URL(_0x14cce4[_0x802ed9(0x1a3)]??'/',_0x802ed9(0x17d)+CALLBACK_PORT);if(_0x5b981e[_0x802ed9(0x13f)](_0x5ceb99[_0x802ed9(0x138)],_0x5b981e['QZCbl'])){_0x2cea69[_0x802ed9(0x19c)](0x194),_0x2cea69['end'](_0x802ed9(0x162));return;}const _0x4bbc6d=_0x5ceb99['searchParams']['get']('code'),_0x39a359=_0x5ceb99['searchParams'][_0x802ed9(0x146)]('state'),_0x3a79d7=_0x5ceb99['searchParams'][_0x802ed9(0x146)]('error');if(_0x3a79d7){const _0x8f9c81=_0x5ceb99[_0x802ed9(0x1a1)][_0x802ed9(0x146)]('error_description')??_0x3a79d7;_0x2cea69[_0x802ed9(0x19c)](0xc8,{'Content-Type':_0x5b981e['OCTFu']}),_0x2cea69[_0x802ed9(0x128)]('<html><body><h2>Authentication\x20failed</h2><p>'+_0x8f9c81+'</p><p>You\x20can\x20close\x20this\x20window.</p></body></html>'),clearTimeout(_0x4f6c06),_0x20c345(),_0x5b981e[_0x802ed9(0x188)](_0x20264c,new Error(_0x802ed9(0x152)+_0x8f9c81));return;}if(!_0x4bbc6d||_0x39a359!==_0xa588aa){_0x2cea69['writeHead'](0x190,{'Content-Type':_0x5b981e['OCTFu']}),_0x2cea69[_0x802ed9(0x128)]('<html><body><h2>Invalid\x20callback</h2><p>Missing\x20code\x20or\x20state\x20mismatch.</p></body></html>');return;}_0x2cea69[_0x802ed9(0x19c)](0xc8,{'Content-Type':_0x5b981e['OCTFu']}),_0x2cea69[_0x802ed9(0x128)](_0x802ed9(0x126)),clearTimeout(_0x4f6c06),_0x5b981e[_0x802ed9(0x19a)](_0x20c345),_0x1dd78d(_0x4bbc6d);});_0x37dbc6['listen'](CALLBACK_PORT,_0x5b981e['tYXIb']);});}async function openBrowser(_0x403a5c){const _0x48c621=_0x4e70,_0x235bac={'HnmCU':function(_0x5b22d5,_0x1034b9){return _0x5b22d5===_0x1034b9;},'oCUpC':_0x48c621(0x15a),'xFCVj':'start','MZTmm':'xdg-open'},_0x471205=_0x235bac[_0x48c621(0x157)](process['platform'],'darwin')?_0x235bac['oCUpC']:process[_0x48c621(0x133)]===_0x48c621(0x12e)?_0x235bac['xFCVj']:_0x235bac['MZTmm'];exec(_0x471205+'\x20\x22'+_0x403a5c+'\x22');}let currentOrigin='';async function loadCachedToken(){const _0x372f4b=_0x4e70,_0x2d8b10={'NSAEx':function(_0x56faf6,_0x3c239b){return _0x56faf6!==_0x3c239b;}};try{const _0x4a55e0=JSON['parse'](await readFile(TOKEN_CACHE_PATH,'utf-8'));if(_0x4a55e0['origin']&&_0x2d8b10['NSAEx'](_0x4a55e0['origin'],currentOrigin))return null;if(_0x4a55e0['expiresAt']&&Date[_0x372f4b(0x175)]()>_0x4a55e0[_0x372f4b(0x192)])return null;return _0x4a55e0[_0x372f4b(0x15d)]??null;}catch{return null;}}async function saveCachedToken(_0x700cce,_0xfeff36,_0x346250){const _0x2661e7=_0x4e70,_0x4d80e6={'HfRNN':function(_0x7514ba){return _0x7514ba();},'CJSVK':function(_0x44e779,_0x50cf24,_0x4142d8){return _0x44e779(_0x50cf24,_0x4142d8);},'qOMwF':'.ranger'},_0x5f113c=await _0x4d80e6['HfRNN'](loadCachedData),_0x27c5d6={..._0x5f113c,'origin':currentOrigin,'accessToken':_0x700cce,'refreshToken':_0xfeff36??_0x5f113c?.[_0x2661e7(0x124)],'expiresAt':_0x346250?Date[_0x2661e7(0x175)]()+_0x346250*0x3e8:undefined};await _0x4d80e6[_0x2661e7(0x14d)](mkdir,_0x4d80e6[_0x2661e7(0x14d)](join,homedir(),_0x4d80e6[_0x2661e7(0x120)]),{'recursive':!![]}),await writeFile(TOKEN_CACHE_PATH,JSON[_0x2661e7(0x14b)](_0x27c5d6),{'mode':0x180});}async function loadCachedClient(){const _0x31334f=_0x4e70,_0x5c8847={'tRIKI':function(_0x46d8a3,_0x247905){return _0x46d8a3!==_0x247905;}},_0x33fcd2=await loadCachedData();if(_0x33fcd2?.[_0x31334f(0x142)]&&_0x5c8847[_0x31334f(0x19e)](_0x33fcd2[_0x31334f(0x142)],currentOrigin))return null;return _0x33fcd2?.['clientId']?{'clientId':_0x33fcd2[_0x31334f(0x15e)],'clientSecret':_0x33fcd2[_0x31334f(0x18e)]}:null;}async function clearCachedClient(){const _0x2641a6=_0x4e70,_0x25a46a={'yLFPi':function(_0x4ad212){return _0x4ad212();},'GxVcU':function(_0x355475,_0x52764b,_0x3d4702,_0x1eebc1){return _0x355475(_0x52764b,_0x3d4702,_0x1eebc1);}},_0x3c6c1e=await _0x25a46a['yLFPi'](loadCachedData);if(!_0x3c6c1e)return;const {clientId:_0x582ca5,clientSecret:_0xc9fcee,..._0x3d7e0d}=_0x3c6c1e;await _0x25a46a[_0x2641a6(0x12c)](writeFile,TOKEN_CACHE_PATH,JSON[_0x2641a6(0x14b)](_0x3d7e0d),{'mode':0x180});}async function saveCachedClient(_0xf1bd5,_0x4974c8){const _0x31af98=_0x4e70,_0x5957bc={'NlpYe':function(_0x394cd5,_0x454955,_0x12d38b){return _0x394cd5(_0x454955,_0x12d38b);},'JvjXR':function(_0x38a48f){return _0x38a48f();}},_0x2c5d54=await loadCachedData(),_0x15c150={..._0x2c5d54,'origin':currentOrigin,'accessToken':_0x2c5d54?.[_0x31af98(0x15d)]??'','clientId':_0xf1bd5,'clientSecret':_0x4974c8};await _0x5957bc['NlpYe'](mkdir,join(_0x5957bc['JvjXR'](homedir),'.ranger'),{'recursive':!![]}),await writeFile(TOKEN_CACHE_PATH,JSON['stringify'](_0x15c150),{'mode':0x180});}async function loadCachedData(){const _0x2551f9=_0x4e70,_0xeb6a64={'gXNAk':function(_0x23c188,_0x2b0bf7,_0x178d70){return _0x23c188(_0x2b0bf7,_0x178d70);},'mbLxx':_0x2551f9(0x156)};try{return JSON['parse'](await _0xeb6a64['gXNAk'](readFile,TOKEN_CACHE_PATH,_0xeb6a64[_0x2551f9(0x143)]));}catch{return null;}}function _0x27b5(){const _0x368044=['gPBGC','yYQXY','\x20done','pKLVG','error','writeHead','status','tRIKI','Initializing\x20MCP\x20session...','RAOHZ','searchParams','IiRnH','url','toString','text','result','rvCgb','qOMwF','Bearer\x20','\x0aConnecting\x20to\x20MCP\x20auth\x20server:\x20','\x0aToken\x20written\x20to\x20','refreshToken','expires_in','<html><body><h2>Authenticated!</h2><p>You\x20can\x20close\x20this\x20window\x20and\x20return\x20to\x20the\x20terminal.</p></body></html>','stdout','end','YcAJh','gjJnP','Server\x20returned\x20error:\x20','GxVcU','sha256','win32','text/event-stream','669likHdH','initialize','vkuAy','platform','ranger-cli','json','authorization_code','base64url','pathname','977860XIXRvb','sfZXl','hex','yGIUj','KyRlL','152087fzUGkR','gkSle','Run\x20`ranger\x20status`\x20to\x20verify\x20authentication.\x0a','Run\x20`ranger\x20setup\x20--mcp-bootstrap`\x20interactively\x20first.','origin','mbLxx','Client\x20registration\x20failed:\x20','client_id','get','/callback','data:','Unknown\x20error','content','stringify','zDdAe','CJSVK','bCpYO','parse','application/json,\x20text/event-stream','poOpS','OAuth\x20error:\x20','SdKOv','If\x20the\x20browser\x20doesn\x27t\x20open,\x20visit:\x0a','Authorization','utf-8','HnmCU','2025-03-26','application/json','open','bYAaH','HSgev','accessToken','clientId','6418808MYZoUH','log','text/html','Not\x20found','set','startsWith','refresh_token','qguuL','POST','2.0','resource','7054572GBrNTf','OAuth\x20callback\x20timed\x20out\x20after\x202\x20minutes','SdKUn','content-type','OTUkT','\x0aUnexpected\x20response\x20structure:','aphxe','update','qIsTT','yjQan','token_endpoint','now','QVLGX','wVhML','string','close','tCcPv','4400718PbYOHO','none','http://localhost:','poUCV','token','needs-oauth','VxVYa','message','authorization_endpoint','/.well-known/oauth-authorization-server','eGBwr','tFYDA','write','YbmwT','isTTY','isError','Registering\x20OAuth\x20client...','proxied','1533296JUZgAj','clientSecret','Authorization\x20server\x20does\x20not\x20support\x20dynamic\x20client\x20registration\x20and\x20no\x20cached\x20client\x20found','MCP\x20initialize\x20failed:\x20','127.0.0.1','expiresAt','auQWW','lUyYD','1012wJApbm','1.0.0'];_0x27b5=function(){return _0x368044;};return _0x27b5();}async function parseResponse(_0x5e55a3){const _0x48b2c7=_0x4e70,_0x440c8c={'eyJep':'data:','gotSx':function(_0x35fca0,_0x3d27ed){return _0x35fca0!==_0x3d27ed;},'IauvW':'No\x20JSON-RPC\x20response\x20found\x20in\x20SSE\x20stream'},_0x54b8ae=_0x5e55a3['headers']['get'](_0x48b2c7(0x16d))??'';if(_0x54b8ae['includes'](_0x48b2c7(0x12f))){const _0xbc9631=await _0x5e55a3['text']();for(const _0x16e7d5 of _0xbc9631['split']('\x0a')){const _0x536897=_0x16e7d5['trim']();if(_0x536897[_0x48b2c7(0x164)](_0x440c8c['eyJep'])){const _0x3499a1=_0x536897['slice'](_0x48b2c7(0x148)['length'])['trim']();if(!_0x3499a1)continue;try{const _0x3c5748=JSON[_0x48b2c7(0x14f)](_0x3499a1);if(_0x440c8c['gotSx'](_0x3c5748['id'],undefined)||_0x3c5748[_0x48b2c7(0x19b)])return _0x3c5748;}catch{}}}throw new Error(_0x440c8c['IauvW']);}return _0x5e55a3['json']();}function extractToken(_0x388ccd){const _0x3f0905=_0x4e70,_0x5df135={'cVqpX':function(_0x4d431a,_0x345076){return _0x4d431a===_0x345076;},'zDdAe':_0x3f0905(0x149),'BWgWB':function(_0x49fa99,_0x2d2674){return _0x49fa99===_0x2d2674;},'aphxe':function(_0x53efb5,_0x13c2e2){return _0x53efb5===_0x13c2e2;},'RAOHZ':_0x3f0905(0x178)};if(!_0x388ccd)return null;const _0x5424ee=_0x388ccd['structuredContent'];if(_0x5424ee?.['token']&&_0x5df135['cVqpX'](typeof _0x5424ee['token'],_0x3f0905(0x178)))return _0x5424ee['token'];if(_0x388ccd[_0x3f0905(0x18a)]){const _0x4948c4=_0x388ccd['content'];throw new Error(_0x3f0905(0x12b)+(_0x4948c4?.[0x0]?.[_0x3f0905(0x1a5)]??_0x5df135[_0x3f0905(0x14c)]));}const _0x540560=_0x388ccd[_0x3f0905(0x14a)];if(_0x540560)for(const _0x5eec22 of _0x540560){if(_0x5df135['BWgWB'](_0x5eec22['type'],'text')&&_0x5eec22['text']){try{const _0x2f4492=JSON[_0x3f0905(0x14f)](_0x5eec22['text']);if(_0x5df135[_0x3f0905(0x170)](typeof _0x2f4492?.[_0x3f0905(0x17f)],_0x5df135[_0x3f0905(0x1a0)]))return _0x2f4492[_0x3f0905(0x17f)];}catch{}const _0x7b8f89=_0x5eec22[_0x3f0905(0x1a5)]['match'](/(rngr_[A-Za-z0-9_-]+)/);if(_0x7b8f89)return _0x7b8f89[0x1];}}return null;}
@@ -1 +1 @@
1
- function _0x269c(){var _0x3d0fa9=['ranger\x20profile\x20migrate\x20is\x20no\x20longer\x20supported.\x0a','20208897lIsiqy','error','For\x20CI\x20/\x20background\x20agents\x20and\x20other\x20setup\x20options,\x20see:\x0a','7255032IOOvrn','10kNcUhI','3552954xJMoHx','142UgGMRW','To\x20set\x20up\x20a\x20fresh\x20profile,\x20run:\x0a','\x20\x20ranger\x20profile\x20add\x20<name>\x0a','1154817milmsl','Existing\x20sessions\x20in\x20your\x20old\x20<project>/.ranger/\x20dirs\x20still\x20work\x20as\x20a\x0a','4HjfoGS','RfLYl','gVDiT','\x20\x20https://docs.ranger.net/main/concepts/profiles\x0a','10143630xpiyrf','6622680rdzbcG','5418Nxtxfn'];_0x269c=function(){return _0x3d0fa9;};return _0x269c();}function _0x5220(_0x4899cd,_0x1d1712){_0x4899cd=_0x4899cd-0x153;var _0x269ce2=_0x269c();var _0x52204e=_0x269ce2[_0x4899cd];return _0x52204e;}(function(_0x58bb82,_0x554a19){var _0x5c2d0d=_0x5220,_0x1f4ce4=_0x58bb82();while(!![]){try{var _0x2d9309=parseInt(_0x5c2d0d(0x15f))/0x1*(parseInt(_0x5c2d0d(0x157))/0x2)+parseInt(_0x5c2d0d(0x162))/0x3+-parseInt(_0x5c2d0d(0x164))/0x4*(-parseInt(_0x5c2d0d(0x156))/0x5)+parseInt(_0x5c2d0d(0x15e))/0x6+parseInt(_0x5c2d0d(0x155))/0x7+-parseInt(_0x5c2d0d(0x15c))/0x8+-parseInt(_0x5c2d0d(0x159))/0x9*(parseInt(_0x5c2d0d(0x15d))/0xa);if(_0x2d9309===_0x554a19)break;else _0x1f4ce4['push'](_0x1f4ce4['shift']());}catch(_0x3a8a4f){_0x1f4ce4['push'](_0x1f4ce4['shift']());}}}(_0x269c,0xf0032));export async function migrateProfile(_0x124640,_0xd12a30){var _0x17331a=_0x5220,_0xd61008={'RfLYl':function(_0x33e9b1,_0x5adaf0){return _0x33e9b1+_0x5adaf0;},'gVDiT':_0x17331a(0x15b)};console[_0x17331a(0x15a)](_0xd61008[_0x17331a(0x165)](_0xd61008[_0x17331a(0x165)](_0x17331a(0x158)+'\x0a'+_0x17331a(0x160)+_0x17331a(0x161)+'\x0a'+_0xd61008[_0x17331a(0x153)]+_0x17331a(0x154),'\x0a'),_0x17331a(0x163))+'fallback;\x20you\x20can\x20delete\x20them\x20once\x20you\x20have\x20re-auth-ed.'),process['exit'](0x1);}
1
+ (function(_0x4e2a80,_0x5e08e1){var _0x492407=_0x2e2e,_0x2987bf=_0x4e2a80();while(!![]){try{var _0x301e41=-parseInt(_0x492407(0x1cd))/0x1+parseInt(_0x492407(0x1bc))/0x2*(parseInt(_0x492407(0x1c9))/0x3)+-parseInt(_0x492407(0x1c0))/0x4*(-parseInt(_0x492407(0x1c8))/0x5)+parseInt(_0x492407(0x1c4))/0x6*(-parseInt(_0x492407(0x1c6))/0x7)+-parseInt(_0x492407(0x1c1))/0x8*(-parseInt(_0x492407(0x1bf))/0x9)+-parseInt(_0x492407(0x1c5))/0xa+-parseInt(_0x492407(0x1bb))/0xb;if(_0x301e41===_0x5e08e1)break;else _0x2987bf['push'](_0x2987bf['shift']());}catch(_0x3f9055){_0x2987bf['push'](_0x2987bf['shift']());}}}(_0x3248,0x889f7));function _0x2e2e(_0x5ccbd6,_0x58e939){_0x5ccbd6=_0x5ccbd6-0x1bb;var _0x3248e7=_0x3248();var _0x2e2ed3=_0x3248e7[_0x5ccbd6];return _0x2e2ed3;}export async function migrateProfile(_0xf174de,_0x319aa8){var _0x1e7ec2=_0x2e2e,_0x53683b={'mZGsM':function(_0x6beb72,_0x545d49){return _0x6beb72+_0x545d49;},'NdaFO':function(_0x39e188,_0x4a6391){return _0x39e188+_0x4a6391;},'SzSgI':'\x20\x20ranger\x20profile\x20add\x20<name>\x0a','JksFd':'\x20\x20https://docs.ranger.net/main/concepts/profiles\x0a','ftcOw':'Existing\x20sessions\x20in\x20your\x20old\x20<project>/.ranger/\x20dirs\x20still\x20work\x20as\x20a\x0a'};console[_0x1e7ec2(0x1c3)](_0x53683b[_0x1e7ec2(0x1c2)](_0x53683b[_0x1e7ec2(0x1bd)](_0x53683b['NdaFO'](_0x53683b['NdaFO']('ranger\x20profile\x20migrate\x20is\x20no\x20longer\x20supported.\x0a','\x0a')+_0x1e7ec2(0x1cc)+_0x53683b[_0x1e7ec2(0x1c7)],'\x0a')+_0x1e7ec2(0x1be)+_0x53683b['JksFd'],'\x0a')+_0x53683b[_0x1e7ec2(0x1cb)],'fallback;\x20you\x20can\x20delete\x20them\x20once\x20you\x20have\x20re-auth-ed.')),process[_0x1e7ec2(0x1ca)](0x1);}function _0x3248(){var _0x5802b9=['exit','ftcOw','To\x20set\x20up\x20a\x20fresh\x20profile,\x20run:\x0a','437699IZSCgj','7603508OzAehF','36906pJtnmX','NdaFO','For\x20CI\x20/\x20background\x20agents\x20and\x20other\x20setup\x20options,\x20see:\x0a','4828635Lriycq','8OUxFEy','8AImDTt','mZGsM','error','800616GtQHsK','2050500GuDRyC','21shOFoZ','SzSgI','1763890KcdhSc','171ejOUnX'];_0x3248=function(){return _0x5802b9;};return _0x3248();}
@@ -1 +1 @@
1
- (function(_0xafa8c9,_0x4aa959){const _0x148dcb=_0xf213,_0x44296f=_0xafa8c9();while(!![]){try{const _0x25a004=parseInt(_0x148dcb(0x7f))/0x1+parseInt(_0x148dcb(0xa2))/0x2+-parseInt(_0x148dcb(0x7c))/0x3+-parseInt(_0x148dcb(0x94))/0x4+parseInt(_0x148dcb(0x8e))/0x5*(parseInt(_0x148dcb(0xa6))/0x6)+parseInt(_0x148dcb(0x7b))/0x7*(-parseInt(_0x148dcb(0x88))/0x8)+-parseInt(_0x148dcb(0x9a))/0x9;if(_0x25a004===_0x4aa959)break;else _0x44296f['push'](_0x44296f['shift']());}catch(_0x43fba0){_0x44296f['push'](_0x44296f['shift']());}}}(_0x5daa,0xc613f));import{join}from'path';function _0xf213(_0x12e907,_0x5da2e0){_0x12e907=_0x12e907-0x74;const _0x5daa9c=_0x5daa();let _0xf2130e=_0x5daa9c[_0x12e907];return _0xf2130e;}import{existsSync}from'fs';import _0x425ebe from'inquirer';import{skillup}from'../skillup.js';import{runClaudeCommand,isMarketplaceAdded,isPluginInstalled}from'../utils/claudePlugin.js';import{getProjectRoot,getSkillsDir}from'../utils/claudeConfig.js';export async function ensureClaudePlugin(_0x32d17b){const _0x3aca78=_0xf213,_0x4f45aa={'fOUND':'ranger@trailhead','DWpuO':_0x3aca78(0x8a),'hamKk':_0x3aca78(0xa3),'etVxf':'list','zllNk':_0x3aca78(0xa8),'CMGfr':_0x3aca78(0x84),'QyDNV':_0x3aca78(0x80),'GePaq':_0x3aca78(0xa5),'WTgCG':_0x3aca78(0x8d),'CgnrA':_0x3aca78(0x99),'sJRqt':_0x3aca78(0x7e),'NfZOD':_0x3aca78(0x9e),'yWJdF':_0x3aca78(0x75),'PugQw':'❌\x20Failed\x20to\x20add\x20marketplace:','eeFLT':function(_0x4ae645,_0xa0429d,_0x5339c1){return _0x4ae645(_0xa0429d,_0x5339c1);},'PuNRh':function(_0x2ac590,_0x8cf731){return _0x2ac590===_0x8cf731;},'IhUiT':'✓\x20Claude\x20Code\x20plugin\x20installed\x20successfully','FAfTa':_0x3aca78(0x76),'Fifjx':'⚠\x20Failed\x20to\x20enable\x20plugin:'},_0x2b4444=await isPluginInstalled(_0x4f45aa[_0x3aca78(0x93)]);if(_0x2b4444)return console['log'](_0x4f45aa[_0x3aca78(0x8c)]),![];const _0x3c9451=existsSync(join(getProjectRoot(),'.claude'));let _0x2c855d;if(_0x32d17b)_0x2c855d=_0x32d17b;else{if(_0x3c9451)_0x2c855d=_0x3aca78(0xa5);else{console['log'](_0x4f45aa[_0x3aca78(0x98)]);const _0x43e0ac=await _0x425ebe['prompt']([{'type':_0x4f45aa[_0x3aca78(0xa0)],'name':'pluginScope','message':_0x4f45aa[_0x3aca78(0x95)],'choices':[{'name':'User\x20(available\x20in\x20all\x20your\x20projects)','value':_0x4f45aa['CMGfr']},{'name':_0x4f45aa[_0x3aca78(0x8b)],'value':_0x4f45aa[_0x3aca78(0xaa)]}],'default':_0x4f45aa[_0x3aca78(0x79)]}]);_0x2c855d=_0x43e0ac[_0x3aca78(0xa9)];}}console['log']('\x0aInstalling\x20Claude\x20Code\x20plugin\x20('+_0x2c855d+'\x20level)...\x0a');const _0x2d428b=await isMarketplaceAdded(_0x4f45aa[_0x3aca78(0x85)]);let _0x57f7c4=_0x2d428b;if(_0x2d428b)console['log']('✓\x20Marketplace\x20already\x20added');else{const _0x40bc39=await runClaudeCommand([_0x4f45aa['CgnrA'],_0x4f45aa[_0x3aca78(0x7d)],_0x4f45aa[_0x3aca78(0x83)],_0x4f45aa['yWJdF']]);!_0x40bc39[_0x3aca78(0x7a)]?(console[_0x3aca78(0x86)](_0x4f45aa['PugQw'],_0x40bc39[_0x3aca78(0x86)]),console['log']('\x0aYou\x20can\x20install\x20manually\x20with:'),console['log']('\x20\x20claude\x20plugin\x20marketplace\x20add\x20ranger-testing/trailhead'),console['log']('\x20\x20claude\x20plugin\x20install\x20ranger@trailhead\x20--scope\x20'+_0x2c855d)):_0x57f7c4=!![];}if(_0x57f7c4){const _0x26c83d=await _0x4f45aa['eeFLT'](runClaudeCommand,[_0x4f45aa['CgnrA'],_0x3aca78(0xa7),_0x3aca78(0x97),_0x3aca78(0x76),_0x2c855d],{'cwd':_0x4f45aa['PuNRh'](_0x2c855d,_0x4f45aa['GePaq'])?getProjectRoot():undefined});if(!_0x26c83d['success'])console[_0x3aca78(0x86)](_0x3aca78(0x8f),_0x26c83d['error']),console[_0x3aca78(0x90)]('\x0aYou\x20can\x20install\x20manually\x20with:'),console[_0x3aca78(0x90)]('\x20\x20claude\x20plugin\x20install\x20ranger@trailhead\x20--scope\x20'+_0x2c855d);else{console['log'](_0x4f45aa['IhUiT']);const _0x2d7278=[_0x3aca78(0x99),'enable',_0x4f45aa[_0x3aca78(0x93)]];_0x2c855d===_0x4f45aa[_0x3aca78(0xaa)]&&_0x2d7278[_0x3aca78(0x92)](_0x4f45aa[_0x3aca78(0x9d)],_0x4f45aa[_0x3aca78(0xaa)]);const _0x56cf67=await runClaudeCommand(_0x2d7278,{'captureOutput':!![],'cwd':_0x2c855d==='project'?getProjectRoot():undefined}),_0x1fd218=_0x56cf67['output']?.['includes'](_0x3aca78(0x9b));!_0x56cf67['success']&&!_0x1fd218?console['error'](_0x4f45aa[_0x3aca78(0x9f)],_0x56cf67['error']):console[_0x3aca78(0x90)](_0x3aca78(0x87));}}return!![];}function _0x5daa(){const _0x2eb62c=['already\x20enabled','✓\x20Ranger\x20skills\x20already\x20installed','FAfTa','add','Fifjx','etVxf','lHTXF','2502180CQLzrW','\x0a📦\x20Claude\x20Code\x20Plugin\x0a','QKXQx','project','3531234JCaxbH','install','Where\x20should\x20the\x20plugin\x20be\x20installed?','pluginScope','GePaq','SKILL.md','ranger-testing/trailhead','--scope','confirm','NLyRb','CMGfr','success','915754ruhlgy','1041744whaIhw','sJRqt','marketplace','211930dwCcos','Project\x20(shared\x20with\x20team\x20via\x20git)','wantsSkillup','.claude','NfZOD','user','WTgCG','error','✓\x20Claude\x20Code\x20plugin\x20enabled','32jZYrko','EmYCG','✓\x20Claude\x20Code\x20plugin\x20already\x20installed','QyDNV','DWpuO','trailhead','10UPRtCW','❌\x20Failed\x20to\x20install\x20plugin:','log','Would\x20you\x20like\x20to\x20install\x20skills?','push','fOUND','1248856lTZYvl','zllNk','ffepw','ranger@trailhead','hamKk','plugin','5814189XzTxUh'];_0x5daa=function(){return _0x2eb62c;};return _0x5daa();}export async function ensureClaudeSkills(_0x3d8038){const _0x474d4b=_0xf213,_0x538507={'ffepw':function(_0x172350,_0x193c85,_0x5e69f6,_0x2053f6){return _0x172350(_0x193c85,_0x5e69f6,_0x2053f6);},'pOSbo':'ranger','QKXQx':function(_0x5e6bfe,_0x32a9ba){return _0x5e6bfe(_0x32a9ba);},'NLyRb':'project','yrTEK':function(_0x46b5ea,_0xf12cb1){return _0x46b5ea||_0xf12cb1;},'jmptC':_0x474d4b(0x9c),'XHDPZ':function(_0x183af9,_0x1b2d37,_0x27468d){return _0x183af9(_0x1b2d37,_0x27468d);},'WldDf':function(_0x1359f5){return _0x1359f5();},'lHTXF':_0x474d4b(0x77),'EmYCG':_0x474d4b(0x91)},_0x1769aa=existsSync(_0x538507[_0x474d4b(0x96)](join,getSkillsDir(_0x474d4b(0x84)),_0x538507['pOSbo'],_0x474d4b(0x74))),_0x55d15f=_0x538507[_0x474d4b(0xa4)](existsSync,_0x538507['ffepw'](join,getSkillsDir(_0x538507[_0x474d4b(0x78)]),'ranger','SKILL.md'));if(_0x538507['yrTEK'](_0x1769aa,_0x55d15f))return console['log'](_0x538507['jmptC']),![];const _0x58e6ec=existsSync(_0x538507['XHDPZ'](join,_0x538507['WldDf'](getProjectRoot),_0x474d4b(0x82)));let _0x433d22=!![];if(_0x3d8038)await skillup({'autoInstall':_0x3d8038,'suppressUsage':!![]});else{if(_0x58e6ec)await skillup({'autoInstall':_0x474d4b(0xa5),'suppressUsage':!![]});else{const _0x561245=await _0x425ebe['prompt']([{'type':_0x538507[_0x474d4b(0xa1)],'name':'wantsSkillup','message':_0x538507[_0x474d4b(0x89)],'default':!![]}]);_0x433d22=_0x561245[_0x474d4b(0x81)],_0x433d22&&await _0x538507['QKXQx'](skillup,{'suppressUsage':!![]});}}return _0x433d22;}
1
+ (function(_0x4e3383,_0x58390f){const _0x2002ec=_0x3442,_0x5d61c7=_0x4e3383();while(!![]){try{const _0x1fc6a2=-parseInt(_0x2002ec(0x10b))/0x1+-parseInt(_0x2002ec(0xfb))/0x2+parseInt(_0x2002ec(0x11a))/0x3+-parseInt(_0x2002ec(0x10e))/0x4*(parseInt(_0x2002ec(0xf9))/0x5)+-parseInt(_0x2002ec(0x111))/0x6+parseInt(_0x2002ec(0xea))/0x7*(-parseInt(_0x2002ec(0x10a))/0x8)+-parseInt(_0x2002ec(0xf3))/0x9*(-parseInt(_0x2002ec(0xfe))/0xa);if(_0x1fc6a2===_0x58390f)break;else _0x5d61c7['push'](_0x5d61c7['shift']());}catch(_0x47f962){_0x5d61c7['push'](_0x5d61c7['shift']());}}}(_0x3db0,0x69be0));import{join}from'path';import{existsSync}from'fs';import _0x244a92 from'inquirer';import{skillup}from'../skillup.js';function _0x3db0(){const _0x2e2149=['\x20level)...\x0a','log','NUrtA','add','\x0aYou\x20can\x20install\x20manually\x20with:','IewYc','xwMlI','push','confirm','HBDsc','htquH','35Lpexpo','✓\x20Claude\x20Code\x20plugin\x20already\x20installed','GwXgX','✓\x20Claude\x20Code\x20plugin\x20enabled','\x0aInstalling\x20Claude\x20Code\x20plugin\x20(','NByle','\x20\x20claude\x20plugin\x20marketplace\x20add\x20ranger-testing/trailhead','\x20\x20claude\x20plugin\x20install\x20ranger@trailhead\x20--scope\x20','YeQsx','30141WWLytG','trailhead','xxXQf','Would\x20you\x20like\x20to\x20install\x20skills?','ranger-testing/trailhead','list','20egFTho','--scope','1245744dwFKax','user','hDePL','5950SZqizE','error','success','ZzrkH','FEzKm','prompt','fqWmq','CFpqA','fumtJ','install','includes','❌\x20Failed\x20to\x20add\x20marketplace:','464728jpQAIM','400042RCZHdi','wantsSkillup','cywYj','501320IZGiYd','ranger','nQYSZ','1596582cSNTtT','plugin','pluginScope','owGRj','.claude','❌\x20Failed\x20to\x20install\x20plugin:','ranger@trailhead','enable','WTHVt','1563753wPSWny'];_0x3db0=function(){return _0x2e2149;};return _0x3db0();}import{runClaudeCommand,isMarketplaceAdded,isPluginInstalled}from'../utils/claudePlugin.js';function _0x3442(_0x30e37d,_0x34702d){_0x30e37d=_0x30e37d-0xe2;const _0x3db0f8=_0x3db0();let _0x3442e6=_0x3db0f8[_0x30e37d];return _0x3442e6;}import{getProjectRoot,getSkillsDir}from'../utils/claudeConfig.js';export async function ensureClaudePlugin(_0x567515){const _0x1d7d0f=_0x3442,_0x3abba1={'IGyCV':_0x1d7d0f(0xeb),'hYwoW':function(_0x25d43a,_0x12f79f){return _0x25d43a(_0x12f79f);},'CFpqA':_0x1d7d0f(0x115),'svBLY':'project','xyfoI':'\x0a📦\x20Claude\x20Code\x20Plugin\x0a','owGRj':'pluginScope','nQYSZ':'User\x20(available\x20in\x20all\x20your\x20projects)','DdCOH':function(_0x51ab45,_0x27822e){return _0x51ab45(_0x27822e);},'XGRrD':'✓\x20Marketplace\x20already\x20added','MDRmV':_0x1d7d0f(0xe2),'ERUEC':_0x1d7d0f(0xe3),'sEncM':_0x1d7d0f(0xf0),'cywYj':function(_0x43eb53,_0x4fe10f,_0x35df1c){return _0x43eb53(_0x4fe10f,_0x35df1c);},'JFHHv':_0x1d7d0f(0x112),'GARUM':_0x1d7d0f(0x107),'fumtJ':_0x1d7d0f(0xfa),'YeQsx':function(_0x179802,_0x28fdfc){return _0x179802===_0x28fdfc;},'nvXWy':_0x1d7d0f(0x116),'VRWPL':'✓\x20Claude\x20Code\x20plugin\x20installed\x20successfully','xqDWF':_0x1d7d0f(0x118),'FEzKm':'ranger@trailhead','GwXgX':function(_0xebf9c4,_0x25efd8,_0x2bc2c4){return _0xebf9c4(_0x25efd8,_0x2bc2c4);},'xxXQf':function(_0x54d578,_0xd1b0e7){return _0x54d578===_0xd1b0e7;},'JXEJE':function(_0x2d21c7){return _0x2d21c7();},'NByle':'⚠\x20Failed\x20to\x20enable\x20plugin:','JmKtZ':_0x1d7d0f(0xed)},_0x35e3d6=await isPluginInstalled('ranger@trailhead');if(_0x35e3d6)return console[_0x1d7d0f(0x11c)](_0x3abba1['IGyCV']),![];const _0x5917ff=_0x3abba1['hYwoW'](existsSync,join(getProjectRoot(),_0x3abba1[_0x1d7d0f(0x105)]));let _0x1e1b47;if(_0x567515)_0x1e1b47=_0x567515;else{if(_0x5917ff)_0x1e1b47=_0x3abba1['svBLY'];else{console[_0x1d7d0f(0x11c)](_0x3abba1['xyfoI']);const _0x24aec3=await _0x244a92[_0x1d7d0f(0x103)]([{'type':_0x1d7d0f(0xf8),'name':_0x3abba1[_0x1d7d0f(0x114)],'message':'Where\x20should\x20the\x20plugin\x20be\x20installed?','choices':[{'name':_0x3abba1[_0x1d7d0f(0x110)],'value':'user'},{'name':'Project\x20(shared\x20with\x20team\x20via\x20git)','value':_0x3abba1['svBLY']}],'default':_0x1d7d0f(0xfc)}]);_0x1e1b47=_0x24aec3[_0x1d7d0f(0x113)];}}console['log'](_0x1d7d0f(0xee)+_0x1e1b47+_0x1d7d0f(0x11b));const _0x3e9a7a=await _0x3abba1['DdCOH'](isMarketplaceAdded,_0x1d7d0f(0xf4));let _0x1ec509=_0x3e9a7a;if(_0x3e9a7a)console['log'](_0x3abba1['XGRrD']);else{const _0xc79d55=await runClaudeCommand(['plugin','marketplace',_0x3abba1['MDRmV'],_0x1d7d0f(0xf7)]);!_0xc79d55[_0x1d7d0f(0x100)]?(console['error'](_0x1d7d0f(0x109),_0xc79d55[_0x1d7d0f(0xff)]),console[_0x1d7d0f(0x11c)](_0x3abba1['ERUEC']),console[_0x1d7d0f(0x11c)](_0x3abba1['sEncM']),console[_0x1d7d0f(0x11c)]('\x20\x20claude\x20plugin\x20install\x20ranger@trailhead\x20--scope\x20'+_0x1e1b47)):_0x1ec509=!![];}if(_0x1ec509){const _0x1d2c19=await _0x3abba1[_0x1d7d0f(0x10d)](runClaudeCommand,[_0x3abba1['JFHHv'],_0x3abba1['GARUM'],_0x1d7d0f(0x117),_0x3abba1[_0x1d7d0f(0x106)],_0x1e1b47],{'cwd':_0x3abba1[_0x1d7d0f(0xf2)](_0x1e1b47,'project')?getProjectRoot():undefined});if(!_0x1d2c19[_0x1d7d0f(0x100)])console[_0x1d7d0f(0xff)](_0x3abba1['nvXWy'],_0x1d2c19[_0x1d7d0f(0xff)]),console[_0x1d7d0f(0x11c)](_0x3abba1['ERUEC']),console[_0x1d7d0f(0x11c)](_0x1d7d0f(0xf1)+_0x1e1b47);else{console['log'](_0x3abba1['VRWPL']);const _0x21a06c=[_0x1d7d0f(0x112),_0x3abba1['xqDWF'],_0x3abba1[_0x1d7d0f(0x102)]];_0x3abba1[_0x1d7d0f(0xf2)](_0x1e1b47,'project')&&_0x21a06c[_0x1d7d0f(0xe6)](_0x1d7d0f(0xfa),_0x3abba1['svBLY']);const _0x111940=await _0x3abba1[_0x1d7d0f(0xec)](runClaudeCommand,_0x21a06c,{'captureOutput':!![],'cwd':_0x3abba1[_0x1d7d0f(0xf5)](_0x1e1b47,'project')?_0x3abba1['JXEJE'](getProjectRoot):undefined}),_0x2a0f24=_0x111940['output']?.[_0x1d7d0f(0x108)]('already\x20enabled');!_0x111940['success']&&!_0x2a0f24?console['error'](_0x3abba1[_0x1d7d0f(0xef)],_0x111940['error']):console['log'](_0x3abba1['JmKtZ']);}}return!![];}export async function ensureClaudeSkills(_0x535c15){const _0x1b5a46=_0x3442,_0x5afaf1={'HBDsc':function(_0x194395,_0x44c656,_0x20472b,_0x9f96ae){return _0x194395(_0x44c656,_0x20472b,_0x9f96ae);},'htquH':'user','fqWmq':function(_0x2800dd,_0x30ea39,_0x28e116,_0x26bc4e){return _0x2800dd(_0x30ea39,_0x28e116,_0x26bc4e);},'urVIY':'SKILL.md','ZDSjY':function(_0x1719eb,_0x4c6e8e){return _0x1719eb||_0x4c6e8e;},'NUrtA':'✓\x20Ranger\x20skills\x20already\x20installed','yxunK':function(_0x5c5a14,_0x1cf9db){return _0x5c5a14(_0x1cf9db);},'IewYc':function(_0x3657a8,_0x115da8,_0x188c1a){return _0x3657a8(_0x115da8,_0x188c1a);},'ZzrkH':function(_0x17c5f7){return _0x17c5f7();},'WTHVt':function(_0x4bfab5,_0x19b851){return _0x4bfab5(_0x19b851);},'hDePL':function(_0x146a70,_0xcd5592){return _0x146a70(_0xcd5592);},'fyMzn':'project','xwMlI':_0x1b5a46(0xf6)},_0x534a7a=existsSync(_0x5afaf1[_0x1b5a46(0xe8)](join,getSkillsDir(_0x5afaf1[_0x1b5a46(0xe9)]),'ranger','SKILL.md')),_0x5ea164=existsSync(_0x5afaf1[_0x1b5a46(0x104)](join,getSkillsDir('project'),_0x1b5a46(0x10f),_0x5afaf1['urVIY']));if(_0x5afaf1['ZDSjY'](_0x534a7a,_0x5ea164))return console[_0x1b5a46(0x11c)](_0x5afaf1[_0x1b5a46(0x11d)]),![];const _0x37e1e6=_0x5afaf1['yxunK'](existsSync,_0x5afaf1[_0x1b5a46(0xe4)](join,_0x5afaf1[_0x1b5a46(0x101)](getProjectRoot),_0x1b5a46(0x115)));let _0x291b8f=!![];if(_0x535c15)await _0x5afaf1[_0x1b5a46(0x119)](skillup,{'autoInstall':_0x535c15,'suppressUsage':!![]});else{if(_0x37e1e6)await _0x5afaf1[_0x1b5a46(0xfd)](skillup,{'autoInstall':_0x5afaf1['fyMzn'],'suppressUsage':!![]});else{const _0x245efc=await _0x244a92['prompt']([{'type':_0x1b5a46(0xe7),'name':_0x1b5a46(0x10c),'message':_0x5afaf1[_0x1b5a46(0xe5)],'default':!![]}]);_0x291b8f=_0x245efc[_0x1b5a46(0x10c)],_0x291b8f&&await skillup({'suppressUsage':!![]});}}return _0x291b8f;}
@@ -1 +1 @@
1
- (function(_0x117acf,_0x1ec43c){const _0x1304c9=_0x2da3,_0x48599a=_0x117acf();while(!![]){try{const _0x38b18a=parseInt(_0x1304c9(0x155))/0x1*(parseInt(_0x1304c9(0x151))/0x2)+-parseInt(_0x1304c9(0x14e))/0x3*(-parseInt(_0x1304c9(0x147))/0x4)+parseInt(_0x1304c9(0x14d))/0x5+parseInt(_0x1304c9(0x153))/0x6*(parseInt(_0x1304c9(0x15b))/0x7)+-parseInt(_0x1304c9(0x157))/0x8*(parseInt(_0x1304c9(0x150))/0x9)+-parseInt(_0x1304c9(0x14b))/0xa*(parseInt(_0x1304c9(0x146))/0xb)+parseInt(_0x1304c9(0x141))/0xc;if(_0x38b18a===_0x1ec43c)break;else _0x48599a['push'](_0x48599a['shift']());}catch(_0x44d7d9){_0x48599a['push'](_0x48599a['shift']());}}}(_0x4192,0x4f4ee));import{join}from'path';import{existsSync}from'fs';import{mkdir,readFile,writeFile}from'fs/promises';function _0x2da3(_0x30618d,_0x16eccc){_0x30618d=_0x30618d-0x13d;const _0x4192d4=_0x4192();let _0x2da335=_0x4192d4[_0x30618d];return _0x2da335;}import _0x20ef9f from'inquirer';import{getOpencodeConfigDir}from'../utils/opencodeConfig.js';function _0x4192(){const _0x2b98eb=['user','ZjtEI','10ZvhkZf','$schema','154295feljdr','6573DSDvyG','isArray','9cgLkBf','819032EibwDV','list','410232kWUdMH','project','1auncpE','TGoFv','4942792sdXQDi','✓\x20OpenCode\x20plugin\x20configured','log','plugin','21WhmmDn','✓\x20OpenCode\x20plugin\x20already\x20configured','EMElJ','gvDjB','parse','ZPdMx','hDcWk','3062208KqQdZr','⚠\x20Failed\x20to\x20read\x20opencode.json.\x20Please\x20add\x20the\x20plugin\x20manually.','ndgAw','pluginScope','utf-8','6213757gKSrLU','1108HEcETK','amlfl'];_0x4192=function(){return _0x2b98eb;};return _0x4192();}export async function ensureOpencodePluginConfig(_0x303b66){const _0x10e653=_0x2da3,_0x4b3acd={'amlfl':function(_0x909096,_0x3bae15){return _0x909096(_0x3bae15);},'rSOMD':function(_0x27ba26,_0xf407ef,_0x235f27){return _0x27ba26(_0xf407ef,_0x235f27);},'gvDjB':function(_0x179429,_0x145df4){return _0x179429(_0x145df4);},'ZPdMx':'project','KKRNQ':'\x0a📦\x20OpenCode\x20Plugin\x0a','TGoFv':'pluginScope','EMElJ':_0x10e653(0x149),'yGWrq':'https://opencode.ai/config.json','LnVgo':'Failed\x20to\x20read\x20opencode.json','ndgAw':function(_0x5f50d6,_0x44ef9a,_0x4e766e){return _0x5f50d6(_0x44ef9a,_0x4e766e);},'LRWWZ':function(_0xb23522,_0x5e2190){return _0xb23522(_0x5e2190);},'bOIRG':function(_0x5936e3,_0x359799,_0x3ab44a){return _0x5936e3(_0x359799,_0x3ab44a);},'hDcWk':function(_0x37c7f2,_0x1074f6){return _0x37c7f2+_0x1074f6;},'ZjtEI':_0x10e653(0x158)},_0x5c91f9=_0x4b3acd['amlfl'](existsSync,_0x4b3acd['rSOMD'](join,_0x4b3acd[_0x10e653(0x13d)](getOpencodeConfigDir,_0x4b3acd[_0x10e653(0x13f)]),'opencode.json'));let _0x37afb5;if(_0x303b66)_0x37afb5=_0x303b66;else{if(_0x5c91f9)_0x37afb5=_0x4b3acd[_0x10e653(0x13f)];else{console['log'](_0x4b3acd['KKRNQ']);const _0x2074bd=await _0x20ef9f['prompt']([{'type':_0x10e653(0x152),'name':_0x4b3acd[_0x10e653(0x156)],'message':'Where\x20should\x20the\x20plugin\x20be\x20installed?','choices':[{'name':'User\x20(available\x20in\x20all\x20your\x20projects)','value':_0x4b3acd[_0x10e653(0x15d)]},{'name':'Project\x20(shared\x20with\x20team\x20via\x20git)','value':_0x10e653(0x154)}],'default':_0x4b3acd[_0x10e653(0x15d)]}]);_0x37afb5=_0x2074bd[_0x10e653(0x144)];}}const _0x55c142=join(_0x4b3acd[_0x10e653(0x148)](getOpencodeConfigDir,_0x37afb5),'opencode.json'),_0x406fed='@ranger-testing/opencode-plugin',_0x1842d4=_0x4b3acd['yGWrq'];let _0x95a032={};if(existsSync(_0x55c142))try{const _0x631cff=await _0x4b3acd['rSOMD'](readFile,_0x55c142,_0x10e653(0x145));_0x95a032=JSON[_0x10e653(0x13e)](_0x631cff);}catch(_0x26a1fc){return console['error'](_0x10e653(0x142)),{'configured':![],'scope':_0x37afb5,'error':_0x4b3acd['LnVgo'],'details':_0x26a1fc};}const _0x2992e9=Array[_0x10e653(0x14f)](_0x95a032['plugin'])?_0x95a032[_0x10e653(0x15a)]:[];if(_0x2992e9['includes'](_0x406fed))return console['log'](_0x10e653(0x15c)),{'configured':![],'scope':_0x37afb5};return _0x95a032[_0x10e653(0x14c)]=_0x95a032[_0x10e653(0x14c)]||_0x1842d4,_0x95a032['plugin']=[..._0x2992e9,_0x406fed],await _0x4b3acd[_0x10e653(0x143)](mkdir,_0x4b3acd['LRWWZ'](getOpencodeConfigDir,_0x37afb5),{'recursive':!![]}),await _0x4b3acd['bOIRG'](writeFile,_0x55c142,_0x4b3acd[_0x10e653(0x140)](JSON['stringify'](_0x95a032,null,0x2),'\x0a')),console[_0x10e653(0x159)](_0x4b3acd[_0x10e653(0x14a)]),{'configured':!![],'scope':_0x37afb5};}
1
+ function _0x5b6e(_0x2ca7a9,_0x7fcc79){_0x2ca7a9=_0x2ca7a9-0xfc;const _0x258850=_0x2588();let _0x5b6e77=_0x258850[_0x2ca7a9];return _0x5b6e77;}(function(_0x5380bb,_0xd1f26f){const _0x9d6bc9=_0x5b6e,_0x3eaa9e=_0x5380bb();while(!![]){try{const _0x4ea46b=-parseInt(_0x9d6bc9(0x105))/0x1+parseInt(_0x9d6bc9(0x10d))/0x2*(-parseInt(_0x9d6bc9(0x116))/0x3)+-parseInt(_0x9d6bc9(0x117))/0x4*(-parseInt(_0x9d6bc9(0x112))/0x5)+parseInt(_0x9d6bc9(0x109))/0x6+parseInt(_0x9d6bc9(0x103))/0x7*(parseInt(_0x9d6bc9(0xfd))/0x8)+-parseInt(_0x9d6bc9(0x104))/0x9+parseInt(_0x9d6bc9(0x100))/0xa;if(_0x4ea46b===_0xd1f26f)break;else _0x3eaa9e['push'](_0x3eaa9e['shift']());}catch(_0x47cece){_0x3eaa9e['push'](_0x3eaa9e['shift']());}}}(_0x2588,0xbc9d2));function _0x2588(){const _0x15bd24=['dApII','gCCOr','$schema','3zQWAft','109948brAXvq','log','VDDow','project','isArray','2584QGBuXj','⚠\x20Failed\x20to\x20read\x20opencode.json.\x20Please\x20add\x20the\x20plugin\x20manually.','✓\x20OpenCode\x20plugin\x20configured','12280640bWXBlJ','@ranger-testing/opencode-plugin','plugin','13405LaojSf','10838601bXPJOJ','492889uGWPNM','MyFnx','opencode.json','LLLIy','1184262qBWtSw','PhfYi','slLYK','\x0a📦\x20OpenCode\x20Plugin\x0a','1402426ZLVBqf','pluginScope','https://opencode.ai/config.json','utf-8','WNaxX','205DQZiok'];_0x2588=function(){return _0x15bd24;};return _0x2588();}import{join}from'path';import{existsSync}from'fs';import{mkdir,readFile,writeFile}from'fs/promises';import _0x52808a from'inquirer';import{getOpencodeConfigDir}from'../utils/opencodeConfig.js';export async function ensureOpencodePluginConfig(_0x473c73){const _0x1a2953=_0x5b6e,_0x5d4b40={'eyTeC':function(_0x2d2845,_0x4895a8,_0x29e893){return _0x2d2845(_0x4895a8,_0x29e893);},'MyFnx':_0x1a2953(0x10e),'aMDWo':'Where\x20should\x20the\x20plugin\x20be\x20installed?','GmLLO':'User\x20(available\x20in\x20all\x20your\x20projects)','VDDow':'user','gCCOr':_0x1a2953(0x11a),'LLLIy':_0x1a2953(0x107),'slLYK':_0x1a2953(0x101),'WNaxX':function(_0x5b55ed,_0x13a927,_0x429e5a){return _0x5b55ed(_0x13a927,_0x429e5a);},'JWymC':_0x1a2953(0x110),'mLXaK':_0x1a2953(0xfe),'dApII':'Failed\x20to\x20read\x20opencode.json','PhfYi':'✓\x20OpenCode\x20plugin\x20already\x20configured'},_0x297082=existsSync(_0x5d4b40['eyTeC'](join,getOpencodeConfigDir('project'),_0x1a2953(0x107)));let _0x2cda4b;if(_0x473c73)_0x2cda4b=_0x473c73;else{if(_0x297082)_0x2cda4b=_0x1a2953(0x11a);else{console[_0x1a2953(0x118)](_0x1a2953(0x10c));const _0x4ccd79=await _0x52808a['prompt']([{'type':'list','name':_0x5d4b40[_0x1a2953(0x106)],'message':_0x5d4b40['aMDWo'],'choices':[{'name':_0x5d4b40['GmLLO'],'value':_0x5d4b40[_0x1a2953(0x119)]},{'name':'Project\x20(shared\x20with\x20team\x20via\x20git)','value':_0x5d4b40[_0x1a2953(0x114)]}],'default':'user'}]);_0x2cda4b=_0x4ccd79[_0x1a2953(0x10e)];}}const _0x192c2f=join(getOpencodeConfigDir(_0x2cda4b),_0x5d4b40[_0x1a2953(0x108)]),_0x270071=_0x5d4b40[_0x1a2953(0x10b)],_0x554291=_0x1a2953(0x10f);let _0x3112d4={};if(existsSync(_0x192c2f))try{const _0x11fda3=await _0x5d4b40[_0x1a2953(0x111)](readFile,_0x192c2f,_0x5d4b40['JWymC']);_0x3112d4=JSON['parse'](_0x11fda3);}catch(_0x19deb7){return console['error'](_0x5d4b40['mLXaK']),{'configured':![],'scope':_0x2cda4b,'error':_0x5d4b40[_0x1a2953(0x113)],'details':_0x19deb7};}const _0x1be2be=Array[_0x1a2953(0xfc)](_0x3112d4[_0x1a2953(0x102)])?_0x3112d4['plugin']:[];if(_0x1be2be['includes'](_0x270071))return console['log'](_0x5d4b40[_0x1a2953(0x10a)]),{'configured':![],'scope':_0x2cda4b};return _0x3112d4[_0x1a2953(0x115)]=_0x3112d4[_0x1a2953(0x115)]||_0x554291,_0x3112d4['plugin']=[..._0x1be2be,_0x270071],await _0x5d4b40[_0x1a2953(0x111)](mkdir,getOpencodeConfigDir(_0x2cda4b),{'recursive':!![]}),await writeFile(_0x192c2f,JSON['stringify'](_0x3112d4,null,0x2)+'\x0a'),console[_0x1a2953(0x118)](_0x1a2953(0xff)),{'configured':!![],'scope':_0x2cda4b};}
@@ -1 +1 @@
1
- (function(_0x3d1094,_0x307a4e){var _0x447111=_0x1ca0,_0x4e2da9=_0x3d1094();while(!![]){try{var _0x2a7f76=parseInt(_0x447111(0x83))/0x1*(parseInt(_0x447111(0x81))/0x2)+parseInt(_0x447111(0x82))/0x3*(-parseInt(_0x447111(0x85))/0x4)+-parseInt(_0x447111(0x7e))/0x5*(-parseInt(_0x447111(0x7d))/0x6)+parseInt(_0x447111(0x89))/0x7*(parseInt(_0x447111(0x87))/0x8)+-parseInt(_0x447111(0x84))/0x9+-parseInt(_0x447111(0x88))/0xa+parseInt(_0x447111(0x79))/0xb*(parseInt(_0x447111(0x7b))/0xc);if(_0x2a7f76===_0x307a4e)break;else _0x4e2da9['push'](_0x4e2da9['shift']());}catch(_0x2f12cb){_0x4e2da9['push'](_0x4e2da9['shift']());}}}(_0x5ddc,0x8fa01));function _0x5ddc(){var _0x1cb77c=['8fpBNQp','8697710fOcKuZ','930769bCuSQf','803lqNGqJ','\x20\x20ranger\x20profile\x20add\x20<name>\x0a','203160IIyyZV','ranger\x20setup\x20--ci\x20writes\x20to\x20the\x20legacy\x20.ranger/ci/\x20tree\x20which\x20is\x20no\x20longer\x20supported.\x0a','18kyzVSW','364425sULLKX','CWvIA','For\x20CI\x20/\x20background\x20agents\x20and\x20other\x20setup\x20options,\x20see:\x0a','128cyvdiv','3582UzREGQ','17031gDvyMD','390114eksfSh','3940xBATPT','uUxzY'];_0x5ddc=function(){return _0x1cb77c;};return _0x5ddc();}function _0x1ca0(_0xc3504e,_0x32adc7){_0xc3504e=_0xc3504e-0x79;var _0x5ddc40=_0x5ddc();var _0x1ca0c9=_0x5ddc40[_0xc3504e];return _0x1ca0c9;}export async function setupCi(_0x1422df,_0x2c3604,_0x5ec7cd){var _0x58e79e=_0x1ca0,_0x8ab02c={'BELxj':function(_0x2fb31b,_0x3227d3){return _0x2fb31b+_0x3227d3;},'CWvIA':function(_0x4b333e,_0x571881){return _0x4b333e+_0x571881;},'uUxzY':function(_0x3e62fc,_0x2b0b64){return _0x3e62fc+_0x2b0b64;},'YbSHV':_0x58e79e(0x7a),'WjEwq':_0x58e79e(0x80)};console['error'](_0x8ab02c['BELxj'](_0x8ab02c[_0x58e79e(0x7f)](_0x8ab02c[_0x58e79e(0x86)](_0x8ab02c[_0x58e79e(0x7f)](_0x8ab02c[_0x58e79e(0x86)](_0x58e79e(0x7c),'\x0a')+'To\x20set\x20up\x20a\x20fresh\x20profile,\x20run:\x0a',_0x8ab02c['YbSHV']),'\x0a'),_0x8ab02c['WjEwq']),'\x20\x20https://docs.ranger.net/main/concepts/profiles')),process['exit'](0x1);}
1
+ function _0x4b50(_0x4c654b,_0x1cc3aa){_0x4c654b=_0x4c654b-0xab;var _0x47afca=_0x47af();var _0x4b507e=_0x47afca[_0x4c654b];return _0x4b507e;}(function(_0xe6c894,_0x35de0b){var _0x4c6652=_0x4b50,_0x1a477d=_0xe6c894();while(!![]){try{var _0x27bf44=-parseInt(_0x4c6652(0xac))/0x1+-parseInt(_0x4c6652(0xb6))/0x2*(-parseInt(_0x4c6652(0xb3))/0x3)+parseInt(_0x4c6652(0xb9))/0x4*(-parseInt(_0x4c6652(0xb0))/0x5)+-parseInt(_0x4c6652(0xb5))/0x6*(-parseInt(_0x4c6652(0xb4))/0x7)+parseInt(_0x4c6652(0xae))/0x8+parseInt(_0x4c6652(0xad))/0x9+-parseInt(_0x4c6652(0xb1))/0xa;if(_0x27bf44===_0x35de0b)break;else _0x1a477d['push'](_0x1a477d['shift']());}catch(_0x4dc154){_0x1a477d['push'](_0x1a477d['shift']());}}}(_0x47af,0x85dd9));export async function setupCi(_0x121b33,_0x2a350d,_0x47cd08){var _0x151a23=_0x4b50,_0x6cbac8={'JeVMJ':function(_0x5e1b19,_0x16dc83){return _0x5e1b19+_0x16dc83;},'hXUBx':'ranger\x20setup\x20--ci\x20writes\x20to\x20the\x20legacy\x20.ranger/ci/\x20tree\x20which\x20is\x20no\x20longer\x20supported.\x0a','CSHYz':'To\x20set\x20up\x20a\x20fresh\x20profile,\x20run:\x0a'};console[_0x151a23(0xab)](_0x6cbac8['JeVMJ'](_0x6cbac8['JeVMJ'](_0x6cbac8[_0x151a23(0xb7)],'\x0a')+_0x6cbac8[_0x151a23(0xb8)],'\x20\x20ranger\x20profile\x20add\x20<name>\x0a')+'\x0a'+'For\x20CI\x20/\x20background\x20agents\x20and\x20other\x20setup\x20options,\x20see:\x0a'+_0x151a23(0xaf)),process[_0x151a23(0xb2)](0x1);}function _0x47af(){var _0x4233af=['5004zkpcKi','error','560884zsjXQB','2961648nhzUde','2258128LCwcFm','\x20\x20https://docs.ranger.net/main/concepts/profiles','3145LVEXQg','336520zMbxue','exit','3sDqqfz','7hqNHyh','6481182ZMipGf','476386RdPqeg','hXUBx','CSHYz'];_0x47af=function(){return _0x4233af;};return _0x47af();}
@@ -1 +1 @@
1
- (function(_0x43a2e8,_0x491a4a){const _0x71d58b=_0x574f,_0x174b27=_0x43a2e8();while(!![]){try{const _0x24989a=parseInt(_0x71d58b(0x11a))/0x1*(parseInt(_0x71d58b(0x12e))/0x2)+-parseInt(_0x71d58b(0x127))/0x3*(-parseInt(_0x71d58b(0x142))/0x4)+-parseInt(_0x71d58b(0x12a))/0x5+-parseInt(_0x71d58b(0x138))/0x6*(parseInt(_0x71d58b(0x13a))/0x7)+parseInt(_0x71d58b(0x11b))/0x8*(parseInt(_0x71d58b(0x136))/0x9)+-parseInt(_0x71d58b(0x115))/0xa*(parseInt(_0x71d58b(0x13d))/0xb)+parseInt(_0x71d58b(0x13c))/0xc*(parseInt(_0x71d58b(0x12f))/0xd);if(_0x24989a===_0x491a4a)break;else _0x174b27['push'](_0x174b27['shift']());}catch(_0x5efb61){_0x174b27['push'](_0x174b27['shift']());}}}(_0xa079,0x6bc6b));import{basename}from'path';function _0x574f(_0x2dcd63,_0x4bc7be){_0x2dcd63=_0x2dcd63-0x10e;const _0xa0790=_0xa079();let _0x574fe7=_0xa0790[_0x2dcd63];return _0x574fe7;}import _0x4fb254 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 _0xa079(){const _0x1311e5=['project-level','EREzA','ranger','\x0a✅\x20Installed\x20','All\x20projects\x20(','isTTY','\x20--opencode','fmyDC','DZXlQ','3drxpMP','feAkh','HKkRa','2392035nJwFWI','ThYBV','kqFqS','uDRWV','39830HNpNEh','58409hANGrG','JdMeI','\x20skill','jQRIO','\x0a⚠️\x20\x20No\x20skills\x20were\x20installed.\x0a','\x20<your-api-token>','To\x20get\x20started:','9OJLvCW','rJaxV','2994OgAmEZ','prompt','2863AOaqha','\x20\x20Failed\x20to\x20install\x20ranger\x20skill:','3012lNvtgJ','44kRxdRY','\x20\x203.\x20Run:\x20ranger\x20skillup','\x20\x201.\x20Get\x20your\x20API\x20token\x20from\x20https://dashboard.ranger.net/cli','\x0a🎯\x20Ranger\x20Skill\x20Setup\x0a','✓\x20Found\x20API\x20token','1896176yUGHPI','UkmoL','LiZsE','Nqkzv','\x20successfully!\x0a','Umtpu','/.opencode/skills/','autoInstall','project','Non-interactive\x20mode:\x20Installing\x20skills\x20at\x20project\x20level\x20(','user','This\x20project\x20only\x20(','To\x20use:','PfuQZ','opencode','message','installLevel','1886140UrraUK','yRAlW','/skills/','user-level','qhlWZ','5kotuQk','1416344nMucTM','log','PbURW'];_0xa079=function(){return _0x1311e5;};return _0xa079();}export async function skillup(_0x1d20e7={}){const _0x5201fd=_0x574f,_0x161361={'rJaxV':_0x5201fd(0x140),'EREzA':'claude','yRAlW':'❌\x20No\x20Ranger\x20API\x20token\x20found.\x0a','fmyDC':_0x5201fd(0x135),'ThYBV':_0x5201fd(0x13f),'MJPys':function(_0x2e2d99,_0x2efe2a){return _0x2e2d99===_0x2efe2a;},'DZXlQ':'opencode','kqFqS':_0x5201fd(0x124),'ybvhF':_0x5201fd(0x141),'Umtpu':function(_0x134b44){return _0x134b44();},'UkmoL':function(_0x1529a7,_0x299ffc){return _0x1529a7(_0x299ffc);},'HKkRa':function(_0xbbc47,_0x472888){return _0xbbc47===_0x472888;},'GRNmM':'list','JdMeI':'Where\x20should\x20skills\x20be\x20installed?','PfuQZ':_0x5201fd(0x10e),'WufDu':_0x5201fd(0x14a),'jQRIO':'\x0a📦\x20Installing\x20skills...\x0a','LiZsE':_0x5201fd(0x120),'Nqkzv':_0x5201fd(0x13b),'PbURW':function(_0x431911,_0x45f16e){return _0x431911 instanceof _0x45f16e;},'uDRWV':function(_0x5120a1,_0x5d0e77){return _0x5120a1===_0x5d0e77;},'mxLPT':_0x5201fd(0x118),'oEwSJ':_0x5201fd(0x11e),'qhlWZ':function(_0xa34bb4,_0x15b905){return _0xa34bb4>_0x15b905;},'PDmtN':_0x5201fd(0x110),'feAkh':'\x20\x20-\x20Start\x20OpenCode\x20and\x20run\x20the\x20`ranger_enable`\x20tool\x20to\x20enable\x20hooks.','hooqQ':'\x20\x20-\x20Open\x20Claude\x20Code\x20in\x20plan\x20mode\x20and\x20run\x20/ranger:enable.\x20Plan\x20out\x20a\x20UI\x20feature\x20with\x20Ranger\x20and\x20watch\x20Ranger\x20test\x20it\x20for\x20you!'};console['log'](_0x161361[_0x5201fd(0x137)]);const _0x4f3f73=_0x1d20e7['platform']??_0x161361[_0x5201fd(0x11f)],_0x3d5f5c=await getToken();if(!_0x3d5f5c){console[_0x5201fd(0x11c)](_0x161361[_0x5201fd(0x116)]),console['log'](_0x161361[_0x5201fd(0x125)]),console[_0x5201fd(0x11c)](_0x161361[_0x5201fd(0x12b)]),console['log']('\x20\x202.\x20Run:\x20ranger\x20setup'+(_0x161361['MJPys'](_0x4f3f73,_0x161361[_0x5201fd(0x126)])?_0x161361[_0x5201fd(0x12c)]:'')+_0x5201fd(0x134)),console['log'](_0x5201fd(0x13e)+(_0x4f3f73==='opencode'?_0x161361['kqFqS']:'')+'\x0a');return;}console[_0x5201fd(0x11c)](_0x161361['ybvhF']);const _0x31198d=_0x161361[_0x5201fd(0x147)](getProjectRoot),_0x1779f4=_0x161361['UkmoL'](basename,_0x31198d),_0x3a4d2d=_0x4f3f73===_0x5201fd(0x112)?_0x161361[_0x5201fd(0x143)](getOpencodeConfigDir,'user')+'/skills/':getClaudeConfigDir()+_0x5201fd(0x117),_0x1e5f23=_0x161361[_0x5201fd(0x129)](_0x4f3f73,'opencode')?_0x31198d+_0x5201fd(0x148):_0x31198d+'/.claude/skills/',_0x462dc4=process['stdin']['isTTY']&&process['stdout'][_0x5201fd(0x123)];let _0x156ecf;if(_0x1d20e7[_0x5201fd(0x149)])_0x156ecf=_0x1d20e7[_0x5201fd(0x149)];else{if(_0x462dc4){const _0x4b78e5=await _0x4fb254[_0x5201fd(0x139)]([{'type':_0x161361['GRNmM'],'name':'installLevel','message':_0x161361[_0x5201fd(0x130)],'choices':[{'name':_0x5201fd(0x122)+_0x3a4d2d+')','value':_0x161361[_0x5201fd(0x111)]},{'name':_0x5201fd(0x10f)+_0x1e5f23+')','value':_0x5201fd(0x14a)}]}]);_0x156ecf=_0x4b78e5[_0x5201fd(0x114)];}else _0x156ecf=_0x161361['WufDu'],console['log'](_0x5201fd(0x14b)+_0x1e5f23+')');}let _0x273bbd=0x0;const _0x441d9f=getCurrentVersion();console['log'](_0x161361[_0x5201fd(0x132)]);try{const _0x4bee71=await installSkill(_0x161361[_0x5201fd(0x144)],{'cliVersion':_0x441d9f,'level':_0x156ecf,'platform':_0x4f3f73});_0x4bee71&&_0x273bbd++;}catch(_0x4f5e81){console['warn'](_0x161361[_0x5201fd(0x145)],_0x161361[_0x5201fd(0x11d)](_0x4f5e81,Error)?_0x4f5e81[_0x5201fd(0x113)]:_0x4f5e81);}if(_0x273bbd>0x0){const _0x58706f=_0x161361[_0x5201fd(0x12d)](_0x156ecf,'user')?_0x161361['mxLPT']:_0x161361['oEwSJ'];console[_0x5201fd(0x11c)](_0x5201fd(0x121)+_0x273bbd+'\x20'+_0x58706f+_0x5201fd(0x131)+(_0x161361[_0x5201fd(0x119)](_0x273bbd,0x1)?'s':'')+_0x5201fd(0x146)),!_0x1d20e7['suppressUsage']&&(console[_0x5201fd(0x11c)](_0x161361['PDmtN']),_0x4f3f73===_0x161361[_0x5201fd(0x126)]?console['log'](_0x161361[_0x5201fd(0x128)]):console['log'](_0x161361['hooqQ']));}else console['log'](_0x5201fd(0x133));}
1
+ (function(_0x386bad,_0x3be2f7){const _0x3817f=_0x3a7a,_0x254abe=_0x386bad();while(!![]){try{const _0x44bc7c=-parseInt(_0x3817f(0x1dc))/0x1+-parseInt(_0x3817f(0x1e1))/0x2*(parseInt(_0x3817f(0x1d9))/0x3)+parseInt(_0x3817f(0x1de))/0x4*(parseInt(_0x3817f(0x1be))/0x5)+-parseInt(_0x3817f(0x1d2))/0x6*(-parseInt(_0x3817f(0x1c6))/0x7)+parseInt(_0x3817f(0x1d5))/0x8*(parseInt(_0x3817f(0x1c5))/0x9)+-parseInt(_0x3817f(0x1cb))/0xa*(parseInt(_0x3817f(0x1d0))/0xb)+-parseInt(_0x3817f(0x1db))/0xc*(-parseInt(_0x3817f(0x1e9))/0xd);if(_0x44bc7c===_0x3be2f7)break;else _0x254abe['push'](_0x254abe['shift']());}catch(_0x2676e2){_0x254abe['push'](_0x254abe['shift']());}}}(_0x4b65,0x3188a));import{basename}from'path';import _0x5081c7 from'inquirer';import{getToken}from'./utils/keychain.js';import{installSkill}from'./utils/skills.js';function _0x3a7a(_0x30a642,_0x1e5895){_0x30a642=_0x30a642-0x1be;const _0x4b65ae=_0x4b65();let _0x3a7a5b=_0x4b65ae[_0x30a642];return _0x3a7a5b;}import{getCurrentVersion}from'./utils/version.js';function _0x4b65(){const _0x1986d6=['HVoBX','platform','ahBVl','suppressUsage','\x20--opencode','FJMly','18gGoKaH','7cyYwxz','\x20\x203.\x20Run:\x20ranger\x20skillup','\x0a⚠️\x20\x20No\x20skills\x20were\x20installed.\x0a','tHdeb','❌\x20No\x20Ranger\x20API\x20token\x20found.\x0a','55790gNkXOs','\x20\x20Failed\x20to\x20install\x20ranger\x20skill:','\x20\x201.\x20Get\x20your\x20API\x20token\x20from\x20https://dashboard.ranger.net/cli','bKVEF','OIMFT','341zTVolE','project','432522iIfUiA','ranger','sdrkF','1110944JkaGLj','EuOms','opencode','KJYAl','3pbaqaO','prompt','6876ZEiFJy','166655xFSBhF','All\x20projects\x20(','16984jHERAS','To\x20use:','user-level','270370pIfSaJ','lLDgu','stdin','log','stdout','RfmaW','ggwlC','This\x20project\x20only\x20(','3874beJLUy','\x20skill','\x20\x20-\x20Start\x20OpenCode\x20and\x20run\x20the\x20`ranger_enable`\x20tool\x20to\x20enable\x20hooks.','185WMASmg'];_0x4b65=function(){return _0x1986d6;};return _0x4b65();}import{getClaudeConfigDir,getProjectRoot}from'./utils/claudeConfig.js';import{getOpencodeConfigDir}from'./utils/opencodeConfig.js';export async function skillup(_0x3bf465={}){const _0x52e892=_0x3a7a,_0x1286e4={'EuOms':'claude','RfmaW':function(_0x3a42f4){return _0x3a42f4();},'WBeEt':'\x20--opencode','IJBLa':_0x52e892(0x1ca),'aWMFX':'To\x20get\x20started:','KJYAl':function(_0x214653,_0x307c60){return _0x214653===_0x307c60;},'OIMFT':'✓\x20Found\x20API\x20token','lLDgu':function(_0x22155e,_0x2ca311){return _0x22155e(_0x2ca311);},'pQFOH':'user','bKVEF':function(_0x212733,_0x53927c){return _0x212733===_0x53927c;},'HVoBX':_0x52e892(0x1d7),'BpzSZ':_0x52e892(0x1d1),'ggwlC':function(_0x3cb081,_0x50a46d,_0x35a040){return _0x3cb081(_0x50a46d,_0x35a040);},'sdrkF':_0x52e892(0x1cc),'IEzHc':function(_0x42bfcb,_0x26b798){return _0x42bfcb instanceof _0x26b798;},'FJMly':'project-level','tHdeb':function(_0x1318cd,_0x5374ee){return _0x1318cd>_0x5374ee;},'hpPVI':_0x52e892(0x1df),'ahBVl':_0x52e892(0x1eb)};console[_0x52e892(0x1e4)]('\x0a🎯\x20Ranger\x20Skill\x20Setup\x0a');const _0x4e6333=_0x3bf465[_0x52e892(0x1c0)]??_0x1286e4[_0x52e892(0x1d6)],_0x272320=await _0x1286e4[_0x52e892(0x1e6)](getToken);if(!_0x272320){const _0x4bdcd4='2|4|1|5|0|3'['split']('|');let _0x2c3028=0x0;while(!![]){switch(_0x4bdcd4[_0x2c3028++]){case'0':console[_0x52e892(0x1e4)](_0x52e892(0x1c7)+(_0x4e6333==='opencode'?_0x1286e4['WBeEt']:'')+'\x0a');continue;case'1':console['log'](_0x52e892(0x1cd));continue;case'2':console['log'](_0x1286e4['IJBLa']);continue;case'3':return;case'4':console['log'](_0x1286e4['aWMFX']);continue;case'5':console['log']('\x20\x202.\x20Run:\x20ranger\x20setup'+(_0x1286e4['KJYAl'](_0x4e6333,'opencode')?_0x52e892(0x1c3):'')+'\x20<your-api-token>');continue;}break;}}console[_0x52e892(0x1e4)](_0x1286e4[_0x52e892(0x1cf)]);const _0x32093a=getProjectRoot(),_0x439e0a=_0x1286e4[_0x52e892(0x1e2)](basename,_0x32093a),_0x11f0b6=_0x1286e4[_0x52e892(0x1d8)](_0x4e6333,_0x52e892(0x1d7))?getOpencodeConfigDir(_0x1286e4['pQFOH'])+'/skills/':getClaudeConfigDir()+'/skills/',_0x3310d=_0x1286e4[_0x52e892(0x1ce)](_0x4e6333,_0x1286e4[_0x52e892(0x1bf)])?_0x32093a+'/.opencode/skills/':_0x32093a+'/.claude/skills/',_0x1cf240=process[_0x52e892(0x1e3)]['isTTY']&&process[_0x52e892(0x1e5)]['isTTY'];let _0x165c46;if(_0x3bf465['autoInstall'])_0x165c46=_0x3bf465['autoInstall'];else{if(_0x1cf240){const _0x378683=await _0x5081c7[_0x52e892(0x1da)]([{'type':'list','name':'installLevel','message':'Where\x20should\x20skills\x20be\x20installed?','choices':[{'name':_0x52e892(0x1dd)+_0x11f0b6+')','value':'user'},{'name':_0x52e892(0x1e8)+_0x3310d+')','value':_0x1286e4['BpzSZ']}]}]);_0x165c46=_0x378683['installLevel'];}else _0x165c46=_0x1286e4['BpzSZ'],console['log']('Non-interactive\x20mode:\x20Installing\x20skills\x20at\x20project\x20level\x20('+_0x3310d+')');}let _0x55099b=0x0;const _0x2f17bf=getCurrentVersion();console['log']('\x0a📦\x20Installing\x20skills...\x0a');try{const _0x27b1e8=await _0x1286e4[_0x52e892(0x1e7)](installSkill,_0x52e892(0x1d3),{'cliVersion':_0x2f17bf,'level':_0x165c46,'platform':_0x4e6333});_0x27b1e8&&_0x55099b++;}catch(_0x2ae4b3){console['warn'](_0x1286e4[_0x52e892(0x1d4)],_0x1286e4['IEzHc'](_0x2ae4b3,Error)?_0x2ae4b3['message']:_0x2ae4b3);}if(_0x55099b>0x0){const _0x3fb1fc=_0x165c46==='user'?_0x52e892(0x1e0):_0x1286e4[_0x52e892(0x1c4)];console[_0x52e892(0x1e4)]('\x0a✅\x20Installed\x20'+_0x55099b+'\x20'+_0x3fb1fc+_0x52e892(0x1ea)+(_0x1286e4[_0x52e892(0x1c9)](_0x55099b,0x1)?'s':'')+'\x20successfully!\x0a'),!_0x3bf465[_0x52e892(0x1c2)]&&(console[_0x52e892(0x1e4)](_0x1286e4['hpPVI']),_0x4e6333===_0x1286e4[_0x52e892(0x1bf)]?console['log'](_0x1286e4[_0x52e892(0x1c1)]):console['log']('\x20\x20-\x20Open\x20Claude\x20Code\x20in\x20plan\x20mode\x20and\x20run\x20/ranger:enable.\x20Plan\x20out\x20a\x20UI\x20feature\x20with\x20Ranger\x20and\x20watch\x20Ranger\x20test\x20it\x20for\x20you!'));}else console['log'](_0x52e892(0x1c8));}
@@ -1 +1 @@
1
- const _0xee8c52=_0xf4fc;(function(_0x1e53f1,_0xfae5c9){const _0x158de4=_0xf4fc,_0xc1b7b4=_0x1e53f1();while(!![]){try{const _0x210149=parseInt(_0x158de4(0x190))/0x1*(parseInt(_0x158de4(0x1a8))/0x2)+parseInt(_0x158de4(0x18a))/0x3+parseInt(_0x158de4(0x1a5))/0x4*(parseInt(_0x158de4(0x18b))/0x5)+parseInt(_0x158de4(0x1a3))/0x6*(-parseInt(_0x158de4(0x1d2))/0x7)+parseInt(_0x158de4(0x1cb))/0x8*(-parseInt(_0x158de4(0x1a4))/0x9)+-parseInt(_0x158de4(0x177))/0xa*(parseInt(_0x158de4(0x1c1))/0xb)+parseInt(_0x158de4(0x172))/0xc*(parseInt(_0x158de4(0x17c))/0xd);if(_0x210149===_0xfae5c9)break;else _0xc1b7b4['push'](_0xc1b7b4['shift']());}catch(_0x257a77){_0xc1b7b4['push'](_0xc1b7b4['shift']());}}}(_0x48f0,0x1f060));import{mkdir,writeFile}from'fs/promises';import{join}from'path';import{existsSync}from'fs';import{createRequire}from'module';import{spawn}from'child_process';import _0x2e19bb 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';function _0xf4fc(_0x33f36b,_0x1eb169){_0x33f36b=_0x33f36b-0x16d;const _0x48f068=_0x48f0();let _0xf4fc29=_0x48f068[_0x33f36b];return _0xf4fc29;}import{runDeviceAuthFlow}from'./utils/deviceAuth.js';import{findExistingEnv}from'./utils/settings.js';import{getCurrentVersion}from'./utils/version.js';import{ensureClaudePlugin,ensureClaudeSkills}from'./setup/claude.js';import{ensureOpencodePluginConfig}from'./setup/opencode.js';import{installSkill}from'./utils/skills.js';const require=createRequire(import.meta.url);export const PLAYWRIGHT_CHROMIUM_INSTALL_FALLBACK_VERSION='1.58.2';const bold=_0x1a40ab=>_0xee8c52(0x1cc)+_0x1a40ab+_0xee8c52(0x1ab);export function getPlaywrightVersion(){const _0xf18707=_0xee8c52,_0x3cb6fb={'RIhkG':_0xf18707(0x1b6)};try{const _0x384107=require['resolve'](_0x3cb6fb['RIhkG']),_0x3295ab=require(_0x384107);return _0x3295ab['version'];}catch{return null;}}export function installChromiumBinary(_0x3ce5c2,_0x1052c4=![]){const _0x271b8f=_0xee8c52,_0x1e4124={'NkSKh':function(_0x1e9ad2,_0x224850){return _0x1e9ad2(_0x224850);},'ztTvD':_0x271b8f(0x1cf),'vqaKq':'inherit','NsCeb':function(_0x144ed4,_0x5c9c82){return _0x144ed4===_0x5c9c82;},'iaXrt':'win32','eHAob':'error'};return new Promise((_0x2ff793,_0x3024d5)=>{const _0x5d8745=_0x271b8f,_0x5974c1={'sUWSL':function(_0x4f613e,_0x558d5d){const _0x26f997=_0xf4fc;return _0x1e4124[_0x26f997(0x19f)](_0x4f613e,_0x558d5d);}},_0x5a61f6=['playwright@'+_0x3ce5c2,_0x1e4124['ztTvD'],..._0x1052c4?['--with-deps']:[],_0x5d8745(0x19e)],_0x449b8d=spawn('npx',_0x5a61f6,{'stdio':[_0x5d8745(0x18d),_0x1e4124[_0x5d8745(0x17d)],_0x1e4124['vqaKq']],'shell':_0x1e4124['NsCeb'](process[_0x5d8745(0x188)],_0x1e4124[_0x5d8745(0x186)])});_0x449b8d['on'](_0x5d8745(0x16e),_0x18e1f0=>{const _0x56b8b0=_0x5d8745;_0x18e1f0===0x0?_0x2ff793():_0x5974c1['sUWSL'](_0x3024d5,new Error(_0x56b8b0(0x1d5)+_0x18e1f0));}),_0x449b8d['on'](_0x1e4124['eHAob'],_0x15778f=>{const _0x1d086a=_0x5d8745;_0x5974c1[_0x1d086a(0x1ca)](_0x3024d5,_0x15778f);});});}function _0x48f0(){const _0x230eeb=['The\x20required\x20version\x20(',')\x20of\x20the\x20Playwright\x20Chromium\x20browser\x20is\x20not\x20installed.\x20Install\x20it\x20now?','147530tuBdos','SVFlY','method','hDpMH','isTTY','13QMWkOa','vqaKq','provided_token','uzobH','You\x20will\x20need\x20to\x20install\x20it\x20before\x20using\x20Ranger:','xbVvS','scope','skipChromium','\x0aIn\x20OpenCode,\x20enable\x20Ranger\x20hooks\x20(run\x20the\x20`ranger_enable`\x20tool)','idXbj','iaXrt','.gitignore','platform','\x20and\x20prompt\x20the\x20coding','145461JoqvJg','5tsbsGo','mhAyl','ignore','trackPhaseEnd','\x0a✅\x20Ranger\x20setup\x20complete!\x0a','17GoGNsU','organizationName','\x0averification\x20to\x20check\x20its\x20work\x20as\x20it\x20builds.','You\x20can\x20install\x20it\x20manually\x20by\x20running:','skipped','npRpR','mmPbS','HhDLe','PrjvC','jAckI','✓\x20~/.ranger/\x20directory\x20already\x20exists','rPwZy','url','BPTUn','chromium','NkSKh','env','rNOza','✓\x20Already\x20authenticated\x20to\x20','1506Hbnzin','1053WpmEtW','955372uGJrye','allowInsecureLocalhost','ranger\x20setup\x20--scope=','4298uYiaXf','\x20\x20Failed\x20to\x20install\x20OpenCode\x20skill:','\x0a⚠\x20Skipping\x20Chromium\x20installation.','\x1b[0m','trackPhaseStart','\x0a❌\x20Failed\x20to\x20install\x20Chromium:','warn','auth','\x0aSkipping\x20profile\x20setup\x20(--skip-auth).\x20Run\x20`ranger\x20setup`\x20with\x20auth\x20to\x20add\x20a\x20profile\x20later.\x0a','with\x20scenarios\x20describing\x20what\x20to\x20verify\x20and\x20then\x20run\x20browser','success','HccNR','UFyAx','Failed\x20to\x20connect\x20to\x20MCP\x20server:\x20','playwright/package.json','ApXMo','✓\x20Playwright\x20Chromium\x20browser\x20found','✓\x20Skipping\x20Chromium\x20check\x20(--skip-chromium)','ELcig','local','\x0aTo\x20set\x20up\x20a\x20profile\x20for\x20your\x20app,\x20run:','toaCR','KSixZ','opencode','project-scope\x20setup\x20obsolete).\x20Drop\x20the\x20--scope\x20flag\x20or\x20pass\x20--scope=user.','11XNJOcu','dsYvY','\x20install\x20chromium','JjIMe','plugin','\x0aInstalling\x20Chromium\x20browser...\x0a','GITHUB_ENV','czXRM','ranger','sUWSL','16224hvNBnk','\x1b[1m','MTdlf','skills','install','.\x20Please\x20check\x20your\x20API\x20token\x20and\x20try\x20again.','\x20(fallback\x20version)','6559qLityt','NRQay','\x0a🚀\x20Ranger\x20Setup\x0a','Installation\x20failed\x20with\x20exit\x20code\x20','user','\x0a\x20\x20','log','message','close','error','Authentication\x20failed:\x20','skipAuth','3485100JlKAdl','wcHJD','aKSSg'];_0x48f0=function(){return _0x230eeb;};return _0x48f0();}export async function authenticate(_0x44d195){const _0x51b443=_0xee8c52,_0x493966={'aKSSg':function(_0x4c2eac,_0x3c120a){return _0x4c2eac(_0x3c120a);},'lBbwu':'existing_token','tXEgX':function(_0x5b4920,_0x15f677){return _0x5b4920 instanceof _0x15f677;},'jAckI':'Validating\x20API\x20token...','SwTEb':function(_0x257eff,_0x587f2b){return _0x257eff(_0x587f2b);},'mgdHz':'✓\x20Exported\x20credentials\x20for\x20CI','JjIMe':'✓\x20Stored\x20credentials\x20locally','mhAyl':_0x51b443(0x17e)};if(!_0x44d195){const _0x4b1806=await getToken();if(_0x4b1806){const _0x556094=await _0x493966[_0x51b443(0x174)](getCurrentUser,_0x4b1806);if(_0x556094[_0x51b443(0x1b2)])return console[_0x51b443(0x1d8)](_0x51b443(0x1a2)+_0x556094['user'][_0x51b443(0x191)]),{'token':_0x4b1806,'method':_0x493966['lBbwu']};}try{_0x44d195=await runDeviceAuthFlow();}catch(_0x4265e7){throw new Error('Authentication\x20failed:\x20'+(_0x493966['tXEgX'](_0x4265e7,Error)?_0x4265e7['message']:_0x4265e7));}const _0x368e75=await _0x493966[_0x51b443(0x174)](getCurrentUser,_0x44d195);if(!_0x368e75[_0x51b443(0x1b2)])throw new Error('Failed\x20to\x20validate\x20provisioned\x20API\x20key:\x20'+_0x368e75['error']);return console[_0x51b443(0x1d8)]('✓\x20Authenticated\x20to\x20'+_0x368e75['user'][_0x51b443(0x191)]),{'token':_0x44d195,'method':'device_auth'};}console['log'](_0x493966[_0x51b443(0x199)]);const _0x3a5175=await getCurrentUser(_0x44d195);if(!_0x3a5175[_0x51b443(0x1b2)]){if(_0x3a5175['status'])throw new Error(_0x51b443(0x170)+_0x3a5175[_0x51b443(0x16f)]+_0x51b443(0x1d0));else throw new Error(_0x51b443(0x1b5)+_0x3a5175[_0x51b443(0x16f)]+'.\x20Please\x20check\x20your\x20network\x20connection\x20and\x20server\x20URL.');}return console['log']('✓\x20Authenticated\x20to\x20'+_0x3a5175['user']['organizationName']),await _0x493966['SwTEb'](storeToken,_0x44d195),console['log'](process[_0x51b443(0x1a0)][_0x51b443(0x1c7)]?_0x493966['mgdHz']:_0x493966[_0x51b443(0x1c4)]),{'token':_0x44d195,'method':_0x493966[_0x51b443(0x18c)]};}export async function ensureRangerDir(_0x78f016){const _0x26268c=_0xee8c52,_0x4d1ea0={'xbVvS':function(_0x49a8f0){return _0x49a8f0();},'AKcPe':'✓\x20Created\x20~/.ranger/\x20directory','paaYS':_0x26268c(0x19a)};void _0x78f016;const _0x1a7b89=_0x4d1ea0[_0x26268c(0x181)](getRangerHomeDir);return!existsSync(_0x1a7b89)?(await mkdir(_0x1a7b89,{'recursive':!![]}),console[_0x26268c(0x1d8)](_0x4d1ea0['AKcPe']),{'path':_0x1a7b89,'installed':!![]}):(console['log'](_0x4d1ea0['paaYS']),{'path':_0x1a7b89,'installed':![]});}export async function ensureChromium(_0x21ef8d=![]){const _0x25ea04=_0xee8c52,_0x349f0e={'UFyAx':function(_0x5ecc7a,_0x5919b7){return _0x5ecc7a(_0x5919b7);},'toaCR':_0x25ea04(0x1b8),'hHiaS':function(_0x263fe8){return _0x263fe8();},'tEWUg':function(_0x15cf67,_0x60e88b){return _0x15cf67??_0x60e88b;},'ApXMo':'confirm','MTdlf':_0x25ea04(0x1d1),'HccNR':function(_0x5f5b88,_0x1f857b,_0x5ec3ed){return _0x5f5b88(_0x1f857b,_0x5ec3ed);},'gGDRJ':_0x25ea04(0x1ad),'npRpR':function(_0x7c0137,_0x2228c3){return _0x7c0137 instanceof _0x2228c3;}};let _0x373266=![];try{const _0x5aa224=chromium['executablePath']();_0x373266=_0x349f0e[_0x25ea04(0x1b4)](existsSync,_0x5aa224);}catch{_0x373266=![];}if(_0x373266)return console[_0x25ea04(0x1d8)](_0x349f0e[_0x25ea04(0x1bd)]),![];const _0x9d1339=_0x349f0e['hHiaS'](getPlaywrightVersion),_0xff42bb=_0x349f0e['tEWUg'](_0x9d1339,PLAYWRIGHT_CHROMIUM_INSTALL_FALLBACK_VERSION),_0x18e53c=!_0x9d1339,_0x33c907=process['stdin'][_0x25ea04(0x17b)]&&process['stdout'][_0x25ea04(0x17b)];let _0x124f29=!![];if(_0x33c907){const {install:_0x3cdb64}=await _0x2e19bb['prompt']([{'type':_0x349f0e[_0x25ea04(0x1b7)],'name':'install','message':_0x18e53c?'Could\x20not\x20determine\x20local\x20Playwright\x20version.\x20Install\x20Playwright\x20Chromium\x20using\x20fallback\x20version\x20'+_0xff42bb+'\x20now?':_0x25ea04(0x175)+_0xff42bb+_0x25ea04(0x176),'default':!![]}]);_0x124f29=_0x3cdb64;}else console[_0x25ea04(0x1d8)]('\x0aNon-interactive\x20mode:\x20Auto-installing\x20Playwright\x20Chromium\x20'+_0xff42bb+(_0x18e53c?_0x349f0e[_0x25ea04(0x1cd)]:'')+'...');if(_0x124f29){console['log'](_0x25ea04(0x1c6));try{await _0x349f0e[_0x25ea04(0x1b3)](installChromiumBinary,_0xff42bb,_0x21ef8d),console['log']('\x0a✓\x20Playwright\x20Chromium\x20installed\x20successfully');}catch(_0x2e963e){console[_0x25ea04(0x16f)](_0x349f0e['gGDRJ'],_0x349f0e[_0x25ea04(0x195)](_0x2e963e,Error)?_0x2e963e['message']:_0x2e963e),console[_0x25ea04(0x1d8)](_0x25ea04(0x193)),console[_0x25ea04(0x1d8)]('\x20\x20npx\x20playwright@'+_0xff42bb+'\x20install\x20chromium');}}else console[_0x25ea04(0x1d8)](_0x25ea04(0x1aa)),console[_0x25ea04(0x1d8)](_0x25ea04(0x180)),console['log']('\x20\x20npx\x20playwright@'+_0xff42bb+_0x25ea04(0x1c3));return!![];}export async function writeRangerGitignore(_0x19e8bb){const _0x45241e=_0xee8c52,_0x477de3={'rNOza':function(_0x6f51eb,_0xba8202,_0x58b26f){return _0x6f51eb(_0xba8202,_0x58b26f);},'HhDLe':'✓\x20Created\x20.ranger/.gitignore'},_0x437dc7=_0x477de3[_0x45241e(0x1a1)](join,_0x19e8bb,_0x45241e(0x187)),_0x38257e='\x0a\x0a#\x20Ignore\x20local-only\x20directories\x0alocal/\x0asessions/\x0abug-bashes/\x0areports/\x0afeedback-images/\x0a\x0aactive-profile.txt\x0aactive-feature.txt\x0a.gitignore\x0a\x0a#\x20Ignore\x20plaintext\x20auth\x20files\x20(encrypted\x20.enc\x20files\x20are\x20safe\x20to\x20commit)\x0a**/auth.json\x0a';await writeFile(_0x437dc7,_0x38257e),console['log'](_0x477de3[_0x45241e(0x197)]);}export async function ensureLocalEnv(_0x5e512a,_0x298ef5){const _0x47e2d7=_0xee8c52,_0x54b666={'krnHc':function(_0x51add0,_0x4330d8){return _0x51add0!==_0x4330d8;},'LqyMH':'user','idXbj':function(_0x366701,_0x4323ce){return _0x366701===_0x4323ce;},'wcHJD':_0x47e2d7(0x1bb),'hDpMH':'✓\x20Local\x20profile\x20already\x20exists','JUURy':function(_0x58062e,_0x38e309,_0x2225e7,_0x5f36b5){return _0x58062e(_0x38e309,_0x2225e7,_0x5f36b5);},'BPTUn':'\x0a❌\x20Profile\x20setup\x20failed:','ygzXp':function(_0x584d7e,_0x529aac){return _0x584d7e instanceof _0x529aac;}};if(!findGitRoot()&&_0x54b666['krnHc'](_0x5e512a?.[_0x47e2d7(0x182)],_0x54b666['LqyMH']))return console['log']('⚠\x20No\x20git\x20repository\x20found.\x20Re-run\x20with\x20`--scope\x20user`\x20to\x20store\x20the\x20profile\x20at\x20~/.ranger/.'),{'ready':![],'skipped':!![]};const _0x38ac72=_0x54b666[_0x47e2d7(0x185)](_0x5e512a?.[_0x47e2d7(0x182)],_0x47e2d7(0x1d6))?getRangerHomeDir():undefined;if(findExistingEnv(_0x47e2d7(0x1bb),{'locations':[_0x54b666['wcHJD']],'rangerDir':_0x38ac72}))return console['log'](_0x54b666[_0x47e2d7(0x17a)]),{'ready':!![],'skipped':![]};try{return await _0x54b666['JUURy'](addEnv,_0x54b666[_0x47e2d7(0x173)],{'url':_0x5e512a?.[_0x47e2d7(0x19c)],'force':_0x5e512a?.['force'],'allowInsecureLocalhost':_0x5e512a?.[_0x47e2d7(0x1a6)],'scope':_0x5e512a?.['scope']},_0x298ef5),{'ready':!![],'skipped':![]};}catch(_0x151512){return console['error'](_0x54b666[_0x47e2d7(0x19d)],_0x54b666['ygzXp'](_0x151512,Error)?_0x151512['message']:_0x151512),{'ready':![],'skipped':![]};}}export async function start(_0x9d93f2,_0x2a1c14,_0xa8fccf){const _0x5b6932=_0xee8c52,_0x441045={'NRQay':_0x5b6932(0x1d4),'iFCqH':'user','EIUJa':function(_0x152078,_0x4a7152){return _0x152078+_0x4a7152;},'uzobH':function(_0x45986d,_0x44af28){return _0x45986d(_0x44af28);},'ELcig':'✓\x20Skipping\x20authentication\x20(--skip-auth)','cDlCr':'auth','czXRM':'chromium','dsYvY':_0x5b6932(0x1c5),'rPwZy':function(_0x382b9d,_0x4897b6,_0x51cab7){return _0x382b9d(_0x4897b6,_0x51cab7);},'ZxesS':_0x5b6932(0x1a9),'SVFlY':function(_0x595e19,_0x550636){return _0x595e19 instanceof _0x550636;},'NzsYs':_0x5b6932(0x1ce),'KSixZ':_0x5b6932(0x1b0),'rclyc':'profile','mmPbS':function(_0x1cc154,_0x1cb720,_0x4713a5){return _0x1cc154(_0x1cb720,_0x4713a5);},'WeZzV':function(_0x42947e,_0x1013ad){return _0x42947e+_0x1013ad;},'VakFd':'ranger\x20profile\x20add\x20<name>','SIeyQ':'verification\x20to\x20check\x20its\x20work\x20as\x20it\x20builds.','PrjvC':function(_0x4ad29f,_0x496161){return _0x4ad29f+_0x496161;}};console['log'](_0x441045[_0x5b6932(0x1d3)]);_0x2a1c14?.[_0x5b6932(0x182)]!==undefined&&_0x2a1c14[_0x5b6932(0x182)]!==_0x441045['iFCqH']&&(console[_0x5b6932(0x16f)](_0x441045['EIUJa'](_0x5b6932(0x1a7)+String(_0x2a1c14['scope'])+'\x20is\x20no\x20longer\x20supported.\x20','Setup\x20always\x20installs\x20at\x20user\x20scope\x20now\x20(cloud\x20profiles\x20make\x20')+_0x5b6932(0x1c0)),process['exit'](0x1));_0x2a1c14={..._0x2a1c14,'scope':'user'};const _0x242043=!_0x441045[_0x5b6932(0x17f)](existsSync,getRangerHomeDir());await ensureRangerDir(_0x441045['iFCqH']);if(_0x2a1c14?.[_0x5b6932(0x171)])console['log'](_0x441045[_0x5b6932(0x1ba)]),_0xa8fccf?.['trackPhaseEnd'](_0x441045['cDlCr'],{'isFirstRun':_0x242043,'method':'skipped'});else{_0xa8fccf?.['trackPhaseStart']('auth');const _0x211ccb=await _0x441045['uzobH'](authenticate,_0x9d93f2);_0xa8fccf?.['trackPhaseEnd'](_0x5b6932(0x1af),{'isFirstRun':_0x242043,'method':_0x211ccb[_0x5b6932(0x179)]});}_0xa8fccf?.['trackPhaseStart'](_0x441045[_0x5b6932(0x1c8)]);_0x2a1c14?.[_0x5b6932(0x183)]?console['log'](_0x5b6932(0x1b9)):await _0x441045[_0x5b6932(0x17f)](ensureChromium,_0x2a1c14?.['withDeps']);_0xa8fccf?.['trackPhaseEnd'](_0x5b6932(0x19e),{'isFirstRun':_0x242043,'skipped':!!_0x2a1c14?.['skipChromium']}),console['log'](_0x5b6932(0x18f));const _0x10c0ea=_0x2a1c14?.['scope'],_0x11a10d=_0x2a1c14?.[_0x5b6932(0x1bf)]??![];let _0x3c408d=null;_0x11a10d?(_0xa8fccf?.['trackPhaseStart']('plugin'),_0x3c408d=await ensureOpencodePluginConfig(_0x10c0ea),_0xa8fccf?.[_0x5b6932(0x18e)](_0x441045[_0x5b6932(0x1c2)],{'isFirstRun':_0x242043,'opencode':!![]})):(_0xa8fccf?.[_0x5b6932(0x1ac)](_0x5b6932(0x1c5)),await ensureClaudePlugin(_0x10c0ea),_0xa8fccf?.[_0x5b6932(0x18e)](_0x441045[_0x5b6932(0x1c2)],{'isFirstRun':_0x242043}));if(_0x11a10d&&_0x3c408d){_0xa8fccf?.[_0x5b6932(0x1ac)](_0x5b6932(0x1ce));try{await _0x441045[_0x5b6932(0x19b)](installSkill,_0x5b6932(0x1c9),{'level':_0x3c408d['scope'],'cliVersion':getCurrentVersion(),'platform':_0x5b6932(0x1bf)}),_0xa8fccf?.[_0x5b6932(0x18e)]('skills',{'isFirstRun':_0x242043,'opencode':!![]});}catch(_0x4e5ec7){console[_0x5b6932(0x1ae)](_0x441045['ZxesS'],_0x441045[_0x5b6932(0x178)](_0x4e5ec7,Error)?_0x4e5ec7[_0x5b6932(0x16d)]:_0x4e5ec7),_0xa8fccf?.['trackPhaseEnd']('skills',{'isFirstRun':_0x242043,'opencode':!![],'failed':!![]});}}else _0xa8fccf?.[_0x5b6932(0x1ac)](_0x441045['NzsYs']),await ensureClaudeSkills(_0x10c0ea),_0xa8fccf?.[_0x5b6932(0x18e)](_0x5b6932(0x1ce),{'isFirstRun':_0x242043});if(_0x2a1c14?.['skipAuth'])console['log'](_0x441045[_0x5b6932(0x1be)]);else{if(_0x2a1c14?.[_0x5b6932(0x19c)]){_0xa8fccf?.[_0x5b6932(0x1ac)](_0x441045['rclyc']);const _0x390759=await _0x441045[_0x5b6932(0x196)](ensureLocalEnv,{'url':_0x2a1c14['url'],'force':_0x2a1c14?.['force'],'allowInsecureLocalhost':_0x2a1c14?.[_0x5b6932(0x1a6)],'scope':_0x441045['iFCqH']},_0xa8fccf);_0xa8fccf?.['trackPhaseEnd']('profile',{'isFirstRun':_0x242043,'profileReady':_0x390759['ready'],'userSkipped':_0x390759[_0x5b6932(0x194)]});}else console[_0x5b6932(0x1d8)](_0x441045['WeZzV'](_0x5b6932(0x1bc),_0x5b6932(0x1d7)+bold(_0x441045['VakFd']))+'\x0a\x20\x20(opens\x20a\x20browser\x20so\x20you\x20can\x20log\x20in\x20once)'+'\x0a\x0aFor\x20CI\x20/\x20background\x20agents\x20and\x20other\x20setup\x20options,\x20see:'+'\x0a\x20\x20https://docs.ranger.net/main/concepts/profiles');}if(_0x11a10d)console[_0x5b6932(0x1d8)](_0x5b6932(0x184)),console['log']('and\x20prompt\x20the\x20agent\x20like\x20usual.\x20Ranger\x20will\x20create\x20a\x20feature\x20review'),console[_0x5b6932(0x1d8)](_0x5b6932(0x1b1)),console[_0x5b6932(0x1d8)](_0x441045['SIeyQ']);else{const _0x16bb38=bold('/ranger:enable');console['log'](_0x441045[_0x5b6932(0x198)]('\x0aIn\x20Claude\x20Code,\x20run\x20'+_0x16bb38+_0x5b6932(0x189),'\x0aagent\x20like\x20usual.\x20Claude\x20will\x20create\x20a\x20feature\x20review\x20with')+'\x0ascenarios\x20describing\x20what\x20to\x20verify\x20and\x20then\x20run\x20browser'+_0x5b6932(0x192));}}
1
+ (function(_0xc448,_0x3ff65e){const _0x35142a=_0x3e54,_0x1be6a4=_0xc448();while(!![]){try{const _0x30052e=-parseInt(_0x35142a(0x1cc))/0x1*(-parseInt(_0x35142a(0x1c6))/0x2)+parseInt(_0x35142a(0x1df))/0x3+-parseInt(_0x35142a(0x1c1))/0x4+-parseInt(_0x35142a(0x1d9))/0x5+-parseInt(_0x35142a(0x220))/0x6*(parseInt(_0x35142a(0x211))/0x7)+parseInt(_0x35142a(0x1fd))/0x8*(-parseInt(_0x35142a(0x1b4))/0x9)+-parseInt(_0x35142a(0x1e7))/0xa*(-parseInt(_0x35142a(0x1bf))/0xb);if(_0x30052e===_0x3ff65e)break;else _0x1be6a4['push'](_0x1be6a4['shift']());}catch(_0x3c8d75){_0x1be6a4['push'](_0x1be6a4['shift']());}}}(_0x4522,0xa0d92));import{mkdir,writeFile}from'fs/promises';function _0x4522(){const _0x1a72bf=['\x0a✓\x20Playwright\x20Chromium\x20installed\x20successfully','\x20(fallback\x20version)','allowInsecureLocalhost','aICys','cslop','\x0a❌\x20Profile\x20setup\x20failed:','ApjSR','UCzdX','5965455NKPbpY','skipAuth','keRsq','Failed\x20to\x20connect\x20to\x20MCP\x20server:\x20','\x20\x20npx\x20playwright@','✓\x20Already\x20authenticated\x20to\x20','2185245mEDFXL','gMYHl','\x0aNon-interactive\x20mode:\x20Auto-installing\x20Playwright\x20Chromium\x20','stdout','ranger\x20profile\x20add\x20<name>','trackPhaseStart','playwright@','resolve','2357770jwKCiE','Could\x20not\x20determine\x20local\x20Playwright\x20version.\x20Install\x20Playwright\x20Chromium\x20using\x20fallback\x20version\x20','TOwYS','skills','DSfSE','GzAlD','plugin','✓\x20~/.ranger/\x20directory\x20already\x20exists','YkqER','exit','✓\x20Stored\x20credentials\x20locally','\x20is\x20no\x20longer\x20supported.\x20','skipChromium','eZpur','local','inherit','close','STIYh','prompt','opencode','ranger','qcIve','8UJkSBw','user','auth','pKUfb','log','mbjnO','BzzXf','scope','You\x20can\x20install\x20it\x20manually\x20by\x20running:','EcQPm','skipped','✓\x20Local\x20profile\x20already\x20exists','qXRdb','fwVxy','xgPsW','\x0a\x20\x20','esXvS','✓\x20Created\x20.ranger/.gitignore','method','✓\x20Skipping\x20authentication\x20(--skip-auth)','931AygLMI','\x0a\x20\x20https://docs.ranger.net/main/concepts/profiles','MxwLW','\x20install\x20chromium','playwright/package.json','✓\x20Playwright\x20Chromium\x20browser\x20found','success','GITHUB_ENV','error','url','kagUL','lTFDN','message','\x0aagent\x20like\x20usual.\x20Claude\x20will\x20create\x20a\x20feature\x20review\x20with','provided_token','25518uNFJgV','PYIoE','TiYuC','UfmAT','bWZhT','\x0aIn\x20OpenCode,\x20enable\x20Ranger\x20hooks\x20(run\x20the\x20`ranger_enable`\x20tool)','6170859mVCdzj','project-scope\x20setup\x20obsolete).\x20Drop\x20the\x20--scope\x20flag\x20or\x20pass\x20--scope=user.','install','EknFo','✓\x20Skipping\x20Chromium\x20check\x20(--skip-chromium)','and\x20prompt\x20the\x20agent\x20like\x20usual.\x20Ranger\x20will\x20create\x20a\x20feature\x20review','trackPhaseEnd','MmZZG','tpMbM','\x0a✅\x20Ranger\x20setup\x20complete!\x0a','...','99HVGBXB','tNxAJ','3352840ppjnAd','chromium','win32','\x0a❌\x20Failed\x20to\x20install\x20Chromium:','✓\x20Authenticated\x20to\x20','2bAfAOr','⚠\x20No\x20git\x20repository\x20found.\x20Re-run\x20with\x20`--scope\x20user`\x20to\x20store\x20the\x20profile\x20at\x20~/.ranger/.','isTTY','profile','Authentication\x20failed:\x20','organizationName','1091027ziqzlx','Validating\x20API\x20token...','nGnWf','vpdEs','QAjWA'];_0x4522=function(){return _0x1a72bf;};return _0x4522();}import{join}from'path';import{existsSync}from'fs';import{createRequire}from'module';import{spawn}from'child_process';import _0xe61e8b from'inquirer';import{getToken,storeToken}from'./utils/keychain.js';import{getCurrentUser}from'./utils/userApi.js';import{chromium}from'playwright';import{addEnv}from'./addEnv.js';import{getRangerHomeDir,findGitRoot}from'./utils/rangerRoot.js';import{runDeviceAuthFlow}from'./utils/deviceAuth.js';import{findExistingEnv}from'./utils/settings.js';import{getCurrentVersion}from'./utils/version.js';import{ensureClaudePlugin,ensureClaudeSkills}from'./setup/claude.js';import{ensureOpencodePluginConfig}from'./setup/opencode.js';import{installSkill}from'./utils/skills.js';const require=createRequire(import.meta.url);export const PLAYWRIGHT_CHROMIUM_INSTALL_FALLBACK_VERSION='1.58.2';const bold=_0x438738=>'\x1b[1m'+_0x438738+'\x1b[0m';export function getPlaywrightVersion(){const _0x453b93=_0x3e54,_0x1bbf82={'QAjWA':_0x453b93(0x215),'HlbGx':function(_0x5f21b9,_0x5f5687){return _0x5f21b9(_0x5f5687);}};try{const _0x58de17=require[_0x453b93(0x1e6)](_0x1bbf82[_0x453b93(0x1d0)]),_0xe6a4f8=_0x1bbf82['HlbGx'](require,_0x58de17);return _0xe6a4f8['version'];}catch{return null;}}export function installChromiumBinary(_0x314550,_0x2ebb41=![]){const _0x3628ab=_0x3e54,_0x10b61a={'EknFo':function(_0xdfbbc6){return _0xdfbbc6();},'bWZhT':'chromium','PYIoE':function(_0x23e10a,_0x273acc,_0x9ffe64,_0xad703a){return _0x23e10a(_0x273acc,_0x9ffe64,_0xad703a);},'erIzF':'ignore','VRWOJ':'inherit','ErtMV':_0x3628ab(0x1f7),'ApjSR':'error'};return new Promise((_0x4a4415,_0x274573)=>{const _0x5d1301=_0x3628ab,_0x2785f6=[_0x5d1301(0x1e5)+_0x314550,_0x5d1301(0x1b6),..._0x2ebb41?['--with-deps']:[],_0x10b61a[_0x5d1301(0x224)]],_0x374d9f=_0x10b61a[_0x5d1301(0x221)](spawn,'npx',_0x2785f6,{'stdio':[_0x10b61a['erIzF'],_0x10b61a['VRWOJ'],_0x5d1301(0x1f6)],'shell':process['platform']===_0x5d1301(0x1c3)});_0x374d9f['on'](_0x10b61a['ErtMV'],_0x45c6fd=>{const _0xc731c6=_0x5d1301;_0x45c6fd===0x0?_0x10b61a[_0xc731c6(0x1b7)](_0x4a4415):_0x274573(new Error('Installation\x20failed\x20with\x20exit\x20code\x20'+_0x45c6fd));}),_0x374d9f['on'](_0x10b61a[_0x5d1301(0x1d7)],_0x4f34d8=>{_0x274573(_0x4f34d8);});});}function _0x3e54(_0x48359b,_0x554f90){_0x48359b=_0x48359b-0x1b4;const _0x452208=_0x4522();let _0x3e5449=_0x452208[_0x48359b];return _0x3e5449;}export async function authenticate(_0x293798){const _0x459533=_0x3e54,_0x4ae3d5={'UCzdX':function(_0x1c9a4a,_0x91e62f){return _0x1c9a4a(_0x91e62f);},'YCdPU':'device_auth','aICys':_0x459533(0x1cd),'DSfSE':function(_0x368ad4,_0x99e3a3){return _0x368ad4(_0x99e3a3);},'STIYh':'✓\x20Exported\x20credentials\x20for\x20CI','esXvS':_0x459533(0x1f1),'OHJTR':_0x459533(0x21f)};if(!_0x293798){const _0x226f6b=await getToken();if(_0x226f6b){const _0x3790f0=await getCurrentUser(_0x226f6b);if(_0x3790f0['success'])return console[_0x459533(0x201)](_0x459533(0x1de)+_0x3790f0[_0x459533(0x1fe)][_0x459533(0x1cb)]),{'token':_0x226f6b,'method':'existing_token'};}try{_0x293798=await runDeviceAuthFlow();}catch(_0x286f03){throw new Error(_0x459533(0x1ca)+(_0x286f03 instanceof Error?_0x286f03[_0x459533(0x21d)]:_0x286f03));}const _0x405e2c=await _0x4ae3d5[_0x459533(0x1d8)](getCurrentUser,_0x293798);if(!_0x405e2c['success'])throw new Error('Failed\x20to\x20validate\x20provisioned\x20API\x20key:\x20'+_0x405e2c['error']);return console['log']('✓\x20Authenticated\x20to\x20'+_0x405e2c['user'][_0x459533(0x1cb)]),{'token':_0x293798,'method':_0x4ae3d5['YCdPU']};}console[_0x459533(0x201)](_0x4ae3d5[_0x459533(0x1d4)]);const _0x4f3160=await getCurrentUser(_0x293798);if(!_0x4f3160[_0x459533(0x217)]){if(_0x4f3160['status'])throw new Error(_0x459533(0x1ca)+_0x4f3160[_0x459533(0x219)]+'.\x20Please\x20check\x20your\x20API\x20token\x20and\x20try\x20again.');else throw new Error(_0x459533(0x1dc)+_0x4f3160['error']+'.\x20Please\x20check\x20your\x20network\x20connection\x20and\x20server\x20URL.');}return console['log'](_0x459533(0x1c5)+_0x4f3160[_0x459533(0x1fe)]['organizationName']),await _0x4ae3d5[_0x459533(0x1eb)](storeToken,_0x293798),console['log'](process['env'][_0x459533(0x218)]?_0x4ae3d5[_0x459533(0x1f8)]:_0x4ae3d5[_0x459533(0x20d)]),{'token':_0x293798,'method':_0x4ae3d5['OHJTR']};}export async function ensureRangerDir(_0x99cf0f){const _0x478a7d=_0x3e54,_0x6a2c1b={'MmZZG':function(_0x1bb5a1){return _0x1bb5a1();},'mfThx':'✓\x20Created\x20~/.ranger/\x20directory','MxwLW':_0x478a7d(0x1ee)};void _0x99cf0f;const _0x336499=_0x6a2c1b[_0x478a7d(0x1bb)](getRangerHomeDir);return!existsSync(_0x336499)?(await mkdir(_0x336499,{'recursive':!![]}),console[_0x478a7d(0x201)](_0x6a2c1b['mfThx']),{'path':_0x336499,'installed':!![]}):(console['log'](_0x6a2c1b[_0x478a7d(0x213)]),{'path':_0x336499,'installed':![]});}export async function ensureChromium(_0x4ff545=![]){const _0x17cfa2=_0x3e54,_0x1eeed3={'glirm':function(_0x1a28b3){return _0x1a28b3();},'keRsq':'confirm','qXRdb':_0x17cfa2(0x1b6),'GzAlD':function(_0x1645b4,_0x4b9ba7,_0x2ae7e4){return _0x1645b4(_0x4b9ba7,_0x2ae7e4);},'hPuLL':_0x17cfa2(0x1d1)};let _0x180548=![];try{const _0x15b4e2=chromium['executablePath']();_0x180548=existsSync(_0x15b4e2);}catch{_0x180548=![];}if(_0x180548)return console['log'](_0x17cfa2(0x216)),![];const _0x29872c=_0x1eeed3['glirm'](getPlaywrightVersion),_0x3a5229=_0x29872c??PLAYWRIGHT_CHROMIUM_INSTALL_FALLBACK_VERSION,_0x121aeb=!_0x29872c,_0x41fa09=process['stdin'][_0x17cfa2(0x1c8)]&&process[_0x17cfa2(0x1e2)]['isTTY'];let _0x253bcc=!![];if(_0x41fa09){const {install:_0x1d40e6}=await _0xe61e8b[_0x17cfa2(0x1f9)]([{'type':_0x1eeed3[_0x17cfa2(0x1db)],'name':_0x1eeed3[_0x17cfa2(0x209)],'message':_0x121aeb?_0x17cfa2(0x1e8)+_0x3a5229+'\x20now?':'The\x20required\x20version\x20('+_0x3a5229+')\x20of\x20the\x20Playwright\x20Chromium\x20browser\x20is\x20not\x20installed.\x20Install\x20it\x20now?','default':!![]}]);_0x253bcc=_0x1d40e6;}else console[_0x17cfa2(0x201)](_0x17cfa2(0x1e1)+_0x3a5229+(_0x121aeb?_0x17cfa2(0x1d2):'')+_0x17cfa2(0x1be));if(_0x253bcc){console[_0x17cfa2(0x201)]('\x0aInstalling\x20Chromium\x20browser...\x0a');try{await _0x1eeed3[_0x17cfa2(0x1ec)](installChromiumBinary,_0x3a5229,_0x4ff545),console['log'](_0x1eeed3['hPuLL']);}catch(_0x5b387f){console[_0x17cfa2(0x219)](_0x17cfa2(0x1c4),_0x5b387f instanceof Error?_0x5b387f['message']:_0x5b387f),console[_0x17cfa2(0x201)](_0x17cfa2(0x205)),console[_0x17cfa2(0x201)]('\x20\x20npx\x20playwright@'+_0x3a5229+_0x17cfa2(0x214));}}else console[_0x17cfa2(0x201)]('\x0a⚠\x20Skipping\x20Chromium\x20installation.'),console['log']('You\x20will\x20need\x20to\x20install\x20it\x20before\x20using\x20Ranger:'),console['log'](_0x17cfa2(0x1dd)+_0x3a5229+_0x17cfa2(0x214));return!![];}export async function writeRangerGitignore(_0x1fe1bc){const _0x1f663f=_0x3e54,_0x466ba1={'rSaJA':'.gitignore','kagUL':function(_0x3f5490,_0x51c809,_0x12ddcd){return _0x3f5490(_0x51c809,_0x12ddcd);},'fwVxy':_0x1f663f(0x20e)},_0x556067=join(_0x1fe1bc,_0x466ba1['rSaJA']),_0x1a03aa='\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 _0x466ba1[_0x1f663f(0x21b)](writeFile,_0x556067,_0x1a03aa),console[_0x1f663f(0x201)](_0x466ba1[_0x1f663f(0x20a)]);}export async function ensureLocalEnv(_0x1fc918,_0x27baf){const _0x540fa9=_0x3e54,_0x232d40={'TiYuC':function(_0x306ecd){return _0x306ecd();},'Qqkjl':_0x540fa9(0x1c7),'hIXts':function(_0x3b8c46,_0x18f856){return _0x3b8c46===_0x18f856;},'BzzXf':'user','mbjnO':function(_0x43b113,_0x3a05dd,_0x2b21e6){return _0x43b113(_0x3a05dd,_0x2b21e6);},'pKUfb':_0x540fa9(0x1f5),'DTTkw':_0x540fa9(0x208)};if(!_0x232d40[_0x540fa9(0x222)](findGitRoot)&&_0x1fc918?.['scope']!=='user')return console[_0x540fa9(0x201)](_0x232d40['Qqkjl']),{'ready':![],'skipped':!![]};const _0x198d62=_0x232d40['hIXts'](_0x1fc918?.['scope'],_0x232d40[_0x540fa9(0x203)])?getRangerHomeDir():undefined;if(_0x232d40[_0x540fa9(0x202)](findExistingEnv,'local',{'locations':[_0x232d40[_0x540fa9(0x200)]],'rangerDir':_0x198d62}))return console['log'](_0x232d40['DTTkw']),{'ready':!![],'skipped':![]};try{return await addEnv('local',{'url':_0x1fc918?.[_0x540fa9(0x21a)],'force':_0x1fc918?.['force'],'allowInsecureLocalhost':_0x1fc918?.[_0x540fa9(0x1d3)],'scope':_0x1fc918?.['scope']},_0x27baf),{'ready':!![],'skipped':![]};}catch(_0x5094f4){return console[_0x540fa9(0x219)](_0x540fa9(0x1d6),_0x5094f4 instanceof Error?_0x5094f4[_0x540fa9(0x21d)]:_0x5094f4),{'ready':![],'skipped':![]};}}export async function start(_0x4d38d8,_0x2d41b9,_0x2e9b57){const _0x28cca5=_0x3e54,_0x1b0227={'gqvFb':'\x0a🚀\x20Ranger\x20Setup\x0a','EcQPm':'user','qcIve':function(_0x476715,_0x4d0fa1){return _0x476715(_0x4d0fa1);},'lTFDN':_0x28cca5(0x210),'tpMbM':_0x28cca5(0x1ff),'ixnjN':_0x28cca5(0x1b8),'xgPsW':_0x28cca5(0x1c2),'nGnWf':function(_0x472cc6,_0x2f593d){return _0x472cc6(_0x2f593d);},'nxbrB':_0x28cca5(0x1ed),'YkqER':function(_0x2b145d,_0x151333){return _0x2b145d&&_0x151333;},'MeXVg':function(_0x2c6618,_0x113025,_0xdb8a18){return _0x2c6618(_0x113025,_0xdb8a18);},'rlDGm':_0x28cca5(0x1fb),'UOQGq':function(_0x5eea16){return _0x5eea16();},'cslop':_0x28cca5(0x1fa),'eZpur':function(_0x22bd4d,_0xe04802){return _0x22bd4d instanceof _0xe04802;},'TOwYS':'skills','kCxIM':'\x0aSkipping\x20profile\x20setup\x20(--skip-auth).\x20Run\x20`ranger\x20setup`\x20with\x20auth\x20to\x20add\x20a\x20profile\x20later.\x0a','vpdEs':_0x28cca5(0x1c9),'UfmAT':function(_0xb8961b,_0x4a3f0f){return _0xb8961b+_0x4a3f0f;},'FSfSw':_0x28cca5(0x1e3),'tNxAJ':_0x28cca5(0x1b9),'gMMlD':'with\x20scenarios\x20describing\x20what\x20to\x20verify\x20and\x20then\x20run\x20browser','gMYHl':function(_0x386966,_0x2ec8ed){return _0x386966(_0x2ec8ed);}};console[_0x28cca5(0x201)](_0x1b0227['gqvFb']);_0x2d41b9?.['scope']!==undefined&&_0x2d41b9[_0x28cca5(0x204)]!==_0x28cca5(0x1fe)&&(console[_0x28cca5(0x219)]('ranger\x20setup\x20--scope='+String(_0x2d41b9[_0x28cca5(0x204)])+_0x28cca5(0x1f2)+'Setup\x20always\x20installs\x20at\x20user\x20scope\x20now\x20(cloud\x20profiles\x20make\x20'+_0x28cca5(0x1b5)),process[_0x28cca5(0x1f0)](0x1));_0x2d41b9={..._0x2d41b9,'scope':_0x1b0227[_0x28cca5(0x206)]};const _0x211e19=!existsSync(getRangerHomeDir());await _0x1b0227[_0x28cca5(0x1fc)](ensureRangerDir,'user');if(_0x2d41b9?.[_0x28cca5(0x1da)])console['log'](_0x1b0227[_0x28cca5(0x21c)]),_0x2e9b57?.['trackPhaseEnd']('auth',{'isFirstRun':_0x211e19,'method':'skipped'});else{_0x2e9b57?.['trackPhaseStart'](_0x28cca5(0x1ff));const _0x31152b=await authenticate(_0x4d38d8);_0x2e9b57?.[_0x28cca5(0x1ba)](_0x1b0227[_0x28cca5(0x1bc)],{'isFirstRun':_0x211e19,'method':_0x31152b[_0x28cca5(0x20f)]});}_0x2e9b57?.[_0x28cca5(0x1e4)]('chromium');_0x2d41b9?.[_0x28cca5(0x1f3)]?console[_0x28cca5(0x201)](_0x1b0227['ixnjN']):await ensureChromium(_0x2d41b9?.['withDeps']);_0x2e9b57?.[_0x28cca5(0x1ba)](_0x1b0227[_0x28cca5(0x20b)],{'isFirstRun':_0x211e19,'skipped':!!_0x2d41b9?.[_0x28cca5(0x1f3)]}),console['log'](_0x28cca5(0x1bd));const _0x1a88b4=_0x2d41b9?.['scope'],_0x2be33b=_0x2d41b9?.['opencode']??![];let _0x51b99a=null;_0x2be33b?(_0x2e9b57?.['trackPhaseStart'](_0x28cca5(0x1ed)),_0x51b99a=await ensureOpencodePluginConfig(_0x1a88b4),_0x2e9b57?.['trackPhaseEnd'](_0x28cca5(0x1ed),{'isFirstRun':_0x211e19,'opencode':!![]})):(_0x2e9b57?.[_0x28cca5(0x1e4)]('plugin'),await _0x1b0227[_0x28cca5(0x1ce)](ensureClaudePlugin,_0x1a88b4),_0x2e9b57?.[_0x28cca5(0x1ba)](_0x1b0227['nxbrB'],{'isFirstRun':_0x211e19}));if(_0x1b0227[_0x28cca5(0x1ef)](_0x2be33b,_0x51b99a)){_0x2e9b57?.['trackPhaseStart'](_0x28cca5(0x1ea));try{await _0x1b0227['MeXVg'](installSkill,_0x1b0227['rlDGm'],{'level':_0x51b99a[_0x28cca5(0x204)],'cliVersion':_0x1b0227['UOQGq'](getCurrentVersion),'platform':_0x1b0227[_0x28cca5(0x1d5)]}),_0x2e9b57?.[_0x28cca5(0x1ba)](_0x28cca5(0x1ea),{'isFirstRun':_0x211e19,'opencode':!![]});}catch(_0x4d1333){console['warn']('\x20\x20Failed\x20to\x20install\x20OpenCode\x20skill:',_0x1b0227[_0x28cca5(0x1f4)](_0x4d1333,Error)?_0x4d1333['message']:_0x4d1333),_0x2e9b57?.[_0x28cca5(0x1ba)]('skills',{'isFirstRun':_0x211e19,'opencode':!![],'failed':!![]});}}else _0x2e9b57?.['trackPhaseStart'](_0x1b0227[_0x28cca5(0x1e9)]),await _0x1b0227['nGnWf'](ensureClaudeSkills,_0x1a88b4),_0x2e9b57?.['trackPhaseEnd'](_0x28cca5(0x1ea),{'isFirstRun':_0x211e19});if(_0x2d41b9?.[_0x28cca5(0x1da)])console['log'](_0x1b0227['kCxIM']);else{if(_0x2d41b9?.[_0x28cca5(0x21a)]){_0x2e9b57?.[_0x28cca5(0x1e4)](_0x1b0227[_0x28cca5(0x1cf)]);const _0x582bb1=await ensureLocalEnv({'url':_0x2d41b9[_0x28cca5(0x21a)],'force':_0x2d41b9?.['force'],'allowInsecureLocalhost':_0x2d41b9?.['allowInsecureLocalhost'],'scope':_0x1b0227[_0x28cca5(0x206)]},_0x2e9b57);_0x2e9b57?.[_0x28cca5(0x1ba)](_0x28cca5(0x1c9),{'isFirstRun':_0x211e19,'profileReady':_0x582bb1['ready'],'userSkipped':_0x582bb1[_0x28cca5(0x207)]});}else console['log'](_0x1b0227['UfmAT']('\x0aTo\x20set\x20up\x20a\x20profile\x20for\x20your\x20app,\x20run:'+(_0x28cca5(0x20c)+_0x1b0227['qcIve'](bold,_0x1b0227['FSfSw']))+'\x0a\x20\x20(opens\x20a\x20browser\x20so\x20you\x20can\x20log\x20in\x20once)','\x0a\x0aFor\x20CI\x20/\x20background\x20agents\x20and\x20other\x20setup\x20options,\x20see:')+_0x28cca5(0x212));}if(_0x2be33b)console[_0x28cca5(0x201)](_0x28cca5(0x225)),console['log'](_0x1b0227[_0x28cca5(0x1c0)]),console[_0x28cca5(0x201)](_0x1b0227['gMMlD']),console['log']('verification\x20to\x20check\x20its\x20work\x20as\x20it\x20builds.');else{const _0x5df863=_0x1b0227[_0x28cca5(0x1e0)](bold,'/ranger:enable');console[_0x28cca5(0x201)](_0x1b0227[_0x28cca5(0x223)]('\x0aIn\x20Claude\x20Code,\x20run\x20'+_0x5df863+'\x20and\x20prompt\x20the\x20coding'+_0x28cca5(0x21e),'\x0ascenarios\x20describing\x20what\x20to\x20verify\x20and\x20then\x20run\x20browser')+'\x0averification\x20to\x20check\x20its\x20work\x20as\x20it\x20builds.');}}
@@ -1 +1 @@
1
- const _0x43dea7=_0x22ad;function _0x49bc(){const _0x35694a=['Version:\x20','264BgIulh','\x20\x20Not\x20installed','\x20\x20Run:\x20ranger\x20profile\x20ls\x20\x20(list\x20all)','iThld','\x20\x20Project-level:','\x0a---\x20OpenCode\x20Plugin\x20---','JshHv','stdout','has','pipe','opencode','4952670Mgmsjs','\x20\x20Run:\x20ranger\x20skillup','parse','\x20\x20\x20\x20','5787761vLfaFu','ignore','SkvCs','\x20cloud','GkmXf','eDaqH','env','\x20\x20Run:\x20ranger\x20profile\x20add\x20<profile-name>','286055GHDWcb','XAPQJ','LNViI','\x1b[0m','gDWZO','filter','1009260KNrxsr','push','VQpta','length','120196TvbwYz','aFEHd','LmREw','map','ODsZG','not_configured','name','\x20\x20Run:\x20ranger\x20setup\x20[token]','displayName','@ranger-testing/opencode-plugin','34247312GlEfkZ','isActive','\x0a---\x20Claude\x20Code\x20Plugin\x20---','status','auth.json','path','version','NMThR','\x20plugin(s)\x20configured','CswDT','unknown','data','opencode-plugin','user','dnmtm','\x20\x20Run:\x20ranger\x20setup\x20[token]\x0a','NXwcX','Root:\x20','sessionUpdatedAt','\x20profiles\x20configured\x20(','tuLMd','\x20[cloud]','plugin','log','ranger@trailhead','sSyLW','match','\x1b]8;;\x07','no\x20session','settings.json','JKEkX','HHByG','\x1b]8;;file://','\x20\x20User-level:','VrTnC','rygAP','stderr','MySsD','8xjXniX','33exXUCs','uOwWi','DYhWc','\x20local','join','IfVKe','details','settingsPath','2uFNZEt','\x0aRanger\x20has\x20not\x20been\x20initialized\x20in\x20this\x20directory.','hasPlaintextAuth','API\x20Token:\x20✓\x20Found\x20but\x20invalid\x20or\x20expired','No\x20profiles\x20configured','cwd','\x1b[1m','unBGz','Mndhw','122015UFvlMm','UEwGm','\x20\x20Run:\x20ranger\x20setup\x20[token]\x20\x20(includes\x20plugin\x20installation)','configured','disabled','Organization:\x20','all','SKILL.md'];_0x49bc=function(){return _0x35694a;};return _0x49bc();}(function(_0x8e4370,_0xe04fb0){const _0xee47f6=_0x22ad,_0x5ecd8a=_0x8e4370();while(!![]){try{const _0x88ad7c=parseInt(_0xee47f6(0x128))/0x1*(-parseInt(_0xee47f6(0x16b))/0x2)+-parseInt(_0xee47f6(0x163))/0x3*(-parseInt(_0xee47f6(0x132))/0x4)+-parseInt(_0xee47f6(0x174))/0x5*(parseInt(_0xee47f6(0x17d))/0x6)+-parseInt(_0xee47f6(0x120))/0x7+parseInt(_0xee47f6(0x162))/0x8*(-parseInt(_0xee47f6(0x12e))/0x9)+-parseInt(_0xee47f6(0x188))/0xa+parseInt(_0xee47f6(0x13c))/0xb;if(_0x88ad7c===_0xe04fb0)break;else _0x5ecd8a['push'](_0x5ecd8a['shift']());}catch(_0x214f47){_0x5ecd8a['push'](_0x5ecd8a['shift']());}}}(_0x49bc,0x9eaba));import{readFile,readdir}from'fs/promises';function _0x22ad(_0x343266,_0x2f5d27){_0x343266=_0x343266-0x11f;const _0x49bc52=_0x49bc();let _0x22adf2=_0x49bc52[_0x343266];return _0x22adf2;}import{join,basename}from'path';import{existsSync}from'fs';import{getToken}from'./utils/keychain.js';import{getCurrentVersion,getLatestVersion}from'./utils/version.js';import{getApiBaseUrl,getCurrentEnvironment}from'./utils/environment.js';import{getProjectSkillsDir,getUserSkillsDir}from'./utils/claudeConfig.js';import{getEnvNames}from'./env.js';import{getCurrentUser}from'./utils/userApi.js';import{getRangerDir}from'./utils/rangerRoot.js';import{getEnvDir}from'./utils/settings.js';import{listCloudProfiles}from'./utils/cloudProfile.js';import{getPluginInfo}from'./utils/claudePlugin.js';import{RANGER_MANAGED_SKILLS}from'./utils/skills.js';import{spawn}from'child_process';const bold=_0x145265=>_0x43dea7(0x171)+_0x145265+_0x43dea7(0x12b),link=(_0x12b1b2,_0x5429ca)=>_0x43dea7(0x15c)+_0x12b1b2+'\x07'+(_0x5429ca||_0x12b1b2)+_0x43dea7(0x157);async function getOpencodePluginStatus(){const _0x2b2260=_0x43dea7,_0x5cf835={'eNynB':'not_installed','uOwWi':function(_0x3c028f,_0x54d45){return _0x3c028f(_0x54d45);},'NXwcX':'configured','vBcOP':function(_0x3f7254,_0x182046){return _0x3f7254>_0x182046;},'LmREw':_0x2b2260(0x137),'PBZfs':function(_0x1eba21,_0x295b4c){return _0x1eba21(_0x295b4c);},'cLlxo':_0x2b2260(0x13b),'wEiSt':function(_0x151b55,_0x306840,_0x2555ae,_0x2d9088){return _0x151b55(_0x306840,_0x2555ae,_0x2d9088);},'VQpta':_0x2b2260(0x187),'jjrhU':'debug','XAPQJ':_0x2b2260(0x121),'GkmXf':'pipe','CswDT':_0x2b2260(0x147),'mpVGk':'close'};return new Promise(_0xa2196e=>{const _0x5f9ccd=_0x2b2260,_0x3950bf={'unBGz':function(_0x951d49,_0x8abb54){return _0x5cf835['uOwWi'](_0x951d49,_0x8abb54);},'VsCvQ':function(_0x5333da,_0x1081e5){return _0x5333da!==_0x1081e5;},'KOKAu':_0x5cf835['cLlxo']},_0x3f8df1=_0x5cf835['wEiSt'](spawn,_0x5cf835[_0x5f9ccd(0x130)],[_0x5cf835['jjrhU'],'config'],{'stdio':[_0x5cf835[_0x5f9ccd(0x129)],_0x5f9ccd(0x186),_0x5cf835[_0x5f9ccd(0x124)]]});let _0x13a6f0='';_0x3f8df1[_0x5f9ccd(0x184)]?.['on'](_0x5cf835[_0x5f9ccd(0x145)],_0xb79c7a=>{_0x13a6f0+=_0xb79c7a['toString']();}),_0x3f8df1[_0x5f9ccd(0x160)]?.['on'](_0x5cf835['CswDT'],_0x4b65f0=>{_0x13a6f0+=_0x4b65f0['toString']();}),_0x3f8df1['on']('error',()=>{const _0x22d55e=_0x5f9ccd;_0x3950bf[_0x22d55e(0x172)](_0xa2196e,{'status':'not_installed'});}),_0x3f8df1['on'](_0x5cf835['mpVGk'],_0x1a78ea=>{const _0x166780=_0x5f9ccd;if(_0x1a78ea!==0x0){_0xa2196e({'status':_0x5cf835['eNynB']});return;}const _0x4585ce=_0x13a6f0['trim']();let _0x1489dc=null;if(_0x4585ce)try{_0x1489dc=JSON[_0x166780(0x18a)](_0x4585ce);}catch{const _0x1bbce5=_0x4585ce[_0x166780(0x156)](/\{[\s\S]*\}$/);if(_0x1bbce5)try{_0x1489dc=JSON[_0x166780(0x18a)](_0x1bbce5[0x0]);}catch{_0x1489dc=null;}}const _0x2aaa48=Array['isArray'](_0x1489dc?.[_0x166780(0x152)])?_0x1489dc?.['plugin']:[],_0x20be7a=_0x2aaa48['some'](_0x36bcdf=>{const _0x214464=_0x166780;if(_0x3950bf['VsCvQ'](typeof _0x36bcdf,'string'))return![];return _0x36bcdf['includes'](_0x3950bf['KOKAu'])||_0x36bcdf['includes'](_0x214464(0x148));});if(_0x20be7a){_0x5cf835['uOwWi'](_0xa2196e,{'status':_0x5cf835[_0x166780(0x14c)],'details':_0x5cf835['vBcOP'](_0x2aaa48[_0x166780(0x131)],0x0)?_0x2aaa48[_0x166780(0x131)]+_0x166780(0x144):undefined});return;}if(_0x5cf835['vBcOP'](_0x2aaa48['length'],0x0)){_0x5cf835[_0x166780(0x164)](_0xa2196e,{'status':_0x5cf835[_0x166780(0x134)],'details':_0x2aaa48['length']+'\x20plugin(s)\x20configured'});return;}_0x5cf835['PBZfs'](_0xa2196e,{'status':'not_configured'});});});}async function getSkillsFromDir(_0x3b9161,_0x1c49c6){const _0x23d35b=_0x43dea7,_0x515fb9={'LNViI':function(_0x48bcdd,_0x2eedac,_0x170bb5){return _0x48bcdd(_0x2eedac,_0x170bb5);},'jAyvs':function(_0x10c90d,_0x78ee70,_0x10a0de,_0x237b74){return _0x10c90d(_0x78ee70,_0x10a0de,_0x237b74);},'apVOi':'utf-8'};if(!existsSync(_0x3b9161))return[];const _0x598170=[];try{const _0x4b815c=await _0x515fb9[_0x23d35b(0x12a)](readdir,_0x3b9161,{'withFileTypes':!![]});for(const _0x557a46 of _0x4b815c){if(_0x557a46['isDirectory']()){const _0x2ae513=_0x515fb9['jAyvs'](join,_0x3b9161,_0x557a46['name'],_0x23d35b(0x17b));if(existsSync(_0x2ae513)){let _0x5ee67c=_0x557a46[_0x23d35b(0x138)];try{const _0x488019=await readFile(_0x2ae513,_0x515fb9['apVOi']),_0x6a6841=_0x488019[_0x23d35b(0x156)](/name:\s*(.+)/);_0x6a6841&&(_0x5ee67c=_0x6a6841[0x1]['trim']());}catch{}_0x598170['push']({'name':_0x557a46[_0x23d35b(0x138)],'displayName':_0x5ee67c,'path':_0x2ae513,'level':_0x1c49c6});}}}}catch{return[];}return _0x598170;}async function getInstalledSkills(){const _0x21bcc8=_0x43dea7,_0x3ee209={'eDaqH':function(_0x242f72,_0x27d0f3,_0x292f34){return _0x242f72(_0x27d0f3,_0x292f34);},'rygAP':function(_0x38a581){return _0x38a581();},'jimDb':_0x21bcc8(0x149)},[_0x6211fc,_0x5524fc]=await Promise[_0x21bcc8(0x17a)]([_0x3ee209[_0x21bcc8(0x125)](getSkillsFromDir,_0x3ee209[_0x21bcc8(0x15f)](getProjectSkillsDir),'project'),getSkillsFromDir(getUserSkillsDir(),_0x3ee209['jimDb'])]);return{'project':_0x6211fc,'user':_0x5524fc};}async function getEnvironments(){const _0x168320=_0x43dea7,_0x28dc1f={'SkvCs':function(_0x4c5921,_0x5c1ad8){return _0x4c5921(_0x5c1ad8);},'vnQmO':function(_0x13be2d,_0x3fa13e,_0x22bbdf){return _0x13be2d(_0x3fa13e,_0x22bbdf);},'kOoSw':function(_0x1103ae,_0x5766d4,_0x303fe1){return _0x1103ae(_0x5766d4,_0x303fe1);},'NMThR':'(not\x20found)','iOAvY':function(_0x34d86b,_0x5f035a){return _0x34d86b===_0x5f035a;},'dnmtm':function(_0x48a272){return _0x48a272();}},{envNames:_0x1652a0,activeEnv:_0x498d77}=await getEnvNames(),_0x13b564=_0x28dc1f[_0x168320(0x14a)](getRangerDir);if(!_0x28dc1f[_0x168320(0x122)](existsSync,_0x13b564))return{'envs':[],'activeEnv':null};const _0x5d073d=_0x1652a0[_0x168320(0x135)](_0x527cd7=>{const _0x14bb18=_0x168320,_0x4245e8=_0x28dc1f[_0x14bb18(0x122)](getEnvDir,_0x527cd7),_0xe633cd=_0x28dc1f['vnQmO'](join,_0x4245e8,_0x14bb18(0x159)),_0xedfb11=_0x28dc1f['kOoSw'](join,_0x4245e8,_0x14bb18(0x140)),_0x25da44=join(_0x4245e8,'auth.json.enc');return{'name':_0x527cd7,'settingsPath':existsSync(_0xe633cd)?_0xe633cd:_0x28dc1f[_0x14bb18(0x143)],'hasPlaintextAuth':existsSync(_0xedfb11),'hasEncryptedAuth':_0x28dc1f[_0x14bb18(0x122)](existsSync,_0x25da44),'isActive':_0x28dc1f['iOAvY'](_0x527cd7,_0x498d77)};});return{'envs':_0x5d073d,'activeEnv':_0x498d77};}export async function status(){const _0x3f2e80=_0x43dea7,_0x1248c3={'gpgwB':'\x0a📊\x20Ranger\x20Status\x0a','HHByG':function(_0xbac7ce,_0x2cdbf7){return _0xbac7ce(_0x2cdbf7);},'MySsD':function(_0x3879d5,_0xda29ab){return _0x3879d5(_0xda29ab);},'ubqdu':function(_0x2ca159,_0x18c816,_0x41577f){return _0x2ca159(_0x18c816,_0x41577f);},'QniBj':function(_0x10b8e0,_0x45619a){return _0x10b8e0!==_0x45619a;},'sSyLW':function(_0x3e884a,_0x14607c){return _0x3e884a(_0x14607c);},'tuLMd':function(_0x1f1a7d){return _0x1f1a7d();},'ZbPyM':function(_0xad570a,_0x26bb33){return _0xad570a===_0x26bb33;},'ShCpF':_0x3f2e80(0x177),'YSXUN':function(_0x5c8cbc,_0x490eeb){return _0x5c8cbc===_0x490eeb;},'evshI':'\x20\x20Run:\x20ranger\x20setup\x20--opencode','pyRZK':'\x20\x20OpenCode\x20not\x20installed\x20or\x20not\x20available','JshHv':function(_0x191626,_0x46a5e6){return _0x191626(_0x46a5e6);},'Mndhw':_0x3f2e80(0x17e),'NczGH':'No\x20skills\x20installed','IfVKe':function(_0x3d0ed5,_0x9e9878){return _0x3d0ed5>_0x9e9878;},'gDWZO':_0x3f2e80(0x181),'lLNlK':function(_0xd9746,_0x3935c0){return _0xd9746>_0x3935c0;},'iThld':function(_0x3a9836){return _0x3a9836();},'aqvxD':function(_0x4d08ee,_0x4af2af){return _0x4d08ee+_0x4af2af;},'ODsZG':function(_0x40f557,_0x102556){return _0x40f557===_0x102556;},'UEwGm':function(_0x5120a1,_0x554c9f){return _0x5120a1>_0x554c9f;},'TTxnK':function(_0x44da02,_0x2f51de){return _0x44da02===_0x2f51de;},'VrTnC':'\x20(active)','JKEkX':_0x3f2e80(0x158),'aFEHd':'encrypted','ZkWbb':'(not\x20found)','DYhWc':function(_0x50c00d,_0x81db3e,_0x538ecd){return _0x50c00d(_0x81db3e,_0x538ecd);}};console['log'](_0x1248c3['gpgwB']);const _0x1dcc8b=process[_0x3f2e80(0x170)](),_0x447ca8=getRangerDir();if(!_0x1248c3['HHByG'](existsSync,_0x447ca8)){console[_0x3f2e80(0x153)]('Root:\x20'+link(_0x1dcc8b,_0x1248c3[_0x3f2e80(0x161)](bold,basename(_0x1dcc8b)))),console[_0x3f2e80(0x153)](_0x3f2e80(0x16c)),console['log'](_0x3f2e80(0x14b));return;}console[_0x3f2e80(0x153)](_0x3f2e80(0x14d)+_0x1248c3['ubqdu'](link,_0x1dcc8b,bold(basename(_0x1dcc8b))));const _0x58aebb=getCurrentVersion(),_0x33198d=getLatestVersion();if(_0x33198d[_0x3f2e80(0x142)]&&_0x1248c3['QniBj'](_0x33198d[_0x3f2e80(0x142)],_0x58aebb))console['log'](_0x3f2e80(0x17c)+_0x58aebb+'\x20(latest:\x20'+_0x33198d[_0x3f2e80(0x142)]+')'),console['log']('\x20\x20Run:\x20ranger\x20update');else _0x33198d[_0x3f2e80(0x142)]?console[_0x3f2e80(0x153)](_0x3f2e80(0x17c)+_0x58aebb+'\x20(up\x20to\x20date)'):console[_0x3f2e80(0x153)]('Version:\x20'+_0x58aebb);const _0x54f523=await getToken();if(_0x54f523){const _0x160d9a=await getCurrentUser(_0x54f523);_0x160d9a['success']?console['log'](_0x3f2e80(0x179)+_0x1248c3[_0x3f2e80(0x155)](bold,_0x160d9a['user']['organizationName'])):(console[_0x3f2e80(0x153)](_0x3f2e80(0x16e)),console['log']('\x20\x20Run:\x20ranger\x20setup\x20[token]'));}else console[_0x3f2e80(0x153)]('API\x20Token:\x20✗\x20Not\x20found'),console[_0x3f2e80(0x153)](_0x3f2e80(0x139));process[_0x3f2e80(0x126)]['DEBUG']&&(console['log']('API\x20Environment:\x20'+getCurrentEnvironment()),console[_0x3f2e80(0x153)]('API\x20URL:\x20'+getApiBaseUrl()));console['log'](_0x3f2e80(0x182));const _0x381801=await _0x1248c3[_0x3f2e80(0x150)](getOpencodePluginStatus);if(_0x1248c3['ZbPyM'](_0x381801['status'],_0x1248c3['ShCpF']))console[_0x3f2e80(0x153)]('\x20\x20'+bold('@ranger-testing/opencode-plugin')+':\x20configured'),_0x381801[_0x3f2e80(0x169)]&&console['log']('\x20\x20'+_0x381801['details']);else _0x1248c3['YSXUN'](_0x381801[_0x3f2e80(0x13f)],_0x3f2e80(0x137))?(console[_0x3f2e80(0x153)]('\x20\x20Not\x20configured'),_0x381801[_0x3f2e80(0x169)]&&console[_0x3f2e80(0x153)]('\x20\x20'+_0x381801['details']),console[_0x3f2e80(0x153)](_0x1248c3['evshI'])):console[_0x3f2e80(0x153)](_0x1248c3['pyRZK']);console['log'](_0x3f2e80(0x13e));const _0xa7acd=await _0x1248c3[_0x3f2e80(0x183)](getPluginInfo,'ranger@trailhead');if(_0xa7acd){const _0x2e50d6=_0xa7acd['scope']||_0x3f2e80(0x146),_0xfc803c=_0xa7acd['enabled']?'enabled':_0x3f2e80(0x178);console[_0x3f2e80(0x153)]('\x20\x20'+bold(_0x3f2e80(0x154))+':\x20installed\x20('+_0x2e50d6+',\x20'+_0xfc803c+')');}else console['log'](_0x1248c3[_0x3f2e80(0x173)]),console[_0x3f2e80(0x153)](_0x3f2e80(0x176));console[_0x3f2e80(0x153)]('\x0a---\x20Skills\x20---');const {project:_0x328ad6,user:_0x25dc77}=await getInstalledSkills(),_0x593011=_0x328ad6[_0x3f2e80(0x12d)](_0x31e3b0=>RANGER_MANAGED_SKILLS['includes'](_0x31e3b0[_0x3f2e80(0x138)])),_0xbcbc55=_0x25dc77['filter'](_0x2b8925=>RANGER_MANAGED_SKILLS['includes'](_0x2b8925['name'])),_0x16fd1e=_0x593011[_0x3f2e80(0x131)]+_0xbcbc55['length'];if(_0x16fd1e===0x0)console['log'](_0x1248c3['NczGH']),console['log'](_0x3f2e80(0x189));else{if(_0x1248c3[_0x3f2e80(0x168)](_0x593011['length'],0x0)){console[_0x3f2e80(0x153)](_0x1248c3[_0x3f2e80(0x12c)]);for(const _0x1dc828 of _0x593011){console['log']('\x20\x20\x20\x20'+_0x1248c3['sSyLW'](bold,_0x1dc828[_0x3f2e80(0x13a)])+':\x20'+link(_0x1dc828[_0x3f2e80(0x141)],_0x1248c3[_0x3f2e80(0x15b)](basename,_0x1dc828['path'])));}}if(_0x1248c3['lLNlK'](_0xbcbc55['length'],0x0)){console['log'](_0x3f2e80(0x15d));for(const _0x2c6b0e of _0xbcbc55){console[_0x3f2e80(0x153)](_0x3f2e80(0x11f)+_0x1248c3[_0x3f2e80(0x155)](bold,_0x2c6b0e['displayName'])+':\x20'+link(_0x2c6b0e[_0x3f2e80(0x141)],basename(_0x2c6b0e[_0x3f2e80(0x141)])));}}}console['log']('\x0a---\x20Profiles\x20---');const {envs:_0x1d595f,activeEnv:_0x46b364}=await getEnvironments();let _0x5bafe7=[];if(_0x54f523)try{_0x5bafe7=await _0x1248c3[_0x3f2e80(0x180)](listCloudProfiles);}catch{}const _0x16a17c=_0x1248c3['aqvxD'](_0x1d595f['length'],_0x5bafe7['length']);if(_0x1248c3[_0x3f2e80(0x136)](_0x16a17c,0x0))console[_0x3f2e80(0x153)](_0x3f2e80(0x16f)),console['log'](_0x3f2e80(0x127));else{if(_0x1248c3['lLNlK'](_0x16a17c,0x5)){const _0x4b1da2=[];_0x5bafe7[_0x3f2e80(0x131)]>0x0&&_0x4b1da2[_0x3f2e80(0x12f)](_0x5bafe7['length']+_0x3f2e80(0x123)),_0x1248c3[_0x3f2e80(0x175)](_0x1d595f[_0x3f2e80(0x131)],0x0)&&_0x4b1da2['push'](_0x1d595f['length']+_0x3f2e80(0x166)),console[_0x3f2e80(0x153)](_0x16a17c+_0x3f2e80(0x14f)+_0x4b1da2['join'](',\x20')+')'),_0x46b364&&console['log']('\x20\x20Active:\x20'+bold(_0x46b364)),console[_0x3f2e80(0x153)](_0x3f2e80(0x17f));}else{for(const _0x58a75d of _0x5bafe7){const _0x190898=_0x1248c3['TTxnK'](_0x58a75d[_0x3f2e80(0x138)],_0x46b364)?_0x1248c3[_0x3f2e80(0x15e)]:'';console[_0x3f2e80(0x153)]('\x20\x20'+bold(_0x58a75d['name'])+_0x3f2e80(0x151)+_0x190898);const _0x3da1a5=_0x58a75d[_0x3f2e80(0x14e)]?'cached\x20(updated\x20'+_0x58a75d['sessionUpdatedAt']+')':_0x1248c3[_0x3f2e80(0x15a)];console['log']('\x20\x20\x20\x20Session:\x20'+_0x3da1a5);}const _0x205148=new Set(_0x5bafe7['map'](_0x41df48=>_0x41df48['name']));for(const _0x47d848 of _0x1d595f){if(_0x205148[_0x3f2e80(0x185)](_0x47d848['name']))continue;const _0x3638cd=_0x47d848[_0x3f2e80(0x13d)]?_0x1248c3['VrTnC']:'',_0x5786c6=_0x47d848['hasEncryptedAuth']?_0x1248c3[_0x3f2e80(0x133)]:_0x47d848[_0x3f2e80(0x16d)]?'plaintext':'none';console[_0x3f2e80(0x153)]('\x20\x20'+bold(_0x47d848['name'])+'\x20[local]'+_0x3638cd),console['log']('\x20\x20\x20\x20Auth:\x20'+_0x5786c6),_0x47d848['settingsPath']!==_0x1248c3['ZkWbb']&&console[_0x3f2e80(0x153)]('\x20\x20\x20\x20Settings:\x20'+_0x1248c3[_0x3f2e80(0x165)](link,_0x47d848['settingsPath'],basename(_0x47d848[_0x3f2e80(0x16a)])));}if(!_0x46b364){console['log']('\x0a\x20\x20No\x20active\x20profile\x20set');const _0x15af74=[..._0x5bafe7['map'](_0x488e7f=>_0x488e7f['name']),..._0x1d595f['filter'](_0x51c38b=>!_0x205148[_0x3f2e80(0x185)](_0x51c38b[_0x3f2e80(0x138)]))['map'](_0x32a046=>_0x32a046['name'])];console[_0x3f2e80(0x153)]('\x20\x20Run:\x20ranger\x20profile\x20use\x20<profile-name>\x20\x20(available:\x20'+_0x15af74[_0x3f2e80(0x167)](',\x20')+')');}}}console[_0x3f2e80(0x153)]('');}
1
+ const _0x587607=_0x141a;(function(_0x3231b9,_0x5211ee){const _0x4c9281=_0x141a,_0x104d5b=_0x3231b9();while(!![]){try{const _0x590a49=-parseInt(_0x4c9281(0x236))/0x1+parseInt(_0x4c9281(0x21e))/0x2*(parseInt(_0x4c9281(0x1dd))/0x3)+-parseInt(_0x4c9281(0x1e1))/0x4*(parseInt(_0x4c9281(0x1e3))/0x5)+-parseInt(_0x4c9281(0x21c))/0x6+-parseInt(_0x4c9281(0x1f9))/0x7*(parseInt(_0x4c9281(0x237))/0x8)+-parseInt(_0x4c9281(0x1d6))/0x9*(parseInt(_0x4c9281(0x21a))/0xa)+parseInt(_0x4c9281(0x217))/0xb*(parseInt(_0x4c9281(0x232))/0xc);if(_0x590a49===_0x5211ee)break;else _0x104d5b['push'](_0x104d5b['shift']());}catch(_0x33d91e){_0x104d5b['push'](_0x104d5b['shift']());}}}(_0x44ec,0x79a1d));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';function _0x44ec(){const _0x15c5cd=['opencode','version','fvYCy','(not\x20found)','path','THPIB','Organization:\x20','ignore','unknown','enabled','No\x20skills\x20installed','@ranger-testing/opencode-plugin','displayName','\x0a---\x20OpenCode\x20Plugin\x20---','36702012sAuYMA','isArray','RTALY','dXpht','45735DZcXyk','2415376nqVQbG','all','includes','config','push','trim','close','\x1b[0m','stdout','piCxR','KnwVo','sessionUpdatedAt','pvaDa','syUhQ','opencode-plugin','1271637euTHKj','has','auth.json','not_installed','krOMK','njOFX','gEaBU','68133tvoPiC','Root:\x20','qYxAp','\x20\x20Not\x20installed','2871316vSMNqe','utf-8','5AkdJYV','no\x20session','NxQuF','isActive','\x0a---\x20Skills\x20---','some','map','log','YRImi','\x1b]8;;\x07','toString','hasPlaintextAuth','crlNo','\x20\x20\x20\x20','\x20\x20Run:\x20ranger\x20setup\x20--opencode','stderr','isDirectory','\x20\x20Run:\x20ranger\x20profile\x20add\x20<profile-name>','\x0a\x20\x20No\x20active\x20profile\x20set','name','bihfk','API\x20URL:\x20','7iKEnlk','dTmZH','ghsMi','Version:\x20','aZgbB','\x0a---\x20Claude\x20Code\x20Plugin\x20---','debug','\x0a---\x20Profiles\x20---','\x1b[1m','ApLcM','mKLoe','LsriT','pipe','ONozk','\x20\x20Project-level:','match','\x20\x20\x20\x20Auth:\x20','qVHQF','\x20\x20Run:\x20ranger\x20setup\x20[token]','filter','\x20(up\x20to\x20date)','string','VWKIy','hYYdx','meuYM','organizationName','BGLfJ','length','KsoRZ','join','11OIJTmz','\x20(active)','BZGsQ','70AlyjFu','Syjbk','4124682cQWRny','status','16yvIJZA','API\x20Environment:\x20','not_configured','details','configured','whbbw'];_0x44ec=function(){return _0x15c5cd;};return _0x44ec();}import{getApiBaseUrl,getCurrentEnvironment}from'./utils/environment.js';import{getProjectSkillsDir,getUserSkillsDir}from'./utils/claudeConfig.js';function _0x141a(_0x12e25a,_0x2a89c0){_0x12e25a=_0x12e25a-0x1cb;const _0x44ec5f=_0x44ec();let _0x141aa1=_0x44ec5f[_0x12e25a];return _0x141aa1;}import{getEnvNames}from'./env.js';import{getCurrentUser}from'./utils/userApi.js';import{getRangerDir}from'./utils/rangerRoot.js';import{getEnvDir}from'./utils/settings.js';import{listCloudProfiles}from'./utils/cloudProfile.js';import{getPluginInfo}from'./utils/claudePlugin.js';import{RANGER_MANAGED_SKILLS}from'./utils/skills.js';import{spawn}from'child_process';const bold=_0x343e4a=>_0x587607(0x201)+_0x343e4a+_0x587607(0x1ce),link=(_0x586e07,_0x5b897c)=>'\x1b]8;;file://'+_0x586e07+'\x07'+(_0x5b897c||_0x586e07)+_0x587607(0x1ec);async function getOpencodePluginStatus(){const _0x1c38c7=_0x587607,_0x69067c={'VWKIy':function(_0x384a8a,_0x53bee0){return _0x384a8a(_0x53bee0);},'YRImi':_0x1c38c7(0x220),'whbbw':_0x1c38c7(0x1ff),'wXEMX':_0x1c38c7(0x23a),'ONozk':_0x1c38c7(0x22b),'HqQle':_0x1c38c7(0x205),'qVHQF':'data','fvYCy':'error','EPdnA':_0x1c38c7(0x1cd)};return new Promise(_0xe13758=>{const _0x5e1d94=_0x1c38c7,_0x381fd4={'meuYM':function(_0xed18a8,_0x4ea720){return _0xed18a8!==_0x4ea720;},'hYYdx':function(_0x2fe260,_0x1cf195){return _0x2fe260>_0x1cf195;},'bihfk':function(_0x4148e4,_0x9e4a9c){return _0x4148e4(_0x9e4a9c);},'BZGsQ':_0x69067c[_0x5e1d94(0x1eb)]},_0x31eb7a=spawn(_0x5e1d94(0x224),[_0x69067c[_0x5e1d94(0x223)],_0x69067c['wXEMX']],{'stdio':[_0x69067c[_0x5e1d94(0x206)],_0x69067c['HqQle'],_0x69067c['HqQle']]});let _0x261094='';_0x31eb7a[_0x5e1d94(0x1cf)]?.['on'](_0x69067c[_0x5e1d94(0x20a)],_0x21dbaf=>{const _0x241140=_0x5e1d94;_0x261094+=_0x21dbaf[_0x241140(0x1ed)]();}),_0x31eb7a[_0x5e1d94(0x1f2)]?.['on'](_0x69067c[_0x5e1d94(0x20a)],_0x1463a8=>{_0x261094+=_0x1463a8['toString']();}),_0x31eb7a['on'](_0x69067c[_0x5e1d94(0x226)],()=>{const _0x8c45b5=_0x5e1d94;_0x69067c[_0x8c45b5(0x20f)](_0xe13758,{'status':_0x8c45b5(0x1d9)});}),_0x31eb7a['on'](_0x69067c['EPdnA'],_0x1a35e7=>{const _0x4f0278=_0x5e1d94;if(_0x1a35e7!==0x0){_0xe13758({'status':'not_installed'});return;}const _0x45d7a1=_0x261094[_0x4f0278(0x1cc)]();let _0x32128f=null;if(_0x45d7a1)try{_0x32128f=JSON['parse'](_0x45d7a1);}catch{const _0x16129b=_0x45d7a1['match'](/\{[\s\S]*\}$/);if(_0x16129b)try{_0x32128f=JSON['parse'](_0x16129b[0x0]);}catch{_0x32128f=null;}}const _0x44d360=Array[_0x4f0278(0x233)](_0x32128f?.['plugin'])?_0x32128f?.['plugin']:[],_0x4478ef=_0x44d360[_0x4f0278(0x1e8)](_0x221ad3=>{const _0x4210cb=_0x4f0278;if(_0x381fd4[_0x4210cb(0x211)](typeof _0x221ad3,_0x4210cb(0x20e)))return![];return _0x221ad3[_0x4210cb(0x239)](_0x4210cb(0x22f))||_0x221ad3['includes'](_0x4210cb(0x1d5));});if(_0x4478ef){_0xe13758({'status':_0x4f0278(0x222),'details':_0x381fd4[_0x4f0278(0x210)](_0x44d360[_0x4f0278(0x214)],0x0)?_0x44d360['length']+'\x20plugin(s)\x20configured':undefined});return;}if(_0x44d360[_0x4f0278(0x214)]>0x0){_0x381fd4[_0x4f0278(0x1f7)](_0xe13758,{'status':_0x381fd4[_0x4f0278(0x219)],'details':_0x44d360['length']+'\x20plugin(s)\x20configured'});return;}_0xe13758({'status':_0x4f0278(0x220)});});});}async function getSkillsFromDir(_0xb6244e,_0x2d35c8){const _0x214f77=_0x587607,_0x39f7b1={'njOFX':function(_0x365e89,_0x3aec94){return _0x365e89(_0x3aec94);},'krOMK':function(_0x3274b6,_0xd8407d,_0x394a80){return _0x3274b6(_0xd8407d,_0x394a80);},'rweBP':_0x214f77(0x1e2)};if(!_0x39f7b1[_0x214f77(0x1db)](existsSync,_0xb6244e))return[];const _0x34a019=[];try{const _0x114c85=await _0x39f7b1[_0x214f77(0x1da)](readdir,_0xb6244e,{'withFileTypes':!![]});for(const _0x5788c2 of _0x114c85){if(_0x5788c2[_0x214f77(0x1f3)]()){const _0x4cce79=join(_0xb6244e,_0x5788c2['name'],'SKILL.md');if(_0x39f7b1['njOFX'](existsSync,_0x4cce79)){let _0x4f384c=_0x5788c2['name'];try{const _0x580949=await _0x39f7b1[_0x214f77(0x1da)](readFile,_0x4cce79,_0x39f7b1['rweBP']),_0x2ef85e=_0x580949[_0x214f77(0x208)](/name:\s*(.+)/);_0x2ef85e&&(_0x4f384c=_0x2ef85e[0x1][_0x214f77(0x1cc)]());}catch{}_0x34a019['push']({'name':_0x5788c2['name'],'displayName':_0x4f384c,'path':_0x4cce79,'level':_0x2d35c8});}}}}catch{return[];}return _0x34a019;}async function getInstalledSkills(){const _0x2cb2cc=_0x587607,_0x4255e3={'syUhQ':function(_0x4262d5,_0xff90b,_0x3c2244){return _0x4262d5(_0xff90b,_0x3c2244);}},[_0x27925e,_0x3e681b]=await Promise[_0x2cb2cc(0x238)]([_0x4255e3[_0x2cb2cc(0x1d4)](getSkillsFromDir,getProjectSkillsDir(),'project'),getSkillsFromDir(getUserSkillsDir(),'user')]);return{'project':_0x27925e,'user':_0x3e681b};}async function getEnvironments(){const _0x24684f=_0x587607,_0x2b3db8={'gEaBU':function(_0xa29575,_0x1b6cac){return _0xa29575(_0x1b6cac);},'jxvWw':function(_0x1e9f8c,_0x48726d,_0x4ae771){return _0x1e9f8c(_0x48726d,_0x4ae771);},'IGPyb':function(_0x1ac4dc,_0x15618a,_0x4e5e7c){return _0x1ac4dc(_0x15618a,_0x4e5e7c);},'dXpht':_0x24684f(0x1d8),'BGLfJ':'auth.json.enc','zCFce':'(not\x20found)','qYxAp':function(_0x5af090,_0x51816a){return _0x5af090(_0x51816a);},'SlxQt':function(_0x37d9d4,_0x32ff58){return _0x37d9d4===_0x32ff58;}},{envNames:_0x4137b6,activeEnv:_0x3d0b57}=await getEnvNames(),_0xa11025=getRangerDir();if(!_0x2b3db8[_0x24684f(0x1dc)](existsSync,_0xa11025))return{'envs':[],'activeEnv':null};const _0x18e396=_0x4137b6[_0x24684f(0x1e9)](_0x2f1017=>{const _0x201644=_0x24684f,_0x3d0aad=_0x2b3db8['gEaBU'](getEnvDir,_0x2f1017),_0x27e44d=_0x2b3db8['jxvWw'](join,_0x3d0aad,'settings.json'),_0x10b017=_0x2b3db8['IGPyb'](join,_0x3d0aad,_0x2b3db8[_0x201644(0x235)]),_0x33e350=join(_0x3d0aad,_0x2b3db8[_0x201644(0x213)]);return{'name':_0x2f1017,'settingsPath':existsSync(_0x27e44d)?_0x27e44d:_0x2b3db8['zCFce'],'hasPlaintextAuth':_0x2b3db8[_0x201644(0x1df)](existsSync,_0x10b017),'hasEncryptedAuth':_0x2b3db8['qYxAp'](existsSync,_0x33e350),'isActive':_0x2b3db8['SlxQt'](_0x2f1017,_0x3d0b57)};});return{'envs':_0x18e396,'activeEnv':_0x3d0b57};}export async function status(){const _0x4cfc7b=_0x587607,_0x3fde73={'piCxR':function(_0x2f255e,_0x1df53f){return _0x2f255e(_0x1df53f);},'cgwoc':function(_0xb5dae0,_0x58ae76){return _0xb5dae0(_0x58ae76);},'patPq':function(_0x1243a6,_0x529ccf){return _0x1243a6(_0x529ccf);},'NxQuF':function(_0x4644f7){return _0x4644f7();},'OqZLx':function(_0x4f63b4,_0x1c828a){return _0x4f63b4===_0x1c828a;},'LsriT':'configured','ghsMi':'@ranger-testing/opencode-plugin','KsoRZ':'\x20\x20Not\x20configured','dTmZH':_0x4cfc7b(0x1f1),'okySy':'\x20\x20OpenCode\x20not\x20installed\x20or\x20not\x20available','crlNo':_0x4cfc7b(0x1fe),'KnwVo':'ranger@trailhead','uijti':'disabled','EPfRm':_0x4cfc7b(0x1e0),'KVQlH':_0x4cfc7b(0x1e7),'aZgbB':function(_0x4468a6,_0x355bc2){return _0x4468a6>_0x355bc2;},'Syjbk':function(_0x378c89,_0x486e6f){return _0x378c89(_0x486e6f);},'pvaDa':function(_0x5923a6,_0x101ac3){return _0x5923a6>_0x101ac3;},'mKLoe':function(_0x12c54d,_0x582495,_0xc345d6){return _0x12c54d(_0x582495,_0xc345d6);},'RTALY':_0x4cfc7b(0x200),'ApLcM':function(_0x230db1,_0x546873){return _0x230db1+_0x546873;},'PfpZw':_0x4cfc7b(0x218),'THPIB':'plaintext','WkUmz':function(_0x40216a,_0x19a01a){return _0x40216a!==_0x19a01a;},'RbmSH':function(_0x7f3606,_0x4566c9){return _0x7f3606(_0x4566c9);}};console['log']('\x0a📊\x20Ranger\x20Status\x0a');const _0xcfc25=process['cwd'](),_0x38b5a4=getRangerDir();if(!_0x3fde73[_0x4cfc7b(0x1d0)](existsSync,_0x38b5a4)){console[_0x4cfc7b(0x1ea)](_0x4cfc7b(0x1de)+link(_0xcfc25,_0x3fde73['cgwoc'](bold,basename(_0xcfc25)))),console[_0x4cfc7b(0x1ea)]('\x0aRanger\x20has\x20not\x20been\x20initialized\x20in\x20this\x20directory.'),console[_0x4cfc7b(0x1ea)]('\x20\x20Run:\x20ranger\x20setup\x20[token]\x0a');return;}console['log'](_0x4cfc7b(0x1de)+link(_0xcfc25,bold(basename(_0xcfc25))));const _0x238831=getCurrentVersion(),_0xafced4=getLatestVersion();if(_0xafced4['version']&&_0xafced4[_0x4cfc7b(0x225)]!==_0x238831)console[_0x4cfc7b(0x1ea)]('Version:\x20'+_0x238831+'\x20(latest:\x20'+_0xafced4[_0x4cfc7b(0x225)]+')'),console['log']('\x20\x20Run:\x20ranger\x20update');else _0xafced4['version']?console['log'](_0x4cfc7b(0x1fc)+_0x238831+_0x4cfc7b(0x20d)):console[_0x4cfc7b(0x1ea)](_0x4cfc7b(0x1fc)+_0x238831);const _0x416f83=await getToken();if(_0x416f83){const _0xcc61=await _0x3fde73['cgwoc'](getCurrentUser,_0x416f83);_0xcc61['success']?console['log'](_0x4cfc7b(0x22a)+_0x3fde73['patPq'](bold,_0xcc61['user'][_0x4cfc7b(0x212)])):(console[_0x4cfc7b(0x1ea)]('API\x20Token:\x20✓\x20Found\x20but\x20invalid\x20or\x20expired'),console[_0x4cfc7b(0x1ea)](_0x4cfc7b(0x20b)));}else console['log']('API\x20Token:\x20✗\x20Not\x20found'),console[_0x4cfc7b(0x1ea)]('\x20\x20Run:\x20ranger\x20setup\x20[token]');process['env']['DEBUG']&&(console[_0x4cfc7b(0x1ea)](_0x4cfc7b(0x21f)+_0x3fde73['NxQuF'](getCurrentEnvironment)),console['log'](_0x4cfc7b(0x1f8)+_0x3fde73['NxQuF'](getApiBaseUrl)));console[_0x4cfc7b(0x1ea)](_0x4cfc7b(0x231));const _0xfa4748=await getOpencodePluginStatus();if(_0x3fde73['OqZLx'](_0xfa4748[_0x4cfc7b(0x21d)],_0x3fde73[_0x4cfc7b(0x204)]))console[_0x4cfc7b(0x1ea)]('\x20\x20'+bold(_0x3fde73[_0x4cfc7b(0x1fb)])+':\x20configured'),_0xfa4748['details']&&console['log']('\x20\x20'+_0xfa4748[_0x4cfc7b(0x221)]);else _0xfa4748['status']===_0x4cfc7b(0x220)?(console[_0x4cfc7b(0x1ea)](_0x3fde73[_0x4cfc7b(0x215)]),_0xfa4748[_0x4cfc7b(0x221)]&&console[_0x4cfc7b(0x1ea)]('\x20\x20'+_0xfa4748[_0x4cfc7b(0x221)]),console[_0x4cfc7b(0x1ea)](_0x3fde73[_0x4cfc7b(0x1fa)])):console[_0x4cfc7b(0x1ea)](_0x3fde73['okySy']);console[_0x4cfc7b(0x1ea)](_0x3fde73[_0x4cfc7b(0x1ef)]);const _0x439657=await _0x3fde73['piCxR'](getPluginInfo,_0x3fde73['KnwVo']);if(_0x439657){const _0x530cb5=_0x439657['scope']||_0x4cfc7b(0x22c),_0x5b87bb=_0x439657['enabled']?_0x4cfc7b(0x22d):_0x3fde73['uijti'];console[_0x4cfc7b(0x1ea)]('\x20\x20'+bold(_0x3fde73[_0x4cfc7b(0x1d1)])+':\x20installed\x20('+_0x530cb5+',\x20'+_0x5b87bb+')');}else console[_0x4cfc7b(0x1ea)](_0x3fde73['EPfRm']),console['log']('\x20\x20Run:\x20ranger\x20setup\x20[token]\x20\x20(includes\x20plugin\x20installation)');console[_0x4cfc7b(0x1ea)](_0x3fde73['KVQlH']);const {project:_0x1fb90b,user:_0x3b444a}=await _0x3fde73[_0x4cfc7b(0x1e5)](getInstalledSkills),_0x216b8d=_0x1fb90b[_0x4cfc7b(0x20c)](_0x2c1f13=>RANGER_MANAGED_SKILLS[_0x4cfc7b(0x239)](_0x2c1f13[_0x4cfc7b(0x1f6)])),_0x2b56db=_0x3b444a['filter'](_0x4f3158=>RANGER_MANAGED_SKILLS[_0x4cfc7b(0x239)](_0x4f3158[_0x4cfc7b(0x1f6)])),_0xa1de1d=_0x216b8d['length']+_0x2b56db['length'];if(_0xa1de1d===0x0)console['log'](_0x4cfc7b(0x22e)),console['log']('\x20\x20Run:\x20ranger\x20skillup');else{if(_0x3fde73[_0x4cfc7b(0x1fd)](_0x216b8d[_0x4cfc7b(0x214)],0x0)){console[_0x4cfc7b(0x1ea)](_0x4cfc7b(0x207));for(const _0x4ca15d of _0x216b8d){console['log']('\x20\x20\x20\x20'+_0x3fde73[_0x4cfc7b(0x21b)](bold,_0x4ca15d[_0x4cfc7b(0x230)])+':\x20'+link(_0x4ca15d['path'],_0x3fde73['Syjbk'](basename,_0x4ca15d[_0x4cfc7b(0x228)])));}}if(_0x3fde73[_0x4cfc7b(0x1d3)](_0x2b56db[_0x4cfc7b(0x214)],0x0)){console[_0x4cfc7b(0x1ea)]('\x20\x20User-level:');for(const _0x1b2e3f of _0x2b56db){console['log'](_0x4cfc7b(0x1f0)+_0x3fde73['cgwoc'](bold,_0x1b2e3f[_0x4cfc7b(0x230)])+':\x20'+_0x3fde73['mKLoe'](link,_0x1b2e3f['path'],basename(_0x1b2e3f[_0x4cfc7b(0x228)])));}}}console[_0x4cfc7b(0x1ea)](_0x3fde73[_0x4cfc7b(0x234)]);const {envs:_0x4b8260,activeEnv:_0xcc9a36}=await getEnvironments();let _0x23981f=[];if(_0x416f83)try{_0x23981f=await _0x3fde73['NxQuF'](listCloudProfiles);}catch{}const _0x5cfe4d=_0x3fde73[_0x4cfc7b(0x202)](_0x4b8260[_0x4cfc7b(0x214)],_0x23981f['length']);if(_0x3fde73['OqZLx'](_0x5cfe4d,0x0))console[_0x4cfc7b(0x1ea)]('No\x20profiles\x20configured'),console['log'](_0x4cfc7b(0x1f4));else{if(_0x5cfe4d>0x5){const _0x41c7d0=[];_0x23981f[_0x4cfc7b(0x214)]>0x0&&_0x41c7d0[_0x4cfc7b(0x1cb)](_0x23981f[_0x4cfc7b(0x214)]+'\x20cloud'),_0x4b8260[_0x4cfc7b(0x214)]>0x0&&_0x41c7d0['push'](_0x4b8260['length']+'\x20local'),console[_0x4cfc7b(0x1ea)](_0x5cfe4d+'\x20profiles\x20configured\x20('+_0x41c7d0['join'](',\x20')+')'),_0xcc9a36&&console['log']('\x20\x20Active:\x20'+bold(_0xcc9a36)),console[_0x4cfc7b(0x1ea)]('\x20\x20Run:\x20ranger\x20profile\x20ls\x20\x20(list\x20all)');}else{for(const _0x1195fd of _0x23981f){const _0x410b4c=_0x1195fd['name']===_0xcc9a36?_0x3fde73['PfpZw']:'';console[_0x4cfc7b(0x1ea)]('\x20\x20'+bold(_0x1195fd['name'])+'\x20[cloud]'+_0x410b4c);const _0x2b068b=_0x1195fd['sessionUpdatedAt']?'cached\x20(updated\x20'+_0x1195fd[_0x4cfc7b(0x1d2)]+')':_0x4cfc7b(0x1e4);console[_0x4cfc7b(0x1ea)]('\x20\x20\x20\x20Session:\x20'+_0x2b068b);}const _0x4c9b77=new Set(_0x23981f[_0x4cfc7b(0x1e9)](_0x39e642=>_0x39e642['name']));for(const _0x987520 of _0x4b8260){if(_0x4c9b77[_0x4cfc7b(0x1d7)](_0x987520[_0x4cfc7b(0x1f6)]))continue;const _0x42da61=_0x987520[_0x4cfc7b(0x1e6)]?_0x3fde73['PfpZw']:'',_0x304d33=_0x987520['hasEncryptedAuth']?'encrypted':_0x987520[_0x4cfc7b(0x1ee)]?_0x3fde73[_0x4cfc7b(0x229)]:'none';console[_0x4cfc7b(0x1ea)]('\x20\x20'+_0x3fde73['Syjbk'](bold,_0x987520['name'])+'\x20[local]'+_0x42da61),console['log'](_0x4cfc7b(0x209)+_0x304d33),_0x3fde73['WkUmz'](_0x987520['settingsPath'],_0x4cfc7b(0x227))&&console['log']('\x20\x20\x20\x20Settings:\x20'+_0x3fde73[_0x4cfc7b(0x203)](link,_0x987520['settingsPath'],_0x3fde73['RbmSH'](basename,_0x987520['settingsPath'])));}if(!_0xcc9a36){console[_0x4cfc7b(0x1ea)](_0x4cfc7b(0x1f5));const _0x38e0b0=[..._0x23981f[_0x4cfc7b(0x1e9)](_0x192f06=>_0x192f06[_0x4cfc7b(0x1f6)]),..._0x4b8260['filter'](_0x1cc148=>!_0x4c9b77['has'](_0x1cc148['name']))['map'](_0x2ed57e=>_0x2ed57e['name'])];console['log']('\x20\x20Run:\x20ranger\x20profile\x20use\x20<profile-name>\x20\x20(available:\x20'+_0x38e0b0[_0x4cfc7b(0x216)](',\x20')+')');}}}console['log']('');}