@ranger-testing/ranger-cli 3.1.7-alpha.a5be4ca-60 → 3.1.7-alpha.d64f22a-65

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (88) hide show
  1. package/build/cli.js +1 -1
  2. package/build/commands/addEnv.js +1 -1
  3. package/build/commands/authEncrypt.js +1 -1
  4. package/build/commands/clean.js +1 -1
  5. package/build/commands/config.js +1 -1
  6. package/build/commands/deleteProfile.js +1 -1
  7. package/build/commands/env.js +1 -1
  8. package/build/commands/feature.js +1 -1
  9. package/build/commands/hook.js +1 -1
  10. package/build/commands/hooks/autoPrompt.js +1 -1
  11. package/build/commands/hooks/disable.js +1 -1
  12. package/build/commands/hooks/enable.js +1 -1
  13. package/build/commands/hooks/exitPlanMode.js +1 -1
  14. package/build/commands/hooks/index.js +1 -1
  15. package/build/commands/hooks/output.js +1 -1
  16. package/build/commands/hooks/planReminder.js +1 -1
  17. package/build/commands/hooks/planStart.js +1 -1
  18. package/build/commands/hooks/postEdit.js +1 -1
  19. package/build/commands/hooks/preCompact.js +1 -1
  20. package/build/commands/hooks/sessionEnd.js +1 -1
  21. package/build/commands/hooks/sessionStart.js +1 -1
  22. package/build/commands/hooks/stopHook.js +1 -1
  23. package/build/commands/index.js +1 -1
  24. package/build/commands/login.js +1 -1
  25. package/build/commands/mcpBootstrap.js +1 -1
  26. package/build/commands/migrateProfile.js +1 -1
  27. package/build/commands/setup/claude.js +1 -1
  28. package/build/commands/setup/opencode.js +1 -1
  29. package/build/commands/setupCi.js +1 -1
  30. package/build/commands/skillup.js +1 -1
  31. package/build/commands/start.js +1 -1
  32. package/build/commands/status.js +1 -1
  33. package/build/commands/update.js +1 -1
  34. package/build/commands/updateEnv.js +1 -1
  35. package/build/commands/useEnv.js +1 -1
  36. package/build/commands/utils/activeProfile.js +1 -1
  37. package/build/commands/utils/actors.js +1 -0
  38. package/build/commands/utils/agentEnv.js +1 -1
  39. package/build/commands/utils/browserSessionsApi.js +1 -1
  40. package/build/commands/utils/claudeConfig.js +1 -1
  41. package/build/commands/utils/claudeOverrideSettings.js +1 -1
  42. package/build/commands/utils/claudePlugin.js +1 -1
  43. package/build/commands/utils/cloudProfile.js +1 -1
  44. package/build/commands/utils/cloudProfileSession.js +1 -1
  45. package/build/commands/utils/crypto.js +1 -1
  46. package/build/commands/utils/desirePathLog.js +1 -1
  47. package/build/commands/utils/deviceAuth.js +1 -1
  48. package/build/commands/utils/environment.js +1 -1
  49. package/build/commands/utils/featureApi.js +1 -1
  50. package/build/commands/utils/fixWebmDuration.js +1 -1
  51. package/build/commands/utils/gitTracked.js +1 -1
  52. package/build/commands/utils/keychain.js +1 -1
  53. package/build/commands/utils/legacyWarning.js +1 -1
  54. package/build/commands/utils/localAgentInstallationsApi.js +1 -1
  55. package/build/commands/utils/matchAuthEnvironment.js +1 -1
  56. package/build/commands/utils/mcpImageBase64.js +1 -1
  57. package/build/commands/utils/model.js +1 -1
  58. package/build/commands/utils/novaActCli.js +1 -1
  59. package/build/commands/utils/opencodeConfig.js +1 -1
  60. package/build/commands/utils/organizationEnvApi.js +1 -1
  61. package/build/commands/utils/playwrightCli.js +1 -1
  62. package/build/commands/utils/profileMessages.js +1 -1
  63. package/build/commands/utils/profileSetupBanner.js +1 -1
  64. package/build/commands/utils/projectsConfig.js +1 -1
  65. package/build/commands/utils/rangerConfig.js +1 -1
  66. package/build/commands/utils/rangerRoot.js +1 -1
  67. package/build/commands/utils/rangerwrightCli.js +1 -1
  68. package/build/commands/utils/resolveProfileContext.js +1 -1
  69. package/build/commands/utils/resolveProfileUrl.js +1 -1
  70. package/build/commands/utils/retry.js +1 -1
  71. package/build/commands/utils/scenarioOriginCheck.js +1 -1
  72. package/build/commands/utils/sessionCache.js +1 -1
  73. package/build/commands/utils/settings.js +1 -1
  74. package/build/commands/utils/skillContent.js +1 -1
  75. package/build/commands/utils/skills.js +1 -1
  76. package/build/commands/utils/stitchWebmFiles.js +1 -1
  77. package/build/commands/utils/telemetry.js +1 -1
  78. package/build/commands/utils/tokenRefresh.js +1 -1
  79. package/build/commands/utils/traceSnapshotMapper.js +1 -1
  80. package/build/commands/utils/tunnelClient.js +1 -1
  81. package/build/commands/utils/userApi.js +1 -1
  82. package/build/commands/utils/version.js +1 -1
  83. package/build/commands/verifyFeature.js +1 -1
  84. package/build/commands/verifyFeatureCli.js +1 -1
  85. package/build/commands/verifyFeatureNovaCli.js +1 -1
  86. package/build/commands/verifyFeatureRangerwrightCli.js +1 -1
  87. package/build/skills/ranger/SKILL.md +8 -0
  88. package/package.json +1 -1
@@ -1 +1 @@
1
- (function(_0x4c7cd2,_0x341927){const _0x3db523=_0x4436,_0x1d9bb3=_0x4c7cd2();while(!![]){try{const _0x350f55=-parseInt(_0x3db523(0x163))/0x1+parseInt(_0x3db523(0x15a))/0x2*(parseInt(_0x3db523(0x158))/0x3)+parseInt(_0x3db523(0x15e))/0x4*(-parseInt(_0x3db523(0x16a))/0x5)+parseInt(_0x3db523(0x168))/0x6*(parseInt(_0x3db523(0x164))/0x7)+parseInt(_0x3db523(0x167))/0x8*(parseInt(_0x3db523(0x15c))/0x9)+parseInt(_0x3db523(0x162))/0xa*(parseInt(_0x3db523(0x156))/0xb)+-parseInt(_0x3db523(0x159))/0xc;if(_0x350f55===_0x341927)break;else _0x1d9bb3['push'](_0x1d9bb3['shift']());}catch(_0x500e4f){_0x1d9bb3['push'](_0x1d9bb3['shift']());}}}(_0x5629,0x232ea));function _0x4436(_0x1f18dc,_0x232f53){_0x1f18dc=_0x1f18dc-0x155;const _0x5629e4=_0x5629();let _0x443639=_0x5629e4[_0x1f18dc];return _0x443639;}import{runDeviceAuthFlow}from'./utils/deviceAuth.js';function _0x5629(){const _0x4e7ac9=['10420bDsXeN','success','jHpeI','\x0a✅\x20Logged\x20in\x20to\x20','171620tSOYuE','174210CEJgEs','7CiNJFk','Re-authenticating\x20via\x20MCP\x20bootstrap...','oRUdx','40yQLyYa','580182qzBhqE','message','405quSLLR','log','Login\x20requires\x20an\x20interactive\x20terminal.\x20In\x20CI,\x20use:\x20ranger\x20setup\x20[token]\x20or\x20set\x20RANGER_CLI_TOKEN.','55NdyMJs','user','3QqaGYS','2020788mJDlPH','574576JTuIoC','WWxHv','410265NYaIYk','XnEDq'];_0x5629=function(){return _0x4e7ac9;};return _0x5629();}import{getCurrentUser}from'./utils/userApi.js';import{getMcpAuthOrigin,mcpBootstrap}from'./mcpBootstrap.js';import{isInteractive}from'./utils/cloudProfileSession.js';export async function login(){const _0x456bcc=_0x4436,_0x58390d={'WWxHv':_0x456bcc(0x165),'oRUdx':function(_0x17c59c){return _0x17c59c();},'jHpeI':_0x456bcc(0x155),'XnEDq':function(_0x290a3c,_0x5dab30){return _0x290a3c instanceof _0x5dab30;}},_0x14ed53=await getMcpAuthOrigin();if(_0x14ed53){console[_0x456bcc(0x16b)](_0x58390d[_0x456bcc(0x15b)]),await mcpBootstrap();return;}if(!_0x58390d[_0x456bcc(0x166)](isInteractive))throw new Error(_0x58390d[_0x456bcc(0x160)]);try{const _0x5c1f18=await _0x58390d['oRUdx'](runDeviceAuthFlow),_0x2db546=await getCurrentUser(_0x5c1f18);_0x2db546[_0x456bcc(0x15f)]?console[_0x456bcc(0x16b)](_0x456bcc(0x161)+_0x2db546[_0x456bcc(0x157)]['organizationName']):console['log']('\x0a✅\x20API\x20key\x20stored\x20successfully');}catch(_0x59cfc7){throw new Error('Login\x20failed:\x20'+(_0x58390d[_0x456bcc(0x15d)](_0x59cfc7,Error)?_0x59cfc7[_0x456bcc(0x169)]:_0x59cfc7));}}
1
+ function _0x464f(_0x34d263,_0x4d34d4){_0x34d263=_0x34d263-0x171;const _0x3ce880=_0x3ce8();let _0x464f68=_0x3ce880[_0x34d263];return _0x464f68;}(function(_0x4ddd34,_0x5c5faa){const _0x3ab8c2=_0x464f,_0x5ef3cf=_0x4ddd34();while(!![]){try{const _0x5cfed6=-parseInt(_0x3ab8c2(0x17e))/0x1+parseInt(_0x3ab8c2(0x179))/0x2*(-parseInt(_0x3ab8c2(0x17b))/0x3)+parseInt(_0x3ab8c2(0x173))/0x4+-parseInt(_0x3ab8c2(0x171))/0x5+-parseInt(_0x3ab8c2(0x172))/0x6+-parseInt(_0x3ab8c2(0x17a))/0x7+parseInt(_0x3ab8c2(0x174))/0x8*(parseInt(_0x3ab8c2(0x175))/0x9);if(_0x5cfed6===_0x5c5faa)break;else _0x5ef3cf['push'](_0x5ef3cf['shift']());}catch(_0x434042){_0x5ef3cf['push'](_0x5ef3cf['shift']());}}}(_0x3ce8,0x77b21));import{runDeviceAuthFlow}from'./utils/deviceAuth.js';import{getCurrentUser}from'./utils/userApi.js';import{getMcpAuthOrigin,mcpBootstrap}from'./mcpBootstrap.js';function _0x3ce8(){const _0x376410=['1334285cmUYyB','4026354ZGhxki','2846700IyHJNZ','43408luUBfw','4293MkPAbX','message','\x0a✅\x20API\x20key\x20stored\x20successfully','Re-authenticating\x20via\x20MCP\x20bootstrap...','2QJZDSY','5369112uqJzqs','1880889idrRpP','user','geJRV','477709CAAsYe','log'];_0x3ce8=function(){return _0x376410;};return _0x3ce8();}import{isInteractive}from'./utils/cloudProfileSession.js';export async function login(){const _0x51f547=_0x464f,_0x31251a={'OyxZC':function(_0x3593b6){return _0x3593b6();},'ppfyg':function(_0x4aef3,_0x1e7b62){return _0x4aef3(_0x1e7b62);},'geJRV':function(_0x19afbb,_0xa2aaf0){return _0x19afbb instanceof _0xa2aaf0;}},_0x31a917=await getMcpAuthOrigin();if(_0x31a917){console[_0x51f547(0x17f)](_0x51f547(0x178)),await mcpBootstrap();return;}if(!_0x31251a['OyxZC'](isInteractive))throw new Error('Login\x20requires\x20an\x20interactive\x20terminal.\x20In\x20CI,\x20use:\x20ranger\x20setup\x20[token]\x20or\x20set\x20RANGER_CLI_TOKEN.');try{const _0x4e997b=await runDeviceAuthFlow(),_0x3c2d50=await _0x31251a['ppfyg'](getCurrentUser,_0x4e997b);_0x3c2d50['success']?console[_0x51f547(0x17f)]('\x0a✅\x20Logged\x20in\x20to\x20'+_0x3c2d50[_0x51f547(0x17c)]['organizationName']):console[_0x51f547(0x17f)](_0x51f547(0x177));}catch(_0x5ebcc1){throw new Error('Login\x20failed:\x20'+(_0x31251a[_0x51f547(0x17d)](_0x5ebcc1,Error)?_0x5ebcc1[_0x51f547(0x176)]:_0x5ebcc1));}}
@@ -1 +1 @@
1
- const _0x8f908f=_0xe2a9;(function(_0x25b098,_0x63d9d1){const _0x12787a=_0xe2a9,_0x120d8a=_0x25b098();while(!![]){try{const _0x5e7faf=-parseInt(_0x12787a(0x1b4))/0x1*(-parseInt(_0x12787a(0x18d))/0x2)+-parseInt(_0x12787a(0x1c6))/0x3+parseInt(_0x12787a(0x173))/0x4+parseInt(_0x12787a(0x16a))/0x5*(-parseInt(_0x12787a(0x199))/0x6)+parseInt(_0x12787a(0x1d2))/0x7+-parseInt(_0x12787a(0x196))/0x8+-parseInt(_0x12787a(0x192))/0x9;if(_0x5e7faf===_0x63d9d1)break;else _0x120d8a['push'](_0x120d8a['shift']());}catch(_0x2cab1b){_0x120d8a['push'](_0x120d8a['shift']());}}}(_0x2d0f,0x5c44a));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(),_0x8f908f(0x165),_0x8f908f(0x17c)),AUTH_ORIGIN_PATH=join(homedir(),_0x8f908f(0x165),_0x8f908f(0x195));export async function getMcpAuthOrigin(){const _0x2fed4f=_0x8f908f,_0x6364b4={'cvJkT':function(_0x3c9d90,_0x359790,_0x111a10){return _0x3c9d90(_0x359790,_0x111a10);},'dPGbN':function(_0x49936f,_0x98c553){return _0x49936f||_0x98c553;}};try{const _0x300fef=(await _0x6364b4[_0x2fed4f(0x185)](readFile,AUTH_ORIGIN_PATH,_0x2fed4f(0x19d)))[_0x2fed4f(0x1db)]();return _0x6364b4[_0x2fed4f(0x1a3)](_0x300fef,null);}catch{return null;}}export async function mcpBootstrap(){const _0x400247=_0x8f908f,_0x531756={'heKHZ':function(_0x5eeab3,_0x242902){return _0x5eeab3(_0x242902);},'qBORd':function(_0x573a2b,_0x5953b8){return _0x573a2b===_0x5953b8;},'xYDuf':'proxied','YtCWO':_0x400247(0x181),'ARAVl':function(_0x2c53de,_0x12355d){return _0x2c53de(_0x12355d);}},_0x3c465f=getMcpAuthUrl();currentOrigin=_0x3c465f;const _0x72b7d3=process['stdout'][_0x400247(0x1b2)]??![];console['log'](_0x400247(0x1e3)+_0x3c465f+'\x0a');const _0x298816=await _0x531756['heKHZ'](tryUnauthenticated,_0x3c465f);let _0x586f39=null;if(_0x531756['qBORd'](_0x298816,_0x531756['xYDuf']))_0x586f39='';else{_0x586f39=await loadCachedToken();if(!_0x586f39){if(!_0x72b7d3)throw new Error(_0x531756[_0x400247(0x1a1)]+'Run\x20`ranger\x20setup\x20--mcp-bootstrap`\x20interactively\x20first.');_0x586f39=await _0x531756['ARAVl'](oauthFlow,_0x3c465f);}}await callGetCliToken(_0x3c465f,_0x586f39);}async function tryUnauthenticated(_0x2ed40a){const _0x34ed00=_0x8f908f,_0x4a2799={'xPTlO':_0x34ed00(0x1cf),'XOcon':'initialize','bSuDq':'1.0.0','jsahF':'proxied','OLeKD':function(_0x5f044a,_0x2035af){return _0x5f044a===_0x2035af;}},_0x3ed9e0=await fetch(_0x2ed40a,{'method':'POST','headers':{'Content-Type':_0x4a2799[_0x34ed00(0x1ec)],'Accept':_0x34ed00(0x1d8)},'body':JSON['stringify']({'jsonrpc':'2.0','id':0x1,'method':_0x4a2799[_0x34ed00(0x166)],'params':{'protocolVersion':_0x34ed00(0x1ac),'capabilities':{},'clientInfo':{'name':'ranger-cli','version':_0x4a2799['bSuDq']}}})});if(_0x3ed9e0['ok'])return await _0x3ed9e0[_0x34ed00(0x16d)](),_0x4a2799[_0x34ed00(0x172)];if(_0x4a2799['OLeKD'](_0x3ed9e0['status'],0x191))return await _0x3ed9e0[_0x34ed00(0x16d)](),'needs-oauth';const _0x3a940e=await _0x3ed9e0[_0x34ed00(0x16d)]();throw new Error('MCP\x20server\x20returned\x20HTTP\x20'+_0x3ed9e0[_0x34ed00(0x1bd)]+':\x20'+_0x3a940e);}class OAuthTimeoutError extends Error{constructor(_0x109350){const _0x1fd6ee=_0x8f908f,_0xc65988={'UQVYs':'OAuthTimeoutError'};super(_0x109350),this[_0x1fd6ee(0x19c)]=_0xc65988['UQVYs'];}}async function oauthFlow(_0x4f0c26){const _0x33e67e={'aOBOM':'\x0aCached\x20OAuth\x20client\x20may\x20be\x20stale\x20—\x20clearing\x20and\x20retrying...\x0a'};try{return await oauthFlowAttempt(_0x4f0c26);}catch(_0x5bab92){if(_0x5bab92 instanceof OAuthTimeoutError&&await loadCachedClient())return console['log'](_0x33e67e['aOBOM']),await clearCachedClient(),await oauthFlowAttempt(_0x4f0c26);throw _0x5bab92;}}async function oauthFlowAttempt(_0x16e757){const _0x450431=_0x8f908f,_0x31c0a9={'FmvZK':_0x450431(0x18b),'MLpkK':function(_0x2bd944,_0x313135){return _0x2bd944(_0x313135);},'qPqUQ':_0x450431(0x1e6),'jdgfE':function(_0x57a25a,_0xcde350,_0x1dec90){return _0x57a25a(_0xcde350,_0x1dec90);},'kaHzM':_0x450431(0x1c2),'viOPG':'application/json','uLuBB':'authorization_code','boAUe':_0x450431(0x1f0),'gqRbx':_0x450431(0x1a2),'obWaE':_0x450431(0x1c1),'jUljE':'base64url','fRQrK':function(_0x585eaa,_0x50b997){return _0x585eaa(_0x50b997);},'tAVEY':_0x450431(0x1d0),'EOclo':_0x450431(0x171),'uwCUz':'resource','AaJBP':'Exchanging\x20authorization\x20code...','SCbcr':'application/x-www-form-urlencoded'},_0x36541d=_0x16e757[_0x450431(0x16b)](/\/mcp$/,'');process['stdout']['write']('Discovering\x20authorization\x20server...');const _0x49caee=await fetch(_0x36541d+'/.well-known/oauth-protected-resource');if(!_0x49caee['ok'])throw new Error('Could\x20not\x20fetch\x20protected\x20resource\x20metadata\x20from\x20MCP\x20server');const _0x42f225=await _0x49caee[_0x450431(0x1d9)](),_0x475d40=_0x42f225['authorization_servers']?.[0x0];if(!_0x475d40)throw new Error(_0x31c0a9['FmvZK']);console['log']('\x20'+_0x475d40);const _0x33384c=await _0x31c0a9['MLpkK'](fetchAuthServerMetadata,_0x475d40);let _0x240565,_0x445412;const _0x5c7e0e=await loadCachedClient();if(_0x5c7e0e)_0x240565=_0x5c7e0e['clientId'],_0x445412=_0x5c7e0e[_0x450431(0x1c4)];else{if(_0x33384c['registration_endpoint']){process['stdout']['write'](_0x31c0a9['qPqUQ']);const _0x43b6d4=await _0x31c0a9['jdgfE'](fetch,_0x33384c['registration_endpoint'],{'method':_0x31c0a9['kaHzM'],'headers':{'Content-Type':_0x31c0a9[_0x450431(0x1e9)]},'body':JSON[_0x450431(0x168)]({'client_name':'Ranger\x20CLI','redirect_uris':['http://localhost:'+CALLBACK_PORT+_0x450431(0x19f)],'grant_types':[_0x31c0a9['uLuBB'],'refresh_token'],'response_types':[_0x31c0a9[_0x450431(0x176)]],'token_endpoint_auth_method':_0x31c0a9[_0x450431(0x1b9)]})});if(!_0x43b6d4['ok']){const _0x2be979=await _0x43b6d4['text']();throw new Error('Client\x20registration\x20failed:\x20'+_0x2be979);}const _0x5bf598=await _0x43b6d4['json']();_0x240565=_0x5bf598[_0x450431(0x17a)],_0x445412=_0x5bf598['client_secret'],await saveCachedClient(_0x240565,_0x445412),console['log']('\x20done');}else throw new Error(_0x31c0a9[_0x450431(0x1b3)]);}const _0x30ed6b=randomBytes(0x20)['toString'](_0x31c0a9['jUljE']),_0x58c957=createHash(_0x450431(0x1d7))[_0x450431(0x179)](_0x30ed6b)[_0x450431(0x1ce)](_0x450431(0x1dc)),_0x2a52c7=_0x31c0a9['fRQrK'](randomBytes,0x10)[_0x450431(0x190)]('hex'),_0xead34=new URL(_0x33384c['authorization_endpoint']);_0xead34['searchParams']['set'](_0x31c0a9['tAVEY'],_0x450431(0x1f0)),_0xead34[_0x450431(0x187)][_0x450431(0x16f)](_0x450431(0x17a),_0x240565),_0xead34['searchParams'][_0x450431(0x16f)](_0x450431(0x1cc),_0x450431(0x175)+CALLBACK_PORT+_0x450431(0x19f)),_0xead34['searchParams'][_0x450431(0x16f)]('code_challenge',_0x58c957),_0xead34[_0x450431(0x187)]['set'](_0x31c0a9['EOclo'],_0x450431(0x1ba)),_0xead34['searchParams'][_0x450431(0x16f)]('state',_0x2a52c7);_0x42f225[_0x450431(0x1e8)]&&_0xead34[_0x450431(0x187)]['set'](_0x31c0a9[_0x450431(0x1bb)],_0x42f225[_0x450431(0x1e8)]);console['log']('\x0aOpening\x20browser\x20for\x20authentication...'),console[_0x450431(0x1ef)]('If\x20the\x20browser\x20doesn\x27t\x20open,\x20visit:\x0a'+_0xead34[_0x450431(0x190)]()+'\x0a'),await openBrowser(_0xead34['toString']());const _0xf39388=await _0x31c0a9['MLpkK'](waitForCallback,_0x2a52c7);process[_0x450431(0x16c)]['write'](_0x31c0a9[_0x450431(0x191)]);const _0x5d8126=new URLSearchParams({'grant_type':_0x450431(0x1ab),'code':_0xf39388,'redirect_uri':_0x450431(0x175)+CALLBACK_PORT+_0x450431(0x19f),'client_id':_0x240565,'code_verifier':_0x30ed6b});_0x445412&&_0x5d8126['set']('client_secret',_0x445412);_0x42f225['resource']&&_0x5d8126[_0x450431(0x16f)]('resource',_0x42f225[_0x450431(0x1e8)]);const _0xf543d6=await _0x31c0a9[_0x450431(0x1f2)](fetch,_0x33384c['token_endpoint'],{'method':_0x31c0a9['kaHzM'],'headers':{'Content-Type':_0x31c0a9[_0x450431(0x1d3)]},'body':_0x5d8126});if(!_0xf543d6['ok']){const _0x27d1d8=await _0xf543d6[_0x450431(0x16d)]();throw new Error('Token\x20exchange\x20failed:\x20'+_0x27d1d8);}const _0x2f06b8=await _0xf543d6['json']();return console['log']('\x20done'),await saveCachedToken(_0x2f06b8[_0x450431(0x1cd)],_0x2f06b8['refresh_token'],_0x2f06b8[_0x450431(0x1c5)]),_0x2f06b8[_0x450431(0x1cd)];}async function callGetCliToken(_0x38320f,_0x4263c4){const _0x70b135=_0x8f908f,_0x35c12a={'LMLLB':_0x70b135(0x1c2),'cLxlB':function(_0x37251d,_0x5a69d1){return _0x37251d(_0x5a69d1);},'OFnUA':'application/json','wdnvN':_0x70b135(0x1e5),'Ukvbd':function(_0x26e258,_0x243471){return _0x26e258(_0x243471);},'dnxrz':'initialize','qoqfm':'ranger-cli','zvEjk':_0x70b135(0x1ca),'mHdlK':_0x70b135(0x1b6),'kLDxg':_0x70b135(0x1e0),'pjrHR':function(_0x44bab7,_0x160771){return _0x44bab7(_0x160771);},'fYHzB':_0x70b135(0x18c),'tKrTc':function(_0x241b28){return _0x241b28();},'nqFRU':_0x70b135(0x165),'sASrw':function(_0x2dcce5,_0x1656ef,_0x218c97){return _0x2dcce5(_0x1656ef,_0x218c97);},'ROosc':function(_0x3ea921,_0xb39014,_0x4a29ca,_0x26bf9c){return _0x3ea921(_0xb39014,_0x4a29ca,_0x26bf9c);}},_0x1c4a80={'Content-Type':_0x35c12a['OFnUA'],'Accept':_0x70b135(0x1d8)};_0x4263c4&&(_0x1c4a80[_0x70b135(0x182)]='Bearer\x20'+_0x4263c4);const _0x512d89=async _0x1c3a9c=>{const _0x44d38f=_0x70b135,_0x4a9aa1=await fetch(_0x38320f,{'method':_0x35c12a['LMLLB'],'headers':_0x1c4a80,'body':JSON[_0x44d38f(0x168)](_0x1c3a9c)});if(!_0x4a9aa1['ok']){const _0x18454c=await _0x4a9aa1[_0x44d38f(0x16d)]();throw new Error(_0x44d38f(0x18e)+_0x4a9aa1[_0x44d38f(0x1bd)]+':\x20'+_0x18454c);}return _0x35c12a[_0x44d38f(0x1b5)](parseResponse,_0x4a9aa1);};process[_0x70b135(0x16c)]['write'](_0x35c12a[_0x70b135(0x1de)]);const _0xa2cf3a=await _0x35c12a[_0x70b135(0x1eb)](_0x512d89,{'jsonrpc':_0x70b135(0x1e0),'id':0x1,'method':_0x35c12a['dnxrz'],'params':{'protocolVersion':'2025-03-26','capabilities':{},'clientInfo':{'name':_0x35c12a['qoqfm'],'version':_0x35c12a[_0x70b135(0x18f)]}}});if(_0xa2cf3a['error'])throw new Error(_0x70b135(0x1d5)+(_0xa2cf3a[_0x70b135(0x1bf)][_0x70b135(0x1b8)]??JSON[_0x70b135(0x168)](_0xa2cf3a[_0x70b135(0x1bf)])));console['log'](_0x35c12a[_0x70b135(0x1a4)]),await fetch(_0x38320f,{'method':_0x35c12a[_0x70b135(0x19a)],'headers':_0x1c4a80,'body':JSON['stringify']({'jsonrpc':_0x35c12a['kLDxg'],'method':_0x70b135(0x177)})})[_0x70b135(0x16e)](_0x49d1e5=>_0x49d1e5[_0x70b135(0x16d)]()),process['stdout']['write']('Requesting\x20CLI\x20token...');const _0x589a3a=await _0x512d89({'jsonrpc':'2.0','id':0x2,'method':'tools/call','params':{'name':'get_cli_token','arguments':{}}});if(_0x589a3a[_0x70b135(0x1bf)])throw new Error('get_cli_token\x20failed:\x20'+(_0x589a3a['error'][_0x70b135(0x1b8)]??JSON[_0x70b135(0x168)](_0x589a3a['error'])));console[_0x70b135(0x1ef)](_0x35c12a[_0x70b135(0x1a4)]);const _0x875a8c=_0x35c12a['pjrHR'](extractToken,_0x589a3a[_0x70b135(0x1b1)]);if(!_0x875a8c){console[_0x70b135(0x1bf)](_0x35c12a['fYHzB']),console['error'](JSON['stringify'](_0x589a3a['result'],null,0x2));throw new Error(_0x70b135(0x186));}const _0x5f109f=join(_0x35c12a[_0x70b135(0x174)](homedir),_0x35c12a['nqFRU']),_0x1095d8=join(_0x5f109f,_0x70b135(0x17f));await _0x35c12a[_0x70b135(0x1c8)](mkdir,_0x5f109f,{'recursive':!![]}),await _0x35c12a['ROosc'](writeFile,_0x1095d8,_0x875a8c,{'mode':0x180}),await _0x35c12a['ROosc'](writeFile,join(_0x5f109f,'auth-origin.txt'),_0x38320f,{'mode':0x180}),console[_0x70b135(0x1ef)]('\x0aToken\x20written\x20to\x20'+_0x1095d8),console['log']('Run\x20`ranger\x20status`\x20to\x20verify\x20authentication.\x0a');}async function fetchAuthServerMetadata(_0x4fe75f){const _0x3d7fff=_0x8f908f,_0x58681b=_0x4fe75f+'/.well-known/oauth-authorization-server',_0x54c29b=await fetch(_0x58681b);if(!_0x54c29b['ok'])throw new Error(_0x3d7fff(0x1c9)+_0x58681b+':\x20'+_0x54c29b['status']);return _0x54c29b[_0x3d7fff(0x1d9)]();}function _0xe2a9(_0x200ecb,_0x370408){_0x200ecb=_0x200ecb-0x165;const _0x2d0f50=_0x2d0f();let _0xe2a994=_0x2d0f50[_0x200ecb];return _0xe2a994;}function waitForCallback(_0x316a47){const _0x2855c1=_0x8f908f,_0x5828be={'vmgZY':function(_0xa27ce8,_0x493a2c){return _0xa27ce8(_0x493a2c);},'MXeYe':'error','YNsHV':'error_description','EvYMc':function(_0xa330d5){return _0xa330d5();},'abSWj':function(_0x236a98,_0x551adf){return _0x236a98!==_0x551adf;},'rwAWb':'<html><body><h2>Invalid\x20callback</h2><p>Missing\x20code\x20or\x20state\x20mismatch.</p></body></html>','PoNDl':_0x2855c1(0x189),'StlQa':function(_0x20e46c,_0x2c8b30){return _0x20e46c(_0x2c8b30);},'OnmQE':function(_0x5d1aa8){return _0x5d1aa8();}};return new Promise((_0x1286ee,_0x2b0008)=>{const _0x19e14d=_0x2855c1,_0x4b90af=()=>{const _0x2ab27d=_0xe2a9;_0x5ef89f[_0x2ab27d(0x1ea)](),_0x5ef89f['close']();},_0x224bc5=setTimeout(()=>{const _0x3f9beb=_0xe2a9;_0x4b90af(),_0x5828be['vmgZY'](_0x2b0008,new OAuthTimeoutError(_0x3f9beb(0x1c3)));},0x1d4c0),_0x5ef89f=_0x5828be[_0x19e14d(0x1ae)](createServer,(_0x259fc4,_0x29a325)=>{const _0x2dcb74=_0x19e14d,_0x5a8641=new URL(_0x259fc4['url']??'/',_0x2dcb74(0x175)+CALLBACK_PORT);if(_0x5a8641[_0x2dcb74(0x1f1)]!=='/callback'){_0x29a325[_0x2dcb74(0x1da)](0x194),_0x29a325['end']('Not\x20found');return;}const _0x4c1d69=_0x5a8641['searchParams']['get'](_0x2dcb74(0x1f0)),_0x524264=_0x5a8641[_0x2dcb74(0x187)][_0x2dcb74(0x1af)](_0x2dcb74(0x193)),_0x5406e0=_0x5a8641[_0x2dcb74(0x187)][_0x2dcb74(0x1af)](_0x5828be[_0x2dcb74(0x1d4)]);if(_0x5406e0){const _0xd13bc=_0x5a8641['searchParams'][_0x2dcb74(0x1af)](_0x5828be['YNsHV'])??_0x5406e0;_0x29a325['writeHead'](0xc8,{'Content-Type':_0x2dcb74(0x194)}),_0x29a325[_0x2dcb74(0x1dd)](_0x2dcb74(0x1a5)+_0xd13bc+_0x2dcb74(0x1cb)),clearTimeout(_0x224bc5),_0x5828be[_0x2dcb74(0x188)](_0x4b90af),_0x2b0008(new Error('OAuth\x20error:\x20'+_0xd13bc));return;}if(!_0x4c1d69||_0x5828be[_0x2dcb74(0x169)](_0x524264,_0x316a47)){_0x29a325['writeHead'](0x190,{'Content-Type':_0x2dcb74(0x194)}),_0x29a325['end'](_0x5828be['rwAWb']);return;}_0x29a325['writeHead'](0xc8,{'Content-Type':_0x2dcb74(0x194)}),_0x29a325['end'](_0x5828be[_0x2dcb74(0x1a0)]),_0x5828be['StlQa'](clearTimeout,_0x224bc5),_0x5828be[_0x2dcb74(0x1ed)](_0x4b90af),_0x1286ee(_0x4c1d69);});_0x5ef89f[_0x19e14d(0x1e4)](CALLBACK_PORT,'127.0.0.1');});}async function openBrowser(_0xd455ee){const _0xda3d2=_0x8f908f,_0x599035={'xkwCz':'open','dXulO':_0xda3d2(0x180)},_0x1c76c8=process[_0xda3d2(0x1df)]===_0xda3d2(0x17e)?_0x599035[_0xda3d2(0x1e7)]:process['platform']===_0xda3d2(0x1c0)?_0xda3d2(0x183):_0x599035[_0xda3d2(0x1a9)];exec(_0x1c76c8+'\x20\x22'+_0xd455ee+'\x22');}let currentOrigin='';async function loadCachedToken(){const _0x4ba171=_0x8f908f,_0x115401={'fVNOZ':function(_0x8e0e0c,_0x1d09d1,_0x2cb903){return _0x8e0e0c(_0x1d09d1,_0x2cb903);},'PgTtq':'utf-8','rOCPH':function(_0x5ec7a8,_0x12ea9d){return _0x5ec7a8!==_0x12ea9d;}};try{const _0x4b6927=JSON['parse'](await _0x115401['fVNOZ'](readFile,TOKEN_CACHE_PATH,_0x115401['PgTtq']));if(_0x4b6927['origin']&&_0x115401['rOCPH'](_0x4b6927[_0x4ba171(0x170)],currentOrigin))return null;if(_0x4b6927['expiresAt']&&Date['now']()>_0x4b6927['expiresAt'])return null;return _0x4b6927['accessToken']??null;}catch{return null;}}async function saveCachedToken(_0x1a754e,_0x19f746,_0x1ae59d){const _0x20835b=_0x8f908f,_0x181279={'XfFoJ':function(_0x44166a,_0x41ec57){return _0x44166a*_0x41ec57;},'udYMS':function(_0x24c8fa,_0x17034e,_0x3dda0f){return _0x24c8fa(_0x17034e,_0x3dda0f);},'sErxf':function(_0x4f62e3,_0x5e0ef6,_0x47bffa,_0x3efacf){return _0x4f62e3(_0x5e0ef6,_0x47bffa,_0x3efacf);}},_0x47f2a9=await loadCachedData(),_0x15f526={..._0x47f2a9,'origin':currentOrigin,'accessToken':_0x1a754e,'refreshToken':_0x19f746??_0x47f2a9?.['refreshToken'],'expiresAt':_0x1ae59d?Date[_0x20835b(0x1b0)]()+_0x181279[_0x20835b(0x184)](_0x1ae59d,0x3e8):undefined};await mkdir(_0x181279[_0x20835b(0x1e2)](join,homedir(),_0x20835b(0x165)),{'recursive':!![]}),await _0x181279[_0x20835b(0x19b)](writeFile,TOKEN_CACHE_PATH,JSON['stringify'](_0x15f526),{'mode':0x180});}async function loadCachedClient(){const _0x5ef63c=_0x8f908f,_0x4c1348={'XLwdx':function(_0x46a921){return _0x46a921();},'vItLt':function(_0x53b2d0,_0x9863b2){return _0x53b2d0!==_0x9863b2;}},_0x17418e=await _0x4c1348[_0x5ef63c(0x198)](loadCachedData);if(_0x17418e?.[_0x5ef63c(0x170)]&&_0x4c1348['vItLt'](_0x17418e['origin'],currentOrigin))return null;return _0x17418e?.['clientId']?{'clientId':_0x17418e['clientId'],'clientSecret':_0x17418e[_0x5ef63c(0x1c4)]}:null;}async function clearCachedClient(){const _0x33d060=await loadCachedData();if(!_0x33d060)return;const {clientId:_0x19b939,clientSecret:_0x118c13,..._0xba3fc1}=_0x33d060;await writeFile(TOKEN_CACHE_PATH,JSON['stringify'](_0xba3fc1),{'mode':0x180});}async function saveCachedClient(_0x43e812,_0x3cb0d4){const _0x30ae78=_0x8f908f,_0xbaacd2={'LSXLI':function(_0x467c49){return _0x467c49();}},_0x4dcddd=await _0xbaacd2[_0x30ae78(0x1a6)](loadCachedData),_0x512873={..._0x4dcddd,'origin':currentOrigin,'accessToken':_0x4dcddd?.[_0x30ae78(0x178)]??'','clientId':_0x43e812,'clientSecret':_0x3cb0d4};await mkdir(join(_0xbaacd2['LSXLI'](homedir),'.ranger'),{'recursive':!![]}),await writeFile(TOKEN_CACHE_PATH,JSON['stringify'](_0x512873),{'mode':0x180});}async function loadCachedData(){const _0x2f0665=_0x8f908f,_0x381427={'pvkys':function(_0x19b222,_0x2ed0ed,_0x26965a){return _0x19b222(_0x2ed0ed,_0x26965a);},'Htfva':_0x2f0665(0x19d)};try{return JSON['parse'](await _0x381427[_0x2f0665(0x1ad)](readFile,TOKEN_CACHE_PATH,_0x381427[_0x2f0665(0x1a8)]));}catch{return null;}}async function parseResponse(_0x15003c){const _0xc571ab=_0x8f908f,_0x58a21f={'FVQpO':_0xc571ab(0x1be),'yzCkU':function(_0x588bb1,_0x26fe3d){return _0x588bb1!==_0x26fe3d;},'ZRGPa':_0xc571ab(0x1aa)},_0x6bc05=_0x15003c[_0xc571ab(0x1e1)][_0xc571ab(0x1af)](_0xc571ab(0x1bc))??'';if(_0x6bc05['includes'](_0x58a21f[_0xc571ab(0x1a7)])){const _0x36166=await _0x15003c['text']();for(const _0x1ba016 of _0x36166[_0xc571ab(0x1f3)]('\x0a')){const _0x243c4b=_0x1ba016['trim']();if(_0x243c4b['startsWith']('data:')){const _0x4a7a1d=_0x243c4b['slice']('data:'[_0xc571ab(0x1ee)])['trim']();if(!_0x4a7a1d)continue;try{const _0x597ce1=JSON[_0xc571ab(0x1d1)](_0x4a7a1d);if(_0x58a21f[_0xc571ab(0x18a)](_0x597ce1['id'],undefined)||_0x597ce1[_0xc571ab(0x1bf)])return _0x597ce1;}catch{}}}throw new Error(_0x58a21f['ZRGPa']);}return _0x15003c['json']();}function _0x2d0f(){const _0x3ba34e=['POST','OAuth\x20callback\x20timed\x20out\x20after\x202\x20minutes','clientSecret','expires_in','54999JtcToI','content','sASrw','Could\x20not\x20fetch\x20auth\x20server\x20metadata\x20from\x20','1.0.0','</p><p>You\x20can\x20close\x20this\x20window.</p></body></html>','redirect_uri','access_token','digest','application/json','response_type','parse','2649724AYBzsF','SCbcr','MXeYe','MCP\x20initialize\x20failed:\x20','type','sha256','application/json,\x20text/event-stream','json','writeHead','trim','base64url','end','wdnvN','platform','2.0','headers','udYMS','\x0aConnecting\x20to\x20MCP\x20auth\x20server:\x20','listen','Initializing\x20MCP\x20session...','Registering\x20OAuth\x20client...','xkwCz','resource','viOPG','closeAllConnections','Ukvbd','xPTlO','OnmQE','length','log','code','pathname','jdgfE','split','.ranger','XOcon','Unknown\x20error','stringify','abSWj','5GHVijs','replace','stdout','text','then','set','origin','code_challenge_method','jsahF','2266532ycqKUe','tKrTc','http://localhost:','boAUe','notifications/initialized','accessToken','update','client_id','token','mcp-oauth-tokens.json','string','darwin','refresh.txt','xdg-open','MCP\x20server\x20requires\x20authentication\x20but\x20running\x20in\x20non-interactive\x20mode.\x0a','Authorization','start','XfFoJ','cvJkT','Could\x20not\x20extract\x20token\x20from\x20MCP\x20response','searchParams','EvYMc','<html><body><h2>Authenticated!</h2><p>You\x20can\x20close\x20this\x20window\x20and\x20return\x20to\x20the\x20terminal.</p></body></html>','yzCkU','No\x20authorization_servers\x20in\x20protected\x20resource\x20metadata','\x0aUnexpected\x20response\x20structure:','25504VgZjQx','HTTP\x20','zvEjk','toString','AaJBP','1791153QmFLui','state','text/html','auth-origin.txt','2518344rhsUzt','ALUha','XLwdx','1205208rWJikQ','LMLLB','sErxf','name','utf-8','isError','/callback','PoNDl','YtCWO','none','dPGbN','mHdlK','<html><body><h2>Authentication\x20failed</h2><p>','LSXLI','FVQpO','Htfva','dXulO','No\x20JSON-RPC\x20response\x20found\x20in\x20SSE\x20stream','authorization_code','2025-03-26','pvkys','vmgZY','get','now','result','isTTY','obWaE','13osUaOs','cLxlB','\x20done','Server\x20returned\x20error:\x20','message','gqRbx','S256','uwCUz','content-type','status','text/event-stream','error','win32','Authorization\x20server\x20does\x20not\x20support\x20dynamic\x20client\x20registration\x20and\x20no\x20cached\x20client\x20found'];_0x2d0f=function(){return _0x3ba34e;};return _0x2d0f();}function extractToken(_0x2ab3dc){const _0x4e78b8=_0x8f908f,_0x1e5be0={'kulDH':function(_0x51b421,_0x5e3cd4){return _0x51b421===_0x5e3cd4;},'ALUha':'text','hBzfQ':function(_0x1cd911,_0x5ae5c9){return _0x1cd911===_0x5ae5c9;},'NjfGP':_0x4e78b8(0x17d)};if(!_0x2ab3dc)return null;const _0x1ea0bd=_0x2ab3dc['structuredContent'];if(_0x1ea0bd?.[_0x4e78b8(0x17b)]&&_0x1e5be0['kulDH'](typeof _0x1ea0bd[_0x4e78b8(0x17b)],'string'))return _0x1ea0bd[_0x4e78b8(0x17b)];if(_0x2ab3dc[_0x4e78b8(0x19e)]){const _0x40ab20=_0x2ab3dc[_0x4e78b8(0x1c7)];throw new Error(_0x4e78b8(0x1b7)+(_0x40ab20?.[0x0]?.[_0x4e78b8(0x16d)]??_0x4e78b8(0x167)));}const _0x1c0a4b=_0x2ab3dc[_0x4e78b8(0x1c7)];if(_0x1c0a4b)for(const _0x34d8e9 of _0x1c0a4b){if(_0x34d8e9[_0x4e78b8(0x1d6)]===_0x1e5be0[_0x4e78b8(0x197)]&&_0x34d8e9['text']){try{const _0x516009=JSON[_0x4e78b8(0x1d1)](_0x34d8e9[_0x4e78b8(0x16d)]);if(_0x1e5be0['hBzfQ'](typeof _0x516009?.[_0x4e78b8(0x17b)],_0x1e5be0['NjfGP']))return _0x516009['token'];}catch{}const _0x133e80=_0x34d8e9[_0x4e78b8(0x16d)]['match'](/(rngr_[A-Za-z0-9_-]+)/);if(_0x133e80)return _0x133e80[0x1];}}return null;}
1
+ const _0x341eab=_0xe822;(function(_0x335836,_0x6933bc){const _0x14409a=_0xe822,_0x2cc09f=_0x335836();while(!![]){try{const _0x5ceb9d=parseInt(_0x14409a(0x264))/0x1*(parseInt(_0x14409a(0x227))/0x2)+-parseInt(_0x14409a(0x201))/0x3+parseInt(_0x14409a(0x257))/0x4+-parseInt(_0x14409a(0x261))/0x5+-parseInt(_0x14409a(0x230))/0x6*(-parseInt(_0x14409a(0x209))/0x7)+-parseInt(_0x14409a(0x210))/0x8+-parseInt(_0x14409a(0x1f6))/0x9*(-parseInt(_0x14409a(0x214))/0xa);if(_0x5ceb9d===_0x6933bc)break;else _0x2cc09f['push'](_0x2cc09f['shift']());}catch(_0x3ade7d){_0x2cc09f['push'](_0x2cc09f['shift']());}}}(_0x3c06,0x3b16a));import{mkdir,writeFile,readFile}from'fs/promises';import{join}from'path';import{homedir}from'os';function _0xe822(_0x418f07,_0x1a7acb){_0x418f07=_0x418f07-0x1ea;const _0x3c0620=_0x3c06();let _0xe822ac=_0x3c0620[_0x418f07];return _0xe822ac;}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(),_0x341eab(0x1ec),'mcp-oauth-tokens.json'),AUTH_ORIGIN_PATH=join(homedir(),_0x341eab(0x1ec),'auth-origin.txt');export async function getMcpAuthOrigin(){const _0x33ef2f=_0x341eab,_0x16fd10={'RHHph':function(_0x4952ce,_0x171cc0,_0x2a07ef){return _0x4952ce(_0x171cc0,_0x2a07ef);},'vDVkK':'utf-8'};try{const _0x24ecd7=(await _0x16fd10[_0x33ef2f(0x268)](readFile,AUTH_ORIGIN_PATH,_0x16fd10['vDVkK']))['trim']();return _0x24ecd7||null;}catch{return null;}}export async function mcpBootstrap(){const _0x30a0b1=_0x341eab,_0x7b1adb={'RZSIA':function(_0x37df54,_0x1925a0){return _0x37df54===_0x1925a0;},'cBSkL':function(_0x4020a0){return _0x4020a0();},'FCaqS':function(_0x2bfab5,_0x2983b7){return _0x2bfab5+_0x2983b7;},'VjTFP':_0x30a0b1(0x21e),'LeJBi':function(_0x255cf6,_0x590355){return _0x255cf6(_0x590355);}},_0x3a782f=getMcpAuthUrl();currentOrigin=_0x3a782f;const _0x4069aa=process[_0x30a0b1(0x251)]['isTTY']??![];console[_0x30a0b1(0x1ff)]('\x0aConnecting\x20to\x20MCP\x20auth\x20server:\x20'+_0x3a782f+'\x0a');const _0x1ca28d=await tryUnauthenticated(_0x3a782f);let _0x4a19ec=null;if(_0x7b1adb[_0x30a0b1(0x23d)](_0x1ca28d,'proxied'))_0x4a19ec='';else{_0x4a19ec=await _0x7b1adb[_0x30a0b1(0x229)](loadCachedToken);if(!_0x4a19ec){if(!_0x4069aa)throw new Error(_0x7b1adb['FCaqS']('MCP\x20server\x20requires\x20authentication\x20but\x20running\x20in\x20non-interactive\x20mode.\x0a',_0x7b1adb['VjTFP']));_0x4a19ec=await _0x7b1adb['LeJBi'](oauthFlow,_0x3a782f);}}await callGetCliToken(_0x3a782f,_0x4a19ec);}async function tryUnauthenticated(_0x3262f3){const _0x37429e=_0x341eab,_0x59bd26={'NdUwU':function(_0x169633,_0x390c8b,_0x1350ff){return _0x169633(_0x390c8b,_0x1350ff);},'sMzSz':'application/json','rDoCy':_0x37429e(0x228),'pVpWS':_0x37429e(0x20b),'BqBBu':_0x37429e(0x26a),'gnUVc':function(_0x58e93d,_0x5d518d){return _0x58e93d===_0x5d518d;}},_0x26210b=await _0x59bd26['NdUwU'](fetch,_0x3262f3,{'method':_0x37429e(0x213),'headers':{'Content-Type':_0x59bd26['sMzSz'],'Accept':_0x37429e(0x25b)},'body':JSON[_0x37429e(0x218)]({'jsonrpc':_0x59bd26[_0x37429e(0x23a)],'id':0x1,'method':'initialize','params':{'protocolVersion':_0x59bd26['pVpWS'],'capabilities':{},'clientInfo':{'name':_0x37429e(0x1fb),'version':_0x59bd26[_0x37429e(0x206)]}}})});if(_0x26210b['ok'])return await _0x26210b[_0x37429e(0x25a)](),'proxied';if(_0x59bd26['gnUVc'](_0x26210b[_0x37429e(0x254)],0x191))return await _0x26210b['text'](),_0x37429e(0x1fc);const _0x5b0b3b=await _0x26210b[_0x37429e(0x25a)]();throw new Error('MCP\x20server\x20returned\x20HTTP\x20'+_0x26210b[_0x37429e(0x254)]+':\x20'+_0x5b0b3b);}function _0x3c06(){const _0x244d0e=['token','searchParams','/callback','1682580dwrRXS','access_token','kBYSY','113IoDsHk','xdg-open','Ranger\x20CLI','lFBkC','RHHph','authorization_code','1.0.0','\x0aCached\x20OAuth\x20client\x20may\x20be\x20stale\x20—\x20clearing\x20and\x20retrying...\x0a','tVcfX','none','jtkbq','.ranger','writeHead','bIPgf','FvOGf','http://localhost:','<html><body><h2>Authentication\x20failed</h2><p>','error','redirect_uri','txKzB','get_cli_token','189esQPzH','darwin','Could\x20not\x20extract\x20token\x20from\x20MCP\x20response','application/json','application/x-www-form-urlencoded','ranger-cli','needs-oauth','get_cli_token\x20failed:\x20','CxtvQ','log','MduxQ','1145199icEcbJ','message','get','NevBm','QplKH','BqBBu','string','UamTO','7497PluIuN','match','2025-03-26','IfcHz','replace','hex','json','873464oBhfqL','HZEpB','structuredContent','POST','350600FlxjOM','Discovering\x20authorization\x20server...','set','client_secret','stringify','result','state','Server\x20returned\x20error:\x20','rfSvg','end','Run\x20`ranger\x20setup\x20--mcp-bootstrap`\x20interactively\x20first.','If\x20the\x20browser\x20doesn\x27t\x20open,\x20visit:\x0a','HTTP\x20','expiresAt','yzFPH','trim','UyWjO','pjxxX','origin','56nFNFtA','2.0','cBSkL','Authorization\x20server\x20does\x20not\x20support\x20dynamic\x20client\x20registration\x20and\x20no\x20cached\x20client\x20found','zBlYj','<html><body><h2>Invalid\x20callback</h2><p>Missing\x20code\x20or\x20state\x20mismatch.</p></body></html>','pathname','FzAGa','PUUED','804ryiYaN','clientId','code_challenge_method','xoJhh','\x20done','type','saUNa','base64url','Bearer\x20','auth-origin.txt','rDoCy','parse','iNgAM','RZSIA','update','error_description','resource','write','LpdKB','RTiRt','toString','length','ZEUto','Ruenu','sDtkf','now','tHsRo','authorization_servers','Exchanging\x20authorization\x20code...','headers','refresh_token','No\x20JSON-RPC\x20response\x20found\x20in\x20SSE\x20stream','nUnco','stdout','refreshToken','ajnvB','status','content','initialize','746080ZAVlhj','listen','ylmvQ','text','application/json,\x20text/event-stream','Could\x20not\x20fetch\x20protected\x20resource\x20metadata\x20from\x20MCP\x20server','clientSecret'];_0x3c06=function(){return _0x244d0e;};return _0x3c06();}class OAuthTimeoutError extends Error{constructor(_0x1d4874){const _0x1d6173={'apNdh':'OAuthTimeoutError'};super(_0x1d4874),this['name']=_0x1d6173['apNdh'];}}async function oauthFlow(_0xd044c0){const _0x34a0cb=_0x341eab,_0x4f845f={'GShAV':_0x34a0cb(0x26b),'vWJxU':function(_0x5f3bfb){return _0x5f3bfb();},'txKzB':function(_0x22a14c,_0x2e8f13){return _0x22a14c(_0x2e8f13);}};try{return await oauthFlowAttempt(_0xd044c0);}catch(_0x3bedb9){if(_0x3bedb9 instanceof OAuthTimeoutError&&await loadCachedClient())return console['log'](_0x4f845f['GShAV']),await _0x4f845f['vWJxU'](clearCachedClient),await _0x4f845f[_0x34a0cb(0x1f4)](oauthFlowAttempt,_0xd044c0);throw _0x3bedb9;}}async function oauthFlowAttempt(_0x4acf70){const _0x411433=_0x341eab,_0x4a086f={'IfcHz':_0x411433(0x215),'NevBm':function(_0x2477e2,_0x1a3fb6){return _0x2477e2(_0x1a3fb6);},'tiVHg':_0x411433(0x25c),'MduxQ':function(_0x1d932f){return _0x1d932f();},'PUUED':_0x411433(0x213),'rfSvg':_0x411433(0x266),'BOiUJ':_0x411433(0x269),'UamTO':_0x411433(0x24e),'jtkbq':'code','mpCOY':_0x411433(0x237),'HCgaK':_0x411433(0x20e),'EXdts':'S256','RTiRt':_0x411433(0x21a),'rhmig':'resource','HZEpB':_0x411433(0x24c),'omeXl':_0x411433(0x217),'qKWox':function(_0x23b4d7,_0x202c93,_0x6d367){return _0x23b4d7(_0x202c93,_0x6d367);},'CUmpd':_0x411433(0x1fa)},_0x26312a=_0x4acf70[_0x411433(0x20d)](/\/mcp$/,'');process[_0x411433(0x251)][_0x411433(0x241)](_0x4a086f[_0x411433(0x20c)]);const _0x269403=await _0x4a086f[_0x411433(0x204)](fetch,_0x26312a+'/.well-known/oauth-protected-resource');if(!_0x269403['ok'])throw new Error(_0x4a086f['tiVHg']);const _0x1e3ce2=await _0x269403['json'](),_0xdba5df=_0x1e3ce2[_0x411433(0x24b)]?.[0x0];if(!_0xdba5df)throw new Error('No\x20authorization_servers\x20in\x20protected\x20resource\x20metadata');console[_0x411433(0x1ff)]('\x20'+_0xdba5df);const _0x2fc119=await fetchAuthServerMetadata(_0xdba5df);let _0x401fec,_0x5c4574;const _0x24b452=await _0x4a086f[_0x411433(0x200)](loadCachedClient);if(_0x24b452)_0x401fec=_0x24b452['clientId'],_0x5c4574=_0x24b452['clientSecret'];else{if(_0x2fc119['registration_endpoint']){process[_0x411433(0x251)]['write']('Registering\x20OAuth\x20client...');const _0x500375=await fetch(_0x2fc119['registration_endpoint'],{'method':_0x4a086f[_0x411433(0x22f)],'headers':{'Content-Type':_0x411433(0x1f9)},'body':JSON[_0x411433(0x218)]({'client_name':_0x4a086f[_0x411433(0x21c)],'redirect_uris':[_0x411433(0x1f0)+CALLBACK_PORT+'/callback'],'grant_types':[_0x4a086f['BOiUJ'],_0x4a086f[_0x411433(0x208)]],'response_types':[_0x4a086f[_0x411433(0x1eb)]],'token_endpoint_auth_method':_0x411433(0x1ea)})});if(!_0x500375['ok']){const _0x5d751a=await _0x500375['text']();throw new Error('Client\x20registration\x20failed:\x20'+_0x5d751a);}const _0x286391=await _0x500375[_0x411433(0x20f)]();_0x401fec=_0x286391['client_id'],_0x5c4574=_0x286391['client_secret'],await saveCachedClient(_0x401fec,_0x5c4574),console[_0x411433(0x1ff)](_0x411433(0x234));}else throw new Error(_0x411433(0x22a));}const _0x10e811=_0x4a086f[_0x411433(0x204)](randomBytes,0x20)['toString'](_0x411433(0x237)),_0x2a7277=_0x4a086f[_0x411433(0x204)](createHash,'sha256')[_0x411433(0x23e)](_0x10e811)['digest'](_0x4a086f['mpCOY']),_0x3ba8d3=randomBytes(0x10)[_0x411433(0x244)](_0x4a086f['HCgaK']),_0x39fe69=new URL(_0x2fc119['authorization_endpoint']);_0x39fe69[_0x411433(0x25f)][_0x411433(0x216)]('response_type',_0x4a086f[_0x411433(0x1eb)]),_0x39fe69[_0x411433(0x25f)]['set']('client_id',_0x401fec),_0x39fe69[_0x411433(0x25f)][_0x411433(0x216)](_0x411433(0x1f3),'http://localhost:'+CALLBACK_PORT+'/callback'),_0x39fe69[_0x411433(0x25f)][_0x411433(0x216)]('code_challenge',_0x2a7277),_0x39fe69[_0x411433(0x25f)]['set'](_0x411433(0x232),_0x4a086f['EXdts']),_0x39fe69[_0x411433(0x25f)][_0x411433(0x216)](_0x4a086f[_0x411433(0x243)],_0x3ba8d3);_0x1e3ce2[_0x411433(0x240)]&&_0x39fe69['searchParams']['set'](_0x4a086f['rhmig'],_0x1e3ce2['resource']);console['log']('\x0aOpening\x20browser\x20for\x20authentication...'),console[_0x411433(0x1ff)](_0x411433(0x21f)+_0x39fe69[_0x411433(0x244)]()+'\x0a'),await _0x4a086f['NevBm'](openBrowser,_0x39fe69['toString']());const _0x1ef5f4=await waitForCallback(_0x3ba8d3);process[_0x411433(0x251)][_0x411433(0x241)](_0x4a086f[_0x411433(0x211)]);const _0xf6e7ca=new URLSearchParams({'grant_type':_0x4a086f['BOiUJ'],'code':_0x1ef5f4,'redirect_uri':'http://localhost:'+CALLBACK_PORT+'/callback','client_id':_0x401fec,'code_verifier':_0x10e811});_0x5c4574&&_0xf6e7ca[_0x411433(0x216)](_0x4a086f['omeXl'],_0x5c4574);_0x1e3ce2['resource']&&_0xf6e7ca['set'](_0x411433(0x240),_0x1e3ce2[_0x411433(0x240)]);const _0x4a3a38=await _0x4a086f['qKWox'](fetch,_0x2fc119['token_endpoint'],{'method':_0x4a086f[_0x411433(0x22f)],'headers':{'Content-Type':_0x4a086f['CUmpd']},'body':_0xf6e7ca});if(!_0x4a3a38['ok']){const _0x2cadc5=await _0x4a3a38[_0x411433(0x25a)]();throw new Error('Token\x20exchange\x20failed:\x20'+_0x2cadc5);}const _0x5773bd=await _0x4a3a38['json']();return console[_0x411433(0x1ff)]('\x20done'),await saveCachedToken(_0x5773bd[_0x411433(0x262)],_0x5773bd['refresh_token'],_0x5773bd['expires_in']),_0x5773bd[_0x411433(0x262)];}async function callGetCliToken(_0x1bebff,_0x5a59c8){const _0x1d7004=_0x341eab,_0xe0478d={'FvOGf':function(_0x3ce6b7,_0x2c5ab9,_0x57779a){return _0x3ce6b7(_0x2c5ab9,_0x57779a);},'LpdKB':'POST','CEnBS':'application/json','ajnvB':_0x1d7004(0x25b),'tVcfX':'Initializing\x20MCP\x20session...','pjxxX':'2.0','xoJhh':_0x1d7004(0x256),'CxtvQ':_0x1d7004(0x234),'UtXsK':function(_0x50a4dd,_0x316f7c,_0x290070){return _0x50a4dd(_0x316f7c,_0x290070);},'ZEUto':'tools/call','CpsKx':_0x1d7004(0x1f8),'yzFPH':function(_0x52e04e,_0x33180a,_0x5bd147,_0x5ab644){return _0x52e04e(_0x33180a,_0x5bd147,_0x5ab644);},'GDMHP':function(_0xf176de,_0x396811,_0x375cd1){return _0xf176de(_0x396811,_0x375cd1);},'BhjlS':_0x1d7004(0x239),'ReBUh':'Run\x20`ranger\x20status`\x20to\x20verify\x20authentication.\x0a'},_0x1da11d={'Content-Type':_0xe0478d['CEnBS'],'Accept':_0xe0478d[_0x1d7004(0x253)]};_0x5a59c8&&(_0x1da11d['Authorization']=_0x1d7004(0x238)+_0x5a59c8);const _0x412b2f=async _0x779999=>{const _0x4ec290=_0x1d7004,_0x2a84f8=await _0xe0478d[_0x4ec290(0x1ef)](fetch,_0x1bebff,{'method':_0xe0478d['LpdKB'],'headers':_0x1da11d,'body':JSON['stringify'](_0x779999)});if(!_0x2a84f8['ok']){const _0x294340=await _0x2a84f8[_0x4ec290(0x25a)]();throw new Error(_0x4ec290(0x220)+_0x2a84f8['status']+':\x20'+_0x294340);}return parseResponse(_0x2a84f8);};process['stdout']['write'](_0xe0478d[_0x1d7004(0x26c)]);const _0x1cd4f6=await _0x412b2f({'jsonrpc':_0xe0478d[_0x1d7004(0x225)],'id':0x1,'method':_0xe0478d[_0x1d7004(0x233)],'params':{'protocolVersion':_0x1d7004(0x20b),'capabilities':{},'clientInfo':{'name':'ranger-cli','version':'1.0.0'}}});if(_0x1cd4f6[_0x1d7004(0x1f2)])throw new Error('MCP\x20initialize\x20failed:\x20'+(_0x1cd4f6[_0x1d7004(0x1f2)][_0x1d7004(0x202)]??JSON['stringify'](_0x1cd4f6['error'])));console[_0x1d7004(0x1ff)](_0xe0478d[_0x1d7004(0x1fe)]),await _0xe0478d['UtXsK'](fetch,_0x1bebff,{'method':_0xe0478d[_0x1d7004(0x242)],'headers':_0x1da11d,'body':JSON['stringify']({'jsonrpc':_0xe0478d['pjxxX'],'method':'notifications/initialized'})})['then'](_0x2be2ba=>_0x2be2ba['text']()),process[_0x1d7004(0x251)][_0x1d7004(0x241)]('Requesting\x20CLI\x20token...');const _0x33f12a=await _0x412b2f({'jsonrpc':_0xe0478d[_0x1d7004(0x225)],'id':0x2,'method':_0xe0478d[_0x1d7004(0x246)],'params':{'name':_0x1d7004(0x1f5),'arguments':{}}});if(_0x33f12a['error'])throw new Error(_0x1d7004(0x1fd)+(_0x33f12a['error']['message']??JSON['stringify'](_0x33f12a['error'])));console[_0x1d7004(0x1ff)](_0xe0478d['CxtvQ']);const _0x327fe7=extractToken(_0x33f12a[_0x1d7004(0x219)]);if(!_0x327fe7){console[_0x1d7004(0x1f2)]('\x0aUnexpected\x20response\x20structure:'),console[_0x1d7004(0x1f2)](JSON['stringify'](_0x33f12a[_0x1d7004(0x219)],null,0x2));throw new Error(_0xe0478d['CpsKx']);}const _0x29ac2f=join(homedir(),_0x1d7004(0x1ec)),_0x3d2574=_0xe0478d[_0x1d7004(0x1ef)](join,_0x29ac2f,'refresh.txt');await mkdir(_0x29ac2f,{'recursive':!![]}),await _0xe0478d[_0x1d7004(0x222)](writeFile,_0x3d2574,_0x327fe7,{'mode':0x180}),await writeFile(_0xe0478d['GDMHP'](join,_0x29ac2f,_0xe0478d['BhjlS']),_0x1bebff,{'mode':0x180}),console['log']('\x0aToken\x20written\x20to\x20'+_0x3d2574),console['log'](_0xe0478d['ReBUh']);}async function fetchAuthServerMetadata(_0x27d931){const _0x245638=_0x341eab,_0x224f05=_0x27d931+'/.well-known/oauth-authorization-server',_0x4a37d8=await fetch(_0x224f05);if(!_0x4a37d8['ok'])throw new Error('Could\x20not\x20fetch\x20auth\x20server\x20metadata\x20from\x20'+_0x224f05+':\x20'+_0x4a37d8[_0x245638(0x254)]);return _0x4a37d8[_0x245638(0x20f)]();}function waitForCallback(_0x3f33a7){const _0x5b996b=_0x341eab,_0x4c63fa={'thQSU':function(_0x5969b5,_0x52ef93){return _0x5969b5!==_0x52ef93;},'Ruenu':'state','QplKH':_0x5b996b(0x23f),'saUNa':'text/html','ZzeUr':'<html><body><h2>Authenticated!</h2><p>You\x20can\x20close\x20this\x20window\x20and\x20return\x20to\x20the\x20terminal.</p></body></html>','bIPgf':function(_0x1df2a2){return _0x1df2a2();},'kBYSY':function(_0x175a62,_0x512c31){return _0x175a62(_0x512c31);}};return new Promise((_0x5ceac5,_0x4dd24b)=>{const _0x5cdb18=_0x5b996b,_0xbbb119=()=>{_0xe0710f['closeAllConnections'](),_0xe0710f['close']();},_0x566430=setTimeout(()=>{_0xbbb119(),_0x4dd24b(new OAuthTimeoutError('OAuth\x20callback\x20timed\x20out\x20after\x202\x20minutes'));},0x1d4c0),_0xe0710f=createServer((_0x5470fd,_0x5ae5d6)=>{const _0x39d171=_0xe822,_0x436b37=new URL(_0x5470fd['url']??'/','http://localhost:'+CALLBACK_PORT);if(_0x4c63fa['thQSU'](_0x436b37[_0x39d171(0x22d)],_0x39d171(0x260))){_0x5ae5d6['writeHead'](0x194),_0x5ae5d6[_0x39d171(0x21d)]('Not\x20found');return;}const _0x423217=_0x436b37['searchParams'][_0x39d171(0x203)]('code'),_0xe55187=_0x436b37[_0x39d171(0x25f)][_0x39d171(0x203)](_0x4c63fa[_0x39d171(0x247)]),_0x3e3763=_0x436b37['searchParams']['get']('error');if(_0x3e3763){const _0x1689fa=_0x436b37[_0x39d171(0x25f)][_0x39d171(0x203)](_0x4c63fa[_0x39d171(0x205)])??_0x3e3763;_0x5ae5d6[_0x39d171(0x1ed)](0xc8,{'Content-Type':'text/html'}),_0x5ae5d6['end'](_0x39d171(0x1f1)+_0x1689fa+'</p><p>You\x20can\x20close\x20this\x20window.</p></body></html>'),clearTimeout(_0x566430),_0xbbb119(),_0x4dd24b(new Error('OAuth\x20error:\x20'+_0x1689fa));return;}if(!_0x423217||_0xe55187!==_0x3f33a7){_0x5ae5d6['writeHead'](0x190,{'Content-Type':_0x4c63fa['saUNa']}),_0x5ae5d6[_0x39d171(0x21d)](_0x39d171(0x22c));return;}_0x5ae5d6[_0x39d171(0x1ed)](0xc8,{'Content-Type':_0x4c63fa[_0x39d171(0x236)]}),_0x5ae5d6[_0x39d171(0x21d)](_0x4c63fa['ZzeUr']),clearTimeout(_0x566430),_0x4c63fa[_0x39d171(0x1ee)](_0xbbb119),_0x4c63fa[_0x39d171(0x263)](_0x5ceac5,_0x423217);});_0xe0710f[_0x5cdb18(0x258)](CALLBACK_PORT,'127.0.0.1');});}async function openBrowser(_0x3150c3){const _0x6be9d5=_0x341eab,_0xb30a09={'lFBkC':function(_0x27b409,_0x54aea4){return _0x27b409===_0x54aea4;},'AsUey':_0x6be9d5(0x1f7),'iNgAM':'win32','fMRlX':'start','MrRrK':_0x6be9d5(0x265)},_0x5180b6=_0xb30a09[_0x6be9d5(0x267)](process['platform'],_0xb30a09['AsUey'])?'open':process['platform']===_0xb30a09[_0x6be9d5(0x23c)]?_0xb30a09['fMRlX']:_0xb30a09['MrRrK'];exec(_0x5180b6+'\x20\x22'+_0x3150c3+'\x22');}let currentOrigin='';async function loadCachedToken(){const _0xee02a3=_0x341eab,_0x256c19={'xtZhg':function(_0x3b10ff,_0x46f8e1,_0x591c13){return _0x3b10ff(_0x46f8e1,_0x591c13);},'AKwuP':'utf-8'};try{const _0x2a7c3b=JSON['parse'](await _0x256c19['xtZhg'](readFile,TOKEN_CACHE_PATH,_0x256c19['AKwuP']));if(_0x2a7c3b[_0xee02a3(0x226)]&&_0x2a7c3b[_0xee02a3(0x226)]!==currentOrigin)return null;if(_0x2a7c3b[_0xee02a3(0x221)]&&Date['now']()>_0x2a7c3b[_0xee02a3(0x221)])return null;return _0x2a7c3b['accessToken']??null;}catch{return null;}}async function saveCachedToken(_0x548669,_0x4a837b,_0x2bee34){const _0x55d9bb=_0x341eab,_0x18f46b={'UyWjO':function(_0x424232,_0x17f342,_0x4d7ff4){return _0x424232(_0x17f342,_0x4d7ff4);},'CSyDF':'.ranger'},_0x4cea8b=await loadCachedData(),_0x2cc766={..._0x4cea8b,'origin':currentOrigin,'accessToken':_0x548669,'refreshToken':_0x4a837b??_0x4cea8b?.[_0x55d9bb(0x252)],'expiresAt':_0x2bee34?Date[_0x55d9bb(0x249)]()+_0x2bee34*0x3e8:undefined};await _0x18f46b['UyWjO'](mkdir,_0x18f46b[_0x55d9bb(0x224)](join,homedir(),_0x18f46b['CSyDF']),{'recursive':!![]}),await writeFile(TOKEN_CACHE_PATH,JSON[_0x55d9bb(0x218)](_0x2cc766),{'mode':0x180});}async function loadCachedClient(){const _0x4d3b8e=_0x341eab,_0x3d38c7={'fOVtt':function(_0x5b2b7b){return _0x5b2b7b();},'oFzeU':function(_0x5583ad,_0x504ec4){return _0x5583ad!==_0x504ec4;}},_0x17dd05=await _0x3d38c7['fOVtt'](loadCachedData);if(_0x17dd05?.['origin']&&_0x3d38c7['oFzeU'](_0x17dd05[_0x4d3b8e(0x226)],currentOrigin))return null;return _0x17dd05?.[_0x4d3b8e(0x231)]?{'clientId':_0x17dd05[_0x4d3b8e(0x231)],'clientSecret':_0x17dd05[_0x4d3b8e(0x25d)]}:null;}async function clearCachedClient(){const _0x3d13e5={'KoSyD':function(_0x30afbe){return _0x30afbe();},'SUYwc':function(_0xfb1b56,_0x491fba,_0x223b94,_0x4f7802){return _0xfb1b56(_0x491fba,_0x223b94,_0x4f7802);}},_0x116f00=await _0x3d13e5['KoSyD'](loadCachedData);if(!_0x116f00)return;const {clientId:_0x1ff20c,clientSecret:_0x467627,..._0x475528}=_0x116f00;await _0x3d13e5['SUYwc'](writeFile,TOKEN_CACHE_PATH,JSON['stringify'](_0x475528),{'mode':0x180});}async function saveCachedClient(_0x4bd53c,_0x16bd6b){const _0x1fe8b3=_0x341eab,_0x26ca92={'mWjuI':function(_0x4fb9e6,_0x58efc7,_0x33751c){return _0x4fb9e6(_0x58efc7,_0x33751c);},'zBlYj':function(_0x3bcd1c){return _0x3bcd1c();},'FzAGa':_0x1fe8b3(0x1ec)},_0x5c86bc=await loadCachedData(),_0xc5c5e1={..._0x5c86bc,'origin':currentOrigin,'accessToken':_0x5c86bc?.['accessToken']??'','clientId':_0x4bd53c,'clientSecret':_0x16bd6b};await _0x26ca92['mWjuI'](mkdir,join(_0x26ca92[_0x1fe8b3(0x22b)](homedir),_0x26ca92[_0x1fe8b3(0x22e)]),{'recursive':!![]}),await writeFile(TOKEN_CACHE_PATH,JSON[_0x1fe8b3(0x218)](_0xc5c5e1),{'mode':0x180});}async function loadCachedData(){const _0x4b4a25={'PRMxF':function(_0x5813c4,_0x485891,_0x2b27e7){return _0x5813c4(_0x485891,_0x2b27e7);},'sfafK':'utf-8'};try{return JSON['parse'](await _0x4b4a25['PRMxF'](readFile,TOKEN_CACHE_PATH,_0x4b4a25['sfafK']));}catch{return null;}}async function parseResponse(_0x77dc26){const _0xa943fb=_0x341eab,_0x2cb772={'nUnco':'text/event-stream','sDtkf':'data:','hqqKP':function(_0x211712,_0x52e3d2){return _0x211712!==_0x52e3d2;},'ylmvQ':_0xa943fb(0x24f)},_0x36094b=_0x77dc26[_0xa943fb(0x24d)][_0xa943fb(0x203)]('content-type')??'';if(_0x36094b['includes'](_0x2cb772[_0xa943fb(0x250)])){const _0x3074ff=await _0x77dc26['text']();for(const _0x178412 of _0x3074ff['split']('\x0a')){const _0x5f305c=_0x178412[_0xa943fb(0x223)]();if(_0x5f305c['startsWith']('data:')){const _0x1c35f9=_0x5f305c['slice'](_0x2cb772[_0xa943fb(0x248)][_0xa943fb(0x245)])[_0xa943fb(0x223)]();if(!_0x1c35f9)continue;try{const _0x184207=JSON['parse'](_0x1c35f9);if(_0x2cb772['hqqKP'](_0x184207['id'],undefined)||_0x184207[_0xa943fb(0x1f2)])return _0x184207;}catch{}}}throw new Error(_0x2cb772[_0xa943fb(0x259)]);}return _0x77dc26['json']();}function extractToken(_0x945224){const _0x5b8422=_0x341eab,_0x53d8fc={'BArbA':function(_0x3efd79,_0x335f20){return _0x3efd79===_0x335f20;},'tHsRo':'Unknown\x20error','zOXAB':'text','Bzatn':_0x5b8422(0x207)};if(!_0x945224)return null;const _0x365b4e=_0x945224[_0x5b8422(0x212)];if(_0x365b4e?.['token']&&_0x53d8fc['BArbA'](typeof _0x365b4e['token'],'string'))return _0x365b4e[_0x5b8422(0x25e)];if(_0x945224['isError']){const _0x1dc8f1=_0x945224[_0x5b8422(0x255)];throw new Error(_0x5b8422(0x21b)+(_0x1dc8f1?.[0x0]?.[_0x5b8422(0x25a)]??_0x53d8fc[_0x5b8422(0x24a)]));}const _0x32f74e=_0x945224[_0x5b8422(0x255)];if(_0x32f74e)for(const _0x5a6048 of _0x32f74e){if(_0x5a6048[_0x5b8422(0x235)]===_0x53d8fc['zOXAB']&&_0x5a6048['text']){try{const _0x23c747=JSON[_0x5b8422(0x23b)](_0x5a6048[_0x5b8422(0x25a)]);if(typeof _0x23c747?.['token']===_0x53d8fc['Bzatn'])return _0x23c747[_0x5b8422(0x25e)];}catch{}const _0x1bfd73=_0x5a6048['text'][_0x5b8422(0x20a)](/(rngr_[A-Za-z0-9_-]+)/);if(_0x1bfd73)return _0x1bfd73[0x1];}}return null;}
@@ -1 +1 @@
1
- (function(_0x2fa5c6,_0x489778){var _0x4fd3ce=_0x502f,_0x573e97=_0x2fa5c6();while(!![]){try{var _0x57d4bf=-parseInt(_0x4fd3ce(0x10e))/0x1*(-parseInt(_0x4fd3ce(0x111))/0x2)+parseInt(_0x4fd3ce(0x100))/0x3*(parseInt(_0x4fd3ce(0x105))/0x4)+-parseInt(_0x4fd3ce(0x104))/0x5*(parseInt(_0x4fd3ce(0x103))/0x6)+-parseInt(_0x4fd3ce(0x110))/0x7+-parseInt(_0x4fd3ce(0x10f))/0x8*(parseInt(_0x4fd3ce(0x10d))/0x9)+parseInt(_0x4fd3ce(0x101))/0xa+-parseInt(_0x4fd3ce(0x108))/0xb;if(_0x57d4bf===_0x489778)break;else _0x573e97['push'](_0x573e97['shift']());}catch(_0x4a04d2){_0x573e97['push'](_0x573e97['shift']());}}}(_0x1e10,0x729b6));function _0x502f(_0x4d4dad,_0x39436e){_0x4d4dad=_0x4d4dad-0xff;var _0x1e1077=_0x1e10();var _0x502f53=_0x1e1077[_0x4d4dad];return _0x502f53;}export async function migrateProfile(_0x114440,_0x3b1223){var _0x4350e9=_0x502f,_0xcf3a53={'MsPCI':function(_0x36a321,_0x2c1875){return _0x36a321+_0x2c1875;},'kAmRw':function(_0x2ae54a,_0x31e8d5){return _0x2ae54a+_0x31e8d5;},'zZZsp':_0x4350e9(0x107),'queTe':'To\x20set\x20up\x20a\x20fresh\x20profile,\x20run:\x0a','qwoWF':'For\x20CI\x20/\x20background\x20agents\x20and\x20other\x20setup\x20options,\x20see:\x0a','FqFrP':'\x20\x20https://docs.ranger.net/main/concepts/profiles\x0a','zbcQE':_0x4350e9(0x106)};console['error'](_0xcf3a53[_0x4350e9(0x102)](_0xcf3a53['MsPCI'](_0xcf3a53['kAmRw'](_0xcf3a53[_0x4350e9(0xff)](_0xcf3a53['zZZsp']+'\x0a',_0xcf3a53[_0x4350e9(0x10c)])+'\x20\x20ranger\x20profile\x20add\x20<name>\x0a'+'\x0a',_0xcf3a53['qwoWF']),_0xcf3a53[_0x4350e9(0x10b)])+'\x0a',_0xcf3a53[_0x4350e9(0x10a)])+'fallback;\x20you\x20can\x20delete\x20them\x20once\x20you\x20have\x20re-auth-ed.'),process[_0x4350e9(0x109)](0x1);}function _0x1e10(){var _0x40cc74=['FqFrP','queTe','112599IkQCgm','230527IJBlVn','352avfsgC','385322VoMsuY','4caBdnh','kAmRw','501hIQKkP','9305450aRVEyY','MsPCI','162GfZTKl','129925Wfurdc','12968lBPLdu','Existing\x20sessions\x20in\x20your\x20old\x20<project>/.ranger/\x20dirs\x20still\x20work\x20as\x20a\x0a','ranger\x20profile\x20migrate\x20is\x20no\x20longer\x20supported.\x0a','1721038RbrYqK','exit','zbcQE'];_0x1e10=function(){return _0x40cc74;};return _0x1e10();}
1
+ function _0x5903(){var _0x269885=['14FtWrCk','15752097nKaLGT','\x20\x20ranger\x20profile\x20add\x20<name>\x0a','To\x20set\x20up\x20a\x20fresh\x20profile,\x20run:\x0a','1162960zQRPRa','\x20\x20https://docs.ranger.net/main/concepts/profiles\x0a','xoHvw','2OoSxxZ','1873824RzJWkZ','7084730LMMoDO','29660wfWJLx','5gMNEfi','701064NSWbHW','495BDKCvs','pBghc','33308682bGXVbJ'];_0x5903=function(){return _0x269885;};return _0x5903();}function _0x40f3(_0x1f4337,_0x30d021){_0x1f4337=_0x1f4337-0x1bc;var _0x5903ea=_0x5903();var _0x40f37f=_0x5903ea[_0x1f4337];return _0x40f37f;}(function(_0x441d44,_0x2d1df3){var _0x414945=_0x40f3,_0x8ad841=_0x441d44();while(!![]){try{var _0x292df7=parseInt(_0x414945(0x1c7))/0x1*(parseInt(_0x414945(0x1ca))/0x2)+parseInt(_0x414945(0x1c0))/0x3*(parseInt(_0x414945(0x1bd))/0x4)+-parseInt(_0x414945(0x1be))/0x5*(-parseInt(_0x414945(0x1cb))/0x6)+parseInt(_0x414945(0x1c3))/0x7*(parseInt(_0x414945(0x1bf))/0x8)+parseInt(_0x414945(0x1c4))/0x9+-parseInt(_0x414945(0x1bc))/0xa+-parseInt(_0x414945(0x1c2))/0xb;if(_0x292df7===_0x2d1df3)break;else _0x8ad841['push'](_0x8ad841['shift']());}catch(_0x26b5e2){_0x8ad841['push'](_0x8ad841['shift']());}}}(_0x5903,0xd8b97));export async function migrateProfile(_0xd4b24f,_0x8824bb){var _0x359b19=_0x40f3,_0x3c64ae={'Bufgy':function(_0x371738,_0x1f8b6f){return _0x371738+_0x1f8b6f;},'lzJfJ':function(_0x367b10,_0x4346b6){return _0x367b10+_0x4346b6;},'xoHvw':function(_0x2e75e1,_0x4e7853){return _0x2e75e1+_0x4e7853;},'agJEO':'ranger\x20profile\x20migrate\x20is\x20no\x20longer\x20supported.\x0a','pBghc':_0x359b19(0x1c5),'PzXOA':'Existing\x20sessions\x20in\x20your\x20old\x20<project>/.ranger/\x20dirs\x20still\x20work\x20as\x20a\x0a'};console['error'](_0x3c64ae['Bufgy'](_0x3c64ae['lzJfJ'](_0x3c64ae['xoHvw'](_0x3c64ae[_0x359b19(0x1c9)](_0x3c64ae['agJEO']+'\x0a'+_0x359b19(0x1c6)+_0x3c64ae[_0x359b19(0x1c1)],'\x0a'),'For\x20CI\x20/\x20background\x20agents\x20and\x20other\x20setup\x20options,\x20see:\x0a'),_0x359b19(0x1c8))+'\x0a',_0x3c64ae['PzXOA'])+'fallback;\x20you\x20can\x20delete\x20them\x20once\x20you\x20have\x20re-auth-ed.'),process['exit'](0x1);}
@@ -1 +1 @@
1
- (function(_0x4d8d37,_0x405975){const _0x552a06=_0x3b70,_0x4bfcff=_0x4d8d37();while(!![]){try{const _0x459c9a=-parseInt(_0x552a06(0x19d))/0x1*(parseInt(_0x552a06(0x18e))/0x2)+-parseInt(_0x552a06(0x17f))/0x3+parseInt(_0x552a06(0x184))/0x4*(-parseInt(_0x552a06(0x1a7))/0x5)+-parseInt(_0x552a06(0x199))/0x6+parseInt(_0x552a06(0x186))/0x7*(parseInt(_0x552a06(0x187))/0x8)+-parseInt(_0x552a06(0x1a1))/0x9+parseInt(_0x552a06(0x188))/0xa;if(_0x459c9a===_0x405975)break;else _0x4bfcff['push'](_0x4bfcff['shift']());}catch(_0x446f98){_0x4bfcff['push'](_0x4bfcff['shift']());}}}(_0x4885,0x44f03));function _0x4885(){const _0x1fd1aa=['install','.claude','14126DsWFMh','PUJcE','zGXAE','marketplace','lRfHq','prompt','dduPm','mVRPc','--scope','\x20\x20claude\x20plugin\x20install\x20ranger@trailhead\x20--scope\x20','rWEYa','3227166shoKbQ','OFpAH','\x0aYou\x20can\x20install\x20manually\x20with:','✓\x20Marketplace\x20already\x20added','19yKTAfK','qGpZe','Would\x20you\x20like\x20to\x20install\x20skills?','list','4934529SPUQBf','gevUA','ranger-testing/trailhead','JuAWf','output','✓\x20Ranger\x20skills\x20already\x20installed','114970GVxoFU','NOGSV','user','pluginScope','log','error','TXsfb','lLRwW','\x20\x20claude\x20plugin\x20marketplace\x20add\x20ranger-testing/trailhead','HVaEl','YjGKI','✓\x20Claude\x20Code\x20plugin\x20enabled','1205550dwSmja','\x0a📦\x20Claude\x20Code\x20Plugin\x0a','BnWsG','\x20level)...\x0a','ZuETQ','84NPhCll','ranger@trailhead','1141kfLvhi','10376IjJhms','21760230tDswLW','Where\x20should\x20the\x20plugin\x20be\x20installed?','project','BLedL'];_0x4885=function(){return _0x1fd1aa;};return _0x4885();}import{join}from'path';import{existsSync}from'fs';import _0x4ea7c9 from'inquirer';import{skillup}from'../skillup.js';import{runClaudeCommand,isMarketplaceAdded,isPluginInstalled}from'../utils/claudePlugin.js';function _0x3b70(_0x4d348a,_0x17b60f){_0x4d348a=_0x4d348a-0x17f;const _0x488530=_0x4885();let _0x3b7092=_0x488530[_0x4d348a];return _0x3b7092;}import{getProjectRoot,getSkillsDir}from'../utils/claudeConfig.js';export async function ensureClaudePlugin(_0x14102b){const _0x1696d2=_0x3b70,_0x5df0c7={'dduPm':function(_0x43c364,_0x4a05d6){return _0x43c364(_0x4a05d6);},'lLRwW':'✓\x20Claude\x20Code\x20plugin\x20already\x20installed','dvpSV':function(_0x236c17,_0x23b506,_0x49c80c){return _0x236c17(_0x23b506,_0x49c80c);},'OFpAH':function(_0x39729d){return _0x39729d();},'mVRPc':_0x1696d2(0x1a0),'gtTHk':_0x1696d2(0x1aa),'BGsxN':_0x1696d2(0x189),'ZuETQ':'Project\x20(shared\x20with\x20team\x20via\x20git)','TXsfb':'project','gevUA':_0x1696d2(0x1a9),'rWEYa':function(_0x22a94c,_0x2553f2){return _0x22a94c(_0x2553f2);},'YjGKI':'trailhead','HVaEl':_0x1696d2(0x19c),'LRsPg':function(_0xd51ad9,_0x10f053){return _0xd51ad9(_0x10f053);},'zGXAE':'plugin','BLedL':'❌\x20Failed\x20to\x20add\x20marketplace:','QMdjv':_0x1696d2(0x19b),'lRfHq':_0x1696d2(0x1af),'mNlVU':_0x1696d2(0x18c),'oZCuN':_0x1696d2(0x185),'NOGSV':_0x1696d2(0x196),'ZEkFC':function(_0x4a4f0c,_0x5768da){return _0x4a4f0c===_0x5768da;},'xFwNC':function(_0x371938){return _0x371938();},'JuAWf':'✓\x20Claude\x20Code\x20plugin\x20installed\x20successfully','nApxl':function(_0x3e3863,_0x184765,_0x2a1037){return _0x3e3863(_0x184765,_0x2a1037);},'RVlzY':_0x1696d2(0x1b2)},_0x47a942=await _0x5df0c7[_0x1696d2(0x194)](isPluginInstalled,_0x1696d2(0x185));if(_0x47a942)return console['log'](_0x5df0c7[_0x1696d2(0x1ae)]),![];const _0x2b2c4f=existsSync(_0x5df0c7['dvpSV'](join,_0x5df0c7['OFpAH'](getProjectRoot),_0x1696d2(0x18d)));let _0x3f051d;if(_0x14102b)_0x3f051d=_0x14102b;else{if(_0x2b2c4f)_0x3f051d=_0x1696d2(0x18a);else{console['log'](_0x1696d2(0x180));const _0x390060=await _0x4ea7c9[_0x1696d2(0x193)]([{'type':_0x5df0c7[_0x1696d2(0x195)],'name':_0x5df0c7['gtTHk'],'message':_0x5df0c7['BGsxN'],'choices':[{'name':'User\x20(available\x20in\x20all\x20your\x20projects)','value':'user'},{'name':_0x5df0c7[_0x1696d2(0x183)],'value':_0x5df0c7[_0x1696d2(0x1ad)]}],'default':_0x5df0c7[_0x1696d2(0x1a2)]}]);_0x3f051d=_0x390060[_0x1696d2(0x1aa)];}}console[_0x1696d2(0x1ab)]('\x0aInstalling\x20Claude\x20Code\x20plugin\x20('+_0x3f051d+_0x1696d2(0x182));const _0x4311ed=await _0x5df0c7[_0x1696d2(0x198)](isMarketplaceAdded,_0x5df0c7[_0x1696d2(0x1b1)]);let _0x168df0=_0x4311ed;if(_0x4311ed)console['log'](_0x5df0c7[_0x1696d2(0x1b0)]);else{const _0x56cdab=await _0x5df0c7['LRsPg'](runClaudeCommand,[_0x5df0c7[_0x1696d2(0x190)],_0x1696d2(0x191),'add',_0x1696d2(0x1a3)]);!_0x56cdab['success']?(console[_0x1696d2(0x1ac)](_0x5df0c7[_0x1696d2(0x18b)],_0x56cdab[_0x1696d2(0x1ac)]),console['log'](_0x5df0c7['QMdjv']),console['log'](_0x5df0c7[_0x1696d2(0x192)]),console[_0x1696d2(0x1ab)](_0x1696d2(0x197)+_0x3f051d)):_0x168df0=!![];}if(_0x168df0){const _0xc0b152=await runClaudeCommand([_0x5df0c7['zGXAE'],_0x5df0c7['mNlVU'],_0x5df0c7['oZCuN'],_0x5df0c7['NOGSV'],_0x3f051d],{'cwd':_0x5df0c7['ZEkFC'](_0x3f051d,'project')?_0x5df0c7['xFwNC'](getProjectRoot):undefined});if(!_0xc0b152['success'])console['error']('❌\x20Failed\x20to\x20install\x20plugin:',_0xc0b152[_0x1696d2(0x1ac)]),console[_0x1696d2(0x1ab)]('\x0aYou\x20can\x20install\x20manually\x20with:'),console[_0x1696d2(0x1ab)](_0x1696d2(0x197)+_0x3f051d);else{console['log'](_0x5df0c7[_0x1696d2(0x1a4)]);const _0x1810a5=['plugin','enable',_0x5df0c7['oZCuN']];_0x5df0c7['ZEkFC'](_0x3f051d,'project')&&_0x1810a5['push'](_0x5df0c7[_0x1696d2(0x1a8)],_0x5df0c7['TXsfb']);const _0x33a080=await _0x5df0c7['nApxl'](runClaudeCommand,_0x1810a5,{'captureOutput':!![],'cwd':_0x5df0c7['ZEkFC'](_0x3f051d,_0x1696d2(0x18a))?_0x5df0c7[_0x1696d2(0x19a)](getProjectRoot):undefined}),_0x141aed=_0x33a080[_0x1696d2(0x1a5)]?.['includes']('already\x20enabled');!_0x33a080['success']&&!_0x141aed?console[_0x1696d2(0x1ac)]('⚠\x20Failed\x20to\x20enable\x20plugin:',_0x33a080['error']):console['log'](_0x5df0c7['RVlzY']);}}return!![];}export async function ensureClaudeSkills(_0x521b8e){const _0x579308=_0x3b70,_0x26f7f6={'qGpZe':function(_0x4e6497,_0x134b1b){return _0x4e6497(_0x134b1b);},'oSGBB':function(_0x18a584,_0x52c71a,_0x4c17c9,_0x183d86){return _0x18a584(_0x52c71a,_0x4c17c9,_0x183d86);},'PrhMj':'ranger','PUJcE':_0x579308(0x18a),'UPmKM':function(_0x41b0bb,_0x4186ad){return _0x41b0bb(_0x4186ad);},'BnWsG':function(_0x4e7fde,_0x5210f8){return _0x4e7fde(_0x5210f8);}},_0x1b66bf=_0x26f7f6[_0x579308(0x19e)](existsSync,_0x26f7f6['oSGBB'](join,getSkillsDir(_0x579308(0x1a9)),_0x26f7f6['PrhMj'],'SKILL.md')),_0x3b5515=existsSync(join(_0x26f7f6[_0x579308(0x19e)](getSkillsDir,_0x26f7f6[_0x579308(0x18f)]),_0x26f7f6['PrhMj'],'SKILL.md'));if(_0x1b66bf||_0x3b5515)return console[_0x579308(0x1ab)](_0x579308(0x1a6)),![];const _0x3ba5e1=existsSync(join(getProjectRoot(),'.claude'));let _0x368513=!![];if(_0x521b8e)await _0x26f7f6['UPmKM'](skillup,{'autoInstall':_0x521b8e,'suppressUsage':!![]});else{if(_0x3ba5e1)await _0x26f7f6[_0x579308(0x181)](skillup,{'autoInstall':'project','suppressUsage':!![]});else{const _0x1b1108=await _0x4ea7c9['prompt']([{'type':'confirm','name':'wantsSkillup','message':_0x579308(0x19f),'default':!![]}]);_0x368513=_0x1b1108['wantsSkillup'],_0x368513&&await skillup({'suppressUsage':!![]});}}return _0x368513;}
1
+ (function(_0x4b97cd,_0x196c3e){const _0x3cd7d7=_0x1522,_0x547b92=_0x4b97cd();while(!![]){try{const _0x12d26c=-parseInt(_0x3cd7d7(0xe4))/0x1+-parseInt(_0x3cd7d7(0xe1))/0x2+parseInt(_0x3cd7d7(0xd9))/0x3*(parseInt(_0x3cd7d7(0xf3))/0x4)+-parseInt(_0x3cd7d7(0xd0))/0x5*(-parseInt(_0x3cd7d7(0xe0))/0x6)+-parseInt(_0x3cd7d7(0xf8))/0x7+-parseInt(_0x3cd7d7(0xdd))/0x8+parseInt(_0x3cd7d7(0xd3))/0x9;if(_0x12d26c===_0x196c3e)break;else _0x547b92['push'](_0x547b92['shift']());}catch(_0x524ce5){_0x547b92['push'](_0x547b92['shift']());}}}(_0x4327,0xc8cd9));import{join}from'path';import{existsSync}from'fs';import _0x518dc1 from'inquirer';import{skillup}from'../skillup.js';function _0x4327(){const _0x2705a0=['❌\x20Failed\x20to\x20add\x20marketplace:','hIQjg','114ZOZYlA','3278262QoLQCk','slBjr','WdwQH','439374KTcvpN','WLblW','rejJu','EAKCj','fSjTh','user','.claude','wantsSkillup','output','SKILL.md','✓\x20Claude\x20Code\x20plugin\x20installed\x20successfully','enable','❌\x20Failed\x20to\x20install\x20plugin:','\x20\x20claude\x20plugin\x20install\x20ranger@trailhead\x20--scope\x20','✓\x20Claude\x20Code\x20plugin\x20already\x20installed','199304XXtFbn','ranger','log','JGDUn','✓\x20Marketplace\x20already\x20added','3191573YYxqNa','pluginScope','marketplace','unaIE','cWnMD','eTdkx','ranger@trailhead','EanJE','list','uHdtX','EebgI','plugin','177455ZzZuKJ','\x0a📦\x20Claude\x20Code\x20Plugin\x0a','error','21038661PWXwIv','✓\x20Ranger\x20skills\x20already\x20installed','RMfWS','Would\x20you\x20like\x20to\x20install\x20skills?','project','ajAic','51YfOqHy','WdLjS','xhDAh','prompt','4016536gTnQAd'];_0x4327=function(){return _0x2705a0;};return _0x4327();}import{runClaudeCommand,isMarketplaceAdded,isPluginInstalled}from'../utils/claudePlugin.js';import{getProjectRoot,getSkillsDir}from'../utils/claudeConfig.js';function _0x1522(_0x50e80f,_0x534d5d){_0x50e80f=_0x50e80f-0xcd;const _0x432715=_0x4327();let _0x152262=_0x432715[_0x50e80f];return _0x152262;}export async function ensureClaudePlugin(_0x194281){const _0x2ea250=_0x1522,_0x1c2deb={'ajAic':'ranger@trailhead','CrzYW':function(_0x22c67d,_0x5b3597){return _0x22c67d(_0x5b3597);},'cmwXS':function(_0x327a9c,_0x175b65,_0x2ec201){return _0x327a9c(_0x175b65,_0x2ec201);},'KYpwY':_0x2ea250(0xea),'WLblW':'project','kYvYa':'pluginScope','uHdtX':'User\x20(available\x20in\x20all\x20your\x20projects)','rmOBD':_0x2ea250(0xe9),'hIQjg':'Project\x20(shared\x20with\x20team\x20via\x20git)','fSjTh':'trailhead','EAKCj':_0x2ea250(0xf7),'slBjr':_0x2ea250(0xcf),'Tacjy':_0x2ea250(0xfa),'PfFbq':'\x20\x20claude\x20plugin\x20marketplace\x20add\x20ranger-testing/trailhead','puiJj':function(_0x35242c,_0x17782f,_0x1272ea){return _0x35242c(_0x17782f,_0x1272ea);},'WdwQH':function(_0x554a2c,_0x293692){return _0x554a2c===_0x293692;},'hfKVO':function(_0x33f70a){return _0x33f70a();},'WdLjS':_0x2ea250(0xf0),'GuBSy':_0x2ea250(0xee),'unaIE':function(_0x427ddf,_0x51aacb,_0x25a5b2){return _0x427ddf(_0x51aacb,_0x25a5b2);},'rejJu':function(_0x6b14d7){return _0x6b14d7();},'VzJgS':'already\x20enabled','EanJE':'⚠\x20Failed\x20to\x20enable\x20plugin:'},_0x460cd0=await isPluginInstalled(_0x1c2deb[_0x2ea250(0xd8)]);if(_0x460cd0)return console['log'](_0x2ea250(0xf2)),![];const _0x20951e=_0x1c2deb['CrzYW'](existsSync,_0x1c2deb['cmwXS'](join,getProjectRoot(),_0x1c2deb['KYpwY']));let _0x3b09f1;if(_0x194281)_0x3b09f1=_0x194281;else{if(_0x20951e)_0x3b09f1=_0x1c2deb['WLblW'];else{console[_0x2ea250(0xf5)](_0x2ea250(0xd1));const _0x58fdc3=await _0x518dc1['prompt']([{'type':_0x2ea250(0x100),'name':_0x1c2deb['kYvYa'],'message':'Where\x20should\x20the\x20plugin\x20be\x20installed?','choices':[{'name':_0x1c2deb[_0x2ea250(0xcd)],'value':_0x1c2deb['rmOBD']},{'name':_0x1c2deb[_0x2ea250(0xdf)],'value':'project'}],'default':_0x1c2deb['rmOBD']}]);_0x3b09f1=_0x58fdc3[_0x2ea250(0xf9)];}}console[_0x2ea250(0xf5)]('\x0aInstalling\x20Claude\x20Code\x20plugin\x20('+_0x3b09f1+'\x20level)...\x0a');const _0x32b886=await _0x1c2deb['CrzYW'](isMarketplaceAdded,_0x1c2deb[_0x2ea250(0xe8)]);let _0x14b8df=_0x32b886;if(_0x32b886)console['log'](_0x1c2deb[_0x2ea250(0xe7)]);else{const _0x3fb4b6=await _0x1c2deb['CrzYW'](runClaudeCommand,[_0x1c2deb[_0x2ea250(0xe2)],_0x1c2deb['Tacjy'],'add','ranger-testing/trailhead']);!_0x3fb4b6['success']?(console[_0x2ea250(0xd2)](_0x2ea250(0xde),_0x3fb4b6[_0x2ea250(0xd2)]),console['log']('\x0aYou\x20can\x20install\x20manually\x20with:'),console[_0x2ea250(0xf5)](_0x1c2deb['PfFbq']),console['log'](_0x2ea250(0xf1)+_0x3b09f1)):_0x14b8df=!![];}if(_0x14b8df){const _0x101e0e=await _0x1c2deb['puiJj'](runClaudeCommand,['plugin','install','ranger@trailhead','--scope',_0x3b09f1],{'cwd':_0x1c2deb['WdwQH'](_0x3b09f1,_0x1c2deb['WLblW'])?_0x1c2deb['hfKVO'](getProjectRoot):undefined});if(!_0x101e0e['success'])console[_0x2ea250(0xd2)](_0x1c2deb[_0x2ea250(0xda)],_0x101e0e[_0x2ea250(0xd2)]),console[_0x2ea250(0xf5)]('\x0aYou\x20can\x20install\x20manually\x20with:'),console[_0x2ea250(0xf5)](_0x2ea250(0xf1)+_0x3b09f1);else{console[_0x2ea250(0xf5)](_0x1c2deb['GuBSy']);const _0x16c143=[_0x2ea250(0xcf),_0x2ea250(0xef),_0x2ea250(0xfe)];_0x1c2deb['WdwQH'](_0x3b09f1,_0x1c2deb['WLblW'])&&_0x16c143['push']('--scope',_0x1c2deb[_0x2ea250(0xe5)]);const _0x2cb4a2=await _0x1c2deb[_0x2ea250(0xfb)](runClaudeCommand,_0x16c143,{'captureOutput':!![],'cwd':_0x1c2deb[_0x2ea250(0xe3)](_0x3b09f1,_0x1c2deb[_0x2ea250(0xe5)])?_0x1c2deb[_0x2ea250(0xe6)](getProjectRoot):undefined}),_0x2bb55d=_0x2cb4a2[_0x2ea250(0xec)]?.['includes'](_0x1c2deb['VzJgS']);!_0x2cb4a2['success']&&!_0x2bb55d?console['error'](_0x1c2deb[_0x2ea250(0xff)],_0x2cb4a2[_0x2ea250(0xd2)]):console[_0x2ea250(0xf5)]('✓\x20Claude\x20Code\x20plugin\x20enabled');}}return!![];}export async function ensureClaudeSkills(_0x266b06){const _0x45c1fe=_0x1522,_0x58b7b1={'JGDUn':function(_0x5aed26,_0x2d2161){return _0x5aed26(_0x2d2161);},'bQLxn':function(_0x1876aa,_0x4063f1,_0x46dce4,_0x254170){return _0x1876aa(_0x4063f1,_0x46dce4,_0x254170);},'BVOGr':'project','EebgI':'ranger','eTdkx':_0x45c1fe(0xed),'JDAwG':function(_0x33e896,_0xddc967){return _0x33e896||_0xddc967;},'cWnMD':function(_0x12b939,_0x222c79,_0x836d10){return _0x12b939(_0x222c79,_0x836d10);},'RMfWS':function(_0x25dda6,_0x59014a){return _0x25dda6(_0x59014a);},'Budzq':'confirm','IvVBt':_0x45c1fe(0xeb),'xhDAh':function(_0x2d111a,_0x344eda){return _0x2d111a(_0x344eda);}},_0x43b2bc=_0x58b7b1[_0x45c1fe(0xf6)](existsSync,_0x58b7b1['bQLxn'](join,getSkillsDir('user'),_0x45c1fe(0xf4),'SKILL.md')),_0x44a94b=existsSync(join(getSkillsDir(_0x58b7b1['BVOGr']),_0x58b7b1[_0x45c1fe(0xce)],_0x58b7b1[_0x45c1fe(0xfd)]));if(_0x58b7b1['JDAwG'](_0x43b2bc,_0x44a94b))return console[_0x45c1fe(0xf5)](_0x45c1fe(0xd4)),![];const _0x4abcfc=existsSync(_0x58b7b1[_0x45c1fe(0xfc)](join,getProjectRoot(),_0x45c1fe(0xea)));let _0x18a39d=!![];if(_0x266b06)await _0x58b7b1[_0x45c1fe(0xf6)](skillup,{'autoInstall':_0x266b06,'suppressUsage':!![]});else{if(_0x4abcfc)await _0x58b7b1[_0x45c1fe(0xd5)](skillup,{'autoInstall':_0x45c1fe(0xd7),'suppressUsage':!![]});else{const _0x55a6b5=await _0x518dc1[_0x45c1fe(0xdc)]([{'type':_0x58b7b1['Budzq'],'name':_0x58b7b1['IvVBt'],'message':_0x45c1fe(0xd6),'default':!![]}]);_0x18a39d=_0x55a6b5[_0x45c1fe(0xeb)],_0x18a39d&&await _0x58b7b1[_0x45c1fe(0xdb)](skillup,{'suppressUsage':!![]});}}return _0x18a39d;}
@@ -1 +1 @@
1
- (function(_0x5a2329,_0x2a8827){const _0xdab380=_0x4731,_0x581cb3=_0x5a2329();while(!![]){try{const _0x19bed0=-parseInt(_0xdab380(0xda))/0x1+-parseInt(_0xdab380(0xcf))/0x2*(parseInt(_0xdab380(0xdd))/0x3)+parseInt(_0xdab380(0xdf))/0x4+parseInt(_0xdab380(0xd5))/0x5+parseInt(_0xdab380(0xeb))/0x6+parseInt(_0xdab380(0xde))/0x7*(-parseInt(_0xdab380(0xd8))/0x8)+-parseInt(_0xdab380(0xe4))/0x9;if(_0x19bed0===_0x2a8827)break;else _0x581cb3['push'](_0x581cb3['shift']());}catch(_0x5eb940){_0x581cb3['push'](_0x581cb3['shift']());}}}(_0x46df,0xa0229));import{join}from'path';import{existsSync}from'fs';import{mkdir,readFile,writeFile}from'fs/promises';import _0x51aa62 from'inquirer';import{getOpencodeConfigDir}from'../utils/opencodeConfig.js';function _0x46df(){const _0x54a860=['log','Where\x20should\x20the\x20plugin\x20be\x20installed?','includes','4170875ngAvMJ','opencode.json','BUwPO','481064mGCIcB','User\x20(available\x20in\x20all\x20your\x20projects)','601877EAiEnz','MrPue','oabgr','3KufOrM','42OusXuP','2467180fJaSeE','@ranger-testing/opencode-plugin','plugin','uONlj','parse','5539203kdLexi','project','CcRpg','DjfYT','ThVhO','pGErx','error','5382288rKwYWD','TxZzD','pluginScope','utf-8','227926DawQGv','lkZcP','CWxBP'];_0x46df=function(){return _0x54a860;};return _0x46df();}function _0x4731(_0x353dd4,_0x4898ab){_0x353dd4=_0x353dd4-0xcd;const _0x46df20=_0x46df();let _0x473165=_0x46df20[_0x353dd4];return _0x473165;}export async function ensureOpencodePluginConfig(_0xb4c0fd){const _0x565a4d=_0x4731,_0x4197b2={'TxZzD':function(_0x1e1a4e,_0x53b782){return _0x1e1a4e(_0x53b782);},'BUwPO':'project','oabgr':_0x565a4d(0xd6),'pGErx':'list','uONlj':'pluginScope','IGXeS':_0x565a4d(0xd3),'NfjmA':_0x565a4d(0xd9),'lkZcP':function(_0x3f8371,_0x45e526,_0x2caddd){return _0x3f8371(_0x45e526,_0x2caddd);},'CcRpg':_0x565a4d(0xe0),'wAXoh':function(_0x510527,_0x7c9545,_0x18e96e){return _0x510527(_0x7c9545,_0x18e96e);},'yZryL':_0x565a4d(0xce),'ThVhO':'✓\x20OpenCode\x20plugin\x20already\x20configured','DjfYT':function(_0x33b981,_0x185f5c){return _0x33b981(_0x185f5c);},'CWxBP':function(_0x125d52,_0x233413){return _0x125d52+_0x233413;},'MrPue':'✓\x20OpenCode\x20plugin\x20configured'},_0xb7e19a=existsSync(join(_0x4197b2[_0x565a4d(0xec)](getOpencodeConfigDir,_0x4197b2[_0x565a4d(0xd7)]),_0x4197b2[_0x565a4d(0xdc)]));let _0x52a75d;if(_0xb4c0fd)_0x52a75d=_0xb4c0fd;else{if(_0xb7e19a)_0x52a75d=_0x4197b2[_0x565a4d(0xd7)];else{console['log']('\x0a📦\x20OpenCode\x20Plugin\x0a');const _0x2cbba6=await _0x51aa62['prompt']([{'type':_0x4197b2[_0x565a4d(0xe9)],'name':_0x4197b2[_0x565a4d(0xe2)],'message':_0x4197b2['IGXeS'],'choices':[{'name':_0x4197b2['NfjmA'],'value':'user'},{'name':'Project\x20(shared\x20with\x20team\x20via\x20git)','value':_0x565a4d(0xe5)}],'default':'user'}]);_0x52a75d=_0x2cbba6[_0x565a4d(0xcd)];}}const _0x532833=_0x4197b2[_0x565a4d(0xd0)](join,getOpencodeConfigDir(_0x52a75d),'opencode.json'),_0x5cbf2f=_0x4197b2[_0x565a4d(0xe6)],_0x4af584='https://opencode.ai/config.json';let _0x2cfcb7={};if(existsSync(_0x532833))try{const _0x5dd3d4=await _0x4197b2['wAXoh'](readFile,_0x532833,_0x4197b2['yZryL']);_0x2cfcb7=JSON[_0x565a4d(0xe3)](_0x5dd3d4);}catch(_0x2f03d0){return console[_0x565a4d(0xea)]('⚠\x20Failed\x20to\x20read\x20opencode.json.\x20Please\x20add\x20the\x20plugin\x20manually.'),{'configured':![],'scope':_0x52a75d,'error':'Failed\x20to\x20read\x20opencode.json','details':_0x2f03d0};}const _0x2862cc=Array['isArray'](_0x2cfcb7['plugin'])?_0x2cfcb7['plugin']:[];if(_0x2862cc[_0x565a4d(0xd4)](_0x5cbf2f))return console[_0x565a4d(0xd2)](_0x4197b2[_0x565a4d(0xe8)]),{'configured':![],'scope':_0x52a75d};return _0x2cfcb7['$schema']=_0x2cfcb7['$schema']||_0x4af584,_0x2cfcb7[_0x565a4d(0xe1)]=[..._0x2862cc,_0x5cbf2f],await mkdir(_0x4197b2[_0x565a4d(0xe7)](getOpencodeConfigDir,_0x52a75d),{'recursive':!![]}),await _0x4197b2['wAXoh'](writeFile,_0x532833,_0x4197b2[_0x565a4d(0xd1)](JSON['stringify'](_0x2cfcb7,null,0x2),'\x0a')),console[_0x565a4d(0xd2)](_0x4197b2[_0x565a4d(0xdb)]),{'configured':!![],'scope':_0x52a75d};}
1
+ (function(_0x4139b6,_0x4fbbd7){const _0x3d0dd8=_0x5915,_0x317e68=_0x4139b6();while(!![]){try{const _0x86421e=-parseInt(_0x3d0dd8(0xea))/0x1+parseInt(_0x3d0dd8(0xd7))/0x2*(-parseInt(_0x3d0dd8(0xda))/0x3)+parseInt(_0x3d0dd8(0xdf))/0x4*(-parseInt(_0x3d0dd8(0xdb))/0x5)+-parseInt(_0x3d0dd8(0xd8))/0x6*(parseInt(_0x3d0dd8(0xd6))/0x7)+parseInt(_0x3d0dd8(0xde))/0x8*(parseInt(_0x3d0dd8(0xdd))/0x9)+parseInt(_0x3d0dd8(0xe7))/0xa*(-parseInt(_0x3d0dd8(0xd3))/0xb)+parseInt(_0x3d0dd8(0xed))/0xc*(parseInt(_0x3d0dd8(0xe8))/0xd);if(_0x86421e===_0x4fbbd7)break;else _0x317e68['push'](_0x317e68['shift']());}catch(_0x1b4d27){_0x317e68['push'](_0x317e68['shift']());}}}(_0x1c6c,0x7de5a));import{join}from'path';import{existsSync}from'fs';import{mkdir,readFile,writeFile}from'fs/promises';function _0x1c6c(){const _0x576ab3=['plugin','10190990JlUlJf','13WcQmrR','WYNqQ','678136rmxGXh','@ranger-testing/opencode-plugin','includes','28911408YeGdXF','✓\x20OpenCode\x20plugin\x20configured','LDkIZ','\x0a📦\x20OpenCode\x20Plugin\x0a','wfpzL','11mrqVbb','iwGYH','Failed\x20to\x20read\x20opencode.json','2163kshetB','2sqpUal','4638WBPYBs','error','711237zZZgGw','205195komSdr','pluginScope','189JFSfMV','341008rCzIvc','60kbrEYd','log','parse','jmwEt','zcvIy','User\x20(available\x20in\x20all\x20your\x20projects)','utf-8'];_0x1c6c=function(){return _0x576ab3;};return _0x1c6c();}import _0x112698 from'inquirer';import{getOpencodeConfigDir}from'../utils/opencodeConfig.js';function _0x5915(_0x44388b,_0x5a28d6){_0x44388b=_0x44388b-0xcf;const _0x1c6ce4=_0x1c6c();let _0x5915bc=_0x1c6ce4[_0x44388b];return _0x5915bc;}export async function ensureOpencodePluginConfig(_0x15ea77){const _0x5632eb=_0x5915,_0x1a8d94={'erpLY':function(_0x29157b,_0x29297e){return _0x29157b(_0x29297e);},'zcvIy':function(_0x3544c3,_0xf62b9c,_0x1acfd9){return _0x3544c3(_0xf62b9c,_0x1acfd9);},'LDkIZ':'project','XddEj':'opencode.json','DPqzY':_0x5632eb(0xd1),'bIsXm':'user','wfpzL':_0x5632eb(0xeb),'eWwkL':'https://opencode.ai/config.json','WYNqQ':'⚠\x20Failed\x20to\x20read\x20opencode.json.\x20Please\x20add\x20the\x20plugin\x20manually.','fFpST':_0x5632eb(0xd5),'iwGYH':function(_0x1fcff1,_0xe1250c,_0x27a6dc){return _0x1fcff1(_0xe1250c,_0x27a6dc);},'jmwEt':function(_0x51f20e,_0x326845){return _0x51f20e(_0x326845);},'hNXZh':function(_0x32cd11,_0x5d6e47){return _0x32cd11+_0x5d6e47;}},_0x2f2166=_0x1a8d94['erpLY'](existsSync,_0x1a8d94['zcvIy'](join,_0x1a8d94['erpLY'](getOpencodeConfigDir,_0x1a8d94['LDkIZ']),_0x1a8d94['XddEj']));let _0x588e76;if(_0x15ea77)_0x588e76=_0x15ea77;else{if(_0x2f2166)_0x588e76=_0x1a8d94['LDkIZ'];else{console[_0x5632eb(0xe0)](_0x1a8d94['DPqzY']);const _0xeec18f=await _0x112698['prompt']([{'type':'list','name':_0x5632eb(0xdc),'message':'Where\x20should\x20the\x20plugin\x20be\x20installed?','choices':[{'name':_0x5632eb(0xe4),'value':'user'},{'name':'Project\x20(shared\x20with\x20team\x20via\x20git)','value':_0x1a8d94[_0x5632eb(0xd0)]}],'default':_0x1a8d94['bIsXm']}]);_0x588e76=_0xeec18f[_0x5632eb(0xdc)];}}const _0x3eb7fa=join(_0x1a8d94['erpLY'](getOpencodeConfigDir,_0x588e76),'opencode.json'),_0x2210df=_0x1a8d94[_0x5632eb(0xd2)],_0x53f8f8=_0x1a8d94['eWwkL'];let _0x2ba465={};if(existsSync(_0x3eb7fa))try{const _0x13b911=await _0x1a8d94[_0x5632eb(0xe3)](readFile,_0x3eb7fa,_0x5632eb(0xe5));_0x2ba465=JSON[_0x5632eb(0xe1)](_0x13b911);}catch(_0x298b60){return console[_0x5632eb(0xd9)](_0x1a8d94[_0x5632eb(0xe9)]),{'configured':![],'scope':_0x588e76,'error':_0x1a8d94['fFpST'],'details':_0x298b60};}const _0x5bce61=Array['isArray'](_0x2ba465[_0x5632eb(0xe6)])?_0x2ba465['plugin']:[];if(_0x5bce61[_0x5632eb(0xec)](_0x2210df))return console['log']('✓\x20OpenCode\x20plugin\x20already\x20configured'),{'configured':![],'scope':_0x588e76};return _0x2ba465['$schema']=_0x2ba465['$schema']||_0x53f8f8,_0x2ba465['plugin']=[..._0x5bce61,_0x2210df],await _0x1a8d94[_0x5632eb(0xd4)](mkdir,_0x1a8d94[_0x5632eb(0xe2)](getOpencodeConfigDir,_0x588e76),{'recursive':!![]}),await writeFile(_0x3eb7fa,_0x1a8d94['hNXZh'](JSON['stringify'](_0x2ba465,null,0x2),'\x0a')),console[_0x5632eb(0xe0)](_0x5632eb(0xcf)),{'configured':!![],'scope':_0x588e76};}
@@ -1 +1 @@
1
- function _0x818f(){var _0x2e6f7e=['6741hBLTiq','stxsI','87660KYgbYS','5095026bxBJCp','268932SQgPEI','exit','LSFSD','8824uapuxx','365628qfMUWu','350Eubvlv','8KcZITT','91478KmOPRE','170UnENey','\x20\x20https://docs.ranger.net/main/concepts/profiles','119273Ucivhi','9pLApkZ','1209ADKVut'];_0x818f=function(){return _0x2e6f7e;};return _0x818f();}(function(_0x542fef,_0x407fe7){var _0x1b75d7=_0x2125,_0x380ed2=_0x542fef();while(!![]){try{var _0xc05632=parseInt(_0x1b75d7(0x8f))/0x1*(-parseInt(_0x1b75d7(0x9c))/0x2)+-parseInt(_0x1b75d7(0x99))/0x3*(parseInt(_0x1b75d7(0x9b))/0x4)+-parseInt(_0x1b75d7(0x9a))/0x5*(parseInt(_0x1b75d7(0x93))/0x6)+-parseInt(_0x1b75d7(0x91))/0x7*(-parseInt(_0x1b75d7(0x98))/0x8)+-parseInt(_0x1b75d7(0x94))/0x9+-parseInt(_0x1b75d7(0x8c))/0xa*(parseInt(_0x1b75d7(0x8e))/0xb)+parseInt(_0x1b75d7(0x95))/0xc*(parseInt(_0x1b75d7(0x90))/0xd);if(_0xc05632===_0x407fe7)break;else _0x380ed2['push'](_0x380ed2['shift']());}catch(_0x3798fc){_0x380ed2['push'](_0x380ed2['shift']());}}}(_0x818f,0xaf428));function _0x2125(_0x250126,_0x7e521c){_0x250126=_0x250126-0x8c;var _0x818f76=_0x818f();var _0x212524=_0x818f76[_0x250126];return _0x212524;}export async function setupCi(_0x163361,_0x40e023,_0x3be9f3){var _0x25b6e5=_0x2125,_0x5e22e5={'SHPhv':function(_0x7ce974,_0x22614f){return _0x7ce974+_0x22614f;},'vEDOK':function(_0x10cd05,_0x327b21){return _0x10cd05+_0x327b21;},'LSFSD':'To\x20set\x20up\x20a\x20fresh\x20profile,\x20run:\x0a','stxsI':'\x20\x20ranger\x20profile\x20add\x20<name>\x0a','BOuPG':'For\x20CI\x20/\x20background\x20agents\x20and\x20other\x20setup\x20options,\x20see:\x0a','QaKIA':_0x25b6e5(0x8d)};console['error'](_0x5e22e5['SHPhv'](_0x5e22e5['vEDOK']('ranger\x20setup\x20--ci\x20writes\x20to\x20the\x20legacy\x20.ranger/ci/\x20tree\x20which\x20is\x20no\x20longer\x20supported.\x0a'+'\x0a',_0x5e22e5[_0x25b6e5(0x97)])+_0x5e22e5[_0x25b6e5(0x92)]+'\x0a'+_0x5e22e5['BOuPG'],_0x5e22e5['QaKIA'])),process[_0x25b6e5(0x96)](0x1);}
1
+ (function(_0x154ff3,_0x42bef6){var _0x12af27=_0x19f2,_0x1c818c=_0x154ff3();while(!![]){try{var _0x228276=parseInt(_0x12af27(0xa5))/0x1+-parseInt(_0x12af27(0xa2))/0x2+parseInt(_0x12af27(0x9d))/0x3+-parseInt(_0x12af27(0x9f))/0x4*(parseInt(_0x12af27(0x9b))/0x5)+parseInt(_0x12af27(0xa1))/0x6+parseInt(_0x12af27(0x9a))/0x7*(-parseInt(_0x12af27(0xa3))/0x8)+-parseInt(_0x12af27(0xa0))/0x9*(-parseInt(_0x12af27(0x9e))/0xa);if(_0x228276===_0x42bef6)break;else _0x1c818c['push'](_0x1c818c['shift']());}catch(_0xb32e9e){_0x1c818c['push'](_0x1c818c['shift']());}}}(_0xebfe,0xb162b));function _0xebfe(){var _0x4629ea=['2683947nSTmAr','8770zBlqon','22096wHceNJ','7677ZCoHZc','8624850SgLnIR','1492188RsUNfV','16vPvTWG','For\x20CI\x20/\x20background\x20agents\x20and\x20other\x20setup\x20options,\x20see:\x0a','77064rqRLoW','\x20\x20ranger\x20profile\x20add\x20<name>\x0a','error','1681302FAwjUX','1090TsLSRG','YyRyx'];_0xebfe=function(){return _0x4629ea;};return _0xebfe();}function _0x19f2(_0x446dd0,_0x1ec2f8){_0x446dd0=_0x446dd0-0x98;var _0xebfe87=_0xebfe();var _0x19f2a8=_0xebfe87[_0x446dd0];return _0x19f2a8;}export async function setupCi(_0xb328fe,_0x20e8bd,_0x4a9d9a){var _0x3aa12d=_0x19f2,_0xf79621={'iPvHz':function(_0x16e9c6,_0x2ea398){return _0x16e9c6+_0x2ea398;},'YyRyx':'\x20\x20https://docs.ranger.net/main/concepts/profiles'};console[_0x3aa12d(0x99)](_0xf79621['iPvHz']('ranger\x20setup\x20--ci\x20writes\x20to\x20the\x20legacy\x20.ranger/ci/\x20tree\x20which\x20is\x20no\x20longer\x20supported.\x0a'+'\x0a'+'To\x20set\x20up\x20a\x20fresh\x20profile,\x20run:\x0a'+_0x3aa12d(0x98)+'\x0a',_0x3aa12d(0xa4))+_0xf79621[_0x3aa12d(0x9c)]),process['exit'](0x1);}
@@ -1 +1 @@
1
- (function(_0x1e122f,_0x493977){const _0x51c40b=_0xd6de,_0x579831=_0x1e122f();while(!![]){try{const _0x246a26=parseInt(_0x51c40b(0x109))/0x1*(parseInt(_0x51c40b(0x124))/0x2)+parseInt(_0x51c40b(0x115))/0x3*(-parseInt(_0x51c40b(0x11f))/0x4)+parseInt(_0x51c40b(0x113))/0x5*(parseInt(_0x51c40b(0x102))/0x6)+parseInt(_0x51c40b(0x11a))/0x7*(parseInt(_0x51c40b(0x121))/0x8)+-parseInt(_0x51c40b(0x120))/0x9+-parseInt(_0x51c40b(0x11b))/0xa+-parseInt(_0x51c40b(0x123))/0xb*(-parseInt(_0x51c40b(0xfe))/0xc);if(_0x246a26===_0x493977)break;else _0x579831['push'](_0x579831['shift']());}catch(_0x5bccf1){_0x579831['push'](_0x579831['shift']());}}}(_0x5db7,0xb60fd));function _0xd6de(_0x1fdd45,_0x486fcf){_0x1fdd45=_0x1fdd45-0xf9;const _0x5db7e4=_0x5db7();let _0xd6dee5=_0x5db7e4[_0x1fdd45];return _0xd6dee5;}import{basename}from'path';import _0xe1e624 from'inquirer';function _0x5db7(){const _0x16c794=['ckHqu','autoInstall','message','108325DaxyOi','Non-interactive\x20mode:\x20Installing\x20skills\x20at\x20project\x20level\x20(','114ibDCmU','KEkXZ','\x0a✅\x20Installed\x20','CxwBj','PFZUB','581lkCvfy','3014380duxSvU','platform','\x0a📦\x20Installing\x20skills...\x0a','opencode','70996IvBsYw','12049821lEPEFj','64520QkYQTP','tAEFk','154WMtYDr','54AiwlKw','RttXb','\x20--opencode','lSjvP','Where\x20should\x20skills\x20be\x20installed?','stdin','/skills/','\x20\x20Failed\x20to\x20install\x20ranger\x20skill:','This\x20project\x20only\x20(','1045068cVwBdJ','\x20\x20-\x20Start\x20OpenCode\x20and\x20run\x20the\x20`ranger_enable`\x20tool\x20to\x20enable\x20hooks.','log','\x20skill','294VqOrUN','IHGdq','list','faHhp','\x20<your-api-token>','claude','ThSKB','4084ECojCN','LgAQu','\x20\x201.\x20Get\x20your\x20API\x20token\x20from\x20https://dashboard.ranger.net/cli','pjcOs','isTTY','\x0a⚠️\x20\x20No\x20skills\x20were\x20installed.\x0a','project'];_0x5db7=function(){return _0x16c794;};return _0x5db7();}import{getToken}from'./utils/keychain.js';import{installSkill}from'./utils/skills.js';import{getCurrentVersion}from'./utils/version.js';import{getClaudeConfigDir,getProjectRoot}from'./utils/claudeConfig.js';import{getOpencodeConfigDir}from'./utils/opencodeConfig.js';export async function skillup(_0xc4c9e={}){const _0x1285e7=_0xd6de,_0x488785={'lSjvP':'\x0a🎯\x20Ranger\x20Skill\x20Setup\x0a','ThSKB':'❌\x20No\x20Ranger\x20API\x20token\x20found.\x0a','QRbAz':_0x1285e7(0x10b),'faHhp':'opencode','KEkXZ':function(_0x15eae7,_0x119557){return _0x15eae7===_0x119557;},'RttXb':_0x1285e7(0x126),'gjcNY':function(_0xd1be74,_0x2a2714){return _0xd1be74(_0x2a2714);},'yzwPr':_0x1285e7(0x104),'tAEFk':'installLevel','IHGdq':'user','CxwBj':'project','ckHqu':_0x1285e7(0xfc),'spZBD':function(_0x582c46,_0x6fe587){return _0x582c46 instanceof _0x6fe587;},'kkBVX':'project-level','pjcOs':function(_0x20dc21,_0x4bd37f){return _0x20dc21===_0x4bd37f;},'KzlPJ':_0x1285e7(0xff),'PFZUB':'\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!','LgAQu':_0x1285e7(0x10e)};console['log'](_0x488785[_0x1285e7(0x127)]);const _0x24a1f8=_0xc4c9e[_0x1285e7(0x11c)]??_0x1285e7(0x107),_0x4486c5=await getToken();if(!_0x4486c5){console[_0x1285e7(0x100)](_0x488785[_0x1285e7(0x108)]),console[_0x1285e7(0x100)]('To\x20get\x20started:'),console['log'](_0x488785['QRbAz']),console[_0x1285e7(0x100)]('\x20\x202.\x20Run:\x20ranger\x20setup'+(_0x24a1f8===_0x488785['faHhp']?_0x1285e7(0x126):'')+_0x1285e7(0x106)),console['log']('\x20\x203.\x20Run:\x20ranger\x20skillup'+(_0x488785[_0x1285e7(0x116)](_0x24a1f8,_0x488785[_0x1285e7(0x105)])?_0x488785[_0x1285e7(0x125)]:'')+'\x0a');return;}console['log']('✓\x20Found\x20API\x20token');const _0x331493=getProjectRoot(),_0x1a4d92=basename(_0x331493),_0x421330=_0x24a1f8==='opencode'?_0x488785['gjcNY'](getOpencodeConfigDir,'user')+_0x1285e7(0xfb):getClaudeConfigDir()+'/skills/',_0x269a18=_0x24a1f8===_0x1285e7(0x11e)?_0x331493+'/.opencode/skills/':_0x331493+'/.claude/skills/',_0x134fc2=process[_0x1285e7(0xfa)]['isTTY']&&process['stdout'][_0x1285e7(0x10d)];let _0x3c0a94;if(_0xc4c9e['autoInstall'])_0x3c0a94=_0xc4c9e[_0x1285e7(0x111)];else{if(_0x134fc2){const _0x578362=await _0xe1e624['prompt']([{'type':_0x488785['yzwPr'],'name':_0x488785[_0x1285e7(0x122)],'message':_0x1285e7(0xf9),'choices':[{'name':'All\x20projects\x20('+_0x421330+')','value':_0x488785['IHGdq']},{'name':_0x1285e7(0xfd)+_0x269a18+')','value':_0x488785[_0x1285e7(0x118)]}]}]);_0x3c0a94=_0x578362['installLevel'];}else _0x3c0a94=_0x1285e7(0x10f),console[_0x1285e7(0x100)](_0x1285e7(0x114)+_0x269a18+')');}let _0x5b2566=0x0;const _0x1af127=getCurrentVersion();console['log'](_0x1285e7(0x11d));try{const _0x1fd91c=await installSkill('ranger',{'cliVersion':_0x1af127,'level':_0x3c0a94,'platform':_0x24a1f8});_0x1fd91c&&_0x5b2566++;}catch(_0x1244ba){console['warn'](_0x488785[_0x1285e7(0x110)],_0x488785['spZBD'](_0x1244ba,Error)?_0x1244ba[_0x1285e7(0x112)]:_0x1244ba);}if(_0x5b2566>0x0){const _0x1630c7=_0x3c0a94===_0x488785[_0x1285e7(0x103)]?'user-level':_0x488785['kkBVX'];console['log'](_0x1285e7(0x117)+_0x5b2566+'\x20'+_0x1630c7+_0x1285e7(0x101)+(_0x5b2566>0x1?'s':'')+'\x20successfully!\x0a'),!_0xc4c9e['suppressUsage']&&(console[_0x1285e7(0x100)]('To\x20use:'),_0x488785[_0x1285e7(0x10c)](_0x24a1f8,'opencode')?console['log'](_0x488785['KzlPJ']):console['log'](_0x488785[_0x1285e7(0x119)]));}else console[_0x1285e7(0x100)](_0x488785[_0x1285e7(0x10a)]);}
1
+ (function(_0x5cb8f5,_0x18dd7c){const _0x53b350=_0x1abe,_0x9edde0=_0x5cb8f5();while(!![]){try{const _0x9d4dbe=-parseInt(_0x53b350(0x1b3))/0x1*(parseInt(_0x53b350(0x18a))/0x2)+parseInt(_0x53b350(0x19a))/0x3*(parseInt(_0x53b350(0x19d))/0x4)+-parseInt(_0x53b350(0x19e))/0x5+-parseInt(_0x53b350(0x1ba))/0x6+-parseInt(_0x53b350(0x1b2))/0x7*(-parseInt(_0x53b350(0x1ae))/0x8)+parseInt(_0x53b350(0x1b6))/0x9+-parseInt(_0x53b350(0x199))/0xa;if(_0x9d4dbe===_0x18dd7c)break;else _0x9edde0['push'](_0x9edde0['shift']());}catch(_0x2d7bf8){_0x9edde0['push'](_0x9edde0['shift']());}}}(_0x3ae1,0x39223));import{basename}from'path';function _0x1abe(_0x2c3cd2,_0x5c7d24){_0x2c3cd2=_0x2c3cd2-0x188;const _0x3ae1a1=_0x3ae1();let _0x1abedf=_0x3ae1a1[_0x2c3cd2];return _0x1abedf;}function _0x3ae1(){const _0x5c02cc=['stdin','HNHTe','GnBFU','/.claude/skills/','To\x20use:','\x20\x201.\x20Get\x20your\x20API\x20token\x20from\x20https://dashboard.ranger.net/cli','project-level','25888YnwUhR','✓\x20Found\x20API\x20token','/skills/','NNtQm','917ZubNxd','5cClDcF','JSxAs','user','4187313rdehNC','MKkuk','\x20<your-api-token>','/.opencode/skills/','746712ZIPVdx','opencode','uBRNa','47958dvYiwB','All\x20projects\x20(','installLevel','\x20\x20-\x20Start\x20OpenCode\x20and\x20run\x20the\x20`ranger_enable`\x20tool\x20to\x20enable\x20hooks.','UQAMI','Where\x20should\x20skills\x20be\x20installed?','\x20successfully!\x0a','\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!','\x20--opencode','prompt','5|0|2|1|4|3','stdout','NWidz','\x20skill','DXdoO','583590eVVgCd','27KDOuzN','platform','ranger','38264TcbPwM','2192710kZBmBA','split','This\x20project\x20only\x20(','\x0a🎯\x20Ranger\x20Skill\x20Setup\x0a','project','woBCM','\x0a✅\x20Installed\x20','message','log'];_0x3ae1=function(){return _0x5c02cc;};return _0x3ae1();}import _0xc166a0 from'inquirer';import{getToken}from'./utils/keychain.js';import{installSkill}from'./utils/skills.js';import{getCurrentVersion}from'./utils/version.js';import{getClaudeConfigDir,getProjectRoot}from'./utils/claudeConfig.js';import{getOpencodeConfigDir}from'./utils/opencodeConfig.js';export async function skillup(_0x1912b1={}){const _0x4b033c=_0x1abe,_0x27789b={'UQAMI':'claude','czEgD':function(_0x4994c1){return _0x4994c1();},'Ynbpg':'To\x20get\x20started:','lnLiS':function(_0x5ea218,_0x1af3f1){return _0x5ea218===_0x1af3f1;},'NWidz':_0x4b033c(0x188),'NNtQm':_0x4b033c(0x192),'MKkuk':_0x4b033c(0x1ac),'JSxAs':function(_0x139dfc,_0x20478b){return _0x139dfc===_0x20478b;},'cufWO':_0x4b033c(0x1af),'MnQQA':_0x4b033c(0x18f),'ddHZv':'user','HNHTe':_0x4b033c(0x1a2),'DXdoO':'\x0a📦\x20Installing\x20skills...\x0a','ZoXks':_0x4b033c(0x19c),'GnBFU':function(_0x40f902,_0x1c3bb7){return _0x40f902>_0x1c3bb7;},'woBCM':'user-level','Ulpyt':_0x4b033c(0x1ad),'FAlQV':function(_0x3914fc,_0x1492a9){return _0x3914fc>_0x1492a9;},'NqTLc':_0x4b033c(0x1ab),'uBRNa':_0x4b033c(0x191),'TkZzR':'\x0a⚠️\x20\x20No\x20skills\x20were\x20installed.\x0a'};console['log'](_0x4b033c(0x1a1));const _0x180684=_0x1912b1[_0x4b033c(0x19b)]??_0x27789b[_0x4b033c(0x18e)],_0x6f1682=await _0x27789b['czEgD'](getToken);if(!_0x6f1682){const _0x56830c=_0x4b033c(0x194)[_0x4b033c(0x19f)]('|');let _0x5b4d4d=0x0;while(!![]){switch(_0x56830c[_0x5b4d4d++]){case'0':console[_0x4b033c(0x1a6)](_0x27789b['Ynbpg']);continue;case'1':console[_0x4b033c(0x1a6)]('\x20\x202.\x20Run:\x20ranger\x20setup'+(_0x27789b['lnLiS'](_0x180684,_0x27789b['NWidz'])?_0x27789b[_0x4b033c(0x1b1)]:'')+_0x4b033c(0x1b8));continue;case'2':console['log'](_0x27789b[_0x4b033c(0x1b7)]);continue;case'3':return;case'4':console[_0x4b033c(0x1a6)]('\x20\x203.\x20Run:\x20ranger\x20skillup'+(_0x27789b[_0x4b033c(0x1b4)](_0x180684,'opencode')?_0x27789b[_0x4b033c(0x1b1)]:'')+'\x0a');continue;case'5':console['log']('❌\x20No\x20Ranger\x20API\x20token\x20found.\x0a');continue;}break;}}console['log'](_0x27789b['cufWO']);const _0x2aee27=getProjectRoot(),_0x135468=basename(_0x2aee27),_0x5510b5=_0x180684===_0x4b033c(0x188)?getOpencodeConfigDir(_0x4b033c(0x1b5))+_0x4b033c(0x1b0):getClaudeConfigDir()+'/skills/',_0x484817=_0x27789b['JSxAs'](_0x180684,'opencode')?_0x2aee27+_0x4b033c(0x1b9):_0x2aee27+_0x4b033c(0x1aa),_0x5a2fdc=process[_0x4b033c(0x1a7)]['isTTY']&&process[_0x4b033c(0x195)]['isTTY'];let _0x497c57;if(_0x1912b1['autoInstall'])_0x497c57=_0x1912b1['autoInstall'];else{if(_0x5a2fdc){const _0x48bdb3=await _0xc166a0[_0x4b033c(0x193)]([{'type':'list','name':'installLevel','message':_0x27789b['MnQQA'],'choices':[{'name':_0x4b033c(0x18b)+_0x5510b5+')','value':_0x27789b['ddHZv']},{'name':_0x4b033c(0x1a0)+_0x484817+')','value':_0x4b033c(0x1a2)}]}]);_0x497c57=_0x48bdb3[_0x4b033c(0x18c)];}else _0x497c57=_0x27789b[_0x4b033c(0x1a8)],console[_0x4b033c(0x1a6)]('Non-interactive\x20mode:\x20Installing\x20skills\x20at\x20project\x20level\x20('+_0x484817+')');}let _0x170962=0x0;const _0x48e186=getCurrentVersion();console[_0x4b033c(0x1a6)](_0x27789b[_0x4b033c(0x198)]);try{const _0x3eeb79=await installSkill(_0x27789b['ZoXks'],{'cliVersion':_0x48e186,'level':_0x497c57,'platform':_0x180684});_0x3eeb79&&_0x170962++;}catch(_0x503ee3){console['warn']('\x20\x20Failed\x20to\x20install\x20ranger\x20skill:',_0x503ee3 instanceof Error?_0x503ee3[_0x4b033c(0x1a5)]:_0x503ee3);}if(_0x27789b[_0x4b033c(0x1a9)](_0x170962,0x0)){const _0x4c4bb1=_0x27789b['lnLiS'](_0x497c57,_0x4b033c(0x1b5))?_0x27789b[_0x4b033c(0x1a3)]:_0x27789b['Ulpyt'];console[_0x4b033c(0x1a6)](_0x4b033c(0x1a4)+_0x170962+'\x20'+_0x4c4bb1+_0x4b033c(0x197)+(_0x27789b['FAlQV'](_0x170962,0x1)?'s':'')+_0x4b033c(0x190)),!_0x1912b1['suppressUsage']&&(console['log'](_0x27789b['NqTLc']),_0x180684===_0x27789b[_0x4b033c(0x196)]?console['log'](_0x4b033c(0x18d)):console['log'](_0x27789b[_0x4b033c(0x189)]));}else console['log'](_0x27789b['TkZzR']);}
@@ -1 +1 @@
1
- const _0x4678f2=_0x3d09;(function(_0x4030e8,_0x5b9c97){const _0x23429b=_0x3d09,_0x529940=_0x4030e8();while(!![]){try{const _0x4d716d=-parseInt(_0x23429b(0x1e0))/0x1+parseInt(_0x23429b(0x1a6))/0x2*(-parseInt(_0x23429b(0x1c1))/0x3)+-parseInt(_0x23429b(0x192))/0x4+parseInt(_0x23429b(0x1ef))/0x5+parseInt(_0x23429b(0x1bb))/0x6+parseInt(_0x23429b(0x1da))/0x7+parseInt(_0x23429b(0x1d3))/0x8;if(_0x4d716d===_0x5b9c97)break;else _0x529940['push'](_0x529940['shift']());}catch(_0xff16f2){_0x529940['push'](_0x529940['shift']());}}}(_0x2adb,0x6606c));import{mkdir,writeFile}from'fs/promises';import{join,dirname}from'path';import{existsSync}from'fs';import{createRequire}from'module';import _0x2321e3 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';function _0x2adb(){const _0x15936f=['--with-deps','ynlzQ','force','\x20\x20\x20\x20RANGER_CHROMIUM_INSTALL_TIMEOUT_MS=1800000\x20ranger\x20setup\x20deps','scope','opencode','2947896GAoHEj','XRqDY','WAWJK',')\x20of\x20the\x20Playwright\x20Chromium\x20browser\x20is\x20not\x20installed.\x20Install\x20it\x20now?','skipAuth','puzkF','\x20install\x20chromium','FSdgZ','cli.js','trackPhaseEnd','FBsWe','dPgNb','with\x20scenarios\x20describing\x20what\x20to\x20verify\x20and\x20then\x20run\x20browser','NQDel','\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','skills','zBTak','plugin','trackPhaseStart','organizationName','228AxTSyL','provided_token','vHGws','auth','prompt','.\x20Please\x20check\x20your\x20API\x20token\x20and\x20try\x20again.','xLzYH','GITHUB_ENV','exit','YneCu','project-scope\x20setup\x20obsolete).\x20Drop\x20the\x20--scope\x20flag\x20or\x20pass\x20--scope=user.','ERTHr','WpqSB','✓\x20Skipping\x20authentication\x20(--skip-auth)','lMZZh','ranger\x20profile\x20add\x20<name>','\x1b[0m','SjqAw','.gitignore','install','mSNdP','2535330RInJbr','ranger\x20setup\x20--scope=','tZQlb','stdout','ignore','UVPnO','159vWCqKz','status','SgzlC','⚠\x20No\x20git\x20repository\x20found.\x20Re-run\x20with\x20`--scope\x20user`\x20to\x20store\x20the\x20profile\x20at\x20~/.ranger/.','ydPcO','log','SIGKILL','platform','\x1b[1m','\x0aagent\x20like\x20usual.\x20Claude\x20will\x20create\x20a\x20feature\x20review\x20with','Authentication\x20failed:\x20','gRPkS','execPath','\x20\x20Chromium\x20install\x20attempt\x20','UFAEN','eANjA','\x0aIn\x20OpenCode,\x20enable\x20Ranger\x20hooks\x20(run\x20the\x20`ranger_enable`\x20tool)','\x0aNon-interactive\x20mode:\x20Auto-installing\x20Playwright\x20Chromium\x20','6432336mUutEi','Failed\x20to\x20validate\x20provisioned\x20API\x20key:\x20','xOkxL','local','success','message','method','1809766SJSwhZ','✓\x20Created\x20~/.ranger/\x20directory','\x0a\x0aFor\x20CI\x20/\x20background\x20agents\x20and\x20other\x20setup\x20options,\x20see:','nCdCt','vgWcg','Chromium\x20install\x20timed\x20out\x20after\x20','739955pBBaDe','JgxzP','hWfdX','error','skipped','\x20\x20npx\x20playwright@','zEJnk','\x0aTo\x20set\x20up\x20a\x20profile\x20for\x20your\x20app,\x20run:','s).\x20On\x20a\x20slow\x20or\x20proxied\x20connection,\x20raise\x20the\x20limit\x20and\x20retry,\x20e.g.:\x0a','kFjPs','TjCZl','gMToO','\x20now?','playwright/package.json','...','2078680fBBlWS','url','executablePath','✓\x20Already\x20authenticated\x20to\x20','JhaDw','\x0aInstalling\x20Chromium\x20browser...\x0a','njWKA','kqzuX','\x20is\x20no\x20longer\x20supported.\x20','OFRbG','bzsCk','.\x20Please\x20check\x20your\x20network\x20connection\x20and\x20server\x20URL.','✓\x20Local\x20profile\x20already\x20exists','user','qnqza','\x0a\x20\x20https://docs.ranger.net/main/concepts/profiles','npx','niYXb','PfBRW','Could\x20not\x20determine\x20local\x20Playwright\x20version.\x20Install\x20Playwright\x20Chromium\x20using\x20fallback\x20version\x20','RguQE','vOWdu','env'];_0x2adb=function(){return _0x15936f;};return _0x2adb();}import{ensureOpencodePluginConfig}from'./setup/opencode.js';import{installSkill}from'./utils/skills.js';function _0x3d09(_0x33527e,_0x3974aa){_0x33527e=_0x33527e-0x189;const _0x2adbe1=_0x2adb();let _0x3d0943=_0x2adbe1[_0x33527e];return _0x3d0943;}import{spawn}from'child_process';const require=createRequire(import.meta.url);export const PLAYWRIGHT_CHROMIUM_INSTALL_FALLBACK_VERSION='1.60.0';const bold=_0x5e00f6=>_0x4678f2(0x1c9)+_0x5e00f6+_0x4678f2(0x1b6);export function getPlaywrightVersion(){const _0x5936c3=_0x4678f2,_0x307e9d={'xOkxL':function(_0x2918b3,_0x4c720f){return _0x2918b3(_0x4c720f);}};try{const _0x11da78=require['resolve'](_0x5936c3(0x1ed)),_0x1df43c=_0x307e9d[_0x5936c3(0x1d5)](require,_0x11da78);return _0x1df43c['version'];}catch{return null;}}function resolveBundledPlaywrightCli(){const _0x31611f=_0x4678f2,_0x546639={'ZFuAJ':function(_0x18b2bd,_0x47575e,_0x3ca62e){return _0x18b2bd(_0x47575e,_0x3ca62e);},'UFAEN':function(_0x47e9af,_0x1fb0ae){return _0x47e9af(_0x1fb0ae);},'CjVsy':_0x31611f(0x19a),'aTRhA':function(_0x2a4b28,_0x4f505f){return _0x2a4b28(_0x4f505f);}};try{const _0x227b41=_0x546639['ZFuAJ'](join,_0x546639[_0x31611f(0x1cf)](dirname,require['resolve']('playwright/package.json')),_0x546639['CjVsy']);return _0x546639['aTRhA'](existsSync,_0x227b41)?_0x227b41:null;}catch{return null;}}const CHROMIUM_INSTALL_TIMEOUT_MS=Number(process['env']['RANGER_CHROMIUM_INSTALL_TIMEOUT_MS'])||0x927c0;class ChromiumInstallTimeoutError extends Error{}export async function installChromiumBinary(_0x5b8b3a,_0x39041c=![]){const _0x23e43a=_0x4678f2,_0x55eb79={'zLaRi':function(_0xc5b782){return _0xc5b782();},'ydPcO':_0x23e43a(0x1ff),'Njtjg':_0x23e43a(0x18c),'SgzlC':function(_0x376ff7,_0x3bc84c,_0x4a8892){return _0x376ff7(_0x3bc84c,_0x4a8892);}},_0x35b316=_0x55eb79['zLaRi'](resolveBundledPlaywrightCli),_0xaf1668=_0x35b316?process[_0x23e43a(0x1cd)]:_0x55eb79[_0x23e43a(0x1c5)],_0x57992f=[_0x35b316??'playwright@'+_0x5b8b3a,_0x23e43a(0x1b9),..._0x39041c?[_0x55eb79['Njtjg']]:[],'chromium'];let _0x235744=![];for(let _0x9ffda2=0x1;;_0x9ffda2++){try{await _0x55eb79[_0x23e43a(0x1c3)](runChromiumInstall,_0xaf1668,_0x57992f);return;}catch(_0x254214){_0x254214 instanceof ChromiumInstallTimeoutError&&!_0x235744&&(_0x235744=!![],console['log']('\x0a\x20\x20Chromium\x20install\x20timed\x20out\x20(limit\x20'+Math['round'](CHROMIUM_INSTALL_TIMEOUT_MS/0x3e8)+_0x23e43a(0x1e8)+_0x23e43a(0x18f)));if(_0x9ffda2>=0x3)throw _0x254214;const _0x52c023=_0x254214 instanceof Error?_0x254214['message']:String(_0x254214);console[_0x23e43a(0x1c6)](_0x23e43a(0x1ce)+_0x9ffda2+'\x20failed\x20('+_0x52c023+');\x20retrying...');}}}function runChromiumInstall(_0xe8861c,_0xc2fa84){const _0x2fd828=_0x4678f2,_0x3c84b8={'ynlzQ':function(_0x5261e4,_0x425ffc){return _0x5261e4===_0x425ffc;},'QDsgP':function(_0x3bc68d,_0x27d963){return _0x3bc68d(_0x27d963);},'kelGQ':function(_0x53b845,_0x4b6026,_0x291565,_0x7c26e){return _0x53b845(_0x4b6026,_0x291565,_0x7c26e);},'kKQpY':_0x2fd828(0x1bf),'xLzYH':function(_0x4812c0,_0xea6158){return _0x4812c0===_0xea6158;},'eANjA':'win32','kqzuX':_0x2fd828(0x1e3)};return new Promise((_0x54be3c,_0x4c4fce)=>{const _0x517921=_0x2fd828,_0xd56ebe={'JgxzP':function(_0x3a2c68,_0xae86d1){return _0x3c84b8['QDsgP'](_0x3a2c68,_0xae86d1);}},_0x426e9b=_0x3c84b8['kelGQ'](spawn,_0xe8861c,_0xc2fa84,{'stdio':[_0x3c84b8['kKQpY'],'inherit','inherit'],'shell':_0x3c84b8[_0x517921(0x1ac)](process[_0x517921(0x1c8)],_0x3c84b8[_0x517921(0x1d0)])}),_0x4789dc=setTimeout(()=>{const _0x4c29ba=_0x517921;_0x426e9b['kill'](_0x4c29ba(0x1c7)),_0xd56ebe[_0x4c29ba(0x1e1)](_0x4c4fce,new ChromiumInstallTimeoutError(_0x4c29ba(0x1df)+Math['round'](CHROMIUM_INSTALL_TIMEOUT_MS/0x3e8)+'s'));},CHROMIUM_INSTALL_TIMEOUT_MS);_0x426e9b['on']('close',_0x4eb181=>{const _0x288e44=_0x517921;clearTimeout(_0x4789dc);if(_0x3c84b8[_0x288e44(0x18d)](_0x4eb181,0x0))_0x54be3c();else _0x4c4fce(new Error('Installation\x20failed\x20with\x20exit\x20code\x20'+_0x4eb181));}),_0x426e9b['on'](_0x3c84b8[_0x517921(0x1f6)],_0x494dc8=>{clearTimeout(_0x4789dc),_0x4c4fce(_0x494dc8);});});}export async function authenticate(_0x3d3be3){const _0x1d6426=_0x4678f2,_0x1d6194={'puzkF':function(_0x2c4ba7){return _0x2c4ba7();},'zEJnk':function(_0x5125b9,_0x480498){return _0x5125b9(_0x480498);},'niYXb':function(_0x11d3fe){return _0x11d3fe();},'hkPaY':function(_0x5e9f28,_0x486579){return _0x5e9f28 instanceof _0x486579;},'tZQlb':function(_0x371d80,_0x3113dc){return _0x371d80(_0x3113dc);},'dBXun':'✓\x20Exported\x20credentials\x20for\x20CI','vHGws':_0x1d6426(0x1a7)};if(!_0x3d3be3){const _0x763e44=await _0x1d6194[_0x1d6426(0x197)](getToken);if(_0x763e44){const _0x250377=await _0x1d6194[_0x1d6426(0x1e6)](getCurrentUser,_0x763e44);if(_0x250377['success'])return console['log'](_0x1d6426(0x1f2)+_0x250377['user'][_0x1d6426(0x1a5)]),{'token':_0x763e44,'method':'existing_token'};}try{_0x3d3be3=await _0x1d6194[_0x1d6426(0x200)](runDeviceAuthFlow);}catch(_0x250e70){throw new Error('Authentication\x20failed:\x20'+(_0x1d6194['hkPaY'](_0x250e70,Error)?_0x250e70['message']:_0x250e70));}const _0x4f86f4=await getCurrentUser(_0x3d3be3);if(!_0x4f86f4[_0x1d6426(0x1d7)])throw new Error(_0x1d6426(0x1d4)+_0x4f86f4['error']);return console[_0x1d6426(0x1c6)]('✓\x20Authenticated\x20to\x20'+_0x4f86f4['user'][_0x1d6426(0x1a5)]),{'token':_0x3d3be3,'method':'device_auth'};}console[_0x1d6426(0x1c6)]('Validating\x20API\x20token...');const _0x5212e1=await _0x1d6194[_0x1d6426(0x1bd)](getCurrentUser,_0x3d3be3);if(!_0x5212e1[_0x1d6426(0x1d7)]){if(_0x5212e1[_0x1d6426(0x1c2)])throw new Error(_0x1d6426(0x1cb)+_0x5212e1['error']+_0x1d6426(0x1ab));else throw new Error('Failed\x20to\x20connect\x20to\x20MCP\x20server:\x20'+_0x5212e1['error']+_0x1d6426(0x1fa));}return console['log']('✓\x20Authenticated\x20to\x20'+_0x5212e1[_0x1d6426(0x1fc)][_0x1d6426(0x1a5)]),await _0x1d6194['tZQlb'](storeToken,_0x3d3be3),console[_0x1d6426(0x1c6)](process[_0x1d6426(0x18b)][_0x1d6426(0x1ad)]?_0x1d6194['dBXun']:'✓\x20Stored\x20credentials\x20locally'),{'token':_0x3d3be3,'method':_0x1d6194[_0x1d6426(0x1a8)]};}export async function ensureRangerDir(_0x3133ba){const _0xfab363=_0x4678f2,_0x2de163={'VvCfA':function(_0x46cf60,_0x24866b){return _0x46cf60(_0x24866b);},'gRPkS':_0xfab363(0x1db)};void _0x3133ba;const _0x75df78=getRangerHomeDir();return!_0x2de163['VvCfA'](existsSync,_0x75df78)?(await mkdir(_0x75df78,{'recursive':!![]}),console[_0xfab363(0x1c6)](_0x2de163[_0xfab363(0x1cc)]),{'path':_0x75df78,'installed':!![]}):(console[_0xfab363(0x1c6)]('✓\x20~/.ranger/\x20directory\x20already\x20exists'),{'path':_0x75df78,'installed':![]});}export async function ensureChromium(_0x3d1f0b=![]){const _0x103d37=_0x4678f2,_0x230b27={'AhuUl':function(_0x2b4d7e,_0x384701){return _0x2b4d7e(_0x384701);},'gMToO':'✓\x20Playwright\x20Chromium\x20browser\x20found','TCkaE':function(_0xc3bea5,_0x3ff4cc){return _0xc3bea5??_0x3ff4cc;},'FBsWe':'confirm','zBTak':'\x20(fallback\x20version)','vgWcg':'\x0a⚠\x20Skipping\x20Chromium\x20installation.'};let _0x23895e=![];try{const _0x522229=chromium[_0x103d37(0x1f1)]();_0x23895e=_0x230b27['AhuUl'](existsSync,_0x522229);}catch{_0x23895e=![];}if(_0x23895e)return console[_0x103d37(0x1c6)](_0x230b27[_0x103d37(0x1eb)]),![];const _0x4b04f2=getPlaywrightVersion(),_0x4c70fc=_0x230b27['TCkaE'](_0x4b04f2,PLAYWRIGHT_CHROMIUM_INSTALL_FALLBACK_VERSION),_0x4921e5=!_0x4b04f2,_0x469ef3=process['stdin']['isTTY']&&process[_0x103d37(0x1be)]['isTTY'];let _0x621a2d=!![];if(_0x469ef3){const {install:_0x581183}=await _0x2321e3[_0x103d37(0x1aa)]([{'type':_0x230b27[_0x103d37(0x19c)],'name':_0x103d37(0x1b9),'message':_0x4921e5?_0x103d37(0x202)+_0x4c70fc+_0x103d37(0x1ec):'The\x20required\x20version\x20('+_0x4c70fc+_0x103d37(0x195),'default':!![]}]);_0x621a2d=_0x581183;}else console['log'](_0x103d37(0x1d2)+_0x4c70fc+(_0x4921e5?_0x230b27[_0x103d37(0x1a2)]:'')+_0x103d37(0x1ee));if(_0x621a2d){console['log'](_0x103d37(0x1f4));try{await installChromiumBinary(_0x4c70fc,_0x3d1f0b),console['log']('\x0a✓\x20Playwright\x20Chromium\x20installed\x20successfully');}catch(_0x538fac){console['error']('\x0a❌\x20Failed\x20to\x20install\x20Chromium:',_0x538fac instanceof Error?_0x538fac['message']:_0x538fac),console['log']('You\x20can\x20install\x20it\x20manually\x20by\x20running:'),console[_0x103d37(0x1c6)](_0x103d37(0x1e5)+_0x4c70fc+'\x20install\x20chromium');}}else console[_0x103d37(0x1c6)](_0x230b27[_0x103d37(0x1de)]),console[_0x103d37(0x1c6)]('You\x20will\x20need\x20to\x20install\x20it\x20before\x20using\x20Ranger:'),console[_0x103d37(0x1c6)]('\x20\x20npx\x20playwright@'+_0x4c70fc+_0x103d37(0x198));return!![];}export async function writeRangerGitignore(_0x2ed1e1){const _0x11d107=_0x4678f2,_0x31c544={'UVPnO':function(_0x129ab1,_0x31a077,_0x5d2e18){return _0x129ab1(_0x31a077,_0x5d2e18);},'ZRmfn':function(_0x1f00cc,_0x574771,_0x3b500b){return _0x1f00cc(_0x574771,_0x3b500b);}},_0x3c0888=_0x31c544[_0x11d107(0x1c0)](join,_0x2ed1e1,_0x11d107(0x1b8)),_0x4bf712=_0x11d107(0x1a0);await _0x31c544['ZRmfn'](writeFile,_0x3c0888,_0x4bf712),console['log']('✓\x20Created\x20.ranger/.gitignore');}export async function ensureLocalEnv(_0x1fbbc1,_0x3a5f79){const _0x2b1040=_0x4678f2,_0x3b8f93={'TjCZl':function(_0x57c944,_0x11ffa3){return _0x57c944!==_0x11ffa3;},'vOWdu':_0x2b1040(0x1fc),'qnqza':function(_0x34a90e){return _0x34a90e();},'nCdCt':'local','WAWJK':function(_0x44fcd8,_0x1b8ade,_0x5756cb,_0x2cf4f6){return _0x44fcd8(_0x1b8ade,_0x5756cb,_0x2cf4f6);},'rIPII':function(_0x2f83ca,_0x41fe71){return _0x2f83ca instanceof _0x41fe71;}};if(!findGitRoot()&&_0x3b8f93[_0x2b1040(0x1ea)](_0x1fbbc1?.[_0x2b1040(0x190)],_0x3b8f93['vOWdu']))return console[_0x2b1040(0x1c6)](_0x2b1040(0x1c4)),{'ready':![],'skipped':!![]};const _0x5ce4be=_0x1fbbc1?.[_0x2b1040(0x190)]===_0x3b8f93[_0x2b1040(0x18a)]?_0x3b8f93[_0x2b1040(0x1fd)](getRangerHomeDir):undefined;if(findExistingEnv(_0x3b8f93['nCdCt'],{'locations':[_0x3b8f93[_0x2b1040(0x1dd)]],'rangerDir':_0x5ce4be}))return console['log'](_0x2b1040(0x1fb)),{'ready':!![],'skipped':![]};try{return await _0x3b8f93[_0x2b1040(0x194)](addEnv,_0x2b1040(0x1d6),{'url':_0x1fbbc1?.[_0x2b1040(0x1f0)],'force':_0x1fbbc1?.['force'],'allowInsecureLocalhost':_0x1fbbc1?.['allowInsecureLocalhost'],'scope':_0x1fbbc1?.[_0x2b1040(0x190)]},_0x3a5f79),{'ready':!![],'skipped':![]};}catch(_0x3f52d8){return console[_0x2b1040(0x1e3)]('\x0a❌\x20Profile\x20setup\x20failed:',_0x3b8f93['rIPII'](_0x3f52d8,Error)?_0x3f52d8[_0x2b1040(0x1d8)]:_0x3f52d8),{'ready':![],'skipped':![]};}}export async function start(_0xb93d2c,_0x4d1975,_0x347d7e){const _0x24b398=_0x4678f2,_0x1ff1d0={'lMZZh':'\x0a🚀\x20Ranger\x20Setup\x0a','kFjPs':_0x24b398(0x1fc),'mSNdP':function(_0x28f48d,_0x14ef66){return _0x28f48d+_0x14ef66;},'bzsCk':function(_0x4bf8ad,_0x468c99){return _0x4bf8ad(_0x468c99);},'upQEl':function(_0x11f008){return _0x11f008();},'XRqDY':function(_0x40ea72,_0x2be9c6){return _0x40ea72(_0x2be9c6);},'JhaDw':_0x24b398(0x1b3),'ZJTXw':'auth','ERTHr':_0x24b398(0x1e4),'oXClF':'chromium','DKGEx':'✓\x20Skipping\x20Chromium\x20check\x20(--skip-chromium)','NQDel':function(_0x2f10f7,_0x82e808){return _0x2f10f7(_0x82e808);},'RguQE':'plugin','vbSQi':function(_0x34fc6e,_0x3d9107){return _0x34fc6e(_0x3d9107);},'YneCu':_0x24b398(0x1a1),'awhSx':function(_0x49f1bd,_0x57a6ae,_0x2dd7c3){return _0x49f1bd(_0x57a6ae,_0x2dd7c3);},'PfBRW':'ranger','vbtfJ':function(_0x4d5c16){return _0x4d5c16();},'uLnvS':'\x20\x20Failed\x20to\x20install\x20OpenCode\x20skill:','OFRbG':function(_0x57afbf,_0x290bba){return _0x57afbf instanceof _0x290bba;},'njWKA':'\x0aSkipping\x20profile\x20setup\x20(--skip-auth).\x20Run\x20`ranger\x20setup`\x20with\x20auth\x20to\x20add\x20a\x20profile\x20later.\x0a','SjqAw':'profile','hWfdX':function(_0xf21dae,_0x32a847){return _0xf21dae+_0x32a847;},'WpqSB':function(_0x3da192,_0x5a3ff6){return _0x3da192+_0x5a3ff6;},'thbLN':function(_0x2b8178,_0x9ac4ea){return _0x2b8178+_0x9ac4ea;},'dPgNb':_0x24b398(0x1d1),'MnfBL':'verification\x20to\x20check\x20its\x20work\x20as\x20it\x20builds.','FSdgZ':function(_0x4e76b7,_0x462d5d){return _0x4e76b7+_0x462d5d;}};console['log'](_0x1ff1d0[_0x24b398(0x1b4)]);_0x4d1975?.[_0x24b398(0x190)]!==undefined&&_0x4d1975['scope']!==_0x1ff1d0['kFjPs']&&(console[_0x24b398(0x1e3)](_0x1ff1d0['mSNdP'](_0x24b398(0x1bc)+_0x1ff1d0[_0x24b398(0x1f9)](String,_0x4d1975['scope'])+_0x24b398(0x1f7)+'Setup\x20always\x20installs\x20at\x20user\x20scope\x20now\x20(cloud\x20profiles\x20make\x20',_0x24b398(0x1b0))),process[_0x24b398(0x1ae)](0x1));_0x4d1975={..._0x4d1975,'scope':_0x1ff1d0[_0x24b398(0x1e9)]};const _0xcab9aa=!existsSync(_0x1ff1d0['upQEl'](getRangerHomeDir));await _0x1ff1d0[_0x24b398(0x193)](ensureRangerDir,_0x1ff1d0['kFjPs']);if(_0x4d1975?.['skipAuth'])console['log'](_0x1ff1d0[_0x24b398(0x1f3)]),_0x347d7e?.[_0x24b398(0x19b)](_0x1ff1d0['ZJTXw'],{'isFirstRun':_0xcab9aa,'method':_0x1ff1d0[_0x24b398(0x1b1)]});else{_0x347d7e?.['trackPhaseStart'](_0x24b398(0x1a9));const _0x5192ff=await authenticate(_0xb93d2c);_0x347d7e?.['trackPhaseEnd'](_0x24b398(0x1a9),{'isFirstRun':_0xcab9aa,'method':_0x5192ff[_0x24b398(0x1d9)]});}_0x347d7e?.[_0x24b398(0x1a4)](_0x1ff1d0['oXClF']);_0x4d1975?.['skipChromium']?console['log'](_0x1ff1d0['DKGEx']):await _0x1ff1d0[_0x24b398(0x19f)](ensureChromium,_0x4d1975?.['withDeps']);_0x347d7e?.['trackPhaseEnd']('chromium',{'isFirstRun':_0xcab9aa,'skipped':!!_0x4d1975?.['skipChromium']}),console['log']('\x0a✅\x20Ranger\x20setup\x20complete!\x0a');const _0x3a6b44=_0x4d1975?.[_0x24b398(0x190)],_0x272e3f=_0x4d1975?.[_0x24b398(0x191)]??![];let _0x39d3e9=null;_0x272e3f?(_0x347d7e?.[_0x24b398(0x1a4)](_0x1ff1d0[_0x24b398(0x189)]),_0x39d3e9=await _0x1ff1d0[_0x24b398(0x193)](ensureOpencodePluginConfig,_0x3a6b44),_0x347d7e?.['trackPhaseEnd'](_0x1ff1d0['RguQE'],{'isFirstRun':_0xcab9aa,'opencode':!![]})):(_0x347d7e?.['trackPhaseStart'](_0x24b398(0x1a3)),await _0x1ff1d0['vbSQi'](ensureClaudePlugin,_0x3a6b44),_0x347d7e?.[_0x24b398(0x19b)](_0x24b398(0x1a3),{'isFirstRun':_0xcab9aa}));if(_0x272e3f&&_0x39d3e9){_0x347d7e?.[_0x24b398(0x1a4)](_0x1ff1d0[_0x24b398(0x1af)]);try{await _0x1ff1d0['awhSx'](installSkill,_0x1ff1d0[_0x24b398(0x201)],{'level':_0x39d3e9[_0x24b398(0x190)],'cliVersion':_0x1ff1d0['vbtfJ'](getCurrentVersion),'platform':_0x24b398(0x191)}),_0x347d7e?.[_0x24b398(0x19b)](_0x1ff1d0[_0x24b398(0x1af)],{'isFirstRun':_0xcab9aa,'opencode':!![]});}catch(_0x25eb35){console['warn'](_0x1ff1d0['uLnvS'],_0x1ff1d0[_0x24b398(0x1f8)](_0x25eb35,Error)?_0x25eb35[_0x24b398(0x1d8)]:_0x25eb35),_0x347d7e?.[_0x24b398(0x19b)](_0x1ff1d0['YneCu'],{'isFirstRun':_0xcab9aa,'opencode':!![],'failed':!![]});}}else _0x347d7e?.['trackPhaseStart'](_0x24b398(0x1a1)),await ensureClaudeSkills(_0x3a6b44),_0x347d7e?.[_0x24b398(0x19b)](_0x24b398(0x1a1),{'isFirstRun':_0xcab9aa});if(_0x4d1975?.[_0x24b398(0x196)])console['log'](_0x1ff1d0[_0x24b398(0x1f5)]);else{if(_0x4d1975?.[_0x24b398(0x1f0)]){_0x347d7e?.[_0x24b398(0x1a4)](_0x1ff1d0[_0x24b398(0x1b7)]);const _0x3f782b=await ensureLocalEnv({'url':_0x4d1975['url'],'force':_0x4d1975?.[_0x24b398(0x18e)],'allowInsecureLocalhost':_0x4d1975?.['allowInsecureLocalhost'],'scope':_0x1ff1d0['kFjPs']},_0x347d7e);_0x347d7e?.[_0x24b398(0x19b)](_0x1ff1d0[_0x24b398(0x1b7)],{'isFirstRun':_0xcab9aa,'profileReady':_0x3f782b['ready'],'userSkipped':_0x3f782b['skipped']});}else console[_0x24b398(0x1c6)](_0x1ff1d0[_0x24b398(0x1e2)](_0x1ff1d0['WpqSB'](_0x1ff1d0[_0x24b398(0x1b2)](_0x1ff1d0['thbLN'](_0x24b398(0x1e7),'\x0a\x20\x20'+bold(_0x24b398(0x1b5))),'\x0a\x20\x20(opens\x20a\x20browser\x20so\x20you\x20can\x20log\x20in\x20once)'),_0x24b398(0x1dc)),_0x24b398(0x1fe)));}if(_0x272e3f)console['log'](_0x1ff1d0[_0x24b398(0x19d)]),console[_0x24b398(0x1c6)]('and\x20prompt\x20the\x20agent\x20like\x20usual.\x20Ranger\x20will\x20create\x20a\x20feature\x20review'),console[_0x24b398(0x1c6)](_0x24b398(0x19e)),console[_0x24b398(0x1c6)](_0x1ff1d0['MnfBL']);else{const _0x145736=bold('/ranger:enable');console['log'](_0x1ff1d0[_0x24b398(0x199)](_0x1ff1d0[_0x24b398(0x1ba)]('\x0aIn\x20Claude\x20Code,\x20run\x20'+_0x145736+'\x20and\x20prompt\x20the\x20coding',_0x24b398(0x1ca))+'\x0ascenarios\x20describing\x20what\x20to\x20verify\x20and\x20then\x20run\x20browser','\x0averification\x20to\x20check\x20its\x20work\x20as\x20it\x20builds.'));}}
1
+ const _0x50b417=_0x29cf;(function(_0x166208,_0x17e97f){const _0x282bb5=_0x29cf,_0x341049=_0x166208();while(!![]){try{const _0x5dd81e=-parseInt(_0x282bb5(0xd5))/0x1*(parseInt(_0x282bb5(0xa1))/0x2)+parseInt(_0x282bb5(0x8c))/0x3*(parseInt(_0x282bb5(0xee))/0x4)+-parseInt(_0x282bb5(0xe3))/0x5+-parseInt(_0x282bb5(0xa9))/0x6+-parseInt(_0x282bb5(0xe4))/0x7+-parseInt(_0x282bb5(0x98))/0x8+parseInt(_0x282bb5(0x7b))/0x9*(parseInt(_0x282bb5(0xe1))/0xa);if(_0x5dd81e===_0x17e97f)break;else _0x341049['push'](_0x341049['shift']());}catch(_0x3a5fdc){_0x341049['push'](_0x341049['shift']());}}}(_0x23b4,0x3304e));import{mkdir,writeFile}from'fs/promises';import{join,dirname}from'path';import{existsSync}from'fs';import{createRequire}from'module';import _0x446c20 from'inquirer';import{getToken,storeToken}from'./utils/keychain.js';import{getCurrentUser}from'./utils/userApi.js';import{chromium}from'playwright';import{addEnv}from'./addEnv.js';function _0x29cf(_0x44c6f0,_0xedb258){_0x44c6f0=_0x44c6f0-0x7b;const _0x23b44f=_0x23b4();let _0x29cf79=_0x23b44f[_0x44c6f0];return _0x29cf79;}import{getRangerHomeDir,findGitRoot}from'./utils/rangerRoot.js';import{runDeviceAuthFlow}from'./utils/deviceAuth.js';import{findExistingEnv}from'./utils/settings.js';import{getCurrentVersion}from'./utils/version.js';import{ensureClaudePlugin,ensureClaudeSkills}from'./setup/claude.js';import{ensureOpencodePluginConfig}from'./setup/opencode.js';import{installSkill}from'./utils/skills.js';import{spawn}from'child_process';const require=createRequire(import.meta.url);export const PLAYWRIGHT_CHROMIUM_INSTALL_FALLBACK_VERSION='1.60.0';const bold=_0x357329=>_0x50b417(0xef)+_0x357329+_0x50b417(0xf3);export function getPlaywrightVersion(){const _0x4edde9=_0x50b417,_0x2bde79={'GkEql':'playwright/package.json','yUtLk':function(_0x22bf72,_0xfe0fa4){return _0x22bf72(_0xfe0fa4);}};try{const _0x13b3cc=require['resolve'](_0x2bde79[_0x4edde9(0xd1)]),_0x5c3d13=_0x2bde79[_0x4edde9(0xb4)](require,_0x13b3cc);return _0x5c3d13[_0x4edde9(0xd9)];}catch{return null;}}function resolveBundledPlaywrightCli(){const _0xe1a1c5=_0x50b417,_0xd50b5f={'GZBkm':_0xe1a1c5(0x82),'jLZAY':_0xe1a1c5(0xd7)};try{const _0x34ed6d=join(dirname(require[_0xe1a1c5(0xc9)](_0xd50b5f['GZBkm'])),_0xd50b5f['jLZAY']);return existsSync(_0x34ed6d)?_0x34ed6d:null;}catch{return null;}}const CHROMIUM_INSTALL_TIMEOUT_MS=Number(process['env']['RANGER_CHROMIUM_INSTALL_TIMEOUT_MS'])||0x927c0;function _0x23b4(){const _0x1af7ad=['and\x20prompt\x20the\x20agent\x20like\x20usual.\x20Ranger\x20will\x20create\x20a\x20feature\x20review','log','XXLUO','FruNZ','✓\x20Created\x20~/.ranger/\x20directory','OjxEN','allowInsecureLocalhost','\x20is\x20no\x20longer\x20supported.\x20','yUtLk','prompt','\x0a✅\x20Ranger\x20setup\x20complete!\x0a','aLwmR','scope','profile','GnqlK','HfQFl','\x0aIn\x20Claude\x20Code,\x20run\x20','\x0a🚀\x20Ranger\x20Setup\x0a','✓\x20Authenticated\x20to\x20','tpmLL','.\x20Please\x20check\x20your\x20API\x20token\x20and\x20try\x20again.','vjsab','JxkZC','\x0a❌\x20Profile\x20setup\x20failed:','url','organizationName','\x0a\x20\x20','device_auth','ooqBV','resolve','✓\x20Skipping\x20Chromium\x20check\x20(--skip-chromium)','\x0aIn\x20OpenCode,\x20enable\x20Ranger\x20hooks\x20(run\x20the\x20`ranger_enable`\x20tool)','existing_token','user','withDeps','\x20and\x20prompt\x20the\x20coding','vlGel','GkEql','verification\x20to\x20check\x20its\x20work\x20as\x20it\x20builds.',');\x20retrying...','--with-deps','1797tNjyQe','✓\x20Already\x20authenticated\x20to\x20','cli.js','lSzJc','version','BEdvp','s).\x20On\x20a\x20slow\x20or\x20proxied\x20connection,\x20raise\x20the\x20limit\x20and\x20retry,\x20e.g.:\x0a','.gitignore','You\x20can\x20install\x20it\x20manually\x20by\x20running:','\x20(fallback\x20version)','SLjqT','\x0a❌\x20Failed\x20to\x20install\x20Chromium:','1512450hTTNvH','YKNUS','963655pxvLJT','1268729jrhqFt','force','error','npx','PEEcc','rxSsR','\x0a✓\x20Playwright\x20Chromium\x20installed\x20successfully','KMIVb','ranger','XnBiz','1228792campvc','\x1b[1m','warn','skills','project-scope\x20setup\x20obsolete).\x20Drop\x20the\x20--scope\x20flag\x20or\x20pass\x20--scope=user.','\x1b[0m','45kasXZo','chromium','trackPhaseEnd','exit','YkbsL','stdin','rMdTN','playwright/package.json','message','\x0a⚠\x20Skipping\x20Chromium\x20installation.','ZbbSK','Installation\x20failed\x20with\x20exit\x20code\x20','AgFpE','NIoIf','✓\x20Skipping\x20authentication\x20(--skip-auth)','\x0ascenarios\x20describing\x20what\x20to\x20verify\x20and\x20then\x20run\x20browser','mJAFr','3rwfeEO','ZGHKI','uSwOL',')\x20of\x20the\x20Playwright\x20Chromium\x20browser\x20is\x20not\x20installed.\x20Install\x20it\x20now?','skipped','...','sEjZV','.\x20Please\x20check\x20your\x20network\x20connection\x20and\x20server\x20URL.','Authentication\x20failed:\x20','\x20failed\x20(','VfXKK','Failed\x20to\x20validate\x20provisioned\x20API\x20key:\x20','3031760JOolrg','status','\x20\x20npx\x20playwright@','YDevJ','JMPfR','\x0a\x0aFor\x20CI\x20/\x20background\x20agents\x20and\x20other\x20setup\x20options,\x20see:','iDoMY','Setup\x20always\x20installs\x20at\x20user\x20scope\x20now\x20(cloud\x20profiles\x20make\x20','jyPOo','38FKAJri','VMNvD','env','\x0averification\x20to\x20check\x20its\x20work\x20as\x20it\x20builds.','YsGcW','trackPhaseStart','\x0aagent\x20like\x20usual.\x20Claude\x20will\x20create\x20a\x20feature\x20review\x20with','isTTY','404148vpcbkx','IifQM','GITHUB_ENV'];_0x23b4=function(){return _0x1af7ad;};return _0x23b4();}class ChromiumInstallTimeoutError extends Error{}export async function installChromiumBinary(_0x217b52,_0x9759be=![]){const _0x36df77=_0x50b417,_0x2e1634={'VMNvD':function(_0x396d67){return _0x396d67();},'vlGel':_0x36df77(0xd4),'dqgWF':_0x36df77(0x7c),'gPelm':function(_0x5f4d92,_0x23518f,_0x500820){return _0x5f4d92(_0x23518f,_0x500820);},'CyFvH':function(_0x1b7f8c,_0x109f1a){return _0x1b7f8c+_0x109f1a;},'rvVSO':function(_0x384f38,_0x4fbd88){return _0x384f38/_0x4fbd88;},'lCnIJ':function(_0x582db2,_0x684ab5){return _0x582db2>=_0x684ab5;},'KMIVb':function(_0x5c8e87,_0x303bed){return _0x5c8e87(_0x303bed);}},_0x2bcd24=_0x2e1634[_0x36df77(0xa2)](resolveBundledPlaywrightCli),_0x5ca300=_0x2bcd24?process['execPath']:_0x36df77(0xe7),_0x2bce3f=[_0x2bcd24??'playwright@'+_0x217b52,'install',..._0x9759be?[_0x2e1634[_0x36df77(0xd0)]]:[],_0x2e1634['dqgWF']];let _0xcd9f22=![];for(let _0x11ffe4=0x1;;_0x11ffe4++){try{await _0x2e1634['gPelm'](runChromiumInstall,_0x5ca300,_0x2bce3f);return;}catch(_0x318b55){_0x318b55 instanceof ChromiumInstallTimeoutError&&!_0xcd9f22&&(_0xcd9f22=!![],console[_0x36df77(0xad)](_0x2e1634['CyFvH']('\x0a\x20\x20Chromium\x20install\x20timed\x20out\x20(limit\x20'+Math['round'](_0x2e1634['rvVSO'](CHROMIUM_INSTALL_TIMEOUT_MS,0x3e8))+_0x36df77(0xdb),'\x20\x20\x20\x20RANGER_CHROMIUM_INSTALL_TIMEOUT_MS=1800000\x20ranger\x20setup\x20deps')));if(_0x2e1634['lCnIJ'](_0x11ffe4,0x3))throw _0x318b55;const _0x13950e=_0x318b55 instanceof Error?_0x318b55[_0x36df77(0x83)]:_0x2e1634[_0x36df77(0xeb)](String,_0x318b55);console[_0x36df77(0xad)]('\x20\x20Chromium\x20install\x20attempt\x20'+_0x11ffe4+_0x36df77(0x95)+_0x13950e+_0x36df77(0xd3));}}}function runChromiumInstall(_0x40f7de,_0x47b863){const _0x106789={'ZbbSK':'SIGKILL','APUqy':function(_0x3984ed,_0x9e3dcb){return _0x3984ed(_0x9e3dcb);},'lSzJc':function(_0x2e1508,_0x4f3696){return _0x2e1508/_0x4f3696;},'jyPOo':function(_0x6b74fc,_0x2cb478){return _0x6b74fc===_0x2cb478;},'VbaBx':function(_0x30568e){return _0x30568e();},'BLzHR':function(_0x4441c2,_0x1a56da){return _0x4441c2(_0x1a56da);},'tpmLL':function(_0x38ac85,_0x260fa3,_0x277045,_0x81df3a){return _0x38ac85(_0x260fa3,_0x277045,_0x81df3a);},'vSdNh':function(_0x59ce52,_0x492f60,_0x40130a){return _0x59ce52(_0x492f60,_0x40130a);}};return new Promise((_0x159291,_0x1f280a)=>{const _0x4b1b84=_0x29cf,_0x47dad7=_0x106789[_0x4b1b84(0xbf)](spawn,_0x40f7de,_0x47b863,{'stdio':['ignore','inherit','inherit'],'shell':process['platform']==='win32'}),_0x559bdb=_0x106789['vSdNh'](setTimeout,()=>{const _0x1921ff=_0x4b1b84;_0x47dad7['kill'](_0x106789[_0x1921ff(0x85)]),_0x106789['APUqy'](_0x1f280a,new ChromiumInstallTimeoutError('Chromium\x20install\x20timed\x20out\x20after\x20'+Math['round'](_0x106789[_0x1921ff(0xd8)](CHROMIUM_INSTALL_TIMEOUT_MS,0x3e8))+'s'));},CHROMIUM_INSTALL_TIMEOUT_MS);_0x47dad7['on']('close',_0x48f687=>{const _0x195ec0=_0x4b1b84;_0x106789['APUqy'](clearTimeout,_0x559bdb);if(_0x106789[_0x195ec0(0xa0)](_0x48f687,0x0))_0x106789['VbaBx'](_0x159291);else _0x106789['BLzHR'](_0x1f280a,new Error(_0x195ec0(0x86)+_0x48f687));}),_0x47dad7['on']('error',_0x24f461=>{clearTimeout(_0x559bdb),_0x1f280a(_0x24f461);});});}export async function authenticate(_0x5df31a){const _0x22afcd=_0x50b417,_0x4e7fe7={'YDevJ':function(_0x3dba79){return _0x3dba79();},'XnBiz':_0x22afcd(0xcc),'rMdTN':_0x22afcd(0xc7),'ooqBV':function(_0x47916f,_0x5bb9d9){return _0x47916f(_0x5bb9d9);},'YkbsL':'✓\x20Exported\x20credentials\x20for\x20CI','FruNZ':'✓\x20Stored\x20credentials\x20locally'};if(!_0x5df31a){const _0x1ed9d3=await _0x4e7fe7['YDevJ'](getToken);if(_0x1ed9d3){const _0x53c33e=await getCurrentUser(_0x1ed9d3);if(_0x53c33e['success'])return console[_0x22afcd(0xad)](_0x22afcd(0xd6)+_0x53c33e['user'][_0x22afcd(0xc5)]),{'token':_0x1ed9d3,'method':_0x4e7fe7[_0x22afcd(0xed)]};}try{_0x5df31a=await _0x4e7fe7[_0x22afcd(0x9b)](runDeviceAuthFlow);}catch(_0x514b57){throw new Error(_0x22afcd(0x94)+(_0x514b57 instanceof Error?_0x514b57['message']:_0x514b57));}const _0x4f96ed=await getCurrentUser(_0x5df31a);if(!_0x4f96ed['success'])throw new Error(_0x22afcd(0x97)+_0x4f96ed['error']);return console[_0x22afcd(0xad)](_0x22afcd(0xbe)+_0x4f96ed['user'][_0x22afcd(0xc5)]),{'token':_0x5df31a,'method':_0x4e7fe7[_0x22afcd(0x81)]};}console['log']('Validating\x20API\x20token...');const _0x42df89=await _0x4e7fe7[_0x22afcd(0xc8)](getCurrentUser,_0x5df31a);if(!_0x42df89['success']){if(_0x42df89[_0x22afcd(0x99)])throw new Error('Authentication\x20failed:\x20'+_0x42df89['error']+_0x22afcd(0xc0));else throw new Error('Failed\x20to\x20connect\x20to\x20MCP\x20server:\x20'+_0x42df89['error']+_0x22afcd(0x93));}return console['log'](_0x22afcd(0xbe)+_0x42df89[_0x22afcd(0xcd)]['organizationName']),await storeToken(_0x5df31a),console[_0x22afcd(0xad)](process[_0x22afcd(0xa3)][_0x22afcd(0xab)]?_0x4e7fe7[_0x22afcd(0x7f)]:_0x4e7fe7[_0x22afcd(0xaf)]),{'token':_0x5df31a,'method':'provided_token'};}export async function ensureRangerDir(_0x1ae4ed){const _0x45d8a9=_0x50b417,_0x9ef9fc={'ZGHKI':function(_0x35d5d3){return _0x35d5d3();},'NIoIf':function(_0x4a8a14,_0x5ef90e,_0x1a8268){return _0x4a8a14(_0x5ef90e,_0x1a8268);},'BEdvp':_0x45d8a9(0xb0)};void _0x1ae4ed;const _0x341e8f=_0x9ef9fc[_0x45d8a9(0x8d)](getRangerHomeDir);return!existsSync(_0x341e8f)?(await _0x9ef9fc[_0x45d8a9(0x88)](mkdir,_0x341e8f,{'recursive':!![]}),console['log'](_0x9ef9fc[_0x45d8a9(0xda)]),{'path':_0x341e8f,'installed':!![]}):(console[_0x45d8a9(0xad)]('✓\x20~/.ranger/\x20directory\x20already\x20exists'),{'path':_0x341e8f,'installed':![]});}export async function ensureChromium(_0x3c7760=![]){const _0xccf31f=_0x50b417,_0x490849={'PaAdY':function(_0x3fa659,_0x3378fd){return _0x3fa659(_0x3378fd);},'rxSsR':function(_0xb1cba1){return _0xb1cba1();},'JxkZC':function(_0x32746f,_0x498ea4){return _0x32746f??_0x498ea4;},'VfXKK':_0xccf31f(0xe0),'aLwmR':function(_0x1c71b1,_0x338581){return _0x1c71b1 instanceof _0x338581;},'YoRIc':_0xccf31f(0x84),'mJAFr':'You\x20will\x20need\x20to\x20install\x20it\x20before\x20using\x20Ranger:'};let _0x467bc3=![];try{const _0x5a48d3=chromium['executablePath']();_0x467bc3=_0x490849['PaAdY'](existsSync,_0x5a48d3);}catch{_0x467bc3=![];}if(_0x467bc3)return console[_0xccf31f(0xad)]('✓\x20Playwright\x20Chromium\x20browser\x20found'),![];const _0x28037b=_0x490849[_0xccf31f(0xe9)](getPlaywrightVersion),_0x5d31b4=_0x490849[_0xccf31f(0xc2)](_0x28037b,PLAYWRIGHT_CHROMIUM_INSTALL_FALLBACK_VERSION),_0x3b85ff=!_0x28037b,_0x5ed03f=process[_0xccf31f(0x80)][_0xccf31f(0xa8)]&&process['stdout']['isTTY'];let _0x160c5f=!![];if(_0x5ed03f){const {install:_0x65a99}=await _0x446c20[_0xccf31f(0xb5)]([{'type':'confirm','name':'install','message':_0x3b85ff?'Could\x20not\x20determine\x20local\x20Playwright\x20version.\x20Install\x20Playwright\x20Chromium\x20using\x20fallback\x20version\x20'+_0x5d31b4+'\x20now?':'The\x20required\x20version\x20('+_0x5d31b4+_0xccf31f(0x8f),'default':!![]}]);_0x160c5f=_0x65a99;}else console['log']('\x0aNon-interactive\x20mode:\x20Auto-installing\x20Playwright\x20Chromium\x20'+_0x5d31b4+(_0x3b85ff?_0xccf31f(0xde):'')+_0xccf31f(0x91));if(_0x160c5f){console['log']('\x0aInstalling\x20Chromium\x20browser...\x0a');try{await installChromiumBinary(_0x5d31b4,_0x3c7760),console[_0xccf31f(0xad)](_0xccf31f(0xea));}catch(_0x100fcf){console[_0xccf31f(0xe6)](_0x490849[_0xccf31f(0x96)],_0x490849[_0xccf31f(0xb7)](_0x100fcf,Error)?_0x100fcf['message']:_0x100fcf),console['log'](_0xccf31f(0xdd)),console['log'](_0xccf31f(0x9a)+_0x5d31b4+'\x20install\x20chromium');}}else console[_0xccf31f(0xad)](_0x490849['YoRIc']),console['log'](_0x490849[_0xccf31f(0x8b)]),console['log'](_0xccf31f(0x9a)+_0x5d31b4+'\x20install\x20chromium');return!![];}export async function writeRangerGitignore(_0x3fb048){const _0x20b359=_0x50b417,_0x3b8d42={'YKNUS':function(_0x40fcf4,_0x13ff32,_0x973a50){return _0x40fcf4(_0x13ff32,_0x973a50);},'PEEcc':'✓\x20Created\x20.ranger/.gitignore'},_0x44deb6=_0x3b8d42[_0x20b359(0xe2)](join,_0x3fb048,_0x20b359(0xdc)),_0x1df837='\x0a\x0a#\x20Ignore\x20local-only\x20directories\x0alocal/\x0asessions/\x0abug-bashes/\x0areports/\x0afeedback-images/\x0a\x0aactive-profile.txt\x0aactive-feature.txt\x0a.gitignore\x0a\x0a#\x20Ignore\x20plaintext\x20auth\x20files\x20(encrypted\x20.enc\x20files\x20are\x20safe\x20to\x20commit)\x0a**/auth.json\x0a';await writeFile(_0x44deb6,_0x1df837),console['log'](_0x3b8d42[_0x20b359(0xe8)]);}export async function ensureLocalEnv(_0x5aaca6,_0xd8d2e1){const _0x149c3d=_0x50b417,_0x1d60ab={'YsGcW':_0x149c3d(0xcd),'FhdVW':function(_0xad2055,_0x2f25eb){return _0xad2055===_0x2f25eb;},'FUEoo':function(_0x1a8068){return _0x1a8068();},'jQyBP':function(_0x51d9f7,_0x388c35,_0x4c2375){return _0x51d9f7(_0x388c35,_0x4c2375);},'BIrhs':'local','sEjZV':'✓\x20Local\x20profile\x20already\x20exists','omEkq':_0x149c3d(0xc3)};if(!findGitRoot()&&_0x5aaca6?.['scope']!==_0x1d60ab[_0x149c3d(0xa5)])return console['log']('⚠\x20No\x20git\x20repository\x20found.\x20Re-run\x20with\x20`--scope\x20user`\x20to\x20store\x20the\x20profile\x20at\x20~/.ranger/.'),{'ready':![],'skipped':!![]};const _0x5539e7=_0x1d60ab['FhdVW'](_0x5aaca6?.['scope'],'user')?_0x1d60ab['FUEoo'](getRangerHomeDir):undefined;if(_0x1d60ab['jQyBP'](findExistingEnv,_0x1d60ab['BIrhs'],{'locations':['local'],'rangerDir':_0x5539e7}))return console['log'](_0x1d60ab[_0x149c3d(0x92)]),{'ready':!![],'skipped':![]};try{return await addEnv('local',{'url':_0x5aaca6?.[_0x149c3d(0xc4)],'force':_0x5aaca6?.[_0x149c3d(0xe5)],'allowInsecureLocalhost':_0x5aaca6?.['allowInsecureLocalhost'],'scope':_0x5aaca6?.['scope']},_0xd8d2e1),{'ready':!![],'skipped':![]};}catch(_0x476a04){return console['error'](_0x1d60ab['omEkq'],_0x476a04 instanceof Error?_0x476a04['message']:_0x476a04),{'ready':![],'skipped':![]};}}export async function start(_0x4b0ae2,_0x3bc261,_0x19e295){const _0x51b60e=_0x50b417,_0x3e2bc7={'SLjqT':function(_0x504a59,_0x36a78a){return _0x504a59!==_0x36a78a;},'XXLUO':'user','AgFpE':function(_0x420ed9,_0x24597f){return _0x420ed9+_0x24597f;},'OjxEN':function(_0x215a1e,_0x15fdc9){return _0x215a1e(_0x15fdc9);},'bmewh':function(_0x3b6500){return _0x3b6500();},'KUCnO':function(_0x21a56d,_0x2e15a5){return _0x21a56d(_0x2e15a5);},'pfLIf':_0x51b60e(0x89),'iDoMY':_0x51b60e(0xca),'IifQM':'plugin','OCNRK':function(_0x4bd109,_0x146d9e){return _0x4bd109(_0x146d9e);},'hGoBo':'skills','GnqlK':'\x20\x20Failed\x20to\x20install\x20OpenCode\x20skill:','JMPfR':_0x51b60e(0xb9),'HfQFl':'ranger\x20profile\x20add\x20<name>','VTwoC':_0x51b60e(0xac),'vjsab':_0x51b60e(0xd2),'uSwOL':function(_0x61a4c1,_0x68eb78){return _0x61a4c1+_0x68eb78;}};console['log'](_0x51b60e(0xbd));_0x3e2bc7[_0x51b60e(0xdf)](_0x3bc261?.[_0x51b60e(0xb8)],undefined)&&_0x3bc261['scope']!==_0x3e2bc7[_0x51b60e(0xae)]&&(console[_0x51b60e(0xe6)](_0x3e2bc7['AgFpE']('ranger\x20setup\x20--scope='+_0x3e2bc7[_0x51b60e(0xb1)](String,_0x3bc261[_0x51b60e(0xb8)])+_0x51b60e(0xb3)+_0x51b60e(0x9f),_0x51b60e(0xf2))),process[_0x51b60e(0x7e)](0x1));_0x3bc261={..._0x3bc261,'scope':_0x3e2bc7[_0x51b60e(0xae)]};const _0x4162dc=!_0x3e2bc7['OjxEN'](existsSync,_0x3e2bc7['bmewh'](getRangerHomeDir));await _0x3e2bc7['KUCnO'](ensureRangerDir,'user');if(_0x3bc261?.['skipAuth'])console['log'](_0x3e2bc7['pfLIf']),_0x19e295?.['trackPhaseEnd']('auth',{'isFirstRun':_0x4162dc,'method':'skipped'});else{_0x19e295?.[_0x51b60e(0xa6)]('auth');const _0x415a6f=await authenticate(_0x4b0ae2);_0x19e295?.[_0x51b60e(0x7d)]('auth',{'isFirstRun':_0x4162dc,'method':_0x415a6f['method']});}_0x19e295?.['trackPhaseStart']('chromium');_0x3bc261?.['skipChromium']?console[_0x51b60e(0xad)](_0x3e2bc7[_0x51b60e(0x9e)]):await _0x3e2bc7['KUCnO'](ensureChromium,_0x3bc261?.[_0x51b60e(0xce)]);_0x19e295?.['trackPhaseEnd'](_0x51b60e(0x7c),{'isFirstRun':_0x4162dc,'skipped':!!_0x3bc261?.['skipChromium']}),console['log'](_0x51b60e(0xb6));const _0x2260d1=_0x3bc261?.[_0x51b60e(0xb8)],_0x5c6c19=_0x3bc261?.['opencode']??![];let _0x41ffd3=null;_0x5c6c19?(_0x19e295?.[_0x51b60e(0xa6)](_0x3e2bc7[_0x51b60e(0xaa)]),_0x41ffd3=await ensureOpencodePluginConfig(_0x2260d1),_0x19e295?.['trackPhaseEnd'](_0x3e2bc7[_0x51b60e(0xaa)],{'isFirstRun':_0x4162dc,'opencode':!![]})):(_0x19e295?.[_0x51b60e(0xa6)](_0x3e2bc7['IifQM']),await _0x3e2bc7['OCNRK'](ensureClaudePlugin,_0x2260d1),_0x19e295?.['trackPhaseEnd'](_0x3e2bc7['IifQM'],{'isFirstRun':_0x4162dc}));if(_0x5c6c19&&_0x41ffd3){_0x19e295?.[_0x51b60e(0xa6)](_0x51b60e(0xf1));try{await installSkill(_0x51b60e(0xec),{'level':_0x41ffd3['scope'],'cliVersion':getCurrentVersion(),'platform':'opencode'}),_0x19e295?.[_0x51b60e(0x7d)](_0x3e2bc7['hGoBo'],{'isFirstRun':_0x4162dc,'opencode':!![]});}catch(_0x598a6f){console[_0x51b60e(0xf0)](_0x3e2bc7[_0x51b60e(0xba)],_0x598a6f instanceof Error?_0x598a6f['message']:_0x598a6f),_0x19e295?.['trackPhaseEnd'](_0x51b60e(0xf1),{'isFirstRun':_0x4162dc,'opencode':!![],'failed':!![]});}}else _0x19e295?.[_0x51b60e(0xa6)](_0x51b60e(0xf1)),await ensureClaudeSkills(_0x2260d1),_0x19e295?.[_0x51b60e(0x7d)](_0x51b60e(0xf1),{'isFirstRun':_0x4162dc});if(_0x3bc261?.['skipAuth'])console[_0x51b60e(0xad)]('\x0aSkipping\x20profile\x20setup\x20(--skip-auth).\x20Run\x20`ranger\x20setup`\x20with\x20auth\x20to\x20add\x20a\x20profile\x20later.\x0a');else{if(_0x3bc261?.['url']){_0x19e295?.[_0x51b60e(0xa6)](_0x3e2bc7['JMPfR']);const _0x188915=await ensureLocalEnv({'url':_0x3bc261['url'],'force':_0x3bc261?.['force'],'allowInsecureLocalhost':_0x3bc261?.[_0x51b60e(0xb2)],'scope':'user'},_0x19e295);_0x19e295?.[_0x51b60e(0x7d)](_0x3e2bc7[_0x51b60e(0x9c)],{'isFirstRun':_0x4162dc,'profileReady':_0x188915['ready'],'userSkipped':_0x188915[_0x51b60e(0x90)]});}else console['log'](_0x3e2bc7['AgFpE']('\x0aTo\x20set\x20up\x20a\x20profile\x20for\x20your\x20app,\x20run:',_0x51b60e(0xc6)+_0x3e2bc7['OjxEN'](bold,_0x3e2bc7[_0x51b60e(0xbb)]))+'\x0a\x20\x20(opens\x20a\x20browser\x20so\x20you\x20can\x20log\x20in\x20once)'+_0x51b60e(0x9d)+'\x0a\x20\x20https://docs.ranger.net/main/concepts/profiles');}if(_0x5c6c19)console['log'](_0x51b60e(0xcb)),console['log'](_0x3e2bc7['VTwoC']),console['log']('with\x20scenarios\x20describing\x20what\x20to\x20verify\x20and\x20then\x20run\x20browser'),console['log'](_0x3e2bc7[_0x51b60e(0xc1)]);else{const _0x1c3779=_0x3e2bc7['OjxEN'](bold,'/ranger:enable');console[_0x51b60e(0xad)](_0x3e2bc7[_0x51b60e(0x87)](_0x3e2bc7[_0x51b60e(0x8e)](_0x3e2bc7['uSwOL'](_0x51b60e(0xbc)+_0x1c3779+_0x51b60e(0xcf),_0x51b60e(0xa7)),_0x51b60e(0x8a)),_0x51b60e(0xa4)));}}
@@ -1 +1 @@
1
- function _0x4304(_0xcafff2,_0x5d8e1b){_0xcafff2=_0xcafff2-0x132;const _0x129839=_0x1298();let _0x43042d=_0x129839[_0xcafff2];return _0x43042d;}const _0xc41c0=_0x4304;(function(_0x47bce4,_0x2f8146){const _0x335b44=_0x4304,_0xda0d72=_0x47bce4();while(!![]){try{const _0x2170db=parseInt(_0x335b44(0x150))/0x1*(-parseInt(_0x335b44(0x19e))/0x2)+parseInt(_0x335b44(0x176))/0x3*(-parseInt(_0x335b44(0x199))/0x4)+parseInt(_0x335b44(0x1a0))/0x5+-parseInt(_0x335b44(0x140))/0x6+parseInt(_0x335b44(0x182))/0x7+-parseInt(_0x335b44(0x172))/0x8+parseInt(_0x335b44(0x17f))/0x9;if(_0x2170db===_0x2f8146)break;else _0xda0d72['push'](_0xda0d72['shift']());}catch(_0x158dc2){_0xda0d72['push'](_0xda0d72['shift']());}}}(_0x1298,0xef523));import{readFile,readdir}from'fs/promises';import{join,basename}from'path';import{existsSync}from'fs';import{getToken}from'./utils/keychain.js';import{getCurrentVersion,getLatestVersion}from'./utils/version.js';import{getApiBaseUrl,getCurrentEnvironment}from'./utils/environment.js';import{getProjectSkillsDir,getUserSkillsDir}from'./utils/claudeConfig.js';import{getEnvNames}from'./env.js';import{getCurrentUser}from'./utils/userApi.js';import{getRangerDir}from'./utils/rangerRoot.js';import{getEnvDir}from'./utils/settings.js';import{listCloudProfiles}from'./utils/cloudProfile.js';import{getPluginInfo}from'./utils/claudePlugin.js';import{RANGER_MANAGED_SKILLS}from'./utils/skills.js';import{spawn}from'child_process';function _0x1298(){const _0x2c5a7f=['\x1b[1m','fcfYu','status','eqMFM','enabled','4742qpWIGl','plugin','stdout','API\x20Token:\x20✗\x20Not\x20found','plaintext','ztddo',':\x20configured','\x20(active)','brDmH','length','EWFGW','ZFtTY','tmgOI','name','no\x20session','sessionUpdatedAt','oLDVQ','unknown','No\x20profiles\x20configured','API\x20URL:\x20','dxvAm','isActive','\x20\x20\x20\x20Settings:\x20','(not\x20found)','\x20\x20Run:\x20ranger\x20setup\x20[token]','\x20\x20Active:\x20','log','XCGkc','HnSJL','includes','\x20profiles\x20configured\x20(','parse','trim','ignore','12126904ODQKqr','string','path','API\x20Token:\x20✓\x20Found\x20but\x20invalid\x20or\x20expired','2498280AQSPBn','data','details','auth.json','MuPja','\x20\x20User-level:','hasPlaintextAuth','\x20\x20Run:\x20ranger\x20profile\x20add\x20<profile-name>','\x20(up\x20to\x20date)','18347166ISUsao','\x20\x20\x20\x20','isDirectory','5227852vjGZBL','WfVxU','\x20\x20Run:\x20ranger\x20skillup','ZMuso','configured','\x20\x20Run:\x20ranger\x20setup\x20[token]\x20\x20(includes\x20plugin\x20installation)','some','map','stderr','not_installed','\x20plugin(s)\x20configured','Yulfo','\x20\x20Run:\x20ranger\x20setup\x20--opencode','\x0a---\x20Claude\x20Code\x20Plugin\x20---','rFyzK','cached\x20(updated\x20','toString','RMvhD','version','ilmcd','has','vhYHg','gIYNo','4fCLRJG','kdGlO','OweNw','No\x20skills\x20installed','ESKZn','254tLqVAH','organizationName','7418345NWYtuq','settingsPath','\x20\x20Project-level:','\x20(latest:\x20','success','join','jRzfT','\x20\x20Not\x20configured','settings.json','hCIUy','fmdwY','auth.json.enc','DEBUG','\x20\x20\x20\x20Auth:\x20','Srldm','2027778ZUjUdH','user','SFBCv','match','AQNtJ','pipe','\x20\x20Run:\x20ranger\x20profile\x20use\x20<profile-name>\x20\x20(available:\x20','push','fOwKF','Root:\x20','opencode-plugin'];_0x1298=function(){return _0x2c5a7f;};return _0x1298();}const bold=_0xe09a8e=>_0xc41c0(0x14b)+_0xe09a8e+'\x1b[0m',link=(_0x4b03ac,_0xabdad8)=>'\x1b]8;;file://'+_0x4b03ac+'\x07'+(_0xabdad8||_0x4b03ac)+'\x1b]8;;\x07';async function getOpencodePluginStatus(){const _0x5ebb0e=_0xc41c0,_0x342f08={'akbXI':function(_0xddab06,_0x134a3b){return _0xddab06(_0x134a3b);},'bsToI':_0x5ebb0e(0x186),'ZFtTY':function(_0x271497,_0x126175){return _0x271497(_0x126175);},'FYSDz':function(_0x5478ac,_0x523bab,_0xdada2c,_0x3e957c){return _0x5478ac(_0x523bab,_0xdada2c,_0x3e957c);},'pkmaI':'debug','hCIUy':'pipe','ClSiG':_0x5ebb0e(0x177),'fcfYu':'close'};return new Promise(_0x196082=>{const _0x572e29=_0x5ebb0e,_0x94ffe9={'ESKZn':_0x572e29(0x18b),'EWFGW':function(_0x349fb9,_0x2e732b){return _0x349fb9!==_0x2e732b;},'oLDVQ':function(_0x398765,_0x42f390){return _0x342f08['akbXI'](_0x398765,_0x42f390);},'dxvAm':_0x342f08['bsToI'],'AQNtJ':function(_0x4d1a81,_0x5808a4){return _0x4d1a81>_0x5808a4;},'sExLQ':function(_0x3ac7a3,_0x28d9f4){const _0x42273c=_0x572e29;return _0x342f08[_0x42273c(0x15b)](_0x3ac7a3,_0x28d9f4);}},_0x569f00=_0x342f08['FYSDz'](spawn,'opencode',[_0x342f08['pkmaI'],'config'],{'stdio':[_0x572e29(0x171),_0x342f08[_0x572e29(0x13a)],_0x572e29(0x145)]});let _0x5d4ed1='';_0x569f00[_0x572e29(0x152)]?.['on'](_0x342f08['ClSiG'],_0x2b5d2d=>{_0x5d4ed1+=_0x2b5d2d['toString']();}),_0x569f00[_0x572e29(0x18a)]?.['on'](_0x572e29(0x177),_0x24a1b1=>{const _0x1790c7=_0x572e29;_0x5d4ed1+=_0x24a1b1[_0x1790c7(0x192)]();}),_0x569f00['on']('error',()=>{const _0x125328=_0x572e29;_0x196082({'status':_0x94ffe9[_0x125328(0x19d)]});}),_0x569f00['on'](_0x342f08[_0x572e29(0x14c)],_0x25404a=>{const _0x35b447=_0x572e29;if(_0x94ffe9[_0x35b447(0x15a)](_0x25404a,0x0)){_0x94ffe9[_0x35b447(0x160)](_0x196082,{'status':_0x94ffe9[_0x35b447(0x19d)]});return;}const _0x30a48d=_0x5d4ed1['trim']();let _0x1f7692=null;if(_0x30a48d)try{_0x1f7692=JSON[_0x35b447(0x16f)](_0x30a48d);}catch{const _0x2fac9a=_0x30a48d['match'](/\{[\s\S]*\}$/);if(_0x2fac9a)try{_0x1f7692=JSON['parse'](_0x2fac9a[0x0]);}catch{_0x1f7692=null;}}const _0x5aff46=Array['isArray'](_0x1f7692?.['plugin'])?_0x1f7692?.[_0x35b447(0x151)]:[],_0xd2de04=_0x5aff46[_0x35b447(0x188)](_0x33bc5c=>{const _0x34d0d5=_0x35b447;if(typeof _0x33bc5c!==_0x34d0d5(0x173))return![];return _0x33bc5c['includes']('@ranger-testing/opencode-plugin')||_0x33bc5c[_0x34d0d5(0x16d)](_0x34d0d5(0x14a));});if(_0xd2de04){_0x196082({'status':_0x94ffe9[_0x35b447(0x164)],'details':_0x5aff46[_0x35b447(0x159)]>0x0?_0x5aff46['length']+_0x35b447(0x18c):undefined});return;}if(_0x94ffe9[_0x35b447(0x144)](_0x5aff46['length'],0x0)){_0x94ffe9['sExLQ'](_0x196082,{'status':'not_configured','details':_0x5aff46[_0x35b447(0x159)]+_0x35b447(0x18c)});return;}_0x196082({'status':'not_configured'});});});}async function getSkillsFromDir(_0x5900a8,_0x49a95e){const _0x1921d6=_0xc41c0,_0x3fb09f={'WTRSy':function(_0x5f540c,_0x4e2e77){return _0x5f540c(_0x4e2e77);},'KOaDu':function(_0x16c538,_0x1c815b,_0xbfa5ce,_0x504344){return _0x16c538(_0x1c815b,_0xbfa5ce,_0x504344);},'VHibt':function(_0x11a47a,_0x13c4f9,_0xbf8be9){return _0x11a47a(_0x13c4f9,_0xbf8be9);},'OweNw':'utf-8'};if(!_0x3fb09f['WTRSy'](existsSync,_0x5900a8))return[];const _0x8443b7=[];try{const _0x1b3b58=await readdir(_0x5900a8,{'withFileTypes':!![]});for(const _0x3dd47d of _0x1b3b58){if(_0x3dd47d[_0x1921d6(0x181)]()){const _0x276a6a=_0x3fb09f['KOaDu'](join,_0x5900a8,_0x3dd47d[_0x1921d6(0x15d)],'SKILL.md');if(existsSync(_0x276a6a)){let _0x201597=_0x3dd47d['name'];try{const _0x83c7c6=await _0x3fb09f['VHibt'](readFile,_0x276a6a,_0x3fb09f[_0x1921d6(0x19b)]),_0x349544=_0x83c7c6[_0x1921d6(0x143)](/name:\s*(.+)/);_0x349544&&(_0x201597=_0x349544[0x1][_0x1921d6(0x170)]());}catch{}_0x8443b7[_0x1921d6(0x147)]({'name':_0x3dd47d[_0x1921d6(0x15d)],'displayName':_0x201597,'path':_0x276a6a,'level':_0x49a95e});}}}}catch{return[];}return _0x8443b7;}async function getInstalledSkills(){const _0x63d103=_0xc41c0,_0x36b5e3={'gIYNo':'project'},[_0x572e8a,_0x5c6fc4]=await Promise['all']([getSkillsFromDir(getProjectSkillsDir(),_0x36b5e3[_0x63d103(0x198)]),getSkillsFromDir(getUserSkillsDir(),_0x63d103(0x141))]);return{'project':_0x572e8a,'user':_0x5c6fc4};}async function getEnvironments(){const _0x243cb7=_0xc41c0,_0x334e30={'lihKW':_0x243cb7(0x139),'ztddo':function(_0x1a0b4b,_0x2d0057,_0x574102){return _0x1a0b4b(_0x2d0057,_0x574102);},'jRzfT':function(_0x5ece43,_0x5606b2){return _0x5ece43(_0x5606b2);},'Srldm':'(not\x20found)','eqMFM':function(_0x9f7fcc,_0x11f3b2){return _0x9f7fcc(_0x11f3b2);}},{envNames:_0x5dfe46,activeEnv:_0x3ccf54}=await getEnvNames(),_0x19b4c3=getRangerDir();if(!_0x334e30[_0x243cb7(0x14e)](existsSync,_0x19b4c3))return{'envs':[],'activeEnv':null};const _0x1660ef=_0x5dfe46['map'](_0x43e6fb=>{const _0x134d7d=_0x243cb7,_0x5f21da=getEnvDir(_0x43e6fb),_0x5ef797=join(_0x5f21da,_0x334e30['lihKW']),_0xff2afc=join(_0x5f21da,_0x134d7d(0x179)),_0x33f650=_0x334e30[_0x134d7d(0x155)](join,_0x5f21da,_0x134d7d(0x13c));return{'name':_0x43e6fb,'settingsPath':_0x334e30[_0x134d7d(0x137)](existsSync,_0x5ef797)?_0x5ef797:_0x334e30[_0x134d7d(0x13f)],'hasPlaintextAuth':existsSync(_0xff2afc),'hasEncryptedAuth':existsSync(_0x33f650),'isActive':_0x43e6fb===_0x3ccf54};});return{'envs':_0x1660ef,'activeEnv':_0x3ccf54};}export async function status(){const _0xd12cb5=_0xc41c0,_0x8646ab={'QrrcI':'\x0a📊\x20Ranger\x20Status\x0a','tmgOI':function(_0x3623e3){return _0x3623e3();},'EFfMh':function(_0x1a99a1,_0x334dad){return _0x1a99a1(_0x334dad);},'PjliJ':function(_0x57fd91,_0x289072){return _0x57fd91(_0x289072);},'Yulfo':function(_0xa2408f){return _0xa2408f();},'rFyzK':function(_0x3583a5){return _0x3583a5();},'fOwKF':function(_0x3b4a19,_0x57a53b){return _0x3b4a19(_0x57a53b);},'UDQHk':function(_0x1db805){return _0x1db805();},'yOlqd':'\x0a---\x20OpenCode\x20Plugin\x20---','XCGkc':function(_0x233ff5,_0xf8cafc){return _0x233ff5(_0xf8cafc);},'brDmH':function(_0x2c3198,_0x26bfcf){return _0x2c3198===_0x26bfcf;},'PSNot':_0xd12cb5(0x138),'ilmcd':_0xd12cb5(0x18e),'kdGlO':_0xd12cb5(0x18f),'MuPja':'ranger@trailhead','jjaTW':_0xd12cb5(0x161),'PtTil':'disabled','fmdwY':function(_0x5af2b5,_0x1415a6){return _0x5af2b5+_0x1415a6;},'MicIz':_0xd12cb5(0x19c),'QZxkX':_0xd12cb5(0x133),'PGwxb':function(_0x3b1a5f,_0x39c48e,_0x3f9b8e){return _0x3b1a5f(_0x39c48e,_0x3f9b8e);},'uExJs':function(_0x3ddcc4,_0x30637a){return _0x3ddcc4(_0x30637a);},'ZMuso':function(_0xc67c2b,_0x1e18fe){return _0xc67c2b>_0x1e18fe;},'kywBf':function(_0x138c7e,_0x3be351){return _0x138c7e(_0x3be351);},'IMBvy':function(_0x36bce0){return _0x36bce0();},'SFBCv':function(_0x42e901,_0x2a1e2a){return _0x42e901+_0x2a1e2a;},'RVajP':function(_0xb35f5c,_0x939117){return _0xb35f5c(_0x939117);},'WfVxU':function(_0x5990f8,_0x19be7f){return _0x5990f8===_0x19be7f;},'vhYHg':_0xd12cb5(0x157),'RMvhD':'none','OGccY':function(_0x58638e,_0x309195){return _0x58638e!==_0x309195;},'HnSJL':_0xd12cb5(0x167),'JoPPU':function(_0x48835e,_0x3a0cf5){return _0x48835e(_0x3a0cf5);}};console['log'](_0x8646ab['QrrcI']);const _0x3dc3b2=process['cwd'](),_0x3b6cc1=_0x8646ab[_0xd12cb5(0x15c)](getRangerDir);if(!existsSync(_0x3b6cc1)){console['log'](_0xd12cb5(0x149)+link(_0x3dc3b2,bold(basename(_0x3dc3b2)))),console[_0xd12cb5(0x16a)]('\x0aRanger\x20has\x20not\x20been\x20initialized\x20in\x20this\x20directory.'),console['log']('\x20\x20Run:\x20ranger\x20setup\x20[token]\x0a');return;}console[_0xd12cb5(0x16a)](_0xd12cb5(0x149)+link(_0x3dc3b2,_0x8646ab['EFfMh'](bold,_0x8646ab['PjliJ'](basename,_0x3dc3b2))));const _0x39fcea=_0x8646ab[_0xd12cb5(0x18d)](getCurrentVersion),_0x197c6a=getLatestVersion();if(_0x197c6a[_0xd12cb5(0x194)]&&_0x197c6a['version']!==_0x39fcea)console['log']('Version:\x20'+_0x39fcea+_0xd12cb5(0x134)+_0x197c6a[_0xd12cb5(0x194)]+')'),console['log']('\x20\x20Run:\x20ranger\x20update');else _0x197c6a[_0xd12cb5(0x194)]?console['log']('Version:\x20'+_0x39fcea+_0xd12cb5(0x17e)):console[_0xd12cb5(0x16a)]('Version:\x20'+_0x39fcea);const _0x1b8433=await _0x8646ab[_0xd12cb5(0x190)](getToken);if(_0x1b8433){const _0x313612=await _0x8646ab[_0xd12cb5(0x148)](getCurrentUser,_0x1b8433);_0x313612[_0xd12cb5(0x135)]?console['log']('Organization:\x20'+bold(_0x313612[_0xd12cb5(0x141)][_0xd12cb5(0x19f)])):(console[_0xd12cb5(0x16a)](_0xd12cb5(0x175)),console[_0xd12cb5(0x16a)](_0xd12cb5(0x168)));}else console['log'](_0xd12cb5(0x153)),console['log'](_0xd12cb5(0x168));process['env'][_0xd12cb5(0x13d)]&&(console[_0xd12cb5(0x16a)]('API\x20Environment:\x20'+_0x8646ab['UDQHk'](getCurrentEnvironment)),console[_0xd12cb5(0x16a)](_0xd12cb5(0x163)+_0x8646ab['rFyzK'](getApiBaseUrl)));console['log'](_0x8646ab['yOlqd']);const _0x1d3671=await _0x8646ab[_0xd12cb5(0x18d)](getOpencodePluginStatus);if(_0x1d3671[_0xd12cb5(0x14d)]===_0xd12cb5(0x186))console[_0xd12cb5(0x16a)]('\x20\x20'+_0x8646ab[_0xd12cb5(0x16b)](bold,'@ranger-testing/opencode-plugin')+_0xd12cb5(0x156)),_0x1d3671['details']&&console[_0xd12cb5(0x16a)]('\x20\x20'+_0x1d3671[_0xd12cb5(0x178)]);else _0x8646ab['brDmH'](_0x1d3671['status'],'not_configured')?(console['log'](_0x8646ab['PSNot']),_0x1d3671['details']&&console[_0xd12cb5(0x16a)]('\x20\x20'+_0x1d3671[_0xd12cb5(0x178)]),console[_0xd12cb5(0x16a)](_0x8646ab[_0xd12cb5(0x195)])):console['log']('\x20\x20OpenCode\x20not\x20installed\x20or\x20not\x20available');console['log'](_0x8646ab[_0xd12cb5(0x19a)]);const _0x3f7c41=await _0x8646ab['EFfMh'](getPluginInfo,_0x8646ab[_0xd12cb5(0x17a)]);if(_0x3f7c41){const _0x4d5118=_0x3f7c41['scope']||_0x8646ab['jjaTW'],_0x2e9ac9=_0x3f7c41[_0xd12cb5(0x14f)]?_0xd12cb5(0x14f):_0x8646ab['PtTil'];console['log']('\x20\x20'+bold(_0x8646ab['MuPja'])+':\x20installed\x20('+_0x4d5118+',\x20'+_0x2e9ac9+')');}else console[_0xd12cb5(0x16a)]('\x20\x20Not\x20installed'),console[_0xd12cb5(0x16a)](_0xd12cb5(0x187));console['log']('\x0a---\x20Skills\x20---');const {project:_0x5edb1b,user:_0x137866}=await getInstalledSkills(),_0xcd6985=_0x5edb1b['filter'](_0x5f4015=>RANGER_MANAGED_SKILLS['includes'](_0x5f4015[_0xd12cb5(0x15d)])),_0x4bc395=_0x137866['filter'](_0x5918b1=>RANGER_MANAGED_SKILLS[_0xd12cb5(0x16d)](_0x5918b1['name'])),_0x369442=_0x8646ab[_0xd12cb5(0x13b)](_0xcd6985[_0xd12cb5(0x159)],_0x4bc395['length']);if(_0x8646ab['brDmH'](_0x369442,0x0))console[_0xd12cb5(0x16a)](_0x8646ab['MicIz']),console['log'](_0xd12cb5(0x184));else{if(_0xcd6985['length']>0x0){console[_0xd12cb5(0x16a)](_0x8646ab['QZxkX']);for(const _0x3c04e5 of _0xcd6985){console[_0xd12cb5(0x16a)]('\x20\x20\x20\x20'+bold(_0x3c04e5['displayName'])+':\x20'+_0x8646ab['PGwxb'](link,_0x3c04e5[_0xd12cb5(0x174)],_0x8646ab['uExJs'](basename,_0x3c04e5['path'])));}}if(_0x8646ab[_0xd12cb5(0x185)](_0x4bc395[_0xd12cb5(0x159)],0x0)){console[_0xd12cb5(0x16a)](_0xd12cb5(0x17b));for(const _0x4963f0 of _0x4bc395){console['log'](_0xd12cb5(0x180)+_0x8646ab['kywBf'](bold,_0x4963f0['displayName'])+':\x20'+link(_0x4963f0[_0xd12cb5(0x174)],basename(_0x4963f0['path'])));}}}console[_0xd12cb5(0x16a)]('\x0a---\x20Profiles\x20---');const {envs:_0x455c03,activeEnv:_0x41960b}=await _0x8646ab['IMBvy'](getEnvironments);let _0x28e267=[];if(_0x1b8433)try{_0x28e267=await listCloudProfiles();}catch{}const _0xece26b=_0x8646ab[_0xd12cb5(0x142)](_0x455c03[_0xd12cb5(0x159)],_0x28e267[_0xd12cb5(0x159)]);if(_0x8646ab[_0xd12cb5(0x158)](_0xece26b,0x0))console[_0xd12cb5(0x16a)](_0xd12cb5(0x162)),console[_0xd12cb5(0x16a)](_0xd12cb5(0x17d));else{if(_0xece26b>0x5){const _0x2cc6cd=[];_0x8646ab[_0xd12cb5(0x185)](_0x28e267['length'],0x0)&&_0x2cc6cd['push'](_0x28e267['length']+'\x20cloud'),_0x8646ab[_0xd12cb5(0x185)](_0x455c03[_0xd12cb5(0x159)],0x0)&&_0x2cc6cd[_0xd12cb5(0x147)](_0x455c03[_0xd12cb5(0x159)]+'\x20local'),console['log'](_0xece26b+_0xd12cb5(0x16e)+_0x2cc6cd[_0xd12cb5(0x136)](',\x20')+')'),_0x41960b&&console['log'](_0xd12cb5(0x169)+_0x8646ab['RVajP'](bold,_0x41960b)),console[_0xd12cb5(0x16a)]('\x20\x20Run:\x20ranger\x20profile\x20ls\x20\x20(list\x20all)');}else{for(const _0x43de5a of _0x28e267){const _0x20037e=_0x8646ab[_0xd12cb5(0x183)](_0x43de5a[_0xd12cb5(0x15d)],_0x41960b)?_0x8646ab[_0xd12cb5(0x197)]:'';console['log']('\x20\x20'+bold(_0x43de5a[_0xd12cb5(0x15d)])+'\x20[cloud]'+_0x20037e);const _0x17d1bb=_0x43de5a[_0xd12cb5(0x15f)]?_0xd12cb5(0x191)+_0x43de5a['sessionUpdatedAt']+')':_0xd12cb5(0x15e);console[_0xd12cb5(0x16a)]('\x20\x20\x20\x20Session:\x20'+_0x17d1bb);}const _0x7f6a2e=new Set(_0x28e267['map'](_0x26531c=>_0x26531c[_0xd12cb5(0x15d)]));for(const _0x2a27ee of _0x455c03){if(_0x7f6a2e['has'](_0x2a27ee['name']))continue;const _0x4a7bc4=_0x2a27ee[_0xd12cb5(0x165)]?_0xd12cb5(0x157):'',_0x2af7a9=_0x2a27ee['hasEncryptedAuth']?'encrypted':_0x2a27ee[_0xd12cb5(0x17c)]?_0xd12cb5(0x154):_0x8646ab[_0xd12cb5(0x193)];console[_0xd12cb5(0x16a)]('\x20\x20'+bold(_0x2a27ee[_0xd12cb5(0x15d)])+'\x20[local]'+_0x4a7bc4),console['log'](_0xd12cb5(0x13e)+_0x2af7a9),_0x8646ab['OGccY'](_0x2a27ee['settingsPath'],_0x8646ab[_0xd12cb5(0x16c)])&&console[_0xd12cb5(0x16a)](_0xd12cb5(0x166)+link(_0x2a27ee[_0xd12cb5(0x132)],_0x8646ab['JoPPU'](basename,_0x2a27ee['settingsPath'])));}if(!_0x41960b){console[_0xd12cb5(0x16a)]('\x0a\x20\x20No\x20active\x20profile\x20set');const _0x29b18d=[..._0x28e267[_0xd12cb5(0x189)](_0x1aca85=>_0x1aca85['name']),..._0x455c03['filter'](_0x4c986e=>!_0x7f6a2e[_0xd12cb5(0x196)](_0x4c986e[_0xd12cb5(0x15d)]))['map'](_0x3296c5=>_0x3296c5['name'])];console[_0xd12cb5(0x16a)](_0xd12cb5(0x146)+_0x29b18d['join'](',\x20')+')');}}}console[_0xd12cb5(0x16a)]('');}
1
+ const _0x24834b=_0x1e89;(function(_0x593ddf,_0x166141){const _0xe24b44=_0x1e89,_0x2d10a1=_0x593ddf();while(!![]){try{const _0x3693ae=parseInt(_0xe24b44(0x13d))/0x1*(-parseInt(_0xe24b44(0xdf))/0x2)+-parseInt(_0xe24b44(0x109))/0x3*(-parseInt(_0xe24b44(0x111))/0x4)+-parseInt(_0xe24b44(0xdb))/0x5*(-parseInt(_0xe24b44(0x11f))/0x6)+-parseInt(_0xe24b44(0x129))/0x7+parseInt(_0xe24b44(0x12c))/0x8+-parseInt(_0xe24b44(0x101))/0x9+parseInt(_0xe24b44(0x103))/0xa;if(_0x3693ae===_0x166141)break;else _0x2d10a1['push'](_0x2d10a1['shift']());}catch(_0x232665){_0x2d10a1['push'](_0x2d10a1['shift']());}}}(_0x5737,0xc4f35));import{readFile,readdir}from'fs/promises';import{join,basename}from'path';import{existsSync}from'fs';import{getToken}from'./utils/keychain.js';import{getCurrentVersion,getLatestVersion}from'./utils/version.js';import{getApiBaseUrl,getCurrentEnvironment}from'./utils/environment.js';import{getProjectSkillsDir,getUserSkillsDir}from'./utils/claudeConfig.js';import{getEnvNames}from'./env.js';function _0x1e89(_0x532b63,_0x570493){_0x532b63=_0x532b63-0xd9;const _0x573733=_0x5737();let _0x1e893a=_0x573733[_0x532b63];return _0x1e893a;}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';function _0x5737(){const _0x302f86=['aJBVb','version','ivpnh','Cuqbg','Organization:\x20','\x20\x20Run:\x20ranger\x20update','ogklG','\x20(active)','LadmR','UARvX','isArray','toString','scope','274442XVyzXV','name','user','length','settingsPath','\x20(up\x20to\x20date)','5eMdOTw','hxvRw','sessionUpdatedAt','wHhGO','8vEBnue','match','\x0a---\x20Skills\x20---','TnZdp','has','stdout','DsRkA','\x20\x20Run:\x20ranger\x20profile\x20use\x20<profile-name>\x20\x20(available:\x20','ranger@trailhead','PofCe','awXLK','configured','QsEwe','\x0a📊\x20Ranger\x20Status\x0a','jDRvT','\x20\x20Active:\x20','Root:\x20','path','\x20\x20OpenCode\x20not\x20installed\x20or\x20not\x20available','MEXcW','No\x20skills\x20installed','success','log','enabled','push','BSkog','No\x20profiles\x20configured','\x1b[0m','API\x20Token:\x20✓\x20Found\x20but\x20invalid\x20or\x20expired','\x20local','auth.json','\x1b]8;;file://','disabled','\x20\x20Project-level:','6906681VlxMvx','pipe','20331400PujUJM','includes','VfQLG','\x20\x20\x20\x20Session:\x20','details','encrypted','90FZjbUv','WZqUM','project','map','trim','tYVRY','(not\x20found)','Version:\x20','43324mkGrgo','\x20\x20\x20\x20Auth:\x20','\x20\x20Run:\x20ranger\x20setup\x20[token]\x0a','join','API\x20Environment:\x20','pBDoa','displayName','no\x20session','@ranger-testing/opencode-plugin','\x20\x20User-level:','plugin','\x20\x20\x20\x20','XWXIX','cached\x20(updated\x20','8540886bGpvAY','not_configured','parse','OqDdn','\x20\x20Run:\x20ranger\x20setup\x20[token]\x20\x20(includes\x20plugin\x20installation)','string','\x20plugin(s)\x20configured','HeNZI','YtREg','debug','11081560QOmvqc','data','YpzLL','3787320crGGUB','\x20\x20Not\x20installed',':\x20installed\x20(','nMFSB'];_0x5737=function(){return _0x302f86;};return _0x5737();}import{spawn}from'child_process';const bold=_0x4b4c7e=>'\x1b[1m'+_0x4b4c7e+_0x24834b(0xfa),link=(_0x17f150,_0x569184)=>_0x24834b(0xfe)+_0x17f150+'\x07'+(_0x569184||_0x17f150)+'\x1b]8;;\x07';async function getOpencodePluginStatus(){const _0xb6f4f0=_0x24834b,_0x4a5ad4={'WZqUM':function(_0x1fbb49,_0x5e8b4f){return _0x1fbb49!==_0x5e8b4f;},'MEXcW':'not_installed','nMFSB':function(_0x42885c,_0x56cd24){return _0x42885c(_0x56cd24);},'aJBVb':_0xb6f4f0(0x124),'XqikE':_0xb6f4f0(0x119),'lDLtm':function(_0x291993,_0x33207b,_0x4f6323,_0x53fb38){return _0x291993(_0x33207b,_0x4f6323,_0x53fb38);},'fsCwh':_0xb6f4f0(0x128),'bHFkw':'ignore','BSkog':_0xb6f4f0(0x102),'cKxFU':_0xb6f4f0(0x12a)};return new Promise(_0x18362f=>{const _0x5ce777=_0xb6f4f0,_0x1fce18={'NBGlW':function(_0x36ccf6,_0x42c985){return _0x36ccf6(_0x42c985);},'rQijF':_0x4a5ad4[_0x5ce777(0xf2)],'UTxCy':function(_0x144759,_0xc2477d){const _0x45ba57=_0x5ce777;return _0x4a5ad4[_0x45ba57(0x10a)](_0x144759,_0xc2477d);},'ikXps':_0x4a5ad4[_0x5ce777(0x130)],'PofCe':_0x4a5ad4['XqikE']},_0x2ed1e9=_0x4a5ad4['lDLtm'](spawn,'opencode',[_0x4a5ad4['fsCwh'],'config'],{'stdio':[_0x4a5ad4['bHFkw'],_0x4a5ad4[_0x5ce777(0xf8)],_0x4a5ad4['BSkog']]});let _0x464c67='';_0x2ed1e9[_0x5ce777(0xe4)]?.['on'](_0x5ce777(0x12a),_0x2efdf8=>{const _0xc8595f=_0x5ce777;_0x464c67+=_0x2efdf8[_0xc8595f(0x13b)]();}),_0x2ed1e9['stderr']?.['on'](_0x4a5ad4['cKxFU'],_0x516872=>{_0x464c67+=_0x516872['toString']();}),_0x2ed1e9['on']('error',()=>{_0x1fce18['NBGlW'](_0x18362f,{'status':_0x1fce18['rQijF']});}),_0x2ed1e9['on']('close',_0x257fdc=>{const _0x324bf2=_0x5ce777;if(_0x4a5ad4['WZqUM'](_0x257fdc,0x0)){_0x18362f({'status':_0x4a5ad4[_0x324bf2(0xf2)]});return;}const _0x5d67d5=_0x464c67[_0x324bf2(0x10d)]();let _0x175653=null;if(_0x5d67d5)try{_0x175653=JSON[_0x324bf2(0x121)](_0x5d67d5);}catch{const _0x3f40cc=_0x5d67d5[_0x324bf2(0xe0)](/\{[\s\S]*\}$/);if(_0x3f40cc)try{_0x175653=JSON['parse'](_0x3f40cc[0x0]);}catch{_0x175653=null;}}const _0x1cabc1=Array[_0x324bf2(0x13a)](_0x175653?.['plugin'])?_0x175653?.[_0x324bf2(0x11b)]:[],_0x500934=_0x1cabc1['some'](_0x172e86=>{const _0x4a0e52=_0x324bf2;if(_0x1fce18['UTxCy'](typeof _0x172e86,_0x1fce18['ikXps']))return![];return _0x172e86['includes'](_0x1fce18[_0x4a0e52(0xe8)])||_0x172e86[_0x4a0e52(0x104)]('opencode-plugin');});if(_0x500934){_0x4a5ad4[_0x324bf2(0x12f)](_0x18362f,{'status':'configured','details':_0x1cabc1[_0x324bf2(0x140)]>0x0?_0x1cabc1['length']+_0x324bf2(0x125):undefined});return;}if(_0x1cabc1['length']>0x0){_0x18362f({'status':_0x324bf2(0x120),'details':_0x1cabc1[_0x324bf2(0x140)]+'\x20plugin(s)\x20configured'});return;}_0x4a5ad4['nMFSB'](_0x18362f,{'status':_0x324bf2(0x120)});});});}async function getSkillsFromDir(_0x26fa73,_0x5f2321){const _0x1238c1=_0x24834b,_0x7360fc={'gTBYw':function(_0x51cda6,_0x45072f){return _0x51cda6(_0x45072f);},'HeNZI':function(_0x2a0ad1,_0x346989,_0x3aa35e){return _0x2a0ad1(_0x346989,_0x3aa35e);},'tYVRY':'SKILL.md','OqDdn':'utf-8'};if(!_0x7360fc['gTBYw'](existsSync,_0x26fa73))return[];const _0x2795f7=[];try{const _0x2d92db=await _0x7360fc[_0x1238c1(0x126)](readdir,_0x26fa73,{'withFileTypes':!![]});for(const _0x11a123 of _0x2d92db){if(_0x11a123['isDirectory']()){const _0x3e3f1c=join(_0x26fa73,_0x11a123[_0x1238c1(0x13e)],_0x7360fc[_0x1238c1(0x10e)]);if(existsSync(_0x3e3f1c)){let _0x2524fb=_0x11a123['name'];try{const _0x5f2118=await _0x7360fc[_0x1238c1(0x126)](readFile,_0x3e3f1c,_0x7360fc[_0x1238c1(0x122)]),_0x1e33ff=_0x5f2118[_0x1238c1(0xe0)](/name:\s*(.+)/);_0x1e33ff&&(_0x2524fb=_0x1e33ff[0x1][_0x1238c1(0x10d)]());}catch{}_0x2795f7[_0x1238c1(0xf7)]({'name':_0x11a123[_0x1238c1(0x13e)],'displayName':_0x2524fb,'path':_0x3e3f1c,'level':_0x5f2321});}}}}catch{return[];}return _0x2795f7;}async function getInstalledSkills(){const _0x2b0c75=_0x24834b,_0xe9153a={'aIVbG':function(_0x5280a7){return _0x5280a7();},'szmck':function(_0x4709dd,_0x5cb7cc,_0x1c5250){return _0x4709dd(_0x5cb7cc,_0x1c5250);},'YvnGE':function(_0x4ed36b){return _0x4ed36b();},'fVRud':'user'},[_0x5e999e,_0x3fd117]=await Promise['all']([getSkillsFromDir(_0xe9153a['aIVbG'](getProjectSkillsDir),_0x2b0c75(0x10b)),_0xe9153a['szmck'](getSkillsFromDir,_0xe9153a['YvnGE'](getUserSkillsDir),_0xe9153a['fVRud'])]);return{'project':_0x5e999e,'user':_0x3fd117};}async function getEnvironments(){const _0x56b038=_0x24834b,_0x54553d={'xIsQQ':'settings.json','JncUR':'auth.json.enc','jDRvT':function(_0x269fe3,_0x39728d){return _0x269fe3===_0x39728d;},'VfQLG':function(_0x248124){return _0x248124();}},{envNames:_0xe0dabf,activeEnv:_0x5ada81}=await getEnvNames(),_0x375c67=_0x54553d[_0x56b038(0x105)](getRangerDir);if(!existsSync(_0x375c67))return{'envs':[],'activeEnv':null};const _0x9ec3fe=_0xe0dabf['map'](_0xf38799=>{const _0x53559d=_0x56b038,_0x201d5a=getEnvDir(_0xf38799),_0x2f9a4b=join(_0x201d5a,_0x54553d['xIsQQ']),_0x21ba06=join(_0x201d5a,_0x53559d(0xfd)),_0x10215d=join(_0x201d5a,_0x54553d['JncUR']);return{'name':_0xf38799,'settingsPath':existsSync(_0x2f9a4b)?_0x2f9a4b:'(not\x20found)','hasPlaintextAuth':existsSync(_0x21ba06),'hasEncryptedAuth':existsSync(_0x10215d),'isActive':_0x54553d[_0x53559d(0xed)](_0xf38799,_0x5ada81)};});return{'envs':_0x9ec3fe,'activeEnv':_0x5ada81};}export async function status(){const _0x480e48=_0x24834b,_0x4dec1a={'HKIZL':_0x480e48(0xec),'Cuqbg':function(_0xb9a948,_0x3a8d16){return _0xb9a948(_0x3a8d16);},'YtREg':function(_0x25edf0){return _0x25edf0();},'wHhGO':function(_0x33c583,_0x549f37){return _0x33c583!==_0x549f37;},'VlMjb':function(_0x14baec){return _0x14baec();},'KWDXF':function(_0x1f578a,_0x22529d){return _0x1f578a(_0x22529d);},'LadmR':function(_0x1a845f){return _0x1a845f();},'DsWGz':function(_0x80c421,_0x30fe23){return _0x80c421===_0x30fe23;},'UARvX':_0x480e48(0xea),'pBDoa':_0x480e48(0x119),'ivpnh':function(_0x284b67,_0xba856e){return _0x284b67(_0xba856e);},'hKYkn':'enabled','DsRkA':_0x480e48(0xff),'hxvRw':_0x480e48(0xe7),'TnZdp':_0x480e48(0x12d),'UsGgQ':_0x480e48(0x123),'awXLK':_0x480e48(0x100),'PwANx':function(_0x5c98cf,_0x2f0259){return _0x5c98cf(_0x2f0259);},'QsEwe':_0x480e48(0x11a),'kfwjr':function(_0x1a39a2,_0x38e495,_0x2829f7){return _0x1a39a2(_0x38e495,_0x2829f7);},'THSIH':'\x0a---\x20Profiles\x20---','XWXIX':function(_0x26ee44,_0x1c1765){return _0x26ee44>_0x1c1765;},'ogklG':function(_0x12af0d,_0x287cf4){return _0x12af0d(_0x287cf4);},'YpzLL':_0x480e48(0x137),'FTIWS':'plaintext'};console['log'](_0x4dec1a['HKIZL']);const _0x1efcfe=process['cwd'](),_0x946f2f=getRangerDir();if(!_0x4dec1a['Cuqbg'](existsSync,_0x946f2f)){console[_0x480e48(0xf5)](_0x480e48(0xef)+link(_0x1efcfe,_0x4dec1a['Cuqbg'](bold,basename(_0x1efcfe)))),console['log']('\x0aRanger\x20has\x20not\x20been\x20initialized\x20in\x20this\x20directory.'),console[_0x480e48(0xf5)](_0x480e48(0x113));return;}console[_0x480e48(0xf5)](_0x480e48(0xef)+link(_0x1efcfe,bold(basename(_0x1efcfe))));const _0x40b989=_0x4dec1a[_0x480e48(0x127)](getCurrentVersion),_0x27a7aa=_0x4dec1a['YtREg'](getLatestVersion);if(_0x27a7aa['version']&&_0x4dec1a[_0x480e48(0xde)](_0x27a7aa[_0x480e48(0x131)],_0x40b989))console[_0x480e48(0xf5)](_0x480e48(0x110)+_0x40b989+'\x20(latest:\x20'+_0x27a7aa['version']+')'),console[_0x480e48(0xf5)](_0x480e48(0x135));else _0x27a7aa[_0x480e48(0x131)]?console[_0x480e48(0xf5)]('Version:\x20'+_0x40b989+_0x480e48(0xda)):console[_0x480e48(0xf5)](_0x480e48(0x110)+_0x40b989);const _0x752815=await _0x4dec1a['VlMjb'](getToken);if(_0x752815){const _0x3dc6e5=await _0x4dec1a[_0x480e48(0x133)](getCurrentUser,_0x752815);_0x3dc6e5[_0x480e48(0xf4)]?console['log'](_0x480e48(0x134)+_0x4dec1a['KWDXF'](bold,_0x3dc6e5[_0x480e48(0x13f)]['organizationName'])):(console[_0x480e48(0xf5)](_0x480e48(0xfb)),console[_0x480e48(0xf5)]('\x20\x20Run:\x20ranger\x20setup\x20[token]'));}else console[_0x480e48(0xf5)]('API\x20Token:\x20✗\x20Not\x20found'),console['log']('\x20\x20Run:\x20ranger\x20setup\x20[token]');process['env']['DEBUG']&&(console[_0x480e48(0xf5)](_0x480e48(0x115)+getCurrentEnvironment()),console[_0x480e48(0xf5)]('API\x20URL:\x20'+getApiBaseUrl()));console[_0x480e48(0xf5)]('\x0a---\x20OpenCode\x20Plugin\x20---');const _0x322676=await _0x4dec1a[_0x480e48(0x138)](getOpencodePluginStatus);if(_0x4dec1a['DsWGz'](_0x322676['status'],_0x4dec1a[_0x480e48(0x139)]))console[_0x480e48(0xf5)]('\x20\x20'+_0x4dec1a['Cuqbg'](bold,_0x4dec1a[_0x480e48(0x116)])+':\x20configured'),_0x322676[_0x480e48(0x107)]&&console['log']('\x20\x20'+_0x322676['details']);else _0x322676['status']==='not_configured'?(console[_0x480e48(0xf5)]('\x20\x20Not\x20configured'),_0x322676[_0x480e48(0x107)]&&console['log']('\x20\x20'+_0x322676['details']),console[_0x480e48(0xf5)]('\x20\x20Run:\x20ranger\x20setup\x20--opencode')):console['log'](_0x480e48(0xf1));console[_0x480e48(0xf5)]('\x0a---\x20Claude\x20Code\x20Plugin\x20---');const _0x45be86=await _0x4dec1a[_0x480e48(0x132)](getPluginInfo,'ranger@trailhead');if(_0x45be86){const _0x56285c=_0x45be86[_0x480e48(0x13c)]||'unknown',_0x15a3ce=_0x45be86[_0x480e48(0xf6)]?_0x4dec1a['hKYkn']:_0x4dec1a[_0x480e48(0xe5)];console['log']('\x20\x20'+_0x4dec1a[_0x480e48(0x133)](bold,_0x4dec1a[_0x480e48(0xdc)])+_0x480e48(0x12e)+_0x56285c+',\x20'+_0x15a3ce+')');}else console['log'](_0x4dec1a[_0x480e48(0xe2)]),console[_0x480e48(0xf5)](_0x4dec1a['UsGgQ']);console[_0x480e48(0xf5)](_0x480e48(0xe1));const {project:_0x5e1530,user:_0x5dc192}=await getInstalledSkills(),_0x3efcf8=_0x5e1530['filter'](_0x355618=>RANGER_MANAGED_SKILLS['includes'](_0x355618['name'])),_0x26a57b=_0x5dc192['filter'](_0x2cc5f8=>RANGER_MANAGED_SKILLS['includes'](_0x2cc5f8['name'])),_0x2c48ea=_0x3efcf8[_0x480e48(0x140)]+_0x26a57b['length'];if(_0x2c48ea===0x0)console['log'](_0x480e48(0xf3)),console['log']('\x20\x20Run:\x20ranger\x20skillup');else{if(_0x3efcf8['length']>0x0){console[_0x480e48(0xf5)](_0x4dec1a[_0x480e48(0xe9)]);for(const _0x5928c4 of _0x3efcf8){console['log'](_0x480e48(0x11c)+_0x4dec1a['PwANx'](bold,_0x5928c4[_0x480e48(0x117)])+':\x20'+link(_0x5928c4['path'],basename(_0x5928c4[_0x480e48(0xf0)])));}}if(_0x26a57b[_0x480e48(0x140)]>0x0){console[_0x480e48(0xf5)](_0x4dec1a[_0x480e48(0xeb)]);for(const _0x1e7133 of _0x26a57b){console[_0x480e48(0xf5)]('\x20\x20\x20\x20'+bold(_0x1e7133['displayName'])+':\x20'+_0x4dec1a['kfwjr'](link,_0x1e7133['path'],basename(_0x1e7133[_0x480e48(0xf0)])));}}}console['log'](_0x4dec1a['THSIH']);const {envs:_0x291eb0,activeEnv:_0x48413f}=await _0x4dec1a['LadmR'](getEnvironments);let _0x6878b=[];if(_0x752815)try{_0x6878b=await listCloudProfiles();}catch{}const _0x4c5bc5=_0x291eb0[_0x480e48(0x140)]+_0x6878b[_0x480e48(0x140)];if(_0x4c5bc5===0x0)console[_0x480e48(0xf5)](_0x480e48(0xf9)),console[_0x480e48(0xf5)]('\x20\x20Run:\x20ranger\x20profile\x20add\x20<profile-name>');else{if(_0x4c5bc5>0x5){const _0x23aff0=[];_0x4dec1a[_0x480e48(0x11d)](_0x6878b[_0x480e48(0x140)],0x0)&&_0x23aff0['push'](_0x6878b['length']+'\x20cloud'),_0x291eb0[_0x480e48(0x140)]>0x0&&_0x23aff0[_0x480e48(0xf7)](_0x291eb0['length']+_0x480e48(0xfc)),console[_0x480e48(0xf5)](_0x4c5bc5+'\x20profiles\x20configured\x20('+_0x23aff0[_0x480e48(0x114)](',\x20')+')'),_0x48413f&&console['log'](_0x480e48(0xee)+_0x4dec1a[_0x480e48(0x136)](bold,_0x48413f)),console['log']('\x20\x20Run:\x20ranger\x20profile\x20ls\x20\x20(list\x20all)');}else{for(const _0x49872f of _0x6878b){const _0x202adc=_0x49872f[_0x480e48(0x13e)]===_0x48413f?'\x20(active)':'';console['log']('\x20\x20'+_0x4dec1a['KWDXF'](bold,_0x49872f[_0x480e48(0x13e)])+'\x20[cloud]'+_0x202adc);const _0x24110e=_0x49872f[_0x480e48(0xdd)]?_0x480e48(0x11e)+_0x49872f[_0x480e48(0xdd)]+')':_0x480e48(0x118);console[_0x480e48(0xf5)](_0x480e48(0x106)+_0x24110e);}const _0x5e46b1=new Set(_0x6878b['map'](_0x3613a0=>_0x3613a0['name']));for(const _0x5f4d41 of _0x291eb0){if(_0x5e46b1[_0x480e48(0xe3)](_0x5f4d41[_0x480e48(0x13e)]))continue;const _0x124565=_0x5f4d41['isActive']?_0x4dec1a[_0x480e48(0x12b)]:'',_0x2ee8e4=_0x5f4d41['hasEncryptedAuth']?_0x480e48(0x108):_0x5f4d41['hasPlaintextAuth']?_0x4dec1a['FTIWS']:'none';console[_0x480e48(0xf5)]('\x20\x20'+bold(_0x5f4d41['name'])+'\x20[local]'+_0x124565),console['log'](_0x480e48(0x112)+_0x2ee8e4),_0x5f4d41['settingsPath']!==_0x480e48(0x10f)&&console['log']('\x20\x20\x20\x20Settings:\x20'+link(_0x5f4d41['settingsPath'],basename(_0x5f4d41[_0x480e48(0xd9)])));}if(!_0x48413f){console['log']('\x0a\x20\x20No\x20active\x20profile\x20set');const _0x2253b0=[..._0x6878b[_0x480e48(0x10c)](_0x4cb1bc=>_0x4cb1bc[_0x480e48(0x13e)]),..._0x291eb0['filter'](_0x56de53=>!_0x5e46b1['has'](_0x56de53[_0x480e48(0x13e)]))['map'](_0xf795f2=>_0xf795f2[_0x480e48(0x13e)])];console[_0x480e48(0xf5)](_0x480e48(0xe6)+_0x2253b0['join'](',\x20')+')');}}}console['log']('');}