@ranger-testing/ranger-cli 3.1.0 → 3.1.1-alpha.08fb70e-39

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 (85) hide show
  1. package/build/cli.js +1 -1
  2. package/build/commands/addEnv.js +1 -1
  3. package/build/commands/authEncrypt.js +1 -1
  4. package/build/commands/clean.js +1 -1
  5. package/build/commands/config.js +1 -1
  6. package/build/commands/deleteProfile.js +1 -1
  7. package/build/commands/env.js +1 -1
  8. package/build/commands/feature.js +1 -1
  9. package/build/commands/hook.js +1 -1
  10. package/build/commands/hooks/autoPrompt.js +1 -1
  11. package/build/commands/hooks/disable.js +1 -1
  12. package/build/commands/hooks/enable.js +1 -1
  13. package/build/commands/hooks/exitPlanMode.js +1 -1
  14. package/build/commands/hooks/index.js +1 -1
  15. package/build/commands/hooks/output.js +1 -1
  16. package/build/commands/hooks/planReminder.js +1 -1
  17. package/build/commands/hooks/planStart.js +1 -1
  18. package/build/commands/hooks/postEdit.js +1 -1
  19. package/build/commands/hooks/preCompact.js +1 -1
  20. package/build/commands/hooks/sessionEnd.js +1 -1
  21. package/build/commands/hooks/sessionStart.js +1 -1
  22. package/build/commands/hooks/stopHook.js +1 -1
  23. package/build/commands/index.js +1 -1
  24. package/build/commands/login.js +1 -1
  25. package/build/commands/mcpBootstrap.js +1 -1
  26. package/build/commands/migrateProfile.js +1 -1
  27. package/build/commands/setup/claude.js +1 -1
  28. package/build/commands/setup/opencode.js +1 -1
  29. package/build/commands/setupCi.js +1 -1
  30. package/build/commands/skillup.js +1 -1
  31. package/build/commands/start.js +1 -1
  32. package/build/commands/status.js +1 -1
  33. package/build/commands/update.js +1 -1
  34. package/build/commands/updateEnv.js +1 -1
  35. package/build/commands/useEnv.js +1 -1
  36. package/build/commands/utils/activeProfile.js +1 -1
  37. package/build/commands/utils/agentEnv.js +1 -1
  38. package/build/commands/utils/browserSessionsApi.js +1 -1
  39. package/build/commands/utils/claudeConfig.js +1 -1
  40. package/build/commands/utils/claudeOverrideSettings.js +1 -1
  41. package/build/commands/utils/claudePlugin.js +1 -1
  42. package/build/commands/utils/cloudProfile.js +1 -1
  43. package/build/commands/utils/cloudProfileSession.js +1 -1
  44. package/build/commands/utils/crypto.js +1 -1
  45. package/build/commands/utils/desirePathLog.js +1 -1
  46. package/build/commands/utils/deviceAuth.js +1 -1
  47. package/build/commands/utils/environment.js +1 -1
  48. package/build/commands/utils/featureApi.js +1 -1
  49. package/build/commands/utils/fixWebmDuration.js +1 -1
  50. package/build/commands/utils/gitTracked.js +1 -1
  51. package/build/commands/utils/keychain.js +1 -1
  52. package/build/commands/utils/legacyWarning.js +1 -1
  53. package/build/commands/utils/localAgentInstallationsApi.js +1 -1
  54. package/build/commands/utils/matchAuthEnvironment.js +1 -1
  55. package/build/commands/utils/mcpImageBase64.js +1 -1
  56. package/build/commands/utils/model.js +1 -1
  57. package/build/commands/utils/novaActCli.js +1 -1
  58. package/build/commands/utils/opencodeConfig.js +1 -1
  59. package/build/commands/utils/organizationEnvApi.js +1 -1
  60. package/build/commands/utils/playwrightCli.js +1 -1
  61. package/build/commands/utils/profileMessages.js +1 -1
  62. package/build/commands/utils/profileSetupBanner.js +1 -1
  63. package/build/commands/utils/projectsConfig.js +1 -1
  64. package/build/commands/utils/rangerConfig.js +1 -1
  65. package/build/commands/utils/rangerRoot.js +1 -1
  66. package/build/commands/utils/rangerwrightCli.js +1 -1
  67. package/build/commands/utils/resolveProfileContext.js +1 -1
  68. package/build/commands/utils/resolveProfileUrl.js +1 -1
  69. package/build/commands/utils/retry.js +1 -1
  70. package/build/commands/utils/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/tunnelClient.js +1 -1
  79. package/build/commands/utils/userApi.js +1 -1
  80. package/build/commands/utils/version.js +1 -1
  81. package/build/commands/verifyFeature.js +1 -1
  82. package/build/commands/verifyFeatureCli.js +1 -1
  83. package/build/commands/verifyFeatureNovaCli.js +1 -1
  84. package/build/commands/verifyFeatureRangerwrightCli.js +1 -1
  85. package/package.json +1 -1
@@ -1 +1 @@
1
- function _0x1e60(_0x5e08b4,_0x50e590){_0x5e08b4=_0x5e08b4-0x19c;const _0x4ea17b=_0x4ea1();let _0x1e609f=_0x4ea17b[_0x5e08b4];return _0x1e609f;}(function(_0x18e44d,_0x5645a3){const _0x44ea06=_0x1e60,_0x305916=_0x18e44d();while(!![]){try{const _0x1b0d54=-parseInt(_0x44ea06(0x1a8))/0x1*(-parseInt(_0x44ea06(0x1ab))/0x2)+parseInt(_0x44ea06(0x1aa))/0x3*(parseInt(_0x44ea06(0x1a4))/0x4)+parseInt(_0x44ea06(0x19e))/0x5*(-parseInt(_0x44ea06(0x1a9))/0x6)+-parseInt(_0x44ea06(0x19f))/0x7+-parseInt(_0x44ea06(0x1a1))/0x8+-parseInt(_0x44ea06(0x1a2))/0x9+parseInt(_0x44ea06(0x19d))/0xa;if(_0x1b0d54===_0x5645a3)break;else _0x305916['push'](_0x305916['shift']());}catch(_0x1f3f8b){_0x305916['push'](_0x305916['shift']());}}}(_0x4ea1,0xd230d));import{runDeviceAuthFlow}from'./utils/deviceAuth.js';function _0x4ea1(){const _0x5d29c8=['Re-authenticating\x20via\x20MCP\x20bootstrap...','\x0a✅\x20API\x20key\x20stored\x20successfully','3968vfOeUK','12ZorcOF','11241oIrEAh','316xGohjt','user','29888230JHuQpG','1672740uhQyNG','7853027EjiUFf','vcyTU','13469608ucznzJ','3402351WWmizc','YgktG','1172JbijKB','Login\x20failed:\x20'];_0x4ea1=function(){return _0x5d29c8;};return _0x4ea1();}import{getCurrentUser}from'./utils/userApi.js';import{getMcpAuthOrigin,mcpBootstrap}from'./mcpBootstrap.js';import{isInteractive}from'./utils/cloudProfileSession.js';export async function login(){const _0x3a5ccd=_0x1e60,_0x11f243={'vSueR':_0x3a5ccd(0x1a6),'YgktG':'Login\x20requires\x20an\x20interactive\x20terminal.\x20In\x20CI,\x20use:\x20ranger\x20setup\x20[token]\x20or\x20set\x20RANGER_CLI_TOKEN.','tTIJZ':function(_0x17f4cc){return _0x17f4cc();},'HGlnx':function(_0x34faba,_0x459071){return _0x34faba(_0x459071);},'vcyTU':_0x3a5ccd(0x1a7),'HsSWD':function(_0x1f9df0,_0x1f5c63){return _0x1f9df0 instanceof _0x1f5c63;}},_0x59bb81=await getMcpAuthOrigin();if(_0x59bb81){console['log'](_0x11f243['vSueR']),await mcpBootstrap();return;}if(!isInteractive())throw new Error(_0x11f243[_0x3a5ccd(0x1a3)]);try{const _0x34f49b=await _0x11f243['tTIJZ'](runDeviceAuthFlow),_0x1aa757=await _0x11f243['HGlnx'](getCurrentUser,_0x34f49b);_0x1aa757['success']?console['log']('\x0a✅\x20Logged\x20in\x20to\x20'+_0x1aa757[_0x3a5ccd(0x19c)]['organizationName']):console['log'](_0x11f243[_0x3a5ccd(0x1a0)]);}catch(_0x408fe3){throw new Error(_0x3a5ccd(0x1a5)+(_0x11f243['HsSWD'](_0x408fe3,Error)?_0x408fe3['message']:_0x408fe3));}}
1
+ (function(_0x1b9a00,_0x542d53){const _0x161a21=_0xf954,_0x365e34=_0x1b9a00();while(!![]){try{const _0x20da29=parseInt(_0x161a21(0x19e))/0x1+-parseInt(_0x161a21(0x199))/0x2+parseInt(_0x161a21(0x1a5))/0x3+parseInt(_0x161a21(0x196))/0x4+-parseInt(_0x161a21(0x19a))/0x5+parseInt(_0x161a21(0x1a3))/0x6*(parseInt(_0x161a21(0x19d))/0x7)+-parseInt(_0x161a21(0x1a4))/0x8;if(_0x20da29===_0x542d53)break;else _0x365e34['push'](_0x365e34['shift']());}catch(_0x5ebcda){_0x365e34['push'](_0x365e34['shift']());}}}(_0x7d33,0x7d1fb));import{runDeviceAuthFlow}from'./utils/deviceAuth.js';import{getCurrentUser}from'./utils/userApi.js';function _0x7d33(){const _0x45661b=['5649vlymCX','979041iEzflA','hwFRk','Hhvdf','message','success','3102MMwXyc','14324056hYcUGI','2964102mXoXIa','log','3563996CPLkcX','kSDjF','organizationName','1061126EVsSMc','2208580SCsYWS','\x0a✅\x20API\x20key\x20stored\x20successfully','Re-authenticating\x20via\x20MCP\x20bootstrap...'];_0x7d33=function(){return _0x45661b;};return _0x7d33();}import{getMcpAuthOrigin,mcpBootstrap}from'./mcpBootstrap.js';function _0xf954(_0x483c95,_0x9f8b23){_0x483c95=_0x483c95-0x195;const _0x7d33da=_0x7d33();let _0xf954b8=_0x7d33da[_0x483c95];return _0xf954b8;}import{isInteractive}from'./utils/cloudProfileSession.js';export async function login(){const _0x2d2ab1=_0xf954,_0x36831a={'kSDjF':function(_0x1c9e99){return _0x1c9e99();},'Hhvdf':'Login\x20requires\x20an\x20interactive\x20terminal.\x20In\x20CI,\x20use:\x20ranger\x20setup\x20[token]\x20or\x20set\x20RANGER_CLI_TOKEN.','hwFRk':_0x2d2ab1(0x19b)},_0x443a81=await getMcpAuthOrigin();if(_0x443a81){console['log'](_0x2d2ab1(0x19c)),await _0x36831a[_0x2d2ab1(0x197)](mcpBootstrap);return;}if(!isInteractive())throw new Error(_0x36831a[_0x2d2ab1(0x1a0)]);try{const _0x51e5e1=await _0x36831a[_0x2d2ab1(0x197)](runDeviceAuthFlow),_0x30f560=await getCurrentUser(_0x51e5e1);_0x30f560[_0x2d2ab1(0x1a2)]?console['log']('\x0a✅\x20Logged\x20in\x20to\x20'+_0x30f560['user'][_0x2d2ab1(0x198)]):console[_0x2d2ab1(0x195)](_0x36831a[_0x2d2ab1(0x19f)]);}catch(_0x51ec81){throw new Error('Login\x20failed:\x20'+(_0x51ec81 instanceof Error?_0x51ec81[_0x2d2ab1(0x1a1)]:_0x51ec81));}}
@@ -1 +1 @@
1
- const _0x481865=_0xb0f8;(function(_0x3c88a3,_0x139728){const _0x41f235=_0xb0f8,_0x1339d8=_0x3c88a3();while(!![]){try{const _0x12c4b0=-parseInt(_0x41f235(0x1c2))/0x1+-parseInt(_0x41f235(0x18d))/0x2+-parseInt(_0x41f235(0x1e4))/0x3*(-parseInt(_0x41f235(0x176))/0x4)+-parseInt(_0x41f235(0x181))/0x5+-parseInt(_0x41f235(0x196))/0x6+parseInt(_0x41f235(0x19a))/0x7*(parseInt(_0x41f235(0x16a))/0x8)+parseInt(_0x41f235(0x1c6))/0x9;if(_0x12c4b0===_0x139728)break;else _0x1339d8['push'](_0x1339d8['shift']());}catch(_0x28fd9f){_0x1339d8['push'](_0x1339d8['shift']());}}}(_0x29fc,0x30470));import{mkdir,writeFile,readFile}from'fs/promises';import{join}from'path';import{homedir}from'os';import{createServer}from'http';import{randomBytes,createHash}from'crypto';import{exec}from'child_process';import{getMcpAuthUrl}from'./utils/environment.js';const CALLBACK_PORT=0x4d78,TOKEN_CACHE_PATH=join(homedir(),'.ranger',_0x481865(0x159)),AUTH_ORIGIN_PATH=join(homedir(),_0x481865(0x1ac),_0x481865(0x1ab));export async function getMcpAuthOrigin(){const _0x284daf=_0x481865;try{const _0x41c7aa=(await readFile(AUTH_ORIGIN_PATH,'utf-8'))[_0x284daf(0x17b)]();return _0x41c7aa||null;}catch{return null;}}export async function mcpBootstrap(){const _0xd1b0a1=_0x481865,_0x7d0097={'ddrhU':function(_0x2d20da){return _0x2d20da();},'PaINh':function(_0x578131,_0x10bce1){return _0x578131(_0x10bce1);},'UinUz':function(_0x42c7f2,_0x2fb9b4){return _0x42c7f2===_0x2fb9b4;},'hMLyv':'proxied','GoWJS':function(_0xffa10d){return _0xffa10d();},'ShlCL':'MCP\x20server\x20requires\x20authentication\x20but\x20running\x20in\x20non-interactive\x20mode.\x0a','tNtdd':'Run\x20`ranger\x20setup\x20--mcp-bootstrap`\x20interactively\x20first.','eqVCi':function(_0x219dea,_0x161322,_0x15bef7){return _0x219dea(_0x161322,_0x15bef7);}},_0x2edc93=_0x7d0097[_0xd1b0a1(0x167)](getMcpAuthUrl);currentOrigin=_0x2edc93;const _0x1ad6a7=process['stdout']['isTTY']??![];console[_0xd1b0a1(0x1df)](_0xd1b0a1(0x1d3)+_0x2edc93+'\x0a');const _0x10c5c8=await _0x7d0097['PaINh'](tryUnauthenticated,_0x2edc93);let _0x838c96=null;if(_0x7d0097['UinUz'](_0x10c5c8,_0x7d0097['hMLyv']))_0x838c96='';else{_0x838c96=await _0x7d0097[_0xd1b0a1(0x1d4)](loadCachedToken);if(!_0x838c96){if(!_0x1ad6a7)throw new Error(_0x7d0097[_0xd1b0a1(0x1d5)]+_0x7d0097[_0xd1b0a1(0x199)]);_0x838c96=await _0x7d0097[_0xd1b0a1(0x17a)](oauthFlow,_0x2edc93);}}await _0x7d0097[_0xd1b0a1(0x1dd)](callGetCliToken,_0x2edc93,_0x838c96);}async function tryUnauthenticated(_0x3a232e){const _0x1e90d3=_0x481865,_0x3c605f={'SgifR':_0x1e90d3(0x1c9),'qiGxw':_0x1e90d3(0x155),'oDUXf':_0x1e90d3(0x194),'PIsxJ':_0x1e90d3(0x1b2),'JHmHM':'1.0.0','pGfIg':_0x1e90d3(0x1cd),'adGvR':_0x1e90d3(0x177)},_0x343aa3=await fetch(_0x3a232e,{'method':_0x3c605f[_0x1e90d3(0x174)],'headers':{'Content-Type':'application/json','Accept':_0x3c605f['qiGxw']},'body':JSON[_0x1e90d3(0x18a)]({'jsonrpc':_0x3c605f['oDUXf'],'id':0x1,'method':'initialize','params':{'protocolVersion':'2025-03-26','capabilities':{},'clientInfo':{'name':_0x3c605f[_0x1e90d3(0x17e)],'version':_0x3c605f[_0x1e90d3(0x175)]}}})});if(_0x343aa3['ok'])return await _0x343aa3['text'](),_0x3c605f['pGfIg'];if(_0x343aa3[_0x1e90d3(0x1d7)]===0x191)return await _0x343aa3[_0x1e90d3(0x15a)](),_0x3c605f[_0x1e90d3(0x1b7)];const _0x1f276e=await _0x343aa3['text']();throw new Error('MCP\x20server\x20returned\x20HTTP\x20'+_0x343aa3['status']+':\x20'+_0x1f276e);}function _0x29fc(){const _0x23b2d3=['stdout','Could\x20not\x20fetch\x20auth\x20server\x20metadata\x20from\x20','\x0aConnecting\x20to\x20MCP\x20auth\x20server:\x20','GoWJS','ShlCL','response_type','status','notifications/initialized','http://localhost:','expiresAt','then','split','eqVCi','HTTP\x20','log','Server\x20returned\x20error:\x20','QrjDs','Requesting\x20CLI\x20token...','RoRIV','12JaCwwU','application/json,\x20text/event-stream','\x0aToken\x20written\x20to\x20','darwin','exFNz','mcp-oauth-tokens.json','text','authorization_endpoint','parse','accessToken','Could\x20not\x20extract\x20token\x20from\x20MCP\x20response','IokQB','get_cli_token\x20failed:\x20','jGAWt','weKsZ','application/json','ZCXiV','write','error','ddrhU','initialize','code','72SqBBbj','PZroR','type','string','content-type','Unknown\x20error','otwyD','rUGuz','eSHMU','refresh_token','SgifR','JHmHM','24848VredvZ','needs-oauth','127.0.0.1','clientSecret','PaINh','trim','content','SttxF','PIsxJ','MCP\x20initialize\x20failed:\x20','pathname','1003220GHuHNs','Token\x20exchange\x20failed:\x20','lZCSH','OAuth\x20callback\x20timed\x20out\x20after\x202\x20minutes','zpakI','writeHead','token_endpoint','base64url','resource','stringify','client_id','/callback','389144QXnYYC','No\x20JSON-RPC\x20response\x20found\x20in\x20SSE\x20stream','json','tcjAY','application/x-www-form-urlencoded','isError','iPZTE','2.0','lpOGo','2268690ADiHcE','update','now','tNtdd','281687HcehXD','clientId','IDJbA','headers','client_secret','message','win32','IzDWe','redirect_uri','searchParams','AvmzX','Bearer\x20','Not\x20found','xqtVx','listen','text/html','token','auth-origin.txt','.ranger','end','result','expires_in','1.0.0','fKTED','ranger-cli','toString','ncOeN','GVllo','Exchanging\x20authorization\x20code...','adGvR','\x20done','cVlTJ','refresh.txt','MKjoK','JuWQG','closeAllConnections','\x0aOpening\x20browser\x20for\x20authentication...','qqTSo','digest','authorization_code','307083IsbVzP','refreshToken','Authorization\x20server\x20does\x20not\x20support\x20dynamic\x20client\x20registration\x20and\x20no\x20cached\x20client\x20found','state','8020269ZIFoAy','access_token','ZfGwF','POST','origin','lwxQE','yhxLj','proxied','set','Client\x20registration\x20failed:\x20','WuJBy'];_0x29fc=function(){return _0x23b2d3;};return _0x29fc();}class OAuthTimeoutError extends Error{constructor(_0x50e085){const _0x1c73dd=_0x481865,_0x4c6d13={'exFNz':'OAuthTimeoutError'};super(_0x50e085),this['name']=_0x4c6d13[_0x1c73dd(0x158)];}}async function oauthFlow(_0x36ac27){const _0x2f9c49=_0x481865,_0x37a254={'scujT':function(_0x3c959a,_0x237d2f){return _0x3c959a instanceof _0x237d2f;},'XZUzE':'\x0aCached\x20OAuth\x20client\x20may\x20be\x20stale\x20—\x20clearing\x20and\x20retrying...\x0a','hOYLL':function(_0x32fcbf){return _0x32fcbf();},'drlcS':function(_0x388c58,_0x12253f){return _0x388c58(_0x12253f);}};try{return await oauthFlowAttempt(_0x36ac27);}catch(_0x481d02){if(_0x37a254['scujT'](_0x481d02,OAuthTimeoutError)&&await loadCachedClient())return console[_0x2f9c49(0x1df)](_0x37a254['XZUzE']),await _0x37a254['hOYLL'](clearCachedClient),await _0x37a254['drlcS'](oauthFlowAttempt,_0x36ac27);throw _0x481d02;}}async function oauthFlowAttempt(_0x24965b){const _0x3a8e99=_0x481865,_0x39b303={'mEcTH':'Discovering\x20authorization\x20server...','GzNvP':'No\x20authorization_servers\x20in\x20protected\x20resource\x20metadata','SttxF':function(_0x277808,_0x2bdcd1){return _0x277808(_0x2bdcd1);},'JuWQG':'application/json','otwyD':'Ranger\x20CLI','qqTSo':_0x3a8e99(0x1c1),'WuJBy':'none','SBfqk':function(_0x58d5a0,_0x584286,_0x286d3e){return _0x58d5a0(_0x584286,_0x286d3e);},'lkRyr':_0x3a8e99(0x1b8),'PMfej':'base64url','weKsZ':'sha256','jHJuG':'hex','FJLmA':_0x3a8e99(0x1d6),'rUGuz':_0x3a8e99(0x169),'jGAWt':'state','tzXse':_0x3a8e99(0x1be),'RcRjK':_0x3a8e99(0x1b6),'cNXpe':_0x3a8e99(0x19e),'loWOz':'resource','cVlTJ':function(_0x2aa8b1,_0x213abc,_0x40790c){return _0x2aa8b1(_0x213abc,_0x40790c);},'zpakI':_0x3a8e99(0x1c9)},_0x53ef27=_0x24965b['replace'](/\/mcp$/,'');process['stdout']['write'](_0x39b303['mEcTH']);const _0x1bb5bd=await fetch(_0x53ef27+'/.well-known/oauth-protected-resource');if(!_0x1bb5bd['ok'])throw new Error('Could\x20not\x20fetch\x20protected\x20resource\x20metadata\x20from\x20MCP\x20server');const _0x445fcf=await _0x1bb5bd[_0x3a8e99(0x18f)](),_0x5ac987=_0x445fcf['authorization_servers']?.[0x0];if(!_0x5ac987)throw new Error(_0x39b303['GzNvP']);console[_0x3a8e99(0x1df)]('\x20'+_0x5ac987);const _0x3d20b0=await _0x39b303['SttxF'](fetchAuthServerMetadata,_0x5ac987);let _0x3598b3,_0x57655d;const _0x1bac7f=await loadCachedClient();if(_0x1bac7f)_0x3598b3=_0x1bac7f[_0x3a8e99(0x19b)],_0x57655d=_0x1bac7f['clientSecret'];else{if(_0x3d20b0['registration_endpoint']){process['stdout']['write']('Registering\x20OAuth\x20client...');const _0xc4af97=await fetch(_0x3d20b0['registration_endpoint'],{'method':_0x3a8e99(0x1c9),'headers':{'Content-Type':_0x39b303[_0x3a8e99(0x1bc)]},'body':JSON[_0x3a8e99(0x18a)]({'client_name':_0x39b303[_0x3a8e99(0x170)],'redirect_uris':['http://localhost:'+CALLBACK_PORT+'/callback'],'grant_types':[_0x39b303[_0x3a8e99(0x1bf)],'refresh_token'],'response_types':[_0x3a8e99(0x169)],'token_endpoint_auth_method':_0x39b303[_0x3a8e99(0x1d0)]})});if(!_0xc4af97['ok']){const _0xd3440e=await _0xc4af97[_0x3a8e99(0x15a)]();throw new Error(_0x3a8e99(0x1cf)+_0xd3440e);}const _0x4dd96c=await _0xc4af97[_0x3a8e99(0x18f)]();_0x3598b3=_0x4dd96c[_0x3a8e99(0x18b)],_0x57655d=_0x4dd96c[_0x3a8e99(0x19e)],await _0x39b303['SBfqk'](saveCachedClient,_0x3598b3,_0x57655d),console['log'](_0x39b303['lkRyr']);}else throw new Error(_0x3a8e99(0x1c4));}const _0x4ba09d=_0x39b303[_0x3a8e99(0x17d)](randomBytes,0x20)[_0x3a8e99(0x1b3)](_0x39b303['PMfej']),_0x1a21a6=_0x39b303['SttxF'](createHash,_0x39b303[_0x3a8e99(0x162)])[_0x3a8e99(0x197)](_0x4ba09d)[_0x3a8e99(0x1c0)](_0x3a8e99(0x188)),_0x5332eb=_0x39b303['SttxF'](randomBytes,0x10)['toString'](_0x39b303['jHJuG']),_0x2b404f=new URL(_0x3d20b0[_0x3a8e99(0x15b)]);_0x2b404f[_0x3a8e99(0x1a3)][_0x3a8e99(0x1ce)](_0x39b303['FJLmA'],_0x39b303[_0x3a8e99(0x171)]),_0x2b404f['searchParams'][_0x3a8e99(0x1ce)](_0x3a8e99(0x18b),_0x3598b3),_0x2b404f[_0x3a8e99(0x1a3)][_0x3a8e99(0x1ce)](_0x3a8e99(0x1a2),_0x3a8e99(0x1d9)+CALLBACK_PORT+'/callback'),_0x2b404f[_0x3a8e99(0x1a3)]['set']('code_challenge',_0x1a21a6),_0x2b404f[_0x3a8e99(0x1a3)]['set']('code_challenge_method','S256'),_0x2b404f['searchParams'][_0x3a8e99(0x1ce)](_0x39b303[_0x3a8e99(0x161)],_0x5332eb);_0x445fcf[_0x3a8e99(0x189)]&&_0x2b404f['searchParams']['set']('resource',_0x445fcf[_0x3a8e99(0x189)]);console['log'](_0x39b303['tzXse']),console[_0x3a8e99(0x1df)]('If\x20the\x20browser\x20doesn\x27t\x20open,\x20visit:\x0a'+_0x2b404f[_0x3a8e99(0x1b3)]()+'\x0a'),await _0x39b303[_0x3a8e99(0x17d)](openBrowser,_0x2b404f[_0x3a8e99(0x1b3)]());const _0x354a30=await _0x39b303['SttxF'](waitForCallback,_0x5332eb);process['stdout'][_0x3a8e99(0x165)](_0x39b303['RcRjK']);const _0x14d4da=new URLSearchParams({'grant_type':_0x39b303['qqTSo'],'code':_0x354a30,'redirect_uri':_0x3a8e99(0x1d9)+CALLBACK_PORT+_0x3a8e99(0x18c),'client_id':_0x3598b3,'code_verifier':_0x4ba09d});_0x57655d&&_0x14d4da[_0x3a8e99(0x1ce)](_0x39b303['cNXpe'],_0x57655d);_0x445fcf[_0x3a8e99(0x189)]&&_0x14d4da[_0x3a8e99(0x1ce)](_0x39b303['loWOz'],_0x445fcf['resource']);const _0x3f7202=await _0x39b303[_0x3a8e99(0x1b9)](fetch,_0x3d20b0[_0x3a8e99(0x187)],{'method':_0x39b303[_0x3a8e99(0x185)],'headers':{'Content-Type':_0x3a8e99(0x191)},'body':_0x14d4da});if(!_0x3f7202['ok']){const _0x16d896=await _0x3f7202[_0x3a8e99(0x15a)]();throw new Error(_0x3a8e99(0x182)+_0x16d896);}const _0x228e21=await _0x3f7202['json']();return console['log']('\x20done'),await saveCachedToken(_0x228e21[_0x3a8e99(0x1c7)],_0x228e21[_0x3a8e99(0x173)],_0x228e21[_0x3a8e99(0x1af)]),_0x228e21['access_token'];}async function callGetCliToken(_0x4011ac,_0x5c1ecc){const _0xaed81f=_0x481865,_0xdc2e08={'lpOGo':_0xaed81f(0x1c9),'IokQB':function(_0x49671a,_0x329639){return _0x49671a(_0x329639);},'PaPCQ':_0xaed81f(0x163),'GRMee':'Authorization','OqXnm':function(_0x292f4d,_0x44aaf7){return _0x292f4d(_0x44aaf7);},'eSHMU':_0xaed81f(0x168),'fCHyN':_0xaed81f(0x1d8),'MKjoK':_0xaed81f(0x1e2),'ZCXiV':'tools/call','CUeVq':_0xaed81f(0x1b8),'abNyg':_0xaed81f(0x1ac),'lwxQE':function(_0x25f461,_0x2349a8,_0x13a247){return _0x25f461(_0x2349a8,_0x13a247);},'Uuptx':function(_0x3012ce,_0x18ef1e,_0x5a32d6,_0x2b5927){return _0x3012ce(_0x18ef1e,_0x5a32d6,_0x2b5927);},'srvDL':function(_0x49461e,_0x159014,_0xa80e28){return _0x49461e(_0x159014,_0xa80e28);},'tcjAY':'auth-origin.txt'},_0x47775a={'Content-Type':_0xdc2e08['PaPCQ'],'Accept':'application/json,\x20text/event-stream'};_0x5c1ecc&&(_0x47775a[_0xdc2e08['GRMee']]=_0xaed81f(0x1a5)+_0x5c1ecc);const _0x8edfd5=async _0x436bfa=>{const _0x53eb8d=_0xaed81f,_0x2ffa35=await fetch(_0x4011ac,{'method':_0xdc2e08[_0x53eb8d(0x195)],'headers':_0x47775a,'body':JSON[_0x53eb8d(0x18a)](_0x436bfa)});if(!_0x2ffa35['ok']){const _0x54cdd6=await _0x2ffa35['text']();throw new Error(_0x53eb8d(0x1de)+_0x2ffa35['status']+':\x20'+_0x54cdd6);}return _0xdc2e08[_0x53eb8d(0x15f)](parseResponse,_0x2ffa35);};process[_0xaed81f(0x1d1)][_0xaed81f(0x165)]('Initializing\x20MCP\x20session...');const _0x28a5c6=await _0xdc2e08['OqXnm'](_0x8edfd5,{'jsonrpc':_0xaed81f(0x194),'id':0x1,'method':_0xdc2e08[_0xaed81f(0x172)],'params':{'protocolVersion':'2025-03-26','capabilities':{},'clientInfo':{'name':'ranger-cli','version':_0xaed81f(0x1b0)}}});if(_0x28a5c6['error'])throw new Error(_0xaed81f(0x17f)+(_0x28a5c6['error']['message']??JSON[_0xaed81f(0x18a)](_0x28a5c6['error'])));console['log'](_0xaed81f(0x1b8)),await fetch(_0x4011ac,{'method':_0xaed81f(0x1c9),'headers':_0x47775a,'body':JSON[_0xaed81f(0x18a)]({'jsonrpc':_0xaed81f(0x194),'method':_0xdc2e08['fCHyN']})})[_0xaed81f(0x1db)](_0x428337=>_0x428337[_0xaed81f(0x15a)]()),process['stdout'][_0xaed81f(0x165)](_0xdc2e08[_0xaed81f(0x1bb)]);const _0x1e4f74=await _0x8edfd5({'jsonrpc':_0xaed81f(0x194),'id':0x2,'method':_0xdc2e08[_0xaed81f(0x164)],'params':{'name':'get_cli_token','arguments':{}}});if(_0x1e4f74['error'])throw new Error(_0xaed81f(0x160)+(_0x1e4f74[_0xaed81f(0x166)][_0xaed81f(0x19f)]??JSON['stringify'](_0x1e4f74['error'])));console['log'](_0xdc2e08['CUeVq']);const _0xa1169d=extractToken(_0x1e4f74[_0xaed81f(0x1ae)]);if(!_0xa1169d){console[_0xaed81f(0x166)]('\x0aUnexpected\x20response\x20structure:'),console['error'](JSON['stringify'](_0x1e4f74['result'],null,0x2));throw new Error(_0xaed81f(0x15e));}const _0x3213b5=join(homedir(),_0xdc2e08['abNyg']),_0x39b1cb=_0xdc2e08[_0xaed81f(0x1cb)](join,_0x3213b5,_0xaed81f(0x1ba));await _0xdc2e08['lwxQE'](mkdir,_0x3213b5,{'recursive':!![]}),await _0xdc2e08['Uuptx'](writeFile,_0x39b1cb,_0xa1169d,{'mode':0x180}),await writeFile(_0xdc2e08['srvDL'](join,_0x3213b5,_0xdc2e08[_0xaed81f(0x190)]),_0x4011ac,{'mode':0x180}),console['log'](_0xaed81f(0x156)+_0x39b1cb),console['log']('Run\x20`ranger\x20status`\x20to\x20verify\x20authentication.\x0a');}async function fetchAuthServerMetadata(_0x1fc35b){const _0x3569cc=_0x481865,_0x4ed5f4={'TdCyJ':function(_0x49173e,_0x4765d4){return _0x49173e(_0x4765d4);}},_0x1bf9d9=_0x1fc35b+'/.well-known/oauth-authorization-server',_0xf382b1=await _0x4ed5f4['TdCyJ'](fetch,_0x1bf9d9);if(!_0xf382b1['ok'])throw new Error(_0x3569cc(0x1d2)+_0x1bf9d9+':\x20'+_0xf382b1['status']);return _0xf382b1[_0x3569cc(0x18f)]();}function waitForCallback(_0x50cda5){const _0x4bfbb9=_0x481865,_0x3f5369={'odyoa':_0x4bfbb9(0x1c5),'JsPCm':function(_0x1bef96,_0x3f01af){return _0x1bef96(_0x3f01af);},'JysbU':function(_0x43c813,_0x114b8b,_0x10266d){return _0x43c813(_0x114b8b,_0x10266d);},'fKTED':_0x4bfbb9(0x178)};return new Promise((_0x3d86f0,_0x1d269a)=>{const _0x5c4772=_0x4bfbb9,_0x949f71={'IDJbA':_0x5c4772(0x1a6),'QrjDs':'code','vhrZW':_0x3f5369['odyoa'],'OentM':function(_0x838aa2,_0xc654d5){return _0x3f5369['JsPCm'](_0x838aa2,_0xc654d5);},'WpSIJ':function(_0x11c4bd,_0x411c81){return _0x3f5369['JsPCm'](_0x11c4bd,_0x411c81);},'IzDWe':function(_0x345c3b){return _0x345c3b();}},_0xf918e4=()=>{const _0x779ed5=_0x5c4772;_0x1ed889[_0x779ed5(0x1bd)](),_0x1ed889['close']();},_0x27fe07=_0x3f5369['JysbU'](setTimeout,()=>{const _0x3e698f=_0x5c4772;_0xf918e4(),_0x1d269a(new OAuthTimeoutError(_0x3e698f(0x184)));},0x1d4c0),_0x1ed889=_0x3f5369['JsPCm'](createServer,(_0x2bf22c,_0x154f77)=>{const _0x92afc4=_0x5c4772,_0xc06a9c=new URL(_0x2bf22c['url']??'/','http://localhost:'+CALLBACK_PORT);if(_0xc06a9c[_0x92afc4(0x180)]!=='/callback'){_0x154f77['writeHead'](0x194),_0x154f77[_0x92afc4(0x1ad)](_0x949f71[_0x92afc4(0x19c)]);return;}const _0x48fea2=_0xc06a9c[_0x92afc4(0x1a3)]['get'](_0x949f71[_0x92afc4(0x1e1)]),_0x1f231d=_0xc06a9c[_0x92afc4(0x1a3)]['get'](_0x949f71['vhrZW']),_0x29848c=_0xc06a9c[_0x92afc4(0x1a3)]['get']('error');if(_0x29848c){const _0x2fa591=_0xc06a9c[_0x92afc4(0x1a3)]['get']('error_description')??_0x29848c;_0x154f77['writeHead'](0xc8,{'Content-Type':'text/html'}),_0x154f77['end']('<html><body><h2>Authentication\x20failed</h2><p>'+_0x2fa591+'</p><p>You\x20can\x20close\x20this\x20window.</p></body></html>'),clearTimeout(_0x27fe07),_0xf918e4(),_0x949f71['OentM'](_0x1d269a,new Error('OAuth\x20error:\x20'+_0x2fa591));return;}if(!_0x48fea2||_0x1f231d!==_0x50cda5){_0x154f77[_0x92afc4(0x186)](0x190,{'Content-Type':_0x92afc4(0x1a9)}),_0x154f77[_0x92afc4(0x1ad)]('<html><body><h2>Invalid\x20callback</h2><p>Missing\x20code\x20or\x20state\x20mismatch.</p></body></html>');return;}_0x154f77[_0x92afc4(0x186)](0xc8,{'Content-Type':_0x92afc4(0x1a9)}),_0x154f77['end']('<html><body><h2>Authenticated!</h2><p>You\x20can\x20close\x20this\x20window\x20and\x20return\x20to\x20the\x20terminal.</p></body></html>'),_0x949f71['WpSIJ'](clearTimeout,_0x27fe07),_0x949f71[_0x92afc4(0x1a1)](_0xf918e4),_0x3d86f0(_0x48fea2);});_0x1ed889[_0x5c4772(0x1a8)](CALLBACK_PORT,_0x3f5369[_0x5c4772(0x1b1)]);});}async function openBrowser(_0x28e6cd){const _0x1d1d34=_0x481865,_0x2c4d24={'XsiZK':_0x1d1d34(0x157)},_0x4ecae3=process['platform']===_0x2c4d24['XsiZK']?'open':process['platform']===_0x1d1d34(0x1a0)?'start':'xdg-open';exec(_0x4ecae3+'\x20\x22'+_0x28e6cd+'\x22');}function _0xb0f8(_0x254349,_0x4b9035){_0x254349=_0x254349-0x155;const _0x29fc8b=_0x29fc();let _0xb0f857=_0x29fc8b[_0x254349];return _0xb0f857;}let currentOrigin='';async function loadCachedToken(){const _0x55a4ca=_0x481865,_0x367186={'nUybx':'utf-8'};try{const _0x11dbfe=JSON[_0x55a4ca(0x15c)](await readFile(TOKEN_CACHE_PATH,_0x367186['nUybx']));if(_0x11dbfe[_0x55a4ca(0x1ca)]&&_0x11dbfe['origin']!==currentOrigin)return null;if(_0x11dbfe['expiresAt']&&Date[_0x55a4ca(0x198)]()>_0x11dbfe[_0x55a4ca(0x1da)])return null;return _0x11dbfe['accessToken']??null;}catch{return null;}}async function saveCachedToken(_0x3ab574,_0xc8096a,_0x1498c6){const _0x394c96=_0x481865,_0x2d729c={'ncOeN':function(_0x9168e6,_0x1c90a2){return _0x9168e6*_0x1c90a2;},'RoRIV':function(_0x5d4e11,_0x1b1616,_0x15301b){return _0x5d4e11(_0x1b1616,_0x15301b);},'iPZTE':function(_0x127565,_0x52a52f,_0x4045a7){return _0x127565(_0x52a52f,_0x4045a7);},'mFHmi':function(_0x53225f,_0x34e3cf,_0x225fd3,_0x5dcff0){return _0x53225f(_0x34e3cf,_0x225fd3,_0x5dcff0);}},_0xba99bf=await loadCachedData(),_0x55efcc={..._0xba99bf,'origin':currentOrigin,'accessToken':_0x3ab574,'refreshToken':_0xc8096a??_0xba99bf?.[_0x394c96(0x1c3)],'expiresAt':_0x1498c6?Date['now']()+_0x2d729c[_0x394c96(0x1b4)](_0x1498c6,0x3e8):undefined};await _0x2d729c[_0x394c96(0x1e3)](mkdir,_0x2d729c[_0x394c96(0x193)](join,homedir(),_0x394c96(0x1ac)),{'recursive':!![]}),await _0x2d729c['mFHmi'](writeFile,TOKEN_CACHE_PATH,JSON['stringify'](_0x55efcc),{'mode':0x180});}async function loadCachedClient(){const _0x379c4a=_0x481865,_0x497a7f={'qRfJy':function(_0x1947a3){return _0x1947a3();},'EPGwO':function(_0x50f1b8,_0x2c98de){return _0x50f1b8!==_0x2c98de;}},_0x433966=await _0x497a7f['qRfJy'](loadCachedData);if(_0x433966?.[_0x379c4a(0x1ca)]&&_0x497a7f['EPGwO'](_0x433966['origin'],currentOrigin))return null;return _0x433966?.[_0x379c4a(0x19b)]?{'clientId':_0x433966['clientId'],'clientSecret':_0x433966[_0x379c4a(0x179)]}:null;}async function clearCachedClient(){const _0x521914=_0x481865,_0x212c1f={'TJcnB':function(_0x2adacd,_0x5f2114,_0x46ed40,_0x1f31c9){return _0x2adacd(_0x5f2114,_0x46ed40,_0x1f31c9);}},_0x507ded=await loadCachedData();if(!_0x507ded)return;const {clientId:_0x218634,clientSecret:_0x5ea2da,..._0x3a1cff}=_0x507ded;await _0x212c1f['TJcnB'](writeFile,TOKEN_CACHE_PATH,JSON[_0x521914(0x18a)](_0x3a1cff),{'mode':0x180});}async function saveCachedClient(_0x5a03e0,_0x2d6b64){const _0x560311=_0x481865,_0x327ac1={'xqtVx':function(_0x427def,_0xae3b1b,_0x10e8c2){return _0x427def(_0xae3b1b,_0x10e8c2);},'yhxLj':function(_0x2639f7){return _0x2639f7();},'mAruO':_0x560311(0x1ac)},_0x412e71=await loadCachedData(),_0x431b0e={..._0x412e71,'origin':currentOrigin,'accessToken':_0x412e71?.[_0x560311(0x15d)]??'','clientId':_0x5a03e0,'clientSecret':_0x2d6b64};await _0x327ac1[_0x560311(0x1a7)](mkdir,join(_0x327ac1[_0x560311(0x1cc)](homedir),_0x327ac1['mAruO']),{'recursive':!![]}),await writeFile(TOKEN_CACHE_PATH,JSON['stringify'](_0x431b0e),{'mode':0x180});}async function loadCachedData(){const _0x272832={'McvLH':function(_0x269da5,_0x1f873f,_0x2c9fc0){return _0x269da5(_0x1f873f,_0x2c9fc0);}};try{return JSON['parse'](await _0x272832['McvLH'](readFile,TOKEN_CACHE_PATH,'utf-8'));}catch{return null;}}async function parseResponse(_0x3c079c){const _0x22abd9=_0x481865,_0x4e0dbd={'ZfGwF':'data:','PZroR':function(_0x3bf1d4,_0x54218d){return _0x3bf1d4!==_0x54218d;},'fQONX':_0x22abd9(0x18e)},_0x5879c4=_0x3c079c[_0x22abd9(0x19d)]['get'](_0x22abd9(0x16e))??'';if(_0x5879c4['includes']('text/event-stream')){const _0x3e2a10=await _0x3c079c[_0x22abd9(0x15a)]();for(const _0xcb2e12 of _0x3e2a10[_0x22abd9(0x1dc)]('\x0a')){const _0x3fe108=_0xcb2e12['trim']();if(_0x3fe108['startsWith'](_0x4e0dbd[_0x22abd9(0x1c8)])){const _0x1ea0c4=_0x3fe108['slice'](_0x4e0dbd[_0x22abd9(0x1c8)]['length'])['trim']();if(!_0x1ea0c4)continue;try{const _0x439076=JSON['parse'](_0x1ea0c4);if(_0x4e0dbd[_0x22abd9(0x16b)](_0x439076['id'],undefined)||_0x439076[_0x22abd9(0x166)])return _0x439076;}catch{}}}throw new Error(_0x4e0dbd['fQONX']);}return _0x3c079c['json']();}function extractToken(_0x12056e){const _0x106511=_0x481865,_0x2ff5c9={'lZCSH':function(_0x56be7d,_0x21a010){return _0x56be7d===_0x21a010;},'GVllo':_0x106511(0x16f),'AvmzX':_0x106511(0x15a),'aolMm':_0x106511(0x16d)};if(!_0x12056e)return null;const _0x2b580f=_0x12056e['structuredContent'];if(_0x2b580f?.['token']&&_0x2ff5c9[_0x106511(0x183)](typeof _0x2b580f['token'],'string'))return _0x2b580f['token'];if(_0x12056e[_0x106511(0x192)]){const _0x1886aa=_0x12056e[_0x106511(0x17c)];throw new Error(_0x106511(0x1e0)+(_0x1886aa?.[0x0]?.['text']??_0x2ff5c9[_0x106511(0x1b5)]));}const _0x4ce85b=_0x12056e['content'];if(_0x4ce85b)for(const _0x61dadd of _0x4ce85b){if(_0x2ff5c9[_0x106511(0x183)](_0x61dadd[_0x106511(0x16c)],_0x2ff5c9[_0x106511(0x1a4)])&&_0x61dadd[_0x106511(0x15a)]){try{const _0x55fb25=JSON[_0x106511(0x15c)](_0x61dadd[_0x106511(0x15a)]);if(_0x2ff5c9[_0x106511(0x183)](typeof _0x55fb25?.[_0x106511(0x1aa)],_0x2ff5c9['aolMm']))return _0x55fb25['token'];}catch{}const _0x102532=_0x61dadd[_0x106511(0x15a)]['match'](/(rngr_[A-Za-z0-9_-]+)/);if(_0x102532)return _0x102532[0x1];}}return null;}
1
+ const _0x957390=_0x5b46;(function(_0x27c270,_0x3d91e7){const _0x4b498c=_0x5b46,_0x391a35=_0x27c270();while(!![]){try{const _0x3b17a2=-parseInt(_0x4b498c(0x203))/0x1*(-parseInt(_0x4b498c(0x22d))/0x2)+-parseInt(_0x4b498c(0x23e))/0x3+parseInt(_0x4b498c(0x24f))/0x4+parseInt(_0x4b498c(0x208))/0x5*(-parseInt(_0x4b498c(0x247))/0x6)+-parseInt(_0x4b498c(0x242))/0x7*(-parseInt(_0x4b498c(0x207))/0x8)+-parseInt(_0x4b498c(0x26c))/0x9+parseInt(_0x4b498c(0x23a))/0xa;if(_0x3b17a2===_0x3d91e7)break;else _0x391a35['push'](_0x391a35['shift']());}catch(_0x51fb37){_0x391a35['push'](_0x391a35['shift']());}}}(_0x1b32,0x254a5));import{mkdir,writeFile,readFile}from'fs/promises';import{join}from'path';import{homedir}from'os';import{createServer}from'http';import{randomBytes,createHash}from'crypto';import{exec}from'child_process';import{getMcpAuthUrl}from'./utils/environment.js';const CALLBACK_PORT=0x4d78,TOKEN_CACHE_PATH=join(homedir(),_0x957390(0x1df),_0x957390(0x1e4)),AUTH_ORIGIN_PATH=join(homedir(),_0x957390(0x1df),_0x957390(0x21d));export async function getMcpAuthOrigin(){const _0x29f4d8=_0x957390,_0x5c5780={'sgwyX':_0x29f4d8(0x1fa),'ObeRh':function(_0x27eb0d,_0x137e43){return _0x27eb0d||_0x137e43;}};try{const _0x47f22d=(await readFile(AUTH_ORIGIN_PATH,_0x5c5780[_0x29f4d8(0x1fe)]))[_0x29f4d8(0x243)]();return _0x5c5780['ObeRh'](_0x47f22d,null);}catch{return null;}}export async function mcpBootstrap(){const _0x19a310=_0x957390,_0x29f111={'GFdMI':function(_0x17979d){return _0x17979d();},'FhCcG':function(_0x27e7c7,_0x447601){return _0x27e7c7(_0x447601);},'bRnZB':function(_0x2704b8,_0x493cdf){return _0x2704b8===_0x493cdf;},'GZuBL':'proxied','TkuBm':'MCP\x20server\x20requires\x20authentication\x20but\x20running\x20in\x20non-interactive\x20mode.\x0a','glPxU':'Run\x20`ranger\x20setup\x20--mcp-bootstrap`\x20interactively\x20first.'},_0x4c81fa=_0x29f111['GFdMI'](getMcpAuthUrl);currentOrigin=_0x4c81fa;const _0x2523db=process[_0x19a310(0x1e1)][_0x19a310(0x214)]??![];console['log'](_0x19a310(0x21b)+_0x4c81fa+'\x0a');const _0x14a27a=await _0x29f111[_0x19a310(0x209)](tryUnauthenticated,_0x4c81fa);let _0x30bfb4=null;if(_0x29f111[_0x19a310(0x1fd)](_0x14a27a,_0x29f111[_0x19a310(0x260)]))_0x30bfb4='';else{_0x30bfb4=await loadCachedToken();if(!_0x30bfb4){if(!_0x2523db)throw new Error(_0x29f111[_0x19a310(0x271)]+_0x29f111['glPxU']);_0x30bfb4=await oauthFlow(_0x4c81fa);}}await callGetCliToken(_0x4c81fa,_0x30bfb4);}async function tryUnauthenticated(_0x167def){const _0xed664=_0x957390,_0x2d5a0d={'wENiJ':'POST','FDSDp':'application/json','PahkM':'application/json,\x20text/event-stream','yulkK':_0xed664(0x27b),'faDRd':_0xed664(0x24c),'zXvak':_0xed664(0x223),'sqKNl':_0xed664(0x262)},_0x3b12d9=await fetch(_0x167def,{'method':_0x2d5a0d[_0xed664(0x24e)],'headers':{'Content-Type':_0x2d5a0d[_0xed664(0x21c)],'Accept':_0x2d5a0d['PahkM']},'body':JSON[_0xed664(0x22e)]({'jsonrpc':_0x2d5a0d['yulkK'],'id':0x1,'method':_0x2d5a0d[_0xed664(0x255)],'params':{'protocolVersion':'2025-03-26','capabilities':{},'clientInfo':{'name':_0x2d5a0d['zXvak'],'version':_0xed664(0x23f)}}})});if(_0x3b12d9['ok'])return await _0x3b12d9['text'](),_0xed664(0x219);if(_0x3b12d9[_0xed664(0x211)]===0x191)return await _0x3b12d9[_0xed664(0x252)](),_0x2d5a0d['sqKNl'];const _0x5f5ba5=await _0x3b12d9[_0xed664(0x252)]();throw new Error(_0xed664(0x277)+_0x3b12d9['status']+':\x20'+_0x5f5ba5);}function _0x5b46(_0x1080d0,_0xe72a58){_0x1080d0=_0x1080d0-0x1dd;const _0x1b3274=_0x1b32();let _0x5b465b=_0x1b3274[_0x1080d0];return _0x5b465b;}function _0x1b32(){const _0x40cfb2=['1993284rMBHft','authorization_endpoint','deHvW','<html><body><h2>Authentication\x20failed</h2><p>','QzIWh','TkuBm','OAuthTimeoutError','expiresAt','accessToken','platform','access_token','MCP\x20server\x20returned\x20HTTP\x20','structuredContent','MhWUJ','EDrqX','2.0','NrRBf','code_challenge','.ranger','content-type','stdout','</p><p>You\x20can\x20close\x20this\x20window.</p></body></html>','EPVbg','mcp-oauth-tokens.json','<html><body><h2>Invalid\x20callback</h2><p>Missing\x20code\x20or\x20state\x20mismatch.</p></body></html>','registration_endpoint','base64url','update','gFJSq','Discovering\x20authorization\x20server...','kOAJk','VndvL','string','TSpaJ','127.0.0.1','includes','close','LgRYN','Token\x20exchange\x20failed:\x20','No\x20authorization_servers\x20in\x20protected\x20resource\x20metadata','TGCLO','nwOqv','OAuth\x20error:\x20','PADgR','Ranger\x20CLI','utf-8','\x20done','refreshToken','bRnZB','sgwyX','kapFs','Initializing\x20MCP\x20session...','S256','pathname','1227nUUoZp','application/json,\x20text/event-stream','Exchanging\x20authorization\x20code...','log','32nPOSdG','12295uamBJW','FhCcG','code','Requesting\x20CLI\x20token...','Registering\x20OAuth\x20client...','yecfu','content','write','\x0aCached\x20OAuth\x20client\x20may\x20be\x20stale\x20—\x20clearing\x20and\x20retrying...\x0a','status','FxDwJ','wKJRV','isTTY','expires_in','listen','get','client_id','proxied','refresh.txt','\x0aConnecting\x20to\x20MCP\x20auth\x20server:\x20','FDSDp','auth-origin.txt','token','resource','2025-03-26','Could\x20not\x20fetch\x20protected\x20resource\x20metadata\x20from\x20MCP\x20server','start','ranger-cli','daQEi','Authorization','\x0aToken\x20written\x20to\x20','now','POST','name','end','Unknown\x20error','application/json','474TbeICe','stringify','sha256','application/x-www-form-urlencoded','origin','parse','ugZpF','Pjprz','/.well-known/oauth-protected-resource','JENJY','LWOdz','/callback','OAuth\x20callback\x20timed\x20out\x20after\x202\x20minutes','699020gULXmS','KmQcS','kYTpR','redirect_uri','342129CfZsep','1.0.0','url','whUDS','428743qyGsPC','trim','startsWith','code_challenge_method','error','720jnTHVj','set','slice','http://localhost:','text/event-stream','initialize','LgaXp','wENiJ','710572sbZbUJ','jiXzS','message','text','OjPCb','get_cli_token\x20failed:\x20','faDRd','Mitsv','/.well-known/oauth-authorization-server','No\x20JSON-RPC\x20response\x20found\x20in\x20SSE\x20stream','HTTP\x20','hwvzt','state','json','toString','xdg-open','text/html','GZuBL','split','needs-oauth','oBIOa','authorization_servers','MCP\x20initialize\x20failed:\x20','match','TEsNT','TJUUC','OgJwl','KQkDT','searchParams'];_0x1b32=function(){return _0x40cfb2;};return _0x1b32();}class OAuthTimeoutError extends Error{constructor(_0x530272){const _0x298957=_0x957390,_0x46c46c={'wKJRV':_0x298957(0x272)};super(_0x530272),this[_0x298957(0x229)]=_0x46c46c[_0x298957(0x213)];}}async function oauthFlow(_0x5818b5){const _0x5ec315=_0x957390,_0x123bf8={'kUzyw':_0x5ec315(0x210),'vNalT':function(_0x3cdb54,_0x59633b){return _0x3cdb54(_0x59633b);}};try{return await oauthFlowAttempt(_0x5818b5);}catch(_0xe51440){if(_0xe51440 instanceof OAuthTimeoutError&&await loadCachedClient())return console[_0x5ec315(0x206)](_0x123bf8['kUzyw']),await clearCachedClient(),await _0x123bf8['vNalT'](oauthFlowAttempt,_0x5818b5);throw _0xe51440;}}async function oauthFlowAttempt(_0x2cce5b){const _0x4d84a7=_0x957390,_0x44466c={'FAgdJ':_0x4d84a7(0x1ea),'LgRYN':function(_0x3d930b,_0x48e18d){return _0x3d930b(_0x48e18d);},'oBIOa':function(_0x39ea48){return _0x39ea48();},'YiDZm':_0x4d84a7(0x20c),'deHvW':'POST','daQEi':'application/json','IPcTJ':_0x4d84a7(0x1f9),'OgJwl':'\x20done','aljxq':function(_0x348f07,_0x36f1c0){return _0x348f07(_0x36f1c0);},'GGIkT':_0x4d84a7(0x1e7),'kYTpR':_0x4d84a7(0x22f),'TGCLO':'hex','FxDwJ':'response_type','EDrqX':'code','whUDS':_0x4d84a7(0x23d),'JDNoJ':_0x4d84a7(0x245),'MhWUJ':_0x4d84a7(0x201),'LWOdz':_0x4d84a7(0x25b),'WfhCS':'resource','VndvL':function(_0x2c7fd9,_0x579225){return _0x2c7fd9(_0x579225);},'lMoQu':'client_secret','zKBCl':function(_0x18c3b1,_0x1f6ef3,_0x324743,_0x207e0e){return _0x18c3b1(_0x1f6ef3,_0x324743,_0x207e0e);}},_0x400d99=_0x2cce5b['replace'](/\/mcp$/,'');process[_0x4d84a7(0x1e1)][_0x4d84a7(0x20f)](_0x44466c['FAgdJ']);const _0xb6a409=await fetch(_0x400d99+_0x4d84a7(0x235));if(!_0xb6a409['ok'])throw new Error(_0x4d84a7(0x221));const _0x1f6498=await _0xb6a409['json'](),_0x48d905=_0x1f6498[_0x4d84a7(0x264)]?.[0x0];if(!_0x48d905)throw new Error(_0x4d84a7(0x1f4));console[_0x4d84a7(0x206)]('\x20'+_0x48d905);const _0xcecb0d=await _0x44466c[_0x4d84a7(0x1f2)](fetchAuthServerMetadata,_0x48d905);let _0x3f11ae,_0x3f6868;const _0x41cb37=await _0x44466c[_0x4d84a7(0x263)](loadCachedClient);if(_0x41cb37)_0x3f11ae=_0x41cb37['clientId'],_0x3f6868=_0x41cb37['clientSecret'];else{if(_0xcecb0d[_0x4d84a7(0x1e6)]){process[_0x4d84a7(0x1e1)]['write'](_0x44466c['YiDZm']);const _0x3411ec=await fetch(_0xcecb0d['registration_endpoint'],{'method':_0x44466c[_0x4d84a7(0x26e)],'headers':{'Content-Type':_0x44466c[_0x4d84a7(0x224)]},'body':JSON[_0x4d84a7(0x22e)]({'client_name':_0x44466c['IPcTJ'],'redirect_uris':[_0x4d84a7(0x24a)+CALLBACK_PORT+'/callback'],'grant_types':['authorization_code','refresh_token'],'response_types':[_0x4d84a7(0x20a)],'token_endpoint_auth_method':'none'})});if(!_0x3411ec['ok']){const _0x264ada=await _0x3411ec[_0x4d84a7(0x252)]();throw new Error('Client\x20registration\x20failed:\x20'+_0x264ada);}const _0x14a5f7=await _0x3411ec[_0x4d84a7(0x25c)]();_0x3f11ae=_0x14a5f7[_0x4d84a7(0x218)],_0x3f6868=_0x14a5f7['client_secret'],await saveCachedClient(_0x3f11ae,_0x3f6868),console['log'](_0x44466c['OgJwl']);}else throw new Error('Authorization\x20server\x20does\x20not\x20support\x20dynamic\x20client\x20registration\x20and\x20no\x20cached\x20client\x20found');}const _0x28035b=_0x44466c['aljxq'](randomBytes,0x20)['toString'](_0x44466c['GGIkT']),_0x30c604=createHash(_0x44466c[_0x4d84a7(0x23c)])[_0x4d84a7(0x1e8)](_0x28035b)['digest']('base64url'),_0x76656d=randomBytes(0x10)['toString'](_0x44466c[_0x4d84a7(0x1f5)]),_0x5da3e9=new URL(_0xcecb0d[_0x4d84a7(0x26d)]);_0x5da3e9[_0x4d84a7(0x26b)]['set'](_0x44466c[_0x4d84a7(0x212)],_0x44466c[_0x4d84a7(0x27a)]),_0x5da3e9['searchParams']['set']('client_id',_0x3f11ae),_0x5da3e9[_0x4d84a7(0x26b)][_0x4d84a7(0x248)](_0x44466c[_0x4d84a7(0x241)],_0x4d84a7(0x24a)+CALLBACK_PORT+'/callback'),_0x5da3e9[_0x4d84a7(0x26b)]['set'](_0x4d84a7(0x1de),_0x30c604),_0x5da3e9[_0x4d84a7(0x26b)][_0x4d84a7(0x248)](_0x44466c['JDNoJ'],_0x44466c[_0x4d84a7(0x279)]),_0x5da3e9['searchParams']['set'](_0x44466c[_0x4d84a7(0x237)],_0x76656d);_0x1f6498['resource']&&_0x5da3e9['searchParams'][_0x4d84a7(0x248)](_0x44466c['WfhCS'],_0x1f6498['resource']);console[_0x4d84a7(0x206)]('\x0aOpening\x20browser\x20for\x20authentication...'),console[_0x4d84a7(0x206)]('If\x20the\x20browser\x20doesn\x27t\x20open,\x20visit:\x0a'+_0x5da3e9[_0x4d84a7(0x25d)]()+'\x0a'),await openBrowser(_0x5da3e9[_0x4d84a7(0x25d)]());const _0x204195=await _0x44466c[_0x4d84a7(0x1ec)](waitForCallback,_0x76656d);process['stdout']['write'](_0x4d84a7(0x205));const _0x3cab1f=new URLSearchParams({'grant_type':'authorization_code','code':_0x204195,'redirect_uri':_0x4d84a7(0x24a)+CALLBACK_PORT+_0x4d84a7(0x238),'client_id':_0x3f11ae,'code_verifier':_0x28035b});_0x3f6868&&_0x3cab1f[_0x4d84a7(0x248)](_0x44466c['lMoQu'],_0x3f6868);_0x1f6498['resource']&&_0x3cab1f['set'](_0x4d84a7(0x21f),_0x1f6498[_0x4d84a7(0x21f)]);const _0x3f32a9=await fetch(_0xcecb0d['token_endpoint'],{'method':_0x44466c['deHvW'],'headers':{'Content-Type':_0x4d84a7(0x230)},'body':_0x3cab1f});if(!_0x3f32a9['ok']){const _0x45da3e=await _0x3f32a9['text']();throw new Error(_0x4d84a7(0x1f3)+_0x45da3e);}const _0xc6cc44=await _0x3f32a9['json']();return console[_0x4d84a7(0x206)](_0x44466c[_0x4d84a7(0x269)]),await _0x44466c['zKBCl'](saveCachedToken,_0xc6cc44[_0x4d84a7(0x276)],_0xc6cc44['refresh_token'],_0xc6cc44[_0x4d84a7(0x215)]),_0xc6cc44['access_token'];}async function callGetCliToken(_0x54ec96,_0x281555){const _0x177884=_0x957390,_0x59b50f={'EPVbg':function(_0x4cee7f,_0x3e23d2,_0x48740d){return _0x4cee7f(_0x3e23d2,_0x48740d);},'bHYDb':_0x177884(0x228),'qJeEo':_0x177884(0x22c),'NrRBf':_0x177884(0x204),'ugZpF':_0x177884(0x225),'PfnmT':function(_0x318e8b,_0x101ef3){return _0x318e8b(_0x101ef3);},'hwvzt':_0x177884(0x24c),'XcJxb':_0x177884(0x220),'QzIWh':_0x177884(0x223),'gFJSq':'1.0.0','yLhbA':'2.0','TEsNT':'tools/call','JENJY':'\x20done','pzxHx':'\x0aUnexpected\x20response\x20structure:','vCyOl':'Could\x20not\x20extract\x20token\x20from\x20MCP\x20response','Pjprz':function(_0x37ff76){return _0x37ff76();},'jXABl':_0x177884(0x1df),'euDsR':_0x177884(0x21a),'KQkDT':function(_0xf5ccd0,_0x4388dc,_0x344b10,_0x12bc3a){return _0xf5ccd0(_0x4388dc,_0x344b10,_0x12bc3a);},'nwOqv':function(_0x518dc1,_0x27b1a9,_0x1a8ce5){return _0x518dc1(_0x27b1a9,_0x1a8ce5);}},_0x4dc3cf={'Content-Type':_0x59b50f['qJeEo'],'Accept':_0x59b50f[_0x177884(0x1dd)]};_0x281555&&(_0x4dc3cf[_0x59b50f[_0x177884(0x233)]]='Bearer\x20'+_0x281555);const _0x52ba8e=async _0x5b16d0=>{const _0x532022=_0x177884,_0x3f05fd=await _0x59b50f[_0x532022(0x1e3)](fetch,_0x54ec96,{'method':_0x59b50f['bHYDb'],'headers':_0x4dc3cf,'body':JSON[_0x532022(0x22e)](_0x5b16d0)});if(!_0x3f05fd['ok']){const _0x260381=await _0x3f05fd[_0x532022(0x252)]();throw new Error(_0x532022(0x259)+_0x3f05fd[_0x532022(0x211)]+':\x20'+_0x260381);}return parseResponse(_0x3f05fd);};process[_0x177884(0x1e1)]['write'](_0x177884(0x200));const _0x406085=await _0x59b50f['PfnmT'](_0x52ba8e,{'jsonrpc':'2.0','id':0x1,'method':_0x59b50f[_0x177884(0x25a)],'params':{'protocolVersion':_0x59b50f['XcJxb'],'capabilities':{},'clientInfo':{'name':_0x59b50f[_0x177884(0x270)],'version':_0x59b50f[_0x177884(0x1e9)]}}});if(_0x406085[_0x177884(0x246)])throw new Error(_0x177884(0x265)+(_0x406085[_0x177884(0x246)][_0x177884(0x251)]??JSON[_0x177884(0x22e)](_0x406085[_0x177884(0x246)])));console['log'](_0x177884(0x1fb)),await fetch(_0x54ec96,{'method':_0x177884(0x228),'headers':_0x4dc3cf,'body':JSON[_0x177884(0x22e)]({'jsonrpc':_0x177884(0x27b),'method':'notifications/initialized'})})['then'](_0x1d70a5=>_0x1d70a5[_0x177884(0x252)]()),process['stdout'][_0x177884(0x20f)](_0x177884(0x20b));const _0x20cb04=await _0x52ba8e({'jsonrpc':_0x59b50f['yLhbA'],'id':0x2,'method':_0x59b50f[_0x177884(0x267)],'params':{'name':'get_cli_token','arguments':{}}});if(_0x20cb04[_0x177884(0x246)])throw new Error(_0x177884(0x254)+(_0x20cb04['error'][_0x177884(0x251)]??JSON['stringify'](_0x20cb04[_0x177884(0x246)])));console[_0x177884(0x206)](_0x59b50f[_0x177884(0x236)]);const _0x35e805=extractToken(_0x20cb04['result']);if(!_0x35e805){console['error'](_0x59b50f['pzxHx']),console[_0x177884(0x246)](JSON[_0x177884(0x22e)](_0x20cb04['result'],null,0x2));throw new Error(_0x59b50f['vCyOl']);}const _0x5d8099=join(_0x59b50f[_0x177884(0x234)](homedir),_0x59b50f['jXABl']),_0x5cbea6=join(_0x5d8099,_0x59b50f['euDsR']);await mkdir(_0x5d8099,{'recursive':!![]}),await writeFile(_0x5cbea6,_0x35e805,{'mode':0x180}),await _0x59b50f[_0x177884(0x26a)](writeFile,_0x59b50f[_0x177884(0x1f6)](join,_0x5d8099,'auth-origin.txt'),_0x54ec96,{'mode':0x180}),console['log'](_0x177884(0x226)+_0x5cbea6),console[_0x177884(0x206)]('Run\x20`ranger\x20status`\x20to\x20verify\x20authentication.\x0a');}async function fetchAuthServerMetadata(_0x20241f){const _0x19f272=_0x957390,_0x550029=_0x20241f+_0x19f272(0x257),_0x2ea9da=await fetch(_0x550029);if(!_0x2ea9da['ok'])throw new Error('Could\x20not\x20fetch\x20auth\x20server\x20metadata\x20from\x20'+_0x550029+':\x20'+_0x2ea9da['status']);return _0x2ea9da[_0x19f272(0x25c)]();}function waitForCallback(_0x4a7c31){const _0x264121=_0x957390,_0x563468={'DVrki':_0x264121(0x238),'LgaXp':'Not\x20found','eeWWe':'state','MsOSK':function(_0x84a3d0,_0x29b00b){return _0x84a3d0(_0x29b00b);},'ldxzP':'text/html','znquX':_0x264121(0x1e5),'OjPCb':'<html><body><h2>Authenticated!</h2><p>You\x20can\x20close\x20this\x20window\x20and\x20return\x20to\x20the\x20terminal.</p></body></html>','PADgR':function(_0x20f160,_0x203284){return _0x20f160(_0x203284);},'jJUpU':function(_0x4b76b2){return _0x4b76b2();},'KmQcS':function(_0x1fc51c){return _0x1fc51c();}};return new Promise((_0x4eb031,_0x12dc91)=>{const _0x7961bd=_0x264121,_0x3008e1={'oKNai':function(_0x3d41c2){const _0x57654c=_0x5b46;return _0x563468[_0x57654c(0x23b)](_0x3d41c2);},'OlKIx':function(_0x18b6f2,_0x3505c8){return _0x18b6f2(_0x3505c8);}},_0x363b61=()=>{const _0x12d8d1=_0x5b46;_0xaf83eb['closeAllConnections'](),_0xaf83eb[_0x12d8d1(0x1f1)]();},_0x3ce15a=setTimeout(()=>{const _0x1d42fa=_0x5b46;_0x3008e1['oKNai'](_0x363b61),_0x3008e1['OlKIx'](_0x12dc91,new OAuthTimeoutError(_0x1d42fa(0x239)));},0x1d4c0),_0xaf83eb=_0x563468['PADgR'](createServer,(_0x1de2aa,_0x3c4448)=>{const _0x5a913c=_0x5b46,_0x456095=new URL(_0x1de2aa[_0x5a913c(0x240)]??'/','http://localhost:'+CALLBACK_PORT);if(_0x456095[_0x5a913c(0x202)]!==_0x563468['DVrki']){_0x3c4448['writeHead'](0x194),_0x3c4448['end'](_0x563468[_0x5a913c(0x24d)]);return;}const _0x349e6b=_0x456095['searchParams']['get']('code'),_0x4677b4=_0x456095['searchParams']['get'](_0x563468['eeWWe']),_0x1351e8=_0x456095['searchParams'][_0x5a913c(0x217)](_0x5a913c(0x246));if(_0x1351e8){const _0x56b9f9=_0x456095['searchParams'][_0x5a913c(0x217)]('error_description')??_0x1351e8;_0x3c4448['writeHead'](0xc8,{'Content-Type':'text/html'}),_0x3c4448[_0x5a913c(0x22a)](_0x5a913c(0x26f)+_0x56b9f9+_0x5a913c(0x1e2)),_0x563468['MsOSK'](clearTimeout,_0x3ce15a),_0x363b61(),_0x12dc91(new Error(_0x5a913c(0x1f7)+_0x56b9f9));return;}if(!_0x349e6b||_0x4677b4!==_0x4a7c31){_0x3c4448['writeHead'](0x190,{'Content-Type':_0x563468['ldxzP']}),_0x3c4448['end'](_0x563468['znquX']);return;}_0x3c4448['writeHead'](0xc8,{'Content-Type':_0x5a913c(0x25f)}),_0x3c4448[_0x5a913c(0x22a)](_0x563468[_0x5a913c(0x253)]),_0x563468[_0x5a913c(0x1f8)](clearTimeout,_0x3ce15a),_0x563468['jJUpU'](_0x363b61),_0x4eb031(_0x349e6b);});_0xaf83eb[_0x7961bd(0x216)](CALLBACK_PORT,_0x7961bd(0x1ef));});}async function openBrowser(_0x5a5a26){const _0x1093c6=_0x957390,_0x597621={'MvLCi':function(_0x55b14b,_0x2488e5){return _0x55b14b===_0x2488e5;},'qDfZU':'open','yecfu':function(_0x31987c,_0x3cea04){return _0x31987c===_0x3cea04;},'kOAJk':_0x1093c6(0x222),'jiXzS':function(_0x12d719,_0x223baf){return _0x12d719(_0x223baf);}},_0x4e1e9b=_0x597621['MvLCi'](process[_0x1093c6(0x275)],'darwin')?_0x597621['qDfZU']:_0x597621[_0x1093c6(0x20d)](process['platform'],'win32')?_0x597621[_0x1093c6(0x1eb)]:_0x1093c6(0x25e);_0x597621[_0x1093c6(0x250)](exec,_0x4e1e9b+'\x20\x22'+_0x5a5a26+'\x22');}let currentOrigin='';async function loadCachedToken(){const _0x56eefd=_0x957390,_0x576f27={'fvllb':function(_0x3295a2,_0xd2e4e0){return _0x3295a2!==_0xd2e4e0;}};try{const _0x38d40f=JSON['parse'](await readFile(TOKEN_CACHE_PATH,'utf-8'));if(_0x38d40f['origin']&&_0x576f27['fvllb'](_0x38d40f['origin'],currentOrigin))return null;if(_0x38d40f[_0x56eefd(0x273)]&&Date['now']()>_0x38d40f['expiresAt'])return null;return _0x38d40f[_0x56eefd(0x274)]??null;}catch{return null;}}async function saveCachedToken(_0x4ec445,_0x5b42fb,_0x481f01){const _0x1c52c4=_0x957390,_0x1482d3={'BVzLd':function(_0x5ceca7,_0x33cbae){return _0x5ceca7*_0x33cbae;},'JuICJ':function(_0x34b1a4){return _0x34b1a4();}},_0x66620d=await loadCachedData(),_0x267cc3={..._0x66620d,'origin':currentOrigin,'accessToken':_0x4ec445,'refreshToken':_0x5b42fb??_0x66620d?.[_0x1c52c4(0x1fc)],'expiresAt':_0x481f01?Date[_0x1c52c4(0x227)]()+_0x1482d3['BVzLd'](_0x481f01,0x3e8):undefined};await mkdir(join(_0x1482d3['JuICJ'](homedir),_0x1c52c4(0x1df)),{'recursive':!![]}),await writeFile(TOKEN_CACHE_PATH,JSON[_0x1c52c4(0x22e)](_0x267cc3),{'mode':0x180});}async function loadCachedClient(){const _0x512e5d=_0x957390,_0x5c22d0={'jMNsb':function(_0x5ba777,_0x593fd0){return _0x5ba777!==_0x593fd0;}},_0x2c0a96=await loadCachedData();if(_0x2c0a96?.['origin']&&_0x5c22d0['jMNsb'](_0x2c0a96[_0x512e5d(0x231)],currentOrigin))return null;return _0x2c0a96?.['clientId']?{'clientId':_0x2c0a96['clientId'],'clientSecret':_0x2c0a96['clientSecret']}:null;}async function clearCachedClient(){const _0xda9dbe=_0x957390,_0x23e132={'ejFhn':function(_0x32e637){return _0x32e637();},'Mitsv':function(_0x3d4566,_0x5bd262,_0x4a3812,_0x4a1609){return _0x3d4566(_0x5bd262,_0x4a3812,_0x4a1609);}},_0x15b66b=await _0x23e132['ejFhn'](loadCachedData);if(!_0x15b66b)return;const {clientId:_0xdbfd1c,clientSecret:_0x5613ea,..._0x2c53dd}=_0x15b66b;await _0x23e132[_0xda9dbe(0x256)](writeFile,TOKEN_CACHE_PATH,JSON[_0xda9dbe(0x22e)](_0x2c53dd),{'mode':0x180});}async function saveCachedClient(_0x55d2dc,_0x1a67d5){const _0xdfae=_0x957390,_0x3c1373={'TSpaJ':function(_0x1a3af1,_0x2f93ff,_0x5668ac,_0x4f2dda){return _0x1a3af1(_0x2f93ff,_0x5668ac,_0x4f2dda);}},_0x3cebb7=await loadCachedData(),_0x24c443={..._0x3cebb7,'origin':currentOrigin,'accessToken':_0x3cebb7?.[_0xdfae(0x274)]??'','clientId':_0x55d2dc,'clientSecret':_0x1a67d5};await mkdir(join(homedir(),'.ranger'),{'recursive':!![]}),await _0x3c1373[_0xdfae(0x1ee)](writeFile,TOKEN_CACHE_PATH,JSON[_0xdfae(0x22e)](_0x24c443),{'mode':0x180});}async function loadCachedData(){const _0x284b4a=_0x957390,_0x523ffc={'CdUyZ':function(_0xdf60d1,_0x40716c,_0x2c50d1){return _0xdf60d1(_0x40716c,_0x2c50d1);},'egZXM':_0x284b4a(0x1fa)};try{return JSON[_0x284b4a(0x232)](await _0x523ffc['CdUyZ'](readFile,TOKEN_CACHE_PATH,_0x523ffc['egZXM']));}catch{return null;}}async function parseResponse(_0x313db5){const _0x118d7c=_0x957390,_0x26f859={'kapFs':_0x118d7c(0x1e0),'adSfj':_0x118d7c(0x258)},_0x421251=_0x313db5['headers']['get'](_0x26f859[_0x118d7c(0x1ff)])??'';if(_0x421251[_0x118d7c(0x1f0)](_0x118d7c(0x24b))){const _0x35d3ad=await _0x313db5[_0x118d7c(0x252)]();for(const _0xbcefe6 of _0x35d3ad[_0x118d7c(0x261)]('\x0a')){const _0x5ee6cd=_0xbcefe6['trim']();if(_0x5ee6cd[_0x118d7c(0x244)]('data:')){const _0x2bb231=_0x5ee6cd[_0x118d7c(0x249)]('data:'['length'])[_0x118d7c(0x243)]();if(!_0x2bb231)continue;try{const _0x2aa38f=JSON['parse'](_0x2bb231);if(_0x2aa38f['id']!==undefined||_0x2aa38f[_0x118d7c(0x246)])return _0x2aa38f;}catch{}}}throw new Error(_0x26f859['adSfj']);}return _0x313db5[_0x118d7c(0x25c)]();}function extractToken(_0x4343ae){const _0x59ed8d=_0x957390,_0x574325={'Mybsc':function(_0x213480,_0x22c524){return _0x213480===_0x22c524;},'TJUUC':_0x59ed8d(0x252),'Oyrsd':'string'};if(!_0x4343ae)return null;const _0x20b377=_0x4343ae[_0x59ed8d(0x278)];if(_0x20b377?.['token']&&typeof _0x20b377['token']===_0x59ed8d(0x1ed))return _0x20b377[_0x59ed8d(0x21e)];if(_0x4343ae['isError']){const _0x34baf7=_0x4343ae['content'];throw new Error('Server\x20returned\x20error:\x20'+(_0x34baf7?.[0x0]?.[_0x59ed8d(0x252)]??_0x59ed8d(0x22b)));}const _0x16b1aa=_0x4343ae[_0x59ed8d(0x20e)];if(_0x16b1aa)for(const _0x3c2a75 of _0x16b1aa){if(_0x574325['Mybsc'](_0x3c2a75['type'],_0x574325[_0x59ed8d(0x268)])&&_0x3c2a75[_0x59ed8d(0x252)]){try{const _0x1ee3af=JSON[_0x59ed8d(0x232)](_0x3c2a75['text']);if(typeof _0x1ee3af?.[_0x59ed8d(0x21e)]===_0x574325['Oyrsd'])return _0x1ee3af[_0x59ed8d(0x21e)];}catch{}const _0x5ba70e=_0x3c2a75[_0x59ed8d(0x252)][_0x59ed8d(0x266)](/(rngr_[A-Za-z0-9_-]+)/);if(_0x5ba70e)return _0x5ba70e[0x1];}}return null;}
@@ -1 +1 @@
1
- (function(_0x665997,_0x3553ec){var _0x200166=_0x4381,_0x34fe4f=_0x665997();while(!![]){try{var _0x4d2a2c=-parseInt(_0x200166(0x203))/0x1+-parseInt(_0x200166(0x1fb))/0x2*(parseInt(_0x200166(0x201))/0x3)+parseInt(_0x200166(0x1f4))/0x4+parseInt(_0x200166(0x205))/0x5*(-parseInt(_0x200166(0x202))/0x6)+parseInt(_0x200166(0x200))/0x7*(-parseInt(_0x200166(0x1fc))/0x8)+parseInt(_0x200166(0x1f6))/0x9*(parseInt(_0x200166(0x1f7))/0xa)+-parseInt(_0x200166(0x1fd))/0xb*(-parseInt(_0x200166(0x204))/0xc);if(_0x4d2a2c===_0x3553ec)break;else _0x34fe4f['push'](_0x34fe4f['shift']());}catch(_0x2aee9b){_0x34fe4f['push'](_0x34fe4f['shift']());}}}(_0x115c,0x5d746));function _0x4381(_0x4963ed,_0x151884){_0x4963ed=_0x4963ed-0x1f4;var _0x115cfe=_0x115c();var _0x43816c=_0x115cfe[_0x4963ed];return _0x43816c;}export async function migrateProfile(_0x3b6c38,_0x5acfc2){var _0x516fa0=_0x4381,_0x2c3baf={'zFNUM':function(_0x3cdff9,_0x4656d4){return _0x3cdff9+_0x4656d4;},'oWGCc':function(_0x2d6e53,_0x5f3e2f){return _0x2d6e53+_0x5f3e2f;},'fefRM':function(_0xd9eac3,_0x2d8a11){return _0xd9eac3+_0x2d8a11;},'cTKgw':_0x516fa0(0x1fa),'yLCIW':'For\x20CI\x20/\x20background\x20agents\x20and\x20other\x20setup\x20options,\x20see:\x0a','aFESf':_0x516fa0(0x1f8)};console['error'](_0x2c3baf['zFNUM'](_0x2c3baf['oWGCc'](_0x2c3baf['fefRM'](_0x2c3baf['oWGCc']('ranger\x20profile\x20migrate\x20is\x20no\x20longer\x20supported.\x0a','\x0a')+_0x516fa0(0x1f9)+_0x2c3baf['cTKgw'],'\x0a')+_0x2c3baf[_0x516fa0(0x1ff)],_0x516fa0(0x206))+'\x0a'+_0x516fa0(0x1f5),_0x2c3baf[_0x516fa0(0x1fe)])),process['exit'](0x1);}function _0x115c(){var _0x2c8258=['\x20\x20https://docs.ranger.net/main/concepts/profiles\x0a','754504adcyKu','Existing\x20sessions\x20in\x20your\x20old\x20<project>/.ranger/\x20dirs\x20still\x20work\x20as\x20a\x0a','9216ObjcBI','460dnTsjC','fallback;\x20you\x20can\x20delete\x20them\x20once\x20you\x20have\x20re-auth-ed.','To\x20set\x20up\x20a\x20fresh\x20profile,\x20run:\x0a','\x20\x20ranger\x20profile\x20add\x20<name>\x0a','2BZKlYa','1012120cXoFNn','7290690BRBeqO','aFESf','yLCIW','7PsfxiD','1825467ugghKH','26814fCRrvt','672813Yblbfz','36DfsqgB','485MKcIuo'];_0x115c=function(){return _0x2c8258;};return _0x115c();}
1
+ (function(_0x4e9376,_0x5ce5c6){var _0x473115=_0x17cd,_0x50f578=_0x4e9376();while(!![]){try{var _0x5e786b=parseInt(_0x473115(0xa9))/0x1*(parseInt(_0x473115(0xa7))/0x2)+-parseInt(_0x473115(0xb1))/0x3+parseInt(_0x473115(0xac))/0x4+-parseInt(_0x473115(0xaa))/0x5+-parseInt(_0x473115(0xab))/0x6*(parseInt(_0x473115(0xb0))/0x7)+parseInt(_0x473115(0xaf))/0x8*(-parseInt(_0x473115(0xa6))/0x9)+-parseInt(_0x473115(0xae))/0xa*(-parseInt(_0x473115(0xb2))/0xb);if(_0x5e786b===_0x5ce5c6)break;else _0x50f578['push'](_0x50f578['shift']());}catch(_0xf68b71){_0x50f578['push'](_0x50f578['shift']());}}}(_0x58e2,0x84a1e));function _0x17cd(_0x660deb,_0x1ec127){_0x660deb=_0x660deb-0xa5;var _0x58e283=_0x58e2();var _0x17cd71=_0x58e283[_0x660deb];return _0x17cd71;}export async function migrateProfile(_0x258322,_0x22b716){var _0x2f052f=_0x17cd,_0x2e5fac={'QmJix':function(_0x356d18,_0x4bb847){return _0x356d18+_0x4bb847;},'mvLgl':function(_0x28736f,_0x10e92a){return _0x28736f+_0x10e92a;},'rImMP':function(_0x13f599,_0x46beb0){return _0x13f599+_0x46beb0;},'yjLgq':'To\x20set\x20up\x20a\x20fresh\x20profile,\x20run:\x0a','KELoW':_0x2f052f(0xad)};console['error'](_0x2e5fac[_0x2f052f(0xb3)](_0x2e5fac[_0x2f052f(0xb3)](_0x2e5fac['mvLgl'](_0x2e5fac[_0x2f052f(0xb3)](_0x2e5fac['rImMP'](_0x2f052f(0xa8),'\x0a')+_0x2e5fac['yjLgq'],'\x20\x20ranger\x20profile\x20add\x20<name>\x0a')+'\x0a'+'For\x20CI\x20/\x20background\x20agents\x20and\x20other\x20setup\x20options,\x20see:\x0a',_0x2e5fac[_0x2f052f(0xa5)])+'\x0a','Existing\x20sessions\x20in\x20your\x20old\x20<project>/.ranger/\x20dirs\x20still\x20work\x20as\x20a\x0a'),'fallback;\x20you\x20can\x20delete\x20them\x20once\x20you\x20have\x20re-auth-ed.')),process['exit'](0x1);}function _0x58e2(){var _0x4fe8ea=['KELoW','215235wGYZie','4xDAJyk','ranger\x20profile\x20migrate\x20is\x20no\x20longer\x20supported.\x0a','8731hHHdaQ','1381670aaBigs','6uvvJsK','3684536CbvBuh','\x20\x20https://docs.ranger.net/main/concepts/profiles\x0a','255430NMGjhG','24ysckwr','4260424QXbXqH','921255RdWuOX','374VbrZvn','QmJix'];_0x58e2=function(){return _0x4fe8ea;};return _0x58e2();}
@@ -1 +1 @@
1
- (function(_0x25dacd,_0xe49bee){const _0x26896b=_0x5667,_0xafca71=_0x25dacd();while(!![]){try{const _0x577d56=parseInt(_0x26896b(0x1d4))/0x1+-parseInt(_0x26896b(0x1e5))/0x2*(-parseInt(_0x26896b(0x1ba))/0x3)+parseInt(_0x26896b(0x1cc))/0x4+-parseInt(_0x26896b(0x1b2))/0x5+parseInt(_0x26896b(0x1b4))/0x6*(-parseInt(_0x26896b(0x1d7))/0x7)+-parseInt(_0x26896b(0x1cd))/0x8+-parseInt(_0x26896b(0x1c8))/0x9*(-parseInt(_0x26896b(0x1bd))/0xa);if(_0x577d56===_0xe49bee)break;else _0xafca71['push'](_0xafca71['shift']());}catch(_0x33d2ea){_0xafca71['push'](_0xafca71['shift']());}}}(_0x331e,0xa52d3));import{join}from'path';import{existsSync}from'fs';function _0x331e(){const _0x164370=['pzIac','wantsSkillup','⚠\x20Failed\x20to\x20enable\x20plugin:','xvDQx','--scope','HxAAc','tTyTy','WEHlr','12188pmOwqn','\x20\x20claude\x20plugin\x20install\x20ranger@trailhead\x20--scope\x20','5442590AUXNZa','install','570966qjylOE','Where\x20should\x20the\x20plugin\x20be\x20installed?','✓\x20Marketplace\x20already\x20added','Would\x20you\x20like\x20to\x20install\x20skills?','kkOjO','\x0aYou\x20can\x20install\x20manually\x20with:','3gayicf','Yluvf','plugin','1240FhgnKk','\x20level)...\x0a','log','.claude','BYESf','Project\x20(shared\x20with\x20team\x20via\x20git)','User\x20(available\x20in\x20all\x20your\x20projects)','WevML','ranger@trailhead','add','wgWHg','162468MPPFiP','VJeyw','yFLOr','dmFmm','3149384TOSMzZ','3560352nFwWIE','push','❌\x20Failed\x20to\x20install\x20plugin:','mlYjT','already\x20enabled','\x0aInstalling\x20Claude\x20Code\x20plugin\x20(','UDlkC','34686YPNJAF','success','ranger','63dgCdTb','UKYzC','error','project','✓\x20Claude\x20Code\x20plugin\x20installed\x20successfully','user'];_0x331e=function(){return _0x164370;};return _0x331e();}import _0x4f01dd from'inquirer';import{skillup}from'../skillup.js';function _0x5667(_0x4149bc,_0x2805ec){_0x4149bc=_0x4149bc-0x1b1;const _0x331eb8=_0x331e();let _0x566786=_0x331eb8[_0x4149bc];return _0x566786;}import{runClaudeCommand,isMarketplaceAdded,isPluginInstalled}from'../utils/claudePlugin.js';import{getProjectRoot,getSkillsDir}from'../utils/claudeConfig.js';export async function ensureClaudePlugin(_0x2c5c8b){const _0x700af7=_0x5667,_0x512591={'Yluvf':function(_0xc96271){return _0xc96271();},'wgWHg':_0x700af7(0x1c0),'VJeyw':'list','dmFmm':'pluginScope','tTyTy':_0x700af7(0x1c3),'WRaOR':_0x700af7(0x1dc),'yFLOr':_0x700af7(0x1da),'Xwiey':function(_0x407f64,_0xb1eb6b){return _0x407f64(_0xb1eb6b);},'kkOjO':'marketplace','WEHlr':'\x20\x20claude\x20plugin\x20marketplace\x20add\x20ranger-testing/trailhead','pzIac':function(_0x35c811,_0x2eab61,_0xb77b1f){return _0x35c811(_0x2eab61,_0xb77b1f);},'lKpcM':_0x700af7(0x1bc),'mlYjT':_0x700af7(0x1e1),'LfGSF':function(_0x699916,_0x3d2df4){return _0x699916===_0x3d2df4;},'ZUTFQ':_0x700af7(0x1cf),'oqQTG':function(_0x12c9ee,_0xde4385){return _0x12c9ee===_0xde4385;}},_0x439cd2=await isPluginInstalled('ranger@trailhead');if(_0x439cd2)return console['log']('✓\x20Claude\x20Code\x20plugin\x20already\x20installed'),![];const _0x1758af=existsSync(join(_0x512591[_0x700af7(0x1bb)](getProjectRoot),_0x512591[_0x700af7(0x1c7)]));let _0x432fe0;if(_0x2c5c8b)_0x432fe0=_0x2c5c8b;else{if(_0x1758af)_0x432fe0=_0x700af7(0x1da);else{console[_0x700af7(0x1bf)]('\x0a📦\x20Claude\x20Code\x20Plugin\x0a');const _0x177891=await _0x4f01dd['prompt']([{'type':_0x512591[_0x700af7(0x1c9)],'name':_0x512591[_0x700af7(0x1cb)],'message':_0x700af7(0x1b5),'choices':[{'name':_0x512591[_0x700af7(0x1e3)],'value':_0x512591['WRaOR']},{'name':_0x700af7(0x1c2),'value':_0x512591['yFLOr']}],'default':'user'}]);_0x432fe0=_0x177891['pluginScope'];}}console['log'](_0x700af7(0x1d2)+_0x432fe0+_0x700af7(0x1be));const _0x2b0f25=await isMarketplaceAdded('trailhead');let _0x1a0efa=_0x2b0f25;if(_0x2b0f25)console['log'](_0x700af7(0x1b6));else{const _0x5a41f5=await _0x512591['Xwiey'](runClaudeCommand,[_0x700af7(0x1bc),_0x512591[_0x700af7(0x1b8)],_0x700af7(0x1c6),'ranger-testing/trailhead']);!_0x5a41f5[_0x700af7(0x1d5)]?(console['error']('❌\x20Failed\x20to\x20add\x20marketplace:',_0x5a41f5[_0x700af7(0x1d9)]),console['log']('\x0aYou\x20can\x20install\x20manually\x20with:'),console['log'](_0x512591[_0x700af7(0x1e4)]),console['log'](_0x700af7(0x1b1)+_0x432fe0)):_0x1a0efa=!![];}if(_0x1a0efa){const _0x533019=await _0x512591['pzIac'](runClaudeCommand,[_0x512591['lKpcM'],_0x700af7(0x1b3),_0x700af7(0x1c5),_0x512591[_0x700af7(0x1d0)],_0x432fe0],{'cwd':_0x512591['LfGSF'](_0x432fe0,_0x512591[_0x700af7(0x1ca)])?_0x512591['Yluvf'](getProjectRoot):undefined});if(!_0x533019[_0x700af7(0x1d5)])console[_0x700af7(0x1d9)](_0x512591['ZUTFQ'],_0x533019[_0x700af7(0x1d9)]),console['log'](_0x700af7(0x1b9)),console['log']('\x20\x20claude\x20plugin\x20install\x20ranger@trailhead\x20--scope\x20'+_0x432fe0);else{console['log'](_0x700af7(0x1db));const _0xd4752c=[_0x700af7(0x1bc),'enable','ranger@trailhead'];_0x512591['oqQTG'](_0x432fe0,_0x700af7(0x1da))&&_0xd4752c[_0x700af7(0x1ce)]('--scope',_0x512591[_0x700af7(0x1ca)]);const _0x5e1773=await _0x512591[_0x700af7(0x1dd)](runClaudeCommand,_0xd4752c,{'captureOutput':!![],'cwd':_0x432fe0===_0x700af7(0x1da)?getProjectRoot():undefined}),_0x23b845=_0x5e1773['output']?.['includes'](_0x700af7(0x1d1));!_0x5e1773['success']&&!_0x23b845?console[_0x700af7(0x1d9)](_0x700af7(0x1df),_0x5e1773['error']):console[_0x700af7(0x1bf)]('✓\x20Claude\x20Code\x20plugin\x20enabled');}}return!![];}export async function ensureClaudeSkills(_0x51d3fa){const _0x8ab0ce=_0x5667,_0x352cec={'lMcOa':function(_0x35f528,_0x3ac617,_0x460c92,_0x1c66d8){return _0x35f528(_0x3ac617,_0x460c92,_0x1c66d8);},'QxHtH':_0x8ab0ce(0x1dc),'UDlkC':function(_0x3aca01,_0x2d0fac,_0x142394,_0x46b3f9){return _0x3aca01(_0x2d0fac,_0x142394,_0x46b3f9);},'MeaQg':'ranger','Eqftb':'SKILL.md','XKNla':function(_0x1c3af5,_0xff6ab){return _0x1c3af5||_0xff6ab;},'WevML':'✓\x20Ranger\x20skills\x20already\x20installed','UKYzC':function(_0x44cef7,_0x262613){return _0x44cef7(_0x262613);},'BYESf':_0x8ab0ce(0x1c0),'xvDQx':function(_0x1122cf,_0x28acab){return _0x1122cf(_0x28acab);},'HxAAc':_0x8ab0ce(0x1da),'ixbah':_0x8ab0ce(0x1b7)},_0x20e858=existsSync(_0x352cec['lMcOa'](join,getSkillsDir(_0x352cec['QxHtH']),_0x8ab0ce(0x1d6),'SKILL.md')),_0x3364de=existsSync(_0x352cec[_0x8ab0ce(0x1d3)](join,getSkillsDir(_0x8ab0ce(0x1da)),_0x352cec['MeaQg'],_0x352cec['Eqftb']));if(_0x352cec['XKNla'](_0x20e858,_0x3364de))return console['log'](_0x352cec[_0x8ab0ce(0x1c4)]),![];const _0x47eac4=_0x352cec[_0x8ab0ce(0x1d8)](existsSync,join(getProjectRoot(),_0x352cec[_0x8ab0ce(0x1c1)]));let _0x47ccdd=!![];if(_0x51d3fa)await _0x352cec[_0x8ab0ce(0x1e0)](skillup,{'autoInstall':_0x51d3fa,'suppressUsage':!![]});else{if(_0x47eac4)await _0x352cec[_0x8ab0ce(0x1d8)](skillup,{'autoInstall':_0x352cec[_0x8ab0ce(0x1e2)],'suppressUsage':!![]});else{const _0x4eac82=await _0x4f01dd['prompt']([{'type':'confirm','name':'wantsSkillup','message':_0x352cec['ixbah'],'default':!![]}]);_0x47ccdd=_0x4eac82[_0x8ab0ce(0x1de)],_0x47ccdd&&await skillup({'suppressUsage':!![]});}}return _0x47ccdd;}
1
+ (function(_0x19f21e,_0x4e3645){const _0x56be21=_0x4c7d,_0x27830f=_0x19f21e();while(!![]){try{const _0x38d353=-parseInt(_0x56be21(0x17e))/0x1*(-parseInt(_0x56be21(0x17f))/0x2)+-parseInt(_0x56be21(0x15a))/0x3+-parseInt(_0x56be21(0x170))/0x4+parseInt(_0x56be21(0x174))/0x5+-parseInt(_0x56be21(0x172))/0x6*(parseInt(_0x56be21(0x15d))/0x7)+-parseInt(_0x56be21(0x159))/0x8*(parseInt(_0x56be21(0x17b))/0x9)+parseInt(_0x56be21(0x164))/0xa;if(_0x38d353===_0x4e3645)break;else _0x27830f['push'](_0x27830f['shift']());}catch(_0x2d4948){_0x27830f['push'](_0x27830f['shift']());}}}(_0x2fd6,0xf2c61));import{join}from'path';import{existsSync}from'fs';import _0x1ad4de from'inquirer';function _0x4c7d(_0x970f22,_0xfcd1cd){_0x970f22=_0x970f22-0x157;const _0x2fd6b6=_0x2fd6();let _0x4c7dc9=_0x2fd6b6[_0x970f22];return _0x4c7dc9;}import{skillup}from'../skillup.js';import{runClaudeCommand,isMarketplaceAdded,isPluginInstalled}from'../utils/claudePlugin.js';import{getProjectRoot,getSkillsDir}from'../utils/claudeConfig.js';export async function ensureClaudePlugin(_0x52c041){const _0x316edb=_0x4c7d,_0x3af656={'zKaoc':function(_0x27820b,_0x13c0f1){return _0x27820b(_0x13c0f1);},'NvWLu':_0x316edb(0x169),'mPDXW':function(_0x473cf2,_0x2600ca){return _0x473cf2(_0x2600ca);},'WIVvf':function(_0x368dba,_0x565ee6,_0x3093d2){return _0x368dba(_0x565ee6,_0x3093d2);},'iSqkQ':function(_0x52b829){return _0x52b829();},'YgJLO':'.claude','aquLA':'project','lhQbl':_0x316edb(0x16d),'lgcRy':_0x316edb(0x18c),'eFrok':'Where\x20should\x20the\x20plugin\x20be\x20installed?','vhuuP':'user','MVAtU':_0x316edb(0x18d),'nLtiE':'plugin','lWfCa':'marketplace','tmHIO':'add','YWEDh':_0x316edb(0x188),'HXMSx':function(_0x1331dc,_0x2e354e,_0x2d88e8){return _0x1331dc(_0x2e354e,_0x2d88e8);},'eBUBO':'install','kOaKs':_0x316edb(0x161),'DSwiu':'❌\x20Failed\x20to\x20install\x20plugin:','OrRGi':'enable','WcNtR':function(_0x426f13,_0x51782c){return _0x426f13===_0x51782c;}},_0x5411c2=await _0x3af656[_0x316edb(0x171)](isPluginInstalled,_0x3af656[_0x316edb(0x17c)]);if(_0x5411c2)return console[_0x316edb(0x16c)]('✓\x20Claude\x20Code\x20plugin\x20already\x20installed'),![];const _0x3fce7e=_0x3af656['mPDXW'](existsSync,_0x3af656[_0x316edb(0x178)](join,_0x3af656[_0x316edb(0x189)](getProjectRoot),_0x3af656['YgJLO']));let _0x33d7f1;if(_0x52c041)_0x33d7f1=_0x52c041;else{if(_0x3fce7e)_0x33d7f1=_0x3af656[_0x316edb(0x183)];else{console[_0x316edb(0x16c)](_0x3af656['lhQbl']);const _0x14ed53=await _0x1ad4de['prompt']([{'type':_0x3af656[_0x316edb(0x163)],'name':_0x316edb(0x190),'message':_0x3af656[_0x316edb(0x165)],'choices':[{'name':'User\x20(available\x20in\x20all\x20your\x20projects)','value':_0x3af656['vhuuP']},{'name':_0x316edb(0x179),'value':_0x3af656['aquLA']}],'default':'user'}]);_0x33d7f1=_0x14ed53['pluginScope'];}}console['log'](_0x316edb(0x187)+_0x33d7f1+'\x20level)...\x0a');const _0x4c7898=await isMarketplaceAdded(_0x3af656[_0x316edb(0x16b)]);let _0x29acb0=_0x4c7898;if(_0x4c7898)console[_0x316edb(0x16c)](_0x316edb(0x168));else{const _0x1118a4=await runClaudeCommand([_0x3af656[_0x316edb(0x182)],_0x3af656['lWfCa'],_0x3af656[_0x316edb(0x184)],_0x316edb(0x15c)]);!_0x1118a4[_0x316edb(0x16a)]?(console[_0x316edb(0x160)]('❌\x20Failed\x20to\x20add\x20marketplace:',_0x1118a4['error']),console[_0x316edb(0x16c)](_0x316edb(0x181)),console[_0x316edb(0x16c)](_0x3af656[_0x316edb(0x18a)]),console[_0x316edb(0x16c)](_0x316edb(0x18f)+_0x33d7f1)):_0x29acb0=!![];}if(_0x29acb0){const _0x531e0f=await _0x3af656['HXMSx'](runClaudeCommand,[_0x316edb(0x15b),_0x3af656['eBUBO'],_0x3af656[_0x316edb(0x17c)],_0x3af656[_0x316edb(0x17d)],_0x33d7f1],{'cwd':_0x33d7f1==='project'?getProjectRoot():undefined});if(!_0x531e0f[_0x316edb(0x16a)])console[_0x316edb(0x160)](_0x3af656[_0x316edb(0x186)],_0x531e0f[_0x316edb(0x160)]),console[_0x316edb(0x16c)](_0x316edb(0x181)),console['log'](_0x316edb(0x18f)+_0x33d7f1);else{console['log'](_0x316edb(0x180));const _0x16d3ab=[_0x316edb(0x15b),_0x3af656[_0x316edb(0x16f)],_0x3af656['NvWLu']];_0x33d7f1===_0x316edb(0x173)&&_0x16d3ab['push'](_0x316edb(0x161),_0x3af656['aquLA']);const _0x33a8d2=await runClaudeCommand(_0x16d3ab,{'captureOutput':!![],'cwd':_0x3af656[_0x316edb(0x18e)](_0x33d7f1,_0x3af656['aquLA'])?_0x3af656[_0x316edb(0x189)](getProjectRoot):undefined}),_0x59ba20=_0x33a8d2['output']?.['includes'](_0x316edb(0x18b));!_0x33a8d2[_0x316edb(0x16a)]&&!_0x59ba20?console['error']('⚠\x20Failed\x20to\x20enable\x20plugin:',_0x33a8d2[_0x316edb(0x160)]):console['log'](_0x316edb(0x175));}}return!![];}export async function ensureClaudeSkills(_0x590790){const _0xfa9f81=_0x4c7d,_0x3648bb={'DqEAt':function(_0x27d23b,_0x55f75f){return _0x27d23b(_0x55f75f);},'yjRCC':_0xfa9f81(0x177),'VCknD':_0xfa9f81(0x15e),'SyXBU':_0xfa9f81(0x173),'hDRbV':'SKILL.md','YDLyT':function(_0xf12c4b,_0x3791f7){return _0xf12c4b||_0x3791f7;},'UTPFK':_0xfa9f81(0x162),'vfURW':function(_0x315076,_0x352b68){return _0x315076(_0x352b68);},'dZHDd':function(_0x437141,_0x2e8d4d,_0x144321){return _0x437141(_0x2e8d4d,_0x144321);},'muAzV':'wantsSkillup'},_0x488692=existsSync(join(_0x3648bb[_0xfa9f81(0x158)](getSkillsDir,_0x3648bb['yjRCC']),_0x3648bb[_0xfa9f81(0x16e)],_0xfa9f81(0x15f))),_0x2535df=existsSync(join(getSkillsDir(_0x3648bb['SyXBU']),_0xfa9f81(0x15e),_0x3648bb[_0xfa9f81(0x176)]));if(_0x3648bb[_0xfa9f81(0x185)](_0x488692,_0x2535df))return console[_0xfa9f81(0x16c)](_0x3648bb['UTPFK']),![];const _0x10afa7=_0x3648bb[_0xfa9f81(0x166)](existsSync,_0x3648bb['dZHDd'](join,getProjectRoot(),'.claude'));let _0x381333=!![];if(_0x590790)await skillup({'autoInstall':_0x590790,'suppressUsage':!![]});else{if(_0x10afa7)await skillup({'autoInstall':_0x3648bb[_0xfa9f81(0x157)],'suppressUsage':!![]});else{const _0x4e033f=await _0x1ad4de['prompt']([{'type':'confirm','name':_0x3648bb['muAzV'],'message':_0xfa9f81(0x167),'default':!![]}]);_0x381333=_0x4e033f[_0xfa9f81(0x17a)],_0x381333&&await skillup({'suppressUsage':!![]});}}return _0x381333;}function _0x2fd6(){const _0x24e4af=['4259874xbkgtp','plugin','ranger-testing/trailhead','7OdqBKY','ranger','SKILL.md','error','--scope','✓\x20Ranger\x20skills\x20already\x20installed','lgcRy','30126340VZlEwk','eFrok','vfURW','Would\x20you\x20like\x20to\x20install\x20skills?','✓\x20Marketplace\x20already\x20added','ranger@trailhead','success','MVAtU','log','\x0a📦\x20Claude\x20Code\x20Plugin\x0a','VCknD','OrRGi','689560NfIkPU','zKaoc','6758742LIBgvq','project','86595iJcifh','✓\x20Claude\x20Code\x20plugin\x20enabled','hDRbV','user','WIVvf','Project\x20(shared\x20with\x20team\x20via\x20git)','wantsSkillup','144hwbjVo','NvWLu','kOaKs','1MxxeMv','2681962jYsUAz','✓\x20Claude\x20Code\x20plugin\x20installed\x20successfully','\x0aYou\x20can\x20install\x20manually\x20with:','nLtiE','aquLA','tmHIO','YDLyT','DSwiu','\x0aInstalling\x20Claude\x20Code\x20plugin\x20(','\x20\x20claude\x20plugin\x20marketplace\x20add\x20ranger-testing/trailhead','iSqkQ','YWEDh','already\x20enabled','list','trailhead','WcNtR','\x20\x20claude\x20plugin\x20install\x20ranger@trailhead\x20--scope\x20','pluginScope','SyXBU','DqEAt','328864orvbfP'];_0x2fd6=function(){return _0x24e4af;};return _0x2fd6();}
@@ -1 +1 @@
1
- function _0x438a(_0x422c77,_0x5087d8){_0x422c77=_0x422c77-0x1e7;const _0x310f80=_0x310f();let _0x438a32=_0x310f80[_0x422c77];return _0x438a32;}(function(_0x11bfa2,_0xbe4f2d){const _0x3aef98=_0x438a,_0x1b28f6=_0x11bfa2();while(!![]){try{const _0x2ca8e5=parseInt(_0x3aef98(0x203))/0x1+parseInt(_0x3aef98(0x1ef))/0x2+parseInt(_0x3aef98(0x1f1))/0x3*(-parseInt(_0x3aef98(0x1e8))/0x4)+parseInt(_0x3aef98(0x1f4))/0x5*(-parseInt(_0x3aef98(0x1ed))/0x6)+-parseInt(_0x3aef98(0x1fc))/0x7+-parseInt(_0x3aef98(0x1f3))/0x8*(parseInt(_0x3aef98(0x1ea))/0x9)+parseInt(_0x3aef98(0x1fd))/0xa;if(_0x2ca8e5===_0xbe4f2d)break;else _0x1b28f6['push'](_0x1b28f6['shift']());}catch(_0x55b192){_0x1b28f6['push'](_0x1b28f6['shift']());}}}(_0x310f,0x2eb6f));import{join}from'path';function _0x310f(){const _0x381272=['$schema','user','2658971aKfhzG','6426830HhSigA','\x0a📦\x20OpenCode\x20Plugin\x0a','pluginScope','plugin','log','opencode.json','349800xmNbMf','zrDXR','44pmkEPI','✓\x20OpenCode\x20plugin\x20configured','451062kRXFSc','DUTHi','User\x20(available\x20in\x20all\x20your\x20projects)','181092TmRTjx','✓\x20OpenCode\x20plugin\x20already\x20configured','107412VwFqwv','lbPVK','50175voWuxr','project','32nYhZyg','15VkSEJV','stringify','Where\x20should\x20the\x20plugin\x20be\x20installed?','https://opencode.ai/config.json','Failed\x20to\x20read\x20opencode.json','isArray'];_0x310f=function(){return _0x381272;};return _0x310f();}import{existsSync}from'fs';import{mkdir,readFile,writeFile}from'fs/promises';import _0x54a800 from'inquirer';import{getOpencodeConfigDir}from'../utils/opencodeConfig.js';export async function ensureOpencodePluginConfig(_0x3b6125){const _0x2391a6=_0x438a,_0x4fb5dc={'lbPVK':function(_0x4ed3f0,_0x53dcb8){return _0x4ed3f0(_0x53dcb8);},'zrDXR':_0x2391a6(0x1f2),'rKWGB':'pluginScope','kdalD':_0x2391a6(0x1f6),'NfMzZ':_0x2391a6(0x1fb),'uKKyL':function(_0x314afb,_0x437fc0,_0x22ae1a){return _0x314afb(_0x437fc0,_0x22ae1a);},'DUTHi':'opencode.json','fmPLb':'@ranger-testing/opencode-plugin','SdPFN':_0x2391a6(0x1f7),'hPTKX':function(_0x439546,_0x36b9a6,_0xc5ca07){return _0x439546(_0x36b9a6,_0xc5ca07);},'srfBf':'utf-8','RrMcO':_0x2391a6(0x1e9)},_0x57befb=_0x4fb5dc[_0x2391a6(0x1f0)](existsSync,join(getOpencodeConfigDir(_0x4fb5dc[_0x2391a6(0x1e7)]),_0x2391a6(0x202)));let _0x58abad;if(_0x3b6125)_0x58abad=_0x3b6125;else{if(_0x57befb)_0x58abad=_0x4fb5dc[_0x2391a6(0x1e7)];else{console[_0x2391a6(0x201)](_0x2391a6(0x1fe));const _0x238161=await _0x54a800['prompt']([{'type':'list','name':_0x4fb5dc['rKWGB'],'message':_0x4fb5dc['kdalD'],'choices':[{'name':_0x2391a6(0x1ec),'value':_0x2391a6(0x1fb)},{'name':'Project\x20(shared\x20with\x20team\x20via\x20git)','value':_0x4fb5dc['zrDXR']}],'default':_0x4fb5dc['NfMzZ']}]);_0x58abad=_0x238161[_0x2391a6(0x1ff)];}}const _0x2cedce=_0x4fb5dc['uKKyL'](join,getOpencodeConfigDir(_0x58abad),_0x4fb5dc[_0x2391a6(0x1eb)]),_0x537616=_0x4fb5dc['fmPLb'],_0x46f42e=_0x4fb5dc['SdPFN'];let _0x22ea30={};if(existsSync(_0x2cedce))try{const _0x55bf88=await _0x4fb5dc['hPTKX'](readFile,_0x2cedce,_0x4fb5dc['srfBf']);_0x22ea30=JSON['parse'](_0x55bf88);}catch(_0x1e910e){return console['error']('⚠\x20Failed\x20to\x20read\x20opencode.json.\x20Please\x20add\x20the\x20plugin\x20manually.'),{'configured':![],'scope':_0x58abad,'error':_0x2391a6(0x1f8),'details':_0x1e910e};}const _0x4eaceb=Array[_0x2391a6(0x1f9)](_0x22ea30['plugin'])?_0x22ea30[_0x2391a6(0x200)]:[];if(_0x4eaceb['includes'](_0x537616))return console[_0x2391a6(0x201)](_0x2391a6(0x1ee)),{'configured':![],'scope':_0x58abad};return _0x22ea30[_0x2391a6(0x1fa)]=_0x22ea30['$schema']||_0x46f42e,_0x22ea30[_0x2391a6(0x200)]=[..._0x4eaceb,_0x537616],await mkdir(getOpencodeConfigDir(_0x58abad),{'recursive':!![]}),await writeFile(_0x2cedce,JSON[_0x2391a6(0x1f5)](_0x22ea30,null,0x2)+'\x0a'),console['log'](_0x4fb5dc['RrMcO']),{'configured':!![],'scope':_0x58abad};}
1
+ (function(_0x4337ab,_0x4a92bc){const _0x59df6a=_0x1ca4,_0x378983=_0x4337ab();while(!![]){try{const _0x48d7d9=parseInt(_0x59df6a(0x1e6))/0x1+-parseInt(_0x59df6a(0x1d6))/0x2+parseInt(_0x59df6a(0x1da))/0x3*(parseInt(_0x59df6a(0x1ea))/0x4)+parseInt(_0x59df6a(0x1d7))/0x5*(parseInt(_0x59df6a(0x1e9))/0x6)+parseInt(_0x59df6a(0x1f1))/0x7+-parseInt(_0x59df6a(0x1ef))/0x8*(parseInt(_0x59df6a(0x1e8))/0x9)+-parseInt(_0x59df6a(0x1de))/0xa*(-parseInt(_0x59df6a(0x1f2))/0xb);if(_0x48d7d9===_0x4a92bc)break;else _0x378983['push'](_0x378983['shift']());}catch(_0x22ffdf){_0x378983['push'](_0x378983['shift']());}}}(_0x2b51,0xa9e55));function _0x2b51(){const _0x497726=['1748828AtUYBC','isArray','opencode.json','gVkmK','Failed\x20to\x20read\x20opencode.json','8hePowc','\x0a📦\x20OpenCode\x20Plugin\x0a','996982UDOzEe','612095ieIiwu','utf-8','fItXM','LNhCL','FiohA','1230678kTvnGP','763025lnFpab','QVmjo','cVlKr','3YSrdHZ','xSHli','YbbtU','user','20FGYwuB','zsUxF','ZYQBB','plugin','$schema','log','https://opencode.ai/config.json','@ranger-testing/opencode-plugin','837852hUSBwT','project','8825112cGDAed','30lXgSue'];_0x2b51=function(){return _0x497726;};return _0x2b51();}import{join}from'path';import{existsSync}from'fs';function _0x1ca4(_0x4d30ce,_0x4d3c59){_0x4d30ce=_0x4d30ce-0x1d3;const _0x2b51bf=_0x2b51();let _0x1ca4e2=_0x2b51bf[_0x4d30ce];return _0x1ca4e2;}import{mkdir,readFile,writeFile}from'fs/promises';import _0x5b6fe3 from'inquirer';import{getOpencodeConfigDir}from'../utils/opencodeConfig.js';export async function ensureOpencodePluginConfig(_0x321efe){const _0x2d3bcc=_0x1ca4,_0x174418={'QVmjo':_0x2d3bcc(0x1e7),'gVkmK':_0x2d3bcc(0x1f0),'ZYQBB':'Project\x20(shared\x20with\x20team\x20via\x20git)','LNhCL':_0x2d3bcc(0x1dd),'FiohA':function(_0x21d6b5,_0x4e646c){return _0x21d6b5(_0x4e646c);},'YbbtU':'opencode.json','BUQUJ':_0x2d3bcc(0x1e4),'kqpqy':function(_0x283f87,_0x8ee817,_0x314ac3){return _0x283f87(_0x8ee817,_0x314ac3);},'zsUxF':_0x2d3bcc(0x1f3),'fItXM':'⚠\x20Failed\x20to\x20read\x20opencode.json.\x20Please\x20add\x20the\x20plugin\x20manually.','cVlKr':_0x2d3bcc(0x1ee),'xSHli':'✓\x20OpenCode\x20plugin\x20already\x20configured','YrGjt':function(_0x240103,_0x5cf93e,_0x44b802){return _0x240103(_0x5cf93e,_0x44b802);}},_0x45df0a=existsSync(join(getOpencodeConfigDir(_0x174418[_0x2d3bcc(0x1d8)]),_0x2d3bcc(0x1ec)));let _0x15f990;if(_0x321efe)_0x15f990=_0x321efe;else{if(_0x45df0a)_0x15f990=_0x174418['QVmjo'];else{console[_0x2d3bcc(0x1e3)](_0x174418[_0x2d3bcc(0x1ed)]);const _0x206e5a=await _0x5b6fe3['prompt']([{'type':'list','name':'pluginScope','message':'Where\x20should\x20the\x20plugin\x20be\x20installed?','choices':[{'name':'User\x20(available\x20in\x20all\x20your\x20projects)','value':_0x2d3bcc(0x1dd)},{'name':_0x174418[_0x2d3bcc(0x1e0)],'value':_0x2d3bcc(0x1e7)}],'default':_0x174418[_0x2d3bcc(0x1d4)]}]);_0x15f990=_0x206e5a['pluginScope'];}}const _0x59eb54=join(_0x174418[_0x2d3bcc(0x1d5)](getOpencodeConfigDir,_0x15f990),_0x174418[_0x2d3bcc(0x1dc)]),_0x4af081=_0x2d3bcc(0x1e5),_0x589afb=_0x174418['BUQUJ'];let _0x42e465={};if(_0x174418['FiohA'](existsSync,_0x59eb54))try{const _0x333ee4=await _0x174418['kqpqy'](readFile,_0x59eb54,_0x174418[_0x2d3bcc(0x1df)]);_0x42e465=JSON['parse'](_0x333ee4);}catch(_0x483116){return console['error'](_0x174418[_0x2d3bcc(0x1d3)]),{'configured':![],'scope':_0x15f990,'error':_0x174418[_0x2d3bcc(0x1d9)],'details':_0x483116};}const _0x139dbb=Array[_0x2d3bcc(0x1eb)](_0x42e465['plugin'])?_0x42e465[_0x2d3bcc(0x1e1)]:[];if(_0x139dbb['includes'](_0x4af081))return console[_0x2d3bcc(0x1e3)](_0x174418[_0x2d3bcc(0x1db)]),{'configured':![],'scope':_0x15f990};return _0x42e465[_0x2d3bcc(0x1e2)]=_0x42e465['$schema']||_0x589afb,_0x42e465[_0x2d3bcc(0x1e1)]=[..._0x139dbb,_0x4af081],await mkdir(getOpencodeConfigDir(_0x15f990),{'recursive':!![]}),await _0x174418['YrGjt'](writeFile,_0x59eb54,JSON['stringify'](_0x42e465,null,0x2)+'\x0a'),console['log']('✓\x20OpenCode\x20plugin\x20configured'),{'configured':!![],'scope':_0x15f990};}
@@ -1 +1 @@
1
- (function(_0x3a1a3c,_0x18546e){var _0x3ead8f=_0x1c4f,_0x1aa116=_0x3a1a3c();while(!![]){try{var _0x24ba8d=-parseInt(_0x3ead8f(0x73))/0x1+-parseInt(_0x3ead8f(0x77))/0x2+-parseInt(_0x3ead8f(0x6e))/0x3+parseInt(_0x3ead8f(0x72))/0x4+parseInt(_0x3ead8f(0x76))/0x5+-parseInt(_0x3ead8f(0x78))/0x6*(parseInt(_0x3ead8f(0x70))/0x7)+parseInt(_0x3ead8f(0x75))/0x8;if(_0x24ba8d===_0x18546e)break;else _0x1aa116['push'](_0x1aa116['shift']());}catch(_0x569da2){_0x1aa116['push'](_0x1aa116['shift']());}}}(_0x46d6,0x9d999));function _0x1c4f(_0x45f059,_0x288252){_0x45f059=_0x45f059-0x6c;var _0x46d6d4=_0x46d6();var _0x1c4f9b=_0x46d6d4[_0x45f059];return _0x1c4f9b;}function _0x46d6(){var _0x27d899=['19749512YkVTjr','3295805PatJjD','1431672OACGEA','29244RZxVcR','QbgZs','rAiQw','To\x20set\x20up\x20a\x20fresh\x20profile,\x20run:\x0a','2968341DeYBqO','\x20\x20ranger\x20profile\x20add\x20<name>\x0a','784Ewukvp','hbpIR','3718448FKJDmt','1160762KiSOrs','For\x20CI\x20/\x20background\x20agents\x20and\x20other\x20setup\x20options,\x20see:\x0a'];_0x46d6=function(){return _0x27d899;};return _0x46d6();}export async function setupCi(_0x3a56e9,_0x32ad64,_0x64d297){var _0x182d17=_0x1c4f,_0x59f07a={'QbgZs':function(_0x39bc7e,_0x4bebc1){return _0x39bc7e+_0x4bebc1;},'rAiQw':function(_0x46089a,_0x95f857){return _0x46089a+_0x95f857;},'dVFBF':function(_0x377ae3,_0x1b4443){return _0x377ae3+_0x1b4443;},'bROiw':_0x182d17(0x6d),'hbpIR':_0x182d17(0x6f),'oFYlm':_0x182d17(0x74)};console['error'](_0x59f07a['QbgZs'](_0x59f07a[_0x182d17(0x79)](_0x59f07a[_0x182d17(0x6c)](_0x59f07a['dVFBF']('ranger\x20setup\x20--ci\x20writes\x20to\x20the\x20legacy\x20.ranger/ci/\x20tree\x20which\x20is\x20no\x20longer\x20supported.\x0a','\x0a'),_0x59f07a['bROiw'])+_0x59f07a[_0x182d17(0x71)],'\x0a'),_0x59f07a['oFYlm'])+'\x20\x20https://docs.ranger.net/main/concepts/profiles'),process['exit'](0x1);}
1
+ function _0x793f(_0x3328ca,_0x99eb1){_0x3328ca=_0x3328ca-0x158;var _0x1133ec=_0x1133();var _0x793f82=_0x1133ec[_0x3328ca];return _0x793f82;}(function(_0x16254b,_0x1d7a24){var _0x4d9fe2=_0x793f,_0x246b8a=_0x16254b();while(!![]){try{var _0x5dd772=-parseInt(_0x4d9fe2(0x158))/0x1+parseInt(_0x4d9fe2(0x160))/0x2+-parseInt(_0x4d9fe2(0x15e))/0x3+parseInt(_0x4d9fe2(0x15f))/0x4+parseInt(_0x4d9fe2(0x15c))/0x5+parseInt(_0x4d9fe2(0x15d))/0x6+-parseInt(_0x4d9fe2(0x161))/0x7;if(_0x5dd772===_0x1d7a24)break;else _0x246b8a['push'](_0x246b8a['shift']());}catch(_0x39d681){_0x246b8a['push'](_0x246b8a['shift']());}}}(_0x1133,0x28ed5));export async function setupCi(_0x21895f,_0x540ec6,_0x3efe38){var _0x2e45ac=_0x793f,_0x2ebdda={'VgWOC':function(_0x3fa96e,_0x3b27ea){return _0x3fa96e+_0x3b27ea;}};console['error'](_0x2ebdda[_0x2e45ac(0x15a)](_0x2ebdda[_0x2e45ac(0x15a)](_0x2ebdda[_0x2e45ac(0x15a)](_0x2e45ac(0x159)+'\x0a'+'To\x20set\x20up\x20a\x20fresh\x20profile,\x20run:\x0a',_0x2e45ac(0x15b)),'\x0a')+'For\x20CI\x20/\x20background\x20agents\x20and\x20other\x20setup\x20options,\x20see:\x0a','\x20\x20https://docs.ranger.net/main/concepts/profiles')),process[_0x2e45ac(0x162)](0x1);}function _0x1133(){var _0x15f4fc=['91314VbeRgB','112263ajLmVb','872416XnxyVR','416648MbDIgR','1320025mTcKSe','exit','303539hnCDeP','ranger\x20setup\x20--ci\x20writes\x20to\x20the\x20legacy\x20.ranger/ci/\x20tree\x20which\x20is\x20no\x20longer\x20supported.\x0a','VgWOC','\x20\x20ranger\x20profile\x20add\x20<name>\x0a','1277625yhPFWN'];_0x1133=function(){return _0x15f4fc;};return _0x1133();}
@@ -1 +1 @@
1
- (function(_0x23a3a3,_0x5bd8b0){const _0x2cd117=_0x23e9,_0x2a55eb=_0x23a3a3();while(!![]){try{const _0x178ea3=-parseInt(_0x2cd117(0x127))/0x1*(parseInt(_0x2cd117(0x136))/0x2)+-parseInt(_0x2cd117(0x141))/0x3*(parseInt(_0x2cd117(0x145))/0x4)+parseInt(_0x2cd117(0x12e))/0x5*(-parseInt(_0x2cd117(0x134))/0x6)+-parseInt(_0x2cd117(0x152))/0x7*(-parseInt(_0x2cd117(0x130))/0x8)+parseInt(_0x2cd117(0x12b))/0x9*(-parseInt(_0x2cd117(0x144))/0xa)+-parseInt(_0x2cd117(0x147))/0xb+-parseInt(_0x2cd117(0x137))/0xc*(-parseInt(_0x2cd117(0x13c))/0xd);if(_0x178ea3===_0x5bd8b0)break;else _0x2a55eb['push'](_0x2a55eb['shift']());}catch(_0x26b575){_0x2a55eb['push'](_0x2a55eb['shift']());}}}(_0x4941,0xc1c40));import{basename}from'path';import _0x3c011a from'inquirer';import{getToken}from'./utils/keychain.js';import{installSkill}from'./utils/skills.js';import{getCurrentVersion}from'./utils/version.js';function _0x23e9(_0x2d9e8d,_0xe4c303){_0x2d9e8d=_0x2d9e8d-0x11f;const _0x494103=_0x4941();let _0x23e90c=_0x494103[_0x2d9e8d];return _0x23e90c;}import{getClaudeConfigDir,getProjectRoot}from'./utils/claudeConfig.js';import{getOpencodeConfigDir}from'./utils/opencodeConfig.js';function _0x4941(){const _0x3d310a=['project','45TSxfFG','/.claude/skills/','31992VPRjoW','isTTY','All\x20projects\x20(','log','1052442kHmedc','\x20skill','5310MbqYeW','1615284dIdoth','ranger','prompt','opencode','list','351xmFmtS','\x0a⚠️\x20\x20No\x20skills\x20were\x20installed.\x0a','❌\x20No\x20Ranger\x20API\x20token\x20found.\x0a','message','/.opencode/skills/','87618sOpFcS','installLevel','\x20--opencode','338970ZqShjL','148BEfTPJ','kYTGE','582450YQQJzw','jqvSt','MBhbu','autoInstall','stdout','POSZV','1|4|2|3|0|5','\x0a✅\x20Installed\x20','user','\x20<your-api-token>','\x20\x203.\x20Run:\x20ranger\x20skillup','1477ozDxLI','\x0a🎯\x20Ranger\x20Skill\x20Setup\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!','gZPys','TDfZx','wJlbE','mVjtg','ZqeMw','\x20\x20-\x20Start\x20OpenCode\x20and\x20run\x20the\x20`ranger_enable`\x20tool\x20to\x20enable\x20hooks.','213vkSBrc','\x20\x201.\x20Get\x20your\x20API\x20token\x20from\x20https://dashboard.ranger.net/cli','user-level','\x20\x20Failed\x20to\x20install\x20ranger\x20skill:','108Qpkjmr','✓\x20Found\x20API\x20token'];_0x4941=function(){return _0x3d310a;};return _0x4941();}export async function skillup(_0x23120c={}){const _0x4e7962=_0x23e9,_0x8ccd80={'GHKIV':_0x4e7962(0x11f),'mVjtg':'claude','TDfZx':_0x4e7962(0x143),'wJlbE':_0x4e7962(0x128),'kYTGE':function(_0x5222c2,_0x476551){return _0x5222c2===_0x476551;},'ZqeMw':_0x4e7962(0x13a),'jqvSt':function(_0x1526d3){return _0x1526d3();},'MBhbu':_0x4e7962(0x13b),'VNQbb':'Where\x20should\x20skills\x20be\x20installed?','Utzjz':_0x4e7962(0x12d),'gZPys':function(_0x33858f,_0x493578,_0x40972e){return _0x33858f(_0x493578,_0x40972e);},'bfPUp':_0x4e7962(0x12a),'YxsTS':function(_0x1f169d,_0x57b35c){return _0x1f169d>_0x57b35c;},'POSZV':_0x4e7962(0x129),'cldex':'project-level','iahnx':'To\x20use:','sxDJe':_0x4e7962(0x120)};console[_0x4e7962(0x133)](_0x8ccd80['GHKIV']);const _0x1ea59b=_0x23120c['platform']??_0x8ccd80[_0x4e7962(0x124)],_0xd3b9cd=await getToken();if(!_0xd3b9cd){const _0xff1a13=_0x4e7962(0x14d)['split']('|');let _0x55eb8d=0x0;while(!![]){switch(_0xff1a13[_0x55eb8d++]){case'0':console['log'](_0x4e7962(0x151)+(_0x1ea59b==='opencode'?_0x8ccd80[_0x4e7962(0x122)]:'')+'\x0a');continue;case'1':console['log'](_0x4e7962(0x13e));continue;case'2':console[_0x4e7962(0x133)](_0x8ccd80[_0x4e7962(0x123)]);continue;case'3':console['log']('\x20\x202.\x20Run:\x20ranger\x20setup'+(_0x8ccd80['kYTGE'](_0x1ea59b,_0x8ccd80[_0x4e7962(0x125)])?_0x4e7962(0x143):'')+_0x4e7962(0x150));continue;case'4':console['log']('To\x20get\x20started:');continue;case'5':return;}break;}}console[_0x4e7962(0x133)](_0x4e7962(0x12c));const _0x55de8c=getProjectRoot(),_0x160720=basename(_0x55de8c),_0x2d76a2=_0x8ccd80[_0x4e7962(0x146)](_0x1ea59b,_0x8ccd80[_0x4e7962(0x125)])?getOpencodeConfigDir(_0x4e7962(0x14f))+'/skills/':_0x8ccd80['jqvSt'](getClaudeConfigDir)+'/skills/',_0x4e1b2e=_0x1ea59b===_0x8ccd80[_0x4e7962(0x125)]?_0x55de8c+_0x4e7962(0x140):_0x55de8c+_0x4e7962(0x12f),_0x2aa1e6=process['stdin'][_0x4e7962(0x131)]&&process[_0x4e7962(0x14b)][_0x4e7962(0x131)];let _0x2a19d5;if(_0x23120c[_0x4e7962(0x14a)])_0x2a19d5=_0x23120c[_0x4e7962(0x14a)];else{if(_0x2aa1e6){const _0x578cac=await _0x3c011a[_0x4e7962(0x139)]([{'type':_0x8ccd80[_0x4e7962(0x149)],'name':_0x4e7962(0x142),'message':_0x8ccd80['VNQbb'],'choices':[{'name':_0x4e7962(0x132)+_0x2d76a2+')','value':'user'},{'name':'This\x20project\x20only\x20('+_0x4e1b2e+')','value':_0x8ccd80['Utzjz']}]}]);_0x2a19d5=_0x578cac[_0x4e7962(0x142)];}else _0x2a19d5=_0x4e7962(0x12d),console[_0x4e7962(0x133)]('Non-interactive\x20mode:\x20Installing\x20skills\x20at\x20project\x20level\x20('+_0x4e1b2e+')');}let _0x43d60b=0x0;const _0x39166e=_0x8ccd80[_0x4e7962(0x148)](getCurrentVersion);console[_0x4e7962(0x133)]('\x0a📦\x20Installing\x20skills...\x0a');try{const _0x1e91e9=await _0x8ccd80[_0x4e7962(0x121)](installSkill,_0x4e7962(0x138),{'cliVersion':_0x39166e,'level':_0x2a19d5,'platform':_0x1ea59b});_0x1e91e9&&_0x43d60b++;}catch(_0x4d919e){console['warn'](_0x8ccd80['bfPUp'],_0x4d919e instanceof Error?_0x4d919e[_0x4e7962(0x13f)]:_0x4d919e);}if(_0x8ccd80['YxsTS'](_0x43d60b,0x0)){const _0x20c3bc=_0x8ccd80[_0x4e7962(0x146)](_0x2a19d5,_0x4e7962(0x14f))?_0x8ccd80[_0x4e7962(0x14c)]:_0x8ccd80['cldex'];console['log'](_0x4e7962(0x14e)+_0x43d60b+'\x20'+_0x20c3bc+_0x4e7962(0x135)+(_0x43d60b>0x1?'s':'')+'\x20successfully!\x0a'),!_0x23120c['suppressUsage']&&(console[_0x4e7962(0x133)](_0x8ccd80['iahnx']),_0x1ea59b==='opencode'?console[_0x4e7962(0x133)](_0x4e7962(0x126)):console[_0x4e7962(0x133)](_0x8ccd80['sxDJe']));}else console[_0x4e7962(0x133)](_0x4e7962(0x13d));}
1
+ (function(_0x59ffc3,_0x29301e){const _0x2d37e5=_0x1e74,_0x322df6=_0x59ffc3();while(!![]){try{const _0x240b2e=-parseInt(_0x2d37e5(0xe1))/0x1+parseInt(_0x2d37e5(0xe6))/0x2*(parseInt(_0x2d37e5(0xd5))/0x3)+parseInt(_0x2d37e5(0x101))/0x4*(parseInt(_0x2d37e5(0xf3))/0x5)+parseInt(_0x2d37e5(0xfd))/0x6*(parseInt(_0x2d37e5(0xd8))/0x7)+-parseInt(_0x2d37e5(0xfc))/0x8*(parseInt(_0x2d37e5(0xe2))/0x9)+parseInt(_0x2d37e5(0xf9))/0xa*(-parseInt(_0x2d37e5(0xe8))/0xb)+parseInt(_0x2d37e5(0xed))/0xc*(parseInt(_0x2d37e5(0xeb))/0xd);if(_0x240b2e===_0x29301e)break;else _0x322df6['push'](_0x322df6['shift']());}catch(_0x36552a){_0x322df6['push'](_0x322df6['shift']());}}}(_0x5d44,0x826aa));import{basename}from'path';import _0x390ffe from'inquirer';import{getToken}from'./utils/keychain.js';import{installSkill}from'./utils/skills.js';import{getCurrentVersion}from'./utils/version.js';function _0x1e74(_0x3963bb,_0x3cb604){_0x3963bb=_0x3963bb-0xd5;const _0x5d4463=_0x5d44();let _0x1e74ae=_0x5d4463[_0x3963bb];return _0x1e74ae;}function _0x5d44(){const _0x20b80f=['\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!','24WhUZYu','156468KyYCnk','\x0a⚠️\x20\x20No\x20skills\x20were\x20installed.\x0a','❌\x20No\x20Ranger\x20API\x20token\x20found.\x0a','\x20--opencode','4rhWbrF','All\x20projects\x20(','1569YYCybk','list','user-level','7IkAbsj','project','UXHQe','NVGyX','NFmBG','platform','pBmKy','\x20successfully!\x0a','eySTf','1047424AZKvkj','21843psGTrA','qDPhp','warn','ZjUTE','1822NzNqbV','To\x20get\x20started:','1760zIwnkS','\x20\x20-\x20Start\x20OpenCode\x20and\x20run\x20the\x20`ranger_enable`\x20tool\x20to\x20enable\x20hooks.','Where\x20should\x20skills\x20be\x20installed?','26AqALWj','Non-interactive\x20mode:\x20Installing\x20skills\x20at\x20project\x20level\x20(','5674572ZTNbOB','prompt','/.opencode/skills/','/skills/','ranger','PlDjo','2578990YELOBc','qBkbW','isTTY','\x20skill','\x20\x20Failed\x20to\x20install\x20ranger\x20skill:','SeTdh','23450tOmcVR','log'];_0x5d44=function(){return _0x20b80f;};return _0x5d44();}import{getClaudeConfigDir,getProjectRoot}from'./utils/claudeConfig.js';import{getOpencodeConfigDir}from'./utils/opencodeConfig.js';export async function skillup(_0x29f23a={}){const _0x2904e9=_0x1e74,_0x391fee={'JLSKZ':'\x0a🎯\x20Ranger\x20Skill\x20Setup\x0a','wAiTU':'claude','NFmBG':'\x20\x201.\x20Get\x20your\x20API\x20token\x20from\x20https://dashboard.ranger.net/cli','NVGyX':'opencode','IViae':'\x20--opencode','ZjUTE':function(_0x430bd5,_0x3a4442){return _0x430bd5===_0x3a4442;},'eySTf':function(_0x4cbfb4,_0x4ee395){return _0x4cbfb4(_0x4ee395);},'UXHQe':'user','qBkbW':function(_0x2e9279,_0xcf9912){return _0x2e9279===_0xcf9912;},'yQEyY':_0x2904e9(0xea),'SeTdh':'\x0a📦\x20Installing\x20skills...\x0a','GPpUe':_0x2904e9(0xf1),'PlDjo':function(_0x4135d2,_0x565c25){return _0x4135d2>_0x565c25;},'qDPhp':_0x2904e9(0xd7),'pBmKy':function(_0x24fe33,_0x539059){return _0x24fe33>_0x539059;}};console[_0x2904e9(0xfa)](_0x391fee['JLSKZ']);const _0xd0f1f9=_0x29f23a[_0x2904e9(0xdd)]??_0x391fee['wAiTU'],_0x93ba77=await getToken();if(!_0x93ba77){console[_0x2904e9(0xfa)](_0x2904e9(0xff)),console['log'](_0x2904e9(0xe7)),console['log'](_0x391fee[_0x2904e9(0xdc)]),console['log']('\x20\x202.\x20Run:\x20ranger\x20setup'+(_0xd0f1f9===_0x391fee[_0x2904e9(0xdb)]?_0x391fee['IViae']:'')+'\x20<your-api-token>'),console['log']('\x20\x203.\x20Run:\x20ranger\x20skillup'+(_0x391fee[_0x2904e9(0xe5)](_0xd0f1f9,_0x391fee['NVGyX'])?_0x2904e9(0x100):'')+'\x0a');return;}console['log']('✓\x20Found\x20API\x20token');const _0xf24e9c=getProjectRoot(),_0x459eec=_0x391fee[_0x2904e9(0xe0)](basename,_0xf24e9c),_0x2ae00b=_0xd0f1f9===_0x391fee['NVGyX']?getOpencodeConfigDir(_0x391fee['UXHQe'])+_0x2904e9(0xf0):getClaudeConfigDir()+_0x2904e9(0xf0),_0x59f8d3=_0x391fee['qBkbW'](_0xd0f1f9,'opencode')?_0xf24e9c+_0x2904e9(0xef):_0xf24e9c+'/.claude/skills/',_0x2ffc1d=process['stdin'][_0x2904e9(0xf5)]&&process['stdout']['isTTY'];let _0x26e545;if(_0x29f23a['autoInstall'])_0x26e545=_0x29f23a['autoInstall'];else{if(_0x2ffc1d){const _0x8cc84d=await _0x390ffe[_0x2904e9(0xee)]([{'type':_0x2904e9(0xd6),'name':'installLevel','message':_0x391fee['yQEyY'],'choices':[{'name':_0x2904e9(0x102)+_0x2ae00b+')','value':'user'},{'name':'This\x20project\x20only\x20('+_0x59f8d3+')','value':'project'}]}]);_0x26e545=_0x8cc84d['installLevel'];}else _0x26e545=_0x2904e9(0xd9),console['log'](_0x2904e9(0xec)+_0x59f8d3+')');}let _0x33bb43=0x0;const _0x884cd0=getCurrentVersion();console[_0x2904e9(0xfa)](_0x391fee[_0x2904e9(0xf8)]);try{const _0x5a8981=await installSkill(_0x391fee['GPpUe'],{'cliVersion':_0x884cd0,'level':_0x26e545,'platform':_0xd0f1f9});_0x5a8981&&_0x33bb43++;}catch(_0x2f9397){console[_0x2904e9(0xe4)](_0x2904e9(0xf7),_0x2f9397 instanceof Error?_0x2f9397['message']:_0x2f9397);}if(_0x391fee[_0x2904e9(0xf2)](_0x33bb43,0x0)){const _0x2f711c=_0x391fee['qBkbW'](_0x26e545,_0x391fee[_0x2904e9(0xda)])?_0x391fee[_0x2904e9(0xe3)]:'project-level';console['log']('\x0a✅\x20Installed\x20'+_0x33bb43+'\x20'+_0x2f711c+_0x2904e9(0xf6)+(_0x391fee[_0x2904e9(0xde)](_0x33bb43,0x1)?'s':'')+_0x2904e9(0xdf)),!_0x29f23a['suppressUsage']&&(console[_0x2904e9(0xfa)]('To\x20use:'),_0x391fee[_0x2904e9(0xf4)](_0xd0f1f9,'opencode')?console['log'](_0x2904e9(0xe9)):console['log'](_0x2904e9(0xfb)));}else console[_0x2904e9(0xfa)](_0x2904e9(0xfe));}
@@ -1 +1 @@
1
- const _0x427343=_0x1863;(function(_0x66e011,_0x4aa92d){const _0x2c06aa=_0x1863,_0x2ccdad=_0x66e011();while(!![]){try{const _0x5ac6d1=parseInt(_0x2c06aa(0xb4))/0x1+parseInt(_0x2c06aa(0xc1))/0x2+-parseInt(_0x2c06aa(0xb0))/0x3+parseInt(_0x2c06aa(0x8f))/0x4+-parseInt(_0x2c06aa(0x95))/0x5*(parseInt(_0x2c06aa(0xaa))/0x6)+-parseInt(_0x2c06aa(0xc4))/0x7+-parseInt(_0x2c06aa(0x7a))/0x8*(parseInt(_0x2c06aa(0x8b))/0x9);if(_0x5ac6d1===_0x4aa92d)break;else _0x2ccdad['push'](_0x2ccdad['shift']());}catch(_0x5709e6){_0x2ccdad['push'](_0x2ccdad['shift']());}}}(_0x2f15,0x8a378));import{mkdir,writeFile}from'fs/promises';import{join}from'path';import{existsSync}from'fs';import{createRequire}from'module';import{spawn}from'child_process';import _0xa886b0 from'inquirer';function _0x1863(_0x7a062a,_0x3e5583){_0x7a062a=_0x7a062a-0x74;const _0x2f157e=_0x2f15();let _0x1863d7=_0x2f157e[_0x7a062a];return _0x1863d7;}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=_0x40e442=>_0x427343(0xba)+_0x40e442+_0x427343(0x86);export function getPlaywrightVersion(){const _0x1e240b=_0x427343,_0x124ca5={'IAUYt':_0x1e240b(0xbf)};try{const _0x1e9c5b=require['resolve'](_0x124ca5[_0x1e240b(0x96)]),_0x2f9c18=require(_0x1e9c5b);return _0x2f9c18[_0x1e240b(0x9a)];}catch{return null;}}export function installChromiumBinary(_0x5ee826,_0x2f20eb=![]){const _0x4bf874=_0x427343,_0x513ad1={'CNCqq':function(_0x41cb2d,_0x5a8c01){return _0x41cb2d===_0x5a8c01;},'TURWn':function(_0x500561,_0x3caaa3){return _0x500561(_0x3caaa3);},'jqntH':_0x4bf874(0x9e),'pEvKM':'chromium','CEZEM':'npx','XsDpp':'inherit','ZwQBO':function(_0x564cb8,_0x5cbbb7){return _0x564cb8===_0x5cbbb7;},'zGWcn':_0x4bf874(0xd1),'fAazO':'close'};return new Promise((_0x2e4cb1,_0x5b084f)=>{const _0x5d2af3=_0x4bf874,_0x41e148=[_0x5d2af3(0x9b)+_0x5ee826,'install',..._0x2f20eb?[_0x513ad1['jqntH']]:[],_0x513ad1[_0x5d2af3(0xcf)]],_0x2c7210=spawn(_0x513ad1[_0x5d2af3(0xd9)],_0x41e148,{'stdio':[_0x5d2af3(0xca),_0x513ad1[_0x5d2af3(0xbd)],'inherit'],'shell':_0x513ad1[_0x5d2af3(0x83)](process[_0x5d2af3(0xbb)],_0x513ad1['zGWcn'])});_0x2c7210['on'](_0x513ad1['fAazO'],_0x3f9554=>{const _0x356442=_0x5d2af3;_0x513ad1[_0x356442(0xa2)](_0x3f9554,0x0)?_0x2e4cb1():_0x5b084f(new Error(_0x356442(0xc0)+_0x3f9554));}),_0x2c7210['on'](_0x5d2af3(0xb6),_0x102cc5=>{const _0x567312=_0x5d2af3;_0x513ad1[_0x567312(0xb7)](_0x5b084f,_0x102cc5);});});}export async function authenticate(_0x159e36){const _0x2be806=_0x427343,_0x3c1dec={'FLVTF':function(_0x3c1514){return _0x3c1514();},'YuwJr':function(_0x3a5518,_0x58a030){return _0x3a5518(_0x58a030);},'yxGbA':'device_auth','eujEX':'Validating\x20API\x20token...','wxOap':function(_0x5504c9,_0x3b3bae){return _0x5504c9(_0x3b3bae);},'TawrN':'✓\x20Exported\x20credentials\x20for\x20CI','SulWf':_0x2be806(0x74)};if(!_0x159e36){const _0x3f68ee=await _0x3c1dec[_0x2be806(0x8a)](getToken);if(_0x3f68ee){const _0x312849=await _0x3c1dec['YuwJr'](getCurrentUser,_0x3f68ee);if(_0x312849[_0x2be806(0x93)])return console['log']('✓\x20Already\x20authenticated\x20to\x20'+_0x312849['user'][_0x2be806(0x81)]),{'token':_0x3f68ee,'method':_0x2be806(0xa0)};}try{_0x159e36=await runDeviceAuthFlow();}catch(_0x598058){throw new Error(_0x2be806(0xac)+(_0x598058 instanceof Error?_0x598058['message']:_0x598058));}const _0x714c98=await getCurrentUser(_0x159e36);if(!_0x714c98['success'])throw new Error(_0x2be806(0xa5)+_0x714c98[_0x2be806(0xb6)]);return console[_0x2be806(0x98)](_0x2be806(0x9c)+_0x714c98[_0x2be806(0x9f)][_0x2be806(0x81)]),{'token':_0x159e36,'method':_0x3c1dec['yxGbA']};}console['log'](_0x3c1dec['eujEX']);const _0x9a1ecf=await _0x3c1dec[_0x2be806(0xa4)](getCurrentUser,_0x159e36);if(!_0x9a1ecf[_0x2be806(0x93)]){if(_0x9a1ecf[_0x2be806(0x90)])throw new Error('Authentication\x20failed:\x20'+_0x9a1ecf['error']+'.\x20Please\x20check\x20your\x20API\x20token\x20and\x20try\x20again.');else throw new Error('Failed\x20to\x20connect\x20to\x20MCP\x20server:\x20'+_0x9a1ecf['error']+'.\x20Please\x20check\x20your\x20network\x20connection\x20and\x20server\x20URL.');}return console[_0x2be806(0x98)]('✓\x20Authenticated\x20to\x20'+_0x9a1ecf['user'][_0x2be806(0x81)]),await _0x3c1dec[_0x2be806(0x8d)](storeToken,_0x159e36),console['log'](process[_0x2be806(0xd8)]['GITHUB_ENV']?_0x3c1dec['TawrN']:_0x3c1dec['SulWf']),{'token':_0x159e36,'method':'provided_token'};}export async function ensureRangerDir(_0x418ee8){const _0x621443=_0x427343,_0x3f0531={'mkwkB':function(_0x615e93){return _0x615e93();},'ObrkB':function(_0x2b4546,_0x5b936e){return _0x2b4546(_0x5b936e);},'mHynx':function(_0x109e19,_0x4deb55,_0x4c5810){return _0x109e19(_0x4deb55,_0x4c5810);}};void _0x418ee8;const _0x269207=_0x3f0531[_0x621443(0x88)](getRangerHomeDir);return!_0x3f0531[_0x621443(0xc5)](existsSync,_0x269207)?(await _0x3f0531[_0x621443(0x7f)](mkdir,_0x269207,{'recursive':!![]}),console['log'](_0x621443(0xd0)),{'path':_0x269207,'installed':!![]}):(console['log'](_0x621443(0x8e)),{'path':_0x269207,'installed':![]});}export async function ensureChromium(_0x5e3ea0=![]){const _0x124dec=_0x427343,_0x11d88c={'eqlSw':function(_0x2866ea){return _0x2866ea();},'pLlah':'confirm','UOweN':'install','MHhga':'\x0a✓\x20Playwright\x20Chromium\x20installed\x20successfully','NHDVP':'You\x20can\x20install\x20it\x20manually\x20by\x20running:','ZORVp':'\x0a⚠\x20Skipping\x20Chromium\x20installation.','UUlbS':'You\x20will\x20need\x20to\x20install\x20it\x20before\x20using\x20Ranger:'};let _0xd2792b=![];try{const _0x29a2a6=chromium[_0x124dec(0xb5)]();_0xd2792b=existsSync(_0x29a2a6);}catch{_0xd2792b=![];}if(_0xd2792b)return console[_0x124dec(0x98)](_0x124dec(0xb2)),![];const _0x8709d2=_0x11d88c[_0x124dec(0xb3)](getPlaywrightVersion),_0x5330cc=_0x8709d2??PLAYWRIGHT_CHROMIUM_INSTALL_FALLBACK_VERSION,_0x50069e=!_0x8709d2,_0x54bde0=process['stdin'][_0x124dec(0x78)]&&process['stdout']['isTTY'];let _0x1644a3=!![];if(_0x54bde0){const {install:_0xbffb1e}=await _0xa886b0[_0x124dec(0xaf)]([{'type':_0x11d88c[_0x124dec(0xae)],'name':_0x11d88c['UOweN'],'message':_0x50069e?'Could\x20not\x20determine\x20local\x20Playwright\x20version.\x20Install\x20Playwright\x20Chromium\x20using\x20fallback\x20version\x20'+_0x5330cc+'\x20now?':'The\x20required\x20version\x20('+_0x5330cc+')\x20of\x20the\x20Playwright\x20Chromium\x20browser\x20is\x20not\x20installed.\x20Install\x20it\x20now?','default':!![]}]);_0x1644a3=_0xbffb1e;}else console['log']('\x0aNon-interactive\x20mode:\x20Auto-installing\x20Playwright\x20Chromium\x20'+_0x5330cc+(_0x50069e?'\x20(fallback\x20version)':'')+_0x124dec(0xc8));if(_0x1644a3){console['log']('\x0aInstalling\x20Chromium\x20browser...\x0a');try{await installChromiumBinary(_0x5330cc,_0x5e3ea0),console[_0x124dec(0x98)](_0x11d88c['MHhga']);}catch(_0x147858){console['error'](_0x124dec(0xab),_0x147858 instanceof Error?_0x147858['message']:_0x147858),console[_0x124dec(0x98)](_0x11d88c[_0x124dec(0xa3)]),console[_0x124dec(0x98)]('\x20\x20npx\x20playwright@'+_0x5330cc+_0x124dec(0x84));}}else console['log'](_0x11d88c[_0x124dec(0x87)]),console[_0x124dec(0x98)](_0x11d88c['UUlbS']),console['log']('\x20\x20npx\x20playwright@'+_0x5330cc+_0x124dec(0x84));return!![];}export async function writeRangerGitignore(_0x1bdf7d){const _0x195dd4=_0x427343,_0x4587eb={'SrFJU':function(_0x4f1aed,_0x5925bc,_0x36824e){return _0x4f1aed(_0x5925bc,_0x36824e);}},_0x33e2da=_0x4587eb['SrFJU'](join,_0x1bdf7d,_0x195dd4(0xb1)),_0x270234=_0x195dd4(0xb8);await writeFile(_0x33e2da,_0x270234),console['log'](_0x195dd4(0x97));}export async function ensureLocalEnv(_0x315bb0,_0x544410){const _0x3fbfb9=_0x427343,_0x515024={'WBAkR':function(_0x55d34b){return _0x55d34b();},'toEGQ':function(_0x446e15,_0x1525e){return _0x446e15===_0x1525e;},'TBsdH':_0x3fbfb9(0x9f),'EKnPY':function(_0x4a0dd0,_0x9b97f1,_0x10fb50){return _0x4a0dd0(_0x9b97f1,_0x10fb50);},'RNFqS':_0x3fbfb9(0x80),'GmFNd':_0x3fbfb9(0x7e),'LkcAY':function(_0x26c6de,_0x121cd7,_0x429075,_0x4bea76){return _0x26c6de(_0x121cd7,_0x429075,_0x4bea76);},'pEUsb':_0x3fbfb9(0x7b),'wgFvC':function(_0x444968,_0x569ad4){return _0x444968 instanceof _0x569ad4;}};if(!_0x515024[_0x3fbfb9(0x75)](findGitRoot)&&_0x315bb0?.['scope']!==_0x3fbfb9(0x9f))return console[_0x3fbfb9(0x98)]('⚠\x20No\x20git\x20repository\x20found.\x20Re-run\x20with\x20`--scope\x20user`\x20to\x20store\x20the\x20profile\x20at\x20~/.ranger/.'),{'ready':![],'skipped':!![]};const _0x20119=_0x515024[_0x3fbfb9(0xbe)](_0x315bb0?.['scope'],_0x515024['TBsdH'])?getRangerHomeDir():undefined;if(_0x515024[_0x3fbfb9(0xa8)](findExistingEnv,_0x515024[_0x3fbfb9(0xd3)],{'locations':[_0x515024[_0x3fbfb9(0xd3)]],'rangerDir':_0x20119}))return console['log'](_0x515024['GmFNd']),{'ready':!![],'skipped':![]};try{return await _0x515024['LkcAY'](addEnv,_0x3fbfb9(0x80),{'url':_0x315bb0?.['url'],'force':_0x315bb0?.[_0x3fbfb9(0x91)],'allowInsecureLocalhost':_0x315bb0?.['allowInsecureLocalhost'],'scope':_0x315bb0?.[_0x3fbfb9(0x7c)]},_0x544410),{'ready':!![],'skipped':![]};}catch(_0x43c78f){return console[_0x3fbfb9(0xb6)](_0x515024[_0x3fbfb9(0xc6)],_0x515024[_0x3fbfb9(0x79)](_0x43c78f,Error)?_0x43c78f[_0x3fbfb9(0x9d)]:_0x43c78f),{'ready':![],'skipped':![]};}}function _0x2f15(){const _0xa6f06a=['auth','ZwQBO','\x20install\x20chromium','WeUGL','\x1b[0m','ZORVp','mkwkB','opencode','FLVTF','77445jCdrIk','zIiuH','YuwJr','✓\x20~/.ranger/\x20directory\x20already\x20exists','3357752PfbdeL','status','force','plugin','success','method','3330935rtIJmy','IAUYt','✓\x20Created\x20.ranger/.gitignore','log','ranger\x20profile\x20add\x20<name>','version','playwright@','✓\x20Authenticated\x20to\x20','message','--with-deps','user','existing_token','FRHbI','CNCqq','NHDVP','wxOap','Failed\x20to\x20validate\x20provisioned\x20API\x20key:\x20','warn','UpRGB','EKnPY','ezFXU','6oDzgAg','\x0a❌\x20Failed\x20to\x20install\x20Chromium:','Authentication\x20failed:\x20','mSQRA','pLlah','prompt','1181688rCwmSR','.gitignore','✓\x20Playwright\x20Chromium\x20browser\x20found','eqlSw','866481aPcpXx','executablePath','error','TURWn','\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','nYLTk','\x1b[1m','platform','allowInsecureLocalhost','XsDpp','toEGQ','playwright/package.json','Installation\x20failed\x20with\x20exit\x20code\x20','1462508FkcBYh','trackPhaseEnd','url','5616443zuTsmG','ObrkB','pEUsb','skills','...','EXxBa','ignore','\x0averification\x20to\x20check\x20its\x20work\x20as\x20it\x20builds.','trackPhaseStart','skipAuth','skipped','pEvKM','✓\x20Created\x20~/.ranger/\x20directory','win32','chromium','RNFqS','HGbxF','\x0aIn\x20Claude\x20Code,\x20run\x20','project-scope\x20setup\x20obsolete).\x20Drop\x20the\x20--scope\x20flag\x20or\x20pass\x20--scope=user.','\x0a\x0aFor\x20CI\x20/\x20background\x20agents\x20and\x20other\x20setup\x20options,\x20see:','env','CEZEM','✓\x20Stored\x20credentials\x20locally','WBAkR','qTivS','\x0a\x20\x20(opens\x20a\x20browser\x20so\x20you\x20can\x20log\x20in\x20once)','isTTY','wgFvC','8ujmVSo','\x0a❌\x20Profile\x20setup\x20failed:','scope','\x0a🚀\x20Ranger\x20Setup\x0a','✓\x20Local\x20profile\x20already\x20exists','mHynx','local','organizationName'];_0x2f15=function(){return _0xa6f06a;};return _0x2f15();}export async function start(_0x278a3c,_0x1f46e5,_0x121ef2){const _0x1d1fd7=_0x427343,_0x380d25={'lcURH':_0x1d1fd7(0x7d),'hszvj':function(_0x54915a,_0x4526c6){return _0x54915a!==_0x4526c6;},'RCNPd':function(_0x1488b3,_0xbfcf16){return _0x1488b3!==_0xbfcf16;},'FvFZn':function(_0x64741e,_0x159fdf){return _0x64741e+_0x159fdf;},'zIiuH':_0x1d1fd7(0x9f),'nGnvn':function(_0x26d003){return _0x26d003();},'UpRGB':function(_0xb2980e,_0x52b828){return _0xb2980e(_0x52b828);},'WeUGL':'✓\x20Skipping\x20authentication\x20(--skip-auth)','HGbxF':'auth','mSQRA':'\x0a✅\x20Ranger\x20setup\x20complete!\x0a','mCNgd':'plugin','ezFXU':function(_0x3b910a,_0x30847f){return _0x3b910a&&_0x30847f;},'EXxBa':_0x1d1fd7(0xc7),'nYLTk':function(_0x3e9f73,_0x312989,_0x876ff4){return _0x3e9f73(_0x312989,_0x876ff4);},'QfQoD':'opencode','oJeSi':'\x20\x20Failed\x20to\x20install\x20OpenCode\x20skill:','GPRyp':'\x0aSkipping\x20profile\x20setup\x20(--skip-auth).\x20Run\x20`ranger\x20setup`\x20with\x20auth\x20to\x20add\x20a\x20profile\x20later.\x0a','FRHbI':'profile','GBZIB':function(_0x3a4832,_0x13d8fb){return _0x3a4832+_0x13d8fb;},'mVgjZ':'\x0aIn\x20OpenCode,\x20enable\x20Ranger\x20hooks\x20(run\x20the\x20`ranger_enable`\x20tool)','KQMwa':'and\x20prompt\x20the\x20agent\x20like\x20usual.\x20Ranger\x20will\x20create\x20a\x20feature\x20review','qTivS':'verification\x20to\x20check\x20its\x20work\x20as\x20it\x20builds.'};console['log'](_0x380d25['lcURH']);_0x380d25['hszvj'](_0x1f46e5?.['scope'],undefined)&&_0x380d25['RCNPd'](_0x1f46e5['scope'],_0x1d1fd7(0x9f))&&(console[_0x1d1fd7(0xb6)](_0x380d25['FvFZn']('ranger\x20setup\x20--scope='+String(_0x1f46e5['scope'])+'\x20is\x20no\x20longer\x20supported.\x20'+'Setup\x20always\x20installs\x20at\x20user\x20scope\x20now\x20(cloud\x20profiles\x20make\x20',_0x1d1fd7(0xd6))),process['exit'](0x1));_0x1f46e5={..._0x1f46e5,'scope':_0x380d25[_0x1d1fd7(0x8c)]};const _0x4ac7f0=!existsSync(_0x380d25['nGnvn'](getRangerHomeDir));await _0x380d25[_0x1d1fd7(0xa7)](ensureRangerDir,_0x1d1fd7(0x9f));if(_0x1f46e5?.['skipAuth'])console[_0x1d1fd7(0x98)](_0x380d25[_0x1d1fd7(0x85)]),_0x121ef2?.['trackPhaseEnd'](_0x1d1fd7(0x82),{'isFirstRun':_0x4ac7f0,'method':'skipped'});else{_0x121ef2?.[_0x1d1fd7(0xcc)](_0x380d25[_0x1d1fd7(0xd4)]);const _0x1753d1=await authenticate(_0x278a3c);_0x121ef2?.[_0x1d1fd7(0xc2)](_0x1d1fd7(0x82),{'isFirstRun':_0x4ac7f0,'method':_0x1753d1[_0x1d1fd7(0x94)]});}_0x121ef2?.['trackPhaseStart']('chromium');_0x1f46e5?.['skipChromium']?console[_0x1d1fd7(0x98)]('✓\x20Skipping\x20Chromium\x20check\x20(--skip-chromium)'):await ensureChromium(_0x1f46e5?.['withDeps']);_0x121ef2?.['trackPhaseEnd'](_0x1d1fd7(0xd2),{'isFirstRun':_0x4ac7f0,'skipped':!!_0x1f46e5?.['skipChromium']}),console[_0x1d1fd7(0x98)](_0x380d25[_0x1d1fd7(0xad)]);const _0x1bb875=_0x1f46e5?.['scope'],_0x4b9741=_0x1f46e5?.[_0x1d1fd7(0x89)]??![];let _0x560781=null;_0x4b9741?(_0x121ef2?.[_0x1d1fd7(0xcc)]('plugin'),_0x560781=await ensureOpencodePluginConfig(_0x1bb875),_0x121ef2?.[_0x1d1fd7(0xc2)](_0x1d1fd7(0x92),{'isFirstRun':_0x4ac7f0,'opencode':!![]})):(_0x121ef2?.['trackPhaseStart']('plugin'),await ensureClaudePlugin(_0x1bb875),_0x121ef2?.['trackPhaseEnd'](_0x380d25['mCNgd'],{'isFirstRun':_0x4ac7f0}));if(_0x380d25[_0x1d1fd7(0xa9)](_0x4b9741,_0x560781)){_0x121ef2?.['trackPhaseStart'](_0x380d25[_0x1d1fd7(0xc9)]);try{await _0x380d25[_0x1d1fd7(0xb9)](installSkill,'ranger',{'level':_0x560781[_0x1d1fd7(0x7c)],'cliVersion':getCurrentVersion(),'platform':_0x380d25['QfQoD']}),_0x121ef2?.[_0x1d1fd7(0xc2)]('skills',{'isFirstRun':_0x4ac7f0,'opencode':!![]});}catch(_0x6088a1){console[_0x1d1fd7(0xa6)](_0x380d25['oJeSi'],_0x6088a1 instanceof Error?_0x6088a1[_0x1d1fd7(0x9d)]:_0x6088a1),_0x121ef2?.['trackPhaseEnd'](_0x380d25[_0x1d1fd7(0xc9)],{'isFirstRun':_0x4ac7f0,'opencode':!![],'failed':!![]});}}else _0x121ef2?.['trackPhaseStart'](_0x1d1fd7(0xc7)),await _0x380d25[_0x1d1fd7(0xa7)](ensureClaudeSkills,_0x1bb875),_0x121ef2?.['trackPhaseEnd'](_0x380d25[_0x1d1fd7(0xc9)],{'isFirstRun':_0x4ac7f0});if(_0x1f46e5?.[_0x1d1fd7(0xcd)])console[_0x1d1fd7(0x98)](_0x380d25['GPRyp']);else{if(_0x1f46e5?.['url']){_0x121ef2?.[_0x1d1fd7(0xcc)](_0x380d25[_0x1d1fd7(0xa1)]);const _0x1727f4=await _0x380d25[_0x1d1fd7(0xb9)](ensureLocalEnv,{'url':_0x1f46e5[_0x1d1fd7(0xc3)],'force':_0x1f46e5?.[_0x1d1fd7(0x91)],'allowInsecureLocalhost':_0x1f46e5?.[_0x1d1fd7(0xbc)],'scope':_0x1d1fd7(0x9f)},_0x121ef2);_0x121ef2?.[_0x1d1fd7(0xc2)]('profile',{'isFirstRun':_0x4ac7f0,'profileReady':_0x1727f4['ready'],'userSkipped':_0x1727f4[_0x1d1fd7(0xce)]});}else console['log'](_0x380d25['GBZIB']('\x0aTo\x20set\x20up\x20a\x20profile\x20for\x20your\x20app,\x20run:'+('\x0a\x20\x20'+_0x380d25['UpRGB'](bold,_0x1d1fd7(0x99)))+_0x1d1fd7(0x77),_0x1d1fd7(0xd7))+'\x0a\x20\x20https://docs.ranger.net/main/concepts/profiles');}if(_0x4b9741)console['log'](_0x380d25['mVgjZ']),console['log'](_0x380d25['KQMwa']),console['log']('with\x20scenarios\x20describing\x20what\x20to\x20verify\x20and\x20then\x20run\x20browser'),console['log'](_0x380d25[_0x1d1fd7(0x76)]);else{const _0x1105a0=_0x380d25['UpRGB'](bold,'/ranger:enable');console['log'](_0x1d1fd7(0xd5)+_0x1105a0+'\x20and\x20prompt\x20the\x20coding'+'\x0aagent\x20like\x20usual.\x20Claude\x20will\x20create\x20a\x20feature\x20review\x20with'+'\x0ascenarios\x20describing\x20what\x20to\x20verify\x20and\x20then\x20run\x20browser'+_0x1d1fd7(0xcb));}}
1
+ const _0x4af01b=_0x4f5d;(function(_0x299cd2,_0x37095c){const _0x2c639c=_0x4f5d,_0x570231=_0x299cd2();while(!![]){try{const _0x32a438=parseInt(_0x2c639c(0x1e8))/0x1+-parseInt(_0x2c639c(0x1d3))/0x2+parseInt(_0x2c639c(0x20c))/0x3+-parseInt(_0x2c639c(0x222))/0x4+-parseInt(_0x2c639c(0x205))/0x5+-parseInt(_0x2c639c(0x1f0))/0x6+-parseInt(_0x2c639c(0x1f1))/0x7*(-parseInt(_0x2c639c(0x1d5))/0x8);if(_0x32a438===_0x37095c)break;else _0x570231['push'](_0x570231['shift']());}catch(_0x4dff60){_0x570231['push'](_0x570231['shift']());}}}(_0x4497,0x863c4));import{mkdir,writeFile}from'fs/promises';import{join}from'path';function _0x4f5d(_0x2a53f0,_0x169b28){_0x2a53f0=_0x2a53f0-0x1c1;const _0x449707=_0x4497();let _0x4f5dd2=_0x449707[_0x2a53f0];return _0x4f5dd2;}import{existsSync}from'fs';import{createRequire}from'module';import{spawn}from'child_process';import _0x265b21 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';function _0x4497(){const _0x528d50=['\x20and\x20prompt\x20the\x20coding','GITHUB_ENV','lCTSm','warn','status','and\x20prompt\x20the\x20agent\x20like\x20usual.\x20Ranger\x20will\x20create\x20a\x20feature\x20review','ranger\x20setup\x20--scope=','uJHRw','organizationName','\x20\x20npx\x20playwright@','QyfzZ','user','\x0a✓\x20Playwright\x20Chromium\x20installed\x20successfully','chromium','873384PEjmou','Ddcsc','playwright@','confirm','scope','error','withDeps','\x20install\x20chromium','2503920GqdeHe','14581553cjqPjS','DNEWZ','nITBE','XoWtw','Setup\x20always\x20installs\x20at\x20user\x20scope\x20now\x20(cloud\x20profiles\x20make\x20','local','crWcq','allowInsecureLocalhost','Bvvzd','ksfCi','NzMgQ','\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','expxo','message','skipChromium','\x0aInstalling\x20Chromium\x20browser...\x0a','--with-deps','VeGmB','.\x20Please\x20check\x20your\x20network\x20connection\x20and\x20server\x20URL.','XPRPo','3456830kGhWOX','success','✓\x20~/.ranger/\x20directory\x20already\x20exists','profile','\x1b[0m','nQGnK','KMrKu','230115hRjHrZ','iSNmY','\x0aIn\x20Claude\x20Code,\x20run\x20','\x0a❌\x20Profile\x20setup\x20failed:','ZZtSs','✓\x20Created\x20.ranger/.gitignore','skills','\x20now?','✓\x20Playwright\x20Chromium\x20browser\x20found','ZHuJt','✓\x20Already\x20authenticated\x20to\x20','\x0a\x0aFor\x20CI\x20/\x20background\x20agents\x20and\x20other\x20setup\x20options,\x20see:','platform','CPGfT','skipAuth','url','version','log','PAmds','Failed\x20to\x20connect\x20to\x20MCP\x20server:\x20','lSPao','prompt','2064112DeAvZk','trackPhaseStart','⚠\x20No\x20git\x20repository\x20found.\x20Re-run\x20with\x20`--scope\x20user`\x20to\x20store\x20the\x20profile\x20at\x20~/.ranger/.','GvqIv','trackPhaseEnd','playwright/package.json','\x0a\x20\x20(opens\x20a\x20browser\x20so\x20you\x20can\x20log\x20in\x20once)','opencode','✓\x20Skipping\x20Chromium\x20check\x20(--skip-chromium)','bohAh','isTTY','stdout','The\x20required\x20version\x20(','project-scope\x20setup\x20obsolete).\x20Drop\x20the\x20--scope\x20flag\x20or\x20pass\x20--scope=user.','inherit','force','skipped','\x0a⚠\x20Skipping\x20Chromium\x20installation.','env','nOenM','You\x20can\x20install\x20it\x20manually\x20by\x20running:','exit','✓\x20Local\x20profile\x20already\x20exists','QsJvW','uNHZT','nEHaC','RcMTp','plugin','1717252oShMLs',')\x20of\x20the\x20Playwright\x20Chromium\x20browser\x20is\x20not\x20installed.\x20Install\x20it\x20now?','8uMfVZj','verification\x20to\x20check\x20its\x20work\x20as\x20it\x20builds.','method','\x0a❌\x20Failed\x20to\x20install\x20Chromium:','install'];_0x4497=function(){return _0x528d50;};return _0x4497();}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=_0x378fb7=>'\x1b[1m'+_0x378fb7+_0x4af01b(0x209);export function getPlaywrightVersion(){const _0x4dc051=_0x4af01b;try{const _0x29185e=require['resolve'](_0x4dc051(0x227)),_0x1d9a2f=require(_0x29185e);return _0x1d9a2f[_0x4dc051(0x21c)];}catch{return null;}}export function installChromiumBinary(_0x48e354,_0x378e02=![]){const _0x226063=_0x4af01b,_0x2728c0={'ZHuJt':function(_0x51a0b1,_0x34d0e1){return _0x51a0b1===_0x34d0e1;},'Bvvzd':_0x226063(0x201),'nEHaC':'chromium','SKHZX':'npx','khTEG':'ignore','lCTSm':'close'};return new Promise((_0xbc62fe,_0x32a0c9)=>{const _0x436608=_0x226063,_0x85c4c3={'ZZtSs':function(_0x1ed9f1,_0x5e79bf){const _0x4c31a5=_0x4f5d;return _0x2728c0[_0x4c31a5(0x215)](_0x1ed9f1,_0x5e79bf);},'XPRPo':function(_0x81ffa){return _0x81ffa();},'GvqIv':function(_0x4c33bd,_0x4f602a){return _0x4c33bd(_0x4f602a);}},_0x20d0d6=[_0x436608(0x1ea)+_0x48e354,'install',..._0x378e02?[_0x2728c0[_0x436608(0x1f9)]]:[],_0x2728c0[_0x436608(0x1d0)]],_0x54ec8a=spawn(_0x2728c0['SKHZX'],_0x20d0d6,{'stdio':[_0x2728c0['khTEG'],_0x436608(0x1c5),'inherit'],'shell':process[_0x436608(0x218)]==='win32'});_0x54ec8a['on'](_0x2728c0[_0x436608(0x1dc)],_0x34e83a=>{const _0x465297=_0x436608;_0x85c4c3[_0x465297(0x210)](_0x34e83a,0x0)?_0x85c4c3[_0x465297(0x204)](_0xbc62fe):_0x85c4c3[_0x465297(0x225)](_0x32a0c9,new Error('Installation\x20failed\x20with\x20exit\x20code\x20'+_0x34e83a));}),_0x54ec8a['on'](_0x436608(0x1ed),_0x219443=>{_0x32a0c9(_0x219443);});});}export async function authenticate(_0x4e5aa2){const _0x21eef9=_0x4af01b,_0x3317ff={'XoWtw':function(_0xdceeed){return _0xdceeed();},'ksfCi':'existing_token','cphzm':'Validating\x20API\x20token...','PAmds':function(_0x744742,_0x84ef6){return _0x744742(_0x84ef6);},'KMrKu':function(_0x268750,_0x22fbfd){return _0x268750(_0x22fbfd);},'PgOQF':'✓\x20Stored\x20credentials\x20locally','dHECB':'provided_token'};if(!_0x4e5aa2){const _0x38d95a=await _0x3317ff[_0x21eef9(0x1f4)](getToken);if(_0x38d95a){const _0x50042d=await getCurrentUser(_0x38d95a);if(_0x50042d[_0x21eef9(0x206)])return console['log'](_0x21eef9(0x216)+_0x50042d['user']['organizationName']),{'token':_0x38d95a,'method':_0x3317ff[_0x21eef9(0x1fa)]};}try{_0x4e5aa2=await runDeviceAuthFlow();}catch(_0x3b3a43){throw new Error('Authentication\x20failed:\x20'+(_0x3b3a43 instanceof Error?_0x3b3a43['message']:_0x3b3a43));}const _0x1165fe=await getCurrentUser(_0x4e5aa2);if(!_0x1165fe[_0x21eef9(0x206)])throw new Error('Failed\x20to\x20validate\x20provisioned\x20API\x20key:\x20'+_0x1165fe[_0x21eef9(0x1ed)]);return console[_0x21eef9(0x21d)]('✓\x20Authenticated\x20to\x20'+_0x1165fe[_0x21eef9(0x1e5)][_0x21eef9(0x1e2)]),{'token':_0x4e5aa2,'method':'device_auth'};}console['log'](_0x3317ff['cphzm']);const _0x3660b6=await _0x3317ff[_0x21eef9(0x21e)](getCurrentUser,_0x4e5aa2);if(!_0x3660b6['success']){if(_0x3660b6[_0x21eef9(0x1de)])throw new Error('Authentication\x20failed:\x20'+_0x3660b6['error']+'.\x20Please\x20check\x20your\x20API\x20token\x20and\x20try\x20again.');else throw new Error(_0x21eef9(0x21f)+_0x3660b6[_0x21eef9(0x1ed)]+_0x21eef9(0x203));}return console[_0x21eef9(0x21d)]('✓\x20Authenticated\x20to\x20'+_0x3660b6['user'][_0x21eef9(0x1e2)]),await _0x3317ff[_0x21eef9(0x20b)](storeToken,_0x4e5aa2),console['log'](process[_0x21eef9(0x1c9)][_0x21eef9(0x1db)]?'✓\x20Exported\x20credentials\x20for\x20CI':_0x3317ff['PgOQF']),{'token':_0x4e5aa2,'method':_0x3317ff['dHECB']};}export async function ensureRangerDir(_0xf3f19d){const _0x52bb06=_0x4af01b;void _0xf3f19d;const _0x2010fc=getRangerHomeDir();return!existsSync(_0x2010fc)?(await mkdir(_0x2010fc,{'recursive':!![]}),console[_0x52bb06(0x21d)]('✓\x20Created\x20~/.ranger/\x20directory'),{'path':_0x2010fc,'installed':!![]}):(console['log'](_0x52bb06(0x207)),{'path':_0x2010fc,'installed':![]});}export async function ensureChromium(_0x489ee6=![]){const _0x531116=_0x4af01b,_0x3b4dc2={'qRmvd':function(_0x9f46c5){return _0x9f46c5();},'seSmn':_0x531116(0x1eb),'nQGnK':_0x531116(0x200),'expxo':function(_0x17aa06,_0x13c62b,_0x46fc05){return _0x17aa06(_0x13c62b,_0x46fc05);},'SeRgm':function(_0x417f56,_0x5e3857){return _0x417f56 instanceof _0x5e3857;},'noYXt':_0x531116(0x1cb),'VeJxu':_0x531116(0x1c8)};let _0x411efe=![];try{const _0x5e23f4=chromium['executablePath']();_0x411efe=existsSync(_0x5e23f4);}catch{_0x411efe=![];}if(_0x411efe)return console[_0x531116(0x21d)](_0x531116(0x214)),![];const _0x2f86cd=_0x3b4dc2['qRmvd'](getPlaywrightVersion),_0x368146=_0x2f86cd??PLAYWRIGHT_CHROMIUM_INSTALL_FALLBACK_VERSION,_0x13da6a=!_0x2f86cd,_0x32b826=process['stdin']['isTTY']&&process[_0x531116(0x1c2)][_0x531116(0x1c1)];let _0x59f06c=!![];if(_0x32b826){const {install:_0x26b24c}=await _0x265b21[_0x531116(0x221)]([{'type':_0x3b4dc2['seSmn'],'name':_0x531116(0x1d9),'message':_0x13da6a?'Could\x20not\x20determine\x20local\x20Playwright\x20version.\x20Install\x20Playwright\x20Chromium\x20using\x20fallback\x20version\x20'+_0x368146+_0x531116(0x213):_0x531116(0x1c3)+_0x368146+_0x531116(0x1d4),'default':!![]}]);_0x59f06c=_0x26b24c;}else console[_0x531116(0x21d)]('\x0aNon-interactive\x20mode:\x20Auto-installing\x20Playwright\x20Chromium\x20'+_0x368146+(_0x13da6a?'\x20(fallback\x20version)':'')+'...');if(_0x59f06c){console[_0x531116(0x21d)](_0x3b4dc2[_0x531116(0x20a)]);try{await _0x3b4dc2[_0x531116(0x1fd)](installChromiumBinary,_0x368146,_0x489ee6),console[_0x531116(0x21d)](_0x531116(0x1e6));}catch(_0x5c6e03){console['error'](_0x531116(0x1d8),_0x3b4dc2['SeRgm'](_0x5c6e03,Error)?_0x5c6e03[_0x531116(0x1fe)]:_0x5c6e03),console['log'](_0x3b4dc2['noYXt']),console['log']('\x20\x20npx\x20playwright@'+_0x368146+_0x531116(0x1ef));}}else console['log'](_0x3b4dc2['VeJxu']),console[_0x531116(0x21d)]('You\x20will\x20need\x20to\x20install\x20it\x20before\x20using\x20Ranger:'),console[_0x531116(0x21d)](_0x531116(0x1e3)+_0x368146+'\x20install\x20chromium');return!![];}export async function writeRangerGitignore(_0xdec19c){const _0x4042bd=_0x4af01b,_0xe700f3=join(_0xdec19c,'.gitignore'),_0x2c9a14=_0x4042bd(0x1fc);await writeFile(_0xe700f3,_0x2c9a14),console['log'](_0x4042bd(0x211));}export async function ensureLocalEnv(_0x312f63,_0x414efe){const _0x39bf72=_0x4af01b,_0x1a31f1={'VeGmB':function(_0x3fe4ef){return _0x3fe4ef();},'iSNmY':function(_0x4fc17d,_0x49e1fd){return _0x4fc17d!==_0x49e1fd;},'QbkaF':function(_0x4a59b0,_0x42a728){return _0x4a59b0===_0x42a728;},'kCsOs':function(_0x385915,_0x23d706,_0x3ee2c4){return _0x385915(_0x23d706,_0x3ee2c4);},'uJHRw':_0x39bf72(0x1f6),'zALXA':function(_0x338863,_0x36c1f3,_0x45ee32,_0x20dff7){return _0x338863(_0x36c1f3,_0x45ee32,_0x20dff7);},'Znfug':function(_0x207fc4,_0x3d9d0e){return _0x207fc4 instanceof _0x3d9d0e;}};if(!_0x1a31f1[_0x39bf72(0x202)](findGitRoot)&&_0x1a31f1[_0x39bf72(0x20d)](_0x312f63?.['scope'],_0x39bf72(0x1e5)))return console['log'](_0x39bf72(0x224)),{'ready':![],'skipped':!![]};const _0x6015f8=_0x1a31f1['QbkaF'](_0x312f63?.[_0x39bf72(0x1ec)],_0x39bf72(0x1e5))?getRangerHomeDir():undefined;if(_0x1a31f1['kCsOs'](findExistingEnv,_0x1a31f1[_0x39bf72(0x1e1)],{'locations':[_0x1a31f1[_0x39bf72(0x1e1)]],'rangerDir':_0x6015f8}))return console[_0x39bf72(0x21d)](_0x39bf72(0x1cd)),{'ready':!![],'skipped':![]};try{return await _0x1a31f1['zALXA'](addEnv,_0x1a31f1[_0x39bf72(0x1e1)],{'url':_0x312f63?.['url'],'force':_0x312f63?.[_0x39bf72(0x1c6)],'allowInsecureLocalhost':_0x312f63?.['allowInsecureLocalhost'],'scope':_0x312f63?.['scope']},_0x414efe),{'ready':!![],'skipped':![]};}catch(_0x372ef9){return console[_0x39bf72(0x1ed)](_0x39bf72(0x20f),_0x1a31f1['Znfug'](_0x372ef9,Error)?_0x372ef9[_0x39bf72(0x1fe)]:_0x372ef9),{'ready':![],'skipped':![]};}}export async function start(_0x1ab33d,_0x2bbf7d,_0x19d421){const _0x151159=_0x4af01b,_0x3a34ae={'YQsMK':'\x0a🚀\x20Ranger\x20Setup\x0a','QsJvW':function(_0x6e149c,_0x23b095){return _0x6e149c!==_0x23b095;},'nITBE':_0x151159(0x1e5),'uNHZT':function(_0x559b90,_0x344937){return _0x559b90+_0x344937;},'Ddcsc':function(_0x34acfb,_0x47c6cd){return _0x34acfb(_0x47c6cd);},'dsmDL':function(_0x599a92){return _0x599a92();},'VPprD':'auth','nOenM':_0x151159(0x1e7),'DNEWZ':'\x0a✅\x20Ranger\x20setup\x20complete!\x0a','NzMgQ':_0x151159(0x1d2),'WHOVE':function(_0x4cbd02,_0x48f7e3){return _0x4cbd02(_0x48f7e3);},'bohAh':function(_0x405f95,_0x2e301b,_0x52e89d){return _0x405f95(_0x2e301b,_0x52e89d);},'nHZtK':'ranger','mhwtg':function(_0x1fc0f1){return _0x1fc0f1();},'QyfzZ':'opencode','AXUGV':_0x151159(0x212),'CPGfT':_0x151159(0x208),'jiEEb':function(_0x28a6f9,_0xc7c2bd){return _0x28a6f9(_0xc7c2bd);},'RcMTp':'\x0aIn\x20OpenCode,\x20enable\x20Ranger\x20hooks\x20(run\x20the\x20`ranger_enable`\x20tool)','crWcq':'/ranger:enable','MWMJH':function(_0x206b44,_0x47e1eb){return _0x206b44+_0x47e1eb;},'lSPao':function(_0x55f559,_0x4288d6){return _0x55f559+_0x4288d6;}};console[_0x151159(0x21d)](_0x3a34ae['YQsMK']);_0x3a34ae[_0x151159(0x1ce)](_0x2bbf7d?.[_0x151159(0x1ec)],undefined)&&_0x3a34ae['QsJvW'](_0x2bbf7d[_0x151159(0x1ec)],_0x3a34ae['nITBE'])&&(console['error'](_0x3a34ae['uNHZT'](_0x151159(0x1e0)+String(_0x2bbf7d['scope'])+'\x20is\x20no\x20longer\x20supported.\x20'+_0x151159(0x1f5),_0x151159(0x1c4))),process[_0x151159(0x1cc)](0x1));_0x2bbf7d={..._0x2bbf7d,'scope':_0x3a34ae['nITBE']};const _0x42058e=!_0x3a34ae[_0x151159(0x1e9)](existsSync,_0x3a34ae['dsmDL'](getRangerHomeDir));await _0x3a34ae['Ddcsc'](ensureRangerDir,_0x3a34ae['nITBE']);if(_0x2bbf7d?.[_0x151159(0x21a)])console[_0x151159(0x21d)]('✓\x20Skipping\x20authentication\x20(--skip-auth)'),_0x19d421?.[_0x151159(0x226)]('auth',{'isFirstRun':_0x42058e,'method':_0x151159(0x1c7)});else{_0x19d421?.[_0x151159(0x223)](_0x3a34ae['VPprD']);const _0x19125d=await _0x3a34ae[_0x151159(0x1e9)](authenticate,_0x1ab33d);_0x19d421?.['trackPhaseEnd'](_0x3a34ae['VPprD'],{'isFirstRun':_0x42058e,'method':_0x19125d[_0x151159(0x1d7)]});}_0x19d421?.['trackPhaseStart'](_0x3a34ae[_0x151159(0x1ca)]);_0x2bbf7d?.['skipChromium']?console['log'](_0x151159(0x22a)):await _0x3a34ae['Ddcsc'](ensureChromium,_0x2bbf7d?.[_0x151159(0x1ee)]);_0x19d421?.[_0x151159(0x226)](_0x3a34ae[_0x151159(0x1ca)],{'isFirstRun':_0x42058e,'skipped':!!_0x2bbf7d?.[_0x151159(0x1ff)]}),console['log'](_0x3a34ae[_0x151159(0x1f2)]);const _0x2e1280=_0x2bbf7d?.[_0x151159(0x1ec)],_0xb62d1e=_0x2bbf7d?.[_0x151159(0x229)]??![];let _0x22013c=null;_0xb62d1e?(_0x19d421?.[_0x151159(0x223)](_0x3a34ae[_0x151159(0x1fb)]),_0x22013c=await ensureOpencodePluginConfig(_0x2e1280),_0x19d421?.['trackPhaseEnd'](_0x3a34ae['NzMgQ'],{'isFirstRun':_0x42058e,'opencode':!![]})):(_0x19d421?.[_0x151159(0x223)](_0x3a34ae['NzMgQ']),await _0x3a34ae['WHOVE'](ensureClaudePlugin,_0x2e1280),_0x19d421?.['trackPhaseEnd'](_0x3a34ae['NzMgQ'],{'isFirstRun':_0x42058e}));if(_0xb62d1e&&_0x22013c){_0x19d421?.['trackPhaseStart'](_0x151159(0x212));try{await _0x3a34ae['bohAh'](installSkill,_0x3a34ae['nHZtK'],{'level':_0x22013c[_0x151159(0x1ec)],'cliVersion':_0x3a34ae['mhwtg'](getCurrentVersion),'platform':_0x3a34ae[_0x151159(0x1e4)]}),_0x19d421?.[_0x151159(0x226)](_0x3a34ae['AXUGV'],{'isFirstRun':_0x42058e,'opencode':!![]});}catch(_0x16d294){console[_0x151159(0x1dd)]('\x20\x20Failed\x20to\x20install\x20OpenCode\x20skill:',_0x16d294 instanceof Error?_0x16d294['message']:_0x16d294),_0x19d421?.[_0x151159(0x226)](_0x3a34ae['AXUGV'],{'isFirstRun':_0x42058e,'opencode':!![],'failed':!![]});}}else _0x19d421?.['trackPhaseStart'](_0x3a34ae['AXUGV']),await ensureClaudeSkills(_0x2e1280),_0x19d421?.['trackPhaseEnd']('skills',{'isFirstRun':_0x42058e});if(_0x2bbf7d?.['skipAuth'])console['log']('\x0aSkipping\x20profile\x20setup\x20(--skip-auth).\x20Run\x20`ranger\x20setup`\x20with\x20auth\x20to\x20add\x20a\x20profile\x20later.\x0a');else{if(_0x2bbf7d?.['url']){_0x19d421?.[_0x151159(0x223)](_0x3a34ae[_0x151159(0x219)]);const _0x5c9c78=await _0x3a34ae[_0x151159(0x22b)](ensureLocalEnv,{'url':_0x2bbf7d[_0x151159(0x21b)],'force':_0x2bbf7d?.['force'],'allowInsecureLocalhost':_0x2bbf7d?.[_0x151159(0x1f8)],'scope':_0x3a34ae[_0x151159(0x1f3)]},_0x19d421);_0x19d421?.[_0x151159(0x226)](_0x3a34ae['CPGfT'],{'isFirstRun':_0x42058e,'profileReady':_0x5c9c78['ready'],'userSkipped':_0x5c9c78[_0x151159(0x1c7)]});}else console[_0x151159(0x21d)](_0x3a34ae['uNHZT']('\x0aTo\x20set\x20up\x20a\x20profile\x20for\x20your\x20app,\x20run:'+('\x0a\x20\x20'+_0x3a34ae['jiEEb'](bold,'ranger\x20profile\x20add\x20<name>'))+_0x151159(0x228),_0x151159(0x217))+'\x0a\x20\x20https://docs.ranger.net/main/concepts/profiles');}if(_0xb62d1e)console['log'](_0x3a34ae[_0x151159(0x1d1)]),console[_0x151159(0x21d)](_0x151159(0x1df)),console[_0x151159(0x21d)]('with\x20scenarios\x20describing\x20what\x20to\x20verify\x20and\x20then\x20run\x20browser'),console[_0x151159(0x21d)](_0x151159(0x1d6));else{const _0x3639db=bold(_0x3a34ae[_0x151159(0x1f7)]);console['log'](_0x3a34ae['MWMJH'](_0x3a34ae[_0x151159(0x1cf)](_0x3a34ae[_0x151159(0x220)](_0x151159(0x20e)+_0x3639db+_0x151159(0x1da),'\x0aagent\x20like\x20usual.\x20Claude\x20will\x20create\x20a\x20feature\x20review\x20with'),'\x0ascenarios\x20describing\x20what\x20to\x20verify\x20and\x20then\x20run\x20browser'),'\x0averification\x20to\x20check\x20its\x20work\x20as\x20it\x20builds.'));}}
@@ -1 +1 @@
1
- const _0x47f843=_0xb791;(function(_0x26667e,_0x1a2873){const _0x11aea4=_0xb791,_0x2d77df=_0x26667e();while(!![]){try{const _0x3eba27=-parseInt(_0x11aea4(0x160))/0x1+-parseInt(_0x11aea4(0x182))/0x2*(parseInt(_0x11aea4(0x178))/0x3)+-parseInt(_0x11aea4(0x14f))/0x4+parseInt(_0x11aea4(0x180))/0x5*(-parseInt(_0x11aea4(0x131))/0x6)+parseInt(_0x11aea4(0x16d))/0x7*(parseInt(_0x11aea4(0x12b))/0x8)+parseInt(_0x11aea4(0x168))/0x9*(parseInt(_0x11aea4(0x140))/0xa)+parseInt(_0x11aea4(0x135))/0xb*(parseInt(_0x11aea4(0x146))/0xc);if(_0x3eba27===_0x1a2873)break;else _0x2d77df['push'](_0x2d77df['shift']());}catch(_0x1d29f9){_0x2d77df['push'](_0x2d77df['shift']());}}}(_0x5636,0x3406d));import{readFile,readdir}from'fs/promises';import{join,basename}from'path';import{existsSync}from'fs';import{getToken}from'./utils/keychain.js';import{getCurrentVersion,getLatestVersion}from'./utils/version.js';import{getApiBaseUrl,getCurrentEnvironment}from'./utils/environment.js';import{getProjectSkillsDir,getUserSkillsDir}from'./utils/claudeConfig.js';import{getEnvNames}from'./env.js';import{getCurrentUser}from'./utils/userApi.js';import{getRangerDir}from'./utils/rangerRoot.js';import{getEnvDir}from'./utils/settings.js';import{listCloudProfiles}from'./utils/cloudProfile.js';import{getPluginInfo}from'./utils/claudePlugin.js';import{RANGER_MANAGED_SKILLS}from'./utils/skills.js';import{spawn}from'child_process';const bold=_0x2d4203=>'\x1b[1m'+_0x2d4203+_0x47f843(0x134),link=(_0x1ce47f,_0x1f67b8)=>'\x1b]8;;file://'+_0x1ce47f+'\x07'+(_0x1f67b8||_0x1ce47f)+_0x47f843(0x13b);async function getOpencodePluginStatus(){const _0x2f75ca=_0x47f843,_0x1aea70={'GXeXm':function(_0x3487e8,_0x50c3b7){return _0x3487e8(_0x50c3b7);},'jkgMi':'not_configured','CFkcU':function(_0x374478,_0x3bd71f,_0x330fb7,_0x32e307){return _0x374478(_0x3bd71f,_0x330fb7,_0x32e307);},'alcna':_0x2f75ca(0x188),'NMfwu':'ignore','bmsRM':'pipe','mOHyG':_0x2f75ca(0x13e),'DXYzg':'error'};return new Promise(_0xf6bb5f=>{const _0x5d5865=_0x2f75ca,_0x4f5101=_0x1aea70['CFkcU'](spawn,_0x1aea70['alcna'],['debug',_0x5d5865(0x14a)],{'stdio':[_0x1aea70[_0x5d5865(0x150)],_0x5d5865(0x145),_0x1aea70[_0x5d5865(0x137)]]});let _0x219800='';_0x4f5101['stdout']?.['on'](_0x1aea70['mOHyG'],_0x51b42b=>{const _0x392984=_0x5d5865;_0x219800+=_0x51b42b[_0x392984(0x151)]();}),_0x4f5101[_0x5d5865(0x176)]?.['on'](_0x1aea70[_0x5d5865(0x154)],_0x3f760a=>{_0x219800+=_0x3f760a['toString']();}),_0x4f5101['on'](_0x1aea70[_0x5d5865(0x171)],()=>{_0xf6bb5f({'status':'not_installed'});}),_0x4f5101['on']('close',_0x391edf=>{const _0x594036=_0x5d5865,_0xa0912b={'KeWwL':function(_0x3d5ab9,_0x17c86f){return _0x3d5ab9!==_0x17c86f;},'pCCUb':_0x594036(0x179)};if(_0x391edf!==0x0){_0xf6bb5f({'status':'not_installed'});return;}const _0x467ee3=_0x219800[_0x594036(0x16b)]();let _0x10cf63=null;if(_0x467ee3)try{_0x10cf63=JSON['parse'](_0x467ee3);}catch{const _0x44397e=_0x467ee3['match'](/\{[\s\S]*\}$/);if(_0x44397e)try{_0x10cf63=JSON[_0x594036(0x17c)](_0x44397e[0x0]);}catch{_0x10cf63=null;}}const _0x5c6fcb=Array[_0x594036(0x138)](_0x10cf63?.[_0x594036(0x19c)])?_0x10cf63?.['plugin']:[],_0x325c09=_0x5c6fcb[_0x594036(0x149)](_0x25409c=>{const _0x1fc83e=_0x594036;if(_0xa0912b[_0x1fc83e(0x192)](typeof _0x25409c,'string'))return![];return _0x25409c['includes'](_0xa0912b['pCCUb'])||_0x25409c['includes']('opencode-plugin');});if(_0x325c09){_0xf6bb5f({'status':_0x594036(0x152),'details':_0x5c6fcb[_0x594036(0x175)]>0x0?_0x5c6fcb['length']+'\x20plugin(s)\x20configured':undefined});return;}if(_0x5c6fcb['length']>0x0){_0x1aea70[_0x594036(0x155)](_0xf6bb5f,{'status':_0x1aea70[_0x594036(0x16e)],'details':_0x5c6fcb['length']+'\x20plugin(s)\x20configured'});return;}_0x1aea70['GXeXm'](_0xf6bb5f,{'status':_0x1aea70['jkgMi']});});});}async function getSkillsFromDir(_0x4e71b4,_0xc9470a){const _0x1bc678=_0x47f843,_0x21bd5b={'EkfUN':function(_0x4bbd37,_0x24a967){return _0x4bbd37(_0x24a967);},'ZFwGU':function(_0x2062e2,_0x3982e5,_0x381d9d,_0x5595ed){return _0x2062e2(_0x3982e5,_0x381d9d,_0x5595ed);},'WdwmW':function(_0x1b8588,_0x231bb7,_0x40bceb){return _0x1b8588(_0x231bb7,_0x40bceb);},'gSqFd':_0x1bc678(0x173)};if(!_0x21bd5b[_0x1bc678(0x197)](existsSync,_0x4e71b4))return[];const _0x3ed883=[];try{const _0x325387=await readdir(_0x4e71b4,{'withFileTypes':!![]});for(const _0x5c7e23 of _0x325387){if(_0x5c7e23[_0x1bc678(0x19d)]()){const _0x4a2d6e=_0x21bd5b['ZFwGU'](join,_0x4e71b4,_0x5c7e23[_0x1bc678(0x153)],'SKILL.md');if(existsSync(_0x4a2d6e)){let _0x370dcd=_0x5c7e23['name'];try{const _0x210506=await _0x21bd5b['WdwmW'](readFile,_0x4a2d6e,_0x21bd5b[_0x1bc678(0x189)]),_0x127968=_0x210506['match'](/name:\s*(.+)/);_0x127968&&(_0x370dcd=_0x127968[0x1]['trim']());}catch{}_0x3ed883[_0x1bc678(0x177)]({'name':_0x5c7e23['name'],'displayName':_0x370dcd,'path':_0x4a2d6e,'level':_0xc9470a});}}}}catch{return[];}return _0x3ed883;}function _0x5636(){const _0x2c07e2=['pipe','24GEEqfs','FmCsL','includes','some','config','lAukg','\x20\x20User-level:','has','SpGgH','1239088BKlhoP','NMfwu','toString','configured','name','mOHyG','GXeXm','scope','details','(not\x20found)',':\x20configured','enabled','aiPkw','\x20\x20Run:\x20ranger\x20profile\x20add\x20<profile-name>',':\x20installed\x20(','\x20\x20Run:\x20ranger\x20profile\x20ls\x20\x20(list\x20all)','version','395985ISVgzg','settingsPath','ClyVO','map','BzuwW','\x0a---\x20Claude\x20Code\x20Plugin\x20---','ranger@trailhead','DEBUG','9sSutiV','sessionUpdatedAt','YnEWX','trim','Ijrci','53977cACImG','jkgMi','API\x20Token:\x20✗\x20Not\x20found','cached\x20(updated\x20','DXYzg','\x20\x20Run:\x20ranger\x20update','utf-8','\x20\x20Run:\x20ranger\x20setup\x20[token]','length','stderr','push','3UGSQDX','@ranger-testing/opencode-plugin','\x20\x20\x20\x20Auth:\x20','oZvym','parse','join','env','nihQL','186605lxAOqU','Osjcl','634194RzhOwu','fIIbQ','log','no\x20session','\x20[cloud]','\x0a---\x20Skills\x20---','opencode','gSqFd','isActive','\x0a📊\x20Ranger\x20Status\x0a','lJOBo','JlHjH','Version:\x20','HwuOH','\x20\x20Run:\x20ranger\x20skillup','njbOH','KeWwL','\x20local','\x20\x20\x20\x20Session:\x20','yRWif','displayName','EkfUN','KEoGC','\x20\x20Not\x20configured','rKGDw','\x20\x20\x20\x20','plugin','isDirectory','status','toYXQ','auth.json.enc','filter','API\x20Token:\x20✓\x20Found\x20but\x20invalid\x20or\x20expired','unknown','72qdALrk','GEkyQ','\x20[local]','YAPtM','hzDjz','\x20\x20Run:\x20ranger\x20setup\x20--opencode','60nOWkbr','ZRDMU','project','\x1b[0m','7673083jRxdoc','\x20(up\x20to\x20date)','bmsRM','isArray','API\x20Environment:\x20','Root:\x20','\x1b]8;;\x07','xfvdu','uENDi','data','\x20(latest:\x20','1446600NEqCaD','\x20\x20Project-level:','path','xxZCj','nkShO'];_0x5636=function(){return _0x2c07e2;};return _0x5636();}async function getInstalledSkills(){const _0xf92f7a=_0x47f843,_0x32b81f={'Osjcl':function(_0x2a3112,_0x151987,_0x42d21c){return _0x2a3112(_0x151987,_0x42d21c);},'xxZCj':_0xf92f7a(0x133),'LdIvw':function(_0x6c39f8){return _0x6c39f8();},'BjLva':'user'},[_0x129da9,_0x3926bc]=await Promise['all']([_0x32b81f[_0xf92f7a(0x181)](getSkillsFromDir,getProjectSkillsDir(),_0x32b81f[_0xf92f7a(0x143)]),getSkillsFromDir(_0x32b81f['LdIvw'](getUserSkillsDir),_0x32b81f['BjLva'])]);return{'project':_0x129da9,'user':_0x3926bc};}async function getEnvironments(){const _0x25ba58=_0x47f843,_0xf242e4={'rPAmg':function(_0x5067cf,_0x8a6911){return _0x5067cf(_0x8a6911);},'yLFHB':'settings.json','YAPtM':function(_0x42fe8c,_0x4e8b9a,_0x11bf66){return _0x42fe8c(_0x4e8b9a,_0x11bf66);},'ZRDMU':_0x25ba58(0x158),'mvIgm':function(_0x41460f,_0x2b12ca){return _0x41460f===_0x2b12ca;},'KEoGC':function(_0x1f61be){return _0x1f61be();},'njbOH':function(_0x5a4a64,_0x5868bc){return _0x5a4a64(_0x5868bc);}},{envNames:_0x2a9b7e,activeEnv:_0x1a342c}=await _0xf242e4[_0x25ba58(0x198)](getEnvNames),_0x114883=getRangerDir();if(!_0xf242e4[_0x25ba58(0x191)](existsSync,_0x114883))return{'envs':[],'activeEnv':null};const _0xc9ee13=_0x2a9b7e[_0x25ba58(0x163)](_0x3994c1=>{const _0x3109fd=_0x25ba58,_0x4d04a4=_0xf242e4['rPAmg'](getEnvDir,_0x3994c1),_0x322469=join(_0x4d04a4,_0xf242e4['yLFHB']),_0x3ae3ca=_0xf242e4[_0x3109fd(0x12e)](join,_0x4d04a4,'auth.json'),_0x564c2c=join(_0x4d04a4,_0x3109fd(0x1a0));return{'name':_0x3994c1,'settingsPath':existsSync(_0x322469)?_0x322469:_0xf242e4[_0x3109fd(0x132)],'hasPlaintextAuth':existsSync(_0x3ae3ca),'hasEncryptedAuth':_0xf242e4['rPAmg'](existsSync,_0x564c2c),'isActive':_0xf242e4['mvIgm'](_0x3994c1,_0x1a342c)};});return{'envs':_0xc9ee13,'activeEnv':_0x1a342c};}function _0xb791(_0x14b21d,_0x3cf135){_0x14b21d=_0x14b21d-0x128;const _0x56367f=_0x5636();let _0xb791b0=_0x56367f[_0x14b21d];return _0xb791b0;}export async function status(){const _0x4525e9=_0x47f843,_0x5726f5={'DMIbx':_0x4525e9(0x18b),'lAukg':function(_0x894ded){return _0x894ded();},'VHrtg':function(_0x45ed73,_0x5c8893){return _0x45ed73(_0x5c8893);},'lJOBo':function(_0x2111f5,_0x1fb509,_0x3f152e){return _0x2111f5(_0x1fb509,_0x3f152e);},'Ijrci':function(_0xe35e4d,_0x3c979f){return _0xe35e4d(_0x3c979f);},'NmwUZ':function(_0x1d10c3){return _0x1d10c3();},'yRWif':function(_0x4678b1,_0x5878e8){return _0x4678b1!==_0x5878e8;},'uENDi':function(_0x47ff0a,_0x25d351){return _0x47ff0a(_0x25d351);},'Mfikx':'\x0a---\x20OpenCode\x20Plugin\x20---','kZdwG':_0x4525e9(0x152),'BzuwW':_0x4525e9(0x179),'fWebZ':function(_0x94fb94,_0x5ef911){return _0x94fb94===_0x5ef911;},'HRfzO':_0x4525e9(0x199),'oZvym':_0x4525e9(0x130),'YzyVB':'\x20\x20OpenCode\x20not\x20installed\x20or\x20not\x20available','qQlYr':_0x4525e9(0x165),'hzDjz':function(_0x29bc38,_0x5a0299){return _0x29bc38(_0x5a0299);},'nYNTA':_0x4525e9(0x12a),'ClyVO':_0x4525e9(0x15a),'LlWns':function(_0x1ce2a3,_0x3b1907){return _0x1ce2a3(_0x3b1907);},'zxwlO':_0x4525e9(0x166),'rKGDw':'\x20\x20Not\x20installed','JlHjH':'\x20\x20Run:\x20ranger\x20setup\x20[token]\x20\x20(includes\x20plugin\x20installation)','toYXQ':_0x4525e9(0x187),'aiPkw':function(_0x50c567,_0x3746f9){return _0x50c567===_0x3746f9;},'nkShO':function(_0xbd595e,_0x55e6d8){return _0xbd595e>_0x55e6d8;},'GEkyQ':_0x4525e9(0x14c),'uUUEZ':function(_0x528352,_0x541862){return _0x528352(_0x541862);},'fIIbQ':'\x0a---\x20Profiles\x20---','CDawQ':function(_0x53f690){return _0x53f690();},'YnEWX':function(_0xb49ea4,_0x5509c0){return _0xb49ea4+_0x5509c0;},'OjtyQ':function(_0x19e32a,_0x277818){return _0x19e32a===_0x277818;},'FmCsL':function(_0x3fa145,_0xd95202){return _0x3fa145>_0xd95202;},'eZgCQ':function(_0x547524,_0x2620d6){return _0x547524===_0x2620d6;},'nihQL':'\x20(active)','HwuOH':function(_0x5eea48,_0xb02d1b){return _0x5eea48(_0xb02d1b);},'TBJbY':'encrypted','SpGgH':'plaintext','QyBWM':_0x4525e9(0x158),'xfvdu':function(_0x2e367d,_0x406937){return _0x2e367d(_0x406937);}};console[_0x4525e9(0x184)](_0x5726f5['DMIbx']);const _0x2df814=process['cwd'](),_0x4bb284=_0x5726f5['lAukg'](getRangerDir);if(!_0x5726f5['VHrtg'](existsSync,_0x4bb284)){console['log']('Root:\x20'+_0x5726f5['lJOBo'](link,_0x2df814,bold(basename(_0x2df814)))),console['log']('\x0aRanger\x20has\x20not\x20been\x20initialized\x20in\x20this\x20directory.'),console[_0x4525e9(0x184)]('\x20\x20Run:\x20ranger\x20setup\x20[token]\x0a');return;}console[_0x4525e9(0x184)](_0x4525e9(0x13a)+_0x5726f5['lJOBo'](link,_0x2df814,_0x5726f5[_0x4525e9(0x16c)](bold,_0x5726f5[_0x4525e9(0x16c)](basename,_0x2df814))));const _0x26baae=_0x5726f5['NmwUZ'](getCurrentVersion),_0x5ce380=getLatestVersion();if(_0x5ce380['version']&&_0x5726f5[_0x4525e9(0x195)](_0x5ce380['version'],_0x26baae))console[_0x4525e9(0x184)](_0x4525e9(0x18e)+_0x26baae+_0x4525e9(0x13f)+_0x5ce380[_0x4525e9(0x15f)]+')'),console['log'](_0x4525e9(0x172));else _0x5ce380[_0x4525e9(0x15f)]?console[_0x4525e9(0x184)]('Version:\x20'+_0x26baae+_0x4525e9(0x136)):console[_0x4525e9(0x184)](_0x4525e9(0x18e)+_0x26baae);const _0x5d0e96=await _0x5726f5['NmwUZ'](getToken);if(_0x5d0e96){const _0x38dd30=await _0x5726f5[_0x4525e9(0x13d)](getCurrentUser,_0x5d0e96);_0x38dd30['success']?console['log']('Organization:\x20'+_0x5726f5[_0x4525e9(0x13d)](bold,_0x38dd30['user']['organizationName'])):(console['log'](_0x4525e9(0x129)),console[_0x4525e9(0x184)](_0x4525e9(0x174)));}else console[_0x4525e9(0x184)](_0x4525e9(0x16f)),console['log']('\x20\x20Run:\x20ranger\x20setup\x20[token]');process[_0x4525e9(0x17e)][_0x4525e9(0x167)]&&(console[_0x4525e9(0x184)](_0x4525e9(0x139)+getCurrentEnvironment()),console['log']('API\x20URL:\x20'+getApiBaseUrl()));console['log'](_0x5726f5['Mfikx']);const _0x2b3630=await getOpencodePluginStatus();if(_0x2b3630[_0x4525e9(0x19e)]===_0x5726f5['kZdwG'])console[_0x4525e9(0x184)]('\x20\x20'+bold(_0x5726f5[_0x4525e9(0x164)])+_0x4525e9(0x159)),_0x2b3630['details']&&console[_0x4525e9(0x184)]('\x20\x20'+_0x2b3630['details']);else _0x5726f5['fWebZ'](_0x2b3630['status'],'not_configured')?(console[_0x4525e9(0x184)](_0x5726f5['HRfzO']),_0x2b3630[_0x4525e9(0x157)]&&console[_0x4525e9(0x184)]('\x20\x20'+_0x2b3630[_0x4525e9(0x157)]),console['log'](_0x5726f5[_0x4525e9(0x17b)])):console[_0x4525e9(0x184)](_0x5726f5['YzyVB']);console['log'](_0x5726f5['qQlYr']);const _0xe33226=await _0x5726f5[_0x4525e9(0x12f)](getPluginInfo,_0x4525e9(0x166));if(_0xe33226){const _0xcc7561=_0xe33226[_0x4525e9(0x156)]||_0x5726f5['nYNTA'],_0x3fc5b7=_0xe33226[_0x4525e9(0x15a)]?_0x5726f5[_0x4525e9(0x162)]:'disabled';console['log']('\x20\x20'+_0x5726f5['LlWns'](bold,_0x5726f5['zxwlO'])+_0x4525e9(0x15d)+_0xcc7561+',\x20'+_0x3fc5b7+')');}else console['log'](_0x5726f5[_0x4525e9(0x19a)]),console['log'](_0x5726f5[_0x4525e9(0x18d)]);console['log'](_0x5726f5[_0x4525e9(0x19f)]);const {project:_0x9d63fc,user:_0x27d0fc}=await _0x5726f5[_0x4525e9(0x14b)](getInstalledSkills),_0x27250c=_0x9d63fc['filter'](_0x344536=>RANGER_MANAGED_SKILLS[_0x4525e9(0x148)](_0x344536[_0x4525e9(0x153)])),_0x2041b4=_0x27d0fc[_0x4525e9(0x128)](_0x5790cc=>RANGER_MANAGED_SKILLS[_0x4525e9(0x148)](_0x5790cc[_0x4525e9(0x153)])),_0x4ed90d=_0x27250c['length']+_0x2041b4[_0x4525e9(0x175)];if(_0x5726f5[_0x4525e9(0x15b)](_0x4ed90d,0x0))console[_0x4525e9(0x184)]('No\x20skills\x20installed'),console[_0x4525e9(0x184)](_0x4525e9(0x190));else{if(_0x5726f5[_0x4525e9(0x144)](_0x27250c[_0x4525e9(0x175)],0x0)){console['log'](_0x4525e9(0x141));for(const _0x35083b of _0x27250c){console[_0x4525e9(0x184)](_0x4525e9(0x19b)+_0x5726f5[_0x4525e9(0x16c)](bold,_0x35083b[_0x4525e9(0x196)])+':\x20'+link(_0x35083b[_0x4525e9(0x142)],basename(_0x35083b['path'])));}}if(_0x2041b4['length']>0x0){console[_0x4525e9(0x184)](_0x5726f5[_0x4525e9(0x12c)]);for(const _0x320949 of _0x2041b4){console['log']('\x20\x20\x20\x20'+_0x5726f5['uUUEZ'](bold,_0x320949['displayName'])+':\x20'+link(_0x320949[_0x4525e9(0x142)],_0x5726f5[_0x4525e9(0x12f)](basename,_0x320949[_0x4525e9(0x142)])));}}}console[_0x4525e9(0x184)](_0x5726f5[_0x4525e9(0x183)]);const {envs:_0x38b3b2,activeEnv:_0x2d8907}=await _0x5726f5['CDawQ'](getEnvironments);let _0x286a9d=[];if(_0x5d0e96)try{_0x286a9d=await listCloudProfiles();}catch{}const _0x35e11a=_0x5726f5[_0x4525e9(0x16a)](_0x38b3b2[_0x4525e9(0x175)],_0x286a9d[_0x4525e9(0x175)]);if(_0x5726f5['OjtyQ'](_0x35e11a,0x0))console[_0x4525e9(0x184)]('No\x20profiles\x20configured'),console[_0x4525e9(0x184)](_0x4525e9(0x15c));else{if(_0x5726f5[_0x4525e9(0x144)](_0x35e11a,0x5)){const _0x39f9ef=[];_0x286a9d['length']>0x0&&_0x39f9ef['push'](_0x286a9d[_0x4525e9(0x175)]+'\x20cloud'),_0x5726f5[_0x4525e9(0x147)](_0x38b3b2['length'],0x0)&&_0x39f9ef[_0x4525e9(0x177)](_0x38b3b2[_0x4525e9(0x175)]+_0x4525e9(0x193)),console['log'](_0x35e11a+'\x20profiles\x20configured\x20('+_0x39f9ef[_0x4525e9(0x17d)](',\x20')+')'),_0x2d8907&&console[_0x4525e9(0x184)]('\x20\x20Active:\x20'+bold(_0x2d8907)),console[_0x4525e9(0x184)](_0x4525e9(0x15e));}else{for(const _0x33339d of _0x286a9d){const _0x4a36e1=_0x5726f5['eZgCQ'](_0x33339d['name'],_0x2d8907)?_0x5726f5[_0x4525e9(0x17f)]:'';console[_0x4525e9(0x184)]('\x20\x20'+_0x5726f5[_0x4525e9(0x18f)](bold,_0x33339d[_0x4525e9(0x153)])+_0x4525e9(0x186)+_0x4a36e1);const _0x5434d3=_0x33339d['sessionUpdatedAt']?_0x4525e9(0x170)+_0x33339d[_0x4525e9(0x169)]+')':_0x4525e9(0x185);console['log'](_0x4525e9(0x194)+_0x5434d3);}const _0x4e9c75=new Set(_0x286a9d['map'](_0x75acfe=>_0x75acfe['name']));for(const _0x445312 of _0x38b3b2){if(_0x4e9c75[_0x4525e9(0x14d)](_0x445312['name']))continue;const _0x361712=_0x445312[_0x4525e9(0x18a)]?_0x5726f5[_0x4525e9(0x17f)]:'',_0x57c2bb=_0x445312['hasEncryptedAuth']?_0x5726f5['TBJbY']:_0x445312['hasPlaintextAuth']?_0x5726f5[_0x4525e9(0x14e)]:'none';console['log']('\x20\x20'+bold(_0x445312['name'])+_0x4525e9(0x12d)+_0x361712),console[_0x4525e9(0x184)](_0x4525e9(0x17a)+_0x57c2bb),_0x5726f5[_0x4525e9(0x195)](_0x445312['settingsPath'],_0x5726f5['QyBWM'])&&console[_0x4525e9(0x184)]('\x20\x20\x20\x20Settings:\x20'+_0x5726f5[_0x4525e9(0x18c)](link,_0x445312[_0x4525e9(0x161)],_0x5726f5[_0x4525e9(0x13c)](basename,_0x445312[_0x4525e9(0x161)])));}if(!_0x2d8907){console['log']('\x0a\x20\x20No\x20active\x20profile\x20set');const _0x15a730=[..._0x286a9d[_0x4525e9(0x163)](_0x9ce433=>_0x9ce433[_0x4525e9(0x153)]),..._0x38b3b2['filter'](_0x54f482=>!_0x4e9c75['has'](_0x54f482[_0x4525e9(0x153)]))[_0x4525e9(0x163)](_0x3352cb=>_0x3352cb[_0x4525e9(0x153)])];console['log']('\x20\x20Run:\x20ranger\x20profile\x20use\x20<profile-name>\x20\x20(available:\x20'+_0x15a730['join'](',\x20')+')');}}}console['log']('');}
1
+ const _0x263f84=_0x57af;(function(_0x189476,_0x2c7239){const _0x4f77b0=_0x57af,_0x518551=_0x189476();while(!![]){try{const _0x38527c=parseInt(_0x4f77b0(0x1ba))/0x1+parseInt(_0x4f77b0(0x202))/0x2+parseInt(_0x4f77b0(0x20a))/0x3*(parseInt(_0x4f77b0(0x1bf))/0x4)+-parseInt(_0x4f77b0(0x22d))/0x5*(-parseInt(_0x4f77b0(0x1f0))/0x6)+-parseInt(_0x4f77b0(0x205))/0x7+-parseInt(_0x4f77b0(0x226))/0x8+parseInt(_0x4f77b0(0x209))/0x9*(-parseInt(_0x4f77b0(0x1ec))/0xa);if(_0x38527c===_0x2c7239)break;else _0x518551['push'](_0x518551['shift']());}catch(_0x3f5ee7){_0x518551['push'](_0x518551['shift']());}}}(_0x2b33,0x789de));import{readFile,readdir}from'fs/promises';import{join,basename}from'path';import{existsSync}from'fs';import{getToken}from'./utils/keychain.js';import{getCurrentVersion,getLatestVersion}from'./utils/version.js';function _0x57af(_0x14f284,_0x44a76f){_0x14f284=_0x14f284-0x1b8;const _0x2b3313=_0x2b33();let _0x57af27=_0x2b3313[_0x14f284];return _0x57af27;}import{getApiBaseUrl,getCurrentEnvironment}from'./utils/environment.js';import{getProjectSkillsDir,getUserSkillsDir}from'./utils/claudeConfig.js';import{getEnvNames}from'./env.js';import{getCurrentUser}from'./utils/userApi.js';import{getRangerDir}from'./utils/rangerRoot.js';import{getEnvDir}from'./utils/settings.js';import{listCloudProfiles}from'./utils/cloudProfile.js';function _0x2b33(){const _0x1fb0e4=['\x20\x20Run:\x20ranger\x20profile\x20add\x20<profile-name>','gAYSD','organizationName','trim','iDgEb','eGuTG','\x20(active)','No\x20skills\x20installed','toString','plugin','status','API\x20URL:\x20','OPxGD','env','\x20\x20\x20\x20','UtYPf','kNlVC','includes','CkGix','user','\x0a📊\x20Ranger\x20Status\x0a','log','sessionUpdatedAt','some','\x1b[1m','(not\x20found)','project','jlZVN','path','isActive','\x20\x20Not\x20configured','kDUih','\x20[local]','Ithxs','\x0a---\x20Skills\x20---','ihNUJ','enabled','push','\x20\x20Run:\x20ranger\x20profile\x20ls\x20\x20(list\x20all)','9590KUfhfg','\x20\x20\x20\x20Session:\x20','hasPlaintextAuth','TbHsT','6cmPWEY','\x20local','GoFUV','ruHEZ','lFJip','luAUD','API\x20Environment:\x20','map','vWeRx','Tlkem','UjJjZ','dcWgA','\x0a---\x20Claude\x20Code\x20Plugin\x20---','RsTHP','isArray','stdout','kDMua','\x0a\x20\x20No\x20active\x20profile\x20set','774118NMwoRW','\x20\x20\x20\x20Settings:\x20','\x20\x20Run:\x20ranger\x20setup\x20[token]','3057831oZyLUy','length','settingsPath','success','1962jbrApS','14589wxhDfN','Version:\x20','pxSqY','UrOsp','pqLZT',':\x20installed\x20(','opencode','\x20\x20Run:\x20ranger\x20setup\x20[token]\x0a','nwBKk','data','cached\x20(updated\x20','ranger@trailhead','filter','pipe','\x1b]8;;file://','@ranger-testing/opencode-plugin','MzSIm','version','settings.json','RbUiM','HrAGK','\x20\x20User-level:','has','jaGwI','Root:\x20','\x20cloud','\x20\x20Run:\x20ranger\x20setup\x20[token]\x20\x20(includes\x20plugin\x20installation)','join','841704qWnKOI','\x20plugin(s)\x20configured','unknown','config','Ipsdj','\x20\x20Run:\x20ranger\x20update','\x20\x20Run:\x20ranger\x20skillup','3003415EavkbF','opencode-plugin','aDjey','9399CSyGxC','\x20\x20Active:\x20','Organization:\x20','\x20(up\x20to\x20date)','name','204Iyrfdy','API\x20Token:\x20✗\x20Not\x20found','scope','IldkK','parse','all'];_0x2b33=function(){return _0x1fb0e4;};return _0x2b33();}import{getPluginInfo}from'./utils/claudePlugin.js';import{RANGER_MANAGED_SKILLS}from'./utils/skills.js';import{spawn}from'child_process';const bold=_0x459b52=>_0x263f84(0x1dd)+_0x459b52+'\x1b[0m',link=(_0xf53db9,_0x5efce2)=>_0x263f84(0x218)+_0xf53db9+'\x07'+(_0x5efce2||_0xf53db9)+'\x1b]8;;\x07';async function getOpencodePluginStatus(){const _0x4260fe=_0x263f84,_0x4dbf6f={'SvHww':function(_0x3de946,_0x32ee63){return _0x3de946(_0x32ee63);},'sZaly':function(_0x4ca3ca,_0x4a0286){return _0x4ca3ca!==_0x4a0286;},'GoFUV':function(_0x740d2b,_0x2530bc){return _0x740d2b(_0x2530bc);},'fhUus':function(_0x318632,_0xb50cae){return _0x318632>_0xb50cae;},'UjJjZ':'not_configured','dpWWw':_0x4260fe(0x1b8),'TbHsT':function(_0x544852,_0x483ff7,_0x41e7dd,_0x152478){return _0x544852(_0x483ff7,_0x41e7dd,_0x152478);},'xAfpk':'ignore','kDMua':_0x4260fe(0x217),'jaGwI':'data'};return new Promise(_0x283d77=>{const _0x4f53c2=_0x4260fe,_0xa44268={'ihNUJ':'@ranger-testing/opencode-plugin','IldkK':_0x4dbf6f['dpWWw']},_0x152095=_0x4dbf6f[_0x4f53c2(0x1ef)](spawn,_0x4f53c2(0x210),['debug',_0x4f53c2(0x229)],{'stdio':[_0x4dbf6f['xAfpk'],_0x4dbf6f[_0x4f53c2(0x200)],_0x4f53c2(0x217)]});let _0x4da4b1='';_0x152095[_0x4f53c2(0x1ff)]?.['on'](_0x4dbf6f[_0x4f53c2(0x221)],_0x59325a=>{const _0x239e94=_0x4f53c2;_0x4da4b1+=_0x59325a[_0x239e94(0x1cd)]();}),_0x152095['stderr']?.['on'](_0x4f53c2(0x213),_0x35b3ae=>{_0x4da4b1+=_0x35b3ae['toString']();}),_0x152095['on']('error',()=>{_0x4dbf6f['SvHww'](_0x283d77,{'status':'not_installed'});}),_0x152095['on']('close',_0x4b1319=>{const _0x1da5c3=_0x4f53c2;if(_0x4dbf6f['sZaly'](_0x4b1319,0x0)){_0x283d77({'status':'not_installed'});return;}const _0x2917e9=_0x4da4b1[_0x1da5c3(0x1c8)]();let _0x23d1f7=null;if(_0x2917e9)try{_0x23d1f7=JSON['parse'](_0x2917e9);}catch{const _0x31aa04=_0x2917e9['match'](/\{[\s\S]*\}$/);if(_0x31aa04)try{_0x23d1f7=JSON[_0x1da5c3(0x1c3)](_0x31aa04[0x0]);}catch{_0x23d1f7=null;}}const _0x1372f1=Array[_0x1da5c3(0x1fe)](_0x23d1f7?.['plugin'])?_0x23d1f7?.[_0x1da5c3(0x1ce)]:[],_0x13d1af=_0x1372f1[_0x1da5c3(0x1dc)](_0x339e4a=>{const _0x3cf2ee=_0x1da5c3;if(typeof _0x339e4a!=='string')return![];return _0x339e4a['includes'](_0xa44268[_0x3cf2ee(0x1e8)])||_0x339e4a[_0x3cf2ee(0x1d6)](_0xa44268[_0x3cf2ee(0x1c2)]);});if(_0x13d1af){_0x4dbf6f[_0x1da5c3(0x1f2)](_0x283d77,{'status':'configured','details':_0x4dbf6f['fhUus'](_0x1372f1['length'],0x0)?_0x1372f1['length']+'\x20plugin(s)\x20configured':undefined});return;}if(_0x1372f1[_0x1da5c3(0x206)]>0x0){_0x283d77({'status':_0x4dbf6f[_0x1da5c3(0x1fa)],'details':_0x1372f1['length']+_0x1da5c3(0x227)});return;}_0x283d77({'status':_0x4dbf6f['UjJjZ']});});});}async function getSkillsFromDir(_0x766fe5,_0x5c1f8e){const _0x4fecbe=_0x263f84,_0x454676={'gAYSD':function(_0x413a14,_0x131a7a,_0x12f91b){return _0x413a14(_0x131a7a,_0x12f91b);},'Ipsdj':'SKILL.md','eGuTG':function(_0x339406,_0x19a4f4){return _0x339406(_0x19a4f4);},'gcPLh':'utf-8'};if(!existsSync(_0x766fe5))return[];const _0x5d1b50=[];try{const _0x5d4be8=await _0x454676[_0x4fecbe(0x1c6)](readdir,_0x766fe5,{'withFileTypes':!![]});for(const _0x52c05e of _0x5d4be8){if(_0x52c05e['isDirectory']()){const _0x50b9aa=join(_0x766fe5,_0x52c05e['name'],_0x454676[_0x4fecbe(0x22a)]);if(_0x454676[_0x4fecbe(0x1ca)](existsSync,_0x50b9aa)){let _0x18703b=_0x52c05e[_0x4fecbe(0x1be)];try{const _0x5052a1=await _0x454676['gAYSD'](readFile,_0x50b9aa,_0x454676['gcPLh']),_0x442af6=_0x5052a1['match'](/name:\s*(.+)/);_0x442af6&&(_0x18703b=_0x442af6[0x1]['trim']());}catch{}_0x5d1b50['push']({'name':_0x52c05e[_0x4fecbe(0x1be)],'displayName':_0x18703b,'path':_0x50b9aa,'level':_0x5c1f8e});}}}}catch{return[];}return _0x5d1b50;}async function getInstalledSkills(){const _0x5a1730=_0x263f84,_0x908163={'WjDJV':function(_0x43e361,_0x135639,_0x3ad673){return _0x43e361(_0x135639,_0x3ad673);},'FHACV':function(_0x5b94d5){return _0x5b94d5();},'UtYPf':_0x5a1730(0x1df),'ruHEZ':_0x5a1730(0x1d8)},[_0x3c8a25,_0x1217ac]=await Promise[_0x5a1730(0x1c4)]([_0x908163['WjDJV'](getSkillsFromDir,_0x908163['FHACV'](getProjectSkillsDir),_0x908163[_0x5a1730(0x1d4)]),getSkillsFromDir(getUserSkillsDir(),_0x908163[_0x5a1730(0x1f3)])]);return{'project':_0x3c8a25,'user':_0x1217ac};}async function getEnvironments(){const _0x4a37f1=_0x263f84,_0x4c29ff={'OcJPX':function(_0x554280,_0x39c092,_0x499538){return _0x554280(_0x39c092,_0x499538);},'nwBKk':'auth.json','TzInN':'auth.json.enc','LRvhC':function(_0x4f15dd,_0x4e8069){return _0x4f15dd(_0x4e8069);},'poaZr':function(_0x559d8a,_0x4f9a0d){return _0x559d8a===_0x4f9a0d;},'PUzyk':function(_0x15835d){return _0x15835d();},'iDgEb':function(_0x22ba09,_0x2fd1c1){return _0x22ba09(_0x2fd1c1);}},{envNames:_0x4eaf5a,activeEnv:_0x1121f4}=await _0x4c29ff['PUzyk'](getEnvNames),_0x16fd3f=getRangerDir();if(!_0x4c29ff[_0x4a37f1(0x1c9)](existsSync,_0x16fd3f))return{'envs':[],'activeEnv':null};const _0x4149dd=_0x4eaf5a['map'](_0x360cfd=>{const _0xfbcb18=_0x4a37f1,_0x5bae71=getEnvDir(_0x360cfd),_0xbe455b=join(_0x5bae71,_0xfbcb18(0x21c)),_0x30c11c=_0x4c29ff['OcJPX'](join,_0x5bae71,_0x4c29ff[_0xfbcb18(0x212)]),_0x3e823b=join(_0x5bae71,_0x4c29ff['TzInN']);return{'name':_0x360cfd,'settingsPath':_0x4c29ff['LRvhC'](existsSync,_0xbe455b)?_0xbe455b:'(not\x20found)','hasPlaintextAuth':existsSync(_0x30c11c),'hasEncryptedAuth':existsSync(_0x3e823b),'isActive':_0x4c29ff['poaZr'](_0x360cfd,_0x1121f4)};});return{'envs':_0x4149dd,'activeEnv':_0x1121f4};}export async function status(){const _0x16c63b=_0x263f84,_0x38ba4f={'EoHjq':function(_0x70df7a,_0x1998b5,_0x58412b){return _0x70df7a(_0x1998b5,_0x58412b);},'RbUiM':function(_0x57b3f8,_0x32ab1d){return _0x57b3f8(_0x32ab1d);},'pxSqY':function(_0x10e95,_0x159246){return _0x10e95(_0x159246);},'dKtEG':function(_0xbd4433){return _0xbd4433();},'lFJip':function(_0x52efce){return _0x52efce();},'RsTHP':function(_0x300df6,_0x11a89d){return _0x300df6===_0x11a89d;},'RLQEA':'configured','kNlVC':function(_0x19d337,_0x134d4f){return _0x19d337(_0x134d4f);},'pqLZT':'not_configured','Tlkem':'ranger@trailhead','kDUih':_0x16c63b(0x228),'luAUD':_0x16c63b(0x224),'HrAGK':_0x16c63b(0x1e7),'OPxGD':function(_0x44bf55){return _0x44bf55();},'DWGxC':_0x16c63b(0x1cc),'oLkpY':function(_0x520397,_0x103604){return _0x520397>_0x103604;},'vWeRx':_0x16c63b(0x21f),'CkGix':function(_0x370894,_0x3d463e){return _0x370894(_0x3d463e);},'EaXnc':function(_0x2bca7d,_0x47dd5b){return _0x2bca7d+_0x47dd5b;},'MzSIm':'no\x20session','aDjey':'plaintext','jlZVN':'none','UrOsp':function(_0x44a079,_0x1ee3db){return _0x44a079(_0x1ee3db);},'dcWgA':function(_0x3c47f6,_0x28a48e){return _0x3c47f6!==_0x28a48e;},'Ithxs':_0x16c63b(0x1de)};console['log'](_0x16c63b(0x1d9));const _0x24c58d=process['cwd'](),_0x3ccf9f=getRangerDir();if(!existsSync(_0x3ccf9f)){console[_0x16c63b(0x1da)]('Root:\x20'+_0x38ba4f['EoHjq'](link,_0x24c58d,_0x38ba4f['RbUiM'](bold,_0x38ba4f[_0x16c63b(0x21d)](basename,_0x24c58d)))),console['log']('\x0aRanger\x20has\x20not\x20been\x20initialized\x20in\x20this\x20directory.'),console['log'](_0x16c63b(0x211));return;}console['log'](_0x16c63b(0x222)+link(_0x24c58d,_0x38ba4f[_0x16c63b(0x20c)](bold,_0x38ba4f['RbUiM'](basename,_0x24c58d))));const _0x5f08fa=_0x38ba4f['dKtEG'](getCurrentVersion),_0x2e9479=getLatestVersion();if(_0x2e9479['version']&&_0x2e9479[_0x16c63b(0x21b)]!==_0x5f08fa)console['log']('Version:\x20'+_0x5f08fa+'\x20(latest:\x20'+_0x2e9479['version']+')'),console['log'](_0x16c63b(0x22b));else _0x2e9479[_0x16c63b(0x21b)]?console['log'](_0x16c63b(0x20b)+_0x5f08fa+_0x16c63b(0x1bd)):console[_0x16c63b(0x1da)](_0x16c63b(0x20b)+_0x5f08fa);const _0x4fe4de=await getToken();if(_0x4fe4de){const _0x1ae857=await getCurrentUser(_0x4fe4de);_0x1ae857[_0x16c63b(0x208)]?console['log'](_0x16c63b(0x1bc)+bold(_0x1ae857[_0x16c63b(0x1d8)][_0x16c63b(0x1c7)])):(console[_0x16c63b(0x1da)]('API\x20Token:\x20✓\x20Found\x20but\x20invalid\x20or\x20expired'),console['log'](_0x16c63b(0x204)));}else console['log'](_0x16c63b(0x1c0)),console['log'](_0x16c63b(0x204));process[_0x16c63b(0x1d2)]['DEBUG']&&(console['log'](_0x16c63b(0x1f6)+getCurrentEnvironment()),console[_0x16c63b(0x1da)](_0x16c63b(0x1d0)+getApiBaseUrl()));console[_0x16c63b(0x1da)]('\x0a---\x20OpenCode\x20Plugin\x20---');const _0x46d178=await _0x38ba4f[_0x16c63b(0x1f4)](getOpencodePluginStatus);if(_0x38ba4f['RsTHP'](_0x46d178['status'],_0x38ba4f['RLQEA']))console['log']('\x20\x20'+_0x38ba4f[_0x16c63b(0x1d5)](bold,_0x16c63b(0x219))+':\x20configured'),_0x46d178['details']&&console[_0x16c63b(0x1da)]('\x20\x20'+_0x46d178['details']);else _0x38ba4f[_0x16c63b(0x1fd)](_0x46d178[_0x16c63b(0x1cf)],_0x38ba4f[_0x16c63b(0x20e)])?(console['log'](_0x16c63b(0x1e3)),_0x46d178['details']&&console['log']('\x20\x20'+_0x46d178['details']),console[_0x16c63b(0x1da)]('\x20\x20Run:\x20ranger\x20setup\x20--opencode')):console['log']('\x20\x20OpenCode\x20not\x20installed\x20or\x20not\x20available');console['log'](_0x16c63b(0x1fc));const _0x37adb5=await getPluginInfo(_0x38ba4f[_0x16c63b(0x1f9)]);if(_0x37adb5){const _0x23af5e=_0x37adb5[_0x16c63b(0x1c1)]||_0x38ba4f[_0x16c63b(0x1e4)],_0x2dbf5f=_0x37adb5['enabled']?_0x16c63b(0x1e9):'disabled';console[_0x16c63b(0x1da)]('\x20\x20'+bold(_0x16c63b(0x215))+_0x16c63b(0x20f)+_0x23af5e+',\x20'+_0x2dbf5f+')');}else console['log']('\x20\x20Not\x20installed'),console[_0x16c63b(0x1da)](_0x38ba4f[_0x16c63b(0x1f5)]);console[_0x16c63b(0x1da)](_0x38ba4f[_0x16c63b(0x21e)]);const {project:_0x6ffff6,user:_0xa9991f}=await _0x38ba4f[_0x16c63b(0x1d1)](getInstalledSkills),_0xd8fd77=_0x6ffff6['filter'](_0x22fb9e=>RANGER_MANAGED_SKILLS[_0x16c63b(0x1d6)](_0x22fb9e[_0x16c63b(0x1be)])),_0xa2a411=_0xa9991f['filter'](_0x247ace=>RANGER_MANAGED_SKILLS['includes'](_0x247ace['name'])),_0x531a41=_0xd8fd77['length']+_0xa2a411['length'];if(_0x531a41===0x0)console[_0x16c63b(0x1da)](_0x38ba4f['DWGxC']),console['log'](_0x16c63b(0x22c));else{if(_0x38ba4f['oLkpY'](_0xd8fd77[_0x16c63b(0x206)],0x0)){console['log']('\x20\x20Project-level:');for(const _0x59687b of _0xd8fd77){console[_0x16c63b(0x1da)](_0x16c63b(0x1d3)+bold(_0x59687b['displayName'])+':\x20'+link(_0x59687b[_0x16c63b(0x1e1)],basename(_0x59687b['path'])));}}if(_0xa2a411['length']>0x0){console[_0x16c63b(0x1da)](_0x38ba4f[_0x16c63b(0x1f8)]);for(const _0x249cd7 of _0xa2a411){console[_0x16c63b(0x1da)](_0x16c63b(0x1d3)+bold(_0x249cd7['displayName'])+':\x20'+_0x38ba4f['EoHjq'](link,_0x249cd7[_0x16c63b(0x1e1)],_0x38ba4f[_0x16c63b(0x1d7)](basename,_0x249cd7['path'])));}}}console[_0x16c63b(0x1da)]('\x0a---\x20Profiles\x20---');const {envs:_0x280cda,activeEnv:_0x13cc10}=await getEnvironments();let _0x1cfd13=[];if(_0x4fe4de)try{_0x1cfd13=await _0x38ba4f[_0x16c63b(0x1f4)](listCloudProfiles);}catch{}const _0x55405b=_0x38ba4f['EaXnc'](_0x280cda['length'],_0x1cfd13[_0x16c63b(0x206)]);if(_0x55405b===0x0)console['log']('No\x20profiles\x20configured'),console[_0x16c63b(0x1da)](_0x16c63b(0x1c5));else{if(_0x55405b>0x5){const _0x56ed1c=[];_0x1cfd13['length']>0x0&&_0x56ed1c['push'](_0x1cfd13[_0x16c63b(0x206)]+_0x16c63b(0x223)),_0x280cda[_0x16c63b(0x206)]>0x0&&_0x56ed1c[_0x16c63b(0x1ea)](_0x280cda[_0x16c63b(0x206)]+_0x16c63b(0x1f1)),console[_0x16c63b(0x1da)](_0x55405b+'\x20profiles\x20configured\x20('+_0x56ed1c[_0x16c63b(0x225)](',\x20')+')'),_0x13cc10&&console[_0x16c63b(0x1da)](_0x16c63b(0x1bb)+_0x38ba4f['RbUiM'](bold,_0x13cc10)),console['log'](_0x16c63b(0x1eb));}else{for(const _0x4d8bca of _0x1cfd13){const _0x4bdffc=_0x38ba4f[_0x16c63b(0x1fd)](_0x4d8bca[_0x16c63b(0x1be)],_0x13cc10)?_0x16c63b(0x1cb):'';console['log']('\x20\x20'+bold(_0x4d8bca['name'])+'\x20[cloud]'+_0x4bdffc);const _0xfd916=_0x4d8bca[_0x16c63b(0x1db)]?_0x16c63b(0x214)+_0x4d8bca['sessionUpdatedAt']+')':_0x38ba4f[_0x16c63b(0x21a)];console['log'](_0x16c63b(0x1ed)+_0xfd916);}const _0x517ab9=new Set(_0x1cfd13['map'](_0x1e6538=>_0x1e6538['name']));for(const _0x42df72 of _0x280cda){if(_0x517ab9[_0x16c63b(0x220)](_0x42df72[_0x16c63b(0x1be)]))continue;const _0x4a4669=_0x42df72[_0x16c63b(0x1e2)]?'\x20(active)':'',_0x53a712=_0x42df72['hasEncryptedAuth']?'encrypted':_0x42df72[_0x16c63b(0x1ee)]?_0x38ba4f[_0x16c63b(0x1b9)]:_0x38ba4f[_0x16c63b(0x1e0)];console['log']('\x20\x20'+_0x38ba4f[_0x16c63b(0x20d)](bold,_0x42df72['name'])+_0x16c63b(0x1e5)+_0x4a4669),console[_0x16c63b(0x1da)]('\x20\x20\x20\x20Auth:\x20'+_0x53a712),_0x38ba4f[_0x16c63b(0x1fb)](_0x42df72[_0x16c63b(0x207)],_0x38ba4f[_0x16c63b(0x1e6)])&&console['log'](_0x16c63b(0x203)+link(_0x42df72['settingsPath'],_0x38ba4f[_0x16c63b(0x21d)](basename,_0x42df72['settingsPath'])));}if(!_0x13cc10){console['log'](_0x16c63b(0x201));const _0x32c67f=[..._0x1cfd13['map'](_0x3c5840=>_0x3c5840[_0x16c63b(0x1be)]),..._0x280cda[_0x16c63b(0x216)](_0x47f33c=>!_0x517ab9[_0x16c63b(0x220)](_0x47f33c[_0x16c63b(0x1be)]))[_0x16c63b(0x1f7)](_0x4af643=>_0x4af643[_0x16c63b(0x1be)])];console[_0x16c63b(0x1da)]('\x20\x20Run:\x20ranger\x20profile\x20use\x20<profile-name>\x20\x20(available:\x20'+_0x32c67f['join'](',\x20')+')');}}}console[_0x16c63b(0x1da)]('');}