@ranger-testing/ranger-cli 3.0.1-alpha.46ed70b-30 → 3.0.1-alpha.4fcf7f7-33

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 (84) hide show
  1. package/build/cli.js +1 -1
  2. package/build/commands/addEnv.js +1 -1
  3. package/build/commands/authEncrypt.js +1 -1
  4. package/build/commands/clean.js +1 -1
  5. package/build/commands/config.js +1 -1
  6. package/build/commands/deleteProfile.js +1 -1
  7. package/build/commands/env.js +1 -1
  8. package/build/commands/feature.js +1 -1
  9. package/build/commands/hook.js +1 -1
  10. package/build/commands/hooks/autoPrompt.js +1 -1
  11. package/build/commands/hooks/disable.js +1 -1
  12. package/build/commands/hooks/enable.js +1 -1
  13. package/build/commands/hooks/exitPlanMode.js +1 -1
  14. package/build/commands/hooks/index.js +1 -1
  15. package/build/commands/hooks/output.js +1 -1
  16. package/build/commands/hooks/planReminder.js +1 -1
  17. package/build/commands/hooks/planStart.js +1 -1
  18. package/build/commands/hooks/postEdit.js +1 -1
  19. package/build/commands/hooks/preCompact.js +1 -1
  20. package/build/commands/hooks/sessionEnd.js +1 -1
  21. package/build/commands/hooks/sessionStart.js +1 -1
  22. package/build/commands/hooks/stopHook.js +1 -1
  23. package/build/commands/index.js +1 -1
  24. package/build/commands/login.js +1 -1
  25. package/build/commands/mcpBootstrap.js +1 -1
  26. package/build/commands/migrateProfile.js +1 -1
  27. package/build/commands/setup/claude.js +1 -1
  28. package/build/commands/setup/opencode.js +1 -1
  29. package/build/commands/setupCi.js +1 -1
  30. package/build/commands/skillup.js +1 -1
  31. package/build/commands/start.js +1 -1
  32. package/build/commands/status.js +1 -1
  33. package/build/commands/update.js +1 -1
  34. package/build/commands/updateEnv.js +1 -1
  35. package/build/commands/useEnv.js +1 -1
  36. package/build/commands/utils/activeProfile.js +1 -1
  37. package/build/commands/utils/agentEnv.js +1 -1
  38. package/build/commands/utils/browserSessionsApi.js +1 -1
  39. package/build/commands/utils/claudeConfig.js +1 -1
  40. package/build/commands/utils/claudeOverrideSettings.js +1 -1
  41. package/build/commands/utils/claudePlugin.js +1 -1
  42. package/build/commands/utils/cloudProfile.js +1 -1
  43. package/build/commands/utils/cloudProfileSession.js +1 -1
  44. package/build/commands/utils/crypto.js +1 -1
  45. package/build/commands/utils/desirePathLog.js +1 -1
  46. package/build/commands/utils/deviceAuth.js +1 -1
  47. package/build/commands/utils/environment.js +1 -1
  48. package/build/commands/utils/featureApi.js +1 -1
  49. package/build/commands/utils/fixWebmDuration.js +1 -1
  50. package/build/commands/utils/gitTracked.js +1 -1
  51. package/build/commands/utils/keychain.js +1 -1
  52. package/build/commands/utils/legacyWarning.js +1 -1
  53. package/build/commands/utils/localAgentInstallationsApi.js +1 -1
  54. package/build/commands/utils/matchAuthEnvironment.js +1 -1
  55. package/build/commands/utils/mcpImageBase64.js +1 -1
  56. package/build/commands/utils/model.js +1 -1
  57. package/build/commands/utils/novaActCli.js +1 -1
  58. package/build/commands/utils/opencodeConfig.js +1 -1
  59. package/build/commands/utils/organizationEnvApi.js +1 -0
  60. package/build/commands/utils/playwrightCli.js +1 -1
  61. package/build/commands/utils/profileMessages.js +1 -1
  62. package/build/commands/utils/profileSetupBanner.js +1 -1
  63. package/build/commands/utils/projectsConfig.js +1 -1
  64. package/build/commands/utils/rangerConfig.js +1 -1
  65. package/build/commands/utils/rangerRoot.js +1 -1
  66. package/build/commands/utils/rangerwrightCli.js +1 -1
  67. package/build/commands/utils/resolveProfileContext.js +1 -1
  68. package/build/commands/utils/resolveProfileUrl.js +1 -1
  69. package/build/commands/utils/retry.js +1 -1
  70. package/build/commands/utils/sessionCache.js +1 -1
  71. package/build/commands/utils/settings.js +1 -1
  72. package/build/commands/utils/skillContent.js +1 -1
  73. package/build/commands/utils/skills.js +1 -1
  74. package/build/commands/utils/stitchWebmFiles.js +1 -1
  75. package/build/commands/utils/telemetry.js +1 -1
  76. package/build/commands/utils/tokenRefresh.js +1 -1
  77. package/build/commands/utils/traceSnapshotMapper.js +1 -1
  78. package/build/commands/utils/userApi.js +1 -1
  79. package/build/commands/utils/version.js +1 -1
  80. package/build/commands/verifyFeature.js +1 -1
  81. package/build/commands/verifyFeatureCli.js +1 -1
  82. package/build/commands/verifyFeatureNovaCli.js +1 -1
  83. package/build/commands/verifyFeatureRangerwrightCli.js +1 -1
  84. package/package.json +1 -1
@@ -1 +1 @@
1
- (function(_0x50898f,_0x55a585){var _0x579e7a=_0x2ff6,_0xf8480b=_0x50898f();while(!![]){try{var _0x2c1629=-parseInt(_0x579e7a(0x1a1))/0x1*(-parseInt(_0x579e7a(0x19d))/0x2)+parseInt(_0x579e7a(0x1a0))/0x3*(-parseInt(_0x579e7a(0x1a3))/0x4)+-parseInt(_0x579e7a(0x1a5))/0x5*(parseInt(_0x579e7a(0x19e))/0x6)+parseInt(_0x579e7a(0x1a4))/0x7+-parseInt(_0x579e7a(0x19c))/0x8*(-parseInt(_0x579e7a(0x19f))/0x9)+parseInt(_0x579e7a(0x19a))/0xa*(-parseInt(_0x579e7a(0x19b))/0xb)+parseInt(_0x579e7a(0x1a2))/0xc;if(_0x2c1629===_0x55a585)break;else _0xf8480b['push'](_0xf8480b['shift']());}catch(_0x253bd1){_0xf8480b['push'](_0xf8480b['shift']());}}}(_0x2e92,0xd7769));export{addEnv}from'./addEnv.js';export{clean}from'./clean.js';export{login}from'./login.js';export{start,ensureLocalEnv,ensureChromium,authenticate}from'./start.js';function _0x2e92(){var _0xb421f3=['372sBqxHy','9rMtCMV','34512wKYaWY','1439qaQUuU','28402416ONxpWr','368EPQisV','1828666xjZGDI','129300mVjldg','1137540lUYSIp','22aZkiOJ','434432KdCePp','1514OLJkHR'];_0x2e92=function(){return _0xb421f3;};return _0x2e92();}function _0x2ff6(_0x4be0c5,_0x21b1e4){_0x4be0c5=_0x4be0c5-0x19a;var _0x2e929f=_0x2e92();var _0x2ff6ed=_0x2e929f[_0x4be0c5];return _0x2ff6ed;}export{useEnv}from'./useEnv.js';export{deleteProfile}from'./deleteProfile.js';export{updateEnv}from'./updateEnv.js';export{update}from'./update.js';export{skillup}from'./skillup.js';export{envList}from'./env.js';export{hook}from'./hook.js';export{setupCi}from'./setupCi.js';export{migrateProfile}from'./migrateProfile.js';
1
+ (function(_0x55fe03,_0x4adee3){var _0x2b17d6=_0x14d5,_0x2b79ea=_0x55fe03();while(!![]){try{var _0x45ec2e=-parseInt(_0x2b17d6(0xbc))/0x1+-parseInt(_0x2b17d6(0xbf))/0x2+-parseInt(_0x2b17d6(0xba))/0x3*(parseInt(_0x2b17d6(0xbe))/0x4)+parseInt(_0x2b17d6(0xb8))/0x5*(parseInt(_0x2b17d6(0xbb))/0x6)+-parseInt(_0x2b17d6(0xb9))/0x7*(parseInt(_0x2b17d6(0xb7))/0x8)+-parseInt(_0x2b17d6(0xb6))/0x9*(-parseInt(_0x2b17d6(0xb5))/0xa)+parseInt(_0x2b17d6(0xbd))/0xb;if(_0x45ec2e===_0x4adee3)break;else _0x2b79ea['push'](_0x2b79ea['shift']());}catch(_0x5aa0f8){_0x2b79ea['push'](_0x2b79ea['shift']());}}}(_0x14c6,0xd9078));function _0x14c6(){var _0x1d1b54=['4440422JNCoXD','3573rdqGjW','154572HaxPmZ','134048eKKFpg','38551359BovLAX','3548XwNriw','2567056aakNmI','77890IUsMcQ','558tXCiWx','16GLcQQQ','125KGwtJW'];_0x14c6=function(){return _0x1d1b54;};return _0x14c6();}export{addEnv}from'./addEnv.js';function _0x14d5(_0x5eadde,_0x5196b7){_0x5eadde=_0x5eadde-0xb5;var _0x14c6c8=_0x14c6();var _0x14d5a4=_0x14c6c8[_0x5eadde];return _0x14d5a4;}export{clean}from'./clean.js';export{login}from'./login.js';export{start,ensureLocalEnv,ensureChromium,authenticate}from'./start.js';export{useEnv}from'./useEnv.js';export{deleteProfile}from'./deleteProfile.js';export{updateEnv}from'./updateEnv.js';export{update}from'./update.js';export{skillup}from'./skillup.js';export{envList}from'./env.js';export{hook}from'./hook.js';export{setupCi}from'./setupCi.js';export{migrateProfile}from'./migrateProfile.js';
@@ -1 +1 @@
1
- (function(_0x507d9c,_0x117aee){const _0x433b0c=_0x2d6f,_0x228c74=_0x507d9c();while(!![]){try{const _0x18fdb8=parseInt(_0x433b0c(0x8e))/0x1*(-parseInt(_0x433b0c(0x8d))/0x2)+parseInt(_0x433b0c(0x89))/0x3*(parseInt(_0x433b0c(0x8b))/0x4)+parseInt(_0x433b0c(0x8a))/0x5+parseInt(_0x433b0c(0x8f))/0x6*(parseInt(_0x433b0c(0x99))/0x7)+-parseInt(_0x433b0c(0x8c))/0x8+-parseInt(_0x433b0c(0x93))/0x9+parseInt(_0x433b0c(0x91))/0xa*(parseInt(_0x433b0c(0x92))/0xb);if(_0x18fdb8===_0x117aee)break;else _0x228c74['push'](_0x228c74['shift']());}catch(_0x1d8ee0){_0x228c74['push'](_0x228c74['shift']());}}}(_0x3228,0x3d5be));import{runDeviceAuthFlow}from'./utils/deviceAuth.js';import{getCurrentUser}from'./utils/userApi.js';function _0x3228(){const _0x5b8e86=['2239440flnZkm','9006vWPtvk','1qILfKS','35592UQALhC','iFOWH','7200aRZRKc','7271fIDmzb','4084893GPRmmc','Benuc','fzpuT','NQvsm','Re-authenticating\x20via\x20MCP\x20bootstrap...','VAiQk','112IvonJn','log','28707PxlYZh','897895gbWlua','100yDOcTH'];_0x3228=function(){return _0x5b8e86;};return _0x3228();}function _0x2d6f(_0x1fcbaa,_0x28eb8a){_0x1fcbaa=_0x1fcbaa-0x89;const _0x322829=_0x3228();let _0x2d6f13=_0x322829[_0x1fcbaa];return _0x2d6f13;}import{getMcpAuthOrigin,mcpBootstrap}from'./mcpBootstrap.js';import{isInteractive}from'./utils/cloudProfileSession.js';export async function login(){const _0x4debe0=_0x2d6f,_0x1a818d={'iFOWH':_0x4debe0(0x97),'Benuc':'Login\x20requires\x20an\x20interactive\x20terminal.\x20In\x20CI,\x20use:\x20ranger\x20setup\x20[token]\x20or\x20set\x20RANGER_CLI_TOKEN.','fzpuT':function(_0x4ff06a){return _0x4ff06a();},'jZURq':function(_0x5f0536,_0x3f4a2a){return _0x5f0536(_0x3f4a2a);},'VAiQk':'\x0a✅\x20API\x20key\x20stored\x20successfully','NQvsm':function(_0xb85094,_0x15c05a){return _0xb85094 instanceof _0x15c05a;}},_0x1b47e0=await getMcpAuthOrigin();if(_0x1b47e0){console[_0x4debe0(0x9a)](_0x1a818d[_0x4debe0(0x90)]),await mcpBootstrap();return;}if(!isInteractive())throw new Error(_0x1a818d[_0x4debe0(0x94)]);try{const _0x5a4538=await _0x1a818d[_0x4debe0(0x95)](runDeviceAuthFlow),_0x4146df=await _0x1a818d['jZURq'](getCurrentUser,_0x5a4538);_0x4146df['success']?console['log']('\x0a✅\x20Logged\x20in\x20to\x20'+_0x4146df['user']['organizationName']):console['log'](_0x1a818d[_0x4debe0(0x98)]);}catch(_0x28d54f){throw new Error('Login\x20failed:\x20'+(_0x1a818d[_0x4debe0(0x96)](_0x28d54f,Error)?_0x28d54f['message']:_0x28d54f));}}
1
+ function _0xfd60(){const _0x171fad=['organizationName','24052226CLMsCW','log','207BpAvwj','3LyTmaq','535430DckHHp','\x0a✅\x20Logged\x20in\x20to\x20','Login\x20failed:\x20','ghCEw','message','gqWpM','1okFfRF','4279616wPxyOk','852534rfByly','7FWpZCP','2694075DiWRtn','776814lULpTk','2158688zVERdF','fmCmQ'];_0xfd60=function(){return _0x171fad;};return _0xfd60();}(function(_0x100b33,_0x12b85c){const _0x3ed3f1=_0x27fc,_0x12f23a=_0x100b33();while(!![]){try{const _0x50b5b0=parseInt(_0x3ed3f1(0x1df))/0x1*(parseInt(_0x3ed3f1(0x1d1))/0x2)+parseInt(_0x3ed3f1(0x1d8))/0x3*(parseInt(_0x3ed3f1(0x1e0))/0x4)+parseInt(_0x3ed3f1(0x1d0))/0x5+-parseInt(_0x3ed3f1(0x1e1))/0x6+-parseInt(_0x3ed3f1(0x1cf))/0x7*(parseInt(_0x3ed3f1(0x1d2))/0x8)+-parseInt(_0x3ed3f1(0x1d7))/0x9*(-parseInt(_0x3ed3f1(0x1d9))/0xa)+-parseInt(_0x3ed3f1(0x1d5))/0xb;if(_0x50b5b0===_0x12b85c)break;else _0x12f23a['push'](_0x12f23a['shift']());}catch(_0xd93712){_0x12f23a['push'](_0x12f23a['shift']());}}}(_0xfd60,0x99d6c));import{runDeviceAuthFlow}from'./utils/deviceAuth.js';import{getCurrentUser}from'./utils/userApi.js';function _0x27fc(_0x5b4315,_0x18ff71){_0x5b4315=_0x5b4315-0x1cf;const _0xfd6024=_0xfd60();let _0x27fc5c=_0xfd6024[_0x5b4315];return _0x27fc5c;}import{getMcpAuthOrigin,mcpBootstrap}from'./mcpBootstrap.js';import{isInteractive}from'./utils/cloudProfileSession.js';export async function login(){const _0x358a6e=_0x27fc,_0x4001e0={'gqWpM':function(_0x56385f){return _0x56385f();},'vLnju':'Re-authenticating\x20via\x20MCP\x20bootstrap...','UqTTb':'Login\x20requires\x20an\x20interactive\x20terminal.\x20In\x20CI,\x20use:\x20ranger\x20setup\x20[token]\x20or\x20set\x20RANGER_CLI_TOKEN.','ghCEw':function(_0x462b86,_0x1a477f){return _0x462b86(_0x1a477f);},'fmCmQ':'\x0a✅\x20API\x20key\x20stored\x20successfully'},_0x29f158=await _0x4001e0[_0x358a6e(0x1de)](getMcpAuthOrigin);if(_0x29f158){console[_0x358a6e(0x1d6)](_0x4001e0['vLnju']),await _0x4001e0['gqWpM'](mcpBootstrap);return;}if(!isInteractive())throw new Error(_0x4001e0['UqTTb']);try{const _0x221df1=await _0x4001e0[_0x358a6e(0x1de)](runDeviceAuthFlow),_0x4a021e=await _0x4001e0[_0x358a6e(0x1dc)](getCurrentUser,_0x221df1);_0x4a021e['success']?console['log'](_0x358a6e(0x1da)+_0x4a021e['user'][_0x358a6e(0x1d4)]):console[_0x358a6e(0x1d6)](_0x4001e0[_0x358a6e(0x1d3)]);}catch(_0xa43e27){throw new Error(_0x358a6e(0x1db)+(_0xa43e27 instanceof Error?_0xa43e27[_0x358a6e(0x1dd)]:_0xa43e27));}}
@@ -1 +1 @@
1
- const _0x131106=_0x428f;(function(_0x1bd637,_0x474719){const _0x31ba8e=_0x428f,_0x33de00=_0x1bd637();while(!![]){try{const _0x40d479=parseInt(_0x31ba8e(0x1aa))/0x1+parseInt(_0x31ba8e(0x1f6))/0x2+parseInt(_0x31ba8e(0x1dc))/0x3+-parseInt(_0x31ba8e(0x1e4))/0x4*(parseInt(_0x31ba8e(0x1c4))/0x5)+parseInt(_0x31ba8e(0x22a))/0x6*(-parseInt(_0x31ba8e(0x1c0))/0x7)+-parseInt(_0x31ba8e(0x1d2))/0x8*(parseInt(_0x31ba8e(0x1e8))/0x9)+parseInt(_0x31ba8e(0x224))/0xa;if(_0x40d479===_0x474719)break;else _0x33de00['push'](_0x33de00['shift']());}catch(_0x1013f8){_0x33de00['push'](_0x33de00['shift']());}}}(_0x1703,0x1d7c8));import{mkdir,writeFile,readFile}from'fs/promises';import{join}from'path';import{homedir}from'os';import{createServer}from'http';function _0x428f(_0x3c7724,_0x535a67){_0x3c7724=_0x3c7724-0x18b;const _0x1703d9=_0x1703();let _0x428f9f=_0x1703d9[_0x3c7724];return _0x428f9f;}import{randomBytes,createHash}from'crypto';import{exec}from'child_process';import{getMcpAuthUrl}from'./utils/environment.js';const CALLBACK_PORT=0x4d78,TOKEN_CACHE_PATH=join(homedir(),'.ranger','mcp-oauth-tokens.json'),AUTH_ORIGIN_PATH=join(homedir(),'.ranger',_0x131106(0x1e7));export async function getMcpAuthOrigin(){const _0x50c51e=_0x131106,_0x589803={'laFst':function(_0x5dcf6e,_0x53a6c0,_0x1e3d89){return _0x5dcf6e(_0x53a6c0,_0x1e3d89);},'KytUM':_0x50c51e(0x21b),'HnXjG':function(_0x1a5122,_0x177ed8){return _0x1a5122||_0x177ed8;}};try{const _0x11c5ab=(await _0x589803['laFst'](readFile,AUTH_ORIGIN_PATH,_0x589803['KytUM']))['trim']();return _0x589803['HnXjG'](_0x11c5ab,null);}catch{return null;}}function _0x1703(){const _0x4e54f1=['pathname','DLjqz','SUNgU','\x0aConnecting\x20to\x20MCP\x20auth\x20server:\x20','refresh.txt','set','content','Token\x20exchange\x20failed:\x20','accessToken','Uyrwf','1.0.0','cahnY','Could\x20not\x20fetch\x20protected\x20resource\x20metadata\x20from\x20MCP\x20server','MXCZm','CNtRe','trim','OAuth\x20error:\x20','SDEQS','error','refreshToken','fRCwU','Ewxul','HXGgx','LDHOz','\x0aCached\x20OAuth\x20client\x20may\x20be\x20stale\x20—\x20clearing\x20and\x20retrying...\x0a','stringify','proxied','HOkBY','Uzzqf','S256','initialize','<html><body><h2>Invalid\x20callback</h2><p>Missing\x20code\x20or\x20state\x20mismatch.</p></body></html>','close','.ranger','utf-8','POST','http://localhost:','text/html','fqqpn','MVYXY','Server\x20returned\x20error:\x20','none','slice','3598880KrBdrF','writeHead','SCCMv','GTQBC','OAuthTimeoutError','EHVLs','1758XlOzhL','hdGoa','If\x20the\x20browser\x20doesn\x27t\x20open,\x20visit:\x0a','CHZPn','start','result','application/json,\x20text/event-stream','hSAuc','structuredContent','Lodoy','KxBMG','\x0aToken\x20written\x20to\x20','cxrsf','<html><body><h2>Authentication\x20failed</h2><p>','application/json','Could\x20not\x20extract\x20token\x20from\x20MCP\x20response','Run\x20`ranger\x20status`\x20to\x20verify\x20authentication.\x0a','YPUxf','authorization_servers','match','HJtxw','get','WAJHM','YRXNK','searchParams','client_id','origin','clientSecret','resource','end','Requesting\x20CLI\x20token...','write','type','UBFPb','vujhA','No\x20authorization_servers\x20in\x20protected\x20resource\x20metadata','access_token','7688oFxMzA','GeFrf','Unknown\x20error','MCP\x20initialize\x20failed:\x20','toString','code','\x0aUnexpected\x20response\x20structure:','Discovering\x20authorization\x20server...','refresh_token','Could\x20not\x20fetch\x20auth\x20server\x20metadata\x20from\x20','Ranger\x20CLI','token','gTchH','egErH','THTdg','now','Registering\x20OAuth\x20client...','isError','alFEs','Rcrff','OFnVz','get_cli_token\x20failed:\x20','2037jraeTw','status','message','MCP\x20server\x20returned\x20HTTP\x20','4485nKLJJV','data:','ranger-cli','string','client_secret','</p><p>You\x20can\x20close\x20this\x20window.</p></body></html>','authorization_endpoint','log','then','Initializing\x20MCP\x20session...','lDNrs','pOznX','stdout','sha256','1553504wJZKGg','open','headers','split','expiresAt','VDiHp','text','json','DtTTw','parse','358209aQzsCi','application/x-www-form-urlencoded','HydLw','/.well-known/oauth-authorization-server','\x20done','length','ODABr','JMGsV','1012lGlvMN','IeqJW','GXdWT','auth-origin.txt','9XsRqEh','2025-03-26','expires_in','2.0','XGZFG','isTTY','needs-oauth','content-type','error_description','tools/call','mjnLC','cOgJk','WAFRA','WnEau','280378CfcYgE','vOPyQ','OAuth\x20callback\x20timed\x20out\x20after\x202\x20minutes'];_0x1703=function(){return _0x4e54f1;};return _0x1703();}export async function mcpBootstrap(){const _0x4198b6=_0x131106,_0x4ddf21={'lDNrs':function(_0x2222f6){return _0x2222f6();},'BloQM':function(_0x5a5583,_0x1a4976){return _0x5a5583===_0x1a4976;},'SCCMv':_0x4198b6(0x213),'MXCZm':function(_0x4f96e3,_0x194b5a){return _0x4f96e3+_0x194b5a;},'HydLw':'MCP\x20server\x20requires\x20authentication\x20but\x20running\x20in\x20non-interactive\x20mode.\x0a','GeFrf':function(_0x83dd31,_0x2ff348,_0x3e8bc5){return _0x83dd31(_0x2ff348,_0x3e8bc5);}},_0x3f1955=_0x4ddf21[_0x4198b6(0x1ce)](getMcpAuthUrl);currentOrigin=_0x3f1955;const _0x5ad812=process['stdout'][_0x4198b6(0x1ed)]??![];console[_0x4198b6(0x1cb)](_0x4198b6(0x1fc)+_0x3f1955+'\x0a');const _0x1e4077=await tryUnauthenticated(_0x3f1955);let _0x2ba412=null;if(_0x4ddf21['BloQM'](_0x1e4077,_0x4ddf21[_0x4198b6(0x226)]))_0x2ba412='';else{_0x2ba412=await loadCachedToken();if(!_0x2ba412){if(!_0x5ad812)throw new Error(_0x4ddf21[_0x4198b6(0x206)](_0x4ddf21[_0x4198b6(0x1de)],'Run\x20`ranger\x20setup\x20--mcp-bootstrap`\x20interactively\x20first.'));_0x2ba412=await oauthFlow(_0x3f1955);}}await _0x4ddf21[_0x4198b6(0x1ab)](callGetCliToken,_0x3f1955,_0x2ba412);}async function tryUnauthenticated(_0x25824b){const _0x56d809=_0x131106,_0x561085={'CvWOn':function(_0x165d46,_0x2e7809,_0x4e8bb1){return _0x165d46(_0x2e7809,_0x4e8bb1);},'GXdWT':'application/json','mmdxk':_0x56d809(0x18b),'WAFRA':_0x56d809(0x217),'cahnY':_0x56d809(0x1e9),'nxlsJ':_0x56d809(0x203),'UBFPb':_0x56d809(0x1ee)},_0x2ff82e=await _0x561085['CvWOn'](fetch,_0x25824b,{'method':'POST','headers':{'Content-Type':_0x561085[_0x56d809(0x1e6)],'Accept':_0x561085['mmdxk']},'body':JSON['stringify']({'jsonrpc':_0x56d809(0x1eb),'id':0x1,'method':_0x561085[_0x56d809(0x1f4)],'params':{'protocolVersion':_0x561085[_0x56d809(0x204)],'capabilities':{},'clientInfo':{'name':_0x56d809(0x1c6),'version':_0x561085['nxlsJ']}}})});if(_0x2ff82e['ok'])return await _0x2ff82e[_0x56d809(0x1d8)](),'proxied';if(_0x2ff82e['status']===0x191)return await _0x2ff82e['text'](),_0x561085[_0x56d809(0x1a6)];const _0x5ceec8=await _0x2ff82e['text']();throw new Error(_0x56d809(0x1c3)+_0x2ff82e[_0x56d809(0x1c1)]+':\x20'+_0x5ceec8);}class OAuthTimeoutError extends Error{constructor(_0x36fd0f){const _0x50d507=_0x131106;super(_0x36fd0f),this['name']=_0x50d507(0x228);}}async function oauthFlow(_0x2633fa){const _0x40c1d9=_0x131106,_0x2e7b24={'MVYXY':function(_0xc18f2e,_0x4148b1){return _0xc18f2e(_0x4148b1);},'kQxgU':function(_0x4f4a65,_0x6ae2e3){return _0x4f4a65 instanceof _0x6ae2e3;},'PyrWS':function(_0x8fa040){return _0x8fa040();}};try{return await _0x2e7b24[_0x40c1d9(0x220)](oauthFlowAttempt,_0x2633fa);}catch(_0x5bac2b){if(_0x2e7b24['kQxgU'](_0x5bac2b,OAuthTimeoutError)&&await _0x2e7b24['PyrWS'](loadCachedClient))return console[_0x40c1d9(0x1cb)](_0x40c1d9(0x211)),await clearCachedClient(),await oauthFlowAttempt(_0x2633fa);throw _0x5bac2b;}}async function oauthFlowAttempt(_0x568b8b){const _0x56fc6b=_0x131106,_0x3cbd56={'Uzzqf':function(_0x51bc9b,_0x5b39fb){return _0x51bc9b(_0x5b39fb);},'SDEQS':_0x56fc6b(0x205),'Rcrff':_0x56fc6b(0x1a8),'KECXd':_0x56fc6b(0x1ba),'ODABr':_0x56fc6b(0x21c),'pOznX':_0x56fc6b(0x193),'Kgopk':'authorization_code','WnEau':_0x56fc6b(0x1af),'YRXNK':_0x56fc6b(0x222),'egErH':_0x56fc6b(0x1e0),'XGZFG':function(_0x37cc3a,_0x1843a4){return _0x37cc3a(_0x1843a4);},'gTchH':function(_0x3b1f61,_0x1231ad){return _0x3b1f61(_0x1231ad);},'uRasH':'base64url','VTWQi':function(_0x199ff3,_0x59fba7){return _0x199ff3(_0x59fba7);},'LthDv':'hex','Ewxul':'redirect_uri','hdGoa':'code_challenge','mwZMW':'code_challenge_method','oHSUj':'state','OFnVz':'resource','YPUxf':'\x0aOpening\x20browser\x20for\x20authentication...','lCaQJ':_0x56fc6b(0x1c8),'mjnLC':function(_0x3b7ac4,_0x234193,_0x5afb1c){return _0x3b7ac4(_0x234193,_0x5afb1c);},'DLjqz':function(_0x543f4c,_0x42964c,_0x308830,_0x1377ac){return _0x543f4c(_0x42964c,_0x308830,_0x1377ac);}},_0x427f07=_0x568b8b['replace'](/\/mcp$/,'');process[_0x56fc6b(0x1d0)]['write'](_0x56fc6b(0x1b1));const _0x153879=await _0x3cbd56[_0x56fc6b(0x215)](fetch,_0x427f07+'/.well-known/oauth-protected-resource');if(!_0x153879['ok'])throw new Error(_0x3cbd56[_0x56fc6b(0x20a)]);const _0x2c0dc6=await _0x153879['json'](),_0x3ec954=_0x2c0dc6[_0x56fc6b(0x197)]?.[0x0];if(!_0x3ec954)throw new Error(_0x3cbd56[_0x56fc6b(0x1bd)]);console['log']('\x20'+_0x3ec954);const _0x45cc71=await _0x3cbd56['Uzzqf'](fetchAuthServerMetadata,_0x3ec954);let _0x2db1c4,_0x93a8eb;const _0x53ae02=await loadCachedClient();if(_0x53ae02)_0x2db1c4=_0x53ae02['clientId'],_0x93a8eb=_0x53ae02['clientSecret'];else{if(_0x45cc71['registration_endpoint']){process[_0x56fc6b(0x1d0)][_0x56fc6b(0x1a4)](_0x3cbd56['KECXd']);const _0x90dc4a=await fetch(_0x45cc71['registration_endpoint'],{'method':_0x3cbd56[_0x56fc6b(0x1e2)],'headers':{'Content-Type':_0x3cbd56[_0x56fc6b(0x1cf)]},'body':JSON[_0x56fc6b(0x212)]({'client_name':_0x56fc6b(0x1b4),'redirect_uris':['http://localhost:'+CALLBACK_PORT+'/callback'],'grant_types':[_0x3cbd56['Kgopk'],_0x56fc6b(0x1b2)],'response_types':[_0x3cbd56[_0x56fc6b(0x1f5)]],'token_endpoint_auth_method':_0x3cbd56[_0x56fc6b(0x19c)]})});if(!_0x90dc4a['ok']){const _0x3e1dff=await _0x90dc4a[_0x56fc6b(0x1d8)]();throw new Error('Client\x20registration\x20failed:\x20'+_0x3e1dff);}const _0x4c2f35=await _0x90dc4a[_0x56fc6b(0x1d9)]();_0x2db1c4=_0x4c2f35[_0x56fc6b(0x19e)],_0x93a8eb=_0x4c2f35[_0x56fc6b(0x1c8)],await saveCachedClient(_0x2db1c4,_0x93a8eb),console[_0x56fc6b(0x1cb)](_0x3cbd56['egErH']);}else throw new Error('Authorization\x20server\x20does\x20not\x20support\x20dynamic\x20client\x20registration\x20and\x20no\x20cached\x20client\x20found');}const _0x2ba82b=_0x3cbd56[_0x56fc6b(0x1ec)](randomBytes,0x20)[_0x56fc6b(0x1ae)]('base64url'),_0x4fbd5e=_0x3cbd56[_0x56fc6b(0x1b6)](createHash,_0x56fc6b(0x1d1))['update'](_0x2ba82b)['digest'](_0x3cbd56['uRasH']),_0x40505a=_0x3cbd56['VTWQi'](randomBytes,0x10)[_0x56fc6b(0x1ae)](_0x3cbd56['LthDv']),_0x5263e4=new URL(_0x45cc71[_0x56fc6b(0x1ca)]);_0x5263e4[_0x56fc6b(0x19d)][_0x56fc6b(0x1fe)]('response_type','code'),_0x5263e4[_0x56fc6b(0x19d)]['set'](_0x56fc6b(0x19e),_0x2db1c4),_0x5263e4['searchParams']['set'](_0x3cbd56[_0x56fc6b(0x20e)],_0x56fc6b(0x21d)+CALLBACK_PORT+'/callback'),_0x5263e4[_0x56fc6b(0x19d)][_0x56fc6b(0x1fe)](_0x3cbd56[_0x56fc6b(0x22b)],_0x4fbd5e),_0x5263e4['searchParams']['set'](_0x3cbd56['mwZMW'],_0x56fc6b(0x216)),_0x5263e4[_0x56fc6b(0x19d)][_0x56fc6b(0x1fe)](_0x3cbd56['oHSUj'],_0x40505a);_0x2c0dc6[_0x56fc6b(0x1a1)]&&_0x5263e4[_0x56fc6b(0x19d)]['set'](_0x3cbd56[_0x56fc6b(0x1be)],_0x2c0dc6[_0x56fc6b(0x1a1)]);console[_0x56fc6b(0x1cb)](_0x3cbd56[_0x56fc6b(0x196)]),console[_0x56fc6b(0x1cb)](_0x56fc6b(0x22c)+_0x5263e4['toString']()+'\x0a'),await openBrowser(_0x5263e4[_0x56fc6b(0x1ae)]());const _0x545a04=await _0x3cbd56['VTWQi'](waitForCallback,_0x40505a);process['stdout']['write']('Exchanging\x20authorization\x20code...');const _0x3faf4c=new URLSearchParams({'grant_type':_0x3cbd56['Kgopk'],'code':_0x545a04,'redirect_uri':_0x56fc6b(0x21d)+CALLBACK_PORT+'/callback','client_id':_0x2db1c4,'code_verifier':_0x2ba82b});_0x93a8eb&&_0x3faf4c[_0x56fc6b(0x1fe)](_0x3cbd56['lCaQJ'],_0x93a8eb);_0x2c0dc6[_0x56fc6b(0x1a1)]&&_0x3faf4c['set'](_0x56fc6b(0x1a1),_0x2c0dc6[_0x56fc6b(0x1a1)]);const _0x3f8298=await _0x3cbd56[_0x56fc6b(0x1f2)](fetch,_0x45cc71['token_endpoint'],{'method':_0x3cbd56[_0x56fc6b(0x1e2)],'headers':{'Content-Type':_0x56fc6b(0x1dd)},'body':_0x3faf4c});if(!_0x3f8298['ok']){const _0x1303b1=await _0x3f8298[_0x56fc6b(0x1d8)]();throw new Error(_0x56fc6b(0x200)+_0x1303b1);}const _0x510ee=await _0x3f8298[_0x56fc6b(0x1d9)]();return console['log'](_0x3cbd56[_0x56fc6b(0x1b7)]),await _0x3cbd56[_0x56fc6b(0x1fa)](saveCachedToken,_0x510ee['access_token'],_0x510ee['refresh_token'],_0x510ee[_0x56fc6b(0x1ea)]),_0x510ee[_0x56fc6b(0x1a9)];}async function callGetCliToken(_0x491e92,_0x1f6f21){const _0x2c861d=_0x131106,_0x596d9a={'anxod':function(_0x2d7350,_0x2b220a,_0x337a87){return _0x2d7350(_0x2b220a,_0x337a87);},'HlZSZ':function(_0x4f874c,_0x51f504){return _0x4f874c(_0x51f504);},'KWBXL':'application/json,\x20text/event-stream','MxCrl':'Authorization','jxRKq':_0x2c861d(0x217),'MenaL':'ranger-cli','cOgJk':_0x2c861d(0x203),'vujhA':_0x2c861d(0x21c),'xXYDP':_0x2c861d(0x1eb),'CNtRe':'notifications/initialized','zpAEe':_0x2c861d(0x1f1),'IeqJW':'get_cli_token','HOkBY':_0x2c861d(0x1b0),'SVBvN':_0x2c861d(0x194),'SUNgU':function(_0x3d243e,_0x6aabe7,_0x5ac687){return _0x3d243e(_0x6aabe7,_0x5ac687);},'VDiHp':function(_0x47425c){return _0x47425c();},'EHVLs':_0x2c861d(0x1fd),'NOdus':function(_0x2e9428,_0x15994c,_0x2c5a5b,_0x310171){return _0x2e9428(_0x15994c,_0x2c5a5b,_0x310171);},'ACqEb':_0x2c861d(0x1e7)},_0x3ed71e={'Content-Type':_0x2c861d(0x193),'Accept':_0x596d9a['KWBXL']};_0x1f6f21&&(_0x3ed71e[_0x596d9a['MxCrl']]='Bearer\x20'+_0x1f6f21);const _0x3914ec=async _0x250299=>{const _0x2d05fe=_0x2c861d,_0x182a28=await _0x596d9a['anxod'](fetch,_0x491e92,{'method':'POST','headers':_0x3ed71e,'body':JSON[_0x2d05fe(0x212)](_0x250299)});if(!_0x182a28['ok']){const _0x40a1b1=await _0x182a28['text']();throw new Error('HTTP\x20'+_0x182a28['status']+':\x20'+_0x40a1b1);}return _0x596d9a['HlZSZ'](parseResponse,_0x182a28);};process['stdout'][_0x2c861d(0x1a4)](_0x2c861d(0x1cd));const _0x228d93=await _0x3914ec({'jsonrpc':_0x2c861d(0x1eb),'id':0x1,'method':_0x596d9a['jxRKq'],'params':{'protocolVersion':_0x2c861d(0x1e9),'capabilities':{},'clientInfo':{'name':_0x596d9a['MenaL'],'version':_0x596d9a[_0x2c861d(0x1f3)]}}});if(_0x228d93[_0x2c861d(0x20b)])throw new Error(_0x2c861d(0x1ad)+(_0x228d93[_0x2c861d(0x20b)]['message']??JSON[_0x2c861d(0x212)](_0x228d93['error'])));console[_0x2c861d(0x1cb)](_0x2c861d(0x1e0)),await fetch(_0x491e92,{'method':_0x596d9a[_0x2c861d(0x1a7)],'headers':_0x3ed71e,'body':JSON[_0x2c861d(0x212)]({'jsonrpc':_0x596d9a['xXYDP'],'method':_0x596d9a[_0x2c861d(0x207)]})})[_0x2c861d(0x1cc)](_0x3724f1=>_0x3724f1['text']()),process['stdout'][_0x2c861d(0x1a4)](_0x2c861d(0x1a3));const _0x25b65a=await _0x596d9a['HlZSZ'](_0x3914ec,{'jsonrpc':'2.0','id':0x2,'method':_0x596d9a['zpAEe'],'params':{'name':_0x596d9a[_0x2c861d(0x1e5)],'arguments':{}}});if(_0x25b65a[_0x2c861d(0x20b)])throw new Error(_0x2c861d(0x1bf)+(_0x25b65a[_0x2c861d(0x20b)][_0x2c861d(0x1c2)]??JSON['stringify'](_0x25b65a[_0x2c861d(0x20b)])));console[_0x2c861d(0x1cb)](_0x2c861d(0x1e0));const _0x5eee3b=extractToken(_0x25b65a[_0x2c861d(0x22f)]);if(!_0x5eee3b){console[_0x2c861d(0x20b)](_0x596d9a[_0x2c861d(0x214)]),console['error'](JSON['stringify'](_0x25b65a['result'],null,0x2));throw new Error(_0x596d9a['SVBvN']);}const _0x326f49=_0x596d9a[_0x2c861d(0x1fb)](join,_0x596d9a[_0x2c861d(0x1d7)](homedir),_0x2c861d(0x21a)),_0x2311cf=join(_0x326f49,_0x596d9a[_0x2c861d(0x229)]);await _0x596d9a['anxod'](mkdir,_0x326f49,{'recursive':!![]}),await _0x596d9a['NOdus'](writeFile,_0x2311cf,_0x5eee3b,{'mode':0x180}),await _0x596d9a['NOdus'](writeFile,join(_0x326f49,_0x596d9a['ACqEb']),_0x491e92,{'mode':0x180}),console[_0x2c861d(0x1cb)](_0x2c861d(0x190)+_0x2311cf),console[_0x2c861d(0x1cb)](_0x2c861d(0x195));}async function fetchAuthServerMetadata(_0x1b5fc4){const _0x4ef463=_0x131106,_0x9ae1a4=_0x1b5fc4+_0x4ef463(0x1df),_0x3a4f0a=await fetch(_0x9ae1a4);if(!_0x3a4f0a['ok'])throw new Error(_0x4ef463(0x1b3)+_0x9ae1a4+':\x20'+_0x3a4f0a[_0x4ef463(0x1c1)]);return _0x3a4f0a['json']();}function waitForCallback(_0x45ac5c){const _0x415be6=_0x131106,_0x4521b3={'Uyrwf':function(_0xf4050a,_0x11356e){return _0xf4050a(_0x11356e);},'hSAuc':_0x415be6(0x1f8),'WAJHM':'/callback','muwUF':_0x415be6(0x1af),'LDHOz':'state','HJtxw':_0x415be6(0x20b),'JMGsV':function(_0x4b2abe,_0x14bf8a){return _0x4b2abe(_0x14bf8a);},'hrFXe':function(_0x4ab026,_0x4a0d40){return _0x4ab026!==_0x4a0d40;},'BeoSH':'text/html','ADMPD':_0x415be6(0x218),'JAShg':'<html><body><h2>Authenticated!</h2><p>You\x20can\x20close\x20this\x20window\x20and\x20return\x20to\x20the\x20terminal.</p></body></html>','ObzQH':function(_0x413ada,_0x26b3b1){return _0x413ada(_0x26b3b1);}};return new Promise((_0x4a6313,_0x3e3dcb)=>{const _0x391d81=()=>{const _0x328855=_0x428f;_0x51fcae['closeAllConnections'](),_0x51fcae[_0x328855(0x219)]();},_0x2123af=setTimeout(()=>{const _0x31f726=_0x428f;_0x391d81(),_0x4521b3[_0x31f726(0x202)](_0x3e3dcb,new OAuthTimeoutError(_0x4521b3[_0x31f726(0x18c)]));},0x1d4c0),_0x51fcae=createServer((_0x317b03,_0x3d5b23)=>{const _0x8eea93=_0x428f,_0x31bf14=new URL(_0x317b03['url']??'/',_0x8eea93(0x21d)+CALLBACK_PORT);if(_0x31bf14[_0x8eea93(0x1f9)]!==_0x4521b3[_0x8eea93(0x19b)]){_0x3d5b23[_0x8eea93(0x225)](0x194),_0x3d5b23['end']('Not\x20found');return;}const _0x1ada09=_0x31bf14[_0x8eea93(0x19d)][_0x8eea93(0x19a)](_0x4521b3['muwUF']),_0x56f561=_0x31bf14['searchParams'][_0x8eea93(0x19a)](_0x4521b3[_0x8eea93(0x210)]),_0x214a30=_0x31bf14['searchParams']['get'](_0x4521b3[_0x8eea93(0x199)]);if(_0x214a30){const _0x1f5324=_0x31bf14['searchParams'][_0x8eea93(0x19a)](_0x8eea93(0x1f0))??_0x214a30;_0x3d5b23['writeHead'](0xc8,{'Content-Type':_0x8eea93(0x21e)}),_0x3d5b23[_0x8eea93(0x1a2)](_0x8eea93(0x192)+_0x1f5324+_0x8eea93(0x1c9)),_0x4521b3[_0x8eea93(0x202)](clearTimeout,_0x2123af),_0x391d81(),_0x4521b3[_0x8eea93(0x1e3)](_0x3e3dcb,new Error(_0x8eea93(0x209)+_0x1f5324));return;}if(!_0x1ada09||_0x4521b3['hrFXe'](_0x56f561,_0x45ac5c)){_0x3d5b23[_0x8eea93(0x225)](0x190,{'Content-Type':_0x4521b3['BeoSH']}),_0x3d5b23[_0x8eea93(0x1a2)](_0x4521b3['ADMPD']);return;}_0x3d5b23[_0x8eea93(0x225)](0xc8,{'Content-Type':'text/html'}),_0x3d5b23['end'](_0x4521b3['JAShg']),clearTimeout(_0x2123af),_0x391d81(),_0x4521b3['ObzQH'](_0x4a6313,_0x1ada09);});_0x51fcae['listen'](CALLBACK_PORT,'127.0.0.1');});}async function openBrowser(_0xe7efe2){const _0x12ded7=_0x131106,_0x14dc07={'THTdg':function(_0x1d4d42,_0x3a2d0e){return _0x1d4d42===_0x3a2d0e;},'alFEs':_0x12ded7(0x22e),'GTQBC':'xdg-open'},_0xdbf334=_0x14dc07[_0x12ded7(0x1b8)](process['platform'],'darwin')?_0x12ded7(0x1d3):process['platform']==='win32'?_0x14dc07[_0x12ded7(0x1bc)]:_0x14dc07[_0x12ded7(0x227)];exec(_0xdbf334+'\x20\x22'+_0xe7efe2+'\x22');}let currentOrigin='';async function loadCachedToken(){const _0x1176c4=_0x131106,_0xc9860f={'DtTTw':function(_0x4cd9ba,_0x29bf2d){return _0x4cd9ba!==_0x29bf2d;}};try{const _0x2b7b22=JSON['parse'](await readFile(TOKEN_CACHE_PATH,_0x1176c4(0x21b)));if(_0x2b7b22['origin']&&_0xc9860f[_0x1176c4(0x1da)](_0x2b7b22['origin'],currentOrigin))return null;if(_0x2b7b22[_0x1176c4(0x1d6)]&&Date[_0x1176c4(0x1b9)]()>_0x2b7b22[_0x1176c4(0x1d6)])return null;return _0x2b7b22[_0x1176c4(0x201)]??null;}catch{return null;}}async function saveCachedToken(_0x3ae90f,_0x55e76c,_0x1a85dc){const _0x347444=_0x131106,_0x4da953={'dmzyt':function(_0x183943,_0x433582){return _0x183943+_0x433582;},'JiAhy':function(_0x42be76,_0x167d48,_0x1fabd1){return _0x42be76(_0x167d48,_0x1fabd1);}},_0x76d078=await loadCachedData(),_0x54621e={..._0x76d078,'origin':currentOrigin,'accessToken':_0x3ae90f,'refreshToken':_0x55e76c??_0x76d078?.[_0x347444(0x20c)],'expiresAt':_0x1a85dc?_0x4da953['dmzyt'](Date[_0x347444(0x1b9)](),_0x1a85dc*0x3e8):undefined};await mkdir(_0x4da953['JiAhy'](join,homedir(),_0x347444(0x21a)),{'recursive':!![]}),await writeFile(TOKEN_CACHE_PATH,JSON['stringify'](_0x54621e),{'mode':0x180});}async function loadCachedClient(){const _0x3eb24c=_0x131106,_0xc370a={'fqqpn':function(_0xd44602,_0x702565){return _0xd44602!==_0x702565;}},_0x571045=await loadCachedData();if(_0x571045?.['origin']&&_0xc370a[_0x3eb24c(0x21f)](_0x571045[_0x3eb24c(0x19f)],currentOrigin))return null;return _0x571045?.['clientId']?{'clientId':_0x571045['clientId'],'clientSecret':_0x571045[_0x3eb24c(0x1a0)]}:null;}async function clearCachedClient(){const _0x4df433=_0x131106,_0x2c704a={'cxrsf':function(_0x1d5813,_0xa7c3ac,_0x323aac,_0x50547f){return _0x1d5813(_0xa7c3ac,_0x323aac,_0x50547f);}},_0x2fac65=await loadCachedData();if(!_0x2fac65)return;const {clientId:_0x361d48,clientSecret:_0x4390b6,..._0x5676e8}=_0x2fac65;await _0x2c704a[_0x4df433(0x191)](writeFile,TOKEN_CACHE_PATH,JSON['stringify'](_0x5676e8),{'mode':0x180});}async function saveCachedClient(_0x495982,_0x399497){const _0x44a615={'EUCUP':function(_0x502013){return _0x502013();},'ecjDC':'.ranger','GyUnw':function(_0x5d3dde,_0x15bd39,_0x206354,_0x57bf2b){return _0x5d3dde(_0x15bd39,_0x206354,_0x57bf2b);}},_0x1040db=await _0x44a615['EUCUP'](loadCachedData),_0x1d8d48={..._0x1040db,'origin':currentOrigin,'accessToken':_0x1040db?.['accessToken']??'','clientId':_0x495982,'clientSecret':_0x399497};await mkdir(join(homedir(),_0x44a615['ecjDC']),{'recursive':!![]}),await _0x44a615['GyUnw'](writeFile,TOKEN_CACHE_PATH,JSON['stringify'](_0x1d8d48),{'mode':0x180});}async function loadCachedData(){const _0x4e361f=_0x131106,_0x38756={'fRCwU':function(_0x317360,_0x171279,_0x1c5d99){return _0x317360(_0x171279,_0x1c5d99);}};try{return JSON[_0x4e361f(0x1db)](await _0x38756[_0x4e361f(0x20d)](readFile,TOKEN_CACHE_PATH,_0x4e361f(0x21b)));}catch{return null;}}async function parseResponse(_0x43dcff){const _0x4c0a44=_0x131106,_0x61099d={'CHZPn':_0x4c0a44(0x1ef),'HXGgx':'text/event-stream','KxBMG':function(_0x58f2e4,_0xdd55de){return _0x58f2e4!==_0xdd55de;},'oONvl':'No\x20JSON-RPC\x20response\x20found\x20in\x20SSE\x20stream'},_0x2635cf=_0x43dcff[_0x4c0a44(0x1d4)][_0x4c0a44(0x19a)](_0x61099d[_0x4c0a44(0x22d)])??'';if(_0x2635cf['includes'](_0x61099d[_0x4c0a44(0x20f)])){const _0x3838c2=await _0x43dcff['text']();for(const _0x16aed1 of _0x3838c2[_0x4c0a44(0x1d5)]('\x0a')){const _0x5cf456=_0x16aed1[_0x4c0a44(0x208)]();if(_0x5cf456['startsWith']('data:')){const _0x4253d3=_0x5cf456[_0x4c0a44(0x223)](_0x4c0a44(0x1c5)[_0x4c0a44(0x1e1)])[_0x4c0a44(0x208)]();if(!_0x4253d3)continue;try{const _0x25c22d=JSON[_0x4c0a44(0x1db)](_0x4253d3);if(_0x61099d[_0x4c0a44(0x18f)](_0x25c22d['id'],undefined)||_0x25c22d[_0x4c0a44(0x20b)])return _0x25c22d;}catch{}}}throw new Error(_0x61099d['oONvl']);}return _0x43dcff[_0x4c0a44(0x1d9)]();}function extractToken(_0x3b22c3){const _0x415453=_0x131106,_0x7d72a1={'vOPyQ':function(_0x56f37b,_0x5beea8){return _0x56f37b===_0x5beea8;},'Lodoy':function(_0x233f15,_0x37e8de){return _0x233f15===_0x37e8de;},'QjdXk':'text'};if(!_0x3b22c3)return null;const _0x3775f6=_0x3b22c3[_0x415453(0x18d)];if(_0x3775f6?.[_0x415453(0x1b5)]&&_0x7d72a1[_0x415453(0x1f7)](typeof _0x3775f6[_0x415453(0x1b5)],_0x415453(0x1c7)))return _0x3775f6[_0x415453(0x1b5)];if(_0x3b22c3[_0x415453(0x1bb)]){const _0x44dd72=_0x3b22c3['content'];throw new Error(_0x415453(0x221)+(_0x44dd72?.[0x0]?.[_0x415453(0x1d8)]??_0x415453(0x1ac)));}const _0x29c367=_0x3b22c3[_0x415453(0x1ff)];if(_0x29c367)for(const _0x198514 of _0x29c367){if(_0x7d72a1[_0x415453(0x18e)](_0x198514[_0x415453(0x1a5)],_0x7d72a1['QjdXk'])&&_0x198514['text']){try{const _0x22d38a=JSON['parse'](_0x198514['text']);if(typeof _0x22d38a?.[_0x415453(0x1b5)]===_0x415453(0x1c7))return _0x22d38a['token'];}catch{}const _0x1fef8f=_0x198514[_0x415453(0x1d8)][_0x415453(0x198)](/(rngr_[A-Za-z0-9_-]+)/);if(_0x1fef8f)return _0x1fef8f[0x1];}}return null;}
1
+ const _0x1045e2=_0x53a5;(function(_0x2b436f,_0x460729){const _0x52f6dc=_0x53a5,_0x58a143=_0x2b436f();while(!![]){try{const _0x2dbd4a=parseInt(_0x52f6dc(0x120))/0x1+parseInt(_0x52f6dc(0xf9))/0x2*(-parseInt(_0x52f6dc(0xa0))/0x3)+-parseInt(_0x52f6dc(0x11c))/0x4+parseInt(_0x52f6dc(0xe6))/0x5*(-parseInt(_0x52f6dc(0xda))/0x6)+-parseInt(_0x52f6dc(0x95))/0x7*(parseInt(_0x52f6dc(0xac))/0x8)+-parseInt(_0x52f6dc(0x97))/0x9*(-parseInt(_0x52f6dc(0x9c))/0xa)+parseInt(_0x52f6dc(0xa6))/0xb;if(_0x2dbd4a===_0x460729)break;else _0x58a143['push'](_0x58a143['shift']());}catch(_0x54d775){_0x58a143['push'](_0x58a143['shift']());}}}(_0x3d40,0xe1518));import{mkdir,writeFile,readFile}from'fs/promises';function _0x53a5(_0x329da8,_0xfc0da8){_0x329da8=_0x329da8-0x94;const _0x3d40f0=_0x3d40();let _0x53a54a=_0x3d40f0[_0x329da8];return _0x53a54a;}import{join}from'path';import{homedir}from'os';import{createServer}from'http';import{randomBytes,createHash}from'crypto';import{exec}from'child_process';import{getMcpAuthUrl}from'./utils/environment.js';const CALLBACK_PORT=0x4d78,TOKEN_CACHE_PATH=join(homedir(),'.ranger',_0x1045e2(0xed)),AUTH_ORIGIN_PATH=join(homedir(),_0x1045e2(0x10d),'auth-origin.txt');export async function getMcpAuthOrigin(){const _0x43f7d8=_0x1045e2,_0x2e2cc4={'kfIef':'utf-8','tpeDw':function(_0x5a575c,_0x415b05){return _0x5a575c||_0x415b05;}};try{const _0x2a1c94=(await readFile(AUTH_ORIGIN_PATH,_0x2e2cc4[_0x43f7d8(0xbf)]))['trim']();return _0x2e2cc4[_0x43f7d8(0xbd)](_0x2a1c94,null);}catch{return null;}}export async function mcpBootstrap(){const _0x5baec3=_0x1045e2,_0x1f0432={'jmKQq':function(_0x4adb46,_0x55ff14){return _0x4adb46(_0x55ff14);},'eiydO':function(_0x4f8496,_0x4a88b9){return _0x4f8496===_0x4a88b9;},'DdUBU':function(_0x16b36d){return _0x16b36d();},'YuvFI':function(_0x2ead16,_0x5f50c4){return _0x2ead16(_0x5f50c4);},'BBulL':function(_0x14d9e6,_0x5bef37,_0x49a482){return _0x14d9e6(_0x5bef37,_0x49a482);}},_0x686fb1=getMcpAuthUrl();currentOrigin=_0x686fb1;const _0x3dbd8a=process['stdout'][_0x5baec3(0xf2)]??![];console['log']('\x0aConnecting\x20to\x20MCP\x20auth\x20server:\x20'+_0x686fb1+'\x0a');const _0x233a46=await _0x1f0432[_0x5baec3(0xd4)](tryUnauthenticated,_0x686fb1);let _0x537919=null;if(_0x1f0432[_0x5baec3(0xd0)](_0x233a46,'proxied'))_0x537919='';else{_0x537919=await _0x1f0432['DdUBU'](loadCachedToken);if(!_0x537919){if(!_0x3dbd8a)throw new Error('MCP\x20server\x20requires\x20authentication\x20but\x20running\x20in\x20non-interactive\x20mode.\x0a'+_0x5baec3(0x9d));_0x537919=await _0x1f0432[_0x5baec3(0x123)](oauthFlow,_0x686fb1);}}await _0x1f0432['BBulL'](callGetCliToken,_0x686fb1,_0x537919);}async function tryUnauthenticated(_0x2af8fc){const _0xc187c9=_0x1045e2,_0x48383b={'jndAH':function(_0x4b149e,_0x3d539f,_0x141391){return _0x4b149e(_0x3d539f,_0x141391);},'Hivlx':'application/json','Etobu':'application/json,\x20text/event-stream','BesHI':'2025-03-26','PLFcm':_0xc187c9(0xb7),'iGXYH':function(_0xc8bd79,_0x4335da){return _0xc8bd79===_0x4335da;},'cKVfc':'needs-oauth'},_0xe2cafb=await _0x48383b[_0xc187c9(0xb9)](fetch,_0x2af8fc,{'method':'POST','headers':{'Content-Type':_0x48383b['Hivlx'],'Accept':_0x48383b[_0xc187c9(0xa2)]},'body':JSON[_0xc187c9(0xd7)]({'jsonrpc':'2.0','id':0x1,'method':_0xc187c9(0xe8),'params':{'protocolVersion':_0x48383b[_0xc187c9(0xc6)],'capabilities':{},'clientInfo':{'name':_0xc187c9(0xe7),'version':_0x48383b[_0xc187c9(0x112)]}}})});if(_0xe2cafb['ok'])return await _0xe2cafb['text'](),'proxied';if(_0x48383b[_0xc187c9(0xd5)](_0xe2cafb[_0xc187c9(0xc7)],0x191))return await _0xe2cafb['text'](),_0x48383b['cKVfc'];const _0x4bc43c=await _0xe2cafb['text']();throw new Error(_0xc187c9(0x111)+_0xe2cafb[_0xc187c9(0xc7)]+':\x20'+_0x4bc43c);}class OAuthTimeoutError extends Error{constructor(_0x150866){super(_0x150866),this['name']='OAuthTimeoutError';}}function _0x3d40(){const _0x35ed69=['start','BXQpI','split','text/html','BesHI','status','UUrEm','dCzay','data:','\x0aUnexpected\x20response\x20structure:','listen','Server\x20returned\x20error:\x20','YAelJ','writeHead','eiydO','jaQmS','No\x20JSON-RPC\x20response\x20found\x20in\x20SSE\x20stream','error','jmKQq','iGXYH','set','stringify','xdg-open','\x20done','6FfyEdx','Ranger\x20CLI','cNlOq','authorization_servers','refresh.txt','/callback','HTTP\x20','auth-origin.txt','BFggX','Not\x20found','xtjkp','open','4043615srzMQu','ranger-cli','initialize','dvrVW','DSBeM','uhscl','log','mcp-oauth-tokens.json','accessToken','Could\x20not\x20extract\x20token\x20from\x20MCP\x20response','/.well-known/oauth-authorization-server','xozfb','isTTY','No\x20authorization_servers\x20in\x20protected\x20resource\x20metadata','HiQwe','BFGxP','cntMf','mxfmD','write','47594HQMRUg','2.0','client_id','YgGuS','type','Could\x20not\x20fetch\x20protected\x20resource\x20metadata\x20from\x20MCP\x20server','origin','uTjUz','utf-8','update','startsWith','Exchanging\x20authorization\x20code...','jCQGa','OAuth\x20error:\x20','state','\x0aToken\x20written\x20to\x20','access_token','authorization_endpoint','token','searchParams','.ranger','Initializing\x20MCP\x20session...','cwIIz','code','MCP\x20server\x20returned\x20HTTP\x20','PLFcm','DQyTu','If\x20the\x20browser\x20doesn\x27t\x20open,\x20visit:\x0a','end','content','qnUlX','get','PFpYZ','content-type','JYYRL','6614504Wdtvxr','toString','MbpdZ','application/json','1387738rWTkVv','bGIWo','parse','YuvFI','application/x-www-form-urlencoded','expiresAt','127.0.0.1','resource','UdPBl','OKYjH','result','base64url','clientId','qnekQ','3970365vAhrxE','dYwZN','15144606bUwkum','MLkpK','<html><body><h2>Authentication\x20failed</h2><p>','json','OAuth\x20callback\x20timed\x20out\x20after\x202\x20minutes','10zomiow','Run\x20`ranger\x20setup\x20--mcp-bootstrap`\x20interactively\x20first.','message','HiecP','219YlDJcr','PqCGa','Etobu','eazvy','HLQHu','closeAllConnections','28810727ckUgkh','/.well-known/oauth-protected-resource','tools/call','vIvSG','S256','sha256','8IvgCom','text','slice','http://localhost:','nVmXO','includes','then','POST','vfwaG','PbfQw','close','1.0.0','IPjUk','jndAH','ZJrCo','authorization_code','Discovering\x20authorization\x20server...','tpeDw','hex','kfIef','length','<html><body><h2>Authenticated!</h2><p>You\x20can\x20close\x20this\x20window\x20and\x20return\x20to\x20the\x20terminal.</p></body></html>'];_0x3d40=function(){return _0x35ed69;};return _0x3d40();}async function oauthFlow(_0x1e76af){const _0x39fb26=_0x1045e2,_0x15d254={'jFfNS':function(_0x46bedb,_0x519b1c){return _0x46bedb(_0x519b1c);},'xtjkp':function(_0x29a038,_0x1e5516){return _0x29a038 instanceof _0x1e5516;},'IPjUk':function(_0x14a4ed){return _0x14a4ed();}};try{return await _0x15d254['jFfNS'](oauthFlowAttempt,_0x1e76af);}catch(_0x49c8ce){if(_0x15d254[_0x39fb26(0xe4)](_0x49c8ce,OAuthTimeoutError)&&await _0x15d254[_0x39fb26(0xb8)](loadCachedClient))return console[_0x39fb26(0xec)]('\x0aCached\x20OAuth\x20client\x20may\x20be\x20stale\x20—\x20clearing\x20and\x20retrying...\x0a'),await clearCachedClient(),await oauthFlowAttempt(_0x1e76af);throw _0x49c8ce;}}async function oauthFlowAttempt(_0x5bc01c){const _0x409a4c=_0x1045e2,_0x7cebca={'Uqdgv':_0x409a4c(0xbc),'gBPYz':_0x409a4c(0xfe),'Tuxrz':function(_0x57567d){return _0x57567d();},'PRItk':_0x409a4c(0xdb),'MfUQZ':'authorization_code','dCzay':_0x409a4c(0x110),'fDrMO':'none','UdPBl':_0x409a4c(0xd9),'jCQGa':function(_0x3c8eaf,_0x381b01){return _0x3c8eaf(_0x381b01);},'HGOnm':_0x409a4c(0xbe),'qnUlX':'response_type','vWCEo':'redirect_uri','eazvy':'resource','qWXsx':'\x0aOpening\x20browser\x20for\x20authentication...','PbfQw':function(_0x464c1e,_0x15d3b9){return _0x464c1e(_0x15d3b9);},'dYwZN':'client_secret','HiecP':function(_0x4dded6,_0x35bc1a,_0x2bdd34){return _0x4dded6(_0x35bc1a,_0x2bdd34);},'UUrEm':_0x409a4c(0x124)},_0x133e39=_0x5bc01c['replace'](/\/mcp$/,'');process['stdout']['write'](_0x7cebca['Uqdgv']);const _0x2a1ad6=await fetch(_0x133e39+_0x409a4c(0xa7));if(!_0x2a1ad6['ok'])throw new Error(_0x7cebca['gBPYz']);const _0x267a0c=await _0x2a1ad6[_0x409a4c(0x9a)](),_0xcaa24a=_0x267a0c[_0x409a4c(0xdd)]?.[0x0];if(!_0xcaa24a)throw new Error(_0x409a4c(0xf3));console[_0x409a4c(0xec)]('\x20'+_0xcaa24a);const _0x5b98c0=await fetchAuthServerMetadata(_0xcaa24a);let _0x2bc87f,_0x529d1f;const _0xdd37f1=await _0x7cebca['Tuxrz'](loadCachedClient);if(_0xdd37f1)_0x2bc87f=_0xdd37f1[_0x409a4c(0x12c)],_0x529d1f=_0xdd37f1['clientSecret'];else{if(_0x5b98c0['registration_endpoint']){process['stdout'][_0x409a4c(0xf8)]('Registering\x20OAuth\x20client...');const _0x47897c=await fetch(_0x5b98c0['registration_endpoint'],{'method':_0x409a4c(0xb3),'headers':{'Content-Type':_0x409a4c(0x11f)},'body':JSON['stringify']({'client_name':_0x7cebca['PRItk'],'redirect_uris':['http://localhost:'+CALLBACK_PORT+'/callback'],'grant_types':[_0x7cebca['MfUQZ'],'refresh_token'],'response_types':[_0x7cebca[_0x409a4c(0xc9)]],'token_endpoint_auth_method':_0x7cebca['fDrMO']})});if(!_0x47897c['ok']){const _0x58c822=await _0x47897c[_0x409a4c(0xad)]();throw new Error('Client\x20registration\x20failed:\x20'+_0x58c822);}const _0x1a4e9c=await _0x47897c['json']();_0x2bc87f=_0x1a4e9c[_0x409a4c(0xfb)],_0x529d1f=_0x1a4e9c['client_secret'],await saveCachedClient(_0x2bc87f,_0x529d1f),console['log'](_0x7cebca[_0x409a4c(0x128)]);}else throw new Error('Authorization\x20server\x20does\x20not\x20support\x20dynamic\x20client\x20registration\x20and\x20no\x20cached\x20client\x20found');}const _0x117137=_0x7cebca[_0x409a4c(0x105)](randomBytes,0x20)[_0x409a4c(0x11d)]('base64url'),_0x209158=_0x7cebca[_0x409a4c(0x105)](createHash,_0x409a4c(0xab))[_0x409a4c(0x102)](_0x117137)['digest'](_0x409a4c(0x12b)),_0x510ed0=randomBytes(0x10)['toString'](_0x7cebca['HGOnm']),_0x3ae28b=new URL(_0x5b98c0[_0x409a4c(0x10a)]);_0x3ae28b['searchParams']['set'](_0x7cebca[_0x409a4c(0x117)],'code'),_0x3ae28b[_0x409a4c(0x10c)][_0x409a4c(0xd6)]('client_id',_0x2bc87f),_0x3ae28b[_0x409a4c(0x10c)]['set'](_0x7cebca['vWCEo'],'http://localhost:'+CALLBACK_PORT+_0x409a4c(0xdf)),_0x3ae28b[_0x409a4c(0x10c)][_0x409a4c(0xd6)]('code_challenge',_0x209158),_0x3ae28b['searchParams'][_0x409a4c(0xd6)]('code_challenge_method',_0x409a4c(0xaa)),_0x3ae28b[_0x409a4c(0x10c)][_0x409a4c(0xd6)](_0x409a4c(0x107),_0x510ed0);_0x267a0c[_0x409a4c(0x127)]&&_0x3ae28b['searchParams'][_0x409a4c(0xd6)](_0x7cebca[_0x409a4c(0xa3)],_0x267a0c[_0x409a4c(0x127)]);console['log'](_0x7cebca['qWXsx']),console['log'](_0x409a4c(0x114)+_0x3ae28b[_0x409a4c(0x11d)]()+'\x0a'),await _0x7cebca[_0x409a4c(0xb5)](openBrowser,_0x3ae28b['toString']());const _0x2f01a4=await waitForCallback(_0x510ed0);process['stdout']['write'](_0x409a4c(0x104));const _0x1e615b=new URLSearchParams({'grant_type':_0x409a4c(0xbb),'code':_0x2f01a4,'redirect_uri':_0x409a4c(0xaf)+CALLBACK_PORT+'/callback','client_id':_0x2bc87f,'code_verifier':_0x117137});_0x529d1f&&_0x1e615b['set'](_0x7cebca[_0x409a4c(0x96)],_0x529d1f);_0x267a0c[_0x409a4c(0x127)]&&_0x1e615b[_0x409a4c(0xd6)](_0x7cebca[_0x409a4c(0xa3)],_0x267a0c['resource']);const _0x1de761=await _0x7cebca[_0x409a4c(0x9f)](fetch,_0x5b98c0['token_endpoint'],{'method':'POST','headers':{'Content-Type':_0x7cebca[_0x409a4c(0xc8)]},'body':_0x1e615b});if(!_0x1de761['ok']){const _0xdfa483=await _0x1de761['text']();throw new Error('Token\x20exchange\x20failed:\x20'+_0xdfa483);}const _0x31ba64=await _0x1de761['json']();return console['log']('\x20done'),await saveCachedToken(_0x31ba64[_0x409a4c(0x109)],_0x31ba64['refresh_token'],_0x31ba64['expires_in']),_0x31ba64['access_token'];}async function callGetCliToken(_0x557983,_0x537bac){const _0x1587ef=_0x1045e2,_0x2e8125={'bGIWo':'application/json,\x20text/event-stream','jaQmS':'Authorization','YAelJ':_0x1587ef(0x10e),'nllED':'2.0','EFNwe':_0x1587ef(0xe7),'vZtPN':'Requesting\x20CLI\x20token...','MnDem':function(_0x40a434,_0x5056c7){return _0x40a434(_0x5056c7);},'hKyoE':_0x1587ef(0xcb),'BFggX':_0x1587ef(0xef),'DaFDq':_0x1587ef(0x10d),'GZpeS':_0x1587ef(0xde),'PIfrO':function(_0x46510a,_0x3d712b,_0x16aef8){return _0x46510a(_0x3d712b,_0x16aef8);},'TgUzq':function(_0x2a2003,_0x2f0bf6,_0x521f1b,_0x4e8915){return _0x2a2003(_0x2f0bf6,_0x521f1b,_0x4e8915);},'HLQHu':function(_0xdea220,_0x178564,_0xe59ce9,_0x2e24fc){return _0xdea220(_0x178564,_0xe59ce9,_0x2e24fc);},'ZJrCo':function(_0x324091,_0xb983b7,_0x29b7c2){return _0x324091(_0xb983b7,_0x29b7c2);},'LsDnK':'Run\x20`ranger\x20status`\x20to\x20verify\x20authentication.\x0a'},_0x398090={'Content-Type':'application/json','Accept':_0x2e8125[_0x1587ef(0x121)]};_0x537bac&&(_0x398090[_0x2e8125[_0x1587ef(0xd1)]]='Bearer\x20'+_0x537bac);const _0x18ba5a=async _0x5992fa=>{const _0x4586ed=_0x1587ef,_0x539ac4=await fetch(_0x557983,{'method':_0x4586ed(0xb3),'headers':_0x398090,'body':JSON['stringify'](_0x5992fa)});if(!_0x539ac4['ok']){const _0x27d779=await _0x539ac4[_0x4586ed(0xad)]();throw new Error(_0x4586ed(0xe0)+_0x539ac4[_0x4586ed(0xc7)]+':\x20'+_0x27d779);}return parseResponse(_0x539ac4);};process['stdout']['write'](_0x2e8125[_0x1587ef(0xce)]);const _0x45cb26=await _0x18ba5a({'jsonrpc':_0x2e8125['nllED'],'id':0x1,'method':_0x1587ef(0xe8),'params':{'protocolVersion':'2025-03-26','capabilities':{},'clientInfo':{'name':_0x2e8125['EFNwe'],'version':_0x1587ef(0xb7)}}});if(_0x45cb26[_0x1587ef(0xd3)])throw new Error('MCP\x20initialize\x20failed:\x20'+(_0x45cb26[_0x1587ef(0xd3)]['message']??JSON[_0x1587ef(0xd7)](_0x45cb26['error'])));console[_0x1587ef(0xec)](_0x1587ef(0xd9)),await fetch(_0x557983,{'method':_0x1587ef(0xb3),'headers':_0x398090,'body':JSON['stringify']({'jsonrpc':_0x2e8125['nllED'],'method':'notifications/initialized'})})[_0x1587ef(0xb2)](_0x1a02cf=>_0x1a02cf[_0x1587ef(0xad)]()),process['stdout']['write'](_0x2e8125['vZtPN']);const _0x25723c=await _0x2e8125['MnDem'](_0x18ba5a,{'jsonrpc':_0x1587ef(0xfa),'id':0x2,'method':_0x1587ef(0xa8),'params':{'name':'get_cli_token','arguments':{}}});if(_0x25723c[_0x1587ef(0xd3)])throw new Error('get_cli_token\x20failed:\x20'+(_0x25723c['error'][_0x1587ef(0x9e)]??JSON[_0x1587ef(0xd7)](_0x25723c['error'])));console['log'](_0x1587ef(0xd9));const _0x4c499f=extractToken(_0x25723c[_0x1587ef(0x12a)]);if(!_0x4c499f){console[_0x1587ef(0xd3)](_0x2e8125['hKyoE']),console['error'](JSON[_0x1587ef(0xd7)](_0x25723c['result'],null,0x2));throw new Error(_0x2e8125[_0x1587ef(0xe2)]);}const _0x3d139d=join(homedir(),_0x2e8125['DaFDq']),_0x1ae841=join(_0x3d139d,_0x2e8125['GZpeS']);await _0x2e8125['PIfrO'](mkdir,_0x3d139d,{'recursive':!![]}),await _0x2e8125['TgUzq'](writeFile,_0x1ae841,_0x4c499f,{'mode':0x180}),await _0x2e8125[_0x1587ef(0xa4)](writeFile,_0x2e8125[_0x1587ef(0xba)](join,_0x3d139d,_0x1587ef(0xe1)),_0x557983,{'mode':0x180}),console['log'](_0x1587ef(0x108)+_0x1ae841),console['log'](_0x2e8125['LsDnK']);}async function fetchAuthServerMetadata(_0x274435){const _0x3843d3=_0x1045e2,_0x5f1669=_0x274435+_0x3843d3(0xf0),_0x235566=await fetch(_0x5f1669);if(!_0x235566['ok'])throw new Error('Could\x20not\x20fetch\x20auth\x20server\x20metadata\x20from\x20'+_0x5f1669+':\x20'+_0x235566['status']);return _0x235566[_0x3843d3(0x9a)]();}function waitForCallback(_0x15f879){const _0x2e337a=_0x1045e2,_0x4d2e2e={'BFGxP':function(_0xc93888,_0x58cb63){return _0xc93888!==_0x58cb63;},'HiQwe':_0x2e337a(0xd3),'DQyTu':function(_0x3527cb,_0x5c2240){return _0x3527cb!==_0x5c2240;},'JYYRL':function(_0x14c72b,_0x45d4a7){return _0x14c72b(_0x45d4a7);},'PEiXn':_0x2e337a(0x126)};return new Promise((_0x59e2a9,_0x2b4cbe)=>{const _0x433202=_0x2e337a,_0x20bf68={'MbpdZ':function(_0x44a2f7){return _0x44a2f7();},'uhscl':function(_0x4b6b1e,_0x1fac6d){return _0x4b6b1e(_0x1fac6d);},'BnYer':_0x433202(0x9b),'cNlOq':function(_0x2880bd,_0x5c0d1a){const _0x571a0e=_0x433202;return _0x4d2e2e[_0x571a0e(0xf5)](_0x2880bd,_0x5c0d1a);},'umMeI':_0x433202(0xe3),'qnekQ':_0x433202(0x110),'dvrVW':_0x433202(0x107),'mxfmD':_0x4d2e2e[_0x433202(0xf4)],'liuvX':'error_description','xozfb':_0x433202(0xc5),'OKYjH':function(_0xd370bd,_0x4d8f65){const _0x4243c4=_0x433202;return _0x4d2e2e[_0x4243c4(0x113)](_0xd370bd,_0x4d8f65);},'PqCGa':'<html><body><h2>Invalid\x20callback</h2><p>Missing\x20code\x20or\x20state\x20mismatch.</p></body></html>','BXQpI':function(_0x2937ba,_0xf2cef8){const _0xb0950b=_0x433202;return _0x4d2e2e[_0xb0950b(0x11b)](_0x2937ba,_0xf2cef8);},'POWEP':function(_0x31535b,_0x53b4ed){return _0x4d2e2e['JYYRL'](_0x31535b,_0x53b4ed);}},_0x5109de=()=>{const _0x1e6302=_0x433202;_0x3971a5[_0x1e6302(0xa5)](),_0x3971a5[_0x1e6302(0xb6)]();},_0x3985a8=setTimeout(()=>{const _0x41b031=_0x433202;_0x20bf68['MbpdZ'](_0x5109de),_0x20bf68[_0x41b031(0xeb)](_0x2b4cbe,new OAuthTimeoutError(_0x20bf68['BnYer']));},0x1d4c0),_0x3971a5=_0x4d2e2e[_0x433202(0x11b)](createServer,(_0x2ec380,_0x3fbd2a)=>{const _0x40b9c0=_0x433202,_0x53115f=new URL(_0x2ec380['url']??'/',_0x40b9c0(0xaf)+CALLBACK_PORT);if(_0x20bf68[_0x40b9c0(0xdc)](_0x53115f['pathname'],'/callback')){_0x3fbd2a[_0x40b9c0(0xcf)](0x194),_0x3fbd2a[_0x40b9c0(0x115)](_0x20bf68['umMeI']);return;}const _0x4664d3=_0x53115f['searchParams']['get'](_0x20bf68[_0x40b9c0(0x94)]),_0xb7adbd=_0x53115f[_0x40b9c0(0x10c)][_0x40b9c0(0x118)](_0x20bf68[_0x40b9c0(0xe9)]),_0x233bb4=_0x53115f[_0x40b9c0(0x10c)]['get'](_0x20bf68[_0x40b9c0(0xf7)]);if(_0x233bb4){const _0x3af0a3=_0x53115f['searchParams']['get'](_0x20bf68['liuvX'])??_0x233bb4;_0x3fbd2a[_0x40b9c0(0xcf)](0xc8,{'Content-Type':_0x20bf68[_0x40b9c0(0xf1)]}),_0x3fbd2a['end'](_0x40b9c0(0x99)+_0x3af0a3+'</p><p>You\x20can\x20close\x20this\x20window.</p></body></html>'),clearTimeout(_0x3985a8),_0x20bf68[_0x40b9c0(0x11e)](_0x5109de),_0x20bf68['uhscl'](_0x2b4cbe,new Error(_0x40b9c0(0x106)+_0x3af0a3));return;}if(!_0x4664d3||_0x20bf68[_0x40b9c0(0x129)](_0xb7adbd,_0x15f879)){_0x3fbd2a['writeHead'](0x190,{'Content-Type':_0x20bf68['xozfb']}),_0x3fbd2a[_0x40b9c0(0x115)](_0x20bf68[_0x40b9c0(0xa1)]);return;}_0x3fbd2a['writeHead'](0xc8,{'Content-Type':_0x20bf68[_0x40b9c0(0xf1)]}),_0x3fbd2a['end'](_0x40b9c0(0xc1)),_0x20bf68[_0x40b9c0(0xc3)](clearTimeout,_0x3985a8),_0x20bf68[_0x40b9c0(0x11e)](_0x5109de),_0x20bf68['POWEP'](_0x59e2a9,_0x4664d3);});_0x3971a5[_0x433202(0xcc)](CALLBACK_PORT,_0x4d2e2e['PEiXn']);});}async function openBrowser(_0x4d7f3d){const _0x48a8fb=_0x1045e2,_0x55f0e8={'qAVmJ':'darwin','pxMOg':_0x48a8fb(0xe5),'uTjUz':_0x48a8fb(0xc2)},_0xef2e54=process['platform']===_0x55f0e8['qAVmJ']?_0x55f0e8['pxMOg']:process['platform']==='win32'?_0x55f0e8[_0x48a8fb(0x100)]:_0x48a8fb(0xd8);exec(_0xef2e54+'\x20\x22'+_0x4d7f3d+'\x22');}let currentOrigin='';async function loadCachedToken(){const _0x1ab910=_0x1045e2,_0x4d8fa6={'nVmXO':function(_0x466fc3,_0x258e86){return _0x466fc3!==_0x258e86;},'hpQbs':function(_0x2824b2,_0x33ce2e){return _0x2824b2>_0x33ce2e;}};try{const _0x28fd94=JSON[_0x1ab910(0x122)](await readFile(TOKEN_CACHE_PATH,_0x1ab910(0x101)));if(_0x28fd94[_0x1ab910(0xff)]&&_0x4d8fa6[_0x1ab910(0xb0)](_0x28fd94[_0x1ab910(0xff)],currentOrigin))return null;if(_0x28fd94[_0x1ab910(0x125)]&&_0x4d8fa6['hpQbs'](Date['now'](),_0x28fd94['expiresAt']))return null;return _0x28fd94['accessToken']??null;}catch{return null;}}async function saveCachedToken(_0x1ab666,_0x5729d0,_0x3fafe3){const _0x51583b=_0x1045e2,_0x1c4abf={'HxkSb':function(_0x426620,_0x309434){return _0x426620*_0x309434;},'tltos':_0x51583b(0x10d)},_0x417c5c=await loadCachedData(),_0x120670={..._0x417c5c,'origin':currentOrigin,'accessToken':_0x1ab666,'refreshToken':_0x5729d0??_0x417c5c?.['refreshToken'],'expiresAt':_0x3fafe3?Date['now']()+_0x1c4abf['HxkSb'](_0x3fafe3,0x3e8):undefined};await mkdir(join(homedir(),_0x1c4abf['tltos']),{'recursive':!![]}),await writeFile(TOKEN_CACHE_PATH,JSON[_0x51583b(0xd7)](_0x120670),{'mode':0x180});}async function loadCachedClient(){const _0x39be2b=_0x1045e2,_0x5b1dc8={'cunLp':function(_0x57a28d){return _0x57a28d();}},_0x3fe5f2=await _0x5b1dc8['cunLp'](loadCachedData);if(_0x3fe5f2?.['origin']&&_0x3fe5f2['origin']!==currentOrigin)return null;return _0x3fe5f2?.[_0x39be2b(0x12c)]?{'clientId':_0x3fe5f2[_0x39be2b(0x12c)],'clientSecret':_0x3fe5f2['clientSecret']}:null;}async function clearCachedClient(){const _0xbb505={'RyXsw':function(_0x3cbd3d,_0x3c9bf6,_0x1bdfd9,_0x5c4395){return _0x3cbd3d(_0x3c9bf6,_0x1bdfd9,_0x5c4395);}},_0x10d0cf=await loadCachedData();if(!_0x10d0cf)return;const {clientId:_0xfd0251,clientSecret:_0x26f3fe,..._0x2db53d}=_0x10d0cf;await _0xbb505['RyXsw'](writeFile,TOKEN_CACHE_PATH,JSON['stringify'](_0x2db53d),{'mode':0x180});}async function saveCachedClient(_0x3f36ad,_0x162c9c){const _0x180b0a=_0x1045e2,_0x23b9d9={'GBtiF':function(_0xe0df25){return _0xe0df25();},'MLkpK':function(_0x55e4ba,_0x1c3d63,_0x16236a){return _0x55e4ba(_0x1c3d63,_0x16236a);},'cntMf':function(_0x8a0652,_0x4cefb3,_0x1d4e89,_0xecd131){return _0x8a0652(_0x4cefb3,_0x1d4e89,_0xecd131);}},_0x10ddc5=await _0x23b9d9['GBtiF'](loadCachedData),_0x4442bc={..._0x10ddc5,'origin':currentOrigin,'accessToken':_0x10ddc5?.[_0x180b0a(0xee)]??'','clientId':_0x3f36ad,'clientSecret':_0x162c9c};await mkdir(_0x23b9d9[_0x180b0a(0x98)](join,homedir(),'.ranger'),{'recursive':!![]}),await _0x23b9d9[_0x180b0a(0xf6)](writeFile,TOKEN_CACHE_PATH,JSON[_0x180b0a(0xd7)](_0x4442bc),{'mode':0x180});}async function loadCachedData(){const _0x4f9d89=_0x1045e2,_0x2a5788={'cwIIz':function(_0x5c326a,_0x4bd89b,_0x1eea0c){return _0x5c326a(_0x4bd89b,_0x1eea0c);},'vfwaG':'utf-8'};try{return JSON['parse'](await _0x2a5788[_0x4f9d89(0x10f)](readFile,TOKEN_CACHE_PATH,_0x2a5788[_0x4f9d89(0xb4)]));}catch{return null;}}async function parseResponse(_0x356d04){const _0x52dbc3=_0x1045e2,_0x5d8795={'yLibr':_0x52dbc3(0xca),'PFpYZ':function(_0x5a1594,_0x54f0c4){return _0x5a1594!==_0x54f0c4;}},_0x5609e6=_0x356d04['headers']['get'](_0x52dbc3(0x11a))??'';if(_0x5609e6[_0x52dbc3(0xb1)]('text/event-stream')){const _0x517684=await _0x356d04[_0x52dbc3(0xad)]();for(const _0x370e1b of _0x517684[_0x52dbc3(0xc4)]('\x0a')){const _0x1f4524=_0x370e1b['trim']();if(_0x1f4524[_0x52dbc3(0x103)]('data:')){const _0x542bdb=_0x1f4524[_0x52dbc3(0xae)](_0x5d8795['yLibr'][_0x52dbc3(0xc0)])['trim']();if(!_0x542bdb)continue;try{const _0x3bf80e=JSON['parse'](_0x542bdb);if(_0x5d8795[_0x52dbc3(0x119)](_0x3bf80e['id'],undefined)||_0x3bf80e['error'])return _0x3bf80e;}catch{}}}throw new Error(_0x52dbc3(0xd2));}return _0x356d04['json']();}function extractToken(_0x35d4f6){const _0x21a30a=_0x1045e2,_0x489437={'YgGuS':'Unknown\x20error','DSBeM':function(_0x3ff530,_0x126c85){return _0x3ff530===_0x126c85;},'vIvSG':'string'};if(!_0x35d4f6)return null;const _0x507304=_0x35d4f6['structuredContent'];if(_0x507304?.[_0x21a30a(0x10b)]&&typeof _0x507304[_0x21a30a(0x10b)]==='string')return _0x507304[_0x21a30a(0x10b)];if(_0x35d4f6['isError']){const _0x30e666=_0x35d4f6[_0x21a30a(0x116)];throw new Error(_0x21a30a(0xcd)+(_0x30e666?.[0x0]?.['text']??_0x489437[_0x21a30a(0xfc)]));}const _0x4f44ef=_0x35d4f6[_0x21a30a(0x116)];if(_0x4f44ef)for(const _0x5e6ccc of _0x4f44ef){if(_0x5e6ccc[_0x21a30a(0xfd)]==='text'&&_0x5e6ccc['text']){try{const _0x42cb39=JSON[_0x21a30a(0x122)](_0x5e6ccc[_0x21a30a(0xad)]);if(_0x489437[_0x21a30a(0xea)](typeof _0x42cb39?.['token'],_0x489437[_0x21a30a(0xa9)]))return _0x42cb39[_0x21a30a(0x10b)];}catch{}const _0x22009f=_0x5e6ccc['text']['match'](/(rngr_[A-Za-z0-9_-]+)/);if(_0x22009f)return _0x22009f[0x1];}}return null;}
@@ -1 +1 @@
1
- function _0x5a46(_0x1e599d,_0x511f0a){_0x1e599d=_0x1e599d-0xe6;var _0x45125c=_0x4512();var _0x5a4696=_0x45125c[_0x1e599d];return _0x5a4696;}(function(_0x368548,_0x1ea85a){var _0x1699e0=_0x5a46,_0x14ba01=_0x368548();while(!![]){try{var _0x543ffe=-parseInt(_0x1699e0(0xf2))/0x1*(parseInt(_0x1699e0(0xe8))/0x2)+-parseInt(_0x1699e0(0xe6))/0x3+parseInt(_0x1699e0(0xea))/0x4+-parseInt(_0x1699e0(0xef))/0x5*(parseInt(_0x1699e0(0xf1))/0x6)+-parseInt(_0x1699e0(0xe9))/0x7+-parseInt(_0x1699e0(0xf0))/0x8+parseInt(_0x1699e0(0xe7))/0x9;if(_0x543ffe===_0x1ea85a)break;else _0x14ba01['push'](_0x14ba01['shift']());}catch(_0x2cb8dc){_0x14ba01['push'](_0x14ba01['shift']());}}}(_0x4512,0xde321));function _0x4512(){var _0x8a1a07=['cNPIG','3709197KDBbMu','39489426rLTGga','4978lSxRiu','12732524hVqBbH','3257264FiltNW','hAIYF','FWbHC','tvuUN','ranger\x20profile\x20migrate\x20is\x20no\x20longer\x20supported.\x0a','15qUcqpD','963432jOaWZh','460146TBqAnN','356diajxm'];_0x4512=function(){return _0x8a1a07;};return _0x4512();}export async function migrateProfile(_0x3a4d87,_0x3055e7){var _0x262d95=_0x5a46,_0x5d67e4={'hAIYF':function(_0x18e58a,_0x41ff3e){return _0x18e58a+_0x41ff3e;},'mTEVR':function(_0x2cda02,_0x496aea){return _0x2cda02+_0x496aea;},'mLXpc':function(_0x5c2d5b,_0x3cf81c){return _0x5c2d5b+_0x3cf81c;},'YtEbC':function(_0x5c09d2,_0x5df705){return _0x5c09d2+_0x5df705;},'KhAHJ':_0x262d95(0xee),'sTnmd':'To\x20set\x20up\x20a\x20fresh\x20profile,\x20run:\x0a','cNPIG':'\x20\x20ranger\x20profile\x20add\x20<name>\x0a','FWbHC':'For\x20CI\x20/\x20background\x20agents\x20and\x20other\x20setup\x20options,\x20see:\x0a','tvuUN':'\x20\x20https://docs.ranger.net/main/concepts/profiles\x0a','XdRLj':'fallback;\x20you\x20can\x20delete\x20them\x20once\x20you\x20have\x20re-auth-ed.'};console['error'](_0x5d67e4['hAIYF'](_0x5d67e4[_0x262d95(0xeb)](_0x5d67e4[_0x262d95(0xeb)](_0x5d67e4['mTEVR'](_0x5d67e4['mLXpc'](_0x5d67e4['YtEbC'](_0x5d67e4['KhAHJ']+'\x0a',_0x5d67e4['sTnmd']),_0x5d67e4[_0x262d95(0xf3)])+'\x0a',_0x5d67e4[_0x262d95(0xec)])+_0x5d67e4[_0x262d95(0xed)],'\x0a'),'Existing\x20sessions\x20in\x20your\x20old\x20<project>/.ranger/\x20dirs\x20still\x20work\x20as\x20a\x0a'),_0x5d67e4['XdRLj'])),process['exit'](0x1);}
1
+ (function(_0x1ddf27,_0x5cbb0e){var _0x4c27ca=_0xa916,_0x171984=_0x1ddf27();while(!![]){try{var _0x1eb000=parseInt(_0x4c27ca(0x152))/0x1+parseInt(_0x4c27ca(0x14c))/0x2*(parseInt(_0x4c27ca(0x150))/0x3)+parseInt(_0x4c27ca(0x159))/0x4+parseInt(_0x4c27ca(0x15a))/0x5*(parseInt(_0x4c27ca(0x14d))/0x6)+-parseInt(_0x4c27ca(0x155))/0x7+parseInt(_0x4c27ca(0x158))/0x8+-parseInt(_0x4c27ca(0x151))/0x9*(parseInt(_0x4c27ca(0x15b))/0xa);if(_0x1eb000===_0x5cbb0e)break;else _0x171984['push'](_0x171984['shift']());}catch(_0x89d282){_0x171984['push'](_0x171984['shift']());}}}(_0x42d9,0x82717));function _0xa916(_0x227a57,_0x646bd0){_0x227a57=_0x227a57-0x14b;var _0x42d90b=_0x42d9();var _0xa916e9=_0x42d90b[_0x227a57];return _0xa916e9;}function _0x42d9(){var _0x1b1276=['76NYLjUI','78bUWKQn','ranger\x20profile\x20migrate\x20is\x20no\x20longer\x20supported.\x0a','bZPfV','15735vkDZLo','27Dcdoth','967100aIdSZw','\x20\x20ranger\x20profile\x20add\x20<name>\x0a','\x20\x20https://docs.ranger.net/main/concepts/profiles\x0a','4106599qzONXw','To\x20set\x20up\x20a\x20fresh\x20profile,\x20run:\x0a','fallback;\x20you\x20can\x20delete\x20them\x20once\x20you\x20have\x20re-auth-ed.','2563560RrgGGT','783852xSTxRd','265325dcSCRs','4172370ZPBwkJ','For\x20CI\x20/\x20background\x20agents\x20and\x20other\x20setup\x20options,\x20see:\x0a','exit','yyKpQ','Existing\x20sessions\x20in\x20your\x20old\x20<project>/.ranger/\x20dirs\x20still\x20work\x20as\x20a\x0a'];_0x42d9=function(){return _0x1b1276;};return _0x42d9();}export async function migrateProfile(_0x56f371,_0x3f42d4){var _0x4b35ee=_0xa916,_0x1864fd={'bZPfV':function(_0x1294a6,_0x46371d){return _0x1294a6+_0x46371d;},'yyKpQ':_0x4b35ee(0x15c)};console['error'](_0x1864fd[_0x4b35ee(0x14f)](_0x1864fd[_0x4b35ee(0x14f)](_0x1864fd[_0x4b35ee(0x14f)](_0x4b35ee(0x14e)+'\x0a'+_0x4b35ee(0x156)+_0x4b35ee(0x153),'\x0a')+_0x1864fd[_0x4b35ee(0x15e)],_0x4b35ee(0x154))+'\x0a',_0x4b35ee(0x14b))+_0x4b35ee(0x157)),process[_0x4b35ee(0x15d)](0x1);}
@@ -1 +1 @@
1
- (function(_0x3db13f,_0x41e2f4){const _0x52a175=_0x4ef9,_0x2b6534=_0x3db13f();while(!![]){try{const _0x378725=-parseInt(_0x52a175(0x9a))/0x1+-parseInt(_0x52a175(0xb6))/0x2+-parseInt(_0x52a175(0xbe))/0x3*(-parseInt(_0x52a175(0xa2))/0x4)+parseInt(_0x52a175(0xbb))/0x5+parseInt(_0x52a175(0xbc))/0x6*(parseInt(_0x52a175(0x9f))/0x7)+parseInt(_0x52a175(0xa1))/0x8+-parseInt(_0x52a175(0xa7))/0x9;if(_0x378725===_0x41e2f4)break;else _0x2b6534['push'](_0x2b6534['shift']());}catch(_0x5b6bd0){_0x2b6534['push'](_0x2b6534['shift']());}}}(_0x438a,0x90204));function _0x4ef9(_0x558738,_0x55d05b){_0x558738=_0x558738-0x95;const _0x438abd=_0x438a();let _0x4ef9ef=_0x438abd[_0x558738];return _0x4ef9ef;}import{join}from'path';import{existsSync}from'fs';import _0x1e80e2 from'inquirer';import{skillup}from'../skillup.js';import{runClaudeCommand,isMarketplaceAdded,isPluginInstalled}from'../utils/claudePlugin.js';import{getProjectRoot,getSkillsDir}from'../utils/claudeConfig.js';export async function ensureClaudePlugin(_0x13de13){const _0x4414db=_0x4ef9,_0x39becc={'ovPhy':function(_0x2b42a6,_0x2865a2){return _0x2b42a6(_0x2865a2);},'aVFAk':function(_0x2f7620,_0x3cdd43){return _0x2f7620(_0x3cdd43);},'qXufz':'.claude','ZamWZ':'\x0a📦\x20Claude\x20Code\x20Plugin\x0a','ijJfH':_0x4414db(0xa5),'zeJag':_0x4414db(0xba),'FqTaj':_0x4414db(0xb8),'pkZCb':'✓\x20Marketplace\x20already\x20added','KUaik':_0x4414db(0xbd),'ZeiqJ':'❌\x20Failed\x20to\x20add\x20marketplace:','btxRX':'\x0aYou\x20can\x20install\x20manually\x20with:','yJiBA':_0x4414db(0xb0),'cYPAv':'install','uakHY':'ranger@trailhead','JowGR':function(_0x5ef69f){return _0x5ef69f();},'qPXHL':'✓\x20Claude\x20Code\x20plugin\x20installed\x20successfully','FxvIw':function(_0x16a004,_0x44fe96){return _0x16a004===_0x44fe96;},'hsuYX':function(_0xa5c7d2,_0x596a30,_0x4bd737){return _0xa5c7d2(_0x596a30,_0x4bd737);}},_0x261007=await _0x39becc[_0x4414db(0xc1)](isPluginInstalled,_0x4414db(0xb4));if(_0x261007)return console['log']('✓\x20Claude\x20Code\x20plugin\x20already\x20installed'),![];const _0x19ee18=_0x39becc['aVFAk'](existsSync,join(getProjectRoot(),_0x39becc['qXufz']));let _0x54eb7f;if(_0x13de13)_0x54eb7f=_0x13de13;else{if(_0x19ee18)_0x54eb7f=_0x4414db(0xba);else{console['log'](_0x39becc['ZamWZ']);const _0x33cf10=await _0x1e80e2[_0x4414db(0xac)]([{'type':'list','name':_0x39becc['ijJfH'],'message':'Where\x20should\x20the\x20plugin\x20be\x20installed?','choices':[{'name':_0x4414db(0x99),'value':_0x4414db(0xb8)},{'name':'Project\x20(shared\x20with\x20team\x20via\x20git)','value':_0x39becc['zeJag']}],'default':_0x39becc['FqTaj']}]);_0x54eb7f=_0x33cf10['pluginScope'];}}console[_0x4414db(0x9d)](_0x4414db(0x95)+_0x54eb7f+_0x4414db(0xaf));const _0x57ea85=await isMarketplaceAdded('trailhead');let _0x38cf6f=_0x57ea85;if(_0x57ea85)console[_0x4414db(0x9d)](_0x39becc[_0x4414db(0xb7)]);else{const _0x2aa5e1=await runClaudeCommand([_0x39becc[_0x4414db(0xa0)],'marketplace',_0x4414db(0xb5),'ranger-testing/trailhead']);!_0x2aa5e1['success']?(console['error'](_0x39becc[_0x4414db(0xb9)],_0x2aa5e1[_0x4414db(0xb1)]),console['log'](_0x39becc['btxRX']),console[_0x4414db(0x9d)](_0x39becc[_0x4414db(0xa8)]),console['log'](_0x4414db(0xa6)+_0x54eb7f)):_0x38cf6f=!![];}if(_0x38cf6f){const _0x2c5290=await runClaudeCommand([_0x4414db(0xbd),_0x39becc[_0x4414db(0xa3)],_0x39becc['uakHY'],'--scope',_0x54eb7f],{'cwd':_0x54eb7f===_0x39becc['zeJag']?_0x39becc['JowGR'](getProjectRoot):undefined});if(!_0x2c5290[_0x4414db(0xab)])console[_0x4414db(0xb1)](_0x4414db(0xb3),_0x2c5290['error']),console['log'](_0x4414db(0x98)),console[_0x4414db(0x9d)](_0x4414db(0xa6)+_0x54eb7f);else{console[_0x4414db(0x9d)](_0x39becc['qPXHL']);const _0x52def8=['plugin',_0x4414db(0x96),_0x39becc[_0x4414db(0xb2)]];_0x39becc['FxvIw'](_0x54eb7f,'project')&&_0x52def8['push']('--scope',_0x4414db(0xba));const _0x3d0ccc=await _0x39becc[_0x4414db(0x9b)](runClaudeCommand,_0x52def8,{'captureOutput':!![],'cwd':_0x39becc['FxvIw'](_0x54eb7f,_0x39becc[_0x4414db(0xbf)])?getProjectRoot():undefined}),_0x34b57e=_0x3d0ccc['output']?.['includes'](_0x4414db(0xaa));!_0x3d0ccc[_0x4414db(0xab)]&&!_0x34b57e?console[_0x4414db(0xb1)](_0x4414db(0xa4),_0x3d0ccc['error']):console[_0x4414db(0x9d)]('✓\x20Claude\x20Code\x20plugin\x20enabled');}}return!![];}function _0x438a(){const _0x1c1b5d=['zKbEK','already\x20enabled','success','prompt','iAqVr','SKILL.md','\x20level)...\x0a','\x20\x20claude\x20plugin\x20marketplace\x20add\x20ranger-testing/trailhead','error','uakHY','❌\x20Failed\x20to\x20install\x20plugin:','ranger@trailhead','add','2169830qImgTh','pkZCb','user','ZeiqJ','project','4858160YfDwkL','6cFNJNf','plugin','24171eDMJgQ','zeJag','ZxdKx','ovPhy','eYDTY','\x0aInstalling\x20Claude\x20Code\x20plugin\x20(','enable','wantsSkillup','\x0aYou\x20can\x20install\x20manually\x20with:','User\x20(available\x20in\x20all\x20your\x20projects)','393588rOcjHH','hsuYX','.claude','log','SHYko','1586942Rvnpif','KUaik','8046240mIQVEY','80QGOiip','cYPAv','⚠\x20Failed\x20to\x20enable\x20plugin:','pluginScope','\x20\x20claude\x20plugin\x20install\x20ranger@trailhead\x20--scope\x20','2667735FLSBIj','yJiBA'];_0x438a=function(){return _0x1c1b5d;};return _0x438a();}export async function ensureClaudeSkills(_0x314f44){const _0x96f40b=_0x4ef9,_0x68638e={'eYDTY':function(_0x521eeb,_0xe5af78){return _0x521eeb(_0xe5af78);},'SHYko':_0x96f40b(0xae),'zKbEK':function(_0x3ec969,_0x411376,_0x1d44bd,_0x47d3d4){return _0x3ec969(_0x411376,_0x1d44bd,_0x47d3d4);},'iAqVr':'ranger','YfoTM':function(_0x159236,_0x4b654c){return _0x159236||_0x4b654c;},'ZxdKx':function(_0x47aa49){return _0x47aa49();},'Pxbcx':_0x96f40b(0xba),'DISKN':'Would\x20you\x20like\x20to\x20install\x20skills?'},_0x2f9dc5=_0x68638e[_0x96f40b(0xc2)](existsSync,join(getSkillsDir('user'),'ranger',_0x68638e[_0x96f40b(0x9e)])),_0x443574=existsSync(_0x68638e[_0x96f40b(0xa9)](join,getSkillsDir('project'),_0x68638e[_0x96f40b(0xad)],_0x68638e[_0x96f40b(0x9e)]));if(_0x68638e['YfoTM'](_0x2f9dc5,_0x443574))return console['log']('✓\x20Ranger\x20skills\x20already\x20installed'),![];const _0x2a157d=_0x68638e[_0x96f40b(0xc2)](existsSync,join(_0x68638e[_0x96f40b(0xc0)](getProjectRoot),_0x96f40b(0x9c)));let _0x1974bc=!![];if(_0x314f44)await skillup({'autoInstall':_0x314f44,'suppressUsage':!![]});else{if(_0x2a157d)await skillup({'autoInstall':_0x68638e['Pxbcx'],'suppressUsage':!![]});else{const _0x5c87be=await _0x1e80e2['prompt']([{'type':'confirm','name':_0x96f40b(0x97),'message':_0x68638e['DISKN'],'default':!![]}]);_0x1974bc=_0x5c87be[_0x96f40b(0x97)],_0x1974bc&&await skillup({'suppressUsage':!![]});}}return _0x1974bc;}
1
+ (function(_0x57e080,_0x25fbab){const _0x338c99=_0x42be,_0x2ba900=_0x57e080();while(!![]){try{const _0x542310=parseInt(_0x338c99(0x1b1))/0x1+parseInt(_0x338c99(0x1c7))/0x2*(parseInt(_0x338c99(0x1af))/0x3)+-parseInt(_0x338c99(0x1b8))/0x4+-parseInt(_0x338c99(0x1c6))/0x5+parseInt(_0x338c99(0x1d6))/0x6*(-parseInt(_0x338c99(0x1d0))/0x7)+-parseInt(_0x338c99(0x1c2))/0x8+parseInt(_0x338c99(0x1c3))/0x9;if(_0x542310===_0x25fbab)break;else _0x2ba900['push'](_0x2ba900['shift']());}catch(_0x4066d8){_0x2ba900['push'](_0x2ba900['shift']());}}}(_0x557f,0x95c26));function _0x557f(){const _0x37920b=['error','1609000TClktn','10mPrXRi','plugin','ranger@trailhead','add','User\x20(available\x20in\x20all\x20your\x20projects)','gzfVH','NLfso','project','❌\x20Failed\x20to\x20install\x20plugin:','237230XPgMEn','PtURd','push','list','HFizk','prompt','180uHgNAZ','tZrBt','log','rbfPE','cgzUj','ezRIo','wantsSkillup','OZVsY','578763IstnZC','tHbQo','723179HqgvMi','✓\x20Marketplace\x20already\x20added','YQiFh','✓\x20Claude\x20Code\x20plugin\x20enabled','ranger-testing/trailhead','LdENS','\x20\x20claude\x20plugin\x20install\x20ranger@trailhead\x20--scope\x20','4755244esftkr','--scope','Would\x20you\x20like\x20to\x20install\x20skills?','Fxzrz','pluginScope','ranger','\x0a📦\x20Claude\x20Code\x20Plugin\x0a','SKILL.md','success','hHilb','7816296zgvxJr','21869802vkxkQo','user'];_0x557f=function(){return _0x37920b;};return _0x557f();}import{join}from'path';import{existsSync}from'fs';import _0x29153c from'inquirer';import{skillup}from'../skillup.js';import{runClaudeCommand,isMarketplaceAdded,isPluginInstalled}from'../utils/claudePlugin.js';import{getProjectRoot,getSkillsDir}from'../utils/claudeConfig.js';function _0x42be(_0x314a4e,_0x4f985d){_0x314a4e=_0x314a4e-0x1ab;const _0x557fbb=_0x557f();let _0x42bea2=_0x557fbb[_0x314a4e];return _0x42bea2;}export async function ensureClaudePlugin(_0x1c5cfe){const _0x3d89c0=_0x42be,_0x45df68={'tZrBt':_0x3d89c0(0x1c9),'rvnUX':function(_0x9a6d57,_0x46cfad){return _0x9a6d57(_0x46cfad);},'HCFRy':'.claude','TNTdE':_0x3d89c0(0x1d3),'tWERV':'Where\x20should\x20the\x20plugin\x20be\x20installed?','WDjoY':_0x3d89c0(0x1cb),'NLfso':'user','ucLUW':'Project\x20(shared\x20with\x20team\x20via\x20git)','ezRIo':_0x3d89c0(0x1ce),'ITWme':function(_0x4d3d6c,_0x1af95d){return _0x4d3d6c(_0x1af95d);},'HFizk':'trailhead','beidT':_0x3d89c0(0x1ca),'LdENS':'\x0aYou\x20can\x20install\x20manually\x20with:','Zgjwp':'\x20\x20claude\x20plugin\x20marketplace\x20add\x20ranger-testing/trailhead','KciIn':function(_0x1c9852,_0x4d3f17,_0x4a24f4){return _0x1c9852(_0x4d3f17,_0x4a24f4);},'PtMMF':_0x3d89c0(0x1c8),'hHilb':_0x3d89c0(0x1cf),'lIwSk':'✓\x20Claude\x20Code\x20plugin\x20installed\x20successfully','Ztaqb':'enable','Fxzrz':function(_0x290b86){return _0x290b86();},'PtURd':'⚠\x20Failed\x20to\x20enable\x20plugin:','tHbQo':_0x3d89c0(0x1b4)},_0x64465e=await isPluginInstalled(_0x45df68[_0x3d89c0(0x1d7)]);if(_0x64465e)return console['log']('✓\x20Claude\x20Code\x20plugin\x20already\x20installed'),![];const _0x519655=_0x45df68['rvnUX'](existsSync,join(getProjectRoot(),_0x45df68['HCFRy']));let _0x17a375;if(_0x1c5cfe)_0x17a375=_0x1c5cfe;else{if(_0x519655)_0x17a375=_0x3d89c0(0x1ce);else{console['log'](_0x3d89c0(0x1be));const _0x1de658=await _0x29153c[_0x3d89c0(0x1d5)]([{'type':_0x45df68['TNTdE'],'name':_0x3d89c0(0x1bc),'message':_0x45df68['tWERV'],'choices':[{'name':_0x45df68['WDjoY'],'value':_0x45df68['NLfso']},{'name':_0x45df68['ucLUW'],'value':_0x45df68[_0x3d89c0(0x1ac)]}],'default':_0x45df68[_0x3d89c0(0x1cd)]}]);_0x17a375=_0x1de658['pluginScope'];}}console[_0x3d89c0(0x1d8)]('\x0aInstalling\x20Claude\x20Code\x20plugin\x20('+_0x17a375+'\x20level)...\x0a');const _0x4d230d=await _0x45df68['ITWme'](isMarketplaceAdded,_0x45df68[_0x3d89c0(0x1d4)]);let _0x3f651f=_0x4d230d;if(_0x4d230d)console['log'](_0x3d89c0(0x1b2));else{const _0x57dea9=await runClaudeCommand(['plugin','marketplace',_0x45df68['beidT'],_0x3d89c0(0x1b5)]);!_0x57dea9['success']?(console['error']('❌\x20Failed\x20to\x20add\x20marketplace:',_0x57dea9['error']),console['log'](_0x45df68[_0x3d89c0(0x1b6)]),console[_0x3d89c0(0x1d8)](_0x45df68['Zgjwp']),console['log'](_0x3d89c0(0x1b7)+_0x17a375)):_0x3f651f=!![];}if(_0x3f651f){const _0x50904c=await _0x45df68['KciIn'](runClaudeCommand,[_0x45df68['PtMMF'],'install','ranger@trailhead',_0x3d89c0(0x1b9),_0x17a375],{'cwd':_0x17a375==='project'?getProjectRoot():undefined});if(!_0x50904c['success'])console['error'](_0x45df68[_0x3d89c0(0x1c1)],_0x50904c[_0x3d89c0(0x1c5)]),console[_0x3d89c0(0x1d8)](_0x45df68['LdENS']),console['log']('\x20\x20claude\x20plugin\x20install\x20ranger@trailhead\x20--scope\x20'+_0x17a375);else{console['log'](_0x45df68['lIwSk']);const _0x167af0=['plugin',_0x45df68['Ztaqb'],_0x3d89c0(0x1c9)];_0x17a375===_0x45df68['ezRIo']&&_0x167af0[_0x3d89c0(0x1d2)]('--scope',_0x45df68['ezRIo']);const _0x14b9bf=await runClaudeCommand(_0x167af0,{'captureOutput':!![],'cwd':_0x17a375===_0x45df68['ezRIo']?_0x45df68[_0x3d89c0(0x1bb)](getProjectRoot):undefined}),_0x1c0f51=_0x14b9bf['output']?.['includes']('already\x20enabled');!_0x14b9bf[_0x3d89c0(0x1c0)]&&!_0x1c0f51?console[_0x3d89c0(0x1c5)](_0x45df68[_0x3d89c0(0x1d1)],_0x14b9bf['error']):console[_0x3d89c0(0x1d8)](_0x45df68[_0x3d89c0(0x1b0)]);}}return!![];}export async function ensureClaudeSkills(_0x2de3d1){const _0x162d0c=_0x42be,_0xd91004={'cgzUj':function(_0x52145c,_0x15d118){return _0x52145c(_0x15d118);},'gzfVH':function(_0x271b5f,_0x50b8b1,_0x24c874,_0x11ff05){return _0x271b5f(_0x50b8b1,_0x24c874,_0x11ff05);},'hyKqY':_0x162d0c(0x1c4),'zkoaA':'ranger','QHkNy':'SKILL.md','SICCi':function(_0x201b59,_0x2a5e8f,_0x370875,_0x450adc){return _0x201b59(_0x2a5e8f,_0x370875,_0x450adc);},'OZVsY':_0x162d0c(0x1ce),'xChYD':function(_0x75a615,_0x445e38){return _0x75a615||_0x445e38;},'rbfPE':function(_0x2018d6){return _0x2018d6();},'KLUjX':'.claude','YzqRU':function(_0xc0fede,_0x570b1d){return _0xc0fede(_0x570b1d);},'qWaLL':function(_0x35c8d6,_0xcabdd3){return _0x35c8d6(_0xcabdd3);},'YQiFh':_0x162d0c(0x1ad)},_0xca4ad4=_0xd91004[_0x162d0c(0x1ab)](existsSync,_0xd91004[_0x162d0c(0x1cc)](join,getSkillsDir(_0xd91004['hyKqY']),_0xd91004['zkoaA'],_0xd91004['QHkNy'])),_0x3ea076=_0xd91004['cgzUj'](existsSync,_0xd91004['SICCi'](join,getSkillsDir(_0xd91004['OZVsY']),_0x162d0c(0x1bd),_0x162d0c(0x1bf)));if(_0xd91004['xChYD'](_0xca4ad4,_0x3ea076))return console[_0x162d0c(0x1d8)]('✓\x20Ranger\x20skills\x20already\x20installed'),![];const _0x1a532e=existsSync(join(_0xd91004[_0x162d0c(0x1d9)](getProjectRoot),_0xd91004['KLUjX']));let _0x576a94=!![];if(_0x2de3d1)await _0xd91004['YzqRU'](skillup,{'autoInstall':_0x2de3d1,'suppressUsage':!![]});else{if(_0x1a532e)await _0xd91004['qWaLL'](skillup,{'autoInstall':_0xd91004[_0x162d0c(0x1ae)],'suppressUsage':!![]});else{const _0x1d3017=await _0x29153c['prompt']([{'type':'confirm','name':_0xd91004[_0x162d0c(0x1b3)],'message':_0x162d0c(0x1ba),'default':!![]}]);_0x576a94=_0x1d3017[_0x162d0c(0x1ad)],_0x576a94&&await _0xd91004['YzqRU'](skillup,{'suppressUsage':!![]});}}return _0x576a94;}
@@ -1 +1 @@
1
- (function(_0x26c422,_0x4ce5ac){const _0x1ed318=_0x14f8,_0x4a8349=_0x26c422();while(!![]){try{const _0x363bd8=parseInt(_0x1ed318(0x1bb))/0x1*(parseInt(_0x1ed318(0x1c0))/0x2)+-parseInt(_0x1ed318(0x1b9))/0x3+-parseInt(_0x1ed318(0x1c8))/0x4+-parseInt(_0x1ed318(0x1ce))/0x5*(parseInt(_0x1ed318(0x1ca))/0x6)+-parseInt(_0x1ed318(0x1ba))/0x7*(-parseInt(_0x1ed318(0x1b5))/0x8)+-parseInt(_0x1ed318(0x1bc))/0x9*(parseInt(_0x1ed318(0x1c1))/0xa)+parseInt(_0x1ed318(0x1b2))/0xb;if(_0x363bd8===_0x4ce5ac)break;else _0x4a8349['push'](_0x4a8349['shift']());}catch(_0x5360d7){_0x4a8349['push'](_0x4a8349['shift']());}}}(_0x3d4c,0x2e37b));import{join}from'path';import{existsSync}from'fs';import{mkdir,readFile,writeFile}from'fs/promises';import _0x39a1b9 from'inquirer';function _0x3d4c(){const _0x212571=['Where\x20should\x20the\x20plugin\x20be\x20installed?','✓\x20OpenCode\x20plugin\x20already\x20configured','@ranger-testing/opencode-plugin','Failed\x20to\x20read\x20opencode.json','1345008PfFOBv','utf-8','75954pNEOkj','⚠\x20Failed\x20to\x20read\x20opencode.json.\x20Please\x20add\x20the\x20plugin\x20manually.','isArray','log','55PZUMBT','emLKI','\x0a📦\x20OpenCode\x20Plugin\x0a','opencode.json','project','4952035NFxHbp','error','Project\x20(shared\x20with\x20team\x20via\x20git)','1014776pTbAkg','smGKL','User\x20(available\x20in\x20all\x20your\x20projects)','plugin','350844OnbmZr','14LmaWLE','6MpWvNb','81eQBpmH','user','pluginScope','$schema','92772OoaIES','222710EWyBnA','iJwcV','GbNkc'];_0x3d4c=function(){return _0x212571;};return _0x3d4c();}import{getOpencodeConfigDir}from'../utils/opencodeConfig.js';function _0x14f8(_0xa9f61a,_0xfab8c2){_0xa9f61a=_0xa9f61a-0x1b2;const _0x3d4c37=_0x3d4c();let _0x14f87c=_0x3d4c37[_0xa9f61a];return _0x14f87c;}export async function ensureOpencodePluginConfig(_0xa6b576){const _0x22fdea=_0x14f8,_0x1c8d78={'iJwcV':function(_0x1a4675,_0x4aafbf){return _0x1a4675(_0x4aafbf);},'mXlxQ':function(_0x749518,_0x41df3b,_0x315f20){return _0x749518(_0x41df3b,_0x315f20);},'emLKI':_0x22fdea(0x1d2),'ZJghX':'pluginScope','SUmyg':_0x22fdea(0x1b7),'smGKL':_0x22fdea(0x1b4),'hTbpp':_0x22fdea(0x1bd),'zuHMY':function(_0x4f4987,_0x441ee7,_0x1694cf){return _0x4f4987(_0x441ee7,_0x1694cf);},'GbNkc':_0x22fdea(0x1c6),'ISavf':'https://opencode.ai/config.json','hIDiX':function(_0x1302f9,_0x1e0007){return _0x1302f9(_0x1e0007);},'SZhqK':_0x22fdea(0x1cb),'pIxiO':_0x22fdea(0x1c7),'ZHItg':function(_0x2ff45a,_0x356189){return _0x2ff45a(_0x356189);},'PWkdc':function(_0x3773a9,_0x27943c,_0x5261a0){return _0x3773a9(_0x27943c,_0x5261a0);},'JWBRg':function(_0x37b291,_0x4f3736){return _0x37b291+_0x4f3736;},'XQgvv':'✓\x20OpenCode\x20plugin\x20configured'},_0x40d443=_0x1c8d78['iJwcV'](existsSync,_0x1c8d78['mXlxQ'](join,_0x1c8d78[_0x22fdea(0x1c2)](getOpencodeConfigDir,_0x22fdea(0x1d2)),_0x22fdea(0x1d1)));let _0x535386;if(_0xa6b576)_0x535386=_0xa6b576;else{if(_0x40d443)_0x535386=_0x1c8d78['emLKI'];else{console[_0x22fdea(0x1cd)](_0x22fdea(0x1d0));const _0x153229=await _0x39a1b9['prompt']([{'type':'list','name':_0x1c8d78['ZJghX'],'message':_0x22fdea(0x1c4),'choices':[{'name':_0x1c8d78['SUmyg'],'value':_0x22fdea(0x1bd)},{'name':_0x1c8d78[_0x22fdea(0x1b6)],'value':_0x1c8d78[_0x22fdea(0x1cf)]}],'default':_0x1c8d78['hTbpp']}]);_0x535386=_0x153229[_0x22fdea(0x1be)];}}const _0x285352=_0x1c8d78['zuHMY'](join,getOpencodeConfigDir(_0x535386),'opencode.json'),_0x1b3a64=_0x1c8d78[_0x22fdea(0x1c3)],_0x43e49e=_0x1c8d78['ISavf'];let _0x1321ec={};if(_0x1c8d78['hIDiX'](existsSync,_0x285352))try{const _0x5af98d=await _0x1c8d78['zuHMY'](readFile,_0x285352,_0x22fdea(0x1c9));_0x1321ec=JSON['parse'](_0x5af98d);}catch(_0x251f1e){return console[_0x22fdea(0x1b3)](_0x1c8d78['SZhqK']),{'configured':![],'scope':_0x535386,'error':_0x1c8d78['pIxiO'],'details':_0x251f1e};}const _0x29cdae=Array[_0x22fdea(0x1cc)](_0x1321ec['plugin'])?_0x1321ec['plugin']:[];if(_0x29cdae['includes'](_0x1b3a64))return console[_0x22fdea(0x1cd)](_0x22fdea(0x1c5)),{'configured':![],'scope':_0x535386};return _0x1321ec['$schema']=_0x1321ec[_0x22fdea(0x1bf)]||_0x43e49e,_0x1321ec[_0x22fdea(0x1b8)]=[..._0x29cdae,_0x1b3a64],await _0x1c8d78['mXlxQ'](mkdir,_0x1c8d78['ZHItg'](getOpencodeConfigDir,_0x535386),{'recursive':!![]}),await _0x1c8d78['PWkdc'](writeFile,_0x285352,_0x1c8d78['JWBRg'](JSON['stringify'](_0x1321ec,null,0x2),'\x0a')),console[_0x22fdea(0x1cd)](_0x1c8d78['XQgvv']),{'configured':!![],'scope':_0x535386};}
1
+ (function(_0x41f3c8,_0x1d59be){const _0x369f58=_0xedcd,_0x2e467b=_0x41f3c8();while(!![]){try{const _0x2bcb67=-parseInt(_0x369f58(0x1d8))/0x1*(parseInt(_0x369f58(0x1d0))/0x2)+-parseInt(_0x369f58(0x1d3))/0x3+-parseInt(_0x369f58(0x1dc))/0x4+-parseInt(_0x369f58(0x1ca))/0x5+parseInt(_0x369f58(0x1db))/0x6+-parseInt(_0x369f58(0x1d7))/0x7*(-parseInt(_0x369f58(0x1d4))/0x8)+parseInt(_0x369f58(0x1da))/0x9*(parseInt(_0x369f58(0x1c9))/0xa);if(_0x2bcb67===_0x1d59be)break;else _0x2e467b['push'](_0x2e467b['shift']());}catch(_0x4f375f){_0x2e467b['push'](_0x2e467b['shift']());}}}(_0x3750,0x83186));import{join}from'path';import{existsSync}from'fs';function _0xedcd(_0x419dc7,_0x127f94){_0x419dc7=_0x419dc7-0x1c4;const _0x37509f=_0x3750();let _0xedcdb6=_0x37509f[_0x419dc7];return _0xedcdb6;}import{mkdir,readFile,writeFile}from'fs/promises';import _0x3cfcea from'inquirer';import{getOpencodeConfigDir}from'../utils/opencodeConfig.js';export async function ensureOpencodePluginConfig(_0x2b53c8){const _0x3695bd=_0xedcd,_0x2f9de1={'LheNh':function(_0x465566,_0x299028){return _0x465566(_0x299028);},'PaEYj':function(_0x292153,_0x3858d5,_0x3cf6f5){return _0x292153(_0x3858d5,_0x3cf6f5);},'FkDVz':_0x3695bd(0x1ce),'ZWmoo':'list','mQtjk':_0x3695bd(0x1c6),'gHugN':_0x3695bd(0x1dd),'Yqzur':_0x3695bd(0x1d1),'TeTsp':function(_0x3584e3,_0x2600dd){return _0x3584e3(_0x2600dd);},'uMtsP':_0x3695bd(0x1cf),'JEprh':'https://opencode.ai/config.json','xEulk':_0x3695bd(0x1cb),'DwvOn':function(_0x13404d,_0x38b75d){return _0x13404d(_0x38b75d);},'gIQaB':_0x3695bd(0x1e2)},_0x58b1a8=_0x2f9de1['LheNh'](existsSync,_0x2f9de1['PaEYj'](join,getOpencodeConfigDir('project'),_0x3695bd(0x1cd)));let _0x2011b4;if(_0x2b53c8)_0x2011b4=_0x2b53c8;else{if(_0x58b1a8)_0x2011b4=_0x3695bd(0x1d1);else{console['log'](_0x2f9de1['FkDVz']);const _0x2de156=await _0x3cfcea['prompt']([{'type':_0x2f9de1[_0x3695bd(0x1d6)],'name':'pluginScope','message':_0x3695bd(0x1cc),'choices':[{'name':_0x2f9de1[_0x3695bd(0x1c7)],'value':_0x2f9de1[_0x3695bd(0x1df)]},{'name':'Project\x20(shared\x20with\x20team\x20via\x20git)','value':_0x2f9de1[_0x3695bd(0x1c5)]}],'default':_0x2f9de1['gHugN']}]);_0x2011b4=_0x2de156['pluginScope'];}}const _0x53b528=_0x2f9de1['PaEYj'](join,_0x2f9de1[_0x3695bd(0x1c4)](getOpencodeConfigDir,_0x2011b4),_0x3695bd(0x1cd)),_0x556064=_0x2f9de1['uMtsP'],_0x4abbf4=_0x2f9de1[_0x3695bd(0x1d9)];let _0x193ef1={};if(_0x2f9de1[_0x3695bd(0x1c8)](existsSync,_0x53b528))try{const _0x3b00d3=await readFile(_0x53b528,'utf-8');_0x193ef1=JSON['parse'](_0x3b00d3);}catch(_0x3cd005){return console['error'](_0x3695bd(0x1d2)),{'configured':![],'scope':_0x2011b4,'error':'Failed\x20to\x20read\x20opencode.json','details':_0x3cd005};}const _0x214202=Array['isArray'](_0x193ef1['plugin'])?_0x193ef1[_0x3695bd(0x1e0)]:[];if(_0x214202['includes'](_0x556064))return console['log'](_0x2f9de1['xEulk']),{'configured':![],'scope':_0x2011b4};return _0x193ef1[_0x3695bd(0x1de)]=_0x193ef1[_0x3695bd(0x1de)]||_0x4abbf4,_0x193ef1['plugin']=[..._0x214202,_0x556064],await mkdir(_0x2f9de1[_0x3695bd(0x1e1)](getOpencodeConfigDir,_0x2011b4),{'recursive':!![]}),await writeFile(_0x53b528,JSON['stringify'](_0x193ef1,null,0x2)+'\x0a'),console[_0x3695bd(0x1d5)](_0x2f9de1['gIQaB']),{'configured':!![],'scope':_0x2011b4};}function _0x3750(){const _0x1e2b3f=['gHugN','plugin','DwvOn','✓\x20OpenCode\x20plugin\x20configured','TeTsp','Yqzur','User\x20(available\x20in\x20all\x20your\x20projects)','mQtjk','LheNh','10EUPlYX','214840ysJvLp','✓\x20OpenCode\x20plugin\x20already\x20configured','Where\x20should\x20the\x20plugin\x20be\x20installed?','opencode.json','\x0a📦\x20OpenCode\x20Plugin\x0a','@ranger-testing/opencode-plugin','2bLHSFJ','project','⚠\x20Failed\x20to\x20read\x20opencode.json.\x20Please\x20add\x20the\x20plugin\x20manually.','1771878nAHbgL','8NdynHp','log','ZWmoo','4473266sWYSdh','175475fHHdPs','JEprh','14364603tsIeSQ','494040oBgcGX','3885640bKfXLS','user','$schema'];_0x3750=function(){return _0x1e2b3f;};return _0x3750();}
@@ -1 +1 @@
1
- function _0x5f04(_0x16ea50,_0x1e0c9c){_0x16ea50=_0x16ea50-0xec;var _0x36281c=_0x3628();var _0x5f040a=_0x36281c[_0x16ea50];return _0x5f040a;}function _0x3628(){var _0x47ae9f=['10pjqGoU','30hsCftT','3677RKGZZg','To\x20set\x20up\x20a\x20fresh\x20profile,\x20run:\x0a','233268fRwtsQ','\x20\x20https://docs.ranger.net/main/concepts/profiles','exit','ranger\x20setup\x20--ci\x20writes\x20to\x20the\x20legacy\x20.ranger/ci/\x20tree\x20which\x20is\x20no\x20longer\x20supported.\x0a','315KdVWxC','56EmXjgx','21948zXYTpV','1548767SLkJDT','error','9yKIDSR','891272VjzBEl','387726gTgquh','For\x20CI\x20/\x20background\x20agents\x20and\x20other\x20setup\x20options,\x20see:\x0a','drfgQ','11100888ErRAAG'];_0x3628=function(){return _0x47ae9f;};return _0x3628();}(function(_0x34f259,_0x30cda6){var _0x3f6fef=_0x5f04,_0x4c626c=_0x34f259();while(!![]){try{var _0x1ecd48=-parseInt(_0x3f6fef(0xf6))/0x1*(parseInt(_0x3f6fef(0xfd))/0x2)+parseInt(_0x3f6fef(0xf0))/0x3+parseInt(_0x3f6fef(0xfe))/0x4*(-parseInt(_0x3f6fef(0xfc))/0x5)+parseInt(_0x3f6fef(0xf5))/0x6*(-parseInt(_0x3f6fef(0xf8))/0x7)+-parseInt(_0x3f6fef(0xef))/0x8*(parseInt(_0x3f6fef(0xee))/0x9)+parseInt(_0x3f6fef(0xf4))/0xa*(-parseInt(_0x3f6fef(0xec))/0xb)+parseInt(_0x3f6fef(0xf3))/0xc;if(_0x1ecd48===_0x30cda6)break;else _0x4c626c['push'](_0x4c626c['shift']());}catch(_0x54d132){_0x4c626c['push'](_0x4c626c['shift']());}}}(_0x3628,0x2d9e5));export async function setupCi(_0x538b8c,_0x22c747,_0x4d19ef){var _0x588953=_0x5f04,_0x5b46fd={'RLpih':function(_0x435995,_0x2f185c){return _0x435995+_0x2f185c;},'iPzgQ':function(_0x501556,_0x2bc8c4){return _0x501556+_0x2bc8c4;},'HNqdM':_0x588953(0xfb),'obLqP':_0x588953(0xf7),'drfgQ':_0x588953(0xf1),'PLRaH':_0x588953(0xf9)};console[_0x588953(0xed)](_0x5b46fd['RLpih'](_0x5b46fd['RLpih'](_0x5b46fd['iPzgQ'](_0x5b46fd['HNqdM']+'\x0a'+_0x5b46fd['obLqP'],'\x20\x20ranger\x20profile\x20add\x20<name>\x0a'),'\x0a'),_0x5b46fd[_0x588953(0xf2)])+_0x5b46fd['PLRaH']),process[_0x588953(0xfa)](0x1);}
1
+ function _0x5f0a(_0xa54145,_0x24d9d9){_0xa54145=_0xa54145-0x7c;var _0x39d332=_0x39d3();var _0x5f0a20=_0x39d332[_0xa54145];return _0x5f0a20;}(function(_0x79ed49,_0x3603f5){var _0x169126=_0x5f0a,_0x17e08e=_0x79ed49();while(!![]){try{var _0x12336d=parseInt(_0x169126(0x89))/0x1*(-parseInt(_0x169126(0x84))/0x2)+parseInt(_0x169126(0x7f))/0x3+-parseInt(_0x169126(0x7d))/0x4+parseInt(_0x169126(0x8b))/0x5+parseInt(_0x169126(0x81))/0x6*(-parseInt(_0x169126(0x7c))/0x7)+-parseInt(_0x169126(0x85))/0x8*(-parseInt(_0x169126(0x8c))/0x9)+parseInt(_0x169126(0x87))/0xa;if(_0x12336d===_0x3603f5)break;else _0x17e08e['push'](_0x17e08e['shift']());}catch(_0x1b8c52){_0x17e08e['push'](_0x17e08e['shift']());}}}(_0x39d3,0x4dc76));export async function setupCi(_0xb14803,_0x3136b0,_0xa9b867){var _0x4d2d39=_0x5f0a,_0xaebc4b={'MyRUA':function(_0x5a38eb,_0x54ca3f){return _0x5a38eb+_0x54ca3f;},'bSgjy':function(_0x27f28c,_0x198485){return _0x27f28c+_0x198485;},'iRJzH':'ranger\x20setup\x20--ci\x20writes\x20to\x20the\x20legacy\x20.ranger/ci/\x20tree\x20which\x20is\x20no\x20longer\x20supported.\x0a','jOXMi':_0x4d2d39(0x82),'mCtTD':'\x20\x20ranger\x20profile\x20add\x20<name>\x0a','EsyJN':'For\x20CI\x20/\x20background\x20agents\x20and\x20other\x20setup\x20options,\x20see:\x0a','RiLXt':'\x20\x20https://docs.ranger.net/main/concepts/profiles'};console[_0x4d2d39(0x86)](_0xaebc4b['MyRUA'](_0xaebc4b[_0x4d2d39(0x83)](_0xaebc4b[_0x4d2d39(0x83)](_0xaebc4b['bSgjy'](_0xaebc4b[_0x4d2d39(0x88)],'\x0a')+_0xaebc4b[_0x4d2d39(0x8a)]+_0xaebc4b['mCtTD'],'\x0a'),_0xaebc4b['EsyJN']),_0xaebc4b[_0x4d2d39(0x7e)])),process[_0x4d2d39(0x80)](0x1);}function _0x39d3(){var _0x28db73=['MyRUA','58ckRmIV','72nDVuQC','error','2676660zcJkCI','iRJzH','12170vCAhcU','jOXMi','1919335vFtuGM','410931dbqzfk','231308WCikpH','1651228qHhkVq','RiLXt','759489RKljEo','exit','42BjcmwS','To\x20set\x20up\x20a\x20fresh\x20profile,\x20run:\x0a'];_0x39d3=function(){return _0x28db73;};return _0x39d3();}
@@ -1 +1 @@
1
- function _0x5cbc(_0x4fcd4c,_0x2480dd){_0x4fcd4c=_0x4fcd4c-0x174;const _0x673c52=_0x673c();let _0x5cbcc8=_0x673c52[_0x4fcd4c];return _0x5cbcc8;}(function(_0x4d5687,_0x19cc4a){const _0xb1d5cf=_0x5cbc,_0x258640=_0x4d5687();while(!![]){try{const _0x199dcf=-parseInt(_0xb1d5cf(0x17d))/0x1+-parseInt(_0xb1d5cf(0x186))/0x2*(-parseInt(_0xb1d5cf(0x182))/0x3)+-parseInt(_0xb1d5cf(0x17c))/0x4+-parseInt(_0xb1d5cf(0x195))/0x5*(parseInt(_0xb1d5cf(0x185))/0x6)+-parseInt(_0xb1d5cf(0x192))/0x7*(-parseInt(_0xb1d5cf(0x17e))/0x8)+parseInt(_0xb1d5cf(0x194))/0x9*(parseInt(_0xb1d5cf(0x19f))/0xa)+-parseInt(_0xb1d5cf(0x183))/0xb;if(_0x199dcf===_0x19cc4a)break;else _0x258640['push'](_0x258640['shift']());}catch(_0x4a15ee){_0x258640['push'](_0x258640['shift']());}}}(_0x673c,0xe8a8e));import{basename}from'path';import _0x52e767 from'inquirer';import{getToken}from'./utils/keychain.js';import{installSkill}from'./utils/skills.js';import{getCurrentVersion}from'./utils/version.js';import{getClaudeConfigDir,getProjectRoot}from'./utils/claudeConfig.js';import{getOpencodeConfigDir}from'./utils/opencodeConfig.js';function _0x673c(){const _0x114e55=['HMQzt','2837552SogdFh','659349tbTYyU','8sYLeAh','project-level','❌\x20No\x20Ranger\x20API\x20token\x20found.\x0a','opencode','6681WyoxLT','4017057qyadtG','DkbaL','6JRwZWr','1566ZpdXMR','KxkLr','All\x20projects\x20(','suppressUsage','claude','/.claude/skills/','log','stdout','prompt','rKAbC','Where\x20should\x20skills\x20be\x20installed?','isTTY','13186145SwSANL','Vbnbi','144CToaXr','5818650TWiGAV','installLevel','This\x20project\x20only\x20(','platform','autoInstall','tvzIM','\x20skill','DBBgP','\x20\x201.\x20Get\x20your\x20API\x20token\x20from\x20https://dashboard.ranger.net/cli','wgiXk','139470nZQzua','DRzkc','\x0a⚠️\x20\x20No\x20skills\x20were\x20installed.\x0a','GoFiQ','olmZd','project','\x0a📦\x20Installing\x20skills...\x0a','Non-interactive\x20mode:\x20Installing\x20skills\x20at\x20project\x20level\x20(','\x20--opencode','VsdPt','message'];_0x673c=function(){return _0x114e55;};return _0x673c();}export async function skillup(_0x156b77={}){const _0x13f105=_0x5cbc,_0x258f06={'DRzkc':'\x0a🎯\x20Ranger\x20Skill\x20Setup\x0a','szrza':_0x13f105(0x18a),'kznnY':function(_0x2775c7){return _0x2775c7();},'wgiXk':_0x13f105(0x180),'GoFiQ':'To\x20get\x20started:','prSRP':_0x13f105(0x19d),'KxkLr':_0x13f105(0x178),'tvzIM':function(_0x503a49,_0x21da8a){return _0x503a49===_0x21da8a;},'olmZd':'user','wqRVZ':function(_0x164ec7){return _0x164ec7();},'Vbnbi':function(_0x5cb71a,_0x8d7448){return _0x5cb71a===_0x8d7448;},'DkbaL':_0x13f105(0x181),'rKAbC':_0x13f105(0x175),'VsdPt':_0x13f105(0x176),'DBBgP':function(_0x2fc7a7,_0x11dd0d,_0x52efd8){return _0x2fc7a7(_0x11dd0d,_0x52efd8);},'qSZtu':'\x20\x20Failed\x20to\x20install\x20ranger\x20skill:','TJKSU':'user-level','cMmyq':function(_0x2c1702,_0x42b717){return _0x2c1702>_0x42b717;},'HMQzt':'To\x20use:','iTzAh':_0x13f105(0x1a1)};console['log'](_0x258f06[_0x13f105(0x1a0)]);const _0x3e7229=_0x156b77[_0x13f105(0x198)]??_0x258f06['szrza'],_0x50d0ab=await _0x258f06['kznnY'](getToken);if(!_0x50d0ab){console[_0x13f105(0x18c)](_0x258f06[_0x13f105(0x19e)]),console['log'](_0x258f06[_0x13f105(0x1a2)]),console['log'](_0x258f06['prSRP']),console['log']('\x20\x202.\x20Run:\x20ranger\x20setup'+(_0x3e7229===_0x13f105(0x181)?_0x258f06[_0x13f105(0x187)]:'')+'\x20<your-api-token>'),console[_0x13f105(0x18c)]('\x20\x203.\x20Run:\x20ranger\x20skillup'+(_0x258f06[_0x13f105(0x19a)](_0x3e7229,'opencode')?'\x20--opencode':'')+'\x0a');return;}console[_0x13f105(0x18c)]('✓\x20Found\x20API\x20token');const _0x41811e=getProjectRoot(),_0x29110b=basename(_0x41811e),_0x20be1f=_0x258f06['tvzIM'](_0x3e7229,_0x13f105(0x181))?getOpencodeConfigDir(_0x258f06[_0x13f105(0x174)])+'/skills/':_0x258f06['wqRVZ'](getClaudeConfigDir)+'/skills/',_0x5bd515=_0x258f06[_0x13f105(0x193)](_0x3e7229,_0x258f06[_0x13f105(0x184)])?_0x41811e+'/.opencode/skills/':_0x41811e+_0x13f105(0x18b),_0x3f3069=process['stdin']['isTTY']&&process[_0x13f105(0x18d)][_0x13f105(0x191)];let _0x10452e;if(_0x156b77[_0x13f105(0x199)])_0x10452e=_0x156b77['autoInstall'];else{if(_0x3f3069){const _0x4ffb2f=await _0x52e767[_0x13f105(0x18e)]([{'type':'list','name':_0x13f105(0x196),'message':_0x13f105(0x190),'choices':[{'name':_0x13f105(0x188)+_0x20be1f+')','value':'user'},{'name':_0x13f105(0x197)+_0x5bd515+')','value':'project'}]}]);_0x10452e=_0x4ffb2f[_0x13f105(0x196)];}else _0x10452e=_0x258f06[_0x13f105(0x18f)],console[_0x13f105(0x18c)](_0x13f105(0x177)+_0x5bd515+')');}let _0x847121=0x0;const _0x48b338=getCurrentVersion();console['log'](_0x258f06[_0x13f105(0x179)]);try{const _0x2a5b6e=await _0x258f06[_0x13f105(0x19c)](installSkill,'ranger',{'cliVersion':_0x48b338,'level':_0x10452e,'platform':_0x3e7229});_0x2a5b6e&&_0x847121++;}catch(_0x1e617f){console['warn'](_0x258f06['qSZtu'],_0x1e617f instanceof Error?_0x1e617f[_0x13f105(0x17a)]:_0x1e617f);}if(_0x847121>0x0){const _0x4e6beb=_0x10452e==='user'?_0x258f06['TJKSU']:_0x13f105(0x17f);console['log']('\x0a✅\x20Installed\x20'+_0x847121+'\x20'+_0x4e6beb+_0x13f105(0x19b)+(_0x258f06['cMmyq'](_0x847121,0x1)?'s':'')+'\x20successfully!\x0a'),!_0x156b77[_0x13f105(0x189)]&&(console['log'](_0x258f06[_0x13f105(0x17b)]),_0x3e7229===_0x13f105(0x181)?console[_0x13f105(0x18c)]('\x20\x20-\x20Start\x20OpenCode\x20and\x20run\x20the\x20`ranger_enable`\x20tool\x20to\x20enable\x20hooks.'):console[_0x13f105(0x18c)]('\x20\x20-\x20Open\x20Claude\x20Code\x20in\x20plan\x20mode\x20and\x20run\x20/ranger:enable.\x20Plan\x20out\x20a\x20UI\x20feature\x20with\x20Ranger\x20and\x20watch\x20Ranger\x20test\x20it\x20for\x20you!'));}else console[_0x13f105(0x18c)](_0x258f06['iTzAh']);}
1
+ (function(_0x19c016,_0x1c33f4){const _0x36322e=_0x38bc,_0x39f3f7=_0x19c016();while(!![]){try{const _0x7a8524=-parseInt(_0x36322e(0x1d2))/0x1*(-parseInt(_0x36322e(0x1bc))/0x2)+-parseInt(_0x36322e(0x1d0))/0x3+parseInt(_0x36322e(0x1eb))/0x4*(-parseInt(_0x36322e(0x1c2))/0x5)+-parseInt(_0x36322e(0x1c4))/0x6*(-parseInt(_0x36322e(0x1e8))/0x7)+parseInt(_0x36322e(0x1df))/0x8*(parseInt(_0x36322e(0x1d9))/0x9)+parseInt(_0x36322e(0x1c1))/0xa+-parseInt(_0x36322e(0x1d4))/0xb*(parseInt(_0x36322e(0x1cf))/0xc);if(_0x7a8524===_0x1c33f4)break;else _0x39f3f7['push'](_0x39f3f7['shift']());}catch(_0x516340){_0x39f3f7['push'](_0x39f3f7['shift']());}}}(_0x4d74,0xd10a4));import{basename}from'path';import _0x2eb216 from'inquirer';import{getToken}from'./utils/keychain.js';import{installSkill}from'./utils/skills.js';function _0x4d74(){const _0x3ae615=['21txbMjc','VbDfR','\x20--opencode','232nWzunN','2oHoYhO','\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!','❌\x20No\x20Ranger\x20API\x20token\x20found.\x0a','\x20\x203.\x20Run:\x20ranger\x20skillup','10618280YiZybJ','80555dAztxJ','log','2310804umDJKu','\x0a⚠️\x20\x20No\x20skills\x20were\x20installed.\x0a','Where\x20should\x20skills\x20be\x20installed?','✓\x20Found\x20API\x20token','NLCQK','platform','/.claude/skills/','opencode','project-level','\x20\x20Failed\x20to\x20install\x20ranger\x20skill:','\x20\x201.\x20Get\x20your\x20API\x20token\x20from\x20https://dashboard.ranger.net/cli','348vXNkAw','2897838SpRtNS','message','1448254fiKxUg','HYVMP','491480bwxQyR','autoInstall','list','\x0a📦\x20Installing\x20skills...\x0a','user','1413mOVFxj','\x20<your-api-token>','stdout','wRmHb','project','\x20\x20-\x20Start\x20OpenCode\x20and\x20run\x20the\x20`ranger_enable`\x20tool\x20to\x20enable\x20hooks.','19712CpGlEo','installLevel','/skills/','FpyGQ','suppressUsage','\x20skill','LylRu','\x0a✅\x20Installed\x20','Hjlqt'];_0x4d74=function(){return _0x3ae615;};return _0x4d74();}import{getCurrentVersion}from'./utils/version.js';function _0x38bc(_0x2146a1,_0x208b10){_0x2146a1=_0x2146a1-0x1bc;const _0x4d7432=_0x4d74();let _0x38bc78=_0x4d7432[_0x2146a1];return _0x38bc78;}import{getClaudeConfigDir,getProjectRoot}from'./utils/claudeConfig.js';import{getOpencodeConfigDir}from'./utils/opencodeConfig.js';export async function skillup(_0x447031={}){const _0x3f5a99=_0x38bc,_0x19f446={'HYVMP':'claude','chKDB':_0x3f5a99(0x1bf),'VbDfR':'To\x20get\x20started:','Hjlqt':_0x3f5a99(0x1ce),'FpyGQ':function(_0x1d2e73,_0x51594c){return _0x1d2e73===_0x51594c;},'LylRu':'opencode','NLCQK':'\x20--opencode','vyfTT':_0x3f5a99(0x1c7),'jBGos':function(_0x45f0c6,_0x1f9a2e,_0x2b7e1b){return _0x45f0c6(_0x1f9a2e,_0x2b7e1b);},'pMWmp':_0x3f5a99(0x1cd),'ILula':function(_0x364b8e,_0x55dc1a){return _0x364b8e>_0x55dc1a;},'wRmHb':function(_0x2c9acb,_0x250c15){return _0x2c9acb===_0x250c15;}};console[_0x3f5a99(0x1c3)]('\x0a🎯\x20Ranger\x20Skill\x20Setup\x0a');const _0x1d48fe=_0x447031[_0x3f5a99(0x1c9)]??_0x19f446[_0x3f5a99(0x1d3)],_0x403167=await getToken();if(!_0x403167){console[_0x3f5a99(0x1c3)](_0x19f446['chKDB']),console[_0x3f5a99(0x1c3)](_0x19f446[_0x3f5a99(0x1e9)]),console['log'](_0x19f446[_0x3f5a99(0x1e7)]),console['log']('\x20\x202.\x20Run:\x20ranger\x20setup'+(_0x19f446['FpyGQ'](_0x1d48fe,_0x19f446[_0x3f5a99(0x1e5)])?_0x3f5a99(0x1ea):'')+_0x3f5a99(0x1da)),console[_0x3f5a99(0x1c3)](_0x3f5a99(0x1c0)+(_0x19f446[_0x3f5a99(0x1e2)](_0x1d48fe,_0x3f5a99(0x1cb))?_0x19f446[_0x3f5a99(0x1c8)]:'')+'\x0a');return;}console['log'](_0x19f446['vyfTT']);const _0x47bbb2=getProjectRoot(),_0x327df4=basename(_0x47bbb2),_0x1153f2=_0x1d48fe===_0x19f446['LylRu']?getOpencodeConfigDir('user')+_0x3f5a99(0x1e1):getClaudeConfigDir()+'/skills/',_0x31ccdb=_0x1d48fe===_0x19f446['LylRu']?_0x47bbb2+'/.opencode/skills/':_0x47bbb2+_0x3f5a99(0x1ca),_0x22bb91=process['stdin']['isTTY']&&process[_0x3f5a99(0x1db)]['isTTY'];let _0x59dd43;if(_0x447031[_0x3f5a99(0x1d5)])_0x59dd43=_0x447031['autoInstall'];else{if(_0x22bb91){const _0x5d88b4=await _0x2eb216['prompt']([{'type':_0x3f5a99(0x1d6),'name':_0x3f5a99(0x1e0),'message':_0x3f5a99(0x1c6),'choices':[{'name':'All\x20projects\x20('+_0x1153f2+')','value':_0x3f5a99(0x1d8)},{'name':'This\x20project\x20only\x20('+_0x31ccdb+')','value':'project'}]}]);_0x59dd43=_0x5d88b4[_0x3f5a99(0x1e0)];}else _0x59dd43=_0x3f5a99(0x1dd),console[_0x3f5a99(0x1c3)]('Non-interactive\x20mode:\x20Installing\x20skills\x20at\x20project\x20level\x20('+_0x31ccdb+')');}let _0x1a59ed=0x0;const _0x5581b1=getCurrentVersion();console[_0x3f5a99(0x1c3)](_0x3f5a99(0x1d7));try{const _0x203cba=await _0x19f446['jBGos'](installSkill,'ranger',{'cliVersion':_0x5581b1,'level':_0x59dd43,'platform':_0x1d48fe});_0x203cba&&_0x1a59ed++;}catch(_0xacc919){console['warn'](_0x19f446['pMWmp'],_0xacc919 instanceof Error?_0xacc919[_0x3f5a99(0x1d1)]:_0xacc919);}if(_0x19f446['ILula'](_0x1a59ed,0x0)){const _0x209e6b=_0x19f446[_0x3f5a99(0x1e2)](_0x59dd43,'user')?'user-level':_0x3f5a99(0x1cc);console['log'](_0x3f5a99(0x1e6)+_0x1a59ed+'\x20'+_0x209e6b+_0x3f5a99(0x1e4)+(_0x19f446['ILula'](_0x1a59ed,0x1)?'s':'')+_0x3f5a99(0x1bd)),!_0x447031[_0x3f5a99(0x1e3)]&&(console['log']('To\x20use:'),_0x19f446[_0x3f5a99(0x1dc)](_0x1d48fe,_0x19f446['LylRu'])?console[_0x3f5a99(0x1c3)](_0x3f5a99(0x1de)):console['log'](_0x3f5a99(0x1be)));}else console[_0x3f5a99(0x1c3)](_0x3f5a99(0x1c5));}
@@ -1 +1 @@
1
- function _0x54e6(_0x336c00,_0x14263d){_0x336c00=_0x336c00-0x98;const _0x49ce52=_0x49ce();let _0x54e618=_0x49ce52[_0x336c00];return _0x54e618;}const _0xa80dda=_0x54e6;(function(_0x376a71,_0x4d385a){const _0x235634=_0x54e6,_0xe0f615=_0x376a71();while(!![]){try{const _0x24bb0a=-parseInt(_0x235634(0x108))/0x1*(parseInt(_0x235634(0xd9))/0x2)+parseInt(_0x235634(0xc0))/0x3*(-parseInt(_0x235634(0xa4))/0x4)+parseInt(_0x235634(0x106))/0x5*(-parseInt(_0x235634(0xd7))/0x6)+-parseInt(_0x235634(0xce))/0x7*(-parseInt(_0x235634(0xba))/0x8)+parseInt(_0x235634(0xdc))/0x9*(-parseInt(_0x235634(0xa0))/0xa)+parseInt(_0x235634(0x102))/0xb+-parseInt(_0x235634(0xab))/0xc*(-parseInt(_0x235634(0xea))/0xd);if(_0x24bb0a===_0x4d385a)break;else _0xe0f615['push'](_0xe0f615['shift']());}catch(_0x169c8c){_0xe0f615['push'](_0xe0f615['shift']());}}}(_0x49ce,0xf40b8));import{mkdir,writeFile}from'fs/promises';import{join}from'path';import{existsSync}from'fs';import{createRequire}from'module';import{spawn}from'child_process';import _0x496113 from'inquirer';import{getToken,storeToken}from'./utils/keychain.js';import{getCurrentUser}from'./utils/userApi.js';import{chromium}from'playwright';import{addEnv}from'./addEnv.js';import{getRangerHomeDir,findGitRoot}from'./utils/rangerRoot.js';import{runDeviceAuthFlow}from'./utils/deviceAuth.js';import{findExistingEnv}from'./utils/settings.js';import{getCurrentVersion}from'./utils/version.js';import{ensureClaudePlugin,ensureClaudeSkills}from'./setup/claude.js';import{ensureOpencodePluginConfig}from'./setup/opencode.js';import{installSkill}from'./utils/skills.js';const require=createRequire(import.meta.url);export const PLAYWRIGHT_CHROMIUM_INSTALL_FALLBACK_VERSION='1.58.2';const bold=_0x4e655c=>'\x1b[1m'+_0x4e655c+_0xa80dda(0x9e);export function getPlaywrightVersion(){const _0x687837=_0xa80dda,_0x28ae22={'IJmNU':function(_0x2e90a2,_0x600c0e){return _0x2e90a2(_0x600c0e);}};try{const _0x2387a5=require[_0x687837(0xc8)](_0x687837(0xc3)),_0x2a4683=_0x28ae22[_0x687837(0xb3)](require,_0x2387a5);return _0x2a4683['version'];}catch{return null;}}function _0x49ce(){const _0x2c4027=['skipAuth','\x0aTo\x20set\x20up\x20a\x20profile\x20for\x20your\x20app,\x20run:','ranger\x20setup\x20--scope=','You\x20can\x20install\x20it\x20manually\x20by\x20running:','\x0averification\x20to\x20check\x20its\x20work\x20as\x20it\x20builds.','⚠\x20No\x20git\x20repository\x20found.\x20Re-run\x20with\x20`--scope\x20user`\x20to\x20store\x20the\x20profile\x20at\x20~/.ranger/.','jWzQU','IJmNU','EwFet','Failed\x20to\x20connect\x20to\x20MCP\x20server:\x20','✓\x20Local\x20profile\x20already\x20exists','ready','\x0a🚀\x20Ranger\x20Setup\x0a','plugin','24ATeHTo','status','.\x20Please\x20check\x20your\x20network\x20connection\x20and\x20server\x20URL.','iYXpD','scope','\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','5568ImCKLv','\x0a✅\x20Ranger\x20setup\x20complete!\x0a','install','playwright/package.json','success','url','force','The\x20required\x20version\x20(','resolve','DLKJz','ZFScO','win32','log','tWpSs','4073447aehAVV','HOxVv','dpyli','TpCCW','piDiJ','Validating\x20API\x20token...','message','NzVDN','RBlHl','586452PWpuQl','\x0aIn\x20OpenCode,\x20enable\x20Ranger\x20hooks\x20(run\x20the\x20`ranger_enable`\x20tool)','8JdLwQS','\x0a⚠\x20Skipping\x20Chromium\x20installation.','PRITU','207TMCmer','trackPhaseStart','method','fRajL','skills','local','existing_token','stdout','\x0aNon-interactive\x20mode:\x20Auto-installing\x20Playwright\x20Chromium\x20','oUKjE','device_auth','trackPhaseEnd','RbuiN','inherit','13bnqxtU','WxeJx',')\x20of\x20the\x20Playwright\x20Chromium\x20browser\x20is\x20not\x20installed.\x20Install\x20it\x20now?','eaQsa','oWtul','iCzxo','\x0a\x20\x20','skipChromium','\x0a❌\x20Failed\x20to\x20install\x20Chromium:','✓\x20Stored\x20credentials\x20locally','Failed\x20to\x20validate\x20provisioned\x20API\x20key:\x20','error','HfcTr','hVHCY','user','ToOkW','oLBrM','Installation\x20failed\x20with\x20exit\x20code\x20','velCx','--with-deps','pisLN','✓\x20Playwright\x20Chromium\x20browser\x20found','yjgnT','stdin','12177099nXuFrQ','Authentication\x20failed:\x20','platform','KIikp','100hrRMZY','\x0aSkipping\x20profile\x20setup\x20(--skip-auth).\x20Run\x20`ranger\x20setup`\x20with\x20auth\x20to\x20add\x20a\x20profile\x20later.\x0a','187123hbSWSt','rXMMZ','✓\x20Authenticated\x20to\x20','isTTY','profile','organizationName','npx','IJfcc','\x0ascenarios\x20describing\x20what\x20to\x20verify\x20and\x20then\x20run\x20browser','\x1b[0m','.\x20Please\x20check\x20your\x20API\x20token\x20and\x20try\x20again.','854190WcQsKE','amwNX','env','.gitignore','2448IVvfaV','✓\x20Skipping\x20Chromium\x20check\x20(--skip-chromium)','\x0a\x0aFor\x20CI\x20/\x20background\x20agents\x20and\x20other\x20setup\x20options,\x20see:','chromium','✓\x20Created\x20.ranger/.gitignore','/ranger:enable','warn','47408124PAakvQ'];_0x49ce=function(){return _0x2c4027;};return _0x49ce();}export function installChromiumBinary(_0x53ed52,_0x22b137=![]){const _0x83858=_0xa80dda,_0x376a79={'aQYOr':function(_0x4d84b4){return _0x4d84b4();},'HPNmZ':_0x83858(0xfd),'zuBAe':_0x83858(0xa7),'VrWoe':function(_0x11c6a8,_0x1c638e,_0x20b0ae,_0x26cc0a){return _0x11c6a8(_0x1c638e,_0x20b0ae,_0x26cc0a);},'tqfNK':_0x83858(0x9b),'XGfoI':_0x83858(0xe9),'tWpSs':'close','RbuiN':_0x83858(0xf5)};return new Promise((_0x3b6850,_0x446ce1)=>{const _0x1472c8=_0x83858,_0x5f301c={'RBlHl':function(_0x21e250,_0xd230f3){return _0x21e250(_0xd230f3);}},_0x2757ba=['playwright@'+_0x53ed52,'install',..._0x22b137?[_0x376a79['HPNmZ']]:[],_0x376a79['zuBAe']],_0x4ddb38=_0x376a79['VrWoe'](spawn,_0x376a79['tqfNK'],_0x2757ba,{'stdio':['ignore',_0x1472c8(0xe9),_0x376a79['XGfoI']],'shell':process[_0x1472c8(0x104)]===_0x1472c8(0xcb)});_0x4ddb38['on'](_0x376a79[_0x1472c8(0xcd)],_0x1b7738=>{const _0xadf53a=_0x1472c8;_0x1b7738===0x0?_0x376a79['aQYOr'](_0x3b6850):_0x446ce1(new Error(_0xadf53a(0xfb)+_0x1b7738));}),_0x4ddb38['on'](_0x376a79[_0x1472c8(0xe8)],_0x1ff0ab=>{const _0x48d702=_0x1472c8;_0x5f301c[_0x48d702(0xd6)](_0x446ce1,_0x1ff0ab);});});}export async function authenticate(_0x2c85aa){const _0x21c272=_0xa80dda,_0xaccc36={'eaQsa':function(_0xa781e2){return _0xa781e2();},'UpMOQ':function(_0x529ad0,_0x315fd2){return _0x529ad0(_0x315fd2);},'egEMT':_0x21c272(0xe2),'oUKjE':function(_0x5c6d63){return _0x5c6d63();},'HfcTr':function(_0x2131a2,_0xdb9b33){return _0x2131a2(_0xdb9b33);},'pisLN':_0x21c272(0xe6),'yVdfB':_0x21c272(0xd3),'dpyli':_0x21c272(0xf3)};if(!_0x2c85aa){const _0x117133=await _0xaccc36[_0x21c272(0xed)](getToken);if(_0x117133){const _0xc5f119=await _0xaccc36['UpMOQ'](getCurrentUser,_0x117133);if(_0xc5f119[_0x21c272(0xc4)])return console['log']('✓\x20Already\x20authenticated\x20to\x20'+_0xc5f119['user'][_0x21c272(0x9a)]),{'token':_0x117133,'method':_0xaccc36['egEMT']};}try{_0x2c85aa=await _0xaccc36[_0x21c272(0xe5)](runDeviceAuthFlow);}catch(_0x1503d8){throw new Error('Authentication\x20failed:\x20'+(_0x1503d8 instanceof Error?_0x1503d8[_0x21c272(0xd4)]:_0x1503d8));}const _0x2a8b37=await _0xaccc36[_0x21c272(0xf6)](getCurrentUser,_0x2c85aa);if(!_0x2a8b37[_0x21c272(0xc4)])throw new Error(_0x21c272(0xf4)+_0x2a8b37['error']);return console[_0x21c272(0xcc)](_0x21c272(0x10a)+_0x2a8b37[_0x21c272(0xf8)][_0x21c272(0x9a)]),{'token':_0x2c85aa,'method':_0xaccc36[_0x21c272(0xfe)]};}console['log'](_0xaccc36['yVdfB']);const _0x1dc335=await _0xaccc36[_0x21c272(0xf6)](getCurrentUser,_0x2c85aa);if(!_0x1dc335[_0x21c272(0xc4)]){if(_0x1dc335[_0x21c272(0xbb)])throw new Error(_0x21c272(0x103)+_0x1dc335['error']+_0x21c272(0x9f));else throw new Error(_0x21c272(0xb5)+_0x1dc335['error']+_0x21c272(0xbc));}return console['log']('✓\x20Authenticated\x20to\x20'+_0x1dc335['user']['organizationName']),await storeToken(_0x2c85aa),console['log'](process[_0x21c272(0xa2)]['GITHUB_ENV']?'✓\x20Exported\x20credentials\x20for\x20CI':_0xaccc36[_0x21c272(0xd0)]),{'token':_0x2c85aa,'method':'provided_token'};}export async function ensureRangerDir(_0x32473d){const _0x5528f8=_0xa80dda,_0x388422={'oLBrM':function(_0x1ea069){return _0x1ea069();},'KIikp':function(_0x4fa9a2,_0x57af08,_0xb99ebd){return _0x4fa9a2(_0x57af08,_0xb99ebd);},'AHKGU':'✓\x20Created\x20~/.ranger/\x20directory','obNFK':'✓\x20~/.ranger/\x20directory\x20already\x20exists'};void _0x32473d;const _0x3233e3=_0x388422[_0x5528f8(0xfa)](getRangerHomeDir);return!existsSync(_0x3233e3)?(await _0x388422[_0x5528f8(0x105)](mkdir,_0x3233e3,{'recursive':!![]}),console[_0x5528f8(0xcc)](_0x388422['AHKGU']),{'path':_0x3233e3,'installed':!![]}):(console['log'](_0x388422['obNFK']),{'path':_0x3233e3,'installed':![]});}export async function ensureChromium(_0x3f7b92=![]){const _0x51553f=_0xa80dda,_0x2b3fe1={'rXMMZ':_0x51553f(0xff),'fuJRT':function(_0x16bbb0){return _0x16bbb0();},'fRajL':function(_0x5cf5c2,_0x23f287){return _0x5cf5c2??_0x23f287;},'zuqjn':_0x51553f(0xc2),'ToOkW':'\x0aInstalling\x20Chromium\x20browser...\x0a','piDiJ':function(_0x44935f,_0x150610,_0x496346){return _0x44935f(_0x150610,_0x496346);},'EwFet':'\x0a✓\x20Playwright\x20Chromium\x20installed\x20successfully','gvSyU':_0x51553f(0xf2),'KMXsc':function(_0x33d565,_0x15440d){return _0x33d565 instanceof _0x15440d;},'xpkfp':_0x51553f(0xaf),'LJuhd':_0x51553f(0xda),'ZgySX':'You\x20will\x20need\x20to\x20install\x20it\x20before\x20using\x20Ranger:'};let _0x5b4806=![];try{const _0x4cce37=chromium['executablePath']();_0x5b4806=existsSync(_0x4cce37);}catch{_0x5b4806=![];}if(_0x5b4806)return console['log'](_0x2b3fe1[_0x51553f(0x109)]),![];const _0x1423c2=_0x2b3fe1['fuJRT'](getPlaywrightVersion),_0x507178=_0x2b3fe1[_0x51553f(0xdf)](_0x1423c2,PLAYWRIGHT_CHROMIUM_INSTALL_FALLBACK_VERSION),_0x47b61f=!_0x1423c2,_0x1644ea=process[_0x51553f(0x101)]['isTTY']&&process[_0x51553f(0xe3)][_0x51553f(0x98)];let _0x516357=!![];if(_0x1644ea){const {install:_0x4e9842}=await _0x496113['prompt']([{'type':'confirm','name':_0x2b3fe1['zuqjn'],'message':_0x47b61f?'Could\x20not\x20determine\x20local\x20Playwright\x20version.\x20Install\x20Playwright\x20Chromium\x20using\x20fallback\x20version\x20'+_0x507178+'\x20now?':_0x51553f(0xc7)+_0x507178+_0x51553f(0xec),'default':!![]}]);_0x516357=_0x4e9842;}else console[_0x51553f(0xcc)](_0x51553f(0xe4)+_0x507178+(_0x47b61f?'\x20(fallback\x20version)':'')+'...');if(_0x516357){console['log'](_0x2b3fe1[_0x51553f(0xf9)]);try{await _0x2b3fe1[_0x51553f(0xd2)](installChromiumBinary,_0x507178,_0x3f7b92),console['log'](_0x2b3fe1[_0x51553f(0xb4)]);}catch(_0x5eb998){console[_0x51553f(0xf5)](_0x2b3fe1['gvSyU'],_0x2b3fe1['KMXsc'](_0x5eb998,Error)?_0x5eb998['message']:_0x5eb998),console['log'](_0x2b3fe1['xpkfp']),console[_0x51553f(0xcc)]('\x20\x20npx\x20playwright@'+_0x507178+'\x20install\x20chromium');}}else console[_0x51553f(0xcc)](_0x2b3fe1['LJuhd']),console['log'](_0x2b3fe1['ZgySX']),console[_0x51553f(0xcc)]('\x20\x20npx\x20playwright@'+_0x507178+'\x20install\x20chromium');return!![];}export async function writeRangerGitignore(_0x198a80){const _0x11485c=_0xa80dda,_0x4a852b={'isVZj':function(_0x9b46c6,_0x2d1f8b,_0x2e9def){return _0x9b46c6(_0x2d1f8b,_0x2e9def);}},_0x1856fc=join(_0x198a80,_0x11485c(0xa3)),_0x4548b8=_0x11485c(0xbf);await _0x4a852b['isVZj'](writeFile,_0x1856fc,_0x4548b8),console[_0x11485c(0xcc)](_0x11485c(0xa8));}export async function ensureLocalEnv(_0x56b042,_0x3f01e4){const _0x464d50=_0xa80dda,_0x4bf00d={'WxeJx':function(_0x46c2f6){return _0x46c2f6();},'YPjpW':_0x464d50(0xb1),'zPnGq':function(_0x2af483,_0x3e73db){return _0x2af483===_0x3e73db;},'IJfcc':_0x464d50(0xf8),'ZFScO':_0x464d50(0xe1),'jWzQU':function(_0x1e3091,_0x13d994,_0x4f5e97,_0x441870){return _0x1e3091(_0x13d994,_0x4f5e97,_0x441870);},'xmxPj':function(_0xbeece9,_0x186308){return _0xbeece9 instanceof _0x186308;}};if(!_0x4bf00d[_0x464d50(0xeb)](findGitRoot)&&_0x56b042?.[_0x464d50(0xbe)]!=='user')return console['log'](_0x4bf00d['YPjpW']),{'ready':![],'skipped':!![]};const _0x43b19a=_0x4bf00d['zPnGq'](_0x56b042?.['scope'],_0x4bf00d[_0x464d50(0x9c)])?_0x4bf00d['WxeJx'](getRangerHomeDir):undefined;if(findExistingEnv(_0x4bf00d['ZFScO'],{'locations':[_0x4bf00d[_0x464d50(0xca)]],'rangerDir':_0x43b19a}))return console[_0x464d50(0xcc)](_0x464d50(0xb6)),{'ready':!![],'skipped':![]};try{return await _0x4bf00d[_0x464d50(0xb2)](addEnv,_0x4bf00d['ZFScO'],{'url':_0x56b042?.['url'],'force':_0x56b042?.[_0x464d50(0xc6)],'allowInsecureLocalhost':_0x56b042?.['allowInsecureLocalhost'],'scope':_0x56b042?.['scope']},_0x3f01e4),{'ready':!![],'skipped':![]};}catch(_0x4e4d3a){return console[_0x464d50(0xf5)]('\x0a❌\x20Profile\x20setup\x20failed:',_0x4bf00d['xmxPj'](_0x4e4d3a,Error)?_0x4e4d3a[_0x464d50(0xd4)]:_0x4e4d3a),{'ready':![],'skipped':![]};}}export async function start(_0x2756db,_0x48fcdd,_0xceb5a){const _0x871016=_0xa80dda,_0x4bfcec={'iCzxo':_0x871016(0xb8),'nBwht':function(_0xafe3fe,_0x45048d){return _0xafe3fe!==_0x45048d;},'hUXsy':function(_0x1b1085,_0x457a06){return _0x1b1085!==_0x457a06;},'yjgnT':function(_0x2637b1,_0x37c0b5){return _0x2637b1+_0x37c0b5;},'PRITU':'user','hVHCY':function(_0x5a020e,_0x3b5849){return _0x5a020e(_0x3b5849);},'XACyA':'skipped','urqwb':'auth','jLNJt':function(_0x1e7eb5,_0x379184){return _0x1e7eb5(_0x379184);},'TtVSy':_0x871016(0xc1),'iYXpD':'plugin','WgMqY':function(_0x26626e,_0x57e3cc){return _0x26626e(_0x57e3cc);},'TpCCW':function(_0x2d1be3,_0x5705d9){return _0x2d1be3(_0x5705d9);},'DLKJz':'ranger','HOxVv':'opencode','NzVDN':_0x871016(0xe0),'velCx':function(_0x26a731,_0x2e732b){return _0x26a731(_0x2e732b);},'oWtul':_0x871016(0x99),'ZUAkz':function(_0x5357ad,_0x3abfc9,_0x19b1ac){return _0x5357ad(_0x3abfc9,_0x19b1ac);},'amwNX':function(_0x28e962,_0x5bf505){return _0x28e962+_0x5bf505;},'TTmnE':function(_0x2553f5,_0x585ca9){return _0x2553f5(_0x585ca9);},'bnXdH':'ranger\x20profile\x20add\x20<name>','tQBAy':_0x871016(0xd8),'kYHbH':function(_0x20b341,_0x396c95){return _0x20b341(_0x396c95);},'hFKoT':_0x871016(0xa9)};console['log'](_0x4bfcec[_0x871016(0xef)]);_0x4bfcec['nBwht'](_0x48fcdd?.['scope'],undefined)&&_0x4bfcec['hUXsy'](_0x48fcdd['scope'],'user')&&(console['error'](_0x4bfcec[_0x871016(0x100)](_0x871016(0xae)+String(_0x48fcdd['scope'])+'\x20is\x20no\x20longer\x20supported.\x20'+'Setup\x20always\x20installs\x20at\x20user\x20scope\x20now\x20(cloud\x20profiles\x20make\x20','project-scope\x20setup\x20obsolete).\x20Drop\x20the\x20--scope\x20flag\x20or\x20pass\x20--scope=user.')),process['exit'](0x1));_0x48fcdd={..._0x48fcdd,'scope':_0x4bfcec[_0x871016(0xdb)]};const _0x2d04b1=!existsSync(getRangerHomeDir());await _0x4bfcec[_0x871016(0xf7)](ensureRangerDir,_0x871016(0xf8));if(_0x48fcdd?.['skipAuth'])console['log']('✓\x20Skipping\x20authentication\x20(--skip-auth)'),_0xceb5a?.['trackPhaseEnd']('auth',{'isFirstRun':_0x2d04b1,'method':_0x4bfcec['XACyA']});else{_0xceb5a?.['trackPhaseStart']('auth');const _0x37a7eb=await _0x4bfcec['hVHCY'](authenticate,_0x2756db);_0xceb5a?.['trackPhaseEnd'](_0x4bfcec['urqwb'],{'isFirstRun':_0x2d04b1,'method':_0x37a7eb[_0x871016(0xde)]});}_0xceb5a?.['trackPhaseStart']('chromium');_0x48fcdd?.['skipChromium']?console['log'](_0x871016(0xa5)):await _0x4bfcec['jLNJt'](ensureChromium,_0x48fcdd?.['withDeps']);_0xceb5a?.[_0x871016(0xe7)]('chromium',{'isFirstRun':_0x2d04b1,'skipped':!!_0x48fcdd?.[_0x871016(0xf1)]}),console['log'](_0x4bfcec['TtVSy']);const _0x1d3a68=_0x48fcdd?.[_0x871016(0xbe)],_0x20b4cf=_0x48fcdd?.['opencode']??![];let _0xc5c36b=null;_0x20b4cf?(_0xceb5a?.['trackPhaseStart'](_0x4bfcec[_0x871016(0xbd)]),_0xc5c36b=await _0x4bfcec['WgMqY'](ensureOpencodePluginConfig,_0x1d3a68),_0xceb5a?.['trackPhaseEnd'](_0x4bfcec[_0x871016(0xbd)],{'isFirstRun':_0x2d04b1,'opencode':!![]})):(_0xceb5a?.['trackPhaseStart'](_0x4bfcec[_0x871016(0xbd)]),await _0x4bfcec[_0x871016(0xd1)](ensureClaudePlugin,_0x1d3a68),_0xceb5a?.['trackPhaseEnd'](_0x871016(0xb9),{'isFirstRun':_0x2d04b1}));if(_0x20b4cf&&_0xc5c36b){_0xceb5a?.['trackPhaseStart'](_0x871016(0xe0));try{await installSkill(_0x4bfcec[_0x871016(0xc9)],{'level':_0xc5c36b['scope'],'cliVersion':getCurrentVersion(),'platform':_0x4bfcec[_0x871016(0xcf)]}),_0xceb5a?.[_0x871016(0xe7)](_0x4bfcec['NzVDN'],{'isFirstRun':_0x2d04b1,'opencode':!![]});}catch(_0x4c3d29){console[_0x871016(0xaa)]('\x20\x20Failed\x20to\x20install\x20OpenCode\x20skill:',_0x4c3d29 instanceof Error?_0x4c3d29['message']:_0x4c3d29),_0xceb5a?.[_0x871016(0xe7)](_0x4bfcec[_0x871016(0xd5)],{'isFirstRun':_0x2d04b1,'opencode':!![],'failed':!![]});}}else _0xceb5a?.['trackPhaseStart'](_0x4bfcec['NzVDN']),await _0x4bfcec[_0x871016(0xfc)](ensureClaudeSkills,_0x1d3a68),_0xceb5a?.['trackPhaseEnd'](_0x4bfcec['NzVDN'],{'isFirstRun':_0x2d04b1});if(_0x48fcdd?.[_0x871016(0xac)])console['log'](_0x871016(0x107));else{if(_0x48fcdd?.[_0x871016(0xc5)]){_0xceb5a?.[_0x871016(0xdd)](_0x4bfcec[_0x871016(0xee)]);const _0x13624b=await _0x4bfcec['ZUAkz'](ensureLocalEnv,{'url':_0x48fcdd['url'],'force':_0x48fcdd?.[_0x871016(0xc6)],'allowInsecureLocalhost':_0x48fcdd?.['allowInsecureLocalhost'],'scope':_0x871016(0xf8)},_0xceb5a);_0xceb5a?.['trackPhaseEnd']('profile',{'isFirstRun':_0x2d04b1,'profileReady':_0x13624b[_0x871016(0xb7)],'userSkipped':_0x13624b['skipped']});}else console[_0x871016(0xcc)](_0x4bfcec[_0x871016(0xa1)](_0x4bfcec['yjgnT'](_0x871016(0xad)+(_0x871016(0xf0)+_0x4bfcec['TTmnE'](bold,_0x4bfcec['bnXdH'])),'\x0a\x20\x20(opens\x20a\x20browser\x20so\x20you\x20can\x20log\x20in\x20once)'),_0x871016(0xa6))+'\x0a\x20\x20https://docs.ranger.net/main/concepts/profiles');}if(_0x20b4cf)console['log'](_0x4bfcec['tQBAy']),console['log']('and\x20prompt\x20the\x20agent\x20like\x20usual.\x20Ranger\x20will\x20create\x20a\x20feature\x20review'),console['log']('with\x20scenarios\x20describing\x20what\x20to\x20verify\x20and\x20then\x20run\x20browser'),console['log']('verification\x20to\x20check\x20its\x20work\x20as\x20it\x20builds.');else{const _0x40eacb=_0x4bfcec['kYHbH'](bold,_0x4bfcec['hFKoT']);console['log']('\x0aIn\x20Claude\x20Code,\x20run\x20'+_0x40eacb+'\x20and\x20prompt\x20the\x20coding'+'\x0aagent\x20like\x20usual.\x20Claude\x20will\x20create\x20a\x20feature\x20review\x20with'+_0x871016(0x9d)+_0x871016(0xb0));}}
1
+ const _0x4334d3=_0x420e;(function(_0x1866c0,_0x14363e){const _0x213d59=_0x420e,_0x49f188=_0x1866c0();while(!![]){try{const _0xce2566=-parseInt(_0x213d59(0x184))/0x1+-parseInt(_0x213d59(0x19f))/0x2+-parseInt(_0x213d59(0x1a0))/0x3*(-parseInt(_0x213d59(0x18f))/0x4)+parseInt(_0x213d59(0x1be))/0x5*(-parseInt(_0x213d59(0x162))/0x6)+parseInt(_0x213d59(0x189))/0x7*(parseInt(_0x213d59(0x186))/0x8)+-parseInt(_0x213d59(0x18e))/0x9*(parseInt(_0x213d59(0x1c2))/0xa)+parseInt(_0x213d59(0x1ae))/0xb*(parseInt(_0x213d59(0x174))/0xc);if(_0xce2566===_0x14363e)break;else _0x49f188['push'](_0x49f188['shift']());}catch(_0x3fcd03){_0x49f188['push'](_0x49f188['shift']());}}}(_0x12c2,0xe40f7));import{mkdir,writeFile}from'fs/promises';import{join}from'path';import{existsSync}from'fs';import{createRequire}from'module';import{spawn}from'child_process';import _0x5e5431 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';function _0x420e(_0x30b60f,_0x1b6b28){_0x30b60f=_0x30b60f-0x15e;const _0x12c296=_0x12c2();let _0x420e0b=_0x12c296[_0x30b60f];return _0x420e0b;}import{ensureClaudePlugin,ensureClaudeSkills}from'./setup/claude.js';import{ensureOpencodePluginConfig}from'./setup/opencode.js';import{installSkill}from'./utils/skills.js';const require=createRequire(import.meta.url);function _0x12c2(){const _0x57add2=['MMffS','985887GvATsB','\x0a✓\x20Playwright\x20Chromium\x20installed\x20successfully','968wTYecZ','auth','\x1b[1m','161KujIVT','KcdYb','\x0aTo\x20set\x20up\x20a\x20profile\x20for\x20your\x20app,\x20run:','warn','\x0averification\x20to\x20check\x20its\x20work\x20as\x20it\x20builds.','18jSTllf','6812EDpjJm','status','\x0a⚠\x20Skipping\x20Chromium\x20installation.','KWsBT','jCtTA','✓\x20Playwright\x20Chromium\x20browser\x20found','\x0a\x20\x20https://docs.ranger.net/main/concepts/profiles','ranger','skills','KxTnr','VmMFL','device_auth','prompt','\x20\x20npx\x20playwright@','message','log','2811636LnQCnx','270lfLhRI','profile','\x0a❌\x20Failed\x20to\x20install\x20Chromium:','Failed\x20to\x20validate\x20provisioned\x20API\x20key:\x20','skipChromium','ranger\x20profile\x20add\x20<name>','DNSFh',')\x20of\x20the\x20Playwright\x20Chromium\x20browser\x20is\x20not\x20installed.\x20Install\x20it\x20now?','axBQc','Authentication\x20failed:\x20','jQPjB','You\x20can\x20install\x20it\x20manually\x20by\x20running:','\x0aInstalling\x20Chromium\x20browser...\x0a','success','11SPvcMn','ready','⚠\x20No\x20git\x20repository\x20found.\x20Re-run\x20with\x20`--scope\x20user`\x20to\x20store\x20the\x20profile\x20at\x20~/.ranger/.','UFnEw','skipped','isTTY','qmFso','aNuKH','trackPhaseEnd','HMeUd','lVSuu','playwright@','allowInsecureLocalhost','organizationName','user','TTeUE','78530hCOoEL','install','version','\x0a\x20\x20(opens\x20a\x20browser\x20so\x20you\x20can\x20log\x20in\x20once)','1357270wWzZEU','✓\x20~/.ranger/\x20directory\x20already\x20exists','gfRjP','bUZzz','DQBPo','EtcYc','error','The\x20required\x20version\x20(','resolve','cbXOs','method','✓\x20Created\x20~/.ranger/\x20directory','276rsjMze','\x0aIn\x20Claude\x20Code,\x20run\x20','AJHsP','trackPhaseStart','ydmYV','--with-deps','\x0a❌\x20Profile\x20setup\x20failed:','\x0aSkipping\x20profile\x20setup\x20(--skip-auth).\x20Run\x20`ranger\x20setup`\x20with\x20auth\x20to\x20add\x20a\x20profile\x20later.\x0a','niSVi','plugin','\x0a🚀\x20Ranger\x20Setup\x0a','rTAJO','win32','Failed\x20to\x20connect\x20to\x20MCP\x20server:\x20','scope','provided_token','ignore','opencode','49964604cpIHWB','ObyCq','\x0a\x0aFor\x20CI\x20/\x20background\x20agents\x20and\x20other\x20setup\x20options,\x20see:','with\x20scenarios\x20describing\x20what\x20to\x20verify\x20and\x20then\x20run\x20browser','iFeDF','oMPZz','ellKE','skipAuth','stdout','\x0aNon-interactive\x20mode:\x20Auto-installing\x20Playwright\x20Chromium\x20','\x20\x20Failed\x20to\x20install\x20OpenCode\x20skill:','env','XRagW','✓\x20Local\x20profile\x20already\x20exists','\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'];_0x12c2=function(){return _0x57add2;};return _0x12c2();}export const PLAYWRIGHT_CHROMIUM_INSTALL_FALLBACK_VERSION='1.58.2';const bold=_0x40b679=>_0x4334d3(0x188)+_0x40b679+'\x1b[0m';export function getPlaywrightVersion(){const _0x511984=_0x4334d3;try{const _0x28591b=require[_0x511984(0x15e)]('playwright/package.json'),_0x520c77=require(_0x28591b);return _0x520c77[_0x511984(0x1c0)];}catch{return null;}}export function installChromiumBinary(_0x3fade4,_0x3b68a5=![]){const _0x36b9e5=_0x4334d3,_0x139960={'XPVQm':function(_0x11c5cf){return _0x11c5cf();},'qmFso':_0x36b9e5(0x167),'KcdYb':'chromium','DNSFh':function(_0x6ceb42,_0x67371f,_0x565fa1,_0x2a3435){return _0x6ceb42(_0x67371f,_0x565fa1,_0x2a3435);},'cbXOs':'npx','EtcYc':_0x36b9e5(0x172),'ZBxPi':'inherit','iFeDF':function(_0x4b1385,_0x49d188){return _0x4b1385===_0x49d188;},'ekAot':'close'};return new Promise((_0x5d1d60,_0x2f937b)=>{const _0x12f0fa=_0x36b9e5,_0x7f7f66={'AJHsP':function(_0x73d779){return _0x139960['XPVQm'](_0x73d779);},'atoDa':function(_0x22efed,_0x237c7d){return _0x22efed(_0x237c7d);},'nKBpB':function(_0x4ba7d0,_0x5bc3fb){return _0x4ba7d0(_0x5bc3fb);}},_0x5b3147=[_0x12f0fa(0x1b9)+_0x3fade4,'install',..._0x3b68a5?[_0x139960[_0x12f0fa(0x1b4)]]:[],_0x139960[_0x12f0fa(0x18a)]],_0x3e39b9=_0x139960[_0x12f0fa(0x1a6)](spawn,_0x139960[_0x12f0fa(0x15f)],_0x5b3147,{'stdio':[_0x139960[_0x12f0fa(0x1c7)],_0x139960['ZBxPi'],'inherit'],'shell':_0x139960[_0x12f0fa(0x178)](process['platform'],_0x12f0fa(0x16e))});_0x3e39b9['on'](_0x139960['ekAot'],_0x24d86e=>{const _0x18e49f=_0x12f0fa;_0x24d86e===0x0?_0x7f7f66[_0x18e49f(0x164)](_0x5d1d60):_0x7f7f66['atoDa'](_0x2f937b,new Error('Installation\x20failed\x20with\x20exit\x20code\x20'+_0x24d86e));}),_0x3e39b9['on'](_0x12f0fa(0x1c8),_0x41c81d=>{_0x7f7f66['nKBpB'](_0x2f937b,_0x41c81d);});});}export async function authenticate(_0x2febe7){const _0x57d150=_0x4334d3,_0x10cf52={'KyDcJ':function(_0x534b96){return _0x534b96();},'qTNvj':function(_0x71f665,_0x1f971d){return _0x71f665 instanceof _0x1f971d;},'JkImf':function(_0x418ea8,_0x5859bb){return _0x418ea8(_0x5859bb);},'KxTnr':_0x57d150(0x19a),'KLGgQ':function(_0x4baebf,_0x49d1d8){return _0x4baebf(_0x49d1d8);},'DQBPo':_0x57d150(0x171)};if(!_0x2febe7){const _0x4453cb=await _0x10cf52['KyDcJ'](getToken);if(_0x4453cb){const _0x15bdf7=await getCurrentUser(_0x4453cb);if(_0x15bdf7['success'])return console[_0x57d150(0x19e)]('✓\x20Already\x20authenticated\x20to\x20'+_0x15bdf7[_0x57d150(0x1bc)][_0x57d150(0x1bb)]),{'token':_0x4453cb,'method':'existing_token'};}try{_0x2febe7=await runDeviceAuthFlow();}catch(_0x49c0b1){throw new Error(_0x57d150(0x1a9)+(_0x10cf52['qTNvj'](_0x49c0b1,Error)?_0x49c0b1['message']:_0x49c0b1));}const _0x544c8f=await _0x10cf52['JkImf'](getCurrentUser,_0x2febe7);if(!_0x544c8f[_0x57d150(0x1ad)])throw new Error(_0x57d150(0x1a3)+_0x544c8f[_0x57d150(0x1c8)]);return console[_0x57d150(0x19e)]('✓\x20Authenticated\x20to\x20'+_0x544c8f[_0x57d150(0x1bc)][_0x57d150(0x1bb)]),{'token':_0x2febe7,'method':_0x10cf52[_0x57d150(0x198)]};}console[_0x57d150(0x19e)]('Validating\x20API\x20token...');const _0x3ca5cb=await _0x10cf52['KLGgQ'](getCurrentUser,_0x2febe7);if(!_0x3ca5cb[_0x57d150(0x1ad)]){if(_0x3ca5cb[_0x57d150(0x190)])throw new Error(_0x57d150(0x1a9)+_0x3ca5cb['error']+'.\x20Please\x20check\x20your\x20API\x20token\x20and\x20try\x20again.');else throw new Error(_0x57d150(0x16f)+_0x3ca5cb['error']+'.\x20Please\x20check\x20your\x20network\x20connection\x20and\x20server\x20URL.');}return console[_0x57d150(0x19e)]('✓\x20Authenticated\x20to\x20'+_0x3ca5cb[_0x57d150(0x1bc)]['organizationName']),await storeToken(_0x2febe7),console[_0x57d150(0x19e)](process[_0x57d150(0x17f)]['GITHUB_ENV']?'✓\x20Exported\x20credentials\x20for\x20CI':'✓\x20Stored\x20credentials\x20locally'),{'token':_0x2febe7,'method':_0x10cf52[_0x57d150(0x1c6)]};}export async function ensureRangerDir(_0x54f272){const _0xd20d3e=_0x4334d3,_0x1688b7={'BJOkj':function(_0x13c9b3){return _0x13c9b3();},'OyWeQ':function(_0x517a18,_0x2181a7){return _0x517a18(_0x2181a7);},'rqUJD':_0xd20d3e(0x161)};void _0x54f272;const _0x16afce=_0x1688b7['BJOkj'](getRangerHomeDir);return!_0x1688b7['OyWeQ'](existsSync,_0x16afce)?(await mkdir(_0x16afce,{'recursive':!![]}),console[_0xd20d3e(0x19e)](_0x1688b7['rqUJD']),{'path':_0x16afce,'installed':!![]}):(console['log'](_0xd20d3e(0x1c3)),{'path':_0x16afce,'installed':![]});}export async function ensureChromium(_0x337960=![]){const _0x56db51=_0x4334d3,_0x22674f={'axBQc':_0x56db51(0x194),'IzDSf':function(_0x4ab83c){return _0x4ab83c();},'rTAJO':function(_0x13f63e,_0x5b6e31){return _0x13f63e??_0x5b6e31;},'wTefs':_0x56db51(0x1ac),'ebFQk':function(_0x2760a7,_0x114011,_0x377aa6){return _0x2760a7(_0x114011,_0x377aa6);},'VlBfY':_0x56db51(0x191)};let _0x95ef84=![];try{const _0x15fc3b=chromium['executablePath']();_0x95ef84=existsSync(_0x15fc3b);}catch{_0x95ef84=![];}if(_0x95ef84)return console[_0x56db51(0x19e)](_0x22674f[_0x56db51(0x1a8)]),![];const _0x285be2=_0x22674f['IzDSf'](getPlaywrightVersion),_0x13475e=_0x22674f[_0x56db51(0x16d)](_0x285be2,PLAYWRIGHT_CHROMIUM_INSTALL_FALLBACK_VERSION),_0x57c8fe=!_0x285be2,_0xd828ff=process['stdin']['isTTY']&&process[_0x56db51(0x17c)][_0x56db51(0x1b3)];let _0x3745c5=!![];if(_0xd828ff){const {install:_0xd191c3}=await _0x5e5431[_0x56db51(0x19b)]([{'type':'confirm','name':_0x56db51(0x1bf),'message':_0x57c8fe?'Could\x20not\x20determine\x20local\x20Playwright\x20version.\x20Install\x20Playwright\x20Chromium\x20using\x20fallback\x20version\x20'+_0x13475e+'\x20now?':_0x56db51(0x1c9)+_0x13475e+_0x56db51(0x1a7),'default':!![]}]);_0x3745c5=_0xd191c3;}else console['log'](_0x56db51(0x17d)+_0x13475e+(_0x57c8fe?'\x20(fallback\x20version)':'')+'...');if(_0x3745c5){console['log'](_0x22674f['wTefs']);try{await _0x22674f['ebFQk'](installChromiumBinary,_0x13475e,_0x337960),console['log'](_0x56db51(0x185));}catch(_0x2608ab){console['error'](_0x56db51(0x1a2),_0x2608ab instanceof Error?_0x2608ab['message']:_0x2608ab),console['log'](_0x56db51(0x1ab)),console['log'](_0x56db51(0x19c)+_0x13475e+'\x20install\x20chromium');}}else console['log'](_0x22674f['VlBfY']),console['log']('You\x20will\x20need\x20to\x20install\x20it\x20before\x20using\x20Ranger:'),console['log']('\x20\x20npx\x20playwright@'+_0x13475e+'\x20install\x20chromium');return!![];}export async function writeRangerGitignore(_0x4af2e1){const _0x3561e0=_0x4334d3,_0x539872={'TzsxJ':'.gitignore'},_0x549a6b=join(_0x4af2e1,_0x539872['TzsxJ']),_0x233f32=_0x3561e0(0x182);await writeFile(_0x549a6b,_0x233f32),console[_0x3561e0(0x19e)]('✓\x20Created\x20.ranger/.gitignore');}export async function ensureLocalEnv(_0x53a98f,_0x4c86a4){const _0x3b8306=_0x4334d3,_0x49abc2={'oMPZz':function(_0x370844){return _0x370844();},'HMeUd':_0x3b8306(0x1b0),'gBkzJ':function(_0xbffdcf,_0x1c9f8b){return _0xbffdcf===_0x1c9f8b;},'KWsBT':function(_0x5090d6,_0x3cb980,_0x516a32){return _0x5090d6(_0x3cb980,_0x516a32);},'lVSuu':'local','iYXtH':function(_0x108a68,_0x391b17){return _0x108a68 instanceof _0x391b17;}};if(!_0x49abc2[_0x3b8306(0x179)](findGitRoot)&&_0x53a98f?.['scope']!=='user')return console[_0x3b8306(0x19e)](_0x49abc2[_0x3b8306(0x1b7)]),{'ready':![],'skipped':!![]};const _0x527d14=_0x49abc2['gBkzJ'](_0x53a98f?.['scope'],_0x3b8306(0x1bc))?_0x49abc2['oMPZz'](getRangerHomeDir):undefined;if(_0x49abc2[_0x3b8306(0x192)](findExistingEnv,_0x49abc2[_0x3b8306(0x1b8)],{'locations':[_0x49abc2[_0x3b8306(0x1b8)]],'rangerDir':_0x527d14}))return console['log'](_0x3b8306(0x181)),{'ready':!![],'skipped':![]};try{return await addEnv(_0x49abc2['lVSuu'],{'url':_0x53a98f?.['url'],'force':_0x53a98f?.['force'],'allowInsecureLocalhost':_0x53a98f?.['allowInsecureLocalhost'],'scope':_0x53a98f?.['scope']},_0x4c86a4),{'ready':!![],'skipped':![]};}catch(_0x55727d){return console[_0x3b8306(0x1c8)](_0x3b8306(0x168),_0x49abc2['iYXtH'](_0x55727d,Error)?_0x55727d[_0x3b8306(0x19d)]:_0x55727d),{'ready':![],'skipped':![]};}}export async function start(_0x2c85e0,_0x219299,_0x1c791c){const _0x2bf9a6=_0x4334d3,_0x5ada64={'MMffS':_0x2bf9a6(0x16c),'VmMFL':function(_0x22e8d3,_0x1de6aa){return _0x22e8d3!==_0x1de6aa;},'UFnEw':function(_0x5d474,_0x5d5fcb){return _0x5d474+_0x5d5fcb;},'jCtTA':function(_0x38a2f4,_0x198c34){return _0x38a2f4(_0x198c34);},'bUZzz':function(_0x595884,_0x39097c){return _0x595884(_0x39097c);},'tKfGW':function(_0x4aa82d){return _0x4aa82d();},'XRagW':'user','aNuKH':'✓\x20Skipping\x20authentication\x20(--skip-auth)','IfszP':'skipped','ellKE':'chromium','GQige':'\x0a✅\x20Ranger\x20setup\x20complete!\x0a','TTeUE':'plugin','niSVi':function(_0x5547ac,_0x3ce585){return _0x5547ac(_0x3ce585);},'HAKaF':function(_0x38987e,_0x3ca778,_0x37936f){return _0x38987e(_0x3ca778,_0x37936f);},'ydmYV':_0x2bf9a6(0x173),'gfRjP':_0x2bf9a6(0x197),'mTFyO':_0x2bf9a6(0x17e),'ObyCq':_0x2bf9a6(0x169),'dgRLQ':'profile','jQPjB':function(_0x28c518,_0x5ed303){return _0x28c518(_0x5ed303);},'KaVbE':'verification\x20to\x20check\x20its\x20work\x20as\x20it\x20builds.'};console[_0x2bf9a6(0x19e)](_0x5ada64[_0x2bf9a6(0x183)]);_0x5ada64[_0x2bf9a6(0x199)](_0x219299?.[_0x2bf9a6(0x170)],undefined)&&_0x219299[_0x2bf9a6(0x170)]!=='user'&&(console[_0x2bf9a6(0x1c8)](_0x5ada64[_0x2bf9a6(0x1b1)]('ranger\x20setup\x20--scope='+_0x5ada64[_0x2bf9a6(0x193)](String,_0x219299[_0x2bf9a6(0x170)])+'\x20is\x20no\x20longer\x20supported.\x20','Setup\x20always\x20installs\x20at\x20user\x20scope\x20now\x20(cloud\x20profiles\x20make\x20')+'project-scope\x20setup\x20obsolete).\x20Drop\x20the\x20--scope\x20flag\x20or\x20pass\x20--scope=user.'),process['exit'](0x1));_0x219299={..._0x219299,'scope':_0x2bf9a6(0x1bc)};const _0x4e6bd0=!_0x5ada64['bUZzz'](existsSync,_0x5ada64['tKfGW'](getRangerHomeDir));await ensureRangerDir(_0x5ada64[_0x2bf9a6(0x180)]);if(_0x219299?.[_0x2bf9a6(0x17b)])console[_0x2bf9a6(0x19e)](_0x5ada64[_0x2bf9a6(0x1b5)]),_0x1c791c?.['trackPhaseEnd']('auth',{'isFirstRun':_0x4e6bd0,'method':_0x5ada64['IfszP']});else{_0x1c791c?.[_0x2bf9a6(0x165)](_0x2bf9a6(0x187));const _0x4ddaa4=await _0x5ada64[_0x2bf9a6(0x1c5)](authenticate,_0x2c85e0);_0x1c791c?.[_0x2bf9a6(0x1b6)](_0x2bf9a6(0x187),{'isFirstRun':_0x4e6bd0,'method':_0x4ddaa4[_0x2bf9a6(0x160)]});}_0x1c791c?.[_0x2bf9a6(0x165)](_0x5ada64['ellKE']);_0x219299?.[_0x2bf9a6(0x1a4)]?console['log']('✓\x20Skipping\x20Chromium\x20check\x20(--skip-chromium)'):await ensureChromium(_0x219299?.['withDeps']);_0x1c791c?.['trackPhaseEnd'](_0x5ada64[_0x2bf9a6(0x17a)],{'isFirstRun':_0x4e6bd0,'skipped':!!_0x219299?.['skipChromium']}),console[_0x2bf9a6(0x19e)](_0x5ada64['GQige']);const _0x1fb3a9=_0x219299?.['scope'],_0x14e2b5=_0x219299?.['opencode']??![];let _0x319ad1=null;_0x14e2b5?(_0x1c791c?.['trackPhaseStart'](_0x5ada64['TTeUE']),_0x319ad1=await _0x5ada64[_0x2bf9a6(0x16a)](ensureOpencodePluginConfig,_0x1fb3a9),_0x1c791c?.['trackPhaseEnd'](_0x2bf9a6(0x16b),{'isFirstRun':_0x4e6bd0,'opencode':!![]})):(_0x1c791c?.['trackPhaseStart'](_0x5ada64[_0x2bf9a6(0x1bd)]),await ensureClaudePlugin(_0x1fb3a9),_0x1c791c?.['trackPhaseEnd']('plugin',{'isFirstRun':_0x4e6bd0}));if(_0x14e2b5&&_0x319ad1){_0x1c791c?.['trackPhaseStart'](_0x2bf9a6(0x197));try{await _0x5ada64['HAKaF'](installSkill,_0x2bf9a6(0x196),{'level':_0x319ad1['scope'],'cliVersion':getCurrentVersion(),'platform':_0x5ada64[_0x2bf9a6(0x166)]}),_0x1c791c?.['trackPhaseEnd'](_0x5ada64[_0x2bf9a6(0x1c4)],{'isFirstRun':_0x4e6bd0,'opencode':!![]});}catch(_0x1f3631){console[_0x2bf9a6(0x18c)](_0x5ada64['mTFyO'],_0x1f3631 instanceof Error?_0x1f3631['message']:_0x1f3631),_0x1c791c?.['trackPhaseEnd']('skills',{'isFirstRun':_0x4e6bd0,'opencode':!![],'failed':!![]});}}else _0x1c791c?.['trackPhaseStart'](_0x2bf9a6(0x197)),await ensureClaudeSkills(_0x1fb3a9),_0x1c791c?.['trackPhaseEnd'](_0x2bf9a6(0x197),{'isFirstRun':_0x4e6bd0});if(_0x219299?.[_0x2bf9a6(0x17b)])console[_0x2bf9a6(0x19e)](_0x5ada64[_0x2bf9a6(0x175)]);else{if(_0x219299?.['url']){_0x1c791c?.['trackPhaseStart'](_0x5ada64['dgRLQ']);const _0xbd72af=await ensureLocalEnv({'url':_0x219299['url'],'force':_0x219299?.['force'],'allowInsecureLocalhost':_0x219299?.[_0x2bf9a6(0x1ba)],'scope':_0x5ada64['XRagW']},_0x1c791c);_0x1c791c?.['trackPhaseEnd'](_0x2bf9a6(0x1a1),{'isFirstRun':_0x4e6bd0,'profileReady':_0xbd72af[_0x2bf9a6(0x1af)],'userSkipped':_0xbd72af[_0x2bf9a6(0x1b2)]});}else console['log'](_0x5ada64['UFnEw'](_0x2bf9a6(0x18b)+('\x0a\x20\x20'+_0x5ada64[_0x2bf9a6(0x1aa)](bold,_0x2bf9a6(0x1a5))),_0x2bf9a6(0x1c1))+_0x2bf9a6(0x176)+_0x2bf9a6(0x195));}if(_0x14e2b5)console[_0x2bf9a6(0x19e)]('\x0aIn\x20OpenCode,\x20enable\x20Ranger\x20hooks\x20(run\x20the\x20`ranger_enable`\x20tool)'),console['log']('and\x20prompt\x20the\x20agent\x20like\x20usual.\x20Ranger\x20will\x20create\x20a\x20feature\x20review'),console['log'](_0x2bf9a6(0x177)),console['log'](_0x5ada64['KaVbE']);else{const _0x357322=bold('/ranger:enable');console[_0x2bf9a6(0x19e)](_0x2bf9a6(0x163)+_0x357322+'\x20and\x20prompt\x20the\x20coding'+'\x0aagent\x20like\x20usual.\x20Claude\x20will\x20create\x20a\x20feature\x20review\x20with'+'\x0ascenarios\x20describing\x20what\x20to\x20verify\x20and\x20then\x20run\x20browser'+_0x2bf9a6(0x18d));}}
@@ -1 +1 @@
1
- function _0x366f(_0x3f9aa0,_0x1334f1){_0x3f9aa0=_0x3f9aa0-0x12d;const _0x4cd1bb=_0x4cd1();let _0x366f86=_0x4cd1bb[_0x3f9aa0];return _0x366f86;}const _0x5280e3=_0x366f;(function(_0x56821f,_0x2aab18){const _0x549ae4=_0x366f,_0x1e7224=_0x56821f();while(!![]){try{const _0x570884=parseInt(_0x549ae4(0x134))/0x1+-parseInt(_0x549ae4(0x16e))/0x2*(parseInt(_0x549ae4(0x156))/0x3)+-parseInt(_0x549ae4(0x168))/0x4+-parseInt(_0x549ae4(0x157))/0x5+-parseInt(_0x549ae4(0x170))/0x6*(parseInt(_0x549ae4(0x140))/0x7)+-parseInt(_0x549ae4(0x171))/0x8*(-parseInt(_0x549ae4(0x194))/0x9)+parseInt(_0x549ae4(0x144))/0xa;if(_0x570884===_0x2aab18)break;else _0x1e7224['push'](_0x1e7224['shift']());}catch(_0x616753){_0x1e7224['push'](_0x1e7224['shift']());}}}(_0x4cd1,0x82dc8));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';function _0x4cd1(){const _0x25ba0c=['TEmzb','zaPFm','NEfBb','oFfrr','txrPF','\x20\x20Run:\x20ranger\x20profile\x20ls\x20\x20(list\x20all)','\x20plugin(s)\x20configured','auth.json.enc','\x20\x20Project-level:','Version:\x20','displayName','UpZKA','\x20\x20Run:\x20ranger\x20setup\x20--opencode','\x0a\x20\x20No\x20active\x20profile\x20set','filter','ranger@trailhead','1395vjCfCh','Dqvdi','\x0a---\x20Profiles\x20---','@ranger-testing/opencode-plugin','has','\x1b[0m','disabled','\x20\x20Not\x20configured','stderr','close','jnDBa','user','\x20\x20\x20\x20','hjpLM','hasPlaintextAuth','283341dQMAFb','log','SioYY','parse','bTOfA','length',':\x20installed\x20(','NQTag','map','cwd','pMuUf','sessionUpdatedAt','7294tBStQI','includes','NcQkr','encrypted','21188490PpLPNh','BDXga','string','GpxNB','path','not_configured','settings.json','AyJKE','\x0a---\x20OpenCode\x20Plugin\x20---','plaintext','none','utf-8','xnuUo','\x20[cloud]','\x1b[1m','settingsPath','\x20(active)','organizationName','177825hwefcR','4146385geZedc','\x20\x20Run:\x20ranger\x20profile\x20use\x20<profile-name>\x20\x20(available:\x20','isArray','CUFBb','status','GaCMf','CypLV','No\x20profiles\x20configured','name','(not\x20found)','pipe','version','project','SKILL.md','\x20\x20Active:\x20','not_installed','\x1b]8;;\x07','2659768XaAVbi','\x20\x20Run:\x20ranger\x20setup\x20[token]','toString','MHOpz','Root:\x20','join','24uoVhry','xCkmg','2904AelPxD','43544hrFOhB','VvXRQ','plugin','match','\x20\x20Run:\x20ranger\x20setup\x20[token]\x0a','KvBwm','cached\x20(updated\x20','YYRKw','push','DEBUG','isDirectory','LqWgM','trim','details','\x20\x20User-level:','auth.json','LEmYP','configured','API\x20Token:\x20✗\x20Not\x20found'];_0x4cd1=function(){return _0x25ba0c;};return _0x4cd1();}import{getEnvNames}from'./env.js';import{getCurrentUser}from'./utils/userApi.js';import{getRangerDir}from'./utils/rangerRoot.js';import{getEnvDir}from'./utils/settings.js';import{listCloudProfiles}from'./utils/cloudProfile.js';import{getPluginInfo}from'./utils/claudePlugin.js';import{RANGER_MANAGED_SKILLS}from'./utils/skills.js';import{spawn}from'child_process';const bold=_0x2a1e31=>_0x5280e3(0x152)+_0x2a1e31+_0x5280e3(0x199),link=(_0x57e44c,_0x5d687f)=>'\x1b]8;;file://'+_0x57e44c+'\x07'+(_0x5d687f||_0x57e44c)+_0x5280e3(0x167);async function getOpencodePluginStatus(){const _0x484497=_0x5280e3,_0x13c3a9={'UpZKA':function(_0x20dc86,_0x29e603){return _0x20dc86(_0x29e603);},'CypLV':_0x484497(0x166),'aqtiS':_0x484497(0x197),'txrPF':'opencode-plugin','SioYY':function(_0x436046,_0x505376){return _0x436046(_0x505376);},'jnDBa':function(_0x24486b,_0x1563b9){return _0x24486b(_0x1563b9);},'hjpLM':_0x484497(0x182),'NdtYd':function(_0x58b719,_0x48dcad){return _0x58b719>_0x48dcad;},'zaPFm':function(_0x11464a,_0x47127f){return _0x11464a(_0x47127f);},'ZnFNE':_0x484497(0x149),'LEmYP':'opencode','pMuUf':'debug','yBcxi':'ignore','xCkmg':_0x484497(0x161),'VvXRQ':'data','rMbqA':_0x484497(0x12e)};return new Promise(_0x2d47a2=>{const _0x444742=_0x484497,_0x447cc7=spawn(_0x13c3a9[_0x444742(0x181)],[_0x13c3a9[_0x444742(0x13e)],'config'],{'stdio':[_0x13c3a9['yBcxi'],'pipe',_0x13c3a9[_0x444742(0x16f)]]});let _0x165d85='';_0x447cc7['stdout']?.['on'](_0x13c3a9[_0x444742(0x172)],_0x47f6dc=>{const _0x3f90f4=_0x444742;_0x165d85+=_0x47f6dc[_0x3f90f4(0x16a)]();}),_0x447cc7[_0x444742(0x12d)]?.['on'](_0x13c3a9[_0x444742(0x172)],_0x28d1ce=>{_0x165d85+=_0x28d1ce['toString']();}),_0x447cc7['on']('error',()=>{const _0x472f95=_0x444742;_0x13c3a9[_0x472f95(0x18f)](_0x2d47a2,{'status':_0x13c3a9[_0x472f95(0x15d)]});}),_0x447cc7['on'](_0x13c3a9['rMbqA'],_0x326216=>{const _0xbad0cf=_0x444742,_0x2a31eb={'PbdiH':_0x13c3a9['aqtiS'],'WRtSt':_0x13c3a9[_0xbad0cf(0x188)]};if(_0x326216!==0x0){_0x13c3a9[_0xbad0cf(0x136)](_0x2d47a2,{'status':'not_installed'});return;}const _0x29cc7e=_0x165d85[_0xbad0cf(0x17d)]();let _0x324592=null;if(_0x29cc7e)try{_0x324592=JSON['parse'](_0x29cc7e);}catch{const _0x5a99df=_0x29cc7e[_0xbad0cf(0x174)](/\{[\s\S]*\}$/);if(_0x5a99df)try{_0x324592=JSON[_0xbad0cf(0x137)](_0x5a99df[0x0]);}catch{_0x324592=null;}}const _0x30b5e2=Array[_0xbad0cf(0x159)](_0x324592?.[_0xbad0cf(0x173)])?_0x324592?.[_0xbad0cf(0x173)]:[],_0x401133=_0x30b5e2['some'](_0x43ac85=>{const _0x57e96c=_0xbad0cf;if(typeof _0x43ac85!==_0x57e96c(0x146))return![];return _0x43ac85['includes'](_0x2a31eb['PbdiH'])||_0x43ac85['includes'](_0x2a31eb['WRtSt']);});if(_0x401133){_0x13c3a9[_0xbad0cf(0x12f)](_0x2d47a2,{'status':_0x13c3a9[_0xbad0cf(0x132)],'details':_0x13c3a9['NdtYd'](_0x30b5e2['length'],0x0)?_0x30b5e2['length']+'\x20plugin(s)\x20configured':undefined});return;}if(_0x30b5e2['length']>0x0){_0x13c3a9[_0xbad0cf(0x185)](_0x2d47a2,{'status':_0xbad0cf(0x149),'details':_0x30b5e2['length']+_0xbad0cf(0x18a)});return;}_0x2d47a2({'status':_0x13c3a9['ZnFNE']});});});}async function getSkillsFromDir(_0xa22f86,_0x431f33){const _0xda5871=_0x5280e3,_0x58c2fe={'bTOfA':function(_0x22bb87,_0x3cb47d,_0x578872){return _0x22bb87(_0x3cb47d,_0x578872);},'bjveO':_0xda5871(0x164),'ayDcU':_0xda5871(0x14f)};if(!existsSync(_0xa22f86))return[];const _0x3c3bd8=[];try{const _0x41a73a=await _0x58c2fe[_0xda5871(0x138)](readdir,_0xa22f86,{'withFileTypes':!![]});for(const _0x3d8dc7 of _0x41a73a){if(_0x3d8dc7[_0xda5871(0x17b)]()){const _0x3fc281=join(_0xa22f86,_0x3d8dc7[_0xda5871(0x15f)],_0x58c2fe['bjveO']);if(existsSync(_0x3fc281)){let _0xb152ba=_0x3d8dc7[_0xda5871(0x15f)];try{const _0x26d493=await readFile(_0x3fc281,_0x58c2fe['ayDcU']),_0x494fed=_0x26d493['match'](/name:\s*(.+)/);_0x494fed&&(_0xb152ba=_0x494fed[0x1]['trim']());}catch{}_0x3c3bd8[_0xda5871(0x179)]({'name':_0x3d8dc7[_0xda5871(0x15f)],'displayName':_0xb152ba,'path':_0x3fc281,'level':_0x431f33});}}}}catch{return[];}return _0x3c3bd8;}async function getInstalledSkills(){const _0x4f79f5=_0x5280e3,_0x1c3cfe={'NEfBb':function(_0x55bd58,_0x4da384,_0x4a5825){return _0x55bd58(_0x4da384,_0x4a5825);},'DEshN':function(_0x24df36){return _0x24df36();}},[_0x5974c1,_0x2c7f8e]=await Promise['all']([_0x1c3cfe[_0x4f79f5(0x186)](getSkillsFromDir,_0x1c3cfe['DEshN'](getProjectSkillsDir),_0x4f79f5(0x163)),getSkillsFromDir(_0x1c3cfe['DEshN'](getUserSkillsDir),_0x4f79f5(0x130))]);return{'project':_0x5974c1,'user':_0x2c7f8e};}async function getEnvironments(){const _0x400763=_0x5280e3,_0x2729ae={'GaCMf':function(_0x58b32f,_0xea8b4b,_0x28258d){return _0x58b32f(_0xea8b4b,_0x28258d);},'NQTag':_0x400763(0x14a),'MHOpz':function(_0x5f13ed,_0x446243,_0x3261dc){return _0x5f13ed(_0x446243,_0x3261dc);},'YSkgJ':function(_0x511f83,_0x171f91,_0x16eab2){return _0x511f83(_0x171f91,_0x16eab2);},'ypOZz':_0x400763(0x18b),'UKmYs':function(_0x40066f,_0x2f0cc9){return _0x40066f(_0x2f0cc9);},'wPVGZ':function(_0x2f8d66,_0x2aff06){return _0x2f8d66(_0x2aff06);},'mIkYa':function(_0x577ab7){return _0x577ab7();}},{envNames:_0x31270f,activeEnv:_0x3cf833}=await _0x2729ae['mIkYa'](getEnvNames),_0x50e269=getRangerDir();if(!existsSync(_0x50e269))return{'envs':[],'activeEnv':null};const _0x59dcf5=_0x31270f['map'](_0x3804ec=>{const _0x21e565=_0x400763,_0x45bd82=getEnvDir(_0x3804ec),_0x77e445=_0x2729ae[_0x21e565(0x15c)](join,_0x45bd82,_0x2729ae[_0x21e565(0x13b)]),_0x59c300=_0x2729ae[_0x21e565(0x16b)](join,_0x45bd82,_0x21e565(0x180)),_0x362f6b=_0x2729ae['YSkgJ'](join,_0x45bd82,_0x2729ae['ypOZz']);return{'name':_0x3804ec,'settingsPath':_0x2729ae['UKmYs'](existsSync,_0x77e445)?_0x77e445:_0x21e565(0x160),'hasPlaintextAuth':_0x2729ae['wPVGZ'](existsSync,_0x59c300),'hasEncryptedAuth':existsSync(_0x362f6b),'isActive':_0x3804ec===_0x3cf833};});return{'envs':_0x59dcf5,'activeEnv':_0x3cf833};}export async function status(){const _0x1b6f4b=_0x5280e3,_0x3fdd1a={'Ccxvw':function(_0x3dcac1){return _0x3dcac1();},'CUFBb':function(_0x567c6a,_0x35b230){return _0x567c6a(_0x35b230);},'LhaBr':function(_0x43a27c,_0x15f8a2,_0x2c81d3){return _0x43a27c(_0x15f8a2,_0x2c81d3);},'LqWgM':function(_0xe2ccef){return _0xe2ccef();},'LFACE':function(_0x180c8a,_0x42c6f5){return _0x180c8a(_0x42c6f5);},'BQCDB':function(_0x2f8e6c,_0x54bfd1){return _0x2f8e6c(_0x54bfd1);},'YYRKw':'configured','heyEZ':'\x20\x20OpenCode\x20not\x20installed\x20or\x20not\x20available','PRLnF':'ranger@trailhead','AyJKE':'enabled','GpxNB':_0x1b6f4b(0x19a),'xnuUo':'\x20\x20Not\x20installed','Zjgcd':'\x20\x20Run:\x20ranger\x20setup\x20[token]\x20\x20(includes\x20plugin\x20installation)','Dqvdi':'\x0a---\x20Skills\x20---','GXGIH':function(_0x345b0b,_0x5dc1aa){return _0x345b0b+_0x5dc1aa;},'bRUlp':function(_0x5142c4,_0x53be59){return _0x5142c4===_0x53be59;},'NcQkr':function(_0x4e42e0,_0x29a635){return _0x4e42e0>_0x29a635;},'BDXga':function(_0x25d6e3,_0x17c84e){return _0x25d6e3(_0x17c84e);},'emQCj':function(_0x2be748,_0x3beaea){return _0x2be748>_0x3beaea;},'JKjgV':_0x1b6f4b(0x17f),'oFfrr':function(_0x4722be,_0x470122){return _0x4722be(_0x470122);},'plfmL':'no\x20session','KvBwm':_0x1b6f4b(0x143),'JugxZ':_0x1b6f4b(0x14d),'YijjD':_0x1b6f4b(0x14e),'TEmzb':function(_0x51efd9,_0x554e5e){return _0x51efd9(_0x554e5e);},'tnFvb':function(_0x258ec3,_0x1f0355,_0x77723){return _0x258ec3(_0x1f0355,_0x77723);}};console[_0x1b6f4b(0x135)]('\x0a📊\x20Ranger\x20Status\x0a');const _0x191269=process[_0x1b6f4b(0x13d)](),_0x342e09=_0x3fdd1a['Ccxvw'](getRangerDir);if(!existsSync(_0x342e09)){console[_0x1b6f4b(0x135)](_0x1b6f4b(0x16c)+link(_0x191269,bold(_0x3fdd1a[_0x1b6f4b(0x15a)](basename,_0x191269)))),console[_0x1b6f4b(0x135)]('\x0aRanger\x20has\x20not\x20been\x20initialized\x20in\x20this\x20directory.'),console['log'](_0x1b6f4b(0x175));return;}console[_0x1b6f4b(0x135)]('Root:\x20'+_0x3fdd1a['LhaBr'](link,_0x191269,_0x3fdd1a[_0x1b6f4b(0x15a)](bold,basename(_0x191269))));const _0xddb19f=getCurrentVersion(),_0x5f028d=_0x3fdd1a['LqWgM'](getLatestVersion);if(_0x5f028d[_0x1b6f4b(0x162)]&&_0x5f028d['version']!==_0xddb19f)console['log'](_0x1b6f4b(0x18d)+_0xddb19f+'\x20(latest:\x20'+_0x5f028d[_0x1b6f4b(0x162)]+')'),console[_0x1b6f4b(0x135)]('\x20\x20Run:\x20ranger\x20update');else _0x5f028d[_0x1b6f4b(0x162)]?console[_0x1b6f4b(0x135)]('Version:\x20'+_0xddb19f+'\x20(up\x20to\x20date)'):console[_0x1b6f4b(0x135)]('Version:\x20'+_0xddb19f);const _0x32c4dd=await getToken();if(_0x32c4dd){const _0x5d7ec2=await _0x3fdd1a['LFACE'](getCurrentUser,_0x32c4dd);_0x5d7ec2['success']?console['log']('Organization:\x20'+_0x3fdd1a['BQCDB'](bold,_0x5d7ec2['user'][_0x1b6f4b(0x155)])):(console[_0x1b6f4b(0x135)]('API\x20Token:\x20✓\x20Found\x20but\x20invalid\x20or\x20expired'),console['log']('\x20\x20Run:\x20ranger\x20setup\x20[token]'));}else console[_0x1b6f4b(0x135)](_0x1b6f4b(0x183)),console[_0x1b6f4b(0x135)](_0x1b6f4b(0x169));process['env'][_0x1b6f4b(0x17a)]&&(console['log']('API\x20Environment:\x20'+_0x3fdd1a[_0x1b6f4b(0x17c)](getCurrentEnvironment)),console['log']('API\x20URL:\x20'+_0x3fdd1a['Ccxvw'](getApiBaseUrl)));console[_0x1b6f4b(0x135)](_0x1b6f4b(0x14c));const _0x121771=await _0x3fdd1a['Ccxvw'](getOpencodePluginStatus);if(_0x121771[_0x1b6f4b(0x15b)]===_0x3fdd1a[_0x1b6f4b(0x178)])console[_0x1b6f4b(0x135)]('\x20\x20'+bold('@ranger-testing/opencode-plugin')+':\x20configured'),_0x121771['details']&&console[_0x1b6f4b(0x135)]('\x20\x20'+_0x121771[_0x1b6f4b(0x17e)]);else _0x121771['status']==='not_configured'?(console['log'](_0x1b6f4b(0x19b)),_0x121771[_0x1b6f4b(0x17e)]&&console[_0x1b6f4b(0x135)]('\x20\x20'+_0x121771[_0x1b6f4b(0x17e)]),console[_0x1b6f4b(0x135)](_0x1b6f4b(0x190))):console['log'](_0x3fdd1a['heyEZ']);console['log']('\x0a---\x20Claude\x20Code\x20Plugin\x20---');const _0x210fc4=await _0x3fdd1a['BQCDB'](getPluginInfo,_0x3fdd1a['PRLnF']);if(_0x210fc4){const _0x4b4523=_0x210fc4['scope']||'unknown',_0x23ca30=_0x210fc4['enabled']?_0x3fdd1a[_0x1b6f4b(0x14b)]:_0x3fdd1a[_0x1b6f4b(0x147)];console['log']('\x20\x20'+_0x3fdd1a['LFACE'](bold,_0x1b6f4b(0x193))+_0x1b6f4b(0x13a)+_0x4b4523+',\x20'+_0x23ca30+')');}else console[_0x1b6f4b(0x135)](_0x3fdd1a[_0x1b6f4b(0x150)]),console['log'](_0x3fdd1a['Zjgcd']);console['log'](_0x3fdd1a[_0x1b6f4b(0x195)]);const {project:_0xf95dc,user:_0x20dbff}=await getInstalledSkills(),_0x3a8796=_0xf95dc['filter'](_0x305c36=>RANGER_MANAGED_SKILLS[_0x1b6f4b(0x141)](_0x305c36[_0x1b6f4b(0x15f)])),_0x224439=_0x20dbff[_0x1b6f4b(0x192)](_0x2adf96=>RANGER_MANAGED_SKILLS['includes'](_0x2adf96['name'])),_0xeb82d=_0x3fdd1a['GXGIH'](_0x3a8796[_0x1b6f4b(0x139)],_0x224439['length']);if(_0x3fdd1a['bRUlp'](_0xeb82d,0x0))console[_0x1b6f4b(0x135)]('No\x20skills\x20installed'),console['log']('\x20\x20Run:\x20ranger\x20skillup');else{if(_0x3fdd1a['NcQkr'](_0x3a8796[_0x1b6f4b(0x139)],0x0)){console[_0x1b6f4b(0x135)](_0x1b6f4b(0x18c));for(const _0x594b98 of _0x3a8796){console[_0x1b6f4b(0x135)]('\x20\x20\x20\x20'+bold(_0x594b98[_0x1b6f4b(0x18e)])+':\x20'+link(_0x594b98['path'],_0x3fdd1a['BDXga'](basename,_0x594b98[_0x1b6f4b(0x148)])));}}if(_0x3fdd1a['emQCj'](_0x224439[_0x1b6f4b(0x139)],0x0)){console['log'](_0x3fdd1a['JKjgV']);for(const _0x493f33 of _0x224439){console['log'](_0x1b6f4b(0x131)+bold(_0x493f33['displayName'])+':\x20'+link(_0x493f33['path'],_0x3fdd1a[_0x1b6f4b(0x187)](basename,_0x493f33[_0x1b6f4b(0x148)])));}}}console[_0x1b6f4b(0x135)](_0x1b6f4b(0x196));const {envs:_0x3a8db3,activeEnv:_0x14b3e4}=await _0x3fdd1a[_0x1b6f4b(0x17c)](getEnvironments);let _0x5947a1=[];if(_0x32c4dd)try{_0x5947a1=await _0x3fdd1a['Ccxvw'](listCloudProfiles);}catch{}const _0x1dd2aa=_0x3a8db3[_0x1b6f4b(0x139)]+_0x5947a1['length'];if(_0x1dd2aa===0x0)console[_0x1b6f4b(0x135)](_0x1b6f4b(0x15e)),console[_0x1b6f4b(0x135)]('\x20\x20Run:\x20ranger\x20profile\x20add\x20<profile-name>');else{if(_0x3fdd1a[_0x1b6f4b(0x142)](_0x1dd2aa,0x5)){const _0x247054=[];_0x5947a1[_0x1b6f4b(0x139)]>0x0&&_0x247054[_0x1b6f4b(0x179)](_0x5947a1['length']+'\x20cloud'),_0x3fdd1a['emQCj'](_0x3a8db3[_0x1b6f4b(0x139)],0x0)&&_0x247054['push'](_0x3a8db3['length']+'\x20local'),console[_0x1b6f4b(0x135)](_0x1dd2aa+'\x20profiles\x20configured\x20('+_0x247054[_0x1b6f4b(0x16d)](',\x20')+')'),_0x14b3e4&&console['log'](_0x1b6f4b(0x165)+_0x3fdd1a['BDXga'](bold,_0x14b3e4)),console[_0x1b6f4b(0x135)](_0x1b6f4b(0x189));}else{for(const _0x381435 of _0x5947a1){const _0x3226df=_0x381435['name']===_0x14b3e4?_0x1b6f4b(0x154):'';console['log']('\x20\x20'+_0x3fdd1a[_0x1b6f4b(0x145)](bold,_0x381435[_0x1b6f4b(0x15f)])+_0x1b6f4b(0x151)+_0x3226df);const _0x1cb9a9=_0x381435['sessionUpdatedAt']?_0x1b6f4b(0x177)+_0x381435[_0x1b6f4b(0x13f)]+')':_0x3fdd1a['plfmL'];console['log']('\x20\x20\x20\x20Session:\x20'+_0x1cb9a9);}const _0x11986f=new Set(_0x5947a1['map'](_0x3d24b4=>_0x3d24b4[_0x1b6f4b(0x15f)]));for(const _0x22cdb8 of _0x3a8db3){if(_0x11986f[_0x1b6f4b(0x198)](_0x22cdb8[_0x1b6f4b(0x15f)]))continue;const _0x37d651=_0x22cdb8['isActive']?_0x1b6f4b(0x154):'',_0x2f32ff=_0x22cdb8['hasEncryptedAuth']?_0x3fdd1a[_0x1b6f4b(0x176)]:_0x22cdb8[_0x1b6f4b(0x133)]?_0x3fdd1a['JugxZ']:_0x3fdd1a['YijjD'];console[_0x1b6f4b(0x135)]('\x20\x20'+_0x3fdd1a[_0x1b6f4b(0x184)](bold,_0x22cdb8[_0x1b6f4b(0x15f)])+'\x20[local]'+_0x37d651),console['log']('\x20\x20\x20\x20Auth:\x20'+_0x2f32ff),_0x22cdb8[_0x1b6f4b(0x153)]!=='(not\x20found)'&&console['log']('\x20\x20\x20\x20Settings:\x20'+_0x3fdd1a['tnFvb'](link,_0x22cdb8['settingsPath'],basename(_0x22cdb8['settingsPath'])));}if(!_0x14b3e4){console['log'](_0x1b6f4b(0x191));const _0x5d0e01=[..._0x5947a1[_0x1b6f4b(0x13c)](_0x947fb7=>_0x947fb7[_0x1b6f4b(0x15f)]),..._0x3a8db3[_0x1b6f4b(0x192)](_0x319368=>!_0x11986f['has'](_0x319368[_0x1b6f4b(0x15f)]))[_0x1b6f4b(0x13c)](_0x2783f4=>_0x2783f4['name'])];console[_0x1b6f4b(0x135)](_0x1b6f4b(0x158)+_0x5d0e01[_0x1b6f4b(0x16d)](',\x20')+')');}}}console[_0x1b6f4b(0x135)]('');}
1
+ const _0x2e092f=_0x3e11;(function(_0x472d08,_0x5c9d22){const _0x33af2e=_0x3e11,_0x1d74a4=_0x472d08();while(!![]){try{const _0x8fd85d=-parseInt(_0x33af2e(0x222))/0x1*(parseInt(_0x33af2e(0x20a))/0x2)+parseInt(_0x33af2e(0x220))/0x3+parseInt(_0x33af2e(0x1e8))/0x4*(-parseInt(_0x33af2e(0x1f3))/0x5)+-parseInt(_0x33af2e(0x1e3))/0x6*(-parseInt(_0x33af2e(0x1cd))/0x7)+-parseInt(_0x33af2e(0x227))/0x8+-parseInt(_0x33af2e(0x1cc))/0x9+parseInt(_0x33af2e(0x1d1))/0xa;if(_0x8fd85d===_0x5c9d22)break;else _0x1d74a4['push'](_0x1d74a4['shift']());}catch(_0x11ab32){_0x1d74a4['push'](_0x1d74a4['shift']());}}}(_0x4090,0x4071f));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 _0x4090(){const _0x11c2c7=['fldeW','\x20profiles\x20configured\x20(','ihERR','\x20\x20\x20\x20','apJQo','ETygv','\x20\x20OpenCode\x20not\x20installed\x20or\x20not\x20available','EugiL','enabled','5AypAEy','cKBPY','\x0a---\x20OpenCode\x20Plugin\x20---','GeZMM','has','aHChf','map','hasPlaintextAuth','parse',':\x20installed\x20(','JBOrx','\x20\x20\x20\x20Session:\x20','KVtyY','RXwjd','API\x20Token:\x20✗\x20Not\x20found','\x1b]8;;file://','\x20\x20\x20\x20Auth:\x20','ZVleX','\x20\x20Not\x20configured','opencode','\x1b[1m','encrypted','\x1b]8;;\x07','38ikYxnl','plugin','scope','not_configured','env','\x20[cloud]','SKILL.md','AFKYS','name','KbjKm','\x0a\x20\x20No\x20active\x20profile\x20set',':\x20configured','join','BixgV','Version:\x20','debug','includes','oWXvs','TATls','no\x20session','sessionUpdatedAt','path','283434zLRezj','kdEeq','14217SRgZYX','displayName','stdout','hFGbW','version','2776440xmbazl','match','\x20(up\x20to\x20date)','toString','unOsT','settings.json','\x20\x20Run:\x20ranger\x20setup\x20--opencode','rcsIQ','fzTKn','nnCii','ZdaHH','3493224GzuWqQ','161FEfELQ','klVLF','\x20\x20Run:\x20ranger\x20profile\x20ls\x20\x20(list\x20all)','status','11701350bcvHQe','pipe','push','tDAaf','sqvVm','\x20\x20Active:\x20','KnQwI','data','ANTlL','auth.json','aZSBs','Root:\x20','some','log','\x20\x20Project-level:','EZAWx','unknown','length','123990Wzglgq','not_installed','details','success','filter','1882508cVARcP','\x20\x20Run:\x20ranger\x20setup\x20[token]\x20\x20(includes\x20plugin\x20installation)'];_0x4090=function(){return _0x11c2c7;};return _0x4090();}import{getCurrentUser}from'./utils/userApi.js';import{getRangerDir}from'./utils/rangerRoot.js';import{getEnvDir}from'./utils/settings.js';function _0x3e11(_0x4f04fd,_0x25842e){_0x4f04fd=_0x4f04fd-0x1c2;const _0x409078=_0x4090();let _0x3e1198=_0x409078[_0x4f04fd];return _0x3e1198;}import{listCloudProfiles}from'./utils/cloudProfile.js';import{getPluginInfo}from'./utils/claudePlugin.js';import{RANGER_MANAGED_SKILLS}from'./utils/skills.js';import{spawn}from'child_process';const bold=_0xcc90fe=>_0x2e092f(0x207)+_0xcc90fe+'\x1b[0m',link=(_0x4fee75,_0x2c314f)=>_0x2e092f(0x202)+_0x4fee75+'\x07'+(_0x2c314f||_0x4fee75)+_0x2e092f(0x209);async function getOpencodePluginStatus(){const _0x43087b=_0x2e092f,_0x519b60={'iqamL':function(_0xcb2dde,_0x55b3a6){return _0xcb2dde(_0x55b3a6);},'xulSC':_0x43087b(0x1e4),'Pznee':'opencode-plugin','unOsT':function(_0x56275a,_0x1d8888){return _0x56275a!==_0x1d8888;},'sqvVm':function(_0xc591ed,_0x31a488){return _0xc591ed(_0x31a488);},'fzTKn':'configured','ihERR':function(_0x2f7b54,_0x230fde){return _0x2f7b54>_0x230fde;},'Bezyd':function(_0x4fe4cb,_0x2bdcd4,_0x2421d8,_0x452461){return _0x4fe4cb(_0x2bdcd4,_0x2421d8,_0x452461);},'gqiqa':_0x43087b(0x206),'klVLF':_0x43087b(0x219),'oJFgp':'config','RXwjd':_0x43087b(0x1d2),'kdEeq':_0x43087b(0x1d8),'aHChf':'close'};return new Promise(_0x47f89f=>{const _0x2b1388=_0x43087b,_0x14b88b=_0x519b60['Bezyd'](spawn,_0x519b60['gqiqa'],[_0x519b60[_0x2b1388(0x1ce)],_0x519b60['oJFgp']],{'stdio':['ignore',_0x519b60[_0x2b1388(0x200)],_0x519b60['RXwjd']]});let _0x8d649d='';_0x14b88b[_0x2b1388(0x224)]?.['on'](_0x519b60[_0x2b1388(0x221)],_0x53b00d=>{_0x8d649d+=_0x53b00d['toString']();}),_0x14b88b['stderr']?.['on'](_0x2b1388(0x1d8),_0x18e649=>{const _0x491152=_0x2b1388;_0x8d649d+=_0x18e649[_0x491152(0x1c4)]();}),_0x14b88b['on']('error',()=>{_0x519b60['iqamL'](_0x47f89f,{'status':_0x519b60['xulSC']});}),_0x14b88b['on'](_0x519b60[_0x2b1388(0x1f8)],_0x2af241=>{const _0x2b4123=_0x2b1388,_0x5d480a={'cKBPY':'string','rIraO':_0x519b60['Pznee']};if(_0x519b60[_0x2b4123(0x1c5)](_0x2af241,0x0)){_0x519b60['sqvVm'](_0x47f89f,{'status':_0x519b60['xulSC']});return;}const _0x943a87=_0x8d649d['trim']();let _0x20aa4b=null;if(_0x943a87)try{_0x20aa4b=JSON[_0x2b4123(0x1fb)](_0x943a87);}catch{const _0x15291f=_0x943a87[_0x2b4123(0x1c2)](/\{[\s\S]*\}$/);if(_0x15291f)try{_0x20aa4b=JSON[_0x2b4123(0x1fb)](_0x15291f[0x0]);}catch{_0x20aa4b=null;}}const _0x37870e=Array['isArray'](_0x20aa4b?.['plugin'])?_0x20aa4b?.[_0x2b4123(0x20b)]:[],_0x549e15=_0x37870e[_0x2b4123(0x1dd)](_0x3082ce=>{const _0x1ccedd=_0x2b4123;if(typeof _0x3082ce!==_0x5d480a[_0x1ccedd(0x1f4)])return![];return _0x3082ce[_0x1ccedd(0x21a)]('@ranger-testing/opencode-plugin')||_0x3082ce[_0x1ccedd(0x21a)](_0x5d480a['rIraO']);});if(_0x549e15){_0x519b60['iqamL'](_0x47f89f,{'status':_0x519b60[_0x2b4123(0x1c9)],'details':_0x519b60[_0x2b4123(0x1ec)](_0x37870e[_0x2b4123(0x1e2)],0x0)?_0x37870e[_0x2b4123(0x1e2)]+'\x20plugin(s)\x20configured':undefined});return;}if(_0x37870e[_0x2b4123(0x1e2)]>0x0){_0x519b60[_0x2b4123(0x1d5)](_0x47f89f,{'status':_0x2b4123(0x20d),'details':_0x37870e[_0x2b4123(0x1e2)]+'\x20plugin(s)\x20configured'});return;}_0x47f89f({'status':_0x2b4123(0x20d)});});});}async function getSkillsFromDir(_0xdd61ce,_0x2f0268){const _0x36fe4c=_0x2e092f,_0x28f616={'ZdaHH':function(_0xe2ece7,_0x19a25d,_0x22d517){return _0xe2ece7(_0x19a25d,_0x22d517);},'BixgV':function(_0x3ee544,_0x2f2999,_0xfbf052,_0x6ad442){return _0x3ee544(_0x2f2999,_0xfbf052,_0x6ad442);},'PFneq':_0x36fe4c(0x210),'mQXTB':'utf-8'};if(!existsSync(_0xdd61ce))return[];const _0x3dc580=[];try{const _0x44a7de=await _0x28f616[_0x36fe4c(0x1cb)](readdir,_0xdd61ce,{'withFileTypes':!![]});for(const _0x123f38 of _0x44a7de){if(_0x123f38['isDirectory']()){const _0x4b8a98=_0x28f616[_0x36fe4c(0x217)](join,_0xdd61ce,_0x123f38[_0x36fe4c(0x212)],_0x28f616['PFneq']);if(existsSync(_0x4b8a98)){let _0x2dbd87=_0x123f38['name'];try{const _0x38be79=await _0x28f616['ZdaHH'](readFile,_0x4b8a98,_0x28f616['mQXTB']),_0x261687=_0x38be79['match'](/name:\s*(.+)/);_0x261687&&(_0x2dbd87=_0x261687[0x1]['trim']());}catch{}_0x3dc580[_0x36fe4c(0x1d3)]({'name':_0x123f38[_0x36fe4c(0x212)],'displayName':_0x2dbd87,'path':_0x4b8a98,'level':_0x2f0268});}}}}catch{return[];}return _0x3dc580;}async function getInstalledSkills(){const _0x44768f=_0x2e092f,_0x230b47={'ZbNft':function(_0x793f1b,_0x2a1b04,_0x4a2724){return _0x793f1b(_0x2a1b04,_0x4a2724);},'KVtyY':function(_0x7d6136){return _0x7d6136();},'rpjky':'user'},[_0x67e5ff,_0x4b1ee6]=await Promise['all']([_0x230b47['ZbNft'](getSkillsFromDir,_0x230b47[_0x44768f(0x1ff)](getProjectSkillsDir),'project'),getSkillsFromDir(getUserSkillsDir(),_0x230b47['rpjky'])]);return{'project':_0x67e5ff,'user':_0x4b1ee6};}async function getEnvironments(){const _0x242da7=_0x2e092f,_0x120045={'HPzwi':function(_0x103473,_0x431523){return _0x103473(_0x431523);},'tDAaf':function(_0x3b373e,_0x4640d6,_0x56bdb9){return _0x3b373e(_0x4640d6,_0x56bdb9);},'RwBnD':_0x242da7(0x1c6),'oJoUk':function(_0x2d5fb7,_0x7226e6,_0x25e72b){return _0x2d5fb7(_0x7226e6,_0x25e72b);},'CfWTH':function(_0x189275,_0x6aefe7,_0x2b78b1){return _0x189275(_0x6aefe7,_0x2b78b1);},'Rnsxu':function(_0x4c754d,_0x2b5008){return _0x4c754d(_0x2b5008);},'hpxYW':function(_0x2355c5,_0x5585f5){return _0x2355c5===_0x5585f5;}},{envNames:_0x3a06e0,activeEnv:_0x1e5220}=await getEnvNames(),_0xecba28=getRangerDir();if(!existsSync(_0xecba28))return{'envs':[],'activeEnv':null};const _0x1213d7=_0x3a06e0['map'](_0x399b95=>{const _0x3ef411=_0x242da7,_0x1b8b73=_0x120045['HPzwi'](getEnvDir,_0x399b95),_0x18fa21=_0x120045[_0x3ef411(0x1d4)](join,_0x1b8b73,_0x120045['RwBnD']),_0x29a8ef=_0x120045['oJoUk'](join,_0x1b8b73,_0x3ef411(0x1da)),_0x5c7668=_0x120045['CfWTH'](join,_0x1b8b73,'auth.json.enc');return{'name':_0x399b95,'settingsPath':existsSync(_0x18fa21)?_0x18fa21:'(not\x20found)','hasPlaintextAuth':existsSync(_0x29a8ef),'hasEncryptedAuth':_0x120045['Rnsxu'](existsSync,_0x5c7668),'isActive':_0x120045['hpxYW'](_0x399b95,_0x1e5220)};});return{'envs':_0x1213d7,'activeEnv':_0x1e5220};}export async function status(){const _0x564722=_0x2e092f,_0x3f8aec={'nnCii':function(_0x4b7448){return _0x4b7448();},'auDkP':function(_0x135397,_0x9d7fea,_0x2ed372){return _0x135397(_0x9d7fea,_0x2ed372);},'qslEK':function(_0x3a4da2,_0x5e71ab){return _0x3a4da2(_0x5e71ab);},'ETygv':function(_0x17ca7d){return _0x17ca7d();},'BWmgo':function(_0x56cd11,_0x572e8d){return _0x56cd11!==_0x572e8d;},'KbjKm':function(_0x2af9ed,_0x18aee1){return _0x2af9ed(_0x18aee1);},'jecbn':_0x564722(0x1f5),'bZrUe':function(_0x57591a,_0x36bdda){return _0x57591a===_0x36bdda;},'uEmGZ':'configured','hRvwY':function(_0x5a90f8,_0x2d4c4a){return _0x5a90f8(_0x2d4c4a);},'PZnPz':'@ranger-testing/opencode-plugin','fldeW':function(_0x435af6,_0x22e351){return _0x435af6===_0x22e351;},'EZAWx':_0x564722(0x20d),'FJOLi':_0x564722(0x1c7),'KOXDd':_0x564722(0x1f0),'OQKLY':'\x0a---\x20Claude\x20Code\x20Plugin\x20---','JBOrx':function(_0x41e6c0,_0x278d66){return _0x41e6c0(_0x278d66);},'EugiL':'ranger@trailhead','hFGbW':'disabled','KOIYZ':_0x564722(0x1e9),'ANTlL':function(_0x4ce6e2,_0x37e46f){return _0x4ce6e2===_0x37e46f;},'gjYva':'No\x20skills\x20installed','aZSBs':_0x564722(0x1df),'KnQwI':function(_0x2c9107,_0x17a486,_0x82ccdb){return _0x2c9107(_0x17a486,_0x82ccdb);},'FwxTp':'\x20\x20User-level:','aFuYX':function(_0x237e86,_0x2564c5){return _0x237e86(_0x2564c5);},'GeZMM':function(_0xabaf7d,_0x5b6bbe){return _0xabaf7d(_0x5b6bbe);},'AFKYS':function(_0x2e3edb,_0x2f0239){return _0x2e3edb+_0x2f0239;},'ZVleX':'No\x20profiles\x20configured','apJQo':function(_0x5e3635,_0x3de137){return _0x5e3635>_0x3de137;},'rwnpt':function(_0xbdda7c,_0x1f43a2){return _0xbdda7c===_0x1f43a2;},'TATls':'\x20(active)','sKHGN':'plaintext','rcsIQ':'none','oWXvs':function(_0x32902e,_0x5c3e06,_0x56428c){return _0x32902e(_0x5c3e06,_0x56428c);}};console[_0x564722(0x1de)]('\x0a📊\x20Ranger\x20Status\x0a');const _0x2002cb=process['cwd'](),_0x56ce92=_0x3f8aec[_0x564722(0x1ca)](getRangerDir);if(!existsSync(_0x56ce92)){console['log']('Root:\x20'+_0x3f8aec['auDkP'](link,_0x2002cb,bold(basename(_0x2002cb)))),console[_0x564722(0x1de)]('\x0aRanger\x20has\x20not\x20been\x20initialized\x20in\x20this\x20directory.'),console['log']('\x20\x20Run:\x20ranger\x20setup\x20[token]\x0a');return;}console['log'](_0x564722(0x1dc)+link(_0x2002cb,bold(_0x3f8aec['qslEK'](basename,_0x2002cb))));const _0x3db430=getCurrentVersion(),_0x3869e3=_0x3f8aec[_0x564722(0x1ef)](getLatestVersion);if(_0x3869e3['version']&&_0x3f8aec['BWmgo'](_0x3869e3['version'],_0x3db430))console['log']('Version:\x20'+_0x3db430+'\x20(latest:\x20'+_0x3869e3[_0x564722(0x226)]+')'),console['log']('\x20\x20Run:\x20ranger\x20update');else _0x3869e3['version']?console[_0x564722(0x1de)](_0x564722(0x218)+_0x3db430+_0x564722(0x1c3)):console['log'](_0x564722(0x218)+_0x3db430);const _0x54f1f6=await _0x3f8aec['nnCii'](getToken);if(_0x54f1f6){const _0x452135=await _0x3f8aec[_0x564722(0x213)](getCurrentUser,_0x54f1f6);_0x452135[_0x564722(0x1e6)]?console[_0x564722(0x1de)]('Organization:\x20'+bold(_0x452135['user']['organizationName'])):(console['log']('API\x20Token:\x20✓\x20Found\x20but\x20invalid\x20or\x20expired'),console['log']('\x20\x20Run:\x20ranger\x20setup\x20[token]'));}else console[_0x564722(0x1de)](_0x564722(0x201)),console['log']('\x20\x20Run:\x20ranger\x20setup\x20[token]');process[_0x564722(0x20e)]['DEBUG']&&(console['log']('API\x20Environment:\x20'+getCurrentEnvironment()),console['log']('API\x20URL:\x20'+getApiBaseUrl()));console[_0x564722(0x1de)](_0x3f8aec['jecbn']);const _0x1ee901=await _0x3f8aec[_0x564722(0x1ef)](getOpencodePluginStatus);if(_0x3f8aec['bZrUe'](_0x1ee901[_0x564722(0x1d0)],_0x3f8aec['uEmGZ']))console[_0x564722(0x1de)]('\x20\x20'+_0x3f8aec['hRvwY'](bold,_0x3f8aec['PZnPz'])+_0x564722(0x215)),_0x1ee901['details']&&console[_0x564722(0x1de)]('\x20\x20'+_0x1ee901['details']);else _0x3f8aec[_0x564722(0x1ea)](_0x1ee901[_0x564722(0x1d0)],_0x3f8aec[_0x564722(0x1e0)])?(console[_0x564722(0x1de)](_0x564722(0x205)),_0x1ee901[_0x564722(0x1e5)]&&console[_0x564722(0x1de)]('\x20\x20'+_0x1ee901[_0x564722(0x1e5)]),console['log'](_0x3f8aec['FJOLi'])):console[_0x564722(0x1de)](_0x3f8aec['KOXDd']);console['log'](_0x3f8aec['OQKLY']);const _0x56b568=await _0x3f8aec[_0x564722(0x1fd)](getPluginInfo,_0x3f8aec[_0x564722(0x1f1)]);if(_0x56b568){const _0x6bc56=_0x56b568[_0x564722(0x20c)]||_0x564722(0x1e1),_0x2fb1bc=_0x56b568['enabled']?_0x564722(0x1f2):_0x3f8aec[_0x564722(0x225)];console[_0x564722(0x1de)]('\x20\x20'+bold('ranger@trailhead')+_0x564722(0x1fc)+_0x6bc56+',\x20'+_0x2fb1bc+')');}else console[_0x564722(0x1de)]('\x20\x20Not\x20installed'),console['log'](_0x3f8aec['KOIYZ']);console['log']('\x0a---\x20Skills\x20---');const {project:_0x2d9f8d,user:_0x2d5625}=await _0x3f8aec[_0x564722(0x1ef)](getInstalledSkills),_0x1bcf30=_0x2d9f8d[_0x564722(0x1e7)](_0x3675f3=>RANGER_MANAGED_SKILLS[_0x564722(0x21a)](_0x3675f3['name'])),_0x277624=_0x2d5625['filter'](_0x4252ac=>RANGER_MANAGED_SKILLS[_0x564722(0x21a)](_0x4252ac[_0x564722(0x212)])),_0xed8734=_0x1bcf30['length']+_0x277624[_0x564722(0x1e2)];if(_0x3f8aec[_0x564722(0x1d9)](_0xed8734,0x0))console[_0x564722(0x1de)](_0x3f8aec['gjYva']),console[_0x564722(0x1de)]('\x20\x20Run:\x20ranger\x20skillup');else{if(_0x1bcf30[_0x564722(0x1e2)]>0x0){console[_0x564722(0x1de)](_0x3f8aec[_0x564722(0x1db)]);for(const _0x1ed47c of _0x1bcf30){console['log'](_0x564722(0x1ed)+bold(_0x1ed47c['displayName'])+':\x20'+_0x3f8aec[_0x564722(0x1d7)](link,_0x1ed47c['path'],_0x3f8aec[_0x564722(0x213)](basename,_0x1ed47c['path'])));}}if(_0x277624['length']>0x0){console[_0x564722(0x1de)](_0x3f8aec['FwxTp']);for(const _0x1d55fe of _0x277624){console[_0x564722(0x1de)]('\x20\x20\x20\x20'+_0x3f8aec['aFuYX'](bold,_0x1d55fe[_0x564722(0x223)])+':\x20'+link(_0x1d55fe[_0x564722(0x21f)],_0x3f8aec[_0x564722(0x1f6)](basename,_0x1d55fe[_0x564722(0x21f)])));}}}console['log']('\x0a---\x20Profiles\x20---');const {envs:_0x5145ed,activeEnv:_0x4b7935}=await getEnvironments();let _0x1e11ed=[];if(_0x54f1f6)try{_0x1e11ed=await _0x3f8aec['ETygv'](listCloudProfiles);}catch{}const _0x4142e5=_0x3f8aec[_0x564722(0x211)](_0x5145ed['length'],_0x1e11ed['length']);if(_0x4142e5===0x0)console[_0x564722(0x1de)](_0x3f8aec[_0x564722(0x204)]),console['log']('\x20\x20Run:\x20ranger\x20profile\x20add\x20<profile-name>');else{if(_0x4142e5>0x5){const _0xc3db87=[];_0x1e11ed[_0x564722(0x1e2)]>0x0&&_0xc3db87[_0x564722(0x1d3)](_0x1e11ed[_0x564722(0x1e2)]+'\x20cloud'),_0x3f8aec[_0x564722(0x1ee)](_0x5145ed['length'],0x0)&&_0xc3db87['push'](_0x5145ed['length']+'\x20local'),console['log'](_0x4142e5+_0x564722(0x1eb)+_0xc3db87[_0x564722(0x216)](',\x20')+')'),_0x4b7935&&console['log'](_0x564722(0x1d6)+bold(_0x4b7935)),console['log'](_0x564722(0x1cf));}else{for(const _0x580066 of _0x1e11ed){const _0x54d11c=_0x3f8aec['rwnpt'](_0x580066[_0x564722(0x212)],_0x4b7935)?_0x3f8aec[_0x564722(0x21c)]:'';console[_0x564722(0x1de)]('\x20\x20'+bold(_0x580066['name'])+_0x564722(0x20f)+_0x54d11c);const _0x413768=_0x580066[_0x564722(0x21e)]?'cached\x20(updated\x20'+_0x580066['sessionUpdatedAt']+')':_0x564722(0x21d);console['log'](_0x564722(0x1fe)+_0x413768);}const _0x3c7e91=new Set(_0x1e11ed[_0x564722(0x1f9)](_0x3ef024=>_0x3ef024['name']));for(const _0x7a76f1 of _0x5145ed){if(_0x3c7e91[_0x564722(0x1f7)](_0x7a76f1[_0x564722(0x212)]))continue;const _0x4da245=_0x7a76f1['isActive']?_0x3f8aec[_0x564722(0x21c)]:'',_0x2a9500=_0x7a76f1['hasEncryptedAuth']?_0x564722(0x208):_0x7a76f1[_0x564722(0x1fa)]?_0x3f8aec['sKHGN']:_0x3f8aec[_0x564722(0x1c8)];console[_0x564722(0x1de)]('\x20\x20'+_0x3f8aec['JBOrx'](bold,_0x7a76f1[_0x564722(0x212)])+'\x20[local]'+_0x4da245),console['log'](_0x564722(0x203)+_0x2a9500),_0x7a76f1['settingsPath']!=='(not\x20found)'&&console[_0x564722(0x1de)]('\x20\x20\x20\x20Settings:\x20'+_0x3f8aec[_0x564722(0x21b)](link,_0x7a76f1['settingsPath'],basename(_0x7a76f1['settingsPath'])));}if(!_0x4b7935){console[_0x564722(0x1de)](_0x564722(0x214));const _0x223441=[..._0x1e11ed[_0x564722(0x1f9)](_0x41869e=>_0x41869e[_0x564722(0x212)]),..._0x5145ed[_0x564722(0x1e7)](_0x234133=>!_0x3c7e91[_0x564722(0x1f7)](_0x234133['name']))[_0x564722(0x1f9)](_0x3d3ca5=>_0x3d3ca5[_0x564722(0x212)])];console['log']('\x20\x20Run:\x20ranger\x20profile\x20use\x20<profile-name>\x20\x20(available:\x20'+_0x223441['join'](',\x20')+')');}}}console['log']('');}