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

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 _0x557f(){const _0x43a205=['success','message','xZAjR','log','LDNar','2855908vvjRii','7893nNUVuQ','227IVFHVv','2426880ZdyTpr','83544BOSgdd','2693770JsypMd','\x0a✅\x20API\x20key\x20stored\x20successfully','3710aCACQL','468pHMfLe','isVUy','Re-authenticating\x20via\x20MCP\x20bootstrap...','3176DyBeih','Lzmoj','5826mmqrCe','28wARjGV','Login\x20requires\x20an\x20interactive\x20terminal.\x20In\x20CI,\x20use:\x20ranger\x20setup\x20[token]\x20or\x20set\x20RANGER_CLI_TOKEN.','user'];_0x557f=function(){return _0x43a205;};return _0x557f();}(function(_0x25ab02,_0x578c6c){const _0x331bc7=_0x3f4c,_0x16659f=_0x25ab02();while(!![]){try{const _0x15a19c=-parseInt(_0x331bc7(0xbd))/0x1*(-parseInt(_0x331bc7(0xc2))/0x2)+-parseInt(_0x331bc7(0xc8))/0x3*(parseInt(_0x331bc7(0xc3))/0x4)+parseInt(_0x331bc7(0xbe))/0x5+-parseInt(_0x331bc7(0xbf))/0x6*(parseInt(_0x331bc7(0xc9))/0x7)+parseInt(_0x331bc7(0xc6))/0x8*(-parseInt(_0x331bc7(0xbc))/0x9)+parseInt(_0x331bc7(0xc0))/0xa+-parseInt(_0x331bc7(0xbb))/0xb;if(_0x15a19c===_0x578c6c)break;else _0x16659f['push'](_0x16659f['shift']());}catch(_0x7a95bf){_0x16659f['push'](_0x16659f['shift']());}}}(_0x557f,0x459cb));import{runDeviceAuthFlow}from'./utils/deviceAuth.js';import{getCurrentUser}from'./utils/userApi.js';import{getMcpAuthOrigin,mcpBootstrap}from'./mcpBootstrap.js';import{isInteractive}from'./utils/cloudProfileSession.js';function _0x3f4c(_0x53badf,_0xa77cbd){_0x53badf=_0x53badf-0xb6;const _0x557f16=_0x557f();let _0x3f4ce3=_0x557f16[_0x53badf];return _0x3f4ce3;}export async function login(){const _0x564ac6=_0x3f4c,_0x25a199={'isVUy':function(_0x4d45c2){return _0x4d45c2();},'Lzmoj':function(_0xf2b8ad){return _0xf2b8ad();},'LDNar':function(_0x3ccac8){return _0x3ccac8();},'qyybl':function(_0x15644d,_0x2ae39d){return _0x15644d(_0x2ae39d);},'xZAjR':function(_0x44e62a,_0x451762){return _0x44e62a instanceof _0x451762;}},_0x1bf2be=await _0x25a199[_0x564ac6(0xc4)](getMcpAuthOrigin);if(_0x1bf2be){console['log'](_0x564ac6(0xc5)),await _0x25a199[_0x564ac6(0xc7)](mcpBootstrap);return;}if(!_0x25a199[_0x564ac6(0xc4)](isInteractive))throw new Error(_0x564ac6(0xca));try{const _0x4f6467=await _0x25a199[_0x564ac6(0xba)](runDeviceAuthFlow),_0x41d31b=await _0x25a199['qyybl'](getCurrentUser,_0x4f6467);_0x41d31b[_0x564ac6(0xb6)]?console[_0x564ac6(0xb9)]('\x0a✅\x20Logged\x20in\x20to\x20'+_0x41d31b[_0x564ac6(0xcb)]['organizationName']):console['log'](_0x564ac6(0xc1));}catch(_0x36f1ac){throw new Error('Login\x20failed:\x20'+(_0x25a199[_0x564ac6(0xb8)](_0x36f1ac,Error)?_0x36f1ac[_0x564ac6(0xb7)]:_0x36f1ac));}}
@@ -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 _0x3371a5=_0x38b8;(function(_0x21f57a,_0x581c64){const _0x4824e4=_0x38b8,_0xbee225=_0x21f57a();while(!![]){try{const _0x45c55d=-parseInt(_0x4824e4(0x1b7))/0x1*(parseInt(_0x4824e4(0x21f))/0x2)+-parseInt(_0x4824e4(0x247))/0x3+-parseInt(_0x4824e4(0x1b9))/0x4*(parseInt(_0x4824e4(0x231))/0x5)+parseInt(_0x4824e4(0x1cb))/0x6+parseInt(_0x4824e4(0x1c8))/0x7*(parseInt(_0x4824e4(0x1e2))/0x8)+parseInt(_0x4824e4(0x1c7))/0x9*(parseInt(_0x4824e4(0x20d))/0xa)+-parseInt(_0x4824e4(0x1c1))/0xb;if(_0x45c55d===_0x581c64)break;else _0xbee225['push'](_0xbee225['shift']());}catch(_0x1df346){_0xbee225['push'](_0xbee225['shift']());}}}(_0x4a09,0xd3b92));import{mkdir,writeFile,readFile}from'fs/promises';import{join}from'path';function _0x4a09(){const _0x5d2ee7=['Registering\x20OAuth\x20client...','authorization_code','now','message','vNYOa','split','stringify','WPSQX','response_type','open','status','1.0.0','Run\x20`ranger\x20status`\x20to\x20verify\x20authentication.\x0a','hex','JkQyQ','token_endpoint','NShbf','gklMb','origin','utf-8','IZxdv','trim','log','code','Could\x20not\x20extract\x20token\x20from\x20MCP\x20response','write','nzfBv','application/json,\x20text/event-stream','Could\x20not\x20fetch\x20auth\x20server\x20metadata\x20from\x20','Bhcnc','tLZOJ','</p><p>You\x20can\x20close\x20this\x20window.</p></body></html>','http://localhost:','XiADS','HTTP\x20','Bearer\x20','YvnEs','MCP\x20server\x20requires\x20authentication\x20but\x20running\x20in\x20non-interactive\x20mode.\x0a','LaRPT','error_description','expiresAt','100ukzcOk','iPoGv','pNMQt','WCSBY','toString','refreshToken','type','JoTSz','get_cli_token','IeRFf','Authorization\x20server\x20does\x20not\x20support\x20dynamic\x20client\x20registration\x20and\x20no\x20cached\x20client\x20found','data:','CaYmb','iKlPG','WvJgj','darwin','OAuth\x20error:\x20','access_token','132094IYatuV','get','authorization_endpoint','ZzSQz','GdtUK','resource','tools/call','application/x-www-form-urlencoded','isTTY','content-type','text/html','Exchanging\x20authorization\x20code...','<html><body><h2>Authentication\x20failed</h2><p>','.ranger','result','auth-origin.txt','structuredContent','token','197445lfXksS','dJcjp','fgyUq','digest','uDAoA','includes','uFtZq','TcKPN','platform','content','tLwgP','slice','stdout','iabos','xdg-open','tcNGL','jYEPY','kfCSl','ranger-cli','client_id','pathname','ISyWS','1041357YIdfNZ','slMCk','LSzwG','\x20done','vVxBW','url','EMahp','WmOHF','GQFKF','set','authorization_servers','2025-03-26','notifications/initialized','1ttxenV','oScId','20XrLxYn','client_secret','QiVKz','uECTj','accessToken','lRmFs','2.0','proxied','8855033OdLbcA','No\x20authorization_servers\x20in\x20protected\x20resource\x20metadata','listen','VpaHY','S256','PLnYS','623961hnCDDj','14JlbjKZ','end','string','5490984nTCpUu','TDbOs','parse','json','ilkOM','clientSecret','ZQpIG','replace','puPMb','BIvYH','sha256','error','UAYfi','YspXz','XEpDS','Run\x20`ranger\x20setup\x20--mcp-bootstrap`\x20interactively\x20first.','closeAllConnections','ERRXX','text','uUiCo','code_challenge','uPjbp','searchParams','2697512mXIPkv','clientId'];_0x4a09=function(){return _0x5d2ee7;};return _0x4a09();}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',_0x3371a5(0x22e));export async function getMcpAuthOrigin(){const _0x2fd28e=_0x3371a5,_0x13e4e3={'WmOHF':function(_0x364311,_0x53489e,_0x3597f3){return _0x364311(_0x53489e,_0x3597f3);},'dmVme':'utf-8'};try{const _0x547b0c=(await _0x13e4e3[_0x2fd28e(0x24e)](readFile,AUTH_ORIGIN_PATH,_0x13e4e3['dmVme']))[_0x2fd28e(0x1f9)]();return _0x547b0c||null;}catch{return null;}}function _0x38b8(_0x128c69,_0x4d969e){_0x128c69=_0x128c69-0x1b5;const _0x4a0933=_0x4a09();let _0x38b819=_0x4a0933[_0x128c69];return _0x38b819;}export async function mcpBootstrap(){const _0x2640c6=_0x3371a5,_0x59bbf8={'ZYCWK':function(_0x332d5f,_0x39e19f){return _0x332d5f(_0x39e19f);},'GdtUK':function(_0x359249,_0x5a2760,_0x123280){return _0x359249(_0x5a2760,_0x123280);}},_0x36d254=getMcpAuthUrl();currentOrigin=_0x36d254;const _0x494dee=process[_0x2640c6(0x23d)][_0x2640c6(0x227)]??![];console[_0x2640c6(0x1fa)]('\x0aConnecting\x20to\x20MCP\x20auth\x20server:\x20'+_0x36d254+'\x0a');const _0x1befc0=await _0x59bbf8['ZYCWK'](tryUnauthenticated,_0x36d254);let _0x3e9dfd=null;if(_0x1befc0===_0x2640c6(0x1c0))_0x3e9dfd='';else{_0x3e9dfd=await loadCachedToken();if(!_0x3e9dfd){if(!_0x494dee)throw new Error(_0x2640c6(0x209)+_0x2640c6(0x1da));_0x3e9dfd=await _0x59bbf8['ZYCWK'](oauthFlow,_0x36d254);}}await _0x59bbf8[_0x2640c6(0x223)](callGetCliToken,_0x36d254,_0x3e9dfd);}async function tryUnauthenticated(_0x2a334f){const _0x1bb679=_0x3371a5,_0x158544={'ZNvcv':function(_0x2ba6db,_0x5b94f8,_0x1efc2c){return _0x2ba6db(_0x5b94f8,_0x1efc2c);},'VpaHY':'application/json','Bhcnc':_0x1bb679(0x1bf),'Urmwg':'initialize','kfCSl':'2025-03-26','ilkOM':'proxied','QiVKz':function(_0x36a691,_0x63d42c){return _0x36a691===_0x63d42c;}},_0x5a3806=await _0x158544['ZNvcv'](fetch,_0x2a334f,{'method':'POST','headers':{'Content-Type':_0x158544[_0x1bb679(0x1c4)],'Accept':'application/json,\x20text/event-stream'},'body':JSON[_0x1bb679(0x1ea)]({'jsonrpc':_0x158544[_0x1bb679(0x201)],'id':0x1,'method':_0x158544['Urmwg'],'params':{'protocolVersion':_0x158544[_0x1bb679(0x242)],'capabilities':{},'clientInfo':{'name':_0x1bb679(0x243),'version':_0x1bb679(0x1ef)}}})});if(_0x5a3806['ok'])return await _0x5a3806[_0x1bb679(0x1dd)](),_0x158544[_0x1bb679(0x1cf)];if(_0x158544[_0x1bb679(0x1bb)](_0x5a3806[_0x1bb679(0x1ee)],0x191))return await _0x5a3806[_0x1bb679(0x1dd)](),'needs-oauth';const _0x426592=await _0x5a3806['text']();throw new Error('MCP\x20server\x20returned\x20HTTP\x20'+_0x5a3806['status']+':\x20'+_0x426592);}class OAuthTimeoutError extends Error{constructor(_0x1bc8bc){const _0x3c66d4=_0x3371a5,_0x3094dd={'EMahp':'OAuthTimeoutError'};super(_0x1bc8bc),this['name']=_0x3094dd[_0x3c66d4(0x24d)];}}async function oauthFlow(_0x11a708){const _0x47fc28=_0x3371a5,_0x2a5c23={'dJcjp':function(_0x10dca8,_0x329286){return _0x10dca8(_0x329286);},'gklMb':'\x0aCached\x20OAuth\x20client\x20may\x20be\x20stale\x20—\x20clearing\x20and\x20retrying...\x0a','mouPZ':function(_0x4ebb34){return _0x4ebb34();}};try{return await _0x2a5c23[_0x47fc28(0x232)](oauthFlowAttempt,_0x11a708);}catch(_0x2586e0){if(_0x2586e0 instanceof OAuthTimeoutError&&await loadCachedClient())return console['log'](_0x2a5c23[_0x47fc28(0x1f5)]),await _0x2a5c23['mouPZ'](clearCachedClient),await oauthFlowAttempt(_0x11a708);throw _0x2586e0;}}async function oauthFlowAttempt(_0x2d3179){const _0x2a0311=_0x3371a5,_0xda4e46={'gIKwE':_0x2a0311(0x1e4),'vVxBW':function(_0x32817c,_0x4a318a,_0x166009){return _0x32817c(_0x4a318a,_0x166009);},'uUiCo':'POST','iuEbV':'application/json','nzfBv':'refresh_token','YspXz':'none','vNYOa':_0x2a0311(0x24a),'CaYmb':_0x2a0311(0x217),'pWnCM':function(_0x5a850f,_0x788619){return _0x5a850f(_0x788619);},'pNMQt':_0x2a0311(0x1f1),'PdxPA':_0x2a0311(0x1ec),'OyNhy':_0x2a0311(0x244),'oWXbj':_0x2a0311(0x1df),'fJKiJ':'code_challenge_method','OhKWn':'state','UAYfi':_0x2a0311(0x224),'QjZkU':'\x0aOpening\x20browser\x20for\x20authentication...','YvnEs':function(_0x316bca,_0x404fe5){return _0x316bca(_0x404fe5);},'uFtZq':_0x2a0311(0x22a),'RpoFJ':_0x2a0311(0x1e5),'GySEt':function(_0x323ef9,_0x5e38d1,_0x26f261){return _0x323ef9(_0x5e38d1,_0x26f261);},'BsoTC':_0x2a0311(0x226)},_0x522e31=_0x2d3179[_0x2a0311(0x1d2)](/\/mcp$/,'');process[_0x2a0311(0x23d)][_0x2a0311(0x1fd)]('Discovering\x20authorization\x20server...');const _0x499fe0=await fetch(_0x522e31+'/.well-known/oauth-protected-resource');if(!_0x499fe0['ok'])throw new Error('Could\x20not\x20fetch\x20protected\x20resource\x20metadata\x20from\x20MCP\x20server');const _0x2575b9=await _0x499fe0[_0x2a0311(0x1ce)](),_0x35b326=_0x2575b9[_0x2a0311(0x251)]?.[0x0];if(!_0x35b326)throw new Error(_0x2a0311(0x1c2));console['log']('\x20'+_0x35b326);const _0x257817=await fetchAuthServerMetadata(_0x35b326);let _0x149e21,_0xff0939;const _0x5b7b04=await loadCachedClient();if(_0x5b7b04)_0x149e21=_0x5b7b04[_0x2a0311(0x1e3)],_0xff0939=_0x5b7b04[_0x2a0311(0x1d0)];else{if(_0x257817['registration_endpoint']){process[_0x2a0311(0x23d)]['write'](_0xda4e46['gIKwE']);const _0x519243=await _0xda4e46[_0x2a0311(0x24b)](fetch,_0x257817['registration_endpoint'],{'method':_0xda4e46[_0x2a0311(0x1de)],'headers':{'Content-Type':_0xda4e46['iuEbV']},'body':JSON[_0x2a0311(0x1ea)]({'client_name':'Ranger\x20CLI','redirect_uris':[_0x2a0311(0x204)+CALLBACK_PORT+'/callback'],'grant_types':['authorization_code',_0xda4e46[_0x2a0311(0x1fe)]],'response_types':[_0x2a0311(0x1fb)],'token_endpoint_auth_method':_0xda4e46[_0x2a0311(0x1d8)]})});if(!_0x519243['ok']){const _0x36cafa=await _0x519243['text']();throw new Error('Client\x20registration\x20failed:\x20'+_0x36cafa);}const _0x3f0ae7=await _0x519243['json']();_0x149e21=_0x3f0ae7[_0x2a0311(0x244)],_0xff0939=_0x3f0ae7[_0x2a0311(0x1ba)],await saveCachedClient(_0x149e21,_0xff0939),console[_0x2a0311(0x1fa)](_0xda4e46[_0x2a0311(0x1e8)]);}else throw new Error(_0xda4e46[_0x2a0311(0x219)]);}const _0x2c5bdc=randomBytes(0x20)['toString']('base64url'),_0x3fd18b=createHash(_0x2a0311(0x1d5))['update'](_0x2c5bdc)[_0x2a0311(0x234)]('base64url'),_0x173625=_0xda4e46['pWnCM'](randomBytes,0x10)[_0x2a0311(0x211)](_0xda4e46[_0x2a0311(0x20f)]),_0x14b51e=new URL(_0x257817[_0x2a0311(0x221)]);_0x14b51e['searchParams']['set'](_0xda4e46['PdxPA'],_0x2a0311(0x1fb)),_0x14b51e[_0x2a0311(0x1e1)][_0x2a0311(0x250)](_0xda4e46['OyNhy'],_0x149e21),_0x14b51e['searchParams']['set']('redirect_uri',_0x2a0311(0x204)+CALLBACK_PORT+'/callback'),_0x14b51e['searchParams'][_0x2a0311(0x250)](_0xda4e46['oWXbj'],_0x3fd18b),_0x14b51e[_0x2a0311(0x1e1)]['set'](_0xda4e46['fJKiJ'],_0x2a0311(0x1c5)),_0x14b51e[_0x2a0311(0x1e1)][_0x2a0311(0x250)](_0xda4e46['OhKWn'],_0x173625);_0x2575b9['resource']&&_0x14b51e[_0x2a0311(0x1e1)][_0x2a0311(0x250)](_0xda4e46[_0x2a0311(0x1d7)],_0x2575b9['resource']);console[_0x2a0311(0x1fa)](_0xda4e46['QjZkU']),console[_0x2a0311(0x1fa)]('If\x20the\x20browser\x20doesn\x27t\x20open,\x20visit:\x0a'+_0x14b51e['toString']()+'\x0a'),await openBrowser(_0x14b51e['toString']());const _0x2dce98=await _0xda4e46[_0x2a0311(0x208)](waitForCallback,_0x173625);process['stdout'][_0x2a0311(0x1fd)](_0xda4e46[_0x2a0311(0x237)]);const _0x5ca2bf=new URLSearchParams({'grant_type':_0xda4e46['RpoFJ'],'code':_0x2dce98,'redirect_uri':'http://localhost:'+CALLBACK_PORT+'/callback','client_id':_0x149e21,'code_verifier':_0x2c5bdc});_0xff0939&&_0x5ca2bf['set'](_0x2a0311(0x1ba),_0xff0939);_0x2575b9['resource']&&_0x5ca2bf[_0x2a0311(0x250)](_0xda4e46['UAYfi'],_0x2575b9['resource']);const _0x453eef=await _0xda4e46['GySEt'](fetch,_0x257817[_0x2a0311(0x1f3)],{'method':_0xda4e46['uUiCo'],'headers':{'Content-Type':_0xda4e46['BsoTC']},'body':_0x5ca2bf});if(!_0x453eef['ok']){const _0x32d07f=await _0x453eef['text']();throw new Error('Token\x20exchange\x20failed:\x20'+_0x32d07f);}const _0xb59a2=await _0x453eef['json']();return console[_0x2a0311(0x1fa)](_0xda4e46['vNYOa']),await saveCachedToken(_0xb59a2[_0x2a0311(0x21e)],_0xb59a2['refresh_token'],_0xb59a2['expires_in']),_0xb59a2[_0x2a0311(0x21e)];}async function callGetCliToken(_0x3c37eb,_0x2b044a){const _0x4cb8dd=_0x3371a5,_0x179f5f={'iOTGQ':'POST','uDAoA':function(_0xc7f3b9,_0x205a83){return _0xc7f3b9(_0x205a83);},'oBkqz':'application/json','RgEmS':_0x4cb8dd(0x1ff),'ZQpIG':'2.0','IeRFf':'initialize','IZxdv':_0x4cb8dd(0x1ef),'cPXOP':'\x20done','mgFOJ':_0x4cb8dd(0x1b6),'tLZOJ':_0x4cb8dd(0x215),'NShbf':function(_0x39680e,_0x176adf){return _0x39680e(_0x176adf);},'TcKPN':'\x0aUnexpected\x20response\x20structure:','WPSQX':_0x4cb8dd(0x1fc),'cOuWE':function(_0x2eb96d){return _0x2eb96d();},'LSzwG':_0x4cb8dd(0x22c),'hiRZf':function(_0x14d7ac,_0x2ee2b6,_0x15d4ea,_0x30cfb3){return _0x14d7ac(_0x2ee2b6,_0x15d4ea,_0x30cfb3);},'abNmT':function(_0x4e2141,_0x5ee110,_0x3e4e52){return _0x4e2141(_0x5ee110,_0x3e4e52);},'eywAH':_0x4cb8dd(0x1f0)},_0x1e0a8d={'Content-Type':_0x179f5f['oBkqz'],'Accept':_0x179f5f['RgEmS']};_0x2b044a&&(_0x1e0a8d['Authorization']=_0x4cb8dd(0x207)+_0x2b044a);const _0x35e479=async _0x2f42f8=>{const _0x29a6dc=_0x4cb8dd,_0x5d3534=await fetch(_0x3c37eb,{'method':_0x179f5f['iOTGQ'],'headers':_0x1e0a8d,'body':JSON['stringify'](_0x2f42f8)});if(!_0x5d3534['ok']){const _0x34582d=await _0x5d3534['text']();throw new Error(_0x29a6dc(0x206)+_0x5d3534['status']+':\x20'+_0x34582d);}return _0x179f5f['uDAoA'](parseResponse,_0x5d3534);};process['stdout']['write']('Initializing\x20MCP\x20session...');const _0x4bf88b=await _0x35e479({'jsonrpc':_0x179f5f[_0x4cb8dd(0x1d1)],'id':0x1,'method':_0x179f5f[_0x4cb8dd(0x216)],'params':{'protocolVersion':_0x4cb8dd(0x1b5),'capabilities':{},'clientInfo':{'name':'ranger-cli','version':_0x179f5f[_0x4cb8dd(0x1f8)]}}});if(_0x4bf88b[_0x4cb8dd(0x1d6)])throw new Error('MCP\x20initialize\x20failed:\x20'+(_0x4bf88b[_0x4cb8dd(0x1d6)][_0x4cb8dd(0x1e7)]??JSON[_0x4cb8dd(0x1ea)](_0x4bf88b[_0x4cb8dd(0x1d6)])));console['log'](_0x179f5f['cPXOP']),await fetch(_0x3c37eb,{'method':'POST','headers':_0x1e0a8d,'body':JSON['stringify']({'jsonrpc':_0x179f5f[_0x4cb8dd(0x1d1)],'method':_0x179f5f['mgFOJ']})})['then'](_0x39f4cc=>_0x39f4cc[_0x4cb8dd(0x1dd)]()),process[_0x4cb8dd(0x23d)]['write']('Requesting\x20CLI\x20token...');const _0x5b1336=await _0x179f5f[_0x4cb8dd(0x235)](_0x35e479,{'jsonrpc':_0x4cb8dd(0x1bf),'id':0x2,'method':_0x4cb8dd(0x225),'params':{'name':_0x179f5f[_0x4cb8dd(0x202)],'arguments':{}}});if(_0x5b1336[_0x4cb8dd(0x1d6)])throw new Error('get_cli_token\x20failed:\x20'+(_0x5b1336['error'][_0x4cb8dd(0x1e7)]??JSON[_0x4cb8dd(0x1ea)](_0x5b1336['error'])));console[_0x4cb8dd(0x1fa)]('\x20done');const _0x57dff5=_0x179f5f[_0x4cb8dd(0x1f4)](extractToken,_0x5b1336[_0x4cb8dd(0x22d)]);if(!_0x57dff5){console['error'](_0x179f5f[_0x4cb8dd(0x238)]),console['error'](JSON[_0x4cb8dd(0x1ea)](_0x5b1336['result'],null,0x2));throw new Error(_0x179f5f[_0x4cb8dd(0x1eb)]);}const _0x341fb5=join(_0x179f5f['cOuWE'](homedir),_0x179f5f[_0x4cb8dd(0x249)]),_0x18725f=join(_0x341fb5,'refresh.txt');await mkdir(_0x341fb5,{'recursive':!![]}),await writeFile(_0x18725f,_0x57dff5,{'mode':0x180}),await _0x179f5f['hiRZf'](writeFile,_0x179f5f['abNmT'](join,_0x341fb5,_0x4cb8dd(0x22e)),_0x3c37eb,{'mode':0x180}),console['log']('\x0aToken\x20written\x20to\x20'+_0x18725f),console[_0x4cb8dd(0x1fa)](_0x179f5f['eywAH']);}async function fetchAuthServerMetadata(_0x2c5fb3){const _0xda6207=_0x3371a5,_0xfc30a4={'slMCk':function(_0x56b843,_0x3eb7a8){return _0x56b843(_0x3eb7a8);}},_0x44efe6=_0x2c5fb3+'/.well-known/oauth-authorization-server',_0x86f86d=await _0xfc30a4[_0xda6207(0x248)](fetch,_0x44efe6);if(!_0x86f86d['ok'])throw new Error(_0xda6207(0x200)+_0x44efe6+':\x20'+_0x86f86d['status']);return _0x86f86d['json']();}function waitForCallback(_0x31d1fb){const _0x5316b7={'FquVi':function(_0x52d1ba){return _0x52d1ba();},'WvJgj':function(_0x34df6a,_0x3357ba){return _0x34df6a(_0x3357ba);},'PLnYS':'OAuth\x20callback\x20timed\x20out\x20after\x202\x20minutes','vGuwC':'Not\x20found','GQFKF':'error','tLwgP':'<html><body><h2>Authenticated!</h2><p>You\x20can\x20close\x20this\x20window\x20and\x20return\x20to\x20the\x20terminal.</p></body></html>','iPoGv':function(_0x90bfb9,_0xe75332,_0x1e0759){return _0x90bfb9(_0xe75332,_0x1e0759);},'LaRPT':'127.0.0.1'};return new Promise((_0x4e59ac,_0x1926c6)=>{const _0x463924=_0x38b8,_0x24c1ec={'pZSXq':function(_0x2991c1){return _0x5316b7['FquVi'](_0x2991c1);},'WCSBY':function(_0x24116a,_0x5d46f9){const _0x8cccad=_0x38b8;return _0x5316b7[_0x8cccad(0x21b)](_0x24116a,_0x5d46f9);},'ZTGtw':_0x5316b7[_0x463924(0x1c6)],'TDbOs':function(_0x30c9e1,_0x35ec97){return _0x30c9e1!==_0x35ec97;},'JoTSz':_0x5316b7['vGuwC'],'XiADS':'state','xwYhn':_0x5316b7[_0x463924(0x24f)],'ISyWS':_0x463924(0x229),'MeKvm':_0x5316b7[_0x463924(0x23b)],'XEpDS':function(_0x4feed5,_0x2e2a26){const _0x3e2df6=_0x463924;return _0x5316b7[_0x3e2df6(0x21b)](_0x4feed5,_0x2e2a26);},'bQmUz':function(_0x547f76){return _0x5316b7['FquVi'](_0x547f76);}},_0x53254f=()=>{const _0x3c55e7=_0x463924;_0x4646d2[_0x3c55e7(0x1db)](),_0x4646d2['close']();},_0x577704=_0x5316b7[_0x463924(0x20e)](setTimeout,()=>{const _0x1346cc=_0x463924;_0x24c1ec['pZSXq'](_0x53254f),_0x24c1ec[_0x1346cc(0x210)](_0x1926c6,new OAuthTimeoutError(_0x24c1ec['ZTGtw']));},0x1d4c0),_0x4646d2=_0x5316b7[_0x463924(0x21b)](createServer,(_0x210a01,_0x3c74a2)=>{const _0x41c47d=_0x463924,_0x139863=new URL(_0x210a01[_0x41c47d(0x24c)]??'/',_0x41c47d(0x204)+CALLBACK_PORT);if(_0x24c1ec[_0x41c47d(0x1cc)](_0x139863[_0x41c47d(0x245)],'/callback')){_0x3c74a2['writeHead'](0x194),_0x3c74a2[_0x41c47d(0x1c9)](_0x24c1ec[_0x41c47d(0x214)]);return;}const _0x1f3add=_0x139863['searchParams'][_0x41c47d(0x220)]('code'),_0x2a08df=_0x139863[_0x41c47d(0x1e1)][_0x41c47d(0x220)](_0x24c1ec[_0x41c47d(0x205)]),_0x42536f=_0x139863[_0x41c47d(0x1e1)]['get'](_0x24c1ec['xwYhn']);if(_0x42536f){const _0x4aee70=_0x139863[_0x41c47d(0x1e1)][_0x41c47d(0x220)](_0x41c47d(0x20b))??_0x42536f;_0x3c74a2['writeHead'](0xc8,{'Content-Type':_0x24c1ec[_0x41c47d(0x246)]}),_0x3c74a2['end'](_0x41c47d(0x22b)+_0x4aee70+_0x41c47d(0x203)),clearTimeout(_0x577704),_0x53254f(),_0x24c1ec[_0x41c47d(0x210)](_0x1926c6,new Error(_0x41c47d(0x21d)+_0x4aee70));return;}if(!_0x1f3add||_0x2a08df!==_0x31d1fb){_0x3c74a2['writeHead'](0x190,{'Content-Type':_0x24c1ec['ISyWS']}),_0x3c74a2['end']('<html><body><h2>Invalid\x20callback</h2><p>Missing\x20code\x20or\x20state\x20mismatch.</p></body></html>');return;}_0x3c74a2['writeHead'](0xc8,{'Content-Type':_0x24c1ec[_0x41c47d(0x246)]}),_0x3c74a2['end'](_0x24c1ec['MeKvm']),_0x24c1ec[_0x41c47d(0x1d9)](clearTimeout,_0x577704),_0x24c1ec['bQmUz'](_0x53254f),_0x4e59ac(_0x1f3add);});_0x4646d2[_0x463924(0x1c3)](CALLBACK_PORT,_0x5316b7[_0x463924(0x20a)]);});}async function openBrowser(_0xe42778){const _0xca0dbe=_0x3371a5,_0x437283={'lRmFs':_0xca0dbe(0x1ed),'fgyUq':'win32','tcNGL':_0xca0dbe(0x23f)},_0x2e82b5=process[_0xca0dbe(0x239)]===_0xca0dbe(0x21c)?_0x437283[_0xca0dbe(0x1be)]:process['platform']===_0x437283[_0xca0dbe(0x233)]?'start':_0x437283[_0xca0dbe(0x240)];exec(_0x2e82b5+'\x20\x22'+_0xe42778+'\x22');}let currentOrigin='';async function loadCachedToken(){const _0x3a23ad=_0x3371a5,_0x393341={'ZzSQz':function(_0x2156c9,_0x152014,_0x25823a){return _0x2156c9(_0x152014,_0x25823a);},'iabos':'utf-8'};try{const _0x3e41e5=JSON['parse'](await _0x393341[_0x3a23ad(0x222)](readFile,TOKEN_CACHE_PATH,_0x393341[_0x3a23ad(0x23e)]));if(_0x3e41e5[_0x3a23ad(0x1f6)]&&_0x3e41e5['origin']!==currentOrigin)return null;if(_0x3e41e5[_0x3a23ad(0x20c)]&&Date['now']()>_0x3e41e5[_0x3a23ad(0x20c)])return null;return _0x3e41e5[_0x3a23ad(0x1bd)]??null;}catch{return null;}}async function saveCachedToken(_0x327086,_0x41658a,_0x3c37b7){const _0x2cdab6=_0x3371a5,_0xe7f85b={'iKlPG':function(_0x263de5,_0x34f20a){return _0x263de5+_0x34f20a;},'puPMb':function(_0x1a799e,_0x4c67e8){return _0x1a799e*_0x4c67e8;},'BIvYH':function(_0x276f4b,_0x38aeac,_0x42877c){return _0x276f4b(_0x38aeac,_0x42877c);},'uPjbp':_0x2cdab6(0x22c),'uECTj':function(_0x4a93aa,_0x210c51,_0x51c643,_0xf0902d){return _0x4a93aa(_0x210c51,_0x51c643,_0xf0902d);}},_0xd206a=await loadCachedData(),_0x328631={..._0xd206a,'origin':currentOrigin,'accessToken':_0x327086,'refreshToken':_0x41658a??_0xd206a?.[_0x2cdab6(0x212)],'expiresAt':_0x3c37b7?_0xe7f85b[_0x2cdab6(0x21a)](Date[_0x2cdab6(0x1e6)](),_0xe7f85b[_0x2cdab6(0x1d3)](_0x3c37b7,0x3e8)):undefined};await mkdir(_0xe7f85b[_0x2cdab6(0x1d4)](join,homedir(),_0xe7f85b[_0x2cdab6(0x1e0)]),{'recursive':!![]}),await _0xe7f85b[_0x2cdab6(0x1bc)](writeFile,TOKEN_CACHE_PATH,JSON[_0x2cdab6(0x1ea)](_0x328631),{'mode':0x180});}async function loadCachedClient(){const _0x41ca43=_0x3371a5,_0x46ca0e=await loadCachedData();if(_0x46ca0e?.['origin']&&_0x46ca0e[_0x41ca43(0x1f6)]!==currentOrigin)return null;return _0x46ca0e?.[_0x41ca43(0x1e3)]?{'clientId':_0x46ca0e[_0x41ca43(0x1e3)],'clientSecret':_0x46ca0e[_0x41ca43(0x1d0)]}:null;}async function clearCachedClient(){const _0x51c758=_0x3371a5,_0x481732={'nxRwg':function(_0x5af31f){return _0x5af31f();}},_0x5333aa=await _0x481732['nxRwg'](loadCachedData);if(!_0x5333aa)return;const {clientId:_0x355923,clientSecret:_0x4695d2,..._0xe70c88}=_0x5333aa;await writeFile(TOKEN_CACHE_PATH,JSON[_0x51c758(0x1ea)](_0xe70c88),{'mode':0x180});}async function saveCachedClient(_0x25cc5a,_0x2abb59){const _0x5ed4c8=_0x3371a5,_0x27ac1d={'ERRXX':function(_0xf136d1,_0xeead92,_0x4a270e){return _0xf136d1(_0xeead92,_0x4a270e);},'TSInl':function(_0x1100ee,_0x4894b1,_0x9610f4,_0x386d56){return _0x1100ee(_0x4894b1,_0x9610f4,_0x386d56);}},_0x38cd47=await loadCachedData(),_0x37230b={..._0x38cd47,'origin':currentOrigin,'accessToken':_0x38cd47?.[_0x5ed4c8(0x1bd)]??'','clientId':_0x25cc5a,'clientSecret':_0x2abb59};await _0x27ac1d[_0x5ed4c8(0x1dc)](mkdir,join(homedir(),'.ranger'),{'recursive':!![]}),await _0x27ac1d['TSInl'](writeFile,TOKEN_CACHE_PATH,JSON[_0x5ed4c8(0x1ea)](_0x37230b),{'mode':0x180});}async function loadCachedData(){const _0x3386b0=_0x3371a5,_0x4983a4={'TOMfS':function(_0x55fb0f,_0x19b1dd,_0x240dfc){return _0x55fb0f(_0x19b1dd,_0x240dfc);},'JkQyQ':_0x3386b0(0x1f7)};try{return JSON[_0x3386b0(0x1cd)](await _0x4983a4['TOMfS'](readFile,TOKEN_CACHE_PATH,_0x4983a4[_0x3386b0(0x1f2)]));}catch{return null;}}async function parseResponse(_0x2038fb){const _0x88096c=_0x3371a5,_0x35d06d={'HOSdX':_0x88096c(0x228),'jYEPY':_0x88096c(0x218)},_0x240c50=_0x2038fb['headers'][_0x88096c(0x220)](_0x35d06d['HOSdX'])??'';if(_0x240c50[_0x88096c(0x236)]('text/event-stream')){const _0x27a51c=await _0x2038fb['text']();for(const _0x5c2657 of _0x27a51c[_0x88096c(0x1e9)]('\x0a')){const _0xdf96f7=_0x5c2657[_0x88096c(0x1f9)]();if(_0xdf96f7['startsWith'](_0x88096c(0x218))){const _0x4946a8=_0xdf96f7[_0x88096c(0x23c)](_0x35d06d[_0x88096c(0x241)]['length'])[_0x88096c(0x1f9)]();if(!_0x4946a8)continue;try{const _0x2418ae=JSON['parse'](_0x4946a8);if(_0x2418ae['id']!==undefined||_0x2418ae[_0x88096c(0x1d6)])return _0x2418ae;}catch{}}}throw new Error('No\x20JSON-RPC\x20response\x20found\x20in\x20SSE\x20stream');}return _0x2038fb['json']();}function extractToken(_0x2bef7a){const _0x468c24=_0x3371a5,_0x7037a8={'oScId':function(_0x441c9a,_0x5d7d79){return _0x441c9a===_0x5d7d79;},'KTNCn':'Unknown\x20error','tkLTX':_0x468c24(0x1ca)};if(!_0x2bef7a)return null;const _0x50a1e7=_0x2bef7a[_0x468c24(0x22f)];if(_0x50a1e7?.['token']&&_0x7037a8[_0x468c24(0x1b8)](typeof _0x50a1e7['token'],'string'))return _0x50a1e7[_0x468c24(0x230)];if(_0x2bef7a['isError']){const _0x53ee05=_0x2bef7a[_0x468c24(0x23a)];throw new Error('Server\x20returned\x20error:\x20'+(_0x53ee05?.[0x0]?.['text']??_0x7037a8['KTNCn']));}const _0x51481b=_0x2bef7a['content'];if(_0x51481b)for(const _0x55e8dc of _0x51481b){if(_0x55e8dc[_0x468c24(0x213)]===_0x468c24(0x1dd)&&_0x55e8dc['text']){try{const _0x4d902b=JSON['parse'](_0x55e8dc[_0x468c24(0x1dd)]);if(_0x7037a8['oScId'](typeof _0x4d902b?.[_0x468c24(0x230)],_0x7037a8['tkLTX']))return _0x4d902b[_0x468c24(0x230)];}catch{}const _0xd19978=_0x55e8dc[_0x468c24(0x1dd)]['match'](/(rngr_[A-Za-z0-9_-]+)/);if(_0xd19978)return _0xd19978[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 _0x1c42(_0x57e527,_0x4bb81c){_0x57e527=_0x57e527-0x16f;var _0x3a32e3=_0x3a32();var _0x1c42d4=_0x3a32e3[_0x57e527];return _0x1c42d4;}(function(_0x260175,_0x3150a3){var _0x47b410=_0x1c42,_0x162554=_0x260175();while(!![]){try{var _0x1967e7=parseInt(_0x47b410(0x17e))/0x1+parseInt(_0x47b410(0x177))/0x2+-parseInt(_0x47b410(0x17b))/0x3*(-parseInt(_0x47b410(0x178))/0x4)+-parseInt(_0x47b410(0x176))/0x5*(parseInt(_0x47b410(0x172))/0x6)+-parseInt(_0x47b410(0x16f))/0x7*(parseInt(_0x47b410(0x179))/0x8)+-parseInt(_0x47b410(0x173))/0x9+-parseInt(_0x47b410(0x17a))/0xa;if(_0x1967e7===_0x3150a3)break;else _0x162554['push'](_0x162554['shift']());}catch(_0x44f5c3){_0x162554['push'](_0x162554['shift']());}}}(_0x3a32,0xd3019));function _0x3a32(){var _0x19bf3b=['To\x20set\x20up\x20a\x20fresh\x20profile,\x20run:\x0a','hyXPx','1329254SrTaxD','77zZvopG','UioTY','cSKeZ','496158saflXr','718029TKpeyr','\x20\x20https://docs.ranger.net/main/concepts/profiles\x0a','oRbya','90abgMxn','3160704YMnCJt','84llMOXr','81016tRnPVR','17023440rViucA','190953hsnhZH'];_0x3a32=function(){return _0x19bf3b;};return _0x3a32();}export async function migrateProfile(_0x500e17,_0x546877){var _0x4955f2=_0x1c42,_0x219d8e={'cSKeZ':function(_0x5da4e7,_0x444172){return _0x5da4e7+_0x444172;},'hyXPx':function(_0x41b580,_0x1fe2fd){return _0x41b580+_0x1fe2fd;},'cVyKH':function(_0x442fd8,_0x3e29d7){return _0x442fd8+_0x3e29d7;},'UioTY':'ranger\x20profile\x20migrate\x20is\x20no\x20longer\x20supported.\x0a','vlKFV':'\x20\x20ranger\x20profile\x20add\x20<name>\x0a','oRbya':'For\x20CI\x20/\x20background\x20agents\x20and\x20other\x20setup\x20options,\x20see:\x0a','bruqP':'Existing\x20sessions\x20in\x20your\x20old\x20<project>/.ranger/\x20dirs\x20still\x20work\x20as\x20a\x0a'};console['error'](_0x219d8e[_0x4955f2(0x171)](_0x219d8e['hyXPx'](_0x219d8e['cVyKH'](_0x219d8e[_0x4955f2(0x17d)](_0x219d8e['cVyKH'](_0x219d8e[_0x4955f2(0x170)]+'\x0a',_0x4955f2(0x17c)),_0x219d8e['vlKFV'])+'\x0a',_0x219d8e[_0x4955f2(0x175)]),_0x4955f2(0x174)),'\x0a')+_0x219d8e['bruqP']+'fallback;\x20you\x20can\x20delete\x20them\x20once\x20you\x20have\x20re-auth-ed.'),process['exit'](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 _0x4c85(){const _0x51fa69=['1062280TWYoAr','itpDz','rnWic','xjDSB','1053470McwqUw','4636oreXzE','Would\x20you\x20like\x20to\x20install\x20skills?','7rkSRJf','CjykU','pluginScope','SKILL.md','526qtAReC','prompt','rBTUp','YmRhD','output','702psaRFb','confirm','success','project','list','\x0a📦\x20Claude\x20Code\x20Plugin\x0a','rqWmm','✓\x20Claude\x20Code\x20plugin\x20installed\x20successfully','bAslj','6770AAYKsc','444ZVVbAE','vSlkV','\x20level)...\x0a','wantsSkillup','--scope','6983548gMUcGS','DAOAk','plugin','✓\x20Claude\x20Code\x20plugin\x20enabled','ranger@trailhead','✓\x20Marketplace\x20already\x20added','LMVSf','mOLnV','AGgfY','NmnOn','user','add','.claude','Where\x20should\x20the\x20plugin\x20be\x20installed?','srQZL','69FQusso','pvpzs','1430514wdVBLH','QJEUo','error','log','marketplace','MOpol','⚠\x20Failed\x20to\x20enable\x20plugin:','lJLRy','RUMbn'];_0x4c85=function(){return _0x51fa69;};return _0x4c85();}(function(_0x32017c,_0x203b8a){const _0x327548=_0x4855,_0x297c50=_0x32017c();while(!![]){try{const _0xed4ea5=parseInt(_0x327548(0x8c))/0x1*(-parseInt(_0x327548(0xa2))/0x2)+-parseInt(_0x327548(0xb1))/0x3*(-parseInt(_0x327548(0x9c))/0x4)+parseInt(_0x327548(0x9b))/0x5+parseInt(_0x327548(0x8e))/0x6+parseInt(_0x327548(0x9e))/0x7*(parseInt(_0x327548(0x97))/0x8)+-parseInt(_0x327548(0xa7))/0x9*(-parseInt(_0x327548(0xb0))/0xa)+-parseInt(_0x327548(0xb6))/0xb;if(_0xed4ea5===_0x203b8a)break;else _0x297c50['push'](_0x297c50['shift']());}catch(_0x55d499){_0x297c50['push'](_0x297c50['shift']());}}}(_0x4c85,0x25685));import{join}from'path';import{existsSync}from'fs';import _0x57b791 from'inquirer';function _0x4855(_0x4c2e95,_0xa3d554){_0x4c2e95=_0x4c2e95-0x80;const _0x4c85a8=_0x4c85();let _0x48553e=_0x4c85a8[_0x4c2e95];return _0x48553e;}import{skillup}from'../skillup.js';import{runClaudeCommand,isMarketplaceAdded,isPluginInstalled}from'../utils/claudePlugin.js';import{getProjectRoot,getSkillsDir}from'../utils/claudeConfig.js';export async function ensureClaudePlugin(_0x223399){const _0x460720=_0x4855,_0x5150ca={'vTula':function(_0x3c40b5,_0x27b138){return _0x3c40b5(_0x27b138);},'MOpol':function(_0x2293df,_0x1d6aaf){return _0x2293df(_0x1d6aaf);},'pvpzs':function(_0x5bf79e){return _0x5bf79e();},'RUMbn':_0x460720(0xaa),'lcAoO':_0x460720(0xab),'Vaoxp':_0x460720(0xa0),'rqWmm':'User\x20(available\x20in\x20all\x20your\x20projects)','mOLnV':_0x460720(0x87),'srQZL':'Project\x20(shared\x20with\x20team\x20via\x20git)','YmRhD':'trailhead','AjZkW':function(_0x4a9f8d,_0x106b05){return _0x4a9f8d(_0x106b05);},'AGgfY':'plugin','lJLRy':'ranger-testing/trailhead','JSjvj':'❌\x20Failed\x20to\x20add\x20marketplace:','rnWic':'\x0aYou\x20can\x20install\x20manually\x20with:','xjDSB':function(_0x53bb20,_0x3c8cdd,_0x13af8b){return _0x53bb20(_0x3c8cdd,_0x13af8b);},'IQhhd':_0x460720(0x81),'DAOAk':function(_0x2206fd,_0x32c8a3){return _0x2206fd===_0x32c8a3;},'rBTUp':'❌\x20Failed\x20to\x20install\x20plugin:','vSlkV':_0x460720(0xae),'yRvce':'enable','dpFZh':_0x460720(0xb5),'itpDz':function(_0x26d7f6){return _0x26d7f6();},'oujrv':'already\x20enabled','CjykU':_0x460720(0x94)},_0x13bf87=await _0x5150ca['vTula'](isPluginInstalled,_0x460720(0x81));if(_0x13bf87)return console['log']('✓\x20Claude\x20Code\x20plugin\x20already\x20installed'),![];const _0x411a53=_0x5150ca[_0x460720(0x93)](existsSync,join(_0x5150ca[_0x460720(0x8d)](getProjectRoot),'.claude'));let _0x326e3c;if(_0x223399)_0x326e3c=_0x223399;else{if(_0x411a53)_0x326e3c=_0x5150ca[_0x460720(0x96)];else{console['log'](_0x460720(0xac));const _0x226768=await _0x57b791[_0x460720(0xa3)]([{'type':_0x5150ca['lcAoO'],'name':_0x5150ca['Vaoxp'],'message':_0x460720(0x8a),'choices':[{'name':_0x5150ca[_0x460720(0xad)],'value':_0x5150ca[_0x460720(0x84)]},{'name':_0x5150ca[_0x460720(0x8b)],'value':'project'}],'default':'user'}]);_0x326e3c=_0x226768['pluginScope'];}}console[_0x460720(0x91)]('\x0aInstalling\x20Claude\x20Code\x20plugin\x20('+_0x326e3c+_0x460720(0xb3));const _0x5f0fc5=await isMarketplaceAdded(_0x5150ca[_0x460720(0xa5)]);let _0x183728=_0x5f0fc5;if(_0x5f0fc5)console['log'](_0x460720(0x82));else{const _0x19c3e5=await _0x5150ca['AjZkW'](runClaudeCommand,[_0x5150ca[_0x460720(0x85)],_0x460720(0x92),_0x460720(0x88),_0x5150ca[_0x460720(0x95)]]);!_0x19c3e5[_0x460720(0xa9)]?(console[_0x460720(0x90)](_0x5150ca['JSjvj'],_0x19c3e5[_0x460720(0x90)]),console[_0x460720(0x91)](_0x5150ca[_0x460720(0x99)]),console[_0x460720(0x91)]('\x20\x20claude\x20plugin\x20marketplace\x20add\x20ranger-testing/trailhead'),console[_0x460720(0x91)]('\x20\x20claude\x20plugin\x20install\x20ranger@trailhead\x20--scope\x20'+_0x326e3c)):_0x183728=!![];}if(_0x183728){const _0x158a77=await _0x5150ca[_0x460720(0x9a)](runClaudeCommand,[_0x5150ca[_0x460720(0x85)],'install',_0x5150ca['IQhhd'],'--scope',_0x326e3c],{'cwd':_0x5150ca[_0x460720(0xb7)](_0x326e3c,_0x460720(0xaa))?_0x5150ca[_0x460720(0x8d)](getProjectRoot):undefined});if(!_0x158a77['success'])console['error'](_0x5150ca[_0x460720(0xa4)],_0x158a77[_0x460720(0x90)]),console['log']('\x0aYou\x20can\x20install\x20manually\x20with:'),console['log']('\x20\x20claude\x20plugin\x20install\x20ranger@trailhead\x20--scope\x20'+_0x326e3c);else{console[_0x460720(0x91)](_0x5150ca[_0x460720(0xb2)]);const _0x3affb6=[_0x460720(0xb8),_0x5150ca['yRvce'],'ranger@trailhead'];_0x326e3c===_0x460720(0xaa)&&_0x3affb6['push'](_0x5150ca['dpFZh'],_0x5150ca['RUMbn']);const _0xd67eab=await _0x5150ca['xjDSB'](runClaudeCommand,_0x3affb6,{'captureOutput':!![],'cwd':_0x326e3c===_0x5150ca[_0x460720(0x96)]?_0x5150ca[_0x460720(0x98)](getProjectRoot):undefined}),_0x2bb127=_0xd67eab[_0x460720(0xa6)]?.['includes'](_0x5150ca['oujrv']);!_0xd67eab[_0x460720(0xa9)]&&!_0x2bb127?console['error'](_0x5150ca[_0x460720(0x9f)],_0xd67eab[_0x460720(0x90)]):console['log'](_0x460720(0x80));}}return!![];}export async function ensureClaudeSkills(_0x448d16){const _0xaf3a7e=_0x4855,_0x1fd6bb={'bAslj':function(_0x1558b1,_0x1df0ec){return _0x1558b1(_0x1df0ec);},'zbGkG':function(_0x43b513,_0x1d0a1c,_0x58646e,_0x1ad976){return _0x43b513(_0x1d0a1c,_0x58646e,_0x1ad976);},'buboR':_0xaf3a7e(0x87),'yavWJ':_0xaf3a7e(0xa1),'kchSd':'project','NmnOn':'✓\x20Ranger\x20skills\x20already\x20installed','jBTZi':function(_0x277e6b,_0x7a13ba){return _0x277e6b(_0x7a13ba);},'wCgGL':_0xaf3a7e(0x89),'LMVSf':function(_0xf1a3c7,_0x4f8a6a){return _0xf1a3c7(_0x4f8a6a);},'nvpQN':_0xaf3a7e(0xb4),'QJEUo':_0xaf3a7e(0x9d)},_0x3b55b8=_0x1fd6bb['bAslj'](existsSync,_0x1fd6bb['zbGkG'](join,getSkillsDir(_0x1fd6bb['buboR']),'ranger',_0x1fd6bb['yavWJ'])),_0x546d41=existsSync(join(_0x1fd6bb[_0xaf3a7e(0xaf)](getSkillsDir,_0x1fd6bb['kchSd']),'ranger',_0x1fd6bb['yavWJ']));if(_0x3b55b8||_0x546d41)return console[_0xaf3a7e(0x91)](_0x1fd6bb[_0xaf3a7e(0x86)]),![];const _0x28b0ba=_0x1fd6bb['jBTZi'](existsSync,join(getProjectRoot(),_0x1fd6bb['wCgGL']));let _0x5b65f2=!![];if(_0x448d16)await _0x1fd6bb[_0xaf3a7e(0x83)](skillup,{'autoInstall':_0x448d16,'suppressUsage':!![]});else{if(_0x28b0ba)await _0x1fd6bb[_0xaf3a7e(0x83)](skillup,{'autoInstall':_0xaf3a7e(0xaa),'suppressUsage':!![]});else{const _0x5aa90e=await _0x57b791[_0xaf3a7e(0xa3)]([{'type':_0xaf3a7e(0xa8),'name':_0x1fd6bb['nvpQN'],'message':_0x1fd6bb[_0xaf3a7e(0x8f)],'default':!![]}]);_0x5b65f2=_0x5aa90e[_0xaf3a7e(0xb4)],_0x5b65f2&&await skillup({'suppressUsage':!![]});}}return _0x5b65f2;}
@@ -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(_0xe5ce9d,_0x4889ca){const _0x314fa6=_0x2de1,_0xd7a382=_0xe5ce9d();while(!![]){try{const _0x3fda7b=parseInt(_0x314fa6(0xc6))/0x1+-parseInt(_0x314fa6(0xc9))/0x2+-parseInt(_0x314fa6(0xde))/0x3+-parseInt(_0x314fa6(0xd8))/0x4+-parseInt(_0x314fa6(0xcb))/0x5*(-parseInt(_0x314fa6(0xdb))/0x6)+-parseInt(_0x314fa6(0xce))/0x7+-parseInt(_0x314fa6(0xcd))/0x8*(-parseInt(_0x314fa6(0xdd))/0x9);if(_0x3fda7b===_0x4889ca)break;else _0xd7a382['push'](_0xd7a382['shift']());}catch(_0x28b95a){_0xd7a382['push'](_0xd7a382['shift']());}}}(_0x43de,0xb279a));import{join}from'path';import{existsSync}from'fs';function _0x2de1(_0x2c30a1,_0x5db3ee){_0x2c30a1=_0x2c30a1-0xc6;const _0x43de91=_0x43de();let _0x2de1b3=_0x43de91[_0x2c30a1];return _0x2de1b3;}import{mkdir,readFile,writeFile}from'fs/promises';import _0x95f200 from'inquirer';import{getOpencodeConfigDir}from'../utils/opencodeConfig.js';function _0x43de(){const _0x4601d1=['haMVK','225054omJoTo','1082364eoRiKv','YOaqy','stringify','kFoDe','100710crEgNN','error','@ranger-testing/opencode-plugin','1082496ceVHqk','plugin','1315HkwZvR','isArray','736UGDLsQ','9475256EZDIJJ','includes','beYxX','\x0a📦\x20OpenCode\x20Plugin\x0a','ECoER','parse','cXqKQ','log','User\x20(available\x20in\x20all\x20your\x20projects)','project','651276jhpsRs','✓\x20OpenCode\x20plugin\x20already\x20configured','opencode.json','17070ijUFpw'];_0x43de=function(){return _0x4601d1;};return _0x43de();}export async function ensureOpencodePluginConfig(_0x3116af){const _0x33fedb=_0x2de1,_0x47b5a9={'cXqKQ':function(_0x4129bd,_0x402f5f,_0x36b3c8){return _0x4129bd(_0x402f5f,_0x36b3c8);},'YOaqy':function(_0x5de660,_0x18bb9a){return _0x5de660(_0x18bb9a);},'UNtSS':'opencode.json','beYxX':'list','kFoDe':_0x33fedb(0xd6),'ECoER':'Project\x20(shared\x20with\x20team\x20via\x20git)','IhmJC':function(_0x1c3421,_0x4c4055){return _0x1c3421(_0x4c4055);},'tzrtF':'⚠\x20Failed\x20to\x20read\x20opencode.json.\x20Please\x20add\x20the\x20plugin\x20manually.','haMVK':function(_0x29cbeb,_0x507353){return _0x29cbeb(_0x507353);},'lUQbX':'✓\x20OpenCode\x20plugin\x20configured'},_0x350072=existsSync(_0x47b5a9[_0x33fedb(0xd4)](join,_0x47b5a9[_0x33fedb(0xdf)](getOpencodeConfigDir,'project'),_0x47b5a9['UNtSS']));let _0x5301ac;if(_0x3116af)_0x5301ac=_0x3116af;else{if(_0x350072)_0x5301ac='project';else{console['log'](_0x33fedb(0xd1));const _0x2e0d02=await _0x95f200['prompt']([{'type':_0x47b5a9[_0x33fedb(0xd0)],'name':'pluginScope','message':'Where\x20should\x20the\x20plugin\x20be\x20installed?','choices':[{'name':_0x47b5a9[_0x33fedb(0xe1)],'value':'user'},{'name':_0x47b5a9[_0x33fedb(0xd2)],'value':_0x33fedb(0xd7)}],'default':'user'}]);_0x5301ac=_0x2e0d02['pluginScope'];}}const _0x4552a2=join(_0x47b5a9['IhmJC'](getOpencodeConfigDir,_0x5301ac),_0x33fedb(0xda)),_0x296ff3=_0x33fedb(0xc8),_0x3b6df5='https://opencode.ai/config.json';let _0x48fbfb={};if(existsSync(_0x4552a2))try{const _0x4026ac=await _0x47b5a9[_0x33fedb(0xd4)](readFile,_0x4552a2,'utf-8');_0x48fbfb=JSON[_0x33fedb(0xd3)](_0x4026ac);}catch(_0x358d0f){return console[_0x33fedb(0xc7)](_0x47b5a9['tzrtF']),{'configured':![],'scope':_0x5301ac,'error':'Failed\x20to\x20read\x20opencode.json','details':_0x358d0f};}const _0x4bd7b7=Array[_0x33fedb(0xcc)](_0x48fbfb[_0x33fedb(0xca)])?_0x48fbfb[_0x33fedb(0xca)]:[];if(_0x4bd7b7[_0x33fedb(0xcf)](_0x296ff3))return console['log'](_0x33fedb(0xd9)),{'configured':![],'scope':_0x5301ac};return _0x48fbfb['$schema']=_0x48fbfb['$schema']||_0x3b6df5,_0x48fbfb['plugin']=[..._0x4bd7b7,_0x296ff3],await mkdir(_0x47b5a9[_0x33fedb(0xdc)](getOpencodeConfigDir,_0x5301ac),{'recursive':!![]}),await _0x47b5a9['cXqKQ'](writeFile,_0x4552a2,JSON[_0x33fedb(0xe0)](_0x48fbfb,null,0x2)+'\x0a'),console[_0x33fedb(0xd5)](_0x47b5a9['lUQbX']),{'configured':!![],'scope':_0x5301ac};}
@@ -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 _0x401b(_0x314214,_0x475948){_0x314214=_0x314214-0x14e;var _0x62fce8=_0x62fc();var _0x401b45=_0x62fce8[_0x314214];return _0x401b45;}function _0x62fc(){var _0x10a484=['exit','18610NAGjou','3054405DMYwrH','8019809nFLUqF','189662GcfPHD','8SsfWBC','213UrISLK','12333087sDbtyc','48820hSBziV','230380BGuMlz','LjTlc','14707zNNKOg','12DBDyEX','To\x20set\x20up\x20a\x20fresh\x20profile,\x20run:\x0a','ozcGh','\x20\x20ranger\x20profile\x20add\x20<name>\x0a','error','\x20\x20https://docs.ranger.net/main/concepts/profiles'];_0x62fc=function(){return _0x10a484;};return _0x62fc();}(function(_0x329541,_0x1d145a){var _0x3877ec=_0x401b,_0x604994=_0x329541();while(!![]){try{var _0x49e1c5=parseInt(_0x3877ec(0x15f))/0x1+-parseInt(_0x3877ec(0x152))/0x2+-parseInt(_0x3877ec(0x14f))/0x3*(parseInt(_0x3877ec(0x151))/0x4)+-parseInt(_0x3877ec(0x15d))/0x5*(parseInt(_0x3877ec(0x155))/0x6)+parseInt(_0x3877ec(0x15e))/0x7*(-parseInt(_0x3877ec(0x14e))/0x8)+parseInt(_0x3877ec(0x150))/0x9+-parseInt(_0x3877ec(0x15c))/0xa*(-parseInt(_0x3877ec(0x154))/0xb);if(_0x49e1c5===_0x1d145a)break;else _0x604994['push'](_0x604994['shift']());}catch(_0x2b1499){_0x604994['push'](_0x604994['shift']());}}}(_0x62fc,0xaaa58));export async function setupCi(_0x196fec,_0x268c71,_0x5021bf){var _0x378052=_0x401b,_0x532cbd={'OggYx':function(_0x3cc629,_0x1e2831){return _0x3cc629+_0x1e2831;},'LjTlc':function(_0xf21b2e,_0x9a4e0b){return _0xf21b2e+_0x9a4e0b;},'vahJt':_0x378052(0x158),'ozcGh':'For\x20CI\x20/\x20background\x20agents\x20and\x20other\x20setup\x20options,\x20see:\x0a','xPHFd':_0x378052(0x15a)};console[_0x378052(0x159)](_0x532cbd['OggYx'](_0x532cbd[_0x378052(0x153)]('ranger\x20setup\x20--ci\x20writes\x20to\x20the\x20legacy\x20.ranger/ci/\x20tree\x20which\x20is\x20no\x20longer\x20supported.\x0a'+'\x0a'+_0x378052(0x156)+_0x532cbd['vahJt'],'\x0a')+_0x532cbd[_0x378052(0x157)],_0x532cbd['xPHFd'])),process[_0x378052(0x15b)](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(_0x103d18,_0x728021){const _0x133b6=_0xe110,_0x3cdad7=_0x103d18();while(!![]){try{const _0x75dc4d=parseInt(_0x133b6(0x10b))/0x1*(-parseInt(_0x133b6(0x11b))/0x2)+-parseInt(_0x133b6(0x10f))/0x3*(-parseInt(_0x133b6(0x12c))/0x4)+-parseInt(_0x133b6(0x128))/0x5*(parseInt(_0x133b6(0x110))/0x6)+parseInt(_0x133b6(0x124))/0x7*(parseInt(_0x133b6(0x114))/0x8)+parseInt(_0x133b6(0x107))/0x9+parseInt(_0x133b6(0x12a))/0xa*(-parseInt(_0x133b6(0x109))/0xb)+parseInt(_0x133b6(0x11f))/0xc;if(_0x75dc4d===_0x728021)break;else _0x3cdad7['push'](_0x3cdad7['shift']());}catch(_0x45bed3){_0x3cdad7['push'](_0x3cdad7['shift']());}}}(_0x35a4,0x310a4));import{basename}from'path';import _0x549019 from'inquirer';import{getToken}from'./utils/keychain.js';function _0xe110(_0x59bc88,_0x2c6c01){_0x59bc88=_0x59bc88-0x103;const _0x35a4a7=_0x35a4();let _0xe11051=_0x35a4a7[_0x59bc88];return _0xe11051;}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(_0x3f9d99={}){const _0x5cc5cf=_0xe110,_0x51a27e={'GaYsP':_0x5cc5cf(0x120),'NKkkV':'To\x20get\x20started:','EeKNE':'opencode','yqkEn':_0x5cc5cf(0x113),'KlCJl':_0x5cc5cf(0x121),'lpWEJ':function(_0x7a24f,_0x55bed4){return _0x7a24f(_0x55bed4);},'XhTMh':_0x5cc5cf(0x129),'fCGkm':'installLevel','yYBfu':'Where\x20should\x20skills\x20be\x20installed?','zTWDO':_0x5cc5cf(0x126),'atlZX':function(_0x28421a,_0xb1d9be,_0x504d55){return _0x28421a(_0xb1d9be,_0x504d55);},'inLcY':_0x5cc5cf(0x118),'wQYPZ':_0x5cc5cf(0x119),'qQwIL':'project-level','PEolj':'\x20\x20-\x20Start\x20OpenCode\x20and\x20run\x20the\x20`ranger_enable`\x20tool\x20to\x20enable\x20hooks.','WcdLH':_0x5cc5cf(0x12b)};console['log'](_0x51a27e['GaYsP']);const _0x9b727e=_0x3f9d99['platform']??_0x5cc5cf(0x103),_0x45d6eb=await getToken();if(!_0x45d6eb){console['log'](_0x5cc5cf(0x11c)),console[_0x5cc5cf(0x10a)](_0x51a27e['NKkkV']),console['log']('\x20\x201.\x20Get\x20your\x20API\x20token\x20from\x20https://dashboard.ranger.net/cli'),console['log']('\x20\x202.\x20Run:\x20ranger\x20setup'+(_0x9b727e===_0x51a27e['EeKNE']?_0x5cc5cf(0x113):'')+'\x20<your-api-token>'),console[_0x5cc5cf(0x10a)]('\x20\x203.\x20Run:\x20ranger\x20skillup'+(_0x9b727e===_0x51a27e['EeKNE']?_0x51a27e['yqkEn']:'')+'\x0a');return;}console['log'](_0x51a27e['KlCJl']);const _0x2b6860=getProjectRoot(),_0x138e5f=basename(_0x2b6860),_0x506a98=_0x9b727e===_0x5cc5cf(0x108)?_0x51a27e[_0x5cc5cf(0x125)](getOpencodeConfigDir,_0x5cc5cf(0x126))+_0x5cc5cf(0x10e):getClaudeConfigDir()+_0x5cc5cf(0x10e),_0x1bc40d=_0x9b727e===_0x5cc5cf(0x108)?_0x2b6860+'/.opencode/skills/':_0x2b6860+_0x5cc5cf(0x116),_0x4a05a5=process[_0x5cc5cf(0x11e)]['isTTY']&&process[_0x5cc5cf(0x111)][_0x5cc5cf(0x10d)];let _0xe124d8;if(_0x3f9d99['autoInstall'])_0xe124d8=_0x3f9d99[_0x5cc5cf(0x10c)];else{if(_0x4a05a5){const _0x2ec13f=await _0x549019['prompt']([{'type':_0x51a27e[_0x5cc5cf(0x112)],'name':_0x51a27e[_0x5cc5cf(0x122)],'message':_0x51a27e[_0x5cc5cf(0x11a)],'choices':[{'name':_0x5cc5cf(0x11d)+_0x506a98+')','value':_0x51a27e['zTWDO']},{'name':'This\x20project\x20only\x20('+_0x1bc40d+')','value':_0x5cc5cf(0x105)}]}]);_0xe124d8=_0x2ec13f['installLevel'];}else _0xe124d8='project',console['log']('Non-interactive\x20mode:\x20Installing\x20skills\x20at\x20project\x20level\x20('+_0x1bc40d+')');}let _0x54ef61=0x0;const _0x471eff=getCurrentVersion();console['log'](_0x5cc5cf(0x106));try{const _0x1fffd6=await _0x51a27e['atlZX'](installSkill,_0x51a27e[_0x5cc5cf(0x117)],{'cliVersion':_0x471eff,'level':_0xe124d8,'platform':_0x9b727e});_0x1fffd6&&_0x54ef61++;}catch(_0xfb03a1){console['warn'](_0x51a27e['wQYPZ'],_0xfb03a1 instanceof Error?_0xfb03a1['message']:_0xfb03a1);}if(_0x54ef61>0x0){const _0x54e240=_0xe124d8===_0x51a27e[_0x5cc5cf(0x127)]?'user-level':_0x51a27e['qQwIL'];console[_0x5cc5cf(0x10a)]('\x0a✅\x20Installed\x20'+_0x54ef61+'\x20'+_0x54e240+_0x5cc5cf(0x123)+(_0x54ef61>0x1?'s':'')+'\x20successfully!\x0a'),!_0x3f9d99[_0x5cc5cf(0x104)]&&(console[_0x5cc5cf(0x10a)]('To\x20use:'),_0x9b727e===_0x5cc5cf(0x108)?console[_0x5cc5cf(0x10a)](_0x51a27e['PEolj']):console[_0x5cc5cf(0x10a)]('\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[_0x5cc5cf(0x10a)](_0x51a27e[_0x5cc5cf(0x115)]);}function _0x35a4(){const _0x54ab01=['project','\x0a📦\x20Installing\x20skills...\x0a','2971161NVZtDw','opencode','11ZWMnPe','log','57qeSZPV','autoInstall','isTTY','/skills/','849768jFVLOf','12veEdge','stdout','XhTMh','\x20--opencode','9032BqgIbn','WcdLH','/.claude/skills/','inLcY','ranger','\x20\x20Failed\x20to\x20install\x20ranger\x20skill:','yYBfu','11866yDRqLT','❌\x20No\x20Ranger\x20API\x20token\x20found.\x0a','All\x20projects\x20(','stdin','3915864wGiczv','\x0a🎯\x20Ranger\x20Skill\x20Setup\x0a','✓\x20Found\x20API\x20token','fCGkm','\x20skill','189yALRnO','lpWEJ','user','zTWDO','417895XoiRnV','list','2639830kUFzpX','\x0a⚠️\x20\x20No\x20skills\x20were\x20installed.\x0a','4gjbrVZ','claude','suppressUsage'];_0x35a4=function(){return _0x54ab01;};return _0x35a4();}
@@ -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 _0x523964=_0xde58;(function(_0x2b53b8,_0x10240d){const _0x18ca27=_0xde58,_0x178879=_0x2b53b8();while(!![]){try{const _0x482e3a=parseInt(_0x18ca27(0x106))/0x1+parseInt(_0x18ca27(0xfe))/0x2*(parseInt(_0x18ca27(0x113))/0x3)+-parseInt(_0x18ca27(0xbb))/0x4+-parseInt(_0x18ca27(0xcb))/0x5+parseInt(_0x18ca27(0xd6))/0x6+parseInt(_0x18ca27(0xfd))/0x7*(-parseInt(_0x18ca27(0xf1))/0x8)+-parseInt(_0x18ca27(0x10f))/0x9;if(_0x482e3a===_0x10240d)break;else _0x178879['push'](_0x178879['shift']());}catch(_0x188f27){_0x178879['push'](_0x178879['shift']());}}}(_0x11d7,0x3f713));import{mkdir,writeFile}from'fs/promises';import{join,dirname}from'path';import{existsSync}from'fs';import{createRequire}from'module';import _0x3da524 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 _0xde58(_0x123fe8,_0x1ae138){_0x123fe8=_0x123fe8-0xb1;const _0x11d74b=_0x11d7();let _0xde58bd=_0x11d74b[_0x123fe8];return _0xde58bd;}import{getCurrentVersion}from'./utils/version.js';import{ensureClaudePlugin,ensureClaudeSkills}from'./setup/claude.js';import{ensureOpencodePluginConfig}from'./setup/opencode.js';function _0x11d7(){const _0x4dc92f=['prompt','project-scope\x20setup\x20obsolete).\x20Drop\x20the\x20--scope\x20flag\x20or\x20pass\x20--scope=user.','VNKJU','129015INvdqe','Validating\x20API\x20token...','czphL','...','oAKBj','RUwbI','\x20\x20npx\x20playwright@','.gitignore','rYTOS','force','user','1898688DkGiKw','skipped','.\x20Please\x20check\x20your\x20API\x20token\x20and\x20try\x20again.','\x0a❌\x20Failed\x20to\x20install\x20Chromium:','log','Setup\x20always\x20installs\x20at\x20user\x20scope\x20now\x20(cloud\x20profiles\x20make\x20','UowdF','tCFdS','⚠\x20No\x20git\x20repository\x20found.\x20Re-run\x20with\x20`--scope\x20user`\x20to\x20store\x20the\x20profile\x20at\x20~/.ranger/.','s).\x20On\x20a\x20slow\x20or\x20proxied\x20connection,\x20raise\x20the\x20limit\x20and\x20retry,\x20e.g.:\x0a','isTTY','CHIjI','Installation\x20failed\x20with\x20exit\x20code\x20','--with-deps','npx','message','\x20install\x20chromium','execPath','allowInsecureLocalhost','success','Authentication\x20failed:\x20','ignore','You\x20can\x20install\x20it\x20manually\x20by\x20running:','iWeNZ','TLIdz','scope','\x20(fallback\x20version)','1152nrCXXc','url','skipAuth','device_auth','organizationName','opencode','skipChromium','bINvR','method','error','exit','executablePath','1708QQxxit','15722QQGlyX','\x20now?','zPiyD','IYXdJ','\x0ascenarios\x20describing\x20what\x20to\x20verify\x20and\x20then\x20run\x20browser','stdin','trackPhaseStart','and\x20prompt\x20the\x20agent\x20like\x20usual.\x20Ranger\x20will\x20create\x20a\x20feature\x20review','279970agWVAo','AZLBX','auth','install','local','wOKSj','skills',')\x20of\x20the\x20Playwright\x20Chromium\x20browser\x20is\x20not\x20installed.\x20Install\x20it\x20now?','rJewn','703611DqIkFh','\x0aInstalling\x20Chromium\x20browser...\x0a','profile','playwright/package.json','33nhmFSH','\x0a\x20\x20https://docs.ranger.net/main/concepts/profiles','1.56.1','inherit','NOQUu','\x0aSkipping\x20profile\x20setup\x20(--skip-auth).\x20Run\x20`ranger\x20setup`\x20with\x20auth\x20to\x20add\x20a\x20profile\x20later.\x0a','\x0a\x20\x20Chromium\x20install\x20timed\x20out\x20(limit\x20','MUdnz','chromium','.\x20Please\x20check\x20your\x20network\x20connection\x20and\x20server\x20URL.','ZKjMh','\x20\x20\x20\x20RANGER_CHROMIUM_INSTALL_TIMEOUT_MS=1800000\x20ranger\x20setup\x20deps','\x0a⚠\x20Skipping\x20Chromium\x20installation.','\x1b[0m','\x0aagent\x20like\x20usual.\x20Claude\x20will\x20create\x20a\x20feature\x20review\x20with','cGMha','TLDrY','\x0a🚀\x20Ranger\x20Setup\x0a','OOFcK','PaImm','✓\x20Authenticated\x20to\x20','You\x20will\x20need\x20to\x20install\x20it\x20before\x20using\x20Ranger:','Erfgy','1135648suqNhv','ranger\x20profile\x20add\x20<name>','plugin','LrxGV','SIGKILL','trackPhaseEnd','lmINM','warn','playwright@','YxZQC','\x0a\x20\x20','env','yelfF'];_0x11d7=function(){return _0x4dc92f;};return _0x11d7();}import{installSkill}from'./utils/skills.js';import{spawn}from'child_process';const require=createRequire(import.meta.url);export const PLAYWRIGHT_CHROMIUM_INSTALL_FALLBACK_VERSION=_0x523964(0x115);const bold=_0xd6f3fd=>'\x1b[1m'+_0xd6f3fd+_0x523964(0xb1);export function getPlaywrightVersion(){const _0x181e3e=_0x523964;try{const _0x6d5cc0=require['resolve'](_0x181e3e(0x112)),_0x3b27ad=require(_0x6d5cc0);return _0x3b27ad['version'];}catch{return null;}}function resolveBundledPlaywrightCli(){const _0x564ccf=_0x523964,_0x643568={'IYXdJ':function(_0x316701,_0x5b4fbd,_0x4a5028){return _0x316701(_0x5b4fbd,_0x4a5028);},'TLDrY':function(_0x16b1d9,_0x57feca){return _0x16b1d9(_0x57feca);}};try{const _0x594090=_0x643568[_0x564ccf(0x101)](join,_0x643568[_0x564ccf(0xb4)](dirname,require['resolve']('playwright/package.json')),'cli.js');return _0x643568[_0x564ccf(0xb4)](existsSync,_0x594090)?_0x594090:null;}catch{return null;}}const CHROMIUM_INSTALL_TIMEOUT_MS=Number(process[_0x523964(0xc6)]['RANGER_CHROMIUM_INSTALL_TIMEOUT_MS'])||0x927c0;class ChromiumInstallTimeoutError extends Error{}export async function installChromiumBinary(_0x3fc859,_0x4a74cf=![]){const _0x56acd7=_0x523964,_0x4279a3={'wOKSj':_0x56acd7(0xe4),'JzHnG':function(_0x2811b5,_0x2a3b49,_0x5d9429){return _0x2811b5(_0x2a3b49,_0x5d9429);},'cHTcg':function(_0x24dddb,_0x533b17){return _0x24dddb/_0x533b17;},'MUdnz':function(_0xd4ccae,_0x5bf863){return _0xd4ccae instanceof _0x5bf863;}},_0xcce954=resolveBundledPlaywrightCli(),_0x1c538f=_0xcce954?process[_0x56acd7(0xe7)]:_0x4279a3[_0x56acd7(0x10b)],_0x39cf88=[_0xcce954??_0x56acd7(0xc3)+_0x3fc859,'install',..._0x4a74cf?[_0x56acd7(0xe3)]:[],'chromium'];let _0x3b44a7=![];for(let _0x501a36=0x1;;_0x501a36++){try{await _0x4279a3['JzHnG'](runChromiumInstall,_0x1c538f,_0x39cf88);return;}catch(_0x152dfc){_0x152dfc instanceof ChromiumInstallTimeoutError&&!_0x3b44a7&&(_0x3b44a7=!![],console[_0x56acd7(0xda)](_0x56acd7(0x119)+Math['round'](_0x4279a3['cHTcg'](CHROMIUM_INSTALL_TIMEOUT_MS,0x3e8))+_0x56acd7(0xdf)+_0x56acd7(0x11e)));if(_0x501a36>=0x3)throw _0x152dfc;const _0x560eba=_0x4279a3[_0x56acd7(0x11a)](_0x152dfc,Error)?_0x152dfc[_0x56acd7(0xe5)]:String(_0x152dfc);console[_0x56acd7(0xda)]('\x20\x20Chromium\x20install\x20attempt\x20'+_0x501a36+'\x20failed\x20('+_0x560eba+');\x20retrying...');}}}function runChromiumInstall(_0x372b00,_0x57dd6b){const _0x4f5894=_0x523964,_0x2dfd56={'Erfgy':function(_0x4a2be0,_0x10dfa8){return _0x4a2be0(_0x10dfa8);},'gahsX':function(_0x566ef9){return _0x566ef9();},'lmINM':function(_0x99b5c2,_0x192e40,_0x65f3ce,_0x3706ee){return _0x99b5c2(_0x192e40,_0x65f3ce,_0x3706ee);},'shUIj':_0x4f5894(0x116),'zOIyS':'win32','rYTOS':function(_0x24f127,_0x1dc9cf,_0x13498a){return _0x24f127(_0x1dc9cf,_0x13498a);}};return new Promise((_0x129d64,_0x836009)=>{const _0x461987=_0x4f5894,_0x31d944={'vOfLu':function(_0x1da391,_0x11e66a){const _0x1b5c08=_0xde58;return _0x2dfd56[_0x1b5c08(0xba)](_0x1da391,_0x11e66a);},'UzPXF':function(_0xe77d2f,_0x584ee8){return _0xe77d2f(_0x584ee8);}},_0x5e4262=_0x2dfd56[_0x461987(0xc1)](spawn,_0x372b00,_0x57dd6b,{'stdio':[_0x461987(0xeb),_0x461987(0x116),_0x2dfd56['shUIj']],'shell':process['platform']===_0x2dfd56['zOIyS']}),_0x4f6d1c=_0x2dfd56[_0x461987(0xd3)](setTimeout,()=>{const _0x361eab=_0x461987;_0x5e4262['kill'](_0x361eab(0xbf)),_0x836009(new ChromiumInstallTimeoutError('Chromium\x20install\x20timed\x20out\x20after\x20'+Math['round'](CHROMIUM_INSTALL_TIMEOUT_MS/0x3e8)+'s'));},CHROMIUM_INSTALL_TIMEOUT_MS);_0x5e4262['on']('close',_0x1f2336=>{const _0x5612e1=_0x461987;_0x2dfd56['Erfgy'](clearTimeout,_0x4f6d1c);if(_0x1f2336===0x0)_0x2dfd56['gahsX'](_0x129d64);else _0x836009(new Error(_0x5612e1(0xe2)+_0x1f2336));}),_0x5e4262['on'](_0x461987(0xfa),_0x19d0aa=>{_0x31d944['vOfLu'](clearTimeout,_0x4f6d1c),_0x31d944['UzPXF'](_0x836009,_0x19d0aa);});});}export async function authenticate(_0x349e77){const _0x2accdd=_0x523964,_0x1c5ebe={'cGMha':function(_0x3b37d5){return _0x3b37d5();},'lneiP':function(_0x400f28,_0x5a266e){return _0x400f28 instanceof _0x5a266e;},'UCwKz':_0x2accdd(0xf4),'Isyqc':_0x2accdd(0xcc),'MMAMb':function(_0x4f827a,_0x2cf130){return _0x4f827a(_0x2cf130);},'jrrjA':'✓\x20Stored\x20credentials\x20locally','CHIjI':'provided_token'};if(!_0x349e77){const _0x2fec99=await _0x1c5ebe[_0x2accdd(0xb3)](getToken);if(_0x2fec99){const _0x435a33=await getCurrentUser(_0x2fec99);if(_0x435a33['success'])return console['log']('✓\x20Already\x20authenticated\x20to\x20'+_0x435a33[_0x2accdd(0xd5)]['organizationName']),{'token':_0x2fec99,'method':'existing_token'};}try{_0x349e77=await runDeviceAuthFlow();}catch(_0x459688){throw new Error(_0x2accdd(0xea)+(_0x1c5ebe['lneiP'](_0x459688,Error)?_0x459688['message']:_0x459688));}const _0x4ec0e4=await getCurrentUser(_0x349e77);if(!_0x4ec0e4[_0x2accdd(0xe9)])throw new Error('Failed\x20to\x20validate\x20provisioned\x20API\x20key:\x20'+_0x4ec0e4[_0x2accdd(0xfa)]);return console['log'](_0x2accdd(0xb8)+_0x4ec0e4['user'][_0x2accdd(0xf5)]),{'token':_0x349e77,'method':_0x1c5ebe['UCwKz']};}console['log'](_0x1c5ebe['Isyqc']);const _0x11b3b2=await getCurrentUser(_0x349e77);if(!_0x11b3b2[_0x2accdd(0xe9)]){if(_0x11b3b2['status'])throw new Error('Authentication\x20failed:\x20'+_0x11b3b2['error']+_0x2accdd(0xd8));else throw new Error('Failed\x20to\x20connect\x20to\x20MCP\x20server:\x20'+_0x11b3b2[_0x2accdd(0xfa)]+_0x2accdd(0x11c));}return console[_0x2accdd(0xda)](_0x2accdd(0xb8)+_0x11b3b2['user']['organizationName']),await _0x1c5ebe['MMAMb'](storeToken,_0x349e77),console['log'](process[_0x2accdd(0xc6)]['GITHUB_ENV']?'✓\x20Exported\x20credentials\x20for\x20CI':_0x1c5ebe['jrrjA']),{'token':_0x349e77,'method':_0x1c5ebe[_0x2accdd(0xe1)]};}export async function ensureRangerDir(_0x2faa0a){const _0x1ddd45=_0x523964,_0x48b4ff={'RUwbI':function(_0x19459b,_0x1df22f,_0x833659){return _0x19459b(_0x1df22f,_0x833659);}};void _0x2faa0a;const _0x3221c1=getRangerHomeDir();return!existsSync(_0x3221c1)?(await _0x48b4ff[_0x1ddd45(0xd0)](mkdir,_0x3221c1,{'recursive':!![]}),console['log']('✓\x20Created\x20~/.ranger/\x20directory'),{'path':_0x3221c1,'installed':!![]}):(console[_0x1ddd45(0xda)]('✓\x20~/.ranger/\x20directory\x20already\x20exists'),{'path':_0x3221c1,'installed':![]});}export async function ensureChromium(_0x458a91=![]){const _0x1d12e7=_0x523964,_0x4c04c0={'ZKjMh':function(_0x315499,_0x55cc7a){return _0x315499??_0x55cc7a;},'XgCWl':'\x0a✓\x20Playwright\x20Chromium\x20installed\x20successfully','oAKBj':_0x1d12e7(0xd9),'jWQeI':_0x1d12e7(0xec),'cdEWd':_0x1d12e7(0x11f)};let _0x5136a9=![];try{const _0x17de05=chromium[_0x1d12e7(0xfc)]();_0x5136a9=existsSync(_0x17de05);}catch{_0x5136a9=![];}if(_0x5136a9)return console['log']('✓\x20Playwright\x20Chromium\x20browser\x20found'),![];const _0x58df17=getPlaywrightVersion(),_0x35157d=_0x4c04c0[_0x1d12e7(0x11d)](_0x58df17,PLAYWRIGHT_CHROMIUM_INSTALL_FALLBACK_VERSION),_0x1f0d44=!_0x58df17,_0x417b84=process[_0x1d12e7(0x103)][_0x1d12e7(0xe0)]&&process['stdout'][_0x1d12e7(0xe0)];let _0x2443cd=!![];if(_0x417b84){const {install:_0x802b2f}=await _0x3da524[_0x1d12e7(0xc8)]([{'type':'confirm','name':_0x1d12e7(0x109),'message':_0x1f0d44?'Could\x20not\x20determine\x20local\x20Playwright\x20version.\x20Install\x20Playwright\x20Chromium\x20using\x20fallback\x20version\x20'+_0x35157d+_0x1d12e7(0xff):'The\x20required\x20version\x20('+_0x35157d+_0x1d12e7(0x10d),'default':!![]}]);_0x2443cd=_0x802b2f;}else console['log']('\x0aNon-interactive\x20mode:\x20Auto-installing\x20Playwright\x20Chromium\x20'+_0x35157d+(_0x1f0d44?_0x1d12e7(0xf0):'')+_0x1d12e7(0xce));if(_0x2443cd){console[_0x1d12e7(0xda)](_0x1d12e7(0x110));try{await installChromiumBinary(_0x35157d,_0x458a91),console['log'](_0x4c04c0['XgCWl']);}catch(_0x168908){console['error'](_0x4c04c0[_0x1d12e7(0xcf)],_0x168908 instanceof Error?_0x168908['message']:_0x168908),console[_0x1d12e7(0xda)](_0x4c04c0['jWQeI']),console[_0x1d12e7(0xda)](_0x1d12e7(0xd1)+_0x35157d+_0x1d12e7(0xe6));}}else console[_0x1d12e7(0xda)](_0x4c04c0['cdEWd']),console[_0x1d12e7(0xda)](_0x1d12e7(0xb9)),console[_0x1d12e7(0xda)](_0x1d12e7(0xd1)+_0x35157d+'\x20install\x20chromium');return!![];}export async function writeRangerGitignore(_0x2a5f93){const _0x14bc73=_0x523964,_0x4f70e8={'YxZQC':function(_0x55a04a,_0x382215,_0x59c744){return _0x55a04a(_0x382215,_0x59c744);},'etgWw':'✓\x20Created\x20.ranger/.gitignore'},_0x5cdabd=join(_0x2a5f93,_0x14bc73(0xd2)),_0x3a2cfd='\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 _0x4f70e8[_0x14bc73(0xc4)](writeFile,_0x5cdabd,_0x3a2cfd),console[_0x14bc73(0xda)](_0x4f70e8['etgWw']);}export async function ensureLocalEnv(_0xf85d76,_0x36963a){const _0x475c5f=_0x523964,_0x4ff05e={'bINvR':function(_0x4366fe){return _0x4366fe();},'VDfgM':_0x475c5f(0xd5),'wlImz':_0x475c5f(0xde),'rJewn':function(_0x522c97,_0x2da466){return _0x522c97===_0x2da466;},'AZLBX':function(_0x127ca4,_0x3be6fb,_0x8353c0,_0x10f287){return _0x127ca4(_0x3be6fb,_0x8353c0,_0x10f287);},'rpecM':'\x0a❌\x20Profile\x20setup\x20failed:','tCFdS':function(_0x5d4088,_0x4a5da1){return _0x5d4088 instanceof _0x4a5da1;}};if(!_0x4ff05e[_0x475c5f(0xf8)](findGitRoot)&&_0xf85d76?.['scope']!==_0x4ff05e['VDfgM'])return console[_0x475c5f(0xda)](_0x4ff05e['wlImz']),{'ready':![],'skipped':!![]};const _0x53bdea=_0x4ff05e[_0x475c5f(0x10e)](_0xf85d76?.['scope'],_0x475c5f(0xd5))?getRangerHomeDir():undefined;if(findExistingEnv('local',{'locations':[_0x475c5f(0x10a)],'rangerDir':_0x53bdea}))return console['log']('✓\x20Local\x20profile\x20already\x20exists'),{'ready':!![],'skipped':![]};try{return await _0x4ff05e[_0x475c5f(0x107)](addEnv,_0x475c5f(0x10a),{'url':_0xf85d76?.[_0x475c5f(0xf2)],'force':_0xf85d76?.['force'],'allowInsecureLocalhost':_0xf85d76?.['allowInsecureLocalhost'],'scope':_0xf85d76?.[_0x475c5f(0xef)]},_0x36963a),{'ready':!![],'skipped':![]};}catch(_0x417dbb){return console['error'](_0x4ff05e['rpecM'],_0x4ff05e[_0x475c5f(0xdd)](_0x417dbb,Error)?_0x417dbb[_0x475c5f(0xe5)]:_0x417dbb),{'ready':![],'skipped':![]};}}export async function start(_0x8508a9,_0x2ab04b,_0x5253bb){const _0x4b113d=_0x523964,_0x3fa563={'yelfF':function(_0x3c08f1,_0x536060){return _0x3c08f1+_0x536060;},'VNKJU':_0x4b113d(0xd5),'GtFiQ':'✓\x20Skipping\x20authentication\x20(--skip-auth)','ZyUaX':function(_0x15dea2,_0x5ecab9){return _0x15dea2(_0x5ecab9);},'OEbpx':'✓\x20Skipping\x20Chromium\x20check\x20(--skip-chromium)','czphL':_0x4b113d(0x11b),'iWeNZ':_0x4b113d(0xbd),'UjZYC':function(_0x559f2a,_0x2c8197){return _0x559f2a(_0x2c8197);},'OOFcK':'ranger','UowdF':'\x20\x20Failed\x20to\x20install\x20OpenCode\x20skill:','nLuvj':function(_0x23a551,_0x3b0b73){return _0x23a551 instanceof _0x3b0b73;},'LrxGV':'skills','PaImm':function(_0x4f3348,_0x46b28c,_0x5d7a1a){return _0x4f3348(_0x46b28c,_0x5d7a1a);},'zPiyD':_0x4b113d(0x111),'NOQUu':function(_0x5868ff,_0x18d2e0){return _0x5868ff+_0x18d2e0;},'XOzLL':function(_0x57a1e4,_0xe18285){return _0x57a1e4(_0xe18285);},'TLIdz':function(_0x2b0d03,_0x3a1adc){return _0x2b0d03+_0x3a1adc;}};console['log'](_0x4b113d(0xb5));_0x2ab04b?.[_0x4b113d(0xef)]!==undefined&&_0x2ab04b['scope']!==_0x4b113d(0xd5)&&(console[_0x4b113d(0xfa)](_0x3fa563[_0x4b113d(0xc7)]('ranger\x20setup\x20--scope='+String(_0x2ab04b[_0x4b113d(0xef)])+'\x20is\x20no\x20longer\x20supported.\x20',_0x4b113d(0xdb))+_0x4b113d(0xc9)),process[_0x4b113d(0xfb)](0x1));_0x2ab04b={..._0x2ab04b,'scope':_0x3fa563[_0x4b113d(0xca)]};const _0x8f6bf2=!existsSync(getRangerHomeDir());await ensureRangerDir(_0x3fa563[_0x4b113d(0xca)]);if(_0x2ab04b?.['skipAuth'])console[_0x4b113d(0xda)](_0x3fa563['GtFiQ']),_0x5253bb?.[_0x4b113d(0xc0)]('auth',{'isFirstRun':_0x8f6bf2,'method':_0x4b113d(0xd7)});else{_0x5253bb?.['trackPhaseStart'](_0x4b113d(0x108));const _0x3dc651=await _0x3fa563['ZyUaX'](authenticate,_0x8508a9);_0x5253bb?.[_0x4b113d(0xc0)]('auth',{'isFirstRun':_0x8f6bf2,'method':_0x3dc651[_0x4b113d(0xf9)]});}_0x5253bb?.['trackPhaseStart']('chromium');_0x2ab04b?.[_0x4b113d(0xf7)]?console['log'](_0x3fa563['OEbpx']):await _0x3fa563['ZyUaX'](ensureChromium,_0x2ab04b?.['withDeps']);_0x5253bb?.['trackPhaseEnd'](_0x3fa563[_0x4b113d(0xcd)],{'isFirstRun':_0x8f6bf2,'skipped':!!_0x2ab04b?.[_0x4b113d(0xf7)]}),console['log']('\x0a✅\x20Ranger\x20setup\x20complete!\x0a');const _0x5d2727=_0x2ab04b?.['scope'],_0x453f0c=_0x2ab04b?.[_0x4b113d(0xf6)]??![];let _0xfe3a6f=null;_0x453f0c?(_0x5253bb?.['trackPhaseStart'](_0x4b113d(0xbd)),_0xfe3a6f=await ensureOpencodePluginConfig(_0x5d2727),_0x5253bb?.[_0x4b113d(0xc0)](_0x3fa563[_0x4b113d(0xed)],{'isFirstRun':_0x8f6bf2,'opencode':!![]})):(_0x5253bb?.[_0x4b113d(0x104)](_0x3fa563['iWeNZ']),await _0x3fa563['UjZYC'](ensureClaudePlugin,_0x5d2727),_0x5253bb?.['trackPhaseEnd'](_0x3fa563[_0x4b113d(0xed)],{'isFirstRun':_0x8f6bf2}));if(_0x453f0c&&_0xfe3a6f){_0x5253bb?.[_0x4b113d(0x104)](_0x4b113d(0x10c));try{await installSkill(_0x3fa563[_0x4b113d(0xb6)],{'level':_0xfe3a6f['scope'],'cliVersion':getCurrentVersion(),'platform':'opencode'}),_0x5253bb?.['trackPhaseEnd']('skills',{'isFirstRun':_0x8f6bf2,'opencode':!![]});}catch(_0x14a53f){console[_0x4b113d(0xc2)](_0x3fa563[_0x4b113d(0xdc)],_0x3fa563['nLuvj'](_0x14a53f,Error)?_0x14a53f['message']:_0x14a53f),_0x5253bb?.['trackPhaseEnd'](_0x4b113d(0x10c),{'isFirstRun':_0x8f6bf2,'opencode':!![],'failed':!![]});}}else _0x5253bb?.[_0x4b113d(0x104)](_0x3fa563[_0x4b113d(0xbe)]),await ensureClaudeSkills(_0x5d2727),_0x5253bb?.[_0x4b113d(0xc0)](_0x4b113d(0x10c),{'isFirstRun':_0x8f6bf2});if(_0x2ab04b?.[_0x4b113d(0xf3)])console['log'](_0x4b113d(0x118));else{if(_0x2ab04b?.['url']){_0x5253bb?.['trackPhaseStart'](_0x4b113d(0x111));const _0x179b88=await _0x3fa563[_0x4b113d(0xb7)](ensureLocalEnv,{'url':_0x2ab04b['url'],'force':_0x2ab04b?.[_0x4b113d(0xd4)],'allowInsecureLocalhost':_0x2ab04b?.[_0x4b113d(0xe8)],'scope':_0x3fa563[_0x4b113d(0xca)]},_0x5253bb);_0x5253bb?.[_0x4b113d(0xc0)](_0x3fa563[_0x4b113d(0x100)],{'isFirstRun':_0x8f6bf2,'profileReady':_0x179b88['ready'],'userSkipped':_0x179b88[_0x4b113d(0xd7)]});}else console['log'](_0x3fa563['NOQUu'](_0x3fa563[_0x4b113d(0x117)]('\x0aTo\x20set\x20up\x20a\x20profile\x20for\x20your\x20app,\x20run:'+(_0x4b113d(0xc5)+bold(_0x4b113d(0xbc))),'\x0a\x20\x20(opens\x20a\x20browser\x20so\x20you\x20can\x20log\x20in\x20once)')+'\x0a\x0aFor\x20CI\x20/\x20background\x20agents\x20and\x20other\x20setup\x20options,\x20see:',_0x4b113d(0x114)));}if(_0x453f0c)console[_0x4b113d(0xda)]('\x0aIn\x20OpenCode,\x20enable\x20Ranger\x20hooks\x20(run\x20the\x20`ranger_enable`\x20tool)'),console['log'](_0x4b113d(0x105)),console['log']('with\x20scenarios\x20describing\x20what\x20to\x20verify\x20and\x20then\x20run\x20browser'),console['log']('verification\x20to\x20check\x20its\x20work\x20as\x20it\x20builds.');else{const _0x327aca=_0x3fa563['XOzLL'](bold,'/ranger:enable');console['log'](_0x3fa563['NOQUu'](_0x3fa563[_0x4b113d(0xee)]('\x0aIn\x20Claude\x20Code,\x20run\x20'+_0x327aca+'\x20and\x20prompt\x20the\x20coding',_0x4b113d(0xb2)),_0x4b113d(0x102))+'\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 _0x5ae4af=_0x3715;function _0x3715(_0x17621d,_0x5104ff){_0x17621d=_0x17621d-0x139;const _0xe7b90f=_0xe7b9();let _0x3715ad=_0xe7b90f[_0x17621d];return _0x3715ad;}(function(_0x4fbb38,_0x13f9de){const _0x170398=_0x3715,_0x1b9bca=_0x4fbb38();while(!![]){try{const _0x4b311a=parseInt(_0x170398(0x19d))/0x1+-parseInt(_0x170398(0x173))/0x2+parseInt(_0x170398(0x17b))/0x3*(parseInt(_0x170398(0x16e))/0x4)+-parseInt(_0x170398(0x185))/0x5*(-parseInt(_0x170398(0x149))/0x6)+-parseInt(_0x170398(0x179))/0x7*(-parseInt(_0x170398(0x1a6))/0x8)+parseInt(_0x170398(0x187))/0x9+parseInt(_0x170398(0x17f))/0xa*(-parseInt(_0x170398(0x18d))/0xb);if(_0x4b311a===_0x13f9de)break;else _0x1b9bca['push'](_0x1b9bca['shift']());}catch(_0xaf535c){_0x1b9bca['push'](_0x1b9bca['shift']());}}}(_0xe7b9,0x92bb2));import{readFile,readdir}from'fs/promises';function _0xe7b9(){const _0x3203fd=['not_installed','qHqxO','settingsPath','ranger@trailhead','1837BOsPlU','string','SKILL.md','join','xGRFY','\x20(up\x20to\x20date)','RPoFX','\x20cloud','USNwR','\x1b[1m','McBuc','unknown','\x0a---\x20Profiles\x20---','config','ignore','Organization:\x20','726543JIWNeF','toString','match','XDdME','PLGuN','ZwlRG','MhJLx','qERhm','WCMTW','1880SwkNWA','opencode','agrEj','debug','Bgdzn','no\x20session','has','sIvsZ','\x20(latest:\x20','UzKKy','log','\x20\x20Project-level:','\x1b[0m','\x0a---\x20Skills\x20---','auth.json','No\x20profiles\x20configured','FRfjN','\x20\x20OpenCode\x20not\x20installed\x20or\x20not\x20available','encrypted','6KpSgxe','SZHQQ',':\x20installed\x20(','CMxnF','\x1b]8;;\x07','project','iPzkW','\x1b]8;;file://','stdout','plaintext','disabled','hasEncryptedAuth','\x20\x20\x20\x20Settings:\x20','JlgZc','@ranger-testing/opencode-plugin','\x20\x20Run:\x20ranger\x20profile\x20ls\x20\x20(list\x20all)','scope','JKGaP','trim','Root:\x20','length','close','hTtCJ','API\x20Token:\x20✗\x20Not\x20found','Version:\x20','name','gSgEo','AYErv','plugin','eOhZb','push','version','\x20\x20\x20\x20','pkNhj','\x20(active)','dRDuN','enabled','2722696RLaipG','not_configured','\x20\x20\x20\x20Session:\x20','\x20plugin(s)\x20configured','includes','1729908cEzcyY','\x20\x20User-level:','details','QsYPY','qAcdc','\x20\x20Run:\x20ranger\x20profile\x20add\x20<profile-name>','21910MyrwDy','oCHDd','3NxsnUB','parse','status','map','65630qUOXQr','JWeqA','DASxl','\x20\x20Run:\x20ranger\x20skillup','dVpTC','XtDFc','1163265ZISUyT','user','1679085QgFpDW','filter'];_0xe7b9=function(){return _0x3203fd;};return _0xe7b9();}import{join,basename}from'path';import{existsSync}from'fs';import{getToken}from'./utils/keychain.js';import{getCurrentVersion,getLatestVersion}from'./utils/version.js';import{getApiBaseUrl,getCurrentEnvironment}from'./utils/environment.js';import{getProjectSkillsDir,getUserSkillsDir}from'./utils/claudeConfig.js';import{getEnvNames}from'./env.js';import{getCurrentUser}from'./utils/userApi.js';import{getRangerDir}from'./utils/rangerRoot.js';import{getEnvDir}from'./utils/settings.js';import{listCloudProfiles}from'./utils/cloudProfile.js';import{getPluginInfo}from'./utils/claudePlugin.js';import{RANGER_MANAGED_SKILLS}from'./utils/skills.js';import{spawn}from'child_process';const bold=_0x269043=>_0x5ae4af(0x196)+_0x269043+_0x5ae4af(0x142),link=(_0x2ba779,_0x13110a)=>_0x5ae4af(0x150)+_0x2ba779+'\x07'+(_0x13110a||_0x2ba779)+_0x5ae4af(0x14d);async function getOpencodePluginStatus(){const _0x26f7ac=_0x5ae4af,_0x5f3064={'qHqxO':function(_0x9998b5,_0x25658a){return _0x9998b5(_0x25658a);},'xfbFG':_0x26f7ac(0x189),'XDdME':'configured','oCHDd':function(_0x11da8d,_0x3d61b8){return _0x11da8d>_0x3d61b8;},'aakee':function(_0x314cbd,_0x34b9cd){return _0x314cbd>_0x34b9cd;},'QjKFq':_0x26f7ac(0x1a7),'USNwR':_0x26f7ac(0x139),'Gittp':'pipe','oXiGc':'data','EWoqA':'error','JWeqA':_0x26f7ac(0x15e)};return new Promise(_0x44b4ef=>{const _0x56fede=_0x26f7ac,_0x2c663b={'iPzkW':function(_0x5baef8,_0x55198c){return _0x5baef8(_0x55198c);},'JKmZC':'not_installed','espFs':function(_0x48347e,_0x989ac){return _0x48347e!==_0x989ac;}},_0x5ed282=spawn(_0x5f3064['QjKFq'],[_0x5f3064[_0x56fede(0x195)],_0x56fede(0x19a)],{'stdio':[_0x56fede(0x19b),_0x5f3064['Gittp'],_0x5f3064['Gittp']]});let _0x516b44='';_0x5ed282[_0x56fede(0x151)]?.['on'](_0x5f3064['oXiGc'],_0x3f8750=>{const _0x253cf2=_0x56fede;_0x516b44+=_0x3f8750[_0x253cf2(0x19e)]();}),_0x5ed282['stderr']?.['on'](_0x5f3064['oXiGc'],_0x4eb494=>{const _0x5aff97=_0x56fede;_0x516b44+=_0x4eb494[_0x5aff97(0x19e)]();}),_0x5ed282['on'](_0x5f3064['EWoqA'],()=>{const _0x451ae5=_0x56fede;_0x2c663b[_0x451ae5(0x14f)](_0x44b4ef,{'status':_0x2c663b['JKmZC']});}),_0x5ed282['on'](_0x5f3064[_0x56fede(0x180)],_0x3c4b42=>{const _0x37f104=_0x56fede;if(_0x3c4b42!==0x0){_0x5f3064[_0x37f104(0x18a)](_0x44b4ef,{'status':_0x5f3064['xfbFG']});return;}const _0x5c5705=_0x516b44[_0x37f104(0x15b)]();let _0x47ed82=null;if(_0x5c5705)try{_0x47ed82=JSON[_0x37f104(0x17c)](_0x5c5705);}catch{const _0x603a6a=_0x5c5705['match'](/\{[\s\S]*\}$/);if(_0x603a6a)try{_0x47ed82=JSON[_0x37f104(0x17c)](_0x603a6a[0x0]);}catch{_0x47ed82=null;}}const _0x4bb79b=Array['isArray'](_0x47ed82?.[_0x37f104(0x165)])?_0x47ed82?.[_0x37f104(0x165)]:[],_0x4ea171=_0x4bb79b['some'](_0x3dcc57=>{const _0x5a0195=_0x37f104;if(_0x2c663b['espFs'](typeof _0x3dcc57,_0x5a0195(0x18e)))return![];return _0x3dcc57['includes'](_0x5a0195(0x157))||_0x3dcc57['includes']('opencode-plugin');});if(_0x4ea171){_0x44b4ef({'status':_0x5f3064[_0x37f104(0x1a0)],'details':_0x5f3064[_0x37f104(0x17a)](_0x4bb79b[_0x37f104(0x15d)],0x0)?_0x4bb79b[_0x37f104(0x15d)]+_0x37f104(0x171):undefined});return;}if(_0x5f3064['aakee'](_0x4bb79b['length'],0x0)){_0x44b4ef({'status':_0x37f104(0x16f),'details':_0x4bb79b['length']+'\x20plugin(s)\x20configured'});return;}_0x44b4ef({'status':'not_configured'});});});}async function getSkillsFromDir(_0x472b55,_0x699081){const _0x8d06d3=_0x5ae4af,_0x2cfd67={'IZZbT':function(_0x2a5c8b,_0x264360,_0x3307b2){return _0x2a5c8b(_0x264360,_0x3307b2);},'WtZgf':function(_0x43af14,_0x481d90,_0x1ecdf6,_0x59b763){return _0x43af14(_0x481d90,_0x1ecdf6,_0x59b763);},'uzIyv':_0x8d06d3(0x18f),'IQrIk':function(_0x5f0076,_0x5295ad){return _0x5f0076(_0x5295ad);},'rStoW':function(_0x593e5b,_0x235c95,_0x159ab3){return _0x593e5b(_0x235c95,_0x159ab3);},'xiciC':'utf-8'};if(!existsSync(_0x472b55))return[];const _0x413ea6=[];try{const _0x6a3950=await _0x2cfd67['IZZbT'](readdir,_0x472b55,{'withFileTypes':!![]});for(const _0x39eef4 of _0x6a3950){if(_0x39eef4['isDirectory']()){const _0x21c038=_0x2cfd67['WtZgf'](join,_0x472b55,_0x39eef4[_0x8d06d3(0x162)],_0x2cfd67['uzIyv']);if(_0x2cfd67['IQrIk'](existsSync,_0x21c038)){let _0x3ef8bc=_0x39eef4['name'];try{const _0x55e178=await _0x2cfd67['rStoW'](readFile,_0x21c038,_0x2cfd67['xiciC']),_0x378381=_0x55e178[_0x8d06d3(0x19f)](/name:\s*(.+)/);_0x378381&&(_0x3ef8bc=_0x378381[0x1]['trim']());}catch{}_0x413ea6['push']({'name':_0x39eef4['name'],'displayName':_0x3ef8bc,'path':_0x21c038,'level':_0x699081});}}}}catch{return[];}return _0x413ea6;}async function getInstalledSkills(){const _0xc8f204=_0x5ae4af,_0x10056e={'ijpfX':function(_0x332388){return _0x332388();},'qERhm':_0xc8f204(0x14e),'eSEjV':function(_0x118b45,_0xdfc3,_0x43fe32){return _0x118b45(_0xdfc3,_0x43fe32);},'ZwlRG':function(_0x27aec0){return _0x27aec0();}},[_0x256155,_0x20b20a]=await Promise['all']([getSkillsFromDir(_0x10056e['ijpfX'](getProjectSkillsDir),_0x10056e[_0xc8f204(0x1a4)]),_0x10056e['eSEjV'](getSkillsFromDir,_0x10056e[_0xc8f204(0x1a2)](getUserSkillsDir),'user')]);return{'project':_0x256155,'user':_0x20b20a};}async function getEnvironments(){const _0x3ebe31=_0x5ae4af,_0x51fa2e={'gZFqC':function(_0x530a34,_0xec2b0e){return _0x530a34(_0xec2b0e);},'hTtCJ':function(_0x4d19b4,_0x3711c7,_0x4d5a18){return _0x4d19b4(_0x3711c7,_0x4d5a18);},'CMxnF':'settings.json','mSWbn':_0x3ebe31(0x144),'dRDuN':function(_0x4ac92c,_0x1647b1){return _0x4ac92c(_0x1647b1);},'Bgdzn':function(_0x1784d2,_0xf47f2c){return _0x1784d2(_0xf47f2c);},'PHwCH':function(_0x1c8ac7,_0x8c22f9){return _0x1c8ac7===_0x8c22f9;},'RPoFX':function(_0x57e1db){return _0x57e1db();}},{envNames:_0x44ca0c,activeEnv:_0x5cdcbc}=await _0x51fa2e[_0x3ebe31(0x193)](getEnvNames),_0x4caf8c=_0x51fa2e[_0x3ebe31(0x193)](getRangerDir);if(!existsSync(_0x4caf8c))return{'envs':[],'activeEnv':null};const _0x51fcc7=_0x44ca0c['map'](_0x5d600e=>{const _0x5b183a=_0x3ebe31,_0x49a8a5=_0x51fa2e['gZFqC'](getEnvDir,_0x5d600e),_0xa6983a=_0x51fa2e[_0x5b183a(0x15f)](join,_0x49a8a5,_0x51fa2e[_0x5b183a(0x14c)]),_0x9d0550=_0x51fa2e[_0x5b183a(0x15f)](join,_0x49a8a5,_0x51fa2e['mSWbn']),_0x645a9a=join(_0x49a8a5,'auth.json.enc');return{'name':_0x5d600e,'settingsPath':_0x51fa2e[_0x5b183a(0x16c)](existsSync,_0xa6983a)?_0xa6983a:'(not\x20found)','hasPlaintextAuth':_0x51fa2e[_0x5b183a(0x13a)](existsSync,_0x9d0550),'hasEncryptedAuth':_0x51fa2e['gZFqC'](existsSync,_0x645a9a),'isActive':_0x51fa2e['PHwCH'](_0x5d600e,_0x5cdcbc)};});return{'envs':_0x51fcc7,'activeEnv':_0x5cdcbc};}export async function status(){const _0x2f9662=_0x5ae4af,_0x25cb0d={'DASxl':'\x0a📊\x20Ranger\x20Status\x0a','McBuc':function(_0x338f44){return _0x338f44();},'BHosr':function(_0x2d2b3f,_0xea0e64){return _0x2d2b3f(_0xea0e64);},'FRfjN':function(_0x2f3cd5,_0x3ac9d1){return _0x2f3cd5(_0x3ac9d1);},'dVpTC':function(_0x3475a3,_0x5d1232,_0x463cd4){return _0x3475a3(_0x5d1232,_0x463cd4);},'jwSsG':function(_0x50fe1e,_0x83d45d){return _0x50fe1e(_0x83d45d);},'Tvzez':function(_0x1c4257){return _0x1c4257();},'OVPjo':function(_0x24065c,_0x376f06){return _0x24065c(_0x376f06);},'eOhZb':function(_0x347b7a){return _0x347b7a();},'xGRFY':function(_0x2ac4f8){return _0x2ac4f8();},'qAcdc':'\x0a---\x20OpenCode\x20Plugin\x20---','gSgEo':function(_0x219d8f){return _0x219d8f();},'SZHQQ':function(_0x220904,_0x518926){return _0x220904===_0x518926;},'AYErv':'configured','XtDFc':'@ranger-testing/opencode-plugin','NaMiC':'not_configured','MhJLx':'\x20\x20Not\x20configured','jEvOq':'\x20\x20Run:\x20ranger\x20setup\x20--opencode','agrEj':_0x2f9662(0x147),'YZXhl':function(_0xf5c908,_0x488042){return _0xf5c908(_0x488042);},'HUicT':_0x2f9662(0x198),'sIvsZ':_0x2f9662(0x18c),'QsYPY':'\x20\x20Run:\x20ranger\x20setup\x20[token]\x20\x20(includes\x20plugin\x20installation)','WCMTW':function(_0x3b2f9d){return _0x3b2f9d();},'hmPJl':function(_0x555a51,_0x26751d){return _0x555a51>_0x26751d;},'UzKKy':_0x2f9662(0x141),'JKGaP':function(_0x56d445,_0xcfca8,_0x3b85b8){return _0x56d445(_0xcfca8,_0x3b85b8);},'WmlgR':function(_0x283d7a,_0x5bec26){return _0x283d7a(_0x5bec26);},'PLGuN':function(_0x260a60,_0x1cee7a){return _0x260a60(_0x1cee7a);},'xNIzP':_0x2f9662(0x199),'JlgZc':function(_0x37b7b8){return _0x37b7b8();},'IqmEx':_0x2f9662(0x145),'RIKYI':function(_0x544b43,_0x3c6918){return _0x544b43>_0x3c6918;},'gpqjM':function(_0x70a69f,_0x43fbfe){return _0x70a69f===_0x43fbfe;},'SJdzn':_0x2f9662(0x16b),'JwSPE':_0x2f9662(0x13b),'WqeCa':_0x2f9662(0x148),'QFVCf':_0x2f9662(0x152),'pkNhj':function(_0x786cbe,_0x43a60a){return _0x786cbe!==_0x43a60a;},'BwtUH':'(not\x20found)','aajtE':function(_0x4a2089,_0x45dc98,_0x5488f8){return _0x4a2089(_0x45dc98,_0x5488f8);}};console['log'](_0x25cb0d[_0x2f9662(0x181)]);const _0x16b23d=process['cwd'](),_0x2b00b7=_0x25cb0d['McBuc'](getRangerDir);if(!_0x25cb0d['BHosr'](existsSync,_0x2b00b7)){console[_0x2f9662(0x140)](_0x2f9662(0x15c)+link(_0x16b23d,bold(_0x25cb0d['FRfjN'](basename,_0x16b23d)))),console[_0x2f9662(0x140)]('\x0aRanger\x20has\x20not\x20been\x20initialized\x20in\x20this\x20directory.'),console[_0x2f9662(0x140)]('\x20\x20Run:\x20ranger\x20setup\x20[token]\x0a');return;}console['log']('Root:\x20'+_0x25cb0d[_0x2f9662(0x183)](link,_0x16b23d,_0x25cb0d['jwSsG'](bold,basename(_0x16b23d))));const _0x54d6c9=_0x25cb0d[_0x2f9662(0x197)](getCurrentVersion),_0x21c334=getLatestVersion();if(_0x21c334[_0x2f9662(0x168)]&&_0x21c334['version']!==_0x54d6c9)console['log'](_0x2f9662(0x161)+_0x54d6c9+_0x2f9662(0x13e)+_0x21c334[_0x2f9662(0x168)]+')'),console['log']('\x20\x20Run:\x20ranger\x20update');else _0x21c334[_0x2f9662(0x168)]?console['log'](_0x2f9662(0x161)+_0x54d6c9+_0x2f9662(0x192)):console[_0x2f9662(0x140)](_0x2f9662(0x161)+_0x54d6c9);const _0x53c345=await _0x25cb0d['Tvzez'](getToken);if(_0x53c345){const _0x168479=await _0x25cb0d['BHosr'](getCurrentUser,_0x53c345);_0x168479['success']?console[_0x2f9662(0x140)](_0x2f9662(0x19c)+_0x25cb0d['OVPjo'](bold,_0x168479[_0x2f9662(0x186)]['organizationName'])):(console[_0x2f9662(0x140)]('API\x20Token:\x20✓\x20Found\x20but\x20invalid\x20or\x20expired'),console[_0x2f9662(0x140)]('\x20\x20Run:\x20ranger\x20setup\x20[token]'));}else console[_0x2f9662(0x140)](_0x2f9662(0x160)),console['log']('\x20\x20Run:\x20ranger\x20setup\x20[token]');process['env']['DEBUG']&&(console[_0x2f9662(0x140)]('API\x20Environment:\x20'+_0x25cb0d[_0x2f9662(0x166)](getCurrentEnvironment)),console[_0x2f9662(0x140)]('API\x20URL:\x20'+_0x25cb0d[_0x2f9662(0x191)](getApiBaseUrl)));console['log'](_0x25cb0d[_0x2f9662(0x177)]);const _0xb22be9=await _0x25cb0d[_0x2f9662(0x163)](getOpencodePluginStatus);if(_0x25cb0d['SZHQQ'](_0xb22be9[_0x2f9662(0x17d)],_0x25cb0d[_0x2f9662(0x164)]))console[_0x2f9662(0x140)]('\x20\x20'+bold(_0x25cb0d[_0x2f9662(0x184)])+':\x20configured'),_0xb22be9[_0x2f9662(0x175)]&&console['log']('\x20\x20'+_0xb22be9['details']);else _0xb22be9[_0x2f9662(0x17d)]===_0x25cb0d['NaMiC']?(console[_0x2f9662(0x140)](_0x25cb0d[_0x2f9662(0x1a3)]),_0xb22be9['details']&&console[_0x2f9662(0x140)]('\x20\x20'+_0xb22be9[_0x2f9662(0x175)]),console['log'](_0x25cb0d['jEvOq'])):console['log'](_0x25cb0d[_0x2f9662(0x1a8)]);console['log']('\x0a---\x20Claude\x20Code\x20Plugin\x20---');const _0x3a759e=await _0x25cb0d['YZXhl'](getPluginInfo,_0x2f9662(0x18c));if(_0x3a759e){const _0x1996b0=_0x3a759e[_0x2f9662(0x159)]||_0x25cb0d['HUicT'],_0x539575=_0x3a759e[_0x2f9662(0x16d)]?_0x2f9662(0x16d):_0x2f9662(0x153);console['log']('\x20\x20'+bold(_0x25cb0d[_0x2f9662(0x13d)])+_0x2f9662(0x14b)+_0x1996b0+',\x20'+_0x539575+')');}else console['log']('\x20\x20Not\x20installed'),console['log'](_0x25cb0d[_0x2f9662(0x176)]);console[_0x2f9662(0x140)](_0x2f9662(0x143));const {project:_0x5f5dae,user:_0x14eabc}=await _0x25cb0d[_0x2f9662(0x1a5)](getInstalledSkills),_0x482681=_0x5f5dae[_0x2f9662(0x188)](_0x4cb83d=>RANGER_MANAGED_SKILLS[_0x2f9662(0x172)](_0x4cb83d[_0x2f9662(0x162)])),_0xb6403b=_0x14eabc[_0x2f9662(0x188)](_0x484e29=>RANGER_MANAGED_SKILLS[_0x2f9662(0x172)](_0x484e29['name'])),_0x4f3122=_0x482681[_0x2f9662(0x15d)]+_0xb6403b['length'];if(_0x25cb0d[_0x2f9662(0x14a)](_0x4f3122,0x0))console['log']('No\x20skills\x20installed'),console[_0x2f9662(0x140)](_0x2f9662(0x182));else{if(_0x25cb0d['hmPJl'](_0x482681[_0x2f9662(0x15d)],0x0)){console['log'](_0x25cb0d[_0x2f9662(0x13f)]);for(const _0x401a54 of _0x482681){console['log'](_0x2f9662(0x169)+bold(_0x401a54['displayName'])+':\x20'+_0x25cb0d[_0x2f9662(0x15a)](link,_0x401a54['path'],basename(_0x401a54['path'])));}}if(_0xb6403b['length']>0x0){console['log'](_0x2f9662(0x174));for(const _0x3a9207 of _0xb6403b){console['log']('\x20\x20\x20\x20'+_0x25cb0d['WmlgR'](bold,_0x3a9207['displayName'])+':\x20'+link(_0x3a9207['path'],_0x25cb0d[_0x2f9662(0x1a1)](basename,_0x3a9207['path'])));}}}console[_0x2f9662(0x140)](_0x25cb0d['xNIzP']);const {envs:_0x581570,activeEnv:_0x5e792c}=await _0x25cb0d[_0x2f9662(0x156)](getEnvironments);let _0x42691a=[];if(_0x53c345)try{_0x42691a=await listCloudProfiles();}catch{}const _0x3accc0=_0x581570[_0x2f9662(0x15d)]+_0x42691a[_0x2f9662(0x15d)];if(_0x3accc0===0x0)console['log'](_0x25cb0d['IqmEx']),console[_0x2f9662(0x140)](_0x2f9662(0x178));else{if(_0x3accc0>0x5){const _0x1ba832=[];_0x42691a['length']>0x0&&_0x1ba832[_0x2f9662(0x167)](_0x42691a[_0x2f9662(0x15d)]+_0x2f9662(0x194)),_0x25cb0d['RIKYI'](_0x581570['length'],0x0)&&_0x1ba832[_0x2f9662(0x167)](_0x581570[_0x2f9662(0x15d)]+'\x20local'),console[_0x2f9662(0x140)](_0x3accc0+'\x20profiles\x20configured\x20('+_0x1ba832[_0x2f9662(0x190)](',\x20')+')'),_0x5e792c&&console['log']('\x20\x20Active:\x20'+_0x25cb0d[_0x2f9662(0x146)](bold,_0x5e792c)),console['log'](_0x2f9662(0x158));}else{for(const _0x524267 of _0x42691a){const _0x3f6eaa=_0x25cb0d['gpqjM'](_0x524267[_0x2f9662(0x162)],_0x5e792c)?_0x25cb0d['SJdzn']:'';console['log']('\x20\x20'+bold(_0x524267[_0x2f9662(0x162)])+'\x20[cloud]'+_0x3f6eaa);const _0x1ab428=_0x524267['sessionUpdatedAt']?'cached\x20(updated\x20'+_0x524267['sessionUpdatedAt']+')':_0x25cb0d['JwSPE'];console['log'](_0x2f9662(0x170)+_0x1ab428);}const _0xa6ae14=new Set(_0x42691a[_0x2f9662(0x17e)](_0x13abc6=>_0x13abc6['name']));for(const _0x63250e of _0x581570){if(_0xa6ae14['has'](_0x63250e['name']))continue;const _0x479539=_0x63250e['isActive']?_0x2f9662(0x16b):'',_0x276c7e=_0x63250e[_0x2f9662(0x154)]?_0x25cb0d['WqeCa']:_0x63250e['hasPlaintextAuth']?_0x25cb0d['QFVCf']:'none';console[_0x2f9662(0x140)]('\x20\x20'+bold(_0x63250e['name'])+'\x20[local]'+_0x479539),console[_0x2f9662(0x140)]('\x20\x20\x20\x20Auth:\x20'+_0x276c7e),_0x25cb0d[_0x2f9662(0x16a)](_0x63250e['settingsPath'],_0x25cb0d['BwtUH'])&&console['log'](_0x2f9662(0x155)+_0x25cb0d['aajtE'](link,_0x63250e[_0x2f9662(0x18b)],basename(_0x63250e['settingsPath'])));}if(!_0x5e792c){console['log']('\x0a\x20\x20No\x20active\x20profile\x20set');const _0x1ee038=[..._0x42691a['map'](_0x4aa9a3=>_0x4aa9a3['name']),..._0x581570[_0x2f9662(0x188)](_0xb3cd92=>!_0xa6ae14[_0x2f9662(0x13c)](_0xb3cd92['name']))['map'](_0x1a0804=>_0x1a0804['name'])];console[_0x2f9662(0x140)]('\x20\x20Run:\x20ranger\x20profile\x20use\x20<profile-name>\x20\x20(available:\x20'+_0x1ee038['join'](',\x20')+')');}}}console['log']('');}