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

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 (87) 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/build/skills/ranger/SKILL.md +1 -0
  87. package/package.json +1 -1
@@ -1 +1 @@
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
+ (function(_0x433a46,_0x448c4c){const _0x37b005=_0x8e48,_0x2045b9=_0x433a46();while(!![]){try{const _0x5a89c1=-parseInt(_0x37b005(0x1b1))/0x1*(-parseInt(_0x37b005(0x1be))/0x2)+parseInt(_0x37b005(0x1b7))/0x3*(-parseInt(_0x37b005(0x1bb))/0x4)+-parseInt(_0x37b005(0x1ba))/0x5*(-parseInt(_0x37b005(0x1b2))/0x6)+-parseInt(_0x37b005(0x1af))/0x7+parseInt(_0x37b005(0x1b9))/0x8+-parseInt(_0x37b005(0x1bf))/0x9*(parseInt(_0x37b005(0x1bd))/0xa)+-parseInt(_0x37b005(0x1ae))/0xb*(-parseInt(_0x37b005(0x1b3))/0xc);if(_0x5a89c1===_0x448c4c)break;else _0x2045b9['push'](_0x2045b9['shift']());}catch(_0x1eaf4b){_0x2045b9['push'](_0x2045b9['shift']());}}}(_0x3398,0xc0280));import{runDeviceAuthFlow}from'./utils/deviceAuth.js';function _0x3398(){const _0x2f4bfe=['126DtMNcH','11gSHydR','7500283VXeRWD','\x0a✅\x20API\x20key\x20stored\x20successfully','452947vdAAvE','306DydDzA','20809608qCXdvf','Re-authenticating\x20via\x20MCP\x20bootstrap...','message','wEXtw','3swuxuB','TBrbh','5079160qNhOck','8185AoHBNv','1457912iAFzRU','log','487460gZeaBr','2tyrJUe'];_0x3398=function(){return _0x2f4bfe;};return _0x3398();}import{getCurrentUser}from'./utils/userApi.js';import{getMcpAuthOrigin,mcpBootstrap}from'./mcpBootstrap.js';import{isInteractive}from'./utils/cloudProfileSession.js';function _0x8e48(_0x1480eb,_0x14459e){_0x1480eb=_0x1480eb-0x1ae;const _0x3398ed=_0x3398();let _0x8e48bc=_0x3398ed[_0x1480eb];return _0x8e48bc;}export async function login(){const _0xc2236=_0x8e48,_0x5141ee={'TBrbh':'Login\x20requires\x20an\x20interactive\x20terminal.\x20In\x20CI,\x20use:\x20ranger\x20setup\x20[token]\x20or\x20set\x20RANGER_CLI_TOKEN.','wEXtw':function(_0x3fdc80){return _0x3fdc80();},'NhumB':function(_0x7515f8,_0x2df454){return _0x7515f8 instanceof _0x2df454;}},_0x400448=await getMcpAuthOrigin();if(_0x400448){console[_0xc2236(0x1bc)](_0xc2236(0x1b4)),await mcpBootstrap();return;}if(!isInteractive())throw new Error(_0x5141ee[_0xc2236(0x1b8)]);try{const _0x2657d2=await _0x5141ee[_0xc2236(0x1b6)](runDeviceAuthFlow),_0x492cdb=await getCurrentUser(_0x2657d2);_0x492cdb['success']?console['log']('\x0a✅\x20Logged\x20in\x20to\x20'+_0x492cdb['user']['organizationName']):console[_0xc2236(0x1bc)](_0xc2236(0x1b0));}catch(_0x5352b2){throw new Error('Login\x20failed:\x20'+(_0x5141ee['NhumB'](_0x5352b2,Error)?_0x5352b2[_0xc2236(0x1b5)]:_0x5352b2));}}
@@ -1 +1 @@
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
+ const _0x495f8d=_0x4ef2;(function(_0x10e316,_0xe7487e){const _0x739611=_0x4ef2,_0x495b63=_0x10e316();while(!![]){try{const _0x29e0f2=-parseInt(_0x739611(0x1df))/0x1+parseInt(_0x739611(0x21a))/0x2+-parseInt(_0x739611(0x1b5))/0x3+-parseInt(_0x739611(0x1d8))/0x4*(parseInt(_0x739611(0x1f5))/0x5)+-parseInt(_0x739611(0x23f))/0x6+-parseInt(_0x739611(0x1eb))/0x7*(parseInt(_0x739611(0x1d3))/0x8)+-parseInt(_0x739611(0x226))/0x9*(-parseInt(_0x739611(0x207))/0xa);if(_0x29e0f2===_0xe7487e)break;else _0x495b63['push'](_0x495b63['shift']());}catch(_0x3447aa){_0x495b63['push'](_0x495b63['shift']());}}}(_0x353f,0x96b73));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(),_0x495f8d(0x1e0),'mcp-oauth-tokens.json'),AUTH_ORIGIN_PATH=join(homedir(),'.ranger',_0x495f8d(0x1fa));export async function getMcpAuthOrigin(){const _0xcdfddc=_0x495f8d,_0x3dc4f0={'VbXtN':function(_0x291734,_0x4e40fa,_0x47c696){return _0x291734(_0x4e40fa,_0x47c696);},'xiNdf':_0xcdfddc(0x20a),'bBgnm':function(_0x2d6b0a,_0x576683){return _0x2d6b0a||_0x576683;}};try{const _0x10b900=(await _0x3dc4f0['VbXtN'](readFile,AUTH_ORIGIN_PATH,_0x3dc4f0['xiNdf']))['trim']();return _0x3dc4f0['bBgnm'](_0x10b900,null);}catch{return null;}}export async function mcpBootstrap(){const _0x14356b=_0x495f8d,_0x36342b={'MEBgv':function(_0x34765e){return _0x34765e();},'wOelU':function(_0x151dd1,_0x11db9a){return _0x151dd1(_0x11db9a);},'LfznC':function(_0x519ec5){return _0x519ec5();}},_0xe9ab62=_0x36342b[_0x14356b(0x23e)](getMcpAuthUrl);currentOrigin=_0xe9ab62;const _0x236aa6=process[_0x14356b(0x22c)][_0x14356b(0x1de)]??![];console[_0x14356b(0x1ab)]('\x0aConnecting\x20to\x20MCP\x20auth\x20server:\x20'+_0xe9ab62+'\x0a');const _0x3cdc71=await _0x36342b[_0x14356b(0x216)](tryUnauthenticated,_0xe9ab62);let _0x3c6b23=null;if(_0x3cdc71===_0x14356b(0x1af))_0x3c6b23='';else{_0x3c6b23=await _0x36342b[_0x14356b(0x1b9)](loadCachedToken);if(!_0x3c6b23){if(!_0x236aa6)throw new Error(_0x14356b(0x1d6)+'Run\x20`ranger\x20setup\x20--mcp-bootstrap`\x20interactively\x20first.');_0x3c6b23=await oauthFlow(_0xe9ab62);}}await callGetCliToken(_0xe9ab62,_0x3c6b23);}async function tryUnauthenticated(_0x4518d4){const _0x264b7f=_0x495f8d,_0x51ecab={'IWYJN':function(_0x10fc91,_0x5cec57,_0x55b91d){return _0x10fc91(_0x5cec57,_0x55b91d);},'UMyNW':_0x264b7f(0x24d),'LMYHU':_0x264b7f(0x1d9),'WuFGR':'initialize','BoOIk':_0x264b7f(0x245),'EfJWB':_0x264b7f(0x1c2),'WdvKB':'1.0.0','XsFjZ':function(_0x136b19,_0x5080ef){return _0x136b19===_0x5080ef;}},_0x361634=await _0x51ecab[_0x264b7f(0x1d1)](fetch,_0x4518d4,{'method':_0x51ecab[_0x264b7f(0x248)],'headers':{'Content-Type':_0x264b7f(0x204),'Accept':_0x264b7f(0x1b2)},'body':JSON[_0x264b7f(0x213)]({'jsonrpc':_0x51ecab[_0x264b7f(0x200)],'id':0x1,'method':_0x51ecab[_0x264b7f(0x23b)],'params':{'protocolVersion':_0x51ecab[_0x264b7f(0x1d7)],'capabilities':{},'clientInfo':{'name':_0x51ecab['EfJWB'],'version':_0x51ecab[_0x264b7f(0x217)]}}})});if(_0x361634['ok'])return await _0x361634[_0x264b7f(0x1cd)](),_0x264b7f(0x1af);if(_0x51ecab['XsFjZ'](_0x361634[_0x264b7f(0x249)],0x191))return await _0x361634['text'](),_0x264b7f(0x1b1);const _0x25505f=await _0x361634[_0x264b7f(0x1cd)]();throw new Error('MCP\x20server\x20returned\x20HTTP\x20'+_0x361634['status']+':\x20'+_0x25505f);}class OAuthTimeoutError extends Error{constructor(_0x812fd8){const _0x2409d4={'odqxI':'OAuthTimeoutError'};super(_0x812fd8),this['name']=_0x2409d4['odqxI'];}}function _0x353f(){const _0x2e246c=['LMYHU','vPVBe','text/html','DifpM','application/json','write','get','10HnQNQE','VPydb','length','utf-8','notifications/initialized','Could\x20not\x20fetch\x20auth\x20server\x20metadata\x20from\x20','OAuth\x20error:\x20','authorization_code','code','ysuly','digest','origin','stringify','iscpn','Exchanging\x20authorization\x20code...','wOelU','WdvKB','VcaeA','error','291190JPQgqr','toString','Authorization','KRXZv','code_challenge','xdg-open','BMitF','twmyY','</p><p>You\x20can\x20close\x20this\x20window.</p></body></html>','initialize','zbXBA','jIdfr','34759359yqatlJ','<html><body><h2>Invalid\x20callback</h2><p>Missing\x20code\x20or\x20state\x20mismatch.</p></body></html>','CyiWz','Run\x20`ranger\x20status`\x20to\x20verify\x20authentication.\x0a','http://localhost:','No\x20authorization_servers\x20in\x20protected\x20resource\x20metadata','stdout','base64url','Ranger\x20CLI','expires_in','slice','RbJNn','set','jUhAu','NOaEo','code_challenge_method','Geeyo','close','win32','mMWts','/.well-known/oauth-authorization-server','WuFGR','token','type','MEBgv','911280auOAeQ','KDyWM','refresh.txt','/callback','content','client_secret','2025-03-26','XHcKc','Unknown\x20error','UMyNW','status','clientId','trim','structuredContent','POST','clientSecret','aomTe','log','eszfA','accessToken','isError','proxied','vgepr','needs-oauth','application/json,\x20text/event-stream','searchParams','ntuZK','2979132KbgVXU','cKfqN','hJUWP','okDNx','LfznC','vQmIo','MwqzS','\x20done','pathname','fOYDa','SCWtS','writeHead','then','ranger-cli','authorization_servers','Authorization\x20server\x20does\x20not\x20support\x20dynamic\x20client\x20registration\x20and\x20no\x20cached\x20client\x20found','hrGRJ','redirect_uri','json','startsWith','sha256','registration_endpoint','data:','Zbfso','text','update','ethdY','Discovering\x20authorization\x20server...','IWYJN','OAuth\x20callback\x20timed\x20out\x20after\x202\x20minutes','4624SmZECq','message','kFCMv','MCP\x20server\x20requires\x20authentication\x20but\x20running\x20in\x20non-interactive\x20mode.\x0a','BoOIk','8GVBDzp','2.0','S256','XgtgH','HqlFy','ALkoi','isTTY','42309jyeGlF','.ranger','nukXd','darwin','replace','OEDKK','nPsOS','refresh_token','state','UKAdU','resource','open','14798uqYkPI','mUSCc','expiresAt','\x0aOpening\x20browser\x20for\x20authentication...','parse','client_id','split','ediDr','zhAsu','access_token','2453225ojFPzf','SWMvl','authorization_endpoint','end','GZenu','auth-origin.txt','platform','cOviZ','string','text/event-stream','cieJJ'];_0x353f=function(){return _0x2e246c;};return _0x353f();}async function oauthFlow(_0x5e8b20){const _0x10d1a7=_0x495f8d,_0x3074c5={'cKfqN':function(_0x1ddf0f,_0x32360f){return _0x1ddf0f(_0x32360f);},'hJUWP':function(_0x3f70d8,_0x504af2){return _0x3f70d8 instanceof _0x504af2;},'okDNx':function(_0x3b5d3a){return _0x3b5d3a();},'zQkOO':'\x0aCached\x20OAuth\x20client\x20may\x20be\x20stale\x20—\x20clearing\x20and\x20retrying...\x0a'};try{return await _0x3074c5[_0x10d1a7(0x1b6)](oauthFlowAttempt,_0x5e8b20);}catch(_0x1af280){if(_0x3074c5[_0x10d1a7(0x1b7)](_0x1af280,OAuthTimeoutError)&&await _0x3074c5[_0x10d1a7(0x1b8)](loadCachedClient))return console[_0x10d1a7(0x1ab)](_0x3074c5['zQkOO']),await clearCachedClient(),await _0x3074c5[_0x10d1a7(0x1b6)](oauthFlowAttempt,_0x5e8b20);throw _0x1af280;}}async function oauthFlowAttempt(_0x52393d){const _0x384025=_0x495f8d,_0x177a1d={'tNXGY':function(_0x1a86c6,_0x25e9fd){return _0x1a86c6(_0x25e9fd);},'ysuly':'Could\x20not\x20fetch\x20protected\x20resource\x20metadata\x20from\x20MCP\x20server','CyiWz':function(_0x57268d,_0x5e9e67,_0x3b7763){return _0x57268d(_0x5e9e67,_0x3b7763);},'GAZmJ':_0x384025(0x22e),'Geeyo':_0x384025(0x20e),'nxxHP':_0x384025(0x1c4),'vQmIo':function(_0x1658ae,_0x102cf4){return _0x1658ae(_0x102cf4);},'UcxmF':_0x384025(0x1c9),'mMWts':'hex','NHurO':_0x384025(0x1c6),'DifpM':_0x384025(0x21e),'tHMXw':_0x384025(0x235),'jIdfr':_0x384025(0x1ee),'RswBA':_0x384025(0x215),'zhAsu':_0x384025(0x244),'VieOd':'resource','nPsOS':function(_0x298767,_0x1ac3c9,_0x27b550,_0x15534b){return _0x298767(_0x1ac3c9,_0x27b550,_0x15534b);}},_0xbf3963=_0x52393d[_0x384025(0x1e3)](/\/mcp$/,'');process[_0x384025(0x22c)][_0x384025(0x205)](_0x384025(0x1d0));const _0x30e21c=await _0x177a1d['tNXGY'](fetch,_0xbf3963+'/.well-known/oauth-protected-resource');if(!_0x30e21c['ok'])throw new Error(_0x177a1d[_0x384025(0x210)]);const _0x47eb23=await _0x30e21c[_0x384025(0x1c7)](),_0x467d27=_0x47eb23[_0x384025(0x1c3)]?.[0x0];if(!_0x467d27)throw new Error(_0x384025(0x22b));console[_0x384025(0x1ab)]('\x20'+_0x467d27);const _0x2b84ae=await fetchAuthServerMetadata(_0x467d27);let _0x44f1aa,_0x3ac87c;const _0x304249=await loadCachedClient();if(_0x304249)_0x44f1aa=_0x304249['clientId'],_0x3ac87c=_0x304249[_0x384025(0x24e)];else{if(_0x2b84ae[_0x384025(0x1ca)]){process['stdout'][_0x384025(0x205)]('Registering\x20OAuth\x20client...');const _0x50ca7d=await _0x177a1d['CyiWz'](fetch,_0x2b84ae['registration_endpoint'],{'method':_0x384025(0x24d),'headers':{'Content-Type':_0x384025(0x204)},'body':JSON['stringify']({'client_name':_0x177a1d['GAZmJ'],'redirect_uris':['http://localhost:'+CALLBACK_PORT+'/callback'],'grant_types':[_0x177a1d['Geeyo'],_0x384025(0x1e6)],'response_types':['code'],'token_endpoint_auth_method':'none'})});if(!_0x50ca7d['ok']){const _0x52d0f0=await _0x50ca7d[_0x384025(0x1cd)]();throw new Error('Client\x20registration\x20failed:\x20'+_0x52d0f0);}const _0x27d84a=await _0x50ca7d[_0x384025(0x1c7)]();_0x44f1aa=_0x27d84a[_0x384025(0x1f0)],_0x3ac87c=_0x27d84a['client_secret'],await saveCachedClient(_0x44f1aa,_0x3ac87c),console['log'](_0x384025(0x1bc));}else throw new Error(_0x177a1d['nxxHP']);}const _0x1fada9=randomBytes(0x20)['toString'](_0x384025(0x22d)),_0x5aaab5=_0x177a1d['vQmIo'](createHash,_0x177a1d['UcxmF'])[_0x384025(0x1ce)](_0x1fada9)[_0x384025(0x211)](_0x384025(0x22d)),_0x23511=_0x177a1d['vQmIo'](randomBytes,0x10)[_0x384025(0x21b)](_0x177a1d[_0x384025(0x239)]),_0xc83f2c=new URL(_0x2b84ae[_0x384025(0x1f7)]);_0xc83f2c['searchParams'][_0x384025(0x232)]('response_type',_0x384025(0x20f)),_0xc83f2c[_0x384025(0x1b3)]['set']('client_id',_0x44f1aa),_0xc83f2c['searchParams'][_0x384025(0x232)](_0x177a1d['NHurO'],_0x384025(0x22a)+CALLBACK_PORT+_0x384025(0x242)),_0xc83f2c[_0x384025(0x1b3)][_0x384025(0x232)](_0x177a1d[_0x384025(0x203)],_0x5aaab5),_0xc83f2c['searchParams']['set'](_0x177a1d['tHMXw'],_0x384025(0x1da)),_0xc83f2c['searchParams']['set']('state',_0x23511);_0x47eb23[_0x384025(0x1e9)]&&_0xc83f2c['searchParams'][_0x384025(0x232)]('resource',_0x47eb23[_0x384025(0x1e9)]);console['log'](_0x177a1d[_0x384025(0x225)]),console[_0x384025(0x1ab)]('If\x20the\x20browser\x20doesn\x27t\x20open,\x20visit:\x0a'+_0xc83f2c[_0x384025(0x21b)]()+'\x0a'),await openBrowser(_0xc83f2c[_0x384025(0x21b)]());const _0x192cb2=await _0x177a1d[_0x384025(0x1ba)](waitForCallback,_0x23511);process[_0x384025(0x22c)][_0x384025(0x205)](_0x177a1d['RswBA']);const _0x4200a1=new URLSearchParams({'grant_type':_0x177a1d[_0x384025(0x236)],'code':_0x192cb2,'redirect_uri':'http://localhost:'+CALLBACK_PORT+_0x384025(0x242),'client_id':_0x44f1aa,'code_verifier':_0x1fada9});_0x3ac87c&&_0x4200a1['set'](_0x177a1d[_0x384025(0x1f3)],_0x3ac87c);_0x47eb23['resource']&&_0x4200a1['set'](_0x177a1d['VieOd'],_0x47eb23['resource']);const _0x508a2b=await _0x177a1d[_0x384025(0x228)](fetch,_0x2b84ae['token_endpoint'],{'method':'POST','headers':{'Content-Type':'application/x-www-form-urlencoded'},'body':_0x4200a1});if(!_0x508a2b['ok']){const _0x1f00b7=await _0x508a2b[_0x384025(0x1cd)]();throw new Error('Token\x20exchange\x20failed:\x20'+_0x1f00b7);}const _0x316747=await _0x508a2b['json']();return console['log'](_0x384025(0x1bc)),await _0x177a1d[_0x384025(0x1e5)](saveCachedToken,_0x316747[_0x384025(0x1f4)],_0x316747['refresh_token'],_0x316747[_0x384025(0x22f)]),_0x316747['access_token'];}async function callGetCliToken(_0x26fd73,_0x4d774c){const _0xaf3bc=_0x495f8d,_0x50ff67={'UKAdU':_0xaf3bc(0x24d),'SWMvl':function(_0x46a6cc,_0x42ed1f){return _0x46a6cc(_0x42ed1f);},'ediDr':'application/json','xgEeC':_0xaf3bc(0x1b2),'rZoKT':function(_0x4ed959,_0x92fa58){return _0x4ed959(_0x92fa58);},'uVndd':_0xaf3bc(0x245),'ntuZK':'ranger-cli','UZBTt':function(_0x5dc148,_0x54995c,_0x2154b4){return _0x5dc148(_0x54995c,_0x2154b4);},'BMitF':'2.0','VPydb':_0xaf3bc(0x20b),'ethdY':'Requesting\x20CLI\x20token...','uJNWY':function(_0x5d87c4,_0x24e93d){return _0x5d87c4(_0x24e93d);},'KRXZv':'tools/call','RbJNn':'\x20done','nukXd':'\x0aUnexpected\x20response\x20structure:','mUSCc':function(_0x24ed18,_0x583ede,_0x1620f8){return _0x24ed18(_0x583ede,_0x1620f8);},'FKRgV':function(_0x53ace2){return _0x53ace2();},'ALkoi':'.ranger','VcaeA':function(_0x433811,_0x3e9f07,_0x34b0a7){return _0x433811(_0x3e9f07,_0x34b0a7);},'vSRxT':_0xaf3bc(0x241),'OEDKK':function(_0x13b11d,_0x47695d,_0x5e035e,_0x1ad044){return _0x13b11d(_0x47695d,_0x5e035e,_0x1ad044);}},_0x2ecf41={'Content-Type':_0x50ff67[_0xaf3bc(0x1f2)],'Accept':_0x50ff67['xgEeC']};_0x4d774c&&(_0x2ecf41[_0xaf3bc(0x21c)]='Bearer\x20'+_0x4d774c);const _0x321dfc=async _0x36e250=>{const _0x18857a=_0xaf3bc,_0x22fc91=await fetch(_0x26fd73,{'method':_0x50ff67['UKAdU'],'headers':_0x2ecf41,'body':JSON[_0x18857a(0x213)](_0x36e250)});if(!_0x22fc91['ok']){const _0x20b930=await _0x22fc91['text']();throw new Error('HTTP\x20'+_0x22fc91[_0x18857a(0x249)]+':\x20'+_0x20b930);}return _0x50ff67['SWMvl'](parseResponse,_0x22fc91);};process[_0xaf3bc(0x22c)][_0xaf3bc(0x205)]('Initializing\x20MCP\x20session...');const _0x1189f0=await _0x50ff67['rZoKT'](_0x321dfc,{'jsonrpc':_0xaf3bc(0x1d9),'id':0x1,'method':_0xaf3bc(0x223),'params':{'protocolVersion':_0x50ff67['uVndd'],'capabilities':{},'clientInfo':{'name':_0x50ff67[_0xaf3bc(0x1b4)],'version':'1.0.0'}}});if(_0x1189f0[_0xaf3bc(0x219)])throw new Error('MCP\x20initialize\x20failed:\x20'+(_0x1189f0[_0xaf3bc(0x219)]['message']??JSON['stringify'](_0x1189f0[_0xaf3bc(0x219)])));console[_0xaf3bc(0x1ab)](_0xaf3bc(0x1bc)),await _0x50ff67['UZBTt'](fetch,_0x26fd73,{'method':_0x50ff67[_0xaf3bc(0x1e8)],'headers':_0x2ecf41,'body':JSON[_0xaf3bc(0x213)]({'jsonrpc':_0x50ff67[_0xaf3bc(0x220)],'method':_0x50ff67[_0xaf3bc(0x208)]})})[_0xaf3bc(0x1c1)](_0x1671dc=>_0x1671dc['text']()),process[_0xaf3bc(0x22c)][_0xaf3bc(0x205)](_0x50ff67[_0xaf3bc(0x1cf)]);const _0xfcbc0c=await _0x50ff67['uJNWY'](_0x321dfc,{'jsonrpc':_0xaf3bc(0x1d9),'id':0x2,'method':_0x50ff67[_0xaf3bc(0x21d)],'params':{'name':'get_cli_token','arguments':{}}});if(_0xfcbc0c['error'])throw new Error('get_cli_token\x20failed:\x20'+(_0xfcbc0c[_0xaf3bc(0x219)][_0xaf3bc(0x1d4)]??JSON['stringify'](_0xfcbc0c['error'])));console['log'](_0x50ff67[_0xaf3bc(0x231)]);const _0x53eefa=_0x50ff67[_0xaf3bc(0x1f6)](extractToken,_0xfcbc0c['result']);if(!_0x53eefa){console['error'](_0x50ff67[_0xaf3bc(0x1e1)]),console[_0xaf3bc(0x219)](JSON['stringify'](_0xfcbc0c['result'],null,0x2));throw new Error('Could\x20not\x20extract\x20token\x20from\x20MCP\x20response');}const _0x30561a=_0x50ff67[_0xaf3bc(0x1ec)](join,_0x50ff67['FKRgV'](homedir),_0x50ff67[_0xaf3bc(0x1dd)]),_0x1f90b3=_0x50ff67[_0xaf3bc(0x218)](join,_0x30561a,_0x50ff67['vSRxT']);await mkdir(_0x30561a,{'recursive':!![]}),await _0x50ff67[_0xaf3bc(0x1e4)](writeFile,_0x1f90b3,_0x53eefa,{'mode':0x180}),await _0x50ff67[_0xaf3bc(0x1e4)](writeFile,_0x50ff67[_0xaf3bc(0x218)](join,_0x30561a,'auth-origin.txt'),_0x26fd73,{'mode':0x180}),console['log']('\x0aToken\x20written\x20to\x20'+_0x1f90b3),console[_0xaf3bc(0x1ab)](_0xaf3bc(0x229));}async function fetchAuthServerMetadata(_0x1ea59d){const _0x29e1cc=_0x495f8d,_0x30fb39=_0x1ea59d+_0x29e1cc(0x23a),_0x4dc8b5=await fetch(_0x30fb39);if(!_0x4dc8b5['ok'])throw new Error(_0x29e1cc(0x20c)+_0x30fb39+':\x20'+_0x4dc8b5[_0x29e1cc(0x249)]);return _0x4dc8b5[_0x29e1cc(0x1c7)]();}function waitForCallback(_0x9a8c6f){const _0x2da5d4=_0x495f8d,_0x287d3f={'OljZK':function(_0x4db4e8){return _0x4db4e8();},'cOviZ':_0x2da5d4(0x219),'twmyY':_0x2da5d4(0x202),'kzyrY':'127.0.0.1'};return new Promise((_0x5ce257,_0x14a696)=>{const _0xd891f5=_0x2da5d4,_0x599915={'HqlFy':function(_0x304a6b){return _0x287d3f['OljZK'](_0x304a6b);},'KDyWM':'Not\x20found','cCSRL':_0x287d3f[_0xd891f5(0x1fc)],'fOYDa':_0x287d3f[_0xd891f5(0x221)],'GZenu':function(_0x3073bd){return _0x3073bd();},'mzHPI':'<html><body><h2>Authenticated!</h2><p>You\x20can\x20close\x20this\x20window\x20and\x20return\x20to\x20the\x20terminal.</p></body></html>','XgtgH':function(_0x44efa7,_0x3e8c74){return _0x44efa7(_0x3e8c74);},'NOaEo':function(_0x53f994,_0x3efe63){return _0x53f994(_0x3efe63);}},_0x520cca=()=>{const _0xd0e5ab=_0xd891f5;_0xd18439['closeAllConnections'](),_0xd18439[_0xd0e5ab(0x237)]();},_0x48cfb7=setTimeout(()=>{const _0x1b1a93=_0xd891f5;_0x599915[_0x1b1a93(0x1dc)](_0x520cca),_0x14a696(new OAuthTimeoutError(_0x1b1a93(0x1d2)));},0x1d4c0),_0xd18439=createServer((_0x89dc8b,_0x35c1e3)=>{const _0x5929a3=_0xd891f5,_0x252a2c=new URL(_0x89dc8b['url']??'/','http://localhost:'+CALLBACK_PORT);if(_0x252a2c[_0x5929a3(0x1bd)]!=='/callback'){_0x35c1e3['writeHead'](0x194),_0x35c1e3['end'](_0x599915[_0x5929a3(0x240)]);return;}const _0xb2cf8f=_0x252a2c[_0x5929a3(0x1b3)]['get'](_0x5929a3(0x20f)),_0x511b4c=_0x252a2c[_0x5929a3(0x1b3)]['get'](_0x5929a3(0x1e7)),_0x455cc5=_0x252a2c[_0x5929a3(0x1b3)]['get'](_0x599915['cCSRL']);if(_0x455cc5){const _0x39cd8b=_0x252a2c[_0x5929a3(0x1b3)][_0x5929a3(0x206)]('error_description')??_0x455cc5;_0x35c1e3[_0x5929a3(0x1c0)](0xc8,{'Content-Type':_0x599915['fOYDa']}),_0x35c1e3[_0x5929a3(0x1f8)]('<html><body><h2>Authentication\x20failed</h2><p>'+_0x39cd8b+_0x5929a3(0x222)),clearTimeout(_0x48cfb7),_0x599915[_0x5929a3(0x1f9)](_0x520cca),_0x14a696(new Error(_0x5929a3(0x20d)+_0x39cd8b));return;}if(!_0xb2cf8f||_0x511b4c!==_0x9a8c6f){_0x35c1e3[_0x5929a3(0x1c0)](0x190,{'Content-Type':_0x599915['fOYDa']}),_0x35c1e3[_0x5929a3(0x1f8)](_0x5929a3(0x227));return;}_0x35c1e3[_0x5929a3(0x1c0)](0xc8,{'Content-Type':_0x599915[_0x5929a3(0x1be)]}),_0x35c1e3['end'](_0x599915['mzHPI']),_0x599915[_0x5929a3(0x1db)](clearTimeout,_0x48cfb7),_0x520cca(),_0x599915[_0x5929a3(0x234)](_0x5ce257,_0xb2cf8f);});_0xd18439['listen'](CALLBACK_PORT,_0x287d3f['kzyrY']);});}async function openBrowser(_0x514ebc){const _0x207bb9=_0x495f8d,_0x1b98a4={'iscpn':_0x207bb9(0x1e2),'jUhAu':_0x207bb9(0x1ea),'jqPnO':_0x207bb9(0x238),'cFayV':'start','pXXqq':_0x207bb9(0x21f),'zbXBA':function(_0x5eb968,_0x5dac45){return _0x5eb968(_0x5dac45);}},_0x111788=process[_0x207bb9(0x1fb)]===_0x1b98a4[_0x207bb9(0x214)]?_0x1b98a4[_0x207bb9(0x233)]:process[_0x207bb9(0x1fb)]===_0x1b98a4['jqPnO']?_0x1b98a4['cFayV']:_0x1b98a4['pXXqq'];_0x1b98a4[_0x207bb9(0x224)](exec,_0x111788+'\x20\x22'+_0x514ebc+'\x22');}let currentOrigin='';async function loadCachedToken(){const _0x2fd163=_0x495f8d,_0x39a5fa={'vPVBe':function(_0x5aa45b,_0x4e6822){return _0x5aa45b!==_0x4e6822;},'Gxtlg':function(_0x106c49,_0x2edcdd){return _0x106c49>_0x2edcdd;}};try{const _0x54e4a5=JSON['parse'](await readFile(TOKEN_CACHE_PATH,'utf-8'));if(_0x54e4a5['origin']&&_0x39a5fa[_0x2fd163(0x201)](_0x54e4a5[_0x2fd163(0x212)],currentOrigin))return null;if(_0x54e4a5[_0x2fd163(0x1ed)]&&_0x39a5fa['Gxtlg'](Date['now'](),_0x54e4a5['expiresAt']))return null;return _0x54e4a5[_0x2fd163(0x1ad)]??null;}catch{return null;}}async function saveCachedToken(_0x25c1f,_0x3e3374,_0xabfeb9){const _0x12aa62=_0x495f8d,_0x6d0a02={'hrGRJ':function(_0x57d27a,_0x58da11,_0x2c66c9){return _0x57d27a(_0x58da11,_0x2c66c9);},'JLiBS':function(_0x52f633,_0x322c70,_0x20f98d,_0x26be50){return _0x52f633(_0x322c70,_0x20f98d,_0x26be50);}},_0x17b9e6=await loadCachedData(),_0x5e354c={..._0x17b9e6,'origin':currentOrigin,'accessToken':_0x25c1f,'refreshToken':_0x3e3374??_0x17b9e6?.['refreshToken'],'expiresAt':_0xabfeb9?Date['now']()+_0xabfeb9*0x3e8:undefined};await _0x6d0a02[_0x12aa62(0x1c5)](mkdir,join(homedir(),'.ranger'),{'recursive':!![]}),await _0x6d0a02['JLiBS'](writeFile,TOKEN_CACHE_PATH,JSON['stringify'](_0x5e354c),{'mode':0x180});}async function loadCachedClient(){const _0xf34d33=_0x495f8d,_0x234bdf={'kFCMv':function(_0x3db8fc,_0x29eca3){return _0x3db8fc!==_0x29eca3;}},_0x5b2043=await loadCachedData();if(_0x5b2043?.[_0xf34d33(0x212)]&&_0x234bdf[_0xf34d33(0x1d5)](_0x5b2043['origin'],currentOrigin))return null;return _0x5b2043?.['clientId']?{'clientId':_0x5b2043[_0xf34d33(0x24a)],'clientSecret':_0x5b2043['clientSecret']}:null;}async function clearCachedClient(){const _0x5267d4=_0x495f8d,_0x5e7d40={'eszfA':function(_0x14bb85,_0x155f1d,_0xc09650,_0x558977){return _0x14bb85(_0x155f1d,_0xc09650,_0x558977);}},_0x4aeb59=await loadCachedData();if(!_0x4aeb59)return;const {clientId:_0x5ccb9b,clientSecret:_0x1ddd62,..._0x162bab}=_0x4aeb59;await _0x5e7d40[_0x5267d4(0x1ac)](writeFile,TOKEN_CACHE_PATH,JSON[_0x5267d4(0x213)](_0x162bab),{'mode':0x180});}async function saveCachedClient(_0x1365b4,_0x42ad49){const _0x55d85e=_0x495f8d,_0x274215={'aomTe':function(_0x49367f){return _0x49367f();},'Zbfso':function(_0x42c91f,_0x28f61e,_0x1ae0e0){return _0x42c91f(_0x28f61e,_0x1ae0e0);},'naUzB':function(_0x229e90){return _0x229e90();},'cieJJ':'.ranger','XHcKc':function(_0x47c393,_0x3125ca,_0x34a57b,_0xd90f63){return _0x47c393(_0x3125ca,_0x34a57b,_0xd90f63);}},_0x37c54d=await _0x274215[_0x55d85e(0x24f)](loadCachedData),_0x5e51ba={..._0x37c54d,'origin':currentOrigin,'accessToken':_0x37c54d?.[_0x55d85e(0x1ad)]??'','clientId':_0x1365b4,'clientSecret':_0x42ad49};await _0x274215[_0x55d85e(0x1cc)](mkdir,join(_0x274215['naUzB'](homedir),_0x274215[_0x55d85e(0x1ff)]),{'recursive':!![]}),await _0x274215[_0x55d85e(0x246)](writeFile,TOKEN_CACHE_PATH,JSON['stringify'](_0x5e51ba),{'mode':0x180});}function _0x4ef2(_0x127b6f,_0x28af85){_0x127b6f=_0x127b6f-0x1ab;const _0x353fc9=_0x353f();let _0x4ef273=_0x353fc9[_0x127b6f];return _0x4ef273;}async function loadCachedData(){const _0x440905=_0x495f8d,_0x3422c3={'BWAtC':_0x440905(0x20a)};try{return JSON[_0x440905(0x1ef)](await readFile(TOKEN_CACHE_PATH,_0x3422c3['BWAtC']));}catch{return null;}}async function parseResponse(_0x210757){const _0x155efe=_0x495f8d,_0x8f9ef0={'nCsED':_0x155efe(0x1fe),'vgepr':function(_0xecbb6e,_0x3bc19c){return _0xecbb6e!==_0x3bc19c;},'MwqzS':'No\x20JSON-RPC\x20response\x20found\x20in\x20SSE\x20stream'},_0xdbc8=_0x210757['headers']['get']('content-type')??'';if(_0xdbc8['includes'](_0x8f9ef0['nCsED'])){const _0x1477e7=await _0x210757['text']();for(const _0x489f43 of _0x1477e7[_0x155efe(0x1f1)]('\x0a')){const _0x5362de=_0x489f43[_0x155efe(0x24b)]();if(_0x5362de[_0x155efe(0x1c8)](_0x155efe(0x1cb))){const _0x3ac38f=_0x5362de[_0x155efe(0x230)]('data:'[_0x155efe(0x209)])[_0x155efe(0x24b)]();if(!_0x3ac38f)continue;try{const _0x176bc5=JSON['parse'](_0x3ac38f);if(_0x8f9ef0[_0x155efe(0x1b0)](_0x176bc5['id'],undefined)||_0x176bc5['error'])return _0x176bc5;}catch{}}}throw new Error(_0x8f9ef0[_0x155efe(0x1bb)]);}return _0x210757['json']();}function extractToken(_0x5d86f8){const _0x4e9fca=_0x495f8d,_0x4b45cc={'SCWtS':function(_0x2fd586,_0x4aa6ba){return _0x2fd586===_0x4aa6ba;},'FStGY':'string','OVEDR':_0x4e9fca(0x247)};if(!_0x5d86f8)return null;const _0x1579da=_0x5d86f8[_0x4e9fca(0x24c)];if(_0x1579da?.[_0x4e9fca(0x23c)]&&_0x4b45cc['SCWtS'](typeof _0x1579da['token'],_0x4b45cc['FStGY']))return _0x1579da['token'];if(_0x5d86f8[_0x4e9fca(0x1ae)]){const _0x2768b=_0x5d86f8[_0x4e9fca(0x243)];throw new Error('Server\x20returned\x20error:\x20'+(_0x2768b?.[0x0]?.['text']??_0x4b45cc['OVEDR']));}const _0x38cf70=_0x5d86f8['content'];if(_0x38cf70)for(const _0x1509b7 of _0x38cf70){if(_0x4b45cc[_0x4e9fca(0x1bf)](_0x1509b7[_0x4e9fca(0x23d)],_0x4e9fca(0x1cd))&&_0x1509b7[_0x4e9fca(0x1cd)]){try{const _0x382d54=JSON[_0x4e9fca(0x1ef)](_0x1509b7[_0x4e9fca(0x1cd)]);if(typeof _0x382d54?.['token']===_0x4e9fca(0x1fd))return _0x382d54[_0x4e9fca(0x23c)];}catch{}const _0x5f589f=_0x1509b7['text']['match'](/(rngr_[A-Za-z0-9_-]+)/);if(_0x5f589f)return _0x5f589f[0x1];}}return null;}
@@ -1 +1 @@
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
+ function _0x2db5(){var _0x52029a=['1282764SUrWQf','To\x20set\x20up\x20a\x20fresh\x20profile,\x20run:\x0a','1680777Lsccdl','For\x20CI\x20/\x20background\x20agents\x20and\x20other\x20setup\x20options,\x20see:\x0a','\x20\x20https://docs.ranger.net/main/concepts/profiles\x0a','5180450xcFxRq','snjgJ','266024OcZyZU','2037MRILBd','ranger\x20profile\x20migrate\x20is\x20no\x20longer\x20supported.\x0a','812995tgLjaF','\x20\x20ranger\x20profile\x20add\x20<name>\x0a','exit','40hOliAc','79910GmiHNP','error','fallback;\x20you\x20can\x20delete\x20them\x20once\x20you\x20have\x20re-auth-ed.','iyIFd','1828kYLTZq','1530JmrRlT'];_0x2db5=function(){return _0x52029a;};return _0x2db5();}(function(_0x567d2b,_0x4684db){var _0x3a6e87=_0x5b47,_0x1125c2=_0x567d2b();while(!![]){try{var _0x21607b=-parseInt(_0x3a6e87(0x15a))/0x1+-parseInt(_0x3a6e87(0x157))/0x2+parseInt(_0x3a6e87(0x158))/0x3*(parseInt(_0x3a6e87(0x162))/0x4)+-parseInt(_0x3a6e87(0x155))/0x5+-parseInt(_0x3a6e87(0x164))/0x6+-parseInt(_0x3a6e87(0x166))/0x7*(-parseInt(_0x3a6e87(0x15d))/0x8)+parseInt(_0x3a6e87(0x163))/0x9*(parseInt(_0x3a6e87(0x15e))/0xa);if(_0x21607b===_0x4684db)break;else _0x1125c2['push'](_0x1125c2['shift']());}catch(_0x2072ed){_0x1125c2['push'](_0x1125c2['shift']());}}}(_0x2db5,0xa469d));function _0x5b47(_0x1411d1,_0x4d6888){_0x1411d1=_0x1411d1-0x154;var _0x2db574=_0x2db5();var _0x5b4703=_0x2db574[_0x1411d1];return _0x5b4703;}export async function migrateProfile(_0x142c58,_0x2adb1a){var _0x45260d=_0x5b47,_0x4124b0={'iyIFd':function(_0x1fb3b6,_0x40e211){return _0x1fb3b6+_0x40e211;},'snjgJ':function(_0x367f09,_0x391808){return _0x367f09+_0x391808;},'nPEgo':function(_0x5e44d0,_0x4810e9){return _0x5e44d0+_0x4810e9;},'kodiW':_0x45260d(0x159),'bXVNZ':_0x45260d(0x154)};console[_0x45260d(0x15f)](_0x4124b0[_0x45260d(0x161)](_0x4124b0[_0x45260d(0x161)](_0x4124b0['snjgJ'](_0x4124b0['nPEgo'](_0x4124b0[_0x45260d(0x156)](_0x4124b0[_0x45260d(0x161)](_0x4124b0['kodiW']+'\x0a'+_0x45260d(0x165)+_0x45260d(0x15b),'\x0a'),_0x45260d(0x167)),_0x4124b0['bXVNZ']),'\x0a'),'Existing\x20sessions\x20in\x20your\x20old\x20<project>/.ranger/\x20dirs\x20still\x20work\x20as\x20a\x0a'),_0x45260d(0x160))),process[_0x45260d(0x15c)](0x1);}
@@ -1 +1 @@
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
+ (function(_0x574f29,_0x43f501){const _0xc8429f=_0x23e7,_0xbc61bf=_0x574f29();while(!![]){try{const _0x2bd60c=parseInt(_0xc8429f(0x15d))/0x1+-parseInt(_0xc8429f(0x181))/0x2+-parseInt(_0xc8429f(0x182))/0x3+parseInt(_0xc8429f(0x185))/0x4*(-parseInt(_0xc8429f(0x160))/0x5)+-parseInt(_0xc8429f(0x15b))/0x6*(-parseInt(_0xc8429f(0x178))/0x7)+-parseInt(_0xc8429f(0x17a))/0x8+parseInt(_0xc8429f(0x186))/0x9*(parseInt(_0xc8429f(0x168))/0xa);if(_0x2bd60c===_0x43f501)break;else _0xbc61bf['push'](_0xbc61bf['shift']());}catch(_0x4be85d){_0xbc61bf['push'](_0xbc61bf['shift']());}}}(_0x50c2,0xd9f7a));import{join}from'path';function _0x50c2(){const _0x413b10=['install','4678758aVjcAg','SKILL.md','8700840kejbRS','user','trailhead','plugin','qpmFy','ujIJP','yZpQf','2762282xWcZnF','1560180EvEKTx','error','add','4562940EeTPsq','2934arLUzR','project','6ktnJRT','\x0aYou\x20can\x20install\x20manually\x20with:','367287aoinBi','CzkFq','iIhQb','5kqipJo','✓\x20Claude\x20Code\x20plugin\x20installed\x20successfully','ranger','\x20\x20claude\x20plugin\x20marketplace\x20add\x20ranger-testing/trailhead','HwhoH','enable','success','YmmOF','122290jTeXRT','✓\x20Claude\x20Code\x20plugin\x20already\x20installed','prompt','log','Amfts','ranger@trailhead','\x0a📦\x20Claude\x20Code\x20Plugin\x0a','cvoAy','--scope','Where\x20should\x20the\x20plugin\x20be\x20installed?','ZGPJw','\x0aInstalling\x20Claude\x20Code\x20plugin\x20(','VGQjA','confirm','KzwUx'];_0x50c2=function(){return _0x413b10;};return _0x50c2();}import{existsSync}from'fs';function _0x23e7(_0x6448c8,_0x57ef85){_0x6448c8=_0x6448c8-0x15b;const _0x50c221=_0x50c2();let _0x23e76c=_0x50c221[_0x6448c8];return _0x23e76c;}import _0x1406a3 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(_0x1f3db0){const _0x55ac91=_0x23e7,_0x55c572={'VGQjA':function(_0x48587f,_0x4f1b93){return _0x48587f(_0x4f1b93);},'TdJEL':'.claude','PSTdT':'pluginScope','qpmFy':_0x55ac91(0x171),'PcIAi':_0x55ac91(0x17b),'ujIJP':_0x55ac91(0x187),'Otbxr':_0x55ac91(0x17c),'wtDKy':'ranger-testing/trailhead','ZqQAG':'❌\x20Failed\x20to\x20add\x20marketplace:','wbQlo':_0x55ac91(0x15c),'wfqGP':_0x55ac91(0x163),'NMpDd':_0x55ac91(0x17d),'NkGwx':_0x55ac91(0x177),'JsWll':_0x55ac91(0x16d),'YmmOF':_0x55ac91(0x170),'KzwUx':_0x55ac91(0x161),'yZpQf':_0x55ac91(0x165),'cvoAy':function(_0x466415,_0x2cf0ae){return _0x466415===_0x2cf0ae;},'VGgbC':'already\x20enabled','FTYyV':'✓\x20Claude\x20Code\x20plugin\x20enabled'},_0x186367=await _0x55c572[_0x55ac91(0x174)](isPluginInstalled,'ranger@trailhead');if(_0x186367)return console['log'](_0x55ac91(0x169)),![];const _0xaeceef=existsSync(join(getProjectRoot(),_0x55c572['TdJEL']));let _0x5b1682;if(_0x1f3db0)_0x5b1682=_0x1f3db0;else{if(_0xaeceef)_0x5b1682=_0x55ac91(0x187);else{console['log'](_0x55ac91(0x16e));const _0x8db4d0=await _0x1406a3[_0x55ac91(0x16a)]([{'type':'list','name':_0x55c572['PSTdT'],'message':_0x55c572[_0x55ac91(0x17e)],'choices':[{'name':'User\x20(available\x20in\x20all\x20your\x20projects)','value':_0x55c572['PcIAi']},{'name':'Project\x20(shared\x20with\x20team\x20via\x20git)','value':_0x55c572[_0x55ac91(0x17f)]}],'default':_0x55ac91(0x17b)}]);_0x5b1682=_0x8db4d0['pluginScope'];}}console[_0x55ac91(0x16b)](_0x55ac91(0x173)+_0x5b1682+'\x20level)...\x0a');const _0x44e549=await isMarketplaceAdded(_0x55c572['Otbxr']);let _0x4341b6=_0x44e549;if(_0x44e549)console[_0x55ac91(0x16b)]('✓\x20Marketplace\x20already\x20added');else{const _0x2f135f=await _0x55c572['VGQjA'](runClaudeCommand,[_0x55ac91(0x17d),'marketplace',_0x55ac91(0x184),_0x55c572['wtDKy']]);!_0x2f135f['success']?(console['error'](_0x55c572['ZqQAG'],_0x2f135f[_0x55ac91(0x183)]),console[_0x55ac91(0x16b)](_0x55c572['wbQlo']),console[_0x55ac91(0x16b)](_0x55c572['wfqGP']),console['log']('\x20\x20claude\x20plugin\x20install\x20ranger@trailhead\x20--scope\x20'+_0x5b1682)):_0x4341b6=!![];}if(_0x4341b6){const _0x56c2ce=await runClaudeCommand([_0x55c572['NMpDd'],_0x55c572['NkGwx'],_0x55c572['JsWll'],_0x55c572[_0x55ac91(0x167)],_0x5b1682],{'cwd':_0x5b1682===_0x55c572[_0x55ac91(0x17f)]?getProjectRoot():undefined});if(!_0x56c2ce[_0x55ac91(0x166)])console['error']('❌\x20Failed\x20to\x20install\x20plugin:',_0x56c2ce['error']),console[_0x55ac91(0x16b)]('\x0aYou\x20can\x20install\x20manually\x20with:'),console['log']('\x20\x20claude\x20plugin\x20install\x20ranger@trailhead\x20--scope\x20'+_0x5b1682);else{console['log'](_0x55c572[_0x55ac91(0x176)]);const _0x2953ea=[_0x55c572['NMpDd'],_0x55c572[_0x55ac91(0x180)],_0x55c572['JsWll']];_0x55c572[_0x55ac91(0x16f)](_0x5b1682,_0x55ac91(0x187))&&_0x2953ea['push'](_0x55c572[_0x55ac91(0x167)],_0x55c572['ujIJP']);const _0x1f7a01=await runClaudeCommand(_0x2953ea,{'captureOutput':!![],'cwd':_0x5b1682===_0x55ac91(0x187)?getProjectRoot():undefined}),_0x2f1426=_0x1f7a01['output']?.['includes'](_0x55c572['VGgbC']);!_0x1f7a01[_0x55ac91(0x166)]&&!_0x2f1426?console['error']('⚠\x20Failed\x20to\x20enable\x20plugin:',_0x1f7a01['error']):console['log'](_0x55c572['FTYyV']);}}return!![];}export async function ensureClaudeSkills(_0x52bc08){const _0x2ba472=_0x23e7,_0x1aa65e={'wywZz':function(_0x345a97,_0x2ed030){return _0x345a97(_0x2ed030);},'HwhoH':'ranger','CzkFq':_0x2ba472(0x179),'iIhQb':function(_0x9e7880,_0x1a891f){return _0x9e7880(_0x1a891f);},'Amfts':'✓\x20Ranger\x20skills\x20already\x20installed','ZGPJw':'.claude'},_0x36f5ea=_0x1aa65e['wywZz'](existsSync,join(getSkillsDir(_0x2ba472(0x17b)),_0x1aa65e[_0x2ba472(0x164)],_0x1aa65e[_0x2ba472(0x15e)])),_0x1c712b=_0x1aa65e[_0x2ba472(0x15f)](existsSync,join(getSkillsDir(_0x2ba472(0x187)),_0x2ba472(0x162),_0x2ba472(0x179)));if(_0x36f5ea||_0x1c712b)return console['log'](_0x1aa65e[_0x2ba472(0x16c)]),![];const _0x12024a=existsSync(join(getProjectRoot(),_0x1aa65e[_0x2ba472(0x172)]));let _0x20a720=!![];if(_0x52bc08)await skillup({'autoInstall':_0x52bc08,'suppressUsage':!![]});else{if(_0x12024a)await skillup({'autoInstall':'project','suppressUsage':!![]});else{const _0x2743db=await _0x1406a3['prompt']([{'type':_0x2ba472(0x175),'name':'wantsSkillup','message':'Would\x20you\x20like\x20to\x20install\x20skills?','default':!![]}]);_0x20a720=_0x2743db['wantsSkillup'],_0x20a720&&await skillup({'suppressUsage':!![]});}}return _0x20a720;}
@@ -1 +1 @@
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
+ (function(_0x23d015,_0xa3cf47){const _0x3c5c4d=_0x3658,_0xb1ba60=_0x23d015();while(!![]){try{const _0x262dde=parseInt(_0x3c5c4d(0x1ce))/0x1+parseInt(_0x3c5c4d(0x1cd))/0x2*(parseInt(_0x3c5c4d(0x1e4))/0x3)+-parseInt(_0x3c5c4d(0x1e1))/0x4*(parseInt(_0x3c5c4d(0x1dc))/0x5)+-parseInt(_0x3c5c4d(0x1de))/0x6+parseInt(_0x3c5c4d(0x1d1))/0x7*(-parseInt(_0x3c5c4d(0x1d4))/0x8)+-parseInt(_0x3c5c4d(0x1c7))/0x9*(-parseInt(_0x3c5c4d(0x1d5))/0xa)+parseInt(_0x3c5c4d(0x1dd))/0xb*(parseInt(_0x3c5c4d(0x1c8))/0xc);if(_0x262dde===_0xa3cf47)break;else _0xb1ba60['push'](_0xb1ba60['shift']());}catch(_0x975f11){_0xb1ba60['push'](_0xb1ba60['shift']());}}}(_0x2060,0x39dee));import{join}from'path';function _0x2060(){const _0x3caa8d=['120Vtrhsd','plugin','log','User\x20(available\x20in\x20all\x20your\x20projects)','WnMQQ','734544kqzeLl','427379GUBnbS','prompt','EEVPl','98qeSGRK','XEYBd','ANZuA','112440RGKfDL','7110gFZBks','zWSCz','@ranger-testing/opencode-plugin','zSspJ','user','https://opencode.ai/config.json','stringify','14715ijQMAL','37664rkRZYA','1654080xjJeHl','isArray','Failed\x20to\x20read\x20opencode.json','544hyBUnt','pluginScope','project','3yQmrfT','opencode.json','✓\x20OpenCode\x20plugin\x20configured','3555vRbEST'];_0x2060=function(){return _0x3caa8d;};return _0x2060();}import{existsSync}from'fs';function _0x3658(_0x1b8353,_0x3366c2){_0x1b8353=_0x1b8353-0x1c6;const _0x20605b=_0x2060();let _0x365851=_0x20605b[_0x1b8353];return _0x365851;}import{mkdir,readFile,writeFile}from'fs/promises';import _0x3ab118 from'inquirer';import{getOpencodeConfigDir}from'../utils/opencodeConfig.js';export async function ensureOpencodePluginConfig(_0x59d794){const _0x3b6985=_0x3658,_0x10b33e={'zSspJ':function(_0x29efc1,_0x51fea4,_0x3d9699){return _0x29efc1(_0x51fea4,_0x3d9699);},'XEYBd':function(_0x36133b,_0x2a68f0){return _0x36133b(_0x2a68f0);},'yStPd':_0x3b6985(0x1e3),'EEVPl':_0x3b6985(0x1e5),'WnMQQ':'pluginScope','ANZuA':_0x3b6985(0x1cb),'tACjV':'user','HCwNo':function(_0xe14c99,_0x41529f){return _0xe14c99(_0x41529f);},'nvyBR':'utf-8','zWSCz':function(_0x52c3cb,_0xecfe31,_0x465b05){return _0x52c3cb(_0xecfe31,_0x465b05);}},_0x564cef=existsSync(_0x10b33e['zSspJ'](join,_0x10b33e[_0x3b6985(0x1d2)](getOpencodeConfigDir,_0x10b33e['yStPd']),_0x10b33e[_0x3b6985(0x1d0)]));let _0x19f616;if(_0x59d794)_0x19f616=_0x59d794;else{if(_0x564cef)_0x19f616=_0x3b6985(0x1e3);else{console[_0x3b6985(0x1ca)]('\x0a📦\x20OpenCode\x20Plugin\x0a');const _0x45f3a1=await _0x3ab118[_0x3b6985(0x1cf)]([{'type':'list','name':_0x10b33e[_0x3b6985(0x1cc)],'message':'Where\x20should\x20the\x20plugin\x20be\x20installed?','choices':[{'name':_0x10b33e[_0x3b6985(0x1d3)],'value':_0x10b33e['tACjV']},{'name':'Project\x20(shared\x20with\x20team\x20via\x20git)','value':_0x3b6985(0x1e3)}],'default':_0x3b6985(0x1d9)}]);_0x19f616=_0x45f3a1[_0x3b6985(0x1e2)];}}const _0x14dff3=_0x10b33e[_0x3b6985(0x1d8)](join,_0x10b33e[_0x3b6985(0x1d2)](getOpencodeConfigDir,_0x19f616),_0x3b6985(0x1e5)),_0x420718=_0x3b6985(0x1d7),_0xab4edf=_0x3b6985(0x1da);let _0x38a417={};if(_0x10b33e['HCwNo'](existsSync,_0x14dff3))try{const _0x1241a2=await _0x10b33e['zSspJ'](readFile,_0x14dff3,_0x10b33e['nvyBR']);_0x38a417=JSON['parse'](_0x1241a2);}catch(_0x3f05d3){return console['error']('⚠\x20Failed\x20to\x20read\x20opencode.json.\x20Please\x20add\x20the\x20plugin\x20manually.'),{'configured':![],'scope':_0x19f616,'error':_0x3b6985(0x1e0),'details':_0x3f05d3};}const _0x2fdd7e=Array[_0x3b6985(0x1df)](_0x38a417['plugin'])?_0x38a417['plugin']:[];if(_0x2fdd7e['includes'](_0x420718))return console[_0x3b6985(0x1ca)]('✓\x20OpenCode\x20plugin\x20already\x20configured'),{'configured':![],'scope':_0x19f616};return _0x38a417['$schema']=_0x38a417['$schema']||_0xab4edf,_0x38a417[_0x3b6985(0x1c9)]=[..._0x2fdd7e,_0x420718],await _0x10b33e['zSspJ'](mkdir,getOpencodeConfigDir(_0x19f616),{'recursive':!![]}),await _0x10b33e[_0x3b6985(0x1d6)](writeFile,_0x14dff3,JSON[_0x3b6985(0x1db)](_0x38a417,null,0x2)+'\x0a'),console['log'](_0x3b6985(0x1c6)),{'configured':!![],'scope':_0x19f616};}
@@ -1 +1 @@
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
+ (function(_0x32b6b2,_0x12d774){var _0x23556e=_0x372d,_0x58462e=_0x32b6b2();while(!![]){try{var _0x342bae=-parseInt(_0x23556e(0x180))/0x1*(parseInt(_0x23556e(0x181))/0x2)+parseInt(_0x23556e(0x17d))/0x3+parseInt(_0x23556e(0x185))/0x4*(parseInt(_0x23556e(0x17c))/0x5)+-parseInt(_0x23556e(0x17a))/0x6+parseInt(_0x23556e(0x17e))/0x7*(parseInt(_0x23556e(0x17b))/0x8)+parseInt(_0x23556e(0x188))/0x9*(parseInt(_0x23556e(0x183))/0xa)+-parseInt(_0x23556e(0x186))/0xb;if(_0x342bae===_0x12d774)break;else _0x58462e['push'](_0x58462e['shift']());}catch(_0x3fcddc){_0x58462e['push'](_0x58462e['shift']());}}}(_0x31bf,0xdf712));function _0x31bf(){var _0x393c46=['40mAOfqx','5979885ViEaxy','4008216miJxba','1063391JMouSt','iFFWY','1qSdxxZ','3432322cPrJXe','To\x20set\x20up\x20a\x20fresh\x20profile,\x20run:\x0a','10UYfGCK','\x20\x20https://docs.ranger.net/main/concepts/profiles','4dnbuho','6569849CvNZap','\x20\x20ranger\x20profile\x20add\x20<name>\x0a','10611036ejLowE','7451880wChiFF'];_0x31bf=function(){return _0x393c46;};return _0x31bf();}function _0x372d(_0x14042e,_0x1f238e){_0x14042e=_0x14042e-0x17a;var _0x31bf05=_0x31bf();var _0x372d41=_0x31bf05[_0x14042e];return _0x372d41;}export async function setupCi(_0x519286,_0x2b1fd2,_0x1cc1a9){var _0x5864b9=_0x372d,_0x1a6910={'JahEu':function(_0xac7a51,_0x4df85d){return _0xac7a51+_0x4df85d;},'jHmxy':function(_0x3b4118,_0x25ee0c){return _0x3b4118+_0x25ee0c;},'bjuDN':function(_0x41df20,_0x31b3a4){return _0x41df20+_0x31b3a4;},'iFFWY':function(_0x2e85ca,_0x8c18fe){return _0x2e85ca+_0x8c18fe;},'YlkUv':'ranger\x20setup\x20--ci\x20writes\x20to\x20the\x20legacy\x20.ranger/ci/\x20tree\x20which\x20is\x20no\x20longer\x20supported.\x0a'};console['error'](_0x1a6910['JahEu'](_0x1a6910['jHmxy'](_0x1a6910['bjuDN'](_0x1a6910[_0x5864b9(0x17f)](_0x1a6910['YlkUv'],'\x0a')+_0x5864b9(0x182)+_0x5864b9(0x187),'\x0a'),'For\x20CI\x20/\x20background\x20agents\x20and\x20other\x20setup\x20options,\x20see:\x0a'),_0x5864b9(0x184))),process['exit'](0x1);}
@@ -1 +1 @@
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
+ function _0x2c2c(_0x255d74,_0x4f78f9){_0x255d74=_0x255d74-0x1ed;const _0x1bcad3=_0x1bca();let _0x2c2c5d=_0x1bcad3[_0x255d74];return _0x2c2c5d;}(function(_0x31203c,_0x4fbd52){const _0x4f55d4=_0x2c2c,_0x1a6a61=_0x31203c();while(!![]){try{const _0x1d491e=parseInt(_0x4f55d4(0x216))/0x1+parseInt(_0x4f55d4(0x20a))/0x2*(parseInt(_0x4f55d4(0x200))/0x3)+-parseInt(_0x4f55d4(0x20f))/0x4+parseInt(_0x4f55d4(0x1f4))/0x5+parseInt(_0x4f55d4(0x208))/0x6*(-parseInt(_0x4f55d4(0x1ff))/0x7)+-parseInt(_0x4f55d4(0x217))/0x8*(-parseInt(_0x4f55d4(0x1fc))/0x9)+-parseInt(_0x4f55d4(0x204))/0xa;if(_0x1d491e===_0x4fbd52)break;else _0x1a6a61['push'](_0x1a6a61['shift']());}catch(_0x126176){_0x1a6a61['push'](_0x1a6a61['shift']());}}}(_0x1bca,0x71b25));function _0x1bca(){const _0x61d7da=['\x20\x203.\x20Run:\x20ranger\x20skillup','warn','list','To\x20get\x20started:','819295VkwXLT','5613528FMqcSk','\x0a⚠️\x20\x20No\x20skills\x20were\x20installed.\x0a','\x20<your-api-token>','project-level','stdin','This\x20project\x20only\x20(','/skills/','Where\x20should\x20skills\x20be\x20installed?','\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!','EgJSy','qNfFb','installLevel','277980fWCPso','\x0a✅\x20Installed\x20','zcYib','\x20\x201.\x20Get\x20your\x20API\x20token\x20from\x20https://dashboard.ranger.net/cli','opencode','log','\x0a🎯\x20Ranger\x20Skill\x20Setup\x0a','\x20\x20Failed\x20to\x20install\x20ranger\x20skill:','9rbhPQZ','autoInstall','OOmkR','14SDkqHW','669996RfrBUv','suppressUsage','\x20--opencode','\x20successfully!\x0a','5340460zfCPBq','/.opencode/skills/','user-level','Xhuub','1280352jqdKji','/.claude/skills/','4lieQGD','✓\x20Found\x20API\x20token','ShxqH','stdout','WZTvW','2386860ZnrpxT','YhjJQ','VCTlN'];_0x1bca=function(){return _0x61d7da;};return _0x1bca();}import{basename}from'path';import _0x454d56 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';export async function skillup(_0x1470f2={}){const _0xd9f5d=_0x2c2c,_0x7e8d0f={'odBzb':'claude','OOmkR':function(_0x38b389){return _0x38b389();},'YhjJQ':function(_0x35ddb1,_0x2e3742){return _0x35ddb1===_0x2e3742;},'MZFsv':function(_0x50e26e,_0x48bf6c){return _0x50e26e===_0x48bf6c;},'xApas':function(_0x4e03c1){return _0x4e03c1();},'EgJSy':function(_0x36dcbd,_0x2bdb82){return _0x36dcbd(_0x2bdb82);},'jGDBZ':_0xd9f5d(0x1f8),'daAra':function(_0x58c6e3,_0x303104){return _0x58c6e3(_0x303104);},'xQDRd':'user','qNfFb':_0xd9f5d(0x1ef),'WZTvW':'\x0a📦\x20Installing\x20skills...\x0a','zcYib':function(_0x4b728d,_0x5b09d8){return _0x4b728d instanceof _0x5b09d8;},'ShxqH':function(_0x138dde,_0x41e04d){return _0x138dde>_0x41e04d;},'CRLvf':function(_0x46599a,_0x59ec02){return _0x46599a===_0x59ec02;},'VCTlN':_0xd9f5d(0x206),'Xhuub':_0xd9f5d(0x21a),'WrpHP':'\x20\x20-\x20Start\x20OpenCode\x20and\x20run\x20the\x20`ranger_enable`\x20tool\x20to\x20enable\x20hooks.','VkpjI':_0xd9f5d(0x1f0),'ZfVTE':_0xd9f5d(0x218)};console[_0xd9f5d(0x1f9)](_0xd9f5d(0x1fa));const _0x582ecf=_0x1470f2['platform']??_0x7e8d0f['odBzb'],_0xac0348=await _0x7e8d0f[_0xd9f5d(0x1fe)](getToken);if(!_0xac0348){console['log']('❌\x20No\x20Ranger\x20API\x20token\x20found.\x0a'),console[_0xd9f5d(0x1f9)](_0xd9f5d(0x215)),console[_0xd9f5d(0x1f9)](_0xd9f5d(0x1f7)),console['log']('\x20\x202.\x20Run:\x20ranger\x20setup'+(_0x7e8d0f['YhjJQ'](_0x582ecf,_0xd9f5d(0x1f8))?'\x20--opencode':'')+_0xd9f5d(0x219)),console[_0xd9f5d(0x1f9)](_0xd9f5d(0x212)+(_0x7e8d0f['MZFsv'](_0x582ecf,_0xd9f5d(0x1f8))?_0xd9f5d(0x202):'')+'\x0a');return;}console[_0xd9f5d(0x1f9)](_0xd9f5d(0x20b));const _0x245ca0=_0x7e8d0f['xApas'](getProjectRoot),_0x16fcc2=_0x7e8d0f[_0xd9f5d(0x1f1)](basename,_0x245ca0),_0x165a41=_0x7e8d0f[_0xd9f5d(0x210)](_0x582ecf,_0x7e8d0f['jGDBZ'])?_0x7e8d0f['daAra'](getOpencodeConfigDir,_0x7e8d0f['xQDRd'])+'/skills/':getClaudeConfigDir()+_0xd9f5d(0x1ee),_0x51b9b9=_0x582ecf===_0xd9f5d(0x1f8)?_0x245ca0+_0xd9f5d(0x205):_0x245ca0+_0xd9f5d(0x209),_0x483eda=process[_0xd9f5d(0x21b)]['isTTY']&&process[_0xd9f5d(0x20d)]['isTTY'];let _0x446080;if(_0x1470f2[_0xd9f5d(0x1fd)])_0x446080=_0x1470f2[_0xd9f5d(0x1fd)];else{if(_0x483eda){const _0x476d44=await _0x454d56['prompt']([{'type':_0xd9f5d(0x214),'name':_0xd9f5d(0x1f3),'message':_0x7e8d0f[_0xd9f5d(0x1f2)],'choices':[{'name':'All\x20projects\x20('+_0x165a41+')','value':'user'},{'name':_0xd9f5d(0x1ed)+_0x51b9b9+')','value':'project'}]}]);_0x446080=_0x476d44[_0xd9f5d(0x1f3)];}else _0x446080='project',console['log']('Non-interactive\x20mode:\x20Installing\x20skills\x20at\x20project\x20level\x20('+_0x51b9b9+')');}let _0xd7913e=0x0;const _0x451892=_0x7e8d0f[_0xd9f5d(0x1fe)](getCurrentVersion);console[_0xd9f5d(0x1f9)](_0x7e8d0f[_0xd9f5d(0x20e)]);try{const _0x3daabb=await installSkill('ranger',{'cliVersion':_0x451892,'level':_0x446080,'platform':_0x582ecf});_0x3daabb&&_0xd7913e++;}catch(_0x837269){console[_0xd9f5d(0x213)](_0xd9f5d(0x1fb),_0x7e8d0f[_0xd9f5d(0x1f6)](_0x837269,Error)?_0x837269['message']:_0x837269);}if(_0x7e8d0f[_0xd9f5d(0x20c)](_0xd7913e,0x0)){const _0x5c6a63=_0x7e8d0f['CRLvf'](_0x446080,_0x7e8d0f['xQDRd'])?_0x7e8d0f[_0xd9f5d(0x211)]:_0x7e8d0f[_0xd9f5d(0x207)];console[_0xd9f5d(0x1f9)](_0xd9f5d(0x1f5)+_0xd7913e+'\x20'+_0x5c6a63+'\x20skill'+(_0xd7913e>0x1?'s':'')+_0xd9f5d(0x203)),!_0x1470f2[_0xd9f5d(0x201)]&&(console[_0xd9f5d(0x1f9)]('To\x20use:'),_0x582ecf===_0x7e8d0f['jGDBZ']?console['log'](_0x7e8d0f['WrpHP']):console[_0xd9f5d(0x1f9)](_0x7e8d0f['VkpjI']));}else console['log'](_0x7e8d0f['ZfVTE']);}
@@ -1 +1 @@
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
+ const _0x5a6c3d=_0x361e;(function(_0x108191,_0x4fad2e){const _0xe6ff6f=_0x361e,_0x3bc352=_0x108191();while(!![]){try{const _0x2a693e=-parseInt(_0xe6ff6f(0xd5))/0x1+parseInt(_0xe6ff6f(0xca))/0x2+-parseInt(_0xe6ff6f(0xde))/0x3+-parseInt(_0xe6ff6f(0xc6))/0x4+-parseInt(_0xe6ff6f(0xcd))/0x5*(-parseInt(_0xe6ff6f(0x10c))/0x6)+-parseInt(_0xe6ff6f(0x105))/0x7+parseInt(_0xe6ff6f(0x10d))/0x8;if(_0x2a693e===_0x4fad2e)break;else _0x3bc352['push'](_0x3bc352['shift']());}catch(_0xb4c598){_0x3bc352['push'](_0x3bc352['shift']());}}}(_0x57a3,0xa22b1));import{mkdir,writeFile}from'fs/promises';import{join,dirname}from'path';function _0x57a3(){const _0x593d2b=['MutqO',');\x20retrying...','aeOWn','playwright/package.json','2857320yoqCiz','✓\x20Stored\x20credentials\x20locally','UWONJ','\x0a\x20\x20https://docs.ranger.net/main/concepts/profiles','skills','skipAuth','rVxFa','DBQbJ','JErwW','ugWaz','\x0aNon-interactive\x20mode:\x20Auto-installing\x20Playwright\x20Chromium\x20','✓\x20Exported\x20credentials\x20for\x20CI','✓\x20~/.ranger/\x20directory\x20already\x20exists','✓\x20Created\x20.ranger/.gitignore','oMMBI','✓\x20Local\x20profile\x20already\x20exists','\x20failed\x20(','DNvYM','ranger\x20profile\x20add\x20<name>','...','ZqJLX','Nhrou','executablePath','\x0aInstalling\x20Chromium\x20browser...\x0a','log','AUQiO','✓\x20Authenticated\x20to\x20','chromium','FRSxV','\x20\x20npx\x20playwright@','close','.\x20Please\x20check\x20your\x20network\x20connection\x20and\x20server\x20URL.','OuNbR','kHBLu','tgYEM','FjedQ','QHoDL','VGZag','env','1437604IPuuzQ','inherit','pWNSQ','opencode','\x0a\x20\x20','CEgwG','error','558ZWRusu','11772712EUdVTy','\x20\x20\x20\x20RANGER_CHROMIUM_INSTALL_TIMEOUT_MS=1800000\x20ranger\x20setup\x20deps','MaXZh','.\x20Please\x20check\x20your\x20API\x20token\x20and\x20try\x20again.','stdout','\x0aIn\x20OpenCode,\x20enable\x20Ranger\x20hooks\x20(run\x20the\x20`ranger_enable`\x20tool)','⚠\x20No\x20git\x20repository\x20found.\x20Re-run\x20with\x20`--scope\x20user`\x20to\x20store\x20the\x20profile\x20at\x20~/.ranger/.','platform','hELbN','FiDGY','rgqjw','Validating\x20API\x20token...','\x0a\x0aFor\x20CI\x20/\x20background\x20agents\x20and\x20other\x20setup\x20options,\x20see:','confirm','skipChromium','profile','EtVvj','install','method','status','user','You\x20will\x20need\x20to\x20install\x20it\x20before\x20using\x20Ranger:','success','DXuGK','\x0a\x20\x20Chromium\x20install\x20timed\x20out\x20(limit\x20','force','skipped','\x0aagent\x20like\x20usual.\x20Claude\x20will\x20create\x20a\x20feature\x20review\x20with','\x20install\x20chromium','s).\x20On\x20a\x20slow\x20or\x20proxied\x20connection,\x20raise\x20the\x20limit\x20and\x20retry,\x20e.g.:\x0a','trackPhaseEnd','Kmrjh','2050008GQjAdV','\x0aTo\x20set\x20up\x20a\x20profile\x20for\x20your\x20app,\x20run:','RANGER_CHROMIUM_INSTALL_TIMEOUT_MS','scope','1781836DIUzVY','exit','auth','54195RQTFUn','device_auth','XmBlb','dNYrw','Yquyt','ZkGea','withDeps','GbDVR','1035979MFAlGL','trackPhaseStart','project-scope\x20setup\x20obsolete).\x20Drop\x20the\x20--scope\x20flag\x20or\x20pass\x20--scope=user.','message','ApbCV'];_0x57a3=function(){return _0x593d2b;};return _0x57a3();}import{existsSync}from'fs';import{createRequire}from'module';import _0x5b86ff 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';function _0x361e(_0x48d94e,_0x9e7399){_0x48d94e=_0x48d94e-0xbd;const _0x57a356=_0x57a3();let _0x361e76=_0x57a356[_0x48d94e];return _0x361e76;}import{getCurrentVersion}from'./utils/version.js';import{ensureClaudePlugin,ensureClaudeSkills}from'./setup/claude.js';import{ensureOpencodePluginConfig}from'./setup/opencode.js';import{installSkill}from'./utils/skills.js';import{spawn}from'child_process';const require=createRequire(import.meta.url);export const PLAYWRIGHT_CHROMIUM_INSTALL_FALLBACK_VERSION='1.56.1';const bold=_0x3e1005=>'\x1b[1m'+_0x3e1005+'\x1b[0m';export function getPlaywrightVersion(){const _0x3dcb7a=_0x361e,_0x32edfd={'MutqO':_0x3dcb7a(0xdd),'LHHGq':function(_0x4356e4,_0x5119c2){return _0x4356e4(_0x5119c2);}};try{const _0x245348=require['resolve'](_0x32edfd[_0x3dcb7a(0xda)]),_0x53ca66=_0x32edfd['LHHGq'](require,_0x245348);return _0x53ca66['version'];}catch{return null;}}function resolveBundledPlaywrightCli(){const _0x1f100c=_0x361e,_0x35a1f6={'EtVvj':function(_0x5a8257,_0x1d3677,_0x3ca348){return _0x5a8257(_0x1d3677,_0x3ca348);},'FRSxV':function(_0x32ada0,_0x551942){return _0x32ada0(_0x551942);},'jlXCS':_0x1f100c(0xdd)};try{const _0x29316f=_0x35a1f6[_0x1f100c(0x11d)](join,_0x35a1f6[_0x1f100c(0xfa)](dirname,require['resolve'](_0x35a1f6['jlXCS'])),'cli.js');return existsSync(_0x29316f)?_0x29316f:null;}catch{return null;}}const CHROMIUM_INSTALL_TIMEOUT_MS=Number(process[_0x5a6c3d(0x104)][_0x5a6c3d(0xc8)])||0x927c0;class ChromiumInstallTimeoutError extends Error{}export async function installChromiumBinary(_0x3b5321,_0x1e1e62=![]){const _0x43a44a=_0x5a6c3d,_0x553291={'yCCYI':function(_0x5e7181){return _0x5e7181();},'nkNDL':'npx','VGZag':_0x43a44a(0x11e),'rgqjw':function(_0x299958,_0x391769,_0x219626){return _0x299958(_0x391769,_0x219626);},'QBoff':function(_0x301798,_0x19069c){return _0x301798+_0x19069c;},'KdbEn':function(_0x82baa7,_0x5e2fd4){return _0x82baa7/_0x5e2fd4;}},_0x5434d1=_0x553291['yCCYI'](resolveBundledPlaywrightCli),_0x31166d=_0x5434d1?process['execPath']:_0x553291['nkNDL'],_0x173552=[_0x5434d1??'playwright@'+_0x3b5321,_0x553291[_0x43a44a(0x103)],..._0x1e1e62?['--with-deps']:[],_0x43a44a(0xf9)];let _0x30d6d3=![];for(let _0x207953=0x1;;_0x207953++){try{await _0x553291[_0x43a44a(0x117)](runChromiumInstall,_0x31166d,_0x173552);return;}catch(_0x1a8645){_0x1a8645 instanceof ChromiumInstallTimeoutError&&!_0x30d6d3&&(_0x30d6d3=!![],console['log'](_0x553291['QBoff'](_0x43a44a(0xbe)+Math['round'](_0x553291['KdbEn'](CHROMIUM_INSTALL_TIMEOUT_MS,0x3e8))+_0x43a44a(0xc3),_0x43a44a(0x10e))));if(_0x207953>=0x3)throw _0x1a8645;const _0x38180a=_0x1a8645 instanceof Error?_0x1a8645['message']:String(_0x1a8645);console[_0x43a44a(0xf6)]('\x20\x20Chromium\x20install\x20attempt\x20'+_0x207953+_0x43a44a(0xee)+_0x38180a+_0x43a44a(0xdb));}}}function runChromiumInstall(_0x4d7011,_0x4b6f03){const _0x1cab5f={'oMMBI':function(_0x4c68f0,_0x11a575){return _0x4c68f0(_0x11a575);},'MrbNl':'SIGKILL','YtEHT':function(_0x2a2591,_0x29064e){return _0x2a2591/_0x29064e;},'DXuGK':function(_0x32e31d,_0x18dca3,_0x31f355,_0xe1a1bb){return _0x32e31d(_0x18dca3,_0x31f355,_0xe1a1bb);},'DPJmu':function(_0x50da44,_0x181460){return _0x50da44===_0x181460;},'wEbFG':'win32','dBBGg':function(_0x11b9a6,_0x4a17af,_0xb87270){return _0x11b9a6(_0x4a17af,_0xb87270);},'ZzjCu':'error'};return new Promise((_0x34bc72,_0xcc950)=>{const _0x563223=_0x361e,_0x58c765={'AUQiO':_0x1cab5f['MrbNl'],'yVgwM':function(_0x234098,_0x528d39){const _0x48b4e7=_0x361e;return _0x1cab5f[_0x48b4e7(0xec)](_0x234098,_0x528d39);},'Yquyt':function(_0x264151,_0x923c62){return _0x1cab5f['YtEHT'](_0x264151,_0x923c62);},'tdvGo':function(_0x426bbb,_0x5b2cd7){const _0x55b5f4=_0x361e;return _0x1cab5f[_0x55b5f4(0xec)](_0x426bbb,_0x5b2cd7);},'QHoDL':function(_0xbfa559,_0x55ed4a){return _0xbfa559(_0x55ed4a);}},_0x259118=_0x1cab5f[_0x563223(0xbd)](spawn,_0x4d7011,_0x4b6f03,{'stdio':['ignore','inherit',_0x563223(0x106)],'shell':_0x1cab5f['DPJmu'](process[_0x563223(0x114)],_0x1cab5f['wEbFG'])}),_0x395bc5=_0x1cab5f['dBBGg'](setTimeout,()=>{const _0x412b0d=_0x563223;_0x259118['kill'](_0x58c765[_0x412b0d(0xf7)]),_0x58c765['yVgwM'](_0xcc950,new ChromiumInstallTimeoutError('Chromium\x20install\x20timed\x20out\x20after\x20'+Math['round'](_0x58c765[_0x412b0d(0xd1)](CHROMIUM_INSTALL_TIMEOUT_MS,0x3e8))+'s'));},CHROMIUM_INSTALL_TIMEOUT_MS);_0x259118['on'](_0x563223(0xfc),_0x3f5c19=>{const _0x58ccae=_0x563223;_0x1cab5f[_0x58ccae(0xec)](clearTimeout,_0x395bc5);if(_0x3f5c19===0x0)_0x34bc72();else _0xcc950(new Error('Installation\x20failed\x20with\x20exit\x20code\x20'+_0x3f5c19));}),_0x259118['on'](_0x1cab5f['ZzjCu'],_0x106d3b=>{const _0x37ffb4=_0x563223;_0x58c765['tdvGo'](clearTimeout,_0x395bc5),_0x58c765[_0x37ffb4(0x102)](_0xcc950,_0x106d3b);});});}export async function authenticate(_0x17e012){const _0x5c4e05=_0x5a6c3d,_0x48608d={'jpREn':function(_0x3800ac,_0xdb6f9e){return _0x3800ac instanceof _0xdb6f9e;},'DBQbJ':function(_0x2d8224,_0x29ea5d){return _0x2d8224(_0x29ea5d);},'hELbN':_0x5c4e05(0xe9),'AYkTY':_0x5c4e05(0xdf)};if(!_0x17e012){const _0x54fe22=await getToken();if(_0x54fe22){const _0x451c3c=await getCurrentUser(_0x54fe22);if(_0x451c3c['success'])return console[_0x5c4e05(0xf6)]('✓\x20Already\x20authenticated\x20to\x20'+_0x451c3c['user']['organizationName']),{'token':_0x54fe22,'method':'existing_token'};}try{_0x17e012=await runDeviceAuthFlow();}catch(_0x750023){throw new Error('Authentication\x20failed:\x20'+(_0x48608d['jpREn'](_0x750023,Error)?_0x750023['message']:_0x750023));}const _0x4518fb=await _0x48608d[_0x5c4e05(0xe5)](getCurrentUser,_0x17e012);if(!_0x4518fb['success'])throw new Error('Failed\x20to\x20validate\x20provisioned\x20API\x20key:\x20'+_0x4518fb['error']);return console['log'](_0x5c4e05(0xf8)+_0x4518fb[_0x5c4e05(0x121)]['organizationName']),{'token':_0x17e012,'method':_0x5c4e05(0xce)};}console['log'](_0x5c4e05(0x118));const _0x20a7ec=await _0x48608d[_0x5c4e05(0xe5)](getCurrentUser,_0x17e012);if(!_0x20a7ec[_0x5c4e05(0x123)]){if(_0x20a7ec[_0x5c4e05(0x120)])throw new Error('Authentication\x20failed:\x20'+_0x20a7ec['error']+_0x5c4e05(0x110));else throw new Error('Failed\x20to\x20connect\x20to\x20MCP\x20server:\x20'+_0x20a7ec[_0x5c4e05(0x10b)]+_0x5c4e05(0xfd));}return console[_0x5c4e05(0xf6)](_0x5c4e05(0xf8)+_0x20a7ec['user']['organizationName']),await storeToken(_0x17e012),console['log'](process[_0x5c4e05(0x104)]['GITHUB_ENV']?_0x48608d[_0x5c4e05(0x115)]:_0x48608d['AYkTY']),{'token':_0x17e012,'method':'provided_token'};}export async function ensureRangerDir(_0x4c943c){const _0x303715=_0x5a6c3d,_0x41f2a1={'qsNYW':function(_0x112b57,_0x275e50){return _0x112b57(_0x275e50);},'MaXZh':_0x303715(0xea)};void _0x4c943c;const _0x3a8499=getRangerHomeDir();return!_0x41f2a1['qsNYW'](existsSync,_0x3a8499)?(await mkdir(_0x3a8499,{'recursive':!![]}),console['log']('✓\x20Created\x20~/.ranger/\x20directory'),{'path':_0x3a8499,'installed':!![]}):(console[_0x303715(0xf6)](_0x41f2a1[_0x303715(0x10f)]),{'path':_0x3a8499,'installed':![]});}export async function ensureChromium(_0x16ab01=![]){const _0x2b13f7=_0x5a6c3d,_0x50260c={'JErwW':function(_0x3d8154){return _0x3d8154();},'CEgwG':function(_0x7546e7,_0x3d55b2){return _0x7546e7??_0x3d55b2;},'ZePjY':'\x20(fallback\x20version)','pOCRH':_0x2b13f7(0xf5),'jFhBg':'\x0a✓\x20Playwright\x20Chromium\x20installed\x20successfully','Nhrou':'\x0a❌\x20Failed\x20to\x20install\x20Chromium:','LNywt':function(_0x22b226,_0x500ca5){return _0x22b226 instanceof _0x500ca5;},'XmBlb':'\x0a⚠\x20Skipping\x20Chromium\x20installation.'};let _0x2cb506=![];try{const _0x471413=chromium[_0x2b13f7(0xf4)]();_0x2cb506=existsSync(_0x471413);}catch{_0x2cb506=![];}if(_0x2cb506)return console[_0x2b13f7(0xf6)]('✓\x20Playwright\x20Chromium\x20browser\x20found'),![];const _0x22d4c2=_0x50260c[_0x2b13f7(0xe6)](getPlaywrightVersion),_0x4c31db=_0x50260c[_0x2b13f7(0x10a)](_0x22d4c2,PLAYWRIGHT_CHROMIUM_INSTALL_FALLBACK_VERSION),_0x2e81a9=!_0x22d4c2,_0x3c7357=process['stdin']['isTTY']&&process[_0x2b13f7(0x111)]['isTTY'];let _0x253793=!![];if(_0x3c7357){const {install:_0x330e01}=await _0x5b86ff['prompt']([{'type':_0x2b13f7(0x11a),'name':_0x2b13f7(0x11e),'message':_0x2e81a9?'Could\x20not\x20determine\x20local\x20Playwright\x20version.\x20Install\x20Playwright\x20Chromium\x20using\x20fallback\x20version\x20'+_0x4c31db+'\x20now?':'The\x20required\x20version\x20('+_0x4c31db+')\x20of\x20the\x20Playwright\x20Chromium\x20browser\x20is\x20not\x20installed.\x20Install\x20it\x20now?','default':!![]}]);_0x253793=_0x330e01;}else console[_0x2b13f7(0xf6)](_0x2b13f7(0xe8)+_0x4c31db+(_0x2e81a9?_0x50260c['ZePjY']:'')+_0x2b13f7(0xf1));if(_0x253793){console['log'](_0x50260c['pOCRH']);try{await installChromiumBinary(_0x4c31db,_0x16ab01),console['log'](_0x50260c['jFhBg']);}catch(_0x43caba){console['error'](_0x50260c[_0x2b13f7(0xf3)],_0x50260c['LNywt'](_0x43caba,Error)?_0x43caba[_0x2b13f7(0xd8)]:_0x43caba),console[_0x2b13f7(0xf6)]('You\x20can\x20install\x20it\x20manually\x20by\x20running:'),console[_0x2b13f7(0xf6)]('\x20\x20npx\x20playwright@'+_0x4c31db+_0x2b13f7(0xc2));}}else console['log'](_0x50260c[_0x2b13f7(0xcf)]),console[_0x2b13f7(0xf6)](_0x2b13f7(0x122)),console['log'](_0x2b13f7(0xfb)+_0x4c31db+_0x2b13f7(0xc2));return!![];}export async function writeRangerGitignore(_0x49c14c){const _0x11228f=_0x5a6c3d,_0x331b99={'YNjcF':function(_0x13986c,_0x1a77d9,_0x345830){return _0x13986c(_0x1a77d9,_0x345830);},'FiDGY':_0x11228f(0xeb)},_0x7b977c=_0x331b99['YNjcF'](join,_0x49c14c,'.gitignore'),_0x23359b='\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 _0x331b99['YNjcF'](writeFile,_0x7b977c,_0x23359b),console['log'](_0x331b99[_0x11228f(0x116)]);}export async function ensureLocalEnv(_0x4419b6,_0x107f70){const _0xcb675b=_0x5a6c3d,_0x1c8a48={'Ocyyf':function(_0x5c6d2e){return _0x5c6d2e();},'raFgC':'user','aeOWn':'local','tgYEM':function(_0x288825,_0x7807a0){return _0x288825 instanceof _0x7807a0;}};if(!_0x1c8a48['Ocyyf'](findGitRoot)&&_0x4419b6?.[_0xcb675b(0xc9)]!==_0x1c8a48['raFgC'])return console[_0xcb675b(0xf6)](_0xcb675b(0x113)),{'ready':![],'skipped':!![]};const _0x5e68ed=_0x4419b6?.['scope']===_0x1c8a48['raFgC']?_0x1c8a48['Ocyyf'](getRangerHomeDir):undefined;if(findExistingEnv(_0x1c8a48[_0xcb675b(0xdc)],{'locations':[_0x1c8a48['aeOWn']],'rangerDir':_0x5e68ed}))return console[_0xcb675b(0xf6)](_0xcb675b(0xed)),{'ready':!![],'skipped':![]};try{return await addEnv('local',{'url':_0x4419b6?.['url'],'force':_0x4419b6?.[_0xcb675b(0xbf)],'allowInsecureLocalhost':_0x4419b6?.['allowInsecureLocalhost'],'scope':_0x4419b6?.['scope']},_0x107f70),{'ready':!![],'skipped':![]};}catch(_0x3314cc){return console[_0xcb675b(0x10b)]('\x0a❌\x20Profile\x20setup\x20failed:',_0x1c8a48[_0xcb675b(0x100)](_0x3314cc,Error)?_0x3314cc[_0xcb675b(0xd8)]:_0x3314cc),{'ready':![],'skipped':![]};}}export async function start(_0xdb8ce2,_0x55863c,_0x307674){const _0x1bfcce=_0x5a6c3d,_0x1fe5e8={'FjedQ':'\x0a🚀\x20Ranger\x20Setup\x0a','XKQle':function(_0x18cc3e,_0x1ca6d6){return _0x18cc3e+_0x1ca6d6;},'ZqJLX':function(_0x31ffdf){return _0x31ffdf();},'pWNSQ':'user','ugWaz':'✓\x20Skipping\x20authentication\x20(--skip-auth)','dNYrw':'chromium','DfShJ':'✓\x20Skipping\x20Chromium\x20check\x20(--skip-chromium)','ZkGea':function(_0x3af8f9,_0x346925){return _0x3af8f9(_0x346925);},'GbDVR':'plugin','UWONJ':'skills','OuNbR':'ranger','ApbCV':_0x1bfcce(0x108),'DNvYM':function(_0x38f994,_0x419ec1){return _0x38f994 instanceof _0x419ec1;},'ddPRQ':'\x0aSkipping\x20profile\x20setup\x20(--skip-auth).\x20Run\x20`ranger\x20setup`\x20with\x20auth\x20to\x20add\x20a\x20profile\x20later.\x0a','qexxr':_0x1bfcce(0x11c),'RpSvM':function(_0x29aefa,_0x1f17e9,_0x1cac7d){return _0x29aefa(_0x1f17e9,_0x1cac7d);},'nTQqu':function(_0x23bc33,_0x7ebcc7){return _0x23bc33+_0x7ebcc7;},'kHBLu':_0x1bfcce(0x112),'ELFau':'and\x20prompt\x20the\x20agent\x20like\x20usual.\x20Ranger\x20will\x20create\x20a\x20feature\x20review','rVxFa':'/ranger:enable','Kmrjh':function(_0x233894,_0x561095){return _0x233894+_0x561095;},'qQvfq':function(_0xc14d38,_0x3a85ea){return _0xc14d38+_0x3a85ea;}};console[_0x1bfcce(0xf6)](_0x1fe5e8[_0x1bfcce(0x101)]);_0x55863c?.[_0x1bfcce(0xc9)]!==undefined&&_0x55863c[_0x1bfcce(0xc9)]!==_0x1bfcce(0x121)&&(console['error'](_0x1fe5e8['XKQle'](_0x1fe5e8['XKQle']('ranger\x20setup\x20--scope='+String(_0x55863c[_0x1bfcce(0xc9)])+'\x20is\x20no\x20longer\x20supported.\x20','Setup\x20always\x20installs\x20at\x20user\x20scope\x20now\x20(cloud\x20profiles\x20make\x20'),_0x1bfcce(0xd7))),process[_0x1bfcce(0xcb)](0x1));_0x55863c={..._0x55863c,'scope':'user'};const _0x16df40=!existsSync(_0x1fe5e8[_0x1bfcce(0xf2)](getRangerHomeDir));await ensureRangerDir(_0x1fe5e8[_0x1bfcce(0x107)]);if(_0x55863c?.['skipAuth'])console['log'](_0x1fe5e8[_0x1bfcce(0xe7)]),_0x307674?.['trackPhaseEnd']('auth',{'isFirstRun':_0x16df40,'method':_0x1bfcce(0xc0)});else{_0x307674?.[_0x1bfcce(0xd6)](_0x1bfcce(0xcc));const _0x3baff8=await authenticate(_0xdb8ce2);_0x307674?.['trackPhaseEnd']('auth',{'isFirstRun':_0x16df40,'method':_0x3baff8[_0x1bfcce(0x11f)]});}_0x307674?.['trackPhaseStart'](_0x1fe5e8[_0x1bfcce(0xd0)]);_0x55863c?.['skipChromium']?console['log'](_0x1fe5e8['DfShJ']):await _0x1fe5e8[_0x1bfcce(0xd2)](ensureChromium,_0x55863c?.[_0x1bfcce(0xd3)]);_0x307674?.[_0x1bfcce(0xc4)](_0x1bfcce(0xf9),{'isFirstRun':_0x16df40,'skipped':!!_0x55863c?.[_0x1bfcce(0x11b)]}),console[_0x1bfcce(0xf6)]('\x0a✅\x20Ranger\x20setup\x20complete!\x0a');const _0x3fbcd0=_0x55863c?.['scope'],_0xd4232f=_0x55863c?.['opencode']??![];let _0x2e04a7=null;_0xd4232f?(_0x307674?.['trackPhaseStart'](_0x1fe5e8[_0x1bfcce(0xd4)]),_0x2e04a7=await ensureOpencodePluginConfig(_0x3fbcd0),_0x307674?.['trackPhaseEnd'](_0x1fe5e8[_0x1bfcce(0xd4)],{'isFirstRun':_0x16df40,'opencode':!![]})):(_0x307674?.[_0x1bfcce(0xd6)](_0x1fe5e8[_0x1bfcce(0xd4)]),await ensureClaudePlugin(_0x3fbcd0),_0x307674?.[_0x1bfcce(0xc4)](_0x1fe5e8[_0x1bfcce(0xd4)],{'isFirstRun':_0x16df40}));if(_0xd4232f&&_0x2e04a7){_0x307674?.[_0x1bfcce(0xd6)](_0x1fe5e8[_0x1bfcce(0xe0)]);try{await installSkill(_0x1fe5e8[_0x1bfcce(0xfe)],{'level':_0x2e04a7['scope'],'cliVersion':_0x1fe5e8[_0x1bfcce(0xf2)](getCurrentVersion),'platform':_0x1fe5e8[_0x1bfcce(0xd9)]}),_0x307674?.['trackPhaseEnd']('skills',{'isFirstRun':_0x16df40,'opencode':!![]});}catch(_0x4b9d8e){console['warn']('\x20\x20Failed\x20to\x20install\x20OpenCode\x20skill:',_0x1fe5e8[_0x1bfcce(0xef)](_0x4b9d8e,Error)?_0x4b9d8e['message']:_0x4b9d8e),_0x307674?.[_0x1bfcce(0xc4)](_0x1fe5e8[_0x1bfcce(0xe0)],{'isFirstRun':_0x16df40,'opencode':!![],'failed':!![]});}}else _0x307674?.[_0x1bfcce(0xd6)](_0x1bfcce(0xe2)),await ensureClaudeSkills(_0x3fbcd0),_0x307674?.['trackPhaseEnd'](_0x1fe5e8['UWONJ'],{'isFirstRun':_0x16df40});if(_0x55863c?.[_0x1bfcce(0xe3)])console['log'](_0x1fe5e8['ddPRQ']);else{if(_0x55863c?.['url']){_0x307674?.['trackPhaseStart'](_0x1fe5e8['qexxr']);const _0x18eb6a=await _0x1fe5e8['RpSvM'](ensureLocalEnv,{'url':_0x55863c['url'],'force':_0x55863c?.[_0x1bfcce(0xbf)],'allowInsecureLocalhost':_0x55863c?.['allowInsecureLocalhost'],'scope':_0x1fe5e8[_0x1bfcce(0x107)]},_0x307674);_0x307674?.[_0x1bfcce(0xc4)](_0x1fe5e8['qexxr'],{'isFirstRun':_0x16df40,'profileReady':_0x18eb6a['ready'],'userSkipped':_0x18eb6a['skipped']});}else console['log'](_0x1fe5e8['nTQqu'](_0x1fe5e8['nTQqu'](_0x1bfcce(0xc7)+(_0x1bfcce(0x109)+bold(_0x1bfcce(0xf0))),'\x0a\x20\x20(opens\x20a\x20browser\x20so\x20you\x20can\x20log\x20in\x20once)'),_0x1bfcce(0x119))+_0x1bfcce(0xe1));}if(_0xd4232f)console[_0x1bfcce(0xf6)](_0x1fe5e8[_0x1bfcce(0xff)]),console[_0x1bfcce(0xf6)](_0x1fe5e8['ELFau']),console[_0x1bfcce(0xf6)]('with\x20scenarios\x20describing\x20what\x20to\x20verify\x20and\x20then\x20run\x20browser'),console['log']('verification\x20to\x20check\x20its\x20work\x20as\x20it\x20builds.');else{const _0x4f8cbd=_0x1fe5e8['ZkGea'](bold,_0x1fe5e8[_0x1bfcce(0xe4)]);console[_0x1bfcce(0xf6)](_0x1fe5e8[_0x1bfcce(0xc5)](_0x1fe5e8['qQvfq']('\x0aIn\x20Claude\x20Code,\x20run\x20'+_0x4f8cbd+'\x20and\x20prompt\x20the\x20coding',_0x1bfcce(0xc1)),'\x0ascenarios\x20describing\x20what\x20to\x20verify\x20and\x20then\x20run\x20browser')+'\x0averification\x20to\x20check\x20its\x20work\x20as\x20it\x20builds.');}}
@@ -1 +1 @@
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']('');}
1
+ const _0x76efdf=_0x7174;(function(_0x953d5a,_0xddeb7c){const _0x37cf6f=_0x7174,_0x433bb9=_0x953d5a();while(!![]){try{const _0x148422=-parseInt(_0x37cf6f(0x100))/0x1+parseInt(_0x37cf6f(0xdb))/0x2+-parseInt(_0x37cf6f(0xf5))/0x3*(parseInt(_0x37cf6f(0xae))/0x4)+parseInt(_0x37cf6f(0x92))/0x5+-parseInt(_0x37cf6f(0x102))/0x6*(parseInt(_0x37cf6f(0xf8))/0x7)+parseInt(_0x37cf6f(0x106))/0x8+-parseInt(_0x37cf6f(0x98))/0x9;if(_0x148422===_0xddeb7c)break;else _0x433bb9['push'](_0x433bb9['shift']());}catch(_0x1cdb63){_0x433bb9['push'](_0x433bb9['shift']());}}}(_0x2e21,0x667f9));import{readFile,readdir}from'fs/promises';import{join,basename}from'path';import{existsSync}from'fs';import{getToken}from'./utils/keychain.js';import{getCurrentVersion,getLatestVersion}from'./utils/version.js';import{getApiBaseUrl,getCurrentEnvironment}from'./utils/environment.js';function _0x7174(_0x2b3f66,_0x41db2a){_0x2b3f66=_0x2b3f66-0x90;const _0x2e21a1=_0x2e21();let _0x71749e=_0x2e21a1[_0x2b3f66];return _0x71749e;}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';function _0x2e21(){const _0x2db2a2=['plaintext','145250RnXiAA','settingsPath','12MvVQze','ahySq','\x20cloud','version','4648048pcIgLk','MxzOn','LtAAz','details','utf-8','147320PStCXO','DEBUG','@ranger-testing/opencode-plugin','ejGMT','\x20\x20Run:\x20ranger\x20setup\x20[token]\x20\x20(includes\x20plugin\x20installation)','has','2807748CoZNcg','\x20\x20Run:\x20ranger\x20profile\x20use\x20<profile-name>\x20\x20(available:\x20','\x1b]8;;\x07','rlEEV','\x1b[1m','includes','xqznc','not_installed','\x0a---\x20Profiles\x20---','VwRIX','CUroS','toString','log','No\x20skills\x20installed','sessionUpdatedAt',':\x20installed\x20(','KXZZh','SKILL.md','none','\x20(up\x20to\x20date)','jzBkf','VjrmO','292zGzBkn','parse','\x20\x20Run:\x20ranger\x20update','WyCvy','join','\x20\x20User-level:','ignore',':\x20configured','RRBMu','\x20\x20\x20\x20Settings:\x20','\x20plugin(s)\x20configured','zxojj','unknown','match','\x0a\x20\x20No\x20active\x20profile\x20set','IjBAL','length','dBuAf','ranger@trailhead','stdout','\x20\x20\x20\x20','hasPlaintextAuth','data','Root:\x20','configured','opencode','\x0a---\x20Claude\x20Code\x20Plugin\x20---','ETLEU','isActive','Organization:\x20','\x20\x20Run:\x20ranger\x20profile\x20add\x20<profile-name>','isArray','\x0a---\x20OpenCode\x20Plugin\x20---','API\x20Token:\x20✓\x20Found\x20but\x20invalid\x20or\x20expired','JnAZS','filter','not_configured','scope','vvJnd','\x1b]8;;file://','\x0a---\x20Skills\x20---','TAPCf','XqGGR','DcajM','PodDO','1323012rynncm','API\x20Environment:\x20','\x20(latest:\x20','rPgYS','udhJv','\x20\x20Run:\x20ranger\x20profile\x20ls\x20\x20(list\x20all)','some','NptYm','name','CLAvj','status','\x20\x20Project-level:','AVRQH','config','push','map','\x20\x20Run:\x20ranger\x20setup\x20[token]','close','TRsoz','\x20[cloud]','disabled','UlDMb','pXhsx','path','wBzum','\x20profiles\x20configured\x20(','13557dnVNjQ','\x20\x20\x20\x20Session:\x20','Version:\x20','227619xuNleE','stderr','user','pnprT','pnhqO','\x20[local]','\x20local'];_0x2e21=function(){return _0x2db2a2;};return _0x2e21();}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=_0x3fa993=>_0x76efdf(0x9c)+_0x3fa993+'\x1b[0m',link=(_0x55a8a9,_0x2e1021)=>_0x76efdf(0xd5)+_0x55a8a9+'\x07'+(_0x2e1021||_0x55a8a9)+_0x76efdf(0x9a);async function getOpencodePluginStatus(){const _0x18246b=_0x76efdf,_0x9cb14f={'PzrjF':function(_0x3009fb,_0xa9ec7a){return _0x3009fb(_0xa9ec7a);},'WyCvy':'not_installed','ImjpO':_0x18246b(0xe8),'DjUUl':'pipe','PodDO':_0x18246b(0xc4),'CLAvj':'error'};return new Promise(_0x272711=>{const _0x2d812d=_0x18246b,_0xa45b31={'HpvyF':function(_0x23d159,_0x569efa){return _0x23d159!==_0x569efa;},'sFywU':function(_0x5f116b,_0x2d8fcb){return _0x5f116b(_0x2d8fcb);},'ejGMT':function(_0x1c008a,_0x1e9d38){return _0x1c008a>_0x1e9d38;},'jzBkf':'not_configured','IjBAL':function(_0x3f7a92,_0x42a8a6){return _0x3f7a92(_0x42a8a6);}},_0x17752b=spawn(_0x2d812d(0xc7),['debug',_0x9cb14f['ImjpO']],{'stdio':[_0x2d812d(0xb4),_0x9cb14f['DjUUl'],_0x9cb14f['DjUUl']]});let _0x5e52e5='';_0x17752b[_0x2d812d(0xc1)]?.['on'](_0x2d812d(0xc4),_0x4e7145=>{_0x5e52e5+=_0x4e7145['toString']();}),_0x17752b[_0x2d812d(0xf9)]?.['on'](_0x9cb14f[_0x2d812d(0xda)],_0x453ef9=>{const _0x187594=_0x2d812d;_0x5e52e5+=_0x453ef9[_0x187594(0xa3)]();}),_0x17752b['on'](_0x9cb14f[_0x2d812d(0xe4)],()=>{const _0x468368=_0x2d812d;_0x9cb14f['PzrjF'](_0x272711,{'status':_0x9cb14f[_0x468368(0xb1)]});}),_0x17752b['on'](_0x2d812d(0xec),_0x2fd30d=>{const _0x54dcb7=_0x2d812d;if(_0x2fd30d!==0x0){_0xa45b31['sFywU'](_0x272711,{'status':_0x54dcb7(0x9f)});return;}const _0x85c930=_0x5e52e5['trim']();let _0x25e36a=null;if(_0x85c930)try{_0x25e36a=JSON['parse'](_0x85c930);}catch{const _0x4d37b4=_0x85c930[_0x54dcb7(0xbb)](/\{[\s\S]*\}$/);if(_0x4d37b4)try{_0x25e36a=JSON[_0x54dcb7(0xaf)](_0x4d37b4[0x0]);}catch{_0x25e36a=null;}}const _0x1fd20e=Array[_0x54dcb7(0xcd)](_0x25e36a?.['plugin'])?_0x25e36a?.['plugin']:[],_0x295439=_0x1fd20e[_0x54dcb7(0xe1)](_0xa1aa52=>{const _0x5abfe2=_0x54dcb7;if(_0xa45b31['HpvyF'](typeof _0xa1aa52,'string'))return![];return _0xa1aa52['includes'](_0x5abfe2(0x94))||_0xa1aa52[_0x5abfe2(0x9d)]('opencode-plugin');});if(_0x295439){_0x272711({'status':'configured','details':_0x1fd20e['length']>0x0?_0x1fd20e[_0x54dcb7(0xbe)]+_0x54dcb7(0xb8):undefined});return;}if(_0xa45b31[_0x54dcb7(0x95)](_0x1fd20e[_0x54dcb7(0xbe)],0x0)){_0x272711({'status':_0xa45b31[_0x54dcb7(0xac)],'details':_0x1fd20e[_0x54dcb7(0xbe)]+'\x20plugin(s)\x20configured'});return;}_0xa45b31[_0x54dcb7(0xbd)](_0x272711,{'status':_0x54dcb7(0xd2)});});});}async function getSkillsFromDir(_0x28ce86,_0x1ba690){const _0x19c6ce=_0x76efdf,_0x3a1c18={'rlEEV':function(_0x5ab34a,_0x2e0ec6,_0x552a3f){return _0x5ab34a(_0x2e0ec6,_0x552a3f);},'GWARo':_0x19c6ce(0xa9),'BQcnL':function(_0x43e4b0,_0x46a37e){return _0x43e4b0(_0x46a37e);},'blbmz':_0x19c6ce(0x91)};if(!existsSync(_0x28ce86))return[];const _0x50420f=[];try{const _0x4e3f9e=await _0x3a1c18[_0x19c6ce(0x9b)](readdir,_0x28ce86,{'withFileTypes':!![]});for(const _0x527598 of _0x4e3f9e){if(_0x527598['isDirectory']()){const _0x4b5eaf=join(_0x28ce86,_0x527598['name'],_0x3a1c18['GWARo']);if(_0x3a1c18['BQcnL'](existsSync,_0x4b5eaf)){let _0x44da6f=_0x527598[_0x19c6ce(0xe3)];try{const _0xe4e69d=await _0x3a1c18[_0x19c6ce(0x9b)](readFile,_0x4b5eaf,_0x3a1c18['blbmz']),_0x13f5b9=_0xe4e69d[_0x19c6ce(0xbb)](/name:\s*(.+)/);_0x13f5b9&&(_0x44da6f=_0x13f5b9[0x1]['trim']());}catch{}_0x50420f[_0x19c6ce(0xe9)]({'name':_0x527598[_0x19c6ce(0xe3)],'displayName':_0x44da6f,'path':_0x4b5eaf,'level':_0x1ba690});}}}}catch{return[];}return _0x50420f;}async function getInstalledSkills(){const _0x53c46e=_0x76efdf,_0x52e195={'CUroS':function(_0x4ecc50,_0x3119ac,_0x533ad7){return _0x4ecc50(_0x3119ac,_0x533ad7);},'ahySq':function(_0x3a83b9){return _0x3a83b9();},'LtAAz':'project'},[_0xcae550,_0x3625e2]=await Promise['all']([_0x52e195[_0x53c46e(0xa2)](getSkillsFromDir,_0x52e195[_0x53c46e(0x103)](getProjectSkillsDir),_0x52e195[_0x53c46e(0x108)]),_0x52e195['CUroS'](getSkillsFromDir,getUserSkillsDir(),_0x53c46e(0xfa))]);return{'project':_0xcae550,'user':_0x3625e2};}async function getEnvironments(){const _0x5e5f07=_0x76efdf,_0x4d43d5={'pnprT':function(_0x154cbd,_0x599de4,_0x36eded){return _0x154cbd(_0x599de4,_0x36eded);},'KXZZh':'settings.json','dBuAf':'auth.json','RVFkB':'(not\x20found)','TRsoz':function(_0x439058,_0x237136){return _0x439058(_0x237136);},'DcajM':function(_0x4d88d0,_0xacf004){return _0x4d88d0===_0xacf004;},'TAPCf':function(_0x49f056){return _0x49f056();}},{envNames:_0x512a37,activeEnv:_0x2f8c39}=await getEnvNames(),_0x1a9c04=_0x4d43d5[_0x5e5f07(0xd7)](getRangerDir);if(!_0x4d43d5[_0x5e5f07(0xed)](existsSync,_0x1a9c04))return{'envs':[],'activeEnv':null};const _0x15f659=_0x512a37['map'](_0x320c82=>{const _0x3fbe18=_0x5e5f07,_0x1e53cb=getEnvDir(_0x320c82),_0x139712=_0x4d43d5[_0x3fbe18(0xfb)](join,_0x1e53cb,_0x4d43d5[_0x3fbe18(0xa8)]),_0x2b176b=_0x4d43d5['pnprT'](join,_0x1e53cb,_0x4d43d5[_0x3fbe18(0xbf)]),_0x372c9f=join(_0x1e53cb,'auth.json.enc');return{'name':_0x320c82,'settingsPath':existsSync(_0x139712)?_0x139712:_0x4d43d5['RVFkB'],'hasPlaintextAuth':existsSync(_0x2b176b),'hasEncryptedAuth':_0x4d43d5[_0x3fbe18(0xed)](existsSync,_0x372c9f),'isActive':_0x4d43d5[_0x3fbe18(0xd9)](_0x320c82,_0x2f8c39)};});return{'envs':_0x15f659,'activeEnv':_0x2f8c39};}export async function status(){const _0x2533db=_0x76efdf,_0x8720eb={'VwRIX':'\x0a📊\x20Ranger\x20Status\x0a','vZCTh':function(_0x2e24f8){return _0x2e24f8();},'JnAZS':function(_0x55c252,_0x44241d,_0x218817){return _0x55c252(_0x44241d,_0x218817);},'ETLEU':function(_0x1fb366,_0x1bfca7,_0x44f474){return _0x1fb366(_0x1bfca7,_0x44f474);},'zxojj':function(_0x14a967,_0xf42ac4){return _0x14a967(_0xf42ac4);},'IZhxO':function(_0x961d62,_0x5f033a){return _0x961d62(_0x5f033a);},'xqznc':function(_0x4a4654){return _0x4a4654();},'udhJv':_0x2533db(0xce),'XqGGR':_0x2533db(0xc6),'pXhsx':function(_0x4bb9c0,_0x2f08e4){return _0x4bb9c0(_0x2f08e4);},'MxzOn':'\x20\x20Not\x20configured','UlDMb':'\x20\x20OpenCode\x20not\x20installed\x20or\x20not\x20available','qZZSd':_0x2533db(0xba),'rPgYS':_0x2533db(0xef),'pnhqO':function(_0x39d36e,_0x4f39ca){return _0x39d36e(_0x4f39ca);},'rGHfR':_0x2533db(0xa0),'VjrmO':function(_0x5b6d8c){return _0x5b6d8c();},'AVRQH':function(_0x37390d,_0x32a081){return _0x37390d+_0x32a081;},'vvJnd':'No\x20profiles\x20configured','HEPFq':function(_0x351431,_0x11782d){return _0x351431===_0x11782d;},'wBzum':'\x20(active)','RRBMu':'no\x20session','YnzBA':'encrypted','NptYm':_0x2533db(0xaa)};console['log'](_0x8720eb[_0x2533db(0xa1)]);const _0x3f30fc=process['cwd'](),_0x545e69=_0x8720eb['vZCTh'](getRangerDir);if(!existsSync(_0x545e69)){console['log'](_0x2533db(0xc5)+_0x8720eb['JnAZS'](link,_0x3f30fc,bold(basename(_0x3f30fc)))),console['log']('\x0aRanger\x20has\x20not\x20been\x20initialized\x20in\x20this\x20directory.'),console[_0x2533db(0xa4)]('\x20\x20Run:\x20ranger\x20setup\x20[token]\x0a');return;}console[_0x2533db(0xa4)]('Root:\x20'+_0x8720eb[_0x2533db(0xc9)](link,_0x3f30fc,bold(basename(_0x3f30fc))));const _0x2b6c15=getCurrentVersion(),_0x39c0d6=getLatestVersion();if(_0x39c0d6['version']&&_0x39c0d6[_0x2533db(0x105)]!==_0x2b6c15)console[_0x2533db(0xa4)]('Version:\x20'+_0x2b6c15+_0x2533db(0xdd)+_0x39c0d6['version']+')'),console['log'](_0x2533db(0xb0));else _0x39c0d6[_0x2533db(0x105)]?console['log']('Version:\x20'+_0x2b6c15+_0x2533db(0xab)):console['log'](_0x2533db(0xf7)+_0x2b6c15);const _0x17c330=await getToken();if(_0x17c330){const _0x4a6272=await _0x8720eb[_0x2533db(0xb9)](getCurrentUser,_0x17c330);_0x4a6272['success']?console[_0x2533db(0xa4)](_0x2533db(0xcb)+_0x8720eb['IZhxO'](bold,_0x4a6272['user']['organizationName'])):(console[_0x2533db(0xa4)](_0x2533db(0xcf)),console['log'](_0x2533db(0xeb)));}else console[_0x2533db(0xa4)]('API\x20Token:\x20✗\x20Not\x20found'),console['log']('\x20\x20Run:\x20ranger\x20setup\x20[token]');process['env'][_0x2533db(0x93)]&&(console[_0x2533db(0xa4)](_0x2533db(0xdc)+_0x8720eb['xqznc'](getCurrentEnvironment)),console['log']('API\x20URL:\x20'+getApiBaseUrl()));console[_0x2533db(0xa4)](_0x8720eb[_0x2533db(0xdf)]);const _0x72aa85=await getOpencodePluginStatus();if(_0x72aa85[_0x2533db(0xe5)]===_0x8720eb[_0x2533db(0xd8)])console[_0x2533db(0xa4)]('\x20\x20'+_0x8720eb[_0x2533db(0xf1)](bold,'@ranger-testing/opencode-plugin')+_0x2533db(0xb5)),_0x72aa85['details']&&console[_0x2533db(0xa4)]('\x20\x20'+_0x72aa85[_0x2533db(0x90)]);else _0x72aa85[_0x2533db(0xe5)]==='not_configured'?(console[_0x2533db(0xa4)](_0x8720eb[_0x2533db(0x107)]),_0x72aa85['details']&&console['log']('\x20\x20'+_0x72aa85['details']),console['log']('\x20\x20Run:\x20ranger\x20setup\x20--opencode')):console[_0x2533db(0xa4)](_0x8720eb[_0x2533db(0xf0)]);console['log'](_0x2533db(0xc8));const _0x1115ce=await _0x8720eb[_0x2533db(0xb9)](getPluginInfo,'ranger@trailhead');if(_0x1115ce){const _0x103fc5=_0x1115ce[_0x2533db(0xd3)]||_0x8720eb['qZZSd'],_0x386afa=_0x1115ce['enabled']?'enabled':_0x8720eb[_0x2533db(0xde)];console[_0x2533db(0xa4)]('\x20\x20'+_0x8720eb['IZhxO'](bold,_0x2533db(0xc0))+_0x2533db(0xa7)+_0x103fc5+',\x20'+_0x386afa+')');}else console['log']('\x20\x20Not\x20installed'),console[_0x2533db(0xa4)](_0x2533db(0x96));console[_0x2533db(0xa4)](_0x2533db(0xd6));const {project:_0x139dcf,user:_0x5c56e3}=await getInstalledSkills(),_0x3187ff=_0x139dcf[_0x2533db(0xd1)](_0x492019=>RANGER_MANAGED_SKILLS['includes'](_0x492019['name'])),_0x5f396a=_0x5c56e3['filter'](_0x37b6b6=>RANGER_MANAGED_SKILLS[_0x2533db(0x9d)](_0x37b6b6['name'])),_0x2fc8a1=_0x3187ff['length']+_0x5f396a[_0x2533db(0xbe)];if(_0x2fc8a1===0x0)console['log'](_0x2533db(0xa5)),console['log']('\x20\x20Run:\x20ranger\x20skillup');else{if(_0x3187ff['length']>0x0){console[_0x2533db(0xa4)](_0x2533db(0xe6));for(const _0x2f28e1 of _0x3187ff){console[_0x2533db(0xa4)](_0x2533db(0xc2)+bold(_0x2f28e1['displayName'])+':\x20'+link(_0x2f28e1[_0x2533db(0xf2)],basename(_0x2f28e1['path'])));}}if(_0x5f396a['length']>0x0){console['log'](_0x2533db(0xb3));for(const _0x22b5f0 of _0x5f396a){console['log']('\x20\x20\x20\x20'+_0x8720eb['zxojj'](bold,_0x22b5f0['displayName'])+':\x20'+_0x8720eb[_0x2533db(0xd0)](link,_0x22b5f0['path'],_0x8720eb[_0x2533db(0xfc)](basename,_0x22b5f0['path'])));}}}console[_0x2533db(0xa4)](_0x8720eb['rGHfR']);const {envs:_0xa45747,activeEnv:_0xf53866}=await _0x8720eb[_0x2533db(0x9e)](getEnvironments);let _0x3700e8=[];if(_0x17c330)try{_0x3700e8=await _0x8720eb[_0x2533db(0xad)](listCloudProfiles);}catch{}const _0x3211a0=_0x8720eb[_0x2533db(0xe7)](_0xa45747['length'],_0x3700e8[_0x2533db(0xbe)]);if(_0x3211a0===0x0)console['log'](_0x8720eb[_0x2533db(0xd4)]),console['log'](_0x2533db(0xcc));else{if(_0x3211a0>0x5){const _0x25beb0=[];_0x3700e8['length']>0x0&&_0x25beb0[_0x2533db(0xe9)](_0x3700e8[_0x2533db(0xbe)]+_0x2533db(0x104)),_0xa45747[_0x2533db(0xbe)]>0x0&&_0x25beb0['push'](_0xa45747['length']+_0x2533db(0xfe)),console[_0x2533db(0xa4)](_0x3211a0+_0x2533db(0xf4)+_0x25beb0['join'](',\x20')+')'),_0xf53866&&console[_0x2533db(0xa4)]('\x20\x20Active:\x20'+_0x8720eb[_0x2533db(0xb9)](bold,_0xf53866)),console[_0x2533db(0xa4)](_0x2533db(0xe0));}else{for(const _0x25089e of _0x3700e8){const _0x2ce4b8=_0x8720eb['HEPFq'](_0x25089e['name'],_0xf53866)?_0x8720eb[_0x2533db(0xf3)]:'';console[_0x2533db(0xa4)]('\x20\x20'+bold(_0x25089e['name'])+_0x2533db(0xee)+_0x2ce4b8);const _0x5ac1ed=_0x25089e['sessionUpdatedAt']?'cached\x20(updated\x20'+_0x25089e[_0x2533db(0xa6)]+')':_0x8720eb[_0x2533db(0xb6)];console[_0x2533db(0xa4)](_0x2533db(0xf6)+_0x5ac1ed);}const _0x37b588=new Set(_0x3700e8[_0x2533db(0xea)](_0x5c8911=>_0x5c8911[_0x2533db(0xe3)]));for(const _0x376b38 of _0xa45747){if(_0x37b588['has'](_0x376b38['name']))continue;const _0x4de4e1=_0x376b38[_0x2533db(0xca)]?_0x8720eb[_0x2533db(0xf3)]:'',_0x19280d=_0x376b38['hasEncryptedAuth']?_0x8720eb['YnzBA']:_0x376b38[_0x2533db(0xc3)]?_0x2533db(0xff):_0x8720eb[_0x2533db(0xe2)];console[_0x2533db(0xa4)]('\x20\x20'+bold(_0x376b38[_0x2533db(0xe3)])+_0x2533db(0xfd)+_0x4de4e1),console[_0x2533db(0xa4)]('\x20\x20\x20\x20Auth:\x20'+_0x19280d),_0x376b38['settingsPath']!=='(not\x20found)'&&console['log'](_0x2533db(0xb7)+link(_0x376b38['settingsPath'],basename(_0x376b38[_0x2533db(0x101)])));}if(!_0xf53866){console['log'](_0x2533db(0xbc));const _0x51bed8=[..._0x3700e8['map'](_0x888873=>_0x888873[_0x2533db(0xe3)]),..._0xa45747['filter'](_0x50c91e=>!_0x37b588[_0x2533db(0x97)](_0x50c91e[_0x2533db(0xe3)]))['map'](_0x57d54c=>_0x57d54c[_0x2533db(0xe3)])];console['log'](_0x2533db(0x99)+_0x51bed8[_0x2533db(0xb2)](',\x20')+')');}}}console['log']('');}