@ranger-testing/ranger-cli 3.0.1-alpha.aab0a1c-26 → 3.0.1-alpha.d9f4572-27

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 (81) 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/playwrightCli.js +1 -1
  60. package/build/commands/utils/profileMessages.js +1 -1
  61. package/build/commands/utils/profileSetupBanner.js +1 -1
  62. package/build/commands/utils/projectsConfig.js +1 -1
  63. package/build/commands/utils/rangerConfig.js +1 -1
  64. package/build/commands/utils/rangerRoot.js +1 -1
  65. package/build/commands/utils/resolveProfileContext.js +1 -1
  66. package/build/commands/utils/resolveProfileUrl.js +1 -1
  67. package/build/commands/utils/retry.js +1 -1
  68. package/build/commands/utils/sessionCache.js +1 -1
  69. package/build/commands/utils/settings.js +1 -1
  70. package/build/commands/utils/skillContent.js +1 -1
  71. package/build/commands/utils/skills.js +1 -1
  72. package/build/commands/utils/stitchWebmFiles.js +1 -1
  73. package/build/commands/utils/telemetry.js +1 -1
  74. package/build/commands/utils/tokenRefresh.js +1 -1
  75. package/build/commands/utils/traceSnapshotMapper.js +1 -1
  76. package/build/commands/utils/userApi.js +1 -1
  77. package/build/commands/utils/version.js +1 -1
  78. package/build/commands/verifyFeature.js +1 -1
  79. package/build/commands/verifyFeatureCli.js +1 -1
  80. package/build/commands/verifyFeatureNovaCli.js +1 -1
  81. package/package.json +1 -1
@@ -1 +1 @@
1
- function _0x35c2(_0xbf9b3b,_0x1705f6){_0xbf9b3b=_0xbf9b3b-0x1cf;const _0x2527fd=_0x2527();let _0x35c22a=_0x2527fd[_0xbf9b3b];return _0x35c22a;}(function(_0x5b4770,_0x318645){const _0x1c7dcc=_0x35c2,_0x2ca36d=_0x5b4770();while(!![]){try{const _0x56fd50=-parseInt(_0x1c7dcc(0x1d1))/0x1+parseInt(_0x1c7dcc(0x1d3))/0x2*(parseInt(_0x1c7dcc(0x1d9))/0x3)+-parseInt(_0x1c7dcc(0x1d0))/0x4+-parseInt(_0x1c7dcc(0x1d4))/0x5+parseInt(_0x1c7dcc(0x1dd))/0x6*(parseInt(_0x1c7dcc(0x1de))/0x7)+parseInt(_0x1c7dcc(0x1d5))/0x8*(-parseInt(_0x1c7dcc(0x1d8))/0x9)+-parseInt(_0x1c7dcc(0x1df))/0xa*(-parseInt(_0x1c7dcc(0x1d2))/0xb);if(_0x56fd50===_0x318645)break;else _0x2ca36d['push'](_0x2ca36d['shift']());}catch(_0x61720c){_0x2ca36d['push'](_0x2ca36d['shift']());}}}(_0x2527,0xde6c4));import{runDeviceAuthFlow}from'./utils/deviceAuth.js';import{getCurrentUser}from'./utils/userApi.js';import{getMcpAuthOrigin,mcpBootstrap}from'./mcpBootstrap.js';import{isInteractive}from'./utils/cloudProfileSession.js';function _0x2527(){const _0x568a38=['6016328VdljZE','log','Login\x20failed:\x20','9IPPBNM','155667aKHxLk','Re-authenticating\x20via\x20MCP\x20bootstrap...','ffjZd','\x0a✅\x20Logged\x20in\x20to\x20','30KMYnxP','2300186ZrGHBW','8570GgYVMs','organizationName','success','6705480YEFgzn','935206qclgLT','35563DgRfak','16Gsxehq','2770610fnGwZG'];_0x2527=function(){return _0x568a38;};return _0x2527();}export async function login(){const _0x37c8af=_0x35c2,_0x4c32e5={'ffjZd':_0x37c8af(0x1da),'melut':function(_0x45b256){return _0x45b256();},'jYopU':'Login\x20requires\x20an\x20interactive\x20terminal.\x20In\x20CI,\x20use:\x20ranger\x20setup\x20[token]\x20or\x20set\x20RANGER_CLI_TOKEN.','bXJfK':'\x0a✅\x20API\x20key\x20stored\x20successfully'},_0x166909=await getMcpAuthOrigin();if(_0x166909){console[_0x37c8af(0x1d6)](_0x4c32e5[_0x37c8af(0x1db)]),await mcpBootstrap();return;}if(!_0x4c32e5['melut'](isInteractive))throw new Error(_0x4c32e5['jYopU']);try{const _0x2b64d0=await _0x4c32e5['melut'](runDeviceAuthFlow),_0x4fb8ed=await getCurrentUser(_0x2b64d0);_0x4fb8ed[_0x37c8af(0x1cf)]?console['log'](_0x37c8af(0x1dc)+_0x4fb8ed['user'][_0x37c8af(0x1e0)]):console['log'](_0x4c32e5['bXJfK']);}catch(_0x306620){throw new Error(_0x37c8af(0x1d7)+(_0x306620 instanceof Error?_0x306620['message']:_0x306620));}}
1
+ (function(_0x2f0d15,_0x27981e){const _0x2fb3f8=_0x5f55,_0x1e22f2=_0x2f0d15();while(!![]){try{const _0x9ee772=-parseInt(_0x2fb3f8(0x16b))/0x1+-parseInt(_0x2fb3f8(0x163))/0x2*(parseInt(_0x2fb3f8(0x15e))/0x3)+parseInt(_0x2fb3f8(0x170))/0x4*(parseInt(_0x2fb3f8(0x164))/0x5)+parseInt(_0x2fb3f8(0x171))/0x6+-parseInt(_0x2fb3f8(0x167))/0x7+parseInt(_0x2fb3f8(0x16e))/0x8+parseInt(_0x2fb3f8(0x161))/0x9*(parseInt(_0x2fb3f8(0x16c))/0xa);if(_0x9ee772===_0x27981e)break;else _0x1e22f2['push'](_0x1e22f2['shift']());}catch(_0x216742){_0x1e22f2['push'](_0x1e22f2['shift']());}}}(_0x2d15,0x436c5));import{runDeviceAuthFlow}from'./utils/deviceAuth.js';function _0x2d15(){const _0x247a67=['587043vYUpru','\x0a✅\x20Logged\x20in\x20to\x20','1756nIOfID','1995kNyfnp','success','MYLkd','383586HeeLSf','\x0a✅\x20API\x20key\x20stored\x20successfully','message','user','539351GtkjXj','10UdPibu','log','1783336AWUGZd','Login\x20requires\x20an\x20interactive\x20terminal.\x20In\x20CI,\x20use:\x20ranger\x20setup\x20[token]\x20or\x20set\x20RANGER_CLI_TOKEN.','5516WuEfaT','1529766xfzqdV','pHnXW','762bSCvEZ','Login\x20failed:\x20','organizationName'];_0x2d15=function(){return _0x247a67;};return _0x2d15();}function _0x5f55(_0x317919,_0x58895f){_0x317919=_0x317919-0x15e;const _0x2d159e=_0x2d15();let _0x5f559e=_0x2d159e[_0x317919];return _0x5f559e;}import{getCurrentUser}from'./utils/userApi.js';import{getMcpAuthOrigin,mcpBootstrap}from'./mcpBootstrap.js';import{isInteractive}from'./utils/cloudProfileSession.js';export async function login(){const _0x58e5ea=_0x5f55,_0x2b0131={'uPOdO':function(_0x41739f){return _0x41739f();},'tDnnD':function(_0x2afad9){return _0x2afad9();},'MYLkd':function(_0xb591d,_0x200e1d){return _0xb591d(_0x200e1d);},'pHnXW':_0x58e5ea(0x168)},_0x3f2403=await getMcpAuthOrigin();if(_0x3f2403){console['log']('Re-authenticating\x20via\x20MCP\x20bootstrap...'),await mcpBootstrap();return;}if(!_0x2b0131['uPOdO'](isInteractive))throw new Error(_0x58e5ea(0x16f));try{const _0xbd6563=await _0x2b0131['tDnnD'](runDeviceAuthFlow),_0x3ba24d=await _0x2b0131[_0x58e5ea(0x166)](getCurrentUser,_0xbd6563);_0x3ba24d[_0x58e5ea(0x165)]?console[_0x58e5ea(0x16d)](_0x58e5ea(0x162)+_0x3ba24d[_0x58e5ea(0x16a)][_0x58e5ea(0x160)]):console[_0x58e5ea(0x16d)](_0x2b0131[_0x58e5ea(0x172)]);}catch(_0xa75ef6){throw new Error(_0x58e5ea(0x15f)+(_0xa75ef6 instanceof Error?_0xa75ef6[_0x58e5ea(0x169)]:_0xa75ef6));}}
@@ -1 +1 @@
1
- const _0x419226=_0x5ecb;(function(_0x539b40,_0x40f1f0){const _0x5bd845=_0x5ecb,_0xda3602=_0x539b40();while(!![]){try{const _0x47f1d2=parseInt(_0x5bd845(0x148))/0x1+parseInt(_0x5bd845(0x10f))/0x2*(-parseInt(_0x5bd845(0x146))/0x3)+-parseInt(_0x5bd845(0x11a))/0x4*(-parseInt(_0x5bd845(0xbb))/0x5)+parseInt(_0x5bd845(0x10a))/0x6+-parseInt(_0x5bd845(0x133))/0x7+parseInt(_0x5bd845(0x150))/0x8*(parseInt(_0x5bd845(0x111))/0x9)+-parseInt(_0x5bd845(0x10e))/0xa*(-parseInt(_0x5bd845(0xe4))/0xb);if(_0x47f1d2===_0x40f1f0)break;else _0xda3602['push'](_0xda3602['shift']());}catch(_0x179560){_0xda3602['push'](_0xda3602['shift']());}}}(_0x1596,0xb2940));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',_0x419226(0x12d)),AUTH_ORIGIN_PATH=join(homedir(),_0x419226(0xd3),_0x419226(0x102));export async function getMcpAuthOrigin(){const _0xfc1d31=_0x419226;try{const _0x316c5e=(await readFile(AUTH_ORIGIN_PATH,'utf-8'))[_0xfc1d31(0x127)]();return _0x316c5e||null;}catch{return null;}}export async function mcpBootstrap(){const _0x2ecbc4=_0x419226,_0x407733={'kxCvF':function(_0x48dc62,_0x8eae1d){return _0x48dc62(_0x8eae1d);},'pgVry':_0x2ecbc4(0xc7),'sBIus':function(_0x20a8a4,_0x12d6ef){return _0x20a8a4(_0x12d6ef);}},_0x514931=getMcpAuthUrl();currentOrigin=_0x514931;const _0x22cc9b=process['stdout'][_0x2ecbc4(0xd4)]??![];console['log']('\x0aConnecting\x20to\x20MCP\x20auth\x20server:\x20'+_0x514931+'\x0a');const _0x4b4ba8=await _0x407733['kxCvF'](tryUnauthenticated,_0x514931);let _0x3b5ab8=null;if(_0x4b4ba8===_0x2ecbc4(0x131))_0x3b5ab8='';else{_0x3b5ab8=await loadCachedToken();if(!_0x3b5ab8){if(!_0x22cc9b)throw new Error(_0x407733[_0x2ecbc4(0xd8)]+'Run\x20`ranger\x20setup\x20--mcp-bootstrap`\x20interactively\x20first.');_0x3b5ab8=await _0x407733['sBIus'](oauthFlow,_0x514931);}}await callGetCliToken(_0x514931,_0x3b5ab8);}async function tryUnauthenticated(_0x3aa773){const _0x35b0b3=_0x419226,_0x4decd6={'DWifG':_0x35b0b3(0x106),'yhajD':'application/json','xDElL':_0x35b0b3(0xea),'qBDwj':_0x35b0b3(0xdb),'WOOvI':_0x35b0b3(0x114),'aBmbF':'ranger-cli','cWsWN':_0x35b0b3(0xfd),'JRHIz':_0x35b0b3(0x131)},_0x78b92e=await fetch(_0x3aa773,{'method':_0x4decd6[_0x35b0b3(0x147)],'headers':{'Content-Type':_0x4decd6['yhajD'],'Accept':_0x4decd6[_0x35b0b3(0xe0)]},'body':JSON[_0x35b0b3(0x101)]({'jsonrpc':_0x4decd6['qBDwj'],'id':0x1,'method':_0x4decd6[_0x35b0b3(0xc4)],'params':{'protocolVersion':'2025-03-26','capabilities':{},'clientInfo':{'name':_0x4decd6['aBmbF'],'version':_0x4decd6['cWsWN']}}})});if(_0x78b92e['ok'])return await _0x78b92e[_0x35b0b3(0xeb)](),_0x4decd6['JRHIz'];if(_0x78b92e['status']===0x191)return await _0x78b92e[_0x35b0b3(0xeb)](),'needs-oauth';const _0x5b3cef=await _0x78b92e[_0x35b0b3(0xeb)]();throw new Error(_0x35b0b3(0x112)+_0x78b92e[_0x35b0b3(0x140)]+':\x20'+_0x5b3cef);}function _0x1596(){const _0x256285=['utf-8','split','eCYtL','token','.ranger','isTTY','<html><body><h2>Authentication\x20failed</h2><p>','none','nnFcz','pgVry','now','HTTP\x20','2.0','replace','client_secret','client_id','sqUJO','xDElL','HMNOM','Ranger\x20CLI','write','33mWFwfi','platform','expiresAt','searchParams','If\x20the\x20browser\x20doesn\x27t\x20open,\x20visit:\x0a','FwlZs','application/json,\x20text/event-stream','text','type','rKJod','MCP\x20initialize\x20failed:\x20','SWnjR','application/x-www-form-urlencoded','WPTQE','bDhMH','open','sBEnw','\x0aUnexpected\x20response\x20structure:','content','content-type','then','oYoHR','<html><body><h2>Authenticated!</h2><p>You\x20can\x20close\x20this\x20window\x20and\x20return\x20to\x20the\x20terminal.</p></body></html>','opnzg','match','1.0.0','string','access_token','code','stringify','auth-origin.txt','OaGlp','tools/call','Discovering\x20authorization\x20server...','POST','xVirB','\x0aOpening\x20browser\x20for\x20authentication...','VkXzp','2726790ntRnmk','Initializing\x20MCP\x20session...','MptHM','kSaLs','1956330hNyzzc','2vRfjkd','bGgVQ','522BOwHrA','MCP\x20server\x20returned\x20HTTP\x20','qIVYK','initialize','accessToken','OAuth\x20error:\x20','slice','clientId','<html><body><h2>Invalid\x20callback</h2><p>Missing\x20code\x20or\x20state\x20mismatch.</p></body></html>','884616LypmUt','text/html','parse','url','CNSgQ','VJkLk','/callback','KBFLI','refresh_token','start','igxsf','writeHead','Requesting\x20CLI\x20token...','trim','omGyz','XHjfD','Tqcwi','RugcX','\x20done','mcp-oauth-tokens.json','origin','expires_in','resource','proxied','toString','9695476YwNsMc','data:','sha256','JqLQm','http://localhost:','application/json','S256','set','get_cli_token\x20failed:\x20','AFARq','NrZcL','stdout','error','status','</p><p>You\x20can\x20close\x20this\x20window.</p></body></html>','Authorization','PzooR','result','nbnYC','3398757SHExuZ','DWifG','626825uwplFN','127.0.0.1','Could\x20not\x20extract\x20token\x20from\x20MCP\x20response','code_challenge','Token\x20exchange\x20failed:\x20','clientSecret','qeXgN','digest','157096YRdvJV','WzPUy','OhDzR','sOqsm','10wcFndr','log','qLuMP','dfhYS','error_description','kTuoS','bUXgw','sfrqr','get','WOOvI','end','authorization_servers','MCP\x20server\x20requires\x20authentication\x20but\x20running\x20in\x20non-interactive\x20mode.\x0a','state','code_challenge_method','mVGst','length','text/event-stream','\x0aToken\x20written\x20to\x20','Authorization\x20server\x20does\x20not\x20support\x20dynamic\x20client\x20registration\x20and\x20no\x20cached\x20client\x20found'];_0x1596=function(){return _0x256285;};return _0x1596();}class OAuthTimeoutError extends Error{constructor(_0x43fcb3){const _0x1b6a1d=_0x419226,_0x36b176={'MptHM':'OAuthTimeoutError'};super(_0x43fcb3),this['name']=_0x36b176[_0x1b6a1d(0x10c)];}}async function oauthFlow(_0xa17684){const _0x2e4fd8={'meCNz':function(_0xdc3606){return _0xdc3606();},'rbYbD':function(_0x1c0b67){return _0x1c0b67();}};try{return await oauthFlowAttempt(_0xa17684);}catch(_0x2385a0){if(_0x2385a0 instanceof OAuthTimeoutError&&await _0x2e4fd8['meCNz'](loadCachedClient))return console['log']('\x0aCached\x20OAuth\x20client\x20may\x20be\x20stale\x20—\x20clearing\x20and\x20retrying...\x0a'),await _0x2e4fd8['rbYbD'](clearCachedClient),await oauthFlowAttempt(_0xa17684);throw _0x2385a0;}}async function oauthFlowAttempt(_0x2cbbc){const _0x13d536=_0x419226,_0x428edd={'VkXzp':function(_0x18a0a5,_0xcf4e5e){return _0x18a0a5(_0xcf4e5e);},'RugcX':'Could\x20not\x20fetch\x20protected\x20resource\x20metadata\x20from\x20MCP\x20server','igxsf':'POST','bGgVQ':_0x13d536(0x138),'MnbHZ':_0x13d536(0xe2),'faXzD':_0x13d536(0xd6),'WPTQE':_0x13d536(0xce),'AFARq':'base64url','oPNdp':'client_id','oYoHR':'redirect_uri','kTuoS':_0x13d536(0xc9),'gTBhS':_0x13d536(0x130),'rvgOz':function(_0x145916,_0x466bc0){return _0x145916(_0x466bc0);},'Tqcwi':'Exchanging\x20authorization\x20code...','GPIeC':'authorization_code','WzPUy':function(_0x4ba49b,_0x3768cb,_0x5a5b65){return _0x4ba49b(_0x3768cb,_0x5a5b65);},'XIdTG':_0x13d536(0xf0),'sfrqr':function(_0x127d7f,_0x2e4f79,_0x3ba3ac,_0x16ce71){return _0x127d7f(_0x2e4f79,_0x3ba3ac,_0x16ce71);}},_0x487511=_0x2cbbc[_0x13d536(0xdc)](/\/mcp$/,'');process[_0x13d536(0x13e)]['write'](_0x13d536(0x105));const _0x35eaf1=await _0x428edd['VkXzp'](fetch,_0x487511+'/.well-known/oauth-protected-resource');if(!_0x35eaf1['ok'])throw new Error(_0x428edd[_0x13d536(0x12b)]);const _0x2010c5=await _0x35eaf1['json'](),_0x29a08c=_0x2010c5[_0x13d536(0xc6)]?.[0x0];if(!_0x29a08c)throw new Error('No\x20authorization_servers\x20in\x20protected\x20resource\x20metadata');console['log']('\x20'+_0x29a08c);const _0x502b13=await _0x428edd[_0x13d536(0x109)](fetchAuthServerMetadata,_0x29a08c);let _0x249c92,_0x489945;const _0x3b5236=await loadCachedClient();if(_0x3b5236)_0x249c92=_0x3b5236[_0x13d536(0x118)],_0x489945=_0x3b5236[_0x13d536(0x14d)];else{if(_0x502b13['registration_endpoint']){process[_0x13d536(0x13e)]['write']('Registering\x20OAuth\x20client...');const _0x5c3c83=await fetch(_0x502b13['registration_endpoint'],{'method':_0x428edd[_0x13d536(0x124)],'headers':{'Content-Type':_0x428edd[_0x13d536(0x110)]},'body':JSON['stringify']({'client_name':_0x428edd['MnbHZ'],'redirect_uris':['http://localhost:'+CALLBACK_PORT+_0x13d536(0x120)],'grant_types':['authorization_code',_0x13d536(0x122)],'response_types':[_0x13d536(0x100)],'token_endpoint_auth_method':_0x428edd['faXzD']})});if(!_0x5c3c83['ok']){const _0x4516d4=await _0x5c3c83['text']();throw new Error('Client\x20registration\x20failed:\x20'+_0x4516d4);}const _0x1d8e9b=await _0x5c3c83['json']();_0x249c92=_0x1d8e9b[_0x13d536(0xde)],_0x489945=_0x1d8e9b['client_secret'],await saveCachedClient(_0x249c92,_0x489945),console[_0x13d536(0xbc)](_0x13d536(0x12c));}else throw new Error(_0x428edd[_0x13d536(0xf1)]);}const _0x1eedb1=randomBytes(0x20)['toString'](_0x428edd[_0x13d536(0x13c)]),_0x4fa6b4=createHash(_0x13d536(0x135))['update'](_0x1eedb1)[_0x13d536(0x14f)]('base64url'),_0x416285=randomBytes(0x10)[_0x13d536(0x132)]('hex'),_0x19af95=new URL(_0x502b13['authorization_endpoint']);_0x19af95[_0x13d536(0xe7)]['set']('response_type',_0x13d536(0x100)),_0x19af95[_0x13d536(0xe7)]['set'](_0x428edd['oPNdp'],_0x249c92),_0x19af95['searchParams']['set'](_0x428edd[_0x13d536(0xf9)],'http://localhost:'+CALLBACK_PORT+_0x13d536(0x120)),_0x19af95[_0x13d536(0xe7)]['set'](_0x13d536(0x14b),_0x4fa6b4),_0x19af95[_0x13d536(0xe7)][_0x13d536(0x13a)](_0x428edd[_0x13d536(0xc0)],_0x13d536(0x139)),_0x19af95[_0x13d536(0xe7)]['set'](_0x13d536(0xc8),_0x416285);_0x2010c5['resource']&&_0x19af95['searchParams']['set'](_0x428edd['gTBhS'],_0x2010c5['resource']);console[_0x13d536(0xbc)](_0x13d536(0x108)),console['log'](_0x13d536(0xe8)+_0x19af95[_0x13d536(0x132)]()+'\x0a'),await _0x428edd['rvgOz'](openBrowser,_0x19af95['toString']());const _0x453349=await _0x428edd[_0x13d536(0x109)](waitForCallback,_0x416285);process[_0x13d536(0x13e)][_0x13d536(0xe3)](_0x428edd[_0x13d536(0x12a)]);const _0x11a78d=new URLSearchParams({'grant_type':_0x428edd['GPIeC'],'code':_0x453349,'redirect_uri':_0x13d536(0x137)+CALLBACK_PORT+'/callback','client_id':_0x249c92,'code_verifier':_0x1eedb1});_0x489945&&_0x11a78d[_0x13d536(0x13a)](_0x13d536(0xdd),_0x489945);_0x2010c5[_0x13d536(0x130)]&&_0x11a78d['set'](_0x13d536(0x130),_0x2010c5[_0x13d536(0x130)]);const _0x5bf7f2=await _0x428edd[_0x13d536(0xb8)](fetch,_0x502b13['token_endpoint'],{'method':_0x428edd['igxsf'],'headers':{'Content-Type':_0x428edd['XIdTG']},'body':_0x11a78d});if(!_0x5bf7f2['ok']){const _0x4a5a55=await _0x5bf7f2['text']();throw new Error(_0x13d536(0x14c)+_0x4a5a55);}const _0x109a1f=await _0x5bf7f2['json']();return console[_0x13d536(0xbc)](_0x13d536(0x12c)),await _0x428edd[_0x13d536(0xc2)](saveCachedToken,_0x109a1f[_0x13d536(0xff)],_0x109a1f['refresh_token'],_0x109a1f[_0x13d536(0x12f)]),_0x109a1f['access_token'];}async function callGetCliToken(_0x2df49e,_0x31c25d){const _0x109e60=_0x419226,_0x4c6fbb={'OaGlp':function(_0x3c1635,_0x425ed2){return _0x3c1635(_0x425ed2);},'FwlZs':_0x109e60(0x138),'zUTrv':_0x109e60(0x10b),'nbnYC':_0x109e60(0xdb),'xLkDp':'2025-03-26','SWnjR':'\x20done','Yraec':function(_0x3d45ef,_0x430ce3,_0x31c380){return _0x3d45ef(_0x430ce3,_0x31c380);},'CNSgQ':_0x109e60(0x106),'pCXFN':'notifications/initialized','xwVxv':_0x109e60(0x126),'omGyz':_0x109e60(0x104),'pfOhz':'get_cli_token','NrZcL':_0x109e60(0x14a),'sYBuV':'.ranger','sOqsm':function(_0x16edff,_0x41fd13,_0x1c11f8){return _0x16edff(_0x41fd13,_0x1c11f8);},'mVGst':function(_0x105ed2,_0x3d8082,_0x589c1d,_0x5964a4){return _0x105ed2(_0x3d8082,_0x589c1d,_0x5964a4);}},_0x135900={'Content-Type':_0x4c6fbb[_0x109e60(0xe9)],'Accept':'application/json,\x20text/event-stream'};_0x31c25d&&(_0x135900[_0x109e60(0x142)]='Bearer\x20'+_0x31c25d);const _0x28be52=async _0x528d71=>{const _0x737dab=_0x109e60,_0x52bfb4=await fetch(_0x2df49e,{'method':_0x737dab(0x106),'headers':_0x135900,'body':JSON[_0x737dab(0x101)](_0x528d71)});if(!_0x52bfb4['ok']){const _0x7ff4cf=await _0x52bfb4[_0x737dab(0xeb)]();throw new Error(_0x737dab(0xda)+_0x52bfb4[_0x737dab(0x140)]+':\x20'+_0x7ff4cf);}return _0x4c6fbb['OaGlp'](parseResponse,_0x52bfb4);};process['stdout']['write'](_0x4c6fbb['zUTrv']);const _0x2701e8=await _0x4c6fbb[_0x109e60(0x103)](_0x28be52,{'jsonrpc':_0x4c6fbb['nbnYC'],'id':0x1,'method':_0x109e60(0x114),'params':{'protocolVersion':_0x4c6fbb['xLkDp'],'capabilities':{},'clientInfo':{'name':'ranger-cli','version':_0x109e60(0xfd)}}});if(_0x2701e8['error'])throw new Error(_0x109e60(0xee)+(_0x2701e8[_0x109e60(0x13f)]['message']??JSON['stringify'](_0x2701e8[_0x109e60(0x13f)])));console[_0x109e60(0xbc)](_0x4c6fbb[_0x109e60(0xef)]),await _0x4c6fbb['Yraec'](fetch,_0x2df49e,{'method':_0x4c6fbb[_0x109e60(0x11e)],'headers':_0x135900,'body':JSON['stringify']({'jsonrpc':_0x4c6fbb[_0x109e60(0x145)],'method':_0x4c6fbb['pCXFN']})})[_0x109e60(0xf8)](_0x10db3a=>_0x10db3a[_0x109e60(0xeb)]()),process[_0x109e60(0x13e)]['write'](_0x4c6fbb['xwVxv']);const _0x34213a=await _0x28be52({'jsonrpc':_0x4c6fbb[_0x109e60(0x145)],'id':0x2,'method':_0x4c6fbb[_0x109e60(0x128)],'params':{'name':_0x4c6fbb['pfOhz'],'arguments':{}}});if(_0x34213a[_0x109e60(0x13f)])throw new Error(_0x109e60(0x13b)+(_0x34213a['error']['message']??JSON['stringify'](_0x34213a[_0x109e60(0x13f)])));console[_0x109e60(0xbc)](_0x4c6fbb['SWnjR']);const _0x25c418=_0x4c6fbb['OaGlp'](extractToken,_0x34213a[_0x109e60(0x144)]);if(!_0x25c418){console[_0x109e60(0x13f)](_0x109e60(0xf5)),console['error'](JSON['stringify'](_0x34213a[_0x109e60(0x144)],null,0x2));throw new Error(_0x4c6fbb[_0x109e60(0x13d)]);}const _0x3f67c2=join(homedir(),_0x4c6fbb['sYBuV']),_0x387fa5=_0x4c6fbb[_0x109e60(0xba)](join,_0x3f67c2,'refresh.txt');await _0x4c6fbb['Yraec'](mkdir,_0x3f67c2,{'recursive':!![]}),await _0x4c6fbb[_0x109e60(0xca)](writeFile,_0x387fa5,_0x25c418,{'mode':0x180}),await _0x4c6fbb['mVGst'](writeFile,join(_0x3f67c2,_0x109e60(0x102)),_0x2df49e,{'mode':0x180}),console['log'](_0x109e60(0xcd)+_0x387fa5),console[_0x109e60(0xbc)]('Run\x20`ranger\x20status`\x20to\x20verify\x20authentication.\x0a');}async function fetchAuthServerMetadata(_0x1225d5){const _0x3a86f5=_0x419226,_0x3ad2d1={'PzooR':function(_0x3afdad,_0x2ef28a){return _0x3afdad(_0x2ef28a);}},_0x156c64=_0x1225d5+'/.well-known/oauth-authorization-server',_0x27cfb2=await _0x3ad2d1[_0x3a86f5(0x143)](fetch,_0x156c64);if(!_0x27cfb2['ok'])throw new Error('Could\x20not\x20fetch\x20auth\x20server\x20metadata\x20from\x20'+_0x156c64+':\x20'+_0x27cfb2[_0x3a86f5(0x140)]);return _0x27cfb2['json']();}function waitForCallback(_0x26d86b){const _0x5b4ba3=_0x419226,_0x439ba1={'sqUJO':function(_0x10ce80,_0x564f55){return _0x10ce80(_0x564f55);},'TFHvZ':'code','qIVYK':'state','rKJod':_0x5b4ba3(0x13f),'JqLQm':function(_0xb10b55){return _0xb10b55();},'XHjfD':function(_0x26831c,_0x3ef3e2){return _0x26831c!==_0x3ef3e2;},'xVirB':'text/html','OhDzR':_0x5b4ba3(0x119),'kSaLs':_0x5b4ba3(0xfa),'eCYtL':function(_0x3e256f,_0x186202){return _0x3e256f(_0x186202);},'krrfi':_0x5b4ba3(0x149)};return new Promise((_0x1ba979,_0xdc7bfd)=>{const _0x3fa886=()=>{_0x56cf4f['closeAllConnections'](),_0x56cf4f['close']();},_0x2adab1=setTimeout(()=>{_0x3fa886(),_0x439ba1['sqUJO'](_0xdc7bfd,new OAuthTimeoutError('OAuth\x20callback\x20timed\x20out\x20after\x202\x20minutes'));},0x1d4c0),_0x56cf4f=_0x439ba1['eCYtL'](createServer,(_0x499843,_0x52977d)=>{const _0x1c2f3f=_0x5ecb,_0x4fb961=new URL(_0x499843[_0x1c2f3f(0x11d)]??'/',_0x1c2f3f(0x137)+CALLBACK_PORT);if(_0x4fb961['pathname']!==_0x1c2f3f(0x120)){_0x52977d['writeHead'](0x194),_0x52977d['end']('Not\x20found');return;}const _0x1bbb97=_0x4fb961[_0x1c2f3f(0xe7)][_0x1c2f3f(0xc3)](_0x439ba1['TFHvZ']),_0x2132c9=_0x4fb961['searchParams'][_0x1c2f3f(0xc3)](_0x439ba1[_0x1c2f3f(0x113)]),_0xad35c6=_0x4fb961['searchParams']['get'](_0x439ba1[_0x1c2f3f(0xed)]);if(_0xad35c6){const _0x34ffc9=_0x4fb961['searchParams'][_0x1c2f3f(0xc3)](_0x1c2f3f(0xbf))??_0xad35c6;_0x52977d[_0x1c2f3f(0x125)](0xc8,{'Content-Type':_0x1c2f3f(0x11b)}),_0x52977d['end'](_0x1c2f3f(0xd5)+_0x34ffc9+_0x1c2f3f(0x141)),clearTimeout(_0x2adab1),_0x439ba1['JqLQm'](_0x3fa886),_0xdc7bfd(new Error(_0x1c2f3f(0x116)+_0x34ffc9));return;}if(!_0x1bbb97||_0x439ba1[_0x1c2f3f(0x129)](_0x2132c9,_0x26d86b)){_0x52977d[_0x1c2f3f(0x125)](0x190,{'Content-Type':_0x439ba1[_0x1c2f3f(0x107)]}),_0x52977d['end'](_0x439ba1[_0x1c2f3f(0xb9)]);return;}_0x52977d['writeHead'](0xc8,{'Content-Type':'text/html'}),_0x52977d[_0x1c2f3f(0xc5)](_0x439ba1[_0x1c2f3f(0x10d)]),_0x439ba1[_0x1c2f3f(0xd1)](clearTimeout,_0x2adab1),_0x439ba1[_0x1c2f3f(0x136)](_0x3fa886),_0x439ba1[_0x1c2f3f(0xdf)](_0x1ba979,_0x1bbb97);});_0x56cf4f['listen'](CALLBACK_PORT,_0x439ba1['krrfi']);});}async function openBrowser(_0x317f9f){const _0x47a63d=_0x419226,_0x404ffb={'xmtDZ':function(_0x3e5f04,_0x207b87){return _0x3e5f04===_0x207b87;},'HMNOM':_0x47a63d(0xf3),'VJkLk':function(_0x298099,_0x122a1d){return _0x298099===_0x122a1d;},'iWAgF':'win32','pQeUA':function(_0x26b849,_0x24427d){return _0x26b849(_0x24427d);}},_0x27ac39=_0x404ffb['xmtDZ'](process['platform'],'darwin')?_0x404ffb[_0x47a63d(0xe1)]:_0x404ffb[_0x47a63d(0x11f)](process[_0x47a63d(0xe5)],_0x404ffb['iWAgF'])?_0x47a63d(0x123):'xdg-open';_0x404ffb['pQeUA'](exec,_0x27ac39+'\x20\x22'+_0x317f9f+'\x22');}let currentOrigin='';async function loadCachedToken(){const _0x219d92=_0x419226;try{const _0x4bef85=JSON['parse'](await readFile(TOKEN_CACHE_PATH,_0x219d92(0xcf)));if(_0x4bef85['origin']&&_0x4bef85['origin']!==currentOrigin)return null;if(_0x4bef85[_0x219d92(0xe6)]&&Date['now']()>_0x4bef85['expiresAt'])return null;return _0x4bef85['accessToken']??null;}catch{return null;}}function _0x5ecb(_0x5eb244,_0x4dce5b){_0x5eb244=_0x5eb244-0xb8;const _0x1596e0=_0x1596();let _0x5ecb89=_0x1596e0[_0x5eb244];return _0x5ecb89;}async function saveCachedToken(_0x5b9ec8,_0x145c9a,_0x405de1){const _0x19a184=_0x419226,_0x56f443={'VkoKB':function(_0x39afff){return _0x39afff();},'JqxZw':function(_0x2e83d1,_0x475b59){return _0x2e83d1+_0x475b59;},'opnzg':function(_0x48e363,_0x4bb431,_0x4df4ca){return _0x48e363(_0x4bb431,_0x4df4ca);},'bUXgw':function(_0x5b63ca,_0x47be41,_0x71f73b){return _0x5b63ca(_0x47be41,_0x71f73b);}},_0x39c1cc=await _0x56f443['VkoKB'](loadCachedData),_0x34385a={..._0x39c1cc,'origin':currentOrigin,'accessToken':_0x5b9ec8,'refreshToken':_0x145c9a??_0x39c1cc?.['refreshToken'],'expiresAt':_0x405de1?_0x56f443['JqxZw'](Date[_0x19a184(0xd9)](),_0x405de1*0x3e8):undefined};await _0x56f443[_0x19a184(0xfb)](mkdir,_0x56f443[_0x19a184(0xc1)](join,homedir(),'.ranger'),{'recursive':!![]}),await writeFile(TOKEN_CACHE_PATH,JSON['stringify'](_0x34385a),{'mode':0x180});}async function loadCachedClient(){const _0x3bd032=_0x419226,_0x402e22={'zDLbf':function(_0x3b2928,_0x19bda8){return _0x3b2928!==_0x19bda8;}},_0x3591f0=await loadCachedData();if(_0x3591f0?.[_0x3bd032(0x12e)]&&_0x402e22['zDLbf'](_0x3591f0[_0x3bd032(0x12e)],currentOrigin))return null;return _0x3591f0?.[_0x3bd032(0x118)]?{'clientId':_0x3591f0[_0x3bd032(0x118)],'clientSecret':_0x3591f0['clientSecret']}:null;}async function clearCachedClient(){const _0x5ea2da=_0x419226,_0xd5d20={'KBFLI':function(_0x5acfa1){return _0x5acfa1();},'sBEnw':function(_0x1a1fd1,_0x3af8dd,_0xc307df,_0x5697e0){return _0x1a1fd1(_0x3af8dd,_0xc307df,_0x5697e0);}},_0x81871d=await _0xd5d20[_0x5ea2da(0x121)](loadCachedData);if(!_0x81871d)return;const {clientId:_0xf76226,clientSecret:_0x553b03,..._0x37bc81}=_0x81871d;await _0xd5d20[_0x5ea2da(0xf4)](writeFile,TOKEN_CACHE_PATH,JSON['stringify'](_0x37bc81),{'mode':0x180});}async function saveCachedClient(_0x37a205,_0x14f156){const _0x95087a=_0x419226,_0x297667={'nnFcz':function(_0x4ea97f,_0x7fb692,_0x2adbd1){return _0x4ea97f(_0x7fb692,_0x2adbd1);},'APIvl':function(_0x4563be,_0x456778,_0x2e7466,_0xa65035){return _0x4563be(_0x456778,_0x2e7466,_0xa65035);}},_0x2ab262=await loadCachedData(),_0x3f0048={..._0x2ab262,'origin':currentOrigin,'accessToken':_0x2ab262?.[_0x95087a(0x115)]??'','clientId':_0x37a205,'clientSecret':_0x14f156};await _0x297667[_0x95087a(0xd7)](mkdir,_0x297667['nnFcz'](join,homedir(),_0x95087a(0xd3)),{'recursive':!![]}),await _0x297667['APIvl'](writeFile,TOKEN_CACHE_PATH,JSON[_0x95087a(0x101)](_0x3f0048),{'mode':0x180});}async function loadCachedData(){const _0x200f66=_0x419226,_0x5129b4={'bDhMH':function(_0x12d437,_0x19c88e,_0x216c65){return _0x12d437(_0x19c88e,_0x216c65);}};try{return JSON[_0x200f66(0x11c)](await _0x5129b4[_0x200f66(0xf2)](readFile,TOKEN_CACHE_PATH,'utf-8'));}catch{return null;}}async function parseResponse(_0x3cc469){const _0x2da24d=_0x419226,_0x599d50={'qLuMP':_0x2da24d(0xf7),'JVDgT':'data:','LKySh':function(_0x4566e2,_0x3346c1){return _0x4566e2!==_0x3346c1;},'dfhYS':'No\x20JSON-RPC\x20response\x20found\x20in\x20SSE\x20stream'},_0x4e1b02=_0x3cc469['headers'][_0x2da24d(0xc3)](_0x599d50[_0x2da24d(0xbd)])??'';if(_0x4e1b02['includes'](_0x2da24d(0xcc))){const _0x46cf0c=await _0x3cc469['text']();for(const _0x3601b7 of _0x46cf0c[_0x2da24d(0xd0)]('\x0a')){const _0xb65e1a=_0x3601b7[_0x2da24d(0x127)]();if(_0xb65e1a['startsWith'](_0x2da24d(0x134))){const _0x490dee=_0xb65e1a[_0x2da24d(0x117)](_0x599d50['JVDgT'][_0x2da24d(0xcb)])[_0x2da24d(0x127)]();if(!_0x490dee)continue;try{const _0x23d50a=JSON[_0x2da24d(0x11c)](_0x490dee);if(_0x599d50['LKySh'](_0x23d50a['id'],undefined)||_0x23d50a[_0x2da24d(0x13f)])return _0x23d50a;}catch{}}}throw new Error(_0x599d50[_0x2da24d(0xbe)]);}return _0x3cc469['json']();}function extractToken(_0x1dac99){const _0x2001f6=_0x419226,_0x48fa4c={'qeXgN':'Unknown\x20error','LVrwS':function(_0x3f95a9,_0x59060c){return _0x3f95a9===_0x59060c;},'IiEZQ':_0x2001f6(0xfe)};if(!_0x1dac99)return null;const _0x4ea8db=_0x1dac99['structuredContent'];if(_0x4ea8db?.['token']&&typeof _0x4ea8db[_0x2001f6(0xd2)]==='string')return _0x4ea8db['token'];if(_0x1dac99['isError']){const _0x5ee303=_0x1dac99[_0x2001f6(0xf6)];throw new Error('Server\x20returned\x20error:\x20'+(_0x5ee303?.[0x0]?.[_0x2001f6(0xeb)]??_0x48fa4c[_0x2001f6(0x14e)]));}const _0x24b598=_0x1dac99['content'];if(_0x24b598)for(const _0x4b8bd8 of _0x24b598){if(_0x48fa4c['LVrwS'](_0x4b8bd8[_0x2001f6(0xec)],_0x2001f6(0xeb))&&_0x4b8bd8['text']){try{const _0x1ac476=JSON['parse'](_0x4b8bd8['text']);if(typeof _0x1ac476?.[_0x2001f6(0xd2)]===_0x48fa4c['IiEZQ'])return _0x1ac476['token'];}catch{}const _0x107277=_0x4b8bd8['text'][_0x2001f6(0xfc)](/(rngr_[A-Za-z0-9_-]+)/);if(_0x107277)return _0x107277[0x1];}}return null;}
1
+ const _0xd16e64=_0x37e3;(function(_0x1bbf01,_0xf9d92f){const _0x17bc92=_0x37e3,_0x6615c7=_0x1bbf01();while(!![]){try{const _0x368aef=parseInt(_0x17bc92(0x16a))/0x1+parseInt(_0x17bc92(0x12d))/0x2*(-parseInt(_0x17bc92(0x136))/0x3)+parseInt(_0x17bc92(0x131))/0x4*(-parseInt(_0x17bc92(0x126))/0x5)+parseInt(_0x17bc92(0x133))/0x6+-parseInt(_0x17bc92(0xf9))/0x7*(-parseInt(_0x17bc92(0x129))/0x8)+parseInt(_0x17bc92(0x114))/0x9+-parseInt(_0x17bc92(0x125))/0xa;if(_0x368aef===_0xf9d92f)break;else _0x6615c7['push'](_0x6615c7['shift']());}catch(_0x29da56){_0x6615c7['push'](_0x6615c7['shift']());}}}(_0x21af,0x58dff));import{mkdir,writeFile,readFile}from'fs/promises';import{join}from'path';function _0x21af(){const _0x640595=['none','pLTmd','32NdEIzg','OAuthTimeoutError','vndHr','status','4gDcoXe','Exchanging\x20authorization\x20code...','2031858pNUVhl','base64url','rovJG','64065JFERet','xdg-open','error','Run\x20`ranger\x20setup\x20--mcp-bootstrap`\x20interactively\x20first.','maBrq','IHdNj','</p><p>You\x20can\x20close\x20this\x20window.</p></body></html>','resource','sha256','closeAllConnections','writeHead','oLrIt','nzBLK','2.0','owWIV','mIauN','DAtUb','slice','registration_endpoint','No\x20JSON-RPC\x20response\x20found\x20in\x20SSE\x20stream','ZWqux','VxZTC','127.0.0.1','code','get_cli_token\x20failed:\x20','bupnD','HNPlk','auth-origin.txt','FVrVE','Bearer\x20','<html><body><h2>Invalid\x20callback</h2><p>Missing\x20code\x20or\x20state\x20mismatch.</p></body></html>','origin','No\x20authorization_servers\x20in\x20protected\x20resource\x20metadata','split','fAtkj','cLltm','tools/call','xocOr','close','http://localhost:','RCmoB','proxied','goGJq','YwZCA','POST','toString','/.well-known/oauth-authorization-server','isError','\x0aUnexpected\x20response\x20structure:','stdout','tAJsD','mcp-oauth-tokens.json','53244dlYYOL','clientId','QCjlX','SChMl','bLPqD','\x0aOpening\x20browser\x20for\x20authentication...','authorization_endpoint','MCP\x20server\x20requires\x20authentication\x20but\x20running\x20in\x20non-interactive\x20mode.\x0a','UEcaT','utf-8','set','headers','hfJQF','update','Client\x20registration\x20failed:\x20','get','end','rzjmV','json','/.well-known/oauth-protected-resource','/callback','\x0aCached\x20OAuth\x20client\x20may\x20be\x20stale\x20—\x20clearing\x20and\x20retrying...\x0a','2025-03-26','LEvmp','SCnYb','notifications/initialized','state','OAuth\x20callback\x20timed\x20out\x20after\x202\x20minutes','cphlD','If\x20the\x20browser\x20doesn\x27t\x20open,\x20visit:\x0a','.ranger','384083ZnOalH','stringify','isTTY','token','ZyOlB','application/x-www-form-urlencoded','result','trim','access_token','clientSecret','client_id','mZjKp','expiresAt','FVqjC','Server\x20returned\x20error:\x20','aKFAB','text','text/html','application/json,\x20text/event-stream','structuredContent','\x20done','fIEGO','IHjBG','LBheb','content','MtlCs','log','4324644eFqBEN','get_cli_token','parse','PmwoO','Could\x20not\x20extract\x20token\x20from\x20MCP\x20response','ranger-cli','cHcYD','Authorization','OAuth\x20error:\x20','YpukZ','S256','message','searchParams','MsvsB','type','pxQnJ','upYwW','2929750QyFUdI','2112035Jqjare','authorization_code','GJODu','80RCRmxi','MsfXQ'];_0x21af=function(){return _0x640595;};return _0x21af();}import{homedir}from'os';import{createServer}from'http';function _0x37e3(_0x342382,_0x1c141b){_0x342382=_0x342382-0xea;const _0x21af60=_0x21af();let _0x37e307=_0x21af60[_0x342382];return _0x37e307;}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(),_0xd16e64(0xf8),_0xd16e64(0x169)),AUTH_ORIGIN_PATH=join(homedir(),'.ranger',_0xd16e64(0x151));export async function getMcpAuthOrigin(){const _0x184bbf=_0xd16e64,_0x1426aa={'fIEGO':_0x184bbf(0x173),'NAizl':function(_0x24b27c,_0x48c0c7){return _0x24b27c||_0x48c0c7;}};try{const _0xf56d1e=(await readFile(AUTH_ORIGIN_PATH,_0x1426aa[_0x184bbf(0x10e)]))['trim']();return _0x1426aa['NAizl'](_0xf56d1e,null);}catch{return null;}}export async function mcpBootstrap(){const _0x159587=_0xd16e64,_0x3f4623={'pxQnJ':function(_0x286899){return _0x286899();},'XMwWB':function(_0x557b98,_0x17de41){return _0x557b98===_0x17de41;},'LoIZG':function(_0x41fbaf,_0x362dad){return _0x41fbaf+_0x362dad;},'UsJhC':_0x159587(0x139),'uTMSJ':function(_0x52f8ef,_0x4d5f71){return _0x52f8ef(_0x4d5f71);},'YSywd':function(_0x3fd52b,_0x238687,_0x3ef46c){return _0x3fd52b(_0x238687,_0x3ef46c);}},_0x2aaa20=_0x3f4623[_0x159587(0x123)](getMcpAuthUrl);currentOrigin=_0x2aaa20;const _0x11e8be=process[_0x159587(0x167)][_0x159587(0xfb)]??![];console[_0x159587(0x113)]('\x0aConnecting\x20to\x20MCP\x20auth\x20server:\x20'+_0x2aaa20+'\x0a');const _0x85aa1f=await tryUnauthenticated(_0x2aaa20);let _0x37bdb4=null;if(_0x3f4623['XMwWB'](_0x85aa1f,_0x159587(0x15f)))_0x37bdb4='';else{_0x37bdb4=await loadCachedToken();if(!_0x37bdb4){if(!_0x11e8be)throw new Error(_0x3f4623['LoIZG'](_0x159587(0x171),_0x3f4623['UsJhC']));_0x37bdb4=await _0x3f4623['uTMSJ'](oauthFlow,_0x2aaa20);}}await _0x3f4623['YSywd'](callGetCliToken,_0x2aaa20,_0x37bdb4);}async function tryUnauthenticated(_0x565f0f){const _0x5ca257=_0xd16e64,_0x54ed77={'FVrVE':_0x5ca257(0x162),'vKciK':'application/json,\x20text/event-stream','xnKZQ':'initialize','cLltm':'2025-03-26','UEcaT':'proxied','sRpYp':function(_0x21578b,_0x5513d8){return _0x21578b===_0x5513d8;},'QwJFP':'needs-oauth'},_0x5d8a9c=await fetch(_0x565f0f,{'method':_0x54ed77[_0x5ca257(0x152)],'headers':{'Content-Type':'application/json','Accept':_0x54ed77['vKciK']},'body':JSON['stringify']({'jsonrpc':_0x5ca257(0x143),'id':0x1,'method':_0x54ed77['xnKZQ'],'params':{'protocolVersion':_0x54ed77[_0x5ca257(0x159)],'capabilities':{},'clientInfo':{'name':'ranger-cli','version':'1.0.0'}}})});if(_0x5d8a9c['ok'])return await _0x5d8a9c[_0x5ca257(0x109)](),_0x54ed77[_0x5ca257(0x172)];if(_0x54ed77['sRpYp'](_0x5d8a9c['status'],0x191))return await _0x5d8a9c['text'](),_0x54ed77['QwJFP'];const _0x5f2288=await _0x5d8a9c['text']();throw new Error('MCP\x20server\x20returned\x20HTTP\x20'+_0x5d8a9c['status']+':\x20'+_0x5f2288);}class OAuthTimeoutError extends Error{constructor(_0x23e55a){const _0x49bf6c=_0xd16e64,_0x222b20={'hfJQF':_0x49bf6c(0x12e)};super(_0x23e55a),this['name']=_0x222b20[_0x49bf6c(0x176)];}}async function oauthFlow(_0x56d47f){const _0x5cede8=_0xd16e64,_0x27400f={'BsBJc':function(_0x312b14,_0x486288){return _0x312b14(_0x486288);},'idITM':function(_0x125748,_0x3b72f1){return _0x125748 instanceof _0x3b72f1;},'ewFXl':function(_0x20c790){return _0x20c790();},'maBrq':_0x5cede8(0xef)};try{return await _0x27400f['BsBJc'](oauthFlowAttempt,_0x56d47f);}catch(_0x1244cc){if(_0x27400f['idITM'](_0x1244cc,OAuthTimeoutError)&&await _0x27400f['ewFXl'](loadCachedClient))return console[_0x5cede8(0x113)](_0x27400f[_0x5cede8(0x13a)]),await clearCachedClient(),await oauthFlowAttempt(_0x56d47f);throw _0x1244cc;}}async function oauthFlowAttempt(_0x745047){const _0x7c7e6f=_0xd16e64,_0x5c163e={'upYwW':'Discovering\x20authorization\x20server...','GJODu':function(_0x5dd63a,_0x5bbd41){return _0x5dd63a(_0x5bbd41);},'pLTmd':function(_0x41e4d3){return _0x41e4d3();},'mIauN':function(_0x4e08a6,_0x351e6c,_0x26878c){return _0x4e08a6(_0x351e6c,_0x26878c);},'DAtUb':'POST','lOFMl':'refresh_token','CBJPf':'code','VglRe':_0x7c7e6f(0x12b),'cphlD':'Authorization\x20server\x20does\x20not\x20support\x20dynamic\x20client\x20registration\x20and\x20no\x20cached\x20client\x20found','IMHWu':_0x7c7e6f(0x134),'cogka':_0x7c7e6f(0x13e),'QCjlX':function(_0x325b4a,_0x2c305e){return _0x325b4a(_0x2c305e);},'pbDhp':'redirect_uri','MsvsB':'code_challenge','IHjBG':'state','PmwoO':_0x7c7e6f(0x13d),'oLrIt':function(_0x4c3032,_0x5c368e){return _0x4c3032(_0x5c368e);},'rujVM':_0x7c7e6f(0x132),'OjdcY':'client_secret','wzoyX':_0x7c7e6f(0xfe),'IHdNj':function(_0x528bdb,_0x51f5e1,_0x282007,_0x411b78){return _0x528bdb(_0x51f5e1,_0x282007,_0x411b78);}},_0x47a72c=_0x745047['replace'](/\/mcp$/,'');process['stdout']['write'](_0x5c163e[_0x7c7e6f(0x124)]);const _0x4f752e=await fetch(_0x47a72c+_0x7c7e6f(0xed));if(!_0x4f752e['ok'])throw new Error('Could\x20not\x20fetch\x20protected\x20resource\x20metadata\x20from\x20MCP\x20server');const _0x4849a1=await _0x4f752e['json'](),_0x2f79df=_0x4849a1['authorization_servers']?.[0x0];if(!_0x2f79df)throw new Error(_0x7c7e6f(0x156));console['log']('\x20'+_0x2f79df);const _0x485a5e=await _0x5c163e['GJODu'](fetchAuthServerMetadata,_0x2f79df);let _0x40d937,_0x297d3e;const _0x33ddbb=await _0x5c163e[_0x7c7e6f(0x12c)](loadCachedClient);if(_0x33ddbb)_0x40d937=_0x33ddbb[_0x7c7e6f(0x16b)],_0x297d3e=_0x33ddbb[_0x7c7e6f(0x102)];else{if(_0x485a5e[_0x7c7e6f(0x148)]){process['stdout']['write']('Registering\x20OAuth\x20client...');const _0x14518c=await _0x5c163e[_0x7c7e6f(0x145)](fetch,_0x485a5e['registration_endpoint'],{'method':_0x5c163e['DAtUb'],'headers':{'Content-Type':'application/json'},'body':JSON['stringify']({'client_name':'Ranger\x20CLI','redirect_uris':['http://localhost:'+CALLBACK_PORT+_0x7c7e6f(0xee)],'grant_types':[_0x7c7e6f(0x127),_0x5c163e['lOFMl']],'response_types':[_0x5c163e['CBJPf']],'token_endpoint_auth_method':_0x5c163e['VglRe']})});if(!_0x14518c['ok']){const _0x3c92c1=await _0x14518c[_0x7c7e6f(0x109)]();throw new Error(_0x7c7e6f(0x178)+_0x3c92c1);}const _0x2d0724=await _0x14518c[_0x7c7e6f(0xec)]();_0x40d937=_0x2d0724[_0x7c7e6f(0x103)],_0x297d3e=_0x2d0724['client_secret'],await _0x5c163e['mIauN'](saveCachedClient,_0x40d937,_0x297d3e),console[_0x7c7e6f(0x113)]('\x20done');}else throw new Error(_0x5c163e[_0x7c7e6f(0xf6)]);}const _0x5b85ef=_0x5c163e[_0x7c7e6f(0x128)](randomBytes,0x20)['toString'](_0x5c163e['IMHWu']),_0x43e6c4=createHash(_0x5c163e['cogka'])[_0x7c7e6f(0x177)](_0x5b85ef)['digest'](_0x5c163e['IMHWu']),_0x1660d6=_0x5c163e[_0x7c7e6f(0x16c)](randomBytes,0x10)[_0x7c7e6f(0x163)]('hex'),_0x1d1326=new URL(_0x485a5e[_0x7c7e6f(0x170)]);_0x1d1326['searchParams'][_0x7c7e6f(0x174)]('response_type',_0x5c163e['CBJPf']),_0x1d1326['searchParams'][_0x7c7e6f(0x174)]('client_id',_0x40d937),_0x1d1326[_0x7c7e6f(0x120)][_0x7c7e6f(0x174)](_0x5c163e['pbDhp'],'http://localhost:'+CALLBACK_PORT+'/callback'),_0x1d1326['searchParams'][_0x7c7e6f(0x174)](_0x5c163e[_0x7c7e6f(0x121)],_0x43e6c4),_0x1d1326['searchParams']['set']('code_challenge_method',_0x7c7e6f(0x11e)),_0x1d1326['searchParams']['set'](_0x5c163e[_0x7c7e6f(0x10f)],_0x1660d6);_0x4849a1[_0x7c7e6f(0x13d)]&&_0x1d1326['searchParams']['set'](_0x5c163e[_0x7c7e6f(0x117)],_0x4849a1['resource']);console['log'](_0x7c7e6f(0x16f)),console[_0x7c7e6f(0x113)](_0x7c7e6f(0xf7)+_0x1d1326['toString']()+'\x0a'),await _0x5c163e[_0x7c7e6f(0x141)](openBrowser,_0x1d1326[_0x7c7e6f(0x163)]());const _0x43550b=await waitForCallback(_0x1660d6);process['stdout']['write'](_0x5c163e['rujVM']);const _0x2a1e85=new URLSearchParams({'grant_type':_0x7c7e6f(0x127),'code':_0x43550b,'redirect_uri':_0x7c7e6f(0x15d)+CALLBACK_PORT+_0x7c7e6f(0xee),'client_id':_0x40d937,'code_verifier':_0x5b85ef});_0x297d3e&&_0x2a1e85[_0x7c7e6f(0x174)](_0x5c163e['OjdcY'],_0x297d3e);_0x4849a1[_0x7c7e6f(0x13d)]&&_0x2a1e85[_0x7c7e6f(0x174)](_0x5c163e[_0x7c7e6f(0x117)],_0x4849a1['resource']);const _0x7eabc2=await _0x5c163e[_0x7c7e6f(0x145)](fetch,_0x485a5e['token_endpoint'],{'method':_0x5c163e[_0x7c7e6f(0x146)],'headers':{'Content-Type':_0x5c163e['wzoyX']},'body':_0x2a1e85});if(!_0x7eabc2['ok']){const _0x9b8ec=await _0x7eabc2[_0x7c7e6f(0x109)]();throw new Error('Token\x20exchange\x20failed:\x20'+_0x9b8ec);}const _0x6a59f8=await _0x7eabc2[_0x7c7e6f(0xec)]();return console[_0x7c7e6f(0x113)](_0x7c7e6f(0x10d)),await _0x5c163e[_0x7c7e6f(0x13b)](saveCachedToken,_0x6a59f8[_0x7c7e6f(0x101)],_0x6a59f8['refresh_token'],_0x6a59f8['expires_in']),_0x6a59f8['access_token'];}async function callGetCliToken(_0x507283,_0x3ba948){const _0x223a58=_0xd16e64,_0x1ab407={'ZyOlB':function(_0x444cb0,_0x459ff2,_0x21187b){return _0x444cb0(_0x459ff2,_0x21187b);},'RCmoB':'POST','ZWqux':function(_0x4db27a,_0x4ac7b9){return _0x4db27a(_0x4ac7b9);},'LEvmp':function(_0x17070f,_0x8716c1){return _0x17070f(_0x8716c1);},'goGJq':'2.0','FVqjC':_0x223a58(0x119),'SCnYb':'1.0.0','Fywve':function(_0x1ea8d4,_0x39a502,_0x421e3f){return _0x1ea8d4(_0x39a502,_0x421e3f);},'HNPlk':_0x223a58(0xf3),'MtlCs':'Requesting\x20CLI\x20token...','wfAIO':function(_0x138f54,_0x484efb){return _0x138f54(_0x484efb);},'mZjKp':_0x223a58(0x15a),'xocOr':_0x223a58(0x166),'owWIV':function(_0x1be0ce,_0x5d037f,_0x44b959){return _0x1be0ce(_0x5d037f,_0x44b959);},'YwZCA':'refresh.txt','tAJsD':function(_0x230b30,_0x4d1512,_0x952a7e){return _0x230b30(_0x4d1512,_0x952a7e);},'OUeAm':function(_0x28116e,_0x1d4ed5,_0x363057,_0x24a394){return _0x28116e(_0x1d4ed5,_0x363057,_0x24a394);}},_0x3c16c2={'Content-Type':'application/json','Accept':_0x223a58(0x10b)};_0x3ba948&&(_0x3c16c2[_0x223a58(0x11b)]=_0x223a58(0x153)+_0x3ba948);const _0x28de7d=async _0x4d928a=>{const _0x45bb53=_0x223a58,_0x30051a=await _0x1ab407[_0x45bb53(0xfd)](fetch,_0x507283,{'method':_0x1ab407[_0x45bb53(0x15e)],'headers':_0x3c16c2,'body':JSON[_0x45bb53(0xfa)](_0x4d928a)});if(!_0x30051a['ok']){const _0x10459a=await _0x30051a['text']();throw new Error('HTTP\x20'+_0x30051a[_0x45bb53(0x130)]+':\x20'+_0x10459a);}return _0x1ab407[_0x45bb53(0x14a)](parseResponse,_0x30051a);};process[_0x223a58(0x167)]['write']('Initializing\x20MCP\x20session...');const _0xd8eb4f=await _0x1ab407[_0x223a58(0xf1)](_0x28de7d,{'jsonrpc':_0x1ab407[_0x223a58(0x160)],'id':0x1,'method':'initialize','params':{'protocolVersion':_0x223a58(0xf0),'capabilities':{},'clientInfo':{'name':_0x1ab407[_0x223a58(0x106)],'version':_0x1ab407[_0x223a58(0xf2)]}}});if(_0xd8eb4f['error'])throw new Error('MCP\x20initialize\x20failed:\x20'+(_0xd8eb4f[_0x223a58(0x138)][_0x223a58(0x11f)]??JSON['stringify'](_0xd8eb4f[_0x223a58(0x138)])));console['log'](_0x223a58(0x10d)),await _0x1ab407['Fywve'](fetch,_0x507283,{'method':'POST','headers':_0x3c16c2,'body':JSON['stringify']({'jsonrpc':_0x1ab407[_0x223a58(0x160)],'method':_0x1ab407[_0x223a58(0x150)]})})['then'](_0x41bd75=>_0x41bd75['text']()),process['stdout']['write'](_0x1ab407[_0x223a58(0x112)]);const _0x274b78=await _0x1ab407['wfAIO'](_0x28de7d,{'jsonrpc':_0x1ab407[_0x223a58(0x160)],'id':0x2,'method':_0x1ab407[_0x223a58(0x104)],'params':{'name':_0x223a58(0x115),'arguments':{}}});if(_0x274b78['error'])throw new Error(_0x223a58(0x14e)+(_0x274b78[_0x223a58(0x138)]['message']??JSON[_0x223a58(0xfa)](_0x274b78['error'])));console['log']('\x20done');const _0x5ee619=extractToken(_0x274b78[_0x223a58(0xff)]);if(!_0x5ee619){console['error'](_0x1ab407[_0x223a58(0x15b)]),console[_0x223a58(0x138)](JSON['stringify'](_0x274b78['result'],null,0x2));throw new Error(_0x223a58(0x118));}const _0x243704=join(homedir(),_0x223a58(0xf8)),_0x4c1879=_0x1ab407[_0x223a58(0x144)](join,_0x243704,_0x1ab407[_0x223a58(0x161)]);await _0x1ab407[_0x223a58(0x168)](mkdir,_0x243704,{'recursive':!![]}),await writeFile(_0x4c1879,_0x5ee619,{'mode':0x180}),await _0x1ab407['OUeAm'](writeFile,join(_0x243704,'auth-origin.txt'),_0x507283,{'mode':0x180}),console[_0x223a58(0x113)]('\x0aToken\x20written\x20to\x20'+_0x4c1879),console['log']('Run\x20`ranger\x20status`\x20to\x20verify\x20authentication.\x0a');}async function fetchAuthServerMetadata(_0x5aab1e){const _0x3de883=_0xd16e64,_0x3bf237={'Qlnbp':function(_0x231d87,_0x5ce81f){return _0x231d87(_0x5ce81f);}},_0x9ef753=_0x5aab1e+_0x3de883(0x164),_0x3f0190=await _0x3bf237['Qlnbp'](fetch,_0x9ef753);if(!_0x3f0190['ok'])throw new Error('Could\x20not\x20fetch\x20auth\x20server\x20metadata\x20from\x20'+_0x9ef753+':\x20'+_0x3f0190['status']);return _0x3f0190['json']();}function waitForCallback(_0x77ef5d){const _0x2a883b=_0xd16e64,_0xf1b5a8={'MsfXQ':function(_0x4fbc96){return _0x4fbc96();},'Nypmb':'<html><body><h2>Authenticated!</h2><p>You\x20can\x20close\x20this\x20window\x20and\x20return\x20to\x20the\x20terminal.</p></body></html>','nzBLK':function(_0x4be66f,_0x590bf2){return _0x4be66f(_0x590bf2);},'ikBvr':function(_0x414323,_0x46b3eb,_0x117a8c){return _0x414323(_0x46b3eb,_0x117a8c);},'YZama':_0x2a883b(0x14c)};return new Promise((_0x113a9d,_0x2c6341)=>{const _0x284370=_0x2a883b,_0x169d7f={'xxkWA':function(_0x181d8a){const _0x1d49c0=_0x37e3;return _0xf1b5a8[_0x1d49c0(0x12a)](_0x181d8a);},'IRzUl':'Not\x20found','gpqJG':_0x284370(0xf4),'SChMl':_0x284370(0x10a),'IgmGe':function(_0x58254a,_0x2ab0dd){return _0x58254a(_0x2ab0dd);},'ntkbQ':_0xf1b5a8['Nypmb'],'rzjmV':function(_0x113290,_0x5eb420){return _0x113290(_0x5eb420);},'YpukZ':function(_0x1fae15,_0xde3708){const _0x5b2eb6=_0x284370;return _0xf1b5a8[_0x5b2eb6(0x142)](_0x1fae15,_0xde3708);}},_0x4ca611=()=>{const _0x48f12c=_0x284370;_0x30edac[_0x48f12c(0x13f)](),_0x30edac[_0x48f12c(0x15c)]();},_0x1c766c=_0xf1b5a8['ikBvr'](setTimeout,()=>{const _0x44c7ab=_0x284370;_0x169d7f['xxkWA'](_0x4ca611),_0x2c6341(new OAuthTimeoutError(_0x44c7ab(0xf5)));},0x1d4c0),_0x30edac=createServer((_0xa767e3,_0x267842)=>{const _0x464e81=_0x284370,_0x4aa95d=new URL(_0xa767e3['url']??'/',_0x464e81(0x15d)+CALLBACK_PORT);if(_0x4aa95d['pathname']!=='/callback'){_0x267842['writeHead'](0x194),_0x267842[_0x464e81(0xea)](_0x169d7f['IRzUl']);return;}const _0x1b35a3=_0x4aa95d[_0x464e81(0x120)][_0x464e81(0x179)](_0x464e81(0x14d)),_0x44904e=_0x4aa95d['searchParams'][_0x464e81(0x179)](_0x169d7f['gpqJG']),_0x44393c=_0x4aa95d[_0x464e81(0x120)]['get']('error');if(_0x44393c){const _0x2e27a6=_0x4aa95d[_0x464e81(0x120)][_0x464e81(0x179)]('error_description')??_0x44393c;_0x267842['writeHead'](0xc8,{'Content-Type':_0x169d7f['SChMl']}),_0x267842[_0x464e81(0xea)]('<html><body><h2>Authentication\x20failed</h2><p>'+_0x2e27a6+_0x464e81(0x13c)),_0x169d7f['IgmGe'](clearTimeout,_0x1c766c),_0x169d7f['xxkWA'](_0x4ca611),_0x2c6341(new Error(_0x464e81(0x11c)+_0x2e27a6));return;}if(!_0x1b35a3||_0x44904e!==_0x77ef5d){_0x267842[_0x464e81(0x140)](0x190,{'Content-Type':_0x169d7f[_0x464e81(0x16d)]}),_0x267842['end'](_0x464e81(0x154));return;}_0x267842['writeHead'](0xc8,{'Content-Type':_0x464e81(0x10a)}),_0x267842['end'](_0x169d7f['ntkbQ']),_0x169d7f[_0x464e81(0xeb)](clearTimeout,_0x1c766c),_0x4ca611(),_0x169d7f[_0x464e81(0x11d)](_0x113a9d,_0x1b35a3);});_0x30edac['listen'](CALLBACK_PORT,_0xf1b5a8['YZama']);});}async function openBrowser(_0xd7aa4){const _0x45ebf8=_0xd16e64,_0x8786d7={'LsaHW':'win32','yJvjF':_0x45ebf8(0x137)},_0x592bca=process['platform']==='darwin'?'open':process['platform']===_0x8786d7['LsaHW']?'start':_0x8786d7['yJvjF'];exec(_0x592bca+'\x20\x22'+_0xd7aa4+'\x22');}let currentOrigin='';async function loadCachedToken(){const _0x52baf1=_0xd16e64,_0x5938f8={'nPTYH':function(_0x1dec33,_0x4e0928,_0xf46930){return _0x1dec33(_0x4e0928,_0xf46930);},'bupnD':_0x52baf1(0x173)};try{const _0x1a0185=JSON[_0x52baf1(0x116)](await _0x5938f8['nPTYH'](readFile,TOKEN_CACHE_PATH,_0x5938f8[_0x52baf1(0x14f)]));if(_0x1a0185[_0x52baf1(0x155)]&&_0x1a0185[_0x52baf1(0x155)]!==currentOrigin)return null;if(_0x1a0185['expiresAt']&&Date['now']()>_0x1a0185[_0x52baf1(0x105)])return null;return _0x1a0185['accessToken']??null;}catch{return null;}}async function saveCachedToken(_0x4f82bb,_0x229f39,_0x353179){const _0x44a026=_0xd16e64,_0x3ffc2b={'RBmLR':function(_0xc8cee6){return _0xc8cee6();},'nlAMI':function(_0x1b34f5,_0x3579ef){return _0x1b34f5+_0x3579ef;},'KhrHH':function(_0x4f4806,_0x22f707,_0x5dd5e7){return _0x4f4806(_0x22f707,_0x5dd5e7);},'fAtkj':_0x44a026(0xf8)},_0x5b4cc=await _0x3ffc2b['RBmLR'](loadCachedData),_0x46d5ce={..._0x5b4cc,'origin':currentOrigin,'accessToken':_0x4f82bb,'refreshToken':_0x229f39??_0x5b4cc?.['refreshToken'],'expiresAt':_0x353179?_0x3ffc2b['nlAMI'](Date['now'](),_0x353179*0x3e8):undefined};await _0x3ffc2b['KhrHH'](mkdir,join(homedir(),_0x3ffc2b[_0x44a026(0x158)]),{'recursive':!![]}),await writeFile(TOKEN_CACHE_PATH,JSON[_0x44a026(0xfa)](_0x46d5ce),{'mode':0x180});}async function loadCachedClient(){const _0x16d776=_0xd16e64,_0x277195={'CuPvR':function(_0x5ef9e3){return _0x5ef9e3();},'aKFAB':function(_0x8a0d61,_0x27e214){return _0x8a0d61!==_0x27e214;}},_0x2b8f86=await _0x277195['CuPvR'](loadCachedData);if(_0x2b8f86?.[_0x16d776(0x155)]&&_0x277195[_0x16d776(0x108)](_0x2b8f86['origin'],currentOrigin))return null;return _0x2b8f86?.['clientId']?{'clientId':_0x2b8f86[_0x16d776(0x16b)],'clientSecret':_0x2b8f86['clientSecret']}:null;}async function clearCachedClient(){const _0x4b9489=_0xd16e64,_0x5ca65c={'VxZTC':function(_0x374235,_0x4732b4,_0x255e20,_0x2cb932){return _0x374235(_0x4732b4,_0x255e20,_0x2cb932);}},_0x5b2ce4=await loadCachedData();if(!_0x5b2ce4)return;const {clientId:_0x5cdd8e,clientSecret:_0x1449b3,..._0x5ae27d}=_0x5b2ce4;await _0x5ca65c[_0x4b9489(0x14b)](writeFile,TOKEN_CACHE_PATH,JSON['stringify'](_0x5ae27d),{'mode':0x180});}async function saveCachedClient(_0x3b7dac,_0x2caf06){const _0x30c3e8=_0xd16e64,_0x1a7e53={'ekfLJ':function(_0x1a893d,_0x2a0708,_0x29ac31){return _0x1a893d(_0x2a0708,_0x29ac31);},'XPgcL':function(_0x3573ce){return _0x3573ce();},'oYmYS':function(_0x46af5d,_0x1c5669,_0x17066e,_0x5d2c83){return _0x46af5d(_0x1c5669,_0x17066e,_0x5d2c83);}},_0x1cf158=await loadCachedData(),_0x17d9ba={..._0x1cf158,'origin':currentOrigin,'accessToken':_0x1cf158?.['accessToken']??'','clientId':_0x3b7dac,'clientSecret':_0x2caf06};await _0x1a7e53['ekfLJ'](mkdir,join(_0x1a7e53['XPgcL'](homedir),'.ranger'),{'recursive':!![]}),await _0x1a7e53['oYmYS'](writeFile,TOKEN_CACHE_PATH,JSON[_0x30c3e8(0xfa)](_0x17d9ba),{'mode':0x180});}async function loadCachedData(){const _0x1478db=_0xd16e64,_0x5f01df={'cHcYD':function(_0x1e86e9,_0x4716a3,_0x1730a3){return _0x1e86e9(_0x4716a3,_0x1730a3);},'vndHr':'utf-8'};try{return JSON['parse'](await _0x5f01df[_0x1478db(0x11a)](readFile,TOKEN_CACHE_PATH,_0x5f01df[_0x1478db(0x12f)]));}catch{return null;}}async function parseResponse(_0x945389){const _0x3ede76=_0xd16e64,_0x337b50={'rovJG':'text/event-stream','LBheb':'data:'},_0x56b0aa=_0x945389[_0x3ede76(0x175)]['get']('content-type')??'';if(_0x56b0aa['includes'](_0x337b50[_0x3ede76(0x135)])){const _0x36a004=await _0x945389['text']();for(const _0x1ac268 of _0x36a004[_0x3ede76(0x157)]('\x0a')){const _0x4c6c67=_0x1ac268['trim']();if(_0x4c6c67['startsWith'](_0x337b50[_0x3ede76(0x110)])){const _0x59e192=_0x4c6c67[_0x3ede76(0x147)](_0x337b50[_0x3ede76(0x110)]['length'])[_0x3ede76(0x100)]();if(!_0x59e192)continue;try{const _0x251d15=JSON['parse'](_0x59e192);if(_0x251d15['id']!==undefined||_0x251d15['error'])return _0x251d15;}catch{}}}throw new Error(_0x3ede76(0x149));}return _0x945389['json']();}function extractToken(_0x25c390){const _0x3f8bbd=_0xd16e64,_0x3d446b={'bLPqD':function(_0x51b436,_0x384c0e){return _0x51b436===_0x384c0e;},'Pomoe':_0x3f8bbd(0x109)};if(!_0x25c390)return null;const _0x42bd96=_0x25c390[_0x3f8bbd(0x10c)];if(_0x42bd96?.[_0x3f8bbd(0xfc)]&&_0x3d446b['bLPqD'](typeof _0x42bd96['token'],'string'))return _0x42bd96['token'];if(_0x25c390[_0x3f8bbd(0x165)]){const _0x33d9d6=_0x25c390[_0x3f8bbd(0x111)];throw new Error(_0x3f8bbd(0x107)+(_0x33d9d6?.[0x0]?.[_0x3f8bbd(0x109)]??'Unknown\x20error'));}const _0x41ea23=_0x25c390['content'];if(_0x41ea23)for(const _0x5bea51 of _0x41ea23){if(_0x5bea51[_0x3f8bbd(0x122)]===_0x3d446b['Pomoe']&&_0x5bea51['text']){try{const _0x399746=JSON[_0x3f8bbd(0x116)](_0x5bea51[_0x3f8bbd(0x109)]);if(_0x3d446b[_0x3f8bbd(0x16e)](typeof _0x399746?.['token'],'string'))return _0x399746['token'];}catch{}const _0xe95f22=_0x5bea51['text']['match'](/(rngr_[A-Za-z0-9_-]+)/);if(_0xe95f22)return _0xe95f22[0x1];}}return null;}
@@ -1 +1 @@
1
- function _0x4c72(){var _0x2d0d89=['error','1617936LNhLoh','4061900rgdnXf','2208783FItmyU','exit','3390630mlKare','2aAimpf','FoqKs','\x20\x20ranger\x20profile\x20add\x20<name>\x0a','FDhgR','668617amcqDr','12781071XshYOP','4359570OmobyT','rZgGm','7wdUzzw','To\x20set\x20up\x20a\x20fresh\x20profile,\x20run:\x0a','GpAIG'];_0x4c72=function(){return _0x2d0d89;};return _0x4c72();}function _0x3517(_0x129d19,_0x46fbf8){_0x129d19=_0x129d19-0x79;var _0x4c7242=_0x4c72();var _0x35173a=_0x4c7242[_0x129d19];return _0x35173a;}(function(_0x264a8e,_0x34181e){var _0x27f0c5=_0x3517,_0x306e2e=_0x264a8e();while(!![]){try{var _0x30510a=-parseInt(_0x27f0c5(0x84))/0x1*(-parseInt(_0x27f0c5(0x80))/0x2)+parseInt(_0x27f0c5(0x7d))/0x3+-parseInt(_0x27f0c5(0x7c))/0x4+-parseInt(_0x27f0c5(0x86))/0x5+-parseInt(_0x27f0c5(0x7f))/0x6+-parseInt(_0x27f0c5(0x88))/0x7*(-parseInt(_0x27f0c5(0x7b))/0x8)+parseInt(_0x27f0c5(0x85))/0x9;if(_0x30510a===_0x34181e)break;else _0x306e2e['push'](_0x306e2e['shift']());}catch(_0x27cd6b){_0x306e2e['push'](_0x306e2e['shift']());}}}(_0x4c72,0x8c519));export async function migrateProfile(_0xbbda99,_0x544984){var _0x565de4=_0x3517,_0x1324cc={'FoqKs':function(_0x201a14,_0x5a26eb){return _0x201a14+_0x5a26eb;},'rZgGm':function(_0x3b916e,_0x188155){return _0x3b916e+_0x188155;},'cVsIK':function(_0x2c0dff,_0x41ffb0){return _0x2c0dff+_0x41ffb0;},'GpAIG':function(_0x1c577a,_0x493347){return _0x1c577a+_0x493347;},'QJjre':function(_0x573445,_0x3d74ec){return _0x573445+_0x3d74ec;},'FDhgR':'\x20\x20https://docs.ranger.net/main/concepts/profiles\x0a','nMCUH':'Existing\x20sessions\x20in\x20your\x20old\x20<project>/.ranger/\x20dirs\x20still\x20work\x20as\x20a\x0a'};console[_0x565de4(0x7a)](_0x1324cc[_0x565de4(0x81)](_0x1324cc[_0x565de4(0x87)](_0x1324cc['cVsIK'](_0x1324cc[_0x565de4(0x79)](_0x1324cc['rZgGm'](_0x1324cc['QJjre']('ranger\x20profile\x20migrate\x20is\x20no\x20longer\x20supported.\x0a','\x0a'),_0x565de4(0x89)),_0x565de4(0x82)),'\x0a')+'For\x20CI\x20/\x20background\x20agents\x20and\x20other\x20setup\x20options,\x20see:\x0a'+_0x1324cc[_0x565de4(0x83)],'\x0a'),_0x1324cc['nMCUH'])+'fallback;\x20you\x20can\x20delete\x20them\x20once\x20you\x20have\x20re-auth-ed.'),process[_0x565de4(0x7e)](0x1);}
1
+ function _0x17d4(){var _0x24d5a9=['4710810zlKbSt','560004jFRwxY','99447rjZOov','To\x20set\x20up\x20a\x20fresh\x20profile,\x20run:\x0a','Existing\x20sessions\x20in\x20your\x20old\x20<project>/.ranger/\x20dirs\x20still\x20work\x20as\x20a\x0a','1629FRrClp','For\x20CI\x20/\x20background\x20agents\x20and\x20other\x20setup\x20options,\x20see:\x0a','6504sVKwYJ','2IyxgMQ','SIyDE','exit','205028ABzEjI','ranger\x20profile\x20migrate\x20is\x20no\x20longer\x20supported.\x0a','60981qXcRZW','\x20\x20https://docs.ranger.net/main/concepts/profiles\x0a','10HUktVp','fallback;\x20you\x20can\x20delete\x20them\x20once\x20you\x20have\x20re-auth-ed.','wlhMT','1217685gEjojn','neWPf'];_0x17d4=function(){return _0x24d5a9;};return _0x17d4();}(function(_0x4b44a2,_0xe94e5b){var _0x38128d=_0x2e3a,_0x3b3691=_0x4b44a2();while(!![]){try{var _0x304f56=parseInt(_0x38128d(0x1bc))/0x1+-parseInt(_0x38128d(0x1b7))/0x2*(-parseInt(_0x38128d(0x1b1))/0x3)+parseInt(_0x38128d(0x1ba))/0x4+parseInt(_0x38128d(0x1be))/0x5*(-parseInt(_0x38128d(0x1c4))/0x6)+-parseInt(_0x38128d(0x1c1))/0x7+-parseInt(_0x38128d(0x1b6))/0x8*(parseInt(_0x38128d(0x1b4))/0x9)+parseInt(_0x38128d(0x1c3))/0xa;if(_0x304f56===_0xe94e5b)break;else _0x3b3691['push'](_0x3b3691['shift']());}catch(_0x11a2b9){_0x3b3691['push'](_0x3b3691['shift']());}}}(_0x17d4,0x1a894));function _0x2e3a(_0x521dd1,_0x270b53){_0x521dd1=_0x521dd1-0x1b1;var _0x17d4de=_0x17d4();var _0x2e3ad8=_0x17d4de[_0x521dd1];return _0x2e3ad8;}export async function migrateProfile(_0x7875f4,_0x4f7520){var _0x2f3a9d=_0x2e3a,_0x59f9d4={'wlhMT':function(_0x3ded02,_0x3cb221){return _0x3ded02+_0x3cb221;},'wOapk':function(_0x8cd157,_0x2a597f){return _0x8cd157+_0x2a597f;},'neWPf':_0x2f3a9d(0x1bb),'OgqXi':'\x20\x20ranger\x20profile\x20add\x20<name>\x0a','SIyDE':_0x2f3a9d(0x1b3)};console['error'](_0x59f9d4[_0x2f3a9d(0x1c0)](_0x59f9d4[_0x2f3a9d(0x1c0)](_0x59f9d4['wOapk'](_0x59f9d4[_0x2f3a9d(0x1c2)],'\x0a')+_0x2f3a9d(0x1b2)+_0x59f9d4['OgqXi']+'\x0a',_0x2f3a9d(0x1b5)),_0x2f3a9d(0x1bd))+'\x0a'+_0x59f9d4[_0x2f3a9d(0x1b8)]+_0x2f3a9d(0x1bf)),process[_0x2f3a9d(0x1b9)](0x1);}
@@ -1 +1 @@
1
- (function(_0x23d56b,_0x56b725){const _0x1216ce=_0x2d31,_0x222e9f=_0x23d56b();while(!![]){try{const _0x3ab72d=-parseInt(_0x1216ce(0x8d))/0x1*(-parseInt(_0x1216ce(0x9c))/0x2)+-parseInt(_0x1216ce(0xaa))/0x3+-parseInt(_0x1216ce(0x92))/0x4+parseInt(_0x1216ce(0x95))/0x5+-parseInt(_0x1216ce(0x9b))/0x6+-parseInt(_0x1216ce(0x8c))/0x7*(-parseInt(_0x1216ce(0x88))/0x8)+parseInt(_0x1216ce(0x9d))/0x9;if(_0x3ab72d===_0x56b725)break;else _0x222e9f['push'](_0x222e9f['shift']());}catch(_0x3cc7de){_0x222e9f['push'](_0x222e9f['shift']());}}}(_0x2241,0x7244b));import{join}from'path';import{existsSync}from'fs';import _0x57368e from'inquirer';import{skillup}from'../skillup.js';function _0x2d31(_0x599ed8,_0x5d23ba){_0x599ed8=_0x599ed8-0x7f;const _0x224121=_0x2241();let _0x2d31e0=_0x224121[_0x599ed8];return _0x2d31e0;}import{runClaudeCommand,isMarketplaceAdded,isPluginInstalled}from'../utils/claudePlugin.js';import{getProjectRoot,getSkillsDir}from'../utils/claudeConfig.js';function _0x2241(){const _0x969b94=['project','XdtoV','FbpPR','390480qRlBgH','26212fhDhYc','7930008eyAJBL','XEkBp','confirm','❌\x20Failed\x20to\x20add\x20marketplace:','VPcYz','ranger','ranger@trailhead','install','mpymr','TVinj','QIIDF','\x0aYou\x20can\x20install\x20manually\x20with:','mwZmk','1291332vzpmMp','PshJV','bPTIB','fZpza','plugin','Would\x20you\x20like\x20to\x20install\x20skills?','enable','kyXrM','LUeoP','xhJBc','list','user','SNBeS','.claude','\x20\x20claude\x20plugin\x20install\x20ranger@trailhead\x20--scope\x20','push','ranger-testing/trailhead','FHigG','4885288fjmuoW','already\x20enabled','tiDPp','error','7IOIIBX','4zEESyl','✓\x20Claude\x20Code\x20plugin\x20installed\x20successfully','prompt','marketplace','output','3286860FhnBpR','log','xlxdi','1205425FXeKNj','success','zcXcy'];_0x2241=function(){return _0x969b94;};return _0x2241();}export async function ensureClaudePlugin(_0x5466d1){const _0x158436=_0x2d31,_0x3c76fa={'bwDYf':function(_0x17f695,_0x40bc27){return _0x17f695(_0x40bc27);},'TVinj':'✓\x20Claude\x20Code\x20plugin\x20already\x20installed','tiDPp':function(_0x912bdd){return _0x912bdd();},'FbpPR':'.claude','mpymr':_0x158436(0x98),'XEkBp':'\x0a📦\x20Claude\x20Code\x20Plugin\x0a','fZpza':'pluginScope','xlxdi':'User\x20(available\x20in\x20all\x20your\x20projects)','FHigG':_0x158436(0x81),'bPTIB':function(_0x22a513,_0x4264be){return _0x22a513(_0x4264be);},'XdtoV':'trailhead','mwZmk':'plugin','zcXcy':'add','kyXrM':'\x20\x20claude\x20plugin\x20marketplace\x20add\x20ranger-testing/trailhead','QIIDF':'ranger@trailhead','VqHgJ':function(_0x3aa4c6){return _0x3aa4c6();},'FkrKe':function(_0x5b735d,_0xfc6379){return _0x5b735d===_0xfc6379;},'iWdpg':'--scope','WDmyD':_0x158436(0x89)},_0x5940e=await _0x3c76fa['bwDYf'](isPluginInstalled,_0x158436(0xa3));if(_0x5940e)return console[_0x158436(0x93)](_0x3c76fa[_0x158436(0xa6)]),![];const _0x276fe5=existsSync(join(_0x3c76fa[_0x158436(0x8a)](getProjectRoot),_0x3c76fa[_0x158436(0x9a)]));let _0x1138d9;if(_0x5466d1)_0x1138d9=_0x5466d1;else{if(_0x276fe5)_0x1138d9=_0x3c76fa[_0x158436(0xa5)];else{console['log'](_0x3c76fa[_0x158436(0x9e)]);const _0x4e4d20=await _0x57368e[_0x158436(0x8f)]([{'type':_0x158436(0x80),'name':_0x3c76fa[_0x158436(0xad)],'message':'Where\x20should\x20the\x20plugin\x20be\x20installed?','choices':[{'name':_0x3c76fa[_0x158436(0x94)],'value':_0x158436(0x81)},{'name':'Project\x20(shared\x20with\x20team\x20via\x20git)','value':'project'}],'default':_0x3c76fa[_0x158436(0x87)]}]);_0x1138d9=_0x4e4d20['pluginScope'];}}console['log']('\x0aInstalling\x20Claude\x20Code\x20plugin\x20('+_0x1138d9+'\x20level)...\x0a');const _0x43fe24=await _0x3c76fa[_0x158436(0xac)](isMarketplaceAdded,_0x3c76fa[_0x158436(0x99)]);let _0x28a2b3=_0x43fe24;if(_0x43fe24)console[_0x158436(0x93)]('✓\x20Marketplace\x20already\x20added');else{const _0x56cece=await runClaudeCommand([_0x3c76fa[_0x158436(0xa9)],_0x158436(0x90),_0x3c76fa[_0x158436(0x97)],_0x158436(0x86)]);!_0x56cece['success']?(console[_0x158436(0x8b)](_0x158436(0xa0),_0x56cece['error']),console[_0x158436(0x93)](_0x158436(0xa8)),console[_0x158436(0x93)](_0x3c76fa[_0x158436(0xb1)]),console[_0x158436(0x93)](_0x158436(0x84)+_0x1138d9)):_0x28a2b3=!![];}if(_0x28a2b3){const _0x3743ae=await runClaudeCommand([_0x3c76fa['mwZmk'],_0x158436(0xa4),_0x3c76fa[_0x158436(0xa7)],'--scope',_0x1138d9],{'cwd':_0x1138d9===_0x3c76fa['mpymr']?_0x3c76fa['VqHgJ'](getProjectRoot):undefined});if(!_0x3743ae[_0x158436(0x96)])console[_0x158436(0x8b)]('❌\x20Failed\x20to\x20install\x20plugin:',_0x3743ae[_0x158436(0x8b)]),console['log'](_0x158436(0xa8)),console['log'](_0x158436(0x84)+_0x1138d9);else{console[_0x158436(0x93)](_0x158436(0x8e));const _0x17a798=[_0x158436(0xae),_0x158436(0xb0),'ranger@trailhead'];_0x3c76fa['FkrKe'](_0x1138d9,_0x3c76fa[_0x158436(0xa5)])&&_0x17a798[_0x158436(0x85)](_0x3c76fa['iWdpg'],'project');const _0x35dc6a=await runClaudeCommand(_0x17a798,{'captureOutput':!![],'cwd':_0x1138d9===_0x3c76fa[_0x158436(0xa5)]?getProjectRoot():undefined}),_0x1eb8ef=_0x35dc6a[_0x158436(0x91)]?.['includes'](_0x3c76fa['WDmyD']);!_0x35dc6a[_0x158436(0x96)]&&!_0x1eb8ef?console[_0x158436(0x8b)]('⚠\x20Failed\x20to\x20enable\x20plugin:',_0x35dc6a['error']):console['log']('✓\x20Claude\x20Code\x20plugin\x20enabled');}}return!![];}export async function ensureClaudeSkills(_0xba14f){const _0x424ef2=_0x2d31,_0x370886={'LUeoP':function(_0x456f15,_0x5bcb34){return _0x456f15(_0x5bcb34);},'SNBeS':function(_0x2b4d57,_0x286a2d){return _0x2b4d57(_0x286a2d);},'vVbIa':'user','Wfmwl':_0x424ef2(0xa2),'vruxa':'SKILL.md','ykMXs':function(_0xa5d222,_0x582756,_0x14b84c,_0x532153){return _0xa5d222(_0x582756,_0x14b84c,_0x532153);},'DgFdW':function(_0x2e1196,_0x31f985){return _0x2e1196(_0x31f985);},'xhJBc':'project','PshJV':function(_0x11f1fa,_0x572382){return _0x11f1fa||_0x572382;},'LRmes':function(_0x45bb0c,_0x4284da,_0x18b043){return _0x45bb0c(_0x4284da,_0x18b043);},'UpqpW':function(_0x379b90){return _0x379b90();},'WBmfu':_0x424ef2(0x83),'mzJNe':'wantsSkillup','VPcYz':function(_0x56db1d,_0x10c9e9){return _0x56db1d(_0x10c9e9);}},_0x42091d=_0x370886[_0x424ef2(0xb2)](existsSync,join(_0x370886['SNBeS'](getSkillsDir,_0x370886['vVbIa']),_0x370886['Wfmwl'],_0x370886['vruxa'])),_0x598e00=existsSync(_0x370886['ykMXs'](join,_0x370886['DgFdW'](getSkillsDir,_0x370886['xhJBc']),_0x370886['Wfmwl'],_0x370886['vruxa']));if(_0x370886[_0x424ef2(0xab)](_0x42091d,_0x598e00))return console[_0x424ef2(0x93)]('✓\x20Ranger\x20skills\x20already\x20installed'),![];const _0x3c985e=existsSync(_0x370886['LRmes'](join,_0x370886['UpqpW'](getProjectRoot),_0x370886['WBmfu']));let _0x5402f7=!![];if(_0xba14f)await skillup({'autoInstall':_0xba14f,'suppressUsage':!![]});else{if(_0x3c985e)await _0x370886[_0x424ef2(0x82)](skillup,{'autoInstall':_0x370886[_0x424ef2(0x7f)],'suppressUsage':!![]});else{const _0x21fcad=await _0x57368e['prompt']([{'type':_0x424ef2(0x9f),'name':_0x370886['mzJNe'],'message':_0x424ef2(0xaf),'default':!![]}]);_0x5402f7=_0x21fcad['wantsSkillup'],_0x5402f7&&await _0x370886[_0x424ef2(0xa1)](skillup,{'suppressUsage':!![]});}}return _0x5402f7;}
1
+ (function(_0x767f11,_0x1cf4f8){const _0x5ccc6d=_0x1afd,_0x765fd2=_0x767f11();while(!![]){try{const _0x328ff1=-parseInt(_0x5ccc6d(0x13a))/0x1+parseInt(_0x5ccc6d(0x143))/0x2+parseInt(_0x5ccc6d(0x112))/0x3*(parseInt(_0x5ccc6d(0x128))/0x4)+parseInt(_0x5ccc6d(0x137))/0x5*(parseInt(_0x5ccc6d(0x134))/0x6)+parseInt(_0x5ccc6d(0x11d))/0x7+-parseInt(_0x5ccc6d(0x11a))/0x8*(parseInt(_0x5ccc6d(0x140))/0x9)+-parseInt(_0x5ccc6d(0x12f))/0xa;if(_0x328ff1===_0x1cf4f8)break;else _0x765fd2['push'](_0x765fd2['shift']());}catch(_0x583d3d){_0x765fd2['push'](_0x765fd2['shift']());}}}(_0x3ff5,0xf2c28));import{join}from'path';import{existsSync}from'fs';function _0x3ff5(){const _0x28a90a=['❌\x20Failed\x20to\x20install\x20plugin:','pluginScope','marketplace','deBZg','189920SgidxB','list','eBqGV','8651006efluKm','bEWNG','❌\x20Failed\x20to\x20add\x20marketplace:','ranger@trailhead','User\x20(available\x20in\x20all\x20your\x20projects)','tVNIr','SKILL.md','Where\x20should\x20the\x20plugin\x20be\x20installed?','Project\x20(shared\x20with\x20team\x20via\x20git)','user','HSxgI','953948XEGPYr','enable','rrZOG','trailhead','log','prompt','\x0a📦\x20Claude\x20Code\x20Plugin\x0a','34114090dUwpEX','qmDRp','mXKMa','ZUYOw','LAIkp','156qmsNDw','oYoxf','sZUhO','319635RRLPiC','syLJQ','push','304374forDqY','error','\x0aInstalling\x20Claude\x20Code\x20plugin\x20(','xQMWD','.claude','ZOuhY','162LAdBLy','project','eNWtz','1140156HNCVaH','ranger-testing/trailhead','cKFiB','\x20\x20claude\x20plugin\x20install\x20ranger@trailhead\x20--scope\x20','fggEO','ranger','output','21zoygKG','bVyJM','XqxWg','XIZqo'];_0x3ff5=function(){return _0x28a90a;};return _0x3ff5();}function _0x1afd(_0x6a04c8,_0x5a452e){_0x6a04c8=_0x6a04c8-0x10f;const _0x3ff5cd=_0x3ff5();let _0x1afdb3=_0x3ff5cd[_0x6a04c8];return _0x1afdb3;}import _0x5a5dce from'inquirer';import{skillup}from'../skillup.js';import{runClaudeCommand,isMarketplaceAdded,isPluginInstalled}from'../utils/claudePlugin.js';import{getProjectRoot,getSkillsDir}from'../utils/claudeConfig.js';export async function ensureClaudePlugin(_0x15c95c){const _0x2c7112=_0x1afd,_0x30f2f8={'SuCCu':function(_0x13d7e5,_0x50fba8){return _0x13d7e5(_0x50fba8);},'cOzge':function(_0x17fd48,_0x214767){return _0x17fd48(_0x214767);},'CavgL':function(_0x4deee2){return _0x4deee2();},'HSxgI':'project','rrZOG':_0x2c7112(0x12e),'deBZg':'pluginScope','QoDMo':_0x2c7112(0x124),'xQMWD':_0x2c7112(0x121),'Mudfa':_0x2c7112(0x126),'XIZqo':_0x2c7112(0x12b),'syLJQ':function(_0xfd6280,_0xad109d){return _0xfd6280(_0xad109d);},'BoxcY':'add','qmDRp':_0x2c7112(0x144),'PikST':_0x2c7112(0x11f),'bEWNG':'\x20\x20claude\x20plugin\x20marketplace\x20add\x20ranger-testing/trailhead','oYoxf':'--scope','bVyJM':function(_0x4cc6d1,_0x4d3817){return _0x4cc6d1===_0x4d3817;},'XqxWg':_0x2c7112(0x116),'ZOuhY':'\x0aYou\x20can\x20install\x20manually\x20with:','fggEO':'✓\x20Claude\x20Code\x20plugin\x20installed\x20successfully','Krubz':'plugin','tVNIr':_0x2c7112(0x129),'sZUhO':_0x2c7112(0x120),'LAIkp':function(_0x579920,_0x1c6ede,_0x2ceb84){return _0x579920(_0x1c6ede,_0x2ceb84);},'DTUAO':function(_0x115ef3,_0x1e6597){return _0x115ef3===_0x1e6597;},'cFfWQ':function(_0x41d0af){return _0x41d0af();},'cKFiB':'already\x20enabled'},_0x4da4e1=await _0x30f2f8['SuCCu'](isPluginInstalled,_0x2c7112(0x120));if(_0x4da4e1)return console[_0x2c7112(0x12c)]('✓\x20Claude\x20Code\x20plugin\x20already\x20installed'),![];const _0x18b955=_0x30f2f8['cOzge'](existsSync,join(_0x30f2f8['CavgL'](getProjectRoot),_0x2c7112(0x13e)));let _0x15366f;if(_0x15c95c)_0x15366f=_0x15c95c;else{if(_0x18b955)_0x15366f=_0x30f2f8['HSxgI'];else{console['log'](_0x30f2f8[_0x2c7112(0x12a)]);const _0x17fdda=await _0x5a5dce['prompt']([{'type':_0x2c7112(0x11b),'name':_0x30f2f8[_0x2c7112(0x119)],'message':_0x30f2f8['QoDMo'],'choices':[{'name':_0x30f2f8[_0x2c7112(0x13d)],'value':'user'},{'name':_0x2c7112(0x125),'value':_0x30f2f8['HSxgI']}],'default':_0x30f2f8['Mudfa']}]);_0x15366f=_0x17fdda[_0x2c7112(0x117)];}}console['log'](_0x2c7112(0x13c)+_0x15366f+'\x20level)...\x0a');const _0x4c74a4=await isMarketplaceAdded(_0x30f2f8[_0x2c7112(0x115)]);let _0x7ab09c=_0x4c74a4;if(_0x4c74a4)console[_0x2c7112(0x12c)]('✓\x20Marketplace\x20already\x20added');else{const _0x15c33a=await _0x30f2f8[_0x2c7112(0x138)](runClaudeCommand,['plugin',_0x2c7112(0x118),_0x30f2f8['BoxcY'],_0x30f2f8[_0x2c7112(0x130)]]);!_0x15c33a['success']?(console['error'](_0x30f2f8['PikST'],_0x15c33a[_0x2c7112(0x13b)]),console[_0x2c7112(0x12c)]('\x0aYou\x20can\x20install\x20manually\x20with:'),console['log'](_0x30f2f8[_0x2c7112(0x11e)]),console['log']('\x20\x20claude\x20plugin\x20install\x20ranger@trailhead\x20--scope\x20'+_0x15366f)):_0x7ab09c=!![];}if(_0x7ab09c){const _0x485867=await runClaudeCommand(['plugin','install',_0x2c7112(0x120),_0x30f2f8[_0x2c7112(0x135)],_0x15366f],{'cwd':_0x30f2f8[_0x2c7112(0x113)](_0x15366f,_0x30f2f8[_0x2c7112(0x127)])?_0x30f2f8['CavgL'](getProjectRoot):undefined});if(!_0x485867['success'])console[_0x2c7112(0x13b)](_0x30f2f8[_0x2c7112(0x114)],_0x485867['error']),console['log'](_0x30f2f8[_0x2c7112(0x13f)]),console['log'](_0x2c7112(0x146)+_0x15366f);else{console[_0x2c7112(0x12c)](_0x30f2f8[_0x2c7112(0x10f)]);const _0x5132f8=[_0x30f2f8['Krubz'],_0x30f2f8[_0x2c7112(0x122)],_0x30f2f8[_0x2c7112(0x136)]];_0x15366f===_0x2c7112(0x141)&&_0x5132f8[_0x2c7112(0x139)](_0x30f2f8[_0x2c7112(0x135)],'project');const _0x18dfc7=await _0x30f2f8[_0x2c7112(0x133)](runClaudeCommand,_0x5132f8,{'captureOutput':!![],'cwd':_0x30f2f8['DTUAO'](_0x15366f,_0x30f2f8[_0x2c7112(0x127)])?_0x30f2f8['cFfWQ'](getProjectRoot):undefined}),_0x576d16=_0x18dfc7[_0x2c7112(0x111)]?.['includes'](_0x30f2f8[_0x2c7112(0x145)]);!_0x18dfc7['success']&&!_0x576d16?console[_0x2c7112(0x13b)]('⚠\x20Failed\x20to\x20enable\x20plugin:',_0x18dfc7[_0x2c7112(0x13b)]):console['log']('✓\x20Claude\x20Code\x20plugin\x20enabled');}}return!![];}export async function ensureClaudeSkills(_0x58ecca){const _0x3e5548=_0x1afd,_0x383981={'INOdq':function(_0x101a95,_0x3a809e){return _0x101a95(_0x3a809e);},'mXKMa':function(_0x502d9f,_0x37ff31,_0x5d1936,_0x22f89e){return _0x502d9f(_0x37ff31,_0x5d1936,_0x22f89e);},'bpRvj':'project','nUxwe':'ranger','eBqGV':function(_0x326b54,_0x14281a){return _0x326b54||_0x14281a;},'ZUYOw':function(_0x28e067,_0x1a6b66){return _0x28e067(_0x1a6b66);},'eNWtz':function(_0x1a57c8,_0x220cb7,_0x2aeeee){return _0x1a57c8(_0x220cb7,_0x2aeeee);}},_0x4129cc=existsSync(join(getSkillsDir('user'),_0x3e5548(0x110),'SKILL.md')),_0x1ca74d=_0x383981['INOdq'](existsSync,_0x383981[_0x3e5548(0x131)](join,_0x383981['INOdq'](getSkillsDir,_0x383981['bpRvj']),_0x383981['nUxwe'],_0x3e5548(0x123)));if(_0x383981[_0x3e5548(0x11c)](_0x4129cc,_0x1ca74d))return console['log']('✓\x20Ranger\x20skills\x20already\x20installed'),![];const _0x2e9adb=_0x383981['ZUYOw'](existsSync,_0x383981[_0x3e5548(0x142)](join,getProjectRoot(),_0x3e5548(0x13e)));let _0xdf00e2=!![];if(_0x58ecca)await skillup({'autoInstall':_0x58ecca,'suppressUsage':!![]});else{if(_0x2e9adb)await _0x383981[_0x3e5548(0x132)](skillup,{'autoInstall':'project','suppressUsage':!![]});else{const _0x4ce8c5=await _0x5a5dce[_0x3e5548(0x12d)]([{'type':'confirm','name':'wantsSkillup','message':'Would\x20you\x20like\x20to\x20install\x20skills?','default':!![]}]);_0xdf00e2=_0x4ce8c5['wantsSkillup'],_0xdf00e2&&await skillup({'suppressUsage':!![]});}}return _0xdf00e2;}
@@ -1 +1 @@
1
- (function(_0x5c5908,_0xc9f181){const _0x6fd4ae=_0x5967,_0x34efb4=_0x5c5908();while(!![]){try{const _0x35bfc6=-parseInt(_0x6fd4ae(0x1b2))/0x1+-parseInt(_0x6fd4ae(0x1ad))/0x2*(-parseInt(_0x6fd4ae(0x1a9))/0x3)+-parseInt(_0x6fd4ae(0x1b9))/0x4+parseInt(_0x6fd4ae(0x1ab))/0x5+-parseInt(_0x6fd4ae(0x1b3))/0x6+parseInt(_0x6fd4ae(0x1a3))/0x7+parseInt(_0x6fd4ae(0x1b6))/0x8;if(_0x35bfc6===_0xc9f181)break;else _0x34efb4['push'](_0x34efb4['shift']());}catch(_0x330a8b){_0x34efb4['push'](_0x34efb4['shift']());}}}(_0x3b89,0x8748a));import{join}from'path';import{existsSync}from'fs';import{mkdir,readFile,writeFile}from'fs/promises';function _0x3b89(){const _0x8d46ef=['3523200pKczMJ','nuvpo','Failed\x20to\x20read\x20opencode.json','8025608KqQmLI','stringify','@ranger-testing/opencode-plugin','2172664ahsNbS','plugin','syEKh','FSzZZ','jKtie','Where\x20should\x20the\x20plugin\x20be\x20installed?','isArray','$schema','2068409jXWBAK','https://opencode.ai/config.json','log','pluginScope','uWVoE','GuNwY','291552SlrhDJ','rNvwg','3145285xlnfnX','includes','12aELcOA','list','User\x20(available\x20in\x20all\x20your\x20projects)','VBSqD','VobYO','826361lEcMFr'];_0x3b89=function(){return _0x8d46ef;};return _0x3b89();}import _0x2f09e7 from'inquirer';function _0x5967(_0x4387cb,_0x27203b){_0x4387cb=_0x4387cb-0x1a3;const _0x3b8904=_0x3b89();let _0x59676a=_0x3b8904[_0x4387cb];return _0x59676a;}import{getOpencodeConfigDir}from'../utils/opencodeConfig.js';export async function ensureOpencodePluginConfig(_0x5023e7){const _0x9910f0=_0x5967,_0x1b4780={'rNvwg':function(_0x3d361b,_0x2afb80,_0x990acf){return _0x3d361b(_0x2afb80,_0x990acf);},'uWVoE':'opencode.json','VBSqD':_0x9910f0(0x1ae),'nuvpo':_0x9910f0(0x1af),'jeitW':'user','qTkdL':_0x9910f0(0x1a4),'FSzZZ':function(_0x5f56ff,_0xc93b38){return _0x5f56ff(_0xc93b38);},'PIlEW':'utf-8','jKtie':'⚠\x20Failed\x20to\x20read\x20opencode.json.\x20Please\x20add\x20the\x20plugin\x20manually.','syEKh':_0x9910f0(0x1b5),'VobYO':function(_0x566fc6,_0x466861){return _0x566fc6(_0x466861);},'GuNwY':function(_0x51abe5,_0x2276f3){return _0x51abe5+_0x2276f3;}},_0x1a1196=existsSync(_0x1b4780['rNvwg'](join,getOpencodeConfigDir('project'),_0x1b4780[_0x9910f0(0x1a7)]));let _0x22ba7e;if(_0x5023e7)_0x22ba7e=_0x5023e7;else{if(_0x1a1196)_0x22ba7e='project';else{console['log']('\x0a📦\x20OpenCode\x20Plugin\x0a');const _0x3a793c=await _0x2f09e7['prompt']([{'type':_0x1b4780[_0x9910f0(0x1b0)],'name':_0x9910f0(0x1a6),'message':_0x9910f0(0x1be),'choices':[{'name':_0x1b4780[_0x9910f0(0x1b4)],'value':_0x1b4780['jeitW']},{'name':'Project\x20(shared\x20with\x20team\x20via\x20git)','value':'project'}],'default':_0x1b4780['jeitW']}]);_0x22ba7e=_0x3a793c['pluginScope'];}}const _0x46b6c3=_0x1b4780['rNvwg'](join,getOpencodeConfigDir(_0x22ba7e),_0x1b4780['uWVoE']),_0x2debcd=_0x9910f0(0x1b8),_0x48a840=_0x1b4780['qTkdL'];let _0xffc50f={};if(_0x1b4780[_0x9910f0(0x1bc)](existsSync,_0x46b6c3))try{const _0x55d2be=await _0x1b4780['rNvwg'](readFile,_0x46b6c3,_0x1b4780['PIlEW']);_0xffc50f=JSON['parse'](_0x55d2be);}catch(_0xb7fd18){return console['error'](_0x1b4780[_0x9910f0(0x1bd)]),{'configured':![],'scope':_0x22ba7e,'error':_0x1b4780[_0x9910f0(0x1bb)],'details':_0xb7fd18};}const _0x579de1=Array[_0x9910f0(0x1bf)](_0xffc50f[_0x9910f0(0x1ba)])?_0xffc50f[_0x9910f0(0x1ba)]:[];if(_0x579de1[_0x9910f0(0x1ac)](_0x2debcd))return console[_0x9910f0(0x1a5)]('✓\x20OpenCode\x20plugin\x20already\x20configured'),{'configured':![],'scope':_0x22ba7e};return _0xffc50f[_0x9910f0(0x1c0)]=_0xffc50f[_0x9910f0(0x1c0)]||_0x48a840,_0xffc50f['plugin']=[..._0x579de1,_0x2debcd],await mkdir(_0x1b4780[_0x9910f0(0x1b1)](getOpencodeConfigDir,_0x22ba7e),{'recursive':!![]}),await _0x1b4780[_0x9910f0(0x1aa)](writeFile,_0x46b6c3,_0x1b4780[_0x9910f0(0x1a8)](JSON[_0x9910f0(0x1b7)](_0xffc50f,null,0x2),'\x0a')),console['log']('✓\x20OpenCode\x20plugin\x20configured'),{'configured':!![],'scope':_0x22ba7e};}
1
+ (function(_0x3ed7ab,_0x29c96a){const _0x2c1943=_0x4a90,_0x48dd99=_0x3ed7ab();while(!![]){try{const _0x543cca=parseInt(_0x2c1943(0x1c1))/0x1+parseInt(_0x2c1943(0x1af))/0x2+parseInt(_0x2c1943(0x1bc))/0x3*(parseInt(_0x2c1943(0x1b8))/0x4)+parseInt(_0x2c1943(0x1b2))/0x5+-parseInt(_0x2c1943(0x1ba))/0x6+-parseInt(_0x2c1943(0x1ac))/0x7+-parseInt(_0x2c1943(0x1a9))/0x8;if(_0x543cca===_0x29c96a)break;else _0x48dd99['push'](_0x48dd99['shift']());}catch(_0x2f105d){_0x48dd99['push'](_0x48dd99['shift']());}}}(_0x25e7,0x2153d));function _0x4a90(_0x3fe4eb,_0x408d3a){_0x3fe4eb=_0x3fe4eb-0x1a9;const _0x25e7c4=_0x25e7();let _0x4a9006=_0x25e7c4[_0x3fe4eb];return _0x4a9006;}import{join}from'path';import{existsSync}from'fs';import{mkdir,readFile,writeFile}from'fs/promises';function _0x25e7(){const _0x2c8503=['136691hmTGwT','project','152224MCHizw','$schema','log','293867UDIriN','QWwYE','stringify','378838lXBjRG','Where\x20should\x20the\x20plugin\x20be\x20installed?','list','252345CpWkhm','✓\x20OpenCode\x20plugin\x20configured','\x0a📦\x20OpenCode\x20Plugin\x0a','sIbdn','isArray','includes','4mBprhu','plugin','1218456xDbDlv','prompt','72045vidZPm','ZBoxU','pluginScope','user','Project\x20(shared\x20with\x20team\x20via\x20git)'];_0x25e7=function(){return _0x2c8503;};return _0x25e7();}import _0x30284d from'inquirer';import{getOpencodeConfigDir}from'../utils/opencodeConfig.js';export async function ensureOpencodePluginConfig(_0x306a66){const _0x4cdc40=_0x4a90,_0x14e5d1={'Jvaxz':function(_0x1f1544,_0x30f033,_0x5e0076){return _0x1f1544(_0x30f033,_0x5e0076);},'sIbdn':function(_0x3c4fe5,_0x43bfce){return _0x3c4fe5(_0x43bfce);},'zqocP':'project','QWwYE':'opencode.json','XWffI':_0x4cdc40(0x1be),'lajbv':_0x4cdc40(0x1bf),'ZBoxU':'https://opencode.ai/config.json','mtlnl':function(_0x32830c,_0x4e4ed8,_0x956339){return _0x32830c(_0x4e4ed8,_0x956339);},'uZlqc':'⚠\x20Failed\x20to\x20read\x20opencode.json.\x20Please\x20add\x20the\x20plugin\x20manually.'},_0x2f2b9b=existsSync(_0x14e5d1['Jvaxz'](join,_0x14e5d1[_0x4cdc40(0x1b5)](getOpencodeConfigDir,_0x14e5d1['zqocP']),_0x14e5d1[_0x4cdc40(0x1ad)]));let _0x45a9f2;if(_0x306a66)_0x45a9f2=_0x306a66;else{if(_0x2f2b9b)_0x45a9f2=_0x4cdc40(0x1c2);else{console[_0x4cdc40(0x1ab)](_0x4cdc40(0x1b4));const _0x3e6947=await _0x30284d[_0x4cdc40(0x1bb)]([{'type':_0x4cdc40(0x1b1),'name':_0x14e5d1['XWffI'],'message':_0x4cdc40(0x1b0),'choices':[{'name':'User\x20(available\x20in\x20all\x20your\x20projects)','value':'user'},{'name':_0x4cdc40(0x1c0),'value':_0x14e5d1['zqocP']}],'default':_0x14e5d1['lajbv']}]);_0x45a9f2=_0x3e6947[_0x4cdc40(0x1be)];}}const _0x2c996c=join(getOpencodeConfigDir(_0x45a9f2),_0x14e5d1['QWwYE']),_0xde4ed3='@ranger-testing/opencode-plugin',_0x33643d=_0x14e5d1[_0x4cdc40(0x1bd)];let _0x47a2ce={};if(existsSync(_0x2c996c))try{const _0x5cb3db=await _0x14e5d1['mtlnl'](readFile,_0x2c996c,'utf-8');_0x47a2ce=JSON['parse'](_0x5cb3db);}catch(_0x3d53df){return console['error'](_0x14e5d1['uZlqc']),{'configured':![],'scope':_0x45a9f2,'error':'Failed\x20to\x20read\x20opencode.json','details':_0x3d53df};}const _0x3c06c4=Array[_0x4cdc40(0x1b6)](_0x47a2ce[_0x4cdc40(0x1b9)])?_0x47a2ce['plugin']:[];if(_0x3c06c4[_0x4cdc40(0x1b7)](_0xde4ed3))return console['log']('✓\x20OpenCode\x20plugin\x20already\x20configured'),{'configured':![],'scope':_0x45a9f2};return _0x47a2ce[_0x4cdc40(0x1aa)]=_0x47a2ce['$schema']||_0x33643d,_0x47a2ce['plugin']=[..._0x3c06c4,_0xde4ed3],await mkdir(getOpencodeConfigDir(_0x45a9f2),{'recursive':!![]}),await writeFile(_0x2c996c,JSON[_0x4cdc40(0x1ae)](_0x47a2ce,null,0x2)+'\x0a'),console['log'](_0x4cdc40(0x1b3)),{'configured':!![],'scope':_0x45a9f2};}
@@ -1 +1 @@
1
- function _0x5a1a(_0x32c1dc,_0x3c02db){_0x32c1dc=_0x32c1dc-0x1c9;var _0x5c6bbd=_0x5c6b();var _0x5a1a25=_0x5c6bbd[_0x32c1dc];return _0x5a1a25;}(function(_0x40ab8c,_0x364fef){var _0x9933e=_0x5a1a,_0x4c2c9f=_0x40ab8c();while(!![]){try{var _0x2cd9c7=parseInt(_0x9933e(0x1cb))/0x1+parseInt(_0x9933e(0x1ce))/0x2*(parseInt(_0x9933e(0x1d2))/0x3)+-parseInt(_0x9933e(0x1d4))/0x4*(parseInt(_0x9933e(0x1d7))/0x5)+parseInt(_0x9933e(0x1ca))/0x6+-parseInt(_0x9933e(0x1cc))/0x7+parseInt(_0x9933e(0x1d1))/0x8*(-parseInt(_0x9933e(0x1c9))/0x9)+parseInt(_0x9933e(0x1d6))/0xa;if(_0x2cd9c7===_0x364fef)break;else _0x4c2c9f['push'](_0x4c2c9f['shift']());}catch(_0x978269){_0x4c2c9f['push'](_0x4c2c9f['shift']());}}}(_0x5c6b,0xe0770));export async function setupCi(_0x2bb866,_0x4b190a,_0xb566f5){var _0xeb3887=_0x5a1a,_0x4514e6={'NABEa':function(_0xe679e,_0x568235){return _0xe679e+_0x568235;},'dQVjt':function(_0x36e512,_0x514fd7){return _0x36e512+_0x514fd7;},'HFmfa':_0xeb3887(0x1cf),'XohFR':'For\x20CI\x20/\x20background\x20agents\x20and\x20other\x20setup\x20options,\x20see:\x0a'};console[_0xeb3887(0x1d3)](_0x4514e6[_0xeb3887(0x1d5)](_0x4514e6['dQVjt'](_0x4514e6['dQVjt'](_0x4514e6['dQVjt'](_0xeb3887(0x1d0)+'\x0a'+_0x4514e6['HFmfa'],'\x20\x20ranger\x20profile\x20add\x20<name>\x0a'),'\x0a'),_0x4514e6[_0xeb3887(0x1cd)]),'\x20\x20https://docs.ranger.net/main/concepts/profiles')),process['exit'](0x1);}function _0x5c6b(){var _0x302ff6=['901375WGSpRF','7857304hjcpxl','XohFR','4ThlKfJ','To\x20set\x20up\x20a\x20fresh\x20profile,\x20run:\x0a','ranger\x20setup\x20--ci\x20writes\x20to\x20the\x20legacy\x20.ranger/ci/\x20tree\x20which\x20is\x20no\x20longer\x20supported.\x0a','8ytqjic','1473837LqaOQF','error','9236qlYTqs','NABEa','5200910NXgVLf','2005XrjKTF','2937429hFsxUr','5340876ImkyvU'];_0x5c6b=function(){return _0x302ff6;};return _0x5c6b();}
1
+ function _0x817a(_0x5ebc21,_0x5776a8){_0x5ebc21=_0x5ebc21-0x180;var _0x339583=_0x3395();var _0x817a5=_0x339583[_0x5ebc21];return _0x817a5;}(function(_0x957f8b,_0x4c32b9){var _0x45b814=_0x817a,_0x168523=_0x957f8b();while(!![]){try{var _0x59b11c=-parseInt(_0x45b814(0x185))/0x1*(parseInt(_0x45b814(0x187))/0x2)+parseInt(_0x45b814(0x182))/0x3+parseInt(_0x45b814(0x183))/0x4+-parseInt(_0x45b814(0x18a))/0x5+-parseInt(_0x45b814(0x180))/0x6+parseInt(_0x45b814(0x184))/0x7*(parseInt(_0x45b814(0x186))/0x8)+-parseInt(_0x45b814(0x18c))/0x9*(parseInt(_0x45b814(0x188))/0xa);if(_0x59b11c===_0x4c32b9)break;else _0x168523['push'](_0x168523['shift']());}catch(_0xd2f0e7){_0x168523['push'](_0x168523['shift']());}}}(_0x3395,0xc6904));function _0x3395(){var _0x190ad5=['694797znmkEX','12306904QentYh','2XXzaTs','10fDhJWC','exit','499070ibZrrr','\x20\x20https://docs.ranger.net/main/concepts/profiles','2710557hcxbKl','To\x20set\x20up\x20a\x20fresh\x20profile,\x20run:\x0a','QzjcW','6175056nnBOjJ','qUdnZ','3356970xxiGNx','1123692pdADUi','7jZGRWV'];_0x3395=function(){return _0x190ad5;};return _0x3395();}export async function setupCi(_0x56a09c,_0x685853,_0x208938){var _0x28734f=_0x817a,_0x2c6e1e={'qUdnZ':function(_0x51d146,_0x36374c){return _0x51d146+_0x36374c;},'IXHon':'ranger\x20setup\x20--ci\x20writes\x20to\x20the\x20legacy\x20.ranger/ci/\x20tree\x20which\x20is\x20no\x20longer\x20supported.\x0a','QzjcW':_0x28734f(0x18d),'inmCW':_0x28734f(0x18b)};console['error'](_0x2c6e1e['qUdnZ'](_0x2c6e1e[_0x28734f(0x181)](_0x2c6e1e['qUdnZ'](_0x2c6e1e['qUdnZ'](_0x2c6e1e['IXHon'],'\x0a'),_0x2c6e1e[_0x28734f(0x18e)])+'\x20\x20ranger\x20profile\x20add\x20<name>\x0a'+'\x0a','For\x20CI\x20/\x20background\x20agents\x20and\x20other\x20setup\x20options,\x20see:\x0a'),_0x2c6e1e['inmCW'])),process[_0x28734f(0x189)](0x1);}
@@ -1 +1 @@
1
- (function(_0x5254c8,_0x7b1eda){const _0x15a220=_0x4f32,_0x987136=_0x5254c8();while(!![]){try{const _0x11112f=parseInt(_0x15a220(0x173))/0x1+parseInt(_0x15a220(0x191))/0x2+parseInt(_0x15a220(0x192))/0x3+parseInt(_0x15a220(0x198))/0x4*(-parseInt(_0x15a220(0x18c))/0x5)+parseInt(_0x15a220(0x178))/0x6*(-parseInt(_0x15a220(0x17f))/0x7)+parseInt(_0x15a220(0x179))/0x8*(-parseInt(_0x15a220(0x174))/0x9)+-parseInt(_0x15a220(0x18a))/0xa;if(_0x11112f===_0x7b1eda)break;else _0x987136['push'](_0x987136['shift']());}catch(_0x3a7581){_0x987136['push'](_0x987136['shift']());}}}(_0x1daf,0x47200));import{basename}from'path';import _0x15b700 from'inquirer';function _0x4f32(_0x196f05,_0x1bfe9f){_0x196f05=_0x196f05-0x16c;const _0x1dafe0=_0x1daf();let _0x4f32df=_0x1dafe0[_0x196f05];return _0x4f32df;}import{getToken}from'./utils/keychain.js';import{installSkill}from'./utils/skills.js';import{getCurrentVersion}from'./utils/version.js';import{getClaudeConfigDir,getProjectRoot}from'./utils/claudeConfig.js';import{getOpencodeConfigDir}from'./utils/opencodeConfig.js';export async function skillup(_0x3df439={}){const _0x53b0d8=_0x4f32,_0x32711b={'CaOop':_0x53b0d8(0x18e),'kmfKL':'To\x20get\x20started:','TZZUo':_0x53b0d8(0x187),'MdHZK':function(_0x5133c4,_0x50ff41){return _0x5133c4===_0x50ff41;},'tiBzk':_0x53b0d8(0x193),'PDSyy':'✓\x20Found\x20API\x20token','FLzQH':function(_0x541a30){return _0x541a30();},'czqXE':function(_0x23064a,_0x477563){return _0x23064a(_0x477563);},'ptNvg':function(_0x4eba6f,_0x323aa8){return _0x4eba6f===_0x323aa8;},'TvdUI':_0x53b0d8(0x176),'udvUc':function(_0x1fd7c6){return _0x1fd7c6();},'pcbHs':_0x53b0d8(0x16c),'uDQls':_0x53b0d8(0x18b),'lQYsh':_0x53b0d8(0x180),'xMxRS':function(_0x48452a,_0x3d8a8e){return _0x48452a instanceof _0x3d8a8e;},'ckfjz':_0x53b0d8(0x17a),'wiKvo':function(_0x2023d5,_0x500923){return _0x2023d5>_0x500923;},'EZmMn':_0x53b0d8(0x184)};console[_0x53b0d8(0x175)](_0x53b0d8(0x186));const _0x46a157=_0x3df439['platform']??_0x53b0d8(0x185),_0x5084cd=await getToken();if(!_0x5084cd){console['log'](_0x32711b['CaOop']),console['log'](_0x32711b[_0x53b0d8(0x17e)]),console[_0x53b0d8(0x175)]('\x20\x201.\x20Get\x20your\x20API\x20token\x20from\x20https://dashboard.ranger.net/cli'),console['log'](_0x53b0d8(0x16f)+(_0x46a157===_0x32711b[_0x53b0d8(0x17d)]?_0x53b0d8(0x193):'')+'\x20<your-api-token>'),console[_0x53b0d8(0x175)](_0x53b0d8(0x197)+(_0x32711b['MdHZK'](_0x46a157,'opencode')?_0x32711b[_0x53b0d8(0x195)]:'')+'\x0a');return;}console[_0x53b0d8(0x175)](_0x32711b[_0x53b0d8(0x190)]);const _0x42eb49=_0x32711b['FLzQH'](getProjectRoot),_0x46d0ec=_0x32711b[_0x53b0d8(0x16e)](basename,_0x42eb49),_0x277e3a=_0x32711b[_0x53b0d8(0x182)](_0x46a157,'opencode')?getOpencodeConfigDir(_0x32711b['TvdUI'])+'/skills/':_0x32711b[_0x53b0d8(0x181)](getClaudeConfigDir)+'/skills/',_0x45a9ca=_0x32711b[_0x53b0d8(0x182)](_0x46a157,_0x32711b[_0x53b0d8(0x17d)])?_0x42eb49+_0x53b0d8(0x172):_0x42eb49+_0x53b0d8(0x188),_0x54afb8=process[_0x53b0d8(0x170)]['isTTY']&&process['stdout']['isTTY'];let _0x533a8d;if(_0x3df439['autoInstall'])_0x533a8d=_0x3df439['autoInstall'];else{if(_0x54afb8){const _0x5e68ce=await _0x15b700[_0x53b0d8(0x16d)]([{'type':'list','name':_0x32711b['pcbHs'],'message':'Where\x20should\x20skills\x20be\x20installed?','choices':[{'name':'All\x20projects\x20('+_0x277e3a+')','value':_0x32711b[_0x53b0d8(0x17b)]},{'name':_0x53b0d8(0x196)+_0x45a9ca+')','value':_0x32711b['uDQls']}]}]);_0x533a8d=_0x5e68ce['installLevel'];}else _0x533a8d=_0x32711b['uDQls'],console['log']('Non-interactive\x20mode:\x20Installing\x20skills\x20at\x20project\x20level\x20('+_0x45a9ca+')');}let _0x5dba65=0x0;const _0x246c61=getCurrentVersion();console['log'](_0x32711b['lQYsh']);try{const _0x505028=await installSkill(_0x53b0d8(0x189),{'cliVersion':_0x246c61,'level':_0x533a8d,'platform':_0x46a157});_0x505028&&_0x5dba65++;}catch(_0x14c0a3){console[_0x53b0d8(0x171)]('\x20\x20Failed\x20to\x20install\x20ranger\x20skill:',_0x32711b[_0x53b0d8(0x18d)](_0x14c0a3,Error)?_0x14c0a3['message']:_0x14c0a3);}if(_0x5dba65>0x0){const _0x4ae1d6=_0x533a8d===_0x53b0d8(0x176)?_0x32711b['ckfjz']:_0x53b0d8(0x183);console[_0x53b0d8(0x175)](_0x53b0d8(0x194)+_0x5dba65+'\x20'+_0x4ae1d6+'\x20skill'+(_0x32711b['wiKvo'](_0x5dba65,0x1)?'s':'')+'\x20successfully!\x0a'),!_0x3df439['suppressUsage']&&(console['log'](_0x53b0d8(0x177)),_0x46a157===_0x53b0d8(0x187)?console['log'](_0x32711b['EZmMn']):console['log'](_0x53b0d8(0x18f)));}else console[_0x53b0d8(0x175)](_0x53b0d8(0x17c));}function _0x1daf(){const _0x3eacb7=['ptNvg','project-level','\x20\x20-\x20Start\x20OpenCode\x20and\x20run\x20the\x20`ranger_enable`\x20tool\x20to\x20enable\x20hooks.','claude','\x0a🎯\x20Ranger\x20Skill\x20Setup\x0a','opencode','/.claude/skills/','ranger','1308710zjAjTp','project','1260eJwnOn','xMxRS','❌\x20No\x20Ranger\x20API\x20token\x20found.\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!','PDSyy','1097478LMLywM','167595phFPRg','\x20--opencode','\x0a✅\x20Installed\x20','tiBzk','This\x20project\x20only\x20(','\x20\x203.\x20Run:\x20ranger\x20skillup','2224kSMYNE','installLevel','prompt','czqXE','\x20\x202.\x20Run:\x20ranger\x20setup','stdin','warn','/.opencode/skills/','245095UGJnNn','120735KfdUhG','log','user','To\x20use:','12354YVFALY','40DagScH','user-level','TvdUI','\x0a⚠️\x20\x20No\x20skills\x20were\x20installed.\x0a','TZZUo','kmfKL','749tSvGSf','\x0a📦\x20Installing\x20skills...\x0a','udvUc'];_0x1daf=function(){return _0x3eacb7;};return _0x1daf();}
1
+ (function(_0x3e0a7e,_0x4f63c4){const _0x5e570c=_0xd5ac,_0xe01a78=_0x3e0a7e();while(!![]){try{const _0x573b28=parseInt(_0x5e570c(0xf7))/0x1+parseInt(_0x5e570c(0x113))/0x2+-parseInt(_0x5e570c(0x108))/0x3*(-parseInt(_0x5e570c(0xf8))/0x4)+-parseInt(_0x5e570c(0xf6))/0x5*(-parseInt(_0x5e570c(0x111))/0x6)+-parseInt(_0x5e570c(0xf5))/0x7+-parseInt(_0x5e570c(0xeb))/0x8*(parseInt(_0x5e570c(0x104))/0x9)+-parseInt(_0x5e570c(0xe9))/0xa*(parseInt(_0x5e570c(0x10c))/0xb);if(_0x573b28===_0x4f63c4)break;else _0xe01a78['push'](_0xe01a78['shift']());}catch(_0x5dede6){_0xe01a78['push'](_0xe01a78['shift']());}}}(_0x59d5,0x7bb75));import{basename}from'path';import _0x46948 from'inquirer';import{getToken}from'./utils/keychain.js';import{installSkill}from'./utils/skills.js';import{getCurrentVersion}from'./utils/version.js';function _0x59d5(){const _0x379052=['isTTY','JxVOV','RVXuH','54XyZzRc','prompt','\x0a✅\x20Installed\x20','\x0a🎯\x20Ranger\x20Skill\x20Setup\x0a','803LFfEis','✓\x20Found\x20API\x20token','To\x20use:','project','\x0a📦\x20Installing\x20skills...\x0a','360FdJbOa','\x20successfully!\x0a','971100uxJQEq','HqSqG','\x20\x202.\x20Run:\x20ranger\x20setup','nkLBg','\x20<your-api-token>','9470NSygYg','Non-interactive\x20mode:\x20Installing\x20skills\x20at\x20project\x20level\x20(','32952stcIUw','\x20--opencode','KbMxk','EjLQo','ecjYJ','installLevel','hUBdu','user','\x0a⚠️\x20\x20No\x20skills\x20were\x20installed.\x0a','\x20skill','6750835ZTYYaM','40PswGyI','957089ErsFFG','206488QAmJKr','❌\x20No\x20Ranger\x20API\x20token\x20found.\x0a','autoInstall','log','opencode','/.claude/skills/','message','ZLgwD','stdout','ZiMay','LTeio','SRYea','1818AWoBJf'];_0x59d5=function(){return _0x379052;};return _0x59d5();}function _0xd5ac(_0x224d69,_0x36e28e){_0x224d69=_0x224d69-0xe8;const _0x59d5b3=_0x59d5();let _0xd5acc4=_0x59d5b3[_0x224d69];return _0xd5acc4;}import{getClaudeConfigDir,getProjectRoot}from'./utils/claudeConfig.js';import{getOpencodeConfigDir}from'./utils/opencodeConfig.js';export async function skillup(_0xffc8f7={}){const _0x3f05b2=_0xd5ac,_0x14dbfe={'bhuoJ':_0x3f05b2(0x10b),'nkLBg':'claude','HgeTq':function(_0x37ba99){return _0x37ba99();},'fFDzx':'To\x20get\x20started:','HqSqG':_0x3f05b2(0xfc),'BUAvo':function(_0x4b5cce){return _0x4b5cce();},'KbMxk':function(_0xea6fe4,_0x2e6dfc){return _0xea6fe4(_0x2e6dfc);},'LTeio':'list','EjLQo':_0x3f05b2(0xf0),'ZLgwD':'user','JxVOV':function(_0x4f2d77){return _0x4f2d77();},'ZiMay':function(_0xea425b,_0x4447de,_0x107160){return _0xea425b(_0x4447de,_0x107160);},'anuYB':'ranger','gXgJv':function(_0x17a4e6,_0x7b38e4){return _0x17a4e6===_0x7b38e4;},'FMvKM':'project-level','hUBdu':function(_0x29578a,_0x274f68){return _0x29578a>_0x274f68;},'SRYea':_0x3f05b2(0x10e),'ecjYJ':function(_0x533b5d,_0x3fe954){return _0x533b5d===_0x3fe954;},'IWWCq':'\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!','RVXuH':_0x3f05b2(0xf3)};console['log'](_0x14dbfe['bhuoJ']);const _0x51d9c9=_0xffc8f7['platform']??_0x14dbfe[_0x3f05b2(0x116)],_0x1ccfbb=await _0x14dbfe['HgeTq'](getToken);if(!_0x1ccfbb){console['log'](_0x3f05b2(0xf9)),console['log'](_0x14dbfe['fFDzx']),console['log']('\x20\x201.\x20Get\x20your\x20API\x20token\x20from\x20https://dashboard.ranger.net/cli'),console['log'](_0x3f05b2(0x115)+(_0x51d9c9===_0x14dbfe[_0x3f05b2(0x114)]?_0x3f05b2(0xec):'')+_0x3f05b2(0xe8)),console[_0x3f05b2(0xfb)]('\x20\x203.\x20Run:\x20ranger\x20skillup'+(_0x51d9c9===_0x14dbfe['HqSqG']?_0x3f05b2(0xec):'')+'\x0a');return;}console['log'](_0x3f05b2(0x10d));const _0x78057=_0x14dbfe['BUAvo'](getProjectRoot),_0x5f0f26=basename(_0x78057),_0x136aeb=_0x51d9c9===_0x14dbfe['HqSqG']?_0x14dbfe[_0x3f05b2(0xed)](getOpencodeConfigDir,'user')+'/skills/':_0x14dbfe['BUAvo'](getClaudeConfigDir)+'/skills/',_0x58b429=_0x51d9c9===_0x14dbfe['HqSqG']?_0x78057+'/.opencode/skills/':_0x78057+_0x3f05b2(0xfd),_0x231885=process['stdin'][_0x3f05b2(0x105)]&&process[_0x3f05b2(0x100)][_0x3f05b2(0x105)];let _0xc84862;if(_0xffc8f7['autoInstall'])_0xc84862=_0xffc8f7[_0x3f05b2(0xfa)];else{if(_0x231885){const _0x2c1f7e=await _0x46948[_0x3f05b2(0x109)]([{'type':_0x14dbfe[_0x3f05b2(0x102)],'name':_0x14dbfe[_0x3f05b2(0xee)],'message':'Where\x20should\x20skills\x20be\x20installed?','choices':[{'name':'All\x20projects\x20('+_0x136aeb+')','value':_0x14dbfe[_0x3f05b2(0xff)]},{'name':'This\x20project\x20only\x20('+_0x58b429+')','value':_0x3f05b2(0x10f)}]}]);_0xc84862=_0x2c1f7e[_0x3f05b2(0xf0)];}else _0xc84862='project',console['log'](_0x3f05b2(0xea)+_0x58b429+')');}let _0x32b9ba=0x0;const _0x433ffc=_0x14dbfe[_0x3f05b2(0x106)](getCurrentVersion);console['log'](_0x3f05b2(0x110));try{const _0x162682=await _0x14dbfe[_0x3f05b2(0x101)](installSkill,_0x14dbfe['anuYB'],{'cliVersion':_0x433ffc,'level':_0xc84862,'platform':_0x51d9c9});_0x162682&&_0x32b9ba++;}catch(_0x232288){console['warn']('\x20\x20Failed\x20to\x20install\x20ranger\x20skill:',_0x232288 instanceof Error?_0x232288[_0x3f05b2(0xfe)]:_0x232288);}if(_0x32b9ba>0x0){const _0x577848=_0x14dbfe['gXgJv'](_0xc84862,_0x3f05b2(0xf2))?'user-level':_0x14dbfe['FMvKM'];console['log'](_0x3f05b2(0x10a)+_0x32b9ba+'\x20'+_0x577848+_0x3f05b2(0xf4)+(_0x14dbfe[_0x3f05b2(0xf1)](_0x32b9ba,0x1)?'s':'')+_0x3f05b2(0x112)),!_0xffc8f7['suppressUsage']&&(console[_0x3f05b2(0xfb)](_0x14dbfe[_0x3f05b2(0x103)]),_0x14dbfe[_0x3f05b2(0xef)](_0x51d9c9,'opencode')?console[_0x3f05b2(0xfb)]('\x20\x20-\x20Start\x20OpenCode\x20and\x20run\x20the\x20`ranger_enable`\x20tool\x20to\x20enable\x20hooks.'):console[_0x3f05b2(0xfb)](_0x14dbfe['IWWCq']));}else console[_0x3f05b2(0xfb)](_0x14dbfe[_0x3f05b2(0x107)]);}
@@ -1 +1 @@
1
- const _0xe9931d=_0x5adf;(function(_0x115024,_0x1a2f10){const _0x2f2f8a=_0x5adf,_0x410b6d=_0x115024();while(!![]){try{const _0x2878ff=parseInt(_0x2f2f8a(0x1c8))/0x1*(-parseInt(_0x2f2f8a(0x19e))/0x2)+parseInt(_0x2f2f8a(0x194))/0x3*(parseInt(_0x2f2f8a(0x16b))/0x4)+-parseInt(_0x2f2f8a(0x172))/0x5+-parseInt(_0x2f2f8a(0x173))/0x6+parseInt(_0x2f2f8a(0x17b))/0x7*(parseInt(_0x2f2f8a(0x178))/0x8)+parseInt(_0x2f2f8a(0x1c9))/0x9+parseInt(_0x2f2f8a(0x197))/0xa*(parseInt(_0x2f2f8a(0x1a3))/0xb);if(_0x2878ff===_0x1a2f10)break;else _0x410b6d['push'](_0x410b6d['shift']());}catch(_0x67abc6){_0x410b6d['push'](_0x410b6d['shift']());}}}(_0xaae9,0x6e663));import{mkdir,writeFile}from'fs/promises';import{join}from'path';import{existsSync}from'fs';import{createRequire}from'module';import{spawn}from'child_process';import _0x4ca0b8 from'inquirer';function _0x5adf(_0x27ca92,_0x33171c){_0x27ca92=_0x27ca92-0x169;const _0xaae9f8=_0xaae9();let _0x5adfac=_0xaae9f8[_0x27ca92];return _0x5adfac;}import{getToken,storeToken}from'./utils/keychain.js';import{getCurrentUser}from'./utils/userApi.js';import{chromium}from'playwright';import{addEnv}from'./addEnv.js';import{getRangerHomeDir,findGitRoot}from'./utils/rangerRoot.js';import{runDeviceAuthFlow}from'./utils/deviceAuth.js';import{findExistingEnv}from'./utils/settings.js';function _0xaae9(){const _0x429c40=['TPjbV','\x20install\x20chromium','✓\x20Local\x20profile\x20already\x20exists','url','1ryHYhN','6363045hiCniy','UefQH','local','success','4JIYrpZ','auth','iwuCq','\x0a\x20\x20(opens\x20a\x20browser\x20so\x20you\x20can\x20log\x20in\x20once)','1.58.2','iUcHz','\x0a⚠\x20Skipping\x20Chromium\x20installation.','1370845kSBUGD','4671222NnABOe','inherit','\x0aagent\x20like\x20usual.\x20Claude\x20will\x20create\x20a\x20feature\x20review\x20with','\x0averification\x20to\x20check\x20its\x20work\x20as\x20it\x20builds.','PaGaV','557616GzBWkp','provided_token','\x20\x20Failed\x20to\x20install\x20OpenCode\x20skill:','21sPXmdK','force','playwright@','eLnQn','prompt','status','trackPhaseStart','\x0a❌\x20Profile\x20setup\x20failed:','\x0a✅\x20Ranger\x20setup\x20complete!\x0a','--with-deps','Sspbk','You\x20will\x20need\x20to\x20install\x20it\x20before\x20using\x20Ranger:','The\x20required\x20version\x20(','\x1b[0m','GITHUB_ENV','TIHmt','verification\x20to\x20check\x20its\x20work\x20as\x20it\x20builds.','organizationName','skipAuth','error','chromium','Authentication\x20failed:\x20','brAgC','ready','GEFvd','734259OKWKBI','JCUYQ','trackPhaseEnd','15910dcFQNg','\x0a✓\x20Playwright\x20Chromium\x20installed\x20successfully','.gitignore','rELvb','lkpMi','allowInsecureLocalhost','skipChromium','231524VJbtOI','Failed\x20to\x20validate\x20provisioned\x20API\x20key:\x20','.\x20Please\x20check\x20your\x20network\x20connection\x20and\x20server\x20URL.','TdQLF','XxRqY','3179ppfDma','taRcT','KulIr','withDeps','scope','user','platform','✓\x20Skipping\x20Chromium\x20check\x20(--skip-chromium)','message','You\x20can\x20install\x20it\x20manually\x20by\x20running:','log','Could\x20not\x20determine\x20local\x20Playwright\x20version.\x20Install\x20Playwright\x20Chromium\x20using\x20fallback\x20version\x20','fdlBN','\x20now?','\x20and\x20prompt\x20the\x20coding','Validating\x20API\x20token...','✓\x20Authenticated\x20to\x20','xyKPe','FpzdQ','install','GEWeA','plugin','ignore','PQRNj','\x0a\x20\x20https://docs.ranger.net/main/concepts/profiles','ranger','szcQm','Failed\x20to\x20connect\x20to\x20MCP\x20server:\x20','\x1b[1m','\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','project-scope\x20setup\x20obsolete).\x20Drop\x20the\x20--scope\x20flag\x20or\x20pass\x20--scope=user.','version','profile'];_0xaae9=function(){return _0x429c40;};return _0xaae9();}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=_0xe9931d(0x16f);const bold=_0x5b3bf3=>_0xe9931d(0x1bf)+_0x5b3bf3+_0xe9931d(0x188);export function getPlaywrightVersion(){const _0x3d0136=_0xe9931d;try{const _0x13c5bc=require['resolve']('playwright/package.json'),_0x2142e7=require(_0x13c5bc);return _0x2142e7[_0x3d0136(0x1c2)];}catch{return null;}}export function installChromiumBinary(_0x8e02b9,_0x14d6ce=![]){const _0x41e31d=_0xe9931d,_0x39c8ce={'desaT':_0x41e31d(0x1b6),'tChFM':_0x41e31d(0x184),'xMxvW':function(_0x1425d3,_0x3b6e52,_0x51230f,_0x7f1331){return _0x1425d3(_0x3b6e52,_0x51230f,_0x7f1331);},'GEFvd':'npx','iUcHz':_0x41e31d(0x1b9),'aMBMH':function(_0x1336f3,_0x343cd5){return _0x1336f3===_0x343cd5;},'lkpMi':_0x41e31d(0x18e)};return new Promise((_0x49e726,_0x592b69)=>{const _0xe891a4=_0x41e31d,_0x37608e=[_0xe891a4(0x17d)+_0x8e02b9,_0x39c8ce['desaT'],..._0x14d6ce?[_0x39c8ce['tChFM']]:[],'chromium'],_0xd27c4d=_0x39c8ce['xMxvW'](spawn,_0x39c8ce[_0xe891a4(0x193)],_0x37608e,{'stdio':[_0x39c8ce[_0xe891a4(0x170)],'inherit',_0xe891a4(0x174)],'shell':_0x39c8ce['aMBMH'](process[_0xe891a4(0x1a9)],'win32')});_0xd27c4d['on']('close',_0xf99c8c=>{_0xf99c8c===0x0?_0x49e726():_0x592b69(new Error('Installation\x20failed\x20with\x20exit\x20code\x20'+_0xf99c8c));}),_0xd27c4d['on'](_0x39c8ce[_0xe891a4(0x19b)],_0x58ac38=>{_0x592b69(_0x58ac38);});});}export async function authenticate(_0x34ac96){const _0x16644f=_0xe9931d,_0x193e3f={'ZNtYr':function(_0x213cf1){return _0x213cf1();},'RybGi':'existing_token','UfcAf':function(_0x213594,_0x33f69d){return _0x213594 instanceof _0x33f69d;},'awhlC':_0x16644f(0x1b2),'fZLNE':function(_0x4caf66,_0x17312e){return _0x4caf66(_0x17312e);},'zXvFC':'✓\x20Exported\x20credentials\x20for\x20CI','PaGaV':'✓\x20Stored\x20credentials\x20locally'};if(!_0x34ac96){const _0x52ab47=await _0x193e3f['ZNtYr'](getToken);if(_0x52ab47){const _0x3e4eaa=await getCurrentUser(_0x52ab47);if(_0x3e4eaa['success'])return console[_0x16644f(0x1ad)]('✓\x20Already\x20authenticated\x20to\x20'+_0x3e4eaa['user']['organizationName']),{'token':_0x52ab47,'method':_0x193e3f['RybGi']};}try{_0x34ac96=await runDeviceAuthFlow();}catch(_0x489c78){throw new Error(_0x16644f(0x190)+(_0x193e3f['UfcAf'](_0x489c78,Error)?_0x489c78[_0x16644f(0x1ab)]:_0x489c78));}const _0x1c5180=await getCurrentUser(_0x34ac96);if(!_0x1c5180[_0x16644f(0x16a)])throw new Error(_0x16644f(0x19f)+_0x1c5180['error']);return console[_0x16644f(0x1ad)]('✓\x20Authenticated\x20to\x20'+_0x1c5180['user'][_0x16644f(0x18c)]),{'token':_0x34ac96,'method':'device_auth'};}console['log'](_0x193e3f['awhlC']);const _0x4f6aa6=await getCurrentUser(_0x34ac96);if(!_0x4f6aa6[_0x16644f(0x16a)]){if(_0x4f6aa6[_0x16644f(0x180)])throw new Error(_0x16644f(0x190)+_0x4f6aa6['error']+'.\x20Please\x20check\x20your\x20API\x20token\x20and\x20try\x20again.');else throw new Error(_0x16644f(0x1be)+_0x4f6aa6[_0x16644f(0x18e)]+_0x16644f(0x1a0));}return console[_0x16644f(0x1ad)](_0x16644f(0x1b3)+_0x4f6aa6[_0x16644f(0x1a8)][_0x16644f(0x18c)]),await _0x193e3f['fZLNE'](storeToken,_0x34ac96),console[_0x16644f(0x1ad)](process['env'][_0x16644f(0x189)]?_0x193e3f['zXvFC']:_0x193e3f[_0x16644f(0x177)]),{'token':_0x34ac96,'method':_0x16644f(0x179)};}export async function ensureRangerDir(_0x1200dd){const _0x5aa2f2=_0xe9931d,_0x34e63f={'EcVxW':'✓\x20Created\x20~/.ranger/\x20directory'};void _0x1200dd;const _0x402a94=getRangerHomeDir();return!existsSync(_0x402a94)?(await mkdir(_0x402a94,{'recursive':!![]}),console[_0x5aa2f2(0x1ad)](_0x34e63f['EcVxW']),{'path':_0x402a94,'installed':!![]}):(console['log']('✓\x20~/.ranger/\x20directory\x20already\x20exists'),{'path':_0x402a94,'installed':![]});}export async function ensureChromium(_0x54860b=![]){const _0x529ea0=_0xe9931d,_0x37c39e={'jqNLx':function(_0x37eb37,_0xae1ef7){return _0x37eb37??_0xae1ef7;},'pHQex':'confirm','bnNPJ':'install','gdKDJ':'\x20(fallback\x20version)','Sspbk':_0x529ea0(0x198),'MsKFQ':'\x0a❌\x20Failed\x20to\x20install\x20Chromium:','xMrSv':function(_0x2bc99f,_0x17f89){return _0x2bc99f instanceof _0x17f89;}};let _0x5cb9f9=![];try{const _0x3d3a8b=chromium['executablePath']();_0x5cb9f9=existsSync(_0x3d3a8b);}catch{_0x5cb9f9=![];}if(_0x5cb9f9)return console['log']('✓\x20Playwright\x20Chromium\x20browser\x20found'),![];const _0x59d9bd=getPlaywrightVersion(),_0x5e5021=_0x37c39e['jqNLx'](_0x59d9bd,PLAYWRIGHT_CHROMIUM_INSTALL_FALLBACK_VERSION),_0xbabbc9=!_0x59d9bd,_0x3f4ca9=process['stdin']['isTTY']&&process['stdout']['isTTY'];let _0x383a73=!![];if(_0x3f4ca9){const {install:_0x4678cf}=await _0x4ca0b8[_0x529ea0(0x17f)]([{'type':_0x37c39e['pHQex'],'name':_0x37c39e['bnNPJ'],'message':_0xbabbc9?_0x529ea0(0x1ae)+_0x5e5021+_0x529ea0(0x1b0):_0x529ea0(0x187)+_0x5e5021+')\x20of\x20the\x20Playwright\x20Chromium\x20browser\x20is\x20not\x20installed.\x20Install\x20it\x20now?','default':!![]}]);_0x383a73=_0x4678cf;}else console[_0x529ea0(0x1ad)]('\x0aNon-interactive\x20mode:\x20Auto-installing\x20Playwright\x20Chromium\x20'+_0x5e5021+(_0xbabbc9?_0x37c39e['gdKDJ']:'')+'...');if(_0x383a73){console[_0x529ea0(0x1ad)]('\x0aInstalling\x20Chromium\x20browser...\x0a');try{await installChromiumBinary(_0x5e5021,_0x54860b),console[_0x529ea0(0x1ad)](_0x37c39e[_0x529ea0(0x185)]);}catch(_0x1ba8a6){console['error'](_0x37c39e['MsKFQ'],_0x37c39e['xMrSv'](_0x1ba8a6,Error)?_0x1ba8a6[_0x529ea0(0x1ab)]:_0x1ba8a6),console[_0x529ea0(0x1ad)](_0x529ea0(0x1ac)),console['log']('\x20\x20npx\x20playwright@'+_0x5e5021+_0x529ea0(0x1c5));}}else console['log'](_0x529ea0(0x171)),console[_0x529ea0(0x1ad)](_0x529ea0(0x186)),console['log']('\x20\x20npx\x20playwright@'+_0x5e5021+_0x529ea0(0x1c5));return!![];}export async function writeRangerGitignore(_0x3f1111){const _0x48cfae=_0xe9931d,_0x8b9d57={'PQRNj':'✓\x20Created\x20.ranger/.gitignore'},_0x34df31=join(_0x3f1111,_0x48cfae(0x199)),_0x4090b5=_0x48cfae(0x1c0);await writeFile(_0x34df31,_0x4090b5),console[_0x48cfae(0x1ad)](_0x8b9d57[_0x48cfae(0x1ba)]);}export async function ensureLocalEnv(_0x43e13a,_0x5d735c){const _0x5015f2=_0xe9931d,_0x4f6163={'KulIr':function(_0x573915){return _0x573915();},'XxRqY':function(_0x2326a9,_0x357349){return _0x2326a9!==_0x357349;},'TIHmt':'user','opUTL':function(_0x43329f,_0x3daf81){return _0x43329f===_0x3daf81;},'rbOXI':function(_0x43d5c3,_0x263224,_0x2d5354,_0x5e7d13){return _0x43d5c3(_0x263224,_0x2d5354,_0x5e7d13);},'wuZOy':_0x5015f2(0x169)};if(!_0x4f6163[_0x5015f2(0x1a5)](findGitRoot)&&_0x4f6163[_0x5015f2(0x1a2)](_0x43e13a?.['scope'],_0x4f6163[_0x5015f2(0x18a)]))return console['log']('⚠\x20No\x20git\x20repository\x20found.\x20Re-run\x20with\x20`--scope\x20user`\x20to\x20store\x20the\x20profile\x20at\x20~/.ranger/.'),{'ready':![],'skipped':!![]};const _0x42bbd1=_0x4f6163['opUTL'](_0x43e13a?.[_0x5015f2(0x1a7)],_0x5015f2(0x1a8))?getRangerHomeDir():undefined;if(findExistingEnv('local',{'locations':['local'],'rangerDir':_0x42bbd1}))return console['log'](_0x5015f2(0x1c6)),{'ready':!![],'skipped':![]};try{return await _0x4f6163['rbOXI'](addEnv,_0x4f6163['wuZOy'],{'url':_0x43e13a?.[_0x5015f2(0x1c7)],'force':_0x43e13a?.[_0x5015f2(0x17c)],'allowInsecureLocalhost':_0x43e13a?.[_0x5015f2(0x19c)],'scope':_0x43e13a?.[_0x5015f2(0x1a7)]},_0x5d735c),{'ready':!![],'skipped':![]};}catch(_0x3adeae){return console['error'](_0x5015f2(0x182),_0x3adeae instanceof Error?_0x3adeae['message']:_0x3adeae),{'ready':![],'skipped':![]};}}export async function start(_0x4677aa,_0x229652,_0x31dfe3){const _0x7a9910=_0xe9931d,_0x49f58e={'taRcT':function(_0x2fcdca,_0x5109ec){return _0x2fcdca+_0x5109ec;},'GEWeA':function(_0x218a14,_0x4e11b8){return _0x218a14(_0x4e11b8);},'JCUYQ':_0x7a9910(0x1a8),'Lhxcf':function(_0x294a12){return _0x294a12();},'iwuCq':'✓\x20Skipping\x20authentication\x20(--skip-auth)','xyKPe':'skipped','fdlBN':'auth','SuYVO':_0x7a9910(0x1aa),'eLnQn':'chromium','TPjbV':_0x7a9910(0x183),'TdQLF':'plugin','FpzdQ':'skills','brAgC':function(_0x3797c3,_0x2b5d99,_0x4af167){return _0x3797c3(_0x2b5d99,_0x4af167);},'iXHXI':function(_0x12b9bf){return _0x12b9bf();},'rELvb':_0x7a9910(0x17a),'szcQm':function(_0x80609a,_0x7007b1){return _0x80609a+_0x7007b1;},'IvWfq':function(_0x188b40,_0x5499c5){return _0x188b40+_0x5499c5;},'UefQH':function(_0x575b82,_0x3f4642){return _0x575b82(_0x3f4642);},'UODzf':function(_0x3eb838,_0x37ff4b){return _0x3eb838+_0x37ff4b;}};console[_0x7a9910(0x1ad)]('\x0a🚀\x20Ranger\x20Setup\x0a');_0x229652?.[_0x7a9910(0x1a7)]!==undefined&&_0x229652['scope']!=='user'&&(console['error'](_0x49f58e[_0x7a9910(0x1a4)]('ranger\x20setup\x20--scope='+_0x49f58e['GEWeA'](String,_0x229652['scope'])+'\x20is\x20no\x20longer\x20supported.\x20'+'Setup\x20always\x20installs\x20at\x20user\x20scope\x20now\x20(cloud\x20profiles\x20make\x20',_0x7a9910(0x1c1))),process['exit'](0x1));_0x229652={..._0x229652,'scope':_0x49f58e[_0x7a9910(0x195)]};const _0xadd1d4=!_0x49f58e['GEWeA'](existsSync,_0x49f58e['Lhxcf'](getRangerHomeDir));await _0x49f58e['GEWeA'](ensureRangerDir,_0x49f58e[_0x7a9910(0x195)]);if(_0x229652?.['skipAuth'])console[_0x7a9910(0x1ad)](_0x49f58e[_0x7a9910(0x16d)]),_0x31dfe3?.['trackPhaseEnd'](_0x7a9910(0x16c),{'isFirstRun':_0xadd1d4,'method':_0x49f58e[_0x7a9910(0x1b4)]});else{_0x31dfe3?.['trackPhaseStart'](_0x49f58e[_0x7a9910(0x1af)]);const _0x11caa7=await authenticate(_0x4677aa);_0x31dfe3?.['trackPhaseEnd'](_0x7a9910(0x16c),{'isFirstRun':_0xadd1d4,'method':_0x11caa7['method']});}_0x31dfe3?.['trackPhaseStart'](_0x7a9910(0x18f));_0x229652?.[_0x7a9910(0x19d)]?console[_0x7a9910(0x1ad)](_0x49f58e['SuYVO']):await _0x49f58e[_0x7a9910(0x1b7)](ensureChromium,_0x229652?.[_0x7a9910(0x1a6)]);_0x31dfe3?.[_0x7a9910(0x196)](_0x49f58e[_0x7a9910(0x17e)],{'isFirstRun':_0xadd1d4,'skipped':!!_0x229652?.[_0x7a9910(0x19d)]}),console[_0x7a9910(0x1ad)](_0x49f58e[_0x7a9910(0x1c4)]);const _0x14b8ed=_0x229652?.[_0x7a9910(0x1a7)],_0x493358=_0x229652?.['opencode']??![];let _0x3dc8f6=null;_0x493358?(_0x31dfe3?.[_0x7a9910(0x181)]('plugin'),_0x3dc8f6=await _0x49f58e['GEWeA'](ensureOpencodePluginConfig,_0x14b8ed),_0x31dfe3?.['trackPhaseEnd'](_0x49f58e['TdQLF'],{'isFirstRun':_0xadd1d4,'opencode':!![]})):(_0x31dfe3?.['trackPhaseStart'](_0x7a9910(0x1b8)),await ensureClaudePlugin(_0x14b8ed),_0x31dfe3?.['trackPhaseEnd'](_0x49f58e[_0x7a9910(0x1a1)],{'isFirstRun':_0xadd1d4}));if(_0x493358&&_0x3dc8f6){_0x31dfe3?.[_0x7a9910(0x181)](_0x49f58e['FpzdQ']);try{await _0x49f58e[_0x7a9910(0x191)](installSkill,_0x7a9910(0x1bc),{'level':_0x3dc8f6['scope'],'cliVersion':_0x49f58e['iXHXI'](getCurrentVersion),'platform':'opencode'}),_0x31dfe3?.['trackPhaseEnd'](_0x49f58e['FpzdQ'],{'isFirstRun':_0xadd1d4,'opencode':!![]});}catch(_0xd96454){console['warn'](_0x49f58e[_0x7a9910(0x19a)],_0xd96454 instanceof Error?_0xd96454[_0x7a9910(0x1ab)]:_0xd96454),_0x31dfe3?.['trackPhaseEnd'](_0x49f58e['FpzdQ'],{'isFirstRun':_0xadd1d4,'opencode':!![],'failed':!![]});}}else _0x31dfe3?.[_0x7a9910(0x181)](_0x49f58e[_0x7a9910(0x1b5)]),await _0x49f58e[_0x7a9910(0x1b7)](ensureClaudeSkills,_0x14b8ed),_0x31dfe3?.['trackPhaseEnd']('skills',{'isFirstRun':_0xadd1d4});if(_0x229652?.[_0x7a9910(0x18d)])console[_0x7a9910(0x1ad)]('\x0aSkipping\x20profile\x20setup\x20(--skip-auth).\x20Run\x20`ranger\x20setup`\x20with\x20auth\x20to\x20add\x20a\x20profile\x20later.\x0a');else{if(_0x229652?.[_0x7a9910(0x1c7)]){_0x31dfe3?.[_0x7a9910(0x181)](_0x7a9910(0x1c3));const _0x52103f=await ensureLocalEnv({'url':_0x229652['url'],'force':_0x229652?.[_0x7a9910(0x17c)],'allowInsecureLocalhost':_0x229652?.[_0x7a9910(0x19c)],'scope':'user'},_0x31dfe3);_0x31dfe3?.[_0x7a9910(0x196)]('profile',{'isFirstRun':_0xadd1d4,'profileReady':_0x52103f[_0x7a9910(0x192)],'userSkipped':_0x52103f['skipped']});}else console[_0x7a9910(0x1ad)](_0x49f58e[_0x7a9910(0x1bd)](_0x49f58e['IvWfq']('\x0aTo\x20set\x20up\x20a\x20profile\x20for\x20your\x20app,\x20run:'+('\x0a\x20\x20'+_0x49f58e[_0x7a9910(0x1ca)](bold,'ranger\x20profile\x20add\x20<name>'))+_0x7a9910(0x16e),'\x0a\x0aFor\x20CI\x20/\x20background\x20agents\x20and\x20other\x20setup\x20options,\x20see:'),_0x7a9910(0x1bb)));}if(_0x493358)console['log']('\x0aIn\x20OpenCode,\x20enable\x20Ranger\x20hooks\x20(run\x20the\x20`ranger_enable`\x20tool)'),console[_0x7a9910(0x1ad)]('and\x20prompt\x20the\x20agent\x20like\x20usual.\x20Ranger\x20will\x20create\x20a\x20feature\x20review'),console[_0x7a9910(0x1ad)]('with\x20scenarios\x20describing\x20what\x20to\x20verify\x20and\x20then\x20run\x20browser'),console[_0x7a9910(0x1ad)](_0x7a9910(0x18b));else{const _0x2083dd=bold('/ranger:enable');console[_0x7a9910(0x1ad)](_0x49f58e['UODzf']('\x0aIn\x20Claude\x20Code,\x20run\x20'+_0x2083dd+_0x7a9910(0x1b1)+_0x7a9910(0x175)+'\x0ascenarios\x20describing\x20what\x20to\x20verify\x20and\x20then\x20run\x20browser',_0x7a9910(0x176)));}}
1
+ const _0x4527e7=_0xcdb5;(function(_0x136ce2,_0x1e4737){const _0x33e9d6=_0xcdb5,_0x7ec58e=_0x136ce2();while(!![]){try{const _0x12bfd7=parseInt(_0x33e9d6(0x235))/0x1*(parseInt(_0x33e9d6(0x236))/0x2)+-parseInt(_0x33e9d6(0x21e))/0x3+parseInt(_0x33e9d6(0x22e))/0x4+parseInt(_0x33e9d6(0x222))/0x5+-parseInt(_0x33e9d6(0x216))/0x6+-parseInt(_0x33e9d6(0x1f8))/0x7+parseInt(_0x33e9d6(0x21d))/0x8*(parseInt(_0x33e9d6(0x205))/0x9);if(_0x12bfd7===_0x1e4737)break;else _0x7ec58e['push'](_0x7ec58e['shift']());}catch(_0x20a8f0){_0x7ec58e['push'](_0x7ec58e['shift']());}}}(_0xb48f,0x8bc1b));import{mkdir,writeFile}from'fs/promises';import{join}from'path';import{existsSync}from'fs';import{createRequire}from'module';import{spawn}from'child_process';function _0xb48f(){const _0x17ef4c=['247224YOnhpm','2726412cyxxtX','.\x20Please\x20check\x20your\x20API\x20token\x20and\x20try\x20again.','RhdsH','lUgPa','4866045ArTBuo','sitGZ','LEwZd','trackPhaseEnd','Authentication\x20failed:\x20','\x0a🚀\x20Ranger\x20Setup\x0a','ignore','lIPRr','CZgRe','skills','sSTqg','✓\x20Authenticated\x20to\x20','693648sXnRFx','vBCWn','force','\x0aTo\x20set\x20up\x20a\x20profile\x20for\x20your\x20app,\x20run:','\x0a\x0aFor\x20CI\x20/\x20background\x20agents\x20and\x20other\x20setup\x20options,\x20see:','\x1b[1m','rWeYm','1QHtMDb','2099518jULDoI','ranger\x20profile\x20add\x20<name>','project-scope\x20setup\x20obsolete).\x20Drop\x20the\x20--scope\x20flag\x20or\x20pass\x20--scope=user.','allowInsecureLocalhost','\x0a✓\x20Playwright\x20Chromium\x20installed\x20successfully','ranger','xzXrf','BBQiE','error','vkNTe','chromium','1.58.2','\x0a⚠\x20Skipping\x20Chromium\x20installation.',')\x20of\x20the\x20Playwright\x20Chromium\x20browser\x20is\x20not\x20installed.\x20Install\x20it\x20now?','close','BLIhL','\x0a\x20\x20https://docs.ranger.net/main/concepts/profiles','Tohiy','url','install','\x0a\x20\x20(opens\x20a\x20browser\x20so\x20you\x20can\x20log\x20in\x20once)','win32','✓\x20Already\x20authenticated\x20to\x20','Failed\x20to\x20validate\x20provisioned\x20API\x20key:\x20','\x0a\x20\x20','✓\x20Created\x20~/.ranger/\x20directory','HzwFV','XSHCC','✓\x20Created\x20.ranger/.gitignore','\x1b[0m','stdin','VqmyL','prompt','user','vVUDt','skipAuth','message','qXpqA','2954448KcAckL','\x0a❌\x20Profile\x20setup\x20failed:','skipChromium','bIxES','epbUc','VBiNg','organizationName','✓\x20Exported\x20credentials\x20for\x20CI','skipped','\x20\x20npx\x20playwright@','lJUhS','PwOQC','log','144LJvAvP','withDeps','inherit','warn','hYWYG','auth','executablePath','scope','plugin','playwright/package.json','\x0aNon-interactive\x20mode:\x20Auto-installing\x20Playwright\x20Chromium\x20','trackPhaseStart','Setup\x20always\x20installs\x20at\x20user\x20scope\x20now\x20(cloud\x20profiles\x20make\x20','existing_token','fQzAP','success','ljVEY','4725102mqAzXW','aapyK','XHdpo','wEHuN','beYxk','Jflzf','\x0a❌\x20Failed\x20to\x20install\x20Chromium:'];_0xb48f=function(){return _0x17ef4c;};return _0xb48f();}import _0x3f10a8 from'inquirer';import{getToken,storeToken}from'./utils/keychain.js';import{getCurrentUser}from'./utils/userApi.js';import{chromium}from'playwright';import{addEnv}from'./addEnv.js';import{getRangerHomeDir,findGitRoot}from'./utils/rangerRoot.js';import{runDeviceAuthFlow}from'./utils/deviceAuth.js';import{findExistingEnv}from'./utils/settings.js';import{getCurrentVersion}from'./utils/version.js';import{ensureClaudePlugin,ensureClaudeSkills}from'./setup/claude.js';import{ensureOpencodePluginConfig}from'./setup/opencode.js';function _0xcdb5(_0x5ab7ab,_0x577031){_0x5ab7ab=_0x5ab7ab-0x1dd;const _0xb48ff9=_0xb48f();let _0xcdb58f=_0xb48ff9[_0x5ab7ab];return _0xcdb58f;}import{installSkill}from'./utils/skills.js';const require=createRequire(import.meta.url);export const PLAYWRIGHT_CHROMIUM_INSTALL_FALLBACK_VERSION=_0x4527e7(0x1dd);const bold=_0x19ef2f=>_0x4527e7(0x233)+_0x19ef2f+_0x4527e7(0x1ef);export function getPlaywrightVersion(){const _0x56895e=_0x4527e7,_0x532c4a={'eJUwH':_0x56895e(0x20e),'wkdsq':function(_0x177d71,_0x268e10){return _0x177d71(_0x268e10);}};try{const _0x51e61f=require['resolve'](_0x532c4a['eJUwH']),_0x3ec0e8=_0x532c4a['wkdsq'](require,_0x51e61f);return _0x3ec0e8['version'];}catch{return null;}}export function installChromiumBinary(_0x2ead67,_0x2124cd=![]){const _0x139f6c=_0x4527e7,_0x2992cd={'wqCYr':_0x139f6c(0x240),'cFjGf':function(_0x4d5135,_0x5667ba,_0x5c83ce,_0x110a5e){return _0x4d5135(_0x5667ba,_0x5c83ce,_0x110a5e);},'AdOFT':_0x139f6c(0x228),'fQzAP':function(_0x501b3d,_0x273f35){return _0x501b3d===_0x273f35;},'RhdsH':_0x139f6c(0x23e)};return new Promise((_0xfa8ac0,_0x5a76e4)=>{const _0x1c22fd=_0x139f6c,_0x2c2471={'hbzPY':function(_0x58d4b7){return _0x58d4b7();}},_0x554004=['playwright@'+_0x2ead67,_0x1c22fd(0x1e5),..._0x2124cd?['--with-deps']:[],_0x2992cd['wqCYr']],_0x2343d7=_0x2992cd['cFjGf'](spawn,'npx',_0x554004,{'stdio':[_0x2992cd['AdOFT'],_0x1c22fd(0x207),'inherit'],'shell':_0x2992cd[_0x1c22fd(0x213)](process['platform'],_0x1c22fd(0x1e7))});_0x2343d7['on'](_0x1c22fd(0x1e0),_0x187e89=>{_0x187e89===0x0?_0x2c2471['hbzPY'](_0xfa8ac0):_0x5a76e4(new Error('Installation\x20failed\x20with\x20exit\x20code\x20'+_0x187e89));}),_0x2343d7['on'](_0x2992cd[_0x1c22fd(0x220)],_0x17e65a=>{_0x5a76e4(_0x17e65a);});});}export async function authenticate(_0x310078){const _0x3e78b0=_0x4527e7,_0x529938={'vkNTe':function(_0x3e5c1d){return _0x3e5c1d();},'NzWgd':function(_0x5ba189,_0x2110e5){return _0x5ba189(_0x2110e5);},'rWeYm':_0x3e78b0(0x212),'PlClz':'device_auth','BBQiE':_0x3e78b0(0x1ff),'XHdpo':'✓\x20Stored\x20credentials\x20locally','meSCb':'provided_token'};if(!_0x310078){const _0xba987e=await _0x529938['vkNTe'](getToken);if(_0xba987e){const _0x264d05=await _0x529938['NzWgd'](getCurrentUser,_0xba987e);if(_0x264d05['success'])return console[_0x3e78b0(0x204)](_0x3e78b0(0x1e8)+_0x264d05[_0x3e78b0(0x1f3)]['organizationName']),{'token':_0xba987e,'method':_0x529938[_0x3e78b0(0x234)]};}try{_0x310078=await _0x529938[_0x3e78b0(0x23f)](runDeviceAuthFlow);}catch(_0x5a94fa){throw new Error(_0x3e78b0(0x226)+(_0x5a94fa instanceof Error?_0x5a94fa[_0x3e78b0(0x1f6)]:_0x5a94fa));}const _0x193b96=await getCurrentUser(_0x310078);if(!_0x193b96[_0x3e78b0(0x214)])throw new Error(_0x3e78b0(0x1e9)+_0x193b96[_0x3e78b0(0x23e)]);return console[_0x3e78b0(0x204)](_0x3e78b0(0x22d)+_0x193b96[_0x3e78b0(0x1f3)][_0x3e78b0(0x1fe)]),{'token':_0x310078,'method':_0x529938['PlClz']};}console[_0x3e78b0(0x204)]('Validating\x20API\x20token...');const _0x2385d=await getCurrentUser(_0x310078);if(!_0x2385d['success']){if(_0x2385d['status'])throw new Error(_0x3e78b0(0x226)+_0x2385d['error']+_0x3e78b0(0x21f));else throw new Error('Failed\x20to\x20connect\x20to\x20MCP\x20server:\x20'+_0x2385d[_0x3e78b0(0x23e)]+'.\x20Please\x20check\x20your\x20network\x20connection\x20and\x20server\x20URL.');}return console[_0x3e78b0(0x204)](_0x3e78b0(0x22d)+_0x2385d['user']['organizationName']),await storeToken(_0x310078),console['log'](process['env']['GITHUB_ENV']?_0x529938[_0x3e78b0(0x23d)]:_0x529938[_0x3e78b0(0x218)]),{'token':_0x310078,'method':_0x529938['meSCb']};}export async function ensureRangerDir(_0xf52935){const _0x1b7d7b=_0x4527e7,_0x4450df={'LEwZd':function(_0x24547c){return _0x24547c();},'mEONY':function(_0x1d35cd,_0x3a832d,_0x483a5b){return _0x1d35cd(_0x3a832d,_0x483a5b);},'iFpGL':_0x1b7d7b(0x1eb),'sitGZ':'✓\x20~/.ranger/\x20directory\x20already\x20exists'};void _0xf52935;const _0x27373e=_0x4450df[_0x1b7d7b(0x224)](getRangerHomeDir);return!existsSync(_0x27373e)?(await _0x4450df['mEONY'](mkdir,_0x27373e,{'recursive':!![]}),console['log'](_0x4450df['iFpGL']),{'path':_0x27373e,'installed':!![]}):(console[_0x1b7d7b(0x204)](_0x4450df[_0x1b7d7b(0x223)]),{'path':_0x27373e,'installed':![]});}export async function ensureChromium(_0x5d4eec=![]){const _0x4cc252=_0x4527e7,_0x4f98b0={'lJUhS':function(_0xdf9b40,_0x24a0df){return _0xdf9b40(_0x24a0df);},'qZgLz':function(_0x5d4169){return _0x5d4169();},'WeYOZ':function(_0x9fdfac,_0x3d6faa){return _0x9fdfac??_0x3d6faa;},'vBCWn':'install','VqmyL':'\x0aInstalling\x20Chromium\x20browser...\x0a','SutpY':function(_0x49587b,_0x215eb4,_0x27e847){return _0x49587b(_0x215eb4,_0x27e847);},'gfxKt':_0x4cc252(0x23a),'XSHCC':function(_0x1a1bda,_0x195e77){return _0x1a1bda instanceof _0x195e77;}};let _0x48f6b9=![];try{const _0x4a76cb=chromium[_0x4cc252(0x20b)]();_0x48f6b9=_0x4f98b0[_0x4cc252(0x202)](existsSync,_0x4a76cb);}catch{_0x48f6b9=![];}if(_0x48f6b9)return console[_0x4cc252(0x204)]('✓\x20Playwright\x20Chromium\x20browser\x20found'),![];const _0x1c772a=_0x4f98b0['qZgLz'](getPlaywrightVersion),_0x23238b=_0x4f98b0['WeYOZ'](_0x1c772a,PLAYWRIGHT_CHROMIUM_INSTALL_FALLBACK_VERSION),_0xa1bc99=!_0x1c772a,_0x2b8329=process[_0x4cc252(0x1f0)]['isTTY']&&process['stdout']['isTTY'];let _0x322fea=!![];if(_0x2b8329){const {install:_0xf27a01}=await _0x3f10a8[_0x4cc252(0x1f2)]([{'type':'confirm','name':_0x4f98b0[_0x4cc252(0x22f)],'message':_0xa1bc99?'Could\x20not\x20determine\x20local\x20Playwright\x20version.\x20Install\x20Playwright\x20Chromium\x20using\x20fallback\x20version\x20'+_0x23238b+'\x20now?':'The\x20required\x20version\x20('+_0x23238b+_0x4cc252(0x1df),'default':!![]}]);_0x322fea=_0xf27a01;}else console['log'](_0x4cc252(0x20f)+_0x23238b+(_0xa1bc99?'\x20(fallback\x20version)':'')+'...');if(_0x322fea){console['log'](_0x4f98b0[_0x4cc252(0x1f1)]);try{await _0x4f98b0['SutpY'](installChromiumBinary,_0x23238b,_0x5d4eec),console['log'](_0x4f98b0['gfxKt']);}catch(_0x582279){console[_0x4cc252(0x23e)](_0x4cc252(0x21c),_0x4f98b0[_0x4cc252(0x1ed)](_0x582279,Error)?_0x582279[_0x4cc252(0x1f6)]:_0x582279),console['log']('You\x20can\x20install\x20it\x20manually\x20by\x20running:'),console['log'](_0x4cc252(0x201)+_0x23238b+'\x20install\x20chromium');}}else console['log'](_0x4cc252(0x1de)),console[_0x4cc252(0x204)]('You\x20will\x20need\x20to\x20install\x20it\x20before\x20using\x20Ranger:'),console['log']('\x20\x20npx\x20playwright@'+_0x23238b+'\x20install\x20chromium');return!![];}export async function writeRangerGitignore(_0x24f96a){const _0x38908d=_0x4527e7,_0x32be23={'LhAef':_0x38908d(0x1ee)},_0x40fd38=join(_0x24f96a,'.gitignore'),_0x22e627='\x0a\x0a#\x20Ignore\x20local-only\x20directories\x0alocal/\x0asessions/\x0abug-bashes/\x0areports/\x0afeedback-images/\x0a\x0aactive-profile.txt\x0aactive-feature.txt\x0a.gitignore\x0a\x0a#\x20Ignore\x20plaintext\x20auth\x20files\x20(encrypted\x20.enc\x20files\x20are\x20safe\x20to\x20commit)\x0a**/auth.json\x0a';await writeFile(_0x40fd38,_0x22e627),console['log'](_0x32be23['LhAef']);}export async function ensureLocalEnv(_0x431627,_0x342db5){const _0x1e89fd=_0x4527e7,_0x597a42={'ljOON':function(_0x67b2f1,_0x2729a6){return _0x67b2f1!==_0x2729a6;},'lUgPa':_0x1e89fd(0x1f3),'QpgLD':function(_0x56a591,_0x53cf62){return _0x56a591===_0x53cf62;},'VIdDV':function(_0x257ccd){return _0x257ccd();},'aapyK':function(_0x4700c0,_0x7b9f6c,_0x11bddd){return _0x4700c0(_0x7b9f6c,_0x11bddd);},'VBiNg':'local','ljVEY':'✓\x20Local\x20profile\x20already\x20exists','kUhdj':function(_0x2c6d6f,_0x2f53ab,_0x167f31,_0x1d8b98){return _0x2c6d6f(_0x2f53ab,_0x167f31,_0x1d8b98);}};if(!findGitRoot()&&_0x597a42['ljOON'](_0x431627?.[_0x1e89fd(0x20c)],_0x597a42[_0x1e89fd(0x221)]))return console['log']('⚠\x20No\x20git\x20repository\x20found.\x20Re-run\x20with\x20`--scope\x20user`\x20to\x20store\x20the\x20profile\x20at\x20~/.ranger/.'),{'ready':![],'skipped':!![]};const _0x337eb7=_0x597a42['QpgLD'](_0x431627?.[_0x1e89fd(0x20c)],_0x1e89fd(0x1f3))?_0x597a42['VIdDV'](getRangerHomeDir):undefined;if(_0x597a42[_0x1e89fd(0x217)](findExistingEnv,_0x597a42[_0x1e89fd(0x1fd)],{'locations':[_0x597a42[_0x1e89fd(0x1fd)]],'rangerDir':_0x337eb7}))return console['log'](_0x597a42[_0x1e89fd(0x215)]),{'ready':!![],'skipped':![]};try{return await _0x597a42['kUhdj'](addEnv,_0x597a42['VBiNg'],{'url':_0x431627?.[_0x1e89fd(0x1e4)],'force':_0x431627?.[_0x1e89fd(0x230)],'allowInsecureLocalhost':_0x431627?.['allowInsecureLocalhost'],'scope':_0x431627?.[_0x1e89fd(0x20c)]},_0x342db5),{'ready':!![],'skipped':![]};}catch(_0x31537c){return console['error'](_0x1e89fd(0x1f9),_0x31537c instanceof Error?_0x31537c[_0x1e89fd(0x1f6)]:_0x31537c),{'ready':![],'skipped':![]};}}export async function start(_0x100045,_0x1dbced,_0x1e61f3){const _0x13e0c6=_0x4527e7,_0x47ad60={'qXpqA':function(_0x24b809,_0x45415c){return _0x24b809!==_0x45415c;},'beYxk':function(_0x330075,_0x7eb9fc){return _0x330075(_0x7eb9fc);},'BLIhL':'user','bIxES':_0x13e0c6(0x20a),'sSTqg':_0x13e0c6(0x200),'HzwFV':'chromium','xzXrf':'✓\x20Skipping\x20Chromium\x20check\x20(--skip-chromium)','CZgRe':function(_0x773e83,_0x39c1e5){return _0x773e83(_0x39c1e5);},'FEmTj':'plugin','hYWYG':_0x13e0c6(0x22b),'wEHuN':'opencode','Jflzf':'\x20\x20Failed\x20to\x20install\x20OpenCode\x20skill:','Rzbiq':function(_0x479b2f,_0x23bb21){return _0x479b2f(_0x23bb21);},'lIPRr':'\x0aSkipping\x20profile\x20setup\x20(--skip-auth).\x20Run\x20`ranger\x20setup`\x20with\x20auth\x20to\x20add\x20a\x20profile\x20later.\x0a','vVUDt':'profile','PwOQC':function(_0x289f0d,_0x50ca58){return _0x289f0d+_0x50ca58;},'epbUc':'\x0aIn\x20OpenCode,\x20enable\x20Ranger\x20hooks\x20(run\x20the\x20`ranger_enable`\x20tool)','Tohiy':'and\x20prompt\x20the\x20agent\x20like\x20usual.\x20Ranger\x20will\x20create\x20a\x20feature\x20review','sSAuD':'with\x20scenarios\x20describing\x20what\x20to\x20verify\x20and\x20then\x20run\x20browser','LMWaM':function(_0xc4b459,_0x48ac6){return _0xc4b459+_0x48ac6;}};console[_0x13e0c6(0x204)](_0x13e0c6(0x227));_0x1dbced?.['scope']!==undefined&&_0x47ad60[_0x13e0c6(0x1f7)](_0x1dbced[_0x13e0c6(0x20c)],'user')&&(console[_0x13e0c6(0x23e)]('ranger\x20setup\x20--scope='+String(_0x1dbced[_0x13e0c6(0x20c)])+'\x20is\x20no\x20longer\x20supported.\x20'+_0x13e0c6(0x211)+_0x13e0c6(0x238)),process['exit'](0x1));_0x1dbced={..._0x1dbced,'scope':_0x13e0c6(0x1f3)};const _0x410440=!_0x47ad60[_0x13e0c6(0x21a)](existsSync,getRangerHomeDir());await _0x47ad60[_0x13e0c6(0x21a)](ensureRangerDir,_0x47ad60[_0x13e0c6(0x1e1)]);if(_0x1dbced?.[_0x13e0c6(0x1f5)])console['log']('✓\x20Skipping\x20authentication\x20(--skip-auth)'),_0x1e61f3?.[_0x13e0c6(0x225)](_0x47ad60[_0x13e0c6(0x1fb)],{'isFirstRun':_0x410440,'method':_0x47ad60[_0x13e0c6(0x22c)]});else{_0x1e61f3?.['trackPhaseStart'](_0x47ad60['bIxES']);const _0x5cde88=await _0x47ad60['beYxk'](authenticate,_0x100045);_0x1e61f3?.[_0x13e0c6(0x225)](_0x47ad60[_0x13e0c6(0x1fb)],{'isFirstRun':_0x410440,'method':_0x5cde88['method']});}_0x1e61f3?.['trackPhaseStart'](_0x47ad60[_0x13e0c6(0x1ec)]);_0x1dbced?.[_0x13e0c6(0x1fa)]?console[_0x13e0c6(0x204)](_0x47ad60[_0x13e0c6(0x23c)]):await ensureChromium(_0x1dbced?.[_0x13e0c6(0x206)]);_0x1e61f3?.['trackPhaseEnd'](_0x47ad60[_0x13e0c6(0x1ec)],{'isFirstRun':_0x410440,'skipped':!!_0x1dbced?.['skipChromium']}),console['log']('\x0a✅\x20Ranger\x20setup\x20complete!\x0a');const _0x230d7c=_0x1dbced?.[_0x13e0c6(0x20c)],_0x52449e=_0x1dbced?.['opencode']??![];let _0x12728b=null;_0x52449e?(_0x1e61f3?.[_0x13e0c6(0x210)]('plugin'),_0x12728b=await _0x47ad60[_0x13e0c6(0x22a)](ensureOpencodePluginConfig,_0x230d7c),_0x1e61f3?.['trackPhaseEnd']('plugin',{'isFirstRun':_0x410440,'opencode':!![]})):(_0x1e61f3?.[_0x13e0c6(0x210)](_0x47ad60['FEmTj']),await _0x47ad60['CZgRe'](ensureClaudePlugin,_0x230d7c),_0x1e61f3?.[_0x13e0c6(0x225)](_0x13e0c6(0x20d),{'isFirstRun':_0x410440}));if(_0x52449e&&_0x12728b){_0x1e61f3?.['trackPhaseStart'](_0x47ad60[_0x13e0c6(0x209)]);try{await installSkill(_0x13e0c6(0x23b),{'level':_0x12728b[_0x13e0c6(0x20c)],'cliVersion':getCurrentVersion(),'platform':_0x47ad60[_0x13e0c6(0x219)]}),_0x1e61f3?.[_0x13e0c6(0x225)](_0x47ad60[_0x13e0c6(0x209)],{'isFirstRun':_0x410440,'opencode':!![]});}catch(_0x15b48e){console[_0x13e0c6(0x208)](_0x47ad60[_0x13e0c6(0x21b)],_0x15b48e instanceof Error?_0x15b48e[_0x13e0c6(0x1f6)]:_0x15b48e),_0x1e61f3?.['trackPhaseEnd'](_0x47ad60[_0x13e0c6(0x209)],{'isFirstRun':_0x410440,'opencode':!![],'failed':!![]});}}else _0x1e61f3?.['trackPhaseStart']('skills'),await _0x47ad60['Rzbiq'](ensureClaudeSkills,_0x230d7c),_0x1e61f3?.['trackPhaseEnd']('skills',{'isFirstRun':_0x410440});if(_0x1dbced?.['skipAuth'])console[_0x13e0c6(0x204)](_0x47ad60[_0x13e0c6(0x229)]);else{if(_0x1dbced?.[_0x13e0c6(0x1e4)]){_0x1e61f3?.[_0x13e0c6(0x210)](_0x47ad60[_0x13e0c6(0x1f4)]);const _0xe2785e=await ensureLocalEnv({'url':_0x1dbced['url'],'force':_0x1dbced?.['force'],'allowInsecureLocalhost':_0x1dbced?.[_0x13e0c6(0x239)],'scope':_0x47ad60['BLIhL']},_0x1e61f3);_0x1e61f3?.['trackPhaseEnd'](_0x47ad60[_0x13e0c6(0x1f4)],{'isFirstRun':_0x410440,'profileReady':_0xe2785e['ready'],'userSkipped':_0xe2785e[_0x13e0c6(0x200)]});}else console['log'](_0x47ad60[_0x13e0c6(0x203)](_0x47ad60['PwOQC'](_0x13e0c6(0x231)+(_0x13e0c6(0x1ea)+bold(_0x13e0c6(0x237))),_0x13e0c6(0x1e6))+_0x13e0c6(0x232),_0x13e0c6(0x1e2)));}if(_0x52449e)console['log'](_0x47ad60[_0x13e0c6(0x1fc)]),console[_0x13e0c6(0x204)](_0x47ad60[_0x13e0c6(0x1e3)]),console['log'](_0x47ad60['sSAuD']),console[_0x13e0c6(0x204)]('verification\x20to\x20check\x20its\x20work\x20as\x20it\x20builds.');else{const _0x367ca2=_0x47ad60['Rzbiq'](bold,'/ranger:enable');console[_0x13e0c6(0x204)](_0x47ad60['LMWaM']('\x0aIn\x20Claude\x20Code,\x20run\x20'+_0x367ca2+'\x20and\x20prompt\x20the\x20coding','\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 _0x3dbb79=_0x2935;(function(_0x368026,_0x467622){const _0x259429=_0x2935,_0x3858e1=_0x368026();while(!![]){try{const _0xc29d98=-parseInt(_0x259429(0x21a))/0x1+parseInt(_0x259429(0x237))/0x2+-parseInt(_0x259429(0x236))/0x3*(parseInt(_0x259429(0x211))/0x4)+parseInt(_0x259429(0x20f))/0x5*(parseInt(_0x259429(0x1dd))/0x6)+-parseInt(_0x259429(0x1fb))/0x7+-parseInt(_0x259429(0x223))/0x8*(parseInt(_0x259429(0x22f))/0x9)+parseInt(_0x259429(0x201))/0xa*(parseInt(_0x259429(0x1f6))/0xb);if(_0xc29d98===_0x467622)break;else _0x3858e1['push'](_0x3858e1['shift']());}catch(_0x3c86a2){_0x3858e1['push'](_0x3858e1['shift']());}}}(_0xf656,0x28767));import{readFile,readdir}from'fs/promises';import{join,basename}from'path';import{existsSync}from'fs';import{getToken}from'./utils/keychain.js';import{getCurrentVersion,getLatestVersion}from'./utils/version.js';import{getApiBaseUrl,getCurrentEnvironment}from'./utils/environment.js';import{getProjectSkillsDir,getUserSkillsDir}from'./utils/claudeConfig.js';function _0x2935(_0x43357b,_0x34f1a5){_0x43357b=_0x43357b-0x1da;const _0xf6567=_0xf656();let _0x293547=_0xf6567[_0x43357b];return _0x293547;}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=_0x5e49b3=>_0x3dbb79(0x214)+_0x5e49b3+_0x3dbb79(0x1ed),link=(_0x10b0aa,_0x48076d)=>'\x1b]8;;file://'+_0x10b0aa+'\x07'+(_0x48076d||_0x10b0aa)+'\x1b]8;;\x07';async function getOpencodePluginStatus(){const _0x1a346c=_0x3dbb79,_0x2f40eb={'Bfufa':function(_0x499ad4,_0x3b4173){return _0x499ad4(_0x3b4173);},'rboGv':_0x1a346c(0x225),'RNumb':_0x1a346c(0x20d),'YkEFs':_0x1a346c(0x1e7),'Exmsq':function(_0x501f24,_0x2ac04b){return _0x501f24!==_0x2ac04b;},'nMphg':function(_0xdd6d6f,_0x50c3b7){return _0xdd6d6f(_0x50c3b7);},'CCyGC':_0x1a346c(0x1e3),'lBjTK':_0x1a346c(0x212),'RUOKw':'debug','NFbfH':_0x1a346c(0x1fc),'beGge':'ignore','zLJXc':'pipe','WozzB':'data'};return new Promise(_0x472b46=>{const _0x33a6bb=_0x1a346c,_0x8d31d7=spawn(_0x2f40eb['lBjTK'],[_0x2f40eb[_0x33a6bb(0x213)],_0x2f40eb[_0x33a6bb(0x1f4)]],{'stdio':[_0x2f40eb['beGge'],_0x2f40eb[_0x33a6bb(0x241)],'pipe']});let _0xbc8df2='';_0x8d31d7['stdout']?.['on'](_0x2f40eb['WozzB'],_0x112bfd=>{_0xbc8df2+=_0x112bfd['toString']();}),_0x8d31d7['stderr']?.['on'](_0x2f40eb[_0x33a6bb(0x234)],_0x5312a5=>{_0xbc8df2+=_0x5312a5['toString']();}),_0x8d31d7['on'](_0x33a6bb(0x1ef),()=>{const _0x29e0fd=_0x33a6bb;_0x2f40eb['Bfufa'](_0x472b46,{'status':_0x2f40eb[_0x29e0fd(0x243)]});}),_0x8d31d7['on'](_0x33a6bb(0x229),_0x51c8c5=>{const _0x17a8c3=_0x33a6bb,_0x2b10fc={'wjYFj':function(_0x45cb75,_0x220c5b){return _0x45cb75!==_0x220c5b;},'cXVeh':_0x2f40eb['RNumb'],'PfnbF':_0x17a8c3(0x210),'BGwla':_0x2f40eb[_0x17a8c3(0x21e)]};if(_0x2f40eb[_0x17a8c3(0x249)](_0x51c8c5,0x0)){_0x472b46({'status':_0x2f40eb['rboGv']});return;}const _0xef5ac8=_0xbc8df2[_0x17a8c3(0x206)]();let _0x323db7=null;if(_0xef5ac8)try{_0x323db7=JSON['parse'](_0xef5ac8);}catch{const _0x4407f8=_0xef5ac8['match'](/\{[\s\S]*\}$/);if(_0x4407f8)try{_0x323db7=JSON['parse'](_0x4407f8[0x0]);}catch{_0x323db7=null;}}const _0x19e83d=Array[_0x17a8c3(0x24e)](_0x323db7?.['plugin'])?_0x323db7?.[_0x17a8c3(0x20c)]:[],_0x2ed9f4=_0x19e83d[_0x17a8c3(0x226)](_0x278cc6=>{const _0x379cd8=_0x17a8c3;if(_0x2b10fc['wjYFj'](typeof _0x278cc6,_0x2b10fc[_0x379cd8(0x22e)]))return![];return _0x278cc6[_0x379cd8(0x1fa)](_0x2b10fc[_0x379cd8(0x205)])||_0x278cc6[_0x379cd8(0x1fa)](_0x2b10fc['BGwla']);});if(_0x2ed9f4){_0x2f40eb[_0x17a8c3(0x22b)](_0x472b46,{'status':_0x17a8c3(0x21f),'details':_0x19e83d['length']>0x0?_0x19e83d['length']+_0x17a8c3(0x1e8):undefined});return;}if(_0x19e83d['length']>0x0){_0x2f40eb['nMphg'](_0x472b46,{'status':_0x2f40eb[_0x17a8c3(0x23d)],'details':_0x19e83d['length']+'\x20plugin(s)\x20configured'});return;}_0x472b46({'status':'not_configured'});});});}async function getSkillsFromDir(_0x3fc56e,_0x33ed71){const _0xf2d75c=_0x3dbb79,_0x5b3d18={'lnyon':function(_0x4763fc,_0x2c9b8a){return _0x4763fc(_0x2c9b8a);},'FkdxK':function(_0x3d7305,_0x22d394,_0x74bb9f){return _0x3d7305(_0x22d394,_0x74bb9f);},'rKgwL':'SKILL.md'};if(!_0x5b3d18[_0xf2d75c(0x21b)](existsSync,_0x3fc56e))return[];const _0x2e187e=[];try{const _0x36ec40=await _0x5b3d18['FkdxK'](readdir,_0x3fc56e,{'withFileTypes':!![]});for(const _0x428338 of _0x36ec40){if(_0x428338['isDirectory']()){const _0x1391f2=join(_0x3fc56e,_0x428338['name'],_0x5b3d18[_0xf2d75c(0x1dc)]);if(_0x5b3d18[_0xf2d75c(0x21b)](existsSync,_0x1391f2)){let _0x392783=_0x428338[_0xf2d75c(0x235)];try{const _0x32c3df=await readFile(_0x1391f2,_0xf2d75c(0x231)),_0x3b134d=_0x32c3df['match'](/name:\s*(.+)/);_0x3b134d&&(_0x392783=_0x3b134d[0x1]['trim']());}catch{}_0x2e187e[_0xf2d75c(0x1ea)]({'name':_0x428338['name'],'displayName':_0x392783,'path':_0x1391f2,'level':_0x33ed71});}}}}catch{return[];}return _0x2e187e;}async function getInstalledSkills(){const _0x418a60=_0x3dbb79,_0x456afc={'XlBKt':function(_0x40a143,_0x42d012,_0x28050c){return _0x40a143(_0x42d012,_0x28050c);},'uGSqD':function(_0x67c26c){return _0x67c26c();},'VUXSB':_0x418a60(0x200),'UZyqQ':'user'},[_0x2fad6f,_0x455c7e]=await Promise['all']([_0x456afc[_0x418a60(0x24f)](getSkillsFromDir,_0x456afc['uGSqD'](getProjectSkillsDir),_0x456afc['VUXSB']),getSkillsFromDir(getUserSkillsDir(),_0x456afc[_0x418a60(0x221)])]);return{'project':_0x2fad6f,'user':_0x455c7e};}async function getEnvironments(){const _0x54e237=_0x3dbb79,_0x109d66={'WgQHq':function(_0x3ced36,_0x35ed02){return _0x3ced36(_0x35ed02);},'ydHTw':function(_0x5176ec,_0x3896c9,_0x37e07a){return _0x5176ec(_0x3896c9,_0x37e07a);},'OmwAa':function(_0x37ebcf,_0x27b4ae){return _0x37ebcf(_0x27b4ae);},'clnAN':function(_0x160efe){return _0x160efe();},'RBKFV':function(_0x666018,_0x3848f7){return _0x666018(_0x3848f7);}},{envNames:_0xd094ca,activeEnv:_0x485235}=await getEnvNames(),_0x1a7bc6=_0x109d66[_0x54e237(0x1fd)](getRangerDir);if(!_0x109d66[_0x54e237(0x1fe)](existsSync,_0x1a7bc6))return{'envs':[],'activeEnv':null};const _0x5744af=_0xd094ca[_0x54e237(0x22d)](_0x4702f2=>{const _0xd68b08=_0x54e237,_0x439f3d=_0x109d66[_0xd68b08(0x215)](getEnvDir,_0x4702f2),_0x1987e0=_0x109d66[_0xd68b08(0x1ee)](join,_0x439f3d,_0xd68b08(0x239)),_0xd04975=join(_0x439f3d,_0xd68b08(0x227)),_0x40d288=join(_0x439f3d,'auth.json.enc');return{'name':_0x4702f2,'settingsPath':_0x109d66[_0xd68b08(0x222)](existsSync,_0x1987e0)?_0x1987e0:'(not\x20found)','hasPlaintextAuth':existsSync(_0xd04975),'hasEncryptedAuth':_0x109d66['WgQHq'](existsSync,_0x40d288),'isActive':_0x4702f2===_0x485235};});return{'envs':_0x5744af,'activeEnv':_0x485235};}function _0xf656(){const _0xd83904=['includes','1476965yXLQxR','config','clnAN','RBKFV','log','project','44910ulRCgP','roXob','bwyip','\x20profiles\x20configured\x20(','PfnbF','trim','BFzRq','xUumR','\x20\x20\x20\x20','\x20cloud','\x20\x20\x20\x20Auth:\x20','plugin','string','XUcfZ','20FwEMtX','@ranger-testing/opencode-plugin','4ggxPNz','opencode','RUOKw','\x1b[1m','WgQHq','Root:\x20','\x20\x20Active:\x20','path','enabled','241132iGldlw','lnyon','\x20[cloud]','\x0a\x20\x20No\x20active\x20profile\x20set','YkEFs','configured','\x20\x20Run:\x20ranger\x20setup\x20[token]\x20\x20(includes\x20plugin\x20installation)','UZyqQ','OmwAa','3376pPxtij','\x20\x20Run:\x20ranger\x20setup\x20[token]\x0a','not_installed','some','auth.json','hasPlaintextAuth','close','join','Bfufa','VxVdJ','map','cXVeh','1467hokApd','fkTah','utf-8','success','\x0a📊\x20Ranger\x20Status\x0a','WozzB','name','264141ZFWUaQ','143796WYHycO','cached\x20(updated\x20','settings.json','Bddau','has','API\x20Token:\x20✓\x20Found\x20but\x20invalid\x20or\x20expired','CCyGC','version','slGKD','SqGAK','zLJXc','isActive','rboGv','plaintext','vRPGY','env','API\x20Environment:\x20','none','Exmsq','\x20\x20\x20\x20Session:\x20','ranger@trailhead','details','qDCkL','isArray','XlBKt','\x20\x20User-level:','TCiYN','rKgwL','360336rtaqLa','\x20\x20Not\x20installed','cwd','displayName','rfwHO','length','not_configured','\x20\x20Run:\x20ranger\x20profile\x20use\x20<profile-name>\x20\x20(available:\x20','HrHTu','kQBwF','opencode-plugin','\x20plugin(s)\x20configured','\x20\x20Run:\x20ranger\x20skillup','push','dwhuo','hasEncryptedAuth','\x1b[0m','ydHTw','error','Version:\x20','no\x20session','\x20\x20Run:\x20ranger\x20setup\x20--opencode','\x20\x20Run:\x20ranger\x20profile\x20ls\x20\x20(list\x20all)','NFbfH','No\x20skills\x20installed','1133UOAfuA','API\x20URL:\x20','BlMkM','\x20\x20Run:\x20ranger\x20setup\x20[token]'];_0xf656=function(){return _0xd83904;};return _0xf656();}export async function status(){const _0x292582=_0x3dbb79,_0x440016={'rfwHO':function(_0x2f1198){return _0x2f1198();},'roXob':function(_0x51acce,_0x159999){return _0x51acce!==_0x159999;},'WYtra':function(_0x36d52f,_0x2b99d6){return _0x36d52f(_0x2b99d6);},'SqGAK':function(_0x29ae7f,_0x2dc9b4){return _0x29ae7f===_0x2dc9b4;},'BlMkM':_0x292582(0x21f),'VxVdJ':'\x20\x20Not\x20configured','VTKTe':_0x292582(0x1f2),'dwhuo':'\x20\x20OpenCode\x20not\x20installed\x20or\x20not\x20available','bwyip':'\x0a---\x20Claude\x20Code\x20Plugin\x20---','triNK':function(_0x1ddf68,_0x242fa5){return _0x1ddf68(_0x242fa5);},'BFzRq':'unknown','lEbGC':_0x292582(0x219),'fkTah':'disabled','slGKD':function(_0x452b77,_0x4c4e9b){return _0x452b77(_0x4c4e9b);},'XUcfZ':_0x292582(0x1f5),'Bddau':function(_0x386bdf,_0x26ad7d){return _0x386bdf(_0x26ad7d);},'HrHTu':function(_0x2633ba,_0x4bc8e8){return _0x2633ba>_0x4bc8e8;},'TCiYN':function(_0x2fd43d,_0x1fe444,_0x32f850){return _0x2fd43d(_0x1fe444,_0x32f850);},'pFWTI':'\x0a---\x20Profiles\x20---','Opjes':function(_0x21fcb5){return _0x21fcb5();},'XacWU':function(_0x3d1e95,_0x16a08a){return _0x3d1e95+_0x16a08a;},'btDSw':'No\x20profiles\x20configured','vRPGY':function(_0x33c7df,_0x159e31){return _0x33c7df>_0x159e31;},'kQBwF':'\x20(active)','xUumR':_0x292582(0x1f1),'qDCkL':'encrypted','BuYfm':_0x292582(0x244)};console[_0x292582(0x1ff)](_0x292582(0x233));const _0x16b3bf=process[_0x292582(0x1df)](),_0x5703a2=getRangerDir();if(!existsSync(_0x5703a2)){console['log'](_0x292582(0x216)+link(_0x16b3bf,bold(basename(_0x16b3bf)))),console['log']('\x0aRanger\x20has\x20not\x20been\x20initialized\x20in\x20this\x20directory.'),console[_0x292582(0x1ff)](_0x292582(0x224));return;}console[_0x292582(0x1ff)]('Root:\x20'+link(_0x16b3bf,bold(basename(_0x16b3bf))));const _0xab9074=_0x440016[_0x292582(0x1e1)](getCurrentVersion),_0x4bcee2=getLatestVersion();if(_0x4bcee2[_0x292582(0x23e)]&&_0x440016[_0x292582(0x202)](_0x4bcee2['version'],_0xab9074))console[_0x292582(0x1ff)]('Version:\x20'+_0xab9074+'\x20(latest:\x20'+_0x4bcee2['version']+')'),console[_0x292582(0x1ff)]('\x20\x20Run:\x20ranger\x20update');else _0x4bcee2['version']?console[_0x292582(0x1ff)](_0x292582(0x1f0)+_0xab9074+'\x20(up\x20to\x20date)'):console[_0x292582(0x1ff)]('Version:\x20'+_0xab9074);const _0x37ed3e=await getToken();if(_0x37ed3e){const _0x330ed8=await getCurrentUser(_0x37ed3e);_0x330ed8[_0x292582(0x232)]?console[_0x292582(0x1ff)]('Organization:\x20'+_0x440016['WYtra'](bold,_0x330ed8['user']['organizationName'])):(console['log'](_0x292582(0x23c)),console['log']('\x20\x20Run:\x20ranger\x20setup\x20[token]'));}else console[_0x292582(0x1ff)]('API\x20Token:\x20✗\x20Not\x20found'),console['log'](_0x292582(0x1f9));process[_0x292582(0x246)]['DEBUG']&&(console[_0x292582(0x1ff)](_0x292582(0x247)+getCurrentEnvironment()),console[_0x292582(0x1ff)](_0x292582(0x1f7)+getApiBaseUrl()));console[_0x292582(0x1ff)]('\x0a---\x20OpenCode\x20Plugin\x20---');const _0x5a4217=await getOpencodePluginStatus();if(_0x440016[_0x292582(0x240)](_0x5a4217['status'],_0x440016[_0x292582(0x1f8)]))console[_0x292582(0x1ff)]('\x20\x20'+bold(_0x292582(0x210))+':\x20configured'),_0x5a4217['details']&&console['log']('\x20\x20'+_0x5a4217['details']);else _0x5a4217['status']===_0x292582(0x1e3)?(console[_0x292582(0x1ff)](_0x440016[_0x292582(0x22c)]),_0x5a4217[_0x292582(0x24c)]&&console['log']('\x20\x20'+_0x5a4217[_0x292582(0x24c)]),console[_0x292582(0x1ff)](_0x440016['VTKTe'])):console[_0x292582(0x1ff)](_0x440016[_0x292582(0x1eb)]);console['log'](_0x440016[_0x292582(0x203)]);const _0x24b98c=await _0x440016['triNK'](getPluginInfo,_0x292582(0x24b));if(_0x24b98c){const _0x4d7db4=_0x24b98c['scope']||_0x440016[_0x292582(0x207)],_0x9aa320=_0x24b98c[_0x292582(0x219)]?_0x440016['lEbGC']:_0x440016[_0x292582(0x230)];console[_0x292582(0x1ff)]('\x20\x20'+_0x440016['slGKD'](bold,'ranger@trailhead')+':\x20installed\x20('+_0x4d7db4+',\x20'+_0x9aa320+')');}else console[_0x292582(0x1ff)](_0x292582(0x1de)),console[_0x292582(0x1ff)](_0x292582(0x220));console[_0x292582(0x1ff)]('\x0a---\x20Skills\x20---');const {project:_0x8cb6b0,user:_0x3874e6}=await _0x440016[_0x292582(0x1e1)](getInstalledSkills),_0xa23d54=_0x8cb6b0['filter'](_0x5107da=>RANGER_MANAGED_SKILLS[_0x292582(0x1fa)](_0x5107da['name'])),_0x31c0dd=_0x3874e6['filter'](_0x56aef7=>RANGER_MANAGED_SKILLS['includes'](_0x56aef7[_0x292582(0x235)])),_0x42f703=_0xa23d54[_0x292582(0x1e2)]+_0x31c0dd[_0x292582(0x1e2)];if(_0x440016['SqGAK'](_0x42f703,0x0))console[_0x292582(0x1ff)](_0x440016[_0x292582(0x20e)]),console['log'](_0x292582(0x1e9));else{if(_0xa23d54['length']>0x0){console['log']('\x20\x20Project-level:');for(const _0x2a90e3 of _0xa23d54){console[_0x292582(0x1ff)]('\x20\x20\x20\x20'+bold(_0x2a90e3[_0x292582(0x1e0)])+':\x20'+link(_0x2a90e3[_0x292582(0x218)],_0x440016[_0x292582(0x23a)](basename,_0x2a90e3['path'])));}}if(_0x440016[_0x292582(0x1e5)](_0x31c0dd[_0x292582(0x1e2)],0x0)){console[_0x292582(0x1ff)](_0x292582(0x1da));for(const _0x294932 of _0x31c0dd){console[_0x292582(0x1ff)](_0x292582(0x209)+bold(_0x294932['displayName'])+':\x20'+_0x440016[_0x292582(0x1db)](link,_0x294932[_0x292582(0x218)],basename(_0x294932[_0x292582(0x218)])));}}}console[_0x292582(0x1ff)](_0x440016['pFWTI']);const {envs:_0x1563e7,activeEnv:_0x391aa8}=await _0x440016['Opjes'](getEnvironments);let _0x20885d=[];if(_0x37ed3e)try{_0x20885d=await listCloudProfiles();}catch{}const _0x217c56=_0x440016['XacWU'](_0x1563e7[_0x292582(0x1e2)],_0x20885d[_0x292582(0x1e2)]);if(_0x217c56===0x0)console[_0x292582(0x1ff)](_0x440016['btDSw']),console[_0x292582(0x1ff)]('\x20\x20Run:\x20ranger\x20profile\x20add\x20<profile-name>');else{if(_0x440016[_0x292582(0x245)](_0x217c56,0x5)){const _0x14aad8=[];_0x20885d['length']>0x0&&_0x14aad8['push'](_0x20885d['length']+_0x292582(0x20a)),_0x1563e7['length']>0x0&&_0x14aad8['push'](_0x1563e7[_0x292582(0x1e2)]+'\x20local'),console['log'](_0x217c56+_0x292582(0x204)+_0x14aad8[_0x292582(0x22a)](',\x20')+')'),_0x391aa8&&console[_0x292582(0x1ff)](_0x292582(0x217)+bold(_0x391aa8)),console[_0x292582(0x1ff)](_0x292582(0x1f3));}else{for(const _0x1ff3af of _0x20885d){const _0x15aa13=_0x1ff3af['name']===_0x391aa8?_0x440016['kQBwF']:'';console['log']('\x20\x20'+bold(_0x1ff3af[_0x292582(0x235)])+_0x292582(0x21c)+_0x15aa13);const _0x20859b=_0x1ff3af['sessionUpdatedAt']?_0x292582(0x238)+_0x1ff3af['sessionUpdatedAt']+')':_0x440016[_0x292582(0x208)];console['log'](_0x292582(0x24a)+_0x20859b);}const _0x3b51d4=new Set(_0x20885d['map'](_0x3b27c1=>_0x3b27c1[_0x292582(0x235)]));for(const _0x34d269 of _0x1563e7){if(_0x3b51d4[_0x292582(0x23b)](_0x34d269['name']))continue;const _0x20b0c5=_0x34d269[_0x292582(0x242)]?_0x440016[_0x292582(0x1e6)]:'',_0x5e6a49=_0x34d269[_0x292582(0x1ec)]?_0x440016[_0x292582(0x24d)]:_0x34d269[_0x292582(0x228)]?_0x440016['BuYfm']:_0x292582(0x248);console['log']('\x20\x20'+_0x440016[_0x292582(0x23f)](bold,_0x34d269['name'])+'\x20[local]'+_0x20b0c5),console['log'](_0x292582(0x20b)+_0x5e6a49),_0x34d269['settingsPath']!=='(not\x20found)'&&console[_0x292582(0x1ff)]('\x20\x20\x20\x20Settings:\x20'+link(_0x34d269['settingsPath'],basename(_0x34d269['settingsPath'])));}if(!_0x391aa8){console['log'](_0x292582(0x21d));const _0x55e03d=[..._0x20885d[_0x292582(0x22d)](_0x818daf=>_0x818daf['name']),..._0x1563e7['filter'](_0x5886a3=>!_0x3b51d4['has'](_0x5886a3['name']))[_0x292582(0x22d)](_0x3e3f5d=>_0x3e3f5d['name'])];console['log'](_0x292582(0x1e4)+_0x55e03d[_0x292582(0x22a)](',\x20')+')');}}}console['log']('');}
1
+ (function(_0x550fac,_0x5bdf64){const _0x1535df=_0x26b0,_0x4d31d7=_0x550fac();while(!![]){try{const _0x1efded=-parseInt(_0x1535df(0xee))/0x1+-parseInt(_0x1535df(0x94))/0x2+-parseInt(_0x1535df(0xe0))/0x3+-parseInt(_0x1535df(0x95))/0x4+-parseInt(_0x1535df(0xcb))/0x5+-parseInt(_0x1535df(0xa4))/0x6*(-parseInt(_0x1535df(0xd8))/0x7)+parseInt(_0x1535df(0xce))/0x8;if(_0x1efded===_0x5bdf64)break;else _0x4d31d7['push'](_0x4d31d7['shift']());}catch(_0x44cf90){_0x4d31d7['push'](_0x4d31d7['shift']());}}}(_0x4794,0xc160b));import{readFile,readdir}from'fs/promises';import{join,basename}from'path';import{existsSync}from'fs';import{getToken}from'./utils/keychain.js';function _0x26b0(_0x98949c,_0x4e33d5){_0x98949c=_0x98949c-0x7c;const _0x47941d=_0x4794();let _0x26b072=_0x47941d[_0x98949c];return _0x26b072;}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';function _0x4794(){const _0x3db43c=['\x20[local]','disabled','error','plugin','kJXAz','not_configured','unknown','4326oXjlvv','\x20\x20Run:\x20ranger\x20setup\x20[token]\x0a','hasPlaintextAuth','\x20local','qcfuF','scope','UzpeT','ijZqO','1789671DzvFlI','UXxem','trim','user','some','env','displayName','join','cwd','\x20plugin(s)\x20configured','auth.json','has','\x20\x20User-level:','ignore','969075UvOjEW','cYcCc',':\x20configured','UhmmO','enabled','wbZED','details','xQyVp','\x20profiles\x20configured\x20(','MgYEM','sessionUpdatedAt','includes','\x20\x20Run:\x20ranger\x20profile\x20use\x20<profile-name>\x20\x20(available:\x20','IkzXs','path','\x20\x20Project-level:','zlkIV','string','LMDBZ','stdout','hasEncryptedAuth','cached\x20(updated\x20','Version:\x20','IhdjQ','project','qIeAt','1789390KHvVKL','3595692mrIGAt','huGzD','API\x20Token:\x20✗\x20Not\x20found','qDipo','config','success','mWkWi','settingsPath','length','encrypted','configured','toString','dfbsB','\x20(active)','UxbLT','1800XSjLWc','all','KUPln','pipe','SKILL.md','JqYIk','\x20[cloud]','\x20\x20Not\x20configured','version','close','\x0aRanger\x20has\x20not\x20been\x20initialized\x20in\x20this\x20directory.','jnohR','map','RuuJN','\x0a📊\x20Ranger\x20Status\x0a','status','\x20\x20Run:\x20ranger\x20setup\x20[token]','Organization:\x20','\x20\x20Run:\x20ranger\x20update','parse','API\x20URL:\x20','YXscu','hwQRJ','log','wUQHa','data','nkzgT','\x20cloud','name','\x20\x20\x20\x20Auth:\x20','(not\x20found)','not_installed','GDygt','\x20\x20\x20\x20','isArray','opencode-plugin','CnlcX','\x20(up\x20to\x20date)','push','7678275CSQgYf','\x0a---\x20Profiles\x20---','filter','44012640rfKJoB','No\x20profiles\x20configured','\x20\x20Run:\x20ranger\x20setup\x20[token]\x20\x20(includes\x20plugin\x20installation)'];_0x4794=function(){return _0x3db43c;};return _0x4794();}import{RANGER_MANAGED_SKILLS}from'./utils/skills.js';import{spawn}from'child_process';const bold=_0x2b9b62=>'\x1b[1m'+_0x2b9b62+'\x1b[0m',link=(_0x297c07,_0x1c5157)=>'\x1b]8;;file://'+_0x297c07+'\x07'+(_0x1c5157||_0x297c07)+'\x1b]8;;\x07';async function getOpencodePluginStatus(){const _0x589921=_0x26b0,_0x41487c={'huGzD':function(_0x5747ba,_0x1bea13){return _0x5747ba(_0x1bea13);},'AfLQu':function(_0x4dfadb,_0x535992){return _0x4dfadb(_0x535992);},'SbGrl':function(_0x1f6475,_0x1adaf8,_0x58867d,_0x412c11){return _0x1f6475(_0x1adaf8,_0x58867d,_0x412c11);},'XVFhi':'opencode','xQyVp':_0x589921(0xed),'PcmJc':_0x589921(0xa7),'qIeAt':_0x589921(0xd3)};return new Promise(_0x2c158f=>{const _0x35c91f=_0x589921,_0x3cb4ce={'ijZqO':function(_0x2abb89,_0x7eb477){return _0x2abb89!==_0x7eb477;},'eXDfE':_0x35c91f(0xc3),'alcTX':function(_0x5a44cc,_0x34b7d9){return _0x41487c['AfLQu'](_0x5a44cc,_0x34b7d9);},'KUPln':_0x35c91f(0xd6)},_0x2c08bb=_0x41487c['SbGrl'](spawn,_0x41487c['XVFhi'],['debug',_0x35c91f(0x99)],{'stdio':[_0x41487c[_0x35c91f(0x81)],_0x35c91f(0xa7),_0x41487c['PcmJc']]});let _0x42d702='';_0x2c08bb[_0x35c91f(0x8d)]?.['on'](_0x35c91f(0xbd),_0x172a0a=>{_0x42d702+=_0x172a0a['toString']();}),_0x2c08bb['stderr']?.['on'](_0x35c91f(0xbd),_0x139636=>{const _0x22352b=_0x35c91f;_0x42d702+=_0x139636[_0x22352b(0xa0)]();}),_0x2c08bb['on'](_0x41487c[_0x35c91f(0x93)],()=>{const _0x34f770=_0x35c91f;_0x41487c[_0x34f770(0x96)](_0x2c158f,{'status':_0x34f770(0xc3)});}),_0x2c08bb['on'](_0x35c91f(0xad),_0x3222f3=>{const _0x371346=_0x35c91f,_0x1831bd={'WQFKj':_0x371346(0x8b),'GmjiB':'@ranger-testing/opencode-plugin'};if(_0x3cb4ce[_0x371346(0xdf)](_0x3222f3,0x0)){_0x2c158f({'status':_0x3cb4ce['eXDfE']});return;}const _0xceafe6=_0x42d702[_0x371346(0xe2)]();let _0x2076e2=null;if(_0xceafe6)try{_0x2076e2=JSON[_0x371346(0xb7)](_0xceafe6);}catch{const _0x1cbf71=_0xceafe6['match'](/\{[\s\S]*\}$/);if(_0x1cbf71)try{_0x2076e2=JSON['parse'](_0x1cbf71[0x0]);}catch{_0x2076e2=null;}}const _0x352d09=Array[_0x371346(0xc6)](_0x2076e2?.[_0x371346(0xd4)])?_0x2076e2?.[_0x371346(0xd4)]:[],_0x23bd4b=_0x352d09[_0x371346(0xe4)](_0xe26241=>{const _0x445591=_0x371346;if(typeof _0xe26241!==_0x1831bd['WQFKj'])return![];return _0xe26241[_0x445591(0x85)](_0x1831bd['GmjiB'])||_0xe26241['includes'](_0x445591(0xc7));});if(_0x23bd4b){_0x3cb4ce['alcTX'](_0x2c158f,{'status':_0x371346(0x9f),'details':_0x352d09[_0x371346(0x9d)]>0x0?_0x352d09[_0x371346(0x9d)]+_0x371346(0xe9):undefined});return;}if(_0x352d09['length']>0x0){_0x2c158f({'status':_0x3cb4ce[_0x371346(0xa6)],'details':_0x352d09[_0x371346(0x9d)]+'\x20plugin(s)\x20configured'});return;}_0x2c158f({'status':_0x371346(0xd6)});});});}async function getSkillsFromDir(_0x44bf83,_0x51a226){const _0x34b94f=_0x26b0,_0x2f9638={'AoZjp':function(_0x1057fa,_0x1c462f,_0x15f6ca,_0x36f720){return _0x1057fa(_0x1c462f,_0x15f6ca,_0x36f720);},'CnlcX':_0x34b94f(0xa8),'LMDBZ':function(_0x3856ed,_0x4770ed){return _0x3856ed(_0x4770ed);}};if(!existsSync(_0x44bf83))return[];const _0xbf863e=[];try{const _0x521b23=await readdir(_0x44bf83,{'withFileTypes':!![]});for(const _0x77443c of _0x521b23){if(_0x77443c['isDirectory']()){const _0x412584=_0x2f9638['AoZjp'](join,_0x44bf83,_0x77443c[_0x34b94f(0xc0)],_0x2f9638[_0x34b94f(0xc8)]);if(_0x2f9638[_0x34b94f(0x8c)](existsSync,_0x412584)){let _0x296a29=_0x77443c['name'];try{const _0x30086f=await readFile(_0x412584,'utf-8'),_0x402504=_0x30086f['match'](/name:\s*(.+)/);_0x402504&&(_0x296a29=_0x402504[0x1]['trim']());}catch{}_0xbf863e[_0x34b94f(0xca)]({'name':_0x77443c[_0x34b94f(0xc0)],'displayName':_0x296a29,'path':_0x412584,'level':_0x51a226});}}}}catch{return[];}return _0xbf863e;}async function getInstalledSkills(){const _0x5f4d89=_0x26b0,_0xf4ceb8={'hwQRJ':function(_0x2d6d50,_0x1f89f9,_0x10d4de){return _0x2d6d50(_0x1f89f9,_0x10d4de);},'kJVzy':function(_0x6b3b4e){return _0x6b3b4e();},'cvIQH':function(_0x5afa5a,_0x2add09,_0xf8aaeb){return _0x5afa5a(_0x2add09,_0xf8aaeb);},'TnteV':_0x5f4d89(0xe3)},[_0x3f6df5,_0x35db11]=await Promise[_0x5f4d89(0xa5)]([_0xf4ceb8[_0x5f4d89(0xba)](getSkillsFromDir,_0xf4ceb8['kJVzy'](getProjectSkillsDir),_0x5f4d89(0x92)),_0xf4ceb8['cvIQH'](getSkillsFromDir,getUserSkillsDir(),_0xf4ceb8['TnteV'])]);return{'project':_0x3f6df5,'user':_0x35db11};}async function getEnvironments(){const _0x418d28=_0x26b0,_0x329fb6={'YXscu':function(_0x15ce43,_0x2d9fd8){return _0x15ce43(_0x2d9fd8);},'GDygt':'settings.json','cYcCc':function(_0x402170,_0x9b2402,_0x3acbae){return _0x402170(_0x9b2402,_0x3acbae);},'KzfCG':function(_0x53b171,_0x5e38b1){return _0x53b171(_0x5e38b1);},'kBdoc':_0x418d28(0xc2),'HBjin':function(_0x2f6cbf,_0x31313d){return _0x2f6cbf(_0x31313d);}},{envNames:_0xd5760d,activeEnv:_0x34f4d7}=await getEnvNames(),_0x1b2358=getRangerDir();if(!_0x329fb6['YXscu'](existsSync,_0x1b2358))return{'envs':[],'activeEnv':null};const _0x17b2b0=_0xd5760d['map'](_0x414cda=>{const _0x5d858b=_0x418d28,_0x407e25=_0x329fb6['YXscu'](getEnvDir,_0x414cda),_0xd66027=join(_0x407e25,_0x329fb6[_0x5d858b(0xc4)]),_0x2a67e8=_0x329fb6[_0x5d858b(0xef)](join,_0x407e25,_0x5d858b(0xea)),_0x45fbd5=_0x329fb6[_0x5d858b(0xef)](join,_0x407e25,'auth.json.enc');return{'name':_0x414cda,'settingsPath':_0x329fb6['KzfCG'](existsSync,_0xd66027)?_0xd66027:_0x329fb6['kBdoc'],'hasPlaintextAuth':_0x329fb6['HBjin'](existsSync,_0x2a67e8),'hasEncryptedAuth':_0x329fb6[_0x5d858b(0xb9)](existsSync,_0x45fbd5),'isActive':_0x414cda===_0x34f4d7};});return{'envs':_0x17b2b0,'activeEnv':_0x34f4d7};}export async function status(){const _0x535b82=_0x26b0,_0x43f5c6={'IhdjQ':_0x535b82(0xb2),'TouMC':function(_0x255bf7){return _0x255bf7();},'UhmmO':function(_0x3bbf1e,_0x27d646){return _0x3bbf1e(_0x27d646);},'nkzgT':function(_0x976374,_0x2d506e,_0x58ab4e){return _0x976374(_0x2d506e,_0x58ab4e);},'mWkWi':function(_0x255c58){return _0x255c58();},'JqYIk':function(_0x3ead65,_0x42ecf7){return _0x3ead65(_0x42ecf7);},'UzpeT':function(_0x4c884b){return _0x4c884b();},'RdFNM':'\x0a---\x20OpenCode\x20Plugin\x20---','khLUC':function(_0x5e8d08){return _0x5e8d08();},'xaITw':function(_0x17db41,_0x1d1a59){return _0x17db41(_0x1d1a59);},'dfbsB':'@ranger-testing/opencode-plugin','kJXAz':function(_0x84dfee,_0x137d21){return _0x84dfee===_0x137d21;},'FUqxw':_0x535b82(0xd6),'NIJCI':'\x20\x20Run:\x20ranger\x20setup\x20--opencode','qcfuF':'\x0a---\x20Claude\x20Code\x20Plugin\x20---','IkzXs':'ranger@trailhead','wUQHa':function(_0x34d033,_0x148a84){return _0x34d033(_0x148a84);},'UXxem':'\x0a---\x20Skills\x20---','DHayc':function(_0x1655a5,_0x182094){return _0x1655a5+_0x182094;},'qDipo':'No\x20skills\x20installed','UxbLT':_0x535b82(0x89),'wOHSa':function(_0xece40c,_0x1606ff){return _0xece40c(_0x1606ff);},'TzUxq':function(_0x4628d5,_0x51c5d8){return _0x4628d5>_0x51c5d8;},'Giavw':function(_0x22ed77,_0x2d11bb,_0x24ebe3){return _0x22ed77(_0x2d11bb,_0x24ebe3);},'jnohR':function(_0x4e589d){return _0x4e589d();},'zlkIV':_0x535b82(0xcf),'wbZED':function(_0x2f9628,_0x594bc9){return _0x2f9628>_0x594bc9;},'EjLEQ':'no\x20session','GOlmC':'\x20(active)','RuuJN':_0x535b82(0x9e),'RDnZm':'none','vlodN':_0x535b82(0xc2),'MgYEM':function(_0x4d0cf2,_0x9029d5){return _0x4d0cf2(_0x9029d5);}};console['log'](_0x43f5c6[_0x535b82(0x91)]);const _0x10b0ab=process[_0x535b82(0xe8)](),_0x59f94a=_0x43f5c6['TouMC'](getRangerDir);if(!_0x43f5c6[_0x535b82(0x7d)](existsSync,_0x59f94a)){console[_0x535b82(0xbb)]('Root:\x20'+link(_0x10b0ab,bold(basename(_0x10b0ab)))),console[_0x535b82(0xbb)](_0x535b82(0xae)),console['log'](_0x535b82(0xd9));return;}console[_0x535b82(0xbb)]('Root:\x20'+_0x43f5c6[_0x535b82(0xbe)](link,_0x10b0ab,bold(basename(_0x10b0ab))));const _0x53e7d2=_0x43f5c6[_0x535b82(0x9b)](getCurrentVersion),_0x325f2c=getLatestVersion();if(_0x325f2c[_0x535b82(0xac)]&&_0x325f2c[_0x535b82(0xac)]!==_0x53e7d2)console[_0x535b82(0xbb)](_0x535b82(0x90)+_0x53e7d2+'\x20(latest:\x20'+_0x325f2c[_0x535b82(0xac)]+')'),console['log'](_0x535b82(0xb6));else _0x325f2c[_0x535b82(0xac)]?console[_0x535b82(0xbb)](_0x535b82(0x90)+_0x53e7d2+_0x535b82(0xc9)):console['log']('Version:\x20'+_0x53e7d2);const _0x3dd2d0=await _0x43f5c6[_0x535b82(0x9b)](getToken);if(_0x3dd2d0){const _0x331cb0=await _0x43f5c6[_0x535b82(0xa9)](getCurrentUser,_0x3dd2d0);_0x331cb0[_0x535b82(0x9a)]?console[_0x535b82(0xbb)](_0x535b82(0xb5)+bold(_0x331cb0['user']['organizationName'])):(console[_0x535b82(0xbb)]('API\x20Token:\x20✓\x20Found\x20but\x20invalid\x20or\x20expired'),console['log'](_0x535b82(0xb4)));}else console['log'](_0x535b82(0x97)),console['log']('\x20\x20Run:\x20ranger\x20setup\x20[token]');process[_0x535b82(0xe5)]['DEBUG']&&(console['log']('API\x20Environment:\x20'+_0x43f5c6[_0x535b82(0xde)](getCurrentEnvironment)),console[_0x535b82(0xbb)](_0x535b82(0xb8)+_0x43f5c6['UzpeT'](getApiBaseUrl)));console[_0x535b82(0xbb)](_0x43f5c6['RdFNM']);const _0x1daa14=await _0x43f5c6['khLUC'](getOpencodePluginStatus);if(_0x1daa14[_0x535b82(0xb3)]==='configured')console[_0x535b82(0xbb)]('\x20\x20'+_0x43f5c6['xaITw'](bold,_0x43f5c6[_0x535b82(0xa1)])+_0x535b82(0x7c)),_0x1daa14['details']&&console['log']('\x20\x20'+_0x1daa14[_0x535b82(0x80)]);else _0x43f5c6[_0x535b82(0xd5)](_0x1daa14[_0x535b82(0xb3)],_0x43f5c6['FUqxw'])?(console['log'](_0x535b82(0xab)),_0x1daa14['details']&&console[_0x535b82(0xbb)]('\x20\x20'+_0x1daa14['details']),console['log'](_0x43f5c6['NIJCI'])):console['log']('\x20\x20OpenCode\x20not\x20installed\x20or\x20not\x20available');console[_0x535b82(0xbb)](_0x43f5c6[_0x535b82(0xdc)]);const _0x2dd368=await getPluginInfo(_0x43f5c6[_0x535b82(0x87)]);if(_0x2dd368){const _0x1bea82=_0x2dd368[_0x535b82(0xdd)]||_0x535b82(0xd7),_0x3db628=_0x2dd368[_0x535b82(0x7e)]?'enabled':_0x535b82(0xd2);console[_0x535b82(0xbb)]('\x20\x20'+_0x43f5c6[_0x535b82(0xbc)](bold,_0x43f5c6[_0x535b82(0x87)])+':\x20installed\x20('+_0x1bea82+',\x20'+_0x3db628+')');}else console['log']('\x20\x20Not\x20installed'),console[_0x535b82(0xbb)](_0x535b82(0xd0));console[_0x535b82(0xbb)](_0x43f5c6[_0x535b82(0xe1)]);const {project:_0x5eee67,user:_0x2e41e7}=await getInstalledSkills(),_0x5067de=_0x5eee67[_0x535b82(0xcd)](_0x25c6d5=>RANGER_MANAGED_SKILLS[_0x535b82(0x85)](_0x25c6d5[_0x535b82(0xc0)])),_0x1ccad7=_0x2e41e7[_0x535b82(0xcd)](_0x287353=>RANGER_MANAGED_SKILLS['includes'](_0x287353['name'])),_0x5d37a4=_0x43f5c6['DHayc'](_0x5067de['length'],_0x1ccad7['length']);if(_0x43f5c6[_0x535b82(0xd5)](_0x5d37a4,0x0))console['log'](_0x43f5c6[_0x535b82(0x98)]),console[_0x535b82(0xbb)]('\x20\x20Run:\x20ranger\x20skillup');else{if(_0x5067de['length']>0x0){console[_0x535b82(0xbb)](_0x43f5c6[_0x535b82(0xa3)]);for(const _0x4e2b9b of _0x5067de){console[_0x535b82(0xbb)]('\x20\x20\x20\x20'+_0x43f5c6['wOHSa'](bold,_0x4e2b9b[_0x535b82(0xe6)])+':\x20'+_0x43f5c6[_0x535b82(0xbe)](link,_0x4e2b9b[_0x535b82(0x88)],basename(_0x4e2b9b['path'])));}}if(_0x43f5c6['TzUxq'](_0x1ccad7['length'],0x0)){console['log'](_0x535b82(0xec));for(const _0x32fbee of _0x1ccad7){console[_0x535b82(0xbb)](_0x535b82(0xc5)+bold(_0x32fbee[_0x535b82(0xe6)])+':\x20'+_0x43f5c6['Giavw'](link,_0x32fbee['path'],basename(_0x32fbee['path'])));}}}console[_0x535b82(0xbb)](_0x535b82(0xcc));const {envs:_0x2da287,activeEnv:_0x4fb9d8}=await getEnvironments();let _0x388052=[];if(_0x3dd2d0)try{_0x388052=await _0x43f5c6[_0x535b82(0xaf)](listCloudProfiles);}catch{}const _0x207860=_0x2da287[_0x535b82(0x9d)]+_0x388052[_0x535b82(0x9d)];if(_0x43f5c6[_0x535b82(0xd5)](_0x207860,0x0))console[_0x535b82(0xbb)](_0x43f5c6[_0x535b82(0x8a)]),console[_0x535b82(0xbb)]('\x20\x20Run:\x20ranger\x20profile\x20add\x20<profile-name>');else{if(_0x43f5c6[_0x535b82(0x7f)](_0x207860,0x5)){const _0x3c229e=[];_0x388052['length']>0x0&&_0x3c229e['push'](_0x388052[_0x535b82(0x9d)]+_0x535b82(0xbf)),_0x2da287['length']>0x0&&_0x3c229e[_0x535b82(0xca)](_0x2da287['length']+_0x535b82(0xdb)),console[_0x535b82(0xbb)](_0x207860+_0x535b82(0x82)+_0x3c229e['join'](',\x20')+')'),_0x4fb9d8&&console[_0x535b82(0xbb)]('\x20\x20Active:\x20'+bold(_0x4fb9d8)),console[_0x535b82(0xbb)]('\x20\x20Run:\x20ranger\x20profile\x20ls\x20\x20(list\x20all)');}else{for(const _0x481a82 of _0x388052){const _0x10ea8f=_0x481a82['name']===_0x4fb9d8?_0x535b82(0xa2):'';console[_0x535b82(0xbb)]('\x20\x20'+bold(_0x481a82['name'])+_0x535b82(0xaa)+_0x10ea8f);const _0x583000=_0x481a82['sessionUpdatedAt']?_0x535b82(0x8f)+_0x481a82[_0x535b82(0x84)]+')':_0x43f5c6['EjLEQ'];console[_0x535b82(0xbb)]('\x20\x20\x20\x20Session:\x20'+_0x583000);}const _0x371b51=new Set(_0x388052[_0x535b82(0xb0)](_0x11c26a=>_0x11c26a[_0x535b82(0xc0)]));for(const _0x155c58 of _0x2da287){if(_0x371b51[_0x535b82(0xeb)](_0x155c58[_0x535b82(0xc0)]))continue;const _0x3dca2e=_0x155c58['isActive']?_0x43f5c6['GOlmC']:'',_0x2c839c=_0x155c58[_0x535b82(0x8e)]?_0x43f5c6[_0x535b82(0xb1)]:_0x155c58[_0x535b82(0xda)]?'plaintext':_0x43f5c6['RDnZm'];console[_0x535b82(0xbb)]('\x20\x20'+bold(_0x155c58[_0x535b82(0xc0)])+_0x535b82(0xd1)+_0x3dca2e),console['log'](_0x535b82(0xc1)+_0x2c839c),_0x155c58['settingsPath']!==_0x43f5c6['vlodN']&&console[_0x535b82(0xbb)]('\x20\x20\x20\x20Settings:\x20'+link(_0x155c58['settingsPath'],_0x43f5c6[_0x535b82(0x83)](basename,_0x155c58[_0x535b82(0x9c)])));}if(!_0x4fb9d8){console[_0x535b82(0xbb)]('\x0a\x20\x20No\x20active\x20profile\x20set');const _0x12a9dd=[..._0x388052[_0x535b82(0xb0)](_0x5c429a=>_0x5c429a['name']),..._0x2da287[_0x535b82(0xcd)](_0x23cc1d=>!_0x371b51[_0x535b82(0xeb)](_0x23cc1d['name']))[_0x535b82(0xb0)](_0x108d3f=>_0x108d3f[_0x535b82(0xc0)])];console['log'](_0x535b82(0x86)+_0x12a9dd[_0x535b82(0xe7)](',\x20')+')');}}}console['log']('');}